@charset "UTF-8";
/**
 * Variable file 
 * place global variables here:
 *
 * @package Chef Gutenberg Child Theme
 */
/**
 * Mixin file 
 * All our custom mixins
 *
 * @package Chef Gutenberg Child Theme
 * @since 2019
 */
/* Boxsizing shortcut: */
/* Transform shortcuts */
/* Styling placeholders: */
/* Retina images: */
/* "Hard" gradients: */
/* REM font sizes: */
/**
 * Puzzel link repeater block (homepage)
 *
 * Opbouw van een puzzelstuk:
 *   [ --k puzzel-zone ][ --p vaste padding ][ content ][ --p ][ --k ]
 *
 * Uitsnedes (notch) en uitsteeksels (tab) leven alléén in de --k zone,
 * dus de content staat in elk stuk op exact dezelfde afstand van de rand.
 *
 * Vorm:
 * - JS (puzzle-link-repeater-block.js) tekent per stuk een clip-path: path()
 *   met afgeronde hoeken (--radius), ook in de uitsparingen.
 * - Deze CSS-polygon is de fallback (editor / zonder JS): zelfde vorm, scherpe hoeken.
 *
 * Per stuk (nth-child) staan hieronder de eigen uitsparingen:
 *   --nx  positie van de notch onderaan (0–1 van de breedte), --nb 0px = geen notch
 *   --tx  positie van de tab bovenaan in de gestapelde weergave (= --nx van het stuk erboven)
 */
body:has(.hero.big-hero) .hero.big-hero {
  margin-bottom: 0; }

