@charset "UTF-8";
/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@import url("https://fonts.googleapis.com/css?family=Roboto");
@font-face {
  font-family: 'FontAwesome';
  src: url("../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.7.0");
  src: url("../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), url("../components/font-awesome/fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"), url("../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"), url("../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"), url("../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");
  font-weight: normal;
  font-style: normal; }

.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.33333em;
  line-height: 0.75em;
  vertical-align: -15%; }

.fa-2x {
  font-size: 2em; }

.fa-3x {
  font-size: 3em; }

.fa-4x {
  font-size: 4em; }

.fa-5x {
  font-size: 5em; }

.fa-fw {
  width: 1.28571em;
  text-align: center; }

.fa-ul {
  padding-left: 0;
  margin-left: 2.14286em;
  list-style-type: none; }
  .fa-ul > li {
    position: relative; }

.fa-li {
  position: absolute;
  left: -2.14286em;
  width: 2.14286em;
  top: 0.14286em;
  text-align: center; }
  .fa-li.fa-lg {
    left: -1.85714em; }

.fa-border {
  padding: .2em .25em .15em;
  border: solid 0.08em #eee;
  border-radius: .1em; }

.fa-pull-left {
  float: left; }

.fa-pull-right {
  float: right; }

.fa.fa-pull-left {
  margin-right: .3em; }

.fa.fa-pull-right {
  margin-left: .3em; }

/* Deprecated as of 4.4.0 */
.pull-right {
  float: right; }

.pull-left {
  float: left; }

.fa.pull-left {
  margin-right: .3em; }

.fa.pull-right {
  margin-left: .3em; }

.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear; }

.fa-pulse {
  -webkit-animation: fa-spin 1s infinite steps(8);
  animation: fa-spin 1s infinite steps(8); }

@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

.fa-rotate-90 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg); }

.fa-rotate-180 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg); }

.fa-rotate-270 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg); }

.fa-flip-horizontal {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1); }

.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1); }

:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  filter: none; }

.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle; }

.fa-stack-1x, .fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center; }

.fa-stack-1x {
  line-height: inherit; }

.fa-stack-2x {
  font-size: 2em; }

.fa-inverse {
  color: #fff; }

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: ""; }

.fa-music:before {
  content: ""; }

.fa-search:before {
  content: ""; }

.fa-envelope-o:before {
  content: ""; }

.fa-heart:before {
  content: ""; }

.fa-star:before {
  content: ""; }

.fa-star-o:before {
  content: ""; }

.fa-user:before {
  content: ""; }

.fa-film:before {
  content: ""; }

.fa-th-large:before {
  content: ""; }

.fa-th:before {
  content: ""; }

.fa-th-list:before {
  content: ""; }

.fa-check:before {
  content: ""; }

.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: ""; }

.fa-search-plus:before {
  content: ""; }

.fa-search-minus:before {
  content: ""; }

.fa-power-off:before {
  content: ""; }

.fa-signal:before {
  content: ""; }

.fa-gear:before,
.fa-cog:before {
  content: ""; }

.fa-trash-o:before {
  content: ""; }

.fa-home:before {
  content: ""; }

.fa-file-o:before {
  content: ""; }

.fa-clock-o:before {
  content: ""; }

.fa-road:before {
  content: ""; }

.fa-download:before {
  content: ""; }

.fa-arrow-circle-o-down:before {
  content: ""; }

.fa-arrow-circle-o-up:before {
  content: ""; }

.fa-inbox:before {
  content: ""; }

.fa-play-circle-o:before {
  content: ""; }

.fa-rotate-right:before,
.fa-repeat:before {
  content: ""; }

.fa-refresh:before {
  content: ""; }

.fa-list-alt:before {
  content: ""; }

.fa-lock:before {
  content: ""; }

.fa-flag:before {
  content: ""; }

.fa-headphones:before {
  content: ""; }

.fa-volume-off:before {
  content: ""; }

.fa-volume-down:before {
  content: ""; }

.fa-volume-up:before {
  content: ""; }

.fa-qrcode:before {
  content: ""; }

.fa-barcode:before {
  content: ""; }

.fa-tag:before {
  content: ""; }

.fa-tags:before {
  content: ""; }

.fa-book:before {
  content: ""; }

.fa-bookmark:before {
  content: ""; }

.fa-print:before {
  content: ""; }

.fa-camera:before {
  content: ""; }

.fa-font:before {
  content: ""; }

.fa-bold:before {
  content: ""; }

.fa-italic:before {
  content: ""; }

.fa-text-height:before {
  content: ""; }

.fa-text-width:before {
  content: ""; }

.fa-align-left:before {
  content: ""; }

.fa-align-center:before {
  content: ""; }

.fa-align-right:before {
  content: ""; }

.fa-align-justify:before {
  content: ""; }

.fa-list:before {
  content: ""; }

.fa-dedent:before,
.fa-outdent:before {
  content: ""; }

.fa-indent:before {
  content: ""; }

.fa-video-camera:before {
  content: ""; }

.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: ""; }

.fa-pencil:before {
  content: ""; }

.fa-map-marker:before {
  content: ""; }

.fa-adjust:before {
  content: ""; }

.fa-tint:before {
  content: ""; }

.fa-edit:before,
.fa-pencil-square-o:before {
  content: ""; }

.fa-share-square-o:before {
  content: ""; }

.fa-check-square-o:before {
  content: ""; }

.fa-arrows:before {
  content: ""; }

.fa-step-backward:before {
  content: ""; }

.fa-fast-backward:before {
  content: ""; }

.fa-backward:before {
  content: ""; }

.fa-play:before {
  content: ""; }

.fa-pause:before {
  content: ""; }

.fa-stop:before {
  content: ""; }

.fa-forward:before {
  content: ""; }

.fa-fast-forward:before {
  content: ""; }

.fa-step-forward:before {
  content: ""; }

.fa-eject:before {
  content: ""; }

.fa-chevron-left:before {
  content: ""; }

.fa-chevron-right:before {
  content: ""; }

.fa-plus-circle:before {
  content: ""; }

.fa-minus-circle:before {
  content: ""; }

.fa-times-circle:before {
  content: ""; }

.fa-check-circle:before {
  content: ""; }

.fa-question-circle:before {
  content: ""; }

.fa-info-circle:before {
  content: ""; }

.fa-crosshairs:before {
  content: ""; }

.fa-times-circle-o:before {
  content: ""; }

.fa-check-circle-o:before {
  content: ""; }

.fa-ban:before {
  content: ""; }

.fa-arrow-left:before {
  content: ""; }

.fa-arrow-right:before {
  content: ""; }

.fa-arrow-up:before {
  content: ""; }

.fa-arrow-down:before {
  content: ""; }

.fa-mail-forward:before,
.fa-share:before {
  content: ""; }

.fa-expand:before {
  content: ""; }

.fa-compress:before {
  content: ""; }

.fa-plus:before {
  content: ""; }

.fa-minus:before {
  content: ""; }

.fa-asterisk:before {
  content: ""; }

.fa-exclamation-circle:before {
  content: ""; }

.fa-gift:before {
  content: ""; }

.fa-leaf:before {
  content: ""; }

.fa-fire:before {
  content: ""; }

.fa-eye:before {
  content: ""; }

.fa-eye-slash:before {
  content: ""; }

.fa-warning:before,
.fa-exclamation-triangle:before {
  content: ""; }

.fa-plane:before {
  content: ""; }

.fa-calendar:before {
  content: ""; }

.fa-random:before {
  content: ""; }

.fa-comment:before {
  content: ""; }

.fa-magnet:before {
  content: ""; }

.fa-chevron-up:before {
  content: ""; }

.fa-chevron-down:before {
  content: ""; }

.fa-retweet:before {
  content: ""; }

.fa-shopping-cart:before {
  content: ""; }

.fa-folder:before {
  content: ""; }

.fa-folder-open:before {
  content: ""; }

.fa-arrows-v:before {
  content: ""; }

.fa-arrows-h:before {
  content: ""; }

.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: ""; }

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

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

.fa-camera-retro:before {
  content: ""; }

.fa-key:before {
  content: ""; }

.fa-gears:before,
.fa-cogs:before {
  content: ""; }

.fa-comments:before {
  content: ""; }

.fa-thumbs-o-up:before {
  content: ""; }

.fa-thumbs-o-down:before {
  content: ""; }

.fa-star-half:before {
  content: ""; }

.fa-heart-o:before {
  content: ""; }

.fa-sign-out:before {
  content: ""; }

.fa-linkedin-square:before {
  content: ""; }

.fa-thumb-tack:before {
  content: ""; }

.fa-external-link:before {
  content: ""; }

.fa-sign-in:before {
  content: ""; }

.fa-trophy:before {
  content: ""; }

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

.fa-upload:before {
  content: ""; }

.fa-lemon-o:before {
  content: ""; }

.fa-phone:before {
  content: ""; }

.fa-square-o:before {
  content: ""; }

.fa-bookmark-o:before {
  content: ""; }

.fa-phone-square:before {
  content: ""; }

.fa-twitter:before {
  content: ""; }

.fa-facebook-f:before,
.fa-facebook:before {
  content: ""; }

.fa-github:before {
  content: ""; }

.fa-unlock:before {
  content: ""; }

.fa-credit-card:before {
  content: ""; }

.fa-feed:before,
.fa-rss:before {
  content: ""; }

.fa-hdd-o:before {
  content: ""; }

.fa-bullhorn:before {
  content: ""; }

.fa-bell:before {
  content: ""; }

.fa-certificate:before {
  content: ""; }

.fa-hand-o-right:before {
  content: ""; }

.fa-hand-o-left:before {
  content: ""; }

.fa-hand-o-up:before {
  content: ""; }

.fa-hand-o-down:before {
  content: ""; }

.fa-arrow-circle-left:before {
  content: ""; }

.fa-arrow-circle-right:before {
  content: ""; }

.fa-arrow-circle-up:before {
  content: ""; }

.fa-arrow-circle-down:before {
  content: ""; }

.fa-globe:before {
  content: ""; }

.fa-wrench:before {
  content: ""; }

.fa-tasks:before {
  content: ""; }

.fa-filter:before {
  content: ""; }

.fa-briefcase:before {
  content: ""; }

.fa-arrows-alt:before {
  content: ""; }

.fa-group:before,
.fa-users:before {
  content: ""; }

.fa-chain:before,
.fa-link:before {
  content: ""; }

.fa-cloud:before {
  content: ""; }

.fa-flask:before {
  content: ""; }

.fa-cut:before,
.fa-scissors:before {
  content: ""; }

.fa-copy:before,
.fa-files-o:before {
  content: ""; }

.fa-paperclip:before {
  content: ""; }

.fa-save:before,
.fa-floppy-o:before {
  content: ""; }

.fa-square:before {
  content: ""; }

.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: ""; }

.fa-list-ul:before {
  content: ""; }

.fa-list-ol:before {
  content: ""; }

.fa-strikethrough:before {
  content: ""; }

.fa-underline:before {
  content: ""; }

.fa-table:before {
  content: ""; }

.fa-magic:before {
  content: ""; }

.fa-truck:before {
  content: ""; }

.fa-pinterest:before {
  content: ""; }

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

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

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

.fa-money:before {
  content: ""; }

.fa-caret-down:before {
  content: ""; }

.fa-caret-up:before {
  content: ""; }

.fa-caret-left:before {
  content: ""; }

.fa-caret-right:before {
  content: ""; }

.fa-columns:before {
  content: ""; }

.fa-unsorted:before,
.fa-sort:before {
  content: ""; }

.fa-sort-down:before,
.fa-sort-desc:before {
  content: ""; }

.fa-sort-up:before,
.fa-sort-asc:before {
  content: ""; }

.fa-envelope:before {
  content: ""; }

.fa-linkedin:before {
  content: ""; }

.fa-rotate-left:before,
.fa-undo:before {
  content: ""; }

.fa-legal:before,
.fa-gavel:before {
  content: ""; }

.fa-dashboard:before,
.fa-tachometer:before {
  content: ""; }

.fa-comment-o:before {
  content: ""; }

.fa-comments-o:before {
  content: ""; }

.fa-flash:before,
.fa-bolt:before {
  content: ""; }

.fa-sitemap:before {
  content: ""; }

.fa-umbrella:before {
  content: ""; }

.fa-paste:before,
.fa-clipboard:before {
  content: ""; }

.fa-lightbulb-o:before {
  content: ""; }

.fa-exchange:before {
  content: ""; }

.fa-cloud-download:before {
  content: ""; }

.fa-cloud-upload:before {
  content: ""; }

.fa-user-md:before {
  content: ""; }

.fa-stethoscope:before {
  content: ""; }

.fa-suitcase:before {
  content: ""; }

.fa-bell-o:before {
  content: ""; }

.fa-coffee:before {
  content: ""; }

.fa-cutlery:before {
  content: ""; }

.fa-file-text-o:before {
  content: ""; }

.fa-building-o:before {
  content: ""; }

.fa-hospital-o:before {
  content: ""; }

.fa-ambulance:before {
  content: ""; }

.fa-medkit:before {
  content: ""; }

.fa-fighter-jet:before {
  content: ""; }

.fa-beer:before {
  content: ""; }

.fa-h-square:before {
  content: ""; }

.fa-plus-square:before {
  content: ""; }

.fa-angle-double-left:before {
  content: ""; }

.fa-angle-double-right:before {
  content: ""; }

.fa-angle-double-up:before {
  content: ""; }

.fa-angle-double-down:before {
  content: ""; }

.fa-angle-left:before {
  content: ""; }

.fa-angle-right:before {
  content: ""; }

.fa-angle-up:before {
  content: ""; }

.fa-angle-down:before {
  content: ""; }

.fa-desktop:before {
  content: ""; }

.fa-laptop:before {
  content: ""; }

.fa-tablet:before {
  content: ""; }

.fa-mobile-phone:before,
.fa-mobile:before {
  content: ""; }

.fa-circle-o:before {
  content: ""; }

.fa-quote-left:before {
  content: ""; }

.fa-quote-right:before {
  content: ""; }

.fa-spinner:before {
  content: ""; }

.fa-circle:before {
  content: ""; }

.fa-mail-reply:before,
.fa-reply:before {
  content: ""; }

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

.fa-folder-o:before {
  content: ""; }

.fa-folder-open-o:before {
  content: ""; }

.fa-smile-o:before {
  content: ""; }

.fa-frown-o:before {
  content: ""; }

.fa-meh-o:before {
  content: ""; }

.fa-gamepad:before {
  content: ""; }

.fa-keyboard-o:before {
  content: ""; }

.fa-flag-o:before {
  content: ""; }

.fa-flag-checkered:before {
  content: ""; }

.fa-terminal:before {
  content: ""; }

.fa-code:before {
  content: ""; }

.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: ""; }

.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: ""; }

.fa-location-arrow:before {
  content: ""; }

.fa-crop:before {
  content: ""; }

.fa-code-fork:before {
  content: ""; }

.fa-unlink:before,
.fa-chain-broken:before {
  content: ""; }

.fa-question:before {
  content: ""; }

.fa-info:before {
  content: ""; }

.fa-exclamation:before {
  content: ""; }

.fa-superscript:before {
  content: ""; }

.fa-subscript:before {
  content: ""; }

.fa-eraser:before {
  content: ""; }

.fa-puzzle-piece:before {
  content: ""; }

.fa-microphone:before {
  content: ""; }

.fa-microphone-slash:before {
  content: ""; }

.fa-shield:before {
  content: ""; }

.fa-calendar-o:before {
  content: ""; }

.fa-fire-extinguisher:before {
  content: ""; }

.fa-rocket:before {
  content: ""; }

.fa-maxcdn:before {
  content: ""; }

.fa-chevron-circle-left:before {
  content: ""; }

.fa-chevron-circle-right:before {
  content: ""; }

.fa-chevron-circle-up:before {
  content: ""; }

.fa-chevron-circle-down:before {
  content: ""; }

.fa-html5:before {
  content: ""; }

.fa-css3:before {
  content: ""; }

.fa-anchor:before {
  content: ""; }

.fa-unlock-alt:before {
  content: ""; }

.fa-bullseye:before {
  content: ""; }

.fa-ellipsis-h:before {
  content: ""; }

.fa-ellipsis-v:before {
  content: ""; }

.fa-rss-square:before {
  content: ""; }

.fa-play-circle:before {
  content: ""; }

.fa-ticket:before {
  content: ""; }

.fa-minus-square:before {
  content: ""; }

.fa-minus-square-o:before {
  content: ""; }

.fa-level-up:before {
  content: ""; }

.fa-level-down:before {
  content: ""; }

.fa-check-square:before {
  content: ""; }

.fa-pencil-square:before {
  content: ""; }

.fa-external-link-square:before {
  content: ""; }

.fa-share-square:before {
  content: ""; }

.fa-compass:before {
  content: ""; }

.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: ""; }

.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: ""; }

.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: ""; }

.fa-euro:before,
.fa-eur:before {
  content: ""; }

.fa-gbp:before {
  content: ""; }

.fa-dollar:before,
.fa-usd:before {
  content: ""; }

.fa-rupee:before,
.fa-inr:before {
  content: ""; }

.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: ""; }

.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: ""; }

.fa-won:before,
.fa-krw:before {
  content: ""; }

.fa-bitcoin:before,
.fa-btc:before {
  content: ""; }

.fa-file:before {
  content: ""; }

.fa-file-text:before {
  content: ""; }

.fa-sort-alpha-asc:before {
  content: ""; }

.fa-sort-alpha-desc:before {
  content: ""; }

.fa-sort-amount-asc:before {
  content: ""; }

.fa-sort-amount-desc:before {
  content: ""; }

.fa-sort-numeric-asc:before {
  content: ""; }

.fa-sort-numeric-desc:before {
  content: ""; }

.fa-thumbs-up:before {
  content: ""; }

.fa-thumbs-down:before {
  content: ""; }

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

.fa-youtube:before {
  content: ""; }

.fa-xing:before {
  content: ""; }

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

.fa-youtube-play:before {
  content: ""; }

.fa-dropbox:before {
  content: ""; }

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

.fa-instagram:before {
  content: ""; }

.fa-flickr:before {
  content: ""; }

.fa-adn:before {
  content: ""; }

.fa-bitbucket:before {
  content: ""; }

.fa-bitbucket-square:before {
  content: ""; }

.fa-tumblr:before {
  content: ""; }

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

.fa-long-arrow-down:before {
  content: ""; }

.fa-long-arrow-up:before {
  content: ""; }

.fa-long-arrow-left:before {
  content: ""; }

.fa-long-arrow-right:before {
  content: ""; }

.fa-apple:before {
  content: ""; }

.fa-windows:before {
  content: ""; }

.fa-android:before {
  content: ""; }

.fa-linux:before {
  content: ""; }

.fa-dribbble:before {
  content: ""; }

.fa-skype:before {
  content: ""; }

.fa-foursquare:before {
  content: ""; }

.fa-trello:before {
  content: ""; }

.fa-female:before {
  content: ""; }

.fa-male:before {
  content: ""; }

.fa-gittip:before,
.fa-gratipay:before {
  content: ""; }

.fa-sun-o:before {
  content: ""; }

.fa-moon-o:before {
  content: ""; }

.fa-archive:before {
  content: ""; }

.fa-bug:before {
  content: ""; }

.fa-vk:before {
  content: ""; }

.fa-weibo:before {
  content: ""; }

.fa-renren:before {
  content: ""; }

.fa-pagelines:before {
  content: ""; }

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

.fa-arrow-circle-o-right:before {
  content: ""; }

.fa-arrow-circle-o-left:before {
  content: ""; }

.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: ""; }

.fa-dot-circle-o:before {
  content: ""; }

.fa-wheelchair:before {
  content: ""; }

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

.fa-turkish-lira:before,
.fa-try:before {
  content: ""; }

.fa-plus-square-o:before {
  content: ""; }

.fa-space-shuttle:before {
  content: ""; }

.fa-slack:before {
  content: ""; }

.fa-envelope-square:before {
  content: ""; }

.fa-wordpress:before {
  content: ""; }

.fa-openid:before {
  content: ""; }

.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: ""; }

.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: ""; }

.fa-yahoo:before {
  content: ""; }

.fa-google:before {
  content: ""; }

.fa-reddit:before {
  content: ""; }

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

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

.fa-stumbleupon:before {
  content: ""; }

.fa-delicious:before {
  content: ""; }

.fa-digg:before {
  content: ""; }

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

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

.fa-drupal:before {
  content: ""; }

.fa-joomla:before {
  content: ""; }

.fa-language:before {
  content: ""; }

.fa-fax:before {
  content: ""; }

.fa-building:before {
  content: ""; }

.fa-child:before {
  content: ""; }

.fa-paw:before {
  content: ""; }

.fa-spoon:before {
  content: ""; }

.fa-cube:before {
  content: ""; }

.fa-cubes:before {
  content: ""; }

.fa-behance:before {
  content: ""; }

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

.fa-steam:before {
  content: ""; }

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

.fa-recycle:before {
  content: ""; }

.fa-automobile:before,
.fa-car:before {
  content: ""; }

.fa-cab:before,
.fa-taxi:before {
  content: ""; }

.fa-tree:before {
  content: ""; }

.fa-spotify:before {
  content: ""; }

.fa-deviantart:before {
  content: ""; }

.fa-soundcloud:before {
  content: ""; }

.fa-database:before {
  content: ""; }

.fa-file-pdf-o:before {
  content: ""; }

.fa-file-word-o:before {
  content: ""; }

.fa-file-excel-o:before {
  content: ""; }

.fa-file-powerpoint-o:before {
  content: ""; }

.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: ""; }

.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: ""; }

.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: ""; }

.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: ""; }

.fa-file-code-o:before {
  content: ""; }

.fa-vine:before {
  content: ""; }

.fa-codepen:before {
  content: ""; }

.fa-jsfiddle:before {
  content: ""; }

.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: ""; }

.fa-circle-o-notch:before {
  content: ""; }

.fa-ra:before,
.fa-resistance:before,
.fa-rebel:before {
  content: ""; }

.fa-ge:before,
.fa-empire:before {
  content: ""; }

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

.fa-git:before {
  content: ""; }

.fa-y-combinator-square:before,
.fa-yc-square:before,
.fa-hacker-news:before {
  content: ""; }

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

.fa-qq:before {
  content: ""; }

.fa-wechat:before,
.fa-weixin:before {
  content: ""; }

.fa-send:before,
.fa-paper-plane:before {
  content: ""; }

.fa-send-o:before,
.fa-paper-plane-o:before {
  content: ""; }

.fa-history:before {
  content: ""; }

.fa-circle-thin:before {
  content: ""; }

.fa-header:before {
  content: ""; }

.fa-paragraph:before {
  content: ""; }

.fa-sliders:before {
  content: ""; }

.fa-share-alt:before {
  content: ""; }

.fa-share-alt-square:before {
  content: ""; }

.fa-bomb:before {
  content: ""; }

.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: ""; }

.fa-tty:before {
  content: ""; }

.fa-binoculars:before {
  content: ""; }

.fa-plug:before {
  content: ""; }

.fa-slideshare:before {
  content: ""; }

.fa-twitch:before {
  content: ""; }

.fa-yelp:before {
  content: ""; }

.fa-newspaper-o:before {
  content: ""; }

.fa-wifi:before {
  content: ""; }

.fa-calculator:before {
  content: ""; }

.fa-paypal:before {
  content: ""; }

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

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

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

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

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

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

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

.fa-bell-slash:before {
  content: ""; }

.fa-bell-slash-o:before {
  content: ""; }

.fa-trash:before {
  content: ""; }

.fa-copyright:before {
  content: ""; }

.fa-at:before {
  content: ""; }

.fa-eyedropper:before {
  content: ""; }

.fa-paint-brush:before {
  content: ""; }

.fa-birthday-cake:before {
  content: ""; }

.fa-area-chart:before {
  content: ""; }

.fa-pie-chart:before {
  content: ""; }

.fa-line-chart:before {
  content: ""; }

.fa-lastfm:before {
  content: ""; }

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

.fa-toggle-off:before {
  content: ""; }

.fa-toggle-on:before {
  content: ""; }

.fa-bicycle:before {
  content: ""; }

.fa-bus:before {
  content: ""; }

.fa-ioxhost:before {
  content: ""; }

.fa-angellist:before {
  content: ""; }

.fa-cc:before {
  content: ""; }

.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: ""; }

.fa-meanpath:before {
  content: ""; }

.fa-buysellads:before {
  content: ""; }

.fa-connectdevelop:before {
  content: ""; }

.fa-dashcube:before {
  content: ""; }

.fa-forumbee:before {
  content: ""; }

.fa-leanpub:before {
  content: ""; }

.fa-sellsy:before {
  content: ""; }

.fa-shirtsinbulk:before {
  content: ""; }

.fa-simplybuilt:before {
  content: ""; }

.fa-skyatlas:before {
  content: ""; }

.fa-cart-plus:before {
  content: ""; }

.fa-cart-arrow-down:before {
  content: ""; }

.fa-diamond:before {
  content: ""; }

.fa-ship:before {
  content: ""; }

.fa-user-secret:before {
  content: ""; }

.fa-motorcycle:before {
  content: ""; }

.fa-street-view:before {
  content: ""; }

.fa-heartbeat:before {
  content: ""; }

.fa-venus:before {
  content: ""; }

.fa-mars:before {
  content: ""; }

.fa-mercury:before {
  content: ""; }

.fa-intersex:before,
.fa-transgender:before {
  content: ""; }

.fa-transgender-alt:before {
  content: ""; }

.fa-venus-double:before {
  content: ""; }

.fa-mars-double:before {
  content: ""; }

.fa-venus-mars:before {
  content: ""; }

.fa-mars-stroke:before {
  content: ""; }

.fa-mars-stroke-v:before {
  content: ""; }

.fa-mars-stroke-h:before {
  content: ""; }

.fa-neuter:before {
  content: ""; }

.fa-genderless:before {
  content: ""; }

.fa-facebook-official:before {
  content: ""; }

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

.fa-whatsapp:before {
  content: ""; }

.fa-server:before {
  content: ""; }

.fa-user-plus:before {
  content: ""; }

.fa-user-times:before {
  content: ""; }

.fa-hotel:before,
.fa-bed:before {
  content: ""; }

.fa-viacoin:before {
  content: ""; }

.fa-train:before {
  content: ""; }

.fa-subway:before {
  content: ""; }

.fa-medium:before {
  content: ""; }

.fa-yc:before,
.fa-y-combinator:before {
  content: ""; }

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

.fa-opencart:before {
  content: ""; }

.fa-expeditedssl:before {
  content: ""; }

.fa-battery-4:before,
.fa-battery:before,
.fa-battery-full:before {
  content: ""; }

.fa-battery-3:before,
.fa-battery-three-quarters:before {
  content: ""; }

.fa-battery-2:before,
.fa-battery-half:before {
  content: ""; }

.fa-battery-1:before,
.fa-battery-quarter:before {
  content: ""; }

.fa-battery-0:before,
.fa-battery-empty:before {
  content: ""; }

.fa-mouse-pointer:before {
  content: ""; }

.fa-i-cursor:before {
  content: ""; }

.fa-object-group:before {
  content: ""; }

.fa-object-ungroup:before {
  content: ""; }

.fa-sticky-note:before {
  content: ""; }

.fa-sticky-note-o:before {
  content: ""; }

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

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

.fa-clone:before {
  content: ""; }

.fa-balance-scale:before {
  content: ""; }

.fa-hourglass-o:before {
  content: ""; }

.fa-hourglass-1:before,
.fa-hourglass-start:before {
  content: ""; }

.fa-hourglass-2:before,
.fa-hourglass-half:before {
  content: ""; }

.fa-hourglass-3:before,
.fa-hourglass-end:before {
  content: ""; }

.fa-hourglass:before {
  content: ""; }

.fa-hand-grab-o:before,
.fa-hand-rock-o:before {
  content: ""; }

.fa-hand-stop-o:before,
.fa-hand-paper-o:before {
  content: ""; }

.fa-hand-scissors-o:before {
  content: ""; }

.fa-hand-lizard-o:before {
  content: ""; }

.fa-hand-spock-o:before {
  content: ""; }

.fa-hand-pointer-o:before {
  content: ""; }

.fa-hand-peace-o:before {
  content: ""; }

.fa-trademark:before {
  content: ""; }

.fa-registered:before {
  content: ""; }

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

.fa-gg:before {
  content: ""; }

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

.fa-tripadvisor:before {
  content: ""; }

.fa-odnoklassniki:before {
  content: ""; }

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

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

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

.fa-safari:before {
  content: ""; }

.fa-chrome:before {
  content: ""; }

.fa-firefox:before {
  content: ""; }

.fa-opera:before {
  content: ""; }

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

.fa-tv:before,
.fa-television:before {
  content: ""; }

.fa-contao:before {
  content: ""; }

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

.fa-amazon:before {
  content: ""; }

.fa-calendar-plus-o:before {
  content: ""; }

.fa-calendar-minus-o:before {
  content: ""; }

.fa-calendar-times-o:before {
  content: ""; }

.fa-calendar-check-o:before {
  content: ""; }

.fa-industry:before {
  content: ""; }

.fa-map-pin:before {
  content: ""; }

.fa-map-signs:before {
  content: ""; }

.fa-map-o:before {
  content: ""; }

.fa-map:before {
  content: ""; }

.fa-commenting:before {
  content: ""; }

.fa-commenting-o:before {
  content: ""; }

.fa-houzz:before {
  content: ""; }

.fa-vimeo:before {
  content: ""; }

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

.fa-fonticons:before {
  content: ""; }

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

.fa-edge:before {
  content: ""; }

.fa-credit-card-alt:before {
  content: ""; }

.fa-codiepie:before {
  content: ""; }

.fa-modx:before {
  content: ""; }

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

.fa-usb:before {
  content: ""; }

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

.fa-mixcloud:before {
  content: ""; }

.fa-scribd:before {
  content: ""; }

.fa-pause-circle:before {
  content: ""; }

.fa-pause-circle-o:before {
  content: ""; }

.fa-stop-circle:before {
  content: ""; }

.fa-stop-circle-o:before {
  content: ""; }

.fa-shopping-bag:before {
  content: ""; }

.fa-shopping-basket:before {
  content: ""; }

.fa-hashtag:before {
  content: ""; }

.fa-bluetooth:before {
  content: ""; }

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

.fa-percent:before {
  content: ""; }

.fa-gitlab:before {
  content: ""; }

.fa-wpbeginner:before {
  content: ""; }

.fa-wpforms:before {
  content: ""; }

.fa-envira:before {
  content: ""; }

.fa-universal-access:before {
  content: ""; }

.fa-wheelchair-alt:before {
  content: ""; }

.fa-question-circle-o:before {
  content: ""; }

.fa-blind:before {
  content: ""; }

.fa-audio-description:before {
  content: ""; }

.fa-volume-control-phone:before {
  content: ""; }

.fa-braille:before {
  content: ""; }

.fa-assistive-listening-systems:before {
  content: ""; }

.fa-asl-interpreting:before,
.fa-american-sign-language-interpreting:before {
  content: ""; }

.fa-deafness:before,
.fa-hard-of-hearing:before,
.fa-deaf:before {
  content: ""; }

.fa-glide:before {
  content: ""; }

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

.fa-signing:before,
.fa-sign-language:before {
  content: ""; }

.fa-low-vision:before {
  content: ""; }

.fa-viadeo:before {
  content: ""; }

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

.fa-snapchat:before {
  content: ""; }

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

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

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

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

.fa-yoast:before {
  content: ""; }

.fa-themeisle:before {
  content: ""; }

.fa-google-plus-circle:before,
.fa-google-plus-official:before {
  content: ""; }

.fa-fa:before,
.fa-font-awesome:before {
  content: ""; }

.fa-handshake-o:before {
  content: ""; }

.fa-envelope-open:before {
  content: ""; }

.fa-envelope-open-o:before {
  content: ""; }

.fa-linode:before {
  content: ""; }

.fa-address-book:before {
  content: ""; }

.fa-address-book-o:before {
  content: ""; }

.fa-vcard:before,
.fa-address-card:before {
  content: ""; }

.fa-vcard-o:before,
.fa-address-card-o:before {
  content: ""; }

.fa-user-circle:before {
  content: ""; }

.fa-user-circle-o:before {
  content: ""; }

.fa-user-o:before {
  content: ""; }

.fa-id-badge:before {
  content: ""; }

.fa-drivers-license:before,
.fa-id-card:before {
  content: ""; }

.fa-drivers-license-o:before,
.fa-id-card-o:before {
  content: ""; }

.fa-quora:before {
  content: ""; }

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

.fa-telegram:before {
  content: ""; }

.fa-thermometer-4:before,
.fa-thermometer:before,
.fa-thermometer-full:before {
  content: ""; }

.fa-thermometer-3:before,
.fa-thermometer-three-quarters:before {
  content: ""; }

.fa-thermometer-2:before,
.fa-thermometer-half:before {
  content: ""; }

.fa-thermometer-1:before,
.fa-thermometer-quarter:before {
  content: ""; }

.fa-thermometer-0:before,
.fa-thermometer-empty:before {
  content: ""; }

.fa-shower:before {
  content: ""; }

.fa-bathtub:before,
.fa-s15:before,
.fa-bath:before {
  content: ""; }

.fa-podcast:before {
  content: ""; }

.fa-window-maximize:before {
  content: ""; }

.fa-window-minimize:before {
  content: ""; }

.fa-window-restore:before {
  content: ""; }

.fa-times-rectangle:before,
.fa-window-close:before {
  content: ""; }

.fa-times-rectangle-o:before,
.fa-window-close-o:before {
  content: ""; }

.fa-bandcamp:before {
  content: ""; }

.fa-grav:before {
  content: ""; }

.fa-etsy:before {
  content: ""; }

.fa-imdb:before {
  content: ""; }

.fa-ravelry:before {
  content: ""; }

.fa-eercast:before {
  content: ""; }

.fa-microchip:before {
  content: ""; }

.fa-snowflake-o:before {
  content: ""; }

.fa-superpowers:before {
  content: ""; }

.fa-wpexplorer:before {
  content: ""; }

.fa-meetup:before {
  content: ""; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0; }

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto; }

/*variables */
/* breakpoints */
.main-section .calendar_month table {
  margin-bottom: 20px;
  width: 100%; }
  .main-section .calendar_month table th {
    padding: 20px 0;
    border-bottom: 1px solid #ddd;
    font-size: 20px;
    line-height: 20px;
    color: #555;
    text-align: center;
    color: #555; }
  .main-section .calendar_month table td {
    padding: 0;
    background: #fff;
    border: 1px solid #ddd;
    font-size: 20px;
    line-height: 20px; }
    .main-section .calendar_month table td a {
      display: block;
      padding: 30px 0;
      background: #fff;
      text-align: center;
      color: #555; }
      .main-section .calendar_month table td a:hover {
        background: #d5e8f1;
        color: #125a95;
        text-decoration: none; }
    .main-section .calendar_month table td.other_month a:hover, .main-section .calendar_month table td.today a:hover {
      background: #d5e8f1;
      color: #125a95;
      text-decoration: none; }
    .main-section .calendar_month table td a:active, .main-section .calendar_month table td.other_month a:active {
      background-color: #d1e3ee;
      color: #3d7cb1;
      text-decoration: none; }
    .main-section .calendar_month table td.today a {
      background-color: #d1e3ee;
      color: #3d7cb1; }
      .main-section .calendar_month table td.today a:active {
        background-color: #d1e3ee;
        color: #3d7cb1;
        text-decoration: none; }
    .main-section .calendar_month table td.other_month a {
      background: #eee;
      color: #999; }

/* DATE PICKER */
.ui-datepicker {
  display: none;
  margin-top: 2px;
  padding: 10px;
  background-color: #444;
  -webkit-box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.2);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px; }

.ui-datepicker-header {
  padding-bottom: 5px;
  font-size: 12px;
  color: #fff; }
  .ui-datepicker-header:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden; }
  .ui-datepicker-header a {
    display: block;
    padding: 5px 10px;
    background-color: none;
    color: #666;
    cursor: pointer;
    text-decoration: none;
    -webkit-border-radius: 13px;
    -moz-border-radius: 13px;
    border-radius: 13px; }
    .ui-datepicker-header a:hover {
      background-color: #68a1c6;
      color: #fff; }

.ui-datepicker-prev {
  float: left; }

.ui-datepicker-next {
  float: right; }

.ui-datepicker-title {
  padding: 5px 0;
  text-align: center;
  color: #fff; }

.ui-datepicker-calendar {
  margin: 0; }
  .ui-datepicker-calendar th {
    padding: 0;
    font-size: 11px;
    font-weight: normal;
    color: #999;
    text-align: center; }
  .ui-datepicker-calendar td {
    padding: 0;
    border: 1px solid #333;
    font-size: 11px;
    text-align: center; }
    .ui-datepicker-calendar td a {
      display: block;
      padding: 5px 10px;
      background-color: #444;
      border-top: 1px solid #555;
      color: #fff; }
      .ui-datepicker-calendar td a:hover {
        background-color: #68a1c6;
        border-color: #3d7cb1;
        color: #fff;
        text-decoration: none; }
    .ui-datepicker-calendar td.ui-datepicker-current-day a {
      background-color: #68a1c6;
      border-color: #3d7cb1;
      color: #fff;
      text-decoration: none; }
    .ui-datepicker-calendar td.ui-datepicker-other-month a {
      background: #3b3b3b;
      border-top: 1px solid #444;
      color: #777; }

/* INLINE DATE PICKER */
.ui-datepicker-inline {
  -webkit-box-shadow: none;
  -moz-box-shadow: none; }
  .ui-datepicker-inline .ui-datepicker-calendar {
    width: 100%; }
    .ui-datepicker-inline .ui-datepicker-calendar td a {
      padding: 10px 5px; }

/* SIDEBAR DATE PICKER */
.sidebar .ui-datepicker {
  display: block;
  margin-bottom: 20px; }

.sidebar .ui-datepicker-header a {
  padding: 5px 15px; }

.sidebar .ui-datepicker-calendar th, .sidebar .ui-datepicker-calendar td {
  font-size: 13px; }

form {
  margin-bottom: 20px; }
  form h3 {
    margin-bottom: 0; }
  form p {
    margin-bottom: 10px;
    zoom: 1; }
    form p:after {
      content: ".";
      display: block;
      height: 0;
      clear: both;
      visibility: hidden; }
    form p label {
      display: block;
      float: left;
      width: 130px; }
      form p label.required {
        font-weight: bold;
        color: #333; }
      form p label small {
        font-weight: normal;
        font-size: 12px; }
  form input {
    width: 55%; }
    form input[type=checkbox], form input[type=radio] {
      width: auto; }
  form ul {
    list-style: none;
    margin: 0 0 10px 0;
    padding: 0; }
  form textarea {
    width: 524px;
    height: 200px; }
  form table {
    margin: 10px 0;
    font-size: 13px; }
    form table th {
      padding: 2px 5px 2px 0;
      font-weight: bold;
      color: #777; }
    form table td {
      padding: 2px 5px 2px 0; }
  form .submit button {
    display: block;
    float: right; }
  form .submit .alt_button {
    display: block;
    float: left; }
  form .submit button.delete {
    margin-right: 10px; }

/* HELP TEXT */
.help_text {
  display: block;
  font-size: 12px;
  line-height: 16px;
  color: #999; }
  .help_text a {
    color: #68a1c6; }

form p .help_text {
  margin: 5px 0 0 130px; }

/* ERRORS */
.errors, .error {
  color: #af4949; }

.errorlist {
  list-style: none;
  margin-bottom: 0;
  font-size: 13px;
  line-height: 20px;
  color: #af4949; }

form p .errors {
  display: block;
  padding: 10px 0;
  border: none;
  background: none;
  font-size: 12px;
  line-height: 16px;
  color: #af4949; }

form .errorlist {
  margin-left: 130px; }

/* INPUTS */
input {
  margin: 0;
  padding: 7px;
  color: #222;
  border: 1.5px #222 solid;
  background: #fff;
  font-size: 14px;
  line-height: 15px;
  color: #555;
  box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.15);
  border-radius: 4px; }

textarea {
  margin: 0;
  padding: 7px;
  border: 1px solid #bbb;
  background: #fff;
  font-family: 'Helvetica Neue', arial, sans-serif;
  font-size: 14px;
  line-height: 15px;
  color: #555;
  -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.15);
  -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.15);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px; }
  textarea:focus {
    padding: 6px;
    border: 2px solid #999; }

input:focus {
  padding: 6px;
  border: 2px solid #999; }

input[type=file] {
  padding: 0;
  width: auto;
  border: none;
  background: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none; }

textarea {
  line-height: 18px; }

/* BUTTONS */
button {
  border: none;
  font-size: initial;
  color: #dedede;
  background: #116db3; }

/* CUSTOM INPUTS */
#id_point {
  margin: 10px 0 0 130px; }

#id_point_map_wrapper {
  margin: 0 0 0 130px; }

#id_point_map_center {
  width: 23px;
  height: 32px;
  background: url(../../images/maps/marker.png) no-repeat;
  overflow: hidden;
  text-indent: -1000px; }

/* AUTO COMPLETE */
.ui-autocomplete {
  list-style: none;
  margin: 5px 0 0 0;
  padding: 7px;
  width: 350px;
  background-color: #fff;
  border: 1px solid #ccc;
  font-size: 14px;
  line-height: 20px;
  color: #555;
  -webkit-box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.2);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px; }
  .ui-autocomplete li a {
    display: block;
    padding: 3px 5px;
    font-weight: bold;
    color: #777; }
  .ui-autocomplete .ui-state-hover {
    background-color: #FFFCCC;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px; }

/* SIDEBAR INPUT */
div.sidebar textarea {
  width: 95%;
  height: 110px; }

div.sidebar select {
  width: 100%; }

/* FILTERED SELECT */
form .filtered-select .selector-available, form .filtered-select .selector-chosen {
  font-size: 12px; }

form .filtered-select .selector-available h2, form .filtered-select .selector-chosen h2 {
  border: none;
  background-color: #eee;
  color: #777; }

form .filtered-select .selector-filter {
  margin-bottom: 5px;
  padding: 0;
  border: none; }
  form .filtered-select .selector-filter input {
    padding: 5px;
    width: 258px; }
    form .filtered-select .selector-filter input:focus {
      padding: 4px; }

.accordion {
  margin-bottom: 20px;
  background-color: #fff;
  border: 1px solid #ddd;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px; }
  .accordion .ui-accordion-header {
    margin: 0;
    border-top: 1px solid #eee;
    font-size: 13px; }
    .accordion .ui-accordion-header:first-child {
      border-top: none; }
    .accordion .ui-accordion-header a {
      display: block;
      padding: 3px 10px 3px 25px;
      background: url(../images/arrows/grey_right.gif) 10px 50% no-repeat;
      font-weight: bold;
      color: #999; }
      .accordion .ui-accordion-header a:hover {
        text-decoration: none;
        color: #18629d; }
  .accordion .ui-state-active a {
    background-image: url(../images/arrows/grey_down.gif);
    color: #777; }
  .accordion .ui-accordion-content {
    padding: 10px;
    border-top: 1px solid #eee; }
    .accordion .ui-accordion-content table {
      margin: 0;
      padding: 0;
      width: 100%; }
      .accordion .ui-accordion-content table th {
        padding: 2px 0;
        width: 100px;
        font-size: 13px;
        line-height: 18px;
        font-weight: bold;
        color: #333; }
      .accordion .ui-accordion-content table td {
        padding: 2px 0;
        font-size: 13px;
        line-height: 18px;
        color: #555; }
    .accordion .ui-accordion-content ul {
      list-style: none;
      margin: 0;
      padding: 0;
      font-size: 13px;
      line-height: 17px; }
    .accordion .ui-accordion-content li {
      margin-bottom: 10px; }
      .accordion .ui-accordion-content li a {
        font-weight: bold; }
      .accordion .ui-accordion-content li small {
        font-size: 12px;
        white-space: nowrap;
        color: #999; }

.pagination {
  margin-bottom: 20px;
  width: 100%;
  overflow: hidden; }
  .pagination a, .pagination span {
    display: block;
    float: left;
    margin: 0 1px 0 0;
    padding: 8px 25px;
    border: none;
    font-weight: normal;
    font-size: 12px;
    line-height: 13px;
    color: #777;
    text-align: center;
    cursor: pointer;
    background: #eee;
    border: 1px solid #ccc;
    background: -webkit-gradient(linear, center top, center bottom, left, right);
    background: -moz-linear-gradient(top center, #eee, #ccc);
    -webkit-box-shadow: inset 0 1px 0 white;
    -moz-box-shadow: inset 0 1px 0 white; }
  .pagination a:hover, .pagination span:hover {
    text-decoration: none; }
  .pagination a:active {
    outline: none;
    -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.5); }
  .pagination span {
    color: #999;
    background: #eee;
    border-color: #ddd;
    -webkit-box-shadow: none;
    -moz-box-shadow: none; }
    .pagination span:active {
      outline: none;
      -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.5);
      -moz-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.5); }
  .pagination .next {
    -moz-border-radius: 0 4px 4px 0;
    border-radius: 0 4px 4px 0; }
  .pagination .previous {
    -moz-border-radius: 4px 0 0 4px;
    border-radius: 4px 0 0 4px; }

.module {
  margin-bottom: 20px;
  border: 1px solid #0b354e; }
  .module h2 {
    margin: 0; }
    .module h2 a {
      display: block;
      margin-bottom: 1px;
      padding: 5px 0;
      background-color: #18629d;
      font-size: 13px;
      font-weight: bold;
      line-height: 18px;
      color: #777;
      text-align: center; }
    .module h2.last a {
      margin-bottom: 0; }
    .module h2 a:hover {
      background-color: #18629d;
      color: #fff;
      text-decoration: none; }
  .module h3 {
    margin: 0 10px; }
  .module ul {
    list-style: none;
    margin: 0;
    padding: 0; }
  .module li {
    border-bottom: 1px solid #0b354e;
    font-weight: bold; }
    .module li.last {
      border: none; }
    .module li a {
      display: block;
      padding: 10px;
      overflow: hidden; }
      .module li a:hover {
        background: #18629d;
        color: #fff;
        text-decoration: none; }
      .module li a img.thumbnail {
        display: block;
        float: right;
        margin: 0 0 0 10px; }
      .module li a small {
        display: block;
        font-size: 12px;
        color: #999; }
      .module li a:hover small {
        color: #fff; }
      .module li a strong {
        display: block;
        font-size: 12px;
        color: #777; }
    .module li.last a.button {
      padding: 3px 15px;
      width: auto;
      background: #fff url(../images/button_bg.gif) left bottom repeat-x;
      border: 1px solid #ccc;
      color: #777;
      text-align: center;
      cursor: pointer; }
    .module li.last a:hover.button {
      background: #18629d;
      border-color: #18629d;
      color: #fff;
      text-decoration: none; }
  .module .body {
    padding: 9px;
    overflow: hidden; }
    .module .body h3 {
      margin: 0; }
    .module .body img {
      margin: 10px 0; }
    .module .body .thumbnail {
      float: right;
      margin: 0 0 10px 10px; }
      .module .body .thumbnail img {
        margin: 0; }
    .module .body blockquote {
      margin: 0;
      padding: 0; }
      .module .body blockquote p {
        font-size: 14px;
        font-weight: bold; }
        .module .body blockquote p.cite {
          margin: -5px 0 0 0;
          font-size: 12px;
          font-weight: normal;
          color: #777; }
  .module .footer {
    margin-bottom: 1px;
    padding: 5px 0;
    border-top: 1px solid #0b354e;
    font-size: 13px;
    line-height: 17px;
    text-align: center; }
    .module .footer a {
      font-weight: bold;
      color: #777; }
      .module .footer a:hover {
        color: #18629d;
        text-decoration: none; }

.module_photos {
  padding: 5px 0;
  background: #eee;
  border: none; }
  .module_photos h2 a {
    background: none;
    color: #555; }
    .module_photos h2 a:hover {
      background: none;
      text-decoration: underline;
      color: #555; }
  .module_photos ul {
    margin: 11px;
    padding: 0;
    overflow: hidden; }
    .module_photos ul li {
      float: left;
      margin: 0;
      padding: 0;
      border: none; }
      .module_photos ul li a {
        display: block;
        float: left;
        padding: 0; }
        .module_photos ul li a:hover {
          background: #777; }
        .module_photos ul li a img {
          display: block;
          margin: 1px; }
  .module_photos .footer {
    border: none; }
    .module_photos .footer a {
      color: #777; }

.module .radar a img {
  margin: 10px 0 10px 2px;
  padding: 5px;
  margin: auto;
  border: 1px solid #0b354e; }

.module .radar a:hover img {
  padding: 6px;
  border: none;
  background: #18629d; }

.module .radar ul li {
  display: block;
  font-size: 13px;
  font-weight: bold; }
  .module .radar ul li small {
    display: block;
    font-size: 12px;
    color: #777; }

.wmd-panel {
  margin-left: 25%;
  margin-right: 25%;
  width: 50%;
  min-width: 500px; }

.wmd-button-bar {
  position: relative;
  padding: 5px;
  background-color: #f5f5f5;
  zoom: 1; }
  .wmd-button-bar:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden; }

.wmd-preview {
  margin: 10px 0;
  padding: 10px;
  border: 1px dashed #ddd;
  zoom: 1; }
  .wmd-preview:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden; }

.wmd-button-row {
  list-style: none;
  margin: 0;
  padding: 0 0;
  font-size: 12px;
  line-height: 20px;
  color: #777;
  overflow: visible; }
  .wmd-button-row li {
    float: left;
    display: block;
    margin: 0 5px;
    font-weight: bold;
    cursor: pointer; }
    .wmd-button-row li:hover {
      color: #555; }
    .wmd-button-row li a {
      color: #777;
      text-decoration: none; }
    .wmd-button-row li.wmd-spacer {
      width: 10px;
      height: 20px; }

.wmd-bold-button {
  left: 0px;
  background-position: 0px 0; }

.wmd-italic-button {
  left: 25px;
  background-position: -20px 0; }

.wmd-spacer1 {
  left: 50px; }

.wmd-link-button {
  left: 75px;
  background-position: -40px 0; }

.wmd-quote-button {
  left: 100px;
  background-position: -60px 0; }

.wmd-code-button {
  left: 125px;
  background-position: -80px 0; }

.wmd-image-button {
  left: 150px;
  background-position: -100px 0; }

.wmd-spacer2 {
  left: 175px; }

.wmd-olist-button {
  left: 200px;
  background-position: -120px 0; }

.wmd-ulist-button {
  left: 225px;
  background-position: -140px 0; }

.wmd-heading-button {
  left: 250px;
  background-position: -160px 0; }

.wmd-hr-button {
  left: 275px;
  background-position: -180px 0; }

.wmd-spacer3 {
  left: 300px; }

.wmd-undo-button {
  left: 325px;
  background-position: -200px 0; }

.wmd-redo-button {
  left: 350px;
  background-position: -220px 0; }

.wmd-help-button {
  right: 0px;
  background-position: -240px 0; }

.wmd-prompt-background {
  background-color: #000; }

.wmd-prompt-dialog {
  background-color: #fff;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px; }
  .wmd-prompt-dialog > div {
    font-size: 0.8em;
    font-family: arial, helvetica, sans-serif; }

.wmd-embed-help {
  padding: 10px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  width: 180px;
  background-color: #3d7cb1;
  position: absolute;
  z-index: 1001;
  top: 30px;
  right: 0px; }
  .wmd-embed-help p {
    font-size: 12px;
    border-bottom: none;
    margin-bottom: .2em;
    padding-bottom: 0px;
    color: #fff; }

.wmd-embed {
  background-color: transparent;
  color: #888;
  padding: 0px; }

.try_embed {
  font-size: 12px;
  border-bottom: none;
  color: #fff;
  font-weight: bold;
  padding-right: 16px;
  background: url(../../images/arrows/white_right.gif) no-repeat;
  background-position: right center; }

.oembed {
  margin: 0px auto 1em auto;
  padding: 0px; }
  .oembed .credit {
    font-weight: normal; }

.oembed-video .credit, .oembed-photo .credit {
  margin: 0px;
  padding: 0px;
  font-size: 12px; }

.oembed-video p small {
  color: #777; }

.oembed-link {
  float: none; }
  .oembed-link .credit {
    font-size: 14px;
    line-height: 18px; }

.wmd-preview .oembed-video {
  margin: 0 auto 10px auto;
  padding: 70px 10px;
  background: #333;
  text-align: center; }
  .wmd-preview .oembed-video h3 {
    font-size: 20px;
    color: #fff; }
  .wmd-preview .oembed-video p, .wmd-preview .oembed-video a {
    color: #fff; }

body.entry_detail .wmd-preview p {
  border-bottom: 0px; }

.list .comment .oembed, #comment_form .oembed, #answers .oembed, .comment_text .oembed {
  float: right;
  margin: 0 0 10px 10px;
  clear: right; }

.list .comment .oembed-link, #comment_form .oembed-link, #answers .oembed-link, .comment_text .oembed-link {
  float: none; }

.list .comment .oembed-video p, .list .comment .oembed-photo p {
  font-size: 12px; }

#answers .list .oembed-video p, #answers .list .oembed-photo p {
  font-size: 12px; }

.comment_text {
  zoom: 1; }
  .comment_text:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden; }

.galleries .wmd-preview, .galleries .wmd-button-bar {
  width: 600px; }

#comment_form .wmd-image-button {
  display: none; }

/* .list .comment ul, .wmd-preview ul, #answers ul { list-style-type: disc; margin-left: 15px; } */
/* PHOTOS AND GALLERIES */
body.gallery_detail #page {
  background-color: #111; }

body.gallery_detail #subnav {
  margin-bottom: 0;
  background-color: #333; }

body.gallery_detail #body {
  padding-top: 10px; }

body.gallery_detail .content_title {
  border: none; }
  body.gallery_detail .content_title h2 {
    color: #fff; }
  body.gallery_detail .content_title p {
    color: #999; }
  body.gallery_detail .content_title a {
    color: #fff; }
  body.gallery_detail .content_title .back a {
    color: #777; }
  body.gallery_detail .content_title .vote_box {
    margin-top: 0;
    display: none; }

body.gallery_detail .object_tools {
  display: none; }

body.gallery_detail .content {
  width: 990px; }

body.gallery_detail .list .item {
  margin-bottom: 50px; }
  body.gallery_detail .list .item .thumbnail {
    float: none;
    margin: 0; }
    body.gallery_detail .list .item .thumbnail img {
      display: block;
      margin: 0; }
  body.gallery_detail .list .item .caption {
    padding: 20px;
    background-color: #222;
    font-size: 15px;
    line-height: 20px;
    color: #bbb; }

body.gallery_detail #comments {
  padding: 20px;
  background-color: #fff;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px; }

.gallery_photo_detail .previous_next {
  padding: 10px;
  width: 300px;
  margin-bottom: 10px;
  background: #fff;
  overflow: hidden; }
  .gallery_photo_detail .previous_next div {
    float: left;
    width: 120px; }
  .gallery_photo_detail .previous_next .previous {
    margin-right: 10px;
    padding-left: 20px;
    background: url(../../images/arrows/less_than.gif) 0 50% no-repeat; }
  .gallery_photo_detail .previous_next .next {
    margin-left: 10px;
    padding-right: 20px;
    background: url(../../images/arrows/greater_than.gif) 100% 50% no-repeat; }
  .gallery_photo_detail .previous_next .no_photo {
    margin: 0;
    padding: 30px 10px 0 10px;
    height: 70px;
    background: #eee;
    font-size: 13px;
    line-height: 18px;
    font-weight: bold;
    text-align: center;
    color: #777; }
  .gallery_photo_detail .previous_next a img {
    display: block; }

.photo_grid {
  overflow: hidden; }
  .photo_grid .item {
    float: left;
    margin: 0 10px 10px 0; }
    .photo_grid .item .thumbnail {
      margin: 0; }
    .photo_grid .item .photo_info {
      display: none; }

table.photos td {
  padding: 0 20px 20px 0;
  width: 210px; }
  table.photos td .thumbnail {
    margin-left: 0; }
  table.photos td.last {
    padding-right: 0; }
  table.photos td .caption {
    margin-bottom: 0;
    font-size: 13px;
    line-height: 18px;
    color: #777; }
  table.photos td ul {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 12px;
    line-height: 18px;
    color: #999; }

/* AUDIO */
.audio_list .related {
  margin: 0;
  font-size: 13px;
  color: #999; }
  .audio_list .related strong {
    color: #777; }

.audio_player {
  margin-bottom: 20px;
  padding: 5px;
  width: 580px;
  height: 35px;
  background: #ddd; }

ul.playlist {
  list-style: none;
  padding-left: 3px;
  font-size: 12px;
  line-height: 15px; }
  ul.playlist li {
    margin: 5px 0;
    padding: 0;
    background: none; }
    ul.playlist li a {
      color: #4e9bda; }
      ul.playlist li a.active {
        color: #125a95;
        font-weight: bold; }

/* VIDEO */
video {
  background: #111; }

body.video_detail .video {
  margin-bottom: 20px; }

body.video_list #video_details {
  margin-bottom: 20px;
  padding: 10px 5px 5px 5px; }
  body.video_list #video_details p {
    margin-bottom: 5px; }
    body.video_list #video_details p.caption {
      margin: 8px 0;
      color: #666;
      font-weight: normal; }
  body.video_list #video_details ul.byline {
    list-style: none;
    margin: 5px 0 0 0;
    padding: 0;
    font-size: 12px;
    line-height: 20px;
    color: #666;
    overflow: hidden; }
    body.video_list #video_details ul.byline li {
      float: left;
      margin: 0 10px 0 0;
      overflow: hidden; }

ul.video_list {
  list-style: none;
  margin: 25px 0 0 0;
  padding: 0;
  font-size: 14px;
  line-height: 18px;
  color: #666;
  overflow: hidden; }

h3 + ul.video_list {
  margin-top: 5px; }

ul.video_list li {
  width: 205px;
  height: 250px;
  float: left;
  margin: 0 21px 0 0; }
  ul.video_list li.last {
    margin-right: 0; }
  ul.video_list li a.thumbnail img {
    padding: 4px;
    margin: auto;
    border: 1px solid #ddd; }
  ul.video_list li a.thumbnail:hover img {
    padding: 5px;
    border: none;
    background: #18629d; }
  ul.video_list li a.title {
    display: block;
    padding-bottom: 4px;
    margin-bottom: 2px;
    font-weight: bold; }
  ul.video_list li span.date {
    display: block;
    font-size: 12px; }
  ul.video_list li .hidden {
    display: none; }

div.video_list .item .thumbnail {
  float: left;
  margin: 0 10px 0 0; }

.module_video {
  padding: 0;
  border: none;
  background-color: #111; }
  .module_video h2 a {
    margin-bottom: 0;
    background-color: #111;
    color: #fff; }
    .module_video h2 a:hover {
      background-color: #111; }
  .module_video .body {
    padding: 0; }
    .module_video .body p {
      margin: 10px;
      color: #999;
      font-size: 13px;
      line-height: 16px; }
      .module_video .body p a {
        color: #68a1c6; }

body {
  font-family: "Roboto", sans-serif;
  background: #eaeef1;
  margin: 0 auto; }

h1, h2, h3, h4, h5, h6 {
  color: #555; }

.container {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto; }
  .container:after {
    content: " ";
    display: block;
    clear: both; }

main.container {
  padding: 1em; }
  @media (min-width: 769px) {
    main.container {
      padding: 0; } }

.pull-right {
  float: right; }

a {
  color: #18629d;
  text-decoration: none; }

a:hover {
  font-weight: bold;
  text-decoration: underline; }

.divider-background {
  background: #63c151; }

.secondary-divider-background {
  background: #0b354e; }

.top-menu-background {
  background: #63c151; }

.main-menu-background {
  background: #0b354e; }

@media (max-width: 768px) {
  .hidden-mobile-sm {
    display: none; } }

.button, #comment_form button, .alt_button {
  padding: 10px;
  background: #dedede;
  color: #222;
  border-radius: 8px;
  color: #222; }

a.alt_button:hover {
  text-decoration: none; }

/* HEADER */
.ellington_menu.no-hover ul li:hover {
  background: initial !important; }

.ellington_menu {
  width: 100%; }
  .ellington_menu ul {
    list-style: none;
    margin: 0px;
    padding: 0;
    height: 100%;
    float: left;
    position: relative;
    background: #63c151;
    width: 100%;
    display: none;
    z-index: 999; }
    .ellington_menu ul a {
      display: block;
      color: #fff;
      text-decoration: none;
      font-weight: 700;
      font-size: 14px;
      line-height: 32px;
      padding: 0 15px; }
    .ellington_menu ul li {
      background: #63c151; }
      .ellington_menu ul li ul {
        display: block; }
        .ellington_menu ul li ul li {
          padding-left: 1em; }
    .ellington_menu ul li:hover {
      background: #82cb51; }
  @media (min-width: 769px) {
    .ellington_menu {
      height: 2em; }
      .ellington_menu .pull-right {
        float: right; }
      .ellington_menu ul {
        display: block;
        background: transparent;
        width: auto; }
        .ellington_menu ul li {
          background: transparent;
          position: relative;
          float: left;
          margin: 0;
          padding: 0; }
          .ellington_menu ul li .current-menu-item {
            background: #63c151; }
          .ellington_menu ul li ul {
            display: none;
            position: absolute;
            top: 100%;
            left: 0;
            z-index: 999;
            background: #63c151;
            padding: 0; }
            .ellington_menu ul li ul a {
              line-height: 120%;
              padding: 10px 15px; }
            .ellington_menu ul li ul li {
              float: none;
              width: 200px;
              background: #63c151; }
            .ellington_menu ul li ul ul {
              top: 0;
              left: 100%;
              z-index: 999; }
        .ellington_menu ul li:hover > ul {
          display: block; } }
  .ellington_menu .social-networks {
    width: auto;
    color: #fff;
    display: block;
    float: right; }
    .ellington_menu .social-networks a {
      display: inline-block;
      padding: 0; }
      .ellington_menu .social-networks a i {
        vertical-align: middle;
        margin-right: 10px; }
        @media (min-width: 769px) {
          .ellington_menu .social-networks a i {
            font-size: 20px; } }

.top-menu-background .ellington_menu_toggle {
  background: #63c151; }

.main-menu-background .ellington_menu_toggle {
  background: #0b354e;
  margin-top: 5px;
  margin-right: 10px; }

.ellington_menu_toggle {
  outline: 0;
  color: #fff;
  font-size: 30px;
  border-radius: 0.2em;
  border: 2px solid black;
  float: right;
  display: none; }
  @media (max-width: 768px) {
    .ellington_menu_toggle {
      display: block; } }

.header {
  background: #072c43;
  margin-bottom: 1.5em; }

.banner {
  display: none;
  width: 100%;
  float: left;
  margin-left: 0;
  margin-right: 0;
  float: none;
  margin-top: 2em;
  margin-bottom: 2em; }
  @media (min-width: 769px) {
    .banner {
      display: block; } }
  .banner .logo {
    width: 32.20339%;
    float: left;
    margin-right: 1.69492%; }
  .banner .right-top-menu {
    width: 23.72881%;
    float: right;
    margin-right: 0; }

#logo {
  display: none; }
  @media (min-width: 769px) {
    #logo {
      display: block; } }

#logo-mobile {
  display: inline-block;
  margin-left: 1em; }
  @media (min-width: 769px) {
    #logo-mobile {
      display: none; } }

/* BODY */
.hero {
  width: 100%;
  float: left;
  margin-left: 0;
  margin-right: 0; }

.card, .card-transparent {
  background: #fff; }
  .card img, .card-transparent img {
    position: relative;
    width: 100%;
    vertical-align: middle; }
  .card .overlay, .card-transparent .overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 0; }
    .card .overlay h1, .card-transparent .overlay h1, .card .overlay h2, .card-transparent .overlay h2, .card .overlay h3, .card-transparent .overlay h3, .card .overlay h4, .card-transparent .overlay h4, .card .overlay h5, .card-transparent .overlay h5, .card .overlay h6, .card-transparent .overlay h6, .card .overlay span, .card-transparent .overlay span, .card .overlay p, .card-transparent .overlay p {
      position: absolute;
      bottom: 0;
      left: 0;
      margin: 10px; }

.card-transparent {
  background: transparent; }

.main-story {
  width: 49.15254%;
  float: left;
  margin-right: 1.69492%;
  margin-right: 0; }
  @media (max-width: 768px) {
    .main-story {
      width: 100%;
      float: left;
      margin-left: 0;
      margin-right: 0; } }
  .main-story .article-tease {
    margin-left: 1em;
    margin-right: 1em; }

.secondary-items {
  width: 49.15254%;
  float: right;
  margin-right: 0;
  margin-right: 0; }
  @media (max-width: 768px) {
    .secondary-items {
      width: 91.52542%;
      float: left;
      margin-right: 1.69492%;
      margin-left: 1em;
      margin-top: 1em; } }
  .secondary-items .card, .secondary-items .card-transparent {
    width: 47.36842%;
    float: left;
    position: relative;
    margin-bottom: 2.54237%; }
    .secondary-items .card:nth-child(2n + 1), .secondary-items .card-transparent:nth-child(2n + 1) {
      margin-left: 0;
      margin-right: -100%;
      clear: both;
      margin-left: 0; }
    .secondary-items .card:nth-child(2n + 2), .secondary-items .card-transparent:nth-child(2n + 2) {
      margin-left: 52.63158%;
      margin-right: -100%;
      clear: none; }

.main-section {
  width: 74.57627%;
  float: left;
  margin-right: 1.69492%; }
  @media (max-width: 768px) {
    .main-section {
      width: 100%;
      float: left;
      margin-left: 0;
      margin-right: 0; } }
  .main-section .card, .main-section .card-transparent {
    width: 100%;
    float: right;
    margin-right: 0;
    margin-bottom: 1em; }
    .main-section .card .card-image, .main-section .card-transparent .card-image {
      padding: 1em;
      margin-right: 0px; }
      @media (min-width: 769px) {
        .main-section .card .card-image, .main-section .card-transparent .card-image {
          width: 28.57143%;
          float: left;
          margin-right: 2.04082%;
          padding: 0; } }
    .main-section .card .card-content, .main-section .card-transparent .card-content {
      padding-left: 1em;
      padding-right: 1em;
      padding-bottom: 1em; }
      .main-section .card .card-content .date, .main-section .card-transparent .card-content .date {
        float: right;
        font-size: 12px;
        margin-right: 1.69492%; }
      @media (max-width: 768px) {
        .main-section .card .card-content h3, .main-section .card-transparent .card-content h3 {
          margin-top: 0px; } }
      @media (min-width: 769px) {
        .main-section .card .card-content, .main-section .card-transparent .card-content {
          width: 69.38776%;
          float: right;
          margin-right: 0;
          padding: 0; } }

.video-player iframe {
  height: 480px; }

.video-widget iframe {
  height: 135px; }

.video-player iframe, .video-widget iframe {
  width: 100%; }
  @media (max-width: 768px) {
    .video-player iframe, .video-widget iframe {
      height: 180px; } }
  @media (min-width: 768px) and (max-width: 970px) {
    .video-player iframe, .video-widget iframe {
      height: 480px; } }

.video-info {
  padding: 1.25em; }
  .video-info .video-title {
    font-size: 18px;
    font-weight: bold; }
  .video-info .video-description {
    font-size: 14px; }
  .video-info .video-date {
    float: right;
    font-size: 12px; }

.sidebar {
  float: left;
  width: 100%; }
  @media (min-width: 769px) {
    .sidebar {
      width: 23.72881%;
      float: right;
      margin-right: 0; } }
  .sidebar h3 {
    margin-bottom: 0.3em; }
  .sidebar .top-stories, .sidebar .poll {
    padding: 1em; }
  .sidebar .top-stories ul {
    list-style: none;
    margin: 0px;
    padding: 0; }
    .sidebar .top-stories ul li {
      margin-top: 1em; }
  .sidebar .top-stories p {
    margin: 0;
    color: #777;
    font-size: 15px; }
  .sidebar .card h1, .sidebar .card-transparent h1, .sidebar .card h2, .sidebar .card-transparent h2, .sidebar .card h3, .sidebar .card-transparent h3, .sidebar .card h4, .sidebar .card-transparent h4, .sidebar .card h5, .sidebar .card-transparent h5, .sidebar .card h6, .sidebar .card-transparent h6 {
    margin: 0; }
  .sidebar .poll ul {
    list-style: none;
    margin: 0px;
    padding: 0; }
    .sidebar .poll ul li {
      margin-top: 0.5em;
      font-size: 14px; }
  .sidebar .poll .bar {
    background: #63c151;
    display: block;
    min-width: 2px;
    height: 15px; }

/* Footer */
footer {
  border-top: 1em #63c151 solid;
  background: #072c43; }
  footer .container {
    padding: 1em; }
  footer .copyright {
    text-align: center;
    font-size: 14px;
    color: #777;
    margin-top: 5px; }
  footer .column {
    width: 32.20339%;
    float: left; }
    footer .column:nth-child(3n + 1) {
      margin-left: 0;
      margin-right: -100%;
      clear: both;
      margin-left: 0; }
    footer .column:nth-child(3n + 2) {
      margin-left: 33.89831%;
      margin-right: -100%;
      clear: none; }
    footer .column:nth-child(3n + 3) {
      margin-left: 67.79661%;
      margin-right: -100%;
      clear: none; }
  footer h4 {
    font-size: 18px;
    color: #fff; }
  footer ul {
    list-style: none;
    margin: 0px;
    padding: 0; }
    footer ul a {
      font-size: 15px;
      color: #fff; }
  @media (min-width: 768px) and (max-width: 970px) {
    footer .column {
      width: 23.72881%;
      float: left; }
      footer .column:nth-child(4n + 1) {
        margin-left: 0;
        margin-right: -100%;
        clear: both;
        margin-left: 0; }
      footer .column:nth-child(4n + 2) {
        margin-left: 25.42373%;
        margin-right: -100%;
        clear: none; }
      footer .column:nth-child(4n + 3) {
        margin-left: 50.84746%;
        margin-right: -100%;
        clear: none; }
      footer .column:nth-child(4n + 4) {
        margin-left: 76.27119%;
        margin-right: -100%;
        clear: none; } }
  @media (min-width: 769px) {
    footer .column {
      width: 6.77966%;
      float: left; }
      footer .column:nth-child(12n + 1) {
        margin-left: 0;
        margin-right: -100%;
        clear: both;
        margin-left: 0; }
      footer .column:nth-child(12n + 2) {
        margin-left: 8.47458%;
        margin-right: -100%;
        clear: none; }
      footer .column:nth-child(12n + 3) {
        margin-left: 16.94915%;
        margin-right: -100%;
        clear: none; }
      footer .column:nth-child(12n + 4) {
        margin-left: 25.42373%;
        margin-right: -100%;
        clear: none; }
      footer .column:nth-child(12n + 5) {
        margin-left: 33.89831%;
        margin-right: -100%;
        clear: none; }
      footer .column:nth-child(12n + 6) {
        margin-left: 42.37288%;
        margin-right: -100%;
        clear: none; }
      footer .column:nth-child(12n + 7) {
        margin-left: 50.84746%;
        margin-right: -100%;
        clear: none; }
      footer .column:nth-child(12n + 8) {
        margin-left: 59.32203%;
        margin-right: -100%;
        clear: none; }
      footer .column:nth-child(12n + 9) {
        margin-left: 67.79661%;
        margin-right: -100%;
        clear: none; }
      footer .column:nth-child(12n + 10) {
        margin-left: 76.27119%;
        margin-right: -100%;
        clear: none; }
      footer .column:nth-child(12n + 11) {
        margin-left: 84.74576%;
        margin-right: -100%;
        clear: none; }
      footer .column:nth-child(12n + 12) {
        margin-left: 93.22034%;
        margin-right: -100%;
        clear: none; } }

.main-section .header, .sub_header {
  background: none;
  margin: 0; }

.content_info, .content_title {
  padding-bottom: 0.5em;
  border-bottom: 1px #777 solid;
  margin-top: 0.5em; }
  .content_info .vote_box, .content_title .vote_box {
    float: right;
    padding: 0px 5px 0px 5px;
    border: 1px solid #dedede;
    background-color: #f7f7f7;
    text-align: center;
    border-radius: 4px; }
    .content_info .vote_box form, .content_title .vote_box form {
      margin-bottom: 0px; }

.vote_form.single .upvote,
.vote_form.single .downvote {
  display: block;
  float: left;
  padding: 0;
  width: 38px;
  height: 28px;
  border: none;
  overflow: hidden;
  cursor: pointer;
  box-shadow: none;
  border-radius: 0;
  font-size: 25px;
  background: transparent;
  color: #072c43; }

.vote_form.single .voted {
  color: #63c151; }

.datetime, .byline {
  font-size: 1em;
  display: inline;
  margin: 0;
  color: #777; }

.datetime {
  display: block;
  margin-top: 5px; }
  @media (min-width: 769px) {
    .datetime {
      float: right;
      display: inline;
      margin-top: 0px; } }

ul.object_tools {
  list-style: none;
  margin: 0px;
  padding: 0;
  width: 100%;
  display: inline-block;
  margin-top: 5px; }
  ul.object_tools li {
    display: inline-block;
    margin-right: 5.26316%;
    min-height: 30px;
    color: #18629d;
    float: left; }
    ul.object_tools li small {
      display: block;
      margin-top: 3px; }
  ul.object_tools i.fa {
    margin-right: 5px; }

#comments {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #0b354e;
  clear: both;
  position: relative; }

#comment_status_form {
  float: right; }

#comment_form p.avatar {
  float: left;
  margin-right: 10px; }

#comment_form button {
  border: none;
  font-size: initial;
  color: #dedede;
  background: #116db3; }

.message {
  border: 1px #0b354e solid;
  color: #fff;
  padding: 10px;
  margin-top: 10px;
  background: #116db3;
  margin-bottom: 10px; }
  .message h1, .message h2, .message h3, .message h4, .message h5, .message h6, .message a {
    color: #fff;
    margin: 0; }

.message_info {
  background: #116db3; }

.message_error {
  background: #f44336; }

.message_success {
  background: #4caf50; }

ul.tabs {
  list-style: none;
  margin: 0px;
  padding: 0; }
  ul.tabs li {
    display: inline-block;
    padding: 10px;
    background: #c5c4c4;
    border-radius: 5px 5px 0px 0px;
    font-size: 15px; }
    ul.tabs li a {
      color: #222; }

.tab_content {
  display: none;
  background: #c5c4c4;
  padding: 5px 20px 5px 20px; }

.tab_content_on {
  display: block; }

#photo_add_container {
  display: none; }

.comment_textarea {
  display: inline-block;
  width: 90%; }
  .comment_textarea textarea {
    width: 100%; }
  .comment_textarea .photo_add_button {
    float: right; }

#login {
  width: 48.97959%;
  float: left;
  margin-right: 2.04082%; }

.social_registration {
  width: 40.67797%;
  float: right;
  margin-right: 0; }
  .social_registration button {
    margin-top: 1em; }
  .social_registration h4 {
    margin: 1em 0px 0px 0px; }

.signin_form ul {
  list-style: none;
  margin: 0px;
  padding: 0; }

form p label {
  display: block; }

form p.submit {
  text-align: right; }

.menu_wrapper {
  display: none;
  background: white;
  border-radius: 3px;
  padding: 1em;
  border: 1px solid #ccc;
  z-index: 9; }

.photo_source a {
  background: #c5c4c4;
  border-radius: 5px;
  padding: 10px 15px 10px 15px; }

.list .item {
  background: #fff;
  padding: 10px;
  margin-bottom: 1em; }
  .list .item ul {
    list-style: none;
    margin: 0px;
    padding: 0;
    text-align: right; }
    .list .item ul li {
      margin-right: 1.69492%;
      display: inline-block;
      color: #18629d;
      font-size: 12px; }

table.category_list {
  background: #fff;
  width: 100%; }
  table.category_list th {
    padding: 5px 20px 5px 0;
    border-bottom: 1px solid #c5c4c4;
    font-weight: bold;
    color: #777; }
  table.category_list td {
    text-align: center;
    padding: 5px 20px 5px 0;
    border-bottom: 1px solid #c5c4c4; }

ul.title_info {
  list-style: none;
  margin: 0px;
  padding: 0; }

.events .object_tools {
  margin-top: 20px;
  border-top: 1px solid #0b354e;
  border-bottom: 1px solid #0b354e;
  padding: 10px 0px 10px 0px; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXMiOlsic3R5bGVzLnNjc3MiLCIuLi9jb21wb25lbnRzL3N1c3kvc2Fzcy9fc3VzeS5zY3NzIiwiLi4vY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9fc3VzeS5zY3NzIiwiLi4vY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9fc3Uuc2NzcyIsIi4uL2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvc3UvX3V0aWxpdGllcy5zY3NzIiwiLi4vY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9zdS9fc2V0dGluZ3Muc2NzcyIsIi4uL2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvc3UvX3ZhbGlkYXRpb24uc2NzcyIsIi4uL2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvc3UvX2dyaWQuc2NzcyIsIi4uL2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L19mbG9hdC5zY3NzIiwiLi4vY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvX3NoYXJlZC5zY3NzIiwiLi4vY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvX3N1cHBvcnQuc2NzcyIsIi4uL2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3N1cHBvcnQvX3N1cHBvcnQuc2NzcyIsIi4uL2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3N1cHBvcnQvX3ByZWZpeC5zY3NzIiwiLi4vY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc3VwcG9ydC9fYmFja2dyb3VuZC5zY3NzIiwiLi4vY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc3VwcG9ydC9fYm94LXNpemluZy5zY3NzIiwiLi4vY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc3VwcG9ydC9fcmVtLnNjc3MiLCIuLi9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zdXBwb3J0L19jbGVhcmZpeC5zY3NzIiwiLi4vY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc2hhcmVkL19pbnNwZWN0LnNjc3MiLCIuLi9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zaGFyZWQvX291dHB1dC5zY3NzIiwiLi4vY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc2hhcmVkL19kaXJlY3Rpb24uc2NzcyIsIi4uL2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3NoYXJlZC9fYmFja2dyb3VuZC5zY3NzIiwiLi4vY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc2hhcmVkL19jb250YWluZXIuc2NzcyIsIi4uL2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3NoYXJlZC9fbWFyZ2lucy5zY3NzIiwiLi4vY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc2hhcmVkL19wYWRkaW5nLnNjc3MiLCIuLi9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9mbG9hdC9fY29udGFpbmVyLnNjc3MiLCIuLi9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9mbG9hdC9fc3Bhbi5zY3NzIiwiLi4vY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvZmxvYXQvX2VuZC5zY3NzIiwiLi4vY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvZmxvYXQvX2lzb2xhdGUuc2NzcyIsIi4uL2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fc2V0dGluZ3Muc2NzcyIsIi4uL2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fdmFsaWRhdGlvbi5zY3NzIiwiLi4vY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19ncmlkcy5zY3NzIiwiLi4vY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19ib3gtc2l6aW5nLnNjc3MiLCIuLi9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX2NvbnRleHQuc2NzcyIsIi4uL2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fYmFja2dyb3VuZC5zY3NzIiwiLi4vY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19jb250YWluZXIuc2NzcyIsIi4uL2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fc3Bhbi5zY3NzIiwiLi4vY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19ndXR0ZXJzLnNjc3MiLCIuLi9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX2lzb2xhdGUuc2NzcyIsIi4uL2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fZ2FsbGVyeS5zY3NzIiwiLi4vY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19yb3dzLnNjc3MiLCIuLi9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX21hcmdpbnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fcGFkZGluZy5zY3NzIiwiLi4vY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19ibGVlZC5zY3NzIiwiLi4vY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19icmVha3BvaW50LXBsdWdpbi5zY3NzIiwiLi4vY29tcG9uZW50cy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvX2JyZWFrcG9pbnQuc2NzcyIsIi4uL2NvbXBvbmVudHMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnQvX3NldHRpbmdzLnNjc3MiLCIuLi9jb21wb25lbnRzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L19jb250ZXh0LnNjc3MiLCIuLi9jb21wb25lbnRzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L19oZWxwZXJzLnNjc3MiLCIuLi9jb21wb25lbnRzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L19wYXJzZXJzLnNjc3MiLCIuLi9jb21wb25lbnRzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L3BhcnNlcnMvX3F1ZXJ5LnNjc3MiLCIuLi9jb21wb25lbnRzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L3BhcnNlcnMvX3NpbmdsZS5zY3NzIiwiLi4vY29tcG9uZW50cy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9wYXJzZXJzL3NpbmdsZS9fZGVmYXVsdC5zY3NzIiwiLi4vY29tcG9uZW50cy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9wYXJzZXJzL19kb3VibGUuc2NzcyIsIi4uL2NvbXBvbmVudHMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnQvcGFyc2Vycy9kb3VibGUvX2RlZmF1bHQtcGFpci5zY3NzIiwiLi4vY29tcG9uZW50cy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9wYXJzZXJzL2RvdWJsZS9fZG91YmxlLXN0cmluZy5zY3NzIiwiLi4vY29tcG9uZW50cy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9wYXJzZXJzL2RvdWJsZS9fZGVmYXVsdC5zY3NzIiwiLi4vY29tcG9uZW50cy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9wYXJzZXJzL190cmlwbGUuc2NzcyIsIi4uL2NvbXBvbmVudHMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnQvcGFyc2Vycy90cmlwbGUvX2RlZmF1bHQuc2NzcyIsIi4uL2NvbXBvbmVudHMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnQvcGFyc2Vycy9fcmVzb2x1dGlvbi5zY3NzIiwiLi4vY29tcG9uZW50cy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9wYXJzZXJzL3Jlc29sdXRpb24vX3Jlc29sdXRpb24uc2NzcyIsIi4uL2NvbXBvbmVudHMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnQvX25vLXF1ZXJ5LnNjc3MiLCIuLi9jb21wb25lbnRzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L19yZXNwb25kLXRvLnNjc3MiLCIuLi9jb21wb25lbnRzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L19sZWdhY3ktc2V0dGluZ3Muc2NzcyIsIi4uL2NvbXBvbmVudHMvZm9udC1hd2Vzb21lL3Njc3MvZm9udC1hd2Vzb21lLnNjc3MiLCIuLi9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9zY3NzL192YXJpYWJsZXMuc2NzcyIsIi4uL2NvbXBvbmVudHMvZm9udC1hd2Vzb21lL3Njc3MvX21peGlucy5zY3NzIiwiLi4vY29tcG9uZW50cy9mb250LWF3ZXNvbWUvc2Nzcy9fcGF0aC5zY3NzIiwiLi4vY29tcG9uZW50cy9mb250LWF3ZXNvbWUvc2Nzcy9fY29yZS5zY3NzIiwiLi4vY29tcG9uZW50cy9mb250LWF3ZXNvbWUvc2Nzcy9fbGFyZ2VyLnNjc3MiLCIuLi9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9zY3NzL19maXhlZC13aWR0aC5zY3NzIiwiLi4vY29tcG9uZW50cy9mb250LWF3ZXNvbWUvc2Nzcy9fbGlzdC5zY3NzIiwiLi4vY29tcG9uZW50cy9mb250LWF3ZXNvbWUvc2Nzcy9fYm9yZGVyZWQtcHVsbGVkLnNjc3MiLCIuLi9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9zY3NzL19hbmltYXRlZC5zY3NzIiwiLi4vY29tcG9uZW50cy9mb250LWF3ZXNvbWUvc2Nzcy9fcm90YXRlZC1mbGlwcGVkLnNjc3MiLCIuLi9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9zY3NzL19zdGFja2VkLnNjc3MiLCIuLi9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9zY3NzL19pY29ucy5zY3NzIiwiLi4vY29tcG9uZW50cy9mb250LWF3ZXNvbWUvc2Nzcy9fc2NyZWVuLXJlYWRlci5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiX21peGluZ3Muc2NzcyIsImxpYi9jYWxlbmRhcnMuc2NzcyIsImxpYi9mb3Jtcy5zY3NzIiwibGliL2FjY29yZGlvbi5zY3NzIiwibGliL3BhZ2luYXRpb24uc2NzcyIsImxpYi9tb2R1bGVzLnNjc3MiLCJsaWIvd21kLnNjc3MiLCJhcHBzL21lZGlhLnNjc3MiLCJfbWVudS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5XCI7XG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludFwiO1xuJGZhLWZvbnQtcGF0aDogXCIuLi9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9mb250c1wiO1xuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvZm9udC1hd2Vzb21lL3Njc3MvZm9udC1hd2Vzb21lLnNjc3NcIjtcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvJyk7XG5AaW1wb3J0IFwiX3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIl9taXhpbmdzXCI7XG5cbkBpbXBvcnQgXCIuL2xpYi9jYWxlbmRhcnNcIjtcbkBpbXBvcnQgXCIuL2xpYi9mb3Jtc1wiO1xuQGltcG9ydCBcIi4vbGliL2FjY29yZGlvblwiO1xuQGltcG9ydCBcIi4vbGliL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCIuL2xpYi9tb2R1bGVzXCI7XG5AaW1wb3J0IFwiLi9saWIvd21kXCI7XG5cbkBpbXBvcnQgXCIuL2FwcHMvbWVkaWFcIjtcblxuJHN1c3k6IChcbiAgY29sdW1uczogJHRvdGFsLWNvbHVtbnMsXG4gIGNvbnRhaW5lcjogMTE0MHB4LFxuICBndXR0ZXJzOiAwLjI1LFxuICBndXR0ZXItcG9zaXRpb246IGFmdGVyLFxuICBnbG9iYWwtYm94LXNpemluZzogYm9yZGVyLWJveC8vLFxuICAvL2RlYnVnOiAoaW1hZ2U6IHNob3ctY29sdW1ucylcbik7XG5cbmJvZHl7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFjaztcbiAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDZ7XG4gIGNvbG9yOiAkdGV4dC10aXRsZS1jb2xvcjtcbn1cblxuIC5jb250YWluZXJ7XG4gICBAaW5jbHVkZSBjb250YWluZXI7XG4gfSBcblxuIG1haW4uY29udGFpbmVye1xuICAgIHBhZGRpbmc6IDFlbTtcbiAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5vbi1tb2JpbGUtdGFibGV0KXtcbiAgICAgcGFkZGluZzogMDtcbiAgIH1cbiB9XG5cbiAucHVsbC1yaWdodHtcbiAgIGZsb2F0OiByaWdodDtcbiB9XG5cbiBhe1xuICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuIH1cbiBhOmhvdmVye1xuICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiB9XG5cbiAuZGl2aWRlci1iYWNrZ3JvdW5ke1xuICAgIGJhY2tncm91bmQ6ICRkaXZpZGVyLWJhY2tncm91bmQ7XG4gfVxuIC5zZWNvbmRhcnktZGl2aWRlci1iYWNrZ3JvdW5ke1xuICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktZGl2aWRlci1iYWNrZ3JvdW5kO1xuIH1cblxuIC50b3AtbWVudS1iYWNrZ3JvdW5ke1xuICAgIGJhY2tncm91bmQ6ICRkaXZpZGVyLWJhY2tncm91bmQ7XG4gfVxuXG4gLm1haW4tbWVudS1iYWNrZ3JvdW5ke1xuICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktZGl2aWRlci1iYWNrZ3JvdW5kO1xuIH1cblxuLmhpZGRlbi1tb2JpbGUtc217XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1vYmlsZS1zbWFsbCl7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uYnV0dG9uLCAuYWx0X2J1dHRvbntcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZDogJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ7XG4gIGNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtZm9udC1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBjb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWZvbnQtY29sb3I7XG59XG5hLmFsdF9idXR0b246aG92ZXJ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogSEVBREVSICovIFxuXG5AaW1wb3J0IFwiLi9fbWVudS5zY3NzXCI7IFxuXG4uaGVhZGVye1xuICBiYWNrZ3JvdW5kOiAkaGVhZGVyLWJhY2tncm91bmQ7XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtO1xufVxuXG4uYmFubmVye1xuICBkaXNwbGF5OiBub25lO1xuICBAaW5jbHVkZSBzcGFuKDEyKTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbm9uLW1vYmlsZS10YWJsZXQpe1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW4tdG9wOiAyZW07ICAgIFxuICBtYXJnaW4tYm90dG9tOiAyZW07ICAgIFxuICAubG9nb3tcbiAgICBAaW5jbHVkZSBzcGFuKDQpO1xuICB9XG4gIC5yaWdodC10b3AtbWVudXtcbiAgICBAaW5jbHVkZSBzcGFuKDMgbGFzdCk7XG4gIH1cbn1cblxuI2xvZ297XG4gIGRpc3BsYXk6IG5vbmU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5vbi1tb2JpbGUtdGFibGV0KXtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4jbG9nby1tb2JpbGV7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbm9uLW1vYmlsZS10YWJsZXQpe1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLyogQk9EWSAqL1xuXG4uaGVyb3tcbiAgIEBpbmNsdWRlIHNwYW4oMTIgbmVzdCk7XG59IFxuXG4uY2FyZHtcbiAgYmFja2dyb3VuZDogJGNhcmQtYmFja2dyb3VuZDtcbiAgaW1ne1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gIC5vdmVybGF5e1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHNwYW4sIHB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiAxMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uY2FyZC10cmFuc3BhcmVudHtcbiAgQGV4dGVuZCAuY2FyZDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5tYWluLXN0b3J5e1xuICAgQGluY2x1ZGUgc3Bhbig2IG9mIDEyKTtcbiAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1vYmlsZS1zbWFsbCl7XG4gICAgIEBpbmNsdWRlIHNwYW4oZnVsbCk7XG4gICB9XG4gIC5hcnRpY2xlLXRlYXNle1xuICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgfVxuICAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uc2Vjb25kYXJ5LWl0ZW1ze1xuICBAaW5jbHVkZSBzcGFuKDYgb2YgMTIgbGFzdCk7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iaWxlLXNtYWxsKXtcbiAgICAgQGluY2x1ZGUgc3BhbigxMSk7XG4gICAgIG1hcmdpbi1sZWZ0OiBndXR0ZXIoMWVtKTtcbiAgICAgbWFyZ2luLXRvcDogZ3V0dGVyKDFlbSk7XG4gIH1cbiAgLmNhcmR7XG4gICAgQGluY2x1ZGUgZ2FsbGVyeSgyIG9mIDQpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiBzcGFuKDAuNSk7XG4gIH1cbn1cblxuLm1haW4tc2VjdGlvbntcbiAgICBAaW5jbHVkZSBzcGFuKDkgb2YgMTIpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1vYmlsZS1zbWFsbCl7XG4gICAgICBAaW5jbHVkZSBzcGFuKDEyKTtcbiAgICB9XG5cbiAgICAuY2FyZHtcbiAgICAgIEBpbmNsdWRlIHNwYW4oMTAgb2YgMTAgbGFzdCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAuY2FyZC1pbWFnZXtcbiAgICAgICAgcGFkZGluZzogMWVtO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRub24tbW9iaWxlLXRhYmxldCl7XG4gICAgICAgICAgQGluY2x1ZGUgc3BhbigzIG9mIDEwKTtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgICAgfVxuICAgICAgLmNhcmQtY29udGVudHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgICAgICAgLmRhdGV7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGd1dHRlcigpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1vYmlsZS1zbWFsbCl7XG4gICAgICAgICAgaDN7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5vbi1tb2JpbGUtdGFibGV0KXtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuKDcgb2YgMTAgbGFzdCk7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiB9XG5cblxuIC52aWRlby1wbGF5ZXIgaWZyYW1le1xuICAgICBoZWlnaHQ6IDQ4MHB4O1xuIH1cbiAgXG4gLnZpZGVvLXdpZGdldCBpZnJhbWV7XG4gICAgIGhlaWdodDogMTM1cHg7XG4gfVxuXG4gLnZpZGVvLXBsYXllciwgLnZpZGVvLXdpZGdldHtcbiAgIGlmcmFtZXtcbiAgICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iaWxlLXNtYWxsKXtcbiAgICAgaGVpZ2h0OiAxODBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iaWxlLWxhcmdlKXtcbiAgICAgaGVpZ2h0OiA0ODBweDtcbiAgICB9XG5cbiAgIH1cbiB9XG4gXG4gLnZpZGVvLWluZm97XG4gICBwYWRkaW5nOiAxLjI1ZW07XG4gICAudmlkZW8tdGl0bGV7XG4gICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICB9XG4gICAudmlkZW8tZGVzY3JpcHRpb257XG4gICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgIH1cbiAgIC52aWRlby1kYXRle1xuICAgICBmbG9hdDogcmlnaHQ7XG4gICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgIH1cbiB9XG4uc2lkZWJhcntcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRub24tbW9iaWxlLXRhYmxldCl7XG4gICAgQGluY2x1ZGUgc3BhbigzIGxhc3QpO1xuICB9XG4gIGgze1xuICAgIG1hcmdpbi1ib3R0b206IDAuM2VtO1xuICB9XG4gIC50b3Atc3RvcmllcywgLnBvbGx7XG4gICAgcGFkZGluZzogMWVtO1xuICB9XG4gIC50b3Atc3Rvcmllc3tcbiAgICB1bHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyX2xpc3Rfc3R5bGU7XG4gICAgICBsaXtcbiAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgfVxuICAgIH1cbiAgICBwe1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY29sb3I6ICR0ZXh0LXNvZnQtY29sb3I7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgfVxuICB9XG4gIC5jYXJkIHtcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2e1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuICAucG9sbHtcbiAgICB1bHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyX2xpc3Rfc3R5bGU7XG4gICAgICBsaXtcbiAgICAgICAgbWFyZ2luLXRvcDogMC41ZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweFxuICAgICAgfVxuICAgIH1cbiAgICAuYmFye1xuICAgICAgYmFja2dyb3VuZDogJHBvbGwtYmFyLWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtaW4td2lkdGg6IDJweDtcbiAgICAgIGhlaWdodDogMTVweDtcbiAgICB9XG4gIH1cbn1cblxuLyogRm9vdGVyICovXG5mb290ZXJ7XG5cbiAgYm9yZGVyLXRvcDogMWVtICRkaXZpZGVyLWJhY2tncm91bmQgc29saWQ7XG4gIGJhY2tncm91bmQ6ICRmb290ZXItYmFja2dyb3VuZDtcbiAgLmNvbnRhaW5lcntcbiAgICBwYWRkaW5nOiAxZW07XG4gIH1cbiAgLmNvcHlyaWdodHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAkdGV4dC1zb2Z0LWNvbG9yO1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgfVxuICAuY29sdW1ue1xuICAgIEBpbmNsdWRlIGdhbGxlcnkoNCk7XG4gIH1cblxuICBoNHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgY29sb3I6ICRtZW51LWNvbG9yO1xuICB9XG4gIHVse1xuICAgIEBpbmNsdWRlIGNsZWFyX2xpc3Rfc3R5bGU7XG4gICAgYSB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBjb2xvcjogJG1lbnUtY29sb3I7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1vYmlsZS1sYXJnZSl7XG4gICAgLmNvbHVtbntcbiAgICAgIEBpbmNsdWRlIGdhbGxlcnkoMyBvZiAxMik7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5vbi1tb2JpbGUtdGFibGV0KXtcbiAgICAuY29sdW1ue1xuICAgICAgQGluY2x1ZGUgZ2FsbGVyeSgxIG9mIDEyKTtcbiAgICB9XG4gIH1cblxufVxuXG4vL1N0b3J5IGRldGFpbFxuLm1haW4tc2VjdGlvbiAuaGVhZGVyLCAuc3ViX2hlYWRlcntcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uY29udGVudF9pbmZvLCAuY29udGVudF90aXRsZXtcbiAgcGFkZGluZy1ib3R0b206IDAuNWVtO1xuICBib3JkZXItYm90dG9tOiAxcHggJHRleHQtc29mdC1jb2xvciBzb2xpZDtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG4gIC52b3RlX2JveHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZzogMHB4IDVweCAwcHggNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR2b3RpbmctYm94LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdm90aW5nLWJveC1iYWNrZ3JvdW5kO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgZm9ybXtcbiAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICB9XG4gIH1cbn1cblxuLnZvdGVfZm9ybS5zaW5nbGUgLnVwdm90ZSxcbi52b3RlX2Zvcm0uc2luZ2xlIC5kb3dudm90ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMzhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBmb250LXNpemU6IDI1cHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICR2b3RpbmctYm94LXZvdGUtY29sb3I7XG59XG5cbi52b3RlX2Zvcm0uc2luZ2xlIC52b3RlZHtcbiAgY29sb3I6ICR2b3RpbmctYm94LXZvdGVkLWNvbG9yO1xufVxuXG4uZGF0ZXRpbWUsIC5ieWxpbmV7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICR0ZXh0LXNvZnQtY29sb3I7XG59XG5cbi5kYXRldGltZXtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbm9uLW1vYmlsZS10YWJsZXQpe1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xuICB9XG59XG5cbnVsLm9iamVjdF90b29sc3tcbiAgQGluY2x1ZGUgY2xlYXJfbGlzdF9zdHlsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBsaXtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBndXR0ZXIoNCk7XG4gICAgbWluLWhlaWdodDogMzBweDtcbiAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgc21hbGx7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICB9XG4gIH1cbiAgaS5mYXtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgfVxufVxuXG4jY29tbWVudHN7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHNlY29uZGFyeS1kaXZpZGVyLWJhY2tncm91bmQ7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4jY29tbWVudF9zdGF0dXNfZm9ybXtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG5cblxuI2NvbW1lbnRfZm9ybXtcbiAgcC5hdmF0YXJ7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB9XG4gIGJ1dHRvbntcbiAgICBAZXh0ZW5kIC5idXR0b247XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtc2l6ZTogaW5pdGlhbDtcbiAgICBjb2xvcjogJGJ1dHRvbi1oaWdobGlnaHQtZm9udC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiAkYnV0dG9uLWhpZ2hsaWdodC1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbi5tZXNzYWdlIHtcbiAgYm9yZGVyOiAxcHggJHNlY29uZGFyeS1kaXZpZGVyLWJhY2tncm91bmQgc29saWQ7XG4gIGNvbG9yOiAkbWVudS1jb2xvcjtcbiAgcGFkZGluZzogMTBweDsgXG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGJhY2tncm91bmQ6ICRtZXNzYWdlLWluZm8tYmFja2dyb3VuZDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgaDEsIGgyLCBoMywgaDQsIGg1ICxoNiwgYXtcbiAgICBjb2xvcjogJG1lbnUtY29sb3I7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59ICBcblxuLm1lc3NhZ2VfaW5mb3tcbiAgYmFja2dyb3VuZDogJG1lc3NhZ2UtaW5mby1iYWNrZ3JvdW5kO1xufVxuLm1lc3NhZ2VfZXJyb3J7XG4gIGJhY2tncm91bmQ6ICRtZXNzYWdlLWVycm9yLWJhY2tncm91bmQ7XG59XG5cbi5tZXNzYWdlX3N1Y2Nlc3N7XG4gIGJhY2tncm91bmQ6ICRtZXNzYWdlLXN1Y2Nlc3MtYmFja2dyb3VuZDtcbn1cbnVsLnRhYnMge1xuICBAaW5jbHVkZSBjbGVhcl9saXN0X3N0eWxlO1xuICBsaXtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAkdGFicy1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweCA1cHggMHB4IDBweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgYXtcbiAgICAgIGNvbG9yOiAkdGFicy1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4udGFiX2NvbnRlbnR7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICR0YWJzLWNvbnRlbnQtYmFja2dyb3VuZDtcbiAgcGFkZGluZzogNXB4IDIwcHggNXB4IDIwcHg7XG59IFxuLnRhYl9jb250ZW50X29ue1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuI3Bob3RvX2FkZF9jb250YWluZXJ7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jb21tZW50X3RleHRhcmVhe1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA5MCU7XG4gIHRleHRhcmVhe1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5waG90b19hZGRfYnV0dG9ue1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufVxuI2xvZ2lue1xuICBAaW5jbHVkZSBzcGFuKDUgb2YgMTApO1xufVxuLnNvY2lhbF9yZWdpc3RyYXRpb257XG4gIEBpbmNsdWRlIHNwYW4oNSBvciAxMCBsYXN0KTtcbiAgYnV0dG9ue1xuICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgfVxuICBoNHtcbiAgICBtYXJnaW46IDFlbSAwcHggMHB4IDBweDtcbiAgfVxufVxuLnNpZ25pbl9mb3Jte1xuICB1bHtcbiAgICBAaW5jbHVkZSBjbGVhcl9saXN0X3N0eWxlO1xuICB9XG59XG5cbmZvcm0ge1xuICBwIHtcbiAgICBsYWJlbHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuICBwLnN1Ym1pdHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuXG4ubWVudV93cmFwcGVye1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBwYWRkaW5nOiAxZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIHotaW5kZXg6IDk7XG59XG5cbi5waG90b19zb3VyY2V7XG4gIGF7XG4gICAgYmFja2dyb3VuZDogJHRhYnMtYmFja2dyb3VuZDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgcGFkZGluZzogMTBweCAxNXB4IDEwcHggMTVweDtcbiAgfVxufVxuXG4ubGlzdHtcbiAgLml0ZW17XG4gICAgYmFja2dyb3VuZDogJGNhcmQtYmFja2dyb3VuZDtcbiAgICBwYWRkaW5nOiAxMHB4OyBcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgdWx7XG4gICAgICBAaW5jbHVkZSBjbGVhcl9saXN0X3N0eWxlO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBsaXtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBndXR0ZXIoKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudGFibGUuY2F0ZWdvcnlfbGlzdHtcbiAgYmFja2dyb3VuZDogJGNhcmQtYmFja2dyb3VuZDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRoe1xuICAgIHBhZGRpbmc6IDVweCAyMHB4IDVweCAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdGFicy1jb250ZW50LWJhY2tncm91bmQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICR0ZXh0LXNvZnQtY29sb3I7XG4gIH1cbiAgdGR7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyBcbiAgICBwYWRkaW5nOiA1cHggMjBweCA1cHggMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHRhYnMtY29udGVudC1iYWNrZ3JvdW5kO1xuICB9XG59XG5cblxuLy9ldmVudHNcbnVsLnRpdGxlX2luZm97XG4gIEBpbmNsdWRlIGNsZWFyX2xpc3Rfc3R5bGU7XG59XG5cbi5ldmVudHMgLm9iamVjdF90b29sc3tcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRzZWNvbmRhcnktZGl2aWRlci1iYWNrZ3JvdW5kO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHNlY29uZGFyeS1kaXZpZGVyLWJhY2tncm91bmQ7XG4gIHBhZGRpbmc6IDEwcHggMHB4IDEwcHggMHB4O1xufVxuIiwiLy8gU3VzeVxuLy8gPT09PVxuXG5AaW1wb3J0ICdzdXN5L2xhbmd1YWdlL3N1c3knO1xuIiwiLy8gU3VzeSBOZXh0IFN5bnRheFxuLy8gPT09PT09PT09PT09PT09PVxuXG4kc3VzeS12ZXJzaW9uOiAyLjE7XG5cbkBpbXBvcnQgXCIuLi9zdVwiO1xuQGltcG9ydCBcIi4uL291dHB1dC9mbG9hdFwiO1xuXG5AaW1wb3J0IFwic3VzeS9zZXR0aW5nc1wiO1xuQGltcG9ydCBcInN1c3kvdmFsaWRhdGlvblwiO1xuQGltcG9ydCBcInN1c3kvZ3JpZHNcIjtcbkBpbXBvcnQgXCJzdXN5L2JveC1zaXppbmdcIjtcbkBpbXBvcnQgXCJzdXN5L2NvbnRleHRcIjtcbkBpbXBvcnQgXCJzdXN5L2JhY2tncm91bmRcIjtcbkBpbXBvcnQgXCJzdXN5L2NvbnRhaW5lclwiO1xuQGltcG9ydCBcInN1c3kvc3BhblwiO1xuQGltcG9ydCBcInN1c3kvZ3V0dGVyc1wiO1xuQGltcG9ydCBcInN1c3kvaXNvbGF0ZVwiO1xuQGltcG9ydCBcInN1c3kvZ2FsbGVyeVwiO1xuQGltcG9ydCBcInN1c3kvcm93c1wiO1xuQGltcG9ydCBcInN1c3kvbWFyZ2luc1wiO1xuQGltcG9ydCBcInN1c3kvcGFkZGluZ1wiO1xuQGltcG9ydCBcInN1c3kvYmxlZWRcIjtcbkBpbXBvcnQgXCJzdXN5L2JyZWFrcG9pbnQtcGx1Z2luXCI7XG4iLCIvLyBTdVxuLy8gPT1cblxuQGltcG9ydCBcInN1L3V0aWxpdGllc1wiO1xuQGltcG9ydCBcInN1L3NldHRpbmdzXCI7XG5AaW1wb3J0IFwic3UvdmFsaWRhdGlvblwiO1xuQGltcG9ydCBcInN1L2dyaWRcIjtcbiIsIi8vIE1hcCBGdW5jdGlvbnNcbi8vID09PT09PT09PT09PT1cblxuXG4vLyBUcnVuY2F0ZSBMaXN0XG4vLyAtLS0tLS0tLS0tLS0tXG4vLyAtIFJldHVybiBhIGxpc3QsIHRydW5jYXRlZCB0byBhIGdpdmVuIGxlbmd0aFxuQGZ1bmN0aW9uIF9zdXN5LXRydW5jYXRlLWxpc3QoXG4gICRsaXN0LFxuICAkbGVuZ3RoXG4pIHtcbiAgJF9yZXR1cm46ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRsaXN0KSB7XG4gICAgJF9yZXR1cm46IGlmKCRpIDw9ICRsZW5ndGgsIGFwcGVuZCgkX3JldHVybiwgbnRoKCRsaXN0LCAkaSkpLCAkX3JldHVybik7XG4gIH1cblxuICBAcmV0dXJuICRfcmV0dXJuO1xufVxuXG5cbi8vIERlZXAgR2V0XG4vLyAtLS0tLS0tLVxuLy8gLSBSZXR1cm4gYSB2YWx1ZSBkZWVwIGluIG5lc3RlZCBtYXBzXG5AZnVuY3Rpb24gX3N1c3ktZGVlcC1nZXQoXG4gICRtYXAsXG4gICRrZXlzLi4uXG4pIHtcbiAgJF9yZXR1cm46ICRtYXA7XG5cbiAgQGVhY2ggJGtleSBpbiAka2V5cyB7XG4gICAgQGlmIHR5cGUtb2YoJF9yZXR1cm4pID09IG1hcCB7XG4gICAgICAkX3JldHVybjogbWFwLWdldCgkX3JldHVybiwgJGtleSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkX3JldHVybjtcbn1cblxuXG4vLyBEZWVwIFNldFxuLy8gLS0tLS0tLS1cbi8vIC0gU2V0IGEgdmFsdWUgZGVlcCBpbiBuZXN0ZWQgbWFwc1xuQGZ1bmN0aW9uIF9zdXN5LWRlZXAtc2V0KFxuICAkbWFwLFxuICAka2V5cy12YWx1ZS4uLlxuKSB7XG4gICRfdmFsdWU6IG50aCgka2V5cy12YWx1ZSwgLTEpO1xuICAkX2tleXM6IF9zdXN5LXRydW5jYXRlLWxpc3QoJGtleXMtdmFsdWUsIGxlbmd0aCgka2V5cy12YWx1ZSkgLSAxKTtcbiAgJF9sZW5ndGg6IGxlbmd0aCgkX2tleXMpO1xuICAkX3JldHVybjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkX2xlbmd0aCB7XG4gICAgJF9uOiAwIC0gJGk7XG4gICAgJF9sZXZlbDogX3N1c3ktdHJ1bmNhdGUtbGlzdCgkX2tleXMsICRfbGVuZ3RoICsgJF9uKTtcbiAgICAkX2xldmVsOiBfc3VzeS1kZWVwLWdldCgkbWFwLCAkX2xldmVsLi4uKTtcbiAgICAkX21lcmdlOiBudGgoJF9rZXlzLCAkX24pO1xuICAgICRfbWVyZ2U6ICgkX21lcmdlOiAkX3ZhbHVlKTtcbiAgICAkX3JldHVybjogaWYoJF9sZXZlbCwgbWFwLW1lcmdlKCRfbGV2ZWwsICRfbWVyZ2UpLCAkX21lcmdlKTtcbiAgICAkX3ZhbHVlOiAkX3JldHVybjtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG5cblxuLy8gRGVlcCBNZXJnZVxuLy8gLS0tLS0tLS0tLVxuLy8gUmV0dXJuIDIgb2JqZWN0cyBvZiBhbnkgZGVwdGgsIG1lcmdlZFxuQGZ1bmN0aW9uIF9zdXN5LWRlZXAtbWVyZ2UoXG4gICRtYXAxLFxuICAkbWFwMlxuKSB7XG5cbiAgQGlmIHR5cGUtb2YoJG1hcDEpICE9IG1hcCBvciB0eXBlLW9mKCRtYXAyKSAhPSBtYXAge1xuICAgICRtYXAxOiAkbWFwMjtcbiAgfSBAZWxzZSB7XG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAyIHtcbiAgICAgICRfbmV3OiAoJGtleTogX3N1c3lfZGVlcC1tZXJnZShtYXAtZ2V0KCRtYXAxLCAka2V5KSwgJHZhbHVlKSk7XG4gICAgICAkbWFwMTogbWFwLW1lcmdlKCRtYXAxLCAkX25ldyk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbWFwMTtcbn1cblxuXG4vLyBEZWVwIEhhcy1LZXlcbi8vIC0tLS0tLS0tLS0tLVxuLy8gLSBSZXR1cm4gdHJ1ZSBpZiBhIGRlZXAga2V5IGV4aXN0c1xuQGZ1bmN0aW9uIF9zdXN5LWRlZXAtaGFzLWtleShcbiAgJG1hcCxcbiAgJGtleXMuLi5cbikge1xuICAkX3JldHVybjogbnVsbDtcbiAgJF9zdG9wOiBmYWxzZTtcblxuICBAZWFjaCAka2V5IGluICRrZXlzIHtcbiAgICBAaWYgbm90KCRfc3RvcCkge1xuICAgICAgJF9yZXR1cm46IG1hcC1oYXMta2V5KCRtYXAsICRrZXkpO1xuICAgIH1cblxuICAgIEBpZiAkX3JldHVybiB7XG4gICAgICAkbWFwOiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJF9zdG9wOiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG4iLCIvLyBTZXR0aW5nc1xuLy8gPT09PT09PT1cblxuLy8gVmVyc2lvblxuLy8gLS0tLS0tLVxuJHN1LXZlcnNpb246IDEuMTtcblxuXG4vLyBEZWZhdWx0IFNldHRpbmdzXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG4vLyBQUklWQVRFOiBUaGUgYmFzaWMgc2V0dGluZ3NcbiRzdXN5LWRlZmF1bHRzOiAoXG4gIGNvbHVtbnM6IDQsXG4gIGd1dHRlcnM6IC4yNSxcbik7XG5cblxuLy8gVXNlciBTZXR0aW5nc1xuLy8gLS0tLS0tLS0tLS0tLVxuLy8gLSBEZWZpbmUgdGhlICRzdXN5IHZhcmlhYmxlIHdpdGggYSBtYXAgb2YgeW91ciBvd24gc2V0dGluZ3MuXG4vLyAtIFNldCBFSVRIRVIgJGNvbHVtbi13aWR0aCBPUiAkY29udGFpbmVyXG4vLyAtIFVzZSAkY29sdW1uLXdpZHRoIGZvciBzdGF0aWMgbGF5b3V0c1xuJHN1c3k6ICgpICFkZWZhdWx0O1xuXG5cbi8vIFN1c3kgRGVmYXVsdHNcbi8vIC0tLS0tLS0tLS0tLS1cbi8vIFBSSVZBVEU6IEFkZCBkZWZhdWx0cyB0byBTdXN5XG5AbWl4aW4gc3VzeS1kZWZhdWx0cyhcbiAgJGRlZmF1bHRzXG4pIHtcbiAgJHN1c3ktZGVmYXVsdHM6IG1hcC1tZXJnZSgkc3VzeS1kZWZhdWx0cywgJGRlZmF1bHRzKSAhZ2xvYmFsO1xufVxuXG5cbi8vIFN1c3kgU2V0XG4vLyAtLS0tLS0tLVxuLy8gQ2hhbmdlIG9uZSBzZXR0aW5nXG4vLyAtICRrZXkgICA6IHNldHRpbmcgbmFtZVxuLy8gLSAkdmFsdWUgOiBzZXR0aW5nIHZhbHVlXG5AbWl4aW4gc3VzeS1zZXQoXG4gICRrZXktdmFsdWUuLi5cbikge1xuICAkc3VzeTogX3N1c3ktZGVlcC1zZXQoJHN1c3ksICRrZXktdmFsdWUuLi4pICFnbG9iYWw7XG59XG5cblxuLy8gU3VzeSBHZXRcbi8vIC0tLS0tLS0tXG4vLyBSZXR1cm4gb25lIHNldHRpbmcgZnJvbSBhIGdyaWRcbi8vIC0gJGtleSAgICAgOiA8a2V5d29yZD5cbi8vIC0gJGxheW91dCAgOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gc3VzeS1nZXQoXG4gICRrZXksXG4gICRsYXlvdXQ6IG1hcC1tZXJnZSgkc3VzeS1kZWZhdWx0cywgJHN1c3kpXG4pIHtcbiAgJGxheW91dDogcGFyc2UtZ3JpZCgkbGF5b3V0KTtcbiAgJF9vcHRpb25zOiAkbGF5b3V0ICRzdXN5ICRzdXN5LWRlZmF1bHRzO1xuICAkX2JyZWFrOiBmYWxzZTtcbiAgJF9yZXR1cm46IG51bGw7XG5cbiAgQGVhY2ggJG9wdCBpbiAkX29wdGlvbnMge1xuICAgIEBpZiB0eXBlLW9mKCRvcHQpID09IG1hcCBhbmQgbm90KCRfYnJlYWspIHtcbiAgICAgICRfa2V5c2V0OiBfc3VzeS1kZWVwLWhhcy1rZXkoJG9wdCwgJGtleS4uLik7XG4gICAgICBAaWYgJF9rZXlzZXQge1xuICAgICAgICAkX3JldHVybjogX3N1c3ktZGVlcC1nZXQoJG9wdCwgJGtleS4uLik7XG4gICAgICAgICRfYnJlYWs6IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkX3JldHVybjtcbn1cbiIsIi8vIE1hdGggVmFsaWRhdGlvblxuLy8gPT09PT09PT09PT09PT09XG5cblxuLy8gVmFsaWQgQ29sdW1uc1xuLy8gLS0tLS0tLS0tLS0tLVxuLy8gQ2hlY2sgdGhhdCBhIGNvbHVtbiBzZXR0aW5nIGlzIHZhbGlkLlxuQGZ1bmN0aW9uIHZhbGlkLWNvbHVtbnMoXG4gICRjb2x1bW5zLFxuICAkc2lsZW50OiBmYWxzZVxuKSB7XG4gICR0eXBlOiB0eXBlLW9mKCRjb2x1bW5zKTtcbiAgJHJldHVybjogbnVsbDtcblxuICBAaWYgJHR5cGUgPT0gbnVtYmVyIGFuZCB1bml0bGVzcygkY29sdW1ucykge1xuICAgICRyZXR1cm46ICRjb2x1bW5zO1xuICB9IEBlbHNlIGlmICR0eXBlID09IGxpc3Qge1xuICAgICRmYWlsOiBudWxsO1xuICAgIEBlYWNoICRjb2wgaW4gJGNvbHVtbnMge1xuICAgICAgQGlmIHR5cGUtb2YoJGNvbCkgPT0gbnVtYmVyIHtcbiAgICAgICAgJGZhaWw6ICRmYWlsIG9yIGlmKHVuaXRsZXNzKCRjb2wpLCBudWxsLCB0cnVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkZmFpbDogdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgJHJldHVybjogaWYoJGZhaWwsICRyZXR1cm4sICRjb2x1bW5zKTtcbiAgfVxuXG4gIEBpZiAkcmV0dXJuICE9ICRjb2x1bW5zIGFuZCBub3QoJHNpbGVudCkge1xuICAgICRyZXR1cm46IG51bGw7XG4gICAgJHdhcm46ICckY29sdW1ucyBtdXN0IGJlIGEgdW5pdGxlc3MgbnVtYmVyIG9yIGxpc3Qgb2YgdW5pdGxlc3MgbnVtYmVycy4nO1xuICAgIEB3YXJuICR3YXJuICsgJyBDdXJyZW50IHZhbHVlIFsjeyR0eXBlfV06ICN7JGNvbHVtbnN9JztcbiAgfVxuXG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuXG4vLyBWYWxpZCBHdXR0ZXJzXG4vLyAtLS0tLS0tLS0tLS0tXG4vLyBDaGVjayB0aGF0IGEgZ3V0dGVyIHNldHRpbmcgaXMgdmFsaWQuXG5AZnVuY3Rpb24gdmFsaWQtZ3V0dGVycyhcbiAgJGd1dHRlcnMsXG4gICRzaWxlbnQ6IGZhbHNlXG4pIHtcbiAgJHR5cGU6IHR5cGUtb2YoJGd1dHRlcnMpO1xuICAkcmV0dXJuOiBudWxsO1xuXG4gIEBpZiAkdHlwZSA9PSBudW1iZXIgYW5kIHVuaXRsZXNzKCRndXR0ZXJzKSB7XG4gICAgJHJldHVybjogJGd1dHRlcnM7XG4gIH0gQGVsc2UgaWYgbm90KCRzaWxlbnQpIHtcbiAgICAkd2FybjogJyRndXR0ZXJzIG11c3QgYmUgYSB1bml0bGVzcyBudW1iZXIuJztcbiAgICBAd2FybiAkd2FybiArICcgQ3VycmVudCB2YWx1ZSBbI3skdHlwZX1dOiAjeyRndXR0ZXJzfSc7XG4gIH1cblxuICBAcmV0dXJuICRyZXR1cm47XG59XG4iLCIvLyBDb2x1bW4gbWF0aFxuLy8gPT09PT09PT09PT1cblxuXG4vLyBJcyBTeW1tZXRyaWNhbFxuLy8gLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybnMgdHJ1ZSBpZiBhIGdyaWQgaXMgc3ltbWV0cmljYWwuXG4vLyAtIFskY29sdW1uc10gICA6IDxudW1iZXI+IHwgPGxpc3Q+XG5AZnVuY3Rpb24gaXMtc3ltbWV0cmljYWwoXG4gICRjb2x1bW5zOiBzdXN5LWdldChjb2x1bW5zKVxuKSB7XG4gICRjb2x1bW5zOiB2YWxpZC1jb2x1bW5zKCRjb2x1bW5zKTtcbiAgQHJldHVybiBpZih0eXBlLW9mKCRjb2x1bW5zKSA9PSBudW1iZXIsICRjb2x1bW5zLCBudWxsKTtcbn1cblxuXG4vLyBTdXN5IENvdW50XG4vLyAtLS0tLS0tLS0tXG4vLyBGaW5kIHRoZSBudW1iZXIgb2YgY29sdW1ucyBpbiBhIGdpdmVuIGxheW91dFxuLy8gLSBbJGNvbHVtbnNdICAgOiA8bnVtYmVyPiB8IDxsaXN0PlxuQGZ1bmN0aW9uIHN1c3ktY291bnQoXG4gICRjb2x1bW5zOiBzdXN5LWdldChjb2x1bW5zKVxuKSB7XG4gICRjb2x1bW5zOiB2YWxpZC1jb2x1bW5zKCRjb2x1bW5zKTtcbiAgQHJldHVybiBpcy1zeW1tZXRyaWNhbCgkY29sdW1ucykgb3IgbGVuZ3RoKCRjb2x1bW5zKTtcbn1cblxuXG4vLyBTdXN5IFN1bVxuLy8gLS0tLS0tLS1cbi8vIEZpbmQgdGhlIHRvdGFsIHN1bSBvZiBjb2x1bW4tdW5pdHMgaW4gYSBsYXlvdXRcbi8vIC0gWyRjb2x1bW5zXSAgIDogPG51bWJlcj4gfCA8bGlzdD5cbi8vIC0gWyRndXR0ZXJzXSAgIDogPHJhdGlvPlxuLy8gLSBbJHNwcmVhZF0gICAgOiBmYWxzZS9uYXJyb3cgfCB3aWRlIHwgd2lkZXJcbkBmdW5jdGlvbiBzdXN5LXN1bShcbiAgJGNvbHVtbnMgIDogc3VzeS1nZXQoY29sdW1ucyksXG4gICRndXR0ZXJzICA6IHN1c3ktZ2V0KGd1dHRlcnMpLFxuICAkc3ByZWFkICAgOiBmYWxzZVxuKSB7XG4gICRjb2x1bW5zOiB2YWxpZC1jb2x1bW5zKCRjb2x1bW5zKTtcbiAgJGd1dHRlcnM6IHZhbGlkLWd1dHRlcnMoJGd1dHRlcnMpO1xuXG4gICRzcHJlYWQ6IGlmKCRzcHJlYWQgPT0gd2lkZSwgMCwgaWYoJHNwcmVhZCA9PSB3aWRlciwgMSwgLTEpKTtcbiAgJGd1dHRlci1zdW06IChzdXN5LWNvdW50KCRjb2x1bW5zKSArICRzcHJlYWQpICogJGd1dHRlcnM7XG4gICRjb2x1bW4tc3VtOiBpcy1zeW1tZXRyaWNhbCgkY29sdW1ucyk7XG5cbiAgQGlmIG5vdCgkY29sdW1uLXN1bSkge1xuICAgIEBlYWNoICRjb2x1bW4gaW4gJGNvbHVtbnMge1xuICAgICAgJGNvbHVtbi1zdW06ICgkY29sdW1uLXN1bSBvciAwKSArICRjb2x1bW47XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkY29sdW1uLXN1bSArICRndXR0ZXItc3VtO1xufVxuXG5cbi8vIFN1c3kgU2xpY2Vcbi8vIC0tLS0tLS0tLS1cbi8vIFJldHVybiBhIHN1YnNldCBvZiBjb2x1bW5zIGF0IGEgZ2l2ZW4gbG9jYXRpb24uXG4vLyAtICRzcGFuICAgICAgICA6IDxudW1iZXI+XG4vLyAtICRsb2NhdGlvbiAgICA6IDxudW1iZXI+XG4vLyAtIFskY29sdW1uc10gICA6IDxudW1iZXI+IHwgPGxpc3Q+XG5AZnVuY3Rpb24gc3VzeS1zbGljZShcbiAgJHNwYW4sXG4gICRsb2NhdGlvbixcbiAgJGNvbHVtbnM6IHN1c3ktZ2V0KGNvbHVtbnMpXG4pIHtcbiAgJGNvbHVtbnM6IHZhbGlkLWNvbHVtbnMoJGNvbHVtbnMpO1xuICAkc3ViLWNvbHVtbnM6ICRzcGFuO1xuXG4gIEBpZiBub3QoaXMtc3ltbWV0cmljYWwoJGNvbHVtbnMpKSB7XG4gICAgJGxvY2F0aW9uOiAkbG9jYXRpb24gb3IgMTtcbiAgICAkc3ViLWNvbHVtbnM6ICgpO1xuICAgIEBmb3IgJGkgZnJvbSAkbG9jYXRpb24gdG8gKCRsb2NhdGlvbiArICRzcGFuKSB7XG4gICAgICAkc3ViLWNvbHVtbnM6IGFwcGVuZCgkc3ViLWNvbHVtbnMsIG50aCgkY29sdW1ucywgJGkpKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdWItY29sdW1ucztcbn1cblxuXG4vLyBTdXN5XG4vLyAtLS0tXG4vLyBGaW5kIHRoZSBzdW0gb2YgYSBjb2x1bW4tc3Bhbi5cbi8vIC0gJHNwYW4gICAgICAgIDogPG51bWJlcj5cbi8vIC0gJGxvY2F0aW9uICAgIDogPG51bWJlcj5cbi8vIC0gWyRjb2x1bW5zXSAgIDogPG51bWJlcj4gfCA8bGlzdD5cbi8vIC0gWyRndXR0ZXJzXSAgIDogPHJhdGlvPlxuLy8gLSBbJHNwcmVhZF0gICAgOiBmYWxzZS9uYXJyb3cgfCB3aWRlIHwgd2lkZXJcbkBmdW5jdGlvbiBzdXN5KFxuICAkc3BhbixcbiAgJGxvY2F0aW9uICAgICA6IGZhbHNlLFxuICAkY29sdW1ucyAgICAgIDogc3VzeS1nZXQoY29sdW1ucyksXG4gICRndXR0ZXJzICAgICAgOiBzdXN5LWdldChndXR0ZXJzKSxcbiAgJHNwcmVhZCAgICAgICA6IGZhbHNlXG4pIHtcbiAgJGNvbHVtbnM6IHZhbGlkLWNvbHVtbnMoJGNvbHVtbnMpO1xuICAkZ3V0dGVyczogdmFsaWQtZ3V0dGVycygkZ3V0dGVycyk7XG4gICRzcGFuOiBzdXN5LXNsaWNlKCRzcGFuLCAkbG9jYXRpb24sICRjb2x1bW5zKTtcblxuICBAcmV0dXJuIHN1c3ktc3VtKCRzcGFuLCAkZ3V0dGVycywgJHNwcmVhZCk7XG59XG4iLCIvLyBGbG9hdCBBUElcbi8vID09PT09PT09PVxuXG5AaW1wb3J0IFwic2hhcmVkXCI7XG5cbkBpbXBvcnQgXCJmbG9hdC9jb250YWluZXJcIjtcbkBpbXBvcnQgXCJmbG9hdC9zcGFuXCI7XG5AaW1wb3J0IFwiZmxvYXQvZW5kXCI7XG5AaW1wb3J0IFwiZmxvYXQvaXNvbGF0ZVwiO1xuIiwiLy8gU2hhcmVkIEFQSVxuLy8gPT09PT09PT09PVxuXG5AaW1wb3J0IFwic3VwcG9ydFwiO1xuXG5AaW1wb3J0IFwic2hhcmVkL2luc3BlY3RcIjtcbkBpbXBvcnQgXCJzaGFyZWQvb3V0cHV0XCI7XG5AaW1wb3J0IFwic2hhcmVkL2RpcmVjdGlvblwiO1xuQGltcG9ydCBcInNoYXJlZC9iYWNrZ3JvdW5kXCI7XG5AaW1wb3J0IFwic2hhcmVkL2NvbnRhaW5lclwiO1xuQGltcG9ydCBcInNoYXJlZC9tYXJnaW5zXCI7XG5AaW1wb3J0IFwic2hhcmVkL3BhZGRpbmdcIjtcblxuXG5cbiIsIi8vIFN1c3kgQnJvd3NlciBTdXBwb3J0XG4vLyA9PT09PT09PT09PT09PT09PT09PVxuXG5AaW1wb3J0IFwic3VwcG9ydC9zdXBwb3J0XCI7XG5AaW1wb3J0IFwic3VwcG9ydC9wcmVmaXhcIjtcbkBpbXBvcnQgXCJzdXBwb3J0L2JhY2tncm91bmRcIjtcbkBpbXBvcnQgXCJzdXBwb3J0L2JveC1zaXppbmdcIjtcbkBpbXBvcnQgXCJzdXBwb3J0L3JlbVwiO1xuQGltcG9ydCBcInN1cHBvcnQvY2xlYXJmaXhcIjtcbiIsIi8vIEJyb3dzZXIgU3VwcG9ydFxuLy8gPT09PT09PT09PT09PT09XG5cbi8vIFN1c3kgU3VwcG9ydCBEZWZhdWx0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBzdXN5LWRlZmF1bHRzKChcbiAgdXNlLWN1c3RvbTogKFxuICAgIGNsZWFyZml4OiBmYWxzZSxcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB0cnVlLFxuICAgIGJhY2tncm91bmQtb3B0aW9uczogZmFsc2UsXG4gICAgYnJlYWtwb2ludDogdHJ1ZSxcbiAgICBib3gtc2l6aW5nOiB0cnVlLFxuICAgIHJlbTogdHJ1ZSxcbiAgKSxcbikpO1xuXG5cbi8vIFN1c3kgU3VwcG9ydCBbbWl4aW5dXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2VuZCBwcm9wZXJ0eS12YWx1ZSBwYWlycyB0byB0aGUgcHJvcGVyIHN1cHBvcnQgbW9kdWxlcy5cbi8vIC0gJHByb3AgIDogPGNzcyBwcm9wZXJ0eT5cbi8vIC0gJHZhbCAgIDogPGNzcyB2YWx1ZT5cbkBtaXhpbiBzdXN5LXN1cHBvcnQoXG4gICRwcm9wLFxuICAkdmFsXG4pIHtcbiAgLy8gQmFja2dyb3VuZCBTdXBwb3J0XG4gIEBpZiAkcHJvcCA9PSBiYWNrZ3JvdW5kLWltYWdlIHtcbiAgICBAaW5jbHVkZSBzdXN5LWJhY2tncm91bmQtaW1hZ2UoJHZhbCk7XG4gIH0gQGVsc2UgaWYgJHByb3AgPT0gYmFja2dyb3VuZC1zaXplIHtcbiAgICBAaW5jbHVkZSBzdXN5LWJhY2tncm91bmQtc2l6ZSgkdmFsKTtcbiAgfSBAZWxzZSBpZiAkcHJvcCA9PSBiYWNrZ3JvdW5kLW9yaWdpbiB7XG4gICAgQGluY2x1ZGUgc3VzeS1iYWNrZ3JvdW5kLW9yaWdpbigkdmFsKTtcbiAgfSBAZWxzZSBpZiAkcHJvcCA9PSBiYWNrZ3JvdW5kLWNsaXAge1xuICAgIEBpbmNsdWRlIHN1c3ktYmFja2dyb3VuZC1jbGlwKCR2YWwpO1xuICB9XG5cbiAgLy8gQm94LVNpemluZyBTdXBwb3J0XG4gIEBlbHNlIGlmICRwcm9wID09IGJveC1zaXppbmcge1xuICAgIEBpbmNsdWRlIHN1c3ktYm94LXNpemluZygkdmFsKTtcbiAgfVxuXG4gIC8vIFJlbSBTdXBwb3J0XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBzdXN5LXJlbSgkcHJvcCwgJHZhbCk7XG4gIH1cbn1cblxuXG4vLyBTdXN5IFN1cHBvcnQgW2Z1bmN0aW9uXVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENoZWNrIGZvciBzdXBwb3J0IG9mIGEgZmVhdHVyZS5cbi8vIC0gJGZlYXR1cmUgICAgICAgOiA8c3RyaW5nPlxuLy8gICAgICAgICAgICAgICAgICAgIC0gZS5nIFwicmVtXCIgb3IgXCJib3gtc2l6aW5nXCJcbi8vIC0gJHJlcXVpcmVtZW50cyAgOiA8bWFwPlxuLy8gICAgICAgICAgICAgICAgICAgIC0gZS5nICh2YXJpYWJsZTogcmVtLXdpdGgtcHgtZmFsbGJhY2ssIG1peGluOiByZW0pXG4vLyAtICR3YXJuICAgICAgICAgIDogPGJvb2w+XG5AZnVuY3Rpb24gc3VzeS1zdXBwb3J0KFxuICAkZmVhdHVyZSxcbiAgJHJlcXVpcmVtZW50czogKCksXG4gICR3YXJuOiB0cnVlXG4pIHtcbiAgJF9zdXBwb3J0OiBzdXN5LWdldCh1c2UtY3VzdG9tICRmZWF0dXJlKTtcblxuICBAaWYgJF9zdXBwb3J0IHtcbiAgICAkX2ZhaWw6IGZhbHNlO1xuXG4gICAgQGVhY2ggJF90eXBlLCAkX3JlcSBpbiAkcmVxdWlyZW1lbnRzIHtcbiAgICAgIEBlYWNoICRfaSBpbiAkX3JlcSB7XG4gICAgICAgICRfcGFzczogY2FsbCh1bnF1b3RlKFwiI3skX3R5cGV9LWV4aXN0c1wiKSwgJF9pKTtcblxuICAgICAgICBAaWYgbm90KCRfcGFzcykge1xuICAgICAgICAgICRfZmFpbDogdHJ1ZTtcbiAgICAgICAgICBAaWYgJHdhcm4ge1xuICAgICAgICAgICAgQHdhcm4gXCJZb3UgcmVxdWVzdGVkIGN1c3RvbSBzdXBwb3J0IG9mICN7JGZlYXR1cmV9LCBidXQgdGhlICN7JF9pfSAjeyRfdHlwZX0gaXMgbm90IGF2YWlsYWJsZS5cIjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkX3N1cHBvcnQ6IGlmKCRfZmFpbCwgZmFsc2UsICRfc3VwcG9ydCk7XG4gIH1cblxuICBAcmV0dXJuICRfc3VwcG9ydDtcbn1cbiIsIi8vIFN1c3kgUHJlZml4XG4vLyA9PT09PT09PT09PVxuXG4vLyBQcmVmaXhcbi8vIC0tLS0tLVxuLy8gT3V0cHV0IHNpbXBsZSBwcmVmaXhlZCBwcm9wZXJ0aWVzLlxuLy8gLSAkcHJvcCAgICAgIDogPGNzcyBwcm9wZXJ0eT5cbi8vIC0gJHZhbCAgICAgICA6IDxjc3MgdmFsdWU+XG4vLyAtIFskcHJlZml4XSAgOiA8YnJvd3NlciBwcmVmaXggbGlzdD5cbkBtaXhpbiBzdXN5LXByZWZpeChcbiAgJHByb3AsXG4gICR2YWwsXG4gICRwcmVmaXg6IG9mZmljaWFsXG4pIHtcbiAgQGVhY2ggJGZpeCBpbiAkcHJlZml4IHtcbiAgICAkZml4OiBpZigkZml4ID09IG9mZmljaWFsIG9yIG5vdCgkZml4KSwgJHByb3AsICctI3skZml4fS0jeyRwcm9wfScpO1xuICAgIEBpbmNsdWRlIHN1c3ktcmVtKCRmaXgsICR2YWwpO1xuICB9XG59XG4iLCIvLyBCYWNrZ3JvdW5kIFByb3BlcnRpZXNcbi8vID09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBTdXN5IEJhY2tncm91bmQgSW1hZ2Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN1cHBvcnQgbWl4aW4sIG9yIHByb3ZpZGUgYSBzaW1wbGUgZmFsbGJhY2suXG4vLyAtICRpbWFnZTogPGJhY2tncm91bmQtaW1hZ2U+XG5AbWl4aW4gc3VzeS1iYWNrZ3JvdW5kLWltYWdlKFxuICAkaW1hZ2Vcbikge1xuICBAaWYgc3VzeS1zdXBwb3J0KGJhY2tncm91bmQtaW1hZ2UsIChtaXhpbjogYmFja2dyb3VuZC1pbWFnZSksICR3YXJuOiBmYWxzZSkge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtaW1hZ2UoJGltYWdlLi4uKTtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogJGltYWdlO1xuICB9XG59XG5cbi8vIFN1c3kgQmFja2dyb3VuZCBTaXplXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENoZWNrIGZvciBhbiBleGlzdGluZyBzdXBwb3J0IG1peGluLCBvciBwcm92aWRlIGEgc2ltcGxlIGZhbGxiYWNrLlxuLy8gLSAkaW1hZ2U6IDxiYWNrZ3JvdW5kLXNpemU+XG5AbWl4aW4gc3VzeS1iYWNrZ3JvdW5kLXNpemUoXG4gICRzaXplXG4pIHtcbiAgQGlmIHN1c3ktc3VwcG9ydChiYWNrZ3JvdW5kLW9wdGlvbnMsIChtaXhpbjogYmFja2dyb3VuZC1zaXplKSkge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtc2l6ZSgkc2l6ZSk7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHNpemU7XG4gIH1cbn1cblxuLy8gU3VzeSBCYWNrZ3JvdW5kIE9yaWdpblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN1cHBvcnQgbWl4aW4sIG9yIHByb3ZpZGUgYSBzaW1wbGUgZmFsbGJhY2suXG4vLyAtICRpbWFnZTogPGJhY2tncm91bmQtb3JpZ2luPlxuQG1peGluIHN1c3ktYmFja2dyb3VuZC1vcmlnaW4oXG4gICRvcmlnaW5cbikge1xuICBAaWYgc3VzeS1zdXBwb3J0KGJhY2tncm91bmQtb3B0aW9ucywgKG1peGluOiBiYWNrZ3JvdW5kLW9yaWdpbikpIHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLW9yaWdpbigkb3JpZ2luKTtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46ICRvcmlnaW47XG4gIH1cbn1cblxuLy8gU3VzeSBCYWNrZ3JvdW5kIENsaXBcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDaGVjayBmb3IgYW4gZXhpc3Rpbmcgc3VwcG9ydCBtaXhpbiwgb3IgcHJvdmlkZSBhIHNpbXBsZSBmYWxsYmFjay5cbi8vIC0gJGltYWdlOiA8YmFja2dyb3VuZC1jbGlwPlxuQG1peGluIHN1c3ktYmFja2dyb3VuZC1jbGlwKFxuICAkY2xpcFxuKSB7XG4gIEBpZiBzdXN5LXN1cHBvcnQoYmFja2dyb3VuZC1vcHRpb25zLCAobWl4aW46IGJhY2tncm91bmQtY2xpcCkpIHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWNsaXAoJGNsaXApO1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6ICRjbGlwO1xuICB9XG59XG4iLCIvLyBCb3ggU2l6aW5nXG4vLyA9PT09PT09PT09XG5cbi8vIEJveCBTaXppbmdcbi8vIC0tLS0tLS0tLS1cbi8vIENoZWNrIGZvciBhbiBleGlzdGluZyBzdXBwb3J0IG1peGluLCBvciBwcm92aWRlIGEgc2ltcGxlIGZhbGxiYWNrLlxuLy8gLSAkbW9kZWw6IDxib3gtc2l6aW5nPlxuQG1peGluIHN1c3ktYm94LXNpemluZyhcbiAgJG1vZGVsOiBjb250ZW50LWJveFxuKSB7XG4gIEBpZiAkbW9kZWwge1xuICAgIEBpZiBzdXN5LXN1cHBvcnQoYm94LXNpemluZywgKG1peGluOiBib3gtc2l6aW5nKSwgJHdhcm46IGZhbHNlKSB7XG4gICAgICBAaW5jbHVkZSBib3gtc2l6aW5nKCRtb2RlbCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcHJlZml4OiAobW96LCB3ZWJraXQsIG9mZmljaWFsKTtcbiAgICAgIEBpbmNsdWRlIHN1c3ktcHJlZml4KGJveC1zaXppbmcsICRtb2RlbCwgJHByZWZpeCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyByZW0gU3VwcG9ydFxuLy8gPT09PT09PT09PT1cblxuLy8gcmVtXG4vLyAtLS1cbi8vIENoZWNrIGZvciBhbiBleGlzdGluZyBzdXBwb3J0IG1peGluLCBvciBvdXRwdXQgZGlyZWN0bHkuXG4vLyAtICRwcm9wICA6IDxjc3MgcHJvcGVydHk+XG4vLyAtICR2YWwgICA6IDxjc3MgdmFsdWU+XG5AbWl4aW4gc3VzeS1yZW0oXG4gICRwcm9wLFxuICAkdmFsXG4pIHtcbiAgJF9yZXFzOiAoXG4gICAgdmFyaWFibGU6IHJoeXRobS11bml0IHJlbS13aXRoLXB4LWZhbGxiYWNrLFxuICAgIG1peGluOiByZW0sXG4gICk7XG4gIEBpZiBzdXN5LXN1cHBvcnQocmVtLCAkX3JlcXMsICR3YXJuOiBmYWxzZSkgYW5kICRyaHl0aG0tdW5pdCA9PSByZW0ge1xuICAgIEBpbmNsdWRlIHJlbSgkcHJvcCwgJHZhbCk7XG4gIH0gQGVsc2Uge1xuICAgICN7JHByb3B9OiAkdmFsO1xuICB9XG59XG4iLCIvLyBTdXN5IEZhbGxiYWNrIENsZWFyZml4XG4vLyA9PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ2xlYXJmaXhcbi8vIC0tLS0tLS0tXG4vLyBDaGVjayBmb3IgYW4gZXhpc3Rpbmcgc3VwcG9ydCBtaXhpbiwgb3IgcHJvdmlkZSBhIHNpbXBsZSBmYWxsYmFjay5cbkBtaXhpbiBzdXN5LWNsZWFyZml4IHtcbiAgQGlmIHN1c3ktc3VwcG9ydChjbGVhcmZpeCwgKG1peGluOiBjbGVhcmZpeCkpIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfSBAZWxzZSB7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG59XG4iLCIvLyBEZWJ1Z2dpbmdcbi8vID09PT09PT09PVxuXG4vLyBTdXN5IEluc3BlY3Rcbi8vIC0tLS0tLS0tLS0tLVxuLy8gT3V0cHV0IGFyZ3VtZW50cyBwYXNzZWQgdG8gYSBpbnNwZWN0LlxuLy8gLSAkbWl4aW4gIDogPHN1c3kgbWl4aW4+XG4vLyAtICRpbnNwZWMgICA6IDxtaXhpbiBhcmd1bWVudHM+XG5cbkBtaXhpbiBzdXN5LWluc3BlY3QoXG4gICRtaXhpbixcbiAgJGluc3BlY3Rcbikge1xuICAkc2hvdzogZmFsc2U7XG5cbiAgQGVhY2ggJGl0ZW0gaW4gJGluc3BlY3Qge1xuICAgIEBpZiBpbmRleCgkaXRlbSwgaW5zcGVjdCkge1xuICAgICAgJHNob3c6IHRydWU7XG4gICAgfVxuICB9XG5cbiAgQGlmICRzaG93IG9yIHN1c3ktZ2V0KGRlYnVnIGluc3BlY3QpIHtcbiAgICAtc3VzeS0jeyRtaXhpbn06IGluc3BlY3QoJGluc3BlY3QpO1xuICB9XG59XG4iLCIvLyBPdXRwdXRcbi8vID09PT09PVxuXG4vLyBPdXRwdXRcbi8vIC0tLS0tLVxuLy8gT3V0cHV0IENTUyB3aXRoIHByb3BlciBicm93c2VyIHN1cHBvcnQuXG4vLyAtICRzdHlsZXMgIDogPG1hcCBvZiBjc3MgcHJvcGVydHktdmFsdWUgcGFpcnM+XG5AbWl4aW4gb3V0cHV0KFxuICAkc3R5bGVzXG4pIHtcbiAgQGVhY2ggJHByb3AsICR2YWwgaW4gJHN0eWxlcyB7XG4gICAgQGluY2x1ZGUgc3VzeS1zdXBwb3J0KCRwcm9wLCAkdmFsKTtcbiAgfVxufVxuIiwiLy8gRGlyZWN0aW9uIEhlbHBlcnNcbi8vID09PT09PT09PT09PT09PT09XG5cbi8vIFN1c3kgRmxvdyBEZWZhdWx0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtIFBSSVZBVEVcbkBpbmNsdWRlIHN1c3ktZGVmYXVsdHMoKFxuICBmbG93OiBsdHIsXG4pKTtcblxuLy8gR2V0IERpcmVjdGlvblxuLy8gLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHRoZSAnZnJvbScgb3IgJ3RvJyBkaXJlY3Rpb24gb2YgYSBsdHIgb3IgcnRsIGZsb3cuXG4vLyAtIFskZmxvd10gIDogbHRyIHwgcnRsXG4vLyAtIFska2V5XSAgIDogZnJvbSB8IHRvXG5AZnVuY3Rpb24gZ2V0LWRpcmVjdGlvbihcbiAgJGZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGZsb3cpLFxuICAka2V5OiBmcm9tXG4pIHtcbiAgJHJldHVybjogaWYoJGZsb3cgPT0gcnRsLCAoZnJvbTogcmlnaHQsIHRvOiBsZWZ0KSwgKGZyb206IGxlZnQsIHRvOiByaWdodCkpO1xuICBAcmV0dXJuIG1hcC1nZXQoJHJldHVybiwgJGtleSk7XG59XG5cbi8vIFRvXG4vLyAtLVxuLy8gUmV0dXJuIHRoZSAndG8nIGRpcmVjdGlvbiBvZiBhIGZsb3dcbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBmdW5jdGlvbiB0byhcbiAgJGZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGZsb3cpXG4pIHtcbiAgQHJldHVybiBnZXQtZGlyZWN0aW9uKCRmbG93LCB0byk7XG59XG5cbi8vIEZyb21cbi8vIC0tLS1cbi8vIFJldHVybiB0aGUgJ2Zyb20nIGRpcmVjdGlvbiBvZiBhIGZsb3dcbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBmdW5jdGlvbiBmcm9tKFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdylcbikge1xuICBAcmV0dXJuIGdldC1kaXJlY3Rpb24oJGZsb3csIGZyb20pO1xufVxuIiwiLy8gR3JpZCBCYWNrZ3JvdW5kIEFQSVxuLy8gPT09PT09PT09PT09PT09PT09PVxuLy8gLSBTdWItcGl4ZWwgcm91bmRpbmcgY2FuIGxlYWQgdG8gc2V2ZXJhbCBwaXhlbHMgdmFyaWF0aW9uIGJldHdlZW4gYnJvd3NlcnMuXG5cbi8vIEdyaWQgQmFja2dyb3VuZCBPdXRwdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gJGltYWdlOiBiYWNrZ3JvdW5kLWltYWdlXG4vLyAtICRzaXplOiBiYWNrZ3JvdW5kLXNpemVcbi8vIC0gJGNsaXA6IGJhY2tncm91bmQtY2xpcFxuLy8gLSBbJGZsb3ddOiBsdHIgfCBydGxcbkBtaXhpbiBiYWNrZ3JvdW5kLWdyaWQtb3V0cHV0IChcbiAgJGltYWdlLFxuICAkc2l6ZTogbnVsbCxcbiAgJGNsaXA6IG51bGwsXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KVxuKSB7XG4gICRvdXRwdXQ6IChcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkaW1hZ2UsXG4gICAgYmFja2dyb3VuZC1zaXplOiAkc2l6ZSxcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogJGNsaXAsXG4gICAgYmFja2dyb3VuZC1jbGlwOiAkY2xpcCxcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBmcm9tKCRmbG93KSB0b3AsXG4gICk7XG5cbiAgQGluY2x1ZGUgb3V0cHV0KCRvdXRwdXQpO1xufVxuIiwiLy8gU2hhcmVkIENvbnRhaW5lciBBUElcbi8vID09PT09PT09PT09PT09PT09PT09XG5cbi8vIENvbnRhaW5lciBPdXRwdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gWyR3aWR0aF0gICAgICAgICA6IDxsZW5ndGg+XG4vLyAtIFskanVzdGlmeV0gICAgICAgOiBsZWZ0IHwgY2VudGVyIHwgcmlnaHRcbi8vIC0gWyRtYXRoXSAgICAgICAgICA6IGZsdWlkIHwgc3RhdGljXG5AbWl4aW4gY29udGFpbmVyLW91dHB1dChcbiAgJHdpZHRoLFxuICAkanVzdGlmeTogYXV0byBhdXRvLFxuICAkcHJvcGVydHk6IG1heC13aWR0aFxuKSB7XG4gICRvdXRwdXQ6IChcbiAgICAjeyRwcm9wZXJ0eX06ICR3aWR0aCBvciAxMDAlLFxuICAgIG1hcmdpbi1sZWZ0OiBudGgoJGp1c3RpZnksIDEpLFxuICAgIG1hcmdpbi1yaWdodDogbnRoKCRqdXN0aWZ5LCAyKSxcbiAgKTtcblxuICBAaW5jbHVkZSBvdXRwdXQoJG91dHB1dCk7XG59XG4iLCIvLyBNYXJnaW5zIEFQSVxuLy8gPT09PT09PT09PT1cblxuLy8gTWFyZ2luIE91dHB1dFxuLy8gLS0tLS0tLS0tLS0tLVxuLy8gLSAkYmVmb3JlICA6IDxsZW5ndGg+XG4vLyAtICRhZnRlciAgIDogPGxlbmd0aD5cbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBtaXhpbiBtYXJnaW4tb3V0cHV0KFxuICAkYmVmb3JlLFxuICAkYWZ0ZXIsXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KVxuKSB7XG4gICR0bzogdG8oJGZsb3cpO1xuICAkZnJvbTogZnJvbSgkZmxvdyk7XG5cbiAgJG91dHB1dDogKFxuICAgIG1hcmdpbi0jeyRmcm9tfTogJGJlZm9yZSxcbiAgICBtYXJnaW4tI3skdG99OiAkYWZ0ZXIsXG4gICk7XG5cbiAgQGluY2x1ZGUgb3V0cHV0KCRvdXRwdXQpO1xufVxuIiwiLy8gUGFkZGluZyBBUElcbi8vID09PT09PT09PT09XG5cbi8vIFBhZGRpbmcgT3V0cHV0XG4vLyAtLS0tLS0tLS0tLS0tLVxuLy8gLSAkYmVmb3JlICA6IDxsZW5ndGg+XG4vLyAtICRhZnRlciAgIDogPGxlbmd0aD5cbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBtaXhpbiBwYWRkaW5nLW91dHB1dChcbiAgJGJlZm9yZSxcbiAgJGFmdGVyLFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdylcbikge1xuICAkdG86IHRvKCRmbG93KTtcbiAgJGZyb206IGZyb20oJGZsb3cpO1xuXG4gICRvdXRwdXQ6IChcbiAgICBwYWRkaW5nLSN7JGZyb219OiAkYmVmb3JlLFxuICAgIHBhZGRpbmctI3skdG99OiAkYWZ0ZXIsXG4gICk7XG5cbiAgQGluY2x1ZGUgb3V0cHV0KCRvdXRwdXQpO1xufVxuIiwiLy8gRmxvYXQgQ29udGFpbmVyIEFQSVxuLy8gPT09PT09PT09PT09PT09PT09PVxuXG4vLyBGbG9hdCBDb250YWluZXJcbi8vIC0tLS0tLS0tLS0tLS0tLVxuLy8gLSBbJHdpZHRoXSAgICAgICAgIDogPGxlbmd0aD5cbi8vIC0gWyRqdXN0aWZ5XSAgICAgICA6IGxlZnQgfCBjZW50ZXIgfCByaWdodFxuLy8gLSBbJG1hdGhdICAgOiBmbHVpZCB8IHN0YXRpY1xuQG1peGluIGZsb2F0LWNvbnRhaW5lcihcbiAgJHdpZHRoLFxuICAkanVzdGlmeTogYXV0byBhdXRvLFxuICAkcHJvcGVydHk6IG1heC13aWR0aFxuKSB7XG4gIEBpbmNsdWRlIHN1c3ktY2xlYXJmaXg7XG4gIEBpbmNsdWRlIGNvbnRhaW5lci1vdXRwdXQoJHdpZHRoLCAkanVzdGlmeSwgJHByb3BlcnR5KTtcbn1cbiIsIi8vIEZsb2F0IFNwYW4gQVBJXG4vLyA9PT09PT09PT09PT09PVxuXG4vLyBGbG9hdCBTcGFuIE91dHB1dFxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gJHdpZHRoICAgICAgICAgICAgIDogPGxlbmd0aD5cbi8vIC0gWyRmbG9hdF0gICAgICAgICAgIDogZnJvbSB8IHRvXG4vLyAtIFskbWFyZ2luLWJlZm9yZV0gICA6IDxsZW5ndGg+XG4vLyAtIFskbWFyZ2luLWFmdGVyXSAgICA6IDxsZW5ndGg+XG4vLyAtIFskcGFkZGluZy1iZWZvcmVdICA6IDxsZW5ndGg+XG4vLyAtIFskcGFkZGluZy1hZnRlcl0gICA6IDxsZW5ndGg+XG4vLyAtIFskZmxvd10gICAgICAgICAgICA6IGx0ciB8IHJ0bFxuQG1peGluIGZsb2F0LXNwYW4tb3V0cHV0KFxuICAkd2lkdGgsXG4gICRmbG9hdCAgICAgICAgICAgIDogZnJvbSxcbiAgJG1hcmdpbi1iZWZvcmUgICAgOiBudWxsLFxuICAkbWFyZ2luLWFmdGVyICAgICA6IG51bGwsXG4gICRwYWRkaW5nLWJlZm9yZSAgIDogbnVsbCxcbiAgJHBhZGRpbmctYWZ0ZXIgICAgOiBudWxsLFxuICAkZmxvdyAgICAgICAgICAgICA6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGZsb3cpXG4pIHtcbiAgJHRvICAgICA6IHRvKCRmbG93KTtcbiAgJGZyb20gICA6IGZyb20oJGZsb3cpO1xuXG4gICRvdXRwdXQ6IChcbiAgICB3aWR0aDogJHdpZHRoLFxuICAgIGZsb2F0OiBpZigkZmxvYXQgPT0gdG8sICR0bywgbnVsbCkgb3IgaWYoJGZsb2F0ID09IGZyb20sICRmcm9tLCBudWxsKSxcbiAgICBtYXJnaW4tI3skZnJvbX06ICRtYXJnaW4tYmVmb3JlLFxuICAgIG1hcmdpbi0jeyR0b306ICRtYXJnaW4tYWZ0ZXIsXG4gICAgcGFkZGluZy0jeyRmcm9tfTogJHBhZGRpbmctYmVmb3JlLFxuICAgIHBhZGRpbmctI3skdG99OiAkcGFkZGluZy1hZnRlcixcbiAgKTtcblxuICBAaW5jbHVkZSBvdXRwdXQoJG91dHB1dCk7XG59XG4iLCIvLyBGbG9hdCBFbmRzIEFQSVxuLy8gPT09PT09PT09PT09PT1cblxuLy8gU3VzeSBFbmQgRGVmYXVsdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtIFBSSVZBVEVcbkBpbmNsdWRlIHN1c3ktZGVmYXVsdHMoKFxuICBsYXN0LWZsb3c6IHRvLFxuKSk7XG5cbi8vIEZsb2F0IExhc3Rcbi8vIC0tLS0tLS0tLS1cbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBtaXhpbiBmbG9hdC1sYXN0KFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdyksXG4gICRsYXN0LWZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGxhc3QtZmxvdyksXG4gICRtYXJnaW46IDBcbikge1xuICAkdG86IHRvKCRmbG93KTtcblxuICAkb3V0cHV0OiAoXG4gICAgZmxvYXQ6IGlmKCRsYXN0LWZsb3cgPT0gdG8sICR0bywgbnVsbCksXG4gICAgbWFyZ2luLSN7JHRvfTogJG1hcmdpbixcbiAgKTtcblxuICBAaW5jbHVkZSBvdXRwdXQoJG91dHB1dCk7XG59XG5cbi8vIEZsb2F0IEZpcnN0XG4vLyAtLS0tLS0tLS0tLVxuLy8gLSBbJGZsb3ddICA6IGx0ciB8IHJ0bFxuQG1peGluIGZsb2F0LWZpcnN0KFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdylcbikge1xuICAkb3V0cHV0OiAoXG4gICAgbWFyZ2luLSN7ZnJvbSgkZmxvdyl9OiAwLFxuICApO1xuXG4gIEBpbmNsdWRlIG91dHB1dCgkb3V0cHV0KTtcbn1cbiIsIi8vIEZsb2F0IElzb2xhdGlvbiBBUElcbi8vID09PT09PT09PT09PT09PT09PT1cblxuLy8gSXNvbGF0ZSBPdXRwdXRcbi8vIC0tLS0tLS0tLS0tLS0tXG4vLyAtICRwdXNoICAgIDogPGxlbmd0aD5cbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBtaXhpbiBpc29sYXRlLW91dHB1dChcbiAgJHB1c2gsXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KVxuKSB7XG4gICR0bzogdG8oJGZsb3cpO1xuICAkZnJvbTogZnJvbSgkZmxvdyk7XG5cbiAgJG91dHB1dDogKFxuICAgIGZsb2F0OiAkZnJvbSxcbiAgICBtYXJnaW4tI3skZnJvbX06ICRwdXNoLFxuICAgIG1hcmdpbi0jeyR0b306IC0xMDAlLFxuICApO1xuXG4gIEBpbmNsdWRlIG91dHB1dCgkb3V0cHV0KTtcbn1cbiIsIi8vIFN1c3kgU2V0dGluZ3Ncbi8vID09PT09PT09PT09PT1cblxuLy8gU3VzeSBMYW5ndWFnZSBEZWZhdWx0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLSBQUklWQVRFXG5AaW5jbHVkZSBzdXN5LWRlZmF1bHRzKChcbiAgY29udGFpbmVyOiBhdXRvLFxuICBtYXRoOiBmbHVpZCxcbiAgb3V0cHV0OiBmbG9hdCxcbiAgY29udGFpbmVyLXBvc2l0aW9uOiBjZW50ZXIsXG4gIGd1dHRlci1wb3NpdGlvbjogYWZ0ZXIsXG4gIGdsb2JhbC1ib3gtc2l6aW5nOiBjb250ZW50LWJveCxcbiAgZGVidWc6IChcbiAgICBpbWFnZTogaGlkZSxcbiAgICBjb2xvcjogcmdiYSgjNjZmLCAuMjUpLFxuICAgIG91dHB1dDogYmFja2dyb3VuZCxcbiAgICB0b2dnbGU6IHRvcCByaWdodCxcbiAgKSxcbikpO1xuXG5cbi8vIFZhbGlkIEtleXdvcmQgVmFsdWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLSBQUklWQVRFOiBET05UJ1QgVE9VQ0hcbiRzdXN5LWtleXdvcmRzOiAoXG4gIGNvbnRhaW5lcjogYXV0byxcbiAgbWF0aDogc3RhdGljIGZsdWlkLFxuICBvdXRwdXQ6IGlzb2xhdGUgZmxvYXQsXG4gIGNvbnRhaW5lci1wb3NpdGlvbjogbGVmdCBjZW50ZXIgcmlnaHQsXG4gIGZsb3c6IGx0ciBydGwsXG4gIGd1dHRlci1wb3NpdGlvbjogYmVmb3JlIGFmdGVyIHNwbGl0IGluc2lkZSBpbnNpZGUtc3RhdGljLFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94IGNvbnRlbnQtYm94LFxuICBzcGFuOiBmdWxsLFxuICBlZGdlOiBmaXJzdCBhbHBoYSBsYXN0IG9tZWdhIGZ1bGwsXG4gIHNwcmVhZDogbmFycm93IHdpZGUgd2lkZXIsXG4gIGd1dHRlci1vdmVycmlkZTogbm8tZ3V0dGVycyBuby1ndXR0ZXIsXG4gIHJvbGU6IG5lc3QsXG4gIGNsZWFyOiBicmVhayBub2JyZWFrLFxuICBkZWJ1ZyBpbWFnZTogc2hvdyBoaWRlIHNob3ctY29sdW1ucyBzaG93LWJhc2VsaW5lLFxuICBkZWJ1ZyBvdXRwdXQ6IGJhY2tncm91bmQgb3ZlcmxheSxcbik7XG5cblxuLy8gUGFyc2UgU3VzeSBLZXl3b3JkcyBhbmQgTWFwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGZ1bmN0aW9uIHBhcnNlLXNldHRpbmdzKFxuICAkc2hvcnQ6ICRzdXN5XG4pIHtcbiAgJF9yZXR1cm46ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRzaG9ydCkgPT0gbWFwIHtcbiAgICAkX3JldHVybjogJHNob3J0O1xuICB9IEBlbHNlIHtcbiAgICBAZWFjaCAkaXRlbSBpbiAkc2hvcnQge1xuICAgICAgLy8gc3RyaW5nc1xuICAgICAgQGlmIHR5cGUtb2YoJGl0ZW0pID09IHN0cmluZyB7XG4gICAgICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkc3VzeS1rZXl3b3JkcyB7XG4gICAgICAgICAgQGlmIGluZGV4KCR2YWx1ZSwgJGl0ZW0pIHtcbiAgICAgICAgICAgICRfa2V5LXZhbHVlOiBhcHBlbmQoJGtleSwgJGl0ZW0pO1xuICAgICAgICAgICAgJF9yZXR1cm46IF9zdXN5LWRlZXAtc2V0KCRfcmV0dXJuLCAkX2tleS12YWx1ZS4uLik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAvLyBtYXBzXG4gICAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJGl0ZW0pID09IG1hcCB7XG4gICAgICAgICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sICRpdGVtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRfcmV0dXJuO1xufVxuXG5cbi8vIFBhcnNlIENvbHVtbnMgJiBHdXR0ZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGZ1bmN0aW9uIHBhcnNlLWxheW91dChcbiAgJHNob3J0XG4pIHtcbiAgJF9yZXR1cm46ICgpO1xuICAkX2NvbHVtbnM6ICgpO1xuICAkX2d1dHRlcnM6IG51bGw7XG5cbiAgQGlmIG5vdCh1bml0bGVzcyhudGgobnRoKCRzaG9ydCwgMSksIDEpKSkge1xuICAgICRfZ3V0dGVyczogbnRoKCRzaG9ydCwgMSk7XG4gIH0gQGVsc2Uge1xuICAgICRfY29sdW1uczogKGNvbHVtbnM6IG50aCgkc2hvcnQsIDEpKTtcbiAgICAkX2d1dHRlcnM6IGlmKGxlbmd0aCgkc2hvcnQpID4gMSwgbnRoKCRzaG9ydCwgMiksICRfZ3V0dGVycyk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkX2d1dHRlcnMpID09IGxpc3QgYW5kIGxlbmd0aCgkX2d1dHRlcnMpID4gMCB7XG4gICAgJF9ndXR0ZXJzOiAoXG4gICAgICBndXR0ZXJzOiBudGgoJF9ndXR0ZXJzLCAyKSAvIG50aCgkX2d1dHRlcnMsIDEpLFxuICAgICAgY29sdW1uLXdpZHRoOiBudGgoJF9ndXR0ZXJzLCAxKSxcbiAgICApO1xuICB9IEBlbHNlIHtcbiAgICAkX2d1dHRlcnM6IGlmKCRfZ3V0dGVycywgKGd1dHRlcnM6ICRfZ3V0dGVycyksICgpKTtcbiAgfVxuXG4gICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sICRfY29sdW1ucyk7XG4gICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sICRfZ3V0dGVycyk7XG5cbiAgQHJldHVybiAkX3JldHVybjtcbn1cblxuXG4vLyBQYXJzZSBHcmlkL0NvbnRleHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuQGZ1bmN0aW9uIHBhcnNlLWdyaWQoXG4gICRzaG9ydDogJHN1c3lcbikge1xuICAkX3JldHVybjogcGFyc2Utc2V0dGluZ3MoJHNob3J0KTtcbiAgJF9sYXlvdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRzaG9ydCkgPT0gbWFwIHtcbiAgICAkX3JldHVybjogJHNob3J0O1xuICB9IEBlbHNlIHtcbiAgICBAZWFjaCAkaXRlbSBpbiAkc2hvcnQge1xuICAgICAgLy8gbnVtYmVyIG9yIGxpc3RcbiAgICAgIEBpZiB0eXBlLW9mKCRpdGVtKSA9PSBudW1iZXIgb3IgdHlwZS1vZigkaXRlbSkgPT0gbGlzdCB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCRpdGVtKSA9PSBsaXN0IG9yIHVuaXRsZXNzKCRpdGVtKSB7XG4gICAgICAgICAgJF9sYXlvdXQ6IGFwcGVuZCgkX2xheW91dCwgJGl0ZW0pO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoY29udGFpbmVyOiAkaXRlbSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJF9sYXlvdXQ6IGlmKGxlbmd0aCgkX2xheW91dCkgPiAwLCBwYXJzZS1sYXlvdXQoJF9sYXlvdXQpLCAkX2xheW91dCk7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1tZXJnZSgkX3JldHVybiwgJF9sYXlvdXQpO1xufVxuXG5cbi8vIFBhcnNlIFNwYW5cbi8vIC0tLS0tLS0tLS1cbkBmdW5jdGlvbiBwYXJzZS1zcGFuKFxuICAkc2hvcnQsXG4gICRrZXk6IHNwYW5cbikge1xuICAkX3JldHVybjogKCk7XG5cbiAgQGlmIHR5cGUtb2YoJHNob3J0KSA9PSBtYXAge1xuICAgICRfcmV0dXJuOiAkc2hvcnQ7XG4gIH0gQGVsc2Uge1xuICAgICRfYXQ6IGluZGV4KCRzaG9ydCwgYXQpO1xuXG4gICAgQGlmICRfYXQge1xuICAgICAgJF9sb2NpOiAkX2F0ICsgMTtcbiAgICAgICRfbG9jYXRpb246IG50aCgkc2hvcnQsICRfbG9jaSk7XG4gICAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAobG9jYXRpb246ICRfbG9jYXRpb24pKTtcbiAgICAgICRzaG9ydDogc2V0LW50aCgkc2hvcnQsICRfYXQsIG51bGwpO1xuICAgICAgJHNob3J0OiBzZXQtbnRoKCRzaG9ydCwgJF9sb2NpLCBudWxsKTtcbiAgICB9XG5cbiAgICAkX2k6IDE7XG4gICAgJF9zcGFuOiAoKTtcblxuICAgIEB3aGlsZSAkX2kgPD0gbGVuZ3RoKCRzaG9ydCkge1xuICAgICAgJF90aGlzOiBudGgoJHNob3J0LCAkX2kpO1xuXG4gICAgICBAaWYgdHlwZS1vZigkX3RoaXMpID09IG51bWJlciB7XG4gICAgICAgICRfc3BhbjogYXBwZW5kKCRfc3BhbiwgJF90aGlzKTtcbiAgICAgICAgJHNob3J0OiBzZXQtbnRoKCRzaG9ydCwgJF9pLCBudWxsKTtcbiAgICAgIH0gQGVsc2UgaWYgJF90aGlzID09IG9mIHtcbiAgICAgICAgJHNob3J0OiBzZXQtbnRoKCRzaG9ydCwgJF9pLCBudWxsKTtcbiAgICAgICAgJF9pOiBsZW5ndGgoJHNob3J0KSArIDE7XG4gICAgICB9XG5cbiAgICAgICRfaTogJF9pICsgMTtcbiAgICB9XG5cbiAgICBAaWYgbGVuZ3RoKCRfc3BhbikgPiAwIHtcbiAgICAgICRfc3BhbjogaWYobGVuZ3RoKCRfc3BhbikgPT0gMSwgbnRoKCRfc3BhbiwgMSksICRfc3Bhbik7XG4gICAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoJGtleTogJF9zcGFuKSk7XG4gICAgfVxuXG4gICAgJF9yZXR1cm46IG1hcC1tZXJnZSgkX3JldHVybiwgcGFyc2UtZ3JpZCgkc2hvcnQpKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG5cblxuLy8gUGFyc2UgR3V0dGVyc1xuLy8gLS0tLS0tLS0tLS0tLVxuQGZ1bmN0aW9uIHBhcnNlLWd1dHRlcnMoXG4gICRzaG9ydDogJHN1c3lcbikge1xuICAkX2d1dHRlcnM6IHBhcnNlLXNwYW4oJHNob3J0LCBndXR0ZXItb3ZlcnJpZGUpO1xuICAkX3NwYW46IHN1c3ktZ2V0KGd1dHRlci1vdmVycmlkZSwgJF9ndXR0ZXJzKTtcblxuICBAaWYgJF9zcGFuIGFuZCBub3QobWFwLWdldCgkX2d1dHRlcnMsIGNvbHVtbnMpKSB7XG4gICAgJF9jb250ZXh0OiAoKTtcbiAgICAkX25ldzogKCk7XG5cbiAgICBAZWFjaCAkaXRlbSBpbiAkX3NwYW4ge1xuICAgICAgQGlmIHR5cGUtb2YoJGl0ZW0pID09IG51bWJlciBhbmQgdW5pdGxlc3MoJGl0ZW0pIHtcbiAgICAgICAgJF9jb250ZXh0OiBhcHBlbmQoJF9jb250ZXh0LCAkaXRlbSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJF9uZXc6IGFwcGVuZCgkX25ldywgJGl0ZW0pO1xuICAgICAgfVxuICAgIH1cblxuICAgICRfY29udGV4dDogcGFyc2UtZ3JpZCgkX2NvbnRleHQpO1xuICAgICRfbmV3OiBpZihsZW5ndGgoJF9uZXcpID09IDAsIG51bGwsICRfbmV3KTtcbiAgICAkX25ldzogaWYobGVuZ3RoKCRfbmV3KSA9PSAxLCBudGgoJF9uZXcsIDEpLCAkX25ldyk7XG4gICAgJF9uZXc6IChndXR0ZXItb3ZlcnJpZGU6IGlmKCRfbmV3ICE9ICRfc3BhbiwgJF9uZXcsICRfc3BhbikpO1xuXG4gICAgJF9ndXR0ZXJzOiBtYXAtbWVyZ2UoJF9ndXR0ZXJzLCAkX25ldyk7XG4gICAgJF9ndXR0ZXJzOiBtYXAtbWVyZ2UoJF9ndXR0ZXJzLCAkX2NvbnRleHQpO1xuICB9XG5cbiAgQHJldHVybiAkX2d1dHRlcnM7XG59XG4iLCIvLyBWYWxpZGF0aW9uXG4vLyA9PT09PT09PT09XG5cblxuLy8gVmFsaWRhdGUgQ29sdW1uIE1hdGhcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AZnVuY3Rpb24gdmFsaWQtY29sdW1uLW1hdGgoXG4gICRtYXRoLFxuICAkY29sdW1uLXdpZHRoXG4pIHtcbiAgQGlmICRtYXRoID09IHN0YXRpYyBhbmQgbm90KCRjb2x1bW4td2lkdGgpIHtcbiAgICBAZXJyb3IgJ1N0YXRpYyBtYXRoIHJlcXVpcmVzIGEgdmFsaWQgY29sdW1uLXdpZHRoIHNldHRpbmcuJztcbiAgfVxuXG4gIEByZXR1cm4gJGNvbHVtbi13aWR0aDtcbn1cbiIsIi8vIEdyaWQgU3ludGF4XG4vLyA9PT09PT09PT09PVxuXG5cbi8vIExheW91dFxuLy8gLS0tLS0tXG4vLyBTZXQgYSBuZXcgbGF5b3V0IHVzaW5nIGEgc2hvcnRoYW5kXG4vLyAtICRsYXlvdXQ6IDxzZXR0aW5ncz5cbi8vIC0gJGNsZWFuOiBib29sZWFuXG5AbWl4aW4gbGF5b3V0KFxuICAkbGF5b3V0LFxuICAkY2xlYW46IGZhbHNlXG4pIHtcbiAgJGluc3BlY3QgIDogJGxheW91dDtcbiAgJHN1c3kgICAgIDogX2dldC1sYXlvdXQoJGxheW91dCwgJGNsZWFuKSAhZ2xvYmFsO1xuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChsYXlvdXQsICRpbnNwZWN0KTtcbn1cblxuXG4vLyBVc2UgR3JpZFxuLy8gLS0tLS0tLS1cbi8vIFVzZSBhbiBhcmJpdHJhcnkgbGF5b3V0IGZvciBhIHNlY3Rpb24gb2YgY29kZVxuLy8gLSAkbGF5b3V0OiA8c2V0dGluZ3M+XG4vLyAtICRjbGVhbjogYm9vbGVhblxuQG1peGluIHdpdGgtbGF5b3V0KFxuICAkbGF5b3V0LFxuICAkY2xlYW46IGZhbHNlXG4pIHtcbiAgJGluc3BlY3QgIDogJGxheW91dDtcbiAgJG9sZCAgICAgIDogJHN1c3k7XG4gICRzdXN5ICAgICA6IF9nZXQtbGF5b3V0KCRsYXlvdXQsICRjbGVhbikgIWdsb2JhbDtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3Qod2l0aC1sYXlvdXQsICRpbnNwZWN0KTtcblxuICBAY29udGVudDtcblxuICAkc3VzeTogJG9sZCAhZ2xvYmFsO1xufVxuXG5cbi8vIExheW91dFxuLy8gLS0tLS0tXG4vLyBSZXR1cm4gYSBwYXJzZWQgbGF5b3V0IG1hcCBiYXNlZCBvbiBzaG9ydGhhbmQgc3ludGF4XG4vLyAtICRsYXlvdXQ6IDxzZXR0aW5ncz5cbkBmdW5jdGlvbiBsYXlvdXQoXG4gICRsYXlvdXQ6ICRzdXN5XG4pIHtcbiAgQHJldHVybiBwYXJzZS1ncmlkKCRsYXlvdXQpO1xufVxuXG5cbi8vIEdldCBMYXlvdXRcbi8vIC0tLS0tLS0tLS1cbi8vIFJldHVybiBhIG5ldyBsYXlvdXQgYmFzZWQgb24gY3VycmVudCBhbmQgZ2l2ZW4gc2V0dGluZ3Ncbi8vIC0gJGxheW91dDogPHNldHRpbmdzPlxuLy8gLSAkY2xlYW46IGJvb2xlYW5cbkBmdW5jdGlvbiBfZ2V0LWxheW91dChcbiAgJGxheW91dCxcbiAgJGNsZWFuOiBmYWxzZVxuKSB7XG4gICRsYXlvdXQ6IGxheW91dCgkbGF5b3V0KTtcbiAgQHJldHVybiBpZigkY2xlYW4sICRsYXlvdXQsIF9zdXN5LWRlZXAtbWVyZ2UoJHN1c3ksICRsYXlvdXQpKTtcbn1cbiIsIi8vIFN1c3kgQm94IFNpemluZ1xuLy8gPT09PT09PT09PT09PT09PT1cblxuLy8gR2xvYmFsIEJveCBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTZXQgYSBib3ggbW9kZWwgZ2xvYmFsbHkgb24gYWxsIGVsZW1lbnRzLlxuLy8gLSBbJGJveF06IGJvcmRlci1ib3ggfCBjb250ZW50LWJveFxuLy8gLSBbJGluaGVyaXRdOiB0cnVlIHwgZmFsc2VcbkBtaXhpbiBnbG9iYWwtYm94LXNpemluZyhcbiAgJGJveDogc3VzeS1nZXQoZ2xvYmFsLWJveC1zaXppbmcpLFxuICAkaW5oZXJpdDogZmFsc2Vcbikge1xuICAkaW5zcGVjdDogJGJveDtcblxuICBAaWYgJGluaGVyaXQge1xuICAgIEBhdC1yb290IHtcbiAgICAgICBodG1sIHsgQGluY2x1ZGUgb3V0cHV0KChib3gtc2l6aW5nOiAkYm94KSk7IH1cbiAgICAgICAqLCAqOmJlZm9yZSwgKjphZnRlciB7IGJveC1zaXppbmc6IGluaGVyaXQ7IH1cbiAgICAgfVxuICB9IEBlbHNlIHtcbiAgICAqLCAqOmJlZm9yZSwgKjphZnRlciB7IEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJGJveCkpOyB9XG4gIH1cblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoZ2xvYmFsLWJveC1zaXppbmcsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgdXBkYXRlLWJveC1tb2RlbCgkYm94KTtcbn1cblxuLy8gQm9yZGVyIEJveCBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBIGxlZ2FjeSBzaG9ydGN1dC4uLlxuLy8gLSBbJGluaGVyaXRdOiB0cnVlIHwgZmFsc2VcbkBtaXhpbiBib3JkZXItYm94LXNpemluZyhcbiAgJGluaGVyaXQ6IGZhbHNlXG4pIHtcbiAgQGluY2x1ZGUgZ2xvYmFsLWJveC1zaXppbmcoYm9yZGVyLWJveCwgJGluaGVyaXQpO1xufVxuXG4vLyBVcGRhdGUgQm94IE1vZGVsXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG4vLyBQUklWQVRFOiBVcGRhdGVzIGdsb2JhbCBib3ggbW9kZWwgc2V0dGluZ1xuQG1peGluIHVwZGF0ZS1ib3gtbW9kZWwoXG4gICRib3hcbikge1xuICBAaWYgJGJveCAhPSBzdXN5LWdldChnbG9iYWwtYm94LXNpemluZykge1xuICBAaW5jbHVkZSBzdXN5LXNldChnbG9iYWwtYm94LXNpemluZywgJGJveCk7XG4gIH1cbn1cbiIsIi8vIENvbnRleHQgU3ludGF4XG4vLyA9PT09PT09PT09PT09PVxuXG4vLyBOZXN0ZWQgW2Z1bmN0aW9uXVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiBhIHN1YnNldCBncmlkIGZvciBuZXN0ZWQgY29udGV4dC5cbi8vIC0gJGNvbnRleHQgICA6IDxzcGFuPlxuQGZ1bmN0aW9uIG5lc3RlZChcbiAgJGNvbnRleHRcbikge1xuICAkY29udGV4dCAgICA6IHBhcnNlLXNwYW4oJGNvbnRleHQpO1xuICAkc3BhbiAgICAgICA6IHN1c3ktZ2V0KHNwYW4sICRjb250ZXh0KTtcbiAgJGxvY2F0aW9uICAgOiBnZXQtbG9jYXRpb24oJGNvbnRleHQpO1xuICAkY29sdW1ucyAgICA6IHN1c3ktZ2V0KGNvbHVtbnMsICRjb250ZXh0KTtcblxuICBAcmV0dXJuIHN1c3ktc2xpY2UoJHNwYW4sICRsb2NhdGlvbiwgJGNvbHVtbnMpO1xufVxuXG4vLyBOZXN0ZWQgW21peGluXVxuLy8gLS0tLS0tLS0tLS0tLS1cbi8vIFVzZSBhIHN1YnNldCBncmlkIGZvciBhIG5lc3RlZCBjb250ZXh0XG4vLyAtICRjb250ZXh0ICAgOiA8c3Bhbj5cbi8vIC0gQGNvbnRlbnQgICA6IDxjb250ZW50PlxuQG1peGluIG5lc3RlZChcbiAgJGNvbnRleHRcbikge1xuICAkaW5zcGVjdCAgOiAkY29udGV4dDtcbiAgJGNvbnRleHQgIDogcGFyc2Utc3BhbigkY29udGV4dCk7XG4gICRvbGQgICAgICA6IHN1c3ktZ2V0KGNvbHVtbnMpO1xuICAkc3VzeSAgICAgOiBtYXAtbWVyZ2UoJHN1c3ksIChjb2x1bW5zOiBuZXN0ZWQoJGNvbnRleHQpKSkgIWdsb2JhbDtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QobmVzdGVkLCAkaW5zcGVjdCk7XG4gIEBjb250ZW50O1xuXG4gICRzdXN5ICAgICA6IG1hcC1tZXJnZSgkc3VzeSwgKGNvbHVtbnM6ICRvbGQpKSAhZ2xvYmFsO1xufVxuIiwiLy8gQmFja2dyb3VuZCBHcmlkIFN5bnRheFxuLy8gPT09PT09PT09PT09PT09PT09PT09PVxuXG4kc3VzeS1vdmVybGF5LWdyaWQtaGVhZC1leGlzdHM6IGZhbHNlO1xuXG5cbi8vIFNob3cgR3JpZC9zXG4vLyAtLS0tLS0tLS0tLVxuLy8gU2hvdyBncmlkIG9uIGFueSBlbGVtZW50IHVzaW5nIGVpdGhlciBiYWNrZ3JvdW5kIG9yIG92ZXJsYXkuXG4vLyAtIFskZ3JpZF0gIDogPHNldHRpbmdzPlxuQG1peGluIHNob3ctZ3JpZChcbiAgJGdyaWQ6ICRzdXN5XG4pIHtcbiAgJGluc3BlY3Q6ICRncmlkO1xuICAkX291dHB1dDogZGVidWctZ2V0KG91dHB1dCwgJGdyaWQpO1xuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChzaG93LWdyaWQsICRpbnNwZWN0KTtcbiAgQGlmICRfb3V0cHV0ID09IG92ZXJsYXkgYW5kIHN1c3ktZ2V0KGRlYnVnIGltYWdlLCAkZ3JpZCkgIT0gaGlkZSB7XG4gICAgQGluY2x1ZGUgb3ZlcmxheS1ncmlkKCRncmlkKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC1ncmlkKCRncmlkKTtcbiAgfVxufVxuXG5AbWl4aW4gc2hvdy1ncmlkcyhcbiAgJGdyaWQ6ICRzdXN5XG4pIHtcbiAgQGluY2x1ZGUgc2hvdy1ncmlkKCRncmlkKTtcbn1cblxuLy8gQmFja2dyb3VuZCBHcmlkXG4vLyAtLS0tLS0tLS0tLS0tLS1cbi8vIFNob3cgYSBncmlkIGJhY2tncm91bmQgb24gYW55IGVsZW1lbnQuXG4vLyAtIFskZ3JpZF0gIDogPHNldHRpbmdzPlxuQG1peGluIGJhY2tncm91bmQtZ3JpZChcbiAgJGdyaWQ6ICRzdXN5XG4pIHtcbiAgJGluc3BlY3QgIDogJGdyaWQ7XG4gICRfb3V0cHV0ICA6IGdldC1iYWNrZ3JvdW5kKCRncmlkKTtcblxuICBAaWYgbGVuZ3RoKCRfb3V0cHV0KSA+IDAge1xuICAgICRfZmxvdzogc3VzeS1nZXQoZmxvdywgJGdyaWQpO1xuXG4gICAgJF9pbWFnZTogKCk7XG4gICAgQGVhY2ggJG5hbWUsICRsYXllciBpbiBtYXAtZ2V0KCRfb3V0cHV0LCBpbWFnZSkge1xuICAgICAgJF9kaXJlY3Rpb246IGlmKCRuYW1lID09IGJhc2VsaW5lLCB0byBib3R0b20sIHRvIHRvKCRfZmxvdykpO1xuICAgICAgJF9pbWFnZTogYXBwZW5kKCRfaW1hZ2UsIGxpbmVhci1ncmFkaWVudCgkX2RpcmVjdGlvbiwgJGxheWVyKSwgY29tbWEpO1xuICAgIH1cbiAgICAkX291dHB1dDogbWFwLW1lcmdlKCRfb3V0cHV0LCAoaW1hZ2U6ICRfaW1hZ2UpKTtcblxuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtZ3JpZC1vdXRwdXQoJF9vdXRwdXQuLi4pO1xuICAgIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChiYWNrZ3JvdW5kLWdyaWQsICRpbnNwZWN0KTtcbiAgfVxufVxuXG5cbi8vIE92ZXJsYXkgR3JpZFxuLy8gLS0tLS0tLS0tLS0tXG4vLyBHZW5lcmF0ZSBhbiBpY29uIHRvIHRyaWdnZXIgZ3JpZC1vdmVybGF5cyBvbiBhbnkgZ2l2ZW4gZWxlbWVudHMuXG4vLyAkZ3JpZHMuLi4gIDogPHNlbGVjdG9yPiBbPHNldHRpbmdzPl0gWywgPHNlbGVjdG9yPl0qXG5AbWl4aW4gb3ZlcmxheS1ncmlkIChcbiAgJGdyaWQ6ICRzdXN5XG4pIHtcbiAgQGlmIG5vdCgkc3VzeS1vdmVybGF5LWdyaWQtaGVhZC1leGlzdHMpIHtcbiAgICBAYXQtcm9vdCBoZWFkIHsgQGluY2x1ZGUgb3ZlcmxheS1oZWFkKCRncmlkKTsgfVxuICAgIEBhdC1yb290IGhlYWQ6YmVmb3JlIHsgQGluY2x1ZGUgb3ZlcmxheS10cmlnZ2VyOyB9XG4gICAgQGF0LXJvb3QgaGVhZDpob3ZlciB7IEBpbmNsdWRlIG92ZXJsYXktdHJpZ2dlci1ob3ZlcjsgfVxuICAgICRzdXN5LW92ZXJsYXktZ3JpZC1oZWFkLWV4aXN0czogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgaGVhZDpob3ZlciB+ICYsXG4gIGhlYWQ6aG92ZXIgfiBib2R5ICYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmlkLW92ZXJsYXktYmFzZTtcbiAgICAgIEBpbmNsdWRlIGJhY2tncm91bmQtZ3JpZCgkZ3JpZCk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gW1ByaXZhdGVdIE92ZXJsYXkgVHJpZ2dlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIG92ZXJsYXktdHJpZ2dlciB7XG4gIGNvbnRlbnQ6IFwifHx8XCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgZm9udDoge1xuICAgIGZhbWlseTogc2Fucy1zZXJpZjtcbiAgICBzaXplOiAxNnB4O1xuICAgIHdlaWdodDogYm9sZDtcbiAgfVxufVxuXG5cbi8vIFtQcml2YXRlXSBPdmVybGF5IFRyaWdnZXIgSG92ZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBvdmVybGF5LXRyaWdnZXItaG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKHdoaXRlLCAuNSk7XG4gIGNvbG9yOiByZWQ7XG59XG5cblxuLy8gW1ByaXZhdGVdIE92ZXJsYXkgSGVhZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gPGhlYWQ+IHN0eWxlcyB0byBjcmVhdGUgZ3JpZCBvdmVybGF5IHRvZ2dsZVxuQG1peGluIG92ZXJsYXktaGVhZCAoXG4gICRncmlkOiAkc3VzeVxuKSB7XG4gICRfdG9nZ2xlOiBkZWJ1Zy1nZXQodG9nZ2xlLCAkZ3JpZCk7XG4gICRfaG9yejogbnVsbDtcbiAgJF92ZXJ0OiBudWxsO1xuXG4gIEBlYWNoICRzaWRlIGluICRfdG9nZ2xlIHtcbiAgICAkX2hvcno6IGlmKCRzaWRlID09IGxlZnQgb3IgJHNpZGUgPT0gcmlnaHQsICRzaWRlLCAkX2hvcnopO1xuICAgICRfdmVydDogaWYoJHNpZGUgPT0gdG9wIG9yICRzaWRlID09IGJvdHRvbSwgJHNpZGUsICRfdmVydCk7XG4gIH1cblxuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICAjeyRfaG9yen06IDEwcHg7XG4gICN7JF92ZXJ0fTogMTBweDtcbiAgei1pbmRleDogOTk5O1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZDogcmdiYSh3aGl0ZSwgLjI1KTtcbn1cblxuXG4vLyBbUHJpdmF0ZV0gR3JpZCBPdmVybGF5IEJhc2Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQmFzZSBzdHlsZXMgZm9yIGdlbmVyYXRpbmcgYSBncmlkIG92ZXJsYXlcbkBtaXhpbiBncmlkLW92ZXJsYXktYmFzZSgpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICB6LWluZGV4OiA5OTg7XG59XG5cblxuLy8gR2V0IFN5bW1ldHJpY2FsIEJhY2tncm91bmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtICRncmlkOiA8bWFwPlxuQGZ1bmN0aW9uIGdldC1iYWNrZ3JvdW5kLXN5bShcbiAgJGdyaWRcbikge1xuICAkZ3JpZCAgICAgICAgICAgOiBwYXJzZS1ncmlkKCRncmlkKTtcbiAgJF9ndXR0ZXJzICAgICAgIDogc3VzeS1nZXQoZ3V0dGVycywgJGdyaWQpO1xuICAkX2NvbHVtbi13aWR0aCAgOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRncmlkKTtcbiAgJF9tYXRoICAgICAgICAgIDogc3VzeS1nZXQobWF0aCwgJGdyaWQpO1xuXG4gICRfY29sb3IgICAgICAgICA6IGRlYnVnLWdldChjb2xvcik7XG4gICRfdHJhbnMgICAgICAgICA6IHRyYW5zcGFyZW50O1xuICAkX2xpZ2h0ICAgICAgICAgOiBsaWdodGVuKCRfY29sb3IsIDE1JSk7XG5cbiAgJF9lbmQgICAgICAgICAgIDogMSArICRfZ3V0dGVycztcbiAgJF9hZnRlciAgICAgICAgIDogcGVyY2VudGFnZSgxLyRfZW5kKTtcbiAgJF9zdG9wcyAgICAgICAgIDogKCk7XG4gICRfc2l6ZSAgICAgICAgICA6IHNwYW4oMSAkZ3JpZCB3aWRlKTtcblxuICBAaWYgaXMtaW5zaWRlKCRncmlkKSB7XG4gICAgJF9zdG9wczogJF9jb2xvciwgJF9saWdodDtcbiAgfSBAZWxzZSBpZiBpcy1zcGxpdCgkZ3JpZCkge1xuICAgICRfc3BsaXQ6ICRfZ3V0dGVycy8yO1xuICAgICRfYmVmb3JlOiBwZXJjZW50YWdlKCRfc3BsaXQvJF9lbmQpO1xuICAgICRfYWZ0ZXI6IHBlcmNlbnRhZ2UoKDEgKyAkX3NwbGl0KS8kX2VuZCk7XG4gICAgJF9zdG9wczogJF90cmFucyAkX2JlZm9yZSwgJF9jb2xvciAkX2JlZm9yZSwgJF9saWdodCAkX2FmdGVyLCAkX3RyYW5zICRfYWZ0ZXI7XG4gIH0gQGVsc2Uge1xuICAgICRfc3RvcHM6ICRfY29sb3IsICRfbGlnaHQgJF9hZnRlciwgJF90cmFucyAkX2FmdGVyO1xuICB9XG5cbiAgQGlmICRfbWF0aCA9PSBzdGF0aWMge1xuICAgICRfc2l6ZTogdmFsaWQtY29sdW1uLW1hdGgoJF9tYXRoLCAkX2NvbHVtbi13aWR0aCkgKiAkX2VuZDtcbiAgfVxuXG4gICRfb3V0cHV0OiAoXG4gICAgaW1hZ2U6IChjb2x1bW5zOiAkX3N0b3BzKSxcbiAgICBzaXplOiAkX3NpemUsXG4gICk7XG5cbiAgQHJldHVybiAkX291dHB1dDtcbn1cblxuXG4vLyBHZXQgQXN5bW1ldHJpY2FsIEluc2lkZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gJGdyaWQ6IDxzZXR0aW5ncz5cbkBmdW5jdGlvbiBnZXQtYXN5bS1pbnNpZGUoXG4gICRncmlkXG4pIHtcbiAgJGdyaWQgICAgIDogcGFyc2UtZ3JpZCgkZ3JpZCk7XG4gICRfY29sdW1ucyA6IHN1c3ktZ2V0KGNvbHVtbnMsICRncmlkKTtcblxuICAkX2NvbG9yICAgOiBkZWJ1Zy1nZXQoY29sb3IpO1xuICAkX2xpZ2h0ICAgOiBsaWdodGVuKCRfY29sb3IsIDE1JSk7XG4gICRfc3RvcHMgICA6ICgpO1xuXG4gIEBmb3IgJGxvY2F0aW9uIGZyb20gMSB0aHJvdWdoIHN1c3ktY291bnQoJF9jb2x1bW5zKSB7XG4gICAgJHRoaXMtc3RvcDogKCk7XG5cbiAgICBAaWYgJGxvY2F0aW9uID09IDEge1xuICAgICAgJHRoaXMtc3RvcDogYXBwZW5kKCR0aGlzLXN0b3AsICRfY29sb3IsIGNvbW1hKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRzdGFydDogcGFyc2Utc3BhbigxIGF0ICRsb2NhdGlvbiAkZ3JpZCk7XG4gICAgICAkc3RhcnQ6IGdldC1pc29sYXRpb24oJHN0YXJ0KTtcbiAgICAgICR0aGlzLXN0b3A6IGFwcGVuZCgkdGhpcy1zdG9wLCAkX2NvbG9yICRzdGFydCwgY29tbWEpO1xuICAgIH1cblxuICAgIEBpZiAkbG9jYXRpb24gPT0gc3VzeS1jb3VudCgkX2NvbHVtbnMpIHtcbiAgICAgICR0aGlzLXN0b3A6IGFwcGVuZCgkdGhpcy1zdG9wLCAkX2xpZ2h0LCBjb21tYSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkX2VuZDogcGFyc2Utc3BhbigxIGF0ICgkbG9jYXRpb24gKyAxKSAkZ3JpZCk7XG4gICAgICAkX2VuZDogZ2V0LWlzb2xhdGlvbigkX2VuZCk7XG4gICAgICAkdGhpcy1zdG9wOiBhcHBlbmQoJHRoaXMtc3RvcCwgJF9saWdodCAkX2VuZCwgY29tbWEpO1xuICAgIH1cblxuICAgICRfc3RvcHM6IGpvaW4oJF9zdG9wcywgJHRoaXMtc3RvcCwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkX3N0b3BzO1xufVxuXG5cbi8vIEdldCBBc3ltbWV0cmljYWwgU3BsaXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gJGdyaWQ6IDxzZXR0aW5ncz5cbkBmdW5jdGlvbiBnZXQtYXN5bS1zcGxpdChcbiAgJGdyaWRcbikge1xuICAkZ3JpZCAgICAgOiBwYXJzZS1ncmlkKCRncmlkKTtcbiAgJF9jb2x1bW5zIDogc3VzeS1nZXQoY29sdW1ucywgJGdyaWQpO1xuXG4gICRfY29sb3IgICA6IGRlYnVnLWdldChjb2xvcik7XG4gICRfbGlnaHQgICA6IGxpZ2h0ZW4oJF9jb2xvciwgMTUlKTtcbiAgJF9zdG9wcyAgIDogKCk7XG5cbiAgQGZvciAkbG9jYXRpb24gZnJvbSAxIHRocm91Z2ggc3VzeS1jb3VudCgkX2NvbHVtbnMpIHtcbiAgICAkdGhpcy1zdG9wOiAoKTtcblxuICAgICRzdGFydDogcGFyc2Utc3BhbigxIGF0ICRsb2NhdGlvbiAkZ3JpZCk7XG4gICAgJHN0YXJ0OiBnZXQtaXNvbGF0aW9uKCRzdGFydCk7XG4gICAgJHRoaXMtc3RvcDogYXBwZW5kKCR0aGlzLXN0b3AsIHRyYW5zcGFyZW50ICRzdGFydCwgY29tbWEpO1xuICAgICR0aGlzLXN0b3A6IGFwcGVuZCgkdGhpcy1zdG9wLCAkX2NvbG9yICRzdGFydCwgY29tbWEpO1xuXG4gICAgJF9lbmQ6ICRzdGFydCArIHNwYW4oMSBhdCAkbG9jYXRpb24gJGdyaWQpO1xuICAgICR0aGlzLXN0b3A6IGFwcGVuZCgkdGhpcy1zdG9wLCAkX2xpZ2h0ICRfZW5kLCBjb21tYSk7XG4gICAgJHRoaXMtc3RvcDogYXBwZW5kKCR0aGlzLXN0b3AsIHRyYW5zcGFyZW50ICRfZW5kLCBjb21tYSk7XG5cbiAgICAkX3N0b3BzOiBqb2luKCRfc3RvcHMsICR0aGlzLXN0b3AsIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9zdG9wcztcbn1cblxuXG4vLyBHZXQgQXN5bW1ldHJpY2FsIE91dHNpZGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLSAkZ3JpZDogPHNldHRpbmdzPlxuQGZ1bmN0aW9uIGdldC1hc3ltLW91dHNpZGUoXG4gICRncmlkXG4pIHtcbiAgJGdyaWQgICAgIDogcGFyc2UtZ3JpZCgkZ3JpZCk7XG4gICRfY29sdW1ucyA6IHN1c3ktZ2V0KGNvbHVtbnMsICRncmlkKTtcblxuICAkX2NvbG9yICAgOiBkZWJ1Zy1nZXQoY29sb3IpO1xuICAkX2xpZ2h0ICAgOiBsaWdodGVuKCRfY29sb3IsIDE1JSk7XG4gICRfdHJhbnMgICA6IHRyYW5zcGFyZW50O1xuICAkX3N0b3BzICAgOiAoKTtcblxuICBAZm9yICRsb2NhdGlvbiBmcm9tIDEgdGhyb3VnaCBzdXN5LWNvdW50KCRfY29sdW1ucykge1xuICAgICR0aGlzLXN0b3A6ICgpO1xuXG4gICAgQGlmICRsb2NhdGlvbiA9PSAxIHtcbiAgICAgICR0aGlzLXN0b3A6IGFwcGVuZCgkdGhpcy1zdG9wLCAkX2NvbG9yLCBjb21tYSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkc3RhcnQ6IHBhcnNlLXNwYW4oMSBhdCAkbG9jYXRpb24gJGdyaWQpO1xuICAgICAgJHN0YXJ0OiBnZXQtaXNvbGF0aW9uKCRzdGFydCk7XG4gICAgICAkdGhpcy1zdG9wOiBhcHBlbmQoJHRoaXMtc3RvcCwgJF9jb2xvciAkc3RhcnQsIGNvbW1hKTtcbiAgICB9XG5cbiAgICBAaWYgJGxvY2F0aW9uID09IHN1c3ktY291bnQoJF9jb2x1bW5zKSB7XG4gICAgICAkdGhpcy1zdG9wOiBhcHBlbmQoJHRoaXMtc3RvcCwgJF9saWdodCwgY29tbWEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGd1dHRlcjogZ2V0LXNwYW4td2lkdGgoZmlyc3QgJGxvY2F0aW9uICRncmlkKTtcblxuICAgICAgJF9lbmQ6IHBhcnNlLXNwYW4oMSBhdCAoJGxvY2F0aW9uICsgMSkgJGdyaWQpO1xuICAgICAgJF9lbmQ6IGdldC1pc29sYXRpb24oJF9lbmQpO1xuXG4gICAgICAkZ3V0dGVyOiAkX2xpZ2h0ICRndXR0ZXIsICRfdHJhbnMgJGd1dHRlciwgJF90cmFucyAkX2VuZDtcbiAgICAgICR0aGlzLXN0b3A6IGpvaW4oJHRoaXMtc3RvcCwgJGd1dHRlciwgY29tbWEpO1xuICAgIH1cblxuICAgICRfc3RvcHM6IGpvaW4oJF9zdG9wcywgJHRoaXMtc3RvcCwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkX3N0b3BzO1xufVxuXG5cbi8vIEdldCBBc3ltbWV0cmljYWwgQmFja2dyb3VuZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtICRncmlkOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gZ2V0LWJhY2tncm91bmQtYXN5bShcbiAgJGdyaWRcbikge1xuICAkX3N0b3BzOiAoKTtcblxuICBAaWYgaXMtaW5zaWRlKCRncmlkKSB7XG4gICAgJF9zdG9wczogZ2V0LWFzeW0taW5zaWRlKCRncmlkKTtcbiAgfSBAZWxzZSBpZiBpcy1zcGxpdCgkZ3JpZCkge1xuICAgICRfc3RvcHM6IGdldC1hc3ltLXNwbGl0KCRncmlkKTtcbiAgfSBAZWxzZSB7XG4gICAgJF9zdG9wczogZ2V0LWFzeW0tb3V0c2lkZSgkZ3JpZCk7XG4gIH1cblxuICBAcmV0dXJuIChpbWFnZTogKGNvbHVtbnM6ICRfc3RvcHMpKTtcbn1cblxuXG4vLyBHZXQgQmFja2dyb3VuZFxuLy8gLS0tLS0tLS0tLS0tLS1cbi8vIC0gJGdyaWQ6IDxzZXR0aW5ncz5cbkBmdW5jdGlvbiBnZXQtYmFja2dyb3VuZChcbiAgJGdyaWRcbikge1xuICAkZ3JpZCAgICAgOiBwYXJzZS1ncmlkKCRncmlkKTtcbiAgJF9zaG93ICAgIDogc3VzeS1nZXQoZGVidWcgaW1hZ2UsICRncmlkKTtcbiAgJF9yZXR1cm4gIDogKCk7XG5cbiAgQGlmICRfc2hvdyBhbmQgJF9zaG93ICE9ICdoaWRlJyB7XG4gICAgJF9jb2x1bW5zOiBzdXN5LWdldChjb2x1bW5zLCAkZ3JpZCk7XG5cbiAgICBAaWYgJF9zaG93ICE9ICdzaG93LWJhc2VsaW5lJyB7XG4gICAgICAkX3N5bTogaXMtc3ltbWV0cmljYWwoJF9jb2x1bW5zKTtcbiAgICAgICRfcmV0dXJuOiBpZigkX3N5bSwgZ2V0LWJhY2tncm91bmQtc3ltKCRncmlkKSwgZ2V0LWJhY2tncm91bmQtYXN5bSgkZ3JpZCkpO1xuICAgICAgJF9yZXR1cm46IG1hcC1tZXJnZSgkX3JldHVybiwgKGNsaXA6IGNvbnRlbnQtYm94KSk7XG4gICAgfVxuXG4gICAgQGlmICRfc2hvdyAhPSAnc2hvdy1jb2x1bW5zJ1xuICAgICAgYW5kIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoYmFzZS1saW5lLWhlaWdodClcbiAgICAgIGFuZCB0eXBlLW9mKCRiYXNlLWxpbmUtaGVpZ2h0KSA9PSAnbnVtYmVyJ1xuICAgICAgYW5kIG5vdCB1bml0bGVzcygkYmFzZS1saW5lLWhlaWdodCkge1xuICAgICAgJF9jb2xvcjogdmFyaWFibGUtZXhpc3RzKCdncmlkLWJhY2tncm91bmQtYmFzZWxpbmUtY29sb3InKTtcbiAgICAgICRfY29sb3I6IGlmKCRfY29sb3IsICRncmlkLWJhY2tncm91bmQtYmFzZWxpbmUtY29sb3IsICMwMDApO1xuXG4gICAgICAkX2ltYWdlOiBtYXAtZ2V0KCRfcmV0dXJuLCBpbWFnZSk7XG4gICAgICAkX3NpemU6IG1hcC1nZXQoJF9yZXR1cm4sIHNpemUpO1xuICAgICAgJF9iYXNlbGluZTogKGJhc2VsaW5lOiAoJF9jb2xvciAxcHgsIHRyYW5zcGFyZW50IDFweCkpO1xuICAgICAgJF9iYXNlbGluZS1zaXplOiAxMDAlICRiYXNlLWxpbmUtaGVpZ2h0O1xuXG4gICAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoXG4gICAgICAgIGltYWdlOiBpZigkX2ltYWdlLCBtYXAtbWVyZ2UoJF9pbWFnZSwgJF9iYXNlbGluZSksICRfYmFzZWxpbmUpLFxuICAgICAgICBzaXplOiBpZigkX3NpemUsICgkX3NpemUsICRfYmFzZWxpbmUtc2l6ZSksICRfYmFzZWxpbmUtc2l6ZSksXG4gICAgICApKTtcblxuICAgICAgQGlmICRfc2hvdyA9PSAnc2hvdycge1xuICAgICAgICAkX2NsaXA6IG1hcC1nZXQoJF9yZXR1cm4sIGNsaXApO1xuICAgICAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoY2xpcDogam9pbigkX2NsaXAsIGJvcmRlci1ib3gsIGNvbW1hKSkpO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJF9zaG93ID09ICdzaG93LWJhc2VsaW5lJyB7XG4gICAgICBAd2FybiAnUGxlYXNlIHByb3ZpZGUgYSAkYmFzZS1saW5lLWhlaWdodCB3aXRoIHRoZSBkZXNpcmVkIGhlaWdodCBhbmQgdW5pdHMnO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBtYXAtZ2V0KCRfcmV0dXJuLCBpbWFnZSkge1xuICAgICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sIChmbG93OiBzdXN5LWdldChmbG93LCAkZ3JpZCkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG5cblxuLy8gR2V0IERlYnVnXG4vLyAtLS0tLS0tLS1cbi8vIFJldHVybiB0aGUgdmFsdWUgb2YgYSBkZWJ1ZyBzZXR0aW5nXG4vLyAtICRrZXk6IDxzZXR0aW5nPlxuQGZ1bmN0aW9uIGRlYnVnLWdldChcbiAgJGtleSxcbiAgJGdyaWQ6ICRzdXN5XG4pIHtcbiAgJGtleTogam9pbihkZWJ1ZywgJGtleSwgc3BhY2UpO1xuICBAcmV0dXJuIHN1c3ktZ2V0KCRrZXksICRncmlkKTtcbn1cbiIsIi8vIENvbnRhaW5lciBTeW50YXhcbi8vID09PT09PT09PT09PT09PT1cblxuLy8gQ29udGFpbmVyIFttaXhpbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTZXQgYSBjb250YWluZXIgZWxlbWVudFxuLy8gLSBbJGxheW91dF0gIDogPHNldHRpbmdzPlxuQG1peGluIGNvbnRhaW5lcihcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkaW5zcGVjdCAgICA6ICRsYXlvdXQ7XG4gICRsYXlvdXQgICAgIDogcGFyc2UtZ3JpZCgkbGF5b3V0KTtcblxuICAkX3dpZHRoICAgICA6IGdldC1jb250YWluZXItd2lkdGgoJGxheW91dCk7XG4gICRfanVzdGlmeSAgIDogcGFyc2UtY29udGFpbmVyLXBvc2l0aW9uKHN1c3ktZ2V0KGNvbnRhaW5lci1wb3NpdGlvbiwgJGxheW91dCkpO1xuICAkX3Byb3BlcnR5ICA6IGlmKHN1c3ktZ2V0KG1hdGgsICRsYXlvdXQpID09IHN0YXRpYywgd2lkdGgsIG1heC13aWR0aCk7XG5cbiAgJF9ib3ggICAgICAgOiBzdXN5LWdldChib3gtc2l6aW5nLCAkbGF5b3V0KTtcblxuICBAaWYgJF9ib3gge1xuICAgIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJF9ib3gpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChjb250YWluZXIsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgZmxvYXQtY29udGFpbmVyKCRfd2lkdGgsICRfanVzdGlmeSwgJF9wcm9wZXJ0eSk7XG4gIEBpbmNsdWRlIHNob3ctZ3JpZCgkbGF5b3V0KTtcbn1cblxuLy8gQ29udGFpbmVyIFtmdW5jdGlvbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gY29udGFpbmVyIHdpZHRoXG4vLyAtIFskbGF5b3V0XSAgOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gY29udGFpbmVyKFxuICAkbGF5b3V0OiAkc3VzeVxuKSB7XG4gICRsYXlvdXQ6IHBhcnNlLWdyaWQoJGxheW91dCk7XG4gIEByZXR1cm4gZ2V0LWNvbnRhaW5lci13aWR0aCgkbGF5b3V0KTtcbn1cblxuLy8gR2V0IENvbnRhaW5lciBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2FsY3VsYXRlIHRoZSBjb250YWluZXIgd2lkdGhcbi8vIC0gWyRsYXlvdXRdOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gZ2V0LWNvbnRhaW5lci13aWR0aChcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkbGF5b3V0ICAgICAgICAgOiBwYXJzZS1ncmlkKCRsYXlvdXQpO1xuICAkX3dpZHRoICAgICAgICAgOiBzdXN5LWdldChjb250YWluZXIsICRsYXlvdXQpO1xuICAkX2NvbHVtbi13aWR0aCAgOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRsYXlvdXQpO1xuICAkX21hdGggICAgICAgICAgOiBzdXN5LWdldChtYXRoLCAkbGF5b3V0KTtcblxuICBAaWYgbm90KCRfd2lkdGgpIG9yICRfd2lkdGggPT0gYXV0byB7XG4gICAgQGlmIHZhbGlkLWNvbHVtbi1tYXRoKCRfbWF0aCwgJF9jb2x1bW4td2lkdGgpIHtcbiAgICAgICRfY29sdW1ucyAgIDogc3VzeS1nZXQoY29sdW1ucywgJGxheW91dCk7XG4gICAgICAkX2d1dHRlcnMgICA6IHN1c3ktZ2V0KGd1dHRlcnMsICRsYXlvdXQpO1xuICAgICAgJF9zcHJlYWQgICAgOiBpZihpcy1zcGxpdCgkbGF5b3V0KSwgd2lkZSwgbmFycm93KTtcbiAgICAgICRfd2lkdGggICAgIDogc3VzeS1zdW0oJF9jb2x1bW5zLCAkX2d1dHRlcnMsICRfc3ByZWFkKSAqICRfY29sdW1uLXdpZHRoO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJF93aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRfd2lkdGg7XG59XG5cbi8vIFBhcnNlIENvbnRhaW5lciBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQYXJzZSB0aGUgJGNvbnRhaW5lci1wb3NpdGlvbiBpbnRvIG1hcmdpbiB2YWx1ZXMuXG4vLyAtIFskanVzdGlmeV0gICA6IGxlZnQgfCBjZW50ZXIgfCByaWdodCB8IDxsZW5ndGg+IFs8bGVuZ3RoPl1cbkBmdW5jdGlvbiBwYXJzZS1jb250YWluZXItcG9zaXRpb24oXG4gICRqdXN0aWZ5OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBjb250YWluZXItcG9zaXRpb24pXG4pIHtcbiAgJF9yZXR1cm46IGlmKCRqdXN0aWZ5ID09IGxlZnQsIDAsIGF1dG8pIGlmKCRqdXN0aWZ5ID09IHJpZ2h0LCAwLCBhdXRvKTtcblxuICBAaWYgbm90KGluZGV4KGxlZnQgcmlnaHQgY2VudGVyLCAkanVzdGlmeSkpIHtcbiAgICAkX3JldHVybjogbnRoKCRqdXN0aWZ5LCAxKTtcbiAgICAkX3JldHVybjogJF9yZXR1cm4gaWYobGVuZ3RoKCRqdXN0aWZ5KSA+IDEsIG50aCgkanVzdGlmeSwgMiksICRfcmV0dXJuKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG4iLCIvLyBTcGFuIFN5bnRheFxuLy8gPT09PT09PT09PT1cblxuLy8gU3BhbiBbbWl4aW5dXG4vLyAtLS0tLS0tLS0tLS1cbi8vIFNldCBhIHNwYW5uaW5nIGVsZW1lbnQgdXNpbmcgc2hvcnRoYW5kIHN5bnRheC5cbi8vIC0gJHNwYW4gIDogPHNwYW4+XG5AbWl4aW4gc3BhbihcbiAgJHNwYW5cbikge1xuICAkaW5zcGVjdDogJHNwYW47XG4gICRzcGFuOiBwYXJzZS1zcGFuKCRzcGFuKTtcbiAgJG91dHB1dDogc3Bhbi1tYXRoKCRzcGFuKTtcbiAgJG5lc3Rpbmc6IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcbiAgJGNsZWFyOiBzdXN5LWdldChjbGVhciwgJHNwYW4pO1xuXG4gICRib3g6IHN1c3ktZ2V0KGJveC1zaXppbmcsICRzcGFuKTtcbiAgJGNvbnRlbnQtYm94OiBpZihzdXN5LWdldChnbG9iYWwtYm94LXNpemluZykgIT0gJ2JvcmRlci1ib3gnLCB0cnVlLCBmYWxzZSk7XG4gICRib3g6ICRib3ggb3IgaWYoaXMtaW5zaWRlKCRzcGFuKSBhbmQgJGNvbnRlbnQtYm94LCBib3JkZXItYm94LCBudWxsKTtcblxuICBAaWYgJGNsZWFyID09IGJyZWFrIHtcbiAgICBAaW5jbHVkZSBicmVhaztcbiAgfSBAZWxzZSBpZiAkY2xlYXIgPT0gbm9icmVhayB7XG4gICAgQGluY2x1ZGUgbm9icmVhaztcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChzcGFuLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJGJveCkpO1xuICBAaW5jbHVkZSBmbG9hdC1zcGFuLW91dHB1dCgkb3V0cHV0Li4uKTtcblxuICBAaWYgdmFsaWQtY29sdW1ucygkbmVzdGluZywgc2lsZW50KSB7XG4gICAgQGluY2x1ZGUgbmVzdGVkKCRzcGFuKSB7IEBjb250ZW50OyB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIFNwYW4gW2Z1bmN0aW9uXVxuLy8gLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gdGhlIHdpZHRoIG9mIGEgc3Bhbi5cbi8vIC0gJHNwYW4gIDogPHNwYW4+XG5AZnVuY3Rpb24gc3BhbihcbiAgJHNwYW5cbikge1xuICBAcmV0dXJuIGdldC1zcGFuLXdpZHRoKCRzcGFuKTtcbn1cblxuLy8gU3BhbiBNYXRoXG4vLyAtLS0tLS0tLS1cbi8vIEdldCBhbGwgdGhlIHNwYW4gcmVzdWx0cy5cbi8vIC0gJHNwYW46IDxtYXA+XG5AZnVuY3Rpb24gc3Bhbi1tYXRoKFxuICAkc3BhblxuKSB7XG4gICRuZXN0ICAgICAgICAgICAgIDogaWYoc3VzeS1nZXQocm9sZSwgJHNwYW4pID09IG5lc3QsIHRydWUsIGZhbHNlKTtcbiAgJHNwbGl0LW5lc3QgICAgICAgOiBpZihpcy1zcGxpdCgkc3BhbikgYW5kICRuZXN0LCB0cnVlLCBmYWxzZSk7XG4gICRlZGdlICAgICAgICAgICAgIDogZ2V0LWVkZ2UoJHNwYW4pO1xuICAkbG9jYXRpb24gICAgICAgICA6IGdldC1sb2NhdGlvbigkc3Bhbik7XG5cbiAgJGZsb2F0ICAgICAgICAgICAgOiBmcm9tO1xuICAkcGFkZGluZy1iZWZvcmUgICA6IG51bGw7XG4gICRwYWRkaW5nLWFmdGVyICAgIDogbnVsbDtcbiAgJG1hcmdpbi1iZWZvcmUgICAgOiBudWxsO1xuICAkbWFyZ2luLWFmdGVyICAgICA6IG51bGw7XG5cbiAgLy8gY2FsY3VsYXRlIHdpZHRoc1xuICAkc3ByZWFkOiBpbmRleChtYXAtdmFsdWVzKCRzcGFuKSwgc3ByZWFkKTtcbiAgJHNwYW46IGlmKCRzcGxpdC1uZXN0IGFuZCBub3QoJHNwcmVhZCksIG1hcC1tZXJnZSgkc3BhbiwgKHNwcmVhZDogd2lkZSkpLCAkc3Bhbik7XG4gICR3aWR0aDogZ2V0LXNwYW4td2lkdGgoJHNwYW4pO1xuICAkZ3V0dGVyczogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuXG4gIC8vIGFwcGx5IGd1dHRlcnNcbiAgQGlmIGlzLWluc2lkZSgkc3Bhbikge1xuICAgIEBpZiBub3Qoc3VzeS1nZXQocm9sZSwgJHNwYW4pKSB7XG4gICAgICAkcGFkZGluZy1iZWZvcmU6IG1hcC1nZXQoJGd1dHRlcnMsIGJlZm9yZSk7XG4gICAgICAkcGFkZGluZy1hZnRlcjogbWFwLWdldCgkZ3V0dGVycywgYWZ0ZXIpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGlmIG5vdCgkc3BsaXQtbmVzdCkge1xuICAgICAgJG1hcmdpbi1iZWZvcmU6IG1hcC1nZXQoJGd1dHRlcnMsIGJlZm9yZSk7XG4gICAgICAkbWFyZ2luLWFmdGVyOiBtYXAtZ2V0KCRndXR0ZXJzLCBhZnRlcik7XG4gICAgfVxuICB9XG5cbiAgLy8gc3BlY2lhbCBtYXJnaW4gaGFuZGxpbmdcbiAgQGlmIHN1c3ktZ2V0KG91dHB1dCwgJHNwYW4pID09IGlzb2xhdGUgYW5kICRsb2NhdGlvbiB7XG4gICAgJG1hcmdpbi1iZWZvcmU6IGdldC1pc29sYXRpb24oJHNwYW4pO1xuICAgICRtYXJnaW4tYWZ0ZXI6IC0xMDAlO1xuICB9IEBlbHNlIGlmICRlZGdlIHtcbiAgICAkaXMtc3BsaXQ6IGlzLXNwbGl0KCRzcGFuKTtcbiAgICAkcG9zOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRzcGFuKTtcblxuICAgIEBpZiAkZWRnZSA9PSBsYXN0IHtcbiAgICAgICRmbG9hdDogc3VzeS1nZXQobGFzdC1mbG93LCAkc3Bhbik7XG4gICAgfVxuXG4gICAgQGlmIG5vdCgkaXMtc3BsaXQpIHtcbiAgICAgIEBpZiAkZWRnZSA9PSBmdWxsIG9yICgkZWRnZSA9PSBmaXJzdCBhbmQgJHBvcyA9PSBiZWZvcmUpIHtcbiAgICAgICAgJG1hcmdpbi1iZWZvcmU6IDA7XG4gICAgICB9XG4gICAgICBAaWYgJGVkZ2UgPT0gZnVsbCBvciAoJGVkZ2UgPT0gbGFzdCBhbmQgJHBvcyA9PSBhZnRlcikge1xuICAgICAgICAkbWFyZ2luLWFmdGVyOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgQHJldHVybiAoXG4gICAgd2lkdGggICAgICAgICAgIDogJHdpZHRoLFxuICAgIGZsb2F0ICAgICAgICAgICA6ICRmbG9hdCxcbiAgICBtYXJnaW4tYmVmb3JlICAgOiAkbWFyZ2luLWJlZm9yZSxcbiAgICBtYXJnaW4tYWZ0ZXIgICAgOiAkbWFyZ2luLWFmdGVyLFxuICAgIHBhZGRpbmctYmVmb3JlICA6ICRwYWRkaW5nLWJlZm9yZSxcbiAgICBwYWRkaW5nLWFmdGVyICAgOiAkcGFkZGluZy1hZnRlcixcbiAgICBmbG93ICAgICAgICAgICAgOiBzdXN5LWdldChmbG93LCAkc3BhbiksXG4gICk7XG59XG5cbi8vIEdldCBTcGFuIFdpZHRoXG4vLyAtLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHNwYW4gd2lkdGguXG4vLyAtICRzcGFuOiA8bWFwPlxuQGZ1bmN0aW9uIGdldC1zcGFuLXdpZHRoKFxuICAkc3BhblxuKSB7XG4gICRzcGFuICAgICA6IHBhcnNlLXNwYW4oJHNwYW4pO1xuXG4gICRuICAgICAgICA6IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcbiAgJGxvY2F0aW9uIDogZ2V0LWxvY2F0aW9uKCRzcGFuKTtcbiAgJGNvbHVtbnMgIDogc3VzeS1nZXQoY29sdW1ucywgJHNwYW4pO1xuICAkZ3V0dGVycyAgOiBzdXN5LWdldChndXR0ZXJzLCAkc3Bhbik7XG4gICRzcHJlYWQgICA6IHN1c3ktZ2V0KHNwcmVhZCwgJHNwYW4pO1xuXG4gICRjb250ZXh0ICA6IG51bGw7XG4gICRzcGFuLXN1bSA6IG51bGw7XG4gICR3aWR0aCAgICA6IG51bGw7XG5cbiAgQGlmICRuID09ICdmdWxsJyB7XG4gICAgJHBvczogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkc3Bhbik7XG4gICAgJHJvbGU6IHN1c3ktZ2V0KHJvbGUsICRzcGFuKTtcbiAgICAkbjogaWYoJHBvcyA9PSBzcGxpdCBhbmQgJHJvbGUgIT0gbmVzdCwgc3VzeS1jb3VudCgkY29sdW1ucyksIDEwMCUpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJG4pICE9IG51bWJlciB7XG4gICAgQHdhcm4gXCIoI3t0eXBlLW9mKCRuKX0pICN7JG59IGlzIG5vdCBhIHZhbGlkIHNwYW4uXCI7XG4gIH0gQGVsc2UgaWYgdW5pdGxlc3MoJG4pIHtcbiAgICAkY29udGV4dDogc3VzeS1zdW0oJGNvbHVtbnMsICRndXR0ZXJzLCBpZihpcy1zcGxpdCgkc3BhbiksIHdpZGUsIG5hcnJvdykpO1xuICAgICRzcHJlYWQ6IGlmKGlzLWluc2lkZSgkc3BhbiksICRzcHJlYWQgb3Igd2lkZSwgJHNwcmVhZCk7XG4gICAgJHNwYW4tc3VtOiBzdXN5KCRuLCAkbG9jYXRpb24sICRjb2x1bW5zLCAkZ3V0dGVycywgJHNwcmVhZCk7XG5cbiAgICAkX21hdGg6IHN1c3ktZ2V0KG1hdGgsICRzcGFuKTtcbiAgICAkX2NvbHVtbi13aWR0aDogc3VzeS1nZXQoY29sdW1uLXdpZHRoLCAkc3Bhbik7XG4gICAgQGlmICRfbWF0aCA9PSBzdGF0aWMge1xuICAgICAgJHdpZHRoOiAkc3Bhbi1zdW0gKiB2YWxpZC1jb2x1bW4tbWF0aCgkX21hdGgsICRfY29sdW1uLXdpZHRoKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkc3Bhbi1zdW0gLyAkY29udGV4dCk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAkd2lkdGg6ICRuO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG4iLCIvLyBHdXR0ZXIgU3ludGF4XG4vLyA9PT09PT09PT09PT09XG5cblxuLy8gR3V0dGVyc1xuLy8gLS0tLS0tLVxuLy8gU2V0IGd1dHRlcnMgb24gYW4gZWxlbWVudC5cbi8vIC0gWyRzcGFuXSAgIDogPHNldHRpbmdzPlxuQG1peGluIGd1dHRlcnMoXG4gICRzcGFuOiAkc3VzeVxuKSB7XG4gICRpbnNwZWN0ICA6ICRzcGFuO1xuICAkc3BhbiAgICAgOiBwYXJzZS1ndXR0ZXJzKCRzcGFuKTtcbiAgJF9ndXR0ZXJzIDogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuXG4gICRfb3V0cHV0OiAoXG4gICAgYmVmb3JlOiBtYXAtZ2V0KCRfZ3V0dGVycywgYmVmb3JlKSxcbiAgICBhZnRlcjogbWFwLWdldCgkX2d1dHRlcnMsIGFmdGVyKSxcbiAgICBmbG93OiBzdXN5LWdldChmbG93LCAkc3BhbiksXG4gICk7XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGd1dHRlcnMsICRpbnNwZWN0KTtcblxuICBAaWYgaXMtaW5zaWRlKCRzcGFuKSB7XG4gICAgQGluY2x1ZGUgcGFkZGluZy1vdXRwdXQoJF9vdXRwdXQuLi4pO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBtYXJnaW4tb3V0cHV0KCRfb3V0cHV0Li4uKTtcbiAgfVxufVxuXG5AbWl4aW4gZ3V0dGVyKFxuICAkc3BhbjogJHN1c3lcbikge1xuICBAaW5jbHVkZSBndXR0ZXJzKCRzcGFuKTtcbn1cblxuXG4vLyBHdXR0ZXJcbi8vIC0tLS0tLVxuLy8gUmV0dXJuIHRoZSB3aWR0aCBvZiBhIGd1dHRlci5cbi8vIC0gWyRzcGFuXSAgIDogPHNldHRpbmdzPlxuQGZ1bmN0aW9uIGd1dHRlcihcbiAgJHNwYW46ICRzdXN5XG4pIHtcbiAgJHNwYW46IHBhcnNlLWd1dHRlcnMoJHNwYW4pO1xuXG4gICRfZ3V0dGVyczogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuICAkX2d1dHRlcnM6IG1hcC1nZXQoJF9ndXR0ZXJzLCBiZWZvcmUpIG9yIG1hcC1nZXQoJF9ndXR0ZXJzLCBhZnRlcik7XG5cbiAgQHJldHVybiAkX2d1dHRlcnM7XG59XG5cbkBmdW5jdGlvbiBndXR0ZXJzKFxuICAkc3BhbjogJHN1c3lcbikge1xuICBAcmV0dXJuIGd1dHRlcigkc3Bhbik7XG59XG5cblxuLy8gR2V0IEd1dHRlciBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIGd1dHRlciB3aWR0aC5cbi8vIC0gWyRjb250ZXh0XTogPGNvbnRleHQ+XG5AZnVuY3Rpb24gZ2V0LWd1dHRlci13aWR0aChcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGNvbnRleHQgIDogcGFyc2UtZ3V0dGVycygkY29udGV4dCk7XG5cbiAgJF9ndXR0ZXJzIDogc3VzeS1nZXQoZ3V0dGVycywgJGNvbnRleHQpO1xuICAkX2d1dHRlciAgOiBzdXN5LWdldChndXR0ZXItb3ZlcnJpZGUsICRjb250ZXh0KTtcblxuICBAaWYgJF9ndXR0ZXJzIGFuZCAoJF9ndXR0ZXJzID4gMCkgYW5kIG5vdCgkX2d1dHRlcikge1xuICAgICRfY29sdW1uLXdpZHRoOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRjb250ZXh0KTtcbiAgICAkX21hdGg6IGd1dHRlci1tYXRoKCRjb250ZXh0KTtcbiAgICBAaWYgJF9tYXRoID09IHN0YXRpYyB7XG4gICAgICAkX2d1dHRlcjogJF9ndXR0ZXJzICogdmFsaWQtY29sdW1uLW1hdGgoJF9tYXRoLCAkX2NvbHVtbi13aWR0aCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkX2NvbHVtbnMgOiBzdXN5LWdldChjb2x1bW5zLCAkY29udGV4dCk7XG4gICAgICAkX3NwcmVhZCAgOiBpZihpcy1zcGxpdCgkY29udGV4dCksIHdpZGUsIHN1c3ktZ2V0KHNwcmVhZCwgJGNvbnRleHQpKTtcbiAgICAgICRfZ3V0dGVyICA6IHBlcmNlbnRhZ2UoJF9ndXR0ZXJzIC8gc3VzeS1zdW0oJF9jb2x1bW5zLCAkX2d1dHRlcnMsICRfc3ByZWFkKSk7XG4gICAgfVxuICB9XG5cbiAgJF9ndXR0ZXI6IGlmKCRfZ3V0dGVyID09ICduby1ndXR0ZXJzJyBvciAkX2d1dHRlciA9PSAnbm8tZ3V0dGVyJywgbnVsbCwgJF9ndXR0ZXIpO1xuXG4gIEByZXR1cm4gJF9ndXR0ZXI7XG59XG5cblxuLy8gR2V0IEd1dHRlcnNcbi8vIC0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gYmVmb3JlIGFuZCBhZnRlciBndXR0ZXIgdmFsdWVzLlxuLy8gLSBbJGNvbnRleHRdOiA8Y29udGV4dD5cbkBmdW5jdGlvbiBnZXQtZ3V0dGVycyhcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGNvbnRleHQgICAgICAgICAgICA6IHBhcnNlLWd1dHRlcnMoJGNvbnRleHQpO1xuXG4gICRfZ3V0dGVyLXBvc2l0aW9uICAgOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KTtcbiAgJF9ndXR0ZXIgICAgICAgICAgICA6IGdldC1ndXR0ZXItd2lkdGgoJGNvbnRleHQpO1xuXG4gICRfcmV0dXJuICAgICAgICAgICAgOiAoYmVmb3JlOiBudWxsLCBhZnRlcjogbnVsbCk7XG5cbiAgQGlmIGlzLXNwbGl0KCRjb250ZXh0KSBhbmQgJF9ndXR0ZXIge1xuICAgICRfZ3V0dGVyOiAkX2d1dHRlciAvIDI7XG4gICAgJF9yZXR1cm46IG1hcC1tZXJnZSgkX3JldHVybiwgKGJlZm9yZTogJF9ndXR0ZXIsIGFmdGVyOiAkX2d1dHRlcikpO1xuICB9IEBlbHNlIHtcbiAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoJF9ndXR0ZXItcG9zaXRpb246ICRfZ3V0dGVyKSk7XG4gIH1cblxuICBAcmV0dXJuICRfcmV0dXJuO1xufVxuXG5cbi8vIElzIEluc2lkZVxuLy8gLS0tLS0tLS0tXG4vLyBSZXR1cm5zIHRydWUgaWYgZ3V0dGVycyBhcmUgaW5zaWRlLlxuLy8gJGNvbnRleHQ6IDxjb250ZXh0PlxuQGZ1bmN0aW9uIGlzLWluc2lkZShcbiAgJGNvbnRleHRcbikge1xuICAkX2luc2lkZTogaW5zaWRlIGluc2lkZS1zdGF0aWM7XG4gICRfZ3V0dGVyLXBvc2l0aW9uOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KTtcblxuICBAcmV0dXJuIGlmKGluZGV4KCRfaW5zaWRlLCAkX2d1dHRlci1wb3NpdGlvbiksIHRydWUsIGZhbHNlKTtcbn1cblxuXG4vLyBJcyBTcGxpdFxuLy8gLS0tLS0tLS1cbi8vIFJldHVybnMgdHJ1ZSBpZiBndXR0ZXJzIGFyZSBzcGxpdC5cbi8vICRjb250ZXh0OiA8Y29udGV4dD5cbkBmdW5jdGlvbiBpcy1zcGxpdChcbiAgJGNvbnRleHRcbikge1xuICAkX3NwbGl0OiBzcGxpdCBpbnNpZGUgaW5zaWRlLXN0YXRpYztcbiAgJF9ndXR0ZXItcG9zaXRpb246IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJGNvbnRleHQpO1xuXG4gIEByZXR1cm4gaWYoaW5kZXgoJF9zcGxpdCwgJF9ndXR0ZXItcG9zaXRpb24pLCB0cnVlLCBmYWxzZSk7XG59XG5cblxuLy8gR3V0dGVyIE1hdGhcbi8vIC0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gdGhlIG1hdGggdG8gdXNlIGZvciBndXR0ZXIgY2FsY3VsYXRpb25zXG4vLyAkY29udGV4dDogPGNvbnRleHQ+XG5AZnVuY3Rpb24gZ3V0dGVyLW1hdGgoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRfcmV0dXJuICA6IHN1c3ktZ2V0KG1hdGgsICRjb250ZXh0KTtcbiAgJF9yZXR1cm4gIDogaWYoc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkY29udGV4dCkgPT0gaW5zaWRlLXN0YXRpYywgc3RhdGljLCAkX3JldHVybik7XG5cbiAgQHJldHVybiAkX3JldHVybjtcbn1cbiIsIi8vIElzb2xhdGlvbiBTeW50YXhcbi8vID09PT09PT09PT09PT09PT1cblxuXG4vLyBJc29sYXRlIFtNaXhpbl1cbi8vIC0tLS0tLS0tLS0tLS0tLVxuLy8gU2V0IGlzb2xhdGlvbiBhcyBhbiBvdmVycmlkZS5cbi8vIC0gJGxvY2F0aW9uOiA8c3Bhbj5cbkBtaXhpbiBpc29sYXRlKFxuICAkaXNvbGF0ZTogMVxuKSB7XG4gICRpbnNwZWN0OiAkaXNvbGF0ZTtcblxuICAkb3V0cHV0OiAoXG4gICAgcHVzaDogaXNvbGF0ZSgkaXNvbGF0ZSksXG4gICAgZmxvdzogc3VzeS1nZXQoZmxvdywgJGlzb2xhdGUpLFxuICApO1xuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChpc29sYXRlLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIGlzb2xhdGUtb3V0cHV0KCRvdXRwdXQuLi4pO1xufVxuXG5cbi8vIElzb2xhdGUgW2Z1bmN0aW9uXVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gYW4gaXNvbGF0aW9uIG9mZnNldCB3aWR0aC5cbi8vIC0gJGxvY2F0aW9uOiA8c3Bhbj5cbkBmdW5jdGlvbiBpc29sYXRlKFxuICAkaXNvbGF0ZTogMVxuKSB7XG4gICRpc29sYXRlOiBwYXJzZS1zcGFuKCRpc29sYXRlKTtcbiAgJGlzb2xhdGlvbjogc3VzeS1nZXQoc3BhbiwgJGlzb2xhdGUpO1xuXG4gIEBpZiAkaXNvbGF0aW9uIGFuZCBub3QoZ2V0LWxvY2F0aW9uKCRpc29sYXRlKSkge1xuICAgICRuZXc6IChcbiAgICAgIHNwYW46IG51bGwsXG4gICAgICBsb2NhdGlvbjogJGlzb2xhdGlvbixcbiAgICApO1xuICAgICRpc29sYXRlOiBtYXAtbWVyZ2UoJGlzb2xhdGUsICRuZXcpO1xuICB9XG5cbiAgQHJldHVybiBnZXQtaXNvbGF0aW9uKCRpc29sYXRlKTtcbn1cblxuXG4vLyBHZXQgSXNvbGF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gdGhlIGlzb2xhdGlvbiBvZmZzZXQgd2lkdGhcbi8vIC0gJGlucHV0OiA8bWFwPlxuQGZ1bmN0aW9uIGdldC1pc29sYXRpb24oXG4gICRpbnB1dFxuKSB7XG4gICRsb2NhdGlvbiAgIDogZ2V0LWxvY2F0aW9uKCRpbnB1dCk7XG4gICRjb2x1bW5zICAgIDogc3VzeS1nZXQoY29sdW1ucywgJGlucHV0KTtcbiAgJHdpZHRoICAgICAgOiBudWxsO1xuXG4gIEBpZiB0eXBlLW9mKCRsb2NhdGlvbikgPT0gbnVtYmVyIGFuZCBub3QodW5pdGxlc3MoJGxvY2F0aW9uKSkge1xuICAgICR3aWR0aDogJGxvY2F0aW9uO1xuICB9IEBlbHNlIGlmICRsb2NhdGlvbiB7XG4gICAgJHB1c2g6ICRsb2NhdGlvbiAtIDE7XG4gICAgQGlmICRwdXNoID4gMCB7XG4gICAgICAkcHVzaDogbWFwLW1lcmdlKCRpbnB1dCwgKFxuICAgICAgICBzcGFuOiAkcHVzaCxcbiAgICAgICAgbG9jYXRpb246IDEsXG4gICAgICAgIHNwcmVhZDogd2lkZSxcbiAgICAgICkpO1xuICAgICAgJHdpZHRoOiBnZXQtc3Bhbi13aWR0aCgkcHVzaCk7XG4gICAgfVxuICB9XG5cbiAgQGlmIHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJGlucHV0KSA9PSBzcGxpdFxuICAgICAgYW5kIHN1c3ktZ2V0KGd1dHRlcnMsICRpbnB1dCkgPiAwIHtcbiAgICAkd2lkdGg6IGlmKCR3aWR0aCA9PSBudWxsLCBndXR0ZXJzKCRpbnB1dCksICR3aWR0aCArIGd1dHRlcnMoJGlucHV0KSk7XG4gIH1cblxuICBAcmV0dXJuICR3aWR0aCBvciAwO1xufVxuIiwiLy8gR2FsbGVyeSBTeW50YXhcbi8vID09PT09PT09PT09PT09XG5cbi8vIEdhbGxlcnlcbi8vIC0tLS0tLS1cbi8vIENyZWF0ZSBhbiBpc29sYXRlZCBnYWxsZXJ5XG4vLyAtICRzcGFuICAgICAgICA6IDxzcGFuPlxuLy8gLSBbJHNlbGVjdG9yXSAgOiBjaGlsZCB8IG9mLXR5cGVcbkBtaXhpbiBnYWxsZXJ5KFxuICAkc3BhbixcbiAgJHNlbGVjdG9yOiBjaGlsZFxuKSB7XG4gICRpbnNwZWN0ICAgIDogJHNwYW47XG4gICRzcGFuICAgICAgIDogcGFyc2Utc3Bhbigkc3Bhbik7XG4gICRzcGFuICAgICAgIDogbWFwLW1lcmdlKCRzcGFuLCAobG9jYXRpb246IDEpKTtcblxuICAkbiAgICAgICAgICAgIDogc3VzeS1nZXQoc3BhbiwgJHNwYW4pO1xuICAkY29sdW1ucyAgICAgIDogc3VzeS1nZXQoY29sdW1ucywgJHNwYW4pO1xuICAkY29udGV4dCAgICAgIDogc3VzeS1jb3VudCgkY29sdW1ucyk7XG4gICRmbG93ICAgICAgICAgOiBzdXN5LWdldChmbG93LCAkc3Bhbik7XG5cbiAgJGluc2lkZSAgICAgICA6IGlzLWluc2lkZSgkc3Bhbik7XG4gICRmcm9tICAgICAgICAgOiBmcm9tKCRmbG93KTtcbiAgJGxpbmUgICAgICAgICA6IGZsb29yKCRjb250ZXh0IC8gJG4pO1xuICAkc3ltbWV0cmljYWwgIDogaXMtc3ltbWV0cmljYWwoJGNvbHVtbnMpO1xuXG4gICRvdXRwdXQ6IChcbiAgICB3aWR0aCAgICAgICAgICAgICA6IG51bGwsXG4gICAgZmxvYXQgICAgICAgICAgICAgOiBmcm9tLFxuICAgIG1hcmdpbi1iZWZvcmUgICAgIDogbnVsbCxcbiAgICBtYXJnaW4tYWZ0ZXIgICAgICA6IG51bGwsXG4gICAgcGFkZGluZy1iZWZvcmUgICAgOiBudWxsLFxuICAgIHBhZGRpbmctYWZ0ZXIgICAgIDogbnVsbCxcbiAgICBmbG93ICAgICAgICAgICAgICA6ICRmbG93LFxuICApO1xuXG4gIEBpZiAkaW5zaWRlIHtcbiAgICAkZ3V0dGVyczogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuICAgICRvdXRwdXQ6IG1hcC1tZXJnZSgkb3V0cHV0LCAoXG4gICAgICBwYWRkaW5nLWJlZm9yZTogbWFwLWdldCgkZ3V0dGVycywgYmVmb3JlKSxcbiAgICAgIHBhZGRpbmctYWZ0ZXI6IG1hcC1nZXQoJGd1dHRlcnMsIGFmdGVyKSxcbiAgICApKTtcbiAgfVxuXG4gIEBpZiAkc3ltbWV0cmljYWwge1xuICAgICRvdXRwdXQ6IG1hcC1tZXJnZSgkb3V0cHV0LCAod2lkdGg6IGdldC1zcGFuLXdpZHRoKCRzcGFuKSkpO1xuICB9XG5cbiAgJGJveCAgICAgICAgICA6IHN1c3ktZ2V0KGJveC1zaXppbmcsICRzcGFuKTtcbiAgJGdsb2JhbC1ib3ggICA6IGlmKHN1c3ktZ2V0KGdsb2JhbC1ib3gtc2l6aW5nKSA9PSAnYm9yZGVyLWJveCcsIHRydWUsIGZhbHNlKTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoZ2FsbGVyeSwgJGluc3BlY3QpO1xuXG4gIC8vIENvbGxlY3RpdmUgT3V0cHV0XG4gIEBpZiAkYm94ID09IGJvcmRlci1ib3ggb3IgKCRpbnNpZGUgYW5kIG5vdCgkYm94KSBhbmQgbm90KCRnbG9iYWwtYm94KSkge1xuICAgIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogYm9yZGVyLWJveCkpO1xuICB9IEBlbHNlIGlmICRib3ggPT0gY29udGVudC1ib3gge1xuICAgIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogY29udGVudC1ib3gpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGZsb2F0LXNwYW4tb3V0cHV0KCRvdXRwdXQuLi4pO1xuXG4gIC8vIEluZGl2aWR1YWwgTG9vcFxuICBAZm9yICRpdGVtIGZyb20gMSB0aHJvdWdoICRsaW5lIHtcbiAgICAkbnRoOiAnI3skbGluZX1uICsgI3skaXRlbX0nO1xuICAgICY6bnRoLSN7JHNlbGVjdG9yfSgjeyRudGh9KSB7XG4gICAgICAvLyBJbmRpdmlkdWFsIFByZXBcbiAgICAgICRvdXRwdXQ6IChcbiAgICAgICAgd2lkdGggICAgICAgICAgICAgOiBpZigkc3ltbWV0cmljYWwsIG51bGwsIGdldC1zcGFuLXdpZHRoKCRzcGFuKSksXG4gICAgICAgIGZsb2F0ICAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgbWFyZ2luLWJlZm9yZSAgICAgOiBnZXQtaXNvbGF0aW9uKCRzcGFuKSxcbiAgICAgICAgbWFyZ2luLWFmdGVyICAgICAgOiAtMTAwJSxcbiAgICAgICAgcGFkZGluZy1iZWZvcmUgICAgOiBudWxsLFxuICAgICAgICBwYWRkaW5nLWFmdGVyICAgICA6IG51bGwsXG4gICAgICAgIGZsb3cgICAgICAgICAgICAgIDogJGZsb3csXG4gICAgICApO1xuXG4gICAgICAvLyBJbmRpdmlkdWFsIE91dHB1dFxuICAgICAgQGluY2x1ZGUgZmxvYXQtc3Bhbi1vdXRwdXQoJG91dHB1dC4uLik7XG5cbiAgICAgIEBpZiBnZXQtZWRnZSgkc3BhbikgPT0gZmlyc3Qge1xuICAgICAgICBAaW5jbHVkZSBicmVhaztcbiAgICAgICAgQGluY2x1ZGUgZmlyc3QoJHNwYW4pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIC8vIEluZGl2aWR1YWwgTG9jYXRpb24gSW5jcmVtZW50XG4gICAgICAkbG9jYXRpb246IGdldC1sb2NhdGlvbigkc3BhbikgKyAkbjtcbiAgICAgICRsb2NhdGlvbjogaWYoJGxvY2F0aW9uID4gJGNvbnRleHQsIDEsICRsb2NhdGlvbik7XG4gICAgICAkc3BhbjogbWFwLW1lcmdlKCRzcGFuLCAobG9jYXRpb246ICRsb2NhdGlvbikpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUm93IFN0YXJ0ICYgRW5kXG4vLyA9PT09PT09PT09PT09PT1cblxuLy8gQnJlYWtcbi8vIC0tLS0tXG4vLyBBcHBseSB0byBhbnkgZWxlbWVudCB0aGF0IHNob3VsZCBmb3JjZSBhIGxpbmUgYnJlYWsuXG5AbWl4aW4gYnJlYWsge1xuICBAaW5jbHVkZSBvdXRwdXQoKGNsZWFyOiBib3RoKSk7XG59XG5cblxuLy8gTm9CcmVha1xuLy8gLS0tLS0tLVxuLy8gQ2FuY2VsIHRoZSBicmVhaygpIGVmZmVjdCwgZS5nLiB3aGVuIHVzaW5nIG1lZGlhIHF1ZXJpZXMuXG5AbWl4aW4gbm9icmVhayB7XG4gIEBpbmNsdWRlIG91dHB1dCgoY2xlYXI6IG5vbmUpKTtcbn1cblxuXG4vLyBGdWxsXG4vLyAtLS0tXG4vLyAtIFskY29udGV4dF06IDxsYXlvdXQgc2hvcnRoYW5kPlxuQG1peGluIGZ1bGwoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRpbnNwZWN0IDogJGNvbnRleHQ7XG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChmdWxsLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIHNwYW4oZnVsbCBvZiBwYXJzZS1ncmlkKCRjb250ZXh0KSBicmVhayk7XG59XG5cblxuLy8gRmlyc3Rcbi8vIC0tLS0tXG4vLyAtIFskY29udGV4dF06IDxzZXR0aW5ncz5cbkBtaXhpbiBmaXJzdChcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGluc3BlY3QgIDogJGNvbnRleHQ7XG4gICRjb250ZXh0ICA6IHBhcnNlLWdyaWQoJGNvbnRleHQpO1xuICAkZmxvdyAgICAgOiBzdXN5LWdldChmbG93LCAkY29udGV4dCk7XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGZpcnN0LCAkaW5zcGVjdCk7XG4gIEBpZiBub3QoaXMtc3BsaXQoJGNvbnRleHQpKSB7XG4gICAgQGluY2x1ZGUgZmxvYXQtZmlyc3QoJGZsb3cpO1xuICB9XG59XG5cbkBtaXhpbiBhbHBoYShcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgQGluY2x1ZGUgZmlyc3QoJGNvbnRleHQpO1xufVxuXG5cbi8vIExhc3Rcbi8vIC0tLS1cbi8vIC0gWyRjb250ZXh0XTogPHNldHRpbmdzPlxuQG1peGluIGxhc3QoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRpbnNwZWN0ICA6ICRjb250ZXh0O1xuICAkY29udGV4dCAgOiBwYXJzZS1ncmlkKCRjb250ZXh0KTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QobGFzdCwgJGluc3BlY3QpO1xuXG4gICRvdXRwdXQ6IChcbiAgICBmbG93OiBzdXN5LWdldChmbG93LCAkY29udGV4dCksXG4gICAgbGFzdC1mbG93OiBzdXN5LWdldChsYXN0LWZsb3csICRjb250ZXh0KSxcbiAgICBtYXJnaW46IGlmKGlzLXNwbGl0KCRjb250ZXh0KSwgbnVsbCwgMCksXG4gICk7XG5cbiAgQGluY2x1ZGUgZmxvYXQtbGFzdCgkb3V0cHV0Li4uKTtcbn1cblxuQG1peGluIG9tZWdhKFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICBAaW5jbHVkZSBsYXN0KCRjb250ZXh0KTtcbn1cblxuXG4vLyBHZXQgRWRnZVxuLy8gLS0tLS0tLS1cbi8vIENhbGN1bGF0ZSBlZGdlIHZhbHVlIGJhc2VkIG9uIGxvY2F0aW9uLCBpZiBwb3NzaWJsZVxuQGZ1bmN0aW9uIGdldC1lZGdlKFxuICAkc3BhblxuKSB7XG4gICRzcGFuICAgICAgIDogcGFyc2Utc3Bhbigkc3Bhbik7XG4gICRlZGdlICAgICAgIDogc3VzeS1nZXQoZWRnZSwgJHNwYW4pO1xuXG4gIEBpZiBub3QoJGVkZ2UpIHtcbiAgICAkY291bnQ6IHN1c3ktY291bnQoc3VzeS1nZXQoY29sdW1ucywgJHNwYW4pKTtcbiAgICAkbG9jYXRpb246IHN1c3ktZ2V0KGxvY2F0aW9uLCAkc3Bhbik7XG4gICAgJG46IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcblxuICAgICRudW1iZXI6IGlmKHR5cGUtb2YoJGxvY2F0aW9uKSA9PSBudW1iZXIsIHRydWUsIGZhbHNlKTtcbiAgICAkaW5kZXg6IGlmKCRudW1iZXIgYW5kIHVuaXRsZXNzKCRsb2NhdGlvbiksIHRydWUsIGZhbHNlKTtcblxuICAgIEBpZiAkbiA9PSAkY291bnQge1xuICAgICAgJGVkZ2U6IGZ1bGw7XG4gICAgfSBAZWxzZSBpZiAkbG9jYXRpb24gYW5kICRuIGFuZCAkaW5kZXgge1xuICAgICAgQGlmICRsb2NhdGlvbiA9PSAxIHtcbiAgICAgICAgJGVkZ2U6IGlmKCRuID09ICRjb3VudCwgZnVsbCwgZmlyc3QpO1xuICAgICAgfSBAZWxzZSBpZiAkbG9jYXRpb24gKyAkbiAtIDEgPT0gJGNvdW50IHtcbiAgICAgICAgJGVkZ2U6IGxhc3Q7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRlZGdlID09IGFscGhhIG9yICRlZGdlID09IG9tZWdhIHtcbiAgICAkZWRnZTogaWYoJGVkZ2UgPT0gYWxwaGEsIGZpcnN0LCBsYXN0KTtcbiAgfVxuXG4gIEByZXR1cm4gJGVkZ2U7XG59XG5cblxuLy8gR2V0IExvY2F0aW9uXG4vLyAtLS0tLS0tLS0tLS1cbi8vIENhbGN1bGF0ZSBsb2NhdGlvbiB2YWx1ZSBiYXNlZCBvbiBlZGdlLCBpZiBwb3NzaWJsZVxuQGZ1bmN0aW9uIGdldC1sb2NhdGlvbihcbiAgJHNwYW5cbikge1xuICAkc3BhbiAgICAgICA6IHBhcnNlLXNwYW4oJHNwYW4pO1xuICAkbG9jYXRpb24gICA6IHN1c3ktZ2V0KGxvY2F0aW9uLCAkc3Bhbik7XG4gICRlZGdlICAgICAgIDogZ2V0LWVkZ2UoJHNwYW4pO1xuICAkbiAgICAgICAgICA6IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcblxuICBAaWYgJGVkZ2UgYW5kIG5vdCgkbG9jYXRpb24pIGFuZCB0eXBlLW9mKCRuKSA9PSBudW1iZXIgYW5kIHVuaXRsZXNzKCRuKSB7XG4gICAgQGlmICRlZGdlID09IGZpcnN0IHtcbiAgICAgICRsb2NhdGlvbjogMTtcbiAgICB9IEBlbHNlIGlmICRlZGdlID09IGxhc3Qge1xuICAgICAgJGxvY2F0aW9uOiBzdXN5LWNvdW50KHN1c3ktZ2V0KGNvbHVtbnMsICRzcGFuKSkgLSAkbiArIDE7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbG9jYXRpb25cbn1cbiIsIi8vIE1hcmdpbiBTeW50YXhcbi8vID09PT09PT09PT09PT1cblxuLy8gUHJlXG4vLyAtLS1cbi8vIEFkZCBzcGFubmluZy1tYXJnaW5zIGJlZm9yZSBhbiBlbGVtZW50LlxuLy8gLSAkc3BhbiAgOiA8c3Bhbj5cbkBtaXhpbiBwcmUoXG4gICRzcGFuXG4pIHtcbiAgJGluc3BlY3Q6ICRzcGFuO1xuICAkc3BhbiAgIDogbWFwLW1lcmdlKChzcHJlYWQ6IHdpZGUpLCBwYXJzZS1zcGFuKCRzcGFuKSk7XG4gICRmbG93ICAgOiBzdXN5LWdldChmbG93LCAkc3Bhbik7XG4gICRzcGxpdCAgOiBpZihzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRzcGFuKSA9PSBzcGxpdCwgdHJ1ZSwgZmFsc2UpO1xuICAkZ3V0dGVyIDogZ3V0dGVyKCRzcGFuKTtcbiAgJHNwYW4gICA6IHNwYW4oJHNwYW4pO1xuICAkd2lkdGggIDogaWYoJHNwbGl0IGFuZCAkZ3V0dGVyLCAkc3BhbiArICRndXR0ZXIsICRzcGFuKTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QocHJlLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIG1hcmdpbi1vdXRwdXQoJHdpZHRoLCBudWxsLCAkZmxvdyk7XG59XG5cbi8vIFBvc3Rcbi8vIC0tLS1cbi8vIEFkZCBzcGFubmluZy1tYXJnaW5zIGFmdGVyIGFuIGVsZW1lbnQuXG4vLyAtICRzcGFuICA6IDxzcGFuPlxuQG1peGluIHBvc3QoXG4gICRzcGFuXG4pIHtcbiAgJGluc3BlY3QgIDogJHNwYW47XG4gICRzcGFuICAgICA6IG1hcC1tZXJnZSgoc3ByZWFkOiB3aWRlKSwgcGFyc2Utc3Bhbigkc3BhbikpO1xuICAkZmxvdyAgICAgOiBzdXN5LWdldChmbG93LCAkc3Bhbik7XG4gICRzcGxpdCAgICA6IGlmKHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJHNwYW4pID09IHNwbGl0LCB0cnVlLCBmYWxzZSk7XG4gICR3aWR0aCAgICA6IGlmKCRzcGxpdCwgc3Bhbigkc3BhbikgKyBndXR0ZXIoJHNwYW4pLCBzcGFuKCRzcGFuKSk7XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KHBvc3QsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgbWFyZ2luLW91dHB1dChudWxsLCAkd2lkdGgsICRmbG93KTtcbn1cblxuLy8gUHVzaFxuLy8gLS0tLVxuLy8gU2ltcGxlIHN5bm9ueW1uIGZvciBwcmUuXG4vLyAtICRzcGFuICA6IDxzcGFuPlxuQG1peGluIHB1c2goXG4gICRzcGFuXG4pIHtcbiAgQGluY2x1ZGUgcHJlKCRzcGFuKTtcbn1cblxuLy8gUHVsbFxuLy8gLS0tLVxuLy8gQWRkIG5lZ2F0aXZlIHNwYW5uaW5nLW1hcmdpbnMgYmVmb3JlIGFuIGVsZW1lbnQuXG4vLyAtICRzcGFuICA6IDxzcGFuPlxuQG1peGluIHB1bGwoXG4gICRzcGFuXG4pIHtcbiAgJGluc3BlY3QgIDogJHNwYW47XG4gICRzcGFuICAgICA6IG1hcC1tZXJnZSgoc3ByZWFkOiB3aWRlKSwgcGFyc2Utc3Bhbigkc3BhbikpO1xuICAkZmxvdyAgICAgOiBzdXN5LWdldChmbG93LCAkc3Bhbik7XG4gICRzcGxpdCAgICA6IGlmKHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJHNwYW4pID09IHNwbGl0LCB0cnVlLCBmYWxzZSk7XG4gICR3aWR0aCAgICA6IGlmKCRzcGxpdCwgMCAtIHNwYW4oJHNwYW4pICsgZ3V0dGVyKCRzcGFuKSwgMCAtIHNwYW4oJHNwYW4pKTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QocHVsbCwgJGluc3BlY3QpO1xuICBAaW5jbHVkZSBtYXJnaW4tb3V0cHV0KCR3aWR0aCwgbnVsbCwgJGZsb3cpO1xufVxuXG4vLyBTcXVpc2hcbi8vIC0tLS0tLVxuLy8gQWRkIHNwYW5uaW5nLW1hcmdpbnMgYmVmb3JlIGFuZCBhZnRlciBhbiBlbGVtZW50LlxuLy8gLSAkcHJlICAgICA6IDxzcGFuPlxuLy8gLSBbJHBvc3RdICA6IDxzcGFuPlxuQG1peGluIHNxdWlzaChcbiAgJHByZSxcbiAgJHBvc3Q6IGZhbHNlXG4pIHtcbiAgJGluc3BlY3QgICAgICA6ICgkcHJlLCAkcG9zdCk7XG4gICRwcmUgICAgICAgICAgOiBtYXAtbWVyZ2UoKHNwcmVhZDogd2lkZSksIHBhcnNlLXNwYW4oJHByZSkpO1xuXG4gIEBpZiAkcG9zdCB7XG4gICAgJHBvc3Q6IG1hcC1tZXJnZSgoc3ByZWFkOiB3aWRlKSwgcGFyc2Utc3BhbigkcG9zdCkpO1xuICB9IEBlbHNlIHtcbiAgICAkc3Bhbjogc3VzeS1nZXQoc3BhbiwgJHByZSk7XG4gICAgQGlmIGxlbmd0aCgkc3BhbikgPiAxIHtcbiAgICAgICRwcmU6IG1hcC1tZXJnZSgkcHJlLCAoc3BhbjogbnRoKCRzcGFuLCAxKSkpO1xuICAgICAgJHBvc3Q6IG1hcC1tZXJnZSgkcHJlLCAoc3BhbjogbnRoKCRzcGFuLCAyKSkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHBvc3Q6ICRwcmU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KHNxdWlzaCwgJGluc3BlY3QpO1xuICBAaW5jbHVkZSBwcmUoJHByZSk7XG4gIEBpbmNsdWRlIHBvc3QoJHBvc3QpO1xufVxuIiwiLy8gUGFkZGluZyBTeW50YXhcbi8vID09PT09PT09PT09PT09XG5cbi8vIFByZWZpeFxuLy8gLS0tLS0tXG4vLyBBZGQgc3Bhbm5pbmctcGFkZGluZyBiZWZvcmUgYW4gZWxlbWVudC5cbi8vIC0gJHNwYW4gIDogPHNwYW4+XG5AbWl4aW4gcHJlZml4KFxuICAkc3BhblxuKSB7XG4gICRpbnNwZWN0ICA6ICRzcGFuO1xuICAkc3BhbiAgICAgOiBtYXAtbWVyZ2UoKHNwcmVhZDogd2lkZSksIHBhcnNlLXNwYW4oJHNwYW4pKTtcbiAgJGZsb3cgICAgIDogc3VzeS1nZXQoZmxvdywgJHNwYW4pO1xuICAkd2lkdGggICAgOiBzcGFuKCRzcGFuKTtcblxuICBAaWYgaXMtaW5zaWRlKCRzcGFuKSB7XG4gICAgJGd1dHRlcjogZ3V0dGVyKCRzcGFuKTtcbiAgICAkd2lkdGg6IGlmKCRndXR0ZXIgYW5kIGNvbXBhcmFibGUoJHdpZHRoLCAkZ3V0dGVyKSwgJHdpZHRoICsgJGd1dHRlciwgJHdpZHRoKTtcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChwcmVmaXgsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgcGFkZGluZy1vdXRwdXQoJHdpZHRoLCBudWxsLCAkZmxvdyk7XG59XG5cbi8vIFN1ZmZpeFxuLy8gLS0tLS0tXG4vLyBBZGQgc3Bhbm5pbmctcGFkZGluZyBhZnRlciBhbiBlbGVtZW50LlxuLy8gLSAkc3BhbiAgOiA8c3Bhbj5cbkBtaXhpbiBzdWZmaXgoXG4gICRzcGFuXG4pIHtcbiAgJGluc3BlY3QgIDogJHNwYW47XG4gICRzcGFuICAgICA6IG1hcC1tZXJnZSgoc3ByZWFkOiB3aWRlKSwgcGFyc2Utc3Bhbigkc3BhbikpO1xuICAkZmxvdyAgICAgOiBzdXN5LWdldChmbG93LCAkc3Bhbik7XG4gICR3aWR0aCAgICA6IHNwYW4oJHNwYW4pO1xuXG4gIEBpZiBpcy1pbnNpZGUoJHNwYW4pIHtcbiAgICAkZ3V0dGVyOiBndXR0ZXIoJHNwYW4pO1xuICAgICR3aWR0aDogaWYoJGd1dHRlciBhbmQgY29tcGFyYWJsZSgkd2lkdGgsICRndXR0ZXIpLCAkd2lkdGggKyAkZ3V0dGVyLCAkd2lkdGgpO1xuICB9XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KHN1ZmZpeCwgJGluc3BlY3QpO1xuICBAaW5jbHVkZSBwYWRkaW5nLW91dHB1dChudWxsLCAkd2lkdGgsICRmbG93KTtcbn1cblxuLy8gUGFkXG4vLyAtLS1cbi8vIEFkZCBzcGFubmluZy1wYWRkaW5nIGJlZm9yZSBhbmQgYWZ0ZXIgYW4gZWxlbWVudC5cbi8vIC0gJHByZSAgICAgOiA8c3Bhbj5cbi8vIC0gWyRwb3N0XSAgOiA8c3Bhbj5cbkBtaXhpbiBwYWQoXG4gICRwcmUsXG4gICRwb3N0OiBmYWxzZVxuKSB7XG4gICRpbnNwZWN0ICA6ICgkcHJlLCAkcG9zdCk7XG4gICRwcmUgICAgICA6IG1hcC1tZXJnZSgoc3ByZWFkOiB3aWRlKSwgcGFyc2Utc3BhbigkcHJlKSk7XG5cbiAgQGlmICRwb3N0IHtcbiAgICAkcG9zdDogbWFwLW1lcmdlKChzcHJlYWQ6IHdpZGUpLCBwYXJzZS1zcGFuKCRwb3N0KSk7XG4gIH0gQGVsc2Uge1xuICAgICRzcGFuOiBzdXN5LWdldChzcGFuLCAkcHJlKTtcbiAgICBAaWYgbGVuZ3RoKCRzcGFuKSA+IDEge1xuICAgICAgJHByZTogbWFwLW1lcmdlKCRwcmUsIChzcGFuOiBudGgoJHNwYW4sIDEpKSk7XG4gICAgICAkcG9zdDogbWFwLW1lcmdlKCRwcmUsIChzcGFuOiBudGgoJHNwYW4sIDIpKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcG9zdDogJHByZTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QocGFkLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIHByZWZpeCgkcHJlKTtcbiAgQGluY2x1ZGUgc3VmZml4KCRwb3N0KTtcblxufVxuIiwiLy8gQmxlZWQgU3ludGF4XG4vLyA9PT09PT09PT09PT1cblxuLy8gQmxlZWRcbi8vIC0tLS0tXG4vLyBBZGQgbmVnYXRpdmUgbWFyZ2lucywgYW5kIGVxdWFsIHBvc2l0aXZlIHBhZGRpbmcgdG8gY3JlYXRlIGJsZWVkLlxuLy8gLSAkYmxlZWQgIDogPHNwYW4+XG5AbWl4aW4gYmxlZWQoXG4gICRibGVlZDogMCBndXR0ZXIoKVxuKSB7XG4gICRpbnNwZWN0ICA6ICRibGVlZDtcbiAgJG91dHB1dCAgIDogZ2V0LWJsZWVkKCRibGVlZCk7XG5cbiAgQGlmIHN1c3ktZ2V0KGdsb2JhbC1ib3gtc2l6aW5nKSAhPSBjb250ZW50LWJveCB7XG4gICAgJG91dHB1dDogbWFwLW1lcmdlKChib3gtc2l6aW5nOiBjb250ZW50LWJveCksICRvdXRwdXQpO1xuICB9XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGJsZWVkLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIG91dHB1dCgkb3V0cHV0KTtcbn1cblxuXG4vLyBCbGVlZC14XG4vLyAtLS0tLS0tXG4vLyBTaG9ydGN1dCBmb3IgaG9yaXpvbnRhbCBibGVlZC5cbi8vIC0gJGJsZWVkICA6IDxzcGFuPlxuQG1peGluIGJsZWVkLXgoXG4gICRibGVlZDogZ3V0dGVyKClcbikge1xuICAkYmxlZWQgIDogcGFyc2Utc3BhbigkYmxlZWQpO1xuICAkdHJibCAgIDogc3VzeS1nZXQoc3BhbiwgJGJsZWVkKTtcblxuICBAaWYgbGVuZ3RoKCR0cmJsKSA9PSAxIHtcbiAgICAkYmxlZWQ6IG1hcC1tZXJnZSgkYmxlZWQsIChzcGFuOiAwIG50aCgkdHJibCwgMSkpKTtcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHRyYmwpID09IDIge1xuICAgICRibGVlZDogbWFwLW1lcmdlKCRibGVlZCwgKHNwYW46IDAgbnRoKCR0cmJsLCAyKSAwIG50aCgkdHJibCwgMSkpKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJ2JsZWVkLXggb25seSB0YWtlcyAyIGxlbmd0aHMsIGJ1dCAje2xlbmd0aCgkdHJibCl9IHdlcmUgcGFzc2VkLic7XG4gIH1cblxuICBAaW5jbHVkZSBibGVlZCgkYmxlZWQpO1xufVxuXG5cbi8vIEJsZWVkLXlcbi8vIC0tLS0tLS1cbi8vIFNob3J0Y3V0IGZvciB2ZXJ0aWNhbCBibGVlZC5cbi8vIC0gJGJsZWVkICA6IDxzcGFuPlxuQG1peGluIGJsZWVkLXkoXG4gICRibGVlZDogaWYoZnVuY3Rpb24tZXhpc3RzKHJoeXRobSksIHJoeXRobSgxKSwgMWVtKVxuKSB7XG4gICRibGVlZCAgOiBwYXJzZS1zcGFuKCRibGVlZCk7XG4gICR0cmJsICAgOiBzdXN5LWdldChzcGFuLCAkYmxlZWQpO1xuXG4gIEBpZiBsZW5ndGgoJHRyYmwpID09IDEge1xuICAgICRibGVlZDogbWFwLW1lcmdlKCRibGVlZCwgKHNwYW46IG50aCgkdHJibCwgMSkgMCkpO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkdHJibCkgPT0gMiB7XG4gICAgJGJsZWVkOiBtYXAtbWVyZ2UoJGJsZWVkLCAoc3BhbjogbnRoKCR0cmJsLCAxKSAwIG50aCgkdHJibCwgMikgMCkpO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAnYmxlZWQteSBvbmx5IHRha2VzIDIgbGVuZ3RocywgYnV0ICN7bGVuZ3RoKCR0cmJsKX0gd2VyZSBwYXNzZWQuJztcbiAgfVxuXG4gIEBpbmNsdWRlIGJsZWVkKCRibGVlZCk7XG59XG5cblxuLy8gR2V0IEJsZWVkXG4vLyAtLS0tLS0tLS1cbi8vIFJldHVybiBibGVlZCBvdXRwdXQgdmFsdWVzXG4vLyAtICRibGVlZDogPHNwYW4+XG5AZnVuY3Rpb24gZ2V0LWJsZWVkKFxuICAkYmxlZWRcbikge1xuICAkYmxlZWQgICAgOiBtYXAtbWVyZ2UoKHNwcmVhZDogd2lkZSksIHBhcnNlLXNwYW4oJGJsZWVkKSk7XG4gICR0cmJsICAgICA6IHN1c3ktZ2V0KHNwYW4sICRibGVlZCk7XG4gICRzaG9ydCAgICA6IG51bGw7XG4gICRvdXRwdXQgICA6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCR0cmJsKSB7XG4gICAgJHRoaXM6IG50aCgkdHJibCwgJGkpO1xuICAgICRuZXc6ICgpO1xuICAgICRtYXJnaW46IG51bGw7XG4gICAgJHBhZGRpbmc6IG51bGw7XG4gICAgJHBhZGRpbmcteDogbnVsbDtcblxuICAgIEBpZiAkdGhpcyA+IDAge1xuICAgICAgJHRoaXM6IG1hcC1tZXJnZSgkYmxlZWQsIChzcGFuOiAkdGhpcykpO1xuICAgICAgJG1hcmdpbjogc3BhbigkdGhpcyk7XG4gICAgICAkcGFkZGluZzogJG1hcmdpbjtcbiAgICAgICRwYWRkaW5nLXg6ICRwYWRkaW5nO1xuICAgIH1cblxuICAgIEBpZiAkbWFyZ2luIGFuZCAkbWFyZ2luID4gMCB7XG4gICAgICAkbWFyZ2luOiAtICRtYXJnaW47XG5cbiAgICAgIEBpZiBpcy1pbnNpZGUoJHRoaXMpIHtcbiAgICAgICAgJGd1dHRlcjogZ3V0dGVyKCR0aGlzKTtcbiAgICAgICAgJGpvaW46IGlmKCRndXR0ZXIgYW5kIGNvbXBhcmFibGUoJHBhZGRpbmcsICRndXR0ZXIpLCB0cnVlLCBmYWxzZSk7XG4gICAgICAgICRwYWRkaW5nLXg6IGlmKCRqb2luIGFuZCAkcGFkZGluZyA+IDAsICRwYWRkaW5nICsgJGd1dHRlciwgJHBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkaSA9PSAxIHtcbiAgICAgICRuZXc6IChcbiAgICAgICAgbWFyZ2luLXRvcDogJG1hcmdpbixcbiAgICAgICAgcGFkZGluZy10b3A6ICRwYWRkaW5nLFxuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4sXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLXgsXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW4sXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZyxcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW4sXG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmcteCxcbiAgICAgICk7XG4gICAgfSBAZWxzZSBpZiAkaSA9PSAyIHtcbiAgICAgICRuZXc6IChcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy14LFxuICAgICAgICBtYXJnaW4tbGVmdDogJG1hcmdpbixcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZy14LFxuICAgICAgKTtcbiAgICB9IEBlbHNlIGlmICRpID09IDMge1xuICAgICAgJG5ldzogKFxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLFxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmcsXG4gICAgICApO1xuICAgIH0gQGVsc2UgaWYgJGkgPT0gNCB7XG4gICAgICAkbmV3OiAoXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luLFxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nLXgsXG4gICAgICApO1xuICAgIH1cblxuICAgICRvdXRwdXQ6IG1hcC1tZXJnZSgkb3V0cHV0LCAkbmV3KTtcbiAgfVxuXG4gIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJG91dHB1dCB7XG4gICAgJG91dHB1dDogaWYoJHZhbHVlID09IDAsIG1hcC1tZXJnZSgkb3V0cHV0LCAoJHByb3A6IG51bGwpKSwgJG91dHB1dCk7XG4gIH1cblxuICBAcmV0dXJuIGJsZWVkLXNob3J0aGFuZCgkb3V0cHV0KTtcbn1cblxuLy8gQmxlZWQgU2hvcnRoYW5kXG4vLyAtLS0tLS0tLS0tLS0tLS1cbi8vIENvbnZlcnQgYmxlZWQgb3V0cHV0IGludG8gc2hvcnRoYW5kIHdoZW4gcG9zc2libGUuXG4vLyAtICRibGVlZDogPG91dHB1dCBtYXA+XG5AZnVuY3Rpb24gYmxlZWQtc2hvcnRoYW5kKFxuICAkYmxlZWRcbikge1xuICAkbWFyZ2luOiAoKTtcbiAgJHBhZGRpbmc6ICgpO1xuICAkcmV0dXJuOiAoKTtcblxuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGJsZWVkIHtcbiAgICBAaWYgc3RyLWluZGV4KCRrZXksIG1hcmdpbikge1xuICAgICAgJG1hcmdpbjogbWFwLW1lcmdlKCRtYXJnaW4sICgka2V5OiAkdmFsdWUpKTtcbiAgICB9IEBlbHNlIGlmIHN0ci1pbmRleCgka2V5LCBwYWRkaW5nKSA+IDAge1xuICAgICAgJHBhZGRpbmc6IG1hcC1tZXJnZSgkcGFkZGluZywgKCRrZXk6ICR2YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gICRwcm9wczogKFxuICAgIG1hcmdpbjogJG1hcmdpbixcbiAgICBwYWRkaW5nOiAkcGFkZGluZyxcbiAgKTtcblxuICBAZWFjaCAkbmFtZSwgJG1hcCBpbiAkcHJvcHMge1xuICAgICRmb3VyOiBpZihsZW5ndGgobWFwLWtleXMoJG1hcCkpID09IDQsIHRydWUsIGZhbHNlKTtcbiAgICAkbnVsbDogaWYoaW5kZXgobWFwLXZhbHVlcygkbWFwKSwgbnVsbCksIHRydWUsIGZhbHNlKTtcblxuICAgIEBpZiAkZm91ciBhbmQgbm90KCRudWxsKSB7XG4gICAgICAkdG9wOiBtYXAtZ2V0KCRtYXAsICcjeyRuYW1lfS10b3AnKTtcbiAgICAgICRyaWdodDogbWFwLWdldCgkbWFwLCAnI3skbmFtZX0tcmlnaHQnKTtcbiAgICAgICRib3R0b206IG1hcC1nZXQoJG1hcCwgJyN7JG5hbWV9LWJvdHRvbScpO1xuICAgICAgJGxlZnQ6IG1hcC1nZXQoJG1hcCwgJyN7JG5hbWV9LWxlZnQnKTtcblxuICAgICAgJHRiOiBpZigkdG9wID09ICRib3R0b20sICR0b3AsIG51bGwpO1xuICAgICAgJHJsOiBpZigkcmlnaHQgPT0gJGxlZnQsICRyaWdodCwgbnVsbCk7XG4gICAgICAkYWxsOiBpZigkdGIgPT0gJHJsLCAkdGIsIG51bGwpO1xuXG4gICAgICAkbmV3OiBpZigkYWxsLCAkYWxsLCBudWxsKTtcblxuICAgICAgQGlmIG5vdCgkbmV3KSB7XG4gICAgICAgIEBpZiAkdGIgYW5kICRybCB7XG4gICAgICAgICAgJG5ldzogJHRiICRybDtcbiAgICAgICAgfSBAZWxzZSBpZiAkcmwge1xuICAgICAgICAgICRuZXc6ICR0b3AgJHJsICRib3R0b207XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICRuZXc6ICR0b3AgJHJpZ2h0ICRib3R0b20gJGxlZnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJHJldHVybjogbWFwLW1lcmdlKCRyZXR1cm4sICgkbmFtZTogJG5ldykpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJldHVybjogbWFwLW1lcmdlKCRyZXR1cm4sICRtYXApO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHJldHVybjtcbn1cbiIsIi8vIEJyZWFrcG9pbnQgSW50ZWdyYXRpb25cbi8vID09PT09PT09PT09PT09PT09PT09PT1cblxuJHN1c3ktbWVkaWE6ICgpICFkZWZhdWx0O1xuJHN1c3ktbWVkaWEtZmFsbGJhY2s6IGZhbHNlICFkZWZhdWx0O1xuXG4kX3N1c3ktbWVkaWEtY29udGV4dDogKCk7XG5cblxuLy8gU3VzeSBCcmVha3BvaW50XG4vLyAtLS0tLS0tLS0tLS0tLS1cbi8vIENoYW5nZSBncmlkcyBhdCBkaWZmZXJlbnQgbWVkaWEgcXVlcnkgYnJlYWtwb2ludHMuXG4vLyAtICRxdWVyeSAgICAgOiA8bWluLXdpZHRoPiBbPG1heC13aWR0aD5dIHwgPHByb3BlcnR5PiA8dmFsdWU+IHwgPG1hcD5cbi8vIC0gJGxheW91dCAgICA6IDxzZXR0aW5ncz5cbi8vIC0gJG5vLXF1ZXJ5ICA6IDxib29sZWFuPiB8IDxzZWxlY3Rvcj5cbkBtaXhpbiBzdXN5LWJyZWFrcG9pbnQoXG4gICRxdWVyeSxcbiAgJGxheW91dDogZmFsc2UsXG4gICRuby1xdWVyeTogJHN1c3ktbWVkaWEtZmFsbGJhY2tcbikge1xuICBAaW5jbHVkZSBzdXN5LW1lZGlhLXJvdXRlcigkcXVlcnksICRuby1xdWVyeSkge1xuICAgIEBpZiAkbGF5b3V0IHtcbiAgICAgIEBpbmNsdWRlIHdpdGgtbGF5b3V0KCRsYXlvdXQpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTdXN5IE1lZGlhXG4vLyAtLS0tLS0tLS0tXG4vLyAtICRxdWVyeTogPG1pbi13aWR0aD4gWzxtYXgtd2lkdGg+XSB8IDxwcm9wZXJ0eT4gPHZhbHVlPlxuLy8gLSAkbm8tcXVlcnk6IDxib29sZWFuPiB8IDxzZWxlY3Rvcj5cbkBtaXhpbiBzdXN5LW1lZGlhKFxuICAkcXVlcnksXG4gICRuby1xdWVyeTogJHN1c3ktbWVkaWEtZmFsbGJhY2tcbikge1xuICAkb2xkLWNvbnRleHQ6ICRfc3VzeS1tZWRpYS1jb250ZXh0O1xuICAkbmFtZTogaWYobWFwLWhhcy1rZXkoJHN1c3ktbWVkaWEsICRxdWVyeSksICRxdWVyeSwgbnVsbCk7XG4gICRxdWVyeTogc3VzeS1nZXQtbWVkaWEoJHF1ZXJ5KTtcbiAgJHF1ZXJ5OiBzdXN5LXBhcnNlLW1lZGlhKCRxdWVyeSk7XG5cbiAgQGluY2x1ZGUgc3VzeS1tZWRpYS1jb250ZXh0KCRxdWVyeSwgJG5hbWUpO1xuXG4gIEBpZiAkbm8tcXVlcnkgYW5kIHR5cGUtb2YoJG5vLXF1ZXJ5KSAhPSBzdHJpbmcge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIHtcbiAgICBAbWVkaWEgI3tzdXN5LXJlbmRlci1tZWRpYSgkcXVlcnkpfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBAaWYgdHlwZS1vZigkbm8tcXVlcnkpID09IHN0cmluZyB7XG4gICAgICAjeyRuby1xdWVyeX0gJiB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktbWVkaWEtY29udGV4dCgkb2xkLWNvbnRleHQsICRjbGVhbjogdHJ1ZSk7XG59XG5cblxuLy8gTWVkaWEgUm91dGVyXG4vLyAtLS0tLS0tLS0tLS1cbi8vIFJvdXQgbWVkaWEgYXJndW1lbnRzIHRvIHRoZSBjb3JyZWN0IG1peGluLlxuQG1peGluIHN1c3ktbWVkaWEtcm91dGVyKFxuICAkcXVlcnksXG4gICRuby1xdWVyeTogJHN1c3ktbWVkaWEtZmFsbGJhY2tcbikge1xuICBAaWYgc3VzeS1zdXBwb3J0KGJyZWFrcG9pbnQsIChtaXhpbjogYnJlYWtwb2ludCksICR3YXJuOiBmYWxzZSkge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHF1ZXJ5LCAkbm8tcXVlcnkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgc3VzeS1tZWRpYSgkcXVlcnksICRuby1xdWVyeSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVXBkYXRlIENvbnRleHRcbi8vIC0tLS0tLS0tLS0tLS1cbi8vIFNldCB0aGUgbmV3IG1lZGlhIGNvbnRleHRcbkBtaXhpbiBzdXN5LW1lZGlhLWNvbnRleHQoXG4gICRxdWVyeSxcbiAgJG5hbWU6IG51bGwsXG4gICRjbGVhbjogZmFsc2Vcbikge1xuICAkcXVlcnk6IG1hcC1tZXJnZSgobmFtZTogJG5hbWUpLCAkcXVlcnkpO1xuXG4gIEBpZiAkY2xlYW4ge1xuICAgICRfc3VzeS1tZWRpYS1jb250ZXh0OiAkcXVlcnkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJF9zdXN5LW1lZGlhLWNvbnRleHQ6IG1hcC1tZXJnZSgkX3N1c3ktbWVkaWEtY29udGV4dCwgJHF1ZXJ5KSAhZ2xvYmFsO1xuICB9XG59XG5cblxuLy8gTWVkaWEgQ29udGV4dFxuLy8gLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHRoZSBmdWxsIG1lZGlhIGNvbnRleHQsIG9yIGEgc2luZ2xlIG1lZGlhIHByb3BlcnR5IChlLmcuIG1pbi13aWR0aClcbkBmdW5jdGlvbiBzdXN5LW1lZGlhLWNvbnRleHQoXG4gICRwcm9wZXJ0eTogZmFsc2Vcbikge1xuICBAaWYgJHByb3BlcnR5IHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJF9zdXN5LW1lZGlhLWNvbnRleHQsICRwcm9wZXJ0eSk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJF9zdXN5LW1lZGlhLWNvbnRleHQ7XG4gIH1cbn1cblxuXG4vLyBHZXQgTWVkaWFcbi8vIC0tLS0tLS0tLVxuLy8gUmV0dXJuIGEgbmFtZWQgbWVkaWEtcXVlcnkgZnJvbSAkc3VzeS1tZWRpYS5cbi8vIC0gJG5hbWU6IDxrZXk+XG5AZnVuY3Rpb24gc3VzeS1nZXQtbWVkaWEoXG4gICRuYW1lXG4pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRzdXN5LW1lZGlhLCAkbmFtZSkge1xuICAgICRtYXAtdmFsdWU6IG1hcC1nZXQoJHN1c3ktbWVkaWEsICRuYW1lKTtcbiAgICBAaWYgKCRuYW1lID09ICRtYXAtdmFsdWUpIHtcbiAgICAgICRuYW1lOiAkbWFwLXZhbHVlO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJG5hbWU6IHN1c3ktZ2V0LW1lZGlhKCRtYXAtdmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5hbWU7XG59XG5cblxuLy8gUmVuZGVyIE1lZGlhXG4vLyAtLS0tLS0tLS0tLS1cbi8vIEJ1aWxkIGEgbWVkaWEtcXVlcnkgc3RyaW5nIGZyb20gdmFyaW91cyBtZWRpYSBzZXR0aW5nc1xuQGZ1bmN0aW9uIHN1c3ktcmVuZGVyLW1lZGlhKFxuICAkcXVlcnlcbikge1xuICAkb3V0cHV0OiBudWxsO1xuICBAZWFjaCAkcHJvcGVydHksICR2YWx1ZSBpbiAkcXVlcnkge1xuICAgICRzdHJpbmc6IG51bGw7XG5cbiAgICBAaWYgJHByb3BlcnR5ID09IG1lZGlhIHtcbiAgICAgICRzdHJpbmc6ICR2YWx1ZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRzdHJpbmc6ICcoI3skcHJvcGVydHl9OiAjeyR2YWx1ZX0pJztcbiAgICB9XG5cbiAgICAkb3V0cHV0OiBpZigkb3V0cHV0LCAnI3skb3V0cHV0fSBhbmQgI3skc3RyaW5nfScsICRzdHJpbmcpO1xuICB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG5cbi8vIFBhcnNlIE1lZGlhXG4vLyAtLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHBhcnNlZCBtZWRpYS1xdWVyeSBzZXR0aW5ncyBiYXNlZCBvbiBzaG9ydGhhbmRcbkBmdW5jdGlvbiBzdXN5LXBhcnNlLW1lZGlhKFxuICAkcXVlcnlcbikge1xuICAkbXE6IG51bGw7XG4gIEBpZiB0eXBlLW9mKCRxdWVyeSkgPT0gbWFwIHtcbiAgICAkbXE6ICRxdWVyeTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRxdWVyeSkgPT0gbnVtYmVyIHtcbiAgICAkbXE6IChtaW4td2lkdGg6ICRxdWVyeSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkcXVlcnkpID09IGxpc3QgYW5kIGxlbmd0aCgkcXVlcnkpID09IDIge1xuICAgIEBpZiB0eXBlLW9mKG50aCgkcXVlcnksIDEpKSA9PSBudW1iZXIge1xuICAgICAgJG1xOiAoXG4gICAgICAgIG1pbi13aWR0aDogbWluKCRxdWVyeS4uLiksXG4gICAgICAgIG1heC13aWR0aDogbWF4KCRxdWVyeS4uLiksXG4gICAgICApO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJG1xOiAobnRoKCRxdWVyeSwgMSk6IG50aCgkcXVlcnksIDIpKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICRtcTogKG1lZGlhOiAnI3skcXVlcnl9Jyk7XG4gIH1cblxuICBAcmV0dXJuICRtcTtcbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRGVmYXVsdCBWYXJpYWJsZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJEJyZWFrcG9pbnQtU2V0dGluZ3M6IChcbiAgJ2RlZmF1bHQgbWVkaWEnOiBhbGwsXG4gICdkZWZhdWx0IGZlYXR1cmUnOiBtaW4td2lkdGgsXG4gICdkZWZhdWx0IHBhaXInOiB3aWR0aCxcblxuICAnZm9yY2UgYWxsIG1lZGlhIHR5cGUnOiBmYWxzZSxcbiAgJ3RvIGVtcyc6IGZhbHNlLFxuICAndHJhbnNmb3JtIHJlc29sdXRpb25zJzogdHJ1ZSxcblxuICAnbm8gcXVlcmllcyc6IGZhbHNlLFxuICAnbm8gcXVlcnkgZmFsbGJhY2tzJzogZmFsc2UsXG5cbiAgJ2Jhc2UgZm9udCBzaXplJzogMTZweCxcblxuICAnbGVnYWN5IHN5bnRheCc6IGZhbHNlXG4pO1xuXG4kYnJlYWtwb2ludDogKCkgIWRlZmF1bHQ7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwiYnJlYWtwb2ludC9zZXR0aW5nc1wiO1xuQGltcG9ydCAnYnJlYWtwb2ludC9jb250ZXh0JztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvaGVscGVycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L3BhcnNlcnMnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9uby1xdWVyeSc7XG5cbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcmVzcG9uZC10byc7XG5cbkBpbXBvcnQgXCJicmVha3BvaW50L2xlZ2FjeS1zZXR0aW5nc1wiO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEJyZWFrcG9pbnQgTWl4aW5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gYnJlYWtwb2ludCgkcXVlcnksICRuby1xdWVyeTogZmFsc2UpIHtcbiAgQGluY2x1ZGUgbGVnYWN5LXNldHRpbmdzLXdhcm5pbmc7XG5cbiAgLy8gUmVzZXQgY29udGV4dHNcbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG5cbiAgJGJyZWFrcG9pbnQ6IGJyZWFrcG9pbnQoJHF1ZXJ5LCBmYWxzZSk7XG5cbiAgJHF1ZXJ5LXN0cmluZzogbWFwLWdldCgkYnJlYWtwb2ludCwgJ3F1ZXJ5Jyk7XG4gICRxdWVyeS1mYWxsYmFjazogbWFwLWdldCgkYnJlYWtwb2ludCwgJ2ZhbGxiYWNrJyk7XG5cbiAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogbWFwLWdldCgkYnJlYWtwb2ludCwgJ2NvbnRleHQgaG9sZGVyJykgIWdsb2JhbDtcbiAgJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogbWFwLWdldCgkYnJlYWtwb2ludCwgJ3F1ZXJ5IGNvdW50JykgIWdsb2JhbDtcblxuICAvLyBBbGxvdyBmb3IgYW4gYXMtbmVlZGVkIG92ZXJyaWRlIG9yIHVzYWdlIG9mIG5vIHF1ZXJ5IGZhbGxiYWNrLlxuICBAaWYgJG5vLXF1ZXJ5ICE9IGZhbHNlIHtcbiAgICAkcXVlcnktZmFsbGJhY2s6ICRuby1xdWVyeTtcbiAgfVxuXG4gIEBpZiAkcXVlcnktZmFsbGJhY2sgIT0gZmFsc2Uge1xuICAgICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KCduby1xdWVyeScsICRxdWVyeS1mYWxsYmFjayk7XG4gIH1cblxuICAvLyBQcmludCBPdXQgUXVlcnkgU3RyaW5nXG4gIEBpZiBub3QgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJpZXMnKSB7XG4gICAgQG1lZGlhICN7JHF1ZXJ5LXN0cmluZ30ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGlmIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSAhPSBmYWxzZSBvciBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpID09IHRydWUge1xuXG4gICAgJHR5cGU6IHR5cGUtb2YoYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpKTtcbiAgICAkcHJpbnQ6IGZhbHNlO1xuXG4gICAgQGlmICgkdHlwZSA9PSAnYm9vbCcpIHtcbiAgICAgICRwcmludDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKCR0eXBlID09ICdzdHJpbmcnKSB7XG4gICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSB7XG4gICAgICAgICRwcmludDogdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgKCR0eXBlID09ICdsaXN0Jykge1xuICAgICAgQGVhY2ggJHdyYXBwZXIgaW4gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICAgICAgQGlmICRxdWVyeS1mYWxsYmFjayA9PSAkd3JhcHBlciB7XG4gICAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gV3JpdGUgRmFsbGJhY2tcbiAgICBAaWYgKCRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSkgYW5kICgkcHJpbnQgPT0gdHJ1ZSkge1xuICAgICAgJHR5cGUtZmFsbGJhY2s6IHR5cGUtb2YoJHF1ZXJ5LWZhbGxiYWNrKTtcblxuICAgICAgQGlmICgkdHlwZS1mYWxsYmFjayAhPSAnYm9vbCcpIHtcbiAgICAgICAgI3skcXVlcnktZmFsbGJhY2t9ICYge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHByaXZhdGUtYnJlYWtwb2ludC1yZXNldC1jb250ZXh0cygpO1xufVxuXG5cbkBtaXhpbiBtcSgkcXVlcnksICRuby1xdWVyeTogZmFsc2UpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkcXVlcnksICRuby1xdWVyeSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEhhcyBTZXR0aW5nXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LWhhcygkc2V0dGluZykge1xuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnQsICRzZXR0aW5nKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gR2V0IFNldHRpbmdzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LWdldCgkc2V0dGluZykge1xuICBAaWYgYnJlYWtwb2ludC1oYXMoJHNldHRpbmcpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGJyZWFrcG9pbnQsICRzZXR0aW5nKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRCcmVha3BvaW50LVNldHRpbmdzLCAkc2V0dGluZyk7XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBTZXQgU2V0dGluZ3Ncbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtc2V0KCRzZXR0aW5nLCAkdmFsdWUpIHtcbiAgQGlmIChzdHItaW5kZXgoJHNldHRpbmcsICctJykgb3Igc3RyLWluZGV4KCRzZXR0aW5nLCAnXycpKSBhbmQgc3RyLWluZGV4KCRzZXR0aW5nLCAnICcpID09IG51bGwge1xuICAgIEB3YXJuIFwiV29yZHMgaW4gQnJlYWtwb2ludCBzZXR0aW5ncyBzaG91bGQgYmUgc2VwYXJhdGVkIGJ5IHNwYWNlcywgbm90IGRhc2hlcyBvciB1bmRlcnNjb3Jlcy4gUGxlYXNlIHJlcGxhY2UgZGFzaGVzIGFuZCB1bmRlcnNjb3JlcyBiZXR3ZWVuIHdvcmRzIHdpdGggc3BhY2VzLiBTZXR0aW5ncyB3aWxsIG5vdCB3b3JrIGFzIGV4cGVjdGVkIHVudGlsIGNoYW5nZWQuXCI7XG4gIH1cbiAgJGJyZWFrcG9pbnQ6IG1hcC1tZXJnZSgkYnJlYWtwb2ludCwgKCRzZXR0aW5nOiAkdmFsdWUpKSAhZ2xvYmFsO1xuICBAcmV0dXJuIHRydWU7XG59XG5cbkBtaXhpbiBicmVha3BvaW50LWNoYW5nZSgkc2V0dGluZywgJHZhbHVlKSB7XG4gICRicmVha3BvaW50LWNoYW5nZTogYnJlYWtwb2ludC1zZXQoJHNldHRpbmcsICR2YWx1ZSk7XG59XG5cbkBtaXhpbiBicmVha3BvaW50LXNldCgkc2V0dGluZywgJHZhbHVlKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY2hhbmdlKCRzZXR0aW5nLCAkdmFsdWUpO1xufVxuXG5AbWl4aW4gYmtwdC1jaGFuZ2UoJHNldHRpbmcsICR2YWx1ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50LWNoYW5nZSgkc2V0dGluZywgJHZhbHVlKTtcbn1cbkBtaXhpbiBia3B0LXNldCgkc2V0dGluZywgJHZhbHVlKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY2hhbmdlKCRzZXR0aW5nLCAkdmFsdWUpO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFJlbW92ZSBTZXR0aW5nXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LXJlc2V0KCRzZXR0aW5ncy4uLikge1xuICBAaWYgbGVuZ3RoKCRzZXR0aW5ncykgPT0gMSB7XG4gICAgJHNldHRpbmdzOiBudGgoJHNldHRpbmdzLCAxKTtcbiAgfVxuXG4gIEBlYWNoICRzZXR0aW5nIGluICRzZXR0aW5ncyB7XG4gICAgJGJyZWFrcG9pbnQ6IG1hcC1yZW1vdmUoJGJyZWFrcG9pbnQsICRzZXR0aW5nKSAhZ2xvYmFsO1xuICB9XG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuQG1peGluIGJyZWFrcG9pbnQtcmVzZXQoJHNldHRpbmdzLi4uKSB7XG4gICRicmVha3BvaW50LXJlc2V0OiBicmVha3BvaW50LXJlc2V0KCRzZXR0aW5ncyk7XG59XG5cbkBtaXhpbiBia3B0LXJlc2V0KCRzZXR0aW5ncy4uLikge1xuICAkYnJlYWtwb2ludC1yZXNldDogYnJlYWtwb2ludC1yZXNldCgkc2V0dGluZ3MpO1xufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUHJpdmF0ZSBCcmVha3BvaW50IFZhcmlhYmxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiAoKTtcbiRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQ6IDAgIWRlZmF1bHQ7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBIYXMgQ29udGV4dFxuLy8gUmV0dXJucyB3aGV0aGVyIG9yIG5vdCB5b3UgYXJlIGluc2lkZSBhIEJyZWFrcG9pbnQgcXVlcnlcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaGFzLWNvbnRleHQoKSB7XG4gIEBpZiBsZW5ndGgoJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEJyZWFrcG9pbnQgR2V0IENvbnRleHRcbi8vICRmZWF0dXJlOiBJbnB1dCBmZWF0dXJlIHRvIGdldCBpdCdzIGN1cnJlbnQgTVEgY29udGV4dC4gUmV0dXJucyBmYWxzZSBpZiBubyBjb250ZXh0XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LWdldC1jb250ZXh0KCRmZWF0dXJlKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyLCAkZmVhdHVyZSkge1xuICAgICRnZXQ6IG1hcC1nZXQoJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlciwgJGZlYXR1cmUpO1xuICAgIC8vIFNwZWNpYWwgaGFuZGxpbmcgb2Ygbm8tcXVlcnkgZnJvbSBnZXQgc2lkZSBzbyAvZmFsc2UvIHByZXBlbmRzIGFyZW4ndCByZXR1cm5lZFxuICAgIEBpZiAkZmVhdHVyZSA9PSAnbm8tcXVlcnknIHtcbiAgICAgIEBpZiB0eXBlLW9mKCRnZXQpID09ICdsaXN0JyBhbmQgbGVuZ3RoKCRnZXQpID4gMSBhbmQgbnRoKCRnZXQsIDEpID09IGZhbHNlIHtcbiAgICAgICAgJGdldDogbnRoKCRnZXQsIGxlbmd0aCgkZ2V0KSk7XG4gICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gJGdldDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmIGJyZWFrcG9pbnQtaGFzLWNvbnRleHQoKSBhbmQgJGZlYXR1cmUgPT0gJ21lZGlhJyB7XG4gICAgICBAcmV0dXJuIGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUHJpdmF0ZSBmdW5jdGlvbiB0byBzZXQgY29udGV4dFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KCRmZWF0dXJlLCAkdmFsdWUpIHtcbiAgQGlmICR2YWx1ZSA9PSAnbW9ub2Nocm9tZScge1xuICAgICRmZWF0dXJlOiAnbW9ub2Nocm9tZSc7XG4gIH1cblxuICAkY3VycmVudDogbWFwLWdldCgkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyLCAkZmVhdHVyZSk7XG4gIEBpZiAkY3VycmVudCBhbmQgbGVuZ3RoKCRjdXJyZW50KSA9PSAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50IHtcbiAgICBAd2FybiBcIllvdSBoYXZlIGFscmVhZHkgcXVlcmllZCBhZ2FpbnN0IGAjeyRmZWF0dXJlfWAuIFVuZXhwZWN0ZWQgdGhpbmdzIG1heSBoYXBwZW4gaWYgeW91IHF1ZXJ5IGFnYWluc3QgdGhlIHNhbWUgZmVhdHVyZSBtb3JlIHRoYW4gb25jZSBpbiB0aGUgc2FtZSBgYW5kYCBxdWVyeS4gQnJlYWtwb2ludCBpcyBvdmVyd3JpdGluZyB0aGUgY3VycmVudCBjb250ZXh0IHdpdGggYCN7JHZhbHVlfWBcIjtcbiAgfVxuXG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlciwgJGZlYXR1cmUpIHtcbiAgICAkdi1ob2xkZXI6ICgpO1xuICAgIEBmb3IgJGkgZnJvbSAxIHRvICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQge1xuICAgICAgQGlmICRmZWF0dXJlID09ICdtZWRpYScge1xuICAgICAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsIGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJykpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJHYtaG9sZGVyOiBhcHBlbmQoJHYtaG9sZGVyLCAkdmFsdWUpO1xuICAgICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6IG1hcC1tZXJnZSgkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyLCAoJGZlYXR1cmU6ICR2LWhvbGRlcikpICFnbG9iYWw7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2LWhvbGRlcjogbWFwLWdldCgkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyLCAkZmVhdHVyZSk7XG4gICAgJGxlbmd0aDogbGVuZ3RoKCR2LWhvbGRlcik7XG4gICAgQGZvciAkaSBmcm9tICRsZW5ndGggdG8gJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudCAtIDEge1xuICAgICAgQGlmICRmZWF0dXJlID09ICdtZWRpYScge1xuICAgICAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsIGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJykpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJHYtaG9sZGVyOiBhcHBlbmQoJHYtaG9sZGVyLCAkdmFsdWUpO1xuICAgICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6IG1hcC1tZXJnZSgkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyLCAoJGZlYXR1cmU6ICR2LWhvbGRlcikpICFnbG9iYWw7XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUHJpdmF0ZSBmdW5jdGlvbiB0byByZXNldCBjb250ZXh0XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBtaXhpbiBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMge1xuICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiAoKSAhZ2xvYmFsO1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiAwICFnbG9iYWw7XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBDb252ZXJ0cyB0aGUgaW5wdXQgdmFsdWUgdG8gQmFzZSBFTXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtdG8tYmFzZS1lbSgkdmFsdWUpIHtcbiAgJHZhbHVlLXVuaXQ6IHVuaXQoJHZhbHVlKTtcblxuICAvLyBXaWxsIGNvbnZlcnQgcmVsYXRpdmUgRU1zIGludG8gcm9vdCBFTXMuXG4gIEBpZiBicmVha3BvaW50LWdldCgnYmFzZSBmb250IHNpemUnKSBhbmQgdHlwZS1vZihicmVha3BvaW50LWdldCgnYmFzZSBmb250IHNpemUnKSkgPT0gJ251bWJlcicgYW5kICR2YWx1ZS11bml0ID09ICdlbScge1xuICAgICRiYXNlLXVuaXQ6IHVuaXQoYnJlYWtwb2ludC1nZXQoJ2Jhc2UgZm9udCBzaXplJykpO1xuXG4gICAgQGlmICRiYXNlLXVuaXQgPT0gJ3B4JyBvciAkYmFzZS11bml0ID09ICclJyBvciAkYmFzZS11bml0ID09ICdlbScgb3IgJGJhc2UtdW5pdCA9PSAncHQnIHtcbiAgICAgIEByZXR1cm4gYmFzZS1jb252ZXJzaW9uKCR2YWx1ZSkgLyBiYXNlLWNvbnZlcnNpb24oYnJlYWtwb2ludC1nZXQoJ2Jhc2UgZm9udCBzaXplJykpICogMWVtO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnI3ticmVha3BvaW50LWdldChcXCdiYXNlIGZvbnQgc2l6ZVxcJyl9IGlzIG5vdCBzZXQgaW4gdmFsaWQgdW5pdHMgZm9yIGZvbnQgc2l6ZSEnO1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYmFzZS1jb252ZXJzaW9uKCR2YWx1ZSk7XG4gIH1cbn1cblxuQGZ1bmN0aW9uIGJhc2UtY29udmVyc2lvbigkdmFsdWUpIHtcbiAgJHVuaXQ6IHVuaXQoJHZhbHVlKTtcblxuICBAaWYgJHVuaXQgPT0gJ3B4JyB7XG4gICAgQHJldHVybiAkdmFsdWUgLyAxNnB4ICogMWVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09ICclJyB7XG4gICAgQHJldHVybiAkdmFsdWUgLyAxMDAlICogMWVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09ICdlbScge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09ICdwdCcge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gMTJwdCAqIDFlbTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4vLyAgICBAd2FybiAnRXZlcnl0aGluZyBpcyB0ZXJyaWJsZSEgV2hhdCBoYXZlIHlvdSBkb25lPyEnO1xuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBmZWF0dXJlIGNhbiBoYXZlIGEgbWluL21heCBwYWlyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRicmVha3BvaW50LW1pbi1tYXgtZmVhdHVyZXM6ICdjb2xvcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29sb3ItaW5kZXgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FzcGVjdC1yYXRpbycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGV2aWNlLWFzcGVjdC1yYXRpbycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGV2aWNlLWhlaWdodCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGV2aWNlLXdpZHRoJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdoZWlnaHQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vbm9jaHJvbWUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Jlc29sdXRpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJztcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluLW1heCgkZmVhdHVyZSkge1xuICBAZWFjaCAkaXRlbSBpbiAkYnJlYWtwb2ludC1taW4tbWF4LWZlYXR1cmVzIHtcbiAgICBAaWYgJGZlYXR1cmUgPT0gJGl0ZW0ge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFJldHVybnMgd2hldGhlciB0aGUgZmVhdHVyZSBjYW4gaGF2ZSBhIHN0cmluZyB2YWx1ZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kYnJlYWtwb2ludC1zdHJpbmctZmVhdHVyZXM6ICAnb3JpZW50YXRpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NjYW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbG9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhc3BlY3QtcmF0aW8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RldmljZS1hc3BlY3QtcmF0aW8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BvaW50ZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2x1bWlub3NpdHknO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1zdHJpbmctdmFsdWUoJGZlYXR1cmUpIHtcbiAgQGVhY2ggJGl0ZW0gaW4gJGJyZWFrcG9pbnQtc3RyaW5nLWZlYXR1cmVzIHtcbiAgICBAaWYgYnJlYWtwb2ludC1taW4tbWF4KCRpdGVtKSB7XG4gICAgICBAaWYgJGZlYXR1cmUgPT0gJ21pbi0jeyRpdGVtfScgb3IgJGZlYXR1cmUgPT0gJ21heC0jeyRpdGVtfScge1xuICAgICAgICBAcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRmZWF0dXJlID09ICRpdGVtIHtcbiAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGZlYXR1cmUgaXMgYSBtZWRpYSB0eXBlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRicmVha3BvaW50LW1lZGlhLXR5cGVzOiAgJ2FsbCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdicmFpbGxlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VtYm9zc2VkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hhbmRoZWxkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ByaW50JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb2plY3Rpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnc2NyZWVuJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NwZWVjaCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICd0dHknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAndHYnO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pcy1tZWRpYSgkZmVhdHVyZSkge1xuICBAZWFjaCAkbWVkaWEgaW4gJGJyZWFrcG9pbnQtbWVkaWEtdHlwZXMge1xuICAgIEBpZiAoJGZlYXR1cmUgPT0gJG1lZGlhKSBvciAoJGZlYXR1cmUgPT0gJ25vdCAjeyRtZWRpYX0nKSBvciAoJGZlYXR1cmUgPT0gJ29ubHkgI3skbWVkaWF9Jykge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBmZWF0dXJlIGNhbiBzdGFuZCBhbG9uZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nLWZlYXR1cmVzOiAnY29sb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbG9yLWluZGV4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdncmlkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb25vY2hyb21lJztcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZygkZmVhdHVyZSkge1xuICBAZWFjaCAkaXRlbSBpbiAkYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nLWZlYXR1cmVzIHtcbiAgICBAaWYgJGZlYXR1cmUgPT0gJGl0ZW0ge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFJldHVybnMgd2hldGhlciB0aGUgZmVhdHVyZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pcy1yZXNvbHV0aW9uKCRmZWF0dXJlKSB7XG4gICRyZXNvbHV0aW9uczogJ2RldmljZS1waXhlbC1yYXRpbycsICdkcHInO1xuXG4gIEBpZiBicmVha3BvaW50LWdldCgndHJhbnNmb3JtIHJlc29sdXRpb25zJykge1xuICAgICRyZXNvbHV0aW9uczogYXBwZW5kKCRyZXNvbHV0aW9ucywgJ3Jlc29sdXRpb24nKTtcbiAgfVxuXG4gIEBlYWNoICRyZXNvIGluICRyZXNvbHV0aW9ucyB7XG4gICAgQGlmIGluZGV4KCRmZWF0dXJlLCAkcmVzbykgb3IgaW5kZXgoJGZlYXR1cmUsICdtaW4tI3skcmVzb30nKSBvciBpbmRleCgkZmVhdHVyZSwgJ21heC0jeyRyZXNvfScpIHtcbiAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGZhbHNlO1xufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnQgUGFyc2VyIFBpZWNlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwicGFyc2Vycy9xdWVyeVwiO1xuQGltcG9ydCBcInBhcnNlcnMvc2luZ2xlXCI7XG5AaW1wb3J0IFwicGFyc2Vycy9kb3VibGVcIjtcbkBpbXBvcnQgXCJwYXJzZXJzL3RyaXBsZVwiO1xuQGltcG9ydCBcInBhcnNlcnMvcmVzb2x1dGlvblwiO1xuXG4kTWVtby1FeGlzdHM6IGZ1bmN0aW9uLWV4aXN0cyhtZW1vLWdldCkgYW5kIGZ1bmN0aW9uLWV4aXN0cyhtZW1vLXNldCk7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBGdW5jdGlvblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkcXVlcnksICRjb250ZXh0cy4uLikge1xuICAkcnVuOiB0cnVlO1xuICAkcmV0dXJuOiAoKTtcblxuICAvLyBHcmFiIHRoZSBNZW1vIE91dHB1dCBpZiBNZW1vaXphdGlvbiBjYW4gYmUgYSB0aGluZ1xuICBAaWYgJE1lbW8tRXhpc3RzIHtcbiAgICAkcmV0dXJuOiBtZW1vLWdldChicmVha3BvaW50LCBicmVha3BvaW50ICRxdWVyeSAkY29udGV4dHMpO1xuXG4gICAgQGlmICRyZXR1cm4gIT0gbnVsbCB7XG4gICAgICAkcnVuOiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAaWYgbm90ICRNZW1vLUV4aXN0cyBvciAkcnVuIHtcbiAgICAvLyBJbnRlcm5hbCBWYXJpYWJsZXNcbiAgICAkcXVlcnktc3RyaW5nOiAnJztcbiAgICAkcXVlcnktZmFsbGJhY2s6IGZhbHNlO1xuICAgICRyZXR1cm46ICgpO1xuXG4gICAgLy8gUmVzZXJ2ZSBHbG9iYWwgUHJpdmF0ZSBCcmVha3BvaW50IENvbnRleHRcbiAgICAkaG9sZGVyLWNvbnRleHQ6ICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI7XG4gICAgJGhvbGRlci1xdWVyeS1jb3VudDogJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDtcblxuICAgIC8vIFJlc2V0IEdsb2JhbCBQcml2YXRlIEJyZWFrcG9pbnQgQ29udGV4dFxuICAgICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6ICgpICFnbG9iYWw7XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogMCAhZ2xvYmFsO1xuXG5cbiAgICAvLyBUZXN0IHRvIHNlZSBpZiBpdCdzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3RcbiAgICAkb3ItbGlzdDogaWYobGlzdC1zZXBhcmF0b3IoJHF1ZXJ5KSA9PSAnY29tbWEnLCB0cnVlLCBmYWxzZSk7XG5cblxuICAgIEBpZiAoJG9yLWxpc3QgPT0gZmFsc2UgYW5kIGJyZWFrcG9pbnQtZ2V0KCdsZWdhY3kgc3ludGF4JykgPT0gZmFsc2UpIHtcbiAgICAgICRxdWVyeS1zdHJpbmc6IGJyZWFrcG9pbnQtcGFyc2UoJHF1ZXJ5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGxlbmd0aDogbGVuZ3RoKCRxdWVyeSk7XG5cbiAgICAgICRsYXN0OiBudGgoJHF1ZXJ5LCAkbGVuZ3RoKTtcbiAgICAgICRxdWVyeS1mYWxsYmFjazogYnJlYWtwb2ludC1uby1xdWVyeSgkbGFzdCk7XG5cbiAgICAgIEBpZiAoJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlKSB7XG4gICAgICAgICRsZW5ndGg6ICRsZW5ndGggLSAxO1xuICAgICAgfVxuXG4gICAgICBAaWYgKGJyZWFrcG9pbnQtZ2V0KCdsZWdhY3kgc3ludGF4JykgPT0gdHJ1ZSkge1xuICAgICAgICAkbXE6ICgpO1xuXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGxlbmd0aCB7XG4gICAgICAgICAgJG1xOiBhcHBlbmQoJG1xLCBudGgoJHF1ZXJ5LCAkaSksIGNvbW1hKTtcbiAgICAgICAgfVxuXG4gICAgICAgICRxdWVyeS1zdHJpbmc6IGJyZWFrcG9pbnQtcGFyc2UoJG1xKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHF1ZXJ5LXN0cmluZzogJyc7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGxlbmd0aCB7XG4gICAgICAgICAgJHF1ZXJ5LXN0cmluZzogJHF1ZXJ5LXN0cmluZyArIGlmKCRpID09IDEsICcnLCAnLCAnKSArIGJyZWFrcG9pbnQtcGFyc2UobnRoKCRxdWVyeSwgJGkpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICRyZXR1cm46ICgncXVlcnknOiAkcXVlcnktc3RyaW5nLFxuICAgICAgICAnZmFsbGJhY2snOiAkcXVlcnktZmFsbGJhY2ssXG4gICAgICAgICdjb250ZXh0IGhvbGRlcic6ICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsXG4gICAgICAgICdxdWVyeSBjb3VudCc6ICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnRcbiAgICApO1xuICAgIEBpZiBsZW5ndGgoJGNvbnRleHRzKSA+IDAgYW5kIG50aCgkY29udGV4dHMsIDEpICE9IGZhbHNlIHtcbiAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgIT0gZmFsc2Uge1xuICAgICAgICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgnbm8tcXVlcnknLCAkcXVlcnktZmFsbGJhY2spO1xuICAgICAgfVxuICAgICAgJGNvbnRleHQtbWFwOiAoKTtcbiAgICAgIEBlYWNoICRjb250ZXh0IGluICRjb250ZXh0cyB7XG4gICAgICAgICRjb250ZXh0LW1hcDogbWFwLW1lcmdlKCRjb250ZXh0LW1hcCwgKCRjb250ZXh0OiBicmVha3BvaW50LWdldC1jb250ZXh0KCRjb250ZXh0KSkpO1xuICAgICAgfVxuICAgICAgJHJldHVybjogbWFwLW1lcmdlKCRyZXR1cm4sIChjb250ZXh0OiAkY29udGV4dC1tYXApKTtcbiAgICB9XG5cbiAgICAvLyBSZXNldCBHbG9iYWwgUHJpdmF0ZSBCcmVha3BvaW50IENvbnRleHRcbiAgICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiAoKSAhZ2xvYmFsO1xuICAgICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQ6IDAgIWdsb2JhbDtcblxuICAgIEBpZiAkTWVtby1FeGlzdHMge1xuICAgICAgJGhvbGRlcjogbWVtby1zZXQoYnJlYWtwb2ludCwgYnJlYWtwb2ludCAkcXVlcnkgJGNvbnRleHRzLCAkcmV0dXJuKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRyZXR1cm47XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gR2VuZXJhbCBCcmVha3BvaW50IFBhcnNlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZSgkcXVlcnkpIHtcbiAgLy8gSW5jcmVhc2UgbnVtYmVyIG9mICdhbmQnIHF1ZXJpZXNcbiAgJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudCArIDEgIWdsb2JhbDtcblxuICAvLyBTZXQgdXAgTWVkaWEgVHlwZVxuICAkcXVlcnktcHJpbnQ6ICcnO1xuXG4gICRmb3JjZS1hbGw6ICgoYnJlYWtwb2ludC1nZXQoJ2ZvcmNlIGFsbCBtZWRpYSB0eXBlJykgPT0gdHJ1ZSkgYW5kIChicmVha3BvaW50LWdldCgnZGVmYXVsdCBtZWRpYScpID09ICdhbGwnKSk7XG4gICRlbXB0eS1tZWRpYTogdHJ1ZTtcbiAgQGlmICgkZm9yY2UtYWxsID09IHRydWUpIG9yIChicmVha3BvaW50LWdldCgnZGVmYXVsdCBtZWRpYScpICE9ICdhbGwnKSB7XG4gICAgLy8gRm9yY2UgdGhlIHByaW50IG9mIHRoZSBkZWZhdWx0IG1lZGlhIHR5cGUgaWYgKGZvcmNlIGFsbCBpcyB0cnVlIGFuZCBkZWZhdWx0IG1lZGlhIHR5cGUgaXMgYWxsKSBvciAoZGVmYXVsdCBtZWRpYSB0eXBlIGlzIG5vdCBhbGwpXG4gICAgJHF1ZXJ5LXByaW50OiBicmVha3BvaW50LWdldCgnZGVmYXVsdCBtZWRpYScpO1xuICAgICRlbXB0eS1tZWRpYTogZmFsc2U7XG4gIH1cblxuXG4gICRxdWVyeS1yZXNvbHV0aW9uOiBmYWxzZTtcblxuICAkcXVlcnktaG9sZGVyOiBicmVha3BvaW50LXBhcnNlLXF1ZXJ5KCRxdWVyeSk7XG5cblxuXG4gIC8vIExvb3Agb3ZlciBlYWNoIHBhcnNlZCBvdXQgcXVlcnkgYW5kIHdyaXRlIGl0IHRvICRxdWVyeS1wcmludFxuICAkZmlyc3Q6IHRydWU7XG5cbiAgQGVhY2ggJGZlYXR1cmUgaW4gJHF1ZXJ5LWhvbGRlciB7XG4gICAgJGxlbmd0aDogbGVuZ3RoKCRmZWF0dXJlKTtcblxuICAgIC8vIFBhcnNlIGEgc2luZ2xlIGZlYXR1cmVcbiAgICBAaWYgKCRsZW5ndGggPT0gMSkge1xuICAgICAgLy8gRmVhdHVyZSBpcyBjdXJyZW50bHkgYSBsaXN0LCBncmFiIHRoZSBhY3R1YWwgdmFsdWVcbiAgICAgICRmZWF0dXJlOiBudGgoJGZlYXR1cmUsIDEpO1xuXG4gICAgICAvLyBNZWRpYSBUeXBlIG11c3QgYnkgY29udmVudGlvbiBiZSB0aGUgZmlyc3QgaXRlbSwgc28gaXQncyBzYWZlIHRvIGZsYXQgb3ZlcnJpZGUgJHF1ZXJ5LXByaW50LCB3aGljaCByaWdodCBub3cgc2hvdWxkIG9ubHkgYmUgdGhlIGRlZmF1bHQgbWVkaWEgdHlwZVxuICAgICAgQGlmIChicmVha3BvaW50LWlzLW1lZGlhKCRmZWF0dXJlKSkge1xuICAgICAgICBAaWYgKCRmb3JjZS1hbGwgPT0gdHJ1ZSkgb3IgKCRmZWF0dXJlICE9ICdhbGwnKSB7XG4gICAgICAgICAgLy8gRm9yY2UgdGhlIHByaW50IG9mIHRoZSBkZWZhdWx0IG1lZGlhIHR5cGUgaWYgKGZvcmNlIGFsbCBpcyB0cnVlIGFuZCBkZWZhdWx0IG1lZGlhIHR5cGUgaXMgYWxsKSBvciAoZGVmYXVsdCBtZWRpYSB0eXBlIGlzIG5vdCBhbGwpXG4gICAgICAgICAgJHF1ZXJ5LXByaW50OiAkZmVhdHVyZTtcbiAgICAgICAgICAkZW1wdHktbWVkaWE6IGZhbHNlO1xuXG4gICAgICAgICAgLy8gU2V0IENvbnRleHRcbiAgICAgICAgICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dChtZWRpYSwgJHF1ZXJ5LXByaW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLXNpbmdsZSgkZmVhdHVyZSwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpO1xuICAgICAgICAkcXVlcnktcHJpbnQ6ICcjeyRxdWVyeS1wcmludH0gI3skcGFyc2VkfSc7XG4gICAgICAgICRmaXJzdDogZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIFBhcnNlIGEgZG91YmxlIGZlYXR1cmVcbiAgICBAZWxzZSBpZiAoJGxlbmd0aCA9PSAyKSB7XG4gICAgICBAaWYgKGJyZWFrcG9pbnQtaXMtcmVzb2x1dGlvbigkZmVhdHVyZSkgIT0gZmFsc2UpIHtcbiAgICAgICAgJHF1ZXJ5LXJlc29sdXRpb246ICRmZWF0dXJlO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkcGFyc2VkOiBudWxsO1xuICAgICAgICAvLyBJZiBpdCdzIGEgc3RyaW5nL251bWJlciBwYWlyLFxuICAgICAgICAvLyB3ZSBjaGVjayB0byBzZWUgaWYgb25lIGlzIGEgc2luZ2xlLXN0cmluZyB2YWx1ZSxcbiAgICAgICAgLy8gdGhlbiB3ZSBwYXJzZSBpdCBhcyBhIG5vcm1hbCBkb3VibGVcbiAgICAgICAgJGFscGhhOiBudGgoJGZlYXR1cmUsIDEpO1xuICAgICAgICAkYmV0YTogbnRoKCRmZWF0dXJlLCAyKTtcbiAgICAgICAgQGlmIGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZygkYWxwaGEpIG9yIGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZygkYmV0YSkge1xuICAgICAgICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2Utc2luZ2xlKCRhbHBoYSwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpO1xuICAgICAgICAgICRxdWVyeS1wcmludDogJyN7JHF1ZXJ5LXByaW50fSAjeyRwYXJzZWR9JztcbiAgICAgICAgICAkZmlyc3Q6IGZhbHNlO1xuICAgICAgICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2Utc2luZ2xlKCRiZXRhLCAkZW1wdHktbWVkaWEsICRmaXJzdCk7XG4gICAgICAgICAgJHF1ZXJ5LXByaW50OiAnI3skcXVlcnktcHJpbnR9ICN7JHBhcnNlZH0nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLWRvdWJsZSgkZmVhdHVyZSwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpO1xuICAgICAgICAgICRxdWVyeS1wcmludDogJyN7JHF1ZXJ5LXByaW50fSAjeyRwYXJzZWR9JztcbiAgICAgICAgICAkZmlyc3Q6IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8vIFBhcnNlIGEgdHJpcGxlIGZlYXR1cmVcbiAgICBAZWxzZSBpZiAoJGxlbmd0aCA9PSAzKSB7XG4gICAgICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLXRyaXBsZSgkZmVhdHVyZSwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpO1xuICAgICAgJHF1ZXJ5LXByaW50OiAnI3skcXVlcnktcHJpbnR9ICN7JHBhcnNlZH0nO1xuICAgICAgJGZpcnN0OiBmYWxzZTtcbiAgICB9XG5cbiAgfVxuXG4gIEBpZiAoJHF1ZXJ5LXJlc29sdXRpb24gIT0gZmFsc2UpIHtcbiAgICAkcXVlcnktcHJpbnQ6IGJyZWFrcG9pbnQtYnVpbGQtcmVzb2x1dGlvbigkcXVlcnktcHJpbnQsICRxdWVyeS1yZXNvbHV0aW9uLCAkZW1wdHktbWVkaWEsICRmaXJzdCk7XG4gIH1cblxuICAvLyBMb29wIHRocm91Z2ggZWFjaCBmZWF0dXJlIHRoYXQncyBiZWVuIGRldGVjdGVkIHNvIGZhciBhbmQgYXBwZW5kICdmYWxzZScgdG8gdGhlIHRoZSB2YWx1ZSBsaXN0IHRvIGluY3JlbWVudCB0aGVpciBjb3VudGVyc1xuICBAZWFjaCAkZiwgJHYgaW4gJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlciB7XG4gICAgJHYtaG9sZGVyOiAkdjtcbiAgICAkbGVuZ3RoOiBsZW5ndGgoJHYtaG9sZGVyKTtcbiAgICBAaWYgbGVuZ3RoKCR2LWhvbGRlcikgPCAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAkbGVuZ3RoIHRvICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQge1xuICAgICAgICBAaWYgJGYgPT0gJ21lZGlhJyB7XG4gICAgICAgICAgJHYtaG9sZGVyOiBhcHBlbmQoJHYtaG9sZGVyLCBicmVha3BvaW50LWdldCgnZGVmYXVsdCBtZWRpYScpKTtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgJHYtaG9sZGVyOiBhcHBlbmQoJHYtaG9sZGVyLCBmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogbWFwLW1lcmdlKCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICgkZjogJHYtaG9sZGVyKSkgIWdsb2JhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHF1ZXJ5LXByaW50O1xufVxuIiwiQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2UtcXVlcnkoJHF1ZXJ5KSB7XG4gIC8vIFBhcnNlIGZlYXR1cmVzIG91dCBvZiBhbiBpbmRpdmlkdWFsIHF1ZXJ5XG4gICRmZWF0dXJlLWhvbGRlcjogKCk7XG4gICRxdWVyeS1ob2xkZXI6ICgpO1xuICAkbGVuZ3RoOiBsZW5ndGgoJHF1ZXJ5KTtcblxuICBAaWYgJGxlbmd0aCA9PSAyIHtcbiAgICAvLyBJZiB3ZSd2ZSBnb3QgYSBzdHJpbmcvbnVtYmVyLCBudW1iZXIvc3RyaW5nLCBjaGVjayB0byBzZWUgaWYgaXQncyBhIHZhbGlkIHN0cmluZy9udW1iZXIgcGFpciBvciB0d28gc2luZ2xlc1xuICAgIEBpZiAodHlwZS1vZihudGgoJHF1ZXJ5LCAxKSkgPT0gJ3N0cmluZycgYW5kIHR5cGUtb2YobnRoKCRxdWVyeSwgMikpID09ICdudW1iZXInKSBvciAodHlwZS1vZihudGgoJHF1ZXJ5LCAxKSkgPT0gJ251bWJlcicgYW5kIHR5cGUtb2YobnRoKCRxdWVyeSwgMikpID09ICdzdHJpbmcnKSB7XG5cbiAgICAgICRudW1iZXI6ICcnO1xuICAgICAgJHZhbHVlOiAnJztcblxuICAgICAgQGlmIHR5cGUtb2YobnRoKCRxdWVyeSwgMSkpID09ICdzdHJpbmcnIHtcbiAgICAgICAgJG51bWJlcjogbnRoKCRxdWVyeSwgMik7XG4gICAgICAgICR2YWx1ZTogbnRoKCRxdWVyeSwgMSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRudW1iZXI6IG50aCgkcXVlcnksIDEpO1xuICAgICAgICAkdmFsdWU6IG50aCgkcXVlcnksIDIpO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiB0aGUgc3RyaW5nIHZhbHVlIGNhbiBiZSBhIHNpbmdsZSB2YWx1ZSwgY2hlY2sgdG8gc2VlIGlmIHRoZSBudW1iZXIgcGFzc2VkIGluIGlzIGEgdmFsaWQgaW5wdXQgZm9yIHNhaWQgc2luZ2xlIHZhbHVlLiBGb3J0dW5hdGVseSwgYWxsIGN1cnJlbnQgc2luZ2xlLXZhbHVlIG9wdGlvbnMgb25seSBhY2NlcHQgdW5pdGxlc3MgbnVtYmVycywgc28gdGhpcyBjaGVjayBpcyBlYXN5LlxuICAgICAgQGlmIGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZygkdmFsdWUpIHtcbiAgICAgICAgQGlmIHVuaXRsZXNzKCRudW1iZXIpIHtcbiAgICAgICAgICAkZmVhdHVyZS1ob2xkZXI6IGFwcGVuZCgkdmFsdWUsICRudW1iZXIsIHNwYWNlKTtcbiAgICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgJGZlYXR1cmUtaG9sZGVyLCBjb21tYSk7XG4gICAgICAgICAgQHJldHVybiAkcXVlcnktaG9sZGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBJZiB0aGUgc3RyaW5nIGlzIGEgbWVkaWEgdHlwZSwgc3BsaXQgdGhlIHF1ZXJ5XG4gICAgICBAaWYgYnJlYWtwb2ludC1pcy1tZWRpYSgkdmFsdWUpIHtcbiAgICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsIG50aCgkcXVlcnksIDEpKTtcbiAgICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsIG50aCgkcXVlcnksIDIpKTtcbiAgICAgICAgQHJldHVybiAkcXVlcnktaG9sZGVyO1xuICAgICAgfVxuICAgICAgLy8gSWYgaXQncyBub3QgYSBzaW5nbGUgZmVhdHVyZSwgd2UncmUganVzdCBnb2luZyB0byBhc3N1bWUgaXQncyBhIHByb3BlciBzdHJpbmcvdmFsdWUgcGFpciwgYW5kIHJvbGwgd2l0aCBpdC5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJGZlYXR1cmUtaG9sZGVyOiBhcHBlbmQoJHZhbHVlLCAkbnVtYmVyLCBzcGFjZSk7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCAkZmVhdHVyZS1ob2xkZXIsIGNvbW1hKTtcbiAgICAgICAgQHJldHVybiAkcXVlcnktaG9sZGVyO1xuICAgICAgfVxuXG4gICAgfVxuICAgIC8vIElmIHRoZXkncmUgYm90aCBudW1iZXJzLCB3ZSBhc3N1bWUgaXQncyBhIGRvdWJsZSBhbmQgcm9sbCB3aXRoIHRoYXRcbiAgICBAZWxzZSBpZiAodHlwZS1vZihudGgoJHF1ZXJ5LCAxKSkgPT0gJ251bWJlcicgYW5kIHR5cGUtb2YobnRoKCRxdWVyeSwgMikpID09ICdudW1iZXInKSB7XG4gICAgICAkZmVhdHVyZS1ob2xkZXI6IGFwcGVuZChudGgoJHF1ZXJ5LCAxKSwgbnRoKCRxdWVyeSwgMiksIHNwYWNlKTtcbiAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCAkZmVhdHVyZS1ob2xkZXIsIGNvbW1hKTtcbiAgICAgIEByZXR1cm4gJHF1ZXJ5LWhvbGRlcjtcbiAgICB9XG4gICAgLy8gSWYgdGhleSdyZSBib3RoIHN0cmluZ3MgYW5kIG5laXRoZXIgYXJlIHNpbmdsZXMsIHdlIHJvbGwgd2l0aCB0aGF0LlxuICAgIEBlbHNlIGlmICh0eXBlLW9mKG50aCgkcXVlcnksIDEpKSA9PSAnc3RyaW5nJyBhbmQgdHlwZS1vZihudGgoJHF1ZXJ5LCAyKSkgPT0gJ3N0cmluZycpIHtcbiAgICAgIEBpZiBub3QgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKG50aCgkcXVlcnksIDEpKSBhbmQgbm90IGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZyhudGgoJHF1ZXJ5LCAyKSkge1xuICAgICAgICAkZmVhdHVyZS1ob2xkZXI6IGFwcGVuZChudGgoJHF1ZXJ5LCAxKSwgbnRoKCRxdWVyeSwgMiksIHNwYWNlKTtcbiAgICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsICRmZWF0dXJlLWhvbGRlciwgY29tbWEpO1xuICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRsZW5ndGggPT0gMyB7XG4gICAgLy8gSWYgd2UndmUgZ290IHRocmVlIGl0ZW1zIGFuZCBub25lIGlzIGEgbGlzdCwgd2UgY2hlY2sgdG8gc2VlXG4gICAgQGlmIHR5cGUtb2YobnRoKCRxdWVyeSwgMSkpICE9ICdsaXN0JyBhbmQgdHlwZS1vZihudGgoJHF1ZXJ5LCAyKSkgIT0gJ2xpc3QnIGFuZCB0eXBlLW9mKG50aCgkcXVlcnksIDMpKSAhPSAnbGlzdCcge1xuICAgICAgLy8gSWYgbm9uZSBvZiB0aGUgaXRlbXMgYXJlIHNpbmdsZSBzdHJpbmcgdmFsdWVzIGFuZCBub25lIG9mIHRoZSB2YWx1ZXMgYXJlIG1lZGlhIHZhbHVlcywgd2UncmUgZ29vZC5cbiAgICAgIEBpZiAobm90IGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZyhudGgoJHF1ZXJ5LCAxKSkgYW5kIG5vdCBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcobnRoKCRxdWVyeSwgMikpIGFuZCBub3QgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKG50aCgkcXVlcnksIDMpKSkgYW5kICAoKG5vdCBicmVha3BvaW50LWlzLW1lZGlhKG50aCgkcXVlcnksIDEpKSBhbmQgbm90IGJyZWFrcG9pbnQtaXMtbWVkaWEobnRoKCRxdWVyeSwgMikpIGFuZCBub3QgYnJlYWtwb2ludC1pcy1tZWRpYShudGgoJHF1ZXJ5LCAzKSkpKSB7XG4gICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKG50aCgkcXVlcnksIDEpLCBudGgoJHF1ZXJ5LCAyKSwgc3BhY2UpO1xuICAgICAgICAkZmVhdHVyZS1ob2xkZXI6IGFwcGVuZCgkZmVhdHVyZS1ob2xkZXIsIG50aCgkcXVlcnksIDMpLCBzcGFjZSk7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCAkZmVhdHVyZS1ob2xkZXIsIGNvbW1hKTtcbiAgICAgICAgQHJldHVybiAkcXVlcnktaG9sZGVyO1xuICAgICAgfVxuICAgICAgLy8gbGV0J3MgY2hlY2sgdG8gc2VlIGlmIHRoZSBmaXJzdCBpdGVtIGlzIGEgbWVkaWEgdHlwZVxuICAgICAgQGVsc2UgaWYgYnJlYWtwb2ludC1pcy1tZWRpYShudGgoJHF1ZXJ5LCAxKSkge1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgbnRoKCRxdWVyeSwgMSkpO1xuICAgICAgICAkZmVhdHVyZS1ob2xkZXI6IGFwcGVuZChudGgoJHF1ZXJ5LCAyKSwgbnRoKCRxdWVyeSwgMyksIHNwYWNlKTtcbiAgICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsICRmZWF0dXJlLWhvbGRlcik7XG4gICAgICAgIEByZXR1cm4gJHF1ZXJ5LWhvbGRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiBpdCdzIGEgc2luZ2xlIGl0ZW0sIG9yIGlmIGl0J3Mgbm90IGEgc3BlY2lhbCBjYXNlIGRvdWJsZSBvciB0cmlwbGUsIHdlIGNhbiBzaW1wbHkgcmV0dXJuIHRoZSBxdWVyeS5cbiAgQHJldHVybiAkcXVlcnk7XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydCBQaWVjZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCBcInNpbmdsZS9kZWZhdWx0XCI7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLXNpbmdsZSgkZmVhdHVyZSwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpIHtcbiAgJHBhcnNlZDogJyc7XG4gICRsZWFkZXI6ICcnO1xuICAvLyBJZiB3ZSdyZSBmb3JjaW5nXG4gIEBpZiBub3QgKCRlbXB0eS1tZWRpYSkgb3Igbm90ICgkZmlyc3QpIHtcbiAgICAkbGVhZGVyOiAnYW5kICc7XG4gIH1cblxuICAvLyBJZiBpdCdzIGEgc2luZ2xlIGZlYXR1cmUgdGhhdCBjYW4gc3RhbmQgYWxvbmUsIHdlIGxldCBpdFxuICBAaWYgKGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZygkZmVhdHVyZSkpIHtcbiAgICAkcGFyc2VkOiAkZmVhdHVyZTtcbiAgICAvLyBTZXQgQ29udGV4dFxuICAgICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KCRmZWF0dXJlLCAkZmVhdHVyZSk7XG4gIH1cbiAgLy8gSWYgaXQncyBub3QgYSBzdGFuZCBhbG9uZSBmZWF0dXJlLCB3ZSBwYXNzIGl0IG9mZiB0byB0aGUgZGVmYXVsdCBoYW5kbGVyLlxuICBAZWxzZSB7XG4gICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS1kZWZhdWx0KCRmZWF0dXJlKTtcbiAgfVxuXG4gIEByZXR1cm4gJGxlYWRlciArICcoJyArICRwYXJzZWQgKyAnKSc7XG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS1kZWZhdWx0KCRmZWF0dXJlKSB7XG4gICRkZWZhdWx0OiBicmVha3BvaW50LWdldCgnZGVmYXVsdCBmZWF0dXJlJyk7XG5cbiAgLy8gU2V0IENvbnRleHRcbiAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJGRlZmF1bHQsICRmZWF0dXJlKTtcblxuICBAaWYgKGJyZWFrcG9pbnQtZ2V0KCd0byBlbXMnKSA9PSB0cnVlKSBhbmQgKHR5cGUtb2YoJGZlYXR1cmUpID09ICdudW1iZXInKSB7XG4gICAgQHJldHVybiAnI3skZGVmYXVsdH06ICN7YnJlYWtwb2ludC10by1iYXNlLWVtKCRmZWF0dXJlKX0nO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICcjeyRkZWZhdWx0fTogI3skZmVhdHVyZX0nO1xuICB9XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydCBQaWVjZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCBcImRvdWJsZS9kZWZhdWx0LXBhaXJcIjtcbkBpbXBvcnQgXCJkb3VibGUvZG91YmxlLXN0cmluZ1wiO1xuQGltcG9ydCBcImRvdWJsZS9kZWZhdWx0XCI7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLWRvdWJsZSgkZmVhdHVyZSwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpIHtcbiAgJHBhcnNlZDogJyc7XG4gICRsZWFkZXI6ICcnO1xuICAvLyBJZiB3ZSdyZSBmb3JjaW5nXG4gIEBpZiBub3QgKCRlbXB0eS1tZWRpYSkgb3Igbm90ICgkZmlyc3QpIHtcbiAgICAkbGVhZGVyOiAnYW5kICc7XG4gIH1cblxuICAkZmlyc3Q6IG50aCgkZmVhdHVyZSwgMSk7XG4gICRzZWNvbmQ6IG50aCgkZmVhdHVyZSwgMik7XG5cbiAgLy8gSWYgd2UndmUgZ290IHR3byBudW1iZXJzLCB3ZSBrbm93IHdlIG5lZWQgdG8gdXNlIHRoZSBkZWZhdWx0IHBhaXIgYmVjYXVzZSB0aGVyZSBhcmUgbm8gbWVkaWEgcXVlcmllcyB0aGF0IGhhcyBhIG1lZGlhIGZlYXR1cmUgdGhhdCBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkZmlyc3QpID09ICdudW1iZXInIGFuZCB0eXBlLW9mKCRzZWNvbmQpID09ICdudW1iZXInIHtcbiAgICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLWRlZmF1bHQtcGFpcigkZmlyc3QsICRzZWNvbmQpO1xuICB9XG4gIC8vIElmIHRoZXkgYXJlIGJvdGggc3RyaW5ncywgd2Ugc2VuZCBpdCB0aHJvdWdoIHRoZSBzdHJpbmcgcGFyc2VyXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGZpcnN0KSA9PSAnc3RyaW5nJyBhbmQgdHlwZS1vZigkc2Vjb25kKSA9PSAnc3RyaW5nJyB7XG4gICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS1kb3VibGUtc3RyaW5nKCRmaXJzdCwgJHNlY29uZCk7XG4gIH1cbiAgLy8gSWYgaXQncyBhIHN0cmluZy9udW1iZXIgcGFpciwgd2UgcGFyc2UgaXQgYXMgYSBub3JtYWwgZG91YmxlXG4gIEBlbHNlIHtcbiAgICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLWRvdWJsZS1kZWZhdWx0KCRmaXJzdCwgJHNlY29uZCk7XG4gIH1cblxuICBAcmV0dXJuICRsZWFkZXIgKyAkcGFyc2VkO1xufVxuIiwiQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2UtZGVmYXVsdC1wYWlyKCRmaXJzdCwgJHNlY29uZCkge1xuICAkZGVmYXVsdDogYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgcGFpcicpO1xuICAkbWluOiAnJztcbiAgJG1heDogJyc7XG5cbiAgLy8gU29ydCBpbnRvIG1pbiBhbmQgbWF4XG4gICRtaW46IG1pbigkZmlyc3QsICRzZWNvbmQpO1xuICAkbWF4OiBtYXgoJGZpcnN0LCAkc2Vjb25kKTtcblxuICAvLyBTZXQgQ29udGV4dFxuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dChtaW4tI3skZGVmYXVsdH0sICRtaW4pO1xuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dChtYXgtI3skZGVmYXVsdH0sICRtYXgpO1xuXG4gIC8vIE1ha2UgdGhlbSBFTXMgaWYgbmVlZCBiZVxuICBAaWYgKGJyZWFrcG9pbnQtZ2V0KCd0byBlbXMnKSA9PSB0cnVlKSB7XG4gICAgJG1pbjogYnJlYWtwb2ludC10by1iYXNlLWVtKCRtaW4pO1xuICAgICRtYXg6IGJyZWFrcG9pbnQtdG8tYmFzZS1lbSgkbWF4KTtcbiAgfVxuXG4gIEByZXR1cm4gJyhtaW4tI3skZGVmYXVsdH06ICN7JG1pbn0pIGFuZCAobWF4LSN7JGRlZmF1bHR9OiAjeyRtYXh9KSc7XG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS1kb3VibGUtc3RyaW5nKCRmaXJzdCwgJHNlY29uZCkge1xuICAkZmVhdHVyZTogJyc7XG4gICR2YWx1ZTogJyc7XG5cbiAgLy8gVGVzdCB0byBzZWUgd2hpY2ggaXMgdGhlIGZlYXR1cmUgYW5kIHdoaWNoIGlzIHRoZSB2YWx1ZVxuICBAaWYgKGJyZWFrcG9pbnQtc3RyaW5nLXZhbHVlKCRmaXJzdCkgPT0gdHJ1ZSkge1xuICAgICRmZWF0dXJlOiAkZmlyc3Q7XG4gICAgJHZhbHVlOiAkc2Vjb25kO1xuICB9XG4gIEBlbHNlIGlmIChicmVha3BvaW50LXN0cmluZy12YWx1ZSgkc2Vjb25kKSA9PSB0cnVlKSB7XG4gICAgJGZlYXR1cmU6ICRzZWNvbmQ7XG4gICAgJHZhbHVlOiAkZmlyc3Q7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuIFwiTmVpdGhlciAjeyRmaXJzdH0gbm9yICN7JHNlY29uZH0gaXMgYSB2YWxpZCBtZWRpYSBxdWVyeSBuYW1lLlwiO1xuICB9XG5cbiAgLy8gU2V0IENvbnRleHRcbiAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJGZlYXR1cmUsICR2YWx1ZSk7XG5cbiAgQHJldHVybiAnKCN7JGZlYXR1cmV9OiAjeyR2YWx1ZX0pJztcbn0iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS1kb3VibGUtZGVmYXVsdCgkZmlyc3QsICRzZWNvbmQpIHtcbiAgJGZlYXR1cmU6ICcnO1xuICAkdmFsdWU6ICcnO1xuXG4gIEBpZiB0eXBlLW9mKCRmaXJzdCkgPT0gJ3N0cmluZycge1xuICAgICRmZWF0dXJlOiAkZmlyc3Q7XG4gICAgJHZhbHVlOiAkc2Vjb25kO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkZmVhdHVyZTogJHNlY29uZDtcbiAgICAkdmFsdWU6ICRmaXJzdDtcbiAgfVxuXG4gIC8vIFNldCBDb250ZXh0XG4gICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KCRmZWF0dXJlLCAkdmFsdWUpO1xuXG4gIEBpZiAoYnJlYWtwb2ludC1nZXQoJ3RvIGVtcycpID09IHRydWUpIHtcbiAgICAkdmFsdWU6IGJyZWFrcG9pbnQtdG8tYmFzZS1lbSgkdmFsdWUpO1xuICB9XG5cbiAgQHJldHVybiAnKCN7JGZlYXR1cmV9OiAjeyR2YWx1ZX0pJ1xufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnQgUGllY2VzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJ0cmlwbGUvZGVmYXVsdFwiO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS10cmlwbGUoJGZlYXR1cmUsICRlbXB0eS1tZWRpYSwgJGZpcnN0KSB7XG4gICRwYXJzZWQ6ICcnO1xuICAkbGVhZGVyOiAnJztcblxuICAvLyBJZiB3ZSdyZSBmb3JjaW5nXG4gIEBpZiBub3QgKCRlbXB0eS1tZWRpYSkgb3Igbm90ICgkZmlyc3QpIHtcbiAgICAkbGVhZGVyOiAnYW5kICc7XG4gIH1cblxuICAvLyBzZXBhcmF0ZSB0aGUgc3RyaW5nIGZlYXR1cmVzIGZyb20gdGhlIHZhbHVlIG51bWJlcnNcbiAgJHN0cmluZzogbnVsbDtcbiAgJG51bWJlcnM6IG51bGw7XG4gIEBlYWNoICR2YWwgaW4gJGZlYXR1cmUge1xuICAgIEBpZiB0eXBlLW9mKCR2YWwpID09IHN0cmluZyB7XG4gICAgICAkc3RyaW5nOiAkdmFsO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgdHlwZS1vZigkbnVtYmVycykgPT0gJ251bGwnIHtcbiAgICAgICAgJG51bWJlcnM6ICR2YWw7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRudW1iZXJzOiBhcHBlbmQoJG51bWJlcnMsICR2YWwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtdHJpcGxlLWRlZmF1bHQoJHN0cmluZywgbnRoKCRudW1iZXJzLCAxKSwgbnRoKCRudW1iZXJzLCAyKSk7XG5cbiAgQHJldHVybiAkbGVhZGVyICsgJHBhcnNlZDtcblxufVxuIiwiQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2UtdHJpcGxlLWRlZmF1bHQoJGZlYXR1cmUsICRmaXJzdCwgJHNlY29uZCkge1xuXG4gIC8vIFNvcnQgaW50byBtaW4gYW5kIG1heFxuICAkbWluOiBtaW4oJGZpcnN0LCAkc2Vjb25kKTtcbiAgJG1heDogbWF4KCRmaXJzdCwgJHNlY29uZCk7XG5cbiAgLy8gU2V0IENvbnRleHRcbiAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQobWluLSN7JGZlYXR1cmV9LCAkbWluKTtcbiAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQobWF4LSN7JGZlYXR1cmV9LCAkbWF4KTtcblxuICAvLyBNYWtlIHRoZW0gRU1zIGlmIG5lZWQgYmVcbiAgQGlmIChicmVha3BvaW50LWdldCgndG8gZW1zJykgPT0gdHJ1ZSkge1xuICAgICRtaW46IGJyZWFrcG9pbnQtdG8tYmFzZS1lbSgkbWluKTtcbiAgICAkbWF4OiBicmVha3BvaW50LXRvLWJhc2UtZW0oJG1heCk7XG4gIH1cblxuICBAcmV0dXJuICcobWluLSN7JGZlYXR1cmV9OiAjeyRtaW59KSBhbmQgKG1heC0jeyRmZWF0dXJlfTogI3skbWF4fSknO1xufVxuIiwiQGltcG9ydCBcInJlc29sdXRpb24vcmVzb2x1dGlvblwiO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1idWlsZC1yZXNvbHV0aW9uKCRxdWVyeS1wcmludCwgJHF1ZXJ5LXJlc29sdXRpb24sICRlbXB0eS1tZWRpYSwgJGZpcnN0KSB7XG4gICRsZWFkZXI6ICcnO1xuICAvLyBJZiB3ZSdyZSBmb3JjaW5nXG4gIEBpZiBub3QgKCRlbXB0eS1tZWRpYSkgb3Igbm90ICgkZmlyc3QpIHtcbiAgICAkbGVhZGVyOiAnYW5kICc7XG4gIH1cblxuICBAaWYgYnJlYWtwb2ludC1nZXQoJ3RyYW5zZm9ybSByZXNvbHV0aW9ucycpIGFuZCAkcXVlcnktcmVzb2x1dGlvbiB7XG4gICAgJHJlc29sdXRpb25zOiBicmVha3BvaW50LW1ha2UtcmVzb2x1dGlvbnMoJHF1ZXJ5LXJlc29sdXRpb24pO1xuICAgICRsZW5ndGg6IGxlbmd0aCgkcmVzb2x1dGlvbnMpO1xuICAgICRxdWVyeS1ob2xkZXI6ICcnO1xuXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbGVuZ3RoIHtcbiAgICAgICRxdWVyeTogJyN7JHF1ZXJ5LXByaW50fSAjeyRsZWFkZXJ9I3tudGgoJHJlc29sdXRpb25zLCAkaSl9JztcbiAgICAgIEBpZiAkaSA9PSAxIHtcbiAgICAgICAgJHF1ZXJ5LWhvbGRlcjogJHF1ZXJ5O1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkcXVlcnktaG9sZGVyOiAnI3skcXVlcnktaG9sZGVyfSwgI3skcXVlcnl9JztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFJldHVybiB3aXRoIGF0dGFjaGVkIHJlc29sdXRpb25cbiAgICBAcmV0dXJuICRxdWVyeS1wcmludDtcbiAgfVxufVxuIiwiQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWFrZS1yZXNvbHV0aW9ucygkcmVzb2x1dGlvbikge1xuICAkbGVuZ3RoOiBsZW5ndGgoJHJlc29sdXRpb24pO1xuXG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiAkbGVuZ3RoID09IDIge1xuICAgICRmZWF0dXJlOiAnJztcbiAgICAkdmFsdWU6ICcnO1xuXG4gICAgLy8gRmluZCB3aGljaCBpcyBudW1iZXJcbiAgICBAaWYgdHlwZS1vZihudGgoJHJlc29sdXRpb24sIDEpKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IG50aCgkcmVzb2x1dGlvbiwgMSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR2YWx1ZTogbnRoKCRyZXNvbHV0aW9uLCAyKTtcbiAgICB9XG5cbiAgICAvLyBEZXRlcm1pbmUgbWluL21heC9zdGFuZGFyZFxuICAgIEBpZiBpbmRleCgkcmVzb2x1dGlvbiwgJ21pbi1yZXNvbHV0aW9uJykge1xuICAgICAgJGZlYXR1cmU6ICdtaW4tJztcbiAgICB9XG4gICAgQGVsc2UgaWYgaW5kZXgoJHJlc29sdXRpb24sICdtYXgtcmVzb2x1dGlvbicpIHtcbiAgICAgICRmZWF0dXJlOiAnbWF4LSc7XG4gICAgfVxuXG4gICAgJHN0YW5kYXJkOiAnKCN7JGZlYXR1cmV9cmVzb2x1dGlvbjogI3skdmFsdWV9KSc7XG5cbiAgICAvLyBJZiB3ZSdyZSBub3QgZGVhbGluZyB3aXRoIGRwcHgsXG4gICAgQGlmIHVuaXQoJHZhbHVlKSAhPSAnZHBweCcge1xuICAgICAgJGJhc2U6IDk2ZHBpO1xuICAgICAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZHBjbScge1xuICAgICAgICAkYmFzZTogMjQzLjg0ZHBjbTtcbiAgICAgIH1cbiAgICAgIC8vIFdyaXRlIG91dCBmZWF0dXJlIHRlc3RzXG4gICAgICAkd2Via2l0OiAnJztcbiAgICAgICRtb3o6ICcnO1xuICAgICAgJHdlYmtpdDogJygtd2Via2l0LSN7JGZlYXR1cmV9ZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyR2YWx1ZSAvICRiYXNlfSknO1xuICAgICAgJG1vejogJygjeyRmZWF0dXJlfS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyR2YWx1ZSAvICRiYXNlfSknO1xuICAgICAgLy8gQXBwZW5kIHRvIG91dHB1dFxuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICRzdGFuZGFyZCwgc3BhY2UpO1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICR3ZWJraXQsIHNwYWNlKTtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAkbW96LCBzcGFjZSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3ZWJraXQ6ICcnO1xuICAgICAgJG1vejogJyc7XG4gICAgICAkd2Via2l0OiAnKC13ZWJraXQtI3skZmVhdHVyZX1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JHZhbHVlIC8gMWRwcHh9KSc7XG4gICAgICAkbW96OiAnKCN7JGZlYXR1cmV9LW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JHZhbHVlIC8gMWRwcHh9KSc7XG4gICAgICAkZmFsbGJhY2s6ICcoI3skZmVhdHVyZX1yZXNvbHV0aW9uOiAjeyR2YWx1ZSAvIDFkcHB4ICogOTZkcGl9KSc7XG4gICAgICAvLyBBcHBlbmQgdG8gb3V0cHV0XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJHN0YW5kYXJkLCBzcGFjZSk7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJHdlYmtpdCwgc3BhY2UpO1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICRtb3osIHNwYWNlKTtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAkZmFsbGJhY2ssIHNwYWNlKTtcbiAgICB9XG5cbiAgfVxuXG4gIEByZXR1cm4gJG91dHB1dDtcbn1cbiIsIkBmdW5jdGlvbiBicmVha3BvaW50LW5vLXF1ZXJ5KCRxdWVyeSkge1xuICBAaWYgdHlwZS1vZigkcXVlcnkpID09ICdsaXN0JyB7XG4gICAgJGtleXdvcmQ6IG50aCgkcXVlcnksIDEpO1xuXG4gICAgQGlmIHR5cGUtb2YoJGtleXdvcmQpID09ICdzdHJpbmcnIGFuZCAoJGtleXdvcmQgPT0gJ25vLXF1ZXJ5JyBvciAka2V5d29yZCA9PSAnbm8gcXVlcnknIG9yICRrZXl3b3JkID09ICdmYWxsYmFjaycpIHtcbiAgICAgIEByZXR1cm4gbnRoKCRxdWVyeSwgMik7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIERlZmF1bHQgdGhlIEJyZWFrcG9pbnRzIHZhcmlhYmxlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRicmVha3BvaW50czogKCkgIWRlZmF1bHQ7XG4kQlJFQUtQT0lOVFM6ICgpICFkZWZhdWx0O1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFJlc3BvbmQtdG8gQVBJIE1peGluXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBtaXhpbiByZXNwb25kLXRvKCRjb250ZXh0LCAkbm8tcXVlcnk6IGZhbHNlKSB7XG4gIEBpZiBsZW5ndGgoJGJyZWFrcG9pbnRzKSA+IDAgYW5kIGxlbmd0aCgkQlJFQUtQT0lOVFMpID09IDAge1xuICAgIEB3YXJuIFwiSW4gb3JkZXIgdG8gYXZvaWQgdmFyaWFibGUgbmFtZXNwYWNlIGNvbGxpc2lvbnMsIHdlIGhhdmUgdXBkYXRlZCB0aGUgd2F5IHRvIGFkZCBicmVha3BvaW50cyBmb3IgcmVzcG9uZC10by4gUGxlYXNlIGNoYW5nZSBhbGwgaW5zdGFuY2VzIG9mIGAkYnJlYWtwb2ludHM6IGFkZC1icmVha3BvaW50KClgIHRvIGBAaW5jbHVkZSBhZGQtYnJlYWtwb2ludCgpYC4gVGhlIGBhZGQtYnJlYWtwb2ludCgpYCBmdW5jdGlvbiB3aWxsIGJlIGRlcHJlY2F0ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS5cIjtcbiAgICAkQlJFQUtQT0lOVFM6ICRicmVha3BvaW50cyAhZ2xvYmFsO1xuICAgICRicmVha3BvaW50czogKCkgIWdsb2JhbDtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRCUkVBS1BPSU5UUykgIT0gJ21hcCcge1xuICAgIC8vIEp1c3QgaW4gY2FzZSBzb21lb25lIHdyaXRlcyBnaWJiZXJpc2ggdG8gdGhlICRicmVha3BvaW50cyB2YXJpYWJsZS5cbiAgICBAd2FybiBcIllvdXIgYnJlYWtwb2ludHMgYXJlbid0IGEgbWFwISBgcmVzcG9uZC10b2AgZXhwZWN0cyBhIG1hcC4gUGxlYXNlIGNoZWNrIHRoZSB2YWx1ZSBvZiAkQlJFQUtQT0lOVFMgdmFyaWFibGUuXCI7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJEJSRUFLUE9JTlRTLCAkY29udGV4dCkge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWFwLWdldCgkQlJFQUtQT0lOVFMsICRjb250ZXh0KSwgJG5vLXF1ZXJ5KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgbm90IG1hcC1oYXMta2V5KCRCUkVBS1BPSU5UUywgJGNvbnRleHQpIHtcbiAgICBAd2FybiBcImAjeyRjb250ZXh0fWAgaXNuJ3QgYSBkZWZpbmVkIGJyZWFrcG9pbnQhIFBsZWFzZSBhZGQgaXQgdXNpbmcgYCRicmVha3BvaW50czogYWRkLWJyZWFrcG9pbnQoYCN7JGNvbnRleHR9YCwgJHZhbHVlKTtgXCI7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuIFwiWW91IGhhdmVuJ3QgY3JlYXRlZCBhbnkgYnJlYWtwb2ludHMgeWV0ISBNYWtlIHNvbWUgYWxyZWFkeSEgYEBpbmNsdWRlIGFkZC1icmVha3BvaW50KCRuYW1lLCAkYmtwdClgXCI7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBBZGQgQnJlYWtwb2ludCB0byBCcmVha3BvaW50c1xuLy8gVE9ETzogUmVtb3ZlIGZ1bmN0aW9uIGluIG5leHQgcmVsZWFzZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYWRkLWJyZWFrcG9pbnQoJG5hbWUsICRia3B0LCAkb3ZlcndyaXRlOiBmYWxzZSkge1xuICAkb3V0cHV0OiAoJG5hbWU6ICRia3B0KTtcblxuICBAaWYgbGVuZ3RoKCRicmVha3BvaW50cykgPT0gMCB7XG4gICAgQHJldHVybiAkb3V0cHV0O1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbmFtZSkgYW5kICRvdmVyd3JpdGUgIT0gdHJ1ZSB7XG4gICAgICBAd2FybiBcIllvdSBhbHJlYWR5IGhhdmUgYSBicmVha3BvaW50IG5hbWVkIGAjeyRuYW1lfWAsIHBsZWFzZSBjaG9vc2UgYW5vdGhlciBicmVha3BvaW50IG5hbWUsIG9yIHBhc3MgaW4gYCRvdmVyd3JpdGU6IHRydWVgIHRvIG92ZXJ3cml0ZSB0aGUgcHJldmlvdXMgYnJlYWtwb2ludC5cIjtcbiAgICAgIEByZXR1cm4gJGJyZWFrcG9pbnRzO1xuICAgIH1cbiAgICBAZWxzZSBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbmFtZSkgb3IgJG92ZXJ3cml0ZSA9PSB0cnVlIHtcbiAgICAgIEByZXR1cm4gbWFwLW1lcmdlKCRicmVha3BvaW50cywgJG91dHB1dCk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhZGQtYnJlYWtwb2ludCgkbmFtZSwgJGJrcHQsICRvdmVyd3JpdGU6IGZhbHNlKSB7XG4gICRvdXRwdXQ6ICgkbmFtZTogJGJrcHQpO1xuXG4gIEBpZiBsZW5ndGgoJEJSRUFLUE9JTlRTKSA9PSAwIHtcbiAgICAkQlJFQUtQT0lOVFM6ICRvdXRwdXQgIWdsb2JhbDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRCUkVBS1BPSU5UUywgJG5hbWUpIGFuZCAkb3ZlcndyaXRlICE9IHRydWUge1xuICAgICAgQHdhcm4gXCJZb3UgYWxyZWFkeSBoYXZlIGEgYnJlYWtwb2ludCBuYW1lZCBgI3skbmFtZX1gLCBwbGVhc2UgY2hvb3NlIGFub3RoZXIgYnJlYWtwb2ludCBuYW1lLCBvciBwYXNzIGluIGAkb3ZlcndyaXRlOiB0cnVlYCB0byBvdmVyd3JpdGUgdGhlIHByZXZpb3VzIGJyZWFrcG9pbnQuXCI7XG4gICAgICAkQlJFQUtQT0lOVFM6ICRCUkVBS1BPSU5UUyAhZ2xvYmFsO1xuICAgIH1cbiAgICBAZWxzZSBpZiBub3QgbWFwLWhhcy1rZXkoJEJSRUFLUE9JTlRTLCAkbmFtZSkgb3IgJG92ZXJ3cml0ZSA9PSB0cnVlIHtcbiAgICAgICRCUkVBS1BPSU5UUzogbWFwLW1lcmdlKCRCUkVBS1BPSU5UUywgJG91dHB1dCkgIWdsb2JhbDtcbiAgICB9XG4gIH1cbn1cblxuQGZ1bmN0aW9uIGdldC1icmVha3BvaW50KCRuYW1lOiBmYWxzZSkge1xuICBAaWYgJG5hbWUgPT0gZmFsc2Uge1xuICAgIEByZXR1cm4gJEJSRUFLUE9JTlRTO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJEJSRUFLUE9JTlRTLCAkbmFtZSk7XG4gIH1cbn1cbiIsIkBtaXhpbiBsZWdhY3ktc2V0dGluZ3Mtd2FybmluZyB7XG4gICRsZWdhY3lWYXJzOiAoXG4gICAgJ2RlZmF1bHQtbWVkaWEnOiAnZGVmYXVsdCBtZWRpYScsXG4gICAgJ2RlZmF1bHQtZmVhdHVyZSc6ICdkZWZhdWx0IGZlYXR1cmUnLFxuICAgICdmb3JjZS1tZWRpYS1hbGwnOiAnZm9yY2UgYWxsIG1lZGlhIHR5cGUnLFxuICAgICd0by1lbXMnOiAndG8gZW1zJyxcbiAgICAncmVzb2x1dGlvbnMnOiAndHJhbnNmb3JtIHJlc29sdXRpb25zJyxcbiAgICAnbm8tcXVlcmllcyc6ICdubyBxdWVyaWVzJyxcbiAgICAnbm8tcXVlcnktZmFsbGJhY2tzJzogJ25vIHF1ZXJ5IGZhbGxiYWNrcycsXG4gICAgJ2Jhc2UtZm9udC1zaXplJzogJ2Jhc2UgZm9udCBzaXplJyxcbiAgICAnbGVnYWN5LXN5bnRheCc6ICdsZWdhY3kgc3ludGF4J1xuICApO1xuXG4gIEBlYWNoICRsZWdhY3ksICRuZXcgaW4gJGxlZ2FjeVZhcnMge1xuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LScgKyAkbGVnYWN5KSB7XG4gICAgICBAd2FybiBcIkluIG9yZGVyIHRvIGF2b2lkIHZhcmlhYmxlIG5hbXNwYWNlIGNvbGxpc2lvbnMsIHdlIGhhdmUgdXBkYXRlZCB0aGUgd2F5IHRvIGNoYW5nZSBzZXR0aW5ncyBmb3IgQnJlYWtwb2ludC4gUGxlYXNlIGNoYW5nZSBhbGwgaW5zdGFuY2VzIG9mIGAkYnJlYWtwb2ludC0jeyRsZWdhY3l9OiB7e3NldHRpbmd9fWAgdG8gYEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCcjeyRuZXd9Jywge3tzZXR0aW5nfX0pYC4gVmFyaWFibGUgc2V0dGluZ3MsIGFzIHdlbGwgYXMgdGhpcyB3YXJuaW5nIHdpbGwgYmUgZGVwcmVjYXRlZCBpbiBhIGZ1dHVyZSByZWxlYXNlLlwiXG4gICAgfVxuICB9O1xuXG4gIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAvLyBIYW5kIGNvcnJlY3QgZWFjaCBzZXR0aW5nXG4gIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC1kZWZhdWx0LW1lZGlhJykgYW5kICRicmVha3BvaW50LWRlZmF1bHQtbWVkaWEgIT0gYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJ2RlZmF1bHQgbWVkaWEnLCAkYnJlYWtwb2ludC1kZWZhdWx0LW1lZGlhKTtcbiAgfVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC1kZWZhdWx0LWZlYXR1cmUnKSBhbmQgJGJyZWFrcG9pbnQtZGVmYXVsdC1mZWF0dXJlICE9IGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IGZlYXR1cmUnKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJ2RlZmF1bHQgZmVhdHVyZScsICRicmVha3BvaW50LWRlZmF1bHQtZmVhdHVyZSk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtZm9yY2UtbWVkaWEtYWxsJykgYW5kICRicmVha3BvaW50LWZvcmNlLW1lZGlhLWFsbCAhPSBicmVha3BvaW50LWdldCgnZm9yY2UgYWxsIG1lZGlhIHR5cGUnKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJ2ZvcmNlIGFsbCBtZWRpYSB0eXBlJywgJGJyZWFrcG9pbnQtZm9yY2UtbWVkaWEtYWxsKTtcbiAgfVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC10by1lbXMnKSBhbmQgJGJyZWFrcG9pbnQtdG8tZW1zICE9IGJyZWFrcG9pbnQtZ2V0KCd0byBlbXMnKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJ3RvIGVtcycsICRicmVha3BvaW50LXRvLWVtcyk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtcmVzb2x1dGlvbnMnKSBhbmQgJGJyZWFrcG9pbnQtcmVzb2x1dGlvbnMgIT0gYnJlYWtwb2ludC1nZXQoJ3RyYW5zZm9ybSByZXNvbHV0aW9ucycpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgndHJhbnNmb3JtIHJlc29sdXRpb25zJywgJGJyZWFrcG9pbnQtcmVzb2x1dGlvbnMpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LW5vLXF1ZXJpZXMnKSBhbmQgJGJyZWFrcG9pbnQtbm8tcXVlcmllcyAhPSBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnbm8gcXVlcmllcycsICRicmVha3BvaW50LW5vLXF1ZXJpZXMpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LW5vLXF1ZXJ5LWZhbGxiYWNrcycpIGFuZCAkYnJlYWtwb2ludC1uby1xdWVyeS1mYWxsYmFja3MgIT0gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnbm8gcXVlcnkgZmFsbGJhY2tzJywgJGJyZWFrcG9pbnQtbm8tcXVlcnktZmFsbGJhY2tzKTtcbiAgfVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC1iYXNlLWZvbnQtc2l6ZScpIGFuZCAkYnJlYWtwb2ludC1iYXNlLWZvbnQtc2l6ZSAhPSBicmVha3BvaW50LWdldCgnYmFzZSBmb250IHNpemUnKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJ2Jhc2UgZm9udCBzaXplJywgJGJyZWFrcG9pbnQtYmFzZS1mb250LXNpemUpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LWxlZ2FjeS1zeW50YXgnKSBhbmQgJGJyZWFrcG9pbnQtbGVnYWN5LXN5bnRheCAhPSBicmVha3BvaW50LWdldCgnbGVnYWN5IHN5bnRheCcpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnbGVnYWN5IHN5bnRheCcsICRicmVha3BvaW50LWxlZ2FjeS1zeW50YXgpO1xuICB9XG59IiwiLyohXG4gKiAgRm9udCBBd2Vzb21lIDQuNy4wIGJ5IEBkYXZlZ2FuZHkgLSBodHRwOi8vZm9udGF3ZXNvbWUuaW8gLSBAZm9udGF3ZXNvbWVcbiAqICBMaWNlbnNlIC0gaHR0cDovL2ZvbnRhd2Vzb21lLmlvL2xpY2Vuc2UgKEZvbnQ6IFNJTCBPRkwgMS4xLCBDU1M6IE1JVCBMaWNlbnNlKVxuICovXG5cbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJwYXRoXCI7XG5AaW1wb3J0IFwiY29yZVwiO1xuQGltcG9ydCBcImxhcmdlclwiO1xuQGltcG9ydCBcImZpeGVkLXdpZHRoXCI7XG5AaW1wb3J0IFwibGlzdFwiO1xuQGltcG9ydCBcImJvcmRlcmVkLXB1bGxlZFwiO1xuQGltcG9ydCBcImFuaW1hdGVkXCI7XG5AaW1wb3J0IFwicm90YXRlZC1mbGlwcGVkXCI7XG5AaW1wb3J0IFwic3RhY2tlZFwiO1xuQGltcG9ydCBcImljb25zXCI7XG5AaW1wb3J0IFwic2NyZWVuLXJlYWRlclwiO1xuIiwiLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmEtZm9udC1wYXRoOiAgICAgICAgXCIuLi9mb250c1wiICFkZWZhdWx0O1xuJGZhLWZvbnQtc2l6ZS1iYXNlOiAgIDE0cHggIWRlZmF1bHQ7XG4kZmEtbGluZS1oZWlnaHQtYmFzZTogMSAhZGVmYXVsdDtcbi8vJGZhLWZvbnQtcGF0aDogICAgICAgIFwiLy9uZXRkbmEuYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC43LjAvZm9udHNcIiAhZGVmYXVsdDsgLy8gZm9yIHJlZmVyZW5jaW5nIEJvb3RzdHJhcCBDRE4gZm9udCBmaWxlcyBkaXJlY3RseVxuJGZhLWNzcy1wcmVmaXg6ICAgICAgIGZhICFkZWZhdWx0O1xuJGZhLXZlcnNpb246ICAgICAgICAgIFwiNC43LjBcIiAhZGVmYXVsdDtcbiRmYS1ib3JkZXItY29sb3I6ICAgICAjZWVlICFkZWZhdWx0O1xuJGZhLWludmVyc2U6ICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kZmEtbGktd2lkdGg6ICAgICAgICAgKDMwZW0gLyAxNCkgIWRlZmF1bHQ7XG5cbiRmYS12YXItNTAwcHg6IFwiXFxmMjZlXCI7XG4kZmEtdmFyLWFkZHJlc3MtYm9vazogXCJcXGYyYjlcIjtcbiRmYS12YXItYWRkcmVzcy1ib29rLW86IFwiXFxmMmJhXCI7XG4kZmEtdmFyLWFkZHJlc3MtY2FyZDogXCJcXGYyYmJcIjtcbiRmYS12YXItYWRkcmVzcy1jYXJkLW86IFwiXFxmMmJjXCI7XG4kZmEtdmFyLWFkanVzdDogXCJcXGYwNDJcIjtcbiRmYS12YXItYWRuOiBcIlxcZjE3MFwiO1xuJGZhLXZhci1hbGlnbi1jZW50ZXI6IFwiXFxmMDM3XCI7XG4kZmEtdmFyLWFsaWduLWp1c3RpZnk6IFwiXFxmMDM5XCI7XG4kZmEtdmFyLWFsaWduLWxlZnQ6IFwiXFxmMDM2XCI7XG4kZmEtdmFyLWFsaWduLXJpZ2h0OiBcIlxcZjAzOFwiO1xuJGZhLXZhci1hbWF6b246IFwiXFxmMjcwXCI7XG4kZmEtdmFyLWFtYnVsYW5jZTogXCJcXGYwZjlcIjtcbiRmYS12YXItYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmc6IFwiXFxmMmEzXCI7XG4kZmEtdmFyLWFuY2hvcjogXCJcXGYxM2RcIjtcbiRmYS12YXItYW5kcm9pZDogXCJcXGYxN2JcIjtcbiRmYS12YXItYW5nZWxsaXN0OiBcIlxcZjIwOVwiO1xuJGZhLXZhci1hbmdsZS1kb3VibGUtZG93bjogXCJcXGYxMDNcIjtcbiRmYS12YXItYW5nbGUtZG91YmxlLWxlZnQ6IFwiXFxmMTAwXCI7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS1yaWdodDogXCJcXGYxMDFcIjtcbiRmYS12YXItYW5nbGUtZG91YmxlLXVwOiBcIlxcZjEwMlwiO1xuJGZhLXZhci1hbmdsZS1kb3duOiBcIlxcZjEwN1wiO1xuJGZhLXZhci1hbmdsZS1sZWZ0OiBcIlxcZjEwNFwiO1xuJGZhLXZhci1hbmdsZS1yaWdodDogXCJcXGYxMDVcIjtcbiRmYS12YXItYW5nbGUtdXA6IFwiXFxmMTA2XCI7XG4kZmEtdmFyLWFwcGxlOiBcIlxcZjE3OVwiO1xuJGZhLXZhci1hcmNoaXZlOiBcIlxcZjE4N1wiO1xuJGZhLXZhci1hcmVhLWNoYXJ0OiBcIlxcZjFmZVwiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtZG93bjogXCJcXGYwYWJcIjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLWxlZnQ6IFwiXFxmMGE4XCI7XG4kZmEtdmFyLWFycm93LWNpcmNsZS1vLWRvd246IFwiXFxmMDFhXCI7XG4kZmEtdmFyLWFycm93LWNpcmNsZS1vLWxlZnQ6IFwiXFxmMTkwXCI7XG4kZmEtdmFyLWFycm93LWNpcmNsZS1vLXJpZ2h0OiBcIlxcZjE4ZVwiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtby11cDogXCJcXGYwMWJcIjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLXJpZ2h0OiBcIlxcZjBhOVwiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtdXA6IFwiXFxmMGFhXCI7XG4kZmEtdmFyLWFycm93LWRvd246IFwiXFxmMDYzXCI7XG4kZmEtdmFyLWFycm93LWxlZnQ6IFwiXFxmMDYwXCI7XG4kZmEtdmFyLWFycm93LXJpZ2h0OiBcIlxcZjA2MVwiO1xuJGZhLXZhci1hcnJvdy11cDogXCJcXGYwNjJcIjtcbiRmYS12YXItYXJyb3dzOiBcIlxcZjA0N1wiO1xuJGZhLXZhci1hcnJvd3MtYWx0OiBcIlxcZjBiMlwiO1xuJGZhLXZhci1hcnJvd3MtaDogXCJcXGYwN2VcIjtcbiRmYS12YXItYXJyb3dzLXY6IFwiXFxmMDdkXCI7XG4kZmEtdmFyLWFzbC1pbnRlcnByZXRpbmc6IFwiXFxmMmEzXCI7XG4kZmEtdmFyLWFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtczogXCJcXGYyYTJcIjtcbiRmYS12YXItYXN0ZXJpc2s6IFwiXFxmMDY5XCI7XG4kZmEtdmFyLWF0OiBcIlxcZjFmYVwiO1xuJGZhLXZhci1hdWRpby1kZXNjcmlwdGlvbjogXCJcXGYyOWVcIjtcbiRmYS12YXItYXV0b21vYmlsZTogXCJcXGYxYjlcIjtcbiRmYS12YXItYmFja3dhcmQ6IFwiXFxmMDRhXCI7XG4kZmEtdmFyLWJhbGFuY2Utc2NhbGU6IFwiXFxmMjRlXCI7XG4kZmEtdmFyLWJhbjogXCJcXGYwNWVcIjtcbiRmYS12YXItYmFuZGNhbXA6IFwiXFxmMmQ1XCI7XG4kZmEtdmFyLWJhbms6IFwiXFxmMTljXCI7XG4kZmEtdmFyLWJhci1jaGFydDogXCJcXGYwODBcIjtcbiRmYS12YXItYmFyLWNoYXJ0LW86IFwiXFxmMDgwXCI7XG4kZmEtdmFyLWJhcmNvZGU6IFwiXFxmMDJhXCI7XG4kZmEtdmFyLWJhcnM6IFwiXFxmMGM5XCI7XG4kZmEtdmFyLWJhdGg6IFwiXFxmMmNkXCI7XG4kZmEtdmFyLWJhdGh0dWI6IFwiXFxmMmNkXCI7XG4kZmEtdmFyLWJhdHRlcnk6IFwiXFxmMjQwXCI7XG4kZmEtdmFyLWJhdHRlcnktMDogXCJcXGYyNDRcIjtcbiRmYS12YXItYmF0dGVyeS0xOiBcIlxcZjI0M1wiO1xuJGZhLXZhci1iYXR0ZXJ5LTI6IFwiXFxmMjQyXCI7XG4kZmEtdmFyLWJhdHRlcnktMzogXCJcXGYyNDFcIjtcbiRmYS12YXItYmF0dGVyeS00OiBcIlxcZjI0MFwiO1xuJGZhLXZhci1iYXR0ZXJ5LWVtcHR5OiBcIlxcZjI0NFwiO1xuJGZhLXZhci1iYXR0ZXJ5LWZ1bGw6IFwiXFxmMjQwXCI7XG4kZmEtdmFyLWJhdHRlcnktaGFsZjogXCJcXGYyNDJcIjtcbiRmYS12YXItYmF0dGVyeS1xdWFydGVyOiBcIlxcZjI0M1wiO1xuJGZhLXZhci1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOiBcIlxcZjI0MVwiO1xuJGZhLXZhci1iZWQ6IFwiXFxmMjM2XCI7XG4kZmEtdmFyLWJlZXI6IFwiXFxmMGZjXCI7XG4kZmEtdmFyLWJlaGFuY2U6IFwiXFxmMWI0XCI7XG4kZmEtdmFyLWJlaGFuY2Utc3F1YXJlOiBcIlxcZjFiNVwiO1xuJGZhLXZhci1iZWxsOiBcIlxcZjBmM1wiO1xuJGZhLXZhci1iZWxsLW86IFwiXFxmMGEyXCI7XG4kZmEtdmFyLWJlbGwtc2xhc2g6IFwiXFxmMWY2XCI7XG4kZmEtdmFyLWJlbGwtc2xhc2gtbzogXCJcXGYxZjdcIjtcbiRmYS12YXItYmljeWNsZTogXCJcXGYyMDZcIjtcbiRmYS12YXItYmlub2N1bGFyczogXCJcXGYxZTVcIjtcbiRmYS12YXItYmlydGhkYXktY2FrZTogXCJcXGYxZmRcIjtcbiRmYS12YXItYml0YnVja2V0OiBcIlxcZjE3MVwiO1xuJGZhLXZhci1iaXRidWNrZXQtc3F1YXJlOiBcIlxcZjE3MlwiO1xuJGZhLXZhci1iaXRjb2luOiBcIlxcZjE1YVwiO1xuJGZhLXZhci1ibGFjay10aWU6IFwiXFxmMjdlXCI7XG4kZmEtdmFyLWJsaW5kOiBcIlxcZjI5ZFwiO1xuJGZhLXZhci1ibHVldG9vdGg6IFwiXFxmMjkzXCI7XG4kZmEtdmFyLWJsdWV0b290aC1iOiBcIlxcZjI5NFwiO1xuJGZhLXZhci1ib2xkOiBcIlxcZjAzMlwiO1xuJGZhLXZhci1ib2x0OiBcIlxcZjBlN1wiO1xuJGZhLXZhci1ib21iOiBcIlxcZjFlMlwiO1xuJGZhLXZhci1ib29rOiBcIlxcZjAyZFwiO1xuJGZhLXZhci1ib29rbWFyazogXCJcXGYwMmVcIjtcbiRmYS12YXItYm9va21hcmstbzogXCJcXGYwOTdcIjtcbiRmYS12YXItYnJhaWxsZTogXCJcXGYyYTFcIjtcbiRmYS12YXItYnJpZWZjYXNlOiBcIlxcZjBiMVwiO1xuJGZhLXZhci1idGM6IFwiXFxmMTVhXCI7XG4kZmEtdmFyLWJ1ZzogXCJcXGYxODhcIjtcbiRmYS12YXItYnVpbGRpbmc6IFwiXFxmMWFkXCI7XG4kZmEtdmFyLWJ1aWxkaW5nLW86IFwiXFxmMGY3XCI7XG4kZmEtdmFyLWJ1bGxob3JuOiBcIlxcZjBhMVwiO1xuJGZhLXZhci1idWxsc2V5ZTogXCJcXGYxNDBcIjtcbiRmYS12YXItYnVzOiBcIlxcZjIwN1wiO1xuJGZhLXZhci1idXlzZWxsYWRzOiBcIlxcZjIwZFwiO1xuJGZhLXZhci1jYWI6IFwiXFxmMWJhXCI7XG4kZmEtdmFyLWNhbGN1bGF0b3I6IFwiXFxmMWVjXCI7XG4kZmEtdmFyLWNhbGVuZGFyOiBcIlxcZjA3M1wiO1xuJGZhLXZhci1jYWxlbmRhci1jaGVjay1vOiBcIlxcZjI3NFwiO1xuJGZhLXZhci1jYWxlbmRhci1taW51cy1vOiBcIlxcZjI3MlwiO1xuJGZhLXZhci1jYWxlbmRhci1vOiBcIlxcZjEzM1wiO1xuJGZhLXZhci1jYWxlbmRhci1wbHVzLW86IFwiXFxmMjcxXCI7XG4kZmEtdmFyLWNhbGVuZGFyLXRpbWVzLW86IFwiXFxmMjczXCI7XG4kZmEtdmFyLWNhbWVyYTogXCJcXGYwMzBcIjtcbiRmYS12YXItY2FtZXJhLXJldHJvOiBcIlxcZjA4M1wiO1xuJGZhLXZhci1jYXI6IFwiXFxmMWI5XCI7XG4kZmEtdmFyLWNhcmV0LWRvd246IFwiXFxmMGQ3XCI7XG4kZmEtdmFyLWNhcmV0LWxlZnQ6IFwiXFxmMGQ5XCI7XG4kZmEtdmFyLWNhcmV0LXJpZ2h0OiBcIlxcZjBkYVwiO1xuJGZhLXZhci1jYXJldC1zcXVhcmUtby1kb3duOiBcIlxcZjE1MFwiO1xuJGZhLXZhci1jYXJldC1zcXVhcmUtby1sZWZ0OiBcIlxcZjE5MVwiO1xuJGZhLXZhci1jYXJldC1zcXVhcmUtby1yaWdodDogXCJcXGYxNTJcIjtcbiRmYS12YXItY2FyZXQtc3F1YXJlLW8tdXA6IFwiXFxmMTUxXCI7XG4kZmEtdmFyLWNhcmV0LXVwOiBcIlxcZjBkOFwiO1xuJGZhLXZhci1jYXJ0LWFycm93LWRvd246IFwiXFxmMjE4XCI7XG4kZmEtdmFyLWNhcnQtcGx1czogXCJcXGYyMTdcIjtcbiRmYS12YXItY2M6IFwiXFxmMjBhXCI7XG4kZmEtdmFyLWNjLWFtZXg6IFwiXFxmMWYzXCI7XG4kZmEtdmFyLWNjLWRpbmVycy1jbHViOiBcIlxcZjI0Y1wiO1xuJGZhLXZhci1jYy1kaXNjb3ZlcjogXCJcXGYxZjJcIjtcbiRmYS12YXItY2MtamNiOiBcIlxcZjI0YlwiO1xuJGZhLXZhci1jYy1tYXN0ZXJjYXJkOiBcIlxcZjFmMVwiO1xuJGZhLXZhci1jYy1wYXlwYWw6IFwiXFxmMWY0XCI7XG4kZmEtdmFyLWNjLXN0cmlwZTogXCJcXGYxZjVcIjtcbiRmYS12YXItY2MtdmlzYTogXCJcXGYxZjBcIjtcbiRmYS12YXItY2VydGlmaWNhdGU6IFwiXFxmMGEzXCI7XG4kZmEtdmFyLWNoYWluOiBcIlxcZjBjMVwiO1xuJGZhLXZhci1jaGFpbi1icm9rZW46IFwiXFxmMTI3XCI7XG4kZmEtdmFyLWNoZWNrOiBcIlxcZjAwY1wiO1xuJGZhLXZhci1jaGVjay1jaXJjbGU6IFwiXFxmMDU4XCI7XG4kZmEtdmFyLWNoZWNrLWNpcmNsZS1vOiBcIlxcZjA1ZFwiO1xuJGZhLXZhci1jaGVjay1zcXVhcmU6IFwiXFxmMTRhXCI7XG4kZmEtdmFyLWNoZWNrLXNxdWFyZS1vOiBcIlxcZjA0NlwiO1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1kb3duOiBcIlxcZjEzYVwiO1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1sZWZ0OiBcIlxcZjEzN1wiO1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1yaWdodDogXCJcXGYxMzhcIjtcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtdXA6IFwiXFxmMTM5XCI7XG4kZmEtdmFyLWNoZXZyb24tZG93bjogXCJcXGYwNzhcIjtcbiRmYS12YXItY2hldnJvbi1sZWZ0OiBcIlxcZjA1M1wiO1xuJGZhLXZhci1jaGV2cm9uLXJpZ2h0OiBcIlxcZjA1NFwiO1xuJGZhLXZhci1jaGV2cm9uLXVwOiBcIlxcZjA3N1wiO1xuJGZhLXZhci1jaGlsZDogXCJcXGYxYWVcIjtcbiRmYS12YXItY2hyb21lOiBcIlxcZjI2OFwiO1xuJGZhLXZhci1jaXJjbGU6IFwiXFxmMTExXCI7XG4kZmEtdmFyLWNpcmNsZS1vOiBcIlxcZjEwY1wiO1xuJGZhLXZhci1jaXJjbGUtby1ub3RjaDogXCJcXGYxY2VcIjtcbiRmYS12YXItY2lyY2xlLXRoaW46IFwiXFxmMWRiXCI7XG4kZmEtdmFyLWNsaXBib2FyZDogXCJcXGYwZWFcIjtcbiRmYS12YXItY2xvY2stbzogXCJcXGYwMTdcIjtcbiRmYS12YXItY2xvbmU6IFwiXFxmMjRkXCI7XG4kZmEtdmFyLWNsb3NlOiBcIlxcZjAwZFwiO1xuJGZhLXZhci1jbG91ZDogXCJcXGYwYzJcIjtcbiRmYS12YXItY2xvdWQtZG93bmxvYWQ6IFwiXFxmMGVkXCI7XG4kZmEtdmFyLWNsb3VkLXVwbG9hZDogXCJcXGYwZWVcIjtcbiRmYS12YXItY255OiBcIlxcZjE1N1wiO1xuJGZhLXZhci1jb2RlOiBcIlxcZjEyMVwiO1xuJGZhLXZhci1jb2RlLWZvcms6IFwiXFxmMTI2XCI7XG4kZmEtdmFyLWNvZGVwZW46IFwiXFxmMWNiXCI7XG4kZmEtdmFyLWNvZGllcGllOiBcIlxcZjI4NFwiO1xuJGZhLXZhci1jb2ZmZWU6IFwiXFxmMGY0XCI7XG4kZmEtdmFyLWNvZzogXCJcXGYwMTNcIjtcbiRmYS12YXItY29nczogXCJcXGYwODVcIjtcbiRmYS12YXItY29sdW1uczogXCJcXGYwZGJcIjtcbiRmYS12YXItY29tbWVudDogXCJcXGYwNzVcIjtcbiRmYS12YXItY29tbWVudC1vOiBcIlxcZjBlNVwiO1xuJGZhLXZhci1jb21tZW50aW5nOiBcIlxcZjI3YVwiO1xuJGZhLXZhci1jb21tZW50aW5nLW86IFwiXFxmMjdiXCI7XG4kZmEtdmFyLWNvbW1lbnRzOiBcIlxcZjA4NlwiO1xuJGZhLXZhci1jb21tZW50cy1vOiBcIlxcZjBlNlwiO1xuJGZhLXZhci1jb21wYXNzOiBcIlxcZjE0ZVwiO1xuJGZhLXZhci1jb21wcmVzczogXCJcXGYwNjZcIjtcbiRmYS12YXItY29ubmVjdGRldmVsb3A6IFwiXFxmMjBlXCI7XG4kZmEtdmFyLWNvbnRhbzogXCJcXGYyNmRcIjtcbiRmYS12YXItY29weTogXCJcXGYwYzVcIjtcbiRmYS12YXItY29weXJpZ2h0OiBcIlxcZjFmOVwiO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zOiBcIlxcZjI1ZVwiO1xuJGZhLXZhci1jcmVkaXQtY2FyZDogXCJcXGYwOWRcIjtcbiRmYS12YXItY3JlZGl0LWNhcmQtYWx0OiBcIlxcZjI4M1wiO1xuJGZhLXZhci1jcm9wOiBcIlxcZjEyNVwiO1xuJGZhLXZhci1jcm9zc2hhaXJzOiBcIlxcZjA1YlwiO1xuJGZhLXZhci1jc3MzOiBcIlxcZjEzY1wiO1xuJGZhLXZhci1jdWJlOiBcIlxcZjFiMlwiO1xuJGZhLXZhci1jdWJlczogXCJcXGYxYjNcIjtcbiRmYS12YXItY3V0OiBcIlxcZjBjNFwiO1xuJGZhLXZhci1jdXRsZXJ5OiBcIlxcZjBmNVwiO1xuJGZhLXZhci1kYXNoYm9hcmQ6IFwiXFxmMGU0XCI7XG4kZmEtdmFyLWRhc2hjdWJlOiBcIlxcZjIxMFwiO1xuJGZhLXZhci1kYXRhYmFzZTogXCJcXGYxYzBcIjtcbiRmYS12YXItZGVhZjogXCJcXGYyYTRcIjtcbiRmYS12YXItZGVhZm5lc3M6IFwiXFxmMmE0XCI7XG4kZmEtdmFyLWRlZGVudDogXCJcXGYwM2JcIjtcbiRmYS12YXItZGVsaWNpb3VzOiBcIlxcZjFhNVwiO1xuJGZhLXZhci1kZXNrdG9wOiBcIlxcZjEwOFwiO1xuJGZhLXZhci1kZXZpYW50YXJ0OiBcIlxcZjFiZFwiO1xuJGZhLXZhci1kaWFtb25kOiBcIlxcZjIxOVwiO1xuJGZhLXZhci1kaWdnOiBcIlxcZjFhNlwiO1xuJGZhLXZhci1kb2xsYXI6IFwiXFxmMTU1XCI7XG4kZmEtdmFyLWRvdC1jaXJjbGUtbzogXCJcXGYxOTJcIjtcbiRmYS12YXItZG93bmxvYWQ6IFwiXFxmMDE5XCI7XG4kZmEtdmFyLWRyaWJiYmxlOiBcIlxcZjE3ZFwiO1xuJGZhLXZhci1kcml2ZXJzLWxpY2Vuc2U6IFwiXFxmMmMyXCI7XG4kZmEtdmFyLWRyaXZlcnMtbGljZW5zZS1vOiBcIlxcZjJjM1wiO1xuJGZhLXZhci1kcm9wYm94OiBcIlxcZjE2YlwiO1xuJGZhLXZhci1kcnVwYWw6IFwiXFxmMWE5XCI7XG4kZmEtdmFyLWVkZ2U6IFwiXFxmMjgyXCI7XG4kZmEtdmFyLWVkaXQ6IFwiXFxmMDQ0XCI7XG4kZmEtdmFyLWVlcmNhc3Q6IFwiXFxmMmRhXCI7XG4kZmEtdmFyLWVqZWN0OiBcIlxcZjA1MlwiO1xuJGZhLXZhci1lbGxpcHNpcy1oOiBcIlxcZjE0MVwiO1xuJGZhLXZhci1lbGxpcHNpcy12OiBcIlxcZjE0MlwiO1xuJGZhLXZhci1lbXBpcmU6IFwiXFxmMWQxXCI7XG4kZmEtdmFyLWVudmVsb3BlOiBcIlxcZjBlMFwiO1xuJGZhLXZhci1lbnZlbG9wZS1vOiBcIlxcZjAwM1wiO1xuJGZhLXZhci1lbnZlbG9wZS1vcGVuOiBcIlxcZjJiNlwiO1xuJGZhLXZhci1lbnZlbG9wZS1vcGVuLW86IFwiXFxmMmI3XCI7XG4kZmEtdmFyLWVudmVsb3BlLXNxdWFyZTogXCJcXGYxOTlcIjtcbiRmYS12YXItZW52aXJhOiBcIlxcZjI5OVwiO1xuJGZhLXZhci1lcmFzZXI6IFwiXFxmMTJkXCI7XG4kZmEtdmFyLWV0c3k6IFwiXFxmMmQ3XCI7XG4kZmEtdmFyLWV1cjogXCJcXGYxNTNcIjtcbiRmYS12YXItZXVybzogXCJcXGYxNTNcIjtcbiRmYS12YXItZXhjaGFuZ2U6IFwiXFxmMGVjXCI7XG4kZmEtdmFyLWV4Y2xhbWF0aW9uOiBcIlxcZjEyYVwiO1xuJGZhLXZhci1leGNsYW1hdGlvbi1jaXJjbGU6IFwiXFxmMDZhXCI7XG4kZmEtdmFyLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOiBcIlxcZjA3MVwiO1xuJGZhLXZhci1leHBhbmQ6IFwiXFxmMDY1XCI7XG4kZmEtdmFyLWV4cGVkaXRlZHNzbDogXCJcXGYyM2VcIjtcbiRmYS12YXItZXh0ZXJuYWwtbGluazogXCJcXGYwOGVcIjtcbiRmYS12YXItZXh0ZXJuYWwtbGluay1zcXVhcmU6IFwiXFxmMTRjXCI7XG4kZmEtdmFyLWV5ZTogXCJcXGYwNmVcIjtcbiRmYS12YXItZXllLXNsYXNoOiBcIlxcZjA3MFwiO1xuJGZhLXZhci1leWVkcm9wcGVyOiBcIlxcZjFmYlwiO1xuJGZhLXZhci1mYTogXCJcXGYyYjRcIjtcbiRmYS12YXItZmFjZWJvb2s6IFwiXFxmMDlhXCI7XG4kZmEtdmFyLWZhY2Vib29rLWY6IFwiXFxmMDlhXCI7XG4kZmEtdmFyLWZhY2Vib29rLW9mZmljaWFsOiBcIlxcZjIzMFwiO1xuJGZhLXZhci1mYWNlYm9vay1zcXVhcmU6IFwiXFxmMDgyXCI7XG4kZmEtdmFyLWZhc3QtYmFja3dhcmQ6IFwiXFxmMDQ5XCI7XG4kZmEtdmFyLWZhc3QtZm9yd2FyZDogXCJcXGYwNTBcIjtcbiRmYS12YXItZmF4OiBcIlxcZjFhY1wiO1xuJGZhLXZhci1mZWVkOiBcIlxcZjA5ZVwiO1xuJGZhLXZhci1mZW1hbGU6IFwiXFxmMTgyXCI7XG4kZmEtdmFyLWZpZ2h0ZXItamV0OiBcIlxcZjBmYlwiO1xuJGZhLXZhci1maWxlOiBcIlxcZjE1YlwiO1xuJGZhLXZhci1maWxlLWFyY2hpdmUtbzogXCJcXGYxYzZcIjtcbiRmYS12YXItZmlsZS1hdWRpby1vOiBcIlxcZjFjN1wiO1xuJGZhLXZhci1maWxlLWNvZGUtbzogXCJcXGYxYzlcIjtcbiRmYS12YXItZmlsZS1leGNlbC1vOiBcIlxcZjFjM1wiO1xuJGZhLXZhci1maWxlLWltYWdlLW86IFwiXFxmMWM1XCI7XG4kZmEtdmFyLWZpbGUtbW92aWUtbzogXCJcXGYxYzhcIjtcbiRmYS12YXItZmlsZS1vOiBcIlxcZjAxNlwiO1xuJGZhLXZhci1maWxlLXBkZi1vOiBcIlxcZjFjMVwiO1xuJGZhLXZhci1maWxlLXBob3RvLW86IFwiXFxmMWM1XCI7XG4kZmEtdmFyLWZpbGUtcGljdHVyZS1vOiBcIlxcZjFjNVwiO1xuJGZhLXZhci1maWxlLXBvd2VycG9pbnQtbzogXCJcXGYxYzRcIjtcbiRmYS12YXItZmlsZS1zb3VuZC1vOiBcIlxcZjFjN1wiO1xuJGZhLXZhci1maWxlLXRleHQ6IFwiXFxmMTVjXCI7XG4kZmEtdmFyLWZpbGUtdGV4dC1vOiBcIlxcZjBmNlwiO1xuJGZhLXZhci1maWxlLXZpZGVvLW86IFwiXFxmMWM4XCI7XG4kZmEtdmFyLWZpbGUtd29yZC1vOiBcIlxcZjFjMlwiO1xuJGZhLXZhci1maWxlLXppcC1vOiBcIlxcZjFjNlwiO1xuJGZhLXZhci1maWxlcy1vOiBcIlxcZjBjNVwiO1xuJGZhLXZhci1maWxtOiBcIlxcZjAwOFwiO1xuJGZhLXZhci1maWx0ZXI6IFwiXFxmMGIwXCI7XG4kZmEtdmFyLWZpcmU6IFwiXFxmMDZkXCI7XG4kZmEtdmFyLWZpcmUtZXh0aW5ndWlzaGVyOiBcIlxcZjEzNFwiO1xuJGZhLXZhci1maXJlZm94OiBcIlxcZjI2OVwiO1xuJGZhLXZhci1maXJzdC1vcmRlcjogXCJcXGYyYjBcIjtcbiRmYS12YXItZmxhZzogXCJcXGYwMjRcIjtcbiRmYS12YXItZmxhZy1jaGVja2VyZWQ6IFwiXFxmMTFlXCI7XG4kZmEtdmFyLWZsYWctbzogXCJcXGYxMWRcIjtcbiRmYS12YXItZmxhc2g6IFwiXFxmMGU3XCI7XG4kZmEtdmFyLWZsYXNrOiBcIlxcZjBjM1wiO1xuJGZhLXZhci1mbGlja3I6IFwiXFxmMTZlXCI7XG4kZmEtdmFyLWZsb3BweS1vOiBcIlxcZjBjN1wiO1xuJGZhLXZhci1mb2xkZXI6IFwiXFxmMDdiXCI7XG4kZmEtdmFyLWZvbGRlci1vOiBcIlxcZjExNFwiO1xuJGZhLXZhci1mb2xkZXItb3BlbjogXCJcXGYwN2NcIjtcbiRmYS12YXItZm9sZGVyLW9wZW4tbzogXCJcXGYxMTVcIjtcbiRmYS12YXItZm9udDogXCJcXGYwMzFcIjtcbiRmYS12YXItZm9udC1hd2Vzb21lOiBcIlxcZjJiNFwiO1xuJGZhLXZhci1mb250aWNvbnM6IFwiXFxmMjgwXCI7XG4kZmEtdmFyLWZvcnQtYXdlc29tZTogXCJcXGYyODZcIjtcbiRmYS12YXItZm9ydW1iZWU6IFwiXFxmMjExXCI7XG4kZmEtdmFyLWZvcndhcmQ6IFwiXFxmMDRlXCI7XG4kZmEtdmFyLWZvdXJzcXVhcmU6IFwiXFxmMTgwXCI7XG4kZmEtdmFyLWZyZWUtY29kZS1jYW1wOiBcIlxcZjJjNVwiO1xuJGZhLXZhci1mcm93bi1vOiBcIlxcZjExOVwiO1xuJGZhLXZhci1mdXRib2wtbzogXCJcXGYxZTNcIjtcbiRmYS12YXItZ2FtZXBhZDogXCJcXGYxMWJcIjtcbiRmYS12YXItZ2F2ZWw6IFwiXFxmMGUzXCI7XG4kZmEtdmFyLWdicDogXCJcXGYxNTRcIjtcbiRmYS12YXItZ2U6IFwiXFxmMWQxXCI7XG4kZmEtdmFyLWdlYXI6IFwiXFxmMDEzXCI7XG4kZmEtdmFyLWdlYXJzOiBcIlxcZjA4NVwiO1xuJGZhLXZhci1nZW5kZXJsZXNzOiBcIlxcZjIyZFwiO1xuJGZhLXZhci1nZXQtcG9ja2V0OiBcIlxcZjI2NVwiO1xuJGZhLXZhci1nZzogXCJcXGYyNjBcIjtcbiRmYS12YXItZ2ctY2lyY2xlOiBcIlxcZjI2MVwiO1xuJGZhLXZhci1naWZ0OiBcIlxcZjA2YlwiO1xuJGZhLXZhci1naXQ6IFwiXFxmMWQzXCI7XG4kZmEtdmFyLWdpdC1zcXVhcmU6IFwiXFxmMWQyXCI7XG4kZmEtdmFyLWdpdGh1YjogXCJcXGYwOWJcIjtcbiRmYS12YXItZ2l0aHViLWFsdDogXCJcXGYxMTNcIjtcbiRmYS12YXItZ2l0aHViLXNxdWFyZTogXCJcXGYwOTJcIjtcbiRmYS12YXItZ2l0bGFiOiBcIlxcZjI5NlwiO1xuJGZhLXZhci1naXR0aXA6IFwiXFxmMTg0XCI7XG4kZmEtdmFyLWdsYXNzOiBcIlxcZjAwMFwiO1xuJGZhLXZhci1nbGlkZTogXCJcXGYyYTVcIjtcbiRmYS12YXItZ2xpZGUtZzogXCJcXGYyYTZcIjtcbiRmYS12YXItZ2xvYmU6IFwiXFxmMGFjXCI7XG4kZmEtdmFyLWdvb2dsZTogXCJcXGYxYTBcIjtcbiRmYS12YXItZ29vZ2xlLXBsdXM6IFwiXFxmMGQ1XCI7XG4kZmEtdmFyLWdvb2dsZS1wbHVzLWNpcmNsZTogXCJcXGYyYjNcIjtcbiRmYS12YXItZ29vZ2xlLXBsdXMtb2ZmaWNpYWw6IFwiXFxmMmIzXCI7XG4kZmEtdmFyLWdvb2dsZS1wbHVzLXNxdWFyZTogXCJcXGYwZDRcIjtcbiRmYS12YXItZ29vZ2xlLXdhbGxldDogXCJcXGYxZWVcIjtcbiRmYS12YXItZ3JhZHVhdGlvbi1jYXA6IFwiXFxmMTlkXCI7XG4kZmEtdmFyLWdyYXRpcGF5OiBcIlxcZjE4NFwiO1xuJGZhLXZhci1ncmF2OiBcIlxcZjJkNlwiO1xuJGZhLXZhci1ncm91cDogXCJcXGYwYzBcIjtcbiRmYS12YXItaC1zcXVhcmU6IFwiXFxmMGZkXCI7XG4kZmEtdmFyLWhhY2tlci1uZXdzOiBcIlxcZjFkNFwiO1xuJGZhLXZhci1oYW5kLWdyYWItbzogXCJcXGYyNTVcIjtcbiRmYS12YXItaGFuZC1saXphcmQtbzogXCJcXGYyNThcIjtcbiRmYS12YXItaGFuZC1vLWRvd246IFwiXFxmMGE3XCI7XG4kZmEtdmFyLWhhbmQtby1sZWZ0OiBcIlxcZjBhNVwiO1xuJGZhLXZhci1oYW5kLW8tcmlnaHQ6IFwiXFxmMGE0XCI7XG4kZmEtdmFyLWhhbmQtby11cDogXCJcXGYwYTZcIjtcbiRmYS12YXItaGFuZC1wYXBlci1vOiBcIlxcZjI1NlwiO1xuJGZhLXZhci1oYW5kLXBlYWNlLW86IFwiXFxmMjViXCI7XG4kZmEtdmFyLWhhbmQtcG9pbnRlci1vOiBcIlxcZjI1YVwiO1xuJGZhLXZhci1oYW5kLXJvY2stbzogXCJcXGYyNTVcIjtcbiRmYS12YXItaGFuZC1zY2lzc29ycy1vOiBcIlxcZjI1N1wiO1xuJGZhLXZhci1oYW5kLXNwb2NrLW86IFwiXFxmMjU5XCI7XG4kZmEtdmFyLWhhbmQtc3RvcC1vOiBcIlxcZjI1NlwiO1xuJGZhLXZhci1oYW5kc2hha2UtbzogXCJcXGYyYjVcIjtcbiRmYS12YXItaGFyZC1vZi1oZWFyaW5nOiBcIlxcZjJhNFwiO1xuJGZhLXZhci1oYXNodGFnOiBcIlxcZjI5MlwiO1xuJGZhLXZhci1oZGQtbzogXCJcXGYwYTBcIjtcbiRmYS12YXItaGVhZGVyOiBcIlxcZjFkY1wiO1xuJGZhLXZhci1oZWFkcGhvbmVzOiBcIlxcZjAyNVwiO1xuJGZhLXZhci1oZWFydDogXCJcXGYwMDRcIjtcbiRmYS12YXItaGVhcnQtbzogXCJcXGYwOGFcIjtcbiRmYS12YXItaGVhcnRiZWF0OiBcIlxcZjIxZVwiO1xuJGZhLXZhci1oaXN0b3J5OiBcIlxcZjFkYVwiO1xuJGZhLXZhci1ob21lOiBcIlxcZjAxNVwiO1xuJGZhLXZhci1ob3NwaXRhbC1vOiBcIlxcZjBmOFwiO1xuJGZhLXZhci1ob3RlbDogXCJcXGYyMzZcIjtcbiRmYS12YXItaG91cmdsYXNzOiBcIlxcZjI1NFwiO1xuJGZhLXZhci1ob3VyZ2xhc3MtMTogXCJcXGYyNTFcIjtcbiRmYS12YXItaG91cmdsYXNzLTI6IFwiXFxmMjUyXCI7XG4kZmEtdmFyLWhvdXJnbGFzcy0zOiBcIlxcZjI1M1wiO1xuJGZhLXZhci1ob3VyZ2xhc3MtZW5kOiBcIlxcZjI1M1wiO1xuJGZhLXZhci1ob3VyZ2xhc3MtaGFsZjogXCJcXGYyNTJcIjtcbiRmYS12YXItaG91cmdsYXNzLW86IFwiXFxmMjUwXCI7XG4kZmEtdmFyLWhvdXJnbGFzcy1zdGFydDogXCJcXGYyNTFcIjtcbiRmYS12YXItaG91eno6IFwiXFxmMjdjXCI7XG4kZmEtdmFyLWh0bWw1OiBcIlxcZjEzYlwiO1xuJGZhLXZhci1pLWN1cnNvcjogXCJcXGYyNDZcIjtcbiRmYS12YXItaWQtYmFkZ2U6IFwiXFxmMmMxXCI7XG4kZmEtdmFyLWlkLWNhcmQ6IFwiXFxmMmMyXCI7XG4kZmEtdmFyLWlkLWNhcmQtbzogXCJcXGYyYzNcIjtcbiRmYS12YXItaWxzOiBcIlxcZjIwYlwiO1xuJGZhLXZhci1pbWFnZTogXCJcXGYwM2VcIjtcbiRmYS12YXItaW1kYjogXCJcXGYyZDhcIjtcbiRmYS12YXItaW5ib3g6IFwiXFxmMDFjXCI7XG4kZmEtdmFyLWluZGVudDogXCJcXGYwM2NcIjtcbiRmYS12YXItaW5kdXN0cnk6IFwiXFxmMjc1XCI7XG4kZmEtdmFyLWluZm86IFwiXFxmMTI5XCI7XG4kZmEtdmFyLWluZm8tY2lyY2xlOiBcIlxcZjA1YVwiO1xuJGZhLXZhci1pbnI6IFwiXFxmMTU2XCI7XG4kZmEtdmFyLWluc3RhZ3JhbTogXCJcXGYxNmRcIjtcbiRmYS12YXItaW5zdGl0dXRpb246IFwiXFxmMTljXCI7XG4kZmEtdmFyLWludGVybmV0LWV4cGxvcmVyOiBcIlxcZjI2YlwiO1xuJGZhLXZhci1pbnRlcnNleDogXCJcXGYyMjRcIjtcbiRmYS12YXItaW94aG9zdDogXCJcXGYyMDhcIjtcbiRmYS12YXItaXRhbGljOiBcIlxcZjAzM1wiO1xuJGZhLXZhci1qb29tbGE6IFwiXFxmMWFhXCI7XG4kZmEtdmFyLWpweTogXCJcXGYxNTdcIjtcbiRmYS12YXItanNmaWRkbGU6IFwiXFxmMWNjXCI7XG4kZmEtdmFyLWtleTogXCJcXGYwODRcIjtcbiRmYS12YXIta2V5Ym9hcmQtbzogXCJcXGYxMWNcIjtcbiRmYS12YXIta3J3OiBcIlxcZjE1OVwiO1xuJGZhLXZhci1sYW5ndWFnZTogXCJcXGYxYWJcIjtcbiRmYS12YXItbGFwdG9wOiBcIlxcZjEwOVwiO1xuJGZhLXZhci1sYXN0Zm06IFwiXFxmMjAyXCI7XG4kZmEtdmFyLWxhc3RmbS1zcXVhcmU6IFwiXFxmMjAzXCI7XG4kZmEtdmFyLWxlYWY6IFwiXFxmMDZjXCI7XG4kZmEtdmFyLWxlYW5wdWI6IFwiXFxmMjEyXCI7XG4kZmEtdmFyLWxlZ2FsOiBcIlxcZjBlM1wiO1xuJGZhLXZhci1sZW1vbi1vOiBcIlxcZjA5NFwiO1xuJGZhLXZhci1sZXZlbC1kb3duOiBcIlxcZjE0OVwiO1xuJGZhLXZhci1sZXZlbC11cDogXCJcXGYxNDhcIjtcbiRmYS12YXItbGlmZS1ib3V5OiBcIlxcZjFjZFwiO1xuJGZhLXZhci1saWZlLWJ1b3k6IFwiXFxmMWNkXCI7XG4kZmEtdmFyLWxpZmUtcmluZzogXCJcXGYxY2RcIjtcbiRmYS12YXItbGlmZS1zYXZlcjogXCJcXGYxY2RcIjtcbiRmYS12YXItbGlnaHRidWxiLW86IFwiXFxmMGViXCI7XG4kZmEtdmFyLWxpbmUtY2hhcnQ6IFwiXFxmMjAxXCI7XG4kZmEtdmFyLWxpbms6IFwiXFxmMGMxXCI7XG4kZmEtdmFyLWxpbmtlZGluOiBcIlxcZjBlMVwiO1xuJGZhLXZhci1saW5rZWRpbi1zcXVhcmU6IFwiXFxmMDhjXCI7XG4kZmEtdmFyLWxpbm9kZTogXCJcXGYyYjhcIjtcbiRmYS12YXItbGludXg6IFwiXFxmMTdjXCI7XG4kZmEtdmFyLWxpc3Q6IFwiXFxmMDNhXCI7XG4kZmEtdmFyLWxpc3QtYWx0OiBcIlxcZjAyMlwiO1xuJGZhLXZhci1saXN0LW9sOiBcIlxcZjBjYlwiO1xuJGZhLXZhci1saXN0LXVsOiBcIlxcZjBjYVwiO1xuJGZhLXZhci1sb2NhdGlvbi1hcnJvdzogXCJcXGYxMjRcIjtcbiRmYS12YXItbG9jazogXCJcXGYwMjNcIjtcbiRmYS12YXItbG9uZy1hcnJvdy1kb3duOiBcIlxcZjE3NVwiO1xuJGZhLXZhci1sb25nLWFycm93LWxlZnQ6IFwiXFxmMTc3XCI7XG4kZmEtdmFyLWxvbmctYXJyb3ctcmlnaHQ6IFwiXFxmMTc4XCI7XG4kZmEtdmFyLWxvbmctYXJyb3ctdXA6IFwiXFxmMTc2XCI7XG4kZmEtdmFyLWxvdy12aXNpb246IFwiXFxmMmE4XCI7XG4kZmEtdmFyLW1hZ2ljOiBcIlxcZjBkMFwiO1xuJGZhLXZhci1tYWduZXQ6IFwiXFxmMDc2XCI7XG4kZmEtdmFyLW1haWwtZm9yd2FyZDogXCJcXGYwNjRcIjtcbiRmYS12YXItbWFpbC1yZXBseTogXCJcXGYxMTJcIjtcbiRmYS12YXItbWFpbC1yZXBseS1hbGw6IFwiXFxmMTIyXCI7XG4kZmEtdmFyLW1hbGU6IFwiXFxmMTgzXCI7XG4kZmEtdmFyLW1hcDogXCJcXGYyNzlcIjtcbiRmYS12YXItbWFwLW1hcmtlcjogXCJcXGYwNDFcIjtcbiRmYS12YXItbWFwLW86IFwiXFxmMjc4XCI7XG4kZmEtdmFyLW1hcC1waW46IFwiXFxmMjc2XCI7XG4kZmEtdmFyLW1hcC1zaWduczogXCJcXGYyNzdcIjtcbiRmYS12YXItbWFyczogXCJcXGYyMjJcIjtcbiRmYS12YXItbWFycy1kb3VibGU6IFwiXFxmMjI3XCI7XG4kZmEtdmFyLW1hcnMtc3Ryb2tlOiBcIlxcZjIyOVwiO1xuJGZhLXZhci1tYXJzLXN0cm9rZS1oOiBcIlxcZjIyYlwiO1xuJGZhLXZhci1tYXJzLXN0cm9rZS12OiBcIlxcZjIyYVwiO1xuJGZhLXZhci1tYXhjZG46IFwiXFxmMTM2XCI7XG4kZmEtdmFyLW1lYW5wYXRoOiBcIlxcZjIwY1wiO1xuJGZhLXZhci1tZWRpdW06IFwiXFxmMjNhXCI7XG4kZmEtdmFyLW1lZGtpdDogXCJcXGYwZmFcIjtcbiRmYS12YXItbWVldHVwOiBcIlxcZjJlMFwiO1xuJGZhLXZhci1tZWgtbzogXCJcXGYxMWFcIjtcbiRmYS12YXItbWVyY3VyeTogXCJcXGYyMjNcIjtcbiRmYS12YXItbWljcm9jaGlwOiBcIlxcZjJkYlwiO1xuJGZhLXZhci1taWNyb3Bob25lOiBcIlxcZjEzMFwiO1xuJGZhLXZhci1taWNyb3Bob25lLXNsYXNoOiBcIlxcZjEzMVwiO1xuJGZhLXZhci1taW51czogXCJcXGYwNjhcIjtcbiRmYS12YXItbWludXMtY2lyY2xlOiBcIlxcZjA1NlwiO1xuJGZhLXZhci1taW51cy1zcXVhcmU6IFwiXFxmMTQ2XCI7XG4kZmEtdmFyLW1pbnVzLXNxdWFyZS1vOiBcIlxcZjE0N1wiO1xuJGZhLXZhci1taXhjbG91ZDogXCJcXGYyODlcIjtcbiRmYS12YXItbW9iaWxlOiBcIlxcZjEwYlwiO1xuJGZhLXZhci1tb2JpbGUtcGhvbmU6IFwiXFxmMTBiXCI7XG4kZmEtdmFyLW1vZHg6IFwiXFxmMjg1XCI7XG4kZmEtdmFyLW1vbmV5OiBcIlxcZjBkNlwiO1xuJGZhLXZhci1tb29uLW86IFwiXFxmMTg2XCI7XG4kZmEtdmFyLW1vcnRhci1ib2FyZDogXCJcXGYxOWRcIjtcbiRmYS12YXItbW90b3JjeWNsZTogXCJcXGYyMWNcIjtcbiRmYS12YXItbW91c2UtcG9pbnRlcjogXCJcXGYyNDVcIjtcbiRmYS12YXItbXVzaWM6IFwiXFxmMDAxXCI7XG4kZmEtdmFyLW5hdmljb246IFwiXFxmMGM5XCI7XG4kZmEtdmFyLW5ldXRlcjogXCJcXGYyMmNcIjtcbiRmYS12YXItbmV3c3BhcGVyLW86IFwiXFxmMWVhXCI7XG4kZmEtdmFyLW9iamVjdC1ncm91cDogXCJcXGYyNDdcIjtcbiRmYS12YXItb2JqZWN0LXVuZ3JvdXA6IFwiXFxmMjQ4XCI7XG4kZmEtdmFyLW9kbm9rbGFzc25pa2k6IFwiXFxmMjYzXCI7XG4kZmEtdmFyLW9kbm9rbGFzc25pa2ktc3F1YXJlOiBcIlxcZjI2NFwiO1xuJGZhLXZhci1vcGVuY2FydDogXCJcXGYyM2RcIjtcbiRmYS12YXItb3BlbmlkOiBcIlxcZjE5YlwiO1xuJGZhLXZhci1vcGVyYTogXCJcXGYyNmFcIjtcbiRmYS12YXItb3B0aW4tbW9uc3RlcjogXCJcXGYyM2NcIjtcbiRmYS12YXItb3V0ZGVudDogXCJcXGYwM2JcIjtcbiRmYS12YXItcGFnZWxpbmVzOiBcIlxcZjE4Y1wiO1xuJGZhLXZhci1wYWludC1icnVzaDogXCJcXGYxZmNcIjtcbiRmYS12YXItcGFwZXItcGxhbmU6IFwiXFxmMWQ4XCI7XG4kZmEtdmFyLXBhcGVyLXBsYW5lLW86IFwiXFxmMWQ5XCI7XG4kZmEtdmFyLXBhcGVyY2xpcDogXCJcXGYwYzZcIjtcbiRmYS12YXItcGFyYWdyYXBoOiBcIlxcZjFkZFwiO1xuJGZhLXZhci1wYXN0ZTogXCJcXGYwZWFcIjtcbiRmYS12YXItcGF1c2U6IFwiXFxmMDRjXCI7XG4kZmEtdmFyLXBhdXNlLWNpcmNsZTogXCJcXGYyOGJcIjtcbiRmYS12YXItcGF1c2UtY2lyY2xlLW86IFwiXFxmMjhjXCI7XG4kZmEtdmFyLXBhdzogXCJcXGYxYjBcIjtcbiRmYS12YXItcGF5cGFsOiBcIlxcZjFlZFwiO1xuJGZhLXZhci1wZW5jaWw6IFwiXFxmMDQwXCI7XG4kZmEtdmFyLXBlbmNpbC1zcXVhcmU6IFwiXFxmMTRiXCI7XG4kZmEtdmFyLXBlbmNpbC1zcXVhcmUtbzogXCJcXGYwNDRcIjtcbiRmYS12YXItcGVyY2VudDogXCJcXGYyOTVcIjtcbiRmYS12YXItcGhvbmU6IFwiXFxmMDk1XCI7XG4kZmEtdmFyLXBob25lLXNxdWFyZTogXCJcXGYwOThcIjtcbiRmYS12YXItcGhvdG86IFwiXFxmMDNlXCI7XG4kZmEtdmFyLXBpY3R1cmUtbzogXCJcXGYwM2VcIjtcbiRmYS12YXItcGllLWNoYXJ0OiBcIlxcZjIwMFwiO1xuJGZhLXZhci1waWVkLXBpcGVyOiBcIlxcZjJhZVwiO1xuJGZhLXZhci1waWVkLXBpcGVyLWFsdDogXCJcXGYxYThcIjtcbiRmYS12YXItcGllZC1waXBlci1wcDogXCJcXGYxYTdcIjtcbiRmYS12YXItcGludGVyZXN0OiBcIlxcZjBkMlwiO1xuJGZhLXZhci1waW50ZXJlc3QtcDogXCJcXGYyMzFcIjtcbiRmYS12YXItcGludGVyZXN0LXNxdWFyZTogXCJcXGYwZDNcIjtcbiRmYS12YXItcGxhbmU6IFwiXFxmMDcyXCI7XG4kZmEtdmFyLXBsYXk6IFwiXFxmMDRiXCI7XG4kZmEtdmFyLXBsYXktY2lyY2xlOiBcIlxcZjE0NFwiO1xuJGZhLXZhci1wbGF5LWNpcmNsZS1vOiBcIlxcZjAxZFwiO1xuJGZhLXZhci1wbHVnOiBcIlxcZjFlNlwiO1xuJGZhLXZhci1wbHVzOiBcIlxcZjA2N1wiO1xuJGZhLXZhci1wbHVzLWNpcmNsZTogXCJcXGYwNTVcIjtcbiRmYS12YXItcGx1cy1zcXVhcmU6IFwiXFxmMGZlXCI7XG4kZmEtdmFyLXBsdXMtc3F1YXJlLW86IFwiXFxmMTk2XCI7XG4kZmEtdmFyLXBvZGNhc3Q6IFwiXFxmMmNlXCI7XG4kZmEtdmFyLXBvd2VyLW9mZjogXCJcXGYwMTFcIjtcbiRmYS12YXItcHJpbnQ6IFwiXFxmMDJmXCI7XG4kZmEtdmFyLXByb2R1Y3QtaHVudDogXCJcXGYyODhcIjtcbiRmYS12YXItcHV6emxlLXBpZWNlOiBcIlxcZjEyZVwiO1xuJGZhLXZhci1xcTogXCJcXGYxZDZcIjtcbiRmYS12YXItcXJjb2RlOiBcIlxcZjAyOVwiO1xuJGZhLXZhci1xdWVzdGlvbjogXCJcXGYxMjhcIjtcbiRmYS12YXItcXVlc3Rpb24tY2lyY2xlOiBcIlxcZjA1OVwiO1xuJGZhLXZhci1xdWVzdGlvbi1jaXJjbGUtbzogXCJcXGYyOWNcIjtcbiRmYS12YXItcXVvcmE6IFwiXFxmMmM0XCI7XG4kZmEtdmFyLXF1b3RlLWxlZnQ6IFwiXFxmMTBkXCI7XG4kZmEtdmFyLXF1b3RlLXJpZ2h0OiBcIlxcZjEwZVwiO1xuJGZhLXZhci1yYTogXCJcXGYxZDBcIjtcbiRmYS12YXItcmFuZG9tOiBcIlxcZjA3NFwiO1xuJGZhLXZhci1yYXZlbHJ5OiBcIlxcZjJkOVwiO1xuJGZhLXZhci1yZWJlbDogXCJcXGYxZDBcIjtcbiRmYS12YXItcmVjeWNsZTogXCJcXGYxYjhcIjtcbiRmYS12YXItcmVkZGl0OiBcIlxcZjFhMVwiO1xuJGZhLXZhci1yZWRkaXQtYWxpZW46IFwiXFxmMjgxXCI7XG4kZmEtdmFyLXJlZGRpdC1zcXVhcmU6IFwiXFxmMWEyXCI7XG4kZmEtdmFyLXJlZnJlc2g6IFwiXFxmMDIxXCI7XG4kZmEtdmFyLXJlZ2lzdGVyZWQ6IFwiXFxmMjVkXCI7XG4kZmEtdmFyLXJlbW92ZTogXCJcXGYwMGRcIjtcbiRmYS12YXItcmVucmVuOiBcIlxcZjE4YlwiO1xuJGZhLXZhci1yZW9yZGVyOiBcIlxcZjBjOVwiO1xuJGZhLXZhci1yZXBlYXQ6IFwiXFxmMDFlXCI7XG4kZmEtdmFyLXJlcGx5OiBcIlxcZjExMlwiO1xuJGZhLXZhci1yZXBseS1hbGw6IFwiXFxmMTIyXCI7XG4kZmEtdmFyLXJlc2lzdGFuY2U6IFwiXFxmMWQwXCI7XG4kZmEtdmFyLXJldHdlZXQ6IFwiXFxmMDc5XCI7XG4kZmEtdmFyLXJtYjogXCJcXGYxNTdcIjtcbiRmYS12YXItcm9hZDogXCJcXGYwMThcIjtcbiRmYS12YXItcm9ja2V0OiBcIlxcZjEzNVwiO1xuJGZhLXZhci1yb3RhdGUtbGVmdDogXCJcXGYwZTJcIjtcbiRmYS12YXItcm90YXRlLXJpZ2h0OiBcIlxcZjAxZVwiO1xuJGZhLXZhci1yb3VibGU6IFwiXFxmMTU4XCI7XG4kZmEtdmFyLXJzczogXCJcXGYwOWVcIjtcbiRmYS12YXItcnNzLXNxdWFyZTogXCJcXGYxNDNcIjtcbiRmYS12YXItcnViOiBcIlxcZjE1OFwiO1xuJGZhLXZhci1ydWJsZTogXCJcXGYxNThcIjtcbiRmYS12YXItcnVwZWU6IFwiXFxmMTU2XCI7XG4kZmEtdmFyLXMxNTogXCJcXGYyY2RcIjtcbiRmYS12YXItc2FmYXJpOiBcIlxcZjI2N1wiO1xuJGZhLXZhci1zYXZlOiBcIlxcZjBjN1wiO1xuJGZhLXZhci1zY2lzc29yczogXCJcXGYwYzRcIjtcbiRmYS12YXItc2NyaWJkOiBcIlxcZjI4YVwiO1xuJGZhLXZhci1zZWFyY2g6IFwiXFxmMDAyXCI7XG4kZmEtdmFyLXNlYXJjaC1taW51czogXCJcXGYwMTBcIjtcbiRmYS12YXItc2VhcmNoLXBsdXM6IFwiXFxmMDBlXCI7XG4kZmEtdmFyLXNlbGxzeTogXCJcXGYyMTNcIjtcbiRmYS12YXItc2VuZDogXCJcXGYxZDhcIjtcbiRmYS12YXItc2VuZC1vOiBcIlxcZjFkOVwiO1xuJGZhLXZhci1zZXJ2ZXI6IFwiXFxmMjMzXCI7XG4kZmEtdmFyLXNoYXJlOiBcIlxcZjA2NFwiO1xuJGZhLXZhci1zaGFyZS1hbHQ6IFwiXFxmMWUwXCI7XG4kZmEtdmFyLXNoYXJlLWFsdC1zcXVhcmU6IFwiXFxmMWUxXCI7XG4kZmEtdmFyLXNoYXJlLXNxdWFyZTogXCJcXGYxNGRcIjtcbiRmYS12YXItc2hhcmUtc3F1YXJlLW86IFwiXFxmMDQ1XCI7XG4kZmEtdmFyLXNoZWtlbDogXCJcXGYyMGJcIjtcbiRmYS12YXItc2hlcWVsOiBcIlxcZjIwYlwiO1xuJGZhLXZhci1zaGllbGQ6IFwiXFxmMTMyXCI7XG4kZmEtdmFyLXNoaXA6IFwiXFxmMjFhXCI7XG4kZmEtdmFyLXNoaXJ0c2luYnVsazogXCJcXGYyMTRcIjtcbiRmYS12YXItc2hvcHBpbmctYmFnOiBcIlxcZjI5MFwiO1xuJGZhLXZhci1zaG9wcGluZy1iYXNrZXQ6IFwiXFxmMjkxXCI7XG4kZmEtdmFyLXNob3BwaW5nLWNhcnQ6IFwiXFxmMDdhXCI7XG4kZmEtdmFyLXNob3dlcjogXCJcXGYyY2NcIjtcbiRmYS12YXItc2lnbi1pbjogXCJcXGYwOTBcIjtcbiRmYS12YXItc2lnbi1sYW5ndWFnZTogXCJcXGYyYTdcIjtcbiRmYS12YXItc2lnbi1vdXQ6IFwiXFxmMDhiXCI7XG4kZmEtdmFyLXNpZ25hbDogXCJcXGYwMTJcIjtcbiRmYS12YXItc2lnbmluZzogXCJcXGYyYTdcIjtcbiRmYS12YXItc2ltcGx5YnVpbHQ6IFwiXFxmMjE1XCI7XG4kZmEtdmFyLXNpdGVtYXA6IFwiXFxmMGU4XCI7XG4kZmEtdmFyLXNreWF0bGFzOiBcIlxcZjIxNlwiO1xuJGZhLXZhci1za3lwZTogXCJcXGYxN2VcIjtcbiRmYS12YXItc2xhY2s6IFwiXFxmMTk4XCI7XG4kZmEtdmFyLXNsaWRlcnM6IFwiXFxmMWRlXCI7XG4kZmEtdmFyLXNsaWRlc2hhcmU6IFwiXFxmMWU3XCI7XG4kZmEtdmFyLXNtaWxlLW86IFwiXFxmMTE4XCI7XG4kZmEtdmFyLXNuYXBjaGF0OiBcIlxcZjJhYlwiO1xuJGZhLXZhci1zbmFwY2hhdC1naG9zdDogXCJcXGYyYWNcIjtcbiRmYS12YXItc25hcGNoYXQtc3F1YXJlOiBcIlxcZjJhZFwiO1xuJGZhLXZhci1zbm93Zmxha2UtbzogXCJcXGYyZGNcIjtcbiRmYS12YXItc29jY2VyLWJhbGwtbzogXCJcXGYxZTNcIjtcbiRmYS12YXItc29ydDogXCJcXGYwZGNcIjtcbiRmYS12YXItc29ydC1hbHBoYS1hc2M6IFwiXFxmMTVkXCI7XG4kZmEtdmFyLXNvcnQtYWxwaGEtZGVzYzogXCJcXGYxNWVcIjtcbiRmYS12YXItc29ydC1hbW91bnQtYXNjOiBcIlxcZjE2MFwiO1xuJGZhLXZhci1zb3J0LWFtb3VudC1kZXNjOiBcIlxcZjE2MVwiO1xuJGZhLXZhci1zb3J0LWFzYzogXCJcXGYwZGVcIjtcbiRmYS12YXItc29ydC1kZXNjOiBcIlxcZjBkZFwiO1xuJGZhLXZhci1zb3J0LWRvd246IFwiXFxmMGRkXCI7XG4kZmEtdmFyLXNvcnQtbnVtZXJpYy1hc2M6IFwiXFxmMTYyXCI7XG4kZmEtdmFyLXNvcnQtbnVtZXJpYy1kZXNjOiBcIlxcZjE2M1wiO1xuJGZhLXZhci1zb3J0LXVwOiBcIlxcZjBkZVwiO1xuJGZhLXZhci1zb3VuZGNsb3VkOiBcIlxcZjFiZVwiO1xuJGZhLXZhci1zcGFjZS1zaHV0dGxlOiBcIlxcZjE5N1wiO1xuJGZhLXZhci1zcGlubmVyOiBcIlxcZjExMFwiO1xuJGZhLXZhci1zcG9vbjogXCJcXGYxYjFcIjtcbiRmYS12YXItc3BvdGlmeTogXCJcXGYxYmNcIjtcbiRmYS12YXItc3F1YXJlOiBcIlxcZjBjOFwiO1xuJGZhLXZhci1zcXVhcmUtbzogXCJcXGYwOTZcIjtcbiRmYS12YXItc3RhY2stZXhjaGFuZ2U6IFwiXFxmMThkXCI7XG4kZmEtdmFyLXN0YWNrLW92ZXJmbG93OiBcIlxcZjE2Y1wiO1xuJGZhLXZhci1zdGFyOiBcIlxcZjAwNVwiO1xuJGZhLXZhci1zdGFyLWhhbGY6IFwiXFxmMDg5XCI7XG4kZmEtdmFyLXN0YXItaGFsZi1lbXB0eTogXCJcXGYxMjNcIjtcbiRmYS12YXItc3Rhci1oYWxmLWZ1bGw6IFwiXFxmMTIzXCI7XG4kZmEtdmFyLXN0YXItaGFsZi1vOiBcIlxcZjEyM1wiO1xuJGZhLXZhci1zdGFyLW86IFwiXFxmMDA2XCI7XG4kZmEtdmFyLXN0ZWFtOiBcIlxcZjFiNlwiO1xuJGZhLXZhci1zdGVhbS1zcXVhcmU6IFwiXFxmMWI3XCI7XG4kZmEtdmFyLXN0ZXAtYmFja3dhcmQ6IFwiXFxmMDQ4XCI7XG4kZmEtdmFyLXN0ZXAtZm9yd2FyZDogXCJcXGYwNTFcIjtcbiRmYS12YXItc3RldGhvc2NvcGU6IFwiXFxmMGYxXCI7XG4kZmEtdmFyLXN0aWNreS1ub3RlOiBcIlxcZjI0OVwiO1xuJGZhLXZhci1zdGlja3ktbm90ZS1vOiBcIlxcZjI0YVwiO1xuJGZhLXZhci1zdG9wOiBcIlxcZjA0ZFwiO1xuJGZhLXZhci1zdG9wLWNpcmNsZTogXCJcXGYyOGRcIjtcbiRmYS12YXItc3RvcC1jaXJjbGUtbzogXCJcXGYyOGVcIjtcbiRmYS12YXItc3RyZWV0LXZpZXc6IFwiXFxmMjFkXCI7XG4kZmEtdmFyLXN0cmlrZXRocm91Z2g6IFwiXFxmMGNjXCI7XG4kZmEtdmFyLXN0dW1ibGV1cG9uOiBcIlxcZjFhNFwiO1xuJGZhLXZhci1zdHVtYmxldXBvbi1jaXJjbGU6IFwiXFxmMWEzXCI7XG4kZmEtdmFyLXN1YnNjcmlwdDogXCJcXGYxMmNcIjtcbiRmYS12YXItc3Vid2F5OiBcIlxcZjIzOVwiO1xuJGZhLXZhci1zdWl0Y2FzZTogXCJcXGYwZjJcIjtcbiRmYS12YXItc3VuLW86IFwiXFxmMTg1XCI7XG4kZmEtdmFyLXN1cGVycG93ZXJzOiBcIlxcZjJkZFwiO1xuJGZhLXZhci1zdXBlcnNjcmlwdDogXCJcXGYxMmJcIjtcbiRmYS12YXItc3VwcG9ydDogXCJcXGYxY2RcIjtcbiRmYS12YXItdGFibGU6IFwiXFxmMGNlXCI7XG4kZmEtdmFyLXRhYmxldDogXCJcXGYxMGFcIjtcbiRmYS12YXItdGFjaG9tZXRlcjogXCJcXGYwZTRcIjtcbiRmYS12YXItdGFnOiBcIlxcZjAyYlwiO1xuJGZhLXZhci10YWdzOiBcIlxcZjAyY1wiO1xuJGZhLXZhci10YXNrczogXCJcXGYwYWVcIjtcbiRmYS12YXItdGF4aTogXCJcXGYxYmFcIjtcbiRmYS12YXItdGVsZWdyYW06IFwiXFxmMmM2XCI7XG4kZmEtdmFyLXRlbGV2aXNpb246IFwiXFxmMjZjXCI7XG4kZmEtdmFyLXRlbmNlbnQtd2VpYm86IFwiXFxmMWQ1XCI7XG4kZmEtdmFyLXRlcm1pbmFsOiBcIlxcZjEyMFwiO1xuJGZhLXZhci10ZXh0LWhlaWdodDogXCJcXGYwMzRcIjtcbiRmYS12YXItdGV4dC13aWR0aDogXCJcXGYwMzVcIjtcbiRmYS12YXItdGg6IFwiXFxmMDBhXCI7XG4kZmEtdmFyLXRoLWxhcmdlOiBcIlxcZjAwOVwiO1xuJGZhLXZhci10aC1saXN0OiBcIlxcZjAwYlwiO1xuJGZhLXZhci10aGVtZWlzbGU6IFwiXFxmMmIyXCI7XG4kZmEtdmFyLXRoZXJtb21ldGVyOiBcIlxcZjJjN1wiO1xuJGZhLXZhci10aGVybW9tZXRlci0wOiBcIlxcZjJjYlwiO1xuJGZhLXZhci10aGVybW9tZXRlci0xOiBcIlxcZjJjYVwiO1xuJGZhLXZhci10aGVybW9tZXRlci0yOiBcIlxcZjJjOVwiO1xuJGZhLXZhci10aGVybW9tZXRlci0zOiBcIlxcZjJjOFwiO1xuJGZhLXZhci10aGVybW9tZXRlci00OiBcIlxcZjJjN1wiO1xuJGZhLXZhci10aGVybW9tZXRlci1lbXB0eTogXCJcXGYyY2JcIjtcbiRmYS12YXItdGhlcm1vbWV0ZXItZnVsbDogXCJcXGYyYzdcIjtcbiRmYS12YXItdGhlcm1vbWV0ZXItaGFsZjogXCJcXGYyYzlcIjtcbiRmYS12YXItdGhlcm1vbWV0ZXItcXVhcnRlcjogXCJcXGYyY2FcIjtcbiRmYS12YXItdGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnM6IFwiXFxmMmM4XCI7XG4kZmEtdmFyLXRodW1iLXRhY2s6IFwiXFxmMDhkXCI7XG4kZmEtdmFyLXRodW1icy1kb3duOiBcIlxcZjE2NVwiO1xuJGZhLXZhci10aHVtYnMtby1kb3duOiBcIlxcZjA4OFwiO1xuJGZhLXZhci10aHVtYnMtby11cDogXCJcXGYwODdcIjtcbiRmYS12YXItdGh1bWJzLXVwOiBcIlxcZjE2NFwiO1xuJGZhLXZhci10aWNrZXQ6IFwiXFxmMTQ1XCI7XG4kZmEtdmFyLXRpbWVzOiBcIlxcZjAwZFwiO1xuJGZhLXZhci10aW1lcy1jaXJjbGU6IFwiXFxmMDU3XCI7XG4kZmEtdmFyLXRpbWVzLWNpcmNsZS1vOiBcIlxcZjA1Y1wiO1xuJGZhLXZhci10aW1lcy1yZWN0YW5nbGU6IFwiXFxmMmQzXCI7XG4kZmEtdmFyLXRpbWVzLXJlY3RhbmdsZS1vOiBcIlxcZjJkNFwiO1xuJGZhLXZhci10aW50OiBcIlxcZjA0M1wiO1xuJGZhLXZhci10b2dnbGUtZG93bjogXCJcXGYxNTBcIjtcbiRmYS12YXItdG9nZ2xlLWxlZnQ6IFwiXFxmMTkxXCI7XG4kZmEtdmFyLXRvZ2dsZS1vZmY6IFwiXFxmMjA0XCI7XG4kZmEtdmFyLXRvZ2dsZS1vbjogXCJcXGYyMDVcIjtcbiRmYS12YXItdG9nZ2xlLXJpZ2h0OiBcIlxcZjE1MlwiO1xuJGZhLXZhci10b2dnbGUtdXA6IFwiXFxmMTUxXCI7XG4kZmEtdmFyLXRyYWRlbWFyazogXCJcXGYyNWNcIjtcbiRmYS12YXItdHJhaW46IFwiXFxmMjM4XCI7XG4kZmEtdmFyLXRyYW5zZ2VuZGVyOiBcIlxcZjIyNFwiO1xuJGZhLXZhci10cmFuc2dlbmRlci1hbHQ6IFwiXFxmMjI1XCI7XG4kZmEtdmFyLXRyYXNoOiBcIlxcZjFmOFwiO1xuJGZhLXZhci10cmFzaC1vOiBcIlxcZjAxNFwiO1xuJGZhLXZhci10cmVlOiBcIlxcZjFiYlwiO1xuJGZhLXZhci10cmVsbG86IFwiXFxmMTgxXCI7XG4kZmEtdmFyLXRyaXBhZHZpc29yOiBcIlxcZjI2MlwiO1xuJGZhLXZhci10cm9waHk6IFwiXFxmMDkxXCI7XG4kZmEtdmFyLXRydWNrOiBcIlxcZjBkMVwiO1xuJGZhLXZhci10cnk6IFwiXFxmMTk1XCI7XG4kZmEtdmFyLXR0eTogXCJcXGYxZTRcIjtcbiRmYS12YXItdHVtYmxyOiBcIlxcZjE3M1wiO1xuJGZhLXZhci10dW1ibHItc3F1YXJlOiBcIlxcZjE3NFwiO1xuJGZhLXZhci10dXJraXNoLWxpcmE6IFwiXFxmMTk1XCI7XG4kZmEtdmFyLXR2OiBcIlxcZjI2Y1wiO1xuJGZhLXZhci10d2l0Y2g6IFwiXFxmMWU4XCI7XG4kZmEtdmFyLXR3aXR0ZXI6IFwiXFxmMDk5XCI7XG4kZmEtdmFyLXR3aXR0ZXItc3F1YXJlOiBcIlxcZjA4MVwiO1xuJGZhLXZhci11bWJyZWxsYTogXCJcXGYwZTlcIjtcbiRmYS12YXItdW5kZXJsaW5lOiBcIlxcZjBjZFwiO1xuJGZhLXZhci11bmRvOiBcIlxcZjBlMlwiO1xuJGZhLXZhci11bml2ZXJzYWwtYWNjZXNzOiBcIlxcZjI5YVwiO1xuJGZhLXZhci11bml2ZXJzaXR5OiBcIlxcZjE5Y1wiO1xuJGZhLXZhci11bmxpbms6IFwiXFxmMTI3XCI7XG4kZmEtdmFyLXVubG9jazogXCJcXGYwOWNcIjtcbiRmYS12YXItdW5sb2NrLWFsdDogXCJcXGYxM2VcIjtcbiRmYS12YXItdW5zb3J0ZWQ6IFwiXFxmMGRjXCI7XG4kZmEtdmFyLXVwbG9hZDogXCJcXGYwOTNcIjtcbiRmYS12YXItdXNiOiBcIlxcZjI4N1wiO1xuJGZhLXZhci11c2Q6IFwiXFxmMTU1XCI7XG4kZmEtdmFyLXVzZXI6IFwiXFxmMDA3XCI7XG4kZmEtdmFyLXVzZXItY2lyY2xlOiBcIlxcZjJiZFwiO1xuJGZhLXZhci11c2VyLWNpcmNsZS1vOiBcIlxcZjJiZVwiO1xuJGZhLXZhci11c2VyLW1kOiBcIlxcZjBmMFwiO1xuJGZhLXZhci11c2VyLW86IFwiXFxmMmMwXCI7XG4kZmEtdmFyLXVzZXItcGx1czogXCJcXGYyMzRcIjtcbiRmYS12YXItdXNlci1zZWNyZXQ6IFwiXFxmMjFiXCI7XG4kZmEtdmFyLXVzZXItdGltZXM6IFwiXFxmMjM1XCI7XG4kZmEtdmFyLXVzZXJzOiBcIlxcZjBjMFwiO1xuJGZhLXZhci12Y2FyZDogXCJcXGYyYmJcIjtcbiRmYS12YXItdmNhcmQtbzogXCJcXGYyYmNcIjtcbiRmYS12YXItdmVudXM6IFwiXFxmMjIxXCI7XG4kZmEtdmFyLXZlbnVzLWRvdWJsZTogXCJcXGYyMjZcIjtcbiRmYS12YXItdmVudXMtbWFyczogXCJcXGYyMjhcIjtcbiRmYS12YXItdmlhY29pbjogXCJcXGYyMzdcIjtcbiRmYS12YXItdmlhZGVvOiBcIlxcZjJhOVwiO1xuJGZhLXZhci12aWFkZW8tc3F1YXJlOiBcIlxcZjJhYVwiO1xuJGZhLXZhci12aWRlby1jYW1lcmE6IFwiXFxmMDNkXCI7XG4kZmEtdmFyLXZpbWVvOiBcIlxcZjI3ZFwiO1xuJGZhLXZhci12aW1lby1zcXVhcmU6IFwiXFxmMTk0XCI7XG4kZmEtdmFyLXZpbmU6IFwiXFxmMWNhXCI7XG4kZmEtdmFyLXZrOiBcIlxcZjE4OVwiO1xuJGZhLXZhci12b2x1bWUtY29udHJvbC1waG9uZTogXCJcXGYyYTBcIjtcbiRmYS12YXItdm9sdW1lLWRvd246IFwiXFxmMDI3XCI7XG4kZmEtdmFyLXZvbHVtZS1vZmY6IFwiXFxmMDI2XCI7XG4kZmEtdmFyLXZvbHVtZS11cDogXCJcXGYwMjhcIjtcbiRmYS12YXItd2FybmluZzogXCJcXGYwNzFcIjtcbiRmYS12YXItd2VjaGF0OiBcIlxcZjFkN1wiO1xuJGZhLXZhci13ZWlibzogXCJcXGYxOGFcIjtcbiRmYS12YXItd2VpeGluOiBcIlxcZjFkN1wiO1xuJGZhLXZhci13aGF0c2FwcDogXCJcXGYyMzJcIjtcbiRmYS12YXItd2hlZWxjaGFpcjogXCJcXGYxOTNcIjtcbiRmYS12YXItd2hlZWxjaGFpci1hbHQ6IFwiXFxmMjliXCI7XG4kZmEtdmFyLXdpZmk6IFwiXFxmMWViXCI7XG4kZmEtdmFyLXdpa2lwZWRpYS13OiBcIlxcZjI2NlwiO1xuJGZhLXZhci13aW5kb3ctY2xvc2U6IFwiXFxmMmQzXCI7XG4kZmEtdmFyLXdpbmRvdy1jbG9zZS1vOiBcIlxcZjJkNFwiO1xuJGZhLXZhci13aW5kb3ctbWF4aW1pemU6IFwiXFxmMmQwXCI7XG4kZmEtdmFyLXdpbmRvdy1taW5pbWl6ZTogXCJcXGYyZDFcIjtcbiRmYS12YXItd2luZG93LXJlc3RvcmU6IFwiXFxmMmQyXCI7XG4kZmEtdmFyLXdpbmRvd3M6IFwiXFxmMTdhXCI7XG4kZmEtdmFyLXdvbjogXCJcXGYxNTlcIjtcbiRmYS12YXItd29yZHByZXNzOiBcIlxcZjE5YVwiO1xuJGZhLXZhci13cGJlZ2lubmVyOiBcIlxcZjI5N1wiO1xuJGZhLXZhci13cGV4cGxvcmVyOiBcIlxcZjJkZVwiO1xuJGZhLXZhci13cGZvcm1zOiBcIlxcZjI5OFwiO1xuJGZhLXZhci13cmVuY2g6IFwiXFxmMGFkXCI7XG4kZmEtdmFyLXhpbmc6IFwiXFxmMTY4XCI7XG4kZmEtdmFyLXhpbmctc3F1YXJlOiBcIlxcZjE2OVwiO1xuJGZhLXZhci15LWNvbWJpbmF0b3I6IFwiXFxmMjNiXCI7XG4kZmEtdmFyLXktY29tYmluYXRvci1zcXVhcmU6IFwiXFxmMWQ0XCI7XG4kZmEtdmFyLXlhaG9vOiBcIlxcZjE5ZVwiO1xuJGZhLXZhci15YzogXCJcXGYyM2JcIjtcbiRmYS12YXIteWMtc3F1YXJlOiBcIlxcZjFkNFwiO1xuJGZhLXZhci15ZWxwOiBcIlxcZjFlOVwiO1xuJGZhLXZhci15ZW46IFwiXFxmMTU3XCI7XG4kZmEtdmFyLXlvYXN0OiBcIlxcZjJiMVwiO1xuJGZhLXZhci15b3V0dWJlOiBcIlxcZjE2N1wiO1xuJGZhLXZhci15b3V0dWJlLXBsYXk6IFwiXFxmMTZhXCI7XG4kZmEtdmFyLXlvdXR1YmUtc3F1YXJlOiBcIlxcZjE2NlwiO1xuXG4iLCIvLyBNaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBmYS1pY29uKCkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsICN7JGZhLWZvbnQtc2l6ZS1iYXNlfS8jeyRmYS1saW5lLWhlaWdodC1iYXNlfSBGb250QXdlc29tZTsgLy8gc2hvcnRlbmluZyBmb250IGRlY2xhcmF0aW9uXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgLy8gY2FuJ3QgaGF2ZSBmb250LXNpemUgaW5oZXJpdCBvbiBsaW5lIGFib3ZlLCBzbyBuZWVkIHRvIG92ZXJyaWRlXG4gIHRleHQtcmVuZGVyaW5nOiBhdXRvOyAvLyBvcHRpbWl6ZWxlZ2liaWxpdHkgdGhyb3dzIHRoaW5ncyBvZmYgIzEwOTRcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cbn1cblxuQG1peGluIGZhLWljb24tcm90YXRlKCRkZWdyZWVzLCAkcm90YXRpb24pIHtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0jeyRyb3RhdGlvbn0pXCI7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG59XG5cbkBtaXhpbiBmYS1pY29uLWZsaXAoJGhvcml6LCAkdmVydCwgJHJvdGF0aW9uKSB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249I3skcm90YXRpb259LCBtaXJyb3I9MSlcIjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKCRob3JpeiwgJHZlcnQpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoJGhvcml6LCAkdmVydCk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkaG9yaXosICR2ZXJ0KTtcbn1cblxuXG4vLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVycy4gQSBsYSBCb290c3RyYXAgNC5cbi8vXG4vLyBTZWU6IGh0dHA6Ly9hMTF5cHJvamVjdC5jb20vcG9zdHMvaG93LXRvLWhpZGUtY29udGVudC9cblxuQG1peGluIHNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG5AbWl4aW4gc3Itb25seS1mb2N1c2FibGUge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gIH1cbn1cbiIsIi8qIEZPTlQgUEFUSFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mb250YXdlc29tZS13ZWJmb250LmVvdD92PSN7JGZhLXZlcnNpb259Jyk7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQuZW90PyNpZWZpeCZ2PSN7JGZhLXZlcnNpb259JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnI3skZmEtZm9udC1wYXRofS9mb250YXdlc29tZS13ZWJmb250LndvZmYyP3Y9I3skZmEtdmVyc2lvbn0nKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZj92PSN7JGZhLXZlcnNpb259JykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQudHRmP3Y9I3skZmEtdmVyc2lvbn0nKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQuc3ZnP3Y9I3skZmEtdmVyc2lvbn0jZm9udGF3ZXNvbWVyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcbi8vICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9Gb250QXdlc29tZS5vdGYnKSBmb3JtYXQoJ29wZW50eXBlJyk7IC8vIHVzZWQgd2hlbiBkZXZlbG9waW5nIGZvbnRzXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbiIsIi8vIEJhc2UgQ2xhc3MgRGVmaW5pdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsICN7JGZhLWZvbnQtc2l6ZS1iYXNlfS8jeyRmYS1saW5lLWhlaWdodC1iYXNlfSBGb250QXdlc29tZTsgLy8gc2hvcnRlbmluZyBmb250IGRlY2xhcmF0aW9uXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgLy8gY2FuJ3QgaGF2ZSBmb250LXNpemUgaW5oZXJpdCBvbiBsaW5lIGFib3ZlLCBzbyBuZWVkIHRvIG92ZXJyaWRlXG4gIHRleHQtcmVuZGVyaW5nOiBhdXRvOyAvLyBvcHRpbWl6ZWxlZ2liaWxpdHkgdGhyb3dzIHRoaW5ncyBvZmYgIzEwOTRcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cbn1cbiIsIi8vIEljb24gU2l6ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLyogbWFrZXMgdGhlIGZvbnQgMzMlIGxhcmdlciByZWxhdGl2ZSB0byB0aGUgaWNvbiBjb250YWluZXIgKi9cbi4jeyRmYS1jc3MtcHJlZml4fS1sZyB7XG4gIGZvbnQtc2l6ZTogKDRlbSAvIDMpO1xuICBsaW5lLWhlaWdodDogKDNlbSAvIDQpO1xuICB2ZXJ0aWNhbC1hbGlnbjogLTE1JTtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS0yeCB7IGZvbnQtc2l6ZTogMmVtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tM3ggeyBmb250LXNpemU6IDNlbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LTR4IHsgZm9udC1zaXplOiA0ZW07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS01eCB7IGZvbnQtc2l6ZTogNWVtOyB9XG4iLCIvLyBGaXhlZCBXaWR0aCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZ3IHtcbiAgd2lkdGg6ICgxOGVtIC8gMTQpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCIvLyBMaXN0IEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS11bCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWxlZnQ6ICRmYS1saS13aWR0aDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICA+IGxpIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG59XG4uI3skZmEtY3NzLXByZWZpeH0tbGkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0kZmEtbGktd2lkdGg7XG4gIHdpZHRoOiAkZmEtbGktd2lkdGg7XG4gIHRvcDogKDJlbSAvIDE0KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAmLiN7JGZhLWNzcy1wcmVmaXh9LWxnIHtcbiAgICBsZWZ0OiAtJGZhLWxpLXdpZHRoICsgKDRlbSAvIDE0KTtcbiAgfVxufVxuIiwiLy8gQm9yZGVyZWQgJiBQdWxsZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvcmRlciB7XG4gIHBhZGRpbmc6IC4yZW0gLjI1ZW0gLjE1ZW07XG4gIGJvcmRlcjogc29saWQgLjA4ZW0gJGZhLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogLjFlbTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtbGVmdCB7IGZsb2F0OiBsZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHVsbC1yaWdodCB7IGZsb2F0OiByaWdodDsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0ge1xuICAmLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtbGVmdCB7IG1hcmdpbi1yaWdodDogLjNlbTsgfVxuICAmLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtcmlnaHQgeyBtYXJnaW4tbGVmdDogLjNlbTsgfVxufVxuXG4vKiBEZXByZWNhdGVkIGFzIG9mIDQuNC4wICovXG4ucHVsbC1yaWdodCB7IGZsb2F0OiByaWdodDsgfVxuLnB1bGwtbGVmdCB7IGZsb2F0OiBsZWZ0OyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fSB7XG4gICYucHVsbC1sZWZ0IHsgbWFyZ2luLXJpZ2h0OiAuM2VtOyB9XG4gICYucHVsbC1yaWdodCB7IG1hcmdpbi1sZWZ0OiAuM2VtOyB9XG59XG4iLCIvLyBTcGlubmluZyBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgICAgYW5pbWF0aW9uOiBmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1bHNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7XG4gICAgICAgICAgYW5pbWF0aW9uOiBmYS1zcGluIDFzIGluZmluaXRlIHN0ZXBzKDgpO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmEtc3BpbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhLXNwaW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gIH1cbn1cbiIsIi8vIFJvdGF0ZWQgJiBGbGlwcGVkIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtOTAgIHsgQGluY2x1ZGUgZmEtaWNvbi1yb3RhdGUoOTBkZWcsIDEpOyAgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS0xODAgeyBAaW5jbHVkZSBmYS1pY29uLXJvdGF0ZSgxODBkZWcsIDIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTI3MCB7IEBpbmNsdWRlIGZhLWljb24tcm90YXRlKDI3MGRlZywgMyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbCB7IEBpbmNsdWRlIGZhLWljb24tZmxpcCgtMSwgMSwgMCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLXZlcnRpY2FsICAgeyBAaW5jbHVkZSBmYS1pY29uLWZsaXAoMSwgLTEsIDIpOyB9XG5cbi8vIEhvb2sgZm9yIElFOC05XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbjpyb290IC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtOTAsXG46cm9vdCAuI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTE4MCxcbjpyb290IC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtMjcwLFxuOnJvb3QgLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbCxcbjpyb290IC4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLXZlcnRpY2FsIHtcbiAgZmlsdGVyOiBub25lO1xufVxuIiwiLy8gU3RhY2tlZCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDJlbTtcbiAgaGVpZ2h0OiAyZW07XG4gIGxpbmUtaGVpZ2h0OiAyZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stMXgsIC4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0yeCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0xeCB7IGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stMnggeyBmb250LXNpemU6IDJlbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWludmVyc2UgeyBjb2xvcjogJGZhLWludmVyc2U7IH1cbiIsIi8qIEZvbnQgQXdlc29tZSB1c2VzIHRoZSBVbmljb2RlIFByaXZhdGUgVXNlIEFyZWEgKFBVQSkgdG8gZW5zdXJlIHNjcmVlblxuICAgcmVhZGVycyBkbyBub3QgcmVhZCBvZmYgcmFuZG9tIGNoYXJhY3RlcnMgdGhhdCByZXByZXNlbnQgaWNvbnMgKi9cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsYXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2xhc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tdXNpYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW11c2ljOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2VhcmNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVudmVsb3BlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhlYXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0YXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGFyLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbG06YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGgtbGFyZ2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aC1sYXJnZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aC1saXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGgtbGlzdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hlY2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZW1vdmU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3NlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10aW1lczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRpbWVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoLXBsdXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zZWFyY2gtcGx1czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlYXJjaC1taW51czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNlYXJjaC1taW51czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvd2VyLW9mZjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBvd2VyLW9mZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ25hbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNpZ25hbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlYXI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYXNoLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmFzaC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9tZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhvbWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG9jay1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2xvY2stbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvYWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yb2FkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kb3dubG9hZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1vLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1jaXJjbGUtby1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLW8tdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1jaXJjbGUtby11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluYm94OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW5ib3g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGF5LWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGxheS1jaXJjbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS1yaWdodDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcmVwZWF0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVwZWF0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVmcmVzaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlZnJlc2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0LWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpc3QtYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9jazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxvY2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFnOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmxhZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWRwaG9uZXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oZWFkcGhvbmVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdm9sdW1lLW9mZjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZvbHVtZS1vZmY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2x1bWUtZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZvbHVtZS1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdm9sdW1lLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdm9sdW1lLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXJjb2RlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcXJjb2RlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFyY29kZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhcmNvZGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10YWc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWdzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGFnczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ib29rOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9va21hcms6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ib29rbWFyazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByaW50OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcHJpbnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYW1lcmE6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYW1lcmE7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9udDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbGQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ib2xkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taXRhbGljOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaXRhbGljOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGV4dC1oZWlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10ZXh0LWhlaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRleHQtd2lkdGg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10ZXh0LXdpZHRoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpZ24tbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFsaWduLWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1jZW50ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbGlnbi1jZW50ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFsaWduLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpZ24tanVzdGlmeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFsaWduLWp1c3RpZnk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlzdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlZGVudDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tb3V0ZGVudDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW91dGRlbnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmRlbnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbmRlbnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWRlby1jYW1lcmE6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12aWRlby1jYW1lcmE7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG90bzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taW1hZ2U6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpY3R1cmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBpY3R1cmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbmNpbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBlbmNpbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1tYXJrZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXAtbWFya2VyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRqdXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWRqdXN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGludDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRpbnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lZGl0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1wZW5jaWwtc3F1YXJlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wZW5jaWwtc3F1YXJlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGFyZS1zcXVhcmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoYXJlLXNxdWFyZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stc3F1YXJlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGVjay1zcXVhcmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZXAtYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGVwLWJhY2t3YXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFzdC1iYWNrd2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZhc3QtYmFja3dhcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWNrd2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhY2t3YXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxheTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBsYXk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXVzZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhdXNlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0b3A7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9yd2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhc3QtZm9yd2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZhc3QtZm9yd2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZXAtZm9yd2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0ZXAtZm9yd2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVqZWN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZWplY3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGV2cm9uLWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXMtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGx1cy1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taW51cy1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1taW51cy1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aW1lcy1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aW1lcy1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjay1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGVjay1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdWVzdGlvbi1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1xdWVzdGlvbi1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmZvLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWluZm8tY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3Jvc3NoYWlyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNyb3NzaGFpcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aW1lcy1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRpbWVzLWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGVjay1jaXJjbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1haWwtZm9yd2FyZDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaGFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4cGFuZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV4cGFuZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXByZXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29tcHJlc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGx1czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWludXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hc3RlcmlzazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFzdGVyaXNrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhjbGFtYXRpb24tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXhjbGFtYXRpb24tY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2lmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdpZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZWFmOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGVhZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXllOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXllOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXllLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXllLXNsYXNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2FybmluZzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leGNsYW1hdGlvbi10cmlhbmdsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGxhbmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbGVuZGFyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFuZG9tOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmFuZG9tOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbW1lbnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWduZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYWduZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZXZyb24tZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJldHdlZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZXR3ZWV0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcHBpbmctY2FydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNob3BwaW5nLWNhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb2xkZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItb3BlbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvbGRlci1vcGVuOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLXY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvd3MtdjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93cy1oOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3dzLWg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXItY2hhcnQtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmFyLWNoYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmFyLWNoYXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHdpdHRlci1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10d2l0dGVyLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhY2Vib29rLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZhY2Vib29rLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbWVyYS1yZXRybzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbWVyYS1yZXRybzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtleTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWtleTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlYXJzOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jb2dzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29nczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnRzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29tbWVudHM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aHVtYnMtby11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRodW1icy1vLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJzLW8tZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRodW1icy1vLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWhhbGY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGFyLWhhbGY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFydC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGVhcnQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ24tb3V0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2lnbi1vdXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW5rZWRpbi1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saW5rZWRpbi1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aHVtYi10YWNrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGh1bWItdGFjazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4dGVybmFsLWxpbms6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leHRlcm5hbC1saW5rOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbi1pbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNpZ24taW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cm9waHk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cm9waHk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRodWItc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2l0aHViLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVwbG9hZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVwbG9hZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlbW9uLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sZW1vbi1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waG9uZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3F1YXJlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rbWFyay1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYm9va21hcmstbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBob25lLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR3aXR0ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10d2l0dGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stZjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mYWNlYm9vazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdGh1YjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdpdGh1YjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVubG9jazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVubG9jazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWRpdC1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3JlZGl0LWNhcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mZWVkOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1yc3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZGQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhkZC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVsbGhvcm46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1idWxsaG9ybjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlbGw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWxsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2VydGlmaWNhdGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jZXJ0aWZpY2F0ZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtby1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtby1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtby1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1vLWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLW8tdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLW8tdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLW8tZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtby1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1jaXJjbGUtbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWNpcmNsZS1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWNpcmNsZS11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctY2lyY2xlLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbG9iZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdsb2JlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td3JlbmNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd3JlbmNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFza3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10YXNrczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbHRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbHRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyaWVmY2FzZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJyaWVmY2FzZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93cy1hbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvd3MtYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JvdXA6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFpbjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tbGluazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpbms7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNsb3VkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhc2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mbGFzazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWN1dDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc2Npc3NvcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zY2lzc29yczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvcHk6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGVzLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlcy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFwZXJjbGlwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGFwZXJjbGlwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2F2ZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmxvcHB5LW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mbG9wcHktbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5hdmljb246YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlb3JkZXI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlzdC11bDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpc3QtdWw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0LW9sOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlzdC1vbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmlrZXRocm91Z2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdHJpa2V0aHJvdWdoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5kZXJsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdW5kZXJsaW5lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFibGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10YWJsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hZ2ljOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFnaWM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cnVjazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRydWNrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGludGVyZXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGludGVyZXN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGludGVyZXN0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBpbnRlcmVzdC1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1cy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nb29nbGUtcGx1cy1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdvb2dsZS1wbHVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9uZXk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tb25leTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJldC1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJldC11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJldC1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJldC1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbHVtbnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb2x1bW5zOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5zb3J0ZWQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1kb3duOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWRlc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LWRlc2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LXVwOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFzYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQtYXNjOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lbnZlbG9wZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbmtlZGluOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlua2VkaW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtbGVmdDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdW5kbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVuZG87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZWdhbDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZ2F2ZWw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nYXZlbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRhc2hib2FyZDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdGFjaG9tZXRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRhY2hvbWV0ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb21tZW50LW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50cy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29tbWVudHMtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYXNoOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ib2x0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYm9sdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpdGVtYXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaXRlbWFwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW1icmVsbGE6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11bWJyZWxsYTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhc3RlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jbGlwYm9hcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jbGlwYm9hcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saWdodGJ1bGItbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpZ2h0YnVsYi1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhjaGFuZ2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leGNoYW5nZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLWRvd25sb2FkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2xvdWQtZG93bmxvYWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC11cGxvYWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jbG91ZC11cGxvYWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLW1kOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlci1tZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZXRob3Njb3BlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RldGhvc2NvcGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdWl0Y2FzZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN1aXRjYXNlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVsbC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmVsbC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29mZmVlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29mZmVlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3V0bGVyeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWN1dGxlcnk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXRleHQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtdGV4dC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVpbGRpbmctbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ1aWxkaW5nLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3NwaXRhbC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG9zcGl0YWwtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFtYnVsYW5jZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFtYnVsYW5jZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGtpdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1lZGtpdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpZ2h0ZXItamV0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlnaHRlci1qZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmVlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWgtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaC1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBsdXMtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmdsZS1kb3VibGUtbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvdWJsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2xlLWRvdWJsZS1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvdWJsZS11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2xlLWRvdWJsZS11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvdWJsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtZG91YmxlLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2xlLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2xlLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZXNrdG9wOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZGVza3RvcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhcHRvcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxhcHRvcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhYmxldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRhYmxldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vYmlsZS1waG9uZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tbW9iaWxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbW9iaWxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaXJjbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1b3RlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1xdW90ZS1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVvdGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1xdW90ZS1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaW5uZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zcGlubmVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFpbC1yZXBseTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcmVwbHk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZXBseTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdGh1Yi1hbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1naXRodWItYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9sZGVyLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb2xkZXItbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbGRlci1vcGVuLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb2xkZXItb3Blbi1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc21pbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNtaWxlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcm93bi1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZnJvd24tbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1laC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWVoLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nYW1lcGFkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2FtZXBhZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtleWJvYXJkLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1rZXlib2FyZC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhZy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmxhZy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhZy1jaGVja2VyZWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mbGFnLWNoZWNrZXJlZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlcm1pbmFsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGVybWluYWw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2RlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29kZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1haWwtcmVwbHktYWxsOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBseS1hbGw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZXBseS1hbGw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWhhbGYtZW1wdHk6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItaGFsZi1mdWxsOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWhhbGYtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0YXItaGFsZi1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9jYXRpb24tYXJyb3c6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sb2NhdGlvbi1hcnJvdzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyb3A6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jcm9wOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kZS1mb3JrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29kZS1mb3JrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5saW5rOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFpbi1icm9rZW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGFpbi1icm9rZW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdWVzdGlvbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXF1ZXN0aW9uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5mbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWluZm87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNsYW1hdGlvbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV4Y2xhbWF0aW9uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VwZXJzY3JpcHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdXBlcnNjcmlwdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1YnNjcmlwdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN1YnNjcmlwdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVyYXNlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVyYXNlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1enpsZS1waWVjZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXB1enpsZS1waWVjZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvcGhvbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1taWNyb3Bob25lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9waG9uZS1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1pY3JvcGhvbmUtc2xhc2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGllbGQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaGllbGQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FsZW5kYXItbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmUtZXh0aW5ndWlzaGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlyZS1leHRpbmd1aXNoZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb2NrZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yb2NrZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXhjZG46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXhjZG47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWNpcmNsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi1jaXJjbGUtbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi1jaXJjbGUtcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWNpcmNsZS11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZXZyb24tY2lyY2xlLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1jaXJjbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZXZyb24tY2lyY2xlLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1odG1sNTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWh0bWw1OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3NzMzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNzczM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmNob3I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmNob3I7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bmxvY2stYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdW5sb2NrLWFsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1bGxzZXllOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnVsbHNleWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbGxpcHNpcy1oOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZWxsaXBzaXMtaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVsbGlwc2lzLXY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lbGxpcHNpcy12OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnNzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJzcy1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGF5LWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBsYXktY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGlja2V0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGlja2V0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWludXMtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWludXMtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWludXMtc3F1YXJlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1taW51cy1zcXVhcmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxldmVsLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGV2ZWwtdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZXZlbC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGV2ZWwtZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZWNrLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZWNrLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbmNpbC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wZW5jaWwtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXh0ZXJuYWwtbGluay1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leHRlcm5hbC1saW5rLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoYXJlLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXBhc3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb21wYXNzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLWRvd246YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1vLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJldC1zcXVhcmUtby1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLXVwOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtby11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LXNxdWFyZS1vLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLXJpZ2h0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtby1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LXNxdWFyZS1vLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXVybzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZXVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2JwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2JwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9sbGFyOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS11c2Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydXBlZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taW5yOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW5yOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY255OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ybWI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXllbjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tanB5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItanB5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnVibGU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdWJsZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcnViOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcnViOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td29uOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1rcnc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1rcnc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXRjb2luOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1idGM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1idGM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtdGV4dDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtdGV4dDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYWxwaGEtYXNjOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc29ydC1hbHBoYS1hc2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFscGhhLWRlc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LWFscGhhLWRlc2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFtb3VudC1hc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LWFtb3VudC1hc2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFtb3VudC1kZXNjOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc29ydC1hbW91bnQtZGVzYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtbnVtZXJpYy1hc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LW51bWVyaWMtYXNjOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1udW1lcmljLWRlc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LW51bWVyaWMtZGVzYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRodW1icy11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRodW1icy11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRodW1icy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGh1bWJzLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15b3V0dWJlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXlvdXR1YmUtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teW91dHViZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXlvdXR1YmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS14aW5nOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteGluZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXhpbmctc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteGluZy1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15b3V0dWJlLXBsYXk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci15b3V0dWJlLXBsYXk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcm9wYm94OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZHJvcGJveDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLW92ZXJmbG93OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RhY2stb3ZlcmZsb3c7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnN0YWdyYW06YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbnN0YWdyYW07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGlja3I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mbGlja3I7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZG46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hZG47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXRidWNrZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iaXRidWNrZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXRidWNrZXQtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYml0YnVja2V0LXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR1bWJscjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXR1bWJscjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR1bWJsci1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10dW1ibHItc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbG9uZy1hcnJvdy1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxvbmctYXJyb3ctdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sb25nLWFycm93LWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbG9uZy1hcnJvdy1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFwcGxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXBwbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3dzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2luZG93czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZHJvaWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmRyb2lkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGludXg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saW51eDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyaWJiYmxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZHJpYmJibGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1za3lwZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNreXBlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm91cnNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvdXJzcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmVsbG86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmVsbG87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mZW1hbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mZW1hbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdHRpcDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZ3JhdGlwYXk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ncmF0aXBheTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1bi1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3VuLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb29uLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tb29uLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcmNoaXZlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJjaGl2ZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1ZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ1ZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdms7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13ZWlibzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdlaWJvOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVucmVuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVucmVuOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFnZWxpbmVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGFnZWxpbmVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stZXhjaGFuZ2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGFjay1leGNoYW5nZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1vLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctY2lyY2xlLW8tcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtby1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctY2lyY2xlLW8tbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvZ2dsZS1sZWZ0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtby1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FyZXQtc3F1YXJlLW8tbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvdC1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRvdC1jaXJjbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdoZWVsY2hhaXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13aGVlbGNoYWlyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmltZW8tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmltZW8tc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHVya2lzaC1saXJhOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10cnk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cnk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVzLXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGx1cy1zcXVhcmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwYWNlLXNodXR0bGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zcGFjZS1zaHV0dGxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xhY2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zbGFjazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVudmVsb3BlLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdvcmRwcmVzczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdvcmRwcmVzczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZW5pZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW9wZW5pZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluc3RpdHV0aW9uOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYW5rOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS11bml2ZXJzaXR5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdW5pdmVyc2l0eTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vcnRhci1ib2FyZDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZ3JhZHVhdGlvbi1jYXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ncmFkdWF0aW9uLWNhcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlhaG9vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteWFob287IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nb29nbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRkaXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZWRkaXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRkaXQtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVkZGl0LXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0dW1ibGV1cG9uLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0dW1ibGV1cG9uLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0dW1ibGV1cG9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3R1bWJsZXVwb247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZWxpY2lvdXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kZWxpY2lvdXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWdnOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZGlnZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXItcHA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waWVkLXBpcGVyLXBwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGllZC1waXBlci1hbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waWVkLXBpcGVyLWFsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRydXBhbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRydXBhbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpvb21sYTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWpvb21sYTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhbmd1YWdlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGFuZ3VhZ2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYXg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mYXg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idWlsZGluZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ1aWxkaW5nOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hpbGQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGlsZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhdzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhdzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwb29uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3Bvb247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jdWJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3ViZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWN1YmVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3ViZXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWhhbmNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmVoYW5jZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlaGFuY2Utc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmVoYW5jZS1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGVhbTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0ZWFtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlYW0tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RlYW0tc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVjeWNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlY3ljbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdXRvbW9iaWxlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jYXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRheGk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10YXhpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJlZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyZWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcG90aWZ5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3BvdGlmeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRldmlhbnRhcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kZXZpYW50YXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc291bmRjbG91ZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvdW5kY2xvdWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kYXRhYmFzZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRhdGFiYXNlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1wZGYtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtcGRmLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXdvcmQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtd29yZC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1leGNlbC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS1leGNlbC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1wb3dlcnBvaW50LW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLXBvd2VycG9pbnQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtcGhvdG8tbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1waWN0dXJlLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtaW1hZ2UtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtaW1hZ2UtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtemlwLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtYXJjaGl2ZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS1hcmNoaXZlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXNvdW5kLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtYXVkaW8tbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtYXVkaW8tbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtbW92aWUtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS12aWRlby1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS12aWRlby1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1jb2RlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLWNvZGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12aW5lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kZXBlbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvZGVwZW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qc2ZpZGRsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWpzZmlkZGxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlmZS1ib3V5OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1saWZlLWJ1b3k6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZmUtc2F2ZXI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1cHBvcnQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZmUtcmluZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpZmUtcmluZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNpcmNsZS1vLW5vdGNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2lyY2xlLW8tbm90Y2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcmVzaXN0YW5jZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcmViZWw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZWJlbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1lbXBpcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lbXBpcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXQtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2l0LXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdpdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXktY29tYmluYXRvci1zcXVhcmU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXljLXNxdWFyZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taGFja2VyLW5ld3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYWNrZXItbmV3czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbmNlbnQtd2VpYm86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10ZW5jZW50LXdlaWJvOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXE6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1xcTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdlY2hhdDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0td2VpeGluOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2VpeGluOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VuZDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcGFwZXItcGxhbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYXBlci1wbGFuZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlbmQtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcGFwZXItcGxhbmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhcGVyLXBsYW5lLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oaXN0b3J5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGlzdG9yeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNpcmNsZS10aGluOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2lyY2xlLXRoaW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oZWFkZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXJhZ3JhcGg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYXJhZ3JhcGg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGlkZXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2xpZGVyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoYXJlLWFsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLWFsdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaGFyZS1hbHQtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9tYjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJvbWI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb2NjZXItYmFsbC1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1mdXRib2wtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZ1dGJvbC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHR5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHR5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmlub2N1bGFyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJpbm9jdWxhcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVnOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGx1ZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNsaWRlc2hhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zbGlkZXNoYXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHdpdGNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHdpdGNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teWVscDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXllbHA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uZXdzcGFwZXItbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW5ld3NwYXBlci1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2lmaTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdpZmk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxjdWxhdG9yOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FsY3VsYXRvcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBheXBhbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBheXBhbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS13YWxsZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nb29nbGUtd2FsbGV0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtdmlzYTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNjLXZpc2E7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1tYXN0ZXJjYXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2MtbWFzdGVyY2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWRpc2NvdmVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2MtZGlzY292ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1hbWV4OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2MtYW1leDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLXBheXBhbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNjLXBheXBhbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLXN0cmlwZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNjLXN0cmlwZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlbGwtc2xhc2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWxsLXNsYXNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVsbC1zbGFzaC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmVsbC1zbGFzaC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhc2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmFzaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvcHlyaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvcHlyaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leWVkcm9wcGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXllZHJvcHBlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhaW50LWJydXNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGFpbnQtYnJ1c2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXJ0aGRheS1jYWtlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmlydGhkYXktY2FrZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFyZWEtY2hhcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcmVhLWNoYXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGllLWNoYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGllLWNoYXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGluZS1jaGFydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpbmUtY2hhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXN0Zm06YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sYXN0Zm07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXN0Zm0tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGFzdGZtLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvZ2dsZS1vZmY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10b2dnbGUtb2ZmOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdG9nZ2xlLW9uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmljeWNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJpY3ljbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1idXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pb3hob3N0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW94aG9zdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2VsbGlzdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2VsbGlzdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGVrZWw6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoZXFlbDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taWxzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaWxzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVhbnBhdGg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tZWFucGF0aDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1eXNlbGxhZHM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1idXlzZWxsYWRzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29ubmVjdGRldmVsb3A6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb25uZWN0ZGV2ZWxvcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRhc2hjdWJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZGFzaGN1YmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb3J1bWJlZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvcnVtYmVlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVhbnB1YjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxlYW5wdWI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWxsc3k6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zZWxsc3k7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGlydHNpbmJ1bGs6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaGlydHNpbmJ1bGs7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaW1wbHlidWlsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNpbXBseWJ1aWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2t5YXRsYXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1za3lhdGxhczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcnQtcGx1czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcnQtcGx1czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcnQtYXJyb3ctZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcnQtYXJyb3ctZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpYW1vbmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kaWFtb25kOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hpcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoaXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXNlY3JldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzZXItc2VjcmV0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW90b3JjeWNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1vdG9yY3ljbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHJlZXQtdmlldzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0cmVldC12aWV3OyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhcnRiZWF0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGVhcnRiZWF0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmVudXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12ZW51czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVyY3VyeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1lcmN1cnk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnRlcnNleDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdHJhbnNnZW5kZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmFuc2dlbmRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYW5zZ2VuZGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyYW5zZ2VuZGVyLWFsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlbnVzLWRvdWJsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZlbnVzLWRvdWJsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtZG91YmxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFycy1kb3VibGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12ZW51cy1tYXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmVudXMtbWFyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtc3Ryb2tlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFycy1zdHJva2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXJzLXN0cm9rZS12OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFycy1zdHJva2UtdjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtc3Ryb2tlLWg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXJzLXN0cm9rZS1oOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmV1dGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbmV1dGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2VuZGVybGVzczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdlbmRlcmxlc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYWNlYm9vay1vZmZpY2lhbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZhY2Vib29rLW9mZmljaWFsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGludGVyZXN0LXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waW50ZXJlc3QtcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdoYXRzYXBwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2hhdHNhcHA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZXJ2ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zZXJ2ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXBsdXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2VyLXBsdXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXRpbWVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlci10aW1lczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdGVsOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iZWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWFjb2luOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmlhY29pbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYWluOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJhaW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdWJ3YXk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdWJ3YXk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWRpdW06YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tZWRpdW07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15YzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0teS1jb21iaW5hdG9yOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteS1jb21iaW5hdG9yOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3B0aW4tbW9uc3RlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW9wdGluLW1vbnN0ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vcGVuY2FydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW9wZW5jYXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhwZWRpdGVkc3NsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXhwZWRpdGVkc3NsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS00OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWZ1bGw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYXR0ZXJ5LWZ1bGw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LTM6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktdGhyZWUtcXVhcnRlcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS0yOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWhhbGY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYXR0ZXJ5LWhhbGY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LTE6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktcXVhcnRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhdHRlcnktcXVhcnRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktMDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhdHRlcnktZW1wdHk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3VzZS1wb2ludGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbW91c2UtcG9pbnRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWktY3Vyc29yOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaS1jdXJzb3I7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vYmplY3QtZ3JvdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1vYmplY3QtZ3JvdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vYmplY3QtdW5ncm91cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW9iamVjdC11bmdyb3VwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RpY2t5LW5vdGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGlja3ktbm90ZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0aWNreS1ub3RlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGlja3ktbm90ZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtamNiOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2MtamNiOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtZGluZXJzLWNsdWI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYy1kaW5lcnMtY2x1YjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb25lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2xvbmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWxhbmNlLXNjYWxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmFsYW5jZS1zY2FsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG91cmdsYXNzLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3MtMTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLXN0YXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG91cmdsYXNzLXN0YXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLTI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG91cmdsYXNzLWhhbGY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3MtMzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLWVuZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhvdXJnbGFzcy1lbmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ob3VyZ2xhc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLWdyYWItbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1yb2NrLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLXJvY2stbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtc3RvcC1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBhcGVyLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLXBhcGVyLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXNjaXNzb3JzLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLXNjaXNzb3JzLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLWxpemFyZC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1saXphcmQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtc3BvY2stbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtc3BvY2stbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcG9pbnRlci1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1wb2ludGVyLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBlYWNlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLXBlYWNlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFkZW1hcms6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmFkZW1hcms7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWdpc3RlcmVkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVnaXN0ZXJlZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2c6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdnLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdnLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyaXBhZHZpc29yOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJpcGFkdmlzb3I7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vZG5va2xhc3NuaWtpOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb2Rub2tsYXNzbmlraTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9kbm9rbGFzc25pa2ktc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb2Rub2tsYXNzbmlraS1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZXQtcG9ja2V0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2V0LXBvY2tldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpa2lwZWRpYS13OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2lraXBlZGlhLXc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYWZhcmk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zYWZhcmk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaHJvbWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaHJvbWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJlZm94OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlyZWZveDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZXJhOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb3BlcmE7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnRlcm5ldC1leHBsb3JlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWludGVybmV0LWV4cGxvcmVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHY6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbGV2aXNpb246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10ZWxldmlzaW9uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29udGFvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29udGFvOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tNTAwcHg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci01MDBweDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFtYXpvbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFtYXpvbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLXBsdXMtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbGVuZGFyLXBsdXMtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLW1pbnVzLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYWxlbmRhci1taW51cy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItdGltZXMtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbGVuZGFyLXRpbWVzLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1jaGVjay1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FsZW5kYXItY2hlY2stbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZHVzdHJ5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW5kdXN0cnk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXAtcGluOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFwLXBpbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1zaWduczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcC1zaWduczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFwLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50aW5nOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29tbWVudGluZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnRpbmctbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbW1lbnRpbmctbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXp6OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG91eno7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aW1lbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZpbWVvOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxhY2stdGllOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmxhY2stdGllOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udGljb25zOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9udGljb25zOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVkZGl0LWFsaWVuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVkZGl0LWFsaWVuOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWRnZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVkZ2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVkaXQtY2FyZC1hbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jcmVkaXQtY2FyZC1hbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2RpZXBpZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvZGllcGllOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9keDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1vZHg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb3J0LWF3ZXNvbWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb3J0LWF3ZXNvbWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2I7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcm9kdWN0LWh1bnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wcm9kdWN0LWh1bnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taXhjbG91ZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1peGNsb3VkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2NyaWJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2NyaWJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF1c2UtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGF1c2UtY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF1c2UtY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYXVzZS1jaXJjbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0b3AtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RvcC1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9wLWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RvcC1jaXJjbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob3BwaW5nLWJhZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNob3BwaW5nLWJhZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob3BwaW5nLWJhc2tldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNob3BwaW5nLWJhc2tldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhc2h0YWc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYXNodGFnOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmx1ZXRvb3RoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmx1ZXRvb3RoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmx1ZXRvb3RoLWI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ibHVldG9vdGgtYjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcmNlbnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wZXJjZW50OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0bGFiOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2l0bGFiOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td3BiZWdpbm5lcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdwYmVnaW5uZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13cGZvcm1zOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd3Bmb3JtczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmlyYTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVudmlyYTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuaXZlcnNhbC1hY2Nlc3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11bml2ZXJzYWwtYWNjZXNzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2hlZWxjaGFpci1hbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13aGVlbGNoYWlyLWFsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1ZXN0aW9uLWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcXVlc3Rpb24tY2lyY2xlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGluZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJsaW5kOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXVkaW8tZGVzY3JpcHRpb246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hdWRpby1kZXNjcmlwdGlvbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvbHVtZS1jb250cm9sLXBob25lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdm9sdW1lLWNvbnRyb2wtcGhvbmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icmFpbGxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnJhaWxsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFzbC1pbnRlcnByZXRpbmc6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZWFmbmVzczpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taGFyZC1vZi1oZWFyaW5nOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1kZWFmOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZGVhZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsaWRlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2xpZGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbGlkZS1nOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2xpZGUtZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ25pbmc6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ24tbGFuZ3VhZ2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaWduLWxhbmd1YWdlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG93LXZpc2lvbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxvdy12aXNpb247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWFkZW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12aWFkZW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWFkZW8tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmlhZGVvLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNuYXBjaGF0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc25hcGNoYXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbmFwY2hhdC1naG9zdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNuYXBjaGF0LWdob3N0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc25hcGNoYXQtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc25hcGNoYXQtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGllZC1waXBlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBpZWQtcGlwZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJzdC1vcmRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpcnN0LW9yZGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teW9hc3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci15b2FzdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZW1laXNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRoZW1laXNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1wbHVzLWNpcmNsZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsdXMtb2ZmaWNpYWw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nb29nbGUtcGx1cy1vZmZpY2lhbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1mb250LWF3ZXNvbWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb250LWF3ZXNvbWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kc2hha2UtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmRzaGFrZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGUtb3BlbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVudmVsb3BlLW9wZW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZS1vcGVuLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lbnZlbG9wZS1vcGVuLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW5vZGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saW5vZGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZGRyZXNzLWJvb2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hZGRyZXNzLWJvb2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZGRyZXNzLWJvb2stbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFkZHJlc3MtYm9vay1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmNhcmQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWFkZHJlc3MtY2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFkZHJlc3MtY2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZjYXJkLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWFkZHJlc3MtY2FyZC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWRkcmVzcy1jYXJkLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzZXItY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzZXItY2lyY2xlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2VyLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pZC1iYWRnZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWlkLWJhZGdlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJpdmVycy1saWNlbnNlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1pZC1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaWQtY2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyaXZlcnMtbGljZW5zZS1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1pZC1jYXJkLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pZC1jYXJkLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdW9yYTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXF1b3JhOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZnJlZS1jb2RlLWNhbXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mcmVlLWNvZGUtY2FtcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbGVncmFtOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGVsZWdyYW07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci00OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlcjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItZnVsbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRoZXJtb21ldGVyLWZ1bGw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci0zOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci10aHJlZS1xdWFydGVyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItMjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItaGFsZjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRoZXJtb21ldGVyLWhhbGY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci0xOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci1xdWFydGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGhlcm1vbWV0ZXItcXVhcnRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLTA6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGhlcm1vbWV0ZXItZW1wdHk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaG93ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaG93ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXRodHViOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zMTU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdGg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYXRoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG9kY2FzdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBvZGNhc3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3ctbWF4aW1pemU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13aW5kb3ctbWF4aW1pemU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3ctbWluaW1pemU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13aW5kb3ctbWluaW1pemU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3ctcmVzdG9yZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdpbmRvdy1yZXN0b3JlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGltZXMtcmVjdGFuZ2xlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3ctY2xvc2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13aW5kb3ctY2xvc2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aW1lcy1yZWN0YW5nbGUtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0td2luZG93LWNsb3NlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13aW5kb3ctY2xvc2UtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbmRjYW1wOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmFuZGNhbXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmF2OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ3JhdjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV0c3k6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ldHN5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW1kYjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWltZGI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYXZlbHJ5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmF2ZWxyeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVlcmNhc3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lZXJjYXN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9jaGlwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWljcm9jaGlwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc25vd2ZsYWtlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zbm93Zmxha2UtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1cGVycG93ZXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3VwZXJwb3dlcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13cGV4cGxvcmVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd3BleHBsb3JlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZXR1cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1lZXR1cDsgfVxuIiwiLy8gU2NyZWVuIFJlYWRlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnNyLW9ubHkgeyBAaW5jbHVkZSBzci1vbmx5KCk7IH1cbi5zci1vbmx5LWZvY3VzYWJsZSB7IEBpbmNsdWRlIHNyLW9ubHktZm9jdXNhYmxlKCk7IH1cbiIsIi8qdmFyaWFibGVzICovXG4kaGVhZGVyLWJhY2tncm91bmQ6ICMwNzJjNDM7XG4kZm9vdGVyLWJhY2tncm91bmQ6ICMwNzJjNDM7XG4kZGl2aWRlci1iYWNrZ3JvdW5kOiAjNjNjMTUxO1xuJHNlY29uZGFyeS1kaXZpZGVyLWJhY2tncm91bmQ6ICMwYjM1NGU7XG5cbiRib2R5LWJhY2tncm91bmQ6ICNlYWVlZjE7XG4kY2FyZC1iYWNrZ3JvdW5kOiAjZmZmO1xuJG1lbnUtaG92ZXItYmFja2dyb3VuZDogIzgyY2I1MTtcbiRtZW51LWJhY2tncm91bmQ6ICRkaXZpZGVyLWJhY2tncm91bmQ7XG5cbiRmb250LXN0YWNrOiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcbiRtZW51LWNvbG9yOiAjZmZmO1xuJG1lbnUtZm9udC1zaXplOiAxNHB4O1xuJHRleHQtc29mdC1jb2xvcjogIzc3NztcbiR0ZXh0LWhhcmQtY29sb3I6ICMyMjI7XG4kdGV4dC10aXRsZS1jb2xvcjogIzU1NTtcbiRsaW5rLWNvbG9yOiAjMTg2MjlkO1xuJHBvbGwtYmFyLWNvbG9yOiAjNjNjMTUxO1xuXG4kbWVzc2FnZS1pbmZvLWJhY2tncm91bmQ6ICMxMTZkYjM7XG4kbWVzc2FnZS1lcnJvci1iYWNrZ3JvdW5kOiAjZjQ0MzM2O1xuJG1lc3NhZ2Utc3VjY2Vzcy1iYWNrZ3JvdW5kOiAjNGNhZjUwO1xuXG4kdGFicy1iYWNrZ3JvdW5kOiAjYzVjNGM0O1xuJHRhYnMtZm9udC1jb2xvcjogJHRleHQtaGFyZC1jb2xvcjtcbiR0YWJzLWNvbnRlbnQtYmFja2dyb3VuZDogI2M1YzRjNDtcblxuJHZvdGluZy1ib3gtYmFja2dyb3VuZDogI2Y3ZjdmNzsgXG4kdm90aW5nLWJveC1ib3JkZXI6ICNkZWRlZGU7IFxuJHZvdGluZy1ib3gtdm90ZS1jb2xvcjogJGhlYWRlci1iYWNrZ3JvdW5kOyBcbiR2b3RpbmctYm94LXZvdGVkLWNvbG9yOiAkZGl2aWRlci1iYWNrZ3JvdW5kOyBcblxuJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ6ICNkZWRlZGU7XG4kYnV0dG9uLWRlZmF1bHQtZm9udC1jb2xvcjogJHRleHQtaGFyZC1jb2xvcjtcbiRidXR0b24taGlnaGxpZ2h0LWJhY2tncm91bmQ6ICMxMTZkYjM7XG4kYnV0dG9uLWhpZ2hsaWdodC1mb250LWNvbG9yOiAjZGVkZWRlO1xuXG4kZm9ybS13aWRnZXRzLWRlZmF1bHQtYmFja2dyb3VuZDogI2ZmZjtcbiRmb3JtLXdpZGdldHMtZGVmYXVsdC1ib3JkZXI6IDEuNXB4ICR0ZXh0LWhhcmQtY29sb3Igc29saWQ7XG4kZm9ybS13aWRnZXRzLWRlZmF1bHQtZm9udC1jb2xvcjogJHRleHQtaGFyZC1jb2xvcjtcblxuJG1vZHVsZS1ib3JkZXItY29sb3I6ICRzZWNvbmRhcnktZGl2aWRlci1iYWNrZ3JvdW5kO1xuXG4kYnJlYWs6IDEyO1xuJHRvdGFsLWNvbHVtbnM6IDEyO1xuXG4vKiBicmVha3BvaW50cyAqL1xuJGRlc2t0b3AtbGFyZ2U6IDEyMDBweDtcbiRkZXNrdG9wLW1lZGl1bTogOTcwcHggMTIwMHB4O1xuJG1vYmlsZS1sYXJnZTogNzY4cHggOTcwcHg7XG4kbW9iaWxlLXRhYmxldC13aWR0aDogNzY4cHg7XG4kbm9uLW1vYmlsZS10YWJsZXQ6IG1pbi13aWR0aCAkbW9iaWxlLXRhYmxldC13aWR0aCArIDE7XG4kbW9iaWxlLXNtYWxsOiBtYXgtd2lkdGggJG1vYmlsZS10YWJsZXQtd2lkdGg7IiwiQG1peGluIGNsZWFyX2xpc3Rfc3R5bGUge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwcHg7XG4gICAgcGFkZGluZzogMDtcbn0iLCIubWFpbi1zZWN0aW9uIC5jYWxlbmRhcl9tb250aCB0YWJsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICB0aCB7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBjb2xvcjogIzU1NTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICM1NTU7XG4gIH1cbiAgdGQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMzBweCAwO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAjNTU1O1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNkNWU4ZjE7XG4gICAgICAgIGNvbG9yOiAjMTI1YTk1O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgICYub3RoZXJfbW9udGggYTpob3ZlciwgJi50b2RheSBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNkNWU4ZjE7XG4gICAgICBjb2xvcjogIzEyNWE5NTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gICAgYTphY3RpdmUsICYub3RoZXJfbW9udGggYTphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2QxZTNlZTtcbiAgICAgIGNvbG9yOiAjM2Q3Y2IxO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgICAmLnRvZGF5IGEge1xuICAgICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDFlM2VlO1xuICAgICAgICBjb2xvcjogIzNkN2NiMTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2QxZTNlZTtcbiAgICAgIGNvbG9yOiAjM2Q3Y2IxO1xuICAgIH1cbiAgICAmLm90aGVyX21vbnRoIGEge1xuICAgICAgYmFja2dyb3VuZDogI2VlZTtcbiAgICAgIGNvbG9yOiAjOTk5O1xuICAgIH1cbiAgfVxufVxuXG4vKiBEQVRFIFBJQ0tFUiAqL1xuXG4udWktZGF0ZXBpY2tlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDJweDtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ0NDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAycHggMnB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIC1tb3otYm94LXNoYWRvdzogMnB4IDJweCAzcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogI2ZmZjtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCIuXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuICBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xuICAgIGNvbG9yOiAjNjY2O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxM3B4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMTNweDtcbiAgICBib3JkZXItcmFkaXVzOiAxM3B4O1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY4YTFjNjtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgfVxufVxuXG4udWktZGF0ZXBpY2tlci1wcmV2IHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi51aS1kYXRlcGlja2VyLW5leHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi51aS1kYXRlcGlja2VyLXRpdGxlIHtcbiAgcGFkZGluZzogNXB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHtcbiAgbWFyZ2luOiAwO1xuICB0aCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogIzk5OTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgdGQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzMzMztcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0NDQ7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzU1NTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2OGExYzY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNkN2NiMTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi51aS1kYXRlcGlja2VyLWN1cnJlbnQtZGF5IGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY4YTFjNjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzNkN2NiMTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgICAmLnVpLWRhdGVwaWNrZXItb3RoZXItbW9udGggYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjM2IzYjNiO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM0NDQ7XG4gICAgICBjb2xvcjogIzc3NztcbiAgICB9XG4gIH1cbn1cblxuLyogSU5MSU5FIERBVEUgUElDS0VSICovXG5cbi51aS1kYXRlcGlja2VyLWlubGluZSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgLW1vei1ib3gtc2hhZG93OiBub25lO1xuICAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGQgYSB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDVweDtcbiAgICB9XG4gIH1cbn1cblxuLyogU0lERUJBUiBEQVRFIFBJQ0tFUiAqL1xuXG4uc2lkZWJhciB7XG4gIC51aS1kYXRlcGlja2VyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG4gIC51aS1kYXRlcGlja2VyLWhlYWRlciBhIHtcbiAgICBwYWRkaW5nOiA1cHggMTVweDtcbiAgfVxuICAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB7XG4gICAgdGgsIHRkIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB9XG4gIH1cbn0iLCJmb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB6b29tOiAxO1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIuXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgICBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDEzMHB4O1xuICAgICAgJi5yZXF1aXJlZCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgIH1cbiAgICAgIHNtYWxsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBpbnB1dCB7XG4gICAgd2lkdGg6IDU1JTtcbiAgICAmW3R5cGU9Y2hlY2tib3hdLCAmW3R5cGU9cmFkaW9dIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICB0ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDUyNHB4O1xuICAgIGhlaWdodDogMjAwcHg7XG4gIH1cbiAgdGFibGUge1xuICAgIG1hcmdpbjogMTBweCAwO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB0aCB7XG4gICAgICBwYWRkaW5nOiAycHggNXB4IDJweCAwO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBjb2xvcjogIzc3NztcbiAgICB9XG4gICAgdGQge1xuICAgICAgcGFkZGluZzogMnB4IDVweCAycHggMDtcbiAgICB9XG4gIH1cbiAgLnN1Ym1pdCB7XG4gICAgYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICAuYWx0X2J1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgICBidXR0b24uZGVsZXRlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG4gIH1cbn1cblxuLyogSEVMUCBURVhUICovXG5cbi5oZWxwX3RleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgY29sb3I6ICM5OTk7XG4gIGEge1xuICAgIGNvbG9yOiAjNjhhMWM2O1xuICB9XG59XG5cbmZvcm0gcCAuaGVscF90ZXh0IHtcbiAgbWFyZ2luOiA1cHggMCAwIDEzMHB4O1xufVxuXG4vKiBFUlJPUlMgKi9cblxuLmVycm9ycywgLmVycm9yIHtcbiAgY29sb3I6ICNhZjQ5NDk7XG59XG5cbi5lcnJvcmxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBjb2xvcjogI2FmNDk0OTtcbn1cblxuZm9ybSB7XG4gIHAgLmVycm9ycyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICBjb2xvcjogI2FmNDk0OTtcbiAgfVxuICAuZXJyb3JsaXN0IHtcbiAgICBtYXJnaW4tbGVmdDogMTMwcHg7XG4gIH1cbn1cblxuLyogSU5QVVRTICovXG5cbmlucHV0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA3cHg7XG4gIGNvbG9yOiAkZm9ybS13aWRnZXRzLWRlZmF1bHQtZm9udC1jb2xvcjtcbiAgYm9yZGVyOiAkZm9ybS13aWRnZXRzLWRlZmF1bHQtYm9yZGVyO1xuICBiYWNrZ3JvdW5kOiAkZm9ybS13aWRnZXRzLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTVweDtcbiAgY29sb3I6ICM1NTU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogN3B4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjYmJiO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBmb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgYXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gIGNvbG9yOiAjNTU1O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgLW1vei1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAmOmZvY3VzIHtcbiAgICBwYWRkaW5nOiA2cHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzk5OTtcbiAgfVxufVxuXG5pbnB1dCB7XG4gICY6Zm9jdXMge1xuICAgIHBhZGRpbmc6IDZweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjOTk5O1xuICB9XG4gICZbdHlwZT1maWxlXSB7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgLW1vei1ib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbnRleHRhcmVhIHtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG59XG5cbi8qIEJVVFRPTlMgKi9cblxuYnV0dG9uIHtcbiAgYm9yZGVyOiBub25lO1xuICBmb250LXNpemU6IGluaXRpYWw7XG4gIGNvbG9yOiAkYnV0dG9uLWhpZ2hsaWdodC1mb250LWNvbG9yO1xuICBiYWNrZ3JvdW5kOiAkYnV0dG9uLWhpZ2hsaWdodC1iYWNrZ3JvdW5kO1xufVxuXG4vKiBDVVNUT00gSU5QVVRTICovXG5cbiNpZF9wb2ludCB7XG4gIG1hcmdpbjogMTBweCAwIDAgMTMwcHg7XG59XG5cbiNpZF9wb2ludF9tYXBfd3JhcHBlciB7XG4gIG1hcmdpbjogMCAwIDAgMTMwcHg7XG59XG5cbiNpZF9wb2ludF9tYXBfY2VudGVyIHtcbiAgd2lkdGg6IDIzcHg7XG4gIGhlaWdodDogMzJweDtcbiAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9tYXBzL21hcmtlci5wbmcpIG5vLXJlcGVhdDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1pbmRlbnQ6IC0xMDAwcHg7XG59XG5cbi8qIEFVVE8gQ09NUExFVEUgKi9cblxuLnVpLWF1dG9jb21wbGV0ZSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogNXB4IDAgMCAwO1xuICBwYWRkaW5nOiA3cHg7XG4gIHdpZHRoOiAzNTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgY29sb3I6ICM1NTU7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMnB4IDJweCAzcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAtbW96LWJveC1zaGFkb3c6IDJweCAycHggM3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGxpIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICM3Nzc7XG4gIH1cbiAgLnVpLXN0YXRlLWhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGQ0NDO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgfVxufVxuXG4vKiBTSURFQkFSIElOUFVUICovXG5cbmRpdi5zaWRlYmFyIHtcbiAgdGV4dGFyZWEge1xuICAgIHdpZHRoOiA5NSU7XG4gICAgaGVpZ2h0OiAxMTBweDtcbiAgfVxuICBzZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8qIEZJTFRFUkVEIFNFTEVDVCAqL1xuXG5mb3JtIC5maWx0ZXJlZC1zZWxlY3Qge1xuICAuc2VsZWN0b3ItYXZhaWxhYmxlLCAuc2VsZWN0b3ItY2hvc2VuIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbiAgLnNlbGVjdG9yLWF2YWlsYWJsZSBoMiwgLnNlbGVjdG9yLWNob3NlbiBoMiB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgY29sb3I6ICM3Nzc7XG4gIH1cbiAgLnNlbGVjdG9yLWZpbHRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGlucHV0IHtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIHdpZHRoOiAyNThweDtcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBwYWRkaW5nOiA0cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmFjY29yZGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAudWktYWNjb3JkaW9uLWhlYWRlciB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAzcHggMTBweCAzcHggMjVweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvYXJyb3dzL2dyZXlfcmlnaHQuZ2lmKSAxMHB4IDUwJSBuby1yZXBlYXQ7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6ICMxODYyOWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC51aS1zdGF0ZS1hY3RpdmUgYSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9hcnJvd3MvZ3JleV9kb3duLmdpZik7XG4gICAgY29sb3I6ICM3Nzc7XG4gIH1cbiAgLnVpLWFjY29yZGlvbi1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlO1xuICAgIHRhYmxlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRoIHtcbiAgICAgICAgcGFkZGluZzogMnB4IDA7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgfVxuICAgICAgdGQge1xuICAgICAgICBwYWRkaW5nOiAycHggMDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgY29sb3I6ICM1NTU7XG4gICAgICB9XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgfVxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB9XG4gICAgICBzbWFsbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYSwgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwIDFweCAwIDA7XG4gICAgcGFkZGluZzogOHB4IDI1cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxM3B4O1xuICAgIGNvbG9yOiAjNzc3O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogI2VlZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBjZW50ZXIgdG9wLCBjZW50ZXIgYm90dG9tLCBmcm9tKCNlZWUpLCB0bygjY2NjKSk7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wIGNlbnRlciwgI2VlZSwgI2NjYyk7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XG4gICAgLW1vei1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XG4gIH1cbiAgYTpob3Zlciwgc3Bhbjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gIGE6YWN0aXZlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDVweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgLW1vei1ib3gtc2hhZG93OiBpbnNldCAwIDAgNXB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgfVxuICBzcGFuIHtcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgNXB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgIC1tb3otYm94LXNoYWRvdzogaW5zZXQgMCAwIDVweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgfVxuICAgIGNvbG9yOiAjOTk5O1xuICAgIGJhY2tncm91bmQ6ICNlZWU7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGRkO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICAtbW96LWJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbiAgLm5leHQge1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XG4gIH1cbiAgLnByZXZpb3VzIHtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDRweCAwIDAgNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCAwIDAgNHB4O1xuICB9XG59XG4iLCIubW9kdWxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgJG1vZHVsZS1ib3JkZXItY29sb3I7XG4gIGgyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpbmstY29sb3I7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgY29sb3I6ICM3Nzc7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgICYubGFzdCBhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpbmstY29sb3I7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbiAgaDMge1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICB9XG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIGxpIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1vZHVsZS1ib3JkZXItY29sb3I7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgJi5sYXN0IHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRsaW5rLWNvbG9yO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgICAgaW1nLnRodW1ibmFpbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgIH1cbiAgICAgIHNtYWxsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHNtYWxsIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG4gICAgICBzdHJvbmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBjb2xvcjogIzc3NztcbiAgICAgIH1cbiAgICB9XG4gICAgJi5sYXN0IGEge1xuICAgICAgJi5idXR0b24ge1xuICAgICAgICBwYWRkaW5nOiAzcHggMTVweDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmYgdXJsKC4uL2ltYWdlcy9idXR0b25fYmcuZ2lmKSBsZWZ0IGJvdHRvbSByZXBlYXQteDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICAgICAgY29sb3I6ICM3Nzc7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgICAgJjpob3Zlci5idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbGluay1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkbGluay1jb2xvcjtcbiAgICAgICAgY29sb3I6ICRtZW51LWNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ib2R5IHtcbiAgICBwYWRkaW5nOiA5cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBoMyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICBtYXJnaW46IDEwcHggMDtcbiAgICB9XG4gICAgLnRodW1ibmFpbCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4IDEwcHg7XG4gICAgICBpbWcge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAmLmNpdGUge1xuICAgICAgICAgIG1hcmdpbjogLTVweCAwIDAgMDtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICBjb2xvcjogJHRleHQtc29mdC1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZm9vdGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICAgcGFkZGluZzogNXB4IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRtb2R1bGUtYm9yZGVyLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYSB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGNvbG9yOiAkdGV4dC1zb2Z0LWNvbG9yO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubW9kdWxlX3Bob3RvcyB7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBiYWNrZ3JvdW5kOiAjZWVlO1xuICBib3JkZXI6IG5vbmU7XG4gIGgyIGEge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6ICM1NTU7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICBjb2xvcjogIzU1NTtcbiAgICB9XG4gIH1cbiAgdWwge1xuICAgIG1hcmdpbjogMTFweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHRleHQtc29mdC1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5mb290ZXIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkdGV4dC1zb2Z0LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4ubW9kdWxlIC5yYWRhciB7XG4gIGEge1xuICAgIGltZyB7XG4gICAgICBtYXJnaW46IDEwcHggMCAxMHB4IDJweDtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRtb2R1bGUtYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgICAmOmhvdmVyIGltZyB7XG4gICAgICBwYWRkaW5nOiA2cHg7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiAkbGluay1jb2xvcjtcbiAgICB9XG4gIH1cbiAgdWwgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBzbWFsbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGNvbG9yOiAkdGV4dC1zb2Z0LWNvbG9yO1xuICAgIH1cbiAgfVxufSIsIi53bWQtcGFuZWwge1xuICBtYXJnaW4tbGVmdDogMjUlO1xuICBtYXJnaW4tcmlnaHQ6IDI1JTtcbiAgd2lkdGg6IDUwJTtcbiAgbWluLXdpZHRoOiA1MDBweDtcbn1cblxuLndtZC1idXR0b24tYmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIHpvb206IDE7XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiLlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBjbGVhcjogYm90aDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cblxuLndtZC1wcmV2aWV3IHtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogMXB4IGRhc2hlZCAjZGRkO1xuICB6b29tOiAxO1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIi5cIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG5cbi53bWQtYnV0dG9uLXJvdyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBjb2xvcjogIzc3NztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNTU1O1xuICAgIH1cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAjNzc3O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgICAmLndtZC1zcGFjZXIge1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgfVxuICB9XG59XG5cbi53bWQtYm9sZC1idXR0b24ge1xuICBsZWZ0OiAwcHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAwO1xufVxuXG4ud21kLWl0YWxpYy1idXR0b24ge1xuICBsZWZ0OiAyNXB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjBweCAwO1xufVxuXG4ud21kLXNwYWNlcjEge1xuICBsZWZ0OiA1MHB4O1xufVxuXG4ud21kLWxpbmstYnV0dG9uIHtcbiAgbGVmdDogNzVweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggMDtcbn1cblxuLndtZC1xdW90ZS1idXR0b24ge1xuICBsZWZ0OiAxMDBweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTYwcHggMDtcbn1cblxuLndtZC1jb2RlLWJ1dHRvbiB7XG4gIGxlZnQ6IDEyNXB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAwO1xufVxuXG4ud21kLWltYWdlLWJ1dHRvbiB7XG4gIGxlZnQ6IDE1MHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggMDtcbn1cblxuLndtZC1zcGFjZXIyIHtcbiAgbGVmdDogMTc1cHg7XG59XG5cbi53bWQtb2xpc3QtYnV0dG9uIHtcbiAgbGVmdDogMjAwcHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAwO1xufVxuXG4ud21kLXVsaXN0LWJ1dHRvbiB7XG4gIGxlZnQ6IDIyNXB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQwcHggMDtcbn1cblxuLndtZC1oZWFkaW5nLWJ1dHRvbiB7XG4gIGxlZnQ6IDI1MHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggMDtcbn1cblxuLndtZC1oci1idXR0b24ge1xuICBsZWZ0OiAyNzVweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE4MHB4IDA7XG59XG5cbi53bWQtc3BhY2VyMyB7XG4gIGxlZnQ6IDMwMHB4O1xufVxuXG4ud21kLXVuZG8tYnV0dG9uIHtcbiAgbGVmdDogMzI1cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDBweCAwO1xufVxuXG4ud21kLXJlZG8tYnV0dG9uIHtcbiAgbGVmdDogMzUwcHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjBweCAwO1xufVxuXG4ud21kLWhlbHAtYnV0dG9uIHtcbiAgcmlnaHQ6IDBweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IDA7XG59XG5cbi53bWQtcHJvbXB0LWJhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuXG4ud21kLXByb21wdC1kaWFsb2cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMTBweDtcbiAgPiBkaXYge1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgZm9udC1mYW1pbHk6IGFyaWFsLCBoZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIH1cbn1cblxuLndtZC1lbWJlZC1oZWxwIHtcbiAgcGFkZGluZzogMTBweDtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNXB4O1xuICB3aWR0aDogMTgwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYig2MSwgMTI0LCAxNzcpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMDE7XG4gIHRvcDogMzBweDtcbiAgcmlnaHQ6IDBweDtcbiAgcCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogLjJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG59XG5cbi53bWQtZW1iZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM4ODg7XG4gIHBhZGRpbmc6IDBweDtcbn1cblxuLnRyeV9lbWJlZCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2Fycm93cy93aGl0ZV9yaWdodC5naWYpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xufVxuXG4ub2VtYmVkIHtcbiAgbWFyZ2luOiAwcHggYXV0byAxZW0gYXV0bztcbiAgcGFkZGluZzogMHB4O1xuICAuY3JlZGl0IHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICB9XG59XG5cbi5vZW1iZWQtdmlkZW8gLmNyZWRpdCwgLm9lbWJlZC1waG90byAuY3JlZGl0IHtcbiAgbWFyZ2luOiAwcHg7XG4gIHBhZGRpbmc6IDBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4ub2VtYmVkLXZpZGVvIHAgc21hbGwge1xuICBjb2xvcjogIzc3Nztcbn1cblxuLm9lbWJlZC1saW5rIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIC5jcmVkaXQge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgfVxufVxuXG4ud21kLXByZXZpZXcgLm9lbWJlZC12aWRlbyB7XG4gIG1hcmdpbjogMCBhdXRvIDEwcHggYXV0bztcbiAgcGFkZGluZzogNzBweCAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjMzMzO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbiAgcCwgYSB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbn1cblxuYm9keS5lbnRyeV9kZXRhaWwgLndtZC1wcmV2aWV3IHAge1xuICBib3JkZXItYm90dG9tOiAwcHg7XG59XG5cbi5saXN0IC5jb21tZW50IC5vZW1iZWQsICNjb21tZW50X2Zvcm0gLm9lbWJlZCwgI2Fuc3dlcnMgLm9lbWJlZCwgLmNvbW1lbnRfdGV4dCAub2VtYmVkIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDAgMCAxMHB4IDEwcHg7XG4gIGNsZWFyOiByaWdodDtcbn1cblxuLmxpc3QgLmNvbW1lbnQgLm9lbWJlZC1saW5rLCAjY29tbWVudF9mb3JtIC5vZW1iZWQtbGluaywgI2Fuc3dlcnMgLm9lbWJlZC1saW5rLCAuY29tbWVudF90ZXh0IC5vZW1iZWQtbGluayB7XG4gIGZsb2F0OiBub25lO1xufVxuXG4ubGlzdCAuY29tbWVudCB7XG4gIC5vZW1iZWQtdmlkZW8gcCwgLm9lbWJlZC1waG90byBwIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbn1cblxuI2Fuc3dlcnMgLmxpc3Qge1xuICAub2VtYmVkLXZpZGVvIHAsIC5vZW1iZWQtcGhvdG8gcCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG59XG5cbi5jb21tZW50X3RleHQge1xuICB6b29tOiAxO1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIi5cIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG5cbi5nYWxsZXJpZXMge1xuICAud21kLXByZXZpZXcsIC53bWQtYnV0dG9uLWJhciB7XG4gICAgd2lkdGg6IDYwMHB4O1xuICB9XG59XG5cbiNjb21tZW50X2Zvcm0gLndtZC1pbWFnZS1idXR0b24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiAubGlzdCAuY29tbWVudCB1bCwgLndtZC1wcmV2aWV3IHVsLCAjYW5zd2VycyB1bCB7IGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgbWFyZ2luLWxlZnQ6IDE1cHg7IH0gKi8iLCIvKiBQSE9UT1MgQU5EIEdBTExFUklFUyAqL1xuXG5ib2R5LmdhbGxlcnlfZGV0YWlsIHtcbiAgI3BhZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMTE7XG4gIH1cbiAgI3N1Ym5hdiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuICB9XG4gICNib2R5IHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgfVxuICAuY29udGVudF90aXRsZSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGgyIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgICBwIHtcbiAgICAgIGNvbG9yOiAjOTk5O1xuICAgIH1cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgICAuYmFjayBhIHtcbiAgICAgIGNvbG9yOiAjNzc3O1xuICAgIH1cbiAgICAudm90ZV9ib3gge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5vYmplY3RfdG9vbHMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmNvbnRlbnQge1xuICAgIHdpZHRoOiA5OTBweDtcbiAgfVxuICAubGlzdCAuaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAudGh1bWJuYWlsIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNhcHRpb24ge1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjI7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgIGNvbG9yOiAjYmJiO1xuICAgIH1cbiAgfVxuICAjY29tbWVudHMge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIH1cbn1cblxuLmdhbGxlcnlfcGhvdG9fZGV0YWlsIC5wcmV2aW91c19uZXh0IHtcbiAgcGFkZGluZzogMTBweDtcbiAgd2lkdGg6IDMwMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXYge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMjBweDtcbiAgfVxuICAucHJldmlvdXMge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9hcnJvd3MvbGVzc190aGFuLmdpZikgMCA1MCUgbm8tcmVwZWF0O1xuICB9XG4gIC5uZXh0IHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvYXJyb3dzL2dyZWF0ZXJfdGhhbi5naWYpIDEwMCUgNTAlIG5vLXJlcGVhdDtcbiAgfVxuICAubm9fcGhvdG8ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAzMHB4IDEwcHggMCAxMHB4O1xuICAgIGhlaWdodDogNzBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZWVlO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICM3Nzc7XG4gIH1cbiAgYSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5waG90b19ncmlkIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLml0ZW0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMCAxMHB4IDEwcHggMDtcbiAgICAudGh1bWJuYWlsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgLnBob3RvX2luZm8ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxudGFibGUucGhvdG9zIHRkIHtcbiAgcGFkZGluZzogMCAyMHB4IDIwcHggMDtcbiAgd2lkdGg6IDIxMHB4O1xuICAudGh1bWJuYWlsIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAmLmxhc3Qge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgLmNhcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIGNvbG9yOiAjNzc3O1xuICB9XG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICBjb2xvcjogIzk5OTtcbiAgfVxufVxuXG4vKiBBVURJTyAqL1xuXG4uYXVkaW9fbGlzdCAucmVsYXRlZCB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogIzk5OTtcbiAgc3Ryb25nIHtcbiAgICBjb2xvcjogIzc3NztcbiAgfVxufVxuXG4uYXVkaW9fcGxheWVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZzogNXB4O1xuICB3aWR0aDogNTgwcHg7XG4gIGhlaWdodDogMzVweDtcbiAgYmFja2dyb3VuZDogI2RkZDtcbn1cblxudWwucGxheWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDNweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTVweDtcbiAgbGkge1xuICAgIG1hcmdpbjogNXB4IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGEge1xuICAgICAgY29sb3I6ICM0ZTliZGE7XG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjMTI1YTk1O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogVklERU8gKi9cblxudmlkZW8ge1xuICBiYWNrZ3JvdW5kOiAjMTExO1xufVxuXG5ib2R5IHtcbiAgJi52aWRlb19kZXRhaWwgLnZpZGVvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG4gICYudmlkZW9fbGlzdCAjdmlkZW9fZGV0YWlscyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nOiAxMHB4IDVweCA1cHggNXB4O1xuICAgIHAge1xuICAgICAgJi5jYXB0aW9uIHtcbiAgICAgICAgbWFyZ2luOiA4cHggMDtcbiAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICB9XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuICAgIHVsLmJ5bGluZSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiA1cHggMCAwIDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICBjb2xvcjogIzY2NjtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBsaSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnVsLnZpZGVvX2xpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDI1cHggMCAwIDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGNvbG9yOiAjNjY2O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5oMyArIHVsLnZpZGVvX2xpc3Qge1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbnVsLnZpZGVvX2xpc3QgbGkge1xuICB3aWR0aDogMjA1cHg7XG4gIGhlaWdodDogMjUwcHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDAgMjFweCAwIDA7XG4gICYubGFzdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIGEge1xuICAgICYudGh1bWJuYWlsIHtcbiAgICAgIGltZyB7XG4gICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgICAgfVxuICAgICAgJjpob3ZlciBpbWcge1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogIzE4NjI5ZDtcbiAgICAgIH1cbiAgICB9XG4gICAgJi50aXRsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gIH1cbiAgc3Bhbi5kYXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbiAgLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5kaXYudmlkZW9fbGlzdCAuaXRlbSAudGh1bWJuYWlsIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMCAxMHB4IDAgMDtcbn1cblxuLm1vZHVsZV92aWRlbyB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzExMTtcbiAgaDIgYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTExO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzExMTtcbiAgICB9XG4gIH1cbiAgLmJvZHkge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcCB7XG4gICAgICBtYXJnaW46IDEwcHg7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAjNjhhMWM2O1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkBpbXBvcnQgXCJfbWl4aW5ncy5zY3NzXCI7XG5cbi5lbGxpbmd0b25fbWVudS5uby1ob3ZlcntcbiAgICB1bHtcbiAgICAgICAgbGk6aG92ZXJ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4uZWxsaW5ndG9uX21lbnUge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcl9saXN0X3N0eWxlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbWVudS1iYWNrZ3JvdW5kO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICRtZW51LWNvbG9yO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4gICAgICAgICAgICBmb250LXdlaWdodDo3MDA7XG4gICAgICAgICAgICBmb250LXNpemU6ICRtZW51LWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OjMycHg7XG4gICAgICAgICAgICBwYWRkaW5nOjAgMTVweDtcbiAgICAgICAgfVxuICAgICAgICBsaXtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtZW51LWJhY2tncm91bmQ7XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbGl7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMWVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsaTpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWVudS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbm9uLW1vYmlsZS10YWJsZXQpe1xuICAgICAgICAucHVsbC1yaWdodHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuICAgICAgICBoZWlnaHQ6IDJlbTtcbiAgICAgICAgdWwge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgICAgIC5jdXJyZW50LW1lbnUtaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtZW51LWJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOjEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6MDtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiRtZW51LWJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDoxMjAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzoxMHB4IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6bm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOjIwMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG1lbnUtYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6MTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxpOmhvdmVyID4gdWwge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5zb2NpYWwtbmV0d29ya3N7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBjb2xvcjogJG1lbnUtY29sb3I7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGF7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgaXtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRub24tbW9iaWxlLXRhYmxldCl7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi50b3AtbWVudS1iYWNrZ3JvdW5ke1xuICAgIC5lbGxpbmd0b25fbWVudV90b2dnbGV7XG4gICAgICAgIGJhY2tncm91bmQ6ICRtZW51LWJhY2tncm91bmQ7XG4gICAgfVxufVxuXG4ubWFpbi1tZW51LWJhY2tncm91bmR7XG4gICAgLmVsbGluZ3Rvbl9tZW51X3RvZ2dsZXtcbiAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1kaXZpZGVyLWJhY2tncm91bmQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cbn1cblxuLmVsbGluZ3Rvbl9tZW51X3RvZ2dsZXtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGNvbG9yOiAkbWVudS1jb2xvcjtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMC4yZW07XG4gICAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iaWxlLXNtYWxsKXtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0ErREFBOzs7R0FHRztBR0hIO2dDQUNnQztBbEVHaEMsT0FBTyxDQUFDLHFEQUFJO0FrRURaLFVBQVU7RUFDUixXQUFXLEVBQUUsYUFBYTtFQUMxQixHQUFHLEVBQUUsdUVBQWdFO0VBQ3JFLEdBQUcsRUFBRSw4RUFBdUUs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 */
