{"css":"*#dm *.dmBody a.span.textonly\n{\n\tcolor:rgb(255,255,255) !important;\n}\n*#dm *.dmBody div.dmPopupInner\n{\n\tbackground-color:rgb(255,255,255) !important;\n\tborder-style:solid !important;\n\tborder-width:0 !important;\n\t-webkit-box-shadow:0 0 10px rgba(0,0,0,0.30) !important;\n\tbox-shadow:0 0 10px rgba(0,0,0,0.30) !important;\n\t-moz-box-shadow:0 0 10px rgba(0,0,0,0.30) !important;\n\tborder-radius:10px !important;\n\t-moz-border-radius:10px !important;\n\t-webkit-border-radius:10px !important;\n\tbackground-image:none !important;\n\tbackground-repeat:no-repeat !important;\n\tbackground-size:cover !important;\n\tbackground-position:top right !important;\n}\n*#dm *.dmBody div.u_dm_content\n{\n\tbackground-image:none !important;\n}\n*#dm *.dmBody nav.u_1144820115\n{\n\tcolor:black !important;\n}\n*#dm *.dmBody nav.u_1576817682\n{\n\tcolor:black !important;\n}\n*#dm *.dmBody *.u_1136552766\n{\n\twidth:100% !important;\n}\n*#dm *.dmBody *.allWrapper .dmPopupInner\n{\n\tborder-radius:0 !important;\n\t-moz-border-radius:0 !important;\n\t-webkit-border-radius:0 !important;\n\tbox-shadow:none !important;\n\t-moz-box-shadow:none !important;\n\t-webkit-box-shadow:none !important;\n\tbackground-color:rgba(0,0,0,0) !important;\n}\n*#dm *.dmBody *.u_1571196806 .listaMultiUnidades\n{\n\ttext-align:CENTER !important;\n}\n*#dm *.dmBody div.u_1694251348\n{\n\tborder-style:solid !important;\n\tborder-color:var(--color_2) !important;\n\tborder-width:2px !important;\n\tbackground-color:var(--color_3) !important;\n}\n*#dm *.dmBody div.u_1571196806 .btnSelectUnidade\n{\n\tborder-style:solid !important;\n\tborder-color:var(--color_2) !important;\n\tborder-width:1px !important;\n\tcolor:var(--color_3) !important;\n\tbackground-color:var(--color_2) !important;\n}\n*#dm *.dmBody *.u_1571196806 .btnSelectUnidade svg\n{\n\tfill:var(--color_3) !important;\n}\n*#dm *.dmBody div.u_1571196806 .listaMultiUnidades li a\n{\n\tborder-style:solid !important;\n\tborder-color:var(--color_5) !important;\n\tborder-width:0px !important;\n}\n*#dm *.dmBody div.u_1571196806 .listaMultiUnidades\n{\n\tborder-style:solid !important;\n\tborder-color:var(--color_5) !important;\n\tborder-width:1px !important;\n\tfont-weight:700 !important;\n\tcolor:var(--color_2) !important;\n}\n*#dm *.dmBody *.u_1571196806 .btnSelectUnidade\n{\n\tjustify-content:center !important;\n\ttext-align:center !important;\n}\n","additionalWidgetCss":"/**/#dm .dmSocialHub:not(.gapSpacing) .socialHubInnerDiv a:not(:last-child){margin-right:5px}.socialHubIcon{display:flex!important;align-items:center;justify-content:center}.socialHubIcon svg{fill:currentColor;width:80%;height:80%}\n.socialHubIcon.style1,.socialHubIcon.style4,.socialHubIcon.style6,.socialHubIcon.style7{background:#617379}.socialHubIcon.style7{box-shadow:0 5px 0 0 #475459}.style1.dmSocialTiktok,.style4.dmSocialTiktok{background:#000}\n.style1.dmSocialFacebook,.style4.dmSocialFacebook{background:#1877f2}.style1.dmSocialTwitter,.style4.dmSocialTwitter{background:#0f1419}.style1.dmSocialGooglePlus,.style4.dmSocialGooglePlus{background:#da4835}\n.style1.dmSocialInstagram,.style4.dmSocialInstagram{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important}.style1.dmSocialYoutube,.style4.dmSocialYoutube{background:red}\n.style1.dmSocialLinkedin,.style4.dmSocialLinkedin{background:#2867b2}.style1.dmSocialYelp,.style4.dmSocialYelp{background:#e43340}.style1.dmSocialPinterest,.style4.dmSocialPinterest{background:#c8232c}\n.style1.dmSocialVimeo,.style4.dmSocialVimeo{background:#1ab7ea}.style1.dmSocialPicasa,.style4.dmSocialPicasa{background:#be81d1}.style1.dmSocialFoursquare,.style4.dmSocialFoursquare{background:#ef4b78}\n.style1.dmSocialRss,.style4.dmSocialRss{background:#f39200}.style1.dmSocialReddit,.style4.dmSocialReddit{background:#ff4500}.style1.dmSocialEmail,.style4.dmSocialEmail{background:#617379}.style1.dmSocialSnapchat,.style4.dmSocialSnapchat{background:#fffc00}\n.style1.dmSocialTripadvisor,.style4.dmSocialTripadvisor{background:#589442}.style1.dmSocialWaze,.style4.dmSocialWaze{background:#56cbe7}.style1.dmSocialGoogleMyBusiness,.style4.dmSocialGoogleMyBusiness{background:#477cdf}\n.style1.dmSocialWhatsapp,.style4.dmSocialWhatsapp{background:#25d366}.style1.dmSocialPhone,.style4.dmSocialPhone{background:#616c79}.style1:after{content:\"\";width:44px;height:28px;display:block;position:absolute;top:0;left:0;z-index:-1;border-radius:10px}\n.style1.dmSocialEmail:after,.style1.dmSocialFacebook:after,.style1.dmSocialFoursquare:after,.style1.dmSocialGoogleMyBusiness:after,.style1.dmSocialGooglePlus:after,.style1.dmSocialInstagram:after,.style1.dmSocialLinkedin:after,.style1.dmSocialPhone:after,.style1.dmSocialPicasa:after,.style1.dmSocialPinterest:after,.style1.dmSocialReddit:after,.style1.dmSocialRss:after,.style1.dmSocialSnapchat:after,.style1.dmSocialTripadvisor:after,.style1.dmSocialTwitter:after,.style1.dmSocialVimeo:after,.style1.dmSocialYelp:after,.style1.dmSocialYoutube:after{background:#fff;opacity:.2}\n.style2.dmSocialTiktok{color:#000}.style2.dmSocialFacebook{color:#1877f2}.style2.dmSocialTwitter{color:#0f1419}.style2.dmSocialGooglePlus{color:#da4835}.style2.dmSocialInstagram:before{background-image:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important;-webkit-background-clip:text;-webkit-text-fill-color:transparent}\n.style2.dmSocialYoutube{color:red}.style2.dmSocialLinkedin{color:#2867b2}.style2.dmSocialYelp{color:#e43340}.style2.dmSocialPinterest{color:#c8232c}.style2.dmSocialVimeo{color:#1ab7ea}.style2.dmSocialPicasa{color:#be81d1}\n.style2.dmSocialFoursquare{color:#ef4b78}.style2.dmSocialRss{color:#f39200}.style2.dmSocialReddit{color:#ff4500}.style2.dmSocialEmail{color:#617379}.style2.dmSocialSnapchat{color:#fffc00}.style2.dmSocialTripadvisor{color:#589442}\n.style2.dmSocialGoogleMyBusiness:before{color:#477cdf}.style2.dmSocialWaze:before{color:#56cbe7}.style2.dmSocialWhatsapp:before{color:#25d366}.style2.dmSocialPhone{color:#616c79}.style6.dmSocialTiktok{background:#000}\n.style6.dmSocialFacebook{background:#1877f2}.style6.dmSocialTwitter{background:#0f1419}.style6.dmSocialGooglePlus{background:#da4835}.style6.dmSocialInstagram{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important}\n.style6.dmSocialYoutube{background:red}.style6.dmSocialLinkedin{background:#2867b2}.style6.dmSocialYelp{background:#e43340}.style6.dmSocialPinterest{background:#c8232c}.style6.dmSocialVimeo{background:#1ab7ea}\n.style6.dmSocialPicasa{background:#be81d1}.style6.dmSocialFoursquare{background:#ef4b78}.style6.dmSocialRss{background:#f39200}.style6.dmSocialReddit{background:#ff4500}.style6.dmSocialEmail{background:#617379}\n.style6.dmSocialSnapchat{background:#fffc00}.style6.dmSocialTripadvisor{background:#589442}.style6.dmSocialWaze{background:#56cbe7}.style6.dmSocialGoogleMyBusiness{background:#477cdf}.style6.dmSocialWhatsapp{background:#25d366}\n.style6.dmSocialPhone{background:#616c79}.style7.dmSocialTiktok{background:#000}.style7.dmSocialFacebook{background:#1877f2;box-shadow:0 5px 0 0 #4b68a5}.style7.dmSocialTwitter{background:#0f1419}.style7.dmSocialGooglePlus{background:#da4835;box-shadow:0 5px 0 0 #c44130}\n.style7.dmSocialInstagram{box-shadow:0 5px 0 0 #ad2271;background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important}.style7.dmSocialYoutube{background:red;box-shadow:0 5px 0 0 #b3392c}\n.style7.dmSocialLinkedin{background:#2867b2;box-shadow:0 5px 0 0 #1278b1}.style7.dmSocialYelp{background:#e43340;box-shadow:0 5px 0 0 #b62933}.style7.dmSocialPinterest{background:#c8232c;box-shadow:0 5px 0 0 #a21a2d}\n.style7.dmSocialVimeo{background:#1ab7ea;box-shadow:0 5px 0 0 #1592bb}.style7.dmSocialPicasa{background:#be81d1;box-shadow:0 5px 0 0 #9867a7}.style7.dmSocialFoursquare{background:#ef4b78;box-shadow:0 5px 0 0 #da3b67}\n.style7.dmSocialRss{background:#f39200;box-shadow:0 5px 0 0 #c27500}.style7.dmSocialReddit{background:#ff4500;box-shadow:0 5px 0 0 #ae5534}.style7.dmSocialEmail{background:#617379;box-shadow:0 5px 0 0 #475459}\n.style7.dmSocialSnapchat{background:#fffc00;box-shadow:0 5px 0 0 #d1d05d}.style7.dmSocialTripadvisor{background:#589442;box-shadow:0 5px 0 0 #4e7b3e}.style7.dmSocialWaze{background:#56cbe7;box-shadow:0 5px 0 0 #475459}\n.style7.dmSocialGoogleMyBusiness{background:#477cdf;box-shadow:0 5px 0 0 #475459}.style7.dmSocialWhatsapp{background:#25d366;box-shadow:0 5px 0 0 #475459}.style7.dmSocialPhone{background:#616c79;box-shadow:0 5px 0 0 #4a5458}/**/.imageWidget{position:relative}.imageWidget a,.imageWidget span.image-caption{font-style:italic;text-align:center}.imageWidget a[data-caption]::after,.imageWidget span[data-caption]::after{content:attr(data-caption);display:block;line-height:100%}\n.imageWidget.with-caption a::after,.imageWidget.with-caption span.image-caption::after{margin-top:12px}.imageWidget img[width][height]{height:auto}[data-flex-site] #fcontainer .imageWidget:after,[data-flex-site] #flex-footer .imageWidget:after,[data-flex-site] #flex-header .imageWidget:after{content:none}\n[data-flex-site] #fcontainer .imageWidget:before,[data-flex-site] #flex-footer .imageWidget:before,[data-flex-site] #flex-header .imageWidget:before{font-size:80px;transform:none}.imageWidget.hover img.hover-image,.imageWidget:hover img.hover-image{display:initial}\n.imageWidget.hover.hasHover img:not(.hover-image),.imageWidget:hover.hasHover img:not(.hover-image){display:none!important}.imageWidget img.hover-image,.imageWidget img.logo-on-scroll{display:none}/**/@media(max-width:767px){body.dmRoot div[dmtemplateid]:not([dmtemplateid=SlideRightTopFloatM]) .dmHeader .multilingualWidget{position:absolute;top:14px;left:13px;margin-top:0}body.dmRoot div[dmtemplateid][dmtemplateid=SlideRightTopFloatM] .dmHeader .multilingualWidget{position:absolute;top:5px;right:17px}\n}@media(min-width:768px) and (max-width:1024px){body:not(.responsiveTablet) #dm div[dmtemplateid=StandardLayoutMultiT] .dmHeader .multilingualWidget{position:absolute!important;top:5px!important;right:17px!important;left:initial!important}\n}@media(max-width:767px){body.dmRoot .dmHeader .displayHidden-inner .multilingualWidget{top:0!important}}#dm_content div.dmRespCol div.multilingualWidget,#hcontainer div.dmRespCol div.multilingualWidget{width:auto!important;display:table!important}\n.multilingualWidget.displayNone{display:none!important}.multilingualWidget>div{position:relative}.multilingualWidget{clear:both;margin:0;vertical-align:top;display:table!important;font-size:0;font-family:sans-serif}\n.multilingualWidget .language{color:#888;display:inline-block}.multilingualWidget .language a{text-align:center;display:inline-block;color:inherit;border:#dadada 1px solid;background-color:#fff}.multilingualWidget .language a img{width:24px;height:26px;min-width:24px;min-height:26px}\n.multilingualWidget .language a span{display:none;line-height:initial}.multilingualWidget .language a span.name{margin-top:5px;margin-left:7px;font-size:12px;font-weight:400;text-transform:capitalize}\n.multilingualWidget .language a span.short-label{font-size:12px}.multilingualWidget .language a:after{line-height:initial}.multilingualWidget.open .current-language a:after{transform:rotate(-180deg)}.multilingualWidget .current-language a:after{transition:transform .2s}\n.multilingualWidget.dropdown .language{width:100%}.multilingualWidget.dropdown .language a{display:block;padding:1px 5px}.multilingualWidget.dropdown .language.other-languages{position:absolute;z-index:800;max-height:0;overflow:hidden;transition:max-height .1s ease-in-out}\n.multilingualWidget.dropdown .language.other-languages a{border-top:0!important}.multilingualWidget.dropdown .current-language{position:relative}.multilingualWidget.dropdown .current-language span.name{padding-right:25px}\n.multilingualWidget.dropdown .dm-icon{font-size:9px;display:inline-block;position:absolute;top:46%;transform:translateY(-50%);transition:transform .2s;right:8px}.multilingualWidget.dropdown.open .dm-icon{transform:rotate(-180deg) translateY(50%)}\n.multilingualWidget.dropdown.open .other-languages{display:block;max-height:300px}.multilingualWidget.dropdown .other-languages,.multilingualWidget.dropdown.flag-only .dm-icon,.multilingualWidget.inline span,.multilingualWidget.no-flag a img{display:none}\n.multilingualWidget.dropdown.flag-only a{border:transparent 1px solid;background-color:transparent}.multilingualWidget.dropdown.flag-only.open .language a{background-color:rgba(0,0,0,.3);border:#dadada 1px solid}\n.multilingualWidget.dropdown.long-label a{text-align:left;padding:2px 0 2px 5px;position:relative;box-sizing:border-box}.multilingualWidget.dropdown.long-label a span.name,.multilingualWidget.inline.flag-only .language,.multilingualWidget.inline.short-label.no-flag span.short-label{display:inline-block}\n.multilingualWidget.dropdown.long-label.no-flag a{padding:7px 10px 9px}.multilingualWidget.dropdown.long-label.no-flag a span.name,.multilingualWidget.dropdown.short-label.no-flag a span.short-label{margin:0;display:inline-block}\n.multilingualWidget.dropdown.short-label.no-flag a{padding:8px 22px 9px 10px;font-size:12px;min-height:32px;height:auto;box-sizing:border-box}.multilingualWidget.dropdown.short-label.no-flag .current-language a:after{top:12px}\n.multilingualWidget.short-label span.short-label{text-transform:uppercase}.multilingualWidget.inline.flag-only a{padding:2px 5px;height:32px;box-sizing:border-box}.multilingualWidget.inline.flag-only .current-language a{box-shadow:inset 0 0 8px 0 rgba(0,0,0,.6);border-right:0;border-right-width:0!important;border-right-color:transparent!important;border-right-style:none!important}\n.multilingualWidget.inline.flag-only .other-languages a:not(:last-child){border-right-width:0!important;border-right-color:transparent!important;border-right-style:none!important}.multilingualWidget.inline.flag-only .dm-icon,.multilingualWidget.inline.short-label.no-flag .dm-icon{display:none}\n.multilingualWidget.inline.short-label.no-flag .current-language a{padding-right:0;border-right-width:0!important;border-right-color:transparent!important;border-right-style:none!important}.multilingualWidget.inline.short-label.no-flag .current-language a span.short-label{font-weight:700}\n.multilingualWidget.inline.short-label.no-flag .other-languages a{border-left-color:transparent!important;border-left-width:0!important;border-left-style:none!important}.multilingualWidget.inline.short-label.no-flag .other-languages a:not(:last-child){padding-right:0;border-right-color:transparent!important;border-right-width:0!important;border-right-style:none!important}\n.multilingualWidget.inline.short-label.no-flag a{position:relative;padding:8px 10px;font-size:12px;min-height:32px;height:auto;text-decoration:none}.multilingualWidget.inline.short-label.no-flag a:after{content:\"/\";position:absolute;top:8px;right:-7px;z-index:1;pointer-events:none}\n.multilingualWidget.inline.short-label.no-flag a:hover .short-label{text-decoration:underline}.multilingualWidget.inline.short-label.no-flag .other-languages a:last-child:after{content:\"\"}/**/.graphicWidget{width:200px;height:200px;margin:10px auto;text-align:center}.graphicWidget svg.svg{width:100%;height:100%;color:#000;fill:#000}.graphicWidgetV2{width:60px;height:60px}.graphicWidgetV3{font-size:0}/**/.dmNewParagraph[data-version] .text-align-left{text-align:left!important}.dmNewParagraph[data-version] .text-align-center{text-align:center!important}.dmNewParagraph[data-version] .text-align-right{text-align:right!important}\n.dmNewParagraph[data-version] .text-align-justify{text-align:justify!important}.dmNewParagraph[data-version] .ql-indent-1{padding:0 1em;padding-inline-end:0;padding-inline-start:3em}.dmNewParagraph[data-version] .ql-indent-2{padding:0 2em;padding-inline-end:0;padding-inline-start:6em}\n.dmNewParagraph[data-version] .ql-indent-3{padding:0 3em;padding-inline-end:0;padding-inline-start:9em}.dmNewParagraph[data-version] .ql-indent-4{padding:0 4em;padding-inline-end:0;padding-inline-start:12em}\n.dmNewParagraph[data-version] .ql-indent-5{padding:0 5em;padding-inline-end:0;padding-inline-start:15em}.dmNewParagraph[data-version] .ql-indent-6{padding:0 6em;padding-inline-end:0;padding-inline-start:18em}\n.dmNewParagraph[data-version] .ql-indent-7{padding:0 7em;padding-inline-end:0;padding-inline-start:21em}.dmNewParagraph[data-version] .ql-indent-8{padding:0 8em;padding-inline-end:0;padding-inline-start:24em}\n.dmNewParagraph[data-version] .ql-indent-9{padding:0 9em;padding-inline-end:0;padding-inline-start:27em}.dmNewParagraph[data-version]{line-height:initial}.dmNewParagraph[data-version] [class*=size-]{width:auto!important;height:auto!important}\n.dmNewParagraph[data-version] h1,.dmNewParagraph[data-version] h2,.dmNewParagraph[data-version] h3,.dmNewParagraph[data-version] h4,.dmNewParagraph[data-version] h5,.dmNewParagraph[data-version] h6,.dmNewParagraph[data-version] ol,.dmNewParagraph[data-version] p,.dmNewParagraph[data-version] ul{margin-top:0;margin-bottom:0}\n.dmNewParagraph[data-version] ol,.dmNewParagraph[data-version] ul{padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.dmNewParagraph[data-version] ol>li,.dmNewParagraph[data-version] ul>li{list-style-type:none;text-indent:-1.5em;margin:0 1em;margin-inline-end:0;margin-inline-start:2em}\n.dmNewParagraph[data-version] ol>li:before,.dmNewParagraph[data-version] ul>li:before{min-width:1em;display:inline-block;margin-right:.5em;margin-inline-start:0;margin-inline-end:.5em;text-align:right;text-align:end}\n.dmNewParagraph[data-version] ul .ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-1}.dmNewParagraph[data-version] ul .ql-indent-1:before{font-weight:700;content:\"○\"}\n.dmNewParagraph[data-version] ul .ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-2}.dmNewParagraph[data-version] ul .ql-indent-2:before,.dmNewParagraph[data-version] ul .ql-indent-3:before,.dmNewParagraph[data-version] ul .ql-indent-4:before,.dmNewParagraph[data-version] ul .ql-indent-5:before,.dmNewParagraph[data-version] ul .ql-indent-6:before,.dmNewParagraph[data-version] ul .ql-indent-7:before,.dmNewParagraph[data-version] ul .ql-indent-8:before,.dmNewParagraph[data-version] ul .ql-indent-9:before{font-weight:700;content:\"■\"}\n.dmNewParagraph[data-version] ul .ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-3}.dmNewParagraph[data-version] ul .ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9;counter-increment:list-4}\n.dmNewParagraph[data-version] ul .ql-indent-5{counter-reset:list-6 list-7 list-8 list-9;counter-increment:list-5}.dmNewParagraph[data-version] ul .ql-indent-6{counter-reset:list-7 list-8 list-9;counter-increment:list-6}\n.dmNewParagraph[data-version] ul .ql-indent-7{counter-reset:list-8 list-9;counter-increment:list-7}.dmNewParagraph[data-version] ul .ql-indent-8{counter-reset:list-9;counter-increment:list-8}.dmNewParagraph[data-version] ul .ql-indent-9{counter-reset:list-10 list-9;counter-increment:list-9}\n.dmNewParagraph[data-version] ul>li:before{font-weight:700;content:\"•\";font-family:Arial}.dmNewParagraph[data-version] ul.custom-list-1>li:not([class^=ql-indent-]):not([class*=\" ql-indent-\"]):before{content:\"○\";transform:scale(1);transform-origin:center right}\n.dmNewParagraph[data-version] ul.custom-list-2>li:not([class^=ql-indent-]):not([class*=\" ql-indent-\"]):before{content:\"★\";transform:scale(.7);transform-origin:center right}\n.dmNewParagraph[data-version] ul.custom-list-3>li:not([class^=ql-indent-]):not([class*=\" ql-indent-\"]):before{content:\"➞\";transform:scale(.8);transform-origin:center right}\n.dmNewParagraph[data-version] ul.custom-list-4>li:not([class^=ql-indent-]):not([class*=\" ql-indent-\"]):before{content:\"+\";transform:scale(.7);transform-origin:center right}\n.dmNewParagraph[data-version] ul.custom-list-5>li:not([class^=ql-indent-]):not([class*=\" ql-indent-\"]):before{content:\"-\";transform:scale(.7);transform-origin:center right}\n.dmNewParagraph[data-version] ul.custom-list-6>li:not([class^=ql-indent-]):not([class*=\" ql-indent-\"]):before{content:\"✓\";transform:scale(.8);transform-origin:center right}\n.dmNewParagraph[data-version] ul.custom-list-7>li:not([class^=ql-indent-]):not([class*=\" ql-indent-\"]):before{content:\"✗\";transform:scale(.8);transform-origin:center right}\n.dmNewParagraph[data-version] ol .ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-1}.dmNewParagraph[data-version] ol .ql-indent-1:before{content:counter(list-1,lower-alpha) \". \"}\n.dmNewParagraph[data-version] ol .ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-2}.dmNewParagraph[data-version] ol .ql-indent-2:before{content:counter(list-2,lower-roman) \". \"}\n.dmNewParagraph[data-version] ol .ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-3}.dmNewParagraph[data-version] ol .ql-indent-3:before{content:counter(list-3,decimal) \". \"}\n.dmNewParagraph[data-version] ol .ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9;counter-increment:list-4}.dmNewParagraph[data-version] ol .ql-indent-4:before{content:counter(list-4,lower-alpha) \". \"}\n.dmNewParagraph[data-version] ol .ql-indent-5{counter-reset:list-6 list-7 list-8 list-9;counter-increment:list-5}.dmNewParagraph[data-version] ol .ql-indent-5:before{content:counter(list-5,lower-roman) \". \"}\n.dmNewParagraph[data-version] ol .ql-indent-6{counter-reset:list-7 list-8 list-9;counter-increment:list-6}.dmNewParagraph[data-version] ol .ql-indent-6:before{content:counter(list-6,decimal) \". \"}\n.dmNewParagraph[data-version] ol .ql-indent-7{counter-reset:list-8 list-9;counter-increment:list-7}.dmNewParagraph[data-version] ol .ql-indent-7:before{content:counter(list-7,lower-alpha) \". \"}\n.dmNewParagraph[data-version] ol .ql-indent-8{counter-reset:list-9;counter-increment:list-8}.dmNewParagraph[data-version] ol .ql-indent-8:before{content:counter(list-8,lower-roman) \". \"}\n.dmNewParagraph[data-version] ol .ql-indent-9{counter-reset:list-10 list-9;counter-increment:list-9}.dmNewParagraph[data-version] ol .ql-indent-9:before{content:counter(list-9,decimal) \". \"}\n.dmNewParagraph[data-version] ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.dmNewParagraph[data-version] ol li:before{content:counter(list-0,decimal) \". \"}\n.dmNewParagraph[data-version] a{vertical-align:initial}@media(min-width:768px) and (max-width:1024px){.dmNewParagraph[data-version] .t-text-align-left{text-align:left!important}.dmNewParagraph[data-version] .t-text-align-center{text-align:center!important}\n.dmNewParagraph[data-version] .t-text-align-right{text-align:right!important}.dmNewParagraph[data-version] .t-text-align-justify{text-align:justify!important}}@media(max-width:767px){.dmRoot .dmNewParagraph[data-version] .m-text-align-left{text-align:left!important}\n.dmRoot .dmNewParagraph[data-version] .m-text-align-center{text-align:center!important}.dmRoot .dmNewParagraph[data-version] .m-text-align-right{text-align:right!important}.dmRoot .dmNewParagraph[data-version] .m-text-align-justify{text-align:justify!important}\n}.inlineBindingLink{color:inherit!important;text-decoration:inherit!important}","isHomePage":false,"customwidgetsdata":[{"widgetId":"03591cdd33774e859bca71c9bbf1a958","version":958,"js":"Y29uc3Qgc2l0ZUlkID0gZGF0YS5zaXRlSWQNCg0KY29uc3QgdXJsT3JpZ2luID0gd2luZG93LmxvY2F0aW9uLm9yaWdpbg0KDQpjb25zdCBjb25maWdzID0gZGF0YS5jb25maWcNCg0KY29uc3QgbGJsU2VsZWN0b3IgPSBjb25maWdzLmxibFNlbGVjdG9yID8/IG51bGwNCg0KY29uc3QgaWNvbkxvY2F0aW9uID0gY29uZmlncy5pY29uTG9jYXRpb24gPz8gbnVsbA0KDQpjb25zdCBpY29uQXJyb3dEb3duID0gY29uZmlncy5pY29uQXJyb3dEb3duID8/IG51bGwNCg0KbGV0IGljbkxvY2F0aW9uID0gaWNvbkxvY2F0aW9uID8gYDxpIGNsYXNzPSJpY29uTG9jYXRpb24iPiR7aWNvbkxvY2F0aW9ufTwvaT5gIDogJycNCg0KbGV0IGljbkFycm93RG93biA9IGljb25BcnJvd0Rvd24gPyBgPGkgY2xhc3M9Imljb25BcnJvd0Rvd24iPiR7aWNvbkFycm93RG93bn08L2k+YCA6ICcnDQoNCmNvbnN0IHVybEZpbmFsUGFnaW5hID0gY29uZmlncy51cmxGaW5hbFBhZ2luYSA/PyBudWxsDQoNCmNvbnN0IHR4dE5hbWVSZWdpb24gPSBjb25maWdzLnR4dE5hbWVSZWdpb24gPz8gbnVsbA0KDQpjb25zdCBoaWRlV2lkZ2V0ID0gY29uZmlncy5oaWRlV2lkZ2V0ID8/IG51bGwNCg0KY29uc3QgcHJldmlldyA9IGRhdGEuaW5FZGl0b3IgfHwgdXJsT3JpZ2luID09PSAiaHR0cHM6Ly9lZGl0b3IubW90b3JsZWFkcy5jbyIgPyB0cnVlIDogZmFsc2UNCg0KY29uc3QgZGV2aWNlID0gZG1BUEkuZ2V0Q3VycmVudERldmljZVR5cGUoKQ0KDQpsZXQgYnRuU2VsZWN0VW5pZGFkZSA9IGVsZW1lbnQucXVlcnlTZWxlY3RvcigiI2J0blNlbGVjdFVuaWRhZGUiKTsNCg0KaWYgKChoaWRlV2lkZ2V0KSAmJiAhYnRuU2VsZWN0VW5pZGFkZS5jbGFzc0xpc3QuY29udGFpbnMoJ2hpZGVXaWRnZXQnKSkgYnRuU2VsZWN0VW5pZGFkZS5jbGFzc0xpc3QuYWRkKCdoaWRlV2lkZ2V0JykNCg0KaWYgKGJ0blNlbGVjdFVuaWRhZGUpIGJ0blNlbGVjdFVuaWRhZGUuaW5uZXJIVE1MID0gYDxzdHJvbmc+JHtpY25Mb2NhdGlvbn08c3Bhbj4ke2xibFNlbGVjdG9yfTwvc3Bhbj48L3N0cm9uZz4ke2ljbkFycm93RG93bn1gDQoNCmxldCBsaXN0YU11bHRpVW5pZGFkZXMgPSBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIi5saXN0YU11bHRpVW5pZGFkZXMiKTsNCg0KY29uc3Qgc2hvd1NlbGVjdFN0YXRlID0gY29uZmlncy5zaG93U2VsZWN0U3RhdGUgPz8gbnVsbA0KDQpjb25zdCBsYmxTZWxlY3RvclN0YXRlID0gc2hvd1NlbGVjdFN0YXRlICYmIGNvbmZpZ3MubGJsU2VsZWN0b3JTdGF0ZSA/IGNvbmZpZ3MubGJsU2VsZWN0b3JTdGF0ZSA6IG51bGwNCg0KbGV0IGJ0blNlbGVjdEVzdGFkbyA9IHNob3dTZWxlY3RTdGF0ZSAmJiBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIiNidG5TZWxlY3RFc3RhZG8iKSA/IGVsZW1lbnQucXVlcnlTZWxlY3RvcigiI2J0blNlbGVjdEVzdGFkbyIpIDogbnVsbA0KDQppZiAoYnRuU2VsZWN0RXN0YWRvKSBidG5TZWxlY3RFc3RhZG8uaW5uZXJIVE1MID0gYDxzdHJvbmc+JHtpY25Mb2NhdGlvbn08c3Bhbj4ke2xibFNlbGVjdG9yU3RhdGV9PC9zcGFuPjwvc3Ryb25nPiR7aWNuQXJyb3dEb3dufWANCg0KbGV0IGxpc3RhTXVsdGlFc3RhZG9zID0gc2hvd1NlbGVjdFN0YXRlICYmIGVsZW1lbnQucXVlcnlTZWxlY3RvcigiLmxpc3RhTXVsdGlFc3RhZG9zIikgPyBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIi5saXN0YU11bHRpRXN0YWRvcyIpIDogbnVsbA0KDQpsZXQgcG9wVXBTZWxlY3RVbml0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiI2RtUG9wdXAiKSA/PyBudWxsDQoNCmxldCBidG5XaGF0c1VuaWRhZGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuYnRuV2hhdHNVbmlkYWRlIikgPz8gbnVsbA0KDQpsZXQgbWVkaWFzUmVnaW9ucyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5tZWRpYXNSZWdpb25zJykgPz8gbnVsbA0KDQpsZXQgdXJsTG9nb011bHRpUmVnaW9lcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5sb2dvTXVsdGlSZWdpb2VzIikgPz8gbnVsbA0KDQovKiBDb25maWd1cmHDp8OjbyBwYXJhIGVkaXRhciBvcyBsaW5rcyBkb3MgbWVudXMgKGRlc2svdGFibGV0L21vYmlsZSkgZG8gc2l0ZSwgcXVhbmRvIHVtYSB1bmlkYWRlIGVzdGl2ZXIgc2VsZWNpb25hZGEgKi8NCmxldCBhbGxUYWdzTWVudSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi51bmlmaWVkbmF2X19pdGVtIik7DQoNCmxldCBhcnJheVBhZ2VJbmRleCA9IFsiLyIsICIvaW5kZXgiLCAiL2luaWNpbyJdDQoNCmlmIChwb3BVcFNlbGVjdFVuaXQubGVuZ3RoID4gMSkgew0KICAgIGZvcihjb25zdCBwb3B1cCBvZiBwb3BVcFNlbGVjdFVuaXQpIHsNCiAgICAgICAgaWYgKHBvcHVwKSB7DQogICAgICAgICAgICBsZXQgYnRuQ2xvc2UgPSBwb3B1cC5xdWVyeVNlbGVjdG9yKCIuZG1Qb3B1cENsb3NlV3JhcHBlciIpDQogICAgICAgICAgICBidG5DbG9zZS5jbGFzc0xpc3QuYWRkKCdkLW5vbmUnKQ0KICAgICAgICAgICAgcG9wdXAucmVtb3ZlQXR0cmlidXRlKCJzdHlsZSIpDQogICAgICAgICAgICBwb3B1cC5jbGFzc0xpc3QuYWRkKCJwb3BVcFNlbGVjdFVuaWRhZGUiKQ0KICAgICAgICB9DQogICAgfQ0KfQ0KDQpjb25zdCBwYXRoc05hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc3BsaXQoIi8iKQ0KDQovKiBGaWx0cm8gZG8gInBhdGhzTmFtZSIsIHBhcmEgbsOjbyBleGliaXIgYXJyYXlzIGVtIGJyYW5jbyAqLw0KbGV0IHBhdGhDbGVhbiA9IHBhdGhzTmFtZS5maWx0ZXIodmFsdWUgPT4gdmFsdWUgIT0gIiIpDQoNCi8vIFRyb2NhIGRlIGxpbmsgZSBub21lIHBhcmEgcMOhZ2luYSBkZSBWZW5kYXMgRGlyZXRhcyBkZSBPcGVuIFJlbmF1bHQNCmlmIChzaXRlSWQgPT09ICI4ZGZhNmIxOSIpIHsNCiAgICBjb25zdCBwYXRoID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lDQogICAgY29uc3QgcGFydHMgPSBwYXRoLnNwbGl0KCcvJykNCiAgICANCiAgICBsZXQgY2l0eSA9IG51bGwNCiAgICANCiAgICBpZiAocGFydHNbMV0gPT09ICdzaXRlJykgew0KICAgICAgICBjaXR5ID0gcGFydHNbM10NCiAgICB9IGVsc2Ugew0KICAgICAgICBjaXR5ID0gcGFydHNbMV0NCiAgICB9DQogICAgDQogICAgaWYgKGNpdHkgPT09ICdmb3otZG8taWd1YWN1JyB8fCBjaXR5ID09PSAndG9sZWRvJykgew0KICAgICAgICBjb25zdCBsaW5rcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy51bmlmaWVkbmF2X19pdGVtJykNCiAgICANCiAgICAgICAgbGlua3MuZm9yRWFjaChsaW5rID0+IHsNCiAgICAgICAgICAgIGNvbnN0IHNwYW4gPSBsaW5rLnF1ZXJ5U2VsZWN0b3IoJy5uYXYtaXRlbS10ZXh0W2RhdGEtbGluay10ZXh0PSJWRU5EQVMgRElSRVRBUyBQUsOTKyJdJykNCiAgICANCiAgICAgICAgICAgIGlmIChzcGFuKSB7DQogICAgICAgICAgICAgICAgc3Bhbi50ZXh0Q29udGVudCA9ICdWRU5EQSBESVJFVEEnDQogICAgDQogICAgICAgICAgICAgICAgY29uc3QgaHJlZiA9IGxpbmsuZ2V0QXR0cmlidXRlKCdocmVmJykNCiAgICAgICAgICAgICAgICBjb25zdCBuZXdIcmVmID0gaHJlZi5yZXBsYWNlKCd2ZW5kYXMtZGlyZXRhcy1jb25jZXNzaW9uYXJpYS1yZW5hdWx0JywgJ3ZlbmRhLWRpcmV0YS1jb25jZXNzaW9uYXJpYS1yZW5hdWx0JykNCiAgICAgICAgICAgICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnaHJlZicsIG5ld0hyZWYpDQogICAgICAgICAgICB9DQogICAgICAgIH0pDQogICAgfQ0KfQ0KLy8gRklNIC0gVHJvY2EgZGUgbGluayBlIG5vbWUgcGFyYSBww6FnaW5hIGRlIFZlbmRhcyBEaXJldGFzIGRlIE9wZW4gUmVuYXVsdA0KDQpmdW5jdGlvbiBxdWVyeVBhcmFtKGtleSkgew0KICAgIGNvbnN0IHBhcnNlZFVybCA9IG5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpOw0KICAgIGNvbnN0IHBhcmFtID0gcGFyc2VkVXJsLnNlYXJjaFBhcmFtcy5nZXQoa2V5KTsNCg0KICAgIGlmIChwYXJhbSAhPT0gbnVsbCkgew0KICAgICAgICByZXR1cm4gcGFyYW07DQogICAgfQ0KDQogICAgcmV0dXJuIHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oa2V5KSA/PyAnJzsNCn0NCg0KY29uc3QgcGFyYW1QcmV2aWV3ID0gcXVlcnlQYXJhbSgncHJldmlldycpDQoNCmNvbnN0IHJhd191cmwgPSBgL3NpdGUvJHtkYXRhLnNpdGVJZH0vJHtwYXJhbVByZXZpZXcgPyAiP3ByZXZpZXc9IitwYXJhbVByZXZpZXcgOiAnJ31gDQoNCmZ1bmN0aW9uIHR4dFRvU2x1Zyh0eHQpIHsNCiAgICByZXR1cm4gdHh0LnRyaW0oKS50b0xvY2FsZUxvd2VyQ2FzZSgnZW4tVVMnKS5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcdTAzMDAtXHUwMzZmJ10vZywgIiIpLnJlcGxhY2UoL1sgXS9nLCAiLSIpLnJlcGxhY2UoIjoiLCAiIikNCn0NCg0KZnVuY3Rpb24gbGlzdFNlbGVjdChyZXN1bHRzLCBoYXNSZWdpb24gPSBudWxsKSB7DQogICAgbGV0IHVybEZpeGVkID0gcHJldmlldyA/IHJhd191cmwgOiB3aW5kb3cubG9jYXRpb24uaHJlZg0KICAgIA0KICAgIHVybEZpeGVkID0gdXJsRml4ZWQuc3BsaXQoIj8iKQ0KICAgICAgICANCiAgICBsZXQgcHJlZml4VXJsID0gcHJldmlldyA/IHVybEZpeGVkWzBdIDogYCR7dXJsT3JpZ2lufS9gDQoNCiAgICBsZXQgdXJsU2VtVW5pZGFkZSA9IGAke3ByZWZpeFVybH0ke3VybEZpeGVkWzFdID8gIj8iICsgdXJsRml4ZWRbMV0gOiAiIn1gDQogICAgDQogICAgbGV0IGNvbnRlbnQgPSAiIg0KICAgIA0KICAgIGlmIChoYXNSZWdpb24pIHsNCiAgICAgICAgY29uc3QgdW5pcXVlSXRlbXMgPSBbXTsNCiAgICAgICAgY29uc3Qgc2VlbiA9IG5ldyBTZXQoKTsNCiAgICAgICAgDQogICAgICAgIGxldCBoYXNVbml0SW5SZWdpb24gPSByZXN1bHRzLmZpbHRlcihyZXN1bHQgPT4gew0KICAgICAgICAgICAgbGV0IHtpZCwgc3RhdGUsIGNpdHksIHVuaWRhZGVfaW50ZWdyYWRvcl9yZWdpYW99ID0gcmVzdWx0LmRhdGEucmVnaWFvX2F0ZW5kaWRhDQogICAgICAgICAgICBsZXQgc2x1Z0NpdHkgPSBjaXR5ID8gdHh0VG9TbHVnKGNpdHkpIDogJycNCiAgICAgICAgICAgIGxldCBzbHVnU3RhdGUgPSBzdGF0ZSA/IHR4dFRvU2x1ZyhzdGF0ZSkgOiAnJw0KICAgICAgICAgICAgbGV0IHNsdWdSZWdpb24gPSBgJHtzbHVnU3RhdGV9JHtzbHVnU3RhdGUgJiYgc2x1Z0NpdHkgPyAnLScgOiAnJ30ke3NsdWdDaXR5fWANCiAgICAgICAgICAgIA0KICAgICAgICAgICAgaWYocGF0aENsZWFuLmluY2x1ZGVzKHNsdWdSZWdpb24pKSB7DQogICAgICAgICAgICAgICAgaWYgKChzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCJpZFVuaXRTZWxlY3RlZCIpKSAmJiAhdW5pZGFkZV9pbnRlZ3JhZG9yX3JlZ2lhby5pbmNsdWRlcyhzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCJpZFVuaXRTZWxlY3RlZCIpKSkgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgiaWRVbml0U2VsZWN0ZWQiKSANCiAgICAgICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCJpZFJlZ2lvbiIsIGlkKQ0KICAgICAgICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oImludGVncmF0b3JJZHMiLCB1bmlkYWRlX2ludGVncmFkb3JfcmVnaWFvKQ0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pDQogICAgICAgIA0KICAgICAgICAvKiBSZW1vdmUgbyBpZFJlZ2lvbiBlIG8gaW50ZWdyYXRvcklkcyBjYXNvIG7Do28gZXN0ZWphIGVtIG5lbmh1bWEgcmVnacOjbyAoZXguOiBzaXRlcyBzZW0gbXVsdGkgcmVnacOjbywgb3UgSW5kZXggcGFkcsOjbywgc2VtIHDDoWdpbmEgZGUgaW50cm9kdcOnw6NvKSAqLw0KICAgICAgICBpZihoYXNVbml0SW5SZWdpb24ubGVuZ3RoID09IDApIHsNCiAgICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oImlkUmVnaW9uIikNCiAgICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oImludGVncmF0b3JJZHMiKQ0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICByZXN1bHRzLmZvckVhY2goaXRlbSA9PiB7DQogICAgICAgICAgY29uc3QgeyBpZCwgY2lkYWRlLCBlc3RhZG8gfSA9IGl0ZW0uZGF0YS5yZWdpYW9fYXRlbmRpZGE7DQogICAgICAgICAgY29uc3Qga2V5ID0gYCR7aWR9LSR7Y2lkYWRlfS0ke2VzdGFkb31gOyAvLyBDb21iaW5hw6fDo28gw7puaWNhDQogICAgICAgIA0KICAgICAgICAgIGlmICghc2Vlbi5oYXMoa2V5KSkgew0KICAgICAgICAgICAgc2Vlbi5hZGQoa2V5KTsNCiAgICAgICAgICAgIHVuaXF1ZUl0ZW1zLnB1c2goaXRlbSk7DQogICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgDQogICAgICAgIHJlc3VsdHMgPSB1bmlxdWVJdGVtcw0KICAgIH0NCiAgICANCiAgICByZXN1bHRzLmZvckVhY2gocmVnaW9uID0+IHsNCiAgICAgICAgbGV0IHtjcm1faWQsIGlkLCBuYW1lLCB3aGF0c2FwcF9jbGVhbiwgd2hhdHNhcHBfdGV4dCwgcmVnaWFvX2F0ZW5kaWRhLCBuZXR3b3Jrc30gPSByZWdpb24uZGF0YQ0KICAgICAgICBsZXQgc2x1Z1N0b3JlID0gdHh0VG9TbHVnKG5hbWUpDQogICAgICAgIA0KICAgICAgICBsZXQge3VybEZpbmFsLCBuYW1lUGF0aDEsIG5hbWVQYXRoMiwgdHh0TmFtZX0gPSAiIg0KICAgICAgICANCiAgICAgICAgaWYgKGhhc1JlZ2lvbikgew0KICAgICAgICAgICAgbGV0IHtpZCwgc3RhdGUsIGNpdHksIHVuaWRhZGVfaW50ZWdyYWRvcl9yZWdpYW99ID0gcmVnaWFvX2F0ZW5kaWRhDQogICAgICAgICAgICBsZXQgc2x1Z0NpdHkgPSBjaXR5ID8gdHh0VG9TbHVnKGNpdHkpIDogJycNCiAgICAgICAgICAgIGxldCBzbHVnU3RhdGUgPSBzdGF0ZSA/IHR4dFRvU2x1ZyhzdGF0ZSkgOiAnJw0KICAgICAgICAgICAgbGV0IHNsdWdSZWdpb24gPSBgJHtzbHVnU3RhdGV9JHtzbHVnU3RhdGUgJiYgc2x1Z0NpdHkgPyAnLScgOiAnJ30ke3NsdWdDaXR5fWANCiAgICAgICAgICAgIA0KICAgICAgICAgICAgaWYgKG1lZGlhc1JlZ2lvbnMpIHsNCiAgICAgICAgICAgICAgICBsZXQgbGlua3MgPSBtZWRpYXNSZWdpb25zLnF1ZXJ5U2VsZWN0b3JBbGwoJ2FbYXJpYS1sYWJlbF0nKSA/PyBbXQ0KICAgICAgICAgICAgICAgIGxpbmtzLmZvckVhY2gobGluayA9PiB7DQogICAgICAgICAgICAgICAgICAgIGxldCBzb2NpYWxNZWRpYSA9IGxpbmsuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJykNCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgIGlmIChwYXRoQ2xlYW4ubGVuZ3RoID49IDEpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcGF0aCBvZiBwYXRoQ2xlYW4pIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocGF0aCA9PSBzbHVnUmVnaW9uKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXR3b3Jrcy5sZW5ndGggPiAwKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbmV0d29yayA9IG5ldHdvcmtzLmZpbmQobiA9PiBuLm1lZGlhLnRvTG93ZXJDYXNlKCkgPT09IGxpbmsuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJykpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXR3b3JrKSBsaW5rLmhyZWYgPSBuZXR3b3JrLnVybA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICANCiAgICAgICAgICAgIHVybEZpbmFsID0gYCR7cHJlZml4VXJsfSR7c2x1Z1JlZ2lvbn0vJHt1cmxGaW5hbFBhZ2luYStzbHVnQ2l0eX0ke3VybEZpeGVkWzFdID8gIj8iICsgdXJsRml4ZWRbMV0gOiAiIn1gDQogICAgICAgICAgICANCiAgICAgICAgICAgIG5hbWVQYXRoMSA9IHNsdWdSZWdpb24NCiAgICAgICAgICAgIG5hbWVQYXRoMiA9IHVybEZpbmFsUGFnaW5hK3NsdWdDaXR5DQogICAgICAgICAgICB0eHROYW1lID0gY2l0eQ0KICAgICAgICB9DQogICAgICAgIGVsc2Ugew0KICAgICAgICAgICAgY3JtX2lkID0gY3JtX2lkICYmIGNybV9pZCAhPSAiMCIgPyBjcm1faWQgOiAiIg0KICAgICAgICANCiAgICAgICAgICAgIHdoYXRzYXBwX3RleHQgPSB3aGF0c2FwcF90ZXh0ID8gYD90ZXh0PSR7d2hhdHNhcHBfdGV4dH1gIDogIiINCiAgICAgICAgICAgIA0KICAgICAgICAgICAgaWYgKGJ0bldoYXRzVW5pZGFkZSAmJiBidG5XaGF0c1VuaWRhZGUubGVuZ3RoID4gMCkgew0KICAgICAgICAgICAgICAgIGlmIChwYXRoQ2xlYW4ubGVuZ3RoID49IDEpIHsNCiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBwYXRoIG9mIHBhdGhDbGVhbikgew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNsdWdTdG9yZSA9PSBwYXRoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yKGNvbnN0IGJ0biBvZiBidG5XaGF0c1VuaWRhZGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnRuLmhyZWYgPSBgaHR0cHM6Ly93YS5tZS8ke3doYXRzYXBwX2NsZWFufSR7d2hhdHNhcHBfdGV4dH1gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgDQogICAgICAgICAgICBsZXQgcnBsU2x1Z1N0b3JlID0gc2x1Z1N0b3JlLnJlcGxhY2VBbGwoIm10LWNhbm9wdXMiLCAiIikucmVwbGFjZUFsbCgicGEtY2Fub3B1cyIsICIiKS5yZXBsYWNlQWxsKCJkZi1jYW5vcHVzIiwgIiIpLnJlcGxhY2VBbGwoInJvLWNhbm9wdXMiLCAiIikNCiAgICAgICAgICAgIHVybEZpbmFsID0gYCR7cHJlZml4VXJsfSR7c2x1Z1N0b3JlfS8ke3VybEZpbmFsUGFnaW5hK3JwbFNsdWdTdG9yZX0ke3VybEZpeGVkWzFdID8gIj8iICsgdXJsRml4ZWRbMV0gOiAiIn1gDQogICAgICAgICAgICANCiAgICAgICAgICAgIG5hbWVQYXRoMSA9IHNsdWdTdG9yZQ0KICAgICAgICAgICAgbmFtZVBhdGgyID0gdXJsRmluYWxQYWdpbmErcnBsU2x1Z1N0b3JlDQogICAgICAgICAgICB0eHROYW1lID0gbmFtZQ0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICBjb250ZW50ICs9IGA8bGk+PGEgaHJlZj0iJHt1cmxGaW5hbH0iIGRhdGEtcGF0aDE9IiR7bmFtZVBhdGgxfSIgZGF0YS1wYXRoMj0iJHtuYW1lUGF0aDJ9Ij4ke3R4dE5hbWVSZWdpb24gPyBgJHt0eHROYW1lUmVnaW9ufSBgIDogYGB9JHt0eHROYW1lfTwvYT48L2xpPmANCiAgICAgICAgDQogICAgfSkNCiAgICANCiAgICByZXR1cm4gY29udGVudA0KfQ0KDQpmdW5jdGlvbiBjYWxsT3RoZXJJbmZvcygpIHsNCiAgICBsZXQgdHh0U2VsZWN0VW5pZGFkZSA9IGJ0blNlbGVjdFVuaWRhZGUucXVlcnlTZWxlY3Rvcigic3BhbiIpOw0KICAgIGxldCBsaW5rc1VuaWRhZGVzID0gZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCIubGlzdGFNdWx0aVVuaWRhZGVzIGxpIGEiKTsNCiAgICANCiAgICBsZXQgdXJsT3JpZ2luSW5QcncgPSB1cmxPcmlnaW4rcmF3X3VybA0KICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgdXJsT3JpZ2luSW5QcncgPSB1cmxPcmlnaW5JblBydy5zcGxpdCgiPyIpDQogICAgDQogICAgbGV0IGluZm9VbmlkYWRlQXRpdmEgPSAiIg0KICAgIGxldCBpbmZvSG9tZUF0aXZhID0gIiINCiAgICANCiAgICBmb3IoY29uc3QgbG5rVW5pZGFkZSBvZiBsaW5rc1VuaWRhZGVzKSB7DQogICAgICAgIGxldCBkYXRhSW5mb1VuaWRhZGUgPSBsbmtVbmlkYWRlLmdldEF0dHJpYnV0ZSgiZGF0YS1wYXRoMSIpID8/IG51bGwNCiAgICAgICAgbGV0IGRhdGFJbmZvSG9tZSA9IGxua1VuaWRhZGUuZ2V0QXR0cmlidXRlKCJkYXRhLXBhdGgyIikgPz8gbnVsbA0KICAgICAgICANCiAgICAgICAgaWYgKHBhdGhDbGVhbi5sZW5ndGggPj0gMSkgew0KICAgICAgICAgICAgZm9yIChjb25zdCBwYXRoIG9mIHBhdGhDbGVhbikgew0KICAgICAgICAgICAgICAgIGlmIChkYXRhSW5mb1VuaWRhZGUgPT0gcGF0aCkgew0KICAgICAgICAgICAgICAgICAgICB0eHRTZWxlY3RVbmlkYWRlLmlubmVyVGV4dCA9IGxua1VuaWRhZGUuaW5uZXJUZXh0DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICBpbmZvVW5pZGFkZUF0aXZhID0gZGF0YUluZm9VbmlkYWRlDQogICAgICAgICAgICAgICAgICAgIGluZm9Ib21lQXRpdmEgPSBkYXRhSW5mb0hvbWUNCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgIGZvcihjb25zdCBsbmtNZW51IG9mIGFsbFRhZ3NNZW51KSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWxua01lbnUuaHJlZi5pbmNsdWRlcyhwYXRoKSAmJiBsbmtNZW51LmhyZWYuaW5jbHVkZXModXJsT3JpZ2luKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBjbGVhclVybE9yaWdpbiA9IHByZXZpZXcgPyB1cmxPcmlnaW5JblByd1swXSA6IHVybE9yaWdpbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBjbGVhclBhcmFtc1BydyA9IHByZXZpZXcgPyB1cmxPcmlnaW5JblByd1sxXSA6ICIiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHVybEZpbmFsID0gcHJldmlldyA/IGxua01lbnUuaHJlZi5yZXBsYWNlKGNsZWFyVXJsT3JpZ2luLCAiLyIpIDogbG5rTWVudS5ocmVmLnJlcGxhY2UoY2xlYXJVcmxPcmlnaW4sICIiKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybEZpbmFsID0gZGVjb2RlVVJJKHVybEZpbmFsKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB1cmxGaW5hbFNwbGl0ZWQgPSB1cmxGaW5hbC5zcGxpdCgiPyIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJwbFNsdWdTdG9yZSA9IGRhdGFJbmZvVW5pZGFkZS5yZXBsYWNlQWxsKCJtdC1jYW5vcHVzIiwgIiIpLnJlcGxhY2VBbGwoInBhLWNhbm9wdXMiLCAiIikucmVwbGFjZUFsbCgiZGYtY2Fub3B1cyIsICIiKS5yZXBsYWNlQWxsKCJyby1jYW5vcHVzIiwgIiIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsRmluYWxTcGxpdGVkWzBdID0gYXJyYXlQYWdlSW5kZXguaW5jbHVkZXModXJsRmluYWxTcGxpdGVkWzBdKSA/IGAvJHtkYXRhSW5mb0hvbWV9YCA6IHVybEZpbmFsU3BsaXRlZFswXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybEZpbmFsID0gdXJsRmluYWxTcGxpdGVkLmpvaW4oIj8iKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBsbmtQcmV2aWV3ID0gcmF3X3VybC5zcGxpdCgiPyIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsRmluYWwgPSBwcmV2aWV3ID8gbG5rUHJldmlld1swXStkYXRhSW5mb1VuaWRhZGUrdXJsRmluYWwgOiBjbGVhclVybE9yaWdpbisiLyIrZGF0YUluZm9VbmlkYWRlK3VybEZpbmFsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbG5rTWVudS5ocmVmID0gdXJsRmluYWwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihsbmtNZW51LmhyZWYgPT09IHdpbmRvdy5sb2NhdGlvbi5ocmVmKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxua01lbnUuY2xhc3NMaXN0LmFkZCgiY3VycmVudFBhZ2UiKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsbmtNZW51LmNsYXNzTGlzdC5hZGQoImRtTmF2SXRlbVNlbGVjdGVkIikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxua01lbnUuY2xhc3NMaXN0LnJlbW92ZSgiY3VycmVudFBhZ2UiKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsbmtNZW51LmNsYXNzTGlzdC5yZW1vdmUoImRtTmF2SXRlbVNlbGVjdGVkIikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQogICAgDQogICAgaWYgKHBhdGhDbGVhbi5sZW5ndGggPj0gMSkgew0KICAgICAgICBpZiAocGF0aENsZWFuLmluY2x1ZGVzKGluZm9VbmlkYWRlQXRpdmEpICYmIHVybExvZ29NdWx0aVJlZ2lvZXMpIHsNCiAgICAgICAgICAgIGZvciAoY29uc3QgdXJsTXVsdGkgb2YgdXJsTG9nb011bHRpUmVnaW9lcykgew0KICAgICAgICAgICAgICAgIGxldCBwYXJhbXNQcmV2aWV3ID0gdXJsTXVsdGkuaHJlZi5zcGxpdCgiPyIpDQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgbGV0IGxua1ByZXZpZXcgPSByYXdfdXJsLnNwbGl0KCI/IikNCiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICBsZXQgdXJsRmluYWxMb2dvID0gcHJldmlldyA/IGxua1ByZXZpZXdbMF0raW5mb1VuaWRhZGVBdGl2YSsiLyIraW5mb0hvbWVBdGl2YSsiPyIrcGFyYW1zUHJldmlld1sxXSA6IHVybE9yaWdpbisiLyIraW5mb1VuaWRhZGVBdGl2YSsiLyIraW5mb0hvbWVBdGl2YQ0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIGlmICgodXJsTXVsdGkucmF3X3VybCkgJiYgdXJsTXVsdGkucmF3X3VybCAhPSB1cmxGaW5hbExvZ28pIHVybE11bHRpLnJhd191cmwgPSB1cmxGaW5hbExvZ28NCiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICBpZiAodXJsTXVsdGkuaHJlZiAhPSB1cmxGaW5hbExvZ28pIHVybE11bHRpLmhyZWYgPSB1cmxGaW5hbExvZ28NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIA0KICAgICAgICB9DQogICAgfQ0KfQ0KDQpkbUFQSS5sb2FkQ29sbGVjdGlvbnNBUEkoKS50aGVuKGFwaSA9PiB7DQoJYXBpLmRhdGEoIkFQSV9MRUFEUEhPTkVTIikuZ2V0KCkudGhlbihyZXNwb25zZSA9PiB7DQogICAgICAgIGxldCByZXN1bHRzID0gcmVzcG9uc2UudmFsdWVzDQoJICAgIA0KCSAgICAvKiBWZXJpZmljYSBzZSBUT0RBUyBhcyB1bmlkYWRlcyBlc3TDo28gVklOQ1VMQURBUyDDgCBSRUdJw4NPIEFURU5ESURBIG5hIENlbnRyYWwgZGUgTWFya2V0aW5nICAqLw0KICAgICAgICBjb25zdCB1bml0c1dpdGhJZHNSZWdpb25zID0gcmVzdWx0cy5ldmVyeShyZXN1bHQgPT4gcmVzdWx0LmRhdGEucmVnaWFvX2F0ZW5kaWRhX2lkICE9PSBudWxsICYmIHJlc3VsdC5kYXRhLnJlZ2lhb19hdGVuZGlkYV9pZCAhPT0gMCk7DQogICAgICAgIA0KICAgICAgICBpZighdW5pdHNXaXRoSWRzUmVnaW9ucykgew0KICAgICAgICAgICAgcmVzdWx0cyA9IHJlc3VsdHMuZmlsdGVyKHggPT4gew0KICAgICAgICAgICAgICAgIGlmICgoeC5kYXRhLnNob3cpICYmIHguZGF0YS5zaG93LmluZGV4T2YoImhlYWRlciIpICE9PSAtMSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4geC5kYXRhDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgaWYgKHVuaXRzV2l0aElkc1JlZ2lvbnMgJiYgbGlzdGFNdWx0aUVzdGFkb3MpIHsNCiAgICAgICAgICAgIC8qIE1hcGVhbWVudG8gZGUgdG9kb3Mgb3MgRXN0YWRvcyBzZW0gcmVwZXRpw6fDo28gKi8NCiAgICAgICAgICAgIGNvbnN0IGVzdGFkb3NVbmljb3MgPSBbLi4ubmV3IFNldChyZXN1bHRzLm1hcChpdGVtID0+IGl0ZW0uZGF0YS5yZWdpYW9fYXRlbmRpZGEuc3RhdGUpKV0NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgLyogTWFwZWFtZW50byBkZSB0b2RvcyBvcyBFc3RhZG9zIHNlbSByZXBldGnDp8OjbyAqLw0KICAgICAgICAgICAgY29uc3QgZXN0YWRvc1VuaWNvc0hUTUwgPSBlc3RhZG9zVW5pY29zLm1hcChzdGF0ZSA9PiBgPGxpIGRhdGEtc3RhdGU9IiR7dHh0VG9TbHVnKHN0YXRlKX0iPiR7c3RhdGV9PC9saT5gKS5qb2luKCcnKQ0KICAgICAgICAgICAgDQogICAgICAgICAgICBsaXN0YU11bHRpRXN0YWRvcy5pbm5lckhUTUwgPSBlc3RhZG9zVW5pY29zSFRNTCA/IGVzdGFkb3NVbmljb3NIVE1MIDogIjxsaT5OZW5odW0gRXN0YWRvIGZvaSBjb25maWd1cmFkbyBuYSBDZW50cmFsIGRlIE1hcmtldGluZzwvbGk+Ig0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICBsZXQgdW5pZGFkZSA9ICIiDQogICAgDQogICAgICAgIGxldCB1cmxGaXhlZCA9IHByZXZpZXcgPyByYXdfdXJsIDogd2luZG93LmxvY2F0aW9uLmhyZWYNCiAgICAgICAgDQogICAgICAgIHVybEZpeGVkID0gdXJsRml4ZWQuc3BsaXQoIj8iKQ0KICAgICAgICAgICAgDQogICAgICAgIGxldCBwcmVmaXhVcmwgPSBwcmV2aWV3ID8gdXJsRml4ZWRbMF0gOiBgJHt1cmxPcmlnaW59L2ANCiAgICANCiAgICAgICAgbGV0IHVybFNlbVVuaWRhZGUgPSBgJHtwcmVmaXhVcmx9JHt1cmxGaXhlZFsxXSA/ICI/IiArIHVybEZpeGVkWzFdIDogIiJ9YA0KICAgICAgICANCiAgICAgICAgaWYgKGJ0blNlbGVjdFVuaWRhZGUuY2xhc3NMaXN0LmNvbnRhaW5zKCdkLW5vbmUnKSkgYnRuU2VsZWN0VW5pZGFkZS5jbGFzc0xpc3QucmVtb3ZlKCdkLW5vbmUnKQ0KICAgICAgICANCiAgICAgICAgbGlzdGFNdWx0aVVuaWRhZGVzLmlubmVySFRNTCA9IGAke2xpc3RTZWxlY3QocmVzdWx0cywgdW5pdHNXaXRoSWRzUmVnaW9ucyl9YA0KICAgICAgICBjYWxsT3RoZXJJbmZvcygpDQogICAgICAgIA0KICAgICAgICAvKiBFdmVudG8gY2xpY2sgZG8gYm90w6NvIHBhcmEgZXhpYmnDp8OjbyBkYSBsaXN0YWdlbSBkZSB1bmlkYWRlcyAqLw0KICAgICAgICBpZiAoYnRuU2VsZWN0RXN0YWRvKSB7DQogICAgICAgICAgICBidG5TZWxlY3RFc3RhZG8uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoZXZlbnQpID0+IHsNCiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KICAgICAgICAgICAgICAgIGxpc3RhTXVsdGlFc3RhZG9zLmNsYXNzTGlzdC50b2dnbGUoInNob3ciKQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgbGlzdGFNdWx0aUVzdGFkb3MucXVlcnlTZWxlY3RvckFsbCgibGlbZGF0YS1zdGF0ZV0iKS5mb3JFYWNoKGl0ZW0gPT4gew0KICAgICAgICAgICAgICAgIGl0ZW0uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgbGV0IG5hbWVSZWdpb24gPSB0aGlzLnRleHRDb250ZW50DQogICAgICAgICAgICAgICAgICAgIGxldCBzbHVnU3RhdGVTZWxlY3RlZCA9IHRoaXMuZ2V0QXR0cmlidXRlKCJkYXRhLXN0YXRlIikNCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgIGxpc3RhTXVsdGlVbmlkYWRlcy5xdWVyeVNlbGVjdG9yQWxsKCJsaT5hIikuZm9yRWFjaChjaXR5TGlzdCA9PiB7DQogICAgICAgICAgICAgICAgICAgICAgICBsZXQgc2x1Z0NpdHkgPSBjaXR5TGlzdC5nZXRBdHRyaWJ1dGUoImRhdGEtcGF0aDEiKQ0KICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXNsdWdDaXR5LmNvbnRhaW5zKHNsdWdTdGF0ZVNlbGVjdGVkKSkgY2l0eUxpc3QucGFyZW50Tm9kZS5jbGFzc0xpc3QuYWRkKCdkLW5vbmUnKQ0KICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoY2l0eUxpc3QucGFyZW50Tm9kZS5jbGFzc0xpc3QuY29udGFpbnMoJ2Qtbm9uZScpKSBjaXR5TGlzdC5wYXJlbnROb2RlLmNsYXNzTGlzdC5yZW1vdmUoJ2Qtbm9uZScpDQogICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgIGxldCB0eHRTZWxlY3RVbmlkYWRlID0gYnRuU2VsZWN0RXN0YWRvLnF1ZXJ5U2VsZWN0b3IoInNwYW4iKQ0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgdHh0U2VsZWN0VW5pZGFkZS5pbm5lclRleHQgPSBuYW1lUmVnaW9uDQogICAgICAgICAgICAgICAgICAgIGxpc3RhTXVsdGlFc3RhZG9zLmNsYXNzTGlzdC50b2dnbGUoInNob3ciKQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIGJ0blNlbGVjdFVuaWRhZGUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoZXZlbnQpID0+IHsNCiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQogICAgICAgICAgICBsaXN0YU11bHRpVW5pZGFkZXMuY2xhc3NMaXN0LnRvZ2dsZSgic2hvdyIpDQogICAgICAgIH0pDQoJfSkNCn0pDQoNCi8vIFJFVkVNQVIgLS0tIE7Dg08gUkVNT1ZFUg0KaWYgKHNpdGVJZCA9PT0gIjYyMWQ1MDk4IiAmJiAhZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmluaXRpYWxSZXZlbWFyIikpIHsNCiAgICBjb25zdCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7DQogICAgc3R5bGUuaW5uZXJIVE1MID0gYA0KICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsNCiAgICAgICAgICAgIC5saXN0YU11bHRpVW5pZGFkZXMgeyB3aWR0aDogOTIuN3Z3ICFpbXBvcnRhbnQ7IH0NCiAgICAgICAgICAgIC5idG5TZWxlY3RVbmlkYWRlIHsgbWFyZ2luLXRvcDogNzVweCAhaW1wb3J0YW50OyB9DQogICAgICAgIH0NCiAgICBgOw0KICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOw0KfQ0KLy8gUkVWRU1BUiAtLS0gTsODTyBSRU1PVkVSDQo=","css":".btnSelectUnidade {\n height: 40px !important;\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n align-items: center;\n cursor: pointer;\n gap: calc(var(--gap) / 1.5);\n}\n\n.btnSelectUnidade.hideWidget {\n height: 0px !important;\n display: none !important;\n}\n\n.btnSelectUnidade strong {\n display: flex;\n align-items: center;\n gap: 5px;\n line-height: 1;\n}\n\n.btnSelectUnidade .iconLocation,\n.btnSelectUnidade .iconArrowDown {\n display: flex;\n}\n\n.btnSelectUnidade .iconLocation svg {\n width: 30px;\n}\n\n.btnSelectUnidade .iconArrowDown {\n padding-right: 7px;\n}\n\n.btnSelectUnidade .iconArrowDown svg {\n width: 10px;\n}\n\n.listaMultiEstados,\n.listaMultiUnidades {\n position: absolute;\n z-index: 99;\n display: none;\n width: 100%;\n height: auto;\n text-align: start;\n list-style: none;\n background: #FFF;\n margin: 0;\n padding: 10px 0;\n transition: max-height 0.2s ease-in-out;\n overflow: hidden;\n max-height: 0;\n}\n\n.listaMultiEstados.show,\n.listaMultiUnidades.show {\n display: block;\n max-height: 550px;\n}\n\n.listaMultiEstados li,\n.listaMultiUnidades li a {\n display: block;\n transition: all 0.2s ease-in-out;\n}\n\n.listaMultiEstados li:hover,\n.listaMultiUnidades li a:hover {\n background: #f2f2f2;\n}\n\n.popUpSelectUnidade {\n width: calc(100% - 30px) !important;\n max-width: 480px !important;\n top: 50% !important;\n left: 50% !important;\n transform: translate(-50%, -50%) !important;\n margin: 0 !important;\n}\n\n.popUpSelectUnidade .listaMultiEstados,\n.popUpSelectUnidade .listaMultiUnidades,\n#flex-runtime-popup .listaMultiEstados,\n#flex-runtime-popup .listaMultiUnidades {\n position: relative;\n}\n\n.logoMultiRegioes {\n display: flex;\n}\n\n.boxSideBySide {\n display: flex;\n flex-wrap: wrap;\n gap: var(--gap);\n}\n\n.boxSideBySide .sideBySide {\n position: relative;\n flex: 2;\n}\n\n.selectUnitRegions, .selectUnitCities {\n text-decoration: none;\n color: #000;\n}\n","strings":{}},{"widgetId":"6f0adc5c1bd84284839274ed8f7491fa","version":1244,"js":"aWYgKCFkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzY3JpcHRbc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL3N3aXBlckAxMC9zd2lwZXItYnVuZGxlLm1pbi5qcyJdJykgJiYgIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NjcmlwdFtzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vc3dpcGVyQDExL3N3aXBlci1idW5kbGUubWluLmpzIl0nKSkgew0KICAgIGRtQVBJLmxvYWRTY3JpcHQoJ2h0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vc3dpcGVyQDEwL3N3aXBlci1idW5kbGUubWluLmpzJywgKCkgPT4gew0KICAgICAgICBkb2N1bWVudC5oZWFkLmlubmVySFRNTCA9IGA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vc3dpcGVyQDEwL3N3aXBlci1idW5kbGUubWluLmNzcyIgbWVkaWE9InByaW50IiBvbmxvYWQ9InRoaXMubWVkaWE9J2FsbCciLz5gICsgZG9jdW1lbnQuaGVhZC5pbm5lckhUTUwNCiAgICB9KTsNCn0NCg0KaWYgKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oImlkVW5pdFRvU2VsZWN0IikpIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oImlkVW5pdFRvU2VsZWN0IikNCg0KY29uc3Qgc2l0ZUlkID0gZGF0YS5zaXRlSWQNCg0KY29uc3QgdXJsT3JpZ2luID0gd2luZG93LmxvY2F0aW9uLm9yaWdpbg0KDQovLyBjb25zdCBhcGlMZWFkUGhvbmUgPSBgaHR0cHM6Ly9hcGkubW90b3JsZWFkcy5jby9hcGkvbGVhZHBob25lcz9kdWRhX2lkPSR7c2l0ZUlkfSZfX2FtcF9zb3VyY2Vfb3JpZ2luPSR7dXJsT3JpZ2lufWANCg0KLy8gaWYgKCFkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBsaW5rW2hyZWY9IiR7YXBpTGVhZFBob25lfSJdYCkpIHsNCi8vICAgICBkb2N1bWVudC5oZWFkLmlubmVySFRNTCA9IGA8bGluayByZWw9InByZWxvYWQiIGhyZWY9IiR7YXBpTGVhZFBob25lfSIgYXM9ImZldGNoIiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj5gICsgZG9jdW1lbnQuaGVhZC5pbm5lckhUTUwNCi8vIH0NCg0KY29uc3QgYm94TWFwYSA9IGVsZW1lbnQucXVlcnlTZWxlY3RvcigiLmJveE1hcGEiKSA/PyBudWxsDQpjb25zdCBsaXN0YVVuaWRhZGVzID0gZWxlbWVudC5xdWVyeVNlbGVjdG9yKCIubGlzdGFVbmlkYWRlcyIpID8/IG51bGwNCmNvbnN0IGJveE1hcGFGb3RvID0gZWxlbWVudC5xdWVyeVNlbGVjdG9yKCIubWFwYVVuaWRhZGVzIikgPz8gbnVsbA0KDQpjb25zdCBwYXRoc05hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc3BsaXQoIi8iKQ0KDQovKiBGaWx0cm8gZG8gInBhdGhzTmFtZSIsIHBhcmEgbsOjbyBleGliaXIgYXJyYXlzIGVtIGJyYW5jbyAqLw0KbGV0IHBhdGhDbGVhbiA9IHBhdGhzTmFtZS5maWx0ZXIodmFsdWUgPT4gdmFsdWUgIT0gIiIpDQoNCmNvbnN0IGRldmljZSA9IGRhdGEuZGV2aWNlID09ICJtb2JpbGUiID8/IGZhbHNlDQoNCmNvbnN0IGxheW91dFVuaWRhZGUgPSBkYXRhLmNvbmZpZy5sYXlvdXRVbmlkYWRlDQoNCmNvbnN0IGljb25Vbml0ID0gZGF0YS5jb25maWcuaWNvblVuaXQNCmNvbnN0IGljb25BZGRyZXMgPSBkYXRhLmNvbmZpZy5pY29uQWRkcmVzID8/ICcnDQpjb25zdCBpY29uRW1haWwgPSBkYXRhLmNvbmZpZy5pY29uRW1haWwgPz8gJycNCmNvbnN0IGljb25CdG4gPSBkYXRhLmNvbmZpZy5pY29uQnRuID8/ICcnDQoNCmNvbnN0IHByZWZpeFRpdGxlID0gZGF0YS5jb25maWcucHJlZml4VGl0bGUgPz8gJycNCg0KY29uc3QgY2VudGVySW5mb3MgPSBkYXRhLmNvbmZpZy5jZW50ZXJJbmZvcyA/PyBudWxsDQoNCmNvbnN0IHRleHRvbmRpc3BsYXkgPSBkYXRhLmNvbmZpZy50ZXh0b25kaXNwbGF5ID8/IG51bGwNCg0KY29uc3QgdG9nZ2xlSW1hZ2VUb3lvdGEgPSBkYXRhLmNvbmZpZy50b2dnbGVJbWFnZVRveW90YSA/PyBudWxsDQoNCmNvbnN0IHNob3dOZXR3b3JrcyA9IGRhdGEuY29uZmlnLnNob3dOZXR3b3JrcyA/PyAnJw0KY29uc3QgaWNvbkZhY2Vib29rID0gZGF0YS5jb25maWcuaWNvbkZhY2Vib29rID8/ICcnDQpjb25zdCBpY29uSW5zdGFncmFtID0gZGF0YS5jb25maWcuaWNvbkluc3RhZ3JhbSA/PyAnJw0KY29uc3QgaWNvbkxpbmtlZGluID0gZGF0YS5jb25maWcuaWNvbkxpbmtlZGluID8/ICcnDQpjb25zdCBpY29uVHdpdHRlciA9IGRhdGEuY29uZmlnLmljb25Ud2l0dGVyID8/ICcnDQpjb25zdCBpY29uWW91dHViZSA9IGRhdGEuY29uZmlnLmljb25Zb3V0dWJlID8/ICcnDQpjb25zdCBpY29uVGlrdG9rID0gZGF0YS5jb25maWcuaWNvblRpa3RvayA/PyAnJw0KY29uc3QgaWNvblBob25lID0gZGF0YS5jb25maWcuaWNvblBob25lID8/ICcnDQpjb25zdCBpY29uV2hhdHNhcHAgPSBkYXRhLmNvbmZpZy5pY29uV2hhdHNhcHAgPz8gJycNCmNvbnN0IGljb25GdW5jaW9uYW1lbnRvID0gZGF0YS5jb25maWcuaWNvbkZ1bmNpb25hbWVudG8gPz8gJycNCg0KY29uc3QgdGV4dExpbmtNYXBzID0gZGF0YS5jb25maWcudGV4dExpbmtNYXBzID8/ICcnDQpjb25zdCB0ZXh0TGlua1dhemUgPSBkYXRhLmNvbmZpZy50ZXh0TGlua1dhemUgPz8gJycNCmNvbnN0IGNoZWNrYm94TWFwcyA9IGRhdGEuY29uZmlnLmNoZWNrYm94TWFwcw0KY29uc3QgY2hlY2tib3hXYXplID0gZGF0YS5jb25maWcuY2hlY2tib3hXYXplDQoNCmNvbnN0IHRleHRCdG5Vbml0ID0gZGF0YS5jb25maWcudGV4dEJ0blVuaXQgPz8gJycNCg0KY29uc3QgYWxpZ25BcnJvd3MgPSBkYXRhLmNvbmZpZy5hbGlnbkFycm93cyA/PyAnJw0KDQpjb25zdCBoaWRlVGl0bGUgPSBkYXRhLmNvbmZpZy5oaWRlVGl0bGUgPz8gbnVsbA0KY29uc3QgaGlkZVBob25lID0gZGF0YS5jb25maWcuaGlkZVBob25lID8/IG51bGwNCmNvbnN0IGhpZGVXaGF0cyA9IGRhdGEuY29uZmlnLmhpZGVXaGF0cyA/PyBudWxsDQoNCmNvbnN0IHRvZ2dsZUxpbmtQaG9uZSA9ICFoaWRlUGhvbmUgJiYgZGF0YS5jb25maWcudG9nZ2xlTGlua1Bob25lID8gZGF0YS5jb25maWcudG9nZ2xlTGlua1Bob25lIDogbnVsbA0KY29uc3QgbGlua1JlZGlyZWN0UGhvbmUgPSB0b2dnbGVMaW5rUGhvbmUgJiYgZGF0YS5jb25maWcubGlua1JlZGlyZWN0UGhvbmUgPyBkYXRhLmNvbmZpZy5saW5rUmVkaXJlY3RQaG9uZSA6IG51bGwNCmNvbnN0IHR4dExpbmtQaG9uZXMgPSB0b2dnbGVMaW5rUGhvbmUgJiYgZGF0YS5jb25maWcudHh0TGlua1Bob25lcyA/IGRhdGEuY29uZmlnLnR4dExpbmtQaG9uZXMgOiBudWxsDQoNCmNvbnN0IHRvZ2dsZUxpbmtXaGF0cyA9ICFoaWRlV2hhdHMgJiYgZGF0YS5jb25maWcudG9nZ2xlTGlua1doYXRzID8gZGF0YS5jb25maWcudG9nZ2xlTGlua1doYXRzIDogbnVsbA0KY29uc3QgbGlua1JlZGlyZWN0V2hhdHMgPSB0b2dnbGVMaW5rV2hhdHMgJiYgZGF0YS5jb25maWcubGlua1JlZGlyZWN0V2hhdHMgPyBkYXRhLmNvbmZpZy5saW5rUmVkaXJlY3RXaGF0cyA6IG51bGwNCmNvbnN0IHR4dExpbmtXaGF0cyA9IHRvZ2dsZUxpbmtXaGF0cyAmJiBkYXRhLmNvbmZpZy50eHRMaW5rV2hhdHMgPyBkYXRhLmNvbmZpZy50eHRMaW5rV2hhdHMgOiBudWxsDQoNCmNvbnN0IHRleHRUZWwgPSBkYXRhLmNvbmZpZy50ZXh0VGVsID8/ICcnDQpjb25zdCB0ZXh0V2hhdHMgPSBkYXRhLmNvbmZpZy50ZXh0V2hhdHMgPz8gJycNCg0KY29uc3QgdG9nZ2xlQ2Fyb3VzZWwgPSBkYXRhLmNvbmZpZy50b2dnbGVDYXJvdXNlbCA/PyBudWxsDQoNCmNvbnN0IHRvZ2dsZUhvcml6b250YWxMYXlvdXQgPSBkYXRhLmNvbmZpZy50b2dnbGVIb3Jpem9udGFsTGF5b3V0ID8/IG51bGwNCg0KY29uc3QgcG9zaXRpb25Ub3BJY29uRnVuYyA9IGRhdGEuY29uZmlnLnBvc2l0aW9uVG9wSWNvbkZ1bmMgPz8gbnVsbA0KDQpjb25zdCBmaWx0ZXJCeVVuaXQgPSBkYXRhLmNvbmZpZy5maWx0ZXJCeVVuaXQgPz8gbnVsbA0KDQppZiAoIWZpbHRlckJ5VW5pdCkgew0KICAgIGlmIChzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdpZFVuaXRTZWxlY3RlZCcpKSBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCdpZFVuaXRTZWxlY3RlZCcpDQogICAgaWYgKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3VuaXQnKSkgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgndW5pdCcpDQp9DQoNCmNvbnN0IGVudiA9IGRtQVBJLmdldEN1cnJlbnRFbnZpcm9ubWVudCgpDQoNCmNvbnN0IGxpbmtQYWdlID0gZGF0YS5jb25maWcubGlua1BhZ2UgPz8gJycNCmxldCB1cmxMaW5rID0gIiINCmxldCB0Z3RVcmxMaW5rID0gIiINCg0KbGV0IGNhcnJvc3NlbCA9IGxheW91dFVuaWRhZGUgPT0gIm1hcGFVbmlkYWRlcyIgPyB0cnVlIDogZmFsc2UNCmxldCBjYXJvdXNlbFRveW90YSA9IGxheW91dFVuaWRhZGUgPT0gJ2Nhcm91c2VsVG95b3RhJyA/IHRydWUgOiBmYWxzZQ0KbGV0IGZvdG8gPSBsYXlvdXRVbmlkYWRlID09ICJmb3RvVW5pZGFkZXMiID8gdHJ1ZSA6IGZhbHNlDQpsZXQgZm90b3RleHQgPSBsYXlvdXRVbmlkYWRlID09ICJmb3RvVW5pZGFkZXNUZXh0IiA/IHRydWUgOiBmYWxzZQ0KbGV0IGxpc3RhTWFwYSA9IGxheW91dFVuaWRhZGUgPT0gImxpc3RhTWFwYSIgPyB0cnVlIDogZmFsc2UNCmxldCBsaXN0VW5pdHNDYXJvdXNlbCA9IGxheW91dFVuaWRhZGUgPT0gImxpc3RVbml0c0Nhcm91c2VsIiA/IHRydWUgOiBmYWxzZQ0KDQppZiAobGlzdGFNYXBhKSBib3hNYXBhRm90by5jbGFzc0xpc3QuYWRkKCJtYXBhRm90b0xpc3RNYXBhIikNCmlmIChsaXN0YU1hcGEpIGJveE1hcGEuY2xhc3NMaXN0LmFkZCgiaW52ZXJ0IikNCmlmIChsaXN0YU1hcGEpIGxpc3RhVW5pZGFkZXMuY2xhc3NMaXN0LmFkZCgidW5pZGFkZXNMaXN0YU1hcGEiKQ0KDQppZiAobGlua1BhZ2UpIHsNCiAgICB1cmxMaW5rID0gZW52ID09ICdlZGl0b3InIHx8IGVudiA9PSAncHJldmlldycgPyBsaW5rUGFnZS5yYXdfdXJsIDogbGlua1BhZ2UuaHJlZg0KICAgIHRndFVybExpbmsgPSBsaW5rUGFnZS50YXJnZXQgPyBgIHRhcmdldD0iJHtsaW5rUGFnZS50YXJnZXR9ImAgOiBgYA0KfQ0KDQpjb25zdCB1bHRpbW9QYXRoID0gdXJsTGluay5zcGxpdCgnLycpLmZpbHRlcihCb29sZWFuKS5wb3AoKTsNCnVybExpbmsgPSB1cmxMaW5rLmluY2x1ZGVzKHVsdGltb1BhdGgpID8gdXJsTGluay5yZXBsYWNlKHVsdGltb1BhdGgsICIiKSA6IHVybExpbmsNCg0KY29uc3QgdHh0U2VsZWN0Q2l0aWVzID0gbGlzdFVuaXRzQ2Fyb3VzZWwgJiYgZGF0YS5jb25maWcudHh0U2VsZWN0Q2l0aWVzID8gZGF0YS5jb25maWcudHh0U2VsZWN0Q2l0aWVzIDogbnVsbA0KDQpjb25zdCBib3hTZWxlY3RzVW5pdHMgPSBsaXN0VW5pdHNDYXJvdXNlbCAmJiBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5ib3hTZWxlY3RzVW5pdHMnKSA/IGVsZW1lbnQucXVlcnlTZWxlY3RvcignLmJveFNlbGVjdHNVbml0cycpIDogbnVsbA0KDQovLyBjb25zdCBzZWxlY3RVbml0UmVnaW9ucyA9IGJveFNlbGVjdHNVbml0cyAmJiBib3hTZWxlY3RzVW5pdHMucXVlcnlTZWxlY3RvcignLnNlbGVjdFVuaXRSZWdpb25zJykgPyBib3hTZWxlY3RzVW5pdHMucXVlcnlTZWxlY3RvcignLnNlbGVjdFVuaXRSZWdpb25zJykgOiBudWxsDQpsZXQgc2VsZWN0U3RhdGVzID0gYm94U2VsZWN0c1VuaXRzICYmIGJveFNlbGVjdHNVbml0cy5xdWVyeVNlbGVjdG9yKCdzZWxlY3RbbmFtZT0ic2VsZWN0U3RhdGVzIl0nKSA/IGJveFNlbGVjdHNVbml0cy5xdWVyeVNlbGVjdG9yKCdzZWxlY3RbbmFtZT0ic2VsZWN0U3RhdGVzIl0nKSA6IG51bGwNCg0KLy8gY29uc3Qgc2VsZWN0VW5pdENpdGllcyA9IGJveFNlbGVjdHNVbml0cyAmJiBib3hTZWxlY3RzVW5pdHMucXVlcnlTZWxlY3RvcignLnNlbGVjdFVuaXRDaXRpZXMnKSA/IGJveFNlbGVjdHNVbml0cy5xdWVyeVNlbGVjdG9yKCcuc2VsZWN0VW5pdENpdGllcycpIDogbnVsbA0KbGV0IHNlbGVjdENpdGllcyA9IGJveFNlbGVjdHNVbml0cyAmJiBib3hTZWxlY3RzVW5pdHMucXVlcnlTZWxlY3Rvcignc2VsZWN0W25hbWU9InNlbGVjdENpdGllcyJdJykgPyBib3hTZWxlY3RzVW5pdHMucXVlcnlTZWxlY3Rvcignc2VsZWN0W25hbWU9InNlbGVjdENpdGllcyJdJykgOiBudWxsDQoNCmZ1bmN0aW9uIHR4dFRvU2x1Zyh0eHQpIHsNCiAgICByZXR1cm4gdHh0LnRyaW0oKS50b0xvY2FsZUxvd2VyQ2FzZSgnZW4tVVMnKS5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcdTAzMDAtXHUwMzZmJ10vZywgIiIpLnJlcGxhY2UoL1sgXS9nLCAiLSIpLnJlcGxhY2UoIjoiLCAiIikNCn0NCg0KZnVuY3Rpb24gZnVuY0xpc3RVbml0cyhyZXN1bHRzLCBsb2FkQ29sbGVjdGlvbnNBUEkgPSBudWxsKSB7DQogICAgbGV0IHJlc3BvbnNlID0gJycNCiAgICBsZXQgYXJySW1ncyA9IFtdDQogICAgbGV0IGFyck1hcHMgPSBbXQ0KICAgIA0KICAgIGNvbnN0IHVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmOw0KICAgIGNvbnN0IHVybE9iaiA9IG5ldyBVUkwodXJsKQ0KICAgIGNvbnN0IHBhdGhTZWdtZW50cyA9IHVybE9iai5wYXRobmFtZS5zcGxpdCgnLycpLmZpbHRlcihzZWdtZW50ID0+IHNlZ21lbnQgIT09ICcnKQ0KICAgIGNvbnN0IHVuaXRTZWdtZW50ID0gcGF0aFNlZ21lbnRzLmxlbmd0aCA+IDAgPyBgLyR7cGF0aFNlZ21lbnRzWzBdfWAgOiAnJw0KICAgIA0KICAgIC8qIENvbmZpZ3MgcGFyYSBzZXRhciBsaW5rIFBPUFVQIG5vcyB0ZWxlZm9uZXMgZGFzIHVuaWRhZGVzLCBubyBsdWdhciBkbyBsaW5rIGRlIHJlZGlyZWN0IHByaW5jaXBhbCAqLw0KICAgIGxldCBmaW5hbExpbmtQaG9uZSA9ICIiLCBsaW5rX3R5cGVQaG9uZSA9ICIiLCBwb3B1cF90YXJnZXRQaG9uZSA9ICIiLCBmaW5hbExpbmtXaGF0cyA9ICIiLCBsaW5rX3R5cGVXaGF0cyA9ICIiLCBwb3B1cF90YXJnZXRXaGF0cyA9ICIiOw0KICAgIGlmICh0b2dnbGVMaW5rUGhvbmUgJiYgKGxpbmtSZWRpcmVjdFBob25lICYmIE9iamVjdC5rZXlzKGxpbmtSZWRpcmVjdFBob25lKS5sZW5ndGggPiAwKSkgew0KICAgICAgICBpZiAobGlua1JlZGlyZWN0UGhvbmUudHlwZSA9PSAicG9wdXAiKSB7DQogICAgICAgICAgICBsaW5rX3R5cGVQaG9uZSA9IGBsaW5rX3R5cGU9IiR7bGlua1JlZGlyZWN0UGhvbmUubGlua190eXBlfSJgDQogICAgICAgICAgICBwb3B1cF90YXJnZXRQaG9uZSA9IGBwb3B1cF90YXJnZXQ9IiR7bGlua1JlZGlyZWN0UGhvbmUucG9wdXBfdGFyZ2V0fSJgDQogICAgICAgICAgICBmaW5hbExpbmtQaG9uZSA9IGVudiA9PSAnZWRpdG9yJyB8fCBlbnYgPT0gJ3ByZXZpZXcnID8gbGlua1JlZGlyZWN0UGhvbmUucmF3X3VybCA6IGxpbmtSZWRpcmVjdFBob25lLmhyZWYNCiAgICAgICAgfQ0KICAgIH0NCiAgICBpZiAodG9nZ2xlTGlua1doYXRzICYmIChsaW5rUmVkaXJlY3RXaGF0cyAmJiBPYmplY3Qua2V5cyhsaW5rUmVkaXJlY3RXaGF0cykubGVuZ3RoID4gMCkpIHsNCiAgICAgICAgaWYgKGxpbmtSZWRpcmVjdFdoYXRzLnR5cGUgPT0gInBvcHVwIikgew0KICAgICAgICAgICAgbGlua190eXBlV2hhdHMgPSBgbGlua190eXBlPSIke2xpbmtSZWRpcmVjdFdoYXRzLmxpbmtfdHlwZX0iYA0KICAgICAgICAgICAgcG9wdXBfdGFyZ2V0V2hhdHMgPSBgcG9wdXBfdGFyZ2V0PSIke2xpbmtSZWRpcmVjdFdoYXRzLnBvcHVwX3RhcmdldH0iYA0KICAgICAgICAgICAgZmluYWxMaW5rV2hhdHMgPSBlbnYgPT0gJ2VkaXRvcicgfHwgZW52ID09ICdwcmV2aWV3JyA/IGxpbmtSZWRpcmVjdFdoYXRzLnJhd191cmwgOiBsaW5rUmVkaXJlY3RXaGF0cy5ocmVmDQogICAgICAgIH0NCiAgICB9DQogICAgDQogICAgZm9yIChjb25zdCByZXN1bHQgb2YgcmVzdWx0cykgew0KICAgICAgICBsZXQgeyBjcm1faWQsIGlkLCB1bmlkYWRlX2ludGVncmFkb3IsIG1lZGlhcywgbmFtZSwgYWRkcmVzcywgZnVuY2lvbmFtZW50bywgbWFwLCBwaG9uZSwgd2hhdHNhcHAsIGVtYWlsLCBuZXR3b3Jrcywgb3JkZXIsIHdoYXRzYXBwX2NsZWFuLCB3aGF0c2FwcF90ZXh0LCBzbXMsIHNtc190ZXh0LCBpbWFnZSwgcmVnaWFvX2F0ZW5kaWRhIH0gPSBsb2FkQ29sbGVjdGlvbnNBUEkgPyByZXN1bHQuZGF0YSA6IHJlc3VsdA0KICAgICAgICANCiAgICAgICAgaWYgKG1lZGlhcy5sZW5ndGggPiAwKSB7DQogICAgICAgICAgICBjb25zdCBtZWRpYXNGaWx0ZXJlZCA9IG1lZGlhcy5maWx0ZXIoeCA9PiB4Lm5hbWUudG9Mb2NhbGVMb3dlckNhc2UoKSA9PT0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgibSIpKQ0KICAgICAgICAgICAgaWYgKG1lZGlhc0ZpbHRlcmVkLmxlbmd0aCA+IDApIHsNCiAgICAgICAgICAgICAgICBwaG9uZSA9IG1lZGlhc0ZpbHRlcmVkWzBdLnBob25lDQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIGxldCBzbHVnQ2l0eSA9ICIiDQogICAgICAgIGxldCBzbHVnU3RhdGUgPSAiIg0KICAgICAgICBsZXQgc2x1Z1JlZ2lvbiA9ICIiDQogICAgICAgIGxldCBpZFVuaXRJbnRlZ3JhdG9yID0gIiINCiAgICAgICAgaWYgKGxpc3RVbml0c0Nhcm91c2VsKSB7DQogICAgICAgICAgICBsZXQge3N0YXRlLCBjaXR5LCB1bmlkYWRlX2ludGVncmFkb3JfcmVnaWFvfSA9IHJlZ2lhb19hdGVuZGlkYQ0KICAgICAgICAgICAgaWRVbml0SW50ZWdyYXRvciA9IHVuaWRhZGVfaW50ZWdyYWRvcl9yZWdpYW8NCiAgICAgICAgICAgIHNsdWdDaXR5ID0gY2l0eSA/IHR4dFRvU2x1ZyhjaXR5KSA6ICcnDQogICAgICAgICAgICBzbHVnU3RhdGUgPSBzdGF0ZSA/IHR4dFRvU2x1ZyhzdGF0ZSkgOiAnJw0KICAgICAgICAgICAgc2x1Z1JlZ2lvbiA9IGAke3NsdWdTdGF0ZX0ke3NsdWdTdGF0ZSAmJiBzbHVnQ2l0eSA/ICctJyA6ICcnfSR7c2x1Z0NpdHl9YA0KICAgICAgICB9DQogICAgICAgIGxldCBpZFVuaWRhZGUgPSBpZCA/PyBudWxsDQogICAgICAgIGxldCBsaW5rTWFwID0gbWFwID8/IG51bGwNCiAgICAgICAgbGV0IHJlZGVzU29jaWFpcyA9IG5ldHdvcmtzID8/IG51bGwNCiAgICAgICAgbGV0IHdoYXRzID0gd2hhdHNhcHAgPz8gbnVsbA0KDQogICAgICAgIHdoYXRzYXBwX3RleHQgPSB3aGF0c2FwcF90ZXh0ID8gYCZ0ZXh0PSR7d2hhdHNhcHBfdGV4dH1gIDogIiINCiAgICAgICAgc21zX3RleHQgPSBzbXNfdGV4dCA/IGAmYm9keT0ke3Ntc190ZXh0fWAgOiAiIg0KICAgICAgICBpbWFnZSA9IGltYWdlID8gaW1hZ2UgOiAiaHR0cHM6Ly9wbGFjZWhvbGQuY28vNjAweDQwMD9mb250PXJvYm90byZ0ZXh0PUltYWdlbSUyMEluZXhpc3RlbnRlIg0KDQogICAgICAgIGFyckltZ3MucHVzaChpbWFnZSkNCiAgICAgICAgYXJyTWFwcy5wdXNoKGxpbmtNYXApDQoNCiAgICAgICAgbGV0IGNsYXNzVW5pdCA9ICIiDQogICAgICAgIGxldCBvbkNsaWNrID0gIiINCg0KICAgICAgICBsZXQgdXJsc05ldHdvcmtzID0gcmVkZXNTb2NpYWlzID8gcmVkZXNTb2NpYWlzLmZpbHRlcih4ID0+IHgudXJsICE9ICIiKSA6IG51bGwNCg0KICAgICAgICBpZiAoY2Fycm9zc2VsKSB7DQogICAgICAgICAgICBjbGFzc1VuaXQgPSAic3dpcGVyLXNsaWRlIg0KICAgICAgICAgICAgb25DbGljayA9IGBvbmNsaWNrPSJ3aW5kb3cuZXhpYmlyTWFwYSgnJHtpZFVuaWRhZGV9JywgJyR7YWRkcmVzc30nKSJgDQogICAgICAgIH0NCiAgICAgICAgZWxzZSBpZiAoZm90byB8fCBmb3RvdGV4dCkgew0KICAgICAgICAgICAgY2xhc3NVbml0ID0gImxpc3QiDQogICAgICAgICAgICBvbkNsaWNrID0gYG9ubW91c2VvdmVyPSJ3aW5kb3cuZXhpYmlyRm90bygnJHtpbWFnZX0nLCAnJHtuYW1lfScpImANCiAgICAgICAgfQ0KICAgICAgICBlbHNlIGlmIChjYXJvdXNlbFRveW90YSkgew0KICAgICAgICAgICAgY2xhc3NVbml0ID0gJ3N3aXBlci1zbGlkZSBjYXJvdXNlbFRveW90YSBiZy1jb2xvcicNCiAgICAgICAgICAgIGlmICh0b2dnbGVJbWFnZVRveW90YSkgY2xhc3NVbml0ID0gJ3N3aXBlci1zbGlkZSBjYXJvdXNlbFRveW90YSBmb3RvY2Fyb3VzZWxUb3lvdGEnDQogICAgICAgIH0NCiAgICAgICAgZWxzZSBpZiAobGlzdGFNYXBhKSB7DQogICAgICAgICAgICBjbGFzc1VuaXQgPSAibGlzdCBsaXN0TGlzdGFNYXBhIg0KICAgICAgICAgICAgb25DbGljayA9IGxpc3RhTWFwYSAmJiBsaW5rTWFwID8gYG9uY2xpY2s9IndpbmRvdy5leGliaXJNYXBhVW5pZGFkZSgnJHtsaW5rTWFwfScsICcke2lkVW5pZGFkZX0nKSJgIDogIiINCiAgICAgICAgfQ0KICAgICAgICBlbHNlIGlmIChsaXN0VW5pdHNDYXJvdXNlbCkgew0KICAgICAgICAgICAgY2xhc3NVbml0ID0gYCR7dG9nZ2xlQ2Fyb3VzZWwgPyAnc3dpcGVyLXNsaWRlICcgOiAnJ31saXN0VW5pdHNDYXJvdXNlbGANCiAgICAgICAgfQ0KDQogICAgICAgIHJlc3BvbnNlICs9IGA8ZGl2ICR7b25DbGlja30gaWQ9IiR7aWRVbmlkYWRlfSIgY2xhc3M9InVuaWRhZGUgJHtjZW50ZXJJbmZvcyAmJiAhdG9nZ2xlSW1hZ2VUb3lvdGEgPyAiIGNlbnRlckluZm9zIiA6ICIifSR7YWxpZ25BcnJvd3MgPT09ICJzZXBhcmF0ZWQiIHx8IGFsaWduQXJyb3dzID09PSAic2VwYXJhdGVkVG9wIiA/ICIgdW5pdC1idXR0b25zLXNlcGFyYXRlZCAiIDogIiAifSR7Y2xhc3NVbml0fSI+YA0KDQogICAgICAgIGlmIChjYXJvdXNlbFRveW90YSAmJiB0b2dnbGVJbWFnZVRveW90YSkgew0KICAgICAgICAgICAgcmVzcG9uc2UgKz0gYA0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImltYWdlbVVuaWRhZGUiPg0KICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iJHtpbWFnZX0iIGFsdD0iJHtuYW1lfSIgLz4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXJJbmZvIGJnLWNvbG9yICR7Y2VudGVySW5mb3MgPyAiIGNlbnRlckluZm9zIiA6ICIifSI+DQogICAgICAgICAgICAgICAgYA0KICAgICAgICB9DQoNCiAgICAgICAgaWYgKGxpc3RVbml0c0Nhcm91c2VsKSB7DQogICAgICAgICAgICByZXNwb25zZSArPSBgPGltZyBjbGFzcz0iaW1hZ2VVbml0IiBzcmM9IiR7aW1hZ2V9IiBhbHQ9IiR7bmFtZX0iIC8+YA0KICAgICAgICAgICAgcmVzcG9uc2UgKz0gYDxkaXYgY2xhc3M9ImluZm9zTGlzdFVuaXRzIj5gDQogICAgICAgIH0NCg0KICAgICAgICBpZiAoKGxpc3RhTWFwYSB8fCBmb3RvKSAmJiBpY29uVW5pdCkgew0KICAgICAgICAgICAgcmVzcG9uc2UgKz0gYDxkaXYgY2xhc3M9Imljb25lIj4ke2ljb25Vbml0fTwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImluZm9zICR7bGlzdGFNYXBhID8gJ2luZm9zTGlzdGFNYXBhJyA6ICcnfSI+YA0KICAgICAgICB9DQoNCiAgICAgICAgaWYgKChsaXN0YU1hcGEgfHwgZm90b3RleHQpICYmIGljb25Vbml0KSB7DQogICAgICAgICAgICByZXNwb25zZSArPSBgPGRpdiBjbGFzcz0iaWNvbmUiPiR7aWNvblVuaXR9PC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mb3MgJHtsaXN0YU1hcGEgPyAnaW5mb3NMaXN0YU1hcGEnIDogJyd9Ij5gDQogICAgICAgIH0NCg0KICAgICAgICBpZiAobmFtZSAmJiAhaGlkZVRpdGxlKSB7DQogICAgICAgICAgICBpZiAoY2Fyb3VzZWxUb3lvdGEpIHsNCiAgICAgICAgICAgICAgICByZXNwb25zZSArPSBgPGgzIGNsYXNzPSJ0aXRsZSI+JHtwcmVmaXhUaXRsZSA/IHByZWZpeFRpdGxlICsgbmFtZSA6IG5hbWV9PC9oMz5gDQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJlc3BvbnNlICs9IGA8c3Ryb25nIGNsYXNzPSJ0aXRsZSI+JHtwcmVmaXhUaXRsZSA/IHByZWZpeFRpdGxlICsgbmFtZSA6IG5hbWV9PC9zdHJvbmc+YA0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgaWYgKGFkZHJlc3MgJiYgKGNhcm91c2VsVG95b3RhKSkgew0KICAgICAgICAgICAgcmVzcG9uc2UgKz0gYCR7dG9nZ2xlSG9yaXpvbnRhbExheW91dCA/IGA8ZGl2IGNsYXNzPSJob3Jpem9udGFsTGF5b3V0Ij5gIDogYGB9PHNwYW4gY2xhc3M9InR4dCI+JHtpY29uQWRkcmVzfSA8c3Ryb25nPiR7YWRkcmVzc308L3N0cm9uZz48L3NwYW4+YA0KICAgICAgICB9DQoNCiAgICAgICAgaWYgKGVtYWlsICYmIChjYXJvdXNlbFRveW90YSkpIHsNCiAgICAgICAgICAgIHJlc3BvbnNlICs9IGA8YSBocmVmPSJtYWlsdG86JHtlbWFpbH0iIGNsYXNzPSJ0eHQiPiR7aWNvbkVtYWlsfSA8c3Ryb25nPiR7ZW1haWx9PC9zdHJvbmc+PC9hPmANCiAgICAgICAgfQ0KDQogICAgICAgIGlmIChhZGRyZXNzICYmICFjYXJvdXNlbFRveW90YSkgew0KICAgICAgICAgICAgaWYgKGxpbmtNYXApIHsNCiAgICAgICAgICAgICAgICByZXNwb25zZSArPSBgPGEgJHshbGlzdGFNYXBhID8gYGhyZWY9IiR7bGlua01hcH0iYCA6ICcnfSBjbGFzcz0idHh0ICR7bGlzdFVuaXRzQ2Fyb3VzZWwgPyAnYWRkcmVzc0xpc3RVbml0cycgOiAnJ30iIHRpdGxlPSIke2FkZHJlc3N9IiB0YXJnZXQ9Il9ibGFuayI+JHthZGRyZXNzfTwvYT5gDQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJlc3BvbnNlICs9IGA8c3BhbiBjbGFzcz0idHh0Ij4ke2FkZHJlc3N9PC9zcGFuPmANCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIGlmIChzaG93TmV0d29ya3MgJiYgdXJsc05ldHdvcmtzLmxlbmd0aCA+IDApIHJlc3BvbnNlICs9IGA8ZGl2IGNsYXNzPSJib3hQaG9uZU1lZGlhIj5gDQoNCiAgICAgICAgaWYgKCh3aGF0cyAmJiB3aGF0c2FwcF9jbGVhbikgfHwgKHNtcyAmJiBzbXNfdGV4dCkgfHwgKHBob25lKSkgew0KICAgICAgICAgICAgaWYgKCFoaWRlUGhvbmUgfHwgIWhpZGVXaGF0cykgew0KICAgICAgICAgICAgICAgIHJlc3BvbnNlICs9IGA8ZGl2IGNsYXNzPSJwaG9uZXMke2xpc3RVbml0c0Nhcm91c2VsID8gJyBwaG9uZXNMaXN0VW5pdHMnIDogJyd9JHtjYXJvdXNlbFRveW90YSA/ICcgcGhvbmVzVG95b3RhJyA6ICcnfSI+YA0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICBpZiAoIWhpZGVQaG9uZSAmJiBwaG9uZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UgKz0gYDxhDQogICAgICAgICAgICAgICAgICAgICAgICAgICR7IWxpc3RhTWFwYSA/IGBocmVmPSIke2ZpbmFsTGlua1Bob25lID8gZmluYWxMaW5rUGhvbmUgOiBgdGVsOiR7cGhvbmV9YH0iYCA6ICcnfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpbmtfdHlwZVBob25lfSAke3BvcHVwX3RhcmdldFBob25lfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAke3RvZ2dsZUxpbmtQaG9uZSA/IGBvbmNsaWNrPSJzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdpZFVuaXRUb1NlbGVjdCcsICcke2NybV9pZH0nKSJgIDogJyd9DQogICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSIke3RvZ2dsZUxpbmtQaG9uZSAmJiB0eHRMaW5rUGhvbmVzID8gdHh0TGlua1Bob25lcyA6IHBob25lIH0iDQogICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSIke2ljb25QaG9uZSA/ICdib3hJY29uUGhvbmUnIDogJyd9Ig0KICAgICAgICAgICAgICAgICAgICAgICAgPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7aWNvblBob25lID8gaWNvblBob25lIDogJyd9JHtjYXJvdXNlbFRveW90YSA/IGAke3RleHRUZWx9YCA6ICcnfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7dG9nZ2xlTGlua1Bob25lICYmIHR4dExpbmtQaG9uZXMgPyB0eHRMaW5rUGhvbmVzIDogcGhvbmUgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPmANCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgaWYgKCFoaWRlV2hhdHMgJiYgKHdoYXRzICYmIHdoYXRzYXBwX2NsZWFuKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UgKz0gYDxhDQogICAgICAgICAgICAgICAgICAgICAgICAgICR7IWxpc3RhTWFwYSA/IGBocmVmPSIke2ZpbmFsTGlua1doYXRzID8gZmluYWxMaW5rV2hhdHMgOiBgaHR0cHM6Ly9hcGkud2hhdHNhcHAuY29tL3NlbmQ/cGhvbmU9JHt3aGF0c2FwcF9jbGVhbn0ke3doYXRzYXBwX3RleHR9YH0iYCA6ICcnfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpbmtfdHlwZVdoYXRzfSAke3BvcHVwX3RhcmdldFdoYXRzfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAke3RvZ2dsZUxpbmtXaGF0cyA/IGBvbmNsaWNrPSJzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdpZFVuaXRUb1NlbGVjdCcsICcke2NybV9pZH0nKSJgIDogJyd9DQogICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSIke3RvZ2dsZUxpbmtXaGF0cyAmJiB0eHRMaW5rV2hhdHMgPyB0eHRMaW5rV2hhdHMgOiB3aGF0cyB9Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iJHtpY29uV2hhdHNhcHAgPyAnYm94SWNvblBob25lJyA6ICcnfSINCiAgICAgICAgICAgICAgICAgICAgICAgICA+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtpY29uV2hhdHNhcHAgPyBpY29uV2hhdHNhcHAgOiAnJ30ke2Nhcm91c2VsVG95b3RhID8gYCR7dGV4dFdoYXRzfWAgOiAnJ30NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3RvZ2dsZUxpbmtXaGF0cyAmJiB0eHRMaW5rV2hhdHMgPyB0eHRMaW5rV2hhdHMgOiB3aGF0cyB9DQogICAgICAgICAgICAgICAgICAgICAgICA8L2E+YA0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAgICAgICAgICAgICBpZiAoc21zICYmIHNtc190ZXh0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZSArPSBgPGEgaHJlZj0ic21zOiR7c21zfSR7c21zX3RleHR9IiB0aXRsZT0iJHtzbXN9Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3Ntc30NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5gDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICByZXNwb25zZSArPSBgPC9kaXY+JHt0b2dnbGVIb3Jpem9udGFsTGF5b3V0ID8gYDwvZGl2PmAgOiBgYH1gDQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBpZiAoc2hvd05ldHdvcmtzICYmIHVybHNOZXR3b3Jrcy5sZW5ndGggPiAwKSB7DQogICAgICAgICAgICByZXNwb25zZSArPSBgPGRpdiBjbGFzcz0ic29jaWFsTWVkaWEiPmANCiAgICAgICAgICAgIGZvciAoY29uc3QgbmV0d29yayBvZiB1cmxzTmV0d29ya3MpIHsNCiAgICAgICAgICAgICAgICBsZXQgbWVkaWEgPSBuZXR3b3JrLm1lZGlhID8/IG51bGwNCiAgICAgICAgICAgICAgICBsZXQgdXJsID0gbmV0d29yay51cmwgPz8gbnVsbA0KICAgICAgICAgICAgICAgIGxldCBpY29uID0gIiINCg0KICAgICAgICAgICAgICAgIGlmIChtZWRpYSAmJiB1cmwpIHsNCiAgICAgICAgICAgICAgICAgICAgaWNvbiA9IG1lZGlhID09ICJmYWNlYm9vayIgPyBpY29uRmFjZWJvb2sgOiBpY29uDQogICAgICAgICAgICAgICAgICAgIGljb24gPSBtZWRpYSA9PSAiaW5zdGFncmFtIiA/IGljb25JbnN0YWdyYW0gOiBpY29uDQogICAgICAgICAgICAgICAgICAgIGljb24gPSBtZWRpYSA9PSAibGlua2VkaW4iID8gaWNvbkxpbmtlZGluIDogaWNvbg0KICAgICAgICAgICAgICAgICAgICBpY29uID0gbWVkaWEgPT0gInlvdXR1YmUiID8gaWNvbllvdXR1YmUgOiBpY29uDQogICAgICAgICAgICAgICAgICAgIGljb24gPSBtZWRpYSA9PSAidHdpdHRlciIgPyBpY29uVHdpdHRlciA6IGljb24NCiAgICAgICAgICAgICAgICAgICAgaWNvbiA9IG1lZGlhID09ICJ0aWt0b2siID8gaWNvblRpa3RvayA6IGljb24NCg0KICAgICAgICAgICAgICAgICAgICBtZWRpYSA9IGAke21lZGlhWzBdLnRvVXBwZXJDYXNlKCl9JHttZWRpYS5zbGljZSgxKX1gDQoNCiAgICAgICAgICAgICAgICAgICAgbGlzdFVuaXRzICs9IGA8YSBocmVmPSIke3VybH0iIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iJHttZWRpYX0gLSAke3ByZWZpeFRpdGxlID8gcHJlZml4VGl0bGUgKyBuYW1lIDogbmFtZX0iPiR7aWNvbn08L2E+YA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGxpc3RVbml0cyArPSBgPC9kaXY+YA0KICAgICAgICAgICAgbGlzdFVuaXRzICs9IGA8L2Rpdj5gDQogICAgICAgIH0NCg0KICAgICAgICBpZiAobGlua01hcCkgew0KICAgICAgICAgICAgaWYgKChjaGVja2JveE1hcHMgJiYgdGV4dExpbmtNYXBzKSB8fCBjaGVja2JveFdhemUgJiYgdGV4dExpbmtXYXplKSB7DQogICAgICAgICAgICAgICAgY29uc3QgbGlua1dhemUgPSBgaHR0cHM6Ly93YXplLmNvbS91bD9xPSR7YWRkcmVzcy5yZXBsYWNlQWxsKCcgJywgJyUyMCcpfWANCiAgICAgICAgICAgICAgICByZXNwb25zZSArPSBgPGRpdiBjbGFzcz0iY29udGFpbmVyQnRuIj4NCiAgICAgICAgICAgICAgICAgICAgJHtjaGVja2JveE1hcHMgJiYgdGV4dExpbmtNYXBzID8gYDxhIGhyZWY9IiR7bGlua01hcH0iIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iYnRuLW1hcHMgYnRuTWFwcyIgdGl0bGU9IiR7YWRkcmVzc30iPiR7aWNvbkJ0bn0gPHN0cm9uZz4ke3RleHRMaW5rTWFwc308L3N0cm9uZz48L2E+YCA6ICcnfQ0KICAgICAgICAgICAgICAgICAgICAke2NoZWNrYm94V2F6ZSAmJiB0ZXh0TGlua1dhemUgPyBgPGEgaHJlZj0iJHtsaW5rV2F6ZX0iIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iYnRuLW1hcHMgYnRuV2F6ZSIgdGl0bGU9IiR7YWRkcmVzc30iPiR7aWNvbkJ0bn0gPHN0cm9uZz4ke3RleHRMaW5rV2F6ZX08L3N0cm9uZz48L2E+YCA6ICcnfQ0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj5gDQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIGlmIChmdW5jaW9uYW1lbnRvKSB7DQogICAgICAgICAgICByZXNwb25zZSArPSBgPGRpdiBjbGFzcz0iYm94RnVuY2lvbmFtZW50byR7cG9zaXRpb25Ub3BJY29uRnVuYyAmJiBpY29uRnVuY2lvbmFtZW50byA/ICcgaWNvblRvcCcgOiAnJ30iPg0KICAgICAgICAgICAgICAgICR7aWNvbkZ1bmNpb25hbWVudG8gPyBpY29uRnVuY2lvbmFtZW50byA6ICcnfQ0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmdW5jaW9uYW1lbnRvIj4ke2Z1bmNpb25hbWVudG99PC9zcGFuPg0KICAgICAgICAgICAgPC9kaXY+YA0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICBpZiAobGlzdFVuaXRzQ2Fyb3VzZWwgJiYgbGlua1BhZ2UgJiYgdGV4dEJ0blVuaXQpIHsNCiAgICAgICAgICAgIGxldCBmaW5hbFVybCA9IGAke3VybExpbmt9JHtzbHVnUmVnaW9ufS8ke3VsdGltb1BhdGh9YA0KICAgICAgICAgICAgDQogICAgICAgICAgICBsZXQgc2Vzc2lvblN0b3JhZ2UgPSBmaWx0ZXJCeVVuaXQgJiYgdW5pZGFkZV9pbnRlZ3JhZG9yID8gYCdpZFVuaXRTZWxlY3RlZCcsICcke3VuaWRhZGVfaW50ZWdyYWRvcn0nYCA6IGAnaW50ZWdyYXRvcklkcycsICcke2lkVW5pdEludGVncmF0b3J9J2ANCiAgICAgICAgICAgIA0KICAgICAgICAgICAgcmVzcG9uc2UgKz0gYDxhIGNsYXNzPSJidG4iIG9uY2xpY2s9InNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJHtzZXNzaW9uU3RvcmFnZX0pIiBocmVmPSIke2ZpbmFsVXJsfSI+JHt0ZXh0QnRuVW5pdH08L2E+YDsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgaWYgKGxpc3RVbml0c0Nhcm91c2VsKSByZXNwb25zZSArPSBgPC9kaXY+YA0KDQogICAgICAgIGlmICgobGlzdGFNYXBhIHx8IGZvdG8pICYmIGljb25Vbml0KSByZXNwb25zZSArPSBgPC9kaXY+YA0KICAgICAgICBpZiAoKGxpc3RhTWFwYSB8fCBmb3RvdGV4dCkgJiYgaWNvblVuaXQpIHJlc3BvbnNlICs9IGA8L2Rpdj5gDQoNCiAgICAgICAgaWYgKHRvZ2dsZUltYWdlVG95b3RhKSByZXNwb25zZSArPSBgPC9kaXY+YA0KICAgICAgICByZXNwb25zZSArPSBgPC9kaXY+YA0KICAgIH0NCg0KICAgIGlmICghbGlzdFVuaXRzQ2Fyb3VzZWwpIHsNCiAgICAgICAgaWYgKGJveE1hcGFGb3RvICYmICFsaXN0YU1hcGEpIHsNCiAgICAgICAgICAgIGJveE1hcGFGb3RvLmlubmVySFRNTCA9IGA8aW1nIHNyYz0iJHtkbUFQSS5nZXRPcHRpbWl6ZWRJbWFnZVVSTChhcnJJbWdzWzBdKX0iIGFsdD0iIiAvPmANCiAgICAgICAgfSBlbHNlIGlmIChib3hNYXBhRm90byAmJiBsaXN0YU1hcGEpIHsNCiAgICAgICAgICAgIGJveE1hcGFGb3RvLmlubmVySFRNTCA9IGA8aWZyYW1lIHNyYz0iJHtkbUFQSS5nZXRPcHRpbWl6ZWRJbWFnZVVSTChhcnJNYXBzWzBdKX0iIHN0eWxlPSJib3JkZXI6IDA7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IiANCiAgICAgICAgICAgIGFsbG93ZnVsbHNjcmVlbj0iIiBsb2FkaW5nPSJsYXp5IiByZWZlcnJlcnBvbGljeT0ibm8tcmVmZXJyZXItd2hlbi1kb3duZ3JhZGUiPjwvaWZyYW1lPmA7DQogICAgICAgIH0NCiAgICB9DQoNCiAgICByZXR1cm4gcmVzcG9uc2UNCn0NCg0KZnVuY3Rpb24gY3JlYXRlU2VsZWN0Q2l0aWVzKHJlc3VsdHMsIHN0YXRlU2VsZWN0ZWQgPSBudWxsKSB7DQogICAgY29uc3QgZmlsdHJhZG9zUG9yUmVnaWFvID0gcmVzdWx0cy5maWx0ZXIoaXRlbSA9PiB0eHRUb1NsdWcoaXRlbS5kYXRhLnJlZ2lhb19hdGVuZGlkYS5zdGF0ZSkgPT09IHN0YXRlU2VsZWN0ZWQpOw0KICAgIA0KICAgIGNvbnN0IGNpZGFkZXNVbmljYXMgPSBmaWx0cmFkb3NQb3JSZWdpYW8ubGVuZ3RoID4gMCA/IA0KICAgIFsuLi5uZXcgU2V0KGZpbHRyYWRvc1BvclJlZ2lhby5tYXAoaXRlbSA9PiBpdGVtLmRhdGEucmVnaWFvX2F0ZW5kaWRhLmNpdHkpKV0gOg0KICAgIFsuLi5uZXcgU2V0KHJlc3VsdHMubWFwKGl0ZW0gPT4gaXRlbS5kYXRhLnJlZ2lhb19hdGVuZGlkYS5jaXR5KSldDQogICAgDQogICAgaWYgKHNlbGVjdENpdGllcykgew0KICAgICAgICBzZWxlY3RDaXRpZXMuaW5uZXJIVE1MID0gIiINCiAgICAgICAgDQogICAgICAgIGxldCBvcHRpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvcHRpb24iKTsNCiAgICAgICAgb3B0aW9uLnRleHQgPSB0eHRTZWxlY3RDaXRpZXM7DQogICAgICAgIG9wdGlvbi52YWx1ZSA9ICIiOw0KICAgICAgICBvcHRpb24ucmVhZG9ubHkgPSB0cnVlOw0KICAgICAgICBvcHRpb24uaGlkZGVuID0gdHJ1ZTsNCiAgICAgICAgc2VsZWN0Q2l0aWVzLmFwcGVuZENoaWxkKG9wdGlvbik7DQogICAgICAgIA0KICAgICAgICBjaWRhZGVzVW5pY2FzLmZvckVhY2goY2l0eSA9PiB7DQogICAgICAgICAgICBsZXQgb3B0aW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0aW9uIik7DQogICAgICAgICAgICBvcHRpb24udGV4dCA9IGNpdHk7DQogICAgICAgICAgICBvcHRpb24udmFsdWUgPSB0eHRUb1NsdWcoY2l0eSk7DQogICAgICAgICAgICBzZWxlY3RDaXRpZXMuYXBwZW5kQ2hpbGQob3B0aW9uKTsNCiAgICAgICAgfSkNCiAgICB9DQogICAgDQp9DQoNCmlmIChjYXJyb3NzZWwgfHwgKGxpc3RVbml0c0Nhcm91c2VsICYmIHRvZ2dsZUNhcm91c2VsKSkgew0KICAgIGxpc3RhVW5pZGFkZXMuY2xhc3NMaXN0LmFkZCgic3dpcGVyVW5pZGFkZXMiKQ0KICAgIGJveE1hcGFGb3RvLmNsYXNzTGlzdC5hZGQoIndpdGhTd2lwZXIiKQ0KDQogICAgd2luZG93LmV4aWJpck1hcGEgPSAoaWRVbmlkYWRlLCBhZGRyZXNzKSA9PiB7DQogICAgICAgIGNvbnN0IGJveFVuaWRhZGUgPSBlbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi51bmlkYWRlIikgPz8gbnVsbA0KICAgICAgICBkbUFQSS5kcmF3TWFwKA0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogIi53aXRoU3dpcGVyIiwNCiAgICAgICAgICAgICAgICBhZGRyZXNzUXVlcnk6IGFkZHJlc3MNCiAgICAgICAgICAgIH0NCiAgICAgICAgKTsNCg0KICAgICAgICBpZiAoIWxpc3RVbml0c0Nhcm91c2VsKSB7DQogICAgICAgICAgICBmb3IgKGNvbnN0IHVuaWRhZGUgb2YgYm94VW5pZGFkZSkgew0KICAgICAgICAgICAgICAgIGlmIChpZFVuaWRhZGUgIT0gdW5pZGFkZS5pZCkgew0KICAgICAgICAgICAgICAgICAgICB1bmlkYWRlLmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZSIpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICB1bmlkYWRlLmNsYXNzTGlzdC5hZGQoImFjdGl2ZSIpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KfQ0KDQppZiAoY2Fyb3VzZWxUb3lvdGEgfHwgKGxpc3RVbml0c0Nhcm91c2VsICYmIHRvZ2dsZUNhcm91c2VsKSkgew0KICAgIGxpc3RhVW5pZGFkZXMuY2xhc3NMaXN0LmFkZCgic3dpcGVyVW5pZGFkZXMiKQ0KICAgIGxpc3RhVW5pZGFkZXMuY2xhc3NMaXN0LmFkZCgidW5pdFRveW90YSIpDQp9DQoNCmlmIChsaXN0VW5pdHNDYXJvdXNlbCkgbGlzdGFVbmlkYWRlcy5jbGFzc0xpc3QuYWRkKCJsaXN0Q2Fyb3VzZWwiKQ0KaWYgKGxpc3RVbml0c0Nhcm91c2VsICYmIHRvZ2dsZUNhcm91c2VsKSBsaXN0YVVuaWRhZGVzLmNsYXNzTGlzdC5hZGQoImxpc3RDYXJvdXNlbFN3aXBlciIpDQppZiAobGlzdFVuaXRzQ2Fyb3VzZWwgJiYgIXRvZ2dsZUNhcm91c2VsKSBsaXN0YVVuaWRhZGVzLmNsYXNzTGlzdC5hZGQoImxpc3RhZ2VtVW5pdHMiKQ0KDQppZiAoY2Fyb3VzZWxUb3lvdGEgfHwgbGlzdFVuaXRzQ2Fyb3VzZWwpIGJveE1hcGFGb3RvLmNsYXNzTGlzdC5hZGQoImQtbm9uZSIpDQoNCmlmIChjYXJvdXNlbFRveW90YSAmJiB0b2dnbGVJbWFnZVRveW90YSkgbGlzdGFVbmlkYWRlcy5jbGFzc0xpc3QuYWRkKCJ1bml0VG95b3RhRm90byIpDQoNCmlmIChmb3RvKSB7DQogICAgd2luZG93LmV4aWJpckZvdG8gPSAoaW1hZ2VtLCBuYW1lKSA9PiB7DQogICAgICAgIGJveE1hcGFGb3RvLmlubmVySFRNTCA9IGA8aW1nIHNyYz0iJHtkbUFQSS5nZXRPcHRpbWl6ZWRJbWFnZVVSTChpbWFnZW0pfSIgYWx0PSIke25hbWV9IiAvPmANCiAgICB9DQp9DQoNCmlmIChmb3RvdGV4dCkgew0KICAgIHdpbmRvdy5leGliaXJGb3RvID0gKGltYWdlbSwgbmFtZSkgPT4gew0KICAgICAgICBib3hNYXBhRm90by5pbm5lckhUTUwgPSBgPGltZyBzcmM9IiR7ZG1BUEkuZ2V0T3B0aW1pemVkSW1hZ2VVUkwoaW1hZ2VtKX0iIGFsdD0iJHtuYW1lfSIgLz5gDQogICAgfQ0KDQp9DQoNCmlmIChmb3RvdGV4dCA9PT0gdHJ1ZSkgew0KICAgIGxldCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsNCiAgICBkaXYuY2xhc3NMaXN0LmFkZCgndGV4dG9HZW5lcmljbycpOw0KICAgIGRpdi5pbm5lckhUTUwgPSB0ZXh0b25kaXNwbGF5Ow0KICAgIGJveE1hcGEuYXBwZW5kQ2hpbGQoZGl2KTsNCg0KICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5tYXBhVW5pZGFkZXMnKS5mb3JFYWNoKGVsZW1lbnQgPT4gew0KICAgICAgICBlbGVtZW50LnN0eWxlLndpZHRoID0gd2luZG93LmlubmVyV2lkdGggPiA3NjggPyAnY2FsYygzNSUgLSB2YXIoLS1nYXApKScgOiAnJzsNCiAgICB9KTsNCg0KICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5saXN0YVVuaWRhZGVzJykuZm9yRWFjaChlbGVtZW50ID0+IHsNCiAgICAgICAgZWxlbWVudC5zdHlsZS53aWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoID4gNzY4ID8gJ2NhbGMoMzUlIC0gY2FsYyh2YXIoLS1nYXApICogNCkpJyA6ICcnOw0KICAgIH0pOw0KfQ0KDQppZiAoYm94TWFwYUZvdG8pIHsNCiAgICB3aW5kb3cuZXhpYmlyTWFwYVVuaWRhZGUgPSAobWFwYSwgaWRVbmlkYWRlKSA9PiB7DQogICAgICAgIGJveE1hcGFGb3RvLmlubmVySFRNTCA9IGA8aWZyYW1lIHNyYz0iJHtkbUFQSS5nZXRPcHRpbWl6ZWRJbWFnZVVSTChtYXBhKX0iIHN0eWxlPSJib3JkZXI6IDA7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IiANCiAgICAgICAgICAgIGFsbG93ZnVsbHNjcmVlbj0iIiBsb2FkaW5nPSJsYXp5IiByZWZlcnJlcnBvbGljeT0ibm8tcmVmZXJyZXItd2hlbi1kb3duZ3JhZGUiPjwvaWZyYW1lPmA7DQoNCiAgICAgICAgY29uc3QgYm94VW5pZGFkZSA9IGVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnVuaWRhZGUiKSA/PyBudWxsDQoNCiAgICAgICAgaWYgKCFsaXN0VW5pdHNDYXJvdXNlbCkgew0KICAgICAgICAgICAgZm9yIChjb25zdCB1bmlkYWRlIG9mIGJveFVuaWRhZGUpIHsNCiAgICAgICAgICAgICAgICBpZiAoaWRVbmlkYWRlICE9IHVuaWRhZGUuaWQpIHsNCiAgICAgICAgICAgICAgICAgICAgdW5pZGFkZS5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgdW5pZGFkZS5jbGFzc0xpc3QuYWRkKCJhY3RpdmUiKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCn0NCg0KZG1BUEkubG9hZENvbGxlY3Rpb25zQVBJKCkudGhlbihhcGkgPT4gew0KICAgIGFwaS5kYXRhKCJBUElfTEVBRFBIT05FUyIpLmdldCgpLnRoZW4ocmVzcG9uc2UgPT4gew0KICAgICAgICBsZXQgcmVzdWx0cyA9IHJlc3BvbnNlLnZhbHVlcw0KICAgICAgICBsZXQgbGlzdFVuaXRzID0gIiINCg0KICAgICAgICBsZXQgc3RvcmVTZWxlY3RlZCA9ICIiDQoNCiAgICAgICAgcmVzdWx0cyA9IHJlc3VsdHMuZmlsdGVyKHggPT4gew0KICAgICAgICAgICAgaWYgKCh4LmRhdGEuc2hvdykgJiYgKHguZGF0YS5zaG93LmluZGV4T2YoIm1hcCIpICE9PSAtMSAmJiB4LmRhdGEuc2hvdy5pbmRleE9mKCJmb290ZXIiKSAhPT0gLTEpKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHguZGF0YQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KQ0KDQogICAgICAgIGNvbnN0IGhhc1JlZ2lvbiA9IHJlc3VsdHMuZXZlcnkocmVzdWx0ID0+IHJlc3VsdC5kYXRhLnJlZ2lhb19hdGVuZGlkYV9pZCAhPT0gbnVsbCAmJiByZXN1bHQuZGF0YS5yZWdpYW9fYXRlbmRpZGFfaWQgIT09IDApOw0KDQogICAgICAgIGlmIChoYXNSZWdpb24gJiYgbGlzdFVuaXRzQ2Fyb3VzZWwgJiYgYm94U2VsZWN0c1VuaXRzKSB7DQogICAgICAgICAgICAvKiBNYXBlYW1lbnRvIGRlIHRvZG9zIG9zIEVzdGFkb3Mgc2VtIHJlcGV0acOnw6NvICovDQogICAgICAgICAgICBjb25zdCBlc3RhZG9zVW5pY29zID0gWy4uLm5ldyBTZXQocmVzdWx0cy5tYXAoaXRlbSA9PiBpdGVtLmRhdGEucmVnaWFvX2F0ZW5kaWRhLnN0YXRlKSldDQogICAgICAgICAgICBlc3RhZG9zVW5pY29zLmZvckVhY2goc3RhdGUgPT4gew0KICAgICAgICAgICAgICAgIGxldCBvcHRpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvcHRpb24iKTsNCiAgICAgICAgICAgICAgICBvcHRpb24udGV4dCA9IHN0YXRlOw0KICAgICAgICAgICAgICAgIG9wdGlvbi52YWx1ZSA9IHR4dFRvU2x1ZyhzdGF0ZSk7DQogICAgICAgICAgICAgICAgaWYgKHNlbGVjdFN0YXRlcykgc2VsZWN0U3RhdGVzLmFwcGVuZENoaWxkKG9wdGlvbik7DQogICAgICAgICAgICB9KQ0KICAgICAgICAgICAgDQogICAgICAgICAgICBjcmVhdGVTZWxlY3RDaXRpZXMocmVzdWx0cykNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgaWYgKHNlbGVjdFN0YXRlcykgew0KICAgICAgICAgICAgICAgIHNlbGVjdFN0YXRlcy5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLCAoZXZlbnQpID0+IHsNCiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXN0YWRvU2VsZWNpb25hZG8gPSByZXN1bHRzLmZpbHRlcihpdGVtID0+IHR4dFRvU2x1ZyhpdGVtLmRhdGEucmVnaWFvX2F0ZW5kaWRhLnN0YXRlKSA9PT0gZXZlbnQudGFyZ2V0LnZhbHVlKQ0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgY3JlYXRlU2VsZWN0Q2l0aWVzKHJlc3VsdHMsIGV2ZW50LnRhcmdldC52YWx1ZSkNCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgIGxpc3RhVW5pZGFkZXMuaW5uZXJIVE1MID0gYCR7ZnVuY0xpc3RVbml0cyhlc3RhZG9TZWxlY2lvbmFkbywgdHJ1ZSl9YA0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgDQogICAgICAgICAgICBpZiAoc2VsZWN0Q2l0aWVzKSB7DQogICAgICAgICAgICAgICAgc2VsZWN0Q2l0aWVzLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsIChldmVudCkgPT4gew0KICAgICAgICAgICAgICAgICAgICBjb25zdCBjaWRhZGVTZWxlY2lvbmFkYSA9IHJlc3VsdHMuZmlsdGVyKGl0ZW0gPT4gdHh0VG9TbHVnKGl0ZW0uZGF0YS5yZWdpYW9fYXRlbmRpZGEuY2l0eSkgPT09IGV2ZW50LnRhcmdldC52YWx1ZSkNCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgIGxpc3RhVW5pZGFkZXMuaW5uZXJIVE1MID0gYCR7ZnVuY0xpc3RVbml0cyhjaWRhZGVTZWxlY2lvbmFkYSwgdHJ1ZSl9YA0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgbGV0IHRvdGFsU3RvcmVzID0gcmVzdWx0cy5sZW5ndGggPiAxID8gcmVzdWx0cy5sZW5ndGggOiBudWxsDQoNCiAgICAgICAgaWYgKHBhdGhDbGVhbi5sZW5ndGggPiAxKSB7DQogICAgICAgICAgICBsZXQgcmVzdWx0c0ZpbHRlcmVkID0gW10NCg0KICAgICAgICAgICAgaWYgKGhhc1JlZ2lvbikgew0KICAgICAgICAgICAgICAgIHJlc3VsdHNGaWx0ZXJlZCA9IHJlc3VsdHMuZmlsdGVyKHggPT4gew0KICAgICAgICAgICAgICAgICAgICBsZXQgeyBpZCwgc3RhdGUsIGNpdHksIHVuaWRhZGVfaW50ZWdyYWRvcl9yZWdpYW8gfSA9IHguZGF0YS5yZWdpYW9fYXRlbmRpZGENCiAgICAgICAgICAgICAgICAgICAgbGV0IHNsdWdDaXR5ID0gY2l0eS50cmltKCkudG9Mb2NhbGVMb3dlckNhc2UoJ2VuLVVTJykubm9ybWFsaXplKCdORkQnKS5yZXBsYWNlKC9bXHUwMzAwLVx1MDM2ZiddL2csICIiKS5yZXBsYWNlKC9bIF0vZywgIi0iKS5yZXBsYWNlKCI6IiwgIiIpDQogICAgICAgICAgICAgICAgICAgIGxldCBzbHVnU3RhdGUgPSBzdGF0ZS50cmltKCkudG9Mb2NhbGVMb3dlckNhc2UoJ2VuLVVTJykubm9ybWFsaXplKCdORkQnKS5yZXBsYWNlKC9bXHUwMzAwLVx1MDM2ZiddL2csICIiKS5yZXBsYWNlKC9bIF0vZywgIi0iKS5yZXBsYWNlKCI6IiwgIiIpDQogICAgICAgICAgICAgICAgICAgIGxldCBzbHVnUmVnaW9uID0gYCR7c2x1Z1N0YXRlID8gYCR7c2x1Z1N0YXRlfS1gIDogIiJ9JHtzbHVnQ2l0eX1gDQogICAgICAgICAgICAgICAgICAgIGlmIChwYXRoQ2xlYW4uaW5jbHVkZXMoc2x1Z1JlZ2lvbikpIHJldHVybiB4LmRhdGENCiAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgICAgcmVzdWx0c0ZpbHRlcmVkID0gcmVzdWx0cy5maWx0ZXIoeCA9PiB7DQogICAgICAgICAgICAgICAgICAgIGlmICh4LmRhdGEubmFtZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNsdWdTdG9yZSA9IHguZGF0YS5uYW1lLnRyaW0oKS50b0xvY2FsZUxvd2VyQ2FzZSgnZW4tVVMnKS5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcdTAzMDAtXHUwMzZmJ10vZywgIiIpLnJlcGxhY2UoL1sgXS9nLCAiLSIpLnJlcGxhY2UoIjoiLCAiIikNCg0KICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBwYXRoIG9mIHBhdGhDbGVhbikgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXRoID09IHNsdWdTdG9yZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yZVNlbGVjdGVkID0gc2x1Z1N0b3JlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB4LmRhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXN1bHRzID0gcmVzdWx0c0ZpbHRlcmVkLmxlbmd0aCA+IDAgPyByZXN1bHRzRmlsdGVyZWQgOiByZXN1bHRzDQogICAgICAgIH0NCg0KICAgICAgICBpZiAocmVzdWx0cy5sZW5ndGggPiAwKSB7DQogICAgICAgICAgICBsZXQgbGlzdFVuaXRzID0gIiINCg0KICAgICAgICAgICAgaWYgKGNhcnJvc3NlbCB8fCBjYXJvdXNlbFRveW90YSB8fCAobGlzdFVuaXRzQ2Fyb3VzZWwgJiYgdG9nZ2xlQ2Fyb3VzZWwpKSBsaXN0VW5pdHMgKz0gYDxkaXYgY2xhc3M9InN3aXBlci13cmFwcGVyICR7Y2Fyb3VzZWxUb3lvdGEgPyAnd3JhcHBlclRveW90YScgOiAnJ30iPmANCg0KICAgICAgICAgICAgbGlzdFVuaXRzICs9IGAke2Z1bmNMaXN0VW5pdHMocmVzdWx0cywgdHJ1ZSl9YA0KDQogICAgICAgICAgICBpZiAoY2Fycm9zc2VsIHx8IGNhcm91c2VsVG95b3RhIHx8IChsaXN0VW5pdHNDYXJvdXNlbCAmJiB0b2dnbGVDYXJvdXNlbCkpIHsNCiAgICAgICAgICAgICAgICBsaXN0VW5pdHMgKz0gYDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IiR7YWxpZ25BcnJvd3MgPT09ICJzZXBhcmF0ZWQiID8gJ3N3aXBlci1jb25maWdzLXNlcGFyYXRlZCcgOiAnc3dpcGVyLWNvbmZpZ3MnfSAke2FsaWduQXJyb3dzID09PSAic2VwYXJhdGVkVG9wIiA/ICdzd2lwZXItY29uZmlncy1zZXBhcmF0ZWQgc3dpcGVyLWNvbmZpZ3Mtc2VwYXJhdGVkLXRvcCcgOiAnc3dpcGVyLWNvbmZpZ3MnfSAke2FsaWduQXJyb3dzfSAke3RvZ2dsZUltYWdlVG95b3RhID8gJ3N3aXBlci1jb25maWdzLWNhcm91c2VsJyA6ICcnfSAke3RvdGFsU3RvcmVzID4gMSA/ICIiIDogImQtbm9uZSJ9Ij4NCiAgICAgICAgICAgICAgICAgICAgJHshbGlzdFVuaXRzQ2Fyb3VzZWwgPyANCiAgICAgICAgICAgICAgICAgICAgYDxkaXYgY2xhc3M9InN3aXBlci1idXR0b24tcHJldiBzd2lwZXItYnV0dG9ucyBidXR0b24tc3dpcGVyVW5pZGFkZXMke2FsaWduQXJyb3dzID09PSAic2VwYXJhdGVkIiB8fCBhbGlnbkFycm93cyA9PT0gInNlcGFyYXRlZFRvcCIgPyAnIHN3aXBlci1idXR0b25zLXNlcGFyYXRlZCcgOiAnJ30iPjwvZGl2PiANCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3dpcGVyLWJ1dHRvbi1uZXh0IHN3aXBlci1idXR0b25zIGJ1dHRvbi1zd2lwZXJVbmlkYWRlcyR7YWxpZ25BcnJvd3MgPT09ICJzZXBhcmF0ZWQiIHx8IGFsaWduQXJyb3dzID09PSAic2VwYXJhdGVkVG9wIiA/ICcgc3dpcGVyLWJ1dHRvbnMtc2VwYXJhdGVkJyA6ICcnfSI+PC9kaXY+YCANCiAgICAgICAgICAgICAgICAgICAgOiBgPGRpdiBjbGFzcz0ic3dpcGVyLXBhZ2luYXRpb24iPjwvZGl2PmB9DQogICAgICAgICAgICAgICAgPC9kaXY+YA0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAodG90YWxTdG9yZXMgPD0gMSAmJiBsYXlvdXRVbmlkYWRlID09ICJmb3RvVW5pZGFkZXMiKSB7DQogICAgICAgICAgICAgICAgbGlzdGFVbmlkYWRlcy5zdHlsZS5qdXN0aWZ5Q29udGVudCA9ICJjZW50ZXIiDQogICAgICAgICAgICAgICAgbGlzdGFVbmlkYWRlcy5zdHlsZS5hbGlnbkNvbnRlbnQgPSAiY2VudGVyIg0KICAgICAgICAgICAgfSBlbHNlIGlmICh0b3RhbFN0b3JlcyA8PSAxICYmIGxheW91dFVuaWRhZGUgPT0gImZvdG9VbmlkYWRlc1RleHQiKSB7DQogICAgICAgICAgICAgICAgbGlzdGFVbmlkYWRlcy5zdHlsZS5qdXN0aWZ5Q29udGVudCA9ICJjZW50ZXIiDQogICAgICAgICAgICAgICAgbGlzdGFVbmlkYWRlcy5zdHlsZS5hbGlnbkNvbnRlbnQgPSAiY2VudGVyIg0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAvKiBJTkNMVVPDg08gREFTIFVOSURBREVTIE5BIERJViBERSBMSVNUQUdFTSAqLw0KICAgICAgICAgICAgbGlzdGFVbmlkYWRlcy5pbm5lckhUTUwgPSBsaXN0VW5pdHMNCg0KICAgICAgICAgICAgY29uc3QgYm94VW5pZGFkZSA9IGxpc3RhVW5pZGFkZXMucXVlcnlTZWxlY3RvcignLnVuaWRhZGUnKQ0KDQogICAgICAgICAgICBpZiAoYm94VW5pZGFkZSAmJiAhbGlzdFVuaXRzQ2Fyb3VzZWwpIHsNCiAgICAgICAgICAgICAgICBib3hVbmlkYWRlLmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChjYXJyb3NzZWwgfHwgY2Fyb3VzZWxUb3lvdGEgfHwgKGxpc3RVbml0c0Nhcm91c2VsICYmIHRvZ2dsZUNhcm91c2VsKSkgew0KICAgICAgICAgICAgICAgIGlmIChjYXJyb3NzZWwpIHsNCiAgICAgICAgICAgICAgICAgICAgZG1BUEkuZHJhd01hcCgNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXI6ICIud2l0aFN3aXBlciIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVzc1F1ZXJ5OiBhcnJVbmlkYWRlc1swXQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICApOw0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIGxldCBkaXJlY3Rpb24gPSBjYXJvdXNlbFRveW90YSA/ICdob3Jpem9udGFsJyA6ICd2ZXJ0aWNhbCcNCiAgICAgICAgICAgICAgICBsZXQgbG9vcCA9IHRydWUNCiAgICAgICAgICAgICAgICBsZXQgY2VudGVyZWRTbGlkZXMgPSB0cnVlDQogICAgICAgICAgICAgICAgbGV0IHNsaWRlc1BlclZpZXcgPSBjYXJvdXNlbFRveW90YSA/IDEgOiAyDQoNCiAgICAgICAgICAgICAgICBpZiAoZGV2aWNlKSB7DQogICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9ICdob3Jpem9udGFsJw0KICAgICAgICAgICAgICAgICAgICBsb29wID0gZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgY2VudGVyZWRTbGlkZXMgPSBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICBzbGlkZXNQZXJWaWV3ID0gMQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIGlmIChsaXN0VW5pdHNDYXJvdXNlbCkgew0KICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSAiaG9yaXpvbnRhbCI7DQogICAgICAgICAgICAgICAgICAgIHNsaWRlc1BlclZpZXcgPSAiYXV0byI7DQogICAgICAgICAgICAgICAgICAgIGNlbnRlcmVkU2xpZGVzID0gZmFsc2U7DQogICAgICAgICAgICAgICAgICAgIGxvb3AgPSBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBjb25zdCBzd2lwZXJVbmlkYWRlcyA9IG5ldyBTd2lwZXIoJy5zd2lwZXJVbmlkYWRlcycsIHsNCiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXI6IHRydWUsDQogICAgICAgICAgICAgICAgICAgIHNsaWRlc1Blckdyb3VwOiAxLA0KICAgICAgICAgICAgICAgICAgICBzcGFjZUJldHdlZW46IDEwLA0KICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb246IGRpcmVjdGlvbiwNCiAgICAgICAgICAgICAgICAgICAgbG9vcDogbG9vcCwNCiAgICAgICAgICAgICAgICAgICAgY2VudGVyZWRTbGlkZXM6IGNlbnRlcmVkU2xpZGVzLA0KICAgICAgICAgICAgICAgICAgICBzbGlkZXNQZXJWaWV3OiBzbGlkZXNQZXJWaWV3LA0KDQogICAgICAgICAgICAgICAgICAgIG5hdmlnYXRpb246IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIG5leHRFbDogJy5zd2lwZXItYnV0dG9uLW5leHQuYnV0dG9uLXN3aXBlclVuaWRhZGVzJywNCiAgICAgICAgICAgICAgICAgICAgICAgIHByZXZFbDogJy5zd2lwZXItYnV0dG9uLXByZXYuYnV0dG9uLXN3aXBlclVuaWRhZGVzJywNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgcGFnaW5hdGlvbjogew0KICAgICAgICAgICAgICAgICAgICAgICAgZWw6ICIuc3dpcGVyLXBhZ2luYXRpb24iLA0KICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2thYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgZHluYW1pY0J1bGxldHM6IHRydWUsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIHNjcm9sbGJhcjogew0KICAgICAgICAgICAgICAgICAgICAgICAgZWw6ICIuc3dpcGVyLXNjcm9sbGJhciIsDQogICAgICAgICAgICAgICAgICAgICAgICBoaWRlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgfSwNCg0KICAgICAgICAgICAgICAgICAgICBvbjogew0KICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVDaGFuZ2U6ICgpID0+IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQucXVlcnlTZWxlY3RvcigiLnN3aXBlclVuaWRhZGVzIC5zd2lwZXItc2xpZGUtYWN0aXZlIikgIT0gbnVsbCkgZWxlbWVudC5xdWVyeVNlbGVjdG9yKCIuc3dpcGVyVW5pZGFkZXMgLnN3aXBlci1zbGlkZS1hY3RpdmUiKS5jbGljaygpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfSkNCn0pDQoNCmlmIChsaXN0VW5pdHNDYXJvdXNlbCkgew0KICAgIGNvbnN0IHdpZGdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy53aWRnZXQtNmYwYWRjJykNCiAgICBjb25zdCBwYXJlbnQgPSB3aWRnZXQ/LnBhcmVudEVsZW1lbnQNCiAgICANCiAgICBpZiAocGFyZW50KSBwYXJlbnQuY2xhc3NMaXN0LmFkZCgnd2lkZ2V0LWZ1bGwtd2lkdGgnKQ0KfQ0KDQo=","css":"@charset \"UTF-8\";\n.tituloUnidades {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n}\n\n.boxMapa {\n width: 100%;\n height: 100%;\n display: flex;\n flex-wrap: wrap;\n gap: calc(var(--gap) * 4);\n}\n\n.invert {\n flex-direction: row-reverse;\n align-items: normal;\n justify-content: space-between;\n padding-left: 10px;\n gap: 0;\n}\n\n.mapaUnidades {\n width: calc(50% - var(--gap));\n height: 400px;\n display: flex;\n}\n\n.mapaFotoListMapa {\n height: auto;\n}\n\n.mapaUnidades.withSwiper {\n width: calc(60% - var(--gap));\n}\n\n.mapaUnidades:not(.withSwiper) img {\n width: 100%;\n object-fit: cover;\n}\n\n.listCarouselSwiper {\n flex-direction: column-reverse !important;\n gap: 0 !important;\n}\n\n.listCarouselSwiper .swiper-wrapper {\n gap: calc(var(--gap) * 3);\n}\n\n.listaUnidades {\n width: calc(50% - var(--gap) * 4);\n height: 100%;\n display: flex;\n gap: calc(var(--gap) * 3);\n justify-content: space-between;\n}\n\n.listagemUnits {\n width: 100%;\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n}\n\n.listagemUnits .listUnitsCarousel {\n width: 100% !important;\n}\n\n.listaUnidades:not(.swiperUnidades, .listCarousel) {\n flex-wrap: wrap;\n justify-content: space-between;\n align-content: flex-start;\n overflow-y: auto;\n gap: calc(var(--gap) * 3) 0;\n padding: calc(var(--gap) * 4) 0;\n height: 400px;\n}\n\n.unidadesListaMapa:not(.swiperUnidades) {\n overflow: auto;\n width: 49%;\n height: 100%;\n padding-bottom: 50px;\n gap: 10px;\n}\n\n/* width */\n.listaUnidades:not(.swiperUnidades)::-webkit-scrollbar {\n width: 2px;\n}\n\n/* Track */\n.listaUnidades:not(.swiperUnidades)::-webkit-scrollbar-track {\n border-radius: 10px;\n}\n\n/* Handle */\n.listaUnidades:not(.swiperUnidades)::-webkit-scrollbar-thumb {\n background: var(--color_6);\n border-radius: 10px;\n}\n\n.listaUnidades .unidade.list {\n width: calc(50% - var(--gap));\n height: fit-content;\n display: flex;\n flex-wrap: wrap;\n flex-direction: column;\n gap: var(--gap);\n transition: all 0.25s ease-in-out;\n}\n\n.listaUnidades .unidade.listListaMapa {\n width: 98%;\n border-radius: 5px;\n padding: 15px;\n cursor: pointer;\n}\n\n.listaUnidades .unidade.list .icone, .listaUnidades .unidade.list .infos {\n width: calc(100% - 30px);\n display: flex;\n flex-wrap: wrap;\n align-content: flex-start;\n flex-direction: column;\n gap: var(--gap);\n font-size: 14px;\n line-height: initial;\n}\n\n.listaUnidades .unidade.list .icone, .listaUnidades .unidade.list .infosListaMapa {\n flex-direction: column;\n}\n\n.listaUnidades .unidade.list .icone {\n width: 25px;\n}\n\n.listaUnidades .unidade.list .icone svg {\n width: auto;\n height: auto;\n}\n\n.listaUnidades .unidade.list .title {\n width: 100%;\n}\n\n.listaUnidades .unidade.list .phones {\n display: flex;\n flex-direction: column;\n gap: var(--gap);\n}\n\n.listaUnidades .unidade.list .phones a {\n width: max-content;\n}\n\n.listaUnidades .unidade.list .phones a.boxIconPhone {\n display: flex;\n align-items: center;\n gap: 5px;\n}\n\n.listaUnidades .unidade.list .phones a.boxIconPhone svg {\n max-width: 25px;\n}\n\n/* configurações CARROSSEL SWIPER */\n.listaUnidades.swiperUnidades:not(.unitToyota) {\n position: relative;\n width: calc(40% - var(--gap));\n overflow: hidden;\n}\n\n.swiperUnidades .swiper-wrapper {\n width: 100%;\n order: 2;\n}\n\n.swiperUnidades .swiper-wrapper .unidade:not(.carouselToyota, .listUnitsCarousel) {\n width: calc(100% - var(--gap));\n display: flex;\n flex-wrap: wrap;\n justify-content: space-evenly;\n align-content: center;\n gap: calc(var(--gap) / 2);\n padding: 5px 15px;\n border-radius: 12px;\n border: 1px solid var(--color_1);\n transition: all 0.5s ease-in-out;\n opacity: 0.6;\n}\n\n.listCarousel .listUnitsCarousel {\n width: 280px;\n flex-shrink: 0;\n padding: 0;\n background: var(--color_3);\n border-radius: 5px;\n cursor: default;\n display: flex;\n flex-direction: column;\n height: auto;\n}\n\n.listUnitsCarousel .imageUnit {\n width: 100%;\n border-radius: 5px 5px 0 0;\n object-fit: cover;\n}\n\n.listUnitsCarousel .infosListUnits {\n display: flex;\n flex-wrap: wrap;\n gap: var(--gap);\n padding: var(--pd-inner-cards);\n text-align: left;\n border-radius: 0 0 5px 5px;\n border-top: 2px solid var(--color_2) !important;\n flex-grow: 1;\n}\n\n.listUnitsCarousel .addressListUnits {\n text-align: left !important;\n}\n\n.swiperUnidades .swiper-wrapper .unidade.swiper-slide-active:not(.listUnitsCarousel) {\n opacity: 1;\n background: rgba(0, 0, 0, 0.1);\n}\n\n.swiperUnidades .swiper-wrapper .unidade:not(.carouselToyota) .title {\n text-align: center;\n font-size: 18px;\n}\n\n.swiperUnidades .swiper-wrapper .unidade:not(.carouselToyota) a {\n text-decoration: none;\n text-align: center;\n font-size: 14px;\n}\n\n.swiperUnidades .swiper-wrapper .unidade .phones {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-evenly;\n}\n\n.swiperUnidades .swiper-configs {\n width: 30px;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: space-evenly;\n align-items: center;\n gap: var(--gap) 0;\n order: 1;\n}\n\n.listCarousel .swiper-configs {\n height: 40px !important;\n}\n\n.swiperUnidades .swiper-configs.start {\n justify-content: flex-start;\n}\n\n.swiperUnidades .swiper-configs.center {\n justify-content: center;\n}\n\n.swiperUnidades .swiper-configs.end {\n justify-content: flex-end;\n}\n\n.swiperUnidades .swiper-configs.stretch {\n justify-content: stretch;\n}\n\n.swiperUnidades .swiper-configs.around {\n justify-content: space-around;\n}\n\n.swiperUnidades .swiper-configs.between {\n justify-content: space-between;\n}\n\n.swiperUnidades .swiper-configs .button-swiperUnidades {\n position: initial;\n}\n\n.swiperUnidades .swiper-configs .button-swiperUnidades:after {\n transform: rotate(90deg);\n font-size: 30px;\n}\n\n.swiperUnidades .swiper-configs .swiper-button-next.swiper-button-disabled, .swiperUnidades .swiper-configs .swiper-button-prev.swiper-button-disabled {\n opacity: 0.35;\n cursor: not-allowed;\n pointer-events: all;\n}\n\n.swiperUnidades .swiper-notification {\n display: none;\n}\n\n.d-none {\n display: none;\n}\n\n.listaUnidades.swiperUnidades.unitToyota {\n position: relative;\n width: 100%;\n overflow: hidden;\n gap: var(--gap) 0;\n flex-direction: column;\n}\n\n.listaUnidades.swiperUnidades.unitToyota .unidade.centerInfos {\n align-items: center;\n}\n\n.listaUnidades.swiperUnidades.unitToyota .unidade.centerInfos .txt {\n justify-items: end;\n}\n\n.listaUnidades.swiperUnidades.unitToyota .unidade.centerInfos .phones.phonesToyota {\n align-items: center;\n width: 100%;\n}\n\n.listUnitsCarousel .infosListUnits .phones.phonesListUnits {\n display: flex;\n flex-direction: column !important;\n}\n\n.phonesListUnits .boxIconPhone {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n gap: 10px;\n}\n\n.phonesListUnits .boxIconPhone svg {\n width: 25px;\n height: 25px;\n}\n\n.listaUnidades.swiperUnidades.unitToyota .containerInfo.centerInfos {\n align-items: center;\n}\n\n.listaUnidades.swiperUnidades.unitToyota .containerInfo.centerInfos .txt {\n justify-items: end;\n}\n\n.listaUnidades.swiperUnidades.unitToyota .containerInfo.centerInfos .phones.phonesToyota {\n align-items: center;\n width: 100%;\n}\n\n.swiperUnidades .swiper-wrapper.wrapperToyota {\n order: 1;\n}\n\n.swiperUnidades .swiper-wrapper .carouselToyota {\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-content: space-evenly;\n gap: calc(var(--gap));\n padding: 5px 15px;\n border-radius: 12px;\n}\n\n.swiperUnidades .swiper-wrapper .fotocarouselToyota {\n flex-direction: row;\n padding: 10px 15px;\n background: #fff;\n opacity: 0;\n}\n\n.swiperUnidades .swiper-wrapper .carouselToyota .txt,\n.swiperUnidades .swiper-wrapper .carouselToyota .boxFuncionamento {\n width: 100%;\n display: grid;\n grid-template-columns: 0.1fr 1fr;\n align-items: center;\n gap: 0 12px;\n}\n\n.swiperUnidades .swiper-wrapper .carouselToyota .boxFuncionamento {\n padding: 15px 0;\n}\n\n.swiperUnidades .swiper-wrapper .carouselToyota .horizontalLayout {\n display: flex;\n flex-direction: row;\n gap: 50px;\n}\n\n.swiperUnidades .swiper-wrapper .carouselToyota .horizontalLayout .txt {\n width: 50%;\n}\n\n.swiperUnidades .swiper-wrapper .carouselToyota .btn-maps {\n padding: 10px 5px;\n background: blue;\n width: 200px;\n display: grid;\n grid-template-columns: 1fr 4fr;\n color: #fff;\n border-radius: 12px;\n place-items: center;\n}\n\n.swiperUnidades .swiper-wrapper .carouselToyota .phonesToyota {\n flex-direction: column;\n gap: var(--gap) 0;\n border-top: 1px solid var(--color_5);\n padding: var(--gap) 0;\n text-align: left;\n}\n\n.swiperUnidades .swiper-wrapper .carouselToyota .horizontalLayout .phonesToyota {\n border-top-width: 0px !important;\n}\n\n.phonesToyota .boxIconPhone {\n display: flex;\n align-items: center;\n flex-direction: row;\n gap: var(--gap);\n}\n\n.phonesToyota .boxIconPhone svg {\n width: 25px;\n}\n\n.swiperUnidades.unitToyota .swiper-configs {\n width: 100%;\n flex-direction: row;\n}\n\n.swiper-configs-carousel {\n width: 55% !important;\n margin-left: 50%;\n position: absolute;\n top: 150px;\n}\n\n.swiperUnidades.unitToyota .swiper-button-next, .swiperUnidades.unitToyota .swiper-button-prev {\n position: static;\n}\n\n.swiperUnidades.unitToyota .button-swiperUnidades::after {\n transform: rotate(0);\n}\n\n.swiper-configs .swiper-pagination .swiper-pagination-bullet {\n width: 11px;\n height: 11px;\n background-color: var(--color_4);\n}\n\n.swiperUnidades .swiper-wrapper .carouselToyota .txt svg,\n.containerBtn svg,\n.boxFuncionamento svg {\n width: 26px;\n}\n\n.boxFuncionamento.iconTop svg {\n height: auto;\n margin: 10px 0 auto 0;\n}\n\n.containerBtn,\n.boxPhoneMedia {\n display: flex;\n flex-direction: column;\n gap: var(--gap);\n}\n\n.containerBtn {\n margin-bottom: 10px;\n}\n\n.boxPhoneMedia .phones {\n width: auto;\n}\n\n.boxPhoneMedia .socialMedia {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--gap);\n}\n\n.boxPhoneMedia .socialMedia a {\n display: flex;\n opacity: 1;\n transition: all 0.25s ease-in-out;\n}\n\n.boxPhoneMedia .socialMedia a:hover {\n opacity: 0.7;\n}\n\n.boxPhoneMedia .socialMedia a svg {\n width: 20px;\n}\n\n.funcionamento {\n width: 100%;\n}\n\n.textoGenerico {\n width: calc(30% - var(--gap) * 4);\n padding: 10px;\n align-items: flex-start;\n color: var(--color_1);\n}\n\n.containerInfo {\n width: 45%;\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-content: space-evenly;\n gap: calc(var(--gap) * 2);\n padding: 5px 15px;\n border-radius: 12px;\n}\n\n.imagemUnidade, .imagemUnidade img {\n width: 55%;\n}\n\n.bg-color {\n transition: 0.3s;\n}\n\n.btn {\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n padding: var(--gap);\n background: var(--btn-bg-color);\n color: var(--btn-text-color);\n font-family: var(--btn-text-font-family);\n font-size: var(--btn-text-font-size);\n font-weight: var(--btn-text-font-weight);\n text-decoration: var(--btn-text-decoration);\n text-align: center;\n border-color: var(--btn-border-color);\n border-bottom-color: var(--btn-border-b-color);\n border-left-color: var(--btn-border-l-color);\n border-right-color: var(--btn-border-r-color);\n border-top-color: var(--btn-border-t-color);\n border-radius: var(--btn-border-radius);\n border-bottom-left-radius: var(--btn-border-bl-radius);\n border-bottom-right-radius: var(--btn-border-br-radius);\n border-top-left-radius: var(--btn-border-tl-radius);\n border-top-right-radius: var(--btn-border-tr-radius);\n border-width: var(--btn-border-width);\n border-bottom-width: var(--btn-border-b-width);\n border-left-width: var(--btn-border-l-width);\n border-right-width: var(--btn-border-r-width);\n border-top-width: var(--btn-border-t-width);\n margin-top: auto;\n}\n\n.btn:hover {\n background: var(--btn-hover-bg);\n color: var(--btn-hover-text-color);\n transition: 0.2s;\n}\n\n.boxSelectsUnits {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-start;\n gap: var(--gap);\n padding-bottom: 20px;\n}\n\n.boxSelectsUnits .selectUnitRegions,\n.boxSelectsUnits .selectUnitCities {\n background: transparent;\n cursor: pointer;\n}\n\n.swiper-configs-separated {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n}\n\n.swiper-configs-separated.swiper-configs-separated-top {\n bottom: 55% !important;\n}\n\n.swiperUnidades .swiper-configs.swiper-configs-separated-top {\n height: auto !important;\n}\n\n.swiperUnidades .swiper-configs-separated .swiper-buttons-separated {\n position: absolute;\n}\n\n.swiperUnidades .swiper-wrapper .unidade.unit-buttons-separated {\n padding-inline: 52px;\n}\n\n.swiperUnidades.unitToyota .swiper-configs-separated .swiper-button-prev {\n left: 0px !important;\n}\n\n.swiperUnidades.unitToyota .swiper-configs-separated .swiper-button-next {\n right: 0px !important;\n}\n\n.swiperUnidades.unitToyota .swiper-configs-separated .swiper-button-next:after, .swiperUnidades.unitToyota .swiper-configs-separated .swiper-button-prev:after {\n font-size: 35px !important;\n}\n","strings":{}}],"page_title":"seletor de unidades","flexstyles":[" \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"],"popups":[{"title":"Whatsapp lead","url":"/whatsapp-lead","options":{"backgroundColor":"#FFFFFF","borderRadius":"5","width":"344","overlayColor":"rgba(0, 0, 0, 0.5)","height":"402","animation":"fadeIn"},"name":"whatsapp-lead"},{"title":"telefone multiregioes","url":"/blank8232795e","options":{"backgroundColor":"#FFFFFF","borderRadius":"5","width":"446","overlayColor":"rgba(0, 0, 0, 0.5)","height":"692","animation":"fadeIn"},"name":"blank8232795e"}],"title":null,"uuid":"66c5b4bfa2374d44b05bfdc0f29c6aa7","devicecss":"*#dm *.dmBody div.u_dm_content\n{\n\tpadding-top:20px !important;\n\tpadding-bottom:20px !important;\n\tpadding-left:20px !important;\n\tpadding-right:20px !important;\n}\n*#dm *.dmBody *.u_1571196806 .listaMultiUnidades\n{\n\tpadding:0px !important;\n}\n*#dm *.dmBody div.u_1571196806 .listaMultiUnidades\n{\n\tfont-size:16px !important;\n}\n*#dm *.dmBody div.u_1571196806 .listaMultiUnidades li a\n{\n\theight:30px !important;\n}\n*#dm *.dmBody div.u_1571196806 .btnSelectUnidade\n{\n\tfont-size:18px !important;\n}\n*#dm *.dmBody *.u_1571196806 .btnSelectUnidade\n{\n\twidth:100% !important;\n}\n*#dm *.dmBody div.allWrapper .dmPopupInner\n{\n\tmargin-left:0px !important;\n\tpadding-top:50px !important;\n\tpadding-left:10px !important;\n\tpadding-bottom:40px !important;\n\tmargin-top:0px !important;\n\tmargin-bottom:0px !important;\n\tmargin-right:0px !important;\n\tpadding-right:10px !important;\n}\n*#dm *.dmBody div.u_1571196806\n{\n\tfloat:none !important;\n\ttop:0px !important;\n\tleft:0 !important;\n\twidth:calc(100% - 0px) !important;\n\tposition:relative !important;\n\theight:42px !important;\n\tpadding-top:0px !important;\n\tpadding-left:0px !important;\n\tpadding-bottom:0px !important;\n\tmin-height:auto !important;\n\tmargin-right:auto !important;\n\tmargin-left:auto !important;\n\tmax-width:100% !important;\n\tmargin-top:10px !important;\n\tmargin-bottom:0px !important;\n\tpadding-right:0px !important;\n\tmin-width:25px !important;\n\ttext-align:start !important;\n}\n*#dm *.dmBody div.u_1136552766\n{\n\tfloat:none !important;\n\ttop:0px !important;\n\tleft:0px !important;\n\twidth:calc(100% - 0px) !important;\n\tposition:relative !important;\n\theight:auto !important;\n\tpadding-top:0px !important;\n\tpadding-left:0px !important;\n\tpadding-bottom:0px !important;\n\tmin-height:auto !important;\n\tmargin-right:0px !important;\n\tmargin-left:0px !important;\n\tmax-width:100% !important;\n\tmargin-top:0px !important;\n\tmargin-bottom:0px !important;\n\tpadding-right:0px !important;\n\tmin-width:25px !important;\n\ttext-align:start !important;\n}\n*#dm *.dmBody div.u_1694251348\n{\n\tmargin-left:0px !important;\n\tpadding-top:20px !important;\n\tpadding-left:20px !important;\n\tpadding-bottom:20px !important;\n\tmargin-top:0px !important;\n\tmargin-bottom:80px !important;\n\tmargin-right:0px !important;\n\tpadding-right:20px !important;\n\twidth:auto !important;\n}\n","seometatags":"","content":"
\n
\n
\n
\n
\n
\"\"
\n
\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","ssr_script":"","headsection":"\r\n \r\n \r\n \r\n \r\n \r\n \r\n \n Concesionária Revenda Autorizada Comauto Volkswagen\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n","current_url":"","collections":"e30=","sidebarPosition":"LEFT","pageFontSizeStyle":"","alias":"blank","relAlternateLanguageLinksMarkup":"","extensionsToRender":{"1117622765":" \n","1576817682":" \n","1537508751":" \n","1806142316":" \n","1400419252":" \n","1470985236":" \n","1426924239":"
    \n","1533772345":" \n","1132146559":" \n","1110784738":"
    \n","1198614152":" \n"},"parameters":{"InitialPageAlias":"blank","InitialDynamicItem":null,"IsCurrentHomePage":false,"pageType":"POPUP","CurrentPageUrl":""},"insite_scripts":""}