button,[type='button'],[type='reset'],[type='submit']{background-color:#233a78;border:0;border-radius:3px;color:#fff;cursor:pointer;display:inline-block;font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:16px;font-weight:600;line-height:1;padding:.75em 1.5em;text-align:center;text-decoration:none;transition:background-color 150ms ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-font-smoothing:antialiased}button:hover,button:focus,[type='button']:hover,[type='button']:focus,[type='reset']:hover,[type='reset']:focus,[type='submit']:hover,[type='submit']:focus{background-color:#1c2e60;color:#fff}button.search-submit,[type='button'].search-submit,[type='reset'].search-submit,[type='submit'].search-submit{background:linear-gradient(#d21334 45%, #c81231 52%);border:none;border-radius:0 5px 5px 0;color:#fff;flex:1 0 auto;font-size:1.056em;height:100%;outline:none}.container-search-field button.search-submit,.container-search-field [type='button'].search-submit,.container-search-field [type='reset'].search-submit,.container-search-field [type='submit'].search-submit{font-size:1.333em}.container-sub-column-search button.search-submit,.container-sub-column-search [type='button'].search-submit,.container-sub-column-search [type='reset'].search-submit,.container-sub-column-search [type='submit'].search-submit{padding:0}.inner-billboard button.search-submit,.inner-billboard [type='button'].search-submit,.inner-billboard [type='reset'].search-submit,.inner-billboard [type='submit'].search-submit{font-size:1.667em}@media (max-width: 37.5em){.inner-billboard button.search-submit,.inner-billboard [type='button'].search-submit,.inner-billboard [type='reset'].search-submit,.inner-billboard [type='submit'].search-submit{font-size:1rem;text-align:center}}button.search-submit:hover,[type='button'].search-submit:hover,[type='reset'].search-submit:hover,[type='submit'].search-submit:hover{background:linear-gradient(#bb112e 50%, #b1102b 51%)}.ctaAdd button,.containSelectAll button,.ctaAdd [type='button'],.containSelectAll [type='button'],.ctaAdd [type='reset'],.containSelectAll [type='reset'],.ctaAdd [type='submit'],.containSelectAll [type='submit']{font-size:12px;font-weight:600;text-transform:uppercase}.ctaAdd button:hover,.containSelectAll button:hover,.ctaAdd [type='button']:hover,.containSelectAll [type='button']:hover,.ctaAdd [type='reset']:hover,.containSelectAll [type='reset']:hover,.ctaAdd [type='submit']:hover,.containSelectAll [type='submit']:hover{background:#2f4d9f}.ctaAdd button.btnGray,.containSelectAll button.btnGray,.ctaAdd [type='button'].btnGray,.containSelectAll [type='button'].btnGray,.ctaAdd [type='reset'].btnGray,.containSelectAll [type='reset'].btnGray,.ctaAdd [type='submit'].btnGray,.containSelectAll [type='submit'].btnGray{background:#7c7c7c}.ctaAdd button.btnGray:hover,.containSelectAll button.btnGray:hover,.ctaAdd [type='button'].btnGray:hover,.containSelectAll [type='button'].btnGray:hover,.ctaAdd [type='reset'].btnGray:hover,.containSelectAll [type='reset'].btnGray:hover,.ctaAdd [type='submit'].btnGray:hover,.containSelectAll [type='submit'].btnGray:hover{background:#959595}button.btnBulkBuy,button.btnBulkInquire,button.btnSubmitBulkInquire,[type='button'].btnBulkBuy,[type='button'].btnBulkInquire,[type='button'].btnSubmitBulkInquire,[type='reset'].btnBulkBuy,[type='reset'].btnBulkInquire,[type='reset'].btnSubmitBulkInquire,[type='submit'].btnBulkBuy,[type='submit'].btnBulkInquire,[type='submit'].btnSubmitBulkInquire{box-shadow:0 3px 5px rgba(0,0,0,0.25);font-size:13px;text-transform:uppercase;width:49%}.inactive button.btnBulkBuy,.inactive button.btnBulkInquire,.inactive button.btnSubmitBulkInquire,.inactive [type='button'].btnBulkBuy,.inactive [type='button'].btnBulkInquire,.inactive [type='button'].btnSubmitBulkInquire,.inactive [type='reset'].btnBulkBuy,.inactive [type='reset'].btnBulkInquire,.inactive [type='reset'].btnSubmitBulkInquire,.inactive [type='submit'].btnBulkBuy,.inactive [type='submit'].btnBulkInquire,.inactive [type='submit'].btnSubmitBulkInquire{background:#ccc;box-shadow:none;cursor:text;opacity:.5}.inactive button.btnBulkBuy:hover,.inactive button.btnBulkInquire:hover,.inactive button.btnSubmitBulkInquire:hover,.inactive [type='button'].btnBulkBuy:hover,.inactive [type='button'].btnBulkInquire:hover,.inactive [type='button'].btnSubmitBulkInquire:hover,.inactive [type='reset'].btnBulkBuy:hover,.inactive [type='reset'].btnBulkInquire:hover,.inactive [type='reset'].btnSubmitBulkInquire:hover,.inactive [type='submit'].btnBulkBuy:hover,.inactive [type='submit'].btnBulkInquire:hover,.inactive [type='submit'].btnSubmitBulkInquire:hover{background:#ccc;box-shadow:none;opacity:.5}button.btnSubmitBulkInquire,button.continueBrowsing,[type='button'].btnSubmitBulkInquire,[type='button'].continueBrowsing,[type='reset'].btnSubmitBulkInquire,[type='reset'].continueBrowsing,[type='submit'].btnSubmitBulkInquire,[type='submit'].continueBrowsing{font-size:14px;width:auto}button.btnBulkBuy,button.btnSubmitBulkInquire,[type='button'].btnBulkBuy,[type='button'].btnSubmitBulkInquire,[type='reset'].btnBulkBuy,[type='reset'].btnSubmitBulkInquire,[type='submit'].btnBulkBuy,[type='submit'].btnSubmitBulkInquire{background:#d21334}button.btnBulkBuy:hover,button.btnSubmitBulkInquire:hover,[type='button'].btnBulkBuy:hover,[type='button'].btnSubmitBulkInquire:hover,[type='reset'].btnBulkBuy:hover,[type='reset'].btnSubmitBulkInquire:hover,[type='submit'].btnBulkBuy:hover,[type='submit'].btnSubmitBulkInquire:hover{background:#bb112e}button.btnBulkInquire,button.continueBrowsing,[type='button'].btnBulkInquire,[type='button'].continueBrowsing,[type='reset'].btnBulkInquire,[type='reset'].continueBrowsing,[type='submit'].btnBulkInquire,[type='submit'].continueBrowsing{background:#507ec0}button.btnBulkInquire:hover,button.continueBrowsing:hover,[type='button'].btnBulkInquire:hover,[type='button'].continueBrowsing:hover,[type='reset'].btnBulkInquire:hover,[type='reset'].continueBrowsing:hover,[type='submit'].btnBulkInquire:hover,[type='submit'].continueBrowsing:hover{background:#4171b5}.btn-buy-now,.btn-make-offer,.btn-request-price,.btn-secondary{border-radius:5px;color:#fff;display:inline-block;font-size:0.833em;font-weight:700;opacity:.7;padding:.5em 0;position:relative;text-align:center;transition:all 200ms ease-in-out;width:120px}.btn-buy-now:hover,.btn-make-offer:hover,.btn-request-price:hover,.btn-secondary:hover{box-shadow:inset 0 -3px 0px rgba(0,0,0,0.25),0 5px 10px rgba(0,0,0,0.3);opacity:1;top:-1px}.btn-buy-now,.btn-make-offer{background:linear-gradient(#d21334 45%, #c81231 52%)}@media (max-width: 37.5em){.btn-buy-now,.btn-make-offer{width:48%}}.btn-buy-now:active,.btn-make-offer:active{position:relative;top:1px}.column-container-domains .btn-buy-now,.column-container-domains .btn-make-offer{border-radius:10px;font-size:0.722em;font-weight:700;opacity:.7;padding:.5em 0;text-align:center;width:110px}.column-container-domains .btn-buy-now:hover,.column-container-domains .btn-make-offer:hover{opacity:1;transition:opacity, 1s, linear}.btn-make-offer{background:linear-gradient(#507ec0 45%, #4978bd 52%)}.btn-request-price,.btn-secondary{background:linear-gradient(#46c5f7 45%, #37c0f6 52%)}@media (max-width: 37.5em){.btn-request-price{width:48%}}.btn-secondary{box-shadow:0 5px 10px rgba(0,0,0,0.2);font-size:1rem;font-weight:600;text-transform:capitalize;width:100%}@media (max-width: 37.5em){.btn-secondary{width:100%}}.btn-info{border-radius:100px;color:#6dcff6;font-size:1.5em;transition:all, 1s, ease}.btn-info:hover{color:#37c0f6}.column-container-domains .btn-info{font-size:1em;line-height:2.5em}.btn-read-more{background:rgba(255,255,255,0.5);border-radius:20px;color:#507ec0;font-weight:400;padding:.5em 1em}.btn-read-more:hover{background:#fff}.btn-checkout-cart{background:linear-gradient(#d21334 45%, #c81231 52%);border-radius:5px;color:#fff;font-size:1.222em;font-weight:600;padding:.5em 1em;position:relative;text-align:center;text-decoration:none}.btn-checkout-cart:hover{box-shadow:inset 0 -3px 0px rgba(0,0,0,0.25),0 5px 10px rgba(0,0,0,0.3);top:-1px}.form-whitepaper .btn-checkout-cart{border:none;box-shadow:0 0 10px rgba(0,0,0,0.2);font-size:1em}.container-btn-request .btn-checkout-cart{display:block}.contain-social-form-fill{margin-bottom:1.25em}.contain-social-form-fill li{float:left;padding:0 3% 0 0;width:49.5%}.btn-contact-social{align-items:center;border-radius:.3em;color:#fff;cursor:pointer;display:flex;font-weight:600;justify-content:center;padding:.5em 1em;text-align:center;width:100%}.contain-social-form-fill .btn-contact-social{font-size:1rem}.btn-contact-social:hover{box-shadow:inset 0 0 100px rgba(0,0,0,0.1)}.btn-contact-social.in{background:linear-gradient(#287bbc 0%, #23639a 100%);border-color:#1b5480;text-shadow:0 1px 1px rgba(0,0,0,0.35)}.btn-contact-social.fb{background:linear-gradient(#4e69a2 0%, #3b5998 100%);border-color:#1b5480;text-shadow:0 1px 1px rgba(0,0,0,0.35)}.btn-contact-social.gp{background:linear-gradient(#42A5F5 0%, #2196F3 100%);border-color:#1b5480;text-shadow:0 1px 1px rgba(0,0,0,0.35)}.btn-contact-social.disabled{background:gray;cursor:default}.btn-contact-social .svgIcon{margin-right:5px}@media (max-width: 27.188em){.btn-contact-social .svgIcon{display:none}}@media (max-width: 480px){.btn-contact-social.fb,.btn-contact-social.in,.btn-contact-social.gp{font-size:85%}}.btn-cta-match,.btn-cta-match-request{border-radius:15px;color:#fff;display:block;font-weight:600;padding:1em;text-decoration:none}.btn-cta-match:hover,.btn-cta-match-request:hover{box-shadow:inset 0 2px 5px 0 rgba(255,255,255,0.5),inset 0 -5px 20px rgba(0,0,0,0.3),0 5px 15px rgba(0,0,0,0.3)}.btn-cta-match{background:linear-gradient(#d21334 50%, #c81231 51%)}.btn-cta-match-request{background:linear-gradient(#46c5f7 49%, #37c0f6 50%)}.btn-save-alert{background:linear-gradient(#e6e6e6 45%, #ddd 52%);border-radius:5px;color:#959595;font-size:.611em;font-weight:600;padding:.5em 1em}.btn-save-alert:hover{background:linear-gradient(#d5d5d5 45%, #ccc 52%)}.btn-most-relevant{background:rgba(173,255,47,0.2);border-radius:10px 0 0 10px;border-right:1px solid #ccc;box-shadow:inset -5px 0 8px rgba(0,0,0,0.1);color:green;padding:10px 15px 10px 20px;position:relative;transition:all, 1s, ease}.btn-most-relevant svg{width:1em;fill:currentColor}.btn-view-more,.btn-view-more-txt,.btn-view-more-txt-main{background:rgba(255,255,255,0);border-radius:10px 0 0 10px;box-shadow:0 0 0 rgba(255,255,255,0),-5px 2px 5px 0px rgba(206,204,204,0);display:inline-block;padding-left:20px;position:relative;transition:all, 1s, ease}.btn-view-more:hover,.btn-view-more-txt:hover,.btn-view-more-txt-main:hover{background:#fff;box-shadow:0 0 1px #fff,-5px 2px 5px 0px rgba(206,204,204,0.3)}.btn-view-more-txt,.btn-view-more-txt-main{border-right:1px solid #ccc;box-shadow:inset -5px 0 8px rgba(0,0,0,0.1);color:#bbbbbb;padding-right:5px;text-shadow:1px 0 #fff}.btn-view-more-txt:hover,.btn-view-more-txt-main:hover{box-shadow:inset -5px 0 8px rgba(0,0,0,0.1)}.btn-view-more-txt-main{padding:10px 5px 10px .5em}fieldset{background-color:transparent;border:0;margin:0;padding:0}legend{font-weight:600;margin-bottom:.375em;padding:0}label{display:block;font-weight:600}label.label-standard{font-size:0.778em;font-weight:600;padding-bottom:.5em;padding-left:5px}label.checkAddList{transition-duration:0.25s;background:#fff;border-radius:5px;border:2px solid #d5d5d5;color:rgba(255,255,255,0.1);cursor:pointer;display:inline-block;height:24px;margin:0;overflow:hidden;position:relative;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:24px}label.checkAddList:after{content:url("/browser/img/checkmark-white.svg");display:block;line-height:.65em;padding:4px}label.checkAddList:hover{border:2px solid rgba(35,58,120,0.5);color:black}label.checkAddList:active{transition-duration:0;-webkit-filter:brightness(0.8)}.label-none{display:none}.label-style{display:block;font-size:0.778em;font-weight:600;padding-bottom:.5em;padding-left:5px}input,select,textarea{display:block;font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:16px}[type='color'],[type='date'],[type='datetime'],[type='datetime-local'],[type='email'],[type='month'],[type='number'],[type='password'],[type='search'],[type='tel'],[type='text'],[type='time'],[type='url'],[type='week'],input:not([type]),textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:1px solid #d5d5d5;border-radius:3px;box-shadow:none;box-sizing:border-box;margin-bottom:.75em;padding:.5em;transition:border-color 150ms ease;width:100%}[type='color']:hover,[type='date']:hover,[type='datetime']:hover,[type='datetime-local']:hover,[type='email']:hover,[type='month']:hover,[type='number']:hover,[type='password']:hover,[type='search']:hover,[type='tel']:hover,[type='text']:hover,[type='time']:hover,[type='url']:hover,[type='week']:hover,input:not([type]):hover,textarea:hover{border-color:#aaa}[type='color']:focus,[type='date']:focus,[type='datetime']:focus,[type='datetime-local']:focus,[type='email']:focus,[type='month']:focus,[type='number']:focus,[type='password']:focus,[type='search']:focus,[type='tel']:focus,[type='text']:focus,[type='time']:focus,[type='url']:focus,[type='week']:focus,input:not([type]):focus,textarea:focus{border-color:#233a78;box-shadow:inset 0 1px 3px rgba(0,0,0,0.06),0 0 5px rgba(29,48,100,0.7);outline:none}[type='color']:disabled,[type='date']:disabled,[type='datetime']:disabled,[type='datetime-local']:disabled,[type='email']:disabled,[type='month']:disabled,[type='number']:disabled,[type='password']:disabled,[type='search']:disabled,[type='tel']:disabled,[type='text']:disabled,[type='time']:disabled,[type='url']:disabled,[type='week']:disabled,input:not([type]):disabled,textarea:disabled{background-color:#f2f2f2;cursor:not-allowed}[type='color']:disabled:hover,[type='date']:disabled:hover,[type='datetime']:disabled:hover,[type='datetime-local']:disabled:hover,[type='email']:disabled:hover,[type='month']:disabled:hover,[type='number']:disabled:hover,[type='password']:disabled:hover,[type='search']:disabled:hover,[type='tel']:disabled:hover,[type='text']:disabled:hover,[type='time']:disabled:hover,[type='url']:disabled:hover,[type='week']:disabled:hover,input:not([type]):disabled:hover,textarea:disabled:hover{border:1px solid #d5d5d5}[type='color']::-moz-placeholder, [type='date']::-moz-placeholder, [type='datetime']::-moz-placeholder, [type='datetime-local']::-moz-placeholder, [type='email']::-moz-placeholder, [type='month']::-moz-placeholder, [type='number']::-moz-placeholder, [type='password']::-moz-placeholder, [type='search']::-moz-placeholder, [type='tel']::-moz-placeholder, [type='text']::-moz-placeholder, [type='time']::-moz-placeholder, [type='url']::-moz-placeholder, [type='week']::-moz-placeholder, input:not([type])::-moz-placeholder, textarea::-moz-placeholder{color:#959595}[type='color']:-ms-input-placeholder, [type='date']:-ms-input-placeholder, [type='datetime']:-ms-input-placeholder, [type='datetime-local']:-ms-input-placeholder, [type='email']:-ms-input-placeholder, [type='month']:-ms-input-placeholder, [type='number']:-ms-input-placeholder, [type='password']:-ms-input-placeholder, [type='search']:-ms-input-placeholder, [type='tel']:-ms-input-placeholder, [type='text']:-ms-input-placeholder, [type='time']:-ms-input-placeholder, [type='url']:-ms-input-placeholder, [type='week']:-ms-input-placeholder, input:not([type]):-ms-input-placeholder, textarea:-ms-input-placeholder{color:#959595}[type='color']::-ms-input-placeholder, [type='date']::-ms-input-placeholder, [type='datetime']::-ms-input-placeholder, [type='datetime-local']::-ms-input-placeholder, [type='email']::-ms-input-placeholder, [type='month']::-ms-input-placeholder, [type='number']::-ms-input-placeholder, [type='password']::-ms-input-placeholder, [type='search']::-ms-input-placeholder, [type='tel']::-ms-input-placeholder, [type='text']::-ms-input-placeholder, [type='time']::-ms-input-placeholder, [type='url']::-ms-input-placeholder, [type='week']::-ms-input-placeholder, input:not([type])::-ms-input-placeholder, textarea::-ms-input-placeholder{color:#959595}[type='color']::placeholder,[type='date']::placeholder,[type='datetime']::placeholder,[type='datetime-local']::placeholder,[type='email']::placeholder,[type='month']::placeholder,[type='number']::placeholder,[type='password']::placeholder,[type='search']::placeholder,[type='tel']::placeholder,[type='text']::placeholder,[type='time']::placeholder,[type='url']::placeholder,[type='week']::placeholder,input:not([type])::placeholder,textarea::placeholder{color:#959595}[type='color'].search-field,[type='date'].search-field,[type='datetime'].search-field,[type='datetime-local'].search-field,[type='email'].search-field,[type='month'].search-field,[type='number'].search-field,[type='password'].search-field,[type='search'].search-field,[type='tel'].search-field,[type='text'].search-field,[type='time'].search-field,[type='url'].search-field,[type='week'].search-field,input:not([type]).search-field,textarea.search-field{align-self:stretch;background:none;border:none;box-shadow:none;color:#424242;font-weight:300;margin:0;outline:none;padding:0 1em;width:99%}[type='color'].search-field.error-tld-textbox,[type='date'].search-field.error-tld-textbox,[type='datetime'].search-field.error-tld-textbox,[type='datetime-local'].search-field.error-tld-textbox,[type='email'].search-field.error-tld-textbox,[type='month'].search-field.error-tld-textbox,[type='number'].search-field.error-tld-textbox,[type='password'].search-field.error-tld-textbox,[type='search'].search-field.error-tld-textbox,[type='tel'].search-field.error-tld-textbox,[type='text'].search-field.error-tld-textbox,[type='time'].search-field.error-tld-textbox,[type='url'].search-field.error-tld-textbox,[type='week'].search-field.error-tld-textbox,input:not([type]).search-field.error-tld-textbox,textarea.search-field.error-tld-textbox{background:linear-gradient(-45deg, transparent, rgba(210,19,52,0.1) 75%);background:-ms-linear-gradient(-45deg, transparent, rgba(210,19,52,0.1) 75%)}[type='color'].search-field.error-tld-textbox[placeholder],[type='date'].search-field.error-tld-textbox[placeholder],[type='datetime'].search-field.error-tld-textbox[placeholder],[type='datetime-local'].search-field.error-tld-textbox[placeholder],[type='email'].search-field.error-tld-textbox[placeholder],[type='month'].search-field.error-tld-textbox[placeholder],[type='number'].search-field.error-tld-textbox[placeholder],[type='password'].search-field.error-tld-textbox[placeholder],[type='search'].search-field.error-tld-textbox[placeholder],[type='tel'].search-field.error-tld-textbox[placeholder],[type='text'].search-field.error-tld-textbox[placeholder],[type='time'].search-field.error-tld-textbox[placeholder],[type='url'].search-field.error-tld-textbox[placeholder],[type='week'].search-field.error-tld-textbox[placeholder],input:not([type]).search-field.error-tld-textbox[placeholder],textarea.search-field.error-tld-textbox[placeholder]{color:#d21334 !important}[type='color'].search-field.error-tld-textbox::-webkit-input-placeholder,[type='date'].search-field.error-tld-textbox::-webkit-input-placeholder,[type='datetime'].search-field.error-tld-textbox::-webkit-input-placeholder,[type='datetime-local'].search-field.error-tld-textbox::-webkit-input-placeholder,[type='email'].search-field.error-tld-textbox::-webkit-input-placeholder,[type='month'].search-field.error-tld-textbox::-webkit-input-placeholder,[type='number'].search-field.error-tld-textbox::-webkit-input-placeholder,[type='password'].search-field.error-tld-textbox::-webkit-input-placeholder,[type='search'].search-field.error-tld-textbox::-webkit-input-placeholder,[type='tel'].search-field.error-tld-textbox::-webkit-input-placeholder,[type='text'].search-field.error-tld-textbox::-webkit-input-placeholder,[type='time'].search-field.error-tld-textbox::-webkit-input-placeholder,[type='url'].search-field.error-tld-textbox::-webkit-input-placeholder,[type='week'].search-field.error-tld-textbox::-webkit-input-placeholder,input:not([type]).search-field.error-tld-textbox::-webkit-input-placeholder,textarea.search-field.error-tld-textbox::-webkit-input-placeholder{color:#d21334 !important}[type='color'].search-field.error-tld-textbox:-moz-placeholder,[type='date'].search-field.error-tld-textbox:-moz-placeholder,[type='datetime'].search-field.error-tld-textbox:-moz-placeholder,[type='datetime-local'].search-field.error-tld-textbox:-moz-placeholder,[type='email'].search-field.error-tld-textbox:-moz-placeholder,[type='month'].search-field.error-tld-textbox:-moz-placeholder,[type='number'].search-field.error-tld-textbox:-moz-placeholder,[type='password'].search-field.error-tld-textbox:-moz-placeholder,[type='search'].search-field.error-tld-textbox:-moz-placeholder,[type='tel'].search-field.error-tld-textbox:-moz-placeholder,[type='text'].search-field.error-tld-textbox:-moz-placeholder,[type='time'].search-field.error-tld-textbox:-moz-placeholder,[type='url'].search-field.error-tld-textbox:-moz-placeholder,[type='week'].search-field.error-tld-textbox:-moz-placeholder,input:not([type]).search-field.error-tld-textbox:-moz-placeholder,textarea.search-field.error-tld-textbox:-moz-placeholder{color:#d21334 !important}[type='color'].search-field.error-tld-textbox:-ms-input-placeholder,[type='date'].search-field.error-tld-textbox:-ms-input-placeholder,[type='datetime'].search-field.error-tld-textbox:-ms-input-placeholder,[type='datetime-local'].search-field.error-tld-textbox:-ms-input-placeholder,[type='email'].search-field.error-tld-textbox:-ms-input-placeholder,[type='month'].search-field.error-tld-textbox:-ms-input-placeholder,[type='number'].search-field.error-tld-textbox:-ms-input-placeholder,[type='password'].search-field.error-tld-textbox:-ms-input-placeholder,[type='search'].search-field.error-tld-textbox:-ms-input-placeholder,[type='tel'].search-field.error-tld-textbox:-ms-input-placeholder,[type='text'].search-field.error-tld-textbox:-ms-input-placeholder,[type='time'].search-field.error-tld-textbox:-ms-input-placeholder,[type='url'].search-field.error-tld-textbox:-ms-input-placeholder,[type='week'].search-field.error-tld-textbox:-ms-input-placeholder,input:not([type]).search-field.error-tld-textbox:-ms-input-placeholder,textarea.search-field.error-tld-textbox:-ms-input-placeholder{color:#d21334 !important}[type='color'].input-standard,[type='color'].text-area-standard,[type='date'].input-standard,[type='date'].text-area-standard,[type='datetime'].input-standard,[type='datetime'].text-area-standard,[type='datetime-local'].input-standard,[type='datetime-local'].text-area-standard,[type='email'].input-standard,[type='email'].text-area-standard,[type='month'].input-standard,[type='month'].text-area-standard,[type='number'].input-standard,[type='number'].text-area-standard,[type='password'].input-standard,[type='password'].text-area-standard,[type='search'].input-standard,[type='search'].text-area-standard,[type='tel'].input-standard,[type='tel'].text-area-standard,[type='text'].input-standard,[type='text'].text-area-standard,[type='time'].input-standard,[type='time'].text-area-standard,[type='url'].input-standard,[type='url'].text-area-standard,[type='week'].input-standard,[type='week'].text-area-standard,input:not([type]).input-standard,input:not([type]).text-area-standard,textarea.input-standard,textarea.text-area-standard{border:1px solid #ccc;border-radius:3px;box-shadow:none;color:#424242;font-size:0.722em;height:32px;margin-bottom:0;padding:.2em 1em;width:100%}[type='color'].input-standard:focus,[type='color'].text-area-standard:focus,[type='date'].input-standard:focus,[type='date'].text-area-standard:focus,[type='datetime'].input-standard:focus,[type='datetime'].text-area-standard:focus,[type='datetime-local'].input-standard:focus,[type='datetime-local'].text-area-standard:focus,[type='email'].input-standard:focus,[type='email'].text-area-standard:focus,[type='month'].input-standard:focus,[type='month'].text-area-standard:focus,[type='number'].input-standard:focus,[type='number'].text-area-standard:focus,[type='password'].input-standard:focus,[type='password'].text-area-standard:focus,[type='search'].input-standard:focus,[type='search'].text-area-standard:focus,[type='tel'].input-standard:focus,[type='tel'].text-area-standard:focus,[type='text'].input-standard:focus,[type='text'].text-area-standard:focus,[type='time'].input-standard:focus,[type='time'].text-area-standard:focus,[type='url'].input-standard:focus,[type='url'].text-area-standard:focus,[type='week'].input-standard:focus,[type='week'].text-area-standard:focus,input:not([type]).input-standard:focus,input:not([type]).text-area-standard:focus,textarea.input-standard:focus,textarea.text-area-standard:focus{border-color:#fff;box-shadow:0 0px 10px rgba(70,197,247,0.5)}#choice-list-domains-portfolio [type='color'].input-standard,#choice-list-domains-portfolio [type='color'].text-area-standard,#choice-list-domains-portfolio [type='date'].input-standard,#choice-list-domains-portfolio [type='date'].text-area-standard,#choice-list-domains-portfolio [type='datetime'].input-standard,#choice-list-domains-portfolio [type='datetime'].text-area-standard,#choice-list-domains-portfolio [type='datetime-local'].input-standard,#choice-list-domains-portfolio [type='datetime-local'].text-area-standard,#choice-list-domains-portfolio [type='email'].input-standard,#choice-list-domains-portfolio [type='email'].text-area-standard,#choice-list-domains-portfolio [type='month'].input-standard,#choice-list-domains-portfolio [type='month'].text-area-standard,#choice-list-domains-portfolio [type='number'].input-standard,#choice-list-domains-portfolio [type='number'].text-area-standard,#choice-list-domains-portfolio [type='password'].input-standard,#choice-list-domains-portfolio [type='password'].text-area-standard,#choice-list-domains-portfolio [type='search'].input-standard,#choice-list-domains-portfolio [type='search'].text-area-standard,#choice-list-domains-portfolio [type='tel'].input-standard,#choice-list-domains-portfolio [type='tel'].text-area-standard,#choice-list-domains-portfolio [type='text'].input-standard,#choice-list-domains-portfolio [type='text'].text-area-standard,#choice-list-domains-portfolio [type='time'].input-standard,#choice-list-domains-portfolio [type='time'].text-area-standard,#choice-list-domains-portfolio [type='url'].input-standard,#choice-list-domains-portfolio [type='url'].text-area-standard,#choice-list-domains-portfolio [type='week'].input-standard,#choice-list-domains-portfolio [type='week'].text-area-standard,#choice-list-domains-portfolio input:not([type]).input-standard,#choice-list-domains-portfolio input:not([type]).text-area-standard,#choice-list-domains-portfolio textarea.input-standard,#choice-list-domains-portfolio textarea.text-area-standard{background:#fff}.container-boxes-exclude [type='color'].input-standard,.container-boxes-exclude [type='color'].text-area-standard,.container-boxes-exclude [type='date'].input-standard,.container-boxes-exclude [type='date'].text-area-standard,.container-boxes-exclude [type='datetime'].input-standard,.container-boxes-exclude [type='datetime'].text-area-standard,.container-boxes-exclude [type='datetime-local'].input-standard,.container-boxes-exclude [type='datetime-local'].text-area-standard,.container-boxes-exclude [type='email'].input-standard,.container-boxes-exclude [type='email'].text-area-standard,.container-boxes-exclude [type='month'].input-standard,.container-boxes-exclude [type='month'].text-area-standard,.container-boxes-exclude [type='number'].input-standard,.container-boxes-exclude [type='number'].text-area-standard,.container-boxes-exclude [type='password'].input-standard,.container-boxes-exclude [type='password'].text-area-standard,.container-boxes-exclude [type='search'].input-standard,.container-boxes-exclude [type='search'].text-area-standard,.container-boxes-exclude [type='tel'].input-standard,.container-boxes-exclude [type='tel'].text-area-standard,.container-boxes-exclude [type='text'].input-standard,.container-boxes-exclude [type='text'].text-area-standard,.container-boxes-exclude [type='time'].input-standard,.container-boxes-exclude [type='time'].text-area-standard,.container-boxes-exclude [type='url'].input-standard,.container-boxes-exclude [type='url'].text-area-standard,.container-boxes-exclude [type='week'].input-standard,.container-boxes-exclude [type='week'].text-area-standard,.container-boxes-exclude input:not([type]).input-standard,.container-boxes-exclude input:not([type]).text-area-standard,.container-boxes-exclude textarea.input-standard,.container-boxes-exclude textarea.text-area-standard{font-size:1em;font-stretch:normal;padding:1em}textarea{resize:vertical}[type="checkbox"],[type="radio"]{display:inline;margin-right:.375em}[type="checkbox"].checkAddList,[type="radio"].checkAddList{display:none}[type="checkbox"].checkAddList:checked+label,[type="radio"].checkAddList:checked+label{color:#233a78}[type="checkbox"].checkAddList:checked+.blue-background,[type="radio"].checkAddList:checked+.blue-background{border-color:#233a78;background:#233a78}[type="checkbox"].checkAddList:checked+.blue-background:after,[type="radio"].checkAddList:checked+.blue-background:after{display:block}[type="file"]{margin-bottom:.75em;width:100%}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #ccc;border-radius:5px;box-shadow:inset 0 1px 3px rgba(0,0,0,0.06);color:#7c7c7c;height:100% !important;outline:none;width:100%}@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none){select{position:relative;z-index:2}}label[for=selectCountry],label[for=selectPriceHi],label[for=selectPriceLo],label[for=select-category-main],label[for=select-message-type],label[for=select-country-three],label[for=country]{border:none;border-radius:0 .3em .3em 0;color:#7c7c7c;cursor:pointer;display:block;overflow:hidden;position:relative}label[for=selectCountry]::after,label[for=selectPriceHi]::after,label[for=selectPriceLo]::after,label[for=select-category-main]::after,label[for=select-message-type]::after,label[for=select-country-three]::after,label[for=country]::after{background:#233a78 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOBAMAAAGq7RFVAAAAJ1BMVEX///////////////////////////////////////////////////9Ruv0SAAAADHRSTlMACAoREoKDt7y9zc5qtZoyAAAAcklEQVQIHQXBsQnCUAAFwFOCCKbIABaWERzi1yaFAzmEpHYEC8GUKVQEkbyhvOOkZqdWt0/QYKqLzQeF7dv6y/RLwa2wYtk4Xxxe+t8yd1WuM/rcUc2gYHEeoP02umSgTR50ybBPRuiSZAS6ZAQ4jgCAPyjYJiRH4fymAAAAAElFTkSuQmCC") no-repeat center center;background-size:25%;border-radius:0 .3em .3em 0;content:' ';display:block;height:100%;pointer-events:none;position:absolute;right:0;top:0;width:40px}@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none){label[for=selectCountry]::after,label[for=selectPriceHi]::after,label[for=selectPriceLo]::after,label[for=select-category-main]::after,label[for=select-message-type]::after,label[for=select-country-three]::after,label[for=country]::after{z-index:1}}label[for=selectCountry] select,label[for=selectPriceHi] select,label[for=selectPriceLo] select,label[for=select-category-main] select,label[for=select-message-type] select,label[for=select-country-three] select,label[for=country] select{background:#fff;border-radius:.3em;cursor:pointer;font-size:.9rem;padding:.5em;width:100%}@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none){label[for=selectCountry] select,label[for=selectPriceHi] select,label[for=selectPriceLo] select,label[for=select-category-main] select,label[for=select-message-type] select,label[for=select-country-three] select,label[for=country] select{z-index:1}}label[for=selectCountry] select::-ms-expand,label[for=selectPriceHi] select::-ms-expand,label[for=selectPriceLo] select::-ms-expand,label[for=select-category-main] select::-ms-expand,label[for=select-message-type] select::-ms-expand,label[for=select-country-three] select::-ms-expand,label[for=country] select::-ms-expand{display:none}label[for=selectCountry] :-moz-any(select),label[for=selectPriceHi] :-moz-any(select),label[for=selectPriceLo] :-moz-any(select),label[for=select-category-main] :-moz-any(select),label[for=select-message-type] :-moz-any(select),label[for=select-country-three] :-moz-any(select),label[for=country] :-moz-any(select){width:110%}label[for=selectCountry].ie9 select,label.ie9[for=selectPriceHi] select,label.ie9[for=selectPriceLo] select,label.ie9[for=select-category-main] select,label.ie9[for=select-message-type] select,label.ie9[for=select-country-three] select,label.ie9[for=country] select{width:110%}label[for=selectCountry] select:focus,label[for=selectPriceHi] select:focus,label[for=selectPriceLo] select:focus,label[for=select-category-main] select:focus,label[for=select-message-type] select:focus,label[for=select-country-three] select:focus,label[for=country] select:focus{outline:none}label[for=selectPriceHi] select,label[for=selectPriceLo] select,label[for=select-category-main] select,label[for=select-message-type] select{padding:.25em .5em}label[for=select-country-three] select{padding:.35em .5em}label[for=select-message-type] select{color:#233a78 !important;font-size:1.25rem;padding:.75em 1em}input#makeofferprice[placeholder],#makeofferprice[placeholder],*#makeofferprice[placeholder]{transition:all, 0.3s, ease;color:#d5d5d5;font-size:0.889em;font-style:normal !important;font-weight:300 !important;padding:0.875em 1.750em}#makeofferprice::-webkit-input-placeholder{color:#d5d5d5}#makeofferprice:-moz-placeholder{color:#d5d5d5}#makeofferprice::-moz-placeholder{color:#d5d5d5}#makeofferprice:-ms-input-placeholder{color:#d5d5d5}#makeofferprice:focus,#makeofferprice{transition:all, 0.3s, ease;color:#233a78 !important;height:auto}.form-mo{margin-bottom:.5em}.form-mo li{float:left;margin-bottom:.25em;padding:0 3% 0 0;width:33%}@media (min-width: 0em) and (max-width: 37.49em){.form-mo li{width:50%}.form-mo li.mo-offer,.form-mo li.mo-phone{width:100%}}.form-mo li.mo-country{padding:0 4% 0 0;width:100%}.form-mo input,.form-mo span.select{border:1px solid #ccc;border-radius:5px;box-shadow:inset 0 5px 18px rgba(0,0,0,0.2);color:#545454;font-size:.833rem;margin-bottom:0;padding:.5em 1em;width:100%}.form-mo input.valid,.form-mo span.select.valid{box-shadow:inset 0 0px 20px rgba(70,197,247,0.2);color:#233a78}.form-mo span.select{height:36px;padding:.25em 1em}.form-mo input#makeofferprice[placeholder],.form-mo #makeofferprice[placeholder],.form-mo *#makeofferprice[placeholder]{color:rgba(35,58,120,0.5);font-size:.833rem;font-style:normal !important;padding:.5em 1em}.form-mo #makeofferprice::-webkit-input-placeholder{color:rgba(35,58,120,0.5)}.form-mo #makeofferprice:-moz-placeholder{color:rgba(35,58,120,0.5)}.form-mo #makeofferprice::-moz-placeholder{color:rgba(35,58,120,0.5)}.form-mo #makeofferprice:-ms-input-placeholder{color:rgba(35,58,120,0.5)}.mo-captcha{padding:0;width:100%}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}html,body{margin:0}@media (min-width: 48em){html,body{height:100%}}body{display:flex;flex-direction:column;font-weight:400;background:#e6f1f5 url(/browser/img/main/bg-main-hilight-fade.jpg?) repeat-x top center;color:#424242;min-height:100%;height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (max-width: 37.5em){body{font-size:15px}}#container-header,.contain-header{margin:0 auto;position:relative;text-align:center;z-index:2;width:100%}#container-header.home,.contain-header.home{background:#fff;box-shadow:0 5px 10px rgba(0,0,0,0.35);position:relative;z-index:4}#container-header.home .contain-search-form,#container-header.home .container-chat-btn,.contain-header.home .contain-search-form,.contain-header.home .container-chat-btn{display:none}@media (max-width: 37.5em){#container-header,.contain-header{height:auto;position:relative;z-index:36}#container-header.home,.contain-header.home{background:none;border-bottom:0;box-shadow:none;height:auto}}#header{margin:0 auto;padding-bottom:10px;text-align:left;width:100%}.bulkDealPage #header{padding-bottom:20px;padding-top:10px}#container-content,.contain-content{min-height:100%;margin:0 auto;position:relative;text-align:center;z-index:1}.containAll{flex:1 0 auto;margin:0 auto 120px;text-align:left;width:100%}@media (max-width: 37.5em){.containAll{padding-top:calc(2% + 30px) !important}}.inner-pad{padding:1em 2em}.container-layout{transition:all, 1s, ease-in-out;padding:0 5%}@media (min-width: 75em){.container-layout{padding:0 15%}}@media (min-width: 100em){.container-layout{padding:0 20%}}@media (max-width: 27.188em){.container-layout{padding:0 2%}}.container-inner{transition:all, 1s, ease-in-out;padding:2% 5%}@media (min-width: 27.198em) and (max-width: 48em){.container-inner{padding:2% 3%}}@media (min-width: 75em){.container-inner{padding:2% 15%}}@media (min-width: 100em){.container-inner{padding:2% 20%}}.contain-intro{display:flex;padding-top:20px}.introAbout{flex:0 1 50%}@media (max-width: 48em){.introAbout{flex:1}}.introAbout .introHeadline .resizeA{font-size:3rem}@media (max-width: 37.5em){.introAbout .introHeadline .resizeA{font-size:10vw}}.introImage{flex:0 1 50%}@media (max-width: 48em){.introImage{display:none}}.float-left{float:left}.float-right{float:right}.marg-bottom{margin-bottom:20px}.marg-left{margin-left:20px}.marg-right{margin-right:20px}.marg-top{margin-top:20px}.clearfix:before,.clearfix:after{content:'.';display:block;font-size:0;height:0;line-height:0;overflow:hidden;visibility:hidden;width:0}.clearfix:after{clear:both}#tdfsSpinner{display:none;margin:0;padding:0;position:absolute;width:100%;transition:all, 0.3s, ease-in-out}.spinner{margin:10px auto 0;width:100%;text-align:center}.spinner>div{width:18px;height:18px;background-color:#233a78;border-radius:100%;display:inline-block;-webkit-animation:bouncedelay 1.4s infinite ease-in-out both;animation:bouncedelay 1.4s infinite ease-in-out both}.spinner .bounce1{-webkit-animation-delay:-0.32s;animation-delay:-0.32s}.spinner .bounce2{-webkit-animation-delay:-0.16s;animation-delay:-0.16s}@-webkit-keyframes bouncedelay{0%,80%,100%{-webkit-transform:scale(0)}40%{-webkit-transform:scale(1)}}@keyframes bouncedelay{0%,80%,100%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}@-webkit-keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.fade-in{transition:opacity, 0.3s, ease-in;margin-bottom:-10%;opacity:0;-webkit-animation:fadeIn ease-in 1;animation:fadeIn ease-in 1;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-duration:1s;animation-duration:1s}@-webkit-keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}.fade-out{transition:all, 0.3s, ease-out;margin-top:-10%;opacity:1;-webkit-animation:fadeOut ease-out 1;animation:fadeOut ease-out 1;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-duration:1s;animation-duration:1s}ul,ol{list-style-type:none;margin:0;padding:0}ul.decimal,ul.alphaLower,ul.alphaUpper,ul.romanLower,ul.romanUpper,ul.bulleted,ol.decimal,ol.alphaLower,ol.alphaUpper,ol.romanLower,ol.romanUpper,ol.bulleted{font-weight:500;margin-bottom:20px;margin-left:20px}ul.decimal li,ul.alphaLower li,ul.alphaUpper li,ul.romanLower li,ul.romanUpper li,ul.bulleted li,ol.decimal li,ol.alphaLower li,ol.alphaUpper li,ol.romanLower li,ol.romanUpper li,ol.bulleted li{margin-bottom:.5em}ul.decimal li ol,ul.decimal li li,ul.alphaLower li ol,ul.alphaLower li li,ul.alphaUpper li ol,ul.alphaUpper li li,ul.romanLower li ol,ul.romanLower li li,ul.romanUpper li ol,ul.romanUpper li li,ul.bulleted li ol,ul.bulleted li li,ol.decimal li ol,ol.decimal li li,ol.alphaLower li ol,ol.alphaLower li li,ol.alphaUpper li ol,ol.alphaUpper li li,ol.romanLower li ol,ol.romanLower li li,ol.romanUpper li ol,ol.romanUpper li li,ol.bulleted li ol,ol.bulleted li li{margin-top:10px}ul.bulleted,ol.bulleted{list-style-type:circle}ul.decimal,ol.decimal{list-style-type:decimal}ul.alphaLower,ol.alphaLower{list-style-type:lower-alpha}ul.alphaUpper,ol.alphaUpper{list-style-type:upper-alpha}ul.romanLower,ol.romanLower{list-style-type:lower-roman}ul.romanUpper,ol.romanUpper{list-style-type:upper-roman}dl{margin:0}dt{font-weight:600;margin:0}dd{margin:0}figure{margin:0}img,picture{margin:0;max-width:100%}table{border-collapse:collapse;margin:.75em 0;table-layout:fixed;width:100%}th{border-bottom:1px solid #a0a0a0;font-weight:600;padding:.75em 0;text-align:left}td{border-bottom:1px solid #d5d5d5;padding:.75em 0}tr,td,th{vertical-align:middle}body{color:#424242;font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5}h1,.txt-h1-intro{color:#fff;font-size:2.556em;font-weight:300;text-transform:uppercase}.txt-h1-intro{margin-bottom:0}.txt-promo-h{color:#fff;font-size:1.333em;font-weight:300;margin:0;margin-bottom:.5em;text-shadow:0 0 0 rgba(0,0,0,0.7);text-transform:uppercase}.introHeadline{border-bottom:1px solid #c2c2c2;color:#424242;font-size:4.2rem;font-weight:600;line-height:1em;margin:0 0 20px;padding-bottom:20px;text-shadow:none}@media (max-width: 37.5em){.introHeadline{font-size:3em}}@media (max-width: 27.188em){.introHeadline{font-size:2.2em}}.introHeadline .resizeA{display:block;font-size:1.5rem;font-weight:300;line-height:1em}.introHeadline.faqs .resizeA{margin-top:1em}.introHeadline.contactUs,.introHeadline.policies{margin:0}.container-search-results h1,h2,h3,h4,h5,h6{color:#233a78;font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:1.25em;font-weight:300;line-height:1.2;margin:0 0 .75em}.container-search-results h1,h2{font-size:2.111em;text-transform:uppercase}.container-search-results h1.large,h2.large{font-size:2.444em}.container-search-results h1.reg,h2.reg{text-transform:none}@media (max-width: 37.5em){.container-search-results h1,h2{line-height:1.2em}}h3{font-size:1.444em}h3.mo-h3{margin-bottom:0.2em}h4{font-size:1em}h5{font-size:0.833em}h6{color:#424242;font-size:0.722em;font-weight:600}a{color:#233a78;cursor:pointer;text-decoration:none;transition:color 150ms ease}.a-norm,.a-norm:visited{color:#507ec0;transition:all, 0.3s, ease}.a-norm:hover{color:#8ca7c6}.a-red{color:#d21334;font-weight:600}.a-red:hover{color:#c81231;text-decoration:underline}hr{border:0 #e2e2e2 solid;border-top-width:1px;box-shadow:0 1px 0 0 #fff;clear:both;height:0;margin:1.5em 0}.hr-form{margin:40px 0 .5em 310px}.weight-reg{font-weight:400}.weight-semi{font-weight:600}.txt-sm{font-size:0.667em}@media (max-width: 37.5em){.txt-sm{font-size:.9em}}.txt-sm-rem{font-size:0.667rem}.txt-sm-rem span{display:block;text-transform:uppercase}.txt-med-sm{font-size:0.722em}.txt-med{font-size:0.833em}.txt-h1-about{color:#424242;text-transform:none}.txt-h1-success{color:#233a78;font-size:1.3em;text-align:center}.txt-med-lg,.btn-cta-match,.btn-cta-match-request{font-size:1.111em}.txt-lg{font-size:1.556em}.txt-norml{font-weight:400}.txt-upper{text-transform:uppercase}.txt-center{margin:0 auto;text-align:center}.txt-no-case{text-transform:none}.txt-bd-blue{color:#233a78}.txt-bd-red{color:#d21334}.txt-bd-grey{color:#424242}.txt-drk-red{color:#bd112f}.txt-lght-blue{color:#8ca7c6}.txt-hilite-blue{color:#6dcff6}.txt-hilite-blue svg{fill:#6dcff6}.txt-med-blue{color:#507ec0}.txt-grey{color:#959595}.txt-green{color:#1d8502}html{height:100%}body{background:#E5F1F5 url(/browser/img/bg-gradient.png) repeat-x;font-size:16px}.contain-content{align-content:flex-start;display:grid;grid-template-columns:1fr;justify-content:center;margin:60px auto;max-width:960px;text-align:center;transition:all, 200ms, ease-in-out;width:100%;gap:30px}@media (max-width: 48em){.contain-content{margin:10px auto;max-width:760px;gap:20px}}@media (max-width: 27.188em){.contain-content{max-width:360px;padding:10px}}h1,h2,p{margin-bottom:1em}h1{color:#233A78;font-weight:400;line-height:1.357em;margin:0;text-align:center;text-transform:none;font-size:22px}@media (min-width: 360px){h1{font-size:calc(22px + 20 * (100vw - 360px) / 840)}}@media (min-width: 1200px){h1{font-size:42px}}h1 span{color:#C81231;font-size:16px}@media (min-width: 360px){h1 span{font-size:calc(16px + 8 * (100vw - 360px) / 840)}}@media (min-width: 1200px){h1 span{font-size:24px}}p{color:#6D7278;font-size:1.125rem;font-weight:400;margin:0 auto;max-width:490px;font-size:1rem}@media (min-width: 360px){p{font-size:calc(1rem + .125 * (100vw - 360px) / 840)}}@media (min-width: 1200px){p{font-size:1.125rem}}p.txt-need-price{font-size:1.5rem;font-size:1rem}@media (min-width: 360px){p.txt-need-price{font-size:calc(1rem + .5 * (100vw - 360px) / 840)}}@media (min-width: 1200px){p.txt-need-price{font-size:1.5rem}}@media (max-width: 27.188em){p.txt-need-price span{display:block}}a{color:#233A78}a.phoneLink{font-size:32px}@media (min-width: 360px){a.phoneLink{font-size:calc(32px + 10 * (100vw - 360px) / 840)}}@media (min-width: 1200px){a.phoneLink{font-size:42px}}.bcText a{color:#fff;font-weight:600}.bcText a:hover{color:#fff}#chat-button{color:#fff}#chat-button:hover{color:#fff}.contactLinks{align-items:center;padding:20px}.tdfs-logo{display:block;margin:0 auto;width:120px}button,.containChatButton{align-items:center;background:#37C0F6;border-radius:10px;box-shadow:0 5px 10px -5px rgba(0,0,0,0.3);display:grid;font-size:16px;font-weight:600;grid-template-columns:-webkit-min-content -webkit-min-content;grid-template-columns:min-content min-content;justify-content:center;padding:.5em 1em;gap:10px}button:hover,.containChatButton:hover{background:#30A9D9;box-shadow:none}.svgIcon{height:2em;width:2em}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZGVyL2gvbGFuZGVyLXY4LmNzcyIsInNvdXJjZXMiOlsibGFuZGVyL2gvbGFuZGVyLXY4LnNjc3MiLCJub3JtYWxpemUvX25vcm1hbGl6ZS5zY3NzIiwibm9ybWFsaXplL19zdXBwb3J0LWZvci5zY3NzIiwibm9ybWFsaXplL192YXJpYWJsZXMuc2NzcyIsIm5vcm1hbGl6ZS9fdmVydGljYWwtcmh5dGhtLnNjc3MiLCJub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiX2luY2x1ZGUtbWVkaWEuc2NzcyIsIl9ib3VyYm9uLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2J1dHRvbnMtbGlzdC5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19zY2FsZXMuc2NzcyIsImJvdXJib24vaGVscGVycy9fdGV4dC1pbnB1dHMtbGlzdC5zY3NzIiwiYm91cmJvbi9zZXR0aW5ncy9fc2V0dGluZ3Muc2NzcyIsImJvdXJib24vdmFsaWRhdG9ycy9fY29udGFpbnMuc2NzcyIsImJvdXJib24vdmFsaWRhdG9ycy9fY29udGFpbnMtZmFsc3kuc2NzcyIsImJvdXJib24vdmFsaWRhdG9ycy9faXMtY29sb3Iuc2NzcyIsImJvdXJib24vdmFsaWRhdG9ycy9faXMtbGVuZ3RoLnNjc3MiLCJib3VyYm9uL3ZhbGlkYXRvcnMvX2lzLW51bWJlci5zY3NzIiwiYm91cmJvbi92YWxpZGF0b3JzL19pcy1zaXplLnNjc3MiLCJib3VyYm9uL3V0aWxpdGllcy9fYXNzaWduLWlucHV0cy5zY3NzIiwiYm91cmJvbi91dGlsaXRpZXMvX2NvbXBhY3Qtc2hvcnRoYW5kLnNjc3MiLCJib3VyYm9uL3V0aWxpdGllcy9fZGlyZWN0aW9uYWwtcHJvcGVydHkuc2NzcyIsImJvdXJib24vdXRpbGl0aWVzL19mZXRjaC1ib3VyYm9uLXNldHRpbmcuc2NzcyIsImJvdXJib24vdXRpbGl0aWVzL19mb250LXNvdXJjZS1kZWNsYXJhdGlvbi5zY3NzIiwiYm91cmJvbi91dGlsaXRpZXMvX2dhbW1hLnNjc3MiLCJib3VyYm9uL3V0aWxpdGllcy9fbGlnaHRuZXNzLnNjc3MiLCJib3VyYm9uL3V0aWxpdGllcy9fY29udHJhc3QtcmF0aW8uc2NzcyIsImJvdXJib24vdXRpbGl0aWVzL191bnBhY2stc2hvcnRoYW5kLnNjc3MiLCJib3VyYm9uL2xpYnJhcnkvX2JvcmRlci1jb2xvci5zY3NzIiwiYm91cmJvbi9saWJyYXJ5L19ib3JkZXItcmFkaXVzLnNjc3MiLCJib3VyYm9uL2xpYnJhcnkvX2JvcmRlci1zdHlsZS5zY3NzIiwiYm91cmJvbi9saWJyYXJ5L19ib3JkZXItd2lkdGguc2NzcyIsImJvdXJib24vbGlicmFyeS9fYnV0dG9ucy5zY3NzIiwiYm91cmJvbi9saWJyYXJ5L19jbGVhcmZpeC5zY3NzIiwiYm91cmJvbi9saWJyYXJ5L19jb250cmFzdC1zd2l0Y2guc2NzcyIsImJvdXJib24vbGlicmFyeS9fZWxsaXBzaXMuc2NzcyIsImJvdXJib24vbGlicmFyeS9fZm9udC1mYWNlLnNjc3MiLCJib3VyYm9uL2xpYnJhcnkvX2ZvbnQtc3RhY2tzLnNjc3MiLCJib3VyYm9uL2xpYnJhcnkvX2hpZGUtdGV4dC5zY3NzIiwiYm91cmJvbi9saWJyYXJ5L19oaWRlLXZpc3VhbGx5LnNjc3MiLCJib3VyYm9uL2xpYnJhcnkvX21hcmdpbi5zY3NzIiwiYm91cmJvbi9saWJyYXJ5L19tb2R1bGFyLXNjYWxlLnNjc3MiLCJib3VyYm9uL2xpYnJhcnkvX292ZXJmbG93LXdyYXAuc2NzcyIsImJvdXJib24vbGlicmFyeS9fcGFkZGluZy5zY3NzIiwiYm91cmJvbi9saWJyYXJ5L19wb3NpdGlvbi5zY3NzIiwiYm91cmJvbi9saWJyYXJ5L19wcmVmaXhlci5zY3NzIiwiYm91cmJvbi9saWJyYXJ5L19zaGFkZS5zY3NzIiwiYm91cmJvbi9saWJyYXJ5L19zaXplLnNjc3MiLCJib3VyYm9uL2xpYnJhcnkvX3N0cmlwLXVuaXQuc2NzcyIsImJvdXJib24vbGlicmFyeS9fdGV4dC1pbnB1dHMuc2NzcyIsImJvdXJib24vbGlicmFyeS9fdGltaW5nLWZ1bmN0aW9ucy5zY3NzIiwiYm91cmJvbi9saWJyYXJ5L190aW50LnNjc3MiLCJib3VyYm9uL2xpYnJhcnkvX3RyaWFuZ2xlLnNjc3MiLCJib3VyYm9uL2xpYnJhcnkvX3ZhbHVlLXByZWZpeGVyLnNjc3MiLCJiaXR0ZXJzL19iYXNlLnNjc3MiLCJiaXR0ZXJzL192YXJpYWJsZXMuc2NzcyIsImJpdHRlcnMvX2J1dHRvbnMuc2NzcyIsImJpdHRlcnMvX2Zvcm1zLnNjc3MiLCJiaXR0ZXJzL19sYXlvdXQuc2NzcyIsImJpdHRlcnMvX2xvYWRpbmcuc2NzcyIsImJpdHRlcnMvX2xpc3RzLnNjc3MiLCJiaXR0ZXJzL19tZWRpYS5zY3NzIiwiYml0dGVycy9fdGFibGVzLnNjc3MiLCJiaXR0ZXJzL190eXBvZ3JhcGh5LnNjc3MiLCJsYW5kZXIvX2ZsdWlkRm9udFNpemUuc2NzcyIsImxhbmRlci9oL19jdXN0b21MYW5kZXItSC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGZvciBhcHJ0ZXN0IHRlbXBsYXRlXG5cbkBpbXBvcnQgXCIuLi8uLi9ub3JtYWxpemUvbm9ybWFsaXplXCI7XG5AaW1wb3J0IFwiLi4vLi4vaW5jbHVkZS1tZWRpYVwiO1xuQGltcG9ydCBcIi4uLy4uL2JvdXJib25cIjtcbkBpbXBvcnQgXCIuLi8uLi9iaXR0ZXJzL2Jhc2VcIjtcbkBpbXBvcnQgXCIuLi9mbHVpZEZvbnRTaXplXCI7XG5cbi8vIFRERlMgc3R5bGVcbkBpbXBvcnQgXCJjdXN0b21MYW5kZXItSFwiO1xuIiwiQGltcG9ydCAnc3VwcG9ydC1mb3InO1xuQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlcnRpY2FsLXJoeXRobSc7XG5AaW1wb3J0ICdub3JtYWxpemUtbWl4aW4nO1xuIiwiLy8gU3VwcG9ydCB0aGUgbGFzdCA0IHZlcnNpb25zIG9mIGFsbCBicm93c2VycyBleGNlcHQgSUUuXG4kc3VwcG9ydC1mb3I6IChcbiAgY2hyb21lOiAgLTQsXG4gIGVkZ2U6ICAgIC00LFxuICBmaXJlZm94OiAtNCxcbiAgaWU6ICAgICAgOSxcbiAgb3BlcmE6ICAgLTQsXG4gIHNhZmFyaTogIC00LFxuICAnKic6ICAgICAtNCxcbikgIWRlZmF1bHQ7XG5cbi8vIFNldCB0aGUgY3VycmVudCB2ZXJzaW9uIG51bWJlciBmb3IgYWxsIGJyb3dzZXJzLiBBcyBvZjogMjAxNi0wNC0zMFxuJHN1cHBvcnQtZm9yLWN1cnJlbnQtYnJvd3Nlci12ZXJzaW9uOiAoXG4gIGNocm9tZTogIDUwLCAvLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Hb29nbGVfQ2hyb21lX3JlbGVhc2VfaGlzdG9yeVxuICBlZGdlOiAgICAyNSwgLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTWljcm9zb2Z0X0VkZ2VcbiAgZmlyZWZveDogNDYsIC8vIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0ZpcmVmb3hfcmVsZWFzZV9oaXN0b3J5XG4gIGllOiAgICAgIDExLCAvLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JbnRlcm5ldF9FeHBsb3Jlcl92ZXJzaW9uc1xuICBvcGVyYTogICAzNiwgLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvT3BlcmFfKHdlYl9icm93c2VyKVxuICBzYWZhcmk6ICA5LCAgLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvU2FmYXJpX3ZlcnNpb25faGlzdG9yeVxuKSAhZGVmYXVsdDtcblxuXG4vLyBzdXBwb3J0LWZvcigpXG4vL1xuLy8gRGV0ZXJtaW5lcyBpZiB0aGUgcHJvamVjdCBoYXMgZGVjbGFyZWQgYSBtaW5pbXVtIHN1cHBvcnRlZCB2ZXJzaW9uIG51bWJlciBmb3Jcbi8vIHRoZSBzcGVjaWZpZWQgYnJvd3Nlci5cbi8vXG4vLyBJZiBjb25maWd1cmVkLCB0aGlzIGlzIGEgd3JhcHBlciBmdW5jdGlvbiB0aGF0IHVzZXMgQ29tcGFzcydcbi8vIHN1cHBvcnQtbGVnYWN5LWJyb3dzZXIoKS5cbi8vIEBzZWUgaHR0cDovL2NvbXBhc3Mtc3R5bGUub3JnL3JlZmVyZW5jZS9jb21wYXNzL3N1cHBvcnQvI2Z1bmN0aW9uLXN1cHBvcnQtbGVnYWN5LWJyb3dzZXJcbi8vXG5AZnVuY3Rpb24gc3VwcG9ydC1mb3IoJGJyb3dzZXIsICR2ZXJzaW9uKSB7XG4gIC8vIEVuc3VyZSAkdmVyc2lvbiBpcyBhbiBpbnRlZ2VyIChvciBudWxsKS5cbiAgQGlmIG5vdCAodHlwZS1vZigkdmVyc2lvbikgPT0gXCJudWxsXCIgb3IgdHlwZS1vZigkdmVyc2lvbikgPT0gXCJudW1iZXJcIiBhbmQgcm91bmQoJHZlcnNpb24pID09ICR2ZXJzaW9uKSB7XG4gICAgQGVycm9yIFwiVGhlICR2ZXJzaW9uIHBhcmFtZXRlciBvZiBzdXBwb3J0LWZvcigpIG11c3QgYmUgYW4gaW50ZWdlcjsgI3t0eXBlLW9mKCR2ZXJzaW9uKX0gZ2l2ZW4uXCI7XG4gIH1cblxuICAvLyBDaGVjayBhZ2FpbnN0IGRlY2xhcmVkIG1pbmltdW1zLlxuICAkbWluLXZlcnNpb246IG51bGw7XG4gIEBpZiBtYXAtaGFzLWtleSgkc3VwcG9ydC1mb3IsICRicm93c2VyKSB7XG4gICAgJG1pbi12ZXJzaW9uOiBtYXAtZ2V0KCRzdXBwb3J0LWZvciwgJGJyb3dzZXIpO1xuICB9XG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRzdXBwb3J0LWZvciwgJyonKSB7XG4gICAgJG1pbi12ZXJzaW9uOiBtYXAtZ2V0KCRzdXBwb3J0LWZvciwgJyonKTtcbiAgfVxuXG4gIC8vIEVuc3VyZSAkbWluLXZlcnNpb24gaXMgYW4gaW50ZWdlciAob3IgbnVsbCkuXG4gIEBpZiB0eXBlLW9mKCRtaW4tdmVyc2lvbikgIT0gXCJudWxsXCIgYW5kIHR5cGUtb2YoJG1pbi12ZXJzaW9uKSAhPSBcIm51bWJlclwiIHtcbiAgICBAZXJyb3IgXCIkc3VwcG9ydC1mb3I6ICgjeyRicm93c2VyfTogI3skbWluLXZlcnNpb259KSBtdXN0IGJlIHNldCB0byBhbiBpbnRlZ2VyIChvciBudWxsKTsgI3skbWluLXZlcnNpb259IGlzIGEgI3t0eXBlLW9mKCRtaW4tdmVyc2lvbil9LlwiO1xuICB9XG4gIEBlbHNlaWYgdHlwZS1vZigkbWluLXZlcnNpb24pID09IFwibnVtYmVyXCIgYW5kIHJvdW5kKCRtaW4tdmVyc2lvbikgIT0gJG1pbi12ZXJzaW9uIHtcbiAgICBAZXJyb3IgXCIkc3VwcG9ydC1mb3I6ICgjeyRicm93c2VyfTogI3skbWluLXZlcnNpb259KSBtdXN0IGJlIHNldCB0byBhbiBpbnRlZ2VyIChvciBudWxsKTsgI3skbWluLXZlcnNpb259IGlzIG5vdCBhbiBpbnRlZ2VyLlwiO1xuICB9XG5cbiAgLy8gTmVnYXRpdmUgJG1pbi12ZXJzaW9uIG1lYW5zIFwiWCBtb3N0IHJlY2VudCB2ZXJzaW9uc1wiLlxuICBAaWYgdHlwZS1vZigkbWluLXZlcnNpb24pID09IFwibnVtYmVyXCIgYW5kICRtaW4tdmVyc2lvbiA8IDAge1xuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJHN1cHBvcnQtZm9yLWN1cnJlbnQtYnJvd3Nlci12ZXJzaW9uLCAkYnJvd3Nlcikge1xuICAgICAgQGVycm9yIFwiI3skYnJvd3Nlcn0gbm90IGZvdW5kIGluICRzdXBwb3J0LWZvci1jdXJyZW50LWJyb3dzZXItdmVyc2lvbiBtYXA7IGl0IG11c3QgYmUgc2V0IHRvIGFuIGludGVnZXIuXCI7XG4gICAgfVxuICAgICRtaW4tdmVyc2lvbjogbWFwLWdldCgkc3VwcG9ydC1mb3ItY3VycmVudC1icm93c2VyLXZlcnNpb24sICRicm93c2VyKSArICRtaW4tdmVyc2lvbiArIDE7XG4gIH1cblxuICBAcmV0dXJuIGlmKCgkbWluLXZlcnNpb24gYW5kICgkdmVyc2lvbiA+PSAkbWluLXZlcnNpb24pKSwgdHJ1ZSwgZmFsc2UpO1xufVxuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzIGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlcyBpbiB5b3VyIFNhc3Ncbi8vIGJlZm9yZSBpbXBvcnRpbmcgdGhlIG5vcm1hbGl6ZS1zY3NzIGxpYnJhcnkuXG5cbi8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gVGhlIGxlbmd0aCB1bml0IGluIHdoaWNoIHRvIG91dHB1dCB2ZXJ0aWNhbCByaHl0aG0gdmFsdWVzLlxuLy8gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kYmFzZS11bml0OiAnZW0nICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IGZhbWlseS5cbiRiYXNlLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplcyBmb3IgaDEtaDYuXG4kaDEtZm9udC1zaXplOiAyICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMS41ICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuMTcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMC44MyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDAuNjcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBhbW91bnQgbGlzdHMgYW5kIGJsb2NrcXVvdGVzIGFyZSBpbmRlbnRlZC5cbiRpbmRlbnQtYW1vdW50OiA0MHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlIGNvbnRyb2xzIHdoZXRoZXIgbm9ybWFsaXplLXNjc3Mgd2lsbCBvdXRwdXRcbi8vIGZvbnQtc2l6ZXMsIGxpbmUtaGVpZ2h0cyBhbmQgYmxvY2stbGV2ZWwgdG9wL2JvdHRvbSBtYXJnaW5zIHRoYXQgZm9ybSBhIGJhc2ljXG4vLyB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHBhZ2UsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgb3JpZ2luYWwgTm9ybWFsaXplLmNzcy5cbi8vIEhvd2V2ZXIsIGNoYW5naW5nIGFueSBvZiB0aGUgdmFyaWFibGVzIGFib3ZlIHdpbGwgY2F1c2Vcbi8vICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHRvIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUuXG4kbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICAvLyBweCBmYWxsYmFjayBmb3IgSUUgOCBhbmQgZWFybGllci4gTm90ZTogSUUgOS8xMCBkb24ndCB1bmRlcnN0YW5kIHJlbVxuICAvLyBpbiBmb250IHNob3J0aGFuZCwgYnV0IGZvbnQtc2l6ZSBsb25naGFuZCBpcyBmaW5lLlxuICBAaWYgJGJhc2UtdW5pdCA9PSByZW0gYW5kIHN1cHBvcnQtZm9yKGllLCA4KSB7XG4gICAgZm9udC1zaXplOiAkdmFsdWU7XG4gIH1cbiAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1yaHl0aG0oJHByb3BlcnR5LCAkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAkdmFsdWUtbGlzdDogJHZhbHVlcztcbiAgJHNlcDogc3BhY2U7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdsaXN0JyB7XG4gICAgJHNlcDogbGlzdC1zZXBhcmF0b3IoJHZhbHVlcyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWx1ZS1saXN0OiBhcHBlbmQoKCksICR2YWx1ZXMpO1xuICB9XG5cbiAgJG5vcm1hbGl6ZWQtdmFsdWVzOiAoKTtcbiAgJHB4LWZhbGxiYWNrOiAoKTtcblxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgICRweC12YWx1ZTogJHZhbHVlO1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgICAkcHgtdmFsdWU6ICRweC12YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10bywgcHgpO1xuICAgIH1cbiAgICAkbm9ybWFsaXplZC12YWx1ZXM6IGFwcGVuZCgkbm9ybWFsaXplZC12YWx1ZXMsICR2YWx1ZSwgJHNlcCk7XG4gICAgJHB4LWZhbGxiYWNrOiBhcHBlbmQoJHB4LWZhbGxiYWNrLCAkcHgtdmFsdWUsICRzZXApO1xuICB9XG4gIEBpZiAkYmFzZS11bml0ID09IHJlbSBhbmQgc3VwcG9ydC1mb3IoaWUsIDgpIHtcbiAgICAjeyRwcm9wZXJ0eX06ICRweC1mYWxsYmFjaztcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuJF9ub3JtYWxpemUtaW5jbHVkZTogKCk7XG4kX25vcm1hbGl6ZS1leGNsdWRlOiAoKTtcbkBmdW5jdGlvbiBfbm9ybWFsaXplLWluY2x1ZGUoJHNlY3Rpb24pIHtcbiAgLy8gQ2hlY2sgaWYgJHNlY3Rpb24gaXMgaW4gdGhlICRpbmNsdWRlIGxpc3QuXG4gIEBpZiBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCAkc2VjdGlvbikge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZiAkaW5jbHVkZSBpcyBzZXQgdG8gKGFsbCksIG1ha2Ugc3VyZSAkc2VjdGlvbiBpcyBub3QgaW4gJGV4Y2x1ZGUuXG4gIEBlbHNlIGlmIG5vdCBpbmRleCgkX25vcm1hbGl6ZS1leGNsdWRlLCAkc2VjdGlvbikgYW5kIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsIGFsbCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gX25vcm1hbGl6ZS1tb25vc3BhY2UoKSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgQGlmIHN1cHBvcnQtZm9yKGllLCA2KSB7XG4gICAgX2ZvbnQtZmFtaWx5OiAnY291cmllciBuZXcnLCBtb25vc3BhY2U7XG4gIH1cbiAgZm9udC1zaXplOiAxZW07XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSWYgd2UgaGFkIGxvY2FsIGZ1bmN0aW9ucywgd2UgY291bGQgYWNjZXNzIG91ciBwYXJhbWV0ZXJzIGluc2lkZSB0aGVcbiAgLy8gZnVuY3Rpb24gd2l0aG91dCBwYXNzaW5nIHRoZW0gaW4gYXMgcGFyYW1ldGVycy4gVGhlIGhhY2t5IHdvcmstYXJvdW5kIGlzIHRvXG4gIC8vIHN0dWZmIHRoZW0gaW50byBnbG9iYWwgdmFyaWFibGVzIHNvIGNhbiBhY2Nlc3MgdGhlbSBmcm9tIGEgZ2xvYmFsIGZ1bmN0aW9uLlxuICAkX25vcm1hbGl6ZS1pbmNsdWRlOiBpZih0eXBlLW9mKCRpbmNsdWRlKSA9PSAnbGlzdCcsICRpbmNsdWRlLCAoJGluY2x1ZGUpKSAhZ2xvYmFsO1xuICAkX25vcm1hbGl6ZS1leGNsdWRlOiBpZih0eXBlLW9mKCRleGNsdWRlKSA9PSAnbGlzdCcsICRleGNsdWRlLCAoJGV4Y2x1ZGUpKSAhZ2xvYmFsO1xuXG4gIC8vIElmIHdlJ3ZlIGN1c3RvbWl6ZWQgYW55IGZvbnQgdmFyaWFibGVzLCB3ZSdsbCBuZWVkIGV4dHJhIHByb3BlcnRpZXMuXG4gIEBpZiAkYmFzZS1mb250LXNpemUgIT0gMTZweFxuICAgIG9yICRiYXNlLWxpbmUtaGVpZ2h0ICE9IDI0cHhcbiAgICBvciAkYmFzZS11bml0ICE9ICdlbSdcbiAgICBvciAkaDEtZm9udC1zaXplICE9IDIgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDItZm9udC1zaXplICE9IDEuNSAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDMtZm9udC1zaXplICE9IDEuMTcgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDQtZm9udC1zaXplICE9IDEgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDUtZm9udC1zaXplICE9IDAuODMgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDYtZm9udC1zaXplICE9IDAuNjcgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaW5kZW50LWFtb3VudCAhPSA0MHB4IHtcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHJvb3QpIHtcbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBhbmQgaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gb3Igc3VwcG9ydC1mb3IoaWUsIDcpIHtcbiAgICAgICAgLy8gQ29ycmVjdCB0ZXh0IHJlc2l6aW5nIG9kZGx5IGluIElFIDYvNyB3aGVuIGJvZHkgYGZvbnQtc2l6ZWAgaXMgc2V0IHVzaW5nXG4gICAgICAgIC8vIGBlbWAgdW5pdHMuXG4gICAgICAgIGZvbnQtc2l6ZTogKCRiYXNlLWZvbnQtc2l6ZSAvIDE2cHgpICogMTAwJTtcbiAgICAgIH1cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtO1xuICAgICAgfVxuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBib2R5IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGh0bWw1KSB7XG4gICAgLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA8MTAuXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94IGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgLlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIGZvciBgbWFpbmAuXG4gICAgICovXG5cbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGRldGFpbHMsXG4gICAgZmlnY2FwdGlvbixcbiAgICBmaWd1cmUsXG4gICAgZm9vdGVyLFxuICAgIGhlYWRlcixcbiAgICBtYWluLFxuICAgIG1lbnUsXG4gICAgbmF2LFxuICAgIHNlY3Rpb24sXG4gICAgc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA8MTAuXG4gICAgICovXG5cbiAgICBhdWRpbyxcbiAgICBjYW52YXMsXG4gICAgcHJvZ3Jlc3MsXG4gICAgdmlkZW8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgQGlmIHN1cHBvcnQtZm9yKGllLCA3KSB7XG4gICAgICAgICpkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICp6b29tOiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGFuZCByZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNC03LlxuICAgICAqL1xuXG4gICAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cblxuICAgIHByb2dyZXNzIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA8MTEsIFNhZmFyaSA8OCwgYW5kIEZpcmVmb3ggPDIyLlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUsIC8qIDEgKi9cbiAgICBbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUobGlua3MpIHtcbiAgICAvKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYTphY3RpdmUsXG4gICAgYTpob3ZlciB7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGV4dCkge1xuICAgIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDw0MC5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBzYW1wIHtcbiAgICAgIEBpbmNsdWRlIF9ub3JtYWxpemUtbW9ub3NwYWNlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA8NC40LlxuICAgICAqL1xuXG4gICAgZGZuIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGgxIHtcbiAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC8qIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiAqL1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMS1mb250LXNpemUpO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSBvciBzdXBwb3J0LWZvcihpZSwgNykge1xuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgyLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNC1mb250LXNpemUpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDQtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg1LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg2IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA8MTAuXG4gICAgICovXG5cbiAgICBtYXJrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1YixcbiAgICBzdXAge1xuICAgICAgZm9udC1zaXplOiA3NSU7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICBzdWIge1xuICAgICAgYm90dG9tOiAtMC4yNWVtO1xuICAgIH1cblxuICAgIHN1cCB7XG4gICAgICB0b3A6IC0wLjVlbTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGVtYmVkZGVkKSB7XG4gICAgLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDwxMS5cbiAgICAgKi9cblxuICAgIGltZyB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICBAaWYgc3VwcG9ydC1mb3IoaWUsIDcpIHtcbiAgICAgICAgLyogSW1wcm92ZSBpbWFnZSBxdWFsaXR5IHdoZW4gc2NhbGVkIGluIElFIDcuICovXG4gICAgICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBzdmc6bm90KDpyb290KSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZ3JvdXBpbmcpIHtcbiAgICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSBvciBzdXBwb3J0LWZvcihpZSwgNykge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LlxuICAgICAgICovXG5cbiAgICAgIGRsLFxuICAgICAgbWVudSxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAgICovXG5cbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBvbCxcbiAgICAgICAgICB1bCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBBZGRyZXNzIHBhZGRpbmdzIHNldCBkaWZmZXJlbnRseSBpbiBJRSA2LzcuXG4gICAgICAgKi9cblxuICAgICAgbWVudSxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgc3VwcG9ydC1mb3IoaWUsIDcpIHtcbiAgICAgIC8qKlxuICAgICAgICogQ29ycmVjdCBsaXN0IGltYWdlcyBoYW5kbGVkIGluY29ycmVjdGx5IGluIElFIDcuXG4gICAgICAgKi9cblxuICAgICAgbmF2IHVsLFxuICAgICAgbmF2IG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbGlzdC1zdHlsZS1pbWFnZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5cbiAgICBmaWd1cmUge1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuXG4gICAgaHIge1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgICAgIGhlaWdodDogMDsgLyogMSAqL1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gb3Igc3VwcG9ydC1mb3IoaWUsIDcpIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBwLFxuICAgICAgcHJlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByZSB7XG4gICAgICBAaW5jbHVkZSBfbm9ybWFsaXplLW1vbm9zcGFjZSgpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZm9ybXMpIHtcbiAgICAvKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBLbm93biBpc3N1ZXM6XG4gICAgICogLSBCeSBkZWZhdWx0LCBDaHJvbWUgb24gT1MgWCBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkIHN0eWxpbmcgb2ZcbiAgICAgKiAgIHNlbGVjdCwgdW5sZXNzIGEgYm9yZGVyIHByb3BlcnR5IGlzIHNldC4gVGhlIGRlZmF1bHQgZm9udCB3ZWlnaHQgb25cbiAgICAgKiAgIG9wdGdyb3VwIGVsZW1lbnRzIGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgb24gT1NYIGFuZCBTYWZhcmkgb25cbiAgICAgKiAgIE9TIFguXG4gICAgICogLSBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkbyBub3Qgc3R5bGUgY2hlY2tib3ggYW5kIHJhZGlvIGlucHV0cyBhc1xuICAgICAqICAgRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXMgbm90IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gICAgICogLSBDZXJ0YWluIGZvbnQgc2l6ZSB2YWx1ZXMgYXBwbGllZCB0byBudW1iZXIgaW5wdXRzIGNhdXNlIHRoZSBjdXJzb3Igc3R5bGUgb2ZcbiAgICAgKiAgIHRoZSBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGRlZmF1bHQgdG8gdGV4dC5cbiAgICAgKiAtIFRoZSBzZWFyY2ggaW5wdXQgaXMgbm90IGZ1bGx5IHN0eWxhYmxlIGJ5IGRlZmF1bHQuIEluIENocm9tZSBhbmQgU2FmYXJpIG9uXG4gICAgICogICBPU1gvaU9TIHlvdSBjYW4ndCBjb250cm9sIGZvbnQsIHBhZGRpbmcsIGJvcmRlciwgb3IgYmFja2dyb3VuZC4gSW4gQ2hyb21lXG4gICAgICogICBhbmQgU2FmYXJpIG9uIFdpbmRvd3MgeW91IGNhbid0IGNvbnRyb2wgYm9yZGVyIHByb3Blcmx5LiBJdCB3aWxsIGFwcGx5XG4gICAgICogICBib3JkZXItd2lkdGggYnV0IHdpbGwgb25seSBzaG93IGEgYm9yZGVyIGNvbG9yICh3aGljaCBjYW5ub3QgYmUgY29udHJvbGxlZClcbiAgICAgKiAgIGZvciB0aGUgb3V0ZXIgMXB4IG9mIHRoYXQgYm9yZGVyLiBBcHBseWluZyAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZFxuICAgICAqICAgYWRkcmVzc2VzIHRoZXNlIGlzc3VlcyB3aXRob3V0IHJlbW92aW5nIHRoZSBiZW5lZml0cyBvZiBzZWFyY2ggaW5wdXRzIChlLmcuXG4gICAgICogICBzaG93aW5nIHBhc3Qgc2VhcmNoZXMpLiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSB3aWxsIGNsaXAgdGhlIGNhbmNlbCBidXR0b25cbiAgICAgKiAgIG9uIHdoZW4gaXQgaGFzIHBhZGRpbmcgKGFuZCB0ZXh0ZmllbGQgYXBwZWFyYW5jZSkuXG4gICAgICovXG5cbiAgICBAaWYgc3VwcG9ydC1mb3IoaWUsIDcpIHtcbiAgICAgIC8qKlxuICAgICAgICogQ29ycmVjdCBtYXJnaW4gZGlzcGxheWVkIG9kZGx5IGluIElFIDYvNy5cbiAgICAgICAqL1xuXG4gICAgICBmb3JtIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKiAzLiBBZGRyZXNzIGBmb250LWZhbWlseWAgaW5jb25zaXN0ZW5jeSBiZXR3ZWVuIGB0ZXh0YXJlYWAgYW5kIG90aGVyIGZvcm0gaW4gSUUgN1xuICAgICAqIDQuIEltcHJvdmUgYXBwZWFyYW5jZSBhbmQgY29uc2lzdGVuY3kgd2l0aCBJRSA2LzcuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaW5wdXQsXG4gICAgb3B0Z3JvdXAsXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgICAgQGlmIHN1cHBvcnQtZm9yKGllLCA3KSB7XG4gICAgICAgICpmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDMgKi9cbiAgICAgICAgKnZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDQgKi9cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbiB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgc2VsZWN0IHsgLyogMSAqL1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICB9XG5cbiAgICBidXR0b24sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuXG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqL1xuXG4gICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5cbiAgICBpbnB1dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIEBpZiBzdXBwb3J0LWZvcihmaXJlZm94LCAyOSkge1xuICAgICAgICAvLyBGaXJlZm94IHNldHMgYGxpbmUtaGVpZ2h0YCB1c2luZyBgIWltcG9ydGFudGAgaW4gdGhlIFVBIHN0eWxlc2hlZXQuXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgPDExLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSA8MTEuXG4gICAgICogMy4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDcuXG4gICAgICogICAgS25vd24gaXNzdWU6IGV4Y2VzcyBwYWRkaW5nIHJlbWFpbnMgaW4gSUUgNi5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgICBAaWYgc3VwcG9ydC1mb3IoaWUsIDcpIHtcbiAgICAgICAgKmhlaWdodDogMTNweDsgLyogMyAqL1xuICAgICAgICAqd2lkdGg6IDEzcHg7IC8qIDMgKi9cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gICAgICAgKi9cblxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgdGV4dCBzdHlsZSBvZiBwbGFjZWhvbGRlcnMgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgb3BhY2l0eTogMC41NDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiA0LiBDb3JyZWN0IGFsaWdubWVudCBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAzICovXG4gICAgICBAaWYgc3VwcG9ydC1mb3IoaWUsIDcpIHtcbiAgICAgICAgKm1hcmdpbi1sZWZ0OiAtN3B4OyAvKiA0ICovXG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVzdG9yZSB0aGUgZm9udCB3ZWlnaHQgdW5zZXQgYnkgYSBwcmV2aW91cyBydWxlLlxuICAgICAqL1xuXG4gICAgb3B0Z3JvdXAge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgJ1VURi04JztcblxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxuLy9cbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuNlxuLy9cbi8vICAgICAgICAgICAgICAgIGh0dHA6Ly9pbmNsdWRlLW1lZGlhLmNvbVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBIdWdvIEdpcmF1ZGVsIChAaHVnb2dpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcblxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xuLy8vXG4kYnJlYWtwb2ludHM6IChcbiAgJ21vYmlsZS1zbSc6IDIwZW0sIC8vMzIwcHhcbiAgJ21vYmlsZS1tZWQnOiAyMy40MzhlbSwgLy8gMzkwcHhcbiAgJ21vYmlsZS1sZyc6IDI3LjE4OGVtLCAvLzQzNXB4XG4gICdwaGFibGV0JzogMzcuNWVtLCAvLzYwMHB4XG4gICd0YWJsZXQnOiA0OGVtLCAvLzc2OHB4XG4gICdkZXNrdG9wJzogNjRlbSwgLy8xMDI0XG4gICdkZXNrdG9wLWxnJzogNzVlbSwgLy8xMjAwXG4gICdnaWFudC1zY3JlZW4nOiAxMDBlbSwgLy8xNjAwXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDBcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0Jztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBmdW5jdGlvbiBsb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICRtZXNzYWdlO1xuICAgICRfOiBub29wKCk7XG4gIH1cblxuICBAcmV0dXJuICRtZXNzYWdlO1xufVxuXG5cbi8vL1xuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcbi8vLyBBUEkgdGhhbiBgQGlmIGxvZygnLi4nKSB7fWAgb3IgYCRfOiBsb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGxvZygkbWVzc2FnZSkge31cbn1cblxuXG4vLy9cbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cbi8vL1xuQGZ1bmN0aW9uIG5vb3AoKSB7fVxuXG4vLy9cbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vL1xuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XG5cbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XG4gICAgQGlmIGxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XG4gIH1cblxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcbiAgICBAaWYgbm90IG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAgICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xuXG4gICAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBTcGFjZUFyb3VuZE9wZXJhdG9yXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcbiAgICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIHtcbiAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmIG5vdCBpbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8vXG4vLy8gUGFyc2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XG4gICAgQGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICAgICBAcmV0dXJuICRvcGVyYXRvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gIC8vIHJlbHkgb24gdGhlIGBsb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGxvZyguLikge31gIGluc3RlYWQuXG4gICRfOiBsb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcblxuICBAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcbiAgfVxuXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcbiAgQHJldHVybiBpZihpbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XG5cbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcbiAgfSBAZWxzZSB7XG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcbiAgfVxuXG4gICRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XG5cbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgICAvLyByZWx5IG9uIHRoZSBgbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBsb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAgICRfOiBsb2coJ1Vua25vd24gdW5pdCBgI3t1bml0KCR2YWx1ZSl9YC4nKTtcbiAgfVxuXG4gIEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5cbi8vL1xuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XG4vLy9cbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgQGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XG4gIH1cblxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcbn1cblxuLy8vXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XG4vLy9cbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XG4gIEBpZiBsZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcbiAgICBAcmV0dXJuICgpO1xuICB9XG5cbiAgJHJlc3VsdDogKCk7XG5cbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xuICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAkXzogbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG5cbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xuXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XG5cbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBsb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2Bcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcblxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLW1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xufVxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cbi8vL1xuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFNwYWNlQXJvdW5kT3BlcmF0b3JcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxuICAgICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XG4gICAgQG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJvdXJib24gNS4wLjBcbi8vIGh0dHBzOi8vd3d3LmJvdXJib24uaW8vXG4vLyBDb3B5cmlnaHQgMjAxMS0yMDE4IHRob3VnaHRib3QsIGluYy5cbi8vIE1JVCBMaWNlbnNlXG5cbkBpbXBvcnQgXCJib3VyYm9uL2hlbHBlcnMvYnV0dG9ucy1saXN0XCI7XG5AaW1wb3J0IFwiYm91cmJvbi9oZWxwZXJzL3NjYWxlc1wiO1xuQGltcG9ydCBcImJvdXJib24vaGVscGVycy90ZXh0LWlucHV0cy1saXN0XCI7XG5cbkBpbXBvcnQgXCJib3VyYm9uL3NldHRpbmdzL3NldHRpbmdzXCI7XG5cbkBpbXBvcnQgXCJib3VyYm9uL3ZhbGlkYXRvcnMvY29udGFpbnNcIjtcbkBpbXBvcnQgXCJib3VyYm9uL3ZhbGlkYXRvcnMvY29udGFpbnMtZmFsc3lcIjtcbkBpbXBvcnQgXCJib3VyYm9uL3ZhbGlkYXRvcnMvaXMtY29sb3JcIjtcbkBpbXBvcnQgXCJib3VyYm9uL3ZhbGlkYXRvcnMvaXMtbGVuZ3RoXCI7XG5AaW1wb3J0IFwiYm91cmJvbi92YWxpZGF0b3JzL2lzLW51bWJlclwiO1xuQGltcG9ydCBcImJvdXJib24vdmFsaWRhdG9ycy9pcy1zaXplXCI7XG5cbkBpbXBvcnQgXCJib3VyYm9uL3V0aWxpdGllcy9hc3NpZ24taW5wdXRzXCI7XG5AaW1wb3J0IFwiYm91cmJvbi91dGlsaXRpZXMvY29tcGFjdC1zaG9ydGhhbmRcIjtcbkBpbXBvcnQgXCJib3VyYm9uL3V0aWxpdGllcy9kaXJlY3Rpb25hbC1wcm9wZXJ0eVwiO1xuQGltcG9ydCBcImJvdXJib24vdXRpbGl0aWVzL2ZldGNoLWJvdXJib24tc2V0dGluZ1wiO1xuQGltcG9ydCBcImJvdXJib24vdXRpbGl0aWVzL2ZvbnQtc291cmNlLWRlY2xhcmF0aW9uXCI7XG5AaW1wb3J0IFwiYm91cmJvbi91dGlsaXRpZXMvZ2FtbWFcIjtcbkBpbXBvcnQgXCJib3VyYm9uL3V0aWxpdGllcy9saWdodG5lc3NcIjtcbkBpbXBvcnQgXCJib3VyYm9uL3V0aWxpdGllcy9jb250cmFzdC1yYXRpb1wiO1xuQGltcG9ydCBcImJvdXJib24vdXRpbGl0aWVzL3VucGFjay1zaG9ydGhhbmRcIjtcblxuQGltcG9ydCBcImJvdXJib24vbGlicmFyeS9ib3JkZXItY29sb3JcIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcImJvdXJib24vbGlicmFyeS9ib3JkZXItc3R5bGVcIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvYm9yZGVyLXdpZHRoXCI7XG5AaW1wb3J0IFwiYm91cmJvbi9saWJyYXJ5L2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvY29udHJhc3Qtc3dpdGNoXCI7XG5AaW1wb3J0IFwiYm91cmJvbi9saWJyYXJ5L2VsbGlwc2lzXCI7XG5AaW1wb3J0IFwiYm91cmJvbi9saWJyYXJ5L2ZvbnQtZmFjZVwiO1xuQGltcG9ydCBcImJvdXJib24vbGlicmFyeS9mb250LXN0YWNrc1wiO1xuQGltcG9ydCBcImJvdXJib24vbGlicmFyeS9oaWRlLXRleHRcIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvaGlkZS12aXN1YWxseVwiO1xuQGltcG9ydCBcImJvdXJib24vbGlicmFyeS9tYXJnaW5cIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvbW9kdWxhci1zY2FsZVwiO1xuQGltcG9ydCBcImJvdXJib24vbGlicmFyeS9vdmVyZmxvdy13cmFwXCI7XG5AaW1wb3J0IFwiYm91cmJvbi9saWJyYXJ5L3BhZGRpbmdcIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvcG9zaXRpb25cIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvcHJlZml4ZXJcIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvc2hhZGVcIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvc2l6ZVwiO1xuQGltcG9ydCBcImJvdXJib24vbGlicmFyeS9zdHJpcC11bml0XCI7XG5AaW1wb3J0IFwiYm91cmJvbi9saWJyYXJ5L3RleHQtaW5wdXRzXCI7XG5AaW1wb3J0IFwiYm91cmJvbi9saWJyYXJ5L3RpbWluZy1mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvdGludFwiO1xuQGltcG9ydCBcImJvdXJib24vbGlicmFyeS90cmlhbmdsZVwiO1xuQGltcG9ydCBcImJvdXJib24vbGlicmFyeS92YWx1ZS1wcmVmaXhlclwiO1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQSBsaXN0IG9mIGFsbCBIVE1MIGJ1dHRvbiBlbGVtZW50cy5cbi8vL1xuLy8vIEB0eXBlIGxpc3Rcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG4kX2J1dHRvbnMtbGlzdDogKFxuICBcImJ1dHRvblwiLFxuICBcIlt0eXBlPSdidXR0b24nXVwiLFxuICBcIlt0eXBlPSdyZXNldCddXCIsXG4gIFwiW3R5cGU9J3N1Ym1pdCddXCIsXG4pO1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8vXG4vLy8gUHJlLWRlZmluZWQgc2NhbGVzIGZvciB1c2Ugd2l0aCB0aGUgYG1vZHVsYXItc2NhbGVgIGZ1bmN0aW9uLlxuLy8vXG4vLy8gQHR5cGUgbnVtYmVyICh1bml0bGVzcylcbi8vL1xuLy8vIEBzZWUge2Z1bmN0aW9ufSBtb2R1bGFyLXNjYWxlXG4vLy8vXG5cbiRtaW5vci1zZWNvbmQ6ICAgICAxLjA2NztcbiRtYWpvci1zZWNvbmQ6ICAgICAxLjEyNTtcbiRtaW5vci10aGlyZDogICAgICAxLjI7XG4kbWFqb3ItdGhpcmQ6ICAgICAgMS4yNTtcbiRwZXJmZWN0LWZvdXJ0aDogICAxLjMzMztcbiRhdWdtZW50ZWQtZm91cnRoOiAxLjQxNDtcbiRwZXJmZWN0LWZpZnRoOiAgICAxLjU7XG4kbWlub3Itc2l4dGg6ICAgICAgMS42O1xuJGdvbGRlbjogICAgICAgICAgIDEuNjE4O1xuJG1ham9yLXNpeHRoOiAgICAgIDEuNjY3O1xuJG1pbm9yLXNldmVudGg6ICAgIDEuNzc4O1xuJG1ham9yLXNldmVudGg6ICAgIDEuODc1O1xuJG9jdGF2ZTogICAgICAgICAgIDI7XG4kbWFqb3ItdGVudGg6ICAgICAgMi41O1xuJG1ham9yLWVsZXZlbnRoOiAgIDIuNjY3O1xuJG1ham9yLXR3ZWxmdGg6ICAgIDM7XG4kZG91YmxlLW9jdGF2ZTogICAgNDtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEEgbGlzdCBvZiBhbGwgX3RleHQtYmFzZWRfIEhUTUwgaW5wdXRzLlxuLy8vXG4vLy8gQHR5cGUgbGlzdFxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRfdGV4dC1pbnB1dHMtbGlzdDogKFxuICBcIlt0eXBlPSdjb2xvciddXCIsXG4gIFwiW3R5cGU9J2RhdGUnXVwiLFxuICBcIlt0eXBlPSdkYXRldGltZSddXCIsXG4gIFwiW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ11cIixcbiAgXCJbdHlwZT0nZW1haWwnXVwiLFxuICBcIlt0eXBlPSdtb250aCddXCIsXG4gIFwiW3R5cGU9J251bWJlciddXCIsXG4gIFwiW3R5cGU9J3Bhc3N3b3JkJ11cIixcbiAgXCJbdHlwZT0nc2VhcmNoJ11cIixcbiAgXCJbdHlwZT0ndGVsJ11cIixcbiAgXCJbdHlwZT0ndGV4dCddXCIsXG4gIFwiW3R5cGU9J3RpbWUnXVwiLFxuICBcIlt0eXBlPSd1cmwnXVwiLFxuICBcIlt0eXBlPSd3ZWVrJ11cIixcbiAgXCJpbnB1dDpub3QoW3R5cGVdKVwiLFxuICBcInRleHRhcmVhXCIsXG4pO1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gRGVmYXVsdCBnbG9iYWwgQm91cmJvbiBzZXR0aW5ncy4gVmFsdWVzIGluIHRoaXMgbWFwIGFyZSBvdmVyd3JpdHRlbiBieSBhbnlcbi8vLyB2YWx1ZXMgc2V0IGluIHRoZSBgJGJvdXJib25gIG1hcC5cbi8vL1xuLy8vIEB0eXBlIG1hcFxuLy8vXG4vLy8gQHByb3BlcnR5IHtjb2xvcn0gY29udHJhc3Qtc3dpdGNoLWRhcmstY29sb3IgWyMwMDBdXG4vLy8gICBHbG9iYWwgZGFyayBjb2xvciBmb3IgdGhlIGBjb250cmFzdC1zd2l0Y2hgIGZ1bmN0aW9uLlxuLy8vXG4vLy8gQHByb3BlcnR5IHtjb2xvcn0gY29udHJhc3Qtc3dpdGNoLWxpZ2h0LWNvbG9yIFsjZmZmXVxuLy8vICAgR2xvYmFsIGxpZ2h0IGNvbG9yIGZvciB0aGUgYGNvbnRyYXN0LXN3aXRjaGAgZnVuY3Rpb24uXG4vLy9cbi8vLyBAcHJvcGVydHkge2xpc3R9IGdsb2JhbC1mb250LWZpbGUtZm9ybWF0cyBbKFwidHRmXCIsIFwid29mZjJcIiwgXCJ3b2ZmXCIpXVxuLy8vICAgR2xvYmFsIGZvbnQgZmlsZSBmb3JtYXRzIGZvciB0aGUgYGZvbnQtZmFjZWAgbWl4aW4uXG4vLy9cbi8vLyBAcHJvcGVydHkge251bWJlciAod2l0aCB1bml0KX0gbW9kdWxhci1zY2FsZS1iYXNlIFsxZW1dXG4vLy8gICBHbG9iYWwgYmFzZSB2YWx1ZSBmb3IgdGhlIGBtb2R1bGFyLXNjYWxlYCBmdW5jdGlvbi5cbi8vL1xuLy8vIEBwcm9wZXJ0eSB7bnVtYmVyICh1bml0bGVzcyl9IG1vZHVsYXItc2NhbGUtcmF0aW8gWyRtYWpvci10aGlyZCAoMS4yNSldXG4vLy8gICBHbG9iYWwgYmFzZSByYXRpbyBmb3IgdGhlIGBtb2R1bGFyLXNjYWxlYCBmdW5jdGlvbi5cbi8vL1xuLy8vIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gcmFpbHMtYXNzZXQtcGlwZWxpbmUgW2ZhbHNlXVxuLy8vICAgU2V0IHRoaXMgdG8gYHRydWVgIHdoZW4gdXNpbmcgdGhlIFJhaWxzIEFzc2V0IFBpcGVsaW5lIGFuZCBCb3VyYm9uIHdpbGxcbi8vLyAgIHdyaXRlIGFzc2V0IHBhdGhzIHVzaW5nXG4vLy8gICBbc2Fzcy1yYWlsc+KAmSBhc3NldCBoZWxwZXJzXShodHRwczovL2dpdGh1Yi5jb20vcmFpbHMvc2Fzcy1yYWlscyNhc3NldC1oZWxwZXJzKS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG4kX2JvdXJib24tZGVmYXVsdHM6IChcbiAgXCJjb250cmFzdC1zd2l0Y2gtZGFyay1jb2xvclwiOiAjMDAwLFxuICBcImNvbnRyYXN0LXN3aXRjaC1saWdodC1jb2xvclwiOiAjZmZmLFxuICBcImdsb2JhbC1mb250LWZpbGUtZm9ybWF0c1wiOiAoXCJ0dGZcIiwgXCJ3b2ZmMlwiLCBcIndvZmZcIiksXG4gIFwibW9kdWxhci1zY2FsZS1iYXNlXCI6IDFlbSxcbiAgXCJtb2R1bGFyLXNjYWxlLXJhdGlvXCI6ICRtYWpvci10aGlyZCxcbiAgXCJyYWlscy1hc3NldC1waXBlbGluZVwiOiBmYWxzZSxcbik7XG5cbi8vLyBHbG9iYWwgQm91cmJvbiBzZXR0aW5ncy5cbi8vL1xuLy8vIEBuYW1lIFNldHRpbmdzXG4vLy9cbi8vLyBAdHlwZSBtYXBcbi8vL1xuLy8vIEBwcm9wZXJ0eSB7Y29sb3J9IGNvbnRyYXN0LXN3aXRjaC1kYXJrLWNvbG9yIFsjMDAwXVxuLy8vICAgR2xvYmFsIGRhcmsgY29sb3IgZm9yIHRoZSBgY29udHJhc3Qtc3dpdGNoYCBmdW5jdGlvbi5cbi8vL1xuLy8vIEBwcm9wZXJ0eSB7Y29sb3J9IGNvbnRyYXN0LXN3aXRjaC1saWdodC1jb2xvciBbI2ZmZl1cbi8vLyAgIEdsb2JhbCBsaWdodCBjb2xvciBmb3IgdGhlIGBjb250cmFzdC1zd2l0Y2hgIGZ1bmN0aW9uLlxuLy8vXG4vLy8gQHByb3BlcnR5IHtsaXN0fSBnbG9iYWwtZm9udC1maWxlLWZvcm1hdHMgWyhcInR0ZlwiLCBcIndvZmYyXCIsIFwid29mZlwiKV1cbi8vLyAgIEdsb2JhbCBmb250IGZpbGUgZm9ybWF0cyBmb3IgdGhlIGBmb250LWZhY2VgIG1peGluLlxuLy8vXG4vLy8gQHByb3BlcnR5IHtudW1iZXIgKHdpdGggdW5pdCl9IG1vZHVsYXItc2NhbGUtYmFzZSBbMWVtXVxuLy8vICAgR2xvYmFsIGJhc2UgdmFsdWUgZm9yIHRoZSBgbW9kdWxhci1zY2FsZWAgZnVuY3Rpb24uXG4vLy9cbi8vLyBAcHJvcGVydHkge251bWJlciAodW5pdGxlc3MpfSBtb2R1bGFyLXNjYWxlLXJhdGlvIFskbWFqb3ItdGhpcmQgKDEuMjUpXVxuLy8vICAgR2xvYmFsIGJhc2UgcmF0aW8gZm9yIHRoZSBgbW9kdWxhci1zY2FsZWAgZnVuY3Rpb24uXG4vLy9cbi8vLyBAcHJvcGVydHkge2Jvb2xlYW59IHJhaWxzLWFzc2V0LXBpcGVsaW5lIFtmYWxzZV1cbi8vLyAgIFNldCB0aGlzIHRvIGB0cnVlYCB3aGVuIHVzaW5nIHRoZSBSYWlscyBBc3NldCBQaXBlbGluZSBhbmQgQm91cmJvbiB3aWxsXG4vLy8gICB3cml0ZSBhc3NldCBwYXRocyB1c2luZ1xuLy8vICAgW3Nhc3MtcmFpbHPigJkgYXNzZXQgaGVscGVyc10oaHR0cHM6Ly9naXRodWIuY29tL3JhaWxzL3Nhc3MtcmFpbHMjYXNzZXQtaGVscGVycykuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAkYm91cmJvbjogKFxuLy8vICAgICBcImNvbnRyYXN0LXN3aXRjaC1kYXJrLWNvbG9yXCI6ICMwMDAsXG4vLy8gICAgIFwiY29udHJhc3Qtc3dpdGNoLWxpZ2h0LWNvbG9yXCI6ICNmZmYsXG4vLy8gICAgIFwiZ2xvYmFsLWZvbnQtZmlsZS1mb3JtYXRzXCI6IChcInR0ZlwiLCBcIndvZmYyXCIsIFwid29mZlwiKSxcbi8vLyAgICAgXCJtb2R1bGFyLXNjYWxlLWJhc2VcIjogMWVtLFxuLy8vICAgICBcIm1vZHVsYXItc2NhbGUtcmF0aW9cIjogJG1ham9yLXRoaXJkLFxuLy8vICAgICBcInJhaWxzLWFzc2V0LXBpcGVsaW5lXCI6IGZhbHNlLFxuLy8vICAgKTtcblxuJGJvdXJib246ICgpICFkZWZhdWx0O1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hlY2tzIGlmIGEgbGlzdCBjb250YWlucyBhIHZhbHVlKHMpLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtsaXN0fSAkbGlzdFxuLy8vICAgVGhlIGxpc3QgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bGlzdH0gJHZhbHVlc1xuLy8vICAgQSBzaW5nbGUgdmFsdWUgb3IgbGlzdCBvZiB2YWx1ZXMgdG8gY2hlY2sgZm9yLlxuLy8vXG4vLy8gQHJldHVybiB7Ym9vbGVhbn1cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AZnVuY3Rpb24gX2NvbnRhaW5zKFxuICAkbGlzdCxcbiAgJHZhbHVlcy4uLlxuKSB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgdHlwZS1vZihpbmRleCgkbGlzdCwgJHZhbHVlKSkgIT0gXCJudW1iZXJcIiB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBpZiBhIGxpc3QgZG9lcyBub3QgY29udGFpbiBhbnkgdmFsdWVzLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtsaXN0fSAkbGlzdFxuLy8vICAgVGhlIGxpc3QgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm4ge2Jvb2xlYW59XG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9jb250YWlucy1mYWxzeSgkbGlzdCkge1xuICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgQGlmIG5vdCAkaXRlbSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBmYWxzZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBDU1MgY29sb3IuXG4vLy9cbi8vLyBAYXJndW1lbnQge3N0cmluZ30gJGNvbG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtib29sZWFufVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBmdW5jdGlvbiBfaXMtY29sb3IoJGNvbG9yKSB7XG4gIEByZXR1cm4gKHR5cGUtb2YoJGNvbG9yKSA9PSBjb2xvcikgb3IgKCRjb2xvciA9PSBcImN1cnJlbnRDb2xvclwiKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBDU1MgbGVuZ3RoLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtzdHJpbmd9ICR2YWx1ZVxuLy8vXG4vLy8gQHJldHVybiB7Ym9vbGVhbn1cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AZnVuY3Rpb24gX2lzLWxlbmd0aCgkdmFsdWUpIHtcbiAgQHJldHVybiB0eXBlLW9mKCR2YWx1ZSkgIT0gXCJudWxsXCIgYW5kIChzdHItc2xpY2UoJHZhbHVlICsgXCJcIiwgMSwgNCkgPT0gXCJjYWxjXCJcbiAgICAgICBvciBpbmRleChhdXRvIGluaGVyaXQgaW5pdGlhbCAwLCAkdmFsdWUpXG4gICAgICAgb3IgKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiIGFuZCBub3QodW5pdGxlc3MoJHZhbHVlKSkpKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBudW1iZXIuXG4vLy9cbi8vLyBAYXJndW1lbnQge251bWJlcn0gJHZhbHVlXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IF9jb250YWluc1xuLy8vXG4vLy8gQHJldHVybiB7Ym9vbGVhbn1cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AZnVuY3Rpb24gX2lzLW51bWJlcigkdmFsdWUpIHtcbiAgQHJldHVybiBfY29udGFpbnMoXCIwXCIgXCIxXCIgXCIyXCIgXCIzXCIgXCI0XCIgXCI1XCIgXCI2XCIgXCI3XCIgXCI4XCIgXCI5XCIgMCAxIDIgMyA0IDUgNiA3IDggOSwgJHZhbHVlKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBDU1Mgc2l6ZS5cbi8vL1xuLy8vIEBhcmd1bWVudCB7c3RyaW5nfSAkdmFsdWVcbi8vL1xuLy8vIEByZXR1cm4ge2Jvb2xlYW59XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IF9jb250YWluc1xuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBfaXMtbGVuZ3RoXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9pcy1zaXplKCR2YWx1ZSkge1xuICBAcmV0dXJuIF9pcy1sZW5ndGgoJHZhbHVlKVxuICAgICAgICAgIG9yIF9jb250YWlucyhcImZpbGxcIiBcImZpdC1jb250ZW50XCIgXCJtaW4tY29udGVudFwiIFwibWF4LWNvbnRlbnRcIiwgJHZhbHVlKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEFwcGVuZCBwc2V1ZG8tY2xhc3NlcyB0byBhIHNlbGVjdG9yKHMpLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtsaXN0IHwgc3RyaW5nfSAkaW5wdXRzXG4vLy8gICBBIHNlbGVjdG9yLCBvciBsaXN0IG9mIHNlbGVjdG9ycywgdG8gYXBwbHkgdGhlIHBzZXVkby1jbGFzcyB0by5cbi8vL1xuLy8vIEBhcmd1bWVudCB7cHNldWRvLWNsYXNzfSAkcHNldWRvIFtudWxsXVxuLy8vICAgVGhlIHBzZXVkby1jbGFzcyB0byBiZSBhcHBlbmRlZC5cbi8vL1xuLy8vIEByZXR1cm4ge2xpc3R9XG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9hc3NpZ24taW5wdXRzKFxuICAkaW5wdXRzLFxuICAkcHNldWRvOiBudWxsXG4pIHtcbiAgJGxpc3Q6ICgpO1xuXG4gIEBlYWNoICRpbnB1dCBpbiAkaW5wdXRzIHtcbiAgICAkaW5wdXQ6IHVucXVvdGUoJGlucHV0KTtcbiAgICAkaW5wdXQ6IGlmKCRwc2V1ZG8sICRpbnB1dCArIFwiOlwiICsgJHBzZXVkbywgJGlucHV0KTtcbiAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkaW5wdXQsIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJGxpc3Q7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIEVsc2VQbGFjZW1lbnRcblxuLy8vIFRyYW5zZm9ybXMgc2hvcnRoYW5kIHRvIGl0cyBzaG9ydGVzdCBwb3NzaWJsZSBmb3JtLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtsaXN0fSAkdmFsdWVzXG4vLy8gICBMaXN0IG9mIGRpcmVjdGlvbmFsIHZhbHVlcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgICR2YWx1ZXM6IF9jb21wYWN0LXNob3J0aGFuZCgxMHB4IDIwcHggMTBweCAyMHB4KTtcbi8vL1xuLy8vICAgLy8gT3V0cHV0XG4vLy8gICAkdmFsdWVzOiAxMHB4IDIwcHg7XG4vLy9cbi8vLyBAcmV0dXJuIHtsaXN0fVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBmdW5jdGlvbiBfY29tcGFjdC1zaG9ydGhhbmQoJHZhbHVlcykge1xuICAkb3V0cHV0OiBudWxsO1xuXG4gICRhOiBudGgoJHZhbHVlcywgMSk7XG4gICRiOiBpZihsZW5ndGgoJHZhbHVlcykgPCAyLCAkYSwgbnRoKCR2YWx1ZXMsIDIpKTtcbiAgJGM6IGlmKGxlbmd0aCgkdmFsdWVzKSA8IDMsICRhLCBudGgoJHZhbHVlcywgMykpO1xuICAkZDogaWYobGVuZ3RoKCR2YWx1ZXMpIDwgMiwgJGEsIG50aCgkdmFsdWVzLCBpZihsZW5ndGgoJHZhbHVlcykgPCA0LCAyLCA0KSkpO1xuXG4gIEBpZiAkYSA9PSAwIHsgJGE6IDA7IH1cbiAgQGlmICRiID09IDAgeyAkYjogMDsgfVxuICBAaWYgJGMgPT0gMCB7ICRjOiAwOyB9XG4gIEBpZiAkZCA9PSAwIHsgJGQ6IDA7IH1cblxuICBAaWYgJGEgPT0gJGIgYW5kICRhID09ICRjIGFuZCAkYSA9PSAkZCB7ICRvdXRwdXQ6ICRhOyAgICAgICAgICB9XG4gIEBlbHNlIGlmICRhID09ICRjIGFuZCAkYiA9PSAkZCAgICAgICAgIHsgJG91dHB1dDogJGEgJGI7ICAgICAgIH1cbiAgQGVsc2UgaWYgJGIgPT0gJGQgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYiAkYzsgICAgfVxuICBAZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiICRjICRkOyB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBTcGFjZUFyb3VuZE9wZXJhdG9yXG5cbi8vLyBCdWlsZHMgZGlyZWN0aW9uYWwgcHJvcGVydGllcyBieSBwYXJzaW5nIENTUyBzaG9ydGhhbmQgdmFsdWVzLiBGb3IgZXhhbXBsZSxcbi8vLyBhIHZhbHVlIG9mIGAxMHB4IG51bGxgIHdpbGwgb3V0cHV0IHRvcCBhbmQgYm90dG9tIGRpcmVjdGlvbmFsIHByb3BlcnRpZXMsXG4vLy8gYnV0IHRoZSBgbnVsbGAgc2tpcHMgbGVmdCBhbmQgcmlnaHQgZnJvbSBiZWluZyBvdXRwdXQuXG4vLy9cbi8vLyBAYXJndW1lbnQge3N0cmluZ30gJHByb3BlcnR5XG4vLy8gICBCYXNlIHByb3BlcnR5LlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtzdHJpbmd9ICRzdWZmaXhcbi8vLyAgIFN1ZmZpeCB0byBhcHBlbmQuIFVzZSBgbnVsbGAgdG8gb21pdC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bGlzdH0gJHZhbHVlc1xuLy8vICAgTGlzdCBvZiB2YWx1ZXMgdG8gc2V0IGZvciB0aGUgcHJvcGVydHkuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIF9kaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHdpZHRoLCBudWxsIDVweCk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiA1cHg7XG4vLy8gICAgIGJvcmRlci1sZWZ0LXdpZHRoOiA1cHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IF9jb21wYWN0LXNob3J0aGFuZFxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBfY29udGFpbnMtZmFsc3lcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AbWl4aW4gX2RpcmVjdGlvbmFsLXByb3BlcnR5KFxuICAkcHJvcGVydHksXG4gICRzdWZmaXgsXG4gICR2YWx1ZXNcbikge1xuICAkdG9wOiAgICAkcHJvcGVydHkgKyBcIi10b3BcIiAgICArIGlmKCRzdWZmaXgsIFwiLSN7JHN1ZmZpeH1cIiwgXCJcIik7XG4gICRib3R0b206ICRwcm9wZXJ0eSArIFwiLWJvdHRvbVwiICsgaWYoJHN1ZmZpeCwgXCItI3skc3VmZml4fVwiLCBcIlwiKTtcbiAgJGxlZnQ6ICAgJHByb3BlcnR5ICsgXCItbGVmdFwiICAgKyBpZigkc3VmZml4LCBcIi0jeyRzdWZmaXh9XCIsIFwiXCIpO1xuICAkcmlnaHQ6ICAkcHJvcGVydHkgKyBcIi1yaWdodFwiICArIGlmKCRzdWZmaXgsIFwiLSN7JHN1ZmZpeH1cIiwgXCJcIik7XG4gICRhbGw6ICAgICRwcm9wZXJ0eSArICAgICAgICAgICAgIGlmKCRzdWZmaXgsIFwiLSN7JHN1ZmZpeH1cIiwgXCJcIik7XG5cbiAgJHZhbHVlczogX2NvbXBhY3Qtc2hvcnRoYW5kKCR2YWx1ZXMpO1xuXG4gIEBpZiBfY29udGFpbnMtZmFsc3koJHZhbHVlcykge1xuICAgIEBpZiBudGgoJHZhbHVlcywgMSkgeyAjeyR0b3B9OiBudGgoJHZhbHVlcywgMSk7IH1cblxuICAgIEBpZiBsZW5ndGgoJHZhbHVlcykgPT0gMSB7XG4gICAgICBAaWYgbnRoKCR2YWx1ZXMsIDEpIHsgI3skcmlnaHR9OiBudGgoJHZhbHVlcywgMSk7IH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiBudGgoJHZhbHVlcywgMikgeyAjeyRyaWdodH06IG50aCgkdmFsdWVzLCAyKTsgfVxuICAgIH1cblxuICAgIEBpZiBsZW5ndGgoJHZhbHVlcykgPT0gMiB7XG4gICAgICBAaWYgbnRoKCR2YWx1ZXMsIDEpIHsgI3skYm90dG9tfTogbnRoKCR2YWx1ZXMsIDEpOyB9XG4gICAgICBAaWYgbnRoKCR2YWx1ZXMsIDIpIHsgI3skbGVmdH06IG50aCgkdmFsdWVzLCAyKTsgfVxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWx1ZXMpID09IDMge1xuICAgICAgQGlmIG50aCgkdmFsdWVzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFsdWVzLCAzKTsgfVxuICAgICAgQGlmIG50aCgkdmFsdWVzLCAyKSB7ICN7JGxlZnR9OiBudGgoJHZhbHVlcywgMik7IH1cbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFsdWVzKSA9PSA0IHtcbiAgICAgIEBpZiBudGgoJHZhbHVlcywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHVlcywgMyk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHVlcywgNCkgeyAjeyRsZWZ0fTogbnRoKCR2YWx1ZXMsIDQpOyB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAjeyRhbGx9OiAkdmFsdWVzO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBSZXR1cm4gYSBCb3VyYm9uIHNldHRpbmcuXG4vLy9cbi8vLyBAYXJndW1lbnQge3N0cmluZ30gJHNldHRpbmdcbi8vL1xuLy8vIEByZXR1cm4ge2Jvb2xlYW4gfCBjb2xvciB8IGxpc3QgfCBudW1iZXIgfCBzdHJpbmd9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICBfZmV0Y2gtYm91cmJvbi1zZXR0aW5nKHJhaWxzLWFzc2V0LXBpcGVsaW5lKVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBmdW5jdGlvbiBfZmV0Y2gtYm91cmJvbi1zZXR0aW5nKCRzZXR0aW5nKSB7XG4gIEByZXR1cm4gbWFwLWdldChtYXAtbWVyZ2UoJF9ib3VyYm9uLWRlZmF1bHRzLCAkYm91cmJvbiksICRzZXR0aW5nKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEJ1aWxkcyB0aGUgYHNyY2AgbGlzdCBmb3IgYW4gYEBmb250LWZhY2VgIGRlY2xhcmF0aW9uLlxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9nb28uZ2wvUnUxYktQXG4vLy9cbi8vLyBAYXJndW1lbnQge3N0cmluZ30gJGZvbnQtZmFtaWx5XG4vLy9cbi8vLyBAYXJndW1lbnQge3N0cmluZ30gJGZpbGUtcGF0aFxuLy8vXG4vLy8gQGFyZ3VtZW50IHtib29sZWFufSAkYXNzZXQtcGlwZWxpbmVcbi8vL1xuLy8vIEBhcmd1bWVudCB7bGlzdH0gJGZpbGUtZm9ybWF0c1xuLy8vXG4vLy8gQHJldHVybiB7bGlzdH1cbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gX2NvbnRhaW5zXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9mb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkYXNzZXQtcGlwZWxpbmUsXG4gICRmaWxlLWZvcm1hdHNcbikge1xuICAkc3JjOiAoKTtcblxuICAkZm9ybWF0cy1tYXA6IChcbiAgICBlb3Q6ICAgXCIjeyRmaWxlLXBhdGh9LmVvdD8jaWVmaXhcIiBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICB3b2ZmMjogXCIjeyRmaWxlLXBhdGh9LndvZmYyXCIgZm9ybWF0KFwid29mZjJcIiksXG4gICAgd29mZjogIFwiI3skZmlsZS1wYXRofS53b2ZmXCIgZm9ybWF0KFwid29mZlwiKSxcbiAgICB0dGY6ICAgXCIjeyRmaWxlLXBhdGh9LnR0ZlwiIGZvcm1hdChcInRydWV0eXBlXCIpLFxuICAgIHN2ZzogICBcIiN7JGZpbGUtcGF0aH0uc3ZnIyN7JGZvbnQtZmFtaWx5fVwiIGZvcm1hdChcInN2Z1wiKSxcbiAgKTtcblxuICBAZWFjaCAka2V5LCAkdmFsdWVzIGluICRmb3JtYXRzLW1hcCB7XG4gICAgQGlmIF9jb250YWlucygkZmlsZS1mb3JtYXRzLCAka2V5KSB7XG4gICAgICAkZmlsZS1wYXRoOiBudGgoJHZhbHVlcywgMSk7XG4gICAgICAkZm9udC1mb3JtYXQ6IG50aCgkdmFsdWVzLCAyKTtcblxuICAgICAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcbiAgICAgICAgJHNyYzogYXBwZW5kKCRzcmMsIGZvbnQtdXJsKCRmaWxlLXBhdGgpICRmb250LWZvcm1hdCwgY29tbWEpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCB1cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3JjO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUGVyZm9ybXMgZ2FtbWEgY29ycmVjdGlvbiBvbiBhIHNpbmdsZSBjb2xvciBjaGFubmVsLlxuLy8vXG4vLy8gTm90ZSB0aGF0IFNhc3MgZG9lcyBub3QgaGF2ZSBhIGBwb3coKWAgZnVuY3Rpb24sIHNvIHRoZSBjYWxjdWxhdGlvblxuLy8vIGlzIGFwcHJveGltYXRlLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtudW1iZXIgKDAtMSl9ICRjaGFubmVsXG4vLy9cbi8vLyBAcmV0dXJuIHtudW1iZXIgKDAtMSl9XG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9nYW1tYSgkY2hhbm5lbCkge1xuICBAaWYgJGNoYW5uZWwgPCAwLjAzOTI4IHtcbiAgICBAcmV0dXJuICRjaGFubmVsIC8gMTIuOTI7XG4gIH0gQGVsc2Uge1xuICAgICRjOiAoJGNoYW5uZWwgKyAwLjA1NSkgLyAxLjA1NTtcbiAgICBAcmV0dXJuICgxMzMgKiAkYyAqICRjICogJGMgKyAxNTUgKiAkYyAqICRjKSAvIDI4ODtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvZ3JhbWF0aWNhbGx5IGRldGVybWluZXMgdGhlIGxpZ2h0bmVzcyBvZiBhIGNvbG9yLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtjb2xvciAoaGV4KX0gJGhleC1jb2xvclxuLy8vXG4vLy8gQHJldHVybiB7bnVtYmVyICgwLTEpfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgX2xpZ2h0bmVzcygkY29sb3IpXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9saWdodG5lc3MoJGhleC1jb2xvcikge1xuICAkLWxvY2FsLXJlZC1yYXc6IHJlZChyZ2JhKCRoZXgtY29sb3IsIDEpKTtcbiAgJC1sb2NhbC1ncmVlbi1yYXc6IGdyZWVuKHJnYmEoJGhleC1jb2xvciwgMSkpO1xuICAkLWxvY2FsLWJsdWUtcmF3OiBibHVlKHJnYmEoJGhleC1jb2xvciwgMSkpO1xuXG4gICQtbG9jYWwtcmVkOiBfZ2FtbWEoJC1sb2NhbC1yZWQtcmF3IC8gMjU1KTtcbiAgJC1sb2NhbC1ncmVlbjogX2dhbW1hKCQtbG9jYWwtZ3JlZW4tcmF3IC8gMjU1KTtcbiAgJC1sb2NhbC1ibHVlOiBfZ2FtbWEoJC1sb2NhbC1ibHVlLXJhdyAvIDI1NSk7XG5cbiAgQHJldHVybiAkLWxvY2FsLXJlZCAqIDAuMjEyNiArICQtbG9jYWwtZ3JlZW4gKiAwLjcxNTIgKyAkLWxvY2FsLWJsdWUgKiAwLjA3MjI7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm9ncmFtYXRpY2FsbHkgZGV0ZXJtaW5lcyB0aGUgY29udHJhc3QgcmF0aW8gYmV0d2VlbiB0d28gY29sb3JzLlxuLy8vXG4vLy8gTm90ZSB0aGF0IHRoZSBhbHBoYSBjaGFubmVsIGlzIGlnbm9yZWQuXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dvby5nbC81NGh0TFZcbi8vL1xuLy8vIEBhcmd1bWVudCB7Y29sb3IgKGhleCl9ICRjb2xvci0xXG4vLy9cbi8vLyBAYXJndW1lbnQge2NvbG9yIChoZXgpfSAkY29sb3ItMlxuLy8vXG4vLy8gQHJldHVybiB7bnVtYmVyICgxLTIxKX1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIF9jb250cmFzdC1yYXRpbyhibGFjaywgd2hpdGUpXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IF9saWdodG5lc3Ncbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AZnVuY3Rpb24gX2NvbnRyYXN0LXJhdGlvKCRjb2xvci0xLCAkY29sb3ItMikge1xuICAkLWxvY2FsLWxpZ2h0bmVzcy0xOiBfbGlnaHRuZXNzKCRjb2xvci0xKSArIDAuMDU7XG4gICQtbG9jYWwtbGlnaHRuZXNzLTI6IF9saWdodG5lc3MoJGNvbG9yLTIpICsgMC4wNTtcblxuICBAaWYgJC1sb2NhbC1saWdodG5lc3MtMSA+ICQtbG9jYWwtbGlnaHRuZXNzLTIge1xuICAgIEByZXR1cm4gJC1sb2NhbC1saWdodG5lc3MtMSAvICQtbG9jYWwtbGlnaHRuZXNzLTI7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJC1sb2NhbC1saWdodG5lc3MtMiAvICQtbG9jYWwtbGlnaHRuZXNzLTE7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFRyYW5zZm9ybXMgc2hvcnRoYW5kIHRoYXQgY2FuIHJhbmdlIGZyb20gMS10by00IHZhbHVlcyB0byBiZSA0IHZhbHVlcy5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bGlzdH0gJHNob3J0aGFuZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW46IF91bnBhY2stc2hvcnRoYW5kKDFlbSAyZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbjogMWVtIDJlbSAxZW0gMmVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBmdW5jdGlvbiBfdW5wYWNrLXNob3J0aGFuZCgkc2hvcnRoYW5kKSB7XG4gIEBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMSB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSk7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDIge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAzIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMikgbnRoKCRzaG9ydGhhbmQsIDMpIG50aCgkc2hvcnRoYW5kLCAyKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkc2hvcnRoYW5kO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIGNvbmNpc2UsIG9uZS1saW5lIG1ldGhvZCBmb3Igc2V0dGluZyBgYm9yZGVyLWNvbG9yYCBvbiBzcGVjaWZpY1xuLy8vIGVkZ2VzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBlZGdlcyBvZiB0aGUgYm94IHdpdGggc3RhbmRhcmRcbi8vLyBDU1Mgc2hvcnRoYW5kLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtsaXN0fSAkdmFsdWVzXG4vLy8gICBMaXN0IG9mIGNvbG9yczsgYWNjZXB0cyBDU1Mgc2hvcnRoYW5kLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItY29sb3IoI2E2MGI1NSAjNzZjZDljIG51bGwgI2U4YWUxYSk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNlOGFlMWE7XG4vLy8gICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzc2Y2Q5Yztcbi8vLyAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2E2MGI1NTtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gX2RpcmVjdGlvbmFsLXByb3BlcnR5XG5cbkBtaXhpbiBib3JkZXItY29sb3IoJHZhbHVlcykge1xuICBAaW5jbHVkZSBfZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCBjb2xvciwgJHZhbHVlcyk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIGNvbmNpc2UsIG9uZS1saW5lIG1ldGhvZCBmb3Igc2V0dGluZyBgYm9yZGVyLXJhZGl1c2Agb24gYm90aCB0aGVcbi8vLyB0b3AtbGVmdCBhbmQgdG9wLXJpZ2h0IG9mIGEgYm94LlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtudW1iZXIgKHdpdGggdW5pdCl9ICRyYWRpaVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyg0cHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcbi8vLyAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcbi8vLyAgIH1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbi8vLyBQcm92aWRlcyBhIGNvbmNpc2UsIG9uZS1saW5lIG1ldGhvZCBmb3Igc2V0dGluZyBgYm9yZGVyLXJhZGl1c2Agb24gYm90aCB0aGVcbi8vLyB0b3AtcmlnaHQgYW5kIGJvdHRvbS1yaWdodCBvZiBhIGJveC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bnVtYmVyICh3aXRoIHVuaXQpfSAkcmFkaWlcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygzcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4vLy8gICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XG4vLy8gICB9XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG4vLy8gUHJvdmlkZXMgYSBjb25jaXNlLCBvbmUtbGluZSBtZXRob2QgZm9yIHNldHRpbmcgYGJvcmRlci1yYWRpdXNgIG9uIGJvdGggdGhlXG4vLy8gYm90dG9tLWxlZnQgYW5kIGJvdHRvbS1yaWdodCBvZiBhIGJveC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bnVtYmVyICh3aXRoIHVuaXQpfSAkcmFkaWlcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMnB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAycHg7XG4vLy8gICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAycHg7XG4vLy8gICB9XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG4vLy8gUHJvdmlkZXMgYSBjb25jaXNlLCBvbmUtbGluZSBtZXRob2QgZm9yIHNldHRpbmcgYGJvcmRlci1yYWRpdXNgIG9uIGJvdGggdGhlXG4vLy8gdG9wLWxlZnQgYW5kIGJvdHRvbS1sZWZ0IG9mIGEgYm94LlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtudW1iZXIgKHdpdGggdW5pdCl9ICRyYWRpaVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMXB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxcHg7XG4vLy8gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDFweDtcbi8vLyAgIH1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIGNvbmNpc2UsIG9uZS1saW5lIG1ldGhvZCBmb3Igc2V0dGluZyBgYm9yZGVyLXN0eWxlYCBvbiBzcGVjaWZpY1xuLy8vIGVkZ2VzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBlZGdlcyBvZiB0aGUgYm94IHdpdGggc3RhbmRhcmRcbi8vLyBDU1Mgc2hvcnRoYW5kLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtsaXN0fSAkdmFsdWVzXG4vLy8gICBMaXN0IG9mIGJvcmRlciBzdHlsZXM7IGFjY2VwdHMgQ1NTIHNob3J0aGFuZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXN0eWxlKGRhc2hlZCBudWxsIHNvbGlkKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbi8vLyAgICAgYm9yZGVyLXRvcC1zdHlsZTogZGFzaGVkO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBfZGlyZWN0aW9uYWwtcHJvcGVydHlcblxuQG1peGluIGJvcmRlci1zdHlsZSgkdmFsdWVzKSB7XG4gIEBpbmNsdWRlIF9kaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHN0eWxlLCAkdmFsdWVzKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgY29uY2lzZSwgb25lLWxpbmUgbWV0aG9kIGZvciBzZXR0aW5nIGBib3JkZXItd2lkdGhgIG9uIHNwZWNpZmljXG4vLy8gZWRnZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGVkZ2VzIG9mIHRoZSBib3ggd2l0aCBzdGFuZGFyZFxuLy8vIENTUyBzaG9ydGhhbmQuXG4vLy9cbi8vLyBAYXJndW1lbnQge2xpc3R9ICR2YWx1ZXNcbi8vLyAgIExpc3Qgb2YgYm9yZGVyIHdpZHRoczsgYWNjZXB0cyBDU1Mgc2hvcnRoYW5kLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItd2lkdGgoMWVtIG51bGwgMjBweCk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjBweDtcbi8vLyAgICAgYm9yZGVyLXRvcC13aWR0aDogMWVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBfZGlyZWN0aW9uYWwtcHJvcGVydHlcblxuQG1peGluIGJvcmRlci13aWR0aCgkdmFsdWVzKSB7XG4gIEBpbmNsdWRlIF9kaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHdpZHRoLCAkdmFsdWVzKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vL1xuLy8vIEB0eXBlIGxpc3Rcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gX2Fzc2lnbi1pbnB1dHNcbi8vL1xuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJF9idXR0b25zLWxpc3Rcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBhbGwgSFRNTCBidXR0b24gZWxlbWVudHMuIFBsZWFzZSBub3RlIHRoYXQgeW91IG11c3QgaW50ZXJwb2xhdGVcbi8vLyB0aGUgdmFyaWFibGUgKGAje31gKSB0byB1c2UgaXQgYXMgYSBzZWxlY3Rvci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgICN7JGFsbC1idXR0b25zfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIGJ1dHRvbixcbi8vLyAgIFt0eXBlPSdidXR0b24nXSxcbi8vLyAgIFt0eXBlPSdyZXNldCddLFxuLy8vICAgW3R5cGU9J3N1Ym1pdCddIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwMDtcbi8vLyAgIH1cblxuJGFsbC1idXR0b25zOiBfYXNzaWduLWlucHV0cygkX2J1dHRvbnMtbGlzdCk7XG5cbi8vLyBBIGxpc3Qgb2YgYWxsIEhUTUwgYnV0dG9uIGVsZW1lbnRzIHdpdGggdGhlIGA6YWN0aXZlYCBwc2V1ZG8tY2xhc3MgYXBwbGllZC5cbi8vLyBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0IGludGVycG9sYXRlIHRoZSB2YXJpYWJsZSAoYCN7fWApIHRvIHVzZSBpdCBhcyBhXG4vLy8gc2VsZWN0b3IuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAjeyRhbGwtYnV0dG9ucy1hY3RpdmV9IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZjtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgYnV0dG9uOmFjdGl2ZSxcbi8vLyAgIFt0eXBlPSdidXR0b24nXTphY3RpdmUsXG4vLy8gICBbdHlwZT0ncmVzZXQnXTphY3RpdmUsXG4vLy8gICBbdHlwZT0nc3VibWl0J106YWN0aXZlIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZjtcbi8vLyAgIH1cblxuJGFsbC1idXR0b25zLWFjdGl2ZTogX2Fzc2lnbi1pbnB1dHMoJF9idXR0b25zLWxpc3QsIGFjdGl2ZSk7XG5cbi8vLyBBIGxpc3Qgb2YgYWxsIEhUTUwgYnV0dG9uIGVsZW1lbnRzIHdpdGggdGhlIGA6Zm9jdXNgIHBzZXVkby1jbGFzcyBhcHBsaWVkLlxuLy8vIFBsZWFzZSBub3RlIHRoYXQgeW91IG11c3QgaW50ZXJwb2xhdGUgdGhlIHZhcmlhYmxlIChgI3t9YCkgdG8gdXNlIGl0IGFzIGFcbi8vLyBzZWxlY3Rvci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgICN7JGFsbC1idXR0b25zLWZvY3VzfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIGJ1dHRvbjpmb2N1cyxcbi8vLyAgIFt0eXBlPSdidXR0b24nXTpmb2N1cyxcbi8vLyAgIFt0eXBlPSdyZXNldCddOmZvY3VzLFxuLy8vICAgW3R5cGU9J3N1Ym1pdCddOmZvY3VzIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBmMDtcbi8vLyAgIH1cblxuJGFsbC1idXR0b25zLWZvY3VzOiBfYXNzaWduLWlucHV0cygkX2J1dHRvbnMtbGlzdCwgZm9jdXMpO1xuXG4vLy8gQSBsaXN0IG9mIGFsbCBIVE1MIGJ1dHRvbiBlbGVtZW50cyB3aXRoIHRoZSBgOmhvdmVyYCBwc2V1ZG8tY2xhc3MgYXBwbGllZC5cbi8vLyBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0IGludGVycG9sYXRlIHRoZSB2YXJpYWJsZSAoYCN7fWApIHRvIHVzZSBpdCBhcyBhXG4vLy8gc2VsZWN0b3IuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAjeyRhbGwtYnV0dG9ucy1ob3Zlcn0ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICBidXR0b246aG92ZXIsXG4vLy8gICBbdHlwZT0nYnV0dG9uJ106aG92ZXIsXG4vLy8gICBbdHlwZT0ncmVzZXQnXTpob3Zlcixcbi8vLyAgIFt0eXBlPSdzdWJtaXQnXTpob3ZlciB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjA7XG4vLy8gICB9XG5cbiRhbGwtYnV0dG9ucy1ob3ZlcjogX2Fzc2lnbi1pbnB1dHMoJF9idXR0b25zLWxpc3QsIGhvdmVyKTtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGluY2x1ZGUgYSBjbGVhcmZpeCBmb3IgY29udGFpbmluZyBmbG9hdHMuXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dvby5nbC95UDVoaVpcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50OjphZnRlciB7XG4vLy8gICAgIGNsZWFyOiBib3RoO1xuLy8vICAgICBjb250ZW50OiBcIlwiO1xuLy8vICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgIH1cblxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFN3aXRjaGVzIGJldHdlZW4gdHdvIGNvbG9ycyBiYXNlZCBvbiB0aGUgY29udHJhc3QgdG8gYW5vdGhlciBjb2xvci4gSXTigJlzXG4vLy8gbGlrZSBhIFt0ZXJuYXJ5IG9wZXJhdG9yXSBmb3IgY29sb3IgY29udHJhc3QgYW5kIGNhbiBiZSB1c2VmdWwgZm9yIGJ1aWxkaW5nXG4vLy8gYSBidXR0b24gc3lzdGVtLlxuLy8vXG4vLy8gVGhlIGNhbGN1bGF0aW9uIG9mIHRoZSBjb250cmFzdCByYXRpbyBpcyBiYXNlZCBvbiB0aGUgW1dDQUcgMi4wXG4vLy8gc3BlY2lmaWNhdGlvbl0uIEhvd2V2ZXIsIHdlIGNhbm5vdCBndWFyYW50ZWUgZnVsbCBjb21wbGlhbmNlLCB0aG91Z2ggYWxsIG9mXG4vLy8gb3VyIG1hbnVhbCB0ZXN0aW5nIHBhc3NlZC5cbi8vL1xuLy8vICAgW3Rlcm5hcnkgb3BlcmF0b3JdOiBodHRwczovL2dvby5nbC9jY2ZMcWlcbi8vLyAgIFtXQ0FHIDIuMCBzcGVjaWZpY2F0aW9uXTogaHR0cHM6Ly9nb28uZ2wvemhRdVlBXG4vLy9cbi8vLyBAYXJndW1lbnQge2NvbG9yfSAkYmFzZS1jb2xvclxuLy8vICAgVGhlIGNvbG9yIHRvIGV2YWx1YXRlIGxpZ2h0bmVzcyBhZ2FpbnN0LlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtjb2xvcn0gJGRhcmstY29sb3IgWyMwMDBdXG4vLy8gICBUaGUgY29sb3IgdG8gYmUgb3V0cHV0IHdoZW4gYCRiYXNlLWNvbG9yYCBpcyBsaWdodC4gQ2FuIGFsc28gYmUgc2V0XG4vLy8gICBnbG9iYWxseSB1c2luZyB0aGUgYGNvbnRyYXN0LXN3aXRjaC1kYXJrLWNvbG9yYCBrZXkgaW4gdGhlXG4vLy8gICBCb3VyYm9uIHNldHRpbmdzLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtjb2xvcn0gJGxpZ2h0LWNvbG9yIFsjZmZmXVxuLy8vICAgVGhlIGNvbG9yIHRvIGJlIG91dHB1dCB3aGVuIGAkYmFzZS1jb2xvcmAgaXMgZGFyay4gQ2FuIGFsc28gYmUgc2V0XG4vLy8gICBnbG9iYWxseSB1c2luZyB0aGUgYGNvbnRyYXN0LXN3aXRjaC1saWdodC1jb2xvcmAga2V5IGluIHRoZVxuLy8vICAgQm91cmJvbiBzZXR0aW5ncy5cbi8vL1xuLy8vIEByZXR1cm4ge2NvbG9yfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBjb2xvcjogY29udHJhc3Qtc3dpdGNoKCNiYWU2ZTYpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGNvbG9yOiAjMDAwO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICAkYnV0dG9uLWNvbG9yOiAjMmQ3MmQ5O1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWNvbG9yO1xuLy8vICAgICBjb2xvcjogY29udHJhc3Qtc3dpdGNoKCRidXR0b24tY29sb3IsICMyMjIsICNlZWUpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDcyZDk7XG4vLy8gICAgIGNvbG9yOiAjZWVlO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBfZmV0Y2gtYm91cmJvbi1zZXR0aW5nXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IF9pcy1jb2xvclxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBfY29udHJhc3QtcmF0aW9cbi8vL1xuLy8vIEBzaW5jZSA1LjAuMFxuXG5AZnVuY3Rpb24gY29udHJhc3Qtc3dpdGNoKFxuICAkYmFzZS1jb2xvcixcbiAgJGRhcmstY29sb3I6IF9mZXRjaC1ib3VyYm9uLXNldHRpbmcoXCJjb250cmFzdC1zd2l0Y2gtZGFyay1jb2xvclwiKSxcbiAgJGxpZ2h0LWNvbG9yOiBfZmV0Y2gtYm91cmJvbi1zZXR0aW5nKFwiY29udHJhc3Qtc3dpdGNoLWxpZ2h0LWNvbG9yXCIpXG4pIHtcbiAgQGlmIG5vdCBfaXMtY29sb3IoJGJhc2UtY29sb3IpIHtcbiAgICBAZXJyb3IgXCJgI3skYmFzZS1jb2xvcn1gIGlzIG5vdCBhIHZhbGlkIGNvbG9yIGZvciB0aGUgYCRiYXNlLWNvbG9yYCBcIiArXG4gICAgICAgICAgIFwiYXJndW1lbnQgaW4gdGhlIGBjb250cmFzdC1zd2l0Y2hgIGZ1bmN0aW9uLlwiO1xuICB9IEBlbHNlIGlmIG5vdCBfaXMtY29sb3IoJGRhcmstY29sb3IpIHtcbiAgICBAZXJyb3IgXCJgI3skZGFyay1jb2xvcn1gIGlzIG5vdCBhIHZhbGlkIGNvbG9yIGZvciB0aGUgYCRkYXJrLWNvbG9yYCBcIiArXG4gICAgICAgICAgIFwiYXJndW1lbnQgaW4gdGhlIGBjb250cmFzdC1zd2l0Y2hgIGZ1bmN0aW9uLlwiO1xuICB9IEBlbHNlIGlmIG5vdCBfaXMtY29sb3IoJGxpZ2h0LWNvbG9yKSB7XG4gICAgQGVycm9yIFwiYCN7JGxpZ2h0LWNvbG9yfWAgaXMgbm90IGEgdmFsaWQgY29sb3IgZm9yIHRoZSBgJGxpZ2h0LWNvbG9yYCBcIiArXG4gICAgICAgICAgIFwiYXJndW1lbnQgaW4gdGhlIGBjb250cmFzdC1zd2l0Y2hgIGZ1bmN0aW9uLlwiO1xuICB9IEBlbHNlIHtcbiAgICAkLWNvbnRyYXN0LXRvLWRhcms6IF9jb250cmFzdC1yYXRpbygkYmFzZS1jb2xvciwgJGRhcmstY29sb3IpO1xuICAgICQtY29udHJhc3QtdG8tbGlnaHQ6IF9jb250cmFzdC1yYXRpbygkYmFzZS1jb2xvciwgJGxpZ2h0LWNvbG9yKTtcbiAgICAkLXByZWZlci1kYXJrOiAkLWNvbnRyYXN0LXRvLWRhcmsgPj0gJC1jb250cmFzdC10by1saWdodDtcblxuICAgIEByZXR1cm4gaWYoJC1wcmVmZXItZGFyaywgJGRhcmstY29sb3IsICRsaWdodC1jb2xvcik7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFRydW5jYXRlcyB0ZXh0IGFuZCBhZGRzIGFuIGVsbGlwc2lzIHRvIHJlcHJlc2VudCBvdmVyZmxvdy5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bnVtYmVyfSAkd2lkdGggWzEwMCVdXG4vLy8gICBUaGUgYG1heC13aWR0aGAgZm9yIHRoZSBzdHJpbmcgdG8gcmVzcGVjdCBiZWZvcmUgYmVpbmcgdHJ1bmNhdGVkLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtzdHJpbmd9ICRkaXNwbGF5IFtpbmxpbmUtYmxvY2tdXG4vLy8gICBTZXRzIHRoZSBkaXNwbGF5LXZhbHVlIG9mIHRoZSBlbGVtZW50LlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBlbGxpcHNpcztcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4vLy8gICAgIG1heC13aWR0aDogMTAwJTtcbi8vLyAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbi8vLyAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4vLy8gICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4vLy8gICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuLy8vICAgfVxuXG5AbWl4aW4gZWxsaXBzaXMoXG4gICR3aWR0aDogMTAwJSxcbiAgJGRpc3BsYXk6IGlubGluZS1ibG9ja1xuKSB7XG4gIGRpc3BsYXk6ICRkaXNwbGF5O1xuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AbWl4aW4gZm9udC1mYWNlKFxuICAkZm9udC1mYW1pbHksXG4gICRmaWxlLXBhdGgsXG4gICRmaWxlLWZvcm1hdHM6IF9mZXRjaC1ib3VyYm9uLXNldHRpbmcoXCJnbG9iYWwtZm9udC1maWxlLWZvcm1hdHNcIiksXG4gICRhc3NldC1waXBlbGluZTogX2ZldGNoLWJvdXJib24tc2V0dGluZyhcInJhaWxzLWFzc2V0LXBpcGVsaW5lXCIpXG4pIHtcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICBzcmM6IF9mb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgICAgICRmb250LWZhbWlseSxcbiAgICAgICRmaWxlLXBhdGgsXG4gICAgICAkYXNzZXQtcGlwZWxpbmUsXG4gICAgICAkZmlsZS1mb3JtYXRzXG4gICAgKTtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQSB2YXJpYWJsZSB0aGF0IG91dHB1dHMgYSBIZWx2ZXRpY2EgZm9udCBzdGFjay5cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ29vLmdsL3VTSnZaZVxuLy8vXG4vLy8gQHR5cGUgbGlzdFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2staGVsdmV0aWNhO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbi8vLyAgIH1cblxuJGZvbnQtc3RhY2staGVsdmV0aWNhOiAoXG4gIFwiSGVsdmV0aWNhIE5ldWVcIixcbiAgXCJIZWx2ZXRpY2FcIixcbiAgXCJBcmlhbFwiLFxuICBzYW5zLXNlcmlmLFxuKTtcblxuLy8vIEEgdmFyaWFibGUgdGhhdCBvdXRwdXRzIGEgTHVjaWRhIEdyYW5kZSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9nb28uZ2wvUjVVeVlFXG4vLy9cbi8vLyBAdHlwZSBsaXN0XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFjay1sdWNpZGEtZ3JhbmRlO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGZvbnQtZmFtaWx5OiBcIkx1Y2lkYSBHcmFuZGVcIiwgXCJMdWNpZGEgU2FucyBVbmljb2RlXCIsIFwiR2VuZXZhXCIsIFwiVmVyZGFuYVwiLCBzYW5zLXNlcmlmO1xuLy8vICAgfVxuXG4kZm9udC1zdGFjay1sdWNpZGEtZ3JhbmRlOiAoXG4gIFwiTHVjaWRhIEdyYW5kZVwiLFxuICBcIkx1Y2lkYSBTYW5zIFVuaWNvZGVcIixcbiAgXCJHZW5ldmFcIixcbiAgXCJWZXJkYW5hXCIsXG4gIHNhbnMtc2VyaWYsXG4pO1xuXG4vLy8gQSB2YXJpYWJsZSB0aGF0IG91dHB1dHMgYSBWZXJkYW5hIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dvby5nbC95R1hXU1Ncbi8vL1xuLy8vIEB0eXBlIGxpc3Rcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrLXZlcmRhbmE7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZm9udC1mYW1pbHk6IFwiVmVyZGFuYVwiLCBcIkdlbmV2YVwiLCBzYW5zLXNlcmlmO1xuLy8vICAgfVxuXG4kZm9udC1zdGFjay12ZXJkYW5hOiAoXG4gIFwiVmVyZGFuYVwiLFxuICBcIkdlbmV2YVwiLFxuICBzYW5zLXNlcmlmLFxuKTtcblxuLy8vIEEgdmFyaWFibGUgdGhhdCBvdXRwdXRzIGEgc3lzdGVtIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dvby5nbC9MSFJaSWZcbi8vL1xuLy8vIEB0eXBlIGxpc3Rcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrLXN5c3RlbTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIkF2ZW5pciBOZXh0XCIsIFwiQXZlbmlyXCIsIFwiU2Vnb2UgVUlcIiwgXCJMdWNpZGEgR3JhbmRlXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJGaXJhIFNhbnNcIiwgXCJSb2JvdG9cIiwgXCJOb3RvXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkNhbnRhcmVsbFwiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkZyYW5rbGluIEdvdGhpYyBNZWRpdW1cIiwgXCJDZW50dXJ5IEdvdGhpY1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuLy8vICAgfVxuXG4kZm9udC1zdGFjay1zeXN0ZW06IChcbiAgLWFwcGxlLXN5c3RlbSxcbiAgQmxpbmtNYWNTeXN0ZW1Gb250LFxuICBcIkF2ZW5pciBOZXh0XCIsXG4gIFwiQXZlbmlyXCIsXG4gIFwiU2Vnb2UgVUlcIixcbiAgXCJMdWNpZGEgR3JhbmRlXCIsXG4gIFwiSGVsdmV0aWNhIE5ldWVcIixcbiAgXCJIZWx2ZXRpY2FcIixcbiAgXCJGaXJhIFNhbnNcIixcbiAgXCJSb2JvdG9cIixcbiAgXCJOb3RvXCIsXG4gIFwiRHJvaWQgU2Fuc1wiLFxuICBcIkNhbnRhcmVsbFwiLFxuICBcIk94eWdlblwiLFxuICBcIlVidW50dVwiLFxuICBcIkZyYW5rbGluIEdvdGhpYyBNZWRpdW1cIixcbiAgXCJDZW50dXJ5IEdvdGhpY1wiLFxuICBcIkxpYmVyYXRpb24gU2Fuc1wiLFxuICBzYW5zLXNlcmlmLFxuKTtcblxuLy8vIEEgdmFyaWFibGUgdGhhdCBvdXRwdXRzIGEgR2FyYW1vbmQgZm9udCBzdGFjay5cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ29vLmdsL1FRRkVrVlxuLy8vXG4vLy8gQHR5cGUgbGlzdFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2stZ2FyYW1vbmQ7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZm9udC1mYW1pbHk6IFwiR2FyYW1vbmRcIiwgXCJCYXNrZXJ2aWxsZVwiLCBcIkJhc2tlcnZpbGxlIE9sZCBGYWNlXCIsIFwiSG9lZmxlciBUZXh0XCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xuLy8vICAgfVxuXG4kZm9udC1zdGFjay1nYXJhbW9uZDogKFxuICBcIkdhcmFtb25kXCIsXG4gIFwiQmFza2VydmlsbGVcIixcbiAgXCJCYXNrZXJ2aWxsZSBPbGQgRmFjZVwiLFxuICBcIkhvZWZsZXIgVGV4dFwiLFxuICBcIlRpbWVzIE5ldyBSb21hblwiLFxuICBzZXJpZixcbik7XG5cbi8vLyBBIHZhcmlhYmxlIHRoYXQgb3V0cHV0cyBhIEdlb3JnaWEgZm9udCBzdGFjay5cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ29vLmdsL3d0elZQeVxuLy8vXG4vLy8gQHR5cGUgbGlzdFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2stZ2VvcmdpYTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LWZhbWlseTogXCJHZW9yZ2lhXCIsIFwiVGltZXNcIiwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7XG4vLy8gICB9XG5cbiRmb250LXN0YWNrLWdlb3JnaWE6IChcbiAgXCJHZW9yZ2lhXCIsXG4gIFwiVGltZXNcIixcbiAgXCJUaW1lcyBOZXcgUm9tYW5cIixcbiAgc2VyaWYsXG4pO1xuXG4vLy8gQSB2YXJpYWJsZSB0aGF0IG91dHB1dHMgYSBIb2VmbGVyIFRleHQgZm9udCBzdGFjay5cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ29vLmdsL243VTd6eFxuLy8vXG4vLy8gQHR5cGUgbGlzdFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2staG9lZmxlci10ZXh0O1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBcIkJhc2tlcnZpbGxlIE9sZCBGYWNlXCIsIFwiR2FyYW1vbmRcIiwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7XG4vLy8gICB9XG5cbiRmb250LXN0YWNrLWhvZWZsZXItdGV4dDogKFxuICBcIkhvZWZsZXIgVGV4dFwiLFxuICBcIkJhc2tlcnZpbGxlIE9sZCBGYWNlXCIsXG4gIFwiR2FyYW1vbmRcIixcbiAgXCJUaW1lcyBOZXcgUm9tYW5cIixcbiAgc2VyaWYsXG4pO1xuXG4vLy8gQSB2YXJpYWJsZSB0aGF0IG91dHB1dHMgYSBDb25zb2xhcyBmb250IHN0YWNrLlxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9nb28uZ2wvaUtydHF2XG4vLy9cbi8vLyBAdHlwZSBsaXN0XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFjay1jb25zb2xhcztcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LWZhbWlseTogXCJDb25zb2xhc1wiLCBcIm1vbmFjb1wiLCBtb25vc3BhY2U7XG4vLy8gICB9XG5cbiRmb250LXN0YWNrLWNvbnNvbGFzOiAoXG4gIFwiQ29uc29sYXNcIixcbiAgXCJtb25hY29cIixcbiAgbW9ub3NwYWNlLFxuKTtcblxuLy8vIEEgdmFyaWFibGUgdGhhdCBvdXRwdXRzIGEgQ291cmllciBOZXcgZm9udCBzdGFjay5cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ29vLmdsL2JIZldNUFxuLy8vXG4vLy8gQHR5cGUgbGlzdFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2stY291cmllci1uZXc7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZm9udC1mYW1pbHk6IFwiQ291cmllciBOZXdcIiwgXCJDb3VyaWVyXCIsIFwiTHVjaWRhIFNhbnMgVHlwZXdyaXRlclwiLCBcIkx1Y2lkYSBUeXBld3JpdGVyXCIsIG1vbm9zcGFjZTtcbi8vLyAgIH1cblxuJGZvbnQtc3RhY2stY291cmllci1uZXc6IChcbiAgXCJDb3VyaWVyIE5ld1wiLFxuICBcIkNvdXJpZXJcIixcbiAgXCJMdWNpZGEgU2FucyBUeXBld3JpdGVyXCIsXG4gIFwiTHVjaWRhIFR5cGV3cml0ZXJcIixcbiAgbW9ub3NwYWNlLFxuKTtcblxuLy8vIEEgdmFyaWFibGUgdGhhdCBvdXRwdXRzIGEgTW9uYWNvIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dvby5nbC85UGdLRE9cbi8vL1xuLy8vIEB0eXBlIGxpc3Rcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrLW1vbmFjbztcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LWZhbWlseTogXCJNb25hY29cIiwgXCJDb25zb2xhc1wiLCBcIkx1Y2lkYSBDb25zb2xlXCIsIG1vbm9zcGFjZTtcbi8vLyAgIH1cblxuJGZvbnQtc3RhY2stbW9uYWNvOiAoXG4gIFwiTW9uYWNvXCIsXG4gIFwiQ29uc29sYXNcIixcbiAgXCJMdWNpZGEgQ29uc29sZVwiLFxuICBtb25vc3BhY2UsXG4pO1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gSGlkZXMgdGhlIHRleHQgaW4gYW4gZWxlbWVudCwgY29tbW9ubHkgdXNlZCB0byBzaG93IGFuIGltYWdlIGluc3RlYWQuIFNvbWVcbi8vLyBlbGVtZW50cyB3aWxsIG5lZWQgYmxvY2stbGV2ZWwgc3R5bGVzIGFwcGxpZWQuXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dvby5nbC9FdkxSSXVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgaGlkZS10ZXh0O1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gICAgIHRleHQtaW5kZW50OiAxMDElO1xuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vICAgfVxuXG5AbWl4aW4gaGlkZS10ZXh0IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1pbmRlbnQ6IDEwMSU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBIaWRlcyBhbiBlbGVtZW50IHZpc3VhbGx5IHdoaWxlIHN0aWxsIGFsbG93aW5nIHRoZSBjb250ZW50IHRvIGJlIGFjY2Vzc2libGVcbi8vLyB0byBhc3Npc3RpdmUgdGVjaG5vbG9neSwgZS5nLiBzY3JlZW4gcmVhZGVycy4gUGFzc2luZyBgdW5oaWRlYCB3aWxsIHJldmVyc2Vcbi8vLyB0aGUgYWZmZWN0cyBvZiB0aGUgaGlkaW5nLCB3aGljaCBpcyBoYW5keSBmb3Igc2hvd2luZyB0aGUgZWxlbWVudCBvbiBmb2N1cyxcbi8vLyBmb3IgZXhhbXBsZS5cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ29vLmdsL1ZmMVRHblxuLy8vXG4vLy8gQGFyZ3VtZW50IHtzdHJpbmd9ICR0b2dnbGUgW2hpZGVdXG4vLy8gICBBY2NlcHRzIGBoaWRlYCBvciBgdW5oaWRlYC4gYHVuaGlkZWAgcmV2ZXJzZXMgdGhlIGFmZmVjdHMgb2YgYGhpZGVgLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBoaWRlLXZpc3VhbGx5O1xuLy8vXG4vLy8gICAgICY6YWN0aXZlLFxuLy8vICAgICAmOmZvY3VzIHtcbi8vLyAgICAgICBAaW5jbHVkZSBoaWRlLXZpc3VhbGx5KFwidW5oaWRlXCIpO1xuLy8vICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyOiAwO1xuLy8vICAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4vLy8gICAgIGNsaXAtcGF0aDogaW5zZXQoMTAwJSk7XG4vLy8gICAgIGhlaWdodDogMXB4O1xuLy8vICAgICBvdmVyZmxvdzogaGlkZGVuO1xuLy8vICAgICBwYWRkaW5nOiAwO1xuLy8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLy8gICAgIHdpZHRoOiAxcHg7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5oaWRlLXZpc3VhbGx5OmFjdGl2ZSxcbi8vLyAgIC5oaWRlLXZpc3VhbGx5OmZvY3VzIHtcbi8vLyAgICAgY2xpcDogYXV0bztcbi8vLyAgICAgY2xpcC1wYXRoOiBub25lO1xuLy8vICAgICBoZWlnaHQ6IGF1dG87XG4vLy8gICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuLy8vICAgICBwb3NpdGlvbjogc3RhdGljO1xuLy8vICAgICB3aWR0aDogYXV0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBzaW5jZSA1LjAuMFxuXG5AbWl4aW4gaGlkZS12aXN1YWxseSgkdG9nZ2xlOiBcImhpZGVcIikge1xuICBAaWYgbm90IGluZGV4KFwiaGlkZVwiIFwidW5oaWRlXCIsICR0b2dnbGUpIHtcbiAgICBAZXJyb3IgXCJgI3skdG9nZ2xlfWAgaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHRoZSBgJHRvZ2dsZWAgYXJndW1lbnQgaW4gXCIgK1xuICAgICAgICAgICBcInRoZSBgaGlkZS12aXN1YWxseWAgbWl4aW4uIE11c3QgYmUgZWl0aGVyIGBoaWRlYCBvciBgdW5oaWRlYC5cIjtcbiAgfSBAZWxzZSBpZiAkdG9nZ2xlID09IFwiaGlkZVwiIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgIGNsaXAtcGF0aDogaW5zZXQoMTAwJSk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHdpZHRoOiAxcHg7XG4gIH0gQGVsc2UgaWYgJHRvZ2dsZSA9PSBcInVuaGlkZVwiIHtcbiAgICBjbGlwOiBhdXRvO1xuICAgIGNsaXAtcGF0aDogbm9uZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBjb25jaXNlLCBvbmUtbGluZSBtZXRob2QgZm9yIHNldHRpbmcgYG1hcmdpbmAgb24gc3BlY2lmaWMgZWRnZXNcbi8vLyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gZWRnZXMgb2YgdGhlIGJveCB3aXRoIHN0YW5kYXJkXG4vLy8gQ1NTIHNob3J0aGFuZC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bGlzdH0gJHZhbHVlc1xuLy8vICAgTGlzdCBvZiBtYXJnaW4gdmFsdWVzOyBhY2NlcHRzIENTUyBzaG9ydGhhbmQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIGF1dG8pO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbigxMHB4IDNlbSAyMHZoIG51bGwpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1ib3R0b206IDIwdmg7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogM2VtO1xuLy8vICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBfZGlyZWN0aW9uYWwtcHJvcGVydHlcblxuQG1peGluIG1hcmdpbigkdmFsdWVzKSB7XG4gIEBpbmNsdWRlIF9kaXJlY3Rpb25hbC1wcm9wZXJ0eShtYXJnaW4sIG51bGwsICR2YWx1ZXMpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gSW5jcmVtZW50cyB1cCBvciBkb3duIGEgZGVmaW5lZCBzY2FsZSBhbmQgcmV0dXJucyBhbiBhZGp1c3RlZCB2YWx1ZS4gVGhpc1xuLy8vIGhlbHBzIGVzdGFibGlzaCBjb25zaXN0ZW50IG1lYXN1cmVtZW50cyBhbmQgc3BhY2lhbCByZWxhdGlvbnNoaXBzIHRocm91Z2hvdXRcbi8vLyB5b3VyIHByb2plY3QuIFdlIHByb3ZpZGUgYSBsaXN0IG9mIGNvbW1vbmx5IHVzZWQgc2NhbGVzIGFzXG4vLy8gW3ByZS1kZWZpbmVkIHZhcmlhYmxlc11bc2NhbGVzXS5cbi8vL1xuLy8vIFtzY2FsZXNdOiBodHRwczovL2dpdGh1Yi5jb20vdGhvdWdodGJvdC9ib3VyYm9uL2Jsb2IvbWFzdGVyL2NvcmUvYm91cmJvbi9oZWxwZXJzL19zY2FsZXMuc2Nzc1xuLy8vXG4vLy8gQGFyZ3VtZW50IHtudW1iZXIgKHVuaXRsZXNzKX0gJGluY3JlbWVudFxuLy8vICAgSG93IG1hbnkgc3RlcHMgdG8gaW5jcmVtZW50IHVwIG9yIGRvd24gdGhlIHNjYWxlLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtudW1iZXIgKHdpdGggdW5pdCkgfCBsaXN0fSAkdmFsdWUgWzFlbV1cbi8vLyAgIFRoZSBiYXNlIHZhbHVlIHRoZSBzY2FsZSBzdGFydHMgYXQuIENhbiBhbHNvIGJlIHNldCBnbG9iYWxseSB1c2luZyB0aGVcbi8vLyAgIGBtb2R1bGFyLXNjYWxlLWJhc2VgIGtleSBpbiB0aGUgQm91cmJvbiBzZXR0aW5ncy5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bnVtYmVyICh1bml0bGVzcyl9ICRyYXRpbyBbMS4yNV1cbi8vLyAgIFRoZSByYXRpbyB0aGUgc2NhbGUgaXMgYnVpbHQgb24uIENhbiBhbHNvIGJlIHNldCBnbG9iYWxseSB1c2luZyB0aGVcbi8vLyAgIGBtb2R1bGFyLXNjYWxlLXJhdGlvYCBrZXkgaW4gdGhlIEJvdXJib24gc2V0dGluZ3MuXG4vLy9cbi8vLyBAcmV0dXJuIHtudW1iZXIgKHdpdGggdW5pdCl9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGZvbnQtc2l6ZTogbW9kdWxhci1zY2FsZSgyKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LXNpemU6IDEuNTYyNWVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IG1vZHVsYXItc2NhbGUoMywgMmVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDMuOTA2MjVlbTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZm9udC1zaXplOiBtb2R1bGFyLXNjYWxlKDMsIDFlbSAxLjZlbSwgJG1ham9yLXNldmVudGgpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGZvbnQtc2l6ZTogM2VtO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLy8gR2xvYmFsbHkgY2hhbmdlIHRoZSBiYXNlIHJhdGlvXG4vLy8gICAkYm91cmJvbjogKFxuLy8vICAgICBcIm1vZHVsYXItc2NhbGUtcmF0aW9cIjogMS4yLFxuLy8vICAgKTtcbi8vL1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LXNpemU6IG1vZHVsYXItc2NhbGUoMyk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZm9udC1zaXplOiAxLjcyOGVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBfZmV0Y2gtYm91cmJvbi1zZXR0aW5nXG5cbkBmdW5jdGlvbiBtb2R1bGFyLXNjYWxlKFxuICAkaW5jcmVtZW50LFxuICAkdmFsdWU6IF9mZXRjaC1ib3VyYm9uLXNldHRpbmcoXCJtb2R1bGFyLXNjYWxlLWJhc2VcIiksXG4gICRyYXRpbzogX2ZldGNoLWJvdXJib24tc2V0dGluZyhcIm1vZHVsYXItc2NhbGUtcmF0aW9cIilcbikge1xuICAkdjE6IG50aCgkdmFsdWUsIDEpO1xuICAkdjI6IG50aCgkdmFsdWUsIGxlbmd0aCgkdmFsdWUpKTtcbiAgJHZhbHVlOiAkdjE7XG5cbiAgLy8gc2NhbGUgJHYyIHRvIGp1c3QgYWJvdmUgJHYxXG4gIEB3aGlsZSAkdjIgPiAkdjEge1xuICAgICR2MjogKCR2MiAvICRyYXRpbyk7IC8vIHdpbGwgYmUgb2ZmLWJ5LTFcbiAgfVxuICBAd2hpbGUgJHYyIDwgJHYxIHtcbiAgICAkdjI6ICgkdjIgKiAkcmF0aW8pOyAvLyB3aWxsIGZpeCBvZmYtYnktMVxuICB9XG5cbiAgLy8gY2hlY2sgQUZURVIgc2NhbGluZyAkdjIgdG8gcHJldmVudCBkb3VibGUtY291bnRpbmcgY29ybmVyLWNhc2VcbiAgJGRvdWJsZS1zdHJhbmRlZDogJHYyID4gJHYxO1xuXG4gIEBpZiAkaW5jcmVtZW50ID4gMCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkaW5jcmVtZW50IHtcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxICogJHJhdGlvKSA+ICR2MiB7XG4gICAgICAgICR2YWx1ZTogJHYyO1xuICAgICAgICAkdjI6ICgkdjIgKiAkcmF0aW8pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR2MTogKCR2MSAqICRyYXRpbyk7XG4gICAgICAgICR2YWx1ZTogJHYxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkaW5jcmVtZW50IDwgMCB7XG4gICAgLy8gYWRqdXN0ICR2MiB0byBqdXN0IGJlbG93ICR2MVxuICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIHtcbiAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tICRpbmNyZW1lbnQgdGhyb3VnaCAtMSB7XG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAvICRyYXRpbykgPCAkdjIge1xuICAgICAgICAkdmFsdWU6ICR2MjtcbiAgICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdjE6ICgkdjEgLyAkcmF0aW8pO1xuICAgICAgICAkdmFsdWU6ICR2MTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE91dHB1dHMgdGhlIGBvdmVyZmxvdy13cmFwYCBwcm9wZXJ0eSBhbmQgaXRzIGxlZ2FjeSBuYW1lIGB3b3JkLXdyYXBgIHRvXG4vLy8gc3VwcG9ydCBicm93c2VycyB0aGF0IGRvIG5vdCB5ZXQgdXNlIGBvdmVyZmxvdy13cmFwYC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7c3RyaW5nfSAkd3JhcCBbYnJlYWstd29yZF1cbi8vLyAgIEFjY2VwdGVkIENTUyB2YWx1ZXMgYXJlIGBub3JtYWxgLCBgYnJlYWstd29yZGAsIGBpbmhlcml0YCwgYGluaXRpYWxgLFxuLy8vICAgb3IgYHVuc2V0YC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC53cmFwcGVyIHtcbi8vLyAgICAgQGluY2x1ZGUgb3ZlcmZsb3ctd3JhcDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLndyYXBwZXIge1xuLy8vICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4vLy8gICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4vLy8gICB9XG5cbkBtaXhpbiBvdmVyZmxvdy13cmFwKCR3cmFwOiBicmVhay13b3JkKSB7XG4gIHdvcmQtd3JhcDogJHdyYXA7XG4gIG92ZXJmbG93LXdyYXA6ICR3cmFwO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBjb25jaXNlIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBwYWRkaW5nYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhXG4vLy8gYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAYXJndW1lbnQge2xpc3R9ICR2YWx1ZXNcbi8vLyAgIExpc3Qgb2YgcGFkZGluZyB2YWx1ZXM7IGFjY2VwdHMgQ1NTIHNob3J0aGFuZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50LW9uZSB7XG4vLy8gICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCAxcmVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQtb25lIHtcbi8vLyAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuLy8vICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQtdHdvIHtcbi8vLyAgICAgQGluY2x1ZGUgcGFkZGluZygxMHZoIG51bGwgMTBweCA1JSk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50LXR3byB7XG4vLy8gICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuLy8vICAgICBwYWRkaW5nLWxlZnQ6IDUlO1xuLy8vICAgICBwYWRkaW5nLXRvcDogMTB2aDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gX2RpcmVjdGlvbmFsLXByb3BlcnR5XG5cbkBtaXhpbiBwYWRkaW5nKCR2YWx1ZXMpIHtcbiAgQGluY2x1ZGUgX2RpcmVjdGlvbmFsLXByb3BlcnR5KHBhZGRpbmcsIG51bGwsICR2YWx1ZXMpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBjb25jaXNlLCBvbmUtbGluZSBtZXRob2QgZm9yIHNldHRpbmcgYW4gZWxlbWVudOKAmXMgcG9zaXRpb25pbmdcbi8vLyBwcm9wZXJ0aWVzOiBgcG9zaXRpb25gLCBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAgYW5kIGBsZWZ0YC4gVXNlIGEgYG51bGxgXG4vLy8gdmFsdWUgdG8g4oCcc2tpcOKAnSBhbiBlZGdlIG9mIHRoZSBib3guXG4vLy9cbi8vLyBAYXJndW1lbnQge3N0cmluZ30gJHBvc2l0aW9uXG4vLy8gICBBIENTUyBwb3NpdGlvbiB2YWx1ZS5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bGlzdH0gJGJveC1lZGdlLXZhbHVlc1xuLy8vICAgTGlzdCBvZiBsZW5ndGhzOyBhY2NlcHRzIENTUyBzaG9ydGhhbmQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCAwIG51bGwgbnVsbCAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBsZWZ0OiAxMGVtO1xuLy8vICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4vLy8gICAgIHRvcDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDApO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vLyAgICAgdG9wOiAwO1xuLy8vICAgICByaWdodDogMDtcbi8vLyAgICAgYm90dG9tOiAwO1xuLy8vICAgICBsZWZ0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBfaXMtbGVuZ3RoXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IF91bnBhY2stc2hvcnRoYW5kXG5cbkBtaXhpbiBwb3NpdGlvbihcbiAgJHBvc2l0aW9uLFxuICAkYm94LWVkZ2UtdmFsdWVzXG4pIHtcbiAgJGJveC1lZGdlLXZhbHVlczogX3VucGFjay1zaG9ydGhhbmQoJGJveC1lZGdlLXZhbHVlcyk7XG4gICRvZmZzZXRzOiAoXG4gICAgdG9wOiAgICBudGgoJGJveC1lZGdlLXZhbHVlcywgMSksXG4gICAgcmlnaHQ6ICBudGgoJGJveC1lZGdlLXZhbHVlcywgMiksXG4gICAgYm90dG9tOiBudGgoJGJveC1lZGdlLXZhbHVlcywgMyksXG4gICAgbGVmdDogICBudGgoJGJveC1lZGdlLXZhbHVlcywgNCksXG4gICk7XG5cbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcblxuICBAZWFjaCAkb2Zmc2V0LCAkdmFsdWUgaW4gJG9mZnNldHMge1xuICAgIEBpZiBfaXMtbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgI3skb2Zmc2V0fTogJHZhbHVlO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gR2VuZXJhdGVzIHZlbmRvciBwcmVmaXhlcy5cbi8vL1xuLy8vIEBhcmd1bWVudCB7c3RyaW5nfSAkcHJvcGVydHlcbi8vLyAgIFByb3BlcnR5IHRvIHByZWZpeC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7c3RyaW5nfSAkdmFsdWVcbi8vLyAgIFZhbHVlIHRvIHVzZS5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bGlzdH0gJHByZWZpeGVzXG4vLy8gICBWZW5kb3IgcHJlZml4ZXMgdG8gb3V0cHV0LlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwcmVmaXhlcihhcHBlYXJhbmNlLCBub25lLCAoXCJ3ZWJraXRcIiwgXCJtb3pcIikpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbi8vLyAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuLy8vICAgICBhcHBlYXJhbmNlOiBub25lO1xuLy8vICAgfVxuLy8vXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG5cbkBtaXhpbiBwcmVmaXhlcihcbiAgJHByb3BlcnR5LFxuICAkdmFsdWUsXG4gICRwcmVmaXhlczogKClcbikge1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgI3tcIi1cIiArICRwcmVmaXggKyBcIi1cIiArICRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1peGVzIGEgY29sb3Igd2l0aCBibGFjay5cbi8vL1xuLy8vIEBhcmd1bWVudCB7Y29sb3J9ICRjb2xvclxuLy8vXG4vLy8gQGFyZ3VtZW50IHtudW1iZXIgKHBlcmNlbnRhZ2UpfSAkcGVyY2VudFxuLy8vICAgVGhlIGFtb3VudCBvZiBibGFjayB0byBiZSBtaXhlZCBpbi5cbi8vL1xuLy8vIEByZXR1cm4ge2NvbG9yfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZSgjZmZiYjUyLCA2MCUpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjRhMjA7XG4vLy8gICB9XG5cbkBmdW5jdGlvbiBzaGFkZShcbiAgJGNvbG9yLFxuICAkcGVyY2VudFxuKSB7XG4gIEBpZiBub3QgX2lzLWNvbG9yKCRjb2xvcikge1xuICAgIEBlcnJvciBcImAjeyRjb2xvcn1gIGlzIG5vdCBhIHZhbGlkIGNvbG9yIGZvciB0aGUgYCRjb2xvcmAgYXJndW1lbnQgaW4gXCIgK1xuICAgICAgICAgICBcInRoZSBgc2hhZGVgIG1peGluLlwiO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIG1peCgjMDAwLCAkY29sb3IsICRwZXJjZW50KTtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU2V0cyB0aGUgYHdpZHRoYCBhbmQgYGhlaWdodGAgb2YgdGhlIGVsZW1lbnQgaW4gb25lIHN0YXRlbWVudC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bnVtYmVyICh3aXRoIHVuaXQpIHwgc3RyaW5nfSAkd2lkdGhcbi8vL1xuLy8vIEBhcmd1bWVudCB7bnVtYmVyICh3aXRoIHVuaXQpIHwgc3RyaW5nfSAkaGVpZ2h0IFskd2lkdGhdXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZmlyc3QtZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNpemUoMmVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmZpcnN0LWVsZW1lbnQge1xuLy8vICAgICB3aWR0aDogMmVtO1xuLy8vICAgICBoZWlnaHQ6IDJlbTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNpemUoYXV0bywgMTBlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XG4vLy8gICAgIHdpZHRoOiBhdXRvO1xuLy8vICAgICBoZWlnaHQ6IDEwZW07XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IF9pcy1zaXplXG5cbkBtaXhpbiBzaXplKFxuICAkd2lkdGgsXG4gICRoZWlnaHQ6ICR3aWR0aFxuKSB7XG4gIEBpZiBfaXMtc2l6ZSgkaGVpZ2h0KSB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgXCJgI3skaGVpZ2h0fWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCRoZWlnaHRgIGFyZ3VtZW50IFwiICtcbiAgICAgICAgICAgXCJpbiB0aGUgYHNpemVgIG1peGluLlwiO1xuICB9XG5cbiAgQGlmIF9pcy1zaXplKCR3aWR0aCkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcImAjeyR3aWR0aH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkd2lkdGhgIGFyZ3VtZW50IFwiICtcbiAgICAgICAgICAgXCJpbiB0aGUgYHNpemVgIG1peGluLlwiO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBTdHJpcHMgdGhlIHVuaXQgZnJvbSBhIG51bWJlci5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bnVtYmVyfSAkdmFsdWVcbi8vL1xuLy8vIEByZXR1cm4ge251bWJlciAodW5pdGxlc3MpfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgJGRpbWVuc2lvbjogc3RyaXAtdW5pdCgxMGVtKTtcbi8vL1xuLy8vICAgLy8gT3V0cHV0XG4vLy8gICAkZGltZW5zaW9uOiAxMDtcblxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJHZhbHVlKSB7XG4gIEByZXR1cm4gKCR2YWx1ZSAvICgkdmFsdWUgKiAwICsgMSkpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8vXG4vLy8gQHR5cGUgbGlzdFxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBfYXNzaWduLWlucHV0c1xuLy8vXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkX3RleHQtaW5wdXRzLWxpc3Rcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBhbGwgX3RleHQtYmFzZWRfIEhUTUwgaW5wdXRzLiBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0XG4vLy8gaW50ZXJwb2xhdGUgdGhlIHZhcmlhYmxlIChgI3t9YCkgdG8gdXNlIGl0IGFzIGEgc2VsZWN0b3IuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHN9IHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgW3R5cGU9J2NvbG9yJ10sXG4vLy8gICBbdHlwZT0nZGF0ZSddLFxuLy8vICAgW3R5cGU9J2RhdGV0aW1lJ10sXG4vLy8gICBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSxcbi8vLyAgIFt0eXBlPSdlbWFpbCddLFxuLy8vICAgW3R5cGU9J21vbnRoJ10sXG4vLy8gICBbdHlwZT0nbnVtYmVyJ10sXG4vLy8gICBbdHlwZT0ncGFzc3dvcmQnXSxcbi8vLyAgIFt0eXBlPSdzZWFyY2gnXSxcbi8vLyAgIFt0eXBlPSd0ZWwnXSxcbi8vLyAgIFt0eXBlPSd0ZXh0J10sXG4vLy8gICBbdHlwZT0ndGltZSddLFxuLy8vICAgW3R5cGU9J3VybCddLFxuLy8vICAgW3R5cGU9J3dlZWsnXSxcbi8vLyAgIGlucHV0Om5vdChbdHlwZV0pLFxuLy8vICAgdGV4dGFyZWEge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuLy8vICAgfVxuXG4kYWxsLXRleHQtaW5wdXRzOiBfYXNzaWduLWlucHV0cygkX3RleHQtaW5wdXRzLWxpc3QpO1xuXG4vLy8gQSBsaXN0IG9mIGFsbCBfdGV4dC1iYXNlZF8gSFRNTCBpbnB1dHMgd2l0aCB0aGUgYDphY3RpdmVgIHBzZXVkby1jbGFzc1xuLy8vIGFwcGxpZWQuIFBsZWFzZSBub3RlIHRoYXQgeW91IG11c3QgaW50ZXJwb2xhdGUgdGhlIHZhcmlhYmxlIChgI3t9YCkgdG8gdXNlXG4vLy8gaXQgYXMgYSBzZWxlY3Rvci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1hY3RpdmV9IHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgW3R5cGU9J2NvbG9yJ106YWN0aXZlLFxuLy8vICAgW3R5cGU9J2RhdGUnXTphY3RpdmUsXG4vLy8gICBbdHlwZT0nZGF0ZXRpbWUnXTphY3RpdmUsXG4vLy8gICBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTphY3RpdmUsXG4vLy8gICBbdHlwZT0nZW1haWwnXTphY3RpdmUsXG4vLy8gICBbdHlwZT0nbW9udGgnXTphY3RpdmUsXG4vLy8gICBbdHlwZT0nbnVtYmVyJ106YWN0aXZlLFxuLy8vICAgW3R5cGU9J3Bhc3N3b3JkJ106YWN0aXZlLFxuLy8vICAgW3R5cGU9J3NlYXJjaCddOmFjdGl2ZSxcbi8vLyAgIFt0eXBlPSd0ZWwnXTphY3RpdmUsXG4vLy8gICBbdHlwZT0ndGV4dCddOmFjdGl2ZSxcbi8vLyAgIFt0eXBlPSd0aW1lJ106YWN0aXZlLFxuLy8vICAgW3R5cGU9J3VybCddOmFjdGl2ZSxcbi8vLyAgIFt0eXBlPSd3ZWVrJ106YWN0aXZlLFxuLy8vICAgaW5wdXQ6bm90KFt0eXBlXSk6YWN0aXZlLFxuLy8vICAgdGV4dGFyZWE6YWN0aXZlIHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbi8vLyAgIH1cblxuJGFsbC10ZXh0LWlucHV0cy1hY3RpdmU6IF9hc3NpZ24taW5wdXRzKCRfdGV4dC1pbnB1dHMtbGlzdCwgYWN0aXZlKTtcblxuLy8vIEEgbGlzdCBvZiBhbGwgX3RleHQtYmFzZWRfIEhUTUwgaW5wdXRzIHdpdGggdGhlIGA6Zm9jdXNgIHBzZXVkby1jbGFzc1xuLy8vIGFwcGxpZWQuIFBsZWFzZSBub3RlIHRoYXQgeW91IG11c3QgaW50ZXJwb2xhdGUgdGhlIHZhcmlhYmxlIChgI3t9YCkgdG8gdXNlXG4vLy8gaXQgYXMgYSBzZWxlY3Rvci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1mb2N1c30ge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTU2NWMwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICBbdHlwZT0nY29sb3InXTpmb2N1cyxcbi8vLyAgIFt0eXBlPSdkYXRlJ106Zm9jdXMsXG4vLy8gICBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cyxcbi8vLyAgIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLFxuLy8vICAgW3R5cGU9J2VtYWlsJ106Zm9jdXMsXG4vLy8gICBbdHlwZT0nbW9udGgnXTpmb2N1cyxcbi8vLyAgIFt0eXBlPSdudW1iZXInXTpmb2N1cyxcbi8vLyAgIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLFxuLy8vICAgW3R5cGU9J3NlYXJjaCddOmZvY3VzLFxuLy8vICAgW3R5cGU9J3RlbCddOmZvY3VzLFxuLy8vICAgW3R5cGU9J3RleHQnXTpmb2N1cyxcbi8vLyAgIFt0eXBlPSd0aW1lJ106Zm9jdXMsXG4vLy8gICBbdHlwZT0ndXJsJ106Zm9jdXMsXG4vLy8gICBbdHlwZT0nd2VlayddOmZvY3VzLFxuLy8vICAgaW5wdXQ6bm90KFt0eXBlXSk6Zm9jdXMsXG4vLy8gICB0ZXh0YXJlYTpmb2N1cyB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNTY1YzA7XG4vLy8gICB9XG5cbiRhbGwtdGV4dC1pbnB1dHMtZm9jdXM6IF9hc3NpZ24taW5wdXRzKCRfdGV4dC1pbnB1dHMtbGlzdCwgZm9jdXMpO1xuXG4vLy8gQSBsaXN0IG9mIGFsbCBfdGV4dC1iYXNlZF8gSFRNTCBpbnB1dHMgd2l0aCB0aGUgYDpob3ZlcmAgcHNldWRvLWNsYXNzXG4vLy8gYXBwbGllZC4gUGxlYXNlIG5vdGUgdGhhdCB5b3UgbXVzdCBpbnRlcnBvbGF0ZSB0aGUgdmFyaWFibGUgKGAje31gKSB0byB1c2Vcbi8vLyBpdCBhcyBhIHNlbGVjdG9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWhvdmVyfSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIFt0eXBlPSdjb2xvciddOmhvdmVyLFxuLy8vICAgW3R5cGU9J2RhdGUnXTpob3Zlcixcbi8vLyAgIFt0eXBlPSdkYXRldGltZSddOmhvdmVyLFxuLy8vICAgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106aG92ZXIsXG4vLy8gICBbdHlwZT0nZW1haWwnXTpob3Zlcixcbi8vLyAgIFt0eXBlPSdtb250aCddOmhvdmVyLFxuLy8vICAgW3R5cGU9J251bWJlciddOmhvdmVyLFxuLy8vICAgW3R5cGU9J3Bhc3N3b3JkJ106aG92ZXIsXG4vLy8gICBbdHlwZT0nc2VhcmNoJ106aG92ZXIsXG4vLy8gICBbdHlwZT0ndGVsJ106aG92ZXIsXG4vLy8gICBbdHlwZT0ndGV4dCddOmhvdmVyLFxuLy8vICAgW3R5cGU9J3RpbWUnXTpob3Zlcixcbi8vLyAgIFt0eXBlPSd1cmwnXTpob3Zlcixcbi8vLyAgIFt0eXBlPSd3ZWVrJ106aG92ZXIsXG4vLy8gICBpbnB1dDpub3QoW3R5cGVdKTpob3Zlcixcbi8vLyAgIHRleHRhcmVhOmhvdmVyIHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbi8vLyAgIH1cblxuJGFsbC10ZXh0LWlucHV0cy1ob3ZlcjogX2Fzc2lnbi1pbnB1dHMoJF90ZXh0LWlucHV0cy1saXN0LCBob3Zlcik7XG5cbi8vLyBBIGxpc3Qgb2YgYWxsIF90ZXh0LWJhc2VkXyBIVE1MIGlucHV0cyB3aXRoIHRoZSBgOmludmFsaWRgIHBzZXVkby1jbGFzc1xuLy8vIGFwcGxpZWQuIFBsZWFzZSBub3RlIHRoYXQgeW91IG11c3QgaW50ZXJwb2xhdGUgdGhlIHZhcmlhYmxlIChgI3t9YCkgdG8gdXNlXG4vLy8gaXQgYXMgYSBzZWxlY3Rvci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1pbnZhbGlkfSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMGY7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIFt0eXBlPSdjb2xvciddOmludmFsaWQsXG4vLy8gICBbdHlwZT0nZGF0ZSddOmludmFsaWQsXG4vLy8gICBbdHlwZT0nZGF0ZXRpbWUnXTppbnZhbGlkLFxuLy8vICAgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106aW52YWxpZCxcbi8vLyAgIFt0eXBlPSdlbWFpbCddOmludmFsaWQsXG4vLy8gICBbdHlwZT0nbW9udGgnXTppbnZhbGlkLFxuLy8vICAgW3R5cGU9J251bWJlciddOmludmFsaWQsXG4vLy8gICBbdHlwZT0ncGFzc3dvcmQnXTppbnZhbGlkLFxuLy8vICAgW3R5cGU9J3NlYXJjaCddOmludmFsaWQsXG4vLy8gICBbdHlwZT0ndGVsJ106aW52YWxpZCxcbi8vLyAgIFt0eXBlPSd0ZXh0J106aW52YWxpZCxcbi8vLyAgIFt0eXBlPSd0aW1lJ106aW52YWxpZCxcbi8vLyAgIFt0eXBlPSd1cmwnXTppbnZhbGlkLFxuLy8vICAgW3R5cGU9J3dlZWsnXTppbnZhbGlkLFxuLy8vICAgaW5wdXQ6bm90KFt0eXBlXSk6aW52YWxpZCxcbi8vLyAgIHRleHRhcmVhOmludmFsaWQge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmO1xuLy8vICAgfVxuXG4kYWxsLXRleHQtaW5wdXRzLWludmFsaWQ6IF9hc3NpZ24taW5wdXRzKCRfdGV4dC1pbnB1dHMtbGlzdCwgaW52YWxpZCk7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIFNwYWNlQWZ0ZXJDb21tYSwgVW5uZWNlc3NhcnlNYW50aXNzYSwgVHJhaWxpbmdaZXJvXG5cbi8vLy9cbi8vLyBDU1MgY3ViaWMtYmV6aWVyIHRpbWluZyBmdW5jdGlvbnMuXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dvby5nbC9wOHU2U0tcbi8vL1xuLy8vIEB0eXBlIHN0cmluZ1xuLy8vL1xuXG4kZWFzZS1pbi1xdWFkOiAgICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDg1LCAwLjY4MCwgMC41MzApO1xuJGVhc2UtaW4tY3ViaWM6ICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiRlYXNlLWluLXF1YXJ0OiAgICAgY3ViaWMtYmV6aWVyKDAuODk1LCAgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XG4kZWFzZS1pbi1xdWludDogICAgIGN1YmljLWJlemllcigwLjc1NSwgIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuJGVhc2UtaW4tc2luZTogICAgICBjdWJpYy1iZXppZXIoMC40NzAsICAwLjAwMCwgMC43NDUsIDAuNzE1KTtcbiRlYXNlLWluLWV4cG86ICAgICAgY3ViaWMtYmV6aWVyKDAuOTUwLCAgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XG4kZWFzZS1pbi1jaXJjOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xuJGVhc2UtaW4tYmFjazogICAgICBjdWJpYy1iZXppZXIoMC42MDAsIC0wLjI4MCwgMC43MzUsIDAuMDQ1KTtcblxuJGVhc2Utb3V0LXF1YWQ6ICAgICBjdWJpYy1iZXppZXIoMC4yNTAsICAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcbiRlYXNlLW91dC1jdWJpYzogICAgY3ViaWMtYmV6aWVyKDAuMjE1LCAgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4kZWFzZS1vdXQtcXVhcnQ6ICAgIGN1YmljLWJlemllcigwLjE2NSwgIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xuJGVhc2Utb3V0LXF1aW50OiAgICBjdWJpYy1iZXppZXIoMC4yMzAsICAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcbiRlYXNlLW91dC1zaW5lOiAgICAgY3ViaWMtYmV6aWVyKDAuMzkwLCAgMC41NzUsIDAuNTY1LCAxLjAwMCk7XG4kZWFzZS1vdXQtZXhwbzogICAgIGN1YmljLWJlemllcigwLjE5MCwgIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xuJGVhc2Utb3V0LWNpcmM6ICAgICBjdWJpYy1iZXppZXIoMC4wNzUsICAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcbiRlYXNlLW91dC1iYWNrOiAgICAgY3ViaWMtYmV6aWVyKDAuMTc1LCAgMC44ODUsIDAuMzIwLCAxLjI3NSk7XG5cbiRlYXNlLWluLW91dC1xdWFkOiAgY3ViaWMtYmV6aWVyKDAuNDU1LCAgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XG4kZWFzZS1pbi1vdXQtY3ViaWM6IGN1YmljLWJlemllcigwLjY0NSwgIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXF1YXJ0OiBjdWJpYy1iZXppZXIoMC43NzAsICAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1xdWludDogY3ViaWMtYmV6aWVyKDAuODYwLCAgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtc2luZTogIGN1YmljLWJlemllcigwLjQ0NSwgIDAuMDUwLCAwLjU1MCwgMC45NTApO1xuJGVhc2UtaW4tb3V0LWV4cG86ICBjdWJpYy1iZXppZXIoMS4wMDAsICAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1jaXJjOiAgY3ViaWMtYmV6aWVyKDAuNzg1LCAgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XG4kZWFzZS1pbi1vdXQtYmFjazogIGN1YmljLWJlemllcigwLjY4MCwgLTAuNTUwLCAwLjI2NSwgMS41NTApO1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gTWl4ZXMgYSBjb2xvciB3aXRoIHdoaXRlLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtjb2xvcn0gJGNvbG9yXG4vLy9cbi8vLyBAYXJndW1lbnQge251bWJlciAocGVyY2VudGFnZSl9ICRwZXJjZW50XG4vLy8gICBUaGUgYW1vdW50IG9mIHdoaXRlIHRvIGJlIG1peGVkIGluLlxuLy8vXG4vLy8gQHJldHVybiB7Y29sb3J9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHRpbnQoIzZlY2FhNiwgNDAlKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYThkZmM5O1xuLy8vICAgfVxuXG5AZnVuY3Rpb24gdGludChcbiAgJGNvbG9yLFxuICAkcGVyY2VudFxuKSB7XG4gIEBpZiBub3QgX2lzLWNvbG9yKCRjb2xvcikge1xuICAgIEBlcnJvciBcImAjeyRjb2xvcn1gIGlzIG5vdCBhIHZhbGlkIGNvbG9yIGZvciB0aGUgYCRjb2xvcmAgYXJndW1lbnQgaW4gXCIgK1xuICAgICAgICAgICBcInRoZSBgdGludGAgbWl4aW4uXCI7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gbWl4KCNmZmYsICRjb2xvciwgJHBlcmNlbnQpO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHZW5lcmF0ZXMgYSB0cmlhbmdsZSBwb2ludGluZyBpbiBhIHNwZWNpZmllZCBkaXJlY3Rpb24uXG4vLy9cbi8vLyBAYXJndW1lbnQge3N0cmluZ30gJGRpcmVjdGlvblxuLy8vICAgVGhlIGRpcmVjdGlvbiB0aGUgdHJpYW5nbGUgc2hvdWxkIHBvaW50LiBBY2NlcHRzIGB1cGAsIGB1cC1yaWdodGAsXG4vLy8gICBgcmlnaHRgLCBgZG93bi1yaWdodGAsIGBkb3duYCwgYGRvd24tbGVmdGAsIGBsZWZ0YCBvciBgdXAtbGVmdGAuXG4vLy9cbi8vLyBAYXJndW1lbnQge251bWJlciAod2l0aCB1bml0KX0gJHdpZHRoXG4vLy8gICBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy9cbi8vLyBAYXJndW1lbnQge251bWJlciAod2l0aCB1bml0KX0gJGhlaWdodFxuLy8vICAgSGVpZ2h0IG9mIHRoZSB0cmlhbmdsZS5cbi8vL1xuLy8vIEBhcmd1bWVudCB7Y29sb3J9ICRjb2xvclxuLy8vICAgQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICAmOjpiZWZvcmUge1xuLy8vICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKFwidXBcIiwgMnJlbSwgMXJlbSwgI2IyNWM5Yyk7XG4vLy8gICAgICAgY29udGVudDogXCJcIjtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudDo6YmVmb3JlIHtcbi8vLyAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vLyAgICAgaGVpZ2h0OiAwO1xuLy8vICAgICB3aWR0aDogMDtcbi8vLyAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjYjI1YzljO1xuLy8vICAgICBib3JkZXItd2lkdGg6IDAgMXJlbSAxcmVtO1xuLy8vICAgICBjb250ZW50OiBcIlwiO1xuLy8vICAgfVxuXG5AbWl4aW4gdHJpYW5nbGUoXG4gICRkaXJlY3Rpb24sXG4gICR3aWR0aCxcbiAgJGhlaWdodCxcbiAgJGNvbG9yXG4pIHtcbiAgQGlmIG5vdCBpbmRleChcbiAgICBcInVwXCIgXCJ1cC1yaWdodFwiIFwicmlnaHRcIiBcImRvd24tcmlnaHRcIiBcImRvd25cIiBcImRvd24tbGVmdFwiIFwibGVmdFwiIFwidXAtbGVmdFwiLFxuICAgICRkaXJlY3Rpb25cbiAgKSB7XG4gICAgQGVycm9yIFwiRGlyZWN0aW9uIG11c3QgYmUgYHVwYCwgYHVwLXJpZ2h0YCwgYHJpZ2h0YCwgYGRvd24tcmlnaHRgLCBcIiArXG4gICAgICAgICAgIFwiYGRvd25gLCBgZG93bi1sZWZ0YCwgYGxlZnRgIG9yIGB1cC1sZWZ0YC5cIjtcbiAgfSBAZWxzZSBpZiBub3QgX2lzLWNvbG9yKCRjb2xvcikge1xuICAgIEBlcnJvciBcImAjeyRjb2xvcn1gIGlzIG5vdCBhIHZhbGlkIGNvbG9yIGZvciB0aGUgYCRjb2xvcmAgYXJndW1lbnQgaW4gXCIgK1xuICAgICAgICAgICBcInRoZSBgdHJpYW5nbGVgIG1peGluLlwiO1xuICB9IEBlbHNlIHtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IFwidXBcIiB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRjb2xvcjtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHdpZHRoIC8gMikgJGhlaWdodDtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJ1cC1yaWdodFwiIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJGNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICR3aWR0aCAkd2lkdGggMDtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJyaWdodFwiIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGNvbG9yO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJGhlaWdodCAvIDIpIDAgKCRoZWlnaHQgLyAyKSAkd2lkdGg7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwiZG93bi1yaWdodFwiIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGNvbG9yO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgJHdpZHRoICR3aWR0aDtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJkb3duXCIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgKCR3aWR0aCAvIDIpIDA7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwiZG93bi1sZWZ0XCIge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkY29sb3I7XG4gICAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAwIDAgJHdpZHRoO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImxlZnRcIiB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICRjb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRoZWlnaHQgLyAyKSAkd2lkdGggKCRoZWlnaHQgLyAyKSAwO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcInVwLWxlZnRcIiB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci13aWR0aDogJHdpZHRoICR3aWR0aCAwIDA7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHZW5lcmF0ZXMgdmVuZG9yIHByZWZpeGVzIGZvciB2YWx1ZXMuXG4vLy9cbi8vLyBAYXJndW1lbnQge3N0cmluZ30gJHByb3BlcnR5XG4vLy8gICBQcm9wZXJ0eSB0byB1c2UuXG4vLy9cbi8vLyBAYXJndW1lbnQge3N0cmluZ30gJHZhbHVlXG4vLy8gICBWYWx1ZSB0byBwcmVmaXguXG4vLy9cbi8vLyBAYXJndW1lbnQge2xpc3R9ICRwcmVmaXhlc1xuLy8vICAgVmVuZG9yIHByZWZpeGVzIHRvIG91dHB1dC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgdmFsdWUtcHJlZml4ZXIoY3Vyc29yLCBncmFiLCAoXCJ3ZWJraXRcIiwgXCJtb3pcIikpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xuLy8vICAgICBjdXJzb3I6IC1tb3otZ3JhYjtcbi8vLyAgICAgY3Vyc29yOiBncmFiO1xuLy8vICAgfVxuLy8vXG4vLy8gQGF1dGhvciBNYXR0aGV3IFRvYmlhc3pcblxuQG1peGluIHZhbHVlLXByZWZpeGVyKFxuICAkcHJvcGVydHksXG4gICR2YWx1ZSxcbiAgJHByZWZpeGVzOiAoKVxuKSB7XG4gIEBlYWNoICRwcmVmaXggaW4gJHByZWZpeGVzIHtcbiAgICAjeyRwcm9wZXJ0eX06ICN7XCItXCIgKyAkcHJlZml4ICsgXCItXCIgKyAkdmFsdWV9O1xuICB9XG4gICN7JHByb3BlcnR5fTogJHZhbHVlO1xufVxuIiwiLy8gQml0dGVycyAxLjMuMlxuLy8gaHR0cDovL2JpdHRlcnMuYm91cmJvbi5pb1xuLy8gQ29weXJpZ2h0IDIwMTMtMjAxNSB0aG91Z2h0Ym90LCBpbmMuXG4vLyBNSVQgTGljZW5zZVxuXG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiYnV0dG9uc1wiO1xuQGltcG9ydCBcImZvcm1zXCI7XG5AaW1wb3J0IFwibGF5b3V0XCI7XG5AaW1wb3J0IFwibG9hZGluZ1wiO1xuQGltcG9ydCBcImxpc3RzXCI7XG5AaW1wb3J0IFwibWVkaWFcIjtcbkBpbXBvcnQgXCJ0YWJsZXNcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5XCI7XG4iLCIvLyBCcmVha3BvaW50c1xuJG1lZGl1bS1zY3JlZW46IDYwMHB4O1xuJGxhcmdlLXNjcmVlbjogOTAwcHg7XG5cbi8vIFR5cG9ncmFwaHlcbiRmb250LXN0YWNrOiBcIk9wZW4gU2Fuc1wiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO1xuJGJhc2UtZm9udC1mYW1pbHk6ICRmb250LXN0YWNrO1xuJGhlYWRpbmctZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuXG4vLyBGb250IFNpemVzXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIExpbmUgaGVpZ2h0XG4kYmFzZS1saW5lLWhlaWdodDogMS41O1xuJGhlYWRpbmctbGluZS1oZWlnaHQ6IDEuMjtcblxuLy8gT3RoZXIgU2l6ZXNcbiRiYXNlLWJvcmRlci1yYWRpdXM6IDNweDtcbiRiYXNlLXNwYWNpbmc6ICRiYXNlLWxpbmUtaGVpZ2h0ICogMWVtO1xuJHNtYWxsLXNwYWNpbmc6ICRiYXNlLXNwYWNpbmcgLyAyO1xuJGJhc2Utei1pbmRleDogMDtcblxuLy8gQ29sb3JzXG4kYmx1ZTogIzIzM2E3ODtcbiRibHVlLXNreTogIzM3YzBmNjtcbiRibHVlLXNreS1saWdodDogbGlnaHRlbigkYmx1ZS1za3ksIDMlKTtcbiRyZWQ6ICNkMjEzMzQ7XG4kZGFyay1ncmF5OiAjNDI0MjQyO1xuJG1lZGl1bS1ncmF5OiAjOTU5NTk1O1xuJGdyYXk6ICNjY2M7XG4kZ3JlZW46ICMxZDg1MDI7XG4kbGlnaHQtZ3JheTogI2Q1ZDVkNTtcbiR3aGl0ZTogI2ZmZjtcbiRibGFjazogIzAwMDtcblxuLy8gQnJhbmQgY29sb3JzXG4kY29sb3ItYmFja2dyb3VuZDogI2U2ZjFmNTtcbiRjb2xvci1icmFuZDogJGJsdWU7IC8qIGJkLWJsdWUgKi9cbiRjb2xvci1icmFuZC1ob3ZlcjogIzNmNjlkOTtcbiRjb2xvci1icmFuZC1tZWQ6ICM1MDdlYzA7IC8qIG1lZC1ibHVlICovXG4kY29sb3ItYnJhbmQtbGlnaHQ6ICM4Y2E3YzY7IC8qIGxnaHQtYmx1ZSAqL1xuJGNvbG9yLWJyYW5kLWxpZ2h0ZXI6ICNhYWMwZDc7IC8qIGxnaHRlciBibHVlICovXG4kY29sb3ItYnJhbmQtbGlnaHRlc3Q6ICM2ZGNmZjY7IC8qIGxnaHRlc3QtYmx1ZSAqL1xuJGNvbG9yLWJyYW5kLTgwOiByZ2JhKCRjb2xvci1icmFuZCwgMC44KTtcblxuJGNvbG9yLWFjY2VudDogJHJlZDsgLyogYmQtcmVkICovXG4kY29sb3ItYWNjZW50LW1lZDogc2hhZGUoJHJlZCwgNSUpOyAvKiBtZWQtcmVkICovXG4kY29sb3ItYWNjZW50LWRhcms6IHNoYWRlKCRyZWQsIDEwJSk7IC8qIGRyay1yZWQgKi9cbi8vIEZvbnQgQ29sb3JzXG4kYmFzZS1mb250LWNvbG9yOiAkZGFyay1ncmF5O1xuJGFjdGlvbi1jb2xvcjogJGNvbG9yLWJyYW5kO1xuJGNvbG9yLXR4dDogJGRhcmstZ3JheTtcbiRjb2xvci10eHQtbGdodDogJG1lZGl1bS1ncmF5O1xuJGNvbG9yLXR4dC1saWdodGVyOiAkZ3JheTtcbiRjb2xvci10eHQtbGlnaHRlc3Q6ICRsaWdodC1ncmF5O1xuJHdoaXRlOiAkd2hpdGU7XG4kY29sb3ItdHh0LWJsYWNrOiAkYmxhY2s7XG4kY29sb3ItdHh0LWNhbGxvdXQ6ICRncmVlbjtcbiRjb2xvci1tc2ctcG9zOiAkY29sb3ItYWNjZW50LWRhcms7XG5cbi8vIEJvcmRlclxuJGJhc2UtYm9yZGVyLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiRiYXNlLWJvcmRlcjogMXB4IHNvbGlkICRiYXNlLWJvcmRlci1jb2xvcjtcblxuLy8gQmFja2dyb3VuZCBDb2xvcnNcbiRiYXNlLWJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4kc2Vjb25kYXJ5LWJhY2tncm91bmQtY29sb3I6IHRpbnQoJGJhc2UtYm9yZGVyLWNvbG9yLCA3NSUpO1xuXG4vLyBGb3Jtc1xuJGZvcm0tYm94LXNoYWRvdzogaW5zZXQgMCAxcHggM3B4IHJnYmEoJGJsYWNrLCAwLjA2KTtcbiRmb3JtLWJveC1zaGFkb3ctZm9jdXM6ICRmb3JtLWJveC1zaGFkb3csIDAgMCA1cHggYWRqdXN0LWNvbG9yKCRhY3Rpb24tY29sb3IsICRsaWdodG5lc3M6IC01JSwgJGFscGhhOiAtMC4zKTtcblxuLy8gQW5pbWF0aW9uc1xuJGJhc2UtZHVyYXRpb246IDE1MG1zO1xuJGJhc2UtdGltaW5nOiBlYXNlO1xuXG5cblxuXG5cblxuJGNvbG9yLWJvcmRlci1ib3R0b206ICNkOWU3ZjA7XG4kY29sb3ItYm9yZGVyLWxlZnQ6ICNmMWY0ZmE7XG5cbiRhc3NldHNfcGF0aDogXCJcIjtcbiRhc3NldHNfdmVyc2lvbjogXCJcIjsiLCIjeyRhbGwtYnV0dG9uc30ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aW9uLWNvbG9yO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICRiYXNlLWJvcmRlci1yYWRpdXM7XG4gIGNvbG9yOiAjZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmc6ICRzbWFsbC1zcGFjaW5nICRiYXNlLXNwYWNpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRiYXNlLWR1cmF0aW9uICRiYXNlLXRpbWluZztcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCRhY3Rpb24tY29sb3IsIDIwJSk7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cblxuICAvLyAmOmRpc2FibGVkIHtcbiAgLy8gICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAvLyAgIG9wYWNpdHk6IDAuNTtcblxuICAvLyAgICY6aG92ZXIge1xuICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGlvbi1jb2xvcjtcbiAgLy8gICB9XG4gIC8vIH1cbiAgJi5zZWFyY2gtc3VibWl0IHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGNvbG9yLWFjY2VudCA0NSUsICRjb2xvci1hY2NlbnQtbWVkIDUyJSk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgNXB4IDVweCAwO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZmxleDogMSAwIGF1dG87XG4gICAgZm9udC1zaXplOiAxLjA1NmVtO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgLmNvbnRhaW5lci1zZWFyY2gtZmllbGQgICYge1xuICAgICAgZm9udC1zaXplOiAxLjMzM2VtO1xuICAgIH1cbiAgICAuY29udGFpbmVyLXN1Yi1jb2x1bW4tc2VhcmNoICYge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgLmlubmVyLWJpbGxib2FyZCAmIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42NjdlbTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhhYmxldCcpIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoZGFya2VuKCRjb2xvci1hY2NlbnQsIDUlKSA1MCUsIGRhcmtlbigkY29sb3ItYWNjZW50LW1lZCwgNSUpIDUxJSk7XG4gICAgfVxuICB9XG5cbiAgLmN0YUFkZCAmLFxuICAuY29udGFpblNlbGVjdEFsbCAmIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRibHVlLCAxMCUpO1xuICAgIH1cblxuICAgICYuYnRuR3JheSB7XG4gICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJG1lZGl1bS1ncmF5LCAxMCUpO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuYnRuQnVsa0J1eSxcbiAgJi5idG5CdWxrSW5xdWlyZSxcbiAgJi5idG5TdWJtaXRCdWxrSW5xdWlyZSB7XG4gICAgYm94LXNoYWRvdzogMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMjUpO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdpZHRoOiA0OSU7XG5cbiAgICAuaW5hY3RpdmUgJiB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZ3JheTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBjdXJzb3I6IHRleHQ7XG4gICAgICBvcGFjaXR5OiAuNTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuYnRuU3VibWl0QnVsa0lucXVpcmUsXG4gICYuY29udGludWVCcm93c2luZyB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gICYuYnRuQnVsa0J1eSxcbiAgJi5idG5TdWJtaXRCdWxrSW5xdWlyZSB7XG4gICAgYmFja2dyb3VuZDogJHJlZDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogZGFya2VuKCRyZWQsIDUlKTtcbiAgICB9XG4gIH1cbiAgJi5idG5CdWxrSW5xdWlyZSxcbiAgJi5jb250aW51ZUJyb3dzaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYnJhbmQtbWVkO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGNvbG9yLWJyYW5kLW1lZCwgNSUpO1xuICAgIH1cbiAgfVxufVxuXG4lYnRuLWRlZmF1bHQge1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAwLjgzM2VtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBvcGFjaXR5OiAuNztcbiAgcGFkZGluZzogLjVlbSAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW4tb3V0O1xuICB3aWR0aDogMTIwcHg7XG5cbiAgJjpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTNweCAwcHggcmdiYSgkYmxhY2ssIDAuMjUpLCAwIDVweCAxMHB4IHJnYmEoJGJsYWNrLCAwLjMpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0b3A6IC0xcHg7XG4gIH1cbn1cbi5idG4tYnV5LW5vdyB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRjb2xvci1hY2NlbnQgNDUlLCAkY29sb3ItYWNjZW50LW1lZCA1MiUpO1xuICAgIEBleHRlbmQgJWJ0bi1kZWZhdWx0O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhhYmxldCcpIHtcbiAgICAgIHdpZHRoOiA0OCU7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMXB4O1xuICAgIH1cblxuICAgIC5jb2x1bW4tY29udGFpbmVyLWRvbWFpbnMgJiB7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgZm9udC1zaXplOiAwLjcyMmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG9wYWNpdHk6IC43O1xuICAgICAgcGFkZGluZzogLjVlbSAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDExMHB4O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHksIDFzLCBsaW5lYXI7XG4gICAgICB9XG4gICAgfVxufVxuLmJ0bi1tYWtlLW9mZmVyIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRjb2xvci1icmFuZC1tZWQgNDUlLCBkYXJrZW4oJGNvbG9yLWJyYW5kLW1lZCwgMiUpIDUyJSk7XG4gIEBleHRlbmQgLmJ0bi1idXktbm93O1xufVxuLmJ0bi1yZXF1ZXN0LXByaWNlLFxuLmJ0bi1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkYmx1ZS1za3ktbGlnaHQgNDUlLCAkYmx1ZS1za3kgNTIlKTtcbiAgICBAZXh0ZW5kICVidG4tZGVmYXVsdDtcbn1cblxuLmJ0bi1yZXF1ZXN0LXByaWNlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJzw9cGhhYmxldCcpIHtcbiAgICB3aWR0aDogNDglO1xuICB9XG59XG4uYnRuLXNlY29uZGFyeSB7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgkYmxhY2ssIDAuMik7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIHdpZHRoOiAxMDAlO1xuICBAaW5jbHVkZSBtZWRpYSgnPD1waGFibGV0Jykge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuXG4vLyBlbmQgYnRuLWRlZmF1bHRzXG5cbi5idG4taW5mbyB7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgY29sb3I6ICRjb2xvci1icmFuZC1saWdodGVzdDtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIHRyYW5zaXRpb246IGFsbCwgMXMsIGVhc2U7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRibHVlLXNreTtcbiAgICB9XG4gICAgLmNvbHVtbi1jb250YWluZXItZG9tYWlucyAmIHtcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuNWVtO1xuICAgIH1cbn1cblxuXG4uYnRuLXJlYWQtbW9yZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgY29sb3I6ICRjb2xvci1icmFuZC1tZWQ7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBwYWRkaW5nOiAuNWVtIDFlbTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xuICAgIH1cbn1cblxuLmJ0bi1jaGVja291dC1jYXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGNvbG9yLWFjY2VudCA0NSUsICRjb2xvci1hY2NlbnQtbWVkIDUyJSk7XG4gICAgXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGNvbG9yOiR3aGl0ZTtcbiAgICBmb250LXNpemU6IDEuMjIyZW07XG4gICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgIHBhZGRpbmc6LjVlbSAxZW07XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtM3B4IDBweCByZ2JhKCRibGFjaywgMC4yNSksIDAgNXB4IDEwcHggcmdiYSgkYmxhY2ssIDAuMyk7XG4gICAgICAgIHRvcDogLTFweDtcbiAgICB9XG5cbiAgICAuZm9ybS13aGl0ZXBhcGVyICYge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgfVxuICAgIC5jb250YWluZXItYnRuLXJlcXVlc3QgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuXG4uY29udGFpbi1zb2NpYWwtZm9ybS1maWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1ZW07XG4gICAgbGkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZzogMCAzJSAwIDA7XG4gICAgICAgIHdpZHRoOiA0OS41JTtcbiAgICB9XG59XG4uYnRuLWNvbnRhY3Qtc29jaWFsIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IC4zZW07XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IC41ZW0gMWVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5jb250YWluLXNvY2lhbC1mb3JtLWZpbGwgJiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDEwMHB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuICAgIH1cblxuICAgICYuaW4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoIzI4N2JiYyAwJSwgIzIzNjM5YSAxMDAlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMWI1NDgwO1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAwLjM1KTtcbiAgICB9XG5cbiAgICAmLmZiIHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCM0ZTY5YTIgMCUsICMzYjU5OTggMTAwJSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzFiNTQ4MDtcbiAgICAgICAgLyogSUU2LTkgKi9cbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKCRibGFjaywgMC4zNSk7XG4gICAgICAgIC8vIGJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKCRjb2xvci10eHQtYmxhY2ssIC40KTtcbiAgICB9XG4gICAgJi5ncCB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjNDJBNUY1IDAlLCAjMjE5NkYzIDEwMCUpO1xuICAgICAgICBib3JkZXItY29sb3I6ICMxYjU0ODA7XG4gICAgICAgIHRleHQtc2hhZG93OiAwIDFweCAxcHggcmdiYSgkYmxhY2ssIDAuMzUpO1xuICAgIH1cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQ6IGdyYXk7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgLnN2Z0ljb24ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1tb2JpbGUtbGcnKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqIHByZXZlbnQgYmxlZWRpbmcgRkIgdGV4dCBvbiB0aGUgc29jaWFsIGJ1dHRvbiBmb3IgbGFuZHNjYXBlIHBob25lcyBhbmQgc21hbGxlciAgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5idG4tY29udGFjdC1zb2NpYWwuZmIsIC5idG4tY29udGFjdC1zb2NpYWwuaW4sIC5idG4tY29udGFjdC1zb2NpYWwuZ3Age1xuICAgICAgICBmb250LXNpemU6IDg1JTtcbiAgICB9XG59XG5cblxuJWJ0bi1tYXRjaC1hcmVhIHtcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nOiAxZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBleHRlbmQgLnR4dC1tZWQtbGc7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAycHggNXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpLCBpbnNldCAwIC01cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMyksIDAgNXB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIH1cbn1cblxuLmJ0bi1jdGEtbWF0Y2gge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkY29sb3ItYWNjZW50IDUwJSwgJGNvbG9yLWFjY2VudC1tZWQgNTElKTtcbiAgICBAZXh0ZW5kICVidG4tbWF0Y2gtYXJlYTtcbn1cblxuLmJ0bi1jdGEtbWF0Y2gtcmVxdWVzdCB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRibHVlLXNreS1saWdodCA0OSUsICRibHVlLXNreSA1MCUpO1xuICAgIEBleHRlbmQgJWJ0bi1tYXRjaC1hcmVhO1xufVxuXG4uYnRuLXNhdmUtYWxlcnQge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoI2U2ZTZlNiA0NSUsICNkZGRkZGQgNTIlKTtcbiAgICBcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBjb2xvcjogJGNvbG9yLXR4dC1sZ2h0O1xuICBmb250LXNpemU6IC42MTFlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZzogLjVlbSAxZW07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkY29sb3ItdHh0LWxpZ2h0ZXN0IDQ1JSwgJGNvbG9yLXR4dC1saWdodGVyIDUyJSk7XG4gICAgfVxufVxuXG4uYnRuLW1vc3QtcmVsZXZhbnQge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTczLCAyNTUsIDQ3LCAwLjIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHggMCAwIDEwcHg7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGNvbG9yLXR4dC1saWdodGVyO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IC01cHggMCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIGNvbG9yOiBncmVlbjtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHggMTBweCAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwsIDFzLCBlYXNlO1xuXG4gICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgIH1cbn1cblxuLmJ0bi12aWV3LW1vcmUsXG4uYnRuLXZpZXctbW9yZS10eHQsXG4uYnRuLXZpZXctbW9yZS10eHQtbWFpbiB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4IDAgMCAxMHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCksIC01cHggMnB4IDVweCAwcHggcmdiYSgyMDYsIDIwNCwgMjA0LCAwKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwsIDFzLCBlYXNlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSwgLTVweCAycHggNXB4IDBweCByZ2JhKDIwNiwgMjA0LCAyMDQsIDAuMyk7XG4gICAgfVxufVxuXG4uYnRuLXZpZXctbW9yZS10eHQsXG4uYnRuLXZpZXctbW9yZS10eHQtbWFpbiB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGNvbG9yLXR4dC1saWdodGVyO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IC01cHggMCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIGNvbG9yOiAjYmJiYmJiO1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICB0ZXh0LXNoYWRvdzogMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAtNXB4IDAgOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICB9XG59XG5cbi5idG4tdmlldy1tb3JlLXR4dC1tYWluIHtcbiAgICBwYWRkaW5nOiAxMHB4IDVweCAxMHB4IC41ZW07XG59XG4iLCJmaWVsZHNldCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxubGVnZW5kIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLWJvdHRvbTogJHNtYWxsLXNwYWNpbmcgLyAyO1xuICBwYWRkaW5nOiAwO1xufVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNjAwO1xuXG4gICYubGFiZWwtc3RhbmRhcmQge1xuICAgIGZvbnQtc2l6ZTogMC43NzhlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAuNWVtO1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICB9XG4gICYuY2hlY2tBZGRMaXN0IHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjI1cztcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwgMC4xKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMjRweDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHdpZHRoOiAyNHB4O1xuICAgICY6YWZ0ZXIge1xuICAgICAgLy8gdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpKTsgXG4gICAgICAvLyBib3JkZXItd2lkdGg6IDAgM3B4IDNweCAwO1xuICAgICAgLy8gYm9yZGVyOiBzb2xpZCByZ2JhKCR3aGl0ZSwgMC4xKTtcbiAgICAgIGNvbnRlbnQ6IHVybChcIiN7JGFzc2V0c19wYXRofS9icm93c2VyL2ltZy9jaGVja21hcmstd2hpdGUuc3ZnXCIpO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogLjY1ZW07XG4gICAgICBwYWRkaW5nOiA0cHg7XG4gICAgICAvLyBoZWlnaHQ6IDE2cHg7XG4gICAgICAvLyBtYXJnaW4tbGVmdDo5cHg7XG4gICAgICAvLyBtYXJnaW4tdG9wOjA7ICBcbiAgICAgIC8vIHdpZHRoOiA5cHg7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyOjJweCBzb2xpZCByZ2JhKCRibHVlLCAwLjUpO1xuICAgICAgY29sb3I6IGJsYWNrO1xuICAgIH1cbiAgICAmOmFjdGl2ZSB7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwO1xuICAgICAgLXdlYmtpdC1maWx0ZXI6IGJyaWdodG5lc3MoMC44KTsgXG4gICAgfVxuICB9XG59XG4ubGFiZWwtbm9uZSB7XG4gIGRpc3BsYXk6bm9uZTtcbn1cbi5sYWJlbC1zdHlsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuNzc4ZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmctYm90dG9tOiAuNWVtO1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbn1cblxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xufVxuXG4jeyRhbGwtdGV4dC1pbnB1dHN9IHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtYmFja2dyb3VuZC1jb2xvcjtcbiAgYm9yZGVyOiAkYmFzZS1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRiYXNlLWJvcmRlci1yYWRpdXM7XG4gIC8vIGJveC1zaGFkb3c6ICRmb3JtLWJveC1zaGFkb3c7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbi1ib3R0b206ICRzbWFsbC1zcGFjaW5nO1xuICBwYWRkaW5nOiAkYmFzZS1zcGFjaW5nIC8gMztcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRiYXNlLWR1cmF0aW9uICRiYXNlLXRpbWluZztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiBzaGFkZSgkYmFzZS1ib3JkZXItY29sb3IsIDIwJSk7XG4gIH1cblxuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGlvbi1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAkZm9ybS1ib3gtc2hhZG93LWZvY3VzO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCRiYXNlLWJhY2tncm91bmQtY29sb3IsIDUlKTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXI6ICRiYXNlLWJvcmRlcjtcbiAgICB9XG4gIH1cblxuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICB9XG5cblxuICAmLnNlYXJjaC1maWVsZCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcblxuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6ICRjb2xvci10eHQ7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwIDFlbTtcbiAgICB3aWR0aDogOTklO1xuXG4gICAgJi5lcnJvci10bGQtdGV4dGJveCB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB0cmFuc3BhcmVudCwgcmdiYSgkcmVkLCAuMSkgNzUlKTtcbiAgICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB0cmFuc3BhcmVudCwgcmdiYSgkcmVkLCAuMSkgNzUlKTsgLyogSUUgMTEgKi9cblxuICAgICAgJltwbGFjZWhvbGRlcl0ge1xuICAgICAgICBjb2xvcjogJHJlZCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG5cbiAgICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogJHJlZCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG5cbiAgICAgICY6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiAkcmVkICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cblxuICAgICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7XG4gICAgICAgIGNvbG9yOiAkcmVkICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAmLmlucHV0LXN0YW5kYXJkLFxuICAmLnRleHQtYXJlYS1zdGFuZGFyZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXR4dC1saWdodGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgIGZvbnQtc2l6ZTogMC43MjJlbTtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAuMmVtIDFlbTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG4gICAgICBib3gtc2hhZG93OiAwIDBweCAxMHB4IHJnYmEoJGJsdWUtc2t5LWxpZ2h0LCAuNSk7XG4gICAgfVxuXG5cbiAgICAjY2hvaWNlLWxpc3QtZG9tYWlucy1wb3J0Zm9saW8gJiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICB9XG5cblxuICAgIC5jb250YWluZXItYm94ZXMtZXhjbHVkZSAmIHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICAgICAgICBwYWRkaW5nOiAxZW07XG4gICAgfVxuICB9XG59XG5cbnRleHRhcmVhIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1hcmdpbi1yaWdodDogJHNtYWxsLXNwYWNpbmcgLyAyO1xuXG4gICYuY2hlY2tBZGRMaXN0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmNoZWNrZWQgKyB7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIH1cbiAgICAgICAgLmJsdWUtYmFja2dyb3VuZHtcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgIH1cbiAgfVxufVxuXG5bdHlwZT1cImZpbGVcIl0ge1xuICBtYXJnaW4tYm90dG9tOiAkc21hbGwtc3BhY2luZztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbnNlbGVjdCB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXR4dC1saWdodGVyO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJveC1zaGFkb3c6ICRmb3JtLWJveC1zaGFkb3c7XG4gIGNvbG9yOiBkYXJrZW4oJG1lZGl1bS1ncmF5LCAxMCUpO1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgb3V0bGluZTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgIHotaW5kZXg6IDI7XG4gIH1cbn1cblxubGFiZWxbZm9yPXNlbGVjdENvdW50cnldIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMCAuM2VtIC4zZW0gMDtcbiAgICBjb2xvcjogZGFya2VuKCRtZWRpdW0tZ3JheSwgMTAlKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgLy8gd2lkdGg6IDQwMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICBcbiAgfVxufVxubGFiZWxbZm9yPXNlbGVjdENvdW50cnldOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICRibHVlIHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCUUFBQUFPQkFNQUFBR3E3UkZWQUFBQUoxQk1WRVgvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy85UnV2MFNBQUFBREhSU1RsTUFDQW9SRW9LRHQ3eTl6YzVxdFpveUFBQUFja2xFUVZRSUhRWEJzUW5DVUFBRndGT0NDS2JJQUJhV0VSemkxeWFGQXptRXBIWUVDOEdVS1ZRRWtieWh2T09rWnFkV3QwL1FZS3FMelFlRjdkdjZ5L1JMd2Eyd1l0azRYeHhlK3Q4eWQxV3VNL3JjVWMyZ1lIRWVvUDAydW1TZ1RSNTB5YkJQUnVpU1pBUzZaQVE0amdDQVB5allKaVJINGZ5bUFBQUFBRWxGVGtTdVFtQ0MnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAyNSU7XG4gIGJvcmRlci1yYWRpdXM6IDAgLjNlbSAuM2VtIDA7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDQwcHg7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAgei1pbmRleDogMTtcbiAgfVxuXG59XG5sYWJlbFtmb3I9c2VsZWN0Q291bnRyeV0gc2VsZWN0IHtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAuM2VtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogLjlyZW07XG4gIHBhZGRpbmc6IC41ZW07XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgIHotaW5kZXg6IDE7XG4gIH1cbn1cbmxhYmVsW2Zvcj1zZWxlY3RDb3VudHJ5XSBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5sYWJlbFtmb3I9c2VsZWN0Q291bnRyeV0gOi1tb3otYW55KHNlbGVjdCkge1xuICB3aWR0aDogMTEwJTtcbn1cbmxhYmVsW2Zvcj1zZWxlY3RDb3VudHJ5XS5pZTkgc2VsZWN0IHtcbiAgd2lkdGg6IDExMCU7XG59XG5sYWJlbFtmb3I9c2VsZWN0Q291bnRyeV0gc2VsZWN0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxubGFiZWxbZm9yPXNlbGVjdFByaWNlSGldLFxubGFiZWxbZm9yPXNlbGVjdFByaWNlTG9dLFxubGFiZWxbZm9yPXNlbGVjdC1jYXRlZ29yeS1tYWluXSxcbmxhYmVsW2Zvcj1zZWxlY3QtbWVzc2FnZS10eXBlXSB7XG4gIEBleHRlbmQgbGFiZWxbZm9yPXNlbGVjdENvdW50cnldO1xuXG4gIHNlbGVjdCB7XG4gICAgcGFkZGluZzogLjI1ZW0gLjVlbTtcbiAgfVxufVxubGFiZWxbZm9yPXNlbGVjdC1jb3VudHJ5LXRocmVlXSB7XG4gIEBleHRlbmQgbGFiZWxbZm9yPXNlbGVjdENvdW50cnldO1xuXG4gIHNlbGVjdCB7XG4gICAgcGFkZGluZzogLjM1ZW0gLjVlbTtcbiAgfVxufVxubGFiZWxbZm9yPWNvdW50cnldIHtcbiAgQGV4dGVuZCBsYWJlbFtmb3I9c2VsZWN0Q291bnRyeV07XG59XG5sYWJlbFtmb3I9c2VsZWN0LW1lc3NhZ2UtdHlwZV0gc2VsZWN0IHtcbiAgY29sb3I6ICRjb2xvci1icmFuZCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIHBhZGRpbmc6IC43NWVtIDFlbTtcbn1cblxuaW5wdXQjbWFrZW9mZmVycHJpY2VbcGxhY2Vob2xkZXJdLCAjbWFrZW9mZmVycHJpY2VbcGxhY2Vob2xkZXJdLCAqI21ha2VvZmZlcnByaWNlW3BsYWNlaG9sZGVyXSB7XG4gIHRyYW5zaXRpb246IGFsbCwgMC4zcywgZWFzZTtcblxuICBjb2xvcjogJGNvbG9yLXR4dC1saWdodGVzdDtcbiAgZm9udC1zaXplOiAwLjg4OWVtO1xuICBmb250LXN0eWxlOm5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAuODc1ZW0gMS43NTBlbTtcbn1cbiNtYWtlb2ZmZXJwcmljZTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICBjb2xvcjogJGNvbG9yLXR4dC1saWdodGVzdDtcbn1cblxuI21ha2VvZmZlcnByaWNlOi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE4LSAqL1xuICAgY29sb3I6ICRjb2xvci10eHQtbGlnaHRlc3Q7ICBcbn1cblxuI21ha2VvZmZlcnByaWNlOjotbW96LXBsYWNlaG9sZGVyIHsgIC8qIEZpcmVmb3ggMTkrICovXG4gICBjb2xvcjogJGNvbG9yLXR4dC1saWdodGVzdDsgIFxufVxuXG4jbWFrZW9mZmVycHJpY2U6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgIFxuICAgY29sb3I6ICRjb2xvci10eHQtbGlnaHRlc3Q7ICBcbn1cblxuI21ha2VvZmZlcnByaWNlOmZvY3VzLFxuI21ha2VvZmZlcnByaWNlIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwsIDAuM3MsIGVhc2U7XG5cbiAgICBjb2xvcjogJGNvbG9yLWJyYW5kICFpbXBvcnRhbnQ7XG4gICAgLypmb250LXNpemU6IDEuNWVtICFpbXBvcnRhbnQ7Ki9cbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLy8gY2xlYW5lZCB1cCBtYWtlIG9mZmVyIGZvcm0gXG5cbi5mb3JtLW1vIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVlbTtcbiAgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IC4yNWVtO1xuICAgIHBhZGRpbmc6IDAgMyUgMCAwO1xuICAgIHdpZHRoOjMzJTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj0wZW1cIiwgXCI8cGhhYmxldFwiKSB7XG4gICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAmLm1vLW9mZmVyLFxuICAgICAgJi5tby1waG9uZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgXG4gICAgfVxuXG4gICAgJi5tby1jb3VudHJ5IHtcbiAgICAgIHBhZGRpbmc6IDAgNCUgMCAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cblxuICBpbnB1dCxcbiAgc3Bhbi5zZWxlY3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci10eHQtbGlnaHRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCA1cHggMThweCByZ2JhKCRibGFjaywgMC4yKTtcbiAgICBjb2xvcjogIzU0NTQ1NDtcbiAgICBmb250LXNpemU6IC44MzNyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAuNWVtIDFlbTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYudmFsaWQge1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwcHggMjBweCByZ2JhKCRibHVlLXNreS1saWdodCwgMC4yKTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYnJhbmQ7XG4gICAgfVxuICB9XG5cblxuICBzcGFuLnNlbGVjdCB7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIHBhZGRpbmc6IC4yNWVtIDFlbTtcbiAgfVxuXG5cbiAgaW5wdXQjbWFrZW9mZmVycHJpY2VbcGxhY2Vob2xkZXJdLCAjbWFrZW9mZmVycHJpY2VbcGxhY2Vob2xkZXJdLCAqI21ha2VvZmZlcnByaWNlW3BsYWNlaG9sZGVyXSB7XG4gICAgY29sb3I6IHJnYmEoJGNvbG9yLWJyYW5kLCAuNSk7XG4gICAgZm9udC1zaXplOiAuODMzcmVtO1xuICAgIGZvbnQtc3R5bGU6bm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogLjVlbSAxZW07XG4gIH1cblxuXG4gICNtYWtlb2ZmZXJwcmljZTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgIGNvbG9yOiByZ2JhKCRjb2xvci1icmFuZCwgLjUpO1xuICB9XG5cblxuICAjbWFrZW9mZmVycHJpY2U6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTgtICovXG4gICAgIGNvbG9yOiByZ2JhKCRjb2xvci1icmFuZCwgLjUpOyAgXG4gIH1cblxuXG4gICNtYWtlb2ZmZXJwcmljZTo6LW1vei1wbGFjZWhvbGRlciB7ICAvKiBGaXJlZm94IDE5KyAqL1xuICAgICBjb2xvcjogcmdiYSgkY29sb3ItYnJhbmQsIC41KTsgIFxuICB9XG5cblxuICAjbWFrZW9mZmVycHJpY2U6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgIFxuICAgICBjb2xvcjogcmdiYSgkY29sb3ItYnJhbmQsIC41KTsgIFxuICB9XG59XG5cbi5tby1jYXB0Y2hhIHtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG4iLCJodG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuaHRtbCxcbmJvZHkge1xuICBtYXJnaW46IDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICBcdGhlaWdodDogMTAwJTtcbiAgfVxufVxuYm9keSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGJhY2tncm91bmQ6ICRjb2xvci1iYWNrZ3JvdW5kIHVybCgjeyRhc3NldHNfcGF0aH0vYnJvd3Nlci9pbWcvbWFpbi9iZy1tYWluLWhpbGlnaHQtZmFkZS5qcGc/I3skYXNzZXRzX3ZlcnNpb259KSByZXBlYXQteCB0b3AgY2VudGVyO1x0XG5cdGNvbG9yOiAkY29sb3ItdHh0O1xuXHRtaW4taGVpZ2h0OiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG4gIFx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cblx0QGluY2x1ZGUgbWVkaWEoJzw9cGhhYmxldCcpIHtcblx0XHRmb250LXNpemU6IDE1cHg7XG5cdH1cbn1cblxuI2NvbnRhaW5lci1oZWFkZXIsXG4uY29udGFpbi1oZWFkZXIge1xuXHRtYXJnaW46MCBhdXRvO1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdHotaW5kZXg6Mjtcblx0d2lkdGg6IDEwMCU7XG5cblx0Ji5ob21lIHtcblx0YmFja2dyb3VuZDokd2hpdGU7XG5cdGJveC1zaGFkb3c6MCA1cHggMTBweCByZ2JhKCRibGFjaywgLjM1KTtcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdHotaW5kZXg6NDtcblxuXHRcdC5jb250YWluLXNlYXJjaC1mb3JtLFxuXHRcdC5jb250YWluZXItY2hhdC1idG4ge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCc8PXBoYWJsZXQnKSB7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAzNjtcblxuXHRcdCYuaG9tZSB7XG5cdFx0ICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0ICAgIGJvcmRlci1ib3R0b206IDA7XG5cdFx0ICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0ICAgIGhlaWdodDogYXV0bztcblx0XHR9XG5cdH1cbn1cblx0I2hlYWRlciB7XG5cdFx0bWFyZ2luOjAgYXV0bztcblx0XHRwYWRkaW5nLWJvdHRvbTogMTBweDtcblx0XHR0ZXh0LWFsaWduOmxlZnQ7XG5cdFx0d2lkdGg6IDEwMCU7XG5cblx0XHQuYnVsa0RlYWxQYWdlICYge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDIwcHg7XG5cdFx0XHRwYWRkaW5nLXRvcDogMTBweDtcblx0XHR9XG5cdH1cblxuI2NvbnRhaW5lci1jb250ZW50LFxuLmNvbnRhaW4tY29udGVudCB7XG5cdG1pbi1oZWlnaHQ6MTAwJTtcblx0bWFyZ2luOjAgYXV0bztcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdHRleHQtYWxpZ246Y2VudGVyO1xuXHR6LWluZGV4OjE7XG59XG5cdC5jb250YWluQWxsIHtcblx0XHRmbGV4OiAxIDAgYXV0bztcblx0XHRtYXJnaW46MCBhdXRvIDEyMHB4O1xuXHRcdHRleHQtYWxpZ246bGVmdDtcblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCAnPD1waGFibGV0Jykge1xuXHRcdFx0cGFkZGluZy10b3A6IGNhbGMoMiUgKyAzMHB4KSAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXG5cbi5pbm5lci1wYWQge1xuXHRwYWRkaW5nOjFlbSAyZW07XG59XG4uY29udGFpbmVyLWxheW91dHtcblx0dHJhbnNpdGlvbjogYWxsLCAxcywgZWFzZS1pbi1vdXQ7XG5cdHBhZGRpbmc6IDAgNSU7XG5cblx0QGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcC1sZycpIHtcblx0XHRwYWRkaW5nOiAwIDE1JTtcblx0fVxuXHRAaW5jbHVkZSBtZWRpYSgnPj1naWFudC1zY3JlZW4nKSB7XG5cdFx0cGFkZGluZzogMCAyMCU7XG5cdH1cblx0QGluY2x1ZGUgbWVkaWEoJzw9bW9iaWxlLWxnJykge1xuXHRcdHBhZGRpbmc6IDAgMiU7XG5cdH1cbn1cbi5jb250YWluZXItaW5uZXIge1xuXHR0cmFuc2l0aW9uOiBhbGwsIDFzLCBlYXNlLWluLW91dDtcblxuXHRwYWRkaW5nOiAyJSA1JTtcblxuXHRAaW5jbHVkZSBtZWRpYSgnPm1vYmlsZS1sZycsICc8PXRhYmxldCcpIHtcblx0ICAgIHBhZGRpbmc6IDIlIDMlO1xuXHR9XG5cdEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AtbGcnKSB7XG5cdFx0cGFkZGluZzogMiUgMTUlO1xuXHR9XG5cdEBpbmNsdWRlIG1lZGlhKCc+PWdpYW50LXNjcmVlbicpIHtcblx0XHRwYWRkaW5nOiAyJSAyMCU7XG5cdH1cbn1cblxuLmNvbnRhaW4taW50cm8ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRwYWRkaW5nLXRvcDogMjBweDtcbn1cblxuXHQuaW50cm9BYm91dCB7XG5cdFx0ZmxleDogMCAxIDUwJTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcblx0XHRcdGZsZXg6IDE7XG5cdFx0fVxuXG5cdFx0LmludHJvSGVhZGxpbmUgLnJlc2l6ZUEge1xuXHRcdFx0Zm9udC1zaXplOiAzcmVtO1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJzw9cGhhYmxldCcpIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxMHZ3O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5pbnRyb0ltYWdlIHtcblx0XHRmbGV4OiAwIDEgNTAlO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuXHRcdFx0ZGlzcGxheTogbm9uZTs7XG5cdFx0fVxuXHR9XG5cblxuXG5cbi5mbG9hdC1sZWZ0IHtcblx0ZmxvYXQ6bGVmdDtcbn1cbi5mbG9hdC1yaWdodCB7XG5cdGZsb2F0OnJpZ2h0O1xufVxuXG4ubWFyZy1ib3R0b20ge1xuXHRtYXJnaW4tYm90dG9tOjIwcHg7XG59XG4ubWFyZy1sZWZ0IHtcblx0bWFyZ2luLWxlZnQ6MjBweDtcbn1cbi5tYXJnLXJpZ2h0IHtcblx0bWFyZ2luLXJpZ2h0OjIwcHg7XG59XG4ubWFyZy10b3Age1xuXHRtYXJnaW4tdG9wOjIwcHg7XG59XG5cbi8qIGBDbGVhciBGbG9hdGVkIEVsZW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogaHR0cDovL3d3dy55dWlibG9nLmNvbS9ibG9nLzIwMTAvMDkvMjcvY2xlYXJmaXgtcmVsb2FkZWQtb3ZlcmZsb3doaWRkZW4tZGVteXN0aWZpZWQgKi9cblxuLmNsZWFyZml4OmJlZm9yZSxcbi5jbGVhcmZpeDphZnRlciB7XG5cdGNvbnRlbnQ6ICcuJztcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZvbnQtc2l6ZTogMDtcblx0aGVpZ2h0OiAwO1xuXHRsaW5lLWhlaWdodDogMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHR3aWR0aDogMDtcbn1cblxuLmNsZWFyZml4OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4iLCJcbi8qIHNwaW5uZXIgMyBib3VuY2VzIC0gaHR0cHM6Ly9naXRodWIuY29tL3RvYmlhc2FobGluL1NwaW5LaXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuI3RkZnNTcGlubmVyIHtcblx0ZGlzcGxheTogbm9uZTtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiAxMDAlO1xuXHR0cmFuc2l0aW9uOiBhbGwsIDAuM3MsIGVhc2UtaW4tb3V0O1xufVxuLnNwaW5uZXIge1xuICAgICAgbWFyZ2luOiAxMHB4IGF1dG8gMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5zcGlubmVyID4gZGl2IHtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJyYW5kO1xuXG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgLXdlYmtpdC1hbmltYXRpb246IGJvdW5jZWRlbGF5IDEuNHMgaW5maW5pdGUgZWFzZS1pbi1vdXQgYm90aDtcbiAgICAgIGFuaW1hdGlvbjogYm91bmNlZGVsYXkgMS40cyBpbmZpbml0ZSBlYXNlLWluLW91dCBib3RoO1xuICAgIH1cblxuICAgIC5zcGlubmVyIC5ib3VuY2UxIHtcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMC4zMnM7XG4gICAgICBhbmltYXRpb24tZGVsYXk6IC0wLjMycztcbiAgICB9XG5cbiAgICAuc3Bpbm5lciAuYm91bmNlMiB7XG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTAuMTZzO1xuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMC4xNnM7XG4gICAgfVxuXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZWRlbGF5IHtcbiAgICAgIDAlLCA4MCUsIDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4wKSB9XG4gICAgICA0MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wKSB9XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyBib3VuY2VkZWxheSB7XG4gICAgICAwJSwgODAlLCAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjApO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4wKTtcbiAgICAgIH0gNDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjApO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wKTtcbiAgICAgIH1cbiAgICB9XG5cdFxuLyogbWFrZSBrZXlmcmFtZXMgdGhhdCB0ZWxsIHRoZSBzdGFydCBzdGF0ZSBhbmQgdGhlIGVuZCBzdGF0ZSBvZiBvdXIgb2JqZWN0ICovXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7IGZyb20geyBvcGFjaXR5OjA7IH0gdG8geyBvcGFjaXR5OjE7IH0gfVxuICAgIEAtbW96LWtleWZyYW1lcyBmYWRlSW4geyBmcm9tIHsgb3BhY2l0eTowOyB9IHRvIHsgb3BhY2l0eToxOyB9IH1cbiAgICBAa2V5ZnJhbWVzIGZhZGVJbiB7IGZyb20geyBvcGFjaXR5OjA7IH0gdG8geyBvcGFjaXR5OjE7IH0gfVxuICAgICBcbiAgICAuZmFkZS1pbiB7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5LCAwLjNzLCBlYXNlLWluO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTEwJTtcbiAgICAgICAgb3BhY2l0eTowO1xuICAgICAgICBhbmltYXRpb246ZmFkZUluIGVhc2UtaW4gMTtcbiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkcztcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOjFzO1xuICAgIH1cbiAgICBcbiAgICAvKiBtYWtlIGtleWZyYW1lcyB0aGF0IHRlbGwgdGhlIHN0YXJ0IHN0YXRlIGFuZCB0aGUgZW5kIHN0YXRlIG9mIG91ciBvYmplY3QgKi9cbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dCB7IGZyb20geyBvcGFjaXR5OjE7IH0gdG8geyBvcGFjaXR5OjA7IH0gfVxuICAgIEAtbW96LWtleWZyYW1lcyBmYWRlT3V0IHsgZnJvbSB7IG9wYWNpdHk6MTsgfSB0byB7IG9wYWNpdHk6MDsgfSB9XG4gICAgQGtleWZyYW1lcyBmYWRlT3V0IHsgZnJvbSB7IG9wYWNpdHk6MTsgfSB0byB7IG9wYWNpdHk6MDsgfSB9XG4gICAgIFxuICAgIC5mYWRlLW91dCB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwsIDAuM3MsIGVhc2Utb3V0O1xuICAgICAgbWFyZ2luLXRvcDogLTEwJTtcbiAgICAgICAgb3BhY2l0eToxO1xuICAgICAgICBhbmltYXRpb246ZmFkZU91dCBlYXNlLW91dCAxO1xuICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzO1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246MXM7XG4gICAgfSIsInVsLFxub2wge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICAmLmRlY2ltYWwsXG4gICYuYWxwaGFMb3dlcixcbiAgJi5hbHBoYVVwcGVyLFxuICAmLnJvbWFuTG93ZXIsXG4gICYucm9tYW5VcHBlcixcbiAgJi5idWxsZXRlZCB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuXG4gICAgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTouNWVtO1xuXG4gICAgICBvbCxcbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmJ1bGxldGVkIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZTtcbiAgfVxuICAmLmRlY2ltYWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgfVxuICAmLmFscGhhTG93ZXIge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7XG4gIH1cbiAgJi5hbHBoYVVwcGVyIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLWFscGhhO1xuICB9XG4gICYucm9tYW5Mb3dlciB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjtcbiAgfVxuICAmLnJvbWFuVXBwZXIge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogdXBwZXItcm9tYW47XG4gIH1cbn1cblxuZGwge1xuICBtYXJnaW46IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xufVxuXG5kZCB7XG4gIG1hcmdpbjogMDtcbn1cbiIsImZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuaW1nLFxucGljdHVyZSB7XG4gIG1hcmdpbjogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuIiwidGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBtYXJnaW46ICRzbWFsbC1zcGFjaW5nIDA7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG50aCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBzaGFkZSgkYmFzZS1ib3JkZXItY29sb3IsIDI1JSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmc6ICRzbWFsbC1zcGFjaW5nIDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbnRkIHtcbiAgYm9yZGVyLWJvdHRvbTogJGJhc2UtYm9yZGVyO1xuICBwYWRkaW5nOiAkc21hbGwtc3BhY2luZyAwO1xufVxuXG50cixcbnRkLFxudGgge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuIiwiYm9keSB7XG4gIGNvbG9yOiAkYmFzZS1mb250LWNvbG9yO1xuICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGJhc2UtbGluZS1oZWlnaHQ7XG59XG5cbmgxLFxuLnR4dC1oMS1pbnRybyB7XG4gIGNvbG9yOiR3aGl0ZTtcbiAgZm9udC1zaXplOiAvKjQ2cHgqLyAyLjU1NmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICAvLyB0ZXh0LXNoYWRvdzowIDAgMCByZ2JhKCRibGFjaywgLjcpO1xuICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG59XG4udHh0LWgxLWludHJvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnR4dC1wcm9tby1oIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMS4zMzNlbTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xuICAgIHRleHQtc2hhZG93OiAwIDAgMCByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5pbnRyb0hlYWRsaW5lIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGxpZ2h0ZW4oJGRhcmstZ3JheSwgNTAlKTtcbiAgY29sb3I6ICRkYXJrLWdyYXk7XG4gIGZvbnQtc2l6ZTogNC4ycmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzw9cGhhYmxldCcpIHtcbiAgICAgIGZvbnQtc2l6ZTogM2VtO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCc8PW1vYmlsZS1sZycpIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4yZW07XG4gIH1cblxuICAucmVzaXplQSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICB9XG5cbiAgJi5mYXFzIHtcbiAgICAucmVzaXplQSB7XG4gICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgfVxuICB9XG4gICYuY29udGFjdFVzLFxuICAmLnBvbGljaWVzIHtcbiAgICBtYXJnaW46MDtcbiAgfVxufVxuXG4uY29udGFpbmVyLXNlYXJjaC1yZXN1bHRzIGgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGNvbG9yOiRjb2xvci1icmFuZDtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6IG1vZHVsYXItc2NhbGUoMSk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1saW5lLWhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJHNtYWxsLXNwYWNpbmc7XG59XG4uY29udGFpbmVyLXNlYXJjaC1yZXN1bHRzIGgxLFxuaDIge1xuICBmb250LXNpemU6IC8qMzhweCovIDIuMTExZW07XG4gIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcblxuICAmLmxhcmdlIHtcbiAgICBmb250LXNpemU6IC8qNDRweCovIDIuNDQ0ZW07XG4gIH1cbiAgJi5yZWcge1xuICAgIHRleHQtdHJhbnNmb3JtOm5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPD1waGFibGV0Jykge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgfVxufVxuXG4laDMtc2l6ZSwgXG5oMyB7XG4gIGZvbnQtc2l6ZTogLyoyNnB4Ki8gMS40NDRlbTtcbiAgJi5tby1oMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yZW07XG4gIH1cbn1cblxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogLyoxOHB4Ki8gMWVtO1xufVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogLyoxNXB4Ki8gMC44MzNlbTtcbn1cblxuaDYge1xuICBjb2xvcjogJGNvbG9yLXR4dDtcbiAgZm9udC1zaXplOiAvKjEzcHgqLyAwLjcyMmVtO1xuICBmb250LXdlaWdodDogNjAwO1xufVxucCB7XG4gIC8vIG1hcmdpbjogMCAwICRzbWFsbC1zcGFjaW5nO1xufVxuXG5hIHtcbiAgY29sb3I6ICRhY3Rpb24tY29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAkYmFzZS1kdXJhdGlvbiAkYmFzZS10aW1pbmc7XG5cbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMsXG4gICY6aG92ZXIge1xuICAgIC8vIGNvbG9yOiBzaGFkZSgkYWN0aW9uLWNvbG9yLCAyNSUpO1xuICB9XG59XG4uYS1ub3JtLFxuLmEtbm9ybTp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGNvbG9yLWJyYW5kLW1lZDtcbiAgICB0cmFuc2l0aW9uOiBhbGwsIDAuM3MsIGVhc2U7XG59XG5cbi5hLW5vcm06aG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3ItYnJhbmQtbGlnaHQ7XG59XG5cblxuLmEtcmVkIHtcbiAgICBjb2xvcjogJGNvbG9yLWFjY2VudDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYWNjZW50LW1lZDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxufVxuXG5cblxuXG5ociB7XG4gIGJvcmRlcjogMCBsaWdodGVuKCRsaWdodC1ncmF5LCA1JSkgc29saWQ7XG4gIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgYm94LXNoYWRvdzogMCAxcHggMCAwICR3aGl0ZTtcbiAgY2xlYXI6IGJvdGg7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAkYmFzZS1zcGFjaW5nIDA7XG59XG4gIC5oci1mb3JtIHtcbiAgICBtYXJnaW46NDBweCAwIC41ZW0gMzEwcHg7XG4gIH1cblxuXG4ud2VpZ2h0LXJlZyB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4ud2VpZ2h0LXNlbWkge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4udHh0LXNtIHtcbiAgZm9udC1zaXplOjAuNjY3ZW07XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzw9cGhhYmxldCcpIHtcbiAgICBmb250LXNpemU6IC45ZW07XG4gIH1cbn1cbi50eHQtc20tcmVtIHtcbiAgZm9udC1zaXplOjAuNjY3cmVtO1xuXG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbn1cbi50eHQtbWVkLXNtIHtcbiAgZm9udC1zaXplOjAuNzIyZW07XG59XG4udHh0LW1lZCB7XG4gIGZvbnQtc2l6ZTowLjgzM2VtO1xufVxuLnR4dC1oMS1hYm91dCB7XG4gIGNvbG9yOiAkY29sb3ItdHh0O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbi50eHQtaDEtc3VjY2VzcyB7XG4gIGNvbG9yOiAkY29sb3ItYnJhbmQ7XG4gIGZvbnQtc2l6ZTogMS4zZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi50eHQtbWVkLWxnIHtcbiAgZm9udC1zaXplOjEuMTExZW07XG59XG4udHh0LWxnIHtcbiAgZm9udC1zaXplOjEuNTU2ZW07XG59XG5cbi50eHQtbm9ybWwge1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLnR4dC11cHBlciB7XG4gIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcbn1cbi50eHQtY2VudGVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi50eHQtbm8tY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOm5vbmU7XG59XG4udHh0LWJkLWJsdWUge1xuICBjb2xvcjokY29sb3ItYnJhbmQ7XG59XG4udHh0LWJkLXJlZCB7XG4gIGNvbG9yOiAkY29sb3ItYWNjZW50O1xufVxuLnR4dC1iZC1ncmV5IHtcbiAgY29sb3I6ICAkY29sb3ItdHh0O1xufVxuLnR4dC1kcmstcmVkIHtcbiAgY29sb3I6ICRjb2xvci1hY2NlbnQtZGFyaztcbn1cbi50eHQtbGdodC1ibHVlIHtcbiAgY29sb3I6ICRjb2xvci1icmFuZC1saWdodDtcbn1cbi50eHQtaGlsaXRlLWJsdWUge1xuICBjb2xvcjogJGNvbG9yLWJyYW5kLWxpZ2h0ZXN0O1xuXG4gIHN2ZyB7XG4gICAgZmlsbDogJGNvbG9yLWJyYW5kLWxpZ2h0ZXN0O1xuICB9XG59XG4udHh0LW1lZC1ibHVlIHtcbiAgY29sb3I6ICRjb2xvci1icmFuZC1tZWQ7XG59XG4udHh0LWdyZXkge1xuICBjb2xvcjogJGNvbG9yLXR4dC1sZ2h0O1xufVxuLnR4dC1ncmVlbiB7XG4gIGNvbG9yOiAkY29sb3ItdHh0LWNhbGxvdXQ7XG59IiwiQG1peGluIGZsdWlkLXR5cGUoJHByb3BlcnRpZXMsICRtaW4tdncsICRtYXgtdncsICRtaW4tdmFsdWUsICRtYXgtdmFsdWUpIHtcbiAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcbiAgICAjeyRwcm9wZXJ0eX06ICRtaW4tdmFsdWU7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbi12dykge1xuICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XG4gICAgICAjeyRwcm9wZXJ0eX06IGNhbGMoI3skbWluLXZhbHVlfSArICN7c3RyaXAtdW5pdCgkbWF4LXZhbHVlIC0gJG1pbi12YWx1ZSl9ICogKDEwMHZ3IC0gI3skbWluLXZ3fSkgLyAje3N0cmlwLXVuaXQoJG1heC12dyAtICRtaW4tdncpfSk7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtYXgtdncpIHtcbiAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgI3skcHJvcGVydHl9OiAkbWF4LXZhbHVlO1xuICAgIH1cbiAgfVxufVxuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtYmVyKSB7XG4gIEBpZiB0eXBlLW9mKCRudW1iZXIpID09IFwibnVtYmVyXCIgYW5kIG5vdCB1bml0bGVzcygkbnVtYmVyKSB7XG4gICAgQHJldHVybiAkbnVtYmVyIC8gKCRudW1iZXIgKiAwICsgMSk7XG4gIH1cblxuICBAcmV0dXJuICRudW1iZXI7XG59IiwiaHRtbCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuYm9keSB7XG4gICAgYmFja2dyb3VuZDogI0U1RjFGNSB1cmwoL2Jyb3dzZXIvaW1nL2JnLWdyYWRpZW50LnBuZykgcmVwZWF0LXg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xufVxuLyogbWFpbiBsYXlvdXRzIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmNvbnRhaW4tY29udGVudCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogNjBweCBhdXRvO1xuICAgIG1heC13aWR0aDogOTYwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCwgMjAwbXMsIGVhc2UtaW4tb3V0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGdhcDogMzBweDtcbiAgICBcbiAgICBcbiAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgIG1hcmdpbjogMTBweCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDc2MHB4O1xuICAgICAgICBnYXA6IDIwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCc8PW1vYmlsZS1sZycpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzNjBweDtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICB9XG59XG4gICAgXG5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgXG5cbi8qIHR5cG9ncmFwaHkgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5oMSxcbmgyLFxucCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIFxufVxuXG5oMSB7XG4gICAgY29sb3I6ICMyMzNBNzg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zNTdlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIEBpbmNsdWRlIGZsdWlkLXR5cGUoZm9udC1zaXplLCAzNjBweCwgMTIwMHB4LCAyMnB4LCA0MnB4KTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAjQzgxMjMxO1xuICAgICAgICAgICAgQGluY2x1ZGUgZmx1aWQtdHlwZShmb250LXNpemUsIDM2MHB4LCAxMjAwcHgsIDE2cHgsIDI0cHgpO1xuICAgICAgICB9XG4gICAgXG59XG5wIHtcbiAgICBjb2xvcjogIzZENzI3ODtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiA0OTBweDtcbiAgICBAaW5jbHVkZSBmbHVpZC10eXBlKGZvbnQtc2l6ZSwgMzYwcHgsIDEyMDBweCwgMXJlbSwgMS4xMjVyZW0pO1xuXG4gICAgJi50eHQtbmVlZC1wcmljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyAvLyAyNHB4XG4gICAgICAgIEBpbmNsdWRlIGZsdWlkLXR5cGUoZm9udC1zaXplLCAzNjBweCwgMTIwMHB4LCAxcmVtLCAxLjVyZW0pO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9bW9iaWxlLWxnJykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbn1cbmEge1xuICAgIGNvbG9yOiAjMjMzQTc4O1xuXG4gICAgJi5waG9uZUxpbmsge1xuICAgICAgICBAaW5jbHVkZSBmbHVpZC10eXBlKGZvbnQtc2l6ZSwgMzYwcHgsIDEyMDBweCwgMzJweCwgNDJweCk7XG4gICAgfVxuICAgIC5iY1RleHQgJiB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxufVxuI2NoYXQtYnV0dG9uIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIFxuICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxufVxuLmNvbnRhY3RMaW5rcyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvLyBkaXNwbGF5OiBncmlkO1xuICAgIC8vIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWluLWNvbnRlbnQgbWluLWNvbnRlbnQgbWluLWNvbnRlbnQ7XG4gICAgLy8ganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICAvLyBnYXA6IDEwcHg7XG59XG4udGRmcy1sb2dvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogMTIwcHg7XG59XG5idXR0b24sXG4uY29udGFpbkNoYXRCdXR0b24ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogIzM3QzBGNjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDEwcHggLTVweCByZ2JhKDAsMCwwLC4zKTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWluLWNvbnRlbnQgbWluLWNvbnRlbnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogLjVlbSAxZW07XG4gICAgZ2FwOiAxMHB4O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMzMEE5RDk7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG59XG5cbi5zdmdJY29uIHtcbiAgICBoZWlnaHQ6IDJlbTtcbiAgICB3aWR0aDogMmVtO1xufVxuXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkF1REFBLEFBQUEsTUFBTSxFQUFDLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixHQUFlLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixHQUFjLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQUF2QixDQUNkLGdCQUFnQixDRHNCWCxPQUFP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RSxBQVVDLFNBQVMsQ0FLUixFQUFFLEFBQUMsQ0FDRCxhQUFhLENBQUMsSUFBSSxDQU1uQixBQXZCTCxBQW1CTSxFQW5CSixBQU1DLFFBQVEsQ0FVUCxFQUFFLENBR0EsRUFBRSxDQW5CUixFQUFFLEFBTUMsUUFBUSxDQVVQLEVBQUUsQ0FJQSxFQUFFLENBcEJSLEVBQUUsQUFPQyxXQUFXLENBU1YsRUFBRSxDQUdBLEVBQUUsQ0FuQlIsRUFBRSxBQU9DLFdBQVcsQ0FTVixFQUFFLENBSUEsRUFBRSxDQXBCUixFQUFFLEFBUUMsV0FBVyxDQVFWLEVBQUUsQ0FHQSxFQUFFLENBbkJSLEVBQUUsQUFRQyxXQUFXLENBUVYsRUFBRSxDQUlBLEVBQUUsQ0FwQlIsRUFBRSxBQVNDLFdBQVcsQ0FPVixFQUFFLENBR0EsRUFBRSxDQW5CUixFQUFFLEFBU0MsV0FBVyxDQU9WLEVBQUUsQ0FJQSxFQUFFLENBcEJSLEVBQUUsQUFVQyxXQUFXLENBTVYsRUFBRSxDQUdBLEVBQUUsQ0FuQlIsRUFBRSxBQVVDLFdBQVcsQ0FNVixFQUFFLENBSUEsRUFBRSxDQXBCUixFQUFFLEFBV0MsU0FBUyxDQUtSLEVBQUUsQ0FHQSxFQUFFLENBbkJSLEVBQUUsQUFXQyxTQUFTLENBS1IsRUFBRSxDQUlBLEVBQUUsQ0FuQlIsRUFBRSxBQUtDLFFBQVEsQ0FVUCxFQUFFLENBR0EsRUFBRSxDQWxCUixFQUFFLEFBS0MsUUFBUSxDQVVQLEVBQUUsQ0FJQSxFQUFFLENBbkJSLEVBQUUsQUFNQyxXQUFXLENBU1YsRUFBRSxDQUdBLEVBQUUsQ0FsQlIsRUFBRSxBQU1DLFdBQVcsQ0FTVixFQUFFLENBSUEsRUFBRSxDQW5CUixFQUFFLEFBT0MsV0FBVyxDQVFWLEVBQUUsQ0FHQSxFQUFFLENBbEJSLEVBQUUsQUFPQyxXQUFXLENBUVYsRUFBRSxDQUlBLEVBQUUsQ0FuQlIsRUFBRSxBQVFDLFdBQVcsQ0FPVixFQUFFLENBR0EsRUFBRSxDQWxCUixFQUFFLEFBUUMsV0FBVyxDQU9WLEVBQUUsQ0FJQSxFQUFFLENBbkJSLEVBQUUsQUFTQyxXQUFX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 */
