.table-basic,table{width:100%;margin:20px 0}.table-basic .table-column,.table-basic td,.table-basic th,table .table-column,table td,table th{padding:10px;font-weight:400;text-align:left;vertical-align:middle;font-family:AmericanSansLight,Helvetica,Arial,sans-serif}.table-basic tr.align-top td,table tr.align-top td{vertical-align:top!important}.table-basic .table-header,.table-basic thead,table .table-header,table thead{border-bottom:1px solid #d0dae0;background-color:#ebeff0;background-size:auto}.table-basic .table-header .table-column,.table-basic .table-header th,.table-basic thead .table-column,.table-basic thead th,table .table-header .table-column,table .table-header th,table thead .table-column,table thead th{color:#36495a;font-family:AmericanSansMedium,Calibri,Helvetica,Arial,sans-serif;font-size:15px;font-size:1.07143rem}.table-basic .table-body .table-row,.table-basic .table-body tr,.table-basic tbody .table-row,.table-basic tbody tr,table .table-body .table-row,table .table-body tr,table tbody .table-row,table tbody tr{padding:5px 0;border-bottom:1px solid #d0dae0}.table-basic .table-body .table-row.disabled,.table-basic .table-body tr.disabled,.table-basic tbody .table-row.disabled,.table-basic tbody tr.disabled,table .table-body .table-row.disabled,table .table-body tr.disabled,table tbody .table-row.disabled,table tbody tr.disabled{color:#9da6ab}.table-basic .table-body .table-row.no-border,.table-basic .table-body tr.no-border,.table-basic tbody .table-row.no-border,.table-basic tbody tr.no-border,table .table-body .table-row.no-border,table .table-body tr.no-border,table tbody .table-row.no-border,table tbody tr.no-border{border-bottom:0}.table-basic .table-body .table-row .table-column,.table-basic .table-body .table-row td,.table-basic .table-body tr .table-column,.table-basic .table-body tr td,.table-basic tbody .table-row .table-column,.table-basic tbody .table-row td,.table-basic tbody tr .table-column,.table-basic tbody tr td,table .table-body .table-row .table-column,table .table-body .table-row td,table .table-body tr .table-column,table .table-body tr td,table tbody .table-row .table-column,table tbody .table-row td,table tbody tr .table-column,table tbody tr td{padding:10px}.table-basic .table-body .table-row.-thicker,.table-basic .table-body tr.-thicker,.table-basic tbody .table-row.-thicker,.table-basic tbody tr.-thicker,table .table-body .table-row.-thicker,table .table-body tr.-thicker,table tbody .table-row.-thicker,table tbody tr.-thicker{border-bottom-width:2px}.table-basic .table-body .table-row.-header,.table-basic .table-body tr.-header,.table-basic tbody .table-row.-header,.table-basic tbody tr.-header,table .table-body .table-row.-header,table .table-body tr.-header,table tbody .table-row.-header,table tbody tr.-header{background-color:#f3f5f6}.table-basic .table-body .table-row.-header td,.table-basic .table-body .table-row.-header th,.table-basic .table-body tr.-header td,.table-basic .table-body tr.-header th,.table-basic tbody .table-row.-header td,.table-basic tbody .table-row.-header th,.table-basic tbody tr.-header td,.table-basic tbody tr.-header th,table .table-body .table-row.-header td,table .table-body .table-row.-header th,table .table-body tr.-header td,table .table-body tr.-header th,table tbody .table-row.-header td,table tbody .table-row.-header th,table tbody tr.-header td,table tbody tr.-header th{font-weight:700;background-color:#f3f5f6}.table-basic .table-footer,.table-basic tfoot,table .table-footer,table tfoot{border-top:1px solid #d0dae0}.table-basic .table-footer .table-column,.table-basic .table-footer td,.table-basic tfoot .table-column,.table-basic tfoot td,table .table-footer .table-column,table .table-footer td,table tfoot .table-column,table tfoot td{padding-left:0;padding-right:0}.hero{background-color:#d0dae0;height:594px;margin-left:-45px;overflow:hidden;position:relative;width:1100px}.hero img{height:100%;width:100%}#aa-hp-ad-hero a{display:block;height:100%}#aa-hp-ad-hero a:focus{border:2px solid #0078d2}.hero-controls{bottom:0;left:0;pointer-events:none;position:absolute;right:0;text-align:center;top:0}.hero-controls button{pointer-events:auto}#hero-next,#hero-prev{padding:0;border:2px rgba(0,0,0,0);position:absolute;width:45px;height:100%;background:none;overflow:hidden;z-index:20}#hero-next img,#hero-prev img{height:50px;width:100px;max-width:200%}#hero-next:focus,#hero-next:hover,#hero-prev:focus,#hero-prev:hover{outline:none!important;background:#000;opacity:.6;filter:alpha(opacity=60)}#hero-next:focus,#hero-prev:focus{border:2px solid #0078d2}#hero-next:focus img,#hero-prev:focus img{border-top:2px solid rgba(0,0,0,0);border-bottom:2px solid rgba(0,0,0,0);-o-border-image:linear-gradient(180deg,#000 0,#000);border-image:-webkit-gradient(linear,left top,left bottom,from(#000),to(#000));border-image:linear-gradient(180deg,#000 0,#000);border-image-slice:1}#hero-prev{left:0}#hero-next{right:0}#hero-next img{margin-left:-45px}#hero-pause{display:inline-block;position:absolute;top:325px;padding:0;left:45px;width:30px;height:30px;background:rgba(0,0,0,0);overflow:hidden;z-index:20;pointer-events:auto;border:none}#hero-pause img{height:60px;width:30px}.pause img{margin-top:-30px}#login,.account-info{padding:15px;height:100%;position:relative}#login a:focus,.account-info a:focus{outline:1px solid #fff}#login .link,.account-info .link{margin-top:.2em;line-height:22px;color:#fff;text-shadow:none;font-family:AmericanSansLight}#login h2,.account-info h2{color:#fff;margin-bottom:.3em}#login input,.account-info input{padding:6px}#login .btn,#login p,.account-info .btn,.account-info p{margin:0}#login .customComponent label{font-size:13px}#login .customComponent label .lbl{width:75%}#login .forgot-link-wrapper{position:absolute;font-size:12px;bottom:15px;width:95%}#login .forgot-link-wrapper a{color:#fff;text-decoration:underline}#login .forgot-link-wrapper a:focus,#login .forgot-link-wrapper a:hover{text-decoration:none}#login .remember-submit-wrapper{padding-top:10px;width:100%}#login .forgot-AdvPassword-wrapper{font-size:12px;font-size:.85714rem;line-height:18px;margin-bottom:14px;width:95%}#login .forgot-AdvPassword-wrapper a{color:#fff;text-decoration:none}#login .forgot-AdvPassword-wrapper a:focus,#login .forgot-AdvPassword-wrapper a:hover{text-decoration:underline}.account-info{font-family:AmericanSans,Helvetica,Arial,sans-serif}.account-info h2{margin-bottom:.833em}.account-info .cardmember-name,.account-info h2{font-family:AmericanSansLight,Helvetica,Arial,sans-serif;font-size:24px;font-size:1.71429rem;line-height:30px}.account-info .cardmember-name{font-family:AmericanSansMedium,Calibri,Helvetica,Arial,sans-serif;padding-bottom:10px}.account-info .account-info-links{position:absolute;bottom:15px;left:15px;right:15px}.account-info p.delta{padding-bottom:10px}.account-info p.cardmember-mileage{font-family:Arial,sans-serif;font-size:16px;font-size:1.14286rem;line-height:22px;font-family:AmericanSans,Helvetica,Arial,sans-serif;padding-bottom:0;margin-top:20px}.account-info .creditCardGreeting{padding-bottom:10px}#booking-module-tabs{min-height:22em}#booking-module-tabs input[type=text][readonly][disabled]{border-color:inherit;background-color:inherit}#booking-module-tabs button[class~=btn],#booking-module-tabs input[type=submit]{padding:6px 9px;margin:25px 0 0}#booking-module-tabs [class|=message]{font-size:14px;font-size:1rem;padding:10px 0 10px 20px}#booking-module-tabs [class|=message]:before{font-size:14px;font-size:1rem;top:8px}#booking-module-tabs .message-error~span{color:#c30019;font-size:14px;font-size:1rem}#booking-module-tabs .message-warning~span{color:#d14904;font-size:14px;font-size:1rem}#booking-module-tabs .ui-tabs-nav{background-image:url(https://aa.com/content/images/chrome/rebrand/shadow12-up.png);background-position:50% bottom;background-repeat:no-repeat;background-size:100% 4px;border:none;padding:0;background:#ebeff0}#booking-module-tabs .ui-tabs-nav li{background:rgba(0,0,0,0);border:none;border-right:1px solid #d0dae0}#booking-module-tabs .ui-tabs-nav li:last-child{border-right:none}#booking-module-tabs .ui-tabs-nav li .ui-tabs-anchor{color:#0078d2;font-size:24px;width:100%;padding:.5em;text-align:center}#booking-module-tabs .ui-tabs-nav li .ui-tabs-anchor:focus,#booking-module-tabs .ui-tabs-nav li .ui-tabs-anchor:hover{text-decoration:underline}#booking-module-tabs .ui-tabs-nav li.ui-tabs-active{background:#fff}#booking-module-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{color:#00467f}#booking-module-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor:hover{text-decoration:none}#booking-module-tabs .ui-tabs-nav li.ui-state-focus .ui-tabs-anchor{text-decoration:underline}#booking-module-tabs .ui-tabs-panel{margin:30px 25px 20px;padding:0}.flightStatusmargin-top{margin-top:32px;padding-left:8px}.checkin-msg{padding:0 15px}.reactivate-modal #reactivate-no-thanks-link{margin-top:10px;margin-left:auto;margin-right:auto;background-color:rgba(0,0,0,0)!important;border:0;text-decoration:underline}@media screen and (min-width:768px){.reactivate-modal #reactivate-no-thanks-link{background:none repeat scroll 0 0 rgba(0,0,0,0);border:none;color:#0078d2!important;cursor:pointer;margin-top:10px;padding:0;font-family:Arial,sans-serif;line-height:20px;text-align:right;height:40px;width:auto;font-size:14px;font-size:1rem}.reactivate-modal #reactivate-no-thanks-link:focus{outline:1px solid #0078d2}.reactivate-modal #reactivate-no-thanks-link span{font-size:14px;padding:0}}.expired-title{font-family:AmericanSansLight,Helvetica,Arial,sans-serif;font-weight:400;font-style:normal;font-size:30px;color:#00467f;line-height:36px}.reactivate-callout{font-family:AmericanSans,Helvetica,Arial,sans-serif;color:#faaf00;text-rendering:optimizeLegibility;line-height:26px;font-size:19px;font-weight:700}.expired-miles-section{margin-top:25px}.reactivate-link,.t-g-blue{color:#fff}.t-g-blue{font-size:100%;background:#0078d2;*zoom:1;filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr="#FF0078D2",endColorstr="#FF00467F");background:-owg-linear-gradient(#0078d2,#00467f);background:-webkit-gradient(linear,left top,left bottom,from(#0078d2),to(#00467f));background:linear-gradient(#0078d2,#00467f)}.btn{height:35px}.home-page-login-widget{position:absolute;top:0;left:0;width:28%;height:100%}.home-page-login-widget sup{font-size:.9rem}.booking-widget{min-height:28em;background-image:url(https://aa.com/content/images/chrome/rebrand/shadow12-up.png);background-position:50% bottom;background-repeat:no-repeat;background-size:100% 4px}[data-behavior~=dropdown-wrapper]{z-index:0}.image-heading{max-width:596px;border-top-left-radius:.5rem;border-top-right-radius:.5rem;margin:-1.5rem -1.5rem 0;overflow:hidden}#reservationFlightSearchForm ul{line-height:10px}#reservationFlightSearchForm .aa-flightSearchForm-datesRow{margin-top:0}#reservationFlightSearchForm #bookingCheckboxContainer .customComponent{padding-right:15px}#reservationFlightSearchForm #bookingCheckboxContainer .customComponent label .control{margin-right:1px}#reservationFlightSearchForm #bookingCheckboxContainer .customComponent input[type=checkbox]:disabled~label{color:#9da6ab!important}#travelAlert,#travelAlert-phone{top:-20px}#travelAlert-phone .travelAlert,#travelAlert .travelAlert{padding:9px 25px 8px;border-bottom-left-radius:5px;border-bottom-right-radius:5px;border:1px solid #d14904;border-top:none;background-color:#fff;margin:0 2.13178%;float:right;display:inline-block;color:#d14904}#travelAlert-phone [class|=message],#travelAlert [class|=message]{padding:10px 0 10px 25px;font-size:14px;font-size:1rem}#travelAlert-phone [class|=message]:before,#travelAlert [class|=message]:before{top:8px;font-size:14px;font-size:1rem}.feature>a{display:inline-block}.feature>a:focus,.feature>a:hover{text-decoration:none}.feature>a:focus.feature-call,.feature>a:focus .feature-call,.feature>a:hover.feature-call,.feature>a:hover .feature-call{text-decoration:underline}.feature .gamma,.feature h3{margin:10px 0}.feature .gamma{color:#627a88}.feature .list-standard{padding:0}.feature .feature-body{color:#36495a}.feature img{-webkit-user-select:none}.travel-deals a:first-of-type{display:inline-block;width:100%}.travel-deals a:first-of-type:focus .price{text-decoration:underline}.travel-deals a:last-of-type{float:left;clear:both;margin-top:-5px}.travel-deals .trip{float:left;max-width:62%;color:#627a88}.travel-deals .price{float:left;width:100%}.travel-deals .price .indicator{top:-.5em;position:relative;padding-bottom:1px;font-size:20px;font-size:1.42857rem}.travel-deals .price:focus,.travel-deals .price:hover{text-decoration:underline}.travel-deals .note{color:#0078d2}.incident-hero{display:block;background-color:#627a88;height:594px;margin-left:-45px;width:1100px;padding:42px 56px 0;text-align:right;-webkit-text-decoration-color:#fff;text-decoration-color:#fff}.incident-hero:focus,.incident-hero:hover{text-decoration:none}.incident-hero h2{color:#fff;font-size:68px;font-size:4.85714rem;line-height:74px}.incident-hero p{display:inline;color:#fff;font-family:AmericanSans,Helvetica,Arial,sans-serif;font-size:22px;font-size:1.57143rem;line-height:28px}a.incident-hero p:focus,a.incident-hero p:hover{text-decoration:underline}.trip-type-group{display:block}@media screen and (min-width:480px){.trip-type-group{display:inline-block}}.ticket-number-container{margin-left:0;margin-right:0;width:100%}.orSeparator{width:auto;margin-top:30px;margin-bottom:0}@media screen and (max-width:480px){.orSeparator{margin-bottom:0;margin-top:10px}}.coachmark{position:absolute;left:28px;top:-95px;z-index:99;font-family:AmericanSans,Helvetica,Arial,sans-serif;line-height:20px;text-align:center;background:#0078d2;border:#0078d2;border-radius:5px;-webkit-box-shadow:0 0 8px 0 rgba(0,0,0,.7);box-shadow:0 0 8px 0 rgba(0,0,0,.7)}.coachmark .title{font-size:18px;font-weight:500;margin:15px 35px 3px 15px}.coachmark .content,.coachmark .title{position:relative;text-align:left;color:#fff}.coachmark .content{font-size:14px;font-family:AmericanSansLight,Helvetica,Arial,sans-serif;margin:3px 15px 22px}.coachmark .coachmark-close{position:absolute;text-align:left;cursor:pointer;right:6px;top:7px!important;color:#fff;-webkit-box-sizing:border-box;box-sizing:border-box;font:inherit;font-size:100%;vertical-align:baseline;display:inline-block;padding:0!important}.coachmark .coachmark-close:hover{color:#fff!important}.coachmark .coachmark-close:focus{outline:1px solid #fff!important;border:none}@media (-ms-high-contrast:none),screen and (-ms-high-contrast:active){.coachmark .coachmark-close{top:8px}}.coachmark .coachmark-circle{border-radius:50%;border:5px solid #b0d1e8;background:#0078d2;height:20px;width:20px;position:absolute;left:46%!important;top:107%}.coachmark:after{content:"";position:absolute;left:46%!important;top:100%;border-left:12px solid rgba(0,0,0,0);border-right:12px solid rgba(0,0,0,0);border-color:#0078d2 rgba(0,0,0,0) rgba(0,0,0,0);border-style:solid;border-width:12px 10px}.coachmark.coachmark--fullwidth{left:100px}.coachmark.coachmark--below:after{border-color:rgba(0,0,0,0) rgba(0,0,0,0) #0078d2;top:-19%}.coachmark.coachmark--below .coachmark-circle{top:-21%}#coachMarkLogIn{max-width:230px;left:73.2%;top:-5px}.learnMoreLink{margin-left:10px}.find-trip-button{margin-top:60px}.viewCanceledTripRadioButton{margin-left:33px}@media screen and (max-width:480px){.viewCanceledTripRadioButton{margin-left:0}}.middleMessage{height:30px}.middleMessage p{margin-bottom:0}#viewAllBtn{margin:8px 0 0!important}.walletLinkText{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDYiIGhlaWdodD0iNDYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSAxKSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48Y2lyY2xlIHN0cm9rZT0iIzAwNzhEMiIgY3g9IjIyIiBjeT0iMjIiIHI9IjIyIi8+PHBhdGggZD0iTTI4Ljk0NyAxNS4wNTNIMTMuNzljLTIuMDg5IDAtMy43ODkgMS43LTMuNzg5IDMuNzlWMzAuMjFDMTAgMzIuMyAxMS43IDM0IDEzLjc5IDM0aDE1LjE1N2MyLjA5IDAgMy43OS0xLjcgMy43OS0zLjc5VjE4Ljg0M2MwLTIuMDktMS43LTMuNzktMy43OS0zLjc5bTAgMS4yNjRhMi41MzQgMi41MzQgMCAwMTIuNTI3IDIuNTI2djExLjM2OWEyLjUzNCAyLjUzNCAwIDAxLTIuNTI3IDIuNTI2SDEzLjc5YTIuNTM0IDIuNTM0IDAgMDEtMi41MjYtMi41MjZWMTguODQyYTIuNTM0IDIuNTM0IDAgMDEyLjUyNi0yLjUyNmgxNS4xNTgiIGZpbGw9IiMwMDc4RDIiLz48cGF0aCBkPSJNMjUuMTU4IDI4LjMxNmExLjg5NyAxLjg5NyAwIDAxLTEuODk1LTEuODk1di0zLjc5YzAtMS4wNDQuODUtMS44OTQgMS44OTUtMS44OTRoNi4zMTZjMS4wNDQgMCAxLjg5NC44NSAxLjg5NCAxLjg5NXYzLjc5YzAgMS4wNDQtLjg1IDEuODk0LTEuODk0IDEuODk0aC02LjMxNnoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzEuNDc0IDIwLjEwNWgtNi4zMTZhMi41MjkgMi41MjkgMCAwMC0yLjUyNiAyLjUyN3YzLjc5YTIuNTI5IDIuNTI5IDAgMDAyLjUyNiAyLjUyNWg2LjMxNkEyLjUyOSAyLjUyOSAwIDAwMzQgMjYuNDIxdi0zLjc5YTIuNTI5IDIuNTI5IDAgMDAtMi41MjYtMi41MjZtMCAxLjI2M2MuNjk0IDAgMS4yNjMuNTY5IDEuMjYzIDEuMjY0djMuNzljMCAuNjk0LS41NjkgMS4yNjItMS4yNjMgMS4yNjJoLTYuMzE2YTEuMjY3IDEuMjY3IDAgMDEtMS4yNjMtMS4yNjN2LTMuNzljMC0uNjk0LjU2OC0xLjI2MyAxLjI2My0xLjI2M2g2LjMxNiIgZmlsbD0iIzAwNzhEMiIvPjxwYXRoIGQ9Ik0yNi40MjEgMjQuNTI2YTEuMjYyIDEuMjYyIDAgMTAyLjUyNiAwIDEuMjYyIDEuMjYyIDAgMTAtMi41MjYgMCIgZmlsbD0iIzAwNzhEMiIvPjxwYXRoIGQ9Ik0xMi40NjUgMTUuOTg0czEyLjkwNC01LjM1MiAxMy45NTYtNS4zNTJjLjkwOSAwIDEuODk1LjcxIDEuODk1IDEuODk1djIuNTI2IiBzdHJva2U9IiMwMDc4RDIiLz48L2c+PC9zdmc+") 3px 3px no-repeat;padding:18px 3px 17px 59px;position:relative;display:inline-block;top:-3px;left:-3px}#aa-lang-en #aa-tab-booking-module{width:30%}#aa-lang-en #aa-tab-viewReservations{width:40%}#aa-lang-en #aa-tab-flightStatus{width:30%}#aa-lang-es #aa-tab-booking-module{width:27%}#aa-lang-es #aa-tab-viewReservations{width:46%}#aa-lang-es #aa-tab-flightStatus{width:27%}#aa-lang-pt #aa-tab-booking-module{width:30%}#aa-lang-pt #aa-tab-viewReservations{width:44%}#aa-lang-pt #aa-tab-flightStatus{width:26%}#aa-lang-fr #aa-tab-booking-module{width:27%}#aa-lang-fr #aa-tab-viewReservations{width:48%}#aa-lang-fr #aa-tab-flightStatus{width:25%}#aa-lang-fr #home-page-widgets .ui-tabs-anchor{font-size:21px}@media screen and (max-width:767px){header .mobile-utility{margin-top:10px}header #travelAlert,header #travelAlert-phone{margin-left:0}header #travelAlert-phone .travelAlert,header #travelAlert .travelAlert{border:none!important;float:none;margin:2px 0 0;padding:0;background:none;color:#d14904}header #travelAlert-phone .travelAlert .message-warning:before,header #travelAlert .travelAlert .message-warning:before{top:2px;left:4px}}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hc3NldHMvY3NzL3YzL3BhcnRpYWxzL190YWJsZXMuc2NzcyIsIi9hc3NldHMvY3NzL3YzL3BhcnRpYWxzL192YXJpYWJsZXMuc2NzcyIsIi9hc3NldHMvY3NzL3YzL3BhcnRpYWxzL19taXhpbnMuc2NzcyIsIi9hc3NldHMvY3NzL3YzL3BhcnRpYWxzL19oZXJvLnNjc3MiLCIvYXNzZXRzL2Nzcy92My9wYXJ0aWFscy9fbG9naW4uc2NzcyIsIi9hc3NldHMvY3NzL3YzL3BhcnRpYWxzL19ib29raW5nLnNjc3MiLCIvYXNzZXRzL2Nzcy92My9wYXJ0aWFscy9fcmVhY3RpdmF0ZS1taWxlcy5zY3NzIiwiLi4vdjMvaG9tZS1wYWdlLnNjc3MiLCIvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy9nZW5lcmFsL19oYWNrcy5zY3NzIiwiL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19pbWFnZXMuc2NzcyIsIi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvZnVuY3Rpb25zL19jcm9zc19icm93c2VyX3N1cHBvcnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxtQkFDRSxVQUFXLENBQ1gsYUFBeUIsQ0FGM0IsaUdBS0ksWUFBYSxDQUNiLGVBQW1CLENBQ25CLGVBQWdCLENBQ2hCLHFCQUFzQixDQUN0Qix3REMrRW1FLENEeEZ2RSxtREFhSSw0QkFBOEIsQ0FibEMsOEVBaUJJLCtCQ0dlLENERmYsd0JDQ29CLENEQXBCLG9CQUFxQixDQW5CekIsZ09BcUJNLGFDRVksQ0REWixpRUNvRTRFLENDdkM5RSxjQUF5QixDQUN6QixvQkFBMEMsQ0ZwRDlDLDRNQTRCTSxhQUFjLENBQ2QsK0JDVGEsQ0RwQm5CLG9SQStCUSxhQ1ZNLENEckJkLDRSQWtDUSxlQUFxQixDQWxDN0IsZ2lCQXFDUSxZQUFhLENBckNyQixvUkF3Q1EsdUJBQXdCLENBeENo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QixnQkFHRyxzb0RBQW02SSxDQUNuNkksMEJBQTJCLENBQzNCLGlCQUFrQixDQUNsQixvQkFBcUIsQ0FDckIsUUFBUyxDQUNULFNBQVUsQ0FDYixtQ0FJTyxTQUFVLENBRmxCLHFDQUtRLFNBQVUsQ0FMbEIsaUNBUVEsU0FBVSxDQUNiLG1DQUtHLFNBQVUsQ0FGbEIscUNBS1EsU0FBVSxDQUxsQixpQ0FRUSxTQUFVLENBQ2IsbUNBS0csU0FBVSxDQUZsQixxQ0FLUSxTQUFVLENBTGxCLGlDQVFRLFNBQVUsQ0FDYixtQ0FLRyxTQUFVLENBRmxCLHFDQUtRLFNBQVUsQ0FMbEIsaUNBUVEsU0FBVSxDQVJsQiwrQ0FXUSxjQUFlLENBQ2xCLG9DQUlELHVCQUVRLGVBQWdCLENBRnhCLDhDQU1RLGFBQWMsQ0FOdEIsd0VBUVkscUJBQThCLENBQzlCLFVBQVcsQ0FDWCxjQUFpQixDQUNqQixTQUFVLENBQ1YsZUFBZ0IsQ0FDaEIsYU56WkEsQ000WVosd0hBZWdCLE9BQVEsQ0FDUixRQUFTLENBQ1oiLCJmaWxlIjoidjMvaG9tZS1wYWdlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbInRhYmxlLCAudGFibGUtYmFzaWMge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAkYmFzZUxpbmVIZWlnaHQgMDtcblxuICB0ZCwgdGgsIC50YWJsZS1jb2x1bW4ge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC1mYW1pbHk6ICRzYW5zRm9udEZhbWlseUxpZ2h0O1xuICB9XG5cbiAgdHIuYWxpZ24tdG9wIHRkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7XG4gIH1cblxuICB0aGVhZCwgLnRhYmxlLWhlYWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodEdyYXk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVsdHJhTGlnaHRHcmF5O1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbiAgICB0aCwgLnRhYmxlLWNvbHVtbiB7XG4gICAgICBjb2xvcjogJGRhcmtHcmF5O1xuICAgICAgZm9udC1mYW1pbHk6ICRzYW5zRm9udEZhbWlseU1lZGl1bTtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNSk7XG4gICAgfVxuICB9XG4gIHRib2R5LCAudGFibGUtYm9keSB7XG4gICAgdHIsIC50YWJsZS1yb3cge1xuICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0R3JheTtcbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICB9XG4gICAgICAmLm5vLWJvcmRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDAgbm9uZTtcbiAgICAgIH1cbiAgICAgIHRkLCAudGFibGUtY29sdW1uIHtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIH1cbiAgICAgICYuLXRoaWNrZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG4gICAgICB9XG4gICAgICAmLi1oZWFkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGVMaWdodEdyYXk7XG4gICAgICAgIHRkLCB0aCB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlTGlnaHRHcmF5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHRmb290LCAudGFibGUtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0R3JheTtcbiAgICB0ZCwgLnRhYmxlLWNvbHVtbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAvL0BleHRlbmQgLmRpc2NsYWltZXI7XG4gIH1cbn1cbiIsIiRleHRyZW1lSGlnaGxpZ2h0Qmx1ZTogI0YwRjdGQzsgLy8gQUEgRXh0cmVtZSBoaWdobGlnaHQgYmx1ZVxuJGhpZ2hsaWdodEJsdWU6ICNFMUYwRkE7IC8vIEFBIEhpZ2hsaWdodCBCbHVlXG4kbGlnaHRCbHVlOiAjNERCNEZBOyAvLyBBQSBMaWdodCBCbHVlXG4kYnJhbmRCbHVlOiAjMDA3OEQyOyAvLyBBQSBCbHVlIChCcmFuZCBCbHVlKVxuJGRldHJvaXRCbHVlOiAjMDA2MUFCOyAvLyBBQSBCdXR0b24gQmx1ZVxuJGRhcmtCbHVlOiAjMDA0NjdGOyAvLyBBQSBEYXJrIEJsdWVcbiR0ZWFsOiAjQjFFMUVCOyAvLyBBQSBUZWFsXG4kbGlnaHRUZWFsOiAjRUZGOUZCOyAvLyBBQSBMaWdodCBUZWFsXG5cbiR3aGl0ZTogI0ZGRkZGRjsgLy8gQUEgV2hpdGVcbiRncmVlbjogIzAwODcxMjsgLy8gQUEgR3JlZW5cbiRyYW5nZXJHcmVlbjogIzAwN0QxMDsgLy8gQUEgRGFyayBHcmVlbiB1c2VkIGZvciBncmV5IGJhY2tncm91bmRzXG4keWVsbG93R3JlZW46ICNEMUQ1MzI7IC8vIEFBIFllbGxvdy1HcmVlblxuJGxpZ2h0T3JhbmdlOiAjRkFBRjAwOyAvLyBBQSBMaWdodCBPcmFuZ2VcbiRvcmFuZ2U6ICNEMTQ5MDQ7IC8vIEFBIE9yYW5nZVxuJHJlZDogI0Y1MjMwNTsgLy8gQUEgUmVkXG4kZGFya1JlZDogI0MzMDAxOTsgLy8gQUEgRGFyayBSZWRcbiRsdWNreVB1cnBsZTogIzkzMTk4MjsgLy8gQUEgTHVja3kgUHVycGxlXG5cbiR1bHRyYUxpZ2h0R3JheTogI0VCRUZGMDsgLy8gQUEgVWx0cmEgTGlnaHQgR3JheVxuJGxpZ2h0R3JheTogI0QwREFFMDsgLy8gQUEgTGlnaHQgR3JheVxuJGdyYXk6ICM5REE2QUI7IC8vIEFBIEdyYXlcbiRtZWRpdW1HcmF5OiAjNjI3QTg4OyAvLyBBQSBNZWRpdW0gR3JheVxuJGRhcmtHcmF5OiAjMzY0OTVBOyAvLyBBQSBEYXJrIEdyYXlcbiRjYWRldEdyYXk6ICM1MzY3NzM7IC8vQUEgQ2FkZXQgR3JheVxuJGRhcmtDYWRldEdyYXk6ICM0NjU3NjI7IC8vQUEgRGFyayBDYWRldCBHcmF5XG4kYmxhY2s6ICMxMzEzMTM7IC8vIEJsYWNrXG4kc3VwZXJVbHRyYUxpZ2h0R3JheTogI0Y1RjVGNzsgLy8gQUEgU3VwZXIgVWx0cmEgTGlnaHQgR3JheVxuJGV4dHJlbWVVbHRyYUxpZ2h0R3JheTogI0ZBRkJGQjsgLy8gQUEgRXh0cmVtZSBVbHRyYSBMaWdodCBHcmF5XG4kaGFsZndheUxpZ2h0R3JheTogI0U3RUNFRjsgLy8gQUEgaGFsZndheSBsaWdodCBHcmF5XG4kdGFibGVMaWdodEdyYXk6ICNGM0Y1RjY7ICAgLy8gQUEgVGFibGUgTGlnaHQgR3JheVxuXG4vLyBMZWdhY3kgdmFyaWFibGVzIHRvIG1haW50YWluIGNvbXBhdGliaWxpdHlcbiRncmF5MDE6ICR1bHRyYUxpZ2h0R3JheTsgLy8gQUEgVWx0cmEgTGlnaHQgR3JheVxuJGdyYXkwMjogJGxpZ2h0R3JheTsgLy8gQUEgTGlnaHQgR3JheVxuJGdyYXkwMzogJGdyYXk7IC8vIEFBIEdyYXlcbiRncmF5MDQ6ICRtZWRpdW1HcmF5OyAvLyBBQSBNZWRpdW0gR3JheVxuJGdyYXkwNTogJGRhcmtHcmF5OyAvLyBBQSBEYXJrIEdyYXlcblxuLy9cbi8vIEVsaXRlIFRpZXIgY29sb3JzXG4vLyBUaGVzZSBhcmUgTk9UIEZJTkFMLCBiYXNlZCBvbiBjb25jZXB0cyBieSBEYXZlIEplbm5pbmdzIGFuZCBNaWtlIEhlYWRsZXlcbi8vXG4kdGllclJFR0Rhcms6ICRkYXJrQmx1ZTtcbiR0aWVyUkVHTWlkOiAkYnJhbmRCbHVlO1xuJHRpZXJSRUdMaWdodDogJGxpZ2h0Qmx1ZTtcblxuXG4kdGllckdMRERhcms6ICM3MzY1MkI7XG4kdGllckdMRE1pZDogIzc4NjkzMTtcbiR0aWVyR0xETGlnaHQ6ICNGRkY0REM7XG5cbiR0aWVyUExURGFyazogI0M3QzhDQTtcbiR0aWVyUExUTWlkOiAjRTdFOEU4O1xuJHRpZXJQTFRMaWdodDogI0ZERkRGRDtcblxuJHRpZXJFWFBEYXJrOiAjMDAwMDAwO1xuJHRpZXJFWFBNaWQ6ICM1MTUxNTE7XG4kdGllckVYUExpZ2h0OiAjQzdDOENBO1xuXG5cbi8vXG4vLyBCcmFuZC1yZWxhdGVkIHRleHQgY29sb3JzXG4vL1xuJGJvZHlDb2xvcjogJGRhcmtHcmF5O1xuXG4kbGlua0NvbG9yOiAkYnJhbmRCbHVlO1xuJGxpbmtIb3ZlckNvbG9yOiAkYnJhbmRCbHVlO1xuJGxpbmtWaXNpdGVkQ29sb3I6ICRsaWdodEJsdWU7XG5cbiRhbHRMaW5rQ29sb3I6ICRkYXJrR3JheTtcbiRhbHRMaW5rSG92ZXJDb2xvcjogJGJyYW5kQmx1ZTtcbiRhbHRMaW5rVmlzaXRlZENvbG9yOiAkZGFya0dyYXk7XG5cbiRoZWFkaW5nc0NvbG9yOiAkYnJhbmRCbHVlO1xuJGFsdEhlYWRpbmdzQ29sb3I6ICRtZWRpdW1HcmF5O1xuXG4kZm9jdXNDb2xvcjogI0IwRDFFODtcblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbiRhbWVyaWNhbkZvbnRQYXRoOiBcIi9jb250ZW50L2ZvbnRzL2FtZXJpY2FuLXYyL1wiICFkZWZhdWx0O1xuJGFtZXJpY2FuSWNvbkZvbnRQYXRoOiBcIi9jb250ZW50L2ZvbnRzL2ljb25zL1wiICFkZWZhdWx0O1xuJGFtZXJpY2FuSW1nUGF0aDogXCIvY29udGVudC9pbWFnZXMvXCIgIWRlZmF1bHQ7XG5cbiRzdGFuZGFyZEZvbnRGYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuJHNhbnNGb250RmFtaWx5TGlnaHQ6IFwiQW1lcmljYW5TYW5zTGlnaHRcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRzYW5zRm9udEZhbWlseVJlZ3VsYXI6IFwiQW1lcmljYW5TYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kc2Fuc0ZvbnRGYW1pbHlNZWRpdW06IFwiQW1lcmljYW5TYW5zTWVkaXVtXCIsIENhbGlicmksIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbiRiYXNlRm9udFNpemU6IDE0O1xuJGJhc2VGb250RmFtaWx5OiAkc3RhbmRhcmRGb250RmFtaWx5O1xuJGJhc2VMaW5lSGVpZ2h0OiAyMHB4O1xuXG4vL1xuLy8gRm9udCBzaXplcyAoaW4gcGl4ZWxzKVxuLy9cbiRsZy1zaXplOiA1NiFkZWZhdWx0O1xuJGgxLXNpemU6IDM4IWRlZmF1bHQ7XG4kaDItc2l6ZTogMzAhZGVmYXVsdDtcbiRoMy1zaXplOiAyNCFkZWZhdWx0O1xuJGg0LXNpemU6IDE4IWRlZmF1bHQ7XG4kaDUtc2l6ZTogMTYhZGVmYXVsdDtcbiRoNi1zaXplOiAxNCFkZWZhdWx0O1xuJHNtLXNpemU6IDEyIWRlZmF1bHQ7XG4kdnNtLXNpemU6IDEwIWRlZmF1bHQ7XG4kbWVkLXNpemU6IDIxIWRlZmF1bHQ7XG4kcmVnLXNpemU6IDI3IWRlZmF1bHQ7XG5cbiRmb250U2l6ZXM6IChcbiAgICBhbHBoYTogKFxuICAgICAgICBkZXNrdG9wOiAkaDEtc2l6ZSxcbiAgICAgICAgbW9iaWxlOiAzMlxuICAgICksXG4gICAgYmV0YTogKFxuICAgICAgICBkZXNrdG9wOiAkaDItc2l6ZSxcbiAgICAgICAgbW9iaWxlOiAyN1xuICAgICksXG4gICAgZ2FtbWE6IChcbiAgICAgICAgZGVza3RvcDogJGgzLXNpemUsXG4gICAgICAgIG1vYmlsZTogMjFcbiAgICApLFxuICAgIGRlbHRhOiAoXG4gICAgICAgIGRlc2t0b3A6ICRoNC1zaXplLFxuICAgICAgICBtb2JpbGU6IDE4XG4gICAgKSxcbiAgICBlcHNpbG9uOiAoXG4gICAgICAgIGRlc2t0b3A6ICRoNS1zaXplLFxuICAgICAgICBtb2JpbGU6IDE2XG4gICAgKSxcbiAgICB6ZXRhOiAoXG4gICAgICAgIGRlc2t0b3A6ICRoNi1zaXplLFxuICAgICAgICBtb2JpbGU6IDE1XG4gICAgKVxuKTtcblxuJGxpbmVIZWlnaHRJbmNyZW1lbnQ6IDYhZGVmYXVsdDtcbiRsZy1saW5lSGVpZ2h0OiAkYmFzZUxpbmVIZWlnaHQgKiAzLjE7XG4kaDEtbGluZUhlaWdodDogJGJhc2VMaW5lSGVpZ2h0ICogMi4yO1xuJGgyLWxpbmVIZWlnaHQ6ICRiYXNlTGluZUhlaWdodCAqIDEuODtcbiRoMy1saW5lSGVpZ2h0OiAkYmFzZUxpbmVIZWlnaHQgKiAxLjU7XG4kaDQtbGluZUhlaWdodDogJGJhc2VMaW5lSGVpZ2h0ICogMS4yO1xuJGg1LWxpbmVIZWlnaHQ6ICRiYXNlTGluZUhlaWdodCAqIDEuMTtcbiRoNi1saW5lSGVpZ2h0OiAkYmFzZUxpbmVIZWlnaHQ7XG4kc20tbGluZUhlaWdodDogJGJhc2VMaW5lSGVpZ2h0ICogMC45O1xuXG4kaWNvbi1zbWFsbDogICAxMiFkZWZhdWx0O1xuJGljb24tZGVmYXVsdDogMTQhZGVmYXVsdDtcbiRpY29uLW1lZGl1bTogIDE4IWRlZmF1bHQ7XG4kaWNvbi1sYXJnZTogICAyNCFkZWZhdWx0O1xuJGljb24teGxhcmdlOiAgNTQhZGVmYXVsdDtcbiRpY29uLXh4bGFyZ2U6IDcwIWRlZmF1bHQ7XG4kaWNvbi14eHhsYXJnZTo4NiFkZWZhdWx0O1xuXG4vLyBsaXN0IHNwYWNpbmdcbiRiYXNlTGlzdFNwYWNpbmc6IDZweDtcblxuLy9cbi8vIFRoaXMgaXMgdGhlIGJhc2U2NC1lbmNvZGVkIGRyb3Bkb3duIHRyaWFuZ2xlIHVzZWQgaW4gZHJvcGRvd24gdHJpZ2dlcnMgc3VjaFxuLy8gYXMgdGhlIGNvdW50cnkvbGFuZ3VhZ2UgYW5kIGFjY291bnQgc3RhdHVzIGluIHRoZSBoZWFkZXIsIGFzIHdlbGwgYXMgPHNlbGVjdD5cbi8vIGlucHV0cyBpbiBmb3Jtcy5cbi8vXG4kZHJvcGRvd25UcmlhbmdsZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxSMGxHT0RsaERRQUVBSUFBQUFBQUFQOEEveUg1QkFFSEFBRUFMQUFBQUFBTkFBUUFBQUlMaEEraEc1ak1EcHh2aGdJQU93PT0pO1xuJGJsdWVEcm9wZG93blRyaWFuZ2xlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBUENBWUFBQUQrcEEvYkFBQUFBWE5TUjBJQXJzNGM2UUFBQU45SlJFRlVPQkcxa2NFTmdrQVFSZi9BUVZ1Z0JROWNMTVVlOUlSbnRRQzFCS1VoVGw0MHNRVjZNREhyekVJVUI1QmR3RW1XTEp1Wjl6TjVoTzN0QkdOVytFY1JuUU5NZ2pXSXN0SDV3bVEyV2ZEdUhzRThMN3hKTkVvUVVRNEs1OWpQOHNBQytRS1lCVy95R0J4Z0djeXlUS0FJRU9vaHpuaURaSENBTUlSVjFpZEFIbzV4eWw4NWZTc3RHZS81N3dCNW5vWkpMK2tpVldaVkZaTFZJM3lsVjZScVZIMEQ2ZkNScnFTNkJVaVhxM1FsMVQxQU9ydWwxNlQ2QlVoM20vUVdxVHFnV2JMdTB0Si9TTldqelpKMVYxVjZoMVE5NnZlL3VTNGh4Nk5lRlhoWmcxN2c4blFBQUFBQVNVVk9SSzVDWUlJPScpO1xuXG4vL1xuLy8gR1JJRC1WQVJJQUJMRVNcbi8vXG5cbiRmbHVpZDogZmFsc2UhZGVmYXVsdDtcblxuJGdyaWRDb2x1bW5zOiAxMjtcbiRncmlkQ29sdW1uV2lkdGg6IDY0cHg7XG4kZ3JpZEd1dHRlcldpZHRoOiAyMnB4O1xuJGdyaWRIZXJvV2lkdGg6IDkwcHg7XG4kZ3JpZEhlcm9IZWlnaHRPZmZzZXQ6IDg1cHg7XG5cbiRncmlkVG90YWxHdXR0ZXI6ICRncmlkQ29sdW1ucyAqICRncmlkQ29sdW1uV2lkdGggKyAkZ3JpZENvbHVtbnMgKiAkZ3JpZEd1dHRlcldpZHRoO1xuXG4kZ3JpZFRvdGFsOiAkZ3JpZFRvdGFsR3V0dGVyIC0gJGdyaWRHdXR0ZXJXaWR0aDtcblxuJGZsdWlkR3JpZENvbHVtbldpZHRoOiBwZXJjZW50YWdlKCRncmlkQ29sdW1uV2lkdGggLyAkZ3JpZFRvdGFsR3V0dGVyKTtcbiRmbHVpZEdyaWRHdXR0ZXJXaWR0aDogcGVyY2VudGFnZSgkZ3JpZEd1dHRlcldpZHRoIC8gJGdyaWRUb3RhbEd1dHRlcik7XG4kZml4ZWRDb250YWluZXJXaWR0aDogICAoJGdyaWRDb2x1bW5zICogJGdyaWRDb2x1bW5XaWR0aCkgKyAoJGdyaWRHdXR0ZXJXaWR0aCAqICgkZ3JpZENvbHVtbnMgLSAxKSk7XG4kbW9iaWxlQ29udGFpbmVyTGVmdFBhZGRpbmc6IDMlO1xuJG1vYmlsZUNvbnRhaW5lclJpZ2h0UGFkZGluZzogMyU7XG5cbi8vXG4vLyBIZWFkZXItU3BhY2luZ1xuLy9cblxuJG1vYmlsZS1oZWFkZXItbWFyZ2luLWJvdHRvbTogMjBweDtcbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnNcIjtcblxuQG1peGluIGNsZWFyZml4IHtcbiAgICAqem9vbTogMTtcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxufVxuXG5AbWl4aW4gc2VsZmNsZWFyIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbn1cblxuQG1peGluIGZvY3VzLWFjY2Vzc2libGV7XG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAkZm9jdXNDb2xvcjtcbiAgICAgICAuaXMtbW9iaWxlICYge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gaGlkZGVuLWFjY2Vzc2libGUge1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIGNsaXA6IHJlY3QoMHB4LCAwcHgsIDBweCwgMHB4KTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xufVxuQG1peGluIGhpZGUtdGV4dCB7XG4gICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5AbWl4aW4gZm9udC1zaXplKCRmb250LXNpemUpIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUgK3B4O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZSAvICRiYXNlRm9udFNpemUgK3JlbTtcbn1cbkBtaXhpbiBmb250LXNpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSkge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZSArcHg7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplIC8gJGJhc2VGb250U2l6ZSArcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9udC1zaXplICsgJGxpbmVIZWlnaHRJbmNyZW1lbnQgKyBweDtcbn1cblxuQG1peGluIGZvbnQtc2l6ZS1pbXBvcnRhbnQoJGZvbnQtc2l6ZSkge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZSArcHggIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUgLyAkYmFzZUZvbnRTaXplICtyZW0gIWltcG9ydGFudDtcbn1cblxuQG1peGluIGhlYWQxKCR0eXBlOiAnZGVza3RvcCcpIHtcbiAgICBmb250LWZhbWlseTogJHNhbnNGb250RmFtaWx5TGlnaHQ7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmUtaGVpZ2h0KG1hcC1kZWVwLWdldCgkZm9udFNpemVzLCAnYWxwaGEnLCAkdHlwZSkpO1xufVxuXG5AbWl4aW4gaGVhZDIoJHR5cGU6ICdkZXNrdG9wJykge1xuICAgIGZvbnQtZmFtaWx5OiAkc2Fuc0ZvbnRGYW1pbHlMaWdodDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZS1oZWlnaHQobWFwLWRlZXAtZ2V0KCRmb250U2l6ZXMsICdiZXRhJywgJHR5cGUpKTtcbn1cblxuQG1peGluIGhlYWQzKCR0eXBlOiAnZGVza3RvcCcpIHtcbiAgICBmb250LWZhbWlseTogJHNhbnNGb250RmFtaWx5TGlnaHQ7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmUtaGVpZ2h0KG1hcC1kZWVwLWdldCgkZm9udFNpemVzLCAnZ2FtbWEnLCAkdHlwZSkpO1xufVxuXG5AbWl4aW4gaGVhZDQoJHR5cGU6ICdkZXNrdG9wJykge1xuICAgIGZvbnQtZmFtaWx5OiAkc2Fuc0ZvbnRGYW1pbHlSZWd1bGFyO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5lLWhlaWdodChtYXAtZGVlcC1nZXQoJGZvbnRTaXplcywgJ2RlbHRhJywgJHR5cGUpKTtcbn1cblxuQG1peGluIGhlYWQ1KCR0eXBlOiAnZGVza3RvcCcpIHtcbiAgICBmb250LWZhbWlseTogJGJhc2VGb250RmFtaWx5O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5lLWhlaWdodChtYXAtZGVlcC1nZXQoJGZvbnRTaXplcywgJ2Vwc2lsb24nLCAkdHlwZSkpO1xufVxuXG5AbWl4aW4gaGVhZDYoJHR5cGU6ICdkZXNrdG9wJykge1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzZUZvbnRGYW1pbHk7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmUtaGVpZ2h0KG1hcC1kZWVwLWdldCgkZm9udFNpemVzLCAnemV0YScsICR0eXBlKSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuQG1peGluIGZvbnQtc21hbGx7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNlRm9udEZhbWlseTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJHNtLXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkc20tbGluZUhlaWdodDtcbn1cblxuQG1peGluIGZvbnQtbGFyZ2Uge1xuICAgIGZvbnQtZmFtaWx5OiAkc2Fuc0ZvbnRGYW1pbHlMaWdodDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGxnLXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGctbGluZUhlaWdodDtcbn1cblxuQG1peGluIHNoYWRvdy11cCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGFtZXJpY2FuSW1nUGF0aH1jaHJvbWUvcmVicmFuZC9zaGFkb3cxMi11cC5wbmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSBib3R0b207XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgNHB4O1xufVxuXG5AbWl4aW4gc2hhZG93LWRvd24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRhbWVyaWNhbkltZ1BhdGh9Y2hyb21lL3JlYnJhbmQvc2hhZG93MTItZG93bi5wbmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSB0b3A7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgNHB4O1xufVxuXG5AbWl4aW4gc2hhZG93LXVwLXRvcCB7XG4gICAgQGluY2x1ZGUgc2hhZG93LXVwO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSB0b3A7XG59XG5cbkBtaXhpbiBzaGFkb3ctZG93bi1ib3R0b20ge1xuICAgIEBpbmNsdWRlIHNoYWRvdy1kb3duO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSBib3R0b207XG59XG5cbkBtaXhpbiBzaGFkb3ctYm90aCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGFtZXJpY2FuSW1nUGF0aH1jaHJvbWUvcmVicmFuZC9zaGFkb3cxMi11cC5wbmcpLCB1cmwoI3skYW1lcmljYW5JbWdQYXRofWNocm9tZS9yZWJyYW5kL3NoYWRvdzEyLWRvd24ucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgYm90dG9tLCA1MCUgdG9wO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDRweDtcblxuICAgIC5sdC1pZTkgJiB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHRHcmF5O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0R3JheTtcbiAgICB9XG59XG5cbkBmdW5jdGlvbiBiYXNlLWxpbmUtaGVpZ2h0KCRzaXplOidiYXNlJykge1xuICAgICRuOiAxO1xuICAgIEBpZiAoJHNpemUgPT0gJ3hzbWFsbCcpIHtcbiAgICAgICAgJG46IDAuMjU7XG4gICAgfVxuICAgIEBlbHNlIGlmICgkc2l6ZSA9PSAnc21hbGwnKSB7XG4gICAgICAgICRuOiAwLjU7XG4gICAgfVxuICAgIEBlbHNlIGlmICgkc2l6ZSA9PSAnbGFyZ2UnKSB7XG4gICAgICAgICRuOiAxLjU7XG4gICAgfVxuICAgIEBlbHNlIGlmICgkc2l6ZSA9PSAneGxhcmdlJykge1xuICAgICAgICAkbjogMjtcbiAgICB9XG4gICAgQHJldHVybiAkYmFzZUxpbmVIZWlnaHQgKiAkbjtcbn1cblxuQG1peGluIHN1cGVyc2NyaXB0IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5AbWl4aW4gdmVydGljYWwtYWxpZ24oJHBvc2l0aW9uOiByZWxhdGl2ZSkge1xuICAgIHBvc2l0aW9uOiAkcG9zaXRpb247XG4gICAgdG9wOiA1MCU7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuQG1peGluIG1hcmdpbigkcG9zaXRpb246J2FsbCcsJHNpemU6J2Jhc2UnKSB7XG4gICAgQGlmICgkcG9zaXRpb24gPT0gJ3RvcCcpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYmFzZS1saW5lLWhlaWdodCgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIGlmICgkcG9zaXRpb24gPT0gJ2JvdHRvbScpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYmFzZS1saW5lLWhlaWdodCgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIGlmICgkcG9zaXRpb24gPT0gJ2JvdGgnKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJhc2UtbGluZS1oZWlnaHQoJHNpemUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBiYXNlLWxpbmUtaGVpZ2h0KCRzaXplKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IGJhc2UtbGluZS1oZWlnaHQoJHNpemUpO1xuICAgIH1cbn1cbkBtaXhpbiBwYWRkaW5nKCRwb3NpdGlvbjonYWxsJywkc2l6ZTonYmFzZScpIHtcbiAgICBAaWYgKCRwb3NpdGlvbiA9PSAndG9wJykge1xuICAgICAgICBwYWRkaW5nLXRvcDogYmFzZS1saW5lLWhlaWdodCgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIGlmICgkcG9zaXRpb24gPT0gJ2JvdHRvbScpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGJhc2UtbGluZS1oZWlnaHQoJHNpemUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHBvc2l0aW9uID09ICdib3RoJykge1xuICAgICAgICBwYWRkaW5nLXRvcDogYmFzZS1saW5lLWhlaWdodCgkc2l6ZSk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBiYXNlLWxpbmUtaGVpZ2h0KCRzaXplKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBwYWRkaW5nOiBiYXNlLWxpbmUtaGVpZ2h0KCRzaXplKTtcbiAgICB9XG59XG5cbkBtaXhpbiBoci1saW5lKCRwb3NpdGlvbjonYm90aCcsJHNpemU6J2Jhc2UnKSB7XG4gICAgQGlmICgkcG9zaXRpb24gPT0gJ3RvcCcpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodEdyYXk7XG4gICAgfVxuICAgIEBlbHNlIGlmICgkcG9zaXRpb24gPT0gJ2JvdHRvbScpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodEdyYXk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodEdyYXk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHRHcmF5O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtYXJnaW4oJHBvc2l0aW9uLCRzaXplKTtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRwb3NpdGlvbiwkc2l6ZSk7XG59XG5cbkBtaXhpbiBoci1kYXNoZWQoJHBvc2l0aW9uOidib3RoJywkc2l6ZTonYmFzZScpIHtcbiAgICBAaWYgKCRwb3NpdGlvbiA9PSAndG9wJykge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICRsaWdodEdyYXk7XG4gICAgfVxuICAgIEBlbHNlIGlmICgkcG9zaXRpb24gPT0gJ2JvdHRvbScpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAkbGlnaHRHcmF5O1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHBvc2l0aW9uID09ICdtaWRkbGUnKSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgJGxpZ2h0R3JheTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICRsaWdodEdyYXk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgJGxpZ2h0R3JheTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWFyZ2luKCRwb3NpdGlvbiwkc2l6ZSk7XG4gICAgQGluY2x1ZGUgcGFkZGluZygkcG9zaXRpb24sJHNpemUpO1xufVxuXG5AbWl4aW4gaHItaW1hZ2UoJHBvc2l0aW9uOidib3RoJywkc2l6ZTonYmFzZScpIHtcbiAgICAkaW1hZ2U6IHVybCgjeyRhbWVyaWNhbkltZ1BhdGh9Y2hyb21lL3JlYnJhbmQvc2hhZG93LWRvd24ucG5nKTtcbiAgICAkaW1hZ2VfdG9wOiAkaW1hZ2Ugbm8tcmVwZWF0IDUwJSB0b3AgLyAxMDAlIDVweDtcbiAgICAkaW1hZ2VfYm90dG9tOiAkaW1hZ2Ugbm8tcmVwZWF0IDUwJSBib3R0b20gLyAxMDAlIDVweDtcbiAgICAkaW1hZ2VfdG9wX2llOiAkaW1hZ2Ugbm8tcmVwZWF0IDUwJSB0b3A7XG4gICAgJGltYWdlX2JvdHRvbV9pZTogJGltYWdlIG5vLXJlcGVhdCA1MCUgYm90dG9tO1xuICAgICRpbWFnZV9ib3RoOiAkaW1hZ2VfdG9wLCAkaW1hZ2VfYm90dG9tO1xuICAgICRoY19ib3JkZXI6IDFweCBkb3R0ZWQgdHJhbnNwYXJlbnQ7ICAgIC8vIEExMVk6IFVzZWQgZm9yIGhpZ2gtY29udHJhc3RcbiAgICBAaWYgJHBvc2l0aW9uID09ICd0b3AnIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGltYWdlX3RvcDtcbiAgICAgICAgYm9yZGVyLXRvcDogJGhjX2JvcmRlcjtcbiAgICAgICAgLmx0LWllOSAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRpbWFnZV90b3BfaWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdib3R0b20nIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGltYWdlX2JvdHRvbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGhjX2JvcmRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaW1hZ2VfYm90aDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGhjX2JvcmRlcjtcbiAgICAgICAgYm9yZGVyLXRvcDogJGhjX2JvcmRlcjtcbiAgICAgICAgLmx0LWllOSAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRpbWFnZV90b3BfaWU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGltYWdlX2JvdHRvbV9pZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWFyZ2luKCRwb3NpdGlvbiwkc2l6ZSk7XG4gICAgQGluY2x1ZGUgcGFkZGluZygkcG9zaXRpb24sJHNpemUpO1xufVxuXG5AbWl4aW4gaWUtMTAoKSB7XG4gICAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAgICAgQGNvbnRlbnRcbiAgICB9XG59XG5cbkBtaXhpbiBlZGdlIHtcbiAgICBAc3VwcG9ydHMgKC1tcy11c2VyLXNlbGVjdDogbm9uZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gbWljcm9zb2Z0LWJyb3dzZXJzKCRicm93c2Vycy4uLikge1xuICAgIEBlYWNoICRicm93c2VyIGluICRicm93c2VycyB7XG4gICAgICAgIEBpZiAoJGJyb3dzZXIgPT0gaWUtMTApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGllLTEwIHtcbiAgICAgICAgICAgICAgQGNvbnRlbnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSBpZiAoJGJyb3dzZXIgPT0gZWRnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZWRnZSB7XG4gICAgICAgICAgICAgIEBjb250ZW50XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyBNaXhpbnMgZm9yIGdyYWRpZW50c1xuLy9cbkBtaXhpbiBncmFkaWVudCgkZGVmYXVsdCwkZnJvbSwkdG8pIHtcbiAgICBiYWNrZ3JvdW5kOiAkZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBmaWx0ZXItZ3JhZGllbnQoJGZyb20sICR0byk7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZChsaW5lYXItZ3JhZGllbnQoJGZyb20sICR0bykpO1xufVxuQG1peGluIGctYnJhbmRCbHVlIHtcbiAgICBAaW5jbHVkZSBncmFkaWVudCgkbGlnaHRCbHVlLCAkbGlnaHRCbHVlLCAkYnJhbmRCbHVlKTtcbn1cbkBtaXhpbiBncmFkaWVudC1saWdodEJsdWUtZGFya0JsdWUge1xuICAgIEBpbmNsdWRlIGdyYWRpZW50KCRicmFuZEJsdWUsICRsaWdodEJsdWUsICRkYXJrQmx1ZSk7XG59XG5cbi8vXG4vLyBNaXhpbnMgZm9yIHRoZW1lc1xuLy9cbkBtaXhpbiB0aGVtZS1icmFuZEJsdWUtZ3JhZGllbnQge1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWxpZ2h0Qmx1ZS1kYXJrQmx1ZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgYSwgaDIsIGxhYmVsIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICY6Zm9jdXMsICY6aG92ZXJ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1c3tcbiAgICAgICAgICAgIG91dGxpbmU6IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5AbWl4aW4gdGhlbWUtZGFya0JsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrQmx1ZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgYSwgbGFiZWwge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICY6Zm9jdXMsICY6aG92ZXJ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1c3tcbiAgICAgICAgICAgIG91dGxpbmU6IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5mby1ub3Rle1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxufVxuQG1peGluIHRoZW1lLXVsdHJhTGlnaHRHcmF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdWx0cmFMaWdodEdyYXk7XG4gICAgQGluY2x1ZGUgcGFkZGluZygnYWxsJyk7XG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkZGV0cm9pdEJsdWU7XG4gICAgfVxuICAgIGgzLGg0LGg1LGg2LC5ub3RlIHtcbiAgICAgICAgY29sb3I6ICRkYXJrR3JheTtcbiAgICB9XG59XG5AbWl4aW4gdGhlbWUtc3VwZXJVbHRyYUxpZ2h0R3JheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN1cGVyVWx0cmFMaWdodEdyYXk7XG4gICAgY29sb3I6ICRkYXJrR3JheTtcbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRkZXRyb2l0Qmx1ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXN7XG4gICAgICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgJGRldHJvaXRCbHVlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuQG1peGluIHRoZW1lLXN1cGVyVWx0cmFMaWdodEdyYXktZ3JhZGllbnQge1xuICAgIEBpbmNsdWRlIGdyYWRpZW50KCRzdXBlclVsdHJhTGlnaHRHcmF5LCRzdXBlclVsdHJhTGlnaHRHcmF5LCR3aGl0ZSk7XG4gICAgQGluY2x1ZGUgcGFkZGluZygnYWxsJyk7XG4gICAgcGFkZGluZy1ib3R0b206IDBweDtcbiAgICBoMyxoNCxoNSxoNiwubm90ZSB7XG4gICAgICAgIGNvbG9yOiAkZGFya0dyYXk7XG4gICAgfVxuICAgIGEge1xuICAgICAgICBjb2xvcjogJGRldHJvaXRCbHVlO1xuICAgIH1cbn1cblxuQG1peGluIHRoZW1lLWRpYWxvZy1ncmF5T3ZlcmxheXtcblx0Ji51aS1kaWFsb2d7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHQudWktZGlhbG9nLXRpdGxlYmFye1xuXHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIHRoZW1lLW1vYmlsZWRpYWxvZy1ncmF5YmFja2dyb3VuZHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHN1cGVyVWx0cmFMaWdodEdyYXk7XG5cdC51aS1kaWFsb2ctdGl0bGViYXJ7XG5cdFx0LnVpLWJ1dHRvbntcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzdXBlclVsdHJhTGlnaHRHcmF5O1xuXHRcdH1cblx0fVxuXHQudWktZGlhbG9nLWJ1dHRvbnBhbmV7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHN1cGVyVWx0cmFMaWdodEdyYXk7XG5cdH1cbn1cblxuLy9cbi8vIE1peGlucyBmb3IgUmVzcG9uc2l2ZSBNZWRpYVF1ZXJpZXNcbi8vXG5AbWl4aW4gcmVzcG9uZC10bygkbWVkaWEpIHtcbiAgICAvKiBNZWRpYTogI3skbWVkaWF9ICovXG4gICAgQGlmICRtZWRpYSA9PSBwaG9uZV9wb3J0cmFpdCB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCkgIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJG1lZGlhID09IHBob25lX3NtYWxsIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDMyMHB4KSAgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0gcGhvbmVfbGFuZHNjYXBlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0gcGhvbmUge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0gdGFibGV0X3BvcnRyYWl0IHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5NzlweCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0gdGFibGV0X3BvcnRyYWl0X2Rvd24ge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzlweCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0gdGFibGV0X2xhbmRzY2FwZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSBhbmQgKG1heC13aWR0aDogMTAzMnB4KSB7IEBjb250ZW50OyB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSB0YWJsZXRfbGFuZHNjYXBlX3VwIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTgwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJG1lZGlhID09IHRhYmxldCB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAzMnB4KSB7IEBjb250ZW50OyB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSB0YWJsZXRfZG93biB7ICAgIC8vcGhvbmUtdGFibGV0XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMzJweCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0gdGFibGV0X3VwIHsgICAgICAgIC8vdGFibGV0LWRlc2t0b3BcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJG1lZGlhID09IGRlc2t0b3Age1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMzcHgpIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJG1lZGlhID09IGRlc2t0b3BfaGVpZ2h0X2Rvd24ge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNzQwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG59XG5cbkBtaXhpbiBoaWRlQWNjZXNzaWJsZUNvbXBvbmVudCgpIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG5AbWl4aW4gcm90YXRlKCAkZGVncmVlcyApIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgjeyRkZWdyZWVzfWRlZyk7XG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoI3skZGVncmVlc31kZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoI3skZGVncmVlc31kZWcpO1xuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgjeyRkZWdyZWVzfWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKCN7JGRlZ3JlZXN9ZGVnKTtcbiB9XG5cbiBAbWl4aW4gYWZmaXgoJHRvcDogMCwgJG1hcmdpbkJvdHRvbTogMCkge1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW5Cb3R0b207XG4gICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAkdG9wO1xuIH1cblxuIEBtaXhpbiBpY29uLWJ1dHRvbigkdG9wLCAkcmlnaHQpIHtcbiAgICB0b3A6ICR0b3A7XG4gICAgcmlnaHQ6ICRyaWdodDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6ICRicmFuZEJsdWU7XG4gICAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAkYnJhbmRCbHVlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuICAgIC5pY29uLWxvY2F0ZTo6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgIH1cbiB9XG5cbiBAbWl4aW4gaW5mby1ub3RlKCkge1xuICAgICBmb250LWZhbWlseTogJHNhbnNGb250RmFtaWx5UmVndWxhcjtcbiAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmUtaGVpZ2h0KCRzbS1zaXplKTtcbiAgICAgY29sb3I6ICRyYW5nZXJHcmVlbjtcbiB9XG5cbiBAbWl4aW4gYWlsZXJvbi1idXR0b24oJHR5cGU6IFwicHJpbWFyeVwiKXtcbiAgICBAaWYgJHR5cGUgPT0gXCJwcmltYXJ5XCIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRCbHVlO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBwYWRkaW5nOiA2cHggMTdweDtcbiAgICB9XG4gICAgQGlmICR0eXBlID09IFwic2Vjb25kYXJ5XCIge1xuICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICBjb2xvcjogJGJyYW5kQmx1ZTtcbiAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYnJhbmRCbHVlO1xuICAgICAgIHBhZGRpbmc6IDVweCAxN3B4O1xuICAgfVxuICAgZm9udC1zaXplOiAxcmVtO1xuICAgZm9udC1mYW1pbHk6ICRzYW5zRm9udEZhbWlseU1lZGl1bTtcbiAgIG1pbi13aWR0aDogNzZweDtcbiAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xufVxuXG5AbWl4aW4gYWlsZXJvbi1idXR0b24tcGhvbmUoJHR5cGU6IFwicHJpbWFyeVwiKSB7XG4gICAgQGluY2x1ZGUgYWlsZXJvbi1idXR0b24oJHR5cGUpO1xuICAgIEBpZiAkdHlwZSA9PSBcInByaW1hcnlcIiB7XG4gICAgICAgIHBhZGRpbmc6IDVweCA2cHg7XG4gICAgfVxuICAgIEBpZiAkdHlwZSA9PSBcInNlY29uZGFyeVwiIHtcbiAgICAgICAgcGFkZGluZzogNHB4IDZweDtcbiAgICB9XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIG1pbi13aWR0aDogNTBweDtcbiAgICBtaW4taGVpZ2h0OiAyOHB4O1xuICAgIG1hcmdpbjogMTJweCAwO1xuIH1cbiIsIi5oZXJvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTAyO1xuICAgIGhlaWdodDogNTk0cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC00NXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMTAwcHg7XG5cbiAgICBpbWcge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiNhYS1ocC1hZC1oZXJvIHtcblx0JiBhe1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHQgICAgaGVpZ2h0OiAxMDAlO1xuXHRcdCY6Zm9jdXMge1xuICAgIFx0XHRib3JkZXI6IDJweCBzb2xpZCAkYnJhbmRCbHVlO1xuICAgIFx0fVxuICAgIH1cbn1cblxuLmhlcm8tY29udHJvbHMge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdG9wOiAwO1xuXG4gICAgJiBidXR0b24ge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG59XG4jaGVyby1wcmV2LCAjaGVyby1uZXh0IHtcblx0cGFkZGluZzogMHB4O1xuICAgIGJvcmRlcjogMnB4IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNDVweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHotaW5kZXg6IDIwO1xuXG4gICAgJiBpbWcge1xuICAgIFx0aGVpZ2h0OjUwcHg7XG4gICAgXHR3aWR0aDogMTAwcHg7XG4gICAgXHRtYXgtd2lkdGg6MjAwJTtcblx0fVxuXHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRvdXRsaW5lIDogbm9uZSAhaW1wb3J0YW50O1xuXHRcdGJhY2tncm91bmQ6ICR0aWVyRVhQRGFyaztcblx0XHRvcGFjaXR5OiAwLjY7XG4gICAgXHRmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NjApO1xuXHR9XG5cdCY6Zm9jdXMge1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkICRicmFuZEJsdWU7XG5cdFx0JiBpbWd7XG4gICAgXHRcdGJvcmRlci10b3A6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBcdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIFx0XHRib3JkZXItaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICR0aWVyRVhQRGFyayAwJSwgJHRpZXJFWFBEYXJrIDEwMCUpO1xuXHRcdCAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDE7XG4gICAgXHR9XG5cdH1cbn1cblxuI2hlcm8tcHJldiB7XG5cdGxlZnQ6IDA7XG59XG5cbiNoZXJvLW5leHQge1xuICAgIHJpZ2h0OiAwO1xuICAgICYgaW1nIHtcbiAgICBcdG1hcmdpbi1sZWZ0OiAtNDVweDtcbiAgICB9XG59XG4jaGVyby1wYXVzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDMyNXB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBsZWZ0OiA0NXB4O1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHotaW5kZXg6IDIwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAmIGltZyB7XG4gICAgXHRoZWlnaHQ6NjBweDtcbiAgICBcdHdpZHRoOiAzMHB4O1xuXG5cdH1cbn1cbi5wYXVzZSB7XG5cdCYgaW1nIHtcbiAgICBcdG1hcmdpbi10b3A6LTMwcHg7XG5cdH1cbn1cbiIsIi5hY2NvdW50LWluZm8sXG4jbG9naW4ge1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQmIGE6Zm9jdXN7XG4gIFx0XHRvdXRsaW5lOiAxcHggc29saWQgJHdoaXRlO1xuICBcdH1cbiAgICAmIC5saW5rIHtcbiAgICBcdG1hcmdpbi10b3A6IDAuMmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBBbWVyaWNhblNhbnNMaWdodDtcbiAgICB9XG4gICAgJiBoMntcbiAgICBcdGNvbG9yOiAkd2hpdGU7XG4gICAgXHRtYXJnaW4tYm90dG9tOiAwLjNlbTtcbiAgICB9XG4gICAgJiBpbnB1dHtcbiAgICBcdHBhZGRpbmc6IDZweCA2cHg7XG4gICAgfVxuICAgICYgcCwmIC5idG4ge1xuICAgIFx0bWFyZ2luOjA7XG4gICAgfVxuXG59XG4jbG9naW4ge1xuXHQmIC5jdXN0b21Db21wb25lbnR7XG4gICAgXHQmIGxhYmVse1xuICAgIFx0XHRmb250LXNpemU6IDEzcHg7XG4gICAgXHRcdCYgLmxibCB7XG4gICAgXHRcdFx0d2lkdGg6IDc1JTtcbiAgICBcdFx0fVxuICAgIFx0fVxuICAgIH1cbiAgICAmIC5mb3Jnb3QtbGluay13cmFwcGVye1xuICAgIFx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIFx0Zm9udC1zaXplOjEycHg7XG4gICAgXHRib3R0b206IDE1cHg7XG4gIFx0ICAgIHdpZHRoOiA5NSU7XG4gIFx0ICAgICYgYXtcbiAgXHQgICAgXHRjb2xvcjogJHdoaXRlO1xuICBcdCAgICBcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gIFx0ICAgIFx0Jjpmb2N1cyxcblx0ICAgICAgICAmOmhvdmVye1xuXHQgICAgICAgIFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHQgICAgICAgIH1cbiAgXHQgICAgfVxuXHR9XG5cdCYgLnJlbWVtYmVyLXN1Ym1pdC13cmFwcGVyIHtcblx0XHRwYWRkaW5nLXRvcDoxMHB4O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cdCYgLmZvcmdvdC1BZHZQYXNzd29yZC13cmFwcGVye1xuXHQgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5lLWhlaWdodCgxMik7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgICAgXHQgICAgd2lkdGg6IDk1JTtcbiAgICAgIFx0ICAgICYgYXtcbiAgICAgIFx0ICAgIFx0Y29sb3I6ICR3aGl0ZTtcbiAgICAgIFx0ICAgIFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICBcdCAgICBcdCY6Zm9jdXMsXG4gICAgXHQgICAgICAgICY6aG92ZXJ7XG4gICAgXHQgICAgICAgIFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRcdH1cbiAgICAgIFx0ICAgIH1cbiAgICBcdH1cbn1cbi5hY2NvdW50LWluZm97XG5cdGZvbnQtZmFtaWx5OiRzYW5zRm9udEZhbWlseVJlZ3VsYXI7XG5cblx0aDJ7XG5cdFx0QGluY2x1ZGUgaGVhZDM7XG5cdFx0bWFyZ2luLWJvdHRvbTowLjgzM2VtO1xuXHR9XG5cblx0LmNhcmRtZW1iZXItbmFtZXtcblx0XHRAaW5jbHVkZSBoZWFkMztcblx0XHRmb250LWZhbWlseTokc2Fuc0ZvbnRGYW1pbHlNZWRpdW07XG5cdFx0cGFkZGluZy1ib3R0b206MTBweDtcblx0fVxuXG5cdC5hY2NvdW50LWluZm8tbGlua3Mge1xuXHQgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICBib3R0b206IDE1cHg7XG5cdCAgbGVmdDogMTVweDtcblx0ICByaWdodDogMTVweDtcblx0fVxuXHQgIHAuZGVsdGF7XG4gICAgXHRwYWRkaW5nLWJvdHRvbToxMHB4O1xuICAgIH1cbiAgICAgcC5jYXJkbWVtYmVyLW1pbGVhZ2V7XG4gICAgIFx0QGluY2x1ZGUgaGVhZDU7XG4gICAgIFx0Zm9udC1mYW1pbHk6JHNhbnNGb250RmFtaWx5UmVndWxhcjtcbiAgICBcdHBhZGRpbmctYm90dG9tOjBweDtcbiAgICBcdG1hcmdpbi10b3A6MjBweDtcbiAgICB9XG4gICAgIC5jcmVkaXRDYXJkR3JlZXRpbmd7XG4gICAgXHRwYWRkaW5nLWJvdHRvbToxMHB4O1xuICAgIH1cblxufVxuXG4iLCIjYm9va2luZy1tb2R1bGUtdGFicyB7XG4gICAgbWluLWhlaWdodDogMjJlbTtcblxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgJltyZWFkb25seV1bZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIGJ1dHRvbltjbGFzc349XCJidG5cIl0sXG4gICAgJiBpbnB1dFt0eXBlPVwic3VibWl0XCJde1xuICAgICAgICBwYWRkaW5nOiA2cHggOXB4O1xuICAgICAgICBtYXJnaW46IDI1cHggMCAwIDA7XG4gICAgfVxuXG4gICAgJiBbY2xhc3N8PVwibWVzc2FnZVwiXSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCAxMHB4IDIwcHg7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgICAgICAgICAgdG9wOjhweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIC5tZXNzYWdlLWVycm9yIH4gc3BhbntcbiAgICAgICAgY29sb3I6ICRkYXJrUmVkO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgIH1cbiAgICAmIC5tZXNzYWdlLXdhcm5pbmcgfiBzcGFue1xuICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcbiAgICB9XG5cbiAgICAudWktdGFicy1uYXYge1xuICAgICAgICBAaW5jbHVkZSBzaGFkb3ctdXA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdWx0cmFMaWdodEdyYXk7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkbGlnaHRHcmF5O1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS10YWJzLWFuY2hvciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRicmFuZEJsdWU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogLjVlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYudWktdGFicy1hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcblxuICAgICAgICAgICAgICAgIC51aS10YWJzLWFuY2hvciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya0JsdWU7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi51aS1zdGF0ZS1mb2N1cyB7XG4gICAgICAgICAgICAgICAgLnVpLXRhYnMtYW5jaG9yIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVpLXRhYnMtcGFuZWwge1xuICAgICAgICBtYXJnaW46IDMwcHggMjVweCAyMHB4IDI1cHg7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICB9XG59XG5cbi5mbGlnaHRTdGF0dXNtYXJnaW4tdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xufVxuXG4uY2hlY2tpbi1tc2cge1xuICAgIHBhZGRpbmc6IDAgMTVweDtcbn1cbiIsIi5yZWFjdGl2YXRlLW1vZGFsIHtcbiAgICAjcmVhY3RpdmF0ZS1uby10aGFua3MtbGluayB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh0YWJsZXRfdXApIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG1lZGl1bSBub25lO1xuICAgICAgICAgICAgY29sb3I6ICRsaW5rQ29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzdGFuZGFyZEZvbnRGYW1pbHk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGJhc2VMaW5lSGVpZ2h0O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmFzZUZvbnRTaXplKTtcblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkICRicmFuZEJsdWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZXhwaXJlZC10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICRzYW5zRm9udEZhbWlseUxpZ2h0O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBjb2xvcjogJGRhcmtCbHVlO1xuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xufVxuXG4ucmVhY3RpdmF0ZS1jYWxsb3V0IHtcbiAgICBmb250LWZhbWlseTogJHNhbnNGb250RmFtaWx5UmVndWxhcjtcbiAgICBjb2xvcjogJGxpZ2h0T3JhbmdlO1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZXhwaXJlZC1taWxlcy1zZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xufVxuXG4ucmVhY3RpdmF0ZS1saW5rIHtcbiAgICBjb2xvcjogJHdoaXRlO1xufVxuIiwiLy8gY29tcGFzcyBtaXhpbnNcbkBpbXBvcnQgXCJjb21wYXNzL2NzczNcIjtcbi8vIHJlcXVpcmVkIHBhcnRpYWxzXG5AaW1wb3J0IFwidjMvcGFydGlhbHMvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwidjMvcGFydGlhbHMvbWl4aW5zXCI7XG5AaW1wb3J0IFwidjMvcGFydGlhbHMvdGFibGVzXCI7XG5AaW1wb3J0IFwidjMvcGFydGlhbHMvaGVyb1wiO1xuQGltcG9ydCBcInYzL3BhcnRpYWxzL2xvZ2luXCI7XG5AaW1wb3J0IFwidjMvcGFydGlhbHMvYm9va2luZ1wiO1xuQGltcG9ydCBcInYzL3BhcnRpYWxzL3JlYWN0aXZhdGUtbWlsZXNcIjtcbi50LWctYmx1ZSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQoJGJyYW5kQmx1ZSwgJGJyYW5kQmx1ZSwgJGRhcmtCbHVlKTtcbn1cblxuLmJ0biB7XG4gICAgaGVpZ2h0OiAzNXB4O1xufVxuXG4uaG9tZS1wYWdlLWxvZ2luLXdpZGdldCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAyOCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgICYgc3VwIHtcbiAgICAgICAgZm9udC1zaXplOiAuOTByZW07XG4gICAgfVxufVxuXG4uYm9va2luZy13aWRnZXQge1xuICAgIG1pbi1oZWlnaHQ6IDI4ZW07XG4gICAgQGluY2x1ZGUgc2hhZG93LXVwO1xufVxuXG5bZGF0YS1iZWhhdmlvcn49XCJkcm9wZG93bi13cmFwcGVyXCJdIHtcbiAgICB6LWluZGV4OiAwO1xufVxuXG4uaW1hZ2UtaGVhZGluZyB7XG4gICAgbWF4LXdpZHRoOiA1OTZweDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjVyZW07XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuNXJlbTtcbiAgICBtYXJnaW46IC0xLjVyZW0gLTEuNXJlbSAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbiNyZXNlcnZhdGlvbkZsaWdodFNlYXJjaEZvcm0ge1xuICAgIHVsIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEwcHg7XG4gICAgfVxuICAgIC5hYS1mbGlnaHRTZWFyY2hGb3JtLWRhdGVzUm93IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgI2Jvb2tpbmdDaGVja2JveENvbnRhaW5lciB7XG4gICAgICAgIC5jdXN0b21Db21wb25lbnQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAuY29udHJvbCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZH5sYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmF5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiN0cmF2ZWxBbGVydCxcbiN0cmF2ZWxBbGVydC1waG9uZSB7XG4gICAgdG9wOiAtMjBweDtcbiAgICAmIC50cmF2ZWxBbGVydCB7XG4gICAgICAgIHBhZGRpbmc6IDlweCAyNXB4IDhweCAyNXB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkb3JhbmdlO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgbWFyZ2luOiAwIDIuMTMxNzglO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgfVxuICAgICYgW2NsYXNzfD1cIm1lc3NhZ2VcIl0ge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCAyNXB4O1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmVhdHVyZSB7XG4gICAgJj5hIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICYgLmZlYXR1cmUtY2FsbCxcbiAgICAgICAgICAgICYuZmVhdHVyZS1jYWxsIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmIGgzLFxuICAgIC5nYW1tYSB7XG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgIH1cbiAgICAmIC5nYW1tYSB7XG4gICAgICAgIGNvbG9yOiAkbWVkaXVtR3JheTtcbiAgICB9XG4gICAgJiAubGlzdC1zdGFuZGFyZCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgICYgLmZlYXR1cmUtYm9keSB7XG4gICAgICAgIGNvbG9yOiAkZGFya0dyYXk7XG4gICAgfVxuICAgICYgaW1nIHtcbiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG59XG5cbi50cmF2ZWwtZGVhbHMge1xuICAgICYgYTpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAmIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiBhOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICB9XG4gICAgJiAudHJpcCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXgtd2lkdGg6IDYyJTtcbiAgICAgICAgY29sb3I6ICRtZWRpdW1HcmF5O1xuICAgIH1cbiAgICAmIC5wcmljZSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgJiAuaW5kaWNhdG9yIHtcbiAgICAgICAgICAgIHRvcDogLS41ZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIwKTtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgLm5vdGUge1xuICAgICAgICBjb2xvcjogJGJyYW5kQmx1ZTtcbiAgICB9XG59XG5cbi5pbmNpZGVudC1oZXJvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVkaXVtR3JheTtcbiAgICBoZWlnaHQ6IDU5NHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtNDVweDtcbiAgICB3aWR0aDogMTEwMHB4O1xuICAgIHBhZGRpbmc6IDQycHggNTZweCAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogJHdoaXRlO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gICAgaDIge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZS1oZWlnaHQoNjgpO1xuICAgIH1cbiAgICBwIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LWZhbWlseTogJHNhbnNGb250RmFtaWx5UmVndWxhcjtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmUtaGVpZ2h0KDIyKTtcbiAgICB9XG59XG5cbmEuaW5jaWRlbnQtaGVybyB7XG4gICAgcCB7XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi50cmlwLXR5cGUtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG59XG5cbi50aWNrZXQtbnVtYmVyLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ub3JTZXBhcmF0b3Ige1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIH1cbn1cblxuLmNvYWNobWFyayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDI4cHg7XG4gICAgdG9wOiAtOTVweDtcbiAgICB6LWluZGV4OiA5OTtcbiAgICBmb250LWZhbWlseTogJHNhbnNGb250RmFtaWx5UmVndWxhcjtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogJGJyYW5kQmx1ZTtcbiAgICBib3JkZXI6ICRicmFuZEJsdWU7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggMCByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gICAgLnRpdGxlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIG1hcmdpbjogMTVweCAzNXB4IDNweCAxNXB4O1xuICAgIH1cbiAgICAuY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LWZhbWlseTogJHNhbnNGb250RmFtaWx5TGlnaHQ7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIG1hcmdpbjogM3B4IDE1cHggMjJweCAxNXB4O1xuICAgIH1cbiAgICAuY29hY2htYXJrLWNsb3NlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHJpZ2h0OiA2cHg7XG4gICAgICAgIHRvcDogN3B4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAgICAgLmNvYWNobWFyay1jbG9zZSB7XG4gICAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgLmNvYWNobWFyay1jaXJjbGUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJvcmRlcjogNXB4IHNvbGlkICRmb2N1c0NvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYnJhbmRCbHVlO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDQ2JSAhaW1wb3J0YW50O1xuICAgICAgICB0b3A6IDEwNyU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNDYlICFpbXBvcnRhbnQ7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxMnB4O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6ICRicmFuZEJsdWUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJi5jb2FjaG1hcmstLWZ1bGx3aWR0aCB7XG4gICAgICAgIGxlZnQ6IDEwMHB4O1xuICAgIH1cblxuICAgICYuY29hY2htYXJrLS1iZWxvdyB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkYnJhbmRCbHVlO1xuICAgICAgICAgICAgdG9wOiAtMTklXG4gICAgICAgIH1cblxuICAgICAgICAuY29hY2htYXJrLWNpcmNsZSB7XG4gICAgICAgICAgICB0b3A6IC0yMSU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNjb2FjaE1hcmtMb2dJbiB7XG4gICAgbWF4LXdpZHRoOiAyMzBweDtcbiAgICBsZWZ0OiA3My4yJTtcbiAgICB0b3A6IC01cHg7XG59XG5cbi5sZWFybk1vcmVMaW5rIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLmZpbmQtdHJpcC1idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG59XG5cbi52aWV3Q2FuY2VsZWRUcmlwUmFkaW9CdXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAzM3B4O1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbn1cblxuLm1pZGRsZU1lc3NhZ2Uge1xuICAgIGhlaWdodDogMzBweDtcbiAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG4jdmlld0FsbEJ0biB7XG4gICAgbWFyZ2luOiA4cHggMCAwICFpbXBvcnRhbnQ7XG59XG5cbi53YWxsZXRMaW5rVGV4dCB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpVlZSR0xUZ2lQejRLUEhOMlp5QjNhV1IwYUQwaU5EWndlQ0lnYUdWcFoyaDBQU0kwTm5CNElpQjJhV1YzUW05NFBTSXdJREFnTkRZZ05EWWlJSFpsY25OcGIyNDlJakV1TVNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWlCNGJXeHVjenA0YkdsdWF6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M5NGJHbHVheUkrQ2lBZ0lDQThkR2wwYkdVK1IzSnZkWEFnT1R3dmRHbDBiR1UrQ2lBZ0lDQThaeUJwWkQwaVUxWkZYMjEyY0RKZmJHOW5aMlZrTFdsdUxYVnpaWElpSUhOMGNtOXJaVDBpYm05dVpTSWdjM1J5YjJ0bExYZHBaSFJvUFNJeElpQm1hV3hzUFNKdWIyNWxJaUJtYVd4c0xYSjFiR1U5SW1WMlpXNXZaR1FpUGdvZ0lDQWdJQ0FnSUR4bklHbGtQU0pRYkdGMFptOXliVjlJYjIxbGNHRm5aUzEzYVdSblpYUmZRMkZ1WTJWc1pXUXRkSEpwY0hOZmJHOW5aMlZrTFdsdUxYVnpaWEpmYjI1bExYUnlhWEFpSUhSeVlXNXpabTl5YlQwaWRISmhibk5zWVhSbEtDMDBORGN1TURBd01EQXdMQ0F0T0RJd0xqQXdNREF3TUNraVBnb2dJQ0FnSUNBZ0lDQWdJQ0E4WnlCcFpEMGlSM0p2ZFhBdE9TSWdkSEpoYm5ObWIzSnRQU0owY21GdWMyeGhkR1VvTkRRNExqQXdNREF3TUN3Z09ESXhMakF3TURBd01Da2lQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQR05wY21Oc1pTQnBaRDBpVDNaaGJDSWdjM1J5YjJ0bFBTSWpNREEzT0VReUlpQmplRDBpTWpJaUlHTjVQU0l5TWlJZ2NqMGlNaklpUGp3dlkybHlZMnhsUGdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEdjZ2FXUTlJa2R5YjNWd0xURXhJaUIwY21GdWMyWnZjbTA5SW5SeVlXNXpiR0YwWlNneE1DNHdNREF3TURBc0lERXdMakF3TURBd01Da2lQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4d1lYUm9JR1E5SWsweE9DNDVORGN6TmpnMExEVXVNRFV5TmpNeE5UZ2dURE11TnpnNU5EY3pOamdzTlM0d05USTJNekUxT0NCRE1TNDNNREF5TVRBMU15dzFMakExTWpZek1UVTRJREFzTmk0M05USTROREl4TVNBd0xEZ3VPRFF5TVRBMU1qWWdUREFzTWpBdU1qRXdOVEkyTXlCRE1Dd3lNaTR5T1RrM09EazFJREV1TnpBd01qRXdOVE1zTWpRZ015NDNPRGswTnpNMk9Dd3lOQ0JNTVRndU9UUTNNelk0TkN3eU5DQkRNakV1TURNMk5qTXhOaXd5TkNBeU1pNDNNelk0TkRJeExESXlMakk1T1RjNE9UVWdNakl1TnpNMk9EUXlNU3d5TUM0eU1UQTFNall6SUV3eU1pNDNNelk0TkRJeExEZ3VPRFF5TVRBMU1qWWdRekl5TGpjek5qZzBNakVzTmk0M05USTROREl4TVNBeU1TNHdNelkyTXpFMkxEVXVNRFV5TmpNeE5UZ2dNVGd1T1RRM016WTROQ3cxTGpBMU1qWXpNVFU0SUUweE9DNDVORGN6TmpnMExEWXVNekUxTnpnNU5EY2dRekl3TGpNek5qZzBNakVzTmk0ek1UVTNPRGswTnlBeU1TNDBOek0yT0RReUxEY3VORFV5TmpNeE5UZ2dNakV1TkRjek5qZzBNaXc0TGpnME1qRXdOVEkySUV3eU1TNDBOek0yT0RReUxESXdMakl4TURVeU5qTWdRekl4TGpRM016WTRORElzTWpFdU5pQXlNQzR6TXpZNE5ESXhMREl5TGpjek5qZzBNakVnTVRndU9UUTNNelk0TkN3eU1pNDNNelk0TkRJeElFd3pMamM0T1RRM016WTRMREl5TGpjek5qZzBNakVnUXpJdU5Dd3lNaTQzTXpZNE5ESXhJREV1TWpZek1UVTNPRGtzTWpFdU5pQXhMakkyTXpFMU56ZzVMREl3TGpJeE1EVXlOak1nVERFdU1qWXpNVFUzT0Rrc09DNDROREl4TURVeU5pQkRNUzR5TmpNeE5UYzRPU3czTGpRMU1qWXpNVFU0SURJdU5DdzJMak14TlRjNE9UUTNJRE11TnpnNU5EY3pOamdzTmk0ek1UVTNPRGswTnlCTU1UZ3VPVFEzTXpZNE5DdzJMak14TlRjNE9UUTNJaUJwWkQwaVJtbHNiQzB4SWlCbWFXeHNQU0lqTURBM09FUXlJajQ4TDNCaGRHZytDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhCaGRHZ2daRDBpVFRFMUxqRTFOemc1TkRjc01UZ3VNekUxTnpnNU5TQkRNVFF1TVRFek1qWXpNaXd4T0M0ek1UVTNPRGsxSURFekxqSTJNekUxTnprc01UY3VORFkxTmpnME1pQXhNeTR5TmpNeE5UYzVMREUyTGpReU1UQTFNallnVERFekxqSTJNekUxTnprc01USXVOak14TlRjNE9TQkRNVE11TWpZek1UVTNPU3d4TVM0MU9EWTVORGMwSURFMExqRXhNekkyTXpJc01UQXVOek0yT0RReU1TQXhOUzR4TlRjNE9UUTNMREV3TGpjek5qZzBNakVnVERJeExqUTNNelk0TkRJc01UQXVOek0yT0RReU1TQkRNakl1TlRFNE16RTFPQ3d4TUM0M016WTROREl4SURJekxqTTJPRFF5TVRFc01URXVOVGcyT1RRM05DQXlNeTR6TmpnME1qRXhMREV5TGpZek1UVTNPRGtnVERJekxqTTJPRFF5TVRFc01UWXVOREl4TURVeU5pQkRNak11TXpZNE5ESXhNU3d4Tnk0ME5qVTJPRFF5SURJeUxqVXhPRE14TlRnc01UZ3VNekUxTnpnNU5TQXlNUzQwTnpNMk9EUXlMREU0TGpNeE5UYzRPVFVnVERFMUxqRTFOemc1TkRjc01UZ3VNekUxTnpnNU5TQmFJaUJwWkQwaVJtbHNiQzB6SWlCbWFXeHNQU0lqUmtaR1JrWkdJajQ4TDNCaGRHZytDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhCaGRHZ2daRDBpVFRJeExqUTNNelk0TkRJc01UQXVNVEExTWpZek1pQk1NVFV1TVRVM09EazBOeXd4TUM0eE1EVXlOak15SUVNeE15NDNOalEyTXpFMkxERXdMakV3TlRJMk16SWdNVEl1TmpNeE5UYzRPU3d4TVM0eU16Z3pNVFU0SURFeUxqWXpNVFUzT0Rrc01USXVOak14TlRjNE9TQk1NVEl1TmpNeE5UYzRPU3d4Tmk0ME1qRXdOVEkySUVNeE1pNDJNekUxTnpnNUxERTNMamd4TkRNeE5UZ2dNVE11TnpZME5qTXhOaXd4T0M0NU5EY3pOamcwSURFMUxqRTFOemc1TkRjc01UZ3VPVFEzTXpZNE5DQk1NakV1TkRjek5qZzBNaXd4T0M0NU5EY3pOamcwSUVNeU1pNDROalk1TkRjMExERTRMamswTnpNMk9EUWdNalFzTVRjdU9ERTBNekUxT0NBeU5Dd3hOaTQwTWpFd05USTJJRXd5TkN3eE1pNDJNekUxTnpnNUlFTXlOQ3d4TVM0eU16Z3pNVFU0SURJeUxqZzJOamswTnpRc01UQXVNVEExTWpZek1pQXlNUzQwTnpNMk9EUXlMREV3TGpFd05USTJNeklnVFRJeExqUTNNelk0TkRJc01URXVNelk0TkRJeE1TQkRNakl1TVRZNE5ESXhNU3d4TVM0ek5qZzBNakV4SURJeUxqY3pOamcwTWpFc01URXVPVE0yT0RReU1TQXlNaTQzTXpZNE5ESXhMREV5TGpZek1UVTNPRGtnVERJeUxqY3pOamcwTWpFc01UWXVOREl4TURVeU5pQkRNakl1TnpNMk9EUXlNU3d4Tnk0eE1UVTNPRGsxSURJeUxqRTJPRFF5TVRFc01UY3VOamcwTWpFd05TQXlNUzQwTnpNMk9EUXlMREUzTGpZNE5ESXhNRFVnVERFMUxqRTFOemc1TkRjc01UY3VOamcwTWpFd05TQkRNVFF1TkRZek1UVTNPU3d4Tnk0Mk9EUXlNVEExSURFekxqZzVORGN6Tmpnc01UY3VNVEUxTnpnNU5TQXhNeTQ0T1RRM016WTRMREUyTGpReU1UQTFNallnVERFekxqZzVORGN6Tmpnc01USXVOak14TlRjNE9TQkRNVE11T0RrME56TTJPQ3d4TVM0NU16WTROREl4SURFMExqUTJNekUxTnprc01URXVNelk0TkRJeE1TQXhOUzR4TlRjNE9UUTNMREV4TGpNMk9EUXlNVEVnVERJeExqUTNNelk0TkRJc01URXVNelk0TkRJeE1TSWdhV1E5SWtacGJHd3ROU0lnWm1sc2JEMGlJekF3TnpoRU1pSStQQzl3WVhSb1Bnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh3WVhSb0lHUTlJazB4Tmk0ME1qRXdOVEkyTERFMExqVXlOak14TlRnZ1F6RTJMalF5TVRBMU1qWXNNVFV1TWpJME9EUXlNU0F4Tmk0NU9EVTJPRFF5TERFMUxqYzRPVFEzTXpjZ01UY3VOamcwTWpFd05Td3hOUzQzT0RrME56TTNJRU14T0M0ek9ESTNNelk0TERFMUxqYzRPVFEzTXpjZ01UZ3VPVFEzTXpZNE5Dd3hOUzR5TWpRNE5ESXhJREU0TGprME56TTJPRFFzTVRRdU5USTJNekUxT0NCRE1UZ3VPVFEzTXpZNE5Dd3hNeTQ0TWpjM09EazFJREU0TGpNNE1qY3pOamdzTVRNdU1qWXpNVFUzT1NBeE55NDJPRFF5TVRBMUxERXpMakkyTXpFMU56a2dRekUyTGprNE5UWTRORElzTVRNdU1qWXpNVFUzT1NBeE5pNDBNakV3TlRJMkxERXpMamd5TnpjNE9UVWdNVFl1TkRJeE1EVXlOaXd4TkM0MU1qWXpNVFU0SWlCcFpEMGlSbWxzYkMwM0lpQm1hV3hzUFNJak1EQTNPRVF5SWo0OEwzQmhkR2crQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BIQmhkR2dnWkQwaVRUSXVORFkwTmpjek5qZ3NOUzQ1T0RNNU5UYzRPU0JETWk0ME5qUTJOek0yT0N3MUxqazRNemsxTnpnNUlERTFMak0yT1RBNU5EY3NNQzQyTXpFNU5UYzRPVFVnTVRZdU5ESXhNekExTXl3d0xqWXpNVGsxTnpnNU5TQkRNVGN1TXpJNU5URTFPQ3d3TGpZek1UazFOemc1TlNBeE9DNHpNVFl3TkRJeExERXVNelF4T0RVeU5qTWdNVGd1TXpFMk1EUXlNU3d5TGpVeU5qWTVORGMwSUV3eE9DNHpNVFl3TkRJeExEVXVNRFV6TURFd05UTWlJR2xrUFNKVGRISnZhMlV0T1NJZ2MzUnliMnRsUFNJak1EQTNPRVF5SWo0OEwzQmhkR2crQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDJjK0NpQWdJQ0FnSUNBZ0lDQWdJRHd2Wno0S0lDQWdJQ0FnSUNBOEwyYytDaUFnSUNBOEwyYytDand2YzNablBnPT1cIikgM3B4IDNweCBuby1yZXBlYXQ7XG4gICAgcGFkZGluZzogMThweCAzcHggMTdweCA1OXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdG9wOiAtM3B4O1xuICAgIGxlZnQ6IC0zcHg7XG59XG5cbiNhYS1sYW5nLWVuIHtcbiAgICAmICNhYS10YWItYm9va2luZy1tb2R1bGUge1xuICAgICAgICB3aWR0aDogMzAlO1xuICAgIH1cbiAgICAmICNhYS10YWItdmlld1Jlc2VydmF0aW9ucyB7XG4gICAgICAgIHdpZHRoOiA0MCU7XG4gICAgfVxuICAgICYgI2FhLXRhYi1mbGlnaHRTdGF0dXMge1xuICAgICAgICB3aWR0aDogMzAlO1xuICAgIH1cbn1cblxuI2FhLWxhbmctZXMge1xuICAgICYgI2FhLXRhYi1ib29raW5nLW1vZHVsZSB7XG4gICAgICAgIHdpZHRoOiAyNyU7XG4gICAgfVxuICAgICYgI2FhLXRhYi12aWV3UmVzZXJ2YXRpb25zIHtcbiAgICAgICAgd2lkdGg6IDQ2JTtcbiAgICB9XG4gICAgJiAjYWEtdGFiLWZsaWdodFN0YXR1cyB7XG4gICAgICAgIHdpZHRoOiAyNyU7XG4gICAgfVxufVxuXG4jYWEtbGFuZy1wdCB7XG4gICAgJiAjYWEtdGFiLWJvb2tpbmctbW9kdWxlIHtcbiAgICAgICAgd2lkdGg6IDMwJTtcbiAgICB9XG4gICAgJiAjYWEtdGFiLXZpZXdSZXNlcnZhdGlvbnMge1xuICAgICAgICB3aWR0aDogNDQlO1xuICAgIH1cbiAgICAmICNhYS10YWItZmxpZ2h0U3RhdHVzIHtcbiAgICAgICAgd2lkdGg6IDI2JTtcbiAgICB9XG59XG5cbiNhYS1sYW5nLWZyIHtcbiAgICAmICNhYS10YWItYm9va2luZy1tb2R1bGUge1xuICAgICAgICB3aWR0aDogMjclO1xuICAgIH1cbiAgICAmICNhYS10YWItdmlld1Jlc2VydmF0aW9ucyB7XG4gICAgICAgIHdpZHRoOiA0OCU7XG4gICAgfVxuICAgICYgI2FhLXRhYi1mbGlnaHRTdGF0dXMge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgIH1cbiAgICAjaG9tZS1wYWdlLXdpZGdldHMgLnVpLXRhYnMtYW5jaG9yIHtcbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgIH1cbn1cblxuQGluY2x1ZGUgcmVzcG9uZC10byhwaG9uZSkge1xuICAgIGhlYWRlciB7XG4gICAgICAgIC5tb2JpbGUtdXRpbGl0eSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgICN0cmF2ZWxBbGVydCxcbiAgICAgICAgI3RyYXZlbEFsZXJ0LXBob25lIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgLnRyYXZlbEFsZXJ0IHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG1lZGl1bSBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAycHggMCAwIDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgICAgIC5tZXNzYWdlLXdhcm5pbmc6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA0cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3N1cHBvcnRcIjtcblxuLy8gVGhlIGB6b29tYCBhcHByb2FjaCBnZW5lcmF0ZXMgbGVzcyBDU1MgYnV0IGRvZXMgbm90IHZhbGlkYXRlLlxuLy8gU2V0IHRoaXMgdG8gYGJsb2NrYCB0byB1c2UgdGhlIGRpc3BsYXktcHJvcGVydHkgdG8gaGFjayB0aGVcbi8vIGVsZW1lbnQgdG8gZ2FpbiBsYXlvdXQuXG4kZGVmYXVsdC1oYXMtbGF5b3V0LWFwcHJvYWNoOiB6b29tICFkZWZhdWx0O1xuXG4vLyBUaGlzIG1peGluIGNhdXNlcyBhbiBlbGVtZW50IG1hdGNoaW5nIHRoZSBzZWxlY3RvclxuLy8gdG8gZ2FpbiB0aGUgXCJoYXNMYXlvdXRcIiBwcm9wZXJ0eSBpbiBpbnRlcm5ldCBleHBsb3Jlci5cbi8vIE1vcmUgaW5mb3JtYXRpb24gb24gW2hhc0xheW91dF0oaHR0cDovL3JlZmVyZW5jZS5zaXRlcG9pbnQuY29tL2Nzcy9oYXNsYXlvdXQpLlxuQG1peGluIGhhcy1sYXlvdXQoJGFwcHJvYWNoOiAkZGVmYXVsdC1oYXMtbGF5b3V0LWFwcHJvYWNoKSB7XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllIHtcbiAgICBAaWYgJGFwcHJvYWNoID09IHpvb20ge1xuICAgICAgQGluY2x1ZGUgaGFzLWxheW91dC16b29tO1xuICAgIH0gQGVsc2UgaWYgJGFwcHJvYWNoID09IGJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIGhhcy1sYXlvdXQtYmxvY2s7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAd2FybiBcIlVua25vd24gaGFzLWxheW91dCBhcHByb2FjaDogI3skYXBwcm9hY2h9XCI7XG4gICAgICBAaW5jbHVkZSBoYXMtbGF5b3V0LXpvb207XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBoYXMtbGF5b3V0LXpvb20ge1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTYgb3IgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTcge1xuICAgICp6b29tOiAxO1xuICB9XG59XG5cbkBtaXhpbiBoYXMtbGF5b3V0LWJsb2NrIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWUge1xuICAgIC8vIFRoaXMgbWFrZXMgaWU2IGdldCBsYXlvdXRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLy8gYW5kIHRoaXMgcHV0cyBpdCBiYWNrIHRvIGJsb2NrXG4gICAgJiB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gIH1cbn1cblxuLy8gQSBoYWNrIHRvIHN1cHBseSBJRTYgKGFuZCBiZWxvdykgd2l0aCBhIGRpZmZlcmVudCBwcm9wZXJ0eSB2YWx1ZS5cbi8vIFtSZWFkIG1vcmVdKGh0dHA6Ly93d3cuY3NzcG9ydGFsLmNvbS9jc3MtaGFja3MvI2luX2Nzcy1pbXBvcnRhbnQpLlxuQG1peGluIGJhbmctaGFjaygkcHJvcGVydHksICR2YWx1ZSwgJGllNi12YWx1ZSkge1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTYge1xuICAgICN7JHByb3BlcnR5fTogI3skdmFsdWV9ICFpbXBvcnRhbnQ7XG4gICAgI3skcHJvcGVydHl9OiAjeyRpZTYtdmFsdWV9O1xuICB9XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5AaW1wb3J0IFwiLi4vdXRpbGl0aWVzL2dlbmVyYWwvaGFja3NcIjtcbkBpbXBvcnQgXCIuLi9mdW5jdGlvbnNcIjtcblxuLy8gQmFja2dyb3VuZCBwcm9wZXJ0eSBzdXBwb3J0IGZvciB2ZW5kb3IgcHJlZml4aW5nIHdpdGhpbiB2YWx1ZXMuXG5AbWl4aW4gYmFja2dyb3VuZChcbiAgJGJhY2tncm91bmQtMSxcbiAgJGJhY2tncm91bmQtMjogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTM6IGZhbHNlLFxuICAkYmFja2dyb3VuZC00OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNTogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTY6IGZhbHNlLFxuICAkYmFja2dyb3VuZC03OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtODogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTk6IGZhbHNlLFxuICAkYmFja2dyb3VuZC0xMDogZmFsc2Vcbikge1xuICAkYmFja2dyb3VuZHM6IGNvbXBhY3QoJGJhY2tncm91bmQtMSwgJGJhY2tncm91bmQtMiwgJGJhY2tncm91bmQtMywgJGJhY2tncm91bmQtNCwgJGJhY2tncm91bmQtNSxcbiAgICAgICAgICAgICAgICAgICAgICAgICRiYWNrZ3JvdW5kLTYsICRiYWNrZ3JvdW5kLTcsICRiYWNrZ3JvdW5kLTgsICRiYWNrZ3JvdW5kLTksICRiYWNrZ3JvdW5kLTEwKTtcbiAgJG11bHQtYmdzOiAtY29tcGFzcy1saXN0LXNpemUoJGJhY2tncm91bmRzKSA+IDE7XG4gICRhZGQtcGllLWJnOiBwcmVmaXhlZCgtcGllLCAgICRiYWNrZ3JvdW5kcykgb3IgJG11bHQtYmdzO1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgYW5kIHByZWZpeGVkKC1zdmcsICAgICRiYWNrZ3JvdW5kcykgeyAgICAgIGJhY2tncm91bmQ6ICAgIC1zdmcoJGJhY2tncm91bmRzKTsgfVxuICBAaWYgJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgYW5kIHByZWZpeGVkKC1vd2csICAgICRiYWNrZ3JvdW5kcykgeyAgICAgIGJhY2tncm91bmQ6ICAgIC1vd2coJGJhY2tncm91bmRzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgYW5kIHByZWZpeGVkKC13ZWJraXQsICRiYWNrZ3JvdW5kcykgeyAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQoJGJhY2tncm91bmRzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgYW5kIHByZWZpeGVkKC1tb3osICAgICRiYWNrZ3JvdW5kcykgeyAgICAgIGJhY2tncm91bmQ6ICAgIC1tb3ooJGJhY2tncm91bmRzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgYW5kIHByZWZpeGVkKC1vLCAgICAgICRiYWNrZ3JvdW5kcykgeyAgICAgIGJhY2tncm91bmQ6ICAgICAgLW8oJGJhY2tncm91bmRzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1waWUgICAgICAgICAgYW5kICRhZGQtcGllLWJnICAgICAgICAgICAgICAgICAgICAgeyAtcGllLWJhY2tncm91bmQ6ICAgIC1waWUoJGJhY2tncm91bmRzKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICAgICAgICAgJGJhY2tncm91bmRzIDtcbn1cblxuQG1peGluIGJhY2tncm91bmQtd2l0aC1jc3MyLWZhbGxiYWNrKFxuICAkYmFja2dyb3VuZC0xLFxuICAkYmFja2dyb3VuZC0yOiBmYWxzZSxcbiAgJGJhY2tncm91bmQtMzogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZC01OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNjogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTc6IGZhbHNlLFxuICAkYmFja2dyb3VuZC04OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtOTogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTEwOiBmYWxzZVxuKSB7XG4gICRiYWNrZ3JvdW5kczogY29tcGFjdCgkYmFja2dyb3VuZC0xLCAkYmFja2dyb3VuZC0yLCAkYmFja2dyb3VuZC0zLCAkYmFja2dyb3VuZC00LCAkYmFja2dyb3VuZC01LFxuICAgICAgICAgICAgICAgICAgICAgICAgJGJhY2tncm91bmQtNiwgJGJhY2tncm91bmQtNywgJGJhY2tncm91bmQtOCwgJGJhY2tncm91bmQtOSwgJGJhY2tncm91bmQtMTApO1xuICAkbXVsdC1iZ3M6IC1jb21wYXNzLWxpc3Qtc2l6ZSgkYmFja2dyb3VuZHMpID4gMTtcbiAgJHNpbXBsZS1iYWNrZ3JvdW5kOiBpZigkbXVsdC1iZ3Mgb3IgcHJlZml4ZWQoLWNzczIsICRiYWNrZ3JvdW5kcyksIC1jc3MyKC1jb21wYXNzLW50aCgkYmFja2dyb3VuZHMsIGxhc3QpKSwgZmFsc2UpO1xuICBAaWYgbm90KGJsYW5rKCRzaW1wbGUtYmFja2dyb3VuZCkpIHsgYmFja2dyb3VuZDogJHNpbXBsZS1iYWNrZ3JvdW5kOyB9XG4gIEBpbmNsdWRlIGJhY2tncm91bmQoJGJhY2tncm91bmQtMSwgJGJhY2tncm91bmQtMiwgJGJhY2tncm91bmQtMywgJGJhY2tncm91bmQtNCwgJGJhY2tncm91bmQtNSxcbiAgICAgICAgICAgICAgICAgICAgICAkYmFja2dyb3VuZC02LCAkYmFja2dyb3VuZC03LCAkYmFja2dyb3VuZC04LCAkYmFja2dyb3VuZC05LCAkYmFja2dyb3VuZC0xMCk7XG59XG5cblxuLy8gQmFja2dyb3VuZCBpbWFnZSBwcm9wZXJ0eSBzdXBwb3J0IGZvciB2ZW5kb3IgcHJlZml4aW5nIHdpdGhpbiB2YWx1ZXMuXG5AbWl4aW4gYmFja2dyb3VuZC1pbWFnZShcbiAgJGltYWdlLTEsXG4gICRpbWFnZS0yOiBmYWxzZSxcbiAgJGltYWdlLTM6IGZhbHNlLFxuICAkaW1hZ2UtNDogZmFsc2UsXG4gICRpbWFnZS01OiBmYWxzZSxcbiAgJGltYWdlLTY6IGZhbHNlLFxuICAkaW1hZ2UtNzogZmFsc2UsXG4gICRpbWFnZS04OiBmYWxzZSxcbiAgJGltYWdlLTk6IGZhbHNlLFxuICAkaW1hZ2UtMTA6IGZhbHNlXG4pIHtcbiAgJGltYWdlczogY29tcGFjdCgkaW1hZ2UtMSwgJGltYWdlLTIsICRpbWFnZS0zLCAkaW1hZ2UtNCwgJGltYWdlLTUsICRpbWFnZS02LCAkaW1hZ2UtNywgJGltYWdlLTgsICRpbWFnZS05LCAkaW1hZ2UtMTApO1xuICAkYWRkLXBpZS1iZzogcHJlZml4ZWQoLXBpZSwgICAkaW1hZ2VzKSBvciAtY29tcGFzcy1saXN0LXNpemUoJGltYWdlcykgPiAxO1xuXG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXN2ZyAgICAgICAgICBhbmQgcHJlZml4ZWQoLXN2ZywgICAgJGltYWdlcykgeyBiYWNrZ3JvdW5kLWltYWdlOiAgICAtc3ZnKCRpbWFnZXMpOyBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIGFuZCBwcmVmaXhlZCgtb3dnLCAgICAkaW1hZ2VzKSB7IGJhY2tncm91bmQtaW1hZ2U6ICAgIC1vd2coJGltYWdlcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIGFuZCBwcmVmaXhlZCgtd2Via2l0LCAkaW1hZ2VzKSB7IGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQoJGltYWdlcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIGFuZCBwcmVmaXhlZCgtbW96LCAgICAkaW1hZ2VzKSB7IGJhY2tncm91bmQtaW1hZ2U6ICAgIC1tb3ooJGltYWdlcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIGFuZCBwcmVmaXhlZCgtbywgICAgICAkaW1hZ2VzKSB7IGJhY2tncm91bmQtaW1hZ2U6ICAgICAgLW8oJGltYWdlcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItcGllICAgICAgICAgIGFuZCAkYWRkLXBpZS1iZyAgICAgICAgICAgICAgICB7IEB3YXJuIFwiUElFIGRvZXMgbm90IHN1cHBvcnQgYmFja2dyb3VuZC1pbWFnZS4gVXNlIEBpbmNsdWRlIGJhY2tncm91bmQoI3skaW1hZ2VzfSkgaW5zdGVhZC5cIiB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgICAgICRpbWFnZXMgO1xufVxuXG4vLyBFbWl0IGEgSUUtU3BlY2lmaWMgZmlsdGVycyB0aGF0IHJlbmRlcnMgYSBzaW1wbGUgbGluZWFyIGdyYWRpZW50LlxuLy8gRm9yIHVzZSBpbiBJRSA2IC0gOC4gQmVzdCBwcmFjdGljZSB3b3VsZCBoYXZlIHlvdSBhcHBseSB0aGlzIHZpYSBhXG4vLyBjb25kaXRpb25hbCBJRSBzdHlsZXNoZWV0LCBidXQgaWYgeW91IG11c3QsIHlvdSBzaG91bGQgcGxhY2UgdGhpcyBiZWZvcmVcbi8vIGFueSBiYWNrZ3JvdW5kLWltYWdlIHByb3BlcnRpZXMgdGhhdCB5b3UgaGF2ZSBzcGVjaWZpZWQuXG4vL1xuLy8gRm9yIHRoZSBgJG9yaWVudGF0aW9uYCBwYXJhbWV0ZXIsIHlvdSBjYW4gcGFzcyBgdmVydGljYWxgIG9yIGBob3Jpem9udGFsYC5cbkBtaXhpbiBmaWx0ZXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yLCAkb3JpZW50YXRpb246IHZlcnRpY2FsKSB7XG4gIEBpbmNsdWRlIGhhcy1sYXlvdXQ7XG4gICRncmFkaWVudC10eXBlOiBpZigkb3JpZW50YXRpb24gPT0gdmVydGljYWwsIDAsIDEpO1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTYgb3IgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTcgb3IgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTgge1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGdyYWRpZW50VHlwZT0jeyRncmFkaWVudC10eXBlfSwgc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nKTtcbiAgfVxufVxuXG5cbi8vIEJvcmRlciBpbWFnZSBwcm9wZXJ0eSBzdXBwb3J0IGZvciB2ZW5kb3IgcHJlZml4aW5nIHByb3BlcnRpZXMgYW5kIHZhbHVlcy5cbkBtaXhpbiBib3JkZXItaW1hZ2UoJHZhbHVlKSB7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICB7ICAgIC1tb3otYm9yZGVyLWltYWdlOiAgICAtbW96KHJlamVjdCgtY29tcGFzcy1saXN0KCR2YWx1ZSksIGZpbGwpKTsgfVxuICBAaWYgJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgeyAtd2Via2l0LWJvcmRlci1pbWFnZTogICAgLW93ZyhyZWplY3QoLWNvbXBhc3MtbGlzdCgkdmFsdWUpLCBmaWxsKSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIHsgLXdlYmtpdC1ib3JkZXItaW1hZ2U6IC13ZWJraXQocmVqZWN0KC1jb21wYXNzLWxpc3QoJHZhbHVlKSwgZmlsbCkpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICB7ICAgICAgLW8tYm9yZGVyLWltYWdlOiAgICAgIC1vKHJlamVjdCgtY29tcGFzcy1saXN0KCR2YWx1ZSksIGZpbGwpKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgeyAgICAgICAgIGJvcmRlci1pbWFnZTogICAgLXN2ZyhyZWplY3QoLWNvbXBhc3MtbGlzdCgkdmFsdWUpLCBmaWxsKSk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItaW1hZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHZhbHVlO1xufVxuXG4vLyBMaXN0IHN0eWxlIGltYWdlIHByb3BlcnR5IHN1cHBvcnQgZm9yIHZlbmRvciBwcmVmaXhpbmcgd2l0aGluIHZhbHVlcy5cbkBtaXhpbiBsaXN0LXN0eWxlLWltYWdlKCRpbWFnZSkge1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgYW5kIHByZWZpeGVkKC1tb3osICAgICRpbWFnZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAtbW96KCRpbWFnZSk7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIGFuZCBwcmVmaXhlZCgtb3dnLCAgICAkaW1hZ2UpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLW93ZygkaW1hZ2UpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICBhbmQgcHJlZml4ZWQoLXdlYmtpdCwgJGltYWdlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6IC13ZWJraXQoJGltYWdlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgYW5kIHByZWZpeGVkKC1vLCAgICAgICRpbWFnZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAgIC1vKCRpbWFnZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIGFuZCBwcmVmaXhlZCgtc3ZnLCAgICAkaW1hZ2UpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLXN2ZygkaW1hZ2UpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtaW1hZ2U6ICAgICAgICAgJGltYWdlIDtcbn1cblxuLy8gTGlzdCBzdHlsZSBwcm9wZXJ0eSBzdXBwb3J0IGZvciB2ZW5kb3IgcHJlZml4aW5nIHdpdGhpbiB2YWx1ZXMuXG5AbWl4aW4gbGlzdC1zdHlsZSgkdmFsdWUpIHtcbiAgJHZhbHVlOiAtY29tcGFzcy1saXN0KCR2YWx1ZSk7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICBhbmQgcHJlZml4ZWQoLW1veiwgICAgJHZhbHVlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgIC1tb3ooJHZhbHVlKTsgfVxuICBAaWYgJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgYW5kIHByZWZpeGVkKC1vd2csICAgICR2YWx1ZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAtb3dnKCR2YWx1ZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIGFuZCBwcmVmaXhlZCgtd2Via2l0LCAkdmFsdWUpIHsgbGlzdC1zdHlsZS1pbWFnZTogLXdlYmtpdCgkdmFsdWUpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICBhbmQgcHJlZml4ZWQoLW8sICAgICAgJHZhbHVlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgICAgLW8oJHZhbHVlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgYW5kIHByZWZpeGVkKC1zdmcsICAgICR2YWx1ZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAtc3ZnKCR2YWx1ZSk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZS1pbWFnZTogICAgICAgICAkdmFsdWUgO1xufVxuXG4vLyBjb250ZW50IHByb3BlcnR5IHN1cHBvcnQgZm9yIHZlbmRvciBwcmVmaXhpbmcgd2l0aGluIHZhbHVlcy5cbkBtaXhpbiBjb250ZW50KCR2YWx1ZSkge1xuICAkdmFsdWU6IC1jb21wYXNzLWxpc3QoJHZhbHVlKTtcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIGFuZCBwcmVmaXhlZCgtbW96LCAgICAkdmFsdWUpIHsgY29udGVudDogICAgLW1veigkdmFsdWUpOyB9XG4gIEBpZiAkc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyBhbmQgcHJlZml4ZWQoLW93ZywgICAgJHZhbHVlKSB7IGNvbnRlbnQ6ICAgIC1vd2coJHZhbHVlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgYW5kIHByZWZpeGVkKC13ZWJraXQsICR2YWx1ZSkgeyBjb250ZW50OiAtd2Via2l0KCR2YWx1ZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIGFuZCBwcmVmaXhlZCgtbywgICAgICAkdmFsdWUpIHsgY29udGVudDogICAgICAtbygkdmFsdWUpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXN2ZyAgICAgICAgICBhbmQgcHJlZml4ZWQoLXN2ZywgICAgJHZhbHVlKSB7IGNvbnRlbnQ6ICAgIC1zdmcoJHZhbHVlKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAgICAgICAgICR2YWx1ZSA7XG59XG4iLCIvLyBcbi8vIEEgcGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUnVieSBjcm9zcyBicm93c2VyIHN1cHBvcnQgZnVuY3Rpb25zIGZyb20gQ29tcGFzczpcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Db21wYXNzL2NvbXBhc3MvYmxvYi9zdGFibGUvbGliL2NvbXBhc3Mvc2Fzc19leHRlbnNpb25zL2Z1bmN0aW9ucy9jcm9zc19icm93c2VyX3N1cHBvcnQucmJcbi8vIFxuXG5AZnVuY3Rpb24gcHJlZml4ZWQoJHByZWZpeCwgJHByb3BlcnR5MSwgJHByb3BlcnR5MjpudWxsLCAkcHJvcGVydHkzOm51bGwsICRwcm9wZXJ0eTQ6bnVsbCwgJHByb3BlcnR5NTpudWxsLCAkcHJvcGVydHk2Om51bGwsICRwcm9wZXJ0eTc6bnVsbCwgJHByb3BlcnR5ODpudWxsLCAkcHJvcGVydHk5Om51bGwpIHtcbiAgJHByb3BlcnRpZXM6ICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTIsICRwcm9wZXJ0eTMsICRwcm9wZXJ0eTQsICRwcm9wZXJ0eTUsICRwcm9wZXJ0eTYsICRwcm9wZXJ0eTcsICRwcm9wZXJ0eTgsICRwcm9wZXJ0eTk7XG4gICRwcmVmaXhlZDogZmFsc2U7XG4gIEBlYWNoICRpdGVtIGluICRwcm9wZXJ0aWVzIHtcbiAgICBAaWYgdHlwZS1vZigkaXRlbSkgPT0gJ3N0cmluZycge1xuICAgICAgJHByZWZpeGVkOiAkcHJlZml4ZWQgb3Igc3RyLWluZGV4KCRpdGVtLCAndXJsJykgIT0gMSBhbmQgc3RyLWluZGV4KCRpdGVtLCAncmdiJykgIT0gMSBhbmQgc3RyLWluZGV4KCRpdGVtLCAnIycpICE9IDE7XG4gICAgfSBAZWxzZWlmIHR5cGUtb2YoJGl0ZW0pID09ICdjb2xvcicge1xuICAgIH0gQGVsc2VpZiAkaXRlbSAhPSBudWxsIHtcbiAgICAgICRwcmVmaXhlZDogdHJ1ZTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcHJlZml4ZWQ7XG59XG5cbkBmdW5jdGlvbiBwcmVmaXgoJHByZWZpeCwgJHByb3BlcnR5MSwgJHByb3BlcnR5MjpudWxsLCAkcHJvcGVydHkzOm51bGwsICRwcm9wZXJ0eTQ6bnVsbCwgJHByb3BlcnR5NTpudWxsLCAkcHJvcGVydHk2Om51bGwsICRwcm9wZXJ0eTc6bnVsbCwgJHByb3BlcnR5ODpudWxsLCAkcHJvcGVydHk5Om51bGwpIHtcbiAgJHByb3BlcnRpZXM6IFwiXCI7XG5cbiAgLy8gU3VwcG9ydCBmb3IgcG9seW1vcnBoaXNtLlxuICBAaWYgdHlwZS1vZigkcHJvcGVydHkxKSA9PSAnbGlzdCcge1xuICAgIC8vIFBhc3NpbmcgYSBzaW5nbGUgYXJyYXkgb2YgcHJvcGVydGllcy5cbiAgICAkcHJvcGVydGllczogJHByb3BlcnR5MTtcbiAgfSBAZWxzZSB7XG4gICAgLy8gUGFzc2luZyBtdWx0aXBsZSBwcm9wZXJ0aWVzLlxuICAgICRwcm9wZXJ0aWVzOiAkcHJvcGVydHkxLCAkcHJvcGVydHkyLCAkcHJvcGVydHkzLCAkcHJvcGVydHk0LCAkcHJvcGVydHk1LCAkcHJvcGVydHk2LCAkcHJvcGVydHk3LCAkcHJvcGVydHk4LCAkcHJvcGVydHk5O1xuICB9XG5cbiAgJHByb3BzOiBmYWxzZTtcbiAgQGVhY2ggJGl0ZW0gaW4gJHByb3BlcnRpZXMge1xuICAgIEBpZiAkaXRlbSA9PSBudWxsIHt9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmIHByZWZpeGVkKCRwcmVmaXgsICRpdGVtKSB7XG4gICAgICAgICRpdGVtOiAjeyRwcmVmaXh9LSN7JGl0ZW19O1xuICAgICAgfVxuICAgICAgQGlmICRwcm9wcyB7XG4gICAgICAgICRwcm9wczogJHByb3BzLCAkaXRlbTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHByb3BzOiAkaXRlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcHJvcHM7XG59XG5cbkBmdW5jdGlvbiAtc3ZnKCRwcm9wZXJ0eTEsICRwcm9wZXJ0eTI6bnVsbCwgJHByb3BlcnR5MzpudWxsLCAkcHJvcGVydHk0Om51bGwsICRwcm9wZXJ0eTU6bnVsbCwgJHByb3BlcnR5NjpudWxsLCAkcHJvcGVydHk3Om51bGwsICRwcm9wZXJ0eTg6bnVsbCwgJHByb3BlcnR5OTpudWxsKSB7XG4gIEByZXR1cm4gcHJlZml4KCctc3ZnJywgJHByb3BlcnR5MSwgJHByb3BlcnR5MiwgJHByb3BlcnR5MywgJHByb3BlcnR5NCwgJHByb3BlcnR5NSwgJHByb3BlcnR5NiwgJHByb3BlcnR5NywgJHByb3BlcnR5OCwgJHByb3BlcnR5OSk7XG59XG5cbkBmdW5jdGlvbiAtb3dnKCRwcm9wZXJ0eTEsICRwcm9wZXJ0eTI6bnVsbCwgJHByb3BlcnR5MzpudWxsLCAkcHJvcGVydHk0Om51bGwsICRwcm9wZXJ0eTU6bnVsbCwgJHByb3BlcnR5NjpudWxsLCAkcHJvcGVydHk3Om51bGwsICRwcm9wZXJ0eTg6bnVsbCwgJHByb3BlcnR5OTpudWxsKSB7XG4gIEByZXR1cm4gcHJlZml4KCctb3dnJywgJHByb3BlcnR5MSwgJHByb3BlcnR5MiwgJHByb3BlcnR5MywgJHByb3BlcnR5NCwgJHByb3BlcnR5NSwgJHByb3BlcnR5NiwgJHByb3BlcnR5NywgJHByb3BlcnR5OCwgJHByb3BlcnR5OSk7XG59XG5cbkBmdW5jdGlvbiAtd2Via2l0KCRwcm9wZXJ0eTEsICRwcm9wZXJ0eTI6bnVsbCwgJHByb3BlcnR5MzpudWxsLCAkcHJvcGVydHk0Om51bGwsICRwcm9wZXJ0eTU6bnVsbCwgJHByb3BlcnR5NjpudWxsLCAkcHJvcGVydHk3Om51bGwsICRwcm9wZXJ0eTg6bnVsbCwgJHByb3BlcnR5OTpudWxsKSB7XG4gIEByZXR1cm4gcHJlZml4KCctd2Via2l0JywgJHByb3BlcnR5MSwgJHByb3BlcnR5MiwgJHByb3BlcnR5MywgJHByb3BlcnR5NCwgJHByb3BlcnR5NSwgJHByb3BlcnR5NiwgJHByb3BlcnR5NywgJHByb3BlcnR5OCwgJHByb3BlcnR5OSk7XG59XG5cbkBmdW5jdGlvbiAtbW96KCRwcm9wZXJ0eTEsICRwcm9wZXJ0eTI6bnVsbCwgJHByb3BlcnR5MzpudWxsLCAkcHJvcGVydHk0Om51bGwsICRwcm9wZXJ0eTU6bnVsbCwgJHByb3BlcnR5NjpudWxsLCAkcHJvcGVydHk3Om51bGwsICRwcm9wZXJ0eTg6bnVsbCwgJHByb3BlcnR5OTpudWxsKSB7XG4gIEByZXR1cm4gcHJlZml4KCctbW96JywgJHByb3BlcnR5MSwgJHByb3BlcnR5MiwgJHByb3BlcnR5MywgJHByb3BlcnR5NCwgJHByb3BlcnR5NSwgJHByb3BlcnR5NiwgJHByb3BlcnR5NywgJHByb3BlcnR5OCwgJHByb3BlcnR5OSk7XG59XG5cbkBmdW5jdGlvbiAtbygkcHJvcGVydHkxLCAkcHJvcGVydHkyOm51bGwsICRwcm9wZXJ0eTM6bnVsbCwgJHByb3BlcnR5NDpudWxsLCAkcHJvcGVydHk1Om51bGwsICRwcm9wZXJ0eTY6bnVsbCwgJHByb3BlcnR5NzpudWxsLCAkcHJvcGVydHk4Om51bGwsICRwcm9wZXJ0eTk6bnVsbCkge1xuICBAcmV0dXJuIHByZWZpeCgnLW8nLCAkcHJvcGVydHkxLCAkcHJvcGVydHkyLCAkcHJvcGVydHkzLCAkcHJvcGVydHk0LCAkcHJvcGVydHk1LCAkcHJvcGVydHk2LCAkcHJvcGVydHk3LCAkcHJvcGVydHk4LCAkcHJvcGVydHk5KTtcbn1cblxuQGZ1bmN0aW9uIC1waWUoJHByb3BlcnR5MSwgJHByb3BlcnR5MjpudWxsLCAkcHJvcGVydHkzOm51bGwsICRwcm9wZXJ0eTQ6bnVsbCwgJHByb3BlcnR5NTpudWxsLCAkcHJvcGVydHk2Om51bGwsICRwcm9wZXJ0eTc6bnVsbCwgJHByb3BlcnR5ODpudWxsLCAkcHJvcGVydHk5Om51bGwpIHtcbiAgQHJldHVybiBwcmVmaXgoJy1waWUnLCAkcHJvcGVydHkxLCAkcHJvcGVydHkyLCAkcHJvcGVydHkzLCAkcHJvcGVydHk0LCAkcHJvcGVydHk1LCAkcHJvcGVydHk2LCAkcHJvcGVydHk3LCAkcHJvcGVydHk4LCAkcHJvcGVydHk5KTtcbn1cbiJdfQ== */
