{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./src/app/app.component.html","./src/app/configshutter/configshutter.component.html","./src/app/confirm-model/confirm-model.component.html","./src/app/docs/docs.component.html","./src/app/faq/faq.component.html","./src/app/home/home.component.html","./src/app/info-model/info-model.component.html","./src/app/pricing/pricing.component.html","./src/app/scheduleshutter/scheduleshutter.component.html","./src/app/support/support.component.html","./src/app/videos/videos.component.html","./node_modules/tslib/tslib.es6.js","./src/app/app-routing.module.ts","./src/app/app.component.scss","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/configshutter/configshutter.component.scss","./src/app/configshutter/configshutter.component.ts","./src/app/confirm-model/confirm-model.component.scss","./src/app/confirm-model/confirm-model.component.ts","./src/app/docs/docs.component.scss","./src/app/docs/docs.component.ts","./src/app/faq/faq.component.scss","./src/app/faq/faq.component.ts","./src/app/home/home.component.scss","./src/app/home/home.component.ts","./src/app/info-model/info-model.component.scss","./src/app/info-model/info-model.component.ts","./src/app/models/StoreSetting.ts","./src/app/models/StoreState.ts","./src/app/pricing/pricing.component.scss","./src/app/pricing/pricing.component.ts","./src/app/scheduleshutter/scheduleshutter.component.scss","./src/app/scheduleshutter/scheduleshutter.component.ts","./src/app/services/ShopifyFrameResolver.ts","./src/app/services/StoreShutterService.ts","./src/app/support/support.component.scss","./src/app/support/support.component.ts","./src/app/videos/videos.component.scss","./src/app/videos/videos.component.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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","file":"main-es2015.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","export default \"<!-- Toolbar -->\\r\\n<div class=\\\"toolbar-shutter\\\" role=\\\"banner\\\">\\r\\n  <!-- tecsploit logo -->\\r\\n  <a class=\\\"shutter-home-link\\\" routerLink=\\\"/home\\\" queryParamsHandling=\\\"preserve\\\">\\r\\n    <svg id=\\\"tecsploit-logo\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 313.56 246.3\\\" width=\\\"40\\\">\\r\\n      <defs>\\r\\n        <style>\\r\\n          .cls-logo-1 {\\r\\n            fill: white;\\r\\n          }\\r\\n        </style>\\r\\n      </defs>\\r\\n      <path class=\\\"cls-logo-1\\\" d=\\\"M839.12,397.6A25.34,25.34,0,0,1,813.56,372a25.51,25.51,0,1,1,51-.12A25.32,25.32,0,0,1,839.12,397.6Z\\\" transform=\\\"translate(-569.97 -153.6)\\\" />\\r\\n      <path class=\\\"cls-logo-1\\\" d=\\\"M654.07,374.28a25.53,25.53,0,1,1-25.73-25.46A25.27,25.27,0,0,1,654.07,374.28Z\\\" transform=\\\"translate(-569.97 -153.6)\\\" />\\r\\n      <path class=\\\"cls-logo-1\\\" d=\\\"M801.16,328c-48.68,13.77-97.35,15.07-146,0Z\\\" transform=\\\"translate(-569.97 -153.6)\\\" />\\r\\n      <path class=\\\"cls-logo-1\\\" d=\\\"M880.72,247.28c-4.42-11.69-11.88-21.4-21.36-29.44-2.48-2.1-2.58-3-.78-5.64a20.91,20.91,0,0,0-29.15-29c-2.83,2-4.35,1.39-6.73-.2-58.31-39.19-131.48-39.14-189.59.13-2.21,1.5-3.65,2.07-6.29.21a20.94,20.94,0,0,0-29.31,29.08c1.58,2.33,1.76,3.26-.61,5.27a83.45,83.45,0,0,0-23.42,31.22c-6.32,15-4.08,28.71,6.5,41.08a57.43,57.43,0,0,0,13.87,12c20.45,12.4,41.81,21.44,66.59,20.63,22.41-.74,44.86-.16,67.3-.16q39.16,0,78.34,0a20.62,20.62,0,0,0,5.74-.37c21.14-6.32,41.23-14.81,57.39-30.4C882,279.31,887.27,264.65,880.72,247.28ZM658.25,284a21.08,21.08,0,0,1-20.9-21.21,21.34,21.34,0,0,1,21.32-20.9,21,21,0,0,1,20.74,21.32A20.78,20.78,0,0,1,658.25,284Zm139.45,0a21,21,0,0,1-21.26-20.8,21,21,0,1,1,42-.41A20.88,20.88,0,0,1,797.7,284Z\\\" transform=\\\"translate(-569.97 -153.6)\\\" />\\r\\n    </svg>\\r\\n    <span>Store Shutter</span>\\r\\n  </a>\\r\\n  <div class=\\\"spacer\\\"></div>\\r\\n  <a aria-label=\\\"tecsploit on twitter\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\" href=\\\"https://twitter.com/tecsploit\\\" title=\\\"tecsploit twitter\\\">\\r\\n    <svg id=\\\"twitter-logo\\\" height=\\\"24\\\" data-name=\\\"Logo — FIXED\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 400 400\\\">\\r\\n      <defs>\\r\\n        <style>\\r\\n          .cls-1 {\\r\\n            fill: none;\\r\\n          }\\r\\n\\r\\n          .cls-2 {\\r\\n            background: none;\\r\\n            fill: #ffffff;\\r\\n          }\\r\\n        </style>\\r\\n      </defs>\\r\\n      <rect class=\\\"cls-1\\\" width=\\\"400\\\" height=\\\"400\\\" />\\r\\n      <path class=\\\"cls-2\\\" d=\\\"M153.62,301.59c94.34,0,145.94-78.16,145.94-145.94,0-2.22,0-4.43-.15-6.63A104.36,104.36,0,0,0,325,122.47a102.38,102.38,0,0,1-29.46,8.07,51.47,51.47,0,0,0,22.55-28.37,102.79,102.79,0,0,1-32.57,12.45,51.34,51.34,0,0,0-87.41,46.78A145.62,145.62,0,0,1,92.4,107.81a51.33,51.33,0,0,0,15.88,68.47A50.91,50.91,0,0,1,85,169.86c0,.21,0,.43,0,.65a51.31,51.31,0,0,0,41.15,50.28,51.21,51.21,0,0,1-23.16.88,51.35,51.35,0,0,0,47.92,35.62,102.92,102.92,0,0,1-63.7,22A104.41,104.41,0,0,1,75,278.55a145.21,145.21,0,0,0,78.62,23\\\" />\\r\\n    </svg>\\r\\n\\r\\n  </a>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"content\\\" role=\\\"main\\\">\\r\\n\\r\\n\\r\\n  <div class=\\\"card-container-shutter\\\">\\r\\n\\r\\n    <router-outlet></router-outlet>\\r\\n\\r\\n\\r\\n\\r\\n  </div>\\r\\n\\r\\n  <!-- Footer -->\\r\\n  <footer>\\r\\n\\r\\n    <!-- Links -->\\r\\n    <div class=\\\"card-container-shutter\\\">\\r\\n\\r\\n      <a class=\\\"circle-link\\\" title=\\\"tecsploit on twitter\\\" href=\\\"https://twitter.com/tecsploit\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\">\\r\\n        <svg id=\\\"twitter-logo\\\" height=\\\"24\\\" data-name=\\\"Logo — FIXED\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 400 400\\\">\\r\\n          <defs>\\r\\n            <style>\\r\\n              .twitter-dark-1 {\\r\\n                fill: none;\\r\\n              }\\r\\n\\r\\n              .twitter-dark-2 {\\r\\n                background: none;\\r\\n                fill: #1DA1F2;\\r\\n              }\\r\\n            </style>\\r\\n          </defs>\\r\\n          <rect class=\\\"twitter-dark-1\\\" width=\\\"400\\\" height=\\\"400\\\" />\\r\\n          <path class=\\\"twitter-dark-2\\\" d=\\\"M153.62,301.59c94.34,0,145.94-78.16,145.94-145.94,0-2.22,0-4.43-.15-6.63A104.36,104.36,0,0,0,325,122.47a102.38,102.38,0,0,1-29.46,8.07,51.47,51.47,0,0,0,22.55-28.37,102.79,102.79,0,0,1-32.57,12.45,51.34,51.34,0,0,0-87.41,46.78A145.62,145.62,0,0,1,92.4,107.81a51.33,51.33,0,0,0,15.88,68.47A50.91,50.91,0,0,1,85,169.86c0,.21,0,.43,0,.65a51.31,51.31,0,0,0,41.15,50.28,51.21,51.21,0,0,1-23.16.88,51.35,51.35,0,0,0,47.92,35.62,102.92,102.92,0,0,1-63.7,22A104.41,104.41,0,0,1,75,278.55a145.21,145.21,0,0,0,78.62,23\\\" />\\r\\n        </svg>\\r\\n      </a>\\r\\n\\r\\n\\r\\n      <a class=\\\"circle-link\\\" title=\\\"Join the Conversation on Gitter\\\" href=\\\"https://gitter.im/Shopify-Store-Shutter/community\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\">\\r\\n        <svg alt=\\\"Gitter Logo\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"19.447\\\" height=\\\"19.447\\\" viewBox=\\\"0 0 19.447 19.447\\\">\\r\\n          <g id=\\\"Group_40\\\" data-name=\\\"Group 40\\\" transform=\\\"translate(-1612 -405)\\\">\\r\\n            <rect id=\\\"Rectangle_19\\\" data-name=\\\"Rectangle 19\\\" width=\\\"19.447\\\" height=\\\"19.447\\\" transform=\\\"translate(1612 405)\\\" fill=\\\"#e60257\\\" />\\r\\n            <g id=\\\"gitter\\\" transform=\\\"translate(1617.795 408.636)\\\">\\r\\n              <g id=\\\"Group_33\\\" data-name=\\\"Group 33\\\" transform=\\\"translate(0 0)\\\">\\r\\n                <rect id=\\\"Rectangle_15\\\" data-name=\\\"Rectangle 15\\\" width=\\\"1.04\\\" height=\\\"9.601\\\" transform=\\\"translate(2.304 2.324)\\\" fill=\\\"#fff\\\" />\\r\\n                <rect id=\\\"Rectangle_16\\\" data-name=\\\"Rectangle 16\\\" width=\\\"1.04\\\" height=\\\"9.601\\\" transform=\\\"translate(4.607 2.324)\\\" fill=\\\"#fff\\\" />\\r\\n                <rect id=\\\"Rectangle_17\\\" data-name=\\\"Rectangle 17\\\" width=\\\"1.04\\\" height=\\\"4.648\\\" transform=\\\"translate(6.91 2.324)\\\" fill=\\\"#fff\\\" />\\r\\n                <rect id=\\\"Rectangle_18\\\" data-name=\\\"Rectangle 18\\\" width=\\\"1.04\\\" height=\\\"6.971\\\" transform=\\\"translate(0 0)\\\" fill=\\\"#fff\\\" />\\r\\n              </g>\\r\\n            </g>\\r\\n          </g>\\r\\n        </svg>\\r\\n      </a>\\r\\n    </div>\\r\\n    <br>\\r\\n    <div>Created by tecsploit ltd </div>\\r\\n\\r\\n\\r\\n  </footer>\\r\\n\\r\\n  <!-- <svg id=\\\"clouds\\\" alt=\\\"Gray Clouds Background\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"2611.084\\\" height=\\\"485.677\\\" viewBox=\\\"0 0 2611.084 485.677\\\">\\r\\n     <path id=\\\"Path_39\\\" data-name=\\\"Path 39\\\" d=\\\"M2379.709,863.793c10-93-77-171-168-149-52-114-225-105-264,15-75,3-140,59-152,133-30,2.83-66.725,9.829-93.5,26.25-26.771-16.421-63.5-23.42-93.5-26.25-12-74-77-130-152-133-39-120-212-129-264-15-54.084-13.075-106.753,9.173-138.488,48.9-31.734-39.726-84.4-61.974-138.487-48.9-52-114-225-105-264,15a162.027,162.027,0,0,0-103.147,43.044c-30.633-45.365-87.1-72.091-145.206-58.044-52-114-225-105-264,15-75,3-140,59-152,133-53,5-127,23-130,83-2,42,35,72,70,86,49,20,106,18,157,5a165.625,165.625,0,0,0,120,0c47,94,178,113,251,33,61.112,8.015,113.854-5.72,150.492-29.764a165.62,165.62,0,0,0,110.861-3.236c47,94,178,113,251,33,31.385,4.116,60.563,2.495,86.487-3.311,25.924,5.806,55.1,7.427,86.488,3.311,73,80,204,61,251-33a165.625,165.625,0,0,0,120,0c51,13,108,15,157-5a147.188,147.188,0,0,0,33.5-18.694,147.217,147.217,0,0,0,33.5,18.694c49,20,106,18,157,5a165.625,165.625,0,0,0,120,0c47,94,178,113,251,33C2446.709,1093.793,2554.709,922.793,2379.709,863.793Z\\\" transform=\\\"translate(142.69 -634.312)\\\" fill=\\\"#eee\\\"/>\\r\\n   </svg> -->\\r\\n\\r\\n  <svg id=\\\"shop\\\" data-name=\\\"Layer 1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"2611.084\\\" viewBox=\\\"0 0 2621 667.02\\\" fill=\\\"#f5f5f5\\\">\\r\\n    <defs>\\r\\n      <!-- <style>.cls-3{stroke:rgb(116, 116, 116);stroke-miterlimit:10;fill:rgb(116, 116, 116);}</style> -->\\r\\n      <style>\\r\\n        .cls-3 {\\r\\n          stroke: rgb(116, 116, 116);\\r\\n          stroke-miterlimit: 10;\\r\\n          fill: #788402;\\r\\n        }\\r\\n      </style>\\r\\n    </defs>\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"525.33 239.44 544.2 82.5 534 82.58 516.76 239.5 525.05 239.47 525.33 239.44\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"419.57 83.5 410.91 83.5 378.65 239.5 390.62 239.46 419.57 83.5\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"335.5 84.5 324.5 84.5 290.5 239.5 301.5 239.5 335.5 84.5\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"244.5 239.5 254.5 239.5 293.5 84.5 282.5 85.5 244.5 239.5\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"266.5 239.5 278.5 239.5 313.5 84.5 301.5 84.5 266.5 239.5\\\" />\\r\\n    <path class=\\\"cls-3\\\" d=\\\"M243.5,331.2v34.3h26v168h-4v160l63-1,1,3,11-2-2-156,2-1v-3h-6v-169l-49.7.41c38.08-.36,117-1.07,213.7-1.92h0c160.65-1.42,370.25-3.24,522.63-4.49L735.5,361.33V361l-15,.3,1,328.17h11v6h3v-2h444v-160l-156-1v6l149,3-1,139-436-3v-145h288l-2-10-.33-163.83c56.95-.49,105.92-.9,141.33-1.17v-35l-.23,1Zm89,346.3-63,1v-140l65,2Zm533.94-309h.06v28h-117v-27ZM747.5,516.5,749,410.2a.64.64,0,0,0,.18.06c2.37.24,117.37-1.76,117.37-1.76v107l19-.22-.35-108.78,124.35.19-.73,106.81Zm261.8-120-115.8-2v-26l116-.89Z\\\" transform=\\\"translate(1 -75)\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"398.62 83.5 387.42 83.5 356.64 239.5 368.61 239.46 398.62 83.5\\\" />\\r\\n    <path class=\\\"cls-3\\\" d=\\\"M499.5,507.64v5l-1,2,1,178.86,5-1,56-1,3,2h6l2-3,4-2-.37-325H498.5Zm3,168.86v-140h59l2,139Zm0-309h63v165h-65Z\\\" transform=\\\"translate(1 -75)\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"441.28 83.5 429.81 83.5 401.64 239.5 413.62 239.46 441.28 83.5\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"566.5 82.18 555.45 82.96 537.5 238.5 548.81 239.45 548.81 239.45 566.5 82.18\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"423.5 239.5 435.5 239.5 460.72 83.5 450.51 83.64 423.5 239.5\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"447.19 239.04 459.19 239.29 482.94 82.5 471.19 82.5 447.19 239.04\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"470.5 239.5 482.33 239.5 503.5 82.96 494.17 83.5 470.5 239.5\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"524.3 82.96 514.6 82.61 493.15 239.5 503.5 239.5 524.3 82.96\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"558.5 238.98 570.77 239.86 586.6 82.5 576.5 82.58 558.5 238.98\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"658.09 81.6 650.51 238.5 660.5 238.5 670.33 81.5 658.09 81.6\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"680.06 81.6 673.52 238.5 683.5 238.5 691.77 81.5 680.06 81.6\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"650.43 81.5 638.68 81.6 624.5 238.5 636.5 238.5 650.43 81.5\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"609.58 81.5 598.86 81.59 582.5 238.17 593.75 238.97 609.58 81.5\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"775.03 80.48 764.3 80.97 761.5 238.5 770.5 238.5 775.03 80.48\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"849.55 79.5 854.15 238.5 866.94 238.5 858.25 79.5 849.55 79.5\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"869.49 79.71 879.5 238.5 888.87 238.5 879.79 79.96 869.49 79.71\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"828.5 79.58 830.87 238.5 843.33 238.5 838.23 79.5 828.5 79.58\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"911.38 79.58 927.65 238.5 937.31 238.5 921.58 79.5 911.38 79.58\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"714.26 80.5 704 80.58 694.5 238.03 705.5 238.45 705.5 238.45 714.26 80.5\\\" />\\r\\n    <path class=\\\"cls-3\\\" d=\\\"M1186.5,313.5h-9V75.5h-1l-2.08,238H1162.5l-29-161h0l-10.7.09,29.1,160.91h-9.36l-29.46-161-10.22.08L1130,313.5h-11.71l-27.66-161-10.74.09L1107,313.5h-12.84l-23.94-160-11.71.1,23.68,159.9h-12l-11.75.42-.06-.42h-10.66L1027.6,153.37l8-.07,22.77,160.2h11.81l-22.42-160.3,75-.61,0-.09h10.66l5,0q-1,6-2,12l2,11h17v-28l-4.63-10h4.63l5-62h-907l5,62h4l5,7h-7v7l4,3-4,27,15,3,6-25,10.11-.08L344.4,159,312.5,314.5h10l32.92-155.6,12-.1L334.5,314.5h10l32.95-155.78,343.05-2.81h0L716.77,313.5l11.23,1h0l4.43-158.68,53.32-.44-.25.1v158h-3.1l13.1,0,0-158.32,12.59-.1-1.62.28V313.5l12,0V155.12L949.68,154h0L966,313.5h12.21L961.65,153.94l11.55-.09L989,313.5h13.74L985.45,153.75l10.18-.08,17.83,159.83h10l-16.89-159.92,9.49-.08h0l20.39,160h-13l-10,.42,0-.42h-10.72l0,.42L989,313.5H978.23l0,.42L966,313.5h-8.56l0,1H944.06l0-1h-7.7l.07.8-9.7-.38,0-.42h-16.3l-9.7-158-9.7-1,7.15,159H887.87l0,.42-9.39-.42H865.91l0,1H853.17v-1H841.92l0,.42-12.44-.42-12,0v1h-11v-1h-11v.8l-12.8-.8H748.11l0,1.25-8.58-.25H728l-11.25.25,0-1.25-12.27,1H613.22l-.05.25-4.72-.25H524l-8.4,1H412.5l-12-1h-23l.1,1h-10l-.08-1h-12l.08,1-118.08.36v3.64h-15v5l5.65,1,946.21-6h0l-944.86,6v4l14,1,918.77-8,.23,1h.21l11.79-.1-1.83,209.1h3.83l1.38-210h1.62l0-3,7,0Zm-917-227h879l-5,39h-874Zm908.4,234v-1l1.18,1Z\\\" transform=\\\"translate(1 -75)\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"931.82 79.59 945.03 238.5 958.42 238.5 942.52 79.5 931.82 79.59\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"630.04 81.5 618.26 81.6 602.46 238.75 609.43 239.5 614.22 239.48 630.04 81.5\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"744.39 80.58 740.52 238.5 749.11 238.47 754.59 80.5 744.39 80.58\\\" />\\r\\n    <path class=\\\"cls-3\\\" d=\\\"M1142.5,441.5v-70h-90v67Zm-84-61h77v54l-77-3Z\\\" transform=\\\"translate(1 -75)\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"590.5 293.5 590.5 440.5 708.5 440.5 705.5 290.5 590.5 293.5\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"586.5 458.5 708.5 458.5 710.5 450.5 586.5 453.5 586.5 458.5\\\" />\\r\\n    <path class=\\\"cls-3\\\" d=\\\"M589.5,659.5h118v-113h-118Zm6-105h105l3,98h-108Z\\\" transform=\\\"translate(1 -75)\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"359.5 584.5 482.5 584.5 482.5 514.5 359.5 516.5 359.5 584.5\\\" />\\r\\n    <path class=\\\"cls-3\\\" d=\\\"M358,573.5H481.5v-209l-126,.18Zm7.49-202,110-3v197h-111Z\\\" transform=\\\"translate(1 -75)\\\" />\\r\\n    <rect class=\\\"cls-3\\\" x=\\\"0.5\\\" y=\\\"620.5\\\" width=\\\"2620\\\" height=\\\"18\\\" />\\r\\n    <polygon class=\\\"cls-3\\\" points=\\\"1735.5 666.5 1740.5 603.5 1768.45 603.5 1768.5 666.5 1735.5 666.5\\\" />\\r\\n    <path class=\\\"cls-3\\\" d=\\\"M1700.5,573.5l23,105h62l23-105Zm18,34-9-27h88l-6,26Zm8,25-5-17h66l-5,17Zm12,30-7-17h45l-8,17Z\\\" transform=\\\"translate(1 -75)\\\" />\\r\\n    <path class=\\\"cls-3\\\" d=\\\"M2383.3,680.75H2135.13L2116.5,741.5l287-9ZM2147.5,729.5l14.41-48.41h193l16.56,41.41Z\\\" transform=\\\"translate(1 -75)\\\" />\\r\\n    <path class=\\\"cls-3\\\" d=\\\"M2052.5,602l37,78.5h335l30-78.5Zm45,66.5-20-49,18.54,1.33,20.46,47.67Zm41-4-18-43h15l22,43Zm36.95-1-18-43h15l22,43Zm36-1-18-43h15l22,43Zm212.05-42-20,48h-20l20-48Zm-40,0-19,44h-23l21-43Zm-37,1-22,41h-20l21-41Zm-34,0-22,41h-18l23-41Zm-82-1,51,1-17,41-17,1Z\\\" transform=\\\"translate(1 -75)\\\" />\\r\\n  </svg>\"","export default \"<div class=\\\"content\\\" role=\\\"main\\\">\\r\\n\\r\\n    <h2>Setup your shutter</h2>\\r\\n    <p>\\r\\n        Use the options below to confgure what pages in your Shopify store should not be accessible when the shutter is\\r\\n        closed, where visitors should be directed if they try to access a page that is shuttered\\r\\n        and what message to display while being re-directed. The Shutter re-directs visitors to a standard shopify page\\r\\n        of your choice - you need to create a page in your stores admin area - see this video for help\\r\\n    </p>\\r\\n\\r\\n    <br>\\r\\n\\r\\n    <div *ngIf=\\\"loading\\\">\\r\\n        Loading... <br>\\r\\n        <p></p><br>\\r\\n        <div class=\\\"loading-icon\\\">\\r\\n            <svg id=\\\"tecsploit-logo\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 313.56 246.3\\\" width=\\\"40\\\">\\r\\n                <defs>\\r\\n                    <style>\\r\\n                        .cls-logo-spinner {\\r\\n                            fill: #342628;\\r\\n                        }\\r\\n                    </style>\\r\\n                </defs>\\r\\n                <path class=\\\"cls-logo-spinner\\\" d=\\\"M839.12,397.6A25.34,25.34,0,0,1,813.56,372a25.51,25.51,0,1,1,51-.12A25.32,25.32,0,0,1,839.12,397.6Z\\\" transform=\\\"translate(-569.97 -153.6)\\\" />\\r\\n                <path class=\\\"cls-logo-spinner\\\" d=\\\"M654.07,374.28a25.53,25.53,0,1,1-25.73-25.46A25.27,25.27,0,0,1,654.07,374.28Z\\\" transform=\\\"translate(-569.97 -153.6)\\\" />\\r\\n                <path class=\\\"cls-logo-spinner\\\" d=\\\"M801.16,328c-48.68,13.77-97.35,15.07-146,0Z\\\" transform=\\\"translate(-569.97 -153.6)\\\" />\\r\\n                <path class=\\\"cls-logo-spinner\\\" d=\\\"M880.72,247.28c-4.42-11.69-11.88-21.4-21.36-29.44-2.48-2.1-2.58-3-.78-5.64a20.91,20.91,0,0,0-29.15-29c-2.83,2-4.35,1.39-6.73-.2-58.31-39.19-131.48-39.14-189.59.13-2.21,1.5-3.65,2.07-6.29.21a20.94,20.94,0,0,0-29.31,29.08c1.58,2.33,1.76,3.26-.61,5.27a83.45,83.45,0,0,0-23.42,31.22c-6.32,15-4.08,28.71,6.5,41.08a57.43,57.43,0,0,0,13.87,12c20.45,12.4,41.81,21.44,66.59,20.63,22.41-.74,44.86-.16,67.3-.16q39.16,0,78.34,0a20.62,20.62,0,0,0,5.74-.37c21.14-6.32,41.23-14.81,57.39-30.4C882,279.31,887.27,264.65,880.72,247.28ZM658.25,284a21.08,21.08,0,0,1-20.9-21.21,21.34,21.34,0,0,1,21.32-20.9,21,21,0,0,1,20.74,21.32A20.78,20.78,0,0,1,658.25,284Zm139.45,0a21,21,0,0,1-21.26-20.8,21,21,0,1,1,42-.41A20.88,20.88,0,0,1,797.7,284Z\\\" transform=\\\"translate(-569.97 -153.6)\\\" />\\r\\n            </svg>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <form class=\\\"shutter-config-form\\\" [hidden]=\\\"loading\\\" [formGroup]=\\\"configForm\\\" (ngSubmit)=\\\"onSubmit()\\\">\\r\\n        <h3>Shopify Page to redirect to</h3>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n        <select class=\\\"dropDown\\\" formControlName=\\\"pageRedirect\\\" title=\\\"select the page to re-direct users to when the shutter is closed, only published pages are shown\\\">\\r\\n            <option value=\\\"\\\">Select Page</option>\\r\\n            <option *ngFor=\\\"let page of publishedPages\\\">{{page}}</option>\\r\\n        </select>\\r\\n        &nbsp;<span *ngIf=\\\"pageRedirect.invalid && (pageRedirect.dirty || pageRedirect.touched)\\\" class=\\\"error-indicator\\\" title=\\\"Please enter at least one key\\\">* please select a page</span>\\r\\n        &nbsp;<span class=\\\"shutter-question\\\" tooltip-trigger=\\\"'click'\\\" (click)=\\\"showInfo('Redirect Page','Choose the page the user should be redirected to when the shutter is closed, the dropdown shows all published / visible pages setup for your store. You may need to add a new page, this can be done easily in the admin section of your store')\\\">\\r\\n            <fa-icon [icon]=\\\"faQuestion\\\"></fa-icon>\\r\\n        </span>\\r\\n        <p></p>\\r\\n        <br>\\r\\n\\r\\n        <h3>URLs that contain these keywords will be shuttered</h3>\\r\\n\\r\\n        <input type=\\\"text\\\" #keyword title=\\\"enter a keyword to look for in urls that should be restricted when the shutter is closed\\\" placeholder=\\\"enter a key\\\" />&nbsp;<button type='button' (click)=\\\"onAddKeywork(keyword)\\\">add</button>\\r\\n        &nbsp;<span *ngIf=\\\"!keysValid\\\" class=\\\"error-indicator\\\" title=\\\"Please enter at least one key\\\">* please enter at\\r\\n            least one key</span>\\r\\n        &nbsp;<span class=\\\"shutter-question\\\" tooltip-trigger=\\\"'click'\\\" (click)=\\\"showInfo('Redirect Keys','The shutter decides which pages are closed by looking at the url for the page. If the url contains any of these keywords then the page is closed and the user is shown the redirection message while they are redirected to the configured redirection page. For example the keyword collections would shut any pages with collections in the url like https://mystore.myshopify.com/collections/all/ the default keys are collections product and cart, these appear in the urls for the collections, product and cart pages in the default themes. You should check the address bar on the pages you want to restrict in order to choose your keywords if the default do not work.')\\\">\\r\\n            <fa-icon [icon]=\\\"faQuestion\\\"></fa-icon>\\r\\n        </span>\\r\\n        <br>\\r\\n        <br>\\r\\n        <div class=\\\"shutter-pages-list\\\">\\r\\n            <div class=\\\"shutter-lsit-item\\\" *ngFor=\\\"let key of redirectKeys\\\" (click)=\\\"removeKeyWord(key)\\\" title=\\\"click to remove\\\">{{key}}&nbsp;<fa-icon [icon]=\\\"faTimes\\\"></fa-icon>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <br>\\r\\n\\r\\n        <h3>Text to show while redirecting</h3>\\r\\n        <input type=\\\"text\\\" formControlName=\\\"redirectMessage\\\" placeholder=\\\"enter a message\\\" redirectPageplaceholder=\\\"Enter your message here\\\" title=\\\"this text will appear in a popup dialog while the user is redirected to the closed page\\\">\\r\\n        &nbsp;<span *ngIf=\\\"redirectMessage.invalid && (redirectMessage.dirty || redirectMessage.touched)\\\" class=\\\"error-indicator\\\" title=\\\"Please enter a message to show when redirecting\\\">* please enter a\\r\\n            value</span>\\r\\n        <br>\\r\\n\\r\\n        <h3>Font colour of redirect popup</h3>\\r\\n        <div class=\\\"color-picker-container\\\">\\r\\n            <div class=\\\"color-picker\\\" [(colorPicker)]=\\\"popupTextDefaultColor\\\" cpPosition=\\\"top\\\" cpPositionOffset=\\\"-100%\\\" [style.background]=\\\"popupTextDefaultColor\\\" title=\\\"click to select the colour of the font on the dialog message\\\"></div>\\r\\n        </div>\\r\\n        <!-- <input class=\\\"color-picker\\\" [(colorPicker)]=\\\"popupTextDefaultColor\\\" cpPosition=\\\"top\\\" cpPositionOffset=\\\"-100%\\\" [style.background]=\\\"popupTextDefaultColor\\\" title=\\\"click to select the colour of the font on the dialog message\\\" /> -->\\r\\n        <!-- &nbsp;<span *ngIf=\\\"redirectFontColor.invalid && (redirectFontColor.dirty || redirectFontColor.touched)\\\" class=\\\"error-indicator\\\" title=\\\"Please enter a color for the message font\\\">* please enter a color</span> -->\\r\\n        <br>\\r\\n\\r\\n        <h3>Background colour of redirect popup</h3>\\r\\n        <!-- <input class=\\\"color-picker\\\" [(colorPicker)]=\\\"popupBackgroundDefaultColor\\\" cpPosition=\\\"top\\\" cpPositionOffset=\\\"-100%\\\" [style.background]=\\\"popupBackgroundDefaultColor\\\" title=\\\"click to select the background colour on the dialog message\\\" /> -->\\r\\n        <div class=\\\"color-picker-container\\\">\\r\\n            <div class=\\\"color-picker\\\" [(colorPicker)]=\\\"popupBackgroundDefaultColor\\\" cpPosition=\\\"top\\\" cpPositionOffset=\\\"-100%\\\" [style.background]=\\\"popupBackgroundDefaultColor\\\" title=\\\"click to select the background colour on the dialog message\\\"></div>\\r\\n        </div>\\r\\n        <!-- &nbsp;<span *ngIf=\\\"redirectBackgroundColor.invalid && (redirectBackgroundColor.dirty || redirectBackgroundColor.touched)\\\" class=\\\"error-indicator\\\" title=\\\"Please enter a background color\\\">* please enter a color</span> -->\\r\\n        <br>\\r\\n        <br>\\r\\n        <p></p>\\r\\n        <button (click)=\\\"onCancel()\\\" type=\\\"button\\\" title=\\\"cancel and go back to the main sture shutter page\\\">Cancel</button>&nbsp;\\r\\n        <button type=\\\"submit\\\" title=\\\"save changes\\\">Save</button>\\r\\n\\r\\n    </form>\\r\\n</div>\"","export default \"<div class=\\\"modal-header\\\">\\r\\n    <h4 class=\\\"modal-title pull-left\\\">{{title}}</h4>\\r\\n    <button type=\\\"button\\\" class=\\\"close pull-right\\\" aria-label=\\\"Close\\\" (click)=\\\"bsModalRef.hide()\\\">\\r\\n        <span aria-hidden=\\\"true\\\">&times;</span>\\r\\n    </button>\\r\\n</div>\\r\\n<div class=\\\"modal-body\\\">\\r\\n{{message}}\\r\\n</div>\\r\\n<div class=\\\"modal-footer\\\">\\r\\n    <button type=\\\"button\\\" class=\\\"btn\\\" (click)=\\\"onConfirm()\\\">Yes</button>\\r\\n    <button type=\\\"button\\\" class=\\\"btn\\\" (click)=\\\"onCancel()\\\">No</button> \\r\\n</div>\"","export default \"<div class=\\\"docs-content\\\" role=\\\"main\\\">\\r\\n\\r\\n    <h2>Documentation</h2>\\r\\n    <p>\\r\\n        Welcome to store shutter, your simple solution to opening and closing your store on demand. Perfect for stores using shopify for contactless payments or sites in development wanting to get\\r\\n        some early feedback without taking orders. Please follow these instructions to setup your Store Shutter. (you can click on images to englarge them)\\r\\n    </p><br />\\r\\n\\r\\n    <h3>Overview of Setup</h3>\\r\\n\\r\\n    <ul>\\r\\n        <li>Create a normal Shopify Page via the Shopify admin that you'de like users to see when the shop is closed and they access a page that has been 'shut'</li>\\r\\n        <li>Open the store shutter app, click configure choose the page from the drop down list</li>\\r\\n        <li>Optionally tweak your redirect keys to change what pages are effected by closing the shutter (most stores can leave the default)</li>\\r\\n        <li>change the text and colors of the message visitors see while being redirected (or leave it as the default)</li>\\r\\n        <li>save the settings, then open and close the shutter as you wish!</li>\\r\\n    </ul>\\r\\n\\r\\n    <p>\\r\\n        Detailed instructions with screenshots for each point can be found below, tap on an image to view it full screen (tap again to close it!)\\r\\n    </p>\\r\\n    <h3>1. Setup a Shutter Page</h3>\\r\\n    <p>\\r\\n        Once you have installed store shutter from the shopify app store the first thing to do is make sure you have a page setup on your site that you want visitors to be redirected to.\\r\\n        This can be done by navigating to your store admin, expanding sales channels, expanding online store and clicking pages, as highlighted below:\\r\\n    </p>\\r\\n    <br />\\r\\n    <div>\\r\\n        <img class=\\\"docs-image\\\" (click)=\\\"toggleClass($event)\\\" src=\\\"assets/images/1-select-pages.PNG\\\">\\r\\n    </div>\\r\\n    <br />\\r\\n    <p>\\r\\n        Then click add page on the top right\\r\\n    </p>\\r\\n    <br />\\r\\n    <div>\\r\\n        <img class=\\\"docs-image\\\" (click)=\\\"toggleClass($event)\\\" src=\\\"assets/images/2-add-page.PNG\\\">\\r\\n    </div>\\r\\n    <br />\\r\\n    <p>\\r\\n        A new page will be created and you see the edit page screen, give it a title and some body text, and make sure the Visibility is set to visible (top right)\\r\\n    </p>\\r\\n    <br />\\r\\n    <div>\\r\\n        <img class=\\\"docs-image\\\" (click)=\\\"toggleClass($event)\\\" src=\\\"assets/images/3-create-page-details.PNG\\\">\\r\\n    </div>\\r\\n    <br />\\r\\n    <p>\\r\\n        Save the page by clicking save on the bottom left, the page will now be visible in the pages list\\r\\n    </p>\\r\\n    <br />\\r\\n    <div>\\r\\n        <img class=\\\"docs-image\\\" (click)=\\\"toggleClass($event)\\\" src=\\\"assets/images/4-page-in-list.PNG\\\">\\r\\n    </div>\\r\\n    <p>\\r\\n        Your page is now setup and your ready to setup the store shutter itself\\r\\n    </p>\\r\\n\\r\\n    <br />\\r\\n\\r\\n\\r\\n    <h3>2. Configure the Shutter</h3>\\r\\n    <br />\\r\\n    <p>\\r\\n        You now need to navigate to Apps in the Shopify admin, on the left towards the middle of the screen, this will show your list of installed apps. Select 'Store Shutter'\\r\\n        and you will be presented with the store shutter home screen, click the configuration tile.\\r\\n    </p>\\r\\n    <br />\\r\\n    <div>\\r\\n        <img class=\\\"docs-image\\\" (click)=\\\"toggleClass($event)\\\" src=\\\"assets/images/5-open-app-click-settings.PNG\\\">\\r\\n    </div>\\r\\n    <br />\\r\\n    <p>\\r\\n        Select your page from the drop down list under the text 'Shopify page to redirect to'. This drop down should show a list of all the pages that are visible on your site. The drop down shows\\r\\n        the store titles hyphenated, so if you put 'Store Closed' as your page title, you should see 'store-closed' in the drop down.\\r\\n    </p>\\r\\n    <br />\\r\\n    <div>\\r\\n        <img class=\\\"docs-image\\\" (click)=\\\"toggleClass($event)\\\" src=\\\"assets/images/6-select-page.png\\\">\\r\\n    </div>\\r\\n    <br />\\r\\n    <p>\\r\\n        Review your keywords, these default to 'cart', 'product' and 'collections' - most stores will not need to change these. The keys determine which pages are redirected to the Shutter Page, when the\\r\\n        Shutter is set to closed if a visitor tries to load a page and the pages URL contains one of the keys then the visitor is redirected to your shutter page. For instance if a user tries to navigate to\\r\\n        a product with the URL:\\r\\n    </p>\\r\\n    <br />\\r\\n    <i>https://mystore.myshopify.com/products/chequered-red-shirt</i>\\r\\n    <br />\\r\\n    <p>\\r\\n        The shutter would redirect them to the shutter page, as the URL contains the keyword 'products'. (if you turn the shutter off, then they wont be redirected)\\r\\n    </p>\\r\\n    <br />\\r\\n    <div>\\r\\n        <img class=\\\"docs-image\\\" (click)=\\\"toggleClass($event)\\\" src=\\\"assets/images/7-enter-keys.PNG\\\">\\r\\n    </div>\\r\\n    <br />\\r\\n    <p>\\r\\n        Select redirect message. While redirecting to the Shutter page, the user will see a dialoge for a second while the new page loads, you can configure the message that is shown by entering it in this field\\r\\n    </p>\\r\\n    <br />\\r\\n    <div>\\r\\n        <img class=\\\"docs-image\\\" (click)=\\\"toggleClass($event)\\\" src=\\\"assets/images/8-set-message.PNG\\\">\\r\\n    </div>\\r\\n    <br />\\r\\n    <p>\\r\\n        You can choose the font colour and background color of the message shown while redirecting to the shutter page by clicking on the squares shown below\\r\\n    </p>\\r\\n    <br />\\r\\n    <div>\\r\\n        <img class=\\\"docs-image\\\" (click)=\\\"toggleClass($event)\\\" src=\\\"assets/images/9-select-colors.PNG\\\">\\r\\n    </div>\\r\\n    <br />\\r\\n    <p>\\r\\n        Clicking the square will load a colour selector letting you pick a color. Click anywhere off the selector when you are happy with the color. You can also enter a color code directly into the bottom\\r\\n        of the picker.\\r\\n    </p>\\r\\n    <br />\\r\\n    <div>\\r\\n        <img class=\\\"docs-image\\\" (click)=\\\"toggleClass($event)\\\" src=\\\"assets/images/10-color-selector.PNG\\\">\\r\\n    </div>\\r\\n    <br />\\r\\n    <p>\\r\\n        When you are happy with your settings click save on the bottom right. Note that the new settings wont be applied untill you enable, or re-enable to shutter. If the shutter is currently set to closed,\\r\\n        open it and close it again for the new settings to take effect.\\r\\n    </p>\\r\\n    <br />\\r\\n    <div>\\r\\n        <img class=\\\"docs-image\\\" (click)=\\\"toggleClass($event)\\\" src=\\\"assets/images/11-save.PNG\\\">\\r\\n    </div>\\r\\n    <br />\\r\\n    <h3>3. Open and close the shutter</h3>\\r\\n    <p>\\r\\n        At this point the setup is complete, saving will take you back to the home page, from which you can open or close the shutter by clicking on the buttons as shown below, or by clicking on the shutter image\\r\\n    </p>\\r\\n    <br />\\r\\n    <div>\\r\\n        <img class=\\\"docs-image\\\" (click)=\\\"toggleClass($event)\\\" src=\\\"assets/images/12-open-close-shutter.PNG\\\">\\r\\n    </div>\\r\\n    <br />\\r\\n    <h3>Get Help!</h3>\\r\\n    <p>\\r\\n        Are you having problems getting Store Shutter to work for you? Please remember to review our <a routerLink=\\\"../faq\\\" queryParamsHandling=\\\"preserve\\\">FAQ </a>, or even take a look at our <a href=\\\"https://gitter.im/Shopify-Store-Shutter/community\\\" target=\\\"_blank\\\"> gitter</a> community.\\r\\n    </p>\\r\\n    <br />\\r\\n    <p>\\r\\n        But if your still stuck, please send us a message via <a href=\\\"https://twitter.com/tecsploit\\\" target=\\\"_blank\\\"> twitter</a> or email <a href=\\\"mailto:support@tecsploit.com?subject=Store%20Shutter%20Support\\\" target=\\\"_blank\\\">support@tecsploit.com</a> and we will get back to you as fast as we can.\\r\\n    </p>\\r\\n    <br />\\r\\n    Thanks!!\\r\\n\\r\\n</div>\\r\\n\\r\\n<br>\\r\\n<button type=\\\"button\\\" title=\\\"go back\\\" routerLink=\\\"../home\\\" queryParamsHandling=\\\"preserve\\\">Back</button>\"","export default \"<div class=\\\"content faq-page\\\" role=\\\"main\\\">\\r\\n\\r\\n    <h2>FAQ</h2>\\r\\n    <p>\\r\\n        Got a question, take a look through the FAQ and see if its already been answered!\\r\\n    </p>\\r\\n    <br />\\r\\n\\r\\n    <h3>What is Store Shutter?</h3>\\r\\n    <p>\\r\\n        Store shutter is a Shopify App that lets you apply a virtual shutter to your Shopify Store. You can redirect visitors from certain pages to a particular landing page.\\r\\n        Its perfect for shutting your store if you want to stop sales temporarily for any reason - it could be because your using shopify to take orders in your shop, cafe or bar\\r\\n        and need the ability to shut in the evening, or because your site hasn't fully launched yet but you want to start getting your website in front of customers.\\r\\n    </p>\\r\\n    <br>\\r\\n\\r\\n    <h3>Does store shutter stop me being billed?</h3>\\r\\n    <p>\\r\\n        No, store shutter doesnt disable your website and stop you being billed by shopify, it allows you to keep your site live letting visitors view all the pages on your site\\r\\n        accept the ones that you choose to shutter.\\r\\n    </p>\\r\\n    <br>\\r\\n\\r\\n    <h3>How do I close the shutter?</h3>\\r\\n    <p>\\r\\n        Navigate to the Store Shutter app from your Shopify admin screen, when it loads the shutter sign indicates the current state of the shutter.\\r\\n        Click the 'close shutter' button or click on the shutter sign to toggle between open and closed.\\r\\n    </p>\\r\\n    <br>\\r\\n\\r\\n    <h3>How do I open the shutter?</h3>\\r\\n    <p>\\r\\n        Navigate to the Store Shutter app from your Shopify admin screen, when it loads the shutter sign indicates the current state of the shutter.\\r\\n        Click the 'open shutter' button or click on the shutter sign to toggle between open and closed.\\r\\n    </p>\\r\\n    <br>\\r\\n\\r\\n    <h3>Im seeing a 404 page not found error when the shutter is closed</h3>\\r\\n    <p>\\r\\n        When closed the shutter redirects users to a page of your choosing if they try to access a page on your site that matches the keywords. You might get a 404 if you havent selected a page to redirect\\r\\n        you visitors to. This can be done by going into your shopify admin,\\r\\n    </p><br />\\r\\n    <p>\\r\\n        <i>selecting apps -> Store Shutter -> Configure Shutter </i>\\r\\n    </p><br />\\r\\n    <p>\\r\\n        Then choosing a page from the drop down list. Please note the drop down only show pages that have been published, (are marked as visible). If the drop down is empty you may need to create a page,\\r\\n        or change the visibility of any pages you have created to visible, then go back into the shutter application. The <a rel=\\\"noopener\\\" routerLink=\\\"../docs\\\" queryParamsHandling=\\\"preserve\\\">docs</a>\\r\\n        desribes how to set this up in more detail.\\r\\n    </p>\\r\\n    <br>\\r\\n\\r\\n    <h3>The shutter says closed, but the pages are still accessible?</h3>\\r\\n    <p>\\r\\n        Check your settings, the shutter will only close pages that have one of the keywords in their URL. Typically you would add the keywords 'collections', 'product' and 'cart'.\\r\\n        But you can use any keywords you like to shutter individual products or specific custom pages.\\r\\n    </p>\\r\\n    <br>\\r\\n\\r\\n    <h3>Can I automate opening / closing of the shutter?</h3>\\r\\n    <p>\\r\\n        Currently you have to open and close the shutter manually, but we are working on a scheduling feature for our next update to let the shutter be open and closed automatically\\r\\n    </p>\\r\\n\\r\\n    <br>\\r\\n    <button type=\\\"button\\\" title=\\\"go back\\\" routerLink=\\\"../home\\\" queryParamsHandling=\\\"preserve\\\">Back</button>\\r\\n\\r\\n</div>\"","export default \"<div *ngIf=\\\"isResolved\\\" class=\\\"content\\\" role=\\\"main\\\">\\r\\n\\r\\n  <h2>Welcome</h2>\\r\\n  <p>Thanks for installing Store Shutter, be sure to review your <i>settings</i> below before using the shutter for the first time!\\r\\n  </p>\\r\\n  <br>\\r\\n\\r\\n  <div *ngIf=\\\"loading\\\">\\r\\n    Loading... <br>\\r\\n    <p></p><br>\\r\\n    <div class=\\\"loading-icon\\\">\\r\\n      <svg id=\\\"tecsploit-logo\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 313.56 246.3\\\" width=\\\"40\\\">\\r\\n        <defs>\\r\\n          <style>\\r\\n            .cls-logo-spinner {\\r\\n              fill: #342628;\\r\\n            }\\r\\n          </style>\\r\\n        </defs>\\r\\n        <path class=\\\"cls-logo-spinner\\\" d=\\\"M839.12,397.6A25.34,25.34,0,0,1,813.56,372a25.51,25.51,0,1,1,51-.12A25.32,25.32,0,0,1,839.12,397.6Z\\\" transform=\\\"translate(-569.97 -153.6)\\\" />\\r\\n        <path class=\\\"cls-logo-spinner\\\" d=\\\"M654.07,374.28a25.53,25.53,0,1,1-25.73-25.46A25.27,25.27,0,0,1,654.07,374.28Z\\\" transform=\\\"translate(-569.97 -153.6)\\\" />\\r\\n        <path class=\\\"cls-logo-spinner\\\" d=\\\"M801.16,328c-48.68,13.77-97.35,15.07-146,0Z\\\" transform=\\\"translate(-569.97 -153.6)\\\" />\\r\\n        <path class=\\\"cls-logo-spinner\\\" d=\\\"M880.72,247.28c-4.42-11.69-11.88-21.4-21.36-29.44-2.48-2.1-2.58-3-.78-5.64a20.91,20.91,0,0,0-29.15-29c-2.83,2-4.35,1.39-6.73-.2-58.31-39.19-131.48-39.14-189.59.13-2.21,1.5-3.65,2.07-6.29.21a20.94,20.94,0,0,0-29.31,29.08c1.58,2.33,1.76,3.26-.61,5.27a83.45,83.45,0,0,0-23.42,31.22c-6.32,15-4.08,28.71,6.5,41.08a57.43,57.43,0,0,0,13.87,12c20.45,12.4,41.81,21.44,66.59,20.63,22.41-.74,44.86-.16,67.3-.16q39.16,0,78.34,0a20.62,20.62,0,0,0,5.74-.37c21.14-6.32,41.23-14.81,57.39-30.4C882,279.31,887.27,264.65,880.72,247.28ZM658.25,284a21.08,21.08,0,0,1-20.9-21.21,21.34,21.34,0,0,1,21.32-20.9,21,21,0,0,1,20.74,21.32A20.78,20.78,0,0,1,658.25,284Zm139.45,0a21,21,0,0,1-21.26-20.8,21,21,0,1,1,42-.41A20.88,20.88,0,0,1,797.7,284Z\\\" transform=\\\"translate(-569.97 -153.6)\\\" />\\r\\n      </svg>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n  <div class=\\\"error-div\\\" *ngIf=\\\"isError\\\">\\r\\n    <span *ngIf=\\\"isStoreIdFound\\\">Sorry something went wrong, please click  <a [routerLink]=\\\"\\\"  queryParamsHandling=\\\"merge\\\"   (click)=\\\"retry()\\\">here</a> to refresh</span>\\r\\n    <span *ngIf=\\\"!isStoreIdFound\\\">Sorry something went wrong, please close the app and open it again</span>\\r\\n  </div>\\r\\n\\r\\n  <span class=\\\"loading-container\\\" [hidden]=\\\"loading || isError\\\">\\r\\n    <span *ngIf=\\\"!isOpen\\\" title=\\\"You have closed the shutter, open by clicking the button below!\\\" (click)=\\\"openShutter()\\\">\\r\\n      <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 672 562\\\" width=\\\"300\\\">\\r\\n        <defs>\\r\\n          <style>\\r\\n            .cls-closed-1 {\\r\\n              stroke: #000;\\r\\n              stroke-miterlimit: 10;\\r\\n            }\\r\\n\\r\\n            .cls-closed-2 {\\r\\n              fill: #ff2830;\\r\\n            }\\r\\n\\r\\n            .cls-closed-3 {\\r\\n              fill: #fff;\\r\\n            }\\r\\n          </style>\\r\\n        </defs>\\r\\n        <g id=\\\"Layer_2\\\" data-name=\\\"Layer 2\\\">\\r\\n          <g id=\\\"Layer_1-2\\\" data-name=\\\"Layer 1\\\">\\r\\n            <path d=\\\"M648,267V538H24V267H648m24-24H0V562H672V243Z\\\" />\\r\\n            <polygon class=\\\"cls-closed-1\\\" points=\\\"280.5 89.5 169 242.5 202 242.5 298.5 111.5 280.5 89.5\\\" />\\r\\n            <polygon class=\\\"cls-closed-1\\\" points=\\\"389.5 85.5 503.41 242.5 470.41 242.5 371.5 109.5 389.5 85.5\\\" />\\r\\n            <path d=\\\"M336,0c-81.5,1.39-81.49,122.62,0,124C417.5,122.61,417.49,1.38,336,0Zm-1,102c-52.58-.9-52.57-79.11,0-80C387.58,22.9,387.57,101.11,335,102Z\\\" />\\r\\n            <rect class=\\\"cls-closed-2\\\" x=\\\"37\\\" y=\\\"283\\\" width=\\\"588\\\" height=\\\"238\\\" />\\r\\n            <path class=\\\"cls-closed-3\\\" d=\\\"M153.43,460.7c-5.06,2.53-15.17,5.06-28.13,5.06-30,0-52.61-19-52.61-53.88,0-33.34,22.59-55.93,55.62-55.93,13.27,0,21.64,2.84,25.28,4.74l-3.32,11.21a50.22,50.22,0,0,0-21.49-4.42c-25,0-41.56,16-41.56,43.93,0,26.07,15,42.81,40.93,42.81,8.37,0,16.9-1.73,22.43-4.42Z\\\" />\\r\\n            <path class=\\\"cls-closed-3\\\" d=\\\"M171,358h13v95h46v11H171Z\\\" />\\r\\n            <path class=\\\"cls-closed-3\\\" d=\\\"M330.07,409.83c0,36.65-22.28,56.09-49.45,56.09-28.13,0-47.88-21.81-47.88-54,0-33.81,21-55.93,49.46-55.93C311.27,356,330.07,378.22,330.07,409.83Zm-82.64,1.73c0,22.76,12.33,43.14,34,43.14s34.12-20.07,34.12-44.24c0-21.18-11.06-43.3-34-43.3C258.81,367.16,247.43,388.18,247.43,411.56Z\\\" />\\r\\n            <path class=\\\"cls-closed-3\\\" d=\\\"M346,447.43a48.69,48.69,0,0,0,24.64,6.95c14.07,0,22.28-7.42,22.28-18.17,0-9.95-5.69-15.64-20.06-21.17-17.38-6.16-28.13-15.17-28.13-30.18,0-16.59,13.75-28.91,34.45-28.91,10.9,0,18.8,2.52,23.54,5.21L399,372.38a42.39,42.39,0,0,0-20.23-5.06c-14.53,0-20.06,8.69-20.06,16,0,10,6.47,14.85,21.17,20.54,18,6.95,27.18,15.64,27.18,31.29,0,16.43-12.17,30.65-37.29,30.65-10.27,0-21.49-3-27.18-6.8Z\\\" />\\r\\n            <path class=\\\"cls-closed-3\\\" d=\\\"M481,414H440v38h46v12H426V357h57v12H439v34h42Z\\\" />\\r\\n            <path class=\\\"cls-closed-3\\\" d=\\\"M504,359.11a196,196,0,0,1,29.23-2.22c19.75,0,33.81,4.59,43.14,13.28s15,21,15,38.23c0,17.38-5.38,31.6-15.33,41.4S549.66,465.13,529,465.13a221.69,221.69,0,0,1-25-1.27Zm13,94.17a87,87,0,0,0,13.9.79c29.39,0,45.35-16.44,45.35-45.19.16-25.13-14.06-41.08-43.13-41.08A78.15,78.15,0,0,0,517,369.22Z\\\" />\\r\\n          </g>\\r\\n        </g>\\r\\n      </svg>\\r\\n    </span>\\r\\n\\r\\n    <span *ngIf=\\\"isOpen\\\" title=\\\"The shutter is open, close by clicking the button below!\\\" (click)=\\\"closeShutter()\\\">\\r\\n      <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 672 562\\\" width=\\\"300\\\">\\r\\n        <defs>\\r\\n          <style>\\r\\n            .cls-open-1 {\\r\\n              stroke: #000;\\r\\n              stroke-miterlimit: 10;\\r\\n            }\\r\\n\\r\\n            .cls-open-2 {\\r\\n              fill: #1c8000;\\r\\n            }\\r\\n\\r\\n            .cls-open-3 {\\r\\n              fill: #fff;\\r\\n            }\\r\\n          </style>\\r\\n        </defs>\\r\\n        <path d=\\\"M950,385V656H326V385H950m24-24H302V680H974V361Z\\\" transform=\\\"translate(-302 -118)\\\" />\\r\\n        <polygon class=\\\"cls-open-1\\\" points=\\\"280.5 89.5 169 242.5 202 242.5 298.5 111.5 280.5 89.5\\\" />\\r\\n        <polygon class=\\\"cls-open-1\\\" points=\\\"389.5 85.5 503.41 242.5 470.41 242.5 371.5 109.5 389.5 85.5\\\" />\\r\\n        <path d=\\\"M638,118c-81.5,1.39-81.49,122.62,0,124C719.5,240.61,719.49,119.38,638,118Zm-1,102c-52.58-.9-52.57-79.11,0-80C689.58,140.9,689.57,219.11,637,220Z\\\" transform=\\\"translate(-302 -118)\\\" />\\r\\n        <rect class=\\\"cls-open-2\\\" x=\\\"37\\\" y=\\\"283\\\" width=\\\"588\\\" height=\\\"238\\\" />\\r\\n        <path class=\\\"cls-open-3\\\" d=\\\"M526.21,520.08c0,36.66-22.28,56.09-49.46,56.09-28.12,0-47.87-21.8-47.87-54,0-33.81,21-55.93,49.45-55.93C507.41,466.2,526.21,488.48,526.21,520.08Zm-82.64,1.74c0,22.75,12.33,43.13,34,43.13,21.81,0,34.13-20.06,34.13-44.24,0-21.17-11.06-43.29-34-43.29C455,477.42,443.57,498.43,443.57,521.82Z\\\" transform=\\\"translate(-302 -118)\\\" />\\r\\n        <path class=\\\"cls-open-3\\\" d=\\\"M544.06,469.2a160.14,160.14,0,0,1,26.39-2.05c13.59,0,23.54,3.16,29.86,8.85,5.85,5.05,9.32,12.79,9.32,22.28s-2.84,17.22-8.21,22.75c-7.27,7.74-19.12,11.69-32.55,11.69a47.3,47.3,0,0,1-11.06-1v42.66H544.06Zm13.75,51.35a46,46,0,0,0,11.37,1.11c16.59,0,26.71-8.06,26.71-22.75,0-14.07-10-20.86-25.13-20.86a57.1,57.1,0,0,0-13,1.11Z\\\" transform=\\\"translate(-302 -118)\\\" />\\r\\n        <path class=\\\"cls-open-3\\\" d=\\\"M683.26,524.5h-41.4v38.4H688v11.53H628.12V467.94h57.51v11.53H641.86v33.66h41.4Z\\\" transform=\\\"translate(-302 -118)\\\" />\\r\\n        <path class=\\\"cls-open-3\\\" d=\\\"M705.85,574.43V467.94h15L755,521.82a302.08,302.08,0,0,1,19.12,34.6l.31-.16c-1.26-14.22-1.58-27.17-1.58-43.76V467.94h13V574.43H771.9l-33.82-54c-7.42-11.85-14.53-24-19.9-35.56l-.48.16c.79,13.43,1.11,26.23,1.11,43.93v45.5Z\\\" transform=\\\"translate(-302 -118)\\\" />\\r\\n      </svg>\\r\\n    </span>\\r\\n\\r\\n    <div class=\\\"card-container-shutter\\\">\\r\\n      <div class=\\\"card-shutter card-small-shutter\\\" (click)=\\\"selection.value = 'component'\\\" tabindex=\\\"0\\\" (click)=\\\"openShutter()\\\">\\r\\n        <svg height=\\\"24\\\" width=\\\"24\\\" viewBox=\\\"0 0 24 24\\\">\\r\\n          <circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\" stroke=\\\"#1c8000\\\" stroke-width=\\\"3\\\" fill=\\\"#1c8000\\\" />\\r\\n        </svg>\\r\\n        <span>&nbsp;&nbsp;Open Shutter</span>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"card-shutter card-small-shutter\\\" (click)=\\\"selection.value = 'component'\\\" tabindex=\\\"0\\\" (click)=\\\"closeShutter()\\\">\\r\\n        <svg height=\\\"24\\\" width=\\\"24\\\" viewBox=\\\"0 0 24 24\\\">\\r\\n          <circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\" stroke=\\\"#ff2830\\\" stroke-width=\\\"3\\\" fill=\\\"#ff2830\\\" />\\r\\n        </svg>\\r\\n        <span>&nbsp;&nbsp;Close Shutter</span>\\r\\n      </div>\\r\\n    </div>\\r\\n  </span>\\r\\n  <br>\\r\\n\\r\\n  <!-- Settings -->\\r\\n  <h2>Settings</h2>\\r\\n  <p>Configure the shutter to work the way you need it to</p>\\r\\n\\r\\n  <div class=\\\"card-container-shutter\\\">\\r\\n    <a class=\\\"card-shutter\\\" rel=\\\"noopener\\\" routerLink=\\\"../config\\\" queryParamsHandling=\\\"preserve\\\">\\r\\n      <fa-icon class=\\\"home-icon\\\" [icon]=\\\"faCog\\\"></fa-icon>\\r\\n\\r\\n      <span>Configure Shutter</span>\\r\\n\\r\\n      <svg class=\\\"material-icons\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\">\\r\\n        <path d=\\\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\\\" /></svg>\\r\\n    </a>\\r\\n\\r\\n    <a class=\\\"card-shutter\\\" rel=\\\"noopener\\\" routerLink=\\\"../pricing\\\" queryParamsHandling=\\\"preserve\\\">\\r\\n      <fa-icon class=\\\"home-icon\\\" [icon]=\\\"faDollarSign\\\"></fa-icon>\\r\\n\\r\\n      <span>Pricing Plan</span>\\r\\n\\r\\n      <svg class=\\\"material-icons\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\">\\r\\n        <path d=\\\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\\\" /></svg>\\r\\n    </a>\\r\\n\\r\\n    <!-- <a class=\\\"card-shutter\\\"  rel=\\\"noopener\\\" routerLink=\\\"schedule\\\" queryParamsHandling=\\\"preserve\\\">\\r\\n         <svg class=\\\"material-icons\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\"><path d=\\\"M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z\\\"/></svg>\\r\\n   \\r\\n         <span>Schedule Shuttering</span>\\r\\n   \\r\\n         <svg class=\\\"material-icons\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\"><path d=\\\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\\\"/></svg>\\r\\n       </a> -->\\r\\n\\r\\n    <a class=\\\"card-shutter\\\" routerLink=\\\"../faq\\\" queryParamsHandling=\\\"preserve\\\">\\r\\n      <fa-icon class=\\\"home-icon\\\" [icon]=\\\"faQuestionCircle\\\"></fa-icon>\\r\\n      <span>FAQ</span>\\r\\n\\r\\n      <svg class=\\\"material-icons\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\">\\r\\n        <path d=\\\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\\\" /></svg>\\r\\n    </a>\\r\\n\\r\\n  </div>\\r\\n\\r\\n  <!-- Docs -->\\r\\n  <h2>Resources</h2>\\r\\n  <p>Take a look at the user guide to help get you setup!</p>\\r\\n\\r\\n  <input type=\\\"hidden\\\" #selection>\\r\\n\\r\\n  <div class=\\\"card-container-shutter\\\">\\r\\n    <a rel=\\\"noopener\\\" routerLink=\\\"../docs\\\" queryParamsHandling=\\\"preserve\\\">\\r\\n      <div class=\\\"card-shutter card-small-shutter\\\" (click)=\\\"selection.value = 'component'\\\" tabindex=\\\"0\\\">\\r\\n        <svg class=\\\"material-icons\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\">\\r\\n          <path d=\\\"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\\\" /></svg>\\r\\n\\r\\n        <span>Documentation</span>\\r\\n      </div>\\r\\n    </a>\\r\\n\\r\\n    <!-- <a rel=\\\"noopener\\\" routerLink=\\\"videos\\\" queryParamsHandling=\\\"preserve\\\">\\r\\n      <div class=\\\"card-shutter card-small-shutter\\\" (click)=\\\"selection.value = 'material'\\\" tabindex=\\\"0\\\">\\r\\n        <svg class=\\\"material-icons\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\">\\r\\n          <path d=\\\"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\\\" /></svg>\\r\\n\\r\\n        <span>How to videos</span>\\r\\n      </div>\\r\\n    </a> -->\\r\\n\\r\\n    <a rel=\\\"noopener\\\" routerLink=\\\"../support\\\" queryParamsHandling=\\\"preserve\\\">\\r\\n      <div class=\\\"card-shutter card-small-shutter\\\" (click)=\\\"selection.value = 'dependency'\\\" tabindex=\\\"0\\\">\\r\\n        <svg class=\\\"material-icons\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\">\\r\\n          <path d=\\\"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\\\" /></svg>\\r\\n\\r\\n        <span>Get help</span>\\r\\n      </div>\\r\\n    </a>\\r\\n\\r\\n  </div>\\r\\n\\r\\n</div>\"","export default \"<div class=\\\"modal-header\\\">\\r\\n    <h4 class=\\\"modal-title pull-left\\\">{{title}}</h4>\\r\\n    <button type=\\\"button\\\" class=\\\"close pull-right\\\" aria-label=\\\"Close\\\" (click)=\\\"bsModalRef.hide()\\\">\\r\\n        <span aria-hidden=\\\"true\\\">&times;</span>\\r\\n    </button>\\r\\n</div>\\r\\n<div class=\\\"modal-body\\\">\\r\\n{{message}}\\r\\n</div>\\r\\n<div class=\\\"modal-footer\\\">\\r\\n    <button type=\\\"button\\\" class=\\\"btn\\\" (click)=\\\"closeDialoug()\\\">Close</button>\\r\\n</div>\"","export default \"<div class=\\\"content pricing-page\\\" role=\\\"main\\\">\\r\\n\\r\\n    <h2>Pricing</h2>\\r\\n\\r\\n\\r\\n    <div *ngIf=\\\"isLoading\\\">\\r\\n        Loading... <br>\\r\\n        <p></p><br>\\r\\n        <div class=\\\"loading-icon\\\">\\r\\n            <svg id=\\\"tecsploit-logo\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 313.56 246.3\\\" width=\\\"40\\\">\\r\\n                <defs>\\r\\n                    <style>\\r\\n                        .cls-logo-spinner {\\r\\n                            fill: #342628;\\r\\n                        }\\r\\n                    </style>\\r\\n                </defs>\\r\\n                <path class=\\\"cls-logo-spinner\\\" d=\\\"M839.12,397.6A25.34,25.34,0,0,1,813.56,372a25.51,25.51,0,1,1,51-.12A25.32,25.32,0,0,1,839.12,397.6Z\\\" transform=\\\"translate(-569.97 -153.6)\\\" />\\r\\n                <path class=\\\"cls-logo-spinner\\\" d=\\\"M654.07,374.28a25.53,25.53,0,1,1-25.73-25.46A25.27,25.27,0,0,1,654.07,374.28Z\\\" transform=\\\"translate(-569.97 -153.6)\\\" />\\r\\n                <path class=\\\"cls-logo-spinner\\\" d=\\\"M801.16,328c-48.68,13.77-97.35,15.07-146,0Z\\\" transform=\\\"translate(-569.97 -153.6)\\\" />\\r\\n                <path class=\\\"cls-logo-spinner\\\" d=\\\"M880.72,247.28c-4.42-11.69-11.88-21.4-21.36-29.44-2.48-2.1-2.58-3-.78-5.64a20.91,20.91,0,0,0-29.15-29c-2.83,2-4.35,1.39-6.73-.2-58.31-39.19-131.48-39.14-189.59.13-2.21,1.5-3.65,2.07-6.29.21a20.94,20.94,0,0,0-29.31,29.08c1.58,2.33,1.76,3.26-.61,5.27a83.45,83.45,0,0,0-23.42,31.22c-6.32,15-4.08,28.71,6.5,41.08a57.43,57.43,0,0,0,13.87,12c20.45,12.4,41.81,21.44,66.59,20.63,22.41-.74,44.86-.16,67.3-.16q39.16,0,78.34,0a20.62,20.62,0,0,0,5.74-.37c21.14-6.32,41.23-14.81,57.39-30.4C882,279.31,887.27,264.65,880.72,247.28ZM658.25,284a21.08,21.08,0,0,1-20.9-21.21,21.34,21.34,0,0,1,21.32-20.9,21,21,0,0,1,20.74,21.32A20.78,20.78,0,0,1,658.25,284Zm139.45,0a21,21,0,0,1-21.26-20.8,21,21,0,1,1,42-.41A20.88,20.88,0,0,1,797.7,284Z\\\" transform=\\\"translate(-569.97 -153.6)\\\" />\\r\\n            </svg>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div *ngIf=\\\"!isLoading\\\">\\r\\n        <p *ngIf=\\\"!isNotSubscribed\\\">\\r\\n            All plans come with a <i>7 day free trial</i>, and all payments are handled by Shopify. To change your plan please click on an option below\\r\\n        </p>\\r\\n        <div *ngIf=\\\"isNotSubscribed\\\">\\r\\n            <h3>Please choose a plan</h3>\\r\\n            <p>\\r\\n                All plans come with a <i>7 day free trial</i>, and all payments are handled by Shopify. To choose your plan please click on an option below\\r\\n            </p>\\r\\n        </div>\\r\\n\\r\\n\\r\\n        <br />\\r\\n\\r\\n\\r\\n        <div class=\\\"card-container-shutter\\\">\\r\\n\\r\\n            <a *ngIf=\\\"isMonthly\\\" class=\\\"card-pricing card-pricing-chosen\\\" title=\\\"You are already on the monthly plan\\\" rel=\\\"noopener\\\" queryParamsHandling=\\\"preserve\\\" >\\r\\n                <div class=\\\"tile-title\\\">\\r\\n                    <h2>Pay Monthly</h2>\\r\\n                </div>\\r\\n                <div class=\\\"shutter-price-label\\\"><span class=\\\"shutter-price-label-highlight\\\">$4.99</span> per month</div>\\r\\n                <div class=\\\"pt-2\\\">All features, unlimited use</div>\\r\\n                <div class=\\\"current-plan\\\" >**CURRENT PLAN**</div>\\r\\n            </a>\\r\\n\\r\\n            <a *ngIf=\\\"!isMonthly\\\" class=\\\"card-pricing\\\" rel=\\\"noopener\\\" queryParamsHandling=\\\"preserve\\\" (click)=\\\"payMonthly()\\\">\\r\\n                <div class=\\\"tile-title\\\">\\r\\n                    <h2>Pay Monthly</h2>\\r\\n                </div>\\r\\n                <div class=\\\"shutter-price-label\\\"><span class=\\\"shutter-price-label-highlight\\\">$4.99</span> per month</div>\\r\\n                <div class=\\\"pt-2\\\">All features, unlimited use</div>\\r\\n            </a>\\r\\n\\r\\n            <a *ngIf=\\\"isYearly\\\" class=\\\"card-pricing card-pricing-chosen\\\" title=\\\"You are already on the yearly plan\\\" rel=\\\"noopener\\\" queryParamsHandling=\\\"preserve\\\" >\\r\\n                <div class=\\\"tile-title\\\">\\r\\n                    <h2>Pay Yearly</h2>\\r\\n                </div>\\r\\n                <div class=\\\"shutter-price-label\\\"> <span class=\\\"shutter-price-label-highlight\\\">$50</span> per year</div>\\r\\n                <div class=\\\"pt-2 pb-2\\\"> All features, unlimited use, 10% discount!</div>\\r\\n                <div class=\\\"current-plan\\\" >**CURRENT PLAN**</div>\\r\\n            </a>\\r\\n\\r\\n            <a *ngIf=\\\"!isYearly\\\" class=\\\"card-pricing\\\" rel=\\\"noopener\\\" queryParamsHandling=\\\"preserve\\\" (click)=\\\"payYearly()\\\">\\r\\n                <div class=\\\"tile-title\\\">\\r\\n                    <h2>Pay Yearly</h2>\\r\\n                </div>\\r\\n                <div class=\\\"shutter-price-label\\\"> <span class=\\\"shutter-price-label-highlight\\\">$50</span> per year</div>\\r\\n                <div class=\\\"pt-2 pb-2\\\"> All features, unlimited use, 10% discount!</div>\\r\\n            </a>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <br>\\r\\n    <button type=\\\"button\\\" title=\\\"go back\\\" routerLink=\\\"../home\\\" queryParamsHandling=\\\"preserve\\\">Back</button>\\r\\n\\r\\n\\r\\n    <div>\"","export default \"<p>scheduleshutter works!</p>\\r\\n\"","export default \"<div class=\\\"content support-page\\\" role=\\\"main\\\">\\r\\n\\r\\n    <h2>Get Help!</h2>\\r\\n    <br>\\r\\n    <p>\\r\\n        Are you having problems getting Store Shutter to work for you? Please remember to review our <a  routerLink=\\\"../docs\\\" queryParamsHandling=\\\"preserve\\\"> documentation</a>, go over our <a  routerLink=\\\"../faq\\\" queryParamsHandling=\\\"preserve\\\"> FAQ </a>, or even take a look at our <a  href=\\\"https://gitter.im/Shopify-Store-Shutter/community\\\" target=\\\"_blank\\\"> gitter</a> community. \\r\\n    </p>\\r\\n<br/>\\r\\n    <p>\\r\\n        But if your still stuck, please send us a message via <a  href=\\\"https://twitter.com/tecsploit\\\" target=\\\"_blank\\\"> twitter</a> or email <a  href=\\\"mailto:support@tecsploit.com?subject=Store%20Shutter%20Support\\\" target=\\\"_blank\\\">support@tecsploit.com</a> and we will get back to you as fast as we can. \\r\\n    </p>\\r\\n\\r\\n    <br>\\r\\n\\r\\n<button type=\\\"button\\\" title=\\\"go back\\\"  routerLink=\\\"../home\\\" queryParamsHandling=\\\"preserve\\\">Back</button>\\r\\n</div>\\r\\n\\r\\n\"","export default \"<p>videos works!</p>\\r\\n\\r\\n<br>\\r\\n<button type=\\\"button\\\" title=\\\"go back\\\"  routerLink=\\\"/\\\" queryParamsHandling=\\\"preserve\\\">Back</button>\\r\\n\"","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n    for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n};\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n    result.default = mod;\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n    if (!privateMap.has(receiver)) {\r\n        throw new TypeError(\"attempted to get private field on non-instance\");\r\n    }\r\n    return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n    if (!privateMap.has(receiver)) {\r\n        throw new TypeError(\"attempted to set private field on non-instance\");\r\n    }\r\n    privateMap.set(receiver, value);\r\n    return value;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { DocsComponent } from './docs/docs.component';\r\nimport { VideosComponent } from './videos/videos.component';\r\nimport { ConfigshutterComponent } from './configshutter/configshutter.component';\r\nimport { ScheduleshutterComponent } from './scheduleshutter/scheduleshutter.component';\r\nimport { FaqComponent } from './faq/faq.component';\r\nimport { SupportComponent } from './support/support.component';\r\nimport { PricingComponent } from './pricing/pricing.component';\r\nimport { ShopifyFrameResolver } from './services/ShopifyFrameResolver';\r\n\r\n\r\nconst routes: Routes = [  \r\n  {\r\n    path: 'home', component: HomeComponent,  resolve: { inFrame: ShopifyFrameResolver }\r\n  },\r\n  {\r\n    path: 'docs', component: DocsComponent\r\n  },\r\n  {\r\n    path: 'videos', component: VideosComponent\r\n  },\r\n  {\r\n    path: 'config', component: ConfigshutterComponent\r\n  },\r\n  {\r\n    path: 'schedule', component: ScheduleshutterComponent\r\n  },\r\n  {\r\n    path: 'faq', component: FaqComponent\r\n  }\r\n  ,\r\n  {\r\n    path: 'support', component: SupportComponent\r\n  },\r\n  {\r\n    path: 'pricing', component: PricingComponent\r\n  }\r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forRoot(routes, { useHash: true })],\r\n  exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule {\r\n\r\n }\r\n\r\n\r\n\r\n","export default \":host {\\n  font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, Helvetica, Arial, sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\";\\n  font-size: 16px;\\n  color: #333;\\n  box-sizing: border-box;\\n  -webkit-font-smoothing: antialiased;\\n  -moz-osx-font-smoothing: grayscale;\\n}\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n  margin: 8px 0;\\n}\\n\\nh2 {\\n  font-size: 1.5em;\\n  font-weight: bold;\\n  display: block;\\n  color: #333;\\n}\\n\\nh3 {\\n  font-size: 1em;\\n  font-weight: 700;\\n  display: block;\\n  color: #333;\\n}\\n\\np {\\n  margin: 0;\\n}\\n\\n.mt-2 {\\n  margin-top: 100px;\\n}\\n\\n.spacer {\\n  flex: 1;\\n}\\n\\n.toolbar-shutter {\\n  height: 60px;\\n  margin: 0px;\\n  display: flex;\\n  align-items: center;\\n  background-color: #342628;\\n  color: #feaa00;\\n  font-weight: 600;\\n  font-size: 18px;\\n}\\n\\n#tecsploit-logo {\\n  margin: 16px;\\n}\\n\\n.toolbar-shutter img {\\n  margin: 0 16px;\\n}\\n\\n.toolbar-shutter #twitter-logo {\\n  height: 40px;\\n  margin: 0 16px;\\n}\\n\\n.toolbar-shutter #twitter-logo:hover {\\n  opacity: 0.8;\\n}\\n\\n.content {\\n  display: flex;\\n  margin: 32px auto;\\n  padding: 0 16px;\\n  max-width: 960px;\\n  flex-direction: column;\\n  align-items: center;\\n}\\n\\nsvg.material-icons {\\n  height: 24px;\\n  width: auto;\\n}\\n\\nsvg.material-icons:not(:last-child) {\\n  margin-right: 8px;\\n}\\n\\n.card-shutter svg.material-icons path {\\n  fill: #888;\\n}\\n\\n.card-container-shutter {\\n  display: flex;\\n  flex-wrap: wrap;\\n  justify-content: center;\\n  margin-top: 16px;\\n}\\n\\n.card-shutter {\\n  border-radius: 4px;\\n  border: 1px solid #eee;\\n  background-color: #fafafa;\\n  height: 75px;\\n  width: 235px;\\n  margin: 20px 8px 16px;\\n  padding: 16px;\\n  display: flex;\\n  flex-direction: row;\\n  justify-content: center;\\n  align-items: center;\\n  transition: all 0.2s ease-in-out;\\n  line-height: 24px;\\n}\\n\\n.card-container-shutter .card-shutter:not(:last-child) {\\n  margin-right: 0;\\n}\\n\\n.card-shutter.card-small-shutter {\\n  height: 16px;\\n  width: 200px;\\n}\\n\\n.card-container-shutter .card-shutter:not(.highlight-card) {\\n  cursor: pointer;\\n}\\n\\n.card-container-shutter .card-shutter:not(.highlight-card):hover {\\n  transform: translateY(-3px);\\n  box-shadow: 0 4px 17px rgba(0, 0, 0, 0.35);\\n}\\n\\n.card-container-shutter .card-shutter:not(.highlight-card):hover .material-icons path {\\n  fill: #696767;\\n}\\n\\n.card-shutter.highlight-card {\\n  background-color: #1976d2;\\n  color: white;\\n  font-weight: 600;\\n  border: none;\\n  width: auto;\\n  min-width: 30%;\\n  position: relative;\\n  margin-top: 50px;\\n}\\n\\n.card-shutter.card-shutter.highlight-card span {\\n  margin-left: 60px;\\n}\\n\\na,\\na:visited,\\na:hover {\\n  color: #1976d2;\\n  text-decoration: none;\\n}\\n\\na:hover {\\n  color: #125699;\\n}\\n\\n.circle-link {\\n  height: 40px;\\n  width: 40px;\\n  border-radius: 40px;\\n  margin: 8px;\\n  background-color: white;\\n  border: 1px solid #eeeeee;\\n  display: flex;\\n  justify-content: center;\\n  align-items: center;\\n  cursor: pointer;\\n  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);\\n  transition: 1s ease-out;\\n}\\n\\n.circle-link:hover {\\n  transform: translateY(-0.25rem);\\n  box-shadow: 0px 3px 15px rgba(0, 0, 0, 0.2);\\n}\\n\\nfooter {\\n  margin-top: 8px;\\n  display: flex;\\n  flex-wrap: wrap;\\n  align-items: center;\\n  flex-direction: column;\\n  line-height: 20px;\\n}\\n\\nsvg#shop {\\n  position: fixed;\\n  bottom: 0px;\\n  left: -130px;\\n  z-index: -10;\\n  width: 1920px;\\n  opacity: 26%;\\n}\\n\\n/* Responsive Styles */\\n\\n@media screen and (max-width: 767px) {\\n  .card-container > *:not(.circle-link) {\\n    width: 100%;\\n  }\\n\\n  .card:not(.highlight-card) {\\n    height: 16px;\\n    margin: 8px 0;\\n  }\\n\\n  .card.highlight-card span {\\n    margin-left: 72px;\\n  }\\n\\n  .card-shutter.card-small-shutter {\\n    width: 100%;\\n  }\\n}\\n\\n@media screen and (max-width: 575px) {\\n  svg#rocket-smoke {\\n    display: none;\\n    visibility: hidden;\\n  }\\n}\\n\\nbutton {\\n  background-color: #342628;\\n  border: 1px solid black;\\n  color: #feaa00;\\n  padding: 10px;\\n  border-radius: 5px;\\n  min-width: 70px;\\n}\\n\\nbutton:hover {\\n  border: 1px solid #feaa00;\\n}\\n\\ninput {\\n  padding: 8px;\\n  border-radius: 5px;\\n  border: 2px solid black;\\n}\\n\\n.error-indicator {\\n  color: red;\\n}\\n\\n.shutter-question {\\n  border: 1px solid #342628;\\n  border-radius: 10px;\\n  padding: 5px;\\n  background-color: #feaa00;\\n}\\n\\n.shutter-question:hover {\\n  background-color: gray;\\n  cursor: pointer;\\n}\\n\\n.loading-icon {\\n  color: red;\\n  border: 16px solid #f3f3f3;\\n  /* Light grey */\\n  border-top: 16px solid #3498db;\\n  /* Blue */\\n  border-radius: 50%;\\n  width: 120px;\\n  height: 120px;\\n  -webkit-animation: spin 2s linear infinite;\\n          animation: spin 2s linear infinite;\\n}\\n\\n@-webkit-keyframes spin {\\n  0% {\\n    transform: rotate(0deg);\\n  }\\n  100% {\\n    transform: rotate(360deg);\\n  }\\n}\\n\\n@keyframes spin {\\n  0% {\\n    transform: rotate(0deg);\\n  }\\n  100% {\\n    transform: rotate(360deg);\\n  }\\n}\\n\\n.shutter-home-link {\\n  color: #feaa00 !important;\\n  display: flex;\\n  align-items: center;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvRDpcXGFcXDFcXHMvc3JjXFxzdHlsZXMuc2NzcyIsInNyYy9hcHAvYXBwLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9EOlxcYVxcMVxccy9zcmNcXGFwcFxcYXBwLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksMEpBQUE7RUFDQSxlQUFBO0VBQ0EsV0FBQTtFQUNBLHNCQUFBO0VBQ0EsbUNBQUE7RUFDQSxrQ0FBQTtBQ0NKOztBRE1FOzs7Ozs7RUFNRSxhQUFBO0FDSEo7O0FETUU7RUFDRSxnQkFBQTtFQUNBLGlCQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7QUNISjs7QURNRTtFQUNFLGNBQUE7RUFDQSxnQkFBQTtFQUNBLGNBQUE7RUFDQSxXQUFBO0FDSEo7O0FETUU7RUFDRSxTQUFBO0FDSEo7O0FETUU7RUFDSSxpQkFBQTtBQ0hOOztBRE1FO0VBQ0UsT0FBQTtBQ0hKOztBRE1FO0VBQ0UsWUFBQTtFQUNBLFdBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSx5QkEzQ2M7RUE0Q2QsY0E3Q1E7RUE4Q1IsZ0JBQUE7RUFDQSxlQUFBO0FDSEo7O0FETUU7RUFDRSxZQUFBO0FDSEo7O0FETUU7RUFDRSxjQUFBO0FDSEo7O0FETUU7RUFDRSxZQUFBO0VBQ0EsY0FBQTtBQ0hKOztBRE1FO0VBQ0UsWUFBQTtBQ0hKOztBRE1FO0VBQ0UsYUFBQTtFQUNBLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBQTtBQ0hKOztBRE1FO0VBQ0UsWUFBQTtFQUNBLFdBQUE7QUNISjs7QURNRTtFQUNFLGlCQUFBO0FDSEo7O0FETUU7RUFDRSxVQUFBO0FDSEo7O0FETUU7RUFDRSxhQUFBO0VBQ0EsZUFBQTtFQUNBLHVCQUFBO0VBQ0EsZ0JBQUE7QUNISjs7QURNRTtFQUNFLGtCQUFBO0VBQ0Esc0JBQUE7RUFDQSx5QkFBQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0VBQ0EscUJBQUE7RUFDQSxhQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7RUFDQSxtQkFBQTtFQUNBLGdDQUFBO0VBQ0EsaUJBQUE7QUNISjs7QURRRTtFQUNFLGVBQUE7QUNMSjs7QURRRTtFQUNFLFlBQUE7RUFDQSxZQUFBO0FDTEo7O0FEUUU7RUFDRSxlQUFBO0FDTEo7O0FEUUU7RUFDRSwyQkFBQTtFQUNBLDBDQUFBO0FDTEo7O0FEUUU7RUFDRSxhQUFBO0FDTEo7O0FEUUU7RUFDRSx5QkFBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7QUNMSjs7QURRRTtFQUNFLGlCQUFBO0FDTEo7O0FEU0U7OztFQUdFLGNBQUE7RUFDQSxxQkFBQTtBQ05KOztBRFNFO0VBQ0UsY0FBQTtBQ05KOztBRFNFO0VBQ0UsWUFBQTtFQUNBLFdBQUE7RUFDQSxtQkFBQTtFQUNBLFdBQUE7RUFDQSx1QkFBQTtFQUNBLHlCQUFBO0VBQ0EsYUFBQTtFQUNBLHVCQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0VBQ0Esd0VBQUE7RUFDQSx1QkFBQTtBQ05KOztBRFNFO0VBQ0UsK0JBQUE7RUFDQSwyQ0FBQTtBQ05KOztBRFNFO0VBQ0UsZUFBQTtFQUNBLGFBQUE7RUFDQSxlQUFBO0VBQ0EsbUJBQUE7RUFDQSxzQkFBQTtFQUNBLGlCQUFBO0FDTko7O0FEVUU7RUFDRSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0VBQ0EsYUFBQTtFQUNBLFlBQUE7QUNQSjs7QURXRSxzQkFBQTs7QUFDQTtFQUVFO0lBQ0UsV0FBQTtFQ1RKOztFRFlFO0lBQ0UsWUFBQTtJQUNBLGFBQUE7RUNUSjs7RURZRTtJQUNFLGlCQUFBO0VDVEo7O0VEWUU7SUFDRSxXQUFBO0VDVEo7QUFDRjs7QURhRTtFQUNFO0lBQ0UsYUFBQTtJQUNBLGtCQUFBO0VDWEo7QUFDRjs7QURjRTtFQUNFLHlCQXhPYztFQXlPZCx1QkFBQTtFQUNBLGNBM09RO0VBNE9SLGFBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7QUNaSjs7QURlQTtFQUNJLHlCQUFBO0FDWko7O0FEZUE7RUFDSSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSx1QkFBQTtBQ1pKOztBRGVBO0VBQ0UsVUFBQTtBQ1pGOztBRGVBO0VBQ0UseUJBQUE7RUFDQSxtQkFBQTtFQUNBLFlBQUE7RUFDQSx5QkFuUVU7QUN1UFo7O0FEZUE7RUFDRSxzQkFyUXdCO0VBc1F4QixlQUFBO0FDWkY7O0FEZUE7RUFDRSxVQUFBO0VBQ0EsMEJBQUE7RUFBNEIsZUFBQTtFQUM1Qiw4QkFBQTtFQUFnQyxTQUFBO0VBQ2hDLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7RUFDQSwwQ0FBQTtVQUFBLGtDQUFBO0FDVkY7O0FEZUE7RUFDRTtJQUFLLHVCQUFBO0VDWEw7RURZQTtJQUFPLHlCQUFBO0VDVFA7QUFDRjs7QURNQTtFQUNFO0lBQUssdUJBQUE7RUNYTDtFRFlBO0lBQU8seUJBQUE7RUNUUDtBQUNGOztBQ3hSQTtFQUNJLHlCQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0FEMFJKIiwiZmlsZSI6InNyYy9hcHAvYXBwLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xyXG4gICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgY29sb3I6ICMzMzM7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gIH1cclxuICBcclxuICRoaWdobGlnaHQ6I2ZlYWEwMDtcclxuICRiYWNrZ3JvdW5kLWRhcms6IzM0MjYyODtcclxuICRidXR0b24taG92ZXItYmFja2dyb3VuZDpncmF5O1xyXG5cclxuICBoMSxcclxuICBoMixcclxuICBoMyxcclxuICBoNCxcclxuICBoNSxcclxuICBoNiB7XHJcbiAgICBtYXJnaW46IDhweCAwO1xyXG4gIH1cclxuXHJcbiAgaDJ7XHJcbiAgICBmb250LXNpemU6IDEuNWVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGNvbG9yOiAjMzMzO1xyXG4gIH1cclxuXHJcbiAgaDN7XHJcbiAgICBmb250LXNpemU6IDFlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGNvbG9yOiAjMzMzO1xyXG4gIH1cclxuICBcclxuICBwIHtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcbiAgXHJcbiAgLm10LTJ7XHJcbiAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xyXG4gIH1cclxuICBcclxuICAuc3BhY2VyIHtcclxuICAgIGZsZXg6IDE7XHJcbiAgfVxyXG4gIFxyXG4gIC50b29sYmFyLXNodXR0ZXIge1xyXG4gICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgbWFyZ2luOiAwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWRhcms7XHJcbiAgICBjb2xvcjogICRoaWdobGlnaHQ7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gIH1cclxuICBcclxuICAjdGVjc3Bsb2l0LWxvZ297XHJcbiAgICBtYXJnaW46MTZweDtcclxuICB9XHJcbiAgXHJcbiAgLnRvb2xiYXItc2h1dHRlciBpbWcge1xyXG4gICAgbWFyZ2luOiAwIDE2cHg7XHJcbiAgfVxyXG4gIFxyXG4gIC50b29sYmFyLXNodXR0ZXIgI3R3aXR0ZXItbG9nbyB7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICBtYXJnaW46IDAgMTZweDtcclxuICB9XHJcbiAgXHJcbiAgLnRvb2xiYXItc2h1dHRlciAjdHdpdHRlci1sb2dvOmhvdmVyIHtcclxuICAgIG9wYWNpdHk6IDAuODtcclxuICB9XHJcbiAgXHJcbiAgLmNvbnRlbnQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbjogMzJweCBhdXRvO1xyXG4gICAgcGFkZGluZzogMCAxNnB4O1xyXG4gICAgbWF4LXdpZHRoOiA5NjBweDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIH1cclxuICBcclxuICBzdmcubWF0ZXJpYWwtaWNvbnMge1xyXG4gICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgfVxyXG4gIFxyXG4gIHN2Zy5tYXRlcmlhbC1pY29uczpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgIG1hcmdpbi1yaWdodDogOHB4O1xyXG4gIH1cclxuICBcclxuICAuY2FyZC1zaHV0dGVyIHN2Zy5tYXRlcmlhbC1pY29ucyBwYXRoIHtcclxuICAgIGZpbGw6ICM4ODg7XHJcbiAgfVxyXG4gIFxyXG4gIC5jYXJkLWNvbnRhaW5lci1zaHV0dGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5jYXJkLXNodXR0ZXIge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XHJcbiAgICBoZWlnaHQ6IDc1cHg7XHJcbiAgICB3aWR0aDogMjM1cHg7XHJcbiAgICBtYXJnaW46IDIwcHggOHB4IDE2cHg7XHJcbiAgICBwYWRkaW5nOiAxNnB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gIH1cclxuXHJcblxyXG4gIFxyXG4gIC5jYXJkLWNvbnRhaW5lci1zaHV0dGVyIC5jYXJkLXNodXR0ZXI6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgfVxyXG4gIFxyXG4gIC5jYXJkLXNodXR0ZXIuY2FyZC1zbWFsbC1zaHV0dGVyIHtcclxuICAgIGhlaWdodDogMTZweDtcclxuICAgIHdpZHRoOiAyMDBweDtcclxuICB9XHJcbiAgXHJcbiAgLmNhcmQtY29udGFpbmVyLXNodXR0ZXIgLmNhcmQtc2h1dHRlcjpub3QoLmhpZ2hsaWdodC1jYXJkKSB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG4gIFxyXG4gIC5jYXJkLWNvbnRhaW5lci1zaHV0dGVyIC5jYXJkLXNodXR0ZXI6bm90KC5oaWdobGlnaHQtY2FyZCk6aG92ZXIge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpO1xyXG4gICAgYm94LXNoYWRvdzogMCA0cHggMTdweCByZ2JhKGJsYWNrLCAwLjM1KTtcclxuICB9XHJcbiAgXHJcbiAgLmNhcmQtY29udGFpbmVyLXNodXR0ZXIgLmNhcmQtc2h1dHRlcjpub3QoLmhpZ2hsaWdodC1jYXJkKTpob3ZlciAubWF0ZXJpYWwtaWNvbnMgcGF0aCB7XHJcbiAgICBmaWxsOiByZ2IoMTA1LCAxMDMsIDEwMyk7XHJcbiAgfVxyXG4gIFxyXG4gIC5jYXJkLXNodXR0ZXIuaGlnaGxpZ2h0LWNhcmQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE5NzZkMjtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIG1pbi13aWR0aDogMzAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLXRvcDo1MHB4O1xyXG4gIH1cclxuICBcclxuICAuY2FyZC1zaHV0dGVyLmNhcmQtc2h1dHRlci5oaWdobGlnaHQtY2FyZCBzcGFuIHtcclxuICAgIG1hcmdpbi1sZWZ0OiA2MHB4O1xyXG4gIH1cclxuICBcclxuICBcclxuICBhLFxyXG4gIGE6dmlzaXRlZCxcclxuICBhOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjMTk3NmQyO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxuICBcclxuICBhOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjMTI1Njk5O1xyXG4gIH1cclxuICBcclxuICAuY2lyY2xlLWxpbmsge1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgd2lkdGg6IDQwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xyXG4gICAgbWFyZ2luOiA4cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMjQpO1xyXG4gICAgdHJhbnNpdGlvbjogMXMgZWFzZS1vdXQ7XHJcbiAgfVxyXG4gIFxyXG4gIC5jaXJjbGUtbGluazpob3ZlciB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuMjVyZW0pO1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDNweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICB9XHJcbiAgXHJcbiAgZm9vdGVyIHtcclxuICAgIG1hcmdpbi10b3A6IDhweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gIH1cclxuICBcclxuICBcclxuICBzdmcjc2hvcCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBib3R0b206IDBweDtcclxuICAgIGxlZnQ6IC0xMzBweDtcclxuICAgIHotaW5kZXg6IC0xMDtcclxuICAgIHdpZHRoOiAxOTIwcHg7XHJcbiAgICBvcGFjaXR5OiAyNiU7XHJcbiAgfVxyXG4gIFxyXG4gIFxyXG4gIC8qIFJlc3BvbnNpdmUgU3R5bGVzICovXHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICBcclxuICAgIC5jYXJkLWNvbnRhaW5lciA+ICo6bm90KC5jaXJjbGUtbGluaykge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICBcclxuICAgIC5jYXJkOm5vdCguaGlnaGxpZ2h0LWNhcmQpIHtcclxuICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICBtYXJnaW46IDhweCAwO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgLmNhcmQuaGlnaGxpZ2h0LWNhcmQgc3BhbiB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiA3MnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5jYXJkLXNodXR0ZXIuY2FyZC1zbWFsbC1zaHV0dGVyIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgXHJcbiAgfVxyXG4gIFxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XHJcbiAgICBzdmcjcm9ja2V0LXNtb2tlIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYnV0dG9ue1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtZGFyaztcclxuICAgIGJvcmRlcjoxcHggc29saWQgYmxhY2s7XHJcbiAgICBjb2xvcjogICRoaWdobGlnaHQ7XHJcbiAgICBwYWRkaW5nOjEwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBtaW4td2lkdGg6IDcwcHg7XHJcbn1cclxuXHJcbmJ1dHRvbjpob3ZlcntcclxuICAgIGJvcmRlcjoxcHggc29saWQgI2ZlYWEwMDtcclxufVxyXG5cclxuaW5wdXR7XHJcbiAgICBwYWRkaW5nOjhweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIGJvcmRlcjoycHggc29saWQgYmxhY2s7XHJcbn1cclxuXHJcbi5lcnJvci1pbmRpY2F0b3J7XHJcbiAgY29sb3I6cmVkO1xyXG59XHJcblxyXG4uc2h1dHRlci1xdWVzdGlvbntcclxuICBib3JkZXI6IDFweCBzb2xpZCAkYmFja2dyb3VuZC1kYXJrO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgcGFkZGluZzo1cHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogICRoaWdobGlnaHQ7XHJcbn1cclxuXHJcbi5zaHV0dGVyLXF1ZXN0aW9uOmhvdmVye1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24taG92ZXItYmFja2dyb3VuZDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5sb2FkaW5nLWljb257XHJcbiAgY29sb3I6cmVkO1xyXG4gIGJvcmRlcjogMTZweCBzb2xpZCAjZjNmM2YzOyAvKiBMaWdodCBncmV5ICovXHJcbiAgYm9yZGVyLXRvcDogMTZweCBzb2xpZCAjMzQ5OGRiOyAvKiBCbHVlICovXHJcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gIHdpZHRoOiAxMjBweDtcclxuICBoZWlnaHQ6IDEyMHB4O1xyXG4gIGFuaW1hdGlvbjogc3BpbiAycyBsaW5lYXIgaW5maW5pdGU7IFxyXG59XHJcblxyXG5cclxuXHJcbkBrZXlmcmFtZXMgc3BpbiB7XHJcbiAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG4gIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XHJcbn0iLCI6aG9zdCB7XG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogIzMzMztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIG1hcmdpbjogOHB4IDA7XG59XG5cbmgyIHtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzMzMztcbn1cblxuaDMge1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG5wIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4ubXQtMiB7XG4gIG1hcmdpbi10b3A6IDEwMHB4O1xufVxuXG4uc3BhY2VyIHtcbiAgZmxleDogMTtcbn1cblxuLnRvb2xiYXItc2h1dHRlciB7XG4gIGhlaWdodDogNjBweDtcbiAgbWFyZ2luOiAwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDI2Mjg7XG4gIGNvbG9yOiAjZmVhYTAwO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbiN0ZWNzcGxvaXQtbG9nbyB7XG4gIG1hcmdpbjogMTZweDtcbn1cblxuLnRvb2xiYXItc2h1dHRlciBpbWcge1xuICBtYXJnaW46IDAgMTZweDtcbn1cblxuLnRvb2xiYXItc2h1dHRlciAjdHdpdHRlci1sb2dvIHtcbiAgaGVpZ2h0OiA0MHB4O1xuICBtYXJnaW46IDAgMTZweDtcbn1cblxuLnRvb2xiYXItc2h1dHRlciAjdHdpdHRlci1sb2dvOmhvdmVyIHtcbiAgb3BhY2l0eTogMC44O1xufVxuXG4uY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMzJweCBhdXRvO1xuICBwYWRkaW5nOiAwIDE2cHg7XG4gIG1heC13aWR0aDogOTYwcHg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbnN2Zy5tYXRlcmlhbC1pY29ucyB7XG4gIGhlaWdodDogMjRweDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbnN2Zy5tYXRlcmlhbC1pY29uczpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5jYXJkLXNodXR0ZXIgc3ZnLm1hdGVyaWFsLWljb25zIHBhdGgge1xuICBmaWxsOiAjODg4O1xufVxuXG4uY2FyZC1jb250YWluZXItc2h1dHRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG59XG5cbi5jYXJkLXNodXR0ZXIge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gIGhlaWdodDogNzVweDtcbiAgd2lkdGg6IDIzNXB4O1xuICBtYXJnaW46IDIwcHggOHB4IDE2cHg7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG59XG5cbi5jYXJkLWNvbnRhaW5lci1zaHV0dGVyIC5jYXJkLXNodXR0ZXI6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLmNhcmQtc2h1dHRlci5jYXJkLXNtYWxsLXNodXR0ZXIge1xuICBoZWlnaHQ6IDE2cHg7XG4gIHdpZHRoOiAyMDBweDtcbn1cblxuLmNhcmQtY29udGFpbmVyLXNodXR0ZXIgLmNhcmQtc2h1dHRlcjpub3QoLmhpZ2hsaWdodC1jYXJkKSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNhcmQtY29udGFpbmVyLXNodXR0ZXIgLmNhcmQtc2h1dHRlcjpub3QoLmhpZ2hsaWdodC1jYXJkKTpob3ZlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTtcbiAgYm94LXNoYWRvdzogMCA0cHggMTdweCByZ2JhKDAsIDAsIDAsIDAuMzUpO1xufVxuXG4uY2FyZC1jb250YWluZXItc2h1dHRlciAuY2FyZC1zaHV0dGVyOm5vdCguaGlnaGxpZ2h0LWNhcmQpOmhvdmVyIC5tYXRlcmlhbC1pY29ucyBwYXRoIHtcbiAgZmlsbDogIzY5Njc2Nztcbn1cblxuLmNhcmQtc2h1dHRlci5oaWdobGlnaHQtY2FyZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxOTc2ZDI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYm9yZGVyOiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgbWluLXdpZHRoOiAzMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogNTBweDtcbn1cblxuLmNhcmQtc2h1dHRlci5jYXJkLXNodXR0ZXIuaGlnaGxpZ2h0LWNhcmQgc3BhbiB7XG4gIG1hcmdpbi1sZWZ0OiA2MHB4O1xufVxuXG5hLFxuYTp2aXNpdGVkLFxuYTpob3ZlciB7XG4gIGNvbG9yOiAjMTk3NmQyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmE6aG92ZXIge1xuICBjb2xvcjogIzEyNTY5OTtcbn1cblxuLmNpcmNsZS1saW5rIHtcbiAgaGVpZ2h0OiA0MHB4O1xuICB3aWR0aDogNDBweDtcbiAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgbWFyZ2luOiA4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yNCk7XG4gIHRyYW5zaXRpb246IDFzIGVhc2Utb3V0O1xufVxuXG4uY2lyY2xlLWxpbms6aG92ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuMjVyZW0pO1xuICBib3gtc2hhZG93OiAwcHggM3B4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG5mb290ZXIge1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG5cbnN2ZyNzaG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDBweDtcbiAgbGVmdDogLTEzMHB4O1xuICB6LWluZGV4OiAtMTA7XG4gIHdpZHRoOiAxOTIwcHg7XG4gIG9wYWNpdHk6IDI2JTtcbn1cblxuLyogUmVzcG9uc2l2ZSBTdHlsZXMgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5jYXJkLWNvbnRhaW5lciA+ICo6bm90KC5jaXJjbGUtbGluaykge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmNhcmQ6bm90KC5oaWdobGlnaHQtY2FyZCkge1xuICAgIGhlaWdodDogMTZweDtcbiAgICBtYXJnaW46IDhweCAwO1xuICB9XG5cbiAgLmNhcmQuaGlnaGxpZ2h0LWNhcmQgc3BhbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDcycHg7XG4gIH1cblxuICAuY2FyZC1zaHV0dGVyLmNhcmQtc21hbGwtc2h1dHRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gIHN2ZyNyb2NrZXQtc21va2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQyNjI4O1xuICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcbiAgY29sb3I6ICNmZWFhMDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgbWluLXdpZHRoOiA3MHB4O1xufVxuXG5idXR0b246aG92ZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmVhYTAwO1xufVxuXG5pbnB1dCB7XG4gIHBhZGRpbmc6IDhweDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3JkZXI6IDJweCBzb2xpZCBibGFjaztcbn1cblxuLmVycm9yLWluZGljYXRvciB7XG4gIGNvbG9yOiByZWQ7XG59XG5cbi5zaHV0dGVyLXF1ZXN0aW9uIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzM0MjYyODtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgcGFkZGluZzogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVhYTAwO1xufVxuXG4uc2h1dHRlci1xdWVzdGlvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGdyYXk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmxvYWRpbmctaWNvbiB7XG4gIGNvbG9yOiByZWQ7XG4gIGJvcmRlcjogMTZweCBzb2xpZCAjZjNmM2YzO1xuICAvKiBMaWdodCBncmV5ICovXG4gIGJvcmRlci10b3A6IDE2cHggc29saWQgIzM0OThkYjtcbiAgLyogQmx1ZSAqL1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHdpZHRoOiAxMjBweDtcbiAgaGVpZ2h0OiAxMjBweDtcbiAgYW5pbWF0aW9uOiBzcGluIDJzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBzcGluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbi5zaHV0dGVyLWhvbWUtbGluayB7XG4gIGNvbG9yOiAjZmVhYTAwICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59IiwiQGltcG9ydCBcIi4uL3N0eWxlc1wiO1xyXG5cclxuLnNodXR0ZXItaG9tZS1saW5re1xyXG4gICAgY29sb3I6JGhpZ2hsaWdodCAhaW1wb3J0YW50O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcclxufSJdfQ== */\"","import { Component } from '@angular/core';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\n\r\n@Component({\r\n  selector: 'app-root',\r\n  templateUrl: './app.component.html',\r\n  styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent {\r\n  constructor(private router: Router) { }\r\n\r\n  ngOnInit() {\r\n      this.router.events.subscribe((evt) => {\r\n          if (!(evt instanceof NavigationEnd)) {\r\n              return;\r\n          }\r\n          window.scrollTo(0, 0)\r\n      });\r\n  }\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { HttpClientModule } from '@angular/common/http';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError, retry } from 'rxjs/operators';\r\nimport { StoreShutterService } from './services/StoreShutterService';\r\nimport { ConfigshutterComponent } from './configshutter/configshutter.component';\r\nimport { ScheduleshutterComponent } from './scheduleshutter/scheduleshutter.component';\r\nimport { DocsComponent } from './docs/docs.component';\r\nimport { VideosComponent } from './videos/videos.component';\r\nimport { FaqComponent } from './faq/faq.component';\r\nimport { SupportComponent } from './support/support.component';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { ColorPickerModule } from 'ngx-color-picker';\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { ConfirmModelComponent } from './confirm-model/confirm-model.component';\r\nimport { InfoModelComponent } from './info-model/info-model.component';\r\nimport { PricingComponent } from './pricing/pricing.component';\r\nimport { ShopifyFrameResolver } from './services/ShopifyFrameResolver';\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    AppComponent,\r\n    HomeComponent,\r\n    ConfigshutterComponent,\r\n    ScheduleshutterComponent,\r\n    DocsComponent,\r\n    VideosComponent,\r\n    FaqComponent,\r\n    SupportComponent,\r\n    ConfirmModelComponent,\r\n    InfoModelComponent,\r\n    PricingComponent\r\n  ],\r\n  imports: [\r\n    BrowserModule,\r\n    HttpClientModule,\r\n    AppRoutingModule,\r\n    ReactiveFormsModule,\r\n    FontAwesomeModule,\r\n    ColorPickerModule,\r\n    ModalModule.forRoot()\r\n  ],\r\n  providers: [StoreShutterService, ShopifyFrameResolver],\r\n  bootstrap: [AppComponent],\r\n  entryComponents:[ConfirmModelComponent,InfoModelComponent]\r\n})\r\nexport class AppModule { }\r\n","export default \".content {\\n  display: flex;\\n  margin: 32px auto;\\n  padding: 0 16px;\\n  max-width: 960px;\\n  flex-direction: column;\\n  align-items: center;\\n  text-align: center;\\n}\\n\\n.shutter-pages-list {\\n  border: 1px solid #342628;\\n  padding: 10px;\\n  display: flex;\\n  flex-direction: row;\\n  flex-wrap: wrap;\\n}\\n\\n.shutter-lsit-item {\\n  background-color: #feaa00;\\n  padding: 10px;\\n  margin: 5px;\\n  border-radius: 5px;\\n}\\n\\n.shutter-lsit-item:hover {\\n  background-color: gray;\\n  cursor: pointer;\\n}\\n\\n.dropDown {\\n  padding: 5px;\\n}\\n\\n.color-picker {\\n  position: relative;\\n  border: none;\\n  border-radius: 5px;\\n  height: 40px;\\n  width: 130px;\\n  cursor: pointer;\\n}\\n\\n.color-picker-container {\\n  display: flex;\\n  align-items: center;\\n  justify-content: center;\\n  width: 100%;\\n}\\n\\n.hide-form {\\n  visibility: hidden;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29uZmlnc2h1dHRlci9EOlxcYVxcMVxccy9zcmNcXGFwcFxcY29uZmlnc2h1dHRlclxcY29uZmlnc2h1dHRlci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvY29uZmlnc2h1dHRlci9jb25maWdzaHV0dGVyLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksYUFBQTtFQUNBLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0FDQ0o7O0FERUE7RUFDSSx5QkFBQTtFQUNBLGFBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0FDQ0o7O0FERUE7RUFDSSx5QkFBQTtFQUNBLGFBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7QUNDSjs7QURFQTtFQUNJLHNCQUFBO0VBQ0EsZUFBQTtBQ0NKOztBREVBO0VBQ0ksWUFBQTtBQ0NKOztBREVBO0VBQ0ksa0JBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtFQUVBLGVBQUE7QUNBSjs7QURHQTtFQUNJLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0EsV0FBQTtBQ0FKOztBREdBO0VBQ0ksa0JBQUE7QUNBSiIsImZpbGUiOiJzcmMvYXBwL2NvbmZpZ3NodXR0ZXIvY29uZmlnc2h1dHRlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jb250ZW50IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW46IDMycHggYXV0bztcclxuICAgIHBhZGRpbmc6IDAgMTZweDtcclxuICAgIG1heC13aWR0aDogOTYwcHg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcblxyXG4uc2h1dHRlci1wYWdlcy1saXN0e1xyXG4gICAgYm9yZGVyOjFweCBzb2xpZCAjMzQyNjI4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcblxyXG4uc2h1dHRlci1sc2l0LWl0ZW17XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVhYTAwO1xyXG4gICAgcGFkZGluZzoxMHB4O1xyXG4gICAgbWFyZ2luOjVweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxufVxyXG5cclxuLnNodXR0ZXItbHNpdC1pdGVtOmhvdmVye1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ3JheTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmRyb3BEb3due1xyXG4gICAgcGFkZGluZzo1cHg7XHJcbn1cclxuXHJcbi5jb2xvci1waWNrZXJ7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgIGJvcmRlcjpub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgd2lkdGg6IDEzMHB4O1xyXG5cclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmNvbG9yLXBpY2tlci1jb250YWluZXJ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5oaWRlLWZvcm17XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcblxyXG5cclxuIiwiLmNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDMycHggYXV0bztcbiAgcGFkZGluZzogMCAxNnB4O1xuICBtYXgtd2lkdGg6IDk2MHB4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zaHV0dGVyLXBhZ2VzLWxpc3Qge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMzQyNjI4O1xuICBwYWRkaW5nOiAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5zaHV0dGVyLWxzaXQtaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWFhMDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIG1hcmdpbjogNXB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbi5zaHV0dGVyLWxzaXQtaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGdyYXk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmRyb3BEb3duIHtcbiAgcGFkZGluZzogNXB4O1xufVxuXG4uY29sb3ItcGlja2VyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICB3aWR0aDogMTMwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNvbG9yLXBpY2tlci1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5oaWRlLWZvcm0ge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59Il19 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { StoreShutterService } from '../services/StoreShutterService';\r\nimport { FormBuilder, Validators } from \"@angular/forms\";\r\nimport { faCoffee, faTimes, faQuestion } from '@fortawesome/free-solid-svg-icons';\r\nimport { BsModalService, BsModalRef, ModalOptions } from 'ngx-bootstrap/modal';\r\nimport { ConfirmModelComponent } from '../confirm-model/confirm-model.component';\r\nimport { StoreSetting } from '../models/StoreSetting';\r\nimport { InfoModelComponent } from '../info-model/info-model.component';\r\n\r\n@Component({\r\n  selector: 'app-configshutter',\r\n  templateUrl: './configshutter.component.html',\r\n  styleUrls: ['./configshutter.component.scss']\r\n})\r\nexport class ConfigshutterComponent implements OnInit {\r\n\r\n  public REDIRECT_MESSAGE_KEY = \"REDIRECT_MESSAGE_KEY\";\r\n  public REDIRECT_COLOR_KEY = \"REDIRECT_COLOR_KEY\";\r\n  public REDIRECT_BG_COLOR_KEY = \"REDIRECT_BG_COLOR_KEY\";\r\n  public REDIRECT_KEYS_KEY = \"REDIRECT_KEYS_KEY\";\r\n  public REDIRECT_PAGE = \"REDIRECT_PAGE\";\r\n\r\n  get pageRedirect() { return this.configForm.get('pageRedirect'); }\r\n  get redirectMessage() { return this.configForm.get('redirectMessage'); }\r\n\r\n  get keysValid() { return this.redirectKeys.length > 0; }\r\n\r\n  public publishedPages = [];\r\n\r\n  public defaultRedirectKeys: string[] = [\"collections\", \"products\", \"cart\"];\r\n  public redirectKeys: string[] = [];\r\n\r\n  public storeId = \"\";\r\n\r\n  public popupTextDefaultColor = \"#000000\"\r\n  public popupBackgroundDefaultColor = \"#9e9c96\";\r\n\r\n  faCoffee = faCoffee;\r\n  faTimes = faTimes;\r\n  faQuestion = faQuestion;\r\n\r\n  bsModalRef: BsModalRef;\r\n\r\n  public loading = true;\r\n\r\n  constructor(\r\n    private activeRoute: ActivatedRoute,\r\n    private storeShutterService: StoreShutterService,\r\n    public fb: FormBuilder,\r\n    public router: Router,\r\n    private modalService: BsModalService\r\n  ) {\r\n\r\n\r\n  }\r\n\r\n  configForm = this.fb.group({\r\n    pageRedirect: ['', [Validators.required]],\r\n    redirectMessage: ['', [Validators.required]],\r\n  })\r\n\r\n  ngOnInit() {\r\n    if (this.activeRoute.snapshot.queryParamMap.has('si')) {\r\n      this.storeId = this.activeRoute.snapshot.queryParamMap.get('si');\r\n      this.load();\r\n    } else {\r\n      console.error(\"Could not load store id\");\r\n    }\r\n\r\n\r\n  }\r\n\r\n\r\n  loadSettings() {\r\n    this.storeShutterService.getStoreSettings(this.storeId).subscribe(data => {\r\n      this.loading = false;\r\n      if (data === undefined) {\r\n        console.info(\"No settings to load\");\r\n        return;\r\n      }\r\n\r\n\r\n      data.forEach(element => {\r\n        switch (element.key) {\r\n          case this.REDIRECT_MESSAGE_KEY:\r\n            this.redirectMessage.patchValue(element.value);\r\n            break;\r\n          case this.REDIRECT_COLOR_KEY:\r\n            this.popupTextDefaultColor = element.value;\r\n            break;\r\n          case this.REDIRECT_KEYS_KEY:\r\n            if (element.value == undefined || element.value == \"\") {\r\n              this.defaultRedirectKeys.forEach(element => {\r\n                this.redirectKeys.push(element);\r\n              });\r\n            }\r\n            let keys = element.value.split(',');\r\n\r\n            keys.forEach(element => {\r\n              this.redirectKeys.push(element);\r\n            });\r\n\r\n            break;\r\n          case this.REDIRECT_BG_COLOR_KEY:\r\n            this.popupBackgroundDefaultColor = element.value;\r\n            break;\r\n          case this.REDIRECT_PAGE:\r\n            this.pageRedirect.patchValue(element.value);\r\n            break;\r\n        }\r\n      });\r\n     \r\n    });\r\n  }\r\n\r\n  load() {\r\n    this.storeShutterService.getPulishedPages(this.storeId).subscribe(data => {\r\n      if (data === undefined || data.pages === undefined) {\r\n        console.error(\"Could not load store pages\");\r\n        return;\r\n      }\r\n\r\n      data.pages.forEach(element => {\r\n        this.publishedPages.push(element.handle);\r\n      });\r\n\r\n      this.loadSettings();\r\n    });\r\n\r\n  }\r\n\r\n  /* Select Dropdown error handling */\r\n  public handleError = (controlName: string, errorName: string) => {\r\n    return this.configForm.controls[controlName].hasError(errorName);\r\n  }\r\n\r\n  onSubmit() {\r\n    if (!this.configForm.valid) {\r\n      Object.keys(this.configForm.controls).forEach(field => {\r\n        const control = this.configForm.get(field);\r\n        control.markAsTouched({ onlySelf: true });\r\n      });\r\n\r\n      return;\r\n    }\r\n\r\n    let storeSettings = [];\r\n\r\n    let keys = this.redirectKeys.join(',');\r\n\r\n    storeSettings.push(new StoreSetting(this.REDIRECT_KEYS_KEY, keys));\r\n    storeSettings.push(new StoreSetting(this.REDIRECT_COLOR_KEY, this.popupTextDefaultColor));\r\n    storeSettings.push(new StoreSetting(this.REDIRECT_MESSAGE_KEY, this.configForm.get(\"redirectMessage\").value));\r\n    storeSettings.push(new StoreSetting(this.REDIRECT_BG_COLOR_KEY, this.popupBackgroundDefaultColor));\r\n    storeSettings.push(new StoreSetting(this.REDIRECT_PAGE, this.configForm.get(\"pageRedirect\").value));\r\n\r\n    this.storeShutterService.saveStoreSettings(this.storeId, storeSettings).subscribe(result => {\r\n      console.log('settings save: ' + result);\r\n    });\r\n\r\n    this.router.navigate(['/home'], { queryParamsHandling: 'preserve' });\r\n  }\r\n\r\n  onCancel() {\r\n    this.confirmClose();\r\n    //  this.router.navigate(['/']);\r\n  }\r\n\r\n  onAddKeywork(keyword: any) {\r\n    if (keyword === undefined || keyword.value === undefined || this.redirectKeys.includes(keyword.value)) {\r\n      return;\r\n    }\r\n\r\n    this.redirectKeys.push(keyword.value);\r\n    keyword.value = \"\";\r\n  }\r\n\r\n  removeKeyWord(keyword: string) {\r\n    let temp = [];\r\n\r\n    this.redirectKeys.forEach(key => {\r\n      if (key !== keyword) {\r\n        temp.push(key);\r\n      }\r\n    });\r\n\r\n    this.redirectKeys = temp;\r\n  }\r\n\r\n  confirmClose() {\r\n    const initialState = {\r\n      title: 'Close without saving?',\r\n      message: 'Are you sure you want to leave the settings menu without saving?',\r\n      class: 'modal-lg'\r\n    };\r\n\r\n\r\n    this.bsModalRef = this.modalService.show(ConfirmModelComponent, { initialState, class: 'modal-lg' });\r\n    this.bsModalRef.content.closeBtnName = 'Close';\r\n    this.bsModalRef.content.onClose.subscribe(result => {\r\n      if (result) {\r\n        this.router.navigate(['/home'], { queryParamsHandling: 'preserve' });\r\n      }\r\n    })\r\n\r\n  }\r\n\r\n  showInfo(title : string, message : string) {\r\n    const initialState = {\r\n      title: title,\r\n      message: message,\r\n      class: 'modal-lg'\r\n    };\r\n\r\n\r\n    this.bsModalRef = this.modalService.show(InfoModelComponent, { initialState, class: 'modal-lg' });\r\n    this.bsModalRef.content.closeBtnName = 'Close';\r\n\r\n  }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbmZpcm0tbW9kZWwvY29uZmlybS1tb2RlbC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n  selector: 'app-confirm-model',\r\n  templateUrl: './confirm-model.component.html',\r\n  styleUrls: ['./confirm-model.component.scss']\r\n})\r\nexport class ConfirmModelComponent implements OnInit {\r\n  title: string;\r\n  public onClose: Subject<boolean>;\r\n\r\n  constructor(public bsModalRef: BsModalRef) {\r\n    \r\n   }\r\n\r\n  public ngOnInit(): void {\r\n    this.onClose = new Subject();\r\n  }\r\n\r\n  public onConfirm(): void {\r\n    this.onClose.next(true);\r\n    this.bsModalRef.hide();\r\n  }\r\n\r\n  public onCancel(): void {\r\n    this.onClose.next(false);\r\n    this.bsModalRef.hide();\r\n  }\r\n\r\n}\r\n","export default \":host {\\n  font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, Helvetica, Arial, sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\";\\n  font-size: 16px;\\n  color: #333;\\n  box-sizing: border-box;\\n  -webkit-font-smoothing: antialiased;\\n  -moz-osx-font-smoothing: grayscale;\\n}\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n  margin: 8px 0;\\n}\\n\\nh2 {\\n  font-size: 1.5em;\\n  font-weight: bold;\\n  display: block;\\n  color: #333;\\n}\\n\\nh3 {\\n  font-size: 1em;\\n  font-weight: 700;\\n  display: block;\\n  color: #333;\\n}\\n\\np {\\n  margin: 0;\\n}\\n\\n.mt-2 {\\n  margin-top: 100px;\\n}\\n\\n.spacer {\\n  flex: 1;\\n}\\n\\n.toolbar-shutter {\\n  height: 60px;\\n  margin: 0px;\\n  display: flex;\\n  align-items: center;\\n  background-color: #342628;\\n  color: #feaa00;\\n  font-weight: 600;\\n  font-size: 18px;\\n}\\n\\n#tecsploit-logo {\\n  margin: 16px;\\n}\\n\\n.toolbar-shutter img {\\n  margin: 0 16px;\\n}\\n\\n.toolbar-shutter #twitter-logo {\\n  height: 40px;\\n  margin: 0 16px;\\n}\\n\\n.toolbar-shutter #twitter-logo:hover {\\n  opacity: 0.8;\\n}\\n\\n.content {\\n  display: flex;\\n  margin: 32px auto;\\n  padding: 0 16px;\\n  max-width: 960px;\\n  flex-direction: column;\\n  align-items: center;\\n}\\n\\nsvg.material-icons {\\n  height: 24px;\\n  width: auto;\\n}\\n\\nsvg.material-icons:not(:last-child) {\\n  margin-right: 8px;\\n}\\n\\n.card-shutter svg.material-icons path {\\n  fill: #888;\\n}\\n\\n.card-container-shutter {\\n  display: flex;\\n  flex-wrap: wrap;\\n  justify-content: center;\\n  margin-top: 16px;\\n}\\n\\n.card-shutter {\\n  border-radius: 4px;\\n  border: 1px solid #eee;\\n  background-color: #fafafa;\\n  height: 75px;\\n  width: 235px;\\n  margin: 20px 8px 16px;\\n  padding: 16px;\\n  display: flex;\\n  flex-direction: row;\\n  justify-content: center;\\n  align-items: center;\\n  transition: all 0.2s ease-in-out;\\n  line-height: 24px;\\n}\\n\\n.card-container-shutter .card-shutter:not(:last-child) {\\n  margin-right: 0;\\n}\\n\\n.card-shutter.card-small-shutter {\\n  height: 16px;\\n  width: 200px;\\n}\\n\\n.card-container-shutter .card-shutter:not(.highlight-card) {\\n  cursor: pointer;\\n}\\n\\n.card-container-shutter .card-shutter:not(.highlight-card):hover {\\n  transform: translateY(-3px);\\n  box-shadow: 0 4px 17px rgba(0, 0, 0, 0.35);\\n}\\n\\n.card-container-shutter .card-shutter:not(.highlight-card):hover .material-icons path {\\n  fill: #696767;\\n}\\n\\n.card-shutter.highlight-card {\\n  background-color: #1976d2;\\n  color: white;\\n  font-weight: 600;\\n  border: none;\\n  width: auto;\\n  min-width: 30%;\\n  position: relative;\\n  margin-top: 50px;\\n}\\n\\n.card-shutter.card-shutter.highlight-card span {\\n  margin-left: 60px;\\n}\\n\\na,\\na:visited,\\na:hover {\\n  color: #1976d2;\\n  text-decoration: none;\\n}\\n\\na:hover {\\n  color: #125699;\\n}\\n\\n.circle-link {\\n  height: 40px;\\n  width: 40px;\\n  border-radius: 40px;\\n  margin: 8px;\\n  background-color: white;\\n  border: 1px solid #eeeeee;\\n  display: flex;\\n  justify-content: center;\\n  align-items: center;\\n  cursor: pointer;\\n  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);\\n  transition: 1s ease-out;\\n}\\n\\n.circle-link:hover {\\n  transform: translateY(-0.25rem);\\n  box-shadow: 0px 3px 15px rgba(0, 0, 0, 0.2);\\n}\\n\\nfooter {\\n  margin-top: 8px;\\n  display: flex;\\n  flex-wrap: wrap;\\n  align-items: center;\\n  flex-direction: column;\\n  line-height: 20px;\\n}\\n\\nsvg#shop {\\n  position: fixed;\\n  bottom: 0px;\\n  left: -130px;\\n  z-index: -10;\\n  width: 1920px;\\n  opacity: 26%;\\n}\\n\\n/* Responsive Styles */\\n\\n@media screen and (max-width: 767px) {\\n  .card-container > *:not(.circle-link) {\\n    width: 100%;\\n  }\\n\\n  .card:not(.highlight-card) {\\n    height: 16px;\\n    margin: 8px 0;\\n  }\\n\\n  .card.highlight-card span {\\n    margin-left: 72px;\\n  }\\n\\n  .card-shutter.card-small-shutter {\\n    width: 100%;\\n  }\\n}\\n\\n@media screen and (max-width: 575px) {\\n  svg#rocket-smoke {\\n    display: none;\\n    visibility: hidden;\\n  }\\n}\\n\\nbutton {\\n  background-color: #342628;\\n  border: 1px solid black;\\n  color: #feaa00;\\n  padding: 10px;\\n  border-radius: 5px;\\n  min-width: 70px;\\n}\\n\\nbutton:hover {\\n  border: 1px solid #feaa00;\\n}\\n\\ninput {\\n  padding: 8px;\\n  border-radius: 5px;\\n  border: 2px solid black;\\n}\\n\\n.error-indicator {\\n  color: red;\\n}\\n\\n.shutter-question {\\n  border: 1px solid #342628;\\n  border-radius: 10px;\\n  padding: 5px;\\n  background-color: #feaa00;\\n}\\n\\n.shutter-question:hover {\\n  background-color: gray;\\n  cursor: pointer;\\n}\\n\\n.loading-icon {\\n  color: red;\\n  border: 16px solid #f3f3f3;\\n  /* Light grey */\\n  border-top: 16px solid #3498db;\\n  /* Blue */\\n  border-radius: 50%;\\n  width: 120px;\\n  height: 120px;\\n  -webkit-animation: spin 2s linear infinite;\\n          animation: spin 2s linear infinite;\\n}\\n\\n@-webkit-keyframes spin {\\n  0% {\\n    transform: rotate(0deg);\\n  }\\n  100% {\\n    transform: rotate(360deg);\\n  }\\n}\\n\\n@keyframes spin {\\n  0% {\\n    transform: rotate(0deg);\\n  }\\n  100% {\\n    transform: rotate(360deg);\\n  }\\n}\\n\\n.docs-content {\\n  display: flex;\\n  margin: 32px auto;\\n  padding: 0 16px;\\n  max-width: 960px;\\n  flex-direction: column;\\n  align-items: center;\\n}\\n\\n.docs-image {\\n  width: 500px;\\n  max-width: 90%;\\n  cursor: zoom-in;\\n}\\n\\n.clicked {\\n  position: fixed;\\n  left: 10%;\\n  top: 11%;\\n  width: 80%;\\n  max-height: 80%;\\n  box-shadow: -1px 2px 11px 5px #feaa00;\\n  cursor: zoom-out;\\n}\\n\\n@media screen and (max-width: 575px) {\\n  .docs-content {\\n    display: flex;\\n    margin: 0px auto;\\n    padding: 0 0px;\\n    max-width: 95%;\\n    flex-direction: column;\\n    align-items: center;\\n  }\\n\\n  .docs-image {\\n    width: 500px;\\n    max-width: 99%;\\n    cursor: zoom-in;\\n  }\\n\\n  .clicked {\\n    position: fixed;\\n    left: 1%;\\n    top: 15%;\\n    width: 99%;\\n    max-height: 80%;\\n    box-shadow: -1px 2px 11px 5px #feaa00;\\n    cursor: zoom-out;\\n  }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZG9jcy9EOlxcYVxcMVxccy9zcmNcXHN0eWxlcy5zY3NzIiwic3JjL2FwcC9kb2NzL2RvY3MuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2RvY3MvRDpcXGFcXDFcXHMvc3JjXFxhcHBcXGRvY3NcXGRvY3MuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSwwSkFBQTtFQUNBLGVBQUE7RUFDQSxXQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQ0FBQTtFQUNBLGtDQUFBO0FDQ0o7O0FETUU7Ozs7OztFQU1FLGFBQUE7QUNISjs7QURNRTtFQUNFLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxjQUFBO0VBQ0EsV0FBQTtBQ0hKOztBRE1FO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7QUNISjs7QURNRTtFQUNFLFNBQUE7QUNISjs7QURNRTtFQUNJLGlCQUFBO0FDSE47O0FETUU7RUFDRSxPQUFBO0FDSEo7O0FETUU7RUFDRSxZQUFBO0VBQ0EsV0FBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHlCQTNDYztFQTRDZCxjQTdDUTtFQThDUixnQkFBQTtFQUNBLGVBQUE7QUNISjs7QURNRTtFQUNFLFlBQUE7QUNISjs7QURNRTtFQUNFLGNBQUE7QUNISjs7QURNRTtFQUNFLFlBQUE7RUFDQSxjQUFBO0FDSEo7O0FETUU7RUFDRSxZQUFBO0FDSEo7O0FETUU7RUFDRSxhQUFBO0VBQ0EsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFBO0FDSEo7O0FETUU7RUFDRSxZQUFBO0VBQ0EsV0FBQTtBQ0hKOztBRE1FO0VBQ0UsaUJBQUE7QUNISjs7QURNRTtFQUNFLFVBQUE7QUNISjs7QURNRTtFQUNFLGFBQUE7RUFDQSxlQUFBO0VBQ0EsdUJBQUE7RUFDQSxnQkFBQTtBQ0hKOztBRE1FO0VBQ0Usa0JBQUE7RUFDQSxzQkFBQTtFQUNBLHlCQUFBO0VBQ0EsWUFB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ZG9jcy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIjtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICB9XHJcbiAgXHJcbiAkaGlnaGxpZ2h0OiNmZWFhMDA7XHJcbiAkYmFja2dyb3VuZC1kYXJrOiMzNDI2Mjg7XHJcbiAkYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6Z3JheTtcclxuXHJcbiAgaDEsXHJcbiAgaDIsXHJcbiAgaDMsXHJcbiAgaDQsXHJcbiAgaDUsXHJcbiAgaDYge1xyXG4gICAgbWFyZ2luOiA4cHggMDtcclxuICB9XHJcblxyXG4gIGgye1xyXG4gICAgZm9udC1zaXplOiAxLjVlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBjb2xvcjogIzMzMztcclxuICB9XHJcblxyXG4gIGgze1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBjb2xvcjogIzMzMztcclxuICB9XHJcbiAgXHJcbiAgcCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgfVxyXG4gIFxyXG4gIC5tdC0ye1xyXG4gICAgICBtYXJnaW4tdG9wOiAxMDBweDtcclxuICB9XHJcbiAgXHJcbiAgLnNwYWNlciB7XHJcbiAgICBmbGV4OiAxO1xyXG4gIH1cclxuICBcclxuICAudG9vbGJhci1zaHV0dGVyIHtcclxuICAgIGhlaWdodDogNjBweDtcclxuICAgIG1hcmdpbjogMHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1kYXJrO1xyXG4gICAgY29sb3I6ICAkaGlnaGxpZ2h0O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICB9XHJcbiAgXHJcbiAgI3RlY3NwbG9pdC1sb2dve1xyXG4gICAgbWFyZ2luOjE2cHg7XHJcbiAgfVxyXG4gIFxyXG4gIC50b29sYmFyLXNodXR0ZXIgaW1nIHtcclxuICAgIG1hcmdpbjogMCAxNnB4O1xyXG4gIH1cclxuICBcclxuICAudG9vbGJhci1zaHV0dGVyICN0d2l0dGVyLWxvZ28ge1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgbWFyZ2luOiAwIDE2cHg7XHJcbiAgfVxyXG4gIFxyXG4gIC50b29sYmFyLXNodXR0ZXIgI3R3aXR0ZXItbG9nbzpob3ZlciB7XHJcbiAgICBvcGFjaXR5OiAwLjg7XHJcbiAgfVxyXG4gIFxyXG4gIC5jb250ZW50IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW46IDMycHggYXV0bztcclxuICAgIHBhZGRpbmc6IDAgMTZweDtcclxuICAgIG1heC13aWR0aDogOTYwcHg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB9XHJcbiAgXHJcbiAgc3ZnLm1hdGVyaWFsLWljb25zIHtcclxuICAgIGhlaWdodDogMjRweDtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gIH1cclxuICBcclxuICBzdmcubWF0ZXJpYWwtaWNvbnM6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICB9XHJcbiAgXHJcbiAgLmNhcmQtc2h1dHRlciBzdmcubWF0ZXJpYWwtaWNvbnMgcGF0aCB7XHJcbiAgICBmaWxsOiAjODg4O1xyXG4gIH1cclxuICBcclxuICAuY2FyZC1jb250YWluZXItc2h1dHRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gIH1cclxuICBcclxuICAuY2FyZC1zaHV0dGVyIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xyXG4gICAgaGVpZ2h0OiA3NXB4O1xyXG4gICAgd2lkdGg6IDIzNXB4O1xyXG4gICAgbWFyZ2luOiAyMHB4IDhweCAxNnB4O1xyXG4gICAgcGFkZGluZzogMTZweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbiAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICB9XHJcblxyXG5cclxuICBcclxuICAuY2FyZC1jb250YWluZXItc2h1dHRlciAuY2FyZC1zaHV0dGVyOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gIH1cclxuICBcclxuICAuY2FyZC1zaHV0dGVyLmNhcmQtc21hbGwtc2h1dHRlciB7XHJcbiAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5jYXJkLWNvbnRhaW5lci1zaHV0dGVyIC5jYXJkLXNodXR0ZXI6bm90KC5oaWdobGlnaHQtY2FyZCkge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuICBcclxuICAuY2FyZC1jb250YWluZXItc2h1dHRlciAuY2FyZC1zaHV0dGVyOm5vdCguaGlnaGxpZ2h0LWNhcmQpOmhvdmVyIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTtcclxuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE3cHggcmdiYShibGFjaywgMC4zNSk7XHJcbiAgfVxyXG4gIFxyXG4gIC5jYXJkLWNvbnRhaW5lci1zaHV0dGVyIC5jYXJkLXNodXR0ZXI6bm90KC5oaWdobGlnaHQtY2FyZCk6aG92ZXIgLm1hdGVyaWFsLWljb25zIHBhdGgge1xyXG4gICAgZmlsbDogcmdiKDEwNSwgMTAzLCAxMDMpO1xyXG4gIH1cclxuICBcclxuICAuY2FyZC1zaHV0dGVyLmhpZ2hsaWdodC1jYXJkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxOTc2ZDI7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBtaW4td2lkdGg6IDMwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbi10b3A6NTBweDtcclxuICB9XHJcbiAgXHJcbiAgLmNhcmQtc2h1dHRlci5jYXJkLXNodXR0ZXIuaGlnaGxpZ2h0LWNhcmQgc3BhbiB7XHJcbiAgICBtYXJnaW4tbGVmdDogNjBweDtcclxuICB9XHJcbiAgXHJcbiAgXHJcbiAgYSxcclxuICBhOnZpc2l0ZWQsXHJcbiAgYTpob3ZlciB7XHJcbiAgICBjb2xvcjogIzE5NzZkMjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcbiAgXHJcbiAgYTpob3ZlciB7XHJcbiAgICBjb2xvcjogIzEyNTY5OTtcclxuICB9XHJcbiAgXHJcbiAgLmNpcmNsZS1saW5rIHtcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNDBweDtcclxuICAgIG1hcmdpbjogOHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjI0KTtcclxuICAgIHRyYW5zaXRpb246IDFzIGVhc2Utb3V0O1xyXG4gIH1cclxuICBcclxuICAuY2lyY2xlLWxpbms6aG92ZXIge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjI1cmVtKTtcclxuICAgIGJveC1zaGFkb3c6IDBweCAzcHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgfVxyXG4gIFxyXG4gIGZvb3RlciB7XHJcbiAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICB9XHJcbiAgXHJcbiAgXHJcbiAgc3ZnI3Nob3Age1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgYm90dG9tOiAwcHg7XHJcbiAgICBsZWZ0OiAtMTMwcHg7XHJcbiAgICB6LWluZGV4OiAtMTA7XHJcbiAgICB3aWR0aDogMTkyMHB4O1xyXG4gICAgb3BhY2l0eTogMjYlO1xyXG4gIH1cclxuICBcclxuICBcclxuICAvKiBSZXNwb25zaXZlIFN0eWxlcyAqL1xyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgXHJcbiAgICAuY2FyZC1jb250YWluZXIgPiAqOm5vdCguY2lyY2xlLWxpbmspIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgXHJcbiAgICAuY2FyZDpub3QoLmhpZ2hsaWdodC1jYXJkKSB7XHJcbiAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgbWFyZ2luOiA4cHggMDtcclxuICAgIH1cclxuICBcclxuICAgIC5jYXJkLmhpZ2hsaWdodC1jYXJkIHNwYW4ge1xyXG4gICAgICBtYXJnaW4tbGVmdDogNzJweDtcclxuICAgIH1cclxuXHJcbiAgICAuY2FyZC1zaHV0dGVyLmNhcmQtc21hbGwtc2h1dHRlciB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIFxyXG4gIH1cclxuICBcclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xyXG4gICAgc3ZnI3JvY2tldC1zbW9rZSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGJ1dHRvbntcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWRhcms7XHJcbiAgICBib3JkZXI6MXB4IHNvbGlkIGJsYWNrO1xyXG4gICAgY29sb3I6ICAkaGlnaGxpZ2h0O1xyXG4gICAgcGFkZGluZzoxMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgbWluLXdpZHRoOiA3MHB4O1xyXG59XHJcblxyXG5idXR0b246aG92ZXJ7XHJcbiAgICBib3JkZXI6MXB4IHNvbGlkICNmZWFhMDA7XHJcbn1cclxuXHJcbmlucHV0e1xyXG4gICAgcGFkZGluZzo4cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBib3JkZXI6MnB4IHNvbGlkIGJsYWNrO1xyXG59XHJcblxyXG4uZXJyb3ItaW5kaWNhdG9ye1xyXG4gIGNvbG9yOnJlZDtcclxufVxyXG5cclxuLnNodXR0ZXItcXVlc3Rpb257XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGJhY2tncm91bmQtZGFyaztcclxuICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gIHBhZGRpbmc6NXB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICAkaGlnaGxpZ2h0O1xyXG59XHJcblxyXG4uc2h1dHRlci1xdWVzdGlvbjpob3ZlcntcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ubG9hZGluZy1pY29ue1xyXG4gIGNvbG9yOnJlZDtcclxuICBib3JkZXI6IDE2cHggc29saWQgI2YzZjNmMzsgLyogTGlnaHQgZ3JleSAqL1xyXG4gIGJvcmRlci10b3A6IDE2cHggc29saWQgIzM0OThkYjsgLyogQmx1ZSAqL1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICB3aWR0aDogMTIwcHg7XHJcbiAgaGVpZ2h0OiAxMjBweDtcclxuICBhbmltYXRpb246IHNwaW4gMnMgbGluZWFyIGluZmluaXRlOyBcclxufVxyXG5cclxuXHJcblxyXG5Aa2V5ZnJhbWVzIHNwaW4ge1xyXG4gIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxyXG59IiwiOmhvc3Qge1xuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCI7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICMzMzM7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBtYXJnaW46IDhweCAwO1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICMzMzM7XG59XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzMzMztcbn1cblxucCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLm10LTIge1xuICBtYXJnaW4tdG9wOiAxMDBweDtcbn1cblxuLnNwYWNlciB7XG4gIGZsZXg6IDE7XG59XG5cbi50b29sYmFyLXNodXR0ZXIge1xuICBoZWlnaHQ6IDYwcHg7XG4gIG1hcmdpbjogMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQyNjI4O1xuICBjb2xvcjogI2ZlYWEwMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4jdGVjc3Bsb2l0LWxvZ28ge1xuICBtYXJnaW46IDE2cHg7XG59XG5cbi50b29sYmFyLXNodXR0ZXIgaW1nIHtcbiAgbWFyZ2luOiAwIDE2cHg7XG59XG5cbi50b29sYmFyLXNodXR0ZXIgI3R3aXR0ZXItbG9nbyB7XG4gIGhlaWdodDogNDBweDtcbiAgbWFyZ2luOiAwIDE2cHg7XG59XG5cbi50b29sYmFyLXNodXR0ZXIgI3R3aXR0ZXItbG9nbzpob3ZlciB7XG4gIG9wYWNpdHk6IDAuODtcbn1cblxuLmNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDMycHggYXV0bztcbiAgcGFkZGluZzogMCAxNnB4O1xuICBtYXgtd2lkdGg6IDk2MHB4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG5zdmcubWF0ZXJpYWwtaWNvbnMge1xuICBoZWlnaHQ6IDI0cHg7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG5zdmcubWF0ZXJpYWwtaWNvbnM6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4uY2FyZC1zaHV0dGVyIHN2Zy5tYXRlcmlhbC1pY29ucyBwYXRoIHtcbiAgZmlsbDogIzg4ODtcbn1cblxuLmNhcmQtY29udGFpbmVyLXNodXR0ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuXG4uY2FyZC1zaHV0dGVyIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xuICBoZWlnaHQ6IDc1cHg7XG4gIHdpZHRoOiAyMzVweDtcbiAgbWFyZ2luOiAyMHB4IDhweCAxNnB4O1xuICBwYWRkaW5nOiAxNnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuXG4uY2FyZC1jb250YWluZXItc2h1dHRlciAuY2FyZC1zaHV0dGVyOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5jYXJkLXNodXR0ZXIuY2FyZC1zbWFsbC1zaHV0dGVyIHtcbiAgaGVpZ2h0OiAxNnB4O1xuICB3aWR0aDogMjAwcHg7XG59XG5cbi5jYXJkLWNvbnRhaW5lci1zaHV0dGVyIC5jYXJkLXNodXR0ZXI6bm90KC5oaWdobGlnaHQtY2FyZCkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jYXJkLWNvbnRhaW5lci1zaHV0dGVyIC5jYXJkLXNodXR0ZXI6bm90KC5oaWdobGlnaHQtY2FyZCk6aG92ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDE3cHggcmdiYSgwLCAwLCAwLCAwLjM1KTtcbn1cblxuLmNhcmQtY29udGFpbmVyLXNodXR0ZXIgLmNhcmQtc2h1dHRlcjpub3QoLmhpZ2hsaWdodC1jYXJkKTpob3ZlciAubWF0ZXJpYWwtaWNvbnMgcGF0aCB7XG4gIGZpbGw6ICM2OTY3Njc7XG59XG5cbi5jYXJkLXNodXR0ZXIuaGlnaGxpZ2h0LWNhcmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTk3NmQyO1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1pbi13aWR0aDogMzAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG59XG5cbi5jYXJkLXNodXR0ZXIuY2FyZC1zaHV0dGVyLmhpZ2hsaWdodC1jYXJkIHNwYW4ge1xuICBtYXJnaW4tbGVmdDogNjBweDtcbn1cblxuYSxcbmE6dmlzaXRlZCxcbmE6aG92ZXIge1xuICBjb2xvcjogIzE5NzZkMjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5hOmhvdmVyIHtcbiAgY29sb3I6ICMxMjU2OTk7XG59XG5cbi5jaXJjbGUtbGluayB7XG4gIGhlaWdodDogNDBweDtcbiAgd2lkdGg6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gIG1hcmdpbjogOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMjQpO1xuICB0cmFuc2l0aW9uOiAxcyBlYXNlLW91dDtcbn1cblxuLmNpcmNsZS1saW5rOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjI1cmVtKTtcbiAgYm94LXNoYWRvdzogMHB4IDNweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuXG5zdmcjc2hvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwcHg7XG4gIGxlZnQ6IC0xMzBweDtcbiAgei1pbmRleDogLTEwO1xuICB3aWR0aDogMTkyMHB4O1xuICBvcGFjaXR5OiAyNiU7XG59XG5cbi8qIFJlc3BvbnNpdmUgU3R5bGVzICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuY2FyZC1jb250YWluZXIgPiAqOm5vdCguY2lyY2xlLWxpbmspIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5jYXJkOm5vdCguaGlnaGxpZ2h0LWNhcmQpIHtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgbWFyZ2luOiA4cHggMDtcbiAgfVxuXG4gIC5jYXJkLmhpZ2hsaWdodC1jYXJkIHNwYW4ge1xuICAgIG1hcmdpbi1sZWZ0OiA3MnB4O1xuICB9XG5cbiAgLmNhcmQtc2h1dHRlci5jYXJkLXNtYWxsLXNodXR0ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICBzdmcjcm9ja2V0LXNtb2tlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0MjYyODtcbiAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XG4gIGNvbG9yOiAjZmVhYTAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIG1pbi13aWR0aDogNzBweDtcbn1cblxuYnV0dG9uOmhvdmVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZlYWEwMDtcbn1cblxuaW5wdXQge1xuICBwYWRkaW5nOiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7XG59XG5cbi5lcnJvci1pbmRpY2F0b3Ige1xuICBjb2xvcjogcmVkO1xufVxuXG4uc2h1dHRlci1xdWVzdGlvbiB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzNDI2Mjg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHBhZGRpbmc6IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlYWEwMDtcbn1cblxuLnNodXR0ZXItcXVlc3Rpb246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBncmF5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5sb2FkaW5nLWljb24ge1xuICBjb2xvcjogcmVkO1xuICBib3JkZXI6IDE2cHggc29saWQgI2YzZjNmMztcbiAgLyogTGlnaHQgZ3JleSAqL1xuICBib3JkZXItdG9wOiAxNnB4IHNvbGlkICMzNDk4ZGI7XG4gIC8qIEJsdWUgKi9cbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB3aWR0aDogMTIwcHg7XG4gIGhlaWdodDogMTIwcHg7XG4gIGFuaW1hdGlvbjogc3BpbiAycyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG4uZG9jcy1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAzMnB4IGF1dG87XG4gIHBhZGRpbmc6IDAgMTZweDtcbiAgbWF4LXdpZHRoOiA5NjBweDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmRvY3MtaW1hZ2Uge1xuICB3aWR0aDogNTAwcHg7XG4gIG1heC13aWR0aDogOTAlO1xuICBjdXJzb3I6IHpvb20taW47XG59XG5cbi5jbGlja2VkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAxMCU7XG4gIHRvcDogMTElO1xuICB3aWR0aDogODAlO1xuICBtYXgtaGVpZ2h0OiA4MCU7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogLTFweCAycHggMTFweCA1cHggI2ZlYWEwMDtcbiAgYm94LXNoYWRvdzogLTFweCAycHggMTFweCA1cHggI2ZlYWEwMDtcbiAgY3Vyc29yOiB6b29tLW91dDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgLmRvY3MtY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDBweCBhdXRvO1xuICAgIHBhZGRpbmc6IDAgMHB4O1xuICAgIG1heC13aWR0aDogOTUlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC5kb2NzLWltYWdlIHtcbiAgICB3aWR0aDogNTAwcHg7XG4gICAgbWF4LXdpZHRoOiA5OSU7XG4gICAgY3Vyc29yOiB6b29tLWluO1xuICB9XG5cbiAgLmNsaWNrZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAxJTtcbiAgICB0b3A6IDE1JTtcbiAgICB3aWR0aDogOTklO1xuICAgIG1heC1oZWlnaHQ6IDgwJTtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IC0xcHggMnB4IDExcHggNXB4ICNmZWFhMDA7XG4gICAgYm94LXNoYWRvdzogLTFweCAycHggMTFweCA1cHggI2ZlYWEwMDtcbiAgICBjdXJzb3I6IHpvb20tb3V0O1xuICB9XG59IiwiQGltcG9ydCAnLi4vLi4vc3R5bGVzLnNjc3MnO1xyXG5cclxuLmRvY3MtY29udGVudHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW46IDMycHggYXV0bztcclxuICAgIHBhZGRpbmc6IDAgMTZweDtcclxuICAgIG1heC13aWR0aDogOTYwcHg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgXHJcbn1cclxuXHJcbi5kb2NzLWltYWdle1xyXG4gICAgd2lkdGg6NTAwcHg7XHJcbiAgICBtYXgtd2lkdGg6IDkwJTtcclxuICAgIGN1cnNvcjogem9vbS1pbjtcclxuICB9XHJcblxyXG4gIC5jbGlja2Vke1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgbGVmdDoxMCU7XHJcbiAgICB0b3A6MTElO1xyXG4gICAgd2lkdGg6ODAlO1xyXG4gICAgbWF4LWhlaWdodDogODAlO1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAtMXB4IDJweCAxMXB4IDVweCAkaGlnaGxpZ2h0OyBcclxuICAgIGJveC1zaGFkb3c6IC0xcHggMnB4IDExcHggNXB4ICRoaWdobGlnaHQ7XHJcbiAgICBjdXJzb3I6IHpvb20tb3V0O1xyXG4gIH1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XHJcbiAgICAuZG9jcy1jb250ZW50e1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgbWFyZ2luOiAwcHggYXV0bztcclxuICAgICAgICBwYWRkaW5nOiAwIDBweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDk1JTtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLmRvY3MtaW1hZ2V7XHJcbiAgICAgICAgd2lkdGg6NTAwcHg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA5OSU7XHJcbiAgICAgICAgY3Vyc29yOiB6b29tLWluO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuY2xpY2tlZHtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgbGVmdDoxJTtcclxuICAgICAgICB0b3A6MTUlO1xyXG4gICAgICAgIHdpZHRoOjk5JTtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA4MCU7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAtMXB4IDJweCAxMXB4IDVweCAkaGlnaGxpZ2h0OyBcclxuICAgICAgICBib3gtc2hhZG93OiAtMXB4IDJweCAxMXB4IDVweCAkaGlnaGxpZ2h0O1xyXG4gICAgICAgIGN1cnNvcjogem9vbS1vdXQ7XHJcbiAgICAgIH1cclxufSJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'app-docs',\r\n  templateUrl: './docs.component.html',\r\n  styleUrls: ['./docs.component.scss']\r\n})\r\nexport class DocsComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit() {\r\n  }\r\n\r\n  toggleClass(e) {\r\n    const classList = e.target.classList;\r\n    const classes = e.target.className;\r\n    classes.includes('clicked') ? classList.remove('clicked') : classList.add('clicked');\r\n  }\r\n\r\n}\r\n","export default \".faq-page {\\n  text-align: center;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZmFxL0Q6XFxhXFwxXFxzL3NyY1xcYXBwXFxmYXFcXGZhcS5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvZmFxL2ZhcS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLGtCQUFBO0FDQ0oiLCJmaWxlIjoic3JjL2FwcC9mYXEvZmFxLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmZhcS1wYWdle1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59IiwiLmZhcS1wYWdlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufSJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'app-faq',\r\n  templateUrl: './faq.component.html',\r\n  styleUrls: ['./faq.component.scss']\r\n})\r\nexport class FaqComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit() {\r\n  }\r\n\r\n}\r\n","export default \":host {\\n  font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, Helvetica, Arial, sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\";\\n  font-size: 16px;\\n  color: #333;\\n  box-sizing: border-box;\\n  -webkit-font-smoothing: antialiased;\\n  -moz-osx-font-smoothing: grayscale;\\n}\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n  margin: 8px 0;\\n}\\n\\nh2 {\\n  font-size: 1.5em;\\n  font-weight: bold;\\n  display: block;\\n  color: #333;\\n}\\n\\nh3 {\\n  font-size: 1em;\\n  font-weight: 700;\\n  display: block;\\n  color: #333;\\n}\\n\\np {\\n  margin: 0;\\n}\\n\\n.mt-2 {\\n  margin-top: 100px;\\n}\\n\\n.spacer {\\n  flex: 1;\\n}\\n\\n.toolbar-shutter {\\n  height: 60px;\\n  margin: 0px;\\n  display: flex;\\n  align-items: center;\\n  background-color: #342628;\\n  color: #feaa00;\\n  font-weight: 600;\\n  font-size: 18px;\\n}\\n\\n#tecsploit-logo {\\n  margin: 16px;\\n}\\n\\n.toolbar-shutter img {\\n  margin: 0 16px;\\n}\\n\\n.toolbar-shutter #twitter-logo {\\n  height: 40px;\\n  margin: 0 16px;\\n}\\n\\n.toolbar-shutter #twitter-logo:hover {\\n  opacity: 0.8;\\n}\\n\\n.content {\\n  display: flex;\\n  margin: 32px auto;\\n  padding: 0 16px;\\n  max-width: 960px;\\n  flex-direction: column;\\n  align-items: center;\\n}\\n\\nsvg.material-icons {\\n  height: 24px;\\n  width: auto;\\n}\\n\\nsvg.material-icons:not(:last-child) {\\n  margin-right: 8px;\\n}\\n\\n.card-shutter svg.material-icons path {\\n  fill: #888;\\n}\\n\\n.card-container-shutter {\\n  display: flex;\\n  flex-wrap: wrap;\\n  justify-content: center;\\n  margin-top: 16px;\\n}\\n\\n.card-shutter {\\n  border-radius: 4px;\\n  border: 1px solid #eee;\\n  background-color: #fafafa;\\n  height: 75px;\\n  width: 235px;\\n  margin: 20px 8px 16px;\\n  padding: 16px;\\n  display: flex;\\n  flex-direction: row;\\n  justify-content: center;\\n  align-items: center;\\n  transition: all 0.2s ease-in-out;\\n  line-height: 24px;\\n}\\n\\n.card-container-shutter .card-shutter:not(:last-child) {\\n  margin-right: 0;\\n}\\n\\n.card-shutter.card-small-shutter {\\n  height: 16px;\\n  width: 200px;\\n}\\n\\n.card-container-shutter .card-shutter:not(.highlight-card) {\\n  cursor: pointer;\\n}\\n\\n.card-container-shutter .card-shutter:not(.highlight-card):hover {\\n  transform: translateY(-3px);\\n  box-shadow: 0 4px 17px rgba(0, 0, 0, 0.35);\\n}\\n\\n.card-container-shutter .card-shutter:not(.highlight-card):hover .material-icons path {\\n  fill: #696767;\\n}\\n\\n.card-shutter.highlight-card {\\n  background-color: #1976d2;\\n  color: white;\\n  font-weight: 600;\\n  border: none;\\n  width: auto;\\n  min-width: 30%;\\n  position: relative;\\n  margin-top: 50px;\\n}\\n\\n.card-shutter.card-shutter.highlight-card span {\\n  margin-left: 60px;\\n}\\n\\na,\\na:visited,\\na:hover {\\n  color: #1976d2;\\n  text-decoration: none;\\n}\\n\\na:hover {\\n  color: #125699;\\n}\\n\\n.circle-link {\\n  height: 40px;\\n  width: 40px;\\n  border-radius: 40px;\\n  margin: 8px;\\n  background-color: white;\\n  border: 1px solid #eeeeee;\\n  display: flex;\\n  justify-content: center;\\n  align-items: center;\\n  cursor: pointer;\\n  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);\\n  transition: 1s ease-out;\\n}\\n\\n.circle-link:hover {\\n  transform: translateY(-0.25rem);\\n  box-shadow: 0px 3px 15px rgba(0, 0, 0, 0.2);\\n}\\n\\nfooter {\\n  margin-top: 8px;\\n  display: flex;\\n  flex-wrap: wrap;\\n  align-items: center;\\n  flex-direction: column;\\n  line-height: 20px;\\n}\\n\\nsvg#shop {\\n  position: fixed;\\n  bottom: 0px;\\n  left: -130px;\\n  z-index: -10;\\n  width: 1920px;\\n  opacity: 26%;\\n}\\n\\n/* Responsive Styles */\\n\\n@media screen and (max-width: 767px) {\\n  .card-container > *:not(.circle-link) {\\n    width: 100%;\\n  }\\n\\n  .card:not(.highlight-card) {\\n    height: 16px;\\n    margin: 8px 0;\\n  }\\n\\n  .card.highlight-card span {\\n    margin-left: 72px;\\n  }\\n\\n  .card-shutter.card-small-shutter {\\n    width: 100%;\\n  }\\n}\\n\\n@media screen and (max-width: 575px) {\\n  svg#rocket-smoke {\\n    display: none;\\n    visibility: hidden;\\n  }\\n}\\n\\nbutton {\\n  background-color: #342628;\\n  border: 1px solid black;\\n  color: #feaa00;\\n  padding: 10px;\\n  border-radius: 5px;\\n  min-width: 70px;\\n}\\n\\nbutton:hover {\\n  border: 1px solid #feaa00;\\n}\\n\\ninput {\\n  padding: 8px;\\n  border-radius: 5px;\\n  border: 2px solid black;\\n}\\n\\n.error-indicator {\\n  color: red;\\n}\\n\\n.shutter-question {\\n  border: 1px solid #342628;\\n  border-radius: 10px;\\n  padding: 5px;\\n  background-color: #feaa00;\\n}\\n\\n.shutter-question:hover {\\n  background-color: gray;\\n  cursor: pointer;\\n}\\n\\n.loading-icon {\\n  color: red;\\n  border: 16px solid #f3f3f3;\\n  /* Light grey */\\n  border-top: 16px solid #3498db;\\n  /* Blue */\\n  border-radius: 50%;\\n  width: 120px;\\n  height: 120px;\\n  -webkit-animation: spin 2s linear infinite;\\n          animation: spin 2s linear infinite;\\n}\\n\\n@-webkit-keyframes spin {\\n  0% {\\n    transform: rotate(0deg);\\n  }\\n  100% {\\n    transform: rotate(360deg);\\n  }\\n}\\n\\n@keyframes spin {\\n  0% {\\n    transform: rotate(0deg);\\n  }\\n  100% {\\n    transform: rotate(360deg);\\n  }\\n}\\n\\n.error-div {\\n  color: red;\\n  font-size: 22px;\\n}\\n\\n.content {\\n  display: flex;\\n  margin: 32px auto;\\n  padding: 0 16px;\\n  max-width: 960px;\\n  flex-direction: column;\\n  align-items: center;\\n  overflow-x: hidden;\\n}\\n\\n.loading-container {\\n  display: flex;\\n  flex-direction: column;\\n  align-items: center;\\n}\\n\\n.home-icon {\\n  font-size: 25px;\\n  color: #797a7a;\\n  margin-right: 10px;\\n}\\n\\na,\\na:visited,\\na:hover {\\n  color: #1976d2;\\n  text-decoration: none;\\n}\\n\\na:hover {\\n  color: #125699;\\n}\\n\\n.circle-link {\\n  height: 40px;\\n  width: 40px;\\n  border-radius: 40px;\\n  margin: 8px;\\n  background-color: white;\\n  border: 1px solid #eeeeee;\\n  display: flex;\\n  justify-content: center;\\n  align-items: center;\\n  cursor: pointer;\\n  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);\\n  transition: 1s ease-out;\\n}\\n\\n.circle-link:hover {\\n  transform: translateY(-0.25rem);\\n  box-shadow: 0px 3px 15px rgba(0, 0, 0, 0.2);\\n}\\n\\n.github-star-badge:hover {\\n  background-image: linear-gradient(-180deg, #f0f3f6, #e6ebf1 90%);\\n  border-color: rgba(27, 31, 35, 0.35);\\n  background-position: -0.5em;\\n}\\n\\n.github-star-badge .material-icons {\\n  height: 16px;\\n  width: 16px;\\n  margin-right: 4px;\\n}\\n\\n/* Responsive Styles */\\n\\n@media screen and (max-width: 767px) {\\n  .card-container-shutter > *:not(.circle-link) {\\n    width: 100%;\\n  }\\n\\n  .card-shutter:not(.highlight-card) {\\n    height: 50px;\\n    margin: 8px 0;\\n  }\\n\\n  .card-shutter.highlight-card span {\\n    margin-left: 72px;\\n  }\\n\\n  svg#rocket-smoke {\\n    right: 120px;\\n    transform: rotate(-5deg);\\n  }\\n}\\n\\n@media screen and (max-width: 575px) {\\n  svg#rocket-smoke {\\n    display: none;\\n    visibility: hidden;\\n  }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvaG9tZS9EOlxcYVxcMVxccy9zcmNcXHN0eWxlcy5zY3NzIiwic3JjL2FwcC9ob21lL2hvbWUuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2hvbWUvRDpcXGFcXDFcXHMvc3JjXFxhcHBcXGhvbWVcXGhvbWUuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSwwSkFBQTtFQUNBLGVBQUE7RUFDQSxXQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQ0FBQTtFQUNBLGtDQUFBO0FDQ0o7O0FETUU7Ozs7OztFQU1FLGFBQUE7QUNISjs7QURNRTtFQUNFLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxjQUFBO0VBQ0EsV0FBQTtBQ0hKOztBRE1FO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7QUNISjs7QURNRTtFQUNFLFNBQUE7QUNISjs7QURNRTtFQUNJLGlCQUFBO0FDSE47O0FETUU7RUFDRSxPQUFBO0FDSEo7O0FETUU7RUFDRSxZQUFBO0VBQ0EsV0FBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHlCQTNDYztFQTRDZCxjQTdDUTtFQThDUixnQkFBQTtFQUNBLGVBQUE7QUNISjs7QURNRTtFQUNFLFlBQUE7QUNISjs7QURNRTtFQUNFLGNBQUE7QUNISjs7QURNRTtFQUNFLFlBQUE7RUFDQSxjQUFBO0FDSEo7O0FETUU7RUFDRSxZQUFBO0FDSEo7O0FETUU7RUFDRSxhQUFBO0VBQ0EsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFBO0FDSEo7O0FETUU7RUFDRSxZQUFBO0VBQ0EsV0FBQTtBQ0hKOztBRE1FO0VBQ0UsaUJBQUE7QUNISjs7QURNRTtFQUNFLFVBQUE7QUNISjs7QURNRTtFQUNFLGFBQUE7RUFDQSxlQUFBO0VBQ0EsdUJBQUE7RUFDQSxnQkFBQTtBQ0hKOztBRE1FO0VBQ0Usa0JBQUE7RUFDQSxzQkFBQTtFQUNBLHlCQUFBO0VBQ0EsWUFB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Uko7O0FDblJFO0VBQ0UsZ0VBQUE7RUFDQSxvQ0FBQTtFQUNBLDJCQUFBO0FEc1JKOztBQ25SRTtFQUNFLFlBQUE7RUFDQSxXQUFBO0VBQ0EsaUJBQUE7QURzUko7O0FDbFJFLHNCQUFBOztBQUNBO0VBRUU7SUFDRSxXQUFBO0VEb1JKOztFQ2pSRTtJQUNFLFlBQUE7SUFDQSxhQUFBO0VEb1JKOztFQ2pSRTtJQUNFLGlCQUFBO0VEb1JKOztFQ2pSRTtJQUNFLFlBQUE7SUFDQSx3QkFBQTtFRG9SSjtBQUNGOztBQ2pSRTtFQUNFO0lBQ0UsYUFBQTtJQUNBLGtCQUFBO0VEbVJKO0FBQ0YiLCJmaWxlIjoic3JjL2FwcC9ob21lL2hvbWUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCI7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBjb2xvcjogIzMzMztcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgfVxyXG4gIFxyXG4gJGhpZ2hsaWdodDojZmVhYTAwO1xyXG4gJGJhY2tncm91bmQtZGFyazojMzQyNjI4O1xyXG4gJGJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kOmdyYXk7XHJcblxyXG4gIGgxLFxyXG4gIGgyLFxyXG4gIGgzLFxyXG4gIGg0LFxyXG4gIGg1LFxyXG4gIGg2IHtcclxuICAgIG1hcmdpbjogOHB4IDA7XHJcbiAgfVxyXG5cclxuICBoMntcclxuICAgIGZvbnQtc2l6ZTogMS41ZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY29sb3I6ICMzMzM7XHJcbiAgfVxyXG5cclxuICBoM3tcclxuICAgIGZvbnQtc2l6ZTogMWVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY29sb3I6ICMzMzM7XHJcbiAgfVxyXG4gIFxyXG4gIHAge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxuICBcclxuICAubXQtMntcclxuICAgICAgbWFyZ2luLXRvcDogMTAwcHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5zcGFjZXIge1xyXG4gICAgZmxleDogMTtcclxuICB9XHJcbiAgXHJcbiAgLnRvb2xiYXItc2h1dHRlciB7XHJcbiAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICBtYXJnaW46IDBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtZGFyaztcclxuICAgIGNvbG9yOiAgJGhpZ2hsaWdodDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgfVxyXG4gIFxyXG4gICN0ZWNzcGxvaXQtbG9nb3tcclxuICAgIG1hcmdpbjoxNnB4O1xyXG4gIH1cclxuICBcclxuICAudG9vbGJhci1zaHV0dGVyIGltZyB7XHJcbiAgICBtYXJnaW46IDAgMTZweDtcclxuICB9XHJcbiAgXHJcbiAgLnRvb2xiYXItc2h1dHRlciAjdHdpdHRlci1sb2dvIHtcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIG1hcmdpbjogMCAxNnB4O1xyXG4gIH1cclxuICBcclxuICAudG9vbGJhci1zaHV0dGVyICN0d2l0dGVyLWxvZ286aG92ZXIge1xyXG4gICAgb3BhY2l0eTogMC44O1xyXG4gIH1cclxuICBcclxuICAuY29udGVudCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luOiAzMnB4IGF1dG87XHJcbiAgICBwYWRkaW5nOiAwIDE2cHg7XHJcbiAgICBtYXgtd2lkdGg6IDk2MHB4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgfVxyXG4gIFxyXG4gIHN2Zy5tYXRlcmlhbC1pY29ucyB7XHJcbiAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICB9XHJcbiAgXHJcbiAgc3ZnLm1hdGVyaWFsLWljb25zOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5jYXJkLXNodXR0ZXIgc3ZnLm1hdGVyaWFsLWljb25zIHBhdGgge1xyXG4gICAgZmlsbDogIzg4ODtcclxuICB9XHJcbiAgXHJcbiAgLmNhcmQtY29udGFpbmVyLXNodXR0ZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWFyZ2luLXRvcDogMTZweDtcclxuICB9XHJcbiAgXHJcbiAgLmNhcmQtc2h1dHRlciB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcclxuICAgIGhlaWdodDogNzVweDtcclxuICAgIHdpZHRoOiAyMzVweDtcclxuICAgIG1hcmdpbjogMjBweCA4cHggMTZweDtcclxuICAgIHBhZGRpbmc6IDE2cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgfVxyXG5cclxuXHJcbiAgXHJcbiAgLmNhcmQtY29udGFpbmVyLXNodXR0ZXIgLmNhcmQtc2h1dHRlcjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICB9XHJcbiAgXHJcbiAgLmNhcmQtc2h1dHRlci5jYXJkLXNtYWxsLXNodXR0ZXIge1xyXG4gICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgd2lkdGg6IDIwMHB4O1xyXG4gIH1cclxuICBcclxuICAuY2FyZC1jb250YWluZXItc2h1dHRlciAuY2FyZC1zaHV0dGVyOm5vdCguaGlnaGxpZ2h0LWNhcmQpIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcbiAgXHJcbiAgLmNhcmQtY29udGFpbmVyLXNodXR0ZXIgLmNhcmQtc2h1dHRlcjpub3QoLmhpZ2hsaWdodC1jYXJkKTpob3ZlciB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XHJcbiAgICBib3gtc2hhZG93OiAwIDRweCAxN3B4IHJnYmEoYmxhY2ssIDAuMzUpO1xyXG4gIH1cclxuICBcclxuICAuY2FyZC1jb250YWluZXItc2h1dHRlciAuY2FyZC1zaHV0dGVyOm5vdCguaGlnaGxpZ2h0LWNhcmQpOmhvdmVyIC5tYXRlcmlhbC1pY29ucyBwYXRoIHtcclxuICAgIGZpbGw6IHJnYigxMDUsIDEwMywgMTAzKTtcclxuICB9XHJcbiAgXHJcbiAgLmNhcmQtc2h1dHRlci5oaWdobGlnaHQtY2FyZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTk3NmQyO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgbWluLXdpZHRoOiAzMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tdG9wOjUwcHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5jYXJkLXNodXR0ZXIuY2FyZC1zaHV0dGVyLmhpZ2hsaWdodC1jYXJkIHNwYW4ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDYwcHg7XHJcbiAgfVxyXG4gIFxyXG4gIFxyXG4gIGEsXHJcbiAgYTp2aXNpdGVkLFxyXG4gIGE6aG92ZXIge1xyXG4gICAgY29sb3I6ICMxOTc2ZDI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgfVxyXG4gIFxyXG4gIGE6aG92ZXIge1xyXG4gICAgY29sb3I6ICMxMjU2OTk7XHJcbiAgfVxyXG4gIFxyXG4gIC5jaXJjbGUtbGluayB7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICB3aWR0aDogNDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XHJcbiAgICBtYXJnaW46IDhweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yNCk7XHJcbiAgICB0cmFuc2l0aW9uOiAxcyBlYXNlLW91dDtcclxuICB9XHJcbiAgXHJcbiAgLmNpcmNsZS1saW5rOmhvdmVyIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4yNXJlbSk7XHJcbiAgICBib3gtc2hhZG93OiAwcHggM3B4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gIH1cclxuICBcclxuICBmb290ZXIge1xyXG4gICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgfVxyXG4gIFxyXG4gIFxyXG4gIHN2ZyNzaG9wIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGJvdHRvbTogMHB4O1xyXG4gICAgbGVmdDogLTEzMHB4O1xyXG4gICAgei1pbmRleDogLTEwO1xyXG4gICAgd2lkdGg6IDE5MjBweDtcclxuICAgIG9wYWNpdHk6IDI2JTtcclxuICB9XHJcbiAgXHJcbiAgXHJcbiAgLyogUmVzcG9uc2l2ZSBTdHlsZXMgKi9cclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gIFxyXG4gICAgLmNhcmQtY29udGFpbmVyID4gKjpub3QoLmNpcmNsZS1saW5rKSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgLmNhcmQ6bm90KC5oaWdobGlnaHQtY2FyZCkge1xyXG4gICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgIG1hcmdpbjogOHB4IDA7XHJcbiAgICB9XHJcbiAgXHJcbiAgICAuY2FyZC5oaWdobGlnaHQtY2FyZCBzcGFuIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDcycHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmNhcmQtc2h1dHRlci5jYXJkLXNtYWxsLXNodXR0ZXIge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICBcclxuICB9XHJcbiAgXHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcclxuICAgIHN2ZyNyb2NrZXQtc21va2Uge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBidXR0b257XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1kYXJrO1xyXG4gICAgYm9yZGVyOjFweCBzb2xpZCBibGFjaztcclxuICAgIGNvbG9yOiAgJGhpZ2hsaWdodDtcclxuICAgIHBhZGRpbmc6MTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIG1pbi13aWR0aDogNzBweDtcclxufVxyXG5cclxuYnV0dG9uOmhvdmVye1xyXG4gICAgYm9yZGVyOjFweCBzb2xpZCAjZmVhYTAwO1xyXG59XHJcblxyXG5pbnB1dHtcclxuICAgIHBhZGRpbmc6OHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgYm9yZGVyOjJweCBzb2xpZCBibGFjaztcclxufVxyXG5cclxuLmVycm9yLWluZGljYXRvcntcclxuICBjb2xvcjpyZWQ7XHJcbn1cclxuXHJcbi5zaHV0dGVyLXF1ZXN0aW9ue1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRiYWNrZ3JvdW5kLWRhcms7XHJcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICBwYWRkaW5nOjVweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAgJGhpZ2hsaWdodDtcclxufVxyXG5cclxuLnNodXR0ZXItcXVlc3Rpb246aG92ZXJ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmxvYWRpbmctaWNvbntcclxuICBjb2xvcjpyZWQ7XHJcbiAgYm9yZGVyOiAxNnB4IHNvbGlkICNmM2YzZjM7IC8qIExpZ2h0IGdyZXkgKi9cclxuICBib3JkZXItdG9wOiAxNnB4IHNvbGlkICMzNDk4ZGI7IC8qIEJsdWUgKi9cclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgd2lkdGg6IDEyMHB4O1xyXG4gIGhlaWdodDogMTIwcHg7XHJcbiAgYW5pbWF0aW9uOiBzcGluIDJzIGxpbmVhciBpbmZpbml0ZTsgXHJcbn1cclxuXHJcblxyXG5cclxuQGtleWZyYW1lcyBzcGluIHtcclxuICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbiAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cclxufSIsIjpob3N0IHtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjMzMzO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgbWFyZ2luOiA4cHggMDtcbn1cblxuaDIge1xuICBmb250LXNpemU6IDEuNWVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICMzMzM7XG59XG5cbnAge1xuICBtYXJnaW46IDA7XG59XG5cbi5tdC0yIHtcbiAgbWFyZ2luLXRvcDogMTAwcHg7XG59XG5cbi5zcGFjZXIge1xuICBmbGV4OiAxO1xufVxuXG4udG9vbGJhci1zaHV0dGVyIHtcbiAgaGVpZ2h0OiA2MHB4O1xuICBtYXJnaW46IDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0MjYyODtcbiAgY29sb3I6ICNmZWFhMDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuI3RlY3NwbG9pdC1sb2dvIHtcbiAgbWFyZ2luOiAxNnB4O1xufVxuXG4udG9vbGJhci1zaHV0dGVyIGltZyB7XG4gIG1hcmdpbjogMCAxNnB4O1xufVxuXG4udG9vbGJhci1zaHV0dGVyICN0d2l0dGVyLWxvZ28ge1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbjogMCAxNnB4O1xufVxuXG4udG9vbGJhci1zaHV0dGVyICN0d2l0dGVyLWxvZ286aG92ZXIge1xuICBvcGFjaXR5OiAwLjg7XG59XG5cbi5jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAzMnB4IGF1dG87XG4gIHBhZGRpbmc6IDAgMTZweDtcbiAgbWF4LXdpZHRoOiA5NjBweDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuc3ZnLm1hdGVyaWFsLWljb25zIHtcbiAgaGVpZ2h0OiAyNHB4O1xuICB3aWR0aDogYXV0bztcbn1cblxuc3ZnLm1hdGVyaWFsLWljb25zOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLmNhcmQtc2h1dHRlciBzdmcubWF0ZXJpYWwtaWNvbnMgcGF0aCB7XG4gIGZpbGw6ICM4ODg7XG59XG5cbi5jYXJkLWNvbnRhaW5lci1zaHV0dGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cblxuLmNhcmQtc2h1dHRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgaGVpZ2h0OiA3NXB4O1xuICB3aWR0aDogMjM1cHg7XG4gIG1hcmdpbjogMjBweCA4cHggMTZweDtcbiAgcGFkZGluZzogMTZweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICBsaW5lLWhlaWdodDogMjRweDtcbn1cblxuLmNhcmQtY29udGFpbmVyLXNodXR0ZXIgLmNhcmQtc2h1dHRlcjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uY2FyZC1zaHV0dGVyLmNhcmQtc21hbGwtc2h1dHRlciB7XG4gIGhlaWdodDogMTZweDtcbiAgd2lkdGg6IDIwMHB4O1xufVxuXG4uY2FyZC1jb250YWluZXItc2h1dHRlciAuY2FyZC1zaHV0dGVyOm5vdCguaGlnaGxpZ2h0LWNhcmQpIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY2FyZC1jb250YWluZXItc2h1dHRlciAuY2FyZC1zaHV0dGVyOm5vdCguaGlnaGxpZ2h0LWNhcmQpOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpO1xuICBib3gtc2hhZG93OiAwIDRweCAxN3B4IHJnYmEoMCwgMCwgMCwgMC4zNSk7XG59XG5cbi5jYXJkLWNvbnRhaW5lci1zaHV0dGVyIC5jYXJkLXNodXR0ZXI6bm90KC5oaWdobGlnaHQtY2FyZCk6aG92ZXIgLm1hdGVyaWFsLWljb25zIHBhdGgge1xuICBmaWxsOiAjNjk2NzY3O1xufVxuXG4uY2FyZC1zaHV0dGVyLmhpZ2hsaWdodC1jYXJkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE5NzZkMjtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXdlaWdodDogNjAwO1xuICBib3JkZXI6IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtaW4td2lkdGg6IDMwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiA1MHB4O1xufVxuXG4uY2FyZC1zaHV0dGVyLmNhcmQtc2h1dHRlci5oaWdobGlnaHQtY2FyZCBzcGFuIHtcbiAgbWFyZ2luLWxlZnQ6IDYwcHg7XG59XG5cbmEsXG5hOnZpc2l0ZWQsXG5hOmhvdmVyIHtcbiAgY29sb3I6ICMxOTc2ZDI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYTpob3ZlciB7XG4gIGNvbG9yOiAjMTI1Njk5O1xufVxuXG4uY2lyY2xlLWxpbmsge1xuICBoZWlnaHQ6IDQwcHg7XG4gIHdpZHRoOiA0MHB4O1xuICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICBtYXJnaW46IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjI0KTtcbiAgdHJhbnNpdGlvbjogMXMgZWFzZS1vdXQ7XG59XG5cbi5jaXJjbGUtbGluazpob3ZlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4yNXJlbSk7XG4gIGJveC1zaGFkb3c6IDBweCAzcHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbmZvb3RlciB7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBsaW5lLWhlaWdodDogMjBweDtcbn1cblxuc3ZnI3Nob3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMHB4O1xuICBsZWZ0OiAtMTMwcHg7XG4gIHotaW5kZXg6IC0xMDtcbiAgd2lkdGg6IDE5MjBweDtcbiAgb3BhY2l0eTogMjYlO1xufVxuXG4vKiBSZXNwb25zaXZlIFN0eWxlcyAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmNhcmQtY29udGFpbmVyID4gKjpub3QoLmNpcmNsZS1saW5rKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuY2FyZDpub3QoLmhpZ2hsaWdodC1jYXJkKSB7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbjogOHB4IDA7XG4gIH1cblxuICAuY2FyZC5oaWdobGlnaHQtY2FyZCBzcGFuIHtcbiAgICBtYXJnaW4tbGVmdDogNzJweDtcbiAgfVxuXG4gIC5jYXJkLXNodXR0ZXIuY2FyZC1zbWFsbC1zaHV0dGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgc3ZnI3JvY2tldC1zbW9rZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cbmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDI2Mjg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xuICBjb2xvcjogI2ZlYWEwMDtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBtaW4td2lkdGg6IDcwcHg7XG59XG5cbmJ1dHRvbjpob3ZlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZWFhMDA7XG59XG5cbmlucHV0IHtcbiAgcGFkZGluZzogOHB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrO1xufVxuXG4uZXJyb3ItaW5kaWNhdG9yIHtcbiAgY29sb3I6IHJlZDtcbn1cblxuLnNodXR0ZXItcXVlc3Rpb24ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMzQyNjI4O1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwYWRkaW5nOiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWFhMDA7XG59XG5cbi5zaHV0dGVyLXF1ZXN0aW9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogZ3JheTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubG9hZGluZy1pY29uIHtcbiAgY29sb3I6IHJlZDtcbiAgYm9yZGVyOiAxNnB4IHNvbGlkICNmM2YzZjM7XG4gIC8qIExpZ2h0IGdyZXkgKi9cbiAgYm9yZGVyLXRvcDogMTZweCBzb2xpZCAjMzQ5OGRiO1xuICAvKiBCbHVlICovXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgd2lkdGg6IDEyMHB4O1xuICBoZWlnaHQ6IDEyMHB4O1xuICBhbmltYXRpb246IHNwaW4gMnMgbGluZWFyIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHNwaW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuLmVycm9yLWRpdiB7XG4gIGNvbG9yOiByZWQ7XG4gIGZvbnQtc2l6ZTogMjJweDtcbn1cblxuLmNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDMycHggYXV0bztcbiAgcGFkZGluZzogMCAxNnB4O1xuICBtYXgtd2lkdGg6IDk2MHB4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbi5sb2FkaW5nLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5ob21lLWljb24ge1xuICBmb250LXNpemU6IDI1cHg7XG4gIGNvbG9yOiAjNzk3YTdhO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbmEsXG5hOnZpc2l0ZWQsXG5hOmhvdmVyIHtcbiAgY29sb3I6ICMxOTc2ZDI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYTpob3ZlciB7XG4gIGNvbG9yOiAjMTI1Njk5O1xufVxuXG4uY2lyY2xlLWxpbmsge1xuICBoZWlnaHQ6IDQwcHg7XG4gIHdpZHRoOiA0MHB4O1xuICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICBtYXJnaW46IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjI0KTtcbiAgdHJhbnNpdGlvbjogMXMgZWFzZS1vdXQ7XG59XG5cbi5jaXJjbGUtbGluazpob3ZlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4yNXJlbSk7XG4gIGJveC1zaGFkb3c6IDBweCAzcHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbi5naXRodWItc3Rhci1iYWRnZTpob3ZlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtMTgwZGVnLCAjZjBmM2Y2LCAjZTZlYmYxIDkwJSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNywgMzEsIDM1LCAwLjM1KTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTAuNWVtO1xufVxuXG4uZ2l0aHViLXN0YXItYmFkZ2UgLm1hdGVyaWFsLWljb25zIHtcbiAgaGVpZ2h0OiAxNnB4O1xuICB3aWR0aDogMTZweDtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG59XG5cbi8qIFJlc3BvbnNpdmUgU3R5bGVzICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuY2FyZC1jb250YWluZXItc2h1dHRlciA+ICo6bm90KC5jaXJjbGUtbGluaykge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmNhcmQtc2h1dHRlcjpub3QoLmhpZ2hsaWdodC1jYXJkKSB7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIG1hcmdpbjogOHB4IDA7XG4gIH1cblxuICAuY2FyZC1zaHV0dGVyLmhpZ2hsaWdodC1jYXJkIHNwYW4ge1xuICAgIG1hcmdpbi1sZWZ0OiA3MnB4O1xuICB9XG5cbiAgc3ZnI3JvY2tldC1zbW9rZSB7XG4gICAgcmlnaHQ6IDEyMHB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgc3ZnI3JvY2tldC1zbW9rZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn0iLCIgQGltcG9ydCAnLi4vLi4vc3R5bGVzLnNjc3MnO1xyXG5cclxuLmVycm9yLWRpdntcclxuICBjb2xvcjpyZWQ7XHJcbiAgZm9udC1zaXplOiAyMnB4O1xyXG59XHJcblxyXG4gLmNvbnRlbnQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbjogMzJweCBhdXRvO1xyXG4gICAgcGFkZGluZzogMCAxNnB4O1xyXG4gICAgbWF4LXdpZHRoOiA5NjBweDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIH1cclxuXHJcbiAgLmxvYWRpbmctY29udGFpbmVye1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgLmhvbWUtaWNvbntcclxuICAgIGZvbnQtc2l6ZTogMjVweDtcclxuICAgIGNvbG9yOiM3OTdhN2E7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgfVxyXG5cclxuICBhLFxyXG4gIGE6dmlzaXRlZCxcclxuICBhOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjMTk3NmQyO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxuXHJcbiAgYTpob3ZlciB7XHJcbiAgICBjb2xvcjogIzEyNTY5OTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgLmNpcmNsZS1saW5rIHtcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNDBweDtcclxuICAgIG1hcmdpbjogOHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjI0KTtcclxuICAgIHRyYW5zaXRpb246IDFzIGVhc2Utb3V0O1xyXG4gIH1cclxuXHJcbiAgLmNpcmNsZS1saW5rOmhvdmVyIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4yNXJlbSk7XHJcbiAgICBib3gtc2hhZG93OiAwcHggM3B4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICAuZ2l0aHViLXN0YXItYmFkZ2U6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC0xODBkZWcsI2YwZjNmNiwjZTZlYmYxIDkwJSk7XHJcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjcsMzEsMzUsLjM1KTtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0uNWVtO1xyXG4gIH1cclxuXHJcbiAgLmdpdGh1Yi1zdGFyLWJhZGdlIC5tYXRlcmlhbC1pY29ucyB7XHJcbiAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICB3aWR0aDogMTZweDtcclxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xyXG4gIH1cclxuXHJcblxyXG4gIC8qIFJlc3BvbnNpdmUgU3R5bGVzICovXHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuXHJcbiAgICAuY2FyZC1jb250YWluZXItc2h1dHRlciA+ICo6bm90KC5jaXJjbGUtbGluaykge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAuY2FyZC1zaHV0dGVyOm5vdCguaGlnaGxpZ2h0LWNhcmQpIHtcclxuICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICBtYXJnaW46IDhweCAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5jYXJkLXNodXR0ZXIuaGlnaGxpZ2h0LWNhcmQgc3BhbiB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiA3MnB4O1xyXG4gICAgfVxyXG5cclxuICAgIHN2ZyNyb2NrZXQtc21va2Uge1xyXG4gICAgICByaWdodDogMTIwcHg7XHJcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XHJcbiAgICBzdmcjcm9ja2V0LXNtb2tlIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgfVxyXG4gIH0iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { StoreShutterService } from '../services/StoreShutterService';\r\nimport { faDollarSign, faCog, faQuestionCircle } from '@fortawesome/free-solid-svg-icons';\r\nimport { StoreSubscriptionState } from '../models/StoreState';\r\n\r\n@Component({\r\n  selector: 'app-home',\r\n  templateUrl: './home.component.html',\r\n  styleUrls: ['./home.component.scss']\r\n})\r\nexport class HomeComponent implements OnInit {\r\n\r\n  storeId = \"\";\r\n\r\n  isOpen = true;\r\n\r\n  loading = true;\r\n\r\n  isError = false;\r\n  isStoreIdFound = true;\r\n  isResolved = false;\r\n\r\n  faDollarSign = faDollarSign;\r\n  faCog = faCog;\r\n  faQuestionCircle = faQuestionCircle;\r\n\r\n  constructor(private router: Router, private activeRoute: ActivatedRoute, private storeShutterService: StoreShutterService) {\r\n\r\n\r\n  }\r\n\r\n  ngOnInit() {\r\n\r\n    this.activeRoute.data.subscribe((data: { inFrame: boolean }) => {\r\n\r\n      if (data.inFrame === false) {\r\n        let shop = this.activeRoute.snapshot.queryParamMap.get('shop');\r\n        console.log('no frame redirecting');\r\n        window.top.location.href = 'https://'+shop+'/admin/apps/a3291b44b9ad3597b6a96d8569afb278';\r\n        return;\r\n      }else{\r\n        console.log('in a frame');\r\n        this.isResolved = true;\r\n      }\r\n\r\n      if (this.activeRoute.snapshot.queryParamMap.has('si')) {\r\n        this.storeId = this.activeRoute.snapshot.queryParamMap.get('si');\r\n        this.getStoreState();\r\n\r\n      } else {\r\n        console.error(\"Could not load store id\");\r\n        this.isStoreIdFound = false;\r\n        this.isError = true;\r\n        this.loading = false;\r\n      }\r\n\r\n\r\n    });\r\n\r\n\r\n  }\r\n\r\n  retry() {\r\n    this.loading = true;\r\n    this.isError = false;\r\n    this.getStoreState();\r\n  }\r\n\r\n  getStoreState() {\r\n\r\n    this.storeShutterService.getStoreStoreSubscripitionState(this.storeId).then((subStatus: StoreSubscriptionState) => {\r\n      switch (subStatus) {\r\n        case StoreSubscriptionState.MONTHLY:\r\n          this.loadStoreState();\r\n          break;\r\n        case StoreSubscriptionState.YEARLY:\r\n          this.loadStoreState();\r\n          break;\r\n        case StoreSubscriptionState.NO_SUBSCRIPTION:\r\n          this.router.navigate(['/pricing'], { queryParamsHandling: \"merge\" });\r\n          break;\r\n      }\r\n    }).catch(error => {\r\n      console.error(\"error store plan on home page:\" + error);\r\n      this.isError = true;\r\n      this.loading = false;\r\n    });\r\n  }\r\n\r\n  loadStoreState() {\r\n\r\n    this.storeShutterService.isStoreOpen(this.storeId).subscribe(state => {\r\n      if (state == \"on\") {\r\n        this.isOpen = false;\r\n      } else {\r\n        this.isOpen = true;\r\n      }\r\n\r\n      this.loading = false\r\n    }, error => {\r\n      this.isError = true;\r\n      this.loading = false;\r\n    });\r\n  }\r\n\r\n  openShutter() {\r\n    if (this.isOpen) {\r\n      return;\r\n    }\r\n\r\n    this.storeShutterService.openShutter(this.storeId);\r\n\r\n    this.isOpen = true;\r\n  }\r\n\r\n  closeShutter() {\r\n    if (!this.isOpen) {\r\n      return;\r\n    }\r\n\r\n    this.storeShutterService.closeShutter(this.storeId);\r\n    this.isOpen = false;\r\n  }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2luZm8tbW9kZWwvaW5mby1tb2RlbC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\n\r\n@Component({\r\n  selector: 'app-info-model',\r\n  templateUrl: './info-model.component.html',\r\n  styleUrls: ['./info-model.component.scss']\r\n})\r\nexport class InfoModelComponent implements OnInit {\r\n\r\n  title: string;\r\n  public onClose: Subject<boolean>;\r\n\r\n  constructor(public bsModalRef: BsModalRef) {\r\n    \r\n   }\r\n\r\n  public ngOnInit(): void {\r\n    this.onClose = new Subject();\r\n  }\r\n\r\n  public closeDialoug(): void {\r\n    this.onClose.next(true);\r\n    this.bsModalRef.hide();\r\n  }\r\n\r\n}\r\n","export class StoreSetting {\r\n    \r\n    constructor(public key : string, public value : string){\r\n\r\n    }\r\n\r\n}","export enum StoreSubscriptionState{\r\n    NO_SUBSCRIPTION,\r\n    MONTHLY,\r\n    YEARLY\r\n}","export default \":host {\\n  font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, Helvetica, Arial, sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\";\\n  font-size: 16px;\\n  color: #333;\\n  box-sizing: border-box;\\n  -webkit-font-smoothing: antialiased;\\n  -moz-osx-font-smoothing: grayscale;\\n}\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n  margin: 8px 0;\\n}\\n\\nh2 {\\n  font-size: 1.5em;\\n  font-weight: bold;\\n  display: block;\\n  color: #333;\\n}\\n\\nh3 {\\n  font-size: 1em;\\n  font-weight: 700;\\n  display: block;\\n  color: #333;\\n}\\n\\np {\\n  margin: 0;\\n}\\n\\n.mt-2 {\\n  margin-top: 100px;\\n}\\n\\n.spacer {\\n  flex: 1;\\n}\\n\\n.toolbar-shutter {\\n  height: 60px;\\n  margin: 0px;\\n  display: flex;\\n  align-items: center;\\n  background-color: #342628;\\n  color: #feaa00;\\n  font-weight: 600;\\n  font-size: 18px;\\n}\\n\\n#tecsploit-logo {\\n  margin: 16px;\\n}\\n\\n.toolbar-shutter img {\\n  margin: 0 16px;\\n}\\n\\n.toolbar-shutter #twitter-logo {\\n  height: 40px;\\n  margin: 0 16px;\\n}\\n\\n.toolbar-shutter #twitter-logo:hover {\\n  opacity: 0.8;\\n}\\n\\n.content {\\n  display: flex;\\n  margin: 32px auto;\\n  padding: 0 16px;\\n  max-width: 960px;\\n  flex-direction: column;\\n  align-items: center;\\n}\\n\\nsvg.material-icons {\\n  height: 24px;\\n  width: auto;\\n}\\n\\nsvg.material-icons:not(:last-child) {\\n  margin-right: 8px;\\n}\\n\\n.card-shutter svg.material-icons path {\\n  fill: #888;\\n}\\n\\n.card-container-shutter {\\n  display: flex;\\n  flex-wrap: wrap;\\n  justify-content: center;\\n  margin-top: 16px;\\n}\\n\\n.card-shutter {\\n  border-radius: 4px;\\n  border: 1px solid #eee;\\n  background-color: #fafafa;\\n  height: 75px;\\n  width: 235px;\\n  margin: 20px 8px 16px;\\n  padding: 16px;\\n  display: flex;\\n  flex-direction: row;\\n  justify-content: center;\\n  align-items: center;\\n  transition: all 0.2s ease-in-out;\\n  line-height: 24px;\\n}\\n\\n.card-container-shutter .card-shutter:not(:last-child) {\\n  margin-right: 0;\\n}\\n\\n.card-shutter.card-small-shutter {\\n  height: 16px;\\n  width: 200px;\\n}\\n\\n.card-container-shutter .card-shutter:not(.highlight-card) {\\n  cursor: pointer;\\n}\\n\\n.card-container-shutter .card-shutter:not(.highlight-card):hover {\\n  transform: translateY(-3px);\\n  box-shadow: 0 4px 17px rgba(0, 0, 0, 0.35);\\n}\\n\\n.card-container-shutter .card-shutter:not(.highlight-card):hover .material-icons path {\\n  fill: #696767;\\n}\\n\\n.card-shutter.highlight-card {\\n  background-color: #1976d2;\\n  color: white;\\n  font-weight: 600;\\n  border: none;\\n  width: auto;\\n  min-width: 30%;\\n  position: relative;\\n  margin-top: 50px;\\n}\\n\\n.card-shutter.card-shutter.highlight-card span {\\n  margin-left: 60px;\\n}\\n\\na,\\na:visited,\\na:hover {\\n  color: #1976d2;\\n  text-decoration: none;\\n}\\n\\na:hover {\\n  color: #125699;\\n}\\n\\n.circle-link {\\n  height: 40px;\\n  width: 40px;\\n  border-radius: 40px;\\n  margin: 8px;\\n  background-color: white;\\n  border: 1px solid #eeeeee;\\n  display: flex;\\n  justify-content: center;\\n  align-items: center;\\n  cursor: pointer;\\n  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);\\n  transition: 1s ease-out;\\n}\\n\\n.circle-link:hover {\\n  transform: translateY(-0.25rem);\\n  box-shadow: 0px 3px 15px rgba(0, 0, 0, 0.2);\\n}\\n\\nfooter {\\n  margin-top: 8px;\\n  display: flex;\\n  flex-wrap: wrap;\\n  align-items: center;\\n  flex-direction: column;\\n  line-height: 20px;\\n}\\n\\nsvg#shop {\\n  position: fixed;\\n  bottom: 0px;\\n  left: -130px;\\n  z-index: -10;\\n  width: 1920px;\\n  opacity: 26%;\\n}\\n\\n/* Responsive Styles */\\n\\n@media screen and (max-width: 767px) {\\n  .card-container > *:not(.circle-link) {\\n    width: 100%;\\n  }\\n\\n  .card:not(.highlight-card) {\\n    height: 16px;\\n    margin: 8px 0;\\n  }\\n\\n  .card.highlight-card span {\\n    margin-left: 72px;\\n  }\\n\\n  .card-shutter.card-small-shutter {\\n    width: 100%;\\n  }\\n}\\n\\n@media screen and (max-width: 575px) {\\n  svg#rocket-smoke {\\n    display: none;\\n    visibility: hidden;\\n  }\\n}\\n\\nbutton {\\n  background-color: #342628;\\n  border: 1px solid black;\\n  color: #feaa00;\\n  padding: 10px;\\n  border-radius: 5px;\\n  min-width: 70px;\\n}\\n\\nbutton:hover {\\n  border: 1px solid #feaa00;\\n}\\n\\ninput {\\n  padding: 8px;\\n  border-radius: 5px;\\n  border: 2px solid black;\\n}\\n\\n.error-indicator {\\n  color: red;\\n}\\n\\n.shutter-question {\\n  border: 1px solid #342628;\\n  border-radius: 10px;\\n  padding: 5px;\\n  background-color: #feaa00;\\n}\\n\\n.shutter-question:hover {\\n  background-color: gray;\\n  cursor: pointer;\\n}\\n\\n.loading-icon {\\n  color: red;\\n  border: 16px solid #f3f3f3;\\n  /* Light grey */\\n  border-top: 16px solid #3498db;\\n  /* Blue */\\n  border-radius: 50%;\\n  width: 120px;\\n  height: 120px;\\n  -webkit-animation: spin 2s linear infinite;\\n          animation: spin 2s linear infinite;\\n}\\n\\n@-webkit-keyframes spin {\\n  0% {\\n    transform: rotate(0deg);\\n  }\\n  100% {\\n    transform: rotate(360deg);\\n  }\\n}\\n\\n@keyframes spin {\\n  0% {\\n    transform: rotate(0deg);\\n  }\\n  100% {\\n    transform: rotate(360deg);\\n  }\\n}\\n\\n.pricing-page {\\n  text-align: center;\\n}\\n\\n.tile-title {\\n  width: 100%;\\n  padding: 10px;\\n  background-color: #feaa00;\\n}\\n\\n.card-pricing-chosen {\\n  cursor: not-allowed !important;\\n}\\n\\n.card-pricing {\\n  border-radius: 4px;\\n  border: 1px solid #eee;\\n  background-color: #fafafa;\\n  margin: 20px 8px 16px;\\n  width: 280px;\\n  display: flex;\\n  flex-direction: column;\\n  justify-content: top;\\n  align-items: center;\\n  transition: all 0.2s ease-in-out;\\n  line-height: 24px;\\n  color: #333;\\n  cursor: pointer;\\n}\\n\\n.card-pricing:hover {\\n  transform: translateY(-3px);\\n  box-shadow: 0 4px 17px rgba(0, 0, 0, 0.35);\\n}\\n\\n.shutter-price-label {\\n  font-size: 28px;\\n  padding: 10px;\\n  margin-top: 10px;\\n}\\n\\n.shutter-price-label-highlight {\\n  font-size: 28px;\\n  font-weight: 600;\\n}\\n\\n.current-plan {\\n  font-weight: 600;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcHJpY2luZy9EOlxcYVxcMVxccy9zcmNcXHN0eWxlcy5zY3NzIiwic3JjL2FwcC9wcmljaW5nL3ByaWNpbmcuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3ByaWNpbmcvRDpcXGFcXDFcXHMvc3JjXFxhcHBcXHByaWNpbmdcXHByaWNpbmcuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSwwSkFBQTtFQUNBLGVBQUE7RUFDQSxXQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQ0FBQTtFQUNBLGtDQUFBO0FDQ0o7O0FETUU7Ozs7OztFQU1FLGFBQUE7QUNISjs7QURNRTtFQUNFLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxjQUFBO0VBQ0EsV0FBQTtBQ0hKOztBRE1FO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7QUNISjs7QURNRTtFQUNFLFNBQUE7QUNISjs7QURNRTtFQUNJLGlCQUFBO0FDSE47O0FETUU7RUFDRSxPQUFBO0FDSEo7O0FETUU7RUFDRSxZQUFBO0VBQ0EsV0FBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHlCQTNDYztFQTRDZCxjQTdDUTtFQThDUixnQkFBQTtFQUNBLGVBQUE7QUNISjs7QURNRTtFQUNFLFlBQUE7QUNISjs7QURNRTtFQUNFLGNBQUE7QUNISjs7QURNRTtFQUNFLFlBQUE7RUFDQSxjQUFBO0FDSEo7O0FETUU7RUFDRSxZQUFBO0FDSEo7O0FETUU7RUFDRSxhQUFBO0VBQ0EsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFBO0FDSEo7O0FETUU7RUFDRSxZQUFBO0VBQ0EsV0FBQTtBQ0hKOztBRE1FO0VBQ0UsaUJBQUE7QUNISjs7QURNRTtFQUNFLFVBQUE7QUNISjs7QURNRTtFQUNFLGFBQUE7RUFDQSxlQUFBO0VBQ0EsdUJBQUE7RUFDQSxnQkFBQTtBQ0hKOztBRE1FO0VBQ0Usa0JBQUE7RUFDQSxzQkFBQTtF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LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCI7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBjb2xvcjogIzMzMztcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgfVxyXG4gIFxyXG4gJGhpZ2hsaWdodDojZmVhYTAwO1xyXG4gJGJhY2tncm91bmQtZGFyazojMzQyNjI4O1xyXG4gJGJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kOmdyYXk7XHJcblxyXG4gIGgxLFxyXG4gIGgyLFxyXG4gIGgzLFxyXG4gIGg0LFxyXG4gIGg1LFxyXG4gIGg2IHtcclxuICAgIG1hcmdpbjogOHB4IDA7XHJcbiAgfVxyXG5cclxuICBoMntcclxuICAgIGZvbnQtc2l6ZTogMS41ZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY29sb3I6ICMzMzM7XHJcbiAgfVxyXG5cclxuICBoM3tcclxuICAgIGZvbnQtc2l6ZTogMWVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY29sb3I6ICMzMzM7XHJcbiAgfVxyXG4gIFxyXG4gIHAge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxuICBcclxuICAubXQtMntcclxuICAgICAgbWFyZ2luLXRvcDogMTAwcHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5zcGFjZXIge1xyXG4gICAgZmxleDogMTtcclxuICB9XHJcbiAgXHJcbiAgLnRvb2xiYXItc2h1dHRlciB7XHJcbiAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICBtYXJnaW46IDBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtZGFyaztcclxuICAgIGNvbG9yOiAgJGhpZ2hsaWdodDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgfVxyXG4gIFxyXG4gICN0ZWNzcGxvaXQtbG9nb3tcclxuICAgIG1hcmdpbjoxNnB4O1xyXG4gIH1cclxuICBcclxuICAudG9vbGJhci1zaHV0dGVyIGltZyB7XHJcbiAgICBtYXJnaW46IDAgMTZweDtcclxuICB9XHJcbiAgXHJcbiAgLnRvb2xiYXItc2h1dHRlciAjdHdpdHRlci1sb2dvIHtcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIG1hcmdpbjogMCAxNnB4O1xyXG4gIH1cclxuICBcclxuICAudG9vbGJhci1zaHV0dGVyICN0d2l0dGVyLWxvZ286aG92ZXIge1xyXG4gICAgb3BhY2l0eTogMC44O1xyXG4gIH1cclxuICBcclxuICAuY29udGVudCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luOiAzMnB4IGF1dG87XHJcbiAgICBwYWRkaW5nOiAwIDE2cHg7XHJcbiAgICBtYXgtd2lkdGg6IDk2MHB4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgfVxyXG4gIFxyXG4gIHN2Zy5tYXRlcmlhbC1pY29ucyB7XHJcbiAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICB9XHJcbiAgXHJcbiAgc3ZnLm1hdGVyaWFsLWljb25zOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5jYXJkLXNodXR0ZXIgc3ZnLm1hdGVyaWFsLWljb25zIHBhdGgge1xyXG4gICAgZmlsbDogIzg4ODtcclxuICB9XHJcbiAgXHJcbiAgLmNhcmQtY29udGFpbmVyLXNodXR0ZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWFyZ2luLXRvcDogMTZweDtcclxuICB9XHJcbiAgXHJcbiAgLmNhcmQtc2h1dHRlciB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcclxuICAgIGhlaWdodDogNzVweDtcclxuICAgIHdpZHRoOiAyMzVweDtcclxuICAgIG1hcmdpbjogMjBweCA4cHggMTZweDtcclxuICAgIHBhZGRpbmc6IDE2cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgfVxyXG5cclxuXHJcbiAgXHJcbiAgLmNhcmQtY29udGFpbmVyLXNodXR0ZXIgLmNhcmQtc2h1dHRlcjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICB9XHJcbiAgXHJcbiAgLmNhcmQtc2h1dHRlci5jYXJkLXNtYWxsLXNodXR0ZXIge1xyXG4gICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgd2lkdGg6IDIwMHB4O1xyXG4gIH1cclxuICBcclxuICAuY2FyZC1jb250YWluZXItc2h1dHRlciAuY2FyZC1zaHV0dGVyOm5vdCguaGlnaGxpZ2h0LWNhcmQpIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcbiAgXHJcbiAgLmNhcmQtY29udGFpbmVyLXNodXR0ZXIgLmNhcmQtc2h1dHRlcjpub3QoLmhpZ2hsaWdodC1jYXJkKTpob3ZlciB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XHJcbiAgICBib3gtc2hhZG93OiAwIDRweCAxN3B4IHJnYmEoYmxhY2ssIDAuMzUpO1xyXG4gIH1cclxuICBcclxuICAuY2FyZC1jb250YWluZXItc2h1dHRlciAuY2FyZC1zaHV0dGVyOm5vdCguaGlnaGxpZ2h0LWNhcmQpOmhvdmVyIC5tYXRlcmlhbC1pY29ucyBwYXRoIHtcclxuICAgIGZpbGw6IHJnYigxMDUsIDEwMywgMTAzKTtcclxuICB9XHJcbiAgXHJcbiAgLmNhcmQtc2h1dHRlci5oaWdobGlnaHQtY2FyZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTk3NmQyO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgbWluLXdpZHRoOiAzMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tdG9wOjUwcHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5jYXJkLXNodXR0ZXIuY2FyZC1zaHV0dGVyLmhpZ2hsaWdodC1jYXJkIHNwYW4ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDYwcHg7XHJcbiAgfVxyXG4gIFxyXG4gIFxyXG4gIGEsXHJcbiAgYTp2aXNpdGVkLFxyXG4gIGE6aG92ZXIge1xyXG4gICAgY29sb3I6ICMxOTc2ZDI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgfVxyXG4gIFxyXG4gIGE6aG92ZXIge1xyXG4gICAgY29sb3I6ICMxMjU2OTk7XHJcbiAgfVxyXG4gIFxyXG4gIC5jaXJjbGUtbGluayB7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICB3aWR0aDogNDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XHJcbiAgICBtYXJnaW46IDhweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yNCk7XHJcbiAgICB0cmFuc2l0aW9uOiAxcyBlYXNlLW91dDtcclxuICB9XHJcbiAgXHJcbiAgLmNpcmNsZS1saW5rOmhvdmVyIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4yNXJlbSk7XHJcbiAgICBib3gtc2hhZG93OiAwcHggM3B4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gIH1cclxuICBcclxuICBmb290ZXIge1xyXG4gICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgfVxyXG4gIFxyXG4gIFxyXG4gIHN2ZyNzaG9wIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGJvdHRvbTogMHB4O1xyXG4gICAgbGVmdDogLTEzMHB4O1xyXG4gICAgei1pbmRleDogLTEwO1xyXG4gICAgd2lkdGg6IDE5MjBweDtcclxuICAgIG9wYWNpdHk6IDI2JTtcclxuICB9XHJcbiAgXHJcbiAgXHJcbiAgLyogUmVzcG9uc2l2ZSBTdHlsZXMgKi9cclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gIFxyXG4gICAgLmNhcmQtY29udGFpbmVyID4gKjpub3QoLmNpcmNsZS1saW5rKSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgLmNhcmQ6bm90KC5oaWdobGlnaHQtY2FyZCkge1xyXG4gICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgIG1hcmdpbjogOHB4IDA7XHJcbiAgICB9XHJcbiAgXHJcbiAgICAuY2FyZC5oaWdobGlnaHQtY2FyZCBzcGFuIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDcycHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmNhcmQtc2h1dHRlci5jYXJkLXNtYWxsLXNodXR0ZXIge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICBcclxuICB9XHJcbiAgXHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcclxuICAgIHN2ZyNyb2NrZXQtc21va2Uge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBidXR0b257XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1kYXJrO1xyXG4gICAgYm9yZGVyOjFweCBzb2xpZCBibGFjaztcclxuICAgIGNvbG9yOiAgJGhpZ2hsaWdodDtcclxuICAgIHBhZGRpbmc6MTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIG1pbi13aWR0aDogNzBweDtcclxufVxyXG5cclxuYnV0dG9uOmhvdmVye1xyXG4gICAgYm9yZGVyOjFweCBzb2xpZCAjZmVhYTAwO1xyXG59XHJcblxyXG5pbnB1dHtcclxuICAgIHBhZGRpbmc6OHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgYm9yZGVyOjJweCBzb2xpZCBibGFjaztcclxufVxyXG5cclxuLmVycm9yLWluZGljYXRvcntcclxuICBjb2xvcjpyZWQ7XHJcbn1cclxuXHJcbi5zaHV0dGVyLXF1ZXN0aW9ue1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRiYWNrZ3JvdW5kLWRhcms7XHJcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICBwYWRkaW5nOjVweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAgJGhpZ2hsaWdodDtcclxufVxyXG5cclxuLnNodXR0ZXItcXVlc3Rpb246aG92ZXJ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmxvYWRpbmctaWNvbntcclxuICBjb2xvcjpyZWQ7XHJcbiAgYm9yZGVyOiAxNnB4IHNvbGlkICNmM2YzZjM7IC8qIExpZ2h0IGdyZXkgKi9cclxuICBib3JkZXItdG9wOiAxNnB4IHNvbGlkICMzNDk4ZGI7IC8qIEJsdWUgKi9cclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgd2lkdGg6IDEyMHB4O1xyXG4gIGhlaWdodDogMTIwcHg7XHJcbiAgYW5pbWF0aW9uOiBzcGluIDJzIGxpbmVhciBpbmZpbml0ZTsgXHJcbn1cclxuXHJcblxyXG5cclxuQGtleWZyYW1lcyBzcGluIHtcclxuICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbiAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cclxufSIsIjpob3N0IHtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjMzMzO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgbWFyZ2luOiA4cHggMDtcbn1cblxuaDIge1xuICBmb250LXNpemU6IDEuNWVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICMzMzM7XG59XG5cbnAge1xuICBtYXJnaW46IDA7XG59XG5cbi5tdC0yIHtcbiAgbWFyZ2luLXRvcDogMTAwcHg7XG59XG5cbi5zcGFjZXIge1xuICBmbGV4OiAxO1xufVxuXG4udG9vbGJhci1zaHV0dGVyIHtcbiAgaGVpZ2h0OiA2MHB4O1xuICBtYXJnaW46IDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0MjYyODtcbiAgY29sb3I6ICNmZWFhMDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuI3RlY3NwbG9pdC1sb2dvIHtcbiAgbWFyZ2luOiAxNnB4O1xufVxuXG4udG9vbGJhci1zaHV0dGVyIGltZyB7XG4gIG1hcmdpbjogMCAxNnB4O1xufVxuXG4udG9vbGJhci1zaHV0dGVyICN0d2l0dGVyLWxvZ28ge1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbjogMCAxNnB4O1xufVxuXG4udG9vbGJhci1zaHV0dGVyICN0d2l0dGVyLWxvZ286aG92ZXIge1xuICBvcGFjaXR5OiAwLjg7XG59XG5cbi5jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAzMnB4IGF1dG87XG4gIHBhZGRpbmc6IDAgMTZweDtcbiAgbWF4LXdpZHRoOiA5NjBweDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuc3ZnLm1hdGVyaWFsLWljb25zIHtcbiAgaGVpZ2h0OiAyNHB4O1xuICB3aWR0aDogYXV0bztcbn1cblxuc3ZnLm1hdGVyaWFsLWljb25zOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLmNhcmQtc2h1dHRlciBzdmcubWF0ZXJpYWwtaWNvbnMgcGF0aCB7XG4gIGZpbGw6ICM4ODg7XG59XG5cbi5jYXJkLWNvbnRhaW5lci1zaHV0dGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cblxuLmNhcmQtc2h1dHRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgaGVpZ2h0OiA3NXB4O1xuICB3aWR0aDogMjM1cHg7XG4gIG1hcmdpbjogMjBweCA4cHggMTZweDtcbiAgcGFkZGluZzogMTZweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICBsaW5lLWhlaWdodDogMjRweDtcbn1cblxuLmNhcmQtY29udGFpbmVyLXNodXR0ZXIgLmNhcmQtc2h1dHRlcjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uY2FyZC1zaHV0dGVyLmNhcmQtc21hbGwtc2h1dHRlciB7XG4gIGhlaWdodDogMTZweDtcbiAgd2lkdGg6IDIwMHB4O1xufVxuXG4uY2FyZC1jb250YWluZXItc2h1dHRlciAuY2FyZC1zaHV0dGVyOm5vdCguaGlnaGxpZ2h0LWNhcmQpIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY2FyZC1jb250YWluZXItc2h1dHRlciAuY2FyZC1zaHV0dGVyOm5vdCguaGlnaGxpZ2h0LWNhcmQpOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpO1xuICBib3gtc2hhZG93OiAwIDRweCAxN3B4IHJnYmEoMCwgMCwgMCwgMC4zNSk7XG59XG5cbi5jYXJkLWNvbnRhaW5lci1zaHV0dGVyIC5jYXJkLXNodXR0ZXI6bm90KC5oaWdobGlnaHQtY2FyZCk6aG92ZXIgLm1hdGVyaWFsLWljb25zIHBhdGgge1xuICBmaWxsOiAjNjk2NzY3O1xufVxuXG4uY2FyZC1zaHV0dGVyLmhpZ2hsaWdodC1jYXJkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE5NzZkMjtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXdlaWdodDogNjAwO1xuICBib3JkZXI6IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtaW4td2lkdGg6IDMwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiA1MHB4O1xufVxuXG4uY2FyZC1zaHV0dGVyLmNhcmQtc2h1dHRlci5oaWdobGlnaHQtY2FyZCBzcGFuIHtcbiAgbWFyZ2luLWxlZnQ6IDYwcHg7XG59XG5cbmEsXG5hOnZpc2l0ZWQsXG5hOmhvdmVyIHtcbiAgY29sb3I6ICMxOTc2ZDI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYTpob3ZlciB7XG4gIGNvbG9yOiAjMTI1Njk5O1xufVxuXG4uY2lyY2xlLWxpbmsge1xuICBoZWlnaHQ6IDQwcHg7XG4gIHdpZHRoOiA0MHB4O1xuICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICBtYXJnaW46IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjI0KTtcbiAgdHJhbnNpdGlvbjogMXMgZWFzZS1vdXQ7XG59XG5cbi5jaXJjbGUtbGluazpob3ZlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4yNXJlbSk7XG4gIGJveC1zaGFkb3c6IDBweCAzcHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbmZvb3RlciB7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBsaW5lLWhlaWdodDogMjBweDtcbn1cblxuc3ZnI3Nob3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMHB4O1xuICBsZWZ0OiAtMTMwcHg7XG4gIHotaW5kZXg6IC0xMDtcbiAgd2lkdGg6IDE5MjBweDtcbiAgb3BhY2l0eTogMjYlO1xufVxuXG4vKiBSZXNwb25zaXZlIFN0eWxlcyAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmNhcmQtY29udGFpbmVyID4gKjpub3QoLmNpcmNsZS1saW5rKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuY2FyZDpub3QoLmhpZ2hsaWdodC1jYXJkKSB7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbjogOHB4IDA7XG4gIH1cblxuICAuY2FyZC5oaWdobGlnaHQtY2FyZCBzcGFuIHtcbiAgICBtYXJnaW4tbGVmdDogNzJweDtcbiAgfVxuXG4gIC5jYXJkLXNodXR0ZXIuY2FyZC1zbWFsbC1zaHV0dGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgc3ZnI3JvY2tldC1zbW9rZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cbmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDI2Mjg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xuICBjb2xvcjogI2ZlYWEwMDtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBtaW4td2lkdGg6IDcwcHg7XG59XG5cbmJ1dHRvbjpob3ZlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZWFhMDA7XG59XG5cbmlucHV0IHtcbiAgcGFkZGluZzogOHB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrO1xufVxuXG4uZXJyb3ItaW5kaWNhdG9yIHtcbiAgY29sb3I6IHJlZDtcbn1cblxuLnNodXR0ZXItcXVlc3Rpb24ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMzQyNjI4O1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwYWRkaW5nOiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWFhMDA7XG59XG5cbi5zaHV0dGVyLXF1ZXN0aW9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogZ3JheTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubG9hZGluZy1pY29uIHtcbiAgY29sb3I6IHJlZDtcbiAgYm9yZGVyOiAxNnB4IHNvbGlkICNmM2YzZjM7XG4gIC8qIExpZ2h0IGdyZXkgKi9cbiAgYm9yZGVyLXRvcDogMTZweCBzb2xpZCAjMzQ5OGRiO1xuICAvKiBCbHVlICovXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgd2lkdGg6IDEyMHB4O1xuICBoZWlnaHQ6IDEyMHB4O1xuICBhbmltYXRpb246IHNwaW4gMnMgbGluZWFyIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHNwaW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuLnByaWNpbmctcGFnZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRpbGUtdGl0bGUge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlYWEwMDtcbn1cblxuLmNhcmQtcHJpY2luZy1jaG9zZW4ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkICFpbXBvcnRhbnQ7XG59XG5cbi5jYXJkLXByaWNpbmcge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gIG1hcmdpbjogMjBweCA4cHggMTZweDtcbiAgd2lkdGg6IDI4MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHRvcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBjb2xvcjogIzMzMztcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY2FyZC1wcmljaW5nOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpO1xuICBib3gtc2hhZG93OiAwIDRweCAxN3B4IHJnYmEoMCwgMCwgMCwgMC4zNSk7XG59XG5cbi5zaHV0dGVyLXByaWNlLWxhYmVsIHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uc2h1dHRlci1wcmljZS1sYWJlbC1oaWdobGlnaHQge1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5jdXJyZW50LXBsYW4ge1xuICBmb250LXdlaWdodDogNjAwO1xufSIsIkBpbXBvcnQgJy4uLy4uL3N0eWxlcy5zY3NzJztcclxuXHJcbi5wcmljaW5nLXBhZ2V7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcblxyXG4udGlsZS10aXRsZXtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzoxMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhpZ2hsaWdodDtcclxufVxyXG5cclxuLmNhcmQtcHJpY2luZy1jaG9zZW57XHJcbiAgY3Vyc29yOiBub3QtYWxsb3dlZCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY2FyZC1wcmljaW5nIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xyXG4gICAgbWFyZ2luOiAyMHB4IDhweCAxNnB4O1xyXG5cclxuICAgIHdpZHRoOiAyODBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiB0b3A7XHJcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgY29sb3I6ICMzMzM7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG5cclxuICAuY2FyZC1wcmljaW5nOmhvdmVyIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTtcclxuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE3cHggcmdiYShibGFjaywgMC4zNSk7XHJcbiAgfVxyXG5cclxuICAuc2h1dHRlci1wcmljZS1sYWJlbHtcclxuICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgIHBhZGRpbmc6MTBweDtcclxuICAgIG1hcmdpbi10b3A6MTBweDtcclxuICB9XHJcblxyXG4gIC5zaHV0dGVyLXByaWNlLWxhYmVsLWhpZ2hsaWdodHtcclxuICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgfVxyXG5cclxuICAuY3VycmVudC1wbGFue1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICB9Il19 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { StoreShutterService } from '../services/StoreShutterService';\r\nimport { THIS_EXPR } from '@angular/compiler/src/output/output_ast';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { faWindowRestore } from '@fortawesome/free-solid-svg-icons';\r\nimport { SubscriptionStatus } from '../models/SubscriptionStatus';\r\nimport { StoreSubscriptionState } from '../models/StoreState';\r\n\r\n@Component({\r\n  selector: 'app-pricing',\r\n  templateUrl: './pricing.component.html',\r\n  styleUrls: ['./pricing.component.scss']\r\n})\r\nexport class PricingComponent implements OnInit {\r\n\r\n  storeId = \"\";\r\n  isMonthly = false;\r\n  isYearly = false;\r\n  isNotSubscribed = false;\r\n  isError = true;\r\n  isLoading = true;\r\n\r\n  constructor(private activeRoute: ActivatedRoute, private storeShutterService: StoreShutterService) { }\r\n\r\n  ngOnInit() {\r\n    if (this.activeRoute.snapshot.queryParamMap.has('si')) {\r\n      this.storeId = this.activeRoute.snapshot.queryParamMap.get('si');\r\n\r\n      this.storeShutterService.getStoreStoreSubscripitionState(this.storeId).then((subStatus: StoreSubscriptionState) => {\r\n        switch (subStatus) {\r\n          case StoreSubscriptionState.MONTHLY:\r\n            this.isYearly = false;\r\n            this.isNotSubscribed = false;\r\n            this.isMonthly = true;\r\n            break;\r\n          case StoreSubscriptionState.YEARLY:\r\n            this.isMonthly = false;\r\n            this.isNotSubscribed = false;\r\n            this.isYearly = true;\r\n            break;\r\n          case StoreSubscriptionState.NO_SUBSCRIPTION:\r\n            this.isMonthly = false;\r\n            this.isYearly = false;\r\n            this.isNotSubscribed = true;\r\n            break;\r\n        }\r\n        this.isLoading = false;\r\n      }).catch(error => {\r\n        console.error(\"error loading plan:\" + error);\r\n        this.isError = true;\r\n        this.isLoading = false;\r\n      });\r\n\r\n\r\n    } else {\r\n      console.error(\"Could not load store id\");\r\n      this.isError = true;\r\n      this.isLoading = false;\r\n\r\n    }\r\n  }\r\n\r\n  payMonthly() {\r\n    if(this.isMonthly  || this.isLoading){\r\n      return;\r\n    }\r\n    this.isLoading = true;\r\n    this.storeShutterService.requestSubscriptionUrl(this.storeId, \"monthly\").subscribe(result => {\r\n      window.top.location.href = result;\r\n    });\r\n  }\r\n\r\n  payYearly() {\r\n    if(this.isYearly || this.isLoading){\r\n      return;\r\n    }\r\n    this.isLoading = true;\r\n    this.storeShutterService.requestSubscriptionUrl(this.storeId, \"yearly\").subscribe(result => {\r\n      window.top.location.href = result;\r\n    });\r\n  }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NjaGVkdWxlc2h1dHRlci9zY2hlZHVsZXNodXR0ZXIuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'app-scheduleshutter',\r\n  templateUrl: './scheduleshutter.component.html',\r\n  styleUrls: ['./scheduleshutter.component.scss']\r\n})\r\nexport class ScheduleshutterComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit() {\r\n  }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, Resolve, RouterStateSnapshot, ActivatedRouteSnapshot } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class ShopifyFrameResolver implements Resolve<boolean> {\r\n  constructor(private router: Router) {}\r\n\r\n  resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot):  boolean{\r\n    let shop = route.queryParams['shop'];\r\n\r\n    if(shop === undefined){\r\n      return true;\r\n    }\r\n\r\n    if(self != top){\r\n        return true;\r\n      }else{    \r\n        return false;\r\n      }\r\n\r\n      return shop;\r\n  }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { StoreSetting } from '../models/StoreSetting';\r\nimport { retry, catchError } from 'rxjs/operators';\r\nimport { SubscriptionStatus } from '../models/SubscriptionStatus';\r\nimport { StoreSubscriptionState } from '../models/StoreState';\r\n\r\n@Injectable()\r\nexport class StoreShutterService {\r\n    private isLocal : boolean = false;\r\n\r\n    private BaseURL = \"https://storeshutterpublicapi.azurewebsites.net\";\r\n    private LOCAL_ROOT = \"http://localhost:7071\";\r\n    \r\n    private TECSPLOIT_TOGGLE_SHUTTER = \"{base}/api/SetStoreState?state={0}&store={1}\";\r\n    private TECSPLOIT_GET_SHUTTER_STATE = \"{base}/api/GetStoreState?store={0}\";\r\n    private TECSPLOIT_GET_PUBLISHED_PAGES = \"{base}/api/GetPublishedPages?store={0}\";\r\n    private TECSPLOIT_GET_SETTINGS = \"{base}/api/GetSettings?store={0}\";\r\n    private TECSPLOIT_SAVE_SETTINGS = \"{base}/api/SaveSettings?store={0}\";\r\n    private TECSPLOIT_REQUEST_SUB_LINK = \"{base}/api/GetSubscriptionLink?store={0}&plan={1}\";\r\n    private TECSPLOIT_REQUEST_SUBSCRIPTION_STATUS = \"{base}/api/GetSubscriptionStatus?store={0}\";\r\n\r\n    constructor(private http: HttpClient) {\r\n        this.loadURLs();\r\n    }\r\n\r\n    loadURLs(){\r\n        if(this.isLocal){\r\n            this.BaseURL = this.LOCAL_ROOT;\r\n        }\r\n\r\n        this.TECSPLOIT_TOGGLE_SHUTTER = this.TECSPLOIT_TOGGLE_SHUTTER.replace('{base}',this.BaseURL);\r\n        this.TECSPLOIT_GET_SHUTTER_STATE = this.TECSPLOIT_GET_SHUTTER_STATE.replace('{base}',this.BaseURL);\r\n        this.TECSPLOIT_GET_PUBLISHED_PAGES = this.TECSPLOIT_GET_PUBLISHED_PAGES.replace('{base}',this.BaseURL);\r\n        this.TECSPLOIT_GET_SETTINGS = this.TECSPLOIT_GET_SETTINGS.replace('{base}',this.BaseURL);\r\n        this.TECSPLOIT_SAVE_SETTINGS = this.TECSPLOIT_SAVE_SETTINGS.replace('{base}',this.BaseURL);\r\n        this.TECSPLOIT_REQUEST_SUB_LINK = this.TECSPLOIT_REQUEST_SUB_LINK.replace('{base}',this.BaseURL);\r\n        this.TECSPLOIT_REQUEST_SUBSCRIPTION_STATUS = this.TECSPLOIT_REQUEST_SUBSCRIPTION_STATUS.replace('{base}',this.BaseURL);\r\n\r\n    }\r\n\r\n    openShutter(storeId: string) {\r\n        this.setStoreState(storeId, 'off').subscribe(result => {\r\n            console.log(\"switched off\")\r\n        });\r\n    }\r\n\r\n    closeShutter(storeId: string) {\r\n        this.setStoreState(storeId, 'on').subscribe(result => {\r\n            console.log(\"switched on\")\r\n        });\r\n    }\r\n\r\n    setStoreState(storeId: string, storeState: string): Observable<any> {\r\n        let url = this.TECSPLOIT_TOGGLE_SHUTTER;\r\n        url = url.replace('{0}', storeState);\r\n        url = url.replace('{1}', storeId);\r\n\r\n        return this.http.get(url);\r\n    }\r\n\r\n    isStoreOpen(storeId: string): Observable<any> {\r\n        let url = this.TECSPLOIT_GET_SHUTTER_STATE;\r\n        url = url.replace('{0}', storeId);\r\n\r\n        return this.http.request('GET', url, { responseType: 'text' });\r\n    }\r\n\r\n    getPulishedPages(storeId: string): Observable<any> {\r\n        let url = this.TECSPLOIT_GET_PUBLISHED_PAGES;\r\n        url = url.replace('{0}', storeId);\r\n\r\n        return this.http.request('GET', url, { responseType: 'json' });\r\n    }\r\n\r\n    getStoreSettings(storeId: string): Observable<any> {\r\n        let url = this.TECSPLOIT_GET_SETTINGS;\r\n        url = url.replace('{0}', storeId);\r\n\r\n        return this.http.get(url);\r\n    }\r\n\r\n    saveStoreSettings(storeId: string, storeSettings: StoreSetting[]): Observable<any> {\r\n        let url = this.TECSPLOIT_SAVE_SETTINGS;\r\n        url = url.replace('{0}', storeId);\r\n\r\n        let body = JSON.stringify(storeSettings);\r\n\r\n        return this.http.post(url, body);\r\n    }\r\n\r\n    requestSubscriptionStatus(storeId: string): Observable<SubscriptionStatus> {\r\n        let url = this.TECSPLOIT_REQUEST_SUBSCRIPTION_STATUS;\r\n        url = url.replace('{0}', storeId);\r\n\r\n        // return this.http.get(url,{observe: 'response'});\r\n\r\n        return this.http.get<SubscriptionStatus>(url).pipe(\r\n\r\n            catchError(this.handleError)\r\n\r\n        );\r\n    }\r\n\r\n    getStoreStoreSubscripitionState(storeId: string): Promise<StoreSubscriptionState> {\r\n        let parent = this;\r\n        let promise = new Promise<StoreSubscriptionState>(function (resolve, reject) {\r\n            parent.requestSubscriptionStatus(storeId).subscribe((subDetails: SubscriptionStatus) => {\r\n\r\n                if (subDetails === undefined || subDetails.activeSubscriptions === undefined) {\r\n                    resolve(StoreSubscriptionState.NO_SUBSCRIPTION);\r\n                }\r\n\r\n                subDetails.activeSubscriptions.forEach(aSub => {\r\n                    if (aSub.status === \"ACTIVE\" && aSub.lineItems !== undefined) {\r\n                        aSub.lineItems.forEach(li => {\r\n                            if (li.plan !== undefined && li.plan.pricingDetails !== undefined) {\r\n                                if (li.plan.pricingDetails.interval === \"EVERY_30_DAYS\") {\r\n                                    resolve(StoreSubscriptionState.MONTHLY);\r\n                                } else if (li.plan.pricingDetails.interval === \"ANNUAL\") {\r\n                                    resolve(StoreSubscriptionState.YEARLY);\r\n                                }\r\n                            }\r\n                        });\r\n                    }\r\n                });\r\n\r\n                resolve(StoreSubscriptionState.NO_SUBSCRIPTION);\r\n            });\r\n        });\r\n\r\n        return promise;\r\n    }\r\n\r\n    requestSubscriptionUrl(storeId: string, plan: string): Observable<any> {\r\n        let url = this.TECSPLOIT_REQUEST_SUB_LINK;\r\n        url = url.replace('{0}', storeId);\r\n        url = url.replace('{1}', plan);\r\n\r\n        // return this.http.get(url,{observe: 'response'});\r\n\r\n        return this.http.get(url).pipe(\r\n\r\n            catchError(this.handleError)\r\n\r\n        );\r\n    }\r\n\r\n    handleError(error) {\r\n\r\n        let errorMessage = '';\r\n\r\n        if (error.error instanceof ErrorEvent) {\r\n\r\n            // client-side error\r\n\r\n            errorMessage = `Error: ${error.error.message}`;\r\n\r\n        } else {\r\n\r\n            // server-side error\r\n\r\n            errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n\r\n        }\r\n        console.error(errorMessage);\r\n        window.alert(\"There was an error processing your request please try again\");\r\n\r\n        return throwError(errorMessage);\r\n\r\n    }\r\n\r\n}\r\n","export default \".support-page {\\n  text-align: center;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc3VwcG9ydC9EOlxcYVxcMVxccy9zcmNcXGFwcFxcc3VwcG9ydFxcc3VwcG9ydC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvc3VwcG9ydC9zdXBwb3J0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksa0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL3N1cHBvcnQvc3VwcG9ydC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5zdXBwb3J0LXBhZ2V7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn0iLCIuc3VwcG9ydC1wYWdlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufSJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'app-support',\r\n  templateUrl: './support.component.html',\r\n  styleUrls: ['./support.component.scss']\r\n})\r\nexport class SupportComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit() {\r\n  }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZGVvcy92aWRlb3MuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'app-videos',\r\n  templateUrl: './videos.component.html',\r\n  styleUrls: ['./videos.component.scss']\r\n})\r\nexport class VideosComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit() {\r\n  }\r\n\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n  production: false\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error';  // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n  enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n  .catch(err => console.error(err));\r\n"],"sourceRoot":"webpack:///"}