a { padding: 0; }

@media (max-width: 700px) { .johnny-utah { content: 'Whoa.'; } }

.clear-lg2 { clear: both; }

@media (max-width: 940px) { .clear-lg2 { clear: none; } }

@media (max-width: 1023px) { .clear-lg1 { clear: none; } }

@media (max-width: 940px) { .clear-lg1 { clear: both; } }

@media (max-width: 700px) { .clear-lg1 { clear: none; } }

.lg2 { display: block; }

@media (max-width: 940px) { .lg2 { display: none; } }

.lg1 { display: none; }

@media (max-width: 940px) { .lg1 { display: block; } }

.mobileMain { display: none; }

@media (max-width: 480px) { .mobileMain { display: block; } }

.pcwebMain { display: block; }

@media (max-width: 480px) { .pcwebMain { display: none; } }

#wrapper { background: none; }

#header { margin-bottom: 0; }

@media (max-width: 767px) { #header { height: 104px; } }

#container { height: auto; width: 100%; max-width: 100%; padding-top: 0; margin: 0 auto; position: relative; }

.main1, .main2, .main3 { min-height: 890px; width: 100%; max-width: 100%; }

.main1 .mainArea, .main2 .mainArea, .main3 .mainArea { max-width: 1260px; margin: 0 auto; position: relative; }

@media (max-width: 1260px) { .main1 .mainArea, .main2 .mainArea, .main3 .mainArea { width: 98%; margin: 0 1%; } }

@media (max-width: 480px) { .main1 .mainArea, .main2 .mainArea, .main3 .mainArea { width: 96%; margin: 0 2%; } }

.mainV_wrap { margin: 0 1%; }

.main_top { width: 100%; height: 120px; display: block; position: relative; }

.main_top:before, .main_top:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }

@media (max-width: 1023px) { .main_top { height: 90px; } }

.main_top .logo_election { padding: 2.5% 0; position: absolute; }

@media (max-width: 1023px) { .main_top .logo_election { display: none; } }

.main_top .tit { text-align: center; padding: 1.5% 0; font-family: Helvetica,Arial,sans-serif; letter-spacing: -1px; margin-left: -100px; }

@media (max-width: 1023px) { .main_top .tit { text-align: left; margin-left: 0; margin-top: 8px; } }

@media (max-width: 767px) { .main_top .tit { text-align: center; } }

@media (max-width: 480px) { .main_top .tit { margin-top: 6%; } }

@media (max-width: 1023px) { .main_top .tit img { max-width: 400px; width: 100%; } }