.main-content .section.puzzle_link_repeater_block:first-child {
  background: #fff;
  margin: 0; }
  .main-content .section.puzzle_link_repeater_block:first-child .container {
    position: relative;
    top: -80px;
    max-width: 1340px;
    background: #fff;
    border-radius: 8px;
    padding: 30px;
    margin-bottom: -80px; }
  .main-content .section.puzzle_link_repeater_block:first-child + .section.slider_block {
    background: #fff;
    padding-bottom: 0;
    position: relative; }
    .main-content .section.puzzle_link_repeater_block:first-child + .section.slider_block:after {
      content: "";
      height: 50px;
      width: 100%;
      display: block;
      position: absolute;
      bottom: -50px;
      left: 0;
      background: linear-gradient(to bottom, #fff 0%, transparent 100%); }

.section.puzzle_link_repeater_block {
  position: relative;
  z-index: 2; }
  .section.puzzle_link_repeater_block .container {
    overflow-x: clip; }
  .section.puzzle_link_repeater_block .puzzle-wrapper {
    --p: 30px;
    --k: 50px;
    --ty: 50px;
    --ty2: 250px;
    --th: 100px;
    --nw: 150px;
    --radius: 10px;
    --gap: 5px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row nowrap;
        flex-flow: row nowrap;
    -ms-flex-align: stretch;
        align-items: stretch;
    margin: 0;
    padding: 0;
    list-style: none; }
  .section.puzzle_link_repeater_block .puzzle-piece {
    --l: 0px;
    --r: 0px;
    --t: 0px;
    --nx: 0.5;
    --nb: var(--nw);
    --tx: 0.5;
    --jy: var(--ty);
    --jl: var(--ty);
    position: relative;
    -ms-flex: 1 1 0px;
        flex: 1 1 0;
    min-width: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: column nowrap;
        flex-flow: column nowrap;
    margin: 0;
    padding: calc(var(--p) + var(--k));
    padding-left: calc(var(--p) + var(--k) + var(--l));
    background-color: #005125;
    color: #fff;
    border-radius: var(--radius);
    clip-path: polygon(var(--l) 0, 100% 0, 100% calc(var(--jy) - var(--gap)), calc(100% - var(--r)) calc(var(--jy) - var(--gap)), calc(100% - var(--r)) calc(var(--jy) + var(--th) + var(--gap)), 100% calc(var(--jy) + var(--th) + var(--gap)), 100% 100%, calc(var(--l) + (100% - var(--l)) * var(--nx) + var(--nb) / 2) 100%, calc(var(--l) + (100% - var(--l)) * var(--nx) + var(--nb) / 2) calc(100% - var(--k)), calc(var(--l) + (100% - var(--l)) * var(--nx) - var(--nb) / 2) calc(100% - var(--k)), calc(var(--l) + (100% - var(--l)) * var(--nx) - var(--nb) / 2) 100%, var(--l) 100%, var(--l) calc(var(--jl) + var(--th)), 0 calc(var(--jl) + var(--th)), 0 var(--jl), var(--l) var(--jl)); }
    .section.puzzle_link_repeater_block .puzzle-piece:before {
      display: none; }
    .section.puzzle_link_repeater_block .puzzle-piece + .puzzle-piece {
      --l: var(--k);
      -ms-flex: 1 1 var(--k);
          flex: 1 1 var(--k);
      margin-left: calc(var(--gap) - var(--k)); }
    .section.puzzle_link_repeater_block .puzzle-piece:not(:last-child) {
      --r: var(--k); }
    .section.puzzle_link_repeater_block .puzzle-piece:nth-child(1) {
      --nx: 0.61; }
    .section.puzzle_link_repeater_block .puzzle-piece:nth-child(2) {
      --nx: 0.43;
      --tx: 0.61;
      --jy: var(--ty2); }
    .section.puzzle_link_repeater_block .puzzle-piece:nth-child(3) {
      --nx: 0.57;
      --tx: 0.43;
      --jl: var(--ty2); }
    .section.puzzle_link_repeater_block .puzzle-piece:nth-child(4) {
      --tx: 0.57; }
    .section.puzzle_link_repeater_block .puzzle-piece:last-child {
      --nb: 0px; }
    .section.puzzle_link_repeater_block .puzzle-piece:nth-child(2) {
      background-color: #BAD808; }
      .section.puzzle_link_repeater_block .puzzle-piece:nth-child(2) .block-title,
      .section.puzzle_link_repeater_block .puzzle-piece:nth-child(2) .item-desc,
      .section.puzzle_link_repeater_block .puzzle-piece:nth-child(2) .item-desc p,
      .section.puzzle_link_repeater_block .puzzle-piece:nth-child(2) .item-desc a,
      .section.puzzle_link_repeater_block .puzzle-piece:nth-child(2) .item-desc ul li {
        color: #144733; }
    .section.puzzle_link_repeater_block .puzzle-piece .piece-content {
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
      width: 100%; }
    .section.puzzle_link_repeater_block .puzzle-piece .block-title {
      font-size: 24px;
      font-size: 1.5rem;
      line-height: 1.3;
      color: #fff;
      font-weight: 600;
      margin: 0 0 30px 0; }
    .section.puzzle_link_repeater_block .puzzle-piece .item-desc {
      color: #fff;
      font-size: 15px;
      font-size: 0.9375rem;
      line-height: 1.45; }
      .section.puzzle_link_repeater_block .puzzle-piece .item-desc p {
        color: #fff; }
        .section.puzzle_link_repeater_block .puzzle-piece .item-desc p:last-child {
          margin-bottom: 0; }
      .section.puzzle_link_repeater_block .puzzle-piece .item-desc a {
        color: #fff; }
      .section.puzzle_link_repeater_block .puzzle-piece .item-desc ul {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap;
        gap: 14px;
        margin: 0;
        padding: 0;
        list-style: none; }
        .section.puzzle_link_repeater_block .puzzle-piece .item-desc ul li {
          position: relative;
          padding-left: 37px;
          margin: 0;
          color: #fff; }
          .section.puzzle_link_repeater_block .puzzle-piece .item-desc ul li:before {
            content: "";
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            width: 24px;
            height: 24px;
            border-radius: 8px;
            background-color: #009900;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5.2 4.3 8.5 11 1.5' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
            background-size: 11px auto;
            background-position: center;
            background-repeat: no-repeat; }
    .section.puzzle_link_repeater_block .puzzle-piece .button-wrapper {
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
      width: 100%;
      margin-top: 40px; }
      .section.puzzle_link_repeater_block .puzzle-piece .button-wrapper .button {
        display: block;
        width: 100%;
        padding: 12px 55px 12px 20px;
        background: #FFDC00;
        color: #000;
        font-weight: 500; }
        .section.puzzle_link_repeater_block .puzzle-piece .button-wrapper .button:before {
          background-image: url("../images/icons/link-icon-black.svg");
          right: 20px; }
        .section.puzzle_link_repeater_block .puzzle-piece .button-wrapper .button:after {
          background-image: url("../images/icons/link-icon-green.svg");
          right: 20px; }
        .section.puzzle_link_repeater_block .puzzle-piece .button-wrapper .button:hover, .section.puzzle_link_repeater_block .puzzle-piece .button-wrapper .button:focus {
          background: #fff;
          color: #144733; }
  .section.puzzle_link_repeater_block .puzzle-piece.is-shaped {
    border-radius: 0; }
  .section.puzzle_link_repeater_block.has-animation.puzzle-await .puzzle-piece:not(:first-child),
  .section.puzzle_link_repeater_block.has-animation.puzzle-await.anim-drop .puzzle-piece {
    opacity: 0;
    animation: puzzleAwaitFallback 0s linear 3s forwards; }
  .section.puzzle_link_repeater_block.has-animation.puzzle-await.anim-smooth .puzzle-piece {
    opacity: 1;
    animation: none; }

@keyframes puzzleAwaitFallback {
  to {
    opacity: 1; } }

@media (prefers-reduced-motion: reduce) {
  .section.puzzle_link_repeater_block.has-animation.puzzle-await .puzzle-piece {
    opacity: 1;
    animation: none; } }

@media only screen and (max-width: 1540px) {
  .main-content .section.puzzle_link_repeater_block:first-child .container {
    margin-left: 4%;
    margin-right: 4%;
    top: -40px;
    margin-bottom: -40px; } }

@media only screen and (max-width: 1280px) {
  .section.puzzle_link_repeater_block .puzzle-wrapper {
    --p: 24px;
    --k: 34px;
    --ty: 44px;
    --ty2: 200px;
    --th: 80px;
    --nw: 110px; } }

@media only screen and (max-width: 1024px) {
  .section.puzzle_link_repeater_block .puzzle-wrapper {
    --p: 26px;
    --k: 28px;
    --nw: 110px;
    -ms-flex-flow: column nowrap;
        flex-flow: column nowrap;
    max-width: 640px; }
  .section.puzzle_link_repeater_block .puzzle-piece {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    padding: calc(var(--p) + var(--k));
    padding-top: calc(var(--p) + var(--k) + var(--t));
    clip-path: polygon(0 var(--t), calc(100% * var(--tx) - var(--nw) / 2) var(--t), calc(100% * var(--tx) - var(--nw) / 2) 0, calc(100% * var(--tx) + var(--nw) / 2) 0, calc(100% * var(--tx) + var(--nw) / 2) var(--t), 100% var(--t), 100% 100%, calc(100% * var(--nx) + var(--nb) / 2 + var(--gap)) 100%, calc(100% * var(--nx) + var(--nb) / 2 + var(--gap)) calc(100% - var(--k)), calc(100% * var(--nx) - var(--nb) / 2 - var(--gap)) calc(100% - var(--k)), calc(100% * var(--nx) - var(--nb) / 2 - var(--gap)) 100%, 0 100%); }
    .section.puzzle_link_repeater_block .puzzle-piece + .puzzle-piece {
      --l: 0px;
      --t: var(--k);
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
      margin-left: 0;
      margin-top: calc(var(--gap) - var(--k)); }
    .section.puzzle_link_repeater_block .puzzle-piece .block-title {
      margin-bottom: 20px; }
    .section.puzzle_link_repeater_block .puzzle-piece .button-wrapper {
      margin-top: 30px; } }

@media only screen and (max-width: 600px) {
  .section.puzzle_link_repeater_block .puzzle-wrapper {
    --p: 20px;
    --k: 22px;
    --nw: 90px;
    --gap: 4px; }
  .section.puzzle_link_repeater_block .puzzle-piece .block-title {
    font-size: 20px;
    font-size: 1.25rem; } }

.main-content .section.puzzle_link_repeater_block:not(:first-child) {
  padding: 100px 0;
  margin-bottom: 0; }
  .main-content .section.puzzle_link_repeater_block:not(:first-child):after {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    right: 0;
    top: 50%;
    bottom: 0;
    background: #EEF5E9; }

@media only screen and (max-width: 1024px) {
  .main-content .section.puzzle_link_repeater_block:not(:first-child) {
    padding: 60px 0; }
    .main-content .section.puzzle_link_repeater_block:not(:first-child):after {
      top: 40%; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInB1enpsZS1saW5rLXJlcGVhdGVyLWJsb2NrLmNzcyIsImJhc2UvX3ZhcmlhYmxlcy5zY3NzIiwiYmFzZS9fbWl4aW5zLnNjc3MiLCJwdXp6bGUtbGluay1yZXBlYXRlci1ibG9jay5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0FqQjs7Ozs7R0FLRztBQ0xIOzs7Ozs7R0FNRztBQWdCSCx5QkFBeUI7QUFPekIseUJBQXlCO0FBK0J6QiwyQkFBMkI7QUFnQjNCLG9CQUFvQjtBQWFwQix1QkFBdUI7QUF1RXZCLHFCQUFxQjtBQzdKckI7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBY0g7RUFFRSxpQkFBZ0IsRUFDaEI7O0FBR0Y7RUFDQyxpQkZyQlc7RUVzQlgsVUFBUyxFQTJCVDtFQTdCRDtJQUlFLG1CQUFrQjtJQUNsQixXQUFVO0lBQ1Ysa0JBQTZDO0lBQzdDLGlCRjNCVTtJRTRCVixtQkZYZ0I7SUVZaEIsY0F4QmdCO0lBeUJoQixxQkFBb0IsRUFDcEI7RUFYRjtJQWNFLGlCRmxDVTtJRW1DVixrQkFBaUI7SUFDakIsbUJBQWtCLEVBWWxCO0lBNUJGO01BbUJHLFlBQVc7TUFDWCxhQUFZO01BQ1osWUFBVztNQUNYLGVBQWM7TUFDZCxtQkFBa0I7TUFDbEIsY0FBYTtNQUNiLFFBQU87TUFDUCxrRUFBbUUsRUFDbkU7O0FBSUg7RUFDQyxtQkFBa0I7RUFDbEIsV0FBVSxFQXdPVjtFQTFPRDtJQU1FLGlCQUFnQixFQUNoQjtFQVBGO0lBVUUsVUFBSTtJQUNKLFVBQUk7SUFDSixXQUFLO0lBQ0wsYUFBTTtJQUNOLFlBQUs7SUFDTCxZQUFLO0lBQ0wsZUFBUztJQUNULFdBQU07SUFFTixxQkFBYTtJQUFiLGNBQWE7SUFDYiwwQkFBcUI7UUFBckIsc0JBQXFCO0lBQ3JCLHdCQUFvQjtRQUFwQixxQkFBb0I7SUFDcEIsVUFBUztJQUNULFdBQVU7SUFDVixpQkFBZ0IsRUFDaEI7RUF6QkY7SUE0QkUsU0FBSTtJQUNKLFNBQUk7SUFDSixTQUFJO0lBQ0osVUFBSztJQUNMLGdCQUFLO0lBQ0wsVUFBSztJQUNMLGdCQUFLO0lBQ0wsZ0JBQUs7SUFFTCxtQkFBa0I7SUFDbEIsa0JBQVc7UUFBWCxZQUFXO0lBQ1gsYUFBWTtJQUNaLHFCQUFhO0lBQWIsY0FBYTtJQUNiLDZCQUF3QjtRQUF4Qix5QkFBd0I7SUFDeEIsVUFBUztJQUNULG1DQUFrQztJQUNsQyxtREFBa0Q7SUFDbEQsMEJGdkd1QjtJRXdHdkIsWUZqR1U7SUVrR1YsNkJBQTRCO0lBQzVCLG1xQkFpQkMsRUFxSkQ7SUF0TkY7TUFvRUcsY0FBYSxFQUNiO0lBckVIO01BMEVHLGNBQUk7TUFDSix1QkFBa0I7VUFBbEIsbUJBQWtCO01BQ2xCLHlDQUF3QyxFQUN4QztJQTdFSDtNQWdGRyxjQUFJLEVBQ0o7SUFqRkg7TUFxRkcsV0FBSyxFQUNMO0lBdEZIO01BeUZHLFdBQUs7TUFDTCxXQUFLO01BQ0wsaUJBQUssRUFDTDtJQTVGSDtNQStGRyxXQUFLO01BQ0wsV0FBSztNQUNMLGlCQUFLLEVBQ0w7SUFsR0g7TUFxR0csV0FBSyxFQUNMO0lBdEdIO01BMEdHLFVBQUssRUFDTDtJQTNHSDtNQStHRywwQkEzSnNCLEVBb0t0QjtNQXhISDs7Ozs7UUFzSEksZUFqS3lCLEVBa0t6QjtJQXZISjtNQTJIRyxtQkFBYztVQUFkLGVBQWM7TUFDZCxZQUFXLEVBQ1g7SUE3SEg7TURxR0MsZ0JDMkJ5QjtNRDFCekIsa0JBVnVCO01DcUNyQixpQkFBZ0I7TUFDaEIsWUZyTFM7TUVzTFQsaUJGeEppQjtNRXlKakIsbUJBQWtCLEVBQ2xCO0lBcklIO01Bd0lHLFlGM0xTO01Dd0pYLGdCQ29DeUI7TURuQ3pCLHFCQVZ1QjtNQzhDckIsa0JBQWlCLEVBNENqQjtNQXRMSDtRQTZJSSxZRmhNUSxFRW9NUjtRQWpKSjtVQStJSyxpQkFBZ0IsRUFDaEI7TUFoSkw7UUFvSkksWUZ2TVEsRUV3TVI7TUFySko7UUF3SkkscUJBQWE7UUFBYixjQUFhO1FBQ2IsNkJBQXdCO1lBQXhCLHlCQUF3QjtRQUN4QixVQUFTO1FBQ1QsVUFBUztRQUNULFdBQVU7UUFDVixpQkFBZ0IsRUF3QmhCO1FBckxKO1VBZ0tLLG1CQUFrQjtVQUNsQixtQkFBa0I7VUFDbEIsVUFBUztVQUNULFlGdE5PLEVFdU9QO1VBcExMO1lBc0tNLFlBQVc7WUFDWCxtQkFBa0I7WUFDbEIsUUFBTztZQUNQLFNBQVE7WUFDUiw0QkFBMkI7WUFDM0IsWUFBVztZQUNYLGFBQVk7WUFDWixtQkFBa0I7WUFDbEIsMEJBeE5pQjtZQXlOakIsMlBBQXVDO1lBQ3ZDLDJCQUEwQjtZQUMxQiw0QkFBMkI7WUFDM0IsNkJBQTRCLEVBQzVCO0lBbkxOO01BeUxHLG1CQUFjO1VBQWQsZUFBYztNQUNkLFlBQVc7TUFDWCxpQkFBZ0IsRUEwQmhCO01Bck5IO1FBOExJLGVBQWM7UUFDZCxZQUFXO1FBQ1gsNkJBQTRCO1FBQzVCLG9CRnJPWTtRRXNPWixZRnBQUTtRRXFQUixpQkZ6TmMsRUUwT2Q7UUFwTko7VUFzTUssNkRBQTREO1VBQzVELFlBQVcsRUFDWDtRQXhNTDtVQTJNSyw2REFBNEQ7VUFDNUQsWUFBVyxFQUNYO1FBN01MO1VBaU5LLGlCRnBRTztVRXFRUCxlRjdRb0IsRUU4UXBCO0VBbk5MO0lBME5FLGlCQUFnQixFQUNoQjtFQTNORjs7SUFpT0UsV0FBVTtJQUNWLHFEQUFvRCxFQUNwRDtFQW5PRjtJQXVPRSxXQUFVO0lBQ1YsZ0JBQWUsRUFDZjs7QUFHRjtFQUNDO0lBQ0MsV0FBVSxFQUFBLEVBQUE7O0FBSVo7RUFDQztJQUNDLFdBQVU7SUFDVixnQkFBZSxFQUNmLEVBQUE7O0FBR0Y7RUFDQztJQUNDLGdCQUFlO0lBQ2YsaUJBQWdCO0lBQ2hCLFdBQVU7SUFDVixxQkFBb0IsRUFDcEIsRUFBQTs7QUFHRjtFQUNDO0lBQ0MsVUFBSTtJQUNKLFVBQUk7SUFDSixXQUFLO0lBQ0wsYUFBTTtJQUNOLFdBQUs7SUFDTCxZQUFLLEVBQ0wsRUFBQTs7QUFJRjtFQUNDO0lBRUUsVUFBSTtJQUNKLFVBQUk7SUFDSixZQUFLO0lBQ0wsNkJBQXdCO1FBQXhCLHlCQUF3QjtJQUN4QixpQkFBZ0IsRUFDaEI7RUFQRjtJQVVFLG1CQUFjO1FBQWQsZUFBYztJQUNkLG1DQUFrQztJQUNsQyxrREFBaUQ7SUFDakQsaWdCQWFDLEVBaUJEO0lBM0NGO01BNkJHLFNBQUk7TUFDSixjQUFJO01BQ0osbUJBQWM7VUFBZCxlQUFjO01BQ2QsZUFBYztNQUNkLHdDQUF1QyxFQUN2QztJQWxDSDtNQXFDRyxvQkFBbUIsRUFDbkI7SUF0Q0g7TUF5Q0csaUJBQWdCLEVBQ2hCLEVBQUE7O0FBS0o7RUFDQztJQUVFLFVBQUk7SUFDSixVQUFJO0lBQ0osV0FBSztJQUNMLFdBQU0sRUFDTjtFQU5GO0lEMU5BLGdCQ21PeUI7SURsT3pCLG1CQVZ1QixFQzZPckIsRUFBQTs7QUFNSDtFQUNDLGlCQUFnQjtFQUNoQixpQkFBZ0IsRUFZaEI7RUFkRDtJQUtFLFlBQVc7SUFDWCxtQkFBa0I7SUFDbEIsWUFBVztJQUNYLFFBQU87SUFDUCxTQUFRO0lBQ1IsU0FBUTtJQUNSLFVBQVM7SUFDVCxvQkZsWjBCLEVFbVoxQjs7QUFHRjtFQUNDO0lBQ0MsZ0JBQWUsRUFLZjtJQU5EO01BSUUsU0FBUSxFQUNSLEVBQUEiLCJmaWxlIjoicHV6emxlLWxpbmstcmVwZWF0ZXItYmxvY2suY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXG4gKiBWYXJpYWJsZSBmaWxlIFxuICogcGxhY2UgZ2xvYmFsIHZhcmlhYmxlcyBoZXJlOlxuICpcbiAqIEBwYWNrYWdlIENoZWYgR3V0ZW5iZXJnIENoaWxkIFRoZW1lXG4gKi9cbi8qKlxuICogTWl4aW4gZmlsZSBcbiAqIEFsbCBvdXIgY3VzdG9tIG1peGluc1xuICpcbiAqIEBwYWNrYWdlIENoZWYgR3V0ZW5iZXJnIENoaWxkIFRoZW1lXG4gKiBAc2luY2UgMjAxOVxuICovXG4vKiBCb3hzaXppbmcgc2hvcnRjdXQ6ICovXG4vKiBUcmFuc2Zvcm0gc2hvcnRjdXRzICovXG4vKiBTdHlsaW5nIHBsYWNlaG9sZGVyczogKi9cbi8qIFJldGluYSBpbWFnZXM6ICovXG4vKiBcIkhhcmRcIiBncmFkaWVudHM6ICovXG4vKiBSRU0gZm9udCBzaXplczogKi9cbi8qKlxuICogUHV6emVsIGxpbmsgcmVwZWF0ZXIgYmxvY2sgKGhvbWVwYWdlKVxuICpcbiAqIE9wYm91dyB2YW4gZWVuIHB1enplbHN0dWs6XG4gKiAgIFsgLS1rIHB1enplbC16b25lIF1bIC0tcCB2YXN0ZSBwYWRkaW5nIF1bIGNvbnRlbnQgXVsgLS1wIF1bIC0tayBdXG4gKlxuICogVWl0c25lZGVzIChub3RjaCkgZW4gdWl0c3RlZWtzZWxzICh0YWIpIGxldmVuIGFsbMOpw6luIGluIGRlIC0tayB6b25lLFxuICogZHVzIGRlIGNvbnRlbnQgc3RhYXQgaW4gZWxrIHN0dWsgb3AgZXhhY3QgZGV6ZWxmZGUgYWZzdGFuZCB2YW4gZGUgcmFuZC5cbiAqXG4gKiBWb3JtOlxuICogLSBKUyAocHV6emxlLWxpbmstcmVwZWF0ZXItYmxvY2suanMpIHRla2VudCBwZXIgc3R1ayBlZW4gY2xpcC1wYXRoOiBwYXRoKClcbiAqICAgbWV0IGFmZ2Vyb25kZSBob2VrZW4gKC0tcmFkaXVzKSwgb29rIGluIGRlIHVpdHNwYXJpbmdlbi5cbiAqIC0gRGV6ZSBDU1MtcG9seWdvbiBpcyBkZSBmYWxsYmFjayAoZWRpdG9yIC8gem9uZGVyIEpTKTogemVsZmRlIHZvcm0sIHNjaGVycGUgaG9la2VuLlxuICpcbiAqIFBlciBzdHVrIChudGgtY2hpbGQpIHN0YWFuIGhpZXJvbmRlciBkZSBlaWdlbiB1aXRzcGFyaW5nZW46XG4gKiAgIC0tbnggIHBvc2l0aWUgdmFuIGRlIG5vdGNoIG9uZGVyYWFuICgw4oCTMSB2YW4gZGUgYnJlZWR0ZSksIC0tbmIgMHB4ID0gZ2VlbiBub3RjaFxuICogICAtLXR4ICBwb3NpdGllIHZhbiBkZSB0YWIgYm92ZW5hYW4gaW4gZGUgZ2VzdGFwZWxkZSB3ZWVyZ2F2ZSAoPSAtLW54IHZhbiBoZXQgc3R1ayBlcmJvdmVuKVxuICovXG5ib2R5OmhhcyguaGVyby5iaWctaGVybykgLmhlcm8uYmlnLWhlcm8ge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5tYWluLWNvbnRlbnQgLnNlY3Rpb24ucHV6emxlX2xpbmtfcmVwZWF0ZXJfYmxvY2s6Zmlyc3QtY2hpbGQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBtYXJnaW46IDA7IH1cbiAgLm1haW4tY29udGVudCAuc2VjdGlvbi5wdXp6bGVfbGlua19yZXBlYXRlcl9ibG9jazpmaXJzdC1jaGlsZCAuY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtODBweDtcbiAgICBtYXgtd2lkdGg6IDEzNDBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IC04MHB4OyB9XG4gIC5tYWluLWNvbnRlbnQgLnNlY3Rpb24ucHV6emxlX2xpbmtfcmVwZWF0ZXJfYmxvY2s6Zmlyc3QtY2hpbGQgKyAuc2VjdGlvbi5zbGlkZXJfYmxvY2sge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLm1haW4tY29udGVudCAuc2VjdGlvbi5wdXp6bGVfbGlua19yZXBlYXRlcl9ibG9jazpmaXJzdC1jaGlsZCArIC5zZWN0aW9uLnNsaWRlcl9ibG9jazphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTUwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZmZiAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7IH1cblxuLnNlY3Rpb24ucHV6emxlX2xpbmtfcmVwZWF0ZXJfYmxvY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7IH1cbiAgLnNlY3Rpb24ucHV6emxlX2xpbmtfcmVwZWF0ZXJfYmxvY2sgLmNvbnRhaW5lciB7XG4gICAgb3ZlcmZsb3cteDogY2xpcDsgfVxuICAuc2VjdGlvbi5wdXp6bGVfbGlua19yZXBlYXRlcl9ibG9jayAucHV6emxlLXdyYXBwZXIge1xuICAgIC0tcDogMzBweDtcbiAgICAtLWs6IDUwcHg7XG4gICAgLS10eTogNTBweDtcbiAgICAtLXR5MjogMjUwcHg7XG4gICAgLS10aDogMTAwcHg7XG4gICAgLS1udzogMTUwcHg7XG4gICAgLS1yYWRpdXM6IDEwcHg7XG4gICAgLS1nYXA6IDVweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5zZWN0aW9uLnB1enpsZV9saW5rX3JlcGVhdGVyX2Jsb2NrIC5wdXp6bGUtcGllY2Uge1xuICAgIC0tbDogMHB4O1xuICAgIC0tcjogMHB4O1xuICAgIC0tdDogMHB4O1xuICAgIC0tbng6IDAuNTtcbiAgICAtLW5iOiB2YXIoLS1udyk7XG4gICAgLS10eDogMC41O1xuICAgIC0tank6IHZhcigtLXR5KTtcbiAgICAtLWpsOiB2YXIoLS10eSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1wKSArIHZhcigtLWspKTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tcCkgKyB2YXIoLS1rKSArIHZhcigtLWwpKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1MTI1O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKHZhcigtLWwpIDAsIDEwMCUgMCwgMTAwJSBjYWxjKHZhcigtLWp5KSAtIHZhcigtLWdhcCkpLCBjYWxjKDEwMCUgLSB2YXIoLS1yKSkgY2FsYyh2YXIoLS1qeSkgLSB2YXIoLS1nYXApKSwgY2FsYygxMDAlIC0gdmFyKC0tcikpIGNhbGModmFyKC0tankpICsgdmFyKC0tdGgpICsgdmFyKC0tZ2FwKSksIDEwMCUgY2FsYyh2YXIoLS1qeSkgKyB2YXIoLS10aCkgKyB2YXIoLS1nYXApKSwgMTAwJSAxMDAlLCBjYWxjKHZhcigtLWwpICsgKDEwMCUgLSB2YXIoLS1sKSkgKiB2YXIoLS1ueCkgKyB2YXIoLS1uYikgLyAyKSAxMDAlLCBjYWxjKHZhcigtLWwpICsgKDEwMCUgLSB2YXIoLS1sKSkgKiB2YXIoLS1ueCkgKyB2YXIoLS1uYikgLyAyKSBjYWxjKDEwMCUgLSB2YXIoLS1rKSksIGNhbGModmFyKC0tbCkgKyAoMTAwJSAtIHZhcigtLWwpKSAqIHZhcigtLW54KSAtIHZhcigtLW5iKSAvIDIpIGNhbGMoMTAwJSAtIHZhcigtLWspKSwgY2FsYyh2YXIoLS1sKSArICgxMDAlIC0gdmFyKC0tbCkpICogdmFyKC0tbngpIC0gdmFyKC0tbmIpIC8gMikgMTAwJSwgdmFyKC0tbCkgMTAwJSwgdmFyKC0tbCkgY2FsYyh2YXIoLS1qbCkgKyB2YXIoLS10aCkpLCAwIGNhbGModmFyKC0tamwpICsgdmFyKC0tdGgpKSwgMCB2YXIoLS1qbCksIHZhcigtLWwpIHZhcigtLWpsKSk7IH1cbiAgICAuc2VjdGlvbi5wdXp6bGVfbGlua19yZXBlYXRlcl9ibG9jayAucHV6emxlLXBpZWNlOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnNlY3Rpb24ucHV6emxlX2xpbmtfcmVwZWF0ZXJfYmxvY2sgLnB1enpsZS1waWVjZSArIC5wdXp6bGUtcGllY2Uge1xuICAgICAgLS1sOiB2YXIoLS1rKTtcbiAgICAgIGZsZXg6IDEgMSB2YXIoLS1rKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWdhcCkgLSB2YXIoLS1rKSk7IH1cbiAgICAuc2VjdGlvbi5wdXp6bGVfbGlua19yZXBlYXRlcl9ibG9jayAucHV6emxlLXBpZWNlOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgLS1yOiB2YXIoLS1rKTsgfVxuICAgIC5zZWN0aW9uLnB1enpsZV9saW5rX3JlcGVhdGVyX2Jsb2NrIC5wdXp6bGUtcGllY2U6bnRoLWNoaWxkKDEpIHtcbiAgICAgIC0tbng6IDAuNjE7IH1cbiAgICAuc2VjdGlvbi5wdXp6bGVfbGlua19yZXBlYXRlcl9ibG9jayAucHV6emxlLXBpZWNlOm50aC1jaGlsZCgyKSB7XG4gICAgICAtLW54OiAwLjQzO1xuICAgICAgLS10eDogMC42MTtcbiAgICAgIC0tank6IHZhcigtLXR5Mik7IH1cbiAgICAuc2VjdGlvbi5wdXp6bGVfbGlua19yZXBlYXRlcl9ibG9jayAucHV6emxlLXBpZWNlOm50aC1jaGlsZCgzKSB7XG4gICAgICAtLW54OiAwLjU3O1xuICAgICAgLS10eDogMC40MztcbiAgICAgIC0tamw6IHZhcigtLXR5Mik7IH1cbiAgICAuc2VjdGlvbi5wdXp6bGVfbGlua19yZXBlYXRlcl9ibG9jayAucHV6emxlLXBpZWNlOm50aC1jaGlsZCg0KSB7XG4gICAgICAtLXR4OiAwLjU3OyB9XG4gICAgLnNlY3Rpb24ucHV6emxlX2xpbmtfcmVwZWF0ZXJfYmxvY2sgLnB1enpsZS1waWVjZTpsYXN0LWNoaWxkIHtcbiAgICAgIC0tbmI6IDBweDsgfVxuICAgIC5zZWN0aW9uLnB1enpsZV9saW5rX3JlcGVhdGVyX2Jsb2NrIC5wdXp6bGUtcGllY2U6bnRoLWNoaWxkKDIpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNCQUQ4MDg7IH1cbiAgICAgIC5zZWN0aW9uLnB1enpsZV9saW5rX3JlcGVhdGVyX2Jsb2NrIC5wdXp6bGUtcGllY2U6bnRoLWNoaWxkKDIpIC5ibG9jay10aXRsZSxcbiAgICAgIC5zZWN0aW9uLnB1enpsZV9saW5rX3JlcGVhdGVyX2Jsb2NrIC5wdXp6bGUtcGllY2U6bnRoLWNoaWxkKDIpIC5pdGVtLWRlc2MsXG4gICAgICAuc2VjdGlvbi5wdXp6bGVfbGlua19yZXBlYXRlcl9ibG9jayAucHV6emxlLXBpZWNlOm50aC1jaGlsZCgyKSAuaXRlbS1kZXNjIHAsXG4gICAgICAuc2VjdGlvbi5wdXp6bGVfbGlua19yZXBlYXRlcl9ibG9jayAucHV6emxlLXBpZWNlOm50aC1jaGlsZCgyKSAuaXRlbS1kZXNjIGEsXG4gICAgICAuc2VjdGlvbi5wdXp6bGVfbGlua19yZXBlYXRlcl9ibG9jayAucHV6emxlLXBpZWNlOm50aC1jaGlsZCgyKSAuaXRlbS1kZXNjIHVsIGxpIHtcbiAgICAgICAgY29sb3I6ICMxNDQ3MzM7IH1cbiAgICAuc2VjdGlvbi5wdXp6bGVfbGlua19yZXBlYXRlcl9ibG9jayAucHV6emxlLXBpZWNlIC5waWVjZS1jb250ZW50IHtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuc2VjdGlvbi5wdXp6bGVfbGlua19yZXBlYXRlcl9ibG9jayAucHV6emxlLXBpZWNlIC5ibG9jay10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW46IDAgMCAzMHB4IDA7IH1cbiAgICAuc2VjdGlvbi5wdXp6bGVfbGlua19yZXBlYXRlcl9ibG9jayAucHV6emxlLXBpZWNlIC5pdGVtLWRlc2Mge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1OyB9XG4gICAgICAuc2VjdGlvbi5wdXp6bGVfbGlua19yZXBlYXRlcl9ibG9jayAucHV6emxlLXBpZWNlIC5pdGVtLWRlc2MgcCB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgIC5zZWN0aW9uLnB1enpsZV9saW5rX3JlcGVhdGVyX2Jsb2NrIC5wdXp6bGUtcGllY2UgLml0ZW0tZGVzYyBwOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5zZWN0aW9uLnB1enpsZV9saW5rX3JlcGVhdGVyX2Jsb2NrIC5wdXp6bGUtcGllY2UgLml0ZW0tZGVzYyBhIHtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5zZWN0aW9uLnB1enpsZV9saW5rX3JlcGVhdGVyX2Jsb2NrIC5wdXp6bGUtcGllY2UgLml0ZW0tZGVzYyB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgZ2FwOiAxNHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAgICAgLnNlY3Rpb24ucHV6emxlX2xpbmtfcmVwZWF0ZXJfYmxvY2sgLnB1enpsZS1waWVjZSAuaXRlbS1kZXNjIHVsIGxpIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAzN3B4O1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAgIC5zZWN0aW9uLnB1enpsZV9saW5rX3JlcGVhdGVyX2Jsb2NrIC5wdXp6bGUtcGllY2UgLml0ZW0tZGVzYyB1bCBsaTpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTkwMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTAnJTNFJTNDcGF0aCBkPSdNMSA1LjIgNC4zIDguNSAxMSAxLjUnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzZmZmZmZmJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTFweCBhdXRvO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgIC5zZWN0aW9uLnB1enpsZV9saW5rX3JlcGVhdGVyX2Jsb2NrIC5wdXp6bGUtcGllY2UgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9XG4gICAgICAuc2VjdGlvbi5wdXp6bGVfbGlua19yZXBlYXRlcl9ibG9jayAucHV6emxlLXBpZWNlIC5idXR0b24td3JhcHBlciAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDU1cHggMTJweCAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZEQzAwO1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgICAgICAuc2VjdGlvbi5wdXp6bGVfbGlua19yZXBlYXRlcl9ibG9jayAucHV6emxlLXBpZWNlIC5idXR0b24td3JhcHBlciAuYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2xpbmstaWNvbi1ibGFjay5zdmdcIik7XG4gICAgICAgICAgcmlnaHQ6IDIwcHg7IH1cbiAgICAgICAgLnNlY3Rpb24ucHV6emxlX2xpbmtfcmVwZWF0ZXJfYmxvY2sgLnB1enpsZS1waWVjZSAuYnV0dG9uLXdyYXBwZXIgLmJ1dHRvbjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2xpbmstaWNvbi1ncmVlbi5zdmdcIik7XG4gICAgICAgICAgcmlnaHQ6IDIwcHg7IH1cbiAgICAgICAgLnNlY3Rpb24ucHV6emxlX2xpbmtfcmVwZWF0ZXJfYmxvY2sgLnB1enpsZS1waWVjZSAuYnV0dG9uLXdyYXBwZXIgLmJ1dHRvbjpob3ZlciwgLnNlY3Rpb24ucHV6emxlX2xpbmtfcmVwZWF0ZXJfYmxvY2sgLnB1enpsZS1waWVjZSAuYnV0dG9uLXdyYXBwZXIgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICBjb2xvcjogIzE0NDczMzsgfVxuICAuc2VjdGlvbi5wdXp6bGVfbGlua19yZXBlYXRlcl9ibG9jayAucHV6emxlLXBpZWNlLmlzLXNoYXBlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAuc2VjdGlvbi5wdXp6bGVfbGlua19yZXBlYXRlcl9ibG9jay5oYXMtYW5pbWF0aW9uLnB1enpsZS1hd2FpdCAucHV6emxlLXBpZWNlOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAuc2VjdGlvbi5wdXp6bGVfbGlua19yZXBlYXRlcl9ibG9jay5oYXMtYW5pbWF0aW9uLnB1enpsZS1hd2FpdC5hbmltLWRyb3AgLnB1enpsZS1waWVjZSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBhbmltYXRpb246IHB1enpsZUF3YWl0RmFsbGJhY2sgMHMgbGluZWFyIDNzIGZvcndhcmRzOyB9XG4gIC5zZWN0aW9uLnB1enpsZV9saW5rX3JlcGVhdGVyX2Jsb2NrLmhhcy1hbmltYXRpb24ucHV6emxlLWF3YWl0LmFuaW0tc21vb3RoIC5wdXp6bGUtcGllY2Uge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYW5pbWF0aW9uOiBub25lOyB9XG5cbkBrZXlmcmFtZXMgcHV6emxlQXdhaXRGYWxsYmFjayB7XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnNlY3Rpb24ucHV6emxlX2xpbmtfcmVwZWF0ZXJfYmxvY2suaGFzLWFuaW1hdGlvbi5wdXp6bGUtYXdhaXQgLnB1enpsZS1waWVjZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBhbmltYXRpb246IG5vbmU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE1NDBweCkge1xuICAubWFpbi1jb250ZW50IC5zZWN0aW9uLnB1enpsZV9saW5rX3JlcGVhdGVyX2Jsb2NrOmZpcnN0LWNoaWxkIC5jb250YWluZXIge1xuICAgIG1hcmdpbi1sZWZ0OiA0JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDQlO1xuICAgIHRvcDogLTQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogLTQwcHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyODBweCkge1xuICAuc2VjdGlvbi5wdXp6bGVfbGlua19yZXBlYXRlcl9ibG9jayAucHV6emxlLXdyYXBwZXIge1xuICAgIC0tcDogMjRweDtcbiAgICAtLWs6IDM0cHg7XG4gICAgLS10eTogNDRweDtcbiAgICAtLXR5MjogMjAwcHg7XG4gICAgLS10aDogODBweDtcbiAgICAtLW53OiAxMTBweDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5zZWN0aW9uLnB1enpsZV9saW5rX3JlcGVhdGVyX2Jsb2NrIC5wdXp6bGUtd3JhcHBlciB7XG4gICAgLS1wOiAyNnB4O1xuICAgIC0tazogMjhweDtcbiAgICAtLW53OiAxMTBweDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgbWF4LXdpZHRoOiA2NDBweDsgfVxuICAuc2VjdGlvbi5wdXp6bGVfbGlua19yZXBlYXRlcl9ibG9jayAucHV6emxlLXBpZWNlIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXApICsgdmFyKC0taykpO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLXApICsgdmFyKC0taykgKyB2YXIoLS10KSk7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgdmFyKC0tdCksIGNhbGMoMTAwJSAqIHZhcigtLXR4KSAtIHZhcigtLW53KSAvIDIpIHZhcigtLXQpLCBjYWxjKDEwMCUgKiB2YXIoLS10eCkgLSB2YXIoLS1udykgLyAyKSAwLCBjYWxjKDEwMCUgKiB2YXIoLS10eCkgKyB2YXIoLS1udykgLyAyKSAwLCBjYWxjKDEwMCUgKiB2YXIoLS10eCkgKyB2YXIoLS1udykgLyAyKSB2YXIoLS10KSwgMTAwJSB2YXIoLS10KSwgMTAwJSAxMDAlLCBjYWxjKDEwMCUgKiB2YXIoLS1ueCkgKyB2YXIoLS1uYikgLyAyICsgdmFyKC0tZ2FwKSkgMTAwJSwgY2FsYygxMDAlICogdmFyKC0tbngpICsgdmFyKC0tbmIpIC8gMiArIHZhcigtLWdhcCkpIGNhbGMoMTAwJSAtIHZhcigtLWspKSwgY2FsYygxMDAlICogdmFyKC0tbngpIC0gdmFyKC0tbmIpIC8gMiAtIHZhcigtLWdhcCkpIGNhbGMoMTAwJSAtIHZhcigtLWspKSwgY2FsYygxMDAlICogdmFyKC0tbngpIC0gdmFyKC0tbmIpIC8gMiAtIHZhcigtLWdhcCkpIDEwMCUsIDAgMTAwJSk7IH1cbiAgICAuc2VjdGlvbi5wdXp6bGVfbGlua19yZXBlYXRlcl9ibG9jayAucHV6emxlLXBpZWNlICsgLnB1enpsZS1waWVjZSB7XG4gICAgICAtLWw6IDBweDtcbiAgICAgIC0tdDogdmFyKC0tayk7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1nYXApIC0gdmFyKC0taykpOyB9XG4gICAgLnNlY3Rpb24ucHV6emxlX2xpbmtfcmVwZWF0ZXJfYmxvY2sgLnB1enpsZS1waWVjZSAuYmxvY2stdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIC5zZWN0aW9uLnB1enpsZV9saW5rX3JlcGVhdGVyX2Jsb2NrIC5wdXp6bGUtcGllY2UgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5zZWN0aW9uLnB1enpsZV9saW5rX3JlcGVhdGVyX2Jsb2NrIC5wdXp6bGUtd3JhcHBlciB7XG4gICAgLS1wOiAyMHB4O1xuICAgIC0tazogMjJweDtcbiAgICAtLW53OiA5MHB4O1xuICAgIC0tZ2FwOiA0cHg7IH1cbiAgLnNlY3Rpb24ucHV6emxlX2xpbmtfcmVwZWF0ZXJfYmxvY2sgLnB1enpsZS1waWVjZSAuYmxvY2stdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH0gfVxuXG4ubWFpbi1jb250ZW50IC5zZWN0aW9uLnB1enpsZV9saW5rX3JlcGVhdGVyX2Jsb2NrOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgcGFkZGluZzogMTAwcHggMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWFpbi1jb250ZW50IC5zZWN0aW9uLnB1enpsZV9saW5rX3JlcGVhdGVyX2Jsb2NrOm5vdCg6Zmlyc3QtY2hpbGQpOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiAjRUVGNUU5OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5tYWluLWNvbnRlbnQgLnNlY3Rpb24ucHV6emxlX2xpbmtfcmVwZWF0ZXJfYmxvY2s6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIHBhZGRpbmc6IDYwcHggMDsgfVxuICAgIC5tYWluLWNvbnRlbnQgLnNlY3Rpb24ucHV6emxlX2xpbmtfcmVwZWF0ZXJfYmxvY2s6bm90KDpmaXJzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgdG9wOiA0MCU7IH0gfVxuIiwiLyoqXG4gKiBWYXJpYWJsZSBmaWxlIFxuICogcGxhY2UgZ2xvYmFsIHZhcmlhYmxlcyBoZXJlOlxuICpcbiAqIEBwYWNrYWdlIENoZWYgR3V0ZW5iZXJnIENoaWxkIFRoZW1lXG4gKi9cblxuJGZvbnRTdGFjazogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4kaGVhZFN0YWNrOiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcblxuLy9FdXJvcGNhciBDb2xvcnNcbiRldXJvcGNhckdyZWVuMDE6ICMwMDk5MDA7XG4kZXVyb3BjYXJHcmVlbjAyOiAjMTQ0NzMzO1xuJGV1cm9wY2FyR3JlZW4wMzogIzAwNTEyNTtcbiRldXJvcGNhckdyZWVuMDQ6ICM3QUI4MDA7XG4kZXVyb3BjYXJHcmVlbjA1OiAjQkFEODBBO1xuJGV1cm9wY2FyQmFja2dyb3VuZDogI0VFRjVFOTsgLy8gd2FzICNGMkY2RjQgKG5pZXV3ZSBodWlzc3RpamwpXG4kZXVyb3BjYXJCbHVlOiAjM0E3RkMyO1xuXG5cbiR3aGl0ZTogI2ZmZjtcbiRibGFjazogIzAwMDtcblxuJGJsdWU6ICRldXJvcGNhckdyZWVuMDI7XG4kbGlnaHRCbHVlOiAkd2hpdGU7XG4kYmx1ZVRpbnQ6ICRldXJvcGNhckJhY2tncm91bmQ7XG5cbiRkYXJrQmx1ZTogJGV1cm9wY2FyR3JlZW4wMjtcblxuJHJlZDogJGV1cm9wY2FyR3JlZW4wMjtcbiRncmV5OiAjNGM1MzU2O1xuXG4kbGlnaHRHcmV5OiAjYThhZGIzO1xuJGdyZXlUaW50OiAkZXVyb3BjYXJCYWNrZ3JvdW5kO1xuXG4keWVsbG93OiAjRkZEQzAwO1xuXG4kYm9yZGVyUmFkaXVzOiA4cHg7XG5cbiRmb3JtSW5wdXRDb2xvcjogI2NlYzhiYjtcbiRmb3JtSW5wdXRDb2xvckhvdmVyOiAkYmxhY2s7XG5cbiRlcnJvckNvbG9yOiAjYWUyZDMwO1xuXG4kY29udGFpbmVyV2lkdGg6IDE0MjBweDtcbiRiaWdDb250YWluZXJXaWR0aDogMTUwMHB4O1xuXG4kbGlnaHRXZWlnaHQ6IDQwMDtcbiRyZWd1bGFyV2VpZ2h0OiA0MDA7XG4kbWVkaXVtV2VpZ2h0OiA1MDA7XG4kc2VtaUJvbGRXZWlnaHQ6IDYwMDtcbiRib2xkV2VpZ2h0OiA3MDA7XG4kZXh0cmFCb2xkV2VpZ2h0OiAkYm9sZFdlaWdodDtcbiRibGFja1dlaWdodDogJGJvbGRXZWlnaHQ7XG5cbi8vIFB1enplbC11aXRzbmVkZXMgKG5pZXV3ZSBodWlzc3Rpamwgb2t0IDIwMjYpOiB0YWJqZXMgZW4gdWl0c3BhcmluZ2VuIG9wIGJsb2trZW4sIGFmYmVlbGRpbmdlbiBlbiBmb290ZXJcbiRwdXp6bGVSYWRpdXM6IDEwcHg7XG4kcHV6emxlRGVwdGg6IDUwcHg7ICAgLy8gaG9lIHZlciBlZW4gdGFiL3VpdHNwYXJpbmcgaW4gZWVuIHZsYWsgdmFsdFxuJHB1enpsZUxlbmd0aDogMjAwcHg7IC8vIGJyZWVkdGUgdmFuIGVlbiB0YWIvdWl0c3BhcmluZyBsYW5ncyBkZSByYW5kXG4kbWFwQmFja2dyb3VuZDogI0U5RjBFODsgLy8gYWNodGVyZ3JvbmRrbGV1ciBrYWFydC1ibG9rIChnZW1ldGVuIHVpdCBkZSBrYWFydGFmYmVlbGRpbmcsIHZvb3IgZGUgZm9vdGVyLXVpdHNwYXJpbmcpXG4iLCIvKipcbiAqIE1peGluIGZpbGUgXG4gKiBBbGwgb3VyIGN1c3RvbSBtaXhpbnNcbiAqXG4gKiBAcGFja2FnZSBDaGVmIEd1dGVuYmVyZyBDaGlsZCBUaGVtZVxuICogQHNpbmNlIDIwMTlcbiAqL1xuXG4vL21ha2UgZmxleCByb3dzIGEgYml0IGVhc2llcjpcbkBtaXhpbiBmbGV4LXJvdygkZXF1YWxpemU6IHN0cmV0Y2gpIHtcblx0QGluY2x1ZGUgZGlzcGxheShmbGV4KTtcblx0QGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcblx0QGluY2x1ZGUgYWxpZ24taXRlbXMoJGVxdWFsaXplKTtcbn1cblxuLy9tYWtlIGZsZXggY29sdW1ucyBhIGJpdCBlYXNpZXI6XG5AbWl4aW4gZmxleC1jb2woJGVxdWFsaXplOiBzdHJldGNoKSB7XG5cdEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG5cdEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG5cdEBpbmNsdWRlIGFsaWduLWl0ZW1zKCRlcXVhbGl6ZSk7XG59XG5cbi8qIEJveHNpemluZyBzaG9ydGN1dDogKi9cbkBtaXhpbiBib3JkZXJib3goKSB7XG5cdC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0LXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKiBUcmFuc2Zvcm0gc2hvcnRjdXRzICovXG5cbi8vIHJvdGF0ZVxuQG1peGluIHJvdGF0ZSgkZGVnKSB7XG5cdEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoI3skZGVnfWRlZykpO1xufVxuXG4vLyBzY2FsZVxuQG1peGluIHNjYWxlKCRzY2FsZSkge1xuXHRAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoJHNjYWxlKSk7XG59XG5cbi8vIHRyYW5zbGF0ZVxuQG1peGluIHRyYW5zbGF0ZSgkeCwgJHkpIHtcblx0QGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgkeCwgJHkpKTtcbn1cblxuLy8gc2tld1xuQG1peGluIHNrZXcoJHgsICR5KSB7XG5cdEBpbmNsdWRlIHRyYW5zZm9ybShza2V3KCN7JHh9ZGVnLCAjeyR5fWRlZykpO1xufVxuXG4vL3RyYW5zZm9ybSBvcmlnaW5cbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4pIHtcblx0bW96LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG5cdC1vLXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG5cdC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuXHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG5cdHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG59XG5cbi8qIFN0eWxpbmcgcGxhY2Vob2xkZXJzOiAqL1xuQG1peGluIHBsYWNlaG9sZGVyIHtcblx0Ji5wbGFjZWhvbGRlciB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cblx0JjotbW96LXBsYWNlaG9sZGVyIHtcblx0XHRAY29udGVudDtcblx0fVxuXHQmOjotbW96LXBsYWNlaG9sZGVyIHtcblx0XHRAY29udGVudDtcblx0fVxuXHQmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG4vKiBSZXRpbmEgaW1hZ2VzOiAqL1xuQG1peGluIGltYWdlLTJ4KCRpbWFnZSwgJHdpZHRoLCAkaGVpZ2h0KSB7XG5cdEBtZWRpYSAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjMpLFxuXHRcdCgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLjYvMiksXG5cdFx0KC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS4zKSxcblx0XHQobWluLWRldmljZS1waXhlbC1yYXRpbzogMS4zKSxcblx0XHQobWluLXJlc29sdXRpb246IDEuM2RwcHgpIHtcblx0XHQvKiBvbiByZXRpbmEsIHVzZSBpbWFnZSB0aGF0J3Mgc2NhbGVkIGJ5IDIgKi9cblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltYWdlKTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aCAkaGVpZ2h0O1xuXHR9XG59XG5cbi8qIFwiSGFyZFwiIGdyYWRpZW50czogKi9cbkBtaXhpbiBncmFkaWVudC1oYXJkKCRzdGFydCwgJGVuZDogI2ZmZiwgJGRpcmVjdGlvbjogXCJob3Jpem9udGFsXCIpIHtcblx0QGlmICRkaXJlY3Rpb24gPT0gXCJob3Jpem9udGFsXCIge1xuXHRcdEBpbmNsdWRlIGdyYWRpZW50LWhhcmQtaG9yaXpvbnRhbCgkc3RhcnQsICRlbmQpO1xuXHR9IEBlbHNlIHtcblx0XHRAaW5jbHVkZSBncmFkaWVudC1oYXJkLXZlcnRpY2FsKCRzdGFydCwgJGVuZCk7XG5cdH1cbn1cblxuQG1peGluIGdyYWRpZW50LWhhcmQtaG9yaXpvbnRhbCgkZnJvbSwgJHRvKSB7XG5cdGJhY2tncm91bmQ6ICR0bztcblx0YmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChcblx0XHRsaW5lYXIsXG5cdFx0bGVmdCB0b3AsXG5cdFx0cmlnaHQgdG9wLFxuXHRcdGNvbG9yLXN0b3AoMCUsICRmcm9tKSxcblx0XHRjb2xvci1zdG9wKDUwJSwgJGZyb20pLFxuXHRcdGNvbG9yLXN0b3AoNTAlLCAkdG8pLFxuXHRcdGNvbG9yLXN0b3AoMTAwJSwgJHRvKVxuXHQpO1xuXHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChcblx0XHRsZWZ0LFxuXHRcdCRmcm9tIDAlLFxuXHRcdCRmcm9tIDUwJSxcblx0XHQkdG8gNTAlLFxuXHRcdCR0byAxMDAlXG5cdCk7XG5cdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KFxuXHRcdGxlZnQsXG5cdFx0JGZyb20gMCUsXG5cdFx0JGZyb20gNTAlLFxuXHRcdCR0byA1MCUsXG5cdFx0JHRvIDEwMCVcblx0KTtcblx0YmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkZnJvbSAwJSwgJGZyb20gNTAlLCAkdG8gNTAlLCAkdG8gMTAwJSk7XG5cdGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkZnJvbSAwJSwgJGZyb20gNTAlLCAkdG8gNTAlLCAkdG8gMTAwJSk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJGZyb20gMCUsICRmcm9tIDUwJSwgJHRvIDUwJSwgJHRvIDEwMCUpO1xuXHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nJGZyb20nLCBlbmRDb2xvcnN0cj0nJHRvJyxHcmFkaWVudFR5cGU9MSApO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtaGFyZC12ZXJ0aWNhbCgkZnJvbSwgJHRvKSB7XG5cdGJhY2tncm91bmQ6ICR0bztcblx0YmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChcblx0XHRsaW5lYXIsXG5cdFx0dG9wIHRvcCxcblx0XHRyaWdodCB0b3AsXG5cdFx0Y29sb3Itc3RvcCgwJSwgJGZyb20pLFxuXHRcdGNvbG9yLXN0b3AoNTAlLCAkZnJvbSksXG5cdFx0Y29sb3Itc3RvcCg1MCUsICR0byksXG5cdFx0Y29sb3Itc3RvcCgxMDAlLCAkdG8pXG5cdCk7XG5cdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KFxuXHRcdHRvcCxcblx0XHQkZnJvbSAwJSxcblx0XHQkZnJvbSA1MCUsXG5cdFx0JHRvIDUwJSxcblx0XHQkdG8gMTAwJVxuXHQpO1xuXHRiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICRmcm9tIDAlLCAkZnJvbSA1MCUsICR0byA1MCUsICR0byAxMDAlKTtcblx0YmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICRmcm9tIDAlLCAkZnJvbSA1MCUsICR0byA1MCUsICR0byAxMDAlKTtcblx0YmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgJGZyb20gMCUsICRmcm9tIDUwJSwgJHRvIDUwJSwgJHRvIDEwMCUpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0dG8gYm90dG9tLFxuXHRcdCRmcm9tIDAlLFxuXHRcdCRmcm9tIDUwJSxcblx0XHQkdG8gNTAlLFxuXHRcdCR0byAxMDAlXG5cdCk7XG5cdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPSckZnJvbScsIGVuZENvbG9yc3RyPSckdG8nLEdyYWRpZW50VHlwZT0xICk7XG59XG5cbi8qIFJFTSBmb250IHNpemVzOiAqL1xuQGZ1bmN0aW9uIGNhbGN1bGF0ZVJlbSgkc2l6ZSkge1xuXHQkcmVtU2l6ZTogJHNpemUgLyAxNnB4O1xuXHRAcmV0dXJuICRyZW1TaXplICogMXJlbTtcbn1cblxuQG1peGluIGJyZWFrLWNvbnRhaW5lcigpIHtcblx0bWFyZ2luLWxlZnQ6IGNhbGMoLTUwdncgKyA1MCUpO1xuXHRtYXJnaW4tcmlnaHQ6IGNhbGMoLTUwdncgKyA1MCUpO1xufVxuXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XG5cdGZvbnQtc2l6ZTogJHNpemU7XG5cdGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcbn1cblxuLy8gTmlldXdlIGh1aXNzdGlqbCAob2t0IDIwMjYpOiBsaW1lIGtub3AgbWV0IGRvbmtlcmdyb2VuZSB0ZWtzdC9waWpsXG5AbWl4aW4gYnV0dG9uKCkge1xuXHRiYWNrZ3JvdW5kOiAkZXVyb3BjYXJHcmVlbjA1O1xuXHRwYWRkaW5nOiAxNXB4IDY1cHggMTVweCAzMHB4O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXM7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dHJhbnNpdGlvbjogMC4zcztcblx0Y29sb3I6ICRibGFjaztcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRAaW5jbHVkZSBmb250LXNpemUoMTVweCk7XG5cdGZvbnQtd2VpZ2h0OiAkc2VtaUJvbGRXZWlnaHQ7XG5cdGNvbG9yOiAkZXVyb3BjYXJHcmVlbjAyO1xuXHRmb250LWZhbWlseTogJGhlYWRTdGFjaztcblx0JjpiZWZvcmUsXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0d2lkdGg6IDE3cHg7XG5cdFx0aGVpZ2h0OiAxN3B4O1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHRyYW5zaXRpb246IDAuM3M7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiA1MCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgwKTtcblx0XHRyaWdodDogMzBweDtcblx0XHR0cmFuc2l0aW9uOiAwLjNzO1xuXHR9XG5cblx0JjpiZWZvcmUge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9saW5rLWljb24tZGFya2dyZWVuLnN2Z1wiKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cblx0JjphZnRlciB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2xpbmstaWNvbi13aGl0ZS5zdmdcIik7XG5cdFx0Ly90cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcblx0fVxuXG5cdCYudHJhbnNwYXJlbnQtYnV0dG9uIHtcblx0XHRAaW5jbHVkZSB0cmFuc3BhcmVudC1idXR0b24oKTtcblx0fVxuXG5cdCYuYWx0IHtcblx0XHRAaW5jbHVkZSBhbHQtYnV0dG9uKCk7XG5cdH1cblxuXHQmLnJlYWRtb3JlIHtcblx0XHRAaW5jbHVkZSByZWFkbW9yZS1idXR0b24oKTtcblx0fVxuXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQ6ICRldXJvcGNhckdyZWVuMDM7IC8vIGRvbmtlcmdyb2VuICgjMDA1MTI1KSwgbmlldCBoZXQgYmlqbmEtendhcnRlICRibHVlXG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdH1cblx0XHQmOmFmdGVyIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiB0cmFuc3BhcmVudC1idXR0b24oKSB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogI2ZmZjtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRib3JkZXItcmFkaXVzOiAwO1xuXHQmOmJlZm9yZSxcblx0JjphZnRlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0Ym9yZGVyLWNvbG9yOiAjZmZmO1xuXHR9XG59XG5cbkBtaXhpbiBhbHQtYnV0dG9uKCkge1xuXHRiYWNrZ3JvdW5kOiByZ2JhKCRibHVlLCAwLjA3KTtcblx0Jjpob3Zlcixcblx0Jjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZDogJGJsdWU7XG5cdH1cbn1cblxuQG1peGluIHJlYWRtb3JlLWJ1dHRvbigpIHtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0cGFkZGluZzogMCAwIDAgMDtcblx0Ym9yZGVyLXJhZGl1czogMDtcblx0cGFkZGluZy1yaWdodDogMjBweDtcblx0Y29sb3I6ICRldXJvcGNhckdyZWVuMDU7XG5cdCY6YmVmb3JlLFxuXHQmOmFmdGVyIHtcblx0XHRyaWdodDogMDtcblx0XHR3aWR0aDogMTJweDtcblx0XHRoZWlnaHQ6IDEycHg7XG5cdH1cblxuXHQmOmJlZm9yZSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2xpbmstaWNvbi1saW1lLnN2Z1wiKTtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9saW5rLWljb24tbGltZS5zdmdcIik7XG5cdH1cblxuXHQmOmhvdmVyLFxuXHQmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdGNvbG9yOiAkZXVyb3BjYXJHcmVlbjA1O1xuXHR9XG59XG5cbkBtaXhpbiBidXR0b24tYXMtbGluaygpIHtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0cGFkZGluZzogMCAwIDAgMDtcblx0Ym9yZGVyLXJhZGl1czogMDtcblx0cGFkZGluZy1yaWdodDogMjBweDtcblx0Y29sb3I6ICRibHVlO1xuXHQmOmJlZm9yZSxcblx0JjphZnRlciB7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0d2lkdGg6IDEycHg7XG5cdFx0aGVpZ2h0OiAxMnB4O1xuXHR9XG5cblx0JjpiZWZvcmUge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9saW5rLWljb24tYmxhY2suc3ZnXCIpO1xuXHR9XG5cblx0JjphZnRlciB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2xpbmstaWNvbi1ncmVlbi5zdmdcIik7XG5cdH1cblxuXHQmOmhvdmVyLFxuXHQmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdGNvbG9yOiAkcmVkO1xuXHR9XG59XG5cbkBtaXhpbiByZW1vdmUtZWxlbWVudCgpIHtcblx0Y2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuXHRwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcblx0aGVpZ2h0OiAxcHg7XG5cdHdpZHRoOiAxcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vRmxleCBzb2x1dGlvblxuQG1peGluIGJsb2NrLXNpemUoJHNpemUsICRpdGVtSW5Sb3csICRnYXApIHtcblx0ZmxleDogMCAxIGNhbGMtd2hpdGVzcGFjZSgkc2l6ZSwgJGl0ZW1JblJvdywgJGdhcCk7XG59XG5cbkBmdW5jdGlvbiBjYWxjLXdoaXRlc3BhY2UoJGJhc2UsICRpdGVtSW5Sb3csICRnYXApIHtcblx0QHJldHVybiBjYWxjKCN7JGJhc2V9IC0gKCgjeyRpdGVtSW5Sb3d9IC0gMSkgKiAjeyRnYXB9IC8gI3skaXRlbUluUm93fSkpO1xufVxuXG4vL1JldHVyblxuQGZ1bmN0aW9uIHJldHVybi1ibG9jay1zaXplKCRzaXplLCAkaXRlbUluUm93LCAkZ2FwKSB7XG5cdEByZXR1cm4gY2FsYy13aGl0ZXNwYWNlKCRzaXplLCAkaXRlbUluUm93LCAkZ2FwKTtcbn1cblxuLy9Db250YWluZXIgd2hpdGVzcGFjZVxuQGZ1bmN0aW9uIGNhbGMtY29udGFpbmVyLXdoaXRlc3BhY2UoJGNvbnRhaW5lcikge1xuXHRAcmV0dXJuIGNhbGMoKCgxMDB2dyAtICN7JGNvbnRhaW5lcn0gLSB2YXIoLS1zY3JvbGxiYXItd2lkdGgsIDE3cHgpKSAvIDIpKTtcbn1cblxuLy8gU2Nyb2xsYmFyIHdpZHRoIGRldGVjdGlvbiAoYWRkIHRoaXMpXG5AbWl4aW4gaW5pdC1zY3JvbGxiYXItd2lkdGgoKSB7XG5cdDpyb290IHtcblx0XHQtLXNjcm9sbGJhci13aWR0aDogMTdweDsgLy8gRGVmYXVsdCBmYWxsYmFja1xuXHR9XG5cblx0QGF0LXJvb3Qge1xuXHRcdGJvZHk6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0d2lkdGg6IDEwMHZ3O1xuXHRcdFx0aGVpZ2h0OiAwO1xuXHRcdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHRvcDogLTEwMHB4O1xuXHRcdH1cblxuXHRcdGJvZHk6OmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMDtcblx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR0b3A6IC0xMDBweDtcblx0XHR9XG5cblx0XHRAc3VwcG9ydHMgKGRpc3BsYXk6IGJsb2NrKSB7XG5cdFx0XHQ6cm9vdCB7XG5cdFx0XHRcdC0tc2Nyb2xsYmFyLXdpZHRoOiBjYWxjKDEwMHZ3IC0gMTAwJSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIFB1enplbC10YWIgb2YgLXVpdHNwYXJpbmcgYWxzIHBzZXVkby1lbGVtZW50LiBQb3NpdGllICh0b3AvbGVmdC8uLi4pIGVuIG1hYXQgemV0IGplIHplbGYuXG4vLyBFZW4gdWl0c3BhcmluZyBpcyBlZW4gdmxhayBpbiBkZSBrbGV1ciB2YW4gZGUgYWNodGVyZ3JvbmQgZXJvbWhlZW47IGVlbiB0YWIgaW4gZGUga2xldXIgdmFuIGhldCBibG9rIHplbGYuXG5AbWl4aW4gcHV6emxlLXBpZWNlKCRjb2xvcikge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJhY2tncm91bmQ6ICRjb2xvcjtcblx0Ym9yZGVyLXJhZGl1czogJHB1enpsZVJhZGl1cztcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUHV6emVsLSdidW1wJyBtZXQgQUxMRSByb25kaW5nZW46IGRlIGFmZ2Vyb25kZSBob2VrZW4gdmFuIGRlIHRhYi91aXRzcGFyaW5nIHplbGZcbi8vIMOpbiBkZSBhZnJvbmRpbmcgdmFuIGhldCB2bGFrIHdhYXIgaGlqIGluIG92ZXJnYWF0IChiaWogZGUgb3BlbmluZykuXG4vL1xuLy8gJGRpciA9IHJpY2h0aW5nIHdhYXJpbiBkZSB2b3JtIHVpdHN0ZWVrdCwgZ2V6aWVuIHZhbmFmIGRlIG9wZW5pbmc6XG4vLyAgIHVwICAgIOKGkiBvcGVuaW5nIG9uZGVyYWFuLCBzdGVla3Qgb21ob29nICAgICAoYmlqdi4gdGFiIGJvdmVub3AsIHVpdHNwYXJpbmcgdmFuYWYgb25kZXJrYW50KVxuLy8gICBkb3duICDihpIgb3BlbmluZyBib3ZlbmFhbiwgc3RlZWt0IG9tbGFhZ1xuLy8gICByaWdodCDihpIgb3BlbmluZyBsaW5rcywgc3RlZWt0IG5hYXIgcmVjaHRzXG4vLyAgIGxlZnQgIOKGkiBvcGVuaW5nIHJlY2h0cywgc3RlZWt0IG5hYXIgbGlua3Ncbi8vXG4vLyBIZXQgZWxlbWVudCBpcyAkbGVuZ3RoICsgMiDDlyAkciBsYW5nIGxhbmdzIGRlIHJhbmQgKGRlIHJvbmRpbmdlbiBiaWogZGUgb3BlbmluZ1xuLy8gdmFsbGVuIGJ1aXRlbiBkZSB0YWIpLCBkdXMgc2NodWlmIGhldCAkciBvcCB0Lm8udi4gZGUgZ2V3ZW5zdGUgcG9zaXRpZS5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGZ1bmN0aW9uIHB1enpsZS1idW1wLXN2ZygkY29sb3IsICRkaXIsICRsZW5ndGgsICRkZXB0aCwgJHIpIHtcblx0JEw6IHN0cmlwLXVuaXQoJGxlbmd0aCk7XG5cdCREOiBzdHJpcC11bml0KCRkZXB0aCk7XG5cdCRSOiBzdHJpcC11bml0KCRyKTtcblx0JFc6ICRMICsgMiAqICRSO1xuXHQkYzogc3RyLXNsaWNlKGllLWhleC1zdHIoJGNvbG9yKSwgNCk7XG5cblx0Ly8gcHVudGVuIGluICh1IGxhbmdzIGRlIHJhbmQsIHYgdmFuYWYgZGUgb3BlbmluZylcblx0JHB0czogKFxuXHRcdCgwLCAwKSwgKCRSLCAkUiksICgkUiwgJEQgLSAkUiksICgyICogJFIsICREKSxcblx0XHQoJFcgLSAyICogJFIsICREKSwgKCRXIC0gJFIsICREIC0gJFIpLCAoJFcgLSAkUiwgJFIpLCAoJFcsIDApXG5cdCk7XG5cdC8vIHN3ZWVwLWZsYWdzIHZhbiBkZSA0IGJvZ2VuIHZvb3IgJ3VwJzsgZ2VzcGllZ2VsZGUgcmljaHRpbmdlbiBkcmFhaWVuIHplIG9tXG5cdCRzOiAoMCwgMSwgMSwgMCk7XG5cdEBpZiAkZGlyID09IGRvd24gb3IgJGRpciA9PSBsZWZ0IHtcblx0XHQkczogKDEsIDAsIDAsIDEpO1xuXHR9XG5cblx0JG1hcHBlZDogKCk7XG5cdEBlYWNoICRwIGluICRwdHMge1xuXHRcdCR1OiBudGgoJHAsIDEpO1xuXHRcdCR2OiBudGgoJHAsIDIpO1xuXHRcdEBpZiAkZGlyID09IHVwIHtcblx0XHRcdCRtYXBwZWQ6IGFwcGVuZCgkbWFwcGVkLCAoJHUsICREIC0gJHYpLCBjb21tYSk7XG5cdFx0fSBAZWxzZSBpZiAkZGlyID09IGRvd24ge1xuXHRcdFx0JG1hcHBlZDogYXBwZW5kKCRtYXBwZWQsICgkdSwgJHYpLCBjb21tYSk7XG5cdFx0fSBAZWxzZSBpZiAkZGlyID09IHJpZ2h0IHtcblx0XHRcdCRtYXBwZWQ6IGFwcGVuZCgkbWFwcGVkLCAoJHYsICR1KSwgY29tbWEpO1xuXHRcdH0gQGVsc2Uge1xuXHRcdFx0JG1hcHBlZDogYXBwZW5kKCRtYXBwZWQsICgkRCAtICR2LCAkdSksIGNvbW1hKTtcblx0XHR9XG5cdH1cblxuXHQkdzogJFc7XG5cdCRoOiAkRDtcblx0QGlmICRkaXIgPT0gcmlnaHQgb3IgJGRpciA9PSBsZWZ0IHtcblx0XHQkdzogJEQ7XG5cdFx0JGg6ICRXO1xuXHR9XG5cblx0JGFyYzogXCJBXCIgKyAkUiArIFwiIFwiICsgJFIgKyBcIiAwIDAgXCI7XG5cdCRkOiBcIk1cIiArIHB1enpsZS1wdCgkbWFwcGVkLCAxKVxuXHRcdCsgJGFyYyArIG50aCgkcywgMSkgKyBcIiBcIiArIHB1enpsZS1wdCgkbWFwcGVkLCAyKVxuXHRcdCsgXCJMXCIgKyBwdXp6bGUtcHQoJG1hcHBlZCwgMylcblx0XHQrICRhcmMgKyBudGgoJHMsIDIpICsgXCIgXCIgKyBwdXp6bGUtcHQoJG1hcHBlZCwgNClcblx0XHQrIFwiTFwiICsgcHV6emxlLXB0KCRtYXBwZWQsIDUpXG5cdFx0KyAkYXJjICsgbnRoKCRzLCAzKSArIFwiIFwiICsgcHV6emxlLXB0KCRtYXBwZWQsIDYpXG5cdFx0KyBcIkxcIiArIHB1enpsZS1wdCgkbWFwcGVkLCA3KVxuXHRcdCsgJGFyYyArIG50aCgkcywgNCkgKyBcIiBcIiArIHB1enpsZS1wdCgkbWFwcGVkLCA4KSArIFwiWlwiO1xuXG5cdEByZXR1cm4gdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAjeyR3fSAjeyRofScgcHJlc2VydmVBc3BlY3RSYXRpbz0nbm9uZSclM0UlM0NwYXRoIGQ9JyN7JGR9JyBmaWxsPSclMjMjeyRjfScvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cblxuQGZ1bmN0aW9uIHB1enpsZS1wdCgkbWFwcGVkLCAkaSkge1xuXHRAcmV0dXJuIG50aChudGgoJG1hcHBlZCwgJGkpLCAxKSArIFwiIFwiICsgbnRoKG50aCgkbWFwcGVkLCAkaSksIDIpO1xufVxuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbikge1xuXHRAaWYgdHlwZS1vZigkbikgPT0gbnVtYmVyIGFuZCBub3QgdW5pdGxlc3MoJG4pIHtcblx0XHRAcmV0dXJuICRuIC8gKCRuICogMCArIDEpO1xuXHR9XG5cdEByZXR1cm4gJG47XG59XG5cbi8vIEdlYnJ1aWs6ICY6YWZ0ZXIgeyBAaW5jbHVkZSBwdXp6bGUtYnVtcCgkd2hpdGUsIHVwKTsgYm90dG9tOiAwOyBsZWZ0OiAxMDBweDsgfVxuQG1peGluIHB1enpsZS1idW1wKCRjb2xvciwgJGRpciwgJGxlbmd0aDogJHB1enpsZUxlbmd0aCwgJGRlcHRoOiAkcHV6emxlRGVwdGgsICRyOiAkcHV6emxlUmFkaXVzKSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdGJhY2tncm91bmQ6IHB1enpsZS1idW1wLXN2ZygkY29sb3IsICRkaXIsICRsZW5ndGgsICRkZXB0aCwgJHIpIG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG5cdEBpZiAkZGlyID09IHJpZ2h0IG9yICRkaXIgPT0gbGVmdCB7XG5cdFx0d2lkdGg6ICRkZXB0aDtcblx0XHRoZWlnaHQ6ICRsZW5ndGggKyAyICogJHI7XG5cdH0gQGVsc2Uge1xuXHRcdHdpZHRoOiAkbGVuZ3RoICsgMiAqICRyO1xuXHRcdGhlaWdodDogJGRlcHRoO1xuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUHV6emVsLXVpdHNwYXJpbmcgaW4gZWVuIEhPRUsgKGJpanYuIGxpbmtzYm92ZW4gaW4gZWVuIGFmYmVlbGRpbmcpLCBtZXQgYWxsZSByb25kaW5nZW46XG4vLyBkZSBiaW5uZW5ob2VrIHZhbiBkZSB1aXRzcGFyaW5nIMOpbiBkZSB0d2VlIGhvZWtlbiB3YWFyIGhldCB2bGFrIHdlZXIgYmVnaW50LlxuLy8gR2V0ZWtlbmQgdm9vciBsaW5rc2JvdmVuOyB2b29yIGFuZGVyZSBob2VrZW4gc3BpZWdlbHQgZGUgbWl4aW4gbWV0IHRyYW5zZm9ybS5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGZ1bmN0aW9uIHB1enpsZS1jb3JuZXItc3ZnKCRjb2xvciwgJGxlbmd0aCwgJGRlcHRoLCAkcikge1xuXHQkTDogc3RyaXAtdW5pdCgkbGVuZ3RoKTtcblx0JEQ6IHN0cmlwLXVuaXQoJGRlcHRoKTtcblx0JFI6IHN0cmlwLXVuaXQoJHIpO1xuXHQkYzogc3RyLXNsaWNlKGllLWhleC1zdHIoJGNvbG9yKSwgNCk7XG5cdCRkOiBcIk0wIDBIXCIgKyAoJEwgKyAkUilcblx0XHQrIFwiQVwiICsgJFIgKyBcIiBcIiArICRSICsgXCIgMCAwIDAgXCIgKyAkTCArIFwiIFwiICsgJFJcblx0XHQrIFwiVlwiICsgKCREIC0gJFIpXG5cdFx0KyBcIkFcIiArICRSICsgXCIgXCIgKyAkUiArIFwiIDAgMCAxIFwiICsgKCRMIC0gJFIpICsgXCIgXCIgKyAkRFxuXHRcdCsgXCJIXCIgKyAkUlxuXHRcdCsgXCJBXCIgKyAkUiArIFwiIFwiICsgJFIgKyBcIiAwIDAgMCAwIFwiICsgKCREICsgJFIpICsgXCJaXCI7XG5cdEByZXR1cm4gdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAjeyRMICsgJFJ9ICN7JEQgKyAkUn0nIHByZXNlcnZlQXNwZWN0UmF0aW89J25vbmUnJTNFJTNDcGF0aCBkPScjeyRkfScgZmlsbD0nJTIzI3skY30nLyUzRSUzQy9zdmclM0VcIik7XG59XG5cbi8vICRjb3JuZXI6IHRvcC1sZWZ0IHwgdG9wLXJpZ2h0IHwgYm90dG9tLWxlZnQgfCBib3R0b20tcmlnaHRcbkBtaXhpbiBwdXp6bGUtY29ybmVyKCRjb2xvciwgJGNvcm5lcjogdG9wLWxlZnQsICRsZW5ndGg6ICRwdXp6bGVMZW5ndGgsICRkZXB0aDogJHB1enpsZURlcHRoLCAkcjogJHB1enpsZVJhZGl1cykge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR3aWR0aDogJGxlbmd0aCArICRyO1xuXHRoZWlnaHQ6ICRkZXB0aCArICRyO1xuXHRiYWNrZ3JvdW5kOiBwdXp6bGUtY29ybmVyLXN2ZygkY29sb3IsICRsZW5ndGgsICRkZXB0aCwgJHIpIG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG5cdC8vIGFsbGUgdmllciBkZSBrYW50ZW4gZXhwbGljaWV0LCB6b2RhdCBlZW4gZWVyZGVyZSBob2VrIChiaWp2LiBiaWogZWVuIHZhcmlhbnQpIG5ldGplcyB3b3JkdCBvdmVyc2NocmV2ZW5cblx0QGlmICRjb3JuZXIgPT0gdG9wLWxlZnQge1xuXHRcdHRvcDogMDtcblx0XHRib3R0b206IGF1dG87XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogYXV0bztcblx0XHR0cmFuc2Zvcm06IG5vbmU7XG5cdH0gQGVsc2UgaWYgJGNvcm5lciA9PSB0b3AtcmlnaHQge1xuXHRcdHRvcDogMDtcblx0XHRib3R0b206IGF1dG87XG5cdFx0bGVmdDogYXV0bztcblx0XHRyaWdodDogMDtcblx0XHR0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG5cdH0gQGVsc2UgaWYgJGNvcm5lciA9PSBib3R0b20tbGVmdCB7XG5cdFx0dG9wOiBhdXRvO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiBhdXRvO1xuXHRcdHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcblx0fSBAZWxzZSB7XG5cdFx0dG9wOiBhdXRvO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiBhdXRvO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoLTEsIC0xKTtcblx0fVxufVxuIiwiQGltcG9ydCBcImJhc2UvX3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcImJhc2UvX21peGluc1wiO1xuXG4vKipcbiAqIFB1enplbCBsaW5rIHJlcGVhdGVyIGJsb2NrIChob21lcGFnZSlcbiAqXG4gKiBPcGJvdXcgdmFuIGVlbiBwdXp6ZWxzdHVrOlxuICogICBbIC0tayBwdXp6ZWwtem9uZSBdWyAtLXAgdmFzdGUgcGFkZGluZyBdWyBjb250ZW50IF1bIC0tcCBdWyAtLWsgXVxuICpcbiAqIFVpdHNuZWRlcyAobm90Y2gpIGVuIHVpdHN0ZWVrc2VscyAodGFiKSBsZXZlbiBhbGzDqcOpbiBpbiBkZSAtLWsgem9uZSxcbiAqIGR1cyBkZSBjb250ZW50IHN0YWF0IGluIGVsayBzdHVrIG9wIGV4YWN0IGRlemVsZmRlIGFmc3RhbmQgdmFuIGRlIHJhbmQuXG4gKlxuICogVm9ybTpcbiAqIC0gSlMgKHB1enpsZS1saW5rLXJlcGVhdGVyLWJsb2NrLmpzKSB0ZWtlbnQgcGVyIHN0dWsgZWVuIGNsaXAtcGF0aDogcGF0aCgpXG4gKiAgIG1ldCBhZmdlcm9uZGUgaG9la2VuICgtLXJhZGl1cyksIG9vayBpbiBkZSB1aXRzcGFyaW5nZW4uXG4gKiAtIERlemUgQ1NTLXBvbHlnb24gaXMgZGUgZmFsbGJhY2sgKGVkaXRvciAvIHpvbmRlciBKUyk6IHplbGZkZSB2b3JtLCBzY2hlcnBlIGhvZWtlbi5cbiAqXG4gKiBQZXIgc3R1ayAobnRoLWNoaWxkKSBzdGFhbiBoaWVyb25kZXIgZGUgZWlnZW4gdWl0c3BhcmluZ2VuOlxuICogICAtLW54ICBwb3NpdGllIHZhbiBkZSBub3RjaCBvbmRlcmFhbiAoMOKAkzEgdmFuIGRlIGJyZWVkdGUpLCAtLW5iIDBweCA9IGdlZW4gbm90Y2hcbiAqICAgLS10eCAgcG9zaXRpZSB2YW4gZGUgdGFiIGJvdmVuYWFuIGluIGRlIGdlc3RhcGVsZGUgd2VlcmdhdmUgKD0gLS1ueCB2YW4gaGV0IHN0dWsgZXJib3ZlbilcbiAqL1xuXG4kcHV6emxlQ29sb3I6ICRldXJvcGNhckdyZWVuMDM7XG4kcHV6emxlUmFkaXVzOiAxMHB4O1xuJHB1enpsZU1heFdpZHRoOiAxMjgwcHg7XG4kcHV6emxlRnJhbWU6IDMwcHg7IC8vIHdpdHRlIHJhbmQgcm9uZG9tIGRlIHB1enplbCAoYm92ZW4sIHppamthbnRlbiwgb25kZXIpXG5cbiRwdXp6bGVIaWdobGlnaHQ6ICNCQUQ4MDg7ICAgICAgLy8gYWNodGVyZ3JvbmQgbWlkZGVsc3RlIHB1enplbHN0dWtcbiRwdXp6bGVIaWdobGlnaHRUZXh0OiAjMTQ0NzMzOyAgLy8gdGVrc3RrbGV1ciBtaWRkZWxzdGUgcHV6emVsc3R1a1xuJHB1enpsZUNoZWNrQmc6ICMwMDk5MDA7ICAgICAgICAvLyBjaGVjay1pY29vbiBpbiBkZSBsaWpzdFxuXG4kcHV6emxlQ2hlY2tJY29uOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTAnJTNFJTNDcGF0aCBkPSdNMSA1LjIgNC4zIDguNSAxMSAxLjUnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzZmZmZmZmJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvJTNFJTNDL3N2ZyUzRVwiO1xuXG4vLyBaZWxmZGUgb3ZlcmxhcC1vcC1oZXJvIGdlZHJhZyBhbHMgaGV0IG9yaWdpbmVsZSBMaW5rIHJlcGVhdGVyIGJsb2NrXG5ib2R5OmhhcyguaGVyby5iaWctaGVybykge1xuXHQuaGVyby5iaWctaGVybyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG4ubWFpbi1jb250ZW50IC5zZWN0aW9uLnB1enpsZV9saW5rX3JlcGVhdGVyX2Jsb2NrOmZpcnN0LWNoaWxkIHtcblx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRtYXJnaW46IDA7XG5cdC5jb250YWluZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0b3A6IC04MHB4O1xuXHRcdG1heC13aWR0aDogJHB1enpsZU1heFdpZHRoICsgMiAqICRwdXp6bGVGcmFtZTtcblx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1cztcblx0XHRwYWRkaW5nOiAkcHV6emxlRnJhbWU7XG5cdFx0bWFyZ2luLWJvdHRvbTogLTgwcHg7XG5cdH1cblxuXHQmICsgLnNlY3Rpb24uc2xpZGVyX2Jsb2NrIHtcblx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0aGVpZ2h0OiA1MHB4O1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGJvdHRvbTogLTUwcHg7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHdoaXRlIDAlLCB0cmFuc3BhcmVudCAxMDAlKTtcblx0XHR9XG5cdH1cbn1cblxuLnNlY3Rpb24ucHV6emxlX2xpbmtfcmVwZWF0ZXJfYmxvY2sge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDI7XG5cblx0LmNvbnRhaW5lciB7XG5cdFx0Ly8gU3R1a2tlbiBzY2h1aXZlbiB0aWpkZW5zIGRlIGFuaW1hdGllIHZhbiBidWl0ZW4gbmFhciBiaW5uZW46IGhvcml6b250YWFsIGFma25pcHBlbiwgdmVydGljYWFsIG5pZXRcblx0XHRvdmVyZmxvdy14OiBjbGlwO1xuXHR9XG5cblx0LnB1enpsZS13cmFwcGVyIHtcblx0XHQtLXA6IDMwcHg7ICAgICAgLy8gdmFzdGUgYmlubmVuLXBhZGRpbmdcblx0XHQtLWs6IDUwcHg7ICAgICAgLy8gZGllcHRlIHZhbiB0YWIgLyBub3RjaCAoZ3JpZCB2YW4gNTApXG5cdFx0LS10eTogNTBweDsgICAgIC8vIG5hYWQgc3R1ayAxIOKGkiAyOiBhZnN0YW5kIHRhYiB2YW5hZiBkZSBib3ZlbmthbnRcblx0XHQtLXR5MjogMjUwcHg7ICAgLy8gbmFhZCBzdHVrIDIg4oaSIDM6IGxhZ2VyLCB6b2RhdCBuaWV0IGVsa2UgdmVyYmluZGluZyBnZWxpamsgaXNcblx0XHQtLXRoOiAxMDBweDsgICAgLy8gdGFiIHppamthbnQ6IGhvb2d0ZVxuXHRcdC0tbnc6IDE1MHB4OyAgICAvLyB0YWIvbm90Y2ggYm92ZW4tb25kZXI6IGJyZWVkdGVcblx0XHQtLXJhZGl1czogI3skcHV6emxlUmFkaXVzfTtcblx0XHQtLWdhcDogNXB4OyAgICAgLy8gd2l0dGUgcHV6emVsbGlqbiB0dXNzZW4gZGUgc3R1a2tlblxuXG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG5cdFx0YWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0fVxuXG5cdC5wdXp6bGUtcGllY2Uge1xuXHRcdC0tbDogMHB4OyAgIC8vIHRhYiBsaW5rcyAoMCBiaWogaGV0IGVlcnN0ZSBzdHVrKVxuXHRcdC0tcjogMHB4OyAgIC8vIG5vdGNoIHJlY2h0cyAoMCBiaWogaGV0IGxhYXRzdGUgc3R1aylcblx0XHQtLXQ6IDBweDsgICAvLyB0YWIgYm92ZW4gKGFsbGVlbiBnZXN0YXBlbGQpXG5cdFx0LS1ueDogMC41OyAgLy8gbm90Y2ggb25kZXJhYW46IHBvc2l0aWVcblx0XHQtLW5iOiB2YXIoLS1udyk7IC8vIG5vdGNoIG9uZGVyYWFuOiBicmVlZHRlICgwcHggPSBnZWVuKVxuXHRcdC0tdHg6IDAuNTsgIC8vIHRhYiBib3ZlbiAoZ2VzdGFwZWxkKTogcG9zaXRpZVxuXHRcdC0tank6IHZhcigtLXR5KTsgLy8gaG9vZ3RlIHZhbiBkZSBuYWFkIHJlY2h0cyB2YW4gZGl0IHN0dWsgKG5vdGNoKVxuXHRcdC0tamw6IHZhcigtLXR5KTsgLy8gaG9vZ3RlIHZhbiBkZSBuYWFkIGxpbmtzIHZhbiBkaXQgc3R1ayAodGFiKSA9IC0tankgdmFuIGhldCB2b3JpZ2Ugc3R1a1xuXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGZsZXg6IDEgMSAwO1xuXHRcdG1pbi13aWR0aDogMDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogY2FsYyh2YXIoLS1wKSArIHZhcigtLWspKTtcblx0XHRwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tcCkgKyB2YXIoLS1rKSArIHZhcigtLWwpKTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHV6emxlQ29sb3I7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuXHRcdGNsaXAtcGF0aDogcG9seWdvbihcblx0XHRcdHZhcigtLWwpIDAsXG5cdFx0XHQxMDAlIDAsXG5cdFx0XHQxMDAlIGNhbGModmFyKC0tankpIC0gdmFyKC0tZ2FwKSksXG5cdFx0XHRjYWxjKDEwMCUgLSB2YXIoLS1yKSkgY2FsYyh2YXIoLS1qeSkgLSB2YXIoLS1nYXApKSxcblx0XHRcdGNhbGMoMTAwJSAtIHZhcigtLXIpKSBjYWxjKHZhcigtLWp5KSArIHZhcigtLXRoKSArIHZhcigtLWdhcCkpLFxuXHRcdFx0MTAwJSBjYWxjKHZhcigtLWp5KSArIHZhcigtLXRoKSArIHZhcigtLWdhcCkpLFxuXHRcdFx0MTAwJSAxMDAlLFxuXHRcdFx0Y2FsYyh2YXIoLS1sKSArICgxMDAlIC0gdmFyKC0tbCkpICogdmFyKC0tbngpICsgdmFyKC0tbmIpIC8gMikgMTAwJSxcblx0XHRcdGNhbGModmFyKC0tbCkgKyAoMTAwJSAtIHZhcigtLWwpKSAqIHZhcigtLW54KSArIHZhcigtLW5iKSAvIDIpIGNhbGMoMTAwJSAtIHZhcigtLWspKSxcblx0XHRcdGNhbGModmFyKC0tbCkgKyAoMTAwJSAtIHZhcigtLWwpKSAqIHZhcigtLW54KSAtIHZhcigtLW5iKSAvIDIpIGNhbGMoMTAwJSAtIHZhcigtLWspKSxcblx0XHRcdGNhbGModmFyKC0tbCkgKyAoMTAwJSAtIHZhcigtLWwpKSAqIHZhcigtLW54KSAtIHZhcigtLW5iKSAvIDIpIDEwMCUsXG5cdFx0XHR2YXIoLS1sKSAxMDAlLFxuXHRcdFx0dmFyKC0tbCkgY2FsYyh2YXIoLS1qbCkgKyB2YXIoLS10aCkpLFxuXHRcdFx0MCBjYWxjKHZhcigtLWpsKSArIHZhcigtLXRoKSksXG5cdFx0XHQwIHZhcigtLWpsKSxcblx0XHRcdHZhcigtLWwpIHZhcigtLWpsKVxuXHRcdCk7XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdC8vIEVsayB2b2xnZW5kIHN0dWsga3Jpamd0IGxpbmtzIGVlbiB0YWIgZGllIGluIGRlIG5vdGNoIHZhbiBoZXQgdm9yaWdlIHN0dWsgdmFsdC5cblx0XHQvLyBmbGV4LWJhc2lzID0gLS1rIHpvZGF0IGRlIHppY2h0YmFyZSBzdHVra2VuIGV4YWN0IGV2ZW4gYnJlZWQgYmxpanZlbi5cblx0XHQmICsgLnB1enpsZS1waWVjZSB7XG5cdFx0XHQtLWw6IHZhcigtLWspO1xuXHRcdFx0ZmxleDogMSAxIHZhcigtLWspO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tZ2FwKSAtIHZhcigtLWspKTtcblx0XHR9XG5cblx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0LS1yOiB2YXIoLS1rKTtcblx0XHR9XG5cblx0XHQvLyBFaWdlbiB1aXRzcGFyaW5nZW4gcGVyIHN0dWsgKHZvbGdlbnMgb250d2VycClcblx0XHQmOm50aC1jaGlsZCgxKSB7XG5cdFx0XHQtLW54OiAwLjYxO1xuXHRcdH1cblxuXHRcdCY6bnRoLWNoaWxkKDIpIHtcblx0XHRcdC0tbng6IDAuNDM7XG5cdFx0XHQtLXR4OiAwLjYxO1xuXHRcdFx0LS1qeTogdmFyKC0tdHkyKTtcblx0XHR9XG5cblx0XHQmOm50aC1jaGlsZCgzKSB7XG5cdFx0XHQtLW54OiAwLjU3O1xuXHRcdFx0LS10eDogMC40Mztcblx0XHRcdC0tamw6IHZhcigtLXR5Mik7XG5cdFx0fVxuXG5cdFx0JjpudGgtY2hpbGQoNCkge1xuXHRcdFx0LS10eDogMC41Nztcblx0XHR9XG5cblx0XHQvLyBMYWF0c3RlIHN0dWs6IGdlZW4gbm90Y2ggb25kZXJhYW5cblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0LS1uYjogMHB4O1xuXHRcdH1cblxuXHRcdC8vIE1pZGRlbHN0ZSBzdHVrOiBsaWNodGdyb2VuIG1ldCBkb25rZXJncm9lbmUgdGVrc3Rcblx0XHQmOm50aC1jaGlsZCgyKSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHV6emxlSGlnaGxpZ2h0O1xuXG5cdFx0XHQuYmxvY2stdGl0bGUsXG5cdFx0XHQuaXRlbS1kZXNjLFxuXHRcdFx0Lml0ZW0tZGVzYyBwLFxuXHRcdFx0Lml0ZW0tZGVzYyBhLFxuXHRcdFx0Lml0ZW0tZGVzYyB1bCBsaSB7XG5cdFx0XHRcdGNvbG9yOiAkcHV6emxlSGlnaGxpZ2h0VGV4dDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQucGllY2UtY29udGVudCB7XG5cdFx0XHRmbGV4OiAxIDAgYXV0bztcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblxuXHRcdC5ibG9jay10aXRsZSB7XG5cdFx0XHRAaW5jbHVkZSBmb250LXNpemUoMjRweCk7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4zO1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdGZvbnQtd2VpZ2h0OiAkc2VtaUJvbGRXZWlnaHQ7XG5cdFx0XHRtYXJnaW46IDAgMCAzMHB4IDA7XG5cdFx0fVxuXG5cdFx0Lml0ZW0tZGVzYyB7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKDE1cHgpO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNDU7XG5cblx0XHRcdHAge1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0YSB7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHR9XG5cblx0XHRcdHVsIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuXHRcdFx0XHRnYXA6IDE0cHg7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblxuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMzdweDtcblx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblxuXHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IC8vIG1pZGRlbiB0Lm8udi4gZGUgKGV2ZW50dWVlbCBtZWVycmVnZWxpZ2UpIHRla3N0XG5cdFx0XHRcdFx0XHR3aWR0aDogMjRweDtcblx0XHRcdFx0XHRcdGhlaWdodDogMjRweDtcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDhweDtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRwdXp6bGVDaGVja0JnO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCRwdXp6bGVDaGVja0ljb24pO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiAxMXB4IGF1dG87XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5idXR0b24td3JhcHBlciB7XG5cdFx0XHRmbGV4OiAwIDAgYXV0bztcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWFyZ2luLXRvcDogNDBweDtcblxuXHRcdFx0LmJ1dHRvbiB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0cGFkZGluZzogMTJweCA1NXB4IDEycHggMjBweDtcblx0XHRcdFx0YmFja2dyb3VuZDogJHllbGxvdztcblx0XHRcdFx0Y29sb3I6ICRibGFjaztcblx0XHRcdFx0Zm9udC13ZWlnaHQ6ICRtZWRpdW1XZWlnaHQ7XG5cblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9saW5rLWljb24tYmxhY2suc3ZnXCIpO1xuXHRcdFx0XHRcdHJpZ2h0OiAyMHB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2xpbmstaWNvbi1ncmVlbi5zdmdcIik7XG5cdFx0XHRcdFx0cmlnaHQ6IDIwcHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdFx0XHRcdFx0Y29sb3I6ICRldXJvcGNhckdyZWVuMDI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBEb29yIEpTIGdldGVrZW5kZSB2b3JtOiByYWRpdXMgeml0IGFsIGluIGhldCBwYWRcblx0LnB1enpsZS1waWVjZS5pcy1zaGFwZWQge1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdH1cblxuXHQvLyBWb29ya29tdCBlZW4gZmxpdHMgdmFuIGRlIGluIGVsa2FhciBnZXpldHRlIHB1enplbCB2b29yZGF0IEdTQVAgZGUgYmVnaW5zdGFuZCB6ZXQuXG5cdC8vIFZhbHQgbmEgM3MgdmFuemVsZiB0ZXJ1ZyBvcCB6aWNodGJhYXIgKGJpanYuIGFscyBHU0FQIG5pZXQgbGFhZHQpLlxuXHQmLmhhcy1hbmltYXRpb24ucHV6emxlLWF3YWl0IC5wdXp6bGUtcGllY2U6bm90KDpmaXJzdC1jaGlsZCksXG5cdCYuaGFzLWFuaW1hdGlvbi5wdXp6bGUtYXdhaXQuYW5pbS1kcm9wIC5wdXp6bGUtcGllY2Uge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0YW5pbWF0aW9uOiBwdXp6bGVBd2FpdEZhbGxiYWNrIDBzIGxpbmVhciAzcyBmb3J3YXJkcztcblx0fVxuXG5cdC8vIFNhbWVudmxvZWllbjogYWxsZSBzdHVra2VuIHppam4gZGlyZWN0IHppY2h0YmFhciAoYWxsZWVuIG5vZyB1aXQgZWxrYWFyKVxuXHQmLmhhcy1hbmltYXRpb24ucHV6emxlLWF3YWl0LmFuaW0tc21vb3RoIC5wdXp6bGUtcGllY2Uge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0YW5pbWF0aW9uOiBub25lO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgcHV6emxlQXdhaXRGYWxsYmFjayB7XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG5cdC5zZWN0aW9uLnB1enpsZV9saW5rX3JlcGVhdGVyX2Jsb2NrLmhhcy1hbmltYXRpb24ucHV6emxlLWF3YWl0IC5wdXp6bGUtcGllY2Uge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0YW5pbWF0aW9uOiBub25lO1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTU0MHB4KSB7XG5cdC5tYWluLWNvbnRlbnQgLnNlY3Rpb24ucHV6emxlX2xpbmtfcmVwZWF0ZXJfYmxvY2s6Zmlyc3QtY2hpbGQgLmNvbnRhaW5lciB7XG5cdFx0bWFyZ2luLWxlZnQ6IDQlO1xuXHRcdG1hcmdpbi1yaWdodDogNCU7XG5cdFx0dG9wOiAtNDBweDtcblx0XHRtYXJnaW4tYm90dG9tOiAtNDBweDtcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyODBweCkge1xuXHQuc2VjdGlvbi5wdXp6bGVfbGlua19yZXBlYXRlcl9ibG9jayAucHV6emxlLXdyYXBwZXIge1xuXHRcdC0tcDogMjRweDtcblx0XHQtLWs6IDM0cHg7XG5cdFx0LS10eTogNDRweDtcblx0XHQtLXR5MjogMjAwcHg7XG5cdFx0LS10aDogODBweDtcblx0XHQtLW53OiAxMTBweDtcblx0fVxufVxuXG4vLyBHZXN0YXBlbGQ6IGRlIHRhYiB6aXQgbnUgYm92ZW5vcCBlbiB2YWx0IGluIGRlIG5vdGNoIG9uZGVyYWFuIGhldCBzdHVrIGVyYm92ZW5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG5cdC5zZWN0aW9uLnB1enpsZV9saW5rX3JlcGVhdGVyX2Jsb2NrIHtcblx0XHQucHV6emxlLXdyYXBwZXIge1xuXHRcdFx0LS1wOiAyNnB4O1xuXHRcdFx0LS1rOiAyOHB4O1xuXHRcdFx0LS1udzogMTEwcHg7XG5cdFx0XHRmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG5cdFx0XHRtYXgtd2lkdGg6IDY0MHB4O1xuXHRcdH1cblxuXHRcdC5wdXp6bGUtcGllY2Uge1xuXHRcdFx0ZmxleDogMCAwIGF1dG87XG5cdFx0XHRwYWRkaW5nOiBjYWxjKHZhcigtLXApICsgdmFyKC0taykpO1xuXHRcdFx0cGFkZGluZy10b3A6IGNhbGModmFyKC0tcCkgKyB2YXIoLS1rKSArIHZhcigtLXQpKTtcblx0XHRcdGNsaXAtcGF0aDogcG9seWdvbihcblx0XHRcdFx0MCB2YXIoLS10KSxcblx0XHRcdFx0Y2FsYygxMDAlICogdmFyKC0tdHgpIC0gdmFyKC0tbncpIC8gMikgdmFyKC0tdCksXG5cdFx0XHRcdGNhbGMoMTAwJSAqIHZhcigtLXR4KSAtIHZhcigtLW53KSAvIDIpIDAsXG5cdFx0XHRcdGNhbGMoMTAwJSAqIHZhcigtLXR4KSArIHZhcigtLW53KSAvIDIpIDAsXG5cdFx0XHRcdGNhbGMoMTAwJSAqIHZhcigtLXR4KSArIHZhcigtLW53KSAvIDIpIHZhcigtLXQpLFxuXHRcdFx0XHQxMDAlIHZhcigtLXQpLFxuXHRcdFx0XHQxMDAlIDEwMCUsXG5cdFx0XHRcdGNhbGMoMTAwJSAqIHZhcigtLW54KSArIHZhcigtLW5iKSAvIDIgKyB2YXIoLS1nYXApKSAxMDAlLFxuXHRcdFx0XHRjYWxjKDEwMCUgKiB2YXIoLS1ueCkgKyB2YXIoLS1uYikgLyAyICsgdmFyKC0tZ2FwKSkgY2FsYygxMDAlIC0gdmFyKC0taykpLFxuXHRcdFx0XHRjYWxjKDEwMCUgKiB2YXIoLS1ueCkgLSB2YXIoLS1uYikgLyAyIC0gdmFyKC0tZ2FwKSkgY2FsYygxMDAlIC0gdmFyKC0taykpLFxuXHRcdFx0XHRjYWxjKDEwMCUgKiB2YXIoLS1ueCkgLSB2YXIoLS1uYikgLyAyIC0gdmFyKC0tZ2FwKSkgMTAwJSxcblx0XHRcdFx0MCAxMDAlXG5cdFx0XHQpO1xuXG5cdFx0XHQmICsgLnB1enpsZS1waWVjZSB7XG5cdFx0XHRcdC0tbDogMHB4O1xuXHRcdFx0XHQtLXQ6IHZhcigtLWspO1xuXHRcdFx0XHRmbGV4OiAwIDAgYXV0bztcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdG1hcmdpbi10b3A6IGNhbGModmFyKC0tZ2FwKSAtIHZhcigtLWspKTtcblx0XHRcdH1cblxuXHRcdFx0LmJsb2NrLXRpdGxlIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHRcdH1cblxuXHRcdFx0LmJ1dHRvbi13cmFwcGVyIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMzBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuXHQuc2VjdGlvbi5wdXp6bGVfbGlua19yZXBlYXRlcl9ibG9jayB7XG5cdFx0LnB1enpsZS13cmFwcGVyIHtcblx0XHRcdC0tcDogMjBweDtcblx0XHRcdC0tazogMjJweDtcblx0XHRcdC0tbnc6IDkwcHg7XG5cdFx0XHQtLWdhcDogNHB4O1xuXHRcdH1cblxuXHRcdC5wdXp6bGUtcGllY2UgLmJsb2NrLXRpdGxlIHtcblx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgyMHB4KTtcblx0XHR9XG5cdH1cbn1cblxuLy8gUHV6emVsYmxvayBlbGRlcnMgb3AgZGUgcGFnaW5hIChuaWV0IGRpcmVjdCBvbmRlciBkZSBoZXJvKTpcbi8vIHdpdHJ1aW10ZSBib3ZlbiwgbGljaHRncm9lbmUgYWNodGVyZ3JvbmQgYWNodGVyIGRlIG9uZGVyc3RlIGhlbGZ0IGVuIGVyb25kZXJcbi5tYWluLWNvbnRlbnQgLnNlY3Rpb24ucHV6emxlX2xpbmtfcmVwZWF0ZXJfYmxvY2s6bm90KDpmaXJzdC1jaGlsZCkge1xuXHRwYWRkaW5nOiAxMDBweCAwO1xuXHRtYXJnaW4tYm90dG9tOiAwO1xuXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHotaW5kZXg6IC0xO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0dG9wOiA1MCU7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGJhY2tncm91bmQ6ICRldXJvcGNhckJhY2tncm91bmQ7XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcblx0Lm1haW4tY29udGVudCAuc2VjdGlvbi5wdXp6bGVfbGlua19yZXBlYXRlcl9ibG9jazpub3QoOmZpcnN0LWNoaWxkKSB7XG5cdFx0cGFkZGluZzogNjBweCAwO1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHR0b3A6IDQwJTtcblx0XHR9XG5cdH1cbn1cbiJdfQ== */
