{"version":3,"sources":["jsdelivr-header.js","webpack://PWAInstallComponent/webpack/bootstrap","/npm/@khmyznikov/pwa-install@0.7.0/dist/webpack:/PWAInstallComponent/webpack/runtime/define property getters","/npm/@khmyznikov/pwa-install@0.7.0/dist/webpack:/PWAInstallComponent/webpack/runtime/hasOwnProperty shorthand","/npm/@khmyznikov/pwa-install@0.7.0/dist/webpack:/PWAInstallComponent/webpack/runtime/make namespace object","webpack://PWAInstallComponent/node_modules/@lit/reactive-element/css-tag.js","webpack://PWAInstallComponent/node_modules/@lit/reactive-element/reactive-element.js","webpack://PWAInstallComponent/node_modules/lit-html/lit-html.js","webpack://PWAInstallComponent/node_modules/lit-element/lit-element.js","webpack://PWAInstallComponent/node_modules/@lit/localize/internal/str-tag.js","webpack://PWAInstallComponent/node_modules/@lit/localize/internal/default-msg.js","webpack://PWAInstallComponent/node_modules/@lit/localize/init/install.js","webpack://PWAInstallComponent/node_modules/@lit/localize/internal/locale-status-event.js","webpack://PWAInstallComponent/node_modules/@lit/localize/internal/localized-controller.js","webpack://PWAInstallComponent/node_modules/@lit/localize/internal/deferred.js","webpack://PWAInstallComponent/node_modules/@lit/localize/internal/fnv1a64.js","webpack://PWAInstallComponent/node_modules/@lit/localize/internal/runtime-msg.js","webpack://PWAInstallComponent/node_modules/@lit/localize/internal/id-generation.js","webpack://PWAInstallComponent/node_modules/@lit/localize/init/runtime.js","webpack://PWAInstallComponent/node_modules/@lit/reactive-element/decorators/property.js","webpack://PWAInstallComponent/src/localization/locale-codes.ts","webpack://PWAInstallComponent/src/localization/locales/ro.ts","webpack://PWAInstallComponent/src/localization/locales/ar.ts","webpack://PWAInstallComponent/src/localization/locales/bg.ts","webpack://PWAInstallComponent/src/localization/locales/ru.ts","webpack://PWAInstallComponent/src/localization/locales/tr.ts","webpack://PWAInstallComponent/src/localization/locales/de.ts","webpack://PWAInstallComponent/src/localization/locales/es.ts","webpack://PWAInstallComponent/src/localization/locales/nl.ts","webpack://PWAInstallComponent/src/localization/locales/el.ts","webpack://PWAInstallComponent/src/localization/locales/fr.ts","webpack://PWAInstallComponent/src/localization/locales/sr.ts","webpack://PWAInstallComponent/src/localization/locales/pl.ts","webpack://PWAInstallComponent/src/localization/locales/uk.ts","webpack://PWAInstallComponent/src/localization/locales/zh-HK.ts","webpack://PWAInstallComponent/src/localization/locales/zh-CN.ts","webpack://PWAInstallComponent/src/localization/locales/zh-TW.ts","webpack://PWAInstallComponent/src/localization/locales/it.ts","webpack://PWAInstallComponent/src/localization/locales/cs.ts","webpack://PWAInstallComponent/src/localization/locales/no.ts","webpack://PWAInstallComponent/src/localization/locales/pt.ts","webpack://PWAInstallComponent/src/localization/locales/ja.ts","webpack://PWAInstallComponent/src/localization/locales/sv.ts","webpack://PWAInstallComponent/src/localization/locales/ko.ts","webpack://PWAInstallComponent/src/localization/locales/km.ts","webpack://PWAInstallComponent/src/localization/locales/fa.ts","webpack://PWAInstallComponent/src/localization/locales/da.ts","webpack://PWAInstallComponent/src/localization/locales/vi.ts","webpack://PWAInstallComponent/src/localization/locales/hu.ts","webpack://PWAInstallComponent/src/localization/locales/sk.ts","webpack://PWAInstallComponent/src/localization/locales/ca-ES.ts","webpack://PWAInstallComponent/src/localization/locales/he.ts","webpack://PWAInstallComponent/src/localization/locales/th.ts","webpack://PWAInstallComponent/src/localization/index.ts","webpack://PWAInstallComponent/src/types/types.ts","webpack://PWAInstallComponent/src/gallery/styles-gallery.scss","webpack://PWAInstallComponent/node_modules/inapp-spy/dist/index.mjs","webpack://PWAInstallComponent/src/utils.ts","webpack://PWAInstallComponent/src/gallery/template-gallery.ts","webpack://PWAInstallComponent/src/gallery/index.ts","webpack://PWAInstallComponent/src/templates/chrome/styles-common.scss","webpack://PWAInstallComponent/src/templates/chrome/bottom-sheet/styles-bottom-sheet.scss","webpack://PWAInstallComponent/node_modules/lit-html/directive.js","webpack://PWAInstallComponent/node_modules/lit-html/directives/class-map.js","webpack://PWAInstallComponent/src/templates/chrome/bottom-sheet/index.ts","webpack://PWAInstallComponent/src/templates/chrome/bottom-sheet/template-bottom-sheet.ts","webpack://PWAInstallComponent/src/logic.ts","webpack://PWAInstallComponent/src/templates/chrome/styles.scss","webpack://PWAInstallComponent/src/templates/apple/styles-apple.scss","webpack://PWAInstallComponent/node_modules/lit-html/directives/style-map.js","webpack://PWAInstallComponent/src/index.ts","webpack://PWAInstallComponent/src/templates/apple/template-apple.ts","webpack://PWAInstallComponent/src/templates/chrome/template.ts","webpack://PWAInstallComponent/node_modules/@lit/reactive-element/decorators/state.js","webpack://PWAInstallComponent/node_modules/@lit/localize/internal/localized-decorator.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,2CCLA,MAAA,EAAA,CCAA,EAAA,CAAA,EAAA,KACA,QAAA,KAAA,EACA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,EAAA,IACA,OAAA,eAAA,EAAA,EAAA,CAAyC,cAAA,IAAA,EAAA,MCJzC,EAAA,CAAA,EAAA,IAAA,OAAA,UAAA,eAAA,KAAA,EAAA,GCCA,EAAA,IACA,OAAA,eAAA,EAAA,OAAA,YAAA,CAAsD,MAAA,WACtD,OAAA,eAAA,EAAA,cAAgD,aAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,kBAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,KAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,IAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,UAAA,IAAA,KAAA,IAAA,EAAA,GAAA,EAAA,EAA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","file":"/npm/@khmyznikov/pwa-install@0.7.0/dist/pwa-install.bundle.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.48.0.\n * Original file: /npm/@khmyznikov/pwa-install@0.7.0/dist/pwa-install.bundle.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","// The require scope\nconst __webpack_require__ = {};\n\n",null,null,null,"/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){const e=this.constructor,h=this[t];if(i??=e.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(e._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach((t=>this._$ET(t,this[t]))),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.1\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=y(3),T=Symbol.for(\"lit-noChange\"),E=Symbol.for(\"lit-nothing\"),A=new WeakMap,C=r.createTreeWalker(r,129);function P(t,i){if(!a(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?\"!--\"===u[1]?c=v:void 0!==u[1]?c=_:void 0!==u[2]?($.test(u[2])&&(r=RegExp(\"</\"+u[2],\"g\")),c=m):void 0!==u[3]&&(c=m):c===m?\">\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[P(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),o]};class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V(t,s);if(this.el=N.createElement(f,n),C.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=C.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:\".\"===e[1]?H:\"?\"===e[1]?I:\"@\"===e[1]?L:k}),r.removeAttribute(t)}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)r.append(t[i],l()),C.nextNode(),d.push({type:2,index:++c});r.append(t[s],l())}}}else if(8===r.nodeType)if(r.data===o)d.push({type:2,index:c});else{let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1}c++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){if(i===T)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=S(t,h._$AS(t,i.values),h,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r).importNode(i,!0);C.currentNode=e;let h=C.nextNode(),o=0,n=0,l=s[0];for(;void 0!==l;){if(o===l.index){let i;2===l.type?i=new R(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new z(h,this,t)),this._$AV.push(i),l=s[++n]}o!==l?.index&&(h=C.nextNode(),o++)}return C.currentNode=r,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=E,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),c(t)?t===E||null==t||\"\"===t?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):u(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==E&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=N.createElement(P(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new M(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=A.get(t.strings);return void 0===i&&A.set(t.strings,i=new N(t)),i}k(t){a(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new R(this.O(l()),this.O(l()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=E,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=S(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==T,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=S(this,e[s+n],i,n),r===T&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===E?t=E:t!==E&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===E?void 0:t}}class I extends k{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E)}}class L extends k{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=S(this,t,i,0)??E)===T)return;const s=this._$AH,e=t===E&&s!==E||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==E&&(s===E||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const Z={M:e,P:h,A:o,C:1,L:V,R:M,D:u,V:S,I:R,H:k,N:I,U:L,B:H,F:z},j=t.litHtmlPolyfillSupport;j?.(N,R),(t.litHtmlVersions??=[]).push(\"3.3.1\");const B=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new R(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{Z as _$LH,x as html,w as mathml,T as noChange,E as nothing,B as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as r}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=globalThis;class i extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return r}}i._$litElement$=!0,i[\"finalized\"]=!0,s.litElementHydrateSupport?.({LitElement:i});const o=s.litElementPolyfillSupport;o?.({LitElement:i});const n={_$AK:(t,e,r)=>{t._$AK(e,r)},_$AL:t=>t._$AL};(s.litElementVersions??=[]).push(\"4.2.1\");export{i as LitElement,n as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n/**\n * Tag that allows expressions to be used in localized non-HTML template\n * strings.\n *\n * Example: msg(str`Hello ${this.user}!`);\n *\n * The Lit html tag can also be used for this purpose, but HTML will need to be\n * escaped, and there is a small overhead for HTML parsing.\n *\n * Untagged template strings with expressions aren't supported by lit-localize\n * because they don't allow for values to be captured at runtime.\n */\nconst _str = (strings, ...values) => ({\n    strTag: true,\n    strings,\n    values,\n});\nexport const str = _str;\nexport const isStrTagged = (val) => typeof val !== 'string' && 'strTag' in val;\n/**\n * Render the result of a `str` tagged template to a string. Note we don't need\n * to do this for Lit templates, since Lit itself handles rendering.\n */\nexport const joinStringsAndValues = (strings, values, valueOrder) => {\n    let concat = strings[0];\n    for (let i = 1; i < strings.length; i++) {\n        concat += values[valueOrder ? valueOrder[i - 1] : i - 1];\n        concat += strings[i];\n    }\n    return concat;\n};\n//# sourceMappingURL=str-tag.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nimport { isStrTagged, joinStringsAndValues } from './str-tag.js';\n/**\n * Default identity msg implementation. Simply returns the input template with\n * no awareness of translations. If the template is str-tagged, returns it in\n * string form.\n */\nexport const defaultMsg = ((template) => isStrTagged(template)\n    ? joinStringsAndValues(template.strings, template.values)\n    : template);\n//# sourceMappingURL=default-msg.js.map","import { defaultMsg } from '../internal/default-msg.js';\n/**\n * Make a string or lit-html template localizable.\n *\n * @param template A string, a lit-html template, or a function that returns\n * either a string or lit-html template.\n * @param options Optional configuration object with the following properties:\n *   - id: Optional project-wide unique identifier for this template. If\n *     omitted, an id will be automatically generated from the template strings.\n *   - desc: Optional description\n */\nexport let msg = defaultMsg;\nlet installed = false;\n/**\n * Internal only. Do not use this function.\n *\n * Installs an implementation of the msg function to replace the default\n * identity function. Throws if called more than once.\n *\n * @internal\n */\nexport function _installMsgImplementation(impl) {\n    if (installed) {\n        throw new Error('lit-localize can only be configured once');\n    }\n    msg = impl;\n    installed = true;\n}\n//# sourceMappingURL=install.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n/**\n * Name of the event dispatched to `window` whenever a locale change starts,\n * finishes successfully, or fails. Only relevant to runtime mode.\n *\n * The `detail` of this event is an object with a `status` string that can be:\n * \"loading\", \"ready\", or \"error\", along with the relevant locale code, and\n * error message if applicable.\n *\n * You can listen for this event to know when your application should be\n * re-rendered following a locale change. See also the Localized mixin, which\n * automatically re-renders LitElement classes using this event.\n */\nexport const LOCALE_STATUS_EVENT = 'lit-localize-status';\n//# sourceMappingURL=locale-status-event.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nimport { LOCALE_STATUS_EVENT } from './locale-status-event.js';\nclass LocalizeController {\n    constructor(host) {\n        this.__litLocalizeEventHandler = (event) => {\n            if (event.detail.status === 'ready') {\n                this.host.requestUpdate();\n            }\n        };\n        this.host = host;\n    }\n    hostConnected() {\n        window.addEventListener(LOCALE_STATUS_EVENT, this.__litLocalizeEventHandler);\n    }\n    hostDisconnected() {\n        window.removeEventListener(LOCALE_STATUS_EVENT, this.__litLocalizeEventHandler);\n    }\n}\n/**\n * Re-render the given LitElement whenever a new active locale has loaded.\n *\n * See also {@link localized} for the same functionality as a decorator.\n *\n * When using lit-localize in transform mode, calls to this function are\n * replaced with undefined.\n *\n * Usage:\n *\n *   import {LitElement, html} from 'lit';\n *   import {msg, updateWhenLocaleChanges} from '@lit/localize';\n *\n *   class MyElement extends LitElement {\n *     constructor() {\n *       super();\n *       updateWhenLocaleChanges(this);\n *     }\n *\n *     render() {\n *       return html`<b>${msg('Hello World')}</b>`;\n *     }\n *   }\n */\nconst _updateWhenLocaleChanges = (host) => host.addController(new LocalizeController(host));\nexport const updateWhenLocaleChanges = _updateWhenLocaleChanges;\n//# sourceMappingURL=localized-controller.js.map","/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nexport class Deferred {\n    constructor() {\n        this.settled = false;\n        this.promise = new Promise((resolve, reject) => {\n            this._resolve = resolve;\n            this._reject = reject;\n        });\n    }\n    resolve(value) {\n        this.settled = true;\n        this._resolve(value);\n    }\n    reject(error) {\n        this.settled = true;\n        this._reject(error);\n    }\n}\n//# sourceMappingURL=deferred.js.map","/**\n * @license\n * Copyright 2014 Travis Webb\n * SPDX-License-Identifier: MIT\n */\n// This module is derived from the file:\n// https://github.com/tjwebb/fnv-plus/blob/1e2ce68a07cb7dd4c3c85364f3d8d96c95919474/index.js#L309\n//\n// Changes:\n// - Only the _hash64_1a_fast function is included.\n// - Removed loop unrolling.\n// - Converted to TypeScript ES module.\n// - var -> let/const\n//\n// TODO(aomarks) Upstream improvements to https://github.com/tjwebb/fnv-plus/.\nconst hl = [];\nfor (let i = 0; i < 256; i++) {\n    hl[i] = ((i >> 4) & 15).toString(16) + (i & 15).toString(16);\n}\n/**\n * Perform a FNV-1A 64-bit hash of the given string (as UTF-16 code units), and\n * return a hexadecimal digest (left zero padded to 16 characters).\n *\n * @see {@link http://tools.ietf.org/html/draft-eastlake-fnv-06}\n */\nexport function fnv1a64(str) {\n    let t0 = 0, v0 = 0x2325, t1 = 0, v1 = 0x8422, t2 = 0, v2 = 0x9ce4, t3 = 0, v3 = 0xcbf2;\n    for (let i = 0; i < str.length; i++) {\n        v0 ^= str.charCodeAt(i);\n        t0 = v0 * 435;\n        t1 = v1 * 435;\n        t2 = v2 * 435;\n        t3 = v3 * 435;\n        t2 += v0 << 8;\n        t3 += v1 << 8;\n        t1 += t0 >>> 16;\n        v0 = t0 & 65535;\n        t2 += t1 >>> 16;\n        v1 = t1 & 65535;\n        v3 = (t3 + (t2 >>> 16)) & 65535;\n        v2 = t2 & 65535;\n    }\n    return (hl[v3 >> 8] +\n        hl[v3 & 255] +\n        hl[v2 >> 8] +\n        hl[v2 & 255] +\n        hl[v1 >> 8] +\n        hl[v1 & 255] +\n        hl[v0 >> 8] +\n        hl[v0 & 255]);\n}\n//# sourceMappingURL=fnv1a64.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nimport { defaultMsg } from './default-msg.js';\nimport { joinStringsAndValues } from './str-tag.js';\nimport { generateMsgId } from './id-generation.js';\nconst expressionOrders = new WeakMap();\nconst hashCache = new Map();\nexport function runtimeMsg(templates, template, options) {\n    if (templates) {\n        const id = options?.id ?? generateId(template);\n        const localized = templates[id];\n        if (localized) {\n            if (typeof localized === 'string') {\n                // E.g. \"Hello World!\"\n                return localized;\n            }\n            else if ('strTag' in localized) {\n                // E.g. str`Hello ${name}!`\n                //\n                // Localized templates have ${number} in place of real template\n                // expressions. They can't have real template values, because the\n                // variable scope would be wrong. The number tells us the index of the\n                // source value to substitute in its place, because expressions can be\n                // moved to a different position during translation.\n                return joinStringsAndValues(localized.strings, \n                // Cast `template` because its type wasn't automatically narrowed (but\n                // we know it must be the same type as `localized`).\n                template.values, localized.values);\n            }\n            else {\n                // E.g. html`Hello <b>${name}</b>!`\n                //\n                // We have to keep our own mapping of expression ordering because we do\n                // an in-place update of `values`, and otherwise we'd lose ordering for\n                // subsequent renders.\n                let order = expressionOrders.get(localized);\n                if (order === undefined) {\n                    order = localized.values;\n                    expressionOrders.set(localized, order);\n                }\n                return {\n                    ...localized,\n                    values: order.map((i) => template.values[i]),\n                };\n            }\n        }\n    }\n    return defaultMsg(template);\n}\nfunction generateId(template) {\n    const strings = typeof template === 'string' ? template : template.strings;\n    let id = hashCache.get(strings);\n    if (id === undefined) {\n        id = generateMsgId(strings, typeof template !== 'string' && !('strTag' in template));\n        hashCache.set(strings, id);\n    }\n    return id;\n}\n//# sourceMappingURL=runtime-msg.js.map","/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nimport { fnv1a64 } from './fnv1a64.js';\n/**\n * Delimiter used between each template string component before hashing. Used to\n * prevent e.g. \"foobar\" and \"foo${baz}bar\" from sharing a hash.\n *\n * This is the \"record separator\" ASCII character.\n */\nexport const HASH_DELIMITER = '\\x1e';\n/**\n * Id prefix on html-tagged templates to distinguish e.g. `<b>x</b>` from\n * html`<b>x</b>`.\n */\nconst HTML_PREFIX = 'h';\n/**\n * Id prefix on plain string templates to distinguish e.g. `<b>x</b>` from\n * html`<b>x</b>`.\n */\nconst STRING_PREFIX = 's';\n/**\n * Generate a unique ID for a lit-localize message.\n *\n * Example:\n *   Template: html`Hello <b>${who}</b>!`\n *     Params: [\"Hello <b>\", \"</b>!\"], true\n *     Output: h82ccc38d4d46eaa9\n *\n * The ID is constructed as:\n *\n *   [0]    Kind of template: [h]tml or [s]tring.\n *   [1,16] 64-bit FNV-1a hash hex digest of the template strings, as UTF-16\n *          code points, delineated by an ASCII \"record separator\" character.\n *\n * We choose FNV-1a because:\n *\n *   1. It's pretty fast (e.g. much faster than SHA-1).\n *   2. It's pretty small (0.25 KiB minified + brotli).\n *   3. We don't require cryptographic security, and 64 bits should give\n *      sufficient collision resistance for any one application. Worst\n *      case, we will always detect collisions during analysis.\n *   4. We can't use Web Crypto API (e.g. SHA-1), because it's asynchronous.\n *   5. It's a well known non-cryptographic hash with implementations in many\n *      languages.\n *   6. There was an existing JavaScript implementation that doesn't require\n *      BigInt, for IE11 compatibility.\n */\nexport function generateMsgId(strings, isHtmlTagged) {\n    return ((isHtmlTagged ? HTML_PREFIX : STRING_PREFIX) +\n        fnv1a64(typeof strings === 'string' ? strings : strings.join(HASH_DELIMITER)));\n}\n//# sourceMappingURL=id-generation.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nimport { Deferred } from '../internal/deferred.js';\nimport { LOCALE_STATUS_EVENT } from '../internal/locale-status-event.js';\nimport { runtimeMsg } from '../internal/runtime-msg.js';\nimport { _installMsgImplementation } from './install.js';\n/**\n * Dispatch a \"lit-localize-status\" event to `window` with the given detail.\n */\nfunction dispatchStatusEvent(detail) {\n    window.dispatchEvent(new CustomEvent(LOCALE_STATUS_EVENT, { detail }));\n}\nlet activeLocale = '';\nlet loadingLocale;\nlet sourceLocale;\nlet validLocales;\nlet loadLocale;\nlet templates;\nlet loading = new Deferred();\n// The loading promise must be initially resolved, because that's what we should\n// return if the user immediately calls setLocale(sourceLocale).\nloading.resolve();\nlet requestId = 0;\n/**\n * Set configuration parameters for lit-localize when in runtime mode. Returns\n * an object with functions:\n *\n * - `getLocale`: Return the active locale code.\n * - `setLocale`: Set the active locale code.\n *\n * Throws if called more than once.\n */\nexport const configureLocalization = (config) => {\n    _installMsgImplementation(((template, options) => runtimeMsg(templates, template, options)));\n    activeLocale = sourceLocale = config.sourceLocale;\n    validLocales = new Set(config.targetLocales);\n    validLocales.add(config.sourceLocale);\n    loadLocale = config.loadLocale;\n    return { getLocale, setLocale };\n};\n/**\n * Return the active locale code.\n */\nconst getLocale = () => {\n    return activeLocale;\n};\n/**\n * Set the active locale code, and begin loading templates for that locale using\n * the `loadLocale` function that was passed to `configureLocalization`. Returns\n * a promise that resolves when the next locale is ready to be rendered.\n *\n * Note that if a second call to `setLocale` is made while the first requested\n * locale is still loading, then the second call takes precedence, and the\n * promise returned from the first call will resolve when second locale is\n * ready. If you need to know whether a particular locale was loaded, check\n * `getLocale` after the promise resolves.\n *\n * Throws if the given locale is not contained by the configured `sourceLocale`\n * or `targetLocales`.\n */\nconst setLocale = (newLocale) => {\n    if (newLocale === (loadingLocale ?? activeLocale)) {\n        return loading.promise;\n    }\n    if (!validLocales || !loadLocale) {\n        throw new Error('Internal error');\n    }\n    if (!validLocales.has(newLocale)) {\n        throw new Error('Invalid locale code');\n    }\n    requestId++;\n    const thisRequestId = requestId;\n    loadingLocale = newLocale;\n    if (loading.settled) {\n        loading = new Deferred();\n    }\n    dispatchStatusEvent({ status: 'loading', loadingLocale: newLocale });\n    const localePromise = newLocale === sourceLocale\n        ? // We could switch to the source locale synchronously, but we prefer to\n            // queue it on a microtask so that switching locales is consistently\n            // asynchronous.\n            Promise.resolve({ templates: undefined })\n        : loadLocale(newLocale);\n    localePromise.then((mod) => {\n        if (requestId === thisRequestId) {\n            activeLocale = newLocale;\n            loadingLocale = undefined;\n            templates = mod.templates;\n            dispatchStatusEvent({ status: 'ready', readyLocale: newLocale });\n            loading.resolve();\n        }\n        // Else another locale was requested in the meantime. Don't resolve or\n        // reject, because the newer load call is going to use the same promise.\n        // Note the user can call getLocale() after the promise resolves if they\n        // need to check if the locale is still the one they expected to load.\n    }, (err) => {\n        if (requestId === thisRequestId) {\n            dispatchStatusEvent({\n                status: 'error',\n                errorLocale: newLocale,\n                errorMessage: err.toString(),\n            });\n            loading.reject(err);\n        }\n    });\n    return loading.promise;\n};\n//# sourceMappingURL=runtime.js.map","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),\"setter\"===n&&((t=Object.create(t)).wrapped=!0),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","// Do not modify this file by hand!\n// Re-generate this file by running lit-localize.\n\n/**\n * The locale code that templates in this source code are written in.\n */\nexport const sourceLocale = `en`;\n\n/**\n * The other locale codes that this application is localized into. Sorted\n * lexicographically.\n */\nexport const targetLocales = [\n  `ar`,\n  `bg`,\n  `ca-ES`,\n  `cs`,\n  `da`,\n  `de`,\n  `el`,\n  `es`,\n  `fa`,\n  `fr`,\n  `he`,\n  `hu`,\n  `it`,\n  `ja`,\n  `km`,\n  `ko`,\n  `nl`,\n  `no`,\n  `pl`,\n  `pt`,\n  `ro`,\n  `ru`,\n  `sk`,\n  `sr`,\n  `sv`,\n  `th`,\n  `tr`,\n  `uk`,\n  `vi`,\n  `zh-CN`,\n  `zh-HK`,\n  `zh-TW`,\n] as const;\n\n/**\n * All valid project locale codes. Sorted lexicographically.\n */\nexport const allLocales = [\n  `ar`,\n  `bg`,\n  `ca-ES`,\n  `cs`,\n  `da`,\n  `de`,\n  `el`,\n  `en`,\n  `es`,\n  `fa`,\n  `fr`,\n  `he`,\n  `hu`,\n  `it`,\n  `ja`,\n  `km`,\n  `ko`,\n  `nl`,\n  `no`,\n  `pl`,\n  `pt`,\n  `ro`,\n  `ru`,\n  `sk`,\n  `sr`,\n  `sv`,\n  `th`,\n  `tr`,\n  `uk`,\n  `vi`,\n  `zh-CN`,\n  `zh-HK`,\n  `zh-TW`,\n] as const;\n","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `Atinge „Deschide în browser…”`,\n's182ab2d6c997515f': `Adaugă-l pe Ecranul Principal pentru o experiență extinsă și acces facil.`,\n's224cbcec014ef6b5': `Apasă Partajare în bara de navigare`,\n's233af3b7eb5e0364': `Adaugă la pagina principală`,\n's37a9e8aec5713460': `Mai mult`,\n's4c3161035f3a1413': `Apasă Meniu`,\n's4e1e10a6ca408245': `Atinge „Adaugă pe ecranul principal”`,\n's6196153c4b0c1ea0': `Instalați`,\n's633502f7cff4f847': `Deschide meniul browserului tău`,\n's681e399d63311fba': `Afișează galeria`,\n's6d14a4f70ba4e3cf': `Apasă Meniu dacă nu există pictograma Partajare`,\n's922329d6f6213590': `Adaugă în Dock`,\n's9c63a79ffcc2a3a3': `Apasă pe „Adaugă pe ecranul principal”`,\n'sa2d71bfd9525168d': `Apasă pe „Adaugă în Dock”`,\n'sa5ef80b4bb9b39f8': `Mai puțin`,\n'sb527eca1c1d7e7be': `Deschide meniul browserului din aplicație`,\n'sba52286c21552a4e': `Instalează-l pe dispozitivul tău pentru o experiență completă și acces facil.`,\n'sc16e00a7a8b2fde2': `Înapoi`,\n'scdaf4bbff76674c8': `Adaugă pe Ecranul Principal`,\n'sd18a5b85f599ff3c': `Deschide linkul copiat în Safari`,\n'se72fc3a84f9b51c3': `Atinge pentru a copia linkul`,\n'se740f75b95a51807': `Adaugă-l în Dock pentru o experiență extinsă și acces facil.`,\n'sfa6c42cdf48d93d2': `Dar acest browser nu acceptă această funcție. Pentru a continua, deschide linkul într-un browser extern.`,\n'sfb78526365796a41': `Apasă „Vezi mai multe” în meniul Partajare`,\n'sfea652f6580ff086': `Acest site are funcționalități de aplicație.`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `انقر على «فتح في متصفح…»`,\n's182ab2d6c997515f': `أضفه إلى شاشتك الرئيسية للحصول على تجربة شاملة ووصول سهل.`,\n's224cbcec014ef6b5': `اضغط على مشاركة في الشريط العلوي`,\n's233af3b7eb5e0364': `إضافة إلى الصفحة الرئيسية`,\n's37a9e8aec5713460': `المزيد`,\n's4c3161035f3a1413': `اضغط على القائمة`,\n's4e1e10a6ca408245': `انقر على \"إضافة إلى الشاشة الرئيسية\"`,\n's6196153c4b0c1ea0': `تثبيت`,\n's633502f7cff4f847': `افتح قائمة المتصفح`,\n's681e399d63311fba': `عرض الصور`,\n's6d14a4f70ba4e3cf': `اضغط على القائمة إذا لم يكن هناك رمز مشاركة`,\n's922329d6f6213590': `إضافة إلى القوائم`,\n's9c63a79ffcc2a3a3': `اضغط على \"إضافة إلى الشاشة الرئيسية\"`,\n'sa2d71bfd9525168d': `اضغط على \"إضافة إلى Dock\"`,\n'sa5ef80b4bb9b39f8': `أقل`,\n'sb527eca1c1d7e7be': `افتح قائمة المتصفح داخل التطبيق`,\n'sba52286c21552a4e': `ثبّته على جهازك للحصول على تجربة شاملة ووصول سهل.`,\n'sc16e00a7a8b2fde2': `رجوع`,\n'scdaf4bbff76674c8': `إضافة إلى الشاشة الرئيسية`,\n'sd18a5b85f599ff3c': `افتح الرابط المنسوخ في Safari`,\n'se72fc3a84f9b51c3': `اضغط لنسخ الرابط`,\n'se740f75b95a51807': `أضفه إلى شريط القوائم للحصول على تجربة شاملة ووصول سهل.`,\n'sfa6c42cdf48d93d2': `لكن هذا المتصفح لا يدعم ذلك. افتح الرابط في متصفح خارجي للمتابعة.`,\n'sfb78526365796a41': `اضغط على \"عرض المزيد\" في قائمة المشاركة`,\n'sfea652f6580ff086': `يتمتع هذا الموقع بوظائف التطبيق.`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `Натиснете „Отваряне в браузър…“`,\n's182ab2d6c997515f': `Добавете го към началния си екран за по-добро преживяване и лесен достъп.`,\n's224cbcec014ef6b5': `Натиснете „Сподели“ в лентата за навигация.`,\n's233af3b7eb5e0364': `Добави към началната страница`,\n's37a9e8aec5713460': `Разшири`,\n's4c3161035f3a1413': `Натиснете менюто`,\n's4e1e10a6ca408245': `Натиснете „Добави към началния екран“`,\n's6196153c4b0c1ea0': `Инсталирайте`,\n's633502f7cff4f847': `Отворете менюто на браузъра си`,\n's681e399d63311fba': `Покажи галерия`,\n's6d14a4f70ba4e3cf': `Натиснете менюто, ако няма икона „Сподели“`,\n's922329d6f6213590': `Добави към Dock`,\n's9c63a79ffcc2a3a3': `Натиснете „Добави към началния екран“`,\n'sa2d71bfd9525168d': `Натиснете „Добави към Dock“`,\n'sa5ef80b4bb9b39f8': `Свий`,\n'sb527eca1c1d7e7be': `Отворете менюто на вградения браузър`,\n'sba52286c21552a4e': `Инсталирайте го на вашето устройство за по-пълноценно изживяване и по-лесен достъп.`,\n'sc16e00a7a8b2fde2': `Назад`,\n'scdaf4bbff76674c8': `Добави към началния екран`,\n'sd18a5b85f599ff3c': `Отворете копираната връзка в Safari`,\n'se72fc3a84f9b51c3': `Докоснете, за да копирате връзката`,\n'se740f75b95a51807': `Добавете го към Dock за по-пълноценно преживяване и по-лесен достъп.`,\n'sfa6c42cdf48d93d2': `Но този браузър не го поддържа. Отворете връзката във външен браузър, за да продължите.`,\n'sfb78526365796a41': `Натиснете „Преглед на още“ в менюто „Сподели“`,\n'sfea652f6580ff086': `Този сайт работи като приложение.`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `Нажмите «Открыть в браузере…»`,\n's182ab2d6c997515f': `Добавьте его на экран «Домой» — это откроет дополнительные возможности и сделает использование удобнее.`,\n's224cbcec014ef6b5': `Нажмите \"Поделиться\"`,\n's233af3b7eb5e0364': `Добавить ярлык на телефон`,\n's37a9e8aec5713460': `Подробнее`,\n's4c3161035f3a1413': `Нажмите «Меню»`,\n's4e1e10a6ca408245': `Нажмите \"Добавить на главный экран\"`,\n's6196153c4b0c1ea0': `Установить`,\n's633502f7cff4f847': `Откройте меню вашего браузера`,\n's681e399d63311fba': `Показать галерею`,\n's6d14a4f70ba4e3cf': `Нажмите «Меню», если нет значка «Поделиться»`,\n's922329d6f6213590': `Добавить в Dock`,\n's9c63a79ffcc2a3a3': `Нажмите \"На экран «Домой»\"`,\n'sa2d71bfd9525168d': `Нажмите \"Добавить в Dock\"`,\n'sa5ef80b4bb9b39f8': `Свернуть`,\n'sb527eca1c1d7e7be': `Откройте меню встроенного браузера`,\n'sba52286c21552a4e': `Установите это на ваше устройство, чтобы получить дополнительные возможности и удобство использования.`,\n'sc16e00a7a8b2fde2': `Назад`,\n'scdaf4bbff76674c8': `На экран «Домой»`,\n'sd18a5b85f599ff3c': `Откройте скопированную ссылку в Safari`,\n'se72fc3a84f9b51c3': `Нажмите, чтобы скопировать ссылку`,\n'se740f75b95a51807': `Добавьте его в Dock — это откроет дополнительные возможности и сделает использование удобнее.`,\n'sfa6c42cdf48d93d2': `Но этот браузер не поддерживает эту функцию. Чтобы продолжить, откройте ссылку во внешнем браузере.`,\n'sfb78526365796a41': `Нажмите \"Показать еще\" в меню \"Поделиться\"`,\n'sfea652f6580ff086': `Этот веб-сайт имеет функционал приложения.`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `“... tarayıcısında aç” seçeneğine dokunun`,\n's182ab2d6c997515f': `Daha iyi bir deneyim ve kolay erişim için Ana Ekranınıza ekleyin.`,\n's224cbcec014ef6b5': `Gezinme çubuğunda Paylaş'a basın`,\n's233af3b7eb5e0364': `Telefona kısayol ekle`,\n's37a9e8aec5713460': `Daha Fazla`,\n's4c3161035f3a1413': `Menüye basın`,\n's4e1e10a6ca408245': `\"Ana Ekrana Ekle\"ye dokunun`,\n's6196153c4b0c1ea0': `Yükle`,\n's633502f7cff4f847': `Tarayıcı menünüzü açın`,\n's681e399d63311fba': `Galeriyi Göster`,\n's6d14a4f70ba4e3cf': `Paylaş simgesi yoksa Menüye basın`,\n's922329d6f6213590': `Dock’a Ekle`,\n's9c63a79ffcc2a3a3': `\"Ana Ekrana Ekle\" seçeneğine basın`,\n'sa2d71bfd9525168d': `\"Dock’a Ekle\" seçeneğine basın`,\n'sa5ef80b4bb9b39f8': `Küçült`,\n'sb527eca1c1d7e7be': `Uygulama içi tarayıcı menüsünü açın`,\n'sba52286c21552a4e': `Daha iyi bir deneyim ve kolay erişim için cihazınıza yükleyin.`,\n'sc16e00a7a8b2fde2': `Geri`,\n'scdaf4bbff76674c8': `Ana Ekrana Ekle`,\n'sd18a5b85f599ff3c': `Kopyalanan bağlantıyı Safari'de açın`,\n'se72fc3a84f9b51c3': `Bağlantıyı kopyalamak için dokunun`,\n'se740f75b95a51807': `Daha iyi bir deneyim ve kolay erişim için Dock’a ekleyin.`,\n'sfa6c42cdf48d93d2': `Ancak bu tarayıcı bu özelliği desteklemiyor. Devam etmek için bağlantıyı harici bir tarayıcıda açın.`,\n'sfb78526365796a41': `Paylaş menüsünde \"Daha Fazla Gör\" seçeneğine basın`,\n'sfea652f6580ff086': `Bu site uygulama işlevselliğine sahiptir.`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `Tippen Sie auf „Im Browser öffnen…“`,\n's182ab2d6c997515f': `Fügen Sie es zu Ihrem Startbildschirm hinzu, um eine umfassende Erfahrung und einen leichten Zugriff zu erhalten.`,\n's224cbcec014ef6b5': `Drücken Sie auf Teilen in der Navigationsleiste`,\n's233af3b7eb5e0364': `Zur Startseite hinzufügen`,\n's37a9e8aec5713460': `Mehr`,\n's4c3161035f3a1413': `Drücken Sie auf Menü`,\n's4e1e10a6ca408245': `Tippen Sie auf \"Zum Startbildschirm hinzufügen\"`,\n's6196153c4b0c1ea0': `Installieren`,\n's633502f7cff4f847': `Öffnen Sie das Menü Ihres Browsers`,\n's681e399d63311fba': `Galerie anzeigen`,\n's6d14a4f70ba4e3cf': `Drücken Sie auf Menü, wenn kein Teilen-Symbol vorhanden ist`,\n's922329d6f6213590': `Zum Dock hinzufügen`,\n's9c63a79ffcc2a3a3': `Drücken Sie auf \"Zum Startbildschirm hinzufügen\"`,\n'sa2d71bfd9525168d': `Drücken Sie auf \"Zum Dock hinzufügen\"`,\n'sa5ef80b4bb9b39f8': `Weniger`,\n'sb527eca1c1d7e7be': `Öffnen Sie das Menü des In-App-Browsers`,\n'sba52286c21552a4e': `Installieren Sie es auf Ihrem Gerät für eine umfassende Erfahrung und einen leichten Zugriff.`,\n'sc16e00a7a8b2fde2': `Zurück`,\n'scdaf4bbff76674c8': `Hinzufügen zum Startbildschirm`,\n'sd18a5b85f599ff3c': `Kopierten Link in Safari öffnen`,\n'se72fc3a84f9b51c3': `Zum Kopieren des Links tippen`,\n'se740f75b95a51807': `Fügen Sie es zu Ihrem Dock hinzu, um eine umfassende Erfahrung und einen leichten Zugriff zu erhalten.`,\n'sfa6c42cdf48d93d2': `Dieser Browser unterstützt diese Funktion jedoch nicht. Öffnen Sie den Link in einem externen Browser, um fortzufahren.`,\n'sfb78526365796a41': `Drücken Sie auf \"Mehr anzeigen\" im Teilen-Menü`,\n'sfea652f6580ff086': `Diese Website verfügt über App-Funktionalität.`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `Toca «Abrir en el navegador…»`,\n's182ab2d6c997515f': `Añádelo a tu pantalla de inicio para una experiencia amplia y acceso fácil.`,\n's224cbcec014ef6b5': `Presionar Compartir en la barra de direcciones`,\n's233af3b7eb5e0364': `Añadir al Carrito`,\n's37a9e8aec5713460': `Más`,\n's4c3161035f3a1413': `Presiona Menú`,\n's4e1e10a6ca408245': `Toca \"Añadir a pantalla de inicio\"`,\n's6196153c4b0c1ea0': `Instalar`,\n's633502f7cff4f847': `Abre el menú de tu navegador`,\n's681e399d63311fba': `Mostrar galería`,\n's6d14a4f70ba4e3cf': `Presiona Menú si no hay icono de Compartir`,\n's922329d6f6213590': `Añadir al Dock`,\n's9c63a79ffcc2a3a3': `Presiona \"Añadir a pantalla de inicio\"`,\n'sa2d71bfd9525168d': `Presiona \"Añadir al Dock\"`,\n'sa5ef80b4bb9b39f8': `Menos`,\n'sb527eca1c1d7e7be': `Abre el menú del navegador integrado`,\n'sba52286c21552a4e': `Instálalo en tu dispositivo para una experiencia amplia y acceso fácil.`,\n'sc16e00a7a8b2fde2': `Atrás`,\n'scdaf4bbff76674c8': `Añadir a pantalla de inicio`,\n'sd18a5b85f599ff3c': `Abre el enlace copiado en Safari`,\n'se72fc3a84f9b51c3': `Toca para copiar el enlace`,\n'se740f75b95a51807': `Añádelo a tu Dock para una experiencia amplia y acceso fácil.`,\n'sfa6c42cdf48d93d2': `Pero este navegador no admite esta función. Abre el enlace en un navegador externo para continuar.`,\n'sfb78526365796a41': `Presiona \"Ver más\" en el menú Compartir`,\n'sfea652f6580ff086': `Este sitio tiene funcionalidad de aplicación.`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `Tik op \"Openen in browser...\"`,\n's182ab2d6c997515f': `Zet het op je beginscherm voor een uitgebreide ervaring en gemakkelijke toegang.`,\n's224cbcec014ef6b5': `Druk op delen in de navigatiebalk`,\n's233af3b7eb5e0364': `Toevoegen aan startpagina`,\n's37a9e8aec5713460': `Meer`,\n's4c3161035f3a1413': `Druk op Menu`,\n's4e1e10a6ca408245': `Tik op \"Zet op beginscherm\"`,\n's6196153c4b0c1ea0': `Installeren`,\n's633502f7cff4f847': `Open je browsermenu`,\n's681e399d63311fba': `Galerij tonen`,\n's6d14a4f70ba4e3cf': `Druk op Menu als er geen Deel-icoon is`,\n's922329d6f6213590': `Toevoegen aan Dock`,\n's9c63a79ffcc2a3a3': `Druk op \"Zet op beginscherm\"`,\n'sa2d71bfd9525168d': `Druk op \"Toevoegen aan Dock\"`,\n'sa5ef80b4bb9b39f8': `Minder`,\n'sb527eca1c1d7e7be': `Open het menu van de in-appbrowser`,\n'sba52286c21552a4e': `Installeer het op je apparaat voor een uitgebreide ervaring en gemakkelijke toegang.`,\n'sc16e00a7a8b2fde2': `Terug`,\n'scdaf4bbff76674c8': `Zet op beginscherm`,\n'sd18a5b85f599ff3c': `Open de gekopieerde link in Safari`,\n'se72fc3a84f9b51c3': `Tik om de link te kopiëren`,\n'se740f75b95a51807': `Voeg het toe aan je Dock voor een uitgebreide ervaring en makkelijke toegang.`,\n'sfa6c42cdf48d93d2': `Maar deze browser ondersteunt deze functie niet. Open de link in een externe browser om door te gaan.`,\n'sfb78526365796a41': `Druk op \"Bekijk meer\" in het Deel-menu`,\n'sfea652f6580ff086': `Deze site heeft app-functionaliteit.`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `Πατήστε «Άνοιγμα σε περιηγητή…»`,\n's182ab2d6c997515f': `Προσθέστε το στην Οθόνη Αφετηρίας για εκτεταμένη εμπειρία και εύκολη πρόσβαση.`,\n's224cbcec014ef6b5': `Πατήστε \"Κοινή χρήση\" στη γραμμή πλοήγησης`,\n's233af3b7eb5e0364': `Προσθήκη στην αρχική σελίδα`,\n's37a9e8aec5713460': `Περισσότερα`,\n's4c3161035f3a1413': `Πατήστε το μενού`,\n's4e1e10a6ca408245': `Πατήστε \"Προσθήκη στην οθόνη Αφετηρίας\"`,\n's6196153c4b0c1ea0': `Εγκατάσταση`,\n's633502f7cff4f847': `Ανοίξτε το μενού του περιηγητή σας`,\n's681e399d63311fba': `Εμφάνιση συλλογής`,\n's6d14a4f70ba4e3cf': `Πατήστε το μενού αν δεν υπάρχει εικονίδιο Κοινοποίησης`,\n's922329d6f6213590': `Προσθήκη στο Dock`,\n's9c63a79ffcc2a3a3': `Πατήστε \"Προσθήκη στην οθόνη Αφετηρίας\"`,\n'sa2d71bfd9525168d': `Πατήστε \"Προσθήκη στο Dock\"`,\n'sa5ef80b4bb9b39f8': `Λιγότερα`,\n'sb527eca1c1d7e7be': `Ανοίξτε το μενού του ενσωματωμένου περιηγητή`,\n'sba52286c21552a4e': `Εγκαταστήστε το στη συσκευή σας για εκτεταμένη εμπειρία και εύκολη πρόσβαση.`,\n'sc16e00a7a8b2fde2': `Πίσω`,\n'scdaf4bbff76674c8': `Προσθήκη στην οθόνη Αφετηρίας`,\n'sd18a5b85f599ff3c': `Ανοίξτε τον αντιγραμμένο σύνδεσμο στο Safari`,\n'se72fc3a84f9b51c3': `Πατήστε για αντιγραφή συνδέσμου`,\n'se740f75b95a51807': `Προσθέστε το στο Dock για εκτεταμένη εμπειρία και εύκολη πρόσβαση.`,\n'sfa6c42cdf48d93d2': `Ωστόσο, αυτός ο περιηγητής δεν υποστηρίζει αυτήν τη λειτουργία. Ανοίξτε τον σύνδεσμο σε εξωτερικό περιηγητή για να συνεχίσετε.`,\n'sfb78526365796a41': `Πατήστε \"Προβολή περισσότερων\" στο μενού Κοινοποίησης`,\n'sfea652f6580ff086': `Αυτός ο ιστότοπος έχει λειτουργικότητα εφαρμογής.`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `Touchez « Ouvrir dans le navigateur… »`,\n's182ab2d6c997515f': `Ajoutez-le à votre écran d'accueil pour une expérience étendue et un accès facile.`,\n's224cbcec014ef6b5': `Appuyez sur Partager dans la barre de navigation`,\n's233af3b7eb5e0364': `Ajouter à la Maison`,\n's37a9e8aec5713460': `Plus`,\n's4c3161035f3a1413': `Appuyez sur Menu`,\n's4e1e10a6ca408245': `Touchez \"Ajouter à l'écran d'accueil\"`,\n's6196153c4b0c1ea0': `Installer`,\n's633502f7cff4f847': `Ouvrez le menu de votre navigateur`,\n's681e399d63311fba': `Afficher la galerie`,\n's6d14a4f70ba4e3cf': `Appuyez sur Menu s'il n'y a pas d'icône Partager`,\n's922329d6f6213590': `Ajouter au Dock`,\n's9c63a79ffcc2a3a3': `Appuyez sur \"Ajouter à l'écran d'accueil\"`,\n'sa2d71bfd9525168d': `Appuyez sur \"Ajouter au Dock\"`,\n'sa5ef80b4bb9b39f8': `Moins`,\n'sb527eca1c1d7e7be': `Ouvrez le menu du navigateur intégré`,\n'sba52286c21552a4e': `Installez-le sur votre appareil pour une expérience complète et un accès facile.`,\n'sc16e00a7a8b2fde2': `Retour`,\n'scdaf4bbff76674c8': `Ajouter à l'écran d'accueil`,\n'sd18a5b85f599ff3c': `Ouvrez le lien copié dans Safari`,\n'se72fc3a84f9b51c3': `Touchez pour copier le lien`,\n'se740f75b95a51807': `Ajoutez-le à votre Dock pour une expérience étendue et un accès facile.`,\n'sfa6c42cdf48d93d2': `Mais ce navigateur ne prend pas en charge cette fonctionnalité. Ouvrez le lien dans un navigateur externe pour continuer.`,\n'sfb78526365796a41': `Appuyez sur \"Afficher plus\" dans le menu Partager`,\n'sfea652f6580ff086': `Ce site possède des fonctionnalités d'application.`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `Додирните „Отвори у прегледачу…“`,\n's182ab2d6c997515f': `Додајте га на Home Screen за широке могућности и лак приступ.`,\n's224cbcec014ef6b5': `Притисните Share у навигационој траци`,\n's233af3b7eb5e0364': `Додај на почетну страницу`,\n's37a9e8aec5713460': `Више`,\n's4c3161035f3a1413': `Притисните мени`,\n's4e1e10a6ca408245': `Додирните \"Add to Home Screen\"`,\n's6196153c4b0c1ea0': `Инсталирај`,\n's633502f7cff4f847': `Отворите мени вашег прегледача`,\n's681e399d63311fba': `Прикажи галерију`,\n's6d14a4f70ba4e3cf': `Притисните мени ако нема иконе за дељење`,\n's9c63a79ffcc2a3a3': `Притисните \"Add to Home Screen\"`,\n'sa2d71bfd9525168d': `Притисните \"Add to Dock\"`,\n'sa5ef80b4bb9b39f8': `Мање`,\n'sb527eca1c1d7e7be': `Отворите мени уграђеног прегледача`,\n'sba52286c21552a4e': `Инсталирајте га на вашем уређају за широке могућности и лак приступ.`,\n'sc16e00a7a8b2fde2': `Назад`,\n'sd18a5b85f599ff3c': `Отворите копирани линк у Safari-ју`,\n'se72fc3a84f9b51c3': `Додирните за копирање линка`,\n'se740f75b95a51807': `Додајте га у вашу Dock за широке могућности и лак приступ.`,\n'sfa6c42cdf48d93d2': `Али овај прегледач не подржава ову функцију. Да бисте наставили, отворите линк у спољном прегледачу.`,\n'sfb78526365796a41': `Притисните \"View More\" у Share менију`,\n'sfea652f6580ff086': `Овај сајт има функционалност апликације.`,\n's922329d6f6213590': `Add to Dock`,\n'scdaf4bbff76674c8': `Add to Home Screen`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `Naciśnij „Otwórz w przeglądarce…”`,\n's182ab2d6c997515f': `Dodaj do swojego Ekranu Głównego, aby uzyskać bogate doświadczenie i łatwy dostęp.`,\n's224cbcec014ef6b5': `Wybierz \"Udostępnij\"`,\n's233af3b7eb5e0364': `Dodaj do strony głównej`,\n's37a9e8aec5713460': `Więcej`,\n's4c3161035f3a1413': `Naciśnij Menu`,\n's4e1e10a6ca408245': `Naciśnij \"Dodaj do Ekranu Głównego\"`,\n's6196153c4b0c1ea0': `Zainstaluj`,\n's633502f7cff4f847': `Otwórz menu przeglądarki`,\n's681e399d63311fba': `Pokaż galerię`,\n's6d14a4f70ba4e3cf': `Naciśnij Menu, jeśli brak ikony Udostępnij`,\n's922329d6f6213590': `Dodaj do Docka`,\n's9c63a79ffcc2a3a3': `Naciśnij \"Dodaj do Ekranu Głównego\"`,\n'sa2d71bfd9525168d': `Naciśnij \"Dodaj do Docka\"`,\n'sa5ef80b4bb9b39f8': `Mniej`,\n'sb527eca1c1d7e7be': `Otwórz menu przeglądarki w aplikacji`,\n'sba52286c21552a4e': `Zainstaluj na swoim urządzeniu, aby uzyskać bogate doświadczenie i łatwy dostęp.`,\n'sc16e00a7a8b2fde2': `Wstecz`,\n'scdaf4bbff76674c8': `Dodaj do Ekranu Głównego`,\n'sd18a5b85f599ff3c': `Otwórz skopiowany link w Safari`,\n'se72fc3a84f9b51c3': `Naciśnij, aby skopiować link`,\n'se740f75b95a51807': `Dodaj do swojego Docka, aby uzyskać bogate doświadczenie i łatwy dostęp.`,\n'sfa6c42cdf48d93d2': `Ta przeglądarka nie obsługuje jednak tej funkcji. Aby kontynuować, otwórz link w zewnętrznej przeglądarce.`,\n'sfb78526365796a41': `Naciśnij \"Wyświetl więcej\" w menu Udostępnij`,\n'sfea652f6580ff086': `Ta strona posiada funkcje aplikacji.`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `Натисніть «Відкрити у браузері…»`,\n's182ab2d6c997515f': `Додайте на Домашній екран для зручного доступу та ширших можливостей.`,\n's224cbcec014ef6b5': `Натиснути «Поділитися»`,\n's233af3b7eb5e0364': `Додати ярлик на телефон`,\n's37a9e8aec5713460': `Детальніше`,\n's4c3161035f3a1413': `Натисніть «Меню»`,\n's4e1e10a6ca408245': `Натиснути «На Початковий экран»`,\n's6196153c4b0c1ea0': `Встановити`,\n's633502f7cff4f847': `Відкрити меню браузера`,\n's681e399d63311fba': `Показати галерею`,\n's6d14a4f70ba4e3cf': `Натисніть «Меню», якщо немає значка «Поділитися»`,\n's922329d6f6213590': `Додати на Dock`,\n's9c63a79ffcc2a3a3': `Натисніть «На початковий екран»`,\n'sa2d71bfd9525168d': `Натисніть «Додати на Dock»`,\n'sa5ef80b4bb9b39f8': `Згорнути`,\n'sb527eca1c1d7e7be': `Відкрийте меню вбудованого браузера`,\n'sba52286c21552a4e': `Встановіть на ваш пристрій для зручного доступу та ширших можливостей.`,\n'sc16e00a7a8b2fde2': `Назад`,\n'scdaf4bbff76674c8': `На Початковий экран`,\n'sd18a5b85f599ff3c': `Відкрийте скопійоване посилання в Safari`,\n'se72fc3a84f9b51c3': `Натисніть, щоб скопіювати посилання`,\n'se740f75b95a51807': `Додайте на панель Dock для зручного доступу та ширших можливостей.`,\n'sfa6c42cdf48d93d2': `Але цей браузер не підтримує цю функцію. Щоб продовжити, відкрийте посилання в зовнішньому браузері.`,\n'sfb78526365796a41': `Натисніть «Переглянути більше» в меню «Поділитися»`,\n'sfea652f6580ff086': `Цей сайт має функції додатку.`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `點擊「在瀏覽器中打開…」`,\n's182ab2d6c997515f': `將其加入主屏幕，以獲得更豐富的體驗和便捷訪問。`,\n's224cbcec014ef6b5': `點擊列表上的分享按鈕`,\n's233af3b7eb5e0364': `添加到主頁`,\n's37a9e8aec5713460': `詳細資訊`,\n's4c3161035f3a1413': `請點擊菜單`,\n's4e1e10a6ca408245': `點擊「添加到主屏幕」`,\n's6196153c4b0c1ea0': `安裝`,\n's633502f7cff4f847': `打開您的瀏覽器菜單`,\n's681e399d63311fba': `顯示圖庫`,\n's6d14a4f70ba4e3cf': `如果沒有分享圖標，請點擊菜單`,\n's922329d6f6213590': `添加到Dock欄`,\n's9c63a79ffcc2a3a3': `點擊「添加到主屏幕」`,\n'sa2d71bfd9525168d': `點擊「添加到Dock欄」`,\n'sa5ef80b4bb9b39f8': `簡短資訊`,\n'sb527eca1c1d7e7be': `打開應用程式內的瀏覽器菜單`,\n'sba52286c21552a4e': `在您的裝置上安裝它，以獲得更豐富的體驗和便捷訪問。`,\n'sc16e00a7a8b2fde2': `返回`,\n'scdaf4bbff76674c8': `將App加入主畫面`,\n'sd18a5b85f599ff3c': `在 Safari 中打開已複製的連結`,\n'se72fc3a84f9b51c3': `點擊以複製連結`,\n'se740f75b95a51807': `將其加入你的Dock欄，以獲得更豐富的體驗和便捷訪問。`,\n'sfa6c42cdf48d93d2': `但此瀏覽器不支援此功能。請在外部瀏覽器中開啟連結以繼續。`,\n'sfb78526365796a41': `在分享菜單中點擊「查看更多」`,\n'sfea652f6580ff086': `此網站具有應用程式功能。`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `轻触“在浏览器中打开…”`,\n's182ab2d6c997515f': `将其添加到主屏幕，以享受更丰富的体验并便于访问。`,\n's224cbcec014ef6b5': `点击导航栏中的“分享”按钮`,\n's233af3b7eb5e0364': `添加到主页`,\n's37a9e8aec5713460': `更多`,\n's4c3161035f3a1413': `请点击菜单`,\n's4e1e10a6ca408245': `轻触“添加到主屏幕”`,\n's6196153c4b0c1ea0': `安装`,\n's633502f7cff4f847': `打开浏览器菜单`,\n's681e399d63311fba': `显示图库`,\n's6d14a4f70ba4e3cf': `如果没有分享图标，请点击菜单`,\n's922329d6f6213590': `添加到程序坞`,\n's9c63a79ffcc2a3a3': `点击“添加到主屏幕”`,\n'sa2d71bfd9525168d': `点击“添加到程序坞”`,\n'sa5ef80b4bb9b39f8': `收起`,\n'sb527eca1c1d7e7be': `打开应用内浏览器菜单`,\n'sba52286c21552a4e': `在您的设备上安装，以享受更丰富的体验并便于访问。`,\n'sc16e00a7a8b2fde2': `返回`,\n'scdaf4bbff76674c8': `添加到主屏幕`,\n'sd18a5b85f599ff3c': `在 Safari 中打开已复制的链接`,\n'se72fc3a84f9b51c3': `点击复制链接`,\n'se740f75b95a51807': `将其添加到您的程序坞，以享受更全面的体验并便于访问。`,\n'sfa6c42cdf48d93d2': `但此浏览器不支持该功能。请在外部浏览器中打开链接以继续。`,\n'sfb78526365796a41': `在分享菜单中点击“查看更多”`,\n'sfea652f6580ff086': `此网站具备 App 功能特性。`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `輕觸「在瀏覽器中開啟…」`,\n's182ab2d6c997515f': `將其加入主畫面，以獲得更完整的體驗並方便存取。`,\n's224cbcec014ef6b5': `點擊導覽列中的「分享」按鈕`,\n's233af3b7eb5e0364': `加入首頁`,\n's37a9e8aec5713460': `更多`,\n's4c3161035f3a1413': `請點擊「選單」`,\n's4e1e10a6ca408245': `輕觸「加入主畫面」`,\n's6196153c4b0c1ea0': `安裝`,\n's633502f7cff4f847': `開啟瀏覽器選單`,\n's681e399d63311fba': `顯示相簿`,\n's6d14a4f70ba4e3cf': `若未看見「分享」圖示，請點擊「選單」`,\n's922329d6f6213590': `加入 Dock`,\n's9c63a79ffcc2a3a3': `點擊「加入主畫面」`,\n'sa2d71bfd9525168d': `點擊「加入 Dock」`,\n'sa5ef80b4bb9b39f8': `收起`,\n'sb527eca1c1d7e7be': `開啟應用程式內的瀏覽器選單`,\n'sba52286c21552a4e': `在您的裝置上安裝，以獲得更完整的體驗並方便存取。`,\n'sc16e00a7a8b2fde2': `返回`,\n'scdaf4bbff76674c8': `加入主畫面`,\n'sd18a5b85f599ff3c': `在 Safari 中開啟已複製的連結`,\n'se72fc3a84f9b51c3': `點一下以複製連結`,\n'se740f75b95a51807': `將其加入 Dock，以獲得更完整的體驗並方便隨時存取。`,\n'sfa6c42cdf48d93d2': `但此瀏覽器不支援此功能。請在外部瀏覽器中開啟連結以繼續。`,\n'sfb78526365796a41': `在分享選單中點擊「查看更多」`,\n'sfea652f6580ff086': `此網站具備應用程式功能。`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `Tocca \"Apri nel browser...\"`,\n's182ab2d6c997515f': `Aggiungilo alla schermata principale per un'esperienza più completa e un accesso facile.`,\n's224cbcec014ef6b5': `Premi Condividi nella barra di navigazione`,\n's233af3b7eb5e0364': `Aggiungi alla Home`,\n's37a9e8aec5713460': `Più`,\n's4c3161035f3a1413': `Premi Menu`,\n's4e1e10a6ca408245': `Tocca \"Aggiungi alla schermata principale\"`,\n's6196153c4b0c1ea0': `Installa`,\n's633502f7cff4f847': `Apri il menu del tuo browser`,\n's681e399d63311fba': `Mostra galleria`,\n's6d14a4f70ba4e3cf': `Premi Menu se non c'è l'icona Condividi`,\n's922329d6f6213590': `Aggiungi al Dock`,\n's9c63a79ffcc2a3a3': `Premi \"Aggiungi alla schermata principale\"`,\n'sa2d71bfd9525168d': `Premi \"Aggiungi al Dock\"`,\n'sa5ef80b4bb9b39f8': `Meno`,\n'sb527eca1c1d7e7be': `Apri il menu del browser integrato`,\n'sba52286c21552a4e': `Installalo sul tuo dispositivo per un'esperienza più completa e un accesso facile.`,\n'sc16e00a7a8b2fde2': `Indietro`,\n'scdaf4bbff76674c8': `Aggiungi alla schermata principale`,\n'sd18a5b85f599ff3c': `Apri il link copiato in Safari`,\n'se72fc3a84f9b51c3': `Tocca per copiare il link`,\n'se740f75b95a51807': `Aggiungilo al Dock per un'esperienza più completa e un accesso facile.`,\n'sfa6c42cdf48d93d2': `Ma questo browser non supporta questa funzionalità. Apri il link in un browser esterno per continuare.`,\n'sfb78526365796a41': `Premi \"Mostra altro\" nel menu Condividi`,\n'sfea652f6580ff086': `Questo sito ha funzionalità di app.`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `Klepněte na „Otevřít v prohlížeči…“`,\n's182ab2d6c997515f': `Přidejte jej na plochu pro rozšířené využití a snadný přístup.`,\n's224cbcec014ef6b5': `Stiskněte tlačítko Sdílet na navigačním panelu`,\n's233af3b7eb5e0364': `Přidat do košíku`,\n's37a9e8aec5713460': `Více`,\n's4c3161035f3a1413': `Stiskněte tlačítko nabídky`,\n's4e1e10a6ca408245': `Klepněte na \"Přidat na plochu\"`,\n's6196153c4b0c1ea0': `Nainstalovat`,\n's633502f7cff4f847': `Otevřete nabídku prohlížeče`,\n's681e399d63311fba': `Zobrazit galerii`,\n's6d14a4f70ba4e3cf': `Stiskněte tlačítko nabídky, pokud není ikona Sdílet`,\n's922329d6f6213590': `Přidat do Docku`,\n's9c63a79ffcc2a3a3': `Stiskněte \"Přidat na plochu\"`,\n'sa2d71bfd9525168d': `Stiskněte \"Přidat do Docku\"`,\n'sa5ef80b4bb9b39f8': `Méně`,\n'sb527eca1c1d7e7be': `Otevřete nabídku prohlížeče v aplikaci`,\n'sba52286c21552a4e': `Nainstalujte si jej na své zařízení pro rozšířené využití a snadný přístup.`,\n'sc16e00a7a8b2fde2': `Zpět`,\n'scdaf4bbff76674c8': `Přidat na plochu`,\n'sd18a5b85f599ff3c': `Otevřete zkopírovaný odkaz v Safari`,\n'se72fc3a84f9b51c3': `Klepnutím zkopírujete odkaz`,\n'se740f75b95a51807': `Přidejte jej do svého Docku pro rozšířené využití a snadný přístup.`,\n'sfa6c42cdf48d93d2': `Tento prohlížeč to ale nepodporuje. Chcete-li pokračovat, otevřete odkaz v externím prohlížeči.`,\n'sfb78526365796a41': `Stiskněte \"Zobrazit více\" v nabídce Sdílet`,\n'sfea652f6580ff086': `Tento web má funkce aplikace.`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `Trykk på «Åpne i nettleser…»`,\n's182ab2d6c997515f': `Legg den til på Hjem-skjermen din for å få en bedre brukeropplevelse og raskere tilgang.`,\n's224cbcec014ef6b5': `Trykk på Del-knappen i navigasjonslinjen`,\n's233af3b7eb5e0364': `Legg til på startsiden`,\n's37a9e8aec5713460': `Mer`,\n's4c3161035f3a1413': `Trykk på Meny`,\n's4e1e10a6ca408245': `Trykk på \"Legg til på Hjem-skjerm\"`,\n's6196153c4b0c1ea0': `Installer`,\n's633502f7cff4f847': `Åpne menyen i nettleseren din`,\n's681e399d63311fba': `Vis galleri`,\n's6d14a4f70ba4e3cf': `Trykk på Meny hvis det ikke er noe delingsikon`,\n's922329d6f6213590': `Legg til i Dock`,\n's9c63a79ffcc2a3a3': `Trykk på «Legg til på Hjem-skjerm»`,\n'sa2d71bfd9525168d': `Trykk på «Legg til i Dock»`,\n'sa5ef80b4bb9b39f8': `Mindre`,\n'sb527eca1c1d7e7be': `Åpne nettlesermenyen i appen`,\n'sba52286c21552a4e': `Installer den på enheten din for å få en bedre brukeropplevelse og raskere tilgang.`,\n'sc16e00a7a8b2fde2': `Tilbake`,\n'scdaf4bbff76674c8': `Legg til på Hjem-skjerm`,\n'sd18a5b85f599ff3c': `Åpne den kopierte lenken i Safari`,\n'se72fc3a84f9b51c3': `Trykk for å kopiere lenken`,\n'se740f75b95a51807': `Legg den til i Docken din for å få en bedre brukeropplevelse og raskere tilgang.`,\n'sfa6c42cdf48d93d2': `Men denne nettleseren støtter ikke denne funksjonen. Åpne lenken i en ekstern nettleser for å fortsette.`,\n'sfb78526365796a41': `Trykk på «Vis mer» i delingsmenyen`,\n'sfea652f6580ff086': `Denne siden har app-funksjonalitet.`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `Toque em \"Abrir no navegador...\"`,\n's182ab2d6c997515f': `Adicione à Tela de Início para uma melhor experiência e mais fácil acesso.`,\n's224cbcec014ef6b5': `Pressione Compartilhar na barra de endereço`,\n's233af3b7eb5e0364': `Adicionar à página inicial`,\n's37a9e8aec5713460': `Mais`,\n's4c3161035f3a1413': `Pressione Menu`,\n's4e1e10a6ca408245': `Toque em \"Adicionar à Tela de Início\"`,\n's6196153c4b0c1ea0': `Instalar`,\n's633502f7cff4f847': `Abra o menu do seu navegador`,\n's681e399d63311fba': `Mostrar Galeria`,\n's6d14a4f70ba4e3cf': `Pressione Menu se não houver ícone de Compartilhar`,\n's922329d6f6213590': `Adicionar ao Dock`,\n's9c63a79ffcc2a3a3': `Pressione \"Adicionar à Tela de Início\"`,\n'sa2d71bfd9525168d': `Pressione \"Adicionar ao Dock\"`,\n'sa5ef80b4bb9b39f8': `Menos`,\n'sb527eca1c1d7e7be': `Abra o menu do navegador integrado`,\n'sba52286c21552a4e': `Instale no dispositivo para uma melhor experiência e mais fácil acesso.`,\n'sc16e00a7a8b2fde2': `Voltar`,\n'scdaf4bbff76674c8': `Adicionar à Tela de Início`,\n'sd18a5b85f599ff3c': `Abra o link copiado no Safari`,\n'se72fc3a84f9b51c3': `Toque para copiar o link`,\n'se740f75b95a51807': `Adicione ao Dock para uma melhor experiência e mais fácil acesso.`,\n'sfa6c42cdf48d93d2': `Mas este navegador não oferece suporte a esse recurso. Abra o link em um navegador externo para continuar.`,\n'sfb78526365796a41': `Pressione \"Ver mais\" no menu Compartilhar`,\n'sfea652f6580ff086': `Este site possui funcionalidade de aplicativo.`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `「ブラウザで開く…」をタップする`,\n's182ab2d6c997515f': `ホーム画面に追加して、幅広い体験と簡単なアクセスを実現してください。`,\n's224cbcec014ef6b5': `ナビゲーションバーで共有を押す`,\n's233af3b7eb5e0364': `ホームに追加`,\n's37a9e8aec5713460': `展開`,\n's4c3161035f3a1413': `「メニュー」を押す`,\n's4e1e10a6ca408245': `「ホーム画面に追加」をタップする`,\n's6196153c4b0c1ea0': `インストール`,\n's633502f7cff4f847': `ブラウザメニューを開く`,\n's681e399d63311fba': `ギャラリーを表示`,\n's6d14a4f70ba4e3cf': `共有アイコンがない場合は「メニュー」を押す`,\n's922329d6f6213590': `Dockに追加`,\n's9c63a79ffcc2a3a3': `「ホーム画面に追加」を押す`,\n'sa2d71bfd9525168d': `「Dockに追加」を押す`,\n'sa5ef80b4bb9b39f8': `折りたたむ`,\n'sb527eca1c1d7e7be': `アプリ内ブラウザのメニューを開く`,\n'sba52286c21552a4e': `デバイスにインストールすることで、より充実した体験と簡単なアクセスを実現できます。`,\n'sc16e00a7a8b2fde2': `戻る`,\n'scdaf4bbff76674c8': `ホーム画面に追加`,\n'sd18a5b85f599ff3c': `コピーしたリンクをSafariで開く`,\n'se72fc3a84f9b51c3': `タップしてリンクをコピー`,\n'se740f75b95a51807': `ドックに追加して、幅広い体験と簡単なアクセスを実現してください。`,\n'sfa6c42cdf48d93d2': `ただし、このブラウザはこの機能に対応していません。続行するには、リンクを外部ブラウザで開いてください。`,\n'sfb78526365796a41': `共有メニューで「さらに表示」を押す`,\n'sfea652f6580ff086': `このサイトはアプリ機能があります。`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `Tryck på ”Öppna i webbläsare…”`,\n's182ab2d6c997515f': `Lägg till på hemskärmen för att få en bättre användarupplevelse och enklare åtkomst.`,\n's224cbcec014ef6b5': `Tryck på Dela-knappen i verktygsfältet`,\n's233af3b7eb5e0364': `Lägg till på startsidan`,\n's37a9e8aec5713460': `Mer`,\n's4c3161035f3a1413': `Tryck på Meny`,\n's4e1e10a6ca408245': `Tryck på \"Lägg till på hemskärmen\"`,\n's6196153c4b0c1ea0': `Installera`,\n's633502f7cff4f847': `Öppna din webbläsares meny`,\n's681e399d63311fba': `Visa galleri`,\n's6d14a4f70ba4e3cf': `Tryck på Meny om det inte finns någon delningsikon`,\n's922329d6f6213590': `Lägg till i Dock`,\n's9c63a79ffcc2a3a3': `Tryck på \"Lägg till på hemskärmen\"`,\n'sa2d71bfd9525168d': `Tryck på \"Lägg till i Dock\"`,\n'sa5ef80b4bb9b39f8': `Mindre`,\n'sb527eca1c1d7e7be': `Öppna menyn i appens webbläsare`,\n'sba52286c21552a4e': `Installera den på din enhet för att få en bättre användarupplevelse och enklare åtkomst.`,\n'sc16e00a7a8b2fde2': `Tillbaka`,\n'scdaf4bbff76674c8': `Lägg till på hemskärmen`,\n'sd18a5b85f599ff3c': `Öppna den kopierade länken i Safari`,\n'se72fc3a84f9b51c3': `Tryck för att kopiera länken`,\n'se740f75b95a51807': `Lägg till i Dock för att få en bättre användarupplevelse och enklare åtkomst.`,\n'sfa6c42cdf48d93d2': `Men den här webbläsaren stöder inte den här funktionen. Öppna länken i en extern webbläsare för att fortsätta.`,\n'sfb78526365796a41': `Tryck på \"Visa mer\" i delningsmenyn`,\n'sfea652f6580ff086': `Denna webbsajt har app-funktionalitet.`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `\"브라우저에서 열기...\" 탭하기`,\n's182ab2d6c997515f': `더 많은 기능과 쉬운 접근을 위해 홈 화면에 추가해주세요.`,\n's224cbcec014ef6b5': `내비게이션 바에서 공유 버튼 누르기`,\n's233af3b7eb5e0364': `홈에 추가`,\n's37a9e8aec5713460': `더보기`,\n's4c3161035f3a1413': `메뉴 누르기`,\n's4e1e10a6ca408245': `\"홈 화면에 추가\" 탭하기`,\n's6196153c4b0c1ea0': `설치`,\n's633502f7cff4f847': `브라우저 메뉴 열기`,\n's681e399d63311fba': `갤러리 표시`,\n's6d14a4f70ba4e3cf': `공유 아이콘이 없으면 메뉴 누르기`,\n's922329d6f6213590': `Dock에 추가`,\n's9c63a79ffcc2a3a3': `\"홈 화면에 추가\" 누르기`,\n'sa2d71bfd9525168d': `\"Dock에 추가\" 누르기`,\n'sa5ef80b4bb9b39f8': `닫기`,\n'sb527eca1c1d7e7be': `앱 내 브라우저 메뉴 열기`,\n'sba52286c21552a4e': `더 많은 기능과 쉬운 접근을 위해 기기에 설치해주세요.`,\n'sc16e00a7a8b2fde2': `뒤로`,\n'scdaf4bbff76674c8': `홈 화면에 추가`,\n'sd18a5b85f599ff3c': `복사한 링크를 Safari에서 열기`,\n'se72fc3a84f9b51c3': `탭하여 링크 복사하기`,\n'se740f75b95a51807': `더 많은 기능과 쉬운 접근을 위해 Dock에 추가해주세요.`,\n'sfa6c42cdf48d93d2': `하지만 이 브라우저는 이 기능을 지원하지 않습니다. 계속하려면 외부 브라우저에서 링크를 여세요.`,\n'sfb78526365796a41': `공유 메뉴에서 \"더 보기\" 누르기`,\n'sfea652f6580ff086': `이 사이트는 앱 기능을 가지고 있습니다.`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `ចុចលើ \"បើកក្នុងកម្មវិធីរុករក...\"`,\n's182ab2d6c997515f': `បន្ថែមវាទៅកាន់ផ្ទាំងអេក្រង់ដើមដើម្បីទទួលបាននូវបទពិសោធន៍កាន់តែល្អនិងងាយស្រួលប្រើ។`,\n's224cbcec014ef6b5': `ចុចលើ ប៊ូតុងចែករំលែក នៅក្នុងរបារទិសដៅ`,\n's233af3b7eb5e0364': `បន្ថែមទៅទំព័រដើម`,\n's37a9e8aec5713460': `បង្ហាញបន្ថែម`,\n's4c3161035f3a1413': `ចុចលើ ម៉ឺនុយ`,\n's4e1e10a6ca408245': `ចុចលើ \"បន្ថែមទៅកាន់ផ្ទាំងអេក្រង់ដើម\"`,\n's6196153c4b0c1ea0': `តំឡើង`,\n's633502f7cff4f847': `បើកម៉ឺនុយកម្មវិធីរុករករបស់អ្នក`,\n's681e399d63311fba': `បង្ហាញវិចិត្រសាល`,\n's6d14a4f70ba4e3cf': `ចុចលើ ម៉ឺនុយ ប្រសិនបើគ្មានរូបសញ្ញា ចែករំលែក`,\n's922329d6f6213590': `បន្ថែមទៅកាន់ Dock`,\n's9c63a79ffcc2a3a3': `ចុចលើ \"បន្ថែមទៅកាន់ផ្ទាំងអេក្រង់ដើម\"`,\n'sa2d71bfd9525168d': `ចុចលើ \"បន្ថែមទៅកាន់ Dock\"`,\n'sa5ef80b4bb9b39f8': `បង្ហាញតិច`,\n'sb527eca1c1d7e7be': `បើកម៉ឺនុយកម្មវិធីរុករកក្នុងកម្មវិធី`,\n'sba52286c21552a4e': `តំឡើងវានៅលើឧបករណ៍របស់អ្នកដើម្បីទទួលបាននូវបទពិសោធន៍កាន់តែល្អនិងងាយស្រួលប្រើ។`,\n'sc16e00a7a8b2fde2': `ត្រឡប់ក្រោយ`,\n'scdaf4bbff76674c8': `បន្ថែមទៅកាន់ផ្ទាំងអេក្រង់ដើម`,\n'sd18a5b85f599ff3c': `បើកតំណដែលបានចម្លងនៅក្នុង Safari`,\n'se72fc3a84f9b51c3': `ចុចដើម្បីចម្លងតំណ`,\n'se740f75b95a51807': `បន្ថែមវាទៅកាន់ Dock ដើម្បីទទួលបាននូវបទពិសោធន៍កាន់តែល្អនិងងាយស្រួលប្រើ។`,\n'sfa6c42cdf48d93d2': `ប៉ុន្តែកម្មវិធីរុករកនេះមិនគាំទ្រមុខងារនេះទេ។ ដើម្បីបន្ត សូមបើកតំណនៅក្នុងកម្មវិធីរុករកខាងក្រៅ។`,\n'sfb78526365796a41': `ចុចលើ \"បង្ហាញបន្ថែម\" នៅក្នុងម៉ឺនុយចែករំលែក`,\n'sfea652f6580ff086': `គេហទំព័រនេះមានមុខងារជាកម្មវិធី។`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `روی «باز کردن در مرورگر…» ضربه بزنید`,\n's182ab2d6c997515f': `برای تجربه گسترده و دسترسی آسان آن را به صفحه اصلی خود اضافه کنید.`,\n's224cbcec014ef6b5': `در نوار پایین دکمه (Share) را  بزنید`,\n's233af3b7eb5e0364': `افزودن به صفحه اصلی`,\n's37a9e8aec5713460': `بیشتر`,\n's4c3161035f3a1413': `روی منو فشار دهید`,\n's4e1e10a6ca408245': `روی \"Add to Home screen\" ضربه بزنید`,\n's6196153c4b0c1ea0': `نصب`,\n's633502f7cff4f847': `مرورگر خود را باز کنید`,\n's681e399d63311fba': `نمایش گالری`,\n's6d14a4f70ba4e3cf': `اگر آیکون اشتراک‌گذاری وجود ندارد، روی منو فشار دهید`,\n's922329d6f6213590': `افزودن به (Dock)`,\n's9c63a79ffcc2a3a3': `روی «افزودن به صفحه اصلی» ضربه بزنید`,\n'sa2d71bfd9525168d': `روی «افزودن به Dock» ضربه بزنید`,\n'sa5ef80b4bb9b39f8': `کمتر`,\n'sb527eca1c1d7e7be': `منوی مرورگر درون‌برنامه‌ای را باز کنید`,\n'sba52286c21552a4e': `برای تجربه گسترده و دسترسی آسان آن را بر روی دستگاه خود نصب کنید.`,\n'sc16e00a7a8b2fde2': `بازگشت`,\n'scdaf4bbff76674c8': `افزودن به (Home Screen)`,\n'sd18a5b85f599ff3c': `لینک کپی‌شده را در Safari باز کنید`,\n'se72fc3a84f9b51c3': `برای کپی لینک ضربه بزنید`,\n'se740f75b95a51807': `برای تجربه گسترده و دسترسی آسان آن را به Dock خود اضافه کنید.`,\n'sfa6c42cdf48d93d2': `اما این مرورگر از این قابلیت پشتیبانی نمی‌کند. برای ادامه، لینک را در یک مرورگر خارجی باز کنید.`,\n'sfb78526365796a41': `در منوی اشتراک‌گذاری روی «مشاهده بیشتر» ضربه بزنید`,\n'sfea652f6580ff086': ` این سایت دارای قابلیت اپلیکیشن است. `,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `Tryk på \"Åbn i browser...\"`,\n's182ab2d6c997515f': `Tilføj den til din hjemmeskærm for en bedre oplevelse og nem adgang.`,\n's224cbcec014ef6b5': `Tryk på Del-knappen i navigationslinjen`,\n's233af3b7eb5e0364': `Føj til startsiden`,\n's37a9e8aec5713460': `Mere`,\n's4c3161035f3a1413': `Tryk på menuen`,\n's4e1e10a6ca408245': `Tryk på \"Tilføj til hjemmeskærm\"`,\n's6196153c4b0c1ea0': `Installer`,\n's633502f7cff4f847': `Åbn din browsermenu`,\n's681e399d63311fba': `Vis galleri`,\n's6d14a4f70ba4e3cf': `Tryk på menuen, hvis der ikke er noget Del-ikon`,\n's922329d6f6213590': `Tilføj til Dock`,\n's9c63a79ffcc2a3a3': `Tryk på \"Tilføj til hjemmeskærm\"`,\n'sa2d71bfd9525168d': `Tryk på \"Tilføj til Dock\"`,\n'sa5ef80b4bb9b39f8': `Mindre`,\n'sb527eca1c1d7e7be': `Åbn browsermenuen i appen`,\n'sba52286c21552a4e': `Installer den på din enhed for en bedre oplevelse og nem adgang.`,\n'sc16e00a7a8b2fde2': `Tilbage`,\n'scdaf4bbff76674c8': `Tilføj til hjemmeskærm`,\n'sd18a5b85f599ff3c': `Åbn det kopierede link i Safari`,\n'se72fc3a84f9b51c3': `Tryk for at kopiere linket`,\n'se740f75b95a51807': `Tilføj den til din Dock for en bedre oplevelse og nem adgang.`,\n'sfa6c42cdf48d93d2': `Men denne browser understøtter det ikke. Åbn linket i en ekstern browser for at fortsætte.`,\n'sfb78526365796a41': `Tryk på \"Vis mere\" i Del-menuen`,\n'sfea652f6580ff086': `Denne side har app-funktionalitet.`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `Nhấn vào \"Mở bằng trình duyệt...\"`,\n's182ab2d6c997515f': `Thêm nó vào màn hình chính của bạn để có trải nghiệm phong phú hơn và truy cập dễ dàng hơn.`,\n's224cbcec014ef6b5': `Nhấp vào nút \"Chia sẻ\" trên thanh điều hướng`,\n's233af3b7eb5e0364': `Thêm vào trang chủ`,\n's37a9e8aec5713460': `Thêm`,\n's4c3161035f3a1413': `Nhấn Menu`,\n's4e1e10a6ca408245': `Nhấn vào \"Thêm vào Màn hình chính\"`,\n's6196153c4b0c1ea0': `Cài đặt`,\n's633502f7cff4f847': `Mở menu trình duyệt của bạn`,\n's681e399d63311fba': `Hiển thị thư viện`,\n's6d14a4f70ba4e3cf': `Nhấn Menu nếu không có biểu tượng Chia sẻ`,\n's922329d6f6213590': `Thêm vào Dock`,\n's9c63a79ffcc2a3a3': `Nhấn \"Thêm vào Màn hình chính\"`,\n'sa2d71bfd9525168d': `Nhấn \"Thêm vào Dock\"`,\n'sa5ef80b4bb9b39f8': `Thu gọn`,\n'sb527eca1c1d7e7be': `Mở menu trình duyệt trong ứng dụng`,\n'sba52286c21552a4e': `Cài đặt trên thiết bị của bạn để có trải nghiệm phong phú hơn và truy cập dễ dàng.`,\n'sc16e00a7a8b2fde2': `Quay lại`,\n'scdaf4bbff76674c8': `Thêm vào màn hình chính`,\n'sd18a5b85f599ff3c': `Mở liên kết đã sao chép trong Safari`,\n'se72fc3a84f9b51c3': `Nhấn để sao chép liên kết`,\n'se740f75b95a51807': `Thêm nó vào Dock của bạn để có trải nghiệm toàn diện hơn và truy cập dễ dàng hơn.`,\n'sfa6c42cdf48d93d2': `Nhưng trình duyệt này không hỗ trợ tính năng đó. Để tiếp tục, hãy mở liên kết trong một trình duyệt bên ngoài.`,\n'sfb78526365796a41': `Nhấn \"Xem thêm\" trong menu Chia sẻ`,\n'sfea652f6580ff086': `Trang web này có cả chức năng đặc trưng ứng dụng.`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `Koppintson a „Megnyitás böngészőben…” lehetőségre`,\n's182ab2d6c997515f': `Adja hozzá a kezdőképernyőjéhez a teljes élmény és a könnyű hozzáférés érdekében.`,\n's224cbcec014ef6b5': `Nyomja meg a Megosztás gombot a navigációs sávban`,\n's233af3b7eb5e0364': `Hozzáadás a kezdőlaphoz`,\n's37a9e8aec5713460': `Több`,\n's4c3161035f3a1413': `Nyomja meg a Menü gombot`,\n's4e1e10a6ca408245': `Koppintson a \"Hozzáadás a kezdőképernyőhöz\" lehetőségre`,\n's6196153c4b0c1ea0': `Telepítés`,\n's633502f7cff4f847': `Nyissa meg a böngészője menüjét`,\n's681e399d63311fba': `Galéria megjelenítése`,\n's6d14a4f70ba4e3cf': `Nyomja meg a Menü gombot, ha nincs Megosztás ikon`,\n's922329d6f6213590': `Hozzáadás a Dock-hoz`,\n's9c63a79ffcc2a3a3': `Nyomja meg a \"Hozzáadás a kezdőképernyőhöz\" lehetőséget`,\n'sa2d71bfd9525168d': `Nyomja meg a \"Hozzáadás a Dock-hoz\" gombot`,\n'sa5ef80b4bb9b39f8': `Kevesebb`,\n'sb527eca1c1d7e7be': `Nyissa meg az alkalmazáson belüli böngésző menüjét`,\n'sba52286c21552a4e': `Telepítse eszközére a teljes élmény és a könnyű hozzáférés érdekében.`,\n'sc16e00a7a8b2fde2': `Vissza`,\n'scdaf4bbff76674c8': `Hozzáadás a kezdőképernyőhöz`,\n'sd18a5b85f599ff3c': `Nyissa meg a másolt hivatkozást a Safariban`,\n'se72fc3a84f9b51c3': `Koppintson a link másolásához`,\n'se740f75b95a51807': `Adja hozzá a Dock-hoz a teljes élmény és a könnyű hozzáférés érdekében.`,\n'sfa6c42cdf48d93d2': `Ez a böngésző azonban nem támogatja ezt a funkciót. A folytatáshoz nyissa meg a hivatkozást egy külső böngészőben.`,\n'sfb78526365796a41': `Nyomja meg a \"Továbbiak megtekintése\" lehetőséget a Megosztás menüben`,\n'sfea652f6580ff086': `Ez az oldal alkalmazásfunkcióval rendelkezik.`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `Klepnite na „Otvoriť v prehliadači…“`,\n's182ab2d6c997515f': `Pridajte ju na domovskú obrazovku pre rozšírené využitie a jednoduchý prístup.`,\n's224cbcec014ef6b5': `Stlačte Zdieľať na navigačnom paneli`,\n's233af3b7eb5e0364': `Pridať na domovskú stránku`,\n's37a9e8aec5713460': `Viac`,\n's4c3161035f3a1413': `Stlačte ponuku`,\n's4e1e10a6ca408245': `Klepnite na \"Pridať na domovskú obrazovku\"`,\n's6196153c4b0c1ea0': `Inštalovať`,\n's633502f7cff4f847': `Otvorte ponuku prehliadača`,\n's681e399d63311fba': `Zobraziť galériu`,\n's6d14a4f70ba4e3cf': `Stlačte ponuku, ak nevidíte ikonu Zdieľať`,\n's922329d6f6213590': `Pridať do Docku`,\n's9c63a79ffcc2a3a3': `Stlačte \"Pridať na domovskú obrazovku\"`,\n'sa2d71bfd9525168d': `Stlačte \"Pridať do Docku\"`,\n'sa5ef80b4bb9b39f8': `Menej`,\n'sb527eca1c1d7e7be': `Otvorte ponuku prehliadača v aplikácii`,\n'sba52286c21552a4e': `Nainštalujte si ju na svoje zariadenie pre rozšírené využitie a jednoduchý prístup.`,\n'sc16e00a7a8b2fde2': `Späť`,\n'scdaf4bbff76674c8': `Pridať na domovskú obrazovku`,\n'sd18a5b85f599ff3c': `Otvorte skopírovaný odkaz v Safari`,\n'se72fc3a84f9b51c3': `Klepnutím skopírujete odkaz`,\n'se740f75b95a51807': `Pridajte ju do Docku pre rozšírené využitie a jednoduchý prístup.`,\n'sfa6c42cdf48d93d2': `Tento prehliadač však túto funkciu nepodporuje. Ak chcete pokračovať, otvorte odkaz v externom prehliadači.`,\n'sfb78526365796a41': `Stlačte \"Zobraziť viac\" v ponuke Zdieľať`,\n'sfea652f6580ff086': `Táto stránka má funkcie aplikácie.`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `Toca «Obre al navegador…»`,\n's182ab2d6c997515f': `Afegeix-lo a la teva pantalla d'inici per a una àmplia experiència i fàcil accés.`,\n's224cbcec014ef6b5': `Premeu comparteix a la barra de navegació`,\n's233af3b7eb5e0364': `Afegeix a la pàgina d'inici`,\n's37a9e8aec5713460': `Més`,\n's4c3161035f3a1413': `Premeu el menú`,\n's4e1e10a6ca408245': `Toca \"Afegeix a la pantalla d'inici\"`,\n's6196153c4b0c1ea0': `Instal·la`,\n's633502f7cff4f847': `Obre el menú del navegador`,\n's681e399d63311fba': `Mostra la galeria`,\n's6d14a4f70ba4e3cf': `Premeu el menú si no hi ha icona de Compartir`,\n's922329d6f6213590': `Afegeix al Dock`,\n's9c63a79ffcc2a3a3': `Premeu \"Afegeix a la pantalla d'inici\"`,\n'sa2d71bfd9525168d': `Premeu \"Afegeix al Dock\"`,\n'sa5ef80b4bb9b39f8': `Menys`,\n'sb527eca1c1d7e7be': `Obre el menú del navegador integrat`,\n'sba52286c21552a4e': `Instal·la'l al teu dispositiu per a una àmplia experiència i fàcil accés.`,\n'sc16e00a7a8b2fde2': `Enrere`,\n'scdaf4bbff76674c8': `Afegeix a pantalla d'inici`,\n'sd18a5b85f599ff3c': `Obriu l'enllaç copiat al Safari`,\n'se72fc3a84f9b51c3': `Toqueu per copiar l'enllaç`,\n'se740f75b95a51807': `Afegeix-lo al teu Dock per a una àmplia experiència i fàcil accés.`,\n'sfa6c42cdf48d93d2': `Però aquest navegador no ho admet. Obriu l'enllaç en un navegador extern per continuar.`,\n'sfb78526365796a41': `Premeu \"Veure'n més\" al menú Compartir`,\n'sfea652f6580ff086': `Aquest lloc té funcionalitats d'aplicació.`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `הקישו על \"פתיחה בדפדפן…\"`,\n's182ab2d6c997515f': `הוסיפו למסך הבית לחוויה מקיפה וגישה קלה.`,\n's224cbcec014ef6b5': `לחצו על שיתוף בסרגל הניווט`,\n's233af3b7eb5e0364': `הוספה לדף הבית`,\n's37a9e8aec5713460': `עוד`,\n's4c3161035f3a1413': `לחצו על התפריט`,\n's4e1e10a6ca408245': `הקישו על \"הוספה למסך הבית\"`,\n's6196153c4b0c1ea0': `התקנה`,\n's633502f7cff4f847': `פתחו את תפריט הדפדפן`,\n's681e399d63311fba': `הצג גלריה`,\n's6d14a4f70ba4e3cf': `לחצו על התפריט אם אין סמל שיתוף`,\n's922329d6f6213590': `הוסיפו ל-Dock`,\n's9c63a79ffcc2a3a3': `לחצו על \"הוספה למסך הבית\"`,\n'sa2d71bfd9525168d': `לחצו על \"הוספה ל-Dock\"`,\n'sa5ef80b4bb9b39f8': `הסתרת גלריה`,\n'sb527eca1c1d7e7be': `פתחו את תפריט הדפדפן המובנה`,\n'sba52286c21552a4e': `התקינו במכשירכם לחוויה מקיפה וגישה קלה.`,\n'sc16e00a7a8b2fde2': `חזרה`,\n'scdaf4bbff76674c8': `הוספה למסך הבית`,\n'sd18a5b85f599ff3c': `פתחו את הקישור שהועתק ב-Safari`,\n'se72fc3a84f9b51c3': `הקישו להעתקת הקישור`,\n'se740f75b95a51807': `הוסיפו ל-Dock לחוויה מקיפה וגישה קלה.`,\n'sfa6c42cdf48d93d2': `אבל הדפדפן הזה לא תומך בתכונה הזו. פתחו את הקישור בדפדפן חיצוני כדי להמשיך.`,\n'sfb78526365796a41': `לחצו על \"הצג עוד\" בתפריט השיתוף`,\n'sfea652f6580ff086': `לאתר זה יש פונקציונליות של אפליקציה.`,\n    };\n  ","\n    // Do not modify this file by hand!\n    // Re-generate this file by running lit-localize\n\n    \n    \n\n    /* eslint-disable no-irregular-whitespace */\n    /* eslint-disable @typescript-eslint/no-explicit-any */\n\n    export const templates = {\n      's05b70c60d4ea8317': `แตะ \"เปิดในเบราว์เซอร์...\"`,\n's182ab2d6c997515f': `เพิ่มไปยังหน้าจอโฮมของคุณ เพื่อประสบการณ์ที่ครบถ้วนและเข้าถึงได้ง่าย`,\n's224cbcec014ef6b5': `กด \"แชร์\" ในแถบนำทาง`,\n's233af3b7eb5e0364': `เพิ่มไปยังหน้าหลัก`,\n's37a9e8aec5713460': `เพิ่มเติม`,\n's4c3161035f3a1413': `กด \"เมนู\"`,\n's4e1e10a6ca408245': `แตะ \"เพิ่มไปยังหน้าจอโฮม\"`,\n's6196153c4b0c1ea0': `ติดตั้ง`,\n's633502f7cff4f847': `เปิดเมนูของเบราว์เซอร์`,\n's681e399d63311fba': `ดูภาพตัวอย่าง`,\n's6d14a4f70ba4e3cf': `กด \"เมนู\" หากไม่มีไอคอนแชร์`,\n's922329d6f6213590': `เพิ่มไปยัง Dock`,\n's9c63a79ffcc2a3a3': `กด \"เพิ่มไปยังหน้าจอโฮม\"`,\n'sa2d71bfd9525168d': `กด \"เพิ่มไปยัง Dock\"`,\n'sa5ef80b4bb9b39f8': `ย่อ`,\n'sb527eca1c1d7e7be': `เปิดเมนูเบราว์เซอร์ในแอป`,\n'sba52286c21552a4e': `ติดตั้งลงในอุปกรณ์ของคุณ เพื่อประสบการณ์ที่ครบถ้วนและเข้าถึงได้ง่าย`,\n'sc16e00a7a8b2fde2': `ย้อนกลับ`,\n'scdaf4bbff76674c8': `เพิ่มไปยังหน้าจอโฮม`,\n'sd18a5b85f599ff3c': `เปิดลิงก์ที่คัดลอกใน Safari`,\n'se72fc3a84f9b51c3': `แตะที่นี่เพื่อคัดลอกลิงก์แอป`,\n'se740f75b95a51807': `เพิ่มไปยัง Dock ของคุณ เพื่อประสบการณ์ที่ครบถ้วนและเข้าถึงได้ง่าย`,\n'sfa6c42cdf48d93d2': `แต่เบราว์เซอร์นี้ไม่รองรับฟังก์ชันนี้ โปรดเปิดลิงก์ในเบราว์เซอร์ภายนอกเพื่อดำเนินการต่อ`,\n'sfb78526365796a41': `กด \"ดูเพิ่มเติม\" ในเมนูแชร์`,\n'sfea652f6580ff086': `เว็บไซต์นี้ใช้งานได้เหมือนแอป`,\n    };\n  ","import { configureLocalization } from '@lit/localize';\nimport {\n  sourceLocale,\n  targetLocales,\n} from './locale-codes';\n\nimport * as ro from './locales/ro';\nimport * as ar from './locales/ar';\nimport * as bg from './locales/bg';\nimport * as ru from './locales/ru';\nimport * as tr from './locales/tr';\nimport * as de from \"./locales/de\";\nimport * as es from \"./locales/es\";\nimport * as nl from \"./locales/nl\";\nimport * as el from \"./locales/el\";\nimport * as fr from \"./locales/fr\";\nimport * as sr from \"./locales/sr\";\nimport * as pl from \"./locales/pl\";\nimport * as uk from \"./locales/uk\";\nimport * as zhHK from \"./locales/zh-HK\";\nimport * as zhCN from \"./locales/zh-CN\";\nimport * as zhTW from \"./locales/zh-TW\";\nimport * as it from \"./locales/it\";\nimport * as cs from \"./locales/cs\";\nimport * as no from \"./locales/no\";\nimport * as pt from \"./locales/pt\";\nimport * as ja from \"./locales/ja\";\nimport * as sv from \"./locales/sv\";\nimport * as ko from \"./locales/ko\";\nimport * as km from \"./locales/km\";\nimport * as fa from \"./locales/fa\";\nimport * as da from \"./locales/da\";\nimport * as vi from \"./locales/vi\";\nimport * as hu from \"./locales/hu\";\nimport * as sk from \"./locales/sk\";\nimport * as caEs from \"./locales/ca-ES\";\nimport * as he from \"./locales/he\";\nimport * as th from \"./locales/th\";\n\nconst localizedTemplates = new Map([\n  ['ar', ar],\n  ['ro', ro],\n  ['bg', bg],\n  ['ru', ru],\n  ['tr', tr],\n  ['de', de],\n  ['es', es],\n  ['nl', nl],\n  ['el', el],\n  ['fr', fr],\n  ['sr', sr],\n  ['pl', pl],\n  ['uk', uk],\n  ['zh-HK', zhHK],\n  ['zh-CN', zhCN],\n  ['zh-TW', zhTW],\n  ['it', it],\n  ['cs', cs],\n  ['no', no], // + nb\n  ['pt', pt],\n  ['ja', ja],\n  ['sv', sv],\n  ['ko', ko],\n  ['km', km],\n  ['fa', fa],\n  ['da', da],\n  ['vi', vi],\n  ['hu', hu],\n  ['sk', sk],\n  ['ca-ES', caEs],\n  ['he', he],\n  ['th', th]\n])\n\nexport const { getLocale, setLocale } = configureLocalization({\n  sourceLocale,\n  targetLocales,\n  // @ts-ignore\n  loadLocale: async (lang: string) => localizedTemplates.get(lang)\n});\n\nexport const changeLocale = async (lang: string) => {\n  // Norwegian Bokmål is same as Norwegian\n  switch (lang.slice(0, 2)) {\n    case 'nb':\n      lang = 'no';\n      break;\n    default:\n      break;\n  }\n\n  // Fallback to simplified Chinese\n  switch (lang) {\n    case 'zh':\n      lang = 'zh-CN';\n      break;\n    default:\n      break;\n  }\n\n  try {\n    if (localizedTemplates.get(lang))\n      await setLocale(lang);\n    else\n      await setLocale(lang.slice(0, 2));\n  }\n  catch {\n    console.warn(`pwa-install: translation error - unsupported locale: ${lang}`);\n  }\n};\n\nexport const isRTL = () => {\n  const locale = getLocale();\n  return ['ar', 'he', 'fa', 'ur'].includes(locale);\n}","import { ImageResource, WebAppManifest } from 'web-app-manifest';\n\nexport interface IRelatedApp {\n    id: string,\n    platform: string,\n    url: string\n}\n\nexport interface IWindow extends Window {\n    defferedPromptEvent: BeforeInstallPromptEvent | null;\n    BeforeInstallPromptEvent: BeforeInstallPromptEvent;\n}\n\nexport interface WebInstallParams {\n    manifest: string;\n    manifestId?: string;\n}\n\nexport type WebInstallResult = Record<string, never>;\n\nexport interface IWebInstallNavigator extends Navigator {\n    install?: {\n        (): Promise<WebInstallResult>;\n        (params: WebInstallParams): Promise<WebInstallResult>;\n    };\n}\n\ntype Booleanish = 'true' | 'false';\n\nexport interface PWAInstallAttributes {\n    ['manual-apple']?: Booleanish;\n    ['manual-chrome']?: Booleanish;\n    ['disable-chrome']?: Booleanish;\n    ['install-description']?: string;\n    ['disable-install-description']?: Booleanish;\n    ['manifest-url']?: string;\n    ['manifest-id']?: string;\n    name?: string;\n    description?: string;\n    icon?: string;\n}\n\nexport interface ManifestScreenshot extends ImageResource {\n    label?: string;\n    platform?: \"android\" | \"chromeos\" | \"ipados\" | \"ios\" | \"kaios\" | \"macos\" | \"windows\" | \"xbox\" | \"chrome_web_store\" | \"play\" | \"itunes\" | \"microsoft-inbox\" | \"microsoft-store\";\n    form_factor?: \"wide\" | \"narrow\";\n}\n\nexport class Manifest implements WebAppManifest {\n    constructor() {\n        this.icons = [{ src: '' }];\n        this.screenshots = undefined;\n        this.short_name = 'PWA';\n        this.name = 'Progressive web application';\n        this.description = 'Progressive web application';\n    }\n    short_name: string;\n    id?: string;\n    icons: ImageResource[];\n    screenshots?: ManifestScreenshot[];\n    name: string;\n    description: string;\n}\n","import {css} from 'lit'; export default css`.gallery{position:relative;--scrollbar-background-color:#fff;--scrollbar-thumb-color:rgb(146, 146, 146);--scrollbar-thumb-hover-color:rgb(100, 100, 100);--nav-btn-background-color:#fff;--nav-btn-fill-color:#141414}.gallery .gallery_scroller{scroll-snap-type:x mandatory;overflow-x:auto;overflow-y:hidden;display:flex;align-items:center;padding:10px 13px;padding-bottom:10px;margin:0 10px;-webkit-overflow-scrolling:touch}.gallery .gallery_scroller img{border-radius:6px;max-height:min(45vh,500px);box-shadow:0 3px 10px 0 rgba(0,0,0,.15);scroll-snap-align:center;scroll-snap-stop:always;position:relative}.gallery .gallery_scroller img+img{margin-inline-start:15px}.gallery .gallery_scroller::-webkit-scrollbar{width:4px;height:2px}.gallery .gallery_scroller::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-color);border-radius:4px}.gallery .gallery_scroller::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-color)}.gallery .gallery_scroller::-webkit-scrollbar-track{background:var(--scrollbar-background-color);border-radius:4px}.gallery .gallery_scroller .scroller_wrap{display:flex;flex-direction:row;padding-inline-end:13px}.gallery .btn{position:absolute;display:flex;align-items:center;-webkit-user-select:none;user-select:none;top:50%;transform:translateY(-50%);height:30px;width:30px;border-radius:50%;background-color:var(--nav-btn-background-color);box-shadow:rgba(0,0,0,.3) 2px 4px 4px 1px;background-repeat:no-repeat;opacity:.8;z-index:1}.gallery .btn.prev{left:5px}.gallery .btn.prev svg{margin-left:4px}.gallery .btn.next{right:5px}.gallery .btn.next svg{transform:rotate(180deg);margin-left:6px}.gallery .btn:hover{box-shadow:rgba(0,0,0,.5) 2px 4px 4px 1px;cursor:pointer;opacity:1}.gallery .btn svg{width:20px;height:20px;margin:0 auto}.gallery .btn svg path{fill:var(--nav-btn-fill-color)}.gallery.apple_desktop{--scrollbar-background-color:rgba(0, 0, 0, 0.1);--scrollbar-thumb-color:rgb(100, 100, 100);--scrollbar-thumb-hover-color:rgba(0, 0, 0, 0.85)}.gallery.apple_desktop .gallery_scroller{margin:0;padding-top:15px}.gallery.apple_desktop .btn{height:26px;width:26px;box-shadow:rgba(0,0,0,.3) 0 2px 2px 1px}.gallery.apple_desktop .btn:hover{box-shadow:rgba(0,0,0,.3) 0 2px 2px 1px}.gallery.apple_desktop .btn:active{filter:brightness(95%)}.gallery.apple_desktop .btn:active .svg{filter:brightness(110%)}.gallery.apple_desktop .btn svg{width:12px;height:auto;opacity:1}.gallery.apple_desktop .btn svg{margin-inline-start:7px}.gallery.apple_mobile .btn.prev svg{margin-inline-start:7px}.gallery.apple_mobile .btn svg{width:16px;height:auto}.gallery.apple_desktop .btn,.gallery.apple_mobile .btn{opacity:1}@media(hover:none)and (pointer:coarse){.gallery .btn.next,.gallery .btn.prev{display:none}.gallery_scroller::-webkit-scrollbar{display:none}}@media(prefers-color-scheme:dark){.gallery{--scrollbar-background-color:#424242;--nav-btn-background-color:#555555;--nav-btn-fill-color:#fff}.gallery.apple_desktop{--scrollbar-thumb-color:var(--nav-btn-fill-color);--scrollbar-background-color:var(--nav-btn-background-color);--scrollbar-thumb-hover-color:var(--nav-btn-fill-color)}.gallery.apple_desktop .btn:active{filter:brightness(110%)}.gallery.apple_desktop .btn:active .svg{filter:brightness(90%)}}`;\n    ","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n  for (var prop in b || (b = {}))\n    if (__hasOwnProp.call(b, prop))\n      __defNormalProp(a, prop, b[prop]);\n  if (__getOwnPropSymbols)\n    for (var prop of __getOwnPropSymbols(b)) {\n      if (__propIsEnum.call(b, prop))\n        __defNormalProp(a, prop, b[prop]);\n    }\n  return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __async = (__this, __arguments, generator) => {\n  return new Promise((resolve, reject) => {\n    var fulfilled = (value) => {\n      try {\n        step(generator.next(value));\n      } catch (e) {\n        reject(e);\n      }\n    };\n    var rejected = (value) => {\n      try {\n        step(generator.throw(value));\n      } catch (e) {\n        reject(e);\n      }\n    };\n    var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);\n    step((generator = generator.apply(__this, __arguments)).next());\n  });\n};\n\n// src/utils.ts\nvar WIN_ERROR = \"Window is not available and no user agent was provided.\";\nvar getUA = () => {\n  var _a, _b;\n  if (typeof window !== \"undefined\") {\n    const ua = ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) || ((_b = window == null ? void 0 : window.navigator) == null ? void 0 : _b.vendor) || // @ts-ignore\n    (window == null ? void 0 : window.opera);\n    if (ua) return ua;\n  }\n  console.error(WIN_ERROR);\n  return \"\";\n};\nvar empty = {\n  isInApp: false,\n  appKey: void 0,\n  appName: void 0,\n  skipped: false\n};\nvar getIsAppleDevice = (ua) => {\n  return ua.match(/(iPhone|iPad|iPod|Macintosh)/) !== null;\n};\nvar checkSkip = ({\n  skip,\n  appKey,\n  ua\n}) => {\n  if (!skip || skip.length === 0) return false;\n  const isApple = getIsAppleDevice(ua);\n  return skip.some(\n    ({ appKey: excludeAppKey, platform }) => appKey === excludeAppKey && (!platform || isApple && platform === \"apple\" || !isApple && platform === \"android\")\n  );\n};\nvar isSafariRegex = new RegExp(\n  /Mozilla\\/5\\.0 \\([^\\)]+\\) AppleWebKit\\/[^\\s]+ \\(KHTML, like Gecko\\) Version\\/[^\\s]+ (Mobile\\/[^\\s]+ )?Safari\\/[^\\s]+$/\n);\nvar getIsSafariUA = (ua) => {\n  return isSafariRegex.test(ua);\n};\nvar isiOS = (ua) => {\n  return [\n    \"iPad Simulator\",\n    \"iPhone Simulator\",\n    \"iPod Simulator\",\n    \"iPad\",\n    \"iPhone\",\n    \"iPod\"\n  ].includes(ua) || // iPad on iOS 13 detection\n  window && window.document && ua.includes(\"Mac\") && \"ontouchend\" in window.document;\n};\nvar getSafariVersion = (ua) => {\n  const match = [...ua.matchAll(/Version\\/([^\\s]+)/g)];\n  return match[0][1];\n};\nfunction waitForPageLoad() {\n  return __async(this, null, function* () {\n    return new Promise((resolve) => {\n      if (window.document.readyState === \"complete\") {\n        resolve(true);\n      } else {\n        const onLoad = () => {\n          resolve(true);\n          window.removeEventListener(\"load\", onLoad);\n        };\n        window.addEventListener(\"load\", onLoad);\n      }\n    });\n  });\n}\nvar pollForProperties = (_0) => __async(null, [_0], function* ({\n  maxTime,\n  properties,\n  interval\n}) {\n  let elapsed = 0;\n  return new Promise((resolve) => {\n    const intervalId = setInterval(() => {\n      elapsed += interval;\n      for (const property of properties) {\n        if (property in window) {\n          clearInterval(intervalId);\n          resolve(true);\n          return;\n        }\n      }\n      if (elapsed >= maxTime) {\n        clearInterval(intervalId);\n        resolve(false);\n      }\n    }, interval);\n  });\n});\n\n// src/detectTelegram.ts\nvar getIsTelegram = () => {\n  return \"TelegramWebview\" in window || // Android\n  \"TelegramWebviewProxy\" in window || // iPhone\n  \"TelegramWebviewProxyProto\" in window;\n};\n\n// src/detectClientSide.ts\nvar appNameCustom = {\n  telegram: {\n    name: \"Telegram\"\n  }\n};\nvar getDetectClientSide = () => {\n  if (typeof window === \"undefined\") return;\n  if (getIsTelegram()) return \"telegram\";\n  return;\n};\nvar appKeysDetectByCustom = Object.keys(\n  appNameCustom\n);\n\n// src/regexAppName.ts\nvar appNameRegExps = {\n  messenger: {\n    regex: /(\\bFB[\\w_]+\\/(Messenger))|(^(?!.*\\buseragents)(?!.*\\bIABMV).*(FB_IAB|FBAN).*)/i,\n    // Experimental for newer UAs - don't have `\"useragents:\" or end in \"IABMV\"\n    name: \"Facebook Messenger\"\n  },\n  instagram: {\n    regex: /\\bInstagram/i,\n    name: \"Instagram\"\n  },\n  facebook: {\n    regex: /\\bFB[\\w_]+\\/|\\bFacebook/i,\n    name: \"Facebook\"\n  },\n  twitter: {\n    regex: /\\bTwitter/i,\n    name: \"Twitter\"\n  },\n  line: {\n    regex: /\\bLine\\//i,\n    name: \"Line\"\n  },\n  wechat: {\n    regex: /\\bMicroMessenger\\//i,\n    name: \"WeChat\"\n  },\n  threads: {\n    regex: /\\bBarcelona/i,\n    name: \"Threads\"\n  },\n  tiktok: {\n    regex: /musical_ly|Bytedance/i,\n    name: \"TikTok\"\n  },\n  snapchat: {\n    regex: /Snapchat/i,\n    name: \"Snapchat\"\n  },\n  linkedin: {\n    regex: /LinkedInApp/i,\n    name: \"LinkedIn\"\n  },\n  gsa: {\n    regex: /GSA/i,\n    name: \"Google Search App\"\n  },\n  whatsapp: {\n    regex: /\\b(WAiOS|WA4A)\\//i,\n    name: \"WhatsApp\"\n  },\n  reddit: {\n    regex: /\\bReddit\\//i,\n    name: \"Reddit\"\n  }\n};\nvar appKeysDetectByUA = Object.keys(\n  appNameRegExps\n);\nvar getAppKey = (ua) => {\n  return appKeysDetectByUA.find(\n    (appName) => appNameRegExps[appName].regex.test(ua)\n  );\n};\n\n// src/regexInApp.ts\nvar inAppRegExps = [\n  \"WebView\",\n  // Apple devices but not with \"Safari/\" following\n  \"(iPhone|iPod|iPad)(?!.*Safari/)\",\n  // Android webview\n  \"Android.*wv\\\\)\"\n];\nvar inappRegex = new RegExp(\n  `${inAppRegExps.map((reg) => `(${reg})`).join(\"|\")}`,\n  \"i\"\n);\n\n// src/detectSafariPrivate.ts\nvar currentSafariTest = () => __async(null, null, function* () {\n  try {\n    yield navigator.storage.getDirectory();\n    return false;\n  } catch (e) {\n    const msg = e instanceof Error ? e.message : String(e);\n    return msg.toLowerCase().includes(\"unknown transient reason\");\n  }\n});\nvar safari13to18Test = () => {\n  let settled = false;\n  return new Promise((resolve) => {\n    const name = `idb${Math.random()}`;\n    const openReq = indexedDB.open(name, 1);\n    const finish = (isPrivate, db) => {\n      if (settled) return;\n      settled = true;\n      if (db) db.close();\n      indexedDB.deleteDatabase(name);\n      resolve(isPrivate);\n    };\n    openReq.onupgradeneeded = (ev) => {\n      const db = ev.target.result;\n      const putReq = db.createObjectStore(\"t\", { autoIncrement: true }).put(new Blob());\n      putReq.onerror = (event) => {\n        var _a;\n        const req = event.target;\n        const message = ((_a = req.error) == null ? void 0 : _a.message) || \"\";\n        finish(message.includes(\"are not yet supported\"), db);\n      };\n      putReq.onsuccess = () => finish(false, db);\n    };\n    openReq.onerror = () => finish(false);\n    openReq.onsuccess = () => finish(false, openReq.result);\n  });\n};\nvar getIsSafariPrivate = () => __async(null, null, function* () {\n  var _a;\n  if (typeof navigator === \"undefined\") return false;\n  if (((_a = navigator.storage) == null ? void 0 : _a.getDirectory) !== void 0) {\n    return yield currentSafariTest();\n  } else if (navigator.maxTouchPoints !== void 0) {\n    return yield safari13to18Test();\n  }\n  return false;\n});\n\n// src/detectSFSVC.ts\nvar compare = (a, b) => {\n  return a.localeCompare(b, void 0, { numeric: true, sensitivity: \"base\" });\n};\nvar consoleDebug = ({\n  note,\n  debug,\n  last\n}) => {\n  if (debug) {\n    console.log(\n      note,\n      \"SchemaDataExtractor\" in window || \"MicrodataExtractor\" in window ? \"This is Safari\" : last ? \"Did not detect Safari - assuming SFSVC\" : \"Still checking if Safari\",\n      performance.now()\n    );\n  }\n};\nvar minSafariVersion = \"17\";\nvar getSFSVCExperimental = (..._0) => __async(null, [..._0], function* ({\n  debug = false,\n  maxVersion,\n  maxTime = 300\n  // Max time to figure out if it is Safari (ie not SFSVC)\n} = {}) {\n  const ua = getUA();\n  if (!ua) return false;\n  if (!isiOS(ua)) return false;\n  if (!getIsSafariUA(ua)) return false;\n  if (\"clearAppBadge\" in ((window == null ? void 0 : window.navigator) || {})) return false;\n  if (getIsTelegram()) return false;\n  const version = getSafariVersion(ua);\n  if (compare(version, minSafariVersion) < 0) return false;\n  if (maxVersion !== void 0 && (compare(maxVersion, minSafariVersion) < 0 || compare(version, maxVersion) > 0))\n    return false;\n  if (compare(version, \"26.4\") >= 0) {\n    return !(\"browser\" in window) || !window.browser;\n  }\n  const isSafariPrivate = yield getIsSafariPrivate();\n  if (isSafariPrivate) return false;\n  yield waitForPageLoad();\n  if (debug) consoleDebug({ note: \"Page loaded\", debug });\n  const isSafari = yield pollForProperties({\n    interval: 60,\n    maxTime,\n    properties: [\"SchemaDataExtractor\", \"MicrodataExtractor\"]\n  });\n  if (debug) consoleDebug({ note: \"Extra polling done\", debug, last: true });\n  return !isSafari;\n});\n\n// src/index.ts\nvar InAppSpy = (options = {}) => {\n  var _a, _b;\n  const { skip, ua = \"\" } = options;\n  const userAgent = ua || getUA();\n  if (!userAgent)\n    return __spreadProps(__spreadValues({}, empty), {\n      ua: userAgent\n    });\n  const skipFn = (key) => checkSkip({ skip, appKey: key, ua: userAgent });\n  const uaAppKey = getAppKey(userAgent);\n  if (uaAppKey || userAgent.match(inappRegex) !== null) {\n    if (skipFn(uaAppKey)) return __spreadProps(__spreadValues({}, empty), { ua: userAgent, skipped: true });\n    return {\n      isInApp: true,\n      appKey: uaAppKey,\n      appName: uaAppKey ? appNameRegExps[uaAppKey].name : void 0,\n      ua: userAgent,\n      skipped: false\n    };\n  }\n  const clientAppKey = getDetectClientSide();\n  if (clientAppKey) {\n    if (skipFn(clientAppKey)) return __spreadProps(__spreadValues({}, empty), { ua: userAgent, skipped: true });\n    return {\n      isInApp: true,\n      appKey: clientAppKey,\n      appName: (_b = (_a = appNameCustom) == null ? void 0 : _a[clientAppKey]) == null ? void 0 : _b.name,\n      ua: userAgent,\n      skipped: false\n    };\n  }\n  return __spreadProps(__spreadValues({}, empty), {\n    ua: userAgent\n  });\n};\nvar SFSVCExperimental = getSFSVCExperimental;\nvar index_default = InAppSpy;\nif (typeof window !== \"undefined\" && false) {\n  window.InAppSpy = InAppSpy;\n  window.SFSVCExperimental = SFSVCExperimental;\n}\nexport {\n  SFSVCExperimental,\n  index_default as default\n};\n//# sourceMappingURL=index.mjs.map","import { WebAppManifest } from 'web-app-manifest';\nimport InAppSpy from 'inapp-spy';\nimport { IRelatedApp, IWebInstallNavigator, Manifest } from './types/types';\n\ntype EventDetails = Record<string, unknown>;\n\nconst _eventDispatcher = (_element: Element, name: string, message: string, details: EventDetails = {}) => {\n    const event  = new CustomEvent(name, {\n        detail: {\n                    message,\n                    ...details\n        }\n    });\n    _element.dispatchEvent(event);\n}\nexport default class Utils {\n    static isWebInstallSupported(): boolean {\n        return typeof (navigator as IWebInstallNavigator).install === 'function';\n    }\n\n    static resolveManifestUrl(manifestUrl: string): string {\n        return new URL(manifestUrl, document.baseURI).href;\n    }\n\n    static isCurrentManifestTarget(manifestUrl: string): boolean {\n        if (!manifestUrl)\n            return true;\n\n        const manifestLink = document.querySelector<HTMLLinkElement>('link[rel~=\"manifest\"][href]');\n        if (!manifestLink)\n            return false;\n\n        try {\n            return this.resolveManifestUrl(manifestUrl) === manifestLink.href;\n        } catch (error) {\n            return false;\n        }\n    }\n\n    static isAppleMobile(): boolean {\n\t\tif (navigator.userAgent.match(/Mac/) && navigator.maxTouchPoints && navigator.maxTouchPoints > 2)\n\t\t\treturn true;\n\t\treturn false;\n    }\n\n    static isServiceWorkerSupported(): boolean {\n        return 'serviceWorker' in navigator;\n    }\n\n    static isInAppBrowser(): boolean {\n        return InAppSpy().isInApp;\n    }\n\n    static async copyTextToClipboard(text: string): Promise<boolean> {\n        try {\n            await navigator.clipboard.writeText(text);\n            return true;\n        } catch (error) {\n            return false;\n        }\n    }\n\n    static isAppleDesktop(): boolean {\n        // check if it's a mac\n        const userAgent = navigator.userAgent.toLowerCase();\n        if (navigator.maxTouchPoints || !userAgent.match(/macintosh/))\n            return false;\n        // check safari version >= 17\n        const version = /version\\/(\\d{2})\\./.exec(userAgent)\n        if (!version || !version[1] || !(parseInt(version[1]) >= 17))\n            return false;\n        // hacky way to detect Sonoma\n        const audioCheck = document.createElement('audio').canPlayType('audio/wav; codecs=\"1\"') ? true : false;\n        const webGLCheck = new OffscreenCanvas(1, 1).getContext('webgl') ? true : false;\n\n        return audioCheck && webGLCheck;\n    }\n\n    static isAppleMobileNonSafari(): boolean {\n        return this.isAppleMobile() && /CriOS|EdgiOS|FxiOS|Brave|Ddg|OPT|YaBrowser/.test(navigator.userAgent);\n    }\n\n    static isYaBrowser(): boolean {\n        return /YaBrowser/.test(navigator.userAgent);\n    }\n\n    static isDuck(): boolean {\n        return /Ddg/.test(navigator.userAgent);\n    }\n\n    static isOpera(): boolean {\n        return /OPT/.test(navigator.userAgent);\n    }\n\n    static isFox(): boolean {\n        return /FxiOS/.test(navigator.userAgent);\n    }\n\n    static isEdge(): boolean {\n        return /EdgiOS/.test(navigator.userAgent);\n    }\n\n    static isIPad(): boolean {\n        return this.isAppleMobile() && /iPad|Macintosh/.test(navigator.userAgent);\n    }\n\n    static isIPhoneSafari(): boolean {\n        return this.isAppleMobile() && !this.isIPad() && !this.isAppleMobileNonSafari();\n    }\n\n    static isApple26Plus(): boolean {\n        return CSS.supports('text-wrap', 'pretty');\n    }\n    static isApple27Plus(): boolean {\n        return CSS.supports('background', 'revert-rule');\n    }\n\n    static getPageBackgroundColor(): string | null {\n        const bodyColor = window.getComputedStyle(document.body).backgroundColor;\n        const htmlColor = window.getComputedStyle(document.documentElement).backgroundColor;\n        return htmlColor !== 'rgba(0, 0, 0, 0)' ? htmlColor : bodyColor !== 'rgba(0, 0, 0, 0)' ? bodyColor : null;\n    }\n\n    static isAndroid(): boolean {\n        return /android/.test(navigator.userAgent.toLowerCase());\n    }\n\n    static isAndroidFallback(): boolean {\n        if (this.isAndroid() && !('BeforeInstallPromptEvent' in window))\n            return true;\n        return false;\n    }\n\n    static deviceFormFactor(): 'narrow' | 'wide' {\n        return window.matchMedia('(orientation: portrait)').matches? 'narrow' : 'wide';\n    }\n    \n    static isStandalone() {\n\t\tif (window.matchMedia('(display-mode: standalone)').matches || ('standalone' in navigator && (navigator as any).standalone === true))\n\t\t\treturn true;\n\t\treturn false;\n    }\n\n    static async getInstalledRelatedApps(): Promise<IRelatedApp[]> {\n        if ('getInstalledRelatedApps' in navigator)\n            try{\n                return await (navigator as any).getInstalledRelatedApps().then((relatedApps: IRelatedApp[]) => {\n                    return relatedApps;\n                });\n            } catch (e) {}\n            \n        return [];\n    }\n    \n    static async isRelatedAppsInstalled(): Promise<boolean> {\n        const _relatedApps = await this.getInstalledRelatedApps();\n        return _relatedApps.length? true : false;\n    }\n\n    static setStorageFlag(name: string, value:boolean, persistent: boolean = false) {\n        try {\n            if (persistent)\n                localStorage.setItem(name, value.toString());\n            else\n                sessionStorage.setItem(name, value.toString());\n        } catch (e) {}\n    }\n    static getStorageFlag(name: string): boolean {\n        try {\n            return sessionStorage.getItem(name) === 'true' || localStorage.getItem(name) === 'true';\n        } catch (e) {\n            return false;\n        }\n    }\n\n    static eventInstalledSuccess(_element: Element, details: EventDetails = {}) {\n        _eventDispatcher(_element, 'pwa-install-success-event', 'App install success (Chromium/Android only)', details);\n    }\n    static eventInstalledFail(_element: Element, details: EventDetails = {}) {\n        _eventDispatcher(_element, 'pwa-install-fail-event', 'App install failed (Chromium/Android only)', details);\n    }\n    static eventInstallBackend(_element: Element, backend: 'web-install' | 'beforeinstallprompt', reason?: 'missing-manifest-id' | 'web-install-failed' | 'web-install-unavailable') {\n        let message = backend === 'web-install'\n            ? 'Install requested with Web Install API.'\n            : 'Install requested with beforeinstallprompt.';\n        if (reason === 'missing-manifest-id')\n            message = 'Web Install API skipped because neither manifest-id nor an id in the fetched manifest is available. Falling back to beforeinstallprompt.';\n        else if (reason === 'web-install-failed')\n            message = 'Web Install API previously failed. Falling back to beforeinstallprompt.';\n        else if (reason === 'web-install-unavailable')\n            message = 'Web Install API is unavailable. Using beforeinstallprompt.';\n        _eventDispatcher(_element, 'pwa-install-backend-event', message, {\n            backend,\n            ...(reason ? {reason} : {})\n        });\n    }\n    static eventUserChoiceResult(_element: Element, message: string) {\n        _eventDispatcher(_element, 'pwa-user-choice-result-event', message);\n    }\n    static eventInstallAvailable(_element: Element) {\n        _eventDispatcher(_element, 'pwa-install-available-event', 'App install available');\n    }\n    static eventInstallHowTo(_element: Element) {\n        _eventDispatcher(_element, 'pwa-install-how-to-event', 'App install instruction showed');\n    }\n    static eventGallery(_element: Element) {\n        _eventDispatcher(_element, 'pwa-install-gallery-event', 'App install gallery showed');\n    }\n\n    static normalizeManifestAssetUrls(manifest: WebAppManifest, manifestUrl: string) {\n        const normalizedManifestUrl = new URL(manifestUrl, document.location.href);\n        [...manifest.icons || [], ...manifest.screenshots || []].forEach(asset => {\n            asset.src = new URL(asset.src, normalizedManifestUrl).href;\n        })\n    }\n\n    static async fetchAndProcessManifest(manifestUrl: string, icon: string, name: string, description: string): Promise<{_manifest: WebAppManifest, icon: string, name: string, description: string}> {\n        let _manifest: WebAppManifest = new Manifest();\n        let _json: WebAppManifest | null = null;\n        try{\n\t\t\tconst _response = await fetch(manifestUrl);\n\t\t\t_json = await _response.json() as WebAppManifest;\n\t\t\tif (!_response.ok || !_json || !Object.keys(_json))\n\t\t\t\tthrow new Error('Manifest not found');\n\t\t\tthis.normalizeManifestAssetUrls(_json, manifestUrl);\n        }  \n        catch(e) {}    \n\n        icon = icon || (_json?.icons?.length ? _json?.icons![0].src : _manifest.icons?.[0].src) || '';\n        name = name || (_json? _json['short_name']: _manifest['short_name']) || '';\n        description = description || _json?.description || _manifest.description || '';\n\t\t_manifest = _json || _manifest;\n        \n        return {\n            _manifest,\n            icon,\n            name,\n            description\n        }\n    }\n}","import { html } from 'lit';\nimport Utils from '../utils';\nimport { ManifestScreenshot } from '../types/types';\n\nconst template = (screenshots: ManifestScreenshot[], theme: string, scrollToNextPage: any, scrollToPrevPage: any) => {\n\n    return html`\n        ${screenshots? html`\n            <div id=\"paginated_gallery\" class=\"gallery ${theme}\">\n                <div class=\"gallery_scroller\">\n                    <div class=\"scroller_wrap\">\n                        ${screenshots.filter(screenshot => !screenshot.form_factor || screenshot.form_factor === Utils.deviceFormFactor()).map(screenshot => html`<img draggable=\"false\" src='${screenshot.src}' alt='${screenshot.label || \"\"}'>`)}\n                    </div>\n                </div>\n                <span class=\"btn prev\" @click=\"${scrollToPrevPage}\">\n                    ${theme != 'default'?\n                        html`<svg id=\"arrow-left\" viewBox=\"0 0 23.023 18.518\"><path fill=\"currentColor\" d=\"M0 9.253c0 .305.134.586.378.818l8.106 8.093c.244.232.5.342.793.342.598 0 1.075-.44 1.075-1.05 0-.293-.11-.586-.306-.769l-2.734-2.783-4.834-4.407-.256.598 3.93.244h15.442c.635 0 1.075-.451 1.075-1.086s-.44-1.087-1.075-1.087H6.152l-3.93.245.256.61 4.834-4.419 2.734-2.783a1.09 1.09 0 0 0 .306-.77C10.352.44 9.875 0 9.277 0c-.293 0-.549.098-.818.366L.38 8.436c-.247.23-.38.511-.38.816Z\"/></svg>`\n                        :\n                        html`<svg id=\"arrow-left\" viewBox=\"0 0 96 96\"><path d=\"M39.3756,48.0022l30.47-25.39a6.0035,6.0035,0,0,0-7.6878-9.223L26.1563,43.3906a6.0092,6.0092,0,0,0,0,9.2231L62.1578,82.615a6.0035,6.0035,0,0,0,7.6878-9.2231Z\" fill=\"%23999\" fill-rule=\"evenodd\"/></svg>`\n                    }\n                </span>\n                <span class=\"btn next\" @click=\"${scrollToNextPage}\">\n                ${theme != 'default'?\n                    html`<svg height=\"15\" width=\"15\">\n                            <use href=\"#arrow-left\"></use>\n                        </svg>`\n                    :\n                    html`\n                        <svg height=\"15\" width=\"15\">\n                            <use href=\"#arrow-left\"></use>\n                        </svg>\n                    `\n                }\n                </span>\n            </div>`\n        : ''}`;\n};\nexport default template;\n","import { LitElement, html } from 'lit';\nimport { property, customElement } from 'lit/decorators.js';\nimport { ManifestScreenshot } from '../types/types';\n\nimport styles from './styles-gallery.scss';\nimport template from './template-gallery';\n\nexport default class PWAGalleryElement extends LitElement {\n\t@property({ type: Array }) screenshots: ManifestScreenshot[] = [];\n\t@property() theme: 'default' | 'apple_desktop' | 'apple_mobile' = 'default';\n\t@property({ type: Boolean }) rtl: boolean = false;\n\n\tstatic get styles() {\n\t\treturn styles;\n\t}\n\n\tprivate getScrollElements = () => {\n\t\tconst gallery = this.shadowRoot?.querySelector('#paginated_gallery') as HTMLElement | null;\n\t\tif (!gallery) return;\n\t\t\n\t\tconst galleryScroller = gallery.querySelector('.gallery_scroller') as HTMLElement | null;\n\t\tif (!galleryScroller) return;\n\t\n\t\tconst galleryItems = Array.from(galleryScroller.querySelectorAll('img')) as HTMLElement[];\n\t\tif (galleryItems.length === 0) return;\n\t\n\t\treturn {\n\t\t\tscroller: galleryScroller,\n\t\t\titems: galleryItems\n\t\t};\n\t};\n\t\n\tprivate findCurrentItem = (scroller: HTMLElement, items: HTMLElement[]): HTMLElement | null => {\n\t\tconst scrollLeft = scroller.scrollLeft * (this.rtl? -1 : 1);\n\t  \t// Find the item closest to the center of the viewport.\n\t\treturn items.find((item) => (item.offsetWidth + item.offsetLeft * (this.rtl? -1 : 1)) >= scrollLeft + (item.offsetWidth / 2.5)) || null;\n\t};\n\t\n\tprivate scrollToPage = (direction: 'next' | 'prev') => {\n\t\tconst scrollData = this.getScrollElements();\n\t\tif (!scrollData) return;\n\t\n\t\tconst { scroller, items } = scrollData;\n\t\tconst currentItem = this.findCurrentItem(scroller, items);\n\t\tif (!currentItem) return;\n\t\n\t\tconst currentIndex = items.indexOf(currentItem);\n\t\tconst offset = (direction === 'next' ? 1 : -1) * (this.rtl? -1 : 1) ;\n\t\tconst targetIndex = currentIndex + offset;\n\t\t\n\t\tif (targetIndex >= 0 && targetIndex < items.length) {\n\t\t\titems[targetIndex].scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'center' });\n\t\t}\n\t};\n\t\n\tpublic scrollToNextPage = () => {\n\t\tthis.scrollToPage('next');\n\t};\n\t\n\tpublic scrollToPrevPage = () => {\n\t\tthis.scrollToPage('prev');\n\t};\n\n\n\tprivate _init = () => {\n\t\treturn;\n\t}\n\n\tfirstUpdated () {\n\t\tconst _tools = this.getScrollElements();\n\t\tif (_tools)\n\t\t\tsetTimeout(\n\t\t\t\t() => {\n\t\t\t\t\t_tools.scroller.scrollTo({\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tleft: 0\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\t300\n\t\t\t)\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis._init();\n\t}\n\n\trender() {\n        return html`${template(\n            this.screenshots,\n\t\t\tthis.theme,\n\t\t\tthis.scrollToNextPage,\n\t\t\tthis.scrollToPrevPage\n        )}`;\n\t}\n}\n\nif (!customElements.get('pwa-gallery')) {\n\tcustomElements.define('pwa-gallery', PWAGalleryElement);\n}\n","import {css} from 'lit'; export default css`.dialog-body .icon{display:flex;align-items:flex-start}.dialog-body .icon .icon-image{width:48px;height:48px;margin:0 auto;margin-top:10px;border-radius:6px}.dialog-body .about{display:grid;grid-template-rows:30px auto}.dialog-body .about .hostname,.dialog-body .about .name{padding:0 5px;overflow:hidden}.dialog-body .about .name{font-weight:500;font-size:18px;line-height:24px;margin-top:5px;align-items:flex-start;display:flex}.dialog-body .about .name label{text-overflow:ellipsis;word-break:break-all;white-space:nowrap;overflow:hidden}.dialog-body .about .hostname{font-size:13px;font-weight:400;opacity:.7;line-height:14px;overflow-x:hidden;text-overflow:ellipsis;text-align:start;word-break:break-all;white-space:nowrap}.dialog-body .about+hr{margin-top:10px}.dialog-body .description{font-weight:400;line-height:20px;grid-column:1/3;padding:0 6px;margin:10px 5px 5px;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;max-height:115px;overflow:hidden;overflow-y:auto;text-overflow:ellipsis;text-align:start}.dialog-body .app-description{font-size:13px;margin-bottom:10px}.dialog-body .app-description::-webkit-scrollbar{width:4px;height:4px}.dialog-body .app-description::-webkit-scrollbar-thumb{background:#929292;border-radius:4px}.dialog-body .app-description::-webkit-scrollbar-thumb:hover{background:#646464}.dialog-body .app-description::-webkit-scrollbar-track{background:var(--scrollbar-background-color);border-radius:4px}.dialog-body .install-description{font-size:14px}.dialog-body hr{height:1px;width:100%;grid-column:1/3;background-color:var(--border-bottom-color);border:none;margin:0}.dialog-body .action-buttons{display:grid;grid-template-columns:50% auto;grid-column-start:1;grid-column-end:3;gap:10px;padding:10px 10px}.dialog-body .action-buttons .primary{grid-column-start:2}.dialog-body .material-button{--text-color-primary:#eee;--text-color-secondary:#374fc6;--background-color-primary:#374fc6;--background-color-ripple:#eee;position:relative;display:inline-block;box-sizing:border-box;border:none;border-radius:6px;padding:0 16px;min-width:64px;height:36px;vertical-align:middle;text-align:center;text-overflow:ellipsis;text-transform:uppercase;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);font-family:Roboto,\"Segoe UI\",BlinkMacSystemFont,system-ui,-apple-system;font-size:14px;font-weight:500;line-height:37px;overflow:hidden;outline:0;cursor:pointer;transition:box-shadow .2s}.dialog-body .material-button.primary{color:var(--text-color-primary);background-color:var(--background-color-primary)}.dialog-body .material-button.secondary{background-color:rgba(0,0,0,0);color:var(--text-color-secondary);box-shadow:none}.dialog-body .material-button.secondary::after,.dialog-body .material-button.secondary::before{background-color:var(--background-color-primary)}.dialog-body .material-button.secondary:active,.dialog-body .material-button.secondary:hover{box-shadow:none}.dialog-body .material-button.secondary.close{height:26px;min-width:26px;line-height:0;margin-inline-end:0;margin-inline-start:auto;padding:0;border-radius:50%}.dialog-body .material-button.secondary.close svg{width:16px;fill:var(--text-color-secondary)}.dialog-body .material-button.secondary.close::after{width:25px;height:25px;border-radius:50%}.dialog-body .material-button.secondary.close::before{border-radius:50%}.dialog-body .material-button::before{content:\"\";position:absolute;top:0;bottom:0;left:0;right:0;background-color:var(--background-color-ripple);opacity:0;transition:opacity .2s}.dialog-body .material-button::after{content:\"\";position:absolute;left:50%;top:50%;border-radius:50%;padding:50%;width:32px;height:32px;background-color:var(--background-color-ripple);opacity:0;transform:translate(-50%,-50%) scale(1);transition:opacity 1s,transform .5s}.dialog-body .material-button:active{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.dialog-body .material-button:active::after{opacity:.32;transform:translate(-50%,-50%) scale(0);transition:transform 0s}.dialog-body pwa-gallery{grid-column:1/3;max-height:0;opacity:0;transition:opacity ease-in-out .5s,max-height .5s ease-in-out;overflow:hidden}@media(prefers-color-scheme:dark){.dialog-body .material-button{--text-color-primary:#1B222C;--text-color-secondary:#a7c7fa;--background-color-primary:#a7c7fa}}@media(hover:none)and (pointer:coarse){.dialog-body .description::-webkit-scrollbar{display:none}}`;\n    ","import {css} from 'lit'; export default css`:host{grid-template-columns:1fr}:host .touch-header{height:30px;width:100%;padding-top:10px;box-sizing:border-box;cursor:grab}:host .touch-header:active{cursor:grabbing}:host .touch-header::before{content:\"\";width:40px;height:5px;border-radius:3px;background:var(--touch-header-color);margin:0 auto;display:block}:host .body-header{display:grid;grid-template-columns:max-content 1fr max-content;grid-gap:15px;padding:18px 20px;padding-top:0;border-bottom:1px solid var(--border-bottom-color)}:host .body-header .install{text-transform:capitalize;height:40px;min-width:50px;padding:0 23px;align-items:center;display:inline-flex;-webkit-tap-highlight-color:transparent;transition:min-width .2s,color .2s,background-color .2s,border-color .2s}:host .body-header .install .button-text,:host .body-header .install svg{margin:0 auto}:host .body-header .install .check-icon{display:none}:host .body-header .about{grid-template-rows:auto auto;grid-gap:6px}:host .body-header .about .name{padding:0;line-height:20px;font-size:16px}:host .body-header .about .hostname{font-size:14px;font-weight:400;opacity:.7;line-height:14px;overflow-x:hidden;text-overflow:ellipsis;word-break:break-all;white-space:nowrap;padding:0}:host .body-header .icon .icon-image{margin:0;width:45px;height:45px}:host .how-to-body{display:flex;flex-direction:column;gap:15px;max-height:0;overflow:hidden;padding:0 20px;opacity:0}:host .how-to-body .description-step{display:flex;gap:15px;margin-inline-start:2.5px;align-items:center}:host .how-to-body .description-step .svg-wrap{display:flex;flex-shrink:0;align-items:center;width:40px;height:40px;background-color:var(--touch-header-color);border-radius:50%}:host .how-to-body .description-step .svg-wrap svg{fill:var(--text-color-normal);margin:0 auto}:host .how-to-body .description-step .svg-wrap.add-icon svg{padding-right:1px}:host .how-to .description,:host .how-to ::slotted(pwa-gallery){max-height:0;padding-top:0;padding-bottom:0;overflow:hidden;opacity:0}:host .how-to .how-to-body{max-height:600px;padding-top:18px;padding-bottom:18px;opacity:1}:host .how-to .install{min-width:40px;padding:0;background:rgba(0,0,0,0);color:var(--text-color-normal);box-shadow:none;border:1px solid}:host .how-to .install .check-icon{display:inline;fill:var(--text-color-normal)}:host .how-to .install .button-text{display:none}:host .description{padding:15px 20px;margin:0;-webkit-line-clamp:6;max-height:150px;opacity:1}:host ::slotted(pwa-gallery){display:block;max-height:600px;padding-bottom:15px;opacity:1;transition:max-height 1.5s,opacity .8s,padding 1.5s}:host .description,:host .how-to-body{transition:max-height .2s,opacity .15s,padding .2s}:host .material-button{border-radius:20px}`;\n    ","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{noChange as t}from\"../lit-html.js\";import{directive as s,Directive as i,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=s(class extends i{constructor(t){if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||t.strings?.length>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter((s=>t[s])).join(\" \")+\" \"}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(\" \").split(/\\s/).filter((t=>\"\"!==t))));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)))}return t}});export{e as classMap};\n//# sourceMappingURL=class-map.js.map\n","import { LitElement, html } from 'lit';\nimport { property, customElement } from 'lit/decorators.js';\n\nimport stylesCommon from '../styles-common.scss'\nimport styles from './styles-bottom-sheet.scss';\n\n// import TouchDragListener from \"./touch-listener\";\n\ntype IProps = {\n    name: string,\n    description: string,\n    icon: string\n}\n\nimport template from './template-bottom-sheet';\nimport Utils from '../../../utils';\n\nexport default class PWABottomSheetElement extends LitElement {\n\tstatic get styles() {\n\t\treturn [stylesCommon, styles];\n\t}\n\n\t@property({type: Object}) props: IProps = {\n        name: '',\n        description: '',\n        icon: ''\n    };\n    @property({type: Object}) install = {handleEvent: () => {}};\n\t@property() hideDialog = () => {};\n\t@property({type: Boolean}) disableClose = false;\n\n\t@property({type: Boolean}) fallback = false;\n\t@property({type: Boolean}) howToRequested = false;\n\t@property({type: Boolean}) inAppBrowser = false;\n\t@property({type: Object}) toggleHowTo = {handleEvent: () => {}};\n\n\tprivate _callInstall = () => {\n\t\tif (this.fallback) {\n\t\t\tthis.toggleHowTo.handleEvent();\n\t\t\tsetTimeout(() => this.setupAppearence(true), 210);\n\t\t\t\n\t\t\treturn;\n\t\t}\n\t\tthis.install.handleEvent();\n\t}\n\n\tprivate _callHide = () => {\n\t\tthis.hideDialog();\n\t\tthis.setupAppearence();\n\t}\n\n\tprivate bindedElement: {\n\t\ttouchElement: HTMLElement,\n\t\tlistener: any }| null = null;\n\tprivate readonly _saveBodyStyle = document.body.style.overscrollBehaviorY;\n\tprivate dragMobileSheet = (element: HTMLElement | null | undefined, touchTargetElement: HTMLElement | undefined, infoElement: HTMLElement | undefined) => {\n\t\tif (!element || !touchTargetElement || !infoElement)\n\t\t\treturn null;\n\n\t\tlet dragOffset = 0;\n\t\tconst bounceOffset = 35;\n\t\t\n\t\tconst bottomSize = infoElement.offsetHeight + infoElement.offsetTop;\n\n\t\tconst getYCoord = (e: MouseEvent | TouchEvent): number => {\n\t\t\treturn (e as MouseEvent).clientY || ((e as TouchEvent).changedTouches && (e as TouchEvent).changedTouches.length? (e as TouchEvent).changedTouches[0].clientY : 0);\n\t\t}\n\n\t\tconst dragMouseDown = (e: MouseEvent | TouchEvent) => {\n\t\t\twindow.addEventListener('mouseup', dragMouseUp);\n\t\t\twindow.addEventListener('mousemove', dragMouseMove);\n\t\t\twindow.addEventListener('touchend', dragMouseUp);\n\t\t\twindow.addEventListener('touchmove', dragMouseMove);\n\n\t\t\te.preventDefault();\n\n\t\t\tdragOffset = getYCoord(e) - touchTargetElement.getBoundingClientRect().top;\n\n\t\t\tdocument.body.style.overscrollBehaviorY = 'none';\n\t\t}\n\t\tconst dragMouseUp = (e: MouseEvent | TouchEvent) => {\n\t\t\tdocument.body.style.overscrollBehaviorY = this._saveBodyStyle;\n\n\t\t\tif (!this.disableClose && getYCoord(e) >= window.innerHeight - 25) {\n\t\t\t\tcloseDragElement(e, window.innerHeight + 50, true);\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (window.innerHeight - getYCoord(e)  > element.clientHeight / 2.5) {\n\t\t\t\tcloseDragElement(e, window.innerHeight - element.clientHeight);\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\t!this.howToRequested && Utils.eventGallery((this.getRootNode() as ShadowRoot).host);\n\t\t\t\t} catch (e) {}\n\t\t\t\treturn\n\t\t\t}\n\t\t\telse {\n\t\t\t\tcloseDragElement(e, window.innerHeight - bottomSize - bounceOffset);\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\n\t\tconst dragMouseMove = (e: MouseEvent | TouchEvent) => {\n\t\t\tconst currentY = getYCoord(e);\n\n\t\t\tif (this.disableClose && window.innerHeight - currentY < 70) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t\n\t\t\tif (currentY <= (window.innerHeight - element.clientHeight + dragOffset)) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\telement.style.setProperty(\n\t\t\t\t\"transition\",\n\t\t\t\t`none`\n\t\t\t)\n\n\t\t\telement.style.setProperty(\n\t\t\t\t\"--translateY\",\n\t\t\t\t`translateY(${currentY - dragOffset}px)`\n\t\t\t);\n\t\t}\n\n\t\tconst closeDragElement = (e: MouseEvent | TouchEvent, toPoint?: number, hideDialog?: boolean) => {\n\t\t\twindow.removeEventListener('mouseup', dragMouseUp);\n\t\t\twindow.removeEventListener('mousemove', dragMouseMove);\n\t\t\twindow.removeEventListener('touchend', dragMouseUp);\n\t\t\twindow.removeEventListener('touchmove', dragMouseMove);\n\n\t\t\tif (window.innerWidth >= 768)\n\t\t\t\treturn\n\n\t\t\tif (!toPoint && getYCoord(e) >= window.innerHeight - bottomSize)\n\t\t\t\telement.style.setProperty(\n\t\t\t\t\t\"--translateY\",\n\t\t\t\t\t`translateY(calc(100vh - ${bottomSize}px))`\n\t\t\t\t);\n\t\t\telse\n\t\t\t\telement.style.setProperty(\n\t\t\t\t\t\"--translateY\",\n\t\t\t\t\t`translateY(${(toPoint || getYCoord(e)) + bounceOffset}px)`\n\t\t\t\t);\n\n\t\t\telement.style.setProperty(\n\t\t\t\t\"transition\",\n\t\t\t\t`transform 500ms cubic-bezier(0.4, 0, 0, 1) 0s`\n\t\t\t);\n\n\t\t\tif (hideDialog){\n\t\t\t\ttouchTargetElement.removeEventListener('mousedown', dragMouseDown);\n\t\t\t\ttouchTargetElement.removeEventListener('touchstart', dragMouseDown);\n\n\t\t\t\tsetTimeout(\n\t\t\t\t\tthis._callHide,\n\t\t\t\t\t250\n\t\t\t\t);\n\t\t\t}\n\n\t\t}\n\n\t\ttouchTargetElement.addEventListener('mousedown', dragMouseDown);\n\t\ttouchTargetElement.addEventListener('touchstart', dragMouseDown, {passive: false});\n\n\t\tcloseDragElement(new MouseEvent('mouseup'), window.innerHeight - bottomSize - bounceOffset);\n\n\t\treturn {\n\t\t\ttouchElement: touchTargetElement,\n\t\t\tlistener: dragMouseDown\n\t\t}\n\t}\n\n\tprivate setupAppearence = (fullOpen?: boolean) => {\n\t\tif (this.bindedElement) {\n\t\t\tthis.bindedElement.touchElement.removeEventListener('mousedown', this.bindedElement.listener);\n\t\t\tthis.bindedElement.touchElement.removeEventListener('touchstart', this.bindedElement.listener);\n\t\t}\n\t\t\n\t\tthis.bindedElement = this.dragMobileSheet(\n\t\t\tthis.parentElement,\n\t\t\tthis.shadowRoot?.querySelector('.dialog-body .touch-header') as HTMLElement,\n\t\t\tthis.shadowRoot?.querySelector(`.dialog-body ${fullOpen? '.how-to-body': '.body-header'}`) as HTMLElement);\n\t}\n\tprivate _init = () => {\n\t\tthis.setupAppearence();\n\n\t\twindow.addEventListener('resize', () => this.setupAppearence());\n\n\t\treturn;\n\t}\n\n\tfirstUpdated () {\n\t\tthis._init();\n        return;\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t}\n\n\trender() {\n        return html`${template({\n\t\t\tname: this.props.name,\n\t\t\tdescription: this.props.description,\n\t\t\ticon: this.props.icon,\n\t\t\tinstall: this._callInstall,\n\t\t\tfallback: this.fallback,\n\t\t\thowToRequested: this.howToRequested,\n\t\t\tinAppBrowser: this.inAppBrowser\n\t\t})}`;\n\t}\n}\n\nif (!customElements.get('pwa-bottom-sheet')) {\n\tcustomElements.define('pwa-bottom-sheet', PWABottomSheetElement);\n}\n","import { html } from 'lit';\nimport { msg } from '@lit/localize';\nimport { classMap } from 'lit/directives/class-map.js';\n\nexport interface BottomSheetTemplateOptions {\n    name: string;\n    description: string;\n    icon: string;\n    install: EventListenerOrEventListenerObject;\n    fallback: boolean;\n    howToRequested: boolean;\n    inAppBrowser: boolean;\n}\n\nconst fallbackClass = (isAndroidFallback: boolean = false, howToRequested: boolean = false) => {\n    return {fallback: isAndroidFallback, 'how-to': howToRequested};\n}\n\nconst template = ({\n    name,\n    description,\n    icon,\n    install,\n    fallback,\n    howToRequested,\n    inAppBrowser\n}: BottomSheetTemplateOptions) => {\n    return html`\n    <div class=\"dialog-body ${classMap(fallbackClass(fallback, howToRequested))}\">\n        <div class=\"touch-header\" id=\"touch-header\"></div>\n        <div class=\"body-header\">\n            <div class=\"icon\">\n                <img src=\"${icon}\" alt=\"icon\" class=\"icon-image\">\n            </div>\n            <div class=\"about\">\n                <div class=\"name\">\n                    <label>${name}</label>\n                </div>\n                <div class=\"hostname\">${location.hostname}</div>\n            </div>\n            <button class=\"material-button primary install\" @click='${install}'>\n                <svg class=\"check-icon\" height=\"24px\" viewBox=\"0 -960 960 960\" width=\"24px\" fill=\"\"><path d=\"M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z\"/></svg>\n                <span class=\"button-text\">${msg('Install')}</span>\n            </button>\n        </div>\n        <div class=\"how-to-body\">\n            <div class=\"description-step\">\n                <div class=\"svg-wrap\">\n                    <svg height=\"24\" viewBox=\"0 -960 960 960\" width=\"24\" fill=\"\"><path d=\"M480-160q-33 0-56.5-23.5T400-240q0-33 23.5-56.5T480-320q33 0 56.5 23.5T560-240q0 33-23.5 56.5T480-160Zm0-240q-33 0-56.5-23.5T400-480q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 33-23.5 56.5T480-400Zm0-240q-33 0-56.5-23.5T400-720q0-33 23.5-56.5T480-800q33 0 56.5 23.5T560-720q0 33-23.5 56.5T480-640Z\"/></svg>\n                </div>\n                <div class=\"step-text\">${inAppBrowser ? msg('Open the in-app browser menu') : msg('Open your browser menu')}</div>\n            </div>\n            <div class=\"description-step\">\n                <div class=\"svg-wrap add-icon\">\n                    <svg height=\"24\" viewBox=\"0 -960 960 960\" width=\"24\"><path d=\"M320-40q-33 0-56.5-23.5T240-120v-160h80v40h400v-480H320v40h-80v-160q0-33 23.5-56.5T320-920h400q33 0 56.5 23.5T800-840v720q0 33-23.5 56.5T720-40H320Zm0-120v40h400v-40H320ZM176-280l-56-56 224-224H200v-80h280v280h-80v-144L176-280Zm144-520h400v-40H320v40Zm0 0v-40 40Zm0 640v40-40Z\"/></svg>\n                </div>\n                <div class=\"step-text\">${inAppBrowser ? msg('Tap \"Open in...\" Browser') : msg('Tap \"Add to Home screen\"')}</div>\n            </div>\n        </div>\n        ${inAppBrowser\n            ? html`<div class=\"description\">${msg('This site has app functionality.')} ${msg(\"But this browser doesn't support it. Open the link in a standalone browser to continue.\")}</div>`\n        : description\n            ? html`<div class=\"description\">${description}</div>`\n        : ''}\n        <slot></slot>\n    </div>\n    `;\n};\nexport default template;\n","import type { IWebInstallNavigator, IWindow, WebInstallParams } from './types/types';\nimport Utils from './utils';\n\ndeclare const window: IWindow;\n\ntype InstallBackend = 'web-install' | 'beforeinstallprompt';\ntype LegacyFallbackReason = 'missing-manifest-id' | 'web-install-failed' | 'web-install-unavailable';\n\ninterface InstallLogicHost extends Element {\n\tmanifestUrl: string;\n\tmanifestId: string;\n\tmanualChrome: boolean;\n\tdisableChrome: boolean;\n\tdisableFallback: boolean;\n\tplatforms: BeforeInstallPromptEvent['platforms'];\n\tuserChoiceResult: string;\n\tisInstallAvailable: boolean;\n\tisAndroidFallback: boolean;\n\tisAndroid: boolean;\n\tisUnderStandaloneMode: boolean;\n\tisRelatedAppsInstalled: boolean;\n\tisWebInstallSupported: boolean;\n\thideDialog(): void;\n\trequestUpdate(): void;\n}\n\nexport default class InstallLogic {\n\tpublic readonly passive = true;\n\n\tprivate nativeInstallFailed = false;\n\tprivate installSuccessDispatched = false;\n\tprivate activeInstallBackend: InstallBackend | null = null;\n\tprivate promptListenerAttached = false;\n\tprivate appInstalledListenerAttached = false;\n\tprivate androidFallbackTimer: number | null = null;\n\tprivate activationInterval: number | null = null;\n\tprivate activationTimeout: number | null = null;\n\n\tconstructor(\n\t\tprivate readonly host: InstallLogicHost,\n\t\tprivate readonly getFetchedManifestId: () => unknown\n\t) {}\n\n\tpublic handleEvent = () => {\n\t\tvoid this.install();\n\t}\n\n\tpublic connect() {\n\t\twindow.defferedPromptEvent = null;\n\t\tif (!this.promptListenerAttached) {\n\t\t\twindow.addEventListener('beforeinstallprompt', this.captureBeforeInstallPrompt);\n\t\t\tthis.promptListenerAttached = true;\n\t\t}\n\n\t\tif (!this.appInstalledListenerAttached && 'onappinstalled' in window) {\n\t\t\twindow.addEventListener('appinstalled', this.handleAppInstalled);\n\t\t\tthis.appInstalledListenerAttached = true;\n\t\t}\n\t}\n\n\tpublic disconnect() {\n\t\twindow.removeEventListener('beforeinstallprompt', this.captureBeforeInstallPrompt);\n\t\twindow.removeEventListener('appinstalled', this.handleAppInstalled);\n\t\tthis.promptListenerAttached = false;\n\t\tthis.appInstalledListenerAttached = false;\n\t\tthis.clearAndroidFallbackTimers();\n\t}\n\n\tpublic reset() {\n\t\tthis.nativeInstallFailed = false;\n\t\tthis.installSuccessDispatched = false;\n\t}\n\n\tpublic dismiss() {\n\t\tUtils.eventUserChoiceResult(this.host, 'dismissed');\n\t\tthis.host.userChoiceResult = 'dismissed';\n\t\tthis.host.hideDialog();\n\t}\n\n\tpublic captureBeforeInstallPrompt = (event: BeforeInstallPromptEvent) => {\n\t\tif (this.host.disableChrome)\n\t\t\treturn;\n\n\t\tevent.preventDefault();\n\t\twindow.defferedPromptEvent = event;\n\t\tthis.host.platforms = event.platforms;\n\t\tthis.host.isAndroidFallback = false;\n\t\tthis.installSuccessDispatched = false;\n\n\t\tconst isCurrentManifestTarget = Utils.isCurrentManifestTarget(this.host.manifestUrl);\n\t\tconst currentAppUnavailable = isCurrentManifestTarget &&\n\t\t\t(this.host.isUnderStandaloneMode || this.host.isRelatedAppsInstalled);\n\t\tconst targetSupported = Utils.isWebInstallSupported() || isCurrentManifestTarget;\n\t\tthis.setInstallAvailable(targetSupported && !currentAppUnavailable);\n\t}\n\n\tpublic checkAvailability(externalPromptEvent: BeforeInstallPromptEvent | null) {\n\t\tif (!this.host.disableChrome) {\n\t\t\tthis.host.manualChrome && this.host.hideDialog();\n\t\t\tif (this.host.isWebInstallSupported) {\n\t\t\t\tthis.host.isAndroidFallback = false;\n\t\t\t\tconst currentAppUnavailable = Utils.isCurrentManifestTarget(this.host.manifestUrl) &&\n\t\t\t\t\tthis.host.isRelatedAppsInstalled;\n\t\t\t\tthis.setInstallAvailable(!currentAppUnavailable);\n\t\t\t}\n\t\t\tif (externalPromptEvent)\n\t\t\t\tthis.captureBeforeInstallPrompt(externalPromptEvent);\n\t\t}\n\n\t\tthis.setupAndroidFallback();\n\t}\n\n\tpublic async install() {\n\t\tif (this.host.disableChrome)\n\t\t\treturn;\n\n\t\tif (this.nativeInstallFailed && this.canUseLegacyFallback()) {\n\t\t\tawait this.runLegacyInstall('web-install-failed');\n\t\t\treturn;\n\t\t}\n\n\t\tif (Utils.isWebInstallSupported() && !this.hasManifestId()) {\n\t\t\tif (this.canUseLegacyFallback()) {\n\t\t\t\tawait this.runLegacyInstall('missing-manifest-id');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tUtils.eventInstalledFail(this.host, {\n\t\t\t\tbackend: 'web-install',\n\t\t\t\terrorName: 'DataError',\n\t\t\t\terrorMessage: 'Web Install API was not called because neither manifest-id nor an id in the fetched manifest is available.',\n\t\t\t\tfallbackAvailable: false\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tif (Utils.isWebInstallSupported()) {\n\t\t\tawait this.runWebInstall();\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.canUseLegacyFallback()) {\n\t\t\tawait this.runLegacyInstall('web-install-unavailable');\n\t\t\treturn;\n\t\t}\n\n\t\tUtils.eventInstalledFail(this.host, {\n\t\t\tbackend: 'beforeinstallprompt',\n\t\t\terrorName: 'NotSupportedError',\n\t\t\terrorMessage: 'No compatible install prompt is available for this app.',\n\t\t\tfallbackAvailable: false\n\t\t});\n\t}\n\n\tprivate canUseLegacyFallback() {\n\t\treturn Boolean(window.defferedPromptEvent) &&\n\t\t\tUtils.isCurrentManifestTarget(this.host.manifestUrl);\n\t}\n\n\tprivate hasManifestId() {\n\t\tconst fetchedManifestId = this.getFetchedManifestId();\n\t\treturn Boolean(this.host.manifestId.trim()) ||\n\t\t\t(typeof fetchedManifestId === 'string' && Boolean(fetchedManifestId.trim()));\n\t}\n\n\tprivate setInstallAvailable(available: boolean) {\n\t\tconst becameAvailable = available && !this.host.isInstallAvailable;\n\t\tthis.host.isInstallAvailable = available;\n\t\tif (becameAvailable)\n\t\t\tUtils.eventInstallAvailable(this.host);\n\t\tthis.host.requestUpdate();\n\t}\n\n\tprivate dispatchInstalledSuccess(backend: InstallBackend | 'browser') {\n\t\tif (this.installSuccessDispatched)\n\t\t\treturn;\n\n\t\tthis.installSuccessDispatched = true;\n\t\tUtils.eventInstalledSuccess(this.host, { backend });\n\t}\n\n\tprivate handleAppInstalled = () => {\n\t\twindow.defferedPromptEvent = null;\n\t\tthis.nativeInstallFailed = false;\n\t\tthis.setInstallAvailable(false);\n\t\tthis.dispatchInstalledSuccess(this.activeInstallBackend || 'browser');\n\t\tthis.activeInstallBackend = null;\n\t}\n\n\tprivate async runLegacyInstall(reason: LegacyFallbackReason) {\n\t\tconst promptEvent = window.defferedPromptEvent;\n\t\tif (!promptEvent)\n\t\t\treturn;\n\n\t\tthis.host.hideDialog();\n\t\twindow.defferedPromptEvent = null;\n\t\tthis.activeInstallBackend = 'beforeinstallprompt';\n\t\tUtils.eventInstallBackend(this.host, 'beforeinstallprompt', reason);\n\n\t\ttry {\n\t\t\tawait promptEvent.prompt();\n\t\t\tconst choiceResult = await promptEvent.userChoice;\n\t\t\tthis.host.userChoiceResult = choiceResult.outcome;\n\t\t\tUtils.eventUserChoiceResult(this.host, this.host.userChoiceResult);\n\t\t\tif (choiceResult.outcome === 'dismissed')\n\t\t\t\tthis.activeInstallBackend = null;\n\t\t} catch (error) {\n\t\t\tthis.activeInstallBackend = null;\n\t\t\tUtils.eventInstalledFail(this.host, {\n\t\t\t\tbackend: 'beforeinstallprompt',\n\t\t\t\terrorName: error instanceof Error ? error.name : 'Error',\n\t\t\t\terrorMessage: error instanceof Error ? error.message : String(error),\n\t\t\t\tfallbackAvailable: false\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate async runWebInstall() {\n\t\tconst webInstallNavigator = navigator as IWebInstallNavigator;\n\t\tif (!webInstallNavigator.install)\n\t\t\treturn;\n\n\t\tthis.activeInstallBackend = 'web-install';\n\t\tUtils.eventInstallBackend(this.host, 'web-install');\n\t\ttry {\n\t\t\tconst isCurrentDocumentInstall = !this.host.manifestUrl ||\n\t\t\t\t(!this.host.manifestId && Utils.isCurrentManifestTarget(this.host.manifestUrl));\n\t\t\tif (isCurrentDocumentInstall) {\n\t\t\t\tawait webInstallNavigator.install();\n\t\t\t} else if (this.host.manifestUrl) {\n\t\t\t\tconst params: WebInstallParams = {\n\t\t\t\t\tmanifest: Utils.resolveManifestUrl(this.host.manifestUrl)\n\t\t\t\t};\n\t\t\t\tif (this.host.manifestId)\n\t\t\t\t\tparams.manifestId = this.host.manifestId;\n\t\t\t\tawait webInstallNavigator.install(params);\n\t\t\t}\n\n\t\t\tthis.nativeInstallFailed = false;\n\t\t\twindow.defferedPromptEvent = null;\n\t\t\tthis.host.userChoiceResult = 'accepted';\n\t\t\tUtils.eventUserChoiceResult(this.host, this.host.userChoiceResult);\n\t\t\tthis.host.hideDialog();\n\t\t\tthis.setInstallAvailable(false);\n\t\t\tthis.dispatchInstalledSuccess('web-install');\n\t\t\tthis.activeInstallBackend = null;\n\t\t} catch (error) {\n\t\t\tconst errorName = error instanceof Error ? error.name : 'Error';\n\t\t\tif (errorName === 'AbortError') {\n\t\t\t\tthis.nativeInstallFailed = false;\n\t\t\t\tthis.activeInstallBackend = null;\n\t\t\t\tthis.dismiss();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.nativeInstallFailed = errorName !== 'InvalidStateError';\n\t\t\tthis.activeInstallBackend = null;\n\t\t\tconst fallbackAvailable = this.nativeInstallFailed && this.canUseLegacyFallback();\n\t\t\tUtils.eventInstalledFail(this.host, {\n\t\t\t\tbackend: 'web-install',\n\t\t\t\terrorName,\n\t\t\t\terrorMessage: error instanceof Error ? error.message : String(error),\n\t\t\t\tfallbackAvailable,\n\t\t\t\tfallbackBackend: fallbackAvailable ? 'beforeinstallprompt' : undefined\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate setupAndroidFallback() {\n\t\tthis.clearAndroidFallbackTimers();\n\t\tif (this.host.disableFallback || !this.host.isAndroid ||\n\t\t\t!Utils.isCurrentManifestTarget(this.host.manifestUrl) ||\n\t\t\tthis.host.isWebInstallSupported || window.defferedPromptEvent)\n\t\t\treturn;\n\n\t\tif (this.host.isAndroidFallback) {\n\t\t\tthis.androidFallbackTimer = window.setTimeout(() => {\n\t\t\t\tthis.setInstallAvailable(true);\n\t\t\t}, 1000);\n\t\t\treturn;\n\t\t}\n\n\t\tif ('userActivation' in navigator && !this.host.isRelatedAppsInstalled) {\n\t\t\tconst activation = navigator.userActivation;\n\t\t\tthis.activationInterval = window.setInterval(() => {\n\t\t\t\tif (activation.isActive || activation.hasBeenActive) {\n\t\t\t\t\tif (!window.defferedPromptEvent) {\n\t\t\t\t\t\tthis.host.isAndroidFallback = true;\n\t\t\t\t\t\tthis.setInstallAvailable(true);\n\t\t\t\t\t}\n\t\t\t\t\tthis.clearAndroidFallbackTimers();\n\t\t\t\t}\n\t\t\t}, 1000);\n\t\t\tthis.activationTimeout = window.setTimeout(() => {\n\t\t\t\tthis.clearAndroidFallbackTimers();\n\t\t\t}, 30000);\n\t\t}\n\t}\n\n\tprivate clearAndroidFallbackTimers() {\n\t\tif (this.androidFallbackTimer !== null)\n\t\t\twindow.clearTimeout(this.androidFallbackTimer);\n\t\tif (this.activationInterval !== null)\n\t\t\twindow.clearInterval(this.activationInterval);\n\t\tif (this.activationTimeout !== null)\n\t\t\twindow.clearTimeout(this.activationTimeout);\n\t\tthis.androidFallbackTimer = null;\n\t\tthis.activationInterval = null;\n\t\tthis.activationTimeout = null;\n\t}\n}","import {css} from 'lit'; export default css`#pwa-install-element{-webkit-user-select:none;user-select:none}#pwa-install-element .install-dialog{--text-color-normal:#212121;--background-color:#fff;--border-bottom-color:#DBDCDE;--scrollbar-background-color:#fff;font-family:Roboto,\"Segoe UI\",system-ui;position:fixed;display:inline-block;opacity:0;visibility:hidden;z-index:2147483001}#pwa-install-element .install-dialog.chrome{max-width:380px;width:90%;min-height:90px;margin:0 auto;right:150px;left:auto;background-color:var(--background-color);filter:drop-shadow(0 5px 15px rgba(0, 0, 0, .3));font-size:15px;color:var(--text-color-normal);border-radius:8px;top:-100px;transition:top .5s ease-in-out,opacity .8s ease-in-out,max-height .35s ease-in-out}#pwa-install-element .install-dialog.chrome.available{opacity:1;top:28px;visibility:visible}#pwa-install-element .install-dialog.chrome .dialog-body{display:grid;grid-template-columns:70px 1fr}#pwa-install-element .install-dialog.chrome.gallery pwa-gallery{transition:opacity .3s ease-in-out .2s,max-height .5s ease-in-out;max-height:70vh;opacity:1}#pwa-install-element .install-dialog.mobile{--touch-header-color:#DBDCE0;top:0;max-width:414px;width:100%;bottom:auto;left:0;right:0;transition:none;transform:translateY(100vh);border-radius:0;border-top-left-radius:15px;border-top-right-radius:15px;padding-bottom:35px}#pwa-install-element .install-dialog.mobile.available{--translateY:translateY(calc(100vh - 85px));opacity:1;top:0;visibility:visible;transform:var(--translateY)}@media(prefers-color-scheme:dark){#pwa-install-element .install-dialog{--text-color-normal:#eee;--background-color:#1e1e1e;--border-bottom-color:#404140;--scrollbar-background-color:#424242}#pwa-install-element .install-dialog.mobile{--touch-header-color:#3f403f}}@media(max-width:767px)and (min-height:495px){#pwa-install-element .install-dialog.chrome.mobile{display:inline-block}#pwa-install-element .install-dialog.chrome{display:none}}@media(min-width:768px),(max-height:495px){#pwa-install-element .install-dialog.chrome.mobile{display:none}#pwa-install-element .install-dialog.chrome{display:inline-block}}@media(max-height:420px){#pwa-install-element .install-dialog.chrome .dialog-body .description{-webkit-line-clamp:3;max-height:70px}}`;\n    ","import {css} from 'lit'; export default css`#pwa-install-element .install-dialog.apple{--text-color-normal:#333;--text-color-description:#333;--background-color:rgba(255, 255, 255, 0.8);--text-color-button:#fff;--background-color-button:#fff;--background-color-button-active:rgb(181,181,187);--border-bottom-color:rgba(0, 0, 0, 0.1);--icon-how-to-color:#527AFB;font-family:system-ui,-apple-system,HelveticaNeue,BlinkMacSystemFont,Roboto,\"Segoe UI\";max-width:380px;width:auto;margin:0 auto;right:0;left:0;font-size:15px;color:var(--text-color-normal);bottom:0;transition:transform .4s cubic-bezier(.33,1,.66,1),opacity .5s cubic-bezier(1,0,1,-2),border .35s ease-in-out;overflow:hidden;pointer-events:none;opacity:0;visibility:visible;transform:translateY(100%);will-change:opacity,transform}#pwa-install-element .install-dialog.apple.dialog-body{display:grid;grid-template-columns:95px 1fr;grid-template-rows:1fr auto;grid-template-areas:\"icon description\" \"welcome welcome\" \"how-to how-to\" \"gallery gallery\" \"button button\";border-radius:10px;border-bottom:1px solid transparent;background-color:var(--background-color);filter:drop-shadow(0 5px 15px rgba(0, 0, 0, .5));-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}#pwa-install-element .install-dialog.apple.dialog-body .icon{display:flex;align-items:center;grid-area:icon;border-bottom:1px solid var(--border-bottom-color)}#pwa-install-element .install-dialog.apple.dialog-body .icon .icon-image{width:64px;height:64px;margin:0 auto;border-radius:6px}#pwa-install-element .install-dialog.apple.dialog-body .close{height:26px;min-width:26px;line-height:0;margin-inline-end:7px;margin-top:7px;margin-inline-start:auto;padding:0;border-radius:50%;opacity:.5;outline:0;color:var(--text-color-normal);border:none;background-color:rgba(0,0,0,0);cursor:pointer;transition:opacity .2s ease-in-out,background-color .2s ease-in-out;grid-area:description}#pwa-install-element .install-dialog.apple.dialog-body .close svg{fill:var(--text-color-normal);width:18px}#pwa-install-element .install-dialog.apple.dialog-body .close:active,#pwa-install-element .install-dialog.apple.dialog-body .close:hover{opacity:1;background-color:var(--background-color-button)}#pwa-install-element .install-dialog.apple.dialog-body .about{display:grid;grid-template-rows:35px 60px;border-bottom:1px solid var(--border-bottom-color);grid-area:description}#pwa-install-element .install-dialog.apple.dialog-body .about .description,#pwa-install-element .install-dialog.apple.dialog-body .about .name{padding-inline-end:15px;overflow:hidden}#pwa-install-element .install-dialog.apple.dialog-body .about .name{font-weight:600;padding-top:10px;padding-inline-end:10px;line-height:22px;align-items:flex-start;display:flex}#pwa-install-element .install-dialog.apple.dialog-body .about .description{font-size:12px;line-height:15px;padding:0;margin-bottom:15px;overflow-y:auto;color:var(--text-color-description)}#pwa-install-element .install-dialog.apple.dialog-body .welcome-to-install{font-size:15px;grid-area:welcome;text-align:start;font-weight:400;padding:15px;width:auto;border-bottom:1px solid var(--border-bottom-color)}#pwa-install-element .install-dialog.apple .action-buttons{grid-area:button;grid-column-start:1;grid-column-end:3;grid-template-columns:unset;gap:unset;padding:15px}#pwa-install-element .install-dialog.apple .action-buttons .button-text{display:flex;flex-direction:row-reverse;align-items:center;gap:15px;justify-content:flex-end}#pwa-install-element .install-dialog.apple .action-buttons .dialog-button{padding:0 20px;text-align:start;font-size:16px}#pwa-install-element .install-dialog.apple .action-buttons .dialog-button.gallery{margin:0}#pwa-install-element .install-dialog.apple .action-buttons{margin:16px;flex-direction:column;border-radius:8px;overflow:hidden;padding:0}#pwa-install-element .install-dialog.apple .action-buttons .dialog-button{border-radius:0;padding:0 20px;text-align:start;font-size:16px}#pwa-install-element .install-dialog.apple .action-buttons .dialog-button.gallery{margin:0}#pwa-install-element .install-dialog.apple .action-buttons #icon-back{width:auto;height:19px}#pwa-install-element .install-dialog.apple .dialog-button{display:grid;height:50px;width:100%;line-height:50px;border-radius:8px;color:var(--text-color-normal)}#pwa-install-element .install-dialog.apple .dialog-button.button{border:none;outline:0;font-family:system-ui,-apple-system,HelveticaNeue,BlinkMacSystemFont;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:400;font-size:17px;background-color:var(--background-color-button);-webkit-tap-highlight-color:transparent;outline:0}#pwa-install-element .install-dialog.apple .dialog-button.button svg{fill:var(--text-color-normal)}#pwa-install-element .install-dialog.apple .dialog-button.button.install .button-text{opacity:0;display:flex;align-items:center;transition:opacity .4s ease-in-out .1s;overflow:hidden}#pwa-install-element .install-dialog.apple .dialog-button.button.install .button-text>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#pwa-install-element .install-dialog.apple .dialog-button.button.install .button-text>svg{flex-shrink:0;width:22px}#pwa-install-element .install-dialog.apple .dialog-button.button.install .button-text.show{opacity:1;visibility:visible;width:auto;height:auto}#pwa-install-element .install-dialog.apple .dialog-button.button.install .button-text.hide{opacity:0;position:absolute;width:0;height:0;visibility:hidden}#pwa-install-element .install-dialog.apple .dialog-button.button.gallery{display:flex;align-items:center;min-width:50px}#pwa-install-element .install-dialog.apple .dialog-button.button.gallery #pwa-gallery{margin:0 auto;width:23px}#pwa-install-element .install-dialog.apple .dialog-button.button:active{background-color:var(--background-color-button-active)}#pwa-install-element .install-dialog.apple .how-to-body{opacity:0;max-height:0;overflow:hidden;transition:opacity ease-in-out .5s,max-height .5s ease-in-out;grid-area:how-to}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description{display:grid;-webkit-user-select:none;user-select:none;grid-auto-columns:1fr;grid-template-rows:1fr auto;gap:10px;padding:15px;padding-bottom:0}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description.in-app-browser .description-step:not(:first-child){opacity:.5;filter:saturate(50%)}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step{display:inline-flex;flex-direction:row;gap:15px;align-items:center;font-size:14px}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step.copy-link{-webkit-appearance:none;appearance:none;width:100%;padding:0;border:0;color:inherit;background:rgba(0,0,0,0);text-align:start;text-decoration:none;cursor:pointer}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step.copy-link:focus-visible{outline:2px solid currentColor;outline-offset:3px}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step.copy-link .copy-link-action{text-decoration:underline;text-underline-offset:2px}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step.copy-link.copied .svg-wrap{justify-content:center}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step.copy-link.copied #pwa-copy-document{display:none}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step.copy-link.copied #pwa-safari{display:block}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step.copy-link.copied .copy-link-action{text-decoration:none}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap{position:relative;display:inline-flex;flex-shrink:0;fill:var(--text-color-normal);width:50px;height:50px;align-items:center;border-radius:6px}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-add,#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-copy-document,#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-safari,#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-share,#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #safari-chevron,#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #safari-dots,#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #safari-menu,#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #safari-ya{margin:0 auto}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-safari{display:none}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-share{margin-bottom:4px;transform:scale(.9)}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-add{transform:scale(.9)}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-safari{transform:scale(.92)}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #safari-chevron{width:22px;margin-top:2px}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap .step-count{position:absolute;line-height:12px;top:3px;left:4px}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step .step-text{font-weight:600;text-align:start}#pwa-install-element .install-dialog.apple pwa-gallery{grid-column:1/3;max-height:0;opacity:0;transition:opacity ease-in-out .5s,max-height .5s ease-in-out;overflow:hidden}#pwa-install-element .install-dialog.apple pwa-gallery+.action-buttons{display:flex}#pwa-install-element .install-dialog.apple.available{opacity:1;pointer-events:unset;transform:translateY(0);transition:transform .5s cubic-bezier(.33,1,.66,1),border .35s ease-in-out}#pwa-install-element .install-dialog.apple.gallery pwa-gallery{transition:opacity .3s ease-in-out .2s,max-height .5s ease-in-out;max-height:70vh;opacity:1}#pwa-install-element .install-dialog.apple.how-to .dialog-body{border-bottom:1px solid #e0e0e0}#pwa-install-element .install-dialog.apple.how-to .how-to-body{opacity:1;max-height:400px;overflow-y:auto;transition:opacity .3s ease-in-out .2s,max-height .5s ease-in-out}#pwa-install-element .install-dialog.apple.how-to .dialog-button.button.gallery{height:0;opacity:0;min-height:0;padding:0;pointer-events:none}#pwa-install-element .install-dialog.apple.how-to .dialog-button.button.gallery+.install::before{visibility:hidden}#pwa-install-element .install-dialog.apple.gallery .dialog-button.button.install{height:0;opacity:0;min-height:0;padding:0;pointer-events:none}#pwa-install-element .install-dialog.apple.gallery .dialog-button.button.install::before{visibility:hidden}#pwa-install-element .install-dialog.apple.how-to.how-to-manual .action-buttons{margin-top:0;padding-top:0}#pwa-install-element .install-dialog.apple.how-to.how-to-manual .action-buttons .dialog-button{display:none}#pwa-install-element .install-dialog.apple.aqua{--border-bottom-color:rgb(95 95 95 / 30%);--divider-buttons-color:#85858580;--background-color:rgba(255, 255, 255, 0.5);--background-color-button:rgb(211 211 211 / 60%);--text-color-normal:#000;--text-color-description:rgba(75, 75, 75, 0.9);--base-color:255 255 255;--tint-color:rgb(var(--base-color));border:1px solid rgb(var(--base-color)/50%);border-radius:35px;grid-template-columns:100px 1fr;background:color-mix(in srgb,var(--tint-color) 20%,rgb(var(--base-color)/70%) 80%);box-shadow:inset 1px 1px 1px 0 color-mix(in srgb,var(--tint-color) 20%,rgb(var(--base-color)/25%) 80%),inset 0 0 1px 1px color-mix(in srgb,var(--tint-color) 20%,rgb(var(--base-color)/50%) 80%)}#pwa-install-element .install-dialog.apple.aqua .about{margin-right:26px;grid-template-rows:56px 56px}#pwa-install-element .install-dialog.apple.aqua .about .name{align-items:flex-end}#pwa-install-element .install-dialog.apple.aqua .about .description,#pwa-install-element .install-dialog.apple.aqua .about .name{font-size:14px;margin:0;padding:0}#pwa-install-element .install-dialog.apple.aqua .icon{margin-left:26px}#pwa-install-element .install-dialog.apple.aqua .icon .icon-image{border-radius:14px;width:60px;height:60px;margin-left:0}#pwa-install-element .install-dialog.apple.aqua .dialog-button{transition:height .3s ease-in-out;height:48px}#pwa-install-element .install-dialog.apple.aqua .dialog-button.install{border-radius:18px}#pwa-install-element .install-dialog.apple.aqua .dialog-button.install .button-text>svg{width:22px}#pwa-install-element .install-dialog.apple.aqua .dialog-button.gallery{border-radius:50%}#pwa-install-element .install-dialog.apple.aqua .dialog-button.gallery+.install::before{content:\"\";display:inline-block;width:100%;height:0;border-bottom:1px solid var(--divider-buttons-color)}#pwa-install-element .install-dialog.apple.aqua .welcome-to-install{padding:15px 0;margin:0 26px}#pwa-install-element .install-dialog.apple.aqua .action-buttons{margin:16px;flex-direction:column;border-radius:26px;overflow:hidden;padding:0}#pwa-install-element .install-dialog.apple.aqua .action-buttons .button-text{display:flex;flex-direction:row-reverse;align-items:center;gap:15px;justify-content:flex-end}#pwa-install-element .install-dialog.apple.aqua .action-buttons .dialog-button{border-radius:0;padding:0 20px;text-align:start;font-size:16px}#pwa-install-element .install-dialog.apple.aqua .action-buttons .dialog-button.gallery{margin:0}#pwa-install-element .install-dialog.apple.aqua .action-buttons #icon-back{width:auto;height:19px}#pwa-install-element .install-dialog.apple.aqua .action-buttons svg{fill:var(--text-color-normal)}#pwa-install-element .install-dialog.apple.aqua .close{height:42px;min-width:42px;margin-inline-end:14px;margin-top:14px;background-color:rgb(var(--base-color)/80%);border:1px solid rgb(var(--base-color)/90%)}#pwa-install-element .install-dialog.apple.aqua .close svg{width:28px}#pwa-install-element .install-dialog.apple.aqua.apple-mobile.how-to .dialog-button.button.gallery{height:0;opacity:0;min-height:0;padding:0}#pwa-install-element .install-dialog.apple.aqua.apple-mobile.how-to .dialog-button.button.gallery+.install::before{visibility:hidden}#pwa-install-element .install-dialog.apple.aqua.apple-mobile.how-to .install{border-top-left-radius:26px;border-top-right-radius:26px}#pwa-install-element .install-dialog.apple.aqua.apple-mobile.gallery .dialog-button.button.install{height:0;opacity:0;min-height:0;padding:0}#pwa-install-element .install-dialog.apple.aqua.apple-mobile.gallery .dialog-button.button.install::before{visibility:hidden}#pwa-install-element .install-dialog.apple.aqua.apple-mobile.gallery .dialog-button.button.gallery{border-bottom-left-radius:26px;border-bottom-right-radius:26px}#pwa-install-element .install-dialog.apple.aqua.apple-mobile .how-to-body .how-to-description .description-step .svg-wrap{border-radius:50%;width:60px;height:60px;background-color:color-mix(in srgb,var(--tint-color) 20%,color-mix(in srgb,var(--text-color-normal) 10%,transparent) 50%)}#pwa-install-element .install-dialog.apple.aqua.apple-mobile .how-to-body .how-to-description .description-step .svg-wrap.ya #safari-dots{rotate:90deg}#pwa-install-element .install-dialog.apple.desktop{--text-color-normal:rgba(0, 0, 0, 0.85);--text-color-description:rgba(0, 0, 0, 0.85);--icon-how-to-color:rgba(0, 0, 0, 0.50);--background-color:rgb(246 246 246 / 85%);--background-color-button:#c6c1c6;--background-color-button-active:linear-gradient(0deg, rgba(64,121,250,1) 0%, rgba(84,144,251,1) 100%);--border-bottom-color:rgb(185 185 185);grid-template-columns:65px 1fr;padding:10px;max-width:282px;border:1px solid var(--border-bottom-color)}#pwa-install-element .install-dialog.apple.desktop .icon{margin-left:0;align-items:flex-start;padding-bottom:12px}#pwa-install-element .install-dialog.apple.desktop .icon .icon-image{border-radius:10px;width:52px;height:52px;margin-left:0;filter:drop-shadow(0 1px 1px rgba(0, 0, 0, .15))}#pwa-install-element .install-dialog.apple.desktop .close{background:var(--background-color-button);height:20px;min-width:20px;margin-inline-end:-5px;margin-top:-5px}#pwa-install-element .install-dialog.apple.desktop .close svg{width:14px}#pwa-install-element .install-dialog.apple.desktop .about{display:flex;flex-direction:column;justify-content:center;gap:5px;padding-bottom:8px;padding-right:15px;margin-right:0}#pwa-install-element .install-dialog.apple.desktop .about .name{font-size:13px;line-height:16px;font-weight:700;padding:0;margin:0}#pwa-install-element .install-dialog.apple.desktop .about .description{margin:0;min-width:100%}#pwa-install-element .install-dialog.apple.desktop .about .description,#pwa-install-element .install-dialog.apple.desktop .welcome-to-install{font-size:11px;line-height:14px}#pwa-install-element .install-dialog.apple.desktop .description{border-bottom:none}#pwa-install-element .install-dialog.apple.desktop .welcome-to-install{padding:12px 0;margin:0}#pwa-install-element .install-dialog.apple.desktop .action-buttons{padding:0;margin:0;padding-top:8px}#pwa-install-element .install-dialog.apple.desktop .action-buttons .dialog-button{font-size:13px;font-weight:400;padding:6px 10px;border-radius:6px;height:unset;min-height:30px;line-height:18px;background-color:rgba(0,0,0,0)}#pwa-install-element .install-dialog.apple.desktop .action-buttons .dialog-button.install svg{transform:none;width:18px}#pwa-install-element .install-dialog.apple.desktop .action-buttons .dialog-button.gallery #pwa-gallery{width:18px;height:14px}#pwa-install-element .install-dialog.apple.desktop .action-buttons .dialog-button .button-text{gap:10px}#pwa-install-element .install-dialog.apple.desktop .action-buttons .dialog-button #icon-back{width:auto;height:14px}#pwa-install-element .install-dialog.apple.desktop .close:active,#pwa-install-element .install-dialog.apple.desktop .dialog-button.button:active{background:var(--background-color-button);filter:brightness(105%)}#pwa-install-element .install-dialog.apple.desktop .close:active .button-text,#pwa-install-element .install-dialog.apple.desktop .dialog-button.button:active .button-text{filter:brightness(90%)}#pwa-install-element .install-dialog.apple.desktop .how-to-body .how-to-description{padding:0 3px;padding-top:12px;grid-template-rows:1fr 1fr}#pwa-install-element .install-dialog.apple.desktop .how-to-body .how-to-description .description-step{font-size:12px;gap:16px}#pwa-install-element .install-dialog.apple.desktop .how-to-body .how-to-description .description-step .svg-wrap{width:32px;height:32px;color:var(--icon-how-to-color)}#pwa-install-element .install-dialog.apple.desktop .how-to-body .how-to-description .description-step .svg-wrap #pwa-share{width:16px;margin-bottom:2px;transform:none}#pwa-install-element .install-dialog.apple.desktop .how-to-body .how-to-description .description-step .svg-wrap #pwa-add{width:18px;transform:none}#pwa-install-element .install-dialog.apple.desktop.gallery #pwa-gallery{transform:rotate(180deg)}#pwa-install-element .install-dialog.apple.desktop.aqua{--border-bottom-color:rgb(95 95 95 / 50%);--background-color:rgb(246 246 246 / 50%);padding:16px}#pwa-install-element .install-dialog.apple.desktop.aqua .icon .icon-image{border-radius:14px}#pwa-install-element .install-dialog.apple.desktop.aqua .about{padding-bottom:12px}#pwa-install-element .install-dialog.apple.desktop.aqua .action-buttons{border-radius:unset}#pwa-install-element .install-dialog.apple.desktop.aqua .action-buttons .install::before{content:none}#pwa-install-element .install-dialog.apple.desktop.aqua .action-buttons:last-child{border-bottom-left-radius:14px;border-bottom-right-radius:14px}#pwa-install-element .install-dialog.apple.desktop.aqua .close{margin-inline-end:0;margin-top:0;background:unset;background-color:rgb(var(--base-color)/80%)}#pwa-install-element .install-dialog.apple.desktop.aqua .how-to-body .how-to-description .description-step .svg-wrap{color:unset}#pwa-install-element .install-dialog.apple.desktop.aqua.aqua27{border-radius:22px}#pwa-install-element .install-dialog.apple.desktop.aqua.aqua27 .action-buttons .button:active{background:color-mix(in srgb,var(--tint-color) 20%,color-mix(in srgb,var(--text-color-normal) 10%,transparent) 50%)}#pwa-install-element .install-dialog.apple.desktop.aqua.aqua27 .action-buttons:last-child{border-bottom-left-radius:10px;border-bottom-right-radius:10px}@media(min-width:667px){#pwa-install-element .install-dialog.apple{top:0;bottom:unset;transform:translateY(calc(-100% - 40px));right:28px;left:auto}#pwa-install-element .install-dialog.apple.available{top:28px;bottom:auto;max-height:calc(95vh - 28px)}}@media(min-width:667px)and (max-width:1366px){#pwa-install-element .install-dialog.apple{right:max(28px,env(safe-area-inset-right,28px));left:auto}}@media(max-width:666px){#pwa-install-element .install-dialog.apple .description-step .step-text{font-size:13px}#pwa-install-element .install-dialog.apple.available{bottom:20px;max-height:calc(88vh - 20px)}#pwa-install-element .install-dialog.apple.dialog-body{filter:drop-shadow(rgba(0, 0, 0, .5) 0 0 15px)}}@media(max-width:428px){#pwa-install-element .install-dialog.apple.dialog-body:not(.aqua){max-width:100vw;filter:drop-shadow(rgba(0, 0, 0, .5) 0 -5px 10px);border-bottom-left-radius:0;border-bottom-right-radius:0}#pwa-install-element .install-dialog.apple.dialog-body:not(.aqua) .action-buttons{margin-bottom:max(16px,env(safe-area-inset-bottom))}#pwa-install-element .install-dialog.apple.dialog-body:not(.aqua).available{bottom:0;max-height:85vh}#pwa-install-element .install-dialog.apple.dialog-body.aqua{bottom:calc(20px + env(safe-area-inset-bottom));margin:0 max(env(safe-area-inset-left),20px)}}@media(max-height:548px){#pwa-install-element .install-dialog.apple.dialog-body.available{overflow-y:auto;max-height:calc(90vh - 28px - env(safe-area-inset-bottom,0px))}}@media(max-height:600px){#pwa-install-element .install-dialog.apple pwa-gallery{overflow-y:auto}}@media(max-height:450px){#pwa-install-element .install-dialog.apple.apple-mobile.dialog-body{top:5px;max-height:calc(90vh - 20px - env(safe-area-inset-bottom,0px))}#pwa-install-element .install-dialog.apple.apple-mobile.dialog-body.gallery .welcome-to-install,#pwa-install-element .install-dialog.apple.apple-mobile.dialog-body.how-to .welcome-to-install{display:none}#pwa-install-element .install-dialog.apple.apple-mobile.dialog-body.aqua .about{grid-template-rows:56px 50px}#pwa-install-element .install-dialog.apple.apple-mobile.dialog-body.aqua .welcome-to-install{font-size:13px}}@media(max-height:360px){#pwa-install-element .install-dialog.apple.apple-mobile.dialog-body .welcome-to-install{display:none}}@media(prefers-color-scheme:dark){#pwa-install-element .install-dialog.apple.dialog-body{--text-color-normal:#fff;--text-color-description:#9E9AA1;--background-color:rgb(25 25 25 / 90%);--background-color-button:#353535;--background-color-button-active:#454545;--border-bottom-color:#353535}#pwa-install-element .install-dialog.apple.dialog-body .close:active,#pwa-install-element .install-dialog.apple.dialog-body .dialog-button.button:active{filter:brightness(105%)}#pwa-install-element .install-dialog.apple.dialog-body .close:active .button-text,#pwa-install-element .install-dialog.apple.dialog-body .dialog-button.button:active .button-text{filter:brightness(90%)}#pwa-install-element .install-dialog.apple.dialog-body.desktop{--text-color-description:var(--text-color-normal);--icon-how-to-color:#bcb8b6;--background-color:rgb(45 45 45 / 90%);--border-bottom-color:#5b5b5b;--background-color-button:#6d6765;--background-color-button-active:linear-gradient(0deg, rgba(59,108,200,1) 0%, rgba(66,123,250,1) 100%);outline:1px solid #1c1c1c;color-scheme:dark}#pwa-install-element .install-dialog.apple.dialog-body.desktop.aqua{outline:0;--border-bottom-color:rgb(142 142 142 / 65%)}#pwa-install-element .install-dialog.apple.dialog-body.aqua{--text-color-normal:#fff;--text-color-description:rgb(189 177 175 / 80%);--background-color-button:rgb(54 56 54 / 60%);--divider-buttons-color:#4e4e51;--border-bottom-color:rgb(84 84 88 / 65%);--base-color:50 50 50;border-color:rgb(var(--base-color)/30%)}#pwa-install-element .install-dialog.apple.dialog-body.aqua .close{background-color:rgba(30,30,30,.8);border:1px solid rgba(60,60,60,.9)}}`;\n    ","import{noChange as t}from\"../lit-html.js\";import{directive as e,Directive as r,PartType as s}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const n=\"important\",i=\" !\"+n,o=e(class extends r{constructor(t){if(super(t),t.type!==s.ATTRIBUTE||\"style\"!==t.name||t.strings?.length>2)throw Error(\"The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.\")}render(t){return Object.keys(t).reduce(((e,r)=>{const s=t[r];return null==s?e:e+`${r=r.includes(\"-\")?r:r.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,\"-$&\").toLowerCase()}:${s};`}),\"\")}update(e,[r]){const{style:s}=e.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(r)),this.render(r);for(const t of this.ft)null==r[t]&&(this.ft.delete(t),t.includes(\"-\")?s.removeProperty(t):s[t]=null);for(const t in r){const e=r[t];if(null!=e){this.ft.add(t);const r=\"string\"==typeof e&&e.endsWith(i);t.includes(\"-\")||r?s.setProperty(t,r?e.slice(0,-11):e,r?n:\"\"):s[t]=e}}return t}});export{o as styleMap};\n//# sourceMappingURL=style-map.js.map\n","import { LitElement, PropertyValues } from 'lit';\nimport { localized } from '@lit/localize';\nimport { property, state } from 'lit/decorators.js';\nimport { changeLocale, isRTL } from './localization';\n\nimport { Manifest } from './types/types';\nimport type { IRelatedApp, PWAInstallAttributes } from './types/types';\n\nimport PWAGalleryElement from './gallery';\nimport PWABottomSheetElement from './templates/chrome/bottom-sheet';\n\nimport InstallLogic from './logic';\nimport Utils from './utils';\n\nimport styles from './templates/chrome/styles.scss';\nimport stylesCommon from './templates/chrome/styles-common.scss'\nimport stylesApple from './templates/apple/styles-apple.scss';\n\nimport template from './templates/chrome/template';\nimport templateApple from './templates/apple/template-apple';\nimport type { InstallTemplateOptions } from './templates/types';\n\n/**\n * @event {CustomEvent} pwa-install-success-event - App install success (Chromium/Android only)\n * @event {CustomEvent} pwa-install-fail-event - App install failed (Chromium/Android only)\n * @event {CustomEvent} pwa-install-backend-event - Install backend selected (Chromium/Android only)\n * @event {CustomEvent} pwa-user-choice-result-event - dismissed, accepted\n * @event {CustomEvent} pwa-install-available-event - App install available\n * @event {CustomEvent} pwa-install-how-to-event - App install instruction showed\n * @event {CustomEvent} pwa-install-gallery-event - App install gallery showed\n */\n@localized()\nexport class PWAInstallElement extends LitElement {\n\t@property({attribute: 'manifest-url'}) manifestUrl = '/manifest.json';\n\t@property({attribute: 'manifest-id'}) manifestId = '';\n\t@property() icon = '';\n\t@property() name = '';\n\t@property() description = '';\n\t@property({attribute: 'install-description'}) installDescription = '';\n\t@property({attribute: 'disable-install-description', type: Boolean}) disableDescription = false;\n\t@property({attribute: 'disable-screenshots', type: Boolean}) disableScreenshots = false;\n\t@property({attribute: 'disable-screenshots-apple', type: Boolean}) disableScreenshotsApple = false;\n\t@property({attribute: 'disable-screenshots-chrome', type: Boolean}) disableScreenshotsChrome = false;\n\t@property({attribute: 'manual-apple', type: Boolean}) manualApple = false;\n\t@property({attribute: 'manual-chrome', type: Boolean}) manualChrome = false;\n\t@property({attribute: 'manual-how-to', type: Boolean}) manualHowTo = false;\n\t@property({attribute: 'disable-chrome', type: Boolean}) disableChrome = false;\n\t@property({attribute: 'disable-close', type: Boolean}) disableClose = false;\n\t@property({attribute: 'disable-android-fallback', type: Boolean}) disableFallback = false;\n\t@property({attribute: 'use-local-storage', type: Boolean}) useLocalStorage = false;\n\t@property({attribute: 'styles', type: Object}) styles: Record<string, string> = {};\n\n\tstatic get styles() {\n\t\treturn [ styles, stylesCommon, stylesApple ];\n\t}\n\n\t@state() externalPromptEvent: BeforeInstallPromptEvent | null = null;\n\n\tpublic platforms: BeforeInstallPromptEvent['platforms'] = [];\n\tpublic userChoiceResult = '';\n\n\tpublic isDialogHidden: boolean = Utils.getStorageFlag('pwa-hide-install');\n\tpublic isInstallAvailable = false;\n\tpublic isAppleMobilePlatform = false;\n\tpublic isAppleDesktopPlatform = false;\n\tpublic isApple26Plus = false;\n\tpublic isApple27Plus = false;\n\tpublic isAndroidFallback = false;\n\tpublic isInAppBrowser = false;\n\tpublic isAndroid = false;\n\tpublic isUnderStandaloneMode = false;\n\tpublic isRelatedAppsInstalled = false;\n\tpublic isWebInstallSupported = false;\n\n\t/** @internal */\n\tprivate _isRTL = false;\n\n\t/** @internal */\n\tprivate _manifest: Manifest = new Manifest();\n\t/** @internal */\n\tprivate _howToRequested = false;\n\t/** @internal */\n\tprivate _galleryRequested = false;\n\t/** @internal */\n\tprivate _linkCopied = false;\n\t/** @internal */\n\tprivate _installLogic = new InstallLogic(this, () => this._manifest.id);\n\n\tpublic install = async () => {\n\t\tif (this.isAppleMobilePlatform || this.isAppleDesktopPlatform) {\n\t\t\tif (!Utils.isCurrentManifestTarget(this.manifestUrl)) {\n\t\t\t\tUtils.eventInstalledFail(this, {\n\t\t\t\t\tbackend: 'manual',\n\t\t\t\t\terrorName: 'NotSupportedError',\n\t\t\t\t\terrorMessage: 'This platform cannot install a different app.',\n\t\t\t\t\tfallbackAvailable: false\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis._howToRequested = true;\n\t\t\tthis.requestUpdate();\n\t\t\treturn;\n\t\t}\n\n\t\tawait this._installLogic.install();\n\t}\n\t/** @internal */\n\tprivate _hideDialog = {\n\t\thandleEvent: () => {\n\t\t\tthis.isDialogHidden = true;\n\t\t\tUtils.setStorageFlag('pwa-hide-install', true, this.useLocalStorage);\n\t\t\tthis.requestUpdate();\n\t\t},\n\t\tpassive: true\n\t}\n\t/** @internal */\n\tprivate _hideDialogUser = () => {\n\t\tthis._installLogic.dismiss();\n\t}\n\tpublic hideDialog = () => {\n\t\tthis._hideDialog.handleEvent();\n\t}\n\tpublic showDialog = (forced = false) => {\n\t\tthis.isDialogHidden = false;\n\t\tif (forced)\n\t\t\tthis.isInstallAvailable = true;\n\t\tUtils.setStorageFlag('pwa-hide-install', false, this.useLocalStorage);\n\t\tthis.requestUpdate();\n\t}\n\n\tpublic getInstalledRelatedApps = async (): Promise<IRelatedApp[]> => {\n\t\treturn await Utils.getInstalledRelatedApps();\n\t}\n\n\t/** @internal */\n\tprivate _toggleHowTo = {\n        handleEvent: () => {\n\t\t\tthis._howToRequested = !this._howToRequested;\n\t\t\tif (this._howToRequested && this._galleryRequested)\n\t\t\t\tthis._galleryRequested = false;\n\t\t\tthis.requestUpdate();\n\n\t\t\tif (this._howToRequested) {\n\t\t\t\tUtils.eventInstallHowTo(this);\n\t\t\t}\t\t\t\t\n        },\n        passive: true\n    }\n\t/** @internal */\n\tprivate _toggleGallery = {\n        handleEvent: () => {\n\t\t\tthis._galleryRequested = !this._galleryRequested;\n\t\t\tif (this._howToRequested && this._galleryRequested)\n\t\t\t\tthis._howToRequested = false;\n\n\t\t\tthis._galleryRequested && Utils.eventGallery(this);\n\n\t\t\tthis.requestUpdate();\n        },\n        passive: true\n    }\n\t/** @internal */\n\tprivate _copyCurrentUrl = {\n\t\thandleEvent: () => {\n\t\t\tthis._linkCopied = true;\n\t\t\tvoid Utils.copyTextToClipboard(location.href);\n\t\t\tthis.requestUpdate();\n\t\t},\n\t\tpassive: true\n\t}\n\t/** @internal */\n\tprivate async _checkPlatform() {\n\t\tthis.isUnderStandaloneMode = Utils.isStandalone();\n\t\tthis.isRelatedAppsInstalled = await Utils.isRelatedAppsInstalled();\n\t\tthis.isAppleMobilePlatform = Utils.isAppleMobile();\n\t\tthis.isAppleDesktopPlatform = Utils.isAppleDesktop();\n\t\tthis.isApple26Plus = Utils.isApple26Plus() && (this.isAppleMobilePlatform || this.isAppleDesktopPlatform);\n\t\tthis.isApple27Plus = Utils.isApple27Plus() && (this.isAppleMobilePlatform || this.isAppleDesktopPlatform);\n\t\tthis.isAndroidFallback = Utils.isAndroidFallback();\n\t\tthis.isInAppBrowser = Utils.isInAppBrowser();\n\t\tthis.isAndroid = Utils.isAndroid();\n\t\tthis.isWebInstallSupported = Utils.isWebInstallSupported();\n\t}\n\t/** @internal */\n\tprivate async _triggerAppleDialog() {\n\t\tsetTimeout(() => {\n\t\t\tthis.isInstallAvailable = true;\n\t\t\tthis.requestUpdate();\n\t\t\tUtils.eventInstallAvailable(this);\n\t\t}, 500);\n\t}\n\t/** @internal */\n\tprivate async _checkInstallAvailable() {\n\t\tif (this.isUnderStandaloneMode && Utils.isCurrentManifestTarget(this.manifestUrl))\n\t\t\treturn;\n\n\t\tif (this.isAppleMobilePlatform || this.isAppleDesktopPlatform) {\n\t\t\tif (!Utils.isCurrentManifestTarget(this.manifestUrl))\n\t\t\t\treturn;\n\t\t\tthis.manualApple && this.hideDialog();\n\t\t\t\n\t\t\tif (document.readyState === 'complete') {\n\t\t\t\tawait this._triggerAppleDialog();\n\t\t\t} else {\n\t\t\t\twindow.addEventListener('load', async () => {\n\t\t\t\t\tawait this._triggerAppleDialog();\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tthis._installLogic.checkAvailability(this.externalPromptEvent);\n\t}\n\n\t/** @internal */\n\tprivate _init = async () => {\n\t\tawait this._checkPlatform();\n\t\tawait this._checkInstallAvailable();\n\n\t\tObject.assign(this, await Utils.fetchAndProcessManifest(this.manifestUrl, this.icon, this.name, this.description));\n\t};\n\t/** @internal */\n\tprivate _requestUpdate = () => {\n\t\tthis.requestUpdate();\n\t}\n\n\tasync connectedCallback() {\n\t\tthis._installLogic.connect();\n\t\tawait changeLocale(navigator.language);\n\t\tthis._isRTL = isRTL();\n\t\tawait this._init();\n\t\tPWAGalleryElement.finalized;\n\t\tPWABottomSheetElement.finalized;\n\t\tsuper.connectedCallback();\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis._installLogic.disconnect();\n\t\tsuper.disconnectedCallback();\n\t}\n\n\twillUpdate(changedProperties: PropertyValues<this>) {\n\t\tif (changedProperties.has('manifestUrl') || changedProperties.has('manifestId'))\n\t\t\tthis._installLogic.reset();\n\t\tif (this.externalPromptEvent && changedProperties.has('externalPromptEvent') && typeof this.externalPromptEvent == 'object') {\n\t\t\tthis._installLogic.captureBeforeInstallPrompt(this.externalPromptEvent);\n\t\t}\n\t}\n\n\t// firstUpdated() {\n\t// \treturn;\n\t// }\n\t/** @internal */\n\tprivate _getTemplateOptions(disableScreenshots: boolean): InstallTemplateOptions {\n\t\treturn {\n\t\t\tname: this.name,\n\t\t\tdescription: this.description,\n\t\t\tinstallDescription: this.installDescription,\n\t\t\tdisableDescription: this.disableDescription,\n\t\t\tdisableScreenshots,\n\t\t\tdisableClose: this.disableClose,\n\t\t\ticon: this.icon,\n\t\t\tmanifest: this._manifest,\n\t\t\tinstallAvailable: this.isInstallAvailable && !this.isDialogHidden,\n\t\t\thideDialog: this._hideDialogUser,\n\t\t\ttoggleGallery: this._toggleGallery,\n\t\t\tgalleryRequested: this._galleryRequested,\n\t\t\tisRTL: this._isRTL\n\t\t};\n\t}\n\n\trender() {\n\t\tif (this.isAppleMobilePlatform || this.isAppleDesktopPlatform)\n\t\t\treturn templateApple({\n\t\t\t\t...this._getTemplateOptions(this.disableScreenshots || this.disableScreenshotsApple),\n\t\t\t\tmanualHowTo: this.manualHowTo,\n\t\t\t\thowToForApple: this._toggleHowTo,\n\t\t\t\thowToRequested: this._howToRequested || this.manualHowTo,\n\t\t\t\tisApple26Plus: this.isApple26Plus,\n\t\t\t\tisApple27Plus: this.isApple27Plus,\n\t\t\t\tisDesktop: this.isAppleDesktopPlatform,\n\t\t\t\tinAppBrowser: this.isInAppBrowser,\n\t\t\t\tcustomStyles: this.styles,\n\t\t\t\tlinkCopied: this._linkCopied,\n\t\t\t\tsafariUrl: location.href.replace(/^https?:/, 'x-safari-https:'),\n\t\t\t\tcopyCurrentUrl: this._copyCurrentUrl\n\t\t\t});\n\t\telse\n\t\t\treturn template({\n\t\t\t\t...this._getTemplateOptions(this.disableScreenshots || this.disableScreenshotsChrome),\n\t\t\t\tinstall: this._installLogic,\n\t\t\t\ttoggleHowTo: this._toggleHowTo,\n\t\t\t\thowToRequested: this._howToRequested,\n\t\t\t\tisAndroidFallback: this.isAndroidFallback,\n\t\t\t\tinAppBrowser: this.isInAppBrowser\n\t\t\t});\n\t}\n}\n\nif (!customElements.get('pwa-install')) {\n\tcustomElements.define('pwa-install', PWAInstallElement);\n}\n\nexport type { PWAInstallAttributes };\nexport type { PWAInstallProps } from './types/jsx';\n","import { html } from 'lit';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { msg } from '@lit/localize';\nimport Utils from '../../utils';\nimport type { InstallTemplateOptions } from '../types';\n\nexport interface AppleTemplateOptions extends InstallTemplateOptions {\n    manualHowTo: boolean;\n    howToForApple: EventListenerOrEventListenerObject;\n    howToRequested: boolean;\n    isApple26Plus: boolean;\n    isApple27Plus: boolean;\n    isDesktop: boolean;\n    inAppBrowser: boolean;\n    customStyles: Record<string, string>;\n    linkCopied: boolean;\n    safariUrl: string;\n    copyCurrentUrl: EventListenerOrEventListenerObject;\n}\n\nconst template = ({\n    name,\n    description,\n    installDescription,\n    disableDescription,\n    disableScreenshots,\n    disableClose,\n    manualHowTo,\n    icon,\n    manifest,\n    installAvailable,\n    hideDialog,\n    howToForApple,\n    howToRequested,\n    toggleGallery,\n    galleryRequested,\n    isRTL,\n    isApple26Plus,\n    isApple27Plus,\n    isDesktop,\n    inAppBrowser,\n    customStyles,\n    linkCopied,\n    safariUrl,\n    copyCurrentUrl\n}: AppleTemplateOptions) => {\n    const useInAppBrowserInstructions = inAppBrowser || !Utils.isServiceWorkerSupported();\n    const screenshotsAvailable = !disableScreenshots && manifest.screenshots && manifest.screenshots.length;\n    const pressMenuNeeded = () => {\n        if (isDesktop || !isApple26Plus)\n            return false;\n        if (Utils.isYaBrowser() || Utils.isIPhoneSafari())\n            return true;\n        if (Utils.isAppleMobileNonSafari() && !Utils.isIPad()){\n            if (Utils.isEdge() || Utils.isOpera())\n                return true;\n            if (Utils.isFox())\n                return false;\n        }\n        if (Utils.isAppleMobileNonSafari() && Utils.isIPad()){\n            if (Utils.isOpera())\n                return true;\n        }\n        return false;\n    }\n    const installDialogClassesApple = () => { return {available: installAvailable, aqua: isApple26Plus, aqua27: isApple27Plus, 'how-to': howToRequested, 'how-to-manual': manualHowTo, gallery: galleryRequested, desktop: isDesktop, \"apple-mobile\": !isDesktop}; };\n    let styles = { '--tint-color': Utils.getPageBackgroundColor(), ...customStyles };\n\n    return html`\n        <aside id=\"pwa-install-element\" dir=\"${isRTL ? 'rtl' : 'ltr'}\">\n            <article class=\"install-dialog apple ${classMap(installDialogClassesApple())} dialog-body\" style=\"${styleMap(styles)}\">\n                <div class=\"icon\">\n                    <img src=\"${icon}\" alt=\"icon\" class=\"icon-image\" draggable=\"false\">\n                </div>\n                <div class=\"about\">\n                    <div class=\"name\">\n                        ${name}\n                    </div>\n                    <div class=\"description\">${description || location.hostname}</div>\n                </div>\n                ${!disableClose? html`<button type=\"button\" title=\"close\" class=\"close\" @click='${hideDialog}' ontouchstart=\"\">\n                    <svg viewBox=\"0 0 24 24\"><path d=\"M5.3 18.7c.2.2.4.3.7.3s.5-.1.7-.3l5.3-5.3 5.3 5.3a1.08 1.08 0 0 0 .7.3 1.08 1.08 0 0 0 .7-.3c.4-.4.4-1 0-1.4L13.4 12l5.3-5.3c.4-.4.4-1 0-1.4s-1-.4-1.4 0L12 10.6 6.7 5.3c-.4-.4-1-.4-1.4 0s-.4 1 0 1.4l5.3 5.3-5.3 5.3c-.4.4-.4 1 0 1.4z\"/></svg>\n                </button>` : ''}\n                ${!disableDescription? html`<div class=\"welcome-to-install\">\n                    ${installDescription? installDescription: \n                        `${msg('This site has app functionality.')} ${useInAppBrowserInstructions && howToRequested? msg(\"But this browser doesn't support it. Open the link in a standalone browser to continue.\"):''} ${!useInAppBrowserInstructions || !howToRequested? isDesktop? msg('Add it to your Dock for extensive experience and easy access.') : msg('Add it to your Home Screen for extensive experience and easy access.'): ''}`}</div>`\n                : '' }\n                <div class=\"how-to-body\">\n                    <div class=\"how-to-description ${classMap({ 'in-app-browser': useInAppBrowserInstructions })}\">\n                        ${!isDesktop && useInAppBrowserInstructions? html`\n                        <a class=\"description-step copy-link ${classMap({copied: linkCopied})}\" href=${safariUrl} @click=${copyCurrentUrl}>\n                            <span class=\"svg-wrap\" aria-hidden=\"true\">\n                                <svg id=\"pwa-copy-document\" width=\"24\" height=\"24\" viewBox=\"0 0 19.966 24.591\">\n                                    <path d=\"m14.06.975 4.932 5.013c.728.75.974 1.517.974 2.71v7.923c0 2.036-1.017 3.064-3.032 3.064h-1.7v-1.57h1.623c1.007 0 1.529-.543 1.529-1.518V8.248h-4.569c-1.112 0-1.664-.541-1.664-1.674V1.57h-4.31c-1.017 0-1.54.55-1.54 1.518v1.784h-1.57v-1.81C4.733 1.029 5.744 0 7.755 0h3.749c1.05 0 1.859.257 2.556.975m-.492 5.374c0 .345.138.485.483.485h3.928l-4.41-4.496Z\"/>\n                                    <path d=\"M0 21.494c0 2.047 1.007 3.064 3.022 3.064h9.179c2.015 0 3.032-1.026 3.032-3.064v-7.62c0-1.257-.145-1.796-.924-2.597l-5.39-5.48c-.737-.758-1.347-.924-2.45-.924H3.022C1.011 4.873 0 5.9 0 7.937Zm1.57-.025V7.961c0-.966.523-1.517 1.54-1.517h3.199v5.661c0 1.237.625 1.838 1.838 1.838h5.506v7.526c0 .976-.522 1.518-1.529 1.518H3.1c-1.006 0-1.528-.542-1.528-1.518m6.757-8.993c-.389 0-.55-.162-.55-.551V6.799l5.573 5.677Z\"/>\n                                </svg>\n                                <svg id=\"pwa-safari\" width=\"24\" height=\"26\" viewBox=\"0 0 20.283 19.932\">\n                                    <g fill=\"currentColor\"><path d=\"M9.96 19.922c5.45 0 9.962-4.522 9.962-9.961C19.922 4.51 15.4 0 9.952 0 4.511 0 0 4.512 0 9.96c0 5.44 4.521 9.962 9.96 9.962m0-1.66A8.26 8.26 0 0 1 1.67 9.96c0-4.61 3.672-8.3 8.281-8.3 4.61 0 8.31 3.69 8.31 8.3s-3.69 8.3-8.3 8.3Z\"/><path d=\"m5.87 14.883 5.605-2.735a1.47 1.47 0 0 0 .683-.673l2.725-5.596c.312-.664-.166-1.182-.85-.84L8.447 7.764c-.302.136-.508.341-.674.673L5.03 14.043c-.312.645.196 1.152.84.84m4.09-3.72A1.19 1.19 0 0 1 8.77 9.97c0-.664.527-1.201 1.19-1.201a1.2 1.2 0 0 1 1.202 1.2c0 .655-.537 1.192-1.201 1.192Z\"/></g>\n                                </svg>\n                            </span>\n                            <span class=\"step-text\"><span class=\"copy-link-action\">${linkCopied? msg('Open Copied Link in Safari') : msg('Tap here to Copy App Link')}</span></span>\n                        </a>`: ''}\n                        ${pressMenuNeeded() ? \n                        html`\n                        <div class=\"description-step\">\n                            <div class=\"svg-wrap ${classMap({ya: Utils.isYaBrowser() || Utils.isOpera()})}\">\n                                ${isApple27Plus && !Utils.isYaBrowser() && !Utils.isOpera()? html`\n                                    <svg id=\"safari-menu\" width=\"22\" height=\"24\" viewBox=\"0 0 18.427 13.386\">\n                                        <g fill=\"currentColor\">\n                                            <path d=\"M.785 13.387h10.9c.44 0 .786-.347.786-.784a.78.78 0 0 0-.785-.785H.786a.78.78 0 0 0-.786.785c0 .438.346.784.785.784M.785 7.485h16.856a.78.78 0 0 0 .786-.786.78.78 0 0 0-.786-.785H.785A.78.78 0 0 0 0 6.7a.78.78 0 0 0 .785.786M.785 1.581h16.856a.78.78 0 0 0 .786-.785.78.78 0 0 0-.786-.784H.785A.78.78 0 0 0 0 .796c0 .439.346.785.785.785\"/>\n                                        </g>\n                                    </svg>\n                                `: html`\n                                    <svg id=\"safari-dots\" width=\"22\" height=\"24\" viewBox=\"0 0 24 24\">\n                                        <circle cx=\"2\" cy=\"12\" r=\"2\" fill=\"currentColor\"/>\n                                        <circle cx=\"12\" cy=\"12\" r=\"2\" fill=\"currentColor\"/>\n                                        <circle cx=\"22\" cy=\"12\" r=\"2\" fill=\"currentColor\"/>\n                                    </svg>\n                                `}\n                            </div>\n                            <div class=\"step-text\">${Utils.isYaBrowser()?  msg('Press Menu') : msg('Press Menu if no Share icon')}</div>\n                        </div>`: ''}\n                        ${!Utils.isYaBrowser()? html`\n                        <div class=\"description-step\">\n                            <div class=\"svg-wrap\">\n                                <svg id=\"pwa-share\" width=\"25\" height=\"32\" viewBox=\"0 0 17.695 26.475\">\n                                    <g fill=\"currentColor\"><path d=\"M17.334 10.762v9.746c0 2.012-1.025 3.027-3.066 3.027H3.066C1.026 23.535 0 22.52 0 20.508v-9.746C0 8.75 1.025 7.734 3.066 7.734h2.94v1.573h-2.92c-.977 0-1.514.527-1.514 1.543v9.57c0 1.015.537 1.543 1.514 1.543h11.152c.967 0 1.524-.527 1.524-1.543v-9.57c0-1.016-.557-1.543-1.524-1.543h-2.91V7.734h2.94c2.04 0 3.066 1.016 3.066 3.028Z\"/><path d=\"M8.662 15.889c.42 0 .781-.352.781-.762V5.097l-.058-1.464.654.693 1.484 1.582a.698.698 0 0 0 .528.235c.4 0 .713-.293.713-.694 0-.205-.088-.361-.235-.508l-3.3-3.183c-.196-.196-.362-.264-.567-.264-.195 0-.361.069-.566.264L4.795 4.94a.681.681 0 0 0-.225.508c0 .4.293.694.703.694.186 0 .4-.079.538-.235l1.474-1.582.664-.693-.058 1.465v10.029c0 .41.351.762.771.762Z\"/></g>\n                                </svg>\n                            </div>\n                            <div class=\"step-text\">${msg('Press Share in Navigation bar')}</div>\n                        </div>`: html`\n                        <div class=\"description-step\">\n                            <div class=\"svg-wrap\">\n                                <svg id=\"safari-ya\" width=\"30\" height=\"40\" viewBox=\"0 0 23.592 25.886\">\n                                    <g fill=\"currentColor\"><path d=\"M18.073 5.132v8.225a5 5 0 0 0-.783-.055q-.406-.002-.798.057V5.391c0-.787-.457-1.221-1.285-1.221H8.375c-.818 0-1.285.434-1.285 1.22v15.084c0 .787.467 1.223 1.285 1.223h2.995c.196.568.476 1.095.828 1.569H8.174c-1.595 0-2.655-1.01-2.655-2.533V5.132c0-1.522 1.06-2.533 2.655-2.533h7.234c1.592 0 2.665 1.01 2.665 2.533m-7.926 6.091v.937c0 .21-.16.357-.382.357h-.922a.34.34 0 0 1-.357-.357v-.937c0-.22.147-.367.357-.367h.922c.222 0 .382.147.382.367m2.471 0v.937c0 .21-.16.357-.371.357h-.922a.34.34 0 0 1-.357-.357v-.937c0-.22.147-.367.357-.367h.922c.211 0 .371.147.371.367m-2.471-2.658v.937c0 .21-.16.357-.382.357h-.922a.34.34 0 0 1-.357-.357v-.937c0-.21.147-.357.357-.357h.922c.222 0 .382.148.382.357m2.471 0v.937c0 .21-.16.357-.371.357h-.922a.34.34 0 0 1-.357-.357v-.937c0-.21.147-.357.357-.357h.922c.211 0 .371.148.371.357m2.482 0v.937c0 .21-.16.357-.382.357h-.912a.34.34 0 0 1-.357-.357v-.937c0-.21.148-.357.357-.357h.912c.222 0 .382.148.382.357M10.147 5.92v.936c0 .208-.16.355-.382.355h-.922a.34.34 0 0 1-.357-.355V5.92c0-.21.147-.357.357-.357h.922c.222 0 .382.147.382.357m2.471 0v.936c0 .208-.16.355-.371.355h-.922a.34.34 0 0 1-.357-.355V5.92c0-.21.147-.357.357-.357h.922c.211 0 .371.147.371.357m2.482 0v.936c0 .208-.16.355-.382.355h-.912a.34.34 0 0 1-.357-.355V5.92c0-.21.148-.357.357-.357h.912c.222 0 .382.147.382.357\"/><path d=\"M22.257 19.594c0 2.71-2.27 4.958-4.967 4.958-2.718 0-4.956-2.228-4.956-4.958 0-2.716 2.238-4.957 4.956-4.957 2.73 0 4.967 2.239 4.967 4.957m-5.558-2.507v1.907H14.79c-.355 0-.601.24-.601.6s.246.601.601.601H16.7v1.91c0 .355.23.6.591.6.371 0 .602-.245.602-.6v-1.91h1.905c.357 0 .602-.24.602-.601 0-.36-.245-.6-.602-.6h-1.905v-1.907c0-.355-.23-.592-.602-.592-.361 0-.591.237-.591.592\"/>\n                                    </g>\n                                </svg>\n                            </div>\n                            <div class=\"step-text\">${msg('Add to Home')}</div>\n                        </div>`}\n                        ${!isDesktop && isApple26Plus && !Utils.isYaBrowser() && !Utils.isDuck()? html`\n                        <div class=\"description-step\">\n                            <div class=\"svg-wrap\">\n                                <svg id=\"safari-chevron\" viewBox=\"0 0 16.961 10.395\"><path d=\"M8.485 10.395a.87.87 0 0 0 .657-.286l7.556-7.735a.88.88 0 0 0 .263-.628c0-.507-.381-.899-.889-.899a.97.97 0 0 0-.64.26L7.958 8.74h1.045L1.527 1.106A.92.92 0 0 0 .899.847c-.51 0-.899.392-.899.9 0 .25.102.464.265.63L7.83 10.11q.268.284.655.284\"/></svg>\n                            </div>\n                            <div class=\"step-text\">${msg('Press \"View More\" in Share menu')}</div>\n                        </div>`: ''}\n                        <div class=\"description-step\">\n                            <div class=\"svg-wrap\">\n                                ${isDesktop? \n                                html`<svg id=\"pwa-add\" viewBox=\"0 0 23.389 17.979\" width=\"25\" height=\"25\">\n                                    <g fill=\"currentColor\"><path d=\"M1.045 3.291v1.377h20.937V3.291Zm2.021 14.688h16.895c2.05 0 3.066-1.006 3.066-3.018V3.027C23.027 1.016 22.012 0 19.961 0H3.066C1.026 0 0 1.016 0 3.027v11.934c0 2.012 1.025 3.018 3.066 3.018Zm.02-1.573c-.977 0-1.514-.517-1.514-1.533V3.115c0-1.015.537-1.543 1.514-1.543H19.94c.967 0 1.514.528 1.514 1.543v11.758c0 1.016-.547 1.533-1.514 1.533Z\"/><path d=\"M4.2 14.014c0 .508.35.85.868.85h12.92c.518 0 .87-.343.87-.85v-1.465c0-.508-.352-.85-.87-.85H5.068c-.517 0-.869.342-.869.85Z\"/></g>\n                                </svg>`: \n                                html`<svg id=\"pwa-add\" width=\"25\" height=\"25\">\n                                    <g><path d=\"m23.40492,1.60784c-1.32504,-1.32504 -3.19052,-1.56912 -5.59644,-1.56912l-10.65243,0c-2.33622,0 -4.2017,0.24408 -5.5267,1.56912c-1.32504,1.34243 -1.56911,3.17306 -1.56911,5.50924l0,10.5827c0,2.40596 0.22665,4.254 1.55165,5.57902c1.34246,1.32501 3.19052,1.5691 5.59647,1.5691l10.60013,0c2.40592,0 4.2714,-0.24408 5.59644,-1.5691c1.325,-1.34245 1.55166,-3.17306 1.55166,-5.57902l0,-10.51293c0,-2.40596 -0.22666,-4.25401 -1.55166,-5.57901zm-0.38355,5.21289l0,11.24518c0,1.51681 -0.20924,2.94643 -1.02865,3.78327c-0.83683,0.83685 -2.30134,1.0635 -3.81815,1.0635l-11.33234,0c-1.51681,0 -2.96386,-0.22665 -3.80073,-1.0635c-0.83683,-0.83684 -1.04607,-2.26646 -1.04607,-3.78327l0,-11.19288c0,-1.5517 0.20924,-3.01617 1.02865,-3.85304c0.83687,-0.83683 2.31876,-1.04607 3.87042,-1.04607l11.28007,0c1.51681,0 2.98132,0.22666 3.81815,1.06353c0.81941,0.81941 1.02865,2.26645 1.02865,3.78327zm-10.53039,12.08205c0.64506,0 1.02861,-0.43586 1.02861,-1.13326l0,-4.34117l4.53294,0c0.66252,0 1.13326,-0.36613 1.13326,-0.99376c0,-0.64506 -0.43586,-1.02861 -1.13326,-1.02861l-4.53294,0l0,-4.53294c0,-0.6974 -0.38355,-1.13326 -1.02861,-1.13326c-0.62763,0 -0.99376,0.45332 -0.99376,1.13326l0,4.53294l-4.51552,0c-0.69737,0 -1.15069,0.38355 -1.15069,1.02861c0,0.62763 0.48817,0.99376 1.15069,0.99376l4.51552,0l0,4.34117c0,0.66252 0.36613,1.13326 0.99376,1.13326z\" /></g>\n                                </svg>`\n                                }\n                            </div>\n                            <div class=\"step-text\">\n                                ${isDesktop? msg('Press \"Add to Dock\"'): msg('Press \"Add to Home Screen\"')}\n                            </div>\n                        </div>\n                    </div>\n                </div>\n                ${screenshotsAvailable && installAvailable? html`<pwa-gallery .screenshots=${manifest.screenshots} .theme=\"${isDesktop? 'apple_desktop': 'apple_mobile'}\" .rtl=\"${isRTL}\"></pwa-gallery>`: ''}\n                <div class=\"action-buttons\">\n                    ${screenshotsAvailable? html`<button class=\"dialog-button button gallery\" @click=${toggleGallery} ontouchstart=\"\">\n                    <span class=\"button-text\">\n                            ${galleryRequested? html`<span>${msg('Back')}</span>\n                            <svg id=\"icon-back\" viewBox=\"0 0 12.038 16.957\"><path fill=\"currentColor\" fill-opacity=\".85\" d=\"M0 8.472c0 .245.1.46.278.647l7.739 7.564c.163.174.39.261.64.261.505 0 .889-.379.889-.889a.91.91 0 0 0-.26-.636L2.19 8.472l7.097-6.947a.93.93 0 0 0 .259-.636.87.87 0 0 0-.89-.889.86.86 0 0 0-.64.261L.279 7.826A.92.92 0 0 0 0 8.472\"/></svg>`\n                    :\n                            html`\n                            <span>${msg('Show Gallery')}</span>\n                            <svg id=\"pwa-gallery\" width=\"26\" height=\"26\" viewBox=\"0 0 23.538 18.022\"><path d=\"M2.79 18.022h17.958c1.834 0 2.79-.969 2.79-2.778V2.791C23.538.969 22.582 0 20.748 0H2.791C.956 0 0 .956 0 2.79v12.454c0 1.835.956 2.778 2.79 2.778zM.879 2.83C.878 1.55 1.55.88 2.816.88h17.906c1.228 0 1.938.671 1.938 1.95v12.067L16.756 9.47c-.517-.414-.995-.685-1.615-.685-.607 0-1.085.22-1.576.672L8.927 13.59l-1.938-1.796c-.426-.387-.853-.607-1.382-.607-.504 0-.879.207-1.305.594L.878 14.986zm6.46 6.356a2.39 2.39 0 002.377-2.39c0-1.304-1.072-2.39-2.377-2.39a2.401 2.401 0 00-2.39 2.39 2.393 2.393 0 002.39 2.39z\"/>\n                            </svg>`}\n                        </span>\n                        \n                    </button>`:''}\n                    <button class=\"dialog-button button install\" @click=${howToForApple} ontouchstart=\"\">\n                        <span class=\"button-text ${howToRequested? 'show': 'hide'}\">\n                            <span>${msg('Back')}</span>\n                            <svg id=\"icon-back\" viewBox=\"0 0 12.038 16.957\"><path fill=\"currentColor\" fill-opacity=\".85\" d=\"M0 8.472c0 .245.1.46.278.647l7.739 7.564c.163.174.39.261.64.261.505 0 .889-.379.889-.889a.91.91 0 0 0-.26-.636L2.19 8.472l7.097-6.947a.93.93 0 0 0 .259-.636.87.87 0 0 0-.89-.889.86.86 0 0 0-.64.261L.279 7.826A.92.92 0 0 0 0 8.472\"/></svg>\n                        </span>\n                        <span class=\"button-text ${howToRequested? 'hide': 'show'}\">\n                            <span>${isDesktop? msg('Add to Dock'): msg('Add to Home Screen')}</span>\n                            <svg viewBox=\"0 0 25 25\">\n                                <use href=\"#pwa-add\"></use>\n                            </svg>\n                        </span>\n                    </button>\n                </div>\n            </article>\n        </aside>`;\n};\nexport default template;\n","import { html } from 'lit';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { msg } from '@lit/localize';\nimport type { ManifestScreenshot } from '../../types/types';\nimport type { InstallTemplateOptions } from '../types';\n\nexport interface ChromeTemplateOptions extends InstallTemplateOptions {\n    install: EventListenerOrEventListenerObject;\n    toggleHowTo: EventListenerOrEventListenerObject;\n    howToRequested: boolean;\n    isAndroidFallback: boolean;\n    inAppBrowser: boolean;\n}\n\nconst template = ({\n    name,\n    description,\n    installDescription,\n    disableDescription,\n    disableScreenshots,\n    disableClose,\n    icon,\n    manifest,\n    installAvailable,\n    hideDialog,\n    install,\n    toggleGallery,\n    galleryRequested,\n    toggleHowTo,\n    howToRequested,\n    isAndroidFallback,\n    inAppBrowser,\n    isRTL\n}: ChromeTemplateOptions) => {\n    const installDialogClasses = () => { return {available: installAvailable, gallery: galleryRequested }};\n    const screenshotsAvailable = !disableScreenshots && manifest.screenshots && manifest.screenshots.length;\n\n    return html`\n        <div id=\"pwa-install-element\" dir=\"${isRTL ? 'rtl' : 'ltr'}\">\n            <div class=\"install-dialog chrome ${classMap(installDialogClasses())}\">\n                <div class=\"dialog-body\">\n                    <div class=\"icon\">\n                        <img src=\"${icon}\" alt=\"icon\" class=\"icon-image\" draggable=\"false\">\n                    </div>\n                    <div class=\"about\">\n                        <div class=\"name\">\n                            <label>${name}</label>\n                            ${!disableClose? html`<button class=\"material-button secondary close\" @click='${hideDialog}'>\n                                <svg viewBox=\"0 0 24 24\"><path d=\"M5.3 18.7c.2.2.4.3.7.3s.5-.1.7-.3l5.3-5.3 5.3 5.3a1.08 1.08 0 0 0 .7.3 1.08 1.08 0 0 0 .7-.3c.4-.4.4-1 0-1.4L13.4 12l5.3-5.3c.4-.4.4-1 0-1.4s-1-.4-1.4 0L12 10.6 6.7 5.3c-.4-.4-1-.4-1.4 0s-.4 1 0 1.4l5.3 5.3-5.3 5.3c-.4.4-.4 1 0 1.4z\"/></svg>\n                            </button>` : ''}\n                        </div>\n                        <div class=\"hostname\">${location.hostname}</div>\n                        \n                    </div>\n                    ${description ? html `<div class=\"description app-description\">${description}</div>`: ''}\n                    ${!disableDescription? \n                        html`<hr><div class=\"description install-description\">${installDescription? installDescription: `${msg('This site has app functionality.')} ${msg('Install it on your device for extensive experience and easy access.')}`}</div>` \n                        : ''}\n                    ${screenshotsAvailable && installAvailable? html`<pwa-gallery .screenshots=${manifest.screenshots as ManifestScreenshot[]} .rtl=\"${isRTL}\"></pwa-gallery>`: ''}\n                    <div class=\"action-buttons\">\n                        ${screenshotsAvailable? html`<button class=\"material-button secondary\" @click='${toggleGallery}'>${galleryRequested?msg('Less'):msg('More')}</button>`:''}\n                        <button class=\"material-button primary install\" @click='${install}'>${msg('Install')}</button>\n                    </div>\n                </div>\n            </div>\n            <div class=\"install-dialog chrome mobile ${classMap(installDialogClasses())}\">\n                <pwa-bottom-sheet .props=${{name, icon, description}} .disableClose=${disableClose} .install=${install} .hideDialog=${hideDialog} .toggleHowTo=${toggleHowTo} .howToRequested=${howToRequested} .fallback=${isAndroidFallback} .inAppBrowser=${inAppBrowser}>\n                    ${screenshotsAvailable && installAvailable? html`<pwa-gallery .screenshots=${manifest.screenshots as ManifestScreenshot[]} .rtl=\"${isRTL}\"></pwa-gallery>`: ''}\n                </pwa-bottom-sheet>\n            </div>\n        </div>`;\n};\nexport default template;\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nimport { updateWhenLocaleChanges } from './localized-controller.js';\n/**\n * Class decorator to enable re-rendering the given LitElement whenever a new\n * active locale has loaded.\n *\n * See also {@link updateWhenLocaleChanges} for the same functionality without\n * the use of decorators.\n *\n * When using lit-localize in transform mode, applications of this decorator are\n * removed.\n *\n * Usage:\n *\n *   import {LitElement, html} from 'lit';\n *   import {customElement} from 'lit/decorators.js';\n *   import {msg, localized} from '@lit/localize';\n *\n *   @localized()\n *   @customElement('my-element')\n *   class MyElement extends LitElement {\n *     render() {\n *       return html`<b>${msg('Hello World')}</b>`;\n *     }\n *   }\n */\nexport const localized = () => (clazz, _context) => {\n    clazz.addInitializer(updateWhenLocaleChanges);\n    return clazz;\n};\n//# sourceMappingURL=localized-decorator.js.map"]}