1
2
|
.block-list li>span,button[disabled],html input[disabled]{cursor:default}body,sub,sup{position:relative}.block-list .with-dropdown select,select{-webkit-appearance:none;-moz-appearance:none}h1,h2,h3,h4,h5,h6,p{text-rendering:optimizeLegibility}.action-sheet ul,.action-sheet.dark ul,.action-sheet.primary ul,.block-list,.block-list ul,.button-group,.inline-list,.menu-bar,.small-up-1,.small-up-10,.small-up-11,.small-up-12,.small-up-2,.small-up-3,.small-up-4,.small-up-6,.small-up-7,.small-up-8,.small-up-9,ul.no-bullet,ul.no-bullet li ol,ul.no-bullet li ul{list-style-type:none}.notification-icon,.v-align .align-top{align-self:flex-start}.clearfix:after,hr{clear:both}@font-face{font-family:foundation-icons;src:url(/bower_components/foundation-icons.woff) format("woff");font-weight:400;font-style:normal}.fi-address-book:before,.fi-alert:before,.fi-align-center:before,.fi-align-justify:before,.fi-align-left:before,.fi-align-right:before,.fi-anchor:before,.fi-annotate:before,.fi-archive:before,.fi-arrow-down:before,.fi-arrow-left:before,.fi-arrow-right:before,.fi-arrow-up:before,.fi-arrows-compress:before,.fi-arrows-expand:before,.fi-arrows-in:before,.fi-arrows-out:before,.fi-asl:before,.fi-asterisk:before,.fi-at-sign:before,.fi-background-color:before,.fi-battery-empty:before,.fi-battery-full:before,.fi-battery-half:before,.fi-bitcoin-circle:before,.fi-bitcoin:before,.fi-blind:before,.fi-bluetooth:before,.fi-bold:before,.fi-book-bookmark:before,.fi-book:before,.fi-bookmark:before,.fi-braille:before,.fi-burst-new:before,.fi-burst-sale:before,.fi-burst:before,.fi-calendar:before,.fi-camera:before,.fi-check:before,.fi-checkbox:before,.fi-clipboard-notes:before,.fi-clipboard-pencil:before,.fi-clipboard:before,.fi-clock:before,.fi-closed-caption:before,.fi-cloud:before,.fi-comment-minus:before,.fi-comment-quotes:before,.fi-comment-video:before,.fi-comment:before,.fi-comments:before,.fi-compass:before,.fi-contrast:before,.fi-credit-card:before,.fi-crop:before,.fi-crown:before,.fi-css3:before,.fi-database:before,.fi-die-five:before,.fi-die-four:before,.fi-die-one:before,.fi-die-six:before,.fi-die-three:before,.fi-die-two:before,.fi-dislike:before,.fi-dollar-bill:before,.fi-dollar:before,.fi-download:before,.fi-eject:before,.fi-elevator:before,.fi-euro:before,.fi-eye:before,.fi-fast-forward:before,.fi-female-symbol:before,.fi-female:before,.fi-filter:before,.fi-first-aid:before,.fi-flag:before,.fi-folder-add:before,.fi-folder-lock:before,.fi-folder:before,.fi-foot:before,.fi-foundation:before,.fi-graph-bar:before,.fi-graph-horizontal:before,.fi-graph-pie:before,.fi-graph-trend:before,.fi-guide-dog:before,.fi-hearing-aid:before,.fi-heart:before,.fi-home:before,.fi-html5:before,.fi-indent-less:before,.fi-indent-more:before,.fi-info:before,.fi-italic:before,.fi-key:before,.fi-laptop:before,.fi-layout:before,.fi-lightbulb:before,.fi-like:before,.fi-link:before,.fi-list-bullet:before,.fi-list-number:before,.fi-list-thumbnails:before,.fi-list:before,.fi-lock:before,.fi-loop:before,.fi-magnifying-glass:before,.fi-mail:before,.fi-male-female:before,.fi-male-symbol:before,.fi-male:before,.fi-map:before,.fi-marker:before,.fi-megaphone:before,.fi-microphone:before,.fi-minus-circle:before,.fi-minus:before,.fi-mobile-signal:before,.fi-mobile:before,.fi-monitor:before,.fi-mountains:before,.fi-music:before,.fi-next:before,.fi-no-dogs:before,.fi-no-smoking:before,.fi-page-add:before,.fi-page-copy:before,.fi-page-csv:before,.fi-page-delete:before,.fi-page-doc:before,.fi-page-edit:before,.fi-page-export-csv:before,.fi-page-export-doc:before,.fi-page-export-pdf:before,.fi-page-export:before,.fi-page-filled:before,.fi-page-multiple:before,.fi-page-pdf:before,.fi-page-remove:before,.fi-page-search:before,.fi-page:before,.fi-paint-bucket:before,.fi-paperclip:before,.fi-pause:before,.fi-paw:before,.fi-paypal:before,.fi-pencil:before,.fi-photo:before,.fi-play-circle:before,.fi-play-video:before,.fi-play:before,.fi-plus:before,.fi-pound:before,.fi-power:before,.fi-previous:before,.fi-price-tag:before,.fi-pricetag-multiple:before,.fi-print:before,.fi-prohibited:before,.fi-projection-screen:before,.fi-puzzle:before,.fi-quote:before,.fi-record:before,.fi-refresh:before,.fi-results-demographics:before,.fi-results:before,.fi-rewind-ten:before,.fi-rewind:before,.fi-rss:before,.fi-safety-cone:before,.fi-save:before,.fi-share:before,.fi-sheriff-badge:before,.fi-shield:before,.fi-shopping-bag:before,.fi-shopping-cart:before,.fi-shuffle:before,.fi-skull:before,.fi-social-500px:before,.fi-social-adobe:before,.fi-social-amazon:before,.fi-social-android:before,.fi-social-apple:before,.fi-social-behance:before,.fi-social-bing:before,.fi-social-blogger:before,.fi-social-delicious:before,.fi-social-designer-news:before,.fi-social-deviant-art:before,.fi-social-digg:before,.fi-social-dribbble:before,.fi-social-drive:before,.fi-social-dropbox:before,.fi-social-evernote:before,.fi-social-facebook:before,.fi-social-flickr:before,.fi-social-forrst:before,.fi-social-foursquare:before,.fi-social-game-center:before,.fi-social-github:before,.fi-social-google-plus:before,.fi-social-hacker-news:before,.fi-social-hi5:before,.fi-social-instagram:before,.fi-social-joomla:before,.fi-social-lastfm:before,.fi-social-linkedin:before,.fi-social-medium:before,.fi-social-myspace:before,.fi-social-orkut:before,.fi-social-path:before,.fi-social-picasa:before,.fi-social-pinterest:before,.fi-social-rdio:before,.fi-social-reddit:before,.fi-social-skillshare:before,.fi-social-skype:before,.fi-social-smashing-mag:before,.fi-social-snapchat:before,.fi-social-spotify:before,.fi-social-squidoo:before,.fi-social-stack-overflow:before,.fi-social-steam:before,.fi-social-stumbleupon:before,.fi-social-treehouse:before,.fi-social-tumblr:before,.fi-social-twitter:before,.fi-social-vimeo:before,.fi-social-windows:before,.fi-social-xbox:before,.fi-social-yahoo:before,.fi-social-yelp:before,.fi-social-youtube:before,.fi-social-zerply:before,.fi-social-zurb:before,.fi-sound:before,.fi-star:before,.fi-stop:before,.fi-strikethrough:before,.fi-subscript:before,.fi-superscript:before,.fi-tablet-landscape:before,.fi-tablet-portrait:before,.fi-target-two:before,.fi-target:before,.fi-telephone-accessible:before,.fi-telephone:before,.fi-text-color:before,.fi-thumbnails:before,.fi-ticket:before,.fi-torso-business:before,.fi-torso-female:before,.fi-torso:before,.fi-torsos-all-female:before,.fi-torsos-all:before,.fi-torsos-female-male:before,.fi-torsos-male-female:before,.fi-torsos:before,.fi-trash:before,.fi-trees:before,.fi-trophy:before,.fi-underline:before,.fi-universal-access:before,.fi-unlink:before,.fi-unlock:before,.fi-upload-cloud:before,.fi-upload:before,.fi-usb:before,.fi-video:before,.fi-volume-none:before,.fi-volume-strike:before,.fi-volume:before,.fi-web:before,.fi-wheelchair:before,.fi-widget:before,.fi-wrench:before,.fi-x-circle:before,.fi-x:before,.fi-yen:before,.fi-zoom-in:before,.fi-zoom-out:before{font-family:foundation-icons;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;display:inline-block;text-decoration:inherit}.block-list header,.menu-bar>li.title,.title-bar .title,b,optgroup,strong{font-weight:700}.fi-address-book:before{content:"\f100"}.fi-alert:before{content:"\f101"}.fi-align-center:before{content:"\f102"}.fi-align-justify:before{content:"\f103"}.fi-align-left:before{content:"\f104"}.fi-align-right:before{content:"\f105"}.fi-anchor:before{content:"\f106"}.fi-annotate:before{content:"\f107"}.fi-archive:before{content:"\f108"}.fi-arrow-down:before{content:"\f109"}.fi-arrow-left:before{content:"\f10a"}.fi-arrow-right:before{content:"\f10b"}.fi-arrow-up:before{content:"\f10c"}.fi-arrows-compress:before{content:"\f10d"}.fi-arrows-expand:before{content:"\f10e"}.fi-arrows-in:before{content:"\f10f"}.fi-arrows-out:before{content:"\f110"}.fi-asl:before{content:"\f111"}.fi-asterisk:before{content:"\f112"}.fi-at-sign:before{content:"\f113"}.fi-background-color:before{content:"\f114"}.fi-battery-empty:before{content:"\f115"}.fi-battery-full:before{content:"\f116"}.fi-battery-half:before{content:"\f117"}.fi-bitcoin-circle:before{content:"\f118"}.fi-bitcoin:before{content:"\f119"}.fi-blind:before{content:"\f11a"}.fi-bluetooth:before{content:"\f11b"}.fi-bold:before{content:"\f11c"}.fi-book-bookmark:before{content:"\f11d"}.fi-book:before{content:"\f11e"}.fi-bookmark:before{content:"\f11f"}.fi-braille:before{content:"\f120"}.fi-burst-new:before{content:"\f121"}.fi-burst-sale:before{content:"\f122"}.fi-burst:before{content:"\f123"}.fi-calendar:before{content:"\f124"}.fi-camera:before{content:"\f125"}.fi-check:before{content:"\f126"}.fi-checkbox:before{content:"\f127"}.fi-clipboard-notes:before{content:"\f128"}.fi-clipboard-pencil:before{content:"\f129"}.fi-clipboard:before{content:"\f12a"}.fi-clock:before{content:"\f12b"}.fi-closed-caption:before{content:"\f12c"}.fi-cloud:before{content:"\f12d"}.fi-comment-minus:before{content:"\f12e"}.fi-comment-quotes:before{content:"\f12f"}.fi-comment-video:before{content:"\f130"}.fi-comment:before{content:"\f131"}.fi-comments:before{content:"\f132"}.fi-compass:before{content:"\f133"}.fi-contrast:before{content:"\f134"}.fi-credit-card:before{content:"\f135"}.fi-crop:before{content:"\f136"}.fi-crown:before{content:"\f137"}.fi-css3:before{content:"\f138"}.fi-database:before{content:"\f139"}.fi-die-five:before{content:"\f13a"}.fi-die-four:before{content:"\f13b"}.fi-die-one:before{content:"\f13c"}.fi-die-six:before{content:"\f13d"}.fi-die-three:before{content:"\f13e"}.fi-die-two:before{content:"\f13f"}.fi-dislike:before{content:"\f140"}.fi-dollar-bill:before{content:"\f141"}.fi-dollar:before{content:"\f142"}.fi-download:before{content:"\f143"}.fi-eject:before{content:"\f144"}.fi-elevator:before{content:"\f145"}.fi-euro:before{content:"\f146"}.fi-eye:before{content:"\f147"}.fi-fast-forward:before{content:"\f148"}.fi-female-symbol:before{content:"\f149"}.fi-female:before{content:"\f14a"}.fi-filter:before{content:"\f14b"}.fi-first-aid:before{content:"\f14c"}.fi-flag:before{content:"\f14d"}.fi-folder-add:before{content:"\f14e"}.fi-folder-lock:before{content:"\f14f"}.fi-folder:before{content:"\f150"}.fi-foot:before{content:"\f151"}.fi-foundation:before{content:"\f152"}.fi-graph-bar:before{content:"\f153"}.fi-graph-horizontal:before{content:"\f154"}.fi-graph-pie:before{content:"\f155"}.fi-graph-trend:before{content:"\f156"}.fi-guide-dog:before{content:"\f157"}.fi-hearing-aid:before{content:"\f158"}.fi-heart:before{content:"\f159"}.fi-home:before{content:"\f15a"}.fi-html5:before{content:"\f15b"}.fi-indent-less:before{content:"\f15c"}.fi-indent-more:before{content:"\f15d"}.fi-info:before{content:"\f15e"}.fi-italic:before{content:"\f15f"}.fi-key:before{content:"\f160"}.fi-laptop:before{content:"\f161"}.fi-layout:before{content:"\f162"}.fi-lightbulb:before{content:"\f163"}.fi-like:before{content:"\f164"}.fi-link:before{content:"\f165"}.fi-list-bullet:before{content:"\f166"}.fi-list-number:before{content:"\f167"}.fi-list-thumbnails:before{content:"\f168"}.fi-list:before{content:"\f169"}.fi-lock:before{content:"\f16a"}.fi-loop:before{content:"\f16b"}.fi-magnifying-glass:before{content:"\f16c"}.fi-mail:before{content:"\f16d"}.fi-male-female:before{content:"\f16e"}.fi-male-symbol:before{content:"\f16f"}.fi-male:before{content:"\f170"}.fi-map:before{content:"\f171"}.fi-marker:before{content:"\f172"}.fi-megaphone:before{content:"\f173"}.fi-microphone:before{content:"\f174"}.fi-minus-circle:before{content:"\f175"}.fi-minus:before{content:"\f176"}.fi-mobile-signal:before{content:"\f177"}.fi-mobile:before{content:"\f178"}.fi-monitor:before{content:"\f179"}.fi-mountains:before{content:"\f17a"}.fi-music:before{content:"\f17b"}.fi-next:before{content:"\f17c"}.fi-no-dogs:before{content:"\f17d"}.fi-no-smoking:before{content:"\f17e"}.fi-page-add:before{content:"\f17f"}.fi-page-copy:before{content:"\f180"}.fi-page-csv:before{content:"\f181"}.fi-page-delete:before{content:"\f182"}.fi-page-doc:before{content:"\f183"}.fi-page-edit:before{content:"\f184"}.fi-page-export-csv:before{content:"\f185"}.fi-page-export-doc:before{content:"\f186"}.fi-page-export-pdf:before{content:"\f187"}.fi-page-export:before{content:"\f188"}.fi-page-filled:before{content:"\f189"}.fi-page-multiple:before{content:"\f18a"}.fi-page-pdf:before{content:"\f18b"}.fi-page-remove:before{content:"\f18c"}.fi-page-search:before{content:"\f18d"}.fi-page:before{content:"\f18e"}.fi-paint-bucket:before{content:"\f18f"}.fi-paperclip:before{content:"\f190"}.fi-pause:before{content:"\f191"}.fi-paw:before{content:"\f192"}.fi-paypal:before{content:"\f193"}.fi-pencil:before{content:"\f194"}.fi-photo:before{content:"\f195"}.fi-play-circle:before{content:"\f196"}.fi-play-video:before{content:"\f197"}.fi-play:before{content:"\f198"}.fi-plus:before{content:"\f199"}.fi-pound:before{content:"\f19a"}.fi-power:before{content:"\f19b"}.fi-previous:before{content:"\f19c"}.fi-price-tag:before{content:"\f19d"}.fi-pricetag-multiple:before{content:"\f19e"}.fi-print:before{content:"\f19f"}.fi-prohibited:before{content:"\f1a0"}.fi-projection-screen:before{content:"\f1a1"}.fi-puzzle:before{content:"\f1a2"}.fi-quote:before{content:"\f1a3"}.fi-record:before{content:"\f1a4"}.fi-refresh:before{content:"\f1a5"}.fi-results-demographics:before{content:"\f1a6"}.fi-results:before{content:"\f1a7"}.fi-rewind-ten:before{content:"\f1a8"}.fi-rewind:before{content:"\f1a9"}.fi-rss:before{content:"\f1aa"}.fi-safety-cone:before{content:"\f1ab"}.fi-save:before{content:"\f1ac"}.fi-share:before{content:"\f1ad"}.fi-sheriff-badge:before{content:"\f1ae"}.fi-shield:before{content:"\f1af"}.fi-shopping-bag:before{content:"\f1b0"}.fi-shopping-cart:before{content:"\f1b1"}.fi-shuffle:before{content:"\f1b2"}.fi-skull:before{content:"\f1b3"}.fi-social-500px:before{content:"\f1b4"}.fi-social-adobe:before{content:"\f1b5"}.fi-social-amazon:before{content:"\f1b6"}.fi-social-android:before{content:"\f1b7"}.fi-social-apple:before{content:"\f1b8"}.fi-social-behance:before{content:"\f1b9"}.fi-social-bing:before{content:"\f1ba"}.fi-social-blogger:before{content:"\f1bb"}.fi-social-delicious:before{content:"\f1bc"}.fi-social-designer-news:before{content:"\f1bd"}.fi-social-deviant-art:before{content:"\f1be"}.fi-social-digg:before{content:"\f1bf"}.fi-social-dribbble:before{content:"\f1c0"}.fi-social-drive:before{content:"\f1c1"}.fi-social-dropbox:before{content:"\f1c2"}.fi-social-evernote:before{content:"\f1c3"}.fi-social-facebook:before{content:"\f1c4"}.fi-social-flickr:before{content:"\f1c5"}.fi-social-forrst:before{content:"\f1c6"}.fi-social-foursquare:before{content:"\f1c7"}.fi-social-game-center:before{content:"\f1c8"}.fi-social-github:before{content:"\f1c9"}.fi-social-google-plus:before{content:"\f1ca"}.fi-social-hacker-news:before{content:"\f1cb"}.fi-social-hi5:before{content:"\f1cc"}.fi-social-instagram:before{content:"\f1cd"}.fi-social-joomla:before{content:"\f1ce"}.fi-social-lastfm:before{content:"\f1cf"}.fi-social-linkedin:before{content:"\f1d0"}.fi-social-medium:before{content:"\f1d1"}.fi-social-myspace:before{content:"\f1d2"}.fi-social-orkut:before{content:"\f1d3"}.fi-social-path:before{content:"\f1d4"}.fi-social-picasa:before{content:"\f1d5"}.fi-social-pinterest:before{content:"\f1d6"}.fi-social-rdio:before{content:"\f1d7"}.fi-social-reddit:before{content:"\f1d8"}.fi-social-skillshare:before{content:"\f1d9"}.fi-social-skype:before{content:"\f1da"}.fi-social-smashing-mag:before{content:"\f1db"}.fi-social-snapchat:before{content:"\f1dc"}.fi-social-spotify:before{content:"\f1dd"}.fi-social-squidoo:before{content:"\f1de"}.fi-social-stack-overflow:before{content:"\f1df"}.fi-social-steam:before{content:"\f1e0"}.fi-social-stumbleupon:before{content:"\f1e1"}.fi-social-treehouse:before{content:"\f1e2"}.fi-social-tumblr:before{content:"\f1e3"}.fi-social-twitter:before{content:"\f1e4"}.fi-social-vimeo:before{content:"\f1e5"}.fi-social-windows:before{content:"\f1e6"}.fi-social-xbox:before{content:"\f1e7"}.fi-social-yahoo:before{content:"\f1e8"}.fi-social-yelp:before{content:"\f1e9"}.fi-social-youtube:before{content:"\f1ea"}.fi-social-zerply:before{content:"\f1eb"}.fi-social-zurb:before{content:"\f1ec"}.fi-sound:before{content:"\f1ed"}.fi-star:before{content:"\f1ee"}.fi-stop:before{content:"\f1ef"}.fi-strikethrough:before{content:"\f1f0"}.fi-subscript:before{content:"\f1f1"}.fi-superscript:before{content:"\f1f2"}.fi-tablet-landscape:before{content:"\f1f3"}.fi-tablet-portrait:before{content:"\f1f4"}.fi-target-two:before{content:"\f1f5"}.fi-target:before{content:"\f1f6"}.fi-telephone-accessible:before{content:"\f1f7"}.fi-telephone:before{content:"\f1f8"}.fi-text-color:before{content:"\f1f9"}.fi-thumbnails:before{content:"\f1fa"}.fi-ticket:before{content:"\f1fb"}.fi-torso-business:before{content:"\f1fc"}.fi-torso-female:before{content:"\f1fd"}.fi-torso:before{content:"\f1fe"}.fi-torsos-all-female:before{content:"\f1ff"}.fi-torsos-all:before{content:"\f200"}.fi-torsos-female-male:before{content:"\f201"}.fi-torsos-male-female:before{content:"\f202"}.fi-torsos:before{content:"\f203"}.fi-trash:before{content:"\f204"}.fi-trees:before{content:"\f205"}.fi-trophy:before{content:"\f206"}.fi-underline:before{content:"\f207"}.fi-universal-access:before{content:"\f208"}.fi-unlink:before{content:"\f209"}.fi-unlock:before{content:"\f20a"}.fi-upload-cloud:before{content:"\f20b"}.fi-upload:before{content:"\f20c"}.fi-usb:before{content:"\f20d"}.fi-video:before{content:"\f20e"}.fi-volume-none:before{content:"\f20f"}.fi-volume-strike:before{content:"\f210"}.fi-volume:before{content:"\f211"}.fi-web:before{content:"\f212"}.fi-wheelchair:before{content:"\f213"}.fi-widget:before{content:"\f214"}.fi-wrench:before{content:"\f215"}.fi-x-circle:before{content:"\f216"}.fi-x:before{content:"\f217"}.fi-yen:before{content:"\f218"}.fi-zoom-in:before{content:"\f219"}.fi-zoom-out:before{content:"\f21a"}/*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}dfn{font-style:italic}mark{background:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;vertical-align:baseline}.iconic,img{vertical-align:middle}sup{top:-.5em}sub{bottom:-.25em}img{border:0;max-width:100%;height:auto;-ms-interpolation-mode:bicubic;display:inline-block}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}body,p{font-weight:400}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:border-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}table{border-collapse:collapse;border-spacing:0}meta.foundation-version{font-family:"1.1.0"}meta.foundation-mq{font-family:"small=0&medium=40rem&large=75rem&xlarge=90rem&xxlarge=120rem"}body,html{height:100%;font-size:100%}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{background:#fff;color:#222;padding:0;margin:0;font-family:"Helvetica Neue",Helvetica,Helvetica,Arial,sans-serif;font-style:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[ui-sref],[zf-close],[zf-open],[zf-toggle],a{cursor:pointer}#map_canvas embed,#map_canvas img,#map_canvas object,.map_canvas embed,.map_canvas img,.map_canvas object{max-width:none!important}.padding{padding:1rem}.iconic{width:1rem;height:1rem}a>.iconic{margin-top:-2px;margin-right:.25rem}.iconic *,.iconic .iconic-property-accent,.iconic-color-primary *,.iconic-color-primary .iconic-property-accent,a>.iconic *,a>.iconic .iconic-property-accent{fill:#00558b;stroke:#00558b}.iconic-color-success *,.iconic-color-success .iconic-property-accent{fill:#43AC6A;stroke:#43AC6A}.iconic-color-warning *,.iconic-color-warning .iconic-property-accent{fill:#F08A24;stroke:#F08A24}.iconic-color-alert *,.iconic-color-alert .iconic-property-accent{fill:#F04124;stroke:#F04124}.iconic-color-dark *,.iconic-color-dark .iconic-property-accent{fill:#232323;stroke:#232323}.iconic-color-secondary *,.iconic-color-secondary .iconic-property-accent{fill:#f1f1f1;stroke:#f1f1f1}.action-sheet-container{position:relative;display:inline-block}.action-sheet-container .button{margin-left:0;margin-right:0}.action-sheet{position:fixed;left:0;z-index:1000;width:100%;padding:1rem;background:#fff;text-align:center;transition-property:transform opacity;transition-duration:.25s;transition-timing-function:ease-out;box-shadow:0 -3px 10px rgba(0,0,0,.25);bottom:0;transform:translateY(100%)}.action-sheet.is-active{transform:translateY(0)}.action-sheet ul{margin:0 -1rem -1rem;user-select:none}.action-sheet ul:first-child{margin-top:-1rem}.action-sheet ul:first-child li:first-child{border-top:0}.action-sheet ul a{display:block;padding:.8rem;line-height:1;color:#000;border-top:1px solid #ccc}.action-sheet ul a:hover{color:#000;background:#f2f2f2}.action-sheet ul .alert>a{color:#F04124}.action-sheet ul .disabled>a{pointer-events:none;color:#999}@media only screen and (min-width:40em){.action-sheet,.action-sheet.top{border-radius:4px;box-shadow:0 0 10px rgba(0,0,0,.25)}.action-sheet.top::after,.action-sheet.top::before,.action-sheet::after,.action-sheet::before{content:'';position:absolute;left:50%;display:block;height:0;border-left:10px solid transparent;border-right:10px solid transparent;margin-left:-10px}.action-sheet{position:absolute;left:50%;width:300px;opacity:0;pointer-events:none;top:auto;bottom:0;transform:translateX(-50%) translateY(110%)}.action-sheet.is-active{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(100%)}.action-sheet::after,.action-sheet::before{width:0;top:-10px;bottom:auto;border-top:0;border-bottom:10px solid #fff}.action-sheet::before{top:-12px;border-bottom-color:rgba(0,0,0,.15)}.action-sheet.top{position:absolute;left:50%;width:300px;opacity:0;pointer-events:none;top:0;bottom:auto;transform:translateX(-50%) translateY(-120%)}.action-sheet.top.is-active{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(-110%)}.action-sheet.top::after,.action-sheet.top::before{width:0;top:auto;bottom:-10px;border-top:10px solid #fff;border-bottom:0}.action-sheet.top::before{bottom:-12px;border-top-color:rgba(0,0,0,.15)}}.card,.card.primary{box-shadow:0 1px 2px rgba(0,0,0,.2);overflow:hidden}.action-sheet.primary{background:#00558b;color:#fff;border:0}.action-sheet.primary::before{display:none}.action-sheet.primary::after,.action-sheet.primary::before{border-top-color:#00558b}.action-sheet.primary.top::after,.action-sheet.primary.top::before{border-bottom-color:#00558b}.action-sheet.primary ul{margin:0 -1rem -1rem;user-select:none}.action-sheet.primary ul:first-child{margin-top:-1rem}.action-sheet.primary ul:first-child li:first-child{border-top:0}.action-sheet.primary ul a{display:block;padding:.8rem;line-height:1;color:#fff;border-top:1px solid #006cb0}.action-sheet.primary ul a:hover{color:#fff;background:#00609e}.action-sheet.primary ul .alert>a{color:#F04124}.action-sheet.primary ul .disabled>a{pointer-events:none;color:#999}.action-sheet.dark{background:#232323;color:#fff;border:0}.action-sheet.dark::before{display:none}.action-sheet.dark::after,.action-sheet.dark::before{border-top-color:#232323}.action-sheet.dark.top::after,.action-sheet.dark.top::before{border-bottom-color:#232323}.action-sheet.dark ul{margin:0 -1rem -1rem;user-select:none}.action-sheet.dark ul:first-child{margin-top:-1rem}.action-sheet.dark ul:first-child li:first-child{border-top:0}.action-sheet.dark ul a{display:block;padding:.8rem;line-height:1;color:#fff;border-top:1px solid #393939}.action-sheet.dark ul a:hover{color:#fff;background:#2e2e2e}.action-sheet.dark ul .alert>a{color:#F04124}.action-sheet.dark ul .disabled>a{pointer-events:none;color:#999}.block-list ul{margin-left:0}.block-list{margin-bottom:1rem;line-height:1;user-select:none;font-size:1rem;margin-left:-1rem;margin-right:-1rem}.block-list input[type=number],.block-list input[type=search],.block-list input[type=text],.block-list input[type=password],.block-list input[type=date],.block-list input[type=datetime],.block-list input[type=datetime-local],.block-list input[type=month],.block-list input[type=week],.block-list input[type=email],.block-list input[type=tel],.block-list input[type=time],.block-list input[type=url],.block-list input[type=color],.block-list textarea{margin:0;border:0;line-height:1;height:auto;padding:.8rem 1rem;color:inherit}.block-list input[type=number]:focus,.block-list input[type=number]:hover,.block-list input[type=search]:focus,.block-list input[type=search]:hover,.block-list input[type=text]:focus,.block-list input[type=text]:hover,.block-list input[type=password]:focus,.block-list input[type=password]:hover,.block-list input[type=date]:focus,.block-list input[type=date]:hover,.block-list input[type=datetime]:focus,.block-list input[type=datetime]:hover,.block-list input[type=datetime-local]:focus,.block-list input[type=datetime-local]:hover,.block-list input[type=month]:focus,.block-list input[type=month]:hover,.block-list input[type=week]:focus,.block-list input[type=week]:hover,.block-list input[type=email]:focus,.block-list input[type=email]:hover,.block-list input[type=tel]:focus,.block-list input[type=tel]:hover,.block-list input[type=time]:focus,.block-list input[type=time]:hover,.block-list input[type=url]:focus,.block-list input[type=url]:hover,.block-list input[type=color]:focus,.block-list input[type=color]:hover,.block-list textarea:focus,.block-list textarea:hover{border:0}.block-list li>input[type=checkbox],.block-list li>input[type=radio]{position:absolute;left:-9999px}.block-list li>input[type=checkbox]+label,.block-list li>input[type=radio]+label{display:block;font-size:1rem;margin:0}.block-list li>input[type=checkbox]:checked+label::before,.block-list li>input[type=radio]:checked+label::before{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="32" height="32" viewBox="0 0 32 32"><path fill="black" d="M16 0c-8.837 0-16 7.163-16 16s7.163 16 16 16 16-7.163 16-16-7.163-16-16-16zm6.906 8.875l2.219 2.031-12.063 13.281-6.188-6.188 2.125-2.125 3.938 3.938 9.969-10.938z"/></svg>');content:'';background-size:100% 100%;width:1.5em;height:1.5em;color:#00558b;float:right;pointer-events:none;margin-top:-.25em}@media screen and (min-width:0\0){.block-list li>input[type=checkbox]:checked+label::before,.block-list li>input[type=radio]:checked+label::before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAdlJREFUeNrMl0FugzAQRY3TRZeoFyhVL0BOkGTXJezaHZwguUnECaCrdFd6gqQnCN11Uyk5QekNOlONJWMVGMCgfGlkEIY3HnsG2xFM3d96PjQB2AJsWdPtAPYOln+dTwXnuw4DHEGzBvNFN6EDCTiS9XIAwB40acNoucKoxODIie0AwAOCu8KOSnIiNx/MakK+A7sW9oTferxx3fP3T1nURoBG/irGVahHwjHm/Ggx7E3TMVdrQmoP0gngghhpZQ3QvG/EdPLUelARWI8Aycjq9Md0qMIdbcNhjmOKLoY7quk3l1Rebeqg4AwFkmq7LWGOh1pmNY0etZAWSq0OX8HoS4JvWuCopbSY26EGR/CW86K0BF+pwkLwlPuyHJhOCl5oe4ZtF++vOqST+GdOYwO+71pN2VNAjmQGPCe42weuHDg0PI8olUwnYrXTGQJH9gxq8l1LKvrQx4O6/YY32Kp/ugb3ey7gZ4xAzuhYiYTxB/UHZFAuaREVXZ2g6yFlvEC2yoKEmbsRZYNgVLk2JeaOaG+xLHN+WCszDWMqLGOrJFa1DlApjSdwoHJGqGzLIb0+cas0wh5Bh780ngswx8GJD7h8sHg2wLA/mfDLPZpdxOF0quP5rwADAAFIzSRvu1m5AAAAAElFTkSuQmCC)}}.block-list .with-dropdown{color:inherit}.block-list .with-dropdown select{outline:0;background:0;border:0;height:auto;padding:.8rem 1rem;margin:0;font-size:1em;line-height:1;color:inherit}.block-list .switch{position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.block-list.with-icons li>a,.block-list.with-icons li>label,.block-list.with-icons li>span{padding-left:2.8rem}.block-list.with-icons li .iconic,.block-list.with-icons li img{position:absolute;top:.26rem;left:.26rem;width:2.08rem;height:2.08rem;border-radius:8px;pointer-events:none}.block-list header{margin-top:1em;color:#666;margin-bottom:.5em;margin-left:1rem;font-size:.8em;cursor:default;text-transform:uppercase}.block-list li{position:relative;border-bottom:1px solid #d0d0d0}.block-list li:first-child{border-top:1px solid #d0d0d0}.block-list li>a,.block-list li>label,.block-list li>span{display:block;padding:.8rem 1rem;color:#000;line-height:1}.block-list li>a,.block-list li>label{cursor:pointer}.block-list li>a:hover,.block-list li>label:hover{color:#000}.block-list li select:hover,.block-list li>a:hover,.block-list li>label:hover{background:#f4f4f4}.block-list li.caution>a,.block-list li.caution>a:hover{color:#F04124}.block-list li.disabled>a{cursor:default}.block-list li.disabled>a,.block-list li.disabled>a:hover{color:#999}.block-list li.disabled>a:hover{background:0 0}.block-list li.with-chevron::after{content:'\203A';display:block;position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-weight:700;color:#666;font-size:2em}.block-list li.with-chevron .block-list-label{padding-right:1.5rem}.block-list li .block-list-label{display:inline-block;float:right;padding:0;color:#999;pointer-events:none}.block-list li .block-list-label.left{margin-left:.8rem;float:none}.button,.button-group>li>a,.button-group>li>button,.button-group>li>label{border:0;text-align:center;line-height:1;cursor:pointer;-webkit-appearance:none;-webkit-font-smoothing:antialiased;transition:background .25s ease-out;vertical-align:middle;padding:.85em 1em;border-radius:0}.button-group li.disabled>a,.button-group li.disabled>button,.button-group li.disabled>label,.button.disabled{opacity:.5;cursor:default;pointer-events:none}.button{font-size:.9rem;display:inline-block;width:auto;margin:0 1rem 1rem 0;background:#00558b;color:#fff}.button .iconic,.button.large .iconic,.button.small .iconic,.button.tiny .iconic{width:1em;margin-right:.25em;margin-top:-2px;height:1em;vertical-align:middle}.button:focus,.button:hover{background:#004876;color:#fff}.button .iconic *,.button .iconic .iconic-property-accent{fill:#fff;stroke:#fff}.button.tiny{font-size:.63rem}.button.small{font-size:.72rem}.button.large{font-size:1.17rem}.button.expand{display:block;width:100%;margin-left:0;margin-right:0}.button.secondary{background:#f1f1f1;color:#000}.button.secondary:focus,.button.secondary:hover{background:#cdcdcd;color:#000}.button.secondary .iconic *,.button.secondary .iconic .iconic-property-accent{fill:#000;stroke:#000}.button.alert .iconic *,.button.alert .iconic .iconic-property-accent,.button.success .iconic *,.button.success .iconic .iconic-property-accent,.button.warning .iconic *,.button.warning .iconic .iconic-property-accent{fill:#fff;stroke:#fff}.button.success{background:#43AC6A;color:#fff}.button.success:focus,.button.success:hover{background:#39925a;color:#fff}.button.warning{background:#F08A24;color:#fff}.button.warning:focus,.button.warning:hover{background:#dc750f;color:#fff}.button.alert{background:#F04124;color:#fff}.button.alert:focus,.button.alert:hover{background:#dc2c0f;color:#fff}.button.info{background:#A0D3E8;color:#000}.button.info:focus,.button.info:hover{background:#71bddd;color:#000}.button.info .iconic *,.button.info .iconic .iconic-property-accent{fill:#000;stroke:#000}.button.dark{background:#232323;color:#fff}.button.dark:focus,.button.dark:hover{background:#1e1e1e;color:#fff}.button.dark .iconic *,.button.dark .iconic .iconic-property-accent{fill:#fff;stroke:#fff}.button.hollow{border:1px solid #00558b;background:0 0;color:#00558b}.button.hollow:focus,.button.hollow:hover{border-color:#008ee8;background:0 0;color:#008ee8}.button.hollow .iconic *,.button.hollow .iconic .iconic-property-accent{fill:#00558b;stroke:#00558b}.button.hollow:hover .iconic *,.button.hollow:hover .iconic .iconic-property-accent{fill:#008ee8;stroke:#008ee8}.button.hollow.secondary{border:1px solid #f1f1f1;background:0 0;color:#f1f1f1}.button.hollow.secondary:focus,.button.hollow.secondary:hover{border-color:#f5f5f5;background:0 0;color:#f5f5f5}.button.hollow.secondary .iconic *,.button.hollow.secondary .iconic .iconic-property-accent{fill:#f1f1f1;stroke:#f1f1f1}.button.hollow.secondary:hover .iconic *,.button.hollow.secondary:hover .iconic .iconic-property-accent{fill:#f5f5f5;stroke:#f5f5f5}.button.hollow.success{border:1px solid #43AC6A;background:0 0;color:#43AC6A}.button.hollow.success:focus,.button.hollow.success:hover{border-color:#6dc68e;background:0 0;color:#6dc68e}.button.hollow.success .iconic *,.button.hollow.success .iconic .iconic-property-accent{fill:#43AC6A;stroke:#43AC6A}.button.hollow.success:hover .iconic *,.button.hollow.success:hover .iconic .iconic-property-accent{fill:#6dc68e;stroke:#6dc68e}.button.hollow.warning{border:1px solid #F08A24;background:0 0;color:#F08A24}.button.hollow.warning:focus,.button.hollow.warning:hover{border-color:#f4a75b;background:0 0;color:#f4a75b}.button.hollow.warning .iconic *,.button.hollow.warning .iconic .iconic-property-accent{fill:#F08A24;stroke:#F08A24}.button.hollow.warning:hover .iconic *,.button.hollow.warning:hover .iconic .iconic-property-accent{fill:#f4a75b;stroke:#f4a75b}.button.hollow.alert{border:1px solid #F04124;background:0 0;color:#F04124}.button.hollow.alert:focus,.button.hollow.alert:hover{border-color:#f4715b;background:0 0;color:#f4715b}.button.hollow.alert .iconic *,.button.hollow.alert .iconic .iconic-property-accent{fill:#F04124;stroke:#F04124}.button.hollow.alert:hover .iconic *,.button.hollow.alert:hover .iconic .iconic-property-accent{fill:#f4715b;stroke:#f4715b}.button.hollow.info{border:1px solid #A0D3E8;background:0 0;color:#A0D3E8}.button.hollow.info:focus,.button.hollow.info:hover{border-color:#b8deee;background:0 0;color:#b8deee}.button.hollow.info .iconic *,.button.hollow.info .iconic .iconic-property-accent{fill:#A0D3E8;stroke:#A0D3E8}.button.hollow.info:hover .iconic *,.button.hollow.info:hover .iconic .iconic-property-accent{fill:#b8deee;stroke:#b8deee}.button.hollow.dark{border:1px solid #232323;background:0 0;color:#232323}.button.hollow.dark:focus,.button.hollow.dark:hover{border-color:#5a5a5a;background:0 0;color:#5a5a5a}.button.hollow.dark .iconic *,.button.hollow.dark .iconic .iconic-property-accent{fill:#232323;stroke:#232323}.button.hollow.dark:hover .iconic *,.button.hollow.dark:hover .iconic .iconic-property-accent{fill:#5a5a5a;stroke:#5a5a5a}.button-group{margin:0 0 1rem;overflow:hidden;font-size:.9rem}.button-group>li>a,.button-group>li>button,.button-group>li>label{border-radius:0;font-size:inherit;display:block;margin:0}.button-group>li>input+label{margin-left:0}.button-group>li:not(:last-child)>a,.button-group>li:not(:last-child)>button,.button-group>li:not(:last-child)>label{border-right:1px solid #004068}.button-group .iconic{width:1em;height:1em;vertical-align:middle;margin-right:.25em;margin-top:-2px}.button-group.segmented,.button-group.segmented.alert,.button-group.segmented.secondary,.button-group.segmented.success,.button-group.segmented.warning{border:1px solid #00558b;transition-property:background color}.slideInDown.ng-enter,.slideInDown.ng-hide-remove,.slideInLeft.ng-enter,.slideInLeft.ng-hide-remove,.slideInRight.ng-enter,.slideInRight.ng-hide-remove,.slideInUp.ng-enter,.slideInUp.ng-hide-remove,.slideOutBottom.ng-hide-add,.slideOutBottom.ng-leave,.slideOutLeft.ng-hide-add,.slideOutLeft.ng-leave,.slideOutRight.ng-hide-add,.slideOutRight.ng-leave,.slideOutUp.ng-hide-add,.slideOutUp.ng-leave{transition-duration:.5s;transition-timing-function:ease;transition-delay:0;transition-property:transform,opacity}.button-group.segmented>li>input[type=radio]{position:absolute;left:-9999px}.button-group.segmented.alert>li>a,.button-group.segmented.alert>li>button,.button-group.segmented.alert>li>label,.button-group.segmented.secondary>li>a,.button-group.segmented.secondary>li>button,.button-group.segmented.secondary>li>label,.button-group.segmented.success>li>a,.button-group.segmented.success>li>button,.button-group.segmented.success>li>label,.button-group.segmented.warning>li>a,.button-group.segmented.warning>li>button,.button-group.segmented.warning>li>label,.button-group.segmented>li>a,.button-group.segmented>li>button,.button-group.segmented>li>label{margin-right:0;background:0 0}.button-group{display:inline-flex;border-radius:0}.button-group>li{flex:0 0 auto}.button-group>li>a,.button-group>li>button,.button-group>li>label{background:#00558b;color:#fff;border-color:#004876}.button-group>li>a:focus,.button-group>li>a:hover,.button-group>li>button:focus,.button-group>li>button:hover,.button-group>li>label:focus,.button-group>li>label:hover{background:#004876;color:#fff}.button-group>li>a .iconic *,.button-group>li>a .iconic .iconic-property-accent,.button-group>li>button .iconic *,.button-group>li>button .iconic .iconic-property-accent,.button-group>li>label .iconic *,.button-group>li>label .iconic .iconic-property-accent{fill:#fff;stroke:#fff}.button-group>li.is-active>a,.button-group>li.is-active>button,.button-group>li.is-active>label{background:#004876}.button-group.secondary>li>a,.button-group.secondary>li>button,.button-group.secondary>li>label{background:#f1f1f1;color:#000;border-color:#cdcdcd}.button-group.secondary>li>a:focus,.button-group.secondary>li>a:hover,.button-group.secondary>li>button:focus,.button-group.secondary>li>button:hover,.button-group.secondary>li>label:focus,.button-group.secondary>li>label:hover{background:#cdcdcd;color:#000}.button-group.secondary>li>a .iconic *,.button-group.secondary>li>a .iconic .iconic-property-accent,.button-group.secondary>li>button .iconic *,.button-group.secondary>li>button .iconic .iconic-property-accent,.button-group.secondary>li>label .iconic *,.button-group.secondary>li>label .iconic .iconic-property-accent{fill:#000;stroke:#000}.button-group.alert>li>a .iconic *,.button-group.alert>li>a .iconic .iconic-property-accent,.button-group.alert>li>button .iconic *,.button-group.alert>li>button .iconic .iconic-property-accent,.button-group.alert>li>label .iconic *,.button-group.alert>li>label .iconic .iconic-property-accent,.button-group.success>li>a .iconic *,.button-group.success>li>a .iconic .iconic-property-accent,.button-group.success>li>button .iconic *,.button-group.success>li>button .iconic .iconic-property-accent,.button-group.success>li>label .iconic *,.button-group.success>li>label .iconic .iconic-property-accent,.button-group.warning>li>a .iconic *,.button-group.warning>li>a .iconic .iconic-property-accent,.button-group.warning>li>button .iconic *,.button-group.warning>li>button .iconic .iconic-property-accent,.button-group.warning>li>label .iconic *,.button-group.warning>li>label .iconic .iconic-property-accent{fill:#fff;stroke:#fff}.button-group.secondary>li.is-active>a,.button-group.secondary>li.is-active>button,.button-group.secondary>li.is-active>label{background:#cdcdcd}.button-group.success>li>a,.button-group.success>li>button,.button-group.success>li>label{background:#43AC6A;color:#fff;border-color:#39925a}.button-group.success>li>a:focus,.button-group.success>li>a:hover,.button-group.success>li>button:focus,.button-group.success>li>button:hover,.button-group.success>li>label:focus,.button-group.success>li>label:hover{background:#39925a;color:#fff}.button-group.success>li.is-active>a,.button-group.success>li.is-active>button,.button-group.success>li.is-active>label{background:#39925a}.button-group.warning>li>a,.button-group.warning>li>button,.button-group.warning>li>label{background:#F08A24;color:#fff;border-color:#dc750f}.button-group.warning>li>a:focus,.button-group.warning>li>a:hover,.button-group.warning>li>button:focus,.button-group.warning>li>button:hover,.button-group.warning>li>label:focus,.button-group.warning>li>label:hover{background:#dc750f;color:#fff}.button-group.warning>li.is-active>a,.button-group.warning>li.is-active>button,.button-group.warning>li.is-active>label{background:#dc750f}.button-group.alert>li>a,.button-group.alert>li>button,.button-group.alert>li>label{background:#F04124;color:#fff;border-color:#dc2c0f}.button-group.alert>li>a:focus,.button-group.alert>li>a:hover,.button-group.alert>li>button:focus,.button-group.alert>li>button:hover,.button-group.alert>li>label:focus,.button-group.alert>li>label:hover{background:#dc2c0f;color:#fff}.button-group.alert>li.is-active>a,.button-group.alert>li.is-active>button,.button-group.alert>li.is-active>label{background:#dc2c0f}.button-group>li.secondary>a,.button-group>li.secondary>button,.button-group>li.secondary>label{background:#f1f1f1;color:#000;border-color:#f1f1f1}.button-group>li.secondary>a:focus,.button-group>li.secondary>a:hover,.button-group>li.secondary>button:focus,.button-group>li.secondary>button:hover,.button-group>li.secondary>label:focus,.button-group>li.secondary>label:hover{background:#cdcdcd;color:#000;border-color:#b5b5b5}.button-group>li.secondary>a .iconic *,.button-group>li.secondary>a .iconic .iconic-property-accent,.button-group>li.secondary>button .iconic *,.button-group>li.secondary>button .iconic .iconic-property-accent,.button-group>li.secondary>label .iconic *,.button-group>li.secondary>label .iconic .iconic-property-accent{fill:#000;stroke:#000}.button-group>li.alert>a .iconic *,.button-group>li.alert>a .iconic .iconic-property-accent,.button-group>li.alert>button .iconic *,.button-group>li.alert>button .iconic .iconic-property-accent,.button-group>li.alert>label .iconic *,.button-group>li.alert>label .iconic .iconic-property-accent,.button-group>li.success>a .iconic *,.button-group>li.success>a .iconic .iconic-property-accent,.button-group>li.success>button .iconic *,.button-group>li.success>button .iconic .iconic-property-accent,.button-group>li.success>label .iconic *,.button-group>li.success>label .iconic .iconic-property-accent,.button-group>li.warning>a .iconic *,.button-group>li.warning>a .iconic .iconic-property-accent,.button-group>li.warning>button .iconic *,.button-group>li.warning>button .iconic .iconic-property-accent,.button-group>li.warning>label .iconic *,.button-group>li.warning>label .iconic .iconic-property-accent{fill:#fff;stroke:#fff}.button-group>li.success>a,.button-group>li.success>button,.button-group>li.success>label{background:#43AC6A;color:#fff;border-color:#43AC6A}.button-group>li.success>a:focus,.button-group>li.success>a:hover,.button-group>li.success>button:focus,.button-group>li.success>button:hover,.button-group>li.success>label:focus,.button-group>li.success>label:hover{background:#39925a;color:#fff;border-color:#328150}.button-group>li.warning>a,.button-group>li.warning>button,.button-group>li.warning>label{background:#F08A24;color:#fff;border-color:#F08A24}.button-group>li.warning>a:focus,.button-group>li.warning>a:hover,.button-group>li.warning>button:focus,.button-group>li.warning>button:hover,.button-group>li.warning>label:focus,.button-group>li.warning>label:hover{background:#dc750f;color:#fff;border-color:#c2680d}.button-group>li.alert>a,.button-group>li.alert>button,.button-group>li.alert>label{background:#F04124;color:#fff;border-color:#F04124}.button-group>li.alert>a:focus,.button-group>li.alert>a:hover,.button-group>li.alert>button:focus,.button-group>li.alert>button:hover,.button-group>li.alert>label:focus,.button-group>li.alert>label:hover{background:#dc2c0f;color:#fff;border-color:#c2270d}.button-group.segmented{border-color:#00558b}.button-group.segmented>li>a,.button-group.segmented>li>button,.button-group.segmented>li>label{border-color:#00558b;color:#00558b}.button-group.segmented>li>a:hover,.button-group.segmented>li>button:hover,.button-group.segmented>li>label:hover{background:rgba(0,85,139,.25);color:#00558b}.button-group.segmented>li>a .iconic *,.button-group.segmented>li>a .iconic .iconic-property-accent,.button-group.segmented>li>button .iconic *,.button-group.segmented>li>button .iconic .iconic-property-accent,.button-group.segmented>li>label .iconic *,.button-group.segmented>li>label .iconic .iconic-property-accent{fill:#00558b;stroke:#00558b}.button-group.segmented>li.is-active>a,.button-group.segmented>li.is-active>a:hover,.button-group.segmented>li>input:checked+label,.button-group.segmented>li>input:checked+label:hover{background:#00558b;color:#fff}.button-group.segmented>li.is-active>a .iconic *,.button-group.segmented>li.is-active>a .iconic .iconic-property-accent,.button-group.segmented>li>input:checked+label .iconic *,.button-group.segmented>li>input:checked+label .iconic .iconic-property-accent{fill:#fff;stroke:#fff}.button-group.segmented.secondary{border-color:#f1f1f1}.button-group.segmented.secondary>li>a,.button-group.segmented.secondary>li>button,.button-group.segmented.secondary>li>label{border-color:#f1f1f1;color:#f1f1f1}.button-group.segmented.secondary>li>a:hover,.button-group.segmented.secondary>li>button:hover,.button-group.segmented.secondary>li>label:hover{background:rgba(241,241,241,.25);color:#f1f1f1}.button-group.segmented.secondary>li>a .iconic *,.button-group.segmented.secondary>li>a .iconic .iconic-property-accent,.button-group.segmented.secondary>li>button .iconic *,.button-group.segmented.secondary>li>button .iconic .iconic-property-accent,.button-group.segmented.secondary>li>label .iconic *,.button-group.segmented.secondary>li>label .iconic .iconic-property-accent{fill:#f1f1f1;stroke:#f1f1f1}.button-group.segmented.secondary>li.is-active>a,.button-group.segmented.secondary>li.is-active>a:hover,.button-group.segmented.secondary>li>input:checked+label,.button-group.segmented.secondary>li>input:checked+label:hover{background:#f1f1f1;color:#000}.button-group.segmented.secondary>li.is-active>a .iconic *,.button-group.segmented.secondary>li.is-active>a .iconic .iconic-property-accent,.button-group.segmented.secondary>li>input:checked+label .iconic *,.button-group.segmented.secondary>li>input:checked+label .iconic .iconic-property-accent{fill:#000;stroke:#000}.button-group.segmented.success{border-color:#43AC6A}.button-group.segmented.success>li>a,.button-group.segmented.success>li>button,.button-group.segmented.success>li>label{border-color:#43AC6A;color:#43AC6A}.button-group.segmented.success>li>a:hover,.button-group.segmented.success>li>button:hover,.button-group.segmented.success>li>label:hover{background:rgba(67,172,106,.25);color:#43AC6A}.button-group.segmented.success>li>a .iconic *,.button-group.segmented.success>li>a .iconic .iconic-property-accent,.button-group.segmented.success>li>button .iconic *,.button-group.segmented.success>li>button .iconic .iconic-property-accent,.button-group.segmented.success>li>label .iconic *,.button-group.segmented.success>li>label .iconic .iconic-property-accent{fill:#43AC6A;stroke:#43AC6A}.button-group.segmented.success>li.is-active>a,.button-group.segmented.success>li.is-active>a:hover,.button-group.segmented.success>li>input:checked+label,.button-group.segmented.success>li>input:checked+label:hover{background:#43AC6A;color:#fff}.button-group.segmented.success>li.is-active>a .iconic *,.button-group.segmented.success>li.is-active>a .iconic .iconic-property-accent,.button-group.segmented.success>li>input:checked+label .iconic *,.button-group.segmented.success>li>input:checked+label .iconic .iconic-property-accent{fill:#fff;stroke:#fff}.button-group.segmented.warning{border-color:#F08A24}.button-group.segmented.warning>li>a,.button-group.segmented.warning>li>button,.button-group.segmented.warning>li>label{border-color:#F08A24;color:#F08A24}.button-group.segmented.warning>li>a:hover,.button-group.segmented.warning>li>button:hover,.button-group.segmented.warning>li>label:hover{background:rgba(240,138,36,.25);color:#F08A24}.button-group.segmented.warning>li>a .iconic *,.button-group.segmented.warning>li>a .iconic .iconic-property-accent,.button-group.segmented.warning>li>button .iconic *,.button-group.segmented.warning>li>button .iconic .iconic-property-accent,.button-group.segmented.warning>li>label .iconic *,.button-group.segmented.warning>li>label .iconic .iconic-property-accent{fill:#F08A24;stroke:#F08A24}.button-group.segmented.warning>li.is-active>a,.button-group.segmented.warning>li.is-active>a:hover,.button-group.segmented.warning>li>input:checked+label,.button-group.segmented.warning>li>input:checked+label:hover{background:#F08A24;color:#fff}.button-group.segmented.warning>li.is-active>a .iconic *,.button-group.segmented.warning>li.is-active>a .iconic .iconic-property-accent,.button-group.segmented.warning>li>input:checked+label .iconic *,.button-group.segmented.warning>li>input:checked+label .iconic .iconic-property-accent{fill:#fff;stroke:#fff}.button-group.segmented.alert{border-color:#F04124}.button-group.segmented.alert>li>a,.button-group.segmented.alert>li>button,.button-group.segmented.alert>li>label{border-color:#F04124;color:#F04124}.button-group.segmented.alert>li>a:hover,.button-group.segmented.alert>li>button:hover,.button-group.segmented.alert>li>label:hover{background:rgba(240,65,36,.25);color:#F04124}.button-group.segmented.alert>li>a .iconic *,.button-group.segmented.alert>li>a .iconic .iconic-property-accent,.button-group.segmented.alert>li>button .iconic *,.button-group.segmented.alert>li>button .iconic .iconic-property-accent,.button-group.segmented.alert>li>label .iconic *,.button-group.segmented.alert>li>label .iconic .iconic-property-accent{fill:#F04124;stroke:#F04124}.button-group.segmented.alert>li.is-active>a .iconic *,.button-group.segmented.alert>li.is-active>a .iconic .iconic-property-accent,.button-group.segmented.alert>li>input:checked+label .iconic *,.button-group.segmented.alert>li>input:checked+label .iconic .iconic-property-accent,.title-bar.dark .iconic *,.title-bar.dark .iconic .iconic-property-accent,.title-bar.primary .iconic *,.title-bar.primary .iconic .iconic-property-accent{stroke:#fff;fill:#fff}.button-group.segmented.alert>li.is-active>a,.button-group.segmented.alert>li.is-active>a:hover,.button-group.segmented.alert>li>input:checked+label,.button-group.segmented.alert>li>input:checked+label:hover{background:#F04124;color:#fff}.button-group.tiny{font-size:.63rem}.button-group.small{font-size:.72rem}.button-group.large{font-size:1.17rem}.button-group.expand{display:flex}.button-group.expand>li{flex:1}.button-group.expand>li>a,.button-group.expand>li>button,.button-group.expand>li>label{display:block;width:100%;margin-left:0;margin-right:0}.card{border:1px solid #ededed;margin-bottom:.5rem;background:#fff;color:#000;border-radius:4px}.card h1,.card h2,.card h3,.card h4,.card h5,.card h6{color:inherit}.card ul{margin-bottom:0}.card img{width:100%}.card.primary{border:0;margin-bottom:.5rem;background:#00558b;color:#fff;border-radius:4px}.card.primary h1,.card.primary h2,.card.primary h3,.card.primary h4,.card.primary h5,.card.primary h6{color:inherit}.card.primary ul{margin-bottom:0}.card.primary img{width:100%}.card.primary .card-divider{background:#0065a5;padding:1rem}.card.success{border:0;margin-bottom:.5rem;background:#43AC6A;color:#fff;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.2);overflow:hidden}.card.alert,.card.warning{border:0;box-shadow:0 1px 2px rgba(0,0,0,.2);overflow:hidden}.card.success h1,.card.success h2,.card.success h3,.card.success h4,.card.success h5,.card.success h6{color:inherit}.card.success ul{margin-bottom:0}.card.success img{width:100%}.card.success .card-divider{background:#4ab873;padding:1rem}.card.warning{margin-bottom:.5rem;background:#F08A24;color:#fff;border-radius:4px}.card.warning h1,.card.warning h2,.card.warning h3,.card.warning h4,.card.warning h5,.card.warning h6{color:inherit}.card.warning ul{margin-bottom:0}.card.warning img{width:100%}.card.warning .card-divider{background:#f19233;padding:1rem}.card.alert{margin-bottom:.5rem;background:#F04124;color:#fff;border-radius:4px}.card.alert h1,.card.alert h2,.card.alert h3,.card.alert h4,.card.alert h5,.card.alert h6{color:inherit}.card.alert ul{margin-bottom:0}.card.alert img{width:100%}.card.alert .card-divider{background:#f14e33;padding:1rem}.card.dark{border:0;margin-bottom:.5rem;background:#232323;color:#fff;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.2);overflow:hidden}.card.dark h1,.card.dark h2,.card.dark h3,.card.dark h4,.card.dark h5,.card.dark h6{color:inherit}.card.dark ul{margin-bottom:0}.card.dark img{width:100%}.card.dark .card-divider{background:#323232;padding:1rem}.card-divider{background:#ededed;padding:1rem}.card-section{padding:1rem}.close-button{position:absolute;color:#999;top:1rem;right:1rem;font-size:2em;line-height:.5;cursor:pointer}.close-button:hover{color:#333}.thumbnail,ul.thumbnails>li img{padding:.5rem;box-shadow:0 3px 15px rgba(0,0,0,.25)}ul.thumbnails>li{margin-bottom:1rem}ul.thumbnails>li a{display:block}input[type=number],input[type=search],input[type=text],input[type=password],input[type=date],input[type=datetime],input[type=datetime-local],input[type=month],input[type=week],input[type=email],input[type=tel],input[type=time],input[type=url],input[type=color],textarea{-webkit-appearance:none;-moz-appearance:none;display:block;width:100%;height:2.4rem;padding:.5rem;margin:0 0 1rem;border:1px solid #ccc;border-radius:0;background:#fff;color:#000;font-size:1rem;-webkit-font-smoothing:antialiased;vertical-align:middle}label>.inline-label,label>input,label>input[type=number],label>input[type=search],label>input[type=text],label>input[type=password],label>input[type=date],label>input[type=datetime],label>input[type=datetime-local],label>input[type=month],label>input[type=week],label>input[type=email],label>input[type=tel],label>input[type=time],label>input[type=url],label>input[type=color],label>textarea{margin-top:.5rem}input[type=number]:hover,input[type=search]:hover,input[type=text]:hover,input[type=password]:hover,input[type=date]:hover,input[type=datetime]:hover,input[type=datetime-local]:hover,input[type=month]:hover,input[type=week]:hover,input[type=email]:hover,input[type=tel]:hover,input[type=time]:hover,input[type=url]:hover,input[type=color]:hover,textarea:hover{border:1px solid #bbb;background:#fff;color:#000}input[type=number]:focus,input[type=search]:focus,input[type=text]:focus,input[type=password]:focus,input[type=date]:focus,input[type=datetime]:focus,input[type=datetime-local]:focus,input[type=month]:focus,input[type=week]:focus,input[type=email]:focus,input[type=tel]:focus,input[type=time]:focus,input[type=url]:focus,input[type=color]:focus,textarea:focus{outline:0;border:1px solid #999;background:#fff;color:#000}fieldset[disabled] input,input.disabled,input[disabled],input[readonly]{cursor:not-allowed}fieldset[disabled] input,fieldset[disabled] input:hover,input.disabled,input.disabled:hover,input[disabled],input[disabled]:hover,input[readonly],input[readonly]:hover{background-color:#f2f2f2}label{display:block;font-size:.9rem;margin-bottom:.5rem;color:#333}input[type=checkbox],input[type=radio]{width:1rem;height:1rem}label>input[type=checkbox],label>input[type=radio]{margin-right:.25rem}input[type=checkbox]+label,input[type=radio]+label{display:inline-block;margin-left:.5rem;margin-right:1rem;margin-bottom:0;vertical-align:baseline}.inline-label{display:flex;flex-flow:row nowrap;align-items:stretch;margin-bottom:1rem}.inline-label>input,.inline-label>select{flex:1;margin:0}.inline-label>.form-label{flex:0 0 auto;background:#eee;color:#333;border:1px solid #ccc;padding:0 .5rem;display:flex;align-items:center}.inline-label>.form-label:first-child{border-right:0}.inline-label>.form-label:last-child{border-left:0}.inline-label>a,.inline-label>button,.inline-label>input[type=button],.inline-label>input[type=submit]{flex:0 0 auto;display:flex;align-items:center;padding-top:0;padding-bottom:0;margin:0;border-radius:0}textarea{height:auto;width:100%;min-height:50px}select{display:block;width:100%;height:2.4rem;padding:.5rem 1.625rem .5rem .5rem;margin:0 0 1rem;font-size:1rem;color:#000;border-radius:0;border:1px solid #ccc;background: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: black"></polygon></svg>') right 10px center no-repeat #fafafa;background-size:8px 8px}input[type=range],meter,progress{-webkit-appearance:none;-moz-appearance:none;display:block;border:0}select:hover{background-color:#f0f0f0}input[type=range]:focus,select:focus{outline:0}select::-ms-expand{display:none}input[type=range]{width:100%;height:auto;cursor:pointer;margin-top:.25rem;margin-bottom:.25rem;line-height:1}input[type=range]::-webkit-slider-runnable-track{height:1rem;background:#ddd}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#00558b;width:1.5rem;height:1.5rem;margin-top:-.25rem}input[type=range]::-moz-range-track{-moz-appearance:none;height:1rem;background:#ccc}input[type=range]::-moz-range-thumb{-moz-appearance:none;background:#00558b;width:1.5rem;height:1.5rem;margin-top:-.25rem}input[type=range]::-ms-track{height:1rem;background:#ddd;color:transparent;border:0;overflow:visible;border-top:.25rem solid #fff;border-bottom:.25rem solid #fff}input[type=range]::-ms-thumb{background:#00558b;width:1.5rem;height:1.5rem;border:0}input[type=range]::-ms-fill-lower,input[type=range]::-ms-fill-upper{background:#ddd}output{line-height:1.5rem;vertical-align:middle;margin-left:.5em}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;background:#00558b}meter,progress{width:100%;height:1.5rem;margin-bottom:1rem;background:#ccc}progress::-webkit-progress-bar{background:#ccc}progress::-webkit-progress-value{background:#00558b}progress::-moz-progress-bar{background:#00558b}progress.high::-webkit-progress-value{background:#43AC6A}progress.high::-moz-progress-bar{background:#43AC6A}progress.medium::-webkit-progress-value{background:#e7cf00}progress.medium::-moz-progress-bar{background:#e7cf00}progress.low::-webkit-progress-value{background:#F04124}progress.low::-moz-progress-bar{background:#F04124}meter{background:#ccc}meter::-webkit-meter-bar{background:#ccc}meter::-webkit-meter-optimum-value{background:#43AC6A}meter::-webkit-meter-suboptimum-value{background:#e7cf00}meter::-webkit-meter-even-less-good-value{background:#F04124}meter::-moz-meter-bar{background:#00558b}meter:-moz-meter-optimum::-moz-meter-bar{background:#43AC6A}meter:-moz-meter-sub-optimum::-moz-meter-bar{background:#e7cf00}meter:-moz-meter-sub-sub-optimum::-moz-meter-bar{background:#F04124}.panel{position:absolute;z-index:100;overflow-y:auto;display:none;padding:0;background:#fff}.is-active.panel{display:block}.panel-top{top:0;left:0;width:100%;height:300px}.panel-top.is-active{box-shadow:0 3px 10px rgba(0,0,0,.25)}.panel-right{top:0;right:0;height:100%;width:100%}@media only screen and (min-width:18.75em){.panel-right{width:300px}}.panel-right.is-active{box-shadow:-3px 0 10px rgba(0,0,0,.25)}.panel-bottom{bottom:0;left:0;width:100%;height:300px}.panel-bottom.is-active{box-shadow:2px -3px 10px rgba(0,0,0,.25)}.panel-left{top:0;left:0;height:100%;width:100%}@media only screen and (min-width:18.75em){.panel-left{width:300px}}.panel-left.is-active{box-shadow:3px 0 10px rgba(0,0,0,.25)}.small-grid-block.panel,.small-grid-content.panel{transform:none;width:auto;z-index:auto;box-shadow:none;background:0 0;top:auto;right:auto;bottom:auto;left:auto}.panel-fixed{position:fixed}.small-vertical.grid-block,.small-vertical.grid-frame,.small-vertical.large-grid-block,.small-vertical.medium-grid-block,.small-vertical.small-grid-block,.vertical.grid-block,.vertical.grid-frame,.vertical.large-grid-block,.vertical.medium-grid-block,.vertical.small-grid-block{flex-flow:column nowrap;align-items:stretch}.small-horizontal.grid-block,.small-horizontal.grid-frame,.small-horizontal.large-grid-block,.small-horizontal.medium-grid-block,.small-horizontal.small-grid-block{flex-flow:row wrap}@media only screen and (min-width:40em){.medium-vertical.grid-block,.medium-vertical.grid-frame,.medium-vertical.large-grid-block,.medium-vertical.medium-grid-block,.medium-vertical.small-grid-block{flex-flow:column nowrap;align-items:stretch}.medium-horizontal.grid-block,.medium-horizontal.grid-frame,.medium-horizontal.large-grid-block,.medium-horizontal.medium-grid-block,.medium-horizontal.small-grid-block{flex-flow:row wrap}}@media only screen and (min-width:75em){.large-vertical.grid-block,.large-vertical.grid-frame,.large-vertical.large-grid-block,.large-vertical.medium-grid-block,.large-vertical.small-grid-block{flex-flow:column nowrap;align-items:stretch}.large-horizontal.grid-block,.large-horizontal.grid-frame,.large-horizontal.large-grid-block,.large-horizontal.medium-grid-block,.large-horizontal.small-grid-block{flex-flow:row wrap}}.align-right.grid-block,.align-right.grid-frame,.align-right.large-grid-block,.align-right.medium-grid-block,.align-right.small-grid-block{justify-content:flex-end}.align-center.grid-block,.align-center.grid-frame,.align-center.large-grid-block,.align-center.medium-grid-block,.align-center.small-grid-block{justify-content:center}.align-justify.grid-block,.align-justify.grid-frame,.align-justify.large-grid-block,.align-justify.medium-grid-block,.align-justify.small-grid-block{justify-content:space-between}.align-spaced.grid-block,.align-spaced.grid-frame,.align-spaced.large-grid-block,.align-spaced.medium-grid-block,.align-spaced.small-grid-block{justify-content:space-around}.wrap.grid-block,.wrap.grid-frame,.wrap.large-grid-block,.wrap.medium-grid-block,.wrap.small-grid-block{flex-wrap:wrap;align-items:flex-start}.shrink.grid-block,.shrink.grid-content,.shrink.large-grid-block,.shrink.large-grid-content,.shrink.medium-grid-block,.shrink.medium-grid-content,.shrink.small-grid-block,.shrink.small-grid-content{flex:0 0 auto}.grid-block,.grid-frame{display:flex;overflow:hidden;flex:1 1 auto;order:0;backface-visibility:hidden}.noscroll.grid-block,.noscroll.grid-content,.noscroll.large-grid-block,.noscroll.large-grid-content,.noscroll.medium-grid-block,.noscroll.medium-grid-content,.noscroll.small-grid-block,.noscroll.small-grid-content{overflow:hidden}.grid-frame{height:100vh;position:relative;flex-flow:row wrap;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start}.grid-block,.small-grid-block,.small-grid-block.panel,.small-grid-content.panel{height:auto;position:relative}.grid-block{flex-flow:row wrap;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;overflow-y:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.grid-content{display:block;padding:0 1rem;overflow-y:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;flex:1 1 auto}.grid-content.collapse{padding:0}.grid-content .grid-block{margin-left:-1rem;margin-right:-1rem;flex-wrap:wrap;overflow:visible}.grid-content .grid-block.nowrap{flex-wrap:nowrap;align-items:stretch}.grid-content .grid-block .grid-content{overflow:visible}.grid-container{max-width:56.25rem;margin:0 auto}.grid-container.contain-left{max-width:56.25rem;margin:0 auto 0 0}.grid-container.contain-right{max-width:56.25rem;margin:0 0 0 auto}.small-grid-block{display:flex;overflow:hidden;backface-visibility:hidden;flex:1 1 auto;flex-flow:row wrap;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;order:0;overflow-y:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.small-grid-content{display:block;padding:0 1rem;overflow-y:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;flex:1 1 auto}@media only screen and (min-width:40em){.medium-grid-block{display:flex;position:relative;overflow:hidden;backface-visibility:hidden;flex:1 1 auto;flex-flow:row wrap;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;order:0;height:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.medium-grid-block.panel{transform:none;position:relative;width:auto;height:auto;z-index:auto;box-shadow:none;background:0 0;top:auto;right:auto;bottom:auto;left:auto}.medium-grid-content{display:block;padding:0 1rem;overflow-y:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;flex:1 1 auto}.medium-grid-content.panel{transform:none;position:relative;width:auto;height:auto;z-index:auto;box-shadow:none;background:0 0;top:auto;right:auto;bottom:auto;left:auto}}@media only screen and (min-width:75em){.large-grid-block{display:flex;position:relative;overflow:hidden;backface-visibility:hidden;flex:1 1 auto;flex-flow:row wrap;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;order:0;height:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.large-grid-block.panel{transform:none;position:relative;width:auto;height:auto;z-index:auto;box-shadow:none;background:0 0;top:auto;right:auto;bottom:auto;left:auto}.large-grid-content{display:block;padding:0 1rem;overflow-y:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;flex:1 1 auto}.large-grid-content.panel{transform:none;position:relative;width:auto;height:auto;z-index:auto;box-shadow:none;background:0 0;top:auto;right:auto;bottom:auto;left:auto}}.small-up-1,.small-up-10,.small-up-11,.small-up-12,.small-up-2,.small-up-3,.small-up-4,.small-up-5,.small-up-6,.small-up-8,.small-up-9,.title-bar,.title-bar .center,.title-bar .left,.title-bar .right{overflow:visible}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.small-1{flex:0 0 8.33333%;max-width:8.33333%}.small-order-1{order:1}.small-offset-1{margin-left:8.33333%}.small-up-1{flex-flow:row wrap}.small-up-1>div,.small-up-1>li,.small-up-1>section{padding:0 1rem 1rem;flex:0 0 100%}.small-2{flex:0 0 16.66667%;max-width:16.66667%}.small-order-2{order:2}.small-offset-2{margin-left:16.66667%}.small-up-2{flex-flow:row wrap}.small-up-2>div,.small-up-2>li,.small-up-2>section{padding:0 1rem 1rem;flex:0 0 50%}.small-3{flex:0 0 25%;max-width:25%}.small-order-3{order:3}.small-offset-3{margin-left:25%}.small-up-3{flex-flow:row wrap}.small-up-3>div,.small-up-3>li,.small-up-3>section{padding:0 1rem 1rem;flex:0 0 33.33333%}.small-4{flex:0 0 33.33333%;max-width:33.33333%}.small-order-4{order:4}.small-offset-4{margin-left:33.33333%}.small-up-4{flex-flow:row wrap}.small-up-4>div,.small-up-4>li,.small-up-4>section{padding:0 1rem 1rem;flex:0 0 25%}.small-5{flex:0 0 41.66667%;max-width:41.66667%}.small-order-5{order:5}.small-offset-5{margin-left:41.66667%}.small-up-5{flex-flow:row wrap;list-style-type:none}.small-up-5>div,.small-up-5>li,.small-up-5>section{padding:0 1rem 1rem;flex:0 0 20%}.small-6{flex:0 0 50%;max-width:50%}.small-order-6{order:6}.small-offset-6{margin-left:50%}.small-up-6{flex-flow:row wrap}.small-up-6>div,.small-up-6>li,.small-up-6>section{padding:0 1rem 1rem;flex:0 0 16.66667%}.small-7{flex:0 0 58.33333%;max-width:58.33333%}.small-order-7{order:7}.small-offset-7{margin-left:58.33333%}.small-up-7{flex-flow:row wrap;overflow:visible}.small-up-7>div,.small-up-7>li,.small-up-7>section{padding:0 1rem 1rem;flex:0 0 14.28571%}.small-8{flex:0 0 66.66667%;max-width:66.66667%}.small-order-8{order:8}.small-offset-8{margin-left:66.66667%}.small-up-8{flex-flow:row wrap}.small-up-8>div,.small-up-8>li,.small-up-8>section{padding:0 1rem 1rem;flex:0 0 12.5%}.small-9{flex:0 0 75%;max-width:75%}.small-order-9{order:9}.small-offset-9{margin-left:75%}.small-up-9{flex-flow:row wrap}.small-up-9>div,.small-up-9>li,.small-up-9>section{padding:0 1rem 1rem;flex:0 0 11.11111%}.small-10{flex:0 0 83.33333%;max-width:83.33333%}.small-order-10{order:10}.small-offset-10{margin-left:83.33333%}.small-up-10{flex-flow:row wrap}.small-up-10>div,.small-up-10>li,.small-up-10>section{padding:0 1rem 1rem;flex:0 0 10%}.small-11{flex:0 0 91.66667%;max-width:91.66667%}.small-order-11{order:11}.small-offset-11{margin-left:91.66667%}.small-up-11{flex-flow:row wrap}.small-up-11>div,.small-up-11>li,.small-up-11>section{padding:0 1rem 1rem;flex:0 0 9.09091%}.small-12{flex:0 0 100%;max-width:100%}.small-order-12{order:12}.small-offset-12{margin-left:100%}.small-up-12{flex-flow:row wrap}.small-up-12>div,.small-up-12>li,.small-up-12>section{padding:0 1rem 1rem;flex:0 0 8.33333%}@media only screen and (min-width:40em){.medium-1{flex:0 0 8.33333%;max-width:8.33333%}.medium-order-1{order:1}.medium-offset-1{margin-left:8.33333%}.medium-up-1{flex-flow:row wrap;overflow:visible;list-style-type:none}.medium-up-1>div,.medium-up-1>li,.medium-up-1>section{padding:0 1rem 1rem;flex:0 0 100%}.medium-2{flex:0 0 16.66667%;max-width:16.66667%}.medium-order-2{order:2}.medium-offset-2{margin-left:16.66667%}.medium-up-2{flex-flow:row wrap;overflow:visible;list-style-type:none}.medium-up-2>div,.medium-up-2>li,.medium-up-2>section{padding:0 1rem 1rem;flex:0 0 50%}.medium-3{flex:0 0 25%;max-width:25%}.medium-order-3{order:3}.medium-offset-3{margin-left:25%}.medium-up-3{flex-flow:row wrap;overflow:visible;list-style-type:none}.medium-up-3>div,.medium-up-3>li,.medium-up-3>section{padding:0 1rem 1rem;flex:0 0 33.33333%}.medium-4{flex:0 0 33.33333%;max-width:33.33333%}.medium-order-4{order:4}.medium-offset-4{margin-left:33.33333%}.medium-up-4{flex-flow:row wrap;overflow:visible;list-style-type:none}.medium-up-4>div,.medium-up-4>li,.medium-up-4>section{padding:0 1rem 1rem;flex:0 0 25%}.medium-5{flex:0 0 41.66667%;max-width:41.66667%}.medium-order-5{order:5}.medium-offset-5{margin-left:41.66667%}.medium-up-5{flex-flow:row wrap;overflow:visible;list-style-type:none}.medium-up-5>div,.medium-up-5>li,.medium-up-5>section{padding:0 1rem 1rem;flex:0 0 20%}.medium-6{flex:0 0 50%;max-width:50%}.medium-order-6{order:6}.medium-offset-6{margin-left:50%}.medium-up-6{flex-flow:row wrap;overflow:visible;list-style-type:none}.medium-up-6>div,.medium-up-6>li,.medium-up-6>section{padding:0 1rem 1rem;flex:0 0 16.66667%}.medium-7{flex:0 0 58.33333%;max-width:58.33333%}.medium-order-7{order:7}.medium-offset-7{margin-left:58.33333%}.medium-up-7{flex-flow:row wrap;overflow:visible;list-style-type:none}.medium-up-7>div,.medium-up-7>li,.medium-up-7>section{padding:0 1rem 1rem;flex:0 0 14.28571%}.medium-8{flex:0 0 66.66667%;max-width:66.66667%}.medium-order-8{order:8}.medium-offset-8{margin-left:66.66667%}.medium-up-8{flex-flow:row wrap;overflow:visible;list-style-type:none}.medium-up-8>div,.medium-up-8>li,.medium-up-8>section{padding:0 1rem 1rem;flex:0 0 12.5%}.medium-9{flex:0 0 75%;max-width:75%}.medium-order-9{order:9}.medium-offset-9{margin-left:75%}.medium-up-9{flex-flow:row wrap;overflow:visible;list-style-type:none}.medium-up-9>div,.medium-up-9>li,.medium-up-9>section{padding:0 1rem 1rem;flex:0 0 11.11111%}.medium-10{flex:0 0 83.33333%;max-width:83.33333%}.medium-order-10{order:10}.medium-offset-10{margin-left:83.33333%}.medium-up-10{flex-flow:row wrap;overflow:visible;list-style-type:none}.medium-up-10>div,.medium-up-10>li,.medium-up-10>section{padding:0 1rem 1rem;flex:0 0 10%}.medium-11{flex:0 0 91.66667%;max-width:91.66667%}.medium-order-11{order:11}.medium-offset-11{margin-left:91.66667%}.medium-up-11{flex-flow:row wrap;overflow:visible;list-style-type:none}.medium-up-11>div,.medium-up-11>li,.medium-up-11>section{padding:0 1rem 1rem;flex:0 0 9.09091%}.medium-12{flex:0 0 100%;max-width:100%}.medium-order-12{order:12}.medium-offset-12{margin-left:100%}.medium-up-12{flex-flow:row wrap;overflow:visible;list-style-type:none}.medium-up-12>div,.medium-up-12>li,.medium-up-12>section{padding:0 1rem 1rem;flex:0 0 8.33333%}}@media only screen and (min-width:75em){.large-1{flex:0 0 8.33333%;max-width:8.33333%}.large-order-1{order:1}.large-offset-1{margin-left:8.33333%}.large-up-1{flex-flow:row wrap;overflow:visible;list-style-type:none}.large-up-1>div,.large-up-1>li,.large-up-1>section{padding:0 1rem 1rem;flex:0 0 100%}.large-2{flex:0 0 16.66667%;max-width:16.66667%}.large-order-2{order:2}.large-offset-2{margin-left:16.66667%}.large-up-2{flex-flow:row wrap;overflow:visible;list-style-type:none}.large-up-2>div,.large-up-2>li,.large-up-2>section{padding:0 1rem 1rem;flex:0 0 50%}.large-3{flex:0 0 25%;max-width:25%}.large-order-3{order:3}.large-offset-3{margin-left:25%}.large-up-3{flex-flow:row wrap;overflow:visible;list-style-type:none}.large-up-3>div,.large-up-3>li,.large-up-3>section{padding:0 1rem 1rem;flex:0 0 33.33333%}.large-4{flex:0 0 33.33333%;max-width:33.33333%}.large-order-4{order:4}.large-offset-4{margin-left:33.33333%}.large-up-4{flex-flow:row wrap;overflow:visible;list-style-type:none}.large-up-4>div,.large-up-4>li,.large-up-4>section{padding:0 1rem 1rem;flex:0 0 25%}.large-5{flex:0 0 41.66667%;max-width:41.66667%}.large-order-5{order:5}.large-offset-5{margin-left:41.66667%}.large-up-5{flex-flow:row wrap;overflow:visible;list-style-type:none}.large-up-5>div,.large-up-5>li,.large-up-5>section{padding:0 1rem 1rem;flex:0 0 20%}.large-6{flex:0 0 50%;max-width:50%}.large-order-6{order:6}.large-offset-6{margin-left:50%}.large-up-6{flex-flow:row wrap;overflow:visible;list-style-type:none}.large-up-6>div,.large-up-6>li,.large-up-6>section{padding:0 1rem 1rem;flex:0 0 16.66667%}.large-7{flex:0 0 58.33333%;max-width:58.33333%}.large-order-7{order:7}.large-offset-7{margin-left:58.33333%}.large-up-7{flex-flow:row wrap;overflow:visible;list-style-type:none}.large-up-7>div,.large-up-7>li,.large-up-7>section{padding:0 1rem 1rem;flex:0 0 14.28571%}.large-8{flex:0 0 66.66667%;max-width:66.66667%}.large-order-8{order:8}.large-offset-8{margin-left:66.66667%}.large-up-8{flex-flow:row wrap;overflow:visible;list-style-type:none}.large-up-8>div,.large-up-8>li,.large-up-8>section{padding:0 1rem 1rem;flex:0 0 12.5%}.large-9{flex:0 0 75%;max-width:75%}.large-order-9{order:9}.large-offset-9{margin-left:75%}.large-up-9{flex-flow:row wrap;overflow:visible;list-style-type:none}.large-up-9>div,.large-up-9>li,.large-up-9>section{padding:0 1rem 1rem;flex:0 0 11.11111%}.large-10{flex:0 0 83.33333%;max-width:83.33333%}.large-order-10{order:10}.large-offset-10{margin-left:83.33333%}.large-up-10{flex-flow:row wrap;overflow:visible;list-style-type:none}.large-up-10>div,.large-up-10>li,.large-up-10>section{padding:0 1rem 1rem;flex:0 0 10%}.large-11{flex:0 0 91.66667%;max-width:91.66667%}.large-order-11{order:11}.large-offset-11{margin-left:91.66667%}.large-up-11{flex-flow:row wrap;overflow:visible;list-style-type:none}.large-up-11>div,.large-up-11>li,.large-up-11>section{padding:0 1rem 1rem;flex:0 0 9.09091%}.large-12{flex:0 0 100%;max-width:100%}.large-order-12{order:12}.large-offset-12{margin-left:100%}.large-up-12{flex-flow:row wrap;overflow:visible;list-style-type:none}.large-up-12>div,.large-up-12>li,.large-up-12>section{padding:0 1rem 1rem;flex:0 0 8.33333%}}.title-bar,.title-bar.dark,.title-bar.primary{padding:1rem;border-bottom:1px solid #ccc}.grid-content .modal .grid-block{flex-wrap:nowrap}.title-bar{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-start;background:#eee;color:#000}.title-bar .center,.title-bar .left,.title-bar .right{display:block;white-space:nowrap}.title-bar .center:first-child:last-child,.title-bar .left:first-child:last-child,.title-bar .right:first-child:last-child{flex:1;margin:0}.title-bar .left{order:1;flex:0 0 25%}.title-bar .center{order:2;flex:0 0 50%;text-align:center}.title-bar .right{order:3;flex:0 0 25%;text-align:right}.title-bar .left:first-child,.title-bar .left:first-child+.right:last-child{flex:1 1 auto}.title-bar .center:first-child:not(:last-child){margin-left:25%}.title-bar .center+.left{margin-right:-25%}.title-bar.primary{background:#00558b;color:#fff}.title-bar.primary a,.title-bar.primary a:hover{color:#fff}.title-bar.dark{background:#232323;color:#fff}.label,.label.primary{background:#00558b;border-radius:0;color:#fff}.title-bar.dark a,.title-bar.dark a:hover{color:#fff}.title-bar-bottom{border-bottom:0;border-top:1px solid #ccc}.label{line-height:1;white-space:nowrap;display:inline-block;cursor:default;font-size:.8rem;padding:.33333rem .5rem}.label.success{background:#43AC6A;border-radius:0;color:#fff}.label.warning{background:#F08A24;border-radius:0;color:#fff}.label.alert{background:#F04124;border-radius:0;color:#fff}.label.dark{background:#232323;border-radius:0;color:#fff}.badge{align-items:center;justify-content:center;display:inline-flex;border-radius:1000px;font-size:.8em;width:1.5rem;height:1.5rem;background:#00558b;color:#fff}.badge.secondary{background:#f1f1f1;color:#000}.badge.primary{background:#00558b;color:#fff}.badge.success{background:#43AC6A;color:#fff}.badge.warning{background:#F08A24;color:#fff}.badge.alert{background:#F04124;color:#fff}.badge.dark{background:#232323;color:#fff}.inline-list{text-align:left}.inline-list dd,.inline-list dt,.inline-list li{display:inline-block;margin-left:-2px;margin-right:-2px}.inline-list li{margin-right:1rem;margin-left:0}.menu-bar{display:flex;align-items:stretch;margin:0;background:#fff}.menu-bar>li{flex:1 0 auto;align-items:center}.menu-bar>li>a{display:flex;align-items:center;padding:1rem;font-size:1rem;line-height:1;color:#000}.menu-bar.label-corner>li>a,.menu-bar.label-side>li>a{padding-right:3.2rem}.menu-bar .is-active>a,.menu-bar>li>a:hover{background:#ededed;color:#000}.menu-bar .iconic *,.menu-bar .iconic .iconic-property-accent{fill:#000;stroke:#000}.menu-bar,.menu-bar.horizontal{overflow-x:hidden;flex-flow:row nowrap}.menu-bar.horizontal>li>a,.menu-bar.small-horizontal>li>a,.menu-bar.vertical,.menu-bar>li>a{flex-flow:column nowrap}.menu-bar.vertical{}.menu-bar.vertical>li>a{flex-flow:row nowrap}.menu-bar.condense>li{flex:0 0 auto}.menu-bar.align-right{justify-content:flex-end}.menu-bar.align-center{justify-content:center}.menu-bar.align-justify{justify-content:space-between}.menu-bar.align-spaced{justify-content:space-around}.menu-bar.small-condense li,.menu-group .menu-bar>li{flex:0 0 auto}.menu-bar.small-expand li{flex:1 0 auto}.menu-bar.small-align-left{justify-content:flex-start}.menu-bar.small-align-right{justify-content:flex-end}.menu-bar.small-align-center{justify-content:center}.menu-bar.small-align-justify{justify-content:space-between}.menu-bar.small-align-spaced{justify-content:space-around}@media only screen and (min-width:40em){.menu-bar.medium-condense li{flex:0 0 auto}.menu-bar.medium-expand li{flex:1 0 auto}.menu-bar.medium-align-left{justify-content:flex-start}.menu-bar.medium-align-right{justify-content:flex-end}.menu-bar.medium-align-center{justify-content:center}.menu-bar.medium-align-justify{justify-content:space-between}.menu-bar.medium-align-spaced{justify-content:space-around}}@media only screen and (min-width:75em){.menu-bar.large-condense li{flex:0 0 auto}.menu-bar.large-expand li{flex:1 0 auto}.menu-bar.large-align-left{justify-content:flex-start}.menu-bar.large-align-right{justify-content:flex-end}.menu-bar.large-align-center{justify-content:center}.menu-bar.large-align-justify{justify-content:space-between}.menu-bar.large-align-spaced{justify-content:space-around}}.menu-bar.small-horizontal{overflow-x:hidden;flex-flow:row nowrap}.menu-bar.small-vertical{flex-flow:column nowrap}.menu-bar.small-vertical>li>a{flex-flow:row nowrap}@media only screen and (min-width:40em){.menu-bar.medium-horizontal{overflow-x:hidden;flex-flow:row nowrap}.menu-bar.medium-horizontal>li>a{flex-flow:column nowrap}.menu-bar.medium-vertical{flex-flow:column nowrap}.menu-bar.medium-vertical>li>a{flex-flow:row nowrap}}@media only screen and (min-width:75em){.menu-bar.large-horizontal{overflow-x:hidden;flex-flow:row nowrap}.menu-bar.large-horizontal>li>a{flex-flow:column nowrap}.menu-bar.large-vertical{flex-flow:column nowrap}.menu-bar.large-vertical>li>a{flex-flow:row nowrap}}.menu-bar.icon-top>li>.iconic,.menu-bar.icon-top>li>img,.menu-bar>li>.iconic,.menu-bar>li>img{margin:0;width:25px;height:25px}.menu-bar.icon-top>li>a,.menu-bar>li>a{flex-flow:column nowrap}.menu-bar.icon-top>li>a>.iconic,.menu-bar.icon-top>li>a>img,.menu-bar>li>a>.iconic,.menu-bar>li>a>img{margin:0 0 1rem}.menu-bar.icon-right>li>.iconic,.menu-bar.icon-right>li>img{margin:0;width:25px;height:25px}.menu-bar.icon-right>li>a{flex-flow:row-reverse nowrap}.menu-bar.icon-right>li>a>.iconic,.menu-bar.icon-right>li>a>img{margin:0 0 0 1rem}.menu-bar.icon-bottom>li>.iconic,.menu-bar.icon-bottom>li>img{margin:0;width:25px;height:25px}.menu-bar.icon-bottom>li>a{flex-flow:column-reverse nowrap}.menu-bar.icon-bottom>li>a>.iconic,.menu-bar.icon-bottom>li>a>img{margin:1rem 0 0}.menu-bar.icon-left>li>.iconic,.menu-bar.icon-left>li>img{margin:0;width:25px;height:25px}.menu-bar.icon-left>li>a{flex-flow:row nowrap;align-items:center}.menu-bar.icon-left>li>a>.iconic,.menu-bar.icon-left>li>a>img{margin:0 1rem 0 0}.menu-bar.small-icon-top>li>.iconic,.menu-bar.small-icon-top>li>img{margin:0;width:25px;height:25px}.menu-bar.small-icon-top>li>a{flex-flow:column nowrap}.menu-bar.small-icon-top>li>a>.iconic,.menu-bar.small-icon-top>li>a>img{margin:0 0 1rem}.menu-bar.small-icon-right>li>.iconic,.menu-bar.small-icon-right>li>img{margin:0;width:25px;height:25px}.menu-bar.small-icon-right>li>a{flex-flow:row-reverse nowrap}.menu-bar.small-icon-right>li>a>.iconic,.menu-bar.small-icon-right>li>a>img{margin:0 0 0 1rem}.menu-bar.small-icon-bottom>li>.iconic,.menu-bar.small-icon-bottom>li>img{margin:0;width:25px;height:25px}.menu-bar.small-icon-bottom>li>a{flex-flow:column-reverse nowrap}.menu-bar.small-icon-bottom>li>a>.iconic,.menu-bar.small-icon-bottom>li>a>img{margin:1rem 0 0}.menu-bar.small-icon-left>li>.iconic,.menu-bar.small-icon-left>li>img{margin:0;width:25px;height:25px}.menu-bar.small-icon-left>li>a{flex-flow:row nowrap;align-items:center}.menu-bar.small-icon-left>li>a>.iconic,.menu-bar.small-icon-left>li>a>img{margin:0 1rem 0 0}@media only screen and (min-width:40em){.menu-bar.medium-icon-top>li>.iconic,.menu-bar.medium-icon-top>li>img{margin:0;width:25px;height:25px}.menu-bar.medium-icon-top>li>a{flex-flow:column nowrap}.menu-bar.medium-icon-top>li>a>.iconic,.menu-bar.medium-icon-top>li>a>img{margin:0 0 1rem}.menu-bar.medium-icon-right>li>.iconic,.menu-bar.medium-icon-right>li>img{margin:0;width:25px;height:25px}.menu-bar.medium-icon-right>li>a{flex-flow:row-reverse nowrap}.menu-bar.medium-icon-right>li>a>.iconic,.menu-bar.medium-icon-right>li>a>img{margin:0 0 0 1rem}.menu-bar.medium-icon-bottom>li>.iconic,.menu-bar.medium-icon-bottom>li>img{margin:0;width:25px;height:25px}.menu-bar.medium-icon-bottom>li>a{flex-flow:column-reverse nowrap}.menu-bar.medium-icon-bottom>li>a>.iconic,.menu-bar.medium-icon-bottom>li>a>img{margin:1rem 0 0}.menu-bar.medium-icon-left>li>.iconic,.menu-bar.medium-icon-left>li>img{margin:0;width:25px;height:25px}.menu-bar.medium-icon-left>li>a{flex-flow:row nowrap;align-items:center}.menu-bar.medium-icon-left>li>a>.iconic,.menu-bar.medium-icon-left>li>a>img{margin:0 1rem 0 0}}@media only screen and (min-width:75em){.menu-bar.large-icon-top>li>.iconic,.menu-bar.large-icon-top>li>img{margin:0;width:25px;height:25px}.menu-bar.large-icon-top>li>a{flex-flow:column nowrap}.menu-bar.large-icon-top>li>a>.iconic,.menu-bar.large-icon-top>li>a>img{margin:0 0 1rem}.menu-bar.large-icon-right>li>.iconic,.menu-bar.large-icon-right>li>img{margin:0;width:25px;height:25px}.menu-bar.large-icon-right>li>a{flex-flow:row-reverse nowrap}.menu-bar.large-icon-right>li>a>.iconic,.menu-bar.large-icon-right>li>a>img{margin:0 0 0 1rem}.menu-bar.large-icon-bottom>li>.iconic,.menu-bar.large-icon-bottom>li>img{margin:0;width:25px;height:25px}.menu-bar.large-icon-bottom>li>a{flex-flow:column-reverse nowrap}.menu-bar.large-icon-bottom>li>a>.iconic,.menu-bar.large-icon-bottom>li>a>img{margin:1rem 0 0}.menu-bar.large-icon-left>li>.iconic,.menu-bar.large-icon-left>li>img{margin:0;width:25px;height:25px}.menu-bar.large-icon-left>li>a{flex-flow:row nowrap;align-items:center}.menu-bar.large-icon-left>li>a>.iconic,.menu-bar.large-icon-left>li>a>img{margin:0 1rem 0 0}}.menu-bar.label-corner .menu-bar-label,.menu-bar.label-side .menu-bar-label{display:block;font-size:.9rem;width:1.2rem;height:1.2rem;line-height:1.2rem;text-align:center;border-radius:1000px;background:red;right:1rem;color:#fff;pointer-events:none}.menu-group .menu-bar,.modal .grid-block,.modal .grid-content{margin:0}.menu-bar.label-side>li{position:relative}.menu-bar.label-side .menu-bar-label{position:absolute;top:50%;transform:translateY(-50%)}.menu-bar.label-corner>li{position:relative}.menu-bar.label-corner .menu-bar-label{position:absolute;top:1rem}.menu-bar.primary{background:#00558b}.menu-bar.primary>li>a{color:#fff}.menu-bar.primary .is-active>a,.menu-bar.primary>li>a:hover{background:#0065a5;color:#fff}.menu-bar.primary .iconic *,.menu-bar.primary .iconic .iconic-property-accent{fill:#fff;stroke:#fff}.menu-bar.dark{background:#232323}.menu-bar.dark>li>a{color:#fff}.menu-bar.dark .is-active>a,.menu-bar.dark>li>a:hover{background:#323232;color:#fff}.menu-bar.dark .iconic *,.menu-bar.dark .iconic .iconic-property-accent{fill:#fff;stroke:#fff}.menu-bar>li.title{padding:1rem;cursor:default}.switch>label,.tabs .tab-item,a[ui-sref]{cursor:pointer}.menu-group{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}@media only screen and (min-width:40em){.menu-group{flex-wrap:nowrap}}.menu-group>.menu-group-left,.menu-group>.menu-group-right{flex:1 1 100%}@media only screen and (min-width:40em){.menu-group>.menu-group-left,.menu-group>.menu-group-right{flex:0 0 auto}}.menu-group.primary{background-color:#00558b}.menu-group.primary .menu-bar{background:#00558b}.menu-group.primary .menu-bar>li>a{color:#fff}.menu-group.primary .menu-bar .is-active>a,.menu-group.primary .menu-bar>li>a:hover{background:#0065a5;color:#fff}.menu-group.primary .menu-bar .iconic *,.menu-group.primary .menu-bar .iconic .iconic-property-accent{fill:#fff;stroke:#fff}.menu-group.dark{background-color:#232323}.menu-group.dark .menu-bar{background:#232323}.menu-group.dark .menu-bar>li>a{color:#fff}.menu-group.dark .menu-bar .is-active>a,.menu-group.dark .menu-bar>li>a:hover{background:#323232;color:#fff}.menu-group.dark .menu-bar .iconic *,.menu-group.dark .menu-bar .iconic .iconic-property-accent{fill:#fff;stroke:#fff}.modal{position:relative;z-index:1001;background:#fff;flex:0 0 auto;width:100%;height:100vh;max-height:100%;overflow:hidden;padding:1rem;max-width:600px;border-radius:0}@media only screen and (min-width:40em){.modal{height:auto;max-width:600px}}.modal .close-button,.modal [fa-close]{z-index:1001}.tiny>.modal{max-width:300px}.small>.modal{max-width:500px}.large>.modal{max-width:800px}.dialog>.modal{height:auto}.collapse>.modal{padding:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:none;background-color:rgba(51,51,51,.7);align-items:center;justify-content:center}.modal-overlay.is-active{display:flex}@keyframes shake{0%,10%,20%,30%,40%,50%,60%,70%,80%,90%{transform:translateX(7%)}15%,25%,35%,45%,5%,55%,65%,75%,85%,95%{transform:translateX(-7%)}100%{transform:translateX(0)}}@keyframes spin-cw{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes spin-ccw{0%{transform:rotate(0)}100%{transform:rotate(-360deg)}}@keyframes wiggle{40%,50%,60%{transform:rotate(7deg)}35%,45%,55%,65%{transform:rotate(-7deg)}0%,100%,30%,70%{transform:rotate(0)}}.slideInDown.ng-enter,.slideInDown.ng-hide-remove{backface-visibility:hidden;transform:translateY(-100%)}.slideInDown.ng-enter.ng-enter-active,.slideInDown.ng-hide-remove.ng-hide-remove-active{transform:translateX(0) translateY(0)}.slideInLeft.ng-enter,.slideInLeft.ng-hide-remove{backface-visibility:hidden;transform:translateX(100%)}.slideInLeft.ng-enter.ng-enter-active,.slideInLeft.ng-hide-remove.ng-hide-remove-active{transform:translateX(0) translateY(0)}.slideInUp.ng-enter,.slideInUp.ng-hide-remove{backface-visibility:hidden;transform:translateY(100%)}.slideInUp.ng-enter.ng-enter-active,.slideInUp.ng-hide-remove.ng-hide-remove-active{transform:translateX(0) translateY(0)}.slideInRight.ng-enter,.slideInRight.ng-hide-remove{backface-visibility:hidden;transform:translateX(-100%)}.slideInRight.ng-enter.ng-enter-active,.slideInRight.ng-hide-remove.ng-hide-remove-active{transform:translateX(0) translateY(0)}.slideOutBottom.ng-hide-add,.slideOutBottom.ng-leave{backface-visibility:hidden;transform:translateX(0) translateY(0)}.slideOutBottom.ng-hide-add.ng-hide-add-active,.slideOutBottom.ng-leave.ng-leave-active{transform:translateY(100%)}.slideOutRight.ng-hide-add,.slideOutRight.ng-leave{backface-visibility:hidden;transform:translateX(0) translateY(0)}.slideOutRight.ng-hide-add.ng-hide-add-active,.slideOutRight.ng-leave.ng-leave-active{transform:translateX(100%)}.slideOutUp.ng-hide-add,.slideOutUp.ng-leave{backface-visibility:hidden;transform:translateX(0) translateY(0)}.slideOutUp.ng-hide-add.ng-hide-add-active,.slideOutUp.ng-leave.ng-leave-active{transform:translateY(-100%)}.slideOutLeft.ng-hide-add,.slideOutLeft.ng-leave{backface-visibility:hidden;transform:translateX(0) translateY(0)}.fadeIn.ng-enter,.fadeIn.ng-hide-remove,.fadeOut.ng-hide-add,.fadeOut.ng-leave{transition-duration:.5s;transition-timing-function:ease;transition-delay:0;transition-property:opacity}.slideOutLeft.ng-hide-add.ng-hide-add-active,.slideOutLeft.ng-leave.ng-leave-active{transform:translateX(-100%)}.fadeIn.ng-enter,.fadeIn.ng-hide-remove{opacity:0}.fadeIn.ng-enter.ng-enter-active,.fadeIn.ng-hide-remove.ng-hide-remove-active,.fadeOut.ng-hide-add,.fadeOut.ng-leave{opacity:1}.hingeInFromBottom.ng-enter,.hingeInFromBottom.ng-hide-remove,.hingeInFromLeft.ng-enter,.hingeInFromLeft.ng-hide-remove,.hingeInFromMiddleX.ng-enter,.hingeInFromMiddleX.ng-hide-remove,.hingeInFromRight.ng-enter,.hingeInFromRight.ng-hide-remove,.hingeInFromTop.ng-enter,.hingeInFromTop.ng-hide-remove,.hingeOutFromBottom.ng-hide-add,.hingeOutFromBottom.ng-leave,.hingeOutFromLeft.ng-hide-add,.hingeOutFromLeft.ng-leave,.hingeOutFromMiddleX.ng-hide-add,.hingeOutFromMiddleX.ng-leave,.hingeOutFromMiddleY.ng-hide-add,.hingeOutFromMiddleY.ng-leave,.hingeOutFromRight.ng-hide-add,.hingeOutFromRight.ng-leave,.hingeOutFromTop.ng-hide-add,.hingeOutFromTop.ng-leave{transition-duration:.5s;transition-timing-function:ease;transition-delay:0;transition-property:transform,opacity}.fadeOut.ng-hide-add.ng-hide-add-active,.fadeOut.ng-leave.ng-leave-active{opacity:0}.hingeInFromTop.ng-enter,.hingeInFromTop.ng-hide-remove{transform:perspective(2000px) rotateX(-90deg);transform-origin:top;opacity:0}.hingeInFromTop.ng-enter.ng-enter-active,.hingeInFromTop.ng-hide-remove.ng-hide-remove-active{transform:rotate(0);opacity:1}.hingeInFromRight.ng-enter,.hingeInFromRight.ng-hide-remove{transform:perspective(2000px) rotateY(-90deg);transform-origin:right;opacity:0}.hingeInFromRight.ng-enter.ng-enter-active,.hingeInFromRight.ng-hide-remove.ng-hide-remove-active{transform:rotate(0);opacity:1}.hingeInFromBottom.ng-enter,.hingeInFromBottom.ng-hide-remove{transform:perspective(2000px) rotateX(90deg);transform-origin:bottom;opacity:0}.hingeInFromBottom.ng-enter.ng-enter-active,.hingeInFromBottom.ng-hide-remove.ng-hide-remove-active{transform:rotate(0);opacity:1}.hingeInFromLeft.ng-enter,.hingeInFromLeft.ng-hide-remove{transform:perspective(2000px) rotateY(90deg);transform-origin:left;opacity:0}.hingeInFromLeft.ng-enter.ng-enter-active,.hingeInFromLeft.ng-hide-remove.ng-hide-remove-active{transform:rotate(0);opacity:1}.hingeInFromMiddleX.ng-enter,.hingeInFromMiddleX.ng-hide-remove{transform:perspective(2000px) rotateX(-90deg);transform-origin:center;opacity:0}.hingeInFromMiddleX.ng-enter.ng-enter-active,.hingeInFromMiddleX.ng-hide-remove.ng-hide-remove-active{transform:rotate(0);opacity:1}.hingeInFromMiddleY.ng-enter,.hingeInFromMiddleY.ng-hide-remove{transition-duration:.5s;transition-timing-function:ease;transition-delay:0;transition-property:transform,opacity;transform:perspective(2000px) rotateY(-90deg);transform-origin:center;opacity:0}.hingeInFromMiddleY.ng-enter.ng-enter-active,.hingeInFromMiddleY.ng-hide-remove.ng-hide-remove-active{transform:rotate(0);opacity:1}.hingeOutFromTop.ng-hide-add,.hingeOutFromTop.ng-leave{transform:rotate(0);transform-origin:top;opacity:1}.hingeOutFromTop.ng-hide-add.ng-hide-add-active,.hingeOutFromTop.ng-leave.ng-leave-active{transform:perspective(2000px) rotateX(-90deg);opacity:0}.hingeOutFromRight.ng-hide-add,.hingeOutFromRight.ng-leave{transform:rotate(0);transform-origin:right;opacity:1}.hingeOutFromRight.ng-hide-add.ng-hide-add-active,.hingeOutFromRight.ng-leave.ng-leave-active{transform:perspective(2000px) rotateY(-90deg);opacity:0}.hingeOutFromBottom.ng-hide-add,.hingeOutFromBottom.ng-leave{transform:rotate(0);transform-origin:bottom;opacity:1}.hingeOutFromBottom.ng-hide-add.ng-hide-add-active,.hingeOutFromBottom.ng-leave.ng-leave-active{transform:perspective(2000px) rotateX(90deg);opacity:0}.hingeOutFromLeft.ng-hide-add,.hingeOutFromLeft.ng-leave{transform:rotate(0);transform-origin:left;opacity:1}.hingeOutFromLeft.ng-hide-add.ng-hide-add-active,.hingeOutFromLeft.ng-leave.ng-leave-active{transform:perspective(2000px) rotateY(90deg);opacity:0}.hingeOutFromMiddleX.ng-hide-add,.hingeOutFromMiddleX.ng-leave{transform:rotate(0);transform-origin:center;opacity:1}.hingeOutFromMiddleX.ng-hide-add.ng-hide-add-active,.hingeOutFromMiddleX.ng-leave.ng-leave-active{transform:perspective(2000px) rotateX(-90deg);opacity:0}.hingeOutFromMiddleY.ng-hide-add,.hingeOutFromMiddleY.ng-leave{transform:rotate(0);transform-origin:center;opacity:1}.zoomIn.ng-enter,.zoomIn.ng-hide-remove,.zoomOut.ng-hide-add,.zoomOut.ng-leave{transition-duration:.5s;transition-timing-function:ease;transition-delay:0;transition-property:transform,property}.hingeOutFromMiddleY.ng-hide-add.ng-hide-add-active,.hingeOutFromMiddleY.ng-leave.ng-leave-active{transform:perspective(2000px) rotateY(-90deg);opacity:0}.zoomIn.ng-enter,.zoomIn.ng-hide-remove{transform:scale(1.5);opacity:0}.zoomIn.ng-enter.ng-enter-active,.zoomIn.ng-hide-remove.ng-hide-remove-active{transform:scale(1);opacity:1}.zoomOut.ng-hide-add,.zoomOut.ng-leave{transform:scale(.5);opacity:1}.zoomOut.ng-hide-add.ng-hide-add-active,.zoomOut.ng-leave.ng-leave-active{transform:scale(1);opacity:0}.spinIn.ng-enter,.spinIn.ng-hide-remove{transition-property:transform,opacity;transform:rotate(-270deg);opacity:0}.spinIn.ng-enter.ng-enter-active,.spinIn.ng-hide-remove.ng-hide-remove-active{transform:rotate(0);opacity:1}.spinOut.ng-hide-add,.spinOut.ng-leave{transition-property:transform,opacity;transform:rotate(0);opacity:1}.spinOut.ng-hide-add.ng-hide-add-active,.spinOut.ng-leave.ng-leave-active{transform:rotate(270deg);opacity:0}.spinInCCW.ng-enter,.spinInCCW.ng-hide-remove{transition-property:transform,opacity;transform:rotate(270deg);opacity:0}.spinInCCW.ng-enter.ng-enter-active,.spinInCCW.ng-hide-remove.ng-hide-remove-active{transform:rotate(0);opacity:1}.spinOutCCW.ng-hide-add,.spinOutCCW.ng-leave{transition-property:transform,opacity;transform:rotate(0);opacity:1}.spinOutCCW.ng-hide-add.ng-hide-add-active,.spinOutCCW.ng-leave.ng-leave-active{transform:rotate(-270deg);opacity:0}.shake,.spin-ccw,.spin-cw,.wiggle{animation-duration:.5s;animation-timing-function:ease;transform:translate3d(0,0,0);animation-delay:0;backface-visibility:hidden}.slow{transition-duration:750ms!important}.fast{transition-duration:250ms!important}.linear{transition-timing-function:linear!important}.ease{transition-timing-function:ease!important}.easeIn{transition-timing-function:ease-in!important}.easeOut{transition-timing-function:ease-out!important}.easeInOut{transition-timing-function:ease-in-out!important}.bounceIn{transition-timing-function:cubic-bezier(.485,.155,.24,1.245)!important}.bounceOut{transition-timing-function:cubic-bezier(.485,.155,.515,.845)!important}.bounceInOut{transition-timing-function:cubic-bezier(.76,-.245,.24,1.245)!important}.delay{transition-delay:.3s!important}.long-delay{transition-delay:.7s!important}.shake{animation-name:shake}.spin-cw{animation-name:spin-cw}.spin-ccw{animation-name:spin-ccw}.wiggle{animation-name:wiggle}.shake.infinite,.spin-ccw.infinite,.spin-cw.infinite,.wiggle.infinite{animation-iteration-count:infinite}.shake.linear,.spin-ccw.linear,.spin-cw.linear,.wiggle.linear{animation-timing-function:linear!important}.shake.ease,.spin-ccw.ease,.spin-cw.ease,.wiggle.ease{animation-timing-function:ease!important}.shake.easeIn,.spin-ccw.easeIn,.spin-cw.easeIn,.wiggle.easeIn{animation-timing-function:ease-in!important}.shake.easeOut,.spin-ccw.easeOut,.spin-cw.easeOut,.wiggle.easeOut{animation-timing-function:ease-out!important}.shake.easeInOut,.spin-ccw.easeInOut,.spin-cw.easeInOut,.wiggle.easeInOut{animation-timing-function:ease-in-out!important}.shake.bounceIn,.spin-ccw.bounceIn,.spin-cw.bounceIn,.wiggle.bounceIn{animation-timing-function:cubic-bezier(.485,.155,.24,1.245)!important}.shake.bounceOut,.spin-ccw.bounceOut,.spin-cw.bounceOut,.wiggle.bounceOut{animation-timing-function:cubic-bezier(.485,.155,.515,.845)!important}.shake.bounceInOut,.spin-ccw.bounceInOut,.spin-cw.bounceInOut,.wiggle.bounceInOut{animation-timing-function:cubic-bezier(.76,-.245,.24,1.245)!important}.shake.slow,.spin-ccw.slow,.spin-cw.slow,.wiggle.slow{animation-duration:750ms!important}.shake.fast,.spin-ccw.fast,.spin-cw.fast,.wiggle.fast{animation-duration:250ms!important}.shake.delay,.spin-ccw.delay,.spin-cw.delay,.wiggle.delay{animation-delay:.3s!important}.shake.long-delay,.spin-ccw.long-delay,.spin-cw.long-delay,.wiggle.long-delay{animation-delay:.7s!important}.long-stagger,.stagger,.stort-stagger{transition-delay:150ms;transition-duration:0}.position-absolute{overflow:hidden;position:relative}.ui-animation.ng-enter-active,.ui-animation.ng-leave-active{position:absolute!important;backface-visibility:hidden;-webkit-transform-style:preserve-3d;top:0;right:0;bottom:0;left:0}.notification,.static-notification{z-index:1000;position:relative;margin-top:.5rem;margin-bottom:.5rem;display:none}.notification h1,.static-notification h1{font-size:1.25em;margin:0}.notification p,.static-notification p{margin:0}.is-active.notification,.is-active.static-notification{display:flex}.notification .close-button,.static-notification .close-button{color:#fff}.notification-container{z-index:3000;position:fixed;display:flex;flex-direction:column}.notification{background:#00558b;padding:1rem;border-radius:4px}.notification,.notification h1,.notification h2,.notification h3,.notification h4,.notification h5,.notification h6{color:#fff}.notification.success{background:#43AC6A;padding:1rem;border-radius:4px}.notification.success,.notification.success h1,.notification.success h2,.notification.success h3,.notification.success h4,.notification.success h5,.notification.success h6{color:#fff}.notification.warning{background:#F08A24;padding:1rem;border-radius:4px}.notification.warning,.notification.warning h1,.notification.warning h2,.notification.warning h3,.notification.warning h4,.notification.warning h5,.notification.warning h6{color:#fff}.notification.alert{background:#F04124;padding:1rem;border-radius:4px}.notification.alert,.notification.alert h1,.notification.alert h2,.notification.alert h3,.notification.alert h4,.notification.alert h5,.notification.alert h6{color:#fff}.notification.dark{background:#232323;padding:1rem;border-radius:4px}.notification.dark,.notification.dark h1,.notification.dark h2,.notification.dark h3,.notification.dark h4,.notification.dark h5,.notification.dark h6{color:#fff}.static-notification{background:#00558b;padding:1rem;border-radius:4px;position:fixed!important}.static-notification,.static-notification h1,.static-notification h2,.static-notification h3,.static-notification h4,.static-notification h5,.static-notification h6{color:#fff}.static-notification.top-right{width:25rem;right:1rem;top:1rem}@media only screen and (min-width:0em) and (max-width:39.9375rem){.static-notification.top-right{width:auto;left:1rem;right:1rem;margin-left:0}}.static-notification.top-left{width:25rem;left:1rem;top:1rem}@media only screen and (min-width:0em) and (max-width:39.9375rem){.static-notification.top-left{width:auto;left:1rem;right:1rem;margin-left:0}}.static-notification.top-middle{width:25rem;left:50%;margin-left:-12.5rem;top:1rem}@media only screen and (min-width:0em) and (max-width:39.9375rem){.static-notification.top-middle{width:auto;left:1rem;right:1rem;margin-left:0}}.static-notification.bottom-right{width:25rem;right:1rem;top:auto;bottom:1rem}@media only screen and (min-width:0em) and (max-width:39.9375rem){.static-notification.bottom-right{width:auto;left:1rem;right:1rem;margin-left:0}}.static-notification.bottom-left{width:25rem;left:1rem;top:auto;bottom:1rem}@media only screen and (min-width:0em) and (max-width:39.9375rem){.static-notification.bottom-left{width:auto;left:1rem;right:1rem;margin-left:0}}.static-notification.bottom-middle{width:25rem;left:50%;margin-left:-12.5rem;top:auto;bottom:1rem}@media only screen and (min-width:0em) and (max-width:39.9375rem){.static-notification.bottom-middle{width:auto;left:1rem;right:1rem;margin-left:0}}.static-notification.success{background:#43AC6A;padding:1rem;border-radius:4px}.static-notification.success,.static-notification.success h1,.static-notification.success h2,.static-notification.success h3,.static-notification.success h4,.static-notification.success h5,.static-notification.success h6{color:#fff}.static-notification.warning{background:#F08A24;padding:1rem;border-radius:4px}.static-notification.warning,.static-notification.warning h1,.static-notification.warning h2,.static-notification.warning h3,.static-notification.warning h4,.static-notification.warning h5,.static-notification.warning h6{color:#fff}.static-notification.alert{background:#F04124;padding:1rem;border-radius:4px}.static-notification.alert,.static-notification.alert h1,.static-notification.alert h2,.static-notification.alert h3,.static-notification.alert h4,.static-notification.alert h5,.static-notification.alert h6{color:#fff}.static-notification.dark{background:#232323;padding:1rem;border-radius:4px}.off-canvas,.off-canvas~.grid-frame{transition:transform .25s ease-out;background:#fff}.static-notification.dark,.static-notification.dark h1,.static-notification.dark h2,.static-notification.dark h3,.static-notification.dark h4,.static-notification.dark h5,.static-notification.dark h6{color:#fff}.notification-container{width:25rem;right:1rem;top:1rem}@media only screen and (min-width:0em) and (max-width:39.9375rem){.notification-container{width:auto;left:1rem;right:1rem;margin-left:0}}.notification-container.top-right{width:25rem;right:1rem;top:1rem}@media only screen and (min-width:0em) and (max-width:39.9375rem){.notification-container.top-right{width:auto;left:1rem;right:1rem;margin-left:0}}.notification-container.top-left{width:25rem;left:1rem;top:1rem}@media only screen and (min-width:0em) and (max-width:39.9375rem){.notification-container.top-left{width:auto;left:1rem;right:1rem;margin-left:0}}.notification-container.top-middle{width:25rem;left:50%;margin-left:-12.5rem;top:1rem}@media only screen and (min-width:0em) and (max-width:39.9375rem){.notification-container.top-middle{width:auto;left:1rem;right:1rem;margin-left:0}}.notification-container.bottom-right{width:25rem;right:1rem;top:auto;bottom:1rem}@media only screen and (min-width:0em) and (max-width:39.9375rem){.notification-container.bottom-right{width:auto;left:1rem;right:1rem;margin-left:0}}.notification-container.bottom-left{width:25rem;left:1rem;top:auto;bottom:1rem}@media only screen and (min-width:0em) and (max-width:39.9375rem){.notification-container.bottom-left{width:auto;left:1rem;right:1rem;margin-left:0}}.notification-container.bottom-middle{width:25rem;left:50%;margin-left:-12.5rem;top:auto;bottom:1rem}@media only screen and (min-width:0em) and (max-width:39.9375rem){.notification-container.bottom-middle{width:auto;left:1rem;right:1rem;margin-left:0}}.notification-icon{flex:0 0 60px;margin-right:1rem}.notification-icon img{width:100%;height:auto}.notification-content{flex:1}.is-active.off-canvas{transform:translate(0,0)!important}.off-canvas~.grid-frame{transform:translate(0,0,0);backface-visibility:hidden}.off-canvas{position:fixed;overflow:auto;-webkit-overflow-scrolling:touch;z-index:2;width:250px;height:100%;top:0;left:0;box-shadow:inset -3px 0 10px rgba(0,0,0,.25);transform:translateX(-100%);color:#000}.popup,.switch{overflow:hidden}.off-canvas.is-active~.grid-frame{transform:translateX(250px)!important}.off-canvas.top{height:250px;width:100%;top:0;left:0;transform:translateY(-100%);box-shadow:inset 0 -3px 10px rgba(0,0,0,.25)}.off-canvas.top.is-active~.grid-frame{transform:translateY(250px)!important}.off-canvas.right{width:250px;height:100%;left:auto;top:0;right:0;box-shadow:inset 3px 0 10px rgba(0,0,0,.25);transform:translateX(100%)}.off-canvas.right.is-active~.grid-frame{transform:translateX(-250px)!important}.off-canvas.bottom{height:250px;width:100%;top:auto;bottom:0;left:0;transform:translateY(100%);box-shadow:inset 0 3px 10px rgba(0,0,0,.25)}.off-canvas.bottom.is-active~.grid-frame{transform:translateY(-250px)!important}.off-canvas.left{width:250px;height:100%;top:0;left:0;box-shadow:inset -3px 0 10px rgba(0,0,0,.25);transform:translateX(-100%)}.off-canvas.left.is-active~.grid-frame{transform:translateX(250px)!important}.off-canvas.detached{z-index:0;box-shadow:none}.off-canvas.detached,.off-canvas.detached.is-active{transform:none}.off-canvas.detached~.grid-frame{z-index:1;box-shadow:0 0 15px rgba(0,0,0,.5)}.popup,.popup.dark,.popup.primary{box-shadow:0 0 10px rgba(0,0,0,.25)}.off-canvas.primary{background:#00558b;color:#fff}.off-canvas.dark{background:#232323;color:#fff}.popup{position:absolute;z-index:1000;opacity:0;transition:opacity .25s ease-out;pointer-events:none;width:18.75rem;background:#fff;border-radius:0;border:0}.tether-enabled.popup{opacity:1;pointer-events:auto}.popup.dark{background:#232323;border-radius:0;border:0}.popup.primary{background:#00558b;border-radius:0;border:0}.switch{position:relative;display:inline-block}.switch>input{position:absolute;left:-9999px;outline:0}.switch>label{-ms-touch-action:manipulation;touch-action:manipulation;display:block;width:100%;height:100%;margin:0;background:#ccc}.switch,.switch>label::after{height:2rem;border-radius:9999px}.switch{width:3.125rem}.switch>label::after{content:'';display:block;position:absolute;top:0;left:0;width:2rem;background:#fff;transition:left .15s ease-out;border:4px solid #ccc}.switch input:checked+label::after{left:1.125rem;border-color:#00558b}.switch input:checked+label{background:#00558b;margin:0}.tabs,.tabs.vertical{display:flex;background:0 0}.switch.small{width:2.5rem;height:1.625rem}.switch.small>label::after{width:1.625rem;height:1.625rem}.switch.small input:checked+label::after{left:.875rem}.switch.large{width:3.75rem;height:2.375rem}.switch.large>label::after{width:2.375rem;height:2.375rem}.switch.large input:checked+label::after{left:1.375rem}.tabs{flex-flow:row wrap}.tabs.vertical{flex-flow:column nowrap}.tabs .tab-item{background:#f3f3f3;padding:1rem;line-height:1;margin:0;flex:0 1 auto;color:#000}.tabs .tab-item.is-active{background:#ececec;color:#000}.tabs .tab-item.is-active:hover,.tabs .tab-item:hover{background:#e7e7e7}.tab-contents{padding:1rem}.tab-contents .tab-content{display:none}.tab-contents .tab-content.is-active{display:block}.accordion{border:1px solid #cbcbcb}.accordion-title{padding:1rem;background:#f3f3f3;color:#000;line-height:1;cursor:pointer}.accordion-title:hover{background:#e7e7e7}.is-active>.accordion-title{background:#ececec;color:#000}.accordion-content{padding:1rem;display:none}.is-active>.accordion-content{display:block}blockquote,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,li,ol,p,pre,td,th,ul{margin:0;padding:0}a{color:#00558b;text-decoration:none;line-height:inherit}p,p.lead{line-height:1.6}a:focus,a:hover{color:#004978}a img{border:none}p{font-family:inherit;font-size:1rem;margin-bottom:1.25rem}.subheader,h1,h2,h3,h4,h5,h6{margin-top:.2rem;margin-bottom:.5rem;font-weight:400}p.lead{font-size:1.21875rem}p aside{font-size:.875rem;line-height:1.35;font-style:italic}h1,h2,h3,h4,h5,h6{font-family:"Helvetica Neue",Helvetica,Helvetica,Arial,sans-serif;font-style:normal;color:#222;line-height:1.4}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-size:60%;color:#6f6f6f;line-height:0}h1{font-size:2.125rem}h2{font-size:1.6875rem}h3{font-size:1.375rem}h4,h5{font-size:1.125rem}h6{font-size:1rem}.subheader{line-height:1.4;color:#6f6f6f}b,em,i,small,strong{line-height:inherit}hr{border:solid #ddd;border-width:1px 0 0;margin:1.25rem 0 1.1875rem;height:0}em,i{font-style:italic}small{font-size:60%;color:#6f6f6f}code{font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:400;color:#464646;background-color:#fbfbfb;border-width:1px;border-style:solid;border-color:#e2e2e2;padding:.125rem .3125rem .0625rem}dl,ol,ul{font-size:1rem;line-height:1.6;margin-bottom:1.25rem;list-style-position:outside;font-family:inherit}ol,ul{margin-left:1.1rem}ol li ol,ol li ul,ul li ol,ul li ul{margin-left:1.25rem;margin-bottom:0}ul.no-bullet{margin-left:0}dl dt{margin-bottom:.3rem;font-weight:700}dl dd{margin-bottom:.75rem}abbr,acronym{text-transform:uppercase;font-size:90%;color:#222;border-bottom:1px dotted #ddd;cursor:help}abbr{text-transform:none}blockquote{margin:0 0 1.25rem;padding:.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #ddd}blockquote cite{display:block;font-size:.8125rem;color:#555}blockquote cite:before{content:"\2014 \0020"}blockquote cite a,blockquote cite a:visited{color:#555}blockquote,blockquote p{line-height:1.6;color:#6f6f6f}.v-align{display:flex;align-items:center;justify-content:space-between}.v-align .align-center{align-self:center}.v-align .align-bottom{align-self:flex-end}.v-align .small-align-top{align-self:flex-start}.v-align .small-align-center{align-self:center}.v-align .small-align-bottom{align-self:flex-end}.hide{display:none!important}.invisible{visibility:hidden}.hide-for-small:not(.ng-hide){display:block!important;display:none!important}.hide-for-small[class*=grid-block]:not(.ng-hide){display:flex!important;display:none!important}.show-for-small:not(.ng-hide){display:none!important;display:block!important}.show-for-small[class*=grid-block]:not(.ng-hide){display:none!important;display:flex!important}.hide-for-small-only:not(.ng-hide){display:block!important}@media only screen and (min-width:0em) and (max-width:39.9375rem){.hide-for-small-only:not(.ng-hide){display:none!important}}.hide-for-small-only[class*=grid-block]:not(.ng-hide){display:flex!important}.show-for-small-only:not(.ng-hide){display:none!important}@media only screen and (min-width:0em) and (max-width:39.9375rem){.hide-for-small-only[class*=grid-block]:not(.ng-hide){display:none!important}.show-for-small-only:not(.ng-hide){display:block!important}}.show-for-small-only[class*=grid-block]:not(.ng-hide){display:none!important}@media only screen and (min-width:0em) and (max-width:39.9375rem){.show-for-small-only[class*=grid-block]:not(.ng-hide){display:flex!important}.small-only-text-left{text-align:left}}.hide-for-medium:not(.ng-hide){display:block!important}@media only screen and (min-width:40em){h1,h2,h3,h4,h5,h6{line-height:1.4}h1{font-size:2.75rem}h2{font-size:2.3125rem}h3{font-size:1.6875rem}h4{font-size:1.4375rem}h5{font-size:1.125rem}h6{font-size:1rem}.v-align .medium-align-top{align-self:flex-start}.v-align .medium-align-center{align-self:center}.v-align .medium-align-bottom{align-self:flex-end}.hide-for-medium:not(.ng-hide){display:none!important}}.hide-for-medium[class*=grid-block]:not(.ng-hide){display:flex!important}.show-for-medium:not(.ng-hide){display:none!important}@media only screen and (min-width:40em){.hide-for-medium[class*=grid-block]:not(.ng-hide){display:none!important}.show-for-medium:not(.ng-hide){display:block!important}}.show-for-medium[class*=grid-block]:not(.ng-hide){display:none!important}@media only screen and (min-width:40em){.show-for-medium[class*=grid-block]:not(.ng-hide){display:flex!important}.medium-text-left{text-align:left}}.hide-for-medium-only:not(.ng-hide){display:block!important}@media only screen and (min-width:40em) and (max-width:74.9375rem){.hide-for-medium-only:not(.ng-hide){display:none!important}}.hide-for-medium-only[class*=grid-block]:not(.ng-hide){display:flex!important}.show-for-medium-only:not(.ng-hide){display:none!important}@media only screen and (min-width:40em) and (max-width:74.9375rem){.hide-for-medium-only[class*=grid-block]:not(.ng-hide){display:none!important}.show-for-medium-only:not(.ng-hide){display:block!important}}.show-for-medium-only[class*=grid-block]:not(.ng-hide){display:none!important}@media only screen and (min-width:40em) and (max-width:74.9375rem){.show-for-medium-only[class*=grid-block]:not(.ng-hide){display:flex!important}.medium-only-text-left{text-align:left}}.hide-for-large:not(.ng-hide){display:block!important}@media only screen and (min-width:75em){.v-align .large-align-top{align-self:flex-start}.v-align .large-align-center{align-self:center}.v-align .large-align-bottom{align-self:flex-end}.hide-for-large:not(.ng-hide){display:none!important}}.hide-for-large[class*=grid-block]:not(.ng-hide){display:flex!important}.show-for-large:not(.ng-hide){display:none!important}@media only screen and (min-width:75em){.hide-for-large[class*=grid-block]:not(.ng-hide){display:none!important}.show-for-large:not(.ng-hide){display:block!important}}.show-for-large[class*=grid-block]:not(.ng-hide){display:none!important}@media only screen and (min-width:75em){.show-for-large[class*=grid-block]:not(.ng-hide){display:flex!important}.large-text-left{text-align:left}}.hide-for-large-only:not(.ng-hide){display:block!important}@media only screen and (min-width:75em) and (max-width:89.9375rem){.hide-for-large-only:not(.ng-hide){display:none!important}}.hide-for-large-only[class*=grid-block]:not(.ng-hide){display:flex!important}.show-for-large-only:not(.ng-hide){display:none!important}@media only screen and (min-width:75em) and (max-width:89.9375rem){.hide-for-large-only[class*=grid-block]:not(.ng-hide){display:none!important}.show-for-large-only:not(.ng-hide){display:block!important}}.show-for-large-only[class*=grid-block]:not(.ng-hide){display:none!important}@media only screen and (min-width:75em) and (max-width:89.9375rem){.show-for-large-only[class*=grid-block]:not(.ng-hide){display:flex!important}.large-only-text-left{text-align:left}}@media only screen and (orientation:portrait){.hide-for-portrait{display:none!important}.hide-for-portrait[class*=grid-block]{display:flex!important}}.show-for-portrait{display:none!important}@media only screen and (orientation:portrait){.show-for-portrait{display:block!important}.show-for-portrait[class*=grid-block]{display:flex!important}}@media only screen and (orientation:landscape){.hide-for-landscape{display:none!important}.hide-for-landscape[class*=grid-block]{display:flex!important}}.show-for-landscape{display:none!important}@media only screen and (orientation:landscape){.show-for-landscape{display:block!important}.show-for-landscape[class*=grid-block]{display:flex!important}}.small-text-left,.text-left{text-align:left}.small-text-right,.text-right{text-align:right}@media only screen and (min-width:0em) and (max-width:39.9375rem){.small-only-text-right{text-align:right}}@media only screen and (min-width:40em){.medium-text-right{text-align:right}}@media only screen and (min-width:40em) and (max-width:74.9375rem){.medium-only-text-right{text-align:right}}@media only screen and (min-width:75em){.large-text-right{text-align:right}}@media only screen and (min-width:75em) and (max-width:89.9375rem){.large-only-text-right{text-align:right}.large-only-text-center{text-align:center}}.small-text-center,.text-center{text-align:center}@media only screen and (min-width:0em) and (max-width:39.9375rem){.small-only-text-center{text-align:center}}@media only screen and (min-width:40em){.medium-text-center{text-align:center}}@media only screen and (min-width:40em) and (max-width:74.9375rem){.medium-only-text-center{text-align:center}}@media only screen and (min-width:75em){.large-text-center{text-align:center}.large-text-justify{text-align:justify}}.small-text-justify,.text-justify{text-align:justify}@media only screen and (min-width:0em) and (max-width:39.9375rem){.small-only-text-justify{text-align:justify}}@media only screen and (min-width:40em){.medium-text-justify{text-align:justify}}@media only screen and (min-width:40em) and (max-width:74.9375rem){.medium-only-text-justify{text-align:justify}}@media only screen and (min-width:75em) and (max-width:89.9375rem){.large-only-text-justify{text-align:justify}}.clearfix:after,.clearfix:before{content:" ";display:table}.float-left{float:left}.float-right{float:right}.float-none{float:none}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1hcHBzL3Njc3MvY29tcG9uZW50cy9fYmxvY2stbGlzdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLWFwcHMvc2Nzcy92ZW5kb3IvX25vcm1hbGl6ZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLWFwcHMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tYXBwcy9zY3NzL2NvbXBvbmVudHMvX2FjdGlvbi1zaGVldC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLWFwcHMvc2Nzcy9jb21wb25lbnRzL19mb3Jtcy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLWFwcHMvc2Nzcy9jb21wb25lbnRzL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tYXBwcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLWFwcHMvc2Nzcy9jb21wb25lbnRzL19saXN0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tYXBwcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtYmFyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tYXBwcy9zY3NzL2NvbXBvbmVudHMvX2dyaWQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1hcHBzL3Njc3MvY29tcG9uZW50cy9fbm90aWZpY2F0aW9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tYXBwcy9zY3NzL2NvbXBvbmVudHMvX3V0aWxpdGllcy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLWFwcHMvc2Nzcy9oZWxwZXJzL19taXhpbnMuc2NzcyIsImZvdW5kYXRpb24vX2ZvdW5kYXRpb24taWNvbnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1hcHBzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tYXBwcy9zY3NzL2NvbXBvbmVudHMvX2ljb25pYy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLWFwcHMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1hcHBzL3Njc3MvaGVscGVycy9fYnJlYWtwb2ludHMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1hcHBzL3Njc3MvaGVscGVycy9fZnVuY3Rpb25zLnNjc3MiLCIkc3RkaW4iLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tYXBwcy9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1hcHBzL3Njc3MvaGVscGVycy9faW1hZ2VzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tYXBwcy9zY3NzL2NvbXBvbmVudHMvX3BvcHVwLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tYXBwcy9zY3NzL2NvbXBvbmVudHMvX21vdGlvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLWFwcHMvc2Nzcy9jb21wb25lbnRzL19leHRyYXMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1hcHBzL3Njc3MvY29tcG9uZW50cy9fcGFuZWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1hcHBzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1hcHBzL3Njc3MvY29tcG9uZW50cy9fbW9kYWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1hcHBzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tYXBwcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1hcHBzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLWFwcHMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErSFEsb0JDNEtELGlCQUNJLHFCQUNULE9BQVEsUUN0TkosS0R1RU4sSUFDRyxJRXdEQyxTQUFVLFNINkZKLGtDSXBGSixPSGlKSixtQkFBb0IsS0d6U2pCLGdCQUFpQixLQ3dIcEIsR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFNLEdBbEJyQixFQXVCQyxlQTNLb0IsbUJGVXBCLGlCQUFBLHNCQUFBLHlCSDJTRixZQS9SSyxlTThHUSxjQ25KRCxhQzBPSCxVQ29LUSxZQUFDLGFBQUEsYUFBQSxhQUFELFlBQUEsWUFBQSxZQUFBLFlBQUEsWUFBQSxZQUFBLFlKaklmLGFBQ2UsbUJBQVQsbUJBQ0osZ0JBQWlCLEtLbkZILG1CQ3RJSixvQkFDUixXQVBLLFdDc0NKLGdCUHlITCxHT3pIUSxNQUFPLEtDM0ZULFdBQ1IsWUFBZ0MsaUJBQ2hDLElBQUssNkNBQXFELGVBQzFELFlBQWEsSUFDYixXQUFZLE9BSUUsd0JBQ1AsaUJB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a0RBTEcsaURBTVIsV0o1RVEsc0JJNkVSLE1KN0VRLFFhbEJoQixpREFBQyx1RUFBQSxzREFXeUIsNEVBWDFCLHFEQUFDLDJFQUNDLEtiaUJjLFFhVlosT2JVWSxRSXNGRSxpREFBQyx1REFDRyx5REFDTiwrREFDUixXSnpGUSxRSTBGUixNWXZCd0IsS0hyRmhDLDJEQUFDLGlGQUFBLG1FQVd5Qix5RkFWeEIsS0dvRjhCLEtIN0U1QixPRzZFNEIsS1ptRW5CLGdDQXBFWCxhSi9EWSxRSW1FUixxQ0FBb0IsMENBQWYseUNBQ0wsYUpwRVEsUUlxRVIsTUpyRVEsUUltRVAsMkNBS00sZ0RBTEcsK0NBTVIsV0p6RU0scUJJMEVOLE1KMUVNLFFhckJkLCtDQUFDLHFFQUFBLG9EQVd5QiwwRUFYMUIsbURBQUMseUVBQ0MsS2JvQlksUWFiVixPYmFVLFFJbUZJLCtDQUFDLHFEQUNHLHVEQUNOLDZEQUNSLFdKdEZNLFFJdUZOLE1ZdkJtQyxLSHJGM0MseURBQUMsK0VBQUEsaUVBV3lCLHVGQVZ4QixLR29GeUMsS0g3RXZDLE9HNkV1QyxLWm9FOUIsZ0NBckVYLGFKOURZLFFJa0VSLHFDQUFvQiwwQ0FBZix5Q0FDTCxhSm5FUSxRSW9FUixNSnBFUSxRSWtFUCwyQ0FLTSxnREFMRywrQ0FNUixXSnhFTSxxQkl5RU4sTUp6RU0sUWF0QmQsK0NBQUMscUVBQUEsb0RBV3lCLDBFQVgxQixtREFBQyx5RUFDQyxLYnFCWSxRYWRWLE9iY1UsUUlrRkksK0NBQUMscURBQ0csdURBQ04sNkRBQ1IsV0pyRk0sUUlzRk4sTVl2Qm1DLEtIckYzQyx5REFBQywrRUFBQSxpRUFXeUIsdUZBVnhCLEtHb0Z5QyxLSDdFdkMsT0c2RXVDLEtacUVoQyw4QkF0RVQsYUpqRVUsUUlxRU4sbUNBQW9CLHdDQUFmLHVDQUNMLGFKdEVNLFFJdUVOLE1KdkVNLFFJcUVMLHlDQUtNLDhDQUxHLDZDQU1SLFdKM0VJLG9CSTRFSixNSjVFSSxRYW5CWiw2Q0FBQyxtRUFBQSxrREFXeUIsd0VBWDFCLGlEQUFDLHVFQUNDLEtia0JVLFFhWFIsT2JXUSxR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ckIsV0FkZSxPTWRXLHdDTnFCWCxrQkFDZixXQVJlLE9NZHVDLG1FTjJCbEMsdUJBQ3BCLFdBZGUsTUFhTSx3QkFDckIsV0Fkc0IsUUFPTixtQkFOVixhQUNWLFdBRjBCLE9NZCtCLGtFTjJCaEMsd0JBQ3JCLFdBZHNCLFFNZEksd0NOcUJULG9CQUNqQixXQVJzQixRTWRnQyxtRU4yQmhDLHlCQUN0QixXQWRzQixRTWRJLHdDTnFCVixtQkFDaEIsV0FSc0IsT0FPTCxvQkFDakIsV0FSOEIsU0FPYixvQkFOVixjQUNYLFdBRmtDLFFNZHVCLGtFTjJCL0IseUJBQ3RCLFdBZDhCLFNNZEosd0NOcUJSLHFCQUNsQixXQVI4QixTTWR3QixtRU4yQi9CLDBCQUN2QixXQWQ4QixTTWR3QixtRU4yQmhDLHlCQUN0QixXQWQ4QixTQ2pDckIsZ0JEd0RSLGlCQ3hEVyxRQUFhLElBQUUsUUFBUyxNRDJEL0IsWUFDVCxNQUFNLEtBREksYUFDVixNQUFNLE1BREcsWUFDVCxNQUFNIiwiZmlsZSI6ImZvdW5kYXRpb24vZm91bmRhdGlvbi1jb25mLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gIEJMT0NLIExJU1RcbiAgLS0tLS0tLS0tLVxuXG4gIEEgZ2VuZXJpYyBsaXN0IGNvbXBvbmVudCB0aGF0IGNhbiBhY2NvbW9kYXRlIGEgdmFyaWV0eSBvZiBzdHlsZXMgYW5kIGNvbnRyb2xzLlxuXG4gIEZlYXR1cmVzOlxuICAgLSBJY29uc1xuICAgLSBMYWJlbHNcbiAgIC0gQ2hldnJvbnNcbiAgIC0gVGV4dCBmaWVsZHNcbiAgIC0gRHJvcGRvd24gbWVudXNcbiAgIC0gQ2hlY2tib3gvcmFkaW8gaW5wdXRzXG4qL1xuXG4vLy8gQEZvdW5kYXRpb24uc2V0dGluZ3Ncbi8vIEJsb2NrIExpc3RcbiRibG9ja2xpc3QtYmFja2dyb3VuZDogI2ZmZiAhZGVmYXVsdDtcbiRibG9ja2xpc3QtZnVsbGJsZWVkOiB0cnVlICFkZWZhdWx0O1xuJGJsb2NrbGlzdC1mb250c2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuJGJsb2NrbGlzdC1pdGVtLXBhZGRpbmc6IDAuOHJlbSAxcmVtICFkZWZhdWx0O1xuJGJsb2NrbGlzdC1pdGVtLWNvbG9yOiBpc2l0bGlnaHQoJGJsb2NrbGlzdC1iYWNrZ3JvdW5kLCAjMDAwLCAjZmZmKSAhZGVmYXVsdDtcbiRibG9ja2xpc3QtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiBzbWFydHNjYWxlKCRibG9ja2xpc3QtYmFja2dyb3VuZCwgNC41JSkgIWRlZmF1bHQ7XG4kYmxvY2tsaXN0LWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICM5OTkgIWRlZmF1bHQ7XG4kYmxvY2tsaXN0LWl0ZW0tYm9yZGVyOiAxcHggc29saWQgc21hcnRzY2FsZSgkYmxvY2tsaXN0LWJhY2tncm91bmQsIDE4LjUlKSAhZGVmYXVsdDtcblxuJGJsb2NrbGlzdC1pdGVtLWxhYmVsLWNvbG9yOiBzY2FsZS1jb2xvcigkYmxvY2tsaXN0LWl0ZW0tY29sb3IsICRsaWdodG5lc3M6IDYwJSkgIWRlZmF1bHQ7XG4kYmxvY2tsaXN0LWl0ZW0taWNvbi1zaXplOiAwLjggIWRlZmF1bHQ7XG5cbiRibG9ja2xpc3QtaGVhZGVyLWZvbnRzaXplOiAwLjhlbSAhZGVmYXVsdDtcbiRibG9ja2xpc3QtaGVhZGVyLWNvbG9yOiBzbWFydHNjYWxlKCRibG9ja2xpc3QtaXRlbS1jb2xvciwgNDAlKSAhZGVmYXVsdDtcbiRibG9ja2xpc3QtaGVhZGVyLXVwcGVyY2FzZTogdHJ1ZTtcblxuJGJsb2NrbGlzdC1jaGVjay1pY29uczogdHJ1ZSAhZGVmYXVsdDtcbi8vL1xuXG4vKlxuICBBZGRzIHN0eWxlcyBmb3IgYSBibG9jayBsaXN0IGNvbnRhaW5lci5cblxuICAkZm9udC1zaXplOiBnbG9iYWwgZm9udCBzaXplIGZvciB0aGUgbGlzdC5cbiAgJGZ1bGwtYmxlZWQ6IHdoZW4gXCJ0cnVlXCIsIHRoZSBtYXJnaW5zIG9mIHRoZSBsaXN0IGludmVydCB0byBsaW5lIGl0IHVwIHdpdGggdGhlIGVkZ2Ugb2YgYSBwYWRkZWQgZWxlbWVudC5cbiovXG4lYmxvY2stbGlzdC1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgJiwgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgfVxuICB1bCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cbkBtaXhpbiBibG9jay1saXN0LWNvbnRhaW5lcihcbiAgJGZvbnQtc2l6ZTogJGJsb2NrbGlzdC1mb250c2l6ZSxcbiAgJGZ1bGwtYmxlZWQ6ICRibG9ja2xpc3QtZnVsbGJsZWVkXG4pIHtcbiAgQGV4dGVuZCAlYmxvY2stbGlzdC1jb250YWluZXI7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICBAaWYgJGZ1bGwtYmxlZWQge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGdsb2JhbC1wYWRkaW5nO1xuICAgIG1hcmdpbi1yaWdodDogLSRnbG9iYWwtcGFkZGluZztcbiAgfVxufVxuXG4vKlxuICBTdHlsZXMgYmxvY2sgbGlzdCBoZWFkZXJzIG9uIHRoZSBzZWxlY3RvciB5b3UgaW5jbHVkZSB0aGlzIG1peGluIGluIChub3JtYWxseSBhIDxoZWFkZXI+KS5cblxuICAkY29sb3IgLSBjb2xvciBvZiB0aGUgaGVhZGVyLlxuICAkZm9udC1zaXplIC0gZm9udCBzaXplIG9mIHRoZSBoZWFkZXIuXG4gICRvZmZzZXQgLSBsZWZ0IG1hcmdpbiB0byBhZGQgdG8gdGhlIGhlYWRlciwgdG8gbGluZSBpdCB1cCB3aXRoIHRoZSBsaXN0IGl0ZW1zLlxuKi9cbkBtaXhpbiBibG9jay1saXN0LWhlYWRlcihcbiAgJGNvbG9yOiAkYmxvY2tsaXN0LWhlYWRlci1jb2xvcixcbiAgJGZvbnQtc2l6ZTogJGJsb2NrbGlzdC1oZWFkZXItZm9udHNpemUsXG4gICR1cHBlcmNhc2U6ICRibG9ja2xpc3QtaGVhZGVyLXVwcGVyY2FzZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJsb2NrbGlzdC1pdGVtLXBhZGRpbmcsIGxlZnQpXG4pIHtcbiAgbWFyZ2luLXRvcDogMWVtO1xuICBjb2xvcjogJGNvbG9yO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gIG1hcmdpbi1sZWZ0OiAkb2Zmc2V0O1xuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgQGlmICR1cHBlcmNhc2UgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG59XG5cbi8qXG4gIFN0eWxlcyBibG9jayBsaXN0IGl0ZW1zIG9uIHRoZSBzZWxlY3RvciB5b3UgaW5jbHVkZSB0aGlzIG1peGluIGluIChub3JtYWxseSBhbiA8bGk+KS5cblxuICAkY29sb3IgLSBjb2xvciBvZiBpdGVtcy5cbiAgJGNvbG9yLWhvdmVyIC0gY29sb3Igb2YgaXRlbXMgb24gaG92ZXIuXG4gICRiYWNrZ3JvdW5kIC0gYmFja2dyb3VuZCBvZiBpdGVtcy5cbiAgJGJhY2tncm91bmQtaG92ZXIgLSBiYWNrZ3JvdW5kIG9mIGl0ZW1zIG9uIGhvdmVyLlxuICAkYm9yZGVyIC0gYm9yZGVyIGJldHdlZW4gaXRlbXMuXG4gICRwYWRkaW5nIC0gcGFkZGluZyBvbiBpdGVtcy5cbiovXG5AbWl4aW4gYmxvY2stbGlzdC1pdGVtKFxuICAkY29sb3I6ICRibG9ja2xpc3QtaXRlbS1jb2xvcixcbiAgJGNvbG9yLWhvdmVyOiAkYmxvY2tsaXN0LWl0ZW0tY29sb3IsXG4gICRjb2xvci1kaXNhYmxlZDogJGJsb2NrbGlzdC1pdGVtLWNvbG9yLWRpc2FibGVkLFxuICAkYmFja2dyb3VuZDogdHJhbnNwYXJlbnQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYmxvY2tsaXN0LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJvcmRlcjogJGJsb2NrbGlzdC1pdGVtLWJvcmRlcixcbiAgJHBhZGRpbmc6ICRibG9ja2xpc3QtaXRlbS1wYWRkaW5nXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpZiBoYXN2YWx1ZSgkYm9yZGVyKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3A6ICRib3JkZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gSW5uZXIgZWxlbWVudHMgc2hhcmUgdGhlIHNhbWUgYmFzaWMgc3R5bGVzXG4gID4gYSwgPiBzcGFuLCA+IGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBwYWRkaW5nLWxlZnQ6IGdldC1zaWRlKCRwYWRkaW5nLCBsZWZ0KTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG4gID4gc3BhbiB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG4gID4gYSwgPiBsYWJlbCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIH1cbiAgfVxuICA+IGEsID4gbGFiZWwsIHNlbGVjdCB7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICAvLyBDb2xvcmluZyBjbGFzc2VzXG4gICYuY2F1dGlvbiA+IGEge1xuICAgICYsICY6aG92ZXIgeyBjb2xvcjogJGFsZXJ0LWNvbG9yOyB9XG4gIH1cbiAgJi5kaXNhYmxlZCA+IGEge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAmLCAmOmhvdmVyIHsgY29sb3I6ICRjb2xvci1kaXNhYmxlZDsgfVxuICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB9XG59XG5cbi8qXG4gIEFkZHMgbGFiZWwgc3R5bGVzIHRvIHRoZSBjbGFzcyB5b3UgaW5jbHVkZSB0aGlzIG1peGluIGluLlxuXG4gICRjb2xvciAtIGNvbG9yIG9mIHRoZSBsYWJlbC5cbiAgJGxlZnQtY2xhc3MgLSBleHRyYSBjbGFzcyB0byBmbGlwIHRoZSBvcmllbnRhdGlvbiBvZiB0aGUgbGFiZWwuXG4gICRsZWZ0LXBhZGRpbmcgLSBsZWZ0IHBhZGRpbmcgdG8gdXNlIGZvciBsZWZ0LWhhbmQgbGFiZWxzLlxuKi9cbkBtaXhpbiBibG9jay1saXN0LWxhYmVsKFxuICAkY29sb3I6ICRibG9ja2xpc3QtaXRlbS1sYWJlbC1jb2xvcixcbiAgJGxlZnQtY2xhc3M6ICdsZWZ0JyxcbiAgJGxlZnQtcGFkZGluZzogZ2V0LXNpZGUoJGJsb2NrbGlzdC1pdGVtLXBhZGRpbmcsIHRvcClcbikge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiByaWdodDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgJi4jeyRsZWZ0LWNsYXNzfSB7XG4gICAgbWFyZ2luLWxlZnQ6ICRsZWZ0LXBhZGRpbmc7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLypcbiAgQWRkcyBzdXBwb3J0IGZvciBjaGV2cm9ucywgd2hpY2ggYXBwZWFyIG9uIHRoZSByaWdodC1oYW5kIHNpZGUgb2YgdGhlIGl0ZW0uXG5cbiAgJGNvbG9yIC0gY29sb3Igb2YgdGhlIGNoZXZyb24uXG4gICRwYWRkaW5nIC0gaW5jbHVkZSB0aGUgZ2xvYmFsIHBhZGRpbmcgb2YgYmxvY2sgbGlzdCBpdGVtcyBoZXJlLlxuKi9cbkBtaXhpbiBibG9jay1saXN0LWNoZXZyb24oXG4gICRjb2xvcjogJGJsb2NrbGlzdC1oZWFkZXItY29sb3IsXG4gICRwYWRkaW5nOiAkYmxvY2tsaXN0LWl0ZW0tcGFkZGluZyxcbiAgJGxhYmVsLWNsYXNzOiAnYmxvY2stbGlzdC1sYWJlbCdcbikge1xuICAvLyBDaGV2cm9ucyBhcmUgYSBwc2V1ZG8tZWxlbWVudFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJ1xcMjAzQSc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiBnZXQtc2lkZSgkcGFkZGluZywgcmlnaHQpO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICB9XG5cbiAgLy8gTGFiZWxzIG5leHQgdG8gbGlua3MgbW92ZSBvdmVyIHRvIG1ha2Ugcm9vbSBmb3IgdGhlIGNoZXZyb25cbiAgLy8gVE9ETzogdGhpcyBzZWxlY3RvciBuZWVkcyB0byBiZSBjdXN0b21pYWJsZSwgYnV0IGFkZGluZyBhIHNldHRpbmcganVzdCBmb3IgaXQgbWlnaHQgYmUgd2VpcmRcbiAgLiN7JGxhYmVsLWNsYXNzfSB7XG4gICAgcGFkZGluZy1yaWdodDogZ2V0LXNpZGUoJHBhZGRpbmcsIHJpZ2h0KSAqIDEuNTtcbiAgfVxufVxuXG4vKlxuICBBZGRzIGljb24gc3R5bGVzLiBDYWxsIHRoaXMgbWl4aW4gb24gYSBibG9jayBsaXN0IGNvbnRhaW5lci5cblxuICAkc2l6ZSAtIHNpemUgb2YgdGhlIGljb24gYXMgYSBwZXJjZW50YWdlIChkZWNpbWFsKSBvZiB0aGUgbGlzdCBpdGVtJ3MgaGVpZ2h0LlxuICAkaXRlbS1zZWxlY3RvciAtIG92ZXJyaWRlcyB0aGUgJ2xpJyBzZWxlY3RvciB1c2VkIGZvciBsaXN0IGl0ZW1zLlxuKi9cbkBtaXhpbiBibG9jay1saXN0LWljb25zKFxuICAkc2l6ZTogJGJsb2NrbGlzdC1pdGVtLWljb24tc2l6ZSxcbiAgJGl0ZW0tc2VsZWN0b3I6ICdsaSdcbikge1xuICAvLyBQSCAtIG5lZWQgYSBiZXR0ZXIgc29sdXRpb25cbiAgJGl0ZW0taGVpZ2h0OlxuICAgICRibG9ja2xpc3QtZm9udHNpemVcbiAgICArIGdldC1zaWRlKCRibG9ja2xpc3QtaXRlbS1wYWRkaW5nLCB0b3ApXG4gICAgKyBnZXQtc2lkZSgkYmxvY2tsaXN0LWl0ZW0tcGFkZGluZywgdG9wKTtcblxuICAkaWNvbi1oZWlnaHQ6ICRpdGVtLWhlaWdodCAqICRibG9ja2xpc3QtaXRlbS1pY29uLXNpemU7XG4gICRpY29uLW9mZnNldDogKCRpdGVtLWhlaWdodCAtICRpY29uLWhlaWdodCkgLyAyO1xuXG4gICN7JGl0ZW0tc2VsZWN0b3J9IHtcbiAgICA+IGEsID4gc3BhbiwgPiBsYWJlbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IChnZXQtc2lkZSgkYmxvY2tsaXN0LWl0ZW0tcGFkZGluZywgbGVmdCkgKiAyKSArICRibG9ja2xpc3QtaXRlbS1pY29uLXNpemU7XG4gICAgfVxuICAgIGltZywgLmljb25pYyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICRpY29uLW9mZnNldDtcbiAgICAgIGxlZnQ6ICRpY29uLW9mZnNldDtcbiAgICAgIHdpZHRoOiAkaWNvbi1oZWlnaHQ7XG4gICAgICBoZWlnaHQ6ICRpY29uLWhlaWdodDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vKlxuICBBZGRzIHN1cHBvcnQgZm9yIHRleHQgZmllbGRzLCBzZWxlY3QgbWVudXMsIGFuZCBjaGVja2JveC9yYWRpbyBncm91cHMgaW4gYmxvY2sgbGlzdHMuXG5cbiAgJGNvbG9yIC0gY29sb3Igb2Ygc2VsZWN0IG1lbnUgYXJyb3cuXG4gICRiYWNrZ3JvdW5kLWhvdmVyIC0gY29sb3Igb2Ygc2VsZWN0IG1lbnUgd2hlbiBob3ZlcmVkIG92ZXIuXG4gICRwYWRkaW5nIC0gaW5jbHVkZSB0aGUgZ2xvYmFsIHBhZGRpbmcgb2YgYmxvY2sgbGlzdCBpdGVtcyBoZXJlLlxuICAkZHJvcGRvd24tY2xhc3MgLSBjbGFzcyB0byB1c2UgZm9yIGxpc3QgaXRlbXMgdGhhdCBjb250YWluIGEgZHJvcGRvd24uXG4gICRzd2l0Y2gtY2xhc3MgLSBjbGFzcyB0byB1c2UgZm9yIHN3aXRjaGVzIGluc2lkZSBsaXN0IGl0ZW1zLlxuKi9cbkBtaXhpbiBibG9jay1saXN0LWlucHV0cyhcbiAgJGNvbG9yOiAkYmxvY2tsaXN0LWl0ZW0tY29sb3IsXG4gICRiYWNrZ3JvdW5kOiAkYmxvY2tsaXN0LWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYmxvY2tsaXN0LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJHBhZGRpbmc6ICRibG9ja2xpc3QtaXRlbS1wYWRkaW5nLFxuICAkaWNvbnM6ICRibG9ja2xpc3QtY2hlY2staWNvbnMsXG4gICRkcm9wZG93bi1jbGFzczogJ3dpdGgtZHJvcGRvd24nLFxuICAkc3dpdGNoLWNsYXNzOiAnc3dpdGNoJ1xuKSB7XG4gIC8vIFRleHQgZmllbGRzXG4gICN7JHRleHQtaW5wdXQtc2VsZWN0b3JzfSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBNdWx0aXBsZSBzZWxlY3RcbiAgbGkgPiBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sIGxpID4gaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTk5OTlweDtcblxuICAgICYgKyBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogJGJsb2NrbGlzdC1mb250c2l6ZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBAaWYgJGljb25zID09IHRydWUge1xuICAgICAgJjpjaGVja2VkICsgbGFiZWwge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIGltYWdlLWNoZWNrbWFyaygkY29sb3IpO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAxLjVlbTtcbiAgICAgICAgICBoZWlnaHQ6IDEuNWVtO1xuICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTAuMjVlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIERyb3Bkb3duc1xuICAuI3skZHJvcGRvd24tY2xhc3N9IHtcbiAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgIHNlbGVjdCB7XG4gICAgICAvLyBSZXNldCBwZXNreSA8c2VsZWN0PiBzdHlsZXNcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXNpemU6IDFlbTsgLy8gU2FtZSBzaXplIGFzIGl0cyBwYXJlbnRcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAvLyBTd2l0Y2hlc1xuICAuI3skc3dpdGNoLWNsYXNzfSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiBnZXQtc2lkZSgkcGFkZGluZywgcmlnaHQpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKGJsb2NrLWxpc3QpIHtcbiAgLmJsb2NrLWxpc3Qge1xuICAgIEBpbmNsdWRlIGJsb2NrLWxpc3QtY29udGFpbmVyO1xuICAgIEBpbmNsdWRlIGJsb2NrLWxpc3QtaW5wdXRzO1xuXG4gICAgJi53aXRoLWljb25zIHsgQGluY2x1ZGUgYmxvY2stbGlzdC1pY29uczsgfVxuICAgIGhlYWRlciAgICAgICB7IEBpbmNsdWRlIGJsb2NrLWxpc3QtaGVhZGVyOyB9XG5cbiAgICBsaSB7XG4gICAgICBAaW5jbHVkZSBibG9jay1saXN0LWl0ZW07XG5cbiAgICAgICYud2l0aC1jaGV2cm9uICAgIHsgQGluY2x1ZGUgYmxvY2stbGlzdC1jaGV2cm9uOyB9XG4gICAgICAuYmxvY2stbGlzdC1sYWJlbCB7IEBpbmNsdWRlIGJsb2NrLWxpc3QtbGFiZWw7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qISBub3JtYWxpemUuY3NzIHYzLjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0LmlvL25vcm1hbGl6ZSAqL1xuXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExIGFuZCBGaXJlZm94LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gIG1hcmdpbjogMDsgLyogMyAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICpcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICovXG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufSIsIi8qXG4gIEdMT0JBTFxuICAtLS0tLS1cblxuICBHbG9iYWwgc3R5bGVzIGFuZCBzZXR0aW5ncyBmb3IgRm91bmRhdGlvbiBmb3IgQXBwcyBhcmUgc3RvcmVkIGhlcmUuIFRoaXMgZmlsZSBtdXN0IGFsd2F5c1xuICBiZSBpbXBvcnRlZCwgbm8gbWF0dGVyIHdoYXQuXG5cbiAgSW5jbHVkZXM6XG4gICAtXG4qL1xuXG4vLy8gQEZvdW5kYXRpb24uc2V0dGluZ3Ncbi8vIEdsb2JhbCBTdHlsZXNcbi8vIFRoaXMgc2V0cyAxcmVtIHRvIGJlIDE2cHhcbiRyZW0tYmFzZTogMTZweDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udC1zaXplIGlzIHNldCB0byAxMDAlIG9mIHRoZSBicm93c2VyIHN0eWxlIHNoZWV0ICh1c3VhbGx5IDE2cHgpXG4vLyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIGJyb3dzZXItYmFzZWQgdGV4dCB6b29tIG9yIHVzZXItc2V0IGRlZmF1bHRzLlxuXG4vLyBTaW5jZSB0aGUgdHlwaWNhbCBkZWZhdWx0IGJyb3dzZXIgZm9udC1zaXplIGlzIDE2cHgsIHRoYXQgbWFrZXMgdGhlIGNhbGN1bGF0aW9uIGZvciBncmlkIHNpemUuXG4vLyBJZiB5b3Ugd2FudCB5b3VyIGJhc2UgZm9udC1zaXplIHRvIGJlIGRpZmZlcmVudCBhbmQgbm90IGhhdmUgaXQgYWZmZWN0IHRoZSBncmlkIGJyZWFrcG9pbnRzLFxuLy8gc2V0ICRyZW0tYmFzZSB0byAkYmFzZS1mb250LXNpemUgYW5kIG1ha2Ugc3VyZSAkYmFzZS1mb250LXNpemUgaXMgYSBweCB2YWx1ZS5cbiRiYXNlLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8gJGJhc2UtbGluZS1oZWlnaHQgaXMgMjRweCB3aGlsZSAkYmFzZS1mb250LXNpemUgaXMgMTZweFxuJGJhc2UtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8gVGV4dCBzZWxlY3RvciBoZWxwZXJzXG4kaGVhZGVyczogXCJoMSxoMixoMyxoNCxoNSxoNlwiO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gZGVmaW5lIGRlZmF1bHQgZm9udCB3ZWlnaHRzXG4kZm9udC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmFyaW91cyBnbG9iYWwgc3R5bGVzXG4kYm9keS1iYWNrZ3JvdW5kOiAjZmZmICFkZWZhdWx0O1xuJGJvZHktZm9udC1jb2xvcjogIzIyMiAhZGVmYXVsdDtcbiRib2R5LWZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kYm9keS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRib2R5LWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuXG4vLyBBcHBsaWNhdGlvbiBDb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiAjMDA1NThiICFkZWZhdWx0O1xuJHNlY29uZGFyeS1jb2xvcjogI2YxZjFmMSAhZGVmYXVsdDtcbiRhbGVydC1jb2xvcjogI0YwNDEyNCAhZGVmYXVsdDtcbiRpbmZvLWNvbG9yOiAjQTBEM0U4ICFkZWZhdWx0O1xuJHN1Y2Nlc3MtY29sb3I6ICM0M0FDNkEgIWRlZmF1bHQ7XG4kd2FybmluZy1jb2xvcjogI0YwOEEyNCAhZGVmYXVsdDtcbiRkYXJrLWNvbG9yOiAjMjMyMzIzICFkZWZhdWx0O1xuJGdyYXk6ICNkZmRmZGYgIWRlZmF1bHQ7XG4kZ3JheS1kYXJrOiBkYXJrZW4oJGdyYXksIDgpICFkZWZhdWx0O1xuJGdyYXktbGlnaHQ6IGxpZ2h0ZW4oJGdyYXksIDgpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gbWFrZSBzdXJlIGJvcmRlciByYWRpdXMgbWF0Y2hlcyB1bmxlc3Mgd2Ugd2FudCBpdCBkaWZmZXJlbnQuXG4kZ2xvYmFsLXJhZGl1czogNHB4ICFkZWZhdWx0O1xuJGdsb2JhbC1yb3VuZGVkOiAxMDAwcHggIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIGZvciBkZWZhdWx0IHNwYWNpbmdcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcbiRnbG9iYWwtc3BhY2luZzogcmVtLWNhbGMoMTUpICFkZWZhdWx0O1xuLy8vXG5cbi8vIEZvciBpbnRlcm5hbCB1c2U6IGEgY29sb3IgbWFwXG4kZm91bmRhdGlvbi1jb2xvcnM6IChcbiAgcHJpbWFyeTogJHByaW1hcnktY29sb3IsXG4gIHN1Y2Nlc3M6ICRzdWNjZXNzLWNvbG9yLFxuICB3YXJuaW5nOiAkd2FybmluZy1jb2xvcixcbiAgYWxlcnQ6ICRhbGVydC1jb2xvcixcbiAgZGFyazogJGRhcmstY29sb3IsXG4pO1xuXG5AaW5jbHVkZSBleHBvcnRzKGdsb2JhbCkge1xuICAvLyBNYWtlIGV4dHJhIHN1cmUgd2UncmUgdXNpbmcgdGhlIHdob2xlIHdpbmRvd1xuICBodG1sLCBib2R5IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gIH1cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuICAqLCAqOmJlZm9yZSwgKjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRib2R5LWZvbnQtd2VpZ2h0O1xuICAgIGZvbnQtc3R5bGU6ICRib2R5LWZvbnQtc3R5bGU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGlmICRib2R5LWFudGlhbGlhc2VkIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdyaWQgRGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG5cbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAvLyBHaXZlIGFsbCBhbmNob3JzIGFuZCBpbnRlcmFjdGl2ZSBkaXJlY3RpdmVzIHRoZSBob3ZlciBjdXNvclxuICBhLCBbdWktc3JlZl0sIFt6Zi1vcGVuXSwgW3pmLWNsb3NlXSwgW3pmLXRvZ2dsZV0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICNtYXBfY2FudmFzLFxuICAubWFwX2NhbnZhcyB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7IG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIH1cblxuICAucGFkZGluZyB7XG4gICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuICB9XG59XG4iLCIvKlxuICBBQ1RJT04gU0hFRVRcbiAgLS0tLS0tLS0tLS0tXG5cbiAgQSBkcm9wZG93biBtZW51IHRoYXQgc3RpY2tzIHRvIHRoZSBib3R0b20gb2YgdGhlIHNjcmVlbiBvbiBzbWFsbCBkZXZpY2VzLCBhbmQgYmVjb21lcyBhIGRyb3Bkb3duIG1lbnUgb24gbGFyZ2VyIGRldmljZXMuXG4qL1xuXG4vLy8gQEZvdW5kYXRpb24uc2V0dGluZ3Ncbi8vIEFjdGlvbiBTaGVldFxuJGFjdGlvbnNoZWV0LWJhY2tncm91bmQ6IHdoaXRlICFkZWZhdWx0O1xuJGFjdGlvbnNoZWV0LWJvcmRlci1jb2xvcjogI2NjYyAhZGVmYXVsdDtcbiRhY3Rpb25zaGVldC1hbmltYXRlOiB0cmFuc2Zvcm0gb3BhY2l0eSAhZGVmYXVsdDtcbiRhY3Rpb25zaGVldC1hbmltYXRpb24tc3BlZWQ6IDAuMjVzICFkZWZhdWx0O1xuJGFjdGlvbnNoZWV0LXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcbiRhY3Rpb25zaGVldC1yYWRpdXM6IDRweCAhZGVmYXVsdDtcbiRhY3Rpb25zaGVldC1zaGFkb3c6IDAgLTNweCAxMHB4IHJnYmEoYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuJGFjdGlvbnNoZWV0LXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcbiRhY3Rpb25zaGVldC10YWlsLXNpemU6IDEwcHggIWRlZmF1bHQ7XG5cbiRhY3Rpb25zaGVldC1wb3B1cC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4kYWN0aW9uc2hlZXQtbGluay1jb2xvcjogIzAwMCAhZGVmYXVsdDtcbiRhY3Rpb25zaGVldC1saW5rLWJhY2tncm91bmQtaG92ZXI6IHNtYXJ0c2NhbGUoJGFjdGlvbnNoZWV0LWJhY2tncm91bmQpICFkZWZhdWx0O1xuLy8vXG5cbi8qXG4gIFN0eWxlcyBmb3IgdGhlIGxpc3QgaW5zaWRlIGFuIGFjdGlvbiBzaGVldC5cbiAgRG9uJ3QgaW5jbHVkZSB0aGlzIG1peGluIGlmIHlvdSB3YW50IHRvIGJ1aWxkIGN1c3RvbSBjb250cm9scyBpbnNpZGUgdGhlIHNoZWV0LlxuKi9cbkBtaXhpbiBhY3Rpb24tc2hlZXQtbWVudShcbiAgJHBhZGRpbmc6ICRhY3Rpb25zaGVldC1wYWRkaW5nLFxuICAkY29sb3I6ICRhY3Rpb25zaGVldC1saW5rLWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkYWN0aW9uc2hlZXQtYm9yZGVyLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjdGlvbnNoZWV0LWxpbmstYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIC8vIE1lbnUgY29udGFpbmVyXG4gIHVsIHtcbiAgICBtYXJnaW46IC0oJHBhZGRpbmcpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgLy8gSWYgdGhlIG1lbnUgaGFzIG5vIGNvbnRlbnQgYWJvdmUgaXRcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IC0kcGFkZGluZztcblxuICAgICAgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1lbnUgbGlua3NcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogJHBhZGRpbmcgKiAwLjg7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hbGVydCA+IGEge1xuICAgICAgY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgICB9XG4gICAgLmRpc2FibGVkID4gYSB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGNvbG9yOiAjOTk5O1xuICAgIH1cbiAgfVxufVxuXG4vKlxuICBTdHlsZXMgZm9yIHRoZSBhY3Rpb24gc2hlZXQgY29udGFpbmVyLiBBY3Rpb24gc2hlZXRzIHBpbiB0byB0aGUgdG9wIG9yIGJvdHRvbSBvZiB0aGUgc2NyZWVuLlxuKi9cbkBtaXhpbiBhY3Rpb24tc2hlZXQoXG4gICRwb3NpdGlvbjogYm90dG9tLFxuICAkc2hhZG93OiAkYWN0aW9uc2hlZXQtc2hhZG93LFxuICAkYW5pbWF0ZTogJGFjdGlvbnNoZWV0LWFuaW1hdGUsXG4gICRhbmltYXRpb24tc3BlZWQ6ICRhY3Rpb25zaGVldC1hbmltYXRpb24tc3BlZWQsXG4gICRwYWRkaW5nOiAkYWN0aW9uc2hlZXQtcGFkZGluZyxcbiAgJGJhY2tncm91bmQ6ICRhY3Rpb25zaGVldC1iYWNrZ3JvdW5kXG4pIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6ICRhbmltYXRlO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLXNwZWVkO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG5cbiAgQGlmIGhhc3ZhbHVlKCRzaGFkb3cpIHtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuICB9XG5cbiAgLy8gUG9zaXRpb25zXG4gIEBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICB9XG4gIH1cbiAgLy8gVGhlc2UgdHdvIGRvbid0IHF1aXRlIHdvcmsgYXMgcGxhbm5lZCB5ZXRcbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gcG9wdXAtbWVudShcbiAgJHBvc2l0aW9uOiBib3R0b20sXG4gICRiYWNrZ3JvdW5kOiAkYWN0aW9uc2hlZXQtYmFja2dyb3VuZCxcbiAgJHdpZHRoOiAkYWN0aW9uc2hlZXQtd2lkdGgsXG4gICRyYWRpdXM6ICRhY3Rpb25zaGVldC1yYWRpdXMsXG4gICRzaGFkb3c6ICRhY3Rpb25zaGVldC1wb3B1cC1zaGFkb3csXG4gICR0YWlsLXNpemU6ICRhY3Rpb25zaGVldC10YWlsLXNpemVcbikge1xuICAvKlxuICAgIENvcmUgc3R5bGVzXG4gICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogJHdpZHRoO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAvKlxuICAgIE1lbnUgc2hhZG93XG4gICovXG4gIEBpZiBoYXN2YWx1ZSgkc2hhZG93KSB7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcbiAgfVxuXG4gIC8qXG4gICAgQWN0aXZlIHN0YXRlXG4gICovXG4gICYuaXMtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB9XG5cbiAgLypcbiAgICBNZW51IHRhaWxcbiAgKi9cbiAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMHB4O1xuICAgIGhlaWdodDogMHB4O1xuICAgIGJvcmRlci1sZWZ0OiAkdGFpbC1zaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogJHRhaWwtc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBtYXJnaW4tbGVmdDogLSgkdGFpbC1zaXplKTtcbiAgfVxuXG4gIC8qXG4gICAgUG9zaXRpb25pbmdcbiAgKi9cbiAgQGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMTEwJSk7XG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICB0b3A6IC0oJHRhaWwtc2l6ZSk7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHRhaWwtc2l6ZSBzb2xpZCAkYmFja2dyb3VuZDtcbiAgICB9XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogLSgkdGFpbC1zaXplICsgMik7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKGJsYWNrLCAwLjE1KTtcbiAgICB9XG5cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC0xMjAlKTtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtMTEwJSk7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBib3R0b206IC0oJHRhaWwtc2l6ZSk7XG4gICAgICBib3JkZXItdG9wOiAkdGFpbC1zaXplIHNvbGlkICRiYWNrZ3JvdW5kO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogLSgkdGFpbC1zaXplICsgMik7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKGJsYWNrLCAwLjE1KTtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhhY3Rpb24tc2hlZXQpIHtcbiAgLmFjdGlvbi1zaGVldC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuICAuYWN0aW9uLXNoZWV0IHtcbiAgICBAaW5jbHVkZSBhY3Rpb24tc2hlZXQ7XG4gICAgQGluY2x1ZGUgYWN0aW9uLXNoZWV0LW1lbnU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgcG9wdXAtbWVudTtcblxuICAgICAgJi50b3Age1xuICAgICAgICBAaW5jbHVkZSBwb3B1cC1tZW51KHRvcCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5wcmltYXJ5IHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgY29sb3I6IGlzaXRsaWdodCgkcHJpbWFyeS1jb2xvcik7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICAmOjpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHsgYm9yZGVyLXRvcC1jb2xvcjogJHByaW1hcnktY29sb3I7IH1cbiAgICAgICYudG9wOjpiZWZvcmUsICYudG9wOjphZnRlciB7IGJvcmRlci1ib3R0b20tY29sb3I6ICRwcmltYXJ5LWNvbG9yOyB9XG5cbiAgICAgIEBpbmNsdWRlIGFjdGlvbi1zaGVldC1tZW51KFxuICAgICAgICAkY29sb3I6IGlzaXRsaWdodCgkcHJpbWFyeS1jb2xvciksXG4gICAgICAgICRib3JkZXItY29sb3I6IHNtYXJ0c2NhbGUoJHByaW1hcnktY29sb3IsIDEwJSksXG4gICAgICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzbWFydHNjYWxlKCRwcmltYXJ5LWNvbG9yKVxuICAgICAgKTtcbiAgICB9XG4gICAgJi5kYXJrIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkYXJrLWNvbG9yO1xuICAgICAgY29sb3I6IGlzaXRsaWdodCgkZGFyay1jb2xvcik7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICAmOjpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHsgYm9yZGVyLXRvcC1jb2xvcjogJGRhcmstY29sb3I7IH1cbiAgICAgICYudG9wOjpiZWZvcmUsICYudG9wOjphZnRlciB7IGJvcmRlci1ib3R0b20tY29sb3I6ICRkYXJrLWNvbG9yOyB9XG5cbiAgICAgIEBpbmNsdWRlIGFjdGlvbi1zaGVldC1tZW51KFxuICAgICAgICAkY29sb3I6IGlzaXRsaWdodCgkZGFyay1jb2xvciksXG4gICAgICAgICRib3JkZXItY29sb3I6IHNtYXJ0c2NhbGUoJGRhcmstY29sb3IsIDEwJSksXG4gICAgICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzbWFydHNjYWxlKCRkYXJrLWNvbG9yKVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qXG4gIEZPUk1TXG4gIC0tLS0tXG5cbiAgT3VyIGZvcm0gc3R5bGVzIGluY2x1ZGUgYmFzaWMgcmVzZXRzIGZvciB0ZXh0IGZpZWxkcywgc2VsZWN0IG1lbnVzLCBhbmQgc28gb24sIGFsb25nIHdpdGggc29tZSBvZiBvdXIgb3duIGN1c3RvbSBjb21wb25lbnRzLlxuXG4gIEluY2x1ZGVzOlxuICAgLSBUZXh0IGZpZWxkc1xuICAgLSBUZXh0IGFyZWFzXG4gICAtIFNlbGVjdCBtZW51c1xuICAgLSBDaGVja2JveGVzIGFuZCByYWRpbyBidXR0b25zXG4gICAtIFJhbmdlIHNsaWRlclxuICAgLSBQcm9ncmVzcyBiYXJzIGFuZCBtZXRlcnNcbiovXG5cbi8vLyBARm91bmRhdGlvbi5zZXR0aW5nc1xuLy8gRm9ybXNcbi8vIEJhc2ljIGZvcm0gdmFyaWFibGVzXG4kZm9ybS1mb250c2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRmb3JtLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8gVGV4dCBmaWVsZHNcbiRpbnB1dC1jb2xvcjogIzAwMCAhZGVmYXVsdDtcbiRpbnB1dC1jb2xvci1ob3ZlcjogJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWNvbG9yLWZvY3VzOiAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtYmFja2dyb3VuZDogI2ZmZiAhZGVmYXVsdDtcbiRpbnB1dC1iYWNrZ3JvdW5kLWhvdmVyOiAkaW5wdXQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkaW5wdXQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiBzbWFydHNjYWxlKCRpbnB1dC1iYWNrZ3JvdW5kKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAjY2NjICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1ob3ZlcjogMXB4IHNvbGlkICNiYmIgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgIzk5OSAhZGVmYXVsdDtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLyBTZWxlY3QgbWVudXNcbiRzZWxlY3QtY29sb3I6ICMwMDAgIWRlZmF1bHQ7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICNmYWZhZmEgIWRlZmF1bHQ7XG4kc2VsZWN0LWJhY2tncm91bmQtaG92ZXI6IHNtYXJ0c2NhbGUoJHNlbGVjdC1iYWNrZ3JvdW5kLCA0JSkgIWRlZmF1bHQ7XG4kc2VsZWN0LWFycm93OiB0cnVlICFkZWZhdWx0O1xuJHNlbGVjdC1hcnJvdy1jb2xvcjogJHNlbGVjdC1jb2xvciAhZGVmYXVsdDtcblxuLy8gTGFiZWxzXG4kZm9ybS1sYWJlbC1mb250c2l6ZTogMC45cmVtICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtbWFyZ2luOiAwLjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1jb2xvcjogIzMzMyAhZGVmYXVsdDtcblxuLy8gSW5saW5lIGxhYmVsc1xuJGlubGluZWxhYmVsLWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuJGlubGluZWxhYmVsLWJhY2tncm91bmQ6ICNlZWUgIWRlZmF1bHQ7XG4kaW5saW5lbGFiZWwtYm9yZGVyOiAkaW5wdXQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLyBSYW5nZSBzbGlkZXJcbiRzbGlkZXItYmFja2dyb3VuZDogI2RkZCAhZGVmYXVsdDtcbiRzbGlkZXItaGVpZ2h0OiAxcmVtICFkZWZhdWx0O1xuJHNsaWRlci1yYWRpdXM6IDBweCAhZGVmYXVsdDtcbiRzbGlkZXItdGh1bWItaGVpZ2h0OiAxLjVyZW0gIWRlZmF1bHQ7XG4kc2xpZGVyLXRodW1iLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRzbGlkZXItdGh1bWItcmFkaXVzOiAwcHggIWRlZmF1bHQ7XG5cbi8vIFByb2dyZXNzIGFuZCBtZXRlclxuJG1ldGVyLWhlaWdodDogMS41cmVtICFkZWZhdWx0O1xuJG1ldGVyLWJhY2tncm91bmQ6ICNjY2MgIWRlZmF1bHQ7XG4kbWV0ZXItZmlsbDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kbWV0ZXItZmlsbC1oaWdoOiAkc3VjY2Vzcy1jb2xvciAhZGVmYXVsdDtcbiRtZXRlci1maWxsLW1lZGl1bTogI2U3Y2YwMCAhZGVmYXVsdDtcbiRtZXRlci1maWxsLWxvdzogJGFsZXJ0LWNvbG9yICFkZWZhdWx0O1xuJG1ldGVyLXJhZGl1czogMCAhZGVmYXVsdDtcbi8vL1xuXG4vLyBEaXNhYmxlIE9TLWxldmVsIHN0eWxlc1xuQG1peGluIG5vLWFwcGVhcmFuY2Uge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy8gVGV4dCBmaWVsZHNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbiN7JHRleHQtaW5wdXQtc2VsZWN0b3JzfSB7XG4gICR0b3AtcGFkZGluZzogZ2V0LXNpZGUoJGZvcm0tcGFkZGluZywgdG9wKTtcbiAgJGJvdHRvbS1wYWRkaW5nOiBnZXQtc2lkZSgkZm9ybS1wYWRkaW5nLCBib3R0b20pO1xuICAkaGVpZ2h0OiAoJGZvcm0tZm9udHNpemUgKiAxLjQpICsgJHRvcC1wYWRkaW5nICsgJGJvdHRvbS1wYWRkaW5nO1xuXG4gIEBpbmNsdWRlIG5vLWFwcGVhcmFuY2U7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBwYWRkaW5nOiAkZm9ybS1wYWRkaW5nO1xuICBtYXJnaW46IDAgMCAkZ2xvYmFsLXBhZGRpbmcgMDtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgZm9udC1zaXplOiAkZm9ybS1mb250c2l6ZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgJjpob3ZlciB7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWhvdmVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkaW5wdXQtY29sb3ItaG92ZXI7XG4gIH1cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgY29sb3I6ICRpbnB1dC1jb2xvci1mb2N1cztcbiAgfVxuXG4gIGxhYmVsID4gJiB7XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tbGFiZWwtbWFyZ2luO1xuICB9XG59XG5cbi8vIE92ZXJyaWRlIHRoZSBjb250ZW50LWJveCBkZWNsYXJhdGlvbiBzZXQgYnkgTm9ybWFsaXplXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLy8gRGlzYWJsZWQgc3RhdGVcbmlucHV0IHtcbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0sXG4gICZbcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuXG4gICAgJiwgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTGFiZWxzXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnRzaXplO1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1sYWJlbC1tYXJnaW47XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcblxuICA+IGlucHV0LCA+IHRleHRhcmVhIHtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1sYWJlbC1tYXJnaW47XG4gIH1cbn1cblxuLy8gQ2hlY2tib3gvcmFkaW8gYnV0dG9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLCBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAxcmVtO1xuXG4gIC8vIElucHV0IGluc2lkZSBvZiBhIGxhYmVsXG4gIGxhYmVsID4gJiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1wYWRkaW5nICogMC41O1xuICB9XG5cbiAgLy8gSW5wdXQgbmV4dCB0byBhIGxhYmVsXG4gICYgKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAkZm9ybS1wYWRkaW5nO1xuICAgIG1hcmdpbi1yaWdodDogJGZvcm0tcGFkZGluZyAqIDI7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cbn1cblxuLy8gSW5saW5lIGxhYmVsc1xuLy8gSW5saW5lIGxhYmVscyBhbGxvdyB5b3UgdG8gcHJlZml4IG9yIHBvc3RmaXggc3BlY2lhbCBsYWJlbHMgdG8gaW5wdXRzXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4uaW5saW5lLWxhYmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1wYWRkaW5nO1xuXG4gIC8vIEltaXRhdGVzIHRoZSB0b3AgbWFyZ2luIG9uIG5vcm1hbCBpbnB1dHNcbiAgbGFiZWwgPiAmIHtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1sYWJlbC1tYXJnaW47XG4gIH1cblxuICAvLyBJbnB1dHMgc3RyZXRjaCBhbGwgdGhlIHdheSBvdXRcbiAgPiBpbnB1dCwgPiBzZWxlY3Qge1xuICAgIGZsZXg6IDE7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gSW5saW5lIGxhYmVscyBhbmQgYnV0dG9ucyBzaHJpbmtcbiAgPiAuZm9ybS1sYWJlbCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgYmFja2dyb3VuZDogJGlubGluZWxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRpbmxpbmVsYWJlbC1jb2xvcjtcbiAgICBib3JkZXI6ICRpbmxpbmVsYWJlbC1ib3JkZXI7XG4gICAgcGFkZGluZzogMCAkZm9ybS1wYWRkaW5nO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICY6Zmlyc3QtY2hpbGQgeyBib3JkZXItcmlnaHQ6IDA7IH1cbiAgICAmOmxhc3QtY2hpbGQgIHsgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgfVxuICAvLyBCdXR0b25zIGFsc28gc2hyaW5rXG4gID4gYSxcbiAgPiBidXR0b24sXG4gID4gaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbiAgPiBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cblxuLy8gVGV4dCBhcmVhc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xufVxuXG4vLyBTZWxlY3QgbWVudXNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbnNlbGVjdCB7XG4gICR0b3AtcGFkZGluZzogZ2V0LXNpZGUoJGZvcm0tcGFkZGluZywgdG9wKTtcbiAgJGJvdHRvbS1wYWRkaW5nOiBnZXQtc2lkZSgkZm9ybS1wYWRkaW5nLCBib3R0b20pO1xuICAkaGVpZ2h0OiAoJGZvcm0tZm9udHNpemUgKiAxLjQpICsgJHRvcC1wYWRkaW5nICsgJGJvdHRvbS1wYWRkaW5nO1xuICAkY29sb3I6IGlzaXRsaWdodCgkc2VsZWN0LWJhY2tncm91bmQpO1xuXG4gIEBpbmNsdWRlIG5vLWFwcGVhcmFuY2U7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBwYWRkaW5nOiAkZm9ybS1wYWRkaW5nO1xuICBtYXJnaW46IDAgMCAkZ2xvYmFsLXBhZGRpbmcgMDtcbiAgZm9udC1zaXplOiAkZm9ybS1mb250c2l6ZTtcbiAgY29sb3I6ICRzZWxlY3QtY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcblxuICBAaWYgJHNlbGVjdC1hcnJvdyB7XG4gICAgYmFja2dyb3VuZDogJHNlbGVjdC1iYWNrZ3JvdW5kIHVybChpbWFnZS10cmlhbmdsZSgkc2VsZWN0LWFycm93LWNvbG9yKSkgcmlnaHQgMTBweCBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOHB4IDhweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxOHB4KSArICRmb3JtLXBhZGRpbmc7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZFxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgZHJvcGRvd24gYXJyb3cgYWRkZWQgaW4gSUUxMC8xMVxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIFJhbmdlIHNsaWRlclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuaW5wdXRbdHlwZT1cInJhbmdlXCJdIHtcbiAgJG1hcmdpbjogKCRzbGlkZXItdGh1bWItaGVpZ2h0IC0gJHNsaWRlci1oZWlnaHQpIC8gMjtcblxuICBAaW5jbHVkZSBuby1hcHBlYXJhbmNlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW4tdG9wOiAkbWFyZ2luO1xuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luO1xuICBib3JkZXI6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuXG4gIEBpZiBoYXN2YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIC8vIENocm9tZS9TYWZhcmlcbiAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICB9XG4gICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogJHNsaWRlci10aHVtYi1jb2xvcjtcbiAgICB3aWR0aDogJHNsaWRlci10aHVtYi1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkc2xpZGVyLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAtJG1hcmdpbjtcbiAgICBAaWYgaGFzdmFsdWUoJHNsaWRlci10aHVtYi1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItdGh1bWItcmFkaXVzO1xuICAgIH1cbiAgfVxuICAvLyBGaXJlZm94XG4gICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gIH1cbiAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICRzbGlkZXItdGh1bWItY29sb3I7XG4gICAgd2lkdGg6ICRzbGlkZXItdGh1bWItaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci10aHVtYi1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogLSRtYXJnaW47XG4gICAgQGlmIGhhc3ZhbHVlKCRzbGlkZXItdGh1bWItcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXRodW1iLXJhZGl1cztcbiAgICB9XG4gIH1cbiAgLy8gSW50ZXJuZXQgRXhwbG9yZXJcbiAgJjo6LW1zLXRyYWNrIHtcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGJvcmRlci10b3A6ICRtYXJnaW4gc29saWQgJGJvZHktYmFja2dyb3VuZDtcbiAgICBib3JkZXItYm90dG9tOiAkbWFyZ2luIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gIH1cbiAgJjo6LW1zLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLXRodW1iLWNvbG9yO1xuICAgIHdpZHRoOiAkc2xpZGVyLXRodW1iLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRzbGlkZXItdGh1bWItaGVpZ2h0O1xuICAgIGJvcmRlcjogMDtcbiAgICBAaWYgaGFzdmFsdWUoJHNsaWRlci10aHVtYi1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItdGh1bWItcmFkaXVzO1xuICAgIH1cbiAgfVxuICAmOjotbXMtZmlsbC1sb3dlciwgJjo6LW1zLWZpbGwtdXBwZXIge1xuICAgIGJhY2tncm91bmQ6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgfVxufVxub3V0cHV0IHtcbiAgbGluZS1oZWlnaHQ6ICRzbGlkZXItdGh1bWItaGVpZ2h0O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG59XG5cbi8vIE51bWJlciBpbnB1dHNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbmlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcblxuICB9XG4gICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgfVxufVxuXG4vLyBQcm9ncmVzcyBhbmQgbWV0ZXJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbnByb2dyZXNzLCBtZXRlciB7XG4gIEBpbmNsdWRlIG5vLWFwcGVhcmFuY2U7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkbWV0ZXItaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gIEBpZiBoYXN2YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgfVxuXG4gIC8vIEZvciBGaXJlZm94XG4gIGJhY2tncm91bmQ6ICRtZXRlci1iYWNrZ3JvdW5kO1xuICBib3JkZXI6IDA7XG59XG5cbnByb2dyZXNzIHtcbiAgJjo6LXdlYmtpdC1wcm9ncmVzcy1iYXIge1xuICAgIGJhY2tncm91bmQ6ICRtZXRlci1iYWNrZ3JvdW5kO1xuICAgIEBpZiBoYXN2YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgIH1cbiAgfVxuICAmOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItZmlsbDtcbiAgICBAaWYgaGFzdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICB9XG4gIH1cbiAgJjo6LW1vei1wcm9ncmVzcy1iYXIge1xuICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsO1xuICAgIEBpZiBoYXN2YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gKGhpZ2g6ICRtZXRlci1maWxsLWhpZ2gsIG1lZGl1bTogJG1ldGVyLWZpbGwtbWVkaXVtLCBsb3c6ICRtZXRlci1maWxsLWxvdykge1xuICAgICYuI3skbmFtZX0ge1xuICAgICAgJjo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgIH1cbiAgICAgICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxubWV0ZXIge1xuICAvLyBDaHJvbWUvU2FmYXJpXG4gICY6Oi13ZWJraXQtbWV0ZXItYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItYmFja2dyb3VuZDtcbiAgICBAaWYgaGFzdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICB9XG4gIH1cbiAgJjo6LXdlYmtpdC1tZXRlci1pbm5lci1lbGVtZW50IHtcbiAgICBAaWYgaGFzdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICB9XG4gIH1cbiAgJjo6LXdlYmtpdC1tZXRlci1vcHRpbXVtLXZhbHVlIHtcbiAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItZmlsbC1oaWdoO1xuICAgIEBpZiBoYXN2YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgIH1cbiAgfVxuICAmOjotd2Via2l0LW1ldGVyLXN1Ym9wdGltdW0tdmFsdWUge1xuICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLW1lZGl1bTtcbiAgICBAaWYgaGFzdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICB9XG4gIH1cbiAgJjo6LXdlYmtpdC1tZXRlci1ldmVuLWxlc3MtZ29vZC12YWx1ZSB7XG4gICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtbG93O1xuICAgIEBpZiBoYXN2YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZpcmVmb3hcbiAgYmFja2dyb3VuZDogJG1ldGVyLWJhY2tncm91bmQ7XG4gICY6Oi1tb3otbWV0ZXItYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBAaWYgaGFzdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICB9XG4gIH1cbiAgJjotbW96LW1ldGVyLW9wdGltdW06Oi1tb3otbWV0ZXItYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItZmlsbC1oaWdoO1xuICB9XG4gICY6LW1vei1tZXRlci1zdWItb3B0aW11bTo6LW1vei1tZXRlci1iYXIge1xuICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLW1lZGl1bTtcbiAgfVxuICAmOi1tb3otbWV0ZXItc3ViLXN1Yi1vcHRpbXVtOjotbW96LW1ldGVyLWJhciB7XG4gICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtbG93O1xuICB9XG59XG4iLCIvKlxuICBUWVBPR1JBUEhZXG4gIC0tLS0tLS0tLS1cblxuICBJbmNsdWRlcyB0eXBvZ3JhcGhpYyByZXNldHMgZm9yIG1hbnkgY29tbW9uIGVsZW1lbnRzLCBhbmQgYSBmZXcgaGVscGVyIGNsYXNzZXMuXG4gICAtIEhlYWRlcnNcbiAgIC0gU3ViaGVhZGVyc1xuICAgLSBMZWFkIHBhcmFncmFwaHNcbiAgIC0gT3JkZXJlZC91bm9yZGVyZWQgbGlzdHNcbiAgIC0gQ29kZSBzYW1wbGVzXG4gICAtIEFuY2hvcnNcbiAgIC0gRGl2aWRlcnNcbiAgIC0gQmxvY2txdW90ZXNcbiAgIC0gQWNyb255bXNcbiovXG5cbi8vLyBARm91bmRhdGlvbi5zZXR0aW5nc1xuLy8gVHlwb2dyYXBoeVxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGVyIGZvbnQgc3R5bGVzXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kaGVhZGVyLWZvbnQtc3R5bGU6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kaGVhZGVyLWZvbnQtY29sb3I6ICMyMjIgIWRlZmF1bHQ7XG4kaGVhZGVyLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kaGVhZGVyLXRvcC1tYXJnaW46IC4ycmVtICFkZWZhdWx0O1xuJGhlYWRlci1ib3R0b20tbWFyZ2luOiAuNXJlbSAhZGVmYXVsdDtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGVyIGZvbnQgc2l6ZXNcbiRoMS1mb250LXNpemU6IHJlbS1jYWxjKDQ0KSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IHJlbS1jYWxjKDM3KSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IHJlbS1jYWxjKDI3KSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6IHJlbS1jYWxjKDIzKSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRlciBzaXplIHJlZHVjdGlvbiBvbiBzbWFsbCBzY3JlZW5zXG4kaDEtZm9udC1yZWR1Y3Rpb246IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiRoMi1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJGgzLWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYyg1KSAhZGVmYXVsdDtcbiRoNC1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoNSkgIWRlZmF1bHQ7XG4kaDUtZm9udC1yZWR1Y3Rpb246IDAgIWRlZmF1bHQ7XG4kaDYtZm9udC1yZWR1Y3Rpb246IDAgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGNvbnRyb2wgaG93IHN1YmhlYWRlcnMgYXJlIHN0eWxlZC5cbiRzdWJoZWFkZXItbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRzdWJoZWFkZXItZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzNSUpICFkZWZhdWx0O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRzdWJoZWFkZXItdG9wLW1hcmdpbjogLjJyZW0gIWRlZmF1bHQ7XG4kc3ViaGVhZGVyLWJvdHRvbS1tYXJnaW46IC41cmVtICFkZWZhdWx0O1xuXG4vLyBBIGdlbmVyYWwgPHNtYWxsPiBzdHlsaW5nXG4kc21hbGwtZm9udC1zaXplOiA2MCUgIWRlZmF1bHQ7XG4kc21hbGwtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzNSUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgcGFyYWdyYXBoc1xuJHBhcmFncmFwaC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtbGluZS1oZWlnaHQ6IDEuNiAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuJHBhcmFncmFwaC1hc2lkZS1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtYXNpZGUtbGluZS1oZWlnaHQ6IDEuMzUgIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLWFzaWRlLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIDxjb2RlPiB0YWdzXG4kY29kZS1jb2xvcjogZ3JheXNjYWxlKCRwcmltYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRjb2RlLWZvbnQtZmFtaWx5OiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGNvZGUtYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogNzAlKSAhZGVmYXVsdDtcbiRjb2RlLWJvcmRlci1zaXplOiAxcHggIWRlZmF1bHQ7XG4kY29kZS1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGNvZGUtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkY29kZS1iYWNrZ3JvdW5kLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTAlKSAhZGVmYXVsdDtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIpIHJlbS1jYWxjKDUpIHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgYW5jaG9yc1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcbiRhbmNob3ItZm9udC1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kYW5jaG9yLWZvbnQtY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgPGhyPiBlbGVtZW50XG4kaHItYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kaHItYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRoci1ib3JkZXItY29sb3I6ICNkZGQgIWRlZmF1bHQ7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBsaXN0c1xuJGxpc3QtZm9udC1mYW1pbHk6ICRwYXJhZ3JhcGgtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kbGlzdC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xuJGxpc3QtbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjFyZW0gIWRlZmF1bHQ7XG4kbGlzdC1vcmRlcmVkLXNpZGUtbWFyZ2luOiAxLjRyZW0gIWRlZmF1bHQ7XG4kbGlzdC1zaWRlLW1hcmdpbi1uby1idWxsZXQ6IDAgIWRlZmF1bHQ7XG4kbGlzdC1uZXN0ZWQtbWFyZ2luOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG4kZGVmaW5pdGlvbi1saXN0LWhlYWRlci13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGRlZmluaXRpb24tbGlzdC1oZWFkZXItbWFyZ2luLWJvdHRvbTogLjNyZW0gIWRlZmF1bHQ7XG4kZGVmaW5pdGlvbi1saXN0LW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGJsb2NrcXVvdGVzXG4kYmxvY2txdW90ZS1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDM1JSkgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgI2RkZCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1jaXRlLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRoZWFkZXItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMjMlKSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWNpdGUtbGluay1jb2xvcjogJGJsb2NrcXVvdGUtY2l0ZS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLyBBY3JvbnltIHN0eWxlc1xuJGFjcm9ueW0tdW5kZXJsaW5lOiAxcHggZG90dGVkICNkZGQgIWRlZmF1bHQ7XG4vLy9cblxuQG1peGluIGxlYWQge1xuICBmb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICsgcmVtLWNhbGMoMy41KTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuQG1peGluIHN1YmhlYWRlciB7XG4gIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJHN1YmhlYWRlci1mb250LWNvbG9yO1xuICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci10b3AtbWFyZ2luO1xuICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLWJvdHRvbS1tYXJnaW47XG59XG5cbkBpbmNsdWRlIGV4cG9ydHModHlwb2dyYXBoeSkge1xuICAvKiBUeXBvZ3JhcGh5IHJlc2V0cyAqL1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46MDtcbiAgICBwYWRkaW5nOjA7XG4gIH1cblxuICAvKiBEZWZhdWx0IExpbmsgU3R5bGVzICovXG4gIGEge1xuICAgIGNvbG9yOiAkYW5jaG9yLWZvbnQtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcblxuICAgICZbdWktc3JlZl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1mb250LWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgIFx0dGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcgeyBib3JkZXI6bm9uZTsgfVxuICB9XG5cbiAgLyogRGVmYXVsdCBwYXJhZ3JhcGggc3R5bGVzICovXG4gIHAge1xuICAgIGZvbnQtZmFtaWx5OiAkcGFyYWdyYXBoLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkcGFyYWdyYXBoLWZvbnQtd2VpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZS1oZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgJi5sZWFkIHsgQGluY2x1ZGUgbGVhZDsgfVxuXG4gICAgJiBhc2lkZSB7XG4gICAgICBmb250LXNpemU6ICRwYXJhZ3JhcGgtYXNpZGUtZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtYXNpZGUtbGluZS1oZWlnaHQ7XG4gICAgICBmb250LXN0eWxlOiAkcGFyYWdyYXBoLWFzaWRlLWZvbnQtc3R5bGU7XG4gICAgfVxuICB9XG5cbiAgLyogRGVmYXVsdCBoZWFkZXIgc3R5bGVzICovXG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlYWRlci1mb250LWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuICAgIG1hcmdpbi10b3A6ICRoZWFkZXItdG9wLW1hcmdpbjtcbiAgICBtYXJnaW4tYm90dG9tOiAkaGVhZGVyLWJvdHRvbS1tYXJnaW47XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZS1oZWlnaHQ7XG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgICBjb2xvcjogJHNtYWxsLWZvbnQtY29sb3I7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICB9XG4gIH1cblxuICBoMSB7IGZvbnQtc2l6ZTogJGgxLWZvbnQtc2l6ZSAtICRoMS1mb250LXJlZHVjdGlvbjsgfVxuICBoMiB7IGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZSAtICRoMi1mb250LXJlZHVjdGlvbjsgfVxuICBoMyB7IGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZSAtICRoMy1mb250LXJlZHVjdGlvbjsgfVxuICBoNCB7IGZvbnQtc2l6ZTogJGg0LWZvbnQtc2l6ZSAtICRoNC1mb250LXJlZHVjdGlvbjsgfVxuICBoNSB7IGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZSAtICRoNS1mb250LXJlZHVjdGlvbjsgfVxuICBoNiB7IGZvbnQtc2l6ZTogJGg2LWZvbnQtc2l6ZSAtICRoNi1mb250LXJlZHVjdGlvbjsgfVxuXG4gIC5zdWJoZWFkZXIgeyBAaW5jbHVkZSBzdWJoZWFkZXI7IH1cblxuICBociB7XG4gICAgYm9yZGVyOiAkaHItYm9yZGVyLXN0eWxlICRoci1ib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLXdpZHRoOiAkaHItYm9yZGVyLXdpZHRoIDAgMDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW4gMCAoJGhyLW1hcmdpbiAtIHJlbS1jYWxjKCRoci1ib3JkZXItd2lkdGgpKTtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cblxuICAvKiBIZWxwZnVsIFR5cG9ncmFwaHkgRGVmYXVsdHMgKi9cbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJHNtYWxsLWZvbnQtY29sb3I7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICBjb2RlIHtcbiAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci13aWR0aDogJGNvZGUtYm9yZGVyLXNpemU7XG4gICAgYm9yZGVyLXN0eWxlOiAkY29kZS1ib3JkZXItc3R5bGU7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29kZS1ib3JkZXItY29sb3I7XG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcbiAgfVxuXG4gIC8qIExpc3RzICovXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIGZvbnQtc2l6ZTogJGxpc3QtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5lLWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGZvbnQtZmFtaWx5OiAkbGlzdC1mb250LWZhbWlseTtcbiAgfVxuXG4gIC8qIExpc3RzICovXG4gIHVsLCBvbCB7XG4gICAgbWFyZ2luLWxlZnQ6ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpIHtcbiAgICAgIHVsLFxuICAgICAgb2wge1xuICAgICAgICBtYXJnaW4tbGVmdDogJGxpc3QtbmVzdGVkLW1hcmdpbjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiBMaXN0cyB3aXRob3V0IGJ1bGxldHMgKi9cbiAgdWwubm8tYnVsbGV0IHtcbiAgICAmLCBsaSB1bCwgbGkgb2wge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIH1cbiAgICBtYXJnaW4tbGVmdDogJGxpc3Qtc2lkZS1tYXJnaW4tbm8tYnVsbGV0O1xuICB9XG5cbiAgLyogRGVmaW5pdGlvbiBMaXN0cyAqL1xuICBkbCB7XG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmluaXRpb24tbGlzdC1oZWFkZXItbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmaW5pdGlvbi1saXN0LWhlYWRlci13ZWlnaHQ7XG4gICAgfVxuICAgIGRkIHsgbWFyZ2luLWJvdHRvbTogJGRlZmluaXRpb24tbGlzdC1tYXJnaW4tYm90dG9tOyB9XG4gIH1cblxuICAvKiBBYmJyZXZpYXRpb25zICovXG4gIGFiYnIsXG4gIGFjcm9ueW0ge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiA5MCU7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFjcm9ueW0tdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgfVxuICBhYmJyIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC8qIEJsb2NrcXVvdGVzICovXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci1sZWZ0OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICBjaXRlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAkYmxvY2txdW90ZS1jaXRlLWZvbnQtc2l6ZTtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jaXRlLWZvbnQtY29sb3I7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyMDE0IFxcMDAyMFwiO1xuICAgICAgfVxuXG4gICAgICBhLFxuICAgICAgYTp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNpdGUtbGluay1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgYmxvY2txdW90ZSxcbiAgYmxvY2txdW90ZSBwIHtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJGJsb2NrcXVvdGUtZm9udC1jb2xvcjtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgaDEsaDIsaDMsaDQsaDUsaDYgeyBsaW5lLWhlaWdodDogJGhlYWRlci1saW5lLWhlaWdodDsgfVxuICAgIGgxIHsgZm9udC1zaXplOiAkaDEtZm9udC1zaXplOyB9XG4gICAgaDIgeyBmb250LXNpemU6ICRoMi1mb250LXNpemU7IH1cbiAgICBoMyB7IGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZTsgfVxuICAgIGg0IHsgZm9udC1zaXplOiAkaDQtZm9udC1zaXplOyB9XG4gICAgaDUgeyBmb250LXNpemU6ICRoNS1mb250LXNpemU7IH1cbiAgICBoNiB7IGZvbnQtc2l6ZTogJGg2LWZvbnQtc2l6ZTsgfVxuICB9XG59XG4iLCIvLy8gQEZvdW5kYXRpb24uc2V0dGluZ3Ncbi8vIEJ1dHRvbiBHcm91cFxuJGJ0bmdyb3VwLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGJ0bmdyb3VwLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJGJ0bmdyb3VwLXJhZGl1czogJGJ1dHRvbi1yYWRpdXMgIWRlZmF1bHQ7XG4vLy9cblxuJGNoaWxkLXNlbGVjdG9yczogJz4gYSwgPiBsYWJlbCwgPiBidXR0b24nO1xuXG4lYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBib3JkZXItcmFkaXVzOiAkYnRuZ3JvdXAtcmFkaXVzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6ICRidXR0b24tZm9udC1zaXplO1xuXG4gID4gbGkge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuXG4gICAgLy8gTGlua3MgYmVjb21lIGJ1dHRvbnNcbiAgICAjeyRjaGlsZC1zZWxlY3RvcnN9IHtcbiAgICAgIEBleHRlbmQgJWJ1dHRvbjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgPiBpbnB1dCArIGxhYmVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICAvLyBBZGQgYm9yZGVycyBiZXR3ZWVuIGl0ZW1zXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICN7JGNoaWxkLXNlbGVjdG9yc30ge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBzY2FsZS1jb2xvcigkYnRuZ3JvdXAtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTI1JSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIHVzaW5nKGljb25pYykge1xuICAgIC5pY29uaWMge1xuICAgICAgd2lkdGg6IDFlbTtcbiAgICAgIGhlaWdodDogMWVtO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNWVtO1xuICAgICAgbWFyZ2luLXRvcDogLTJweDsgLy8gVGhlIGljb25zIGFyZSBvZGRseSBtaXNhbGlnbmVkXG4gICAgfVxuICB9XG59XG5cbiVidXR0b24tZ3JvdXAtc2VnbWVudGVkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJHByaW1hcnktY29sb3I7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQgY29sb3I7XG5cbiAgPiBsaSB7XG4gICAgLy8gSGlkZSB0aGUgcmFkaW8gYnV0dG9uXG4gICAgPiBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogLTk5OTlweDtcbiAgICB9XG4gICAgLy8gVGhpcyBpcyB0aGUgYnV0dG9uXG4gICAgI3skY2hpbGQtc2VsZWN0b3JzfSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ncm91cC1zaXplKCRzaXplOiBtZWRpdW0sICRleHBhbmQ6IGZhbHNlKSB7XG4gICRzaXplOiAkYnV0dG9uLWZvbnQtc2l6ZSAqIG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgJHNpemUpO1xuICBmb250LXNpemU6ICRzaXplO1xuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kO1xuICB9XG59XG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZCgkc3RyZXRjaDogdHJ1ZSkge1xuICBkaXNwbGF5OiBpZigkc3RyZXRjaCwgZmxleCwgaW5saW5lLWZsZXgpO1xuXG4gID4gbGkge1xuICAgIGZsZXg6IGlmKCRzdHJldGNoLCAxLCAwIDAgYXV0byk7XG5cbiAgICAjeyRjaGlsZC1zZWxlY3RvcnN9IHtcbiAgICAgIEBpZiAkc3RyZXRjaCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cbiAgICB9XG4gIH1cbn1cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3R5bGUoXG4gICRzZWdtZW50ZWQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IsXG4gICRjb2xvcjogYXV0b1xuKSB7XG5cbiAgQGlmIG5vdCgkc2VnbWVudGVkKSB7XG4gICAgPiBsaSB7XG4gICAgICAjeyRjaGlsZC1zZWxlY3RvcnN9IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCBhdXRvLCAkY29sb3IpO1xuICAgICAgICBib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgICAgIH1cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgI3skY2hpbGQtc2VsZWN0b3JzfSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAZXh0ZW5kICVidXR0b24tZ3JvdXAtc2VnbWVudGVkO1xuICAgICRob3Zlci1jb2xvcjogcmdiYSgkYmFja2dyb3VuZCwgMC4yNSk7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgID4gbGkge1xuICAgICAgLy8gVGhpcyBpcyB0aGUgYnV0dG9uXG4gICAgICAjeyRjaGlsZC1zZWxlY3RvcnN9IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gICAgICAgIC8vIFRoaXMgaXMgdGhlIGJ1dHRvbiBiZWluZyBob3ZlcmVkIG9uXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRob3Zlci1jb2xvcjtcbiAgICAgICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgdXNpbmcoaWNvbmljKSB7XG4gICAgICAgICAgLmljb25pYyB7IEBpbmNsdWRlIGNvbG9yLWljb24oJGJhY2tncm91bmQpOyB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVGhpcyBpcyB0aGUgYnV0dG9uIHdoZW4gaXQncyBhY3RpdmVcbiAgICAgICYuaXMtYWN0aXZlID4gYSxcbiAgICAgID4gaW5wdXQ6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgICAgJiwgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICAgY29sb3I6IGlzaXRsaWdodCgkYmFja2dyb3VuZCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgdXNpbmcoaWNvbmljKSB7XG4gICAgICAgICAgLmljb25pYyB7IEBpbmNsdWRlIGNvbG9yLWljb24oaXNpdGxpZ2h0KCRiYWNrZ3JvdW5kKSk7IH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkc2VnbWVudGVkOiBmYWxzZSxcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcixcbiAgJGNvbG9yOiAjZmZmXG4pIHtcbiAgQGV4dGVuZCAlYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kKCRleHBhbmQpO1xuICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHNlZ21lbnRlZCwgJGJhY2tncm91bmQsICRjb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6ICRidG5ncm91cC1yYWRpdXM7XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoYnV0dG9uLWdyb3VwKSB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIENvbG9yc1xuICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKGZhbHNlLCAkc2Vjb25kYXJ5LWNvbG9yKTsgfVxuICAgICYuc3VjY2VzcyAgIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKGZhbHNlLCAkc3VjY2Vzcy1jb2xvcik7IH1cbiAgICAmLndhcm5pbmcgICB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZShmYWxzZSwgJHdhcm5pbmctY29sb3IpOyB9XG4gICAgJi5hbGVydCAgICAgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoZmFsc2UsICRhbGVydC1jb2xvcik7IH1cblxuICAgIC8vIEluZGl2aWR1YWwgY29sb3JzXG4gICAgPiBsaSB7XG4gICAgICAmLnNlY29uZGFyeSB7ICN7JGNoaWxkLXNlbGVjdG9yc30geyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJHNlY29uZGFyeS1jb2xvciwgYXV0bywgJGJ0bmdyb3VwOiB0cnVlKTsgfSB9XG4gICAgICAmLnN1Y2Nlc3MgICB7ICN7JGNoaWxkLXNlbGVjdG9yc30geyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJHN1Y2Nlc3MtY29sb3IsIGF1dG8sICRidG5ncm91cDogdHJ1ZSk7IH0gfVxuICAgICAgJi53YXJuaW5nICAgeyAjeyRjaGlsZC1zZWxlY3RvcnN9IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCR3YXJuaW5nLWNvbG9yLCBhdXRvLCAkYnRuZ3JvdXA6IHRydWUpOyB9IH1cbiAgICAgICYuYWxlcnQgICAgIHsgI3skY2hpbGQtc2VsZWN0b3JzfSB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYWxlcnQtY29sb3IsIGF1dG8sICRidG5ncm91cDogdHJ1ZSk7IH0gfVxuICAgIH1cblxuICAgIC8vIFNlZ21lbnRlZFxuICAgICYuc2VnbWVudGVkIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKHRydWUpO1xuICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUodHJ1ZSwgJHNlY29uZGFyeS1jb2xvcik7IH1cbiAgICAgICYuc3VjY2VzcyAgIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKHRydWUsICRzdWNjZXNzLWNvbG9yKTsgfVxuICAgICAgJi53YXJuaW5nICAgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUodHJ1ZSwgJHdhcm5pbmctY29sb3IpOyB9XG4gICAgICAmLmFsZXJ0ICAgICB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSh0cnVlLCAkYWxlcnQtY29sb3IpOyB9XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nXG4gICAgJi50aW55ICAgICAgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc2l6ZSh0aW55KTsgfVxuICAgICYuc21hbGwgICAgIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXNpemUoc21hbGwpOyB9XG4gICAgJi5sYXJnZSAgICAgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc2l6ZShsYXJnZSk7IH1cbiAgICAmLmV4cGFuZCAgICB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7IH1cblxuICAgIC8vIERpc2FibGVkXG4gICAgbGkuZGlzYWJsZWQge1xuICAgICAgI3skY2hpbGQtc2VsZWN0b3JzfSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBpbmxpbmUtbGlzdCgkYWxpZ25tZW50KXtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHR0ZXh0LWFsaWduOiAkYWxpZ25tZW50O1xuXHRsaSwgZHQsIGRkIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luLWxlZnQ6IC0ycHg7XG5cdFx0bWFyZ2luLXJpZ2h0OiAtMnB4O1xuXHR9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMobGlzdCkge1xuICAuaW5saW5lLWxpc3Qge1xuICAgIEBpbmNsdWRlIGlubGluZS1saXN0KGxlZnQpO1xuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLypcbiAgTUVOVSBCQVJcbiAgLS0tLS0tLS1cblxuICBBIGdlbmVyaWMsIGZsZXhpYmxlIG1lbnUgY29tcG9uZW50LlxuXG4gIEZlYXR1cmVzOlxuICAgLSBPcmllbnQgaG9yaXpvbnRhbGx5IGFuZCB2ZXJ0aWNhbGx5XG4gICAgIC0gQ2hhbmdlIG9yaWVudGF0aW9uIGF0IGNlcnRhaW4gYnJlYWtwb2ludHNcbiAgIC0gSXRlbXMgd2l0aCBpY29ucyBhYm92ZSwgYmVsb3csIG9yIHRvIHRoZSBsZWZ0IG9yIHJpZ2h0XG4gICAtIFRleHQgbGFiZWxzIGZvciB2ZXJ0aWNhbCBtZW51cyBhbmQgYmFkZ2VzIGZvciBob3Jpem9udGFsIG1lbnVzXG4qL1xuXG4vLy8gQEZvdW5kYXRpb24uc2V0dGluZ3Ncbi8vIE1lbnUgQmFyXG4kbWVudWJhci1mb250c2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRtZW51YmFyLWJhY2tncm91bmQ6ICNmZmYgIWRlZmF1bHQ7XG4kbWVudWJhci1iYWNrZ3JvdW5kLWhvdmVyOiBzbWFydHNjYWxlKCRtZW51YmFyLWJhY2tncm91bmQsIDclKSAhZGVmYXVsdDtcbiRtZW51YmFyLWJhY2tncm91bmQtYWN0aXZlOiAkbWVudWJhci1iYWNrZ3JvdW5kLWhvdmVyO1xuJG1lbnViYXItY29sb3I6IGlzaXRsaWdodCgkbWVudWJhci1iYWNrZ3JvdW5kKSAhZGVmYXVsdDtcbiRtZW51YmFyLWNvbG9yLWhvdmVyOiAkbWVudWJhci1jb2xvciAhZGVmYXVsdDtcbiRtZW51YmFyLWNvbG9yLWFjdGl2ZTogJG1lbnViYXItY29sb3ItaG92ZXI7XG5cbiRtZW51YmFyLWl0ZW0tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuJG1lbnViYXItaWNvbi1zaXplOiAyNXB4ICFkZWZhdWx0O1xuJG1lbnViYXItaWNvbi1zcGFjaW5nOiAkbWVudWJhci1pdGVtLXBhZGRpbmcgIWRlZmF1bHQ7XG4vLy9cblxuLy8gTWVudSBiYXIgY29udGFpbmVyXG4lbWVudS1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgLy8gTWVudSBpdGVtXG4gID4gbGkge1xuICAgIC8vIFRoaXMgZmxleCBzZXR0aW5nIG1ha2VzIGVhY2ggaXRlbSBhbiBlcXVhbCB3aWR0aFxuICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAvLyBMaW5rIGluc2lkZSBtZW51IGl0ZW1cbiAgICA+IGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAkbWVudWJhci1pdGVtLXBhZGRpbmc7XG4gICAgICBmb250LXNpemU6ICRtZW51YmFyLWZvbnRzaXplO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LWJhci1sYXlvdXQgKFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzdHJldGNoOiB0cnVlXG4pIHtcbiAgLypcbiAgICBPcmllbnRhdGlvblxuICAqL1xuICBAaWYgJG9yaWVudGF0aW9uID09IGhvcml6b250YWwge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgPiBsaSA+IGEge1xuICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgID4gbGkgPiBhIHtcbiAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICB9XG4gIH1cblxuICAvKlxuICAgIFN0cmV0Y2hcbiAgKi9cbiAgPiBsaSB7XG4gICAgQGlmICRzdHJldGNoID09IGZhbHNlIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS1iYXItc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkbWVudWJhci1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJG1lbnViYXItYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkbWVudWJhci1iYWNrZ3JvdW5kLWFjdGl2ZSxcbiAgJGNvbG9yOiAkbWVudWJhci1jb2xvcixcbiAgJGNvbG9yLWhvdmVyOiAkbWVudWJhci1jb2xvci1ob3ZlcixcbiAgJGNvbG9yLWFjdGl2ZTogJG1lbnViYXItY29sb3ItYWN0aXZlLFxuICAkYXV0b2NvbG9yOiBmYWxzZVxuKSB7XG4gIC8vIEF1dG9jb2xvcmluZ1xuICBAaWYgKCRhdXRvY29sb3IpIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc21hcnRzY2FsZSgkYmFja2dyb3VuZCwgNyUpO1xuICAgICRiYWNrZ3JvdW5kLWFjdGl2ZTogJGJhY2tncm91bmQtaG92ZXI7XG5cbiAgICAkY29sb3I6IGlzaXRsaWdodCgkYmFja2dyb3VuZCk7XG4gICAgJGNvbG9yLWhvdmVyOiAkY29sb3I7XG4gICAgJGNvbG9yLWFjdGl2ZTogJGNvbG9yO1xuICB9XG5cbiAgLy8gQ29udGFpbmVyXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gIC8vIEl0ZW1zXG4gID4gbGkgPiBhIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgfVxuICB9XG4gIC5pcy1hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgY29sb3I6ICRjb2xvci1hY3RpdmVcbiAgfVxuXG4gIC8vIEljb25pY1xuICBAaWYgdXNpbmcoaWNvbmljKSB7XG4gICAgLmljb25pYyB7IEBpbmNsdWRlIGNvbG9yLWljb24oJGNvbG9yKTsgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LWJhci1pY29ucyhcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkc2l6ZTogJG1lbnViYXItaWNvbi1zaXplXG4pIHtcbiAgPiBsaSB7XG4gICAgLy8gU2l6aW5nXG4gICAgPiBpbWcsID4gLmljb25pYyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBAaWYgJG1lbnViYXItaWNvbi1zaXplICE9IGZhbHNlIHtcbiAgICAgICAgd2lkdGg6ICRtZW51YmFyLWljb24tc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkbWVudWJhci1pY29uLXNpemU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUG9zaXRpb25cbiAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgPiBhIHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICA+IGltZywgPiAuaWNvbmljIHsgbWFyZ2luOiAwICRtZW51YmFyLWljb24tc3BhY2luZyAwIDA7IH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgICAgPiBhIHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICA+IGltZywgPiAuaWNvbmljIHsgbWFyZ2luOiAwIDAgJG1lbnViYXItaWNvbi1zcGFjaW5nIDA7IH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICA+IGEge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdy1yZXZlcnNlIG5vd3JhcDtcbiAgICAgICAgPiBpbWcsID4gLmljb25pYyB7IG1hcmdpbjogMCAwIDAgJG1lbnViYXItaWNvbi1zcGFjaW5nOyB9XG4gICAgICB9XG4gICAgfVxuICAgIEBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICAgID4gYSB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uLXJldmVyc2Ugbm93cmFwO1xuICAgICAgICA+IGltZywgPiAuaWNvbmljIHsgbWFyZ2luOiAkbWVudWJhci1pY29uLXNwYWNpbmcgMCAwIDA7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtYmFyLWxhYmVscyhcbiAgJHg6IHJpZ2h0LFxuICAkeTogY2VudGVyLFxuICAkb2Zmc2V0OiAkbWVudWJhci1pdGVtLXBhZGRpbmcsXG4gICRzaXplOiAxLjJyZW0sXG4gICRiYWNrZ3JvdW5kOiByZWQsXG4gICRjb2xvcjogYXV0byxcbiAgJHNlbGVjdG9yOiAnLm1lbnUtYmFyLWxhYmVsJ1xuKSB7XG4gID4gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgID4gYSB7XG4gICAgICBAaWYgJHggPT0gbGVmdCBvciAkeCA9PSByaWdodCB7XG4gICAgICAgIHBhZGRpbmctI3skeH06ICRzaXplICsgJG9mZnNldCAqIDI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRzaXplICogMC43NTtcbiAgICB3aWR0aDogJHNpemU7XG4gICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHNpemU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMDBweDtcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogaWYoJGNvbG9yID09IGF1dG8sIGlzaXRsaWdodCgkYmFja2dyb3VuZCksICRjb2xvcik7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgQGlmICR4ID09IGxlZnQgb3IgJHggPT0gcmlnaHQge1xuICAgICAgI3skeH06ICRvZmZzZXQ7XG4gICAgfVxuXG4gICAgQGlmICR5ID09IHRvcCBvciAkeSA9PSBib3R0b20ge1xuICAgICAgI3skeX06ICRvZmZzZXQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxufVxuXG4vKlxuICBTZXQgdGhlIGFsaWdubWVudCBvZiBtZW51IGl0ZW1zIChsaSkgd2l0aGluIGEgbWVudS1iYXJcblxuICBsZWZ0OiBJdGVtcyBhbGlnbiB0byB0aGUgbGVmdC5cbiAgcmlnaHQ6IEl0ZW1zIGFsaWduIHRvIHRoZSByaWdodC5cbiAgY2VudGVyOiBJdGVtcyBhbGlnbiB0byB0aGUgY2VudGVyLlxuICBqdXN0aWZ5OiBJdGVtcyBhcmUgc3BhY2VkIGVxdWFsbHkgYXBhcnQgc28gdGhleSBvY2N1cHkgdGhlIHNwYWNlIG9mIHRoZSBlbnRpcmUgZ3JpZC5cbiAgc3BhY2VkOiBJdGVtcyBhcmUgZ2l2ZW4gZXF1YWwgc3BhY2UgdG8gdGhlaXIgbGVmdCBhbmQgcmlnaHQuXG5cbiAgQGdyb3VwIG1lbnUtYmFyXG5cbiAgQHBhcmFtIHtzdHJpbmd9ICRhbGlnbiAtIEFsaWdubWVudCB0byB1c2UuXG5cbiAgQG91dHB1dCBBbiBhcHByb3ByaWF0ZSBqdXN0aWZ5LWNvbnRlbnQgdmFsdWUuXG4qL1xuQG1peGluIG1lbnUtYmFyLWFsaWduKCRhbGlnbjogbGVmdCkge1xuICAkb3B0aW9uczogKFxuICAgIGxlZnQ6IGZsZXgtc3RhcnQsXG4gICAgcmlnaHQ6IGZsZXgtZW5kLFxuICAgIGNlbnRlcjogY2VudGVyLFxuICAgIGp1c3RpZnk6IHNwYWNlLWJldHdlZW4sXG4gICAgc3BhY2VkOiBzcGFjZS1hcm91bmQsXG4gICk7XG4gIGp1c3RpZnktY29udGVudDogbWFwLWdldCgkb3B0aW9ucywgJGFsaWduKTtcbn1cblxuLypcbiAgQ1NTIG91dHB1dFxuKi9cbkBpbmNsdWRlIGV4cG9ydHMobWVudS1iYXIpIHtcbiAgLm1lbnUtYmFyIHtcbiAgICBAZXh0ZW5kICVtZW51LWJhcjtcbiAgICBAaW5jbHVkZSBtZW51LWJhci1zdHlsZTtcblxuICAgIC8vIFBvc2l0aW9uaW5nXG4gICAgJiwgJi5ob3Jpem9udGFsICB7IEBpbmNsdWRlIG1lbnUtYmFyLWxheW91dChob3Jpem9udGFsKTsgfVxuICAgICYudmVydGljYWwgICAgICAgeyBAaW5jbHVkZSBtZW51LWJhci1sYXlvdXQodmVydGljYWwpOyB9XG5cbiAgICAvLyBDb25kZW5zZWQgYmFyXG4gICAgJi5jb25kZW5zZSB7XG4gICAgICA+IGxpIHsgZmxleDogMCAwIGF1dG87IH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBNZW51IEl0ZW1zXG4gICAgJi5hbGlnbi1yaWdodCAgIHsgQGluY2x1ZGUgbWVudS1iYXItYWxpZ24ocmlnaHQpOyB9XG4gICAgJi5hbGlnbi1jZW50ZXIgIHsgQGluY2x1ZGUgbWVudS1iYXItYWxpZ24oY2VudGVyKTsgfVxuICAgICYuYWxpZ24tanVzdGlmeSB7IEBpbmNsdWRlIG1lbnUtYmFyLWFsaWduKGp1c3RpZnkpOyB9XG4gICAgJi5hbGlnbi1zcGFjZWQgIHsgQGluY2x1ZGUgbWVudS1iYXItYWxpZ24oc3BhY2VkKTsgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICYuI3skc2l6ZX0tY29uZGVuc2UgeyBsaSB7IGZsZXg6IDAgMCBhdXRvOyB9IH1cbiAgICAgICAgJi4jeyRzaXplfS1leHBhbmQgICB7IGxpIHsgZmxleDogMSAwIGF1dG87IH0gfVxuXG4gICAgICAgIC8vIFJlc3BvbnNpdmUgQWxpZ25tZW50XG4gICAgICAgICYuI3skc2l6ZX0tYWxpZ24tbGVmdCAgIHsgQGluY2x1ZGUgbWVudS1iYXItYWxpZ24obGVmdCk7IH1cbiAgICAgICAgJi4jeyRzaXplfS1hbGlnbi1yaWdodCAgIHsgQGluY2x1ZGUgbWVudS1iYXItYWxpZ24ocmlnaHQpOyB9XG4gICAgICAgICYuI3skc2l6ZX0tYWxpZ24tY2VudGVyICB7IEBpbmNsdWRlIG1lbnUtYmFyLWFsaWduKGNlbnRlcik7IH1cbiAgICAgICAgJi4jeyRzaXplfS1hbGlnbi1qdXN0aWZ5IHsgQGluY2x1ZGUgbWVudS1iYXItYWxpZ24oanVzdGlmeSk7IH1cbiAgICAgICAgJi4jeyRzaXplfS1hbGlnbi1zcGFjZWQgIHsgQGluY2x1ZGUgbWVudS1iYXItYWxpZ24oc3BhY2VkKTsgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgcG9zaXRpb25pbmdcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICBAaW5jbHVkZSBtZW51LWJhci1sYXlvdXQoaG9yaXpvbnRhbCk7XG4gICAgICAgIH1cbiAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgQGluY2x1ZGUgbWVudS1iYXItbGF5b3V0KHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEljb24gcG9zaXRpb25pbmdcbiAgICAmLCAmLmljb24tdG9wIHsgQGluY2x1ZGUgbWVudS1iYXItaWNvbnModG9wKTsgfVxuICAgICYuaWNvbi1yaWdodCAgeyBAaW5jbHVkZSBtZW51LWJhci1pY29ucyhyaWdodCk7IH1cbiAgICAmLmljb24tYm90dG9tIHsgQGluY2x1ZGUgbWVudS1iYXItaWNvbnMoYm90dG9tKTsgfVxuICAgICYuaWNvbi1sZWZ0ICAgeyBAaW5jbHVkZSBtZW51LWJhci1pY29ucyhsZWZ0KTsgfVxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGVhY2ggJHBvcyBpbiAodG9wLCByaWdodCwgYm90dG9tLCBsZWZ0KSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWljb24tI3skcG9zfSB7IEBpbmNsdWRlIG1lbnUtYmFyLWljb25zKCRwb3MpOyB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBMYWJlbHNcbiAgICAmLmxhYmVsLXNpZGUgICB7IEBpbmNsdWRlIG1lbnUtYmFyLWxhYmVscyhyaWdodCwgY2VudGVyKTsgfVxuICAgICYubGFiZWwtY29ybmVyIHsgQGluY2x1ZGUgbWVudS1iYXItbGFiZWxzKHJpZ2h0LCB0b3ApOyB9XG5cbiAgICAvLyBDb2xvcmluZ1xuICAgICYucHJpbWFyeSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWJhci1zdHlsZSgkcHJpbWFyeS1jb2xvciwgJGF1dG9jb2xvcjogdHJ1ZSk7XG4gICAgfVxuICAgICYuZGFyayB7XG4gICAgICBAaW5jbHVkZSBtZW51LWJhci1zdHlsZSgkZGFyay1jb2xvciwgJGF1dG9jb2xvcjogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gVGl0bGVcbiAgICA+IGxpLnRpdGxlIHtcbiAgICAgIHBhZGRpbmc6ICRtZW51YmFyLWl0ZW0tcGFkZGluZztcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1lbnUgZ3JvdXBzXG4gIC5tZW51LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB9XG5cbiAgICA+IC5tZW51LWdyb3VwLWxlZnQsID4gLm1lbnUtZ3JvdXAtcmlnaHQge1xuICAgICAgZmxleDogMSAxIDEwMCU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1lbnUgYmFyIGlzIGNvbmRlbnNlZFxuICAgIC5tZW51LWJhciB7XG4gICAgICA+IGxpIHsgZmxleDogMCAwIGF1dG87IH1cbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAvLyBDb2xvcmluZyBjbGFzcyBjYXNjYWRlcyBkb3duIHRvIHRoZSBtZW51IGJhclxuICAgICYucHJpbWFyeSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIC5tZW51LWJhciB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYmFyLXN0eWxlKCRwcmltYXJ5LWNvbG9yLCAkYXV0b2NvbG9yOiB0cnVlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5kYXJrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWNvbG9yO1xuICAgICAgLm1lbnUtYmFyIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1iYXItc3R5bGUoJGRhcmstY29sb3IsICRhdXRvY29sb3I6IHRydWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkBpbXBvcnQgXCJwYW5lbFwiO1xuXG4vKlxuICBUSEUgR1JJRFxuICAtLS0tLS0tLVxuXG4gIEZvdW5kYXRpb24ncyBtYWdpY2FsLCBmbGV4Ym94LXBvd2VyZWQgZ3JpZC5cblxuICBGZWF0dXJlczpcbiAgIC0gSG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBncmlkc1xuICAgLSBBdXRvLXNpemluZyBvciBwZXJjZW50YWdlIHdpZHRoIGdyaWQgYmxvY2tzXG4gICAtIEluZGVwZW5kZW50bHktc2Nyb2xsYWJsZSBibG9ja3NcbiAgIC0gQ29sdW1uIGFsaWdubWVudFxuICAgLSBTb3VyY2Ugb3JkZXJpbmdcbiAgIC0gT2Zmc2V0c1xuKi9cblxuLy8vIEBGb3VuZGF0aW9uLnNldHRpbmdzXG4vLyBHcmlkXG4kY29udGFpbmVyLXdpZHRoOiByZW0tY2FsYyg5MDApICFkZWZhdWx0O1xuJGJsb2NrLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcbiR0b3RhbC1jb2x1bW5zOiAxMiAhZGVmYXVsdDtcbiRibG9jay1ncmlkLW1heC1zaXplOiA2ICFkZWZhdWx0O1xuLy8vXG5cbi8qXG4gIERlZmluZSB0aGUgc2l6ZSBvZiBhIGdyaWQgYmxvY2suIEJsb2NrcyBhcmUgZmxleCBpdGVtcy4gQnkgZGVmYXVsdCwgdGhleSBzdHJldGNoIHRvIGZpbGwgYWxsIGF2YWlsYWJsZSBzcGFjZSwgYmFzZWQgb24gdGhlIHNpemUgb2Ygc2libGluZyBibG9ja3MuIFRoaXMgaXMgdGhlIFwiZXhwYW5kXCIgYmVoYXZpb3IuXG5cbiAgSWYgc2V0IHRvIFwic2hyaW5rXCIsIHRoZSBibG9jayB3aWxsIGNvbnRyYWN0IGFuZCBvbmx5IGZpbGwgYXMgbXVjaCBzcGFjZSBhcyBpdCBuZWVkcyBmb3IgaXRzIGNvbnRlbnQuXG5cbiAgSWYgc2V0IHRvIGEgbnVtYmVyLCB0aGUgYmxvY2sgd2lsbCBiZSBnaXZlbiBhIHBlcmNlbnRhZ2Ugd2lkdGgsIGJhc2VkIG9uIHRoZSB0b3RhbCBudW1iZXIgb2YgY29sdW1ucyAoMTIgYnkgZGVmYXVsdCkuIFBlcmNlbnRhZ2Ugd2lkdGhzIGRvbid0IHdvcmsgaWYgYSBibG9jayBpcyBpbnNpZGUgYSB2ZXJ0aWNhbCBncmlkLlxuXG4gIEBncm91cCBncmlkXG5cbiAgQHBhcmFtIHtudW1iZXJ8c3RyaW5nfSAkc2l6ZSAtIFNpemluZyBiZWhhdmlvciBvZiB0aGUgYmxvY2suIFNob3VsZCBiZSBleHBhbmQsIHNocmluaywgb3IgYSBudW1iZXIuXG5cbiAgQG91dHB1dCBUaGUgZmxleC1iYXNpcywgZmxleC1ncm93LCBhbmQgZmxleC1zaHJpbmsgcHJvcGVydGllcy5cbiovXG5AbWl4aW4gZ3JpZC1zaXplKCRzaXplOiBleHBhbmQpIHtcbiAgQGlmICh0eXBlLW9mKCRzaXplKSA9PSAnbnVtYmVyJykge1xuICAgICRwY3Q6IHBlcmNlbnRhZ2UoJHNpemUgLyAkdG90YWwtY29sdW1ucyk7XG4gICAgZmxleDogMCAwICRwY3Q7XG4gICAgLy8gbWF4LXdpZHRoIHByZXZlbnRzIGNvbHVtbnMgZnJvbSB3cmFwcGluZyBlYXJseSBpbiBJRTEwLzExXG4gICAgbWF4LXdpZHRoOiAkcGN0O1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSBzaHJpbmspIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gZXhwYW5kKSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cbn1cbi8qXG4gIFNldCB0aGUgb3JpZW50YXRpb24gb2YgYmxvY2tzIHdpdGhpbiB0aGlzIGJsb2NrLiBUaGUgZ3JpZCBpcyByZS1vcmllbnRlZCBieSBjaGFuZ2luZyB0aGUgZmxleCBkaXJlY3Rpb24gb2YgdGhlIGJsb2NrLlxuXG4gIEBncm91cCBncmlkXG5cbiAgQHBhcmFtIHtzdHJpbmd9ICRvcmllbnRhdGlvbiAtIERpcmVjdGlvbiBvZiB0aGUgZ3JpZCwgZWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwuXG5cbiAgQG91dHB1dCBBIGZsZXgtZmxvdyBwcm9wZXJ0eSB0byBtYXRjaCB0aGUgZGlyZWN0aW9uIGdpdmVuLlxuKi9cbkBtaXhpbiBncmlkLW9yaWVudCgkb3JpZW50YXRpb246IGhvcml6b250YWwpIHtcbiAgQGlmICgkb3JpZW50YXRpb24gPT0gdmVydGljYWwpIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIH1cbn1cbi8qXG4gIFN0cmV0Y2ggYSBncmlkJ3MgY2hpbGQgYmxvY2tzIGFjcm9zcyBpdHMgY3Jvc3MtYXhpcywgbWFraW5nIGV2ZXJ5IGNvbHVtbiBhcHBlYXIgdG8gaGF2ZSB0aGUgc2FtZSBoZWlnaHQuXG5cbiAgQGdyb3VwIGdyaWRcblxuICBAcGFyYW0ge2Jvb2x9ICRzdHJldGNoIC0gU3RyZXRjaCBibG9ja3MgaWYgdHJ1ZSwgb3IgYWxpZ24gYmxvY2tzIHRvIHRvcCBpZiBmYWxzZS5cblxuICBAb3V0cHV0IFNldHMgYWxpZ24taXRlbXMgdG8gXCJzdHJldGNoXCIgaWYgJHN0cmV0Y2ggaXMgdHJ1ZSwgb3IgXCJmbGV4LXN0YXJ0XCIgKHRoZSBkZWZhdWx0IHZhbHVlKSBpZiBmYWxzZS5cbiovXG5AbWl4aW4gZ3JpZC13cmFwKCR3cmFwOiB0cnVlKSB7XG4gIEBpZiAkd3JhcCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG4gIEBlbHNlIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxufVxuLypcbiAgU2V0IHRoZSBhbGlnbm1lbnQgb2YgYmxvY2tzIHdpdGhpbiBhIGdyaWQuXG5cbiAgbGVmdDogSXRlbXMgYWxpZ24gdG8gdGhlIGxlZnQuXG4gIHJpZ2h0OiBJdGVtcyBhbGlnbiB0byB0aGUgcmlnaHQuXG4gIGNlbnRlcjogSXRlbXMgYWxpZ24gdG8gdGhlIGNlbnRlci5cbiAganVzdGlmeTogSXRlbXMgYXJlIHNwYWNlZCBlcXVhbGx5IGFwYXJ0IHNvIHRoZXkgb2NjdXB5IHRoZSBzcGFjZSBvZiB0aGUgZW50aXJlIGdyaWQuXG4gIHNwYWNlZDogSXRlbXMgYXJlIGdpdmVuIGVxdWFsIHNwYWNlIHRvIHRoZWlyIGxlZnQgYW5kIHJpZ2h0LlxuXG4gIEBncm91cCBncmlkXG5cbiAgQHBhcmFtIHtzdHJpbmd9ICRhbGlnbiAtIEFsaWdubWVudCB0byB1c2UuXG5cbiAgQG91dHB1dCBBbiBhcHByb3ByaWF0ZSBqdXN0aWZ5LWNvbnRlbnQgdmFsdWUuXG4qL1xuQG1peGluIGdyaWQtYWxpZ24oJGFsaWduOiBsZWZ0KSB7XG4gICRvcHRpb25zOiAoXG4gICAgbGVmdDogZmxleC1zdGFydCxcbiAgICByaWdodDogZmxleC1lbmQsXG4gICAgY2VudGVyOiBjZW50ZXIsXG4gICAganVzdGlmeTogc3BhY2UtYmV0d2VlbixcbiAgICBzcGFjZWQ6IHNwYWNlLWFyb3VuZCxcbiAgKTtcbiAganVzdGlmeS1jb250ZW50OiBtYXAtZ2V0KCRvcHRpb25zLCAkYWxpZ24pO1xufVxuLypcbiAgU2V0IHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBibG9jay4gSXRlbXMgd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdC4gSWYgbXVsdGlwbGUgaXRlbXMgaGF2ZSB0aGUgc2FtZSBudW1iZXIsIHRoZSBvbmUgaW4gdGhlIEhUTUwgZmlyc3Qgd2lsbCBhcHBlYXIgZmlyc3QuXG5cbiAgQGdyb3VwIGdyaWRcblxuICBAcGFyYW0ge251bWJlcn0gJG9yZGVyIC0gUG9zaXRpb24gaW4gc291cmNlIG9yZGVyLlxuXG4gIEBvdXRwdXQgQW4gb3JkZXIgcHJvcGVydHkuXG4qL1xuQG1peGluIGdyaWQtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG4vKlxuICBDb2xsYXBzZSBhIGNvbnRlbnQgYmxvY2sgYnkgcmVtb3ZpbmcgdGhlIHBhZGRpbmcuXG5cbiAgQGdyb3VwIGdyaWRcblxuICBAcGFyYW0ge2Jvb2x9ICRjb2xsYXBzZSAtIENvbGxhcHNlcyB0aGUgYmxvY2sgaWYgdHJ1ZS5cblxuICBAb3V0cHV0IEEgcGFkZGluZyB2YWx1ZS5cblxuICBAdG9kbyBObyB3YXkgdG8gcmV2ZXJzZSBjb2xsYXBzZSB1c2luZyB0aGlzIG1peGluLiBTb2x1dGlvbjpcbiAgICAtIElmIHRydWUsIGFkZCBwYWRkaW5nOiAwO1xuICAgIC0gSWYgZmFsc2UsIGFkZCBwYWRkaW5nOiAxcmVtO1xuICAgIC0gSWYgbnVsbCwgYWRkIG5vdGhpbmcsIHRvIGN1dCBkb3duIG9uIENTUyBvdXRwdXRcbiAgICAtIE1ha2UgbnVsbCB0aGUgZGVmYXVsdCB2YWx1ZVxuKi9cbkBtaXhpbiBncmlkLWNvbGxhcHNlKCRjb2xsYXBzZTogdHJ1ZSkge1xuICBAaWYgKCRjb2xsYXBzZSkge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbi8qXG4gIENvbnN0cmFpbiB0aGUgc2l6ZSBvZiBhIGJsb2NrIHRvIHRoZSBzaXplIG9mIHRoZSBhdmVyYWdlIGdyaWQgcm93LCBhbmQgY2VudGVyLWFsaWduIGl0LiBUaGlzIGltaXRhdGVzIHRoZSBiZWhhdmlvciBvZiBvcmRpbmFyeSBGb3VuZGF0aW9uIHJvd3MuXG5cbiAgQGdyb3VwIGdyaWRcblxuICBAcGFyYW0ge2Jvb2x9ICRjb250YWluZXIgLSBBZGRzIGNvbnRhaW5lciBzdHlsZXMgaWYgdHJ1ZS5cblxuICBAb3V0cHV0IEEgbWF4aW11bSB3aWR0aCBhbmQgdGhlIGdvb2Qgb2xkIG1hcmdpbjogMCBhdXRvIGZvciBjZW50ZXIgYWxpZ25tZW50LlxuKi9cbkBtaXhpbiBncmlkLWNvbnRhaW5lcigkd2lkdGg6ICRjb250YWluZXItd2lkdGgsICRhbGlnbjogY2VudGVyKSB7XG4gICRtYXJnaW5zOiAoXG4gICAgbGVmdDogIDAgYXV0byAwIDAsXG4gICAgcmlnaHQ6IDAgMCAwIGF1dG8sXG4gICAgY2VudGVyOiAwIGF1dG8sXG4gICk7XG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBtYXJnaW46IG1hcC1nZXQoJG1hcmdpbnMsICRhbGlnbik7XG59XG4vKlxuICBBZGQgbmVnYXRpdmUgbWFyZ2lucyB0byBhIGJsb2NrLCBlcXVhbCB0byB0aGUgcGFkZGluZyBvZiBhIGNvbnRlbnQgYmxvY2suIFRoaXMgYWxpZ25zIHRoZSBlZGdlcyBvZiBhIGJsb2NrIG5lc3RlZCBpbnNpZGUgYSBjb250ZW50IGJsb2NrLlxuXG4gIEBncm91cCBncmlkXG5cbiAgQHBhcmFtIHtib29sfSAkbmVzdCAtIEFkZHMgbmVnYXRpdmUgbWFyZ2lucyBpZiB0cnVlLlxuXG4gIEBvdXRwdXQgTmVnYXRpdmUgbWFyZ2luIHZhbHVlcy5cbiovXG5AbWl4aW4gZ3JpZC1uZXN0KCRuZXN0OiB0cnVlKSB7XG4gIEBpZiAoJG5lc3QpIHtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTtcbiAgfVxufVxuLypcbiAgT2Zmc2V0IGEgYmxvY2sgYnkgYWRkaW5nIGEgbGVmdCBtYXJnaW4uXG5cbiAgQGdyb3VwIGdyaWRcblxuICBAcGFyYW0ge251bWJlciB8IGJvb2x9ICRvZmZzZXQgLSBJZiBmYWxzZSwgbm90aGluZyBpcyBvdXRwdXQuIElmIGEgbnVtYmVyLCBvZmZzZXRzIHRoZSBjb2x1bW4gYnkgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgY29sdW1ucy5cblxuICBAb3V0cHV0IEEgbGVmdCBtYXJnaW4gYmFzZWQgb24gdGhlIG51bWJlciBvZiBjb2x1bW5zIHNwZWNpZmllZCwgYW5kIHRoZSBnbG9iYWwgbnVtYmVyIG9mIGNvbHVtbnMuXG4qL1xuQG1peGluIGdyaWQtb2Zmc2V0KCRvZmZzZXQ6IGZhbHNlKSB7XG4gIEBpZiAoJG9mZnNldCAhPSBmYWxzZSkge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCRvZmZzZXQgLyAkdG90YWwtY29sdW1ucyk7XG4gIH1cbn1cblxuLypcbiAgUmVzZXRzIHN0eWxlcyBzZXQgYnkgcGFuZWxzLiBVc2UgdGhpcyB3aGVuIGEgcGFuZWwgdHJhbnNmb3JtcyBpbnRvIGEgYmxvY2sgb24gbGFyZ2VyIHNjcmVlbnMuXG5cbiAgQGdyb3VwIGdyaWRcblxuICBAb3V0cHV0IFJlc2V0cyB0byB0cmFuc2Zvcm0sIHBvc2l0aW9uLCBhbmQgYSBmZXcgdmlzdWFsIHN0eWxlcy5cbiovXG5AbWl4aW4gZ3JpZC1wYW5lbC1yZXNldCgpIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHotaW5kZXg6IGF1dG87XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICBib3R0b206IGF1dG87XG4gIGxlZnQ6IGF1dG87XG59XG5cbi8qXG4gIEZyYW1lcyBhcmUgY29udGFpbmVycyB0aGF0IHN0cmV0Y2ggdG8gdGhlIGZ1bGwgZGltbWVuc2lvbnMgb2YgdGhlIGJyb3dzZXIgd2luZG93LlxuKi9cbkBtaXhpbiBncmlkLWZyYW1lKCRzaXplOiBleHBhbmQsICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCwgJHdyYXA6IGZhbHNlLCAkYWxpZ246IGxlZnQsICRvcmRlcjogMCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBAaW5jbHVkZSBncmlkLXNpemUoJHNpemUpO1xuICBAaW5jbHVkZSBncmlkLW9yaWVudCgkb3JpZW50YXRpb24pO1xuICBAaW5jbHVkZSBncmlkLXdyYXAoJHdyYXApO1xuICBAaW5jbHVkZSBncmlkLWFsaWduKCRhbGlnbik7XG4gIEBpbmNsdWRlIGdyaWQtb3JkZXIoJG9yZGVyKTtcbn1cblxuLypcbiAgR3JvdXBzIGFyZSBjb2xsZWN0aW9ucyBvZiBjb250ZW50IGl0ZW1zLiBUaGV5J3JlIHRoZSBcInJvd3NcIiBvZiBGb3VuZGF0aW9uIGZvciBBcHBzLlxuKi9cbkBtaXhpbiBncmlkLWJsb2NrKCRzaXplOiBleHBhbmQsICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCwgJHdyYXA6IGZhbHNlLCAkYWxpZ246IGxlZnQsICRvcmRlcjogMCkge1xuICBAaW5jbHVkZSBncmlkLWZyYW1lKCRzaXplLCAkb3JpZW50YXRpb24sICR3cmFwLCAkYWxpZ24sICRvcmRlcik7XG5cbiAgLy8gUmVzZXQgdGhlIGhlaWdodCB1c2VkIGJ5IGZyYW1lc1xuICBoZWlnaHQ6IGF1dG87XG5cbiAgLy8gQmxvY2tzIHdpbGwgc2Nyb2xsIGJ5IGRlZmF1bHQgaWYgdGhlaXIgY29udGVudCBvdmVyZmxvd3NcbiAgQGlmICgkb3JpZW50YXRpb24gPT0gdmVydGljYWwpIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG5cbiAgLy8gQWRkIHNjcm9sbGluZyB3aXRoIGluZXJ0aWFcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLypcbiAgQmxvY2tzIGFyZSBjb250YWluZXJzIGZvciBhY3R1YWwgY29udGVudC4gVGhleSdyZSB0aGUgXCJjb2x1bW5zXCIgb2YgRm91bmRhdGlvbiBmb3IgQXBwcy5cbiovXG5AbWl4aW4gZ3JpZC1jb250ZW50KCRzaXplOiBleHBhbmQsICRvZmZzZXQ6IG51bGwsICRvcmRlcjogbnVsbCkge1xuICAvLyBDb250ZW50IGJsb2NrcyBhcmUgbm90IGZsZXggaXRlbXMgYW5kIGhhdmUgcGFkZGluZ1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMCAkYmxvY2stcGFkZGluZztcblxuICAvLyBBZGQgc2Nyb2xsaW5nIHdpdGggaW5lcnRpYVxuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuXG4gIEBpbmNsdWRlIGdyaWQtc2l6ZSgkc2l6ZSk7XG4gIEBpZiAkb2Zmc2V0ICE9IG51bGwgeyBAaW5jbHVkZSBncmlkLW9mZnNldCgkb2Zmc2V0KTsgfVxuICBAaWYgJG9yZGVyICE9IG51bGwgIHsgQGluY2x1ZGUgZ3JpZC1vcmRlcigkb3JkZXIpOyB9XG59XG5cbkBtaXhpbiBncmlkLWxheW91dCgkdXApIHtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICA+IGxpLCA+IGRpdiwgPiBzZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAwIDFyZW0gMXJlbTtcbiAgICBmbGV4OiAwIDAgcGVyY2VudGFnZSgxIC8gJHVwKTtcbiAgfVxufVxuXG4vLyBDU1MgT3V0cHV0XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gU2hhcmVkIHN0eWxlcyBmb3IgZnJhbWVzIGFuZCBibG9ja3MgKHBhcmVudCBlbGVtZW50cylcbiVibG9jay1jb3JlIHtcbiAgLy8gQ2hhbmdlIHRoZSBkaXJlY3Rpb24gY2hpbGRyZW4gZmxvd1xuICAmLnZlcnRpY2FsIHsgQGluY2x1ZGUgZ3JpZC1vcmllbnQodmVydGljYWwpOyB9XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICYuI3skc2l6ZX0tdmVydGljYWwgICB7IEBpbmNsdWRlIGdyaWQtb3JpZW50KHZlcnRpY2FsKTsgfVxuICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHsgQGluY2x1ZGUgZ3JpZC1vcmllbnQoaG9yaXpvbnRhbCk7IH1cbiAgICB9XG4gIH1cblxuICAvLyBBbGlnbiB0aGUgY2hpbGRyZW4gb2YgYSBncmlkIGJsb2NrXG4gICYuYWxpZ24tcmlnaHQgICB7IEBpbmNsdWRlIGdyaWQtYWxpZ24ocmlnaHQpOyB9XG4gICYuYWxpZ24tY2VudGVyICB7IEBpbmNsdWRlIGdyaWQtYWxpZ24oY2VudGVyKTsgfVxuICAmLmFsaWduLWp1c3RpZnkgeyBAaW5jbHVkZSBncmlkLWFsaWduKGp1c3RpZnkpOyB9XG4gICYuYWxpZ24tc3BhY2VkICB7IEBpbmNsdWRlIGdyaWQtYWxpZ24oc3BhY2VkKTsgfVxuXG4gIC8vIEFsbG93IGNoaWxkIGVsZW1lbnRzIHRvIHdyYXBcbiAgJi53cmFwIHsgQGluY2x1ZGUgZ3JpZC13cmFwKHRydWUpOyB9XG59XG5cbi8vIFNoYXJlZCBzdHlsZXMgZm9yIGJsb2NrcyBhbmQgY29udGVudCBibG9ja3MgKGNoaWxkIGVsZW1lbnRzKVxuJWNoaWxkLWNvcmUge1xuICAvLyBTaHJpbmsgYSBmbGV4IGl0ZW0gc28gaXQgb25seSB0YWtlcyB1cCB0aGUgc3BhY2UgaXQgbmVlZHNcbiAgJi5zaHJpbmsgeyBAaW5jbHVkZSBncmlkLXNpemUoc2hyaW5rKTsgfVxuXG4gIC8vIFByZXZlbnQgYW4gZWxlbWVudCBmcm9tIHNjcm9sbGluZ1xuICAmLm5vc2Nyb2xsIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKGdyaWQpIHtcbiAgLy8gVGhlIGNvcmUgZ3JpZCBlbGVtZW50czpcbiAgLy8gIC0gRnJhbWVcbiAgLy8gIC0gQmxvY2tcbiAgLy8gIC0gQ29udGVudCBibG9ja1xuICAvLyAgLSBDb250YWluZXJcbiAgLmdyaWQtZnJhbWUge1xuICAgIEBleHRlbmQgJWJsb2NrLWNvcmU7XG4gICAgQGluY2x1ZGUgZ3JpZC1mcmFtZTtcbiAgfVxuICAuZ3JpZC1ibG9jayB7XG4gICAgQGV4dGVuZCAlYmxvY2stY29yZTtcbiAgICBAZXh0ZW5kICVjaGlsZC1jb3JlO1xuICAgIEBpbmNsdWRlIGdyaWQtYmxvY2s7XG4gIH1cbiAgLmdyaWQtY29udGVudCB7XG4gICAgQGV4dGVuZCAlY2hpbGQtY29yZTtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRlbnQ7XG5cbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gR3JpZHMgaW5zaWRlIGNvbnRlbnQgYmxvY2tzIHNob3VsZCB3cmFwIGJ5IGRlZmF1bHQsIHNvIHRoZXkgbWltaWMgdHJhZGl0aW9uYWwgZmxvYXQgZ3JpZHNcbiAgICAuZ3JpZC1ibG9jayB7XG4gICAgICBtYXJnaW4tbGVmdDogLSgkYmxvY2stcGFkZGluZyk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0oJGJsb2NrLXBhZGRpbmcpO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgIC8vIFJldmVyc2UgdGhlIGFib3ZlIHdyYXBwaW5nIGJlaGF2aW9yXG4gICAgICAmLm5vd3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtd3JhcChmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLWNvbnRlbnQge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRhaW5lcjtcblxuICAgICYuY29udGFpbi1sZWZ0ICB7IEBpbmNsdWRlIGdyaWQtY29udGFpbmVyKCRhbGlnbjogbGVmdCk7IH1cbiAgICAmLmNvbnRhaW4tcmlnaHQgeyBAaW5jbHVkZSBncmlkLWNvbnRhaW5lcigkYWxpZ246IHJpZ2h0KTsgfVxuICB9XG5cbiAgLy8gQnJlYWtwb2ludCBjbGFzc2VzIGZvciBibG9ja3NcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgLiN7JHNpemV9LWdyaWQtYmxvY2sge1xuICAgICAgQGV4dGVuZCAlYmxvY2stY29yZTtcbiAgICAgIEBleHRlbmQgJWNoaWxkLWNvcmU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1ibG9jaztcblxuICAgICAgICAvLyBPdmVycmlkZSBwYW5lbCBzdHlsZXNcbiAgICAgICAgJi5wYW5lbCB7IEBpbmNsdWRlIGdyaWQtcGFuZWwtcmVzZXQ7IH1cbiAgICAgIH1cbiAgICB9XG4gICAgLiN7JHNpemV9LWdyaWQtY29udGVudCB7XG4gICAgICBAZXh0ZW5kICVjaGlsZC1jb3JlO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29udGVudDtcblxuICAgICAgICAvLyBPdmVycmlkZSBwYW5lbCBzdHlsZXNcbiAgICAgICAgJi5wYW5lbCB7IEBpbmNsdWRlIGdyaWQtcGFuZWwtcmVzZXQ7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTaXppbmcgYW5kIG9yZGVyaW5nIGNsYXNzZXNcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkdG90YWwtY29sdW1ucyB7XG4gICAgLy8gU291cmNlIG9yZGVyaW5nXG4gICAgLm9yZGVyLSN7JGl9IHsgQGluY2x1ZGUgZ3JpZC1vcmRlcigkaSk7IH1cbiAgfVxuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgLy8gQmxvY2sgc2l6aW5nXG4gICAgICAgIC4jeyRzaXplfS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1zaXplKCRpKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgICAgICAgLiN7JHNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLW9yZGVyKCRpKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBPZmZzZXRzXG4gICAgICAgIC4jeyRzaXplfS1vZmZzZXQtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtb2Zmc2V0KCRpKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBQYXJlbnQgc2l6aW5nIChibG9jayBncmlkcylcbiAgICAgICAgLiN7JHNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgkaSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ3JpZC1jb250ZW50IC5tb2RhbCAuZ3JpZC1ibG9jayB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8qXG4gIE5PVElGSUNBVElPTlxuICAtLS0tLS0tLS0tLS1cblxuICBBbiBhbGVydCB0aGF0IHBpbnMgdG8gdGhlIGNvcm5lciBvZiB0aGUgc2NyZWVuIHdoZW4gdHJpZ2dlcmVkIGJ5IEphdmFTY3JpcHQuIEl0IGNhbiBiZSBzZXQgdG8gZGlzYXBwZWFyIGFmdGVyIGEgY2VydGFpbiBwZXJpb2Qgb2YgdGltZSwgb3IgdG8gc3RheSBwdXQgdW50aWwgdGhlIHVzZXIgY2xpY2tzIG9uIGl0LiBBIGN1c3RvbSBhY3Rpb24gY2FuIGJlIGFzaWduZWQgdG8gYSBub3RpZmljYXRpb24gYXMgd2VsbC5cblxuICBPcHRpb25hbGx5LCB0aGUgbm90aWZpY2F0aW9ucyBkaXJlY3RpdmUgY2FuIGFsc28gdGFwIGludG8gdGhlIGJyb3dzZXIncyBuYXRpdmUgbm90aWZpY2F0aW9uIHN1cHBvcnQsIGlmIGl0IGV4aXN0cy5cbiovXG5cbi8vLyBARm91bmRhdGlvbi5zZXR0aW5nc1xuLy8gTm90aWZpY2F0aW9uXG4kbm90aWZpY2F0aW9uLWRlZmF1bHQtcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24td2lkdGg6IHJlbS1jYWxjKDQwMCkgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW9mZnNldDogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4kbm90aWZpY2F0aW9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tcmFkaXVzOiA0cHggIWRlZmF1bHQ7XG5cbiRub3RpZmljYXRpb24taWNvbi1zaXplOiA2MHB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1pY29uLW1hcmdpbjogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1pY29uLWFsaWduOiB0b3AgIWRlZmF1bHQ7XG5cbi8vL1xuXG4lbm90aWZpY2F0aW9uIHtcbiAgei1pbmRleDogMTAwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBwIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBQbGFjZWhvbGRlciBhbmltYXRpb25cbiAgLy8gdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlLW91dDtcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxufVxuXG4lbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XG4gIHotaW5kZXg6IDMwMDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG5AbWl4aW4gbm90aWZpY2F0aW9uLWxheW91dChcbiAgJHg6IG50aCgkbm90aWZpY2F0aW9uLWRlZmF1bHQtcG9zaXRpb24sIDEpLFxuICAkeTogbnRoKCRub3RpZmljYXRpb24tZGVmYXVsdC1wb3NpdGlvbiwgMiksXG4gICRzaXplOiAkbm90aWZpY2F0aW9uLXdpZHRoLFxuICAkb2Zmc2V0OiAkbm90aWZpY2F0aW9uLW9mZnNldFxuKSB7XG4gIHdpZHRoOiAkc2l6ZTtcblxuICBAaWYgJHggPT0gcmlnaHQge1xuICAgIHJpZ2h0OiAkb2Zmc2V0O1xuICB9XG4gIEBlbHNlIGlmICR4ID09IGxlZnQge1xuICAgIGxlZnQ6ICRvZmZzZXQ7XG4gIH1cbiAgQGVsc2UgaWYgJHggPT0gbWlkZGxlIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0oJHNpemUgLyAyKTtcbiAgfVxuXG4gIEBpZiAkeSA9PSB0b3Age1xuICAgIHRvcDogJG9mZnNldDtcbiAgfVxuICBAZWxzZSBpZiAkeSA9PSBib3R0b20ge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206ICRvZmZzZXQ7XG4gIH1cblxuICAvLyBPbiBzbWFsbCBzY3JlZW5zLCBub3RpZmljYXRpb25zIGFyZSBmdWxsIHdpZHRoIGJ1dCBtYWludGFpbiB0aGVpciB2ZXJ0aWNhbCBvcmllbnRhdGlvblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBsZWZ0OiAkb2Zmc2V0O1xuICAgIHJpZ2h0OiAkb2Zmc2V0O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5AbWl4aW4gbm90aWZpY2F0aW9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJG5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRub3RpZmljYXRpb24tY29sb3IsXG4gICRwYWRkaW5nOiAkbm90aWZpY2F0aW9uLXBhZGRpbmcsXG4gICRyYWRpdXM6ICRub3RpZmljYXRpb24tcmFkaXVzXG4pIHtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXG4gICYsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuQG1peGluIG5vdGlmaWNhdGlvbihcbiAgJGJhY2tncm91bmQ6ICRub3RpZmljYXRpb24tYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkbm90aWZpY2F0aW9uLWNvbG9yLFxuICAkcGFkZGluZzogJG5vdGlmaWNhdGlvbi1wYWRkaW5nLFxuICAkcmFkaXVzOiAkbm90aWZpY2F0aW9uLXJhZGl1c1xuKSB7XG4gIEBleHRlbmQgJW5vdGlmaWNhdGlvbjtcbiAgQGluY2x1ZGUgbm90aWZpY2F0aW9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkY29sb3IsICRwYWRkaW5nLCAkcmFkaXVzKTtcbn1cblxuQG1peGluIG5vdGlmaWNhdGlvbi1jb250YWluZXIoXG4gICR4OiBudGgoJG5vdGlmaWNhdGlvbi1kZWZhdWx0LXBvc2l0aW9uLCAxKSxcbiAgJHk6IG50aCgkbm90aWZpY2F0aW9uLWRlZmF1bHQtcG9zaXRpb24sIDIpLFxuICAkc2l6ZTogJG5vdGlmaWNhdGlvbi13aWR0aCxcbiAgJG9mZnNldDogJG5vdGlmaWNhdGlvbi1vZmZzZXRcbikge1xuICBAZXh0ZW5kICVub3RpZmljYXRpb24tY29udGFpbmVyO1xuICBAaW5jbHVkZSBub3RpZmljYXRpb24tbGF5b3V0KCR4LCAkeSwgJHNpemUsICRvZmZzZXQpO1xufVxuXG5AbWl4aW4gbm90aWZpY2F0aW9uLWljb24oXG4gICRzaXplOiAkbm90aWZpY2F0aW9uLWljb24tc2l6ZSxcbiAgJG1hcmdpbjogJG5vdGlmaWNhdGlvbi1pY29uLW1hcmdpbixcbiAgJGFsaWduOiAkbm90aWZpY2F0aW9uLWljb24tYWxpZ25cbikge1xuICAkYWxpZ25tZW50czogKFxuICAgIHRvcDogZmxleC1zdGFydCxcbiAgICBtaWRkbGU6IG1pZGRsZSxcbiAgICBib3R0b206IGZsZXgtZW5kLFxuICApO1xuICBmbGV4OiAwIDAgJHNpemU7XG4gIG1hcmdpbi1yaWdodDogJGdsb2JhbC1wYWRkaW5nO1xuICBhbGlnbi1zZWxmOiBtYXAtZ2V0KCRhbGlnbm1lbnRzLCAkYWxpZ24pO1xuXG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi8qXG4gIENTUyBPdXRwdXRcbiovXG5cbkBpbmNsdWRlIGV4cG9ydHMobm90aWZpY2F0aW9uKSB7XG4gIC5ub3RpZmljYXRpb24ge1xuICAgIEBpbmNsdWRlIG5vdGlmaWNhdGlvbjtcblxuICAgICYuc3VjY2VzcyAgIHsgQGluY2x1ZGUgbm90aWZpY2F0aW9uLXN0eWxlKCRzdWNjZXNzLWNvbG9yKSB9XG4gICAgJi53YXJuaW5nICAgeyBAaW5jbHVkZSBub3RpZmljYXRpb24tc3R5bGUoJHdhcm5pbmctY29sb3IpIH1cbiAgICAmLmFsZXJ0ICAgICB7IEBpbmNsdWRlIG5vdGlmaWNhdGlvbi1zdHlsZSgkYWxlcnQtY29sb3IpIH1cbiAgICAmLmRhcmsgICAgICB7IEBpbmNsdWRlIG5vdGlmaWNhdGlvbi1zdHlsZSgkZGFyay1jb2xvciwgI2ZmZikgfVxuXG5cbiAgfVxuXG4gIC5zdGF0aWMtbm90aWZpY2F0aW9uIHtcbiAgICBAaW5jbHVkZSBub3RpZmljYXRpb247XG5cbiAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICBcbiAgICAmLnRvcC1yaWdodCAgICAgeyBAaW5jbHVkZSBub3RpZmljYXRpb24tbGF5b3V0KHJpZ2h0LCB0b3ApOyB9XG4gICAgJi50b3AtbGVmdCAgICAgIHsgQGluY2x1ZGUgbm90aWZpY2F0aW9uLWxheW91dChsZWZ0LCB0b3ApOyB9XG4gICAgJi50b3AtbWlkZGxlICAgIHsgQGluY2x1ZGUgbm90aWZpY2F0aW9uLWxheW91dChtaWRkbGUsIHRvcCk7IH1cblxuICAgICYuYm90dG9tLXJpZ2h0ICB7IEBpbmNsdWRlIG5vdGlmaWNhdGlvbi1sYXlvdXQocmlnaHQsIGJvdHRvbSk7IH1cbiAgICAmLmJvdHRvbS1sZWZ0ICAgeyBAaW5jbHVkZSBub3RpZmljYXRpb24tbGF5b3V0KGxlZnQsIGJvdHRvbSk7IH1cbiAgICAmLmJvdHRvbS1taWRkbGUgeyBAaW5jbHVkZSBub3RpZmljYXRpb24tbGF5b3V0KG1pZGRsZSwgYm90dG9tKTsgfVxuXG4gICAgJi5zdWNjZXNzICAgeyBAaW5jbHVkZSBub3RpZmljYXRpb24tc3R5bGUoJHN1Y2Nlc3MtY29sb3IpIH1cbiAgICAmLndhcm5pbmcgICB7IEBpbmNsdWRlIG5vdGlmaWNhdGlvbi1zdHlsZSgkd2FybmluZy1jb2xvcikgfVxuICAgICYuYWxlcnQgICAgIHsgQGluY2x1ZGUgbm90aWZpY2F0aW9uLXN0eWxlKCRhbGVydC1jb2xvcikgfVxuICAgICYuZGFyayAgICAgIHsgQGluY2x1ZGUgbm90aWZpY2F0aW9uLXN0eWxlKCRkYXJrLWNvbG9yLCAjZmZmKSB9XG4gIH1cblxuICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgbm90aWZpY2F0aW9uLWNvbnRhaW5lcjtcblxuICAgICYudG9wLXJpZ2h0ICAgICB7IEBpbmNsdWRlIG5vdGlmaWNhdGlvbi1sYXlvdXQocmlnaHQsIHRvcCk7IH1cbiAgICAmLnRvcC1sZWZ0ICAgICAgeyBAaW5jbHVkZSBub3RpZmljYXRpb24tbGF5b3V0KGxlZnQsIHRvcCk7IH1cbiAgICAmLnRvcC1taWRkbGUgICAgeyBAaW5jbHVkZSBub3RpZmljYXRpb24tbGF5b3V0KG1pZGRsZSwgdG9wKTsgfVxuXG4gICAgJi5ib3R0b20tcmlnaHQgIHsgQGluY2x1ZGUgbm90aWZpY2F0aW9uLWxheW91dChyaWdodCwgYm90dG9tKTsgfVxuICAgICYuYm90dG9tLWxlZnQgICB7IEBpbmNsdWRlIG5vdGlmaWNhdGlvbi1sYXlvdXQobGVmdCwgYm90dG9tKTsgfVxuICAgICYuYm90dG9tLW1pZGRsZSB7IEBpbmNsdWRlIG5vdGlmaWNhdGlvbi1sYXlvdXQobWlkZGxlLCBib3R0b20pOyB9XG4gIH1cblxuICAubm90aWZpY2F0aW9uLWljb24ge1xuICAgIEBpbmNsdWRlIG5vdGlmaWNhdGlvbi1pY29uO1xuICB9XG4gIC5ub3RpZmljYXRpb24tY29udGVudCB7XG4gICAgZmxleDogMTtcbiAgfVxuXG59XG4iLCIvKlxuICBVVElMSVRJRVNcbiAgLS0tLS0tLS0tXG5cbiAgUmVzcG9uc2l2ZSBoZWxwZXIgY2xhc3NlcyB0byBhc3Npc3QgeW91IGluIHF1aWNrbHkgZG9pbmcgYmFzaWMgZm9ybWF0dGluZyBhbmQgbGF5b3V0LlxuXG4gIEZlYXR1cmVzOlxuICAgLSBWZXJ0aWNhbCBhbGlnbm1lbnRcbiAgIC0gVmlzaWJpbGl0eVxuICAgLSBUZXh0IGFsaWdubWVudFxuICAgLSBGbG9hdGluZ1xuKi9cblxuJGJsb2NrLXNlbGVjdG9yOiAnW2NsYXNzKj1cImdyaWQtYmxvY2tcIl0nO1xuXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUsICRwcm9wOiBibG9jaykge1xuICAmOm5vdCgubmctaGlkZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBkaXNwbGF5OiAkcHJvcCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSwgJHByb3A6IGJsb2NrKSB7XG4gICY6bm90KC5uZy1oaWRlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgICAgZGlzcGxheTogJHByb3AgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGhpZGUtZm9yKCRzaXplLCAkcHJvcDogYmxvY2spIHtcbiAgJjpub3QoLm5nLWhpZGUpIHtcbiAgICBkaXNwbGF5OiAkcHJvcCAhaW1wb3J0YW50O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUsICRwcm9wOiBibG9jaykge1xuICAmOm5vdCgubmctaGlkZSkge1xuICAgIGRpc3BsYXk6ICRwcm9wICFpbXBvcnRhbnQ7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHModXRpbGl0aWVzKSB7XG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudFxuICAudi1hbGlnbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICRhbGlnbi12YWx1ZXM6IChcbiAgICAgICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAgICAgJ2NlbnRlcic6IGNlbnRlcixcbiAgICAgICdib3R0b20nOiBmbGV4LWVuZCxcbiAgICApO1xuXG4gICAgQGVhY2ggJG9yaWVudCBpbiAodG9wLCBjZW50ZXIsIGJvdHRvbSkge1xuICAgICAgLmFsaWduLSN7JG9yaWVudH0ge1xuICAgICAgICBhbGlnbi1zZWxmOiBtYXAtZ2V0KCRhbGlnbi12YWx1ZXMsICRvcmllbnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGVhY2ggJG9yaWVudCBpbiAodG9wLCBjZW50ZXIsIGJvdHRvbSkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgLiN7JHNpemV9LWFsaWduLSN7JG9yaWVudH0ge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogbWFwLWdldCgkYWxpZ24tdmFsdWVzLCAkb3JpZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWaXNpYmlsaXR5XG4gIC5oaWRlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgLmludmlzaWJsZSB7IHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICAmI3skYmxvY2stc2VsZWN0b3J9IHsgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUsIGZsZXgpOyB9XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgICYjeyRibG9jay1zZWxlY3Rvcn0geyBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSwgZmxleCk7IH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICAgICYjeyRibG9jay1zZWxlY3Rvcn0geyBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplLCBmbGV4KTsgfVxuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgICAgJiN7JGJsb2NrLXNlbGVjdG9yfSB7IEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUsIGZsZXgpOyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG9yaWVudGF0aW9uIGluIChwb3J0cmFpdCwgbGFuZHNjYXBlKSB7XG4gICAgLmhpZGUtZm9yLSN7JG9yaWVudGF0aW9ufSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRvcmllbnRhdGlvbikge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICYjeyRibG9jay1zZWxlY3Rvcn0geyBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skb3JpZW50YXRpb259IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIFxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkb3JpZW50YXRpb24pIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgJiN7JGJsb2NrLXNlbGVjdG9yfSB7IGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qXG4gICAgVGV4dCBhbGlnbm1lbnRcbiAgKi9cbiAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICB9XG4gICAgXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgICAgICAuI3skc2l6ZX0tb25seS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLypcbiAgICBGbG9hdGluZ1xuICAqL1xuICAuY2xlYXJmaXggeyBAaW5jbHVkZSBjbGVhcmZpeDsgfVxuXG4gIEBlYWNoICRmbG9hdCBpbiAobGVmdCwgcmlnaHQsIG5vbmUpIHtcbiAgICAuZmxvYXQtI3skZmxvYXR9IHtcbiAgICAgIGZsb2F0OiAjeyRmbG9hdH07XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBBcHBzXG4vL1xuLy8gTWl4aW5zXG4vLyAtLS0tLS1cbi8vIFRoZSBmcmFtZXdvcmsgY29tZXMgd2l0aCBhIG51bWJlciBvZiBtaXhpbnMgdGhhdCBoZWxwIHlvdSBlYXNpbHkgY3JlYXRlIGNvbW1vbiBzbWFsbCBjb21wb25lbnRzLFxuLy8gbGlrZSB0cmlhbmdsZXMgYW5kIG1lbnUgaWNvbnMuXG5cbi8vLyBDU1MgVHJpYW5nbGVcbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBwb3B1cCB0YWlscywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7bnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge2NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtrZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoJHRyaWFuZ2xlLXNpemUsICR0cmlhbmdsZS1jb2xvciwgJHRyaWFuZ2xlLWRpcmVjdGlvbikge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHRvcCkge1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBib3R0b20pIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLy8gSGFtYnVyZ2VyXG4vLy8gQ3JlYXRlcyBhIHRocmVlLWxpbmUgbWVudSBpY29uLCBhZmZlY3Rpb25hdGVseSByZWZlcnJlZCB0byBhcyB0aGUgXCJoYW1idXJnZXIgaWNvblwiLlxuLy8vXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBpY29uLCBpbiByZW0gdW5pdHMuXG4vLy8gQHBhcmFtIHtudW1iZXJ8Ym9vbGVhbn0gJGxlZnQgLSBMZWZ0IG9mZnNldCBvZiB0aGUgaWNvbi4gU2V0IHRvIGBmYWxzZWAgdG8gY2VudGVyIHRoZSBpY29uIGhvcml6b250YWxseS5cbi8vLyBAcGFyYW0ge251bWJlcnxib29sZWFufSAkdG9wIC0gVG9wIG9mZnNldCBvZiB0aGUgaWNvbi4gU2V0IHRvIGBmYWxzZWAgdG8gY2VudGVyIHRoZSBpY29uIHZlcnRpY2FsbHkuXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICR0aGlja25lc3MgLSBIZWlnaHQgb2YgZWFjaCBsaW5lIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkZ2FwIC0gQW1vdW50IG9mIHNwYWNlIGJldHdlZW4gZWFjaCBsaW5lLlxuLy8vIEBwYXJhbSB7Y29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBsaW5lcy5cbi8vLyBAcGFyYW0ge2NvbG9yfSAkaG92ZXItY29sb3IgLSBDb2xvciBvZiB0aGUgbGluZXMgb24gaG92ZXIuXG5AbWl4aW4gaGFtYnVyZ2VyKCR3aWR0aCwgJGxlZnQsICR0b3AsICR0aGlja25lc3MsICRnYXAsICRjb2xvciwgJGhvdmVyLWNvbG9yLCAkb2ZmY2FudmFzKSB7XG4gIHNwYW46OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG5cbiAgICBAaWYgJG9mZmNhbnZhcyB7XG4gICAgICBAaWYgJHRvcCB7XG4gICAgICAgIHRvcDogJHRvcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0kd2lkdGgvMjtcbiAgICAgIH1cbiAgICAgIEBpZiAkbGVmdCB7XG4gICAgICAgIGxlZnQ6ICRsZWZ0O1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsZWZ0OiAoJHRhYmJhci1tZW51LWljb24td2lkdGggLSAkd2lkdGgpLzI7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLSR3aWR0aC8yO1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzpcbiAgICAgIDAgMHB4IDAgJHRoaWNrbmVzcyAkY29sb3IsXG4gICAgICAwICRnYXAgKyAkdGhpY2tuZXNzIDAgJHRoaWNrbmVzcyAkY29sb3IsXG4gICAgICAwICgyICogJGdhcCArIDIqJHRoaWNrbmVzcykgMCAkdGhpY2tuZXNzICRjb2xvcjtcbiAgICB3aWR0aDogJHdpZHRoO1xuICB9XG4gIHNwYW46aG92ZXI6YWZ0ZXIge1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAwIDBweCAwICR0aGlja25lc3MgJGhvdmVyLWNvbG9yLFxuICAgICAgMCAkZ2FwICsgJHRoaWNrbmVzcyAwICR0aGlja25lc3MgJGhvdmVyLWNvbG9yLFxuICAgICAgMCAoMiAqICRnYXAgKyAyKiR0aGlja25lc3MpIDAgJHRoaWNrbmVzcyAkaG92ZXItY29sb3I7XG4gIH1cbn1cblxuLy8vIENsZWFyZml4XG4vLy8gVXNlcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy9cbi8vLyBAc2VlIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrL1xuQG1peGluIGNsZWFyZml4IHtcbiAgJjpiZWZvcmUsICY6YWZ0ZXIgeyBjb250ZW50OiBcIiBcIjsgZGlzcGxheTogdGFibGU7IH1cbiAgJjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG59XG5cbi8vLyBJbnZpc2libGUgRWxlbWVudFxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgYWNjZXNzaWJsZS5cbi8vL1xuLy8vIEBzZWUgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG59XG5cbi8vLyBJbnZpc2libGUgRWxlbWVudCBPZmZcbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG59XG5cbiR0ZXh0LWlucHV0LXNlbGVjdG9yczogJ2lucHV0W3R5cGU9XCJ0ZXh0XCJdLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sIGlucHV0W3R5cGU9XCJkYXRlXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSwgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLCBpbnB1dFt0eXBlPVwid2Vla1wiXSwgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLCBpbnB1dFt0eXBlPVwidGVsXCJdLCBpbnB1dFt0eXBlPVwidGltZVwiXSwgaW5wdXRbdHlwZT1cInVybFwiXSwgaW5wdXRbdHlwZT1cImNvbG9yXCJdLCB0ZXh0YXJlYSc7XG4iLCIvKiBcbiAqIEZvdW5kYXRpb24gSWNvbnMgdiAzLjBcbiAqIE1hZGUgYnkgWlVSQiAyMDEzIGh0dHA6Ly96dXJiLmNvbS9wbGF5Z3JvdW5kL2ZvdW5kYXRpb24taWNvbi1mb250cy0zXG4gKiBNSVQgTGljZW5zZVxuICovXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJmb3VuZGF0aW9uLWljb25zXCI7XG4gIHNyYzogdXJsKFwiL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1pY29ucy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuXG4uZmktYWRkcmVzcy1ib29rOmJlZm9yZSxcbi5maS1hbGVydDpiZWZvcmUsXG4uZmktYWxpZ24tY2VudGVyOmJlZm9yZSxcbi5maS1hbGlnbi1qdXN0aWZ5OmJlZm9yZSxcbi5maS1hbGlnbi1sZWZ0OmJlZm9yZSxcbi5maS1hbGlnbi1yaWdodDpiZWZvcmUsXG4uZmktYW5jaG9yOmJlZm9yZSxcbi5maS1hbm5vdGF0ZTpiZWZvcmUsXG4uZmktYXJjaGl2ZTpiZWZvcmUsXG4uZmktYXJyb3ctZG93bjpiZWZvcmUsXG4uZmktYXJyb3ctbGVmdDpiZWZvcmUsXG4uZmktYXJyb3ctcmlnaHQ6YmVmb3JlLFxuLmZpLWFycm93LXVwOmJlZm9yZSxcbi5maS1hcnJvd3MtY29tcHJlc3M6YmVmb3JlLFxuLmZpLWFycm93cy1leHBhbmQ6YmVmb3JlLFxuLmZpLWFycm93cy1pbjpiZWZvcmUsXG4uZmktYXJyb3dzLW91dDpiZWZvcmUsXG4uZmktYXNsOmJlZm9yZSxcbi5maS1hc3RlcmlzazpiZWZvcmUsXG4uZmktYXQtc2lnbjpiZWZvcmUsXG4uZmktYmFja2dyb3VuZC1jb2xvcjpiZWZvcmUsXG4uZmktYmF0dGVyeS1lbXB0eTpiZWZvcmUsXG4uZmktYmF0dGVyeS1mdWxsOmJlZm9yZSxcbi5maS1iYXR0ZXJ5LWhhbGY6YmVmb3JlLFxuLmZpLWJpdGNvaW4tY2lyY2xlOmJlZm9yZSxcbi5maS1iaXRjb2luOmJlZm9yZSxcbi5maS1ibGluZDpiZWZvcmUsXG4uZmktYmx1ZXRvb3RoOmJlZm9yZSxcbi5maS1ib2xkOmJlZm9yZSxcbi5maS1ib29rLWJvb2ttYXJrOmJlZm9yZSxcbi5maS1ib29rOmJlZm9yZSxcbi5maS1ib29rbWFyazpiZWZvcmUsXG4uZmktYnJhaWxsZTpiZWZvcmUsXG4uZmktYnVyc3QtbmV3OmJlZm9yZSxcbi5maS1idXJzdC1zYWxlOmJlZm9yZSxcbi5maS1idXJzdDpiZWZvcmUsXG4uZmktY2FsZW5kYXI6YmVmb3JlLFxuLmZpLWNhbWVyYTpiZWZvcmUsXG4uZmktY2hlY2s6YmVmb3JlLFxuLmZpLWNoZWNrYm94OmJlZm9yZSxcbi5maS1jbGlwYm9hcmQtbm90ZXM6YmVmb3JlLFxuLmZpLWNsaXBib2FyZC1wZW5jaWw6YmVmb3JlLFxuLmZpLWNsaXBib2FyZDpiZWZvcmUsXG4uZmktY2xvY2s6YmVmb3JlLFxuLmZpLWNsb3NlZC1jYXB0aW9uOmJlZm9yZSxcbi5maS1jbG91ZDpiZWZvcmUsXG4uZmktY29tbWVudC1taW51czpiZWZvcmUsXG4uZmktY29tbWVudC1xdW90ZXM6YmVmb3JlLFxuLmZpLWNvbW1lbnQtdmlkZW86YmVmb3JlLFxuLmZpLWNvbW1lbnQ6YmVmb3JlLFxuLmZpLWNvbW1lbnRzOmJlZm9yZSxcbi5maS1jb21wYXNzOmJlZm9yZSxcbi5maS1jb250cmFzdDpiZWZvcmUsXG4uZmktY3JlZGl0LWNhcmQ6YmVmb3JlLFxuLmZpLWNyb3A6YmVmb3JlLFxuLmZpLWNyb3duOmJlZm9yZSxcbi5maS1jc3MzOmJlZm9yZSxcbi5maS1kYXRhYmFzZTpiZWZvcmUsXG4uZmktZGllLWZpdmU6YmVmb3JlLFxuLmZpLWRpZS1mb3VyOmJlZm9yZSxcbi5maS1kaWUtb25lOmJlZm9yZSxcbi5maS1kaWUtc2l4OmJlZm9yZSxcbi5maS1kaWUtdGhyZWU6YmVmb3JlLFxuLmZpLWRpZS10d286YmVmb3JlLFxuLmZpLWRpc2xpa2U6YmVmb3JlLFxuLmZpLWRvbGxhci1iaWxsOmJlZm9yZSxcbi5maS1kb2xsYXI6YmVmb3JlLFxuLmZpLWRvd25sb2FkOmJlZm9yZSxcbi5maS1lamVjdDpiZWZvcmUsXG4uZmktZWxldmF0b3I6YmVmb3JlLFxuLmZpLWV1cm86YmVmb3JlLFxuLmZpLWV5ZTpiZWZvcmUsXG4uZmktZmFzdC1mb3J3YXJkOmJlZm9yZSxcbi5maS1mZW1hbGUtc3ltYm9sOmJlZm9yZSxcbi5maS1mZW1hbGU6YmVmb3JlLFxuLmZpLWZpbHRlcjpiZWZvcmUsXG4uZmktZmlyc3QtYWlkOmJlZm9yZSxcbi5maS1mbGFnOmJlZm9yZSxcbi5maS1mb2xkZXItYWRkOmJlZm9yZSxcbi5maS1mb2xkZXItbG9jazpiZWZvcmUsXG4uZmktZm9sZGVyOmJlZm9yZSxcbi5maS1mb290OmJlZm9yZSxcbi5maS1mb3VuZGF0aW9uOmJlZm9yZSxcbi5maS1ncmFwaC1iYXI6YmVmb3JlLFxuLmZpLWdyYXBoLWhvcml6b250YWw6YmVmb3JlLFxuLmZpLWdyYXBoLXBpZTpiZWZvcmUsXG4uZmktZ3JhcGgtdHJlbmQ6YmVmb3JlLFxuLmZpLWd1aWRlLWRvZzpiZWZvcmUsXG4uZmktaGVhcmluZy1haWQ6YmVmb3JlLFxuLmZpLWhlYXJ0OmJlZm9yZSxcbi5maS1ob21lOmJlZm9yZSxcbi5maS1odG1sNTpiZWZvcmUsXG4uZmktaW5kZW50LWxlc3M6YmVmb3JlLFxuLmZpLWluZGVudC1tb3JlOmJlZm9yZSxcbi5maS1pbmZvOmJlZm9yZSxcbi5maS1pdGFsaWM6YmVmb3JlLFxuLmZpLWtleTpiZWZvcmUsXG4uZmktbGFwdG9wOmJlZm9yZSxcbi5maS1sYXlvdXQ6YmVmb3JlLFxuLmZpLWxpZ2h0YnVsYjpiZWZvcmUsXG4uZmktbGlrZTpiZWZvcmUsXG4uZmktbGluazpiZWZvcmUsXG4uZmktbGlzdC1idWxsZXQ6YmVmb3JlLFxuLmZpLWxpc3QtbnVtYmVyOmJlZm9yZSxcbi5maS1saXN0LXRodW1ibmFpbHM6YmVmb3JlLFxuLmZpLWxpc3Q6YmVmb3JlLFxuLmZpLWxvY2s6YmVmb3JlLFxuLmZpLWxvb3A6YmVmb3JlLFxuLmZpLW1hZ25pZnlpbmctZ2xhc3M6YmVmb3JlLFxuLmZpLW1haWw6YmVmb3JlLFxuLmZpLW1hbGUtZmVtYWxlOmJlZm9yZSxcbi5maS1tYWxlLXN5bWJvbDpiZWZvcmUsXG4uZmktbWFsZTpiZWZvcmUsXG4uZmktbWFwOmJlZm9yZSxcbi5maS1tYXJrZXI6YmVmb3JlLFxuLmZpLW1lZ2FwaG9uZTpiZWZvcmUsXG4uZmktbWljcm9waG9uZTpiZWZvcmUsXG4uZmktbWludXMtY2lyY2xlOmJlZm9yZSxcbi5maS1taW51czpiZWZvcmUsXG4uZmktbW9iaWxlLXNpZ25hbDpiZWZvcmUsXG4uZmktbW9iaWxlOmJlZm9yZSxcbi5maS1tb25pdG9yOmJlZm9yZSxcbi5maS1tb3VudGFpbnM6YmVmb3JlLFxuLmZpLW11c2ljOmJlZm9yZSxcbi5maS1uZXh0OmJlZm9yZSxcbi5maS1uby1kb2dzOmJlZm9yZSxcbi5maS1uby1zbW9raW5nOmJlZm9yZSxcbi5maS1wYWdlLWFkZDpiZWZvcmUsXG4uZmktcGFnZS1jb3B5OmJlZm9yZSxcbi5maS1wYWdlLWNzdjpiZWZvcmUsXG4uZmktcGFnZS1kZWxldGU6YmVmb3JlLFxuLmZpLXBhZ2UtZG9jOmJlZm9yZSxcbi5maS1wYWdlLWVkaXQ6YmVmb3JlLFxuLmZpLXBhZ2UtZXhwb3J0LWNzdjpiZWZvcmUsXG4uZmktcGFnZS1leHBvcnQtZG9jOmJlZm9yZSxcbi5maS1wYWdlLWV4cG9ydC1wZGY6YmVmb3JlLFxuLmZpLXBhZ2UtZXhwb3J0OmJlZm9yZSxcbi5maS1wYWdlLWZpbGxlZDpiZWZvcmUsXG4uZmktcGFnZS1tdWx0aXBsZTpiZWZvcmUsXG4uZmktcGFnZS1wZGY6YmVmb3JlLFxuLmZpLXBhZ2UtcmVtb3ZlOmJlZm9yZSxcbi5maS1wYWdlLXNlYXJjaDpiZWZvcmUsXG4uZmktcGFnZTpiZWZvcmUsXG4uZmktcGFpbnQtYnVja2V0OmJlZm9yZSxcbi5maS1wYXBlcmNsaXA6YmVmb3JlLFxuLmZpLXBhdXNlOmJlZm9yZSxcbi5maS1wYXc6YmVmb3JlLFxuLmZpLXBheXBhbDpiZWZvcmUsXG4uZmktcGVuY2lsOmJlZm9yZSxcbi5maS1waG90bzpiZWZvcmUsXG4uZmktcGxheS1jaXJjbGU6YmVmb3JlLFxuLmZpLXBsYXktdmlkZW86YmVmb3JlLFxuLmZpLXBsYXk6YmVmb3JlLFxuLmZpLXBsdXM6YmVmb3JlLFxuLmZpLXBvdW5kOmJlZm9yZSxcbi5maS1wb3dlcjpiZWZvcmUsXG4uZmktcHJldmlvdXM6YmVmb3JlLFxuLmZpLXByaWNlLXRhZzpiZWZvcmUsXG4uZmktcHJpY2V0YWctbXVsdGlwbGU6YmVmb3JlLFxuLmZpLXByaW50OmJlZm9yZSxcbi5maS1wcm9oaWJpdGVkOmJlZm9yZSxcbi5maS1wcm9qZWN0aW9uLXNjcmVlbjpiZWZvcmUsXG4uZmktcHV6emxlOmJlZm9yZSxcbi5maS1xdW90ZTpiZWZvcmUsXG4uZmktcmVjb3JkOmJlZm9yZSxcbi5maS1yZWZyZXNoOmJlZm9yZSxcbi5maS1yZXN1bHRzLWRlbW9ncmFwaGljczpiZWZvcmUsXG4uZmktcmVzdWx0czpiZWZvcmUsXG4uZmktcmV3aW5kLXRlbjpiZWZvcmUsXG4uZmktcmV3aW5kOmJlZm9yZSxcbi5maS1yc3M6YmVmb3JlLFxuLmZpLXNhZmV0eS1jb25lOmJlZm9yZSxcbi5maS1zYXZlOmJlZm9yZSxcbi5maS1zaGFyZTpiZWZvcmUsXG4uZmktc2hlcmlmZi1iYWRnZTpiZWZvcmUsXG4uZmktc2hpZWxkOmJlZm9yZSxcbi5maS1zaG9wcGluZy1iYWc6YmVmb3JlLFxuLmZpLXNob3BwaW5nLWNhcnQ6YmVmb3JlLFxuLmZpLXNodWZmbGU6YmVmb3JlLFxuLmZpLXNrdWxsOmJlZm9yZSxcbi5maS1zb2NpYWwtNTAwcHg6YmVmb3JlLFxuLmZpLXNvY2lhbC1hZG9iZTpiZWZvcmUsXG4uZmktc29jaWFsLWFtYXpvbjpiZWZvcmUsXG4uZmktc29jaWFsLWFuZHJvaWQ6YmVmb3JlLFxuLmZpLXNvY2lhbC1hcHBsZTpiZWZvcmUsXG4uZmktc29jaWFsLWJlaGFuY2U6YmVmb3JlLFxuLmZpLXNvY2lhbC1iaW5nOmJlZm9yZSxcbi5maS1zb2NpYWwtYmxvZ2dlcjpiZWZvcmUsXG4uZmktc29jaWFsLWRlbGljaW91czpiZWZvcmUsXG4uZmktc29jaWFsLWRlc2lnbmVyLW5ld3M6YmVmb3JlLFxuLmZpLXNvY2lhbC1kZXZpYW50LWFydDpiZWZvcmUsXG4uZmktc29jaWFsLWRpZ2c6YmVmb3JlLFxuLmZpLXNvY2lhbC1kcmliYmJsZTpiZWZvcmUsXG4uZmktc29jaWFsLWRyaXZlOmJlZm9yZSxcbi5maS1zb2NpYWwtZHJvcGJveDpiZWZvcmUsXG4uZmktc29jaWFsLWV2ZXJub3RlOmJlZm9yZSxcbi5maS1zb2NpYWwtZmFjZWJvb2s6YmVmb3JlLFxuLmZpLXNvY2lhbC1mbGlja3I6YmVmb3JlLFxuLmZpLXNvY2lhbC1mb3Jyc3Q6YmVmb3JlLFxuLmZpLXNvY2lhbC1mb3Vyc3F1YXJlOmJlZm9yZSxcbi5maS1zb2NpYWwtZ2FtZS1jZW50ZXI6YmVmb3JlLFxuLmZpLXNvY2lhbC1naXRodWI6YmVmb3JlLFxuLmZpLXNvY2lhbC1nb29nbGUtcGx1czpiZWZvcmUsXG4uZmktc29jaWFsLWhhY2tlci1uZXdzOmJlZm9yZSxcbi5maS1zb2NpYWwtaGk1OmJlZm9yZSxcbi5maS1zb2NpYWwtaW5zdGFncmFtOmJlZm9yZSxcbi5maS1zb2NpYWwtam9vbWxhOmJlZm9yZSxcbi5maS1zb2NpYWwtbGFzdGZtOmJlZm9yZSxcbi5maS1zb2NpYWwtbGlua2VkaW46YmVmb3JlLFxuLmZpLXNvY2lhbC1tZWRpdW06YmVmb3JlLFxuLmZpLXNvY2lhbC1teXNwYWNlOmJlZm9yZSxcbi5maS1zb2NpYWwtb3JrdXQ6YmVmb3JlLFxuLmZpLXNvY2lhbC1wYXRoOmJlZm9yZSxcbi5maS1zb2NpYWwtcGljYXNhOmJlZm9yZSxcbi5maS1zb2NpYWwtcGludGVyZXN0OmJlZm9yZSxcbi5maS1zb2NpYWwtcmRpbzpiZWZvcmUsXG4uZmktc29jaWFsLXJlZGRpdDpiZWZvcmUsXG4uZmktc29jaWFsLXNraWxsc2hhcmU6YmVmb3JlLFxuLmZpLXNvY2lhbC1za3lwZTpiZWZvcmUsXG4uZmktc29jaWFsLXNtYXNoaW5nLW1hZzpiZWZvcmUsXG4uZmktc29jaWFsLXNuYXBjaGF0OmJlZm9yZSxcbi5maS1zb2NpYWwtc3BvdGlmeTpiZWZvcmUsXG4uZmktc29jaWFsLXNxdWlkb286YmVmb3JlLFxuLmZpLXNvY2lhbC1zdGFjay1vdmVyZmxvdzpiZWZvcmUsXG4uZmktc29jaWFsLXN0ZWFtOmJlZm9yZSxcbi5maS1zb2NpYWwtc3R1bWJsZXVwb246YmVmb3JlLFxuLmZpLXNvY2lhbC10cmVlaG91c2U6YmVmb3JlLFxuLmZpLXNvY2lhbC10dW1ibHI6YmVmb3JlLFxuLmZpLXNvY2lhbC10d2l0dGVyOmJlZm9yZSxcbi5maS1zb2NpYWwtdmltZW86YmVmb3JlLFxuLmZpLXNvY2lhbC13aW5kb3dzOmJlZm9yZSxcbi5maS1zb2NpYWwteGJveDpiZWZvcmUsXG4uZmktc29jaWFsLXlhaG9vOmJlZm9yZSxcbi5maS1zb2NpYWwteWVscDpiZWZvcmUsXG4uZmktc29jaWFsLXlvdXR1YmU6YmVmb3JlLFxuLmZpLXNvY2lhbC16ZXJwbHk6YmVmb3JlLFxuLmZpLXNvY2lhbC16dXJiOmJlZm9yZSxcbi5maS1zb3VuZDpiZWZvcmUsXG4uZmktc3RhcjpiZWZvcmUsXG4uZmktc3RvcDpiZWZvcmUsXG4uZmktc3RyaWtldGhyb3VnaDpiZWZvcmUsXG4uZmktc3Vic2NyaXB0OmJlZm9yZSxcbi5maS1zdXBlcnNjcmlwdDpiZWZvcmUsXG4uZmktdGFibGV0LWxhbmRzY2FwZTpiZWZvcmUsXG4uZmktdGFibGV0LXBvcnRyYWl0OmJlZm9yZSxcbi5maS10YXJnZXQtdHdvOmJlZm9yZSxcbi5maS10YXJnZXQ6YmVmb3JlLFxuLmZpLXRlbGVwaG9uZS1hY2Nlc3NpYmxlOmJlZm9yZSxcbi5maS10ZWxlcGhvbmU6YmVmb3JlLFxuLmZpLXRleHQtY29sb3I6YmVmb3JlLFxuLmZpLXRodW1ibmFpbHM6YmVmb3JlLFxuLmZpLXRpY2tldDpiZWZvcmUsXG4uZmktdG9yc28tYnVzaW5lc3M6YmVmb3JlLFxuLmZpLXRvcnNvLWZlbWFsZTpiZWZvcmUsXG4uZmktdG9yc286YmVmb3JlLFxuLmZpLXRvcnNvcy1hbGwtZmVtYWxlOmJlZm9yZSxcbi5maS10b3Jzb3MtYWxsOmJlZm9yZSxcbi5maS10b3Jzb3MtZmVtYWxlLW1hbGU6YmVmb3JlLFxuLmZpLXRvcnNvcy1tYWxlLWZlbWFsZTpiZWZvcmUsXG4uZmktdG9yc29zOmJlZm9yZSxcbi5maS10cmFzaDpiZWZvcmUsXG4uZmktdHJlZXM6YmVmb3JlLFxuLmZpLXRyb3BoeTpiZWZvcmUsXG4uZmktdW5kZXJsaW5lOmJlZm9yZSxcbi5maS11bml2ZXJzYWwtYWNjZXNzOmJlZm9yZSxcbi5maS11bmxpbms6YmVmb3JlLFxuLmZpLXVubG9jazpiZWZvcmUsXG4uZmktdXBsb2FkLWNsb3VkOmJlZm9yZSxcbi5maS11cGxvYWQ6YmVmb3JlLFxuLmZpLXVzYjpiZWZvcmUsXG4uZmktdmlkZW86YmVmb3JlLFxuLmZpLXZvbHVtZS1ub25lOmJlZm9yZSxcbi5maS12b2x1bWUtc3RyaWtlOmJlZm9yZSxcbi5maS12b2x1bWU6YmVmb3JlLFxuLmZpLXdlYjpiZWZvcmUsXG4uZmktd2hlZWxjaGFpcjpiZWZvcmUsXG4uZmktd2lkZ2V0OmJlZm9yZSxcbi5maS13cmVuY2g6YmVmb3JlLFxuLmZpLXgtY2lyY2xlOmJlZm9yZSxcbi5maS14OmJlZm9yZSxcbi5maS15ZW46YmVmb3JlLFxuLmZpLXpvb20taW46YmVmb3JlLFxuLmZpLXpvb20tb3V0OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcImZvdW5kYXRpb24taWNvbnNcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG59XG5cbi5maS1hZGRyZXNzLWJvb2s6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMDBcIjsgfVxuLmZpLWFsZXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTAxXCI7IH1cbi5maS1hbGlnbi1jZW50ZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMDJcIjsgfVxuLmZpLWFsaWduLWp1c3RpZnk6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMDNcIjsgfVxuLmZpLWFsaWduLWxlZnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMDRcIjsgfVxuLmZpLWFsaWduLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTA1XCI7IH1cbi5maS1hbmNob3I6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMDZcIjsgfVxuLmZpLWFubm90YXRlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTA3XCI7IH1cbi5maS1hcmNoaXZlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTA4XCI7IH1cbi5maS1hcnJvdy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTA5XCI7IH1cbi5maS1hcnJvdy1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTBhXCI7IH1cbi5maS1hcnJvdy1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEwYlwiOyB9XG4uZmktYXJyb3ctdXA6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMGNcIjsgfVxuLmZpLWFycm93cy1jb21wcmVzczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEwZFwiOyB9XG4uZmktYXJyb3dzLWV4cGFuZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEwZVwiOyB9XG4uZmktYXJyb3dzLWluOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTBmXCI7IH1cbi5maS1hcnJvd3Mtb3V0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTEwXCI7IH1cbi5maS1hc2w6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMTFcIjsgfVxuLmZpLWFzdGVyaXNrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTEyXCI7IH1cbi5maS1hdC1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTEzXCI7IH1cbi5maS1iYWNrZ3JvdW5kLWNvbG9yOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTE0XCI7IH1cbi5maS1iYXR0ZXJ5LWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTE1XCI7IH1cbi5maS1iYXR0ZXJ5LWZ1bGw6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMTZcIjsgfVxuLmZpLWJhdHRlcnktaGFsZjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjExN1wiOyB9XG4uZmktYml0Y29pbi1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMThcIjsgfVxuLmZpLWJpdGNvaW46YmVmb3JlIHsgY29udGVudDogXCJcXGYxMTlcIjsgfVxuLmZpLWJsaW5kOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTFhXCI7IH1cbi5maS1ibHVldG9vdGg6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMWJcIjsgfVxuLmZpLWJvbGQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMWNcIjsgfVxuLmZpLWJvb2stYm9va21hcms6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMWRcIjsgfVxuLmZpLWJvb2s6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMWVcIjsgfVxuLmZpLWJvb2ttYXJrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTFmXCI7IH1cbi5maS1icmFpbGxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTIwXCI7IH1cbi5maS1idXJzdC1uZXc6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMjFcIjsgfVxuLmZpLWJ1cnN0LXNhbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMjJcIjsgfVxuLmZpLWJ1cnN0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTIzXCI7IH1cbi5maS1jYWxlbmRhcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEyNFwiOyB9XG4uZmktY2FtZXJhOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTI1XCI7IH1cbi5maS1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEyNlwiOyB9XG4uZmktY2hlY2tib3g6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMjdcIjsgfVxuLmZpLWNsaXBib2FyZC1ub3RlczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEyOFwiOyB9XG4uZmktY2xpcGJvYXJkLXBlbmNpbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEyOVwiOyB9XG4uZmktY2xpcGJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTJhXCI7IH1cbi5maS1jbG9jazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEyYlwiOyB9XG4uZmktY2xvc2VkLWNhcHRpb246YmVmb3JlIHsgY29udGVudDogXCJcXGYxMmNcIjsgfVxuLmZpLWNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTJkXCI7IH1cbi5maS1jb21tZW50LW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTJlXCI7IH1cbi5maS1jb21tZW50LXF1b3RlczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEyZlwiOyB9XG4uZmktY29tbWVudC12aWRlbzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEzMFwiOyB9XG4uZmktY29tbWVudDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEzMVwiOyB9XG4uZmktY29tbWVudHM6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMzJcIjsgfVxuLmZpLWNvbXBhc3M6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMzNcIjsgfVxuLmZpLWNvbnRyYXN0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTM0XCI7IH1cbi5maS1jcmVkaXQtY2FyZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEzNVwiOyB9XG4uZmktY3JvcDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEzNlwiOyB9XG4uZmktY3Jvd246YmVmb3JlIHsgY29udGVudDogXCJcXGYxMzdcIjsgfVxuLmZpLWNzczM6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMzhcIjsgfVxuLmZpLWRhdGFiYXNlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTM5XCI7IH1cbi5maS1kaWUtZml2ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEzYVwiOyB9XG4uZmktZGllLWZvdXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYxM2JcIjsgfVxuLmZpLWRpZS1vbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxM2NcIjsgfVxuLmZpLWRpZS1zaXg6YmVmb3JlIHsgY29udGVudDogXCJcXGYxM2RcIjsgfVxuLmZpLWRpZS10aHJlZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEzZVwiOyB9XG4uZmktZGllLXR3bzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEzZlwiOyB9XG4uZmktZGlzbGlrZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE0MFwiOyB9XG4uZmktZG9sbGFyLWJpbGw6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNDFcIjsgfVxuLmZpLWRvbGxhcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE0MlwiOyB9XG4uZmktZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNDNcIjsgfVxuLmZpLWVqZWN0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTQ0XCI7IH1cbi5maS1lbGV2YXRvcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE0NVwiOyB9XG4uZmktZXVybzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE0NlwiOyB9XG4uZmktZXllOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTQ3XCI7IH1cbi5maS1mYXN0LWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNDhcIjsgfVxuLmZpLWZlbWFsZS1zeW1ib2w6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNDlcIjsgfVxuLmZpLWZlbWFsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE0YVwiOyB9XG4uZmktZmlsdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTRiXCI7IH1cbi5maS1maXJzdC1haWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNGNcIjsgfVxuLmZpLWZsYWc6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNGRcIjsgfVxuLmZpLWZvbGRlci1hZGQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNGVcIjsgfVxuLmZpLWZvbGRlci1sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTRmXCI7IH1cbi5maS1mb2xkZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNTBcIjsgfVxuLmZpLWZvb3Q6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNTFcIjsgfVxuLmZpLWZvdW5kYXRpb246YmVmb3JlIHsgY29udGVudDogXCJcXGYxNTJcIjsgfVxuLmZpLWdyYXBoLWJhcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE1M1wiOyB9XG4uZmktZ3JhcGgtaG9yaXpvbnRhbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE1NFwiOyB9XG4uZmktZ3JhcGgtcGllOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTU1XCI7IH1cbi5maS1ncmFwaC10cmVuZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE1NlwiOyB9XG4uZmktZ3VpZGUtZG9nOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTU3XCI7IH1cbi5maS1oZWFyaW5nLWFpZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE1OFwiOyB9XG4uZmktaGVhcnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNTlcIjsgfVxuLmZpLWhvbWU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNWFcIjsgfVxuLmZpLWh0bWw1OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTViXCI7IH1cbi5maS1pbmRlbnQtbGVzczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE1Y1wiOyB9XG4uZmktaW5kZW50LW1vcmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNWRcIjsgfVxuLmZpLWluZm86YmVmb3JlIHsgY29udGVudDogXCJcXGYxNWVcIjsgfVxuLmZpLWl0YWxpYzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE1ZlwiOyB9XG4uZmkta2V5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTYwXCI7IH1cbi5maS1sYXB0b3A6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNjFcIjsgfVxuLmZpLWxheW91dDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2MlwiOyB9XG4uZmktbGlnaHRidWxiOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTYzXCI7IH1cbi5maS1saWtlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTY0XCI7IH1cbi5maS1saW5rOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTY1XCI7IH1cbi5maS1saXN0LWJ1bGxldDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2NlwiOyB9XG4uZmktbGlzdC1udW1iZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNjdcIjsgfVxuLmZpLWxpc3QtdGh1bWJuYWlsczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2OFwiOyB9XG4uZmktbGlzdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2OVwiOyB9XG4uZmktbG9jazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2YVwiOyB9XG4uZmktbG9vcDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2YlwiOyB9XG4uZmktbWFnbmlmeWluZy1nbGFzczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2Y1wiOyB9XG4uZmktbWFpbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2ZFwiOyB9XG4uZmktbWFsZS1mZW1hbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNmVcIjsgfVxuLmZpLW1hbGUtc3ltYm9sOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTZmXCI7IH1cbi5maS1tYWxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTcwXCI7IH1cbi5maS1tYXA6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNzFcIjsgfVxuLmZpLW1hcmtlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE3MlwiOyB9XG4uZmktbWVnYXBob25lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTczXCI7IH1cbi5maS1taWNyb3Bob25lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTc0XCI7IH1cbi5maS1taW51cy1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNzVcIjsgfVxuLmZpLW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTc2XCI7IH1cbi5maS1tb2JpbGUtc2lnbmFsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTc3XCI7IH1cbi5maS1tb2JpbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNzhcIjsgfVxuLmZpLW1vbml0b3I6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNzlcIjsgfVxuLmZpLW1vdW50YWluczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE3YVwiOyB9XG4uZmktbXVzaWM6YmVmb3JlIHsgY29udGVudDogXCJcXGYxN2JcIjsgfVxuLmZpLW5leHQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxN2NcIjsgfVxuLmZpLW5vLWRvZ3M6YmVmb3JlIHsgY29udGVudDogXCJcXGYxN2RcIjsgfVxuLmZpLW5vLXNtb2tpbmc6YmVmb3JlIHsgY29udGVudDogXCJcXGYxN2VcIjsgfVxuLmZpLXBhZ2UtYWRkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTdmXCI7IH1cbi5maS1wYWdlLWNvcHk6YmVmb3JlIHsgY29udGVudDogXCJcXGYxODBcIjsgfVxuLmZpLXBhZ2UtY3N2OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTgxXCI7IH1cbi5maS1wYWdlLWRlbGV0ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE4MlwiOyB9XG4uZmktcGFnZS1kb2M6YmVmb3JlIHsgY29udGVudDogXCJcXGYxODNcIjsgfVxuLmZpLXBhZ2UtZWRpdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE4NFwiOyB9XG4uZmktcGFnZS1leHBvcnQtY3N2OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTg1XCI7IH1cbi5maS1wYWdlLWV4cG9ydC1kb2M6YmVmb3JlIHsgY29udGVudDogXCJcXGYxODZcIjsgfVxuLmZpLXBhZ2UtZXhwb3J0LXBkZjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE4N1wiOyB9XG4uZmktcGFnZS1leHBvcnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxODhcIjsgfVxuLmZpLXBhZ2UtZmlsbGVkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTg5XCI7IH1cbi5maS1wYWdlLW11bHRpcGxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMThhXCI7IH1cbi5maS1wYWdlLXBkZjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE4YlwiOyB9XG4uZmktcGFnZS1yZW1vdmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOGNcIjsgfVxuLmZpLXBhZ2Utc2VhcmNoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMThkXCI7IH1cbi5maS1wYWdlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMThlXCI7IH1cbi5maS1wYWludC1idWNrZXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOGZcIjsgfVxuLmZpLXBhcGVyY2xpcDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5MFwiOyB9XG4uZmktcGF1c2U6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOTFcIjsgfVxuLmZpLXBhdzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5MlwiOyB9XG4uZmktcGF5cGFsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTkzXCI7IH1cbi5maS1wZW5jaWw6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOTRcIjsgfVxuLmZpLXBob3RvOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTk1XCI7IH1cbi5maS1wbGF5LWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5NlwiOyB9XG4uZmktcGxheS12aWRlbzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5N1wiOyB9XG4uZmktcGxheTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5OFwiOyB9XG4uZmktcGx1czpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5OVwiOyB9XG4uZmktcG91bmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOWFcIjsgfVxuLmZpLXBvd2VyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTliXCI7IH1cbi5maS1wcmV2aW91czpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5Y1wiOyB9XG4uZmktcHJpY2UtdGFnOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTlkXCI7IH1cbi5maS1wcmljZXRhZy1tdWx0aXBsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5ZVwiOyB9XG4uZmktcHJpbnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOWZcIjsgfVxuLmZpLXByb2hpYml0ZWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYTBcIjsgfVxuLmZpLXByb2plY3Rpb24tc2NyZWVuOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWExXCI7IH1cbi5maS1wdXp6bGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYTJcIjsgfVxuLmZpLXF1b3RlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWEzXCI7IH1cbi5maS1yZWNvcmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYTRcIjsgfVxuLmZpLXJlZnJlc2g6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYTVcIjsgfVxuLmZpLXJlc3VsdHMtZGVtb2dyYXBoaWNzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWE2XCI7IH1cbi5maS1yZXN1bHRzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWE3XCI7IH1cbi5maS1yZXdpbmQtdGVuOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWE4XCI7IH1cbi5maS1yZXdpbmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYTlcIjsgfVxuLmZpLXJzczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFhYVwiOyB9XG4uZmktc2FmZXR5LWNvbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYWJcIjsgfVxuLmZpLXNhdmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYWNcIjsgfVxuLmZpLXNoYXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWFkXCI7IH1cbi5maS1zaGVyaWZmLWJhZGdlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWFlXCI7IH1cbi5maS1zaGllbGQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYWZcIjsgfVxuLmZpLXNob3BwaW5nLWJhZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiMFwiOyB9XG4uZmktc2hvcHBpbmctY2FydDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiMVwiOyB9XG4uZmktc2h1ZmZsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiMlwiOyB9XG4uZmktc2t1bGw6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYjNcIjsgfVxuLmZpLXNvY2lhbC01MDBweDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiNFwiOyB9XG4uZmktc29jaWFsLWFkb2JlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWI1XCI7IH1cbi5maS1zb2NpYWwtYW1hem9uOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWI2XCI7IH1cbi5maS1zb2NpYWwtYW5kcm9pZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiN1wiOyB9XG4uZmktc29jaWFsLWFwcGxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWI4XCI7IH1cbi5maS1zb2NpYWwtYmVoYW5jZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiOVwiOyB9XG4uZmktc29jaWFsLWJpbmc6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYmFcIjsgfVxuLmZpLXNvY2lhbC1ibG9nZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWJiXCI7IH1cbi5maS1zb2NpYWwtZGVsaWNpb3VzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWJjXCI7IH1cbi5maS1zb2NpYWwtZGVzaWduZXItbmV3czpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiZFwiOyB9XG4uZmktc29jaWFsLWRldmlhbnQtYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWJlXCI7IH1cbi5maS1zb2NpYWwtZGlnZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiZlwiOyB9XG4uZmktc29jaWFsLWRyaWJiYmxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWMwXCI7IH1cbi5maS1zb2NpYWwtZHJpdmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYzFcIjsgfVxuLmZpLXNvY2lhbC1kcm9wYm94OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWMyXCI7IH1cbi5maS1zb2NpYWwtZXZlcm5vdGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYzNcIjsgfVxuLmZpLXNvY2lhbC1mYWNlYm9vazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFjNFwiOyB9XG4uZmktc29jaWFsLWZsaWNrcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFjNVwiOyB9XG4uZmktc29jaWFsLWZvcnJzdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFjNlwiOyB9XG4uZmktc29jaWFsLWZvdXJzcXVhcmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYzdcIjsgfVxuLmZpLXNvY2lhbC1nYW1lLWNlbnRlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFjOFwiOyB9XG4uZmktc29jaWFsLWdpdGh1YjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFjOVwiOyB9XG4uZmktc29jaWFsLWdvb2dsZS1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWNhXCI7IH1cbi5maS1zb2NpYWwtaGFja2VyLW5ld3M6YmVmb3JlIHsgY29udGVudDogXCJcXGYxY2JcIjsgfVxuLmZpLXNvY2lhbC1oaTU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxY2NcIjsgfVxuLmZpLXNvY2lhbC1pbnN0YWdyYW06YmVmb3JlIHsgY29udGVudDogXCJcXGYxY2RcIjsgfVxuLmZpLXNvY2lhbC1qb29tbGE6YmVmb3JlIHsgY29udGVudDogXCJcXGYxY2VcIjsgfVxuLmZpLXNvY2lhbC1sYXN0Zm06YmVmb3JlIHsgY29udGVudDogXCJcXGYxY2ZcIjsgfVxuLmZpLXNvY2lhbC1saW5rZWRpbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFkMFwiOyB9XG4uZmktc29jaWFsLW1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFkMVwiOyB9XG4uZmktc29jaWFsLW15c3BhY2U6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZDJcIjsgfVxuLmZpLXNvY2lhbC1vcmt1dDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFkM1wiOyB9XG4uZmktc29jaWFsLXBhdGg6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZDRcIjsgfVxuLmZpLXNvY2lhbC1waWNhc2E6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZDVcIjsgfVxuLmZpLXNvY2lhbC1waW50ZXJlc3Q6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZDZcIjsgfVxuLmZpLXNvY2lhbC1yZGlvOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWQ3XCI7IH1cbi5maS1zb2NpYWwtcmVkZGl0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWQ4XCI7IH1cbi5maS1zb2NpYWwtc2tpbGxzaGFyZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFkOVwiOyB9XG4uZmktc29jaWFsLXNreXBlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWRhXCI7IH1cbi5maS1zb2NpYWwtc21hc2hpbmctbWFnOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWRiXCI7IH1cbi5maS1zb2NpYWwtc25hcGNoYXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZGNcIjsgfVxuLmZpLXNvY2lhbC1zcG90aWZ5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWRkXCI7IH1cbi5maS1zb2NpYWwtc3F1aWRvbzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFkZVwiOyB9XG4uZmktc29jaWFsLXN0YWNrLW92ZXJmbG93OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWRmXCI7IH1cbi5maS1zb2NpYWwtc3RlYW06YmVmb3JlIHsgY29udGVudDogXCJcXGYxZTBcIjsgfVxuLmZpLXNvY2lhbC1zdHVtYmxldXBvbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFlMVwiOyB9XG4uZmktc29jaWFsLXRyZWVob3VzZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFlMlwiOyB9XG4uZmktc29jaWFsLXR1bWJscjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFlM1wiOyB9XG4uZmktc29jaWFsLXR3aXR0ZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZTRcIjsgfVxuLmZpLXNvY2lhbC12aW1lbzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFlNVwiOyB9XG4uZmktc29jaWFsLXdpbmRvd3M6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZTZcIjsgfVxuLmZpLXNvY2lhbC14Ym94OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWU3XCI7IH1cbi5maS1zb2NpYWwteWFob286YmVmb3JlIHsgY29udGVudDogXCJcXGYxZThcIjsgfVxuLmZpLXNvY2lhbC15ZWxwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWU5XCI7IH1cbi5maS1zb2NpYWwteW91dHViZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFlYVwiOyB9XG4uZmktc29jaWFsLXplcnBseTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFlYlwiOyB9XG4uZmktc29jaWFsLXp1cmI6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZWNcIjsgfVxuLmZpLXNvdW5kOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWVkXCI7IH1cbi5maS1zdGFyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWVlXCI7IH1cbi5maS1zdG9wOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWVmXCI7IH1cbi5maS1zdHJpa2V0aHJvdWdoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWYwXCI7IH1cbi5maS1zdWJzY3JpcHQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZjFcIjsgfVxuLmZpLXN1cGVyc2NyaXB0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWYyXCI7IH1cbi5maS10YWJsZXQtbGFuZHNjYXBlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWYzXCI7IH1cbi5maS10YWJsZXQtcG9ydHJhaXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZjRcIjsgfVxuLmZpLXRhcmdldC10d286YmVmb3JlIHsgY29udGVudDogXCJcXGYxZjVcIjsgfVxuLmZpLXRhcmdldDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFmNlwiOyB9XG4uZmktdGVsZXBob25lLWFjY2Vzc2libGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZjdcIjsgfVxuLmZpLXRlbGVwaG9uZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFmOFwiOyB9XG4uZmktdGV4dC1jb2xvcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFmOVwiOyB9XG4uZmktdGh1bWJuYWlsczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFmYVwiOyB9XG4uZmktdGlja2V0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWZiXCI7IH1cbi5maS10b3Jzby1idXNpbmVzczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFmY1wiOyB9XG4uZmktdG9yc28tZmVtYWxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWZkXCI7IH1cbi5maS10b3JzbzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFmZVwiOyB9XG4uZmktdG9yc29zLWFsbC1mZW1hbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZmZcIjsgfVxuLmZpLXRvcnNvcy1hbGw6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMDBcIjsgfVxuLmZpLXRvcnNvcy1mZW1hbGUtbWFsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwMVwiOyB9XG4uZmktdG9yc29zLW1hbGUtZmVtYWxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjAyXCI7IH1cbi5maS10b3Jzb3M6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMDNcIjsgfVxuLmZpLXRyYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjA0XCI7IH1cbi5maS10cmVlczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwNVwiOyB9XG4uZmktdHJvcGh5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjA2XCI7IH1cbi5maS11bmRlcmxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMDdcIjsgfVxuLmZpLXVuaXZlcnNhbC1hY2Nlc3M6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMDhcIjsgfVxuLmZpLXVubGluazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwOVwiOyB9XG4uZmktdW5sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjBhXCI7IH1cbi5maS11cGxvYWQtY2xvdWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMGJcIjsgfVxuLmZpLXVwbG9hZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwY1wiOyB9XG4uZmktdXNiOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjBkXCI7IH1cbi5maS12aWRlbzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwZVwiOyB9XG4uZmktdm9sdW1lLW5vbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMGZcIjsgfVxuLmZpLXZvbHVtZS1zdHJpa2U6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMTBcIjsgfVxuLmZpLXZvbHVtZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIxMVwiOyB9XG4uZmktd2ViOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjEyXCI7IH1cbi5maS13aGVlbGNoYWlyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjEzXCI7IH1cbi5maS13aWRnZXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMTRcIjsgfVxuLmZpLXdyZW5jaDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIxNVwiOyB9XG4uZmkteC1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMTZcIjsgfVxuLmZpLXg6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMTdcIjsgfVxuLmZpLXllbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIxOFwiOyB9XG4uZmktem9vbS1pbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIxOVwiOyB9XG4uZmktem9vbS1vdXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMWFcIjsgfVxuIiwiLypcbiAgVElUTEUgQkFSXG4gIC0tLS0tLS0tLVxuXG4gIEEgbmF2aWdhdGlvbmFsIGNvbXBvbmVudCB3aGljaCBjYW4gZGlzcGxheSB0aGUgY3VycmVudCBzY3JlZW4gdGhlIHVzZXIgaXMgb24sIGFsb25nIHdpdGggYWRkaXRpb25hbCBjb250cm9scyBvciBtZW51IGl0ZW1zLlxuXG4gIFRoZSB0aXRsZSBiYXIgaW5jbHVkZXMgY2xhc3NlcyB0byBjcmVhdGUgY2VudGVyLCBsZWZ0LCBhbmQgcmlnaHQgc2VjdGlvbnMsIHdoaWNoIGNhbiBiZSB1c2VkIGluIGFueSBjb21iaW5hdGlvbi4gSG93ZXZlciwgaW4gdGhlIG1hcmt1cCwgdGhlIHNlY3Rpb25zIG11c3QgY29tZSBpbiB0aGlzIG9yZGVyOlxuICAgLSBDZW50ZXJcbiAgIC0gTGVmdFxuICAgLSBSaWdodFxuKi9cblxuLy8vIEBGb3VuZGF0aW9uLnNldHRpbmdzXG4vLyBUaXRsZSBCYXJcbiR0aXRsZWJhci1jZW50ZXItd2lkdGg6IDUwJSAhZGVmYXVsdDtcbiR0aXRsZWJhci1zaWRlLXdpZHRoOiAoMTAwJSAtICR0aXRsZWJhci1jZW50ZXItd2lkdGgpIC8gMiAhZGVmYXVsdDtcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAjZWVlICFkZWZhdWx0O1xuJHRpdGxlYmFyLWNvbG9yOiAjMDAwICFkZWZhdWx0O1xuJHRpdGxlYmFyLWJvcmRlcjogMXB4IHNvbGlkICNjY2MgIWRlZmF1bHQ7XG4kdGl0bGViYXItcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuJHRpdGxlYmFyLWl0ZW0tY2xhc3NlczogKFxuICBjZW50ZXI6ICdjZW50ZXInLFxuICBsZWZ0OiAnbGVmdCcsXG4gIHJpZ2h0OiAncmlnaHQnLFxuICB0aXRsZTogJ3RpdGxlJyxcbikgIWRlZmF1bHQ7XG4vLy9cblxuJXRpdGxlLWJhciB7XG4gICRjZW50ZXI6IG1hcC1nZXQoJHRpdGxlYmFyLWl0ZW0tY2xhc3NlcywgY2VudGVyKTtcbiAgJGxlZnQ6IG1hcC1nZXQoJHRpdGxlYmFyLWl0ZW0tY2xhc3NlcywgbGVmdCk7XG4gICRyaWdodDogbWFwLWdldCgkdGl0bGViYXItaXRlbS1jbGFzc2VzLCByaWdodCk7XG4gICR0aXRsZTogbWFwLWdldCgkdGl0bGViYXItaXRlbS1jbGFzc2VzLCB0aXRsZSk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgLy8gRGVub3RlcyB0aGUgdGl0bGUgb2YgdGhlIGJhclxuICAuI3skdGl0bGV9IHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC8vIERlbm90ZXMgbGVmdCwgcmlnaHQsIGFuZCBjZW50ZXIgc2VjdGlvbnMgb2YgdGhlIGJhclxuICAuI3skbGVmdH0sIC4jeyRjZW50ZXJ9LCAuI3skcmlnaHR9IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgLy8gSWYgb25seSBvbmUgc2VjdGlvbiBpcyBpbiB1c2UsIHN0cmV0Y2ggaXQgYWxsIHRoZSB3YXkgb3V0XG4gICAgJjpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gTGVmdCBhbHdheXMgY29tZXMgZmlyc3QsIHRoZW4gY2VudGVyLCB0aGVuIHJpZ2h0XG4gIC8vIFRoZSBsZWZ0IGFuZCByaWdodCBzZWN0aW9ucyBoYXZlIHRoZSBzYW1lIHdpZHRoXG4gIC4jeyRsZWZ0fSB7XG4gICAgb3JkZXI6IDE7XG4gICAgZmxleDogMCAwICR0aXRsZWJhci1zaWRlLXdpZHRoO1xuICB9XG4gIC4jeyRjZW50ZXJ9IHtcbiAgICBvcmRlcjogMjtcbiAgICBmbGV4OiAwIDAgJHRpdGxlYmFyLWNlbnRlci13aWR0aDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLiN7JHJpZ2h0fSB7XG4gICAgb3JkZXI6IDM7XG4gICAgZmxleDogMCAwICR0aXRsZWJhci1zaWRlLXdpZHRoO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgLy8gSWYgb25seSBsZWZ0IGFuZCByaWdodCBhcmUgaW4gdXNlLCBzdHJldGNoIHRoZW0gYm90aCBvdXQgZXF1YWxseVxuICAuI3skbGVmdH06Zmlyc3QtY2hpbGQge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG4gIC4jeyRsZWZ0fTpmaXJzdC1jaGlsZCArIC4jeyRyaWdodH06bGFzdC1jaGlsZCB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAvLyBJZiBvbmx5IGNlbnRlciBhbmQgcmlnaHQgYXJlIGluIHVzZSwgc2hpZnQgdGhlIGNlbnRlciBzZWN0aW9uIGludG8gdGhlIHJpZ2h0IHBvc2l0aW9uXG4gIC4jeyRjZW50ZXJ9OmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1sZWZ0OiAkdGl0bGViYXItc2lkZS13aWR0aDtcbiAgfVxuICAvLyBJZiBvbmx5IGNlbnRlciBhbmQgbGVmdCBhcmUgaW4gdXNlLCBvdmVycmlkZSB0aGUgYWJvdmUgc3R5bGVcbiAgLiN7JGNlbnRlcn0gKyAuI3skbGVmdH0ge1xuICAgIG1hcmdpbi1yaWdodDogLSgkdGl0bGViYXItc2lkZS13aWR0aCk7XG4gIH1cbn1cblxuQG1peGluIHRpdGxlLWJhci1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0aXRsZWJhci1jb2xvcixcbiAgJGJvcmRlcjogJHRpdGxlYmFyLWJvcmRlcixcbiAgJHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nXG4pIHtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xufVxuXG5AbWl4aW4gdGl0bGUtYmFyKFxuICAkYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRpdGxlYmFyLWNvbG9yLFxuICAkYm9yZGVyOiAkdGl0bGViYXItYm9yZGVyLFxuICAkcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmdcbikge1xuICBAZXh0ZW5kICV0aXRsZS1iYXI7XG4gIEBpbmNsdWRlIHRpdGxlLWJhci1zdHlsZSgkYmFja2dyb3VuZCwgJGNvbG9yLCAkYm9yZGVyLCAkcGFkZGluZyk7XG59XG5cbkBpbmNsdWRlIGV4cG9ydHModGl0bGUtYmFyKSB7XG4gIC50aXRsZS1iYXIge1xuICAgIEBpbmNsdWRlIHRpdGxlLWJhcjtcblxuICAgICYucHJpbWFyeSB7XG4gICAgICBAaW5jbHVkZSB0aXRsZS1iYXItc3R5bGUoJHByaW1hcnktY29sb3IsIGlzaXRsaWdodCgkcHJpbWFyeS1jb2xvcikpO1xuICAgICAgYSwgYTpob3ZlciB7IGNvbG9yOiBpc2l0bGlnaHQoJHByaW1hcnktY29sb3IpOyB9XG4gICAgICBAaWYgdXNpbmcoaWNvbmljKSB7IC5pY29uaWMgeyBAaW5jbHVkZSBjb2xvci1pY29uKGlzaXRsaWdodCgkcHJpbWFyeS1jb2xvcikpOyB9IH1cbiAgICB9XG4gICAgJi5kYXJrIHtcbiAgICAgIEBpbmNsdWRlIHRpdGxlLWJhci1zdHlsZSgkZGFyay1jb2xvciwgI2ZmZik7XG4gICAgICBhLCBhOmhvdmVyIHsgY29sb3I6ICNmZmY7IH1cbiAgICAgIEBpZiB1c2luZyhpY29uaWMpIHsgLmljb25pYyB7IEBpbmNsdWRlIGNvbG9yLWljb24oI2ZmZik7IH0gfVxuICAgIH1cbiAgfVxuICAgIC50aXRsZS1iYXItYm90dG9tIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBib3JkZXItdG9wOiAkdGl0bGViYXItYm9yZGVyO1xuICAgIH1cbn1cbiIsIi8vIElDT05JQ1xuLy8gLS0tLS0tXG4vL1xuLy8gQSBzYW1wbGUgb2YgMjQgZmxleGlibGUsIGVhc2lseSBzY2hlbWFibGUgaWNvbnMgZnJvbSB0aGUgZm9sa3MgYXQgSWNvbmljLlxuLy8gXG4vLyBGZWF0dXJlczpcbi8vICAtIDI0IGljb25zXG4vLyAgLSBCdWlsdC1pbiBjb2xvcmluZyBhbmQgc2l6aW5nIGNsYXNzZXNcbi8vICAtIENvbG9yaW5nIG1peGluXG4vLyAgLSBBbmd1bGFyIHN1cHBvcnRcblxuLy8vIEBGb3VuZGF0aW9uLnNldHRpbmdzXG4vLyBJY29uaWNcbiRpY29uaWMtcHJpbWFyeS1maWxsOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRpY29uaWMtcHJpbWFyeS1zdHJva2U6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGljb25pYy1hY2NlbnQtZmlsbDogJGljb25pYy1wcmltYXJ5LWZpbGwgIWRlZmF1bHQ7XG4kaWNvbmljLWFjY2VudC1zdHJva2U6ICRpY29uaWMtYWNjZW50LWZpbGwgIWRlZmF1bHQ7XG4vLy9cblxuLy8gQ29sb3JzIHRoZSBmaWxsLCBhbmQgb3B0aW9uYWxseSBzdHJva2UsIGFjY2VudCBmaWxsLCBhbmQgYWNjZW50IHN0cm9rZSBvZiBhbiBJY29uaWMgaWNvbi5cbkBtaXhpbiBjb2xvci1pY29uKFxuICAkZmlsbCxcbiAgJHN0cm9rZTogbnVsbCxcbiAgJGZpbGxBY2NlbnQ6IG51bGwsXG4gICRzdHJva2VBY2NlbnQ6IG51bGxcbikge1xuICAqIHtcbiAgICBmaWxsOiAkZmlsbDtcblxuICAgIC8vIFVzZSB0aGUgZmlsbCBjb2xvciBpZiBubyBzdHJva2UgaXMgcHJvdmlkZWRcbiAgICBAaWYgaGFzdmFsdWUoJHN0cm9rZSkge1xuICAgICAgc3Ryb2tlOiAkc3Ryb2tlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBzdHJva2U6ICRmaWxsO1xuICAgIH1cblxuICAgICYuaWNvbmljLXByb3BlcnR5LWFjY2VudCB7XG4gICAgICAvLyBVc2UgdGhlIGZpbGwgY29sb3IgaWYgbm8gYWNjZW50IGlzIHByb3ZpZGVkXG4gICAgICBAaWYgaGFzdmFsdWUoJGZpbGxBY2NlbnQpIHtcbiAgICAgICAgZmlsbDogJGZpbGxBY2NlbnQ7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGZpbGw6ICRmaWxsO1xuICAgICAgfVxuXG4gICAgICAvLyBVc2UgdGhlIG5vcm1hbCBzdHJva2UgY29sb3IgaWYgbm8gYWNjZW50IGlzIHByb3ZpZGVkXG4gICAgICBAaWYgaGFzdmFsdWUoJHN0cm9rZUFjY2VudCkge1xuICAgICAgICBzdHJva2U6ICRzdHJva2VBY2NlbnQ7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIC8vIC4uLm9yIHVzZSB0aGUgZmlsbCBpZiBubyBub3JtYWwgc3Ryb2tlIGlzIHByb3ZpZGVkXG4gICAgICAgIEBpZiBoYXN2YWx1ZSgkc3Ryb2tlKSB7XG4gICAgICAgICAgc3Ryb2tlOiAkc3Ryb2tlO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBzdHJva2U6ICRmaWxsO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoaWNvbmljKSB7XG4gIC5pY29uaWMge1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgYSA+ICYge1xuICAgICAgQGluY2x1ZGUgY29sb3ItaWNvbigkcHJpbWFyeS1jb2xvcik7XG4gICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgIH1cbiAgfVxuXG4gIC5pY29uaWMgKiB7XG4gICAgZmlsbDogJGljb25pYy1wcmltYXJ5LWZpbGw7XG4gICAgc3Ryb2tlOiAkaWNvbmljLXByaW1hcnktc3Ryb2tlO1xuXG4gICAgJi5pY29uaWMtcHJvcGVydHktYWNjZW50IHtcbiAgICAgIGZpbGw6ICRpY29uaWMtYWNjZW50LWZpbGw7XG4gICAgICBzdHJva2U6ICRpY29uaWMtYWNjZW50LXN0cm9rZTtcbiAgICB9XG4gIH1cblxuICBAZWFjaCAkY29sb3IgaW4gbWFwLWtleXMoJGZvdW5kYXRpb24tY29sb3JzKSB7XG4gICAgLmljb25pYy1jb2xvci0jeyRjb2xvcn0ge1xuICAgICAgQGluY2x1ZGUgY29sb3ItaWNvbihtYXAtZ2V0KCRmb3VuZGF0aW9uLWNvbG9ycywgJGNvbG9yKSk7XG4gICAgfVxuICB9XG4gIC5pY29uaWMtY29sb3Itc2Vjb25kYXJ5IHtcbiAgICBAaW5jbHVkZSBjb2xvci1pY29uKCRzZWNvbmRhcnktY29sb3IpO1xuICB9XG59XG4iLCIvLy8gQEZvdW5kYXRpb24uc2V0dGluZ3Ncbi8vIEJ1dHRvblxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuJGJ1dHRvbi1tYXJnaW46IDAgJGdsb2JhbC1wYWRkaW5nICRnbG9iYWwtcGFkZGluZyAwICFkZWZhdWx0O1xuJGJ1dHRvbi1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1jb2xvcjogYXV0byAhZGVmYXVsdDtcbiRidXR0b24tcmFkaXVzOiAwICFkZWZhdWx0O1xuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjcsXG4gIHNtYWxsOiAwLjgsXG4gIG1lZGl1bTogMSxcbiAgbGFyZ2U6IDEuMyxcbikgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtc2l6ZTogMC45cmVtICFkZWZhdWx0O1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjUgIWRlZmF1bHQ7XG4kYnV0dG9uLXRhZy1zZWxlY3RvcjogZmFsc2UgIWRlZmF1bHQ7XG4vLy9cblxuJWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4yNXMgZWFzZS1vdXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICBmb250LXNpemU6ICRidXR0b24tZm9udC1zaXplO1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcblxuICAvLyBEcm9wZG93biBhcnJvd1xuICAvLyBUT0RPOiBDaGFuZ2UgdG8gY2xhc3MgYW5kIG1peGluIGJlY2F1c2Ugbm93IHRoZSB0b2dnbGUgaXMgJ2ZhLW9wZW4nIHdoaWNoIGlzIHRvbyBnZW5lcmljXG4gIC8vICZbZGF0YS1wb3B1cC10b2dnbGVdIHtcbiAgLy8gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vICAgcGFkZGluZy1yaWdodDogMmVtOyAvLyBQbGFjZWhvbGRlclxuXG4gIC8vICAgJjo6YWZ0ZXIge1xuICAvLyAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgYmxhY2ssIHRvcCk7XG4gIC8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8vICAgICByaWdodDogMC43ZW07XG4gIC8vICAgICB0b3A6IDUwJTtcbiAgLy8gICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gIC8vICAgfVxuICAvLyB9XG59XG5cbkBtaXhpbiBidXR0b24tc2l6ZSgkc2l6ZTogbWVkaXVtLCAkZXhwYW5kOiBmYWxzZSkge1xuICAkc2l6ZTogJGJ1dHRvbi1mb250LXNpemUgKiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsICRzaXplKTtcbiAgZm9udC1zaXplOiAkc2l6ZTtcblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxuXG4gIEBpZiB1c2luZyhpY29uaWMpIHtcbiAgICAuaWNvbmljIHtcbiAgICAgIHdpZHRoOiAxZW07XG4gICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0ycHg7IC8vIFRoZSBpY29ucyBhcmUgb2RkbHkgbWlzYWxpZ25lZFxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLXN0eWxlLFxuICAkcmFkaXVzOiAkYnV0dG9uLXJhZGl1cyxcbiAgJGJ0bmdyb3VwOiBmYWxzZVxuKXtcbiAgQGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogMjUlKTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAyNSUpO1xuICAgIH1cbiAgfVxuICAvLyBTb2xpZCBpcyB0aGUgZGVmYXVsdFxuICBAZWxzZSB7XG4gICAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAgICRjb2xvcjogaXNpdGxpZ2h0KCRiYWNrZ3JvdW5kKTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICB9XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYnRuZ3JvdXAge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMjUlKTtcbiAgICB9XG4gIH1cblxuICBAaWYgdXNpbmcoaWNvbmljKSB7XG4gICAgQGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgICAgLmljb25pYyB7XG4gICAgICAgIEBpbmNsdWRlIGNvbG9yLWljb24oJGJhY2tncm91bmQpO1xuICAgICAgfVxuICAgICAgJjpob3ZlciAuaWNvbmljIHtcbiAgICAgICAgQGluY2x1ZGUgY29sb3ItaWNvbihzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogMjUlKSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC5pY29uaWMge1xuICAgICAgICBAaW5jbHVkZSBjb2xvci1pY29uKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoKSB7XG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuQG1peGluIGJ1dHRvbihcbiAgJHNpemU6IG1lZGl1bSxcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLXN0eWxlLFxuICAkcmFkaXVzOiAkYnV0dG9uLXJhZGl1c1xuKSB7XG4gIEBleHRlbmQgJWJ1dHRvbjtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHNpemUpO1xuICBAaW5jbHVkZSBidXR0b24tZXhwYW5kKCRleHBhbmQpO1xuICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IsICRzdHlsZSk7XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoYnV0dG9uKSB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgICYudGlueSAgIHsgQGluY2x1ZGUgYnV0dG9uLXNpemUodGlueSk7IH1cbiAgICAmLnNtYWxsICB7IEBpbmNsdWRlIGJ1dHRvbi1zaXplKHNtYWxsKTsgfVxuICAgICYubGFyZ2UgIHsgQGluY2x1ZGUgYnV0dG9uLXNpemUobGFyZ2UpOyB9XG4gICAgJi5leHBhbmQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICAmLnNlY29uZGFyeSB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkc2Vjb25kYXJ5LWNvbG9yLCBhdXRvKSB9XG4gICAgJi5zdWNjZXNzICAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJHN1Y2Nlc3MtY29sb3IsIGF1dG8pIH1cbiAgICAmLndhcm5pbmcgICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkd2FybmluZy1jb2xvciwgYXV0bykgfVxuICAgICYuYWxlcnQgICAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRhbGVydC1jb2xvciwgYXV0bykgfVxuICAgICYuaW5mbyAgICAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRpbmZvLWNvbG9yLCBhdXRvKSB9XG4gICAgJi5kYXJrICAgICAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGRhcmstY29sb3IsIGF1dG8pIH1cblxuICAgIEBpZiAkYnV0dG9uLXN0eWxlICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkc3R5bGU6IGhvbGxvdyk7XG4gICAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRzZWNvbmRhcnktY29sb3IsICRzdHlsZTogaG9sbG93KTsgfVxuICAgICAgICAmLnN1Y2Nlc3MgICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkc3VjY2Vzcy1jb2xvciwgJHN0eWxlOiBob2xsb3cpOyB9XG4gICAgICAgICYud2FybmluZyAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCR3YXJuaW5nLWNvbG9yLCAkc3R5bGU6IGhvbGxvdyk7IH1cbiAgICAgICAgJi5hbGVydCAgICAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGFsZXJ0LWNvbG9yLCAkc3R5bGU6IGhvbGxvdyk7IH1cbiAgICAgICAgJi5pbmZvICAgICAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGluZm8tY29sb3IsICRzdHlsZTogaG9sbG93KTsgfVxuICAgICAgICAmLmRhcmsgICAgICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkZGFyay1jb2xvciwgJHN0eWxlOiBob2xsb3cpOyB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCB7IEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDsgfVxuICB9XG5cbiAgQGlmICRidXR0b24tdGFnLXNlbGVjdG9yIHtcbiAgICBidXR0b24ge1xuICAgICAgQGV4dGVuZCAuYnV0dG9uO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgQXBwc1xuLy9cbi8vIEJSRUFLUE9JTlRTXG4vLyAtLS0tLS0tLS0tLVxuLy8gRm91bmRhdGlvbiBmb3IgQXBwcyBoYXMgdGhyZWUgY29yZSBicmVha3BvaW50czogc21hbGwgKD4gMCksIG1lZGl1bSAoPj0gNjQwKSwgYW5kIGxhcmdlICg+PSAxMDI0KS5cbi8vIFRoZXJlIGFyZSB0d28gYWRkaXRpb25hbCBicmVha3BvaW50cywgeGxhcmdlLCBhbmQgeHhsYXJnZSwgd2hpY2ggKGJ5IGRlZmF1bHQpIGRvIG5vdCBvdXRwdXQgYXMgc2l6aW5nIGNsYXNzZXMuXG4vLyBBY2Nlc3MgbmFtZWQgYnJlYWtwb2ludHMgdXNpbmcgdGhlIG1peGluIGJyZWFrcG9pbnQoJHNpemUpLCB3aGVyZSAkc2l6ZSBpcyBhIGJyZWFrcG9pbnQgdmFsdWUuXG4vLyBZb3UgY2FuIGFsc28gcGFzcyBhbiBlbSwgcmVtLCBvciBwaXhlbCB2YWx1ZSBpbnRvIHRoaXMgbWl4aW4gdG8gZ2VuZXJhdGUgYW4gZW0tYmFzZWQgbWVkaWEgcXVlcnkuXG4vLyBDcmVhdGUgbmV3IG5hbWVkIGJyZWFrcG9pbnRzIHVzaW5nIHRoZSAkYnJlYWtwb2ludHMgbWFwLiBDaGFuZ2Ugd2hpY2ggbmFtZWQgYnJlYWtwb2ludHMgZ2V0IHRoZWlyIG93biBjbGFzc2VzIGJ5IG1vZGlmeWluZyB0aGUgJGJyZWFrcG9pbnQtY2xhc3NlcyBtYXAuXG4vLyBOT1RFOiBJZiB5b3UgY2hhbmdlIHRoZSAkYnJlYWtwb2ludHMgbWFwLCBrbm93IHRoYXQgYWxsIHZhbHVlcyBtdXN0IGJlIG9yZGVyZWQgYnkgd2lkdGgsIHNtYWxsZXN0IHdpZHRoIGZpcnN0LiBTbyAwIGlzIGFsd2F5cyB5b3VyIGZpcnN0IHZhbHVlLlxuXG4vLyAxLiBWYXJpYWJsZXNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vLyBARm91bmRhdGlvbi5zZXR0aW5nc1xuLy8gQnJlYWtwb2ludHNcbi8vIFRoZXNlIGFyZSBvdXIgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZW0gaW4gb3VyIGJyZWFrcG9pbnQgZnVuY3Rpb24gbGlrZSB0aGlzOiBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyAvLyBNZWRpdW0gYW5kIGxhcmdlciBzdHlsZXMgfVxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiByZW0tY2FsYygwKSxcbiAgbWVkaXVtOiByZW0tY2FsYyg2NDApLFxuICBsYXJnZTogcmVtLWNhbGMoMTIwMCksXG4gIHhsYXJnZTogcmVtLWNhbGMoMTQ0MCksXG4gIHh4bGFyZ2U6IHJlbS1jYWxjKDE5MjApLFxuKSAhZGVmYXVsdDtcblxuLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBzbWFsbC0xMiwgbWVkaXVtLTYsIGFuZCBzbyBvbi5cbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuLy8vXG5cbi8vIDIuIE1peGluc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nICRyZW0tYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge21peGVkfSAkdmFsIC0gQnJlYWtwb2ludCBuYW1lIG9yIHB4L2VtL3JlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsOiBzbWFsbCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnBNYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJ29ubHkgc2NyZWVuJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgICRzdHI6ICRzdHIgKyAnIGFuZCAob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgICAgICRuZXh0LWJwOiBtYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAgICAgQGlmICRuZXh0LWJwID09IG51bGwge1xuICAgICAgICAgICAgJGJwTWF4OiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAkYnBNYXg6ICRuZXh0LWJwIC0gKDEvMTYpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgICAkbmFtZWQ6IHRydWU7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRicDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICAgIEBpZiB1bml0KCRicCkgPT0gJ3B4JyBvciB1bml0KCRicCkgPT0gJycge1xuICAgICAgJGJwOiByZW0tY2FsYygkYnApO1xuICAgIH1cbiAgICAvLyBGaW5hbGx5LCB0aGUgcmVtIHZhbHVlIGlzIHR1cm5lZCBpbnRvIGFuIGVtIHZhbHVlXG4gICAgJGJwOiBzdHJpcC11bml0KCRicCkgKiAxZW07XG5cbiAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIHRoZSBpbnB1dCBpcyBcIjAgdXBcIiBvciBcIjAgZG93blwiXG4gICAgQGlmICRicCA+IDAgb3IgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gQW5kIGxvLCBhIG1lZGlhIHF1ZXJ5IHdhcyBib3JuXG4gICAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICAgICAgICBAaWYgJGJwTWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kIChtYXgtd2lkdGg6ICN7JGJwTWF4fSknO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgQGRlYnVnICdFUlJPUjogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlLic7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJG1heDogJGJwIC0gKDEvMTYpO1xuICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gT3V0cHV0XG4gIEBpZiAkYnAgPT0gMGVtIGFuZCAkZGlyICE9ICdvbmx5JyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBtZWRpYSAjeyRzdHJ9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUHJlZml4ZXMgc2VsZWN0b3IgJGNsYXNzIHdpdGggYnJlYWtwb2ludCBrZXl3b3JkcywgYWxsb3dpbmcgeW91IHRvIGNyZWF0ZSBhIGJhdGNoIG9mIGJyZWFrcG9pbnQgY2xhc3NlcyB3aXRoIG9uZSBjaHVuayBvZiBjb2RlLiBJZiB5b3Ugd2FudCB0byBza2lwIGEgYnJlYWtwb2ludCAobGlrZSBzbWFsbCwgYmVjYXVzZSBtb2JpbGUgZmlyc3QgYW5kIGFsbCB0aGF0KSwgYWRkIHZhbHVlcyB0byB0aGUgJG9taXQgcGFyYW1ldGVyLlxuLy8vXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRjbGFzcyAtIENsYXNzIHRvIHByZWZpeCB3aXRoIHRoZSBicmVha3BvaW50IG5hbWUgYW5kIGEgaHlwaGVuLlxuLy8vIEBwYXJhbSB7bGlzdH0gJG9taXQgLSBOYW1lZCBicmVha3BvaW50cyB0byBza2lwLiBObyBjbGFzcyB3aWxsIGJlIGFkZGVkIHdpdGggYnJlYWtwb2ludHMgaW4gdGhpcyBsaXN0LlxuQG1peGluIGVhY2gtYnJlYWtwb2ludCgkY2xhc3MsICRvbWl0OiAoKSkge1xuICAvLyBJdGVyYXRlIHRocm91Z2ggYnJlYWtwb2ludCBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIC8vIE9ubHkgZG8gc29tZXRoaW5nIGlmIHRoZSBicmVha3BvaW50IGlzIG5vdCBpbiAkb21pdFxuICAgIEBpZiBpbmRleCgkb21pdCwgJHNpemUpID09IG51bGwge1xuICAgICAgJHZhbDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgICAgIC8vIFByZWZpeCAkY2xhc3Mgd2l0aCAkc2l6ZSBhbmQgYSBoeXBoZW5cbiAgICAgIC4jeyRzaXplICsgJy0nICsgJGNsYXNzfSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyAzLiBDU1MgT3V0cHV0XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4vLyBNZXRhIHN0eWxlcyBhcmUgaW5jbHVkZWQgaW4gYWxsIGJ1aWxkcywgYXMgdGhleSBhcmUgYSBkZXBlbmRhbmN5IG9mIHRoZSBKYXZhc2NyaXB0LlxuLy8gVXNlZCB0byBwcm92aWRlIG1lZGlhIHF1ZXJ5IHZhbHVlcyBmb3IgamF2YXNjcmlwdCBjb21wb25lbnRzLlxuLy8gRm9yd2FyZCBzbGFzaCBwbGFjZWQgYXJvdW5kIGV2ZXJ5dGhpbmcgdG8gY29udmluY2UgUGhhbnRvbUpTIHRvIHJlYWQgdGhlIHZhbHVlLlxuXG5tZXRhLmZvdW5kYXRpb24tdmVyc2lvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIiN7JGZvdW5kYXRpb24tdmVyc2lvbn1cIjtcbn1cbm1ldGEuZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcIiN7bWFwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfVwiO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgQXBwcyBBTFBIQVxuLy8gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbiRpbmNsdWRlLWNzczogKCkgIWRlZmF1bHQ7XG4kbW9kdWxlczogKCkgIWRlZmF1bHQ7XG4kcmVtLWJhc2U6IDE2cHggIWRlZmF1bHQ7XG5cbi8vLyBDaGVja3MgaWYgYSBtb2R1bGUgaXMgaW4gdXNlLlxuQGZ1bmN0aW9uIHVzaW5nKCRuYW1lKSB7XG4gIC8vIEltcG9ydCBmcm9tIGdsb2JhbCBzY29wZVxuICAkaW5jbHVkZS1jc3M6ICRpbmNsdWRlLWNzcyAhZ2xvYmFsO1xuICAkbW9kdWxlLWtleTogbWFwLWdldCgkaW5jbHVkZS1jc3MsICRuYW1lKTtcblxuICBAaWYgJG1vZHVsZS1rZXkgPT0gdHJ1ZSBvciAkbW9kdWxlLWtleSA9PSBudWxsIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLy8vIENoZWNrcyBpZiBhIG1vZHVsZSdzIENTUyBoYXMgYWxyZWFkeSBiZWVuIGV4cG9ydGVkLlxuQGZ1bmN0aW9uIGltcG9ydGVkKCRuYW1lKSB7XG4gIC8vIEltcG9ydCBmcm9tIGdsb2JhbCBzY29wZVxuICAkbW9kdWxlczogJG1vZHVsZXMgIWdsb2JhbDtcbiAgLy8gQ2hlY2sgaWYgdGhlIG1vZHVsZSBpcyBhbHJlYWR5IG9uIHRoZSBpbXBvcnRlZCBsaXN0XG4gIEBpZiB0eXBlLW9mKGluZGV4KCRtb2R1bGVzLCAkbmFtZSkpID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLy8vIE91dHB1dHMgdGhlIGNodW5rIG9mIGNvbnRlbnQgcGFzc2VkIGlmIGNvbXBvbmVudCAkbmFtZSBoYXNuJ3QgeWV0IGJlZW4gb3V0cHV0LlxuLy8vIFRoaXMgcHJldmVudHMgY29kZSBkdXBsaWNhdGlvbiBieSBrZWVwaW5nIHRyYWNrIG9mIHdoaWNoIGNvbXBvbmVudHMgaGF2ZSBhbHJlYWR5IGJlZW4gb3V0cHV0LlxuLy8vXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiBjb21wb25lbnQgdG8gb3V0cHV0XG4vLy9cbi8vLyBAb3V0cHV0IFRoZSBjb250ZW50IHBhc3NlZCwgaWYgdGhlIGNvbXBvbmVudCBoYXMgbm90IHlldCBiZWVuIGV4cG9ydGVkLlxuQG1peGluIGV4cG9ydHMoJG5hbWUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIG1vZHVsZSBoYXMgYWxyZWFkeSBiZWVuIGltcG9ydGVkXG4gIEBpZiBub3QoaW1wb3J0ZWQoJG5hbWUpKSB7XG4gICAgLy8gQ2hlY2sgaWYgdGhlIG1vZHVsZSBzaG91bGQgYmUgdXNlZFxuICAgIEBpZiB1c2luZygkbmFtZSkge1xuICAgICAgJG1vZHVsZXM6IGFwcGVuZCgkbW9kdWxlcywgJG5hbWUpICFnbG9iYWw7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIE1hcCBTZXJpYWxpemVcbi8vLyBDb252ZXJ0cyBhIFNhc3MgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFdlIHVzZSB0aGlzIGZ1bmN0aW9uIHRvIGVuY29kZSB0aGUgbWVkaWEgcXVlcmllcyBpbiB0aGUgYCRicmVha3BvaW50c2AgdmFyaWFibGUsIHNvIGl0IGNhbiBiZSB0cmFuc2ZlcnJlZCB0byBvdXIgSmF2YVNjcmlwdCBmb3IgdXNlIHRoZXJlLlxuLy8vXG4vLy8gQHBhcmFtIHttYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm4gQSBzdHJpbmcgd2l0aCBhIG1hcCBjb252ZXJ0ZWQgdG8gYSBzdHJpbmcuXG5AZnVuY3Rpb24gbWFwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAkdmFsdWUgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBNYXAgTmV4dFxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vXG4vLy8gQHBhcmFtIHttYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHttaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm4gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIG51bGwuXG5AZnVuY3Rpb24gbWFwLW5leHQoJG1hcCwgJGtleSkge1xuICAvLyBTdG9yZSB0aGUgdmFsdWVzIG9mIHRoZSBtYXAgYXMgYSBsaXN0LCBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gd2l0aCBudGhcbiAgJHZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcblxuICAvLyBHaGV0dG8gZm9yIGxvb3BcbiAgJGk6IDE7XG4gICRmb3VuZDogZmFsc2U7XG4gIEBlYWNoICR2YWwgaW4gbWFwLWtleXMoJG1hcCkge1xuICAgIEBpZiAkZm91bmQgPT0gZmFsc2Uge1xuICAgICAgQGlmICgka2V5ID09ICR2YWwpIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfVxuICAgICAgJGk6ICRpICsgMTtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAkaSA+IGxlbmd0aCgkbWFwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG50aCgkdmFsdWVzLCAkaSk7XG4gIH1cbn1cblxuLy8vIElzIEl0IExpZ2h0P1xuLy8vIENoZWNrcyB0aGUgbGlnaHRuZXNzIG9mICRjb2xvciwgYW5kIGlmIGl0IHBhc3NlcyB0aGUgJHRocmVzaG9sZCBvZiBsaWdodG5lc3MsIGl0IHJldHVybnMgdGhlIGAkeWVzYCBjb2xvci4gT3RoZXJ3aXNlLCBpdCByZXR1cm5zIHRoZSBgJG5vYCBjb2xvci4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gZHluYW1pY2FsbHkgb3V0cHV0IGEgZm9yZWdyb3VuZCBjb2xvciBiYXNlZCBvbiBhIGdpdmVuIGJhY2tncm91bmQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge2NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbGlnaHRuZXNzIG9mLlxuLy8vIEBwYXJhbSB7Y29sb3J9ICR5ZXMgLSBDb2xvciB0byByZXR1cm4gaWYgJGNvbG9yIGlzIGxpZ2h0LlxuLy8vIEBwYXJhbSB7Y29sb3J9ICRubyAtIENvbG9yIHRvIHJldHVybiBpZiAkY29sb3IgaXMgZGFyay5cbi8vLyBAcGFyYW0ge3BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJuIFRoZSAkeWVzIGNvbG9yIG9yICRubyBjb2xvci5cbkBmdW5jdGlvbiBpc2l0bGlnaHQoJGNvbG9yLCAkeWVzOiAjMDAwLCAkbm86ICNmZmYsICR0aHJlc2hvbGQ6IDYwJSkge1xuICBAaWYgKGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCkge1xuICAgIEByZXR1cm4gJHllcztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkbm87XG4gIH1cbn1cblxuLy8vIFNtYXJ0IFNjYWxlXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgbGlnaHRlciBpZiBpdCdzIGxpZ2h0LCBvciBkYXJrZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byBcImZhZGVcIiBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge2NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge3BlcmNlbnRhZ2V9ICRzY2FsZSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7cGVyY2VudGFnZX0gJHRocmVzaG9sZCAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm4gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnRzY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDYwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBIYXMgVmFsdWVcbi8vLyBSZXR1cm5zIHRydWUgaWYgYSB2YWx1ZSBpcyBub3QgMCwgbnVsbCwgb3Igbm9uZS4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gY2hlY2sgZm9yIHZhbHVlcyBsaWtlIGBib3JkZXI6IDBgIG9yIGBib3gtc2hhZG93OiBub25lYC5cbi8vL1xuLy8vIEBwYXJhbSAkdmFsIC0gVmFsdWUgdG8gY2hlY2suXG4vLy9cbi8vLyBAcmV0dXJuIFRydWUgaWYgYCR2YWxgIGlzIG5vdCAwLCBudWxsLCBvciBub25lLlxuQGZ1bmN0aW9uIGhhc3ZhbHVlKCR2YWwpIHtcbiAgQGlmICR2YWwgPT0gbnVsbCBvciAkdmFsID09IG5vbmUge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbiAgQGlmIHR5cGUtb2YoJHZhbCkgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJHZhbCkgPT0gMCB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLyBHZXQgU2lkZVxuLy8vIERldGVybWluZSBhIHRvcC9yaWdodC9ib3R0b20vcmlnaHQgdmFsdWUgb24gYSBwYWRkaW5nLCBtYXJnaW4sIGV0Yy4gcHJvcGVydHksIG5vIG1hdHRlciBob3cgbWFueSB2YWx1ZXMgd2VyZSBwYXNzZWQgaW4uIFVzZSB0aGlzIGZ1bmN0aW9uIGlmIHlvdSBuZWVkIHRvIGtub3cgdGhlIHNwZWNpZmljIHNpZGUgb2YgYSB2YWx1ZSwgYnV0IGRvbid0IGtub3cgaWYgdGhlIHZhbHVlIGlzIHVzaW5nIHNob3J0aGFuZC5cbi8vL1xuLy8vIEBwYXJhbSB7bGlzdHxudW1iZXJ9ICR2YWwgLSBWYWx1ZSB0byBhbmFseXplLiBTaG91bGQgYmUgYSBzaG9ydGhhbmQgc2l6aW5nIHByb3BlcnR5LCBlLmcuIFwiMWVtIDJlbSAxZW1cIlxuLy8vIEBwYXJhbSB7a2V5d29yZH0gJHNpZGUgLSBTaWRlIHRvIHJldHVybi4gU2hvdWxkIGJlIHRvcCwgcmlnaHQsIGJvdHRvbSwgb3IgbGVmdC5cbi8vL1xuLy8vIEByZXR1cm4gQSBzaW5nbGUgdmFsdWUgYmFzZWQgb24gYCR2YWxgIGFuZCBgJHNpZGVgLlxuQGZ1bmN0aW9uIGdldC1zaWRlKCR2YWwsICRzaWRlKSB7XG4gICRsZW5ndGg6IGxlbmd0aCgkdmFsKTtcblxuICBAaWYgJGxlbmd0aCA9PSAxIHtcbiAgICBAcmV0dXJuICR2YWw7XG4gIH1cbiAgQGlmICRsZW5ndGggPT0gMiB7XG4gICAgQHJldHVybiBtYXAtZ2V0KChcbiAgICAgIHRvcDogbnRoKCR2YWwsIDEpLFxuICAgICAgYm90dG9tOiBudGgoJHZhbCwgMSksXG4gICAgICBsZWZ0OiBudGgoJHZhbCwgMiksXG4gICAgICByaWdodDogbnRoKCR2YWwsIDIpLFxuICAgICksICRzaWRlKTtcbiAgfVxuICBAaWYgJGxlbmd0aCA9PSAzIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoKFxuICAgICAgdG9wOiBudGgoJHZhbCwgMSksXG4gICAgICBsZWZ0OiBudGgoJHZhbCwgMiksXG4gICAgICByaWdodDogbnRoKCR2YWwsIDIpLFxuICAgICAgYm90dG9tOiBudGgoJHZhbCwgMyksXG4gICAgKSwgJHNpZGUpO1xuICB9XG4gIEBpZiAkbGVuZ3RoID09IDQge1xuICAgIEByZXR1cm4gbWFwLWdldCgoXG4gICAgICB0b3A6IG50aCgkdmFsLCAxKSxcbiAgICAgIHJpZ2h0OiBudGgoJHZhbCwgMiksXG4gICAgICBib3R0b206IG50aCgkdmFsLCAzKSxcbiAgICAgIGxlZnQ6IG50aCgkdmFsLCA0KSxcbiAgICApLCAkc2lkZSk7XG4gIH1cbn1cblxuLy8vIEdldCBCb3JkZXIgVmFsdWVcbi8vLyBHaXZlbiBib3JkZXIgJHZhbCwgZmluZCBhIHNwZWNpZmljIGVsZW1lbnQgb2YgdGhlIGJvcmRlciwgd2hpY2ggaXMgJGVsZW0uIFRoZSBwb3NzaWJsZSB2YWx1ZXMgZm9yICRlbGVtIGFyZSB3aWR0aCwgc3R5bGUsIGFuZCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7bGlzdH0gJHZhbCAtIEJvcmRlciB2YWx1ZSB0byBmaW5kIGEgdmFsdWUgaW4uXG4vLy8gQHBhcmFtIHtrZXl3b3JkfSAkZWxlbSAtIEJvcmRlciBjb21wb25lbnQgdG8gZXh0cmFjdC5cbi8vL1xuLy8vIEBwYXJhbSBJZiB0aGUgdmFsdWUgZXhpc3RzLCByZXR1cm5zIHRoZSB2YWx1ZS4gSWYgdGhlIHZhbHVlIGlzIG5vdCBpbiB0aGUgYm9yZGVyIGRlZmluaXRpb24sIHRoZSBmdW5jdGlvbiB3aWxsIHJldHVybiBhIDBweCB3aWR0aCwgc29saWQgc3R5bGUsIG9yIGJsYWNrIGJvcmRlci5cbiBAZnVuY3Rpb24gZ2V0LWJvcmRlci12YWx1ZSgkdmFsLCAkZWxlbSkge1xuICAgLy8gRmluZCB0aGUgd2lkdGgsIHN0eWxlLCBvciBjb2xvciBhbmQgcmV0dXJuIGl0XG4gICBAZWFjaCAkdiBpbiAkdmFsIHtcbiAgICAgJHR5cGU6IHR5cGUtb2YoJHYpO1xuICAgICBAaWYgJGVsZW0gPT0gd2lkdGggYW5kICR0eXBlID09ICdudW1iZXInIHtcbiAgICAgICBAcmV0dXJuICR2O1xuICAgICB9XG4gICAgIEBpZiAkZWxlbSA9PSBzdHlsZSBhbmQgJHR5cGUgPT0gJ3N0cmluZycge1xuICAgICAgIEByZXR1cm4gJHY7XG4gICAgIH1cbiAgICAgQGlmICRlbGVtID09IGNvbG9yIGFuZCAkdHlwZSA9PSAnY29sb3InIHtcbiAgICAgICBAcmV0dXJuICR2O1xuICAgICB9XG4gICB9XG5cbiAgIC8vIERlZmF1bHRzXG4gICAkZGVmYXVsdHM6IChcbiAgICAgd2lkdGg6IDAsXG4gICAgIHN0eWxlOiBzb2xpZCxcbiAgICAgY29sb3I6IGJsYWNrLFxuICAgKTtcbiAgIEByZXR1cm4gbWFwLWdldCgkZGVmYXVsdHMsICRlbGVtKTtcbiB9XG5cbi8vLyBHZXQgU2hhZG93IFZhbHVlXG4vLy8gR2l2ZW4gc2hhZG93IHZhbHVlICR2YWwsIGZpbmQgYSBzcGVjaWZpYyBlbGVtZW50IG9mIHRoZSBzaGFkb3csIHdoaWNoIGlzICRlbGVtLiBUaGUgcG9zc2libGUgdmFsdWVzIGZvciAkZWxlbSBhcmUgeCwgeSwgc2l6ZSwgc3ByZWFkLCBjb2xvciwgYW5kIGluc2V0LlxuLy8vXG4vLy8gQHBhcmFtIHtsaXN0fSAkdmFsIC0gU2hhZG93IHZhbHVlIHRvIGZpbmQgYSB2YWx1ZSBpbi5cbi8vLyBAcGFyYW0ge2tleXdvcmR9ICRlbGVtIC0gU2hhZG93IGNvbXBvbmVudCB0byBleHRyYWN0LlxuLy8vXG4vLy8gQHJldHVybiBJZiB0aGUgdmFsdWUgZXhpc3RzLCByZXR1cm5zIHRoZSB2YWx1ZS4gSWYgdGhlIHZhbHVlIGlzIG5vdCBzZXQsIHJldHVybnMgZmFsc2UuIElmIGAkZWxlbWAgaXMgXCJpbnNldFwiLCByZXR1cm5zIHRydWUsIG90aGVyd2lzZSBmYWxzZS5cbkBmdW5jdGlvbiBnZXQtc2hhZG93LXZhbHVlKCR2YWwsICRlbGVtKSB7XG4gIC8vIFJldHVybiBcIm5vbmVcIiBpZiB0aGVyZSdzIG5vIHNoYWRvd1xuICBAaWYgJHZhbCA9PSBub25lIHtcbiAgICBAcmV0dXJuIG5vbmU7XG4gIH1cblxuICAvLyBJbnNldCBhbmQgY29sb3IgYXJlIGFsd2F5cyBhdCB0aGUgYmVnaW5uaW5nIGFuZCBlbmRcbiAgQGlmICRlbGVtID09IGluc2V0IHtcbiAgICBAcmV0dXJuIG50aCgkdmFsLCAxKSA9PSBpbnNldDtcbiAgfVxuICBAaWYgJGVsZW0gPT0gY29sb3Ige1xuICAgIEBpZiB0eXBlLW9mKG50aCgkdmFsLCAtMSkpID09IGNvbG9yIHtcbiAgICAgIEByZXR1cm4gbnRoKCR2YWwsIC0xKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiBibGFjaztcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgcmVzdCBvZiB0aGUgdmFsdWVzIGFyZSBsb2NhdGVkIHBlcmlsb3VzbHkgaW4gdGhlIG1pZGRsZVxuICAkdmFsdWVzOiAoKTtcbiAgQGVhY2ggJHYgaW4gJHZhbCB7XG4gICAgQGlmIHR5cGUtb2YoJHYpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkdik7XG4gICAgfVxuICB9XG4gIEBpZiAkZWxlbSA9PSB4IHtcbiAgICBAaWYgbGVuZ3RoKCR2YWx1ZXMpID49IDEge1xuICAgICAgQHJldHVybiBudGgoJHZhbHVlcywgMSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEByZXR1cm4gMDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGVsZW0gPT0geSB7XG4gICAgQGlmIGxlbmd0aCgkdmFsdWVzKSA+PSAyIHtcbiAgICAgIEByZXR1cm4gbnRoKCR2YWx1ZXMsIDIpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAcmV0dXJuIDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRlbGVtID09IHNpemUge1xuICAgIEBpZiBsZW5ndGgoJHZhbHVlcykgPj0gMyB7XG4gICAgICBAcmV0dXJuIG50aCgkdmFsdWVzLCAzKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZWxlbSA9PSBzcHJlYWQge1xuICAgIEBpZiBsZW5ndGgoJHZhbHVlcykgPj0gNCB7XG4gICAgICBAcmV0dXJuIG50aCgkdmFsdWVzLCA0KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vLy8gU3RyaXAgVW5pdFxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7bnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm4gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gVHVybiB0byBEZWdyZWVzXG4vLy8gQ29udmVydHMgYSB0dXJuIHVuaXQgdG8gdGhlIGVxdWl2YWxlbnQgdW5pdCBpbiBkZWdyZWVzLiAxdHVybiBpcyBlcXVhbCB0byAzNjAgZGVncmVlcy4gTm90IGFsbCBicm93c2VycyBzdXBwb3J0IHR1cm4sIHNvIHRoaXMgZnVuY3Rpb24gYWxsb3dzIHVzIHRvIHVzZSB0dXJucyB3aGlsZSBvdXRwdXR0aW5nIGEgdmFsdWUgdGhhdCBhbGwgYnJvd3NlcnMgdW5kZXJzdGFuZC5cbi8vL1xuLy8vIEBwYXJhbSB7bnVtYmVyfSAkdmFsdWUgLSBUdXJuIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJuIFRoZSBzYW1lIHZhbHVlLCBidXQgaW4gZGVncmVlcy5cbkBmdW5jdGlvbiB0dXJuLXRvLWRlZygkdmFsdWUpIHtcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAzNjBkZWc7XG59XG5cbi8vLyBDb252ZXJ0IHRvIFJlbVxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkcmVtLWJhc2VgIHZhcmlhYmxlLlxuLy8vXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJuIEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS5cbkBmdW5jdGlvbiBjb252ZXJ0LXRvLXJlbSgkdmFsdWUsICRiYXNlLXZhbHVlOiAkcmVtLWJhc2UpICB7XG4gICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZS12YWx1ZSkgKiAxcmVtO1xuICBAaWYgKCR2YWx1ZSA9PSAwcmVtKSB7ICR2YWx1ZTogMDsgfSAvLyBUdXJuIDByZW0gaW50byAwXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gUmVtIENhbGN1bGF0b3Jcbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLiBUaGlzIGZ1bmN0aW9uIHdvcmtzIGEgbG90IGxpa2UgYGNvbnZlcnQtdG8tcmVtYCwgZXhjZXB0IGl0IGNhbiBjb252ZXJ0IG1vcmUgdGhhbiBvbmUgdmFsdWUgYXQgb25jZSwgd2hpY2ggaXMgdXNlZnVsIHdoZW4gc2V0dGluZyBtdWx0aXBsZSB2YWx1ZXMgb24gYSBgbWFyZ2luYCBvciBgcGFkZGluZ2AgcHJvcGVydHkuXG4vLy9cbi8vLyBAcGFyYW0ge251bWJlcnxsaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vXG4vLy8gQHJldHVybiBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZS12YWx1ZTogbnVsbCkge1xuICBAaWYgJGJhc2UtdmFsdWUgPT0gbnVsbCB7XG4gICAgJGJhc2UtdmFsdWU6ICRyZW0tYmFzZTtcbiAgfVxuICAkbWF4OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgQGlmICRtYXggPT0gMSB7IEByZXR1cm4gY29udmVydC10by1yZW0obnRoKCR2YWx1ZXMsIDEpLCAkYmFzZS12YWx1ZSk7IH1cblxuICAkcmVtVmFsdWVzOiAoKTtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4IHtcbiAgICAkcmVtVmFsdWVzOiBhcHBlbmQoJHJlbVZhbHVlcywgY29udmVydC10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UtdmFsdWUpKTtcbiAgfVxuICBAcmV0dXJuICRyZW1WYWx1ZXM7XG59XG4iLG51bGwsIi8qXG4gIENhcmRzXG5cbiAgU3RydWN0dXJlOlxuXG4gIHRpdGxlc1xuICBsaXN0c1xuKi9cblxuLy8vIEBGb3VuZGF0aW9uLnNldHRpbmdzXG4vLyBDYXJkXG4kY2FyZC1iYWNrZ3JvdW5kOiAjZmZmICFkZWZhdWx0O1xuJGNhcmQtY29sb3I6IGlzaXRsaWdodCgkY2FyZC1iYWNrZ3JvdW5kKSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0c2NhbGUoJGNhcmQtYmFja2dyb3VuZCwgNyUpICFkZWZhdWx0O1xuJGNhcmQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcbiRjYXJkLXNoYWRvdzogMCAxcHggMnB4IHJnYmEoIzAwMCwgMC4yKSAhZGVmYXVsdDtcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcbiRjYXJkLW1hcmdpbjogMC41cmVtICFkZWZhdWx0O1xuXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6IHNtYXJ0c2NhbGUoJGNhcmQtYmFja2dyb3VuZCwgNyUpICFkZWZhdWx0O1xuLy8vXG5cbkBtaXhpbiBjYXJkLWNvbnRhaW5lcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGNhcmQtY29sb3IsXG4gICRib3JkZXI6ICRjYXJkLWJvcmRlcixcbiAgJHJhZGl1czogJGNhcmQtcmFkaXVzLFxuICAkc2hhZG93OiAkY2FyZC1zaGFkb3csXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nLFxuICAkbWFyZ2luOiAkY2FyZC1tYXJnaW5cbikge1xuICBib3JkZXI6ICRib3JkZXI7XG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG5cbiAgdWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBjYXJkLWRpdmlkZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1kaXZpZGVyLWJhY2tncm91bmQsXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xufVxuXG5AbWl4aW4gY2FyZC1zZWN0aW9uKFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xufVxuXG5AaW5jbHVkZSBleHBvcnRzKGNhcmQpIHtcbiAgLmNhcmQge1xuICAgIEBpbmNsdWRlIGNhcmQtY29udGFpbmVyO1xuXG4gICAgQGVhY2ggJGNvbG9yIGluIG1hcC1rZXlzKCRmb3VuZGF0aW9uLWNvbG9ycykge1xuICAgICAgJi4jeyRjb2xvcn0ge1xuICAgICAgICAkY29sb3ItdmFsdWU6IG1hcC1nZXQoJGZvdW5kYXRpb24tY29sb3JzLCAkY29sb3IpO1xuICAgICAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcihcbiAgICAgICAgICAkYmFja2dyb3VuZDogJGNvbG9yLXZhbHVlLFxuICAgICAgICAgICRjb2xvcjogaXNpdGxpZ2h0KCRjb2xvci12YWx1ZSksXG4gICAgICAgICAgJGJvcmRlcjogMFxuICAgICAgICApO1xuICAgICAgICAuY2FyZC1kaXZpZGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBjYXJkLWRpdmlkZXIoXG4gICAgICAgICAgICAkYmFja2dyb3VuZDogc21hcnRzY2FsZSgkY29sb3ItdmFsdWUsIDclKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgICAuY2FyZC1kaXZpZGVyIHtcbiAgICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgICB9XG4gICAgLmNhcmQtc2VjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBjYXJkLXNlY3Rpb247XG4gICAgfVxufVxuIiwiQGZ1bmN0aW9uIGltYWdlLXRyaWFuZ2xlKCRjb2xvcjogIzAwMCkge1xuICAkY29sb3I6IHJnYihyZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpKTtcbiAgQHJldHVybiAnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMzIgMjRcIj48cG9seWdvbiBwb2ludHM9XCIwLDAgMzIsMCAxNiwyNFwiIHN0eWxlPVwiZmlsbDogI3skY29sb3J9XCI+PC9wb2x5Z29uPjwvc3ZnPic7XG59XG5cbkBtaXhpbiBpbWFnZS1jaGVja21hcmsoJGNvbG9yOiAjMDAwKSB7XG4gICRjb2xvcjogcmdiKHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcikpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCI+PHBhdGggZmlsbD1cIiN7JGNvbG9yfVwiIGQ9XCJNMTYgMGMtOC44MzcgMC0xNiA3LjE2My0xNiAxNnM3LjE2MyAxNiAxNiAxNiAxNi03LjE2MyAxNi0xNi03LjE2My0xNi0xNi0xNnptNi45MDYgOC44NzVsMi4yMTkgMi4wMzEtMTIuMDYzIDEzLjI4MS02LjE4OC02LjE4OCAyLjEyNS0yLjEyNSAzLjkzOCAzLjkzOCA5Ljk2OS0xMC45Mzh6XCIvPjwvc3ZnPicpO1xuXG4gIC8vIElFMTAgZmFsbGJhY2ssIHNpbmNlIGl0IGRvZXNuJ3Qgc3VwcG9ydCBTVkcgZGF0YSBVUkxzXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBZ0NBWUFBQUJ6ZW5yMEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBZGxKUkVGVWVOck1sMEZ1Z3pBUVJZM1RSWmVvRnloVkwwQk9rR1RYSmV6YUhad2d1VW5FQ2FDcmRGZDZncVFuQ04xMVV5azVRZWtOT2xPTkpXTVZHTUNnZkdsa0VJWTNIbnNHMnhGTTNkOTZQalFCMkFKc1dkUHRBUFlPbG4rZFR3WG51dzRESEVHekJ2TkZONkVEQ1RpUzlYSUF3QjQwYWNOb3VjS294T0RJaWUwQXdBT0N1OEtPU25JaU54L01ha0srQTdzVzlvVGZlcnh4M2ZQM1QxblVSb0JHL2lyR1ZhaEh3akhtL0dneDdFM1RNVmRyUW1vUDBnbmdnaGhwWlEzUXZHL0VkUExVZWxBUldJOEF5Y2pxOU1kMHFNSWRiY05oam1PS0xvWTdxdWszbDFSZWJlcWc0QXdGa21xN0xXR09oMXBtTlkwZXRaQVdTcTBPWDhIb1M0SnZXdUNvcGJTWTI2RUdSL0NXODZLMEJGK3B3a0x3bFB1eUhKaE9DbDVvZTRadEYrK3ZPcVNUK0dkT1l3Tys3MXBOMlZOQWptUUdQQ2U0MndldUhEZzBQSThvbFV3bllyWFRHUUpIOWd4cThsMUxLdnJReDRPNi9ZWTMyS3AvdWdiM2V5N2daNHhBenVoWWlZVHhCL1VIWkZBdWFSRVZYWjJnNnlGbHZFQzJ5b0tFbWJzUlpZTmdWTGsySmVhT2FHK3hMSE4rV0NzekRXTXFMR09ySkZhMURsQXBqU2R3b0hKR3FHekxJYjArY2FzMHdoNUJoNzgwbmdzd3g4R0pEN2g4c0hnMndMQS9tZkRMUFpwZHhPRjBxdVA1cndBREFBRkl6U1J2dTFtNUFBQUFBRWxGVGtTdVFtQ0MnKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQWdDQVlBQUFCemVucjBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQVQ5SlJFRlVlTnJNVjRzUmd5QU1EVTdnQ0k2QUU3UWpNSUxkb0NPNENkMmczYUIyQWgyaEc3UWIwT0RSTzJyOThBbnF1OHR4S3ZJU0lJL0F3QkZLS1k2TlFEdWdIU2U2TldnUHRCdGpyQU1LSUhHRjFpcC82SCtxR09JQzdhN2lvY2NvZk1rRjJrdlJRWThsZktZOEZTcVh5RlBqWnlhWXZlYll0R2c1cE1VYnJjUXNlZXFIelBvZ1Z5QUh3eUhYWFBmWi9jQ01BM3JxT1hHa0Y5Tk9iYndPbDZIc0ZTNUJkTkthWFRuVGoyZEdYaW5SWUdRbng3NENpTlRPbHQvY01mcGVKU0VoK2RubEp5Q1UyaUlrcTRDSW5JZW10SXNEY21ZdGgrVGM5eENEeUhRU01lUmVEb3c0VVZudjg5RGoyeVVOeDV3WWtyZUIrNmRQdzlwSDJRYk94SkJyMUQ1U0xFY2N1RVptRVA4TzFQbzY0YUJ5aThJVmVoeExBdkwvOG96NFRGamVmSHNweVRZdlN2ZFZsdS9pWXJLTHE5bWFsMU8yOWZYOEk4QUFOcElRekMwaFRkRUFBQUFBU1VWT1JLNUNZSUk9Jyk7XG4gICAgfVxuICB9XG59IiwiLypcbiAgUE9QVVBcbiAgLS0tLS1cblxuICBBIGZsb2F0aW5nIGNvbnRhaW5lciB0aGF0IGNhbiBhbmNob3IgdG8gYW55IG90aGVyIG9uLXNjcmVlbiBlbGVtZW50LCBhbmQgY29udGFpbiBhbnkgY29udGVudCwgaW5jbHVkaW5nIGdyaWQgYmxvY2tzIG9yIHBhbmVscy5cbiovXG5cbi8vLyBARm91bmRhdGlvbi5zZXR0aW5nc1xuLy8gUG9wdXBcbiRwb3B1cC13aWR0aDogcmVtLWNhbGMoMzAwKSAhZGVmYXVsdDtcbiRwb3B1cC1iYWNrZ3JvdW5kOiAjZmZmICFkZWZhdWx0O1xuJHBvcHVwLWJvcmRlcjogMCAhZGVmYXVsdDtcbiRwb3B1cC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG4kcG9wdXAtc2hhZG93OiAwIDAgMTBweCByZ2JhKCMwMDAsIDAuMjUpICFkZWZhdWx0O1xuLy8vXG5cbiVwb3B1cCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAwMDtcbiAgb3BhY2l0eTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLW91dDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgJi50ZXRoZXItZW5hYmxlZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gcG9wdXAtbGF5b3V0KFxuICAkd2lkdGg6ICRwb3B1cC13aWR0aFxuKSB7XG4gIHdpZHRoOiAkcG9wdXAtd2lkdGg7XG59XG5AbWl4aW4gcG9wdXAtc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkcG9wdXAtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAjMDAwLFxuICAkcmFkaXVzOiAkcG9wdXAtcmFkaXVzLFxuICAkc2hhZG93OiAkcG9wdXAtc2hhZG93LFxuICAkYm9yZGVyOiAkcG9wdXAtYm9yZGVyXG4pIHtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XG4gIGJvcmRlcjogJGJvcmRlcjtcbn1cblxuQG1peGluIHBvcHVwKFxuICAkd2lkdGg6ICRwb3B1cC13aWR0aCxcbiAgJGJhY2tncm91bmQ6ICRwb3B1cC1iYWNrZ3JvdW5kLFxuICAkcmFkaXVzOiAkcG9wdXAtcmFkaXVzLFxuICAkc2hhZG93OiAkcG9wdXAtc2hhZG93LFxuICAkYm9yZGVyOiAkcG9wdXAtYm9yZGVyXG4pIHtcbiAgQGV4dGVuZCAlcG9wdXA7XG4gIEBpbmNsdWRlIHBvcHVwLWxheW91dCgkd2lkdGgpO1xuICBAaW5jbHVkZSBwb3B1cC1zdHlsZSgkYmFja2dyb3VuZCwgaXNpdGxpZ2h0KCRiYWNrZ3JvdW5kKSwgJHJhZGl1cywgJHNoYWRvdywgJGJvcmRlcik7XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMocG9wdXApIHtcbiAgLnBvcHVwIHtcbiAgICBAaW5jbHVkZSBwb3B1cDtcblxuICAgICYuZGFyayAgICB7IEBpbmNsdWRlIHBvcHVwLXN0eWxlKCRkYXJrLWNvbG9yLCAjZmZmKTsgfVxuICAgICYucHJpbWFyeSB7IEBpbmNsdWRlIHBvcHVwLXN0eWxlKCRwcmltYXJ5LWNvbG9yLCBpc2l0bGlnaHQoJHByaW1hcnktY29sb3IpKTsgfVxuICB9XG59XG4iLCIvLyBGT1VOREFUSU9OIE1PVElPTiBVSVxuLy8gVGFibGUgb2YgQ29udGVudHNcbi8vXG4vLyAwLiBWYXJpYWJsZXNcbi8vIDEuIEJhc2UgVHJhbnNpdGlvbnNcbi8vICAgICAgYS4gU2xpZGVcbi8vICAgICAgYi4gRmFkZVxuLy8gICAgICBjLiBIaW5nZVxuLy8gICAgICBkLiBTY2FsZVxuLy8gICAgICBlLiBTcGluXG4vLyAyLiBCYXNlIEFuaW1hdGlvbnNcbi8vICAgICAgYS4gU2hha2Vcbi8vICAgICAgYi4gU3Bpbm5lcnNcbi8vICAgICAgYy4gV2lnZ2xlXG4vLyAzLiBIVE1MIEF0dHJpYnV0ZXNcblxuLy8gMC4gVmFyaWFibGVzXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vLyBARm91bmRhdGlvbi5zZXR0aW5nc1xuLy8gTW90aW9uIFVJXG4vLyBDbGFzc2VzIHRvIHVzZSB3aGVuIHRyaWdnZXJpbmcgaW4vb3V0IGFuaW1hdGlvbnNcbiRtb3Rpb24tY2xhc3M6IChcbiAgaW46IFwibmctZW50ZXJcIixcbiAgb3V0OiBcIm5nLWxlYXZlXCIsXG4pICFkZWZhdWx0O1xuJG1vdGlvbi1jbGFzcy1hY3RpdmU6IChcbiAgaW46IFwibmctZW50ZXItYWN0aXZlXCIsXG4gIG91dDogXCJuZy1sZWF2ZS1hY3RpdmVcIixcbikgIWRlZmF1bHQ7XG4kbW90aW9uLWNsYXNzLXN0YWdnZXI6IChcbiAgaW46IFwibmctZW50ZXItc3RhZ2dlclwiLFxuICBvdXQ6IFwibmctbGVhdmUtc3RhZ2dlclwiLFxuKSAhZGVmYXVsdDtcbiRtb3Rpb24tY2xhc3Mtc2hvd2hpZGU6IChcbiAgaW46IFwibmctaGlkZS1yZW1vdmVcIixcbiAgb3V0OiBcIm5nLWhpZGUtYWRkXCIsXG4pO1xuJG1vdGlvbi1jbGFzcy1zaG93aGlkZS1hY3RpdmU6IChcbiAgaW46IFwibmctaGlkZS1yZW1vdmUtYWN0aXZlXCIsXG4gIG91dDogXCJuZy1oaWRlLWFkZC1hY3RpdmVcIixcbik7XG5cbi8vIFNldCBpZiBtb3ZlbWVudC1iYXNlZCB0cmFuc2l0aW9ucyBzaG91bGQgYWxzbyBmYWRlIHRoZSBlbGVtZW50IGluIGFuZCBvdXRcbiRtb3Rpb24tc2xpZGUtYW5kLWZhZGU6IGZhbHNlICFkZWZhdWx0O1xuJG1vdGlvbi1oaW5nZS1hbmQtZmFkZTogdHJ1ZSAhZGVmYXVsdDtcbiRtb3Rpb24tc2NhbGUtYW5kLWZhZGU6IHRydWUgIWRlZmF1bHQ7XG4kbW90aW9uLXNwaW4tYW5kLWZhZGU6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIERlZmF1bHQgc3BlZWQgZm9yIHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zXG4kbW90aW9uLWR1cmF0aW9uLWRlZmF1bHQ6IDUwMG1zICFkZWZhdWx0O1xuXG4vLyBTbG93IGFuZCBmYXN0IG1vZGlmaWRlcnNcbiRtb3Rpb24tZHVyYXRpb24tc2xvdzogNzUwbXMgIWRlZmF1bHQ7XG4kbW90aW9uLWR1cmF0aW9uLWZhc3Q6IDI1MG1zICFkZWZhdWx0O1xuJG1vdGlvbi1zdGFnZ2VyLWR1cmF0aW9uLWRlZmF1bHQ6IDE1MG1zICFkZWZhdWx0O1xuJG1vdGlvbi1zdGFnZ2VyLWR1cmF0aW9uLXNob3J0OiA1MG1zICFkZWZhdWx0O1xuJG1vdGlvbi1zdGFnZ2VyLWR1cmF0aW9uLWxvbmc6IDMwMG1zICFkZWZhdWx0O1xuXG4vLyBEZWZhdWx0IHRpbWluZyBmdW5jdGlvbiBmb3IgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnNcbiRtb3Rpb24tdGltaW5nLWRlZmF1bHQ6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vIEJ1aWx0LWluIGFuZCBjdXN0b20gZWFzaW5nIGZ1bmN0aW9uc1xuLy8gRXZlcnkgaXRlbSBpbiB0aGlzIG1hcCBiZWNvbWVzIGEgQ1NTIGNsYXNzXG4kbW90aW9uLXRpbWluZ3M6IChcbiAgbGluZWFyOiBsaW5lYXIsXG4gIGVhc2U6IGVhc2UsXG4gIGVhc2VJbjogZWFzZS1pbixcbiAgZWFzZU91dDogZWFzZS1vdXQsXG4gIGVhc2VJbk91dDogZWFzZS1pbi1vdXQsXG4gIGJvdW5jZUluOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0MCwgMS4yNDUpLFxuICBib3VuY2VPdXQ6IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSksXG4gIGJvdW5jZUluT3V0OiBjdWJpYy1iZXppZXIoMC43NjAsIC0wLjI0NSwgMC4yNDAsIDEuMjQ1KSxcbikgIWRlZmF1bHQ7XG5cbi8vIERlZmF1bHQgZGVsYXkgZm9yIGFsbCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9uc1xuJG1vdGlvbi1kZWxheS1kZWZhdWx0OiAwICFkZWZhdWx0O1xuLy8gU2hvcnQgYW5kIGxvbmcgZGVsYXkgbW9kaWZpZXJzXG4kbW90aW9uLWRlbGF5LXNob3J0OiAzMDBtcyAhZGVmYXVsdDtcbiRtb3Rpb24tZGVsYXktbG9uZzogNzAwbXMgIWRlZmF1bHQ7XG4vLy9cblxuLy8gTG9va3MgZm9yIGEgdGltaW5nIGZ1bmN0aW9uIGluIHRoZSBsaXN0IG9mIHByZXNldHNcbi8vIElmIG5vbmUgYXJlIGZvdW5kLCByZXR1cm5zIHRoZSB2YWx1ZSBhcy1pcy5cbkBmdW5jdGlvbiBnZXQtdGltaW5nKCR0aW1pbmcpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRtb3Rpb24tdGltaW5ncywgJHRpbWluZykge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbW90aW9uLXRpbWluZ3MsICR0aW1pbmcpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICR0aW1pbmc7XG4gIH1cbn1cblxuLy8gQXBwbGllcyB0cmFuc2l0aW9uIHNldHRpbmdzIGNvbW1vbiB0byBhbGwgbWl4aW5zXG5AbWl4aW4gdHJhbnNpdGlvbi1iYXNpY3MoXG4gICRkdXJhdGlvbjogJG1vdGlvbi1kdXJhdGlvbi1kZWZhdWx0LFxuICAkdGltaW5nOiAkbW90aW9uLXRpbWluZy1kZWZhdWx0LFxuICAkZGVsYXk6ICRtb3Rpb24tZGVsYXktZGVmYXVsdFxuKSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGdldC10aW1pbmcoJHRpbWluZyk7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8gV3JhcHMgY29udGVudCBpbiBhbiBlbnRlci9sZWF2ZSBjbGFzcywgY2hhaW5lZCB0byB0aGUgcGFyZW50IHNlbGVjdG9yXG4vLyBEZWZpbmUgdGhlIGluaXRpYWwgc3RhdGUgb2YgYSB0cmFuc2l0aW9uIGhlcmVcbkBtaXhpbiB0cmFuc2l0aW9uLXN0YXJ0KCRkaXIpIHtcbiAgJHNlbDE6IG1hcC1nZXQoJG1vdGlvbi1jbGFzcywgJGRpcik7XG4gICRzZWwyOiBtYXAtZ2V0KCRtb3Rpb24tY2xhc3Mtc2hvd2hpZGUsICRkaXIpO1xuXG4gICYuI3skc2VsMX0sXG4gICYuI3skc2VsMn0ge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIFdyYXBzIGNvbnRlbnQgaW4gYW4gZW50ZXIvbGVhdmUgYWN0aXZlIGNsYXNzLCBjaGFpbmVkIHRvIHRoZSBtYXRjaGluZ1xuLy8gZW50ZXIvbGVhdmUgY2xhc3MsIGNoYWluZWQgdG8gdGhlIHBhcmVudCBzZWxlY3RvclxuLy8gRGVmaW5lIHRoZSBlbmQgc3RhdGUgb2YgYSB0cmFuc2l0aW9uIGhlcmVcbkBtaXhpbiB0cmFuc2l0aW9uLWVuZCgkZGlyKSB7XG4gICRzZWwxOiAgbWFwLWdldCgkbW90aW9uLWNsYXNzLCAkZGlyKTtcbiAgJHNlbDFBOiBtYXAtZ2V0KCRtb3Rpb24tY2xhc3MtYWN0aXZlLCAkZGlyKTtcblxuICAkc2VsMjogIG1hcC1nZXQoJG1vdGlvbi1jbGFzcy1zaG93aGlkZSwgJGRpcik7XG4gICRzZWwyQTogbWFwLWdldCgkbW90aW9uLWNsYXNzLXNob3doaWRlLWFjdGl2ZSwgJGRpcik7XG5cbiAgJi4jeyRzZWwxfS4jeyRzZWwxQX0sXG4gICYuI3skc2VsMn0uI3skc2VsMkF9IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIC8vIHRoaXMgaXMgdG8gYXZvaWQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2VcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjowO1xufVxuXG5cbi8vIDEuIEJhc2UgVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gU0xJREVcbkBtaXhpbiBzbGlkZSAoXG4gICRkaXI6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGZhZGU6ICRtb3Rpb24tc2xpZGUtYW5kLWZhZGUsXG4gICRkdXJhdGlvbjogJG1vdGlvbi1kdXJhdGlvbi1kZWZhdWx0LFxuICAkdGltaW5nOiAkbW90aW9uLXRpbWluZy1kZWZhdWx0LFxuICAkZGVsYXk6ICRtb3Rpb24tZGVsYXktZGVmYXVsdFxuKSB7XG4gICRzbGlkZURpcmVjdGlvbnM6IChcbiAgICB0b3A6ICAgIHRyYW5zbGF0ZVkoLTEwMCUpLFxuICAgIHJpZ2h0OiAgdHJhbnNsYXRlWCgxMDAlKSxcbiAgICBib3R0b206IHRyYW5zbGF0ZVkoMTAwJSksXG4gICAgbGVmdDogICB0cmFuc2xhdGVYKC0xMDAlKSxcbiAgKTtcbiAgJHN0YXJ0OiAnJztcbiAgJGVuZDogJyc7XG5cbiAgQGlmICRkaXIgPT0gaW4ge1xuICAgICRzdGFydDogbWFwLWdldCgkc2xpZGVEaXJlY3Rpb25zLCAkZnJvbSk7XG4gICAgJGVuZDogdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVZKDApO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkc3RhcnQ6IHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgwKTtcbiAgICAkZW5kOiBtYXAtZ2V0KCRzbGlkZURpcmVjdGlvbnMsICRmcm9tKTtcbiAgfVxuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiAkc3RhcnQ7XG5cbiAgICBAaWYgJGZhZGUgeyBvcGFjaXR5OiBpZigkZGlyID09IGluLCAwLCAxKTsgfVxuICB9XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgICB0cmFuc2Zvcm06ICRlbmQ7XG5cbiAgICBAaWYgJGZhZGUgeyBvcGFjaXR5OiBpZigkZGlyID09IGluLCAxLCAwKTsgfVxuICB9XG59XG5cbi8vIEZBREVcbkBtaXhpbiBmYWRlKFxuICAkZGlyOiBpbixcbiAgJGZyb206IDAsXG4gICR0bzogMSxcbiAgJGR1cmF0aW9uOiAkbW90aW9uLWR1cmF0aW9uLWRlZmF1bHQsXG4gICR0aW1pbmc6ICRtb3Rpb24tdGltaW5nLWRlZmF1bHQsXG4gICRkZWxheTogJG1vdGlvbi1kZWxheS1kZWZhdWx0XG4pIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgb3BhY2l0eTogJGZyb207XG4gIH1cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAgIG9wYWNpdHk6ICR0bztcbiAgfVxufVxuXG4vLyBISU5HRVxuQG1peGluIGhpbmdlIChcbiAgJGRpcjogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogZnJvbS1iYWNrLFxuICAkZmFkZTogJG1vdGlvbi1oaW5nZS1hbmQtZmFkZSxcbiAgJGR1cmF0aW9uOiAkbW90aW9uLWR1cmF0aW9uLWRlZmF1bHQsXG4gICR0aW1pbmc6ICRtb3Rpb24tdGltaW5nLWRlZmF1bHQsXG4gICRkZWxheTogJG1vdGlvbi1kZWxheS1kZWZhdWx0XG4pIHtcblxuICAvLyBSb3RhdGlvbiBkaXJlY3Rpb25zIHdoZW4gaGluZ2luZyBmcm9tIGJhY2sgdnMuIGZyb250XG4gICRyb3RhdGlvbkFtb3VudDogOTBkZWc7XG4gICRyb3RhdGlvbnNCYWNrOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbkFtb3VudCAqIC0xKSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb25BbW91bnQgKiAtMSksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbkFtb3VudCksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb25BbW91bnQpLFxuICApO1xuICAkcm90YXRpb25zRnJvbTogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb25BbW91bnQpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbkFtb3VudCksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbkFtb3VudCAqIC0xKSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbkFtb3VudCAqIC0xKSxcbiAgKTtcblxuICAvLyBSb3RhdGlvbiBvcmlnaW5cbiAgJHJvdGF0aW9uOiAnJztcbiAgQGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWZyb250IHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9uc0Zyb20sICRmcm9tKTtcbiAgfVxuICBAZWxzZSBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1iYWNrIHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9uc0JhY2ssICRmcm9tKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gXCJgJHR1cm4tb3JpZ2luYCBtdXN0IGJlIGVpdGhlciBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGBcIjtcbiAgfVxuXG4gIC8vIFN0YXJ0IGFuZCBlbmQgc3RhdGVcbiAgJHN0YXJ0OiAnJztcbiAgJGVuZDogJyc7XG4gIEBpZiAkZGlyID09IGluIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICAgICRlbmQ6IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHN0YXJ0OiByb3RhdGUoMGRlZyk7XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gIH1cblxuICAvLyBUdXJuIGF4aXNcbiAgJG9yaWdpbjogJyc7XG4gIEBpZiAkYXhpcyA9PSBlZGdlIHtcbiAgICAkb3JpZ2luOiAkZnJvbTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJG9yaWdpbjogY2VudGVyO1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB0cmFuc2Zvcm06ICRzdGFydDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuICAgIEBpZiAkZmFkZSB7IG9wYWNpdHk6IGlmKCRkaXIgPT0gaW4sIDAsIDEpOyB9XG4gIH1cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAgIHRyYW5zZm9ybTogJGVuZDtcbiAgICBAaWYgJGZhZGUgeyBvcGFjaXR5OiBpZigkZGlyID09IGluLCAxLCAwKTsgfVxuICB9XG59XG5cbi8vIFNDQUxFXG5AbWl4aW4gc2NhbGUoXG4gICRkaXI6IGluLFxuICAkZnJvbTogMS41LFxuICAkdG86IDEsXG4gICRmYWRlOiAkbW90aW9uLXNjYWxlLWFuZC1mYWRlLFxuICAkZHVyYXRpb246ICRtb3Rpb24tZHVyYXRpb24tZGVmYXVsdCxcbiAgJHRpbWluZzogJG1vdGlvbi10aW1pbmctZGVmYXVsdCxcbiAgJGRlbGF5OiAkbW90aW9uLWRlbGF5LWRlZmF1bHRcbikge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRkaXIpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBwcm9wZXJ0eTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKCRmcm9tKTtcbiAgICBAaWYgJGZhZGUgeyBvcGFjaXR5OiBpZigkZGlyID09IGluLCAwLCAxKSB9XG4gIH1cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoJHRvKTtcbiAgICBAaWYgJGZhZGUgeyBvcGFjaXR5OiBpZigkZGlyID09IGluLCAxLCAwKSB9XG4gIH1cbn1cblxuLy8gU1BJTlxuQG1peGluIHNwaW4oXG4gICRkaXI6IGluLFxuICAkYW1vdW50OiAwLjc1dHVybixcbiAgJGNjdzogZmFsc2UsXG4gICRmYWRlOiAkbW90aW9uLXNwaW4tYW5kLWZhZGUsXG4gICRkdXJhdGlvbjogJG1vdGlvbi1kdXJhdGlvbi1kZWZhdWx0LFxuICAkdGltaW5nOiAkbW90aW9uLXRpbWluZy1kZWZhdWx0LFxuICAkZGVsYXk6ICRtb3Rpb24tZGVsYXktZGVmYXVsdFxuKSB7XG4gICRhbW91bnQ6IHR1cm4tdG8tZGVnKCRhbW91bnQpO1xuICAkc3RhcnQ6IDA7XG4gICRlbmQ6IDA7XG5cbiAgQGlmICRkaXIgPT0gaW4ge1xuICAgICRzdGFydDogaWYoJGNjdywgJGFtb3VudCwgJGFtb3VudCAqIC0xKTtcbiAgICAkZW5kOiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkc3RhcnQ6IDA7XG4gICAgJGVuZDogaWYoJGNjdywgJGFtb3VudCAqIC0xLCAkYW1vdW50KTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkc3RhcnQpO1xuICAgIEBpZiAkZmFkZSB7IG9wYWNpdHk6IGlmKCRkaXIgPT0gaW4sIDAsIDEpOyB9XG4gIH1cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKCRlbmQpO1xuICAgIEBpZiAkZmFkZSB7IG9wYWNpdHk6IGlmKCRkaXIgPT0gaW4sIDEsIDApOyB9XG4gIH1cbn1cblxuXG4vLyAyLiBCYXNlIEFuaW1hdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gU0hBS0VcbkBrZXlmcmFtZXMgc2hha2Uge1xuICAwJSwgMTAlLCAyMCUsIDMwJSwgNDAlLCA1MCUsIDYwJSwgNzAlLCA4MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDclKTtcbiAgfVxuICA1JSwgMTUlLCAyNSUsIDM1JSwgNDUlLCA1NSUsIDY1JSwgNzUlLCA4NSUsIDk1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03JSk7XG4gIH1cbiAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxufVxuXG4vLyBTUElOTkVSU1xuQGtleWZyYW1lcyBzcGluLWN3IHtcbiAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxufVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY2N3IHtcbiAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoLTM2MGRlZyk7IH1cbn1cblxuLy8gV0lHR0xFXG5Aa2V5ZnJhbWVzIHdpZ2dsZSB7XG4gIDQwJSwgNTAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpO1xuICB9XG4gIDM1JSwgNDUlLCA1NSUsIDY1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpO1xuICB9XG4gIDAlLCAzMCUsIDcwJSwgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG59XG5cbkBtaXhpbiBhbmltYXRpb24oXG4gICRhbmltYXRpb24sXG4gICRkdXJhdGlvbjogJG1vdGlvbi1kdXJhdGlvbi1kZWZhdWx0LFxuICAkdGltaW5nOiAkbW90aW9uLXRpbWluZy1kZWZhdWx0LFxuICAkZGVsYXk6ICRtb3Rpb24tZGVsYXktZGVmYXVsdCxcbiAgJGl0ZXJhdGlvbnM6IG51bGxcbikge1xuICBcbiAgYW5pbWF0aW9uLW5hbWU6ICRhbmltYXRpb247XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cbiAgQGlmICRkZWxheSAhPSBudWxsIHtcbiAgICBhbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbiAgfVxuICBAaWYgJGl0ZXJhdGlvbnMgIT0gbnVsbCB7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogJGl0ZXJhdGlvbnM7XG4gIH1cblxuICBAaWYgJGFuaW1hdGlvbiA9PSBudWxsIHtcbiAgICBAd2FybiBcIlBsZWFzZSBpbmNsdWRlIGFuIGFuaW1hdGlvbiBuYW1lXCI7XG4gIH1cbn1cblxuLy8gMy4gSFRNTCBFeHBvcnRzXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbkBpbmNsdWRlIGV4cG9ydHMobW90aW9uKSB7XG4gIC8qXG4gICAgVHJhbnNpdGlvbnNcbiAgKi9cblxuICAvLyBTbGlkZVxuICAuc2xpZGVJbkRvd24gICAgeyBAaW5jbHVkZSBzbGlkZSgkZnJvbTogdG9wKTsgfVxuICAuc2xpZGVJbkxlZnQgICAgeyBAaW5jbHVkZSBzbGlkZSgkZnJvbTogcmlnaHQpOyB9XG4gIC5zbGlkZUluVXAgICAgICB7IEBpbmNsdWRlIHNsaWRlKCRmcm9tOiBib3R0b20pOyB9XG4gIC5zbGlkZUluUmlnaHQgICB7IEBpbmNsdWRlIHNsaWRlKCRmcm9tOiBsZWZ0KTsgfVxuICAuc2xpZGVPdXRCb3R0b20geyBAaW5jbHVkZSBzbGlkZSgkZGlyOiBvdXQsICRmcm9tOiBib3R0b20pOyB9XG4gIC5zbGlkZU91dFJpZ2h0ICB7IEBpbmNsdWRlIHNsaWRlKCRkaXI6IG91dCwgJGZyb206IHJpZ2h0KTsgfVxuICAuc2xpZGVPdXRVcCAgICAgeyBAaW5jbHVkZSBzbGlkZSgkZGlyOiBvdXQsICRmcm9tOiB0b3ApOyB9XG4gIC5zbGlkZU91dExlZnQgICB7IEBpbmNsdWRlIHNsaWRlKCRkaXI6IG91dCwgJGZyb206IGxlZnQpOyB9XG5cbiAgLy8gRmFkZVxuICAuZmFkZUluICB7IEBpbmNsdWRlIGZhZGUoaW4sIDAsIDEpOyB9XG4gIC5mYWRlT3V0IHsgQGluY2x1ZGUgZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlSW5Gcm9tVG9wICAgICAgeyBAaW5jbHVkZSBoaW5nZSgkZGlyOiBpbiwgJGZyb206IHRvcCk7IH1cbiAgLmhpbmdlSW5Gcm9tUmlnaHQgICAgeyBAaW5jbHVkZSBoaW5nZSgkZGlyOiBpbiwgJGZyb206IHJpZ2h0KTsgfVxuICAuaGluZ2VJbkZyb21Cb3R0b20gICB7IEBpbmNsdWRlIGhpbmdlKCRkaXI6IGluLCAkZnJvbTogYm90dG9tKTsgfVxuICAuaGluZ2VJbkZyb21MZWZ0ICAgICB7IEBpbmNsdWRlIGhpbmdlKCRkaXI6IGluLCAkZnJvbTogbGVmdCk7IH1cbiAgLmhpbmdlSW5Gcm9tTWlkZGxlWCAgeyBAaW5jbHVkZSBoaW5nZSgkZGlyOiBpbiwgJGZyb206IHRvcCwgICAkYXhpczogY2VudGVyKTsgfVxuICAuaGluZ2VJbkZyb21NaWRkbGVZICB7IEBpbmNsdWRlIGhpbmdlKCRkaXI6IGluLCAkZnJvbTogcmlnaHQsICRheGlzOiBjZW50ZXIpOyB9XG4gIC5oaW5nZU91dEZyb21Ub3AgICAgIHsgQGluY2x1ZGUgaGluZ2UoJGRpcjogb3V0LCAkZnJvbTogdG9wKTsgfVxuICAuaGluZ2VPdXRGcm9tUmlnaHQgICB7IEBpbmNsdWRlIGhpbmdlKCRkaXI6IG91dCwgJGZyb206IHJpZ2h0KTsgfVxuICAuaGluZ2VPdXRGcm9tQm90dG9tICB7IEBpbmNsdWRlIGhpbmdlKCRkaXI6IG91dCwgJGZyb206IGJvdHRvbSk7IH1cbiAgLmhpbmdlT3V0RnJvbUxlZnQgICAgeyBAaW5jbHVkZSBoaW5nZSgkZGlyOiBvdXQsICRmcm9tOiBsZWZ0KTsgfVxuICAuaGluZ2VPdXRGcm9tTWlkZGxlWCB7IEBpbmNsdWRlIGhpbmdlKCRkaXI6IG91dCwgJGZyb206IHRvcCwgICAkYXhpczogY2VudGVyKTsgfVxuICAuaGluZ2VPdXRGcm9tTWlkZGxlWSB7IEBpbmNsdWRlIGhpbmdlKCRkaXI6IG91dCwgJGZyb206IHJpZ2h0LCAkYXhpczogY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC56b29tSW4gIHsgQGluY2x1ZGUgc2NhbGUoaW4sICAxLjUsIDEpOyB9XG4gIC56b29tT3V0IHsgQGluY2x1ZGUgc2NhbGUob3V0LCAwLjUsIDEpOyB9XG5cbiAgLy8gU3BpblxuICAuc3BpbkluICAgICB7IEBpbmNsdWRlIHNwaW4oaW4sIDAuNzV0dXJuKTsgfVxuICAuc3Bpbk91dCAgICB7IEBpbmNsdWRlIHNwaW4ob3V0LCAwLjc1dHVybik7IH1cbiAgLnNwaW5JbkNDVyAgeyBAaW5jbHVkZSBzcGluKGluLCAwLjc1dHVybiwgdHJ1ZSk7IH1cbiAgLnNwaW5PdXRDQ1cgeyBAaW5jbHVkZSBzcGluKG91dCwgMC43NXR1cm4sIHRydWUpOyB9XG5cbiAgLypcbiAgICBUcmFuc2l0aW9uIG1vZGlmaWVyc1xuICAqL1xuXG4gIC8vIER1cmF0aW9uXG4gIC5zbG93IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJG1vdGlvbi1kdXJhdGlvbi1zbG93ICFpbXBvcnRhbnQ7IH1cbiAgLmZhc3QgeyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkbW90aW9uLWR1cmF0aW9uLWZhc3QgIWltcG9ydGFudDsgfVxuXG4gIC8vIEVhc2luZ1xuICBAZWFjaCAkZWFzaW5nIGluIG1hcC1rZXlzKCRtb3Rpb24tdGltaW5ncykge1xuICAgIC4jeyRlYXNpbmd9IHtcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdGltaW5ncywgJGVhc2luZykgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWxheVxuICAuZGVsYXkgICAgICAgeyB0cmFuc2l0aW9uLWRlbGF5OiAkbW90aW9uLWRlbGF5LXNob3J0ICFpbXBvcnRhbnQ7IH1cbiAgLmxvbmctZGVsYXkgIHsgdHJhbnNpdGlvbi1kZWxheTogJG1vdGlvbi1kZWxheS1sb25nICFpbXBvcnRhbnQ7IH1cblxuICAvKlxuICAgIEFuaW1hdGlvbnNcbiAgKi9cblxuICAuc2hha2UgICAgeyBAaW5jbHVkZSBhbmltYXRpb24oc2hha2UpOyB9XG4gIC5zcGluLWN3ICB7IEBpbmNsdWRlIGFuaW1hdGlvbihzcGluLWN3KTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBhbmltYXRpb24oc3Bpbi1jY3cpOyB9XG4gIC53aWdnbGUgICB7IEBpbmNsdWRlIGFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLypcbiAgICBBbmltYXRpb24gbW9kaWZpZXJzXG4gICovXG5cbiAgLnNoYWtlLFxuICAuc3Bpbi1jdyxcbiAgLnNwaW4tY2N3LFxuICAud2lnZ2xlIHtcbiAgICAvLyBSZXBlYXRcbiAgICAmLmluZmluaXRlIHsgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuICAgIC8vIEVhc2luZ1xuICAgIEBlYWNoICR0aW1pbmcgaW4gbWFwLWtleXMoJG1vdGlvbi10aW1pbmdzKSB7XG4gICAgICAmLiN7JHRpbWluZ30ge1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdGltaW5ncywgJHRpbWluZykgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEdXJhdGlvblxuICAgICYuc2xvdyB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJG1vdGlvbi1kdXJhdGlvbi1zbG93ICFpbXBvcnRhbnQ7IH1cbiAgICAmLmZhc3QgeyBhbmltYXRpb24tZHVyYXRpb246ICRtb3Rpb24tZHVyYXRpb24tZmFzdCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEZWxheVxuICAgICYuZGVsYXkgICAgICAgeyBhbmltYXRpb24tZGVsYXk6ICRtb3Rpb24tZGVsYXktc2hvcnQgIWltcG9ydGFudDsgfVxuICAgICYubG9uZy1kZWxheSAgeyBhbmltYXRpb24tZGVsYXk6ICRtb3Rpb24tZGVsYXktbG9uZyAhaW1wb3J0YW50OyB9XG4gIH1cbiAgLnN0YWdnZXIgeyBAaW5jbHVkZSBzdGFnZ2VyKCRtb3Rpb24tc3RhZ2dlci1kdXJhdGlvbi1kZWZhdWx0KTsgfVxuICAuc3RvcnQtc3RhZ2dlciB7IEBpbmNsdWRlIHN0YWdnZXIoJG1vdGlvbi1zdGFnZ2VyLWR1cmF0aW9uLWRlZmF1bHQpOyB9XG4gIC5sb25nLXN0YWdnZXIgeyBAaW5jbHVkZSBzdGFnZ2VyKCRtb3Rpb24tc3RhZ2dlci1kdXJhdGlvbi1kZWZhdWx0KTsgfVxufVxuXG4vLyBWaWV3IGFuaW1hdGlvbiBjbGFzc2VzXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gQXBwbGllZCB0byB0aGUgaW1tZWRpYXRlIHBhcmVudCBvZiB0aGUgYW5pbWF0aW5nIHZpZXdzXG4ucG9zaXRpb24tYWJzb2x1dGUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vIEFwcGxpZWQgdG8gdGhlIGFuaW1hdGluZyB2aWV3c1xuLnVpLWFuaW1hdGlvbiB7XG4gICYubmctZW50ZXItYWN0aXZlLCAmLm5nLWxlYXZlLWFjdGl2ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cbiIsIi8qXG4gIE9kZHMgYW5kIGVuZHMuXG4qL1xuXG4vLy8gQEZvdW5kYXRpb24uc2V0dGluZ3Ncbi8vIEV4dHJhc1xuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiAodG9wIHJpZ2h0KSAhZGVmYXVsdDtcbiRjbG9zZWJ1dHRvbi1zaXplOiAyZW0gIWRlZmF1bHQ7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMC41ICFkZWZhdWx0O1xuJGNsb3NlYnV0dG9uLWNvbG9yOiAjOTk5ICFkZWZhdWx0O1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAjMzMzICFkZWZhdWx0O1xuXG4kdGh1bWJuYWlsLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDNweCAxNXB4IHJnYmEoYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuLy8vXG5cbi8vIEEgYmFzaWMgY2xvc2UgYnV0dG9uLiBUaGV5IHBpbiB0byB0aGUgY29ybmVyIG9mIHRoZSB0aGluZyB0aGV5J3JlIGluc2lkZS5cbiVjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XG4gICN7JHh9OiAkZ2xvYmFsLXBhZGRpbmc7XG4gICN7JHl9OiAkZ2xvYmFsLXBhZGRpbmc7XG4gIGZvbnQtc2l6ZTogJGNsb3NlYnV0dG9uLXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkY2xvc2VidXR0b24tbGluZWhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8gTWFrZSB5b3VyIGltYWdlcyBmYW5jeS1saWtlLlxuJXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoZXh0cmFzKSB7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIEBleHRlbmQgJWNsb3NlLWJ1dHRvbjtcbiAgfVxuICAudGh1bWJuYWlsIHtcbiAgICBAZXh0ZW5kICV0aHVtYm5haWw7XG4gIH1cbiAgdWwudGh1bWJuYWlscyA+IGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIFxuICAgIGEgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgIGltZyB7IEBleHRlbmQgJXRodW1ibmFpbDsgfVxuICB9XG59XG4iLCIvKlxuICBQQU5FTFxuICAtLS0tLVxuXG4gIFRoZSBmcmllbmRseSBwYW5lbCBpcyBhbiBhbGwtcHVycG9zZSBjb250YWluZXIgZm9yIGhpZGluZyBjb250ZW50IG9mZi1zY3JlZW4uXG5cbiAgRmVhdHVyZXM6XG4gICAtIFBvc2l0aW9uIGF0IHRvcCwgcmlnaHQsIGJvdHRvbSwgb3IgbGVmdFxuICAgLSBBbmNob3IgdG8gZ3JpZCBibG9jayBvciB3aW5kb3dcbiAgIC0gRGVmaW5lIG1heCB3aWR0aCBvciBoZWlnaHRcbiAgIC0gVHJhbnNmb3JtIGludG8gZ3JpZCBibG9jayBkZXBlbmRpbmcgb24gc2NyZWVuIHNpemVcbiovXG5cbi8vLyBARm91bmRhdGlvbi5zZXR0aW5nc1xuLy8gUGFuZWxcbiRwYW5lbC1zaXplLWhvcml6b250YWw6IDMwMHB4ICFkZWZhdWx0O1xuJHBhbmVsLXNpemUtdmVydGljYWw6IDMwMHB4ICFkZWZhdWx0O1xuJHBhbmVsLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XG5cbiRwYW5lbC1iYWNrZ3JvdW5kOiAjZmZmICFkZWZhdWx0O1xuJHBhbmVsLXNoYWRvdzogM3B4IDAgMTBweCByZ2JhKGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8gREVQUkVDQVRFRDogdGhlc2UgdmFyaWFibGVzIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uLlxuJHBhbmVsLWFuaW1hdGlvbi1zcGVlZDogMC4yNXMgIWRlZmF1bHQ7XG4vLy9cblxuJXBhbmVsLWJhc2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDA7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBwYW5lbC1sYXlvdXQoXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJHNpemU6IGRlZmF1bHQsXG4gICRzaGFkb3c6ICRwYW5lbC1zaGFkb3dcbikge1xuICBAaWYgJHNpemUgPT0gZGVmYXVsdCB7XG4gICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IG9yICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAkc2l6ZTogJHBhbmVsLXNpemUtaG9yaXpvbnRhbDtcbiAgICB9XG4gICAgQGlmICRwb3NpdGlvbiA9PSB0b3Agb3IgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgICAkc2l6ZTogJHBhbmVsLXNpemUtdmVydGljYWw7XG4gICAgfVxuICB9XG5cbiAgLypcbiAgICBEaXJlY3Rpb25cbiAgKi9cbiAgQGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLypcbiAgICBTaXppbmdcbiAgKi9cbiAgLy8gSG9yaXpvbnRhbCBwYW5lbHMgYXJlIGFsd2F5cyBhbGwgdGhlIHdheSB0YWxsIGFuZCBoYXZlIGEgc2V0IHdpZHRoXG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCBvciAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIEBpZiB1bml0KCRzaXplKSA9PSAnJScge1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyAoRm9yIG5vdykgdmVydGljYWwgcGFuZWxzIGRvbid0IGNoYW5nZSBzaXplXG4gIEBpZiAkcG9zaXRpb24gPT0gdG9wIG9yICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGhlaWdodDogJHNpemU7XG4gIH1cblxuICAvKlxuICAgIFNoYWRvd3NcbiAgKi9cbiAgJHNoYWRvdy1kaXN0YW5jZTogZ2V0LXNoYWRvdy12YWx1ZSgkc2hhZG93LCB4KTtcbiAgJHNoYWRvdy1zaXplOiBnZXQtc2hhZG93LXZhbHVlKCRzaGFkb3csIHNpemUpO1xuICAkc2hhZG93LWNvbG9yOiBnZXQtc2hhZG93LXZhbHVlKCRzaGFkb3csIGNvbG9yKTtcbiAgJi5pcy1hY3RpdmUge1xuICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCAgICAgICAgeyBib3gtc2hhZG93OiAkc2hhZG93LWRpc3RhbmNlIDAgJHNoYWRvdy1zaXplICRzaGFkb3ctY29sb3I7IH1cbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQgIHsgYm94LXNoYWRvdzogKC0kc2hhZG93LWRpc3RhbmNlKSAwICRzaGFkb3ctc2l6ZSAkc2hhZG93LWNvbG9yOyB9XG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCAgICB7IGJveC1zaGFkb3c6IDAgJHNoYWRvdy1kaXN0YW5jZSAkc2hhZG93LXNpemUgJHNoYWRvdy1jb2xvcjsgfVxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20geyBib3gtc2hhZG93OiAycHggKC0kc2hhZG93LWRpc3RhbmNlKSAkc2hhZG93LXNpemUgJHNoYWRvdy1jb2xvcjsgfVxuICB9XG59XG5cbkBtaXhpbiBwYW5lbC1zdHlsZShcbiAgJHBhZGRpbmc6ICRwYW5lbC1wYWRkaW5nLFxuICAkYmFja2dyb3VuZDogJHBhbmVsLWJhY2tncm91bmRcbikge1xuICAvKlxuICAgIEJhc2ljIHN0eWxlc1xuICAqL1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMocGFuZWwpIHtcbiAgLnBhbmVsIHtcbiAgICBAZXh0ZW5kICVwYW5lbC1iYXNlO1xuICAgIEBpbmNsdWRlIHBhbmVsLXN0eWxlO1xuICB9XG5cbiAgLnBhbmVsLXRvcCAgICB7IEBpbmNsdWRlIHBhbmVsLWxheW91dCh0b3ApOyB9XG4gIC5wYW5lbC1yaWdodCAgeyBAaW5jbHVkZSBwYW5lbC1sYXlvdXQocmlnaHQpOyB9XG4gIC5wYW5lbC1ib3R0b20geyBAaW5jbHVkZSBwYW5lbC1sYXlvdXQoYm90dG9tKTsgfVxuICAucGFuZWwtbGVmdCAgIHsgQGluY2x1ZGUgcGFuZWwtbGF5b3V0KGxlZnQpOyB9XG5cbiAgLnBhbmVsLWZpeGVkICB7IHBvc2l0aW9uOiBmaXhlZDsgfVxufSIsIi8qXG4gIExhYmVsXG4qL1xuXG4vLy8gQEZvdW5kYXRpb24uc2V0dGluZ3Ncbi8vIExhYmVsXG4kbGFiZWwtZm9udHNpemU6IDAuOHJlbSAhZGVmYXVsdDtcbiRsYWJlbC1wYWRkaW5nOiAoJGdsb2JhbC1wYWRkaW5nIC8gMykgKCRnbG9iYWwtcGFkZGluZyAvIDIpICFkZWZhdWx0O1xuJGxhYmVsLXJhZGl1czogMCAhZGVmYXVsdDtcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC1jb2xvcjogaXNpdGxpZ2h0KCRwcmltYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuJGJhZGdlLWZvbnRzaXplOiAwLjhlbSAhZGVmYXVsdDtcbiRiYWRnZS1kaWFtZXRlcjogMS41cmVtICFkZWZhdWx0O1xuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGJhZGdlLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuLy8vXG5cbiVsYWJlbCB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGxhYmVsLWxheW91dChcbiAgJGZvbnRzaXplOiAkbGFiZWwtZm9udHNpemUsXG4gICRwYWRkaW5nOiAkbGFiZWwtcGFkZGluZ1xuKSB7XG4gIGZvbnQtc2l6ZTogJGZvbnRzaXplO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbn1cblxuQG1peGluIGxhYmVsLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGxhYmVsLWNvbG9yLFxuICAkcmFkaXVzOiAkbGFiZWwtcmFkaXVzXG4pIHtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICBjb2xvcjogaXNpdGxpZ2h0KCRiYWNrZ3JvdW5kKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gbGFiZWwoXG4gICRiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkbGFiZWwtY29sb3IsXG4gICRyYWRpdXM6ICRsYWJlbC1yYWRpdXMsXG4gICRmb250c2l6ZTogJGxhYmVsLWZvbnRzaXplLFxuICAkcGFkZGluZzogJGxhYmVsLXBhZGRpbmdcbikge1xuICBAZXh0ZW5kICVsYWJlbDtcbiAgQGluY2x1ZGUgbGFiZWwtbGF5b3V0KCRmb250c2l6ZSwgJHBhZGRpbmcpO1xuICBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkYmFja2dyb3VuZCwgJGNvbG9yLCAkcmFkaXVzKTtcbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhsYWJlbCkge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgQGVhY2ggJGNvbG9yIGluIG1hcC1rZXlzKCRmb3VuZGF0aW9uLWNvbG9ycykge1xuICAgICAgJi4jeyRjb2xvcn0ge1xuICAgICAgICAkY29sb3ItdmFsdWU6IG1hcC1nZXQoJGZvdW5kYXRpb24tY29sb3JzLCAkY29sb3IpO1xuICAgICAgICBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkY29sb3ItdmFsdWUsIGF1dG8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKlxuICBCYWRnZVxuKi9cblxuJWJhZGdlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBib3JkZXItcmFkaXVzOiAxMDAwcHg7XG59XG5cbkBtaXhpbiBiYWRnZS1sYXlvdXQoXG4gICRmb250c2l6ZTogJGJhZGdlLWZvbnRzaXplLFxuICAkZGlhbWV0ZXI6ICRiYWRnZS1kaWFtZXRlclxuKSB7XG4gIGZvbnQtc2l6ZTogJGZvbnRzaXplO1xuICB3aWR0aDogJGRpYW1ldGVyO1xuICBoZWlnaHQ6ICRkaWFtZXRlcjtcbn1cblxuQG1peGluIGJhZGdlLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJhZGdlLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGJhZGdlLWZvbnQtY29sb3Jcbikge1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgIGNvbG9yOiBpc2l0bGlnaHQoJGJhY2tncm91bmQpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiBiYWRnZShcbiAgJGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRiYWRnZS1jb2xvcixcbiAgJGRpYW1ldGVyOiAkYmFkZ2UtZGlhbWV0ZXIsXG4gICRmb250c2l6ZTogJGJhZGdlLWZvbnRzaXplXG4pIHtcbiAgQGV4dGVuZCAlYmFkZ2U7XG4gIEBpbmNsdWRlIGJhZGdlLWxheW91dCgkZm9udHNpemUsICRkaWFtZXRlcik7XG4gIEBpbmNsdWRlIGJhZGdlLXN0eWxlKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xufVxuXG5AaW5jbHVkZSBleHBvcnRzKGJhZGdlKSB7XG4gIC5iYWRnZSB7XG4gICAgQGluY2x1ZGUgYmFkZ2U7XG5cbiAgICAmLnNlY29uZGFyeSB7XG4gICAgICBAaW5jbHVkZSBiYWRnZS1zdHlsZSgkc2Vjb25kYXJ5LWNvbG9yLCBhdXRvKTtcbiAgICB9XG4gICAgQGVhY2ggJGNvbG9yIGluIG1hcC1rZXlzKCRmb3VuZGF0aW9uLWNvbG9ycykge1xuICAgICAgJi4jeyRjb2xvcn0ge1xuICAgICAgICAkY29sb3ItdmFsdWU6IG1hcC1nZXQoJGZvdW5kYXRpb24tY29sb3JzLCAkY29sb3IpO1xuICAgICAgICBAaW5jbHVkZSBiYWRnZS1zdHlsZSgkY29sb3ItdmFsdWUsIGF1dG8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLypcbiAgTU9EQUxcbiAgLS0tLS1cblxuICBUaGUgaHVtYmxlIG1vZGFsIGhpZGVzIG9mZi1jYW52YXMgdW50aWwgc3VtbW9uZWQgd2l0aCBhbiBmYS1vcGVuIGRpcmVjdGl2ZS4gTW9kYWxzIGFwcGVhciBvdmVyIGFuIG92ZXJsYXkgdGhhdCBkYXJrZW5zIHRoZSByZXN0IG9mIHRoZSBwYWdlLCBhbmQgaGF2ZSBhIG1heG1pbXVtIHdpZHRoLiBZb3UgY2FuIGNvbnN0cnVjdCBhIGdyaWQgaW5zaWRlIGEgbW9kYWwsIG9yIGF0dGFjaCBwYW5lbHMgdG8gaXQuXG5cbiAgTm90ZSB0aGF0IHRoZSBtb2RhbCBvdmVybGF5IGlzIGhhcmRjb2RlZCBpbnRvIHRoZSBDU1MsIGJlY2F1c2Ugd2hldGhlciBvciBub3QgeW91IGJ1aWxkIHlvdXIgbW9kYWwgc2VtYW50aWNhbGx5LCB0aGUgb3ZlcmxheSBpcyBhbHdheXMgcmVxdWlyZWQgYW5kIHdpbGwgYWx3YXlzIGxvb2sgdGhlIHNhbWUuXG4qL1xuXG4vLy8gQEZvdW5kYXRpb24uc2V0dGluZ3Ncbi8vIE1vZGFsXG4kbW9kYWwtYmFja2dyb3VuZDogI2ZmZiAhZGVmYXVsdDtcbiRtb2RhbC1ib3JkZXI6IDAgIWRlZmF1bHQ7XG4kbW9kYWwtcmFkaXVzOiAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc2hhZG93OiBub25lICFkZWZhdWx0O1xuJG1vZGFsLXppbmRleDogMTAwMCAhZGVmYXVsdDtcbiRtb2RhbC1zaXplczogKFxuICB0aW55OiAzMDBweCxcbiAgc21hbGw6IDUwMHB4LFxuICBtZWRpdW06IDYwMHB4LFxuICBsYXJnZTogODAwcHgsXG4pICFkZWZhdWx0O1xuXG4kbW9kYWwtb3ZlcmxheS1jbGFzczogJ21vZGFsLW92ZXJsYXknICFkZWZhdWx0O1xuJG1vZGFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgjMzMzLCAwLjcpICFkZWZhdWx0O1xuLy8vXG5cbiVtb2RhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogJG1vZGFsLXppbmRleCArIDE7XG4gIGJhY2tncm91bmQ6ICRtb2RhbC1iYWNrZ3JvdW5kO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IG1hcC1nZXQoJG1vZGFsLXNpemVzLCBtZWRpdW0pO1xuICB9XG5cbiAgLmdyaWQtY29udGVudCwgLmdyaWQtYmxvY2sge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24sIFtmYS1jbG9zZV0ge1xuICAgIHotaW5kZXg6ICRtb2RhbC16aW5kZXggKyAxO1xuICB9XG59XG5cbkBtaXhpbiBtb2RhbC1kaWFsb2coKSB7XG4gIGhlaWdodDogYXV0bztcbn1cbkBtaXhpbiBtb2RhbC1sYXlvdXQoXG4gICR3aWR0aDogbWFwLWdldCgkbW9kYWwtc2l6ZXMsIG1lZGl1bSksXG4gICRkaWFsb2c6IGZhbHNlXG4pIHtcbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG59XG5AbWl4aW4gbW9kYWwtc3R5bGUoXG4gICRib3JkZXI6ICRtb2RhbC1ib3JkZXIsXG4gICRyYWRpdXM6ICRtb2RhbC1yYWRpdXMsXG4gICRzaGFkb3c6ICRtb2RhbC1zaGFkb3dcbikge1xuICBAaWYgJGJvcmRlciAhPSAwIHtcbiAgICBib3JkZXI6ICRib3JkZXI7XG4gIH1cbiAgQGlmICRyYWRpdXMgIT0gMCB7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgfVxuICBAaWYgJHNoYWRvdyAhPSBub25lIHtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuICB9XG59XG5cbkBtaXhpbiBtb2RhbChcbiAgJHdpZHRoOiBtYXAtZ2V0KCRtb2RhbC1zaXplcywgbWVkaXVtKSxcbiAgJGJvcmRlcjogJG1vZGFsLWJvcmRlcixcbiAgJHJhZGl1czogJG1vZGFsLXJhZGl1cyxcbiAgJHNoYWRvdzogJG1vZGFsLXNoYWRvd1xuKSB7XG4gIEBleHRlbmQgJW1vZGFsO1xuICBAaW5jbHVkZSBtb2RhbC1sYXlvdXQoJHdpZHRoKTtcbiAgQGluY2x1ZGUgbW9kYWwtc3R5bGUoJGJvcmRlciwgJHJhZGl1cywgJHNoYWRvdyk7XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMobW9kYWwpIHtcbiAgLm1vZGFsIHtcbiAgICBAaW5jbHVkZSBtb2RhbDtcblxuICAgIEBlYWNoICRzaXplIGluIG1hcC1rZXlzKCRtb2RhbC1zaXplcykge1xuICAgICAgJHdpZHRoOiBtYXAtZ2V0KCRtb2RhbC1zaXplcywgJHNpemUpO1xuICAgICAgQGlmICRzaXplICE9IG1lZGl1bSB7XG4gICAgICAgIC4jeyRzaXplfSA+ICYgeyBAaW5jbHVkZSBtb2RhbC1sYXlvdXQoJHdpZHRoKTsgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5kaWFsb2cgPiAmIHtcbiAgICAgIEBpbmNsdWRlIG1vZGFsLWRpYWxvZztcbiAgICB9XG4gICAgLmNvbGxhcHNlID4gJiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRtb2RhbC1vdmVybGF5LWNsYXNzfSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkbW9kYWwtemluZGV4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLW92ZXJsYXktYmFja2dyb3VuZDtcblxuICAgIC8vIEhvcml6b250YWxseSBhbmQgdmVydGljYWxseSBjZW50ZXIgdGhlIG1vZGFsXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG59XG4iLCIvKlxuICBTV0lUQ0hcbiAgLS0tLS0tXG4qL1xuXG4vLy8gQEZvdW5kYXRpb24uc2V0dGluZ3Ncbi8vIFN3aXRjaFxuJHN3aXRjaC13aWR0aDogcmVtLWNhbGMoNTApICFkZWZhdWx0O1xuJHN3aXRjaC1oZWlnaHQ6IHJlbS1jYWxjKDMyKSAhZGVmYXVsdDtcbiRzd2l0Y2gtYmFja2dyb3VuZDogI2NjYyAhZGVmYXVsdDtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHN3aXRjaC1ib3JkZXI6IDAgIWRlZmF1bHQ7XG4kc3dpdGNoLXJhZGl1czogOTk5OXB4ICFkZWZhdWx0O1xuJHN3aXRjaC1hbmltYXRpb24tc3BlZWQ6IDAuMTVzICFkZWZhdWx0O1xuXG4kc3dpdGNoLXBhZGRsZS1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDRweCAhZGVmYXVsdDtcbi8vL1xuXG4lc3dpdGNoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgPiBpbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gID4gbGFiZWwge1xuICAgIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICAgICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW46IDA7XG5cbiAgICAvLyBQYWRkbGVcbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLypcbiAgRGVmaW5lcyB0aGUgZGltbWVuc2lvbnMgb2YgdGhlIHN3aXRjaC5cblxuICAkd2lkdGggLSB3aWR0aCBvZiB0aGUgc3dpdGNoLlxuICAkaGVpZ2h0IC0gaGVpZ2h0IG9mIHRoZSBzd2l0Y2guXG4qL1xuQG1peGluIHN3aXRjaC1sYXlvdXQoXG4gICR3aWR0aDogJHN3aXRjaC13aWR0aCxcbiAgJGhlaWdodDogJHN3aXRjaC1oZWlnaHRcbikge1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG5cbiAgPiBsYWJlbCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgd2lkdGg6ICRoZWlnaHQ7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuICB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbGVmdDogJHdpZHRoIC0gJGhlaWdodDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHN3aXRjaC1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlLFxuICAkYm9yZGVyOiAkc3dpdGNoLWJvcmRlcixcbiAgJHJhZGl1czogJHN3aXRjaC1yYWRpdXMsXG4gICRwYWRkbGUtY29sb3I6ICRzd2l0Y2gtcGFkZGxlLWNvbG9yLFxuICAkcGFkZGxlLW9mZnNldDogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0LFxuICAkYW5pbWF0aW9uLXNwZWVkOiAkc3dpdGNoLWFuaW1hdGlvbi1zcGVlZFxuKSB7XG4gIEBpZiBoYXN2YWx1ZSgkYm9yZGVyKSB7XG4gICAgYm9yZGVyOiAkYm9yZGVyO1xuICB9XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cbiAgPiBsYWJlbCB7XG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcGFkZGxlLWNvbG9yO1xuICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICAgIHRyYW5zaXRpb246IGxlZnQgJGFuaW1hdGlvbi1zcGVlZCBlYXNlLW91dDtcblxuICAgICAgQGlmIGhhc3ZhbHVlKCRwYWRkbGUtb2Zmc2V0KSB7XG4gICAgICAgIGJvcmRlcjogJHBhZGRsZS1vZmZzZXQgc29saWQgJGJhY2tncm91bmRcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwge1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICBtYXJnaW46IDA7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaWYgaGFzdmFsdWUoJHBhZGRsZS1vZmZzZXQpIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBzd2l0Y2goKSB7XG4gIEBleHRlbmQgJXN3aXRjaDtcbiAgQGluY2x1ZGUgc3dpdGNoLWxheW91dDtcbiAgQGluY2x1ZGUgc3dpdGNoLXN0eWxlO1xufVxuXG5AaW5jbHVkZSBleHBvcnRzKHN3aXRjaCkge1xuICAuc3dpdGNoIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2g7XG5cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgc3dpdGNoLWxheW91dChyZW0tY2FsYyg0MCksIHJlbS1jYWxjKDI2KSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgc3dpdGNoLWxheW91dChyZW0tY2FsYyg2MCksIHJlbS1jYWxjKDM4KSk7IH1cbiAgfVxufVxuIiwiLypcbiAgVEFCU1xuICAtLS0tXG4qL1xuXG4vLy8gQEZvdW5kYXRpb24uc2V0dGluZ3Ncbi8vIFRhYnNcbiR0YWJzdHJpcC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJHRhYi10aXRsZS1iYWNrZ3JvdW5kOiAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiR0YWItdGl0bGUtYmFja2dyb3VuZC1ob3Zlcjogc21hcnRzY2FsZSgkdGFiLXRpdGxlLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiR0YWItdGl0bGUtYmFja2dyb3VuZC1hY3RpdmU6IHNtYXJ0c2NhbGUoJHRhYi10aXRsZS1iYWNrZ3JvdW5kLCAzJSkgIWRlZmF1bHQ7XG4kdGFiLXRpdGxlLWNvbG9yOiBpc2l0bGlnaHQoJHRhYi10aXRsZS1iYWNrZ3JvdW5kKSAhZGVmYXVsdDtcbiR0YWItdGl0bGUtY29sb3ItYWN0aXZlOiAkdGFiLXRpdGxlLWNvbG9yICFkZWZhdWx0O1xuXG4kdGFiLXRpdGxlLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcbiR0YWItY29udGVudC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG4vLy9cblxuQG1peGluIHRhYnN0cmlwKFxuXHQkb3JpZW50YXRpb246IGhvcml6b250YWwsXG5cdCRiYWNrZ3JvdW5kOiAkdGFic3RyaXAtYmFja2dyb3VuZFxuKSB7XG5cdC8qXG5cdFx0Q29udGFpbmVyIHN0eWxlc1xuXHQqL1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuXHRAaWYgJG9yaWVudGF0aW9uID09IHZlcnRpY2FsIHtcblx0ICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG5cdH1cblx0QGVsc2Uge1xuXHRcdGZsZXgtZmxvdzogcm93IHdyYXA7XG5cdH1cbn1cblxuQG1peGluIHRhYnN0cmlwLWl0ZW0oXG5cdCRiYWNrZ3JvdW5kOiAkdGFiLXRpdGxlLWJhY2tncm91bmQsXG5cdCRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLXRpdGxlLWJhY2tncm91bmQtaG92ZXIsXG5cdCRiYWNrZ3JvdW5kLWFjdGl2ZTogJHRhYi10aXRsZS1iYWNrZ3JvdW5kLWFjdGl2ZSxcblx0JGNvbG9yOiAkdGFiLXRpdGxlLWNvbG9yLFxuXHQkY29sb3ItYWN0aXZlOiAkdGFiLXRpdGxlLWNvbG9yLWFjdGl2ZSxcblx0JHBhZGRpbmc6ICR0YWItdGl0bGUtcGFkZGluZ1xuKSB7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMDtcbiAgZmxleDogMCAxIGF1dG87XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtYWN0aXZlO1xuICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIHRhYi1jb250ZW50KFxuXHQkcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmdcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbn1cblxuQG1peGluIHRhYi1jb250ZW50LWl0ZW0ge1xuICBkaXNwbGF5OiBub25lO1xuICAmLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyh0YWJzKSB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzdHJpcChob3Jpem9udGFsKTtcblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgdGFic3RyaXAodmVydGljYWwpO1xuICAgIH1cblxuICAgIC50YWItaXRlbSB7XG4gICAgICBAaW5jbHVkZSB0YWJzdHJpcC1pdGVtO1xuICAgIH1cbiAgfVxuXG4gIC50YWItY29udGVudHMge1xuICAgIEBpbmNsdWRlIHRhYi1jb250ZW50O1xuXG4gICAgLnRhYi1jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIHRhYi1jb250ZW50LWl0ZW07XG4gICAgfVxuICB9XG59XG4iLCIvKlxuXHRPZmYtY2FudmFzIG1lbnVcbiAgLS0tLS0tLS0tLS0tLS0tXG5cbiAgQSBnZW5lcmljIGNvbnRhaW5lciB0aGF0IHN0YXlzIGZpeGVkIHRvIHRoZSBsZWZ0LCB0b3AsIHJpZ2h0LCBvciBib3R0b20gb2YgdGhlIHNjcmVlbiwgYW5kIGlzIHN1bW1vbmVkIHdoZW4gbmVlZGVkLiBXaGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3BlbiwgdGhlIGFwcCBmcmFtZSBzaGlmdHMgb3ZlciB0byByZXZlYWwgdGhlIG1lbnUuXG4qL1xuXG4vLy8gQEZvdW5kYXRpb24uc2V0dGluZ3Ncbi8vIE9mZi1jYW52YXNcbiRvZmZjYW52YXMtc2l6ZS1ob3Jpem9udGFsOiAyNTBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtc2l6ZS12ZXJ0aWNhbDogMjUwcHggIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtYmFja2dyb3VuZDogI2ZmZiAhZGVmYXVsdDtcbiRvZmZjYW52YXMtY29sb3I6IGlzaXRsaWdodCgkb2ZmY2FudmFzLWJhY2tncm91bmQpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1wYWRkaW5nOiAwICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1zaGFkb3c6IDNweCAwIDEwcHggcmdiYShibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWFuaW1hdGlvbi1zcGVlZDogMC4yNXMgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtZnJhbWUtc2VsZWN0b3I6ICcuZ3JpZC1mcmFtZScgIWRlZmF1bHQ7XG4vLy9cblxuJW9mZi1jYW52YXMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLWFuaW1hdGlvbi1zcGVlZCBlYXNlLW91dDtcbiAgei1pbmRleDogMjtcblxuICAvLyBBY3RpdmUgc3RhdGVcbiAgJi5pcy1hY3RpdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsMCkgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIEZyYW1lIHN0eWxlc1xuICAmIH4gI3skb2ZmY2FudmFzLWZyYW1lLXNlbGVjdG9yfSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwwLDApO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cyBlYXNlLW91dDtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gIH1cbn1cbkBtaXhpbiBvZmYtY2FudmFzLWRldGFjaGVkIHtcbiAgei1pbmRleDogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcblxuICAmLCAmLmlzLWFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgJiB+ICN7JG9mZmNhbnZhcy1mcmFtZS1zZWxlY3Rvcn0ge1xuICAgIHotaW5kZXg6IDE7XG4gICAgYm94LXNoYWRvdzogMCAwIDE1cHggcmdiYSgwLDAsMCwwLjUpO1xuICB9XG59XG5cbkBtaXhpbiBvZmYtY2FudmFzLWxheW91dChcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkc2l6ZTogZGVmYXVsdCxcbiAgJHNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3dcbikge1xuICAvKlxuICAgIEdldCBzaGFkb3cgdmFsdWVzIGZvciBsYXRlciB1c2VcbiAgKi9cbiAgJHNoYWRvdy1sZW5ndGg6ICcnO1xuICAkc2hhZG93LXNpemU6ICcnO1xuICAkc2hhZG93LWNvbG9yOiAnJztcbiAgQGlmIGhhc3ZhbHVlKCRzaGFkb3cpIHtcbiAgICAkc2hhZG93LWxlbmd0aDogZ2V0LXNoYWRvdy12YWx1ZSgkc2hhZG93LCB4KTtcbiAgICAkc2hhZG93LXNpemU6IGdldC1zaGFkb3ctdmFsdWUoJHNoYWRvdywgc2l6ZSk7XG4gICAgJHNoYWRvdy1jb2xvcjogZ2V0LXNoYWRvdy12YWx1ZSgkc2hhZG93LCBjb2xvcik7XG4gIH1cblxuICAvKlxuICAgIFNpemluZ1xuICAqL1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQgb3IgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBAaWYgJHNpemUgPT0gZGVmYXVsdCB7XG4gICAgICAkc2l6ZTogJG9mZmNhbnZhcy1zaXplLWhvcml6b250YWw7XG4gICAgfVxuICAgIHdpZHRoOiAkc2l6ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkc2l6ZSA9PSBkZWZhdWx0IHtcbiAgICAgICRzaXplOiAkb2ZmY2FudmFzLXNpemUtdmVydGljYWw7XG4gICAgfVxuICAgIGhlaWdodDogJHNpemU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvKlxuICAgIFBvc2l0aW9uaW5nXG4gICovXG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgQGlmIGhhc3ZhbHVlKCRzaGFkb3cpIHsgYm94LXNoYWRvdzogaW5zZXQgKC0kc2hhZG93LWxlbmd0aCkgMCAkc2hhZG93LXNpemUgJHNoYWRvdy1jb2xvcjsgfVxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgJiB+ICN7JG9mZmNhbnZhcy1mcmFtZS1zZWxlY3Rvcn0geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBAaWYgaGFzdmFsdWUoJHNoYWRvdykgeyBib3gtc2hhZG93OiBpbnNldCAkc2hhZG93LWxlbmd0aCAwICRzaGFkb3ctc2l6ZSAkc2hhZG93LWNvbG9yOyB9XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICYgfiAjeyRvZmZjYW52YXMtZnJhbWUtc2VsZWN0b3J9IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSkgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgIEBpZiBoYXN2YWx1ZSgkc2hhZG93KSB7IGJveC1zaGFkb3c6IGluc2V0IDAgKC0kc2hhZG93LWxlbmd0aCkgJHNoYWRvdy1zaXplICRzaGFkb3ctY29sb3I7IH1cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAmIH4gI3skb2ZmY2FudmFzLWZyYW1lLXNlbGVjdG9yfSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSkgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgIEBpZiBoYXN2YWx1ZSgkc2hhZG93KSB7IGJveC1zaGFkb3c6IGluc2V0IDAgJHNoYWRvdy1sZW5ndGggJHNoYWRvdy1zaXplICRzaGFkb3ctY29sb3I7IH1cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAmIH4gI3skb2ZmY2FudmFzLWZyYW1lLXNlbGVjdG9yfSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG9mZi1jYW52YXMtc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQsXG4gICRjb2xvcjogJG9mZmNhbnZhcy1jb2xvcixcbiAgJHBhZGRpbmc6ICRvZmZjYW52YXMtcGFkZGluZ1xuKSB7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgY29sb3I6IGlzaXRsaWdodCgkYmFja2dyb3VuZCwgIzAwMCwgI2ZmZik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICBAaWYgaGFzdmFsdWUoJHBhZGRpbmcpIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKG9mZi1jYW52YXMpIHtcbiAgLm9mZi1jYW52YXMge1xuICAgIEBleHRlbmQgJW9mZi1jYW52YXM7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1sYXlvdXQ7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1zdHlsZTtcblxuICAgICYudG9wICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1sYXlvdXQodG9wKTsgfVxuICAgICYucmlnaHQgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1sYXlvdXQocmlnaHQpOyB9XG4gICAgJi5ib3R0b20geyBAaW5jbHVkZSBvZmYtY2FudmFzLWxheW91dChib3R0b20pOyB9XG4gICAgJi5sZWZ0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLWxheW91dChsZWZ0KTsgfVxuXG4gICAgJi5kZXRhY2hlZCB7IEBpbmNsdWRlIG9mZi1jYW52YXMtZGV0YWNoZWQ7IH1cblxuICAgICYucHJpbWFyeSB7IEBpbmNsdWRlIG9mZi1jYW52YXMtc3R5bGUoJHByaW1hcnktY29sb3IsIGF1dG8pOyB9XG4gICAgJi5kYXJrICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1zdHlsZSgkZGFyay1jb2xvciwgYXV0byk7IH1cbiAgfVxufVxuIiwiLypcbiAgQUNDT1JESU9OXG4gIC0tLS0tLS0tLVxuXG4gIFRoZSB0cnVzeSBhY2NvcmRpb24gYWxsb3dzIHlvdSB0byBjcmVhdGUgYSBzZXJpZXMgb2YgdmVydGljYWwgdGFicy5cbiovXG5cbi8vLyBARm91bmRhdGlvbi5zZXR0aW5nc1xuLy8gQWNjb3JkaW9uXG4kYWNjb3JkaW9uLWJvcmRlcjogMXB4IHNvbGlkICRncmF5LWRhcmsgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tdGl0bGUtYmFja2dyb3VuZDogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWJhY2tncm91bmQtaG92ZXI6IHNtYXJ0c2NhbGUoJGFjY29yZGlvbi10aXRsZS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWJhY2tncm91bmQtYWN0aXZlOiBzbWFydHNjYWxlKCRhY2NvcmRpb24tdGl0bGUtYmFja2dyb3VuZCwgMyUpICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1jb2xvcjogaXNpdGxpZ2h0KCRhY2NvcmRpb24tdGl0bGUtYmFja2dyb3VuZCkgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWNvbG9yLWFjdGl2ZTogaXNpdGxpZ2h0KCRhY2NvcmRpb24tdGl0bGUtYmFja2dyb3VuZCkgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tdGl0bGUtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcbi8vL1xuXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlKFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi10aXRsZS1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi10aXRsZS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICRhY2NvcmRpb24tdGl0bGUtYmFja2dyb3VuZC1hY3RpdmUsXG4gICRjb2xvcjogJGFjY29yZGlvbi10aXRsZS1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJGFjY29yZGlvbi10aXRsZS1jb2xvci1hY3RpdmUsXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLXRpdGxlLXBhZGRpbmdcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gIH1cblxuICAuaXMtYWN0aXZlID4gJiB7XG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtYWN0aXZlO1xuICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICB9XG59XG5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgLmlzLWFjdGl2ZSA+ICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoYWNjb3JkaW9uKSB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpZiBoYXN2YWx1ZSgkYWNjb3JkaW9uLWJvcmRlcikge1xuICAgICAgYm9yZGVyOiAkYWNjb3JkaW9uLWJvcmRlcjtcbiAgICB9XG4gIH1cbiAgICAuYWNjb3JkaW9uLWl0ZW0ge1xuXG4gICAgfVxuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xuICAgIH1cbiAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gICAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */
|