﻿html{box-sizing:border-box}*,*::after,*::before{box-sizing:inherit}#page_top{animation:cloak-in 0.75s}body{-webkit-font-smoothing:antialiased}.display_flex_center{display:flex;justify-content:space-between;align-items:center}.display_flex_stretch{display:flex;flex-wrap:wrap;justify-content:space-between}.display_flex_stretch_bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end}.display_flex_center_bottom{display:flex;justify-content:space-between;align-items:center;align-items:flex-end}.display_flex{display:flex;flex-wrap:wrap;justify-content:space-between}.display_row{flex-flow:row wrap}.formMain{font-family:游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;color:#444444;font-weight:500}.formMain img{width:100%;height:auto}@media screen and (min-width: 1000px){.formMain{font-size:16px}}@media print, screen and (max-width: 999px){.formMain{font-size:1.6016vw}}@media screen and (max-width: 768px){.formMain{font-size:3.73333vw}}.formMain input,.formMain textarea,.formMain select,.formMain button{font-family:游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;font-weight:500}@media screen and (min-width: 1000px){.formMain input,.formMain textarea,.formMain select,.formMain button{font-size:16px}}@media print, screen and (max-width: 999px){.formMain input,.formMain textarea,.formMain select,.formMain button{font-size:1.6016vw}}@media screen and (max-width: 768px){.formMain input,.formMain textarea,.formMain select,.formMain button{font-size:3.73333vw}}.formMain h1,.formMain h2,.formMain h3,.formMain h4,.formMain h5,.formMain h6,.formMain p{line-height:1;font-weight:500;display:block}#mintyou,.mintyou{font-family:游明朝 ,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS 明朝 E,Meiryo,serif}.tj{text-indent:-9999px;text-align:left;overflow:hidden;display:block;font-size:0.1em}@media screen and (min-width: 1000px){.wapper{width:1000px;margin-left:auto;margin-right:auto}}@media print, screen and (max-width: 999px){.wapper{width:98%;margin-left:auto;margin-right:auto}}@media screen and (max-width: 768px){.wapper{width:100%;margin-left:auto;margin-right:auto}}ul,li,dd,dt,dh{list-style:none}svg{display:block}@media print, screen and (max-width: 999px){.pc_only{display:block}}@media screen and (min-width: 1000px){.pc_only{display:block}}@media screen and (max-width: 768px){.pc_only{display:none}}@media screen and (min-width: 1000px){.sp_only{display:none}}@media print, screen and (max-width: 999px){.sp_only{display:none}}@media screen and (max-width: 768px){.sp_only{display:block}}.t_center{text-align:center}.pc_order_0{order:0}@media screen and (max-width: 768px){.pc_order_0{order:unset}}.fw_0{font-wieght:0}.pc_order_1{order:1}@media screen and (max-width: 768px){.pc_order_1{order:unset}}.fw_100{font-wieght:100}.pc_order_2{order:2}@media screen and (max-width: 768px){.pc_order_2{order:unset}}.fw_200{font-wieght:200}.pc_order_3{order:3}@media screen and (max-width: 768px){.pc_order_3{order:unset}}.fw_300{font-wieght:300}.pc_order_4{order:4}@media screen and (max-width: 768px){.pc_order_4{order:unset}}.fw_400{font-wieght:400}.pc_order_5{order:5}@media screen and (max-width: 768px){.pc_order_5{order:unset}}.fw_500{font-wieght:500}.pc_order_6{order:6}@media screen and (max-width: 768px){.pc_order_6{order:unset}}.fw_600{font-wieght:600}.pc_order_7{order:7}@media screen and (max-width: 768px){.pc_order_7{order:unset}}.fw_700{font-wieght:700}.pc_order_8{order:8}@media screen and (max-width: 768px){.pc_order_8{order:unset}}.fw_800{font-wieght:800}.text_justify{text-align:justify;text-justify:inter-ideograph}html{box-sizing:border-box}*,*::after,*::before{box-sizing:inherit}.bg_FF92B0{background:#FF92B0}.bg_32C9E9{background:#32C9E9}.cl_fff{color:#FFF}.formTable .tdFormTable{width:76%;padding-top:10px;padding-bottom:10px;padding-left:25px;padding-right:25px}@media print, screen and (max-width: 999px){.formTable .tdFormTable{padding:1% 2.5% 1% 2.5%}}@media screen and (max-width: 768px){.formTable .tdFormTable{padding-top:14px;padding-bottom:25px;padding-left:0px;padding-right:0px;display:block;width:100%}}@media screen and (max-width: 768px) and (max-width: 999px){.formTable .tdFormTable{padding:1.4% 0% 2.5% 0%}}.readPrivacyComfirm{display:none}.confirmBtmFx{width:83%;margin-top:29px;margin-bottom:0px;margin-left:auto;margin-right:auto}@media print, screen and (max-width: 999px){.confirmBtmFx{margin-top:2.9%;margin-bottom:0%;margin-left:auto;margin-right:auto}}@media screen and (max-width: 768px){.confirmBtmFx{width:100%;justify-content:center;margin-top:18px;margin-bottom:0px;margin-left:auto;margin-right:auto}}@media screen and (max-width: 768px) and (max-width: 999px){.confirmBtmFx{margin-top:5.37%;margin-bottom:0%;margin-left:auto;margin-right:auto}}.backButtonWap{width:46.98%}@media screen and (max-width: 768px){.backButtonWap{width:72.53%}}.backButton{cursor:pointer;border:1px solid #707070;color:#00758E;overflow:hidden;display:inline-block;text-align:center;text-decoration:none;outline:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:all .3s;transition:all .3s;background-color:#fff;border:1px solid #707070;color:#00758E;display:block;background-image:url(../img/backButtonArrow.svg);background-size:auto 38%;background-position:center left 6%;background-repeat:no-repeat;height:70px;width:100%;display:flex;justify-content:center;align-items:center}.backButton::before{position:absolute;z-index:-1;display:block;content:'';-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:all .3s;transition:all .3s}.backButton::after{position:absolute;z-index:-1;display:block;content:'';-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:all .3s;transition:all .3s}.backButton:hover{background-color:#00758E;border-color:#00758E;color:#fff}@media screen and (max-width: 768px){.backButton{height:16vw;background-position:center left 10%}}.backButton:hover{background-image:url(../img/wh_arrow_left.svg);background-size:auto 38%;background-position:center left 6%;background-repeat:no-repeat}@media screen and (max-width: 768px){.backButton:hover{background-position:center left 10%}}button.backButton{font-weight:600}@media screen and (min-width: 1000px){button.backButton{font-size:17px}}@media print, screen and (max-width: 999px){button.backButton{font-size:1.7017vw}}@media screen and (max-width: 768px){button.backButton{font-size:4.26667vw}}.submitButtonWap{width:46.98%}@media screen and (max-width: 768px){.submitButtonWap{width:87.46%;margin-top:16px;margin-bottom:0px;margin-left:auto;margin-right:auto}}@media screen and (max-width: 768px) and (max-width: 999px){.submitButtonWap{margin-top:4.77%;margin-bottom:0%;margin-left:auto;margin-right:auto}}.sendButton{cursor:pointer;border:none;color:#FFF;overflow:hidden;display:inline-block;text-align:center;text-decoration:none;outline:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:all .3s;transition:all .3s;background-color:#00758E;border:1px solid #00758E;color:#fff;display:block;background-image:url(../img/wh_arrow.svg);background-size:auto 38%;background-position:center right 6%;background-repeat:no-repeat;height:70px;width:100%;display:flex;justify-content:center;align-items:center}.sendButton::before{position:absolute;z-index:-1;display:block;content:'';-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:all .3s;transition:all .3s}.sendButton::after{position:absolute;z-index:-1;display:block;content:'';-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:all .3s;transition:all .3s}.sendButton:hover{background-color:#333;border-color:#333;color:#fff}@media screen and (max-width: 768px){.sendButton{height:17.06667vw}}button.sendButton{font-weight:600}@media screen and (min-width: 1000px){button.sendButton{font-size:17px}}@media print, screen and (max-width: 999px){button.sendButton{font-size:1.7017vw}}@media screen and (max-width: 768px){button.sendButton{font-size:4.26667vw}}.nowConfrim.formCnt th.thformTable.thformTable01{padding:1.3% 0 0 0%}@media screen and (max-width: 768px){.nowConfrim.formCnt th.thformTable.thformTable01{padding:2.98% 0% 0.17% 0%}}.nowConfrim.formCnt .thformTable_nichiji{padding:1.3% 0 0 0%}@media screen and (max-width: 768px){.nowConfrim.formCnt .thformTable_nichiji{padding:2.98% 0% 0.17% 0%}}.nowConfrim.formCnt .thformTable_textarea{padding:1.5% 0 0 0%}@media screen and (max-width: 768px){.nowConfrim.formCnt .thformTable_textarea{padding:2.98% 0% 0.17% 0%}}.thanksButton{width:39%;margin-top:101px;margin-bottom:0px;margin-left:auto;margin-right:auto}@media print, screen and (max-width: 999px){.thanksButton{margin-top:10.1%;margin-bottom:0%;margin-left:auto;margin-right:auto}}@media screen and (max-width: 768px){.thanksButton{width:87.46%;margin-top:19.83%}}.thanksButton a{cursor:pointer;border:none;color:#FFF;font-weight:600;overflow:hidden;display:inline-block;text-align:center;text-decoration:none;outline:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:all .3s;transition:all .3s;background-color:#00758E;border:1px solid #00758E;color:#fff;display:block;background-image:url(../img/wh_arrow.svg);background-size:auto 38%;background-position:center right 6%;background-repeat:no-repeat;height:70px;width:100%;display:flex;justify-content:center;align-items:center}@media screen and (min-width: 1000px){.thanksButton a{font-size:17px}}@media print, screen and (max-width: 999px){.thanksButton a{font-size:1.7017vw}}@media screen and (max-width: 768px){.thanksButton a{font-size:4.26667vw}}.thanksButton a::before{position:absolute;z-index:-1;display:block;content:'';-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:all .3s;transition:all .3s}.thanksButton a::after{position:absolute;z-index:-1;display:block;content:'';-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:all .3s;transition:all .3s}.thanksButton a:hover{background-color:#333;border-color:#333;color:#fff}@media screen and (max-width: 768px){.thanksButton a{height:17.06667vw}}.formMain{margin-top:104px;margin-bottom:81px;margin-left:auto;margin-right:auto}@media print, screen and (max-width: 999px){.formMain{margin-top:5.41%;margin-bottom:4.21%;margin-left:auto;margin-right:auto}}@media screen and (max-width: 768px){.formMain{margin-top:63px;margin-bottom:78px;margin-left:auto;margin-right:auto}}@media screen and (max-width: 768px) and (max-width: 999px){.formMain{margin-top:16.8%;margin-bottom:20.8%;margin-left:auto;margin-right:auto}}@media screen and (max-width: 768px){.formWap{width:89.33%;margin-top:0px;margin-bottom:0px;margin-left:auto;margin-right:auto}}@media screen and (max-width: 768px) and (max-width: 999px){.formWap{margin-top:0%;margin-bottom:0%;margin-left:auto;margin-right:auto}}.formTop{width:100%}.h1formTop{letter-spacing:0.05em}@media screen and (min-width: 1000px){.h1formTop{font-size:30px}}@media print, screen and (max-width: 999px){.h1formTop{font-size:3.003vw}}@media screen and (max-width: 768px){.h1formTop{font-size:5.33333vw}}p.txtformTop{letter-spacing:0.05em;line-height:2;margin-top:67px;margin-bottom:0px;margin-left:auto;margin-right:auto}@media screen and (min-width: 1000px){p.txtformTop{font-size:16px}}@media print, screen and (max-width: 999px){p.txtformTop{font-size:1.6016vw}}@media screen and (max-width: 768px){p.txtformTop{font-size:3.46667vw}}p.txtformTop::before{display:block;width:0;height:0;margin-top:calc((1 - 2) * .5em);content:""}p.txtformTop::after{display:block;width:0;height:0;margin-bottom:calc((1 - 2) * .5em);content:""}@media print, screen and (max-width: 999px){p.txtformTop{margin-top:6.7%;margin-bottom:0%;margin-left:auto;margin-right:auto}}@media screen and (max-width: 768px){p.txtformTop{text-align:left;line-height:1.76923;margin-top:66px;margin-bottom:0px;margin-left:auto;margin-right:auto}p.txtformTop::before{display:block;width:0;height:0;margin-top:calc((1 - 1.76923) * .5em);content:""}p.txtformTop::after{display:block;width:0;height:0;margin-bottom:calc((1 - 1.76923) * .5em);content:""}}@media screen and (max-width: 768px) and (max-width: 999px){p.txtformTop{margin-top:19.7%;margin-bottom:0%;margin-left:auto;margin-right:auto}}p.txtformTopThanks{margin-top:82px;margin-bottom:0px;margin-left:auto;margin-right:auto}@media print, screen and (max-width: 999px){p.txtformTopThanks{margin-top:8.2%;margin-bottom:0%;margin-left:auto;margin-right:auto}}@media screen and (max-width: 768px){p.txtformTopThanks{margin-top:21.7%}}.PicformStep{width:36.9%;margin-top:81px;margin-bottom:0px;margin-left:auto;margin-right:auto}@media print, screen and (max-width: 999px){.PicformStep{margin-top:8.1%;margin-bottom:0%;margin-left:auto;margin-right:auto}}@media screen and (max-width: 768px){.PicformStep{width:82.08%;margin-top:21.19%}}.PicformStep img{display:block;height:auto;width:100%}.formCnt{margin-top:78px;margin-bottom:0px;margin-left:auto;margin-right:auto}@media print, screen and (max-width: 999px){.formCnt{margin-top:7.8%;margin-bottom:0%;margin-left:auto;margin-right:auto}}@media screen and (max-width: 768px){.formCnt{margin-top:15.04%}}.secFormDetailSubdivision{border-left:5px solid #00758E;padding-top:0px;padding-bottom:0px;padding-left:18px;padding-right:0px}@media print, screen and (max-width: 999px){.secFormDetailSubdivision{padding:0% 0% 0% 1.8%}}@media screen and (max-width: 768px){.secFormDetailSubdivision{padding-top:2px;padding-bottom:2px;padding-left:10px;padding-right:0px}}@media screen and (max-width: 768px) and (max-width: 999px){.secFormDetailSubdivision{padding:.53% 0% .53% 2.66%}}.formMain .h2secFormDetailSubdivision{font-weight:600;line-height:1.6}@media screen and (min-width: 1000px){.formMain .h2secFormDetailSubdivision{font-size:24px}}@media print, screen and (max-width: 999px){.formMain .h2secFormDetailSubdivision{font-size:2.4024vw}}@media screen and (max-width: 768px){.formMain .h2secFormDetailSubdivision{font-size:5.33333vw}}.formMain .txtsecFormDetailSubdivision{margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;line-height:1.6}@media print, screen and (max-width: 999px){.formMain .txtsecFormDetailSubdivision{margin:0% 0% 0% 0%}}@media screen and (min-width: 1000px){.formMain .txtsecFormDetailSubdivision{font-size:15px}}@media print, screen and (max-width: 999px){.formMain .txtsecFormDetailSubdivision{font-size:1.5015vw}}@media screen and (max-width: 768px){.formMain .txtsecFormDetailSubdivision{font-size:3.2vw}}@media screen and (max-width: 768px){.formMain .txtsecFormDetailSubdivision{margin-top:4px;margin-bottom:0px;margin-left:0px;margin-right:0px}}@media screen and (max-width: 768px) and (max-width: 999px){.formMain .txtsecFormDetailSubdivision{margin:1.06% 0% 0% 0%}}.formTable01{margin-top:23px;margin-bottom:0px;margin-left:auto;margin-right:auto;width:100%}@media print, screen and (max-width: 999px){.formTable01{margin-top:2.3%;margin-bottom:0%;margin-left:auto;margin-right:auto}}@media screen and (max-width: 768px){.formTable01{margin-top:16px;margin-bottom:0px;margin-left:0px;margin-right:0px;display:block;width:100%}}@media screen and (max-width: 768px) and (max-width: 999px){.formTable01{margin:4.26% 0% 0% 0%}}.formTable{margin-top:23px;margin-bottom:0px;margin-left:auto;margin-right:auto;width:100%}@media print, screen and (max-width: 999px){.formTable{margin-top:2.3%;margin-bottom:0%;margin-left:auto;margin-right:auto}}@media screen and (max-width: 768px){.formTable{margin:9% 0 0 0;display:block;width:100%}}.formMain .thformTable{width:24.4%;vertical-align:middle}@media screen and (max-width: 768px){.formMain .thformTable{width:100%;display:block;padding:2.39% 0% 0% 0%;vertical-align:middle}}@media screen and (max-width: 768px){.formMain .thformTable02{padding:4.76% 0% 0% 0%}}.formMain .thformTable_textarea{padding-top:32px;padding-bottom:0px;padding-left:0px;padding-right:0px;vertical-align:top}@media print, screen and (max-width: 999px){.formMain .thformTable_textarea{padding:3.2% 0% 0% 0%}}@media screen and (max-width: 768px){.formMain .thformTable_textarea{padding:4.76% 0% 0% 0%}}h3.h3formTableFx{line-height:1.41176;font-weight:600}@media screen and (min-width: 1000px){h3.h3formTableFx{font-size:17px}}@media print, screen and (max-width: 999px){h3.h3formTableFx{font-size:1.7017vw}}@media screen and (max-width: 768px){h3.h3formTableFx{font-size:4.26667vw}}h3.h3formTableFx::before{display:block;width:0;height:0;margin-top:calc((1 - 1.41176) * .5em);content:""}h3.h3formTableFx::after{display:block;width:0;height:0;margin-bottom:calc((1 - 1.41176) * .5em);content:""}@media screen and (max-width: 768px){.formMain tbody,.formMain tr{display:block;width:100%}}.formMain .hissuformTableFx{width:17.62%;height:22px;display:flex;justify-content:center;align-items:center;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;line-height:1.08333;letter-spacing:0.05em;font-weight:600;color:#FFF;background:#FF92B0}@media screen and (min-width: 1000px){.formMain .hissuformTableFx{font-size:12px}}@media print, screen and (max-width: 999px){.formMain .hissuformTableFx{font-size:1.2012vw}}@media screen and (max-width: 768px){.formMain .hissuformTableFx{font-size:3.2vw}}.formMain .hissuformTableFx::before{display:block;width:0;height:0;margin-top:calc((1 - 1.08333) * .5em);content:""}.formMain .hissuformTableFx::after{display:block;width:0;height:0;margin-bottom:calc((1 - 1.08333) * .5em);content:""}@media screen and (max-width: 768px){.formMain .hissuformTableFx{width:12.83%;height:5.86667vw}}.formMain .niniformTableFx{width:17.62%;height:22px;display:flex;justify-content:center;align-items:center;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;line-height:1.08333;letter-spacing:0.05em;font-weight:600;color:#FFF;background:#32C9E9}@media screen and (min-width: 1000px){.formMain .niniformTableFx{font-size:12px}}@media print, screen and (max-width: 999px){.formMain .niniformTableFx{font-size:1.2012vw}}@media screen and (max-width: 768px){.formMain .niniformTableFx{font-size:3.2vw}}.formMain .niniformTableFx::before{display:block;width:0;height:0;margin-top:calc((1 - 1.08333) * .5em);content:""}.formMain .niniformTableFx::after{display:block;width:0;height:0;margin-bottom:calc((1 - 1.08333) * .5em);content:""}@media screen and (max-width: 768px){.formMain .niniformTableFx{width:12.83%;height:5.86667vw}}.formMain .tdformTable{width:76%;padding-top:17.5px;padding-bottom:17.5px;padding-left:25px;padding-right:0px;line-height:2}@media print, screen and (max-width: 999px){.formMain .tdformTable{padding:1.75% 0% 1.75% 2.5%}}.formMain .tdformTable::before{display:block;width:0;height:0;margin-top:calc((1 - 2) * .5em);content:""}.formMain .tdformTable::after{display:block;width:0;height:0;margin-bottom:calc((1 - 2) * .5em);content:""}@media screen and (min-width: 1000px){.formMain .tdformTable{font-size:16px}}@media print, screen and (max-width: 999px){.formMain .tdformTable{font-size:1.6016vw}}@media screen and (max-width: 768px){.formMain .tdformTable{font-size:4.26667vw}}@media screen and (max-width: 768px){.formMain .tdformTable{padding:6.58% 0% 5.46% 0%;display:block;width:100%}}.formSubdivisionGenre{width:100%}.liRadioFormTable{font-weight:600}@media screen and (min-width: 1000px){.liRadioFormTable{font-size:17px}}@media print, screen and (max-width: 999px){.liRadioFormTable{font-size:1.7017vw}}@media screen and (max-width: 768px){.liRadioFormTable{font-size:3.73333vw}}.liRadioFormTable:nth-child(2){margin-top:8px;margin-bottom:0px;margin-left:0px;margin-right:0px}@media print, screen and (max-width: 999px){.liRadioFormTable:nth-child(2){margin:.8% 0% 0% 0%}}@media screen and (max-width: 768px){.liRadioFormTable:nth-child(2){margin-top:10px;margin-bottom:0px;margin-left:0px;margin-right:0px}}@media screen and (max-width: 768px) and (max-width: 999px){.liRadioFormTable:nth-child(2){margin:2.98% 0% 0% 0%}}.liGenreFormTable:nth-child(2){margin-top:8px;margin-bottom:0px;margin-left:0px;margin-right:0px}@media print, screen and (max-width: 999px){.liGenreFormTable:nth-child(2){margin:.8% 0% 0% 0%}}@media screen and (max-width: 768px){.liGenreFormTable:nth-child(2){margin-top:10px;margin-bottom:0px;margin-left:0px;margin-right:0px}}@media screen and (max-width: 768px) and (max-width: 999px){.liGenreFormTable:nth-child(2){margin:2.98% 0% 0% 0%}}.liGenreFormTable{font-weight:600}@media screen and (min-width: 1000px){.liGenreFormTable{font-size:17px}}@media print, screen and (max-width: 999px){.liGenreFormTable{font-size:1.7017vw}}@media screen and (max-width: 768px){.liGenreFormTable{font-size:3.73333vw}}.txtGenreFormTable{margin-top:15px;margin-bottom:0px;margin-left:0px;margin-right:0px}@media screen and (min-width: 1000px){.txtGenreFormTable{font-size:15px}}@media print, screen and (max-width: 999px){.txtGenreFormTable{font-size:1.5015vw}}@media screen and (max-width: 768px){.txtGenreFormTable{font-size:3.2vw}}@media print, screen and (max-width: 999px){.txtGenreFormTable{margin:1.5% 0% 0% 0%}}@media screen and (max-width: 768px){.txtGenreFormTable{margin-top:18px;margin-bottom:0px;margin-left:0px;margin-right:0px}}@media screen and (max-width: 768px) and (max-width: 999px){.txtGenreFormTable{margin:5.37% 0% 0% 0%}}th.thformTable.thformTable01{padding-top:20px;padding-bottom:0px;padding-left:0px;padding-right:0px;vertical-align:top}@media print, screen and (max-width: 999px){th.thformTable.thformTable01{padding:2% 0% 0% 0%}}@media screen and (max-width: 768px){th.thformTable.thformTable01{padding:4.98% 0% 5.17% 0%}}.form_err{margin-top:80px;margin-bottom:0px;margin-left:0px;margin-right:0px}@media print, screen and (max-width: 999px){.form_err{margin:8% 0% 0% 0%}}@media screen and (max-width: 768px){.form_err{margin-top:70px;margin-bottom:0px;margin-left:0px;margin-right:0px}}@media screen and (max-width: 768px) and (max-width: 999px){.form_err{margin:20.89% 0% 0% 0%}}.li_form_err{text-align:center;color:#FF0000}@media screen and (min-width: 1000px){.li_form_err{font-size:16px}}@media print, screen and (max-width: 999px){.li_form_err{font-size:1.6016vw}}@media screen and (max-width: 768px){.li_form_err{font-size:3.73333vw}}.formMain .tdformTable.tdformTable_radio{width:76%;padding-top:16px;padding-bottom:16px;padding-left:25px;padding-right:0px}@media print, screen and (max-width: 999px){.formMain .tdformTable.tdformTable_radio{padding:1.6% 0% 1.6% 2.5%}}@media screen and (max-width: 768px){.formMain .tdformTable.tdformTable_radio{padding-top:10px;padding-bottom:10px;padding-left:0px;padding-right:0px;display:block;width:100%}}@media screen and (max-width: 768px) and (max-width: 999px){.formMain .tdformTable.tdformTable_radio{padding:2.98% 0% 2.98% 0%}}.formDetailSubdivisionKengaku{border-top:1px solid #C8C8C8;margin-top:34px;margin-bottom:0px;margin-left:auto;margin-right:auto;padding-top:50px;padding-bottom:0px;padding-left:0px;padding-right:0px}@media print, screen and (max-width: 999px){.formDetailSubdivisionKengaku{margin-top:3.4%;margin-bottom:0%;margin-left:auto;margin-right:auto}}@media print, screen and (max-width: 999px){.formDetailSubdivisionKengaku{padding-top:5%;padding-bottom:0%;padding-left:0;padding-right:0}}@media screen and (max-width: 768px){.formDetailSubdivisionKengaku{margin:11.5% auto 0 auto;padding:9.93% 0 0 0}}.tdFormTableSelectWap{width:75%}@media screen and (max-width: 768px){.tdFormTableSelectWap{width:100%}}.tdFormTableSelectLxc{width:48.17%}@media screen and (max-width: 768px){.tdFormTableSelectLxc{width:48.05%}}@media screen and (min-width: 1000px){.selectW100{font-size:16px}}@media print, screen and (max-width: 999px){.selectW100{font-size:1.6016vw}}@media screen and (max-width: 768px){.selectW100{font-size:3.46667vw}}.tdFormTableSelectLxc .selectW100{height:60px;background:#F6F6F6;border:1px solid #BCBCBC;width:100%;padding-top:20px;padding-bottom:20px;padding-left:17px;padding-right:17px;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px}@media print, screen and (max-width: 999px){.tdFormTableSelectLxc .selectW100{padding:7.57% 6.43% 7.57% 6.43%}}@media screen and (max-width: 768px){.tdFormTableSelectLxc .selectW100{height:13.33333vw;padding-top:16px;padding-bottom:16px;padding-left:12px;padding-right:12px}}@media screen and (max-width: 768px) and (max-width: 999px){.tdFormTableSelectLxc .selectW100{padding:9.93% 7.45% 9.93% 7.45%}}.selectYosan{width:50%;height:60px;padding-top:20px;padding-bottom:20px;padding-left:17px;padding-right:17px;background:#F6F6F6;border:1px solid #BCBCBC;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px}@media print, screen and (max-width: 999px){.selectYosan{padding:2.63% 2.23% 2.63% 2.23%}}@media screen and (max-width: 768px){.selectYosan{width:100%;height:13.33333vw}}.tdInputCalendar{position:relative}.tdInputCalendar .inputW100{background:#F6F6F6;border:1px solid #BCBCBC;width:100%;padding-top:16px;padding-bottom:16px;padding-left:17px;padding-right:17px;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px}@media screen and (min-width: 1000px){.tdInputCalendar .inputW100{font-size:16px}}@media print, screen and (max-width: 999px){.tdInputCalendar .inputW100{font-size:1.6016vw}}@media screen and (max-width: 768px){.tdInputCalendar .inputW100{font-size:3.46667vw}}@media print, screen and (max-width: 999px){.tdInputCalendar .inputW100{padding:6.06% 6.43% 6.06% 6.43%}}@media screen and (max-width: 768px){.tdInputCalendar .inputW100{height:13.33333vw;padding-top:0px;padding-bottom:0px;padding-left:12px;padding-right:12px}}@media screen and (max-width: 768px) and (max-width: 999px){.tdInputCalendar .inputW100{padding:0% 7.45% 0% 7.45%}}.iconInputCalendar{position:absolute;right:6.6%;position:absolute;top:0;bottom:0;margin:auto;height:24px;width:9.09%}@media screen and (max-width: 768px){.iconInputCalendar{right:5%;height:6.4vw;width:14.9%}}.iconInputCalendar img{display:block;width:100%;height:auto}p.txtKengakuYoyaku{line-height:1.6;margin-top:17px;margin-bottom:0px;margin-left:0px;margin-right:0px}@media screen and (min-width: 1000px){p.txtKengakuYoyaku{font-size:15px}}@media print, screen and (max-width: 999px){p.txtKengakuYoyaku{font-size:1.5015vw}}@media screen and (max-width: 768px){p.txtKengakuYoyaku{font-size:3.2vw}}p.txtKengakuYoyaku::before{display:block;width:0;height:0;margin-top:calc((1 - 1.6) * .5em);content:""}p.txtKengakuYoyaku::after{display:block;width:0;height:0;margin-bottom:calc((1 - 1.6) * .5em);content:""}@media print, screen and (max-width: 999px){p.txtKengakuYoyaku{margin:2.23% 0% 0% 0%}}@media screen and (max-width: 768px){p.txtKengakuYoyaku{line-height:1.66667;margin-top:21.5px;margin-bottom:0px;margin-left:0px;margin-right:0px}p.txtKengakuYoyaku::before{display:block;width:0;height:0;margin-top:calc((1 - 1.66667) * .5em);content:""}p.txtKengakuYoyaku::after{display:block;width:0;height:0;margin-bottom:calc((1 - 1.66667) * .5em);content:""}}@media screen and (max-width: 768px) and (max-width: 999px){p.txtKengakuYoyaku{margin:6.41% 0% 0% 0%}}.formCnt .thformTable_nichiji{padding-top:32px;padding-bottom:0px;padding-left:0px;padding-right:0px;vertical-align:top}@media print, screen and (max-width: 999px){.formCnt .thformTable_nichiji{padding:3.2% 0% 0% 0%}}@media screen and (max-width: 768px){.formCnt .thformTable_nichiji{padding:4.76% 0% 0% 0%}}.formDetailSubdivision{margin-top:23px;margin-bottom:0px;margin-left:auto;margin-right:auto;padding-top:50px;padding-bottom:0px;padding-left:0px;padding-right:0px;border-top:1px solid #C8C8C8}@media print, screen and (max-width: 999px){.formDetailSubdivision{margin-top:2.3%;margin-bottom:0%;margin-left:auto;margin-right:auto}}@media print, screen and (max-width: 999px){.formDetailSubdivision{padding-top:5%;padding-bottom:0%;padding-left:0;padding-right:0}}@media screen and (max-width: 768px){.formDetailSubdivision{margin-top:6.99%;padding-top:10.93%}}input.inputWName{width:50.6%;height:60px;padding-top:20px;padding-bottom:20px;padding-left:17px;padding-right:17px;background:#F6F6F6;border:1px solid #BCBCBC;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px}@media print, screen and (max-width: 999px){input.inputWName{padding:2.63% 2.23% 2.63% 2.23%}}@media screen and (max-width: 768px){input.inputWName{width:100%;height:13.33333vw}}.inputW100{width:100%;height:60px;padding-top:20px;padding-bottom:20px;padding-left:17px;padding-right:17px;background:#F6F6F6;border:1px solid #BCBCBC;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px}@media print, screen and (max-width: 999px){.inputW100{padding:2.63% 2.23% 2.63% 2.23%}}@media screen and (min-width: 1000px){.inputW100{font-size:16px}}@media print, screen and (max-width: 999px){.inputW100{font-size:1.6016vw}}@media screen and (max-width: 768px){.inputW100{font-size:3.46667vw}}@media screen and (max-width: 768px){.inputW100{height:13.33333vw}}.inputPostCode{width:37.23%;height:60px;padding-top:20px;padding-bottom:20px;padding-left:17px;padding-right:17px;background:#F6F6F6;border:1px solid #BCBCBC;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px}@media print, screen and (max-width: 999px){.inputPostCode{padding:2.63% 2.23% 2.63% 2.23%}}@media screen and (max-width: 768px){.inputPostCode{width:100%;height:13.33333vw}}.tdformTable textarea{width:100%;height:180px;padding-top:20px;padding-bottom:20px;padding-left:17px;padding-right:17px;background:#F6F6F6;border:1px solid #BCBCBC;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;line-height:1.75}@media print, screen and (max-width: 999px){.tdformTable textarea{padding:2.63% 2.23% 2.63% 2.23%}}.tdformTable textarea::before{display:block;width:0;height:0;margin-top:calc((1 - 1.75) * .5em);content:""}.tdformTable textarea::after{display:block;width:0;height:0;margin-bottom:calc((1 - 1.75) * .5em);content:""}@media screen and (max-width: 768px){.tdformTable textarea{height:41.86667vw}}.selectYosan{width:50.6%}@media screen and (max-width: 768px){.selectYosan{width:100%;height:13.33333vw}}.userForm{margin-top:34px;margin-bottom:0px;margin-left:auto;margin-right:auto;padding-top:50px;padding-bottom:0px;padding-left:0px;padding-right:0px;border-top:1px solid #C8C8C8}@media print, screen and (max-width: 999px){.userForm{margin-top:3.4%;margin-bottom:0%;margin-left:auto;margin-right:auto}}@media print, screen and (max-width: 999px){.userForm{padding-top:5%;padding-bottom:0%;padding-left:0;padding-right:0}}@media screen and (max-width: 768px){.userForm{margin-top:5.29%;padding-top:39.984px;padding-bottom:0px;padding-left:0px;padding-right:0px}}@media screen and (max-width: 768px) and (max-width: 999px){.userForm{padding-top:11.93%;padding-bottom:0%;padding-left:0;padding-right:0}}.readPrivacy{margin-top:79px;margin-bottom:0px;margin-left:auto;margin-right:auto}@media print, screen and (max-width: 999px){.readPrivacy{margin-top:7.9%;margin-bottom:0%;margin-left:auto;margin-right:auto}}@media screen and (max-width: 768px){.readPrivacy{margin:12.5% auto 0 auto}}.readPrivacyBox{padding-top:35px;padding-bottom:0px;padding-left:33px;padding-right:33px;border:1px solid #000;overflow:auto;height:240px;scrollbar-width:none}@media print, screen and (max-width: 999px){.readPrivacyBox{padding:3.5% 3.3% 0% 3.3%}}@media screen and (max-width: 768px){.readPrivacyBox{padding-top:25px;padding-bottom:0px;padding-left:21px;padding-right:21px;height:76.53333vw;margin:0 auto}}@media screen and (max-width: 768px) and (max-width: 999px){.readPrivacyBox{padding:6.66% 5.6% 0% 5.6%}}.readPrivacyBox:-webkit-scrollbar{display:none}.secReadPrivacyBox{margin-top:0px;margin-bottom:24px;margin-left:auto;margin-right:auto}@media print, screen and (max-width: 999px){.secReadPrivacyBox{margin-top:0%;margin-bottom:2.4%;margin-left:auto;margin-right:auto}}@media screen and (max-width: 768px){.secReadPrivacyBox{margin-top:0px;margin-bottom:20px;margin-left:auto;margin-right:auto}}@media screen and (max-width: 768px) and (max-width: 999px){.secReadPrivacyBox{margin-top:0%;margin-bottom:5.97%;margin-left:auto;margin-right:auto}}.readPrivacyBox .h2secReadPrivacyBox{line-height:1.6875;font-weight:600;line-height:1.7}@media screen and (min-width: 1000px){.readPrivacyBox .h2secReadPrivacyBox{font-size:16px}}@media print, screen and (max-width: 999px){.readPrivacyBox .h2secReadPrivacyBox{font-size:1.6016vw}}@media screen and (max-width: 768px){.readPrivacyBox .h2secReadPrivacyBox{font-size:3.73333vw}}.readPrivacyBox .h2secReadPrivacyBox::before{display:block;width:0;height:0;margin-top:calc((1 - 1.6875) * .5em);content:""}.readPrivacyBox .h2secReadPrivacyBox::after{display:block;width:0;height:0;margin-bottom:calc((1 - 1.6875) * .5em);content:""}.readPrivacyBox .txtSecReadPrivacyBox{margin-top:10px;margin-bottom:0px;margin-left:auto;margin-right:auto;line-height:1.6}@media print, screen and (max-width: 999px){.readPrivacyBox .txtSecReadPrivacyBox{margin-top:1%;margin-bottom:0%;margin-left:auto;margin-right:auto}}@media screen and (min-width: 1000px){.readPrivacyBox .txtSecReadPrivacyBox{font-size:15px}}@media print, screen and (max-width: 999px){.readPrivacyBox .txtSecReadPrivacyBox{font-size:1.5015vw}}@media screen and (max-width: 768px){.readPrivacyBox .txtSecReadPrivacyBox{font-size:3.2vw}}@media screen and (max-width: 768px){.readPrivacyBox .txtSecReadPrivacyBox{margin-top:16px;margin-bottom:0px;margin-left:auto;margin-right:auto}}@media screen and (max-width: 768px) and (max-width: 999px){.readPrivacyBox .txtSecReadPrivacyBox{margin-top:4.26%;margin-bottom:0%;margin-left:auto;margin-right:auto}}.readPrivacyBox .txtSecReadPrivacyBox a{color:#0077FF;text-decoration:underline}.chackReadPrivacywap{margin-top:46px;margin-bottom:0px;margin-left:auto;margin-right:auto;font-weight:600;text-align:center;width:37.7%;white-space:nowrap}@media print, screen and (max-width: 999px){.chackReadPrivacywap{margin-top:4.6%;margin-bottom:0%;margin-left:auto;margin-right:auto}}@media screen and (min-width: 1000px){.chackReadPrivacywap{font-size:17px}}@media print, screen and (max-width: 999px){.chackReadPrivacywap{font-size:1.7017vw}}@media screen and (max-width: 768px){.chackReadPrivacywap{font-size:3.73333vw}}@media screen and (max-width: 768px){.chackReadPrivacywap{width:100%;margin-top:40px;margin-bottom:0px;margin-left:auto;margin-right:auto}}@media screen and (max-width: 768px) and (max-width: 999px){.chackReadPrivacywap{margin-top:11.94%;margin-bottom:0%;margin-left:auto;margin-right:auto}}.chackReadPrivacywap p.hissuformTableFx{width:12.62%}@media screen and (max-width: 768px){.chackReadPrivacywap p.hissuformTableFx{width:14.83%}}.chackReadPrivacywap label{width:100%;justify-content:flex-start}.chackReadPrivacy{margin:auto 4% auto 0;font-feature-settings:"palt"}.formSubmitButtonWap{font-weight:600;margin-top:51px;margin-bottom:0px;margin-left:auto;margin-right:auto;width:39%}@media print, screen and (max-width: 999px){.formSubmitButtonWap{margin-top:5.09%;margin-bottom:0%;margin-left:auto;margin-right:auto}}@media screen and (max-width: 768px){.formSubmitButtonWap{margin-top:38.5px;margin-bottom:0px;margin-left:auto;margin-right:auto;width:87.46%}}@media screen and (max-width: 768px) and (max-width: 999px){.formSubmitButtonWap{margin-top:11.49%;margin-bottom:0%;margin-left:auto;margin-right:auto}}.formSubmitButton{cursor:pointer;border:none;color:#FFF;overflow:hidden;display:inline-block;text-align:center;text-decoration:none;outline:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:all .3s;transition:all .3s;background-color:#00758E;border:1px solid #00758E;color:#fff;display:block;background-image:url(../img/wh_arrow.svg);background-size:auto 38%;background-position:center right 6%;background-repeat:no-repeat;height:70px;width:100%;display:flex;justify-content:center;align-items:center}.formSubmitButton::before{position:absolute;z-index:-1;display:block;content:'';-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:all .3s;transition:all .3s}.formSubmitButton::after{position:absolute;z-index:-1;display:block;content:'';-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:all .3s;transition:all .3s}.formSubmitButton:hover{background-color:#333;border-color:#333;color:#fff}@media screen and (max-width: 768px){.formSubmitButton{height:17.06667vw}}input.formSubmitButton{font-weight:600}@media screen and (min-width: 1000px){input.formSubmitButton{font-size:17px}}@media print, screen and (max-width: 999px){input.formSubmitButton{font-size:1.7017vw}}@media screen and (max-width: 768px){input.formSubmitButton{font-size:4.26667vw}}

/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiY3NzL2lucXVpcnkuY3NzIiwKCSJzb3VyY2VzIjogWwoJCSJzY3NzL2lucXVpcnkuc2NzcyIsCgkJInNjc3Mvc2Fzc19iYXNlL19taXhpbi5zY3NzIiwKCQkic2Nzcy9ib3VyYm9uL19ib3VyYm9uLnNjc3MiLAoJCSJzY3NzL2JvdXJib24vc2V0dGluZ3MvX3ByZWZpeGVyLnNjc3MiLAoJCSJzY3NzL2JvdXJib24vc2V0dGluZ3MvX3B4LXRvLWVtLnNjc3MiLAoJCSJzY3NzL2JvdXJib24vc2V0dGluZ3MvX2Fzc2V0LXBpcGVsaW5lLnNjc3MiLAoJCSJzY3NzL2JvdXJib24vZnVuY3Rpb25zL19hc3NpZ24taW5wdXRzLnNjc3MiLAoJCSJzY3NzL2JvdXJib24vZnVuY3Rpb25zL19jb250YWlucy5zY3NzIiwKCQkic2Nzcy9ib3VyYm9uL2Z1bmN0aW9ucy9fY29udGFpbnMtZmFsc3kuc2NzcyIsCgkJInNjc3MvYm91cmJvbi9mdW5jdGlvbnMvX2lzLWxlbmd0aC5zY3NzIiwKCQkic2Nzcy9ib3VyYm9uL2Z1bmN0aW9ucy9faXMtbGlnaHQuc2NzcyIsCgkJInNjc3MvYm91cmJvbi9mdW5jdGlvbnMvX2lzLW51bWJlci5zY3NzIiwKCQkic2Nzcy9ib3VyYm9uL2Z1bmN0aW9ucy9faXMtc2l6ZS5zY3NzIiwKCQkic2Nzcy9ib3VyYm9uL2Z1bmN0aW9ucy9fcHgtdG8tZW0uc2NzcyIsCgkJInNjc3MvYm91cmJvbi9mdW5jdGlvbnMvX3B4LXRvLXJlbS5zY3NzIiwKCQkic2Nzcy9ib3VyYm9uL2Z1bmN0aW9ucy9fc2hhZGUuc2NzcyIsCgkJInNjc3MvYm91cmJvbi9mdW5jdGlvbnMvX3N0cmlwLXVuaXRzLnNjc3MiLAoJCSJzY3NzL2JvdXJib24vZnVuY3Rpb25zL190aW50LnNjc3MiLAoJCSJzY3NzL2JvdXJib24vZnVuY3Rpb25zL190cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUuc2NzcyIsCgkJInNjc3MvYm91cmJvbi9mdW5jdGlvbnMvX3VucGFjay5zY3NzIiwKCQkic2Nzcy9ib3VyYm9uL2Z1bmN0aW9ucy9fbW9kdWxhci1zY2FsZS5zY3NzIiwKCQkic2Nzcy9ib3VyYm9uL2hlbHBlcnMvX2NvbnZlcnQtdW5pdHMuc2NzcyIsCgkJInNjc3MvYm91cmJvbi9oZWxwZXJzL19kaXJlY3Rpb25hbC12YWx1ZXMuc2NzcyIsCgkJInNjc3MvYm91cmJvbi9oZWxwZXJzL19mb250LXNvdXJjZS1kZWNsYXJhdGlvbi5zY3NzIiwKCQkic2Nzcy9ib3VyYm9uL2hlbHBlcnMvX2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsCgkJInNjc3MvYm91cmJvbi9oZWxwZXJzL19saW5lYXItYW5nbGUtcGFyc2VyLnNjc3MiLAoJCSJzY3NzL2JvdXJib24vaGVscGVycy9fbGluZWFyLWdyYWRpZW50LXBhcnNlci5zY3NzIiwKCQkic2Nzcy9ib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLAoJCSJzY3NzL2JvdXJib24vaGVscGVycy9fbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlci5zY3NzIiwKCQkic2Nzcy9ib3VyYm9uL2hlbHBlcnMvX3JhZGlhbC1hcmctcGFyc2VyLnNjc3MiLAoJCSJzY3NzL2JvdXJib24vaGVscGVycy9fcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsCgkJInNjc3MvYm91cmJvbi9oZWxwZXJzL19yYWRpYWwtZ3JhZGllbnQtcGFyc2VyLnNjc3MiLAoJCSJzY3NzL2JvdXJib24vaGVscGVycy9fcmVuZGVyLWdyYWRpZW50cy5zY3NzIiwKCQkic2Nzcy9ib3VyYm9uL2hlbHBlcnMvX3NoYXBlLXNpemUtc3RyaXBwZXIuc2NzcyIsCgkJInNjc3MvYm91cmJvbi9oZWxwZXJzL19zdHItdG8tbnVtLnNjc3MiLAoJCSJzY3NzL2JvdXJib24vY3NzMy9fYW5pbWF0aW9uLnNjc3MiLAoJCSJzY3NzL2JvdXJib24vY3NzMy9fYXBwZWFyYW5jZS5zY3NzIiwKCQkic2Nzcy9ib3VyYm9uL2NzczMvX2JhY2tmYWNlLXZpc2liaWxpdHkuc2NzcyIsCgkJInNjc3MvYm91cmJvbi9jc3MzL19iYWNrZ3JvdW5kLnNjc3MiLAoJCSJzY3NzL2JvdXJib24vY3NzMy9fYmFja2dyb3VuZC1pbWFnZS5zY3NzIiwKCQkic2Nzcy9ib3VyYm9uL2NzczMvX2JvcmRlci1pbWFnZS5zY3NzIiwKCQkic2Nzcy9ib3VyYm9uL2NzczMvX2NhbGMuc2NzcyIsCgkJInNjc3MvYm91cmJvbi9jc3MzL19jb2x1bW5zLnNjc3MiLAoJCSJzY3NzL2JvdXJib24vY3NzMy9fZmlsdGVyLnNjc3MiLAoJCSJzY3NzL2JvdXJib24vY3NzMy9fZmxleC1ib3guc2NzcyIsCgkJInNjc3MvYm91cmJvbi9jc3MzL19mb250LWZhY2Uuc2NzcyIsCgkJInNjc3MvYm91cmJvbi9jc3MzL19mb250LWZlYXR1cmUtc2V0dGluZ3Muc2NzcyIsCgkJInNjc3MvYm91cmJvbi9jc3MzL19oaWRwaS1tZWRpYS1xdWVyeS5zY3NzIiwKCQkic2Nzcy9ib3VyYm9uL2NzczMvX2h5cGhlbnMuc2NzcyIsCgkJInNjc3MvYm91cmJvbi9jc3MzL19pbWFnZS1yZW5kZXJpbmcuc2NzcyIsCgkJInNjc3MvYm91cmJvbi9jc3MzL19rZXlmcmFtZXMuc2NzcyIsCgkJInNjc3MvYm91cmJvbi9jc3MzL19saW5lYXItZ3JhZGllbnQuc2NzcyIsCgkJInNjc3MvYm91cmJvbi9jc3MzL19wZXJzcGVjdGl2ZS5zY3NzIiwKCQkic2Nzcy9ib3VyYm9uL2NzczMvX3BsYWNlaG9sZGVyLnNjc3MiLAoJCSJzY3NzL2JvdXJib24vY3NzMy9fcmFkaWFsLWdyYWRpZW50LnNjc3MiLAoJCSJzY3NzL2JvdXJib24vY3NzMy9fc2VsZWN0aW9uLnNjc3MiLAoJCSJzY3NzL2JvdXJib24vY3NzMy9fdGV4dC1kZWNvcmF0aW9uLnNjc3MiLAoJCSJzY3NzL2JvdXJib24vY3NzMy9fdHJhbnNmb3JtLnNjc3MiLAoJCSJzY3NzL2JvdXJib24vY3NzMy9fdHJhbnNpdGlvbi5zY3NzIiwKCQkic2Nzcy9ib3VyYm9uL2NzczMvX3VzZXItc2VsZWN0LnNjc3MiLAoJCSJzY3NzL2JvdXJib24vYWRkb25zL19ib3JkZXItY29sb3Iuc2NzcyIsCgkJInNjc3MvYm91cmJvbi9hZGRvbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsCgkJInNjc3MvYm91cmJvbi9hZGRvbnMvX2JvcmRlci1zdHlsZS5zY3NzIiwKCQkic2Nzcy9ib3VyYm9uL2FkZG9ucy9fYm9yZGVyLXdpZHRoLnNjc3MiLAoJCSJzY3NzL2JvdXJib24vYWRkb25zL19idXR0b25zLnNjc3MiLAoJCSJzY3NzL2JvdXJib24vYWRkb25zL19jbGVhcmZpeC5zY3NzIiwKCQkic2Nzcy9ib3VyYm9uL2FkZG9ucy9fZWxsaXBzaXMuc2NzcyIsCgkJInNjc3MvYm91cmJvbi9hZGRvbnMvX2ZvbnQtc3RhY2tzLnNjc3MiLAoJCSJzY3NzL2JvdXJib24vYWRkb25zL19oaWRlLXRleHQuc2NzcyIsCgkJInNjc3MvYm91cmJvbi9hZGRvbnMvX21hcmdpbi5zY3NzIiwKCQkic2Nzcy9ib3VyYm9uL2FkZG9ucy9fcGFkZGluZy5zY3NzIiwKCQkic2Nzcy9ib3VyYm9uL2FkZG9ucy9fcG9zaXRpb24uc2NzcyIsCgkJInNjc3MvYm91cmJvbi9hZGRvbnMvX3ByZWZpeGVyLnNjc3MiLAoJCSJzY3NzL2JvdXJib24vYWRkb25zL19yZXRpbmEtaW1hZ2Uuc2NzcyIsCgkJInNjc3MvYm91cmJvbi9hZGRvbnMvX3NpemUuc2NzcyIsCgkJInNjc3MvYm91cmJvbi9hZGRvbnMvX3RleHQtaW5wdXRzLnNjc3MiLAoJCSJzY3NzL2JvdXJib24vYWRkb25zL190aW1pbmctZnVuY3Rpb25zLnNjc3MiLAoJCSJzY3NzL2JvdXJib24vYWRkb25zL190cmlhbmdsZS5zY3NzIiwKCQkic2Nzcy9ib3VyYm9uL2FkZG9ucy9fd29yZC13cmFwLnNjc3MiLAoJCSJzY3NzL2JvdXJib24vX2JvdXJib24tZGVwcmVjYXRlZC11cGNvbWluZy5zY3NzIiwKCQkic2Nzcy9uZWF0L19uZWF0LnNjc3MiLAoJCSJzY3NzL25lYXQvX25lYXQtaGVscGVycy5zY3NzIiwKCQkic2Nzcy9uZWF0L2Z1bmN0aW9ucy9fcHJpdmF0ZS5zY3NzIiwKCQkic2Nzcy9uZWF0L2Z1bmN0aW9ucy9fbmV3LWJyZWFrcG9pbnQuc2NzcyIsCgkJInNjc3MvbmVhdC9zZXR0aW5ncy9fZ3JpZC5zY3NzIiwKCQkic2Nzcy9uZWF0L3NldHRpbmdzL192aXN1YWwtZ3JpZC5zY3NzIiwKCQkic2Nzcy9uZWF0L3NldHRpbmdzL19kaXNhYmxlLXdhcm5pbmdzLnNjc3MiLAoJCSJzY3NzL25lYXQvZ3JpZC9fcHJpdmF0ZS5zY3NzIiwKCQkic2Nzcy9uZWF0L2dyaWQvX2JveC1zaXppbmcuc2NzcyIsCgkJInNjc3MvbmVhdC9ncmlkL19vbWVnYS5zY3NzIiwKCQkic2Nzcy9uZWF0L2dyaWQvX291dGVyLWNvbnRhaW5lci5zY3NzIiwKCQkic2Nzcy9uZWF0L2dyaWQvX3NwYW4tY29sdW1ucy5zY3NzIiwKCQkic2Nzcy9uZWF0L2dyaWQvX3Jvdy5zY3NzIiwKCQkic2Nzcy9uZWF0L2dyaWQvX3NoaWZ0LnNjc3MiLAoJCSJzY3NzL25lYXQvZ3JpZC9fcGFkLnNjc3MiLAoJCSJzY3NzL25lYXQvZ3JpZC9fZmlsbC1wYXJlbnQuc2NzcyIsCgkJInNjc3MvbmVhdC9ncmlkL19tZWRpYS5zY3NzIiwKCQkic2Nzcy9uZWF0L2dyaWQvX3RvLWRlcHJlY2F0ZS5zY3NzIiwKCQkic2Nzcy9uZWF0L2dyaWQvX3Zpc3VhbC1ncmlkLnNjc3MiLAoJCSJzY3NzL25lYXQvZ3JpZC9fZGlzcGxheS1jb250ZXh0LnNjc3MiLAoJCSJzY3NzL25lYXQvZ3JpZC9fZGlyZWN0aW9uLWNvbnRleHQuc2NzcyIsCgkJInNjc3MvX215c2V0dGluZy5zY3NzIiwKCQkic2Nzcy9zYXNzX2Jhc2UvX2NvZGluZ19ndWlkZWxpbmUuc2NzcyIsCgkJInNjc3Mvc2Fzc19iYXNlL19hbmltYXRlLnNjc3MiLAoJCSJzY3NzL19jb2xvci5zY3NzIiwKCQkic2Nzcy9MYXlvdXQvaW5kZXgvX2luZGV4LnNjc3MiLAoJCSJzY3NzL0xheW91dC9pbmRleC9fMDFfZm9ybVRvcC5zY3NzIiwKCQkic2Nzcy9MYXlvdXQvX2NvbmZpcm0uc2NzcyIsCgkJInNjc3MvTGF5b3V0L190aGFua3Muc2NzcyIsCgkJInNjc3MvQ29tcG9uZW50L2Zvcm0vX2Zvcm0uc2NzcyIsCgkJInNjc3MvQ29tcG9uZW50L2Zvcm0vXzAxX2Zvcm1TdWJkaXZpc2lvbkdlbnJlLnNjc3MiLAoJCSJzY3NzL0NvbXBvbmVudC9mb3JtL18wMl9mb3JtRGV0YWlsU3ViZGl2aXNpb24uc2NzcyIsCgkJInNjc3MvQ29tcG9uZW50L2Zvcm0vXzAzX2Zvcm1EZXRhaWxSZXF1ZXN0LnNjc3MiLAoJCSJzY3NzL0NvbXBvbmVudC9mb3JtL18wNF91c2VyRm9ybS5zY3NzIiwKCQkic2Nzcy9Db21wb25lbnQvZm9ybS9fMDVfcmVhZFByaXZhY3kuc2NzcyIsCgkJInNjc3MvQ29tcG9uZW50L2Zvcm0vXzA2X2Zvcm1CdG0uc2NzcyIKCV0sCgkic291cmNlc0NvbnRlbnQiOiBbCgkJIkBjaGFyc2V0IFwidXRmLThcIjtcclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkZ1bmNpdG9uc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5AaW1wb3J0ICdzYXNzX2Jhc2UvbWl4aW4nO1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuUnVsZVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5AaW1wb3J0ICdzYXNzX2Jhc2UvY29kaW5nX2d1aWRlbGluZSc7XHJcbkBpbXBvcnQgJ3Nhc3NfYmFzZS9hbmltYXRlJztcclxuQGltcG9ydCAnX2NvbG9yJztcclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkxheW91dFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5AaW1wb3J0ICdMYXlvdXQvaW5kZXgvX2luZGV4JztcclxuQGltcG9ydCAnTGF5b3V0L19jb25maXJtJztcclxuQGltcG9ydCAnTGF5b3V0L190aGFua3MnO1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuT2JqZWN0XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5Db21wb25lbnRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuQGltcG9ydCAnQ29tcG9uZW50L2Zvcm0vX2Zvcm0nO1xyXG5cclxuIiwKCQkiQGNoYXJzZXQgXCJ1dGYtOFwiO1xyXG5AaW1wb3J0IFwiLi4vYm91cmJvbi9ib3VyYm9uXCI7XHJcbkBpbXBvcnQgXCIuLi9uZWF0L25lYXRcIjtcclxuQGltcG9ydCBcIi4uL215c2V0dGluZ1wiO1xyXG5cclxuLy9QQ+aZglxyXG4kcGM6IG5ldy1icmVha3BvaW50KG1pbi13aWR0aCAkcGNTaXplIDE2KTsvL1BD5pmC77yI5Z+65pys44OZ44O844K577yJXHJcblxyXG4vL+OBk+OBk+OBi+OCiTUwcHjjgZrjgaTjg5bjg6zjgqTjgq/jg53jgqTjg7Pjg4jjgpLnmbrli5VcclxuJG1heDE2NTAgOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggMTY1MHB4IDE2KTtcclxuJG1heDE2MDAgOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggMTYwMHB4IDE2KTtcclxuJG1heDE1MDAgOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggMTUwMHB4IDE2KTtcclxuJG1heDE0NTAgOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggMTQ1MHB4IDE2KTtcclxuJG1heDE0MDAgOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggMTQwMHB4IDE2KTtcclxuJG1heDEzNTAgOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggMTM1MHB4IDE2KTtcclxuJG1heDEzMDAgOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggMTMwMHB4IDE2KTtcclxuJG1heDEyNTAgOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggMTI1MHB4IDE2KTtcclxuJG1heDEyMDAgOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggMTIwMHB4IDE2KTtcclxuJG1heDExNTAgOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggMTE1MHB4IDE2KTtcclxuJG1heDExMDAgOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggMTEwMHB4IDE2KTtcclxuJG1heDEwNTAgOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggMTA1MHB4IDgpO1xyXG4kbWF4MTAwMCA6IG5ldy1icmVha3BvaW50KG1heC13aWR0aCAxMDAwcHggOCk7XHJcbiRtYXg5NTAgOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggOTUwcHggOCk7XHJcbiRtYXg5MDAgOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggOTAwcHggOCk7XHJcbiRtYXg4NTAgOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggODUwcHggOCk7XHJcbiRtYXg4MDAgOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggODAwcHggOCk7XHJcblxyXG4vL+OCv+ODluODrOODg+ODiOaZglxyXG4kdGFiOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggJHRhYlNpemUgOCk7Ly/jgr/jg5bjg6zjg4Pjg4jmqKpcclxuJHRhYl90YXRlOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggJHRhYlRhdGVTaXplIDYpOy8v44K/44OW44Os44OD44OI57imXHJcblxyXG4vL+OCueODnuODm+aZglxyXG4kc3A6IG5ldy1icmVha3BvaW50KG1heC13aWR0aCAkc3BTaXplIDQpO1xyXG5cclxuJGd1dHRlcjogZ29sZGVuLXJhdGlvKDBlbSwgMCk7XHJcbiRmZy1ndXR0ZXI6ICRndXR0ZXI7XHJcblxyXG4vL21peGlu44KS5oyH5a6aXHJcbkBtaXhpbiBtaW50eW91KCRmb250c2l6ZSkge1xyXG4gICAgZm9udC1zaXplOiAkZm9udHNpemU7XHJcbiAgICBmb250LWZhbWlseTpcIlJvYm90byBTbGFiXCIgLCBHYXJhbW9uZCAsIFwiVGltZXMgTmV3IFJvbWFuXCIgLCBcIua4uOaYjuacnVwiICwgXHJcbiAgICAgICAgXCJZdSBNaW5jaG9cIiAsIFwi5ri45piO5pyd5L2TXCIgLCBcIll1TWluY2hvXCIgLCBcIuODkuODqeOCruODjuaYjuacnSBQcm8gVzNcIiAsIFxyXG4gICAgICAgIFwiSGlyYWdpbm8gTWluY2hvIFByb1wiICwgXCJIaXJhTWluUHJvTi1XM1wiICwgXCJIR1PmmI7mnJ1FXCIgLCBcIu+8re+8syDvvLDmmI7mnJ1cIiAsIFwiTVMgUE1pbmNob1wiICwgc2VyaWY7XHJcbn1cclxuQG1peGluIGdvc2hpY2soJGZvbnRzaXplKSB7XHJcbiAgICBmb250LXNpemU6ICRmb250c2l6ZTtcclxuICAgIGZvbnQtZmFtaWx5OkF2ZW5pciAsIFwiT3BlbiBTYW5zXCIgLCBcIkhlbHZldGljYSBOZXVlXCIgLCBIZWx2ZXRpY2EgLCBBcmlhbCAsXHJcbiAgICAgICAgVmVyZGFuYSAsIFJvYm90byAsIFwi5ri444K044K344OD44KvXCIgLCBcIll1IEdvdGhpY1wiICwgXCLmuLjjgrTjgrfjg4Pjgq/kvZNcIiAsIFwiWXVHb3RoaWNcIiAsIFxyXG4gICAgICAgIFwi44OS44Op44Ku44OO6KeS44K0IFBybyBXM1wiICwgXCJIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9cIiAsIFwiTWVpcnlvIFVJXCIgLCBcIuODoeOCpOODquOCqlwiICwgXHJcbiAgICAgICAgTWVpcnlvICwgXCLvvK3vvLMg77yw44K044K344OD44KvXCIgLCBcIk1TIFBHb3RoaWNcIiAsIHNhbnMtc2VyaWY7XHJcbn1cclxuQG1peGluIG1hcnVnb3NoaWNrKCRmb250c2l6ZSkge1xyXG4gICAgZm9udC1zaXplOiAkZm9udHNpemU7XHJcbiAgICBmb250LWZhbWlseTogXCLjg5Ljg6njgq7jg47kuLjjgrQgUHJvIFc0XCIsXCLjg5Ljg6njgq7jg47kuLjjgrQgUHJvXCIsXCJIaXJhZ2lubyBNYXJ1IEdvdGhpYyBQcm9cIixcclxuICAgICAgICBcIuODkuODqeOCruODjuinkuOCtCBQcm8gVzNcIixcIkhpcmFnaW5vIEtha3UgR290aGljIFByb1wiLFwiSEfkuLjvvbrvvp7vvbzvva/vvbhNLVBST1wiLFwiSEdNYXJ1R290aGljTVBST1wiO1xyXG59XHJcblxyXG5AbWl4aW4gcnNGb250U2l6ZSgkcGNfc2l6ZTowcHgsJHRhYl9zaXplOjB2dywkc3Bfc2l6ZTowdncpIHtcclxuICAgIEBpZiAkcGNfc2l6ZT09MHB4IHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkcGMpe1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRwY19zaXplO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkcGMpe1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRwY19zaXplK3B4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpZiAkdGFiX3NpemU9PTB2dyB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYil7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHRhYl9zaXplO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFiKXtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAoKCAkdGFiX3NpemUgLyAkdGFiU2l6ZVB4Tm9uZSApICogMTAwMDB2dyApIC8gMTAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpZiAkc3Bfc2l6ZT09MHZ3IHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkc3Ape1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRzcF9zaXplO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkc3Ape1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICgoICRzcF9zaXplIC8gMzc1ICkgKiAxMDAwMHZ3ICkgLyAxMDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8v5pen54mIXHJcbkBtaXhpbiByc19mb250X3NpemUoJHBjX3NpemU6MTZweCwkdGFiX3NpemU6MS41NjI1dncsJHNwX3NpemU6NC4yNjY2NjY2NjY2NjY2Njd2dykge1xyXG4gICAgQGlmICRwY19zaXplPT0xcmVtIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkcGMpe1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRwY19zaXplO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkcGMpe1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRwY19zaXplO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpZiAkdGFiX3NpemU9PTEuNTYyNXZ3IHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFiKXtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkdGFiX3NpemU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWIpe1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICR0YWJfc2l6ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaWYgJHNwX3NpemU9PTQuMjY2NjY2NjY2NjY2NjY3dncge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRzcCl7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNwX3NpemU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRzcCl7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNwX3NpemU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gc2hpbm1pbnR5b3UoJHBjX3NpemU6MXJlbSwkdGFiX3NpemU6MS4yNXZ3LCRzcF9zaXplOjN2dykge1xyXG4gICAgZm9udC1mYW1pbHk6XCJzYW5zLXNlcmlmXCIsXCJTYXdhcmFiaSBNaW5jaG9cIixcIlJvYm90byBTbGFiXCIgLCBHYXJhbW9uZCAsIFwiVGltZXMgTmV3IFJvbWFuXCIgLCBcIua4uOaYjuacnVwiICwgXHJcbiAgICAgICAgXCJZdSBNaW5jaG9cIiAsIFwi5ri45piO5pyd5L2TXCIgLCBcIll1TWluY2hvXCIgLCBcIuODkuODqeOCruODjuaYjuacnSBQcm8gVzNcIiAsIFxyXG4gICAgICAgIFwiSGlyYWdpbm8gTWluY2hvIFByb1wiICwgXCJIaXJhTWluUHJvTi1XM1wiICwgXCJIR1PmmI7mnJ1FXCIgLCBcIu+8re+8syDvvLDmmI7mnJ1cIiAsIFwiTVMgUE1pbmNob1wiICwgc2VyaWY7XHJcbiAgICBAaWYgJHBjX3NpemU9PTBweCB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHBjKXtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkcGNfc2l6ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHBjKXtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkcGNfc2l6ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaWYgJHRhYl9zaXplPT0wdncge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWIpe1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICR0YWJfc2l6ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYil7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogKCggJHRhYl9zaXplIC8gJHRhYiApICogMTAwMDB2dyApIC8gMTAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpZiAkc3Bfc2l6ZT09MHZ3IHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkc3Ape1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRzcF9zaXplO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkc3Ape1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICgoICRzcF9zaXplIC8gJHNwICkgKiAxMDAwMHZ3ICkgLyAxMDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gc2hpbmdvc2ljaygkcGNfc2l6ZToxcmVtLCR0YWJfc2l6ZToxLjI1dncsJHNwX3NpemU6M3Z3KSB7XHJcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucyBKYXBhbmVzZScsQXZlbmlyICwgXCJPcGVuIFNhbnNcIiAsIFwiSGVsdmV0aWNhIE5ldWVcIiAsIEhlbHZldGljYSAsIEFyaWFsICxcclxuICAgICAgICBWZXJkYW5hICwgUm9ib3RvICwgXCLmuLjjgrTjgrfjg4Pjgq9cIiAsIFwiWXUgR290aGljXCIgLCBcIua4uOOCtOOCt+ODg+OCr+S9k1wiICwgXCJZdUdvdGhpY1wiICwgXHJcbiAgICAgICAgXCLjg5Ljg6njgq7jg47op5LjgrQgUHJvIFczXCIgLCBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb1wiICwgXCJNZWlyeW8gVUlcIiAsIFwi44Oh44Kk44Oq44KqXCIgLCBcclxuICAgICAgICBNZWlyeW8gLCBcIu+8re+8syDvvLDjgrTjgrfjg4Pjgq9cIiAsIFwiTVMgUEdvdGhpY1wiICwgc2Fucy1zZXJpZjtcclxuICAgIEBpZiAkcGNfc2l6ZT09MHB4IHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkcGMpe1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRwY19zaXplO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkcGMpe1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRwY19zaXplO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpZiAkdGFiX3NpemU9PTB2dyB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYil7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHRhYl9zaXplO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFiKXtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAoKCAkdGFiX3NpemUgLyAkdGFiICkgKiAxMDAwMHZ3ICkgLyAxMDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGlmICRzcF9zaXplPT0wdncge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRzcCl7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNwX3NpemU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRzcCl7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogKCggJHNwX3NpemUgLyAkc3AgKSAqIDEwMDAwdncgKSAvIDEwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBpbWdjZW50ZXIge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDAgYXV0byAwIGF1dG87XHJcbiAgICBwYWRkaW5nOiAwIDBweCAwIDA7XHJcbn1cclxuQG1peGluIGthZG9tYXJ1KCRyYWRpdXMpIHtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7ICAgICAgICAvKiBDU1Mz6I2J5qGIICovICBcclxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHJhZGl1czsgICAgLyogU2FmYXJpLEdvb2dsZSBDaHJvbWXnlKggKi8gIFxyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAkcmFkaXVzOyAgIC8qIEZpcmVmb3jnlKggKi8gIFxyXG59XHJcbi8v44OG44O844OW44Or55SoXHJcbkBtaXhpbiB0YWJsZXNldHRpbmcge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJHBjKSB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFiKSB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgkc3ApIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxufVxyXG5AbWl4aW4gdGRzZXR0aW5nKCR3aWR0aCkge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJHBjKSB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICB3aWR0aDogJHdpZHRoO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYikge1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgd2lkdGg6ICR3aWR0aDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKCRzcCkge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcbkBtaXhpbiB3YXBwZXJfc2V0dGluZygpIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCRwYykge1xyXG4gICAgICAgIHdpZHRoOiAkcGNfd2FwcGVyX3NpemU7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6YXV0bztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6YXV0bztcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWIpIHtcclxuICAgICAgICB3aWR0aDogOTglO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OmF1dG87XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OmF1dG87XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgkc3ApIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW4tbGVmdDphdXRvO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDphdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gd2FwcGVyX3NldHRpbmcyKCkge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJHBjKSB7XHJcbiAgICAgICAgd2lkdGg6ICRwY19pbm5uZXJfd2FwcGVyX3NpemU7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6YXV0bztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6YXV0bztcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWIpIHtcclxuICAgICAgICB3aWR0aDogOTglO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OmF1dG87XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OmF1dG87XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgkc3ApIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW4tbGVmdDphdXRvO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDphdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG4vL+OCueODnuODm+OBruOBqOOBjeOBoOOBkeWHuuOBmemWouaVsFxyXG5AbWl4aW4gc3Bfb25seSgpIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCRwYykge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFiKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKCRzcCkge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gcGNfb25seSgpIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWIpIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKCRwYykge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJHNwKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGltZ3dpZHRoKCR3aWR0aDoxMDAlKSB7XHJcbiAgICBpbWcge1xyXG4gICAgICAgIHdpZHRoOiR3aWR0aDtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vL0BpbmNsdWRlIG9udGVuZXJfd2lkdGgo5qiq5bmF5Z+65rqW5YCkLOS9v+eUqOOBmeOCi+imgee0oOOBruaoquW5hSk7XHJcbkBtaXhpbiBvbnRlbmVyX3dpZHRoKCAkcGFyZW50UHhXaWR0aCwgJHB4V2lkdGggKXtcclxuICAgIHdpZHRoOiBmbG9vcigoKCAkcHhXaWR0aCAvICRwYXJlbnRQeFdpZHRoICkgKiAxMDAwMCUgKSkgLyAxMDA7XHJcbn1cclxuXHJcbkBtaXhpbiBvbnRlbmVyV1Z3KCAkcGFyZW50UHhXaWR0aCwgJHB4V2lkdGggKXtcclxuICAgIHdpZHRoOiBmbG9vcigoKCAkcHhXaWR0aCAvICRwYXJlbnRQeFdpZHRoICkgKiAxMDAwMHZ3ICkpIC8gMTAwO1xyXG59XHJcbkBtaXhpbiB3aWR0aFZ3KCRweFdpZHRoKXtcclxuICAgIHdpZHRoOiAoKCAkcHhXaWR0aCAvIDE5MjAgKSAqIDEwMDAwdncgKSAvIDEwMDtcclxuICAgIGltZyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAkcHhXaWR0aCArIHB4O1xyXG4gICAgfVxyXG59XHJcbkBtaXhpbiB3aWR0aFZ3U1AoJHB4V2lkdGgpe1xyXG4gICAgd2lkdGg6ICgoICRweFdpZHRoIC8gMzc1ICkgKiAxMDAwMHZ3ICkgLyAxMDA7XHJcbiAgICBpbWcge1xyXG4gICAgICAgIG1heC13aWR0aDogJHB4V2lkdGggKyBweDtcclxuICAgIH1cclxufVxyXG5AbWl4aW4gaGVpZ2h0VncoJHB4aGVpZ2h0KSB7XHJcbiAgICBoZWlnaHQ6ICgoICRweGhlaWdodCAvIDE5MjAgKSAqIDEwMDAwdncgKSAvIDEwMDtcclxufVxyXG5AbWl4aW4gaGVpZ2h0VndTcCgkcHhoZWlnaHQpIHtcclxuICAgIGhlaWdodDogKCggJHB4aGVpZ2h0IC8gMzc1ICkgKiAxMDAwMHZ3ICkgLyAxMDA7XHJcbn1cclxuLy9AaW5jbHVkZSBtYXJnaW5QZXJjZW50KOaoquW5heWfuua6luWApCwgbWFyZ2luLXRvcO+8iHB477yJLCBtYXJnaW4tbGVmdO+8iHB477yJLCBtYXJnaW4tYm90dG9tKHB4KSwgbWFyZ2luLWJvdHRvbShweCkpO1xyXG5AbWl4aW4gbWFyZ2luUGVyY2VudCgkcGFyZW50UHhXaWR0aCwgJG1Ub3AsICRtUmlnaHQsICRtQm90dG9tLCAkbUxlZnQpe1xyXG4gICAgQGlmICRtTGVmdCA9PSBhdXRvIGFuZCAkbVJpZ2h0ID09IGF1dG8ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6JG1Ub3AgKyAwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJG1Cb3R0b20gKyAwcHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWIpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDpmbG9vcigoKCRtVG9wIC8gJHBhcmVudFB4V2lkdGgpICogMTAwMDAlKSkgLyAxMDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGZsb29yKCgoJG1Cb3R0b20gLyAkcGFyZW50UHhXaWR0aCkgKiAxMDAwMCUpKSAvIDEwMDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9QGVsc2VpZiAkbUxlZnQgPT0gYXV0b3tcclxuICAgICAgICBtYXJnaW4tdG9wOiRtVG9wICsgMHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRtQm90dG9tICsgMHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogJG1SaWdodCArIDBweDtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFiKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6Zmxvb3IoKCgkbVRvcCAvICRwYXJlbnRQeFdpZHRoKSAqIDEwMDAwJSkpIC8gMTAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBmbG9vcigoKCRtQm90dG9tIC8gJHBhcmVudFB4V2lkdGgpICogMTAwMDAlKSkgLyAxMDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGZsb29yKCgoJG1SaWdodCAvICRwYXJlbnRQeFdpZHRoKSAqIDEwMDAwJSkpIC8gMTAwO1xyXG4gICAgICAgIH1cclxuICAgIH1AZWxzZWlmICRtUmlnaHQgPT0gYXV0b3tcclxuICAgICAgICBtYXJnaW4tdG9wOiRtVG9wICsgMHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRtQm90dG9tICsgMHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkbUxlZnQgKyAwcHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWIpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYikge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDpmbG9vcigoKCRtVG9wIC8gJHBhcmVudFB4V2lkdGgpICogMTAwMDAlKSkgLyAxMDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBmbG9vcigoKCRtQm90dG9tIC8gJHBhcmVudFB4V2lkdGgpICogMTAwMDAlKSkgLyAxMDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogZmxvb3IoKCgkbUxlZnQgLyAkcGFyZW50UHhXaWR0aCkgKiAxMDAwMCUpKSAvIDEwMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1AZWxzZSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDokbVRvcCArIDBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbUJvdHRvbSArIDBweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogJG1MZWZ0ICsgMHB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogJG1SaWdodCArIDBweDtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFiKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbiA6IGZsb29yKCgoJG1Ub3AgLyAkcGFyZW50UHhXaWR0aCkgKiAxMDAwMCUpKSAvIDEwMCBmbG9vcigoKCRtUmlnaHQgLyAkcGFyZW50UHhXaWR0aCkgKiAxMDAwMCUpKSAvIDEwMCBmbG9vcigoKCRtQm90dG9tIC8gJHBhcmVudFB4V2lkdGgpICogMTAwMDAlKSkgLyAxMDAgZmxvb3IoKCgkbUxlZnQgLyAkcGFyZW50UHhXaWR0aCkgKiAxMDAwMCUpKSAvIDEwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQG1peGluIG1hcmdpblZ3KCRtVG9wLCAkbVJpZ2h0LCAkbUJvdHRvbSwgJG1MZWZ0KSB7XHJcbiAgICBAaWYgJG1MZWZ0ID09IGF1dG8gYW5kICRtUmlnaHQgPT0gYXV0byB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDooKCRtVG9wIC8gMTkyMCkgKiAxMDAwMHZ3KSAvIDEwMDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAoKCRtQm90dG9tIC8gMTkyMCkgKiAxMDAwMHZ3KSAvIDEwMDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICB9XHJcbiAgICBAZWxzZWlmICRtTGVmdCA9PSBhdXRve1xyXG4gICAgICAgIG1hcmdpbi10b3A6KCgkbVRvcCAvIDE5MjApICogMTAwMDB2dykgLyAxMDA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogKCgkbUJvdHRvbSAvIDE5MjApICogMTAwMDB2dykgLyAxMDA7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAoKCRtUmlnaHQgLyAxOTIwKSAqIDEwMDAwdncpIC8gMTAwO1xyXG4gICAgfVxyXG4gICAgQGVsc2VpZiAkbVJpZ2h0ID09IGF1dG97XHJcbiAgICAgICAgbWFyZ2luLXRvcDooKCRtVG9wIC8gMTkyMCkgKiAxMDAwMHZ3KSAvIDEwMDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAoKCRtQm90dG9tIC8gMTkyMCkgKiAxMDAwMHZ3KSAvIDEwMDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogKCgkbUxlZnQgLyAxOTIwKSAqIDEwMDAwdncpIC8gMTAwO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgICBtYXJnaW4gOiAoKCRtVG9wIC8gMTkyMCkgKiAxMDAwMHZ3KSAvIDEwMCAoKCRtUmlnaHQgLyAxOTIwKSAqIDEwMDAwdncpIC8gMTAwICgoJG1Cb3R0b20gLyAxOTIwKSAqIDEwMDAwdncpIC8gMTAwICgoJG1MZWZ0IC8gMTkyMCkgKiAxMDAwMHZ3KSAvIDEwMDtcclxuICAgIH1cclxufVxyXG5AbWl4aW4gbWFyZ2luVndTcCgkbVRvcCwgJG1SaWdodCwgJG1Cb3R0b20sICRtTGVmdCkge1xyXG4gICAgQGlmICRtTGVmdCA9PSBhdXRvIGFuZCAkbVJpZ2h0ID09IGF1dG8ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6KCgkbVRvcCAvIDM3NSkgKiAxMDAwMHZ3KSAvIDEwMDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAoKCRtQm90dG9tIC8gMzc1KSAqIDEwMDAwdncpIC8gMTAwO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgIH1cclxuICAgIEBlbHNlaWYgJG1MZWZ0ID09IGF1dG97XHJcbiAgICAgICAgbWFyZ2luLXRvcDooKCRtVG9wIC8gMzc1KSAqIDEwMDAwdncpIC8gMTAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICgoJG1Cb3R0b20gLyAzNzUpICogMTAwMDB2dykgLyAxMDA7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAoKCRtUmlnaHQgLyAzNzUpICogMTAwMDB2dykgLyAxMDA7XHJcbiAgICB9XHJcbiAgICBAZWxzZWlmICRtUmlnaHQgPT0gYXV0b3tcclxuICAgICAgICBtYXJnaW4tdG9wOigoJG1Ub3AgLyAzNzUpICogMTAwMDB2dykgLyAxMDA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogKCgkbUJvdHRvbSAvIDM3NSkgKiAxMDAwMHZ3KSAvIDEwMDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogKCgkbUxlZnQgLyAzNzUpICogMTAwMDB2dykgLyAxMDA7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAgIG1hcmdpbiA6ICgoJG1Ub3AgLyAzNzUpICogMTAwMDB2dykgLyAxMDAgKCgkbVJpZ2h0IC8gMzc1KSAqIDEwMDAwdncpIC8gMTAwICgoJG1Cb3R0b20gLyAzNzUpICogMTAwMDB2dykgLyAxMDAgKCgkbUxlZnQgLyAzNzUpICogMTAwMDB2dykgLyAxMDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcmNoaXZlc191bF9zZXR0aW5nc18zY2x1bWVzKCR3YXBwZXJfc2l6ZToxMDAlLCR3aWR0aDoxMDAlLCRjbHVtZV93aWRodDoxMDAlLCRkZWZvX21hcmdpbjowJSwkZG91YmxlX21hcmdpbjowJSkge1xyXG4gICAgd2lkdGg6IGZsb29yKCgoICR3aWR0aCAvICR3YXBwZXJfc2l6ZSApICogMTAwMDAlICkpIC8gMTAwO1xyXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xyXG4gICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgYWxpZ24taXRlbXM6ZmxleC1zdGFydDtcclxuICAgIGxpIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgd2lkdGg6ICRjbHVtZV93aWRodDtcclxuICAgICAgICBtYXJnaW46ICRkZWZvX21hcmdpbjsgICAgICAgIFxyXG4gICAgfVxyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxMntcclxuICAgICAgICBAaWYgJGkgJSAzID09MiB7XHJcbiAgICAgICAgICAgIGxpOm50aC1jaGlsZCgjeyRpfSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkZG91YmxlX21hcmdpbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5AbWl4aW4gcGFkZGluZ1BlcmNlbnQoJHBhcmVudFB4V2lkdGgsICRtVG9wLCAkbVJpZ2h0LCAkbUJvdHRvbSwgJG1MZWZ0KXtcclxuICAgIEBpZiAkbUxlZnQgPT0gYXV0byBvciAkbVJpZ2h0ID09IGF1dG8ge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiRtVG9wICsgMHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkbUJvdHRvbSArIDBweDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgKyAwcHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMCArIDBweDtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFiKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOmZsb29yKCgoJG1Ub3AgLyAkcGFyZW50UHhXaWR0aCkgKiAxMDAwMCUpKSAvIDEwMDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IGZsb29yKCgoJG1Cb3R0b20gLyAkcGFyZW50UHhXaWR0aCkgKiAxMDAwMCUpKSAvIDEwMDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9QGVsc2Uge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiRtVG9wICsgMHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkbUJvdHRvbSArIDBweDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRtTGVmdCArIDBweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbVJpZ2h0ICsgMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWIpIHtcclxuICAgICAgICAgICAgcGFkZGluZyA6IGZsb29yKCgoJG1Ub3AgLyAkcGFyZW50UHhXaWR0aCkgKiAxMDAwMCUpKSAvIDEwMCBmbG9vcigoKCRtUmlnaHQgLyAkcGFyZW50UHhXaWR0aCkgKiAxMDAwMCUpKSAvIDEwMCBmbG9vcigoKCRtQm90dG9tIC8gJHBhcmVudFB4V2lkdGgpICogMTAwMDAlKSkgLyAxMDAgZmxvb3IoKCgkbUxlZnQgLyAkcGFyZW50UHhXaWR0aCkgKiAxMDAwMCUpKSAvIDEwMDtcclxuICAgICAgICB9ICAgICAgICBcclxuICAgIH1cclxufVxyXG5AbWl4aW4gcGFkZGluZ1Z3KCRtVG9wLCAkbVJpZ2h0LCAkbUJvdHRvbSwgJG1MZWZ0KSB7XHJcbiAgICBAaWYgJG1MZWZ0ID09IGF1dG8gYW5kICRtUmlnaHQgPT0gYXV0byB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6KCgkbVRvcCAvIDE5MjApICogMTAwMDB2dykgLyAxMDA7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICgoJG1Cb3R0b20gLyAxOTIwKSAqIDEwMDAwdncpIC8gMTAwO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogYXV0bztcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG4gICAgQGVsc2VpZiAkbUxlZnQgPT0gYXV0b3tcclxuICAgICAgICBwYWRkaW5nLXRvcDooKCRtVG9wIC8gMTkyMCkgKiAxMDAwMHZ3KSAvIDEwMDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogKCgkbUJvdHRvbSAvIDE5MjApICogMTAwMDB2dykgLyAxMDA7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICgoJG1SaWdodCAvIDE5MjApICogMTAwMDB2dykgLyAxMDA7XHJcbiAgICB9XHJcbiAgICBAZWxzZWlmICRtUmlnaHQgPT0gYXV0b3tcclxuICAgICAgICBwYWRkaW5nLXRvcDooKCRtVG9wIC8gMTkyMCkgKiAxMDAwMHZ3KSAvIDEwMDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogKCgkbUJvdHRvbSAvIDE5MjApICogMTAwMDB2dykgLyAxMDA7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAoKCRtTGVmdCAvIDE5MjApICogMTAwMDB2dykgLyAxMDA7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogYXV0bztcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgICBwYWRkaW5nIDogKCgkbVRvcCAvIDE5MjApICogMTAwMDB2dykgLyAxMDAgKCgkbVJpZ2h0IC8gMTkyMCkgKiAxMDAwMHZ3KSAvIDEwMCAoKCRtQm90dG9tIC8gMTkyMCkgKiAxMDAwMHZ3KSAvIDEwMCAoKCRtTGVmdCAvIDE5MjApICogMTAwMDB2dykgLyAxMDA7XHJcbiAgICB9XHJcbn1cclxuQG1peGluIHBhZGRpbmdWd1NwKCRtVG9wLCAkbVJpZ2h0LCAkbUJvdHRvbSwgJG1MZWZ0KSB7XHJcbiAgICBAaWYgJG1MZWZ0ID09IGF1dG8gYW5kICRtUmlnaHQgPT0gYXV0byB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6KCgkbVRvcCAvIDM3NSkgKiAxMDAwMHZ3KSAvIDEwMDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogKCgkbUJvdHRvbSAvIDM3NSkgKiAxMDAwMHZ3KSAvIDEwMDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogYXV0bztcclxuICAgIH1cclxuICAgIEBlbHNlaWYgJG1MZWZ0ID09IGF1dG97XHJcbiAgICAgICAgcGFkZGluZy10b3A6KCgkbVRvcCAvIDM3NSkgKiAxMDAwMHZ3KSAvIDEwMDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogKCgkbUJvdHRvbSAvIDM3NSkgKiAxMDAwMHZ3KSAvIDEwMDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogKCgkbVJpZ2h0IC8gMzc1KSAqIDEwMDAwdncpIC8gMTAwO1xyXG4gICAgfVxyXG4gICAgQGVsc2VpZiAkbVJpZ2h0ID09IGF1dG97XHJcbiAgICAgICAgcGFkZGluZy10b3A6KCgkbVRvcCAvIDM3NSkgKiAxMDAwMHZ3KSAvIDEwMDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogKCgkbUJvdHRvbSAvIDM3NSkgKiAxMDAwMHZ3KSAvIDEwMDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICgoJG1MZWZ0IC8gMzc1KSAqIDEwMDAwdncpIC8gMTAwO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGF1dG87XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICAgcGFkZGluZyA6ICgoJG1Ub3AgLyAzNzUpICogMTAwMDB2dykgLyAxMDAgKCgkbVJpZ2h0IC8gMzc1KSAqIDEwMDAwdncpIC8gMTAwICgoJG1Cb3R0b20gLyAzNzUpICogMTAwMDB2dykgLyAxMDAgKCgkbUxlZnQgLyAzNzUpICogMTAwMDB2dykgLyAxMDA7XHJcbiAgICB9XHJcbn1cclxuQG1peGluIGxpbmVoZWlnaHQoJGZvbnRzaXplLCRsaW5laGVpZ2h0KXtcclxuICAgIGxpbmUtaGVpZ2h0OiAkbGluZWhlaWdodC8kZm9udHNpemU7XHJcbiAgICBAaW5jbHVkZSBsaW5lSGVpZ2h0Q3JvcCgkZm9udHNpemUsJGxpbmVoZWlnaHQpO1xyXG59XHJcbkBtaXhpbiBsaW5lSGVpZ2h0Q3JvcCgkZm9udHNpemUsJGxpbmVoZWlnaHQpIHtcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IGNhbGMoKDEgLSAjeyRsaW5laGVpZ2h0LyRmb250c2l6ZX0pICogLjVlbSk7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgIH1cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYygoMSAtICN7JGxpbmVoZWlnaHQvJGZvbnRzaXplfSkgKiAuNWVtKTtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gY29udGVudFNldCgpIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgZGlzcGxheTogYmxvY2s7ICAgIFxyXG59XHJcbkBtaXhpbiBwb3NpdGlvbldIQ2VudGVyKCkge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtyaWdodDogMDt0b3A6IDA7Ym90dG9tOiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG59XHJcbkBtaXhpbiBwb3NpdGlvbldDZW50ZXIoKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO3JpZ2h0OiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG59XHJcbkBtaXhpbiBwb3NpdGlvbkhDZW50ZXIoKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7Ym90dG9tOiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG59XHJcblxyXG5AbWl4aW4gZm9udFZ3KCRwYXJlbnRQeFdpZHRoLCRwY19zaXplOjE2cHgpe1xyXG4gICAgZm9udC1zaXplOiAoKCAkcGNfc2l6ZSAvICRwYXJlbnRQeFdpZHRoICkgKiAxMDAwMHZ3ICkgLyAxMDA7XHJcbn1cclxuQG1peGluIGZvbnRWd1NwKCRwYXJlbnRQeFdpZHRoLCRwY19zaXplOjE2cHgpe1xyXG4gICAgZm9udC1zaXplOiAoKCAkcGNfc2l6ZSAvIDM3NSApICogMTAwMDB2dyApIC8gMTAwO1xyXG59XHJcblxyXG5AbWl4aW4gd2lkdGhDYWxjKCR3YXAgLCAkc2l6ZSkge1xyXG4gICAgd2lkdGg6IGNhbGMoJHdhcCAtICRzaXplKTtcclxufSIsCgkJIi8vIEJvdXJib24gNC4yLjdcclxuLy8gaHR0cDovL2JvdXJib24uaW9cclxuLy8gQ29weXJpZ2h0IDIwMTEtMjAxNSB0aG91Z2h0Ym90LCBpbmMuXHJcbi8vIE1JVCBMaWNlbnNlXHJcblxyXG5AaW1wb3J0IFwic2V0dGluZ3MvcHJlZml4ZXJcIjtcclxuQGltcG9ydCBcInNldHRpbmdzL3B4LXRvLWVtXCI7XHJcbkBpbXBvcnQgXCJzZXR0aW5ncy9hc3NldC1waXBlbGluZVwiO1xyXG5cclxuQGltcG9ydCBcImZ1bmN0aW9ucy9hc3NpZ24taW5wdXRzXCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29udGFpbnNcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9jb250YWlucy1mYWxzeVwiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLWxlbmd0aFwiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLWxpZ2h0XCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbnVtYmVyXCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtc2l6ZVwiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL3B4LXRvLWVtXCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tcmVtXCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvc2hhZGVcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9zdHJpcC11bml0c1wiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RpbnRcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy90cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy91bnBhY2tcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9tb2R1bGFyLXNjYWxlXCI7XHJcblxyXG5AaW1wb3J0IFwiaGVscGVycy9jb252ZXJ0LXVuaXRzXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL2RpcmVjdGlvbmFsLXZhbHVlc1wiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9mb250LXNvdXJjZS1kZWNsYXJhdGlvblwiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1hbmdsZS1wYXJzZXJcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWdyYWRpZW50LXBhcnNlclwiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItcG9zaXRpb25zLXBhcnNlclwiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1hcmctcGFyc2VyXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1ncmFkaWVudC1wYXJzZXJcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvcmVuZGVyLWdyYWRpZW50c1wiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9zaGFwZS1zaXplLXN0cmlwcGVyXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL3N0ci10by1udW1cIjtcclxuXHJcbkBpbXBvcnQgXCJjc3MzL2FuaW1hdGlvblwiO1xyXG5AaW1wb3J0IFwiY3NzMy9hcHBlYXJhbmNlXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2JhY2tmYWNlLXZpc2liaWxpdHlcIjtcclxuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZFwiO1xyXG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kLWltYWdlXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2JvcmRlci1pbWFnZVwiO1xyXG5AaW1wb3J0IFwiY3NzMy9jYWxjXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2NvbHVtbnNcIjtcclxuQGltcG9ydCBcImNzczMvZmlsdGVyXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2ZsZXgtYm94XCI7XHJcbkBpbXBvcnQgXCJjc3MzL2ZvbnQtZmFjZVwiO1xyXG5AaW1wb3J0IFwiY3NzMy9mb250LWZlYXR1cmUtc2V0dGluZ3NcIjtcclxuQGltcG9ydCBcImNzczMvaGlkcGktbWVkaWEtcXVlcnlcIjtcclxuQGltcG9ydCBcImNzczMvaHlwaGVuc1wiO1xyXG5AaW1wb3J0IFwiY3NzMy9pbWFnZS1yZW5kZXJpbmdcIjtcclxuQGltcG9ydCBcImNzczMva2V5ZnJhbWVzXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2xpbmVhci1ncmFkaWVudFwiO1xyXG5AaW1wb3J0IFwiY3NzMy9wZXJzcGVjdGl2ZVwiO1xyXG5AaW1wb3J0IFwiY3NzMy9wbGFjZWhvbGRlclwiO1xyXG5AaW1wb3J0IFwiY3NzMy9yYWRpYWwtZ3JhZGllbnRcIjtcclxuQGltcG9ydCBcImNzczMvc2VsZWN0aW9uXCI7XHJcbkBpbXBvcnQgXCJjc3MzL3RleHQtZGVjb3JhdGlvblwiO1xyXG5AaW1wb3J0IFwiY3NzMy90cmFuc2Zvcm1cIjtcclxuQGltcG9ydCBcImNzczMvdHJhbnNpdGlvblwiO1xyXG5AaW1wb3J0IFwiY3NzMy91c2VyLXNlbGVjdFwiO1xyXG5cclxuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItY29sb3JcIjtcclxuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItcmFkaXVzXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLXN0eWxlXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLXdpZHRoXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvYnV0dG9uc1wiO1xyXG5AaW1wb3J0IFwiYWRkb25zL2NsZWFyZml4XCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvZWxsaXBzaXNcIjtcclxuQGltcG9ydCBcImFkZG9ucy9mb250LXN0YWNrc1wiO1xyXG5AaW1wb3J0IFwiYWRkb25zL2hpZGUtdGV4dFwiO1xyXG5AaW1wb3J0IFwiYWRkb25zL21hcmdpblwiO1xyXG5AaW1wb3J0IFwiYWRkb25zL3BhZGRpbmdcIjtcclxuQGltcG9ydCBcImFkZG9ucy9wb3NpdGlvblwiO1xyXG5AaW1wb3J0IFwiYWRkb25zL3ByZWZpeGVyXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvcmV0aW5hLWltYWdlXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvc2l6ZVwiO1xyXG5AaW1wb3J0IFwiYWRkb25zL3RleHQtaW5wdXRzXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvdGltaW5nLWZ1bmN0aW9uc1wiO1xyXG5AaW1wb3J0IFwiYWRkb25zL3RyaWFuZ2xlXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvd29yZC13cmFwXCI7XHJcblxyXG5AaW1wb3J0IFwiYm91cmJvbi1kZXByZWNhdGVkLXVwY29taW5nXCI7XHJcbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBHbG9iYWwgdmFyaWFibGVzIHRvIGVuYWJsZSBvciBkaXNhYmxlIHZlbmRvciBwcmVmaXhlc1xyXG5cclxuJHByZWZpeC1mb3Itd2Via2l0OiAgICB0cnVlICFkZWZhdWx0O1xyXG4kcHJlZml4LWZvci1tb3ppbGxhOiAgIHRydWUgIWRlZmF1bHQ7XHJcbiRwcmVmaXgtZm9yLW1pY3Jvc29mdDogdHJ1ZSAhZGVmYXVsdDtcclxuJHByZWZpeC1mb3Itb3BlcmE6ICAgICB0cnVlICFkZWZhdWx0O1xyXG4kcHJlZml4LWZvci1zcGVjOiAgICAgIHRydWUgIWRlZmF1bHQ7XHJcbiIsCgkJIiRlbS1iYXNlOiAxNnB4ICFkZWZhdWx0O1xyXG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gQSBnbG9iYWwgc2V0dGluZyB0byBlbmFibGUgb3IgZGlzYWJsZSB0aGUgYCRhc3NldC1waXBlbGluZWAgdmFyaWFibGUgZm9yIGFsbCBmdW5jdGlvbnMgdGhhdCBhY2NlcHQgaXQuXHJcbi8vL1xyXG4vLy8gQHR5cGUgQm9vbFxyXG5cclxuJGFzc2V0LXBpcGVsaW5lOiBmYWxzZSAhZGVmYXVsdDtcclxuIiwKCQkiQGZ1bmN0aW9uIGFzc2lnbi1pbnB1dHMoJGlucHV0cywgJHBzZXVkbzogbnVsbCkge1xyXG4gICRsaXN0OiAoKTtcclxuXHJcbiAgQGVhY2ggJGlucHV0IGluICRpbnB1dHMge1xyXG4gICAgJGlucHV0OiB1bnF1b3RlKCRpbnB1dCk7XHJcbiAgICAkaW5wdXQ6IGlmKCRwc2V1ZG8sICRpbnB1dCArIFwiOlwiICsgJHBzZXVkbywgJGlucHV0KTtcclxuICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRpbnB1dCwgY29tbWEpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkbGlzdDtcclxufVxyXG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gQ2hlY2tzIGlmIGEgbGlzdCBjb250YWlucyBhIHZhbHVlKHMpLlxyXG4vLy9cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3RcclxuLy8vICAgVGhlIGxpc3QgdG8gY2hlY2sgYWdhaW5zdC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWx1ZXNcclxuLy8vICAgQSBzaW5nbGUgdmFsdWUgb3IgbGlzdCBvZiB2YWx1ZXMgdG8gY2hlY2sgZm9yLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICBjb250YWlucygkbGlzdCwgJHZhbHVlKVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge0Jvb2x9XHJcblxyXG5AZnVuY3Rpb24gY29udGFpbnMoJGxpc3QsICR2YWx1ZXMuLi4pIHtcclxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XHJcbiAgICBAaWYgdHlwZS1vZihpbmRleCgkbGlzdCwgJHZhbHVlKSkgIT0gXCJudW1iZXJcIiB7XHJcbiAgICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIHRydWU7XHJcbn1cclxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIENoZWNrcyBpZiBhIGxpc3QgZG9lcyBub3QgY29udGFpbnMgYSB2YWx1ZS5cclxuLy8vXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0XHJcbi8vLyAgIFRoZSBsaXN0IHRvIGNoZWNrIGFnYWluc3QuXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7Qm9vbH1cclxuXHJcbkBmdW5jdGlvbiBjb250YWlucy1mYWxzeSgkbGlzdCkge1xyXG4gIEBlYWNoICRpdGVtIGluICRsaXN0IHtcclxuICAgIEBpZiBub3QgJGl0ZW0ge1xyXG4gICAgICBAcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIGZhbHNlO1xyXG59XHJcbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgQ1NTIGxlbmd0aC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHZhbHVlXHJcblxyXG5AZnVuY3Rpb24gaXMtbGVuZ3RoKCR2YWx1ZSkge1xyXG4gIEByZXR1cm4gdHlwZS1vZigkdmFsdWUpICE9IFwibnVsbFwiIGFuZCAoc3RyLXNsaWNlKCR2YWx1ZSArIFwiXCIsIDEsIDQpID09IFwiY2FsY1wiXHJcbiAgICAgICBvciBpbmRleChhdXRvIGluaGVyaXQgaW5pdGlhbCAwLCAkdmFsdWUpXHJcbiAgICAgICBvciAodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIgYW5kIG5vdCh1bml0bGVzcygkdmFsdWUpKSkpO1xyXG59XHJcbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBQcm9ncmFtYXRpY2FsbHkgZGV0ZXJtaW5lcyB3aGV0aGVyIGEgY29sb3IgaXMgbGlnaHQgb3IgZGFyay5cclxuLy8vXHJcbi8vLyBAbGluayBodHRwOi8vcm9ib3RzLnRob3VnaHRib3QuY29tL2Nsb3Nlci1sb29rLWNvbG9yLWxpZ2h0bmVzc1xyXG4vLy9cclxuLy8vIEBwYXJhbSB7Q29sb3IgKEhleCl9ICRjb2xvclxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICBpcy1saWdodCgkY29sb3IpXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7Qm9vbH1cclxuXHJcbkBmdW5jdGlvbiBpcy1saWdodCgkaGV4LWNvbG9yKSB7XHJcbiAgJC1sb2NhbC1yZWQ6IHJlZChyZ2JhKCRoZXgtY29sb3IsIDEpKTtcclxuICAkLWxvY2FsLWdyZWVuOiBncmVlbihyZ2JhKCRoZXgtY29sb3IsIDEpKTtcclxuICAkLWxvY2FsLWJsdWU6IGJsdWUocmdiYSgkaGV4LWNvbG9yLCAxKSk7XHJcbiAgJC1sb2NhbC1saWdodG5lc3M6ICgkLWxvY2FsLXJlZCAqIDAuMjEyNiArICQtbG9jYWwtZ3JlZW4gKiAwLjcxNTIgKyAkLWxvY2FsLWJsdWUgKiAwLjA3MjIpIC8gMjU1O1xyXG5cclxuICBAcmV0dXJuICQtbG9jYWwtbGlnaHRuZXNzID4gMC42O1xyXG59XHJcbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgbnVtYmVyLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWVcclxuLy8vXHJcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zXHJcblxyXG5AZnVuY3Rpb24gaXMtbnVtYmVyKCR2YWx1ZSkge1xyXG4gIEByZXR1cm4gY29udGFpbnMoXCIwXCIgXCIxXCIgXCIyXCIgXCIzXCIgXCI0XCIgXCI1XCIgXCI2XCIgXCI3XCIgXCI4XCIgXCI5XCIgMCAxIDIgMyA0IDUgNiA3IDggOSwgJHZhbHVlKTtcclxufVxyXG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gQ2hlY2tzIGZvciBhIHZhbGlkIENTUyBzaXplLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmFsdWVcclxuLy8vXHJcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zXHJcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGlzLWxlbmd0aFxyXG5cclxuQGZ1bmN0aW9uIGlzLXNpemUoJHZhbHVlKSB7XHJcbiAgQHJldHVybiBpcy1sZW5ndGgoJHZhbHVlKVxyXG4gICAgICAgICAgb3IgY29udGFpbnMoXCJmaWxsXCIgXCJmaXQtY29udGVudFwiIFwibWluLWNvbnRlbnRcIiBcIm1heC1jb250ZW50XCIsICR2YWx1ZSk7XHJcbn1cclxuIiwKCQkiLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXHJcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgZW0oMTIpIHdoZW4gdGhlIHBhcmVudCBpcyAxNnB4XHJcbi8vIGlmIHRoZSBwYXJlbnQgaXMgYW5vdGhlciB2YWx1ZSBzYXkgMjRweCB3cml0ZSBlbSgxMiwgMjQpXHJcblxyXG5AZnVuY3Rpb24gZW0oJHB4dmFsLCAkYmFzZTogJGVtLWJhc2UpIHtcclxuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xyXG4gICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xyXG4gIH1cclxuICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XHJcbiAgICAkYmFzZTogc3RyaXAtdW5pdHMoJGJhc2UpO1xyXG4gIH1cclxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxZW07XHJcbn1cclxuIiwKCQkiLy8gQ29udmVydCBwaXhlbHMgdG8gcmVtc1xyXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIHJlbSgxMilcclxuLy8gQXNzdW1lcyAkZW0tYmFzZSBpcyB0aGUgZm9udC1zaXplIG9mIDxodG1sPlxyXG5cclxuQGZ1bmN0aW9uIHJlbSgkcHh2YWwpIHtcclxuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xyXG4gICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xyXG4gIH1cclxuXHJcbiAgJGJhc2U6ICRlbS1iYXNlO1xyXG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcclxuICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XHJcbiAgfVxyXG4gIEByZXR1cm4gKCRweHZhbCAvICRiYXNlKSAqIDFyZW07XHJcbn1cclxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIE1peGVzIGEgY29sb3Igd2l0aCBibGFjay5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlciAoUGVyY2VudGFnZSl9ICRwZXJjZW50XHJcbi8vLyAgIFRoZSBhbW91bnQgb2YgYmxhY2sgdG8gYmUgbWl4ZWQgaW4uXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZSgjZmZiYjUyLCA2MCUpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NGEyMDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge0NvbG9yfVxyXG5cclxuQGZ1bmN0aW9uIHNoYWRlKCRjb2xvciwgJHBlcmNlbnQpIHtcclxuICBAcmV0dXJuIG1peCgjMDAwLCAkY29sb3IsICRwZXJjZW50KTtcclxufVxyXG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gU3RyaXBzIHRoZSB1bml0IGZyb20gYSBudW1iZXIuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFdpdGggVW5pdCl9ICR2YWx1ZVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAkZGltZW5zaW9uOiBzdHJpcC11bml0cygxMGVtKTtcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgICRkaW1lbnNpb246IDEwO1xyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlciAoVW5pdGxlc3MpfVxyXG5cclxuQGZ1bmN0aW9uIHN0cmlwLXVuaXRzKCR2YWx1ZSkge1xyXG4gIEByZXR1cm4gKCR2YWx1ZSAvICgkdmFsdWUgKiAwICsgMSkpO1xyXG59XHJcbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBNaXhlcyBhIGNvbG9yIHdpdGggd2hpdGUuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFBlcmNlbnRhZ2UpfSAkcGVyY2VudFxyXG4vLy8gICBUaGUgYW1vdW50IG9mIHdoaXRlIHRvIGJlIG1peGVkIGluLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogdGludCgjNmVjYWE2LCA0MCUpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E4ZGZjOTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge0NvbG9yfVxyXG5cclxuQGZ1bmN0aW9uIHRpbnQoJGNvbG9yLCAkcGVyY2VudCkge1xyXG4gIEByZXR1cm4gbWl4KCNmZmYsICRjb2xvciwgJHBlcmNlbnQpO1xyXG59XHJcbiIsCgkJIi8vIFJldHVybiB2ZW5kb3ItcHJlZml4ZWQgcHJvcGVydHkgbmFtZXMgaWYgYXBwcm9wcmlhdGVcclxuLy8gRXhhbXBsZTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygodHJhbnNmb3JtLCBjb2xvciwgYmFja2dyb3VuZCksIG1veikgLT4gLW1vei10cmFuc2Zvcm0sIGNvbG9yLCBiYWNrZ3JvdW5kXHJcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuQGZ1bmN0aW9uIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BzLCAkdmVuZG9yOiBmYWxzZSkge1xyXG4gICRuZXctcHJvcHM6ICgpO1xyXG5cclxuICBAZWFjaCAkcHJvcCBpbiAkcHJvcHMge1xyXG4gICAgJG5ldy1wcm9wczogYXBwZW5kKCRuZXctcHJvcHMsIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZSgkcHJvcCwgJHZlbmRvciksIGNvbW1hKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJG5ldy1wcm9wcztcclxufVxyXG5cclxuQGZ1bmN0aW9uIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZSgkcHJvcCwgJHZlbmRvcjogZmFsc2UpIHtcclxuICAvLyBwdXQgb3RoZXIgcHJvcGVydGllcyB0aGF0IG5lZWQgdG8gYmUgcHJlZml4ZWQgaGVyZSBhc3dlbGxcclxuICBAaWYgJHZlbmRvciBhbmQgJHByb3AgPT0gdHJhbnNmb3JtIHtcclxuICAgIEByZXR1cm4gdW5xdW90ZSgnLScrJHZlbmRvcisnLScrJHByb3ApO1xyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAcmV0dXJuICRwcm9wO1xyXG4gIH1cclxufVxyXG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gQ29udmVydHMgc2hvcnRoYW5kIHRvIHRoZSA0LXZhbHVlIHN5bnRheC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRzaG9ydGhhbmRcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIG1hcmdpbjogdW5wYWNrKDFlbSAyZW0pO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgbWFyZ2luOiAxZW0gMmVtIDFlbSAyZW07XHJcbi8vLyAgIH1cclxuXHJcbkBmdW5jdGlvbiB1bnBhY2soJHNob3J0aGFuZCkge1xyXG4gIEBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMSB7XHJcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKTtcclxuICB9IEBlbHNlIGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAyIHtcclxuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpO1xyXG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDMge1xyXG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpIG50aCgkc2hvcnRoYW5kLCAzKSBudGgoJHNob3J0aGFuZCwgMik7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAcmV0dXJuICRzaG9ydGhhbmQ7XHJcbiAgfVxyXG59XHJcbiIsCgkJIi8vIFNjYWxpbmcgVmFyaWFibGVzXHJcbiRnb2xkZW46ICAgICAgICAgICAxLjYxODtcclxuJG1pbm9yLXNlY29uZDogICAgIDEuMDY3O1xyXG4kbWFqb3Itc2Vjb25kOiAgICAgMS4xMjU7XHJcbiRtaW5vci10aGlyZDogICAgICAxLjI7XHJcbiRtYWpvci10aGlyZDogICAgICAxLjI1O1xyXG4kcGVyZmVjdC1mb3VydGg6ICAgMS4zMzM7XHJcbiRhdWdtZW50ZWQtZm91cnRoOiAxLjQxNDtcclxuJHBlcmZlY3QtZmlmdGg6ICAgIDEuNTtcclxuJG1pbm9yLXNpeHRoOiAgICAgIDEuNjtcclxuJG1ham9yLXNpeHRoOiAgICAgIDEuNjY3O1xyXG4kbWlub3Itc2V2ZW50aDogICAgMS43Nzg7XHJcbiRtYWpvci1zZXZlbnRoOiAgICAxLjg3NTtcclxuJG9jdGF2ZTogICAgICAgICAgIDI7XHJcbiRtYWpvci10ZW50aDogICAgICAyLjU7XHJcbiRtYWpvci1lbGV2ZW50aDogICAyLjY2NztcclxuJG1ham9yLXR3ZWxmdGg6ICAgIDM7XHJcbiRkb3VibGUtb2N0YXZlOiAgICA0O1xyXG5cclxuJG1vZHVsYXItc2NhbGUtcmF0aW86ICRwZXJmZWN0LWZvdXJ0aCAhZGVmYXVsdDtcclxuJG1vZHVsYXItc2NhbGUtYmFzZTogZW0oJGVtLWJhc2UpICFkZWZhdWx0O1xyXG5cclxuQGZ1bmN0aW9uIG1vZHVsYXItc2NhbGUoJGluY3JlbWVudCwgJHZhbHVlOiAkbW9kdWxhci1zY2FsZS1iYXNlLCAkcmF0aW86ICRtb2R1bGFyLXNjYWxlLXJhdGlvKSB7XHJcbiAgJHYxOiBudGgoJHZhbHVlLCAxKTtcclxuICAkdjI6IG50aCgkdmFsdWUsIGxlbmd0aCgkdmFsdWUpKTtcclxuICAkdmFsdWU6ICR2MTtcclxuXHJcbiAgLy8gc2NhbGUgJHYyIHRvIGp1c3QgYWJvdmUgJHYxXHJcbiAgQHdoaWxlICR2MiA+ICR2MSB7XHJcbiAgICAkdjI6ICgkdjIgLyAkcmF0aW8pOyAvLyB3aWxsIGJlIG9mZi1ieS0xXHJcbiAgfVxyXG4gIEB3aGlsZSAkdjIgPCAkdjEge1xyXG4gICAgJHYyOiAoJHYyICogJHJhdGlvKTsgLy8gd2lsbCBmaXggb2ZmLWJ5LTFcclxuICB9XHJcblxyXG4gIC8vIGNoZWNrIEFGVEVSIHNjYWxpbmcgJHYyIHRvIHByZXZlbnQgZG91YmxlLWNvdW50aW5nIGNvcm5lci1jYXNlXHJcbiAgJGRvdWJsZS1zdHJhbmRlZDogJHYyID4gJHYxO1xyXG5cclxuICBAaWYgJGluY3JlbWVudCA+IDAge1xyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkaW5jcmVtZW50IHtcclxuICAgICAgQGlmICRkb3VibGUtc3RyYW5kZWQgYW5kICgkdjEgKiAkcmF0aW8pID4gJHYyIHtcclxuICAgICAgICAkdmFsdWU6ICR2MjtcclxuICAgICAgICAkdjI6ICgkdjIgKiAkcmF0aW8pO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICAkdjE6ICgkdjEgKiAkcmF0aW8pO1xyXG4gICAgICAgICR2YWx1ZTogJHYxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJGluY3JlbWVudCA8IDAge1xyXG4gICAgLy8gYWRqdXN0ICR2MiB0byBqdXN0IGJlbG93ICR2MVxyXG4gICAgQGlmICRkb3VibGUtc3RyYW5kZWQge1xyXG4gICAgICAkdjI6ICgkdjIgLyAkcmF0aW8pO1xyXG4gICAgfVxyXG5cclxuICAgIEBmb3IgJGkgZnJvbSAkaW5jcmVtZW50IHRocm91Z2ggLTEge1xyXG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAvICRyYXRpbykgPCAkdjIge1xyXG4gICAgICAgICR2YWx1ZTogJHYyO1xyXG4gICAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICR2MTogKCR2MSAvICRyYXRpbyk7XHJcbiAgICAgICAgJHZhbHVlOiAkdjE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHZhbHVlO1xyXG59XHJcbiIsCgkJIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBzdHItdG8tbnVtIGZuLlxyXG4vLyBTb3VyY2U6IGh0dHA6Ly9zYXNzbWVpc3Rlci5jb20vZ2lzdC85NjQ3NDA4XHJcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuQGZ1bmN0aW9uIF9jb252ZXJ0LXVuaXRzKCRudW1iZXIsICR1bml0KSB7XHJcbiAgJHN0cmluZ3M6IFwicHhcIiwgXCJjbVwiLCBcIm1tXCIsIFwiJVwiLCBcImNoXCIsIFwicGljYVwiLCBcImluXCIsIFwiZW1cIiwgXCJyZW1cIiwgXCJwdFwiLCBcInBjXCIsIFwiZXhcIiwgXCJ2d1wiLCBcInZoXCIsIFwidm1pblwiLCBcInZtYXhcIiwgXCJkZWdcIiwgXCJyYWRcIiwgXCJncmFkXCIsIFwidHVyblwiO1xyXG4gICR1bml0czogICAxcHgsIDFjbSwgMW1tLCAxJSwgMWNoLCAxcGljYSwgMWluLCAxZW0sIDFyZW0sIDFwdCwgMXBjLCAxZXgsIDF2dywgMXZoLCAxdm1pbiwgMXZtYXgsIDFkZWcsIDFyYWQsIDFncmFkLCAxdHVybjtcclxuICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkdW5pdCk7XHJcblxyXG4gIEBpZiBub3QgJGluZGV4IHtcclxuICAgIEB3YXJuIFwiVW5rbm93biB1bml0IGAjeyR1bml0fWAuXCI7XHJcbiAgICBAcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgQGlmIHR5cGUtb2YoJG51bWJlcikgIT0gXCJudW1iZXJcIiB7XHJcbiAgICBAd2FybiBcImAjeyRudW1iZXJ9IGlzIG5vdCBhIG51bWJlcmBcIjtcclxuICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRudW1iZXIgKiBudGgoJHVuaXRzLCAkaW5kZXgpO1xyXG59XHJcbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBEaXJlY3Rpb25hbC1wcm9wZXJ0eSBtaXhpbnMgYXJlIHNob3J0aGFuZHMgZm9yIHdyaXRpbmcgcHJvcGVydGllcyBsaWtlIHRoZSBmb2xsb3dpbmdcclxuLy8vXHJcbi8vLyBAaWdub3JlIFlvdSBjYW4gYWxzbyB1c2UgYGZhbHNlYCBpbnN0ZWFkIG9mIGBudWxsYC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWxzXHJcbi8vLyAgIExpc3Qgb2YgZGlyZWN0aW9uYWwgdmFsdWVzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBib3JkZXItc3R5bGUoZG90dGVkIG51bGwpO1xyXG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIDAgMTBweCk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBkb3R0ZWQ7XHJcbi8vLyAgICAgYm9yZGVyLXRvcC1zdHlsZTogZG90dGVkO1xyXG4vLy8gICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWlucy1mYWxzeVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge0xpc3R9XHJcblxyXG5AZnVuY3Rpb24gY29sbGFwc2UtZGlyZWN0aW9uYWxzKCR2YWxzKSB7XHJcbiAgJG91dHB1dDogbnVsbDtcclxuXHJcbiAgJGE6IG50aCgkdmFscywgMSk7XHJcbiAgJGI6IGlmKGxlbmd0aCgkdmFscykgPCAyLCAkYSwgbnRoKCR2YWxzLCAyKSk7XHJcbiAgJGM6IGlmKGxlbmd0aCgkdmFscykgPCAzLCAkYSwgbnRoKCR2YWxzLCAzKSk7XHJcbiAgJGQ6IGlmKGxlbmd0aCgkdmFscykgPCAyLCAkYSwgbnRoKCR2YWxzLCBpZihsZW5ndGgoJHZhbHMpIDwgNCwgMiwgNCkpKTtcclxuXHJcbiAgQGlmICRhID09IDAgeyAkYTogMDsgfVxyXG4gIEBpZiAkYiA9PSAwIHsgJGI6IDA7IH1cclxuICBAaWYgJGMgPT0gMCB7ICRjOiAwOyB9XHJcbiAgQGlmICRkID09IDAgeyAkZDogMDsgfVxyXG5cclxuICBAaWYgJGEgPT0gJGIgYW5kICRhID09ICRjIGFuZCAkYSA9PSAkZCB7ICRvdXRwdXQ6ICRhOyAgICAgICAgICB9XHJcbiAgQGVsc2UgaWYgJGEgPT0gJGMgYW5kICRiID09ICRkICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYjsgICAgICAgfVxyXG4gIEBlbHNlIGlmICRiID09ICRkICAgICAgICAgICAgICAgICAgICAgIHsgJG91dHB1dDogJGEgJGIgJGM7ICAgIH1cclxuICBAZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiICRjICRkOyB9XHJcblxyXG4gIEByZXR1cm4gJG91dHB1dDtcclxufVxyXG5cclxuLy8vIE91dHB1dCBkaXJlY3Rpb25hbCBwcm9wZXJ0aWVzLCBmb3IgaW5zdGFuY2UgYG1hcmdpbmAuXHJcbi8vL1xyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcmVcclxuLy8vICAgUHJlZml4IHRvIHVzZVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdWZcclxuLy8vICAgU3VmZml4IHRvIHVzZVxyXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsc1xyXG4vLy8gICBMaXN0IG9mIHZhbHVlc1xyXG4vLy9cclxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29sbGFwc2UtZGlyZWN0aW9uYWxzXHJcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zLWZhbHN5XHJcblxyXG5AbWl4aW4gZGlyZWN0aW9uYWwtcHJvcGVydHkoJHByZSwgJHN1ZiwgJHZhbHMpIHtcclxuICAvLyBQcm9wZXJ0eSBOYW1lc1xyXG4gICR0b3A6ICAgICRwcmUgKyBcIi10b3BcIiAgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XHJcbiAgJGJvdHRvbTogJHByZSArIFwiLWJvdHRvbVwiICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcclxuICAkbGVmdDogICAkcHJlICsgXCItbGVmdFwiICAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xyXG4gICRyaWdodDogICRwcmUgKyBcIi1yaWdodFwiICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XHJcbiAgJGFsbDogICAgJHByZSArICAgICAgICAgICAgIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XHJcblxyXG4gICR2YWxzOiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpO1xyXG5cclxuICBAaWYgY29udGFpbnMtZmFsc3koJHZhbHMpIHtcclxuICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skdG9wfTogbnRoKCR2YWxzLCAxKTsgfVxyXG5cclxuICAgIEBpZiBsZW5ndGgoJHZhbHMpID09IDEge1xyXG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHJpZ2h0fTogbnRoKCR2YWxzLCAxKTsgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skcmlnaHR9OiBudGgoJHZhbHMsIDIpOyB9XHJcbiAgICB9XHJcblxyXG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMiB7XHJcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAxKTsgfVxyXG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cclxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWxzKSA9PSAzIHtcclxuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XHJcbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCAyKTsgfVxyXG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDQge1xyXG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cclxuICAgICAgQGlmIG50aCgkdmFscywgNCkgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDQpOyB9XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAjeyRhbGx9OiAkdmFscztcclxuICB9XHJcbn1cclxuIiwKCQkiLy8gVXNlZCBmb3IgY3JlYXRpbmcgdGhlIHNvdXJjZSBzdHJpbmcgZm9yIGZvbnRzIHVzaW5nIEBmb250LWZhY2VcclxuLy8gUmVmZXJlbmNlOiBodHRwOi8vZ29vLmdsL1J1MWJLUFxyXG5cclxuQGZ1bmN0aW9uIGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSkge1xyXG4gIEBpZiAkYXNzZXQtcGlwZWxpbmUgPT0gdHJ1ZSB7XHJcbiAgICBAcmV0dXJuIGZvbnQtdXJsO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHJldHVybiB1cmw7XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXHJcbiAgJGZvbnQtZmFtaWx5LFxyXG4gICRmaWxlLXBhdGgsXHJcbiAgJGFzc2V0LXBpcGVsaW5lLFxyXG4gICRmaWxlLWZvcm1hdHMsXHJcbiAgJGZvbnQtdXJsKSB7XHJcblxyXG4gICRzcmM6ICgpO1xyXG5cclxuICAkZm9ybWF0cy1tYXA6IChcclxuICAgIGVvdDogICBcIiN7JGZpbGUtcGF0aH0uZW90PyNpZWZpeFwiIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxyXG4gICAgd29mZjI6IFwiI3skZmlsZS1wYXRofS53b2ZmMlwiIGZvcm1hdChcIndvZmYyXCIpLFxyXG4gICAgd29mZjogIFwiI3skZmlsZS1wYXRofS53b2ZmXCIgZm9ybWF0KFwid29mZlwiKSxcclxuICAgIHR0ZjogICBcIiN7JGZpbGUtcGF0aH0udHRmXCIgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICBzdmc6ICAgXCIjeyRmaWxlLXBhdGh9LnN2ZyMjeyRmb250LWZhbWlseX1cIiBmb3JtYXQoXCJzdmdcIilcclxuICApO1xyXG5cclxuICBAZWFjaCAka2V5LCAkdmFsdWVzIGluICRmb3JtYXRzLW1hcCB7XHJcbiAgICBAaWYgY29udGFpbnMoJGZpbGUtZm9ybWF0cywgJGtleSkge1xyXG4gICAgICAkZmlsZS1wYXRoOiBudGgoJHZhbHVlcywgMSk7XHJcbiAgICAgICRmb250LWZvcm1hdDogbnRoKCR2YWx1ZXMsIDIpO1xyXG5cclxuICAgICAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcclxuICAgICAgICAkc3JjOiBhcHBlbmQoJHNyYywgZm9udC11cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCB1cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHNyYztcclxufVxyXG4iLAoJCSJAZnVuY3Rpb24gX2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXR5cGUsICRncmFkaWVudC1wb3NpdGlvbnMpIHtcclxuICBAaWYgJGdyYWRpZW50LXBvc2l0aW9uc1xyXG4gIGFuZCAoJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyKVxyXG4gIGFuZCAodHlwZS1vZigkZ3JhZGllbnQtcG9zaXRpb25zKSAhPSBjb2xvcikge1xyXG4gICAgJGdyYWRpZW50LXBvc2l0aW9uczogX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3NpdGlvbnMpO1xyXG4gIH1cclxuICBAZWxzZSBpZiAkZ3JhZGllbnQtcG9zaXRpb25zXHJcbiAgYW5kICgkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwpXHJcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XHJcbiAgICAkZ3JhZGllbnQtcG9zaXRpb25zOiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvc2l0aW9ucyk7XHJcbiAgfVxyXG4gIEByZXR1cm4gJGdyYWRpZW50LXBvc2l0aW9ucztcclxufVxyXG4iLAoJCSIvLyBQcml2YXRlIGZ1bmN0aW9uIGZvciBsaW5lYXItZ3JhZGllbnQtcGFyc2VyXHJcbkBmdW5jdGlvbiBfbGluZWFyLWFuZ2xlLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgpIHtcclxuICAkb2Zmc2V0OiBudWxsO1xyXG4gICR1bml0LXNob3J0OiAgc3RyLXNsaWNlKCRmaXJzdC12YWwsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkgLSAyLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcclxuICAkdW5pdC1sb25nOiAgIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XHJcblxyXG4gIEBpZiAoJHVuaXQtbG9uZyA9PSBcImdyYWRcIikgb3JcclxuICAgICAgKCR1bml0LWxvbmcgPT0gXCJ0dXJuXCIpIHtcclxuICAgICRvZmZzZXQ6IGlmKCR1bml0LWxvbmcgPT0gXCJncmFkXCIsIC0xMDBncmFkICogMywgLTAuNzV0dXJuKTtcclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICgkdW5pdC1zaG9ydCA9PSBcImRlZ1wiKSBvclxyXG4gICAgICAgICAgICgkdW5pdC1zaG9ydCA9PSBcInJhZFwiKSB7XHJcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1zaG9ydCA9PSBcImRlZ1wiLCAtOTAgKiAzLCAxLjZyYWQpO1xyXG4gIH1cclxuXHJcbiAgQGlmICRvZmZzZXQge1xyXG4gICAgJG51bTogX3N0ci10by1udW0oJGZpcnN0LXZhbCk7XHJcblxyXG4gICAgQHJldHVybiAoXHJcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgKCRvZmZzZXQgLSAkbnVtKSArICRzdWZmaXgsXHJcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwKCQkiQGZ1bmN0aW9uIF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xyXG4gICRpbWFnZTogdW5xdW90ZSgkaW1hZ2UpO1xyXG4gICRncmFkaWVudHM6ICgpO1xyXG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xyXG4gICRlbmQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiLFwiKTtcclxuICAkZmlyc3QtdmFsOiBzdHItc2xpY2UoJGltYWdlLCAkc3RhcnQgKyAxLCAkZW5kIC0gMSk7XHJcblxyXG4gICRwcmVmaXg6IHN0ci1zbGljZSgkaW1hZ2UsIDEsICRzdGFydCk7XHJcbiAgJHN1ZmZpeDogc3RyLXNsaWNlKCRpbWFnZSwgJGVuZCwgc3RyLWxlbmd0aCgkaW1hZ2UpKTtcclxuXHJcbiAgJGhhcy1tdWx0aXBsZS12YWxzOiBzdHItaW5kZXgoJGZpcnN0LXZhbCwgXCIgXCIpO1xyXG4gICRoYXMtc2luZ2xlLXBvc2l0aW9uOiB1bnF1b3RlKF9wb3NpdGlvbi1mbGlwcGVyKCRmaXJzdC12YWwpICsgXCJcIik7XHJcbiAgJGhhcy1hbmdsZTogaXMtbnVtYmVyKHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAxKSk7XHJcblxyXG4gIEBpZiAkaGFzLW11bHRpcGxlLXZhbHMge1xyXG4gICAgJGdyYWRpZW50czogX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4LCAkaGFzLW11bHRpcGxlLXZhbHMpO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJGhhcy1zaW5nbGUtcG9zaXRpb24gIT0gXCJcIiB7XHJcbiAgICAkcG9zOiB1bnF1b3RlKCRoYXMtc2luZ2xlLXBvc2l0aW9uICsgXCJcIik7XHJcblxyXG4gICAgJGdyYWRpZW50czogKFxyXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxyXG4gICAgICBzcGVjLWltYWdlOiAkcHJlZml4ICsgXCJ0byBcIiArICRwb3MgKyAkc3VmZml4XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJGhhcy1hbmdsZSB7XHJcbiAgICAvLyBSb3RhdGUgZGVncmVlIGZvciB3ZWJraXRcclxuICAgICRncmFkaWVudHM6IF9saW5lYXItYW5nbGUtcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCk7XHJcbiAgfVxyXG5cclxuICBAZWxzZSB7XHJcbiAgICAkZ3JhZGllbnRzOiAoXHJcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXHJcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJGdyYWRpZW50cztcclxufVxyXG4iLAoJCSJAZnVuY3Rpb24gX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRwb3MpIHtcclxuICAkdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xyXG4gICRzcGVjOiBudWxsO1xyXG4gICRkZWdyZWU6IG51bGw7XHJcbiAgJHNpZGU6IG51bGw7XHJcbiAgJGNvcm5lcjogbnVsbDtcclxuICAkbGVuZ3RoOiBsZW5ndGgoJHBvcyk7XHJcbiAgLy8gUGFyc2UgU2lkZSBhbmQgY29ybmVyIHBvc2l0aW9uc1xyXG4gIEBpZiAoJGxlbmd0aCA+IDEpIHtcclxuICAgIEBpZiBudGgoJHBvcywgMSkgPT0gXCJ0b1wiIHsgLy8gTmV3ZXIgc3ludGF4XHJcbiAgICAgICRzaWRlOiBudGgoJHBvcywgMik7XHJcblxyXG4gICAgICBAaWYgJGxlbmd0aCA9PSAyIHsgLy8gZWcuIHRvIHRvcFxyXG4gICAgICAgIC8vIFN3YXAgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XHJcbiAgICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDIpKTtcclxuICAgICAgfVxyXG4gICAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDMgeyAvLyBlZy4gdG8gdG9wIGxlZnRcclxuICAgICAgICAkY29ybmVyOiBudGgoJHBvcywgMyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRsZW5ndGggPT0gMiB7IC8vIE9sZGVyIHN5bnRheCAoXCJ0b3AgbGVmdFwiKVxyXG4gICAgICAkc2lkZTogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDEpKTtcclxuICAgICAgJGNvcm5lcjogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDIpKTtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwibGVmdCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIGxlZnRcIikge1xyXG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJyaWdodCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIHJpZ2h0XCIpIHtcclxuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSByaWdodFwiKSB7XHJcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSBsZWZ0XCIpIHtcclxuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xyXG4gICAgfVxyXG4gICAgJHNwZWM6IHRvICRzaWRlICRjb3JuZXI7XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRsZW5ndGggPT0gMSB7XHJcbiAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxyXG4gICAgQGlmICR0eXBlID09IHN0cmluZyB7XHJcbiAgICAgICRkZWdyZWU6ICRwb3M7XHJcbiAgICAgICRzcGVjOiB0byBfcG9zaXRpb24tZmxpcHBlcigkcG9zKTtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgJGRlZ3JlZTogLTI3MCAtICRwb3M7IC8vcm90YXRlIHRoZSBncmFkaWVudCBvcHBvc2l0ZSBmcm9tIHNwZWNcclxuICAgICAgJHNwZWM6ICRwb3M7XHJcbiAgICB9XHJcbiAgfVxyXG4gICRkZWdyZWU6IHVucXVvdGUoJGRlZ3JlZSArIFwiLFwiKTtcclxuICAkc3BlYzogICB1bnF1b3RlKCRzcGVjICsgXCIsXCIpO1xyXG4gIEByZXR1cm4gJGRlZ3JlZSAkc3BlYztcclxufVxyXG5cclxuQGZ1bmN0aW9uIF9wb3NpdGlvbi1mbGlwcGVyKCRwb3MpIHtcclxuICBAcmV0dXJuIGlmKCRwb3MgPT0gbGVmdCwgcmlnaHQsIG51bGwpXHJcbiAgICAgICAgIGlmKCRwb3MgPT0gcmlnaHQsIGxlZnQsIG51bGwpXHJcbiAgICAgICAgIGlmKCRwb3MgPT0gdG9wLCBib3R0b20sIG51bGwpXHJcbiAgICAgICAgIGlmKCRwb3MgPT0gYm90dG9tLCB0b3AsIG51bGwpO1xyXG59XHJcbiIsCgkJIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcclxuQGZ1bmN0aW9uIF9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCwgJGhhcy1tdWx0aXBsZS12YWxzKSB7XHJcbiAgJHZhbC0xOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgMSwgJGhhcy1tdWx0aXBsZS12YWxzIC0gMSk7XHJcbiAgJHZhbC0yOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGhhcy1tdWx0aXBsZS12YWxzICsgMSwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XHJcbiAgJHZhbC0zOiBudWxsO1xyXG4gICRoYXMtdmFsLTM6IHN0ci1pbmRleCgkdmFsLTIsIFwiIFwiKTtcclxuXHJcbiAgQGlmICRoYXMtdmFsLTMge1xyXG4gICAgJHZhbC0zOiBzdHItc2xpY2UoJHZhbC0yLCAkaGFzLXZhbC0zICsgMSwgc3RyLWxlbmd0aCgkdmFsLTIpKTtcclxuICAgICR2YWwtMjogc3RyLXNsaWNlKCR2YWwtMiwgMSwgJGhhcy12YWwtMyAtIDEpO1xyXG4gIH1cclxuXHJcbiAgJHBvczogX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0xKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTIpIF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMyk7XHJcbiAgJHBvczogdW5xdW90ZSgkcG9zICsgXCJcIik7XHJcblxyXG4gIC8vIFVzZSBvbGQgc3BlYyBmb3Igd2Via2l0XHJcbiAgQGlmICR2YWwtMSA9PSBcInRvXCIge1xyXG4gICAgQHJldHVybiAoXHJcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXHJcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8vIEJyaW5nIHRoZSBjb2RlIHVwIHRvIHNwZWNcclxuICBAZWxzZSB7XHJcbiAgICBAcmV0dXJuIChcclxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcclxuICAgICAgc3BlYy1pbWFnZTogJHByZWZpeCArIFwidG8gXCIgKyAkcG9zICsgJHN1ZmZpeFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwKCQkiQGZ1bmN0aW9uIF9yYWRpYWwtYXJnLXBhcnNlcigkZzEsICRnMiwgJHBvcywgJHNoYXBlLXNpemUpIHtcclxuICBAZWFjaCAkdmFsdWUgaW4gJGcxLCAkZzIge1xyXG4gICAgJGZpcnN0LXZhbDogbnRoKCR2YWx1ZSwgMSk7XHJcbiAgICAkcG9zLXR5cGU6ICB0eXBlLW9mKCRmaXJzdC12YWwpO1xyXG4gICAgJHNwZWMtYXQtaW5kZXg6IG51bGw7XHJcblxyXG4gICAgLy8gRGV0ZXJtaW5lIGlmIHNwZWMgd2FzIHBhc3NlZCB0byBtaXhpblxyXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBsaXN0IHtcclxuICAgICAgJHNwZWMtYXQtaW5kZXg6IGlmKGluZGV4KCR2YWx1ZSwgYXQpLCBpbmRleCgkdmFsdWUsIGF0KSwgZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgQGlmICRzcGVjLWF0LWluZGV4IHtcclxuICAgICAgQGlmICRzcGVjLWF0LWluZGV4ID4gMSB7XHJcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAoJHNwZWMtYXQtaW5kZXggLSAxKSB7XHJcbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHNoYXBlLXNpemUgbnRoKCR2YWx1ZSwgJGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAZm9yICRpIGZyb20gKCRzcGVjLWF0LWluZGV4ICsgMSkgdGhyb3VnaCBsZW5ndGgoJHZhbHVlKSB7XHJcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2UgaWYgJHNwZWMtYXQtaW5kZXggPT0gMSB7XHJcbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xyXG4gICAgICAgICAgJHBvczogJHBvcyBudGgoJHZhbHVlLCAkaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICRnMTogbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBJZiBub3Qgc3BlYyBjYWxjdWxhdGUgY29ycmVjdCB2YWx1ZXNcclxuICAgIEBlbHNlIHtcclxuICAgICAgQGlmICgkcG9zLXR5cGUgIT0gY29sb3IpIG9yICgkZmlyc3QtdmFsICE9IFwidHJhbnNwYXJlbnRcIikge1xyXG4gICAgICAgIEBpZiAoJHBvcy10eXBlID09IG51bWJlcilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNlbnRlclwiKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwidG9wXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJyaWdodFwiKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiYm90dG9tXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJsZWZ0XCIpIHtcclxuXHJcbiAgICAgICAgICAkcG9zOiAkdmFsdWU7XHJcblxyXG4gICAgICAgICAgQGlmICRwb3MgPT0gJGcxIHtcclxuICAgICAgICAgICAgJGcxOiBudWxsO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGVsc2UgaWZcclxuICAgICAgICAgICAoJGZpcnN0LXZhbCA9PSBcImVsbGlwc2VcIilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNpcmNsZVwiKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1zaWRlXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjbG9zZXN0LWNvcm5lclwiKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3Qtc2lkZVwiKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3QtY29ybmVyXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjb250YWluXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjb3ZlclwiKSB7XHJcblxyXG4gICAgICAgICAgJHNoYXBlLXNpemU6ICR2YWx1ZTtcclxuXHJcbiAgICAgICAgICBAaWYgJHZhbHVlID09ICRnMSB7XHJcbiAgICAgICAgICAgICRnMTogbnVsbDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBAZWxzZSBpZiAkdmFsdWUgPT0gJGcyIHtcclxuICAgICAgICAgICAgJGcyOiBudWxsO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAcmV0dXJuICRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZTtcclxufVxyXG4iLAoJCSJAZnVuY3Rpb24gX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3MpIHtcclxuICAkc2hhcGUtc2l6ZTogbnRoKCRncmFkaWVudC1wb3MsIDEpO1xyXG4gICRwb3M6ICAgICAgICBudGgoJGdyYWRpZW50LXBvcywgMik7XHJcbiAgJHNoYXBlLXNpemUtc3BlYzogX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpO1xyXG5cclxuICAkcHJlLXNwZWM6IHVucXVvdGUoaWYoJHBvcywgXCIjeyRwb3N9LCBcIiwgbnVsbCkpXHJcbiAgICAgICAgICAgICB1bnF1b3RlKGlmKCRzaGFwZS1zaXplLCBcIiN7JHNoYXBlLXNpemV9LFwiLCBudWxsKSk7XHJcbiAgJHBvcy1zcGVjOiBpZigkcG9zLCBcImF0ICN7JHBvc31cIiwgbnVsbCk7XHJcblxyXG4gICRzcGVjOiBcIiN7JHNoYXBlLXNpemUtc3BlY30gI3skcG9zLXNwZWN9XCI7XHJcblxyXG4gIC8vIEFkZCBjb21tYVxyXG4gIEBpZiAoJHNwZWMgIT0gXCIgIFwiKSB7XHJcbiAgICAkc3BlYzogXCIjeyRzcGVjfSxcIjtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHByZS1zcGVjICRzcGVjO1xyXG59XHJcbiIsCgkJIkBmdW5jdGlvbiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpIHtcclxuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcclxuICAkZ3JhZGllbnRzOiAoKTtcclxuICAkc3RhcnQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiKFwiKTtcclxuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XHJcbiAgJGZpcnN0LXZhbDogc3RyLXNsaWNlKCRpbWFnZSwgJHN0YXJ0ICsgMSwgJGVuZCAtIDEpO1xyXG5cclxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAxLCAkc3RhcnQpO1xyXG4gICRzdWZmaXg6IHN0ci1zbGljZSgkaW1hZ2UsICRlbmQsIHN0ci1sZW5ndGgoJGltYWdlKSk7XHJcblxyXG4gICRpcy1zcGVjLXN5bnRheDogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiYXRcIik7XHJcblxyXG4gIEBpZiAkaXMtc3BlYy1zeW50YXggYW5kICRpcy1zcGVjLXN5bnRheCA+IDEge1xyXG4gICAgJGtleXdvcmQ6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAkaXMtc3BlYy1zeW50YXggLSAyKTtcclxuICAgICRwb3M6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaXMtc3BlYy1zeW50YXggKyAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcclxuICAgICRwb3M6IGFwcGVuZCgkcG9zLCAka2V5d29yZCwgY29tbWEpO1xyXG5cclxuICAgICRncmFkaWVudHM6IChcclxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcclxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJGlzLXNwZWMtc3ludGF4ID09IDEge1xyXG4gICAgJHBvczogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRpcy1zcGVjLXN5bnRheCArIDMsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xyXG5cclxuICAgICRncmFkaWVudHM6IChcclxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcclxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgc3RyLWluZGV4KCRpbWFnZSwgXCJjb3ZlclwiKSBvciBzdHItaW5kZXgoJGltYWdlLCBcImNvbnRhaW5cIikge1xyXG4gICAgQHdhcm4gXCJSYWRpYWwtZ3JhZGllbnQgbmVlZHMgdG8gYmUgdXBkYXRlZCB0byBjb25mb3JtIHRvIGxhdGVzdCBzcGVjLlwiO1xyXG5cclxuICAgICRncmFkaWVudHM6IChcclxuICAgICAgd2Via2l0LWltYWdlOiBudWxsLFxyXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBAZWxzZSB7XHJcbiAgICAkZ3JhZGllbnRzOiAoXHJcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXHJcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJGdyYWRpZW50cztcclxufVxyXG4iLAoJCSIvLyBVc2VyIGZvciBsaW5lYXIgYW5kIHJhZGlhbCBncmFkaWVudHMgd2l0aGluIGJhY2tncm91bmQtaW1hZ2Ugb3IgYm9yZGVyLWltYWdlIHByb3BlcnRpZXNcclxuXHJcbkBmdW5jdGlvbiBfcmVuZGVyLWdyYWRpZW50cygkZ3JhZGllbnQtcG9zaXRpb25zLCAkZ3JhZGllbnRzLCAkZ3JhZGllbnQtdHlwZSwgJHZlbmRvcjogZmFsc2UpIHtcclxuICAkcHJlLXNwZWM6IG51bGw7XHJcbiAgJHNwZWM6IG51bGw7XHJcbiAgJHZlbmRvci1ncmFkaWVudHM6IG51bGw7XHJcbiAgQGlmICRncmFkaWVudC10eXBlID09IGxpbmVhciB7XHJcbiAgICBAaWYgJGdyYWRpZW50LXBvc2l0aW9ucyB7XHJcbiAgICAgICRwcmUtc3BlYzogbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDEpO1xyXG4gICAgICAkc3BlYzogICAgIG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAyKTtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gcmFkaWFsIHtcclxuICAgICRwcmUtc3BlYzogbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDEpO1xyXG4gICAgJHNwZWM6ICAgICBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMik7XHJcbiAgfVxyXG5cclxuICBAaWYgJHZlbmRvciB7XHJcbiAgICAkdmVuZG9yLWdyYWRpZW50czogLSN7JHZlbmRvcn0tI3skZ3JhZGllbnQtdHlwZX0tZ3JhZGllbnQoI3skcHJlLXNwZWN9ICRncmFkaWVudHMpO1xyXG4gIH1cclxuICBAZWxzZSBpZiAkdmVuZG9yID09IGZhbHNlIHtcclxuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiBcIiN7JGdyYWRpZW50LXR5cGV9LWdyYWRpZW50KCN7JHNwZWN9ICN7JGdyYWRpZW50c30pXCI7XHJcbiAgICAkdmVuZG9yLWdyYWRpZW50czogdW5xdW90ZSgkdmVuZG9yLWdyYWRpZW50cyk7XHJcbiAgfVxyXG4gIEByZXR1cm4gJHZlbmRvci1ncmFkaWVudHM7XHJcbn1cclxuIiwKCQkiQGZ1bmN0aW9uIF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKSB7XHJcbiAgJHNoYXBlLXNpemUtc3BlYzogbnVsbDtcclxuICBAZWFjaCAkdmFsdWUgaW4gJHNoYXBlLXNpemUge1xyXG4gICAgQGlmICgkdmFsdWUgPT0gXCJjb3ZlclwiKSBvciAoJHZhbHVlID09IFwiY29udGFpblwiKSB7XHJcbiAgICAgICR2YWx1ZTogbnVsbDtcclxuICAgIH1cclxuICAgICRzaGFwZS1zaXplLXNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyR2YWx1ZX1cIjtcclxuICB9XHJcbiAgQHJldHVybiAkc2hhcGUtc2l6ZS1zcGVjO1xyXG59XHJcbiIsCgkJIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBsaW5lYXIvcmFkaWFsLWdyYWRpZW50LXBhcnNlcnMuXHJcbi8vIFNvdXJjZTogaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0Lzk2NDc0MDhcclxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG5AZnVuY3Rpb24gX3N0ci10by1udW0oJHN0cmluZykge1xyXG4gIC8vIE1hdHJpY2VzXHJcbiAgJHN0cmluZ3M6IFwiMFwiIFwiMVwiIFwiMlwiIFwiM1wiIFwiNFwiIFwiNVwiIFwiNlwiIFwiN1wiIFwiOFwiIFwiOVwiO1xyXG4gICRudW1iZXJzOiAgMCAgIDEgICAyICAgMyAgIDQgICA1ICAgNiAgIDcgICA4ICAgOTtcclxuXHJcbiAgLy8gUmVzdWx0XHJcbiAgJHJlc3VsdDogMDtcclxuICAkZGl2aWRlcjogMDtcclxuICAkbWludXM6IGZhbHNlO1xyXG5cclxuICAvLyBMb29waW5nIHRocm91Z2ggYWxsIGNoYXJhY3RlcnNcclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHN0cmluZykge1xyXG4gICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCRzdHJpbmcsICRpLCAkaSk7XHJcbiAgICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkY2hhcmFjdGVyKTtcclxuXHJcbiAgICBAaWYgJGNoYXJhY3RlciA9PSBcIi1cIiB7XHJcbiAgICAgICRtaW51czogdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBAZWxzZSBpZiAkY2hhcmFjdGVyID09IFwiLlwiIHtcclxuICAgICAgJGRpdmlkZXI6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAaWYgbm90ICRpbmRleCB7XHJcbiAgICAgICAgJHJlc3VsdDogaWYoJG1pbnVzLCAkcmVzdWx0ICogLTEsICRyZXN1bHQpO1xyXG4gICAgICAgIEByZXR1cm4gX2NvbnZlcnQtdW5pdHMoJHJlc3VsdCwgc3RyLXNsaWNlKCRzdHJpbmcsICRpKSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICRudW1iZXI6IG50aCgkbnVtYmVycywgJGluZGV4KTtcclxuXHJcbiAgICAgIEBpZiAkZGl2aWRlciA9PSAwIHtcclxuICAgICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICAvLyBNb3ZlIHRoZSBkZWNpbWFsIGRvdCB0byB0aGUgbGVmdFxyXG4gICAgICAgICRkaXZpZGVyOiAkZGl2aWRlciAqIDEwO1xyXG4gICAgICAgICRudW1iZXI6ICRudW1iZXIgLyAkZGl2aWRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJHJlc3VsdDogJHJlc3VsdCArICRudW1iZXI7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAkcmVzdWx0ICogLTEsICRyZXN1bHQpO1xyXG59XHJcbiIsCgkJIi8vIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtYW5pbWF0aW9ucy8jdGhlLWFuaW1hdGlvbi1uYW1lLXByb3BlcnR5LVxyXG4vLyBFYWNoIG9mIHRoZXNlIG1peGlucyBzdXBwb3J0IGNvbW1hIHNlcGFyYXRlZCBsaXN0cyBvZiB2YWx1ZXMsIHdoaWNoIGFsbG93cyBkaWZmZXJlbnQgdHJhbnNpdGlvbnMgZm9yIGluZGl2aWR1YWwgcHJvcGVydGllcyB0byBiZSBkZXNjcmliZWQgaW4gYSBzaW5nbGUgc3R5bGUgcnVsZS4gRWFjaCB2YWx1ZSBpbiB0aGUgbGlzdCBjb3JyZXNwb25kcyB0byB0aGUgdmFsdWUgYXQgdGhhdCBzYW1lIHBvc2l0aW9uIGluIHRoZSBvdGhlciBwcm9wZXJ0aWVzLlxyXG5cclxuQG1peGluIGFuaW1hdGlvbigkYW5pbWF0aW9ucy4uLikge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbiwgJGFuaW1hdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBhbmltYXRpb24tbmFtZSgkbmFtZXMuLi4pIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tbmFtZSwgJG5hbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uLWR1cmF0aW9uKCR0aW1lcy4uLikge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkbW90aW9ucy4uLikge1xyXG4gIC8vIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCgkdmFsdWVzLi4uKSB7XHJcbiAgLy8gaW5maW5pdGUgfCA8bnVtYmVyPlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsICR2YWx1ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBhbmltYXRpb24tZGlyZWN0aW9uKCRkaXJlY3Rpb25zLi4uKSB7XHJcbiAgLy8gbm9ybWFsIHwgYWx0ZXJuYXRlXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWRpcmVjdGlvbiwgJGRpcmVjdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBhbmltYXRpb24tcGxheS1zdGF0ZSgkc3RhdGVzLi4uKSB7XHJcbiAgLy8gcnVubmluZyB8IHBhdXNlZFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1wbGF5LXN0YXRlLCAkc3RhdGVzLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uLWRlbGF5KCR0aW1lcy4uLikge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uLWZpbGwtbW9kZSgkbW9kZXMuLi4pIHtcclxuICAvLyBub25lIHwgZm9yd2FyZHMgfCBiYWNrd2FyZHMgfCBib3RoXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWZpbGwtbW9kZSwgJG1vZGVzLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcbiIsCgkJIkBtaXhpbiBhcHBlYXJhbmNlKCR2YWx1ZSkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFwcGVhcmFuY2UsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xyXG59XHJcbiIsCgkJIkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYmFja2ZhY2UtdmlzaWJpbGl0eSwgJHZpc2liaWxpdHksIHdlYmtpdCBzcGVjKTtcclxufVxyXG4iLAoJCSIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXHJcbi8vIEJhY2tncm91bmQgcHJvcGVydHkgZm9yIGFkZGluZyBtdWx0aXBsZSBiYWNrZ3JvdW5kcyB1c2luZyBzaG9ydGhhbmRcclxuLy8gbm90YXRpb24uXHJcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuXHJcbkBtaXhpbiBiYWNrZ3JvdW5kKCRiYWNrZ3JvdW5kcy4uLikge1xyXG4gICR3ZWJraXQtYmFja2dyb3VuZHM6ICgpO1xyXG4gICRzcGVjLWJhY2tncm91bmRzOiAoKTtcclxuXHJcbiAgQGVhY2ggJGJhY2tncm91bmQgaW4gJGJhY2tncm91bmRzIHtcclxuICAgICR3ZWJraXQtYmFja2dyb3VuZDogKCk7XHJcbiAgICAkc3BlYy1iYWNrZ3JvdW5kOiAoKTtcclxuICAgICRiYWNrZ3JvdW5kLXR5cGU6IHR5cGUtb2YoJGJhY2tncm91bmQpO1xyXG5cclxuICAgIEBpZiAkYmFja2dyb3VuZC10eXBlID09IHN0cmluZyBvciAkYmFja2dyb3VuZC10eXBlID09IGxpc3Qge1xyXG4gICAgICAkYmFja2dyb3VuZC1zdHI6IGlmKCRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCwgbnRoKCRiYWNrZ3JvdW5kLCAxKSwgJGJhY2tncm91bmQpO1xyXG5cclxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkYmFja2dyb3VuZC1zdHIsIDEsIDMpO1xyXG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMSwgNik7XHJcblxyXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XHJcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgICRiYWNrZ3JvdW5kO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcImxpbmVhclwiIHtcclxuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xyXG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xyXG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XHJcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoXCIjeyRiYWNrZ3JvdW5kfVwiKTtcclxuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcclxuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XHJcbiAgICB9XHJcblxyXG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kczogYXBwZW5kKCR3ZWJraXQtYmFja2dyb3VuZHMsICR3ZWJraXQtYmFja2dyb3VuZCwgY29tbWEpO1xyXG4gICAgJHNwZWMtYmFja2dyb3VuZHM6ICAgYXBwZW5kKCRzcGVjLWJhY2tncm91bmRzLCAgICRzcGVjLWJhY2tncm91bmQsICAgY29tbWEpO1xyXG4gIH1cclxuXHJcbiAgYmFja2dyb3VuZDogJHdlYmtpdC1iYWNrZ3JvdW5kcztcclxuICBiYWNrZ3JvdW5kOiAkc3BlYy1iYWNrZ3JvdW5kcztcclxufVxyXG4iLAoJCSIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXHJcbi8vIEJhY2tncm91bmQtaW1hZ2UgcHJvcGVydHkgZm9yIGFkZGluZyBtdWx0aXBsZSBiYWNrZ3JvdW5kIGltYWdlcyB3aXRoXHJcbi8vIGdyYWRpZW50cywgb3IgZm9yIHN0cmluZ2luZyBtdWx0aXBsZSBncmFkaWVudHMgdG9nZXRoZXIuXHJcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuXHJcbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlKCRpbWFnZXMuLi4pIHtcclxuICAkd2Via2l0LWltYWdlczogKCk7XHJcbiAgJHNwZWMtaW1hZ2VzOiAoKTtcclxuXHJcbiAgQGVhY2ggJGltYWdlIGluICRpbWFnZXMge1xyXG4gICAgJHdlYmtpdC1pbWFnZTogKCk7XHJcbiAgICAkc3BlYy1pbWFnZTogKCk7XHJcblxyXG4gICAgQGlmICh0eXBlLW9mKCRpbWFnZSkgPT0gc3RyaW5nKSB7XHJcbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGltYWdlLCAxLCAzKTtcclxuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkaW1hZ2UsIDEsIDYpO1xyXG5cclxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xyXG4gICAgICAgICR3ZWJraXQtaW1hZ2U6ICRpbWFnZTtcclxuICAgICAgICAkc3BlYy1pbWFnZTogICAkaW1hZ2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xyXG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XHJcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogIG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcclxuICAgICAgICAkc3BlYy1pbWFnZTogICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XHJcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKTtcclxuICAgICAgICAkd2Via2l0LWltYWdlOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XHJcbiAgICAgICAgJHNwZWMtaW1hZ2U6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICR3ZWJraXQtaW1hZ2VzOiBhcHBlbmQoJHdlYmtpdC1pbWFnZXMsICR3ZWJraXQtaW1hZ2UsIGNvbW1hKTtcclxuICAgICRzcGVjLWltYWdlczogICBhcHBlbmQoJHNwZWMtaW1hZ2VzLCAgICRzcGVjLWltYWdlLCAgIGNvbW1hKTtcclxuICB9XHJcblxyXG4gIGJhY2tncm91bmQtaW1hZ2U6ICR3ZWJraXQtaW1hZ2VzO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6ICRzcGVjLWltYWdlcztcclxufVxyXG4iLAoJCSJAbWl4aW4gYm9yZGVyLWltYWdlKCRib3JkZXJzLi4uKSB7XHJcbiAgJHdlYmtpdC1ib3JkZXJzOiAoKTtcclxuICAkc3BlYy1ib3JkZXJzOiAoKTtcclxuXHJcbiAgQGVhY2ggJGJvcmRlciBpbiAkYm9yZGVycyB7XHJcbiAgICAkd2Via2l0LWJvcmRlcjogKCk7XHJcbiAgICAkc3BlYy1ib3JkZXI6ICgpO1xyXG4gICAgJGJvcmRlci10eXBlOiB0eXBlLW9mKCRib3JkZXIpO1xyXG5cclxuICAgIEBpZiAkYm9yZGVyLXR5cGUgPT0gc3RyaW5nIG9yIGxpc3Qge1xyXG4gICAgICAkYm9yZGVyLXN0cjogaWYoJGJvcmRlci10eXBlID09IGxpc3QsIG50aCgkYm9yZGVyLCAxKSwgJGJvcmRlcik7XHJcblxyXG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRib3JkZXItc3RyLCAxLCAzKTtcclxuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkYm9yZGVyLXN0ciwgMSwgNik7XHJcblxyXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XHJcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XHJcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgICRib3JkZXI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xyXG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKFwiI3skYm9yZGVyfVwiKTtcclxuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xyXG4gICAgICAgICRzcGVjLWJvcmRlcjogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcclxuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcihcIiN7JGJvcmRlcn1cIik7XHJcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcclxuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xyXG4gICAgICAgICRzcGVjLWJvcmRlcjogICAkYm9yZGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcclxuICAgICAgJHNwZWMtYm9yZGVyOiAgICRib3JkZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJHdlYmtpdC1ib3JkZXJzOiBhcHBlbmQoJHdlYmtpdC1ib3JkZXJzLCAkd2Via2l0LWJvcmRlciwgY29tbWEpO1xyXG4gICAgJHNwZWMtYm9yZGVyczogICBhcHBlbmQoJHNwZWMtYm9yZGVycywgICAkc3BlYy1ib3JkZXIsICAgY29tbWEpO1xyXG4gIH1cclxuXHJcbiAgLXdlYmtpdC1ib3JkZXItaW1hZ2U6ICR3ZWJraXQtYm9yZGVycztcclxuICAgICAgICAgIGJvcmRlci1pbWFnZTogJHNwZWMtYm9yZGVycztcclxuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbn1cclxuXHJcbi8vRXhhbXBsZXM6XHJcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikpO1xyXG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UodXJsKFwiaW1hZ2UucG5nXCIpIDIwIHN0cmV0Y2gpO1xyXG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykpO1xyXG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgc3RyZXRjaCk7XHJcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSAyMCAzMCA0MCA1MCBzdHJldGNoIHJvdW5kKTtcclxuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHJhZGlhbC1ncmFkaWVudCh0b3AsIGNvdmVyLCBvcmFuZ2UsIHllbGxvdywgb3JhbmdlKSk7XHJcbiIsCgkJIkBtaXhpbiBjYWxjKCRwcm9wZXJ0eSwgJHZhbHVlKSB7XHJcbiAgI3skcHJvcGVydHl9OiAtd2Via2l0LWNhbGMoI3skdmFsdWV9KTtcclxuICAjeyRwcm9wZXJ0eX06IGNhbGMoI3skdmFsdWV9KTtcclxufVxyXG4iLAoJCSJAbWl4aW4gY29sdW1ucygkYXJnOiBhdXRvKSB7XHJcbiAgLy8gPGNvbHVtbi1jb3VudD4gfHwgPGNvbHVtbi13aWR0aD5cclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW5zLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLWNvdW50KCRpbnQ6IGF1dG8pIHtcclxuICAvLyBhdXRvIHx8IGludGVnZXJcclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tY291bnQsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tZ2FwKCRsZW5ndGg6IG5vcm1hbCkge1xyXG4gIC8vIG5vcm1hbCB8fCBsZW5ndGhcclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tZ2FwLCAkbGVuZ3RoLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLWZpbGwoJGFyZzogYXV0bykge1xyXG4gIC8vIGF1dG8gfHwgbGVuZ3RoXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWZpbGwsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tcnVsZSgkYXJnKSB7XHJcbiAgLy8gPGJvcmRlci13aWR0aD4gfHwgPGJvcmRlci1zdHlsZT4gfHwgPGNvbG9yPlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLXJ1bGUtY29sb3IoJGNvbG9yKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtY29sb3IsICRjb2xvciwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1ydWxlLXN0eWxlKCRzdHlsZTogbm9uZSkge1xyXG4gIC8vIG5vbmUgfCBoaWRkZW4gfCBkYXNoZWQgfCBkb3R0ZWQgfCBkb3VibGUgfCBncm9vdmUgfCBpbnNldCB8IGluc2V0IHwgb3V0c2V0IHwgcmlkZ2UgfCBzb2xpZFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tcnVsZS13aWR0aCAoJHdpZHRoOiBub25lKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtd2lkdGgsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1zcGFuKCRhcmc6IG5vbmUpIHtcclxuICAvLyBub25lIHx8IGFsbFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1zcGFuLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLXdpZHRoKCRsZW5ndGg6IGF1dG8pIHtcclxuICAvLyBhdXRvIHx8IGxlbmd0aFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi13aWR0aCwgJGxlbmd0aCwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG4iLAoJCSJAbWl4aW4gZmlsdGVyKCRmdW5jdGlvbjogbm9uZSkge1xyXG4gIC8vIDxmaWx0ZXItZnVuY3Rpb24+IFs8ZmlsdGVyLWZ1bmN0aW9uXSogfCBub25lXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmlsdGVyLCAkZnVuY3Rpb24sIHdlYmtpdCBzcGVjKTtcclxufVxyXG4iLAoJCSIvLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcclxuXHJcbi8vIEN1c3RvbSBzaG9ydGhhbmQgbm90YXRpb24gZm9yIGZsZXhib3hcclxuQG1peGluIGJveCgkb3JpZW50OiBpbmxpbmUtYXhpcywgJHBhY2s6IHN0YXJ0LCAkYWxpZ246IHN0cmV0Y2gpIHtcclxuICBAaW5jbHVkZSBkaXNwbGF5LWJveDtcclxuICBAaW5jbHVkZSBib3gtb3JpZW50KCRvcmllbnQpO1xyXG4gIEBpbmNsdWRlIGJveC1wYWNrKCRwYWNrKTtcclxuICBAaW5jbHVkZSBib3gtYWxpZ24oJGFsaWduKTtcclxufVxyXG5cclxuQG1peGluIGRpc3BsYXktYm94IHtcclxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICBkaXNwbGF5OiAtbW96LWJveDtcclxuICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gSUUgMTBcclxuICBkaXNwbGF5OiBib3g7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtb3JpZW50KCRvcmllbnQ6IGlubGluZS1heGlzKSB7XHJcbi8vIGhvcml6b250YWx8dmVydGljYWx8aW5saW5lLWF4aXN8YmxvY2stYXhpc3xpbmhlcml0XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJG9yaWVudCwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGJveC1wYWNrKCRwYWNrOiBzdGFydCkge1xyXG4vLyBzdGFydHxlbmR8Y2VudGVyfGp1c3RpZnlcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtcGFjaywgJHBhY2ssIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgLW1zLWZsZXgtcGFjazogJHBhY2s7IC8vIElFIDEwXHJcbn1cclxuXHJcbkBtaXhpbiBib3gtYWxpZ24oJGFsaWduOiBzdHJldGNoKSB7XHJcbi8vIHN0YXJ0fGVuZHxjZW50ZXJ8YmFzZWxpbmV8c3RyZXRjaFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsaWduLCB3ZWJraXQgbW96IHNwZWMpO1xyXG4gIC1tcy1mbGV4LWFsaWduOiAkYWxpZ247IC8vIElFIDEwXHJcbn1cclxuXHJcbkBtaXhpbiBib3gtZGlyZWN0aW9uKCRkaXJlY3Rpb246IG5vcm1hbCkge1xyXG4vLyBub3JtYWx8cmV2ZXJzZXxpbmhlcml0XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWRpcmVjdGlvbiwgJGRpcmVjdGlvbiwgd2Via2l0IG1veiBzcGVjKTtcclxuICAtbXMtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247IC8vIElFIDEwXHJcbn1cclxuXHJcbkBtaXhpbiBib3gtbGluZXMoJGxpbmVzOiBzaW5nbGUpIHtcclxuLy8gc2luZ2xlfG11bHRpcGxlXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWxpbmVzLCAkbGluZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtb3JkaW5hbC1ncm91cCgkaW50OiAxKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgLW1zLWZsZXgtb3JkZXI6ICRpbnQ7IC8vIElFIDEwXHJcbn1cclxuXHJcbkBtaXhpbiBib3gtZmxleCgkdmFsdWU6IDApIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleCwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xyXG4gIC1tcy1mbGV4OiAkdmFsdWU7IC8vIElFIDEwXHJcbn1cclxuXHJcbkBtaXhpbiBib3gtZmxleC1ncm91cCgkaW50OiAxKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xyXG4vLyBVbmlmaWVkIGF0dHJpYnV0ZXMgZm9yIDIwMDksIDIwMTEsIGFuZCAyMDEyIGZsYXZvdXJzLlxyXG5cclxuLy8gMjAwOSAtIGRpc3BsYXkgKGJveCB8IGlubGluZS1ib3gpXHJcbi8vIDIwMTEgLSBkaXNwbGF5IChmbGV4Ym94IHwgaW5saW5lLWZsZXhib3gpXHJcbi8vIDIwMTIgLSBkaXNwbGF5IChmbGV4IHwgaW5saW5lLWZsZXgpXHJcbkBtaXhpbiBkaXNwbGF5KCR2YWx1ZSkge1xyXG4vLyBmbGV4IHwgaW5saW5lLWZsZXhcclxuICBAaWYgJHZhbHVlID09IFwiZmxleFwiIHtcclxuICAgIC8vIDIwMDlcclxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgZGlzcGxheTogLW1vei1ib3g7XHJcbiAgICBkaXNwbGF5OiBib3g7XHJcblxyXG4gICAgLy8gMjAxMlxyXG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gICAgZGlzcGxheTogLW1vei1mbGV4O1xyXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8vIDIwMTEgKElFIDEwKVxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImlubGluZS1mbGV4XCIge1xyXG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xyXG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtYm94O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJveDtcclxuXHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xyXG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtZmxleDtcclxuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgZGlzcGxheTogJHZhbHVlO1xyXG4gIH1cclxufVxyXG5cclxuLy8gMjAwOSAtIGJveC1mbGV4IChpbnRlZ2VyKVxyXG4vLyAyMDExIC0gZmxleCAoZGVjaW1hbCB8IHdpZHRoIGRlY2ltYWwpXHJcbi8vIDIwMTIgLSBmbGV4IChpbnRlZ2VyIGludGVnZXIgd2lkdGgpXHJcbkBtaXhpbiBmbGV4KCR2YWx1ZSkge1xyXG5cclxuICAvLyBHcmFiIGZsZXgtZ3JvdyBmb3Igb2xkZXIgYnJvd3NlcnMuXHJcbiAgJGZsZXgtZ3JvdzogbnRoKCR2YWx1ZSwgMSk7XHJcblxyXG4gIC8vIDIwMDlcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleCwgJGZsZXgtZ3Jvdywgd2Via2l0IG1veiBzcGVjKTtcclxuXHJcbiAgLy8gMjAxMSAoSUUgMTApLCAyMDEyXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xyXG59XHJcblxyXG4vLyAyMDA5IC0gYm94LW9yaWVudCAoIGhvcml6b250YWwgfCB2ZXJ0aWNhbCB8IGlubGluZS1heGlzIHwgYmxvY2stYXhpcylcclxuLy8gICAgICAtIGJveC1kaXJlY3Rpb24gKG5vcm1hbCB8IHJldmVyc2UpXHJcbi8vIDIwMTEgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcclxuLy8gMjAxMiAtIGZsZXgtZGlyZWN0aW9uIChyb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlKVxyXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlOiByb3cpIHtcclxuXHJcbiAgLy8gQWx0IHZhbHVlcy5cclxuICAkdmFsdWUtMjAwOTogJHZhbHVlO1xyXG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XHJcbiAgJGRpcmVjdGlvbjogbm9ybWFsO1xyXG5cclxuICBAaWYgJHZhbHVlID09IHJvdyB7XHJcbiAgICAkdmFsdWUtMjAwOTogaG9yaXpvbnRhbDtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInJvdy1yZXZlcnNlXCIge1xyXG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XHJcbiAgICAkZGlyZWN0aW9uOiByZXZlcnNlO1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IGNvbHVtbiB7XHJcbiAgICAkdmFsdWUtMjAwOTogdmVydGljYWw7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJjb2x1bW4tcmV2ZXJzZVwiIHtcclxuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcclxuICAgICRkaXJlY3Rpb246IHJldmVyc2U7XHJcbiAgfVxyXG5cclxuICAvLyAyMDA5XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJHZhbHVlLTIwMDksIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWRpcmVjdGlvbiwgJGRpcmVjdGlvbiwgd2Via2l0IG1veiBzcGVjKTtcclxuXHJcbiAgLy8gMjAxMlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZGlyZWN0aW9uLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XHJcblxyXG4gIC8vIDIwMTEgKElFIDEwKVxyXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xyXG59XHJcblxyXG4vLyAyMDA5IC0gYm94LWxpbmVzIChzaW5nbGUgfCBtdWx0aXBsZSlcclxuLy8gMjAxMSAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcclxuLy8gMjAxMiAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcclxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWU6IG5vd3JhcCkge1xyXG4gIC8vIEFsdCB2YWx1ZXNcclxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XHJcbiAgQGlmICR2YWx1ZSA9PSBub3dyYXAge1xyXG4gICAgJGFsdC12YWx1ZTogc2luZ2xlO1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IHdyYXAge1xyXG4gICAgJGFsdC12YWx1ZTogbXVsdGlwbGU7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJ3cmFwLXJldmVyc2VcIiB7XHJcbiAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1saW5lcywgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXdyYXAsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcclxufVxyXG5cclxuLy8gMjAwOSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxyXG4vLyAyMDExIC0gVE9ETzogcGFyc2UgdmFsdWVzIGludG8gZmxleC1kaXJlY3Rpb24vZmxleC13cmFwXHJcbi8vIDIwMTIgLSBmbGV4LWZsb3cgKGZsZXgtZGlyZWN0aW9uIHx8IGZsZXgtd3JhcClcclxuQG1peGluIGZsZXgtZmxvdygkdmFsdWUpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWZsb3csICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuLy8gMjAwOSAtIGJveC1vcmRpbmFsLWdyb3VwIChpbnRlZ2VyKVxyXG4vLyAyMDExIC0gZmxleC1vcmRlciAoaW50ZWdlcilcclxuLy8gMjAxMiAtIG9yZGVyIChpbnRlZ2VyKVxyXG5AbWl4aW4gb3JkZXIoJGludDogMCkge1xyXG4gIC8vIDIwMDlcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcclxuXHJcbiAgLy8gMjAxMlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKG9yZGVyLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xyXG5cclxuICAvLyAyMDExIChJRSAxMClcclxuICAtbXMtZmxleC1vcmRlcjogJGludDtcclxufVxyXG5cclxuLy8gMjAxMiAtIGZsZXgtZ3JvdyAobnVtYmVyKVxyXG5AbWl4aW4gZmxleC1ncm93KCRudW1iZXI6IDApIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWdyb3csICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgLW1zLWZsZXgtcG9zaXRpdmU6ICRudW1iZXI7XHJcbn1cclxuXHJcbi8vIDIwMTIgLSBmbGV4LXNocmluayAobnVtYmVyKVxyXG5AbWl4aW4gZmxleC1zaHJpbmsoJG51bWJlcjogMSkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtc2hyaW5rLCAkbnVtYmVyLCB3ZWJraXQgbW96IHNwZWMpO1xyXG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAkbnVtYmVyO1xyXG59XHJcblxyXG4vLyAyMDEyIC0gZmxleC1iYXNpcyAobnVtYmVyKVxyXG5AbWl4aW4gZmxleC1iYXNpcygkd2lkdGg6IGF1dG8pIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWJhc2lzLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6ICR3aWR0aDtcclxufVxyXG5cclxuLy8gMjAwOSAtIGJveC1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkpXHJcbi8vIDIwMTEgLSBmbGV4LXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSlcclxuLy8gMjAxMiAtIGp1c3RpZnktY29udGVudCAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZClcclxuQG1peGluIGp1c3RpZnktY29udGVudCgkdmFsdWU6IGZsZXgtc3RhcnQpIHtcclxuXHJcbiAgLy8gQWx0IHZhbHVlcy5cclxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XHJcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XHJcbiAgICAkYWx0LXZhbHVlOiBzdGFydDtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xyXG4gICAgJGFsdC12YWx1ZTogZW5kO1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYmV0d2VlblwiIHtcclxuICAgICRhbHQtdmFsdWU6IGp1c3RpZnk7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1hcm91bmRcIiB7XHJcbiAgICAkYWx0LXZhbHVlOiBkaXN0cmlidXRlO1xyXG4gIH1cclxuXHJcbiAgLy8gMjAwOVxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xyXG5cclxuICAvLyAyMDEyXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoanVzdGlmeS1jb250ZW50LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcclxuXHJcbiAgLy8gMjAxMSAoSUUgMTApXHJcbiAgLW1zLWZsZXgtcGFjazogJGFsdC12YWx1ZTtcclxufVxyXG5cclxuLy8gMjAwOSAtIGJveC1hbGlnbiAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXHJcbi8vIDIwMTEgLSBmbGV4LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcclxuLy8gMjAxMiAtIGFsaWduLWl0ZW1zIChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXHJcbkBtaXhpbiBhbGlnbi1pdGVtcygkdmFsdWU6IHN0cmV0Y2gpIHtcclxuXHJcbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xyXG5cclxuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcclxuICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XHJcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XHJcbiAgfVxyXG5cclxuICAvLyAyMDA5XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xyXG5cclxuICAvLyAyMDEyXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24taXRlbXMsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xyXG5cclxuICAvLyAyMDExIChJRSAxMClcclxuICAtbXMtZmxleC1hbGlnbjogJGFsdC12YWx1ZTtcclxufVxyXG5cclxuLy8gMjAxMSAtIGZsZXgtaXRlbS1hbGlnbiAoYXV0byB8IHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxyXG4vLyAyMDEyIC0gYWxpZ24tc2VsZiAoYXV0byB8IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcclxuQG1peGluIGFsaWduLXNlbGYoJHZhbHVlOiBhdXRvKSB7XHJcblxyXG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XHJcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XHJcbiAgICAkdmFsdWUtMjAxMTogc3RhcnQ7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcclxuICAgICR2YWx1ZS0yMDExOiBlbmQ7XHJcbiAgfVxyXG5cclxuICAvLyAyMDEyXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tc2VsZiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xyXG5cclxuICAvLyAyMDExIChJRSAxMClcclxuICAtbXMtZmxleC1pdGVtLWFsaWduOiAkdmFsdWUtMjAxMTtcclxufVxyXG5cclxuLy8gMjAxMSAtIGZsZXgtbGluZS1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkgfCBkaXN0cmlidXRlIHwgc3RyZXRjaClcclxuLy8gMjAxMiAtIGFsaWduLWNvbnRlbnQgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQgfCBzdHJldGNoKVxyXG5AbWl4aW4gYWxpZ24tY29udGVudCgkdmFsdWU6IHN0cmV0Y2gpIHtcclxuXHJcbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcclxuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcclxuICAgICR2YWx1ZS0yMDExOiBzdGFydDtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xyXG4gICAgJHZhbHVlLTIwMTE6IGVuZDtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWJldHdlZW5cIiB7XHJcbiAgICAkdmFsdWUtMjAxMToganVzdGlmeTtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWFyb3VuZFwiIHtcclxuICAgICR2YWx1ZS0yMDExOiBkaXN0cmlidXRlO1xyXG4gIH1cclxuXHJcbiAgLy8gMjAxMlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWNvbnRlbnQsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcclxuXHJcbiAgLy8gMjAxMSAoSUUgMTApXHJcbiAgLW1zLWZsZXgtbGluZS1wYWNrOiAkdmFsdWUtMjAxMTtcclxufVxyXG4iLAoJCSJAbWl4aW4gZm9udC1mYWNlKFxyXG4gICRmb250LWZhbWlseSxcclxuICAkZmlsZS1wYXRoLFxyXG4gICR3ZWlnaHQ6IG5vcm1hbCxcclxuICAkc3R5bGU6IG5vcm1hbCxcclxuICAkYXNzZXQtcGlwZWxpbmU6ICRhc3NldC1waXBlbGluZSxcclxuICAkZmlsZS1mb3JtYXRzOiBlb3Qgd29mZjIgd29mZiB0dGYgc3ZnKSB7XHJcblxyXG4gICRmb250LXVybC1wcmVmaXg6IGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSk7XHJcblxyXG4gIEBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcclxuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG5cclxuICAgIHNyYzogZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXHJcbiAgICAgICRmb250LWZhbWlseSxcclxuICAgICAgJGZpbGUtcGF0aCxcclxuICAgICAgJGFzc2V0LXBpcGVsaW5lLFxyXG4gICAgICAkZmlsZS1mb3JtYXRzLFxyXG4gICAgICAkZm9udC11cmwtcHJlZml4XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iLAoJCSJAbWl4aW4gZm9udC1mZWF0dXJlLXNldHRpbmdzKCRzZXR0aW5ncy4uLikge1xyXG4gIEBpZiBsZW5ndGgoJHNldHRpbmdzKSA9PSAwIHsgJHNldHRpbmdzOiBub25lOyB9XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZm9udC1mZWF0dXJlLXNldHRpbmdzLCAkc2V0dGluZ3MsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XHJcbn1cclxuIiwKCQkiLy8gSGlEUEkgbWl4aW4uIERlZmF1bHQgdmFsdWUgc2V0IHRvIDEuMyB0byB0YXJnZXQgR29vZ2xlIE5leHVzIDcgKGh0dHA6Ly9iamFuZ28uY29tL2FydGljbGVzL21pbi1kZXZpY2UtcGl4ZWwtcmF0aW8vKVxyXG5AbWl4aW4gaGlkcGkoJHJhdGlvOiAxLjMpIHtcclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXHJcbiAgb25seSBzY3JlZW4gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyRyYXRpb30vMSksXHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogcm91bmQoJHJhdGlvICogOTZkcGkpKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAkcmF0aW8gKiAxZHBweCkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsCgkJIkBtaXhpbiBoeXBoZW5zKCRoeXBoZW5hdGlvbjogbm9uZSkge1xyXG4gIC8vIG5vbmUgfCBtYW51YWwgfCBhdXRvXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoaHlwaGVucywgJGh5cGhlbmF0aW9uLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xyXG59XHJcbiIsCgkJIkBtaXhpbiBpbWFnZS1yZW5kZXJpbmcgKCRtb2RlOmF1dG8pIHtcclxuXHJcbiAgQGlmICgkbW9kZSA9PSBjcmlzcC1lZGdlcykge1xyXG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogbmVhcmVzdC1uZWlnaGJvcjsgLy8gSUU4K1xyXG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAtbW96LWNyaXNwLWVkZ2VzO1xyXG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAtby1jcmlzcC1lZGdlcztcclxuICAgIGltYWdlLXJlbmRlcmluZzogLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdDtcclxuICAgIGltYWdlLXJlbmRlcmluZzogY3Jpc3AtZWRnZXM7XHJcbiAgfVxyXG5cclxuICBAZWxzZSB7XHJcbiAgICBpbWFnZS1yZW5kZXJpbmc6ICRtb2RlO1xyXG4gIH1cclxufVxyXG4iLAoJCSIvLyBBZGRzIGtleWZyYW1lcyBibG9ja3MgZm9yIHN1cHBvcnRlZCBwcmVmaXhlcywgcmVtb3ZpbmcgcmVkdW5kYW50IHByZWZpeGVzIGluIHRoZSBibG9jaydzIGNvbnRlbnRcclxuQG1peGluIGtleWZyYW1lcygkbmFtZSkge1xyXG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdDogICAgJHByZWZpeC1mb3Itd2Via2l0O1xyXG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGE6ICAgJHByZWZpeC1mb3ItbW96aWxsYTtcclxuICAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQ6ICRwcmVmaXgtZm9yLW1pY3Jvc29mdDtcclxuICAkb3JpZ2luYWwtcHJlZml4LWZvci1vcGVyYTogICAgICRwcmVmaXgtZm9yLW9wZXJhO1xyXG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWM6ICAgICAgJHByZWZpeC1mb3Itc3BlYztcclxuXHJcbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCB7XHJcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XHJcbiAgICAkcHJlZml4LWZvci13ZWJraXQ6IHRydWUgIWdsb2JhbDtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGEge1xyXG4gICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xyXG4gICAgJHByZWZpeC1mb3ItbW96aWxsYTogdHJ1ZSAhZ2xvYmFsO1xyXG4gICAgQC1tb3ota2V5ZnJhbWVzICN7JG5hbWV9IHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCAgICAhZ2xvYmFsO1xyXG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYSAgICFnbG9iYWw7XHJcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQgIWdsb2JhbDtcclxuICAkcHJlZml4LWZvci1vcGVyYTogICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhICAgICAhZ2xvYmFsO1xyXG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYyAgICAgICFnbG9iYWw7XHJcblxyXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjIHtcclxuICAgIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwKCQkiQG1peGluIGxpbmVhci1ncmFkaWVudCgkcG9zLCAkZzEsICRnMjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkZzM6IG51bGwsICRnNDogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkZzU6IG51bGwsICRnNjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkZzc6IG51bGwsICRnODogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkZzk6IG51bGwsICRnMTA6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XHJcbiAgLy8gRGV0ZWN0IHdoYXQgdHlwZSBvZiB2YWx1ZSBleGlzdHMgaW4gJHBvc1xyXG4gICRwb3MtdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xyXG4gICRwb3Mtc3BlYzogbnVsbDtcclxuICAkcG9zLWRlZ3JlZTogbnVsbDtcclxuXHJcbiAgLy8gSWYgJHBvcyBpcyBtaXNzaW5nIGZyb20gbWl4aW4sIHJlYXNzaWduIHZhcnMgYW5kIGFkZCBkZWZhdWx0IHBvc2l0aW9uXHJcbiAgQGlmICgkcG9zLXR5cGUgPT0gY29sb3IpIG9yIChudGgoJHBvcywgMSkgPT0gXCJ0cmFuc3BhcmVudFwiKSAge1xyXG4gICAgJGcxMDogJGc5OyAkZzk6ICRnODsgJGc4OiAkZzc7ICRnNzogJGc2OyAkZzY6ICRnNTtcclxuICAgICRnNTogJGc0OyAkZzQ6ICRnMzsgJGczOiAkZzI7ICRnMjogJGcxOyAkZzE6ICRwb3M7XHJcbiAgICAkcG9zOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgQGlmICRwb3Mge1xyXG4gICAgJHBvc2l0aW9uczogX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRwb3MpO1xyXG4gICAgJHBvcy1kZWdyZWU6IG50aCgkcG9zaXRpb25zLCAxKTtcclxuICAgICRwb3Mtc3BlYzogICBudGgoJHBvc2l0aW9ucywgMik7XHJcbiAgfVxyXG5cclxuICAkZnVsbDogJGcxLCAkZzIsICRnMywgJGc0LCAkZzUsICRnNiwgJGc3LCAkZzgsICRnOSwgJGcxMDtcclxuXHJcbiAgLy8gU2V0ICRnMSBhcyB0aGUgZGVmYXVsdCBmYWxsYmFjayBjb2xvclxyXG4gICRmYWxsYmFjay1jb2xvcjogbnRoKCRnMSwgMSk7XHJcblxyXG4gIC8vIElmICRmYWxsYmFjayBpcyBhIGNvbG9yIHVzZSB0aGF0IGNvbG9yIGFzIHRoZSBmYWxsYmFjayBjb2xvclxyXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xyXG4gICAgJGZhbGxiYWNrLWNvbG9yOiAkZmFsbGJhY2s7XHJcbiAgfVxyXG5cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmFsbGJhY2stY29sb3I7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHBvcy1kZWdyZWUgJGZ1bGwpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5xdW90ZShcImxpbmVhci1ncmFkaWVudCgjeyRwb3Mtc3BlY30jeyRmdWxsfSlcIik7XHJcbn1cclxuIiwKCQkiQG1peGluIHBlcnNwZWN0aXZlKCRkZXB0aDogbm9uZSkge1xyXG4gIC8vIG5vbmUgfCA8bGVuZ3RoPlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHBlcnNwZWN0aXZlLCAkZGVwdGgsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBwZXJzcGVjdGl2ZS1vcmlnaW4oJHZhbHVlOiA1MCUgNTAlKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIocGVyc3BlY3RpdmUtb3JpZ2luLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuIiwKCQkiQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAkcGxhY2Vob2xkZXJzOiBcIjotd2Via2l0LWlucHV0XCIgXCI6LW1velwiIFwiLW1velwiIFwiLW1zLWlucHV0XCI7XHJcbiAgQGVhY2ggJHBsYWNlaG9sZGVyIGluICRwbGFjZWhvbGRlcnMge1xyXG4gICAgJjojeyRwbGFjZWhvbGRlcn0tcGxhY2Vob2xkZXIge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwKCQkiLy8gUmVxdWlyZXMgU2FzcyAzLjErXHJcbkBtaXhpbiByYWRpYWwtZ3JhZGllbnQoJGcxLCAkZzIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJGczOiBudWxsLCAkZzQ6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJGc1OiBudWxsLCAkZzY6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJGc3OiBudWxsLCAkZzg6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJGc5OiBudWxsLCAkZzEwOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRwb3M6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJHNoYXBlLXNpemU6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XHJcblxyXG4gICRkYXRhOiBfcmFkaWFsLWFyZy1wYXJzZXIoJGcxLCAkZzIsICRwb3MsICRzaGFwZS1zaXplKTtcclxuICAkZzE6ICBudGgoJGRhdGEsIDEpO1xyXG4gICRnMjogIG50aCgkZGF0YSwgMik7XHJcbiAgJHBvczogbnRoKCRkYXRhLCAzKTtcclxuICAkc2hhcGUtc2l6ZTogbnRoKCRkYXRhLCA0KTtcclxuXHJcbiAgJGZ1bGw6ICRnMSwgJGcyLCAkZzMsICRnNCwgJGc1LCAkZzYsICRnNywgJGc4LCAkZzksICRnMTA7XHJcblxyXG4gIC8vIFN0cmlwIGRlcHJlY2F0ZWQgY292ZXIvY29udGFpbiBmb3Igc3BlY1xyXG4gICRzaGFwZS1zaXplLXNwZWM6IF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKTtcclxuXHJcbiAgLy8gU2V0ICRnMSBhcyB0aGUgZGVmYXVsdCBmYWxsYmFjayBjb2xvclxyXG4gICRmaXJzdC1jb2xvcjogbnRoKCRmdWxsLCAxKTtcclxuICAkZmFsbGJhY2stY29sb3I6IG50aCgkZmlyc3QtY29sb3IsIDEpO1xyXG5cclxuICBAaWYgKHR5cGUtb2YoJGZhbGxiYWNrKSA9PSBjb2xvcikgb3IgKCRmYWxsYmFjayA9PSBcInRyYW5zcGFyZW50XCIpIHtcclxuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xyXG4gIH1cclxuXHJcbiAgLy8gQWRkIENvbW1hcyBhbmQgc3BhY2VzXHJcbiAgJHNoYXBlLXNpemU6IGlmKCRzaGFwZS1zaXplLCBcIiN7JHNoYXBlLXNpemV9LCBcIiwgbnVsbCk7XHJcbiAgJHBvczogICAgICAgIGlmKCRwb3MsIFwiI3skcG9zfSwgXCIsIG51bGwpO1xyXG4gICRwb3Mtc3BlYzogICBpZigkcG9zLCBcImF0ICN7JHBvc31cIiwgbnVsbCk7XHJcbiAgJHNoYXBlLXNpemUtc3BlYzogaWYoKCRzaGFwZS1zaXplLXNwZWMgIT0gXCIgXCIpIGFuZCAoJHBvcyA9PSBudWxsKSwgXCIjeyRzaGFwZS1zaXplLXNwZWN9LCBcIiwgXCIjeyRzaGFwZS1zaXplLXNwZWN9IFwiKTtcclxuXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogICRmYWxsYmFjay1jb2xvcjtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudCgjeyRwb3N9I3skc2hhcGUtc2l6ZX0jeyRmdWxsfSk7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KCN7JHNoYXBlLXNpemUtc3BlY30jeyRwb3Mtc3BlY30jeyRmdWxsfSk7XHJcbn1cclxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIE91dHB1dHMgdGhlIHNwZWMgYW5kIHByZWZpeGVkIHZlcnNpb25zIG9mIHRoZSBgOjpzZWxlY3Rpb25gIHBzZXVkby1lbGVtZW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Qm9vbH0gJGN1cnJlbnQtc2VsZWN0b3IgW2ZhbHNlXVxyXG4vLy8gICBJZiBzZXQgdG8gYHRydWVgLCBpdCB0YWtlcyB0aGUgY3VycmVudCBlbGVtZW50IGludG8gY29uc2lkZXJhdGlvbi5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIHNlbGVjdGlvbih0cnVlKSB7XHJcbi8vLyAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYjUyO1xyXG4vLy8gICAgIH1cclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQ6Oi1tb3otc2VsZWN0aW9uIHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYjUyO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAuZWxlbWVudDo6c2VsZWN0aW9uIHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYjUyO1xyXG4vLy8gICB9XHJcblxyXG5AbWl4aW4gc2VsZWN0aW9uKCRjdXJyZW50LXNlbGVjdG9yOiBmYWxzZSkge1xyXG4gIEBpZiAkY3VycmVudC1zZWxlY3RvciB7XHJcbiAgICAmOjotbW96LXNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgICY6OnNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgOjotbW96LXNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgIDo6c2VsZWN0aW9uIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsCgkJIkBtaXhpbiB0ZXh0LWRlY29yYXRpb24oJHZhbHVlKSB7XHJcbi8vIDx0ZXh0LWRlY29yYXRpb24tbGluZT4gfHwgPHRleHQtZGVjb3JhdGlvbi1zdHlsZT4gfHwgPHRleHQtZGVjb3JhdGlvbi1jb2xvcj5cclxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24sICR2YWx1ZSwgbW96KTtcclxufVxyXG5cclxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1saW5lKCRsaW5lOiBub25lKSB7XHJcbi8vIG5vbmUgfHwgdW5kZXJsaW5lIHx8IG92ZXJsaW5lIHx8IGxpbmUtdGhyb3VnaFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1saW5lLCAkbGluZSwgbW96KTtcclxufVxyXG5cclxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1zdHlsZSgkc3R5bGU6IHNvbGlkKSB7XHJcbi8vIHNvbGlkIHx8IGRvdWJsZSB8fCBkb3R0ZWQgfHwgZGFzaGVkIHx8IHdhdnlcclxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tc3R5bGUsICRzdHlsZSwgbW96IHdlYmtpdCk7XHJcbn1cclxuXHJcbkBtaXhpbiB0ZXh0LWRlY29yYXRpb24tY29sb3IoJGNvbG9yOiBjdXJyZW50Q29sb3IpIHtcclxuLy8gY3VycmVudENvbG9yIHx8IDxjb2xvcj5cclxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tY29sb3IsICRjb2xvciwgbW96KTtcclxufVxyXG4iLAoJCSJAbWl4aW4gdHJhbnNmb3JtKCRwcm9wZXJ0eTogbm9uZSkge1xyXG4gIC8vIG5vbmUgfCA8dHJhbnNmb3JtLWZ1bmN0aW9uPlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybSwgJHByb3BlcnR5LCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKCRheGVzOiA1MCUpIHtcclxuICAvLyB4LWF4aXMgLSBsZWZ0IHwgY2VudGVyIHwgcmlnaHQgIHwgbGVuZ3RoIHwgJVxyXG4gIC8vIHktYXhpcyAtIHRvcCAgfCBjZW50ZXIgfCBib3R0b20gfCBsZW5ndGggfCAlXHJcbiAgLy8gei1heGlzIC0gICAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybS1vcmlnaW4sICRheGVzLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2Zvcm0tc3R5bGUoJHN0eWxlOiBmbGF0KSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcclxufVxyXG4iLAoJCSIvLyBTaG9ydGhhbmQgbWl4aW4uIFN1cHBvcnRzIG11bHRpcGxlIHBhcmVudGhlc2VzLWRlbGltaW5hdGVkIHZhbHVlcyBmb3IgZWFjaCB2YXJpYWJsZS5cclxuLy8gRXhhbXBsZTogQGluY2x1ZGUgdHJhbnNpdGlvbiAoYWxsIDJzIGVhc2UtaW4tb3V0KTtcclxuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiAob3BhY2l0eSAxcyBlYXNlLWluIDJzLCB3aWR0aCAycyBlYXNlLW91dCk7XHJcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkgKHRyYW5zZm9ybSwgb3BhY2l0eSk7XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbigkcHJvcGVydGllcy4uLikge1xyXG4gIC8vIEZpeCBmb3IgdmVuZG9yLXByZWZpeCB0cmFuc2Zvcm0gcHJvcGVydHlcclxuICAkbmVlZHMtcHJlZml4ZXM6IGZhbHNlO1xyXG4gICR3ZWJraXQ6ICgpO1xyXG4gICRtb3o6ICgpO1xyXG4gICRzcGVjOiAoKTtcclxuXHJcbiAgLy8gQ3JlYXRlIGxpc3RzIGZvciB2ZW5kb3ItcHJlZml4ZWQgdHJhbnNmb3JtXHJcbiAgQGVhY2ggJGxpc3QgaW4gJHByb3BlcnRpZXMge1xyXG4gICAgQGlmIG50aCgkbGlzdCwgMSkgPT0gXCJ0cmFuc2Zvcm1cIiB7XHJcbiAgICAgICRuZWVkcy1wcmVmaXhlczogdHJ1ZTtcclxuICAgICAgJGxpc3QxOiAtd2Via2l0LXRyYW5zZm9ybTtcclxuICAgICAgJGxpc3QyOiAtbW96LXRyYW5zZm9ybTtcclxuICAgICAgJGxpc3QzOiAoKTtcclxuXHJcbiAgICAgIEBlYWNoICR2YXIgaW4gJGxpc3Qge1xyXG4gICAgICAgICRsaXN0Mzogam9pbigkbGlzdDMsICR2YXIpO1xyXG5cclxuICAgICAgICBAaWYgJHZhciAhPSBcInRyYW5zZm9ybVwiIHtcclxuICAgICAgICAgICRsaXN0MTogam9pbigkbGlzdDEsICR2YXIpO1xyXG4gICAgICAgICAgJGxpc3QyOiBqb2luKCRsaXN0MiwgJHZhcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAkd2Via2l0OiBhcHBlbmQoJHdlYmtpdCwgJGxpc3QxKTtcclxuICAgICAgJG1vejogICAgYXBwZW5kKCRtb3osICAgICRsaXN0Mik7XHJcbiAgICAgICRzcGVjOiAgIGFwcGVuZCgkc3BlYywgICAkbGlzdDMpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICR3ZWJraXQ6IGFwcGVuZCgkd2Via2l0LCAkbGlzdCwgY29tbWEpO1xyXG4gICAgICAkbW96OiAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QsIGNvbW1hKTtcclxuICAgICAgJHNwZWM6ICAgYXBwZW5kKCRzcGVjLCAgICRsaXN0LCBjb21tYSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJG5lZWRzLXByZWZpeGVzIHtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJHdlYmtpdDtcclxuICAgICAgIC1tb3otdHJhbnNpdGlvbjogJG1vejtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogJHNwZWM7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAaWYgbGVuZ3RoKCRwcm9wZXJ0aWVzKSA+PSAxIHtcclxuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJHByb3BlcnRpZXM6IGFsbCAwLjE1cyBlYXNlLW91dCAwcztcclxuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbi1wcm9wZXJ0eSgkcHJvcGVydGllcy4uLikge1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgXCJ3ZWJraXRcIik7XHJcbiAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIm1velwiKTtcclxuICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsIGZhbHNlKTtcclxufVxyXG5cclxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJHRpbWVzLi4uKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJG1vdGlvbnMuLi4pIHtcclxuICAvLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXQgfCBjdWJpYy1iZXppZXIoKVxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkbW90aW9ucywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkoJHRpbWVzLi4uKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcbiIsCgkJIkBtaXhpbiB1c2VyLXNlbGVjdCgkdmFsdWU6IG5vbmUpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcih1c2VyLXNlbGVjdCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xyXG59XHJcbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItY29sb3JgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xyXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLWNvbG9yKCNhNjBiNTUgIzc2Y2Q5YyBudWxsICNlOGFlMWEpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNlOGFlMWE7XHJcbi8vLyAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjNzZjZDljO1xyXG4vLy8gICAgIGJvcmRlci10b3AtY29sb3I6ICNhNjBiNTU7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XHJcbi8vL1xyXG4vLy8gQG91dHB1dCBgYm9yZGVyLWNvbG9yYFxyXG5cclxuQG1peGluIGJvcmRlci1jb2xvcigkdmFscy4uLikge1xyXG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgY29sb3IsICR2YWxzLi4uKTtcclxufVxyXG4iLAoJCSIiLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgYm9yZGVyLXN0eWxlYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcclxuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1zdHlsZShkYXNoZWQgbnVsbCBzb2xpZCk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcclxuLy8vICAgICBib3JkZXItdG9wLXN0eWxlOiBkYXNoZWQ7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XHJcbi8vL1xyXG4vLy8gQG91dHB1dCBgYm9yZGVyLXN0eWxlYFxyXG5cclxuQG1peGluIGJvcmRlci1zdHlsZSgkdmFscy4uLikge1xyXG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgc3R5bGUsICR2YWxzLi4uKTtcclxufVxyXG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgYm9yZGVyLXdpZHRoYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcclxuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci13aWR0aCgxZW0gbnVsbCAyMHB4KTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIwcHg7XHJcbi8vLyAgICAgYm9yZGVyLXRvcC13aWR0aDogMWVtO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxyXG4vLy9cclxuLy8vIEBvdXRwdXQgYGJvcmRlci13aWR0aGBcclxuXHJcbkBtaXhpbiBib3JkZXItd2lkdGgoJHZhbHMuLi4pIHtcclxuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHdpZHRoLCAkdmFscy4uLik7XHJcbn1cclxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIEdlbmVyYXRlcyB2YXJpYWJsZXMgZm9yIGFsbCBidXR0b25zLiBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTogYCN7JGFsbC1idXR0b25zfWAuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgICN7JGFsbC1idXR0b25zfSB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwMDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgI3skYWxsLWJ1dHRvbnMtZm9jdXN9LFxyXG4vLy8gICAjeyRhbGwtYnV0dG9ucy1ob3Zlcn0ge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjA7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgICN7JGFsbC1idXR0b25zLWFjdGl2ZX0ge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGY7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIGJ1dHRvbixcclxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjAwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICBidXR0b246Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyxcclxuLy8vICAgYnV0dG9uOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjA7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgIGJ1dHRvbjphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmFjdGl2ZSB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZjtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIGFzc2lnbi1pbnB1dHNcclxuLy8vXHJcbi8vLyBAdHlwZSBMaXN0XHJcbi8vL1xyXG4vLy8gQHRvZG8gUmVtb3ZlIGRvdWJsZSBhc3NpZ25lZCB2YXJpYWJsZXMgKExpbmVzIDU54oCTNjIpIGluIHY1LjAuMFxyXG5cclxuJGJ1dHRvbnMtbGlzdDogJ2J1dHRvbicsXHJcbiAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiYnV0dG9uXCJdJyxcclxuICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJyZXNldFwiXScsXHJcbiAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic3VibWl0XCJdJztcclxuXHJcbiRhbGwtYnV0dG9uczogICAgICAgIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCk7XHJcbiRhbGwtYnV0dG9ucy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgYWN0aXZlKTtcclxuJGFsbC1idXR0b25zLWZvY3VzOiAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0LCBmb2N1cyk7XHJcbiRhbGwtYnV0dG9ucy1ob3ZlcjogIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgaG92ZXIpO1xyXG5cclxuJGFsbC1idXR0b24taW5wdXRzOiAgICAgICAgJGFsbC1idXR0b25zO1xyXG4kYWxsLWJ1dHRvbi1pbnB1dHMtYWN0aXZlOiAkYWxsLWJ1dHRvbnMtYWN0aXZlO1xyXG4kYWxsLWJ1dHRvbi1pbnB1dHMtZm9jdXM6ICAkYWxsLWJ1dHRvbnMtZm9jdXM7XHJcbiRhbGwtYnV0dG9uLWlucHV0cy1ob3ZlcjogICRhbGwtYnV0dG9ucy1ob3ZlcjtcclxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGluY2x1ZGUgYSBjbGVhcmZpeCBmb3IgY29udGFpbmluZyBmbG9hdHMuXHJcbi8vL1xyXG4vLy8gQGxpbmsgaHR0cDovL2Nzc21vam8uY29tL2xhdGVzdF9uZXdfY2xlYXJmaXhfc29fZmFyL1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50OjphZnRlciB7XHJcbi8vLyAgICAgY2xlYXI6IGJvdGg7XHJcbi8vLyAgICAgY29udGVudDogXCJcIjtcclxuLy8vICAgICBkaXNwbGF5OiB0YWJsZTtcclxuLy8vICAgfVxyXG5cclxuQG1peGluIGNsZWFyZml4IHtcclxuICAmOjphZnRlciB7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICB9XHJcbn1cclxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFRydW5jYXRlcyB0ZXh0IGFuZCBhZGRzIGFuIGVsbGlwc2lzIHRvIHJlcHJlc2VudCBvdmVyZmxvdy5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsxMDAlXVxyXG4vLy8gICBNYXgtd2lkdGggZm9yIHRoZSBzdHJpbmcgdG8gcmVzcGVjdCBiZWZvcmUgYmVpbmcgdHJ1bmNhdGVkXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBlbGxpcHNpcztcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuLy8vICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbi8vLyAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuLy8vICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4vLy8gICAgIHdvcmQtd3JhcDogbm9ybWFsO1xyXG4vLy8gICB9XHJcblxyXG5AbWl4aW4gZWxsaXBzaXMoJHdpZHRoOiAxMDAlKSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIG1heC13aWR0aDogJHdpZHRoO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICB3b3JkLXdyYXA6IG5vcm1hbDtcclxufVxyXG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gR2VvcmdpYSBmb250IHN0YWNrLlxyXG4vLy9cclxuLy8vIEB0eXBlIExpc3RcclxuXHJcbiRnZW9yZ2lhOiBcIkdlb3JnaWFcIiwgXCJDYW1icmlhXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFwiVGltZXNcIiwgc2VyaWY7XHJcblxyXG4vLy8gSGVsdmV0aWNhIGZvbnQgc3RhY2suXHJcbi8vL1xyXG4vLy8gQHR5cGUgTGlzdFxyXG5cclxuJGhlbHZldGljYTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIlJvYm90b1wiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XHJcblxyXG4vLy8gTHVjaWRhIEdyYW5kZSBmb250IHN0YWNrLlxyXG4vLy9cclxuLy8vIEB0eXBlIExpc3RcclxuXHJcbiRsdWNpZGEtZ3JhbmRlOiBcIkx1Y2lkYSBHcmFuZGVcIiwgXCJUYWhvbWFcIiwgXCJWZXJkYW5hXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcclxuXHJcbi8vLyBNb25vc3BhY2UgZm9udCBzdGFjay5cclxuLy8vXHJcbi8vLyBAdHlwZSBMaXN0XHJcblxyXG4kbW9ub3NwYWNlOiBcIkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ub1wiLCBcIkNvbnNvbGFzXCIsIFwiQ291cmllclwiLCBtb25vc3BhY2U7XHJcblxyXG4vLy8gVmVyZGFuYSBmb250IHN0YWNrLlxyXG4vLy9cclxuLy8vIEB0eXBlIExpc3RcclxuXHJcbiR2ZXJkYW5hOiBcIlZlcmRhbmFcIiwgXCJHZW5ldmFcIiwgc2Fucy1zZXJpZjtcclxuIiwKCQkiLy8vIEhpZGVzIHRoZSB0ZXh0IGluIGFuIGVsZW1lbnQsIGNvbW1vbmx5IHVzZWQgdG8gc2hvdyBhbiBpbWFnZS4gU29tZSBlbGVtZW50cyB3aWxsIG5lZWQgYmxvY2stbGV2ZWwgc3R5bGVzIGFwcGxpZWQuXHJcbi8vL1xyXG4vLy8gQGxpbmsgaHR0cDovL3plbGRtYW4uY29tLzIwMTIvMDMvMDEvcmVwbGFjaW5nLXRoZS05OTk5cHgtaGFjay1uZXctaW1hZ2UtcmVwbGFjZW1lbnRcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIGhpZGUtdGV4dDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbi8vLyAgICAgdGV4dC1pbmRlbnQ6IDEwMSU7XHJcbi8vLyAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEB0b2RvIFJlbW92ZSBoZWlnaHQgYXJndW1lbnQgaW4gdjUuMC4wXHJcblxyXG5AbWl4aW4gaGlkZS10ZXh0KCRoZWlnaHQ6IG51bGwpIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRleHQtaW5kZW50OiAxMDElO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblxyXG4gIEBpZiAkaGVpZ2h0IHtcclxuICAgIEB3YXJuIFwiVGhlIGBoaWRlLXRleHRgIG1peGluIGhhcyBjaGFuZ2VkIGFuZCBubyBsb25nZXIgcmVxdWlyZXMgYSBoZWlnaHQuIFRoZSBoZWlnaHQgYXJndW1lbnQgd2lsbCBubyBsb25nZXIgYmUgYWNjZXB0ZWQgaW4gdjUuMC4wXCI7XHJcbiAgfVxyXG59XHJcbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBtYXJnaW5gIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xyXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwgMTBweCAzZW0gMjB2aCk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBtYXJnaW4tYm90dG9tOiAzZW07XHJcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IDIwdmg7XHJcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxyXG4vLy9cclxuLy8vIEBvdXRwdXQgYG1hcmdpbmBcclxuXHJcbkBtaXhpbiBtYXJnaW4oJHZhbHMuLi4pIHtcclxuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShtYXJnaW4sIGZhbHNlLCAkdmFscy4uLik7XHJcbn1cclxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYHBhZGRpbmdgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xyXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgcGFkZGluZygxMnZoIG51bGwgMTBweCA1JSk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuLy8vICAgICBwYWRkaW5nLWxlZnQ6IDUlO1xyXG4vLy8gICAgIHBhZGRpbmctdG9wOiAxMnZoO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxyXG4vLy9cclxuLy8vIEBvdXRwdXQgYHBhZGRpbmdgXHJcblxyXG5AbWl4aW4gcGFkZGluZygkdmFscy4uLikge1xyXG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KHBhZGRpbmcsIGZhbHNlLCAkdmFscy4uLik7XHJcbn1cclxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciBzZXR0aW5nIGFuIGVsZW1lbnTigJlzIHBvc2l0aW9uLiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtQb3NpdGlvbn0gJHBvc2l0aW9uIFtyZWxhdGl2ZV1cclxuLy8vICAgQSBDU1MgcG9zaXRpb24gdmFsdWVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRjb29yZGluYXRlcyBbbnVsbCBudWxsIG51bGwgbnVsbF1cclxuLy8vICAgTGlzdCBvZiB2YWx1ZXMgdGhhdCBjb3JyZXNwb25kIHRvIHRoZSA0LXZhbHVlIHN5bnRheCBmb3IgdGhlIGVkZ2VzIG9mIGEgYm94XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMTBlbSk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBsZWZ0OiAxMGVtO1xyXG4vLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuLy8vICAgICB0b3A6IDA7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGlzLWxlbmd0aFxyXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSB1bnBhY2tcclxuXHJcbkBtaXhpbiBwb3NpdGlvbigkcG9zaXRpb246IHJlbGF0aXZlLCAkY29vcmRpbmF0ZXM6IG51bGwgbnVsbCBudWxsIG51bGwpIHtcclxuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09IGxpc3Qge1xyXG4gICAgJGNvb3JkaW5hdGVzOiAkcG9zaXRpb247XHJcbiAgICAkcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIH1cclxuXHJcbiAgJGNvb3JkaW5hdGVzOiB1bnBhY2soJGNvb3JkaW5hdGVzKTtcclxuXHJcbiAgJG9mZnNldHM6IChcclxuICAgIHRvcDogICAgbnRoKCRjb29yZGluYXRlcywgMSksXHJcbiAgICByaWdodDogIG50aCgkY29vcmRpbmF0ZXMsIDIpLFxyXG4gICAgYm90dG9tOiBudGgoJGNvb3JkaW5hdGVzLCAzKSxcclxuICAgIGxlZnQ6ICAgbnRoKCRjb29yZGluYXRlcywgNClcclxuICApO1xyXG5cclxuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xyXG5cclxuICBAZWFjaCAkb2Zmc2V0LCAkdmFsdWUgaW4gJG9mZnNldHMge1xyXG4gICAgQGlmIGlzLWxlbmd0aCgkdmFsdWUpIHtcclxuICAgICAgI3skb2Zmc2V0fTogJHZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gQSBtaXhpbiBmb3IgZ2VuZXJhdGluZyB2ZW5kb3IgcHJlZml4ZXMgb24gbm9uLXN0YW5kYXJkaXplZCBwcm9wZXJ0aWVzLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHlcclxuLy8vICAgUHJvcGVydHkgdG8gcHJlZml4XHJcbi8vL1xyXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWVcclxuLy8vICAgVmFsdWUgdG8gdXNlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkcHJlZml4ZXNcclxuLy8vICAgUHJlZml4ZXMgdG8gZGVmaW5lXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItcmFkaXVzLCAxMHB4LCB3ZWJraXQgbXMgc3BlYyk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbi8vLyAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4vLy8gICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXdlYmtpdFxyXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1tb3ppbGxhXHJcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1pY3Jvc29mdFxyXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1vcGVyYVxyXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1zcGVjXHJcblxyXG5AbWl4aW4gcHJlZml4ZXIoJHByb3BlcnR5LCAkdmFsdWUsICRwcmVmaXhlcykge1xyXG4gIEBlYWNoICRwcmVmaXggaW4gJHByZWZpeGVzIHtcclxuICAgIEBpZiAkcHJlZml4ID09IHdlYmtpdCB7XHJcbiAgICAgIEBpZiAkcHJlZml4LWZvci13ZWJraXQge1xyXG4gICAgICAgIC13ZWJraXQtI3skcHJvcGVydHl9OiAkdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtb3oge1xyXG4gICAgICBAaWYgJHByZWZpeC1mb3ItbW96aWxsYSB7XHJcbiAgICAgICAgLW1vei0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IG1zIHtcclxuICAgICAgQGlmICRwcmVmaXgtZm9yLW1pY3Jvc29mdCB7XHJcbiAgICAgICAgLW1zLSN7JHByb3BlcnR5fTogJHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbyB7XHJcbiAgICAgIEBpZiAkcHJlZml4LWZvci1vcGVyYSB7XHJcbiAgICAgICAgLW8tI3skcHJvcGVydHl9OiAkdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBzcGVjIHtcclxuICAgICAgQGlmICRwcmVmaXgtZm9yLXNwZWMge1xyXG4gICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlICB7XHJcbiAgICAgIEB3YXJuIFwiVW5yZWNvZ25pemVkIHByZWZpeDogI3skcHJlZml4fVwiO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKSB7XHJcbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICBmYWxzZSAhZ2xvYmFsO1xyXG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgZmFsc2UgIWdsb2JhbDtcclxuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6IGZhbHNlICFnbG9iYWw7XHJcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICBmYWxzZSAhZ2xvYmFsO1xyXG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgZmFsc2UgIWdsb2JhbDtcclxufVxyXG4iLAoJCSJAbWl4aW4gcmV0aW5hLWltYWdlKCRmaWxlbmFtZSwgJGJhY2tncm91bmQtc2l6ZSwgJGV4dGVuc2lvbjogcG5nLCAkcmV0aW5hLWZpbGVuYW1lOiBudWxsLCAkcmV0aW5hLXN1ZmZpeDogXzJ4LCAkYXNzZXQtcGlwZWxpbmU6ICRhc3NldC1waXBlbGluZSkge1xyXG4gIEBpZiAkYXNzZXQtcGlwZWxpbmUge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgICB1cmwoXCIjeyRmaWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGhpZHBpIHtcclxuICAgIEBpZiAkYXNzZXQtcGlwZWxpbmUge1xyXG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skcmV0aW5hLWZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRmaWxlbmFtZX0jeyRyZXRpbmEtc3VmZml4fS4jeyRleHRlbnNpb259XCIpO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgQGlmICRyZXRpbmEtZmlsZW5hbWUge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skZmlsZW5hbWV9I3skcmV0aW5hLXN1ZmZpeH0uI3skZXh0ZW5zaW9ufVwiKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGJhY2tncm91bmQtc2l6ZTogJGJhY2tncm91bmQtc2l6ZTtcclxuICB9XHJcbn1cclxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFNldHMgdGhlIGB3aWR0aGAgYW5kIGBoZWlnaHRgIG9mIHRoZSBlbGVtZW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJHNpemVcclxuLy8vICAgQSBsaXN0IG9mIGF0IG1vc3QgMiBzaXplIHZhbHVlcy5cclxuLy8vXHJcbi8vLyAgIElmIHRoZXJlIGlzIG9ubHkgYSBzaW5nbGUgdmFsdWUgaW4gYCRzaXplYCBpdCBpcyB1c2VkIGZvciBib3RoIHdpZHRoIGFuZCBoZWlnaHQuIEFsbCB1bml0cyBhcmUgc3VwcG9ydGVkLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZmlyc3QtZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgc2l6ZSgyZW0pO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAuc2Vjb25kLWVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIHNpemUoYXV0byAxMGVtKTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmZpcnN0LWVsZW1lbnQge1xyXG4vLy8gICAgIHdpZHRoOiAyZW07XHJcbi8vLyAgICAgaGVpZ2h0OiAyZW07XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XHJcbi8vLyAgICAgd2lkdGg6IGF1dG87XHJcbi8vLyAgICAgaGVpZ2h0OiAxMGVtO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHRvZG8gUmVmYWN0b3IgaW4gNS4wLjAgdG8gdXNlIGEgY29tbWEtc2VwYXJhdGVkIGFyZ3VtZW50XHJcblxyXG5AbWl4aW4gc2l6ZSgkdmFsdWUpIHtcclxuICAkd2lkdGg6IG50aCgkdmFsdWUsIDEpO1xyXG4gICRoZWlnaHQ6ICR3aWR0aDtcclxuXHJcbiAgQGlmIGxlbmd0aCgkdmFsdWUpID4gMSB7XHJcbiAgICAkaGVpZ2h0OiBudGgoJHZhbHVlLCAyKTtcclxuICB9XHJcblxyXG4gIEBpZiBpcy1zaXplKCRoZWlnaHQpIHtcclxuICAgIGhlaWdodDogJGhlaWdodDtcclxuICB9IEBlbHNlIHtcclxuICAgIEB3YXJuIFwiYCN7JGhlaWdodH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkaGVpZ2h0YCBwYXJhbWV0ZXIgaW4gdGhlIGBzaXplYCBtaXhpbi5cIjtcclxuICB9XHJcblxyXG4gIEBpZiBpcy1zaXplKCR3aWR0aCkge1xyXG4gICAgd2lkdGg6ICR3aWR0aDtcclxuICB9IEBlbHNlIHtcclxuICAgIEB3YXJuIFwiYCN7JHdpZHRofWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCR3aWR0aGAgcGFyYW1ldGVyIGluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XHJcbiAgfVxyXG59XHJcbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBHZW5lcmF0ZXMgdmFyaWFibGVzIGZvciBhbGwgdGV4dC1iYXNlZCBpbnB1dHMuIFBsZWFzZSBub3RlIHRoYXQgeW91IG11c3QgdXNlIGludGVycG9sYXRpb24gb24gdGhlIHZhcmlhYmxlOiBgI3skYWxsLXRleHQtaW5wdXRzfWAuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0c30ge1xyXG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMDA7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1mb2N1c30sXHJcbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1ob3Zlcn0ge1xyXG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwZjA7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1hY3RpdmV9IHtcclxuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXSxcclxuLy8vICAgdGV4dGFyZWEge1xyXG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMDA7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmZvY3VzLFxyXG4vLy8gICB0ZXh0YXJlYTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl06aG92ZXIsXHJcbi8vLyAgIHRleHRhcmVhOmhvdmVyIHtcclxuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMGYwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl06YWN0aXZlLFxyXG4vLy8gICB0ZXh0YXJlYTphY3RpdmUge1xyXG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMGY7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAcmVxdWlyZSBhc3NpZ24taW5wdXRzXHJcbi8vL1xyXG4vLy8gQHR5cGUgTGlzdFxyXG5cclxuJHRleHQtaW5wdXRzLWxpc3Q6ICdpbnB1dFt0eXBlPVwiY29sb3JcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRlXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImVtYWlsXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwibW9udGhcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJudW1iZXJcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJwYXNzd29yZFwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInNlYXJjaFwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRlbFwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRleHRcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0aW1lXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidXJsXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwid2Vla1wiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXQ6bm90KFt0eXBlXSknLFxyXG4gICAgICAgICAgICAgICAgICAgJ3RleHRhcmVhJztcclxuXHJcbiRhbGwtdGV4dC1pbnB1dHM6ICAgICAgICBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0KTtcclxuJGFsbC10ZXh0LWlucHV0cy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QsIGFjdGl2ZSk7XHJcbiRhbGwtdGV4dC1pbnB1dHMtZm9jdXM6ICBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0LCBmb2N1cyk7XHJcbiRhbGwtdGV4dC1pbnB1dHMtaG92ZXI6ICBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0LCBob3Zlcik7XHJcbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBDU1MgY3ViaWMtYmV6aWVyIHRpbWluZyBmdW5jdGlvbnMuIFRpbWluZyBmdW5jdGlvbnMgY291cnRlc3kgb2YganF1ZXJ5LmVhc2llIChnaXRodWIuY29tL2phdWtpYS9lYXNpZSlcclxuLy8vXHJcbi8vLyBUaW1pbmcgZnVuY3Rpb25zIGFyZSB0aGUgc2FtZSBhcyBkZW1vZWQgaGVyZTogaHR0cDovL2pxdWVyeXVpLmNvbS9yZXNvdXJjZXMvZGVtb3MvZWZmZWN0L2Vhc2luZy5odG1sXHJcbi8vL1xyXG4vLy8gQHR5cGUgY3ViaWMtYmV6aWVyXHJcblxyXG4kZWFzZS1pbi1xdWFkOiAgICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDg1LCAwLjY4MCwgMC41MzApO1xyXG4kZWFzZS1pbi1jdWJpYzogICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4kZWFzZS1pbi1xdWFydDogICAgIGN1YmljLWJlemllcigwLjg5NSwgIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xyXG4kZWFzZS1pbi1xdWludDogICAgIGN1YmljLWJlemllcigwLjc1NSwgIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4kZWFzZS1pbi1zaW5lOiAgICAgIGN1YmljLWJlemllcigwLjQ3MCwgIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xyXG4kZWFzZS1pbi1leHBvOiAgICAgIGN1YmljLWJlemllcigwLjk1MCwgIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG4kZWFzZS1pbi1jaXJjOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xyXG4kZWFzZS1pbi1iYWNrOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgLTAuMjgwLCAwLjczNSwgMC4wNDUpO1xyXG5cclxuJGVhc2Utb3V0LXF1YWQ6ICAgICBjdWJpYy1iZXppZXIoMC4yNTAsICAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcclxuJGVhc2Utb3V0LWN1YmljOiAgICBjdWJpYy1iZXppZXIoMC4yMTUsICAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuJGVhc2Utb3V0LXF1YXJ0OiAgICBjdWJpYy1iZXppZXIoMC4xNjUsICAwLjg0MCwgMC40NDAsIDEuMDAwKTtcclxuJGVhc2Utb3V0LXF1aW50OiAgICBjdWJpYy1iZXppZXIoMC4yMzAsICAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcclxuJGVhc2Utb3V0LXNpbmU6ICAgICBjdWJpYy1iZXppZXIoMC4zOTAsICAwLjU3NSwgMC41NjUsIDEuMDAwKTtcclxuJGVhc2Utb3V0LWV4cG86ICAgICBjdWJpYy1iZXppZXIoMC4xOTAsICAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcclxuJGVhc2Utb3V0LWNpcmM6ICAgICBjdWJpYy1iZXppZXIoMC4wNzUsICAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcclxuJGVhc2Utb3V0LWJhY2s6ICAgICBjdWJpYy1iZXppZXIoMC4xNzUsICAwLjg4NSwgMC4zMjAsIDEuMjc1KTtcclxuXHJcbiRlYXNlLWluLW91dC1xdWFkOiAgY3ViaWMtYmV6aWVyKDAuNDU1LCAgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XHJcbiRlYXNlLWluLW91dC1jdWJpYzogY3ViaWMtYmV6aWVyKDAuNjQ1LCAgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XHJcbiRlYXNlLWluLW91dC1xdWFydDogY3ViaWMtYmV6aWVyKDAuNzcwLCAgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XHJcbiRlYXNlLWluLW91dC1xdWludDogY3ViaWMtYmV6aWVyKDAuODYwLCAgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XHJcbiRlYXNlLWluLW91dC1zaW5lOiAgY3ViaWMtYmV6aWVyKDAuNDQ1LCAgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XHJcbiRlYXNlLWluLW91dC1leHBvOiAgY3ViaWMtYmV6aWVyKDEuMDAwLCAgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XHJcbiRlYXNlLWluLW91dC1jaXJjOiAgY3ViaWMtYmV6aWVyKDAuNzg1LCAgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XHJcbiRlYXNlLWluLW91dC1iYWNrOiAgY3ViaWMtYmV6aWVyKDAuNjgwLCAtMC41NTAsIDAuMjY1LCAxLjU1MCk7XHJcbiIsCgkJIkBtaXhpbiB0cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCAkZGlyZWN0aW9uKSB7XHJcbiAgJHdpZHRoOiBudGgoJHNpemUsIDEpO1xyXG4gICRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XHJcbiAgJGZvcmVncm91bmQtY29sb3I6IG50aCgkY29sb3IsIDEpO1xyXG4gICRiYWNrZ3JvdW5kLWNvbG9yOiBpZihsZW5ndGgoJGNvbG9yKSA9PSAyLCBudGgoJGNvbG9yLCAyKSwgdHJhbnNwYXJlbnQpO1xyXG4gIGhlaWdodDogMDtcclxuICB3aWR0aDogMDtcclxuXHJcbiAgQGlmICgkZGlyZWN0aW9uID09IHVwKSBvciAoJGRpcmVjdGlvbiA9PSBkb3duKSBvciAoJGRpcmVjdGlvbiA9PSByaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gbGVmdCkge1xyXG4gICAgJHdpZHRoOiAkd2lkdGggLyAyO1xyXG4gICAgJGhlaWdodDogaWYobGVuZ3RoKCRzaXplKSA+IDEsICRoZWlnaHQsICRoZWlnaHQvMik7XHJcblxyXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xyXG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgYm9yZGVyLWxlZnQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XHJcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcclxuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XHJcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xyXG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSB1cC1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gdXAtbGVmdCkge1xyXG4gICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcclxuXHJcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cC1yaWdodCB7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwLWxlZnQge1xyXG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGRvd24tcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGRvd24tbGVmdCkge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcclxuXHJcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0IHtcclxuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0IHtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC11cCkge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xyXG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtZG93bikge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xyXG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtcmlnaHQpIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcclxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWxlZnQpIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcclxuICB9XHJcbn1cclxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGNoYW5nZSB0aGUgYHdvcmQtd3JhcGAgcHJvcGVydHkuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR3cmFwIFticmVhay13b3JkXVxyXG4vLy8gICBWYWx1ZSBmb3IgdGhlIGB3b3JkLWJyZWFrYCBwcm9wZXJ0eS5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLndyYXBwZXIge1xyXG4vLy8gICAgIEBpbmNsdWRlIHdvcmQtd3JhcChicmVhay13b3JkKTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLndyYXBwZXIge1xyXG4vLy8gICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XHJcbi8vLyAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xyXG4vLy8gICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuLy8vICAgfVxyXG5cclxuQG1peGluIHdvcmQtd3JhcCgkd3JhcDogYnJlYWstd29yZCkge1xyXG4gIG92ZXJmbG93LXdyYXA6ICR3cmFwO1xyXG4gIHdvcmQtd3JhcDogJHdyYXA7XHJcblxyXG4gIEBpZiAkd3JhcCA9PSBicmVhay13b3JkIHtcclxuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxuICB9IEBlbHNlIHtcclxuICAgIHdvcmQtYnJlYWs6ICR3cmFwO1xyXG4gIH1cclxufVxyXG4iLAoJCSIvLyBUaGUgZm9sbG93aW5nIGZlYXR1cmVzIGhhdmUgYmVlbiBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgTUFKT1IgdmVyc2lvbiByZWxlYXNlXHJcblxyXG5AbWl4aW4gaW5saW5lLWJsb2NrIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG4gIEB3YXJuIFwiVGhlIGlubGluZS1ibG9jayBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XHJcbn1cclxuXHJcbkBtaXhpbiBidXR0b24gKCRzdHlsZTogc2ltcGxlLCAkYmFzZS1jb2xvcjogIzQyOTRmMCwgJHRleHQtc2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XHJcblxyXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBjb2xvciB7XHJcbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XHJcbiAgfVxyXG5cclxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IHN0cmluZyBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gbnVtYmVyIHtcclxuICAgICRwYWRkaW5nOiAkdGV4dC1zaXplO1xyXG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XHJcbiAgICAkYmFzZS1jb2xvcjogIzQyOTRmMDtcclxuXHJcbiAgICBAaWYgJHBhZGRpbmcgPT0gaW5oZXJpdCB7XHJcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XHJcbiAgfVxyXG5cclxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IGNvbG9yIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBjb2xvciB7XHJcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xyXG4gICAgJHN0eWxlOiBzaW1wbGU7XHJcbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XHJcbiAgfVxyXG5cclxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IGNvbG9yIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBudW1iZXIge1xyXG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XHJcbiAgICAkdGV4dC1zaXplOiAkYmFzZS1jb2xvcjtcclxuICAgICRiYXNlLWNvbG9yOiAkc3R5bGU7XHJcbiAgICAkc3R5bGU6IHNpbXBsZTtcclxuXHJcbiAgICBAaWYgJHBhZGRpbmcgPT0gaW5oZXJpdCB7XHJcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XHJcbiAgfVxyXG5cclxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IG51bWJlciB7XHJcbiAgICAkcGFkZGluZzogJGJhc2UtY29sb3I7XHJcbiAgICAkdGV4dC1zaXplOiAkc3R5bGU7XHJcbiAgICAkYmFzZS1jb2xvcjogIzQyOTRmMDtcclxuICAgICRzdHlsZTogc2ltcGxlO1xyXG5cclxuICAgIEBpZiAkcGFkZGluZyA9PSAjNDI5NGYwIHtcclxuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcclxuICB9XHJcblxyXG4gICY6ZGlzYWJsZWQge1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgIG9wYWNpdHk6IDAuNTtcclxuICB9XHJcblxyXG4gIEB3YXJuIFwiVGhlIGJ1dHRvbiBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XHJcbn1cclxuXHJcbi8vIFNlbGVjdG9yIFN0eWxlIEJ1dHRvblxyXG5AbWl4aW4gYnV0dG9uc3R5bGUoJHR5cGUsICRiLWNvbG9yLCAkdC1zaXplLCAkcGFkKSB7XHJcbiAgLy8gR3JheXNjYWxlIGJ1dHRvblxyXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xyXG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcclxuICB9XHJcblxyXG4gIEBpZiAkdHlwZSA9PSBzaGlueSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XHJcbiAgICBAaW5jbHVkZSBzaGlueSgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XHJcbiAgfVxyXG5cclxuICBAaWYgJHR5cGUgPT0gcGlsbCBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XHJcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcclxuICB9XHJcblxyXG4gIEBpZiAkdHlwZSA9PSBmbGF0IGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcclxuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xyXG4gIH1cclxuXHJcbiAgLy8gQ29sb3JlZCBidXR0b25cclxuICBAaWYgJHR5cGUgPT0gc2ltcGxlIHtcclxuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJHR5cGUgPT0gc2hpbnkge1xyXG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICR0eXBlID09IHBpbGwge1xyXG4gICAgQGluY2x1ZGUgcGlsbCgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJHR5cGUgPT0gZmxhdCB7XHJcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBTaW1wbGUgQnV0dG9uXHJcbkBtaXhpbiBzaW1wbGUoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xyXG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XHJcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA5JSwgICRsaWdodG5lc3M6IC0xNCUpO1xyXG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtOCUsICAkbGlnaHRuZXNzOiAgMTUlKTtcclxuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDklLCAgJGxpZ2h0bmVzczogLTExJSk7XHJcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICAxNSUsICRsaWdodG5lc3M6IC0xOCUpO1xyXG5cclxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcclxuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XHJcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xyXG4gIH1cclxuXHJcbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XHJcbiAgICAkYm9yZGVyOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXIpO1xyXG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcclxuICAgICRzdG9wLWdyYWRpZW50OiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQpO1xyXG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xyXG4gIH1cclxuXHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcclxuICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3c7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvciwgJHN0b3AtZ3JhZGllbnQpO1xyXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB0ZXh0LXNoYWRvdzogMCAxcHggMCAkdGV4dC1zaGFkb3c7XHJcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuXHJcbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XHJcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTQlLCAkbGlnaHRuZXNzOiAtNSUpO1xyXG4gICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC03JSwgJGxpZ2h0bmVzczogIDUlKTtcclxuICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOCUsICRsaWdodG5lc3M6IC0xNCUpO1xyXG5cclxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xyXG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcclxuICAgICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWhvdmVyKTtcclxuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvci1ob3ZlciwgJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xyXG5cclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93LWhvdmVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuXHJcbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXHJcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XHJcbiAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogOSUsICRsaWdodG5lc3M6IC0xNCUpO1xyXG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDclLCAkbGlnaHRuZXNzOiAtMTclKTtcclxuXHJcbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICAgJGJvcmRlci1hY3RpdmU6ICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XHJcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xyXG4gICAgfVxyXG5cclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItYWN0aXZlO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDhweCA0cHggJGluc2V0LXNoYWRvdy1hY3RpdmUsIGluc2V0IDAgMCA4cHggNHB4ICRpbnNldC1zaGFkb3ctYWN0aXZlO1xyXG4gIH1cclxufVxyXG5cclxuLy8gU2hpbnkgQnV0dG9uXHJcbkBtaXhpbiBzaGlueSgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XHJcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcclxuICAkYm9yZGVyOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTE3LCAkZ3JlZW46IC0xMTEsICRibHVlOiAtODEpO1xyXG4gICRib3JkZXItYm90dG9tOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMjYsICRncmVlbjogLTEyNywgJGJsdWU6IC0xMjIpO1xyXG4gICRmb3VydGgtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC03OSwgICRncmVlbjogLTcwLCAgJGJsdWU6IC00Nik7XHJcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogIDM3LCAgJGdyZWVuOiAgMjksICAkYmx1ZTogIDEyKTtcclxuICAkc2Vjb25kLXN0b3A6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNTYsICAkZ3JlZW46IC01MCwgICRibHVlOiAtMzMpO1xyXG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xNDAsICRncmVlbjogLTE0MSwgJGJsdWU6IC0xMTQpO1xyXG4gICR0aGlyZC1zdG9wOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgICRncmVlbjogLTc1LCAgJGJsdWU6IC00OCk7XHJcblxyXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xyXG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcclxuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XHJcbiAgfVxyXG5cclxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICRib3JkZXI6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlcik7XHJcbiAgICAkYm9yZGVyLWJvdHRvbTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcclxuICAgICRmb3VydGgtc3RvcDogICBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wKTtcclxuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XHJcbiAgICAkc2Vjb25kLXN0b3A6ICAgZ3JheXNjYWxlKCRzZWNvbmQtc3RvcCk7XHJcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XHJcbiAgICAkdGhpcmQtc3RvcDogICAgZ3JheXNjYWxlKCR0aGlyZC1zdG9wKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCh0b3AsICRiYXNlLWNvbG9yIDAlLCAkc2Vjb25kLXN0b3AgNTAlLCAkdGhpcmQtc3RvcCA1MCUsICRmb3VydGgtc3RvcCAxMDAlKTtcclxuXHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1ib3R0b207XHJcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xyXG4gIGNvbG9yOiAkY29sb3I7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93O1xyXG5cclxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcclxuICAgICRmaXJzdC1zdG9wLWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTMsICRncmVlbjogLTE1LCAkYmx1ZTogLTE4KTtcclxuICAgICRzZWNvbmQtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNjYsICRncmVlbjogLTYyLCAkYmx1ZTogLTUxKTtcclxuICAgICR0aGlyZC1zdG9wLWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtOTMsICRncmVlbjogLTg1LCAkYmx1ZTogLTY2KTtcclxuICAgICRmb3VydGgtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtODYsICRncmVlbjogLTgwLCAkYmx1ZTogLTYzKTtcclxuXHJcbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICAgJGZpcnN0LXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJGZpcnN0LXN0b3AtaG92ZXIpO1xyXG4gICAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkc2Vjb25kLXN0b3AtaG92ZXIpO1xyXG4gICAgICAkdGhpcmQtc3RvcC1ob3ZlcjogIGdyYXlzY2FsZSgkdGhpcmQtc3RvcC1ob3Zlcik7XHJcbiAgICAgICRmb3VydGgtc3RvcC1ob3ZlcjogZ3JheXNjYWxlKCRmb3VydGgtc3RvcC1ob3Zlcik7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGZpcnN0LXN0b3AtaG92ZXIgIDAlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNlY29uZC1zdG9wLWhvdmVyIDUwJSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlyZC1zdG9wLWhvdmVyICA1MCUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm91cnRoLXN0b3AtaG92ZXIgMTAwJSk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG5cclxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcclxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcclxuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMTEsICRncmVlbjogLTExNiwgJGJsdWU6IC0xMjIpO1xyXG5cclxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xyXG4gICAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcclxuICAgIH1cclxuXHJcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMjBweCAwICRpbnNldC1zaGFkb3ctYWN0aXZlO1xyXG4gIH1cclxufVxyXG5cclxuLy8gUGlsbCBCdXR0b25cclxuQG1peGluIHBpbGwoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xyXG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XHJcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAtMTElLCAkbGlnaHRuZXNzOiAtMjYlKTtcclxuICAkYm9yZGVyLXNpZGVzOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNCwgJHNhdHVyYXRpb246IC0yMSUsICRsaWdodG5lc3M6IC0yMSUpO1xyXG4gICRib3JkZXItdG9wOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTMwJSwgJGxpZ2h0bmVzczogLTE1JSk7XHJcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMSUsICAkbGlnaHRuZXNzOiAgNyUpO1xyXG4gICRzdG9wLWdyYWRpZW50OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogIDE0JSwgJGxpZ2h0bmVzczogLTEwJSk7XHJcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDUsICRzYXR1cmF0aW9uOiAtMTklLCAkbGlnaHRuZXNzOiAtMTUlKTtcclxuXHJcbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XHJcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xyXG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcclxuICB9XHJcblxyXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xyXG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XHJcbiAgICAkYm9yZGVyLXNpZGVzOiAgZ3JheXNjYWxlKCRib3JkZXItc2lkZXMpO1xyXG4gICAgJGJvcmRlci10b3A6ICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XHJcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xyXG4gICAgJHN0b3AtZ3JhZGllbnQ6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudCk7XHJcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XHJcbiAgfVxyXG5cclxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcclxuICBib3JkZXItY29sb3I6ICRib3JkZXItdG9wICRib3JkZXItc2lkZXMgJGJvcmRlci1ib3R0b207XHJcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcclxuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcclxuICBjb2xvcjogJGNvbG9yO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcclxuICBwYWRkaW5nOiAkcGFkZGluZztcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdztcclxuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG5cclxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcclxuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGlnaHRuZXNzOiAtNC41JSk7XHJcbiAgICAkYm9yZGVyLWJvdHRvbTogICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxMy41JSwgJGxpZ2h0bmVzczogLTMyJSk7XHJcbiAgICAkYm9yZGVyLXNpZGVzOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNCwgJHNhdHVyYXRpb246IC0yJSwgICAgJGxpZ2h0bmVzczogLTI3JSk7XHJcbiAgICAkYm9yZGVyLXRvcDogICAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0xNyUsICAgJGxpZ2h0bmVzczogLTIxJSk7XHJcbiAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgJHNhdHVyYXRpb246IC0xJSwgICAgJGxpZ2h0bmVzczogIDMlKTtcclxuICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogLTQlLCAgICAkbGlnaHRuZXNzOiAtMTUuNSUpO1xyXG4gICAgJHRleHQtc2hhZG93LWhvdmVyOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDUsICRzYXR1cmF0aW9uOiAtNSUsICAgICRsaWdodG5lc3M6IC0yMiUpO1xyXG5cclxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xyXG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcclxuICAgICAgJGJvcmRlci1ib3R0b206ICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XHJcbiAgICAgICRib3JkZXItc2lkZXM6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlci1zaWRlcyk7XHJcbiAgICAgICRib3JkZXItdG9wOiAgICAgICAgICBncmF5c2NhbGUoJGJvcmRlci10b3ApO1xyXG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xyXG4gICAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50LWhvdmVyKTtcclxuICAgICAgJHRleHQtc2hhZG93LWhvdmVyOiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3ctaG92ZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3ItaG92ZXIsICRzdG9wLWdyYWRpZW50LWhvdmVyKTtcclxuXHJcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci10b3A7XHJcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItdG9wICRib3JkZXItc2lkZXMgJGJvcmRlci1ib3R0b207XHJcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdy1ob3ZlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdy1ob3ZlcjtcclxuICB9XHJcblxyXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxyXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xyXG4gICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDQsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0xMCUpO1xyXG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDYsICAkc2F0dXJhdGlvbjogLTIuNSUsICRsaWdodG5lc3M6IC0zMCUpO1xyXG4gICAgJGJvcmRlci1ib3R0b20tYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDExLCAkc2F0dXJhdGlvbjogIDYlLCAgICRsaWdodG5lc3M6IC0zMSUpO1xyXG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDksICAkc2F0dXJhdGlvbjogIDIlLCAgICRsaWdodG5lc3M6IC0yMS41JSk7XHJcbiAgICAkdGV4dC1zaGFkb3ctYWN0aXZlOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNSwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTIxLjUlKTtcclxuXHJcbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBncmF5c2NhbGUoJGFjdGl2ZS1jb2xvcik7XHJcbiAgICAgICRib3JkZXItYWN0aXZlOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItYWN0aXZlKTtcclxuICAgICAgJGJvcmRlci1ib3R0b20tYWN0aXZlOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20tYWN0aXZlKTtcclxuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xyXG4gICAgICAkdGV4dC1zaGFkb3ctYWN0aXZlOiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3ctYWN0aXZlKTtcclxuICAgIH1cclxuXHJcbiAgICBiYWNrZ3JvdW5kOiAkYWN0aXZlLWNvbG9yO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1hY3RpdmU7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1ib3R0b20tYWN0aXZlO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCAzcHggJGluc2V0LXNoYWRvdy1hY3RpdmU7XHJcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctYWN0aXZlO1xyXG4gIH1cclxufVxyXG5cclxuLy8gRmxhdCBCdXR0b25cclxuQG1peGluIGZsYXQoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xyXG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XHJcblxyXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xyXG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcclxuICB9XHJcblxyXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yO1xyXG4gIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICBib3JkZXI6IDA7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgcGFkZGluZzogJHBhZGRpbmc7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcblxyXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCl7XHJcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogNCUsICRsaWdodG5lc3M6IDUlKTtcclxuXHJcbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XHJcbiAgICB9XHJcblxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3ItaG92ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG5cclxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcclxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcclxuICAgICRiYXNlLWNvbG9yLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTQlLCAkbGlnaHRuZXNzOiAtNSUpO1xyXG5cclxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xyXG4gICAgICAkYmFzZS1jb2xvci1hY3RpdmU6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1hY3RpdmUpO1xyXG4gICAgfVxyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yLWFjdGl2ZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcbn1cclxuXHJcbi8vIEZsZXhpYmxlIGdyaWRcclxuQGZ1bmN0aW9uIGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMpIHtcclxuICAkd2lkdGg6ICRjb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcclxuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcclxuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHdpZHRoIC8gJGNvbnRhaW5lci13aWR0aCk7XHJcblxyXG4gIEB3YXJuIFwiVGhlIGZsZXgtZ3JpZCBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XHJcbn1cclxuXHJcbi8vIEZsZXhpYmxlIGd1dHRlclxyXG5AZnVuY3Rpb24gZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMsICRndXR0ZXI6ICRmZy1ndXR0ZXIpIHtcclxuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcclxuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJGd1dHRlciAvICRjb250YWluZXItd2lkdGgpO1xyXG5cclxuICBAd2FybiBcIlRoZSBmbGV4LWd1dHRlciBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBncmlkLXdpZHRoKCRuKSB7XHJcbiAgQHJldHVybiAkbiAqICRndy1jb2x1bW4gKyAoJG4gLSAxKSAqICRndy1ndXR0ZXI7XHJcblxyXG4gIEB3YXJuIFwiVGhlIGdyaWQtd2lkdGggZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZ29sZGVuLXJhdGlvKCR2YWx1ZSwgJGluY3JlbWVudCkge1xyXG4gIEByZXR1cm4gbW9kdWxhci1zY2FsZSgkaW5jcmVtZW50LCAkdmFsdWUsICRyYXRpbzogJGdvbGRlbik7XHJcblxyXG4gIEB3YXJuIFwiVGhlIGdvbGRlbi1yYXRpbyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlLiBQbGVhc2UgdXNlIHRoZSBtb2R1bGFyLXNjYWxlIGZ1bmN0aW9uLCBpbnN0ZWFkLlwiO1xyXG59XHJcblxyXG5AbWl4aW4gYm94LXNpemluZygkYm94KSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXNpemluZywgJGJveCwgd2Via2l0IG1veiBzcGVjKTtcclxuXHJcbiAgQHdhcm4gXCJUaGUgYm94LXNpemluZyBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlLiBUaGlzIHByb3BlcnR5IGNhbiBub3cgYmUgdXNlZCB1bi1wcmVmaXhlZC5cIjtcclxufVxyXG4iLAoJCSIvLyBOZWF0IDEuNy40XHJcbi8vIGh0dHA6Ly9uZWF0LmJvdXJib24uaW9cclxuLy8gQ29weXJpZ2h0IDIwMTItMjAxNSB0aG91Z2h0Ym90LCBpbmMuXHJcbi8vIE1JVCBMaWNlbnNlXHJcblxyXG4vLyBIZWxwZXJzXHJcbkBpbXBvcnQgXCJuZWF0LWhlbHBlcnNcIjtcclxuXHJcbi8vIEdyaWRcclxuQGltcG9ydCBcImdyaWQvcHJpdmF0ZVwiO1xyXG5AaW1wb3J0IFwiZ3JpZC9ib3gtc2l6aW5nXCI7XHJcbkBpbXBvcnQgXCJncmlkL29tZWdhXCI7XHJcbkBpbXBvcnQgXCJncmlkL291dGVyLWNvbnRhaW5lclwiO1xyXG5AaW1wb3J0IFwiZ3JpZC9zcGFuLWNvbHVtbnNcIjtcclxuQGltcG9ydCBcImdyaWQvcm93XCI7XHJcbkBpbXBvcnQgXCJncmlkL3NoaWZ0XCI7XHJcbkBpbXBvcnQgXCJncmlkL3BhZFwiO1xyXG5AaW1wb3J0IFwiZ3JpZC9maWxsLXBhcmVudFwiO1xyXG5AaW1wb3J0IFwiZ3JpZC9tZWRpYVwiO1xyXG5AaW1wb3J0IFwiZ3JpZC90by1kZXByZWNhdGVcIjtcclxuQGltcG9ydCBcImdyaWQvdmlzdWFsLWdyaWRcIjtcclxuQGltcG9ydCBcImdyaWQvZGlzcGxheS1jb250ZXh0XCI7XHJcbkBpbXBvcnQgXCJncmlkL2RpcmVjdGlvbi1jb250ZXh0XCI7XHJcbiIsCgkJIi8vIEZ1bmN0aW9uc1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL3ByaXZhdGVcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9uZXctYnJlYWtwb2ludFwiO1xyXG5cclxuLy8gU2V0dGluZ3NcclxuQGltcG9ydCBcInNldHRpbmdzL2dyaWRcIjtcclxuQGltcG9ydCBcInNldHRpbmdzL3Zpc3VhbC1ncmlkXCI7XHJcbkBpbXBvcnQgXCJzZXR0aW5ncy9kaXNhYmxlLXdhcm5pbmdzXCI7XHJcbiIsCgkJIi8vIE5vdCBmdW5jdGlvbiBmb3IgTGlic2FzcyBjb21wYXRpYmlsaXR5XHJcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL2xpYnNhc3MvaXNzdWVzLzM2OFxyXG5AZnVuY3Rpb24gaXMtbm90KCR2YWx1ZSkge1xyXG4gIEByZXR1cm4gaWYoJHZhbHVlLCBmYWxzZSwgdHJ1ZSk7XHJcbn1cclxuXHJcbi8vIENoZWNrcyBpZiBhIG51bWJlciBpcyBldmVuXHJcbkBmdW5jdGlvbiBpcy1ldmVuKCRpbnQpIHtcclxuICBAcmV0dXJuICRpbnQgJSAyID09IDA7XHJcbn1cclxuXHJcbi8vIENoZWNrcyBpZiBhbiBlbGVtZW50IGJlbG9uZ3MgdG8gYSBsaXN0IG9yIG5vdFxyXG5AZnVuY3Rpb24gYmVsb25ncy10bygkdGVzdGVkLWl0ZW0sICRsaXN0KSB7XHJcbiAgQHJldHVybiBpcy1ub3Qobm90LWJlbG9uZ3MtdG8oJHRlc3RlZC1pdGVtLCAkbGlzdCkpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gbm90LWJlbG9uZ3MtdG8oJHRlc3RlZC1pdGVtLCAkbGlzdCkge1xyXG4gIEByZXR1cm4gaXMtbm90KGluZGV4KCRsaXN0LCAkdGVzdGVkLWl0ZW0pKTtcclxufVxyXG5cclxuLy8gQ29udGFpbnMgZGlzcGxheSB2YWx1ZVxyXG5AZnVuY3Rpb24gY29udGFpbnMtZGlzcGxheS12YWx1ZSgkcXVlcnkpIHtcclxuICBAcmV0dXJuIGJlbG9uZ3MtdG8odGFibGUsICRxdWVyeSlcclxuICAgICAgIG9yIGJlbG9uZ3MtdG8oYmxvY2ssICRxdWVyeSlcclxuICAgICAgIG9yIGJlbG9uZ3MtdG8oaW5saW5lLWJsb2NrLCAkcXVlcnkpXHJcbiAgICAgICBvciBiZWxvbmdzLXRvKGlubGluZSwgJHF1ZXJ5KTtcclxufVxyXG5cclxuLy8gUGFyc2VzIHRoZSBmaXJzdCBhcmd1bWVudCBvZiBzcGFuLWNvbHVtbnMoKVxyXG5AZnVuY3Rpb24gY29udGFpbmVyLXNwYW4oJHNwYW46ICRzcGFuKSB7XHJcbiAgQGlmIGxlbmd0aCgkc3BhbikgPT0gMyB7XHJcbiAgICAkY29udGFpbmVyLWNvbHVtbnM6IG50aCgkc3BhbiwgMyk7XHJcbiAgICBAcmV0dXJuICRjb250YWluZXItY29sdW1ucztcclxuICB9IEBlbHNlIGlmIGxlbmd0aCgkc3BhbikgPT0gMiB7XHJcbiAgICAkY29udGFpbmVyLWNvbHVtbnM6IG50aCgkc3BhbiwgMik7XHJcbiAgICBAcmV0dXJuICRjb250YWluZXItY29sdW1ucztcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJGdyaWQtY29sdW1ucztcclxufVxyXG5cclxuQGZ1bmN0aW9uIGNvbnRhaW5lci1zaGlmdCgkc2hpZnQ6ICRzaGlmdCkge1xyXG4gICRwYXJlbnQtY29sdW1uczogJGdyaWQtY29sdW1ucyAhZGVmYXVsdCAhZ2xvYmFsO1xyXG5cclxuICBAaWYgbGVuZ3RoKCRzaGlmdCkgPT0gMyB7XHJcbiAgICAkY29udGFpbmVyLWNvbHVtbnM6IG50aCgkc2hpZnQsIDMpO1xyXG4gICAgQHJldHVybiAkY29udGFpbmVyLWNvbHVtbnM7XHJcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHNoaWZ0KSA9PSAyIHtcclxuICAgICRjb250YWluZXItY29sdW1uczogbnRoKCRzaGlmdCwgMik7XHJcbiAgICBAcmV0dXJuICRjb250YWluZXItY29sdW1ucztcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHBhcmVudC1jb2x1bW5zO1xyXG59XHJcblxyXG4vLyBHZW5lcmF0ZXMgYSBzdHJpcGVkIGJhY2tncm91bmRcclxuQGZ1bmN0aW9uIGdyYWRpZW50LXN0b3BzKCRncmlkLWNvbHVtbnMsICRjb2xvcjogJHZpc3VhbC1ncmlkLWNvbG9yKSB7XHJcbiAgJHRyYW5zcGFyZW50OiB0cmFuc3BhcmVudDtcclxuXHJcbiAgJGNvbHVtbi13aWR0aDogZmxleC1ncmlkKDEsICRncmlkLWNvbHVtbnMpO1xyXG4gICRndXR0ZXItd2lkdGg6IGZsZXgtZ3V0dGVyKCRncmlkLWNvbHVtbnMpO1xyXG4gICRjb2x1bW4tb2Zmc2V0OiAkY29sdW1uLXdpZHRoO1xyXG5cclxuICAkdmFsdWVzOiAoJHRyYW5zcGFyZW50IDAsICRjb2xvciAwKTtcclxuXHJcbiAgQGZvciAkaSBmcm9tIDEgdG8gJGdyaWQtY29sdW1ucyoyIHtcclxuICAgIEBpZiBpcy1ldmVuKCRpKSB7XHJcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkdHJhbnNwYXJlbnQgJGNvbHVtbi1vZmZzZXQsIGNvbW1hKTtcclxuICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsICRjb2xvciAkY29sdW1uLW9mZnNldCwgY29tbWEpO1xyXG4gICAgICAkY29sdW1uLW9mZnNldDogJGNvbHVtbi1vZmZzZXQgKyAkY29sdW1uLXdpZHRoO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkY29sb3IgJGNvbHVtbi1vZmZzZXQsIGNvbW1hKTtcclxuICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsICR0cmFuc3BhcmVudCAkY29sdW1uLW9mZnNldCwgY29tbWEpO1xyXG4gICAgICAkY29sdW1uLW9mZnNldDogJGNvbHVtbi1vZmZzZXQgKyAkZ3V0dGVyLXdpZHRoO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWVzO1xyXG59XHJcblxyXG4vLyBMYXlvdXQgZGlyZWN0aW9uXHJcbkBmdW5jdGlvbiBnZXQtZGlyZWN0aW9uKCRsYXlvdXQsICRkZWZhdWx0KSB7XHJcbiAgJGRpcmVjdGlvbjogbnVsbDtcclxuXHJcbiAgQGlmIHRvLXVwcGVyLWNhc2UoJGxheW91dCkgPT0gXCJMVFJcIiBvciB0by11cHBlci1jYXNlKCRsYXlvdXQpID09IFwiUlRMXCIge1xyXG4gICAgJGRpcmVjdGlvbjogZGlyZWN0aW9uLWZyb20tbGF5b3V0KCRsYXlvdXQpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgJGRpcmVjdGlvbjogZGlyZWN0aW9uLWZyb20tbGF5b3V0KCRkZWZhdWx0KTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJGRpcmVjdGlvbjtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGRpcmVjdGlvbi1mcm9tLWxheW91dCgkbGF5b3V0KSB7XHJcbiAgJGRpcmVjdGlvbjogbnVsbDtcclxuXHJcbiAgQGlmIHRvLXVwcGVyLWNhc2UoJGxheW91dCkgPT0gXCJMVFJcIiB7XHJcbiAgICAkZGlyZWN0aW9uOiByaWdodDtcclxuICB9IEBlbHNlIHtcclxuICAgICRkaXJlY3Rpb246IGxlZnQ7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRkaXJlY3Rpb247XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBnZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pIHtcclxuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBsZWZ0O1xyXG5cclxuICBAaWYgJGRpcmVjdGlvbiA9PSBcImxlZnRcIiB7XHJcbiAgICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiByaWdodDtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJG9wcG9zaXRlLWRpcmVjdGlvbjtcclxufVxyXG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gUmV0dXJucyBhIG1lZGlhIGNvbnRleHQgKG1lZGlhIHF1ZXJ5IC8gZ3JpZCBjb250ZXh0KSB0aGF0IGNhbiBiZSBzdG9yZWQgaW4gYSB2YXJpYWJsZSBhbmQgcGFzc2VkIHRvIGBtZWRpYSgpYCBhcyBhIHNpbmdsZS1rZXl3b3JkIGFyZ3VtZW50LiBNZWRpYSBjb250ZXh0cyBkZWZpbmVkIHVzaW5nIGBuZXctYnJlYWtwb2ludGAgYXJlIHVzZWQgYnkgdGhlIHZpc3VhbCBncmlkLCBhcyBsb25nIGFzIHRoZXkgYXJlIGRlZmluZWQgYmVmb3JlIGltcG9ydGluZyBOZWF0LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJHF1ZXJ5XHJcbi8vLyAgIEEgbGlzdCBvZiBtZWRpYSBxdWVyeSBmZWF0dXJlcyBhbmQgdmFsdWVzLiBFYWNoIGAkZmVhdHVyZWAgc2hvdWxkIGhhdmUgYSBjb3JyZXNwb25kaW5nIGAkdmFsdWVgLlxyXG4vLy9cclxuLy8vICAgSWYgdGhlcmUgaXMgb25seSBhIHNpbmdsZSBgJHZhbHVlYCBpbiBgJHF1ZXJ5YCwgYCRkZWZhdWx0LWZlYXR1cmVgIGlzIGdvaW5nIHRvIGJlIHVzZWQuXHJcbi8vL1xyXG4vLy8gICBUaGUgbnVtYmVyIG9mIHRvdGFsIGNvbHVtbnMgaW4gdGhlIGdyaWQgY2FuIGJlIHNldCBieSBwYXNzaW5nIGAkY29sdW1uc2AgYXQgdGhlIGVuZCBvZiB0aGUgbGlzdCAob3ZlcnJpZGVzIGAkdG90YWwtY29sdW1uc2ApLiBGb3IgYSBsaXN0IG9mIHZhbGlkIHZhbHVlcyBmb3IgYCRmZWF0dXJlYCwgY2xpY2sgW2hlcmVdKGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtbWVkaWFxdWVyaWVzLyNtZWRpYTEpLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyICh1bml0bGVzcyl9ICR0b3RhbC1jb2x1bW5zIFskZ3JpZC1jb2x1bW5zXVxyXG4vLy8gICAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBpbiB0aGUgbmV3IGdyaWQgY29udGV4dC4gQ2FuIGJlIHNldCBhcyBhIHNob3J0aGFuZCBpbiB0aGUgZmlyc3QgcGFyYW1ldGVyLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAkbW9iaWxlOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggNDgwcHggNCk7XHJcbi8vL1xyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xyXG4vLy8gICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xyXG4vLy8gICAgIH1cclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcclxuLy8vICAgICAuZWxlbWVudCB7XHJcbi8vLyAgICAgICBkaXNwbGF5OiBibG9jaztcclxuLy8vICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4vLy8gICAgICAgbWFyZ2luLXJpZ2h0OiA3LjQyMjk3JTtcclxuLy8vICAgICAgIHdpZHRoOiAxMDAlO1xyXG4vLy8gICAgIH1cclxuLy8vICAgICAuZWxlbWVudDpsYXN0LWNoaWxkIHtcclxuLy8vICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuLy8vICAgICB9XHJcbi8vLyAgIH1cclxuXHJcbkBmdW5jdGlvbiBuZXctYnJlYWtwb2ludCgkcXVlcnk6ICRmZWF0dXJlICR2YWx1ZSAkY29sdW1ucywgJHRvdGFsLWNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcclxuICBAaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMSB7XHJcbiAgICAkcXVlcnk6ICRkZWZhdWx0LWZlYXR1cmUgbnRoKCRxdWVyeSwgMSkgJHRvdGFsLWNvbHVtbnM7XHJcbiAgfSBAZWxzZSBpZiBpcy1ldmVuKGxlbmd0aCgkcXVlcnkpKSB7XHJcbiAgICAkcXVlcnk6IGFwcGVuZCgkcXVlcnksICR0b3RhbC1jb2x1bW5zKTtcclxuICB9XHJcblxyXG4gIEBpZiBpcy1ub3QoYmVsb25ncy10bygkcXVlcnksICR2aXN1YWwtZ3JpZC1icmVha3BvaW50cykpIHtcclxuICAgICR2aXN1YWwtZ3JpZC1icmVha3BvaW50czogYXBwZW5kKCR2aXN1YWwtZ3JpZC1icmVha3BvaW50cywgJHF1ZXJ5LCBjb21tYSkgIWdsb2JhbDtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHF1ZXJ5O1xyXG59XHJcbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBTZXRzIHRoZSByZWxhdGl2ZSB3aWR0aCBvZiBhIHNpbmdsZSBncmlkIGNvbHVtbi4gVGhlIHVuaXQgdXNlZCBzaG91bGQgYmUgdGhlIHNhbWUgb25lIHVzZWQgdG8gZGVmaW5lIGAkZ3V0dGVyYC4gVG8gbGVhcm4gbW9yZSBhYm91dCBgbW9kdWxhci1zY2FsZSgpYCBzZWUgW0JvdXJib24gZG9jc10oaHR0cDovL2JvdXJib24uaW8vZG9jcy8jbW9kdWxhci1zY2FsZSkuIFNldCB3aXRoIGEgYCFnbG9iYWxgIGZsYWcuXHJcbi8vL1xyXG4vLy8gQHR5cGUgTnVtYmVyIChVbml0KVxyXG5cclxuJGNvbHVtbjogbW9kdWxhci1zY2FsZSgzLCAxZW0sICRnb2xkZW4pICFkZWZhdWx0O1xyXG5cclxuLy8vIFNldHMgdGhlIHJlbGF0aXZlIHdpZHRoIG9mIGEgc2luZ2xlIGdyaWQgZ3V0dGVyLiBUaGUgdW5pdCB1c2VkIHNob3VsZCBiZSB0aGUgc2FtZSBvbmUgdXNlZCB0byBkZWZpbmUgYCRjb2x1bW5gLiBUbyBsZWFybiBtb3JlIGFib3V0IGBtb2R1bGFyLXNjYWxlKClgIHNlZSBbQm91cmJvbiBkb2NzXShodHRwOi8vYm91cmJvbi5pby9kb2NzLyNtb2R1bGFyLXNjYWxlKS4gU2V0IHdpdGggdGhlIGAhZ2xvYmFsYCBmbGFnLlxyXG4vLy9cclxuLy8vIEB0eXBlIE51bWJlciAoVW5pdClcclxuXHJcbiRndXR0ZXI6IG1vZHVsYXItc2NhbGUoMSwgMWVtLCAkZ29sZGVuKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZXRzIHRoZSB0b3RhbCBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZC4gSXRzIHZhbHVlIGNhbiBiZSBvdmVycmlkZGVuIGluc2lkZSBhIG1lZGlhIHF1ZXJ5IHVzaW5nIHRoZSBgbWVkaWEoKWAgbWl4aW4uIFNldCB3aXRoIHRoZSBgIWdsb2JhbGAgZmxhZy5cclxuLy8vXHJcbi8vLyBAdHlwZSBOdW1iZXIgKFVuaXRsZXNzKVxyXG5cclxuJGdyaWQtY29sdW1uczogMTIgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU2V0cyB0aGUgbWF4LXdpZHRoIHByb3BlcnR5IG9mIHRoZSBlbGVtZW50IHRoYXQgaW5jbHVkZXMgYG91dGVyLWNvbnRhaW5lcigpYC4gU2V0IHdpdGggdGhlIGAhZ2xvYmFsYCBmbGFnLlxyXG4vLy9cclxuLy8vIEB0eXBlIE51bWJlciAoVW5pdClcclxuLy8vXHJcbiRtYXgtd2lkdGg6IDEyMDBweCAhZGVmYXVsdDtcclxuXHJcbi8vLyBXaGVuIHNldCB0byB0cnVlLCBpdCBzZXRzIHRoZSBib3gtc2l6aW5nIHByb3BlcnR5IG9mIGFsbCBlbGVtZW50cyB0byBgYm9yZGVyLWJveGAuIFNldCB3aXRoIGEgYCFnbG9iYWxgIGZsYWcuXHJcbi8vL1xyXG4vLy8gQHR5cGUgQm9vbFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgaHRtbCB7XHJcbi8vLyAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4vLy9cclxuLy8vICAgKiwgKjo6YWZ0ZXIsICo6OmJlZm9yZSB7XHJcbi8vLyAgICAgYm94LXNpemluZzogaW5oZXJpdDtcclxuLy8vICAgfVxyXG5cclxuJGJvcmRlci1ib3gtc2l6aW5nOiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vIFNldHMgdGhlIGRlZmF1bHQgW21lZGlhIGZlYXR1cmVdKGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtbWVkaWFxdWVyaWVzLyNtZWRpYSkgdGhhdCBgbWVkaWEoKWAgYW5kIGBuZXctYnJlYWtwb2ludCgpYCByZXZlcnQgdG8gd2hlbiBvbmx5IGEgYnJlYWtwb2ludCB2YWx1ZSBpcyBwYXNzZWQuIFNldCB3aXRoIGEgYCFnbG9iYWxgIGZsYWcuXHJcbi8vL1xyXG4vLy8gQHR5cGUgU3RyaW5nXHJcblxyXG4kZGVmYXVsdC1mZWF0dXJlOiBtaW4td2lkdGg7IC8vIERlZmF1bHQgQG1lZGlhIGZlYXR1cmUgZm9yIHRoZSBicmVha3BvaW50KCkgbWl4aW5cclxuXHJcbi8vL1NldHMgdGhlIGRlZmF1bHQgbGF5b3V0IGRpcmVjdGlvbiBvZiB0aGUgZ3JpZC4gQ2FuIGJlIGBMVFJgIG9yIGBSVExgLiBTZXQgd2l0aCBhIGAhZ2xvYmFsYCBmbGFnLlxyXG4vLy9cclxuLy8vQHR5cGUgU3RyaW5nXHJcblxyXG4kZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uOiBMVFIgIWRlZmF1bHQ7XHJcbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBEaXNwbGF5cyB0aGUgdmlzdWFsIGdyaWQgd2hlbiBzZXQgdG8gdHJ1ZS4gVGhlIG92ZXJsYWlkIGdyaWQgbWF5IGJlIGZldyBwaXhlbHMgb2ZmIGRlcGVuZGluZyBvbiB0aGUgYnJvd3NlcidzIHJlbmRlcmluZyBlbmdpbmUgYW5kIHBpeGVsIHJvdW5kaW5nIGFsZ29yaXRobS4gU2V0IHdpdGggdGhlIGAhZ2xvYmFsYCBmbGFnLlxyXG4vLy9cclxuLy8vIEB0eXBlIEJvb2xcclxuXHJcbiR2aXN1YWwtZ3JpZDogZmFsc2UgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU2V0cyB0aGUgdmlzdWFsIGdyaWQgY29sb3IuIFNldCB3aXRoIGAhZ2xvYmFsYCBmbGFnLlxyXG4vLy9cclxuLy8vIEB0eXBlIENvbG9yXHJcblxyXG4kdmlzdWFsLWdyaWQtY29sb3I6ICNlZWUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU2V0cyB0aGUgYHotaW5kZXhgIHByb3BlcnR5IG9mIHRoZSB2aXN1YWwgZ3JpZC4gQ2FuIGJlIGBiYWNrYCAoYmVoaW5kIGNvbnRlbnQpIG9yIGBmcm9udGAgKGluIGZyb250IG9mIGNvbnRlbnQpLiBTZXQgd2l0aCBgIWdsb2JhbGAgZmxhZy5cclxuLy8vXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuXHJcbiR2aXN1YWwtZ3JpZC1pbmRleDogYmFjayAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZXRzIHRoZSBvcGFjaXR5IHByb3BlcnR5IG9mIHRoZSB2aXN1YWwgZ3JpZC4gU2V0IHdpdGggYCFnbG9iYWxgIGZsYWcuXHJcbi8vL1xyXG4vLy8gQHR5cGUgTnVtYmVyICh1bml0bGVzcylcclxuXHJcbiR2aXN1YWwtZ3JpZC1vcGFjaXR5OiAwLjQgIWRlZmF1bHQ7XHJcblxyXG4kdmlzdWFsLWdyaWQtYnJlYWtwb2ludHM6ICgpICFkZWZhdWx0O1xyXG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gRGlzYWJsZSBhbGwgZGVwcmVjYXRpb24gd2FybmluZ3MuIERlZmF1bHRzIHRvIGBmYWxzZWAuIFNldCB3aXRoIGEgYCFnbG9iYWxgIGZsYWcuXHJcbi8vL1xyXG4vLy8gQHR5cGUgQm9vbFxyXG5cclxuJGRpc2FibGUtd2FybmluZ3M6IGZhbHNlICFkZWZhdWx0O1xyXG5cclxuQG1peGluIC1uZWF0LXdhcm4oJG1lc3NhZ2UpIHtcclxuICBAaWYgJGRpc2FibGUtd2FybmluZ3MgPT0gZmFsc2Uge1xyXG4gICAgQHdhcm4gXCIjeyRtZXNzYWdlfVwiO1xyXG4gIH1cclxufVxyXG4iLAoJCSIkcGFyZW50LWNvbHVtbnM6ICRncmlkLWNvbHVtbnMgIWRlZmF1bHQ7XHJcbiRmZy1jb2x1bW46ICRjb2x1bW47XHJcbiRmZy1ndXR0ZXI6ICRndXR0ZXI7XHJcbiRmZy1tYXgtY29sdW1uczogJGdyaWQtY29sdW1ucztcclxuJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlOiBmYWxzZSAhZGVmYXVsdDtcclxuJGxheW91dC1kaXJlY3Rpb246IExUUiAhZGVmYXVsdDtcclxuXHJcbkBmdW5jdGlvbiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1uczogJGZnLW1heC1jb2x1bW5zKSB7XHJcbiAgJHdpZHRoOiAkY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XHJcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XHJcbiAgQHJldHVybiBwZXJjZW50YWdlKCR3aWR0aCAvICRjb250YWluZXItd2lkdGgpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMsICRndXR0ZXI6ICRmZy1ndXR0ZXIpIHtcclxuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcclxuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJGd1dHRlciAvICRjb250YWluZXItd2lkdGgpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZ3JpZC13aWR0aCgkbikge1xyXG4gIEByZXR1cm4gJG4gKiAkZ3ctY29sdW1uICsgKCRuIC0gMSkgKiAkZ3ctZ3V0dGVyO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZ2V0LXBhcmVudC1jb2x1bW5zKCRjb2x1bW5zKSB7XHJcbiAgQGlmICRjb2x1bW5zICE9ICRncmlkLWNvbHVtbnMge1xyXG4gICAgJHBhcmVudC1jb2x1bW5zOiAkY29sdW1ucyAhZ2xvYmFsO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFnbG9iYWw7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRwYXJlbnQtY29sdW1ucztcclxufVxyXG5cclxuQGZ1bmN0aW9uIGlzLWRpc3BsYXktdGFibGUoJGNvbnRhaW5lci1pcy1kaXNwbGF5LXRhYmxlLCAkZGlzcGxheSkge1xyXG4gIEByZXR1cm4gJGNvbnRhaW5lci1pcy1kaXNwbGF5LXRhYmxlID09IHRydWUgb3IgJGRpc3BsYXkgPT0gdGFibGU7XHJcbn1cclxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuQGlmICRib3JkZXItYm94LXNpemluZyA9PSB0cnVlIHtcclxuICBodG1sIHsgLy8gaHR0cDovL2JpdC5seS8xcWsydFZSXHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIH1cclxuXHJcbiAgKiB7XHJcbiAgICAmLFxyXG4gICAgJjo6YWZ0ZXIsXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gUmVtb3ZlcyB0aGUgZWxlbWVudCdzIGd1dHRlciBtYXJnaW4sIHJlZ2FyZGxlc3Mgb2YgaXRzIHBvc2l0aW9uIGluIHRoZSBncmlkIGhpZXJhcmNoeSBvciBkaXNwbGF5IHByb3BlcnR5LiBJdCBjYW4gdGFyZ2V0IGEgc3BlY2lmaWMgZWxlbWVudCwgb3IgZXZlcnkgYG50aC1jaGlsZGAgb2NjdXJyZW5jZS4gV29ya3Mgb25seSB3aXRoIGBibG9ja2AgbGF5b3V0cy5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRxdWVyeSBbYmxvY2tdXHJcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzLiBTdXBwb3J0ZWQgYXJndW1lbnRzIGFyZSBgbnRoLWNoaWxkYCBzZWxlY3RvcnMgKHRhcmdldHMgYSBzcGVjaWZpYyBwc2V1ZG8gZWxlbWVudCkgYW5kIGBhdXRvYCAodGFyZ2V0cyBgbGFzdC1jaGlsZGApLlxyXG4vLy9cclxuLy8vICAgV2hlbiBwYXNzZWQgYW4gYG50aC1jaGlsZGAgYXJndW1lbnQgb2YgdHlwZSBgKm5gIHdpdGggYGJsb2NrYCBkaXNwbGF5LCB0aGUgb21lZ2EgbWl4aW4gYXV0b21hdGljYWxseSBhZGRzIGEgY2xlYXIgdG8gdGhlIGAqbisxYCB0aCBlbGVtZW50LiBOb3RlIHRoYXQgY29tcG9zaXRlIGFyZ3VtZW50cyBzdWNoIGFzIGAybisxYCBkbyBub3Qgc3VwcG9ydCB0aGlzIGZlYXR1cmUuXHJcbi8vL1xyXG4vLy8gICAqKkRlcHJlY2F0aW9uIHdhcm5pbmcqKjogVGhlIG9tZWdhIG1peGluIHdpbGwgbm8gbG9uZ2VyIHRha2UgYSBgJGRpcmVjdGlvbmAgYXJndW1lbnQuIFRvIGNoYW5nZSB0aGUgbGF5b3V0IGRpcmVjdGlvbiwgdXNlIGByb3coJGRpcmVjdGlvbilgIG9yIHNldCBgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbmAgaW5zdGVhZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIG9tZWdhO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAubnRoLWVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIG9tZWdhKDRuKTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgLm50aC1lbGVtZW50Om50aC1jaGlsZCg0bikge1xyXG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgLm50aC1lbGVtZW50Om50aC1jaGlsZCg0bisxKSB7XHJcbi8vLyAgICAgY2xlYXI6IGxlZnQ7XHJcbi8vLyAgIH1cclxuXHJcbkBtaXhpbiBvbWVnYSgkcXVlcnk6IGJsb2NrLCAkZGlyZWN0aW9uOiBkZWZhdWx0KSB7XHJcbiAgJHRhYmxlOiBiZWxvbmdzLXRvKHRhYmxlLCAkcXVlcnkpO1xyXG4gICRhdXRvOiBiZWxvbmdzLXRvKGF1dG8sICRxdWVyeSk7XHJcblxyXG4gIEBpZiAkZGlyZWN0aW9uICE9IGRlZmF1bHQge1xyXG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSBvbWVnYSBtaXhpbiB3aWxsIG5vIGxvbmdlciB0YWtlIGEgJGRpcmVjdGlvbiBhcmd1bWVudC4gVG8gY2hhbmdlIHRoZSBsYXlvdXQgZGlyZWN0aW9uLCB1c2UgdGhlIGRpcmVjdGlvbigpey4uLn0gbWl4aW4uXCIpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgJGRpcmVjdGlvbjogZ2V0LWRpcmVjdGlvbigkbGF5b3V0LWRpcmVjdGlvbiwgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbik7XHJcbiAgfVxyXG5cclxuICBAaWYgJHRhYmxlIHtcclxuICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgb21lZ2EgbWl4aW4gbm8gbG9uZ2VyIHJlbW92ZXMgcGFkZGluZyBpbiB0YWJsZSBsYXlvdXRzLlwiKTtcclxuICB9XHJcblxyXG4gIEBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAxIHtcclxuICAgIEBpZiAkYXV0byB7XHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAZWxzZSBpZiBjb250YWlucy1kaXNwbGF5LXZhbHVlKCRxdWVyeSkgYW5kICR0YWJsZSA9PSBmYWxzZSB7XHJcbiAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIEBlbHNlIHtcclxuICAgICAgQGluY2x1ZGUgbnRoLWNoaWxkKCRxdWVyeSwgJGRpcmVjdGlvbik7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAyIHtcclxuICAgIEBpZiAkYXV0byB7XHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBAaW5jbHVkZSBudGgtY2hpbGQobnRoKCRxdWVyeSwgMSksICRkaXJlY3Rpb24pO1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRvbyBtYW55IGFyZ3VtZW50cyBwYXNzZWQgdG8gdGhlIG9tZWdhKCkgbWl4aW4uXCIpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG50aC1jaGlsZCgkcXVlcnksICRkaXJlY3Rpb24pIHtcclxuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBnZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pO1xyXG5cclxuICAmOm50aC1jaGlsZCgjeyRxdWVyeX0pIHtcclxuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xyXG4gIH1cclxuXHJcbiAgQGlmIHR5cGUtb2YoJHF1ZXJ5KSA9PSBudW1iZXIgYW5kIHVuaXQoJHF1ZXJ5KSA9PSBcIm5cIiB7XHJcbiAgICAmOm50aC1jaGlsZCgjeyRxdWVyeX0rMSkge1xyXG4gICAgICBjbGVhcjogJG9wcG9zaXRlLWRpcmVjdGlvbjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgYSBvdXRlciBjb250YWluZXIgYnkgY2VudGVyaW5nIGl0IGluIHRoZSB2aWV3cG9ydCwgY2xlYXJpbmcgaXRzIGZsb2F0cywgYW5kIHNldHRpbmcgaXRzIGBtYXgtd2lkdGhgLlxyXG4vLy8gQWx0aG91Z2ggb3B0aW9uYWwsIHVzaW5nIGBvdXRlci1jb250YWluZXJgIGlzIHJlY29tbWVuZGVkLiBUaGUgbWl4aW4gY2FuIGJlIGNhbGxlZCBvbiBtb3JlIHRoYW4gb25lIGVsZW1lbnQgcGVyIHBhZ2UsIGFzIGxvbmcgYXMgdGhleSBhcmUgbm90IG5lc3RlZC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlciBbdW5pdF19ICRsb2NhbC1tYXgtd2lkdGggWyRtYXgtd2lkdGhdXHJcbi8vLyAgIE1heCB3aWR0aCB0byBiZSBhcHBsaWVkIHRvIHRoZSBlbGVtZW50LiBDYW4gYmUgYSBwZXJjZW50YWdlIG9yIGEgbWVhc3VyZS5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMDAlKTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgICp6b29tOiAxO1xyXG4vLy8gICAgIG1heC13aWR0aDogMTAwJTtcclxuLy8vICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuLy8vICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgIC5lbGVtZW50OmJlZm9yZSwgLmVsZW1lbnQ6YWZ0ZXIge1xyXG4vLy8gICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4vLy8gICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAuZWxlbWVudDphZnRlciB7XHJcbi8vLyAgICAgY2xlYXI6IGJvdGg7XHJcbi8vLyAgIH1cclxuXHJcbkBtaXhpbiBvdXRlci1jb250YWluZXIoJGxvY2FsLW1heC13aWR0aDogJG1heC13aWR0aCkge1xyXG4gIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gIG1heC13aWR0aDogJGxvY2FsLW1heC13aWR0aDtcclxuICBtYXJnaW46IHtcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgICByaWdodDogYXV0bztcclxuICB9XHJcbn1cclxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW4gZWxlbWVudCBzaG91bGQgc3Bhbi4gSWYgdGhlIHNlbGVjdG9yIGlzIG5lc3RlZCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgb2YgaXRzIHBhcmVudCBlbGVtZW50IHNob3VsZCBiZSBwYXNzZWQgYXMgYW4gYXJndW1lbnQgYXMgd2VsbC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRzcGFuXHJcbi8vLyAgIEEgbGlzdCBjb250YWluaW5nIGAkY29sdW1uc2AsIHRoZSB1bml0bGVzcyBudW1iZXIgb2YgY29sdW1ucyB0aGUgZWxlbWVudCBzcGFucyAocmVxdWlyZWQpLCBhbmQgYCRjb250YWluZXItY29sdW1uc2AsIHRoZSBudW1iZXIgb2YgY29sdW1ucyB0aGUgcGFyZW50IGVsZW1lbnQgc3BhbnMgKG9wdGlvbmFsKS5cclxuLy8vXHJcbi8vLyAgIElmIG9ubHkgb25lIHZhbHVlIGlzIHBhc3NlZCwgaXQgaXMgYXNzdW1lZCB0aGF0IGl0J3MgYCRjb2x1bW5zYCBhbmQgdGhhdCB0aGF0IGAkY29udGFpbmVyLWNvbHVtbnNgIGlzIGVxdWFsIHRvIGAkZ3JpZC1jb2x1bW5zYCwgdGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLlxyXG4vLy9cclxuLy8vICAgVGhlIHZhbHVlcyBjYW4gYmUgc2VwYXJhdGVkIHdpdGggYW55IHN0cmluZyBzdWNoIGFzIGBvZmAsIGAvYCwgZXRjLlxyXG4vLy9cclxuLy8vICAgYCRjb2x1bW5zYCBhbHNvIGFjY2VwdHMgZGVjaW1hbHMgZm9yIHdoZW4gaXQncyBuZWNlc3NhcnkgdG8gYnJlYWsgb3V0IG9mIHRoZSBzdGFuZGFyZCBncmlkLiBFLmcuIFBhc3NpbmcgYDIuNGAgaW4gYSBzdGFuZGFyZCAxMiBjb2x1bW4gZ3JpZCB3aWxsIGRpdmlkZSB0aGUgcm93IGludG8gNSBjb2x1bW5zLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbYmxvY2tdXHJcbi8vLyAgIFNldHMgdGhlIGRpc3BsYXkgcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQuIEJ5IGRlZmF1bHQgaXQgc2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0eSBvZiB0aGUgZWxlbWVudCB0byBgYmxvY2tgLlxyXG4vLy9cclxuLy8vICAgSWYgcGFzc2VkIGBibG9jay1jb2xsYXBzZWAsIGl0IGFsc28gcmVtb3ZlcyB0aGUgbWFyZ2luIGd1dHRlciBieSBhZGRpbmcgaXQgdG8gdGhlIGVsZW1lbnQgd2lkdGguXHJcbi8vL1xyXG4vLy8gICBJZiBwYXNzZWQgYHRhYmxlYCwgaXQgc2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0eSB0byBgdGFibGUtY2VsbGAgYW5kIGNhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIHRoZSBlbGVtZW50IHdpdGhvdXQgdGFraW5nIGd1dHRlcnMgaW50byBjb25zaWRlcmF0aW9uLiBUaGUgcmVzdWx0IGRvZXMgbm90IGFsaWduIHdpdGggdGhlIGJsb2NrLWJhc2VkIGdyaWQuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XHJcbi8vL1xyXG4vLy8gICAgLm5lc3RlZC1lbGVtZW50IHtcclxuLy8vICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDIgb2YgNik7XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4vLy8gICAgIGZsb2F0OiBsZWZ0O1xyXG4vLy8gICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XHJcbi8vLyAgICAgd2lkdGg6IDQ4LjgyMTE3JTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgLmVsZW1lbnQ6bGFzdC1jaGlsZCB7XHJcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAuZWxlbWVudCAubmVzdGVkLWVsZW1lbnQge1xyXG4vLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4vLy8gICAgIGZsb2F0OiBsZWZ0O1xyXG4vLy8gICAgIG1hcmdpbi1yaWdodDogNC44MjkxNiU7XHJcbi8vLyAgICAgd2lkdGg6IDMwLjExMzg5JTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgLmVsZW1lbnQgLm5lc3RlZC1lbGVtZW50Omxhc3QtY2hpbGQge1xyXG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcclxuLy8vICAgfVxyXG5cclxuQG1peGluIHNwYW4tY29sdW1ucygkc3BhbjogJGNvbHVtbnMgb2YgJGNvbnRhaW5lci1jb2x1bW5zLCAkZGlzcGxheTogYmxvY2spIHtcclxuICAkY29sdW1uczogbnRoKCRzcGFuLCAxKTtcclxuICAkY29udGFpbmVyLWNvbHVtbnM6IGNvbnRhaW5lci1zcGFuKCRzcGFuKTtcclxuXHJcbiAgJHBhcmVudC1jb2x1bW5zOiBnZXQtcGFyZW50LWNvbHVtbnMoJGNvbnRhaW5lci1jb2x1bW5zKSAhZ2xvYmFsO1xyXG5cclxuICAkZGlyZWN0aW9uOiBnZXQtZGlyZWN0aW9uKCRsYXlvdXQtZGlyZWN0aW9uLCAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uKTtcclxuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBnZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pO1xyXG5cclxuICAkZGlzcGxheS10YWJsZTogaXMtZGlzcGxheS10YWJsZSgkY29udGFpbmVyLWRpc3BsYXktdGFibGUsICRkaXNwbGF5KTtcclxuXHJcbiAgQGlmICRkaXNwbGF5LXRhYmxlICB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkY29udGFpbmVyLWNvbHVtbnMpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgZmxvYXQ6ICN7JG9wcG9zaXRlLWRpcmVjdGlvbn07XHJcblxyXG4gICAgQGlmICRkaXNwbGF5ICE9IG5vLWRpc3BsYXkge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJGRpc3BsYXkgPT0gY29sbGFwc2Uge1xyXG4gICAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlICdjb2xsYXBzZScgYXJndW1lbnQgd2lsbCBiZSBkZXByZWNhdGVkLiBVc2UgJ2Jsb2NrLWNvbGxhcHNlJyBpbnN0ZWFkLlwiKTtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJGRpc3BsYXkgPT0gY29sbGFwc2Ugb3IgJGRpc3BsYXkgPT0gYmxvY2stY29sbGFwc2Uge1xyXG4gICAgICB3aWR0aDogZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnMpICsgZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zKTtcclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgd2lkdGg6IGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zKTtcclxuICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zKTtcclxuICAgICAgd2lkdGg6IGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zKTtcclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIERlc2lnbmF0ZXMgdGhlIGVsZW1lbnQgYXMgYSByb3cgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZCBsYXlvdXQuIEl0IGNsZWFycyB0aGUgZmxvYXRzIG9uIHRoZSBlbGVtZW50IGFuZCBzZXRzIGl0cyBkaXNwbGF5IHByb3BlcnR5LiBSb3dzIGNhbid0IGJlIG5lc3RlZCwgYnV0IHRoZXJlIGNhbiBiZSBtb3JlIHRoYW4gb25lIHJvdyBlbGVtZW504oCUd2l0aCBkaWZmZXJlbnQgZGlzcGxheSBwcm9wZXJ0aWVz4oCUcGVyIGxheW91dC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpc3BsYXkgW2RlZmF1bHRdXHJcbi8vLyAgU2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0eSBvZiB0aGUgZWxlbWVudCBhbmQgdGhlIGRpc3BsYXkgY29udGV4dCB0aGF0IHdpbGwgYmUgdXNlZCBieSBpdHMgY2hpbGRyZW4uIENhbiBiZSBgYmxvY2tgIG9yIGB0YWJsZWAuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXJlY3Rpb24gWyRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb25dXHJcbi8vLyAgU2V0cyB0aGUgbGF5b3V0IGRpcmVjdGlvbi4gQ2FuIGJlIGBMVFJgIChsZWZ0LXRvLXJpZ2h0KSBvciBgUlRMYCAocmlnaHQtdG8tbGVmdCkuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgLmVsZW1lbnQge1xyXG4vLy8gICAgQGluY2x1ZGUgcm93KCk7XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAuZWxlbWVudCB7XHJcbi8vLyAgICAqem9vbTogMTtcclxuLy8vICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAuZWxlbWVudDpiZWZvcmUsIC5lbGVtZW50OmFmdGVyIHtcclxuLy8vICAgY29udGVudDogXCIgXCI7XHJcbi8vLyAgIGRpc3BsYXk6IHRhYmxlO1xyXG4vLy8gfVxyXG4vLy9cclxuLy8vIC5lbGVtZW50OmFmdGVyIHtcclxuLy8vICAgY2xlYXI6IGJvdGg7XHJcbi8vLyB9XHJcblxyXG5AbWl4aW4gcm93KCRkaXNwbGF5OiBkZWZhdWx0LCAkZGlyZWN0aW9uOiAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uKSB7XHJcbiAgQGlmICRkaXJlY3Rpb24gIT0gJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbiB7XHJcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlICRkaXJlY3Rpb24gYXJndW1lbnQgd2lsbCBiZSBkZXByZWNhdGVkIGluIGZ1dHVyZSB2ZXJzaW9ucyBpbiBmYXZvciBvZiB0aGUgZGlyZWN0aW9uKCl7Li4ufSBtaXhpbi5cIik7XHJcbiAgfVxyXG5cclxuICAkbGF5b3V0LWRpcmVjdGlvbjogJGRpcmVjdGlvbiAhZ2xvYmFsO1xyXG5cclxuICBAaWYgJGRpc3BsYXkgIT0gZGVmYXVsdCB7XHJcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlICRkaXNwbGF5IGFyZ3VtZW50IHdpbGwgYmUgZGVwcmVjYXRlZCBpbiBmdXR1cmUgdmVyc2lvbnMgaW4gZmF2b3Igb2YgdGhlIGRpc3BsYXkoKXsuLi59IG1peGluLlwiKTtcclxuICB9XHJcblxyXG4gIEBpZiAkZGlzcGxheSA9PSB0YWJsZSB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIEBpbmNsdWRlIGZpbGwtcGFyZW50O1xyXG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxuICAgICRjb250YWluZXItZGlzcGxheS10YWJsZTogdHJ1ZSAhZ2xvYmFsO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICRjb250YWluZXItZGlzcGxheS10YWJsZTogZmFsc2UgIWdsb2JhbDtcclxuICB9XHJcbn1cclxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFRyYW5zbGF0ZXMgYW4gZWxlbWVudCBob3Jpem9udGFsbHkgYnkgYSBudW1iZXIgb2YgY29sdW1ucy4gUG9zaXRpdmUgYXJndW1lbnRzIHNoaWZ0IHRoZSBlbGVtZW50IHRvIHRoZSBhY3RpdmUgbGF5b3V0IGRpcmVjdGlvbiwgd2hpbGUgbmVnYXRpdmUgb25lcyBzaGlmdCBpdCB0byB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9uLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyICh1bml0bGVzcyl9ICRuLWNvbHVtbnMgWzFdXHJcbi8vLyAgIE51bWJlciBvZiBjb2x1bW5zIGJ5IHdoaWNoIHRoZSBlbGVtZW50IHNoaWZ0cy5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIHNoaWZ0KC0zKTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBvdXRwdXRcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAtMjUuNTg5NDElO1xyXG4vLy8gICB9XHJcblxyXG5AbWl4aW4gc2hpZnQoJG4tY29sdW1uczogMSkge1xyXG4gIEBpbmNsdWRlIHNoaWZ0LWluLWNvbnRleHQoJG4tY29sdW1ucyk7XHJcbn1cclxuXHJcbi8vLyBUcmFuc2xhdGVzIGFuIGVsZW1lbnQgaG9yaXpvbnRhbGx5IGJ5IGEgbnVtYmVyIG9mIGNvbHVtbnMsIGluIGEgc3BlY2lmaWMgbmVzdGluZyBjb250ZXh0LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJHNoaWZ0XHJcbi8vLyAgIEEgbGlzdCBjb250YWluaW5nIHRoZSBudW1iZXIgb2YgY29sdW1ucyB0byBzaGlmdCAoYCRjb2x1bW5zYCkgYW5kIHRoZSBudW1iZXIgb2YgY29sdW1ucyBvZiB0aGUgcGFyZW50IGVsZW1lbnQgKGAkY29udGFpbmVyLWNvbHVtbnNgKS5cclxuLy8vXHJcbi8vLyAgIFRoZSB0d28gdmFsdWVzIGNhbiBiZSBzZXBhcmF0ZWQgd2l0aCBhbnkgc3RyaW5nIHN1Y2ggYXMgYG9mYCwgYC9gLCBldGMuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBzaGlmdCgtMyBvZiA2KTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBvdXRwdXRcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAtNTIuNDE0NTglO1xyXG4vLy8gICB9XHJcblxyXG5AbWl4aW4gc2hpZnQtaW4tY29udGV4dCgkc2hpZnQ6ICRjb2x1bW5zIG9mICRjb250YWluZXItY29sdW1ucykge1xyXG4gICRuLWNvbHVtbnM6IG50aCgkc2hpZnQsIDEpO1xyXG4gICRwYXJlbnQtY29sdW1uczogY29udGFpbmVyLXNoaWZ0KCRzaGlmdCkgIWdsb2JhbDtcclxuXHJcbiAgJGRpcmVjdGlvbjogZ2V0LWRpcmVjdGlvbigkbGF5b3V0LWRpcmVjdGlvbiwgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbik7XHJcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogZ2V0LW9wcG9zaXRlLWRpcmVjdGlvbigkZGlyZWN0aW9uKTtcclxuXHJcbiAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRuLWNvbHVtbnMgKiBmbGV4LWdyaWQoMSwgJHBhcmVudC1jb2x1bW5zKSArICRuLWNvbHVtbnMgKiBmbGV4LWd1dHRlcigkcGFyZW50LWNvbHVtbnMpO1xyXG5cclxuICAvLyBSZXNldCBuZXN0aW5nIGNvbnRleHRcclxuICAkcGFyZW50LWNvbHVtbnM6ICRncmlkLWNvbHVtbnMgIWdsb2JhbDtcclxufVxyXG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gQWRkcyBwYWRkaW5nIHRvIHRoZSBlbGVtZW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJHBhZGRpbmcgW2ZsZXgtZ3V0dGVyKCldXHJcbi8vLyAgIEEgbGlzdCBvZiBwYWRkaW5nIHZhbHVlKHMpIHRvIHVzZS4gUGFzc2luZyBgZGVmYXVsdGAgaW4gdGhlIGxpc3Qgd2lsbCByZXN1bHQgaW4gdXNpbmcgdGhlIGd1dHRlciB3aWR0aCBhcyBhIHBhZGRpbmcgdmFsdWUuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBwYWQoMzBweCAtMjBweCAxMHB4IGRlZmF1bHQpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgcGFkZGluZzogMzBweCAtMjBweCAxMHB4IDIuMzU3NjUlO1xyXG4vLy8gICB9XHJcblxyXG5AbWl4aW4gcGFkKCRwYWRkaW5nOiBmbGV4LWd1dHRlcigpKSB7XHJcbiAgJHBhZGRpbmctbGlzdDogbnVsbDtcclxuICBAZWFjaCAkdmFsdWUgaW4gJHBhZGRpbmcge1xyXG4gICAgJHZhbHVlOiBpZigkdmFsdWUgPT0gJ2RlZmF1bHQnLCBmbGV4LWd1dHRlcigpLCAkdmFsdWUpO1xyXG4gICAgJHBhZGRpbmctbGlzdDogam9pbigkcGFkZGluZy1saXN0LCAkdmFsdWUpO1xyXG4gIH1cclxuICBwYWRkaW5nOiAkcGFkZGluZy1saXN0O1xyXG59XHJcbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBGb3JjZXMgdGhlIGVsZW1lbnQgdG8gZmlsbCBpdHMgcGFyZW50IGNvbnRhaW5lci5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIGZpbGwtcGFyZW50O1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgd2lkdGg6IDEwMCU7XHJcbi8vLyAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuLy8vICAgfVxyXG5cclxuQG1peGluIGZpbGwtcGFyZW50KCkge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG5cclxuICBAaWYgJGJvcmRlci1ib3gtc2l6aW5nID09IGZhbHNlIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgfVxyXG59XHJcbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBPdXRwdXRzIGEgbWVkaWEtcXVlcnkgYmxvY2sgd2l0aCBhbiBvcHRpb25hbCBncmlkIGNvbnRleHQgKHRoZSB0b3RhbCBudW1iZXIgb2YgY29sdW1ucyB1c2VkIGluIHRoZSBncmlkKS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRxdWVyeVxyXG4vLy8gICBBIGxpc3Qgb2YgbWVkaWEgcXVlcnkgZmVhdHVyZXMgYW5kIHZhbHVlcywgd2hlcmUgZWFjaCBgJGZlYXR1cmVgIHNob3VsZCBoYXZlIGEgY29ycmVzcG9uZGluZyBgJHZhbHVlYC5cclxuLy8vICAgRm9yIGEgbGlzdCBvZiB2YWxpZCB2YWx1ZXMgZm9yIGAkZmVhdHVyZWAsIGNsaWNrIFtoZXJlXShodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLW1lZGlhcXVlcmllcy8jbWVkaWExKS5cclxuLy8vXHJcbi8vLyAgIElmIHRoZXJlIGlzIG9ubHkgYSBzaW5nbGUgYCR2YWx1ZWAgaW4gYCRxdWVyeWAsIGAkZGVmYXVsdC1mZWF0dXJlYCBpcyBnb2luZyB0byBiZSB1c2VkLlxyXG4vLy9cclxuLy8vICAgVGhlIG51bWJlciBvZiB0b3RhbCBjb2x1bW5zIGluIHRoZSBncmlkIGNhbiBiZSBzZXQgYnkgcGFzc2luZyBgJGNvbHVtbnNgIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QgKG92ZXJyaWRlcyBgJHRvdGFsLWNvbHVtbnNgKS5cclxuLy8vXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXIgKHVuaXRsZXNzKX0gJHRvdGFsLWNvbHVtbnMgWyRncmlkLWNvbHVtbnNdXHJcbi8vLyAgIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGluIHRoZSBuZXcgZ3JpZCBjb250ZXh0LiBDYW4gYmUgc2V0IGFzIGEgc2hvcnRoYW5kIGluIHRoZSBmaXJzdCBwYXJhbWV0ZXIuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5yZXNwb25zaXZlLWVsZW1lbnQge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSg3NjlweCkge1xyXG4vLy8gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcclxuLy8vICAgICAgfVxyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gIC5uZXctY29udGV4dC1lbGVtZW50IHtcclxuLy8vICAgIEBpbmNsdWRlIG1lZGlhKG1pbi13aWR0aCAzMjBweCBtYXgtd2lkdGggNDgwcHgsIDYpIHtcclxuLy8vICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcclxuLy8vICAgIC5yZXNwb25zaXZlLWVsZW1lbnQge1xyXG4vLy8gICAgICBkaXNwbGF5OiBibG9jaztcclxuLy8vICAgICAgZmxvYXQ6IGxlZnQ7XHJcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XHJcbi8vLyAgICAgIHdpZHRoOiA0OC44MjExNyU7XHJcbi8vLyAgICB9XHJcbi8vL1xyXG4vLy8gICAgLnJlc3BvbnNpdmUtZWxlbWVudDpsYXN0LWNoaWxkIHtcclxuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xyXG4vLy8gICAgLm5ldy1jb250ZXh0LWVsZW1lbnQge1xyXG4vLy8gICAgICBkaXNwbGF5OiBibG9jaztcclxuLy8vICAgICAgZmxvYXQ6IGxlZnQ7XHJcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogNC44MjkxNiU7XHJcbi8vLyAgICAgIHdpZHRoOiAxMDAlO1xyXG4vLy8gICAgfVxyXG4vLy9cclxuLy8vICAgIC5uZXctY29udGV4dC1lbGVtZW50Omxhc3QtY2hpbGQge1xyXG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG5cclxuQG1peGluIG1lZGlhKCRxdWVyeTogJGZlYXR1cmUgJHZhbHVlICRjb2x1bW5zLCAkdG90YWwtY29sdW1uczogJGdyaWQtY29sdW1ucykge1xyXG4gIEBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAxIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkZGVmYXVsdC1mZWF0dXJlOiBudGgoJHF1ZXJ5LCAxKSkge1xyXG4gICAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XHJcbiAgICAgICRncmlkLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zICFnbG9iYWw7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnMgIWdsb2JhbDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgICRsb29wLXRvOiBsZW5ndGgoJHF1ZXJ5KTtcclxuICAgICRtZWRpYS1xdWVyeTogXCJzY3JlZW4gYW5kIFwiO1xyXG4gICAgQGlmKCRxdWVyeT09JHRhYikge1xyXG4gICAgICAgICRtZWRpYS1xdWVyeTogXCJwcmludCxzY3JlZW4gYW5kIFwiO1xyXG4gICAgfVxyXG4gICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xyXG4gICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnMgIWdsb2JhbDtcclxuXHJcbiAgICBAaWYgaXMtbm90KGlzLWV2ZW4obGVuZ3RoKCRxdWVyeSkpKSB7XHJcbiAgICAgICRncmlkLWNvbHVtbnM6IG50aCgkcXVlcnksICRsb29wLXRvKSAhZ2xvYmFsO1xyXG4gICAgICAkbG9vcC10bzogJGxvb3AtdG8gLSAxO1xyXG4gICAgfVxyXG5cclxuICAgICRpOiAxO1xyXG4gICAgQHdoaWxlICRpIDw9ICRsb29wLXRvIHtcclxuICAgICAgJG1lZGlhLXF1ZXJ5OiAkbWVkaWEtcXVlcnkgKyBcIihcIiArIG50aCgkcXVlcnksICRpKSArIFwiOiBcIiArIG50aCgkcXVlcnksICRpICsgMSkgKyBcIikgXCI7XHJcblxyXG4gICAgICBAaWYgKCRpICsgMSkgIT0gJGxvb3AtdG8ge1xyXG4gICAgICAgICRtZWRpYS1xdWVyeTogJG1lZGlhLXF1ZXJ5ICsgXCJhbmQgXCI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICRpOiAkaSArIDI7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhICN7JG1lZGlhLXF1ZXJ5fSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnMgIWdsb2JhbDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuQG1peGluIGJyZWFrcG9pbnQoJHF1ZXJ5OiRmZWF0dXJlICR2YWx1ZSAkY29sdW1ucywgJHRvdGFsLWNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcclxuICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlIGJyZWFrcG9pbnQoKSBtaXhpbiB3YXMgcmVuYW1lZCB0byBtZWRpYSgpIGluIE5lYXQgMS4wLiBQbGVhc2UgdXBkYXRlIHlvdXIgcHJvamVjdCB3aXRoIHRoZSBuZXcgc3ludGF4IGJlZm9yZSB0aGUgbmV4dCB2ZXJzaW9uIGJ1bXAuXCIpO1xyXG5cclxuICBAaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMSB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJGRlZmF1bHQtZmVhdHVyZTogbnRoKCRxdWVyeSwgMSkpIHtcclxuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xyXG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkdG90YWwtY29sdW1ucztcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucztcclxuICAgIH1cclxuICB9IEBlbHNlIGlmIGxlbmd0aCgkcXVlcnkpID09IDIge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG50aCgkcXVlcnksIDEpOiBudGgoJHF1ZXJ5LCAyKSkge1xyXG4gICAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XHJcbiAgICAgICRncmlkLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zO1xyXG4gICAgICBAY29udGVudDtcclxuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zO1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobnRoKCRxdWVyeSwgMSk6IG50aCgkcXVlcnksIDIpKSB7XHJcbiAgICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcclxuICAgICAgJGdyaWQtY29sdW1uczogbnRoKCRxdWVyeSwgMyk7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnM7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSA0IHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChudGgoJHF1ZXJ5LCAxKTogbnRoKCRxdWVyeSwgMikpIGFuZCAobnRoKCRxdWVyeSwgMyk6IG50aCgkcXVlcnksIDQpKSB7XHJcbiAgICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcclxuICAgICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnM7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnM7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSA1IHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChudGgoJHF1ZXJ5LCAxKTogbnRoKCRxdWVyeSwgMikpIGFuZCAobnRoKCRxdWVyeSwgMyk6IG50aCgkcXVlcnksIDQpKSB7XHJcbiAgICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcclxuICAgICAgJGdyaWQtY29sdW1uczogbnRoKCRxdWVyeSwgNSk7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnM7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiV3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyBmb3IgYnJlYWtwb2ludCgpLiBSZWFkIHRoZSBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGRldGFpbHMuXCIpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG50aC1vbWVnYSgkbnRoLCAkZGlzcGxheTogYmxvY2ssICRkaXJlY3Rpb246IGRlZmF1bHQpIHtcclxuICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlIG50aC1vbWVnYSgpIG1peGluIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2Ugb21lZ2EoKSBpbnN0ZWFkLlwiKTtcclxuICBAaW5jbHVkZSBvbWVnYSgkbnRoICRkaXNwbGF5LCAkZGlyZWN0aW9uKTtcclxufVxyXG5cclxuLy8vIFJlc2V0cyB0aGUgYWN0aXZlIGRpc3BsYXkgcHJvcGVydHkgdG8gYGJsb2NrYC4gUGFydGljdWxhcmx5IHVzZWZ1bCB3aGVuIGNoYW5naW5nIHRoZSBkaXNwbGF5IHByb3BlcnR5IGluIGEgc2luZ2xlIHJvdy5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIHJvdyh0YWJsZSk7XHJcbi8vLyAgICAgLy8gQ29udGV4dCBjaGFuZ2VkIHRvIHRhYmxlIGRpc3BsYXlcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgQGluY2x1ZGUgcmVzZXQtZGlzcGxheTtcclxuLy8vICAgLy8gQ29udGV4dCBpcyByZXNldCB0byBibG9jayBkaXNwbGF5XHJcblxyXG5AbWl4aW4gcmVzZXQtZGlzcGxheSB7XHJcbiAgJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlOiBmYWxzZSAhZ2xvYmFsO1xyXG4gIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJSZXNldHRpbmcgJGRpc3BsYXkgd2lsbCBiZSBkZXByZWNhdGVkIGluIGZ1dHVyZSB2ZXJzaW9ucyBpbiBmYXZvciBvZiB0aGUgZGlzcGxheSgpey4uLn0gbWl4aW4uXCIpO1xyXG59XHJcblxyXG4vLy8gUmVzZXRzIHRoZSBhY3RpdmUgbGF5b3V0IGRpcmVjdGlvbiB0byB0aGUgZGVmYXVsdCB2YWx1ZSBzZXQgaW4gYCRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb25gLiBQYXJ0aWN1bGFybHkgdXNlZnVsIHdoZW4gY2hhbmdpbmcgdGhlIGxheW91dCBkaXJlY3Rpb24gaW4gYSBzaW5nbGUgcm93LlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgcm93KCRkaXJlY3Rpb246IFJUTCk7XHJcbi8vLyAgICAgLy8gQ29udGV4dCBjaGFuZ2VkIHRvIHJpZ2h0LXRvLWxlZnRcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgQGluY2x1ZGUgcmVzZXQtbGF5b3V0LWRpcmVjdGlvbjtcclxuLy8vICAgLy8gQ29udGV4dCBpcyByZXNldCB0byBsZWZ0LXRvLXJpZ2h0XHJcblxyXG5AbWl4aW4gcmVzZXQtbGF5b3V0LWRpcmVjdGlvbiB7XHJcbiAgJGxheW91dC1kaXJlY3Rpb246ICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24gIWdsb2JhbDtcclxuICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiUmVzZXR0aW5nICRkaXJlY3Rpb24gd2lsbCBiZSBkZXByZWNhdGVkIGluIGZ1dHVyZSB2ZXJzaW9ucyBpbiBmYXZvciBvZiB0aGUgZGlyZWN0aW9uKCl7Li4ufSBtaXhpbi5cIik7XHJcbn1cclxuXHJcbi8vLyBSZXNldHMgYm90aCB0aGUgYWN0aXZlIGxheW91dCBkaXJlY3Rpb24gYW5kIHRoZSBhY3RpdmUgZGlzcGxheSBwcm9wZXJ0eS5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIHJvdyh0YWJsZSwgUlRMKTtcclxuLy8vICAgICAvLyBDb250ZXh0IGNoYW5nZWQgdG8gdGFibGUgdGFibGUgYW5kIHJpZ2h0LXRvLWxlZnRcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgQGluY2x1ZGUgcmVzZXQtYWxsO1xyXG4vLy8gICAvLyBDb250ZXh0IGlzIHJlc2V0IHRvIGJsb2NrIGRpc3BsYXkgYW5kIGxlZnQtdG8tcmlnaHRcclxuXHJcbkBtaXhpbiByZXNldC1hbGwge1xyXG4gIEBpbmNsdWRlIHJlc2V0LWRpc3BsYXk7XHJcbiAgQGluY2x1ZGUgcmVzZXQtbGF5b3V0LWRpcmVjdGlvbjtcclxufVxyXG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3JhZGllbnQoJHZhbHVlcy4uLikge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICR2YWx1ZXMpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICR2YWx1ZXMpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgJHZhbHVlcyk7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICR2YWx1ZXMpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVucXVvdGUoXCJsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgI3skdmFsdWVzfSlcIik7XHJcbn1cclxuXHJcbkBpZiAkdmlzdWFsLWdyaWQgPT0gdHJ1ZSBvciAkdmlzdWFsLWdyaWQgPT0geWVzIHtcclxuICBib2R5OmJlZm9yZSB7XHJcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ncmFkaWVudChncmFkaWVudC1zdG9wcygkZ3JpZC1jb2x1bW5zKSk7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xyXG4gICAgb3BhY2l0eTogJHZpc3VhbC1ncmlkLW9wYWNpdHk7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgQGlmICR2aXN1YWwtZ3JpZC1pbmRleCA9PSBiYWNrIHtcclxuICAgICAgei1pbmRleDogLTE7XHJcbiAgICB9XHJcblxyXG4gICAgQGVsc2UgaWYgJHZpc3VhbC1ncmlkLWluZGV4ID09IGZyb250IHtcclxuICAgICAgei1pbmRleDogOTk5OTtcclxuICAgIH1cclxuXHJcbiAgICBAZWFjaCAkYnJlYWtwb2ludCBpbiAkdmlzdWFsLWdyaWQtYnJlYWtwb2ludHMge1xyXG4gICAgICBAaWYgJGJyZWFrcG9pbnQge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50KSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ncmFkaWVudChncmFkaWVudC1zdG9wcygkZ3JpZC1jb2x1bW5zKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBDaGFuZ2VzIHRoZSBkaXNwbGF5IHByb3BlcnR5IHVzZWQgYnkgb3RoZXIgbWl4aW5zIGNhbGxlZCBpbiB0aGUgY29kZSBibG9jayBhcmd1bWVudC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpc3BsYXkgW2Jsb2NrXVxyXG4vLy8gICBEaXNwbGF5IHZhbHVlIHRvIGJlIHVzZWQgd2l0aGluIHRoZSBibG9jay4gQ2FuIGJlIGB0YWJsZWAgb3IgYGJsb2NrYC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzXHJcbi8vLyAgIEBpbmNsdWRlIGRpc3BsYXktY29udGV4dCh0YWJsZSkge1xyXG4vLy8gICAgLmRpc3BsYXktdGFibGUge1xyXG4vLy8gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XHJcbi8vLyAgICAgfVxyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzXHJcbi8vLyAgIC5kaXNwbGF5LXRhYmxlIHtcclxuLy8vICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuLy8vICAgICAgLi4uXHJcbi8vLyAgIH1cclxuXHJcbkBtaXhpbiBkaXNwbGF5LWNvbnRleHQoJGRpc3BsYXk6IGJsb2NrKSB7XHJcbiAgJHNjb3BlLWRpc3BsYXk6ICRjb250YWluZXItZGlzcGxheS10YWJsZTtcclxuICAkY29udGFpbmVyLWRpc3BsYXktdGFibGU6ICRkaXNwbGF5ID09IHRhYmxlICFnbG9iYWw7XHJcblxyXG4gIEBjb250ZW50O1xyXG5cclxuICAkY29udGFpbmVyLWRpc3BsYXktdGFibGU6ICRzY29wZS1kaXNwbGF5ICFnbG9iYWw7XHJcbn1cclxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIENoYW5nZXMgdGhlIGRpcmVjdGlvbiBwcm9wZXJ0eSB1c2VkIGJ5IG90aGVyIG1peGlucyBjYWxsZWQgaW4gdGhlIGNvZGUgYmxvY2sgYXJndW1lbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXJlY3Rpb24gW2xlZnQtdG8tcmlnaHRdXHJcbi8vLyAgIExheW91dCBkaXJlY3Rpb24gdG8gYmUgdXNlZCB3aXRoaW4gdGhlIGJsb2NrLiBDYW4gYmUgYGxlZnQtdG8tcmlnaHRgIG9yIGByaWdodC10by1sZWZ0YC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgQGluY2x1ZGUgZGlyZWN0aW9uLWNvbnRleHQocmlnaHQtdG8tbGVmdCkge1xyXG4vLy8gICAgLnJpZ2h0LXRvLWxlZnQtYmxvY2sge1xyXG4vLy8gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XHJcbi8vLyAgICAgfVxyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAucmlnaHQtdG8tbGVmdC1ibG9jayB7XHJcbi8vLyAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4vLy8gICAgICAuLi5cclxuLy8vICAgfVxyXG5cclxuQG1peGluIGRpcmVjdGlvbi1jb250ZXh0KCRkaXJlY3Rpb246IGxlZnQtdG8tcmlnaHQpIHtcclxuICAkc2NvcGUtZGlyZWN0aW9uOiAkbGF5b3V0LWRpcmVjdGlvbjtcclxuXHJcbiAgQGlmIHRvLWxvd2VyLWNhc2UoJGRpcmVjdGlvbikgPT0gXCJsZWZ0LXRvLXJpZ2h0XCIge1xyXG4gICAgJGxheW91dC1kaXJlY3Rpb246IExUUiAhZ2xvYmFsO1xyXG4gIH0gQGVsc2UgaWYgdG8tbG93ZXItY2FzZSgkZGlyZWN0aW9uKSA9PSBcInJpZ2h0LXRvLWxlZnRcIiB7XHJcbiAgICAkbGF5b3V0LWRpcmVjdGlvbjogUlRMICFnbG9iYWw7XHJcbiAgfVxyXG5cclxuICBAY29udGVudDtcclxuXHJcbiAgJGxheW91dC1kaXJlY3Rpb246ICRzY29wZS1kaXJlY3Rpb24gIWdsb2JhbDtcclxufVxyXG4iLAoJCSJAY2hhcnNldCBcInV0Zi04XCI7XHJcblxyXG4vL+KWoOeUu+WDj+OBruODkeOCue+8iFdQ44GuVVJM44KS6KiY6LyJ44GZ44KL77yJXHJcbiRpbWdwYXNzIDogXCJcIjtcclxuXHJcbi8v4pag5qiq5bmF44Gu6Kit5a6aXHJcbiRwY1NpemU6MTAwMHB4O1xyXG4kdGFiU2l6ZTo5OTlweDtcclxuJHRhYlRhdGVTaXplOjc2OXB4Oy8v44GT44GT44Gv5LiN5YuV44Gg44Go5oCd44GGXHJcbiRzcFNpemU6NzY4cHg7Ly/jgZPjgZPjga/kuI3li5XjgaDjgajmgJ3jgYZcclxuLy/jgZPjgZPjgoLlpInmm7TjgZfjgabjgbvjgZfjgYRcclxuJHBjU2l6ZVB4Tm9uZToxMDAwO1xyXG4kdGFiU2l6ZVB4Tm9uZTo5OTk7XHJcbiR0YWJUYXRlU2l6ZVB4Tm9uZTo3Njk7Ly/jgZPjgZPjga/kuI3li5XjgaDjgajmgJ3jgYZcclxuJHNwU2l6ZVB4Tm9uZTo3Njg7Ly/jgZPjgZPjga/kuI3li5XjgaDjgajmgJ3jgYZcclxuXHJcblxyXG4kcGNfd2FwcGVyX3NpemU6JHBjU2l6ZTtcclxuJHBjX3dhcHBlcl9zaXplX3B4OiRwY1NpemVQeE5vbmU7XHJcblxyXG4vL+ODmuODvOOCuOWGheOBp+OCs+ODs+ODhuODs+ODhOW5heOBjOWkieOCj+OBo+OBpuOBhOOCi+WgtOWQiOOBr+OBk+OCjOOBp+iqv+evgOOCguWPr+iDve+8iOS9v+OBhuOBk+OBqOOBr+OBvuOBmueEoeOBhO+8iVxyXG4kcGNfaW5ubmVyX3dhcHBlcl9zaXplIDogOTYwcHg7XHJcbiIsCgkJIkBjaGFyc2V0IFwidXRmLThcIjtcclxuXHJcblxyXG4jcGFnZV90b3Age1xyXG4gIGFuaW1hdGlvbjogY2xvYWstaW4gMC43NXM7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi5kaXNwbGF5X2ZsZXhfY2VudGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcbi5kaXNwbGF5X2ZsZXhfc3RyZXRjaCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcbi5kaXNwbGF5X2ZsZXhfc3RyZXRjaF9ib3R0b20ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxufVxyXG4uZGlzcGxheV9mbGV4X2NlbnRlcl9ib3R0b20ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IFxyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG59XHJcbi5kaXNwbGF5X2ZsZXgge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDsgXHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbn1cclxuLmRpc3BsYXlfcm93IHtcclxuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XHJcbn1cclxuLmZvcm1NYWluIHtcclxuICAgIGZvbnQtZmFtaWx5OiDmuLjjgrTjgrfjg4Pjgq/kvZMsICdZdSBHb3RoaWMnLCBZdUdvdGhpYywgJ+ODkuODqeOCruODjuinkuOCtOOCt+ODg+OCryBQcm8nLCAnSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvJywg44Oh44Kk44Oq44KqLCBNZWlyeW8sIE9zYWthLCAn77yt77yzIO+8sOOCtOOCt+ODg+OCrycsICdNUyBQR290aGljJywgc2Fucy1zZXJpZjtcclxuICAgIEBpbmNsdWRlIGltZ3dpZHRoKCk7XHJcbiAgICBAaW5jbHVkZSByc0ZvbnRTaXplKDE2LDE2LDE0KTtcclxuICAgIGNvbG9yOiAjNDQ0NDQ0O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG4uZm9ybU1haW4gIHtcclxuICAgIGlucHV0LHRleHRhcmVhLHNlbGVjdCxidXR0b24ge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiDmuLjjgrTjgrfjg4Pjgq/kvZMsICdZdSBHb3RoaWMnLCBZdUdvdGhpYywgJ+ODkuODqeOCruODjuinkuOCtOOCt+ODg+OCryBQcm8nLCAnSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvJywg44Oh44Kk44Oq44KqLCBNZWlyeW8sIE9zYWthLCAn77yt77yzIO+8sOOCtOOCt+ODg+OCrycsICdNUyBQR290aGljJywgc2Fucy1zZXJpZjtcclxuICAgICAgICBAaW5jbHVkZSByc0ZvbnRTaXplKDE2LDE2LDE0KTtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgfVxyXG4gICAgaDEsaDIsaDMsaDQsaDUsaDYscHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG4jbWludHlvdSwubWludHlvdSB7XHJcbiAgICBmb250LWZhbWlseTog5ri45piO5pydICxcIll1IE1pbmNob1wiLFl1TWluY2hvLFwiSGlyYWdpbm8gTWluY2hvIFByb05cIixcIkhpcmFnaW5vIE1pbmNobyBQcm9cIixIR1Mg5piO5pydIEUsTWVpcnlvLHNlcmlmO1xyXG59XHJcbi50aiB7XHJcbiAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6IDAuMWVtO1xyXG59XHJcblxyXG4ud2FwcGVyIHtcclxuICAgIEBpbmNsdWRlIHdhcHBlcl9zZXR0aW5nKCk7ICAgIFxyXG59XHJcbi8v5Z+65pys6Kit5a6aXHJcbnVsLGxpLGRkLGR0LGRoIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbn1cclxuc3ZnIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4ucGNfb25seSB7XHJcbiAgICBAaW5jbHVkZSBwY19vbmx5KCk7XHJcbn1cclxuLnNwX29ubHkge1xyXG4gICAgQGluY2x1ZGUgc3Bfb25seSgpO1xyXG59XHJcblxyXG4udF9jZW50ZXIge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG5AZm9yICRpIGZyb20gMCB0aHJvdWdoIDgge1xyXG4gICAgLnBjX29yZGVyXyN7JGl9IHtcclxuICAgICAgICBvcmRlcjogJGk7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHNwKSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiB1bnNldDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZndfI3skaSoxMDB9IHtcclxuICAgICAgICBmb250LXdpZWdodDokaSoxMDA7XHJcbiAgICB9XHJcbn1cclxuLnRleHRfanVzdGlmeSB7XHJcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG4gICAgdGV4dC1qdXN0aWZ5OiBpbnRlci1pZGVvZ3JhcGg7ICAgIFxyXG59IiwKCQkiQGNoYXJzZXQgXCJ1dGYtOFwiO1xyXG5AaW1wb3J0ICdtaXhpbic7XHJcblxyXG4vL+ODnOOCv+ODs+OCouOCr+OCt+ODp+ODs+mWi+Wni1xyXG4vL+ODm+ODkOODvOOBmeOCi+OBqOS4reOBrueUu+WDj+OBjOW6g+OBjOOCi1xyXG5AbWl4aW4gaG92ZXJfaW1nX3NjYWxlKCkge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGltZyB7XHJcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAwLjI1cyBsaW5lYXI7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjI1cyBsaW5lYXI7XHJcbiAgICAgICAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDAuMjVzIGxpbmVhcjtcclxuICAgICAgICAtbXMtdHJhbnNpdGlvbjogLW1zLXRyYW5zZm9ybSAwLjI1cyBsaW5lYXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzIGxpbmVhcjtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbiAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xyXG4gICAgICAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcclxuICAgICAgICB9XHJcbiAgICB9ICAgIFxyXG59XHJcblxyXG5cclxuLy9DU1MoaHR0cDovL3d3dy5ueHdvcmxkLm5ldC90aXBzL2Nzcy1vbmx5LWJ1dHRvbi1kZXNpZ24tYW5kLWhvdmVyLWVmZmVjdHMuaHRtbOWPgueFpylcclxuQG1peGluIGJ1dHRvbmJhc2UoKSB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgJjo6YmVmb3JlIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0ei1pbmRleDogLTE7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0Y29udGVudDogJyc7XHJcblx0LXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcztcclxuXHR0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgfVxyXG4gICAgJjo6YWZ0ZXIge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR6LWluZGV4OiAtMTtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRjb250ZW50OiAnJztcclxuXHQtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG5cdHRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICB9XHJcbn1cclxuQG1peGluIGJ1dHRvbnR5cGUwMSgkYmFzZWJhY2tjb2xvciwkYmFzZXRleHRjb2xvciwkaG92ZXJiYWNrY29sb3IsJGhvdmVydGV4dGNvbG9yKSB7XHJcbiAgICBAaW5jbHVkZSBidXR0b25iYXNlKCk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZWJhY2tjb2xvcjtcclxuICAgIGNvbG9yOiAkYmFzZXRleHRjb2xvcjtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3ZlcmJhY2tjb2xvcjtcclxuICAgICAgICBjb2xvcjogJGhvdmVydGV4dGNvbG9yO1xyXG4gICAgfVxyXG59XHJcbi8v44Ob44Ov44OD44Go6IOM5pmv44Gu6Imy44KS5aSJ5pu044GZ44KL44CCXHJcbkBtaXhpbiBidXR0b250eXBlMDIoJGJhc2ViYWNrY29sb3IsJGJhc2Vib2RlcmNvbG9yLCRiYXNlYm9kZXJweCwkYmFzZXRleHRjb2xvciwkaG92ZXJiYWNrY29sb3IsJGhvdmVyYm9kZXJjb2xvciwkaG92ZXJ0ZXh0Y29sb3IpIHtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbmJhc2UoKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlYmFja2NvbG9yO1xyXG4gICAgYm9yZGVyOiAkYmFzZWJvZGVycHggc29saWQgJGJhc2Vib2RlcmNvbG9yO1xyXG4gICAgY29sb3I6ICRiYXNldGV4dGNvbG9yO1xyXG4gICAgJjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGhvdmVyYmFja2NvbG9yO1xyXG5cdGJvcmRlci1jb2xvcjogJGhvdmVyYm9kZXJjb2xvcjtcclxuXHRjb2xvcjogJGhvdmVydGV4dGNvbG9yO1xyXG4gICAgfVxyXG59XHJcbi8v6IOM5pmv44Kr44Op44O844GM5bem5Y+z44Gr5YiG44GL44KM44Gm44GE44GPXHJcbkBtaXhpbiBidXR0b250eXBlMDMoJGJhc2ViYWNrY29sb3IsJGJhc2Vib2RlcmNvbG9yLCRiYXNlYm9kZXJweCwkYmFzZXRleHRjb2xvciwkaG92ZXJiYWNrY29sb3IsJGhvdmVyYm9kZXJjb2xvciwkaG92ZXJ0ZXh0Y29sb3IpIHtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbmJhc2UoKTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZWJhY2tjb2xvcjtcclxuICAgIGJvcmRlcjogJGJhc2Vib2RlcnB4IHNvbGlkICRiYXNlYm9kZXJjb2xvcjtcclxuICAgIGNvbG9yOiAkYmFzZXRleHRjb2xvcjtcclxuICAgICY6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRob3ZlcmJhY2tjb2xvcjtcclxuXHRib3JkZXItY29sb3I6ICRob3ZlcmJvZGVyY29sb3I7XHJcblx0Y29sb3I6ICRob3ZlcnRleHRjb2xvcjtcclxuICAgIH1cclxuICAgICY6OmJlZm9yZXtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2ViYWNrY29sb3I7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlYmFja2NvbG9yO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyOjpiZWZvcmUge1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3ZlcmJhY2tjb2xvcjtcclxuICAgIH1cclxuICAgICY6aG92ZXI6OmFmdGVyIHtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXJiYWNrY29sb3I7XHJcbiAgICB9XHJcbn1cclxuLy/og4zmma/jgqvjg6njg7zjgYzkuIrkuIvjgavliIbjgYvjgozjgabjgYTjgY9cclxuQG1peGluIGJ1dHRvbnR5cGUwNCgkYmFzZWJhY2tjb2xvciwkYmFzZWJvZGVyY29sb3IsJGJhc2Vib2RlcnB4LCRiYXNldGV4dGNvbG9yLCRob3ZlcmJhY2tjb2xvciwkaG92ZXJib2RlcmNvbG9yLCRob3ZlcnRleHRjb2xvcikge1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uYmFzZSgpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlYmFja2NvbG9yO1xyXG4gICAgYm9yZGVyOiAkYmFzZWJvZGVycHggc29saWQgJGJhc2Vib2RlcmNvbG9yO1xyXG4gICAgY29sb3I6ICRiYXNldGV4dGNvbG9yO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyYmFja2NvbG9yO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGhvdmVyYm9kZXJjb2xvcjtcclxuICAgICAgICBjb2xvcjogJGhvdmVydGV4dGNvbG9yO1xyXG4gICAgfVxyXG4gICAgJjo6YmVmb3JlIHtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogNTAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRiYXNlYmFja2NvbG9yO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgIH1cclxuICAgICY6OmFmdGVyIHtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogNTAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRiYXNlYmFja2NvbG9yO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgIH1cclxuICAgICY6aG92ZXI6OmJlZm9yZSB7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3ZlcmJhY2tjb2xvcjtcclxuICAgIH1cclxuICAgICY6aG92ZXI6OmFmdGVyIHtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyYmFja2NvbG9yO1xyXG4gICAgfVxyXG59XHJcbi8v5paH5a2X6ZaT6ZqU44KS5bqD44GS44KLXHJcbkBtaXhpbiBidXR0b250eXBlMDUoJGJhc2ViYWNrY29sb3IsJGJhc2V0ZXh0Y29sb3IpIHtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbmJhc2UoKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlYmFja2NvbG9yO1xyXG4gICAgY29sb3I6ICRiYXNldGV4dGNvbG9yO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDVweDtcclxuICAgIH1cclxufVxyXG4vL+S4iuOBi+OCieiDjOaZr+OBjOOBmeOCi+OBo+OBqOmZjeOCiuOBpuOBj+OCi1xyXG5AbWl4aW4gYnV0dG9udHlwZTA2KCRiYXNlYmFja2NvbG9yLCRiYXNlYm9kZXJjb2xvciwkYmFzZWJvZGVycHgsJGJhc2V0ZXh0Y29sb3IsJGhvdmVyYmFja2NvbG9yLCRob3ZlcnRleHRjb2xvcikge1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uYmFzZSgpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlYmFja2NvbG9yO1xyXG4gICAgYm9yZGVyOiAkYmFzZWJvZGVycHggc29saWQgJGJhc2Vib2RlcmNvbG9yO1xyXG4gICAgY29sb3I6ICRiYXNldGV4dGNvbG9yO1xyXG4gICAgbGluZS1oZWlnaHQ6IDUwcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRob3ZlcnRleHRjb2xvcjtcclxuICAgIH1cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgICB0b3A6IC0xMDAlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuICAgICY6aG92ZXI6OmFmdGVyIHtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyYmFja2NvbG9yO1xyXG4gICAgfVxyXG59XHJcbi8v5aWl44GL44KJ6IOM5pmv44KS44G144KP44Gj44Go6KGo56S644GV44Gb44KLICMxXHJcbkBtaXhpbiBidXR0b250eXBlMTEoJGJhc2ViYWNrY29sb3IsJGJhc2Vib2RlcmNvbG9yLCRiYXNlYm9kZXJweCwkYmFzZXRleHRjb2xvciwkaG92ZXJiYWNrY29sb3IsJGhvdmVydGV4dGNvbG9yKSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2ViYWNrY29sb3I7XHJcbiAgICBib3JkZXI6ICRiYXNlYm9kZXJweCBzb2xpZCAkYmFzZWJvZGVyY29sb3I7XHJcbiAgICBjb2xvcjogJGJhc2V0ZXh0Y29sb3I7XHJcbiAgICBsaW5lLWhlaWdodDogNTBweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJGhvdmVydGV4dGNvbG9yO1xyXG4gICAgfVxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjUpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjUpO1xyXG4gICAgfVxyXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRob3ZlcmJhY2tjb2xvcjtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIH1cclxufVxyXG4vL+WlpeOBi+OCieiDjOaZr+OCkuOBteOCj+OBo+OBqOihqOekuuOBleOBm+OCiyAjMlxyXG5AbWl4aW4gYnV0dG9udHlwZTEyKCRiYXNlYmFja2NvbG9yLCRiYXNlYm9kZXJjb2xvciwkYmFzZWJvZGVycHgsJGJhc2V0ZXh0Y29sb3IsJGhvdmVyYmFja2NvbG9yLCRob3ZlcnRleHRjb2xvcikge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlYmFja2NvbG9yO1xyXG4gICAgYm9yZGVyOiAkYmFzZWJvZGVycHggc29saWQgJGJhc2Vib2RlcmNvbG9yO1xyXG4gICAgY29sb3I6ICRiYXNldGV4dGNvbG9yO1xyXG4gICAgbGluZS1oZWlnaHQ6IDUwcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRob3ZlcnRleHRjb2xvcjtcclxuICAgIH1cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC41KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC41KTtcclxuICAgIH1cclxuICAgICY6aG92ZXI6OmFmdGVyIHsgICAgICAgIFxyXG5cdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgyKSByb3RhdGUoMTgwZGVnKTtcclxuXHR0cmFuc2Zvcm06IHNjYWxlKDIpIHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRob3ZlcmJhY2tjb2xvcjtcclxuICAgIH1cclxufVxyXG4vL+S4iuOBi+OCieODkeOCv+ODg+OBqOimgee0oOOBjOiQveOBoeOBpuOBj+OCi1xyXG5AbWl4aW4gYnV0dG9udHlwZTEzKCRiYXNlYmFja2NvbG9yLCRiYXNlYm9kZXJjb2xvciwkYmFzZWJvZGVycHgsJGJhc2V0ZXh0Y29sb3IsJGhvdmVydGV4dGNvbG9yKSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDI7XHJcblx0Ym9yZGVyOiAkYmFzZWJvZGVycHggc29saWQgJGJhc2Vib2RlcmNvbG9yO1xyXG5cdGNvbG9yOiAkYmFzZXRleHRjb2xvcjtcclxuXHRsaW5lLWhlaWdodDogNTBweDtcclxuXHQtd2Via2l0LXBlcnNwZWN0aXZlOiAzMDBweDtcclxuXHRwZXJzcGVjdGl2ZTogMzAwcHg7XHJcblx0LXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xyXG5cdHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJGhvdmVydGV4dGNvbG9yO1xyXG4gICAgfVxyXG4gICAgJjo6YWZ0ZXIge1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRiYWNrZ3JvdW5kOiAkYmFzZWJhY2tjb2xvcjtcclxuXHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7XHJcblx0dHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDtcclxuXHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCg5MGRlZyk7XHJcblx0dHJhbnNmb3JtOiByb3RhdGVYKDkwZGVnKTtcclxuXHRvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG4gICAgJjpob3Zlcjo6YWZ0ZXIgeyAgICAgICAgXHJcblx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoMCk7XHJcblx0dHJhbnNmb3JtOiByb3RhdGVYKDApO1xyXG5cdG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbn1cclxuQG1peGluIGJ1dHRvbnR5cGUxNCgkYmFzZWJhY2tjb2xvciwkYmFzZWJvZGVyY29sb3IsJGJhc2Vib2RlcnB4LCRiYXNldGV4dGNvbG9yLCRob3ZlcmJhY2tjb2xvciwkaG92ZXJib2RlcmNvbG9yLCRob3ZlcnRleHRjb2xvcikge1xyXG4gICAgYm9yZGVyOiAkYmFzZWJvZGVycHggc29saWQgJGJhc2Vib2RlcmNvbG9yO1xyXG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yNXM7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZWJhY2tjb2xvcjtcclxuICAgIGNvbG9yOiAkYmFzZXRleHRjb2xvcjtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgY29udGVudDonJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB6LWluZGV4OiAtMjtcclxuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAwJTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgd2lkdGg6IDE1MCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxNTAlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRiYXNlYmFja2NvbG9yO1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6Jyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogLTUlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICB3aWR0aDogMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRob3ZlcmJhY2tjb2xvcjtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICBjb2xvcjogJGhvdmVydGV4dGNvbG9yO1xyXG4gICAgICAgIGJvcmRlcjogJGJhc2Vib2RlcnB4IHNvbGlkICRob3ZlcmJvZGVyY29sb3I7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMTAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5AbWl4aW4gYnV0dG9udHlwZTE0X2thaSgkYmFzZWJhY2tjb2xvciwkYmFzZWJvZGVyY29sb3IsJGJhc2Vib2RlcnB4LCRiYXNldGV4dGNvbG9yLCRob3ZlcmJhY2tjb2xvciwkaG92ZXJib2RlcmNvbG9yLCRob3ZlcnRleHRjb2xvcikge1xyXG4gICAgYm9yZGVyOiAkYmFzZWJvZGVycHggc29saWQgJGJhc2Vib2RlcmNvbG9yO1xyXG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yNXM7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZWJhY2tjb2xvcjtcclxuICAgIGNvbG9yOiAkYmFzZXRleHRjb2xvcjtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OicnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IC01JTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgd2lkdGg6IDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkaG92ZXJiYWNrY29sb3I7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRiYXNlYmFja2NvbG9yO1xyXG4gICAgICAgIGNvbG9yOiAkaG92ZXJ0ZXh0Y29sb3I7XHJcbiAgICAgICAgYm9yZGVyOiAkYmFzZWJvZGVycHggc29saWQgJGhvdmVyYm9kZXJjb2xvcjtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgd2lkdGg6IDExMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGJ1dHRvbnR5cGUxNSgkYmFzZWJhY2tjb2xvciwkYmFzZWJvZGVyY29sb3IsJGJhc2Vib2RlcnB4LCRiYXNldGV4dGNvbG9yLCRob3ZlcmJhY2tjb2xvciwkaG92ZXJib2RlcmNvbG9yLCRob3ZlcnRleHRjb2xvcikge1xyXG4gICAgYm9yZGVyOiAkYmFzZWJvZGVycHggc29saWQgJGJhc2Vib2RlcmNvbG9yO1xyXG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yNXM7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZWJhY2tjb2xvcjtcclxuICAgIGNvbG9yOiAkYmFzZXRleHRjb2xvcjtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OicnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDAlOyByaWdodDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgd2lkdGg6IDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkaG92ZXJiYWNrY29sb3I7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIGNvbG9yOiAkaG92ZXJ0ZXh0Y29sb3I7XHJcbiAgICAgICAgYm9yZGVyOiAkYmFzZWJvZGVycHggc29saWQgJGhvdmVyYm9kZXJjb2xvcjtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gYnV0dG9udHlwZTE4KCRiYXNlYmFja2NvbG9yLCRiYXNlYm9kZXJjb2xvciwkYmFzZWJvZGVycHgsJGJhc2V0ZXh0Y29sb3IsJGhvdmVyYmFja2NvbG9yLCRob3ZlcmJvZGVyY29sb3IsJGhvdmVydGV4dGNvbG9yKSB7XHJcbiAgICBib3JkZXI6ICRiYXNlYm9kZXJweCBzb2xpZCAkYmFzZWJvZGVyY29sb3I7XHJcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjI1cztcclxuICAgIGJhY2tncm91bmQ6ICRiYXNlYmFja2NvbG9yO1xyXG4gICAgY29sb3I6ICRiYXNldGV4dGNvbG9yO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6Jyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkaG92ZXJiYWNrY29sb3I7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIGNvbG9yOiAkaG92ZXJ0ZXh0Y29sb3I7XHJcbiAgICAgICAgYm9yZGVyOiAkYmFzZWJvZGVycHggc29saWQgJGhvdmVyYm9kZXJjb2xvcjtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbkBtaXhpbiBidXR0b250eXBlMTRfa2FpKCRiYXNlYmFja2NvbG9yLCRiYXNlYm9kZXJjb2xvciwkYmFzZWJvZGVycHgsJGJhc2V0ZXh0Y29sb3IsJGhvdmVyYmFja2NvbG9yLCRob3ZlcmJvZGVyY29sb3IsJGhvdmVydGV4dGNvbG9yKSB7XHJcbiAgICBib3JkZXI6ICRiYXNlYm9kZXJweCBzb2xpZCAkYmFzZWJvZGVyY29sb3I7XHJcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjI1cztcclxuICAgIGJhY2tncm91bmQ6ICRiYXNlYmFja2NvbG9yO1xyXG4gICAgY29sb3I6ICRiYXNldGV4dGNvbG9yO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6Jyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogLTUlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICB3aWR0aDogMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRob3ZlcmJhY2tjb2xvcjtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGJhc2ViYWNrY29sb3I7XHJcbiAgICAgICAgY29sb3I6ICRob3ZlcnRleHRjb2xvcjtcclxuICAgICAgICBib3JkZXI6ICRiYXNlYm9kZXJweCBzb2xpZCAkaG92ZXJib2RlcmNvbG9yO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTEwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy/jg5zjgr/jg7PjgqLjgq/jgrfjg6fjg7PntYLkuoZcclxuXHJcbkBtaXhpbiBhbmltYXRpb25fYmFzZSgpIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG4gICAgJi5pbmZpbml0ZSB7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxuICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxuICAgIH1cclxuICAgICYuaGluZ2Uge1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcclxuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xyXG4gICAgfVxyXG4gICAgJi5mbGlwT3V0WCxcclxuICAgICYuZmxpcE91dFksXHJcbiAgICAmLmJvdW5jZUluLFxyXG4gICAgJi5ib3VuY2VPdXQge1xyXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogLjc1cztcclxuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzO1xyXG4gICAgfVxyXG59XHJcblxyXG4vL2JvdW5jZeOBruioreWumlxyXG5AbWl4aW4gYW5pbWF0aW9uX2JvdW5jZSgpIHtcclxuICAgIEBpbmNsdWRlIGFuaW1hdGlvbl9iYXNlKCk7XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlIHtcclxuICAgICAgZnJvbSwgMjAlLCA1MyUsIDgwJSwgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDQwJSwgNDMlIHtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA3MCUge1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDkwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGtleWZyYW1lcyBib3VuY2Uge1xyXG4gICAgICBmcm9tLCAyMCUsIDUzJSwgODAlLCB0byB7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgNDAlLCA0MyUge1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDcwJSB7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgOTAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XHJcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcclxufVxyXG5cclxuLy9mbGFzaOOBruioreWumlxyXG5AbWl4aW4gYW5pbWF0aW9uX2ZsYXNoKCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIGZsYXNoIHtcclxuICAgICAgZnJvbSwgNTAlLCB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG5cclxuICAgICAgMjUlLCA3NSUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIGZsYXNoIHtcclxuICAgICAgZnJvbSwgNTAlLCB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG5cclxuICAgICAgMjUlLCA3NSUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9wdWxzZeOBruioreWumlxyXG5AbWl4aW4gYW5pbWF0aW9uX3B1bHNlKCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA1MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgcHVsc2Uge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDUwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vcnViYmVyQmFuZOOBruioreWumlxyXG5AbWl4aW4gYW5pbWF0aW9uX3J1YmJlckJhbmQoKSB7XHJcbiAgICBAaW5jbHVkZSBhbmltYXRpb25fYmFzZSgpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kO1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIHJ1YmJlckJhbmQge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDMwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA0MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgNTAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDY1JSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgNzUlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAa2V5ZnJhbWVzIHJ1YmJlckJhbmQge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDMwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA0MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgNTAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDY1JSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgNzUlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vc2hha2Xjga7oqK3lrppcclxuQG1peGluIGFuaW1hdGlvbl9zaGFrZSgpIHtcclxuICAgIEBpbmNsdWRlIGFuaW1hdGlvbl9iYXNlKCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBzaGFrZSB7XHJcbiAgICAgIGZyb20sIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgMTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDIwJSwgNDAlLCA2MCUsIDgwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIHNoYWtlIHtcclxuICAgICAgZnJvbSwgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgMjAlLCA0MCUsIDYwJSwgODAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL2hlYWRTaGFrZeOBruioreWumlxyXG5AbWl4aW4gYW5pbWF0aW9uX2hlYWRTaGFrZSgpIHtcclxuICAgIEBpbmNsdWRlIGFuaW1hdGlvbl9iYXNlKCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoZWFkU2hha2U7XHJcbiAgICBhbmltYXRpb24tbmFtZTogaGVhZFNoYWtlOyAgICBcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBoZWFkU2hha2Uge1xyXG4gICAgICAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgICB9XHJcbiAgICAgIDYuNSUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgMTguNSUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAzMS41JSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA0My41JSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDUwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAa2V5ZnJhbWVzIGhlYWRTaGFrZSB7XHJcbiAgICAgIDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDYuNSUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgMTguNSUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAzMS41JSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA0My41JSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDUwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vc3dpbmfjga7oqK3lrppcclxuQG1peGluIGFuaW1hdGlvbl9zd2luZygpIHtcclxuICAgIEBpbmNsdWRlIGFuaW1hdGlvbl9iYXNlKCk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmc7XHJcbiAgICBhbmltYXRpb24tbmFtZTogc3dpbmc7XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmcge1xyXG4gICAgICAyMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDQwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA2MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA4MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgc3dpbmcge1xyXG4gICAgICAyMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDQwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA2MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA4MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL3RhZGHjga7oqK3lrppcclxuQG1peGluIGFuaW1hdGlvbl90YWRhKCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHRhZGE7XHJcbiAgICBhbmltYXRpb24tbmFtZTogdGFkYTtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyB0YWRhIHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAxMCUsIDIwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDMwJSwgNTAlLCA3MCUsIDkwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA0MCUsIDYwJSwgODAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgdGFkYSB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgMTAlLCAyMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAzMCUsIDUwJSwgNzAlLCA5MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgNDAlLCA2MCUsIDgwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy93b2JibGXjga7oqK3lrppcclxuQG1peGluIGFuaW1hdGlvbl93b2JibGUoKSB7XHJcbiAgICBAaW5jbHVkZSBhbmltYXRpb25fYmFzZSgpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogd29iYmxlO1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyB3b2JibGUge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDE1JSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgMzAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDQ1JSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgNjAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDc1JSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIHdvYmJsZSB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgMTUlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAzMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgNDUlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA2MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgNzUlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL3dvYmJsZeOBruioreWumlxyXG5AbWl4aW4gYW5pbWF0aW9uX2plbGxvKCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGplbGxvO1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGplbGxvO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgamVsbG8ge1xyXG4gICAgICBmcm9tLCAxMS4xJSwgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgMjIuMiUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgMzMuMyUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA0NC40JSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgNTUuNSUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDY2LjYlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDc3LjclIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDg4LjglIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgamVsbG8ge1xyXG4gICAgICBmcm9tLCAxMS4xJSwgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgMjIuMiUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgMzMuMyUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA0NC40JSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgNTUuNSUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDY2LjYlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDc3LjclIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDg4LjglIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL2JvdW5jZUlu44Gu6Kit5a6aXHJcbkBtaXhpbiBhbmltYXRpb25fYm91bmNlSW4oKSB7XHJcbiAgICBAaW5jbHVkZSBhbmltYXRpb25fYmFzZSgpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW47XHJcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlSW47XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW4ge1xyXG4gICAgICBmcm9tLCAyMCUsIDQwJSwgNjAlLCA4MCUsIHRvIHtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAyMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgNDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDYwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDgwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45Nyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIGJvdW5jZUluIHtcclxuICAgICAgZnJvbSwgMjAlLCA0MCUsIDYwJSwgODAlLCB0byB7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgMjAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDQwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA2MCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA4MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vYm91bmNlSW5Eb3du44Gu6Kit5a6aXHJcbkBtaXhpbiBhbmltYXRpb25fYm91bmNlSW5Eb3duKCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcclxuICAgICAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgNjAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA3NSUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDkwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xyXG4gICAgICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA2MCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDc1JSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgOTAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9ib3VuY2VJbkxlZnTjga7oqK3lrppcclxuQG1peGluIGFuaW1hdGlvbl9ib3VuY2VJbkxlZnQoKSB7XHJcbiAgICBAaW5jbHVkZSBhbmltYXRpb25fYmFzZSgpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xyXG4gICAgICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA2MCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDc1JSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgOTAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XHJcbiAgICAgIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDYwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgNzUlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA5MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL2JvdW5jZUluUmlnaHTjga7oqK3lrppcclxuQG1peGluIGFuaW1hdGlvbl9ib3VuY2VJblJpZ2h0KCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XHJcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcclxuICAgICAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgNjAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDc1JSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDkwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xyXG4gICAgICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA2MCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgNzUlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgOTAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL2JvdW5jZUluVXDjga7oqK3lrppcclxuQG1peGluIGFuaW1hdGlvbl9ib3VuY2VJblVwKCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7XHJcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblVwIHtcclxuICAgICAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgNjAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDc1JSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDkwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XHJcbiAgICAgIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDYwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA3NSUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA5MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9ib3VuY2VPdXTjga7oqK3lrppcclxuQG1peGluIGFuaW1hdGlvbl9ib3VuY2VPdXQoKSB7XHJcbiAgICBAaW5jbHVkZSBhbmltYXRpb25fYmFzZSgpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0O1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXQge1xyXG4gICAgICAyMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgNTAlLCA1NSUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIGJvdW5jZU91dCB7XHJcbiAgICAgIDIwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA1MCUsIDU1JSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL2JvdW5jZU91dERvd27jga7oqK3lrppcclxuQG1peGluIGFuaW1hdGlvbl9ib3VuY2VPdXREb3duKCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XHJcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcclxuICAgICAgMjAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgNDAlLCA0NSUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcclxuICAgICAgMjAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgNDAlLCA0NSUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vYm91bmNlT3V0TGVmdOOBruioreWumlxyXG5AbWl4aW4gYW5pbWF0aW9uX2JvdW5jZU91dExlZnQoKSB7XHJcbiAgICBAaW5jbHVkZSBhbmltYXRpb25fYmFzZSgpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xyXG4gICAgICAyMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcclxuICAgICAgMjAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL2JvdW5jZU91dExlZnTjga7oqK3lrppcclxuQG1peGluIGFuaW1hdGlvbl9ib3VuY2VPdXRSaWdodCgpe1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcclxuICAgICAgMjAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xyXG4gICAgICAyMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vYm91bmNlT3V0VXDjga7oqK3lrppcclxuQG1peGluIGFuaW1hdGlvbl9ib3VuY2VPdXRVcCgpIHtcclxuICAgIEBpbmNsdWRlIGFuaW1hdGlvbl9iYXNlKCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRVcCB7XHJcbiAgICAgIDIwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgNDAlLCA0NSUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGtleWZyYW1lcyBib3VuY2VPdXRVcCB7XHJcbiAgICAgIDIwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgNDAlLCA0NSUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vZmFkZUlu44Gu6Kit5a6aXHJcbkBtaXhpbiBhbmltYXRpb25fZmFkZUluKCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluIHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIGZhZGVJbiB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vZmFkZUlu44Gu6Kit5a6aXHJcbkBtaXhpbiBhbmltYXRpb25fZmFkZUluRG93bigpIHtcclxuICAgIEBpbmNsdWRlIGFuaW1hdGlvbl9iYXNlKCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9mYWRlSW5Eb3duQmln44Gu6Kit5a6aXHJcbkBtaXhpbiBhbmltYXRpb25fZmFkZUluRG93bkJpZygpIHtcclxuICAgIEBpbmNsdWRlIGFuaW1hdGlvbl9iYXNlKCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnO1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL2ZhZGVJbkxlZnTjga7oqK3lrppcclxuQG1peGluIGFuaW1hdGlvbl9mYWRlSW5MZWZ0KCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XHJcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vZmFkZUluTGVmdOOBruioreWumlxyXG5AbWl4aW4gYW5pbWF0aW9uX2ZhZGVJbkxlZnRCaWcoKSB7XHJcbiAgICBAaW5jbHVkZSBhbmltYXRpb25fYmFzZSgpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZztcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9mYWRlSW5SaWdodOOBruioreWumlxyXG5AbWl4aW4gYW5pbWF0aW9uX2ZhZGVJblJpZ2h0KCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL2ZhZGVJblJpZ2h0Qmln44Gu6Kit5a6aXHJcbkBtaXhpbiBhbmltYXRpb25fZmFkZUluUmlnaHRCaWcoKSB7XHJcbiAgICBAaW5jbHVkZSBhbmltYXRpb25fYmFzZSgpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XHJcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9mYWRlSW5VcOOBruioreWumlxyXG5AbWl4aW4gYW5pbWF0aW9uX2ZhZGVJblVwKCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwIHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGtleWZyYW1lcyBmYWRlSW5VcCB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL2ZhZGVJblVwQmln44Gu6Kit5a6aXHJcbkBtaXhpbiBhbmltYXRpb25fZmFkZUluVXBCaWcoKSB7XHJcbiAgICBAaW5jbHVkZSBhbmltYXRpb25fYmFzZSgpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7XHJcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXBCaWcge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9mYWRlT3V044Gu6Kit5a6aXHJcbkBtaXhpbiBhbmltYXRpb25fZmFkZU91dCgpIHtcclxuICAgIEBpbmNsdWRlIGFuaW1hdGlvbl9iYXNlKCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dCB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGtleWZyYW1lcyBmYWRlT3V0IHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9mYWRlT3V0RG93buOBruioreWumlxyXG5AbWl4aW4gYW5pbWF0aW9uX2ZhZGVPdXREb3duKCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9mYWRlT3V0RG93bkJpZ+OBruioreWumlxyXG5AbWl4aW4gYW5pbWF0aW9uX2ZhZGVPdXREb3duQmlnKCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnO1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnO1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL2ZhZGVPdXRMZWZ044Gu6Kit5a6aXHJcbkBtaXhpbiBhbmltYXRpb25fZmFkZU91dExlZnQoKSB7XHJcbiAgICBAaW5jbHVkZSBhbmltYXRpb25fYmFzZSgpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XHJcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnQge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9mYWRlT3V0TGVmdEJpZ+OBruioreWumlxyXG5AbWl4aW4gYW5pbWF0aW9uX2ZhZGVPdXRMZWZ0QmlnKCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0QmlnO1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0QmlnO1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9mYWRlT3V0UmlnaHTjga7oqK3lrppcclxuQG1peGluIGFuaW1hdGlvbl9mYWRlT3V0UmlnaHQoKSB7XHJcbiAgICBAaW5jbHVkZSBhbmltYXRpb25fYmFzZSgpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG4vL2ZhZGVPdXRSaWdodEJpZ+OBruioreWumlxyXG5AbWl4aW4gYW5pbWF0aW9uX2ZhZGVPdXRSaWdodEJpZygpIHtcclxuICAgIEBpbmNsdWRlIGFuaW1hdGlvbl9iYXNlKCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7XHJcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnO1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vZmFkZU91dFVw44Gu6Kit5a6aXHJcbkBtaXhpbiBhbmltYXRpb25fZmFkZU91dFVwKCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7ICAgIFxyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIGZhZGVPdXRVcCB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9mYWRlT3V0VXBCaWfjga7oqK3lrppcclxuQG1peGluIGFuaW1hdGlvbl9mYWRlT3V0VXBCaWcoKSB7XHJcbiAgICBAaW5jbHVkZSBhbmltYXRpb25fYmFzZSgpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcEJpZztcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgZmFkZU91dFVwQmlnIHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9mbGlw44Gu6Kit5a6aXHJcbkBtaXhpbiBhbmltYXRpb25fZmxpcCgpIHtcclxuICAgIEBpbmNsdWRlIGFuaW1hdGlvbl9iYXNlKCk7XHJcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmbGlwO1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIGZsaXAge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDQwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDUwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA4MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpO1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGtleWZyYW1lcyBmbGlwIHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gICAgICB9XHJcblxyXG4gICAgICA0MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gICAgICB9XHJcblxyXG4gICAgICA1MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgICAgfVxyXG5cclxuICAgICAgODAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9mbGlwSW5Y44Gu6Kit5a6aXHJcbkBtaXhpbiBhbmltYXRpb25fZmxpcEluWCgpIHtcclxuICAgIEBpbmNsdWRlIGFuaW1hdGlvbl9iYXNlKCk7XHJcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XHJcbiAgICBhbmltYXRpb24tbmFtZTogZmxpcEluWDtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5YIHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDQwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDYwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDgwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgZmxpcEluWCB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA0MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA2MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA4MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9mbGlwSW5Z44Gu6Kit5a6aXHJcbkBtaXhpbiBhbmltYXRpb25fZmxpcEluWSgpIHtcclxuICAgIEBpbmNsdWRlIGFuaW1hdGlvbl9iYXNlKCk7XHJcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7XHJcbiAgICBhbmltYXRpb24tbmFtZTogZmxpcEluWTtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5ZIHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDQwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDYwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDgwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgZmxpcEluWSB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA0MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA2MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA4MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9mbGlwT3V0WOOBruioreWumlxyXG5AbWl4aW4gYW5pbWF0aW9uX2ZsaXBPdXRYKCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xyXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFgge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAzMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgZmxpcE91dFgge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAzMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL2ZsaXBPdXRZ44Gu6Kit5a6aXHJcbkBtaXhpbiBhbmltYXRpb25fZmxpcE91dFkoKSB7XHJcbiAgICBAaW5jbHVkZSBhbmltYXRpb25fYmFzZSgpO1xyXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WSB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDMwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGtleWZyYW1lcyBmbGlwT3V0WSB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDMwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vbGlnaHRTcGVlZElu44Gu6Kit5a6aXHJcbkBtaXhpbiBhbmltYXRpb25fbGlnaHRTcGVlZEluKCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZEluIHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDYwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA4MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgNjAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDgwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuICAgIH0gICAgXHJcbn1cclxuXHJcbi8vbGlnaHRTcGVlZE91dOOBruioreWumlxyXG5AbWl4aW4gYW5pbWF0aW9uX2xpZ2h0U3BlZWRPdXQoKSB7XHJcbiAgICBAaW5jbHVkZSBhbmltYXRpb25fYmFzZSgpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0O1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9yb3RhdGVJbuOBruioreWumlxyXG5AbWl4aW4gYW5pbWF0aW9uX3JvdGF0ZUluKCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluIHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIHJvdGF0ZUluIHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9yb3RhdGVJbkRvd25MZWZ044Gu6Kit5a6aXHJcbkBtaXhpbiBhbmltYXRpb25fcm90YXRlSW5Eb3duTGVmdCgpIHtcclxuICAgIEBpbmNsdWRlIGFuaW1hdGlvbl9iYXNlKCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9yb3RhdGVJbkRvd25SaWdodOOBruioreWumlxyXG5AbWl4aW4gYW5pbWF0aW9uX3JvdGF0ZUluRG93blJpZ2h0KCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vcm90YXRlSW5VcExlZnTjga7oqK3lrppcclxuQG1peGluIGFuaW1hdGlvbl9yb3RhdGVJblVwTGVmdCgpIHtcclxuICAgIEBpbmNsdWRlIGFuaW1hdGlvbl9iYXNlKCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9yb3RhdGVJblVwUmlnaHTjga7oqK3lrppcclxuQG1peGluIGFuaW1hdGlvbl9yb3RhdGVJblVwUmlnaHQoKSB7XHJcbiAgICBAaW5jbHVkZSBhbmltYXRpb25fYmFzZSgpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0O1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLy9yb3RhdGVPdXTjga7oqK3lrppcclxuQG1peGluIGFuaW1hdGlvbl9yb3RhdGVPdXQoKSB7XHJcbiAgICBAaW5jbHVkZSBhbmltYXRpb25fYmFzZSgpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXQge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgcm90YXRlT3V0IHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9yb3RhdGVPdXTjga7oqK3lrppcclxuQG1peGluIGFuaW1hdGlvbl9yb3RhdGVPdXREb3duTGVmdCgpIHtcclxuICAgIEBpbmNsdWRlIGFuaW1hdGlvbl9iYXNlKCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vcm90YXRlT3V0RG93blJpZ2h044Gu6Kit5a6aXHJcbkBtaXhpbiBhbmltYXRpb25fcm90YXRlT3V0RG93blJpZ2h0KCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vcm90YXRlT3V0RG93blJpZ2h044Gu6Kit5a6aXHJcbkBtaXhpbiBhbmltYXRpb25fcm90YXRlT3V0VXBMZWZ0KCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL3JvdGF0ZU91dERvd25SaWdodOOBruioreWumlxyXG5AbWl4aW4gYW5pbWF0aW9uX3JvdGF0ZU91dFVwUmlnaHQoKSB7XHJcbiAgICBAaW5jbHVkZSBhbmltYXRpb25fYmFzZSgpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIH1cclxuICAgIH0gICAgXHJcbn1cclxuXHJcbi8vaGluZ2Xjga7oqK3lrppcclxuQG1peGluIGFuaW1hdGlvbl9oaW5nZSgpIHtcclxuICAgIEBpbmNsdWRlIGFuaW1hdGlvbl9iYXNlKCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBoaW5nZSB7XHJcbiAgICAgIDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDIwJSwgNjAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAgICAgfVxyXG5cclxuICAgICAgNDAlLCA4MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIGhpbmdlIHtcclxuICAgICAgMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAgICAgfVxyXG5cclxuICAgICAgMjAlLCA2MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gICAgICB9XHJcblxyXG4gICAgICA0MCUsIDgwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL3JvbGxJbuOBruioreWumlxyXG5AbWl4aW4gYW5pbWF0aW9uX3JvbGxJbigpIHtcclxuICAgIEBpbmNsdWRlIGFuaW1hdGlvbl9iYXNlKCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsSW47XHJcbiAgICBhbmltYXRpb24tbmFtZTogcm9sbEluO1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxJbiB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGtleWZyYW1lcyByb2xsSW4ge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL3JvbGxPdXTjga7oqK3lrppcclxuQG1peGluIGFuaW1hdGlvbl9yb2xsT3V0KCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XHJcbiAgICBhbmltYXRpb24tbmFtZTogcm9sbE91dDtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyByb2xsT3V0IHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGtleWZyYW1lcyByb2xsT3V0IHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vem9vbUlu44Gu6Kit5a6aXHJcbkBtaXhpbiBhbmltYXRpb25fem9vbUluKCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbjtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tSW47XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluIHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDUwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgem9vbUluIHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDUwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL3pvb21JbkRvd27jga7oqK3lrppcclxuQG1peGluIGFuaW1hdGlvbl96b29tSW5Eb3duKCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247XHJcbiAgICBhbmltYXRpb24tbmFtZTogem9vbUluRG93bjtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5Eb3duIHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDYwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGtleWZyYW1lcyB6b29tSW5Eb3duIHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDYwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vem9vbUluTGVmdOOBruioreWumlxyXG5AbWl4aW4gYW5pbWF0aW9uX3pvb21JbkxlZnQoKSB7XHJcbiAgICBAaW5jbHVkZSBhbmltYXRpb25fYmFzZSgpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluTGVmdDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0O1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkxlZnQge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgNjAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIHpvb21JbkxlZnQge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgNjAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy96b29tSW5SaWdodOOBruioreWumlxyXG5AbWl4aW4gYW5pbWF0aW9uX3pvb21JblJpZ2h0KCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0O1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0O1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblJpZ2h0IHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA2MCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGtleWZyYW1lcyB6b29tSW5SaWdodCB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgNjAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL3pvb21JblVw44Gu6Kit5a6aXHJcbkBtaXhpbiBhbmltYXRpb25fem9vbUluVXAoKSB7XHJcbiAgICBAaW5jbHVkZSBhbmltYXRpb25fYmFzZSgpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluVXA7XHJcbiAgICBhbmltYXRpb24tbmFtZTogem9vbUluVXA7XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluVXAge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDYwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIHpvb21JblVwIHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA2MCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vem9vbU91dOOBruioreWumlxyXG5AbWl4aW4gYW5pbWF0aW9uX3pvb21PdXQoKSB7XHJcbiAgICBAaW5jbHVkZSBhbmltYXRpb25fYmFzZSgpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXQge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA1MCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgem9vbU91dCB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDUwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vem9vbU91dERvd27jga7oqK3lrppcclxuQG1peGluIGFuaW1hdGlvbl96b29tT3V0RG93bigpIHtcclxuICAgIEBpbmNsdWRlIGFuaW1hdGlvbl9iYXNlKCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0RG93biB7XHJcbiAgICAgIDQwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIHpvb21PdXREb3duIHtcclxuICAgICAgNDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL3pvb21PdXRMZWZ044Gu6Kit5a6aXHJcbkBtaXhpbiBhbmltYXRpb25fem9vbU91dExlZnQoKSB7XHJcbiAgICBAaW5jbHVkZSBhbmltYXRpb25fYmFzZSgpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7XHJcbiAgICBhbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dExlZnQge1xyXG4gICAgICA0MCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHtcclxuICAgICAgNDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vem9vbU91dFJpZ2h044Gu6Kit5a6aXHJcbkBtaXhpbiBhbmltYXRpb25fem9vbU91dFJpZ2h0KCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFJpZ2h0IHtcclxuICAgICAgNDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XHJcbiAgICAgIDQwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vem9vbU91dFVw44Gu6Kit5a6aXHJcbkBtaXhpbiBhbmltYXRpb25fem9vbU91dFVwKCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRVcDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFVwIHtcclxuICAgICAgNDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgem9vbU91dFVwIHtcclxuICAgICAgNDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL3NsaWRlSW5Eb3du44Gu6Kit5a6aXHJcbkBtaXhpbiBhbmltYXRpb25fc2xpZGVJbkRvd24oKSB7XHJcbiAgICBAaW5jbHVkZSBhbmltYXRpb25fYmFzZSgpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247XHJcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL3NsaWRlSW5MZWZ044Gu6Kit5a6aXHJcbkBtaXhpbiBhbmltYXRpb25fc2xpZGVJbkxlZnQoKSB7XHJcbiAgICBAaW5jbHVkZSBhbmltYXRpb25fYmFzZSgpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XHJcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL3NsaWRlSW5MZWZ044Gu6Kit5a6aXHJcbkBtaXhpbiBhbmltYXRpb25fc2xpZGVJbkxlZnQoKSB7XHJcbiAgICBAaW5jbHVkZSBhbmltYXRpb25fYmFzZSgpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0O1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL3NsaWRlSW5VcOOBruioreWumlxyXG5AbWl4aW4gYW5pbWF0aW9uX3NsaWRlSW5VcCgpIHtcclxuICAgIEBpbmNsdWRlIGFuaW1hdGlvbl9iYXNlKCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XHJcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVJblVwO1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5VcCB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgc2xpZGVJblVwIHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vc2xpZGVPdXREb3du44Gu6Kit5a6aXHJcbkBtaXhpbiBhbmltYXRpb25fc2xpZGVPdXREb3duKCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dERvd247XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXREb3duIHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vc2xpZGVPdXRMZWZ044Gu6Kit5a6aXHJcbkBtaXhpbiBhbmltYXRpb25fc2xpZGVPdXRMZWZ0KCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnQ7XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL3NsaWRlT3V0UmlnaHTjga7oqK3lrppcclxuQG1peGluIGFuaW1hdGlvbl9zbGlkZU91dFJpZ2h0KCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XHJcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG8ge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL3NsaWRlT3V0VXDjga7oqK3lrppcclxuQG1peGluIGFuaW1hdGlvbl9zbGlkZU91dFVwKCkge1xyXG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uX2Jhc2UoKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXA7XHJcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFVwIHtcclxuICAgICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvIHtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgc2xpZGVPdXRVcCB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0byB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy/jg5vjg6/jg4Pjgajog4zmma/jga7oibLjgpLlpInmm7TjgZnjgovjgIJcclxuQG1peGluIGJ1dHRvbnR5cGUwMigkYmFzZWJhY2tjb2xvciwkYmFzZWJvZGVyY29sb3IsJGJhc2Vib2RlcnB4LCRiYXNldGV4dGNvbG9yLCRob3ZlcmJhY2tjb2xvciwkaG92ZXJib2RlcmNvbG9yLCRob3ZlcnRleHRjb2xvcikge1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uYmFzZSgpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2ViYWNrY29sb3I7XHJcbiAgICBib3JkZXI6ICRiYXNlYm9kZXJweCBzb2xpZCAkYmFzZWJvZGVyY29sb3I7XHJcbiAgICBjb2xvcjogJGJhc2V0ZXh0Y29sb3I7XHJcbiAgICAmOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXJiYWNrY29sb3I7XHJcblx0Ym9yZGVyLWNvbG9yOiAkaG92ZXJib2RlcmNvbG9yO1xyXG5cdGNvbG9yOiAkaG92ZXJ0ZXh0Y29sb3I7XHJcbiAgICB9XHJcbn1cclxuIiwKCQkiLmJnX0ZGOTJCMCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjRkY5MkIwO1xyXG59XHJcbi5iZ18zMkM5RTkge1xyXG4gICAgYmFja2dyb3VuZDogIzMyQzlFOTtcclxufVxyXG4uY2xfZmZmIHtcclxuICAgIGNvbG9yOiAjRkZGO1xyXG59IiwKCQkiQGltcG9ydCAnXzAxX2Zvcm1Ub3AnOyIsCgkJIi8qXHJcblRvIGNoYW5nZSB0aGlzIGxpY2Vuc2UgaGVhZGVyLCBjaG9vc2UgTGljZW5zZSBIZWFkZXJzIGluIFByb2plY3QgUHJvcGVydGllcy5cclxuVG8gY2hhbmdlIHRoaXMgdGVtcGxhdGUgZmlsZSwgY2hvb3NlIFRvb2xzIHwgVGVtcGxhdGVzXHJcbmFuZCBvcGVuIHRoZSB0ZW1wbGF0ZSBpbiB0aGUgZWRpdG9yLlxyXG4qL1xyXG4vKlxyXG4gICAgQ3JlYXRlZCBvbiA6IDIwMjIvMDkvMDUsIDEzOjI5OjA1XHJcbiAgICBBdXRob3IgICAgIDogU1BHLTExMDVcclxuKi9cclxuXHJcblxyXG4iLAoJCSIuZm9ybVRhYmxlIC50ZEZvcm1UYWJsZSB7XHJcbiAgICBAaW5jbHVkZSBvbnRlbmVyX3dpZHRoKDEwMDAgLCA3NjApO1xyXG4gICAgQGluY2x1ZGUgcGFkZGluZ1BlcmNlbnQoMTAwMCAsIDEwICwgMjUgLCAxMCAsIDI1KTtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCRzcCl7XHJcbiAgICAgICAgQGluY2x1ZGUgcGFkZGluZ1BlcmNlbnQoMTAwMCAsIDE0ICwgMCAsIDI1ICwgMCk7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbn1cclxuLnJlYWRQcml2YWN5Q29tZmlybSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbi5jb25maXJtQnRtRngge1xyXG4gICAgQGluY2x1ZGUgb250ZW5lcl93aWR0aCgxMDAwICwgODMwKTtcclxuICAgIEBpbmNsdWRlIG1hcmdpblBlcmNlbnQoMTAwMCAsIDI5ICwgYXV0byAsIDAgLCBhdXRvKTtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCRzcCkge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIG1hcmdpblBlcmNlbnQoMzM1ICwgMTggLCBhdXRvICwgMCAsIGF1dG8pO1xyXG4gICAgfVxyXG59XHJcbi5iYWNrQnV0dG9uV2FwIHtcclxuICAgIEBpbmNsdWRlIG9udGVuZXJfd2lkdGgoODMwICwgMzkwKTtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCRzcCkge1xyXG4gICAgICAgIEBpbmNsdWRlIG9udGVuZXJfd2lkdGgoMzM1ICwgMjQzKTtcclxuICAgIH1cclxufVxyXG4uYmFja0J1dHRvbiB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNzA3MDcwO1xyXG4gICAgY29sb3I6ICMwMDc1OEU7XHJcbiAgICBAaW5jbHVkZSBidXR0b250eXBlMDIoI2ZmZiwjNzA3MDcwLDFweCwjMDA3NThFLCMwMDc1OEUsIzAwNzU4RSwjRkZGKTsgZGlzcGxheTpibG9jaztcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYmFja0J1dHRvbkFycm93LnN2Zyk7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMzglO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQgNiU7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgaGVpZ2h0OiA3MHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJHNwKXtcclxuICAgICAgICBAaW5jbHVkZSBoZWlnaHRWd1NwKDYwKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdCAxMCU7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVye1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvd2hfYXJyb3dfbGVmdC5zdmcpO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAzOCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQgNiU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkc3Ape1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdCAxMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbmJ1dHRvbi5iYWNrQnV0dG9uIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBAaW5jbHVkZSByc0ZvbnRTaXplKDE3ICwgMTcgLCAxNik7XHJcbn1cclxuLnN1Ym1pdEJ1dHRvbldhcCB7XHJcbiAgICBAaW5jbHVkZSBvbnRlbmVyX3dpZHRoKDgzMCAsIDM5MCk7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgkc3ApIHtcclxuICAgICAgICBAaW5jbHVkZSBvbnRlbmVyX3dpZHRoKDMzNSAsIDI5Myk7XHJcbiAgICAgICAgQGluY2x1ZGUgbWFyZ2luUGVyY2VudCgzMzUgLCAxNiAsIGF1dG8gLCAwICwgYXV0byk7XHJcbiAgICB9XHJcbn1cclxuLnNlbmRCdXR0b24ge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgY29sb3I6ICNGRkY7XHJcbiAgICBAaW5jbHVkZSBidXR0b250eXBlMDIoIzAwNzU4RSwjMDA3NThFLDFweCwjRkZGLCMzMzMsIzMzMywjRkZGKTsgZGlzcGxheTpibG9jaztcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvd2hfYXJyb3cuc3ZnKTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAzOCU7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgNiU7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgaGVpZ2h0OiA3MHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJHNwKXtcclxuICAgICAgICBAaW5jbHVkZSBoZWlnaHRWd1NwKDY0KTtcclxuICAgIH0gXHJcbn1cclxuYnV0dG9uLnNlbmRCdXR0b24ge1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIEBpbmNsdWRlIHJzRm9udFNpemUoMTcgLCAxNyAsIDE2KTtcclxufVxyXG4ubm93Q29uZnJpbS5mb3JtQ250IHRoLnRoZm9ybVRhYmxlLnRoZm9ybVRhYmxlMDF7XHJcbiAgICBwYWRkaW5nOiAxLjMlIDAgMCAwJTtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCRzcCl7XHJcbiAgICAgICAgcGFkZGluZzogMi45OCUgMCUgMC4xNyUgMCU7XHJcbiAgICB9XHJcbn0gXHJcbi5ub3dDb25mcmltLmZvcm1DbnQgLnRoZm9ybVRhYmxlX25pY2hpaml7XHJcbiAgICBwYWRkaW5nOiAxLjMlIDAgMCAwJTtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCRzcCl7XHJcbiAgICAgICAgcGFkZGluZzogMi45OCUgMCUgMC4xNyUgMCU7XHJcbiAgICB9XHJcbn1cclxuLm5vd0NvbmZyaW0uZm9ybUNudCAudGhmb3JtVGFibGVfdGV4dGFyZWF7XHJcbiAgICBwYWRkaW5nOiAxLjUlIDAgMCAwJTtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCRzcCl7XHJcbiAgICAgICAgcGFkZGluZzogMi45OCUgMCUgMC4xNyUgMCU7XHJcbiAgICB9XHJcbn1cclxuIiwKCQkiLnRoYW5rc0J1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBvbnRlbmVyX3dpZHRoKDEwMDAgLCAzOTApO1xyXG4gICAgQGluY2x1ZGUgbWFyZ2luUGVyY2VudCgxMDAwICwgMTAxICwgYXV0byAsIDAgLCBhdXRvKTtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCRzcCkge1xyXG4gICAgICAgIEBpbmNsdWRlIG9udGVuZXJfd2lkdGgoMzM1ICwgMjkzKTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxOS44MyU7XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGNvbG9yOiAjRkZGO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgQGluY2x1ZGUgcnNGb250U2l6ZSgxNyAsIDE3ICwgMTYpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbnR5cGUwMigjMDA3NThFLCMwMDc1OEUsMXB4LCNGRkYsIzMzMywjMzMzLCNGRkYpOyBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvd2hfYXJyb3cuc3ZnKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMzglO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCA2JTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGhlaWdodDogNzBweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHNwKXtcclxuICAgICAgICAgICAgQGluY2x1ZGUgaGVpZ2h0VndTcCg2NCk7XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxufVxyXG4iLAoJCSJcclxuXHJcbi5mb3JtTWFpbntcclxuICAgIEBpbmNsdWRlIG1hcmdpblBlcmNlbnQoMTkyMCAsIDEwNCAsIGF1dG8gLCA4MSAsIGF1dG8pO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJHNwKXtcclxuICAgICAgICBAaW5jbHVkZSBtYXJnaW5QZXJjZW50KDM3NSAsIDYzICwgYXV0byAsIDc4ICwgYXV0byk7XHJcbiAgICB9XHJcbn1cclxuLmZvcm1XYXAge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJHNwKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgb250ZW5lcl93aWR0aCgzNzUgLCAzMzUpO1xyXG4gICAgICAgIEBpbmNsdWRlIG1hcmdpblBlcmNlbnQoMzc1ICwgMCAsIGF1dG8gLCAwICwgYXV0byk7XHJcbiAgICB9XHJcbn1cclxuLmZvcm1Ub3Age1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLmgxZm9ybVRvcCB7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xyXG4gICAgQGluY2x1ZGUgcnNGb250U2l6ZSgzMCAsIDMwICwgMjApO1xyXG59XHJcbnAudHh0Zm9ybVRvcCB7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xyXG4gICAgQGluY2x1ZGUgcnNGb250U2l6ZSgxNiAsIDE2ICwgMTMpO1xyXG4gICAgQGluY2x1ZGUgbGluZWhlaWdodCgxNiAsIDMyKTtcclxuICAgIEBpbmNsdWRlIG1hcmdpblBlcmNlbnQoMTAwMCAsIDY3ICwgYXV0byAsIDAgLCBhdXRvKTtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCRzcCkge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgQGluY2x1ZGUgbGluZWhlaWdodCgxMyAsIDIzKTtcclxuICAgICAgICBAaW5jbHVkZSBtYXJnaW5QZXJjZW50KDMzNSAsIDY2ICwgYXV0byAsIDAgLCBhdXRvKTtcclxuICAgIH1cclxufVxyXG5wLnR4dGZvcm1Ub3BUaGFua3N7XHJcbiAgICBAaW5jbHVkZSBtYXJnaW5QZXJjZW50KDEwMDAgLCA4MiAsIGF1dG8gLCAwICwgYXV0byk7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgkc3ApIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMS43JTtcclxuICAgIH1cclxufVxyXG4uUGljZm9ybVN0ZXAge1xyXG4gICAgQGluY2x1ZGUgb250ZW5lcl93aWR0aCgxMDAwICwgMzY5KTtcclxuICAgIEBpbmNsdWRlIG1hcmdpblBlcmNlbnQoMTAwMCAsIDgxLCBhdXRvICwgMCAsIGF1dG8pO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJHNwKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgb250ZW5lcl93aWR0aCgzMzUgLCAyNzUpO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIxLjE5JTtcclxuICAgIH1cclxuICAgIGltZyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcbi5mb3JtQ250IHtcclxuICAgIEBpbmNsdWRlIG1hcmdpblBlcmNlbnQoMTAwMCAsIDc4ICwgYXV0byAsIDAgLCBhdXRvKTtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCRzcCkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE1LjA0JTtcclxuICAgIH1cclxufVxyXG4uc2VjRm9ybURldGFpbFN1YmRpdmlzaW9ue1xyXG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjMDA3NThFO1xyXG4gICAgQGluY2x1ZGUgcGFkZGluZ1BlcmNlbnQoMTAwMCAsIDAgLCAwICwgMCAsIDE4KTtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCRzcCl7XHJcbiAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmdQZXJjZW50KDM3NSAsIDIgLCAwICwgMiAsIDEwKTtcclxuICAgIH1cclxufVxyXG4uZm9ybU1haW4gLmgyc2VjRm9ybURldGFpbFN1YmRpdmlzaW9ue1xyXG4gICAgQGluY2x1ZGUgcnNGb250U2l6ZSgyNCAsIDI0ICwgMjApO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XHJcbn1cclxuLmZvcm1NYWluIC50eHRzZWNGb3JtRGV0YWlsU3ViZGl2aXNpb257XHJcbiAgICBAaW5jbHVkZSBtYXJnaW5QZXJjZW50KDEwMDAgLCAwICwgMCAsIDAgLCAwKTtcclxuICAgIEBpbmNsdWRlIHJzRm9udFNpemUoMTUgLCAxNSAsIDEyKTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgkc3Ape1xyXG4gICAgICAgICBAaW5jbHVkZSBtYXJnaW5QZXJjZW50KDM3NSAsIDQgLCAwICwgMCAsIDApO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKuODhuODvOODluODq+OBruioreWumiovXHJcbi5mb3JtVGFibGUwMXtcclxuICAgIEBpbmNsdWRlIG1hcmdpblBlcmNlbnQoMTAwMCAsIDIzICwgYXV0byAsIDAgLCBhdXRvKTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgIEBpbmNsdWRlIG1lZGlhKCRzcCl7XHJcbiAgICAgICAgIEBpbmNsdWRlIG1hcmdpblBlcmNlbnQoMzc1ICwgMTYgLCAwICwgMCAsIDApO1xyXG4gICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbn1cclxuLmZvcm1UYWJsZXtcclxuICAgIEBpbmNsdWRlIG1hcmdpblBlcmNlbnQoMTAwMCAsIDIzICwgYXV0byAsIDAgLCBhdXRvKTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgIEBpbmNsdWRlIG1lZGlhKCRzcCl7XHJcbiAgICAgICAgIG1hcmdpbjogOSUgMCAwIDA7XHJcbiAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxufVxyXG4uZm9ybU1haW4gLnRoZm9ybVRhYmxle1xyXG4gICAgQGluY2x1ZGUgb250ZW5lcl93aWR0aCgxMDAwICwgMjQ0KTtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgQGluY2x1ZGUgbWVkaWEoJHNwKXtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwYWRkaW5nOiAyLjM5JSAwJSAwJSAwJTtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgfVxyXG59XHJcbi5mb3JtTWFpbiAudGhmb3JtVGFibGUwMntcclxuICAgIEBpbmNsdWRlIG1lZGlhKCRzcCl7XHJcbiAgICAgICAgIHBhZGRpbmc6IDQuNzYlIDAlIDAlIDAlO1xyXG4gICAgfVxyXG59XHJcbi5mb3JtTWFpbiAudGhmb3JtVGFibGVfdGV4dGFyZWF7XHJcbiAgICBAaW5jbHVkZSBwYWRkaW5nUGVyY2VudCgxMDAwICwgMzIgLCAwICwgMCAsIDApO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCRzcCl7XHJcbiAgICAgICAgIHBhZGRpbmc6IDQuNzYlIDAlIDAlIDAlO1xyXG4gICAgfVxyXG59XHJcbmgzLmgzZm9ybVRhYmxlRnh7XHJcbiAgICBAaW5jbHVkZSByc0ZvbnRTaXplKDE3ICwgMTcgLCAxNik7XHJcbiAgICAgQGluY2x1ZGUgbGluZWhlaWdodCgxNyAsIDI0KTtcclxuICAgICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcbi5mb3JtTWFpbiB7XHJcbiAgICB0Ym9keSx0cntcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkc3Ape1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5mb3JtTWFpbiAuaGlzc3Vmb3JtVGFibGVGeHtcclxuICAgIEBpbmNsdWRlIG9udGVuZXJfd2lkdGgoMjQ0ICwgNDMpO1xyXG4gICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIEBpbmNsdWRlIGthZG9tYXJ1KDNweCk7XHJcbiAgICBAaW5jbHVkZSByc0ZvbnRTaXplKDEyICwgMTIgLCAxMik7XHJcbiAgICBAaW5jbHVkZSBsaW5laGVpZ2h0KDEyICwgMTMpO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IFxyXG4gICAgY29sb3I6ICNGRkY7XHJcbiAgICBiYWNrZ3JvdW5kOiAjRkY5MkIwO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJHNwKXtcclxuICAgICAgICBAaW5jbHVkZSBvbnRlbmVyX3dpZHRoKDMzNSAsIDQzKTtcclxuICAgICAgICBAaW5jbHVkZSBoZWlnaHRWd1NwKDIyKTtcclxuICAgIH1cclxufVxyXG4uZm9ybU1haW4gLm5pbmlmb3JtVGFibGVGeHtcclxuICAgIEBpbmNsdWRlIG9udGVuZXJfd2lkdGgoMjQ0ICwgNDMpO1xyXG4gICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIEBpbmNsdWRlIGthZG9tYXJ1KDNweCk7XHJcbiAgICBAaW5jbHVkZSByc0ZvbnRTaXplKDEyICwgMTIgLCAxMik7XHJcbiAgICBAaW5jbHVkZSBsaW5laGVpZ2h0KDEyICwgMTMpO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IFxyXG4gICAgY29sb3I6ICNGRkY7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMzJDOUU5OyBcclxuICAgIEBpbmNsdWRlIG1lZGlhKCRzcCl7XHJcbiAgICAgICAgQGluY2x1ZGUgb250ZW5lcl93aWR0aCgzMzUgLCA0Myk7XHJcbiAgICAgICAgQGluY2x1ZGUgaGVpZ2h0VndTcCgyMik7XHJcbiAgICB9XHJcbn1cclxuLmZvcm1NYWluIC50ZGZvcm1UYWJsZXtcclxuICAgIEBpbmNsdWRlIG9udGVuZXJfd2lkdGgoMTAwMCAsIDc2MCk7XHJcbiAgICAvL0BpbmNsdWRlIHBhZGRpbmdQZXJjZW50KDEwMDAgLCA5LjUgLCAwICwgOS41ICwgMjUpO1xyXG4gICAgQGluY2x1ZGUgcGFkZGluZ1BlcmNlbnQoMTAwMCAsIDE3LjUgLCAwICwgMTcuNSAsIDI1KTtcclxuICAgIEBpbmNsdWRlIGxpbmVoZWlnaHQoMTYgLCAzMik7XHJcbiAgICBAaW5jbHVkZSByc0ZvbnRTaXplKDE2LDE2LDE2KTtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCRzcCl7XHJcbiAgICAgICAgLy9AaW5jbHVkZSBwYWRkaW5nUGVyY2VudCgzMzUgLCAxMCAsIDAgLCAxMCAsIDApO1xyXG4gICAgICAgIHBhZGRpbmc6IDYuNTglIDAlIDUuNDYlIDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuQGltcG9ydCAnXzAxX2Zvcm1TdWJkaXZpc2lvbkdlbnJlJztcclxuQGltcG9ydCAnXzAyX2Zvcm1EZXRhaWxTdWJkaXZpc2lvbic7XHJcbkBpbXBvcnQgJ18wM19mb3JtRGV0YWlsUmVxdWVzdCc7XHJcbkBpbXBvcnQgJ18wNF91c2VyRm9ybSc7XHJcbkBpbXBvcnQgJ18wNV9yZWFkUHJpdmFjeSc7XHJcbkBpbXBvcnQgJ18wNl9mb3JtQnRtJzsiLAoJCSIuZm9ybVN1YmRpdmlzaW9uR2VucmUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLmxpUmFkaW9Gb3JtVGFibGUge1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIEBpbmNsdWRlIHJzRm9udFNpemUoMTcgLCAxNyAsIDE0KTtcclxuICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICBAaW5jbHVkZSBtYXJnaW5QZXJjZW50KDEwMDAgLCA4ICwgMCAsIDAgLCAwKTtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkc3ApIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luUGVyY2VudCgzMzUgLCAxMCAsIDAgLCAwICwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5saUdlbnJlRm9ybVRhYmxlIHtcclxuICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICBAaW5jbHVkZSBtYXJnaW5QZXJjZW50KDEwMDAgLCA4ICwgMCAsIDAgLCAwKTtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkc3ApIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luUGVyY2VudCgzMzUgLCAxMCAsIDAgLCAwICwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5saUdlbnJlRm9ybVRhYmxlIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBAaW5jbHVkZSByc0ZvbnRTaXplKDE3ICwgMTcgLCAxNCk7XHJcbn1cclxuLnR4dEdlbnJlRm9ybVRhYmxlIHtcclxuICAgIEBpbmNsdWRlIHJzRm9udFNpemUoMTUgLCAxNSAsIDEyKTtcclxuICAgIEBpbmNsdWRlIG1hcmdpblBlcmNlbnQoMTAwMCAsIDE1ICwgMCAsIDAgLCAwKTtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCRzcCkge1xyXG4gICAgICAgIEBpbmNsdWRlIG1hcmdpblBlcmNlbnQoMzM1ICwgMTggLCAwICwgMCAsIDApO1xyXG4gICAgfVxyXG59XHJcbnRoLnRoZm9ybVRhYmxlLnRoZm9ybVRhYmxlMDEge1xyXG4gICAgQGluY2x1ZGUgcGFkZGluZ1BlcmNlbnQoMTAwMCAsIDIwICwgMCAsIDAgLCAwKTtcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgkc3Ape1xyXG4gICAgICAgIHBhZGRpbmc6IDQuOTglIDAlIDUuMTclIDAlO1xyXG4gICAgfVxyXG59XHJcbi5mb3JtX2VyciAge1xyXG4gICAgQGluY2x1ZGUgbWFyZ2luUGVyY2VudCgxMDAwICwgODAgLCAwICwgMCAsIDApO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJHNwKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWFyZ2luUGVyY2VudCgzMzUgLCA3MCAsIDAgLCAwICwgMCk7XHJcbiAgICB9XHJcbn1cclxuLmxpX2Zvcm1fZXJyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiAjRkYwMDAwO1xyXG4gICAgQGluY2x1ZGUgcnNGb250U2l6ZSgxNiAsIDE2ICwgMTQpO1xyXG59XHJcbi5mb3JtTWFpbiAudGRmb3JtVGFibGUudGRmb3JtVGFibGVfcmFkaW97XHJcbiAgICBAaW5jbHVkZSBvbnRlbmVyX3dpZHRoKDEwMDAgLCA3NjApO1xyXG4gICAgQGluY2x1ZGUgcGFkZGluZ1BlcmNlbnQoMTAwMCAsIDE2ICwgMCAsIDE2ICwgMjUpO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJHNwKXtcclxuICAgICAgICBAaW5jbHVkZSBwYWRkaW5nUGVyY2VudCgzMzUgLCAxMCAsIDAgLCAxMCAsIDApO1xyXG4gICAgICAgIC8vQGluY2x1ZGUgcGFkZGluZ1BlcmNlbnQoMzM1ICwgMTIgLCAwICwgMjUgLCAwKTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxufSIsCgkJIi5mb3JtRGV0YWlsU3ViZGl2aXNpb25LZW5nYWt1IHtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQzhDOEM4OyBcclxuICAgIEBpbmNsdWRlIG1hcmdpblBlcmNlbnQoMTAwMCAsIDM0ICwgYXV0byAsIDAgLCBhdXRvKTtcclxuICAgIEBpbmNsdWRlIHBhZGRpbmdQZXJjZW50KDEwMDAgLCA1MCAsIGF1dG8gLCAwICwgYXV0byk7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgkc3ApIHtcclxuICAgICAgICBtYXJnaW46IDExLjUlIGF1dG8gMCBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IDkuOTMlIDAgMCAwO1xyXG4gICAgfVxyXG59XHJcbi50ZEZvcm1UYWJsZVNlbGVjdFdhcCB7XHJcbiAgICB3aWR0aDogNzUlO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJHNwKSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbn1cclxuLnRkRm9ybVRhYmxlU2VsZWN0THhjIHtcclxuICAgIEBpbmNsdWRlIG9udGVuZXJfd2lkdGgoNTQ4ICwgMjY0KTtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCRzcCkge1xyXG4gICAgICAgIEBpbmNsdWRlIG9udGVuZXJfd2lkdGgoMzM1ICwgMTYxKTtcclxuICAgIH1cclxufVxyXG4uc2VsZWN0VzEwMCB7XHJcbiAgICBAaW5jbHVkZSByc0ZvbnRTaXplKDE2ICwgMTYgLCAxMyk7XHJcbn1cclxuLnRkRm9ybVRhYmxlU2VsZWN0THhjIHtcclxuICAgIC5zZWxlY3RXMTAwICB7XHJcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNGNkY2RjY7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0JDQkNCQztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBAaW5jbHVkZSBwYWRkaW5nUGVyY2VudCgyNjQgLCAyMCAsIDE3ICwgMjAgLCAxNyk7XHJcbiAgICAgICAgQGluY2x1ZGUga2Fkb21hcnUoNnB4KTtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkc3ApIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgaGVpZ2h0VndTcCg1MCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmdQZXJjZW50KDE2MSAsIDE2ICwgMTIgLCAxNiAsIDEyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLnNlbGVjdFlvc2FuIHtcclxuICAgIEBpbmNsdWRlIG9udGVuZXJfd2lkdGgoNzI4ICwgMzY0KTtcclxuICAgIGhlaWdodDogNjBweDtcclxuICAgIEBpbmNsdWRlIHBhZGRpbmdQZXJjZW50KDc2MCAsIDIwICwgMTcgLCAyMCAsIDE3KTtcclxuICAgIGJhY2tncm91bmQ6ICNGNkY2RjY7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQkNCQ0JDO1xyXG4gICAgQGluY2x1ZGUga2Fkb21hcnUoNXB4KTtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCRzcCkge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIEBpbmNsdWRlIGhlaWdodFZ3U3AoNTApO1xyXG4gICAgfVxyXG59XHJcbi50ZElucHV0Q2FsZW5kYXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLmlucHV0VzEwMCAge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNGNkY2RjY7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0JDQkNCQztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBAaW5jbHVkZSByc0ZvbnRTaXplKDE2ICwgMTYgLCAxMyk7XHJcbiAgICAgICAgQGluY2x1ZGUgcGFkZGluZ1BlcmNlbnQoMjY0ICwgMTYgLCAxNyAsIDE2ICwgMTcpO1xyXG4gICAgICAgIEBpbmNsdWRlIGthZG9tYXJ1KDZweCk7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHNwKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGhlaWdodFZ3U3AoNTApO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwYWRkaW5nUGVyY2VudCgxNjEgLCAwICwgMTIgLCAwICwgMTIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uaWNvbklucHV0Q2FsZW5kYXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDYuNiU7XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbkhDZW50ZXIoKTtcclxuICAgIGhlaWdodDogMjRweDtcclxuICAgIEBpbmNsdWRlIG9udGVuZXJfd2lkdGgoMjY0ICwgMjQpO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJHNwKSB7XHJcbiAgICAgICAgcmlnaHQ6IDUlO1xyXG4gICAgICAgIEBpbmNsdWRlIGhlaWdodFZ3U3AoMjQpO1xyXG4gICAgICAgIEBpbmNsdWRlIG9udGVuZXJfd2lkdGgoMTYxICwgMjQpO1xyXG4gICAgfVxyXG4gICAgaW1nIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB9XHJcbn1cclxucC50eHRLZW5nYWt1WW95YWt1IHtcclxuICAgIEBpbmNsdWRlIHJzRm9udFNpemUoMTUgLCAxNSAsIDEyKTtcclxuICAgIEBpbmNsdWRlIGxpbmVoZWlnaHQoMTUgLCAyNCk7XHJcbiAgICBAaW5jbHVkZSBtYXJnaW5QZXJjZW50KDc2MCAsIDE3ICwgMCAsIDAgLCAwKTtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCRzcCkge1xyXG4gICAgICAgIEBpbmNsdWRlIGxpbmVoZWlnaHQoMTIgLCAyMCk7XHJcbiAgICAgICAgQGluY2x1ZGUgbWFyZ2luUGVyY2VudCgzMzUgLCAyMS41ICwgMCAsIDAgLCAwKTtcclxuICAgIH1cclxufVxyXG4uZm9ybUNudCAudGhmb3JtVGFibGVfbmljaGlqaXtcclxuICAgIEBpbmNsdWRlIHBhZGRpbmdQZXJjZW50KDEwMDAgLCAzMiAsIDAgLCAwICwgMCk7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJHNwKXtcclxuICAgICAgICAgcGFkZGluZzogNC43NiUgMCUgMCUgMCU7XHJcbiAgICB9XHJcbn1cclxuXHJcbiIsCgkJIi5mb3JtRGV0YWlsU3ViZGl2aXNpb24ge1xyXG4gICAgQGluY2x1ZGUgbWFyZ2luUGVyY2VudCgxMDAwICwgMjMgLCBhdXRvICwgMCAsIGF1dG8pO1xyXG4gICAgQGluY2x1ZGUgcGFkZGluZ1BlcmNlbnQoMTAwMCAsIDUwICwgYXV0byAsIDAgLCBhdXRvKTtcclxuICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0M4QzhDODtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCRzcCkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDYuOTklO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxMC45MyU7XHJcbiAgICB9XHJcbn0iLAoJCSJpbnB1dC5pbnB1dFdOYW1le1xyXG4gICAgd2lkdGg6IDUwLjYlO1xyXG4gICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgQGluY2x1ZGUgcGFkZGluZ1BlcmNlbnQoNzYwICwgMjAgLCAxNyAsIDIwICwgMTcpO1xyXG4gICAgYmFja2dyb3VuZDogI0Y2RjZGNjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCQ0JDQkM7XHJcbiAgICBAaW5jbHVkZSBrYWRvbWFydSg1cHgpO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJHNwKXtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBAaW5jbHVkZSBoZWlnaHRWd1NwKDUwKTtcclxuICAgIH1cclxufVxyXG4uaW5wdXRXMTAwIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgQGluY2x1ZGUgcGFkZGluZ1BlcmNlbnQoNzYwICwgMjAgLCAxNyAsIDIwICwgMTcpO1xyXG4gICAgYmFja2dyb3VuZDogI0Y2RjZGNjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCQ0JDQkM7XHJcbiAgICBAaW5jbHVkZSBrYWRvbWFydSg1cHgpO1xyXG4gICAgQGluY2x1ZGUgcnNGb250U2l6ZSgxNiAsIDE2ICwgMTMpO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJHNwKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgaGVpZ2h0VndTcCg1MCk7XHJcbiAgICB9XHJcbn1cclxuLmlucHV0UG9zdENvZGUge1xyXG4gICAgQGluY2x1ZGUgb250ZW5lcl93aWR0aCg3NjAgLCAyODMpO1xyXG4gICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgQGluY2x1ZGUgcGFkZGluZ1BlcmNlbnQoNzYwICwgMjAgLCAxNyAsIDIwICwgMTcpO1xyXG4gICAgYmFja2dyb3VuZDogI0Y2RjZGNjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCQ0JDQkM7XHJcbiAgICBAaW5jbHVkZSBrYWRvbWFydSg1cHgpO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJHNwKXtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBAaW5jbHVkZSBoZWlnaHRWd1NwKDUwKTtcclxuICAgIH1cclxufVxyXG4udGRmb3JtVGFibGUgdGV4dGFyZWF7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTgwcHg7XHJcbiAgICBAaW5jbHVkZSBwYWRkaW5nUGVyY2VudCg3NjAgLCAyMCAsIDE3ICwgMjAgLCAxNyk7XHJcbiAgICBiYWNrZ3JvdW5kOiAjRjZGNkY2O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0JDQkNCQztcclxuICAgIEBpbmNsdWRlIGthZG9tYXJ1KDVweCk7XHJcbiAgICBAaW5jbHVkZSBsaW5laGVpZ2h0KDE2ICwgMjgpO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJHNwKXtcclxuICAgICAgICBAaW5jbHVkZSBoZWlnaHRWd1NwKDE1Nyk7XHJcbiAgICB9XHJcbn1cclxuLnNlbGVjdFlvc2Fue1xyXG4gICAgd2lkdGg6IDUwLjYlO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJHNwKXtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBAaW5jbHVkZSBoZWlnaHRWd1NwKDUwKTtcclxuICAgIH1cclxufVxyXG4udXNlckZvcm17XHJcbiAgICBAaW5jbHVkZSBtYXJnaW5QZXJjZW50KDEwMDAgLCAzNCAsIGF1dG8gLCAwICwgYXV0byk7XHJcbiAgICBAaW5jbHVkZSBwYWRkaW5nUGVyY2VudCgxMDAwICwgNTAgLCBhdXRvICwgMCAsIGF1dG8pO1xyXG4gICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQzhDOEM4O1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJHNwKSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNS4yOSU7XHJcbiAgICAgICAgQGluY2x1ZGUgcGFkZGluZ1BlcmNlbnQoMzM1ICwgMzkuOTg0ICwgYXV0byAsIDAgLCBhdXRvKTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbiIsCgkJIi5yZWFkUHJpdmFjeXtcclxuICAgIEBpbmNsdWRlIG1hcmdpblBlcmNlbnQoMTAwMCAsIDc5ICwgYXV0byAsIDAgLCBhdXRvKTtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCRzcCl7XHJcbiAgICAgICAgbWFyZ2luOiAxMi41JSBhdXRvIDAgYXV0bztcclxuICAgIH1cclxufVxyXG4ucmVhZFByaXZhY3lCb3h7XHJcbiAgICBAaW5jbHVkZSBwYWRkaW5nUGVyY2VudCgxMDAwICwgMzUgLCAzMyAsIDAgLCAzMyk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBoZWlnaHQ6IDI0MHB4O1xyXG4gICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJHNwKXtcclxuICAgICAgICBAaW5jbHVkZSBwYWRkaW5nUGVyY2VudCgzNzUgLCAyNSAsIDIxICwgMCAsIDIxKTtcclxuICAgICAgICBAaW5jbHVkZSBoZWlnaHRWd1NwKDI4Nyk7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9XHJcbiAgICAmOi13ZWJraXQtc2Nyb2xsYmFye1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuLnNlY1JlYWRQcml2YWN5Qm94e1xyXG4gICAgQGluY2x1ZGUgbWFyZ2luUGVyY2VudCgxMDAwICwgMCAsIGF1dG8gLCAyNCAsIGF1dG8pO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJHNwKXtcclxuICAgICAgICBAaW5jbHVkZSBtYXJnaW5QZXJjZW50KDMzNSAsICAwICwgYXV0byAsIDIwICwgYXV0byk7XHJcbiAgICB9XHJcbn1cclxuLnJlYWRQcml2YWN5Qm94IC5oMnNlY1JlYWRQcml2YWN5Qm94e1xyXG4gICBAaW5jbHVkZSByc0ZvbnRTaXplKDE2ICwgMTYgLCAxNCk7IFxyXG4gICBAaW5jbHVkZSBsaW5laGVpZ2h0KDE2ICwgMjcpO1xyXG4gICBmb250LXdlaWdodDogNjAwO1xyXG4gICBsaW5lLWhlaWdodDogMS43O1xyXG59XHJcbi5yZWFkUHJpdmFjeUJveCAudHh0U2VjUmVhZFByaXZhY3lCb3h7XHJcbiAgICBAaW5jbHVkZSBtYXJnaW5QZXJjZW50KDEwMDAgLCAxMCAsIGF1dG8gLCAwICwgYXV0byk7XHJcbiAgIEBpbmNsdWRlIHJzRm9udFNpemUoMTUgLCAxNSAsIDEyKTtcclxuICAgbGluZS1oZWlnaHQ6IDEuNjtcclxuICAgQGluY2x1ZGUgbWVkaWEoJHNwKXtcclxuICAgICAgIEBpbmNsdWRlIG1hcmdpblBlcmNlbnQoMzc1ICwgMTYgLCBhdXRvICwgMCAsIGF1dG8pO1xyXG4gICB9XHJcbiAgIGEge1xyXG4gICAgICAgY29sb3I6ICMwMDc3RkY7XHJcbiAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgfVxyXG59XHJcblxyXG5cclxuLmNoYWNrUmVhZFByaXZhY3l3YXB7XHJcbiAgICBAaW5jbHVkZSBtYXJnaW5QZXJjZW50KDEwMDAgLCA0NiAsIGF1dG8gLCAwICwgYXV0byk7XHJcbiAgICBAaW5jbHVkZSByc0ZvbnRTaXplKDE3ICwgMTcgLCAxNCk7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgLy93aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICBAaW5jbHVkZSBvbnRlbmVyX3dpZHRoKDEwMDAgLCAzNzcpO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCRzcCl7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIEBpbmNsdWRlIG1hcmdpblBlcmNlbnQoMzM1ICwgNDAgLCBhdXRvICwgMCAsIGF1dG8pOyAgIFxyXG4gICB9XHJcbiAgIHAuaGlzc3Vmb3JtVGFibGVGeCB7XHJcbiAgICAgICB3aWR0aDogMTIuNjIlO1xyXG4gICAgICAgQGluY2x1ZGUgbWVkaWEoJHNwKSB7XHJcbiAgICAgICAgICAgd2lkdGg6IDE0LjgzJTtcclxuICAgICAgIH1cclxuICAgfVxyXG4gICAgbGFiZWx7XHJcbiAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIH1cclxufVxyXG4uY2hhY2tSZWFkUHJpdmFjeXtcclxuICAgIG1hcmdpbjogYXV0byA0JSBhdXRvIDA7XHJcbiAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwicGFsdFwiO1xyXG59XHJcblxyXG5cclxuXHJcbiIsCgkJIi5mb3JtU3VibWl0QnV0dG9uV2Fwe1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIEBpbmNsdWRlIG1hcmdpblBlcmNlbnQoMTAwMCAsIDUxICwgYXV0byAsIDAgLCBhdXRvKTsgXHJcbiAgICBAaW5jbHVkZSBvbnRlbmVyX3dpZHRoKDEwMDAgLCAzOTApO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJHNwKXtcclxuICAgICAgICBAaW5jbHVkZSBtYXJnaW5QZXJjZW50KDMzNSAsIDM4LjUgLCBhdXRvICwgMCAsIGF1dG8pOyBcclxuICAgICAgICBAaW5jbHVkZSBvbnRlbmVyX3dpZHRoKDMzNSAsIDI5Myk7XHJcbiAgICB9XHJcbn1cclxuLmZvcm1TdWJtaXRCdXR0b257XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBjb2xvcjogI0ZGRjtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbnR5cGUwMigjMDA3NThFLCMwMDc1OEUsMXB4LCNGRkYsIzMzMywjMzMzLCNGRkYpOyBkaXNwbGF5OmJsb2NrO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy93aF9hcnJvdy5zdmcpO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDM4JTtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCA2JTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBoZWlnaHQ6IDcwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgkc3Ape1xyXG4gICAgICAgIEBpbmNsdWRlIGhlaWdodFZ3U3AoNjQpO1xyXG4gICAgfSBcclxufVxyXG5pbnB1dC5mb3JtU3VibWl0QnV0dG9uIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBAaW5jbHVkZSByc0ZvbnRTaXplKDE3ICwgMTcgLCAxNik7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuIgoJXSwKCSJuYW1lcyI6IFtdLAoJIm1hcHBpbmdzIjogIkF3RkdFLEFBQUEsSUFBSSxBQUFDLENBQ0gsVUFBVSxDQUFFLFVBQVUsQ0FDdkIsQUFFRCxBQUNFLENBREQsQ0FBRCxDQUFDLEFBRUUsT0FBTyxDQUZWLENBQUMsQUFHRSxRQUFRLEFBQUMsQ0FDUixVQUFVLENBQUUsT0FBTyxDQUNwQixBY1RMLEFBQUEsU0FBUyxBQUFDLENBQ1IsU0FBUyxDQUFFLGNBQWMsQ0FDMUIsQUFFRCxBQUFBLElBQUksQUFBQyxDQUNELHNCQUFzQixDQUFFLFdBQVcsQ0FDdEMsQUFFRCxBQUFBLG9CQUFvQixBQUFDLENBQ2pCLE9BQU8sQ0FBRSxJQUFJLENBQ2IsZUFBZSxDQUFFLGFBQWEsQ0FDOUIsV0FBVyxDQUFFLE1BQU0sQ0FDdEIsQUFDRCxBQUFBLHFCQUFxQixBQUFDLENBQ2xCLE9BQU8sQ0FBRSxJQUFJLENBQ2IsU0FBUyxDQUFFLElBQUksQ0FDZixlQUFlLENBQUUsYUFBYSxDQUNqQyxBQUNELEFBQUEsNEJBQTRCLEFBQUMsQ0FDekIsT0FBTyxDQUFFLElBQUksQ0FDYixTQUFTLENBQUUsSUFBSSxDQUNmLGVBQWUsQ0FBRSxhQUFhLENBQzlCLFdBQVcsQ0FBRSxRQUFRLENBQ3hCLEFBQ0QsQUFBQSwyQkFBMkIsQUFBQyxDQUN4QixPQUFPLENBQUUsSUFBSSxDQUNiLGVBQWUsQ0FBRSxhQUFhLENBQzlCLFdBQVcsQ0FBRSxNQUFNLENBQ25CLFdBQVcsQ0FBRSxRQUFRLENBQ3hCLEFBQ0QsQUFBQSxhQUFhLEFBQUMsQ0FDVixPQUFPLENBQUUsSUFBSSxDQUNiLFNBQVMsQ0FBRSxJQUFJLENBQ2YsZUFBZSxDQUFFLGFBQWEsQ0FDakMsQUFDRCxBQUFBLFlBQVksQUFBQyxDQUNULFNBQVMsQ0FBRSxRQUFRLENBQ3RCLEFBQ0QsQUFBQSxTQUFTLEFBQUMsQ0FDTixXQUFXLENBQUUsK0pBQStKLENBRzVLLEtBQUssQ0FBRSxPQUFPLENBQ2QsV0FBVyxDQUFFLEdBQUcsQ0FDbkIsQUFORCxBckdpUUksU3FHalFLLENyR2lRTCxHQUFHLEFBQUMsQ0FDQSxLQUFLLENBRlUsSUFBSSxDQUduQixNQUFNLENBQUUsSUFBSSxDQUNmLEErRnBORCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNLEVNaER4QyxBQUFBLFNBQVMsQUFBQyxDckd3QkUsU0FBUyxDQUFFLElBQVcsQ3FHbEJqQyxDTjBDRyxNQUFNLENBQUMsS0FBSyxFQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSyxFTWhEN0MsQUFBQSxTQUFTLEFBQUMsQ3JHa0NFLFNBQVMsQ0FBRSxRQUFpRCxDcUc1QnZFLENOMENHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUssRU1oRHZDLEFBQUEsU0FBUyxBQUFDLENyRzRDRSxTQUFTLENBQUUsU0FBcUMsQ3FHdEMzRCxDQUNELEFBQ0ksU0FESyxDQUNMLEtBQUssQ0FEVCxTQUFTLENBQ0MsUUFBUSxDQURsQixTQUFTLENBQ1UsTUFBTSxDQUR6QixTQUFTLENBQ2lCLE1BQU0sQUFBQyxDQUN6QixXQUFXLENBQUUsK0pBQStKLENBRTVLLFdBQVcsQ0FBRSxHQUFHLENBQ25CLEFOb0NELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU0sRU16Q3hDLEFBQ0ksU0FESyxDQUNMLEtBQUssQ0FEVCxTQUFTLENBQ0MsUUFBUSxDQURsQixTQUFTLENBQ1UsTUFBTSxDQUR6QixTQUFTLENBQ2lCLE1BQU0sQUFBQyxDckdnQnJCLFNBQVMsQ0FBRSxJQUFXLENxR1o3QixDTm9DRCxNQUFNLENBQUMsS0FBSyxFQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSyxFTXpDN0MsQUFDSSxTQURLLENBQ0wsS0FBSyxDQURULFNBQVMsQ0FDQyxRQUFRLENBRGxCLFNBQVMsQ0FDVSxNQUFNLENBRHpCLFNBQVMsQ0FDaUIsTUFBTSxBQUFDLENyRzBCckIsU0FBUyxDQUFFLFFBQWlELENxR3RCbkUsQ05vQ0QsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSyxFTXpDdkMsQUFDSSxTQURLLENBQ0wsS0FBSyxDQURULFNBQVMsQ0FDQyxRQUFRLENBRGxCLFNBQVMsQ0FDVSxNQUFNLENBRHpCLFNBQVMsQ0FDaUIsTUFBTSxBQUFDLENyR29DckIsU0FBUyxDQUFFLFNBQXFDLENxR2hDdkQsQ0FMTCxBQU1JLFNBTkssQ0FNTCxFQUFFLENBTk4sU0FBUyxDQU1GLEVBQUUsQ0FOVCxTQUFTLENBTUMsRUFBRSxDQU5aLFNBQVMsQ0FNSSxFQUFFLENBTmYsU0FBUyxDQU1PLEVBQUUsQ0FObEIsU0FBUyxDQU1VLEVBQUUsQ0FOckIsU0FBUyxDQU1hLENBQUMsQUFBQSxDQUNmLFdBQVcsQ0FBRSxDQUFDLENBQ2QsV0FBVyxDQUFFLEdBQUcsQ0FDaEIsT0FBTyxDQUFFLEtBQUssQ0FDakIsQUFHTCxBQUFBLFFBQVEsQ0FBQyxRQUFRLEFBQUMsQ0FDZCxXQUFXLENBQUUsaUdBQWlHLENBQ2pILEFBQ0QsQUFBQSxHQUFHLEFBQUMsQ0FDQSxXQUFXLENBQUUsT0FBTyxDQUNwQixVQUFVLENBQUUsSUFBSSxDQUNoQixRQUFRLENBQUUsTUFBTSxDQUNoQixPQUFPLENBQUUsS0FBSyxDQUNkLFNBQVMsQ0FBRSxLQUFLLENBQ25CLEFObUJHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU0sRU1qQnhDLEFBQUEsT0FBTyxBQUFDLENyR3NLQSxLQUFLLENvR3hPTCxNQUFNLENwR3lPTixXQUFXLENBQUMsSUFBSSxDQUNoQixZQUFZLENBQUMsSUFBSSxDcUd0S3hCLENOZUcsTUFBTSxDQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUssRU1qQjdDLEFBQUEsT0FBTyxBQUFDLENyRzJLQSxLQUFLLENBQUUsR0FBRyxDQUNWLFdBQVcsQ0FBQyxJQUFJLENBQ2hCLFlBQVksQ0FBQyxJQUFJLENxRzNLeEIsQ05lRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLLEVNakJ2QyxBQUFBLE9BQU8sQUFBQyxDckdnTEEsS0FBSyxDQUFFLElBQUksQ0FDWCxXQUFXLENBQUMsSUFBSSxDQUNoQixZQUFZLENBQUMsSUFBSSxDcUdoTHhCLENBRUQsQUFBQSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxBQUFDLENBQ1gsVUFBVSxDQUFFLElBQUksQ0FDbkIsQUFDRCxBQUFBLEdBQUcsQUFBQyxDQUNBLE9BQU8sQ0FBRSxLQUFLLENBQ2pCLEFOUUcsTUFBTSxDQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUssRU1ON0MsQUFBQSxRQUFRLEFBQUMsQ3JHNE1ELE9BQU8sQ0FBRSxLQUFLLENxRzFNckIsQ05JRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNLEVNTnhDLEFBQUEsUUFBUSxBQUFDLENyRytNRCxPQUFPLENBQUUsS0FBSyxDcUc3TXJCLENOSUcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSyxFTU52QyxBQUFBLFFBQVEsQUFBQyxDckdrTkQsT0FBTyxDQUFFLElBQUksQ3FHaE5wQixDTklHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU0sRU1IeEMsQUFBQSxRQUFRLEFBQUMsQ3JHNkxELE9BQU8sQ0FBRSxJQUFJLENxRzNMcEIsQ05DRyxNQUFNLENBQUMsS0FBSyxFQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSyxFTUg3QyxBQUFBLFFBQVEsQUFBQyxDckdnTUQsT0FBTyxDQUFFLElBQUksQ3FHOUxwQixDTkNHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUssRU1IdkMsQUFBQSxRQUFRLEFBQUMsQ3JHbU1ELE9BQU8sQ0FBRSxLQUFLLENxR2pNckIsQ0FFRCxBQUFBLFNBQVMsQUFBQyxDQUNOLFVBQVUsQ0FBRSxNQUFNLENBQ3JCLEFBR0csQUFBQSxXQUFXLEFBQUssQ0FDWixLQUFLLENBRkEsQ0FBQyxDQU1ULEFOWEQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSyxFTU1uQyxBQUFBLFdBQVcsQUFBSyxDQUdSLEtBQUssQ0FBRSxLQUFLLENBRW5CLENBQ0QsQUFBQSxLQUFLLEFBQVMsQ0FDVixXQUFXLENBUk4sQ0FBQyxDQVNULEFBUkQsQUFBQSxXQUFXLEFBQUssQ0FDWixLQUFLLENBRkEsQ0FBQyxDQU1ULEFOWEQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSyxFTU1uQyxBQUFBLFdBQVcsQUFBSyxDQUdSLEtBQUssQ0FBRSxLQUFLLENBRW5CLENBQ0QsQUFBQSxPQUFPLEFBQU8sQ0FDVixXQUFXLENBUk4sR0FBQyxDQVNULEFBUkQsQUFBQSxXQUFXLEFBQUssQ0FDWixLQUFLLENBRkEsQ0FBQyxDQU1ULEFOWEQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSyxFTU1uQyxBQUFBLFdBQVcsQUFBSyxDQUdSLEtBQUssQ0FBRSxLQUFLLENBRW5CLENBQ0QsQUFBQSxPQUFPLEFBQU8sQ0FDVixXQUFXLENBUk4sR0FBQyxDQVNULEFBUkQsQUFBQSxXQUFXLEFBQUssQ0FDWixLQUFLLENBRkEsQ0FBQyxDQU1ULEFOWEQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSyxFTU1uQyxBQUFBLFdBQVcsQUFBSyxDQUdSLEtBQUssQ0FBRSxLQUFLLENBRW5CLENBQ0QsQUFBQSxPQUFPLEFBQU8sQ0FDVixXQUFXLENBUk4sR0FBQyxDQVNULEFBUkQsQUFBQSxXQUFXLEFBQUssQ0FDWixLQUFLLENBRkEsQ0FBQyxDQU1ULEFOWEQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSyxFTU1uQyxBQUFBLFdBQVcsQUFBSyxDQUdSLEtBQUssQ0FBRSxLQUFLLENBRW5CLENBQ0QsQUFBQSxPQUFPLEFBQU8sQ0FDVixXQUFXLENBUk4sR0FBQyxDQVNULEFBUkQsQUFBQSxXQUFXLEFBQUssQ0FDWixLQUFLLENBRkEsQ0FBQyxDQU1ULEFOWEQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSyxFTU1uQyxBQUFBLFdBQVcsQUFBSyxDQUdSLEtBQUssQ0FBRSxLQUFLLENBRW5CLENBQ0QsQUFBQSxPQUFPLEFBQU8sQ0FDVixXQUFXLENBUk4sR0FBQyxDQVNULEFBUkQsQUFBQSxXQUFXLEFBQUssQ0FDWixLQUFLLENBRkEsQ0FBQyxDQU1ULEFOWEQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSyxFTU1uQyxBQUFBLFdBQVcsQUFBSyxDQUdSLEtBQUssQ0FBRSxLQUFLLENBRW5CLENBQ0QsQUFBQSxPQUFPLEFBQU8sQ0FDVixXQUFXLENBUk4sR0FBQyxDQVNULEFBUkQsQUFBQSxXQUFXLEFBQUssQ0FDWixLQUFLLENBRkEsQ0FBQyxDQU1ULEFOWEQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSyxFTU1uQyxBQUFBLFdBQVcsQUFBSyxDQUdSLEtBQUssQ0FBRSxLQUFLLENBRW5CLENBQ0QsQUFBQSxPQUFPLEFBQU8sQ0FDVixXQUFXLENBUk4sR0FBQyxDQVNULEFBUkQsQUFBQSxXQUFXLEFBQUssQ0FDWixLQUFLLENBRkEsQ0FBQyxDQU1ULEFOWEQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSyxFTU1uQyxBQUFBLFdBQVcsQUFBSyxDQUdS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 */