.main_top .tit .elDate { display: inline-block; color: #1a2851; line-height: 1.05; font-size: 1.5em; text-align: left; border-right: 1px solid #b5b5b5; padding-right: 15px; margin-right: 10px; }

.main_top .tit .elDate .dateDay { font-size: 1.5em; }

.main_top .tit .elDate2 { display: inline-block; color: #1a2851; font-size: 4em; font-weight: 100; }

.main_top .tit .elDate2 .fb { font-weight: 400; }

@media (max-width: 767px) { .main_top .tit { font-size: 0.8em; } }

.menuSlide { position: absolute; top: 35px; right: 0; width: 350px; }

@media (max-width: 767px) { .menuSlide { display: none; } }

.menuSlide ul li { float: left; margin: 0 1%; }

.menuSlide ul li a { display: block; background: #474a5b; padding: 0.4em 1.2em; border-radius: 20px; color: #fff; font-weight: bold; min-width: 75px; text-align: center; position: relative; }

.menuSlide ul li a.active { background: #f05291; }

.menuSlide ul li a.active:before { background: url(/static/images/global/main/bg_menuSlide.png) no-repeat bottom right; width: 10px; height: 6px; content: ""; display: block; position: absolute; bottom: -6px; right: 18px; }

.menuSlide ul li a span { display: block; }

.menuSlide_mobile { position: relative; z-index: 150; top: 0; display: none; clear: both; }

@media (max-width: 767px) { .menuSlide_mobile { display: block; } }

.menuSlide_mobile > ul { position: absolute; z-index: 100; width: 100%; top: -41px; }

.menuSlide_mobile > ul > li { float: left; position: relative; border-right: 1px solid #fff; width: 25%; }

.menuSlide_mobile > ul > li a { color: #fff; font-size: 15px; padding: 0.95em; font-weight: 600; display: block; white-space: nowrap; display: block; line-height: 1; text-align: center; letter-spacing: -1px; background: #474a5b; }

.menuSlide_mobile > ul > li a.active { background: #f05291; }

.menuSlide_mobile > ul > li a.active.nav01 span { background: #f05291 url(/static/images/global/main/ico_navSlide1.png) no-repeat left center; padding-left: 30px; }

.menuSlide_mobile > ul > li a.active.nav02 span { background: #f05291 url(/static/images/global/main/ico_navSlide2.png) no-repeat left center; padding-left: 30px; }

.menuSlide_mobile > ul > li a.active.nav03 span { background: #f05291 url(/static/images/global/main/ico_navSlide3.png) no-repeat left center; padding-left: 30px; }

.movieBox { float: left; background: #fff; padding: 12px 14px 8px 15px; width: 23.5%; border: 1px solid #e9e9e9; margin-left: 1.5%; position: relative; }

@media (max-width: 1023px) { .movieBox { width: 31.8%; } }

@media (max-width: 767px) { .movieBox { width: 48.5%; } }

@media (max-width: 480px) { .movieBox { width: 98.5%; float: none; margin-bottom: 2%; } }

.movieBox h3 { background: url(/static/images/global/main/bu1.gif) no-repeat left 2px; padding-left: 15px; font-size: 1.1em; margin-bottom: 12px; }

.movieBox .tit { clear: both; }

.movieBox .tit a { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: block; margin: 10px 0; padding-bottom: 10px; font-weight: bold; border-bottom: 1px solid #efefef; }

.movieBox .date { display: block; text-align: right; color: #666; font-size: 0.9em; }

@media (max-width: 767px) { .movieBox .movieW { float: none; width: 100%; } }

.movieBox .movieW .movieImg { width: 100%; position: relative; padding-bottom: 55.5% !important; padding-top: 0 !important; height: 0; }

.movieBox .movieW .movieImg iframe { width: 100%; height: 100%; border: 0; position: absolute; }

.movieBox .movieList { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: block; }

@media (max-width: 1023px) { .movieBox .movieList { float: right; width: 30%; } }

.movieBox .movieList li { float: left; border: 2px solid #fff; border-width: 2px 2px 0 0; width: 50%; }

@media (max-width: 1023px) { .movieBox .movieList li { float: none; width: 100%; } }

.movieBox .movieList li a { display: block; background: #787d9a url(/static/images/global/common/bu_arr.png) no-repeat 95% 50%; padding: 5.5px; color: #fff; font-size: 0.95em; }

@media (max-width: 1023px) { .movieBox .movieList li a { padding: 1em 5.5px; } }

@media (max-width: 767px) { .movieBox .movieList li a { padding: 5.5px; } }

.movieBox .movieScroll { height: 88px; overflow: auto; font-size: 0.9em; letter-spacing: -1px; line-height: 1.4; margin-bottom: 8px; }

.noticeBoxWrap { float: left; width: 75%; margin: 0 0 0 1.5%; }

@media (max-width: 1023px) { .noticeBoxWrap { width: 100%; } }

@media (max-width: 480px) { .noticeBoxWrap { width: 98.5%; } }

.noticeBoxWrap .noticeBoxW { width: 100%; margin-left: -1.5%; overflow: hidden; }

@media (max-width: 480px) { .noticeBoxWrap .noticeBoxW { margin-left: 0; } }

.noticeBoxWrap .noticeBoxW .noticeBox { float: left; background: #fff; padding: 15px 15px 18px 15px; width: 31.8%; border: 1px solid #e9e9e9; margin: 0 0 18px 1.5%; position: relative; }

@media (max-width: 1023px) { .noticeBoxWrap .noticeBoxW .noticeBox { margin-bottom: 10px; } }

@media (max-width: 480px) { .noticeBoxWrap .noticeBoxW .noticeBox { margin-left: 0; width: 100%; } }

.noticeBoxWrap .noticeBoxW .noticeBox .noticeArea { width: 100%; overflow: hidden; }

.noticeBoxWrap .noticeBoxW .noticeBox h3 { background: url(/static/images/global/main/bu1.gif) no-repeat left 2px; padding-left: 15px; font-size: 1.1em; margin-bottom: 12px; }

.noticeBoxWrap .noticeBoxW .noticeBox .img { display: block; }

.noticeBoxWrap .noticeBoxW .noticeBox .img a { display: block; }

.noticeBoxWrap .noticeBoxW .noticeBox .img img { width: 100%; height: 170px; }

@media (max-width: 1023px) { .noticeBoxWrap .noticeBoxW .noticeBox .img img { max-width: inherit; height: auto; } }

.noticeBoxWrap .noticeBoxW .noticeBox .date { display: block; float: left; width: 45%; color: #969696; font-size: 0.9em; }

@media (max-width: 767px) { .movieBox { margin-top: 1.5%; } }

@media (max-width: 480px) { .movieBox { clear: both; } }

.infor { overflow: hidden; }

.infor ul { margin-left: -1.5%; width: 100%; }

.infor li { border: 1px solid #e9e9e9; background: #fff; position: relative; overflow: hidden; float: left; width: 31.8%; margin-left: 1.5%; }

@media (max-width: 480px) { .infor li { height: auto; width: 100%; margin-bottom: 10px; } }

.infor li:before { content: ""; display: inline-block; width: 17px; height: 17px; background: #fff url(/static/images/global/main/bu_infor.gif) no-repeat left top; position: absolute; right: 15px; top: 15px; }

.infor li:first-child { margin-top: 0; }

.infor li.infor1 a { background: #fff url(/static/images/global/main/img_info1.jpg) no-repeat left center; }

.infor li.infor2 a { background: #fff url(/static/images/global/main/img_info2.jpg) no-repeat left center; }

.infor li.infor3 a { background: #fff url(/static/images/global/main/img_info3.jpg) no-repeat left center; }

.infor li a { display: block; line-height: 1.2; font-weight: bold; font-size: 1.1em; padding-left: 44%; padding: 10% 0 10% 140px; height: 117px; }

@media (max-width: 767px) { .infor li a { padding-left: 30%; padding: 5% 0 5% 42%; background-size: 40% auto !important; height: 90px; } }

@media (max-width: 480px) { .infor li a { padding-left: 44%; padding: 10% 0 10% 140px; height: 117px; background-size: auto !important; } }

@media (max-width: 480px) { .infor li a img { width: 40%; height: auto; max-width: inherit; } }

.infor li a p { float: left; padding: 0 5%; margin-top: 20px; width: 56%; overflow: hidden; width: 100%; }

@media (max-width: 767px) { .infor li a p { margin-top: 25px; } }

@media (max-width: 480px) { .infor li a p { float: none; margin: 0; } }

.slick-dots li { position: relative; display: inline-block; margin: 0; padding: 0; cursor: pointer; text-align: center; float: none; }

.slick-dots li button { background: url(/static/images/portal/main/slidePaging_off.png) no-repeat left top; text-indent: -999em; margin: 0; display: inline-block; width: 14px; padding: 0; text-align: center; height: 10px; border: 0; padding: 1px; }

.slick-dots li.slick-active button, .slick-dots li.slick-active button:hover { background: url(/static/images/portal/main/slidePaging_on.png) no-repeat left top; width: 33px; }

.main1 .main1_con1 { display: block; margin-left: -1.5%; }

.main1 .main1_con1:before, .main1 .main1_con1:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }

.main1 .main1_con1 .storyL { float: left; position: relative; width: 48.5%; margin: 0 0 1.5% 1.5%; }

@media (max-width: 1023px) { .main1 .main1_con1 .storyL { max-width: 100%; width: 65%; } }

@media (max-width: 767px) { .main1 .main1_con1 .storyL { background: #fff; width: 98.5%; max-width: inherit; margin: 0 0 2.5% 1.5%; } }

.main1 .main1_con1 .storyL .storyArea { overflow: hidden; background: #474a5b; width: 100%; }

.main1 .main1_con1 .storyL .storyArea .story_txt { float: left; width: 32.5%; background: #474a5b; color: #fff; padding: 2%; }

@media (max-width: 640px) { .main1 .main1_con1 .storyL .storyArea .story_txt { width: 98%; margin: 0 1%; } }

.main1 .main1_con1 .storyL .storyArea .story_txt.pcweb { display: block; }

@media (max-width: 640px) { .main1 .main1_con1 .storyL .storyArea .story_txt.pcweb { display: none; } }

.main1 .main1_con1 .storyL .storyArea .story_txt.mobile { display: none; }

@media (max-width: 640px) { .main1 .main1_con1 .storyL .storyArea .story_txt.mobile { display: block; } }

.main1 .main1_con1 .storyL .storyArea .story_txt li { float: left; position: relative; z-index: 1000; }

.main1 .main1_con1 .storyL .storyArea .story_txt h3 { font-weight: 400; background: url(/static/images/portal/main/bu_story.png) no-repeat right center; color: #fff; }

.main1 .main1_con1 .storyL .storyArea .story_txt .story_p { background: url(/static/images/portal/main/bu_story1.png) no-repeat left center; width: 110px; text-align: center; padding: 5px 0; margin-left: -19px; display: block; }

.main1 .main1_con1 .storyL .storyArea .story_txt h4 { font-weight: 600; color: #ff80b3; font-weight: bold; font-size: 1.1em; margin: 6px 0 12px 0; }

.main1 .main1_con1 .storyL .storyArea .story_txt p { color: #efefef; font-size: 0.95em; height: 145px; overflow: hidden; }

@media (max-width: 1400px) { .main1 .main1_con1 .storyL .storyArea .story_txt p { height: 60px; } }

.main1 .main1_con1 .storyL .storyArea .story_txt .btnStory { background: #9ea0ab; color: #474a5b; padding: 2%; text-align: center; margin: 7% 0; }

@media (max-width: 640px) { .main1 .main1_con1 .storyL .storyArea .story_txt .btnStory { margin: 3% 0; } }

.main1 .main1_con1 .storyL .storyArea .story_img { float: left; width: 100%; position: relative; overflow: hidden; }

@media (max-width: 640px) { .main1 .main1_con1 .storyL .storyArea .story_img { width: 100%; float: none; } }

.main1 .main1_con1 .storyL .storyArea .story_img ul li { float: left; }

.main1 .main1_con1 .storyL .storyArea .story_img img { width: 100%; }

.main1 .main1_con1 .storyL .storyArea .story_img .slick-prev { position: absolute; left: 0; top: 40%; background: url(/static/images/portal/main/btn_story_prev.png) no-repeat left top; width: 40px; height: 40px; font-size: 0; text-indent: -999em; z-index: 1; }

@media (max-width: 640px) { .main1 .main1_con1 .storyL .storyArea .story_img .slick-prev { left: 0; } }

.main1 .main1_con1 .storyL .storyArea .story_img .slick-next { position: absolute; right: 0; top: 40%; background: url(/static/images/portal/main/btn_story_next.png) no-repeat left top; width: 40px; height: 40px; font-size: 0; text-indent: -999em; }

.main1 .main1_con1 .storyL .storyArea .story_img .story_pagination { position: absolute; bottom: 0; right: 0; background-color: rgba(0, 0, 0, 0.9); padding: 0; color: #fff; font-size: 0.95em; }

@media (max-width: 640px) { .main1 .main1_con1 .storyL .storyArea .story_img .story_pagination { top: 0; bottom: auto; } }

.main1 .main1_con1 .storyL .storyArea .story_img .story_pagination .story_paging { float: left; padding: 4px 8px; }

.main1 .main1_con1 .storyL .storyArea .story_img .story_pagination .story_paging > span { font-weight: bold; color: #f05291; }

.main1 .main1_con1 .storyL .storyArea .story_img .story_pagination .story_btn { float: right; }

.main1 .main1_con1 .storyL .storyArea .story_img .story_pagination .story_btn .btnStop { background: url(/static/images/portal/main/btn_story_stop.gif) no-repeat left top; width: 30px; height: 30px; z-index: 100; display: block; text-indent: -999em; }

.main1 .main1_con1 .storyL .storyArea .story_img .story_pagination .story_btn .btnStop.paused { display: none; }

.main1 .main1_con1 .storyL .storyArea .story_img .story_pagination .story_btn .btnPlay { display: none; background: url(/static/images/portal/main/btn_story_play.gif) no-repeat left top; width: 30px; height: 30px; z-index: 100; text-indent: -999em; }

.main1 .main1_con1 .storyL .storyArea .story_img .story_pagination .story_btn .btnPlay.on { display: block; }

.main1 .main1_con1 .storyR { float: left; width: 23.5%; margin: 0 0 1% 1.5%; }

@media (max-width: 1023px) { .main1 .main1_con1 .storyR { width: 100%; margin-left: 0; margin-top: 1.5%; } }

@media (max-width: 767px) { .main1 .main1_con1 .storyR { width: 48.5%; margin-left: 1.5%; margin-bottom: 10px; } }

@media (max-width: 480px) { .main1 .main1_con1 .storyR { width: 98.5%; margin-top: 15px; } }

.main1 .main1_con1 .storyR .popup2List { position: relative; }

@media (max-width: 1023px) { .main1 .main1_con1 .storyR .popup2List { width: 31%; float: left; margin-left: 1.5%; margin-top: 0.5%; } }

@media (max-width: 767px) { .main1 .main1_con1 .storyR .popup2List { width: 100%; float: none; margin-left: 0; margin-top: 0; } }

.main1 .main1_con1 .storyR .popup2List .popup2List_ctrl { position: absolute; top: -19px; right: 0; }

.main1 .main1_con1 .storyR .popup2List .popup2List_ctrl button { width: 15px; height: 15px; z-index: 100; display: block; text-indent: -999em; padding: 0; }

.main1 .main1_con1 .storyR .popup2List .popup2List_ctrl .btnStop_pop2 { background: url(/static/images/portal/main/pop_stopBtn.png) no-repeat left top; }

.main1 .main1_con1 .storyR .popup2List .popup2List_ctrl .btnStop_pop2.paused { display: none; }

.main1 .main1_con1 .storyR .popup2List .popup2List_ctrl .btnPlay_pop2 { display: none; background: url(/static/images/portal/main/pop_playBtn.png) no-repeat left top; }

.main1 .main1_con1 .storyR .popup2List .popup2List_ctrl .btnPlay_pop2.on { display: block; }

.main1 .main1_con1 .storyR .popup2List .slick-dots { position: absolute; top: -25px; right: 20px; }

.main1 .main1_con1 .storyR .popup2List ul { overflow: hidden; }

.main1 .main1_con1 .storyR .popup2List li { float: left; }

.main1 .main1_con1 .storyR .popup2List li img { width: 100%; height: 100%; }

.main1 .main1_con1 .storyR .popup2List li a { display: block; }

.main1 .main1_con1 .storyR .service { overflow: hidden; float: left; }

@media (max-width: 1023px) { .main1 .main1_con1 .storyR .service { width: 66.5%; float: right; margin-left: 1%; } }

@media (max-width: 767px) { .main1 .main1_con1 .storyR .service { width: 100%; float: none; overflow: visible; margin-bottom: 1em; margin-left: 0; } }

.main1 .main1_con1 .storyR .service li { float: left; width: 48.5%; margin: 3% 3% 0 0; }

@media (max-width: 1023px) { .main1 .main1_con1 .storyR .service li { width: 24%; float: left; margin: 0.5% !important; } }

@media (max-width: 767px) { .main1 .main1_con1 .storyR .service li { float: left; width: 49%; padding: 0; margin: 2% 2% 0 0 !important; } }

.main1 .main1_con1 .storyR .service li.mr0 { margin-right: 0; }

@media (max-width: 1023px) { .main1 .main1_con1 .storyR .service li.mr0 { margin: 0.5% !important; } }

@media (max-width: 767px) { .main1 .main1_con1 .storyR .service li.mr0 { margin: 2% 0 0 0 !important; } }

.main1 .main1_con1 .storyR .service li:first-child { border-right: 1px solid #ddd; }

.main1 .main1_con1 .storyR .service li a { display: block; color: #fff; text-align: center; font-weight: bold; border: 3px solid #27385f; background: #27385f; font-size: 0.9em; font-weight: normal; padding: 6% 0; color: #cce2ea; }

@media (max-width: 1023px) { .main1 .main1_con1 .storyR .service li a { padding: 14% 0; } }

@media (max-width: 767px) { .main1 .main1_con1 .storyR .service li a { padding: 7% 0; } }

.main1 .main1_con1 .storyR .service li a:hover { border: 3px solid #f05291; color: #fff; font-weight: bold; }

.main1 .main1_con1 .storyR .service li a span { display: block; padding-top: 5px; }

.main1 .main1_con1 .storyR .service li a p { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: block; }

.main1 .main1_con1 .storyR .service li a img { width: 38%; }

@media (max-width: 1023px) { .main1 .main1_con1 .storyR .service li a img { width: inherit; } }

@media (max-width: 767px) { .main1 .main1_con1 .storyR .service li a img { width: 36%; } }

@media (max-width: 480px) { .main1 .main1_con1 .storyR .service li a img { width: inherit; } }

.main1 .main1_con1 .main1_con2R { float: left; width: 23.5%; margin-left: 0; }

@media (max-width: 1023px) { .main1 .main1_con1 .main1_con2R { float: left; width: 100%; margin-top: 1.5%; margin-left: 0; } }

@media (max-width: 480px) { .main1 .main1_con1 .main1_con2R { width: 98.5%; margin-top: 0; } }

.main1 .main1_con1 .main1_con2R .tabInfo { background: #fff; height: 180px; border: 1px solid #e9e9e9; border-top: 0; margin-bottom: 10px; }

@media (max-width: 1023px) { .main1 .main1_con1 .main1_con2R .tabInfo { width: 48.5%; float: left; margin-left: 1.5%; margin-bottom: 10px; } }

@media (max-width: 480px) { .main1 .main1_con1 .main1_con2R .tabInfo { width: 100%; } }

@media (max-width: 767px) { .main1 .main1_con1 .main1_con2R .tabInfo.tabInfo1 { margin-bottom: 9px; } }

.main1 .main1_con1 .main1_con2R .tabInfo2 { margin-bottom: 0; }

.main1 .main1_con1 .main1_con2R .tabInfo > ul { position: relative; }

.main1 .main1_con1 .main1_con2R .tabInfo > ul > li { float: left; margin-left: 1px; margin: 0 0 1.5% 0; width: 50%; }

.main1 .main1_con1 .main1_con2R .tabInfo > ul > li > a { display: block; text-align: center; color: #5c5c5c; letter-spacing: -1px; padding: 11px 0; background: #d9dbde; border: 1px solid #e9e9e9; font-size: 1em; }

.main1 .main1_con1 .main1_con2R .tabInfo > ul > li > a.on { color: #333; border-bottom: 1px solid #fff; background: url(/static/images/global/common/bu_arr_down.png) no-repeat center bottom; padding: 7px 0 14px 0; margin-left: -1px; font-weight: bold; font-size: 1.1em; }

.main1 .main1_con1 .main1_con2R .tabInfo_area { position: absolute; top: 42px; left: 0; width: 100%; padding: 13px 13px 0 15px; display: none; }

.main1 .main1_con1 .main1_con2R .tabInfo_area > ul > li { margin: 0.5em 0; float: none; overflow: hidden; }

.main1 .main1_con1 .main1_con2R .tabInfo_area > ul > li > a { font-size: 0.95em; text-align: left; line-height: 129%; color: #333; background: none; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: block; background: url(/static/images/global/main/bu2.gif) no-repeat left 8px; padding: 1px 0 1px 10px; }

.main1 .main1_con1 .main1_con2R .tabInfo_area .tabmore { margin-top: 14px; }

.main1 .main1_con1 .main1_con2R .tabInfo_area .tabmore a { text-align: center; display: block; color: #969696; font-size: 0.95em; border-top: 1px solid #ddd; padding-top: 3px; }

.more { position: absolute; top: 0; right: 1.5%; }

.more a { display: block; padding: 10px; }

.aboutBox { float: left; background: #aecfe1; padding: 1% 2%; width: 48.5%; position: relative; margin: 1.5% 0 0 1.5%; }

@media (max-width: 1023px) { .aboutBox { margin-top: 0; } }

@media (max-width: 480px) { .aboutBox { width: 98.5%; margin: 0 0 0 1.5%; } }

.aboutBox.first { clear: both; background: #e3c4d5; }

@media (max-width: 480px) { .aboutBox.first { margin: 10px 0 10px 1.5%; } }

.aboutBox.first div { width: 40%; }

@media (max-width: 1023px) { .aboutBox.first div { width: 100%; } }

.aboutBox.first div.fir { width: 60%; }

@media (max-width: 1023px) { .aboutBox.first div.fir { width: 100%; } }

.aboutBox.first div.fir ul { width: 100%; }

.aboutBox.first div.fir ul li { width: 33.3%; }

.aboutBox.first div ul { width: 100%; }

.aboutBox.first div ul li { width: 50%; vertical-align: middle; border: 1px solid #e3c4d5; }

.aboutBox h3 { font-size: 1.8em; font-weight: 400; color: #474a5b; margin: 0.4em 0 0.8em 0; }

@media (max-width: 1023px) { .aboutBox h3 { font-size: 1.5em; } }

.aboutBox div { display: table; width: 50%; float: left; vertical-align: middle; }

@media (max-width: 1023px) { .aboutBox div { width: 100%; float: none; } }

.aboutBox div ul { display: table; vertical-align: middle; width: 100%; }

.aboutBox div ul li { display: table-cell; vertical-align: middle; width: 50%; line-height: 1.2; background: #fff; height: 63px; border: 1px solid #aecfe1; padding: 5px; }

.aboutBox div ul li a { display: block; text-align: center; font-size: 1.05em; color: #474a5b; letter-spacing: -1px; }

@media (max-width: 1023px) { .aboutBox div ul li { width: 50%; } }

.aboutBox .more1 { background: url(/static/images/global/main/more1.png) no-repeat right center; padding-right: 17px; font-size: 0.9em; font-weight: 600; letter-spacing: -1px; position: absolute; top: 15%; right: 25px; }

@media (max-width: 1023px) { .aboutBox .more1 { top: 10%; } }

.aboutBox .more1 a { color: #474a5b; }

.goLink { clear: both; text-align: center; margin: 4% 0 5% 0; }

.goLink a { display: inline-block; margin: 0 0.7%; letter-spacing: -2px; }

@media (max-width: 767px) { .goLink a { width: 30%; } }

.goLink a img { max-width: 100%; }

.goLink a p { font-size: 1.9em; margin-top: 10px; }

@media (max-width: 767px) { .goLink a p { font-size: 1.5em; } }

@media (max-width: 480px) { .goLink a p { font-size: 1.1em; } }

.f_menu { margin-top: 0; }

.bannerZone { border-bottom: 1px solid #e5e5e5; padding: 11px 0; position: relative; overflow: hidden; }

.bannerZone .banner_ctl { float: left; width: 200px; padding: 10px 0 0  32px; }

@media (max-width: 767px) { .bannerZone .banner_ctl { display: none; } }

.bannerZone .banner_ctl h2 { font-size: 1.05em; margin-bottom: 8px; color: #fff; }

@media (max-width: 767px) { .bannerZone .banner_ctl h2 { display: none; } }

@media (max-width: 767px) { .bannerZone .banner_btn { display: none; } }

.bannerZone .banner_btn a, .bannerZone .banner_btn button { display: inline-block; }

.bannerZone .banner_btn .btnStop { background: url(/static/images/common/btn_banner_stop.gif) no-repeat left top; width: 20px; height: 20px; z-index: 100; text-indent: -999em; }

.bannerZone .banner_btn .btnStop.paused { display: none; }

.bannerZone .banner_btn .btnPlay { display: none; background: url(/static/images/common/btn_banner_play.gif) no-repeat left top; width: 20px; height: 20px; z-index: 100; text-indent: -999em; }

.bannerZone .banner_btn .btnPlay.on { display: inline-block; }

.bannerZone .banner { overflow: hidden; margin: 0 40px; }

.bannerZone .banner ul li { float: left; margin: 5px 0; text-align: center; }

.bannerZone .banner ul li img { max-width: 100%; }

.bannerZone .banner .slick-prev { background: url(/static/images/common/btn_banner_left.gif) no-repeat left top; width: 22px; height: 46px; position: absolute; top: 50%; margin-top: -23px; left: 170px; text-indent: -999em; }

@media (max-width: 767px) { .bannerZone .banner .slick-prev { left: 12px; } }

.bannerZone .banner .slick-next { background: url(/static/images/common/btn_banner_right.gif) no-repeat left top; width: 22px; height: 46px; position: absolute; top: 50%; margin-top: -23px; right: 0; text-indent: -999em; }

@media (max-width: 1260px) { .bannerZone .banner .slick-next { right: 12px; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsL21haW4uY3NzIiwic291cmNlcyI6WyJnbG9iYWwvbWFpbi5zY3NzIiwiX2JyZWFrcG9pbnQuc2NzcyIsImJyZWFrcG9pbnQvX3NldHRpbmdzLnNjc3MiLCJicmVha3BvaW50L19jb250ZXh0LnNjc3MiLCJicmVha3BvaW50L19oZWxwZXJzLnNjc3MiLCJicmVha3BvaW50L19wYXJzZXJzLnNjc3MiLCJicmVha3BvaW50L3BhcnNlcnMvX3F1ZXJ5LnNjc3MiLCJicmVha3BvaW50L3BhcnNlcnMvX3NpbmdsZS5zY3NzIiwiYnJlYWtwb2ludC9wYXJzZXJzL3NpbmdsZS9fZGVmYXVsdC5zY3NzIiwiYnJlYWtwb2ludC9wYXJzZXJzL19kb3VibGUuc2NzcyIsImJyZWFrcG9pbnQvcGFyc2Vycy9kb3VibGUvX2RlZmF1bHQtcGFpci5zY3NzIiwiYnJlYWtwb2ludC9wYXJzZXJzL2RvdWJsZS9fZG91YmxlLXN0cmluZy5zY3NzIiwiYnJlYWtwb2ludC9wYXJzZXJzL2RvdWJsZS9fZGVmYXVsdC5zY3NzIiwiYnJlYWtwb2ludC9wYXJzZXJzL190cmlwbGUuc2NzcyIsImJyZWFrcG9pbnQvcGFyc2Vycy90cmlwbGUvX2RlZmF1bHQuc2NzcyIsImJyZWFrcG9pbnQvcGFyc2Vycy9fcmVzb2x1dGlvbi5zY3NzIiwiYnJlYWtwb2ludC9wYXJzZXJzL3Jlc29sdXRpb24vX3Jlc29sdXRpb24uc2NzcyIsImJyZWFrcG9pbnQvX25vLXF1ZXJ5LnNjc3MiLCJicmVha3BvaW50L19yZXNwb25kLXRvLnNjc3MiLCJicmVha3BvaW50L19sZWdhY3ktc2V0dGluZ3Muc2NzcyIsImdsb2JhbC9iYXNlLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJ1dGYtOFwiO1xyXG5AaW1wb3J0ICcuLi9icmVha3BvaW50JztcclxuQGltcG9ydCAnYmFzZS5zY3NzJztcclxuXHJcbi8vICNjb250YWluZXJ7aGVpZ2h0OmF1dG87d2lkdGg6MTAwJTttYXgtd2lkdGg6MTAwJX1cclxuLy8gLm1haW5We21heC13aWR0aDoxMjYwcHg7bWFyZ2luOjAgYXV0b2x9XHJcbi5tb2JpbGVNYWlue2Rpc3BsYXk6bm9uZTtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRtZCl7ZGlzcGxheTpibG9jazt9XHJcbn1cclxuLnBjd2ViTWFpbntkaXNwbGF5OmJsb2NrO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKXtkaXNwbGF5Om5vbmU7fVxyXG59ICBcclxuI3dyYXBwZXJ7YmFja2dyb3VuZDpub25lfVxyXG4jaGVhZGVye21hcmdpbi1ib3R0b206MDsgXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpe2hlaWdodDoxMDRweDt9XHJcbn1cclxuI2NvbnRhaW5lcntoZWlnaHQ6YXV0bzt3aWR0aDoxMDAlO21heC13aWR0aDoxMDAlO3BhZGRpbmctdG9wOjA7bWFyZ2luOjAgYXV0bztwb3NpdGlvbjpyZWxhdGl2ZX1cclxuXHJcblx0Lm1haW4xLCAubWFpbjIsIC5tYWluM3ttaW4taGVpZ2h0Ojg5MHB4O3dpZHRoOjEwMCU7bWF4LXdpZHRoOjEwMCU7XHJcblx0XHQubWFpbkFyZWF7bWF4LXdpZHRoOjEyNjBweDttYXJnaW46MCBhdXRvO3Bvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzQpe1xyXG5cdFx0XHRcdHdpZHRoOjk4JTttYXJnaW46MCAxJTtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZCl7XHJcblx0XHRcdFx0d2lkdGg6OTYlO21hcmdpbjowIDIlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuLm1haW5WX3dyYXB7bWFyZ2luOjAgMSU7fVxyXG4ubWFpbl90b3B7d2lkdGg6MTAwJTtoZWlnaHQ6MTIwcHg7QGluY2x1ZGUgY2xlYXJmaXg7cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzIpe1xyXG5cdFx0XHRcdGhlaWdodDo5MHB4O1xyXG5cdFx0XHR9XHJcblx0XHQubG9nb19lbGVjdGlvbntwYWRkaW5nOjIuNSUgMDtwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcyKXtcclxuXHRcdFx0XHRkaXNwbGF5Om5vbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC50aXR7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzoxLjUlIDA7Zm9udC1mYW1pbHk6SGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTFweDttYXJnaW4tbGVmdDotMTAwcHg7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMil7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjpsZWZ0O21hcmdpbi1sZWZ0OjA7bWFyZ2luLXRvcDo4cHg7XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpe1xyXG5cdFx0XHRcdHRleHQtYWxpZ246Y2VudGVyO1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKXtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOjYlO1xyXG5cdFx0XHR9XHJcblx0XHRcdGltZ3tcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzIpe1xyXG5cdFx0XHRcdFx0bWF4LXdpZHRoOjQwMHB4O1xyXG5cdFx0XHRcdFx0d2lkdGg6MTAwJTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0LmVsRGF0ZXtkaXNwbGF5OmlubGluZS1ibG9jaztjb2xvcjojMWEyODUxO2xpbmUtaGVpZ2h0OjEuMDU7Zm9udC1zaXplOjEuNWVtO3RleHQtYWxpZ246bGVmdDsgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjYjViNWI1O3BhZGRpbmctcmlnaHQ6MTVweDttYXJnaW4tcmlnaHQ6MTBweDtcclxuXHRcdFx0XHQuZGF0ZURheXtmb250LXNpemU6MS41ZW19XHJcblx0XHRcdH1cclxuXHRcdFx0LmVsRGF0ZTJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Y29sb3I6IzFhMjg1MTtmb250LXNpemU6NGVtO2ZvbnQtd2VpZ2h0OjEwMDtcclxuXHRcdFx0XHQuZmJ7Zm9udC13ZWlnaHQ6NDAwfVxyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuXHRcdFx0XHRmb250LXNpemU6MC44ZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbi5tZW51U2xpZGV7cG9zaXRpb246YWJzb2x1dGU7dG9wOjM1cHg7cmlnaHQ6MDt3aWR0aDozNTBweDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZyl7XHJcblx0XHRcdFx0ZGlzcGxheTpub25lO1xyXG5cdFx0XHR9XHJcblx0dWx7XHJcblx0XHRsaXtmbG9hdDpsZWZ0O21hcmdpbjowIDElO1xyXG5cdFx0XHQvLyBhe2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZDojNDc0YTViO3BhZGRpbmc6MC40ZW0gMS4yZW07Ym9yZGVyLXJhZGl1czogMjBweDtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OmJvbGQ7bWluLXdpZHRoOjc1cHg7dGV4dC1hbGlnbjpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHRcdC8vIFx0Ji5hY3RpdmV7YmFja2dyb3VuZDojZjA1MjkxO1xyXG5cdFx0XHQvLyBcdFx0JjpiZWZvcmV7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvZ2xvYmFsL21haW4vYmdfbWVudVNsaWRlLnBuZykgbm8tcmVwZWF0IGJvdHRvbSByaWdodDt3aWR0aDoxMHB4O2hlaWdodDo2cHg7Y29udGVudDpcIlwiO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOi02cHg7cmlnaHQ6MThweDt9XHJcblx0XHRcdC8vIFx0fVxyXG5cdFx0XHQvLyBcdHNwYW57ZGlzcGxheTpibG9jazt9XHJcblx0XHRcdC8vIH1cclxuXHRcdFx0YXtkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQ6IzQ3NGE1YjtwYWRkaW5nOjAuNGVtIDEuMmVtO2JvcmRlci1yYWRpdXM6IDIwcHg7Y29sb3I6I2ZmZjtmb250LXdlaWdodDpib2xkO21pbi13aWR0aDo3NXB4O3RleHQtYWxpZ246Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0XHRcdCYuYWN0aXZle2JhY2tncm91bmQ6I2YwNTI5MTtcclxuXHRcdFx0XHRcdCY6YmVmb3Jle2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL2dsb2JhbC9tYWluL2JnX21lbnVTbGlkZS5wbmcpIG5vLXJlcGVhdCBib3R0b20gcmlnaHQ7d2lkdGg6MTBweDtoZWlnaHQ6NnB4O2NvbnRlbnQ6XCJcIjtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTotNnB4O3JpZ2h0OjE4cHg7fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRzcGFue2Rpc3BsYXk6YmxvY2s7fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5tZW51U2xpZGVfbW9iaWxle3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTUwO3RvcDowO2Rpc3BsYXk6bm9uZTtjbGVhcjpib3RoO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuXHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHR9XHJcblx0PnVse3Bvc2l0aW9uOiBhYnNvbHV0ZTt6LWluZGV4OiAxMDA7d2lkdGg6MTAwJTt0b3A6LTQxcHg7XHJcblx0XHQ+bGl7ZmxvYXQ6IGxlZnQ7cG9zaXRpb246IHJlbGF0aXZlO2JvcmRlci1yaWdodDoxcHggc29saWQgI2ZmZjt3aWR0aDoyNSU7XHJcblx0XHRcdGF7Y29sb3I6ICNmZmY7Zm9udC1zaXplOiAxNXB4O3BhZGRpbmc6MC45NWVtO2ZvbnQtd2VpZ2h0OjYwMDtkaXNwbGF5OiBibG9jazt3aGl0ZS1zcGFjZTogbm93cmFwO2Rpc3BsYXk6IGJsb2NrO2xpbmUtaGVpZ2h0OiAxO3RleHQtYWxpZ246IGNlbnRlcjtsZXR0ZXItc3BhY2luZzogLTFweDtiYWNrZ3JvdW5kOiM0NzRhNWI7XHJcblx0XHRcdFx0Ji5hY3RpdmV7YmFja2dyb3VuZDojZjA1MjkxO31cclxuXHRcdFx0XHQmLmFjdGl2ZS5uYXYwMSBzcGFue2JhY2tncm91bmQ6I2YwNTI5MSB1cmwoL3N0YXRpYy9pbWFnZXMvZ2xvYmFsL21haW4vaWNvX25hdlNsaWRlMS5wbmcpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlcjtwYWRkaW5nLWxlZnQ6MzBweDt9XHJcblx0XHRcdFx0Ji5hY3RpdmUubmF2MDIgc3BhbntiYWNrZ3JvdW5kOiNmMDUyOTEgdXJsKC9zdGF0aWMvaW1hZ2VzL2dsb2JhbC9tYWluL2ljb19uYXZTbGlkZTIucG5nKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7cGFkZGluZy1sZWZ0OjMwcHg7fVxyXG5cdFx0XHRcdCYuYWN0aXZlLm5hdjAzIHNwYW57YmFja2dyb3VuZDojZjA1MjkxIHVybCgvc3RhdGljL2ltYWdlcy9nbG9iYWwvbWFpbi9pY29fbmF2U2xpZGUzLnBuZykgbm8tcmVwZWF0IGxlZnQgY2VudGVyO3BhZGRpbmctbGVmdDozMHB4O31cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4ubW92aWVCb3h7ZmxvYXQ6bGVmdDtiYWNrZ3JvdW5kOiNmZmY7cGFkZGluZzoxMnB4IDE0cHggOHB4IDE1cHg7d2lkdGg6MjMuNSU7Ym9yZGVyOjFweCBzb2xpZCAjZTllOWU5O21hcmdpbi1sZWZ0OjEuNSU7cG9zaXRpb246cmVsYXRpdmU7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcyKXtcclxuXHRcdHdpZHRoOjMxLjglO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZyl7XHJcblx0XHR3aWR0aDo0OC41JTtcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG5cdFx0d2lkdGg6OTguNSU7ZmxvYXQ6bm9uZTttYXJnaW4tYm90dG9tOjIlO1xyXG5cdH1cclxuXHRoM3tiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9nbG9iYWwvbWFpbi9idTEuZ2lmKSBuby1yZXBlYXQgbGVmdCAycHg7cGFkZGluZy1sZWZ0OjE1cHg7Zm9udC1zaXplOjEuMWVtO21hcmdpbi1ib3R0b206MTJweH1cclxuXHRcdC50aXR7Y2xlYXI6Ym90aDt9XHJcblx0XHQudGl0IGF7XHJcblx0XHRcdEBpbmNsdWRlIGVsbDttYXJnaW46MTBweCAwO3BhZGRpbmctYm90dG9tOjEwcHg7Zm9udC13ZWlnaHQ6Ym9sZDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZWZlZmVmO1xyXG5cdFx0fVxyXG5cdFx0LmRhdGV7ZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOnJpZ2h0O2NvbG9yOiM2NjY7Zm9udC1zaXplOjAuOWVtfVxyXG5cdFx0Lm1vdmllV3tcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpe1xyXG5cdFx0XHRcdGZsb2F0Om5vbmU7d2lkdGg6MTAwJTtcclxuXHRcdFx0fVxyXG5cdFx0XHQubW92aWVJbWd7d2lkdGg6IDEwMCU7cG9zaXRpb246IHJlbGF0aXZlO3BhZGRpbmctYm90dG9tOiA1NS41JSAhaW1wb3J0YW50O3BhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7aGVpZ2h0OiAwO1xyXG5cdFx0XHRcdGlmcmFtZXt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlcjowO3Bvc2l0aW9uOmFic29sdXRlO31cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQubW92aWVMaXN0e0BpbmNsdWRlIGVsbDtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcyKXtcclxuXHRcdFx0XHRmbG9hdDpyaWdodDt3aWR0aDozMCU7XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHRcdGxpe2Zsb2F0OmxlZnQ7Ym9yZGVyOjJweCBzb2xpZCAjZmZmO2JvcmRlci13aWR0aDoycHggMnB4IDAgMDt3aWR0aDo1MCU7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcyKXtcclxuXHRcdFx0XHRcdGZsb2F0Om5vbmU7d2lkdGg6MTAwJTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpe1xyXG5cdFx0XHRcdC8vIFx0ZmxvYXQ6bGVmdDt3aWR0aDo1MCU7XHJcblx0XHRcdFx0Ly8gfVxyXG5cdFx0XHRcdGF7ZGlzcGxheTpibG9jaztiYWNrZ3JvdW5kOiM3ODdkOWEgdXJsKC9zdGF0aWMvaW1hZ2VzL2dsb2JhbC9jb21tb24vYnVfYXJyLnBuZykgbm8tcmVwZWF0IDk1JSA1MCU7cGFkZGluZzo1LjVweDtjb2xvcjojZmZmO2ZvbnQtc2l6ZTowLjk1ZW07XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzIpe1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nOjFlbSA1LjVweDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuXHRcdFx0XHRcdFx0cGFkZGluZzo1LjVweDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5tb3ZpZVNjcm9sbHtoZWlnaHQ6ODhweDtvdmVyZmxvdzphdXRvO2ZvbnQtc2l6ZTowLjllbTtsZXR0ZXItc3BhY2luZzotMXB4O2xpbmUtaGVpZ2h0OjEuNDttYXJnaW4tYm90dG9tOjhweDtcclxuXHRcdH1cclxufVxyXG4ubm90aWNlQm94V3JhcHtmbG9hdDpsZWZ0O3dpZHRoOjc1JTttYXJnaW46MCAwIDAgMS41JTtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzIpeyBcclxuXHRcdHdpZHRoOjEwMCU7XHJcblx0fVxyXG5cdC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuXHQvLyBcdFx0XHR3aWR0aDo0OC41JTttYXJnaW4tbGVmdDoxLjUlO21hcmdpbi10b3A6MTBweDtcclxuXHQvLyBcdFx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKXtcclxuXHRcdFx0d2lkdGg6OTguNSU7XHJcblx0XHR9XHJcblx0Lm5vdGljZUJveFd7d2lkdGg6MTAwJTttYXJnaW4tbGVmdDotMS41JTtvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG5cdFx0XHRtYXJnaW4tbGVmdDowO1xyXG5cdFx0fVxyXG5cdFx0XHQvLyBAaW5jbHVkZSBicmVha3BvaW50KCRsZzIpe1xyXG5cdFx0XHQvLyBcdHdpZHRoOjY0LjUlO1xyXG5cdFx0XHQvLyB9XHJcblx0XHRcdC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuXHRcdFx0Ly8gXHR3aWR0aDo5OC41JTtcclxuXHRcdFx0Ly8gfVxyXG5cdFx0Lm5vdGljZUJveHtmbG9hdDpsZWZ0O2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjE1cHggMTVweCAxOHB4IDE1cHg7d2lkdGg6MzEuOCU7Ym9yZGVyOjFweCBzb2xpZCAjZTllOWU5O21hcmdpbjowIDAgMThweCAxLjUlO3Bvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzIpeyBcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOjEwcHg7XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OjA7d2lkdGg6MTAwJTtcclxuXHRcdFx0fVxyXG5cdFx0XHQubm90aWNlQXJlYXt3aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbjt9XHJcblx0XHRcdGgze2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL2dsb2JhbC9tYWluL2J1MS5naWYpIG5vLXJlcGVhdCBsZWZ0IDJweDtwYWRkaW5nLWxlZnQ6MTVweDtmb250LXNpemU6MS4xZW07bWFyZ2luLWJvdHRvbToxMnB4fVxyXG5cdFx0XHQuaW1ne2Rpc3BsYXk6YmxvY2s7XHJcblx0XHRcdFx0YXtkaXNwbGF5OiBibG9ja31cclxuXHRcdFx0XHRpbWd7d2lkdGg6MTAwJTtoZWlnaHQ6MTcwcHg7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzIpe1xyXG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6aW5oZXJpdDtoZWlnaHQ6YXV0bztcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0LmRhdGV7ZGlzcGxheTpibG9jaztmbG9hdDpsZWZ0O3dpZHRoOjQ1JTtjb2xvcjojOTY5Njk2O2ZvbnQtc2l6ZTowLjllbTt9XHRcdFx0XHRcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLm1vdmllQm94e1xyXG5cdFxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuXHRcdFx0bWFyZ2luLXRvcDoxLjUlO1xyXG5cdFx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKXtcclxuXHRcdGNsZWFyOmJvdGg7XHJcblx0fVxyXG59XHJcbi5pbmZvcntvdmVyZmxvdzogaGlkZGVuO1xyXG5cdC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMil7XHJcblx0Ly8gXHRcdFx0d2lkdGg6MzIuNSU7XHJcblx0Ly8gXHRcdH1cclxuXHQvLyBAaW5jbHVkZSBicmVha3BvaW50KCRsZyl7XHJcblx0Ly8gXHRcdHdpZHRoOjQ4LjUlO21hcmdpbjoxMHB4IDAgMCAxLjUlO1xyXG5cdC8vIFx0fVxyXG5cdC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKXtcclxuXHQvLyBcdFx0d2lkdGg6OTguNSU7bWFyZ2luLWxlZnQ6MS41JTtcclxuXHQvLyBcdH1cclxuXHR1bHttYXJnaW4tbGVmdDotMS41JTt3aWR0aDoxMDAlO31cclxuXHRsaXtib3JkZXI6MXB4IHNvbGlkICNlOWU5ZTk7YmFja2dyb3VuZDojZmZmO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtmbG9hdDpsZWZ0O3dpZHRoOjMxLjglO21hcmdpbi1sZWZ0OjEuNSU7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZCl7XHJcblx0XHRcdFx0aGVpZ2h0OmF1dG87d2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjEwcHg7XHJcblx0XHRcdH1cclxuXHRcdCY6YmVmb3Jle2NvbnRlbnQ6XCJcIjtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxN3B4O2hlaWdodDoxN3B4O2JhY2tncm91bmQ6I2ZmZiB1cmwoL3N0YXRpYy9pbWFnZXMvZ2xvYmFsL21haW4vYnVfaW5mb3IuZ2lmKSBuby1yZXBlYXQgbGVmdCB0b3A7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTVweDt0b3A6MTVweDt9XHJcblx0XHQmOmZpcnN0LWNoaWxke21hcmdpbi10b3A6MDt9XHJcblx0XHQmLmluZm9yMSBhe2JhY2tncm91bmQ6I2ZmZiB1cmwoL3N0YXRpYy9pbWFnZXMvZ2xvYmFsL21haW4vaW1nX2luZm8xLmpwZykgbm8tcmVwZWF0IGxlZnQgY2VudGVyO31cclxuXHRcdCYuaW5mb3IyIGF7YmFja2dyb3VuZDojZmZmIHVybCgvc3RhdGljL2ltYWdlcy9nbG9iYWwvbWFpbi9pbWdfaW5mbzIuanBnKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7fVxyXG5cdFx0Ji5pbmZvcjMgYXtiYWNrZ3JvdW5kOiNmZmYgdXJsKC9zdGF0aWMvaW1hZ2VzL2dsb2JhbC9tYWluL2ltZ19pbmZvMy5qcGcpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlcjt9XHJcblx0XHRhe2Rpc3BsYXk6YmxvY2s7bGluZS1oZWlnaHQ6MS4yO2ZvbnQtd2VpZ2h0OiBib2xkO2ZvbnQtc2l6ZToxLjFlbTtwYWRkaW5nLWxlZnQ6NDQlO3BhZGRpbmc6MTAlIDAgMTAlIDE0MHB4O2hlaWdodDoxMTdweDtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpe1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDozMCU7cGFkZGluZzo1JSAwIDUlIDQyJTtiYWNrZ3JvdW5kLXNpemU6NDAlIGF1dG8gIWltcG9ydGFudDtoZWlnaHQ6OTBweDtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZCl7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OjQ0JTtwYWRkaW5nOjEwJSAwIDEwJSAxNDBweDtoZWlnaHQ6MTE3cHg7YmFja2dyb3VuZC1zaXplOmF1dG8gIWltcG9ydGFudDtcclxuXHRcdFx0fVxyXG5cdFx0XHRpbWd7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG5cdFx0XHRcdFx0d2lkdGg6NDAlO2hlaWdodDphdXRvO21heC13aWR0aDppbmhlcml0O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHRwe2Zsb2F0OmxlZnQ7cGFkZGluZzowIDUlO21hcmdpbi10b3A6MjBweDsgd2lkdGg6NTYlO292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuXHRcdFx0XHRcdG1hcmdpbi10b3A6MjVweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG5cdFx0XHRcdFx0ZmxvYXQ6bm9uZTttYXJnaW46MDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5zbGljay1kb3RzIGxpe3Bvc2l0aW9uOiByZWxhdGl2ZTtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7bWFyZ2luOiAwO3BhZGRpbmc6IDA7Y3Vyc29yOiBwb2ludGVyO3RleHQtYWxpZ246Y2VudGVyO2Zsb2F0Om5vbmU7XHJcbn1cclxuLnNsaWNrLWRvdHMgbGkgYnV0dG9ue2JhY2tncm91bmQ6IHVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvbWFpbi9zbGlkZVBhZ2luZ19vZmYucG5nKSBuby1yZXBlYXQgbGVmdCB0b3A7dGV4dC1pbmRlbnQ6LTk5OWVtO21hcmdpbjowO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjE0cHg7cGFkZGluZzowO3RleHQtYWxpZ246Y2VudGVyO2hlaWdodDoxMHB4O2JvcmRlcjowO3BhZGRpbmc6MXB4O1xyXG59XHJcbi5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b24sIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246aG92ZXJ7YmFja2dyb3VuZDogdXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9tYWluL3NsaWRlUGFnaW5nX29uLnBuZykgbm8tcmVwZWF0IGxlZnQgdG9wO3dpZHRoOjMzcHg7fVxyXG5cclxuLm1haW4xe1xyXG5cdFxyXG5cdC5tYWluMV9jb24xe0BpbmNsdWRlIGNsZWFyZml4O21hcmdpbi1sZWZ0Oi0xLjUlO1xyXG5cdFx0LnN0b3J5THtmbG9hdDpsZWZ0O3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjQ4LjUlO21hcmdpbjowIDAgMS41JSAxLjUlO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMil7XHJcblx0XHRcdFx0XHRtYXgtd2lkdGg6MTAwJTt3aWR0aDo2NSU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6I2ZmZjt3aWR0aDo5OC41JTttYXgtd2lkdGg6aW5oZXJpdDttYXJnaW46MCAwIDIuNSUgMS41JTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdC5zdG9yeUFyZWF7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6IzQ3NGE1Yjt3aWR0aDoxMDAlO1xyXG5cdFx0XHRcdC5zdG9yeV90eHR7ZmxvYXQ6bGVmdDt3aWR0aDozMi41JTtiYWNrZ3JvdW5kOiM0NzRhNWI7Y29sb3I6I2ZmZjtwYWRkaW5nOjIlO1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWcpe1xyXG5cdFx0XHRcdFx0XHR3aWR0aDo5OCU7bWFyZ2luOjAgMSU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQmLnBjd2Vie2Rpc3BsYXk6YmxvY2s7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1nKXtcclxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5Om5vbmU7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdCYubW9iaWxle2Rpc3BsYXk6bm9uZTtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWcpe1xyXG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC8vID5he2Rpc3BsYXk6bm9uZX1cclxuXHRcdFx0XHRcdC8vID5hLmFjdGl2ZXtkaXNwbGF5OmJsb2NrO3RleHQtZGVjb3JhdGlvbjpub25lO31cclxuXHRcdFx0XHRcdGxpe2Zsb2F0OmxlZnQ7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxMDAwfVxyXG5cdFx0XHRcdFx0aDN7Zm9udC13ZWlnaHQ6NDAwO2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9tYWluL2J1X3N0b3J5LnBuZykgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlcjtjb2xvcjojZmZmfVxyXG5cdFx0XHRcdFx0LnN0b3J5X3B7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL21haW4vYnVfc3RvcnkxLnBuZykgbm8tcmVwZWF0IGxlZnQgY2VudGVyO3dpZHRoOjExMHB4O3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6NXB4IDA7bWFyZ2luLWxlZnQ6LTE5cHg7ZGlzcGxheTpibG9jaztcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGg0e2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjojZmY4MGIzO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zaXplOjEuMWVtO21hcmdpbjo2cHggMCAxMnB4IDA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRwe2NvbG9yOiNlZmVmZWY7Zm9udC1zaXplOjAuOTVlbTtoZWlnaHQ6MTQ1cHg7b3ZlcmZsb3c6aGlkZGVuO1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzMpe1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDo2MHB4O1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQuYnRuU3Rvcnl7YmFja2dyb3VuZDojOWVhMGFiO2NvbG9yOiM0NzRhNWI7cGFkZGluZzoyJTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46NyUgMDtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWcpe1xyXG5cdFx0XHRcdFx0XHRcdG1hcmdpbjozJSAwO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5zdG9yeV9pbWd7ZmxvYXQ6bGVmdDt3aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1nKXtcclxuXHRcdFx0XHRcdFx0XHR3aWR0aDoxMDAlO2Zsb2F0Om5vbmU7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdCB1bCBsaXtmbG9hdDpsZWZ0O31cclxuXHRcdFx0XHRcdCAgaW1ne3dpZHRoOjEwMCU7fVxyXG5cdFx0XHRcdFx0IC5zbGljay1wcmV2e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6NDAlO2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9tYWluL2J0bl9zdG9yeV9wcmV2LnBuZykgbm8tcmVwZWF0IGxlZnQgdG9wO3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7Zm9udC1zaXplOjA7dGV4dC1pbmRlbnQ6LTk5OWVtO3otaW5kZXg6MTtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZyl7XHJcblx0XHRcdFx0XHRcdFx0XHRsZWZ0OjA7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQuc2xpY2stbmV4dHtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDo0MCU7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL21haW4vYnRuX3N0b3J5X25leHQucG5nKSBuby1yZXBlYXQgbGVmdCB0b3A7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtmb250LXNpemU6MDt0ZXh0LWluZGVudDotOTk5ZW19XHJcblx0XHRcdFx0XHQuc3RvcnlfcGFnaW5hdGlvbntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtyaWdodDowO2JhY2tncm91bmQtY29sb3I6IHJnYmEoMCAsMCAsMCAsMC45KTtwYWRkaW5nOjA7Y29sb3I6I2ZmZjtmb250LXNpemU6MC45NWVtO1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZyl7XHJcblx0XHRcdFx0XHRcdFx0dG9wOjA7Ym90dG9tOmF1dG87XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0LnN0b3J5X3BhZ2luZ3tmbG9hdDpsZWZ0O3BhZGRpbmc6NHB4IDhweDtcclxuXHRcdFx0XHRcdFx0XHQ+c3Bhbntmb250LXdlaWdodDpib2xkO2NvbG9yOiRjb3JfcGlua31cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHQuc3RvcnlfYnRue2Zsb2F0OnJpZ2h0O1xyXG5cdFx0XHRcdFx0XHRcdC5idG5TdG9we2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9tYWluL2J0bl9zdG9yeV9zdG9wLmdpZikgbm8tcmVwZWF0IGxlZnQgdG9wO3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7ei1pbmRleDoxMDA7ZGlzcGxheTpibG9jazt0ZXh0LWluZGVudDotOTk5ZW07XHJcblx0XHRcdFx0XHRcdFx0XHQmLnBhdXNlZHtkaXNwbGF5Om5vbmU7fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHQuYnRuUGxheXtkaXNwbGF5Om5vbmU7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL21haW4vYnRuX3N0b3J5X3BsYXkuZ2lmKSBuby1yZXBlYXQgbGVmdCB0b3A7d2lkdGg6MzBweDtoZWlnaHQ6MzBweDt6LWluZGV4OjEwMDt0ZXh0LWluZGVudDotOTk5ZW07XHJcblx0XHRcdFx0XHRcdFx0XHQmLm9ue2Rpc3BsYXk6YmxvY2t9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0LnN0b3J5UntmbG9hdDpsZWZ0O3dpZHRoOjIzLjUlO21hcmdpbjowIDAgMSUgMS41JTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMil7XHJcblx0XHRcdHdpZHRoOjEwMCU7bWFyZ2luLWxlZnQ6MDttYXJnaW4tdG9wOjEuNSU7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZyl7XHJcblx0XHRcdHdpZHRoOjQ4LjUlO21hcmdpbi1sZWZ0OjEuNSU7bWFyZ2luLWJvdHRvbToxMHB4XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZCl7XHJcblx0XHRcdHdpZHRoOjk4LjUlO21hcmdpbi10b3A6MTVweDtcclxuXHRcdH1cclxuXHRcdC5wb3B1cDJMaXN0e3Bvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcyKXtcclxuXHRcdFx0XHR3aWR0aDozMSU7ZmxvYXQ6bGVmdDttYXJnaW4tbGVmdDoxLjUlO21hcmdpbi10b3A6MC41JTtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZyl7XHJcblx0XHRcdFx0d2lkdGg6MTAwJTtmbG9hdDpub25lO21hcmdpbi1sZWZ0OjA7bWFyZ2luLXRvcDowO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQucG9wdXAyTGlzdF9jdHJse3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMTlweDtyaWdodDowO1xyXG5cdFx0XHRcdGJ1dHRvbnt3aWR0aDoxNXB4O2hlaWdodDoxNXB4O3otaW5kZXg6MTAwO2Rpc3BsYXk6YmxvY2s7dGV4dC1pbmRlbnQ6LTk5OWVtO3BhZGRpbmc6MDt9XHJcblx0XHRcdFx0LmJ0blN0b3BfcG9wMntiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvbWFpbi9wb3Bfc3RvcEJ0bi5wbmcpIG5vLXJlcGVhdCBsZWZ0IHRvcDtcclxuXHRcdFx0XHRcdCYucGF1c2Vke2Rpc3BsYXk6bm9uZTt9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5idG5QbGF5X3BvcDJ7ZGlzcGxheTpub25lO2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9tYWluL3BvcF9wbGF5QnRuLnBuZykgbm8tcmVwZWF0IGxlZnQgdG9wO1xyXG5cdFx0XHRcdFx0Ji5vbntkaXNwbGF5OmJsb2NrfVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQuc2xpY2stZG90c3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTI1cHg7cmlnaHQ6MjBweDt9XHJcblx0XHRcdFxyXG5cdFx0fVxyXG5cdFx0LnBvcHVwMkxpc3QgdWx7b3ZlcmZsb3c6aGlkZGVuO31cclxuXHRcdC5wb3B1cDJMaXN0IGxpe2Zsb2F0OmxlZnQ7fVxyXG5cdFx0LnBvcHVwMkxpc3QgbGkgaW1ne3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7fVxyXG5cdFx0LnBvcHVwMkxpc3QgbGkgYXtkaXNwbGF5OmJsb2NrO31cclxuXHRcdFxyXG5cclxuXHRcdC5zZXJ2aWNle292ZXJmbG93OmhpZGRlbjtmbG9hdDpsZWZ0O1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMil7XHJcblx0XHRcdFx0XHR3aWR0aDo2Ni41JTtmbG9hdDpyaWdodDttYXJnaW4tbGVmdDoxJTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpe1xyXG5cdFx0XHRcdFx0d2lkdGg6MTAwJTtmbG9hdDpub25lO292ZXJmbG93OnZpc2libGU7bWFyZ2luLWJvdHRvbToxZW07bWFyZ2luLWxlZnQ6MDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0bGl7ZmxvYXQ6bGVmdDt3aWR0aDo0OC41JTttYXJnaW46MyUgMyUgMCAwO1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcyKXtcclxuXHRcdFx0XHRcdFx0d2lkdGg6MjQlO2Zsb2F0OmxlZnQ7bWFyZ2luOjAuNSUgIWltcG9ydGFudDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuXHRcdFx0XHRcdFx0ZmxvYXQ6bGVmdDt3aWR0aDo0OSU7cGFkZGluZzowO21hcmdpbjoyJSAyJSAwIDAgIWltcG9ydGFudDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdCYubXIwe21hcmdpbi1yaWdodDowO1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzIpe1xyXG5cdFx0XHRcdFx0XHRcdG1hcmdpbjowLjUlICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpe1xyXG5cdFx0XHRcdFx0XHRcdG1hcmdpbjoyJSAwIDAgMCAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQmOmZpcnN0LWNoaWxke2JvcmRlci1yaWdodDoxcHggc29saWQgI2RkZDt9XHJcblx0XHRcdFx0XHRhe2Rpc3BsYXk6YmxvY2s7Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDpib2xkO2JvcmRlcjozcHggc29saWQgIzI3Mzg1ZjtiYWNrZ3JvdW5kOiMyNzM4NWY7Zm9udC1zaXplOjAuOWVtO2ZvbnQtd2VpZ2h0Om5vcm1hbDtwYWRkaW5nOjYlIDA7Y29sb3I6I2NjZTJlYTtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcyKXtcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOjE0JSAwO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOjclIDA7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0Jjpob3Zlcntib3JkZXI6M3B4IHNvbGlkICNmMDUyOTE7Y29sb3I6I2ZmZjtmb250LXdlaWdodDpib2xkO31cclxuXHRcdFx0XHRcdFx0c3BhbntkaXNwbGF5OmJsb2NrO3BhZGRpbmctdG9wOjVweH1cclxuXHRcdFx0XHRcdFx0cHtAaW5jbHVkZSBlbGw7fVxyXG5cdFx0XHRcdFx0XHRpbWd7d2lkdGg6MzglO1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMil7XHJcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDppbmhlcml0O1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZyl7XHJcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDozNiU7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKXtcclxuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOmluaGVyaXQ7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Lm1haW4xX2NvbjJSe2Zsb2F0OmxlZnQ7d2lkdGg6MjMuNSU7bWFyZ2luLWxlZnQ6MDtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcyKXsgXHJcblx0XHRcdFx0ZmxvYXQ6bGVmdDt3aWR0aDoxMDAlO21hcmdpbi10b3A6MS41JTttYXJnaW4tbGVmdDowO1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKXtcclxuXHRcdFx0XHRcdHdpZHRoOjk4LjUlO21hcmdpbi10b3A6MDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHQudGFiSW5mb3tiYWNrZ3JvdW5kOiNmZmY7aGVpZ2h0OjE4MHB4O2JvcmRlcjoxcHggc29saWQgI2U5ZTllOTtib3JkZXItdG9wOjA7bWFyZ2luLWJvdHRvbToxMHB4O1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMil7XHJcblx0XHRcdFx0XHR3aWR0aDo0OC41JTtmbG9hdDpsZWZ0O21hcmdpbi1sZWZ0OjEuNSU7bWFyZ2luLWJvdHRvbToxMHB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZCl7XHJcblx0XHRcdFx0XHR3aWR0aDoxMDAlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQmLnRhYkluZm8xe1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpe1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOjlweDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdH1cclxuXHRcdFx0LnRhYkluZm8ye21hcmdpbi1ib3R0b206MDt9XHJcblx0XHRcdC50YWJJbmZvPnVse3Bvc2l0aW9uOnJlbGF0aXZlO31cclxuXHRcdFx0LnRhYkluZm8+dWwgPiBsaXtmbG9hdDpsZWZ0O21hcmdpbi1sZWZ0OjFweDttYXJnaW46MCAwIDEuNSUgMDt3aWR0aDo1MCU7XHJcblx0XHRcdFx0XHJcblx0XHRcdH1cclxuXHRcdFx0LnRhYkluZm8+dWwgPiBsaSA+IGF7ZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojNWM1YzVjO2xldHRlci1zcGFjaW5nOi0xcHg7cGFkZGluZzoxMXB4IDA7YmFja2dyb3VuZDojZDlkYmRlO2JvcmRlcjoxcHggc29saWQgI2U5ZTllOTtmb250LXNpemU6MWVtO31cclxuXHRcdFx0LnRhYkluZm8+IHVsID4gbGkgPiBhLm9ue2NvbG9yOiMzMzM7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2ZmZjtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9nbG9iYWwvY29tbW9uL2J1X2Fycl9kb3duLnBuZykgbm8tcmVwZWF0IGNlbnRlciBib3R0b207cGFkZGluZzo3cHggMCAxNHB4IDA7bWFyZ2luLWxlZnQ6LTFweDtmb250LXdlaWdodDpib2xkO2ZvbnQtc2l6ZToxLjFlbTt9XHJcblx0XHRcdC50YWJJbmZvX2FyZWF7cG9zaXRpb246YWJzb2x1dGU7dG9wOjQycHg7bGVmdDowO3dpZHRoOjEwMCU7cGFkZGluZzoxM3B4IDEzcHggMCAxNXB4O2Rpc3BsYXk6bm9uZTt9XHJcblx0XHRcdC50YWJJbmZvX2FyZWE+dWw+bGl7bWFyZ2luOjAuNWVtIDA7ZmxvYXQ6bm9uZTtvdmVyZmxvdzpoaWRkZW47fVxyXG5cdFx0XHQudGFiSW5mb19hcmVhPnVsPmxpPmF7Zm9udC1zaXplOjAuOTVlbTt0ZXh0LWFsaWduOmxlZnQ7bGluZS1oZWlnaHQ6MTI5JTtjb2xvcjojMzMzO2JhY2tncm91bmQ6bm9uZTsgQGluY2x1ZGUgZWxsO2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL2dsb2JhbC9tYWluL2J1Mi5naWYpIG5vLXJlcGVhdCBsZWZ0IDhweDtwYWRkaW5nOjFweCAwIDFweCAxMHB4O31cclxuXHRcdFx0LnRhYkluZm9fYXJlYSAudGFibW9yZXttYXJnaW4tdG9wOjE0cHg7XHJcblx0XHRcdFx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludCgkbGc0KXtcclxuXHRcdFx0XHQvLyBcdGRpc3BsYXk6bm9uZTtcclxuXHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludCgkbGcyKXtcclxuXHRcdFx0XHQvLyBcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRcdFx0Ly8gfVxyXG5cdFx0XHRcdC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1nKXtcclxuXHRcdFx0XHQvLyBcdGRpc3BsYXk6bm9uZTtcclxuXHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG5cdFx0XHRcdC8vIFx0ZGlzcGxheTpibG9jaztcclxuXHRcdFx0XHQvLyB9XHJcblx0XHRcdH1cclxuXHRcdFx0LnRhYkluZm9fYXJlYSAudGFibW9yZSBhe3RleHQtYWxpZ246Y2VudGVyO2Rpc3BsYXk6YmxvY2s7Y29sb3I6Izk2OTY5Njtmb250LXNpemU6MC45NWVtO2JvcmRlci10b3A6MXB4IHNvbGlkICNkZGQ7cGFkZGluZy10b3A6M3B4O31cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4ubW9yZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDoxLjUlO1xyXG5cdGF7ZGlzcGxheTpibG9jaztwYWRkaW5nOjEwcHg7fVxyXG59XHJcblxyXG4vLyAuYWJvdXRCb3h7ZmxvYXQ6bGVmdDtiYWNrZ3JvdW5kOiNhZWNmZTE7cGFkZGluZzoxJSAyJTt3aWR0aDo0OC41JTtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW46MSUgMCAwIDEuNSU7XHJcbi8vIFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZCl7XHJcbi8vIFx0XHRcdHdpZHRoOjk4LjUlO21hcmdpbjoxLjUlIDAgMS41JSAxLjUlO1xyXG4vLyBcdFx0fVxyXG4vLyBcdFx0Ji5maXJzdHtjbGVhcjpib3RoO2JhY2tncm91bmQ6I2UzYzRkNTtcclxuLy8gXHRcdFx0bGl7ZmxvYXQ6bGVmdDt3aWR0aDoyMCU7XHJcbi8vIFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcyKXtcclxuLy8gXHRcdFx0XHRcdCYudHlwZXt3aWR0aDozMy4zJTt9XHJcbi8vIFx0XHRcdFx0XHRcdHdpZHRoOjUwJTtcclxuLy8gXHRcdFx0XHRcdH1cclxuLy8gXHRcdFx0XHRhe2Rpc3BsYXk6YmxvY2s7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzowLjllbSAwO2JhY2tncm91bmQ6I2ZmZjtmb250LXNpemU6MS4wNWVtO2NvbG9yOiM0NzRhNWI7bGV0dGVyLXNwYWNpbmc6LTFweDttYXJnaW46MXB4O1xyXG4vLyBcdFx0XHRcdH1cclxuLy8gXHRcdFx0XHQmLnB0e1xyXG4vLyBcdFx0XHRcdFx0YXtwYWRkaW5nLXRvcDoyNXB4O1xyXG4vLyBcdFx0XHRcdFx0fVxyXG4vLyBcdFx0XHRcdH1cclxuLy8gXHRcdFx0fVxyXG4vLyBcdFx0fVxyXG5cdFx0XHJcbi8vIFx0XHRoM3tmb250LXNpemU6MS44ZW07Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiM0NzRhNWI7bWFyZ2luOjAuNGVtIDAgMC44ZW0gMDtcclxuLy8gXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcyKXtcclxuLy8gXHRcdFx0XHRmb250LXNpemU6MS41ZW07XHJcbi8vIFx0XHRcdFx0fVxyXG4vLyBcdFx0fVxyXG4vLyBcdFx0dWx7XHJcbi8vIFx0XHRcdGxpe2Zsb2F0OmxlZnQ7d2lkdGg6MjUlO2xpbmUtaGVpZ2h0OjEuMjtcclxuLy8gXHRcdFx0XHQmOmZpcnN0LWNoaWxke1xyXG4vLyBcdFx0XHRcdFx0YXtwYWRkaW5nOjAuNGVtIDB9XHJcbi8vIFx0XHRcdFx0XHRzcGFue2hlaWdodDo1NHB4O31cclxuLy8gXHRcdFx0XHR9XHJcbi8vIFx0XHRcdFx0YXtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MC45ZW0gMDtiYWNrZ3JvdW5kOiNmZmY7Zm9udC1zaXplOjEuMDVlbTtjb2xvcjojNDc0YTViO2xldHRlci1zcGFjaW5nOi0xcHg7bWFyZ2luOjFweDtoZWlnaHQ6NjNweDtcclxuLy8gXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMil7XHJcbi8vIFx0XHRcdFx0XHRcdHBhZGRpbmc6MC45ZW0gMC4zZW07XHJcbi8vIFx0XHRcdFx0XHR9XHJcbi8vIFx0XHRcdFx0XHRzcGFue2Rpc3BsYXk6IGlubGluZS1ibG9jaztoZWlnaHQ6MzRweDtvdmVyZmxvdzpoaWRkZW47fVxyXG4vLyBcdFx0XHRcdH1cclxuLy8gXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzIpe1xyXG4vLyBcdFx0XHRcdFx0XHR3aWR0aDo1MCU7XHJcbi8vIFx0XHRcdFx0XHR9XHJcbi8vIFx0XHRcdH1cclxuLy8gXHRcdH1cclxuLy8gXHRcdC5tb3JlMXtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9nbG9iYWwvbWFpbi9tb3JlMS5wbmcpIG5vLXJlcGVhdCByaWdodCBjZW50ZXI7cGFkZGluZy1yaWdodDoxN3B4O2ZvbnQtc2l6ZTowLjllbTtmb250LXdlaWdodDo2MDA7bGV0dGVyLXNwYWNpbmc6LTFweDtwb3NpdGlvbjogYWJzb2x1dGU7dG9wOjE1JTtyaWdodDoyNXB4O1xyXG4vLyBcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzIpe1xyXG4vLyBcdFx0XHRcdHRvcDoxMCU7XHJcbi8vIFx0XHRcdFx0fVxyXG4vLyBcdFx0XHRhe2NvbG9yOiM0NzRhNWJ9XHJcbi8vIFx0XHR9XHJcbi8vIFx0fVxyXG4uYWJvdXRCb3h7ZmxvYXQ6bGVmdDtiYWNrZ3JvdW5kOiNhZWNmZTE7cGFkZGluZzoxJSAyJTt3aWR0aDo0OC41JTtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW46MS41JSAwIDAgMS41JTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMil7XHJcblx0XHRcdG1hcmdpbi10b3A6MDtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKXtcclxuXHRcdFx0d2lkdGg6OTguNSU7bWFyZ2luOjAgMCAwIDEuNSU7XHJcblx0XHR9XHRcclxuXHRcdCYuZmlyc3R7Y2xlYXI6Ym90aDtiYWNrZ3JvdW5kOiNlM2M0ZDU7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKXtcclxuXHRcdFx0XHRtYXJnaW46MTBweCAwIDEwcHggMS41JTtcclxuXHRcdFx0fVx0XHJcblx0XHRcdGRpdnt3aWR0aDo0MCU7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcyKXtcclxuXHRcdFx0XHRcdHdpZHRoOjEwMCU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCYuZmlye3dpZHRoOjYwJTtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMil7XHJcblx0XHRcdFx0XHRcdHdpZHRoOjEwMCU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR1bHt3aWR0aDoxMDAlO1xyXG5cdFx0XHRcdFx0XHRsaXt3aWR0aDozMy4zJX1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dWx7d2lkdGg6MTAwJTtcclxuXHRcdFx0XHRcdGxpe3dpZHRoOjUwJTt2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO2JvcmRlcjoxcHggc29saWQgI2UzYzRkNTt9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHRcclxuXHRcdGgze2ZvbnQtc2l6ZToxLjhlbTtmb250LXdlaWdodDo0MDA7Y29sb3I6IzQ3NGE1YjttYXJnaW46MC40ZW0gMCAwLjhlbSAwO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzIpe1xyXG5cdFx0XHRcdGZvbnQtc2l6ZToxLjVlbTtcclxuXHRcdFx0XHR9XHJcblx0XHR9XHJcblx0XHRkaXZ7ZGlzcGxheTp0YWJsZTt3aWR0aDo1MCU7ZmxvYXQ6bGVmdDt2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzIpe1xyXG5cdFx0XHRcdFx0d2lkdGg6MTAwJTtmbG9hdDpub25lO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0dWx7ZGlzcGxheTp0YWJsZTt2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO3dpZHRoOjEwMCU7XHJcblx0XHRcdFx0bGl7ZGlzcGxheTp0YWJsZS1jZWxsO3ZlcnRpY2FsLWFsaWduOiBtaWRkbGU7d2lkdGg6NTAlO2xpbmUtaGVpZ2h0OjEuMjtiYWNrZ3JvdW5kOiNmZmY7aGVpZ2h0OjYzcHg7Ym9yZGVyOjFweCBzb2xpZCAjYWVjZmUxO3BhZGRpbmc6NXB4O1xyXG5cdFx0XHRcdFx0YXtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxLjA1ZW07Y29sb3I6IzQ3NGE1YjtsZXR0ZXItc3BhY2luZzotMXB4O31cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMil7XHJcblx0XHRcdFx0XHRcdFx0d2lkdGg6NTAlO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQubW9yZTF7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvZ2xvYmFsL21haW4vbW9yZTEucG5nKSBuby1yZXBlYXQgcmlnaHQgY2VudGVyO3BhZGRpbmctcmlnaHQ6MTdweDtmb250LXNpemU6MC45ZW07Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi0xcHg7cG9zaXRpb246IGFic29sdXRlO3RvcDoxNSU7cmlnaHQ6MjVweDtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcyKXtcclxuXHRcdFx0XHR0b3A6MTAlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0YXtjb2xvcjojNDc0YTVifVxyXG5cdFx0fVxyXG5cdH1cclxuLmdvTGlua3tjbGVhcjpib3RoO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjo0JSAwIDUlIDA7XHJcblx0YXtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW46MCAwLjclO2xldHRlci1zcGFjaW5nOi0ycHg7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZyl7XHJcblx0XHRcdFx0d2lkdGg6MzAlO1xyXG5cdFx0XHRcdH1cclxuXHRcdGltZ3tcclxuXHRcdFx0bWF4LXdpZHRoOjEwMCU7XHJcblx0XHR9XHJcblx0XHRwe2ZvbnQtc2l6ZToxLjllbTttYXJnaW4tdG9wOjEwcHg7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuXHRcdFx0XHRmb250LXNpemU6MS41ZW07XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG5cdFx0XHRcdGZvbnQtc2l6ZToxLjFlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmZfbWVudXttYXJnaW4tdG9wOjB9XHJcbi5iYW5uZXJab25le2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlNWU1ZTU7cGFkZGluZzoxMXB4IDA7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHQuYmFubmVyX2N0bHtmbG9hdDogbGVmdDsgd2lkdGg6IDIwMHB4OyBwYWRkaW5nOjEwcHggMCAwICAzMnB4O1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpIHtcclxuXHRcdCBcdGRpc3BsYXk6bm9uZTtcclxuXHRcdCB9XHJcblx0XHRoMntmb250LXNpemU6MS4wNWVtO21hcmdpbi1ib3R0b206OHB4O2NvbG9yOiNmZmY7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKSB7XHJcblx0XHRcdCBcdGRpc3BsYXk6bm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQuYmFubmVyX2J0bntcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKSB7XHJcblx0XHQgXHRkaXNwbGF5Om5vbmU7XHJcblx0XHR9XHJcblx0XHRhLCBidXR0b257ZGlzcGxheTogaW5saW5lLWJsb2NrfVxyXG5cdFx0LmJ0blN0b3B7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvY29tbW9uL2J0bl9iYW5uZXJfc3RvcC5naWYpIG5vLXJlcGVhdCBsZWZ0IHRvcDt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O3otaW5kZXg6MTAwO3RleHQtaW5kZW50Oi05OTllbTtcclxuXHRcdCYucGF1c2Vke2Rpc3BsYXk6bm9uZTt9XHJcblx0XHR9XHJcblx0XHQuYnRuUGxheXtkaXNwbGF5Om5vbmU7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvY29tbW9uL2J0bl9iYW5uZXJfcGxheS5naWYpIG5vLXJlcGVhdCBsZWZ0IHRvcDt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O3otaW5kZXg6MTAwO3RleHQtaW5kZW50Oi05OTllbTtcclxuXHRcdFx0Ji5vbntkaXNwbGF5OmlubGluZS1ibG9ja31cclxuXHRcdH1cclxuXHR9XHJcblx0LmJhbm5lciB7b3ZlcmZsb3c6IGhpZGRlbjttYXJnaW46MCA0MHB4O1xyXG5cdFx0dWx7XHJcblx0XHRcdGxpeyBmbG9hdDpsZWZ0O21hcmdpbjo1cHggMDt0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0aW1ne21heC13aWR0aDoxMDAlO31cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LnNsaWNrLXByZXZ7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvY29tbW9uL2J0bl9iYW5uZXJfbGVmdC5naWYpIG5vLXJlcGVhdCBsZWZ0IHRvcDt3aWR0aDoyMnB4O2hlaWdodDo0NnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bWFyZ2luLXRvcDotMjNweDtsZWZ0OjE3MHB4O3RleHQtaW5kZW50Oi05OTllbTtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpIHtcclxuXHRcdFx0IFx0bGVmdDoxMnB4O1xyXG5cdFx0XHQgfVxyXG5cdFx0fVxyXG5cdFx0LnNsaWNrLW5leHR7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvY29tbW9uL2J0bl9iYW5uZXJfcmlnaHQuZ2lmKSBuby1yZXBlYXQgbGVmdCB0b3A7d2lkdGg6MjJweDtoZWlnaHQ6NDZweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO21hcmdpbi10b3A6LTIzcHg7cmlnaHQ6MDsgdGV4dC1pbmRlbnQ6LTk5OWVtO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzQpIHtcclxuXHRcdFx0IFx0cmlnaHQ6MTJweDtcclxuXHRcdFx0IH1cclxuXHRcdH1cclxuXHR9XHJcbn1cdCIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRGVmYXVsdCBWYXJpYWJsZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJEJyZWFrcG9pbnQtU2V0dGluZ3M6IChcbiAgJ2RlZmF1bHQgbWVkaWEnOiBhbGwsXG4gICdkZWZhdWx0IGZlYXR1cmUnOiBtaW4td2lkdGgsXG4gICdkZWZhdWx0IHBhaXInOiB3aWR0aCxcblxuICAnZm9yY2UgYWxsIG1lZGlhIHR5cGUnOiBmYWxzZSxcbiAgJ3RvIGVtcyc6IGZhbHNlLFxuICAndHJhbnNmb3JtIHJlc29sdXRpb25zJzogdHJ1ZSxcblxuICAnbm8gcXVlcmllcyc6IGZhbHNlLFxuICAnbm8gcXVlcnkgZmFsbGJhY2tzJzogZmFsc2UsXG5cbiAgJ2Jhc2UgZm9udCBzaXplJzogMTZweCxcblxuICAnbGVnYWN5IHN5bnRheCc6IGZhbHNlXG4pO1xuXG4kYnJlYWtwb2ludDogKCkgIWRlZmF1bHQ7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwiYnJlYWtwb2ludC9zZXR0aW5nc1wiO1xuQGltcG9ydCAnYnJlYWtwb2ludC9jb250ZXh0JztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvaGVscGVycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L3BhcnNlcnMnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9uby1xdWVyeSc7XG5cbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcmVzcG9uZC10byc7XG5cbkBpbXBvcnQgXCJicmVha3BvaW50L2xlZ2FjeS1zZXR0aW5nc1wiO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEJyZWFrcG9pbnQgTWl4aW5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gYnJlYWtwb2ludCgkcXVlcnksICRuby1xdWVyeTogZmFsc2UpIHtcbiAgQGluY2x1ZGUgbGVnYWN5LXNldHRpbmdzLXdhcm5pbmc7XG5cbiAgLy8gUmVzZXQgY29udGV4dHNcbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG5cbiAgJGJyZWFrcG9pbnQ6IGJyZWFrcG9pbnQoJHF1ZXJ5LCBmYWxzZSk7XG5cbiAgJHF1ZXJ5LXN0cmluZzogbWFwLWdldCgkYnJlYWtwb2ludCwgJ3F1ZXJ5Jyk7XG4gICRxdWVyeS1mYWxsYmFjazogbWFwLWdldCgkYnJlYWtwb2ludCwgJ2ZhbGxiYWNrJyk7XG5cbiAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogbWFwLWdldCgkYnJlYWtwb2ludCwgJ2NvbnRleHQgaG9sZGVyJykgIWdsb2JhbDtcbiAgJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogbWFwLWdldCgkYnJlYWtwb2ludCwgJ3F1ZXJ5IGNvdW50JykgIWdsb2JhbDtcblxuICAvLyBBbGxvdyBmb3IgYW4gYXMtbmVlZGVkIG92ZXJyaWRlIG9yIHVzYWdlIG9mIG5vIHF1ZXJ5IGZhbGxiYWNrLlxuICBAaWYgJG5vLXF1ZXJ5ICE9IGZhbHNlIHtcbiAgICAkcXVlcnktZmFsbGJhY2s6ICRuby1xdWVyeTtcbiAgfVxuXG4gIEBpZiAkcXVlcnktZmFsbGJhY2sgIT0gZmFsc2Uge1xuICAgICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KCduby1xdWVyeScsICRxdWVyeS1mYWxsYmFjayk7XG4gIH1cblxuICAvLyBQcmludCBPdXQgUXVlcnkgU3RyaW5nXG4gIEBpZiBub3QgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJpZXMnKSB7XG4gICAgQG1lZGlhICN7JHF1ZXJ5LXN0cmluZ30ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGlmIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSAhPSBmYWxzZSBvciBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpID09IHRydWUge1xuXG4gICAgJHR5cGU6IHR5cGUtb2YoYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpKTtcbiAgICAkcHJpbnQ6IGZhbHNlO1xuXG4gICAgQGlmICgkdHlwZSA9PSAnYm9vbCcpIHtcbiAgICAgICRwcmludDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKCR0eXBlID09ICdzdHJpbmcnKSB7XG4gICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSB7XG4gICAgICAgICRwcmludDogdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgKCR0eXBlID09ICdsaXN0Jykge1xuICAgICAgQGVhY2ggJHdyYXBwZXIgaW4gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICAgICAgQGlmICRxdWVyeS1mYWxsYmFjayA9PSAkd3JhcHBlciB7XG4gICAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gV3JpdGUgRmFsbGJhY2tcbiAgICBAaWYgKCRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSkgYW5kICgkcHJpbnQgPT0gdHJ1ZSkge1xuICAgICAgJHR5cGUtZmFsbGJhY2s6IHR5cGUtb2YoJHF1ZXJ5LWZhbGxiYWNrKTtcblxuICAgICAgQGlmICgkdHlwZS1mYWxsYmFjayAhPSAnYm9vbCcpIHtcbiAgICAgICAgI3skcXVlcnktZmFsbGJhY2t9ICYge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHByaXZhdGUtYnJlYWtwb2ludC1yZXNldC1jb250ZXh0cygpO1xufVxuXG5cbkBtaXhpbiBtcSgkcXVlcnksICRuby1xdWVyeTogZmFsc2UpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkcXVlcnksICRuby1xdWVyeSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEhhcyBTZXR0aW5nXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LWhhcygkc2V0dGluZykge1xuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnQsICRzZXR0aW5nKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gR2V0IFNldHRpbmdzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LWdldCgkc2V0dGluZykge1xuICBAaWYgYnJlYWtwb2ludC1oYXMoJHNldHRpbmcpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGJyZWFrcG9pbnQsICRzZXR0aW5nKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRCcmVha3BvaW50LVNldHRpbmdzLCAkc2V0dGluZyk7XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBTZXQgU2V0dGluZ3Ncbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtc2V0KCRzZXR0aW5nLCAkdmFsdWUpIHtcbiAgQGlmIChzdHItaW5kZXgoJHNldHRpbmcsICctJykgb3Igc3RyLWluZGV4KCRzZXR0aW5nLCAnXycpKSBhbmQgc3RyLWluZGV4KCRzZXR0aW5nLCAnICcpID09IG51bGwge1xuICAgIEB3YXJuIFwiV29yZHMgaW4gQnJlYWtwb2ludCBzZXR0aW5ncyBzaG91bGQgYmUgc2VwYXJhdGVkIGJ5IHNwYWNlcywgbm90IGRhc2hlcyBvciB1bmRlcnNjb3Jlcy4gUGxlYXNlIHJlcGxhY2UgZGFzaGVzIGFuZCB1bmRlcnNjb3JlcyBiZXR3ZWVuIHdvcmRzIHdpdGggc3BhY2VzLiBTZXR0aW5ncyB3aWxsIG5vdCB3b3JrIGFzIGV4cGVjdGVkIHVudGlsIGNoYW5nZWQuXCI7XG4gIH1cbiAgJGJyZWFrcG9pbnQ6IG1hcC1tZXJnZSgkYnJlYWtwb2ludCwgKCRzZXR0aW5nOiAkdmFsdWUpKSAhZ2xvYmFsO1xuICBAcmV0dXJuIHRydWU7XG59XG5cbkBtaXhpbiBicmVha3BvaW50LWNoYW5nZSgkc2V0dGluZywgJHZhbHVlKSB7XG4gICRicmVha3BvaW50LWNoYW5nZTogYnJlYWtwb2ludC1zZXQoJHNldHRpbmcsICR2YWx1ZSk7XG59XG5cbkBtaXhpbiBicmVha3BvaW50LXNldCgkc2V0dGluZywgJHZhbHVlKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY2hhbmdlKCRzZXR0aW5nLCAkdmFsdWUpO1xufVxuXG5AbWl4aW4gYmtwdC1jaGFuZ2UoJHNldHRpbmcsICR2YWx1ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50LWNoYW5nZSgkc2V0dGluZywgJHZhbHVlKTtcbn1cbkBtaXhpbiBia3B0LXNldCgkc2V0dGluZywgJHZhbHVlKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY2hhbmdlKCRzZXR0aW5nLCAkdmFsdWUpO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFJlbW92ZSBTZXR0aW5nXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LXJlc2V0KCRzZXR0aW5ncy4uLikge1xuICBAaWYgbGVuZ3RoKCRzZXR0aW5ncykgPT0gMSB7XG4gICAgJHNldHRpbmdzOiBudGgoJHNldHRpbmdzLCAxKTtcbiAgfVxuXG4gIEBlYWNoICRzZXR0aW5nIGluICRzZXR0aW5ncyB7XG4gICAgJGJyZWFrcG9pbnQ6IG1hcC1yZW1vdmUoJGJyZWFrcG9pbnQsICRzZXR0aW5nKSAhZ2xvYmFsO1xuICB9XG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuQG1peGluIGJyZWFrcG9pbnQtcmVzZXQoJHNldHRpbmdzLi4uKSB7XG4gICRicmVha3BvaW50LXJlc2V0OiBicmVha3BvaW50LXJlc2V0KCRzZXR0aW5ncyk7XG59XG5cbkBtaXhpbiBia3B0LXJlc2V0KCRzZXR0aW5ncy4uLikge1xuICAkYnJlYWtwb2ludC1yZXNldDogYnJlYWtwb2ludC1yZXNldCgkc2V0dGluZ3MpO1xufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUHJpdmF0ZSBCcmVha3BvaW50IFZhcmlhYmxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiAoKTtcbiRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQ6IDAgIWRlZmF1bHQ7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBIYXMgQ29udGV4dFxuLy8gUmV0dXJucyB3aGV0aGVyIG9yIG5vdCB5b3UgYXJlIGluc2lkZSBhIEJyZWFrcG9pbnQgcXVlcnlcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaGFzLWNvbnRleHQoKSB7XG4gIEBpZiBsZW5ndGgoJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEJyZWFrcG9pbnQgR2V0IENvbnRleHRcbi8vICRmZWF0dXJlOiBJbnB1dCBmZWF0dXJlIHRvIGdldCBpdCdzIGN1cnJlbnQgTVEgY29udGV4dC4gUmV0dXJucyBmYWxzZSBpZiBubyBjb250ZXh0XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LWdldC1jb250ZXh0KCRmZWF0dXJlKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyLCAkZmVhdHVyZSkge1xuICAgICRnZXQ6IG1hcC1nZXQoJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlciwgJGZlYXR1cmUpO1xuICAgIC8vIFNwZWNpYWwgaGFuZGxpbmcgb2Ygbm8tcXVlcnkgZnJvbSBnZXQgc2lkZSBzbyAvZmFsc2UvIHByZXBlbmRzIGFyZW4ndCByZXR1cm5lZFxuICAgIEBpZiAkZmVhdHVyZSA9PSAnbm8tcXVlcnknIHtcbiAgICAgIEBpZiB0eXBlLW9mKCRnZXQpID09ICdsaXN0JyBhbmQgbGVuZ3RoKCRnZXQpID4gMSBhbmQgbnRoKCRnZXQsIDEpID09IGZhbHNlIHtcbiAgICAgICAgJGdldDogbnRoKCRnZXQsIGxlbmd0aCgkZ2V0KSk7XG4gICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gJGdldDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmIGJyZWFrcG9pbnQtaGFzLWNvbnRleHQoKSBhbmQgJGZlYXR1cmUgPT0gJ21lZGlhJyB7XG4gICAgICBAcmV0dXJuIGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUHJpdmF0ZSBmdW5jdGlvbiB0byBzZXQgY29udGV4dFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KCRmZWF0dXJlLCAkdmFsdWUpIHtcbiAgQGlmICR2YWx1ZSA9PSAnbW9ub2Nocm9tZScge1xuICAgICRmZWF0dXJlOiAnbW9ub2Nocm9tZSc7XG4gIH1cblxuICAkY3VycmVudDogbWFwLWdldCgkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyLCAkZmVhdHVyZSk7XG4gIEBpZiAkY3VycmVudCBhbmQgbGVuZ3RoKCRjdXJyZW50KSA9PSAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50IHtcbiAgICBAd2FybiBcIllvdSBoYXZlIGFscmVhZHkgcXVlcmllZCBhZ2FpbnN0IGAjeyRmZWF0dXJlfWAuIFVuZXhwZWN0ZWQgdGhpbmdzIG1heSBoYXBwZW4gaWYgeW91IHF1ZXJ5IGFnYWluc3QgdGhlIHNhbWUgZmVhdHVyZSBtb3JlIHRoYW4gb25jZSBpbiB0aGUgc2FtZSBgYW5kYCBxdWVyeS4gQnJlYWtwb2ludCBpcyBvdmVyd3JpdGluZyB0aGUgY3VycmVudCBjb250ZXh0IHdpdGggYCN7JHZhbHVlfWBcIjtcbiAgfVxuXG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlciwgJGZlYXR1cmUpIHtcbiAgICAkdi1ob2xkZXI6ICgpO1xuICAgIEBmb3IgJGkgZnJvbSAxIHRvICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQge1xuICAgICAgQGlmICRmZWF0dXJlID09ICdtZWRpYScge1xuICAgICAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsIGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJykpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJHYtaG9sZGVyOiBhcHBlbmQoJHYtaG9sZGVyLCAkdmFsdWUpO1xuICAgICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6IG1hcC1tZXJnZSgkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyLCAoJGZlYXR1cmU6ICR2LWhvbGRlcikpICFnbG9iYWw7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2LWhvbGRlcjogbWFwLWdldCgkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyLCAkZmVhdHVyZSk7XG4gICAgJGxlbmd0aDogbGVuZ3RoKCR2LWhvbGRlcik7XG4gICAgQGZvciAkaSBmcm9tICRsZW5ndGggdG8gJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudCAtIDEge1xuICAgICAgQGlmICRmZWF0dXJlID09ICdtZWRpYScge1xuICAgICAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsIGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJykpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJHYtaG9sZGVyOiBhcHBlbmQoJHYtaG9sZGVyLCAkdmFsdWUpO1xuICAgICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6IG1hcC1tZXJnZSgkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyLCAoJGZlYXR1cmU6ICR2LWhvbGRlcikpICFnbG9iYWw7XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUHJpdmF0ZSBmdW5jdGlvbiB0byByZXNldCBjb250ZXh0XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBtaXhpbiBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMge1xuICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiAoKSAhZ2xvYmFsO1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiAwICFnbG9iYWw7XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBDb252ZXJ0cyB0aGUgaW5wdXQgdmFsdWUgdG8gQmFzZSBFTXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtdG8tYmFzZS1lbSgkdmFsdWUpIHtcbiAgJHZhbHVlLXVuaXQ6IHVuaXQoJHZhbHVlKTtcblxuICAvLyBXaWxsIGNvbnZlcnQgcmVsYXRpdmUgRU1zIGludG8gcm9vdCBFTXMuXG4gIEBpZiBicmVha3BvaW50LWdldCgnYmFzZSBmb250IHNpemUnKSBhbmQgdHlwZS1vZihicmVha3BvaW50LWdldCgnYmFzZSBmb250IHNpemUnKSkgPT0gJ251bWJlcicgYW5kICR2YWx1ZS11bml0ID09ICdlbScge1xuICAgICRiYXNlLXVuaXQ6IHVuaXQoYnJlYWtwb2ludC1nZXQoJ2Jhc2UgZm9udCBzaXplJykpO1xuXG4gICAgQGlmICRiYXNlLXVuaXQgPT0gJ3B4JyBvciAkYmFzZS11bml0ID09ICclJyBvciAkYmFzZS11bml0ID09ICdlbScgb3IgJGJhc2UtdW5pdCA9PSAncHQnIHtcbiAgICAgIEByZXR1cm4gYmFzZS1jb252ZXJzaW9uKCR2YWx1ZSkgLyBiYXNlLWNvbnZlcnNpb24oYnJlYWtwb2ludC1nZXQoJ2Jhc2UgZm9udCBzaXplJykpICogMWVtO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnI3ticmVha3BvaW50LWdldChcXCdiYXNlIGZvbnQgc2l6ZVxcJyl9IGlzIG5vdCBzZXQgaW4gdmFsaWQgdW5pdHMgZm9yIGZvbnQgc2l6ZSEnO1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYmFzZS1jb252ZXJzaW9uKCR2YWx1ZSk7XG4gIH1cbn1cblxuQGZ1bmN0aW9uIGJhc2UtY29udmVyc2lvbigkdmFsdWUpIHtcbiAgJHVuaXQ6IHVuaXQoJHZhbHVlKTtcblxuICBAaWYgJHVuaXQgPT0gJ3B4JyB7XG4gICAgQHJldHVybiAkdmFsdWUgLyAxNnB4ICogMWVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09ICclJyB7XG4gICAgQHJldHVybiAkdmFsdWUgLyAxMDAlICogMWVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09ICdlbScge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09ICdwdCcge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gMTJwdCAqIDFlbTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4vLyAgICBAd2FybiAnRXZlcnl0aGluZyBpcyB0ZXJyaWJsZSEgV2hhdCBoYXZlIHlvdSBkb25lPyEnO1xuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBmZWF0dXJlIGNhbiBoYXZlIGEgbWluL21heCBwYWlyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRicmVha3BvaW50LW1pbi1tYXgtZmVhdHVyZXM6ICdjb2xvcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29sb3ItaW5kZXgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FzcGVjdC1yYXRpbycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGV2aWNlLWFzcGVjdC1yYXRpbycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGV2aWNlLWhlaWdodCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGV2aWNlLXdpZHRoJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdoZWlnaHQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vbm9jaHJvbWUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Jlc29sdXRpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJztcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluLW1heCgkZmVhdHVyZSkge1xuICBAZWFjaCAkaXRlbSBpbiAkYnJlYWtwb2ludC1taW4tbWF4LWZlYXR1cmVzIHtcbiAgICBAaWYgJGZlYXR1cmUgPT0gJGl0ZW0ge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFJldHVybnMgd2hldGhlciB0aGUgZmVhdHVyZSBjYW4gaGF2ZSBhIHN0cmluZyB2YWx1ZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kYnJlYWtwb2ludC1zdHJpbmctZmVhdHVyZXM6ICAnb3JpZW50YXRpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NjYW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbG9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhc3BlY3QtcmF0aW8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RldmljZS1hc3BlY3QtcmF0aW8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BvaW50ZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2x1bWlub3NpdHknO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1zdHJpbmctdmFsdWUoJGZlYXR1cmUpIHtcbiAgQGVhY2ggJGl0ZW0gaW4gJGJyZWFrcG9pbnQtc3RyaW5nLWZlYXR1cmVzIHtcbiAgICBAaWYgYnJlYWtwb2ludC1taW4tbWF4KCRpdGVtKSB7XG4gICAgICBAaWYgJGZlYXR1cmUgPT0gJ21pbi0jeyRpdGVtfScgb3IgJGZlYXR1cmUgPT0gJ21heC0jeyRpdGVtfScge1xuICAgICAgICBAcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRmZWF0dXJlID09ICRpdGVtIHtcbiAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGZlYXR1cmUgaXMgYSBtZWRpYSB0eXBlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRicmVha3BvaW50LW1lZGlhLXR5cGVzOiAgJ2FsbCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdicmFpbGxlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VtYm9zc2VkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hhbmRoZWxkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ByaW50JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb2plY3Rpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnc2NyZWVuJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NwZWVjaCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICd0dHknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAndHYnO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pcy1tZWRpYSgkZmVhdHVyZSkge1xuICBAZWFjaCAkbWVkaWEgaW4gJGJyZWFrcG9pbnQtbWVkaWEtdHlwZXMge1xuICAgIEBpZiAoJGZlYXR1cmUgPT0gJG1lZGlhKSBvciAoJGZlYXR1cmUgPT0gJ25vdCAjeyRtZWRpYX0nKSBvciAoJGZlYXR1cmUgPT0gJ29ubHkgI3skbWVkaWF9Jykge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBmZWF0dXJlIGNhbiBzdGFuZCBhbG9uZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nLWZlYXR1cmVzOiAnY29sb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbG9yLWluZGV4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdncmlkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb25vY2hyb21lJztcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZygkZmVhdHVyZSkge1xuICBAZWFjaCAkaXRlbSBpbiAkYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nLWZlYXR1cmVzIHtcbiAgICBAaWYgJGZlYXR1cmUgPT0gJGl0ZW0ge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFJldHVybnMgd2hldGhlciB0aGUgZmVhdHVyZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pcy1yZXNvbHV0aW9uKCRmZWF0dXJlKSB7XG4gICRyZXNvbHV0aW9uczogJ2RldmljZS1waXhlbC1yYXRpbycsICdkcHInO1xuXG4gIEBpZiBicmVha3BvaW50LWdldCgndHJhbnNmb3JtIHJlc29sdXRpb25zJykge1xuICAgICRyZXNvbHV0aW9uczogYXBwZW5kKCRyZXNvbHV0aW9ucywgJ3Jlc29sdXRpb24nKTtcbiAgfVxuXG4gIEBlYWNoICRyZXNvIGluICRyZXNvbHV0aW9ucyB7XG4gICAgQGlmIGluZGV4KCRmZWF0dXJlLCAkcmVzbykgb3IgaW5kZXgoJGZlYXR1cmUsICdtaW4tI3skcmVzb30nKSBvciBpbmRleCgkZmVhdHVyZSwgJ21heC0jeyRyZXNvfScpIHtcbiAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGZhbHNlO1xufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnQgUGFyc2VyIFBpZWNlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwicGFyc2Vycy9xdWVyeVwiO1xuQGltcG9ydCBcInBhcnNlcnMvc2luZ2xlXCI7XG5AaW1wb3J0IFwicGFyc2Vycy9kb3VibGVcIjtcbkBpbXBvcnQgXCJwYXJzZXJzL3RyaXBsZVwiO1xuQGltcG9ydCBcInBhcnNlcnMvcmVzb2x1dGlvblwiO1xuXG4kTWVtby1FeGlzdHM6IGZ1bmN0aW9uLWV4aXN0cyhtZW1vLWdldCkgYW5kIGZ1bmN0aW9uLWV4aXN0cyhtZW1vLXNldCk7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBGdW5jdGlvblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkcXVlcnksICRjb250ZXh0cy4uLikge1xuICAkcnVuOiB0cnVlO1xuICAkcmV0dXJuOiAoKTtcblxuICAvLyBHcmFiIHRoZSBNZW1vIE91dHB1dCBpZiBNZW1vaXphdGlvbiBjYW4gYmUgYSB0aGluZ1xuICBAaWYgJE1lbW8tRXhpc3RzIHtcbiAgICAkcmV0dXJuOiBtZW1vLWdldChicmVha3BvaW50LCBicmVha3BvaW50ICRxdWVyeSAkY29udGV4dHMpO1xuXG4gICAgQGlmICRyZXR1cm4gIT0gbnVsbCB7XG4gICAgICAkcnVuOiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAaWYgbm90ICRNZW1vLUV4aXN0cyBvciAkcnVuIHtcbiAgICAvLyBJbnRlcm5hbCBWYXJpYWJsZXNcbiAgICAkcXVlcnktc3RyaW5nOiAnJztcbiAgICAkcXVlcnktZmFsbGJhY2s6IGZhbHNlO1xuICAgICRyZXR1cm46ICgpO1xuXG4gICAgLy8gUmVzZXJ2ZSBHbG9iYWwgUHJpdmF0ZSBCcmVha3BvaW50IENvbnRleHRcbiAgICAkaG9sZGVyLWNvbnRleHQ6ICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI7XG4gICAgJGhvbGRlci1xdWVyeS1jb3VudDogJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDtcblxuICAgIC8vIFJlc2V0IEdsb2JhbCBQcml2YXRlIEJyZWFrcG9pbnQgQ29udGV4dFxuICAgICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6ICgpICFnbG9iYWw7XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogMCAhZ2xvYmFsO1xuXG5cbiAgICAvLyBUZXN0IHRvIHNlZSBpZiBpdCdzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3RcbiAgICAkb3ItbGlzdDogaWYobGlzdC1zZXBhcmF0b3IoJHF1ZXJ5KSA9PSAnY29tbWEnLCB0cnVlLCBmYWxzZSk7XG5cblxuICAgIEBpZiAoJG9yLWxpc3QgPT0gZmFsc2UgYW5kIGJyZWFrcG9pbnQtZ2V0KCdsZWdhY3kgc3ludGF4JykgPT0gZmFsc2UpIHtcbiAgICAgICRxdWVyeS1zdHJpbmc6IGJyZWFrcG9pbnQtcGFyc2UoJHF1ZXJ5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGxlbmd0aDogbGVuZ3RoKCRxdWVyeSk7XG5cbiAgICAgICRsYXN0OiBudGgoJHF1ZXJ5LCAkbGVuZ3RoKTtcbiAgICAgICRxdWVyeS1mYWxsYmFjazogYnJlYWtwb2ludC1uby1xdWVyeSgkbGFzdCk7XG5cbiAgICAgIEBpZiAoJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlKSB7XG4gICAgICAgICRsZW5ndGg6ICRsZW5ndGggLSAxO1xuICAgICAgfVxuXG4gICAgICBAaWYgKGJyZWFrcG9pbnQtZ2V0KCdsZWdhY3kgc3ludGF4JykgPT0gdHJ1ZSkge1xuICAgICAgICAkbXE6ICgpO1xuXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGxlbmd0aCB7XG4gICAgICAgICAgJG1xOiBhcHBlbmQoJG1xLCBudGgoJHF1ZXJ5LCAkaSksIGNvbW1hKTtcbiAgICAgICAgfVxuXG4gICAgICAgICRxdWVyeS1zdHJpbmc6IGJyZWFrcG9pbnQtcGFyc2UoJG1xKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHF1ZXJ5LXN0cmluZzogJyc7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGxlbmd0aCB7XG4gICAgICAgICAgJHF1ZXJ5LXN0cmluZzogJHF1ZXJ5LXN0cmluZyArIGlmKCRpID09IDEsICcnLCAnLCAnKSArIGJyZWFrcG9pbnQtcGFyc2UobnRoKCRxdWVyeSwgJGkpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICRyZXR1cm46ICgncXVlcnknOiAkcXVlcnktc3RyaW5nLFxuICAgICAgICAnZmFsbGJhY2snOiAkcXVlcnktZmFsbGJhY2ssXG4gICAgICAgICdjb250ZXh0IGhvbGRlcic6ICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsXG4gICAgICAgICdxdWVyeSBjb3VudCc6ICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnRcbiAgICApO1xuICAgIEBpZiBsZW5ndGgoJGNvbnRleHRzKSA+IDAgYW5kIG50aCgkY29udGV4dHMsIDEpICE9IGZhbHNlIHtcbiAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgIT0gZmFsc2Uge1xuICAgICAgICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgnbm8tcXVlcnknLCAkcXVlcnktZmFsbGJhY2spO1xuICAgICAgfVxuICAgICAgJGNvbnRleHQtbWFwOiAoKTtcbiAgICAgIEBlYWNoICRjb250ZXh0IGluICRjb250ZXh0cyB7XG4gICAgICAgICRjb250ZXh0LW1hcDogbWFwLW1lcmdlKCRjb250ZXh0LW1hcCwgKCRjb250ZXh0OiBicmVha3BvaW50LWdldC1jb250ZXh0KCRjb250ZXh0KSkpO1xuICAgICAgfVxuICAgICAgJHJldHVybjogbWFwLW1lcmdlKCRyZXR1cm4sIChjb250ZXh0OiAkY29udGV4dC1tYXApKTtcbiAgICB9XG5cbiAgICAvLyBSZXNldCBHbG9iYWwgUHJpdmF0ZSBCcmVha3BvaW50IENvbnRleHRcbiAgICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiAoKSAhZ2xvYmFsO1xuICAgICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQ6IDAgIWdsb2JhbDtcblxuICAgIEBpZiAkTWVtby1FeGlzdHMge1xuICAgICAgJGhvbGRlcjogbWVtby1zZXQoYnJlYWtwb2ludCwgYnJlYWtwb2ludCAkcXVlcnkgJGNvbnRleHRzLCAkcmV0dXJuKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRyZXR1cm47XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gR2VuZXJhbCBCcmVha3BvaW50IFBhcnNlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZSgkcXVlcnkpIHtcbiAgLy8gSW5jcmVhc2UgbnVtYmVyIG9mICdhbmQnIHF1ZXJpZXNcbiAgJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudCArIDEgIWdsb2JhbDtcblxuICAvLyBTZXQgdXAgTWVkaWEgVHlwZVxuICAkcXVlcnktcHJpbnQ6ICcnO1xuXG4gICRmb3JjZS1hbGw6ICgoYnJlYWtwb2ludC1nZXQoJ2ZvcmNlIGFsbCBtZWRpYSB0eXBlJykgPT0gdHJ1ZSkgYW5kIChicmVha3BvaW50LWdldCgnZGVmYXVsdCBtZWRpYScpID09ICdhbGwnKSk7XG4gICRlbXB0eS1tZWRpYTogdHJ1ZTtcbiAgQGlmICgkZm9yY2UtYWxsID09IHRydWUpIG9yIChicmVha3BvaW50LWdldCgnZGVmYXVsdCBtZWRpYScpICE9ICdhbGwnKSB7XG4gICAgLy8gRm9yY2UgdGhlIHByaW50IG9mIHRoZSBkZWZhdWx0IG1lZGlhIHR5cGUgaWYgKGZvcmNlIGFsbCBpcyB0cnVlIGFuZCBkZWZhdWx0IG1lZGlhIHR5cGUgaXMgYWxsKSBvciAoZGVmYXVsdCBtZWRpYSB0eXBlIGlzIG5vdCBhbGwpXG4gICAgJHF1ZXJ5LXByaW50OiBicmVha3BvaW50LWdldCgnZGVmYXVsdCBtZWRpYScpO1xuICAgICRlbXB0eS1tZWRpYTogZmFsc2U7XG4gIH1cblxuXG4gICRxdWVyeS1yZXNvbHV0aW9uOiBmYWxzZTtcblxuICAkcXVlcnktaG9sZGVyOiBicmVha3BvaW50LXBhcnNlLXF1ZXJ5KCRxdWVyeSk7XG5cblxuXG4gIC8vIExvb3Agb3ZlciBlYWNoIHBhcnNlZCBvdXQgcXVlcnkgYW5kIHdyaXRlIGl0IHRvICRxdWVyeS1wcmludFxuICAkZmlyc3Q6IHRydWU7XG5cbiAgQGVhY2ggJGZlYXR1cmUgaW4gJHF1ZXJ5LWhvbGRlciB7XG4gICAgJGxlbmd0aDogbGVuZ3RoKCRmZWF0dXJlKTtcblxuICAgIC8vIFBhcnNlIGEgc2luZ2xlIGZlYXR1cmVcbiAgICBAaWYgKCRsZW5ndGggPT0gMSkge1xuICAgICAgLy8gRmVhdHVyZSBpcyBjdXJyZW50bHkgYSBsaXN0LCBncmFiIHRoZSBhY3R1YWwgdmFsdWVcbiAgICAgICRmZWF0dXJlOiBudGgoJGZlYXR1cmUsIDEpO1xuXG4gICAgICAvLyBNZWRpYSBUeXBlIG11c3QgYnkgY29udmVudGlvbiBiZSB0aGUgZmlyc3QgaXRlbSwgc28gaXQncyBzYWZlIHRvIGZsYXQgb3ZlcnJpZGUgJHF1ZXJ5LXByaW50LCB3aGljaCByaWdodCBub3cgc2hvdWxkIG9ubHkgYmUgdGhlIGRlZmF1bHQgbWVkaWEgdHlwZVxuICAgICAgQGlmIChicmVha3BvaW50LWlzLW1lZGlhKCRmZWF0dXJlKSkge1xuICAgICAgICBAaWYgKCRmb3JjZS1hbGwgPT0gdHJ1ZSkgb3IgKCRmZWF0dXJlICE9ICdhbGwnKSB7XG4gICAgICAgICAgLy8gRm9yY2UgdGhlIHByaW50IG9mIHRoZSBkZWZhdWx0IG1lZGlhIHR5cGUgaWYgKGZvcmNlIGFsbCBpcyB0cnVlIGFuZCBkZWZhdWx0IG1lZGlhIHR5cGUgaXMgYWxsKSBvciAoZGVmYXVsdCBtZWRpYSB0eXBlIGlzIG5vdCBhbGwpXG4gICAgICAgICAgJHF1ZXJ5LXByaW50OiAkZmVhdHVyZTtcbiAgICAgICAgICAkZW1wdHktbWVkaWE6IGZhbHNlO1xuXG4gICAgICAgICAgLy8gU2V0IENvbnRleHRcbiAgICAgICAgICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dChtZWRpYSwgJHF1ZXJ5LXByaW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLXNpbmdsZSgkZmVhdHVyZSwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpO1xuICAgICAgICAkcXVlcnktcHJpbnQ6ICcjeyRxdWVyeS1wcmludH0gI3skcGFyc2VkfSc7XG4gICAgICAgICRmaXJzdDogZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIFBhcnNlIGEgZG91YmxlIGZlYXR1cmVcbiAgICBAZWxzZSBpZiAoJGxlbmd0aCA9PSAyKSB7XG4gICAgICBAaWYgKGJyZWFrcG9pbnQtaXMtcmVzb2x1dGlvbigkZmVhdHVyZSkgIT0gZmFsc2UpIHtcbiAgICAgICAgJHF1ZXJ5LXJlc29sdXRpb246ICRmZWF0dXJlO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkcGFyc2VkOiBudWxsO1xuICAgICAgICAvLyBJZiBpdCdzIGEgc3RyaW5nL251bWJlciBwYWlyLFxuICAgICAgICAvLyB3ZSBjaGVjayB0byBzZWUgaWYgb25lIGlzIGEgc2luZ2xlLXN0cmluZyB2YWx1ZSxcbiAgICAgICAgLy8gdGhlbiB3ZSBwYXJzZSBpdCBhcyBhIG5vcm1hbCBkb3VibGVcbiAgICAgICAgJGFscGhhOiBudGgoJGZlYXR1cmUsIDEpO1xuICAgICAgICAkYmV0YTogbnRoKCRmZWF0dXJlLCAyKTtcbiAgICAgICAgQGlmIGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZygkYWxwaGEpIG9yIGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZygkYmV0YSkge1xuICAgICAgICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2Utc2luZ2xlKCRhbHBoYSwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpO1xuICAgICAgICAgICRxdWVyeS1wcmludDogJyN7JHF1ZXJ5LXByaW50fSAjeyRwYXJzZWR9JztcbiAgICAgICAgICAkZmlyc3Q6IGZhbHNlO1xuICAgICAgICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2Utc2luZ2xlKCRiZXRhLCAkZW1wdHktbWVkaWEsICRmaXJzdCk7XG4gICAgICAgICAgJHF1ZXJ5LXByaW50OiAnI3skcXVlcnktcHJpbnR9ICN7JHBhcnNlZH0nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLWRvdWJsZSgkZmVhdHVyZSwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpO1xuICAgICAgICAgICRxdWVyeS1wcmludDogJyN7JHF1ZXJ5LXByaW50fSAjeyRwYXJzZWR9JztcbiAgICAgICAgICAkZmlyc3Q6IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8vIFBhcnNlIGEgdHJpcGxlIGZlYXR1cmVcbiAgICBAZWxzZSBpZiAoJGxlbmd0aCA9PSAzKSB7XG4gICAgICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLXRyaXBsZSgkZmVhdHVyZSwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpO1xuICAgICAgJHF1ZXJ5LXByaW50OiAnI3skcXVlcnktcHJpbnR9ICN7JHBhcnNlZH0nO1xuICAgICAgJGZpcnN0OiBmYWxzZTtcbiAgICB9XG5cbiAgfVxuXG4gIEBpZiAoJHF1ZXJ5LXJlc29sdXRpb24gIT0gZmFsc2UpIHtcbiAgICAkcXVlcnktcHJpbnQ6IGJyZWFrcG9pbnQtYnVpbGQtcmVzb2x1dGlvbigkcXVlcnktcHJpbnQsICRxdWVyeS1yZXNvbHV0aW9uLCAkZW1wdHktbWVkaWEsICRmaXJzdCk7XG4gIH1cblxuICAvLyBMb29wIHRocm91Z2ggZWFjaCBmZWF0dXJlIHRoYXQncyBiZWVuIGRldGVjdGVkIHNvIGZhciBhbmQgYXBwZW5kICdmYWxzZScgdG8gdGhlIHRoZSB2YWx1ZSBsaXN0IHRvIGluY3JlbWVudCB0aGVpciBjb3VudGVyc1xuICBAZWFjaCAkZiwgJHYgaW4gJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlciB7XG4gICAgJHYtaG9sZGVyOiAkdjtcbiAgICAkbGVuZ3RoOiBsZW5ndGgoJHYtaG9sZGVyKTtcbiAgICBAaWYgbGVuZ3RoKCR2LWhvbGRlcikgPCAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAkbGVuZ3RoIHRvICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQge1xuICAgICAgICBAaWYgJGYgPT0gJ21lZGlhJyB7XG4gICAgICAgICAgJHYtaG9sZGVyOiBhcHBlbmQoJHYtaG9sZGVyLCBicmVha3BvaW50LWdldCgnZGVmYXVsdCBtZWRpYScpKTtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgJHYtaG9sZGVyOiBhcHBlbmQoJHYtaG9sZGVyLCBmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogbWFwLW1lcmdlKCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICgkZjogJHYtaG9sZGVyKSkgIWdsb2JhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHF1ZXJ5LXByaW50O1xufVxuIiwiQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2UtcXVlcnkoJHF1ZXJ5KSB7XG4gIC8vIFBhcnNlIGZlYXR1cmVzIG91dCBvZiBhbiBpbmRpdmlkdWFsIHF1ZXJ5XG4gICRmZWF0dXJlLWhvbGRlcjogKCk7XG4gICRxdWVyeS1ob2xkZXI6ICgpO1xuICAkbGVuZ3RoOiBsZW5ndGgoJHF1ZXJ5KTtcblxuICBAaWYgJGxlbmd0aCA9PSAyIHtcbiAgICAvLyBJZiB3ZSd2ZSBnb3QgYSBzdHJpbmcvbnVtYmVyLCBudW1iZXIvc3RyaW5nLCBjaGVjayB0byBzZWUgaWYgaXQncyBhIHZhbGlkIHN0cmluZy9udW1iZXIgcGFpciBvciB0d28gc2luZ2xlc1xuICAgIEBpZiAodHlwZS1vZihudGgoJHF1ZXJ5LCAxKSkgPT0gJ3N0cmluZycgYW5kIHR5cGUtb2YobnRoKCRxdWVyeSwgMikpID09ICdudW1iZXInKSBvciAodHlwZS1vZihudGgoJHF1ZXJ5LCAxKSkgPT0gJ251bWJlcicgYW5kIHR5cGUtb2YobnRoKCRxdWVyeSwgMikpID09ICdzdHJpbmcnKSB7XG5cbiAgICAgICRudW1iZXI6ICcnO1xuICAgICAgJHZhbHVlOiAnJztcblxuICAgICAgQGlmIHR5cGUtb2YobnRoKCRxdWVyeSwgMSkpID09ICdzdHJpbmcnIHtcbiAgICAgICAgJG51bWJlcjogbnRoKCRxdWVyeSwgMik7XG4gICAgICAgICR2YWx1ZTogbnRoKCRxdWVyeSwgMSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRudW1iZXI6IG50aCgkcXVlcnksIDEpO1xuICAgICAgICAkdmFsdWU6IG50aCgkcXVlcnksIDIpO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiB0aGUgc3RyaW5nIHZhbHVlIGNhbiBiZSBhIHNpbmdsZSB2YWx1ZSwgY2hlY2sgdG8gc2VlIGlmIHRoZSBudW1iZXIgcGFzc2VkIGluIGlzIGEgdmFsaWQgaW5wdXQgZm9yIHNhaWQgc2luZ2xlIHZhbHVlLiBGb3J0dW5hdGVseSwgYWxsIGN1cnJlbnQgc2luZ2xlLXZhbHVlIG9wdGlvbnMgb25seSBhY2NlcHQgdW5pdGxlc3MgbnVtYmVycywgc28gdGhpcyBjaGVjayBpcyBlYXN5LlxuICAgICAgQGlmIGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZygkdmFsdWUpIHtcbiAgICAgICAgQGlmIHVuaXRsZXNzKCRudW1iZXIpIHtcbiAgICAgICAgICAkZmVhdHVyZS1ob2xkZXI6IGFwcGVuZCgkdmFsdWUsICRudW1iZXIsIHNwYWNlKTtcbiAgICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgJGZlYXR1cmUtaG9sZGVyLCBjb21tYSk7XG4gICAgICAgICAgQHJldHVybiAkcXVlcnktaG9sZGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBJZiB0aGUgc3RyaW5nIGlzIGEgbWVkaWEgdHlwZSwgc3BsaXQgdGhlIHF1ZXJ5XG4gICAgICBAaWYgYnJlYWtwb2ludC1pcy1tZWRpYSgkdmFsdWUpIHtcbiAgICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsIG50aCgkcXVlcnksIDEpKTtcbiAgICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsIG50aCgkcXVlcnksIDIpKTtcbiAgICAgICAgQHJldHVybiAkcXVlcnktaG9sZGVyO1xuICAgICAgfVxuICAgICAgLy8gSWYgaXQncyBub3QgYSBzaW5nbGUgZmVhdHVyZSwgd2UncmUganVzdCBnb2luZyB0byBhc3N1bWUgaXQncyBhIHByb3BlciBzdHJpbmcvdmFsdWUgcGFpciwgYW5kIHJvbGwgd2l0aCBpdC5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJGZlYXR1cmUtaG9sZGVyOiBhcHBlbmQoJHZhbHVlLCAkbnVtYmVyLCBzcGFjZSk7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCAkZmVhdHVyZS1ob2xkZXIsIGNvbW1hKTtcbiAgICAgICAgQHJldHVybiAkcXVlcnktaG9sZGVyO1xuICAgICAgfVxuXG4gICAgfVxuICAgIC8vIElmIHRoZXkncmUgYm90aCBudW1iZXJzLCB3ZSBhc3N1bWUgaXQncyBhIGRvdWJsZSBhbmQgcm9sbCB3aXRoIHRoYXRcbiAgICBAZWxzZSBpZiAodHlwZS1vZihudGgoJHF1ZXJ5LCAxKSkgPT0gJ251bWJlcicgYW5kIHR5cGUtb2YobnRoKCRxdWVyeSwgMikpID09ICdudW1iZXInKSB7XG4gICAgICAkZmVhdHVyZS1ob2xkZXI6IGFwcGVuZChudGgoJHF1ZXJ5LCAxKSwgbnRoKCRxdWVyeSwgMiksIHNwYWNlKTtcbiAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCAkZmVhdHVyZS1ob2xkZXIsIGNvbW1hKTtcbiAgICAgIEByZXR1cm4gJHF1ZXJ5LWhvbGRlcjtcbiAgICB9XG4gICAgLy8gSWYgdGhleSdyZSBib3RoIHN0cmluZ3MgYW5kIG5laXRoZXIgYXJlIHNpbmdsZXMsIHdlIHJvbGwgd2l0aCB0aGF0LlxuICAgIEBlbHNlIGlmICh0eXBlLW9mKG50aCgkcXVlcnksIDEpKSA9PSAnc3RyaW5nJyBhbmQgdHlwZS1vZihudGgoJHF1ZXJ5LCAyKSkgPT0gJ3N0cmluZycpIHtcbiAgICAgIEBpZiBub3QgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKG50aCgkcXVlcnksIDEpKSBhbmQgbm90IGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZyhudGgoJHF1ZXJ5LCAyKSkge1xuICAgICAgICAkZmVhdHVyZS1ob2xkZXI6IGFwcGVuZChudGgoJHF1ZXJ5LCAxKSwgbnRoKCRxdWVyeSwgMiksIHNwYWNlKTtcbiAgICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsICRmZWF0dXJlLWhvbGRlciwgY29tbWEpO1xuICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRsZW5ndGggPT0gMyB7XG4gICAgLy8gSWYgd2UndmUgZ290IHRocmVlIGl0ZW1zIGFuZCBub25lIGlzIGEgbGlzdCwgd2UgY2hlY2sgdG8gc2VlXG4gICAgQGlmIHR5cGUtb2YobnRoKCRxdWVyeSwgMSkpICE9ICdsaXN0JyBhbmQgdHlwZS1vZihudGgoJHF1ZXJ5LCAyKSkgIT0gJ2xpc3QnIGFuZCB0eXBlLW9mKG50aCgkcXVlcnksIDMpKSAhPSAnbGlzdCcge1xuICAgICAgLy8gSWYgbm9uZSBvZiB0aGUgaXRlbXMgYXJlIHNpbmdsZSBzdHJpbmcgdmFsdWVzIGFuZCBub25lIG9mIHRoZSB2YWx1ZXMgYXJlIG1lZGlhIHZhbHVlcywgd2UncmUgZ29vZC5cbiAgICAgIEBpZiAobm90IGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZyhudGgoJHF1ZXJ5LCAxKSkgYW5kIG5vdCBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcobnRoKCRxdWVyeSwgMikpIGFuZCBub3QgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKG50aCgkcXVlcnksIDMpKSkgYW5kICAoKG5vdCBicmVha3BvaW50LWlzLW1lZGlhKG50aCgkcXVlcnksIDEpKSBhbmQgbm90IGJyZWFrcG9pbnQtaXMtbWVkaWEobnRoKCRxdWVyeSwgMikpIGFuZCBub3QgYnJlYWtwb2ludC1pcy1tZWRpYShudGgoJHF1ZXJ5LCAzKSkpKSB7XG4gICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKG50aCgkcXVlcnksIDEpLCBudGgoJHF1ZXJ5LCAyKSwgc3BhY2UpO1xuICAgICAgICAkZmVhdHVyZS1ob2xkZXI6IGFwcGVuZCgkZmVhdHVyZS1ob2xkZXIsIG50aCgkcXVlcnksIDMpLCBzcGFjZSk7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCAkZmVhdHVyZS1ob2xkZXIsIGNvbW1hKTtcbiAgICAgICAgQHJldHVybiAkcXVlcnktaG9sZGVyO1xuICAgICAgfVxuICAgICAgLy8gbGV0J3MgY2hlY2sgdG8gc2VlIGlmIHRoZSBmaXJzdCBpdGVtIGlzIGEgbWVkaWEgdHlwZVxuICAgICAgQGVsc2UgaWYgYnJlYWtwb2ludC1pcy1tZWRpYShudGgoJHF1ZXJ5LCAxKSkge1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgbnRoKCRxdWVyeSwgMSkpO1xuICAgICAgICAkZmVhdHVyZS1ob2xkZXI6IGFwcGVuZChudGgoJHF1ZXJ5LCAyKSwgbnRoKCRxdWVyeSwgMyksIHNwYWNlKTtcbiAgICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsICRmZWF0dXJlLWhvbGRlcik7XG4gICAgICAgIEByZXR1cm4gJHF1ZXJ5LWhvbGRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiBpdCdzIGEgc2luZ2xlIGl0ZW0sIG9yIGlmIGl0J3Mgbm90IGEgc3BlY2lhbCBjYXNlIGRvdWJsZSBvciB0cmlwbGUsIHdlIGNhbiBzaW1wbHkgcmV0dXJuIHRoZSBxdWVyeS5cbiAgQHJldHVybiAkcXVlcnk7XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydCBQaWVjZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCBcInNpbmdsZS9kZWZhdWx0XCI7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLXNpbmdsZSgkZmVhdHVyZSwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpIHtcbiAgJHBhcnNlZDogJyc7XG4gICRsZWFkZXI6ICcnO1xuICAvLyBJZiB3ZSdyZSBmb3JjaW5nXG4gIEBpZiBub3QgKCRlbXB0eS1tZWRpYSkgb3Igbm90ICgkZmlyc3QpIHtcbiAgICAkbGVhZGVyOiAnYW5kICc7XG4gIH1cblxuICAvLyBJZiBpdCdzIGEgc2luZ2xlIGZlYXR1cmUgdGhhdCBjYW4gc3RhbmQgYWxvbmUsIHdlIGxldCBpdFxuICBAaWYgKGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZygkZmVhdHVyZSkpIHtcbiAgICAkcGFyc2VkOiAkZmVhdHVyZTtcbiAgICAvLyBTZXQgQ29udGV4dFxuICAgICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KCRmZWF0dXJlLCAkZmVhdHVyZSk7XG4gIH1cbiAgLy8gSWYgaXQncyBub3QgYSBzdGFuZCBhbG9uZSBmZWF0dXJlLCB3ZSBwYXNzIGl0IG9mZiB0byB0aGUgZGVmYXVsdCBoYW5kbGVyLlxuICBAZWxzZSB7XG4gICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS1kZWZhdWx0KCRmZWF0dXJlKTtcbiAgfVxuXG4gIEByZXR1cm4gJGxlYWRlciArICcoJyArICRwYXJzZWQgKyAnKSc7XG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS1kZWZhdWx0KCRmZWF0dXJlKSB7XG4gICRkZWZhdWx0OiBicmVha3BvaW50LWdldCgnZGVmYXVsdCBmZWF0dXJlJyk7XG5cbiAgLy8gU2V0IENvbnRleHRcbiAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJGRlZmF1bHQsICRmZWF0dXJlKTtcblxuICBAaWYgKGJyZWFrcG9pbnQtZ2V0KCd0byBlbXMnKSA9PSB0cnVlKSBhbmQgKHR5cGUtb2YoJGZlYXR1cmUpID09ICdudW1iZXInKSB7XG4gICAgQHJldHVybiAnI3skZGVmYXVsdH06ICN7YnJlYWtwb2ludC10by1iYXNlLWVtKCRmZWF0dXJlKX0nO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICcjeyRkZWZhdWx0fTogI3skZmVhdHVyZX0nO1xuICB9XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydCBQaWVjZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCBcImRvdWJsZS9kZWZhdWx0LXBhaXJcIjtcbkBpbXBvcnQgXCJkb3VibGUvZG91YmxlLXN0cmluZ1wiO1xuQGltcG9ydCBcImRvdWJsZS9kZWZhdWx0XCI7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLWRvdWJsZSgkZmVhdHVyZSwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpIHtcbiAgJHBhcnNlZDogJyc7XG4gICRsZWFkZXI6ICcnO1xuICAvLyBJZiB3ZSdyZSBmb3JjaW5nXG4gIEBpZiBub3QgKCRlbXB0eS1tZWRpYSkgb3Igbm90ICgkZmlyc3QpIHtcbiAgICAkbGVhZGVyOiAnYW5kICc7XG4gIH1cblxuICAkZmlyc3Q6IG50aCgkZmVhdHVyZSwgMSk7XG4gICRzZWNvbmQ6IG50aCgkZmVhdHVyZSwgMik7XG5cbiAgLy8gSWYgd2UndmUgZ290IHR3byBudW1iZXJzLCB3ZSBrbm93IHdlIG5lZWQgdG8gdXNlIHRoZSBkZWZhdWx0IHBhaXIgYmVjYXVzZSB0aGVyZSBhcmUgbm8gbWVkaWEgcXVlcmllcyB0aGF0IGhhcyBhIG1lZGlhIGZlYXR1cmUgdGhhdCBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkZmlyc3QpID09ICdudW1iZXInIGFuZCB0eXBlLW9mKCRzZWNvbmQpID09ICdudW1iZXInIHtcbiAgICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLWRlZmF1bHQtcGFpcigkZmlyc3QsICRzZWNvbmQpO1xuICB9XG4gIC8vIElmIHRoZXkgYXJlIGJvdGggc3RyaW5ncywgd2Ugc2VuZCBpdCB0aHJvdWdoIHRoZSBzdHJpbmcgcGFyc2VyXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGZpcnN0KSA9PSAnc3RyaW5nJyBhbmQgdHlwZS1vZigkc2Vjb25kKSA9PSAnc3RyaW5nJyB7XG4gICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS1kb3VibGUtc3RyaW5nKCRmaXJzdCwgJHNlY29uZCk7XG4gIH1cbiAgLy8gSWYgaXQncyBhIHN0cmluZy9udW1iZXIgcGFpciwgd2UgcGFyc2UgaXQgYXMgYSBub3JtYWwgZG91YmxlXG4gIEBlbHNlIHtcbiAgICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLWRvdWJsZS1kZWZhdWx0KCRmaXJzdCwgJHNlY29uZCk7XG4gIH1cblxuICBAcmV0dXJuICRsZWFkZXIgKyAkcGFyc2VkO1xufVxuIiwiQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2UtZGVmYXVsdC1wYWlyKCRmaXJzdCwgJHNlY29uZCkge1xuICAkZGVmYXVsdDogYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgcGFpcicpO1xuICAkbWluOiAnJztcbiAgJG1heDogJyc7XG5cbiAgLy8gU29ydCBpbnRvIG1pbiBhbmQgbWF4XG4gICRtaW46IG1pbigkZmlyc3QsICRzZWNvbmQpO1xuICAkbWF4OiBtYXgoJGZpcnN0LCAkc2Vjb25kKTtcblxuICAvLyBTZXQgQ29udGV4dFxuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dChtaW4tI3skZGVmYXVsdH0sICRtaW4pO1xuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dChtYXgtI3skZGVmYXVsdH0sICRtYXgpO1xuXG4gIC8vIE1ha2UgdGhlbSBFTXMgaWYgbmVlZCBiZVxuICBAaWYgKGJyZWFrcG9pbnQtZ2V0KCd0byBlbXMnKSA9PSB0cnVlKSB7XG4gICAgJG1pbjogYnJlYWtwb2ludC10by1iYXNlLWVtKCRtaW4pO1xuICAgICRtYXg6IGJyZWFrcG9pbnQtdG8tYmFzZS1lbSgkbWF4KTtcbiAgfVxuXG4gIEByZXR1cm4gJyhtaW4tI3skZGVmYXVsdH06ICN7JG1pbn0pIGFuZCAobWF4LSN7JGRlZmF1bHR9OiAjeyRtYXh9KSc7XG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS1kb3VibGUtc3RyaW5nKCRmaXJzdCwgJHNlY29uZCkge1xuICAkZmVhdHVyZTogJyc7XG4gICR2YWx1ZTogJyc7XG5cbiAgLy8gVGVzdCB0byBzZWUgd2hpY2ggaXMgdGhlIGZlYXR1cmUgYW5kIHdoaWNoIGlzIHRoZSB2YWx1ZVxuICBAaWYgKGJyZWFrcG9pbnQtc3RyaW5nLXZhbHVlKCRmaXJzdCkgPT0gdHJ1ZSkge1xuICAgICRmZWF0dXJlOiAkZmlyc3Q7XG4gICAgJHZhbHVlOiAkc2Vjb25kO1xuICB9XG4gIEBlbHNlIGlmIChicmVha3BvaW50LXN0cmluZy12YWx1ZSgkc2Vjb25kKSA9PSB0cnVlKSB7XG4gICAgJGZlYXR1cmU6ICRzZWNvbmQ7XG4gICAgJHZhbHVlOiAkZmlyc3Q7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuIFwiTmVpdGhlciAjeyRmaXJzdH0gbm9yICN7JHNlY29uZH0gaXMgYSB2YWxpZCBtZWRpYSBxdWVyeSBuYW1lLlwiO1xuICB9XG5cbiAgLy8gU2V0IENvbnRleHRcbiAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJGZlYXR1cmUsICR2YWx1ZSk7XG5cbiAgQHJldHVybiAnKCN7JGZlYXR1cmV9OiAjeyR2YWx1ZX0pJztcbn0iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS1kb3VibGUtZGVmYXVsdCgkZmlyc3QsICRzZWNvbmQpIHtcbiAgJGZlYXR1cmU6ICcnO1xuICAkdmFsdWU6ICcnO1xuXG4gIEBpZiB0eXBlLW9mKCRmaXJzdCkgPT0gJ3N0cmluZycge1xuICAgICRmZWF0dXJlOiAkZmlyc3Q7XG4gICAgJHZhbHVlOiAkc2Vjb25kO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkZmVhdHVyZTogJHNlY29uZDtcbiAgICAkdmFsdWU6ICRmaXJzdDtcbiAgfVxuXG4gIC8vIFNldCBDb250ZXh0XG4gICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KCRmZWF0dXJlLCAkdmFsdWUpO1xuXG4gIEBpZiAoYnJlYWtwb2ludC1nZXQoJ3RvIGVtcycpID09IHRydWUpIHtcbiAgICAkdmFsdWU6IGJyZWFrcG9pbnQtdG8tYmFzZS1lbSgkdmFsdWUpO1xuICB9XG5cbiAgQHJldHVybiAnKCN7JGZlYXR1cmV9OiAjeyR2YWx1ZX0pJ1xufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnQgUGllY2VzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJ0cmlwbGUvZGVmYXVsdFwiO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS10cmlwbGUoJGZlYXR1cmUsICRlbXB0eS1tZWRpYSwgJGZpcnN0KSB7XG4gICRwYXJzZWQ6ICcnO1xuICAkbGVhZGVyOiAnJztcblxuICAvLyBJZiB3ZSdyZSBmb3JjaW5nXG4gIEBpZiBub3QgKCRlbXB0eS1tZWRpYSkgb3Igbm90ICgkZmlyc3QpIHtcbiAgICAkbGVhZGVyOiAnYW5kICc7XG4gIH1cblxuICAvLyBzZXBhcmF0ZSB0aGUgc3RyaW5nIGZlYXR1cmVzIGZyb20gdGhlIHZhbHVlIG51bWJlcnNcbiAgJHN0cmluZzogbnVsbDtcbiAgJG51bWJlcnM6IG51bGw7XG4gIEBlYWNoICR2YWwgaW4gJGZlYXR1cmUge1xuICAgIEBpZiB0eXBlLW9mKCR2YWwpID09IHN0cmluZyB7XG4gICAgICAkc3RyaW5nOiAkdmFsO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgdHlwZS1vZigkbnVtYmVycykgPT0gJ251bGwnIHtcbiAgICAgICAgJG51bWJlcnM6ICR2YWw7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRudW1iZXJzOiBhcHBlbmQoJG51bWJlcnMsICR2YWwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtdHJpcGxlLWRlZmF1bHQoJHN0cmluZywgbnRoKCRudW1iZXJzLCAxKSwgbnRoKCRudW1iZXJzLCAyKSk7XG5cbiAgQHJldHVybiAkbGVhZGVyICsgJHBhcnNlZDtcblxufVxuIiwiQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2UtdHJpcGxlLWRlZmF1bHQoJGZlYXR1cmUsICRmaXJzdCwgJHNlY29uZCkge1xuXG4gIC8vIFNvcnQgaW50byBtaW4gYW5kIG1heFxuICAkbWluOiBtaW4oJGZpcnN0LCAkc2Vjb25kKTtcbiAgJG1heDogbWF4KCRmaXJzdCwgJHNlY29uZCk7XG5cbiAgLy8gU2V0IENvbnRleHRcbiAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQobWluLSN7JGZlYXR1cmV9LCAkbWluKTtcbiAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQobWF4LSN7JGZlYXR1cmV9LCAkbWF4KTtcblxuICAvLyBNYWtlIHRoZW0gRU1zIGlmIG5lZWQgYmVcbiAgQGlmIChicmVha3BvaW50LWdldCgndG8gZW1zJykgPT0gdHJ1ZSkge1xuICAgICRtaW46IGJyZWFrcG9pbnQtdG8tYmFzZS1lbSgkbWluKTtcbiAgICAkbWF4OiBicmVha3BvaW50LXRvLWJhc2UtZW0oJG1heCk7XG4gIH1cblxuICBAcmV0dXJuICcobWluLSN7JGZlYXR1cmV9OiAjeyRtaW59KSBhbmQgKG1heC0jeyRmZWF0dXJlfTogI3skbWF4fSknO1xufVxuIiwiQGltcG9ydCBcInJlc29sdXRpb24vcmVzb2x1dGlvblwiO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1idWlsZC1yZXNvbHV0aW9uKCRxdWVyeS1wcmludCwgJHF1ZXJ5LXJlc29sdXRpb24sICRlbXB0eS1tZWRpYSwgJGZpcnN0KSB7XG4gICRsZWFkZXI6ICcnO1xuICAvLyBJZiB3ZSdyZSBmb3JjaW5nXG4gIEBpZiBub3QgKCRlbXB0eS1tZWRpYSkgb3Igbm90ICgkZmlyc3QpIHtcbiAgICAkbGVhZGVyOiAnYW5kICc7XG4gIH1cblxuICBAaWYgYnJlYWtwb2ludC1nZXQoJ3RyYW5zZm9ybSByZXNvbHV0aW9ucycpIGFuZCAkcXVlcnktcmVzb2x1dGlvbiB7XG4gICAgJHJlc29sdXRpb25zOiBicmVha3BvaW50LW1ha2UtcmVzb2x1dGlvbnMoJHF1ZXJ5LXJlc29sdXRpb24pO1xuICAgICRsZW5ndGg6IGxlbmd0aCgkcmVzb2x1dGlvbnMpO1xuICAgICRxdWVyeS1ob2xkZXI6ICcnO1xuXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbGVuZ3RoIHtcbiAgICAgICRxdWVyeTogJyN7JHF1ZXJ5LXByaW50fSAjeyRsZWFkZXJ9I3tudGgoJHJlc29sdXRpb25zLCAkaSl9JztcbiAgICAgIEBpZiAkaSA9PSAxIHtcbiAgICAgICAgJHF1ZXJ5LWhvbGRlcjogJHF1ZXJ5O1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkcXVlcnktaG9sZGVyOiAnI3skcXVlcnktaG9sZGVyfSwgI3skcXVlcnl9JztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFJldHVybiB3aXRoIGF0dGFjaGVkIHJlc29sdXRpb25cbiAgICBAcmV0dXJuICRxdWVyeS1wcmludDtcbiAgfVxufVxuIiwiQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWFrZS1yZXNvbHV0aW9ucygkcmVzb2x1dGlvbikge1xuICAkbGVuZ3RoOiBsZW5ndGgoJHJlc29sdXRpb24pO1xuXG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiAkbGVuZ3RoID09IDIge1xuICAgICRmZWF0dXJlOiAnJztcbiAgICAkdmFsdWU6ICcnO1xuXG4gICAgLy8gRmluZCB3aGljaCBpcyBudW1iZXJcbiAgICBAaWYgdHlwZS1vZihudGgoJHJlc29sdXRpb24sIDEpKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IG50aCgkcmVzb2x1dGlvbiwgMSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR2YWx1ZTogbnRoKCRyZXNvbHV0aW9uLCAyKTtcbiAgICB9XG5cbiAgICAvLyBEZXRlcm1pbmUgbWluL21heC9zdGFuZGFyZFxuICAgIEBpZiBpbmRleCgkcmVzb2x1dGlvbiwgJ21pbi1yZXNvbHV0aW9uJykge1xuICAgICAgJGZlYXR1cmU6ICdtaW4tJztcbiAgICB9XG4gICAgQGVsc2UgaWYgaW5kZXgoJHJlc29sdXRpb24sICdtYXgtcmVzb2x1dGlvbicpIHtcbiAgICAgICRmZWF0dXJlOiAnbWF4LSc7XG4gICAgfVxuXG4gICAgJHN0YW5kYXJkOiAnKCN7JGZlYXR1cmV9cmVzb2x1dGlvbjogI3skdmFsdWV9KSc7XG5cbiAgICAvLyBJZiB3ZSdyZSBub3QgZGVhbGluZyB3aXRoIGRwcHgsXG4gICAgQGlmIHVuaXQoJHZhbHVlKSAhPSAnZHBweCcge1xuICAgICAgJGJhc2U6IDk2ZHBpO1xuICAgICAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZHBjbScge1xuICAgICAgICAkYmFzZTogMjQzLjg0ZHBjbTtcbiAgICAgIH1cbiAgICAgIC8vIFdyaXRlIG91dCBmZWF0dXJlIHRlc3RzXG4gICAgICAkd2Via2l0OiAnJztcbiAgICAgICRtb3o6ICcnO1xuICAgICAgJHdlYmtpdDogJygtd2Via2l0LSN7JGZlYXR1cmV9ZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyR2YWx1ZSAvICRiYXNlfSknO1xuICAgICAgJG1vejogJygjeyRmZWF0dXJlfS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyR2YWx1ZSAvICRiYXNlfSknO1xuICAgICAgLy8gQXBwZW5kIHRvIG91dHB1dFxuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICRzdGFuZGFyZCwgc3BhY2UpO1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICR3ZWJraXQsIHNwYWNlKTtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAkbW96LCBzcGFjZSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3ZWJraXQ6ICcnO1xuICAgICAgJG1vejogJyc7XG4gICAgICAkd2Via2l0OiAnKC13ZWJraXQtI3skZmVhdHVyZX1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JHZhbHVlIC8gMWRwcHh9KSc7XG4gICAgICAkbW96OiAnKCN7JGZlYXR1cmV9LW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JHZhbHVlIC8gMWRwcHh9KSc7XG4gICAgICAkZmFsbGJhY2s6ICcoI3skZmVhdHVyZX1yZXNvbHV0aW9uOiAjeyR2YWx1ZSAvIDFkcHB4ICogOTZkcGl9KSc7XG4gICAgICAvLyBBcHBlbmQgdG8gb3V0cHV0XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJHN0YW5kYXJkLCBzcGFjZSk7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJHdlYmtpdCwgc3BhY2UpO1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICRtb3osIHNwYWNlKTtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAkZmFsbGJhY2ssIHNwYWNlKTtcbiAgICB9XG5cbiAgfVxuXG4gIEByZXR1cm4gJG91dHB1dDtcbn1cbiIsIkBmdW5jdGlvbiBicmVha3BvaW50LW5vLXF1ZXJ5KCRxdWVyeSkge1xuICBAaWYgdHlwZS1vZigkcXVlcnkpID09ICdsaXN0JyB7XG4gICAgJGtleXdvcmQ6IG50aCgkcXVlcnksIDEpO1xuXG4gICAgQGlmIHR5cGUtb2YoJGtleXdvcmQpID09ICdzdHJpbmcnIGFuZCAoJGtleXdvcmQgPT0gJ25vLXF1ZXJ5JyBvciAka2V5d29yZCA9PSAnbm8gcXVlcnknIG9yICRrZXl3b3JkID09ICdmYWxsYmFjaycpIHtcbiAgICAgIEByZXR1cm4gbnRoKCRxdWVyeSwgMik7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIERlZmF1bHQgdGhlIEJyZWFrcG9pbnRzIHZhcmlhYmxlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRicmVha3BvaW50czogKCkgIWRlZmF1bHQ7XG4kQlJFQUtQT0lOVFM6ICgpICFkZWZhdWx0O1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFJlc3BvbmQtdG8gQVBJIE1peGluXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBtaXhpbiByZXNwb25kLXRvKCRjb250ZXh0LCAkbm8tcXVlcnk6IGZhbHNlKSB7XG4gIEBpZiBsZW5ndGgoJGJyZWFrcG9pbnRzKSA+IDAgYW5kIGxlbmd0aCgkQlJFQUtQT0lOVFMpID09IDAge1xuICAgIEB3YXJuIFwiSW4gb3JkZXIgdG8gYXZvaWQgdmFyaWFibGUgbmFtZXNwYWNlIGNvbGxpc2lvbnMsIHdlIGhhdmUgdXBkYXRlZCB0aGUgd2F5IHRvIGFkZCBicmVha3BvaW50cyBmb3IgcmVzcG9uZC10by4gUGxlYXNlIGNoYW5nZSBhbGwgaW5zdGFuY2VzIG9mIGAkYnJlYWtwb2ludHM6IGFkZC1icmVha3BvaW50KClgIHRvIGBAaW5jbHVkZSBhZGQtYnJlYWtwb2ludCgpYC4gVGhlIGBhZGQtYnJlYWtwb2ludCgpYCBmdW5jdGlvbiB3aWxsIGJlIGRlcHJlY2F0ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS5cIjtcbiAgICAkQlJFQUtQT0lOVFM6ICRicmVha3BvaW50cyAhZ2xvYmFsO1xuICAgICRicmVha3BvaW50czogKCkgIWdsb2JhbDtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRCUkVBS1BPSU5UUykgIT0gJ21hcCcge1xuICAgIC8vIEp1c3QgaW4gY2FzZSBzb21lb25lIHdyaXRlcyBnaWJiZXJpc2ggdG8gdGhlICRicmVha3BvaW50cyB2YXJpYWJsZS5cbiAgICBAd2FybiBcIllvdXIgYnJlYWtwb2ludHMgYXJlbid0IGEgbWFwISBgcmVzcG9uZC10b2AgZXhwZWN0cyBhIG1hcC4gUGxlYXNlIGNoZWNrIHRoZSB2YWx1ZSBvZiAkQlJFQUtQT0lOVFMgdmFyaWFibGUuXCI7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJEJSRUFLUE9JTlRTLCAkY29udGV4dCkge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWFwLWdldCgkQlJFQUtQT0lOVFMsICRjb250ZXh0KSwgJG5vLXF1ZXJ5KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgbm90IG1hcC1oYXMta2V5KCRCUkVBS1BPSU5UUywgJGNvbnRleHQpIHtcbiAgICBAd2FybiBcImAjeyRjb250ZXh0fWAgaXNuJ3QgYSBkZWZpbmVkIGJyZWFrcG9pbnQhIFBsZWFzZSBhZGQgaXQgdXNpbmcgYCRicmVha3BvaW50czogYWRkLWJyZWFrcG9pbnQoYCN7JGNvbnRleHR9YCwgJHZhbHVlKTtgXCI7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuIFwiWW91IGhhdmVuJ3QgY3JlYXRlZCBhbnkgYnJlYWtwb2ludHMgeWV0ISBNYWtlIHNvbWUgYWxyZWFkeSEgYEBpbmNsdWRlIGFkZC1icmVha3BvaW50KCRuYW1lLCAkYmtwdClgXCI7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBBZGQgQnJlYWtwb2ludCB0byBCcmVha3BvaW50c1xuLy8gVE9ETzogUmVtb3ZlIGZ1bmN0aW9uIGluIG5leHQgcmVsZWFzZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYWRkLWJyZWFrcG9pbnQoJG5hbWUsICRia3B0LCAkb3ZlcndyaXRlOiBmYWxzZSkge1xuICAkb3V0cHV0OiAoJG5hbWU6ICRia3B0KTtcblxuICBAaWYgbGVuZ3RoKCRicmVha3BvaW50cykgPT0gMCB7XG4gICAgQHJldHVybiAkb3V0cHV0O1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbmFtZSkgYW5kICRvdmVyd3JpdGUgIT0gdHJ1ZSB7XG4gICAgICBAd2FybiBcIllvdSBhbHJlYWR5IGhhdmUgYSBicmVha3BvaW50IG5hbWVkIGAjeyRuYW1lfWAsIHBsZWFzZSBjaG9vc2UgYW5vdGhlciBicmVha3BvaW50IG5hbWUsIG9yIHBhc3MgaW4gYCRvdmVyd3JpdGU6IHRydWVgIHRvIG92ZXJ3cml0ZSB0aGUgcHJldmlvdXMgYnJlYWtwb2ludC5cIjtcbiAgICAgIEByZXR1cm4gJGJyZWFrcG9pbnRzO1xuICAgIH1cbiAgICBAZWxzZSBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbmFtZSkgb3IgJG92ZXJ3cml0ZSA9PSB0cnVlIHtcbiAgICAgIEByZXR1cm4gbWFwLW1lcmdlKCRicmVha3BvaW50cywgJG91dHB1dCk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhZGQtYnJlYWtwb2ludCgkbmFtZSwgJGJrcHQsICRvdmVyd3JpdGU6IGZhbHNlKSB7XG4gICRvdXRwdXQ6ICgkbmFtZTogJGJrcHQpO1xuXG4gIEBpZiBsZW5ndGgoJEJSRUFLUE9JTlRTKSA9PSAwIHtcbiAgICAkQlJFQUtQT0lOVFM6ICRvdXRwdXQgIWdsb2JhbDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRCUkVBS1BPSU5UUywgJG5hbWUpIGFuZCAkb3ZlcndyaXRlICE9IHRydWUge1xuICAgICAgQHdhcm4gXCJZb3UgYWxyZWFkeSBoYXZlIGEgYnJlYWtwb2ludCBuYW1lZCBgI3skbmFtZX1gLCBwbGVhc2UgY2hvb3NlIGFub3RoZXIgYnJlYWtwb2ludCBuYW1lLCBvciBwYXNzIGluIGAkb3ZlcndyaXRlOiB0cnVlYCB0byBvdmVyd3JpdGUgdGhlIHByZXZpb3VzIGJyZWFrcG9pbnQuXCI7XG4gICAgICAkQlJFQUtQT0lOVFM6ICRCUkVBS1BPSU5UUyAhZ2xvYmFsO1xuICAgIH1cbiAgICBAZWxzZSBpZiBub3QgbWFwLWhhcy1rZXkoJEJSRUFLUE9JTlRTLCAkbmFtZSkgb3IgJG92ZXJ3cml0ZSA9PSB0cnVlIHtcbiAgICAgICRCUkVBS1BPSU5UUzogbWFwLW1lcmdlKCRCUkVBS1BPSU5UUywgJG91dHB1dCkgIWdsb2JhbDtcbiAgICB9XG4gIH1cbn1cblxuQGZ1bmN0aW9uIGdldC1icmVha3BvaW50KCRuYW1lOiBmYWxzZSkge1xuICBAaWYgJG5hbWUgPT0gZmFsc2Uge1xuICAgIEByZXR1cm4gJEJSRUFLUE9JTlRTO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJEJSRUFLUE9JTlRTLCAkbmFtZSk7XG4gIH1cbn1cbiIsIkBtaXhpbiBsZWdhY3ktc2V0dGluZ3Mtd2FybmluZyB7XG4gICRsZWdhY3lWYXJzOiAoXG4gICAgJ2RlZmF1bHQtbWVkaWEnOiAnZGVmYXVsdCBtZWRpYScsXG4gICAgJ2RlZmF1bHQtZmVhdHVyZSc6ICdkZWZhdWx0IGZlYXR1cmUnLFxuICAgICdmb3JjZS1tZWRpYS1hbGwnOiAnZm9yY2UgYWxsIG1lZGlhIHR5cGUnLFxuICAgICd0by1lbXMnOiAndG8gZW1zJyxcbiAgICAncmVzb2x1dGlvbnMnOiAndHJhbnNmb3JtIHJlc29sdXRpb25zJyxcbiAgICAnbm8tcXVlcmllcyc6ICdubyBxdWVyaWVzJyxcbiAgICAnbm8tcXVlcnktZmFsbGJhY2tzJzogJ25vIHF1ZXJ5IGZhbGxiYWNrcycsXG4gICAgJ2Jhc2UtZm9udC1zaXplJzogJ2Jhc2UgZm9udCBzaXplJyxcbiAgICAnbGVnYWN5LXN5bnRheCc6ICdsZWdhY3kgc3ludGF4J1xuICApO1xuXG4gIEBlYWNoICRsZWdhY3ksICRuZXcgaW4gJGxlZ2FjeVZhcnMge1xuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LScgKyAkbGVnYWN5KSB7XG4gICAgICBAd2FybiBcIkluIG9yZGVyIHRvIGF2b2lkIHZhcmlhYmxlIG5hbXNwYWNlIGNvbGxpc2lvbnMsIHdlIGhhdmUgdXBkYXRlZCB0aGUgd2F5IHRvIGNoYW5nZSBzZXR0aW5ncyBmb3IgQnJlYWtwb2ludC4gUGxlYXNlIGNoYW5nZSBhbGwgaW5zdGFuY2VzIG9mIGAkYnJlYWtwb2ludC0jeyRsZWdhY3l9OiB7e3NldHRpbmd9fWAgdG8gYEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCcjeyRuZXd9Jywge3tzZXR0aW5nfX0pYC4gVmFyaWFibGUgc2V0dGluZ3MsIGFzIHdlbGwgYXMgdGhpcyB3YXJuaW5nIHdpbGwgYmUgZGVwcmVjYXRlZCBpbiBhIGZ1dHVyZSByZWxlYXNlLlwiXG4gICAgfVxuICB9O1xuXG4gIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAvLyBIYW5kIGNvcnJlY3QgZWFjaCBzZXR0aW5nXG4gIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC1kZWZhdWx0LW1lZGlhJykgYW5kICRicmVha3BvaW50LWRlZmF1bHQtbWVkaWEgIT0gYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJ2RlZmF1bHQgbWVkaWEnLCAkYnJlYWtwb2ludC1kZWZhdWx0LW1lZGlhKTtcbiAgfVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC1kZWZhdWx0LWZlYXR1cmUnKSBhbmQgJGJyZWFrcG9pbnQtZGVmYXVsdC1mZWF0dXJlICE9IGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IGZlYXR1cmUnKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJ2RlZmF1bHQgZmVhdHVyZScsICRicmVha3BvaW50LWRlZmF1bHQtZmVhdHVyZSk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtZm9yY2UtbWVkaWEtYWxsJykgYW5kICRicmVha3BvaW50LWZvcmNlLW1lZGlhLWFsbCAhPSBicmVha3BvaW50LWdldCgnZm9yY2UgYWxsIG1lZGlhIHR5cGUnKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJ2ZvcmNlIGFsbCBtZWRpYSB0eXBlJywgJGJyZWFrcG9pbnQtZm9yY2UtbWVkaWEtYWxsKTtcbiAgfVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC10by1lbXMnKSBhbmQgJGJyZWFrcG9pbnQtdG8tZW1zICE9IGJyZWFrcG9pbnQtZ2V0KCd0byBlbXMnKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJ3RvIGVtcycsICRicmVha3BvaW50LXRvLWVtcyk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtcmVzb2x1dGlvbnMnKSBhbmQgJGJyZWFrcG9pbnQtcmVzb2x1dGlvbnMgIT0gYnJlYWtwb2ludC1nZXQoJ3RyYW5zZm9ybSByZXNvbHV0aW9ucycpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgndHJhbnNmb3JtIHJlc29sdXRpb25zJywgJGJyZWFrcG9pbnQtcmVzb2x1dGlvbnMpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LW5vLXF1ZXJpZXMnKSBhbmQgJGJyZWFrcG9pbnQtbm8tcXVlcmllcyAhPSBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnbm8gcXVlcmllcycsICRicmVha3BvaW50LW5vLXF1ZXJpZXMpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LW5vLXF1ZXJ5LWZhbGxiYWNrcycpIGFuZCAkYnJlYWtwb2ludC1uby1xdWVyeS1mYWxsYmFja3MgIT0gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnbm8gcXVlcnkgZmFsbGJhY2tzJywgJGJyZWFrcG9pbnQtbm8tcXVlcnktZmFsbGJhY2tzKTtcbiAgfVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC1iYXNlLWZvbnQtc2l6ZScpIGFuZCAkYnJlYWtwb2ludC1iYXNlLWZvbnQtc2l6ZSAhPSBicmVha3BvaW50LWdldCgnYmFzZSBmb250IHNpemUnKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJ2Jhc2UgZm9udCBzaXplJywgJGJyZWFrcG9pbnQtYmFzZS1mb250LXNpemUpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LWxlZ2FjeS1zeW50YXgnKSBhbmQgJGJyZWFrcG9pbnQtbGVnYWN5LXN5bnRheCAhPSBicmVha3BvaW50LWdldCgnbGVnYWN5IHN5bnRheCcpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnbGVnYWN5IHN5bnRheCcsICRicmVha3BvaW50LWxlZ2FjeS1zeW50YXgpO1xuICB9XG59IiwiQGltcG9ydCAnLi4vYnJlYWtwb2ludCc7XHJcbiRsZzQgOiBtYXgtd2lkdGggIDEyNjBweDtcclxuJGxnMyA6IG1heC13aWR0aCAgMTQwMHB4O1xyXG4kbGcyIDogbWF4LXdpZHRoICAxMDIzcHg7XHJcbiRsZzEgOiBtYXgtd2lkdGggIDk0MHB4O1xyXG4kbGcgOiBtYXgtd2lkdGggIDc2N3B4O1xyXG4kbGd4IDogbWF4LXdpZHRoIDcwMHB4O1xyXG4kbWcgOiBtYXgtd2lkdGggNjQwcHg7XHJcbiRtZCA6IG1heC13aWR0aCA0ODBweDtcclxuJHNtIDogbWF4LXdpZHRoIDM2MHB4O1xyXG4keHMgOiBtYXgtd2lkdGggMzIwcHg7XHJcblxyXG4kY29yX2JsdWU6IzMxNDM2YjtcclxuJGNvcl9ibHVlMjojNjM3ZmQyO1xyXG4kY29yX3Bpbms6I2YwNTI5MTtcclxuJGNvcl9ncmF5OiM1ZDVkNWQ7XHJcbiRjb3JfZGFya2dyYXk6IzMzMztcclxuJG1sOjIwcHg7XHJcblxyXG5he3BhZGRpbmc6MDt9XHJcbiAuam9obm55LXV0YWgge1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxneCkge1xyXG4gICAgY29udGVudDogJ1dob2EuJztcclxuICB9XHJcbiAgXHJcbn1cclxuQG1peGluIGVsbHtcclxuIG92ZXJmbG93OmhpZGRlbjtcclxuIHdoaXRlLXNwYWNlOm5vd3JhcDtcclxuIHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7XHJcbiBkaXNwbGF5OmJsb2NrO1xyXG59XHJcbkBtaXhpbiBjbGVhcmZpeCB7IGRpc3BsYXk6IGJsb2NrOyBcclxuXHQmOmJlZm9yZSwmOmFmdGVyeyBjb250ZW50OiBcIi5cIjsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMDsgY2xlYXI6IGJvdGg7IHZpc2liaWxpdHk6IGhpZGRlbjsgfVxyXG59XHJcblxyXG4uY2xlYXItbGcye2NsZWFyOmJvdGg7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcxKSB7Y2xlYXI6bm9uZX1cclxufVxyXG4uY2xlYXItbGcxe1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMikge2NsZWFyOm5vbmV9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcxKSB7Y2xlYXI6Ym90aH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZ3gpIHtjbGVhcjpub25lfVxyXG59XHJcbi5sZzJ7ZGlzcGxheTpibG9jaztcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpIHtcclxuXHRcdFx0ZGlzcGxheTpub25lO1xyXG5cdFx0fVxyXG59XHJcbi5sZzF7ZGlzcGxheTpub25lO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSkge1xyXG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0fVxyXG59Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBb0JtQkEsQUFBQSxDQUFDLENBQUEsRUFBQyxPQUFPLEVBQUMsQ0FBQyxHQUFJOztBbkI2Q1gsTUFBTSxFQUFHLFNBQVMsRUFBRSxLQUFLLEltQjVDNUIsQUFBQSxZQUFZLENBQUMsRUFFVixPQUFPLEVBQUUsT0FBTyxHQUduQjs7QUFXRCxBQUFBLFVBQVUsQ0FBQSxFQUFDLEtBQUssRUFBQyxJQUFJLEdBRXBCOztBbkIwQkcsTUFBTSxFQUFHLFNBQVMsRUFBRSxLQUFLLEltQjVCN0IsQUFBQSxVQUFVLENBQUEsRUFDa0IsS0FB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 */
