File: D:/HostingSpaces/SBogers27/dndin.nl/wwwroot/css/style.css.map
{"version":3,"sources":["webpack:///./resources/assets/sass/site/resources/assets/sass/global/_base.sass","webpack:///./resources/assets/sass/site/style.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/global/mixins/_placeholder.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/global/grid/_grid.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/global/mixins/_mediaQueries.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/global/grid/_visibleGrid.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/global/partials/_breakpoints.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/_base.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/_helpers.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/_header.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/global/bourbon/addons/_prefixer.scss","webpack:///./resources/assets/sass/site/resources/assets/sass/global/mixins/_flex.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/_footer.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/_kmsContent.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/_form.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/_imageSlider.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/_cookieMessage.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/mixins/_cookieSprite.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/_cookieSwitch.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_dynamic.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_twoTextColumn.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_fullImageColumn.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_contentBlock.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_multipleImages.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_fullTextBlock.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_videoBlock.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/mobile/_navigation.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/mobile/_contact.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/mobile/_stickyNavigation.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_largeHeaderImage.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_ctaContentRow.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_reasonsRow.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_discoverRow.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_ctaRow.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_person.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_stepsSlider.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/overviews/_overviews.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/overviews/_largeBadges.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/overviews/_squares.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/overviews/_list.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/show/_subMenu.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/partials/show/_modelDetail.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/pages/_home.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/pages/_contact.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/pages/_default.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/pages/_error.sass","webpack:///./resources/assets/sass/site/resources/assets/sass/site/pages/_sitemap.sass"],"names":[],"mappings":"AAIA,EACE,oDCmDD,KD3CC,eACA,gBCqDD,ID9CC,cACA,YCuDD,qEDhDG,4EE1BF,mDF0BE,4EExBF,2DFwBE,4ECmEH,iDDnEG,4ECwEH,ODlEC,SGvBF,UACE,mBACA,iBACA,cACA,YACA,cAOA,mBACE,WACA,eAUJ,UACE,kBAEA,qBACA,gBACA,mBACA,eACA,gBAPF,iBAgBI,cACA,cAeF,iBACE,kBAGA,qCACE,kBAMJ,uBACE,wBAZF,iBACE,mBAGA,qCACE,mBAMJ,uBACE,yBAZF,iBACE,UAGA,qCACE,mBAMJ,uBACE,gBAZF,iBACE,mBAGA,qCACE,mBAMJ,uBACE,yBAZF,iBACE,mBAGA,qCACE,mBAMJ,uBACE,yBAZF,iBACE,UAGA,qCACE,mBAMJ,uBACE,gBAZF,iBACE,mBAGA,qCACE,UAMJ,uBACE,yBAZF,iBACE,mBAGA,qCACE,mBAMJ,uBACE,yBAZF,iBACE,UAGA,qCACE,mBAMJ,uBACE,gBAZF,mBACE,mBAGA,uCACE,mBAMJ,yBACE,yBAZF,mBACE,mBAGA,uCACE,mBAMJ,yBACE,yBAZF,mBACE,WAGA,uCACE,mBAMJ,yBACE,iBAZF,mBACE,oBAGA,uCACE,mBAMJ,yBACE,0BAZF,mBACE,oBAGA,uCACE,WAMJ,yBACE,0BCzEF,qCDyFE,UACE,kBAEF,aACE,wBF8bH,CGhiBD,qCDsGE,UACE,kBAEF,aACE,wBFgcH,CG1iBD,oCD8GE,UACE,kBAEF,aACE,wBFkcH,CGpjBD,oCDsHE,UACE,kBAEF,aACE,wBFocH,CGzjBD,qCDyFE,UACE,mBAEF,aACE,yBFseH,CGxkBD,qCDsGE,UACE,mBAEF,aACE,yBFweH,CGllBD,oCD8GE,UACE,mBAEF,aACE,yBF0eH,CG5lBD,oCDsHE,UACE,mBAEF,aACE,yBF4eH,CGjmBD,qCDyFE,UACE,UAEF,aACE,gBF8gBH,CGhnBD,qCDsGE,UACE,UAEF,aACE,gBFghBH,CG1nBD,oCD8GE,UACE,UAEF,aACE,gBFkhBH,CGpoBD,oCDsHE,UACE,UAEF,aACE,gBFohBH,CGzoBD,qCDyFE,UACE,mBAEF,aACE,yBFsjBH,CGxpBD,qCDsGE,UACE,mBAEF,aACE,yBFwjBH,CGlqBD,oCD8GE,UACE,mBAEF,aACE,yBF0jBH,CG5qBD,oCDsHE,UACE,mBAEF,aACE,yBF4jBH,CGjrBD,qCDyFE,UACE,mBAEF,aACE,yBF8lBH,CGhsBD,qCDsGE,UACE,mBAEF,aACE,yBFgmBH,CG1sBD,oCD8GE,UACE,mBAEF,aACE,yBFkmBH,CGptBD,oCDsHE,UACE,mBAEF,aACE,yBFomBH,CGztBD,qCDyFE,UACE,UAEF,aACE,gBFsoBH,CGxuBD,qCDsGE,UACE,UAEF,aACE,gBFwoBH,CGlvBD,oCD8GE,UACE,UAEF,aACE,gBF0oBH,CG5vBD,oCDsHE,UACE,UAEF,aACE,gBF4oBH,CGjwBD,qCDyFE,UACE,mBAEF,aACE,yBF8qBH,CGhxBD,qCDsGE,UACE,mBAEF,aACE,yBFgrBH,CG1xBD,oCD8GE,UACE,mBAEF,aACE,yBFkrBH,CGpyBD,oCDsHE,UACE,mBAEF,aACE,yBForBH,CGzyBD,qCDyFE,UACE,mBAEF,aACE,yBFstBH,CGxzBD,qCDsGE,UACE,mBAEF,aACE,yBFwtBH,CGl0BD,oCD8GE,UACE,mBAEF,aACE,yBF0tBH,CG50BD,oCDsHE,UACE,mBAEF,aACE,yBF4tBH,CGj1BD,qCDyFE,UACE,UAEF,aACE,gBF8vBH,CGh2BD,qCDsGE,UACE,UAEF,aACE,gBFgwBH,CG12BD,oCD8GE,UACE,UAEF,aACE,gBFkwBH,CGp3BD,oCDsHE,UACE,UAEF,aACE,gBFowBH,CGz3BD,qCDyFE,WACE,mBAEF,cACE,yBFsyBH,CGx4BD,qCDsGE,WACE,mBAEF,cACE,yBFwyBH,CGl5BD,oCD8GE,WACE,mBAEF,cACE,yBF0yBH,CG55BD,oCDsHE,WACE,mBAEF,cACE,yBF4yBH,CGj6BD,qCDyFE,WACE,mBAEF,cACE,yBF80BH,CGh7BD,qCDsGE,WACE,mBAEF,cACE,yBFg1BH,CG17BD,oCD8GE,WACE,mBAEF,cACE,yBFk1BH,CGp8BD,oCDsHE,WACE,mBAEF,cACE,yBFo1BH,CGz8BD,qCDyFE,WACE,WAEF,cACE,iBFs3BH,CGx9BD,qCDsGE,WACE,WAEF,cACE,iBFw3BH,CGl+BD,oCD8GE,WACE,WAEF,cACE,iBF03BH,CG5+BD,oCDsHE,WACE,WAEF,cACE,iBF43BH,CGj/BD,qCDyFE,WACE,oBAEF,cACE,0BF85BH,CGhgCD,qCDsGE,WACE,oBAEF,cACE,0BFg6BH,CG1gCD,oCD8GE,WACE,oBAEF,cACE,0BFk6BH,CGphCD,oCDsHE,WACE,oBAEF,cACE,0BFo6BH,CGzhCD,qCDyFE,WACE,oBAEF,cACE,0BFs8BH,CGxiCD,qCDsGE,WACE,oBAEF,cACE,0BFw8BH,CGljCD,oCD8GE,WACE,oBAEF,cACE,0BF08BH,CG5jCD,oCDsHE,WACE,oBAEF,cACE,0BF48BH,CInkCH,wBACE,qDACA,oEAKF,cACE,cACA,eACA,cACA,oBAEA,wBACE,8BACA,aARJ,sCAWM,8BAXN,yCAcI,WACA,kBACA,MACA,eACA,YACA,4BAnBJ,qBAsBI,eAEF,oBACE,gBCrCJ,YACE,eACA,QACA,SACA,WACA,YACA,cACA,mBFAA,qCEPF,YAWI,eL6nCD,CGtoCD,qCEFF,YAsBM,gBLwnCH,CG5oCD,qCEFF,YAsBM,iBL8nCH,CGlpCD,oCEFF,YAsBM,gBLooCH,CGxpCD,oCEFF,YAsBM,gBL0oCH,CMtpCH,KACE,mCACA,kCACA,kCASF,KACE,SAEA,6BACA,gBAEA,kEASA,mBACE,mBACA,WAFF,cACE,mBACA,WAKJ,IACE,UACA,sDAFF,YAKI,UAOJ,eACE,6BAOF,QACE,kBACA,qBACA,kBACA,yBACA,mBACA,cACA,gBACA,kCACA,gBACA,gBACA,UACA,yBACA,qBACA,oMAGA,cACE,kBACA,WACA,YACA,WACA,WACA,aACA,WACA,sCACA,WACA,kBACA,oBACA,wDACA,sEACA,gEAEF,eACE,kBACA,qBACA,WACA,iBACA,wDACA,kJAvCJ,mBA0CM,WACA,gBA3CN,wBA6CQ,aAEN,cACE,oFACA,kEAjDJ,oBAoDM,UACA,WACA,UAtDN,qBAyDM,sEAzDN,qBA8DM,SACA,0DACA,iBAhEN,2BAoEQ,oGAIR,eACE,WADF,+BAMQ,UCvIR,QACE,mBJNA,qCImBE,uBACE,aPi0CH,CGh1CD,qCIkBE,sBACE,aPm0CH,CG31CD,qCImBE,uBACE,aP60CH,CG51CD,qCIkBE,sBACE,aP+0CH,CGv2CD,qCImBE,uBACE,aPy1CH,CGx2CD,qCIkBE,sBACE,aP21CH,CGn3CD,oCImBE,uBACE,aPq2CH,CGp3CD,oCIkBE,sBACE,aPu2CH,CG/3CD,oCImBE,uBACE,aPi3CH,CGh4CD,oCIkBE,sBACE,aPm3CH,COj3CH,QACE,qDACA,kEACA,oEAEF,WACE,iBACA,oBC/BF,OACE,kBACA,UACA,yBAEA,aAEE,WACA,kBACA,OACA,eACA,QACA,cACA,WACA,YACA,qJACA,WAEF,iBACE,UCdI,+BAKA,4BAKA,2BCZN,oEFmBE,4CEzBF,oBAEA,4DDWM,wBAKA,uBCXN,kEFkBE,2BCjBI,sCAKA,mCAKA,kCCZN,+FFqBI,CAxBN,uBA4BM,qBACA,WACA,gBACA,eACA,2BACE,WLnCN,oCKEF,OAoCI,aR07CD,CQl7CH,KACE,kBACA,2CAGF,WEpDE,oBAEA,kEDWM,8BAKA,wDALA,wBAKA,uBCZN,gEACA,kFFgDA,SACA,UAGF,WACE,mDAEA,sBACE,iBAEF,sBACE,iBAGJ,WACE,kBACA,cACA,kBACA,gBACA,gBACA,cACA,qBACA,sDARF,iBAWI,kBACA,WACA,UACA,WACA,QACA,WACA,UACA,yBACA,gEACA,oBApBJ,sCAuBI,kBACA,WACA,kEAEA,kDACE,0BACA,UA7BN,qBAgCI,UAGJ,kBACE,yBACA,kBACA,gBAHF,wBAMI,YACA,WACA,WACA,YACA,WACA,WACA,kBACA,wDACA,sEAdJ,wBAiBI,UAEA,8BACE,UACA,WACA,YG3HN,OACE,mBACA,gBACA,gBACA,WAJF,iBAOI,oBAPJ,iBAUI,mBAVJ,yBAaM,yBACA,cACA,kCACA,gBACA,gBACA,gBAlBN,SAqBI,qBACA,0EACA,WAvBJ,eA0BM,WA1BN,gBA8BI,mBACA,wBAEA,uBACE,YACA,mBAnCN,2BAsCQ,WACA,iBACA,kBAxCR,cA4CI,UACA,wBAEA,wBACE,WAEF,6CACE,UACA,mBApDN,iBAuDM,gBACA,UACA,mBAzDN,sBA8DU,qBAGA,6BACE,cACA,WRrEV,oCQwEE,8BACE,mBACA,wBAxEN,cA2EM,gBX+lDH,CG5qDD,oCQgFE,iBACE,eACA,0BAhFN,cAmFM,gBACA,oBACE,WACA,mBAtFR,yBAyFQ,WXqmDL,CW7lDD,mBACE,yBACA,eAGE,0CACE,mBACA,gCDzGN,uEDWM,mCAKA,6DALA,wBAKA,uBCZN,6EACA,kECuGE,0CACE,gBACA,cACA,cAEF,qBACE,qBAjHN,0BAoHM,sCDrHJ,uEDWM,mCAKA,6DALA,wBAKA,uBCZN,6EACA,kECkHI,gBACA,cACA,YACA,sDAEA,gCACE,WA5HR,+BA+HQ,kBACA,MACA,qBACA,WACA,YAEE,uCACA,wBACA,wBACA,4BR1IR,oCQEF,mBA2IM,oBA3IN,0CA8IU,cACA,kBAEJ,qBACE,qBAEF,0BACE,YX+nDL,CGtxDD,qCQEF,OAwJI,iBAxJJ,iBDHE,oBAEA,oEDWM,gCAKA,8DALA,4BAKA,2BCZN,sEACA,2FDWM,0CE8IF,oBACA,WA9JN,kBAiKM,WACA,sBACA,iBACA,kBApKN,wBAuKQ,aAGF,2BFrKE,gBAUA,YE6JA,wCACA,iBA7KR,iDAgLQ,aAEF,oBACE,qBAEF,yCACE,mBAtLR,0CA2LU,WXupDP,CYl1DH,aACE,cADF,gDAII,iBACA,gBACA,cACA,kCAEA,qEACE,gBAVN,gCAaI,iBAbJ,uBAiBM,cAjBN,gBAoBI,gBACA,gBACA,cACA,yBAvBJ,eA0BI,gBACA,kBAEF,gBACE,eACA,gBA/BJ,mBAkCM,kBACA,kBACA,gBACA,gBAEA,0BACE,kBACA,OACA,QACA,gBACA,mBACA,gBACA,cAEF,sBACE,eAjDR,gBAoDI,yBACA,eACA,gBACA,mBACE,kBACA,gBACA,gBACA,cA3DN,0BA8DQ,6BACA,gCACA,kBACA,OACA,cAEF,sBACE,eArER,4BAwEI,cACA,qBAEA,kCACE,cACA,qBCjFN,MACE,cACA,WACA,gBACA,eACA,gBALF,aAQI,eACA,UACA,YACA,WAXJ,oCAcI,cACA,iBACA,cAEF,oBACE,kBACA,mBApBJ,2EAwBQ,qBAxBR,qBA2BI,aACA,WACA,cACA,gBAEA,eACA,gBACA,qCACA,kBAnCJ,4BAsCM,cACA,mBAvCN,yBA0CI,cACA,kBACA,cACA,eACA,yBA9CJ,2BAiDI,cACA,WACA,kBACA,yBACA,kBACA,eACA,cACA,wEZvDF,iFY0DI,wBZxDJ,+DYwDI,wBZtDJ,uEYsDI,wBZpDJ,6DYoDI,wBA3DN,uCA8DM,qBAEF,uCACE,cACA,qBACA,wCACA,aAEF,0RACE,oGACA,gCACA,sDAzEN,+CA4EM,qBAEJ,eACE,iBACA,gBAhFJ,8BAoFM,kBACA,cAEF,oBACE,kBACA,WACA,SACA,qBACA,QACA,SACA,mBACA,uBACA,6CACA,WACA,oBAlGN,qBAqGM,cACA,mCJxFE,qBAKA,oBAKA,mBAKA,gBI2EF,6BACA,sBACA,4BACA,6BACA,kBACA,eACA,cAEA,2BACE,wCACA,aAIJ,sBHrHF,oBAEA,uEDWM,mCAKA,iEALA,4BAKA,2BCZN,6EACA,oEGgHI,eAEA,4BJjHE,wBAKA,qBAKA,oBAKA,mBAKA,gBI+FA,SACA,WACA,YACA,mBACA,UACA,YACA,oCACA,wBACA,wBACA,4BACA,wEAtIR,kCAyIU,oCAEF,oCACE,+CACA,oCAEJ,2BACE,cACA,eACA,wBAlJR,cAqJI,gBACA,iBAtJJ,oBAyJM,aAzJN,sBA4JM,eACA,gBACA,6BACE,iBAER,0BAEI,cACA,gBACA,cACA,iBACA,gBAGJ,iBACE,gBACA,kBACA,qCACA,yBACA,kBACA,eACA,cAEA,6BACE,cAEF,wBACE,4BACA,qBACA,kBACA,mBACA,gBACA,cAlBJ,iCAqBI,yBC/LJ,cACE,WACA,iBACA,kFAHF,2BAMI,kBACA,WACA,YARJ,wCAWM,kBACA,UACA,WACA,SACA,sBXbJ,qCWQE,wCAQI,oBdmtEL,CcjtEG,kDACE,kBAEA,aACA,WACA,YACA,eACA,mBACA,4DA5BR,yGJCE,oBAEA,gEDWM,4BAKA,sDALA,wBAKA,uBCZN,oEACA,kEIRF,uDAgCU,YACA,WACA,wDACA,kJAnCV,mEAsCY,kBACA,WACA,YACA,wDACA,wEACE,UAEN,2DACE,yBACA,sBAGE,4EACE,wDAEJ,iEACE,yBAtDZ,uDAyDU,yBACA,qBA1DV,wEA+Dc,0DA/Dd,6DAkEY,yBAlEZ,kCAuEM,kBACA,UACA,MACA,OACA,WACA,YACA,UACA,sDAEA,uCACE,kBACA,MACA,OACA,WACA,YACA,sBACA,wBAEA,6CACE,aXxFR,oCWFF,8CA8FY,aAEF,6CACE,cdmvET,Ccp1EH,yCAoGQ,UACA,UCpGR,gBACE,eACA,aACA,SACA,OACA,eACA,WACA,yBACA,UACA,wFACA,kMACA,wDAXF,yBAcI,aAdJ,+BAiBI,UACA,sEAlBJ,0BAqBI,kBAEA,kGACE,iBACA,gBACA,WA1BN,4BA6BM,qBACA,sBACA,SA/BN,8BAkCQ,0BAEJ,wCACE,qBACA,sBACA,iBACA,iBACA,oCACA,kBACA,eZ1CJ,oCYDF,4BA+CQ,gBfs2EL,CGp5ED,oCYDF,4BAmDQ,cACA,eApDR,wCAuDQ,gBfy2EL,Cet2EH,wBACE,eACA,aACA,MACA,2BL5DA,gEDWM,4BAKA,sDALA,wBAKA,uBCZN,oEACA,kEKyDA,WACA,YACA,gCACA,UACA,sDAEA,iCACE,aAbJ,uCAgBI,UAhBJ,qCAmBI,iBACA,mBACA,cACA,gBACA,iBACA,kBACA,sBAzBJ,wCA4BM,iBACA,cACA,gBACA,eACA,cAhCN,uCAmCM,gBACA,gBACA,SACA,WAtCN,2FAyCM,cACA,mBACA,eACA,0BA5CN,2DA+CM,qBACA,gBACA,kBACA,kBACA,yBACA,gGACA,gBACA,gBACA,WACA,eAxDN,iEA2DQ,yBZpHN,qCY2EA,qCA4CI,2BACA,cf+3EH,CGv/ED,oCYyDF,qCAkEM,Wfk4EH,Cep8EH,6CAqEI,cAEA,kDACE,aAEJ,kDACE,cACA,cA5EJ,+DL1DE,oBAEA,uEDWM,mCAKA,iEALA,4BAKA,2BCZN,6EACA,oEKmII,WAhFN,4EAmFQ,gBAEF,qEL/IJ,oBAEA,gEDWM,4BAKA,sDALA,wBAKA,uBCZN,oEACA,kEK0IM,WACA,YAEA,4EACE,WACA,cAEJ,qEACE,cACA,wBAhGR,uEAmGU,gBACA,gBACA,iBACA,SACA,wBAvGV,8EA0GY,qBACA,cACA,gBAEA,mFACE,mBAGN,qFCpKN,uDACA,2BACA,WACA,YDqKM,qFCxKN,2DACA,2BACA,WACA,YD+CF,yCA0HI,aAEA,8CACE,cAEF,kDACE,iBAEF,sDL5LF,oBAEA,uEDWM,mCAKA,iEALA,4BAKA,2BCZN,6EACA,oEKuLI,WACA,gBACA,eAtIN,mEAyIQ,gBAzIR,4DA4IQ,eACA,cC/LN,+DACA,2BACA,WACA,oCPEM,qBAKA,oBAKA,mBAKA,gBM8BR,oEAkJU,4BAEF,kEACE,aACA,wCAEJ,2DACE,cACA,wBACA,gBACA,iBACA,wBA7JR,kEAgKU,gBACA,cAjKV,uEAoKY,mBAEN,+DACE,oBACA,mBAxKR,qEA2KU,WErOV,eACE,mBACA,oBACA,gCACA,WAJF,4BAOI,WACA,cAGE,oDACE,gBACA,iBACA,gBAdR,mDAiBQ,gBACA,gBAEJ,0CACE,cACA,mBAtBN,uDPAE,oBAEA,uEDWM,mCAKA,iEALA,4BAKA,2BCZN,6EACA,oEOmBM,WACA,gBACA,eA5BR,oEA+BU,gBA/BV,6DAkCU,eACA,sCRtBF,qBAKA,oBAKA,mBAKA,gBOpBN,+DACA,2BACA,WACA,YCXF,mEAwCY,aACA,wCAzCZ,qEA4CY,4BA5CZ,4DA+CU,cACA,wBACA,gBACA,gBdjDR,oCcDF,4DAqDY,wBjB0sFT,CiBxsFO,mEACE,gBAxDZ,wEA2Dc,mBA3Dd,gEA+DU,oBACA,mBAhEV,kDAmEM,qBACA,kBACA,kBACA,yBACA,gGAEA,gBACA,gBACA,WACA,eA5EN,wDA+EQ,yBA/ER,0DAkFQ,WC/ER,8BAGI,gBAHJ,yBTKQ,2BAKA,wBAKA,uBCXN,kEQJF,yDRHE,oBAEA,uEDWM,mCAKA,kCCZN,6EQHF,gCCHE,kBACA,0CVYM,4BAKA,2BCXN,oEQJF,yCCCI,mBACA,UhBJF,oCeEF,gCCKI,cDLJ,yCCOM,qBACA,SAEA,wDACE,mBnB40FL,CkBv1FH,qCEDI,WACA,aACA,2CACE,cjBJJ,qCeEF,2CEMQ,aFNR,4CEQQ,cpBk2FL,CG52FD,oCiBaI,4CACE,aFZR,2CEcQ,cpBs2FL,CqBx3FH,6BACE,sCXEA,uEDWM,mCAKA,iEALA,4BAKA,2BCZN,6EACA,oEWJA,oCACE,UAEA,wCACE,WAEA,8CACE,alBTN,oCkBYM,+CACE,aAEF,8CACE,crB24FP,CqBz4FC,6CACE,mBAEJ,sCZdM,gBAUA,YYMJ,mBAGA,+DZnBI,gBAUA,YSfR,iETKQ,gBAUA,YNjBN,oCeEF,6BG+BI,cH/BJ,oCGkCM,WACA,gCZpBE,YYuBJ,sCACE,WrBu5FH,CkB97FH,+BRHE,oBAEA,uEDWM,mCAKA,iEALA,4BAKA,2BCZN,6EACA,2FDWM,0CSfR,sCICI,mBJDJ,0CIIM,WACA,aJLN,iDIQQ,anBVN,qCmBaM,gDACE,aJZV,iDIcU,ctB09FP,CG1+FD,oCmBmBM,gDACE,aJlBV,iDIoBU,ctB89FP,CsBz9FK,sEACE,cnB5BR,qCmB+BQ,sEACE,aJ9BZ,qEIgCY,ctBg+FT,CGlgGD,oCeEF,+BImCI,cJnCJ,sCIsCM,WJtCN,oDIwCQ,mBJxCR,iDI4CU,wBACF,gDACE,uBtBw+FP,CGxhGD,0DeEF,iDIkDY,aJlDZ,gDIoDY,ctB4+FT,CuBniGD,wCACE,gBACA,YACA,kBLAJ,2BMHE,WACA,gBACA,6BNCF,0CMEI,kBACA,qBACA,iBACA,SACA,0GACE,kBACA,MACA,OACA,WACA,YACF,yDACE,8BddJ,gEDWM,4BAKA,sDALA,wBAKA,uBCZN,oEACA,kEcWI,UACA,eACA,8CNjBN,iEMmBQ,UACA,eACA,8CACA,8CACA,qEACE,WAEF,uEfrBA,6BAoBA,qBSzBR,8DM8BQ,UACA,oBACA,8CACA,kDNjCR,sEMmCU,8CACA,gDrBtCR,oCsBWF,eAEI,gBACA,kBACA,eACA,WzBwmGD,CyBrmGH,mBACE,eACA,aACA,aACA,gBACA,WACA,OACA,MACA,oBAEA,2BACE,YAXJ,wBAcI,aACA,YACA,yBACA,wFACA,mBACA,kBACA,UACA,wDACA,8PAEA,qCACE,WACA,YACA,UACA,eACA,sCf/CJ,gEDWM,4BAKA,sDALA,wBAKA,uBCZN,oEACA,kEeaF,2CAiCQ,WAjCR,qDAoCU,eApCV,gDAuCU,WACA,WACA,cACA,gDACA,sDACA,sBACA,kJA7CV,+DAgDY,kDAhDZ,+DAmDY,oDAnDZ,sDAwDY,oEAxDZ,8BA2DM,YACA,WACA,kBACA,OACA,0BfjFJ,gEDWM,4BAKA,sDALA,wBAKA,uBCZN,oEACA,kEe+EI,gCACE,kBACA,cACA,WACA,wBACA,wBACA,4BACA,kBAzER,oCA4EU,qBACA,WACA,gBA9EV,iCAkFM,0EAlFN,2BA2FI,UACA,kDA5FJ,oDAqFI,WACA,YACA,kBACA,OACA,MACA,yBA1FJ,yBAoGI,gBACA,gBACA,mBAGA,gBACA,mBACA,UACA,0EA5GJ,6BA+GM,kBA/GN,oCAkHQ,kBACA,SACA,WACA,cACA,WACA,YACA,eACA,wDACA,sDACA,kJAEA,0CACE,wDACA,WAEF,qFACE,WACA,kBACA,cACA,sBACA,wDACA,wDACA,wEAxIV,2CA2IU,SACA,MACA,UACA,YA9IV,0CAiJU,OACA,QACA,WACA,WApJV,2CAwJQ,WACA,eAEA,6CACE,cACA,qBAEA,iDACE,WACA,iBAjKZ,wCAoKQ,gBApKR,2CAuKU,SACA,UACA,gBACA,eACA,gBA3KV,8CA8KY,gBAGA,gDACE,cACA,cACA,yBACA,qBACA,kDACA,eAvLd,sDA0LgB,0BA1LhB,iDA6Lc,gBA7Ld,uDAiMgB,WAGZ,kCACE,aAKI,uDACE,UACA,kDACA,qEhBzNJ,gCAoBA,wBgBuMM,UACA,QACF,oEACE,WACA,UACA,4ChB5MN,yBgB8MJ,gCACE,wDAvNN,yCA2NM,WACA,mBA5NN,2CAgOM,8CAhON,yCAkOM,8CACA,sFtBtPJ,oCsB2PE,2CACE,cAzON,yBA4OM,ezBwqGH,CGv6GD,oCsBmBF,uBAgPM,kBAhPN,0BAmPQ,iBzB2qGL,C0Bn7GH,gBACE,aACA,UACA,0EAEA,yBACA,sBAEA,cACA,gBAEA,kMAXF,uBAcI,wDACA,UACA,mBAGF,sCACE,eACA,gBACA,gBACA,cACA,gBAxBJ,kBA2BI,cAEF,uBACE,cAEF,+BACE,cACA,qBACA,gGAnCJ,qCAqCM,cArCN,yBA0CI,qBACA,gBACA,kBACA,mBACA,yBACA,qBACA,gBACA,cACA,gBACA,WACA,wEApDJ,+BAuDM,WACA,iBACA,wDACA,kJAEF,+BACE,yBA7DN,qCA+DQ,sEvB7DN,oCuBFF,gBAmEI,c1B+7GD,C2BlgHH,mBACE,eACA,MACA,OACA,WACA,yBACA,WACA,YACA,0EACA,4FACA,UACA,kMAXF,0BAcI,wDACA,UAEF,6BjBhBA,oBAEA,uEDWM,mCAKA,6DALA,wBAKA,uBCZN,6EACA,kEiBRF,yBAqBI,qBACA,WAEA,sCACE,kBACA,WACA,oBA3BN,wDA8BQ,kBACA,OACA,MACA,WACA,gCjB/BN,gEDWM,4BAKA,sDALA,wBAKA,uBCZN,oEACA,kEiB4BM,eApCR,8DAuCU,WAEA,wEACE,eAEF,mEACE,WACA,WACA,cACA,gDACA,sDACA,sBACA,kJAnDZ,kFAsDc,kDAEF,kFACE,oDAIF,yEACE,oEA9Dd,mCAkEM,eACA,cACA,WACA,qBACA,gBCtEN,oBACE,kBzBCA,oCyBFF,oBAII,kB5B8mHD,CGhnHD,oCyBFF,oBAOI,iB5BinHD,C4B/mHD,2BACE,WACA,kBACA,WACA,MACA,OACA,mBACA,WACA,WzBfF,oCyBOA,2BAWI,W5BqnHH,C4BzoHH,0BAuBI,WACA,kBACA,WACA,WACA,OACA,mBACA,aACA,WzB5BF,qCyBoBA,0BAWI,a5BynHH,CGxpHD,oCyBFF,0BAoCM,a5B4nHH,CG9pHD,oCyBFF,0BAuCM,a5B+nHH,CGpqHD,oCyByCE,8BACE,W5BgoHH,C4B9nHD,kCACE,kBACA,UACA,WACA,sCACE,WAnDN,6CAsDM,kBACA,UACA,YACA,iBACA,gBACA,WACA,cA5DN,kDA+DQ,qBACA,yBACA,kBACA,kBzBhEN,qCyBFF,6CAqEQ,iB5BwoHL,CG3sHD,oCyBFF,6CAwEQ,iB5B2oHL,CGjtHD,oCyBFF,6CA2EQ,kBACA,SACA,OACA,gB5B8oHL,CG1tHD,oCyBFF,6CAiFQ,gBACA,eACA,iB5BipHL,C4BpuHH,4DAuFQ,gCAvFR,sEAyFU,YAzFV,+EA2FY,wBACF,2EACE,uBzB3FV,oCyBFF,sEAgGY,a5B0pHT,C4B1vHH,iCAmGI,kBACA,sBACA,aACA,+BlBnGF,gEDWM,4BAKA,sDALA,wBAKA,uBCZN,oEACA,kEkBgGE,WACA,YACA,eACA,4BA3GJ,uCA8GM,WACA,kBACA,MACA,OACA,WACA,WACA,YACA,mBACA,kBAtHN,wCAyHM,kBACA,UACA,qBACA,WAEA,wDACA,kJAEA,4CACE,WAEA,iDACE,UArIV,8CAyIQ,sEzBvIN,oCyBgGA,iCA2CI,a5B0qHH,C6BvzHH,2BnBCE,oBAEA,kEDWM,8BAKA,4DALA,4BAKA,2BCZN,gEACA,oEmBLE,gBAHJ,sCAMM,mBACA,gBACA,mBARN,wCAUQ,oBACA,gBACA,gBACA,cACA,yBACA,kCAEF,yCACE,gBACA,SACA,iBACA,kBACA,gBACA,c1BrBN,oC0BFF,yCA0BU,iB7Bi1HP,C6B/0HG,8CACE,gBA7BR,0CAgCM,mBACA,yB1B/BJ,qC0BFF,2BAwCM,eAxCN,sCA2CQ,mBACA,yBAEF,0CACE,mB7Bo1HL,CGj4HD,oC0BkDE,2BACE,eACA,cAtDN,gFAyDQ,mBACA,kBACA,iB7Bs1HL,CG/4HD,0D0BFF,gFA8DU,W7B01HP,CGt5HD,oC0B8DI,sCACE,mB7B61HL,C8B95HH,aAEE,yBACA,gBAEA,oCAJA,kBADF,8BAmBM,WACA,cAEA,kBACA,MACA,iCACA,YACA,YACA,yJAIJ,uBACE,sBACA,gBAjCJ,4BAoCI,kBACA,UACA,iBACA,0BAvCJ,+BA0CM,iBACA,gBAEA,gBACA,WACA,gBACA,kB3B9CJ,qC2BuCE,+BAUI,e9B25HL,C8Bz5HC,+BACE,gBACA,SACA,UAEA,kCpBzDJ,oBAEA,uEDWM,mCAKA,6DALA,wBAKA,uBCZN,6EACA,kEoBqDM,qCACE,gBA9DV,6CAiEU,aAEF,oCACE,wBACA,SACA,gBACA,gBACA,WAxEV,2CA2EY,iBACA,gBACA,cACA,kBACA,W3B7EV,qC2BiEM,oCAeI,eAlFZ,2CAoFc,e9Bg7HX,CGlgID,qC2BFF,oCAuFY,e9Bm7HT,C8B1gIH,oDA4FY,cACA,WACA,YA9FZ,wDAgGc,WACA,gBAIJ,oDACE,cACA,eACA,WACA,YACA,wDACA,wDACA,kJAEA,6BACA,+BA/GZ,qCpBCE,oBAEA,oEDWM,gCAKA,0DALA,wBAKA,uBCZN,sEACA,kEoB4GI,gBACA,iBArHN,wDAwHQ,Y3BtHN,qC2BFF,wDA2HU,Y9Bg8HP,C8B3jIH,+DA8HU,kBACA,WACA,oBACA,SAjIV,oEAoIY,kBACA,mBACA,MACA,OACA,WACA,YACA,wBACA,sB3BzIV,qC2BFF,qCA+IQ,cA/IR,6CAkJU,eACF,wDACE,a9Bu8HP,C8Bp8HD,yBACE,kBACA,UACA,UA1JJ,+BA6JM,yBAEF,kCACE,kBACA,QACA,MACA,YAnKN,4BAsKM,iBACA,cACA,gBACA,yBACA,gBA1KN,sCA6KM,eA7KN,qDAgLQ,yBAEA,WACA,gBAnLR,kEAsLU,kBACA,qBACA,iBACA,SAzLV,0JA2LY,kBACA,MACA,OACA,WACA,YA/LZ,2CA6MQ,sBACA,wBA9MR,8CAiNQ,aACA,WACA,SAnNR,kDAqNU,W3BnNR,qC2BuNE,uBACE,WA1NN,2DA6NQ,aA7NR,4BAgOM,cACA,WACA,yBACA,gBACA,YApON,yBAuOM,yBACA,kBACA,WACA,sBACA,YA3ON,+BA8OQ,yBA9OR,kCAiPQ,kBACA,YACA,UAnPR,sCAsPQ,kBAtPR,2CAyPU,aAEF,8CACE,c9B89HP,C+B1tIH,cACE,mBACA,qBACA,gBAHF,wBAMI,cACA,iBACA,kCACA,yBACA,gBAVJ,qBrBCE,oBAEA,gEDWM,4BAKA,0DALA,4BAKA,2BCZN,oEACA,oEqBME,iBACA,kFAEA,6BACE,kBACA,gBAnBN,oCAsBQ,WACA,kBACA,SACA,QACA,qBACA,aACA,WACA,kK5BtBN,oC4ByBM,oCACE,MACA,YACA,YACA,YACA,+J/B6uIP,C+BlxIH,+BAwCQ,qBAIA,8EACE,WA7CV,sCAiDQ,kBACA,MACA,OACA,WACA,YACA,gBAtDR,yCAyDU,kBACA,uBACA,YACA,WACA,SACA,iBACA,gBACA,WACA,kCACA,gBAEA,wDACA,0DArEV,yDrBCE,oBAEA,gEDWM,4BAKA,sDALA,wBAKA,uBCZN,oEACA,kEqBiEQ,kBACA,MACA,OACA,WACA,YACA,mBACA,UACA,gEACA,kDACA,oBAEA,8DACE,cACA,WAtFZ,kEAyFc,WACA,wDACA,0DA3Fd,kFA+FkB,UAIR,+DACE,UACA,sCACA,gE5BpGV,oC4BFF,qBtBSQ,uBAUA,0CsBnBR,6BA6GQ,UACA,kB/BowIL,CGh3ID,oC4BUA,qBAqGI,cAEA,6BACE,WApHR,yCAwHY,sDACA,UACA,Y/BwwIT,CgCl4IH,SACE,kBACA,yB7BKA,qC6BPF,SAKI,mQhCw4ID,CgCt4ID,qBACE,WACA,gBACA,gBACA,WACA,gBACA,cACA,eAdJ,8CAiBI,qBACA,eAlBJ,oDAqBM,cACA,iBACA,kCACA,gBACA,gBAzBN,kDA4BM,WACA,gBACA,SACA,yBAEF,8DACE,gBAEJ,sBACE,wBACA,mBAGF,wBACE,UACA,mBA3CJ,qBA8CI,qBACA,UACA,yB7B9CF,qC6B2CA,qBAMI,yBhCs5IH,CgCp5IC,8BtBpDF,oBAEA,oEDWM,gCAKA,0DALA,wBAKA,uBCZN,sEACA,kEsB+CI,UAvDN,wCA0DM,YAEA,+CACE,kBACA,WACA,oBACA,SAEA,oDACE,kBACA,mBACA,MACA,OACA,WACA,YACA,wBACA,sBAEN,mCACE,yBACA,kBA9EN,qCAiFQ,SACA,cACA,iBACA,kCACA,gBArFR,wCAwFQ,cACA,cACA,yBACA,gBA3FR,qCA8FQ,cACA,gBACA,gBACA,WACA,qB7BhGN,qC6BFF,mBAuGM,YACA,cACA,WAzGN,mDA4GQ,aAEJ,mEACE,WACA,yBAhHN,sBAmHM,chC+6IH,CGhiJD,oC6BFF,oDA2HQ,aAEJ,qBACE,yBACA,kBA/HN,8BAkIQ,cAlIR,wCAqIQ,qBACA,mBAEF,mCACE,eACA,WhCk7IL,CiC5jJH,kBACE,wDACA,eAGE,0CACE,gB9BCJ,oC8BCA,0BAEI,qDACA,kEACA,6EjCikJH,CiC7kJH,iCAeM,aAfN,6BAkBM,cACA,gB9BZJ,oC8BUE,6BAKI,ajCskJL,CiCrkJC,4BACE,cACA,SAzBN,iCA4BI,aACA,mBACA,iBACA,gBACA,cChCJ,cACE,gBAEA,kBAHF,2BAOM,eACA,gBAEA,cAVN,0BAcI,kBACA,qBACA,gBACA,UACA,mBAEA,iCACE,WACA,kBACA,OACA,oBACA,WACA,WACA,yBAGF,0CACE,kBACA,UACA,qBACA,kBACA,iBACA,sBACA,yBACA,mBACA,iBACA,gBACA,gBACA,cACA,eACA,gFA5CN,sDA+CQ,cAEF,4CACE,SAlDR,gDAqDQ,yBArDR,iDAwDQ,yBACA,WAzDR,sBA4DI,kBACA,gBACA,iBACA,mBA/DJ,6BAkEM,kBACA,UACA,MACA,OACA,cACA,WACA,UACA,iBACA,gBAEA,wEACA,kMA7EN,oCAgFQ,UACA,UACA,wDAlFR,gCAqFQ,aACA,iBACA,gBACA,gBAxFR,oDA6FQ,kBAEA,SACA,WACA,YACA,eACA,mBACA,4DApGR,6GxBCE,oBAEA,gEDWM,4BAKA,sDALA,wBAKA,uBCZN,oEACA,kEwBRF,yDAwGU,YACA,WACA,wDACA,kJAEA,qEACE,kBACA,WACA,YACA,wDACA,0EACE,UAEN,6DACE,yBACA,sBAGE,8EACE,wDAEJ,mEACE,yBAEJ,yDACE,yBACA,qBAlIV,0EAsIc,0DAtId,+DAyIY,yB/BvIV,oC+BFF,cA4II,UAEA,wBACE,WA/IN,2BAkJQ,eAlJR,0BAqJM,aArJN,sBAwJM,aACA,eACA,sBAEA,6BACE,kBACA,sBACA,UACA,yBACA,4EACA,sBAEA,8CACE,yBArKV,sCAwKU,gBlCupJP,CmC/zJH,gBACE,kBADF,sBAII,WACA,kBACA,WACA,MACA,OACA,mBACA,aACA,WhCTF,oCgCFF,sBAeM,anCq0JH,CmCp1JH,8BAkBI,oBACA,kBACA,WApBJ,4BzBCE,oBAEA,gEDWM,4BAKA,sDALA,wBAKA,uBCZN,oEACA,kEyBgBE,SACA,iBACA,gBACA,gBACA,gBACA,gBA7BJ,+BAgCM,aAhCN,iCAmCQ,cACA,qBApCR,2CAwCU,WAGF,gMACE,kBACA,MACA,cACA,YA/CV,gPAkDY,kBACA,WACA,YACA,wDACA,0DAtDZ,oQAyDc,aAzDd,iGA6DU,kDAEJ,wCACE,WACA,oBAEA,oDACE,kBACA,WACA,YACA,wDACA,0DAEA,yDACE,0BC3EZ,6BAGI,qC1BAF,uEDWM,mCAKA,iEALA,4BAKA,2BCZN,6EACA,2FDWM,0C2BnBR,qCASM,mBjCPJ,oCiCFF,qCAYQ,gBpC+7JL,CoC77J0B,yBAZ3B,6BAaI,aACA,kCACA,mBACA,oBAlBN,wCAqBQ,+BACA,qFAEA,4DACE,gBAzBV,qCA4BQ,SjC1BN,qCiCFF,6BA+BQ,mBpCu8JH,CGp+JH,qCiCFF,6BAkCQ,mBACA,8BAnCR,wCAsCU,gDpC28JL,CG/+JH,oCiCFF,6BAyCQ,mBpC88JH,CGr/JH,oCiCAA,6BA0CM,cACA,gBACA,iBACA,kBA/CR,qCAiDU,mBpCm9JL,CACJ,CoCrgKD,2BAoDI,WACA,gBACA,mBACA,kFAEA,eACA,gBAEyB,yBA5D7B,2BA6DM,YACA,eA9DN,6BAgEQ,YACA,iBpCy9JL,CGxhKD,oCiCiDA,2BAiBI,gBpC49JH,CoC19JC,6BACE,cACA,kBACA,WACA,SACA,mBACA,qBAEyB,yBAR3B,6BASI,YpCg+JL,CoC/iKH,+EAkFQ,kBACA,OACA,MACA,WACA,YAtFR,2CAyFU,WAEA,UAKA,mBACA,WACA,sDAEF,yCACE,kBACA,OACA,MACA,WACA,YACA,sBACA,wBACA,aAEA,gDACE,cA/GZ,mCAmHQ,kBACA,QACA,QACA,UACA,cACA,gBACA,cACA,cACA,kDjCzHN,oCiCFF,mCA8HU,gBAGA,cpCo+JP,CoCl+JG,gCACE,kBACA,UACA,uBACA,QACA,UACA,WAEA,gBACA,gBACA,gBACA,kDA9IR,uCAiJU,kBACA,UACA,WACA,YACA,YACA,wDACA,kJAEA,mDACE,WACA,wDACA,0DA5JZ,wDA+Jc,aACA,gDAKJ,iDACE,WAtKZ,0CAyKU,sEAzKV,2DA4Kc,UA5Kd,+EA+KU,WjC7KR,oCiCgLI,6BACE,YACA,iBApLR,oCAuLU,kBACA,SACA,mBAEF,oCACE,aAEF,gCACE,kBACA,WACA,OACA,SACA,kBpCo/JP,CoCl/JC,gDAGM,cAEA,oDACE,0BADF,0DAII,wBAJJ,uDAOI,0BjC/MZ,oCiCwMQ,oDAUI,2BACA,YpCy/JX,CoCzgKC,mEAqBY,aACF,kEACE,cjC1Nd,oCiCmME,kEA2Bc,aA3Bd,mEA6Bc,cpC8/Jf,CoC3hKC,sDAgCQ,OACA,iBAEF,mDACE,cACA,4BjCxOV,qCiCsOQ,mDAKI,kBpCmgKX,CG9uKD,oCiCqMM,gDAyCI,gBA3CR,sDA8CU,QACA,cA/CV,mDAkDU,gBACA,6BpCwgKX,CG9vKD,oCiCmME,gDAsDQ,YACA,iBpC2gKT,CqCvwKH,wBAGI,qC3BAF,uEDWM,mCAKA,iEALA,4BAKA,2BCZN,6EACA,2FDWM,0C4BnBR,gCASM,mBlCPJ,oCkCFF,gCAYQ,gBrCyxKL,CqCvxK0B,yBAd7B,wBAeM,aACA,kCACA,mBACA,oBAlBN,gCAqBQ,SlCnBN,qCkCFF,wBAwBQ,mBrC+xKH,CGrzKH,qCkCFF,wBA2BQ,mBACA,8BrCkyKH,CG5zKH,oCkCFF,wBA+BQ,mBrCqyKH,CGl0KH,oCkCFF,wBAkCQ,cACA,gBACA,iBACA,kBrCwyKH,CACJ,CqC90KD,sBAwCI,WACA,gBACA,eACA,gBAEyB,yBA7C7B,sBA8CM,YACA,erC6yKH,CG11KD,oCkCFF,sBAkDM,gBrCgzKH,CqCl2KH,wBAqDM,cACA,kBACA,WACA,qBAEF,6BACE,kBACA,UACA,WACA,SACA,oBACA,mBACA,kFAjEN,oCAoEQ,kBACA,OACA,MACA,WACA,YACA,sBACA,wBAEF,sCACE,kBACA,QACA,SACA,YACA,WACA,8BAGA,gCACA,iCACA,sGACA,oBAxFR,6CA2FU,kBACA,YACA,aACA,qBACA,WA/FV,yDAkGY,wDACA,0DACA,gBACA,8DACE,UAEV,yBACE,kBACA,iBACA,gBACA,cACA,gBA7GN,4CAmHU,WACA,YACA,kCACA,sGlCpHR,oCkCuHI,8BACE,0BAEF,6BACE,sBrC0zKL,CsCt7KD,oBACE,qBACA,iBnCDF,oCmCFF,oBAMM,kBtC47KH,CsC17KC,uBACE,gBACA,iBACA,gBACA,cACA,kBAMA,gCACE,gBApBR,0B5BCE,oBAEA,oEDWM,gCAKA,0DALA,wBAKA,uBCZN,sEACA,kE4BgBM,gBACA,qBACA,6BACA,oDA3BR,gCA8BU,cACA,kBACA,+BACA,iBACA,gBACA,cACA,cACA,kDArCV,iCAwCU,YACA,iBACA,mBACA,gBA3CV,qCA6CY,WA7CZ,mCAgDU,aACA,yBAjDV,8CAoDY,yBAEF,sCACE,eACA,iBACA,gBACA,cACA,gBA3DZ,8CA8DY,eACA,gBACA,cACA,gBAEA,qDACE,kBACA,QACA,qBACA,iBACA,WACA,wDACA,kJAEA,iEACE,gBACA,wDACA,0DACA,sEACE,aAjFlB,gCAoFU,qBAGI,2DACE,sEnCtFd,oCmCFF,iCA4FY,aA5FZ,gCA+FY,iBACA,kBAKA,iFACE,wBAEF,sCACE,gBAzGd,8CA4Gc,gBtCy9KX,CuCrkLH,eACE,cAEA,iBACE,eACA,gBACA,kBANJ,kBASI,gBACA,UACA,SAXJ,qBAcM,gBACA,gBACA,8CAEA,uB7BjBJ,oBAEA,uEDWM,mCAKA,iEALA,4BAKA,2BCZN,6EACA,oE6BYM,qBACA,cACA,eACA,8CAEA,yBACE,SACA,wBAEF,8BACE,kBACA,UACA,QACA,qBACA,UACA,wDACA,kJApCV,kCAuCY,WACA,gBACA,wDACA,0DA1CZ,kDA8CgB,aA9ChB,6BAiDU,wBAjDV,oCAoDY,kFApDZ,8BAwDU,cCxDV,mBACE,kBACA,gBACA,mBAHF,uCAMI,yBACA,yBACA,qBACA,aACA,WAVJ,8CAaM,kBACA,QACA,SACA,cACA,WACA,kBACA,wDACA,kJApBN,kDAuBQ,gBAEF,0DACE,WACA,wDACA,wDA5BR,+DA8BU,UAEN,yCACE,gBACA,WACA,SACA,gBApCN,oDAwCQ,wEAxCR,kCA2CI,kBACA,UACA,qBACA,mBACA,0BACA,mBAhDJ,oCAmDI,kBACA,UACA,qBACA,mBACA,eACA,mBAEA,0CACE,WACA,kBACA,WACA,cACA,oBACA,aACA,sBACA,oBACA,MAGA,yDACE,gBAKA,4EACE,cACA,gBrC5ER,oCqCFF,mBAkFI,6BAlFJ,6BAqFM,0C/BvEE,4BAKA,2BCXN,2FDWM,0C+BsEJ,oE9BxFF,oBAEA,oEDWM,gCAKA,+BCZN,sE8BkFE,uC/BhFI,gBAUA,uCALA,wBAKA,uBCXN,kE8BRF,oC/BSQ,gBAUA,Y+B4EF,WACA,yBxC6rLH,CG3xLD,0DqCFF,0CAoGU,axC+rLP,CGjyLD,oCqCFF,kC/BSQ,gBAUA,Y+BqFF,yBACA,WACA,yBxCmsLH,CGtyLD,oCqCqGA,iCAEI,yBxCqsLH,CwCnsLC,mDACE,WACA,kBACA,MACA,WACA,UACA,YACA,4BACA,yBACA,sBAEF,kDACE,mBrC1HJ,oCqC+HI,kDACE,WACF,mDACE,axCysLL,CG30LD,oCqCFF,mBAuII,iBxC4sLD,CyC/0LH,mBAGM,aCFJ,cACE,WACA,aAJJ,0BAOI,kBACA,yBARJ,gCAWM,WACA,kBACA,QACA,MACA,cACA,UACA,YACA,sBAEF,gFACE,kBACA,UAGF,wCACE,mBACA,iCACA,WAEA,2CACE,eACA,gBACA,gBACA,cACA,kCAnCR,2CAsCQ,gBACA,gBACA,oBACA,gBAEF,oFACE,gBACA,gBAEF,0CACE,qBACA,kDACA,WAEA,gDACE,cArDV,sDA2DQ,qDACA,aACA,kBAEA,6DACE,WACA,cACA,WACA,YACA,kBACA,4DACA,4BACA,+CAvEV,6DA0EQ,gBAEA,oEACE,6CA7EV,mEAiFU,4CACA,4DACA,YAGF,uEACE,wCACA,4DAEJ,2DACE,gBvC5FN,qCuCCF,wCA8FQ,mBACA,c1C42LL,C0C38LH,wCAkGM,kBACA,qBACA,wBACA,UACA,iCACA,mBAvGN,2CA0GQ,gBACA,eACA,gBACA,cACA,kCA9GR,0CAiHQ,gBACA,gBvCnHN,oCuCsHI,oCACE,WAEF,sCACE,aAEF,wCACE,WACA,sCACA,yBAEA,2CACE,gBAEJ,wCACE,WACA,0BACA,cACA,sB1Cq3LL,C2C//LH,8BAEI,qBAFJ,6CAMM,wBACA,yBAPN,sEAWQ,gBAeF,8CACE,yBA3BR,iKA4CY,WA5CZ,6CA+CQ,qBAEA,mDACE,yBACA,qBAnDV,mDAsDQ,gBAtDR,gEA0DY,iBC1DZ,oBACE,gBACA,yBAFF,2CAMM,WACA,kBAPN,2CAUM,gBACA,YCPJ,YACE,kBACA,oBACA,gBAEF,YACE,kBAPJ,mBAWM,QAXN,cAcM,cACA,gCACA,2BACA,cACA,oBACE","file":"css/style.css","sourcesContent":["/* ==========================================================================\n Basic style settings\n @mixin ========================================================================= */\n\n* {\n box-sizing: border-box; }\n\n/*\n * Set up the body\n *\n * 1. This is the base for al rem units\n */\nhtml {\n font-size: 20px /* 1 */;\n line-height: 1.6; }\n\n/**\n * 1.Default display for images is block to lose the extra margin below the image\n * 2. Remove border / especially on older browsers\n */\nimg {\n display: block /* 1 */;\n border: none; }\n\n/**\n * Add translation to prevent recoloring from autocomplete\n */\ninput, textarea {\n @include placeholder {\n transition: all 9999s linear 9999s; } }\n\n/*\n * Remove default margin around figure\n */\nfigure {\n margin: 0; }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/_base.sass","@charset \"UTF-8\";\n/* ==========================================================================\n Config settings\n @mixin ========================================================================= */\n/**\n * Define grid columns\n *\n * The inner grid is the section where the content is\n * The outer grid is the inner grid with extra margin columns on each side\n */\n/**\n * Define breakpoint for given formats\n */\n/* Bourbon 4.0.2\n * http://bourbon.io\n * Copyright 2011-2014 thoughtbot, inc.\n * MIT License */\n/* ==========================================================================\n Font related functions\n @mixin ========================================================================= */\n/**\n * Add some functions for readability\n * Return font-weight based on name\n */\n/* ==========================================================================\n Functions used in grid calculation\n @mixin ========================================================================= */\n/**\n * This is where the magic happens\n * Return percentage based on amount of columns\n * Use parent column size to adjust the origin\n */\n/**\n * Default function for columns\n * Return as percentage\n */\n/**\n * Return as viewport width\n */\n/* ==========================================================================\n Basic style settings\n @mixin ========================================================================= */\n* {\n box-sizing: border-box;\n}\n\n/*\n * Set up the body\n *\n * 1. This is the base for al rem units\n */\nhtml {\n font-size: 20px;\n line-height: 1.6;\n}\n\n/**\n * 1.Default display for images is block to lose the extra margin below the image\n * 2. Remove border / especially on older browsers\n */\nimg {\n display: block;\n border: none;\n}\n\n/**\n * Add translation to prevent recoloring from autocomplete\n */\ninput::-webkit-input-placeholder, textarea::-webkit-input-placeholder {\n transition: all 9999s linear 9999s;\n}\n\ninput::-moz-placeholder, textarea::-moz-placeholder {\n transition: all 9999s linear 9999s;\n}\n\ninput:-ms-input-placeholder, textarea:-ms-input-placeholder {\n transition: all 9999s linear 9999s;\n}\n\ninput:-moz-placeholder, textarea:-moz-placeholder {\n transition: all 9999s linear 9999s;\n}\n\n/*\n * Remove default margin around figure\n */\nfigure {\n margin: 0;\n}\n\n/*==========================================================================\n Grid\n @mixin ========================================================================= */\n/**\n * Grid row\n *\n * 1. The outer two columns are just margin\n * 2. Prevent inline-block cells wrapping\n * 3. Prevent vertical spacing between inline-blocks\n */\n.grid-row {\n width: 85.71428571%;\n max-width: 1440px;\n margin: 0 auto;\n font-size: 0;\n line-height: 0;\n /**\n * The full row doesn't have the two outer margin rows\n * They stretch till both ends of the window\n */\n}\n\n.grid-row.full-row {\n width: 100%;\n max-width: none;\n}\n\n/**\n * Grid column\n *\n * 1. Reset white-space inherited from `.grid`\n * 2. Reset font-size inherited from `.grid`\n * 3. Reset line-height inherited from `.grid`\n */\n.grid-col {\n position: relative;\n display: inline-block;\n overflow: hidden;\n white-space: normal;\n font-size: 1rem;\n line-height: 1.6;\n /**\n * Center column\n *\n * 1. 'inline-block' doesn't center with margin '0 auto'\n */\n}\n\n.grid-col.center {\n display: block;\n margin: 0 auto;\n}\n\n/* Column dimensions\n @mixin ========================================================================= */\n/*\n * Calculate width by dividing a full width into 12 columns\n * Create a class for each column\n */\n.col-1, .col-lg-1 {\n width: 8.33333333%;\n}\n\n.full-row .col-1, .full-row .col-lg-1 {\n width: 7.14285714%;\n}\n\n/* Column shifts\n @mixin ========================================================================= */\n.offset-1, .offset-lg-1 {\n margin-left: 8.33333333%;\n}\n\n/* Column dimensions\n @mixin ========================================================================= */\n/*\n * Calculate width by dividing a full width into 12 columns\n * Create a class for each column\n */\n.col-2, .col-lg-2 {\n width: 16.66666667%;\n}\n\n.full-row .col-2, .full-row .col-lg-2 {\n width: 14.28571429%;\n}\n\n/* Column shifts\n @mixin ========================================================================= */\n.offset-2, .offset-lg-2 {\n margin-left: 16.66666667%;\n}\n\n/* Column dimensions\n @mixin ========================================================================= */\n/*\n * Calculate width by dividing a full width into 12 columns\n * Create a class for each column\n */\n.col-3, .col-lg-3 {\n width: 25%;\n}\n\n.full-row .col-3, .full-row .col-lg-3 {\n width: 21.42857143%;\n}\n\n/* Column shifts\n @mixin ========================================================================= */\n.offset-3, .offset-lg-3 {\n margin-left: 25%;\n}\n\n/* Column dimensions\n @mixin ========================================================================= */\n/*\n * Calculate width by dividing a full width into 12 columns\n * Create a class for each column\n */\n.col-4, .col-lg-4 {\n width: 33.33333333%;\n}\n\n.full-row .col-4, .full-row .col-lg-4 {\n width: 28.57142857%;\n}\n\n/* Column shifts\n @mixin ========================================================================= */\n.offset-4, .offset-lg-4 {\n margin-left: 33.33333333%;\n}\n\n/* Column dimensions\n @mixin ========================================================================= */\n/*\n * Calculate width by dividing a full width into 12 columns\n * Create a class for each column\n */\n.col-5, .col-lg-5 {\n width: 41.66666667%;\n}\n\n.full-row .col-5, .full-row .col-lg-5 {\n width: 35.71428571%;\n}\n\n/* Column shifts\n @mixin ========================================================================= */\n.offset-5, .offset-lg-5 {\n margin-left: 41.66666667%;\n}\n\n/* Column dimensions\n @mixin ========================================================================= */\n/*\n * Calculate width by dividing a full width into 12 columns\n * Create a class for each column\n */\n.col-6, .col-lg-6 {\n width: 50%;\n}\n\n.full-row .col-6, .full-row .col-lg-6 {\n width: 42.85714286%;\n}\n\n/* Column shifts\n @mixin ========================================================================= */\n.offset-6, .offset-lg-6 {\n margin-left: 50%;\n}\n\n/* Column dimensions\n @mixin ========================================================================= */\n/*\n * Calculate width by dividing a full width into 12 columns\n * Create a class for each column\n */\n.col-7, .col-lg-7 {\n width: 58.33333333%;\n}\n\n.full-row .col-7, .full-row .col-lg-7 {\n width: 50%;\n}\n\n/* Column shifts\n @mixin ========================================================================= */\n.offset-7, .offset-lg-7 {\n margin-left: 58.33333333%;\n}\n\n/* Column dimensions\n @mixin ========================================================================= */\n/*\n * Calculate width by dividing a full width into 12 columns\n * Create a class for each column\n */\n.col-8, .col-lg-8 {\n width: 66.66666667%;\n}\n\n.full-row .col-8, .full-row .col-lg-8 {\n width: 57.14285714%;\n}\n\n/* Column shifts\n @mixin ========================================================================= */\n.offset-8, .offset-lg-8 {\n margin-left: 66.66666667%;\n}\n\n/* Column dimensions\n @mixin ========================================================================= */\n/*\n * Calculate width by dividing a full width into 12 columns\n * Create a class for each column\n */\n.col-9, .col-lg-9 {\n width: 75%;\n}\n\n.full-row .col-9, .full-row .col-lg-9 {\n width: 64.28571429%;\n}\n\n/* Column shifts\n @mixin ========================================================================= */\n.offset-9, .offset-lg-9 {\n margin-left: 75%;\n}\n\n/* Column dimensions\n @mixin ========================================================================= */\n/*\n * Calculate width by dividing a full width into 12 columns\n * Create a class for each column\n */\n.col-10, .col-lg-10 {\n width: 83.33333333%;\n}\n\n.full-row .col-10, .full-row .col-lg-10 {\n width: 71.42857143%;\n}\n\n/* Column shifts\n @mixin ========================================================================= */\n.offset-10, .offset-lg-10 {\n margin-left: 83.33333333%;\n}\n\n/* Column dimensions\n @mixin ========================================================================= */\n/*\n * Calculate width by dividing a full width into 12 columns\n * Create a class for each column\n */\n.col-11, .col-lg-11 {\n width: 91.66666667%;\n}\n\n.full-row .col-11, .full-row .col-lg-11 {\n width: 78.57142857%;\n}\n\n/* Column shifts\n @mixin ========================================================================= */\n.offset-11, .offset-lg-11 {\n margin-left: 91.66666667%;\n}\n\n/* Column dimensions\n @mixin ========================================================================= */\n/*\n * Calculate width by dividing a full width into 12 columns\n * Create a class for each column\n */\n.col-12, .col-lg-12 {\n width: 100%;\n}\n\n.full-row .col-12, .full-row .col-lg-12 {\n width: 85.71428571%;\n}\n\n/* Column shifts\n @mixin ========================================================================= */\n.offset-12, .offset-lg-12 {\n margin-left: 100%;\n}\n\n/* Column dimensions\n @mixin ========================================================================= */\n/*\n * Calculate width by dividing a full width into 12 columns\n * Create a class for each column\n */\n.col-13, .col-lg-13 {\n width: 108.33333333%;\n}\n\n.full-row .col-13, .full-row .col-lg-13 {\n width: 92.85714286%;\n}\n\n/* Column shifts\n @mixin ========================================================================= */\n.offset-13, .offset-lg-13 {\n margin-left: 108.33333333%;\n}\n\n/* Column dimensions\n @mixin ========================================================================= */\n/*\n * Calculate width by dividing a full width into 12 columns\n * Create a class for each column\n */\n.col-14, .col-lg-14 {\n width: 116.66666667%;\n}\n\n.full-row .col-14, .full-row .col-lg-14 {\n width: 100%;\n}\n\n/* Column shifts\n @mixin ========================================================================= */\n.offset-14, .offset-lg-14 {\n margin-left: 116.66666667%;\n}\n\n/* Media queries\n @mixin ========================================================================= */\n/*\n * Create a separate loop because of order for css rendering\n * because else it would overrule a previous media query\n */\n@media screen and (min-width: 1601px) {\n .col-xl-1 {\n width: 8.33333333%;\n }\n .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n}\n\n@media screen and (max-width: 1080px) {\n .col-md-1 {\n width: 8.33333333%;\n }\n .offset-md-1 {\n margin-left: 8.33333333%;\n }\n}\n\n@media screen and (max-width: 768px) {\n .col-sm-1 {\n width: 8.33333333%;\n }\n .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n}\n\n@media screen and (max-width: 400px) {\n .col-xs-1 {\n width: 8.33333333%;\n }\n .offset-xs-1 {\n margin-left: 8.33333333%;\n }\n}\n\n@media screen and (min-width: 1601px) {\n .col-xl-2 {\n width: 16.66666667%;\n }\n .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n}\n\n@media screen and (max-width: 1080px) {\n .col-md-2 {\n width: 16.66666667%;\n }\n .offset-md-2 {\n margin-left: 16.66666667%;\n }\n}\n\n@media screen and (max-width: 768px) {\n .col-sm-2 {\n width: 16.66666667%;\n }\n .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n}\n\n@media screen and (max-width: 400px) {\n .col-xs-2 {\n width: 16.66666667%;\n }\n .offset-xs-2 {\n margin-left: 16.66666667%;\n }\n}\n\n@media screen and (min-width: 1601px) {\n .col-xl-3 {\n width: 25%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n}\n\n@media screen and (max-width: 1080px) {\n .col-md-3 {\n width: 25%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n}\n\n@media screen and (max-width: 768px) {\n .col-sm-3 {\n width: 25%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n}\n\n@media screen and (max-width: 400px) {\n .col-xs-3 {\n width: 25%;\n }\n .offset-xs-3 {\n margin-left: 25%;\n }\n}\n\n@media screen and (min-width: 1601px) {\n .col-xl-4 {\n width: 33.33333333%;\n }\n .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n}\n\n@media screen and (max-width: 1080px) {\n .col-md-4 {\n width: 33.33333333%;\n }\n .offset-md-4 {\n margin-left: 33.33333333%;\n }\n}\n\n@media screen and (max-width: 768px) {\n .col-sm-4 {\n width: 33.33333333%;\n }\n .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n}\n\n@media screen and (max-width: 400px) {\n .col-xs-4 {\n width: 33.33333333%;\n }\n .offset-xs-4 {\n margin-left: 33.33333333%;\n }\n}\n\n@media screen and (min-width: 1601px) {\n .col-xl-5 {\n width: 41.66666667%;\n }\n .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n}\n\n@media screen and (max-width: 1080px) {\n .col-md-5 {\n width: 41.66666667%;\n }\n .offset-md-5 {\n margin-left: 41.66666667%;\n }\n}\n\n@media screen and (max-width: 768px) {\n .col-sm-5 {\n width: 41.66666667%;\n }\n .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n}\n\n@media screen and (max-width: 400px) {\n .col-xs-5 {\n width: 41.66666667%;\n }\n .offset-xs-5 {\n margin-left: 41.66666667%;\n }\n}\n\n@media screen and (min-width: 1601px) {\n .col-xl-6 {\n width: 50%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n}\n\n@media screen and (max-width: 1080px) {\n .col-md-6 {\n width: 50%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n}\n\n@media screen and (max-width: 768px) {\n .col-sm-6 {\n width: 50%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n}\n\n@media screen and (max-width: 400px) {\n .col-xs-6 {\n width: 50%;\n }\n .offset-xs-6 {\n margin-left: 50%;\n }\n}\n\n@media screen and (min-width: 1601px) {\n .col-xl-7 {\n width: 58.33333333%;\n }\n .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n}\n\n@media screen and (max-width: 1080px) {\n .col-md-7 {\n width: 58.33333333%;\n }\n .offset-md-7 {\n margin-left: 58.33333333%;\n }\n}\n\n@media screen and (max-width: 768px) {\n .col-sm-7 {\n width: 58.33333333%;\n }\n .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n}\n\n@media screen and (max-width: 400px) {\n .col-xs-7 {\n width: 58.33333333%;\n }\n .offset-xs-7 {\n margin-left: 58.33333333%;\n }\n}\n\n@media screen and (min-width: 1601px) {\n .col-xl-8 {\n width: 66.66666667%;\n }\n .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n}\n\n@media screen and (max-width: 1080px) {\n .col-md-8 {\n width: 66.66666667%;\n }\n .offset-md-8 {\n margin-left: 66.66666667%;\n }\n}\n\n@media screen and (max-width: 768px) {\n .col-sm-8 {\n width: 66.66666667%;\n }\n .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n}\n\n@media screen and (max-width: 400px) {\n .col-xs-8 {\n width: 66.66666667%;\n }\n .offset-xs-8 {\n margin-left: 66.66666667%;\n }\n}\n\n@media screen and (min-width: 1601px) {\n .col-xl-9 {\n width: 75%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n}\n\n@media screen and (max-width: 1080px) {\n .col-md-9 {\n width: 75%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n}\n\n@media screen and (max-width: 768px) {\n .col-sm-9 {\n width: 75%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n}\n\n@media screen and (max-width: 400px) {\n .col-xs-9 {\n width: 75%;\n }\n .offset-xs-9 {\n margin-left: 75%;\n }\n}\n\n@media screen and (min-width: 1601px) {\n .col-xl-10 {\n width: 83.33333333%;\n }\n .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n}\n\n@media screen and (max-width: 1080px) {\n .col-md-10 {\n width: 83.33333333%;\n }\n .offset-md-10 {\n margin-left: 83.33333333%;\n }\n}\n\n@media screen and (max-width: 768px) {\n .col-sm-10 {\n width: 83.33333333%;\n }\n .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n}\n\n@media screen and (max-width: 400px) {\n .col-xs-10 {\n width: 83.33333333%;\n }\n .offset-xs-10 {\n margin-left: 83.33333333%;\n }\n}\n\n@media screen and (min-width: 1601px) {\n .col-xl-11 {\n width: 91.66666667%;\n }\n .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n}\n\n@media screen and (max-width: 1080px) {\n .col-md-11 {\n width: 91.66666667%;\n }\n .offset-md-11 {\n margin-left: 91.66666667%;\n }\n}\n\n@media screen and (max-width: 768px) {\n .col-sm-11 {\n width: 91.66666667%;\n }\n .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n}\n\n@media screen and (max-width: 400px) {\n .col-xs-11 {\n width: 91.66666667%;\n }\n .offset-xs-11 {\n margin-left: 91.66666667%;\n }\n}\n\n@media screen and (min-width: 1601px) {\n .col-xl-12 {\n width: 100%;\n }\n .offset-xl-12 {\n margin-left: 100%;\n }\n}\n\n@media screen and (max-width: 1080px) {\n .col-md-12 {\n width: 100%;\n }\n .offset-md-12 {\n margin-left: 100%;\n }\n}\n\n@media screen and (max-width: 768px) {\n .col-sm-12 {\n width: 100%;\n }\n .offset-sm-12 {\n margin-left: 100%;\n }\n}\n\n@media screen and (max-width: 400px) {\n .col-xs-12 {\n width: 100%;\n }\n .offset-xs-12 {\n margin-left: 100%;\n }\n}\n\n@media screen and (min-width: 1601px) {\n .col-xl-13 {\n width: 108.33333333%;\n }\n .offset-xl-13 {\n margin-left: 108.33333333%;\n }\n}\n\n@media screen and (max-width: 1080px) {\n .col-md-13 {\n width: 108.33333333%;\n }\n .offset-md-13 {\n margin-left: 108.33333333%;\n }\n}\n\n@media screen and (max-width: 768px) {\n .col-sm-13 {\n width: 108.33333333%;\n }\n .offset-sm-13 {\n margin-left: 108.33333333%;\n }\n}\n\n@media screen and (max-width: 400px) {\n .col-xs-13 {\n width: 108.33333333%;\n }\n .offset-xs-13 {\n margin-left: 108.33333333%;\n }\n}\n\n@media screen and (min-width: 1601px) {\n .col-xl-14 {\n width: 116.66666667%;\n }\n .offset-xl-14 {\n margin-left: 116.66666667%;\n }\n}\n\n@media screen and (max-width: 1080px) {\n .col-md-14 {\n width: 116.66666667%;\n }\n .offset-md-14 {\n margin-left: 116.66666667%;\n }\n}\n\n@media screen and (max-width: 768px) {\n .col-sm-14 {\n width: 116.66666667%;\n }\n .offset-sm-14 {\n margin-left: 116.66666667%;\n }\n}\n\n@media screen and (max-width: 400px) {\n .col-xs-14 {\n width: 116.66666667%;\n }\n .offset-xs-14 {\n margin-left: 116.66666667%;\n }\n}\n\n/* ==========================================================================\n This grid can be turned on and off when you want to check\n if everything is nice in place.\n @mixin ========================================================================= */\n.visible-grid-container {\n display: flex;\n justify-content: center;\n}\n\n/**\n * 1. Makes it able to control the website while grid is shown\n */\n.visible-grid {\n display: block;\n position: fixed;\n z-index: 10000;\n pointer-events: none;\n}\n\n.visible-grid .grid-col {\n background: rgba(0, 255, 255, 0.6);\n height: 100vh;\n}\n\n.visible-grid .grid-col:nth-child(2n) {\n background: rgba(0, 255, 255, 0.3);\n}\n\n.visible-grid:before, .visible-grid:after {\n content: '';\n position: absolute;\n top: 0;\n width: calc(100% / 12);\n height: 100%;\n background: rgba(0, 255, 0, 0.5);\n}\n\n.visible-grid:before {\n left: calc(-100% / 12);\n}\n\n.visible-grid:after {\n right: calc(-100% / 12);\n}\n\n.breakpoint {\n position: fixed;\n right: 0;\n bottom: 0;\n width: 20px;\n height: 20px;\n z-index: 10000;\n background: #0ABEFF;\n}\n\n@media screen and (min-width: 1601px) {\n .breakpoint {\n background: red;\n }\n}\n\n@media screen and (max-width: 1366px) {\n .breakpoint {\n background: blue;\n }\n}\n\n@media screen and (max-width: 1080px) {\n .breakpoint {\n background: green;\n }\n}\n\n@media screen and (max-width: 768px) {\n .breakpoint {\n background: yellow;\n }\n}\n\n@media screen and (max-width: 400px) {\n .breakpoint {\n background: pink;\n }\n}\n\n/* ==========================================================================\n Expend Config settings\n @mixin ========================================================================= */\n/* ==========================================================================\n Expend Basic style settings\n @mixin ========================================================================= */\n/*\n * Set up the html\n *\n * 1. Makes sue that some fonts are better rendered\n */\nhtml {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-rendering: optimizeLegibility;\n}\n\n/*\n * Set up the body\n *\n * 1. Set font to lining figures\n */\nbody {\n margin: 0;\n font-family: \"Cabin\", sans-serif;\n line-height: 1.6;\n font-feature-settings: \"lnum\";\n}\n\n/*\n * Set default settings for all elements\n *\n * 1. Default selection styling\n *\n */\n* ::selection {\n background: #78A2DB;\n color: white;\n}\n\n/**\n * 1.Default display for images is block to lose the extra margin below the image\n */\nimg {\n opacity: 1;\n transition: opacity 0.3s;\n}\n\nimg.preload {\n opacity: 0;\n}\n\n/*\n * Set default styling for input and textarea\n *\n * 1. Set font because else the agent will overrule them with an ugly font\n */\ninput, textarea {\n font-family: \"Cabin\", sans-serif;\n}\n\n/* 1 */\n/*\n * Set default styling for a button\n *\n */\n.button {\n position: relative;\n display: inline-block;\n padding: 15px 25px;\n border: 2px solid #FFE2CC;\n border-radius: 10px;\n color: #052B67;\n font-size: 0.8rem;\n font-family: \"Droid Sans\", sans-serif;\n line-height: 1.2;\n overflow: hidden;\n z-index: 0;\n text-transform: uppercase;\n text-decoration: none;\n transition: box-shadow 0.4s ease-out;\n}\n\n.button::after {\n position: absolute;\n content: '';\n height: 300%;\n width: 150%;\n left: -200%;\n bottom: -100%;\n z-index: -1;\n background-color: rgba(255, 226, 204, 0.2);\n opacity: 0.2;\n border-radius: 50%;\n pointer-events: none;\n transform: rotate(17deg);\n transform-origin: center center;\n transition: all 0.3s ease-out;\n}\n\n.button .arrow {\n position: relative;\n display: inline-block;\n width: 10px;\n margin-left: 30px;\n transform: translate3d(0, 0, 0);\n transition: transform 0.3s;\n}\n\n.button .arrow svg {\n width: 100%;\n max-height: 16px;\n}\n\n.button .arrow svg path {\n fill: #052B67;\n}\n\n.button:hover {\n box-shadow: 4px 4px 10px 0 rgba(0, 0, 0, 0);\n transition: all 250ms ease-out;\n}\n\n.button:hover::after {\n left: -25%;\n width: 150%;\n opacity: 1;\n}\n\n.button:hover .arrow {\n transform: translate3d(0, 3px, 0);\n}\n\n.button.right .arrow {\n top: -1px;\n transform: rotate(-90deg);\n margin-left: 25px;\n}\n\n.button.right:hover .arrow {\n transform: rotate(-90deg) translate3d(0, 5px, 0);\n}\n\n.button--light {\n color: white;\n}\n\n.button--light .arrow svg path {\n fill: white;\n}\n\n/* ==========================================================================\n Helper classes\n @mixin ========================================================================= */\n/**\n * Use on elements from where the children should not wrap\n */\n.nowrap {\n white-space: nowrap;\n}\n\n/**\n * Hide elements on different screen sizes\n */\n@media screen and (max-width: 1600px) {\n .hide-on-xl-or-smaller {\n display: none;\n }\n}\n\n@media screen and (min-width: 1601px) {\n .hide-on-xl-or-larger {\n display: none;\n }\n}\n\n@media screen and (max-width: 1366px) {\n .hide-on-lg-or-smaller {\n display: none;\n }\n}\n\n@media screen and (min-width: 1367px) {\n .hide-on-lg-or-larger {\n display: none;\n }\n}\n\n@media screen and (max-width: 1080px) {\n .hide-on-md-or-smaller {\n display: none;\n }\n}\n\n@media screen and (min-width: 1081px) {\n .hide-on-md-or-larger {\n display: none;\n }\n}\n\n@media screen and (max-width: 768px) {\n .hide-on-sm-or-smaller {\n display: none;\n }\n}\n\n@media screen and (min-width: 769px) {\n .hide-on-sm-or-larger {\n display: none;\n }\n}\n\n@media screen and (max-width: 400px) {\n .hide-on-xs-or-smaller {\n display: none;\n }\n}\n\n@media screen and (min-width: 401px) {\n .hide-on-xs-or-larger {\n display: none;\n }\n}\n\n.center {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.spacing-v {\n padding-top: 75px;\n padding-bottom: 75px;\n}\n\n/* ==========================================================================\n Partial CSS\n @mixin ========================================================================= */\n/*==========================================================================\n Navigation / Header\n @mixin ========================================================================= */\nheader {\n position: relative;\n z-index: 4;\n background-color: #052B67;\n}\n\nheader::after {\n content: '';\n position: absolute;\n left: 0;\n bottom: -20pxpx;\n right: 0;\n display: block;\n width: 100%;\n height: 20px;\n background: linear-gradient(rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 100%);\n opacity: 0.4;\n}\n\nheader .grid-row {\n padding: 0;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: center;\n -moz-justify-content: center;\n -ms-justify-content: center;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n justify-content: center;\n align-items: center;\n}\n\nheader .grid-row > .grid-col {\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: space-between;\n -moz-justify-content: space-between;\n -ms-justify-content: space-between;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n justify-content: space-between;\n align-items: center;\n width: 83.33333333%;\n}\n\nheader .grid-row .logo {\n display: inline-block;\n width: 70px;\n margin-right: 8%;\n padding: 33px 0;\n}\n\nheader .grid-row .logo img {\n width: 100%;\n}\n\n@media screen and (max-width: 750px) {\n header {\n display: none;\n }\n}\n\n/* Navigation\n @mixin ========================================================================= */\n.nav {\n position: relative;\n flex: auto;\n}\n\n.nav__list {\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: flex-end;\n -moz-justify-content: flex-end;\n -ms-justify-content: flex-end;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n justify-content: flex-end;\n align-items: center;\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.nav__item {\n flex: 0 0 auto;\n}\n\n.nav__item + .nav__item {\n margin-left: 3.5%;\n}\n\n.nav__item:last-child {\n margin-left: 7.5%;\n}\n\n.nav__link {\n position: relative;\n display: block;\n padding: 11px 18px;\n font-size: 0.8rem;\n line-height: 1.2;\n color: #EFF1ED;\n text-decoration: none;\n transition: opacity 0.3s;\n}\n\n.nav__link::after {\n position: absolute;\n content: '';\n opacity: 0;\n height: 1px;\n width: 0;\n bottom: 7px;\n left: 16px;\n background-color: #ffe2cc;\n transition: all 200ms ease-out;\n pointer-events: none;\n}\n\n.nav__link:hover, .nav__link.is-active {\n position: relative;\n opacity: 0.6;\n transition: all 250ms ease-out;\n}\n\n.nav__link:hover::after, .nav__link.is-active::after {\n width: calc(100% - 2*(16px));\n opacity: 1;\n}\n\n.nav__link.is-active {\n opacity: 1;\n}\n\n.nav__link--boxed {\n border: 1px solid #ffe2cc;\n border-radius: 6px;\n overflow: hidden;\n}\n\n.nav__link--boxed::after {\n height: 200%;\n width: 150%;\n left: -200%;\n bottom: -50%;\n z-index: -1;\n opacity: 0.2;\n border-radius: 50%;\n transform: rotate(17deg);\n transform-origin: center center;\n}\n\n.nav__link--boxed:hover {\n opacity: 1;\n}\n\n.nav__link--boxed:hover::after {\n left: -25%;\n width: 150%;\n opacity: 0.15;\n}\n\n/* ==========================================================================\n Footer\n @mixin ========================================================================= */\nfooter {\n background: #052B67;\n font-size: 0.9rem;\n line-height: 1.4;\n color: white;\n /* Sub footer for pay off and our branding\n @mixin ========================================================================= */\n}\n\nfooter > .grid-row {\n padding: 70px 0 90px;\n}\n\nfooter .grid-col {\n vertical-align: top;\n}\n\nfooter .grid-col .header {\n text-transform: uppercase;\n color: #78A2DB;\n font-family: \"Droid Sans\", sans-serif;\n font-weight: 700;\n font-size: 0.7rem;\n margin: 0 0 20px;\n}\n\nfooter a {\n text-decoration: none;\n transition: opacity 0.2s, color 0.2s;\n color: white;\n}\n\nfooter a:hover {\n opacity: 0.7;\n}\n\nfooter .contact {\n width: 33.33333333%;\n margin-left: 8.33333333%;\n}\n\nfooter .contact figure {\n width: 260px;\n margin: 35px 0 25px;\n}\n\nfooter .contact figure img {\n width: 70px;\n max-height: 133px;\n margin-right: auto;\n}\n\nfooter .links {\n width: 50%;\n margin-left: 4.16666667%;\n}\n\nfooter .links > .grid-row {\n width: 100%;\n}\n\nfooter .links .menu, footer .links .sub-links {\n width: 50%;\n vertical-align: top;\n}\n\nfooter .links ul {\n list-style: none;\n padding: 0;\n margin: 10px 0 40px;\n}\n\nfooter .links ul li a {\n text-decoration: none;\n}\n\nfooter .links ul li.active a {\n color: #BCDAFF;\n opacity: 0.7;\n}\n\n@media screen and (max-width: 750px) {\n footer .links, footer .contact {\n width: 83.33333333%;\n margin-left: 8.33333333%;\n }\n footer .links {\n margin-top: 60px;\n }\n}\n\n@media screen and (max-width: 500px) {\n footer > .grid-row {\n padding: 40px 0;\n margin-bottom: 0 !important;\n }\n footer .links {\n margin-top: 30px;\n }\n footer .links .menu {\n width: 100%;\n margin-bottom: 30px;\n }\n footer .links .sub-links {\n width: 100%;\n }\n}\n\nfooter .sub-footer {\n background-color: #031E49;\n padding: 15px 0;\n}\n\nfooter .sub-footer .grid-row .placeholder {\n width: 83.33333333%;\n margin: auto;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: space-between;\n -moz-justify-content: space-between;\n -ms-justify-content: space-between;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n justify-content: space-between;\n align-items: center;\n}\n\nfooter .sub-footer p, footer .sub-footer a {\n font-size: 0.8rem;\n line-height: 1;\n color: #BCDAFF;\n}\n\nfooter .sub-footer a {\n text-decoration: none;\n}\n\nfooter .sub-footer .komma {\n position: relative;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: space-between;\n -moz-justify-content: space-between;\n -ms-justify-content: space-between;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n justify-content: space-between;\n align-items: center;\n font-size: 0.8rem;\n line-height: 1;\n width: 258px;\n transition: opacity 0.2s;\n}\n\nfooter .sub-footer .komma:hover {\n opacity: 0.7;\n}\n\nfooter .sub-footer .komma span {\n position: relative;\n top: 0;\n display: inline-block;\n width: 78px;\n height: 25px;\n background-image: url(\"/img/komma.svg\");\n background-position: center;\n background-size: contain;\n background-repeat: no-repeat;\n}\n\n@media screen and (max-width: 600px) {\n footer .sub-footer {\n padding-bottom: 30px;\n }\n footer .sub-footer .grid-row .placeholder {\n display: block;\n text-align: center;\n }\n footer .sub-footer p {\n margin-bottom: 1.4rem;\n }\n footer .sub-footer .komma {\n margin: auto;\n }\n}\n\n@media screen and (max-width: 1000px) {\n footer {\n padding-top: 35px;\n }\n footer > .grid-row {\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: flex-start;\n -moz-justify-content: flex-start;\n -ms-justify-content: flex-start;\n -webkit-align-items: flex-start;\n -moz-align-items: flex-start;\n -ms-align-items: flex-start;\n justify-content: flex-start;\n align-items: flex-start;\n -webkit-flex-wrap: wrap;\n -ms-flex-wrap: wrap;\n -webkit-flex-direction: row;\n -ms-flex-direction: row;\n -webkit-flex-flow: row wrap;\n margin-bottom: 100px;\n width: 100%;\n }\n footer .main-item {\n width: 100%;\n padding: 0 7.14285714%;\n margin-left: auto;\n margin-right: auto;\n }\n footer .main-item .logo {\n display: none;\n }\n footer .main-item.location {\n -webkit-order: 2;\n -ms-order: 2;\n border-top: 2px solid rgba(255, 255, 255, 0.2);\n padding-top: 40px;\n }\n footer .main-item.schools, footer .main-item.menu {\n display: none;\n }\n footer .main-item > a {\n display: inline-block;\n }\n footer .main-item ul.extra-margin-bellow {\n margin-bottom: 35px;\n }\n footer .sub-footer .grid-row .placeholder {\n width: 100%;\n }\n}\n\n/* ==========================================================================\n Default styling for KMS content\n @mixin ========================================================================= */\n.kms-content {\n color: #A3A3BF;\n}\n\n.kms-content h1, .kms-content h2, .kms-content h3 {\n font-size: 1.7rem;\n line-height: 1.4;\n color: #052B67;\n font-family: \"Droid Sans\", sans-serif;\n}\n\n.kms-content h1 strong, .kms-content h2 strong, .kms-content h3 strong {\n font-weight: 700;\n}\n\n.kms-content h2, .kms-content h3 {\n font-size: 1.3rem;\n}\n\n.kms-content h3 strong {\n color: #BCDAFF;\n}\n\n.kms-content h4 {\n font-size: 0.7rem;\n line-height: 1.3;\n color: #BCDAFF;\n text-transform: uppercase;\n}\n\n.kms-content p {\n font-size: 0.8rem;\n line-height: 1.625;\n}\n\n.kms-content ul {\n padding-left: 0;\n list-style: none;\n}\n\n.kms-content ul li {\n position: relative;\n padding-left: 30px;\n font-size: 0.8rem;\n line-height: 1.4;\n}\n\n.kms-content ul li:before {\n position: absolute;\n left: 0;\n top: 2px;\n content: '•';\n color: currentColor;\n font-size: 1.2em;\n line-height: 1;\n}\n\n.kms-content ul li + li {\n margin-top: 5px;\n}\n\n.kms-content ol {\n counter-reset: ol-counter;\n padding-left: 0;\n list-style: none;\n}\n\n.kms-content ol li {\n padding-left: 30px;\n font-size: 0.8rem;\n line-height: 1.4;\n color: #B2B2B2;\n}\n\n.kms-content ol li:before {\n counter-increment: ol-counter;\n content: counter(ol-counter) \".\";\n position: absolute;\n left: 0;\n color: #78A2DB;\n}\n\n.kms-content ol li + li {\n margin-top: 5px;\n}\n\n.kms-content a:not(.button) {\n color: #78A2DB;\n text-decoration: none;\n}\n\n.kms-content a:not(.button):hover {\n color: #5086d0;\n text-decoration: none;\n}\n\n.form {\n display: block;\n width: 100%;\n max-width: 560px;\n font-size: 1rem;\n line-height: 1.2;\n}\n\n.form .honey {\n position: fixed;\n top: -50px;\n height: 20px;\n width: 100%;\n}\n\n.form .honey-message, .form noscript {\n display: block;\n font-size: 0.75rem;\n color: #FF4242;\n}\n\n.form .form-element {\n position: relative;\n margin-bottom: 25px;\n}\n\n.form .form-element.has-error input, .form .form-element.has-error textarea {\n border-color: #FF4242;\n}\n\n.form .error-message {\n display: none;\n width: 100%;\n color: #FF4242;\n font-size: 0.7rem;\n margin-top: 1px;\n padding: 3px 8px;\n background-color: rgba(255, 66, 66, 0.06);\n border-radius: 4px;\n}\n\n.form .error-message.active {\n display: block;\n margin-bottom: 10px;\n}\n\n.form label, .form .label {\n display: block;\n margin-bottom: 8px;\n color: #78A2DB;\n font-size: 0.6em;\n text-transform: uppercase;\n}\n\n.form input, .form textarea {\n display: block;\n width: 100%;\n padding: 15px 20px;\n border: 2px #E6E6E6 solid;\n border-radius: 4px;\n font-size: 0.9em;\n color: #B2B2B2;\n transition: background-color 0.3s;\n}\n\n.form input::-webkit-input-placeholder, .form textarea::-webkit-input-placeholder {\n color: #D8D8D8 !important;\n}\n\n.form input::-moz-placeholder, .form textarea::-moz-placeholder {\n color: #D8D8D8 !important;\n}\n\n.form input:-ms-input-placeholder, .form textarea:-ms-input-placeholder {\n color: #D8D8D8 !important;\n}\n\n.form input:-moz-placeholder, .form textarea:-moz-placeholder {\n color: #D8D8D8 !important;\n}\n\n.form input.alert, .form textarea.alert {\n border-color: #FF4242;\n}\n\n.form input:focus, .form textarea:focus {\n color: #78A2DB;\n border-color: #BCDAFF;\n box-shadow: none;\n outline: none;\n}\n\n.form input:-webkit-autofill, .form input:-webkit-autofill:hover, .form input:-webkit-autofill:focus, .form input:-webkit-autofill:active, .form textarea:-webkit-autofill, .form textarea:-webkit-autofill:hover, .form textarea:-webkit-autofill:focus, .form textarea:-webkit-autofill:active {\n transition: 9999s background-color, 9999s color;\n -webkit-text-fill-color: #B2B2B2;\n transition-delay: 9999s;\n}\n\n.form input.has-error, .form textarea.has-error {\n border-color: #FF4242;\n}\n\n.form textarea {\n min-height: 152px;\n resize: vertical;\n}\n\n.form .select .select-wrapper {\n position: relative;\n display: block;\n}\n\n.form .select .icon {\n position: absolute;\n right: 10px;\n top: 26px;\n display: inline-block;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 5px 6px 0 6px;\n border-color: #B2B2B2 transparent transparent transparent;\n opacity: 0.3;\n pointer-events: none;\n}\n\n.form .select select {\n display: block;\n width: 100%;\n -webkit-appearance: none;\n -moz-appearance: none;\n -ms-appearance: none;\n -o-appearance: none;\n appearance: none;\n font-family: \"Cabin\", sans-serif;\n background-color: white;\n padding: 15px 35px 15px 20px;\n border: 1px transparent solid;\n border-radius: 4px;\n font-size: 0.9em;\n color: #B2B2B2;\n}\n\n.form .select select:focus {\n box-shadow: none;\n outline: none;\n}\n\n.form .checkbox label {\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: space-between;\n -moz-justify-content: space-between;\n -ms-justify-content: space-between;\n -webkit-align-items: flex-start;\n -moz-align-items: flex-start;\n -ms-align-items: flex-start;\n justify-content: space-between;\n align-items: flex-start;\n cursor: pointer;\n}\n\n.form .checkbox label input {\n -webkit-appearance: none;\n -moz-appearance: none;\n -ms-appearance: none;\n -o-appearance: none;\n appearance: none;\n margin: 0;\n width: 20px;\n height: 20px;\n border-radius: 100%;\n padding: 0;\n border: none;\n background-color: rgba(255, 255, 255, 0.3);\n background-size: contain;\n background-position: center;\n background-repeat: no-repeat;\n transition: background-color 0.3s;\n}\n\n.form .checkbox label input:hover {\n background-color: rgba(255, 255, 255, 0.5);\n}\n\n.form .checkbox label input:checked {\n background-image: url(\"/img/check/checked.svg\");\n background-color: rgba(255, 255, 255, 0.7);\n}\n\n.form .checkbox label span {\n display: block;\n margin: 2px 0 0;\n width: calc(100% - 30px);\n}\n\n.form .submit {\n margin-top: 20px;\n text-align: right;\n}\n\n.form .submit input {\n display: none;\n}\n\n.form .submit .button {\n cursor: pointer;\n font-size: 0.7rem;\n}\n\n.form .submit .button .arrow {\n margin-left: 30px;\n}\n\n.form-error-messages span {\n display: block;\n font-weight: bold;\n color: #FF4242;\n font-size: 0.75rem;\n line-height: 1.2;\n}\n\n.c-form-feedback {\n margin: 0 0 10px;\n padding: 30px 50px;\n background-color: rgba(255, 66, 66, 0.05);\n border: 2px solid #FF4242;\n border-radius: 5px;\n font-size: 16px;\n color: #FF4242;\n}\n\n.c-form-feedback:not(:empty) {\n display: block;\n}\n\n.c-form-feedback:before {\n content: attr(data-feedback);\n display: inline-block;\n margin-left: -20px;\n margin-bottom: 10px;\n font-weight: 700;\n color: #FF4242;\n}\n\n.c-form-feedback li::first-letter {\n text-transform: uppercase;\n}\n\n.image-slider {\n width: 100%;\n overflow: visible;\n box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.2);\n}\n\n.image-slider .placeholder {\n position: relative;\n width: 100%;\n cursor: move;\n}\n\n.image-slider .placeholder .controllers {\n position: relative;\n z-index: 3;\n width: 100%;\n height: 0;\n padding-bottom: 66.67%;\n}\n\n@media screen and (max-width: 1350px) {\n .image-slider .placeholder .controllers {\n padding-bottom: 100%;\n }\n}\n\n.image-slider .placeholder .controllers .nav-item {\n position: absolute;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: center;\n -moz-justify-content: center;\n -ms-justify-content: center;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n justify-content: center;\n align-items: center;\n bottom: -50px;\n width: 35px;\n height: 35px;\n cursor: pointer;\n border-radius: 100%;\n transition: background 0.3s;\n}\n\n.image-slider .placeholder .controllers .nav-item span {\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: center;\n -moz-justify-content: center;\n -ms-justify-content: center;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n justify-content: center;\n align-items: center;\n height: 16px;\n width: 16px;\n transform-origin: center;\n transition: transform 0.3s;\n}\n\n.image-slider .placeholder .controllers .nav-item span .arrow-icon {\n position: relative;\n width: 10px;\n height: 16px;\n transform-origin: center;\n}\n\n.image-slider .placeholder .controllers .nav-item span .arrow-icon .st0 {\n fill: white;\n}\n\n.image-slider .placeholder .controllers .nav-item.previous {\n background-color: #BCDAFF;\n right: calc(50% + 3px);\n}\n\n.image-slider .placeholder .controllers .nav-item.previous span .arrow-icon {\n transform: rotate(90deg);\n}\n\n.image-slider .placeholder .controllers .nav-item.previous:hover {\n background-color: #d6e8ff;\n}\n\n.image-slider .placeholder .controllers .nav-item.next {\n background-color: #78A2DB;\n left: calc(50% + 3px);\n}\n\n.image-slider .placeholder .controllers .nav-item.next span .arrow-icon {\n transform: rotate(270deg);\n}\n\n.image-slider .placeholder .controllers .nav-item.next:hover {\n background-color: #6494d6;\n}\n\n.image-slider .placeholder figure {\n position: absolute;\n z-index: 1;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n transition: opacity 0.4s;\n}\n\n.image-slider .placeholder figure span {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-size: cover;\n background-position: center;\n}\n\n.image-slider .placeholder figure span.small {\n display: none;\n}\n\n@media screen and (max-width: 480px) {\n .image-slider .placeholder figure span.medium {\n display: none;\n }\n .image-slider .placeholder figure span.small {\n display: block;\n }\n}\n\n.image-slider .placeholder figure.active {\n z-index: 2;\n opacity: 1;\n}\n\n#cookie-message {\n position: fixed;\n z-index: 9999;\n bottom: 0;\n left: 0;\n padding: 15px 0;\n width: 100%;\n background-color: #031E49;\n opacity: 1;\n box-shadow: 0 -2px 10px 0 rgba(0, 0, 0, 0.1);\n transition: opacity 0.5s, transform 0.6s;\n transform: translate3d(0, 0, 0);\n}\n\n#cookie-message.accepted {\n display: none;\n}\n\n#cookie-message.transition-out {\n opacity: 0;\n transform: translate3d(0, 50%, 0);\n}\n\n#cookie-message .grid-row {\n text-align: center;\n}\n\n#cookie-message .grid-row p, #cookie-message .grid-row p a, #cookie-message .grid-row .close-button {\n font-size: 0.75rem;\n line-height: 1.2;\n color: white;\n}\n\n#cookie-message .grid-row p {\n display: inline-block;\n vertical-align: middle;\n margin: 0;\n}\n\n#cookie-message .grid-row p a {\n text-decoration: underline;\n}\n\n#cookie-message .grid-row .close-button {\n display: inline-block;\n vertical-align: middle;\n margin-left: 15px;\n padding: 5px 12px;\n background-color: rgba(255, 255, 255, 0.2);\n border-radius: 5px;\n cursor: pointer;\n}\n\n@media screen and (max-width: 625px) {\n #cookie-message .grid-row p {\n max-width: 225px;\n }\n}\n\n@media screen and (max-width: 375px) {\n #cookie-message .grid-row p {\n display: block;\n max-width: none;\n }\n #cookie-message .grid-row .close-button {\n margin-top: 10px;\n }\n}\n\n#cookie-message-overlay {\n position: fixed;\n z-index: 9999;\n top: 0;\n left: 0;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: center;\n -moz-justify-content: center;\n -ms-justify-content: center;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.6);\n opacity: 1;\n transition: opacity 0.5s;\n}\n\n#cookie-message-overlay.accepted {\n display: none;\n}\n\n#cookie-message-overlay.transition-out {\n opacity: 0;\n}\n\n#cookie-message-overlay .placeholder {\n width: calc(100vw / 14 * 12);\n padding: 60px 120px;\n display: block;\n max-width: 960px;\n margin-left: auto;\n margin-right: auto;\n background-color: white;\n}\n\n#cookie-message-overlay .placeholder h5 {\n font-size: 1.2rem;\n line-height: 1;\n font-weight: 500;\n margin: 0 0 5px;\n color: #4d4d4d;\n}\n\n#cookie-message-overlay .placeholder p {\n font-size: 0.8rem;\n line-height: 1.2;\n margin: 0;\n color: #808080;\n}\n\n#cookie-message-overlay .placeholder p a, #cookie-message-overlay .placeholder p .open-menu {\n color: #78A2DB;\n white-space: nowrap;\n cursor: pointer;\n text-decoration: underline;\n}\n\n#cookie-message-overlay .placeholder .accept-cookie-button {\n display: inline-block;\n margin-top: 35px;\n padding: 13px 20px;\n border-radius: 4px;\n background-color: #BCDAFF;\n transition: background-color 0.4s, opacity 0.4s;\n font-size: 0.9rem;\n line-height: 1.2;\n color: white;\n cursor: pointer;\n}\n\n#cookie-message-overlay .placeholder .accept-cookie-button:hover {\n background-color: #93c3ff;\n}\n\n@media screen and (max-width: 1440px) {\n #cookie-message-overlay .placeholder {\n padding: calc(100vw / 14 / 1.5) calc(100vw / 14);\n display: block;\n }\n}\n\n@media screen and (max-width: 450px) {\n #cookie-message-overlay .placeholder {\n width: 100%;\n }\n}\n\n#cookie-message-overlay #message-description {\n display: block;\n}\n\n#cookie-message-overlay #message-description.hide {\n display: none;\n}\n\n#cookie-message-overlay .cookie-types-description {\n display: block;\n margin: 30px 0;\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type {\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: space-between;\n -moz-justify-content: space-between;\n -ms-justify-content: space-between;\n -webkit-align-items: flex-start;\n -moz-align-items: flex-start;\n -ms-align-items: flex-start;\n justify-content: space-between;\n align-items: flex-start;\n width: 100%;\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type + .cookie-type {\n margin-top: 25px;\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type .icon {\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: center;\n -moz-justify-content: center;\n -ms-justify-content: center;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n justify-content: center;\n align-items: center;\n width: 25px;\n height: 25px;\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type .icon:before {\n content: '';\n display: block;\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type .text {\n display: block;\n width: calc(100% - 55px);\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type .text p {\n max-width: 380px;\n font-size: 0.7rem;\n line-height: 1rem;\n margin: 0;\n color: rgba(178, 178, 178, 0.6);\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type .text p strong {\n display: inline-block;\n color: #B2B2B2;\n font-size: 0.9rem;\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type .text p strong span {\n white-space: nowrap;\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type.tracking .icon:before {\n background: url(\"/img/cookie-sprite.svg\") 0 0 no-repeat;\n background-size: 114px 25px;\n width: 25px;\n height: 25px;\n}\n\n#cookie-message-overlay .cookie-types-description .cookie-type.analytic .icon:before {\n background: url(\"/img/cookie-sprite.svg\") -27px 0 no-repeat;\n background-size: 114px 25px;\n width: 25px;\n height: 25px;\n}\n\n#cookie-message-overlay .cookie-settings {\n display: none;\n}\n\n#cookie-message-overlay .cookie-settings.edit {\n display: block;\n}\n\n#cookie-message-overlay .cookie-settings .wrapper {\n padding: 30px 0 0;\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type {\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: space-between;\n -moz-justify-content: space-between;\n -ms-justify-content: space-between;\n -webkit-align-items: flex-start;\n -moz-align-items: flex-start;\n -ms-align-items: flex-start;\n justify-content: space-between;\n align-items: flex-start;\n width: 100%;\n max-width: 420px;\n cursor: pointer;\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type + .cookie-type {\n margin-top: 25px;\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type input {\n margin: 4px 0 0;\n display: block;\n background: url(\"/img/cookie-sprite.svg\") -55px -14px no-repeat;\n background-size: 114px 25px;\n width: 13px;\n height: 13px;\n -webkit-appearance: none;\n -moz-appearance: none;\n -ms-appearance: none;\n -o-appearance: none;\n appearance: none;\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type input:checked {\n background-position: -55px 0;\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type input:focus {\n outline: none;\n box-shadow: none;\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type > span {\n display: block;\n width: calc(100% - 55px);\n font-size: 0.7rem;\n line-height: 1rem;\n color: rgba(178, 178, 178, 0.6);\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type > span strong {\n font-size: 0.9rem;\n color: #B2B2B2;\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type > span strong span {\n white-space: nowrap;\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type.analytic {\n pointer-events: none;\n cursor: not-allowed;\n}\n\n#cookie-message-overlay .cookie-settings .cookie-type.analytic input {\n opacity: 0.3;\n}\n\n#cookie-switch {\n margin-bottom: 50px;\n padding: 30px 0 50px;\n border-bottom: 1px solid #B2B2B2;\n width: 100%;\n}\n\n#cookie-switch .placeholder {\n width: 100%;\n display: block;\n}\n\n#cookie-switch .placeholder .cookie-switch-title h3 {\n margin: 0 0 12px;\n font-size: 1.2rem;\n line-height: 1.2;\n}\n\n#cookie-switch .placeholder .cookie-switch-title p {\n font-size: 0.8rem;\n line-height: 1.4;\n}\n\n#cookie-switch .placeholder .cookie-types {\n display: block;\n margin: 30px 0 50px;\n}\n\n#cookie-switch .placeholder .cookie-types .cookie-type {\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: space-between;\n -moz-justify-content: space-between;\n -ms-justify-content: space-between;\n -webkit-align-items: flex-start;\n -moz-align-items: flex-start;\n -ms-align-items: flex-start;\n justify-content: space-between;\n align-items: flex-start;\n width: 100%;\n max-width: 420px;\n cursor: pointer;\n}\n\n#cookie-switch .placeholder .cookie-types .cookie-type + .cookie-type {\n margin-top: 25px;\n}\n\n#cookie-switch .placeholder .cookie-types .cookie-type input {\n margin: 4px 0 0;\n display: block;\n -webkit-appearance: none;\n -moz-appearance: none;\n -ms-appearance: none;\n -o-appearance: none;\n appearance: none;\n background: url(\"/img/cookie-sprite.svg\") -55px -14px no-repeat;\n background-size: 114px 25px;\n width: 13px;\n height: 13px;\n}\n\n#cookie-switch .placeholder .cookie-types .cookie-type input:focus {\n outline: none;\n box-shadow: none;\n}\n\n#cookie-switch .placeholder .cookie-types .cookie-type input:checked {\n background-position: -55px 0;\n}\n\n#cookie-switch .placeholder .cookie-types .cookie-type > span {\n display: block;\n width: calc(100% - 55px);\n font-size: 0.7rem;\n line-height: 1.4;\n}\n\n@media screen and (max-width: 460px) {\n #cookie-switch .placeholder .cookie-types .cookie-type > span {\n width: calc(100% - 30px);\n }\n}\n\n#cookie-switch .placeholder .cookie-types .cookie-type > span strong {\n font-size: 0.9rem;\n}\n\n#cookie-switch .placeholder .cookie-types .cookie-type > span strong span {\n white-space: nowrap;\n}\n\n#cookie-switch .placeholder .cookie-types .cookie-type.analytic {\n pointer-events: none;\n cursor: not-allowed;\n}\n\n#cookie-switch .placeholder #save-cookie-settings {\n display: inline-block;\n padding: 13px 20px;\n border-radius: 4px;\n background-color: #BCDAFF;\n transition: background-color 0.4s, opacity 0.4s;\n font-size: 0.9rem;\n line-height: 1.2;\n color: white;\n cursor: pointer;\n}\n\n#cookie-switch .placeholder #save-cookie-settings:hover {\n background-color: #93c3ff;\n}\n\n#cookie-switch .placeholder #save-cookie-settings.clicked {\n opacity: 0.2;\n}\n\n/*==========================================================================\n Dynamic Blocks\n @mixin ========================================================================= */\n.dynamic-block + .dynamic-block {\n margin-top: 60px;\n}\n\n.dynamic-block .grid-row {\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: space-between;\n -moz-justify-content: space-between;\n -ms-justify-content: space-between;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n justify-content: space-between;\n align-items: center;\n}\n\n.dynamic-block.two-text-columns {\n position: relative;\n z-index: 10;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: space-between;\n -moz-justify-content: space-between;\n -ms-justify-content: space-between;\n -webkit-align-items: flex-start;\n -moz-align-items: flex-start;\n -ms-align-items: flex-start;\n justify-content: space-between;\n align-items: flex-start;\n}\n\n.dynamic-block.two-text-columns .content {\n width: 47.72727273%;\n padding: 0;\n}\n\n@media screen and (max-width: 900px) {\n .dynamic-block.two-text-columns {\n display: block;\n }\n .dynamic-block.two-text-columns .content {\n width: 100% !important;\n margin: 0;\n }\n .dynamic-block.two-text-columns .content p:last-of-type {\n margin-bottom: 1rem;\n }\n}\n\n.dynamic-block.full-image-column img {\n width: 100%;\n display: none;\n}\n\n.dynamic-block.full-image-column img.large {\n display: block;\n}\n\n@media screen and (max-width: 1050px) {\n .dynamic-block.full-image-column img.large {\n display: none;\n }\n .dynamic-block.full-image-column img.medium {\n display: block;\n }\n}\n\n@media screen and (max-width: 525px) {\n .dynamic-block.full-image-column img.medium {\n display: none;\n }\n .dynamic-block.full-image-column img.small {\n display: block;\n }\n}\n\n.dynamic-block.content-block {\n position: relative;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: space-between;\n -moz-justify-content: space-between;\n -ms-justify-content: space-between;\n -webkit-align-items: flex-start;\n -moz-align-items: flex-start;\n -ms-align-items: flex-start;\n justify-content: space-between;\n align-items: flex-start;\n}\n\n.dynamic-block.content-block .image {\n width: 50%;\n}\n\n.dynamic-block.content-block .image img {\n width: 100%;\n}\n\n.dynamic-block.content-block .image img.small {\n display: none;\n}\n\n@media screen and (max-width: 450px) {\n .dynamic-block.content-block .image img.medium {\n display: none;\n }\n .dynamic-block.content-block .image img.small {\n display: block;\n }\n}\n\n.dynamic-block.content-block .image .content {\n width: 41.66666667%;\n}\n\n.dynamic-block.content-block .content {\n -webkit-order: 1;\n -ms-order: 1;\n width: 41.66666667%;\n}\n\n.dynamic-block.content-block[data-image-location='right'] .image {\n -webkit-order: 2;\n -ms-order: 2;\n}\n\n.dynamic-block.content-block[data-image-location='right'] .content {\n -webkit-order: 1;\n -ms-order: 1;\n}\n\n@media screen and (max-width: 900px) {\n .dynamic-block.content-block {\n display: block;\n }\n .dynamic-block.content-block .image {\n width: 100%;\n margin-top: 40px;\n -webkit-order: 2;\n -ms-order: 2;\n }\n .dynamic-block.content-block .content {\n width: 100%;\n }\n}\n\n.dynamic-block.multiple-images {\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: space-between;\n -moz-justify-content: space-between;\n -ms-justify-content: space-between;\n -webkit-align-items: flex-start;\n -moz-align-items: flex-start;\n -ms-align-items: flex-start;\n justify-content: space-between;\n align-items: flex-start;\n -webkit-flex-wrap: wrap;\n -ms-flex-wrap: wrap;\n -webkit-flex-direction: row;\n -ms-flex-direction: row;\n -webkit-flex-flow: row wrap;\n}\n\n.dynamic-block.multiple-images figure {\n width: 47.72727273%;\n}\n\n.dynamic-block.multiple-images figure img {\n width: 100%;\n display: none;\n}\n\n.dynamic-block.multiple-images figure img.medium {\n display: none;\n}\n\n@media screen and (max-width: 1100px) {\n .dynamic-block.multiple-images figure img.large {\n display: none;\n }\n .dynamic-block.multiple-images figure img.medium {\n display: block;\n }\n}\n\n@media screen and (max-width: 480px) {\n .dynamic-block.multiple-images figure img.large {\n display: none;\n }\n .dynamic-block.multiple-images figure img.medium {\n display: block;\n }\n}\n\n.dynamic-block.multiple-images[data-size-type='50'] figure img.medium {\n display: block;\n}\n\n@media screen and (max-width: 1125px) {\n .dynamic-block.multiple-images[data-size-type='50'] figure img.medium {\n display: none;\n }\n .dynamic-block.multiple-images[data-size-type='50'] figure img.small {\n display: block;\n }\n}\n\n@media screen and (max-width: 900px) {\n .dynamic-block.multiple-images {\n display: block;\n }\n .dynamic-block.multiple-images figure {\n width: 100%;\n }\n .dynamic-block.multiple-images figure:first-of-type {\n margin-bottom: 40px;\n }\n .dynamic-block.multiple-images figure img.medium {\n display: block !important;\n }\n .dynamic-block.multiple-images figure img.small {\n display: none !important;\n }\n}\n\n@media screen and (max-width: 900px) and (max-width: 525px) {\n .dynamic-block.multiple-images figure img.medium {\n display: none;\n }\n .dynamic-block.multiple-images figure img.small {\n display: block;\n }\n}\n\n.dynamic-block.full-text-block .content {\n max-width: 680px;\n margin: auto;\n text-align: center;\n}\n\n.dynamic-block.video-block {\n width: 100%;\n max-width: 960px;\n margin: 60px auto 0 !important;\n}\n\n.dynamic-block.video-block .video-wrapper {\n position: relative;\n padding-bottom: 53.6%;\n padding-top: 25px;\n height: 0;\n}\n\n.dynamic-block.video-block .video-wrapper iframe, .dynamic-block.video-block .video-wrapper .video-overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.dynamic-block.video-block .video-wrapper .video-overlay {\n z-index: 2;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: center;\n -moz-justify-content: center;\n -ms-justify-content: center;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n justify-content: center;\n align-items: center;\n opacity: 1;\n cursor: pointer;\n transition: all 0.2s;\n}\n\n.dynamic-block.video-block .video-wrapper .video-overlay .button {\n width: 25%;\n max-width: 85px;\n transform: scale(1);\n transition: all 0.4s;\n}\n\n.dynamic-block.video-block .video-wrapper .video-overlay .button img {\n width: 100%;\n}\n\n.dynamic-block.video-block .video-wrapper .video-overlay:hover .button {\n -webkit-transform: scale(0.85);\n -moz-transform: scale(0.85);\n -ms-transform: scale(0.85);\n -o-transform: scale(0.85);\n transform: scale(0.85);\n}\n\n.dynamic-block.video-block .video-wrapper .video-overlay.hide {\n opacity: 0;\n pointer-events: none;\n transition: all 0.5s;\n transition-delay: 0.7s;\n}\n\n.dynamic-block.video-block .video-wrapper .video-overlay.hide .button {\n transition: all 0.8s;\n transform: scale(0.3);\n}\n\n@media screen and (max-width: 750px) {\n .preventScroll {\n overflow: hidden;\n overflow-y: scroll;\n position: fixed;\n width: 100%;\n }\n}\n\n#mobile-navigation {\n position: fixed;\n z-index: 1000;\n height: 100vh;\n overflow: hidden;\n width: 100%;\n left: 0;\n top: 0;\n pointer-events: none;\n}\n\n.ie.v10 #mobile-navigation {\n height: 60px;\n}\n\n#mobile-navigation .bar {\n display: none;\n height: 60px;\n background-color: #052B67;\n box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.11);\n pointer-events: all;\n position: relative;\n z-index: 4;\n transform: translate3d(0, 0, 0);\n transition: all 0.3s ease 0.4s, transform 0.4s ease 0s;\n}\n\n#mobile-navigation .bar .toggle-menu {\n width: 60px;\n height: 100%;\n z-index: 3;\n cursor: pointer;\n position: relative;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: center;\n -moz-justify-content: center;\n -ms-justify-content: center;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n justify-content: center;\n align-items: center;\n}\n\n#mobile-navigation .bar .toggle-menu .icon {\n width: 20px;\n}\n\n#mobile-navigation .bar .toggle-menu .icon span + span {\n margin-top: 4px;\n}\n\n#mobile-navigation .bar .toggle-menu .icon span {\n width: 100%;\n height: 2px;\n display: block;\n transform: scale3d(1, 1, 1);\n transform-origin: 0 50%;\n background-color: white;\n transition: transform 0.6s;\n}\n\n#mobile-navigation .bar .toggle-menu .icon span:nth-of-type(2) {\n transform: scale3d(0.8, 1, 1);\n}\n\n#mobile-navigation .bar .toggle-menu .icon span:nth-of-type(3) {\n transform: scale3d(0.45, 1, 1);\n}\n\n#mobile-navigation .bar .toggle-menu:hover .icon span {\n transform: scale3d(1, 1, 1) !important;\n}\n\n#mobile-navigation .bar .logo {\n height: 100%;\n width: 100%;\n position: absolute;\n left: 0;\n top: 0;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: center;\n -moz-justify-content: center;\n -ms-justify-content: center;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n justify-content: center;\n align-items: center;\n}\n\n#mobile-navigation .bar .logo a {\n position: relative;\n display: block;\n width: 12px;\n background-position: center;\n background-size: contain;\n background-repeat: no-repeat;\n text-align: center;\n}\n\n#mobile-navigation .bar .logo a img {\n display: inline-block;\n width: 12px;\n max-height: 50px;\n}\n\n#mobile-navigation.hide-bar .bar {\n transform: translate3d(0, -60px, 0);\n}\n\n#mobile-navigation .shader {\n width: 100%;\n height: 100%;\n position: absolute;\n left: 0;\n top: 0;\n background-color: #052B67;\n opacity: 0;\n transition-delay: 0.4s;\n}\n\n#mobile-navigation .menu {\n position: absolute;\n left: 0;\n top: 0;\n height: 100%;\n width: 100%;\n max-width: 600px;\n min-width: 275px;\n padding: 40px 120px;\n background-color: #052B67;\n overflow-x: auto;\n pointer-events: all;\n z-index: 5;\n transform: translate3d(-100%, 0, 0);\n}\n\n#mobile-navigation .menu nav {\n position: relative;\n}\n\n#mobile-navigation .menu nav .close {\n position: absolute;\n top: 17px;\n left: -68px;\n display: block;\n width: 16px;\n height: 16px;\n cursor: pointer;\n transform-origin: center;\n transform: rotate(0deg);\n transition: transform 0.4s;\n}\n\n#mobile-navigation .menu nav .close:hover {\n transform: rotate(90deg);\n opacity: 0.4;\n}\n\n#mobile-navigation .menu nav .close:before, #mobile-navigation .menu nav .close:after {\n content: '';\n position: absolute;\n display: block;\n background-color: white;\n transform-origin: center;\n transform: rotate(45deg);\n transition: background-color 0.3s;\n}\n\n#mobile-navigation .menu nav .close:before {\n left: 7px;\n top: 0;\n width: 2px;\n height: 100%;\n}\n\n#mobile-navigation .menu nav .close:after {\n left: 0;\n top: 7px;\n width: 100%;\n height: 2px;\n}\n\n#mobile-navigation .menu nav .logo-wrapper {\n width: 100%;\n max-width: 70px;\n}\n\n#mobile-navigation .menu nav .logo-wrapper a {\n display: block;\n text-decoration: none;\n}\n\n#mobile-navigation .menu nav .logo-wrapper a img {\n width: 100%;\n max-height: 133px;\n}\n\n#mobile-navigation .menu nav .menu-list {\n margin-top: 40px;\n}\n\n#mobile-navigation .menu nav .menu-list ul {\n margin: 0;\n padding: 0;\n list-style: none;\n font-size: 1rem;\n line-height: 1.2;\n}\n\n#mobile-navigation .menu nav .menu-list ul + ul {\n margin-top: 24px;\n}\n\n#mobile-navigation .menu nav .menu-list ul li a {\n display: block;\n padding: 8px 0;\n color: rgba(255, 255, 255, 0.5);\n text-decoration: none;\n transition: color 0.2s;\n cursor: pointer;\n}\n\n#mobile-navigation .menu nav .menu-list ul li a:hover {\n color: rgba(255, 255, 255, 0.75);\n}\n\n#mobile-navigation .menu nav .menu-list ul li ul {\n font-size: 0.85em;\n}\n\n#mobile-navigation .menu nav .menu-list ul li.active a {\n color: white;\n}\n\n.ie.v10 #mobile-navigation.active {\n height: 100vh;\n}\n\n#mobile-navigation.active .bar .toggle-menu .icon span {\n opacity: 0;\n transition-delay: 0.4s;\n}\n\n#mobile-navigation.active .bar .toggle-menu .icon span:first-of-type {\n -webkit-transform: rotate(45deg);\n -moz-transform: rotate(45deg);\n -ms-transform: rotate(45deg);\n -o-transform: rotate(45deg);\n transform: rotate(45deg);\n opacity: 1;\n top: 6px;\n}\n\n#mobile-navigation.active .bar .toggle-menu .icon span:last-of-type {\n width: 25px;\n opacity: 1;\n bottom: 6px;\n -webkit-transform: rotate(-45deg);\n -moz-transform: rotate(-45deg);\n -ms-transform: rotate(-45deg);\n -o-transform: rotate(-45deg);\n transform: rotate(-45deg);\n}\n\n#mobile-navigation.active .menu {\n transform: translate3d(0, 0, 0);\n}\n\n#mobile-navigation.shader-active .shader {\n opacity: 0.6;\n pointer-events: all;\n}\n\n#mobile-navigation.allow-animation .shader {\n transition: all 0.2s;\n}\n\n#mobile-navigation.allow-animation .menu {\n transition: all 0.3s;\n transition-timing-function: ease-in-out;\n}\n\n@media screen and (max-width: 750px) {\n #mobile-navigation {\n display: block;\n }\n #mobile-navigation .bar {\n display: block;\n }\n #mobile-navigation .menu {\n max-width: none;\n }\n}\n\n@media screen and (max-width: 400px) {\n #mobile-navigation nav {\n padding-left: 30px;\n }\n #mobile-navigation nav ul {\n font-size: 1.2rem;\n }\n}\n\n.mobile-contact {\n display: none;\n opacity: 0;\n transform: translate3d(0, -100%, 0);\n padding: 50px 7.14285714%;\n background-color: white;\n color: #052B67;\n font-size: 0.9rem;\n transition: opacity 0.4s, transform 0.4s;\n}\n\n.mobile-contact.active {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n pointer-events: all;\n}\n\n.mobile-contact h1, .mobile-contact h2 {\n font-size: 2rem;\n line-height: 1.2;\n max-width: 580px;\n color: #78A2DB;\n margin: 0 0 40px;\n}\n\n.mobile-contact p {\n margin: 1rem 0;\n}\n\n.mobile-contact strong {\n color: #052B67;\n}\n\n.mobile-contact a:not(.button) {\n color: #78A2DB;\n text-decoration: none;\n transition: color 0.3s, border 0.3s, opacity 0.3s;\n}\n\n.mobile-contact a:not(.button):hover {\n color: #3c78cb;\n}\n\n.mobile-contact a.button {\n display: inline-block;\n margin-top: 20px;\n padding: 15px 20px;\n border-radius: 25px;\n background-color: #78A2DB;\n text-decoration: none;\n font-size: 0.9rem;\n line-height: 1;\n font-weight: 700;\n color: white;\n transition: background-color 0.3s;\n}\n\n.mobile-contact a.button:after {\n content: '';\n margin-left: 20px;\n transform: translate3d(0, 0, 0);\n transition: transform 0.3s;\n}\n\n.mobile-contact a.button:hover {\n background-color: #78A2DB;\n}\n\n.mobile-contact a.button:hover:after {\n transform: translate3d(5px, 0, 0);\n}\n\n@media screen and (max-width: 840px) {\n .mobile-contact {\n display: block;\n }\n}\n\n#sticky-navigation {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 50;\n background-color: #78A2DB;\n width: 100%;\n height: 60px;\n transform: translate3d(0, -60px, 0);\n box-shadow: 0 6px 10px -5px rgba(0, 0, 0, 0.1);\n opacity: 0;\n transition: transform 0.4s, opacity 0.4s;\n}\n\n#sticky-navigation.active {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n}\n\n#sticky-navigation .grid-row {\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: space-between;\n -moz-justify-content: space-between;\n -ms-justify-content: space-between;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n justify-content: space-between;\n align-items: center;\n}\n\n#sticky-navigation .menu {\n display: inline-block;\n width: 60px;\n}\n\n#sticky-navigation .menu .placeholder {\n position: relative;\n width: 100%;\n padding-bottom: 100%;\n}\n\n#sticky-navigation .menu .placeholder .icon-placeholder {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: center;\n -moz-justify-content: center;\n -ms-justify-content: center;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}\n\n#sticky-navigation .menu .placeholder .icon-placeholder .icon {\n width: 20px;\n}\n\n#sticky-navigation .menu .placeholder .icon-placeholder .icon span + span {\n margin-top: 4px;\n}\n\n#sticky-navigation .menu .placeholder .icon-placeholder .icon span {\n width: 100%;\n height: 2px;\n display: block;\n transform: scale3d(1, 1, 1);\n transform-origin: 0 50%;\n background-color: white;\n transition: transform 0.6s;\n}\n\n#sticky-navigation .menu .placeholder .icon-placeholder .icon span:nth-of-type(2) {\n transform: scale3d(0.8, 1, 1);\n}\n\n#sticky-navigation .menu .placeholder .icon-placeholder .icon span:nth-of-type(3) {\n transform: scale3d(0.45, 1, 1);\n}\n\n#sticky-navigation .menu .placeholder .icon-placeholder:hover .icon span {\n transform: scale3d(1, 1, 1) !important;\n}\n\n#sticky-navigation .logo-wrapper a {\n font-size: 1rem;\n line-height: 1;\n color: white;\n text-decoration: none;\n font-weight: bold;\n}\n\n.large-header-image {\n position: relative;\n}\n\n@media screen and (max-width: 750px) {\n .large-header-image {\n padding-top: 100px;\n }\n}\n\n@media screen and (max-width: 500px) {\n .large-header-image {\n padding-top: 60px;\n }\n}\n\n.large-header-image:before {\n content: '';\n position: absolute;\n z-index: -2;\n top: 0;\n left: 0;\n background: #052B67;\n height: 70%;\n width: 100%;\n}\n\n@media screen and (max-width: 640px) {\n .large-header-image:before {\n height: 50%;\n }\n}\n\n.large-header-image:after {\n content: '';\n position: absolute;\n z-index: -1;\n bottom: 30%;\n left: 0;\n background: #E6E6E6;\n height: 180px;\n width: 100%;\n}\n\n@media screen and (max-width: 1100px) {\n .large-header-image:after {\n height: 120px;\n }\n}\n\n@media screen and (max-width: 840px) {\n .large-header-image:after {\n bottom: 100px;\n }\n}\n\n@media screen and (max-width: 640px) {\n .large-header-image:after {\n display: none;\n }\n}\n\n@media screen and (max-width: 500px) {\n .large-header-image .grid-row {\n width: 100%;\n }\n}\n\n.large-header-image .header-image {\n position: relative;\n z-index: 2;\n width: 100%;\n}\n\n.large-header-image .header-image img {\n width: 100%;\n}\n\n.large-header-image .header-image figcaption {\n position: absolute;\n left: 40px;\n bottom: 40px;\n font-size: 2.4rem;\n font-weight: 600;\n color: white;\n line-height: 1;\n}\n\n.large-header-image .header-image figcaption span {\n display: inline-block;\n background-color: #052B67;\n padding: 12px 20px;\n margin-bottom: 2px;\n}\n\n@media screen and (max-width: 1500px) {\n .large-header-image .header-image figcaption {\n font-size: 1.8rem;\n }\n}\n\n@media screen and (max-width: 840px) {\n .large-header-image .header-image figcaption {\n font-size: 1.5rem;\n }\n}\n\n@media screen and (max-width: 640px) {\n .large-header-image .header-image figcaption {\n position: relative;\n bottom: 0;\n left: 0;\n margin-top: 40px;\n }\n}\n\n@media screen and (max-width: 500px) {\n .large-header-image .header-image figcaption {\n margin-top: 30px;\n padding: 0 30px;\n font-size: 1.4rem;\n }\n}\n\n.large-header-image .header-image.image-slider .controllers {\n padding-bottom: 66.67% !important;\n}\n\n.large-header-image .header-image.image-slider .controllers .nav-item {\n bottom: 50px;\n}\n\n.large-header-image .header-image.image-slider .controllers .nav-item.previous {\n right: calc(100% - 17px);\n}\n\n.large-header-image .header-image.image-slider .controllers .nav-item.next {\n left: calc(100% - 17px);\n}\n\n@media screen and (max-width: 500px) {\n .large-header-image .header-image.image-slider .controllers .nav-item {\n display: none;\n }\n}\n\n.large-header-image .show-scroll {\n position: absolute;\n left: calc(50% - 40px);\n bottom: -40px;\n z-index: 10;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: center;\n -moz-justify-content: center;\n -ms-justify-content: center;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n justify-content: center;\n align-items: center;\n width: 80px;\n height: 80px;\n cursor: pointer;\n border-radius: 55px 55px 0 0;\n}\n\n.large-header-image .show-scroll:after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n z-index: -1;\n width: 80px;\n height: 80px;\n background: #78A2DB;\n border-radius: 6px;\n}\n\n.large-header-image .show-scroll .arrow {\n position: relative;\n z-index: 2;\n display: inline-block;\n width: 16px;\n transform: translate3d(0, 0, 0);\n transition: transform 0.3s;\n}\n\n.large-header-image .show-scroll .arrow svg {\n width: 100%;\n}\n\n.large-header-image .show-scroll .arrow svg path {\n fill: white;\n}\n\n.large-header-image .show-scroll:hover .arrow {\n transform: translate3d(0, 3px, 0);\n}\n\n@media screen and (max-width: 640px) {\n .large-header-image .show-scroll {\n display: none;\n }\n}\n\n.cta-content-row {\n /* Tablet view\n @mixin ========================================================================= */\n /* Mobile view\n @mixin ========================================================================= */\n}\n\n.cta-content-row .grid-row {\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: flex-end;\n -moz-justify-content: flex-end;\n -ms-justify-content: flex-end;\n -webkit-align-items: flex-start;\n -moz-align-items: flex-start;\n -ms-align-items: flex-start;\n justify-content: flex-end;\n align-items: flex-start;\n padding: 115px 0;\n}\n\n.cta-content-row .grid-row .cta-block {\n width: 33.33333333%;\n margin-top: 15px;\n margin-right: 12.5%;\n}\n\n.cta-content-row .grid-row .cta-block p {\n margin: -35px 0 15px 0;\n font-size: 0.7rem;\n line-height: 1.2;\n color: #BCDAFF;\n text-transform: uppercase;\n font-family: \"Droid Sans\", sans-serif;\n}\n\n.cta-content-row .grid-row .cta-block h1 {\n max-width: 420px;\n margin: 0;\n font-size: 1.8rem;\n line-height: 1.333;\n font-weight: 700;\n color: #052B67;\n}\n\n@media screen and (max-width: 950px) {\n .cta-content-row .grid-row .cta-block h1 {\n font-size: 1.6rem;\n }\n}\n\n.cta-content-row .grid-row .cta-block .button {\n margin-top: 30px;\n}\n\n.cta-content-row .grid-row .content-block {\n width: 33.33333333%;\n margin-right: 8.33333333%;\n}\n\n@media screen and (max-width: 1350px) {\n .cta-content-row .grid-row {\n padding: 80px 0;\n }\n .cta-content-row .grid-row .cta-block {\n width: 41.66666667%;\n margin-right: 8.33333333%;\n }\n .cta-content-row .grid-row .content-block {\n width: 41.66666667%;\n }\n}\n\n@media screen and (max-width: 750px) {\n .cta-content-row .grid-row {\n padding: 80px 0;\n display: block;\n }\n .cta-content-row .grid-row .cta-block, .cta-content-row .grid-row .content-block {\n width: 83.33333333%;\n margin-right: auto;\n margin-left: auto;\n }\n}\n\n@media screen and (max-width: 750px) and (max-width: 640px) {\n .cta-content-row .grid-row .cta-block, .cta-content-row .grid-row .content-block {\n width: 100%;\n }\n}\n\n@media screen and (max-width: 750px) {\n .cta-content-row .grid-row .cta-block {\n margin-bottom: 60px;\n }\n}\n\n.reasons-row {\n position: relative;\n background-color: #052B67;\n overflow: hidden;\n}\n\n.reasons-row .grid-row {\n position: relative;\n}\n\n.reasons-row .grid-row:before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n right: calc(58.33333333% - 100px);\n width: 100px;\n height: 100%;\n background: linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 100%);\n}\n\n.reasons-row .grid-col {\n vertical-align: middle;\n padding: 100px 0;\n}\n\n.reasons-row .reasons-block {\n position: relative;\n z-index: 2;\n overflow: visible;\n padding-right: 4.16666667%;\n}\n\n.reasons-row .reasons-block > h2 {\n font-size: 1.6rem;\n line-height: 1.2;\n font-weight: 300;\n color: white;\n margin: 0 0 45px;\n padding-left: 55px;\n}\n\n@media screen and (max-width: 1250px) {\n .reasons-row .reasons-block > h2 {\n padding-left: 0;\n }\n}\n\n.reasons-row .reasons-block ul {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.reasons-row .reasons-block ul li {\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: space-between;\n -moz-justify-content: space-between;\n -ms-justify-content: space-between;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n justify-content: space-between;\n align-items: center;\n}\n\n.reasons-row .reasons-block ul li + li {\n margin-top: 30px;\n}\n\n.reasons-row .reasons-block ul li .list-icon {\n display: none;\n}\n\n.reasons-row .reasons-block ul li p {\n width: calc(100% - 55px);\n margin: 0;\n font-size: 0.8rem;\n line-height: 1.2;\n color: white;\n}\n\n.reasons-row .reasons-block ul li p strong {\n font-size: 1.2rem;\n line-height: 1.6;\n display: block;\n margin-bottom: 3px;\n color: white;\n}\n\n@media screen and (max-width: 1600px) {\n .reasons-row .reasons-block ul li p {\n margin-top: 6px;\n }\n .reasons-row .reasons-block ul li p strong {\n font-size: 1rem;\n }\n}\n\n@media screen and (max-width: 1080px) {\n .reasons-row .reasons-block ul li p {\n margin-top: 8px;\n }\n}\n\n.reasons-row .reasons-block ul.thumbs li .list-icon {\n display: block;\n width: 22px;\n height: 22px;\n}\n\n.reasons-row .reasons-block ul.thumbs li .list-icon svg {\n width: 100%;\n max-height: 22px;\n}\n\n.reasons-row .reasons-block ul.arrows li .list-icon {\n display: block;\n margin-top: 7px;\n width: 12px;\n height: 12px;\n transform: rotate(45deg);\n transform-origin: 0 100%;\n transition: transform 0.4s;\n border-top: 3px solid #BCDAFF;\n border-right: 3px solid #BCDAFF;\n}\n\n.reasons-row .reasons-block .trigger {\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: flex-start;\n -moz-justify-content: flex-start;\n -ms-justify-content: flex-start;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n justify-content: flex-start;\n align-items: center;\n margin-top: 60px;\n margin-left: 55px;\n}\n\n.reasons-row .reasons-block .trigger .image-placeholder {\n width: 180px;\n}\n\n@media screen and (max-width: 1600px) {\n .reasons-row .reasons-block .trigger .image-placeholder {\n width: 150px;\n }\n}\n\n.reasons-row .reasons-block .trigger .image-placeholder figure {\n position: relative;\n width: 100%;\n padding-bottom: 100%;\n height: 0;\n}\n\n.reasons-row .reasons-block .trigger .image-placeholder figure span {\n position: absolute;\n border-radius: 100%;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-position: center;\n background-size: cover;\n}\n\n@media screen and (max-width: 1400px) {\n .reasons-row .reasons-block .trigger {\n display: block;\n }\n .reasons-row .reasons-block .trigger .button {\n margin-right: 0;\n }\n .reasons-row .reasons-block .trigger .image-placeholder {\n display: none;\n }\n}\n\n.reasons-row .right-side {\n position: relative;\n z-index: 2;\n padding: 0;\n}\n\n.reasons-row .right-side.col-7 {\n padding-left: 8.33333333%;\n}\n\n.reasons-row .right-side.absolute {\n position: absolute;\n right: 0;\n top: 0;\n height: 100%;\n}\n\n.reasons-row .right-side h4 {\n font-size: 0.65rem;\n color: #BCDAFF;\n font-weight: 600;\n text-transform: uppercase;\n margin: 0 0 20px;\n}\n\n.reasons-row .right-side .video-block {\n padding: 80px 0;\n}\n\n.reasons-row .right-side .video-block .video-wrapper {\n background-color: #04214f;\n width: 100%;\n max-width: 960px;\n}\n\n.reasons-row .right-side .video-block .video-wrapper .placeholder {\n position: relative;\n padding-bottom: 52.8%;\n padding-top: 25px;\n height: 0;\n}\n\n.reasons-row .right-side .video-block .video-wrapper .placeholder iframe {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.reasons-row .right-side .image-block {\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n}\n\n.reasons-row .right-side .image-block span {\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n background-size: cover;\n background-position: center;\n}\n\n.reasons-row .right-side .image-block picture {\n display: none;\n width: 100%;\n margin: 0;\n}\n\n.reasons-row .right-side .image-block picture img {\n width: 100%;\n}\n\n@media screen and (max-width: 1000px) {\n .reasons-row .grid-row {\n width: 100%;\n }\n .reasons-row .grid-row:before, .reasons-row .grid-row:after {\n display: none;\n }\n .reasons-row .reasons-block {\n display: block;\n width: 100%;\n padding: 60px 7.14285714%;\n max-width: 600px;\n margin: auto;\n }\n .reasons-row .right-side {\n background-color: #04214f;\n position: relative;\n width: 100%;\n padding: 0 7.14285714%;\n height: auto;\n }\n .reasons-row .right-side.col-7 {\n padding-left: 7.14285714%;\n }\n .reasons-row .right-side.absolute {\n position: relative;\n height: auto;\n padding: 0;\n }\n .reasons-row .right-side .image-block {\n position: relative;\n }\n .reasons-row .right-side .image-block span {\n display: none;\n }\n .reasons-row .right-side .image-block picture {\n display: block;\n }\n}\n\n.discover-row {\n background: #EFF1ED;\n padding: 70px 0 120px;\n overflow: hidden;\n}\n\n.discover-row .streamer {\n color: #78A2DB;\n font-size: 0.65rem;\n font-family: \"Droid Sans\", sans-serif;\n text-transform: uppercase;\n margin: 0 0 35px;\n}\n\n.discover-row .links {\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: center;\n -moz-justify-content: center;\n -ms-justify-content: center;\n -webkit-align-items: flex-start;\n -moz-align-items: flex-start;\n -ms-align-items: flex-start;\n justify-content: center;\n align-items: flex-start;\n overflow: visible;\n box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.2);\n}\n\n.discover-row .links article {\n position: relative;\n width: calc(100% / 3);\n}\n\n.discover-row .links article::before {\n content: '';\n position: absolute;\n bottom: 0;\n right: 0;\n display: inline-block;\n height: 160px;\n width: 100%;\n background: linear-gradient(to bottom, transparent, rgba(130, 130, 130, 0.7));\n}\n\n@media screen and (min-width: 601px) {\n .discover-row .links article::before {\n top: 0;\n bottom: auto;\n width: 160px;\n height: 100%;\n background: linear-gradient(to right, transparent, rgba(130, 130, 130, 0.7));\n }\n}\n\n.discover-row .links article a {\n text-decoration: none;\n}\n\n.discover-row .links article picture {\n width: 100%;\n}\n\n.discover-row .links article picture img {\n width: 100%;\n}\n\n.discover-row .links article .overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n.discover-row .links article .overlay h4 {\n position: absolute;\n left: calc(100% - 25px);\n bottom: 25px;\n width: 100%;\n margin: 0;\n font-size: 1.5rem;\n line-height: 1.2;\n color: white;\n font-family: \"Droid Sans\", sans-serif;\n font-weight: 100;\n transform-origin: 0 100%;\n transform: rotate(270deg);\n}\n\n.discover-row .links article .overlay .arrow-placeholder {\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: center;\n -moz-justify-content: center;\n -ms-justify-content: center;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n justify-content: center;\n align-items: center;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: #052B67;\n opacity: 0;\n transition: all 400ms ease-out;\n transform: scale(1.5);\n pointer-events: none;\n}\n\n.discover-row .links article .overlay .arrow-placeholder span {\n display: block;\n width: 45px;\n}\n\n.discover-row .links article .overlay .arrow-placeholder span svg {\n width: 100%;\n transform-origin: center;\n transform: rotate(270deg);\n}\n\n.discover-row .links article .overlay .arrow-placeholder span svg.arrow-icon .st0 {\n fill: white;\n}\n\n.discover-row .links article:hover .overlay .arrow-placeholder {\n opacity: 1;\n transform: none;\n transition: all 0.4s ease-out;\n}\n\n@media screen and (max-width: 900px) {\n .discover-row .links {\n -webkit-flex-wrap: wrap;\n -ms-flex-wrap: wrap;\n -webkit-flex-direction: row;\n -ms-flex-direction: row;\n -webkit-flex-flow: row wrap;\n }\n .discover-row .links article {\n width: 50%;\n margin-right: auto;\n }\n}\n\n@media screen and (max-width: 600px) {\n .discover-row .links {\n display: block;\n }\n .discover-row .links article {\n width: 100%;\n }\n .discover-row .links article .overlay h4 {\n transform: rotate(0deg);\n left: 30px;\n bottom: 25px;\n }\n}\n\n.cta-row {\n position: relative;\n background-color: #78A2DB;\n}\n\n@media screen and (min-width: 1001px) {\n .cta-row {\n background: linear-gradient(90deg, #78A2DB 0%, #78A2DB 49.9%, rgba(0, 0, 0, 0.25) 50%, #D8D8D8 52%, #D8D8D8 100%);\n }\n}\n\n.cta-row .basic-hint {\n color: white;\n font-size: 0.8rem;\n line-height: 1.2;\n width: 100%;\n max-width: 800px;\n margin: 0 auto;\n padding: 1rem 0;\n}\n\n.cta-row .cta-trigger, .cta-row .cta-trigger-2 {\n display: inline-block;\n padding: 65px 0;\n}\n\n.cta-row .cta-trigger h3, .cta-row .cta-trigger-2 h3 {\n color: #052B67;\n font-size: 1.6rem;\n font-family: \"Droid Sans\", sans-serif;\n line-height: 1.4;\n margin: 0 0 10px;\n}\n\n.cta-row .cta-trigger p, .cta-row .cta-trigger-2 p {\n color: white;\n font-size: 0.7rem;\n margin: 0;\n text-transform: uppercase;\n}\n\n.cta-row .cta-trigger .button, .cta-row .cta-trigger-2 .button {\n margin-top: 30px;\n}\n\n.cta-row .cta-trigger {\n margin-left: 8.33333333%;\n width: 41.66666667%;\n}\n\n.cta-row .cta-trigger-2 {\n width: 50%;\n padding-left: 100px;\n}\n\n.cta-row .cta-person {\n display: inline-block;\n width: 50%;\n padding: 65px 0 65px 50px;\n}\n\n@media screen and (max-width: 1000px) {\n .cta-row .cta-person {\n background-color: #D8D8D8;\n }\n}\n\n.cta-row .cta-person .wrapper {\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: flex-start;\n -moz-justify-content: flex-start;\n -ms-justify-content: flex-start;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n justify-content: flex-start;\n align-items: center;\n z-index: 0;\n}\n\n.cta-row .cta-person .image-placeholder {\n width: 175px;\n}\n\n.cta-row .cta-person .image-placeholder figure {\n position: relative;\n width: 100%;\n padding-bottom: 100%;\n height: 0;\n}\n\n.cta-row .cta-person .image-placeholder figure span {\n position: absolute;\n border-radius: 100%;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-position: center;\n background-size: cover;\n}\n\n.cta-row .cta-person .contact-info {\n width: calc(100% - 175px);\n padding-left: 25px;\n}\n\n.cta-row .cta-person .contact-info p {\n margin: 0;\n color: #052B67;\n font-size: 1.4rem;\n font-family: \"Droid Sans\", sans-serif;\n font-weight: 700;\n}\n\n.cta-row .cta-person .contact-info span {\n display: block;\n color: #78A2DB;\n text-transform: uppercase;\n font-size: 0.8rem;\n}\n\n.cta-row .cta-person .contact-info a {\n display: block;\n margin-top: 15px;\n font-size: 0.9rem;\n color: white;\n text-decoration: none;\n}\n\n@media screen and (max-width: 1000px) {\n .cta-row .grid-row {\n height: auto;\n display: block;\n width: 100%;\n }\n .cta-row .grid-row:before, .cta-row .grid-row:after {\n display: none;\n }\n .cta-row .cta-trigger, .cta-row .cta-trigger-2, .cta-row .cta-person {\n width: 100%;\n padding: 65px 7.14285714%;\n }\n .cta-row .cta-trigger {\n margin-left: 0;\n }\n}\n\n@media screen and (max-width: 475px) {\n .cta-row .cta-trigger br, .cta-row .cta-trigger-2 br {\n display: none;\n }\n .cta-row .cta-person {\n padding: 40px 7.14285714%;\n text-align: center;\n }\n .cta-row .cta-person .wrapper {\n display: block;\n }\n .cta-row .cta-person .image-placeholder {\n display: inline-block;\n margin-bottom: 25px;\n }\n .cta-row .cta-person .contact-info {\n padding-left: 0;\n width: 100%;\n }\n}\n\n.person-container {\n background: linear-gradient(to top, #6b8fbf 0, #78A2DB 15px);\n padding: 75px 0;\n}\n\n.person-container .person-row + .person-row {\n margin-top: 40px;\n}\n\n@media screen and (min-width: 901px) {\n .person-container .person {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n}\n\n.person-container .person .image {\n margin-top: 0;\n}\n\n.person-container .person h2 {\n color: #FFE2CC;\n margin-bottom: 0;\n}\n\n@media screen and (min-width: 901px) {\n .person-container .person h2 {\n margin-top: 0;\n }\n}\n\n.person-container .person p {\n color: #EFF1ED;\n margin: 0;\n}\n\n.person-container .person__title {\n margin-top: 0;\n margin-bottom: 30px;\n font-size: 1.4rem;\n line-height: 1.4;\n color: #EFF1ED;\n}\n\n.steps-slider {\n padding: 100px 0;\n text-align: center;\n}\n\n.steps-slider .grid-row > h2 {\n font-size: 2rem;\n line-height: 1.2;\n color: #78A2DB;\n}\n\n.steps-slider .slider-nav {\n position: relative;\n display: inline-block;\n list-style: none;\n padding: 0;\n margin: 45px auto 0;\n}\n\n.steps-slider .slider-nav:before {\n content: '';\n position: absolute;\n left: 0;\n top: calc(50% - 1px);\n height: 2px;\n width: 100%;\n background-color: #78A2DB;\n}\n\n.steps-slider .slider-nav .slide-nav-item {\n position: relative;\n z-index: 1;\n display: inline-block;\n padding: 12px 18px;\n margin-left: 14px;\n background-color: white;\n border: 2px solid #78A2DB;\n border-radius: 12px;\n font-size: 1.1rem;\n line-height: 1.2;\n font-weight: 700;\n color: #78A2DB;\n cursor: pointer;\n transition: color 0.4s, background 0.4s;\n}\n\n.steps-slider .slider-nav .slide-nav-item:first-child {\n margin-left: 0;\n}\n\n.steps-slider .slider-nav .slide-nav-item p {\n margin: 0;\n}\n\n.steps-slider .slider-nav .slide-nav-item:hover {\n background-color: #e6e5e5;\n}\n\n.steps-slider .slider-nav .slide-nav-item.active {\n background-color: #78A2DB;\n color: white;\n}\n\n.steps-slider .slides {\n position: relative;\n max-width: 600px;\n min-height: 150px;\n margin: 50px auto 0;\n}\n\n.steps-slider .slides .slide {\n position: absolute;\n z-index: 1;\n top: 0;\n left: 0;\n display: block;\n width: 100%;\n opacity: 0;\n font-size: 0.85rem;\n line-height: 1.6;\n transform: translate3d(0, 20px, 0);\n transition: opacity 0.4s, transform 0.4s;\n}\n\n.steps-slider .slides .slide.active {\n z-index: 2;\n opacity: 1;\n transform: translate3d(0, 0, 0);\n}\n\n.steps-slider .slides .slide h4 {\n display: none;\n font-size: 1.3rem;\n line-height: 1.2;\n font-weight: 700;\n}\n\n.steps-slider .slides .navigation-buttons .nav-item {\n position: absolute;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: center;\n -moz-justify-content: center;\n -ms-justify-content: center;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n justify-content: center;\n align-items: center;\n bottom: 0;\n width: 35px;\n height: 35px;\n cursor: pointer;\n border-radius: 100%;\n transition: background 0.3s;\n}\n\n.steps-slider .slides .navigation-buttons .nav-item span {\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: center;\n -moz-justify-content: center;\n -ms-justify-content: center;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n justify-content: center;\n align-items: center;\n height: 16px;\n width: 16px;\n transform-origin: center;\n transition: transform 0.3s;\n}\n\n.steps-slider .slides .navigation-buttons .nav-item span .arrow-icon {\n position: relative;\n width: 10px;\n height: 16px;\n transform-origin: center;\n}\n\n.steps-slider .slides .navigation-buttons .nav-item span .arrow-icon .st0 {\n fill: white;\n}\n\n.steps-slider .slides .navigation-buttons .nav-item.previous {\n background-color: #ff9600;\n right: calc(50% + 3px);\n}\n\n.steps-slider .slides .navigation-buttons .nav-item.previous span .arrow-icon {\n transform: rotate(90deg);\n}\n\n.steps-slider .slides .navigation-buttons .nav-item.previous:hover {\n background-color: #ffa11a;\n}\n\n.steps-slider .slides .navigation-buttons .nav-item.next {\n background-color: #78A2DB;\n left: calc(50% + 3px);\n}\n\n.steps-slider .slides .navigation-buttons .nav-item.next span .arrow-icon {\n transform: rotate(270deg);\n}\n\n.steps-slider .slides .navigation-buttons .nav-item.next:hover {\n background-color: #5086d0;\n}\n\n@media screen and (max-width: 975px) {\n .steps-slider {\n padding: 0;\n }\n .steps-slider .grid-row {\n width: 100%;\n }\n .steps-slider .grid-row > h2 {\n padding: 50px 0;\n }\n .steps-slider .slider-nav {\n display: none;\n }\n .steps-slider .slides {\n margin-top: 0;\n max-width: none;\n height: auto !important;\n }\n .steps-slider .slides .slide {\n position: relative;\n height: auto !important;\n opacity: 1;\n padding: 40px 8.33333333%;\n transform: translate3d(0, 0, 0) !important;\n background-color: white;\n }\n .steps-slider .slides .slide:nth-of-type(odd) {\n background-color: #f2f2f2;\n }\n .steps-slider .slides .slide .content {\n text-align: left;\n }\n}\n\n.index-grid-row {\n position: relative;\n}\n\n.index-grid-row::after {\n content: '';\n position: absolute;\n z-index: -1;\n top: 0;\n left: 0;\n background: #EFF1ED;\n height: 300px;\n width: 100%;\n}\n\n@media screen and (max-width: 600px) {\n .index-grid-row:after {\n display: none;\n }\n}\n\n.index-grid-row .no-available {\n padding: 60px 20px 0;\n text-align: center;\n color: white;\n}\n\n.index-grid-row .pagination {\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: center;\n -moz-justify-content: center;\n -ms-justify-content: center;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n justify-content: center;\n align-items: center;\n margin: 0;\n padding: 0 0 40px;\n font-size: 0.9rem;\n line-height: 1.2;\n list-style: none;\n font-weight: 600;\n}\n\n.index-grid-row .pagination li {\n margin: 0 6px;\n}\n\n.index-grid-row .pagination li a {\n color: #BCDAFF;\n text-decoration: none;\n}\n\n.index-grid-row .pagination li.active span {\n color: white;\n}\n\n.index-grid-row .pagination li:first-of-type a, .index-grid-row .pagination li:first-of-type span, .index-grid-row .pagination li:last-of-type a, .index-grid-row .pagination li:last-of-type span {\n position: relative;\n top: 0;\n display: block;\n font-size: 0;\n}\n\n.index-grid-row .pagination li:first-of-type a .arrow-icon, .index-grid-row .pagination li:first-of-type span .arrow-icon, .index-grid-row .pagination li:last-of-type a .arrow-icon, .index-grid-row .pagination li:last-of-type span .arrow-icon {\n position: relative;\n width: 10px;\n height: 16px;\n transform-origin: center;\n transform: rotate(-90deg);\n}\n\n.index-grid-row .pagination li:first-of-type a .arrow-icon .st0, .index-grid-row .pagination li:first-of-type span .arrow-icon .st0, .index-grid-row .pagination li:last-of-type a .arrow-icon .st0, .index-grid-row .pagination li:last-of-type span .arrow-icon .st0 {\n fill: #BCDAFF;\n}\n\n.index-grid-row .pagination li:first-of-type a, .index-grid-row .pagination li:first-of-type span {\n transform: scale3d(-1, 1, 1);\n}\n\n.index-grid-row .pagination li.disabled {\n opacity: 0.2;\n pointer-events: none;\n}\n\n.index-grid-row .pagination li.disabled .arrow-icon {\n position: relative;\n width: 10px;\n height: 16px;\n transform-origin: center;\n transform: rotate(-90deg);\n}\n\n.index-grid-row .pagination li.disabled .arrow-icon .st0 {\n fill: rgba(188, 218, 255, 0.3);\n}\n\n.large-badges-grid .overview {\n padding: 60px 0 0;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: space-between;\n -moz-justify-content: space-between;\n -ms-justify-content: space-between;\n -webkit-align-items: flex-start;\n -moz-align-items: flex-start;\n -ms-align-items: flex-start;\n justify-content: space-between;\n align-items: flex-start;\n -webkit-flex-wrap: wrap;\n -ms-flex-wrap: wrap;\n -webkit-flex-direction: row;\n -ms-flex-direction: row;\n -webkit-flex-flow: row wrap;\n}\n\n.large-badges-grid .overview article {\n margin: 0 15px 60px;\n}\n\n@media screen and (max-width: 480px) {\n .large-badges-grid .overview article {\n margin: 0 0 30px;\n }\n}\n\n@supports (display: flex) {\n .large-badges-grid .overview {\n display: grid;\n grid-template-columns: 1fr 1fr 1fr;\n grid-gap: 60px 60px;\n padding-bottom: 60px;\n }\n .large-badges-grid .overview.first-page {\n grid-template-rows: 1fr 1fr 1fr;\n grid-template-areas: \"first first item-2\" \"first first item-3\" \"item-4 item-5 item-6\";\n }\n .large-badges-grid .overview.first-page article:first-child {\n grid-area: first;\n }\n .large-badges-grid .overview article {\n margin: 0;\n }\n @media screen and (max-width: 1700px) {\n .large-badges-grid .overview {\n grid-gap: 30px 30px;\n }\n }\n @media screen and (max-width: 1000px) {\n .large-badges-grid .overview {\n grid-gap: 60px 60px;\n grid-template-columns: 1fr 1fr;\n }\n .large-badges-grid .overview.first-page {\n grid-template-areas: \"first first\" \"first first\";\n }\n }\n @media screen and (max-width: 950px) {\n .large-badges-grid .overview {\n grid-gap: 30px 30px;\n }\n }\n @media screen and (max-width: 840px) {\n .large-badges-grid .overview {\n display: block;\n max-width: 520px;\n margin-left: auto;\n margin-right: auto;\n }\n .large-badges-grid .overview article {\n margin-bottom: 30px;\n }\n }\n}\n\n.large-badges-grid article {\n width: 100%;\n max-width: 520px;\n background: #78A2DB;\n box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.2);\n font-size: 1rem;\n line-height: 1.6;\n}\n\n@supports (display: flex) {\n .large-badges-grid article {\n height: 100%;\n max-width: none;\n }\n .large-badges-grid article a {\n height: 100%;\n padding-bottom: 0;\n }\n}\n\n@media screen and (max-width: 600px) {\n .large-badges-grid article {\n font-size: 0.9rem;\n }\n}\n\n.large-badges-grid article a {\n display: block;\n position: relative;\n width: 100%;\n height: 0;\n padding-bottom: 65%;\n text-decoration: none;\n}\n\n@supports (display: flex) {\n .large-badges-grid article a {\n height: 100%;\n }\n}\n\n.large-badges-grid article a figure {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n}\n\n.large-badges-grid article a figure:before {\n content: '';\n position: absolute;\n z-index: 1;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background: #78A2DB;\n opacity: 0.6;\n transition: opacity 0.4s;\n}\n\n.large-badges-grid article a figure span {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background-size: cover;\n background-position: center;\n display: none;\n}\n\n.large-badges-grid article a figure span.medium {\n display: block;\n}\n\n.large-badges-grid article a .date {\n position: absolute;\n left: 8%;\n top: 12%;\n z-index: 3;\n font-size: 3em;\n font-weight: 700;\n line-height: 1;\n color: #BCDAFF;\n transition: color 0.4s;\n}\n\n@media screen and (max-width: 950px) {\n .large-badges-grid article a .date {\n font-size: 2.5em;\n }\n}\n\n@media screen and (max-width: 950px) {\n .large-badges-grid article a .date {\n font-size: 2em;\n }\n}\n\n.large-badges-grid article a h2 {\n position: absolute;\n z-index: 4;\n width: calc(80% - 10px);\n left: 9%;\n bottom: 9%;\n color: white;\n font-size: 1.1em;\n line-height: 1.4;\n font-weight: 600;\n transition: color 0.4s;\n}\n\n.large-badges-grid article a h2 .arrow {\n position: absolute;\n z-index: 2;\n width: 15px;\n right: -20px;\n bottom: -7px;\n transform: translate3d(0, 0, 0);\n transition: transform 0.4s;\n}\n\n.large-badges-grid article a h2 .arrow .arrow-icon {\n width: 100%;\n transform-origin: center;\n transform: rotate(270deg);\n}\n\n.large-badges-grid article a h2 .arrow .arrow-icon .st0 {\n fill: #BCDAFF;\n transition: fill 0.4s;\n}\n\n.large-badges-grid article:hover a figure:before {\n opacity: 0.2;\n}\n\n.large-badges-grid article:hover a .arrow {\n transform: translate3d(5px, 0, 0);\n}\n\n.large-badges-grid article:hover a .arrow .arrow-icon .st0 {\n fill: white;\n}\n\n.large-badges-grid article:hover a h2, .large-badges-grid article:hover a .date {\n color: white;\n}\n\n@media screen and (max-width: 480px) {\n .large-badges-grid article a {\n height: auto;\n padding-bottom: 0;\n }\n .large-badges-grid article a figure {\n position: relative;\n height: 0;\n padding-bottom: 65%;\n }\n .large-badges-grid article a .arrow {\n display: none;\n }\n .large-badges-grid article a h2 {\n position: relative;\n width: 100%;\n left: 0;\n bottom: 0;\n padding: 20px 15px;\n }\n}\n\n.first-page .large-badges-grid article#post-0 a {\n padding: 5% 8%;\n}\n\n.ie .first-page .large-badges-grid article#post-0 a {\n padding: 0 0 65% !important;\n}\n\n.ie .first-page .large-badges-grid article#post-0 a .date {\n font-size: 3em !important;\n}\n\n.ie .first-page .large-badges-grid article#post-0 a h2 {\n font-size: 1.1em !important;\n}\n\n@media screen and (max-width: 480px) {\n .ie .first-page .large-badges-grid article#post-0 a {\n padding-bottom: 0 !important;\n height: auto;\n }\n}\n\n.first-page .large-badges-grid article#post-0 a figure span.medium {\n display: none;\n}\n\n.first-page .large-badges-grid article#post-0 a figure span.large {\n display: block;\n}\n\n@media screen and (max-width: 950px) {\n .first-page .large-badges-grid article#post-0 a figure span.large {\n display: none;\n }\n .first-page .large-badges-grid article#post-0 a figure span.medium {\n display: block;\n }\n}\n\n.first-page .large-badges-grid article#post-0 a .date {\n top: 8%;\n font-size: 3.75em;\n}\n\n.first-page .large-badges-grid article#post-0 a h2 {\n font-size: 2em;\n padding-right: 15% !important;\n}\n\n@media screen and (max-width: 1750px) {\n .first-page .large-badges-grid article#post-0 a h2 {\n padding-right: 15%;\n }\n}\n\n@media screen and (max-width: 840px) {\n .first-page .large-badges-grid article#post-0 a {\n padding: 0 0 65%;\n }\n .first-page .large-badges-grid article#post-0 a .date {\n top: 12%;\n font-size: 2em;\n }\n .first-page .large-badges-grid article#post-0 a h2 {\n font-size: 1.1em;\n padding-right: 20px !important;\n }\n}\n\n@media screen and (max-width: 480px) {\n .first-page .large-badges-grid article#post-0 a {\n height: auto;\n padding-bottom: 0;\n }\n}\n\n.squares-grid .overview {\n padding: 60px 0 0;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: space-between;\n -moz-justify-content: space-between;\n -ms-justify-content: space-between;\n -webkit-align-items: flex-start;\n -moz-align-items: flex-start;\n -ms-align-items: flex-start;\n justify-content: space-between;\n align-items: flex-start;\n -webkit-flex-wrap: wrap;\n -ms-flex-wrap: wrap;\n -webkit-flex-direction: row;\n -ms-flex-direction: row;\n -webkit-flex-flow: row wrap;\n}\n\n.squares-grid .overview article {\n margin: 0 15px 60px;\n}\n\n@media screen and (max-width: 480px) {\n .squares-grid .overview article {\n margin: 0 0 30px;\n }\n}\n\n@supports (display: flex) {\n .squares-grid .overview {\n display: grid;\n grid-template-columns: 1fr 1fr 1fr;\n grid-gap: 60px 60px;\n padding-bottom: 60px;\n }\n .squares-grid .overview article {\n margin: 0;\n }\n @media screen and (max-width: 1700px) {\n .squares-grid .overview {\n grid-gap: 30px 30px;\n }\n }\n @media screen and (max-width: 1000px) {\n .squares-grid .overview {\n grid-gap: 60px 60px;\n grid-template-columns: 1fr 1fr;\n }\n }\n @media screen and (max-width: 950px) {\n .squares-grid .overview {\n grid-gap: 30px 30px;\n }\n }\n @media screen and (max-width: 800px) {\n .squares-grid .overview {\n display: block;\n max-width: 520px;\n margin-left: auto;\n margin-right: auto;\n }\n }\n}\n\n.squares-grid article {\n width: 100%;\n max-width: 520px;\n font-size: 1rem;\n line-height: 1.6;\n}\n\n@supports (display: flex) {\n .squares-grid article {\n height: 100%;\n max-width: none;\n }\n}\n\n@media screen and (max-width: 600px) {\n .squares-grid article {\n font-size: 0.9rem;\n }\n}\n\n.squares-grid article a {\n display: block;\n position: relative;\n width: 100%;\n text-decoration: none;\n}\n\n.squares-grid article figure {\n position: relative;\n z-index: 2;\n width: 100%;\n height: 0;\n padding-bottom: 100%;\n background: #052B67;\n box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.2);\n}\n\n.squares-grid article figure .image {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background-size: cover;\n background-position: center;\n}\n\n.squares-grid article figure .styling {\n position: absolute;\n right: 0;\n bottom: 0;\n height: 68px;\n width: 68px;\n border-color: transparent;\n border-style: solid;\n border-width: 50px;\n border-right: 50px solid #78A2DB;\n border-bottom: 50px solid #78A2DB;\n transition: all 0.3s cubic-bezier(0.49, 0.08, 0.11, 1);\n pointer-events: none;\n}\n\n.squares-grid article figure .styling .arrow {\n position: absolute;\n right: -25px;\n bottom: -40px;\n display: inline-block;\n width: 11px;\n}\n\n.squares-grid article figure .styling .arrow .arrow-icon {\n transform-origin: center;\n transform: rotate(-90deg);\n max-height: 20px;\n}\n\n.squares-grid article figure .styling .arrow .arrow-icon .st0 {\n fill: white;\n}\n\n.squares-grid article h2 {\n text-align: center;\n font-size: 1.1rem;\n line-height: 1.2;\n color: #052B67;\n font-weight: normal;\n}\n\n.squares-grid article:hover figure .styling {\n width: 100%;\n height: 100%;\n border-color: rgba(120, 162, 219, 0.6);\n transition: all 0.3s cubic-bezier(0.49, 0.08, 0.11, 1);\n}\n\n@media screen and (max-width: 800px) {\n .squares-grid article + article {\n margin-top: 30px !important;\n }\n .squares-grid article figure {\n padding-bottom: 66.67%;\n }\n}\n\n.list-row .grid-row {\n padding: 60px 0 100px;\n max-width: 1000px;\n}\n\n@media screen and (max-width: 880px) {\n .list-row .grid-row {\n padding-top: 100px;\n }\n}\n\n.list-row .grid-row h1 {\n margin: 0 0 60px;\n font-size: 1.6rem;\n line-height: 1.2;\n color: #B2B2B2;\n text-align: center;\n}\n\n.list-row .list article + article {\n margin-top: 40px;\n}\n\n.list-row .list article a {\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: flex-start;\n -moz-justify-content: flex-start;\n -ms-justify-content: flex-start;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n justify-content: flex-start;\n align-items: center;\n background: white;\n text-decoration: none;\n border: 2px solid transparent;\n transition: border 0.3s;\n}\n\n.list-row .list article a .date {\n display: block;\n padding: 15px 40px;\n border-right: 1px solid #eaeaea;\n font-size: 1.8rem;\n font-weight: 700;\n line-height: 1;\n color: #B2B2B2;\n transition: color 0.4s;\n}\n\n.list-row .list article a figure {\n width: 120px;\n margin-left: 25px;\n border-radius: 10px;\n overflow: hidden;\n}\n\n.list-row .list article a figure img {\n width: 100%;\n}\n\n.list-row .list article a .content {\n padding: 25px;\n width: calc(100% - 122px);\n}\n\n.list-row .list article a .content.with-image {\n width: calc(100% - 268px);\n}\n\n.list-row .list article a .content h2 {\n margin: 0 0 6px;\n font-size: 1.1rem;\n line-height: 1.2;\n color: #B2B2B2;\n font-weight: bold;\n}\n\n.list-row .list article a .content .read-more {\n font-size: 1rem;\n line-height: 1.2;\n color: #78A2DB;\n font-weight: bold;\n}\n\n.list-row .list article a .content .read-more .arrow {\n position: relative;\n top: 2px;\n display: inline-block;\n margin-left: 10px;\n width: 12px;\n transform: translate3d(0, 0, 0);\n transition: transform 0.3s;\n}\n\n.list-row .list article a .content .read-more .arrow .arrow-icon {\n max-height: 18px;\n transform-origin: center;\n transform: rotate(270deg);\n}\n\n.list-row .list article a .content .read-more .arrow .arrow-icon path {\n fill: #78A2DB;\n}\n\n.list-row .list article a:hover {\n border-color: #78A2DB;\n}\n\n.list-row .list article a:hover .content .read-more .arrow {\n transform: translate3d(5px, 0, 0);\n}\n\n@media screen and (max-width: 740px) {\n .list-row .list article a figure {\n display: none;\n }\n .list-row .list article a .date {\n font-size: 1.5rem;\n padding: 15px 25px;\n }\n .list-row .list article a .content {\n width: calc(100% - 85px);\n }\n .list-row .list article a .content.with-image {\n width: calc(100% - 85px);\n }\n .list-row .list article a .content h2 {\n font-size: 0.9rem;\n }\n .list-row .list article a .content .read-more {\n font-size: 0.8rem;\n }\n}\n\n.show-sub-menu {\n color: #052B67;\n}\n\n.show-sub-menu > p {\n font-size: 1rem;\n line-height: 1.2;\n margin: 0 0 1.5rem;\n}\n\n.show-sub-menu ul {\n list-style: none;\n padding: 0;\n margin: 0;\n}\n\n.show-sub-menu ul li {\n font-size: 0.9rem;\n line-height: 1.2;\n border-bottom: 1px solid rgba(120, 162, 219, 0.35);\n}\n\n.show-sub-menu ul li a {\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: space-between;\n -moz-justify-content: space-between;\n -ms-justify-content: space-between;\n -webkit-align-items: flex-start;\n -moz-align-items: flex-start;\n -ms-align-items: flex-start;\n justify-content: space-between;\n align-items: flex-start;\n text-decoration: none;\n color: #052B67;\n padding: 15px 0;\n transition: all 0.3s;\n}\n\n.show-sub-menu ul li a p {\n margin: 0;\n width: calc(100% - 27px);\n}\n\n.show-sub-menu ul li a .arrow {\n position: relative;\n right: 4px;\n top: 1px;\n display: inline-block;\n width: 9px;\n transform: translate3d(0, 0, 0);\n transition: transform 0.5s;\n}\n\n.show-sub-menu ul li a .arrow svg {\n width: 100%;\n max-height: 18px;\n transform-origin: center;\n transform: rotate(270deg);\n}\n\n.show-sub-menu ul li a .arrow svg.arrow-icon .st0 {\n fill: #052B67;\n}\n\n.show-sub-menu ul li a:hover {\n color: rgba(5, 43, 103, 0.5);\n}\n\n.show-sub-menu ul li a:hover .arrow {\n transform: scale(1.4) translateX(6px);\n}\n\n.show-sub-menu ul li.active a {\n color: #78A2DB;\n}\n\n.show-model-detail {\n position: relative;\n overflow: hidden;\n background: #E6E6E6;\n}\n\n.show-model-detail .return-to-overview {\n background-color: #78A2DB;\n padding: 20px 7.14285714%;\n text-decoration: none;\n display: none;\n width: 100%;\n}\n\n.show-model-detail .return-to-overview .arrow {\n position: relative;\n top: 1px;\n left: 4px;\n display: block;\n width: 12px;\n margin-right: 25px;\n transform: translate3d(0, 0, 0);\n transition: transform 0.3s;\n}\n\n.show-model-detail .return-to-overview .arrow svg {\n max-height: 15px;\n}\n\n.show-model-detail .return-to-overview .arrow .arrow-icon {\n width: 100%;\n transform: rotate(90deg);\n transform-origin: center;\n}\n\n.show-model-detail .return-to-overview .arrow .arrow-icon .st0 {\n fill: white;\n}\n\n.show-model-detail .return-to-overview p {\n font-size: 0.8rem;\n color: white;\n margin: 0;\n font-weight: 600;\n}\n\n.show-model-detail .return-to-overview:hover .arrow {\n transform: translate3d(-5px, 0, 0);\n}\n\n.show-model-detail .show-sub-menu {\n position: relative;\n z-index: 3;\n display: inline-block;\n width: 33.33333333%;\n padding: 116px 50px 80px 0;\n vertical-align: top;\n}\n\n.show-model-detail .dynamic-content {\n position: relative;\n z-index: 2;\n display: inline-block;\n width: 66.66666667%;\n padding: 80px 0;\n vertical-align: top;\n}\n\n.show-model-detail .dynamic-content::after {\n content: '';\n position: absolute;\n z-index: -1;\n display: block;\n width: 116.66666667%;\n height: 200vh;\n background-color: white;\n right: -16.66666667%;\n top: 0;\n}\n\n.show-model-detail .dynamic-content .kms-content .button {\n margin-top: 40px;\n}\n\n.show-model-detail .dynamic-content .dynamic-block.full-text-block .content {\n margin-left: 0;\n text-align: left;\n}\n\n@media screen and (max-width: 900px) {\n .show-model-detail {\n background-color: transparent;\n }\n .show-model-detail .grid-row {\n width: 100%;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: flex-start;\n -moz-justify-content: flex-start;\n -ms-justify-content: flex-start;\n -webkit-align-items: flex-start;\n -moz-align-items: flex-start;\n -ms-align-items: flex-start;\n justify-content: flex-start;\n align-items: flex-start;\n -webkit-flex-wrap: wrap;\n -ms-flex-wrap: wrap;\n -webkit-flex-direction: row;\n -ms-flex-direction: row;\n -webkit-flex-flow: row wrap;\n }\n .show-model-detail .return-to-overview {\n -webkit-order: 1;\n -ms-order: 1;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: flex-start;\n -moz-justify-content: flex-start;\n -ms-justify-content: flex-start;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n justify-content: flex-start;\n align-items: center;\n }\n .show-model-detail .dynamic-content {\n -webkit-order: 2;\n -ms-order: 2;\n width: 100%;\n padding: 40px 7.14285714%;\n }\n}\n\n@media screen and (max-width: 900px) and (max-width: 900px) {\n .show-model-detail .dynamic-content::after {\n display: none;\n }\n}\n\n@media screen and (max-width: 900px) {\n .show-model-detail .show-sub-menu {\n -webkit-order: 3;\n -ms-order: 3;\n background-color: #E6E6E6;\n width: 100%;\n padding: 80px 7.14285714%;\n }\n}\n\n@media screen and (min-width: 901px) {\n .show-model-detail.overview-page {\n background-color: #78A2DB;\n }\n}\n\n.show-model-detail.overview-page .background-image {\n content: '';\n position: absolute;\n top: 0;\n right: -25%;\n width: 50%;\n height: 100%;\n background-repeat: no-repeat;\n background-position: right center;\n background-size: cover;\n}\n\n.show-model-detail.overview-page .dynamic-content {\n width: 58.33333333%;\n}\n\n@media screen and (max-width: 900px) {\n .show-model-detail.overview-page .dynamic-content {\n width: 100%;\n }\n .show-model-detail.overview-page .background-image {\n display: none;\n }\n}\n\n@media screen and (max-width: 750px) {\n .show-model-detail {\n padding-top: 60px;\n }\n}\n\n/* ==========================================================================\n Home page\n @mixin ========================================================================= */\n#home header:after {\n display: none;\n}\n\n/*==========================================================================\n Contact page\n @mixin ========================================================================= */\n#contact #map {\n width: 100%;\n height: 450px;\n}\n\n#contact .contact-content {\n position: relative;\n background-color: #78A2DB;\n}\n\n#contact .contact-content:after {\n content: '';\n position: absolute;\n right: 0;\n top: 0;\n display: block;\n width: 50%;\n height: 100%;\n background-color: white;\n}\n\n#contact .contact-content .contact-info, #contact .contact-content .contact-form {\n position: relative;\n z-index: 1;\n}\n\n#contact .contact-content .contact-info {\n width: 41.66666667%;\n padding: 72px 0 100px 8.33333333%;\n color: white;\n}\n\n#contact .contact-content .contact-info h1 {\n font-size: 2rem;\n line-height: 1.4;\n margin: 0 0 32px;\n color: #E6E6E6;\n font-family: \"Droid Sans\", sans-serif;\n}\n\n#contact .contact-content .contact-info h3 {\n font-size: 0.8rem;\n line-height: 1.2;\n margin: 100px 0 15px;\n font-weight: normal;\n}\n\n#contact .contact-content .contact-info p, #contact .contact-content .contact-info a {\n margin-bottom: 0;\n font-size: 0.8rem;\n}\n\n#contact .contact-content .contact-info a {\n text-decoration: none;\n transition: color 0.2s;\n color: white;\n}\n\n#contact .contact-content .contact-info a:hover {\n color: #BCDAFF;\n}\n\n#contact .contact-content .contact-info .contact-data {\n display: flex;\n margin-top: 0;\n margin-left: calc(-13px - 18px);\n}\n\n#contact .contact-content .contact-info .contact-data::before {\n content: '';\n display: block;\n width: 13px;\n height: 15px;\n margin-right: 18px;\n transform: translateY(7px);\n background-repeat: no-repeat;\n background-image: url(/img/contact-address.svg);\n}\n\n#contact .contact-content .contact-info .contact-data--phone {\n margin-top: 20px;\n}\n\n#contact .contact-content .contact-info .contact-data--phone::before {\n background-image: url(/img/contact-phone.svg);\n}\n\n#contact .contact-content .contact-info .contact-data--mail::before {\n background-image: url(/img/contact-mail.svg);\n transform: translateY(9px);\n height: 10px;\n}\n\n#contact .contact-content .contact-info .contact-data--download::before {\n background-image: url(/img/icon-pdf.svg);\n transform: translateY(6px);\n}\n\n#contact .contact-content .contact-info .contact-downloads {\n margin-top: 20px;\n}\n\n@media screen and (max-width: 1100px) {\n #contact .contact-content .contact-info {\n width: 41.66666667%;\n margin-left: 0;\n }\n}\n\n#contact .contact-content .contact-form {\n position: relative;\n display: inline-block;\n margin-left: 8.33333333%;\n width: 50%;\n padding: 72px 0 100px 8.33333333%;\n vertical-align: top;\n}\n\n#contact .contact-content .contact-form h2 {\n margin: 0 0 20px;\n font-size: 2rem;\n line-height: 1.4;\n color: #052B67;\n font-family: \"Droid Sans\", sans-serif;\n}\n\n#contact .contact-content .contact-form > p {\n font-size: 0.9rem;\n line-height: 1.2;\n}\n\n@media screen and (max-width: 840px) {\n #contact .contact-content .grid-row {\n width: 100%;\n }\n #contact .contact-content .background {\n display: none;\n }\n #contact .contact-content .contact-info {\n width: 100%;\n padding: 102px 8.33333333% 100px 12.5%;\n background-color: #78A2DB;\n }\n #contact .contact-content .contact-info h3 {\n margin-top: 60px;\n }\n #contact .contact-content .contact-form {\n width: 100%;\n padding-right: 8.33333333%;\n margin-left: 0;\n background-color: white;\n }\n}\n\nbody.default .dynamic-content {\n padding: 60px 0 120px;\n}\n\nbody.default .dynamic-content .dynamic-block {\n margin-left: 8.33333333%;\n margin-right: 8.33333333%;\n}\n\nbody.default .dynamic-content .dynamic-block.full-text-block .content {\n text-align: left;\n}\n\nbody.default .dynamic-content .kms-content h4 {\n color: rgba(255, 255, 255, 0.5);\n}\n\nbody.default .dynamic-content .kms-content ul li:before {\n color: white;\n}\n\nbody.default .dynamic-content .kms-content ol li {\n color: white;\n}\n\nbody.default .dynamic-content .kms-content ol li:before {\n color: white;\n}\n\nbody.default .dynamic-content .kms-content a {\n text-decoration: none;\n}\n\nbody.default .dynamic-content .kms-content a:hover {\n color: rgba(255, 255, 255, 0.8);\n text-decoration: none;\n}\n\nbody.default .dynamic-content .kms-content .button {\n margin-top: 40px;\n}\n\nbody.default .dynamic-content .kms-content .button.right .arrow {\n margin-left: 30px;\n}\n\n#error-page-message {\n padding: 100px 0 100px;\n background-color: #eaeaea;\n}\n\n#error-page-message .grid-row .kms-content {\n width: 100%;\n text-align: center;\n}\n\n#error-page-message .grid-row .placeholder {\n max-width: 720px;\n margin: auto;\n}\n\n/*==========================================================================\n Sitemap page\n @mixin ========================================================================= */\n.sitemap ul {\n padding-left: 40px;\n padding-bottom: 20px;\n font-size: 0.85em;\n}\n\n.sitemap > ul {\n padding-left: 20px;\n}\n\n.sitemap li:before {\n top: 6px;\n}\n\n.sitemap li a {\n padding: 3px 0;\n border-bottom-color: transparent;\n border-bottom-style: dotted;\n display: block;\n}\n\n.sitemap li a:hover {\n border-bottom-color: rgba(5, 43, 103, 0.4);\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3N0eWxlLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL19nbG9iYWwuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvX2NvbmZpZy5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL19ib3VyYm9uLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vc2V0dGluZ3MvX3ByZWZpeGVyLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vc2V0dGluZ3MvX3B4LXRvLWVtLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vc2V0dGluZ3MvX2Fzc2V0LXBpcGVsaW5lLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vaGVscGVycy9fY29udmVydC11bml0cy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2hlbHBlcnMvX2ZvbnQtc291cmNlLWRlY2xhcmF0aW9uLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vaGVscGVycy9fZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlci5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2hlbHBlcnMvX2lzLW51bS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1hbmdsZS1wYXJzZXIuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9oZWxwZXJzL19saW5lYXItZ3JhZGllbnQtcGFyc2VyLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vaGVscGVycy9fbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9oZWxwZXJzL19saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vaGVscGVycy9fcmFkaWFsLWFyZy1wYXJzZXIuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9oZWxwZXJzL19yYWRpYWwtcG9zaXRpb25zLXBhcnNlci5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2hlbHBlcnMvX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9oZWxwZXJzL19yZW5kZXItZ3JhZGllbnRzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vaGVscGVycy9fc2hhcGUtc2l6ZS1zdHJpcHBlci5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2hlbHBlcnMvX3N0ci10by1udW0uc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9mdW5jdGlvbnMvX2Fzc2lnbi5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2Z1bmN0aW9ucy9fY29sb3ItbGlnaHRuZXNzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vZnVuY3Rpb25zL19jb250YWlucy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2Z1bmN0aW9ucy9faXMtbGVuZ3RoLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vZnVuY3Rpb25zL19pcy1zaXplLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vZnVuY3Rpb25zL19weC10by1lbS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2Z1bmN0aW9ucy9fcHgtdG8tcmVtLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vZnVuY3Rpb25zL19zdHJpcC11bml0cy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2Z1bmN0aW9ucy9fdGludC1zaGFkZS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2Z1bmN0aW9ucy9fdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vZnVuY3Rpb25zL191bnBhY2suc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9mdW5jdGlvbnMvX21vZHVsYXItc2NhbGUuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9jc3MzL19hbmltYXRpb24uc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9jc3MzL19hcHBlYXJhbmNlLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fYmFja2ZhY2UtdmlzaWJpbGl0eS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX2JhY2tncm91bmQuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9jc3MzL19iYWNrZ3JvdW5kLWltYWdlLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fYm9yZGVyLWltYWdlLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX2JveC1zaXppbmcuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9jc3MzL19jYWxjLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fY29sdW1ucy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX2ZpbHRlci5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX2ZsZXgtYm94LnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fZm9udC1mYWNlLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fZm9udC1mZWF0dXJlLXNldHRpbmdzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9faGlkcGktbWVkaWEtcXVlcnkuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9jc3MzL19oeXBoZW5zLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9faW1hZ2UtcmVuZGVyaW5nLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fa2V5ZnJhbWVzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fbGluZWFyLWdyYWRpZW50LnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vY3NzMy9fcGVyc3BlY3RpdmUuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9jc3MzL19wbGFjZWhvbGRlci5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX3JhZGlhbC1ncmFkaWVudC5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX3NlbGVjdGlvbi5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX3RleHQtZGVjb3JhdGlvbi5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX3RyYW5zZm9ybS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2NzczMvX3RyYW5zaXRpb24uc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9jc3MzL191c2VyLXNlbGVjdC5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2FkZG9ucy9fY2xlYXJmaXguc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9hZGRvbnMvX2RpcmVjdGlvbmFsLXZhbHVlcy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2FkZG9ucy9fZWxsaXBzaXMuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9hZGRvbnMvX2ZvbnQtZmFtaWx5LnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vYWRkb25zL19oaWRlLXRleHQuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9hZGRvbnMvX2h0bWw1LWlucHV0LXR5cGVzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL2JvdXJib24vYWRkb25zL19wb3NpdGlvbi5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2FkZG9ucy9fcHJlZml4ZXIuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9hZGRvbnMvX3JldGluYS1pbWFnZS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2FkZG9ucy9fc2l6ZS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2FkZG9ucy9fdGltaW5nLWZ1bmN0aW9ucy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL2FkZG9ucy9fdHJpYW5nbGUuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvYm91cmJvbi9hZGRvbnMvX3dvcmQtd3JhcC5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ib3VyYm9uL19ib3VyYm9uLWRlcHJlY2F0ZWQtdXBjb21pbmcuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvZnVuY3Rpb25zL19mdW5jdGlvbnMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvZnVuY3Rpb25zL19mb250cy5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9mdW5jdGlvbnMvX2dyaWQuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvbWl4aW5zL19taXhpbnMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvbWl4aW5zL19zcHJpdGUuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvbWl4aW5zL19tZWRpYVF1ZXJpZXMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvbWl4aW5zL19mbGV4LnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL21peGlucy9fcGxhY2Vob2xkZXIuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvX2Jhc2Uuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvZ3JpZC9fZ3JpZHMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvZ3JpZC9fZ3JpZC5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9ncmlkL192aXNpYmxlR3JpZC5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9wYXJ0aWFscy9fYnJlYWtwb2ludHMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL19jb25maWcuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL19iYXNlLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9faGVscGVycy5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvbWl4aW5zL19taXhpbnMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL21peGlucy9fY29va2llU3ByaXRlLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9taXhpbnMvX2ZsYWdzLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9fcGFydGlhbHMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL19oZWFkZXIuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL19mb290ZXIuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL19rbXNDb250ZW50LnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9fZm9ybS5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvX2ltYWdlU2xpZGVyLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9fY29va2llTWVzc2FnZS5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvX2Nvb2tpZVN3aXRjaC5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvZHluYW1pYy9fZHluYW1pYy5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvZHluYW1pYy9fdHdvVGV4dENvbHVtbi5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvZHluYW1pYy9fZnVsbEltYWdlQ29sdW1uLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9keW5hbWljL19jb250ZW50QmxvY2suc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL2R5bmFtaWMvX211bHRpcGxlSW1hZ2VzLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9keW5hbWljL19mdWxsVGV4dEJsb2NrLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9keW5hbWljL192aWRlb0Jsb2NrLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9tb2JpbGUvX21vYmlsZS5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvbW9iaWxlL19uYXZpZ2F0aW9uLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9tb2JpbGUvX2NvbnRhY3Quc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL21vYmlsZS9fc3RpY2t5TmF2aWdhdGlvbi5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvYmxvY2tzL19ibG9ja3Muc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL2Jsb2Nrcy9fbGFyZ2VIZWFkZXJJbWFnZS5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvYmxvY2tzL19jdGFDb250ZW50Um93LnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9ibG9ja3MvX3JlYXNvbnNSb3cuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL2Jsb2Nrcy9fZGlzY292ZXJSb3cuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL2Jsb2Nrcy9fY3RhUm93LnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9ibG9ja3MvX3BlcnNvbi5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvYmxvY2tzL19zdGVwc1NsaWRlci5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvb3ZlcnZpZXdzL19vdmVydmlld3Muc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL292ZXJ2aWV3cy9fbGFyZ2VCYWRnZXMuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhcnRpYWxzL292ZXJ2aWV3cy9fc3F1YXJlcy5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFydGlhbHMvb3ZlcnZpZXdzL19saXN0LnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9zaG93L19zaG93LnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9zaG93L19zdWJNZW51LnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYXJ0aWFscy9zaG93L19tb2RlbERldGFpbC5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFnZXMvX3BhZ2VzLnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYWdlcy9faG9tZS5zYXNzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL3NpdGUvcGFnZXMvX2NvbnRhY3Quc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhZ2VzL19kZWZhdWx0LnNhc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3Mvc2l0ZS9wYWdlcy9fZXJyb3Iuc2FzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9zaXRlL3BhZ2VzL19zaXRlbWFwLnNhc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gTG9hZCBkZWZhdWx0IHNldHRpbmdzIGFuZCBzdHlsaW5nXG5AaW1wb3J0IFwiLi4vZ2xvYmFsL2dsb2JhbFwiO1xuXG4vLyBFeHBlbmQvb3ZlcnJ1bGUgY29uZmlndXJhdGlvblxuQGltcG9ydCBcImNvbmZpZ1wiO1xuQGltcG9ydCBcImJhc2VcIjtcbkBpbXBvcnQgXCJoZWxwZXJzXCI7XG5AaW1wb3J0IFwibWl4aW5zL21peGluc1wiO1xuXG5cbi8vIExvYWQgZmlsZXMgdGhhdCB3cml0ZSBjc3NcbkBpbXBvcnQgXCJwYXJ0aWFscy9wYXJ0aWFsc1wiO1xuQGltcG9ydCBcInBhZ2VzL3BhZ2VzXCI7XG4iLCIvLyBMb2FkIGRlZmF1bHQgY29uZmlndXJhdGlvblxuQGltcG9ydCBcImNvbmZpZ1wiO1xuXG4vLyBMb2FkIEJvdXJib25cbkBpbXBvcnQgXCJib3VyYm9uL2JvdXJib25cIjtcblxuLy8gTG9hZCBkZWZhdWx0IGNvbmZpZ3VyYXRpb25cbkBpbXBvcnQgXCJmdW5jdGlvbnMvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwibWl4aW5zL21peGluc1wiO1xuQGltcG9ydCBcImJhc2VcIjtcblxuLy8gTG9hZCBncmlkc1xuQGltcG9ydCBcImdyaWQvZ3JpZHNcIjtcblxuLy8gTG9hZCBicmVha3BvaW50c1xuQGltcG9ydCBcInBhcnRpYWxzL2JyZWFrcG9pbnRzXCI7XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29uZmlnIHNldHRpbmdzXG4gICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBEZWZpbmUgZ3JpZCBjb2x1bW5zXG4gKlxuICogVGhlIGlubmVyIGdyaWQgaXMgdGhlIHNlY3Rpb24gd2hlcmUgdGhlIGNvbnRlbnQgaXNcbiAqIFRoZSBvdXRlciBncmlkIGlzIHRoZSBpbm5lciBncmlkIHdpdGggZXh0cmEgbWFyZ2luIGNvbHVtbnMgb24gZWFjaCBzaWRlXG4gKi9cbiRncmlkQ29sdW1ucyA6IDE0O1xuJGdyaWRNYXhXaWR0aCA6IDE2ODBweDtcblxuLyoqXG4gKiBEZWZpbmUgYnJlYWtwb2ludCBmb3IgZ2l2ZW4gZm9ybWF0c1xuICovXG4keGxHcmlkQnJlYWtwb2ludDogMTYwMDtcbiRsZ0dyaWRCcmVha3BvaW50OiAxMzY2O1xuJG1kR3JpZEJyZWFrcG9pbnQ6IDEwODA7XG4kc21HcmlkQnJlYWtwb2ludDogNzY4O1xuJHhzR3JpZEJyZWFrcG9pbnQ6IDQwMDtcbiIsIi8qIEJvdXJib24gNC4wLjJcbiAqIGh0dHA6Ly9ib3VyYm9uLmlvXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDE0IHRob3VnaHRib3QsIGluYy5cbiAqIE1JVCBMaWNlbnNlICovXG5cbi8vIFNldHRpbmdzXG5AaW1wb3J0IFwic2V0dGluZ3MvcHJlZml4ZXJcIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy9weC10by1lbVwiO1xuQGltcG9ydCBcInNldHRpbmdzL2Fzc2V0LXBpcGVsaW5lXCI7XG5cbi8vIEN1c3RvbSBIZWxwZXJzXG5AaW1wb3J0IFwiaGVscGVycy9jb252ZXJ0LXVuaXRzXCI7XG5AaW1wb3J0IFwiaGVscGVycy9mb250LXNvdXJjZS1kZWNsYXJhdGlvblwiO1xuQGltcG9ydCBcImhlbHBlcnMvZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvaXMtbnVtXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItYW5nbGUtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItZ3JhZGllbnQtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWFyZy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yZW5kZXItZ3JhZGllbnRzXCI7XG5AaW1wb3J0IFwiaGVscGVycy9zaGFwZS1zaXplLXN0cmlwcGVyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9zdHItdG8tbnVtXCI7XG5cbi8vIEN1c3RvbSBGdW5jdGlvbnNcbkBpbXBvcnQgXCJmdW5jdGlvbnMvYXNzaWduXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2NvbG9yLWxpZ2h0bmVzc1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb250YWluc1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1sZW5ndGhcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtc2l6ZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9weC10by1lbVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9weC10by1yZW1cIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvc3RyaXAtdW5pdHNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdGludC1zaGFkZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy90cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdW5wYWNrXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL21vZHVsYXItc2NhbGVcIjtcblxuLy8gQ1NTMyBNaXhpbnNcbkBpbXBvcnQgXCJjc3MzL2FuaW1hdGlvblwiO1xuQGltcG9ydCBcImNzczMvYXBwZWFyYW5jZVwiO1xuQGltcG9ydCBcImNzczMvYmFja2ZhY2UtdmlzaWJpbGl0eVwiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZFwiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZC1pbWFnZVwiO1xuQGltcG9ydCBcImNzczMvYm9yZGVyLWltYWdlXCI7XG5AaW1wb3J0IFwiY3NzMy9ib3JkZXItcmFkaXVzXCI7XG5AaW1wb3J0IFwiY3NzMy9ib3gtc2l6aW5nXCI7XG5AaW1wb3J0IFwiY3NzMy9jYWxjXCI7XG5AaW1wb3J0IFwiY3NzMy9jb2x1bW5zXCI7XG5AaW1wb3J0IFwiY3NzMy9maWx0ZXJcIjtcbkBpbXBvcnQgXCJjc3MzL2ZsZXgtYm94XCI7XG5AaW1wb3J0IFwiY3NzMy9mb250LWZhY2VcIjtcbkBpbXBvcnQgXCJjc3MzL2ZvbnQtZmVhdHVyZS1zZXR0aW5nc1wiO1xuQGltcG9ydCBcImNzczMvaGlkcGktbWVkaWEtcXVlcnlcIjtcbkBpbXBvcnQgXCJjc3MzL2h5cGhlbnNcIjtcbkBpbXBvcnQgXCJjc3MzL2ltYWdlLXJlbmRlcmluZ1wiO1xuQGltcG9ydCBcImNzczMva2V5ZnJhbWVzXCI7XG5AaW1wb3J0IFwiY3NzMy9saW5lYXItZ3JhZGllbnRcIjtcbkBpbXBvcnQgXCJjc3MzL3BlcnNwZWN0aXZlXCI7XG5AaW1wb3J0IFwiY3NzMy9wbGFjZWhvbGRlclwiO1xuQGltcG9ydCBcImNzczMvcmFkaWFsLWdyYWRpZW50XCI7XG5AaW1wb3J0IFwiY3NzMy9zZWxlY3Rpb25cIjtcbkBpbXBvcnQgXCJjc3MzL3RleHQtZGVjb3JhdGlvblwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNmb3JtXCI7XG5AaW1wb3J0IFwiY3NzMy90cmFuc2l0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy91c2VyLXNlbGVjdFwiO1xuXG4vLyBBZGRvbnMgJiBvdGhlciBtaXhpbnNcbkBpbXBvcnQgXCJhZGRvbnMvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJhZGRvbnMvZGlyZWN0aW9uYWwtdmFsdWVzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2VsbGlwc2lzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2ZvbnQtZmFtaWx5XCI7XG5AaW1wb3J0IFwiYWRkb25zL2hpZGUtdGV4dFwiO1xuQGltcG9ydCBcImFkZG9ucy9odG1sNS1pbnB1dC10eXBlc1wiO1xuQGltcG9ydCBcImFkZG9ucy9wb3NpdGlvblwiO1xuQGltcG9ydCBcImFkZG9ucy9wcmVmaXhlclwiO1xuQGltcG9ydCBcImFkZG9ucy9yZXRpbmEtaW1hZ2VcIjtcbkBpbXBvcnQgXCJhZGRvbnMvc2l6ZVwiO1xuQGltcG9ydCBcImFkZG9ucy90aW1pbmctZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiYWRkb25zL3RyaWFuZ2xlXCI7XG5AaW1wb3J0IFwiYWRkb25zL3dvcmQtd3JhcFwiO1xuXG4vLyBTb29uIHRvIGJlIGRlcHJlY2F0ZWQgTWl4aW5zXG5AaW1wb3J0IFwiYm91cmJvbi1kZXByZWNhdGVkLXVwY29taW5nXCI7XG4iLCIvLyBWYXJpYWJsZSBzZXR0aW5ncyBmb3IgL2FkZG9ucy9wcmVmaXhlci5zY3NzXG4kcHJlZml4LWZvci13ZWJraXQ6ICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1tb3ppbGxhOiAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1taWNyb3NvZnQ6IHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1vcGVyYTogICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1zcGVjOiAgICAgIHRydWUgIWRlZmF1bHQ7IC8vIHJlcXVpcmVkIGZvciBrZXlmcmFtZSBtaXhpblxuIiwiJGVtLWJhc2U6IDE2cHggIWRlZmF1bHQ7XG4iLCIkYXNzZXQtcGlwZWxpbmU6IGZhbHNlICFkZWZhdWx0O1xuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBzdHItdG8tbnVtIGZuLlxuLy8gU291cmNlOiBodHRwOi8vc2Fzc21laXN0ZXIuY29tL2dpc3QvOTY0NzQwOFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIF9jb252ZXJ0LXVuaXRzKCRudW1iZXIsICR1bml0KSB7XG4gICRzdHJpbmdzOiAncHgnICdjbScgJ21tJyAnJScgJ2NoJyAncGljYScgJ2luJyAnZW0nICdyZW0nICdwdCcgJ3BjJyAnZXgnICd2dycgJ3ZoJyAndm1pbicgJ3ZtYXgnLCAnZGVnJywgJ3JhZCcsICdncmFkJywgJ3R1cm4nO1xuICAkdW5pdHM6ICAgMXB4ICAxY20gIDFtbSAgMSUgIDFjaCAgMXBpY2EgIDFpbiAgMWVtICAxcmVtICAxcHQgIDFwYyAgMWV4ICAxdncgIDF2aCAgMXZtaW4gIDF2bWF4LCAgMWRlZywgIDFyYWQsICAxZ3JhZCwgMXR1cm47XG4gICRpbmRleDogaW5kZXgoJHN0cmluZ3MsICR1bml0KTtcblxuICBAaWYgbm90ICRpbmRleCB7XG4gICAgQHdhcm4gXCJVbmtub3duIHVuaXQgYCN7JHVuaXR9YC5cIjtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG4gIEByZXR1cm4gJG51bWJlciAqIG50aCgkdW5pdHMsICRpbmRleCk7XG59XG4iLCIvLyBVc2VkIGZvciBjcmVhdGluZyB0aGUgc291cmNlIHN0cmluZyBmb3IgZm9udHMgdXNpbmcgQGZvbnQtZmFjZVxuXG5AZnVuY3Rpb24gZm9udC11cmwtcHJlZml4ZXIoJGFzc2V0LXBpcGVsaW5lKSB7XG4gIEBpZiAkYXNzZXQtcGlwZWxpbmUgPT0gdHJ1ZSB7XG4gICAgQHJldHVybiBmb250LXVybDtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiB1cmw7XG4gIH1cbn1cblxuQGZ1bmN0aW9uIGZvbnQtc291cmNlLWRlY2xhcmF0aW9uKFxuICAkZm9udC1mYW1pbHksXG4gICRmaWxlLXBhdGgsXG4gICRhc3NldC1waXBlbGluZSxcbiAgJGZpbGUtZm9ybWF0cyxcbiAgJGZvbnQtdXJsKSB7XG5cbiAgJHNyYzogbnVsbDtcblxuICAkZm9ybWF0cy1tYXA6IChcbiAgICBlb3Q6ICBcIiN7JGZvbnQtdXJsfSgnI3skZmlsZS1wYXRofS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpXCIsXG4gICAgd29mZjI6IFwiI3skZm9udC11cmx9KCcjeyRmaWxlLXBhdGh9LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpXCIsXG4gICAgd29mZjogXCIjeyRmb250LXVybH0oJyN7JGZpbGUtcGF0aH0ud29mZicpIGZvcm1hdCgnd29mZicpXCIsXG4gICAgdHRmOiAgXCIjeyRmb250LXVybH0oJyN7JGZpbGUtcGF0aH0udHRmJykgZm9ybWF0KCd0dGYnKVwiLFxuICAgIHN2ZzogIFwiI3skZm9udC11cmx9KCcjeyRmaWxlLXBhdGh9LnN2ZyMjeyRmb250LWZhbWlseX0nKSBmb3JtYXQoJ3N2ZycpXCJcbiAgKTtcblxuICBAZWFjaCAkZm9ybWF0LCAkZmlsZS1wYXRoIGluICRmb3JtYXRzLW1hcCB7XG4gICAgQGlmIGNvbnRhaW5zKCRmaWxlLWZvcm1hdHMsICRmb3JtYXQpIHtcbiAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCAkZmlsZS1wYXRoLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3JjO1xufVxuIiwiQGZ1bmN0aW9uIF9ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC10eXBlLCAkZ3JhZGllbnQtcG9zaXRpb25zKSB7XG4gIEBpZiAkZ3JhZGllbnQtcG9zaXRpb25zXG4gIGFuZCAoJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyKVxuICBhbmQgKHR5cGUtb2YoJGdyYWRpZW50LXBvc2l0aW9ucykgIT0gY29sb3IpIHtcbiAgICAkZ3JhZGllbnQtcG9zaXRpb25zOiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvc2l0aW9ucyk7XG4gIH1cbiAgQGVsc2UgaWYgJGdyYWRpZW50LXBvc2l0aW9uc1xuICBhbmQgKCRncmFkaWVudC10eXBlID09IHJhZGlhbClcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XG4gICAgJGdyYWRpZW50LXBvc2l0aW9uczogX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3NpdGlvbnMpO1xuICB9XG4gIEByZXR1cm4gJGdyYWRpZW50LXBvc2l0aW9ucztcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEhlbHBlciBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIF9pcy1udW0oJGNoYXIpIHtcbiAgJHZhbHVlczogJzAnICcxJyAnMicgJzMnICc0JyAnNScgJzYnICc3JyAnOCcgJzknIDAgMSAyIDMgNCA1IDYgNyA4IDk7XG4gICRpbmRleDogaW5kZXgoJHZhbHVlcywgJGNoYXIpO1xuICBAcmV0dXJuIGlmKCRpbmRleCwgdHJ1ZSwgZmFsc2UpO1xufVxuIiwiLy8gUHJpdmF0ZSBmdW5jdGlvbiBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxuQGZ1bmN0aW9uIF9saW5lYXItYW5nbGUtcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCkge1xuICAkb2Zmc2V0OiBudWxsO1xuICAkdW5pdC1zaG9ydDogIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMiwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICR1bml0LWxvbmc6ICAgc3RyLXNsaWNlKCRmaXJzdC12YWwsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkgLSAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcblxuICBAaWYgKCR1bml0LWxvbmcgPT0gXCJncmFkXCIpIG9yXG4gICAgICAoJHVuaXQtbG9uZyA9PSBcInR1cm5cIikge1xuICAgICRvZmZzZXQ6IGlmKCR1bml0LWxvbmcgPT0gXCJncmFkXCIsIC0xMDBncmFkICogMywgLTAuNzV0dXJuKTtcbiAgfVxuXG4gIEBlbHNlIGlmICgkdW5pdC1zaG9ydCA9PSBcImRlZ1wiKSBvclxuICAgICAgICAgICAoJHVuaXQtc2hvcnQgPT0gXCJyYWRcIikge1xuICAgICRvZmZzZXQ6IGlmKCR1bml0LXNob3J0ID09IFwiZGVnXCIsIC05MCAqIDMsIDEuNnJhZCk7XG4gIH1cblxuICBAaWYgJG9mZnNldCB7XG4gICAgJG51bTogX3N0ci10by1udW0oJGZpcnN0LXZhbCk7XG5cbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgKCRvZmZzZXQgLSAkbnVtKSArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG59XG4iLCJAZnVuY3Rpb24gX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoJGltYWdlKSB7XG4gICRpbWFnZTogdW5xdW90ZSgkaW1hZ2UpO1xuICAkZ3JhZGllbnRzOiAoKTtcbiAgJHN0YXJ0OiBzdHItaW5kZXgoJGltYWdlLCBcIihcIik7XG4gICRlbmQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiLFwiKTtcbiAgJGZpcnN0LXZhbDogc3RyLXNsaWNlKCRpbWFnZSwgJHN0YXJ0ICsgMSwgJGVuZCAtIDEpO1xuXG4gICRwcmVmaXg6IHN0ci1zbGljZSgkaW1hZ2UsIDAsICRzdGFydCk7XG4gICRzdWZmaXg6IHN0ci1zbGljZSgkaW1hZ2UsICRlbmQsIHN0ci1sZW5ndGgoJGltYWdlKSk7XG5cbiAgJGhhcy1tdWx0aXBsZS12YWxzOiBzdHItaW5kZXgoJGZpcnN0LXZhbCwgXCIgXCIpO1xuICAkaGFzLXNpbmdsZS1wb3NpdGlvbjogdW5xdW90ZShfcG9zaXRpb24tZmxpcHBlcigkZmlyc3QtdmFsKSArIFwiXCIpO1xuICAkaGFzLWFuZ2xlOiBfaXMtbnVtKHN0ci1zbGljZSgkZmlyc3QtdmFsLCAwLCAwKSk7XG5cbiAgQGlmICRoYXMtbXVsdGlwbGUtdmFscyB7XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4LCAkaGFzLW11bHRpcGxlLXZhbHMpO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1zaW5nbGUtcG9zaXRpb24gIT0gXCJcIiB7XG4gICAgJHBvczogdW5xdW90ZSgkaGFzLXNpbmdsZS1wb3NpdGlvbiArIFwiXCIpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcbiAgICApO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1hbmdsZSB7XG4gICAgLy8gUm90YXRlIGRlZ3JlZSBmb3Igd2Via2l0XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1hbmdsZS1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4KTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEByZXR1cm4gJGdyYWRpZW50cztcbn1cbiIsIkBmdW5jdGlvbiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcykge1xuICAkdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xuICAkc3BlYzogbnVsbDtcbiAgJGRlZ3JlZTogbnVsbDtcbiAgJHNpZGU6IG51bGw7XG4gICRjb3JuZXI6IG51bGw7XG4gICRsZW5ndGg6IGxlbmd0aCgkcG9zKTtcbiAgLy8gUGFyc2UgU2lkZSBhbmQgY29ybmVyIHBvc2l0aW9uc1xuICBAaWYgKCRsZW5ndGggPiAxKSB7XG4gICAgQGlmIG50aCgkcG9zLCAxKSA9PSBcInRvXCIgeyAvLyBOZXdlciBzeW50YXhcbiAgICAgICRzaWRlOiBudGgoJHBvcywgMik7XG5cbiAgICAgIEBpZiAkbGVuZ3RoID09IDIgeyAvLyBlZy4gdG8gdG9wXG4gICAgICAgIC8vIFN3YXAgZm9yIGJhY2t3YXJkcyBjb21wYXRhYmlsaXR5XG4gICAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAyKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDMgeyAvLyBlZy4gdG8gdG9wIGxlZnRcbiAgICAgICAgJGNvcm5lcjogbnRoKCRwb3MsIDMpO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDIgeyAvLyBPbGRlciBzeW50YXggKFwidG9wIGxlZnRcIilcbiAgICAgICRzaWRlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMSkpO1xuICAgICAgJGNvcm5lcjogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDIpKTtcbiAgICB9XG5cbiAgICBAaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwibGVmdCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIGxlZnRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJyaWdodCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIHJpZ2h0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSByaWdodFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSBsZWZ0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgJHNwZWM6IHRvICRzaWRlICRjb3JuZXI7XG4gIH1cbiAgQGVsc2UgaWYgJGxlbmd0aCA9PSAxIHtcbiAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0YWJpbGl0eVxuICAgIEBpZiAkdHlwZSA9PSBzdHJpbmcge1xuICAgICAgJGRlZ3JlZTogJHBvcztcbiAgICAgICRzcGVjOiB0byBfcG9zaXRpb24tZmxpcHBlcigkcG9zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGRlZ3JlZTogLTI3MCAtICRwb3M7IC8vcm90YXRlIHRoZSBncmFkaWVudCBvcHBvc2l0ZSBmcm9tIHNwZWNcbiAgICAgICRzcGVjOiAkcG9zO1xuICAgIH1cbiAgfVxuICAkZGVncmVlOiB1bnF1b3RlKCRkZWdyZWUgKyBcIixcIik7XG4gICRzcGVjOiAgIHVucXVvdGUoJHNwZWMgKyBcIixcIik7XG4gIEByZXR1cm4gJGRlZ3JlZSAkc3BlYztcbn1cblxuQGZ1bmN0aW9uIF9wb3NpdGlvbi1mbGlwcGVyKCRwb3MpIHtcbiBAcmV0dXJuIGlmKCRwb3MgPT0gbGVmdCwgcmlnaHQsIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IHJpZ2h0LCBsZWZ0LCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSB0b3AsIGJvdHRvbSwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gYm90dG9tLCB0b3AsIG51bGwpO1xufVxuIiwiLy8gUHJpdmF0ZSBmdW5jdGlvbiBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxuQGZ1bmN0aW9uIF9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCwgJGhhcy1tdWx0aXBsZS12YWxzKSB7XG4gICR2YWwtMTogc3RyLXNsaWNlKCRmaXJzdC12YWwsIDAsICRoYXMtbXVsdGlwbGUtdmFscyAtIDEgKTtcbiAgJHZhbC0yOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGhhcy1tdWx0aXBsZS12YWxzICsgMSwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICR2YWwtMzogbnVsbDtcbiAgJGhhcy12YWwtMzogc3RyLWluZGV4KCR2YWwtMiwgXCIgXCIpO1xuXG4gIEBpZiAkaGFzLXZhbC0zIHtcbiAgICAkdmFsLTM6IHN0ci1zbGljZSgkdmFsLTIsICRoYXMtdmFsLTMgKyAxLCBzdHItbGVuZ3RoKCR2YWwtMikpO1xuICAgICR2YWwtMjogc3RyLXNsaWNlKCR2YWwtMiwgMCwgJGhhcy12YWwtMyAtIDEpO1xuICB9XG5cbiAgJHBvczogX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0xKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTIpIF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMyk7XG4gICRwb3M6IHVucXVvdGUoJHBvcyArIFwiXCIpO1xuXG4gIC8vIFVzZSBvbGQgc3BlYyBmb3Igd2Via2l0XG4gIEBpZiAkdmFsLTEgPT0gXCJ0b1wiIHtcbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgLy8gQnJpbmcgdGhlIGNvZGUgdXAgdG8gc3BlY1xuICBAZWxzZSB7XG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJHByZWZpeCArIFwidG8gXCIgKyAkcG9zICsgJHN1ZmZpeFxuICAgICk7XG4gIH1cbn1cbiIsIkBmdW5jdGlvbiBfcmFkaWFsLWFyZy1wYXJzZXIoJEcxLCAkRzIsICRwb3MsICRzaGFwZS1zaXplKSB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkRzEsICRHMiB7XG4gICAgJGZpcnN0LXZhbDogbnRoKCR2YWx1ZSwgMSk7XG4gICAgJHBvcy10eXBlOiAgdHlwZS1vZigkZmlyc3QtdmFsKTtcbiAgICAkc3BlYy1hdC1pbmRleDogbnVsbDtcblxuICAgIC8vIERldGVybWluZSBpZiBzcGVjIHdhcyBwYXNzZWQgdG8gbWl4aW5cbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IGxpc3Qge1xuICAgICAgJHNwZWMtYXQtaW5kZXg6IGlmKGluZGV4KCR2YWx1ZSwgYXQpLCBpbmRleCgkdmFsdWUsIGF0KSwgZmFsc2UpO1xuICAgIH1cbiAgICBAaWYgJHNwZWMtYXQtaW5kZXgge1xuICAgICAgQGlmICRzcGVjLWF0LWluZGV4ID4gMSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRzcGVjLWF0LWluZGV4IC0gMSkge1xuICAgICAgICAgICRzaGFwZS1zaXplOiAkc2hhcGUtc2l6ZSBudGgoJHZhbHVlLCAkaSk7XG4gICAgICAgIH1cbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkc3BlYy1hdC1pbmRleCA9PSAxIHtcbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAkRzE6IG51bGw7XG4gICAgfVxuXG4gICAgLy8gSWYgbm90IHNwZWMgY2FsY3VsYXRlIGNvcnJlY3QgdmFsdWVzXG4gICAgQGVsc2Uge1xuICAgICAgQGlmICgkcG9zLXR5cGUgIT0gY29sb3IpIG9yICgkZmlyc3QtdmFsICE9IFwidHJhbnNwYXJlbnRcIikge1xuICAgICAgICBAaWYgKCRwb3MtdHlwZSA9PSBudW1iZXIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2VudGVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwidG9wXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwicmlnaHRcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJib3R0b21cIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJsZWZ0XCIpIHtcblxuICAgICAgICAgICRwb3M6ICR2YWx1ZTtcblxuICAgICAgICAgIEBpZiAkcG9zID09ICRHMSB7XG4gICAgICAgICAgICAkRzE6IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2UgaWZcbiAgICAgICAgICAgKCRmaXJzdC12YWwgPT0gXCJlbGxpcHNlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2lyY2xlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1zaWRlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1jb3JuZXJcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJmYXJ0aGVzdC1zaWRlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3QtY29ybmVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY29udGFpblwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvdmVyXCIpIHtcblxuICAgICAgICAgICRzaGFwZS1zaXplOiAkdmFsdWU7XG5cbiAgICAgICAgICBAaWYgJHZhbHVlID09ICRHMSB7XG4gICAgICAgICAgICAkRzE6IG51bGw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVsc2UgaWYgJHZhbHVlID09ICRHMiB7XG4gICAgICAgICAgICAkRzI6IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJEcxLCAkRzIsICRwb3MsICRzaGFwZS1zaXplO1xufVxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zKSB7XG4gICRzaGFwZS1zaXplOiBudGgoJGdyYWRpZW50LXBvcywgMSk7XG4gICRwb3M6ICAgICAgICBudGgoJGdyYWRpZW50LXBvcywgMik7XG4gICRzaGFwZS1zaXplLXNwZWM6IF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKTtcblxuICAkcHJlLXNwZWM6IHVucXVvdGUoaWYoJHBvcywgXCIjeyRwb3N9LCBcIiwgbnVsbCkpXG4gICAgICAgICAgICAgdW5xdW90ZShpZigkc2hhcGUtc2l6ZSwgXCIjeyRzaGFwZS1zaXplfSxcIiwgbnVsbCkpO1xuICAkcG9zLXNwZWM6IGlmKCRwb3MsIFwiYXQgI3skcG9zfVwiLCBudWxsKTtcblxuICAkc3BlYzogXCIjeyRzaGFwZS1zaXplLXNwZWN9ICN7JHBvcy1zcGVjfVwiO1xuXG4gIC8vIEFkZCBjb21tYVxuICBAaWYgKCRzcGVjICE9ICcgICcpIHtcbiAgICAkc3BlYzogXCIjeyRzcGVjfSxcIlxuICB9XG5cbiAgQHJldHVybiAkcHJlLXNwZWMgJHNwZWM7XG59XG4iLCJAZnVuY3Rpb24gX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKSB7XG4gICRpbWFnZTogdW5xdW90ZSgkaW1hZ2UpO1xuICAkZ3JhZGllbnRzOiAoKTtcbiAgJHN0YXJ0OiBzdHItaW5kZXgoJGltYWdlLCBcIihcIik7XG4gICRlbmQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiLFwiKTtcbiAgJGZpcnN0LXZhbDogc3RyLXNsaWNlKCRpbWFnZSwgJHN0YXJ0ICsgMSwgJGVuZCAtIDEpO1xuXG4gICRwcmVmaXg6IHN0ci1zbGljZSgkaW1hZ2UsIDAsICRzdGFydCk7XG4gICRzdWZmaXg6IHN0ci1zbGljZSgkaW1hZ2UsICRlbmQsIHN0ci1sZW5ndGgoJGltYWdlKSk7XG5cbiAgJGlzLXNwZWMtc3ludGF4OiBzdHItaW5kZXgoJGZpcnN0LXZhbCwgXCJhdFwiKTtcblxuICBAaWYgJGlzLXNwZWMtc3ludGF4IGFuZCAkaXMtc3BlYy1zeW50YXggPiAxIHtcbiAgICAka2V5d29yZDogc3RyLXNsaWNlKCRmaXJzdC12YWwsIDEsICRpcy1zcGVjLXN5bnRheCAtIDIpO1xuICAgICRwb3M6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaXMtc3BlYy1zeW50YXggKyAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcbiAgICAkcG9zOiBhcHBlbmQoJHBvcywgJGtleXdvcmQsIGNvbW1hKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApXG4gIH1cblxuICBAZWxzZSBpZiAkaXMtc3BlYy1zeW50YXggPT0gMSB7XG4gICAgJHBvczogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRpcy1zcGVjLXN5bnRheCArIDMsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgIClcbiAgfVxuXG4gIEBlbHNlIGlmIHN0ci1pbmRleCgkaW1hZ2UsIFwiY292ZXJcIikgb3Igc3RyLWluZGV4KCRpbWFnZSwgXCJjb250YWluXCIpIHtcbiAgICBAd2FybiBcIlJhZGlhbC1ncmFkaWVudCBuZWVkcyB0byBiZSB1cGRhdGVkIHRvIGNvbmZvcm0gdG8gbGF0ZXN0IHNwZWMuXCI7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IG51bGwsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApXG4gIH1cblxuICBAZWxzZSB7XG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgIClcbiAgfVxuXG4gIEByZXR1cm4gJGdyYWRpZW50cztcbn1cbiIsIi8vIFVzZXIgZm9yIGxpbmVhciBhbmQgcmFkaWFsIGdyYWRpZW50cyB3aXRoaW4gYmFja2dyb3VuZC1pbWFnZSBvciBib3JkZXItaW1hZ2UgcHJvcGVydGllc1xuXG5AZnVuY3Rpb24gX3JlbmRlci1ncmFkaWVudHMoJGdyYWRpZW50LXBvc2l0aW9ucywgJGdyYWRpZW50cywgJGdyYWRpZW50LXR5cGUsICR2ZW5kb3I6IGZhbHNlKSB7XG4gICRwcmUtc3BlYzogbnVsbDtcbiAgJHNwZWM6IG51bGw7XG4gICR2ZW5kb3ItZ3JhZGllbnRzOiBudWxsO1xuICBAaWYgJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyIHtcbiAgICBAaWYgJGdyYWRpZW50LXBvc2l0aW9ucyB7XG4gICAgICAkcHJlLXNwZWM6IG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAxKTtcbiAgICAgICRzcGVjOiAgICAgbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDIpO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwge1xuICAgICRwcmUtc3BlYzogbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDEpO1xuICAgICRzcGVjOiAgICAgbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDIpO1xuICB9XG5cbiAgQGlmICR2ZW5kb3Ige1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiAtI3skdmVuZG9yfS0jeyRncmFkaWVudC10eXBlfS1ncmFkaWVudCgjeyRwcmUtc3BlY30gJGdyYWRpZW50cyk7XG4gIH1cbiAgQGVsc2UgaWYgJHZlbmRvciA9PSBmYWxzZSB7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IFwiI3skZ3JhZGllbnQtdHlwZX0tZ3JhZGllbnQoI3skc3BlY30gI3skZ3JhZGllbnRzfSlcIjtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogdW5xdW90ZSgkdmVuZG9yLWdyYWRpZW50cyk7XG4gIH1cbiAgQHJldHVybiAkdmVuZG9yLWdyYWRpZW50cztcbn1cbiIsIkBmdW5jdGlvbiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSkge1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBudWxsO1xuICBAZWFjaCAkdmFsdWUgaW4gJHNoYXBlLXNpemUge1xuICAgIEBpZiAoJHZhbHVlID09IFwiY292ZXJcIikgb3IgKCR2YWx1ZSA9PSBcImNvbnRhaW5cIikge1xuICAgICAgJHZhbHVlOiBudWxsO1xuICAgIH1cbiAgICAkc2hhcGUtc2l6ZS1zcGVjOiBcIiN7JHNoYXBlLXNpemUtc3BlY30gI3skdmFsdWV9XCI7XG4gIH1cbiAgQHJldHVybiAkc2hhcGUtc2l6ZS1zcGVjO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBsaW5lYXIvcmFkaWFsLWdyYWRpZW50LXBhcnNlcnMuXG4vLyBTb3VyY2U6IGh0dHA6Ly9zYXNzbWVpc3Rlci5jb20vZ2lzdC85NjQ3NDA4XG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gX3N0ci10by1udW0oJHN0cmluZykge1xuICAvLyBNYXRyaWNlc1xuICAkc3RyaW5nczogJzAnICcxJyAnMicgJzMnICc0JyAnNScgJzYnICc3JyAnOCcgJzknO1xuICAkbnVtYmVyczogIDAgICAxICAgMiAgIDMgICA0ICAgNSAgIDYgICA3ICAgOCAgIDk7XG5cbiAgLy8gUmVzdWx0XG4gICRyZXN1bHQ6IDA7XG4gICRkaXZpZGVyOiAwO1xuICAkbWludXM6IGZhbHNlO1xuXG4gIC8vIExvb3BpbmcgdGhyb3VnaCBhbGwgY2hhcmFjdGVyc1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHN0cmluZykge1xuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkc3RyaW5nLCAkaSwgJGkpO1xuICAgICRpbmRleDogaW5kZXgoJHN0cmluZ3MsICRjaGFyYWN0ZXIpO1xuXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy0nIHtcbiAgICAgICRtaW51czogdHJ1ZTtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAkZGl2aWRlcjogMTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgbm90ICRpbmRleCB7XG4gICAgICAgICRyZXN1bHQ6IGlmKCRtaW51cywgJHJlc3VsdCAqIC0xLCAkcmVzdWx0KTtcbiAgICAgICAgQHJldHVybiBfY29udmVydC11bml0cygkcmVzdWx0LCBzdHItc2xpY2UoJHN0cmluZywgJGkpKTtcbiAgICAgIH1cblxuICAgICAgJG51bWJlcjogbnRoKCRudW1iZXJzLCAkaW5kZXgpO1xuXG4gICAgICBAaWYgJGRpdmlkZXIgPT0gMCB7XG4gICAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMDtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAvLyBNb3ZlIHRoZSBkZWNpbWFsIGRvdCB0byB0aGUgbGVmdFxuICAgICAgICAkZGl2aWRlcjogJGRpdmlkZXIgKiAxMDtcbiAgICAgICAgJG51bWJlcjogJG51bWJlciAvICRkaXZpZGVyO1xuICAgICAgfVxuXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgJG51bWJlcjtcbiAgICB9XG4gIH1cbiAgQHJldHVybiBpZigkbWludXMsICRyZXN1bHQgKiAtMSwgJHJlc3VsdCk7XG59XG4iLCJAZnVuY3Rpb24gYXNzaWduLWlucHV0cygkaW5wdXRzLCAkcHNldWRvOiBudWxsKSB7XG4gICRsaXN0IDogKCk7XG5cbiAgQGVhY2ggJGlucHV0IGluICRpbnB1dHMge1xuICAgICRpbnB1dDogdW5xdW90ZSgkaW5wdXQpO1xuICAgICRpbnB1dDogaWYoJHBzZXVkbywgJGlucHV0ICsgXCI6XCIgKyAkcHNldWRvLCAkaW5wdXQpO1xuICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRpbnB1dCwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkbGlzdDtcbn0iLCIvLyBQcm9ncmFtYXRpY2FsbHkgZGV0ZXJtaW5lcyB3aGV0aGVyIGEgY29sb3IgaXMgbGlnaHQgb3IgZGFya1xuLy8gUmV0dXJucyBhIGJvb2xlYW5cbi8vIE1vcmUgZGV0YWlscyBoZXJlIGh0dHA6Ly9yb2JvdHMudGhvdWdodGJvdC5jb20vY2xvc2VyLWxvb2stY29sb3ItbGlnaHRuZXNzXG5cbkBmdW5jdGlvbiBpcy1saWdodCgkaGV4LWNvbG9yKSB7XG4gICQtbG9jYWwtcmVkOiByZWQocmdiYSgkaGV4LWNvbG9yLCAxLjApKTtcbiAgJC1sb2NhbC1ncmVlbjogZ3JlZW4ocmdiYSgkaGV4LWNvbG9yLCAxLjApKTtcbiAgJC1sb2NhbC1ibHVlOiBibHVlKHJnYmEoJGhleC1jb2xvciwgMS4wKSk7XG5cbiAgJC1sb2NhbC1saWdodG5lc3M6ICgkLWxvY2FsLXJlZCAqIDAuMjEyNiArICQtbG9jYWwtZ3JlZW4gKiAwLjcxNTIgKyAkLWxvY2FsLWJsdWUgKiAwLjA3MjIpIC8gMjU1O1xuXG4gIEByZXR1cm4gJC1sb2NhbC1saWdodG5lc3MgPiAuNjtcbn1cbiIsIi8vIFRlc3QgYSBTYXNzIGxpc3QgdG8gc2VlIGlmIGl0IGNvbnRhaW5zIGEgZGVmaW5lZCB2YWx1ZVxuXG5AZnVuY3Rpb24gY29udGFpbnMoJGxpc3QsICR2YWx1ZSkge1xuICBAcmV0dXJuIG5vdCBub3QgaW5kZXgoJGxpc3QsICR2YWx1ZSk7XG59XG4iLCIvLyBDaGVjayBmb3IgYSB2YWxpZCBsZW5ndGhcblxuQGZ1bmN0aW9uIGlzLWxlbmd0aCgkdmFsdWUpIHtcbiAgQHJldHVybiBjb250YWlucygwIFwiYXV0b1wiIFwiaW5pdGlhbFwiIFwiaW5oZXJpdFwiLCAkdmFsdWUpXG4gICAgICAgICAgb3IgdHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIgYW5kIG5vdCB1bml0bGVzcygkdmFsdWUpXG4gICAgICAgICAgb3Igc3RyLXNsaWNlKCR2YWx1ZSArIFwiXCIsIDEsIDQpID09IFwiY2FsY1wiO1xufVxuIiwiLy8gQ2hlY2sgZm9yIGEgdmFsaWQgc2l6ZVxuXG5AZnVuY3Rpb24gaXMtc2l6ZSgkdmFsdWUpIHtcbiAgQHJldHVybiBpcy1sZW5ndGgoJHZhbHVlKVxuICAgICAgICAgIG9yIGNvbnRhaW5zKFwiZmlsbFwiIFwiZml0LWNvbnRlbnRcIiBcIm1pbi1jb250ZW50XCIgXCJtYXgtY29udGVudFwiLCAkdmFsdWUpO1xufVxuIiwiLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIGVtKDEyKSB3aGVuIHRoZSBwYXJlbnQgaXMgMTZweFxuLy8gaWYgdGhlIHBhcmVudCBpcyBhbm90aGVyIHZhbHVlIHNheSAyNHB4IHdyaXRlIGVtKDEyLCAyNClcblxuQGZ1bmN0aW9uIGVtKCRweHZhbCwgJGJhc2U6ICRlbS1iYXNlKSB7XG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XG4gICAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XG4gIH1cbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgfVxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxZW07XG59XG4iLCIvLyBDb252ZXJ0IHBpeGVscyB0byByZW1zXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIHJlbSgxMilcbi8vIEFzc3VtZXMgJGVtLWJhc2UgaXMgdGhlIGZvbnQtc2l6ZSBvZiA8aHRtbD5cblxuQGZ1bmN0aW9uIHJlbSgkcHh2YWwpIHtcbiAgQGlmIG5vdCB1bml0bGVzcygkcHh2YWwpIHtcbiAgICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcbiAgfVxuXG4gICRiYXNlOiAkZW0tYmFzZTtcbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgfVxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxcmVtO1xufVxuIiwiLy8gU3J0aXBzIHRoZSB1bml0cyBmcm9tIGEgdmFsdWUuIGUuZy4gMTJweCAtPiAxMlxuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdHMoJHZhbCkge1xuICBAcmV0dXJuICgkdmFsIC8gKCR2YWwgKiAwICsgMSkpO1xufVxuIiwiLy8gQWRkIHBlcmNlbnRhZ2Ugb2Ygd2hpdGUgdG8gYSBjb2xvclxuQGZ1bmN0aW9uIHRpbnQoJGNvbG9yLCAkcGVyY2VudCl7XG4gIEByZXR1cm4gbWl4KHdoaXRlLCAkY29sb3IsICRwZXJjZW50KTtcbn1cblxuLy8gQWRkIHBlcmNlbnRhZ2Ugb2YgYmxhY2sgdG8gYSBjb2xvclxuQGZ1bmN0aW9uIHNoYWRlKCRjb2xvciwgJHBlcmNlbnQpe1xuICBAcmV0dXJuIG1peChibGFjaywgJGNvbG9yLCAkcGVyY2VudCk7XG59XG4iLCIvLyBSZXR1cm4gdmVuZG9yLXByZWZpeGVkIHByb3BlcnR5IG5hbWVzIGlmIGFwcHJvcHJpYXRlXG4vLyBFeGFtcGxlOiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCh0cmFuc2Zvcm0sIGNvbG9yLCBiYWNrZ3JvdW5kKSwgbW96KSAtPiAtbW96LXRyYW5zZm9ybSwgY29sb3IsIGJhY2tncm91bmRcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wcywgJHZlbmRvcjogZmFsc2UpIHtcblx0JG5ldy1wcm9wczogKCk7XG5cdFxuXHRAZWFjaCAkcHJvcCBpbiAkcHJvcHMge1xuXHRcdCRuZXctcHJvcHM6IGFwcGVuZCgkbmV3LXByb3BzLCB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUoJHByb3AsICR2ZW5kb3IpLCBjb21tYSk7XG5cdH1cblxuXHRAcmV0dXJuICRuZXctcHJvcHM7XG59XG5cbkBmdW5jdGlvbiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUoJHByb3AsICR2ZW5kb3I6IGZhbHNlKSB7XG5cdC8vIHB1dCBvdGhlciBwcm9wZXJ0aWVzIHRoYXQgbmVlZCB0byBiZSBwcmVmaXhlZCBoZXJlIGFzd2VsbFxuXHRAaWYgJHZlbmRvciBhbmQgJHByb3AgPT0gdHJhbnNmb3JtIHtcblx0XHRAcmV0dXJuIHVucXVvdGUoJy0nKyR2ZW5kb3IrJy0nKyRwcm9wKTtcblx0fVxuXHRAZWxzZSB7XG5cdFx0QHJldHVybiAkcHJvcDtcblx0fVxufSIsIi8vIENvbnZlcnQgc2hvcnRoYW5kIHRvIHRoZSA0LXZhbHVlIHN5bnRheFxuXG5AZnVuY3Rpb24gdW5wYWNrKCRzaG9ydGhhbmQpIHtcbiAgQGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAxIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKTtcbiAgfVxuICBAZWxzZSBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMiB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMik7XG4gIH1cbiAgQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDMge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMykgbnRoKCRzaG9ydGhhbmQsIDIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRzaG9ydGhhbmQ7XG4gIH1cbn1cblxuIiwiLy8gU2NhbGluZyBWYXJpYWJsZXNcbiRnb2xkZW46ICAgICAgICAgICAxLjYxODtcbiRtaW5vci1zZWNvbmQ6ICAgICAxLjA2NztcbiRtYWpvci1zZWNvbmQ6ICAgICAxLjEyNTtcbiRtaW5vci10aGlyZDogICAgICAxLjI7XG4kbWFqb3ItdGhpcmQ6ICAgICAgMS4yNTtcbiRwZXJmZWN0LWZvdXJ0aDogICAxLjMzMztcbiRhdWdtZW50ZWQtZm91cnRoOiAxLjQxNDtcbiRwZXJmZWN0LWZpZnRoOiAgICAxLjU7XG4kbWlub3Itc2l4dGg6ICAgICAgMS42O1xuJG1ham9yLXNpeHRoOiAgICAgIDEuNjY3O1xuJG1pbm9yLXNldmVudGg6ICAgIDEuNzc4O1xuJG1ham9yLXNldmVudGg6ICAgIDEuODc1O1xuJG9jdGF2ZTogICAgICAgICAgIDI7XG4kbWFqb3ItdGVudGg6ICAgICAgMi41O1xuJG1ham9yLWVsZXZlbnRoOiAgIDIuNjY3O1xuJG1ham9yLXR3ZWxmdGg6ICAgIDM7XG4kZG91YmxlLW9jdGF2ZTogICAgNDtcblxuJG1vZHVsYXItc2NhbGUtcmF0aW86ICRwZXJmZWN0LWZvdXJ0aCAhZGVmYXVsdDtcbiRtb2R1bGFyLXNjYWxlLWJhc2U6IGVtKCRlbS1iYXNlKSAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIG1vZHVsYXItc2NhbGUoJGluY3JlbWVudCwgJHZhbHVlOiAkbW9kdWxhci1zY2FsZS1iYXNlLCAkcmF0aW86ICRtb2R1bGFyLXNjYWxlLXJhdGlvKSB7XG4gICR2MTogbnRoKCR2YWx1ZSwgMSk7XG4gICR2MjogbnRoKCR2YWx1ZSwgbGVuZ3RoKCR2YWx1ZSkpO1xuICAkdmFsdWU6ICR2MTtcblxuICAvLyBzY2FsZSAkdjIgdG8ganVzdCBhYm92ZSAkdjFcbiAgQHdoaWxlICR2MiA+ICR2MSB7XG4gICAgJHYyOiAoJHYyIC8gJHJhdGlvKTsgLy8gd2lsbCBiZSBvZmYtYnktMVxuICB9XG4gIEB3aGlsZSAkdjIgPCAkdjEge1xuICAgICR2MjogKCR2MiAqICRyYXRpbyk7IC8vIHdpbGwgZml4IG9mZi1ieS0xXG4gIH1cblxuICAvLyBjaGVjayBBRlRFUiBzY2FsaW5nICR2MiB0byBwcmV2ZW50IGRvdWJsZS1jb3VudGluZyBjb3JuZXItY2FzZVxuICAkZG91YmxlLXN0cmFuZGVkOiAkdjIgPiAkdjE7XG5cbiAgQGlmICRpbmNyZW1lbnQgPiAwIHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRpbmNyZW1lbnQge1xuICAgICAgQGlmICRkb3VibGUtc3RyYW5kZWQgYW5kICgkdjEgKiAkcmF0aW8pID4gJHYyIHtcbiAgICAgICAgJHZhbHVlOiAkdjI7XG4gICAgICAgICR2MjogKCR2MiAqICRyYXRpbyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHYxOiAoJHYxICogJHJhdGlvKTtcbiAgICAgICAgJHZhbHVlOiAkdjE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRpbmNyZW1lbnQgPCAwIHtcbiAgICAvLyBhZGp1c3QgJHYyIHRvIGp1c3QgYmVsb3cgJHYxXG4gICAgQGlmICRkb3VibGUtc3RyYW5kZWQge1xuICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gJGluY3JlbWVudCB0aHJvdWdoIC0xIHtcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxIC8gJHJhdGlvKSA8ICR2MiB7XG4gICAgICAgICR2YWx1ZTogJHYyO1xuICAgICAgICAkdjI6ICgkdjIgLyAkcmF0aW8pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR2MTogKCR2MSAvICRyYXRpbyk7XG4gICAgICAgICR2YWx1ZTogJHYxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1hbmltYXRpb25zLyN0aGUtYW5pbWF0aW9uLW5hbWUtcHJvcGVydHktXG4vLyBFYWNoIG9mIHRoZXNlIG1peGlucyBzdXBwb3J0IGNvbW1hIHNlcGFyYXRlZCBsaXN0cyBvZiB2YWx1ZXMsIHdoaWNoIGFsbG93cyBkaWZmZXJlbnQgdHJhbnNpdGlvbnMgZm9yIGluZGl2aWR1YWwgcHJvcGVydGllcyB0byBiZSBkZXNjcmliZWQgaW4gYSBzaW5nbGUgc3R5bGUgcnVsZS4gRWFjaCB2YWx1ZSBpbiB0aGUgbGlzdCBjb3JyZXNwb25kcyB0byB0aGUgdmFsdWUgYXQgdGhhdCBzYW1lIHBvc2l0aW9uIGluIHRoZSBvdGhlciBwcm9wZXJ0aWVzLlxuXG4vLyBPZmZpY2lhbCBhbmltYXRpb24gc2hvcnRoYW5kIHByb3BlcnR5LlxuQG1peGluIGFuaW1hdGlvbiAoJGFuaW1hdGlvbnMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLCAkYW5pbWF0aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuLy8gSW5kaXZpZHVhbCBBbmltYXRpb24gUHJvcGVydGllc1xuQG1peGluIGFuaW1hdGlvbi1uYW1lICgkbmFtZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsICRuYW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuXG5AbWl4aW4gYW5pbWF0aW9uLWR1cmF0aW9uICgkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cblxuQG1peGluIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24gKCRtb3Rpb25zLi4uKSB7XG4vLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cblxuQG1peGluIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQgKCR2YWx1ZXMuLi4pIHtcbi8vIGluZmluaXRlIHwgPG51bWJlcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgJHZhbHVlcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuXG5AbWl4aW4gYW5pbWF0aW9uLWRpcmVjdGlvbiAoJGRpcmVjdGlvbnMuLi4pIHtcbi8vIG5vcm1hbCB8IGFsdGVybmF0ZVxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZGlyZWN0aW9uLCAkZGlyZWN0aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuXG5AbWl4aW4gYW5pbWF0aW9uLXBsYXktc3RhdGUgKCRzdGF0ZXMuLi4pIHtcbi8vIHJ1bm5pbmcgfCBwYXVzZWRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXBsYXktc3RhdGUsICRzdGF0ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cblxuQG1peGluIGFuaW1hdGlvbi1kZWxheSAoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5cbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlICgkbW9kZXMuLi4pIHtcbi8vIG5vbmUgfCBmb3J3YXJkcyB8IGJhY2t3YXJkcyB8IGJvdGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWZpbGwtbW9kZSwgJG1vZGVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiQG1peGluIGFwcGVhcmFuY2UgKCR2YWx1ZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhcHBlYXJhbmNlLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEJhY2tmYWNlLXZpc2liaWxpdHkgbWl4aW5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJhY2tmYWNlLXZpc2liaWxpdHksICR2aXNpYmlsaXR5LCB3ZWJraXQgc3BlYyk7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBCYWNrZ3JvdW5kIHByb3BlcnR5IGZvciBhZGRpbmcgbXVsdGlwbGUgYmFja2dyb3VuZHMgdXNpbmcgc2hvcnRoYW5kXG4vLyBub3RhdGlvbi5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cblxuQG1peGluIGJhY2tncm91bmQoJGJhY2tncm91bmRzLi4uKSB7XG4gICR3ZWJraXQtYmFja2dyb3VuZHM6ICgpO1xuICAkc3BlYy1iYWNrZ3JvdW5kczogKCk7XG5cbiAgQGVhY2ggJGJhY2tncm91bmQgaW4gJGJhY2tncm91bmRzIHtcbiAgICAkd2Via2l0LWJhY2tncm91bmQ6ICgpO1xuICAgICRzcGVjLWJhY2tncm91bmQ6ICgpO1xuICAgICRiYWNrZ3JvdW5kLXR5cGU6IHR5cGUtb2YoJGJhY2tncm91bmQpO1xuXG4gICAgQGlmICRiYWNrZ3JvdW5kLXR5cGUgPT0gc3RyaW5nIG9yICRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCB7XG4gICAgICAkYmFja2dyb3VuZC1zdHI6IGlmKCRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCwgbnRoKCRiYWNrZ3JvdW5kLCAxKSwgJGJhY2tncm91bmQpO1xuXG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMCwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMCwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKFwiI3skYmFja2dyb3VuZH1cIik7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kczogYXBwZW5kKCR3ZWJraXQtYmFja2dyb3VuZHMsICR3ZWJraXQtYmFja2dyb3VuZCwgY29tbWEpO1xuICAgICRzcGVjLWJhY2tncm91bmRzOiAgIGFwcGVuZCgkc3BlYy1iYWNrZ3JvdW5kcywgICAkc3BlYy1iYWNrZ3JvdW5kLCAgIGNvbW1hKTtcbiAgfVxuXG4gIGJhY2tncm91bmQ6ICR3ZWJraXQtYmFja2dyb3VuZHM7XG4gIGJhY2tncm91bmQ6ICRzcGVjLWJhY2tncm91bmRzO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2dyb3VuZC1pbWFnZSBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmQgaW1hZ2VzIHdpdGhcbi8vIGdyYWRpZW50cywgb3IgZm9yIHN0cmluZ2luZyBtdWx0aXBsZSBncmFkaWVudHMgdG9nZXRoZXIuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5cbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlKCRpbWFnZXMuLi4pIHtcbiAgJHdlYmtpdC1pbWFnZXM6ICgpO1xuICAkc3BlYy1pbWFnZXM6ICgpO1xuXG4gIEBlYWNoICRpbWFnZSBpbiAkaW1hZ2VzIHtcbiAgICAkd2Via2l0LWltYWdlOiAoKTtcbiAgICAkc3BlYy1pbWFnZTogKCk7XG5cbiAgICBAaWYgKHR5cGUtb2YoJGltYWdlKSA9PSBzdHJpbmcpIHtcbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGltYWdlLCAwLCAzKTtcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGltYWdlLCAwLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWltYWdlOiAkaW1hZ2U7XG4gICAgICAgICAgJHNwZWMtaW1hZ2U6ICRpbWFnZTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6ICBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWltYWdlOiAgICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKTtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1pbWFnZTogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgICR3ZWJraXQtaW1hZ2VzOiBhcHBlbmQoJHdlYmtpdC1pbWFnZXMsICR3ZWJraXQtaW1hZ2UsIGNvbW1hKTtcbiAgICAkc3BlYy1pbWFnZXM6ICAgYXBwZW5kKCRzcGVjLWltYWdlcywgICAkc3BlYy1pbWFnZSwgICBjb21tYSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWltYWdlOiAkd2Via2l0LWltYWdlcztcbiAgYmFja2dyb3VuZC1pbWFnZTogJHNwZWMtaW1hZ2VzO1xufVxuIiwiQG1peGluIGJvcmRlci1pbWFnZSgkYm9yZGVycy4uLikge1xuICAkd2Via2l0LWJvcmRlcnM6ICgpO1xuICAkc3BlYy1ib3JkZXJzOiAoKTtcblxuICBAZWFjaCAkYm9yZGVyIGluICRib3JkZXJzIHtcbiAgICAkd2Via2l0LWJvcmRlcjogKCk7XG4gICAgJHNwZWMtYm9yZGVyOiAoKTtcbiAgICAkYm9yZGVyLXR5cGU6IHR5cGUtb2YoJGJvcmRlcik7XG5cbiAgICBAaWYgJGJvcmRlci10eXBlID09IHN0cmluZyBvciBsaXN0IHtcbiAgICAgICRib3JkZXItc3RyOiBpZigkYm9yZGVyLXR5cGUgPT0gbGlzdCwgbnRoKCRib3JkZXIsIDEpLCAkYm9yZGVyKTtcblxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkYm9yZGVyLXN0ciwgMCwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRib3JkZXItc3RyLCAwLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgICAkc3BlYy1ib3JkZXI6ICRib3JkZXI7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcihcIiN7JGJvcmRlcn1cIik7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoXCIjeyRib3JkZXJ9XCIpO1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgICAkc3BlYy1ib3JkZXI6ICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICRzcGVjLWJvcmRlcjogJGJvcmRlcjtcbiAgICB9XG5cbiAgICAkd2Via2l0LWJvcmRlcnM6IGFwcGVuZCgkd2Via2l0LWJvcmRlcnMsICR3ZWJraXQtYm9yZGVyLCBjb21tYSk7XG4gICAgJHNwZWMtYm9yZGVyczogICBhcHBlbmQoJHNwZWMtYm9yZGVycywgICAkc3BlYy1ib3JkZXIsICAgY29tbWEpO1xuICB9XG5cbiAgLXdlYmtpdC1ib3JkZXItaW1hZ2U6ICR3ZWJraXQtYm9yZGVycztcbiAgICAgICAgICBib3JkZXItaW1hZ2U6ICRzcGVjLWJvcmRlcnM7XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cblxuLy9FeGFtcGxlczpcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHVybChcImltYWdlLnBuZ1wiKSAyMCBzdHJldGNoKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgc3RyZXRjaCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgMjAgMzAgNDAgNTAgc3RyZXRjaCByb3VuZCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UocmFkaWFsLWdyYWRpZW50KHRvcCwgY292ZXIsIG9yYW5nZSwgeWVsbG93LCBvcmFuZ2UpKTtcbiIsIi8vIEJvcmRlciBSYWRpdXMgKFNob3J0aGFuZClcbi8vIFByb3ZpZGVzIGEgc2hvcnRoYW5kIHN5bnRheCB0byB0YXJnZXQgYW5kIGFkZCBib3JkZXIgcmFkaWkgdG8gYm90aCBjb3JuZXJzIG9uIG9uZSBzaWRlIG9mIGEgYm94XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGlpO1xufVxuIiwiQG1peGluIGJveC1zaXppbmcgKCRib3gpIHtcbi8vICBjb250ZW50LWJveCB8IGJvcmRlci1ib3ggfCBpbmhlcml0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1zaXppbmcsICRib3gsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gY2FsYygkcHJvcGVydHksICR2YWx1ZSkge1xuICAjeyRwcm9wZXJ0eX06IC13ZWJraXQtY2FsYygjeyR2YWx1ZX0pO1xuICAjeyRwcm9wZXJ0eX06ICAgICAgICAgY2FsYygjeyR2YWx1ZX0pO1xufVxuIiwiQG1peGluIGNvbHVtbnMoJGFyZzogYXV0bykge1xuLy8gPGNvbHVtbi1jb3VudD4gfHwgPGNvbHVtbi13aWR0aD5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1ucywgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkaW50OiBhdXRvKSB7XG4vLyBhdXRvIHx8IGludGVnZXJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWNvdW50LCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkbGVuZ3RoOiBub3JtYWwpIHtcbi8vIG5vcm1hbCB8fCBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWdhcCwgJGxlbmd0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1maWxsKCRhcmc6IGF1dG8pIHtcbi8vIGF1dG8gfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1maWxsLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUoJGFyZykge1xuLy8gPGJvcmRlci13aWR0aD4gfHwgPGJvcmRlci1zdHlsZT4gfHwgPGNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZSwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLWNvbG9yKCRjb2xvcikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS1jb2xvciwgJGNvbG9yLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUtc3R5bGUoJHN0eWxlOiBub25lKSB7XG4vLyBub25lIHwgaGlkZGVuIHwgZGFzaGVkIHwgZG90dGVkIHwgZG91YmxlIHwgZ3Jvb3ZlIHwgaW5zZXQgfCBpbnNldCB8IG91dHNldCB8IHJpZGdlIHwgc29saWRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtc3R5bGUsICRzdHlsZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLXdpZHRoICgkd2lkdGg6IG5vbmUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtd2lkdGgsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1zcGFuKCRhcmc6IG5vbmUpIHtcbi8vIG5vbmUgfHwgYWxsXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1zcGFuLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXdpZHRoKCRsZW5ndGg6IGF1dG8pIHtcbi8vIGF1dG8gfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi13aWR0aCwgJGxlbmd0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiBmaWx0ZXIoJGZ1bmN0aW9uOiBub25lKSB7XG4gIC8vIDxmaWx0ZXItZnVuY3Rpb24+IFs8ZmlsdGVyLWZ1bmN0aW9uXSogfCBub25lXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZpbHRlciwgJGZ1bmN0aW9uLCB3ZWJraXQgc3BlYyk7XG59XG5cbiIsIi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuXG4vLyBDdXN0b20gc2hvcnRoYW5kIG5vdGF0aW9uIGZvciBmbGV4Ym94XG5AbWl4aW4gYm94KCRvcmllbnQ6IGlubGluZS1heGlzLCAkcGFjazogc3RhcnQsICRhbGlnbjogc3RyZXRjaCkge1xuICBAaW5jbHVkZSBkaXNwbGF5LWJveDtcbiAgQGluY2x1ZGUgYm94LW9yaWVudCgkb3JpZW50KTtcbiAgQGluY2x1ZGUgYm94LXBhY2soJHBhY2spO1xuICBAaW5jbHVkZSBib3gtYWxpZ24oJGFsaWduKTtcbn1cblxuQG1peGluIGRpc3BsYXktYm94IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gSUUgMTBcbiAgZGlzcGxheTogYm94O1xufVxuXG5AbWl4aW4gYm94LW9yaWVudCgkb3JpZW50OiBpbmxpbmUtYXhpcykge1xuLy8gaG9yaXpvbnRhbHx2ZXJ0aWNhbHxpbmxpbmUtYXhpc3xibG9jay1heGlzfGluaGVyaXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJG9yaWVudCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1wYWNrKCRwYWNrOiBzdGFydCkge1xuLy8gc3RhcnR8ZW5kfGNlbnRlcnxqdXN0aWZ5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkcGFjaywgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcGFjazogJHBhY2s7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtYWxpZ24oJGFsaWduOiBzdHJldGNoKSB7XG4vLyBzdGFydHxlbmR8Y2VudGVyfGJhc2VsaW5lfHN0cmV0Y2hcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWxpZ24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LWFsaWduOiAkYWxpZ247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZGlyZWN0aW9uKCRkaXJlY3Rpb246IG5vcm1hbCkge1xuLy8gbm9ybWFsfHJldmVyc2V8aW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtbGluZXMoJGxpbmVzOiBzaW5nbGUpIHtcbi8vIHNpbmdsZXxtdWx0aXBsZVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRsaW5lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1vcmRpbmFsLWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LW9yZGVyOiAkaW50OyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWZsZXgoJHZhbHVlOiAwLjApIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXg6ICR2YWx1ZTsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1mbGV4LWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuLy8gVW5pZmllZCBhdHRyaWJ1dGVzIGZvciAyMDA5LCAyMDExLCBhbmQgMjAxMiBmbGF2b3Vycy5cblxuLy8gMjAwOSAtIGRpc3BsYXkgKGJveCB8IGlubGluZS1ib3gpXG4vLyAyMDExIC0gZGlzcGxheSAoZmxleGJveCB8IGlubGluZS1mbGV4Ym94KVxuLy8gMjAxMiAtIGRpc3BsYXkgKGZsZXggfCBpbmxpbmUtZmxleClcbkBtaXhpbiBkaXNwbGF5KCR2YWx1ZSkge1xuLy8gZmxleCB8IGlubGluZS1mbGV4XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4XCIge1xuICAgIC8vIDIwMDlcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbW96LWJveDtcbiAgICBkaXNwbGF5OiBib3g7XG5cbiAgICAvLyAyMDEyXG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tb3otZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gMjAxMSAoSUUgMTApXG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIEBlbHNlaWYgJHZhbHVlID09IFwiaW5saW5lLWZsZXhcIiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYm94O1xuXG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8gMjAwOSAtIGJveC1mbGV4IChpbnRlZ2VyKVxuLy8gMjAxMSAtIGZsZXggKGRlY2ltYWwgfCB3aWR0aCBkZWNpbWFsKVxuLy8gMjAxMiAtIGZsZXggKGludGVnZXIgaW50ZWdlciB3aWR0aClcbkBtaXhpbiBmbGV4KCR2YWx1ZSkge1xuXG4gIC8vIEdyYWIgZmxleC1ncm93IGZvciBvbGRlciBicm93c2Vycy5cbiAgJGZsZXgtZ3JvdzogbnRoKCR2YWx1ZSwgMSk7XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleCwgJGZsZXgtZ3Jvdywgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMCksIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gYm94LW9yaWVudCAoIGhvcml6b250YWwgfCB2ZXJ0aWNhbCB8IGlubGluZS1heGlzIHwgYmxvY2stYXhpcylcbi8vICAgICAgLSBib3gtZGlyZWN0aW9uIChub3JtYWwgfCByZXZlcnNlKVxuLy8gMjAxMSAtIGZsZXgtZGlyZWN0aW9uIChyb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlKVxuLy8gMjAxMiAtIGZsZXgtZGlyZWN0aW9uIChyb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlKVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZTogcm93KSB7XG5cbiAgLy8gQWx0IHZhbHVlcy5cbiAgJHZhbHVlLTIwMDk6ICR2YWx1ZTtcbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgJGRpcmVjdGlvbjogXCJub3JtYWxcIjtcblxuICBAaWYgJHZhbHVlID09IHJvdyB7XG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gIH1cblxuICBAZWxzZWlmICR2YWx1ZSA9PSBcInJvdy1yZXZlcnNlXCIge1xuICAgICR2YWx1ZS0yMDA5OiBob3Jpem9udGFsO1xuICAgICRkaXJlY3Rpb246IHJldmVyc2U7XG4gIH1cblxuICBAZWxzZWlmICR2YWx1ZSA9PSBjb2x1bW4ge1xuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcbiAgfVxuXG4gIEBlbHNlaWYgJHZhbHVlID09IFwiY29sdW1uLXJldmVyc2VcIiB7XG4gICAgJHZhbHVlLTIwMDk6IHZlcnRpY2FsO1xuICAgICRkaXJlY3Rpb246IHJldmVyc2U7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmllbnQsICR2YWx1ZS0yMDA5LCB3ZWJraXQgbW96IHNwZWMpO1xuICBAaWYgJGRpcmVjdGlvbiA9PSBcInJldmVyc2VcIiB7XG4gICAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWRpcmVjdGlvbiwgJGRpcmVjdGlvbiwgd2Via2l0IG1veiBzcGVjKTtcbiAgfVxuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1kaXJlY3Rpb24sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbi8vIDIwMDkgLSBib3gtbGluZXMgKHNpbmdsZSB8IG11bHRpcGxlKVxuLy8gMjAxMSAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LXdyYXAgKG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2UpXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZTogbm93cmFwKSB7XG5cbiAgLy8gQWx0IHZhbHVlc1xuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gbm93cmFwIHtcbiAgICAkYWx0LXZhbHVlOiBzaW5nbGU7XG4gIH1cblxuICBAZWxzZWlmICR2YWx1ZSA9PSB3cmFwIHtcbiAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcbiAgfVxuXG4gIEBlbHNlaWYgJHZhbHVlID09IFwid3JhcC1yZXZlcnNlXCIge1xuICAgICRhbHQtdmFsdWU6IG11bHRpcGxlO1xuICB9XG5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWxpbmVzLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXdyYXAsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxuLy8gMjAxMSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxuLy8gMjAxMiAtIGZsZXgtZmxvdyAoZmxleC1kaXJlY3Rpb24gfHwgZmxleC13cmFwKVxuQG1peGluIGZsZXgtZmxvdygkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1mbG93LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbi8vIDIwMDkgLSBib3gtb3JkaW5hbC1ncm91cCAoaW50ZWdlcilcbi8vIDIwMTEgLSBmbGV4LW9yZGVyIChpbnRlZ2VyKVxuLy8gMjAxMiAtIG9yZGVyIChpbnRlZ2VyKVxuQG1peGluIG9yZGVyKCRpbnQ6IDApIHtcbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKG9yZGVyLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1vcmRlcjogJGludDtcbn1cblxuLy8gMjAxMiAtIGZsZXgtZ3JvdyAobnVtYmVyKVxuQG1peGluIGZsZXgtZ3JvdygkbnVtYmVyOiAwKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZ3JvdywgJG51bWJlciwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcG9zaXRpdmU6ICRudW1iZXI7XG59XG5cbi8vIDIwMTIgLSBmbGV4LXNocmluayAobnVtYmVyKVxuQG1peGluIGZsZXgtc2hyaW5rKCRudW1iZXI6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1zaHJpbmssICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAkbnVtYmVyO1xufVxuXG4vLyAyMDEyIC0gZmxleC1iYXNpcyAobnVtYmVyKVxuQG1peGluIGZsZXgtYmFzaXMoJHdpZHRoOiBhdXRvKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtYmFzaXMsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6ICR3aWR0aDtcbn1cblxuLy8gMjAwOSAtIGJveC1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkpXG4vLyAyMDExIC0gZmxleC1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkpXG4vLyAyMDEyIC0ganVzdGlmeS1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kKVxuQG1peGluIGp1c3RpZnktY29udGVudCgkdmFsdWU6IGZsZXgtc3RhcnQpIHtcblxuICAvLyBBbHQgdmFsdWVzLlxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xuICB9XG5cbiAgQGVsc2VpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gIH1cblxuICBAZWxzZWlmICR2YWx1ZSA9PSBcInNwYWNlLWJldHdlZW5cIiB7XG4gICAgJGFsdC12YWx1ZToganVzdGlmeTtcbiAgfVxuXG4gIEBlbHNlaWYgJHZhbHVlID09IFwic3BhY2UtYXJvdW5kXCIge1xuICAgICRhbHQtdmFsdWU6IGRpc3RyaWJ1dGU7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoanVzdGlmeS1jb250ZW50LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtcGFjazogJGFsdC12YWx1ZTtcbn1cblxuLy8gMjAwOSAtIGJveC1hbGlnbiAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG4vLyAyMDExIC0gZmxleC1hbGlnbiAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG4vLyAyMDEyIC0gYWxpZ24taXRlbXMgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1pdGVtcygkdmFsdWU6IHN0cmV0Y2gpIHtcblxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG5cbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJGFsdC12YWx1ZTogc3RhcnQ7XG4gIH1cblxuICBAZWxzZWlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICRhbHQtdmFsdWU6IGVuZDtcbiAgfVxuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24taXRlbXMsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1hbGlnbjogJGFsdC12YWx1ZTtcbn1cblxuLy8gMjAxMSAtIGZsZXgtaXRlbS1hbGlnbiAoYXV0byB8IHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLXNlbGYgKGF1dG8gfCBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24tc2VsZigkdmFsdWU6IGF1dG8pIHtcblxuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkdmFsdWUtMjAxMTogc3RhcnQ7XG4gIH1cblxuICBAZWxzZWlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBlbmQ7XG4gIH1cblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLXNlbGYsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogJHZhbHVlLTIwMTE7XG59XG5cbi8vIDIwMTEgLSBmbGV4LWxpbmUtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5IHwgZGlzdHJpYnV0ZSB8IHN0cmV0Y2gpXG4vLyAyMDEyIC0gYWxpZ24tY29udGVudCAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZCB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24tY29udGVudCgkdmFsdWU6IHN0cmV0Y2gpIHtcblxuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkdmFsdWUtMjAxMTogc3RhcnQ7XG4gIH1cblxuICBAZWxzZWlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBlbmQ7XG4gIH1cblxuICBAZWxzZWlmICR2YWx1ZSA9PSBcInNwYWNlLWJldHdlZW5cIiB7XG4gICAgJHZhbHVlLTIwMTE6IGp1c3RpZnk7XG4gIH1cblxuICBAZWxzZWlmICR2YWx1ZSA9PSBcInNwYWNlLWFyb3VuZFwiIHtcbiAgICAkdmFsdWUtMjAxMTogZGlzdHJpYnV0ZTtcbiAgfVxuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tY29udGVudCwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1saW5lLXBhY2s6ICR2YWx1ZS0yMDExO1xufVxuIiwiLy8gT3JkZXIgb2YgdGhlIGluY2x1ZGVzIG1hdHRlcnMsIGFuZCBpdCBpczogbm9ybWFsLCBib2xkLCBpdGFsaWMsIGJvbGQraXRhbGljLlxuXG5AbWl4aW4gZm9udC1mYWNlKFxuICAkZm9udC1mYW1pbHksXG4gICRmaWxlLXBhdGgsXG4gICR3ZWlnaHQ6IG5vcm1hbCxcbiAgJHN0eWxlOiBub3JtYWwsXG4gICRhc3NldC1waXBlbGluZTogJGFzc2V0LXBpcGVsaW5lLFxuICAkZmlsZS1mb3JtYXRzOiBlb3Qgd29mZiB0dGYgc3ZnKSB7XG5cbiAgJGZvbnQtdXJsLXByZWZpeDogZm9udC11cmwtcHJlZml4ZXIoJGFzc2V0LXBpcGVsaW5lKTtcblxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcblxuICAgIEBpZiBjb250YWlucygkZmlsZS1mb3JtYXRzLCBlb3QpIHtcbiAgICAgIHNyYzogXCIjeyRmb250LXVybC1wcmVmaXh9KCcjeyRmaWxlLXBhdGh9LmVvdCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKVwiO1xuICAgIH1cblxuICAgIHNyYzogZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXG4gICAgICAkZm9udC1mYW1pbHksXG4gICAgICAkZmlsZS1wYXRoLFxuICAgICAgJGFzc2V0LXBpcGVsaW5lLFxuICAgICAgJGZpbGUtZm9ybWF0cyxcbiAgICAgICRmb250LXVybC1wcmVmaXhcbiAgICApO1xuICB9XG59XG4iLCIvLyBGb250IGZlYXR1cmUgc2V0dGluZ3MgbWl4aW4gYW5kIHByb3BlcnR5IGRlZmF1bHQuXG4vLyBFeGFtcGxlczogQGluY2x1ZGUgZm9udC1mZWF0dXJlLXNldHRpbmdzKFwibGlnYVwiKTtcbi8vICAgICAgICAgICBAaW5jbHVkZSBmb250LWZlYXR1cmUtc2V0dGluZ3MoXCJsbnVtXCIgZmFsc2UpO1xuLy8gICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmVhdHVyZS1zZXR0aW5ncyhcInBudW1cIiAxLCBcImtlcm5cIiAwKTtcbi8vICAgICAgICAgICBAaW5jbHVkZSBmb250LWZlYXR1cmUtc2V0dGluZ3MoXCJzczAxXCIsIFwic3MwMlwiKTtcblxuQG1peGluIGZvbnQtZmVhdHVyZS1zZXR0aW5ncygkc2V0dGluZ3MuLi4pIHtcbiAgQGlmIGxlbmd0aCgkc2V0dGluZ3MpID09IDAgeyAkc2V0dGluZ3M6IG5vbmU7IH1cbiAgQGluY2x1ZGUgcHJlZml4ZXIoZm9udC1mZWF0dXJlLXNldHRpbmdzLCAkc2V0dGluZ3MsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59IiwiLy8gSGlEUEkgbWl4aW4uIERlZmF1bHQgdmFsdWUgc2V0IHRvIDEuMyB0byB0YXJnZXQgR29vZ2xlIE5leHVzIDcgKGh0dHA6Ly9iamFuZ28uY29tL2FydGljbGVzL21pbi1kZXZpY2UtcGl4ZWwtcmF0aW8vKVxuQG1peGluIGhpZHBpKCRyYXRpbzogMS4zKSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gIG9ubHkgc2NyZWVuIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogI3skcmF0aW99LzEpLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiByb3VuZCgkcmF0aW8gKiA5NmRwaSkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAkcmF0aW8gKiAxZHBweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAbWl4aW4gaHlwaGVucygkaHlwaGVuYXRpb246IG5vbmUpIHtcbi8vIG5vbmUgfCBtYW51YWwgfCBhdXRvXG4gIEBpbmNsdWRlIHByZWZpeGVyKGh5cGhlbnMsICRoeXBoZW5hdGlvbiwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn0iLCJAbWl4aW4gaW1hZ2UtcmVuZGVyaW5nICgkbW9kZTphdXRvKSB7XG5cbiAgQGlmICgkbW9kZSA9PSBjcmlzcC1lZGdlcykge1xuICAgICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogbmVhcmVzdC1uZWlnaGJvcjsgLy8gSUU4K1xuICAgICAgaW1hZ2UtcmVuZGVyaW5nOiAtbW96LWNyaXNwLWVkZ2VzO1xuICAgICAgaW1hZ2UtcmVuZGVyaW5nOiAtby1jcmlzcC1lZGdlcztcbiAgICAgIGltYWdlLXJlbmRlcmluZzogLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdDtcbiAgICAgIGltYWdlLXJlbmRlcmluZzogY3Jpc3AtZWRnZXM7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgICBpbWFnZS1yZW5kZXJpbmc6ICRtb2RlO1xuICB9XG59XG4iLCIvLyBBZGRzIGtleWZyYW1lcyBibG9ja3MgZm9yIHN1cHBvcnRlZCBwcmVmaXhlcywgcmVtb3ZpbmcgcmVkdW5kYW50IHByZWZpeGVzIGluIHRoZSBibG9jaydzIGNvbnRlbnRcbkBtaXhpbiBrZXlmcmFtZXMoJG5hbWUpIHtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0OiAgICAkcHJlZml4LWZvci13ZWJraXQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGE6ICAgJHByZWZpeC1mb3ItbW96aWxsYTtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbWljcm9zb2Z0OiAkcHJlZml4LWZvci1taWNyb3NvZnQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhOiAgICAgJHByZWZpeC1mb3Itb3BlcmE7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWM6ICAgICAgJHByZWZpeC1mb3Itc3BlYztcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0IHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3Itd2Via2l0OiB0cnVlICFnbG9iYWw7XG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xuICAgICRwcmVmaXgtZm9yLW1vemlsbGE6IHRydWUgIWdsb2JhbDtcbiAgICBALW1vei1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQgICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1vcGVyYSAgICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjICAgICAgIWdsb2JhbDtcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYyB7XG4gICAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJHBvcywgJEcxLCAkRzI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRHMzogbnVsbCwgJEc0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkRzU6IG51bGwsICRHNjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJEc3OiBudWxsLCAkRzg6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRHOTogbnVsbCwgJEcxMDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XG4gIC8vIERldGVjdCB3aGF0IHR5cGUgb2YgdmFsdWUgZXhpc3RzIGluICRwb3NcbiAgJHBvcy10eXBlOiB0eXBlLW9mKG50aCgkcG9zLCAxKSk7XG4gICRwb3Mtc3BlYzogbnVsbDtcbiAgJHBvcy1kZWdyZWU6IG51bGw7XG5cbiAgLy8gSWYgJHBvcyBpcyBtaXNzaW5nIGZyb20gbWl4aW4sIHJlYXNzaWduIHZhcnMgYW5kIGFkZCBkZWZhdWx0IHBvc2l0aW9uXG4gIEBpZiAoJHBvcy10eXBlID09IGNvbG9yKSBvciAobnRoKCRwb3MsIDEpID09IFwidHJhbnNwYXJlbnRcIikgIHtcbiAgICAkRzEwOiAkRzk7ICRHOTogJEc4OyAkRzg6ICRHNzsgJEc3OiAkRzY7ICRHNjogJEc1O1xuICAgICAkRzU6ICRHNDsgJEc0OiAkRzM7ICRHMzogJEcyOyAkRzI6ICRHMTsgJEcxOiAkcG9zO1xuICAgICAkcG9zOiBudWxsO1xuICB9XG5cbiAgQGlmICRwb3Mge1xuICAgICRwb3NpdGlvbnM6IF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkcG9zKTtcbiAgICAkcG9zLWRlZ3JlZTogbnRoKCRwb3NpdGlvbnMsIDEpO1xuICAgICRwb3Mtc3BlYzogICBudGgoJHBvc2l0aW9ucywgMik7XG4gIH1cblxuICAkZnVsbDogJEcxLCAkRzIsICRHMywgJEc0LCAkRzUsICRHNiwgJEc3LCAkRzgsICRHOSwgJEcxMDtcblxuICAvLyBTZXQgJEcxIGFzIHRoZSBkZWZhdWx0IGZhbGxiYWNrIGNvbG9yXG4gICRmYWxsYmFjay1jb2xvcjogbnRoKCRHMSwgMSk7XG5cbiAgLy8gSWYgJGZhbGxiYWNrIGlzIGEgY29sb3IgdXNlIHRoYXQgY29sb3IgYXMgdGhlIGZhbGxiYWNrIGNvbG9yXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGZhbGxiYWNrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkcG9zLWRlZ3JlZSAkZnVsbCk7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWVcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5xdW90ZShcImxpbmVhci1ncmFkaWVudCgjeyRwb3Mtc3BlY30jeyRmdWxsfSlcIik7XG59XG4iLCJAbWl4aW4gcGVyc3BlY3RpdmUoJGRlcHRoOiBub25lKSB7XG4gIC8vIG5vbmUgfCA8bGVuZ3RoPlxuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZSwgJGRlcHRoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCR2YWx1ZTogNTAlIDUwJSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZS1vcmlnaW4sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICRwbGFjZWhvbGRlcnM6IFwiOi13ZWJraXQtaW5wdXRcIiBcIjotbW96XCIgXCItbW96XCIgXCItbXMtaW5wdXRcIjtcbiAgQGVhY2ggJHBsYWNlaG9sZGVyIGluICRwbGFjZWhvbGRlcnMge1xuICAgICY6I3skcGxhY2Vob2xkZXJ9LXBsYWNlaG9sZGVyIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmVxdWlyZXMgU2FzcyAzLjErXG5AbWl4aW4gcmFkaWFsLWdyYWRpZW50KCRHMSwgICAgICAgICRHMixcbiAgICAgICAgICAgICAgICAgICAgICAgJEczOiBudWxsLCAkRzQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRHNTogbnVsbCwgJEc2OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkRzc6IG51bGwsICRHODogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJEc5OiBudWxsLCAkRzEwOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkcG9zOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkc2hhcGUtc2l6ZTogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XG5cbiAgJGRhdGE6IF9yYWRpYWwtYXJnLXBhcnNlcigkRzEsICRHMiwgJHBvcywgJHNoYXBlLXNpemUpO1xuICAkRzE6ICBudGgoJGRhdGEsIDEpO1xuICAkRzI6ICBudGgoJGRhdGEsIDIpO1xuICAkcG9zOiBudGgoJGRhdGEsIDMpO1xuICAkc2hhcGUtc2l6ZTogbnRoKCRkYXRhLCA0KTtcblxuICAkZnVsbDogJEcxLCAkRzIsICRHMywgJEc0LCAkRzUsICRHNiwgJEc3LCAkRzgsICRHOSwgJEcxMDtcblxuICAvLyBTdHJpcCBkZXByZWNhdGVkIGNvdmVyL2NvbnRhaW4gZm9yIHNwZWNcbiAgJHNoYXBlLXNpemUtc3BlYzogX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpO1xuXG4gIC8vIFNldCAkRzEgYXMgdGhlIGRlZmF1bHQgZmFsbGJhY2sgY29sb3JcbiAgJGZpcnN0LWNvbG9yOiBudGgoJGZ1bGwsIDEpO1xuICAkZmFsbGJhY2stY29sb3I6IG50aCgkZmlyc3QtY29sb3IsIDEpO1xuXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xuICB9XG5cbiAgLy8gQWRkIENvbW1hcyBhbmQgc3BhY2VzXG4gICRzaGFwZS1zaXplOiBpZigkc2hhcGUtc2l6ZSwgJyN7JHNoYXBlLXNpemV9LCAnLCBudWxsKTtcbiAgJHBvczogICAgICAgIGlmKCRwb3MsICcjeyRwb3N9LCAnLCBudWxsKTtcbiAgJHBvcy1zcGVjOiAgIGlmKCRwb3MsICdhdCAjeyRwb3N9JywgbnVsbCk7XG4gICRzaGFwZS1zaXplLXNwZWM6IGlmKCgkc2hhcGUtc2l6ZS1zcGVjICE9ICcgJykgYW5kICgkcG9zID09IG51bGwpLCAnI3skc2hhcGUtc2l6ZS1zcGVjfSwgJywgJyN7JHNoYXBlLXNpemUtc3BlY30gJyk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogICRmYWxsYmFjay1jb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQodW5xdW90ZSgjeyRwb3N9I3skc2hhcGUtc2l6ZX0jeyRmdWxsfSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKFwicmFkaWFsLWdyYWRpZW50KCN7JHNoYXBlLXNpemUtc3BlY30jeyRwb3Mtc3BlY30jeyRmdWxsfSlcIik7XG59XG4iLCJAbWl4aW4gc2VsZWN0aW9uIHtcbiAgJGJlZm9yZS1jb2xvbnM6IFwiXCI7XG5cbiAgQGlmICYge1xuICAgICRiZWZvcmUtY29sb25zOiBcIiZcIlxuICB9XG5cbiAgI3skYmVmb3JlLWNvbG9uc306OnNlbGVjdGlvbiB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgI3skYmVmb3JlLWNvbG9uc306Oi1tb3otc2VsZWN0aW9uIHtcbiAgICBAY29udGVudDtcbiAgfVxufSIsIkBtaXhpbiB0ZXh0LWRlY29yYXRpb24oJHZhbHVlKSB7XG4vLyA8dGV4dC1kZWNvcmF0aW9uLWxpbmU+IHx8IDx0ZXh0LWRlY29yYXRpb24tc3R5bGU+IHx8IDx0ZXh0LWRlY29yYXRpb24tY29sb3I+XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbiwgJHZhbHVlLCBtb3opO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLWxpbmUoJGxpbmU6IG5vbmUpIHtcbi8vIG5vbmUgfHwgdW5kZXJsaW5lIHx8IG92ZXJsaW5lIHx8IGxpbmUtdGhyb3VnaFxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tbGluZSwgJGxpbmUsIG1veik7XG59XG5cbkBtaXhpbiB0ZXh0LWRlY29yYXRpb24tc3R5bGUoJHN0eWxlOiBzb2xpZCkge1xuLy8gc29saWQgfHwgZG91YmxlIHx8IGRvdHRlZCB8fCBkYXNoZWQgfHwgd2F2eVxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tc3R5bGUsICRzdHlsZSwgbW96IHdlYmtpdCk7XG59XG5cbkBtaXhpbiB0ZXh0LWRlY29yYXRpb24tY29sb3IoJGNvbG9yOiBjdXJyZW50Q29sb3IpIHtcbi8vIGN1cnJlbnRDb2xvciB8fCA8Y29sb3I+XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1jb2xvciwgJGNvbG9yLCBtb3opO1xufVxuIiwiQG1peGluIHRyYW5zZm9ybSgkcHJvcGVydHk6IG5vbmUpIHtcbi8vICBub25lIHwgPHRyYW5zZm9ybS1mdW5jdGlvbj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLCAkcHJvcGVydHksIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJGF4ZXM6IDUwJSkge1xuLy8geC1heGlzIC0gbGVmdCB8IGNlbnRlciB8IHJpZ2h0ICB8IGxlbmd0aCB8ICVcbi8vIHktYXhpcyAtIHRvcCAgfCBjZW50ZXIgfCBib3R0b20gfCBsZW5ndGggfCAlXG4vLyB6LWF4aXMgLSAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybS1vcmlnaW4sICRheGVzLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2Zvcm0tc3R5bGUgKCRzdHlsZTogZmxhdCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0tc3R5bGUsICRzdHlsZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuIiwiLy8gU2hvcnRoYW5kIG1peGluLiBTdXBwb3J0cyBtdWx0aXBsZSBwYXJlbnRoZXNlcy1kZWxpbWluYXRlZCB2YWx1ZXMgZm9yIGVhY2ggdmFyaWFibGUuXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSB0cmFuc2l0aW9uIChhbGwgMnMgZWFzZS1pbi1vdXQpO1xuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiAob3BhY2l0eSAxcyBlYXNlLWluIDJzLCB3aWR0aCAycyBlYXNlLW91dCk7XG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLXByb3BlcnR5ICh0cmFuc2Zvcm0sIG9wYWNpdHkpO1xuXG5AbWl4aW4gdHJhbnNpdGlvbiAoJHByb3BlcnRpZXMuLi4pIHtcbiAgLy8gRml4IGZvciB2ZW5kb3ItcHJlZml4IHRyYW5zZm9ybSBwcm9wZXJ0eVxuICAkbmVlZHMtcHJlZml4ZXM6IGZhbHNlO1xuICAkd2Via2l0OiAoKTtcbiAgJG1vejogKCk7XG4gICRzcGVjOiAoKTtcblxuICAvLyBDcmVhdGUgbGlzdHMgZm9yIHZlbmRvci1wcmVmaXhlZCB0cmFuc2Zvcm1cbiAgQGVhY2ggJGxpc3QgaW4gJHByb3BlcnRpZXMge1xuICAgIEBpZiBudGgoJGxpc3QsIDEpID09IFwidHJhbnNmb3JtXCIge1xuICAgICAgJG5lZWRzLXByZWZpeGVzOiB0cnVlO1xuICAgICAgJGxpc3QxOiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAgICRsaXN0MjogLW1vei10cmFuc2Zvcm07XG4gICAgICAkbGlzdDM6ICgpO1xuXG4gICAgICBAZWFjaCAkdmFyIGluICRsaXN0IHtcbiAgICAgICAgJGxpc3QzOiBqb2luKCRsaXN0MywgJHZhcik7XG5cbiAgICAgICAgQGlmICR2YXIgIT0gXCJ0cmFuc2Zvcm1cIiB7XG4gICAgICAgICAgJGxpc3QxOiBqb2luKCRsaXN0MSwgJHZhcik7XG4gICAgICAgICAgJGxpc3QyOiBqb2luKCRsaXN0MiwgJHZhcik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJHdlYmtpdDogYXBwZW5kKCR3ZWJraXQsICRsaXN0MSk7XG4gICAgICAgICAkbW96OiBhcHBlbmQoJG1veiwgICAgJGxpc3QyKTtcbiAgICAgICAgJHNwZWM6IGFwcGVuZCgkc3BlYywgICAkbGlzdDMpO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSBsaXN0cyBmb3Igbm9uLXByZWZpeGVkIHRyYW5zaXRpb24gcHJvcGVydGllc1xuICAgIEBlbHNlIHtcbiAgICAgICR3ZWJraXQ6ICBhcHBlbmQoJHdlYmtpdCwgJGxpc3QsIGNvbW1hKTtcbiAgICAgICRtb3o6ICAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QsIGNvbW1hKTtcbiAgICAgICRzcGVjOiAgICBhcHBlbmQoJHNwZWMsICAgJGxpc3QsIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJG5lZWRzLXByZWZpeGVzIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICR3ZWJraXQ7XG4gICAgICAgLW1vei10cmFuc2l0aW9uOiAkbW96O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJHNwZWM7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiBsZW5ndGgoJHByb3BlcnRpZXMpID49IDEge1xuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHByb3BlcnRpZXM6IGFsbCAwLjE1cyBlYXNlLW91dCAwcztcbiAgICAgIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24sICRwcm9wZXJ0aWVzLCB3ZWJraXQgbW96IHNwZWMpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1wcm9wZXJ0eSAoJHByb3BlcnRpZXMuLi4pIHtcbiAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgJ3dlYmtpdCcpO1xuICAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCAnbW96Jyk7XG4gICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsIGZhbHNlKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24gKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiAoJG1vdGlvbnMuLi4pIHtcbi8vIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dCB8IGN1YmljLWJlemllcigpXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkbW90aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkgKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gdXNlci1zZWxlY3QoJGFyZzogbm9uZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcih1c2VyLXNlbGVjdCwgJGFyZywgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cbiIsIi8vIFRoZSBjbGVhcmZpeCBtaXhpbiBwcm92aWRlcyBhbiBlYXN5IHdheSB0byBjb250YWluIGZsb2F0c1xuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6XG4vLyAud3JhcHBlciB7XG4vLyAgIEBpbmNsdWRlIGNsZWFyZml4O1xuLy8gfVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxufVxuXG4vLyBBY2tub3dsZWRnZW1lbnRzOlxuLy8gVGhpZXJyeSBLb2JsZW50eiwgY3NzbW9qb1xuLy8gaHR0cDovL2dvby5nbC9BUVd2eUhcbiIsIi8vIGRpcmVjdGlvbmFsLXByb3BlcnR5IG1peGlucyBhcmUgc2hvcnRoYW5kc1xuLy8gZm9yIHdyaXRpbmcgcHJvcGVydGllcyBsaWtlIHRoZSBmb2xsb3dpbmdcbi8vXG4vLyBAaW5jbHVkZSBtYXJnaW4obnVsbCAwIDEwcHgpO1xuLy8gLS0tLS0tXG4vLyBtYXJnaW4tcmlnaHQ6IDA7XG4vLyBtYXJnaW4tYm90dG9tOiAxMHB4O1xuLy8gbWFyZ2luLWxlZnQ6IDA7XG4vL1xuLy8gLSBvciAtXG4vL1xuLy8gQGluY2x1ZGUgYm9yZGVyLXN0eWxlKGRvdHRlZCBudWxsKTtcbi8vIC0tLS0tLVxuLy8gYm9yZGVyLXRvcC1zdHlsZTogZG90dGVkO1xuLy8gYm9yZGVyLWJvdHRvbS1zdHlsZTogZG90dGVkO1xuLy9cbi8vIC0tLS0tLVxuLy9cbi8vIE5vdGU6IFlvdSBjYW4gYWxzbyB1c2UgZmFsc2UgaW5zdGVhZCBvZiBudWxsXG5cbkBmdW5jdGlvbiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpIHtcbiAgJG91dHB1dDogbnVsbDtcblxuICAkQTogbnRoKCAkdmFscywgMSApO1xuICAkQjogaWYoIGxlbmd0aCgkdmFscykgPCAyLCAkQSwgbnRoKCR2YWxzLCAyKSk7XG4gICRDOiBpZiggbGVuZ3RoKCR2YWxzKSA8IDMsICRBLCBudGgoJHZhbHMsIDMpKTtcbiAgJEQ6IGlmKCBsZW5ndGgoJHZhbHMpIDwgMiwgJEEsIG50aCgkdmFscywgaWYoIGxlbmd0aCgkdmFscykgPCA0LCAyLCA0KSApKTtcblxuICBAaWYgJEEgPT0gMCB7ICRBOiAwIH1cbiAgQGlmICRCID09IDAgeyAkQjogMCB9XG4gIEBpZiAkQyA9PSAwIHsgJEM6IDAgfVxuICBAaWYgJEQgPT0gMCB7ICREOiAwIH1cblxuICBAaWYgJEEgPT0gJEIgYW5kICRBID09ICRDIGFuZCAkQSA9PSAkRCB7ICRvdXRwdXQ6ICRBICAgICAgICAgIH1cbiAgQGVsc2UgaWYgJEEgPT0gJEMgYW5kICRCID09ICREICAgICAgICAgeyAkb3V0cHV0OiAkQSAkQiAgICAgICB9XG4gIEBlbHNlIGlmICRCID09ICREICAgICAgICAgICAgICAgICAgICAgIHsgJG91dHB1dDogJEEgJEIgJEMgICAgfVxuICBAZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRBICRCICRDICREIH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbkBmdW5jdGlvbiBjb250YWlucy1mYWxzeSgkbGlzdCkge1xuICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgQGlmIG5vdCAkaXRlbSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuQG1peGluIGRpcmVjdGlvbmFsLXByb3BlcnR5KCRwcmUsICRzdWYsICR2YWxzKSB7XG4gIC8vIFByb3BlcnR5IE5hbWVzXG4gICR0b3A6ICAgICRwcmUgKyBcIi10b3BcIiAgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRib3R0b206ICRwcmUgKyBcIi1ib3R0b21cIiArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRsZWZ0OiAgICRwcmUgKyBcIi1sZWZ0XCIgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRyaWdodDogICRwcmUgKyBcIi1yaWdodFwiICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRhbGw6ICAgICRwcmUgKyAgICAgICAgICAgICBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuXG4gICR2YWxzOiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpO1xuXG4gIEBpZiBjb250YWlucy1mYWxzeSgkdmFscykge1xuICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skdG9wfTogbnRoKCR2YWxzLCAxKTsgfVxuXG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMSB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHJpZ2h0fTogbnRoKCR2YWxzLCAxKTsgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRyaWdodH06IG50aCgkdmFscywgMik7IH1cbiAgICB9XG5cbiAgICAvLyBwcm9wOiB0b3AvYm90dG9tIHJpZ2h0L2xlZnRcbiAgICBAaWYgbGVuZ3RoKCR2YWxzKSA9PSAyIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAxKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDIpOyB9XG5cbiAgICAvLyBwcm9wOiB0b3AgcmlnaHQvbGVmdCBib3R0b21cbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFscykgPT0gMyB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCAyKTsgfVxuXG4gICAgLy8gcHJvcDogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0XG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDQge1xuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCA0KSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgNCk7IH1cbiAgICB9XG5cbiAgLy8gcHJvcDogdG9wL3JpZ2h0L2JvdHRvbS9sZWZ0XG4gIH0gQGVsc2Uge1xuICAgICN7JGFsbH06ICR2YWxzO1xuICB9XG59XG5cbkBtaXhpbiBtYXJnaW4oJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkobWFyZ2luLCBmYWxzZSwgJHZhbHMuLi4pO1xufVxuXG5AbWl4aW4gcGFkZGluZygkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShwYWRkaW5nLCBmYWxzZSwgJHZhbHMuLi4pO1xufVxuXG5AbWl4aW4gYm9yZGVyLXN0eWxlKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgc3R5bGUsICR2YWxzLi4uKTtcbn1cblxuQG1peGluIGJvcmRlci1jb2xvcigkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIGNvbG9yLCAkdmFscy4uLik7XG59XG5cbkBtaXhpbiBib3JkZXItd2lkdGgoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCB3aWR0aCwgJHZhbHMuLi4pO1xufVxuIiwiQG1peGluIGVsbGlwc2lzKCR3aWR0aDogMTAwJSkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG4iLCIkZ2VvcmdpYTogR2VvcmdpYSwgQ2FtYnJpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmO1xuJGhlbHZldGljYTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4kbHVjaWRhLWdyYW5kZTogXCJMdWNpZGEgR3JhbmRlXCIsIFRhaG9tYSwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kbW9ub3NwYWNlOiBcIkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ub1wiLCBDb25zb2xhcywgQ291cmllciwgbW9ub3NwYWNlO1xuJHZlcmRhbmE6IFZlcmRhbmEsIEdlbmV2YSwgc2Fucy1zZXJpZjtcbiIsIkBtaXhpbiBoaWRlLXRleHQoJGhlaWdodDogMWVtKSB7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBHZW5lcmF0ZSBhIHZhcmlhYmxlICgkYWxsLXRleHQtaW5wdXRzKSB3aXRoIGEgbGlzdCBvZiBhbGwgaHRtbDVcbi8vIGlucHV0IHR5cGVzIHRoYXQgaGF2ZSBhIHRleHQtYmFzZWQgaW5wdXQsIGV4Y2x1ZGluZyB0ZXh0YXJlYS5cbi8vIGh0dHA6Ly9kaXZlaW50b2h0bWw1Lm9yZy9mb3Jtcy5odG1sXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kaW5wdXRzLWxpc3Q6ICdpbnB1dFt0eXBlPVwiZW1haWxcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm51bWJlclwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInNlYXJjaFwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGVsXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0ZXh0XCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ1cmxcIl0nLFxuXG4gICAgICAgICAgICAgIC8vIFdlYmtpdCAmIEdlY2tvIG1heSBjaGFuZ2UgdGhlIGRpc3BsYXkgb2YgdGhlc2UgaW4gdGhlIGZ1dHVyZVxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImNvbG9yXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRlXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRldGltZVwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm1vbnRoXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0aW1lXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ3ZWVrXCJdJztcblxuLy8gQmFyZSBpbnB1dHNcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtdGV4dC1pbnB1dHM6IGFzc2lnbi1pbnB1dHMoJGlucHV0cy1saXN0KTtcblxuLy8gSG92ZXIgUHNldWRvLWNsYXNzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kYWxsLXRleHQtaW5wdXRzLWhvdmVyOiBhc3NpZ24taW5wdXRzKCRpbnB1dHMtbGlzdCwgaG92ZXIpO1xuXG4vLyBGb2N1cyBQc2V1ZG8tY2xhc3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtdGV4dC1pbnB1dHMtZm9jdXM6IGFzc2lnbi1pbnB1dHMoJGlucHV0cy1saXN0LCBmb2N1cyk7XG5cblxuXG4vLyBZb3UgbXVzdCB1c2UgaW50ZXJwb2xhdGlvbiBvbiB0aGUgdmFyaWFibGU6XG4vLyAjeyRhbGwtdGV4dC1pbnB1dHN9XG4vLyAjeyRhbGwtdGV4dC1pbnB1dHMtaG92ZXJ9XG4vLyAjeyRhbGwtdGV4dC1pbnB1dHMtZm9jdXN9XG5cbi8vIEV4YW1wbGVcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vICAgI3skYWxsLXRleHQtaW5wdXRzfSwgdGV4dGFyZWEge1xuLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcbi8vICAgfVxuXG5cblxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gR2VuZXJhdGUgYSB2YXJpYWJsZSAoJGFsbC1idXR0b24taW5wdXRzKSB3aXRoIGEgbGlzdCBvZiBhbGwgaHRtbDVcbi8vIGlucHV0IHR5cGVzIHRoYXQgaGF2ZSBhIGJ1dHRvbi1iYXNlZCBpbnB1dCwgZXhjbHVkaW5nIGJ1dHRvbi5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRpbnB1dHMtYnV0dG9uLWxpc3Q6ICdpbnB1dFt0eXBlPVwiYnV0dG9uXCJdJyxcbiAgICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwicmVzZXRcIl0nLFxuICAgICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJzdWJtaXRcIl0nO1xuXG4vLyBCYXJlIGlucHV0c1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuJGFsbC1idXR0b24taW5wdXRzOiBhc3NpZ24taW5wdXRzKCRpbnB1dHMtYnV0dG9uLWxpc3QpO1xuXG4vLyBIb3ZlciBQc2V1ZG8tY2xhc3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0cy1ob3ZlcjogYXNzaWduLWlucHV0cygkaW5wdXRzLWJ1dHRvbi1saXN0LCBob3Zlcik7XG5cbi8vIEZvY3VzIFBzZXVkby1jbGFzc1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuJGFsbC1idXR0b24taW5wdXRzLWZvY3VzOiBhc3NpZ24taW5wdXRzKCRpbnB1dHMtYnV0dG9uLWxpc3QsIGZvY3VzKTtcblxuLy8gQWN0aXZlIFBzZXVkby1jbGFzc1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuJGFsbC1idXR0b24taW5wdXRzLWFjdGl2ZTogYXNzaWduLWlucHV0cygkaW5wdXRzLWJ1dHRvbi1saXN0LCBhY3RpdmUpO1xuXG5cblxuLy8gWW91IG11c3QgdXNlIGludGVycG9sYXRpb24gb24gdGhlIHZhcmlhYmxlOlxuLy8gI3skYWxsLWJ1dHRvbi1pbnB1dHN9XG4vLyAjeyRhbGwtYnV0dG9uLWlucHV0cy1ob3Zlcn1cbi8vICN7JGFsbC1idXR0b24taW5wdXRzLWZvY3VzfVxuLy8gI3skYWxsLWJ1dHRvbi1pbnB1dHMtYWN0aXZlfVxuXG4vLyBFeGFtcGxlXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyAgICN7JGFsbC1idXR0b24taW5wdXRzfSwgYnV0dG9uIHtcbi8vICAgICBib3JkZXI6IDFweCBzb2xpZCByZWQ7XG4vLyAgIH1cbiIsIkBtaXhpbiBwb3NpdGlvbiAoJHBvc2l0aW9uOiByZWxhdGl2ZSwgJGNvb3JkaW5hdGVzOiBudWxsIG51bGwgbnVsbCBudWxsKSB7XG5cbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSBsaXN0IHtcbiAgICAkY29vcmRpbmF0ZXM6ICRwb3NpdGlvbjtcbiAgICAkcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJGNvb3JkaW5hdGVzOiB1bnBhY2soJGNvb3JkaW5hdGVzKTtcblxuICAkdG9wOiBudGgoJGNvb3JkaW5hdGVzLCAxKTtcbiAgJHJpZ2h0OiBudGgoJGNvb3JkaW5hdGVzLCAyKTtcbiAgJGJvdHRvbTogbnRoKCRjb29yZGluYXRlcywgMyk7XG4gICRsZWZ0OiBudGgoJGNvb3JkaW5hdGVzLCA0KTtcblxuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuXG4gIEBpZiAoJHRvcCBhbmQgJHRvcCA9PSBhdXRvKSBvciAodHlwZS1vZigkdG9wKSA9PSBudW1iZXIpIHtcbiAgICB0b3A6ICR0b3A7XG4gIH1cblxuICBAaWYgKCRyaWdodCBhbmQgJHJpZ2h0ID09IGF1dG8pIG9yICh0eXBlLW9mKCRyaWdodCkgPT0gbnVtYmVyKSB7XG4gICAgcmlnaHQ6ICRyaWdodDtcbiAgfVxuXG4gIEBpZiAoJGJvdHRvbSBhbmQgJGJvdHRvbSA9PSBhdXRvKSBvciAodHlwZS1vZigkYm90dG9tKSA9PSBudW1iZXIpIHtcbiAgICBib3R0b206ICRib3R0b207XG4gIH1cblxuICBAaWYgKCRsZWZ0IGFuZCAkbGVmdCA9PSBhdXRvKSBvciAodHlwZS1vZigkbGVmdCkgPT0gbnVtYmVyKSB7XG4gICAgbGVmdDogJGxlZnQ7XG4gIH1cbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEV4YW1wbGU6IEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci1yYWRpdXMsICRyYWRpaSwgd2Via2l0IG1zIHNwZWMpO1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gVmFyaWFibGVzIGxvY2F0ZWQgaW4gL3NldHRpbmdzL19wcmVmaXhlci5zY3NzXG5cbkBtaXhpbiBwcmVmaXhlciAoJHByb3BlcnR5LCAkdmFsdWUsICRwcmVmaXhlcykge1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgQGlmICRwcmVmaXggPT0gd2Via2l0IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci13ZWJraXQge1xuICAgICAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IG1veiB7XG4gICAgICBAaWYgJHByZWZpeC1mb3ItbW96aWxsYSB7XG4gICAgICAgIC1tb3otI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwcmVmaXggPT0gbXMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1pY3Jvc29mdCB7XG4gICAgICAgIC1tcy0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHByZWZpeCA9PSBvIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1vcGVyYSB7XG4gICAgICAgIC1vLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IHNwZWMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLXNwZWMge1xuICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgIHtcbiAgICAgIEB3YXJuIFwiVW5yZWNvZ25pemVkIHByZWZpeDogI3skcHJlZml4fVwiO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpIHtcbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgIGZhbHNlICFnbG9iYWw7XG59XG4iLCJAbWl4aW4gcmV0aW5hLWltYWdlKCRmaWxlbmFtZSwgJGJhY2tncm91bmQtc2l6ZSwgJGV4dGVuc2lvbjogcG5nLCAkcmV0aW5hLWZpbGVuYW1lOiBudWxsLCAkcmV0aW5hLXN1ZmZpeDogXzJ4LCAkYXNzZXQtcGlwZWxpbmU6ICRhc3NldC1waXBlbGluZSkge1xuICBAaWYgJGFzc2V0LXBpcGVsaW5lIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRmaWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgdXJsKFwiI3skZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gIH1cblxuICBAaW5jbHVkZSBoaWRwaSB7XG4gICAgQGlmICRhc3NldC1waXBlbGluZSB7XG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skZmlsZW5hbWV9I3skcmV0aW5hLXN1ZmZpeH0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skZmlsZW5hbWV9I3skcmV0aW5hLXN1ZmZpeH0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRiYWNrZ3JvdW5kLXNpemU7XG5cbiAgfVxufVxuIiwiLy8gU2V0IGB3aWR0aGAgYW5kIGBoZWlnaHRgIGluIGEgc2luZ2xlIHN0YXRlbWVudFxuXG5AbWl4aW4gc2l6ZSgkdmFsdWUpIHtcbiAgJHdpZHRoOiBudGgoJHZhbHVlLCAxKTtcbiAgJGhlaWdodDogJHdpZHRoO1xuXG4gIEBpZiBsZW5ndGgoJHZhbHVlKSA+IDEge1xuICAgICRoZWlnaHQ6IG50aCgkdmFsdWUsIDIpO1xuICB9XG5cbiAgQGlmIGlzLXNpemUoJGhlaWdodCkge1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAd2FybiBcImAjeyRoZWlnaHR9YCBpcyBub3QgYSB2YWxpZCBsZW5ndGggZm9yIHRoZSBgJGhlaWdodGAgcGFyYW1ldGVyIGluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XG4gIH1cblxuICBAaWYgaXMtc2l6ZSgkd2lkdGgpIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIEB3YXJuIFwiYCN7JHdpZHRofWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCR3aWR0aGAgcGFyYW1ldGVyIGluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XG4gIH1cbn1cbiIsIi8vIENTUyBjdWJpYy1iZXppZXIgdGltaW5nIGZ1bmN0aW9ucy4gVGltaW5nIGZ1bmN0aW9ucyBjb3VydGVzeSBvZiBqcXVlcnkuZWFzaWUgKGdpdGh1Yi5jb20vamF1a2lhL2Vhc2llKVxuLy8gVGltaW5nIGZ1bmN0aW9ucyBhcmUgdGhlIHNhbWUgYXMgZGVtbydlZCBoZXJlOiBodHRwOi8vanF1ZXJ5dWkuY29tL3Jlc291cmNlcy9kZW1vcy9lZmZlY3QvZWFzaW5nLmh0bWxcblxuLy8gRUFTRSBJTlxuJGVhc2UtaW4tcXVhZDogICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA4NSwgMC42ODAsIDAuNTMwKTtcbiRlYXNlLWluLWN1YmljOiAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4kZWFzZS1pbi1xdWFydDogICAgIGN1YmljLWJlemllcigwLjg5NSwgIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xuJGVhc2UtaW4tcXVpbnQ6ICAgICBjdWJpYy1iZXppZXIoMC43NTUsICAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiRlYXNlLWluLXNpbmU6ICAgICAgY3ViaWMtYmV6aWVyKDAuNDcwLCAgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XG4kZWFzZS1pbi1leHBvOiAgICAgIGN1YmljLWJlemllcigwLjk1MCwgIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xuJGVhc2UtaW4tY2lyYzogICAgICBjdWJpYy1iZXppZXIoMC42MDAsICAwLjA0MCwgMC45ODAsIDAuMzM1KTtcbiRlYXNlLWluLWJhY2s6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAtMC4yODAsIDAuNzM1LCAwLjA0NSk7XG5cbi8vIEVBU0UgT1VUXG4kZWFzZS1vdXQtcXVhZDogICAgIGN1YmljLWJlemllcigwLjI1MCwgIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xuJGVhc2Utb3V0LWN1YmljOiAgICBjdWJpYy1iZXppZXIoMC4yMTUsICAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiRlYXNlLW91dC1xdWFydDogICAgY3ViaWMtYmV6aWVyKDAuMTY1LCAgMC44NDAsIDAuNDQwLCAxLjAwMCk7XG4kZWFzZS1vdXQtcXVpbnQ6ICAgIGN1YmljLWJlemllcigwLjIzMCwgIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xuJGVhc2Utb3V0LXNpbmU6ICAgICBjdWJpYy1iZXppZXIoMC4zOTAsICAwLjU3NSwgMC41NjUsIDEuMDAwKTtcbiRlYXNlLW91dC1leHBvOiAgICAgY3ViaWMtYmV6aWVyKDAuMTkwLCAgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XG4kZWFzZS1vdXQtY2lyYzogICAgIGN1YmljLWJlemllcigwLjA3NSwgIDAuODIwLCAwLjE2NSwgMS4wMDApO1xuJGVhc2Utb3V0LWJhY2s6ICAgICBjdWJpYy1iZXppZXIoMC4xNzUsICAwLjg4NSwgMC4zMjAsIDEuMjc1KTtcblxuLy8gRUFTRSBJTiBPVVRcbiRlYXNlLWluLW91dC1xdWFkOiAgY3ViaWMtYmV6aWVyKDAuNDU1LCAgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XG4kZWFzZS1pbi1vdXQtY3ViaWM6IGN1YmljLWJlemllcigwLjY0NSwgIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXF1YXJ0OiBjdWJpYy1iZXppZXIoMC43NzAsICAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1xdWludDogY3ViaWMtYmV6aWVyKDAuODYwLCAgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtc2luZTogIGN1YmljLWJlemllcigwLjQ0NSwgIDAuMDUwLCAwLjU1MCwgMC45NTApO1xuJGVhc2UtaW4tb3V0LWV4cG86ICBjdWJpYy1iZXppZXIoMS4wMDAsICAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1jaXJjOiAgY3ViaWMtYmV6aWVyKDAuNzg1LCAgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XG4kZWFzZS1pbi1vdXQtYmFjazogIGN1YmljLWJlemllcigwLjY4MCwgLTAuNTUwLCAwLjI2NSwgMS41NTApO1xuIiwiQG1peGluIHRyaWFuZ2xlICgkc2l6ZSwgJGNvbG9yLCAkZGlyZWN0aW9uKSB7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG5cbiAgJHdpZHRoOiBudGgoJHNpemUsIDEpO1xuICAkaGVpZ2h0OiBudGgoJHNpemUsIGxlbmd0aCgkc2l6ZSkpO1xuXG4gICRmb3JlZ3JvdW5kLWNvbG9yOiBudGgoJGNvbG9yLCAxKTtcbiAgJGJhY2tncm91bmQtY29sb3I6IGlmKGxlbmd0aCgkY29sb3IpID09IDIsIG50aCgkY29sb3IsIDIpLCB0cmFuc3BhcmVudCk7XG5cbiAgQGlmICgkZGlyZWN0aW9uID09IHVwKSBvciAoJGRpcmVjdGlvbiA9PSBkb3duKSBvciAoJGRpcmVjdGlvbiA9PSByaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gbGVmdCkge1xuXG4gICAgJHdpZHRoOiAkd2lkdGggLyAyO1xuICAgICRoZWlnaHQ6IGlmKGxlbmd0aCgkc2l6ZSkgPiAxLCAkaGVpZ2h0LCAkaGVpZ2h0LzIpO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gdXAtcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IHVwLWxlZnQpIHtcbiAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAtcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG5cbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAtbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQpIHtcbiAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcblxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtdXApIHtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgfVxuXG4gIEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWRvd24pIHtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxuXG4gIEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXJpZ2h0KSB7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gIH1cblxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1sZWZ0KSB7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gIH1cbn1cbiIsIkBtaXhpbiB3b3JkLXdyYXAoJHdyYXA6IGJyZWFrLXdvcmQpIHtcbiAgd29yZC13cmFwOiAkd3JhcDtcblxuICBAaWYgJHdyYXAgPT0gYnJlYWstd29yZCB7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIH1cbn1cbiIsIi8vIFRoZSBmb2xsb3dpbmcgZmVhdHVyZXMgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBNQUpPUiB2ZXJzaW9uIHJlbGVhc2VcblxuQG1peGluIGlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBAd2FybiBcIlRoZSBpbmxpbmUtYmxvY2sgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AbWl4aW4gYnV0dG9uICgkc3R5bGU6IHNpbXBsZSwgJGJhc2UtY29sb3I6ICM0Mjk0ZjAsICR0ZXh0LXNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBjb2xvciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBzdHJpbmcgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XG4gICAgJGJhc2UtY29sb3I6ICM0Mjk0ZjA7XG5cbiAgICBAaWYgJHBhZGRpbmcgPT0gaW5oZXJpdCB7XG4gICAgICAkcGFkZGluZzogN3B4IDE4cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xuICAgICRiYXNlLWNvbG9yOiAkc3R5bGU7XG4gICAgJHN0eWxlOiBzaW1wbGU7XG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJHRleHQtc2l6ZTtcbiAgICAkdGV4dC1zaXplOiAkYmFzZS1jb2xvcjtcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xuICAgICRzdHlsZTogc2ltcGxlO1xuXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJGJhc2UtY29sb3I7XG4gICAgJHRleHQtc2l6ZTogJHN0eWxlO1xuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xuICAgICRzdHlsZTogc2ltcGxlO1xuXG4gICAgQGlmICRwYWRkaW5nID09ICM0Mjk0ZjAge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgQHdhcm4gXCJUaGUgYnV0dG9uIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuLy8gU2VsZWN0b3IgU3R5bGUgQnV0dG9uXG5AbWl4aW4gYnV0dG9uc3R5bGUoJHR5cGUsICRiLWNvbG9yLCAkdC1zaXplLCAkcGFkKSB7XG4gIC8vIEdyYXlzY2FsZSBidXR0b25cbiAgQGlmICR0eXBlID09IHNpbXBsZSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBzaGlueSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IHBpbGwgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IGZsYXQgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgLy8gQ29sb3JlZCBidXR0b25cbiAgQGlmICR0eXBlID09IHNpbXBsZSB7XG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBzaGlueSB7XG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IHBpbGwge1xuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IGZsYXQge1xuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxufVxuXG4vLyBTaW1wbGUgQnV0dG9uXG5AbWl4aW4gc2ltcGxlKCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA5JSwgICRsaWdodG5lc3M6IC0xNCUpO1xuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTglLCAgJGxpZ2h0bmVzczogIDE1JSk7XG4gICRzdG9wLWdyYWRpZW50OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOSUsICAkbGlnaHRuZXNzOiAtMTElKTtcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICAxNSUsICRsaWdodG5lc3M6IC0xOCUpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXI6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlcik7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc3RvcC1ncmFkaWVudDogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50KTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gIH1cblxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvciwgJHN0b3AtZ3JhZGllbnQpO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMCAkdGV4dC1zaGFkb3c7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC00JSwgJGxpZ2h0bmVzczogLTUlKTtcbiAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTclLCAkbGlnaHRuZXNzOiAgNSUpO1xuICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOCUsICRsaWdodG5lc3M6IC0xNCUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcbiAgICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1ob3Zlcik7XG4gICAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgICB9XG5cbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdy1ob3ZlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvci1ob3ZlciwgJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRib3JkZXItYWN0aXZlOiAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA5JSwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDclLCAkbGlnaHRuZXNzOiAtMTclKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJvcmRlci1hY3RpdmU6ICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XG4gICAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICB9XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWFjdGl2ZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgOHB4IDRweCAkaW5zZXQtc2hhZG93LWFjdGl2ZSwgaW5zZXQgMCAwIDhweCA0cHggJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gU2hpbnkgQnV0dG9uXG5AbWl4aW4gc2hpbnkoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuICAkYm9yZGVyOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTE3LCAkZ3JlZW46IC0xMTEsICRibHVlOiAtODEpO1xuICAkYm9yZGVyLWJvdHRvbTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTI2LCAkZ3JlZW46IC0xMjcsICRibHVlOiAtMTIyKTtcbiAgJGZvdXJ0aC1zdG9wOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTc5LCAgJGdyZWVuOiAtNzAsICAkYmx1ZTogLTQ2KTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogIDM3LCAgJGdyZWVuOiAgMjksICAkYmx1ZTogIDEyKTtcbiAgJHNlY29uZC1zdG9wOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTU2LCAgJGdyZWVuOiAtNTAsICAkYmx1ZTogLTMzKTtcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTE0MCwgJGdyZWVuOiAtMTQxLCAkYmx1ZTogLTExNCk7XG4gICR0aGlyZC1zdG9wOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgICRncmVlbjogLTc1LCAgJGJsdWU6IC00OCk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xuICB9XG5cbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlcjogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyKTtcbiAgICAkYm9yZGVyLWJvdHRvbTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcbiAgICAkZm91cnRoLXN0b3A6ICAgZ3JheXNjYWxlKCRmb3VydGgtc3RvcCk7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc2Vjb25kLXN0b3A6ICAgZ3JheXNjYWxlKCRzZWNvbmQtc3RvcCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICAgICR0aGlyZC1zdG9wOiAgICBncmF5c2NhbGUoJHRoaXJkLXN0b3ApO1xuICB9XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGJhc2UtY29sb3IgMCUsICRzZWNvbmQtc3RvcCA1MCUsICR0aGlyZC1zdG9wIDUwJSwgJGZvdXJ0aC1zdG9wIDEwMCUpO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdztcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkZmlyc3Qtc3RvcC1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTEzLCAkZ3JlZW46IC0xNSwgJGJsdWU6IC0xOCk7XG4gICAgJHNlY29uZC1zdG9wLWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC02NiwgJGdyZWVuOiAtNjIsICRibHVlOiAtNTEpO1xuICAgICR0aGlyZC1zdG9wLWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtOTMsICRncmVlbjogLTg1LCAkYmx1ZTogLTY2KTtcbiAgICAkZm91cnRoLXN0b3AtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTg2LCAkZ3JlZW46IC04MCwgJGJsdWU6IC02Myk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRmaXJzdC1zdG9wLWhvdmVyOiAgZ3JheXNjYWxlKCRmaXJzdC1zdG9wLWhvdmVyKTtcbiAgICAgICRzZWNvbmQtc3RvcC1ob3ZlcjogZ3JheXNjYWxlKCRzZWNvbmQtc3RvcC1ob3Zlcik7XG4gICAgICAkdGhpcmQtc3RvcC1ob3ZlcjogIGdyYXlzY2FsZSgkdGhpcmQtc3RvcC1ob3Zlcik7XG4gICAgICAkZm91cnRoLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkZm91cnRoLXN0b3AtaG92ZXIpO1xuICAgIH1cblxuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQodG9wLCAkZmlyc3Qtc3RvcC1ob3ZlciAgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNlY29uZC1zdG9wLWhvdmVyIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcmQtc3RvcC1ob3ZlciAgNTAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb3VydGgtc3RvcC1ob3ZlciAxMDAlKTtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTExLCAkZ3JlZW46IC0xMTYsICRibHVlOiAtMTIyKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDIwcHggMCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgfVxufVxuXG4vLyBQaWxsIEJ1dHRvblxuQG1peGluIHBpbGwoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuICAkYm9yZGVyLWJvdHRvbTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC0xMSUsICRsaWdodG5lc3M6IC0yNiUpO1xuICAkYm9yZGVyLXNpZGVzOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNCwgJHNhdHVyYXRpb246IC0yMSUsICRsaWdodG5lc3M6IC0yMSUpO1xuICAkYm9yZGVyLXRvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0zMCUsICRsaWdodG5lc3M6IC0xNSUpO1xuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0xJSwgICRsaWdodG5lc3M6ICA3JSk7XG4gICRzdG9wLWdyYWRpZW50OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogIDE0JSwgJGxpZ2h0bmVzczogLTEwJSk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA1LCAkc2F0dXJhdGlvbjogLTE5JSwgJGxpZ2h0bmVzczogLTE1JSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xuICB9XG5cbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgJGJvcmRlci1zaWRlczogIGdyYXlzY2FsZSgkYm9yZGVyLXNpZGVzKTtcbiAgICAkYm9yZGVyLXRvcDogICAgZ3JheXNjYWxlKCRib3JkZXItdG9wKTtcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xuICAgICRzdG9wLWdyYWRpZW50OiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQpO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItdG9wO1xuICBib3JkZXItY29sb3I6ICRib3JkZXItdG9wICRib3JkZXItc2lkZXMgJGJvcmRlci1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvciwgJHN0b3AtZ3JhZGllbnQpO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpZ2h0bmVzczogLTQuNSUpO1xuICAgICRib3JkZXItYm90dG9tOiAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogIDEzLjUlLCAkbGlnaHRuZXNzOiAtMzIlKTtcbiAgICAkYm9yZGVyLXNpZGVzOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNCwgJHNhdHVyYXRpb246IC0yJSwgICAgJGxpZ2h0bmVzczogLTI3JSk7XG4gICAgJGJvcmRlci10b3A6ICAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMTclLCAgICRsaWdodG5lc3M6IC0yMSUpO1xuICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICAgICAgICAgICAkc2F0dXJhdGlvbjogLTElLCAgICAkbGlnaHRuZXNzOiAgMyUpO1xuICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogLTQlLCAgICAkbGlnaHRuZXNzOiAtMTUuNSUpO1xuICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA1LCAkc2F0dXJhdGlvbjogLTUlLCAgICAkbGlnaHRuZXNzOiAtMjIlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgICAkYm9yZGVyLWJvdHRvbTogICAgICAgZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcbiAgICAgICRib3JkZXItc2lkZXM6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlci1zaWRlcyk7XG4gICAgICAkYm9yZGVyLXRvcDogICAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItdG9wKTtcbiAgICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1ob3Zlcik7XG4gICAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWhvdmVyKTtcbiAgICB9XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItdG9wICRib3JkZXItc2lkZXMgJGJvcmRlci1ib3R0b207XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3ItaG92ZXIsICRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctaG92ZXI7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYWN0aXZlLWNvbG9yOiAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNCwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTEwJSk7XG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDYsICAkc2F0dXJhdGlvbjogLTIuNSUsICRsaWdodG5lc3M6IC0zMCUpO1xuICAgICRib3JkZXItYm90dG9tLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAxMSwgJHNhdHVyYXRpb246ICA2JSwgICAkbGlnaHRuZXNzOiAtMzElKTtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogOSwgICRzYXR1cmF0aW9uOiAgMiUsICAgJGxpZ2h0bmVzczogLTIxLjUlKTtcbiAgICAkdGV4dC1zaGFkb3ctYWN0aXZlOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNSwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTIxLjUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBncmF5c2NhbGUoJGFjdGl2ZS1jb2xvcik7XG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XG4gICAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbS1hY3RpdmUpO1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZDogJGFjdGl2ZS1jb2xvcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWFjdGl2ZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1ib3R0b20tYWN0aXZlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggM3B4ICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICAgIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gRmxhdCBCdXR0b25cbkBtaXhpbiBmbGF0KCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpe1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA0JSwgJGxpZ2h0bmVzczogNSUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvci1ob3ZlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNCUsICRsaWdodG5lc3M6IC01JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWFjdGl2ZTogZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3ItYWN0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4vLyBGbGV4aWJsZSBncmlkXG5AZnVuY3Rpb24gZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucykge1xuICAkd2lkdGg6ICRjb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkd2lkdGggLyAkY29udGFpbmVyLXdpZHRoKTtcblxuICBAd2FybiBcIlRoZSBmbGV4LWdyaWQgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG4vLyBGbGV4aWJsZSBndXR0ZXJcbkBmdW5jdGlvbiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucywgJGd1dHRlcjogJGZnLWd1dHRlcikge1xuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgQHJldHVybiBwZXJjZW50YWdlKCRndXR0ZXIgLyAkY29udGFpbmVyLXdpZHRoKTtcblxuICBAd2FybiBcIlRoZSBmbGV4LWd1dHRlciBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbkBmdW5jdGlvbiBncmlkLXdpZHRoKCRuKSB7XG4gIEByZXR1cm4gJG4gKiAkZ3ctY29sdW1uICsgKCRuIC0gMSkgKiAkZ3ctZ3V0dGVyO1xuXG4gIEB3YXJuIFwiVGhlIGdyaWQtd2lkdGggZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AZnVuY3Rpb24gZ29sZGVuLXJhdGlvKCR2YWx1ZSwgJGluY3JlbWVudCkge1xuICBAcmV0dXJuIG1vZHVsYXItc2NhbGUoJGluY3JlbWVudCwgJHZhbHVlLCAkcmF0aW86ICRnb2xkZW4pO1xuXG4gIEB3YXJuIFwiVGhlIGdvbGRlbi1yYXRpbyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlLiBQbGVhc2UgdXNlIHRoZSBtb2R1bGFyLXNjYWxlIGZ1bmN0aW9uLCBpbnN0ZWFkLlwiO1xufVxuIiwiQGltcG9ydCBcImZvbnRzXCI7XG5AaW1wb3J0IFwiZ3JpZFwiO1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvbnQgcmVsYXRlZCBmdW5jdGlvbnNcbiAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHNvbWUgZnVuY3Rpb25zIGZvciByZWFkYWJpbGl0eVxuICogUmV0dXJuIGZvbnQtd2VpZ2h0IGJhc2VkIG9uIG5hbWVcbiAqL1xuXG5AZnVuY3Rpb24gbGlnaHQoKSB7XG4gIEByZXR1cm4gMzAwOyB9XG5cbkBmdW5jdGlvbiByZWd1bGFyKCkge1xuICBAcmV0dXJuIDQwMDsgfVxuXG5AZnVuY3Rpb24gc2VtaWJvbGQoKSB7XG4gIEByZXR1cm4gNjAwOyB9XG5cbkBmdW5jdGlvbiBib2xkKCkge1xuICBAcmV0dXJuIDcwMDsgfVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgRnVuY3Rpb25zIHVzZWQgaW4gZ3JpZCBjYWxjdWxhdGlvblxuICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAgKiBUaGlzIGlzIHdoZXJlIHRoZSBtYWdpYyBoYXBwZW5zXG4gICogUmV0dXJuIHBlcmNlbnRhZ2UgYmFzZWQgb24gYW1vdW50IG9mIGNvbHVtbnNcbiAgKiBVc2UgcGFyZW50IGNvbHVtbiBzaXplIHRvIGFkanVzdCB0aGUgb3JpZ2luXG4gICovXG5AZnVuY3Rpb24gY2FsY3VsYXRlQ29sdW1uU2l6ZSgkY29sdW1uQ291bnQgOiAxLCAkb3JpZ2luIDogJGdyaWRDb2x1bW5zKSB7XG4gIC8vIENhbGN1bGF0ZSB0aGUgd2lkdGggZm9yIGEgc2luZ2xlIGNvbHVtbiBvbiBhIGZ1bGwgZ3JpZFxuICAkc2luZ2xlQ29sdW1uU2l6ZSA6IDEwMCAvICRncmlkQ29sdW1ucztcblxuICAvLyBHZXQgdGhlIG9yaWdpbiBzaXplIGluIHBlcmNlbnRhZ2UgZnJvbSB0aGUgZnVsbCBncmlkXG4gICRvcmlnaW5QZXJjZW50YWdlIDogJG9yaWdpbiAvICRncmlkQ29sdW1ucyAqIDEwMDtcblxuICAvLyBDYWxjdWxhdGUgc2luZ2xlIGNvbHVtbiBmcm9tIG5ldyBvcmlnaW5cbiAgJG5ld1NpbmdsZUNvbHVtblNpemUgOiAkc2luZ2xlQ29sdW1uU2l6ZSAvICRvcmlnaW5QZXJjZW50YWdlICogMTAwO1xuXG4gIC8vIFJldHVybiBhbW91bnQgb2YgY29sdW1ucyBhcyBwZXJjZW50YWdlXG4gIEByZXR1cm4gKCRuZXdTaW5nbGVDb2x1bW5TaXplICogJGNvbHVtbkNvdW50KTsgfVxuXG4vKipcbiAgKiBEZWZhdWx0IGZ1bmN0aW9uIGZvciBjb2x1bW5zXG4gICogUmV0dXJuIGFzIHBlcmNlbnRhZ2VcbiAgKi9cbkBmdW5jdGlvbiBjb2x1bW4oJGNvbHVtbkNvdW50IDogMSwgJG9yaWdpbiA6ICRncmlkQ29sdW1ucykge1xuICBAcmV0dXJuIGNhbGN1bGF0ZUNvbHVtblNpemUoJGNvbHVtbkNvdW50LCRvcmlnaW4pICogMSU7IH1cblxuLyoqXG4gICogUmV0dXJuIGFzIHZpZXdwb3J0IHdpZHRoXG4gICovXG5AZnVuY3Rpb24gY29sdW1uVncoJGNvbHVtbkNvdW50IDogMSwgJG9yaWdpbiA6ICRncmlkQ29sdW1ucykge1xuICBAcmV0dXJuIGNhbGN1bGF0ZUNvbHVtblNpemUoJGNvbHVtbkNvdW50LCRvcmlnaW4pICogMXZ3OyB9XG4iLCJAaW1wb3J0IFwic3ByaXRlXCI7XG5AaW1wb3J0IFwibWVkaWFRdWVyaWVzXCI7XG5AaW1wb3J0IFwiZmxleFwiO1xuQGltcG9ydCBcInBsYWNlaG9sZGVyXCI7XG4iLCIkc3ByaXRlV2lkdGg6IDEwMHB4O1xuJHNwcml0ZUhlaWdodDogODVweDtcblxuXG5AbWl4aW4gc3ByaXRlKCRwb3NpdGlvbiwgJHdpZHRoOiBhdXRvLCAkaGVpZ2h0OiBhdXRvKSB7XG5cbiAgJHBvc2l0aW9uWDogbnRoKCRwb3NpdGlvbiwgMSkgKiAtMTtcbiAgJHBvc2l0aW9uWTogbnRoKCRwb3NpdGlvbiwgMikgKiAtMTtcblxuICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL2tvbW1hX3Nwcml0ZS5zdmdcIikgJHBvc2l0aW9uWCAkcG9zaXRpb25ZIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAkc3ByaXRlV2lkdGggJHNwcml0ZUhlaWdodDtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0OyB9XG4iLCJAbWl4aW4gcmVzcG9uZC10by13aWR0aCgkd2lkdGgpIHtcbiAgJHdpZHRoIDogJHdpZHRoICsgJ3B4JztcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHdpZHRoKSB7XG4gICAgQGNvbnRlbnQ7IH0gfVxuXG5AbWl4aW4gcmVzcG9uZC10by13aWR0aC1iZXlvbmQoJHdpZHRoKSB7XG4gICR3aWR0aCA6ICgkd2lkdGggKyAxKSAgKyAncHgnO1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkd2lkdGgpIHtcbiAgICBAY29udGVudDsgfSB9XG5cbkBtaXhpbiByZXNwb25kLXRvLWhlaWdodCgkaGVpZ2h0KSB7XG4gICRoZWlnaHQgOiAkaGVpZ2h0ICsgJ3B4JztcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6ICRoZWlnaHQpIHtcbiAgICBAY29udGVudDsgfSB9XG5cbkBtaXhpbiByZXNwb25kLXRvLXdpZHRoLW9yLWhlaWdodCgkd2lkdGgsICRoZWlnaHQpIHtcbiAgJHdpZHRoIDogJHdpZHRoICsgJ3B4JztcbiAgJGhlaWdodCA6ICRoZWlnaHQgKyAncHgnO1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkd2lkdGgpLCBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiAkaGVpZ2h0KSB7XG4gICAgQGNvbnRlbnQ7IH0gfVxuIiwiQG1peGluIGZsZXgoJGp1c3RpZnk6IHNwYWNlLWJldHdlZW4sICRhbGlnbkl0ZW06IGluaXRpYWwpIHtcbiAgZGlzcGxheTogLW1zLWZsZXhib3ggICAgICAvKiBUV0VFTkVSIC0gSUUgMTAgKi87XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleCAgICAgLyogTkVXIC0gQ2hyb21lICovO1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIEBpbmNsdWRlIHByZWZpeGVyKGp1c3RpZnktY29udGVudCwgJGp1c3RpZnksIHdlYmtpdCBtb3ogbXMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1pdGVtcywgJGFsaWduSXRlbSwgd2Via2l0IG1veiBtcyk7XG4gIGp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XG4gIGFsaWduLWl0ZW1zOiAkYWxpZ25JdGVtOyB9XG5cblxuQG1peGluIGZsZXgtcm93cyB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtd3JhcCwgd3JhcCwgd2Via2l0IG1zKTtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1kaXJlY3Rpb24sIHJvdywgd2Via2l0IG1zKTtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1mbG93LCByb3cgd3JhcCwgd2Via2l0KTsgfVxuXG5AbWl4aW4gb3JkZXIoJHBsYWNlKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKG9yZGVyLCAkcGxhY2UsIHdlYmtpdCBtcyk7IH1cblxuQG1peGluIGFsaWduLWNvbnRlbnQoJGFsaWduKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWNvbnRlbnQsICRhbGlnbiwgd2Via2l0KTsgfVxuXG5AbWl4aW4gYWxpZ24tc2VsZigkYWxpZ24pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tc2VsZiwgJGFsaWduLCB3ZWJraXQpOyB9XG4iLCJAbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIC8qIENocm9tZS9PcGVyYS9TYWZhcmkgKi8ge1xuICAgIEBjb250ZW50OyB9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgLyogRmlyZWZveCAxOSsgKi8ge1xuICAgIEBjb250ZW50OyB9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIC8qIElFIDEwKyAqLyB7XG4gICAgQGNvbnRlbnQ7IH1cbiAgJjotbW96LXBsYWNlaG9sZGVyIC8qIEZpcmVmb3ggMTgtICovIHtcbiAgICBAY29udGVudDsgfSB9XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzaWMgc3R5bGUgc2V0dGluZ3NcbiAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi8qXG4gKiBTZXQgdXAgdGhlIGJvZHlcbiAqXG4gKiAxLiBUaGlzIGlzIHRoZSBiYXNlIGZvciBhbCByZW0gdW5pdHNcbiAqL1xuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMjBweCAvKiAxICovO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi8qKlxuICogMS5EZWZhdWx0IGRpc3BsYXkgZm9yIGltYWdlcyBpcyBibG9jayB0byBsb3NlIHRoZSBleHRyYSBtYXJnaW4gYmVsb3cgdGhlIGltYWdlXG4gKiAyLiBSZW1vdmUgYm9yZGVyIC8gZXNwZWNpYWxseSBvbiBvbGRlciBicm93c2Vyc1xuICovXG5pbWcge1xuICBkaXNwbGF5OiBibG9jayAvKiAxICovO1xuICBib3JkZXI6IG5vbmU7IH1cblxuLyoqXG4gICogQWRkIHRyYW5zbGF0aW9uIHRvIHByZXZlbnQgcmVjb2xvcmluZyBmcm9tIGF1dG9jb21wbGV0ZVxuICAqL1xuaW5wdXQsIHRleHRhcmVhIHtcbiAgQGluY2x1ZGUgcGxhY2Vob2xkZXIge1xuICAgIHRyYW5zaXRpb246IGFsbCA5OTk5cyBsaW5lYXIgOTk5OXM7IH0gfVxuXG4vKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIGFyb3VuZCBmaWd1cmVcbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG4iLCJAaW1wb3J0IFwiZ3JpZFwiO1xuQGltcG9ydCBcInZpc2libGVHcmlkXCI7XG4iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEdyaWRcbiAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gICogR3JpZCByb3dcbiAgKlxuICAqIDEuIFRoZSBvdXRlciB0d28gY29sdW1ucyBhcmUganVzdCBtYXJnaW5cbiAgKiAyLiBQcmV2ZW50IGlubGluZS1ibG9jayBjZWxscyB3cmFwcGluZ1xuICAqIDMuIFByZXZlbnQgdmVydGljYWwgc3BhY2luZyBiZXR3ZWVuIGlubGluZS1ibG9ja3NcbiAgKi9cblxuLmdyaWQtcm93IHtcbiAgd2lkdGg6IGNvbHVtbigxMikgLyogMSAqLztcbiAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBmb250LXNpemU6IDAgLyogMiAqLztcbiAgbGluZS1oZWlnaHQ6IDAgLyogMyAqLztcblxuICAvKipcbiAgICogVGhlIGZ1bGwgcm93IGRvZXNuJ3QgaGF2ZSB0aGUgdHdvIG91dGVyIG1hcmdpbiByb3dzXG4gICAqIFRoZXkgc3RyZXRjaCB0aWxsIGJvdGggZW5kcyBvZiB0aGUgd2luZG93XG4gICAqL1xuXG4gICYuZnVsbC1yb3cge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG5cbi8qKlxuICogR3JpZCBjb2x1bW5cbiAqXG4gKiAxLiBSZXNldCB3aGl0ZS1zcGFjZSBpbmhlcml0ZWQgZnJvbSBgLmdyaWRgXG4gKiAyLiBSZXNldCBmb250LXNpemUgaW5oZXJpdGVkIGZyb20gYC5ncmlkYFxuICogMy4gUmVzZXQgbGluZS1oZWlnaHQgaW5oZXJpdGVkIGZyb20gYC5ncmlkYFxuICovXG5cbi5ncmlkLWNvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgLyogMSAqLztcbiAgZm9udC1zaXplOiAxcmVtIC8qIDIgKi87XG4gIGxpbmUtaGVpZ2h0OiAxLjYgLyogMyAqLztcblxuICAvKipcbiAgICogQ2VudGVyIGNvbHVtblxuICAgKlxuICAgKiAxLiAnaW5saW5lLWJsb2NrJyBkb2Vzbid0IGNlbnRlciB3aXRoIG1hcmdpbiAnMCBhdXRvJ1xuICAgKi9cblxuICAmLmNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2sgLyogMSAqLztcbiAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cblxuXG5cbkBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWRDb2x1bW5zIHtcblxuICAvKiBDb2x1bW4gZGltZW5zaW9uc1xuICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKlxuICAgKiBDYWxjdWxhdGUgd2lkdGggYnkgZGl2aWRpbmcgYSBmdWxsIHdpZHRoIGludG8gMTIgY29sdW1uc1xuICAgKiBDcmVhdGUgYSBjbGFzcyBmb3IgZWFjaCBjb2x1bW5cbiAgICovXG5cbiAgLmNvbC0jeyRpfSwgLmNvbC1sZy0jeyRpfSB7XG4gICAgd2lkdGg6IGNvbHVtbigkaSwxMik7XG5cblxuICAgIC5mdWxsLXJvdyAmIHtcbiAgICAgIHdpZHRoOiBjb2x1bW4oJGkpOyB9IH1cblxuXG4gIC8qIENvbHVtbiBzaGlmdHNcbiAgIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLm9mZnNldC0jeyRpfSwgLm9mZnNldC1sZy0jeyRpfSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNvbHVtbigkaSwxMik7IH0gfVxuXG5cblxuLyogTWVkaWEgcXVlcmllc1xuIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAvKlxuICAqIENyZWF0ZSBhIHNlcGFyYXRlIGxvb3AgYmVjYXVzZSBvZiBvcmRlciBmb3IgY3NzIHJlbmRlcmluZ1xuICAqIGJlY2F1c2UgZWxzZSBpdCB3b3VsZCBvdmVycnVsZSBhIHByZXZpb3VzIG1lZGlhIHF1ZXJ5XG4gICovXG5cbkBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWRDb2x1bW5zIHtcblxuICAvLyBNZWRpYSBxdWVyeSBmb3IgbGFyZ2UgZGVza3RvcFxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoLWJleW9uZCgkeGxHcmlkQnJlYWtwb2ludCkge1xuICAgIC5jb2wteGwtI3skaX0ge1xuICAgICAgd2lkdGg6IGNvbHVtbigkaSwxMik7IH1cblxuICAgIC5vZmZzZXQteGwtI3skaX0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGNvbHVtbigkaSwxMik7IH0gfVxuXG4gIC8vIE1lZGlhIHF1ZXJ5IGZvciBub3JtYWwgZGVza3RvcFxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKCRtZEdyaWRCcmVha3BvaW50KSB7XG4gICAgLmNvbC1tZC0jeyRpfSB7XG4gICAgICB3aWR0aDogY29sdW1uKCRpLDEyKTsgfVxuXG4gICAgLm9mZnNldC1tZC0jeyRpfSB7XG4gICAgICBtYXJnaW4tbGVmdDogY29sdW1uKCRpLDEyKTsgfSB9XG5cbiAgLy8gTWVkaWEgcXVlcnkgZm9yIHRhYmxldHNcbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgkc21HcmlkQnJlYWtwb2ludCkge1xuICAgIC5jb2wtc20tI3skaX0ge1xuICAgICAgd2lkdGg6IGNvbHVtbigkaSwxMik7IH1cblxuICAgIC5vZmZzZXQtc20tI3skaX0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGNvbHVtbigkaSwxMik7IH0gfVxuXG4gIC8vIE1lZGlhIHF1ZXJ5IGZvciBtb2JpbGVcbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgkeHNHcmlkQnJlYWtwb2ludCkge1xuICAgIC5jb2wteHMtI3skaX0ge1xuICAgICAgd2lkdGg6IGNvbHVtbigkaSwxMik7IH1cblxuICAgIC5vZmZzZXQteHMtI3skaX0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGNvbHVtbigkaSwxMik7IH0gfSB9XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGhpcyBncmlkIGNhbiBiZSB0dXJuZWQgb24gYW5kIG9mZiB3aGVuIHlvdSB3YW50IHRvIGNoZWNrXG4gICBpZiBldmVyeXRoaW5nIGlzIG5pY2UgaW4gcGxhY2UuXG4gICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udmlzaWJsZS1ncmlkLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi8qKlxuICogMS4gTWFrZXMgaXQgYWJsZSB0byBjb250cm9sIHRoZSB3ZWJzaXRlIHdoaWxlIGdyaWQgaXMgc2hvd25cbiAqL1xuLnZpc2libGUtZ3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMDAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZSAvKiAyICovO1xuXG4gIC5ncmlkLWNvbCB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDI1NSwyNTUsLjYpO1xuICAgIGhlaWdodDogMTAwdmg7XG5cbiAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDI1NSwyNTUsLjMpOyB9IH1cblxuICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMjU1LDAsLjUpOyB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGxlZnQ6IGNhbGMoLTEwMCUgLyAxMik7IH1cblxuICAmOmFmdGVyIHtcbiAgICByaWdodDogY2FsYygtMTAwJSAvIDEyKTsgfVxuXG4gIC8vJjpudGgtY2hpbGQoMSksJjpudGgtY2hpbGQoMTQpXG4gfSAgLy8vLyAgYmFja2dyb3VuZDogcmdiYSgwLDI1NSwwLC41KVxuIiwiLmJyZWFrcG9pbnQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHotaW5kZXg6IDEwMDAwO1xuICBiYWNrZ3JvdW5kOiAjMEFCRUZGO1xuXG4gIC8vIExhcmdlciB0aGVuIHhsQnJlYWtwb2ludFxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoLWJleW9uZCgkeGxHcmlkQnJlYWtwb2ludCkge1xuICAgIGJhY2tncm91bmQ6IHJlZDsgfVxuXG4gIC8vIExvb3AgdGhyb3VnaCBvdGhlciBicmVha3BvaW50c1xuICAkYnJlYWtwb2ludHMgOiAgKGJsdWUgJGxnR3JpZEJyZWFrcG9pbnQpIChncmVlbiAkbWRHcmlkQnJlYWtwb2ludCkgKHllbGxvdyAkc21HcmlkQnJlYWtwb2ludCkgKHBpbmsgJHhzR3JpZEJyZWFrcG9pbnQpO1xuXG4gIEBlYWNoICRsaXN0IGluICRicmVha3BvaW50cyB7XG5cbiAgICAkY29sb3IgOiBudGgoJGxpc3QsMSk7XG4gICAgJGJyZWFrcG9pbnQgOiBudGgoJGxpc3QsMik7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKCRicmVha3BvaW50KSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7IH0gfSB9XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRXhwZW5kIENvbmZpZyBzZXR0aW5nc1xuICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gQ29sb3JzXG4kZGFya2VyQmx1ZTogICMwMzFFNDk7XG4kZGFya0JsdWU6ICAgICMwNTJCNjc7XG4kYmx1ZSA6ICAgICAgICM3OEEyREI7XG4kbGlnaHRCbHVlIDogICNCQ0RBRkY7XG4kY2FkZXRCbHVlOiAgICNBM0EzQkY7XG4kYmlzcXVlOiAgICAgICNmZjk2MDA7XG4kYmlzcXVlTGlnaHQ6ICNGRkUyQ0M7XG4kYmlzcXVlR3JleTogICNCREI0QUQ7XG4kZ3JleSA6ICAgICAgICNCMkIyQjI7XG4kbWVkaXVtR3JleTogICNEOEQ4RDg7XG4kbGlnaHRHcmV5IDogICNFNkU2RTY7XG4kZGFya0dyZXk6ICAgICM4MjgyODI7XG4kb2ZmV2hpdGU6ICAgICNFRkYxRUQ7XG5cbiRyZWQgOiAgICAgICAgI0ZGNDI0MjtcbiR3YXJuaW5nIDogICAgI2ZmYjYwMDtcblxuJGJvcmRlckNvbG9yOiAjZWFlYWVhO1xuXG4kYmxhY2tHcmFkaWVudDogcmdiYSgwLDAsMCwwLjIpIDAlLCByZ2JhKDAsMCwwLDApIDEwMCU7XG5cbiRmb250Q2FiaW46ICdDYWJpbicsIHNhbnMtc2VyaWY7XG4kZm9udERyb2lkU2FuczogJ0Ryb2lkIFNhbnMnLCBzYW5zLXNlcmlmO1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEV4cGVuZCBCYXNpYyBzdHlsZSBzZXR0aW5nc1xuICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFNldCB1cCB0aGUgaHRtbFxuICpcbiAqIDEuIE1ha2VzIHN1ZSB0aGF0IHNvbWUgZm9udHMgYXJlIGJldHRlciByZW5kZXJlZFxuICovXG5cbmh0bWwge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZCAvKiAyICovO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cblxuLypcbiAqIFNldCB1cCB0aGUgYm9keVxuICpcbiAqIDEuIFNldCBmb250IHRvIGxpbmluZyBmaWd1cmVzXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcblxuICBmb250LWZhbWlseTogJGZvbnRDYWJpbjtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcblxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsbnVtJyAvKiAxICovOyB9XG5cbi8qXG4gKiBTZXQgZGVmYXVsdCBzZXR0aW5ncyBmb3IgYWxsIGVsZW1lbnRzXG4gKlxuICogMS4gRGVmYXVsdCBzZWxlY3Rpb24gc3R5bGluZ1xuICpcbiAqL1xuKiB7XG4gIDo6c2VsZWN0aW9uIC8qIDIgKi8ge1xuICAgIGJhY2tncm91bmQ6ICRibHVlO1xuICAgIGNvbG9yOiB3aGl0ZTsgfSB9XG5cbi8qKlxuICogMS5EZWZhdWx0IGRpc3BsYXkgZm9yIGltYWdlcyBpcyBibG9jayB0byBsb3NlIHRoZSBleHRyYSBtYXJnaW4gYmVsb3cgdGhlIGltYWdlXG4gKi9cbmltZyB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcblxuICAmLnByZWxvYWQge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4vKlxuICogU2V0IGRlZmF1bHQgc3R5bGluZyBmb3IgaW5wdXQgYW5kIHRleHRhcmVhXG4gKlxuICogMS4gU2V0IGZvbnQgYmVjYXVzZSBlbHNlIHRoZSBhZ2VudCB3aWxsIG92ZXJydWxlIHRoZW0gd2l0aCBhbiB1Z2x5IGZvbnRcbiAqL1xuaW5wdXQsIHRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6ICRmb250Q2FiaW47IH1cbi8qIDEgKi9cblxuLypcbiAqIFNldCBkZWZhdWx0IHN0eWxpbmcgZm9yIGEgYnV0dG9uXG4gKlxuICovXG4uYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDE1cHggMjVweDtcbiAgYm9yZGVyOiAycHggc29saWQgJGJpc3F1ZUxpZ2h0O1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBjb2xvcjogJGRhcmtCbHVlO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgZm9udC1mYW1pbHk6ICRmb250RHJvaWRTYW5zO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC40cyBlYXNlLW91dDtcblxuICAvL1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogMzAwJTtcbiAgICB3aWR0aDogMTUwJTtcbiAgICBsZWZ0OiAtMjAwJTtcbiAgICBib3R0b206IC0xMDAlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJpc3F1ZUxpZ2h0LCAwLjIpO1xuICAgIG9wYWNpdHk6IDAuMjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTdkZWcpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7IH1cblxuICAuYXJyb3cge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG5cbiAgICBzdmcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtaGVpZ2h0OiAxNnB4O1xuICAgICAgcGF0aCB7XG4gICAgICAgIGZpbGw6ICRkYXJrQmx1ZTsgfSB9IH1cblxuICAmOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiA0cHggNHB4IDEwcHggMCByZ2JhKDAsMCwwLDApO1xuICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlLW91dDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IC0yNSU7XG4gICAgICB3aWR0aDogMTUwJTtcbiAgICAgIG9wYWNpdHk6IDE7IH1cblxuICAgIC5hcnJvdyB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDNweCwgMCk7IH0gfVxuXG5cbiAgJi5yaWdodCB7XG4gICAgLmFycm93IHtcbiAgICAgIHRvcDogLTFweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICBtYXJnaW4tbGVmdDogMjVweDsgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAuYXJyb3cge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpIHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7IH0gfSB9IH1cblxuXG4vLyBNb2RpZmllciBmb3Igd2hlbiB1c2luZyBidXR0b24gb24gYSBkYXJrIGJhY2tncm91bmRcbi5idXR0b24tLWxpZ2h0IHtcbiAgY29sb3I6IHdoaXRlO1xuXG4gIC5hcnJvdyB7XG4gICAgc3ZnIHtcbiAgICAgIHBhdGgge1xuICAgICAgICBmaWxsOiB3aGl0ZTsgfSB9IH0gfVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlbHBlciBjbGFzc2VzXG4gICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFVzZSBvbiBlbGVtZW50cyBmcm9tIHdoZXJlIHRoZSBjaGlsZHJlbiBzaG91bGQgbm90IHdyYXBcbiAqL1xuLm5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLyoqXG4gKiBIaWRlIGVsZW1lbnRzIG9uIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXNcbiAqL1xuJGJyZWFrcG9pbnRzIDogICgneGwnICR4bEdyaWRCcmVha3BvaW50KSAoJ2xnJyAkbGdHcmlkQnJlYWtwb2ludCkgKCdtZCcgJG1kR3JpZEJyZWFrcG9pbnQpICgnc20nICRzbUdyaWRCcmVha3BvaW50KSAoJ3hzJyAkeHNHcmlkQnJlYWtwb2ludCk7XG5cbkBlYWNoICRsaXN0IGluICRicmVha3BvaW50cyB7XG5cbiAgJG5hbWUgOiBudGgoJGxpc3QsMSk7XG4gICRicmVha3BvaW50IDogbnRoKCRsaXN0LDIpO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoJGJyZWFrcG9pbnQpIHtcbiAgICAuaGlkZS1vbi0jeyRuYW1lfS1vci1zbWFsbGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgtYmV5b25kKCRicmVha3BvaW50KSB7XG4gICAgLmhpZGUtb24tI3skbmFtZX0tb3ItbGFyZ2VyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfSB9XG5cbi5jZW50ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uc3BhY2luZy12IHtcbiAgcGFkZGluZy10b3A6IDc1cHg7XG4gIHBhZGRpbmctYm90dG9tOiA3NXB4OyB9XG4iLCJAaW1wb3J0IFwiY29va2llU3ByaXRlXCI7XG5AaW1wb3J0IFwiZmxhZ3NcIjtcbiIsIiRzcHJpdGVXaWR0aDogNzBweDtcbiRzcHJpdGVIZWlnaHQ6IDMwcHg7XG5cblxuQG1peGluIGNvb2tpZVNwcml0ZSgkcG9zaXRpb24sICR3aWR0aDogYXV0bywgJGhlaWdodDogYXV0bykge1xuXG4gICRwb3NpdGlvblg6IG50aCgkcG9zaXRpb24sIDEpICogLTE7XG4gICRwb3NpdGlvblk6IG50aCgkcG9zaXRpb24sIDIpICogLTE7XG5cbiAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9jb29raWUtc3ByaXRlLnN2Z1wiKSAkcG9zaXRpb25YICRwb3NpdGlvblkgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6ICRzcHJpdGVXaWR0aCAkc3ByaXRlSGVpZ2h0O1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7IH1cbiIsIiRzcHJpdGVXaWR0aDogMTE0cHg7XG4kc3ByaXRlSGVpZ2h0OiAyNXB4O1xuXG5cbkBtaXhpbiBmbGFnU3ByaXRlKCRwb3NpdGlvbiwgJHdpZHRoOiBhdXRvLCAkaGVpZ2h0OiBhdXRvKSB7XG5cbiAgJHBvc2l0aW9uWDogbnRoKCRwb3NpdGlvbiwgMSkgKiAtMTtcbiAgJHBvc2l0aW9uWTogbnRoKCRwb3NpdGlvbiwgMikgKiAtMTtcblxuICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL2ZsYWdzLnN2Z1wiKSAkcG9zaXRpb25YICRwb3NpdGlvblkgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6ICRzcHJpdGVXaWR0aCAkc3ByaXRlSGVpZ2h0O1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7IH1cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBhcnRpYWwgQ1NTXG4gICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vL0BpbXBvcnQgcHJlSGVhZGVyXG4vL0BpbXBvcnQgbGFuZ3VhZ2VNZW51XG5AaW1wb3J0IFwiaGVhZGVyXCI7XG5AaW1wb3J0IFwiZm9vdGVyXCI7XG4vL0BpbXBvcnQgc2hvcHBpbmdDYXJ0XG5AaW1wb3J0IFwia21zQ29udGVudFwiO1xuQGltcG9ydCBcImZvcm1cIjtcbkBpbXBvcnQgXCJpbWFnZVNsaWRlclwiO1xuQGltcG9ydCBcImNvb2tpZU1lc3NhZ2VcIjtcbkBpbXBvcnQgXCJjb29raWVTd2l0Y2hcIjtcblxuQGltcG9ydCBcImR5bmFtaWMvZHluYW1pY1wiO1xuQGltcG9ydCBcIm1vYmlsZS9tb2JpbGVcIjtcblxuQGltcG9ydCBcImJsb2Nrcy9ibG9ja3NcIjtcbkBpbXBvcnQgXCJvdmVydmlld3Mvb3ZlcnZpZXdzXCI7XG5AaW1wb3J0IFwic2hvdy9zaG93XCI7XG4iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIE5hdmlnYXRpb24gLyBIZWFkZXJcbiAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya0JsdWU7XG5cbiAgJjo6YWZ0ZXIge1xuICAgICRncmFkaWVudFNpemU6IDIwcHg7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAtI3skZ3JhZGllbnRTaXplfXB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJGdyYWRpZW50U2l6ZTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGJsYWNrR3JhZGllbnQpO1xuICAgIG9wYWNpdHk6IDAuNDsgfVxuXG4gIC5ncmlkLXJvdyB7XG4gICAgcGFkZGluZzogMDtcbiAgICBAaW5jbHVkZSBmbGV4KGNlbnRlciwgY2VudGVyKTtcblxuICAgID4uZ3JpZC1jb2wge1xuICAgICAgQGluY2x1ZGUgZmxleChzcGFjZS1iZXR3ZWVuLCBjZW50ZXIpO1xuICAgICAgd2lkdGg6IGNvbHVtbigxMCwxMik7IH1cblxuICAgIC8vIE1haW4gbG9nb1xuICAgIC5sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4JTtcbiAgICAgIHBhZGRpbmc6IDMzcHggMDtcbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH0gfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNzUwKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cblxuXG5cbi8qIE5hdmlnYXRpb25cbiBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubmF2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiBhdXRvOyB9XG5cblxuLm5hdl9fbGlzdCB7XG4gIEBpbmNsdWRlIGZsZXgoZmxleC1lbmQsIGNlbnRlcik7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5cbi5uYXZfX2l0ZW0ge1xuICBmbGV4OiAwIDAgYXV0bztcblxuICAmICsgJiB7XG4gICAgbWFyZ2luLWxlZnQ6IDMuNSU7IH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiA3LjUlOyB9IH1cblxuXG4ubmF2X19saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTFweCAxOHB4O1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgY29sb3I6ICNFRkYxRUQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJyc7XG4gICAgb3BhY2l0eTogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogMDtcbiAgICBib3R0b206IDdweDtcbiAgICBsZWZ0OiAxNnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmUyY2M7XG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2Utb3V0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbiAgJjpob3ZlciwgJi5pcy1hY3RpdmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2Utb3V0O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIqKDE2cHgpKTtcbiAgICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuXG4ubmF2X19saW5rLS1ib3hlZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmUyY2M7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOjphZnRlciB7XG4gICAgaGVpZ2h0OiAyMDAlO1xuICAgIHdpZHRoOiAxNTAlO1xuICAgIGxlZnQ6IC0yMDAlO1xuICAgIGJvdHRvbTogLTUwJTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBvcGFjaXR5OiAwLjI7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE3ZGVnKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOyB9XG5cbiAgJjpob3ZlciB7XG4gICAgb3BhY2l0eTogMTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IC0yNSU7XG4gICAgICB3aWR0aDogMTUwJTtcbiAgICAgIG9wYWNpdHk6IDAuMTU7IH0gfSB9XG5cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvb3RlclxuICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogJGRhcmtCbHVlO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6IHdoaXRlO1xuXG4gID4uZ3JpZC1yb3cge1xuICAgIHBhZGRpbmc6IDcwcHggMCA5MHB4OyB9XG5cbiAgLmdyaWQtY29sIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgLmhlYWRlciB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250RHJvaWRTYW5zO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMjBweDsgfSB9XG5cbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycywgY29sb3IgMC4ycztcbiAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuNzsgfSB9XG5cblxuICAuY29udGFjdCB7XG4gICAgd2lkdGg6IGNvbHVtbig0LCAxMik7XG4gICAgbWFyZ2luLWxlZnQ6IGNvbHVtbigxLCAxMik7XG5cbiAgICBmaWd1cmUge1xuICAgICAgd2lkdGg6IDI2MHB4O1xuICAgICAgbWFyZ2luOiAzNXB4IDAgMjVweDtcblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEzM3B4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfSB9XG5cblxuICAubGlua3Mge1xuICAgIHdpZHRoOiBjb2x1bW4oNiwgMTIpO1xuICAgIG1hcmdpbi1sZWZ0OiBjb2x1bW4oMSwgMjQpO1xuXG4gICAgPi5ncmlkLXJvdyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuXG4gICAgLm1lbnUsIC5zdWItbGlua3Mge1xuICAgICAgd2lkdGg6IGNvbHVtbigzLCA2KTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuICAgIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAxMHB4IDAgNDBweDtcblxuICAgICAgbGkge1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlnaHRCbHVlO1xuICAgICAgICAgICAgb3BhY2l0eTogMC43OyB9IH0gfSB9IH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDc1MCkge1xuICAgIC5saW5rcywgLmNvbnRhY3Qge1xuICAgICAgd2lkdGg6IGNvbHVtbigxMCwgMTIpO1xuICAgICAgbWFyZ2luLWxlZnQ6IGNvbHVtbigxLCAxMik7IH1cblxuICAgIC5saW5rcyB7XG4gICAgICBtYXJnaW4tdG9wOiA2MHB4OyB9IH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDUwMCkge1xuICAgID4uZ3JpZC1yb3cge1xuICAgICAgcGFkZGluZzogNDBweCAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbiAgICAubGlua3Mge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgIC5tZW51IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuICAgICAgLnN1Yi1saW5rcyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH0gfVxuXG5cblxuXG4gIC8qIFN1YiBmb290ZXIgZm9yIHBheSBvZmYgYW5kIG91ciBicmFuZGluZ1xuICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAuc3ViLWZvb3RlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtlckJsdWU7XG4gICAgcGFkZGluZzogMTVweCAwO1xuXG4gICAgLmdyaWQtcm93IHtcbiAgICAgIC5wbGFjZWhvbGRlciB7XG4gICAgICAgIHdpZHRoOiBjb2x1bW4oMTAsIDEyKTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSBmbGV4KHNwYWNlLWJldHdlZW4sIGNlbnRlcik7IH0gfVxuXG4gICAgcCwgYSB7XG4gICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgY29sb3I6ICRsaWdodEJsdWU7IH1cblxuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbiAgICAua29tbWEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgZmxleChzcGFjZS1iZXR3ZWVuLCBjZW50ZXIpO1xuICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHdpZHRoOiAyNThweDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuNzsgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDc4cHg7XG4gICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgIGltYWdlOiB1cmwoXCIvaW1nL2tvbW1hLnN2Z1wiKTtcbiAgICAgICAgICBwb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIHNpemU6IGNvbnRhaW47XG4gICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7IH0gfSB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDYwMCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICAuZ3JpZC1yb3cge1xuICAgICAgICAucGxhY2Vob2xkZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjRyZW07IH1cblxuICAgICAgLmtvbW1hIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH0gfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoMTAwMCkge1xuICAgIHBhZGRpbmctdG9wOiAzNXB4O1xuXG4gICAgPi5ncmlkLXJvdyB7XG4gICAgICBAaW5jbHVkZSBmbGV4KGZsZXgtc3RhcnQsIGZsZXgtc3RhcnQpO1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3dzO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuXG4gICAgLm1haW4taXRlbSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDAgY29sdW1uKDEsIDE0KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgICAubG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuXG4gICAgICAmLmxvY2F0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgb3JkZXIoMik7XG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCByZ2JhKHdoaXRlLCAwLjIpO1xuICAgICAgICBwYWRkaW5nLXRvcDogNDBweDsgfVxuXG4gICAgICAmLnNjaG9vbHMsICYubWVudSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICAgPmEge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuICAgICAgdWwuZXh0cmEtbWFyZ2luLWJlbGxvdyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7IH0gfVxuXG4gICAgLnN1Yi1mb290ZXIge1xuICAgICAgLmdyaWQtcm93IHtcbiAgICAgICAgLnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9IH0gfSB9XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRGVmYXVsdCBzdHlsaW5nIGZvciBLTVMgY29udGVudFxuICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmttcy1jb250ZW50IHtcbiAgY29sb3I6ICRjYWRldEJsdWU7XG5cbiAgaDEsIGgyLCBoMyB7XG4gICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBjb2xvcjogJGRhcmtCbHVlO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udERyb2lkU2FucztcblxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9IH1cblxuICBoMiwgaDMge1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtOyB9XG5cbiAgaDMge1xuICAgIHN0cm9uZyB7XG4gICAgICBjb2xvcjogJGxpZ2h0Qmx1ZTsgfSB9XG5cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgY29sb3I6ICRsaWdodEJsdWU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjYyNTsgfVxuXG4gIHVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMnB4O1xuICAgICAgICBjb250ZW50OiAn4oCiJztcbiAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cblxuICAgICAgKyBsaSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDsgfSB9IH1cblxuICBvbCB7XG4gICAgY291bnRlci1yZXNldDogb2wtY291bnRlciAvKiAyICovO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIGNvbG9yOiAkZ3JleTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb3VudGVyLWluY3JlbWVudDogb2wtY291bnRlcjtcbiAgICAgICAgY29udGVudDogY291bnRlcihvbC1jb3VudGVyKScuJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBjb2xvcjogJGJsdWU7IH1cblxuICAgICAgKyBsaSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDsgfSB9IH1cblxuICBhOm5vdCguYnV0dG9uKSB7XG4gICAgY29sb3I6ICRibHVlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IGRhcmtlbigkYmx1ZSwgMTAlKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfSB9IH1cbiIsIi5mb3JtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDU2MHB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgLmhvbmV5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAtNTBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuICAuaG9uZXktbWVzc2FnZSwgbm9zY3JpcHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBjb2xvcjogJHJlZDsgfVxuXG4gIC5mb3JtLWVsZW1lbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gICAgJi5oYXMtZXJyb3Ige1xuICAgICAgaW5wdXQsIHRleHRhcmVhIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkcmVkOyB9IH0gfVxuXG4gIC5lcnJvci1tZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiAkcmVkO1xuICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuXG4gICAgbWFyZ2luLXRvcDogMXB4O1xuICAgIHBhZGRpbmc6IDNweCA4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcmVkLCAwLjA2KTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuXG4gIGxhYmVsLCAubGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBjb2xvcjogJGJsdWU7XG4gICAgZm9udC1zaXplOiAwLjZlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbiAgaW5wdXQsIHRleHRhcmVhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgYm9yZGVyOiAycHggJGxpZ2h0R3JleSBzb2xpZDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICBjb2xvcjogJGdyZXk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuXG4gICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRtZWRpdW1HcmV5ICFpbXBvcnRhbnQ7IH1cblxuICAgICYuYWxlcnQge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcmVkOyB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgIGJvcmRlci1jb2xvcjogJGxpZ2h0Qmx1ZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG5cbiAgICAmOi13ZWJraXQtYXV0b2ZpbGwsICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlciwgJjotd2Via2l0LWF1dG9maWxsOmZvY3VzLCAmOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICAgIHRyYW5zaXRpb246IDk5OTlzIGJhY2tncm91bmQtY29sb3IsIDk5OTlzIGNvbG9yO1xuICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICRncmV5O1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogOTk5OXM7IH1cblxuICAgICYuaGFzLWVycm9yIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHJlZDsgfSB9XG5cbiAgdGV4dGFyZWEge1xuICAgIG1pbi1oZWlnaHQ6IDE1MnB4O1xuICAgIHJlc2l6ZTogdmVydGljYWw7IH1cblxuICAuc2VsZWN0IHtcbiAgICAuc2VsZWN0LXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuICAgIC5pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgdG9wOiAyNnB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiA1cHggNnB4IDAgNnB4O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JleSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbiAgICBzZWxlY3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIGFwcGVhcmFuY2Uobm9uZSk7XG4gICAgICBmb250LWZhbWlseTogJGZvbnRDYWJpbjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgcGFkZGluZzogMTVweCAzNXB4IDE1cHggMjBweDtcbiAgICAgIGJvcmRlcjogMXB4IHRyYW5zcGFyZW50IHNvbGlkO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgIGNvbG9yOiAkZ3JleTtcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7IH0gfSB9XG5cblxuICAuY2hlY2tib3gge1xuICAgIGxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoc3BhY2UtYmV0d2VlbiwgZmxleC1zdGFydCk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgIGlucHV0IHtcbiAgICAgICAgQGluY2x1ZGUgYXBwZWFyYW5jZShub25lKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEod2hpdGUsIDAuMyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh3aGl0ZSwgMC41KTsgfVxuXG4gICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9jaGVjay9jaGVja2VkLnN2Z1wiKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHdoaXRlLCAwLjcpOyB9IH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDJweCAwIDA7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTsgfSB9IH1cblxuICAuc3VibWl0IHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgaW5wdXQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICAgIC5hcnJvdyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4OyB9IH0gfSB9XG5cbi5mb3JtLWVycm9yLW1lc3NhZ2VzIHtcbiAgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICRyZWQ7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH0gfVxuXG5cbi5jLWZvcm0tZmVlZGJhY2sge1xuICBtYXJnaW46IDAgMCAxMHB4O1xuICBwYWRkaW5nOiAzMHB4IDUwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHJlZCwgMC4wNSk7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRyZWQ7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogJHJlZDtcblxuICAmOm5vdCg6ZW1wdHkpIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtZmVlZGJhY2spO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAkcmVkOyB9XG5cbiAgbGk6OmZpcnN0LWxldHRlciB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfSB9XG4iLCIuaW1hZ2Utc2xpZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDQwcHggMHB4IHJnYmEoMCwwLDAsMC4yKTtcblxuICAucGxhY2Vob2xkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjdXJzb3I6IG1vdmU7XG5cbiAgICAuY29udHJvbGxlcnMge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDY2LjY3JTtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMzUwKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOyB9XG5cbiAgICAgIC5uYXYtaXRlbSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgQGluY2x1ZGUgZmxleChjZW50ZXIsIGNlbnRlcik7XG4gICAgICAgIGJvdHRvbTogLTUwcHg7XG4gICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoY2VudGVyLCBjZW50ZXIpO1xuICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG5cbiAgICAgICAgICAuYXJyb3ctaWNvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICAgIC5zdDAge1xuICAgICAgICAgICAgICBmaWxsOiB3aGl0ZTsgfSB9IH1cblxuICAgICAgICAmLnByZXZpb3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRCbHVlO1xuICAgICAgICAgIHJpZ2h0OiBjYWxjKDUwJSArIDNweCk7XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIC5hcnJvdy1pY29uIHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9IH1cblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkbGlnaHRCbHVlLCA1JSk7IH0gfVxuXG4gICAgICAgICYubmV4dCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICAgICAgbGVmdDogY2FsYyg1MCUgKyAzcHgpO1xuXG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIC5hcnJvdy1pY29uIHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfSB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmx1ZSwgNSUpOyB9IH0gfSB9XG5cblxuXG4gICAgZmlndXJlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblxuICAgICAgICAmLnNtYWxsIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg0ODApIHtcbiAgICAgICAgICAmLm1lZGl1bSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgICAgICAmLnNtYWxsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH0gfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIG9wYWNpdHk6IDE7IH0gfSB9IH1cbiIsIi8vIENvb2tpZSBtZXNzYWdlIHdpdGhvdXQgdHJhY2tpbmdcbiNjb29raWUtbWVzc2FnZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogOTk5OTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAxNXB4IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya2VyQmx1ZTtcbiAgb3BhY2l0eTogMTtcbiAgYm94LXNoYWRvdzogMCAtMnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cywgdHJhbnNmb3JtIDAuNnM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cbiAgJi5hY2NlcHRlZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4gICYudHJhbnNpdGlvbi1vdXQge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1MCUsIDApOyB9XG5cbiAgLmdyaWQtcm93IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBwLCBwIGEsIC5jbG9zZS1idXR0b24ge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG4gICAgcCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH0gfVxuXG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICBwYWRkaW5nOiA1cHggMTJweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEod2hpdGUsIDAuMik7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNjI1KSB7XG4gICAgICBwIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyMjVweDsgfSB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDM3NSkge1xuICAgICAgcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuICAgICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH0gfSB9IH1cblxuLy8gQ29va2llIG1lc3NhZ2Ugd2l0aCB0cmFja2luZ1xuI2Nvb2tpZS1tZXNzYWdlLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5OTk7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgQGluY2x1ZGUgZmxleChjZW50ZXIsIGNlbnRlcik7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoYmxhY2ssIDAuNik7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcblxuICAmLmFjY2VwdGVkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbiAgJi50cmFuc2l0aW9uLW91dCB7XG4gICAgb3BhY2l0eTogMDsgfVxuXG4gIC5wbGFjZWhvbGRlciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwdncgLyAxNCAqIDEyKTtcbiAgICBwYWRkaW5nOiA2MHB4IDEyMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogOTYwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG4gICAgaDUge1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgICBjb2xvcjogIzRkNGQ0ZDsgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjb2xvcjogIzgwODA4MDsgfVxuXG4gICAgcCBhLCBwIC5vcGVuLW1lbnUge1xuICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbiAgICAuYWNjZXB0LWNvb2tpZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICAgIHBhZGRpbmc6IDEzcHggMjBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodEJsdWU7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNHMsIG9wYWNpdHkgMC40cztcbiAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkbGlnaHRCbHVlLCA4JSk7IH0gfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxNDQwKSB7XG4gICAgICBwYWRkaW5nOiBjYWxjKDEwMHZ3IC8gMTQgLyAxLjUpIGNhbGMoMTAwdncgLyAxNCk7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg0NTApIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuICAjbWVzc2FnZS1kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmLmhpZGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiAgLmNvb2tpZS10eXBlcy1kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAzMHB4IDA7XG5cbiAgICAuY29va2llLXR5cGUge1xuICAgICAgQGluY2x1ZGUgZmxleChzcGFjZS1iZXR3ZWVuLCBmbGV4LXN0YXJ0KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICArIC5jb29raWUtdHlwZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDI1cHg7IH1cblxuICAgICAgLmljb24ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KGNlbnRlciwgY2VudGVyKTtcbiAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgIGhlaWdodDogMjVweDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4gICAgICAudGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNTVweCk7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAzODBweDtcbiAgICAgICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgY29sb3I6IHJnYmEoJGdyZXksIDAuNik7XG5cbiAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9IH0gfSB9XG5cbiAgICAgICYudHJhY2tpbmcge1xuICAgICAgICAuaWNvbjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIGNvb2tpZVNwcml0ZSgwIDAsIDI1cHgsIDI1cHgpOyB9IH1cblxuICAgICAgJi5hbmFseXRpYyB7XG4gICAgICAgIC5pY29uOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgY29va2llU3ByaXRlKDI3cHggMCwgMjVweCwgMjVweCk7IH0gfSB9IH1cblxuICAuY29va2llLXNldHRpbmdzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5lZGl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgICAud3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDAgMDsgfVxuXG4gICAgLmNvb2tpZS10eXBlIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoc3BhY2UtYmV0d2VlbiwgZmxleC1zdGFydCk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogNDIwcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICsgLmNvb2tpZS10eXBlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDsgfVxuXG4gICAgICBpbnB1dCB7XG4gICAgICAgIG1hcmdpbjogNHB4IDAgMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIGNvb2tpZVNwcml0ZSg1NXB4IDE0cHgsIDEzcHgsIDEzcHgpO1xuICAgICAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuXG4gICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU1cHggMDsgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfSB9XG5cbiAgICAgID4gc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNTVweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgICAgY29sb3I6IHJnYmEoJGdyZXksIDAuNik7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgICBjb2xvcjogJGdyZXk7XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH0gfSB9XG5cbiAgICAgICYuYW5hbHl0aWMge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgb3BhY2l0eTogMC4zOyB9IH0gfSB9IH1cbiIsIi8vIENvb2tpZSBzd2l0Y2hcbiNjb29raWUtc3dpdGNoIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgcGFkZGluZzogMzBweCAwIDUwcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLnBsYWNlaG9sZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIC5jb29raWUtc3dpdGNoLXRpdGxlIHtcbiAgICAgIGgzIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTJweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40OyB9IH1cblxuICAgIC5jb29raWUtdHlwZXMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDMwcHggMCA1MHB4O1xuXG4gICAgICAuY29va2llLXR5cGUge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KHNwYWNlLWJldHdlZW4sIGZsZXgtc3RhcnQpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA0MjBweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICsgLmNvb2tpZS10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4OyB9XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIG1hcmdpbjogNHB4IDAgMDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuICAgICAgICAgIEBpbmNsdWRlIGNvb2tpZVNwcml0ZSg1NXB4IDE0cHgsIDEzcHgsIDEzcHgpO1xuXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4gICAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01NXB4IDA7IH0gfVxuXG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDU1cHgpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDQ2MCkge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpOyB9XG5cbiAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9IH0gfVxuXG5cbiAgICAgICAgJi5hbmFseXRpYyB7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfSB9IH1cblxuICAgICNzYXZlLWNvb2tpZS1zZXR0aW5ncyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxM3B4IDIwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRCbHVlO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjRzLCBvcGFjaXR5IDAuNHM7XG5cbiAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkbGlnaHRCbHVlLCA4JSk7IH1cblxuICAgICAgJi5jbGlja2VkIHtcbiAgICAgICAgb3BhY2l0eTogMC4yOyB9IH0gfSB9XG4iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIER5bmFtaWMgQmxvY2tzXG4gIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5keW5hbWljLWJsb2NrIHtcblxuICArIC5keW5hbWljLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4OyB9XG5cbiAgLmdyaWQtcm93IHtcbiAgICBAaW5jbHVkZSBmbGV4KHNwYWNlLWJldHdlZW4sIGNlbnRlcik7IH1cblxuICBAaW1wb3J0IFwidHdvVGV4dENvbHVtblwiO1xuICBAaW1wb3J0IFwiZnVsbEltYWdlQ29sdW1uXCI7XG4gIEBpbXBvcnQgXCJjb250ZW50QmxvY2tcIjtcbiAgQGltcG9ydCBcIm11bHRpcGxlSW1hZ2VzXCI7XG4gIEBpbXBvcnQgXCJmdWxsVGV4dEJsb2NrXCI7XG4gIEBpbXBvcnQgXCJ2aWRlb0Jsb2NrXCI7IH1cbiIsIiYudHdvLXRleHQtY29sdW1ucyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7XG4gIEBpbmNsdWRlIGZsZXgoc3BhY2UtYmV0d2VlbiwgZmxleC1zdGFydCk7XG4gIC5jb250ZW50IHtcbiAgICB3aWR0aDogY29sdW1uKDIxLCA0NCk7XG4gICAgcGFkZGluZzogMDsgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoOTAwKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLmNvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH0gfSB9XG4iLCImLmZ1bGwtaW1hZ2UtY29sdW1uIHtcblxuICBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgJi5sYXJnZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMDUwKSB7XG4gICAgICAmLmxhcmdlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgJi5tZWRpdW0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDUyNSkge1xuICAgICAgJi5tZWRpdW0ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAmLnNtYWxsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfSB9IH1cblxuIiwiJi5jb250ZW50LWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBmbGV4KHNwYWNlLWJldHdlZW4sIGZsZXgtc3RhcnQpO1xuXG4gIC5pbWFnZSB7XG4gICAgd2lkdGg6IDUwJTtcblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgJi5zbWFsbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg0NTApIHtcbiAgICAgICAgJi5tZWRpdW0ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICAgICAmLnNtYWxsIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9IH1cblxuICAgIC5jb250ZW50IHtcbiAgICAgIHdpZHRoOiBjb2x1bW4oNSwgMTIpOyB9IH1cblxuICAuY29udGVudCB7XG4gICAgQGluY2x1ZGUgb3JkZXIoMSk7XG4gICAgd2lkdGg6IGNvbHVtbig1LCAxMik7IH1cblxuICAmW2RhdGEtaW1hZ2UtbG9jYXRpb249J3JpZ2h0J10ge1xuICAgIC5pbWFnZSB7XG4gICAgICBAaW5jbHVkZSBvcmRlcigyKTsgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgb3JkZXIoMSk7IH0gfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoOTAwKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAuaW1hZ2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgQGluY2x1ZGUgb3JkZXIoMik7IH1cblxuICAgIC5jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH0gfVxuIiwiJi5tdWx0aXBsZS1pbWFnZXMge1xuICBAaW5jbHVkZSBmbGV4KHNwYWNlLWJldHdlZW4sIGZsZXgtc3RhcnQpO1xuICBAaW5jbHVkZSBmbGV4LXJvd3M7XG5cbiAgZmlndXJlIHtcbiAgICB3aWR0aDogY29sdW1uKDIxLCA0NCk7XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmLm1lZGl1bSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMTAwKSB7XG4gICAgICAgICYubGFyZ2Uge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgJi5tZWRpdW0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg0ODApIHtcbiAgICAgICAgJi5sYXJnZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAmLm1lZGl1bSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfSB9IH1cblxuICAmW2RhdGEtc2l6ZS10eXBlPSc1MCddIHtcbiAgICBmaWd1cmUge1xuICAgICAgaW1nIHtcbiAgICAgICAgJi5tZWRpdW0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMTI1KSB7XG4gICAgICAgICAgJi5tZWRpdW0ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgICYuc21hbGwge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfSB9IH0gfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoOTAwKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBmaWd1cmUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cbiAgICAgIGltZyB7XG4gICAgICAgICYubWVkaXVtIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgICAgICYuc21hbGwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNTI1KSB7XG4gICAgICAgICAgJi5tZWRpdW0ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgICYuc21hbGwge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfSB9IH0gfSB9XG4iLCImLmZ1bGwtdGV4dC1ibG9jayB7XG4gIC5jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDY4MHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuIiwiJi52aWRlby1ibG9jayB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDk2MHB4O1xuICBtYXJnaW46IDYwcHggYXV0byAwICFpbXBvcnRhbnQ7XG5cbiAgLnZpZGVvLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTMuNiUgLyogMTY6OSAqLztcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgaWZyYW1lLCAudmlkZW8tb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAudmlkZW8tb3ZlcmxheSB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgQGluY2x1ZGUgZmxleChjZW50ZXIsIGNlbnRlcik7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICAgICAuYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgbWF4LXdpZHRoOiA4NXB4O1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cztcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDAuODUpKTsgfSB9XG5cbiAgICAgICYuaGlkZSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC43cztcbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjMpOyB9IH0gfSB9IH1cbiIsIkBpbXBvcnQgXCJuYXZpZ2F0aW9uXCI7XG5AaW1wb3J0IFwiY29udGFjdFwiO1xuQGltcG9ydCBcInN0aWNreU5hdmlnYXRpb25cIjtcbiIsIi8vQ29sb3JzIHVzZWQgaW4gTW9iaWxlIE1lbnVcbiRsaXN0Q29sb3I6IHJnYmEod2hpdGUsIDAuNSk7XG4kbGlzdEhvdmVyQ29sb3I6IHJnYmEod2hpdGUsIDAuNzUpO1xuJGxpc3RBY3RpdmVDb2xvcjogd2hpdGU7XG5cbiRiYXJDb2xvcjogJGRhcmtCbHVlO1xuJGJhck1lbnVDb2xvcjogd2hpdGU7XG4kbWVudUJhY2tncm91bmQ6ICRkYXJrQmx1ZTtcblxuJHNoYWRlckJhY2tncm91bmQ6ICRkYXJrQmx1ZTtcbiRzaGFkZXJPcGFjaXR5OiAwLjY7XG5cblxuLnByZXZlbnRTY3JvbGwge1xuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDc1MCkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cblxuI21vYmlsZS1uYXZpZ2F0aW9uIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDAwO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAuaWUudjEwICYge1xuICAgIGhlaWdodDogNjBweDsgfVxuXG4gIC5iYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXJDb2xvcjtcbiAgICBib3gtc2hhZG93OiAwIDJweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjExKTtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA0O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UgMC40cywgdHJhbnNmb3JtIDAuNHMgZWFzZSAwcztcblxuICAgIC50b2dnbGUtbWVudSB7XG4gICAgICB3aWR0aDogNjBweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBmbGV4KGNlbnRlciwgY2VudGVyKTtcblxuICAgICAgLmljb24ge1xuICAgICAgICB3aWR0aDogMjBweDtcblxuICAgICAgICBzcGFuICsgc3BhbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgNTAlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXJNZW51Q29sb3I7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnM7XG5cbiAgICAgICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjgsIDEsIDEpOyB9XG5cbiAgICAgICAgICAmOm50aC1vZi10eXBlKDMpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ1LCAxLCAxKTsgfSB9IH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKSAhaW1wb3J0YW50OyB9IH0gfSB9XG5cbiAgICAubG9nbyB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBAaW5jbHVkZSBmbGV4KGNlbnRlciwgY2VudGVyKTtcblxuICAgICAgYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDUwcHg7IH0gfSB9IH1cblxuICAmLmhpZGUtYmFyIHtcbiAgICAuYmFyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApOyB9IH1cblxuICAuc2hhZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaGFkZXJCYWNrZ3JvdW5kO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC40czsgfVxuXG4gIC5tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgbWluLXdpZHRoOiAyNzVweDtcbiAgICBwYWRkaW5nOiA0MHB4IDEyMHB4O1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1lbnVCYWNrZ3JvdW5kO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuXG4gICAgbmF2IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLmNsb3NlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDE3cHg7XG4gICAgICAgIGxlZnQ6IC02OHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgb3BhY2l0eTogMC40OyB9XG5cbiAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zczsgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiA3cHg7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDJweDsgfSB9XG5cblxuICAgICAgLmxvZ28td3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDcwcHg7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTMzcHg7IH0gfSB9XG5cbiAgICAgIC5tZW51LWxpc3Qge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuXG4gICAgICAgICAgKyB1bCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4OyB9XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAwO1xuICAgICAgICAgICAgICBjb2xvcjogJGxpc3RDb2xvcjtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xuICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaXN0SG92ZXJDb2xvcjsgfSB9XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjg1ZW07IH1cblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpc3RBY3RpdmVDb2xvcjsgfSB9IH0gfSB9IH0gfVxuXG4gICYuYWN0aXZlIHtcbiAgICAuaWUudjEwICYge1xuICAgICAgaGVpZ2h0OiAxMDB2aDsgfVxuXG4gICAgLmJhciB7XG4gICAgICAudG9nZ2xlLW1lbnUge1xuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC40cztcbiAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoNDVkZWcpKTtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgdG9wOiA2cHg7IH1cbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIGJvdHRvbTogNnB4O1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKC00NWRlZykpOyB9IH0gfSB9IH1cbiAgICAubWVudSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuICAmLnNoYWRlci1hY3RpdmUge1xuICAgIC5zaGFkZXIge1xuICAgICAgb3BhY2l0eTogJHNoYWRlck9wYWNpdHk7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsOyB9IH1cblxuICAmLmFsbG93LWFuaW1hdGlvbiB7XG4gICAgLnNoYWRlciB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yczsgfVxuICAgIC5tZW51IHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9IH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDc1MCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLmJhciB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4gICAgLm1lbnUge1xuICAgICAgbWF4LXdpZHRoOiBub25lOyB9IH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDQwMCkge1xuICAgIG5hdiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG5cbiAgICAgIHVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07IH0gfSB9IH1cbiIsIi5tb2JpbGUtY29udGFjdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuXG4gIHBhZGRpbmc6IDUwcHggY29sdW1uKDEpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICBjb2xvcjogJGRhcmtCbHVlO1xuICBmb250LXNpemU6IDAuOXJlbTtcblxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMsIHRyYW5zZm9ybSAwLjRzO1xuXG4gICYuYWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cblxuXG4gIGgxLCBoMiB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWF4LXdpZHRoOiA1ODBweDtcbiAgICBjb2xvcjogJGJsdWU7XG4gICAgbWFyZ2luOiAwIDAgNDBweDsgfVxuXG4gIHAge1xuICAgIG1hcmdpbjogMXJlbSAwOyB9XG5cbiAgc3Ryb25nIHtcbiAgICBjb2xvcjogJGRhcmtCbHVlOyB9XG5cbiAgYTpub3QoLmJ1dHRvbikge1xuICAgIGNvbG9yOiAkYmx1ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcywgYm9yZGVyIDAuM3MsIG9wYWNpdHkgMC4zcztcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBkYXJrZW4oJGJsdWUsIDE1JSk7IH0gfVxuXG5cblxuICBhLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkKCk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7IH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApOyB9IH0gfVxuXG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg4NDApIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4iLCIjc3RpY2t5LW5hdmlnYXRpb24ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogNTA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgYm94LXNoYWRvdzogMCA2cHggMTBweCAtNXB4IHJnYmEoMCwwLDAsMC4xKTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMsIG9wYWNpdHkgMC40cztcblxuICAmLmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbiAgLmdyaWQtcm93IHtcbiAgICBAaW5jbHVkZSBmbGV4KHNwYWNlLWJldHdlZW4sIGNlbnRlcik7IH1cblxuICAubWVudSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA2MHB4O1xuXG4gICAgLnBsYWNlaG9sZGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG5cbiAgICAgIC5pY29uLXBsYWNlaG9sZGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoY2VudGVyLCBjZW50ZXIpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIHdpZHRoOiAyMHB4O1xuXG4gICAgICAgICAgc3BhbiArIHNwYW4ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cztcblxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjgsIDEsIDEpOyB9XG5cbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMykge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NSwgMSwgMSk7IH0gfSB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKSAhaW1wb3J0YW50OyB9IH0gfSB9IH0gfVxuXG4gIC5sb2dvLXdyYXBwZXIge1xuICAgIGEge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfSB9IH1cbiIsIkBpbXBvcnQgXCJsYXJnZUhlYWRlckltYWdlXCI7XG5AaW1wb3J0IFwiY3RhQ29udGVudFJvd1wiO1xuQGltcG9ydCBcInJlYXNvbnNSb3dcIjtcbkBpbXBvcnQgXCJkaXNjb3ZlclJvd1wiO1xuQGltcG9ydCBcImN0YVJvd1wiO1xuQGltcG9ydCBcInBlcnNvblwiO1xuQGltcG9ydCBcInN0ZXBzU2xpZGVyXCI7XG4iLCIubGFyZ2UtaGVhZGVyLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNzUwKSB7XG4gICAgcGFkZGluZy10b3A6IDEwMHB4OyB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg1MDApIHtcbiAgICBwYWRkaW5nLXRvcDogNjBweDsgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTI7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogJGRhcmtCbHVlO1xuICAgIGhlaWdodDogNzAlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg2NDApIHtcbiAgICAgIGhlaWdodDogNTAlOyB9IH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgYm90dG9tOiAzMCU7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHRHcmV5O1xuICAgIGhlaWdodDogMTgwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDExMDApIHtcbiAgICAgIGhlaWdodDogMTIwcHg7IH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoODQwKSB7XG4gICAgICBib3R0b206IDEwMHB4OyB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDY0MCkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDUwMCkge1xuICAgIC5ncmlkLXJvdyB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbiAgLmhlYWRlci1pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG5cbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDQwcHg7XG4gICAgICBib3R0b206IDQwcHg7XG4gICAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBzZW1pYm9sZCgpO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrQmx1ZTtcbiAgICAgICAgcGFkZGluZzogMTJweCAyMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7IH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxNTAwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtOyB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoODQwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNjQwKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNTAwKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07IH0gfVxuXG4gICAgJi5pbWFnZS1zbGlkZXIge1xuICAgICAgLmNvbnRyb2xsZXJzIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDY2LjY3JSAhaW1wb3J0YW50O1xuICAgICAgICAubmF2LWl0ZW0ge1xuICAgICAgICAgIGJvdHRvbTogNTBweDtcbiAgICAgICAgICAmLnByZXZpb3VzIHtcbiAgICAgICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAxN3B4KTsgfVxuICAgICAgICAgICYubmV4dCB7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLSAxN3B4KTsgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg1MDApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfSB9IH0gfVxuXG4gIC5zaG93LXNjcm9sbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gNDBweCk7XG4gICAgYm90dG9tOiAtNDBweDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBAaW5jbHVkZSBmbGV4KGNlbnRlciwgY2VudGVyKTtcbiAgICB3aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDU1cHggNTVweCAwIDA7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuXG4gICAgLmFycm93IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTZweDtcblxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcblxuICAgICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgZmlsbDogd2hpdGU7IH0gfSB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5hcnJvdyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwzcHgsMCk7IH0gfVxuXG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDY0MCkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9IH1cbiIsIi5jdGEtY29udGVudC1yb3cge1xuICAuZ3JpZC1yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgoZmxleC1lbmQsIGZsZXgtc3RhcnQpO1xuICAgIHBhZGRpbmc6IDExNXB4IDA7XG5cbiAgICAuY3RhLWJsb2NrIHtcbiAgICAgIHdpZHRoOiBjb2x1bW4oNCwgMTIpO1xuICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIG1hcmdpbi1yaWdodDogY29sdW1uKDMsIDI0KTtcbiAgICAgIHAge1xuICAgICAgICBtYXJnaW46IC0zNXB4IDAgMTVweCAwO1xuICAgICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgY29sb3I6ICRsaWdodEJsdWU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkRyb2lkIFNhbnNcIiwgc2Fucy1zZXJpZjsgfVxuXG4gICAgICBoMSB7XG4gICAgICAgIG1heC13aWR0aDogNDIwcHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMzMztcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQoKTtcbiAgICAgICAgY29sb3I6ICRkYXJrQmx1ZTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDk1MCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9IH1cblxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH0gfVxuXG4gICAgLmNvbnRlbnQtYmxvY2sge1xuICAgICAgd2lkdGg6IGNvbHVtbig0LCAxMik7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNvbHVtbigxLCAxMik7IH0gfVxuXG5cbiAgLyogVGFibGV0IHZpZXdcbiAgICBAbWl4aW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDEzNTApIHtcbiAgICAuZ3JpZC1yb3cge1xuICAgICAgcGFkZGluZzogODBweCAwO1xuXG4gICAgICAuY3RhLWJsb2NrIHtcbiAgICAgICAgd2lkdGg6IGNvbHVtbig1LCAxMik7XG4gICAgICAgIG1hcmdpbi1yaWdodDogY29sdW1uKDEsIDEyKTsgfVxuXG4gICAgICAuY29udGVudC1ibG9jayB7XG4gICAgICAgIHdpZHRoOiBjb2x1bW4oNSwgMTIpOyB9IH0gfVxuXG4gIC8qIE1vYmlsZSB2aWV3XG4gICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg3NTApIHtcbiAgICAuZ3JpZC1yb3cge1xuICAgICAgcGFkZGluZzogODBweCAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIC5jdGEtYmxvY2ssIC5jb250ZW50LWJsb2NrIHtcbiAgICAgICAgd2lkdGg6IGNvbHVtbigxMCwgMTIpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNjQwKSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4gICAgICAuY3RhLWJsb2NrIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDsgfSB9IH0gfVxuIiwiLnJlYXNvbnMtcm93IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya0JsdWU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLmdyaWQtcm93IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvLyY6YWZ0ZXJcbiAgICAvLyAgY29udGVudDogJydcbiAgICAvLyAgcG9zaXRpb246IGFic29sdXRlXG4gICAgLy8gIHotaW5kZXg6IDFcbiAgICAvLyAgdG9wOiAwXG4gICAgLy8gIGxlZnQ6IGNvbHVtbig1LCAxMilcbiAgICAvLyAgd2lkdGg6IDEwMHZ3XG4gICAgLy8gIGhlaWdodDogMTAwJVxuICAgIC8vICBiYWNrZ3JvdW5kOiAkYmlzcXVlXG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgJGdyYWRpZW50U2l6ZTogMTAwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogY2FsYygje2NvbHVtbig3LCAxMil9IC0gI3skZ3JhZGllbnRTaXplfSk7XG4gICAgICB3aWR0aDogJGdyYWRpZW50U2l6ZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgJGJsYWNrR3JhZGllbnQpOyB9IH1cblxuXG5cbiAgLmdyaWQtY29sIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHBhZGRpbmc6IDEwMHB4IDA7IH1cblxuICAucmVhc29ucy1ibG9jayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcGFkZGluZy1yaWdodDogY29sdW1uKDEsIDI0KTtcblxuICAgID5oMiB7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAvL2ZvbnQtd2VpZ2h0OiBib2xkKClcbiAgICAgIGZvbnQtd2VpZ2h0OiBsaWdodCgpO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgbWFyZ2luOiAwIDAgNDVweDtcbiAgICAgIHBhZGRpbmctbGVmdDogNTVweDtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMjUwKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgbGkge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KHNwYWNlLWJldHdlZW4sIGNlbnRlcik7XG5cbiAgICAgICAgKyBsaSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMzBweDsgfVxuXG4gICAgICAgIC5saXN0LWljb24ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNTVweCk7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlOyB9XG5cbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDE2MDApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDEwODApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDsgfSB9IH1cblxuICAgICAgJi50aHVtYnMge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgLmxpc3QtaWNvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIycHg7IH0gfSB9IH1cblxuICAgICAgJi5hcnJvd3Mge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgLmxpc3QtaWNvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHM7XG5cbiAgICAgICAgICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCAkbGlnaHRCbHVlO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAzcHggc29saWQgJGxpZ2h0Qmx1ZTsgfSB9IH0gfVxuXG5cbiAgICAudHJpZ2dlciB7XG4gICAgICBAaW5jbHVkZSBmbGV4KGZsZXgtc3RhcnQsIGNlbnRlcik7XG4gICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDU1cHg7XG5cbiAgICAgIC5pbWFnZS1wbGFjZWhvbGRlciB7XG4gICAgICAgIHdpZHRoOiAxODBweDtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDE2MDApIHtcbiAgICAgICAgICB3aWR0aDogMTUwcHg7IH1cblxuICAgICAgICBmaWd1cmUge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9IH0gfSB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDE0MDApIHtcbiAgICAgIC50cmlnZ2VyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgIC5pbWFnZS1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9IH0gfVxuXG5cbiAgLnJpZ2h0LXNpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmLmNvbC03IHtcbiAgICAgIHBhZGRpbmctbGVmdDogY29sdW1uKDEsIDEyKTsgfVxuXG4gICAgJi5hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuXG4gICAgaDQge1xuICAgICAgZm9udC1zaXplOiAwLjY1cmVtO1xuICAgICAgY29sb3I6ICRsaWdodEJsdWU7XG4gICAgICBmb250LXdlaWdodDogc2VtaWJvbGQoKTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4OyB9XG5cbiAgICAudmlkZW8tYmxvY2sge1xuICAgICAgcGFkZGluZzogODBweCAwO1xuXG4gICAgICAudmlkZW8td3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkZGFya0JsdWUsIDUlKTtcblxuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA5NjBweDtcblxuICAgICAgICAucGxhY2Vob2xkZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTIuOCUgLyogMTY6OSAqLztcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgaWZyYW1lIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTsgfSB9IH0gfVxuXG4gICAgLmltYWdlLWJsb2NrIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG5cbiAgICAgIHBpY3R1cmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH0gfSB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMDAwKSB7XG5cbiAgICAuZ3JpZC1yb3cge1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiAgICAucmVhc29ucy1ibG9jayB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogNjBweCBjb2x1bW4oMSwgMTQpO1xuICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgIG1hcmdpbjogYXV0bzsgfVxuXG4gICAgLnJpZ2h0LXNpZGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRkYXJrQmx1ZSwgNSUpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwIGNvbHVtbigxLCAxNCk7XG4gICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICYuY29sLTcge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLCAxNCk7IH1cblxuICAgICAgJi5hYnNvbHV0ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG5cbiAgICAgIC5pbWFnZS1ibG9jayB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgICAgcGljdHVyZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfSB9IH0gfVxuIiwiLmRpc2NvdmVyLXJvdyB7XG4gIGJhY2tncm91bmQ6ICRvZmZXaGl0ZTtcbiAgcGFkZGluZzogNzBweCAwIDEyMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5zdHJlYW1lciB7XG4gICAgY29sb3I6ICRibHVlO1xuICAgIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgICBmb250LWZhbWlseTogJGZvbnREcm9pZFNhbnM7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW46IDAgMCAzNXB4OyB9XG5cbiAgLmxpbmtzIHtcbiAgICBAaW5jbHVkZSBmbGV4KGNlbnRlciwgZmxleC1zdGFydCk7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCA0MHB4IDBweCByZ2JhKDAsMCwwLDAuMik7XG5cbiAgICBhcnRpY2xlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDE2MHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQsIHJnYmEoMTMwLDEzMCwxMzAsIDAuNykpOyB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgtYmV5b25kKDYwMCkge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgd2lkdGg6IDE2MHB4O1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50LCByZ2JhKDEzMCwxMzAsMTMwLCAwLjcpKTsgfSB9XG5cbiAgICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuICAgICAgcGljdHVyZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuXG4gICAgICAub3ZlcmxheSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIGg0IHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogY2FsYygxMDAlIC0gMjVweCk7XG4gICAgICAgICAgYm90dG9tOiAyNXB4O1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICBmb250LWZhbWlseTogJGZvbnREcm9pZFNhbnM7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcblxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9XG5cbiAgICAgICAgLmFycm93LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4KGNlbnRlciwgY2VudGVyKTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXJrQmx1ZTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlLW91dDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDQ1cHg7XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG5cbiAgICAgICAgICAgICAgJi5hcnJvdy1pY29uIHtcbiAgICAgICAgICAgICAgICAuc3QwIHtcbiAgICAgICAgICAgICAgICAgIGZpbGw6IHdoaXRlOyB9IH0gfSB9IH0gfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgLm92ZXJsYXkge1xuICAgICAgICAgIC5hcnJvdy1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1vdXQ7IH0gfSB9IH1cblxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg5MDApIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93cztcblxuICAgICAgYXJ0aWNsZSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfSB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDYwMCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIGFydGljbGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAub3ZlcmxheSB7XG4gICAgICAgICAgaDQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICAgICAgYm90dG9tOiAyNXB4OyB9IH0gfSB9IH0gfVxuIiwiLmN0YS1yb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgtYmV5b25kKDEwMDApIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICRibHVlIDAlLCAkYmx1ZSA0OS45JSwgcmdiYSgwLDAsMCwwLjI1KSA1MCUsICRtZWRpdW1HcmV5IDUyJSwgJG1lZGl1bUdyZXkgMTAwJSk7IH1cblxuICAuYmFzaWMtaGludCB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAxcmVtIDA7IH1cblxuICAuY3RhLXRyaWdnZXIsIC5jdGEtdHJpZ2dlci0yIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogNjVweCAwO1xuXG4gICAgaDMge1xuICAgICAgY29sb3I6ICRkYXJrQmx1ZTtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250RHJvaWRTYW5zO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cblxuICAgIHAge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH0gfVxuXG4gIC5jdGEtdHJpZ2dlciB7XG4gICAgbWFyZ2luLWxlZnQ6IGNvbHVtbigxLCAxMik7XG4gICAgd2lkdGg6IGNvbHVtbig1LCAxMik7IH1cblxuXG4gIC5jdGEtdHJpZ2dlci0yIHtcbiAgICB3aWR0aDogY29sdW1uKDYsIDEyKTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4OyB9XG5cbiAgLmN0YS1wZXJzb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogY29sdW1uKDYsIDEyKTtcbiAgICBwYWRkaW5nOiA2NXB4IDAgNjVweCA1MHB4O1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMDAwKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVkaXVtR3JleTsgfVxuXG4gICAgLndyYXBwZXIge1xuICAgICAgQGluY2x1ZGUgZmxleChmbGV4LXN0YXJ0LCBjZW50ZXIpO1xuICAgICAgei1pbmRleDogMDsgfVxuXG4gICAgLmltYWdlLXBsYWNlaG9sZGVyIHtcbiAgICAgIHdpZHRoOiAxNzVweDtcblxuICAgICAgZmlndXJlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gICAgICAgIGhlaWdodDogMDtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH0gfSB9XG5cbiAgICAuY29udGFjdC1pbmZvIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNzVweCk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG5cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiAkZGFya0JsdWU7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnREcm9pZFNhbnM7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtOyB9XG5cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9IH0gfVxuXG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCgxMDAwKSB7XG4gICAgLmdyaWQtcm93IHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiAgICAuY3RhLXRyaWdnZXIsIC5jdGEtdHJpZ2dlci0yLCAuY3RhLXBlcnNvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDY1cHggY29sdW1uKDEsIDE0KTsgfVxuXG4gICAgLmN0YS10cmlnZ2VyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbiAgICAvLy5jdGEtdHJpZ2dlci0yLCAuY3RhLXBlcnNvblxuIH0gICAgLy8gIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkZGFya0JsdWUsIDUlKVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNDc1KSB7XG4gICAgLmN0YS10cmlnZ2VyLCAuY3RhLXRyaWdnZXItMiB7XG4gICAgICBiciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4gICAgLmN0YS1wZXJzb24ge1xuICAgICAgcGFkZGluZzogNDBweCBjb2x1bW4oMSwgMTQpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAud3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgICAgIC5pbWFnZS1wbGFjZWhvbGRlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4gICAgICAuY29udGFjdC1pbmZvIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9IH0gfVxuIiwiLnBlcnNvbi1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2IoMTA3LDE0MywxOTEpIDAsICRibHVlIDE1cHgpO1xuICBwYWRkaW5nOiA3NXB4IDA7XG5cbiAgLnBlcnNvbi1yb3cge1xuICAgICYgKyAucGVyc29uLXJvdyB7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9IH1cblxuICAucGVyc29uIHtcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoLWJleW9uZCg5MDApIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbiAgICAuaW1hZ2Uge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuXG4gICAgaDIge1xuICAgICAgY29sb3I6ICRiaXNxdWVMaWdodDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgtYmV5b25kKDkwMCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICBwIHtcbiAgICAgIGNvbG9yOiAkb2ZmV2hpdGU7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuXG4gIC5wZXJzb25fX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBjb2xvcjogJG9mZldoaXRlOyB9IH1cbiIsIi5zdGVwcy1zbGlkZXIge1xuICBwYWRkaW5nOiAxMDBweCAwO1xuICAvL2JhY2tncm91bmQtY29sb3I6ICRsaWdodGVyR3JleVxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgLmdyaWQtcm93IHtcbiAgICA+IGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAvLytrYXJsYVxuICAgICAgY29sb3I6ICRibHVlOyB9XG4gfSAgICAvL3RleHQtYWxpZ246IGNlbnRlclxuXG4gIC5zbGlkZXItbmF2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDQ1cHggYXV0byAwO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDFweCk7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7IH1cblxuXG4gICAgLnNsaWRlLW5hdi1pdGVtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxMnB4IDE4cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMTRweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgJGJsdWU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQoKTtcbiAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNHMsIGJhY2tncm91bmQgMC40cztcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW46IDA7IH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbih3aGl0ZSwgMTAlKTsgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgICBjb2xvcjogd2hpdGU7IH0gfSB9XG5cbiAgLnNsaWRlcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgbWluLWhlaWdodDogMTUwcHg7XG4gICAgbWFyZ2luOiA1MHB4IGF1dG8gMDtcblxuICAgIC5zbGlkZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIC8vY29sb3I6ICRibGFja0JsdWVcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMsIHRyYW5zZm9ybSAwLjRzO1xuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuICAgICAgaDQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQoKTsgfSB9XG5cbiAgICAubmF2aWdhdGlvbi1idXR0b25zIHtcblxuICAgICAgLm5hdi1pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBAaW5jbHVkZSBmbGV4KGNlbnRlciwgY2VudGVyKTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcztcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4KGNlbnRlciwgY2VudGVyKTtcbiAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuXG4gICAgICAgICAgLmFycm93LWljb24ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgICAgICAuc3QwIHtcbiAgICAgICAgICAgICAgZmlsbDogd2hpdGU7IH0gfSB9XG5cbiAgICAgICAgJi5wcmV2aW91cyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJpc3F1ZTtcbiAgICAgICAgICByaWdodDogY2FsYyg1MCUgKyAzcHgpO1xuXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAuYXJyb3ctaWNvbiB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfSB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGJpc3F1ZSwgNSUpOyB9IH1cblxuICAgICAgICAmLm5leHQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlICsgM3B4KTtcblxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgLmFycm93LWljb24ge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9IH1cblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRibHVlLCAxMCUpOyB9IH0gfSB9IH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDk3NSkge1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAuZ3JpZC1yb3cge1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgID5oMiB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggMDsgfSB9XG5cbiAgICAuc2xpZGVyLW5hdiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAuc2xpZGVzIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblxuICAgICAgLnNsaWRlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcGFkZGluZzogNDBweCBjb2x1bW4oMSwgMTIpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICAgICAgICAmOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbih3aGl0ZSwgNSUpOyB9XG5cbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfSB9IH0gfVxuIiwiLmluZGV4LWdyaWQtcm93IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogJG9mZldoaXRlO1xuICAgIGhlaWdodDogMzAwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDYwMCkge1xuICAgICY6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiAgLm5vLWF2YWlsYWJsZSB7XG4gICAgcGFkZGluZzogNjBweCAyMHB4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBmbGV4KGNlbnRlciwgY2VudGVyKTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIDQwcHg7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICBsaSB7XG4gICAgICBtYXJnaW46IDAgNnB4O1xuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRsaWdodEJsdWU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTsgfSB9XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSwgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBhLCBzcGFuIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMDtcblxuICAgICAgICAgIC5hcnJvdy1pY29uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcblxuICAgICAgICAgICAgLnN0MCB7XG4gICAgICAgICAgICAgIGZpbGw6ICRsaWdodEJsdWU7IH0gfSB9IH1cblxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgYSwgc3BhbiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC0xLCAxLCAxKTsgfSB9XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiAwLjI7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgIC5hcnJvdy1pY29uIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuXG4gICAgICAgICAgLnN0MCB7XG4gICAgICAgICAgICBmaWxsOiByZ2JhKCRsaWdodEJsdWUsIDAuMyk7IH0gfSB9IH0gfSB9XG5cbkBpbXBvcnQgXCJsYXJnZUJhZGdlc1wiO1xuQGltcG9ydCBcInNxdWFyZXNcIjtcbkBpbXBvcnQgXCJsaXN0XCI7XG4iLCIubGFyZ2UtYmFkZ2VzLWdyaWQge1xuXG4gIC5vdmVydmlldyB7XG4gICAgcGFkZGluZzogNjBweCAwIDA7XG5cbiAgICBAaW5jbHVkZSBmbGV4KHNwYWNlLWJldHdlZW4sIGZsZXgtc3RhcnQpO1xuICAgIEBpbmNsdWRlIGZsZXgtcm93cztcblxuICAgIGFydGljbGUge1xuICAgICAgbWFyZ2luOiAwIDE1cHggNjBweDtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg0ODApIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzBweDsgfSB9XG5cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGZsZXgpIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgICAgZ3JpZC1nYXA6IDYwcHggNjBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuXG4gICAgICAmLmZpcnN0LXBhZ2Uge1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciAxZnIgMWZyO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImZpcnN0IGZpcnN0IGl0ZW0tMlwiIFwiZmlyc3QgZmlyc3QgaXRlbS0zXCIgXCJpdGVtLTQgaXRlbS01IGl0ZW0tNlwiO1xuXG4gICAgICAgIGFydGljbGU6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGdyaWQtYXJlYTogZmlyc3Q7IH0gfVxuXG4gICAgICBhcnRpY2xlIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoMTcwMCkge1xuICAgICAgICBncmlkLWdhcDogMzBweCAzMHB4OyB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoMTAwMCkge1xuICAgICAgICBncmlkLWdhcDogNjBweCA2MHB4O1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG5cbiAgICAgICAgJi5maXJzdC1wYWdlIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImZpcnN0IGZpcnN0XCIgXCJmaXJzdCBmaXJzdFwiOyB9IH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg5NTApIHtcbiAgICAgICAgZ3JpZC1nYXA6IDMwcHggMzBweDsgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDg0MCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiA1MjBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgYXJ0aWNsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9IH0gfVxuXG4gIGFydGljbGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNTIwcHg7XG4gICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgYm94LXNoYWRvdzogMCAwIDQwcHggMCByZ2JhKDAsMCwwLDAuMik7XG5cbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcblxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZmxleCkge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgYSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg2MDApIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45cmVtOyB9XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjUlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGZsZXgpIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG5cbiAgICAgIGZpZ3VyZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40czsgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICYubWVkaXVtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH0gfVxuXG5cbiAgICAgIC5kYXRlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA4JTtcbiAgICAgICAgdG9wOiAxMiU7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIGZvbnQtc2l6ZTogM2VtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZCgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgY29sb3I6ICRsaWdodEJsdWU7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNHM7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg5NTApIHtcbiAgICAgICAgICBmb250LXNpemU6IDIuNWVtOyB9XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg5NTApIHtcbiAgICAgICAgICBmb250LXNpemU6IDJlbTsgfSB9XG5cbiAgICAgIGgyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICB3aWR0aDogY2FsYyg4MCUgLSAxMHB4KTtcbiAgICAgICAgbGVmdDogOSU7XG4gICAgICAgIGJvdHRvbTogOSU7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgICAgICBmb250LXNpemU6IDEuMWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBmb250LXdlaWdodDogc2VtaWJvbGQoKTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC40cztcblxuICAgICAgICAuYXJyb3cge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgIHJpZ2h0OiAtMjBweDtcbiAgICAgICAgICBib3R0b206IC03cHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHM7XG5cbiAgICAgICAgICAuYXJyb3ctaWNvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG5cbiAgICAgICAgICAgIC5zdDAge1xuICAgICAgICAgICAgICBmaWxsOiAkbGlnaHRCbHVlO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBmaWxsIDAuNHM7IH0gfSB9IH0gfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBhIHtcbiAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjI7IH0gfVxuXG4gICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsMCwwKTtcbiAgICAgICAgICAuYXJyb3ctaWNvbiB7XG4gICAgICAgICAgICAuc3QwIHtcbiAgICAgICAgICAgICAgZmlsbDogd2hpdGU7IH0gfSB9XG5cbiAgICAgICAgaDIsIC5kYXRlIHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7IH0gfSB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDQ4MCkge1xuICAgICAgYSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA2NSU7IH1cblxuICAgICAgICAuYXJyb3cge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTVweDsgfSB9IH1cblxuICAgIC5maXJzdC1wYWdlICYge1xuICAgICAgJiNwb3N0LTAge1xuICAgICAgICBhIHtcbiAgICAgICAgICBwYWRkaW5nOiA1JSA4JTtcblxuICAgICAgICAgIC5pZSAmIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCA2NSUgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgLmRhdGUge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDNlbSAhaW1wb3J0YW50OyB9XG5cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjFlbSAhaW1wb3J0YW50OyB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNDgwKSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG5cbiAgICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICYubWVkaXVtIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgICAgICYubGFyZ2Uge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg5NTApIHtcbiAgICAgICAgICAgICAgICAmLmxhcmdlIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAgICAgICAmLm1lZGl1bSB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9IH0gfVxuXG4gICAgICAgICAgLmRhdGUge1xuICAgICAgICAgICAgdG9wOiA4JTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMy43NWVtOyB9XG5cbiAgICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1JSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDE3NTApIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTUlOyB9IH1cblxuICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoODQwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgNjUlO1xuXG4gICAgICAgICAgICAuZGF0ZSB7XG4gICAgICAgICAgICAgIHRvcDogMTIlO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDJlbTsgfVxuXG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHggIWltcG9ydGFudDsgfSB9XG5cbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDQ4MCkge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfSB9IH0gfSB9XG4iLCIuc3F1YXJlcy1ncmlkIHtcblxuICAub3ZlcnZpZXcge1xuICAgIHBhZGRpbmc6IDYwcHggMCAwO1xuXG4gICAgQGluY2x1ZGUgZmxleChzcGFjZS1iZXR3ZWVuLCBmbGV4LXN0YXJ0KTtcbiAgICBAaW5jbHVkZSBmbGV4LXJvd3M7XG5cbiAgICBhcnRpY2xlIHtcbiAgICAgIG1hcmdpbjogMCAxNXB4IDYwcHg7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoNDgwKSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDMwcHg7IH0gfVxuXG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBmbGV4KSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgIGdyaWQtZ2FwOiA2MHB4IDYwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcblxuICAgICAgYXJ0aWNsZSB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDE3MDApIHtcbiAgICAgICAgZ3JpZC1nYXA6IDMwcHggMzBweDsgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDEwMDApIHtcbiAgICAgICAgZ3JpZC1nYXA6IDYwcHggNjBweDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoOTUwKSB7XG4gICAgICAgIGdyaWQtZ2FwOiAzMHB4IDMwcHg7IH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg4MDApIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogNTIwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfSB9XG5cbiAgYXJ0aWNsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA1MjBweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcblxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZmxleCkge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiBub25lOyB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDYwMCkge1xuICAgICAgZm9udC1zaXplOiAwLjlyZW07IH1cblxuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4gICAgZmlndXJlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJGRhcmtCbHVlO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDQwcHggMCByZ2JhKDAsMCwwLDAuMik7XG5cbiAgICAgIC5pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cblxuICAgICAgLnN0eWxpbmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGhlaWdodDogNjhweDtcbiAgICAgICAgd2lkdGg6IDY4cHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogNTBweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiA1MHB4IHNvbGlkICRibHVlO1xuICAgICAgICBib3JkZXItYm90dG9tOiA1MHB4IHNvbGlkICRibHVlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC40OSwgMC4wOCwgMC4xMSwgMSk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHJpZ2h0OiAtMjVweDtcbiAgICAgICAgICBib3R0b206IC00MHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB3aWR0aDogMTFweDtcblxuICAgICAgICAgIC5hcnJvdy1pY29uIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgLnN0MCB7XG4gICAgICAgICAgICAgIGZpbGw6IHdoaXRlOyB9IH0gfSB9IH1cblxuICAgIGgyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIGNvbG9yOiAkZGFya0JsdWU7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cblxuICAgICY6aG92ZXIge1xuICAgICAgZmlndXJlIHtcbiAgICAgICAgLnN0eWxpbmcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoJGJsdWUsIDAuNik7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNDksIDAuMDgsIDAuMTEsIDEpOyB9IH0gfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg4MDApIHtcbiAgICAgICsgYXJ0aWNsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHggIWltcG9ydGFudDsgfVxuXG4gICAgICBmaWd1cmUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjYuNjclOyB9IH0gfSB9XG4iLCIubGlzdC1yb3cge1xuICAuZ3JpZC1yb3cge1xuICAgIHBhZGRpbmc6IDYwcHggMCAxMDBweDtcbiAgICBtYXgtd2lkdGg6IDEwMDBweDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoODgwKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTAwcHg7IH1cblxuICAgIGgxIHtcbiAgICAgIG1hcmdpbjogMCAwIDYwcHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBjb2xvcjogJGdyZXk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4gIC5saXN0IHtcblxuICAgIGFydGljbGUge1xuXG4gICAgICArIGFydGljbGUge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9XG5cbiAgICAgIGEge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KGZsZXgtc3RhcnQsIGNlbnRlcik7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXIgMC4zcztcblxuICAgICAgICAuZGF0ZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMTVweCA0MHB4O1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRib3JkZXJDb2xvcjtcbiAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZCgpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjRzOyB9XG5cbiAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmc6IDI1cHg7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEyMnB4KTtcblxuICAgICAgICAgICYud2l0aC1pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjY4cHgpOyB9XG5cbiAgICAgICAgICBoMiB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA2cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4gICAgICAgICAgLnJlYWQtbW9yZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG5cbiAgICAgICAgICAgICAgLmFycm93LWljb24ge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICBmaWxsOiAkYmx1ZTsgfSB9IH0gfSB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAucmVhZC1tb3JlIHtcbiAgICAgICAgICAgICAgLmFycm93IHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwwLDApOyB9IH0gfSB9XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10by13aWR0aCg3NDApIHtcbiAgICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAgICAgLmRhdGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDI1cHg7IH1cblxuICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4NXB4KTtcblxuICAgICAgICAgICAgJi53aXRoLWltYWdlIHtcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDg1cHgpOyB9XG5cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07IH1cblxuICAgICAgICAgICAgLnJlYWQtbW9yZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtOyB9IH0gfSB9IH0gfSB9XG5cblxuIiwiQGltcG9ydCBcInN1Yk1lbnVcIjtcbkBpbXBvcnQgXCJtb2RlbERldGFpbFwiO1xuIiwiLnNob3ctc3ViLW1lbnUge1xuICBjb2xvcjogJGRhcmtCbHVlO1xuXG4gID5wIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXJnaW46IDAgMCAxLjVyZW07IH1cblxuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcblxuICAgIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCRibHVlLCAwLjM1KTtcblxuICAgICAgYSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoc3BhY2UtYmV0d2VlbiwgZmxleC1zdGFydCk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6ICRkYXJrQmx1ZTtcbiAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcblxuICAgICAgICBwIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI3cHgpOyB9XG5cbiAgICAgICAgLmFycm93IHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgcmlnaHQ6IDRweDtcbiAgICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDlweDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cztcblxuICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuXG4gICAgICAgICAgICAmLmFycm93LWljb24ge1xuICAgICAgICAgICAgICAuc3QwIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkZGFya0JsdWU7IH0gfSB9IH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogcmdiYSgkZGFya0JsdWUsIDAuNSk7XG5cbiAgICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjQpIHRyYW5zbGF0ZVgoNnB4KTsgfSB9IH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJGJsdWU7IH0gfSB9IH0gfVxuIiwiLnNob3ctbW9kZWwtZGV0YWlsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAkbGlnaHRHcmV5O1xuXG4gIC5yZXR1cm4tdG8tb3ZlcnZpZXcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgIHBhZGRpbmc6IDIwcHggY29sdW1uKDEsIDE0KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5hcnJvdyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIGxlZnQ6IDRweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuXG4gICAgICBzdmcge1xuICAgICAgICBtYXgtaGVpZ2h0OiAxNXB4OyB9XG5cbiAgICAgIC5hcnJvdy1pY29uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICAuc3QwIHtcbiAgICAgICAgICBmaWxsOiB3aGl0ZTsgfSB9IH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXdlaWdodDogc2VtaWJvbGQoKTsgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAuYXJyb3cge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsMCwwKTsgfSB9IH1cblxuICAuc2hvdy1zdWItbWVudSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDM7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBjb2x1bW4oNCwgMTIpO1xuICAgIHBhZGRpbmc6IDExNnB4IDUwcHggODBweCAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuICAuZHluYW1pYy1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGNvbHVtbig4LCAxMik7XG4gICAgcGFkZGluZzogODBweCAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogY29sdW1uKDE0LDEyKTtcbiAgICAgIGhlaWdodDogMjAwdmg7IC8vIFRvIG1ha2Ugc3VyZSBpdCdzIGhpZ2ggZW5vdWdoIHdoZW4gd2luZG93IGlzIHNtYWxsXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIHJpZ2h0OiAtI3tjb2x1bW4oMiwxMil9O1xuICAgICAgdG9wOiAwOyB9XG5cbiAgICAua21zLWNvbnRlbnQge1xuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuXG5cbiAgICAuZHluYW1pYy1ibG9jayB7XG4gICAgICAmLmZ1bGwtdGV4dC1ibG9jayB7XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH0gfSB9XG5cblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDkwMCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgLmdyaWQtcm93IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgQGluY2x1ZGUgZmxleChmbGV4LXN0YXJ0LCBmbGV4LXN0YXJ0KTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93czsgfVxuXG4gICAgLnJldHVybi10by1vdmVydmlldyB7XG4gICAgICBAaW5jbHVkZSBvcmRlcigxKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCwgY2VudGVyKTsgfVxuXG4gICAgLmR5bmFtaWMtY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBvcmRlcigyKTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogNDBweCBjb2x1bW4oMSwgMTQpO1xuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDkwMCkge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9IH1cblxuICAgIC5zaG93LXN1Yi1tZW51IHtcbiAgICAgIEBpbmNsdWRlIG9yZGVyKDMpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0R3JleTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogODBweCBjb2x1bW4oMSwgMTQpOyB9IH1cblxuICAmLm92ZXJ2aWV3LXBhZ2Uge1xuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgtYmV5b25kKDkwMCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7IH1cblxuICAgIC5iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IC0yNSU7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cblxuICAgIC5keW5hbWljLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IGNvbHVtbig3LCAxMik7IH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8td2lkdGgoOTAwKSB7XG4gICAgICAuc2hvdy1zdWItbWVudSB7XG4gfSAgICAgICAgLy9kaXNwbGF5OiBub25lXG4gICAgICAuZHluYW1pYy1jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9IH1cblxuICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDc1MCkge1xuICAgIHBhZGRpbmctdG9wOiA2MHB4OyB9IH1cbiIsIkBpbXBvcnQgXCJob21lXCI7XG5AaW1wb3J0IFwiY29udGFjdFwiO1xuQGltcG9ydCBcImRlZmF1bHRcIjtcblxuQGltcG9ydCBcImVycm9yXCI7XG5AaW1wb3J0IFwic2l0ZW1hcFwiO1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhvbWUgcGFnZVxuICAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuI2hvbWUge1xuICBoZWFkZXIge1xuICAgICY6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9IH1cbiIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgQ29udGFjdCBwYWdlXG4gIEBtaXhpbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4jY29udGFjdCB7XG5cbiAgI21hcCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0NTBweDsgfVxuXG4gIC5jb250YWN0LWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG5cbiAgICAuY29udGFjdC1pbmZvLCAuY29udGFjdC1mb3JtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7IH1cblxuXG4gICAgLmNvbnRhY3QtaW5mbyB7XG4gICAgICB3aWR0aDogY29sdW1uKDUsIDEyKTtcbiAgICAgIHBhZGRpbmc6IDcycHggMCAxMDBweCBjb2x1bW4oMSwgMTIpO1xuICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzJweDtcbiAgICAgICAgY29sb3I6ICRsaWdodEdyZXk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udERyb2lkU2FuczsgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBtYXJnaW46IDEwMHB4IDAgMTVweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4gICAgICBwLCBhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjhyZW07IH1cblxuICAgICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycztcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkbGlnaHRCbHVlOyB9IH1cblxuICAgICAgLmNvbnRhY3QtZGF0YSB7XG4gICAgICAgICRjb250YWN0LWRhdGEtLWljb24td2lkdGg6IDEzcHg7XG4gICAgICAgICRjb250YWN0LWRhdGEtLW9mZnNldDogMThweDtcblxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygtI3skY29udGFjdC1kYXRhLS1pY29uLXdpZHRofSAtICN7JGNvbnRhY3QtZGF0YS0tb2Zmc2V0fSk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogJGNvbnRhY3QtZGF0YS0taWNvbi13aWR0aDtcbiAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY29udGFjdC1kYXRhLS1vZmZzZXQ7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDdweCk7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltZy9jb250YWN0LWFkZHJlc3Muc3ZnKTsgfSB9XG5cbiAgICAgIC5jb250YWN0LWRhdGEtLXBob25lIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2NvbnRhY3QtcGhvbmUuc3ZnKTsgfSB9XG5cbiAgICAgIC5jb250YWN0LWRhdGEtLW1haWwge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2NvbnRhY3QtbWFpbC5zdmcpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg5cHgpO1xuICAgICAgICAgIGhlaWdodDogMTBweDsgfSB9XG5cbiAgICAgIC5jb250YWN0LWRhdGEtLWRvd25sb2FkIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltZy9pY29uLXBkZi5zdmcpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpOyB9IH1cblxuICAgICAgLmNvbnRhY3QtZG93bmxvYWRzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDExMDApIHtcbiAgICAgICAgd2lkdGg6IGNvbHVtbig1LCAxMik7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuICAgIC5jb250YWN0LWZvcm0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IGNvbHVtbigxLCAxMik7XG4gICAgICB3aWR0aDogY29sdW1uKDYsIDEyKTtcbiAgICAgIHBhZGRpbmc6IDcycHggMCAxMDBweCBjb2x1bW4oMSwgMTIpO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICAgaDIge1xuICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIGNvbG9yOiAkZGFya0JsdWU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udERyb2lkU2FuczsgfVxuXG4gICAgICA+IHAge1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjsgfSB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvLXdpZHRoKDg0MCkge1xuICAgICAgLmdyaWQtcm93IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cblxuICAgICAgLmJhY2tncm91bmQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgIC5jb250YWN0LWluZm8ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMTAycHggY29sdW1uKDEsIDEyKSAxMDBweCBjb2x1bW4oMywgMjQpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcblxuICAgICAgICBoMyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNjBweDsgfSB9XG5cbiAgICAgIC5jb250YWN0LWZvcm0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogY29sdW1uKDEsIDEyKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9IH0gfSB9XG4iLCJib2R5LmRlZmF1bHQge1xuICAuZHluYW1pYy1jb250ZW50IHtcbiAgICBwYWRkaW5nOiA2MHB4IDAgMTIwcHg7XG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZVxuXG4gICAgLmR5bmFtaWMtYmxvY2sge1xuICAgICAgbWFyZ2luLWxlZnQ6IGNvbHVtbigxLCAxMik7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNvbHVtbigxLCAxMik7IH1cblxuICAgIC5keW5hbWljLWJsb2NrLmZ1bGwtdGV4dC1ibG9jayB7XG4gICAgICAuY29udGVudCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4gICAgLmttcy1jb250ZW50IHtcbiAgICAgIGgxLCBoMiwgaDMge1xuICAgICAgICAvL2NvbG9yOiB3aGl0ZVxuXG4gICAgICAgIHN0cm9uZyB7XG4gfSB9ICAgICAgICAgIC8vY29sb3I6ICRiaXNxdWVcblxuICAgICAgaDMge1xuICAgICAgICAvL2NvbG9yOiAkYmlzcXVlXG5cbiAgICAgICAgc3Ryb25nIHtcbiB9IH0gICAgICAgICAgLy9jb2xvcjogd2hpdGVcblxuICAgICAgaDQge1xuICAgICAgICBjb2xvcjogcmdiYSh3aGl0ZSwgMC41KTsgfVxuXG4gICAgICBwIHtcbiB9ICAgICAgICAvL2NvbG9yOiB3aGl0ZVxuXG4gICAgICB1bCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAvL2NvbG9yOiB3aGl0ZVxuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlOyB9IH0gfVxuXG4gICAgICBvbCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7IH0gfSB9XG5cbiAgICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6IHJnYmEod2hpdGUsIDAuOCk7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9IH1cblxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG5cbiAgICAgICAgJi5yaWdodCB7XG4gICAgICAgICAgLmFycm93IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4OyB9IH0gfSB9IH0gfVxuIiwiI2Vycm9yLXBhZ2UtbWVzc2FnZSB7XG4gIHBhZGRpbmc6IDEwMHB4IDAgMTAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRib3JkZXJDb2xvcjtcblxuICAuZ3JpZC1yb3cge1xuICAgIC5rbXMtY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4gICAgLnBsYWNlaG9sZGVyIHtcbiAgICAgIG1heC13aWR0aDogNzIwcHg7XG4gICAgICBtYXJnaW46IGF1dG87IH1cblxuICAgIC8vcFxuICAgIC8vICBmb250LXNpemU6IDFyZW1cbiAgICAvLyAgbGluZS1oZWlnaHQ6IDEuN1xuICAgIC8vICBmb250LXdlaWdodDogYm9sZFxuICAgIC8vICBjb2xvcjogJGdyZXlcbiAgICAvL1xuICAgIC8vICArcmVzcG9uZC10by13aWR0aCg3MDApXG4gICAgLy8gICAgZm9udC1zaXplOiAwLjlyZW1cbiAgICAvLyAgK3Jlc3BvbmQtdG8td2lkdGgoNDUwKVxuIH0gfSAgICAvLyAgICBmb250LXNpemU6IDAuOHJlbVxuIiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBTaXRlbWFwIHBhZ2VcbiAgQG1peGluID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zaXRlbWFwIHtcbiAgdWwge1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBmb250LXNpemU6IDAuODVlbTsgfVxuXG4gID51bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG5cbiAgbGkge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIHRvcDogNnB4OyB9XG5cbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6IDNweCAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBkb3R0ZWQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKCRk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 */\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/style.sass","@mixin placeholder {\n &::-webkit-input-placeholder /* Chrome/Opera/Safari */ {\n @content; }\n &::-moz-placeholder /* Firefox 19+ */ {\n @content; }\n &:-ms-input-placeholder /* IE 10+ */ {\n @content; }\n &:-moz-placeholder /* Firefox 18- */ {\n @content; } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/mixins/_placeholder.sass","/*==========================================================================\n Grid\n @mixin ========================================================================= */\n\n/**\n * Grid row\n *\n * 1. The outer two columns are just margin\n * 2. Prevent inline-block cells wrapping\n * 3. Prevent vertical spacing between inline-blocks\n */\n\n.grid-row {\n width: column(12) /* 1 */;\n max-width: 1440px;\n margin: 0 auto;\n font-size: 0 /* 2 */;\n line-height: 0 /* 3 */;\n\n /**\n * The full row doesn't have the two outer margin rows\n * They stretch till both ends of the window\n */\n\n &.full-row {\n width: 100%;\n max-width: none; } }\n\n/**\n * Grid column\n *\n * 1. Reset white-space inherited from `.grid`\n * 2. Reset font-size inherited from `.grid`\n * 3. Reset line-height inherited from `.grid`\n */\n\n.grid-col {\n position: relative;\n\n display: inline-block;\n overflow: hidden;\n white-space: normal /* 1 */;\n font-size: 1rem /* 2 */;\n line-height: 1.6 /* 3 */;\n\n /**\n * Center column\n *\n * 1. 'inline-block' doesn't center with margin '0 auto'\n */\n\n &.center {\n display: block /* 1 */;\n margin: 0 auto; } }\n\n\n\n\n@for $i from 1 through $gridColumns {\n\n /* Column dimensions\n @mixin ========================================================================= */\n\n /*\n * Calculate width by dividing a full width into 12 columns\n * Create a class for each column\n */\n\n .col-#{$i}, .col-lg-#{$i} {\n width: column($i,12);\n\n\n .full-row & {\n width: column($i); } }\n\n\n /* Column shifts\n @mixin ========================================================================= */\n\n .offset-#{$i}, .offset-lg-#{$i} {\n margin-left: column($i,12); } }\n\n\n\n/* Media queries\n @mixin ========================================================================= */\n\n /*\n * Create a separate loop because of order for css rendering\n * because else it would overrule a previous media query\n */\n\n@for $i from 1 through $gridColumns {\n\n // Media query for large desktop\n @include respond-to-width-beyond($xlGridBreakpoint) {\n .col-xl-#{$i} {\n width: column($i,12); }\n\n .offset-xl-#{$i} {\n margin-left: column($i,12); } }\n\n // Media query for normal desktop\n @include respond-to-width($mdGridBreakpoint) {\n .col-md-#{$i} {\n width: column($i,12); }\n\n .offset-md-#{$i} {\n margin-left: column($i,12); } }\n\n // Media query for tablets\n @include respond-to-width($smGridBreakpoint) {\n .col-sm-#{$i} {\n width: column($i,12); }\n\n .offset-sm-#{$i} {\n margin-left: column($i,12); } }\n\n // Media query for mobile\n @include respond-to-width($xsGridBreakpoint) {\n .col-xs-#{$i} {\n width: column($i,12); }\n\n .offset-xs-#{$i} {\n margin-left: column($i,12); } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/grid/_grid.sass","@mixin respond-to-width($width) {\n $width : $width + 'px';\n @media screen and (max-width: $width) {\n @content; } }\n\n@mixin respond-to-width-beyond($width) {\n $width : ($width + 1) + 'px';\n @media screen and (min-width: $width) {\n @content; } }\n\n@mixin respond-to-height($height) {\n $height : $height + 'px';\n @media screen and (max-height: $height) {\n @content; } }\n\n@mixin respond-to-width-or-height($width, $height) {\n $width : $width + 'px';\n $height : $height + 'px';\n @media screen and (max-width: $width), screen and (max-height: $height) {\n @content; } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/mixins/_mediaQueries.sass","/* ==========================================================================\n This grid can be turned on and off when you want to check\n if everything is nice in place.\n @mixin ========================================================================= */\n\n.visible-grid-container {\n display: flex;\n justify-content: center; }\n\n/**\n * 1. Makes it able to control the website while grid is shown\n */\n.visible-grid {\n display: block;\n position: fixed;\n z-index: 10000;\n pointer-events: none /* 2 */;\n\n .grid-col {\n background: rgba(0,255,255,.6);\n height: 100vh;\n\n &:nth-child(2n) {\n background: rgba(0,255,255,.3); } }\n\n &:before, &:after {\n content: '';\n position: absolute;\n top: 0;\n width: calc(100% / 12);\n height: 100%;\n background: rgba(0,255,0,.5); }\n\n &:before {\n left: calc(-100% / 12); }\n\n &:after {\n right: calc(-100% / 12); }\n\n //&:nth-child(1),&:nth-child(14)\n } //// background: rgba(0,255,0,.5)\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/grid/_visibleGrid.sass",".breakpoint {\n position: fixed;\n right: 0;\n bottom: 0;\n width: 20px;\n height: 20px;\n z-index: 10000;\n background: #0ABEFF;\n\n // Larger then xlBreakpoint\n @include respond-to-width-beyond($xlGridBreakpoint) {\n background: red; }\n\n // Loop through other breakpoints\n $breakpoints : (blue $lgGridBreakpoint) (green $mdGridBreakpoint) (yellow $smGridBreakpoint) (pink $xsGridBreakpoint);\n\n @each $list in $breakpoints {\n\n $color : nth($list,1);\n $breakpoint : nth($list,2);\n\n @include respond-to-width($breakpoint) {\n background: $color; } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/partials/_breakpoints.sass","/* ==========================================================================\n Expend Basic style settings\n @mixin ========================================================================= */\n\n/*\n * Set up the html\n *\n * 1. Makes sue that some fonts are better rendered\n */\n\nhtml {\n -webkit-font-smoothing: antialiased /* 2 */;\n -moz-osx-font-smoothing: grayscale;\n text-rendering: optimizeLegibility; }\n\n\n/*\n * Set up the body\n *\n * 1. Set font to lining figures\n */\n\nbody {\n margin: 0;\n\n font-family: $fontCabin;\n line-height: 1.6;\n\n font-feature-settings: 'lnum' /* 1 */; }\n\n/*\n * Set default settings for all elements\n *\n * 1. Default selection styling\n *\n */\n* {\n ::selection /* 2 */ {\n background: $blue;\n color: white; } }\n\n/**\n * 1.Default display for images is block to lose the extra margin below the image\n */\nimg {\n opacity: 1;\n transition: opacity 0.3s;\n\n &.preload {\n opacity: 0; } }\n\n/*\n * Set default styling for input and textarea\n *\n * 1. Set font because else the agent will overrule them with an ugly font\n */\ninput, textarea {\n font-family: $fontCabin; }\n/* 1 */\n\n/*\n * Set default styling for a button\n *\n */\n.button {\n position: relative;\n display: inline-block;\n padding: 15px 25px;\n border: 2px solid $bisqueLight;\n border-radius: 10px;\n color: $darkBlue;\n font-size: 0.8rem;\n font-family: $fontDroidSans;\n line-height: 1.2;\n overflow: hidden;\n z-index: 0;\n text-transform: uppercase;\n text-decoration: none;\n transition: box-shadow 0.4s ease-out;\n\n //\n &::after {\n position: absolute;\n content: '';\n height: 300%;\n width: 150%;\n left: -200%;\n bottom: -100%;\n z-index: -1;\n background-color: rgba($bisqueLight, 0.2);\n opacity: 0.2;\n border-radius: 50%;\n pointer-events: none;\n transform: rotate(17deg);\n transform-origin: center center;\n transition: all 0.3s ease-out; }\n\n .arrow {\n position: relative;\n display: inline-block;\n width: 10px;\n margin-left: 30px;\n transform: translate3d(0,0,0);\n transition: transform 0.3s;\n\n svg {\n width: 100%;\n max-height: 16px;\n path {\n fill: $darkBlue; } } }\n\n &:hover {\n box-shadow: 4px 4px 10px 0 rgba(0,0,0,0);\n transition: all 250ms ease-out;\n\n &::after {\n left: -25%;\n width: 150%;\n opacity: 1; }\n\n .arrow {\n transform: translate3d(0, 3px, 0); } }\n\n\n &.right {\n .arrow {\n top: -1px;\n transform: rotate(-90deg);\n margin-left: 25px; }\n\n &:hover {\n .arrow {\n transform: rotate(-90deg) translate3d(0, 5px, 0); } } } }\n\n\n// Modifier for when using button on a dark background\n.button--light {\n color: white;\n\n .arrow {\n svg {\n path {\n fill: white; } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/_base.sass","/* ==========================================================================\n Helper classes\n @mixin ========================================================================= */\n\n/**\n * Use on elements from where the children should not wrap\n */\n.nowrap {\n white-space: nowrap; }\n\n/**\n * Hide elements on different screen sizes\n */\n$breakpoints : ('xl' $xlGridBreakpoint) ('lg' $lgGridBreakpoint) ('md' $mdGridBreakpoint) ('sm' $smGridBreakpoint) ('xs' $xsGridBreakpoint);\n\n@each $list in $breakpoints {\n\n $name : nth($list,1);\n $breakpoint : nth($list,2);\n\n @include respond-to-width($breakpoint) {\n .hide-on-#{$name}-or-smaller {\n display: none; } }\n\n @include respond-to-width-beyond($breakpoint) {\n .hide-on-#{$name}-or-larger {\n display: none; } } }\n\n.center {\n display: flex;\n align-items: center;\n justify-content: center; }\n\n.spacing-v {\n padding-top: 75px;\n padding-bottom: 75px; }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/_helpers.sass","/*==========================================================================\n Navigation / Header\n @mixin ========================================================================= */\n\nheader {\n position: relative;\n z-index: 4;\n background-color: $darkBlue;\n\n &::after {\n $gradientSize: 20px;\n content: '';\n position: absolute;\n left: 0;\n bottom: -#{$gradientSize}px;\n right: 0;\n display: block;\n width: 100%;\n height: $gradientSize;\n background: linear-gradient($blackGradient);\n opacity: 0.4; }\n\n .grid-row {\n padding: 0;\n @include flex(center, center);\n\n >.grid-col {\n @include flex(space-between, center);\n width: column(10,12); }\n\n // Main logo\n .logo {\n display: inline-block;\n width: 70px;\n margin-right: 8%;\n padding: 33px 0;\n img {\n width: 100%; } } }\n\n @include respond-to-width(750) {\n display: none; } }\n\n\n\n\n/* Navigation\n @mixin ========================================================================= */\n\n.nav {\n position: relative;\n flex: auto; }\n\n\n.nav__list {\n @include flex(flex-end, center);\n list-style: none;\n margin: 0;\n padding: 0; }\n\n\n.nav__item {\n flex: 0 0 auto;\n\n & + & {\n margin-left: 3.5%; }\n\n &:last-child {\n margin-left: 7.5%; } }\n\n\n.nav__link {\n position: relative;\n display: block;\n padding: 11px 18px;\n font-size: 0.8rem;\n line-height: 1.2;\n color: #EFF1ED;\n text-decoration: none;\n transition: opacity 0.3s;\n\n &::after {\n position: absolute;\n content: '';\n opacity: 0;\n height: 1px;\n width: 0;\n bottom: 7px;\n left: 16px;\n background-color: #ffe2cc;\n transition: all 200ms ease-out;\n pointer-events: none; }\n\n &:hover, &.is-active {\n position: relative;\n opacity: 0.6;\n transition: all 250ms ease-out;\n\n &::after {\n width: calc(100% - 2*(16px));\n opacity: 1; } }\n\n &.is-active {\n opacity: 1; } }\n\n\n.nav__link--boxed {\n border: 1px solid #ffe2cc;\n border-radius: 6px;\n overflow: hidden;\n\n &::after {\n height: 200%;\n width: 150%;\n left: -200%;\n bottom: -50%;\n z-index: -1;\n opacity: 0.2;\n border-radius: 50%;\n transform: rotate(17deg);\n transform-origin: center center; }\n\n &:hover {\n opacity: 1;\n\n &::after {\n left: -25%;\n width: 150%;\n opacity: 0.15; } } }\n\n\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/_header.sass","//************************************************************************//\n// Example: @include prefixer(border-radius, $radii, webkit ms spec);\n//************************************************************************//\n// Variables located in /settings/_prefixer.scss\n\n@mixin prefixer ($property, $value, $prefixes) {\n @each $prefix in $prefixes {\n @if $prefix == webkit {\n @if $prefix-for-webkit {\n -webkit-#{$property}: $value;\n }\n }\n @else if $prefix == moz {\n @if $prefix-for-mozilla {\n -moz-#{$property}: $value;\n }\n }\n @else if $prefix == ms {\n @if $prefix-for-microsoft {\n -ms-#{$property}: $value;\n }\n }\n @else if $prefix == o {\n @if $prefix-for-opera {\n -o-#{$property}: $value;\n }\n }\n @else if $prefix == spec {\n @if $prefix-for-spec {\n #{$property}: $value;\n }\n }\n @else {\n @warn \"Unrecognized prefix: #{$prefix}\";\n }\n }\n}\n\n@mixin disable-prefix-for-all() {\n $prefix-for-webkit: false !global;\n $prefix-for-mozilla: false !global;\n $prefix-for-microsoft: false !global;\n $prefix-for-opera: false !global;\n $prefix-for-spec: false !global;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/bourbon/addons/_prefixer.scss","@mixin flex($justify: space-between, $alignItem: initial) {\n display: -ms-flexbox /* TWEENER - IE 10 */;\n display: -webkit-flex /* NEW - Chrome */;\n display: flex;\n\n @include prefixer(justify-content, $justify, webkit moz ms);\n @include prefixer(align-items, $alignItem, webkit moz ms);\n justify-content: $justify;\n align-items: $alignItem; }\n\n\n@mixin flex-rows {\n @include prefixer(flex-wrap, wrap, webkit ms);\n @include prefixer(flex-direction, row, webkit ms);\n @include prefixer(flex-flow, row wrap, webkit); }\n\n@mixin order($place) {\n @include prefixer(order, $place, webkit ms); }\n\n@mixin align-content($align) {\n @include prefixer(align-content, $align, webkit); }\n\n@mixin align-self($align) {\n @include prefixer(align-self, $align, webkit); }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/global/mixins/_flex.sass","/* ==========================================================================\n Footer\n @mixin ========================================================================= */\n\nfooter {\n background: $darkBlue;\n font-size: 0.9rem;\n line-height: 1.4;\n color: white;\n\n >.grid-row {\n padding: 70px 0 90px; }\n\n .grid-col {\n vertical-align: top;\n\n .header {\n text-transform: uppercase;\n color: $blue;\n font-family: $fontDroidSans;\n font-weight: 700;\n font-size: 0.7rem;\n margin: 0 0 20px; } }\n\n a {\n text-decoration: none;\n transition: opacity 0.2s, color 0.2s;\n color: white;\n\n &:hover {\n opacity: 0.7; } }\n\n\n .contact {\n width: column(4, 12);\n margin-left: column(1, 12);\n\n figure {\n width: 260px;\n margin: 35px 0 25px;\n\n img {\n width: 70px;\n max-height: 133px;\n margin-right: auto; } } }\n\n\n .links {\n width: column(6, 12);\n margin-left: column(1, 24);\n\n >.grid-row {\n width: 100%; }\n\n .menu, .sub-links {\n width: column(3, 6);\n vertical-align: top; }\n\n ul {\n list-style: none;\n padding: 0;\n margin: 10px 0 40px;\n\n li {\n\n a {\n text-decoration: none; }\n\n &.active {\n a {\n color: $lightBlue;\n opacity: 0.7; } } } } }\n\n @include respond-to-width(750) {\n .links, .contact {\n width: column(10, 12);\n margin-left: column(1, 12); }\n\n .links {\n margin-top: 60px; } }\n\n @include respond-to-width(500) {\n >.grid-row {\n padding: 40px 0;\n margin-bottom: 0 !important; }\n\n .links {\n margin-top: 30px;\n .menu {\n width: 100%;\n margin-bottom: 30px; }\n\n .sub-links {\n width: 100%; } } }\n\n\n\n\n /* Sub footer for pay off and our branding\n @mixin ========================================================================= */\n\n .sub-footer {\n background-color: $darkerBlue;\n padding: 15px 0;\n\n .grid-row {\n .placeholder {\n width: column(10, 12);\n margin: auto;\n @include flex(space-between, center); } }\n\n p, a {\n font-size: 0.8rem;\n line-height: 1;\n color: $lightBlue; }\n\n a {\n text-decoration: none; }\n\n .komma {\n position: relative;\n @include flex(space-between, center);\n font-size: 0.8rem;\n line-height: 1;\n width: 258px;\n transition: opacity 0.2s;\n\n &:hover {\n opacity: 0.7; }\n\n span {\n position: relative;\n top: 0;\n display: inline-block;\n width: 78px;\n height: 25px;\n background: {\n image: url(\"/img/komma.svg\");\n position: center;\n size: contain;\n repeat: no-repeat; } } }\n\n @include respond-to-width(600) {\n padding-bottom: 30px;\n .grid-row {\n .placeholder {\n display: block;\n text-align: center; } }\n\n p {\n margin-bottom: 1.4rem; }\n\n .komma {\n margin: auto; } } }\n\n @include respond-to-width(1000) {\n padding-top: 35px;\n\n >.grid-row {\n @include flex(flex-start, flex-start);\n @include flex-rows;\n margin-bottom: 100px;\n width: 100%; }\n\n .main-item {\n width: 100%;\n padding: 0 column(1, 14);\n margin-left: auto;\n margin-right: auto;\n\n .logo {\n display: none; }\n\n\n &.location {\n @include order(2);\n border-top: 2px solid rgba(white, 0.2);\n padding-top: 40px; }\n\n &.schools, &.menu {\n display: none; }\n\n >a {\n display: inline-block; }\n\n ul.extra-margin-bellow {\n margin-bottom: 35px; } }\n\n .sub-footer {\n .grid-row {\n .placeholder {\n width: 100%; } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/_footer.sass","/* ==========================================================================\n Default styling for KMS content\n @mixin ========================================================================= */\n\n.kms-content {\n color: $cadetBlue;\n\n h1, h2, h3 {\n font-size: 1.7rem;\n line-height: 1.4;\n color: $darkBlue;\n font-family: $fontDroidSans;\n\n strong {\n font-weight: 700; } }\n\n h2, h3 {\n font-size: 1.3rem; }\n\n h3 {\n strong {\n color: $lightBlue; } }\n\n h4 {\n font-size: 0.7rem;\n line-height: 1.3;\n color: $lightBlue;\n text-transform: uppercase; }\n\n p {\n font-size: 0.8rem;\n line-height: 1.625; }\n\n ul {\n padding-left: 0;\n list-style: none;\n\n li {\n position: relative;\n padding-left: 30px;\n font-size: 0.8rem;\n line-height: 1.4;\n\n &:before {\n position: absolute;\n left: 0;\n top: 2px;\n content: '•';\n color: currentColor;\n font-size: 1.2em;\n line-height: 1; }\n\n + li {\n margin-top: 5px; } } }\n\n ol {\n counter-reset: ol-counter /* 2 */;\n padding-left: 0;\n list-style: none;\n li {\n padding-left: 30px;\n font-size: 0.8rem;\n line-height: 1.4;\n color: $grey;\n\n &:before {\n counter-increment: ol-counter;\n content: counter(ol-counter)'.';\n position: absolute;\n left: 0;\n color: $blue; }\n\n + li {\n margin-top: 5px; } } }\n\n a:not(.button) {\n color: $blue;\n text-decoration: none;\n\n &:hover {\n color: darken($blue, 10%);\n text-decoration: none; } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/_kmsContent.sass",".form {\n display: block;\n width: 100%;\n max-width: 560px;\n font-size: 1rem;\n line-height: 1.2;\n\n .honey {\n position: fixed;\n top: -50px;\n height: 20px;\n width: 100%; }\n\n .honey-message, noscript {\n display: block;\n font-size: 0.75rem;\n color: $red; }\n\n .form-element {\n position: relative;\n margin-bottom: 25px;\n\n &.has-error {\n input, textarea {\n border-color: $red; } } }\n\n .error-message {\n display: none;\n width: 100%;\n color: $red;\n font-size: 0.7rem;\n\n margin-top: 1px;\n padding: 3px 8px;\n background-color: rgba($red, 0.06);\n border-radius: 4px;\n\n &.active {\n display: block;\n margin-bottom: 10px; } }\n\n label, .label {\n display: block;\n margin-bottom: 8px;\n color: $blue;\n font-size: 0.6em;\n text-transform: uppercase; }\n\n input, textarea {\n display: block;\n width: 100%;\n padding: 15px 20px;\n border: 2px $lightGrey solid;\n border-radius: 4px;\n font-size: 0.9em;\n color: $grey;\n transition: background-color 0.3s;\n\n @include placeholder {\n color: $mediumGrey !important; }\n\n &.alert {\n border-color: $red; }\n\n &:focus {\n color: $blue;\n border-color: $lightBlue;\n box-shadow: none;\n outline: none; }\n\n &:-webkit-autofill, &:-webkit-autofill:hover, &:-webkit-autofill:focus, &:-webkit-autofill:active {\n transition: 9999s background-color, 9999s color;\n -webkit-text-fill-color: $grey;\n transition-delay: 9999s; }\n\n &.has-error {\n border-color: $red; } }\n\n textarea {\n min-height: 152px;\n resize: vertical; }\n\n .select {\n .select-wrapper {\n position: relative;\n display: block; }\n\n .icon {\n position: absolute;\n right: 10px;\n top: 26px;\n display: inline-block;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 5px 6px 0 6px;\n border-color: $grey transparent transparent transparent;\n opacity: 0.3;\n pointer-events: none; }\n\n select {\n display: block;\n width: 100%;\n @include appearance(none);\n font-family: $fontCabin;\n background-color: white;\n padding: 15px 35px 15px 20px;\n border: 1px transparent solid;\n border-radius: 4px;\n font-size: 0.9em;\n color: $grey;\n\n &:focus {\n box-shadow: none;\n outline: none; } } }\n\n\n .checkbox {\n label {\n @include flex(space-between, flex-start);\n cursor: pointer;\n\n input {\n @include appearance(none);\n margin: 0;\n width: 20px;\n height: 20px;\n border-radius: 100%;\n padding: 0;\n border: none;\n background-color: rgba(white, 0.3);\n background-size: contain;\n background-position: center;\n background-repeat: no-repeat;\n transition: background-color 0.3s;\n\n &:hover {\n background-color: rgba(white, 0.5); }\n\n &:checked {\n background-image: url(\"/img/check/checked.svg\");\n background-color: rgba(white, 0.7); } }\n\n span {\n display: block;\n margin: 2px 0 0;\n width: calc(100% - 30px); } } }\n\n .submit {\n margin-top: 20px;\n text-align: right;\n\n input {\n display: none; }\n\n .button {\n cursor: pointer;\n font-size: 0.7rem;\n .arrow {\n margin-left: 30px; } } } }\n\n.form-error-messages {\n span {\n display: block;\n font-weight: bold;\n color: $red;\n font-size: 0.75rem;\n line-height: 1.2; } }\n\n\n.c-form-feedback {\n margin: 0 0 10px;\n padding: 30px 50px;\n background-color: rgba($red, 0.05);\n border: 2px solid $red;\n border-radius: 5px;\n font-size: 16px;\n color: $red;\n\n &:not(:empty) {\n display: block; }\n\n &:before {\n content: attr(data-feedback);\n display: inline-block;\n margin-left: -20px;\n margin-bottom: 10px;\n font-weight: 700;\n color: $red; }\n\n li::first-letter {\n text-transform: uppercase; } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/_form.sass",".image-slider {\n width: 100%;\n overflow: visible;\n box-shadow: 0px 0px 40px 0px rgba(0,0,0,0.2);\n\n .placeholder {\n position: relative;\n width: 100%;\n cursor: move;\n\n .controllers {\n position: relative;\n z-index: 3;\n width: 100%;\n height: 0;\n padding-bottom: 66.67%;\n\n @include respond-to-width(1350) {\n padding-bottom: 100%; }\n\n .nav-item {\n position: absolute;\n @include flex(center, center);\n bottom: -50px;\n width: 35px;\n height: 35px;\n cursor: pointer;\n border-radius: 100%;\n transition: background 0.3s;\n\n span {\n @include flex(center, center);\n height: 16px;\n width: 16px;\n transform-origin: center;\n transition: transform 0.3s;\n\n .arrow-icon {\n position: relative;\n width: 10px;\n height: 16px;\n transform-origin: center;\n .st0 {\n fill: white; } } }\n\n &.previous {\n background-color: $lightBlue;\n right: calc(50% + 3px);\n\n span {\n .arrow-icon {\n transform: rotate(90deg); } }\n\n &:hover {\n background-color: lighten($lightBlue, 5%); } }\n\n &.next {\n background-color: $blue;\n left: calc(50% + 3px);\n\n\n span {\n .arrow-icon {\n transform: rotate(270deg); } }\n\n &:hover {\n background-color: darken($blue, 5%); } } } }\n\n\n\n figure {\n position: absolute;\n z-index: 1;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n transition: opacity 0.4s;\n\n span {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-size: cover;\n background-position: center;\n\n &.small {\n display: none; }\n\n @include respond-to-width(480) {\n &.medium {\n display: none; }\n\n &.small {\n display: block; } } }\n\n &.active {\n z-index: 2;\n opacity: 1; } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/_imageSlider.sass","// Cookie message without tracking\n#cookie-message {\n position: fixed;\n z-index: 9999;\n bottom: 0;\n left: 0;\n padding: 15px 0;\n width: 100%;\n background-color: $darkerBlue;\n opacity: 1;\n box-shadow: 0 -2px 10px 0 rgba(0, 0, 0, 0.1);\n transition: opacity 0.5s, transform 0.6s;\n transform: translate3d(0, 0, 0);\n\n &.accepted {\n display: none; }\n\n &.transition-out {\n opacity: 0;\n transform: translate3d(0, 50%, 0); }\n\n .grid-row {\n text-align: center;\n\n p, p a, .close-button {\n font-size: 0.75rem;\n line-height: 1.2;\n color: white; }\n\n p {\n display: inline-block;\n vertical-align: middle;\n margin: 0;\n\n a {\n text-decoration: underline; } }\n\n .close-button {\n display: inline-block;\n vertical-align: middle;\n margin-left: 15px;\n padding: 5px 12px;\n background-color: rgba(white, 0.2);\n border-radius: 5px;\n cursor: pointer; }\n\n @include respond-to-width(625) {\n p {\n max-width: 225px; } }\n\n @include respond-to-width(375) {\n p {\n display: block;\n max-width: none; }\n\n .close-button {\n margin-top: 10px; } } } }\n\n// Cookie message with tracking\n#cookie-message-overlay {\n position: fixed;\n z-index: 9999;\n top: 0;\n left: 0;\n @include flex(center, center);\n width: 100%;\n height: 100%;\n background-color: rgba(black, 0.6);\n opacity: 1;\n transition: opacity 0.5s;\n\n &.accepted {\n display: none; }\n\n &.transition-out {\n opacity: 0; }\n\n .placeholder {\n width: calc(100vw / 14 * 12);\n padding: 60px 120px;\n display: block;\n max-width: 960px;\n margin-left: auto;\n margin-right: auto;\n background-color: white;\n\n h5 {\n font-size: 1.2rem;\n line-height: 1;\n font-weight: 500;\n margin: 0 0 5px;\n color: #4d4d4d; }\n\n p {\n font-size: 0.8rem;\n line-height: 1.2;\n margin: 0;\n color: #808080; }\n\n p a, p .open-menu {\n color: $blue;\n white-space: nowrap;\n cursor: pointer;\n text-decoration: underline; }\n\n .accept-cookie-button {\n display: inline-block;\n margin-top: 35px;\n padding: 13px 20px;\n border-radius: 4px;\n background-color: $lightBlue;\n transition: background-color 0.4s, opacity 0.4s;\n font-size: 0.9rem;\n line-height: 1.2;\n color: white;\n cursor: pointer;\n\n &:hover {\n background-color: darken($lightBlue, 8%); } }\n\n @include respond-to-width(1440) {\n padding: calc(100vw / 14 / 1.5) calc(100vw / 14);\n display: block; }\n\n @include respond-to-width(450) {\n width: 100%; } }\n\n #message-description {\n display: block;\n\n &.hide {\n display: none; } }\n\n .cookie-types-description {\n display: block;\n margin: 30px 0;\n\n .cookie-type {\n @include flex(space-between, flex-start);\n width: 100%;\n\n + .cookie-type {\n margin-top: 25px; }\n\n .icon {\n @include flex(center, center);\n width: 25px;\n height: 25px;\n\n &:before {\n content: '';\n display: block; } }\n\n .text {\n display: block;\n width: calc(100% - 55px);\n\n p {\n max-width: 380px;\n font-size: 0.7rem;\n line-height: 1rem;\n margin: 0;\n color: rgba($grey, 0.6);\n\n strong {\n display: inline-block;\n color: $grey;\n font-size: 0.9rem;\n\n span {\n white-space: nowrap; } } } }\n\n &.tracking {\n .icon:before {\n @include cookieSprite(0 0, 25px, 25px); } }\n\n &.analytic {\n .icon:before {\n @include cookieSprite(27px 0, 25px, 25px); } } } }\n\n .cookie-settings {\n display: none;\n\n &.edit {\n display: block; }\n\n .wrapper {\n padding: 30px 0 0; }\n\n .cookie-type {\n @include flex(space-between, flex-start);\n width: 100%;\n max-width: 420px;\n cursor: pointer;\n\n + .cookie-type {\n margin-top: 25px; }\n\n input {\n margin: 4px 0 0;\n display: block;\n @include cookieSprite(55px 14px, 13px, 13px);\n @include appearance(none);\n\n &:checked {\n background-position: -55px 0; }\n\n &:focus {\n outline: none;\n box-shadow: none; } }\n\n > span {\n display: block;\n width: calc(100% - 55px);\n font-size: 0.7rem;\n line-height: 1rem;\n color: rgba($grey, 0.6);\n\n strong {\n font-size: 0.9rem;\n color: $grey;\n\n span {\n white-space: nowrap; } } }\n\n &.analytic {\n pointer-events: none;\n cursor: not-allowed;\n\n input {\n opacity: 0.3; } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/_cookieMessage.sass","$spriteWidth: 70px;\n$spriteHeight: 30px;\n\n\n@mixin cookieSprite($position, $width: auto, $height: auto) {\n\n $positionX: nth($position, 1) * -1;\n $positionY: nth($position, 2) * -1;\n\n background: url(\"/img/cookie-sprite.svg\") $positionX $positionY no-repeat;\n background-size: $spriteWidth $spriteHeight;\n width: $width;\n height: $height; }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/mixins/_cookieSprite.sass","// Cookie switch\n#cookie-switch {\n margin-bottom: 50px;\n padding: 30px 0 50px;\n border-bottom: 1px solid $grey;\n width: 100%;\n\n .placeholder {\n width: 100%;\n display: block;\n\n .cookie-switch-title {\n h3 {\n margin: 0 0 12px;\n font-size: 1.2rem;\n line-height: 1.2; }\n\n p {\n font-size: 0.8rem;\n line-height: 1.4; } }\n\n .cookie-types {\n display: block;\n margin: 30px 0 50px;\n\n .cookie-type {\n @include flex(space-between, flex-start);\n width: 100%;\n max-width: 420px;\n cursor: pointer;\n\n + .cookie-type {\n margin-top: 25px; }\n\n input {\n margin: 4px 0 0;\n display: block;\n @include appearance(none);\n @include cookieSprite(55px 14px, 13px, 13px);\n\n &:focus {\n outline: none;\n box-shadow: none; }\n\n &:checked {\n background-position: -55px 0; } }\n\n > span {\n display: block;\n width: calc(100% - 55px);\n font-size: 0.7rem;\n line-height: 1.4;\n\n @include respond-to-width(460) {\n width: calc(100% - 30px); }\n\n strong {\n font-size: 0.9rem;\n\n span {\n white-space: nowrap; } } }\n\n\n &.analytic {\n pointer-events: none;\n cursor: not-allowed; } } }\n\n #save-cookie-settings {\n display: inline-block;\n padding: 13px 20px;\n border-radius: 4px;\n background-color: $lightBlue;\n transition: background-color 0.4s, opacity 0.4s;\n\n font-size: 0.9rem;\n line-height: 1.2;\n color: white;\n cursor: pointer;\n\n &:hover {\n background-color: darken($lightBlue, 8%); }\n\n &.clicked {\n opacity: 0.2; } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/_cookieSwitch.sass","/*==========================================================================\n Dynamic Blocks\n @mixin ========================================================================= */\n\n.dynamic-block {\n\n + .dynamic-block {\n margin-top: 60px; }\n\n .grid-row {\n @include flex(space-between, center); }\n\n @import \"twoTextColumn\";\n @import \"fullImageColumn\";\n @import \"contentBlock\";\n @import \"multipleImages\";\n @import \"fullTextBlock\";\n @import \"videoBlock\"; }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_dynamic.sass","&.two-text-columns {\n position: relative;\n z-index: 10;\n @include flex(space-between, flex-start);\n .content {\n width: column(21, 44);\n padding: 0; }\n\n @include respond-to-width(900) {\n display: block;\n .content {\n width: 100% !important;\n margin: 0;\n\n p:last-of-type {\n margin-bottom: 1rem; } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_twoTextColumn.sass","&.full-image-column {\n\n img {\n width: 100%;\n display: none;\n &.large {\n display: block; }\n\n @include respond-to-width(1050) {\n &.large {\n display: none; }\n &.medium {\n display: block; } }\n\n @include respond-to-width(525) {\n &.medium {\n display: none; }\n &.small {\n display: block; } } } }\n\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_fullImageColumn.sass","&.content-block {\n position: relative;\n @include flex(space-between, flex-start);\n\n .image {\n width: 50%;\n\n img {\n width: 100%;\n\n &.small {\n display: none; }\n\n @include respond-to-width(450) {\n &.medium {\n display: none; }\n\n &.small {\n display: block; } } }\n\n .content {\n width: column(5, 12); } }\n\n .content {\n @include order(1);\n width: column(5, 12); }\n\n &[data-image-location='right'] {\n .image {\n @include order(2); }\n\n .content {\n @include order(1); } }\n\n @include respond-to-width(900) {\n display: block;\n\n .image {\n width: 100%;\n margin-top: 40px;\n @include order(2); }\n\n .content {\n width: 100%; } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_contentBlock.sass","&.multiple-images {\n @include flex(space-between, flex-start);\n @include flex-rows;\n\n figure {\n width: column(21, 44);\n\n img {\n width: 100%;\n display: none;\n\n &.medium {\n display: none; }\n\n @include respond-to-width(1100) {\n &.large {\n display: none; }\n &.medium {\n display: block; } }\n\n @include respond-to-width(480) {\n &.large {\n display: none; }\n &.medium {\n display: block; } } } }\n\n &[data-size-type='50'] {\n figure {\n img {\n &.medium {\n display: block; }\n\n @include respond-to-width(1125) {\n &.medium {\n display: none; }\n &.small {\n display: block; } } } } }\n\n @include respond-to-width(900) {\n display: block;\n\n figure {\n width: 100%;\n &:first-of-type {\n margin-bottom: 40px; }\n\n img {\n &.medium {\n display: block !important; }\n &.small {\n display: none !important; }\n\n @include respond-to-width(525) {\n &.medium {\n display: none; }\n &.small {\n display: block; } } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_multipleImages.sass","&.full-text-block {\n .content {\n max-width: 680px;\n margin: auto;\n text-align: center; } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_fullTextBlock.sass","&.video-block {\n width: 100%;\n max-width: 960px;\n margin: 60px auto 0 !important;\n\n .video-wrapper {\n position: relative;\n padding-bottom: 53.6% /* 16:9 */;\n padding-top: 25px;\n height: 0;\n iframe, .video-overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%; }\n .video-overlay {\n z-index: 2;\n @include flex(center, center);\n opacity: 1;\n cursor: pointer;\n transition: all 0.2s;\n .button {\n width: 25%;\n max-width: 85px;\n transform: scale(1);\n transition: all 0.4s;\n img {\n width: 100%; } }\n &:hover {\n .button {\n @include transform(scale(0.85)); } }\n\n &.hide {\n opacity: 0;\n pointer-events: none;\n transition: all 0.5s;\n transition-delay: 0.7s;\n .button {\n transition: all 0.8s;\n transform: scale(0.3); } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/dynamic/_videoBlock.sass","//Colors used in Mobile Menu\n$listColor: rgba(white, 0.5);\n$listHoverColor: rgba(white, 0.75);\n$listActiveColor: white;\n\n$barColor: $darkBlue;\n$barMenuColor: white;\n$menuBackground: $darkBlue;\n\n$shaderBackground: $darkBlue;\n$shaderOpacity: 0.6;\n\n\n.preventScroll {\n @include respond-to-width(750) {\n overflow: hidden;\n overflow-y: scroll;\n position: fixed;\n width: 100%; } }\n\n\n#mobile-navigation {\n position: fixed;\n z-index: 1000;\n height: 100vh;\n overflow: hidden;\n width: 100%;\n left: 0;\n top: 0;\n pointer-events: none;\n\n .ie.v10 & {\n height: 60px; }\n\n .bar {\n display: none;\n height: 60px;\n background-color: $barColor;\n box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.11);\n pointer-events: all;\n position: relative;\n z-index: 4;\n transform: translate3d(0,0,0);\n transition: all 0.3s ease 0.4s, transform 0.4s ease 0s;\n\n .toggle-menu {\n width: 60px;\n height: 100%;\n z-index: 3;\n cursor: pointer;\n position: relative;\n @include flex(center, center);\n\n .icon {\n width: 20px;\n\n span + span {\n margin-top: 4px; }\n\n span {\n width: 100%;\n height: 2px;\n display: block;\n transform: scale3d(1, 1, 1);\n transform-origin: 0 50%;\n background-color: $barMenuColor;\n transition: transform 0.6s;\n\n &:nth-of-type(2) {\n transform: scale3d(0.8, 1, 1); }\n\n &:nth-of-type(3) {\n transform: scale3d(0.45, 1, 1); } } }\n\n &:hover {\n .icon {\n span {\n transform: scale3d(1, 1, 1) !important; } } } }\n\n .logo {\n height: 100%;\n width: 100%;\n position: absolute;\n left: 0;\n top: 0;\n @include flex(center, center);\n\n a {\n position: relative;\n display: block;\n width: 12px;\n background-position: center;\n background-size: contain;\n background-repeat: no-repeat;\n text-align: center;\n\n img {\n display: inline-block;\n width: 12px;\n max-height: 50px; } } } }\n\n &.hide-bar {\n .bar {\n transform: translate3d(0, -60px, 0); } }\n\n .shader {\n width: 100%;\n height: 100%;\n position: absolute;\n left: 0;\n top: 0;\n background-color: $shaderBackground;\n opacity: 0;\n transition-delay: 0.4s; }\n\n .menu {\n position: absolute;\n left: 0;\n top: 0;\n height: 100%;\n width: 100%;\n max-width: 600px;\n min-width: 275px;\n padding: 40px 120px;\n\n background-color: $menuBackground;\n overflow-x: auto;\n pointer-events: all;\n z-index: 5;\n transform: translate3d(-100%, 0, 0);\n\n nav {\n position: relative;\n\n .close {\n position: absolute;\n top: 17px;\n left: -68px;\n display: block;\n width: 16px;\n height: 16px;\n cursor: pointer;\n transform-origin: center;\n transform: rotate(0deg);\n transition: transform 0.4s;\n\n &:hover {\n transform: rotate(90deg);\n opacity: 0.4; }\n\n &:before, &:after {\n content: '';\n position: absolute;\n display: block;\n background-color: white;\n transform-origin: center;\n transform: rotate(45deg);\n transition: background-color 0.3s; }\n\n &:before {\n left: 7px;\n top: 0;\n width: 2px;\n height: 100%; }\n\n &:after {\n left: 0;\n top: 7px;\n width: 100%;\n height: 2px; } }\n\n\n .logo-wrapper {\n width: 100%;\n max-width: 70px;\n\n a {\n display: block;\n text-decoration: none;\n\n img {\n width: 100%;\n max-height: 133px; } } }\n\n .menu-list {\n margin-top: 40px;\n\n ul {\n margin: 0;\n padding: 0;\n list-style: none;\n font-size: 1rem;\n line-height: 1.2;\n\n + ul {\n margin-top: 24px; }\n\n li {\n a {\n display: block;\n padding: 8px 0;\n color: $listColor;\n text-decoration: none;\n transition: color 0.2s;\n cursor: pointer;\n\n &:hover {\n color: $listHoverColor; } }\n\n ul {\n font-size: 0.85em; }\n\n &.active {\n a {\n color: $listActiveColor; } } } } } } }\n\n &.active {\n .ie.v10 & {\n height: 100vh; }\n\n .bar {\n .toggle-menu {\n .icon {\n span {\n opacity: 0;\n transition-delay: 0.4s;\n &:first-of-type {\n @include transform(rotate(45deg));\n opacity: 1;\n top: 6px; }\n &:last-of-type {\n width: 25px;\n opacity: 1;\n bottom: 6px;\n @include transform(rotate(-45deg)); } } } } }\n .menu {\n transform: translate3d(0, 0, 0); } }\n\n &.shader-active {\n .shader {\n opacity: $shaderOpacity;\n pointer-events: all; } }\n\n &.allow-animation {\n .shader {\n transition: all 0.2s; }\n .menu {\n transition: all 0.3s;\n transition-timing-function: ease-in-out; } }\n\n @include respond-to-width(750) {\n display: block;\n\n .bar {\n display: block; }\n\n .menu {\n max-width: none; } }\n\n @include respond-to-width(400) {\n nav {\n padding-left: 30px;\n\n ul {\n font-size: 1.2rem; } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/mobile/_navigation.sass",".mobile-contact {\n display: none;\n opacity: 0;\n transform: translate3d(0, -100%, 0);\n\n padding: 50px column(1);\n background-color: white;\n\n color: $darkBlue;\n font-size: 0.9rem;\n\n transition: opacity 0.4s, transform 0.4s;\n\n &.active {\n transform: translate3d(0,0,0);\n opacity: 1;\n pointer-events: all; }\n\n\n h1, h2 {\n font-size: 2rem;\n line-height: 1.2;\n max-width: 580px;\n color: $blue;\n margin: 0 0 40px; }\n\n p {\n margin: 1rem 0; }\n\n strong {\n color: $darkBlue; }\n\n a:not(.button) {\n color: $blue;\n text-decoration: none;\n transition: color 0.3s, border 0.3s, opacity 0.3s;\n &:hover {\n color: darken($blue, 15%); } }\n\n\n\n a.button {\n display: inline-block;\n margin-top: 20px;\n padding: 15px 20px;\n border-radius: 25px;\n background-color: $blue;\n text-decoration: none;\n font-size: 0.9rem;\n line-height: 1;\n font-weight: bold();\n color: white;\n transition: background-color 0.3s;\n\n &:after {\n content: '';\n margin-left: 20px;\n transform: translate3d(0,0,0);\n transition: transform 0.3s; }\n\n &:hover {\n background-color: $blue;\n &:after {\n transform: translate3d(5px, 0, 0); } } }\n\n\n @include respond-to-width(840) {\n display: block; } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/mobile/_contact.sass","#sticky-navigation {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 50;\n background-color: $blue;\n width: 100%;\n height: 60px;\n transform: translate3d(0, -60px, 0);\n box-shadow: 0 6px 10px -5px rgba(0,0,0,0.1);\n opacity: 0;\n transition: transform 0.4s, opacity 0.4s;\n\n &.active {\n transform: translate3d(0, 0, 0);\n opacity: 1; }\n\n .grid-row {\n @include flex(space-between, center); }\n\n .menu {\n display: inline-block;\n width: 60px;\n\n .placeholder {\n position: relative;\n width: 100%;\n padding-bottom: 100%;\n\n .icon-placeholder {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n @include flex(center, center);\n cursor: pointer;\n\n .icon {\n width: 20px;\n\n span + span {\n margin-top: 4px; }\n\n span {\n width: 100%;\n height: 2px;\n display: block;\n transform: scale3d(1, 1, 1);\n transform-origin: 0 50%;\n background-color: white;\n transition: transform 0.6s;\n\n &:nth-of-type(2) {\n transform: scale3d(0.8, 1, 1); }\n\n &:nth-of-type(3) {\n transform: scale3d(0.45, 1, 1); } } }\n\n &:hover {\n .icon {\n span {\n transform: scale3d(1, 1, 1) !important; } } } } } }\n\n .logo-wrapper {\n a {\n font-size: 1rem;\n line-height: 1;\n color: white;\n text-decoration: none;\n font-weight: bold; } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/mobile/_stickyNavigation.sass",".large-header-image {\n position: relative;\n\n @include respond-to-width(750) {\n padding-top: 100px; }\n\n @include respond-to-width(500) {\n padding-top: 60px; }\n\n &:before {\n content: '';\n position: absolute;\n z-index: -2;\n top: 0;\n left: 0;\n background: $darkBlue;\n height: 70%;\n width: 100%;\n\n @include respond-to-width(640) {\n height: 50%; } }\n\n &:after {\n content: '';\n position: absolute;\n z-index: -1;\n bottom: 30%;\n left: 0;\n background: $lightGrey;\n height: 180px;\n width: 100%;\n\n @include respond-to-width(1100) {\n height: 120px; }\n\n @include respond-to-width(840) {\n bottom: 100px; }\n\n @include respond-to-width(640) {\n display: none; } }\n\n\n @include respond-to-width(500) {\n .grid-row {\n width: 100%; } }\n\n .header-image {\n position: relative;\n z-index: 2;\n width: 100%;\n img {\n width: 100%; }\n\n figcaption {\n position: absolute;\n left: 40px;\n bottom: 40px;\n font-size: 2.4rem;\n font-weight: semibold();\n color: white;\n line-height: 1;\n\n span {\n display: inline-block;\n background-color: $darkBlue;\n padding: 12px 20px;\n margin-bottom: 2px; }\n\n @include respond-to-width(1500) {\n font-size: 1.8rem; }\n\n @include respond-to-width(840) {\n font-size: 1.5rem; }\n\n @include respond-to-width(640) {\n position: relative;\n bottom: 0;\n left: 0;\n margin-top: 40px; }\n\n @include respond-to-width(500) {\n margin-top: 30px;\n padding: 0 30px;\n font-size: 1.4rem; } }\n\n &.image-slider {\n .controllers {\n padding-bottom: 66.67% !important;\n .nav-item {\n bottom: 50px;\n &.previous {\n right: calc(100% - 17px); }\n &.next {\n left: calc(100% - 17px); }\n\n @include respond-to-width(500) {\n display: none; } } } } }\n\n .show-scroll {\n position: absolute;\n left: calc(50% - 40px);\n bottom: -40px;\n z-index: 10;\n @include flex(center, center);\n width: 80px;\n height: 80px;\n cursor: pointer;\n border-radius: 55px 55px 0 0;\n\n &:after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n z-index: -1;\n width: 80px;\n height: 80px;\n background: $blue;\n border-radius: 6px; }\n\n .arrow {\n position: relative;\n z-index: 2;\n display: inline-block;\n width: 16px;\n\n transform: translate3d(0,0,0);\n transition: transform 0.3s;\n\n svg {\n width: 100%;\n\n path {\n fill: white; } } }\n\n &:hover {\n .arrow {\n transform: translate3d(0,3px,0); } }\n\n\n @include respond-to-width(640) {\n display: none; } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_largeHeaderImage.sass",".cta-content-row {\n .grid-row {\n @include flex(flex-end, flex-start);\n padding: 115px 0;\n\n .cta-block {\n width: column(4, 12);\n margin-top: 15px;\n margin-right: column(3, 24);\n p {\n margin: -35px 0 15px 0;\n font-size: 0.7rem;\n line-height: 1.2;\n color: $lightBlue;\n text-transform: uppercase;\n font-family: \"Droid Sans\", sans-serif; }\n\n h1 {\n max-width: 420px;\n margin: 0;\n font-size: 1.8rem;\n line-height: 1.333;\n font-weight: bold();\n color: $darkBlue;\n\n @include respond-to-width(950) {\n font-size: 1.6rem; } }\n\n .button {\n margin-top: 30px; } }\n\n .content-block {\n width: column(4, 12);\n margin-right: column(1, 12); } }\n\n\n /* Tablet view\n @mixin ========================================================================= */\n @include respond-to-width(1350) {\n .grid-row {\n padding: 80px 0;\n\n .cta-block {\n width: column(5, 12);\n margin-right: column(1, 12); }\n\n .content-block {\n width: column(5, 12); } } }\n\n /* Mobile view\n @mixin ========================================================================= */\n @include respond-to-width(750) {\n .grid-row {\n padding: 80px 0;\n display: block;\n\n .cta-block, .content-block {\n width: column(10, 12);\n margin-right: auto;\n margin-left: auto;\n\n @include respond-to-width(640) {\n width: 100%; } }\n\n .cta-block {\n margin-bottom: 60px; } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_ctaContentRow.sass",".reasons-row {\n position: relative;\n background-color: $darkBlue;\n overflow: hidden;\n\n .grid-row {\n position: relative;\n\n //&:after\n // content: ''\n // position: absolute\n // z-index: 1\n // top: 0\n // left: column(5, 12)\n // width: 100vw\n // height: 100%\n // background: $bisque\n\n &:before {\n content: '';\n display: block;\n $gradientSize: 100px;\n position: absolute;\n top: 0;\n right: calc(#{column(7, 12)} - #{$gradientSize});\n width: $gradientSize;\n height: 100%;\n background: linear-gradient(90deg, $blackGradient); } }\n\n\n\n .grid-col {\n vertical-align: middle;\n padding: 100px 0; }\n\n .reasons-block {\n position: relative;\n z-index: 2;\n overflow: visible;\n padding-right: column(1, 24);\n\n >h2 {\n font-size: 1.6rem;\n line-height: 1.2;\n //font-weight: bold()\n font-weight: light();\n color: white;\n margin: 0 0 45px;\n padding-left: 55px;\n\n @include respond-to-width(1250) {\n padding-left: 0; } }\n\n ul {\n list-style: none;\n margin: 0;\n padding: 0;\n\n li {\n @include flex(space-between, center);\n\n + li {\n margin-top: 30px; }\n\n .list-icon {\n display: none; }\n\n p {\n width: calc(100% - 55px);\n margin: 0;\n font-size: 0.8rem;\n line-height: 1.2;\n color: white;\n\n strong {\n font-size: 1.2rem;\n line-height: 1.6;\n display: block;\n margin-bottom: 3px;\n color: white; }\n\n @include respond-to-width(1600) {\n margin-top: 6px;\n strong {\n font-size: 1rem; } }\n\n @include respond-to-width(1080) {\n margin-top: 8px; } } }\n\n &.thumbs {\n li {\n .list-icon {\n display: block;\n width: 22px;\n height: 22px;\n svg {\n width: 100%;\n max-height: 22px; } } } }\n\n &.arrows {\n li {\n .list-icon {\n display: block;\n margin-top: 7px;\n width: 12px;\n height: 12px;\n transform: rotate(45deg);\n transform-origin: 0 100%;\n transition: transform 0.4s;\n\n border-top: 3px solid $lightBlue;\n border-right: 3px solid $lightBlue; } } } }\n\n\n .trigger {\n @include flex(flex-start, center);\n margin-top: 60px;\n margin-left: 55px;\n\n .image-placeholder {\n width: 180px;\n\n @include respond-to-width(1600) {\n width: 150px; }\n\n figure {\n position: relative;\n width: 100%;\n padding-bottom: 100%;\n height: 0;\n\n span {\n position: absolute;\n border-radius: 100%;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-position: center;\n background-size: cover; } } } }\n\n @include respond-to-width(1400) {\n .trigger {\n display: block;\n\n .button {\n margin-right: 0; }\n .image-placeholder {\n display: none; } } } }\n\n\n .right-side {\n position: relative;\n z-index: 2;\n padding: 0;\n\n &.col-7 {\n padding-left: column(1, 12); }\n\n &.absolute {\n position: absolute;\n right: 0;\n top: 0;\n height: 100%; }\n\n h4 {\n font-size: 0.65rem;\n color: $lightBlue;\n font-weight: semibold();\n text-transform: uppercase;\n margin: 0 0 20px; }\n\n .video-block {\n padding: 80px 0;\n\n .video-wrapper {\n background-color: darken($darkBlue, 5%);\n\n width: 100%;\n max-width: 960px;\n\n .placeholder {\n position: relative;\n padding-bottom: 52.8% /* 16:9 */;\n padding-top: 25px;\n height: 0;\n iframe {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%; } } } }\n\n .image-block {\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n span {\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n background-size: cover;\n background-position: center; }\n\n picture {\n display: none;\n width: 100%;\n margin: 0;\n img {\n width: 100%; } } } }\n\n @include respond-to-width(1000) {\n\n .grid-row {\n width: 100%;\n\n &:before, &:after {\n display: none; } }\n\n .reasons-block {\n display: block;\n width: 100%;\n padding: 60px column(1, 14);\n max-width: 600px;\n margin: auto; }\n\n .right-side {\n background-color: darken($darkBlue, 5%);\n position: relative;\n width: 100%;\n padding: 0 column(1, 14);\n height: auto;\n\n &.col-7 {\n padding-left: column(1, 14); }\n\n &.absolute {\n position: relative;\n height: auto;\n padding: 0; }\n\n .image-block {\n position: relative;\n\n span {\n display: none; }\n\n picture {\n display: block; } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_reasonsRow.sass",".discover-row {\n background: $offWhite;\n padding: 70px 0 120px;\n overflow: hidden;\n\n .streamer {\n color: $blue;\n font-size: 0.65rem;\n font-family: $fontDroidSans;\n text-transform: uppercase;\n margin: 0 0 35px; }\n\n .links {\n @include flex(center, flex-start);\n overflow: visible;\n box-shadow: 0px 0px 40px 0px rgba(0,0,0,0.2);\n\n article {\n position: relative;\n width: calc(100% / 3);\n\n &::before {\n content: '';\n position: absolute;\n bottom: 0;\n right: 0;\n display: inline-block;\n height: 160px;\n width: 100%;\n background: linear-gradient(to bottom, transparent, rgba(130,130,130, 0.7)); }\n\n @include respond-to-width-beyond(600) {\n &::before {\n top: 0;\n bottom: auto;\n width: 160px;\n height: 100%;\n background: linear-gradient(to right, transparent, rgba(130,130,130, 0.7)); } }\n\n a {\n text-decoration: none; }\n\n picture {\n width: 100%;\n img {\n width: 100%; } }\n\n\n .overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n\n h4 {\n position: absolute;\n left: calc(100% - 25px);\n bottom: 25px;\n width: 100%;\n margin: 0;\n font-size: 1.5rem;\n line-height: 1.2;\n color: white;\n font-family: $fontDroidSans;\n font-weight: 100;\n\n transform-origin: 0 100%;\n transform: rotate(270deg); }\n\n .arrow-placeholder {\n @include flex(center, center);\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: $darkBlue;\n opacity: 0;\n transition: all 400ms ease-out;\n transform: scale(1.5);\n pointer-events: none;\n\n span {\n display: block;\n width: 45px;\n\n svg {\n width: 100%;\n transform-origin: center;\n transform: rotate(270deg);\n\n &.arrow-icon {\n .st0 {\n fill: white; } } } } } }\n\n &:hover {\n .overlay {\n .arrow-placeholder {\n opacity: 1;\n transform: none;\n transition: all 0.4s ease-out; } } } }\n\n\n @include respond-to-width(900) {\n @include flex-rows;\n\n article {\n width: 50%;\n margin-right: auto; } }\n\n @include respond-to-width(600) {\n display: block;\n\n article {\n width: 100%;\n\n .overlay {\n h4 {\n transform: rotate(0deg);\n left: 30px;\n bottom: 25px; } } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_discoverRow.sass",".cta-row {\n position: relative;\n background-color: $blue;\n\n @include respond-to-width-beyond(1000) {\n background: linear-gradient(90deg, $blue 0%, $blue 49.9%, rgba(0,0,0,0.25) 50%, $mediumGrey 52%, $mediumGrey 100%); }\n\n .basic-hint {\n color: white;\n font-size: 0.8rem;\n line-height: 1.2;\n width: 100%;\n max-width: 800px;\n margin: 0 auto;\n padding: 1rem 0; }\n\n .cta-trigger, .cta-trigger-2 {\n display: inline-block;\n padding: 65px 0;\n\n h3 {\n color: $darkBlue;\n font-size: 1.6rem;\n font-family: $fontDroidSans;\n line-height: 1.4;\n margin: 0 0 10px; }\n\n p {\n color: white;\n font-size: 0.7rem;\n margin: 0;\n text-transform: uppercase; }\n\n .button {\n margin-top: 30px; } }\n\n .cta-trigger {\n margin-left: column(1, 12);\n width: column(5, 12); }\n\n\n .cta-trigger-2 {\n width: column(6, 12);\n padding-left: 100px; }\n\n .cta-person {\n display: inline-block;\n width: column(6, 12);\n padding: 65px 0 65px 50px;\n\n @include respond-to-width(1000) {\n background-color: $mediumGrey; }\n\n .wrapper {\n @include flex(flex-start, center);\n z-index: 0; }\n\n .image-placeholder {\n width: 175px;\n\n figure {\n position: relative;\n width: 100%;\n padding-bottom: 100%;\n height: 0;\n\n span {\n position: absolute;\n border-radius: 100%;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-position: center;\n background-size: cover; } } }\n\n .contact-info {\n width: calc(100% - 175px);\n padding-left: 25px;\n\n p {\n margin: 0;\n color: $darkBlue;\n font-size: 1.4rem;\n font-family: $fontDroidSans;\n font-weight: 700; }\n\n span {\n display: block;\n color: $blue;\n text-transform: uppercase;\n font-size: 0.8rem; }\n\n a {\n display: block;\n margin-top: 15px;\n font-size: 0.9rem;\n color: white;\n text-decoration: none; } } }\n\n\n @include respond-to-width(1000) {\n .grid-row {\n height: auto;\n display: block;\n width: 100%;\n\n &:before, &:after {\n display: none; } }\n\n .cta-trigger, .cta-trigger-2, .cta-person {\n width: 100%;\n padding: 65px column(1, 14); }\n\n .cta-trigger {\n margin-left: 0; }\n\n //.cta-trigger-2, .cta-person\n } // background-color: darken($darkBlue, 5%)\n\n @include respond-to-width(475) {\n .cta-trigger, .cta-trigger-2 {\n br {\n display: none; } }\n\n .cta-person {\n padding: 40px column(1, 14);\n text-align: center;\n\n .wrapper {\n display: block; }\n\n .image-placeholder {\n display: inline-block;\n margin-bottom: 25px; }\n\n .contact-info {\n padding-left: 0;\n width: 100%; } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_ctaRow.sass",".person-container {\n background: linear-gradient(to top, rgb(107,143,191) 0, $blue 15px);\n padding: 75px 0;\n\n .person-row {\n & + .person-row {\n margin-top: 40px; } }\n\n .person {\n @include respond-to-width-beyond(900) {\n display: flex;\n align-items: center;\n justify-content: space-between; }\n\n .image {\n margin-top: 0; }\n\n h2 {\n color: $bisqueLight;\n margin-bottom: 0;\n\n @include respond-to-width-beyond(900) {\n margin-top: 0; } }\n p {\n color: $offWhite;\n margin: 0; } }\n\n .person__title {\n margin-top: 0;\n margin-bottom: 30px;\n font-size: 1.4rem;\n line-height: 1.4;\n color: $offWhite; } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_person.sass",".steps-slider {\n padding: 100px 0;\n //background-color: $lighterGrey\n text-align: center;\n\n .grid-row {\n > h2 {\n font-size: 2rem;\n line-height: 1.2;\n //+karla\n color: $blue; }\n } //text-align: center\n\n .slider-nav {\n position: relative;\n display: inline-block;\n list-style: none;\n padding: 0;\n margin: 45px auto 0;\n\n &:before {\n content: '';\n position: absolute;\n left: 0;\n top: calc(50% - 1px);\n height: 2px;\n width: 100%;\n background-color: $blue; }\n\n\n .slide-nav-item {\n position: relative;\n z-index: 1;\n display: inline-block;\n padding: 12px 18px;\n margin-left: 14px;\n background-color: white;\n border: 2px solid $blue;\n border-radius: 12px;\n font-size: 1.1rem;\n line-height: 1.2;\n font-weight: bold();\n color: $blue;\n cursor: pointer;\n transition: color 0.4s, background 0.4s;\n\n &:first-child {\n margin-left: 0; }\n\n p {\n margin: 0; }\n\n &:hover {\n background-color: darken(white, 10%); }\n\n &.active {\n background-color: $blue;\n color: white; } } }\n\n .slides {\n position: relative;\n max-width: 600px;\n min-height: 150px;\n margin: 50px auto 0;\n\n .slide {\n position: absolute;\n z-index: 1;\n top: 0;\n left: 0;\n display: block;\n width: 100%;\n opacity: 0;\n font-size: 0.85rem;\n line-height: 1.6;\n //color: $blackBlue\n transform: translate3d(0, 20px, 0);\n transition: opacity 0.4s, transform 0.4s;\n\n &.active {\n z-index: 2;\n opacity: 1;\n transform: translate3d(0, 0, 0); }\n\n h4 {\n display: none;\n font-size: 1.3rem;\n line-height: 1.2;\n font-weight: bold(); } }\n\n .navigation-buttons {\n\n .nav-item {\n position: absolute;\n @include flex(center, center);\n bottom: 0;\n width: 35px;\n height: 35px;\n cursor: pointer;\n border-radius: 100%;\n transition: background 0.3s;\n\n span {\n @include flex(center, center);\n height: 16px;\n width: 16px;\n transform-origin: center;\n transition: transform 0.3s;\n\n .arrow-icon {\n position: relative;\n width: 10px;\n height: 16px;\n transform-origin: center;\n .st0 {\n fill: white; } } }\n\n &.previous {\n background-color: $bisque;\n right: calc(50% + 3px);\n\n span {\n .arrow-icon {\n transform: rotate(90deg); } }\n\n &:hover {\n background-color: lighten($bisque, 5%); } }\n\n &.next {\n background-color: $blue;\n left: calc(50% + 3px);\n\n span {\n .arrow-icon {\n transform: rotate(270deg); } }\n\n &:hover {\n background-color: darken($blue, 10%); } } } } }\n\n @include respond-to-width(975) {\n padding: 0;\n\n .grid-row {\n width: 100%;\n\n >h2 {\n padding: 50px 0; } }\n\n .slider-nav {\n display: none; }\n\n .slides {\n margin-top: 0;\n max-width: none;\n height: auto !important;\n\n .slide {\n position: relative;\n height: auto !important;\n opacity: 1;\n padding: 40px column(1, 12);\n transform: translate3d(0,0,0) !important;\n background-color: white;\n\n &:nth-of-type(odd) {\n background-color: darken(white, 5%); }\n\n .content {\n text-align: left; } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/blocks/_stepsSlider.sass",".index-grid-row {\n position: relative;\n\n &::after {\n content: '';\n position: absolute;\n z-index: -1;\n top: 0;\n left: 0;\n background: $offWhite;\n height: 300px;\n width: 100%; }\n\n @include respond-to-width(600) {\n &:after {\n display: none; } }\n\n .no-available {\n padding: 60px 20px 0;\n text-align: center;\n color: white; }\n\n .pagination {\n @include flex(center, center);\n margin: 0;\n padding: 0 0 40px;\n font-size: 0.9rem;\n line-height: 1.2;\n list-style: none;\n font-weight: 600;\n\n li {\n margin: 0 6px;\n\n a {\n color: $lightBlue;\n text-decoration: none; }\n\n &.active {\n span {\n color: white; } }\n\n &:first-of-type, &:last-of-type {\n a, span {\n position: relative;\n top: 0;\n display: block;\n font-size: 0;\n\n .arrow-icon {\n position: relative;\n width: 10px;\n height: 16px;\n transform-origin: center;\n transform: rotate(-90deg);\n\n .st0 {\n fill: $lightBlue; } } } }\n\n &:first-of-type {\n a, span {\n transform: scale3d(-1, 1, 1); } }\n\n &.disabled {\n opacity: 0.2;\n pointer-events: none;\n\n .arrow-icon {\n position: relative;\n width: 10px;\n height: 16px;\n transform-origin: center;\n transform: rotate(-90deg);\n\n .st0 {\n fill: rgba($lightBlue, 0.3); } } } } } }\n\n@import \"largeBadges\";\n@import \"squares\";\n@import \"list\";\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/overviews/_overviews.sass",".large-badges-grid {\n\n .overview {\n padding: 60px 0 0;\n\n @include flex(space-between, flex-start);\n @include flex-rows;\n\n article {\n margin: 0 15px 60px;\n\n @include respond-to-width(480) {\n margin: 0 0 30px; } }\n\n @supports (display: flex) {\n display: grid;\n grid-template-columns: 1fr 1fr 1fr;\n grid-gap: 60px 60px;\n padding-bottom: 60px;\n\n &.first-page {\n grid-template-rows: 1fr 1fr 1fr;\n grid-template-areas: \"first first item-2\" \"first first item-3\" \"item-4 item-5 item-6\";\n\n article:first-child {\n grid-area: first; } }\n\n article {\n margin: 0; }\n\n @include respond-to-width(1700) {\n grid-gap: 30px 30px; }\n\n @include respond-to-width(1000) {\n grid-gap: 60px 60px;\n grid-template-columns: 1fr 1fr;\n\n &.first-page {\n grid-template-areas: \"first first\" \"first first\"; } }\n\n @include respond-to-width(950) {\n grid-gap: 30px 30px; }\n\n @include respond-to-width(840) {\n display: block;\n max-width: 520px;\n margin-left: auto;\n margin-right: auto;\n article {\n margin-bottom: 30px; } } } }\n\n article {\n width: 100%;\n max-width: 520px;\n background: $blue;\n box-shadow: 0 0 40px 0 rgba(0,0,0,0.2);\n\n font-size: 1rem;\n line-height: 1.6;\n\n @supports (display: flex) {\n height: 100%;\n max-width: none;\n a {\n height: 100%;\n padding-bottom: 0; } }\n\n @include respond-to-width(600) {\n font-size: 0.9rem; }\n\n a {\n display: block;\n position: relative;\n width: 100%;\n height: 0;\n padding-bottom: 65%;\n text-decoration: none;\n\n @supports (display: flex) {\n height: 100%; }\n\n figure {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n\n &:before {\n content: '';\n position: absolute;\n z-index: 1;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background: $blue;\n opacity: 0.6;\n transition: opacity 0.4s; }\n\n span {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background-size: cover;\n background-position: center;\n display: none;\n\n &.medium {\n display: block; } } }\n\n\n .date {\n position: absolute;\n left: 8%;\n top: 12%;\n z-index: 3;\n font-size: 3em;\n font-weight: bold();\n line-height: 1;\n color: $lightBlue;\n transition: color 0.4s;\n\n @include respond-to-width(950) {\n font-size: 2.5em; }\n\n @include respond-to-width(950) {\n font-size: 2em; } }\n\n h2 {\n position: absolute;\n z-index: 4;\n width: calc(80% - 10px);\n left: 9%;\n bottom: 9%;\n color: white;\n\n font-size: 1.1em;\n line-height: 1.4;\n font-weight: semibold();\n transition: color 0.4s;\n\n .arrow {\n position: absolute;\n z-index: 2;\n width: 15px;\n right: -20px;\n bottom: -7px;\n transform: translate3d(0,0,0);\n transition: transform 0.4s;\n\n .arrow-icon {\n width: 100%;\n transform-origin: center;\n transform: rotate(270deg);\n\n .st0 {\n fill: $lightBlue;\n transition: fill 0.4s; } } } } }\n\n &:hover {\n a {\n figure {\n &:before {\n opacity: 0.2; } }\n\n .arrow {\n transform: translate3d(5px,0,0);\n .arrow-icon {\n .st0 {\n fill: white; } } }\n\n h2, .date {\n color: white; } } }\n\n @include respond-to-width(480) {\n a {\n height: auto;\n padding-bottom: 0;\n\n figure {\n position: relative;\n height: 0;\n padding-bottom: 65%; }\n\n .arrow {\n display: none; }\n\n h2 {\n position: relative;\n width: 100%;\n left: 0;\n bottom: 0;\n padding: 20px 15px; } } }\n\n .first-page & {\n &#post-0 {\n a {\n padding: 5% 8%;\n\n .ie & {\n padding: 0 0 65% !important;\n\n .date {\n font-size: 3em !important; }\n\n h2 {\n font-size: 1.1em !important; }\n\n @include respond-to-width(480) {\n padding-bottom: 0 !important;\n height: auto; } }\n\n figure {\n span {\n &.medium {\n display: none; }\n &.large {\n display: block; }\n\n @include respond-to-width(950) {\n &.large {\n display: none; }\n &.medium {\n display: block; } } } }\n\n .date {\n top: 8%;\n font-size: 3.75em; }\n\n h2 {\n font-size: 2em;\n padding-right: 15% !important;\n\n @include respond-to-width(1750) {\n padding-right: 15%; } }\n\n @include respond-to-width(840) {\n padding: 0 0 65%;\n\n .date {\n top: 12%;\n font-size: 2em; }\n\n h2 {\n font-size: 1.1em;\n padding-right: 20px !important; } }\n\n @include respond-to-width(480) {\n height: auto;\n padding-bottom: 0; } } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/overviews/_largeBadges.sass",".squares-grid {\n\n .overview {\n padding: 60px 0 0;\n\n @include flex(space-between, flex-start);\n @include flex-rows;\n\n article {\n margin: 0 15px 60px;\n\n @include respond-to-width(480) {\n margin: 0 0 30px; } }\n\n @supports (display: flex) {\n display: grid;\n grid-template-columns: 1fr 1fr 1fr;\n grid-gap: 60px 60px;\n padding-bottom: 60px;\n\n article {\n margin: 0; }\n\n @include respond-to-width(1700) {\n grid-gap: 30px 30px; }\n\n @include respond-to-width(1000) {\n grid-gap: 60px 60px;\n grid-template-columns: 1fr 1fr; }\n\n @include respond-to-width(950) {\n grid-gap: 30px 30px; }\n\n @include respond-to-width(800) {\n display: block;\n max-width: 520px;\n margin-left: auto;\n margin-right: auto; } } }\n\n article {\n width: 100%;\n max-width: 520px;\n font-size: 1rem;\n line-height: 1.6;\n\n @supports (display: flex) {\n height: 100%;\n max-width: none; }\n\n @include respond-to-width(600) {\n font-size: 0.9rem; }\n\n a {\n display: block;\n position: relative;\n width: 100%;\n text-decoration: none; }\n\n figure {\n position: relative;\n z-index: 2;\n width: 100%;\n height: 0;\n padding-bottom: 100%;\n background: $darkBlue;\n box-shadow: 0 0 40px 0 rgba(0,0,0,0.2);\n\n .image {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background-size: cover;\n background-position: center; }\n\n .styling {\n position: absolute;\n right: 0;\n bottom: 0;\n height: 68px;\n width: 68px;\n border-color: transparent;\n border-style: solid;\n border-width: 50px;\n border-right: 50px solid $blue;\n border-bottom: 50px solid $blue;\n transition: all 0.3s cubic-bezier(0.49, 0.08, 0.11, 1);\n pointer-events: none;\n\n .arrow {\n position: absolute;\n right: -25px;\n bottom: -40px;\n display: inline-block;\n width: 11px;\n\n .arrow-icon {\n transform-origin: center;\n transform: rotate(-90deg);\n max-height: 20px;\n .st0 {\n fill: white; } } } } }\n\n h2 {\n text-align: center;\n font-size: 1.1rem;\n line-height: 1.2;\n color: $darkBlue;\n font-weight: normal; }\n\n\n &:hover {\n figure {\n .styling {\n width: 100%;\n height: 100%;\n border-color: rgba($blue, 0.6);\n transition: all 0.3s cubic-bezier(0.49, 0.08, 0.11, 1); } } }\n\n @include respond-to-width(800) {\n + article {\n margin-top: 30px !important; }\n\n figure {\n padding-bottom: 66.67%; } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/overviews/_squares.sass",".list-row {\n .grid-row {\n padding: 60px 0 100px;\n max-width: 1000px;\n\n @include respond-to-width(880) {\n padding-top: 100px; }\n\n h1 {\n margin: 0 0 60px;\n font-size: 1.6rem;\n line-height: 1.2;\n color: $grey;\n text-align: center; } }\n\n .list {\n\n article {\n\n + article {\n margin-top: 40px; }\n\n a {\n @include flex(flex-start, center);\n background: white;\n text-decoration: none;\n border: 2px solid transparent;\n transition: border 0.3s;\n\n .date {\n display: block;\n padding: 15px 40px;\n border-right: 1px solid $borderColor;\n font-size: 1.8rem;\n font-weight: bold();\n line-height: 1;\n color: $grey;\n transition: color 0.4s; }\n\n figure {\n width: 120px;\n margin-left: 25px;\n border-radius: 10px;\n overflow: hidden;\n img {\n width: 100%; } }\n\n .content {\n padding: 25px;\n width: calc(100% - 122px);\n\n &.with-image {\n width: calc(100% - 268px); }\n\n h2 {\n margin: 0 0 6px;\n font-size: 1.1rem;\n line-height: 1.2;\n color: $grey;\n font-weight: bold; }\n\n .read-more {\n font-size: 1rem;\n line-height: 1.2;\n color: $blue;\n font-weight: bold;\n\n .arrow {\n position: relative;\n top: 2px;\n display: inline-block;\n margin-left: 10px;\n width: 12px;\n transform: translate3d(0,0,0);\n transition: transform 0.3s;\n\n .arrow-icon {\n max-height: 18px;\n transform-origin: center;\n transform: rotate(270deg);\n path {\n fill: $blue; } } } } }\n\n &:hover {\n border-color: $blue;\n .content {\n .read-more {\n .arrow {\n transform: translate3d(5px,0,0); } } } }\n\n @include respond-to-width(740) {\n figure {\n display: none; }\n\n .date {\n font-size: 1.5rem;\n padding: 15px 25px; }\n\n .content {\n width: calc(100% - 85px);\n\n &.with-image {\n width: calc(100% - 85px); }\n\n h2 {\n font-size: 0.9rem; }\n\n .read-more {\n font-size: 0.8rem; } } } } } } }\n\n\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/overviews/_list.sass",".show-sub-menu {\n color: $darkBlue;\n\n >p {\n font-size: 1rem;\n line-height: 1.2;\n margin: 0 0 1.5rem; }\n\n ul {\n list-style: none;\n padding: 0;\n margin: 0;\n\n li {\n font-size: 0.9rem;\n line-height: 1.2;\n border-bottom: 1px solid rgba($blue, 0.35);\n\n a {\n @include flex(space-between, flex-start);\n text-decoration: none;\n color: $darkBlue;\n padding: 15px 0;\n transition: all 0.3s;\n\n p {\n margin: 0;\n width: calc(100% - 27px); }\n\n .arrow {\n position: relative;\n right: 4px;\n top: 1px;\n display: inline-block;\n width: 9px;\n transform: translate3d(0,0,0);\n transition: transform 0.5s;\n\n svg {\n width: 100%;\n max-height: 18px;\n transform-origin: center;\n transform: rotate(270deg);\n\n &.arrow-icon {\n .st0 {\n fill: $darkBlue; } } } }\n\n &:hover {\n color: rgba($darkBlue, 0.5);\n\n .arrow {\n transform: scale(1.4) translateX(6px); } } }\n\n &.active {\n a {\n color: $blue; } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/show/_subMenu.sass",".show-model-detail {\n position: relative;\n overflow: hidden;\n background: $lightGrey;\n\n .return-to-overview {\n background-color: $blue;\n padding: 20px column(1, 14);\n text-decoration: none;\n display: none;\n width: 100%;\n\n .arrow {\n position: relative;\n top: 1px;\n left: 4px;\n display: block;\n width: 12px;\n margin-right: 25px;\n transform: translate3d(0,0,0);\n transition: transform 0.3s;\n\n svg {\n max-height: 15px; }\n\n .arrow-icon {\n width: 100%;\n transform: rotate(90deg);\n transform-origin: center;\n .st0 {\n fill: white; } } }\n\n p {\n font-size: 0.8rem;\n color: white;\n margin: 0;\n font-weight: semibold(); }\n\n &:hover {\n .arrow {\n transform: translate3d(-5px,0,0); } } }\n\n .show-sub-menu {\n position: relative;\n z-index: 3;\n display: inline-block;\n width: column(4, 12);\n padding: 116px 50px 80px 0;\n vertical-align: top; }\n\n .dynamic-content {\n position: relative;\n z-index: 2;\n display: inline-block;\n width: column(8, 12);\n padding: 80px 0;\n vertical-align: top;\n\n &::after {\n content: '';\n position: absolute;\n z-index: -1;\n display: block;\n width: column(14,12);\n height: 200vh; // To make sure it's high enough when window is small\n background-color: white;\n right: -#{column(2,12)};\n top: 0; }\n\n .kms-content {\n .button {\n margin-top: 40px; } }\n\n\n .dynamic-block {\n &.full-text-block {\n .content {\n margin-left: 0;\n text-align: left; } } } }\n\n\n @include respond-to-width(900) {\n background-color: transparent;\n\n .grid-row {\n width: 100%;\n @include flex(flex-start, flex-start);\n @include flex-rows; }\n\n .return-to-overview {\n @include order(1);\n @include flex(flex-start, center); }\n\n .dynamic-content {\n @include order(2);\n width: 100%;\n padding: 40px column(1, 14);\n\n @include respond-to-width(900) {\n &::after {\n display: none; } } }\n\n .show-sub-menu {\n @include order(3);\n background-color: $lightGrey;\n width: 100%;\n padding: 80px column(1, 14); } }\n\n &.overview-page {\n @include respond-to-width-beyond(900) {\n background-color: $blue; }\n\n .background-image {\n content: '';\n position: absolute;\n top: 0;\n right: -25%;\n width: 50%;\n height: 100%;\n background-repeat: no-repeat;\n background-position: right center;\n background-size: cover; }\n\n .dynamic-content {\n width: column(7, 12); }\n\n @include respond-to-width(900) {\n .show-sub-menu {\n } //display: none\n .dynamic-content {\n width: 100%; }\n .background-image {\n display: none; } } }\n\n @include respond-to-width(750) {\n padding-top: 60px; } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/partials/show/_modelDetail.sass","/* ==========================================================================\n Home page\n @mixin ========================================================================= */\n\n#home {\n header {\n &:after {\n display: none; } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/pages/_home.sass","/*==========================================================================\n Contact page\n @mixin ========================================================================= */\n#contact {\n\n #map {\n width: 100%;\n height: 450px; }\n\n .contact-content {\n position: relative;\n background-color: $blue;\n\n &:after {\n content: '';\n position: absolute;\n right: 0;\n top: 0;\n display: block;\n width: 50%;\n height: 100%;\n background-color: white; }\n\n .contact-info, .contact-form {\n position: relative;\n z-index: 1; }\n\n\n .contact-info {\n width: column(5, 12);\n padding: 72px 0 100px column(1, 12);\n color: white;\n\n h1 {\n font-size: 2rem;\n line-height: 1.4;\n margin: 0 0 32px;\n color: $lightGrey;\n font-family: $fontDroidSans; }\n\n h3 {\n font-size: 0.8rem;\n line-height: 1.2;\n margin: 100px 0 15px;\n font-weight: normal; }\n\n p, a {\n margin-bottom: 0;\n font-size: 0.8rem; }\n\n a {\n text-decoration: none;\n transition: color 0.2s;\n color: white;\n\n &:hover {\n color: $lightBlue; } }\n\n .contact-data {\n $contact-data--icon-width: 13px;\n $contact-data--offset: 18px;\n\n display: flex;\n margin-top: 0;\n margin-left: calc(-#{$contact-data--icon-width} - #{$contact-data--offset});\n\n &::before {\n content: '';\n display: block;\n width: $contact-data--icon-width;\n height: 15px;\n margin-right: $contact-data--offset;\n transform: translateY(7px);\n background-repeat: no-repeat;\n background-image: url(/img/contact-address.svg); } }\n\n .contact-data--phone {\n margin-top: 20px;\n\n &::before {\n background-image: url(/img/contact-phone.svg); } }\n\n .contact-data--mail {\n &::before {\n background-image: url(/img/contact-mail.svg);\n transform: translateY(9px);\n height: 10px; } }\n\n .contact-data--download {\n &::before {\n background-image: url(/img/icon-pdf.svg);\n transform: translateY(6px); } }\n\n .contact-downloads {\n margin-top: 20px; }\n\n @include respond-to-width(1100) {\n width: column(5, 12);\n margin-left: 0; } }\n\n .contact-form {\n position: relative;\n display: inline-block;\n margin-left: column(1, 12);\n width: column(6, 12);\n padding: 72px 0 100px column(1, 12);\n vertical-align: top;\n\n h2 {\n margin: 0 0 20px;\n font-size: 2rem;\n line-height: 1.4;\n color: $darkBlue;\n font-family: $fontDroidSans; }\n\n > p {\n font-size: 0.9rem;\n line-height: 1.2; } }\n\n @include respond-to-width(840) {\n .grid-row {\n width: 100%; }\n\n .background {\n display: none; }\n\n .contact-info {\n width: 100%;\n padding: 102px column(1, 12) 100px column(3, 24);\n background-color: $blue;\n\n h3 {\n margin-top: 60px; } }\n\n .contact-form {\n width: 100%;\n padding-right: column(1, 12);\n margin-left: 0;\n background-color: white; } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/pages/_contact.sass","body.default {\n .dynamic-content {\n padding: 60px 0 120px;\n //background-color: $blue\n\n .dynamic-block {\n margin-left: column(1, 12);\n margin-right: column(1, 12); }\n\n .dynamic-block.full-text-block {\n .content {\n text-align: left; } }\n\n .kms-content {\n h1, h2, h3 {\n //color: white\n\n strong {\n } } //color: $bisque\n\n h3 {\n //color: $bisque\n\n strong {\n } } //color: white\n\n h4 {\n color: rgba(white, 0.5); }\n\n p {\n } //color: white\n\n ul {\n li {\n //color: white\n\n &:before {\n color: white; } } }\n\n ol {\n li {\n color: white;\n\n &:before {\n color: white; } } }\n\n a {\n text-decoration: none;\n\n &:hover {\n color: rgba(white, 0.8);\n text-decoration: none; } }\n\n .button {\n margin-top: 40px;\n\n &.right {\n .arrow {\n margin-left: 30px; } } } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/pages/_default.sass","#error-page-message {\n padding: 100px 0 100px;\n background-color: $borderColor;\n\n .grid-row {\n .kms-content {\n width: 100%;\n text-align: center; }\n\n .placeholder {\n max-width: 720px;\n margin: auto; }\n\n //p\n // font-size: 1rem\n // line-height: 1.7\n // font-weight: bold\n // color: $grey\n //\n // +respond-to-width(700)\n // font-size: 0.9rem\n // +respond-to-width(450)\n } } // font-size: 0.8rem\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/pages/_error.sass","/*==========================================================================\n Sitemap page\n @mixin ========================================================================= */\n.sitemap {\n ul {\n padding-left: 40px;\n padding-bottom: 20px;\n font-size: 0.85em; }\n\n >ul {\n padding-left: 20px; }\n\n li {\n &:before {\n top: 6px; }\n\n a {\n padding: 3px 0;\n border-bottom-color: transparent;\n border-bottom-style: dotted;\n display: block;\n &:hover {\n border-bottom-color: rgba($darkBlue, 0.4); } } } }\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/sass/site/resources/assets/sass/site/pages/_sitemap.sass"],"sourceRoot":""}