@htmlbricks/hb-terms-doc-templates 0.18.7 → 0.18.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -3
- package/release/manifest.json +1 -1
- package/release/release.js +1 -1
- package/release/release.js.map +1 -1
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@htmlbricks/hb-terms-doc-templates",
|
|
3
3
|
"displayName": "Svelte-Bootstrap terms-doc-templates",
|
|
4
4
|
"description": "Svelte-Bootstrap terms-doc-templates",
|
|
5
|
-
"version": "0.18.
|
|
5
|
+
"version": "0.18.11",
|
|
6
6
|
"main": "release/release.js",
|
|
7
7
|
"publishConfig": {
|
|
8
8
|
"access": "public"
|
|
@@ -75,9 +75,9 @@
|
|
|
75
75
|
"webcomponents"
|
|
76
76
|
],
|
|
77
77
|
"contributors": [],
|
|
78
|
-
"gitHead": "
|
|
78
|
+
"gitHead": "78fe5002e999815a971ea125ab071aedaee01beb",
|
|
79
79
|
"dependencies": {
|
|
80
|
-
"@htmlbricks/hb-table": "^0.18.
|
|
80
|
+
"@htmlbricks/hb-table": "^0.18.11",
|
|
81
81
|
"style-to-object": "^0.3.0"
|
|
82
82
|
}
|
|
83
83
|
}
|
package/release/manifest.json
CHANGED
package/release/release.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var release=function(){"use strict";function e(){}function t(e){return e()}function i(){return Object.create(null)}function o(e){e.forEach(t)}function n(e){return"function"==typeof e}function a(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function"==typeof e}function r(e,t){e.appendChild(t)}function l(e,t,i){e.insertBefore(t,i||null)}function s(e){e.parentNode.removeChild(e)}function c(e){return document.createElement(e)}function d(e){return document.createTextNode(e)}function p(){return d(" ")}function u(){return d("")}function m(e,t,i){null==i?e.removeAttribute(t):e.getAttribute(t)!==i&&e.setAttribute(t,i)}function h(e,t,i){t in e?e[t]="boolean"==typeof e[t]&&""===i||i:m(e,t,i)}function g(e,t){t=""+t,e.wholeText!==t&&(e.data=t)}function f(e){const t={};for(const i of e)t[i.name]=i.value;return t}let y;function v(e){y=e}function k(){if(!y)throw new Error("Function called outside component initialization");return y}function z(){const e=k();return(t,i,{cancelable:o=!1}={})=>{const n=e.$$.callbacks[t];if(n){const a=function(e,t,{bubbles:i=!1,cancelable:o=!1}={}){const n=document.createEvent("CustomEvent");return n.initCustomEvent(e,i,o,t),n}(t,i,{cancelable:o});return n.slice().forEach((t=>{t.call(e,a)})),!a.defaultPrevented}return!0}}const b=[],w=[],x=[],$=[],T=Promise.resolve();let I=!1;function P(e){x.push(e)}const C=new Set;let L=0;function S(){const e=y;do{for(;L<b.length;){const e=b[L];L++,v(e),q(e.$$)}for(v(null),b.length=0,L=0;w.length;)w.pop()();for(let e=0;e<x.length;e+=1){const t=x[e];C.has(t)||(C.add(t),t())}x.length=0}while(b.length);for(;$.length;)$.pop()();I=!1,C.clear(),v(e)}function q(e){if(null!==e.fragment){e.update(),o(e.before_update);const t=e.dirty;e.dirty=[-1],e.fragment&&e.fragment.p(e.ctx,t),e.after_update.forEach(P)}}const D=new Set;function E(e,t){e&&e.i&&(D.delete(e),e.i(t))}function A(e,t){e.d(1),t.delete(e.key)}function N(e,t,i,o,n,a,r,l,s,c,d,p){let u=e.length,m=a.length,h=u;const g={};for(;h--;)g[e[h].key]=h;const f=[],y=new Map,v=new Map;for(h=m;h--;){const e=p(n,a,h),l=i(e);let s=r.get(l);s?o&&s.p(e,t):(s=c(l,e),s.c()),y.set(l,f[h]=s),l in g&&v.set(l,Math.abs(h-g[l]))}const k=new Set,z=new Set;function b(e){E(e,1),e.m(l,d),r.set(e.key,e),d=e.first,m--}for(;u&&m;){const t=f[m-1],i=e[u-1],o=t.key,n=i.key;t===i?(d=t.first,u--,m--):y.has(n)?!r.has(o)||k.has(o)?b(t):z.has(n)?u--:v.get(o)>v.get(n)?(z.add(o),b(t)):(k.add(n),u--):(s(i,r),u--)}for(;u--;){const t=e[u];y.has(t.key)||s(t,r)}for(;m;)b(f[m-1]);return f}function U(e,t){-1===e.$$.dirty[0]&&(b.push(e),I||(I=!0,T.then(S)),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<<t%31}function _(a,r,l,c,d,p,u,m=[-1]){const h=y;v(a);const g=a.$$={fragment:null,ctx:null,props:p,update:e,not_equal:d,bound:i(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(r.context||(h?h.$$.context:[])),callbacks:i(),dirty:m,skip_bound:!1,root:r.target||h.$$.root};u&&u(g.root);let f=!1;if(g.ctx=l?l(a,r.props||{},((e,t,...i)=>{const o=i.length?i[0]:t;return g.ctx&&d(g.ctx[e],g.ctx[e]=o)&&(!g.skip_bound&&g.bound[e]&&g.bound[e](o),f&&U(a,e)),t})):[],g.update(),f=!0,o(g.before_update),g.fragment=!!c&&c(g.ctx),r.target){if(r.hydrate){const e=function(e){return Array.from(e.childNodes)}(r.target);g.fragment&&g.fragment.l(e),e.forEach(s)}else g.fragment&&g.fragment.c();r.intro&&E(a.$$.fragment),function(e,i,a,r){const{fragment:l,on_mount:s,on_destroy:c,after_update:d}=e.$$;l&&l.m(i,a),r||P((()=>{const i=s.map(t).filter(n);c?c.push(...i):o(i),e.$$.on_mount=[]})),d.forEach(P)}(a,r.target,r.anchor,r.customElement),S()}v(h)}let M;"function"==typeof HTMLElement&&(M=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){const{on_mount:e}=this.$$;this.$$.on_disconnect=e.map(t).filter(n);for(const e in this.$$.slotted)this.appendChild(this.$$.slotted[e])}attributeChangedCallback(e,t,i){this[e]=i}disconnectedCallback(){o(this.$$.on_disconnect)}$destroy(){!function(e,t){const i=e.$$;null!==i.fragment&&(o(i.on_destroy),i.fragment&&i.fragment.d(t),i.on_destroy=i.fragment=null,i.ctx=[])}(this,1),this.$destroy=e}$on(e,t){const i=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return i.push(t),()=>{const e=i.indexOf(t);-1!==e&&i.splice(e,1)}}$set(e){var t;this.$$set&&(t=e,0!==Object.keys(t).length)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}});var F="0.18.7",R=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,O=/\n/g,W=/^\s*/,G=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,Q=/^:\s*/,V=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,j=/^[;\s]*/,B=/^\s+|\s+$/g,Y="";function J(e){return e?e.replace(B,Y):Y}var H=function(e,t){var i,o=null;if(!e||"string"!=typeof e)return o;for(var n,a,r=function(e,t){if("string"!=typeof e)throw new TypeError("First argument must be a string");if(!e)return[];t=t||{};var i=1,o=1;function n(e){var t=e.match(O);t&&(i+=t.length);var n=e.lastIndexOf("\n");o=~n?e.length-n:o+e.length}function a(){var e={line:i,column:o};return function(t){return t.position=new r(e),c(),t}}function r(e){this.start=e,this.end={line:i,column:o},this.source=t.source}function l(n){var a=new Error(t.source+":"+i+":"+o+": "+n);if(a.reason=n,a.filename=t.source,a.line=i,a.column=o,a.source=e,!t.silent)throw a}function s(t){var i=t.exec(e);if(i){var o=i[0];return n(o),e=e.slice(o.length),i}}function c(){s(W)}function d(e){var t;for(e=e||[];t=p();)!1!==t&&e.push(t);return e}function p(){var t=a();if("/"==e.charAt(0)&&"*"==e.charAt(1)){for(var i=2;Y!=e.charAt(i)&&("*"!=e.charAt(i)||"/"!=e.charAt(i+1));)++i;if(i+=2,Y===e.charAt(i-1))return l("End of comment missing");var r=e.slice(2,i-2);return o+=2,n(r),e=e.slice(i),o+=2,t({type:"comment",comment:r})}}function u(){var e=a(),t=s(G);if(t){if(p(),!s(Q))return l("property missing ':'");var i=s(V),o=e({type:"declaration",property:J(t[0].replace(R,Y)),value:i?J(i[0].replace(R,Y)):Y});return s(j),o}}return r.prototype.content=e,c(),function(){var e,t=[];for(d(t);e=u();)!1!==e&&(t.push(e),d(t));return t}()}(e),l="function"==typeof t,s=0,c=r.length;s<c;s++)n=(i=r[s]).property,a=i.value,l?t(n,a,i):a&&(o||(o={}),o[n]=a);return o};var K,X,Z=(K=function(e,t){t.__esModule=!0,t.LanguageTranslator=t.addComponent=t.getChildStyleToPass=void 0,t.getChildStyleToPass=function(e,t){var i,o,n="";if(e&&(null==t?void 0:t.length)&&(null===(i=Object.keys(e))||void 0===i?void 0:i.length)&&(null===(o=null==t?void 0:t.filter((function(t){return Object.keys(e).includes(t.name)})))||void 0===o?void 0:o.length))for(var a=function(i){(null==t?void 0:t.filter((function(t){return t.name===i&&t.defaultValue!==e[i]})))&&(n+="".concat(i,":").concat(e[i],";"))},r=0,l=Object.keys(e);r<l.length;r++)a(l[r]);return n},t.addComponent=function(e){var t,i=(null===(t=null==e?void 0:e.repoName.split("/"))||void 0===t?void 0:t[1])||(null==e?void 0:e.repoName);if(!i)throw new Error("wrong componentPath "+(null==e?void 0:e.repoName));if(!(null==e?void 0:e.version))throw new Error("wrong version "+(null==e?void 0:e.version));var o=(null==e?void 0:e.iifePath)||"release/release.js";if(!document.getElementById(i+"-script"))try{var n=document.createElement("script");n.id=i+"-script",n.src="https://cdn.jsdelivr.net/npm/".concat(e.repoName,"@").concat(e.version,"/").concat(o),(null==e?void 0:e.local)&&location.href.includes("localhost")&&(n.src="".concat(e.local)),document.head.appendChild(n)}catch(e){console.warn(e)}};var i=function(){function e(e){if(!(null==e?void 0:e.dictionary))throw new Error("no dictionary provided");this.dictionary=e.dictionary,this.setLang(null==e?void 0:e.lang)}return e.prototype.setLang=function(t){t||(t=e.getDefaultLang()),this.lang=t},e.prototype.translateWord=function(t,i){return e.getDictionaryWord(t,this.dictionary,i||this.lang)},e.prototype.translateDate=function(t,i,o){return e.formatDate(t,i,o||this.lang)},e.getDefaultLang=function(){var e,t,i,o,n,a="en";return(null===navigator||void 0===navigator?void 0:navigator.languages)&&(null===(i=null===(t=null===(e=navigator.languages[0])||void 0===e?void 0:e.split("-")[0])||void 0===t?void 0:t.toLowerCase())||void 0===i?void 0:i.length)&&(a=null===(n=null===(o=navigator.languages[0])||void 0===o?void 0:o.split("-")[0])||void 0===n?void 0:n.toLowerCase()),a},e.getDictionaryWord=function(t,i,o){var n;if(!t)throw new Error("no wordKey provided");if(!i)throw new Error("no dictionary provided");if(o&&(null===(n=i[o])||void 0===n?void 0:n[t]))return i[o][t];var a="",r=e.getDefaultLang();if(!o||r!==o){var l=null==i?void 0:i[r];(null==l?void 0:l[t])&&(a=l[t])}return a},e.formatDate=function(t,i,o){if(!t)throw new Error("no date provided");if("function"!=typeof t.getMonth)throw new Error("wrong date format");return new Intl.DateTimeFormat(o||e.getDefaultLang(),i).format(t)},e}();t.LanguageTranslator=i},K(X={exports:{}},X.exports),X.exports);function ee(e){var t;let i=1;const o=e.chapters.filter((e=>e)).sort(((e,t)=>e.index-t.index));for(const e of o){e.index=i,i++;let o=1;const n=e.paragraphs.filter((e=>e)).sort(((e,t)=>e.index-t.index));for(const e of n){e.index=o,o++;let i=1;if(null===(t=e.list)||void 0===t?void 0:t.length){const t=e.list.filter((e=>e)).sort(((e,t)=>e.index-t.index));for(const e of t)e.index=i,i++;e.list=t}}e.paragraphs=n}return e.chapters=o,e}const te=[{key:"name",label:"Nome",nosort:!0},{key:"service",label:"Servizio",nosort:!0},{key:"porpose",label:"Scope",nosort:!0},{key:"details",label:"Tipologie e Durata",nosort:!0}];function ie(e){return{_id:e.name,name:e.name,service:e.service,porpose:e.purpose,details:(e.storage,""+e.durate)}}function oe(e){var t,i,o,n,a,r,l,s,c;const d={id:e.id,title:`Cookie Policy di ${e.site.name}`,int:{key:"it",flag:""},chapters:[{title:"Informazioni generali",index:0,paragraphs:[{key:"i1",content:"Questo documento contiene informazioni in merito alle tecnologie che consentono a questo Sito Web di raggiungere gli scopi descritti di seguito. Tali tecnologie permettono al Titolare di raccogliere e salvare informazioni (per esempio tramite l’utilizzo di Cookie) o di utilizzare risorse (per esempio eseguendo uno script) sul dispositivo dell’Utente quando quest’ultimo interagisce con questo Sito Web.",index:0},{key:"i2",content:"Per semplicità, in questo documento tali tecnologie sono sinteticamente definite “Strumenti di Tracciamento”, salvo vi sia ragione di differenziare. Per esempio, sebbene i Cookie possano essere usati in browser sia web sia mobili, sarebbe fuori luogo parlare di Cookie nel contesto di applicazioni per dispositivi mobili, dal momento che si tratta di Strumenti di Tracciamento che richiedono la presenza di un browser. Per questo motivo, all’interno di questo documento il temine Cookie è utilizzato solo per indicare in modo specifico quel particolare tipo di Strumento di Tracciamento.",index:1},{key:"i3",content:"Alcune delle finalità per le quali vengono impiegati Strumenti di Tracciamento potrebbero, inoltre, a seconda della legge applicabile richiedere il consenso dell’Utente. Se viene prestato il consenso, esso può essere revocato liberamente in qualsiasi momento seguendo le istruzioni contenute in questo documento.",index:2},{key:"i4",content:"Questo Sito Web utilizza Strumenti di Tracciamento gestiti direttamente dal Titolare (comunemente detti Strumenti di Tracciamento “di prima parte”) e Strumenti di Tracciamento che abilitano servizi forniti da terzi (comunemente detti Strumenti di Tracciamento “di terza parte”). Se non diversamente specificato all’interno di questo documento, tali terzi hanno accesso ai rispettivi Strumenti di Tracciamento.",index:3},{key:"i5",content:"Durata e scadenza dei Cookie e degli altri Strumenti di Tracciamento simili possono variare a seconda di quanto impostato dal Titolare o da ciascun fornitore terzo. Alcuni di essi scadono al termine della sessione di navigazione dell’Utente.",index:4},{key:"i6",content:"In aggiunta a quanto specificato nella descrizione di ciascuna delle categorie di seguito riportate, gli Utenti possono ottenere informazioni più dettagliate ed aggiornate sulla durata, così come qualsiasi altra informazione rilevante - quale la presenza di altri Strumenti di Tracciamento - nelle privacy policy dei rispettivi fornitori terzi (tramite i link messi a disposizione) o contattando il Titolare.",index:5}],key:"info"},{title:"Attività strettamente necessarie a garantire il funzionamento di questo Sito Web e la fornitura del Servizio",index:1,paragraphs:[{key:"act1",content:"Questo Sito Web utilizza Cookie comunemente detti “tecnici” o altri Strumenti di Tracciamento analoghi per svolgere attività strettamente necessarie a garantire il funzionamento o la fornitura del Servizio.",index:0}],key:"technicals"},{title:"Attività connesse all'autenticazione degli utenti e alla gestione dei rispettivi dati",index:2,paragraphs:[{key:"auth0",content:`Questi vengono memorizzati quando accedi al sito ${e.site.name}, utilizzando il nostro servizio di autenticazione. Quando lo fai, accetti l'informativa sulla privacy associata.`,index:0}],key:"authentication"},{title:"Attività di analisi dell'utilizzo del Sito Web",index:3,paragraphs:[],key:"analytics"},{title:"Cookies di terze parti",index:4,paragraphs:[{key:"thr1",content:"Alcune delle nostre pagine mostrano contenuti di fornitori esterni, ad es. YouTube, Facebook e Twitter.",index:0},{key:"thr2",content:"Per visualizzare questo contenuto di terze parti, devi prima accettare i loro termini e condizioni specifici. Ciò include le loro politiche sui cookie, su cui non abbiamo alcun controllo.",index:1},{key:"thr3",content:"Se non visualizzi questo contenuto, sul tuo dispositivo non vengono installati cookie di terze parti.",index:2},{key:"thr4",content:"Provider dei sistemi di tracking di terze parti",list:[],index:3},{key:"thr5",content:`Questi servizi di terze parti sono al di fuori del controllo di ${e.company.name}. I fornitori possono, in qualsiasi momento, modificare i propri termini di servizio, finalità e utilizzo dei cookie, ecc.`,index:4}],key:"third-party"},{title:"Come posso gestire i cookies?",index:5,paragraphs:[{key:"mng1",title:"Cancellazione dei cookie dal tuo dispositivo",content:"Puoi eliminare tutti i cookie già presenti sul tuo dispositivo cancellando la cronologia di navigazione del tuo browser. Questo rimuoverà tutti i cookie da tutti i siti web che hai visitato. Tieni presente, tuttavia, che potresti anche perdere alcune informazioni salvate (ad es. dettagli di accesso salvati, preferenze del sito).",index:0},{key:"mng2",title:"Gestione di specifici cookie",content:"Per un controllo più dettagliato sui cookie specifici del sito, controlla le impostazioni sulla privacy e sui cookie nel tuo browser preferito.",index:1},{key:"mng3",title:"Blocco dei cookie",content:"Puoi impostare i browser più moderni in modo da impedire che qualsiasi cookie venga inserito sul tuo dispositivo, ma potresti dover modificare manualmente alcune preferenze ogni volta che visiti un sito/una pagina. Inoltre, alcuni servizi e funzionalità potrebbero non funzionare correttamente (ad es. accesso al profilo).",index:2},{key:"mng4",title:"Gestione dei cookie per analitici",content:`Puoi gestire le tue preferenze relative ai cookie da ${e.site.name} nella pagina dedicata del sito.`,index:3}],key:"managment"}]};if(null===(t=e.cookies)||void 0===t?void 0:t.length){const t=e.cookies.filter((e=>"technical"===e.type&&!e.third)).map((e=>ie(e))),p=e.cookies.filter((e=>"technical"===e.type&&e.third)).map((e=>ie(e)));(t.length||p.length)&&(t.length&&(null===(i=d.chapters.find((e=>"technicals"===e.key)))||void 0===i||i.paragraphs.push({content:`I dati tecnici raccolti dagli strumenti di tracking di ${e.site.name} sono:`,table:{headers:te,rows:t},key:"tda2",index:1})),p.length&&(null===(o=d.chapters.find((e=>"technicals"===e.key)))||void 0===o||o.paragraphs.push({content:"I dati tecnici raccolti dai cookie di terze parti sono:",table:{headers:te,rows:p},key:"tda3",index:2})));const u=e.cookies.filter((e=>"analytics"===e.type&&!e.third)).map((e=>ie(e))),m=e.cookies.filter((e=>"analytics"===e.type&&e.third)).map((e=>ie(e)));(u.length||m.length)&&(u.length&&(null===(n=d.chapters.find((e=>"analytics"===e.key)))||void 0===n||n.paragraphs.push({content:`I dati raccolti dagli strumenti di tracking di ${e.site.name} come strumento di analisi sono:`,table:{headers:te,rows:u},key:"ana1",index:0})),m.length&&(null===(a=d.chapters.find((e=>"analytics"===e.key)))||void 0===a||a.paragraphs.push({content:"I dati analitici raccolti dai cookie di terze parti sono:",table:{headers:te,rows:m},key:"ana2",index:1})));const h=e.cookies.filter((e=>"authentication"===e.type&&!e.third)).map((e=>ie(e))),g=e.cookies.filter((e=>"authentication"===e.type&&e.third)).map((e=>ie(e)));(h.length||g.length)&&(h.length&&(null===(r=d.chapters.find((e=>"authentication"===e.key)))||void 0===r||r.paragraphs.push({content:`I dati raccolti dagli strumenti di tracking di ${e.site.name} per l'autenticazione sono:`,table:{headers:te,rows:h},key:"auth1",index:0})),g.length&&(null===(l=d.chapters.find((e=>"authentication"===e.key)))||void 0===l||l.paragraphs.push({content:"I dati raccolti dai cookie di terze parti per l'autenticazione sono:",table:{headers:te,rows:g},key:"auth2",index:1})));const f=e.cookies.filter((e=>"advertising"===e.type)).map((e=>ie(e)));f.length&&(null===(s=d.chapters.find((e=>"advertising"===e.key)))||void 0===s||s.paragraphs.push({content:"I dati raccolti dai cookie pubblicitari di terze parti sono:",table:{headers:te,rows:f},key:"adv1",index:0}));const y=e.cookies.filter((e=>"third-party"===e.type)).map((e=>ie(e)));y.length&&(null===(c=d.chapters.find((e=>"third-party"===e.key)))||void 0===c||c.paragraphs.push({content:"I dati raccolti dai cookie di terze parti sono:",table:{headers:te,rows:y},key:"th1",index:0}))}return ee(d)}var ne={vars:[{name:"--bs-primary",valueType:"color",theme:"bootstrap",defaultValue:"#07689f"},{name:"--bs-secondary",valueType:"color",theme:"bootstrap",defaultValue:"#c9d6df"},{name:"--bs-success",valueType:"color",theme:"bootstrap",defaultValue:"#11d3bc"},{name:"--bs-info",valueType:"color",theme:"bootstrap",defaultValue:"#a2d5f2"},{name:"--bs-warning",valueType:"color",theme:"bootstrap",defaultValue:"#ffc107"},{name:"--bs-danger",valueType:"color",theme:"bootstrap",defaultValue:"#f67280"}],parts:[]};const ae={en:{accept:"I Agree",decline:"I Decline",learnmore:"Learn more",basicCookieLaw:"Noi e terze parti selezionate utilizziamo cookie o tecnologie simili per finalità tecniche e, con il tuo consenso, anche per altre finalità come specificato nella cookie policy.",cookieLawTitle:"Cookie Informations"},it:{accept:"Accetto",decline:"Rifiuto",learnmore:"Approfondisci",basicCookieLaw:"Noi e terze parti selezionate utilizziamo cookie o tecnologie simili per finalità tecniche e, con il tuo consenso, anche per altre finalità come specificato nella cookie policy.",cookieLawTitle:"Informativa sui cookie"}};function re(e,t,i){const o=e.slice();return o[11]=t[i],o}function le(e,t,i){const o=e.slice();return o[14]=t[i],o}function se(e,t,i){const o=e.slice();return o[17]=t[i],o}function ce(t){let i;return{c(){i=d("invalid doc params")},m(e,t){l(e,i,t)},p:e,d(e){e&&s(i)}}}function de(e){let t,i,o,n,a=e[1].title+"",h=[],f=new Map,y=e[1].chapters.filter(ze);const v=e=>e[11].key;for(let t=0;t<y.length;t+=1){let i=re(e,y,t),o=v(i);f.set(o,h[t]=ve(o,i))}return{c(){t=c("h1"),i=d(a),o=p();for(let e=0;e<h.length;e+=1)h[e].c();n=u(),m(t,"part","h1")},m(e,a){l(e,t,a),r(t,i),l(e,o,a);for(let t=0;t<h.length;t+=1)h[t].m(e,a);l(e,n,a)},p(e,t){2&t&&a!==(a=e[1].title+"")&&g(i,a),3&t&&(y=e[1].chapters.filter(ze),h=N(h,t,v,1,e,y,f,n.parentNode,A,ve,n,re))},d(e){e&&s(t),e&&s(o);for(let t=0;t<h.length;t+=1)h[t].d(e);e&&s(n)}}}function pe(e){let t,i,o,n,a,h,f=e[11].index+"",y=e[11].title+"",v=[],k=new Map,z=e[11].paragraphs.filter(be);const b=e=>e[14].key;for(let t=0;t<z.length;t+=1){let i=le(e,z,t),o=b(i);k.set(o,v[t]=ye(o,i))}return{c(){t=c("h2"),i=d(f),o=d(". "),n=d(y),a=p();for(let e=0;e<v.length;e+=1)v[e].c();h=u(),m(t,"part","h2")},m(e,s){l(e,t,s),r(t,i),r(t,o),r(t,n),l(e,a,s);for(let t=0;t<v.length;t+=1)v[t].m(e,s);l(e,h,s)},p(e,t){2&t&&f!==(f=e[11].index+"")&&g(i,f),2&t&&y!==(y=e[11].title+"")&&g(n,y),3&t&&(z=e[11].paragraphs.filter(be),v=N(v,t,b,1,e,z,k,h.parentNode,A,ye,h,le))},d(e){e&&s(t),e&&s(a);for(let t=0;t<v.length;t+=1)v[t].d(e);e&&s(h)}}}function ue(e){let t,i,o=e[14].title+"";return{c(){t=c("h3"),i=d(o)},m(e,o){l(e,t,o),r(t,i)},p(e,t){2&t&&o!==(o=e[14].title+"")&&g(i,o)},d(e){e&&s(t)}}}function me(e){let t,i,o=e[14].content+"";return{c(){t=c("p"),i=d(o),m(t,"part","p")},m(e,o){l(e,t,o),r(t,i)},p(e,t){2&t&&o!==(o=e[14].content+"")&&g(i,o)},d(e){e&&s(t)}}}function he(e){let t,i=[],o=new Map,n=e[14].list.filter(we);const a=e=>e[17].key;for(let t=0;t<n.length;t+=1){let r=se(e,n,t),l=a(r);o.set(l,i[t]=ge(l,r))}return{c(){t=c("ul");for(let e=0;e<i.length;e+=1)i[e].c();m(t,"part","ul")},m(e,o){l(e,t,o);for(let e=0;e<i.length;e+=1)i[e].m(t,null)},p(e,r){2&r&&(n=e[14].list.filter(we),i=N(i,r,a,1,e,n,o,t,A,ge,null,se))},d(e){e&&s(t);for(let e=0;e<i.length;e+=1)i[e].d()}}}function ge(e,t){let i,o,n=t[17].content+"";return{key:e,first:null,c(){i=c("li"),o=d(n),m(i,"part","li"),this.first=i},m(e,t){l(e,i,t),r(i,o)},p(e,i){t=e,2&i&&n!==(n=t[17].content+"")&&g(o,n)},d(e){e&&s(i)}}}function fe(e){let t,i,o;return{c(){t=c("hb-table"),h(t,"disablepagination","yes"),h(t,"size","1000"),h(t,"style",e[0]),h(t,"headers",i=JSON.stringify(e[14].table.headers)),h(t,"rows",o=JSON.stringify(e[14].table.rows))},m(e,i){l(e,t,i)},p(e,n){1&n&&h(t,"style",e[0]),2&n&&i!==(i=JSON.stringify(e[14].table.headers))&&h(t,"headers",i),2&n&&o!==(o=JSON.stringify(e[14].table.rows))&&h(t,"rows",o)},d(e){e&&s(t)}}}function ye(e,t){let i,o,n,a,r,c=t[14].title&&ue(t),d=t[14].content&&me(t),m=t[14].list?.length&&he(t),h=t[14].table?.headers&&t[14].table.rows?.length&&fe(t);return{key:e,first:null,c(){i=u(),c&&c.c(),o=p(),d&&d.c(),n=p(),m&&m.c(),a=p(),h&&h.c(),r=u(),this.first=i},m(e,t){l(e,i,t),c&&c.m(e,t),l(e,o,t),d&&d.m(e,t),l(e,n,t),m&&m.m(e,t),l(e,a,t),h&&h.m(e,t),l(e,r,t)},p(e,i){(t=e)[14].title?c?c.p(t,i):(c=ue(t),c.c(),c.m(o.parentNode,o)):c&&(c.d(1),c=null),t[14].content?d?d.p(t,i):(d=me(t),d.c(),d.m(n.parentNode,n)):d&&(d.d(1),d=null),t[14].list?.length?m?m.p(t,i):(m=he(t),m.c(),m.m(a.parentNode,a)):m&&(m.d(1),m=null),t[14].table?.headers&&t[14].table.rows?.length?h?h.p(t,i):(h=fe(t),h.c(),h.m(r.parentNode,r)):h&&(h.d(1),h=null)},d(e){e&&s(i),c&&c.d(e),e&&s(o),d&&d.d(e),e&&s(n),m&&m.d(e),e&&s(a),h&&h.d(e),e&&s(r)}}}function ve(e,t){let i,o,n=t[11].paragraphs?.length&&pe(t);return{key:e,first:null,c(){i=u(),n&&n.c(),o=u(),this.first=i},m(e,t){l(e,i,t),n&&n.m(e,t),l(e,o,t)},p(e,i){(t=e)[11].paragraphs?.length?n?n.p(t,i):(n=pe(t),n.c(),n.m(o.parentNode,o)):n&&(n.d(1),n=null)},d(e){e&&s(i),n&&n.d(e),e&&s(o)}}}function ke(t){let i;function o(e,t){return e[1]?.title&&e[1].chapters?.length?de:ce}let n=o(t),a=n(t);return{c(){a.c(),i=u(),this.c=e},m(e,t){a.m(e,t),l(e,i,t)},p(e,[t]){n===(n=o(e))&&a?a.p(e,t):(a.d(1),a=n(e),a&&(a.c(),a.m(i.parentNode,i)))},i:e,o:e,d(e){a.d(e),e&&s(i)}}}const ze=e=>e.key,be=e=>e.key,we=e=>e.key;function xe(e,t,i){k(),z();let o,n,a,{id:r}=t,{style:l}=t,{i18nlang:s}=t,{data:c}=t,d="";return Z.addComponent({repoName:"@htmlbricks/hb-table",version:F}),e.$$set=e=>{"id"in e&&i(2,r=e.id),"style"in e&&i(3,l=e.style),"i18nlang"in e&&i(4,s=e.i18nlang),"data"in e&&i(5,c=e.data)},e.$$.update=()=>{if(252&e.$$.dirty&&(r||i(2,r=""),l&&(i(6,o=H(l)),i(0,d=Z.getChildStyleToPass(o,null==ne?void 0:ne.vars))),n?n&&s&&n.lang&&n.lang!==s&&i(7,n=new Z.LanguageTranslator({dictionary:ae,lang:s})):i(7,n=new Z.LanguageTranslator({dictionary:ae,lang:s})),c&&"string"==typeof c))try{const e=JSON.parse(c);switch(e.id){case"privacy-doc-italian":i(1,a=function(e){var t,i,o,n,a,r,l,s,c,d;const p={id:e.id,title:"INFORMATIVA PRIVACY",int:{key:"it",flag:""},chapters:[{title:"Informazioni relative alla Privacy del sito",index:0,paragraphs:[{key:"i1",content:`In questa sezione sono contenute le informazioni relative alle modalità di gestione di ${e.site.name}, di\n\t\tproprietà di ${e.company.name}, in riferimento al trattamento dei dati degli utenti del sito stesso.`,index:0},{key:"i2",content:`La presente informativa ha valore anche ai fini dell'articolo 13 del Regolamento (UE) n. 2016/679, relativo alla protezione delle persone fisiche con\n\t\triguardo al trattamento dei dati personali nonché alla libera circolazione di tali dati, per i soggetti che interagiscono con ${e.site.name}`,index:1},{key:"i3",content:`L'informativa è resa solo per ${e.site.name} e non anche per altri siti web eventualmente consultati dall'utente tramite\n\t\tlink in esso contenuti.`,index:2},{key:"i4",content:`Scopo del presente documento è fornire indicazioni circa le modalità, i tempi e la natura delle informazioni che i titolari del trattamento devono\n\t\tfornire agli utenti al momento della connessione alle pagine web di ${e.site.name}, indipendentemente dagli scopi del\n\t\tcollegamento stesso, secondo la legislazione Italiana ed Europea.`,index:3},{key:"i5",content:"L'informativa può subire modifiche a causa dell'introduzione di nuove norme al riguardo, si invita pertanto l'utente a controllare periodicamente la\n\t\tpresente pagina.",index:4},{key:"i6",content:"Se l'utente ha meno di quattordici anni, ai sensi dell'art.8, c.1 regolamento (UE) 2016/679, e dell'Art. 2 - Quinquies del D.Lgs 196/2003, così come\n\t\tmodificato dal D.Lgs 181/18, dovrà legittimare il suo consenso attraverso l'autorizzazione dei genitori o di chi ne fa le veci.",index:5}],key:"info"},{title:"Titolare del trattamento",index:1,paragraphs:[{key:"t1",content:"Il titolare del trattamento è la persona fisica o giuridica, l'autorità pubblica, il servizio o altro organismo che, singolarmente o insieme ad\n\t\taltri, determina le finalità e i mezzi del trattamento di dati personali. Si occupa anche dei profili sulla sicurezza.",index:0},{key:"t2",content:`Relativamente al presente sito web il titolare del trattamento è: ${e.privacyAdmin.name}, e per\n\t\togni chiarimento o esercizio dei diritti dell'utente potrà contattarlo al seguente indirizzo mail: ${e.privacyAdmin.email}`,index:1}],key:"owner"},{title:"Luogo trattamento dati",index:2,paragraphs:[{key:"l1",content:`Il trattamento dei dati generato dall'utilizzo di ${e.site.name} avviene presso ${e.company.address}`,index:0},{key:"l2",content:"In caso di necessità, i dati connessi al servizio newsletter possono essere trattati dal responsabile del trattamento o soggetti da esso incaricati a\n\t\ttal fine presso la relativa sede.",index:1}],key:"location"},{title:"Base giuridica del trattamento",index:3,paragraphs:[{key:"b1",content:`Il trattamento dei dati personali da parte di ${e.site.name} si basa sul consenso – ai sensi dell'art. 6, par. 1, lett.\n\t\ta) del Regolamento UE 2016/679 – espresso dall'utente mediante la navigazione su questo sito web e la sua consultazione, così accettando la presente informativa.`,index:0},{key:"b2",content:`Il consenso è facoltativo e può essere revocato in qualsiasi momento mediante richiesta inviata a mezzo email a ${e.privacyAdmin.email} precisando che, in tal caso, in assenza di consenso non potranno essere erogati alcuni servizi e la navigazione sul sito web potrebbe essere compromessa.`,index:1}],key:"law"},{title:"Cookies",index:4,paragraphs:[{key:"c1",content:"In questa sezione viene descritto in che modo questo Sito e terze parti utilizzano i cookie e tecnologie similari. L'utilizzo dei cookie avviene nel\n\t\trispetto della relativa normativa europea (direttiva 2009/136/CE ha modificato la direttiva 2002/58/CE \"E Privacy) e nazionale (Provvedimento Garante\n\t\tper la protezione dei dati personali dell'8 maggio 2014 e successivi chiarimenti nonché Linee Guida cookie e altri strumenti di tracciamento del 10\n\t\tgiugno 2021 n.231).",index:0},{key:"c2",content:`Per avere informazioni complete riguardo ai cookies visitare la nostra cookie policy: ${e.site.cookiePolicyUri}`,index:1}],key:"cookies"},{title:"Tipologia di trattamento dati",index:5,paragraphs:[{key:"td1",content:`Il trattamento dei dati personali è necessario per il perseguimento del legittimo interesse del titolare del trattamento per finalità di fornire\n\t\tinformazioni circa l'attività di ${e.site.name} ai sensi dell'art. 6, par. 1, lett. f) del Regolamento UE 2016/679, nel\n\t\trispetto di quanto previsto dal medesimo Regolamento.`,index:0},{key:"td2",content:"Il presente sito fa uso di Log Files nei quali vengono conservate informazioni raccolte in maniera automatizzata durante le visite degli utenti. Tali informazioni sono trattate in forma automatizzata e raccolte in forma esclusivamente aggregata al fine di verificare il corretto\n\t\tfunzionamento del sito, e per motivi di sicurezza. Le informazioni saranno trattate in base ai legittimi interessi del titolare e potrebbero essere le seguenti:",list:[{key:"tdl1",content:"indirizzo internet protocol (IP)"},{key:"tdl2",content:"tipo di browser e parametri del dispositivo usato per connettersi al sito"},{key:"tdl3",content:"nome dell'internet service provider (ISP)"},{key:"tdl4",content:"data e orario di visita"},{key:"tdl5",content:"pagina web di provenienza del visitatore (referral) e di uscita"},{key:"tdl6",content:"eventualmente il numero di click"}],index:1},{key:"td3",content:"A fini di sicurezza (filtri antispam, firewall, rilevazione virus), i dati registrati automaticamente possono eventualmente comprendere anche dati\n\t\tpersonali come l'indirizzo Ip, che potrebbe essere utilizzato, conformemente alle leggi vigenti in materia, al fine di bloccare tentativi di\n\t\tdanneggiamento al sito medesimo o di recare danno ad altri utenti, o comunque attività dannose o costituenti reato. Tali dati non sono mai utilizzati\n\t\tper l'identificazione o la profilazione dell'utente, ma solo a fini di tutela del sito e dei suoi utenti, tali informazioni saranno trattate in base ai\n\t\tlegittimi interessi del titolare.",index:2}],key:"dataTerms"},{title:"Tipologia di dati acquisti",index:6,paragraphs:[{content:`${e.site.name} raccoglie i dati degli utenti direttamente dal sito o da terze parti. I dati sono necessari per la navigazione\n\t\tdel sito.`,key:"tda1",index:0}],key:"dataTypes"},{title:"Dati forniti dall'utente",index:7,paragraphs:[{content:"Qualora il sito consenta l'inserimento di commenti, oppure in caso di specifici servizi richiesti dall'utente, ivi compresi la possibilità di inviare\n\t\til Curriculum Vitae per un eventuale rapporto lavorativo, il sito rileva automaticamente e registra alcuni dati identificativi dell'utente, compreso\n\t\tl'indirizzo mail. Tali dati si intendono volontariamente forniti dall'utente al momento della richiesta di erogazione del servizio.",key:"tfa21",index:0},{key:"tfa22",content:"Inserendo un commento o altra informazione l'utente accetta espressamente l'informativa privacy. I dati ricevuti verranno utilizzati esclusivamente\n\t\tper l'erogazione del servizio richiesto e per il solo tempo necessario per la fornitura del servizio.",index:1},{key:"tfa23",content:"Le informazioni che gli utenti del sito riterranno di rendere pubbliche tramite i servizi e gli strumenti messi a disposizione degli stessi, sono\n\t\tfornite dall'utente consapevolmente e volontariamente, esentando il presente sito da qualsiasi responsabilità in merito ad eventuali violazioni delle\n\t\tleggi. Spetta all'utente verificare di avere i permessi per l'immissione di dati personali di terzi o di contenuti tutelati dalle norme nazionali ed\n\t\tinternazionali.",index:2},{key:"tfa24",content:"L'invio facoltativo, esplicito e volontario di posta elettronica agli indirizzi indicati su questo sito comporta la successiva acquisizione\n\t\tdell'indirizzo del mittente, necessario per rispondere alle richieste, nonché degli eventuali altri dati personali inseriti nella missiva.",index:3},{key:"tfa25",content:"Specifiche informative di sintesi verranno progressivamente riportate o visualizzate nelle pagine del sito predisposte per particolari servizi a\n\t\trichiesta.",index:4}],key:"dataFunctions"},{title:"Interazione social network",index:12,paragraphs:[{content:"Il presente sito incorpora anche plugin e/o bottoni per i social network, al fine di consentire una facile condivisione dei contenuti sui vostri\n\t\tsocial network preferiti. Tali plugin sono programmati in modo da non impostare alcun cookie all'accesso della pagina, per salvaguardare la privacy\n\t\tdegli utenti. Eventualmente i cookie vengono impostati, se così previsto dai social network, solo quando l'utente fa effettivo e volontario uso del\n\t\tplugin. Si tenga presente che se l'utente naviga avendo effettuato il login nel social network allora ha già acconsentito all'uso dei cookie veicolati\n\t\ttramite questo sito al momento dell'iscrizione al social network.",index:0,key:"isn1"},{content:`Questo tipo di servizi permette di effettuare interazioni con i social network, o con altre piattaforme esterne, direttamente dalle pagine di ${e.site.name}`,key:"isn2",index:1},{content:`Le interazioni e le informazioni acquisite da ${e.site.name} sono in ogni caso soggette alle impostazioni privacy\n\t\t\tdell'Utente relative ad ogni social network. Nel caso in cui sia installato un servizio di interazione con i social network, è possibile che, anche nel\n\t\t\tcaso gli Utenti non utilizzino il servizio, lo stesso raccolga dati di traffico relativi alle pagine in cui è installato.`,key:"isn3",index:2}],key:"socials"},{title:"Diritti dell'utente",index:13,paragraphs:[{content:"Viene garantito all'utente il rispetto dei suoi diritti nell'ambito della protezione dei dati personali. In linea con quanto ripreso e affermato dal\n\t\tGDPR, in relazione al trattamento dei propri dati personali, l'utente ha diritto di chiedere al Titolare:",list:[{key:"drl1",content:"L'accesso: l'utente può chiedere conferma che sia o meno in essere un trattamento di dati che lo riguarda, oltre a maggiori chiarimenti circa le\n\t\tinformazioni di cui alla presente informativa"},{key:"drl2",content:"La rettifica: può chiedere di rettificare o integrare i dati che ha fornito, qualora inesatti o incompleti"},{key:"drl3",content:"La cancellazione: può chiedere che i suoi dati vengano cancellati, qualora non siano più necessari alle nostre finalità, in caso di revoca del consenso o opposizione al trattamento, in caso di trattamento illecito, ovvero sussista un obbligo legale di cancellazione o si riferiscano a soggetti minori di anni quattordici;"},{key:"drl4",content:"La limitazione: può chiedere che i suoi dati siano trattati solo ai fini della conservazione, con esclusioni di altri trattamenti, per il periodo necessario alla rettifica dei suoi dati, in caso di trattamento illecito per il quale si opponga alla cancellazione, qualora lei debba esercitare i suoi diritti in sede giudiziaria e i dati conservati dal Titolare le possono essere utili e, infine, in caso di opposizione al trattamento e sia in corso una verifica sulla prevalenza dei motivi legittimi del Titolare rispetto ai suoi."},{key:"drl5",content:"L'opposizione: può opporsi in qualunque momento al trattamento dei suoi dati, salvo che vi siano motivi legittimi del Titolare per procedere al trattamento che prevalgano sui suoi, per esempio per l'esercizio o la propria difesa in sede giudiziaria."},{key:"drl6",content:"La portabilità: può chiedere di ricevere i suoi dati, o di farli trasmettere ad altro titolare da lei indicato, in un formato strutturato, di uso comune e leggibile da dispositivo automatico."},{key:"drl7",content:"La revoca: può revocare il suo consenso all'utilizzo di cookie (Cookie Policy) in qualsiasi momento, poiché in questo caso costituisca la base del trattamento. La revoca del consenso comunque non pregiudica la liceità del trattamento basata sul consenso svolto prima della revoca stessa."}],key:"du1",index:0},{key:"du2",content:`In qualsiasi momento l'utente può chiedere di esercitare i suddetti diritti a ${e.site.name} rivolgendosi all'indirizzo mail: ${e.privacyAdmin.email}`,index:1},{key:"du3",content:`Inoltre, l'utente ha diritto di proporre reclamo nei confronti dell'Autorità di controllo italiana: "Garante per la Protezione dei Dati Personali"\n\t\tnel caso in cui ritenga che i suoi diritti siano stati violati da ${e.site.name} o nel caso in cui non ritenga\n\t\tsoddisfacente la risposta di ${e.site.name} alle sue richieste.`,index:2}],key:"rights"},{title:"Trasferimento a Paesi extra UE",index:14,paragraphs:[{content:"Il presente sito potrebbe condividere alcuni dei dati raccolti con servizi localizzati al di fuori dell'area dell'Unione Europea. In particolare con\n\t\tGoogle, Facebook e Microsoft (LinkedIn) tramite i social plugin e il servizio di Google Analytics. Il trasferimento è autorizzato e strettamente\n\t\tregolato dall'articolo 45, comma 1 del Regolamento (UE) 2016/679, per cui non occorre ulteriore consenso.",key:"tpe1",index:0},{content:"Non verranno mai trasferiti dati a Paesi terzi che non rispettino le condizioni previste dall'articolo 45 e ss, del Regolamento (UE).",key:"tpe2",index:1}],key:"transferExtraEu"},{title:"Modifiche al presente documento",index:15,paragraphs:[{content:`Il presente documento, che costituisce la privacy policy di questo sito, è pubblicato all'indirizzo: ${e.site.privacyPolicyUri}`,key:"ts1",index:0},{key:"ts2",content:"Esso può essere soggetto a modifiche o aggiornamenti. Qualora si tratti di modifiche ed aggiornamenti rilevanti questi saranno segnalati con apposite\n\t\tnotifiche agli utenti.",index:1},{key:"ts3",content:"Le versioni precedenti del documento saranno comunque consultabili a questa pagina.",index:2},{key:"ts4",content:`Il documento è stato aggiornato in data ${new Date(e.date).toLocaleDateString("it-IT")} per essere conforme alle disposizioni normative in materia, ed in particolare in conformità al Regolamento (UE) 2016/679.`,index:3}],key:"timestamps"}]};if((null===(t=e.storage)||void 0===t?void 0:t.durate)&&p.chapters.push({title:"Conservazione Dati",index:9,paragraphs:[{content:`Conformemente a quanto prescritto dall'art. 5.1(c) del Regolamento, i sistemi informativi e i programmi informatici utilizzati da ${e.site.name} sono configurati in modo da ridurre al minimo l'uso di dati personali e identificativi; tali dati saranno trattati solo nella misura necessaria per il\n\t\tconseguimento delle finalità indicate nella presente Policy.`,key:"cd1",index:0},{key:"cd2",content:"I dati verranno conservati per il periodo di tempo strettamente necessario al conseguimento delle finalità in concreto perseguite e, in ogni caso, il\n\t\tcriterio utilizzato per determinare il periodo di conservazione è improntato al rispetto dei termini consentiti dalle leggi applicabili e dai principi\n\t\tdi minimizzazione del trattamento e limitazione della conservazione.",index:1},{key:"cd3",content:`Nello specifico, i dati verranno conservati per i seguenti periodi: ${e.storage.durate}`,index:2},{key:"cd4",content:"I dati utilizzati a fini di sicurezza (blocco tentativi di danneggiamento del sito) sono conservati per il tempo strettamente necessario al\n\t\traggiungimento del fine anteriormente indicato.",index:3},,],key:"dataStorage"}),e.socialNetworks){const t="Pulsante e widget sociali di Linkedin (LinkedIn Corporation). Il pulsante e i widget sociali di LinkedIn sono servizi di interazione con il\n\t\t\t\tsocial network Linkedin, forniti da LinkedIn Corporation. Dati Personali raccolti: Cookie e Dati di utilizzo. Luogo del trattamento: Stati Uniti\n\t\t\t\t– Privacy Policy: https://www.linkedin.com/legal/privacy-policy",i='Pulsante Mi Piace e widget sociali di Facebook (Facebook, Inc.) Il pulsante "Mi Piace" e i widget sociali di Facebook sono servizi di\n\t\t\t\tinterazione con il social network Facebook, forniti da Facebook, Inc. Dati Personali raccolti: Cookie e Dati di utilizzo. Luogo del trattamento:\n\t\t\t\tStati Uniti – Privacy Policy: https://www.facebook.com/privacy/explanation.',o="Pulsante +1 e widget sociali di Google+ (Google Inc.) Il pulsante +1 e i widget sociali di Google+ sono servizi di interazione con il social\n\t\t\t\tnetwork Google+, forniti da Google Inc. Dati Personali raccolti: Cookie e Dati di utilizzo. Luogo del trattamento: Stati Uniti – Privacy Policy:\n\t\t\t\thttps://policies.google.com/privacy?hl=it.",n="Pulsante Tweet e widget sociali di Twitter (Twitter, Inc.) Il pulsante Tweet e i widget sociali di Twitter sono servizi di interazione con il\n\t\t\t\tsocial network Twitter, forniti da Twitter, Inc. Dati Personali raccolti: Cookie e Dati di utilizzo. Luogo del trattamento: Stati Uniti –\n\t\t\t\tPrivacy Policy: https://twitter.com/en/privacy.",a="Pulsante Pin It e widget sociali di Pinterest (Pinterest Inc.)<br />Pulsante Pin It e i widget sociali di Pinterest sono servizi di interazione\n\t\t\t\tcon il social network Pinterest, fornito da Pinterest Inc.Dati Personali raccolti: Cookie e Dati di utilizzo. Luogo del trattamento: USA –\n\t\t\t\tPrivacy Policy: https://policy.pinterest.com/it/privacy-policy",r="Pulsante e widget sociali di Instagram (Instagram, Inc.)<br />Il pulsante e i widget sociali di Instagram sono servizi di interazione con il\n\t\t\t\tsocial network Instagram, fornito da Instagram, Inc. Dati Personali raccolti: Cookie e Dati di utilizzo Luogo del trattamento: USA – Privacy\n\t\t\t\tPolicy: https://help.instagram.com/196883487377501",l=[];e.socialNetworks.find((e=>"linkedin"===e.company.toLowerCase()))&&l.push({content:t,key:"linkedin"}),e.socialNetworks.find((e=>"facebook"===e.company.toLowerCase()))&&l.push({content:i,key:"facebook"}),e.socialNetworks.find((e=>"google"===e.company.toLowerCase()))&&l.push({content:o,key:"google"}),e.socialNetworks.find((e=>"twitter"===e.company.toLowerCase()))&&l.push({content:n,key:"twitter"}),e.socialNetworks.find((e=>"instagram"===e.company.toLowerCase()))&&l.push({content:r,key:"instagram"}),e.socialNetworks.find((e=>"pinterest"===e.company.toLowerCase()))&&l.push({content:a,key:"pinterest"});const s={content:`Le interazioni e le informazioni acquisite da ${e.site.name} sono in ogni caso soggette alle impostazioni privacy dell'Utente relative ad ogni social network. Nel caso in cui sia installato un servizio di interazione con i social network, è possibile che, anche nel caso gli Utenti non utilizzino il servizio, lo stesso raccolga dati di traffico relativi alle pagine in cui è installato.`,list:l,key:"isn4",index:3};p.chapters.find((e=>"socials"===e.key)).paragraphs.push(s)}if((null===(o=null===(i=e.collectedData)||void 0===i?void 0:i.dataTypes)||void 0===o?void 0:o.length)&&p.chapters.find((e=>"dataTypes"===e.key)).paragraphs.push({content:`I dati raccolti sono da ${e.site.name} sono:`,list:e.collectedData.dataTypes.map((e=>({content:e.label,key:e.label.replace(/ /g,"")}))),key:"tda2",index:1}),(null===(a=null===(n=e.collectedData)||void 0===n?void 0:n.scopes)||void 0===a?void 0:a.length)&&p.chapters.push({title:"Finalità del trattamento dati",index:8,paragraphs:[{content:"I dati raccolti dal sito durante il suo funzionamento sono utilizzati per finalità sopra indicate e per le seguenti finalità:",list:e.collectedData.scopes.map((e=>({content:e.label,key:e.label.replace(/ /g,"")}))),key:"ftd1",index:0}],key:"dataScopes"}),(null===(s=null===(l=null===(r=e.collectedData)||void 0===r?void 0:r.contactModule)||void 0===l?void 0:l.data)||void 0===s?void 0:s.length)&&p.chapters.push({title:"Moduli di contatto",index:11,paragraphs:[{content:"L'utente può compilare il/i moduli di contatto/richiesta informazioni, inserendo i propri dati e acconsentendo al loro uso per rispondere alle\n\t\trichieste di natura indicata nella intestazione del modulo.",key:"mc1",index:0},{content:"Dati personali che potrebbero essere raccolti:",list:e.collectedData.contactModule.data.map((e=>({content:e.label,key:e.label.replace(/ /g,"")}))),key:"mc2",index:1}],key:"contacts"}),null===(d=null===(c=e.payments)||void 0===c?void 0:c.companies)||void 0===d?void 0:d.length){const t="Pulsante di pagamento Stripe (Stripe Inc.). Pulsante di pagamento Stripe è un servizio di pagamento fornito da Stripe, Inc. Dati Personali raccolti: Cookie e Dati di utilizzo. Luogo del trattamento: USA – Privacy Policy: https://stripe.com/it/privacy",i="Pulsante di pagamento Paypal (PayPal Inc.). Pulsante di pagamento Paypal è un servizio di pagamento fornito da PayPal, Inc. Dati Personali raccolti: Cookie e Dati di utilizzo. Luogo del trattamento: USA – Privacy Policy: https://www.paypal.com/it/webapps/mpp/ua/privacy-full",o=[];e.payments.companies.find((e=>"stripe"===e.company.toLowerCase()))&&o.push({content:t,key:"stripe"}),e.payments.companies.find((e=>"paypal"===e.company.toLowerCase()))&&o.push({content:i,key:"paypal"}),p.chapters.push({title:"Pagamenti",index:10,paragraphs:[{content:`${e.site.name} utilizza servizi di pagamento per eseguire pagamenti con carta di credito, bonifico bancario o\n\t\t\taltri strumenti. ${e.site.name} non raccoglie o acquisisce i dati usati per il pagamento.`,key:"py1",index:0},{content:"I dati per il pagamento sono raccolti e acquisiti direttamente dal gestore del servizio di pagamento, come l'ente carta di credito, Paypal,\n\t\t\tStripe o simili. Questi servizi possono effettuare invio di messaggi verso l'utente, per esempio email o sms di notifiche del pagamento.",key:"py2",index:1},{content:"I dati acquisiti e l'utilizzo degli stessi da parte di servizi terzi sono regolamentati dalle rispettive Privacy Policy alle quali si prega di\n\t\t\tfare riferimento.",key:"py3",index:2},{content:"Lista dei principalii servizi di terze parti utilizzati per le finalità relative ai pagamenti:",key:"py4",list:o,index:3}],key:"payments"})}return ee(p)}(e));break;case"cookie-doc-italian":case"cookie-doc":i(1,a=oe(e));break;case"cookie-doc-english":i(1,a=function(e){var t,i,o,n,a,r,l,s,c;const d={id:e.id,title:`Cookie Policy of ${e.site.name}`,int:{key:"en",flag:""},chapters:[{title:"General Informations",index:0,paragraphs:[{key:"i1",content:"This document contains information about the technologies that allow this Website to achieve the purposes described below. These technologies allow the Owner to collect and save information (for example through the use of Cookies) or to use resources (for example by running a script) on the User's device when the latter interacts with this Website.",index:0},{key:"i2",content:'For the sake of simplicity, these technologies are briefly referred to in this document as "Tracking Tools", unless there is reason to differentiate. For example, although Cookies can be used in both web and mobile browsers, it would be out of place to speak of Cookies in the context of applications for mobile devices, since they are Tracking Tools that require the presence of a browser. For this reason, within this document the term Cookie is used only to specifically indicate that particular type of Tracking Tool.',index:1},{key:"i3",content:"Some of the purposes for which Tracking Tools are used may also require the User's consent, depending on the applicable law. If consent is given, it can be freely revoked at any time by following the instructions contained in this document.",index:2},{key:"i4",content:'This Website uses Tracking Tools managed directly by the Owner (commonly called "first party" Tracking Tools) and Tracking Tools that enable services provided by third parties (commonly called "third party" Tracking Tools). Unless otherwise specified in this document, these third parties have access to the respective Tracking Tools.',index:3},{key:"i5",content:"Duration and expiration of Cookies and other similar Tracking Tools may vary depending on what is set by the Owner or by each third party provider. Some of them expire at the end of the User's browsing session.",index:4},{key:"i6",content:"In addition to what is specified in the description of each of the categories listed below, Users can obtain more detailed and updated information on the duration, as well as any other relevant information - such as the presence of other Tracking Tools - in the privacy policies of their respective third party suppliers. (through the links made available) or by contacting the Data Controller.",index:5}],key:"info"},{title:"Attività strettamente necessarie a garantire il funzionamento di questo Sito Web e la fornitura del Servizio",index:1,paragraphs:[{key:"act1",content:'This Website uses Cookies commonly called "technical" or other similar Tracking Tools to carry out activities strictly necessary to ensure the functioning or provision of the Service.',index:0}],key:"technicals"},{title:"Activities related to user authentication and management of their data",index:2,paragraphs:[{key:"auth0",content:`These are stored when you log in to a ${e.site.name} site, using our authentication service. When you do this, you accept the associated privacy policy.`,index:0}],key:"authentication"},{title:"Analytics tracking tools",index:3,paragraphs:[],key:"analytics"},{title:"Third-party cookies",index:4,paragraphs:[{key:"thr1",content:"Some of our pages display content from external providers, e.g. YouTube, Facebook and Twitter.",index:0},{key:"thr2",content:"To view this third-party content, you first have to accept their specific terms and conditions. This includes their cookie policies, which we have no control over.",index:1},{key:"thr3",content:"If you do not view this content, no third-party cookies are installed on your device.",index:2},{key:"thr4",content:`Third-party providers on ${e.site.name} websites`,list:[],index:3},{key:"thr5",content:`These third-party services are outside of the control of ${e.company.name}. Providers may, at any time, change their terms of service, purpose and use of cookies, etc.`,index:4}],key:"third-party"},{title:"How can you manage cookies?",index:5,paragraphs:[{key:"mng1",title:"Removing cookies from your device",content:"You can delete all cookies that are already on your device by clearing the browsing history of your browser. This will remove all cookies from all websites you have visited. Be aware though that you may also lose some saved information (e.g. saved login details, site preferences).",index:0},{key:"mng2",title:"Managing site-specific cookies",content:"For more detailed control over site-specific cookies, check the privacy and cookie settings in your preferred browser.",index:1},{key:"mng3",title:"Blocking cookies",content:"You can set most modern browsers to prevent any cookies being placed on your device, but you may then have to manually adjust some preferences every time you visit a site/page. And some services and functionalities may not work properly at all (e.g. profile logging-in).",index:2},{key:"mng4",title:"Managing our analytics cookies",content:`You can manage your preferences concerning cookies from ${e.site.name} on the dedicated website page.`,index:3}],key:"managment"}]};if(null===(t=e.cookies)||void 0===t?void 0:t.length){const t=e.cookies.filter((e=>"technical"===e.type&&!e.third)).map((e=>ie(e))),p=e.cookies.filter((e=>"technical"===e.type&&e.third)).map((e=>ie(e)));(t.length||p.length)&&(t.length&&(null===(i=d.chapters.find((e=>"technicals"===e.key)))||void 0===i||i.paragraphs.push({content:`I dati raccolti dagli strumenti di tracking di ${e.site.name} sono:`,table:{headers:te,rows:t},key:"tda2",index:1})),p.length&&(null===(o=d.chapters.find((e=>"technicals"===e.key)))||void 0===o||o.paragraphs.push({content:"I dati raccolti dai cookie di terze parti sono:",table:{headers:te,rows:p},key:"tda3",index:2})));const u=e.cookies.filter((e=>"analytics"===e.type&&!e.third)).map((e=>ie(e))),m=e.cookies.filter((e=>"analytics"===e.type&&e.third)).map((e=>ie(e)));(u.length||m.length)&&(u.length&&(null===(n=d.chapters.find((e=>"analytics"===e.key)))||void 0===n||n.paragraphs.push({content:`Cookies collected from ${e.site.name} for analytics purpose are:`,table:{headers:te,rows:u},key:"ana1",index:0})),m.length&&(null===(a=d.chapters.find((e=>"analytics"===e.key)))||void 0===a||a.paragraphs.push({content:"Analytics data collected from third party cookies are:",table:{headers:te,rows:m},key:"ana2",index:1})));const h=e.cookies.filter((e=>"authentication"===e.type&&!e.third)).map((e=>ie(e))),g=e.cookies.filter((e=>"authentication"===e.type&&e.third)).map((e=>ie(e)));(h.length||g.length)&&(h.length&&(null===(r=d.chapters.find((e=>"authentication"===e.key)))||void 0===r||r.paragraphs.push({content:`Cookies collected from ${e.site.name} for authentication functionality are:`,table:{headers:te,rows:h},key:"auth1",index:0})),g.length&&(null===(l=d.chapters.find((e=>"authentication"===e.key)))||void 0===l||l.paragraphs.push({content:"Cookies collected from third party for authentication purpose are:",table:{headers:te,rows:g},key:"auth2",index:1})));const f=e.cookies.filter((e=>"advertising"===e.type)).map((e=>ie(e)));f.length&&(null===(s=d.chapters.find((e=>"advertising"===e.key)))||void 0===s||s.paragraphs.push({content:`Third Parties Cookie data for ${e.site.name} advertising are:`,table:{headers:te,rows:f},key:"adv1",index:0}));const y=e.cookies.filter((e=>"third-party"===e.type)).map((e=>ie(e)));y.length&&(null===(c=d.chapters.find((e=>"third-party"===e.key)))||void 0===c||c.paragraphs.push({content:`Third Parties Cookie data for ${e.site.name} are:`,table:{headers:te,rows:y},key:"th1",index:0}))}return ee(d)}(e))}}catch(e){console.error("parsing data",e)}},[d,a,r,l,s,c,o,n]}class $e extends M{constructor(e){super(),this.shadowRoot.innerHTML='<style>@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");:host{font-family:"Roboto", sans-serif}h3,p{margin-top:30px;line-height:1.5rem}h1{margin-top:60px}h2{margin-top:50px}li{margin-bottom:15px;line-height:1.5rem}hb-table{margin-bottom:60px;display:block}</style>',_(this,{target:this.shadowRoot,props:f(this.attributes),customElement:!0},xe,ke,a,{id:2,style:3,i18nlang:4,data:5},null),e&&(e.target&&l(e.target,this,e.anchor),e.props&&(this.$set(e.props),S()))}static get observedAttributes(){return["id","style","i18nlang","data"]}get id(){return this.$$.ctx[2]}set id(e){this.$$set({id:e}),S()}get style(){return this.$$.ctx[3]}set style(e){this.$$set({style:e}),S()}get i18nlang(){return this.$$.ctx[4]}set i18nlang(e){this.$$set({i18nlang:e}),S()}get data(){return this.$$.ctx[5]}set data(e){this.$$set({data:e}),S()}}return customElements.define("hb-terms-doc-templates",$e),$e}();
|
|
1
|
+
var release=function(){"use strict";function e(){}function t(e){return e()}function i(){return Object.create(null)}function o(e){e.forEach(t)}function n(e){return"function"==typeof e}function a(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function"==typeof e}function r(e,t){e.appendChild(t)}function l(e,t,i){e.insertBefore(t,i||null)}function s(e){e.parentNode.removeChild(e)}function c(e){return document.createElement(e)}function d(e){return document.createTextNode(e)}function p(){return d(" ")}function u(){return d("")}function m(e,t,i){null==i?e.removeAttribute(t):e.getAttribute(t)!==i&&e.setAttribute(t,i)}function h(e,t,i){t in e?e[t]="boolean"==typeof e[t]&&""===i||i:m(e,t,i)}function g(e,t){t=""+t,e.wholeText!==t&&(e.data=t)}function f(e){const t={};for(const i of e)t[i.name]=i.value;return t}let y;function v(e){y=e}function k(){if(!y)throw new Error("Function called outside component initialization");return y}function z(){const e=k();return(t,i,{cancelable:o=!1}={})=>{const n=e.$$.callbacks[t];if(n){const a=function(e,t,{bubbles:i=!1,cancelable:o=!1}={}){const n=document.createEvent("CustomEvent");return n.initCustomEvent(e,i,o,t),n}(t,i,{cancelable:o});return n.slice().forEach((t=>{t.call(e,a)})),!a.defaultPrevented}return!0}}const b=[],w=[],x=[],$=[],T=Promise.resolve();let I=!1;function P(e){x.push(e)}const C=new Set;let L=0;function S(){const e=y;do{for(;L<b.length;){const e=b[L];L++,v(e),q(e.$$)}for(v(null),b.length=0,L=0;w.length;)w.pop()();for(let e=0;e<x.length;e+=1){const t=x[e];C.has(t)||(C.add(t),t())}x.length=0}while(b.length);for(;$.length;)$.pop()();I=!1,C.clear(),v(e)}function q(e){if(null!==e.fragment){e.update(),o(e.before_update);const t=e.dirty;e.dirty=[-1],e.fragment&&e.fragment.p(e.ctx,t),e.after_update.forEach(P)}}const D=new Set;function E(e,t){e&&e.i&&(D.delete(e),e.i(t))}function A(e,t){e.d(1),t.delete(e.key)}function N(e,t,i,o,n,a,r,l,s,c,d,p){let u=e.length,m=a.length,h=u;const g={};for(;h--;)g[e[h].key]=h;const f=[],y=new Map,v=new Map;for(h=m;h--;){const e=p(n,a,h),l=i(e);let s=r.get(l);s?o&&s.p(e,t):(s=c(l,e),s.c()),y.set(l,f[h]=s),l in g&&v.set(l,Math.abs(h-g[l]))}const k=new Set,z=new Set;function b(e){E(e,1),e.m(l,d),r.set(e.key,e),d=e.first,m--}for(;u&&m;){const t=f[m-1],i=e[u-1],o=t.key,n=i.key;t===i?(d=t.first,u--,m--):y.has(n)?!r.has(o)||k.has(o)?b(t):z.has(n)?u--:v.get(o)>v.get(n)?(z.add(o),b(t)):(k.add(n),u--):(s(i,r),u--)}for(;u--;){const t=e[u];y.has(t.key)||s(t,r)}for(;m;)b(f[m-1]);return f}function U(e,t){-1===e.$$.dirty[0]&&(b.push(e),I||(I=!0,T.then(S)),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<<t%31}function _(a,r,l,c,d,p,u,m=[-1]){const h=y;v(a);const g=a.$$={fragment:null,ctx:null,props:p,update:e,not_equal:d,bound:i(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(r.context||(h?h.$$.context:[])),callbacks:i(),dirty:m,skip_bound:!1,root:r.target||h.$$.root};u&&u(g.root);let f=!1;if(g.ctx=l?l(a,r.props||{},((e,t,...i)=>{const o=i.length?i[0]:t;return g.ctx&&d(g.ctx[e],g.ctx[e]=o)&&(!g.skip_bound&&g.bound[e]&&g.bound[e](o),f&&U(a,e)),t})):[],g.update(),f=!0,o(g.before_update),g.fragment=!!c&&c(g.ctx),r.target){if(r.hydrate){const e=function(e){return Array.from(e.childNodes)}(r.target);g.fragment&&g.fragment.l(e),e.forEach(s)}else g.fragment&&g.fragment.c();r.intro&&E(a.$$.fragment),function(e,i,a,r){const{fragment:l,on_mount:s,on_destroy:c,after_update:d}=e.$$;l&&l.m(i,a),r||P((()=>{const i=s.map(t).filter(n);c?c.push(...i):o(i),e.$$.on_mount=[]})),d.forEach(P)}(a,r.target,r.anchor,r.customElement),S()}v(h)}let M;"function"==typeof HTMLElement&&(M=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){const{on_mount:e}=this.$$;this.$$.on_disconnect=e.map(t).filter(n);for(const e in this.$$.slotted)this.appendChild(this.$$.slotted[e])}attributeChangedCallback(e,t,i){this[e]=i}disconnectedCallback(){o(this.$$.on_disconnect)}$destroy(){!function(e,t){const i=e.$$;null!==i.fragment&&(o(i.on_destroy),i.fragment&&i.fragment.d(t),i.on_destroy=i.fragment=null,i.ctx=[])}(this,1),this.$destroy=e}$on(e,t){const i=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return i.push(t),()=>{const e=i.indexOf(t);-1!==e&&i.splice(e,1)}}$set(e){var t;this.$$set&&(t=e,0!==Object.keys(t).length)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}});var F="0.18.11",R=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,O=/\n/g,W=/^\s*/,G=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,Q=/^:\s*/,V=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,j=/^[;\s]*/,B=/^\s+|\s+$/g,Y="";function J(e){return e?e.replace(B,Y):Y}var H=function(e,t){var i,o=null;if(!e||"string"!=typeof e)return o;for(var n,a,r=function(e,t){if("string"!=typeof e)throw new TypeError("First argument must be a string");if(!e)return[];t=t||{};var i=1,o=1;function n(e){var t=e.match(O);t&&(i+=t.length);var n=e.lastIndexOf("\n");o=~n?e.length-n:o+e.length}function a(){var e={line:i,column:o};return function(t){return t.position=new r(e),c(),t}}function r(e){this.start=e,this.end={line:i,column:o},this.source=t.source}function l(n){var a=new Error(t.source+":"+i+":"+o+": "+n);if(a.reason=n,a.filename=t.source,a.line=i,a.column=o,a.source=e,!t.silent)throw a}function s(t){var i=t.exec(e);if(i){var o=i[0];return n(o),e=e.slice(o.length),i}}function c(){s(W)}function d(e){var t;for(e=e||[];t=p();)!1!==t&&e.push(t);return e}function p(){var t=a();if("/"==e.charAt(0)&&"*"==e.charAt(1)){for(var i=2;Y!=e.charAt(i)&&("*"!=e.charAt(i)||"/"!=e.charAt(i+1));)++i;if(i+=2,Y===e.charAt(i-1))return l("End of comment missing");var r=e.slice(2,i-2);return o+=2,n(r),e=e.slice(i),o+=2,t({type:"comment",comment:r})}}function u(){var e=a(),t=s(G);if(t){if(p(),!s(Q))return l("property missing ':'");var i=s(V),o=e({type:"declaration",property:J(t[0].replace(R,Y)),value:i?J(i[0].replace(R,Y)):Y});return s(j),o}}return r.prototype.content=e,c(),function(){var e,t=[];for(d(t);e=u();)!1!==e&&(t.push(e),d(t));return t}()}(e),l="function"==typeof t,s=0,c=r.length;s<c;s++)n=(i=r[s]).property,a=i.value,l?t(n,a,i):a&&(o||(o={}),o[n]=a);return o};var K,X,Z=(K=function(e,t){t.__esModule=!0,t.LanguageTranslator=t.addComponent=t.getChildStyleToPass=void 0,t.getChildStyleToPass=function(e,t){var i,o,n="";if(e&&(null==t?void 0:t.length)&&(null===(i=Object.keys(e))||void 0===i?void 0:i.length)&&(null===(o=null==t?void 0:t.filter((function(t){return Object.keys(e).includes(t.name)})))||void 0===o?void 0:o.length))for(var a=function(i){(null==t?void 0:t.filter((function(t){return t.name===i&&t.defaultValue!==e[i]})))&&(n+="".concat(i,":").concat(e[i],";"))},r=0,l=Object.keys(e);r<l.length;r++)a(l[r]);return n},t.addComponent=function(e){var t,i=(null===(t=null==e?void 0:e.repoName.split("/"))||void 0===t?void 0:t[1])||(null==e?void 0:e.repoName);if(!i)throw new Error("wrong componentPath "+(null==e?void 0:e.repoName));if(!(null==e?void 0:e.version))throw new Error("wrong version "+(null==e?void 0:e.version));var o=(null==e?void 0:e.iifePath)||"release/release.js";if(!document.getElementById(i+"-script"))try{var n=document.createElement("script");n.id=i+"-script",n.src="https://cdn.jsdelivr.net/npm/".concat(e.repoName,"@").concat(e.version,"/").concat(o),(null==e?void 0:e.local)&&location.href.includes("localhost")&&(n.src="".concat(e.local)),document.head.appendChild(n)}catch(e){console.warn(e)}};var i=function(){function e(e){if(!(null==e?void 0:e.dictionary))throw new Error("no dictionary provided");this.dictionary=e.dictionary,this.setLang(null==e?void 0:e.lang)}return e.prototype.setLang=function(t){t||(t=e.getDefaultLang()),this.lang=t},e.prototype.translateWord=function(t,i){return e.getDictionaryWord(t,this.dictionary,i||this.lang)},e.prototype.translateDate=function(t,i,o){return e.formatDate(t,i,o||this.lang)},e.getDefaultLang=function(){var e,t,i,o,n,a="en";return(null===navigator||void 0===navigator?void 0:navigator.languages)&&(null===(i=null===(t=null===(e=navigator.languages[0])||void 0===e?void 0:e.split("-")[0])||void 0===t?void 0:t.toLowerCase())||void 0===i?void 0:i.length)&&(a=null===(n=null===(o=navigator.languages[0])||void 0===o?void 0:o.split("-")[0])||void 0===n?void 0:n.toLowerCase()),a},e.getDictionaryWord=function(t,i,o){var n;if(!t)throw new Error("no wordKey provided");if(!i)throw new Error("no dictionary provided");if(o&&(null===(n=i[o])||void 0===n?void 0:n[t]))return i[o][t];var a="",r=e.getDefaultLang();if(!o||r!==o){var l=null==i?void 0:i[r];(null==l?void 0:l[t])&&(a=l[t])}return a},e.formatDate=function(t,i,o){if(!t)throw new Error("no date provided");if("function"!=typeof t.getMonth)throw new Error("wrong date format");return new Intl.DateTimeFormat(o||e.getDefaultLang(),i).format(t)},e}();t.LanguageTranslator=i},K(X={exports:{}},X.exports),X.exports);function ee(e){var t;let i=1;const o=e.chapters.filter((e=>e)).sort(((e,t)=>e.index-t.index));for(const e of o){e.index=i,i++;let o=1;const n=e.paragraphs.filter((e=>e)).sort(((e,t)=>e.index-t.index));for(const e of n){e.index=o,o++;let i=1;if(null===(t=e.list)||void 0===t?void 0:t.length){const t=e.list.filter((e=>e)).sort(((e,t)=>e.index-t.index));for(const e of t)e.index=i,i++;e.list=t}}e.paragraphs=n}return e.chapters=o,e}const te=[{key:"name",label:"Nome",nosort:!0},{key:"service",label:"Servizio",nosort:!0},{key:"porpose",label:"Scope",nosort:!0},{key:"details",label:"Tipologie e Durata",nosort:!0}];function ie(e){return{_id:e.name,name:e.name,service:e.service,porpose:e.purpose,details:(e.storage,""+e.durate)}}function oe(e){var t,i,o,n,a,r,l,s,c;const d={id:e.id,title:`Cookie Policy di ${e.site.name}`,int:{key:"it",flag:""},chapters:[{title:"Informazioni generali",index:0,paragraphs:[{key:"i1",content:"Questo documento contiene informazioni in merito alle tecnologie che consentono a questo Sito Web di raggiungere gli scopi descritti di seguito. Tali tecnologie permettono al Titolare di raccogliere e salvare informazioni (per esempio tramite l’utilizzo di Cookie) o di utilizzare risorse (per esempio eseguendo uno script) sul dispositivo dell’Utente quando quest’ultimo interagisce con questo Sito Web.",index:0},{key:"i2",content:"Per semplicità, in questo documento tali tecnologie sono sinteticamente definite “Strumenti di Tracciamento”, salvo vi sia ragione di differenziare. Per esempio, sebbene i Cookie possano essere usati in browser sia web sia mobili, sarebbe fuori luogo parlare di Cookie nel contesto di applicazioni per dispositivi mobili, dal momento che si tratta di Strumenti di Tracciamento che richiedono la presenza di un browser. Per questo motivo, all’interno di questo documento il temine Cookie è utilizzato solo per indicare in modo specifico quel particolare tipo di Strumento di Tracciamento.",index:1},{key:"i3",content:"Alcune delle finalità per le quali vengono impiegati Strumenti di Tracciamento potrebbero, inoltre, a seconda della legge applicabile richiedere il consenso dell’Utente. Se viene prestato il consenso, esso può essere revocato liberamente in qualsiasi momento seguendo le istruzioni contenute in questo documento.",index:2},{key:"i4",content:"Questo Sito Web utilizza Strumenti di Tracciamento gestiti direttamente dal Titolare (comunemente detti Strumenti di Tracciamento “di prima parte”) e Strumenti di Tracciamento che abilitano servizi forniti da terzi (comunemente detti Strumenti di Tracciamento “di terza parte”). Se non diversamente specificato all’interno di questo documento, tali terzi hanno accesso ai rispettivi Strumenti di Tracciamento.",index:3},{key:"i5",content:"Durata e scadenza dei Cookie e degli altri Strumenti di Tracciamento simili possono variare a seconda di quanto impostato dal Titolare o da ciascun fornitore terzo. Alcuni di essi scadono al termine della sessione di navigazione dell’Utente.",index:4},{key:"i6",content:"In aggiunta a quanto specificato nella descrizione di ciascuna delle categorie di seguito riportate, gli Utenti possono ottenere informazioni più dettagliate ed aggiornate sulla durata, così come qualsiasi altra informazione rilevante - quale la presenza di altri Strumenti di Tracciamento - nelle privacy policy dei rispettivi fornitori terzi (tramite i link messi a disposizione) o contattando il Titolare.",index:5}],key:"info"},{title:"Attività strettamente necessarie a garantire il funzionamento di questo Sito Web e la fornitura del Servizio",index:1,paragraphs:[{key:"act1",content:"Questo Sito Web utilizza Cookie comunemente detti “tecnici” o altri Strumenti di Tracciamento analoghi per svolgere attività strettamente necessarie a garantire il funzionamento o la fornitura del Servizio.",index:0}],key:"technicals"},{title:"Attività connesse all'autenticazione degli utenti e alla gestione dei rispettivi dati",index:2,paragraphs:[{key:"auth0",content:`Questi vengono memorizzati quando accedi al sito ${e.site.name}, utilizzando il nostro servizio di autenticazione. Quando lo fai, accetti l'informativa sulla privacy associata.`,index:0}],key:"authentication"},{title:"Attività di analisi dell'utilizzo del Sito Web",index:3,paragraphs:[],key:"analytics"},{title:"Cookies di terze parti",index:4,paragraphs:[{key:"thr1",content:"Alcune delle nostre pagine mostrano contenuti di fornitori esterni, ad es. YouTube, Facebook e Twitter.",index:0},{key:"thr2",content:"Per visualizzare questo contenuto di terze parti, devi prima accettare i loro termini e condizioni specifici. Ciò include le loro politiche sui cookie, su cui non abbiamo alcun controllo.",index:1},{key:"thr3",content:"Se non visualizzi questo contenuto, sul tuo dispositivo non vengono installati cookie di terze parti.",index:2},{key:"thr4",content:"Provider dei sistemi di tracking di terze parti",list:[],index:3},{key:"thr5",content:`Questi servizi di terze parti sono al di fuori del controllo di ${e.company.name}. I fornitori possono, in qualsiasi momento, modificare i propri termini di servizio, finalità e utilizzo dei cookie, ecc.`,index:4}],key:"third-party"},{title:"Come posso gestire i cookies?",index:5,paragraphs:[{key:"mng1",title:"Cancellazione dei cookie dal tuo dispositivo",content:"Puoi eliminare tutti i cookie già presenti sul tuo dispositivo cancellando la cronologia di navigazione del tuo browser. Questo rimuoverà tutti i cookie da tutti i siti web che hai visitato. Tieni presente, tuttavia, che potresti anche perdere alcune informazioni salvate (ad es. dettagli di accesso salvati, preferenze del sito).",index:0},{key:"mng2",title:"Gestione di specifici cookie",content:"Per un controllo più dettagliato sui cookie specifici del sito, controlla le impostazioni sulla privacy e sui cookie nel tuo browser preferito.",index:1},{key:"mng3",title:"Blocco dei cookie",content:"Puoi impostare i browser più moderni in modo da impedire che qualsiasi cookie venga inserito sul tuo dispositivo, ma potresti dover modificare manualmente alcune preferenze ogni volta che visiti un sito/una pagina. Inoltre, alcuni servizi e funzionalità potrebbero non funzionare correttamente (ad es. accesso al profilo).",index:2},{key:"mng4",title:"Gestione dei cookie per analitici",content:`Puoi gestire le tue preferenze relative ai cookie da ${e.site.name} nella pagina dedicata del sito.`,index:3}],key:"managment"}]};if(null===(t=e.cookies)||void 0===t?void 0:t.length){const t=e.cookies.filter((e=>"technical"===e.type&&!e.third)).map((e=>ie(e))),p=e.cookies.filter((e=>"technical"===e.type&&e.third)).map((e=>ie(e)));(t.length||p.length)&&(t.length&&(null===(i=d.chapters.find((e=>"technicals"===e.key)))||void 0===i||i.paragraphs.push({content:`I dati tecnici raccolti dagli strumenti di tracking di ${e.site.name} sono:`,table:{headers:te,rows:t},key:"tda2",index:1})),p.length&&(null===(o=d.chapters.find((e=>"technicals"===e.key)))||void 0===o||o.paragraphs.push({content:"I dati tecnici raccolti dai cookie di terze parti sono:",table:{headers:te,rows:p},key:"tda3",index:2})));const u=e.cookies.filter((e=>"analytics"===e.type&&!e.third)).map((e=>ie(e))),m=e.cookies.filter((e=>"analytics"===e.type&&e.third)).map((e=>ie(e)));(u.length||m.length)&&(u.length&&(null===(n=d.chapters.find((e=>"analytics"===e.key)))||void 0===n||n.paragraphs.push({content:`I dati raccolti dagli strumenti di tracking di ${e.site.name} come strumento di analisi sono:`,table:{headers:te,rows:u},key:"ana1",index:0})),m.length&&(null===(a=d.chapters.find((e=>"analytics"===e.key)))||void 0===a||a.paragraphs.push({content:"I dati analitici raccolti dai cookie di terze parti sono:",table:{headers:te,rows:m},key:"ana2",index:1})));const h=e.cookies.filter((e=>"authentication"===e.type&&!e.third)).map((e=>ie(e))),g=e.cookies.filter((e=>"authentication"===e.type&&e.third)).map((e=>ie(e)));(h.length||g.length)&&(h.length&&(null===(r=d.chapters.find((e=>"authentication"===e.key)))||void 0===r||r.paragraphs.push({content:`I dati raccolti dagli strumenti di tracking di ${e.site.name} per l'autenticazione sono:`,table:{headers:te,rows:h},key:"auth1",index:0})),g.length&&(null===(l=d.chapters.find((e=>"authentication"===e.key)))||void 0===l||l.paragraphs.push({content:"I dati raccolti dai cookie di terze parti per l'autenticazione sono:",table:{headers:te,rows:g},key:"auth2",index:1})));const f=e.cookies.filter((e=>"advertising"===e.type)).map((e=>ie(e)));f.length&&(null===(s=d.chapters.find((e=>"advertising"===e.key)))||void 0===s||s.paragraphs.push({content:"I dati raccolti dai cookie pubblicitari di terze parti sono:",table:{headers:te,rows:f},key:"adv1",index:0}));const y=e.cookies.filter((e=>"third-party"===e.type)).map((e=>ie(e)));y.length&&(null===(c=d.chapters.find((e=>"third-party"===e.key)))||void 0===c||c.paragraphs.push({content:"I dati raccolti dai cookie di terze parti sono:",table:{headers:te,rows:y},key:"th1",index:0}))}return ee(d)}var ne={vars:[{name:"--bs-primary",valueType:"color",theme:"bootstrap",defaultValue:"#07689f"},{name:"--bs-secondary",valueType:"color",theme:"bootstrap",defaultValue:"#c9d6df"},{name:"--bs-success",valueType:"color",theme:"bootstrap",defaultValue:"#11d3bc"},{name:"--bs-info",valueType:"color",theme:"bootstrap",defaultValue:"#a2d5f2"},{name:"--bs-warning",valueType:"color",theme:"bootstrap",defaultValue:"#ffc107"},{name:"--bs-danger",valueType:"color",theme:"bootstrap",defaultValue:"#f67280"}],parts:[]};const ae={en:{accept:"I Agree",decline:"I Decline",learnmore:"Learn more",basicCookieLaw:"Noi e terze parti selezionate utilizziamo cookie o tecnologie simili per finalità tecniche e, con il tuo consenso, anche per altre finalità come specificato nella cookie policy.",cookieLawTitle:"Cookie Informations"},it:{accept:"Accetto",decline:"Rifiuto",learnmore:"Approfondisci",basicCookieLaw:"Noi e terze parti selezionate utilizziamo cookie o tecnologie simili per finalità tecniche e, con il tuo consenso, anche per altre finalità come specificato nella cookie policy.",cookieLawTitle:"Informativa sui cookie"}};function re(e,t,i){const o=e.slice();return o[11]=t[i],o}function le(e,t,i){const o=e.slice();return o[14]=t[i],o}function se(e,t,i){const o=e.slice();return o[17]=t[i],o}function ce(t){let i;return{c(){i=d("invalid doc params")},m(e,t){l(e,i,t)},p:e,d(e){e&&s(i)}}}function de(e){let t,i,o,n,a=e[1].title+"",h=[],f=new Map,y=e[1].chapters.filter(ze);const v=e=>e[11].key;for(let t=0;t<y.length;t+=1){let i=re(e,y,t),o=v(i);f.set(o,h[t]=ve(o,i))}return{c(){t=c("h1"),i=d(a),o=p();for(let e=0;e<h.length;e+=1)h[e].c();n=u(),m(t,"part","h1")},m(e,a){l(e,t,a),r(t,i),l(e,o,a);for(let t=0;t<h.length;t+=1)h[t].m(e,a);l(e,n,a)},p(e,t){2&t&&a!==(a=e[1].title+"")&&g(i,a),3&t&&(y=e[1].chapters.filter(ze),h=N(h,t,v,1,e,y,f,n.parentNode,A,ve,n,re))},d(e){e&&s(t),e&&s(o);for(let t=0;t<h.length;t+=1)h[t].d(e);e&&s(n)}}}function pe(e){let t,i,o,n,a,h,f=e[11].index+"",y=e[11].title+"",v=[],k=new Map,z=e[11].paragraphs.filter(be);const b=e=>e[14].key;for(let t=0;t<z.length;t+=1){let i=le(e,z,t),o=b(i);k.set(o,v[t]=ye(o,i))}return{c(){t=c("h2"),i=d(f),o=d(". "),n=d(y),a=p();for(let e=0;e<v.length;e+=1)v[e].c();h=u(),m(t,"part","h2")},m(e,s){l(e,t,s),r(t,i),r(t,o),r(t,n),l(e,a,s);for(let t=0;t<v.length;t+=1)v[t].m(e,s);l(e,h,s)},p(e,t){2&t&&f!==(f=e[11].index+"")&&g(i,f),2&t&&y!==(y=e[11].title+"")&&g(n,y),3&t&&(z=e[11].paragraphs.filter(be),v=N(v,t,b,1,e,z,k,h.parentNode,A,ye,h,le))},d(e){e&&s(t),e&&s(a);for(let t=0;t<v.length;t+=1)v[t].d(e);e&&s(h)}}}function ue(e){let t,i,o=e[14].title+"";return{c(){t=c("h3"),i=d(o)},m(e,o){l(e,t,o),r(t,i)},p(e,t){2&t&&o!==(o=e[14].title+"")&&g(i,o)},d(e){e&&s(t)}}}function me(e){let t,i,o=e[14].content+"";return{c(){t=c("p"),i=d(o),m(t,"part","p")},m(e,o){l(e,t,o),r(t,i)},p(e,t){2&t&&o!==(o=e[14].content+"")&&g(i,o)},d(e){e&&s(t)}}}function he(e){let t,i=[],o=new Map,n=e[14].list.filter(we);const a=e=>e[17].key;for(let t=0;t<n.length;t+=1){let r=se(e,n,t),l=a(r);o.set(l,i[t]=ge(l,r))}return{c(){t=c("ul");for(let e=0;e<i.length;e+=1)i[e].c();m(t,"part","ul")},m(e,o){l(e,t,o);for(let e=0;e<i.length;e+=1)i[e].m(t,null)},p(e,r){2&r&&(n=e[14].list.filter(we),i=N(i,r,a,1,e,n,o,t,A,ge,null,se))},d(e){e&&s(t);for(let e=0;e<i.length;e+=1)i[e].d()}}}function ge(e,t){let i,o,n=t[17].content+"";return{key:e,first:null,c(){i=c("li"),o=d(n),m(i,"part","li"),this.first=i},m(e,t){l(e,i,t),r(i,o)},p(e,i){t=e,2&i&&n!==(n=t[17].content+"")&&g(o,n)},d(e){e&&s(i)}}}function fe(e){let t,i,o;return{c(){t=c("hb-table"),h(t,"disablepagination","yes"),h(t,"size","1000"),h(t,"style",e[0]),h(t,"headers",i=JSON.stringify(e[14].table.headers)),h(t,"rows",o=JSON.stringify(e[14].table.rows))},m(e,i){l(e,t,i)},p(e,n){1&n&&h(t,"style",e[0]),2&n&&i!==(i=JSON.stringify(e[14].table.headers))&&h(t,"headers",i),2&n&&o!==(o=JSON.stringify(e[14].table.rows))&&h(t,"rows",o)},d(e){e&&s(t)}}}function ye(e,t){let i,o,n,a,r,c=t[14].title&&ue(t),d=t[14].content&&me(t),m=t[14].list?.length&&he(t),h=t[14].table?.headers&&t[14].table.rows?.length&&fe(t);return{key:e,first:null,c(){i=u(),c&&c.c(),o=p(),d&&d.c(),n=p(),m&&m.c(),a=p(),h&&h.c(),r=u(),this.first=i},m(e,t){l(e,i,t),c&&c.m(e,t),l(e,o,t),d&&d.m(e,t),l(e,n,t),m&&m.m(e,t),l(e,a,t),h&&h.m(e,t),l(e,r,t)},p(e,i){(t=e)[14].title?c?c.p(t,i):(c=ue(t),c.c(),c.m(o.parentNode,o)):c&&(c.d(1),c=null),t[14].content?d?d.p(t,i):(d=me(t),d.c(),d.m(n.parentNode,n)):d&&(d.d(1),d=null),t[14].list?.length?m?m.p(t,i):(m=he(t),m.c(),m.m(a.parentNode,a)):m&&(m.d(1),m=null),t[14].table?.headers&&t[14].table.rows?.length?h?h.p(t,i):(h=fe(t),h.c(),h.m(r.parentNode,r)):h&&(h.d(1),h=null)},d(e){e&&s(i),c&&c.d(e),e&&s(o),d&&d.d(e),e&&s(n),m&&m.d(e),e&&s(a),h&&h.d(e),e&&s(r)}}}function ve(e,t){let i,o,n=t[11].paragraphs?.length&&pe(t);return{key:e,first:null,c(){i=u(),n&&n.c(),o=u(),this.first=i},m(e,t){l(e,i,t),n&&n.m(e,t),l(e,o,t)},p(e,i){(t=e)[11].paragraphs?.length?n?n.p(t,i):(n=pe(t),n.c(),n.m(o.parentNode,o)):n&&(n.d(1),n=null)},d(e){e&&s(i),n&&n.d(e),e&&s(o)}}}function ke(t){let i;function o(e,t){return e[1]?.title&&e[1].chapters?.length?de:ce}let n=o(t),a=n(t);return{c(){a.c(),i=u(),this.c=e},m(e,t){a.m(e,t),l(e,i,t)},p(e,[t]){n===(n=o(e))&&a?a.p(e,t):(a.d(1),a=n(e),a&&(a.c(),a.m(i.parentNode,i)))},i:e,o:e,d(e){a.d(e),e&&s(i)}}}const ze=e=>e.key,be=e=>e.key,we=e=>e.key;function xe(e,t,i){k(),z();let o,n,a,{id:r}=t,{style:l}=t,{i18nlang:s}=t,{data:c}=t,d="";return Z.addComponent({repoName:"@htmlbricks/hb-table",version:F}),e.$$set=e=>{"id"in e&&i(2,r=e.id),"style"in e&&i(3,l=e.style),"i18nlang"in e&&i(4,s=e.i18nlang),"data"in e&&i(5,c=e.data)},e.$$.update=()=>{if(252&e.$$.dirty&&(r||i(2,r=""),l&&(i(6,o=H(l)),i(0,d=Z.getChildStyleToPass(o,null==ne?void 0:ne.vars))),n?n&&s&&n.lang&&n.lang!==s&&i(7,n=new Z.LanguageTranslator({dictionary:ae,lang:s})):i(7,n=new Z.LanguageTranslator({dictionary:ae,lang:s})),c&&"string"==typeof c))try{const e=JSON.parse(c);switch(e.id){case"privacy-doc-italian":i(1,a=function(e){var t,i,o,n,a,r,l,s,c,d;const p={id:e.id,title:"INFORMATIVA PRIVACY",int:{key:"it",flag:""},chapters:[{title:"Informazioni relative alla Privacy del sito",index:0,paragraphs:[{key:"i1",content:`In questa sezione sono contenute le informazioni relative alle modalità di gestione di ${e.site.name}, di\n\t\tproprietà di ${e.company.name}, in riferimento al trattamento dei dati degli utenti del sito stesso.`,index:0},{key:"i2",content:`La presente informativa ha valore anche ai fini dell'articolo 13 del Regolamento (UE) n. 2016/679, relativo alla protezione delle persone fisiche con\n\t\triguardo al trattamento dei dati personali nonché alla libera circolazione di tali dati, per i soggetti che interagiscono con ${e.site.name}`,index:1},{key:"i3",content:`L'informativa è resa solo per ${e.site.name} e non anche per altri siti web eventualmente consultati dall'utente tramite\n\t\tlink in esso contenuti.`,index:2},{key:"i4",content:`Scopo del presente documento è fornire indicazioni circa le modalità, i tempi e la natura delle informazioni che i titolari del trattamento devono\n\t\tfornire agli utenti al momento della connessione alle pagine web di ${e.site.name}, indipendentemente dagli scopi del\n\t\tcollegamento stesso, secondo la legislazione Italiana ed Europea.`,index:3},{key:"i5",content:"L'informativa può subire modifiche a causa dell'introduzione di nuove norme al riguardo, si invita pertanto l'utente a controllare periodicamente la\n\t\tpresente pagina.",index:4},{key:"i6",content:"Se l'utente ha meno di quattordici anni, ai sensi dell'art.8, c.1 regolamento (UE) 2016/679, e dell'Art. 2 - Quinquies del D.Lgs 196/2003, così come\n\t\tmodificato dal D.Lgs 181/18, dovrà legittimare il suo consenso attraverso l'autorizzazione dei genitori o di chi ne fa le veci.",index:5}],key:"info"},{title:"Titolare del trattamento",index:1,paragraphs:[{key:"t1",content:"Il titolare del trattamento è la persona fisica o giuridica, l'autorità pubblica, il servizio o altro organismo che, singolarmente o insieme ad\n\t\taltri, determina le finalità e i mezzi del trattamento di dati personali. Si occupa anche dei profili sulla sicurezza.",index:0},{key:"t2",content:`Relativamente al presente sito web il titolare del trattamento è: ${e.privacyAdmin.name}, e per\n\t\togni chiarimento o esercizio dei diritti dell'utente potrà contattarlo al seguente indirizzo mail: ${e.privacyAdmin.email}`,index:1}],key:"owner"},{title:"Luogo trattamento dati",index:2,paragraphs:[{key:"l1",content:`Il trattamento dei dati generato dall'utilizzo di ${e.site.name} avviene presso ${e.company.address}`,index:0},{key:"l2",content:"In caso di necessità, i dati connessi al servizio newsletter possono essere trattati dal responsabile del trattamento o soggetti da esso incaricati a\n\t\ttal fine presso la relativa sede.",index:1}],key:"location"},{title:"Base giuridica del trattamento",index:3,paragraphs:[{key:"b1",content:`Il trattamento dei dati personali da parte di ${e.site.name} si basa sul consenso – ai sensi dell'art. 6, par. 1, lett.\n\t\ta) del Regolamento UE 2016/679 – espresso dall'utente mediante la navigazione su questo sito web e la sua consultazione, così accettando la presente informativa.`,index:0},{key:"b2",content:`Il consenso è facoltativo e può essere revocato in qualsiasi momento mediante richiesta inviata a mezzo email a ${e.privacyAdmin.email} precisando che, in tal caso, in assenza di consenso non potranno essere erogati alcuni servizi e la navigazione sul sito web potrebbe essere compromessa.`,index:1}],key:"law"},{title:"Cookies",index:4,paragraphs:[{key:"c1",content:"In questa sezione viene descritto in che modo questo Sito e terze parti utilizzano i cookie e tecnologie similari. L'utilizzo dei cookie avviene nel\n\t\trispetto della relativa normativa europea (direttiva 2009/136/CE ha modificato la direttiva 2002/58/CE \"E Privacy) e nazionale (Provvedimento Garante\n\t\tper la protezione dei dati personali dell'8 maggio 2014 e successivi chiarimenti nonché Linee Guida cookie e altri strumenti di tracciamento del 10\n\t\tgiugno 2021 n.231).",index:0},{key:"c2",content:`Per avere informazioni complete riguardo ai cookies visitare la nostra cookie policy: ${e.site.cookiePolicyUri}`,index:1}],key:"cookies"},{title:"Tipologia di trattamento dati",index:5,paragraphs:[{key:"td1",content:`Il trattamento dei dati personali è necessario per il perseguimento del legittimo interesse del titolare del trattamento per finalità di fornire\n\t\tinformazioni circa l'attività di ${e.site.name} ai sensi dell'art. 6, par. 1, lett. f) del Regolamento UE 2016/679, nel\n\t\trispetto di quanto previsto dal medesimo Regolamento.`,index:0},{key:"td2",content:"Il presente sito fa uso di Log Files nei quali vengono conservate informazioni raccolte in maniera automatizzata durante le visite degli utenti. Tali informazioni sono trattate in forma automatizzata e raccolte in forma esclusivamente aggregata al fine di verificare il corretto\n\t\tfunzionamento del sito, e per motivi di sicurezza. Le informazioni saranno trattate in base ai legittimi interessi del titolare e potrebbero essere le seguenti:",list:[{key:"tdl1",content:"indirizzo internet protocol (IP)"},{key:"tdl2",content:"tipo di browser e parametri del dispositivo usato per connettersi al sito"},{key:"tdl3",content:"nome dell'internet service provider (ISP)"},{key:"tdl4",content:"data e orario di visita"},{key:"tdl5",content:"pagina web di provenienza del visitatore (referral) e di uscita"},{key:"tdl6",content:"eventualmente il numero di click"}],index:1},{key:"td3",content:"A fini di sicurezza (filtri antispam, firewall, rilevazione virus), i dati registrati automaticamente possono eventualmente comprendere anche dati\n\t\tpersonali come l'indirizzo Ip, che potrebbe essere utilizzato, conformemente alle leggi vigenti in materia, al fine di bloccare tentativi di\n\t\tdanneggiamento al sito medesimo o di recare danno ad altri utenti, o comunque attività dannose o costituenti reato. Tali dati non sono mai utilizzati\n\t\tper l'identificazione o la profilazione dell'utente, ma solo a fini di tutela del sito e dei suoi utenti, tali informazioni saranno trattate in base ai\n\t\tlegittimi interessi del titolare.",index:2}],key:"dataTerms"},{title:"Tipologia di dati acquisti",index:6,paragraphs:[{content:`${e.site.name} raccoglie i dati degli utenti direttamente dal sito o da terze parti. I dati sono necessari per la navigazione\n\t\tdel sito.`,key:"tda1",index:0}],key:"dataTypes"},{title:"Dati forniti dall'utente",index:7,paragraphs:[{content:"Qualora il sito consenta l'inserimento di commenti, oppure in caso di specifici servizi richiesti dall'utente, ivi compresi la possibilità di inviare\n\t\til Curriculum Vitae per un eventuale rapporto lavorativo, il sito rileva automaticamente e registra alcuni dati identificativi dell'utente, compreso\n\t\tl'indirizzo mail. Tali dati si intendono volontariamente forniti dall'utente al momento della richiesta di erogazione del servizio.",key:"tfa21",index:0},{key:"tfa22",content:"Inserendo un commento o altra informazione l'utente accetta espressamente l'informativa privacy. I dati ricevuti verranno utilizzati esclusivamente\n\t\tper l'erogazione del servizio richiesto e per il solo tempo necessario per la fornitura del servizio.",index:1},{key:"tfa23",content:"Le informazioni che gli utenti del sito riterranno di rendere pubbliche tramite i servizi e gli strumenti messi a disposizione degli stessi, sono\n\t\tfornite dall'utente consapevolmente e volontariamente, esentando il presente sito da qualsiasi responsabilità in merito ad eventuali violazioni delle\n\t\tleggi. Spetta all'utente verificare di avere i permessi per l'immissione di dati personali di terzi o di contenuti tutelati dalle norme nazionali ed\n\t\tinternazionali.",index:2},{key:"tfa24",content:"L'invio facoltativo, esplicito e volontario di posta elettronica agli indirizzi indicati su questo sito comporta la successiva acquisizione\n\t\tdell'indirizzo del mittente, necessario per rispondere alle richieste, nonché degli eventuali altri dati personali inseriti nella missiva.",index:3},{key:"tfa25",content:"Specifiche informative di sintesi verranno progressivamente riportate o visualizzate nelle pagine del sito predisposte per particolari servizi a\n\t\trichiesta.",index:4}],key:"dataFunctions"},{title:"Interazione social network",index:12,paragraphs:[{content:"Il presente sito incorpora anche plugin e/o bottoni per i social network, al fine di consentire una facile condivisione dei contenuti sui vostri\n\t\tsocial network preferiti. Tali plugin sono programmati in modo da non impostare alcun cookie all'accesso della pagina, per salvaguardare la privacy\n\t\tdegli utenti. Eventualmente i cookie vengono impostati, se così previsto dai social network, solo quando l'utente fa effettivo e volontario uso del\n\t\tplugin. Si tenga presente che se l'utente naviga avendo effettuato il login nel social network allora ha già acconsentito all'uso dei cookie veicolati\n\t\ttramite questo sito al momento dell'iscrizione al social network.",index:0,key:"isn1"},{content:`Questo tipo di servizi permette di effettuare interazioni con i social network, o con altre piattaforme esterne, direttamente dalle pagine di ${e.site.name}`,key:"isn2",index:1},{content:`Le interazioni e le informazioni acquisite da ${e.site.name} sono in ogni caso soggette alle impostazioni privacy\n\t\t\tdell'Utente relative ad ogni social network. Nel caso in cui sia installato un servizio di interazione con i social network, è possibile che, anche nel\n\t\t\tcaso gli Utenti non utilizzino il servizio, lo stesso raccolga dati di traffico relativi alle pagine in cui è installato.`,key:"isn3",index:2}],key:"socials"},{title:"Diritti dell'utente",index:13,paragraphs:[{content:"Viene garantito all'utente il rispetto dei suoi diritti nell'ambito della protezione dei dati personali. In linea con quanto ripreso e affermato dal\n\t\tGDPR, in relazione al trattamento dei propri dati personali, l'utente ha diritto di chiedere al Titolare:",list:[{key:"drl1",content:"L'accesso: l'utente può chiedere conferma che sia o meno in essere un trattamento di dati che lo riguarda, oltre a maggiori chiarimenti circa le\n\t\tinformazioni di cui alla presente informativa"},{key:"drl2",content:"La rettifica: può chiedere di rettificare o integrare i dati che ha fornito, qualora inesatti o incompleti"},{key:"drl3",content:"La cancellazione: può chiedere che i suoi dati vengano cancellati, qualora non siano più necessari alle nostre finalità, in caso di revoca del consenso o opposizione al trattamento, in caso di trattamento illecito, ovvero sussista un obbligo legale di cancellazione o si riferiscano a soggetti minori di anni quattordici;"},{key:"drl4",content:"La limitazione: può chiedere che i suoi dati siano trattati solo ai fini della conservazione, con esclusioni di altri trattamenti, per il periodo necessario alla rettifica dei suoi dati, in caso di trattamento illecito per il quale si opponga alla cancellazione, qualora lei debba esercitare i suoi diritti in sede giudiziaria e i dati conservati dal Titolare le possono essere utili e, infine, in caso di opposizione al trattamento e sia in corso una verifica sulla prevalenza dei motivi legittimi del Titolare rispetto ai suoi."},{key:"drl5",content:"L'opposizione: può opporsi in qualunque momento al trattamento dei suoi dati, salvo che vi siano motivi legittimi del Titolare per procedere al trattamento che prevalgano sui suoi, per esempio per l'esercizio o la propria difesa in sede giudiziaria."},{key:"drl6",content:"La portabilità: può chiedere di ricevere i suoi dati, o di farli trasmettere ad altro titolare da lei indicato, in un formato strutturato, di uso comune e leggibile da dispositivo automatico."},{key:"drl7",content:"La revoca: può revocare il suo consenso all'utilizzo di cookie (Cookie Policy) in qualsiasi momento, poiché in questo caso costituisca la base del trattamento. La revoca del consenso comunque non pregiudica la liceità del trattamento basata sul consenso svolto prima della revoca stessa."}],key:"du1",index:0},{key:"du2",content:`In qualsiasi momento l'utente può chiedere di esercitare i suddetti diritti a ${e.site.name} rivolgendosi all'indirizzo mail: ${e.privacyAdmin.email}`,index:1},{key:"du3",content:`Inoltre, l'utente ha diritto di proporre reclamo nei confronti dell'Autorità di controllo italiana: "Garante per la Protezione dei Dati Personali"\n\t\tnel caso in cui ritenga che i suoi diritti siano stati violati da ${e.site.name} o nel caso in cui non ritenga\n\t\tsoddisfacente la risposta di ${e.site.name} alle sue richieste.`,index:2}],key:"rights"},{title:"Trasferimento a Paesi extra UE",index:14,paragraphs:[{content:"Il presente sito potrebbe condividere alcuni dei dati raccolti con servizi localizzati al di fuori dell'area dell'Unione Europea. In particolare con\n\t\tGoogle, Facebook e Microsoft (LinkedIn) tramite i social plugin e il servizio di Google Analytics. Il trasferimento è autorizzato e strettamente\n\t\tregolato dall'articolo 45, comma 1 del Regolamento (UE) 2016/679, per cui non occorre ulteriore consenso.",key:"tpe1",index:0},{content:"Non verranno mai trasferiti dati a Paesi terzi che non rispettino le condizioni previste dall'articolo 45 e ss, del Regolamento (UE).",key:"tpe2",index:1}],key:"transferExtraEu"},{title:"Modifiche al presente documento",index:15,paragraphs:[{content:`Il presente documento, che costituisce la privacy policy di questo sito, è pubblicato all'indirizzo: ${e.site.privacyPolicyUri}`,key:"ts1",index:0},{key:"ts2",content:"Esso può essere soggetto a modifiche o aggiornamenti. Qualora si tratti di modifiche ed aggiornamenti rilevanti questi saranno segnalati con apposite\n\t\tnotifiche agli utenti.",index:1},{key:"ts3",content:"Le versioni precedenti del documento saranno comunque consultabili a questa pagina.",index:2},{key:"ts4",content:`Il documento è stato aggiornato in data ${new Date(e.date).toLocaleDateString("it-IT")} per essere conforme alle disposizioni normative in materia, ed in particolare in conformità al Regolamento (UE) 2016/679.`,index:3}],key:"timestamps"}]};if((null===(t=e.storage)||void 0===t?void 0:t.durate)&&p.chapters.push({title:"Conservazione Dati",index:9,paragraphs:[{content:`Conformemente a quanto prescritto dall'art. 5.1(c) del Regolamento, i sistemi informativi e i programmi informatici utilizzati da ${e.site.name} sono configurati in modo da ridurre al minimo l'uso di dati personali e identificativi; tali dati saranno trattati solo nella misura necessaria per il\n\t\tconseguimento delle finalità indicate nella presente Policy.`,key:"cd1",index:0},{key:"cd2",content:"I dati verranno conservati per il periodo di tempo strettamente necessario al conseguimento delle finalità in concreto perseguite e, in ogni caso, il\n\t\tcriterio utilizzato per determinare il periodo di conservazione è improntato al rispetto dei termini consentiti dalle leggi applicabili e dai principi\n\t\tdi minimizzazione del trattamento e limitazione della conservazione.",index:1},{key:"cd3",content:`Nello specifico, i dati verranno conservati per i seguenti periodi: ${e.storage.durate}`,index:2},{key:"cd4",content:"I dati utilizzati a fini di sicurezza (blocco tentativi di danneggiamento del sito) sono conservati per il tempo strettamente necessario al\n\t\traggiungimento del fine anteriormente indicato.",index:3},,],key:"dataStorage"}),e.socialNetworks){const t="Pulsante e widget sociali di Linkedin (LinkedIn Corporation). Il pulsante e i widget sociali di LinkedIn sono servizi di interazione con il\n\t\t\t\tsocial network Linkedin, forniti da LinkedIn Corporation. Dati Personali raccolti: Cookie e Dati di utilizzo. Luogo del trattamento: Stati Uniti\n\t\t\t\t– Privacy Policy: https://www.linkedin.com/legal/privacy-policy",i='Pulsante Mi Piace e widget sociali di Facebook (Facebook, Inc.) Il pulsante "Mi Piace" e i widget sociali di Facebook sono servizi di\n\t\t\t\tinterazione con il social network Facebook, forniti da Facebook, Inc. Dati Personali raccolti: Cookie e Dati di utilizzo. Luogo del trattamento:\n\t\t\t\tStati Uniti – Privacy Policy: https://www.facebook.com/privacy/explanation.',o="Pulsante +1 e widget sociali di Google+ (Google Inc.) Il pulsante +1 e i widget sociali di Google+ sono servizi di interazione con il social\n\t\t\t\tnetwork Google+, forniti da Google Inc. Dati Personali raccolti: Cookie e Dati di utilizzo. Luogo del trattamento: Stati Uniti – Privacy Policy:\n\t\t\t\thttps://policies.google.com/privacy?hl=it.",n="Pulsante Tweet e widget sociali di Twitter (Twitter, Inc.) Il pulsante Tweet e i widget sociali di Twitter sono servizi di interazione con il\n\t\t\t\tsocial network Twitter, forniti da Twitter, Inc. Dati Personali raccolti: Cookie e Dati di utilizzo. Luogo del trattamento: Stati Uniti –\n\t\t\t\tPrivacy Policy: https://twitter.com/en/privacy.",a="Pulsante Pin It e widget sociali di Pinterest (Pinterest Inc.)<br />Pulsante Pin It e i widget sociali di Pinterest sono servizi di interazione\n\t\t\t\tcon il social network Pinterest, fornito da Pinterest Inc.Dati Personali raccolti: Cookie e Dati di utilizzo. Luogo del trattamento: USA –\n\t\t\t\tPrivacy Policy: https://policy.pinterest.com/it/privacy-policy",r="Pulsante e widget sociali di Instagram (Instagram, Inc.)<br />Il pulsante e i widget sociali di Instagram sono servizi di interazione con il\n\t\t\t\tsocial network Instagram, fornito da Instagram, Inc. Dati Personali raccolti: Cookie e Dati di utilizzo Luogo del trattamento: USA – Privacy\n\t\t\t\tPolicy: https://help.instagram.com/196883487377501",l=[];e.socialNetworks.find((e=>"linkedin"===e.company.toLowerCase()))&&l.push({content:t,key:"linkedin"}),e.socialNetworks.find((e=>"facebook"===e.company.toLowerCase()))&&l.push({content:i,key:"facebook"}),e.socialNetworks.find((e=>"google"===e.company.toLowerCase()))&&l.push({content:o,key:"google"}),e.socialNetworks.find((e=>"twitter"===e.company.toLowerCase()))&&l.push({content:n,key:"twitter"}),e.socialNetworks.find((e=>"instagram"===e.company.toLowerCase()))&&l.push({content:r,key:"instagram"}),e.socialNetworks.find((e=>"pinterest"===e.company.toLowerCase()))&&l.push({content:a,key:"pinterest"});const s={content:`Le interazioni e le informazioni acquisite da ${e.site.name} sono in ogni caso soggette alle impostazioni privacy dell'Utente relative ad ogni social network. Nel caso in cui sia installato un servizio di interazione con i social network, è possibile che, anche nel caso gli Utenti non utilizzino il servizio, lo stesso raccolga dati di traffico relativi alle pagine in cui è installato.`,list:l,key:"isn4",index:3};p.chapters.find((e=>"socials"===e.key)).paragraphs.push(s)}if((null===(o=null===(i=e.collectedData)||void 0===i?void 0:i.dataTypes)||void 0===o?void 0:o.length)&&p.chapters.find((e=>"dataTypes"===e.key)).paragraphs.push({content:`I dati raccolti sono da ${e.site.name} sono:`,list:e.collectedData.dataTypes.map((e=>({content:e.label,key:e.label.replace(/ /g,"")}))),key:"tda2",index:1}),(null===(a=null===(n=e.collectedData)||void 0===n?void 0:n.scopes)||void 0===a?void 0:a.length)&&p.chapters.push({title:"Finalità del trattamento dati",index:8,paragraphs:[{content:"I dati raccolti dal sito durante il suo funzionamento sono utilizzati per finalità sopra indicate e per le seguenti finalità:",list:e.collectedData.scopes.map((e=>({content:e.label,key:e.label.replace(/ /g,"")}))),key:"ftd1",index:0}],key:"dataScopes"}),(null===(s=null===(l=null===(r=e.collectedData)||void 0===r?void 0:r.contactModule)||void 0===l?void 0:l.data)||void 0===s?void 0:s.length)&&p.chapters.push({title:"Moduli di contatto",index:11,paragraphs:[{content:"L'utente può compilare il/i moduli di contatto/richiesta informazioni, inserendo i propri dati e acconsentendo al loro uso per rispondere alle\n\t\trichieste di natura indicata nella intestazione del modulo.",key:"mc1",index:0},{content:"Dati personali che potrebbero essere raccolti:",list:e.collectedData.contactModule.data.map((e=>({content:e.label,key:e.label.replace(/ /g,"")}))),key:"mc2",index:1}],key:"contacts"}),null===(d=null===(c=e.payments)||void 0===c?void 0:c.companies)||void 0===d?void 0:d.length){const t="Pulsante di pagamento Stripe (Stripe Inc.). Pulsante di pagamento Stripe è un servizio di pagamento fornito da Stripe, Inc. Dati Personali raccolti: Cookie e Dati di utilizzo. Luogo del trattamento: USA – Privacy Policy: https://stripe.com/it/privacy",i="Pulsante di pagamento Paypal (PayPal Inc.). Pulsante di pagamento Paypal è un servizio di pagamento fornito da PayPal, Inc. Dati Personali raccolti: Cookie e Dati di utilizzo. Luogo del trattamento: USA – Privacy Policy: https://www.paypal.com/it/webapps/mpp/ua/privacy-full",o=[];e.payments.companies.find((e=>"stripe"===e.company.toLowerCase()))&&o.push({content:t,key:"stripe"}),e.payments.companies.find((e=>"paypal"===e.company.toLowerCase()))&&o.push({content:i,key:"paypal"}),p.chapters.push({title:"Pagamenti",index:10,paragraphs:[{content:`${e.site.name} utilizza servizi di pagamento per eseguire pagamenti con carta di credito, bonifico bancario o\n\t\t\taltri strumenti. ${e.site.name} non raccoglie o acquisisce i dati usati per il pagamento.`,key:"py1",index:0},{content:"I dati per il pagamento sono raccolti e acquisiti direttamente dal gestore del servizio di pagamento, come l'ente carta di credito, Paypal,\n\t\t\tStripe o simili. Questi servizi possono effettuare invio di messaggi verso l'utente, per esempio email o sms di notifiche del pagamento.",key:"py2",index:1},{content:"I dati acquisiti e l'utilizzo degli stessi da parte di servizi terzi sono regolamentati dalle rispettive Privacy Policy alle quali si prega di\n\t\t\tfare riferimento.",key:"py3",index:2},{content:"Lista dei principalii servizi di terze parti utilizzati per le finalità relative ai pagamenti:",key:"py4",list:o,index:3}],key:"payments"})}return ee(p)}(e));break;case"cookie-doc-italian":case"cookie-doc":i(1,a=oe(e));break;case"cookie-doc-english":i(1,a=function(e){var t,i,o,n,a,r,l,s,c;const d={id:e.id,title:`Cookie Policy of ${e.site.name}`,int:{key:"en",flag:""},chapters:[{title:"General Informations",index:0,paragraphs:[{key:"i1",content:"This document contains information about the technologies that allow this Website to achieve the purposes described below. These technologies allow the Owner to collect and save information (for example through the use of Cookies) or to use resources (for example by running a script) on the User's device when the latter interacts with this Website.",index:0},{key:"i2",content:'For the sake of simplicity, these technologies are briefly referred to in this document as "Tracking Tools", unless there is reason to differentiate. For example, although Cookies can be used in both web and mobile browsers, it would be out of place to speak of Cookies in the context of applications for mobile devices, since they are Tracking Tools that require the presence of a browser. For this reason, within this document the term Cookie is used only to specifically indicate that particular type of Tracking Tool.',index:1},{key:"i3",content:"Some of the purposes for which Tracking Tools are used may also require the User's consent, depending on the applicable law. If consent is given, it can be freely revoked at any time by following the instructions contained in this document.",index:2},{key:"i4",content:'This Website uses Tracking Tools managed directly by the Owner (commonly called "first party" Tracking Tools) and Tracking Tools that enable services provided by third parties (commonly called "third party" Tracking Tools). Unless otherwise specified in this document, these third parties have access to the respective Tracking Tools.',index:3},{key:"i5",content:"Duration and expiration of Cookies and other similar Tracking Tools may vary depending on what is set by the Owner or by each third party provider. Some of them expire at the end of the User's browsing session.",index:4},{key:"i6",content:"In addition to what is specified in the description of each of the categories listed below, Users can obtain more detailed and updated information on the duration, as well as any other relevant information - such as the presence of other Tracking Tools - in the privacy policies of their respective third party suppliers. (through the links made available) or by contacting the Data Controller.",index:5}],key:"info"},{title:"Attività strettamente necessarie a garantire il funzionamento di questo Sito Web e la fornitura del Servizio",index:1,paragraphs:[{key:"act1",content:'This Website uses Cookies commonly called "technical" or other similar Tracking Tools to carry out activities strictly necessary to ensure the functioning or provision of the Service.',index:0}],key:"technicals"},{title:"Activities related to user authentication and management of their data",index:2,paragraphs:[{key:"auth0",content:`These are stored when you log in to a ${e.site.name} site, using our authentication service. When you do this, you accept the associated privacy policy.`,index:0}],key:"authentication"},{title:"Analytics tracking tools",index:3,paragraphs:[],key:"analytics"},{title:"Third-party cookies",index:4,paragraphs:[{key:"thr1",content:"Some of our pages display content from external providers, e.g. YouTube, Facebook and Twitter.",index:0},{key:"thr2",content:"To view this third-party content, you first have to accept their specific terms and conditions. This includes their cookie policies, which we have no control over.",index:1},{key:"thr3",content:"If you do not view this content, no third-party cookies are installed on your device.",index:2},{key:"thr4",content:`Third-party providers on ${e.site.name} websites`,list:[],index:3},{key:"thr5",content:`These third-party services are outside of the control of ${e.company.name}. Providers may, at any time, change their terms of service, purpose and use of cookies, etc.`,index:4}],key:"third-party"},{title:"How can you manage cookies?",index:5,paragraphs:[{key:"mng1",title:"Removing cookies from your device",content:"You can delete all cookies that are already on your device by clearing the browsing history of your browser. This will remove all cookies from all websites you have visited. Be aware though that you may also lose some saved information (e.g. saved login details, site preferences).",index:0},{key:"mng2",title:"Managing site-specific cookies",content:"For more detailed control over site-specific cookies, check the privacy and cookie settings in your preferred browser.",index:1},{key:"mng3",title:"Blocking cookies",content:"You can set most modern browsers to prevent any cookies being placed on your device, but you may then have to manually adjust some preferences every time you visit a site/page. And some services and functionalities may not work properly at all (e.g. profile logging-in).",index:2},{key:"mng4",title:"Managing our analytics cookies",content:`You can manage your preferences concerning cookies from ${e.site.name} on the dedicated website page.`,index:3}],key:"managment"}]};if(null===(t=e.cookies)||void 0===t?void 0:t.length){const t=e.cookies.filter((e=>"technical"===e.type&&!e.third)).map((e=>ie(e))),p=e.cookies.filter((e=>"technical"===e.type&&e.third)).map((e=>ie(e)));(t.length||p.length)&&(t.length&&(null===(i=d.chapters.find((e=>"technicals"===e.key)))||void 0===i||i.paragraphs.push({content:`I dati raccolti dagli strumenti di tracking di ${e.site.name} sono:`,table:{headers:te,rows:t},key:"tda2",index:1})),p.length&&(null===(o=d.chapters.find((e=>"technicals"===e.key)))||void 0===o||o.paragraphs.push({content:"I dati raccolti dai cookie di terze parti sono:",table:{headers:te,rows:p},key:"tda3",index:2})));const u=e.cookies.filter((e=>"analytics"===e.type&&!e.third)).map((e=>ie(e))),m=e.cookies.filter((e=>"analytics"===e.type&&e.third)).map((e=>ie(e)));(u.length||m.length)&&(u.length&&(null===(n=d.chapters.find((e=>"analytics"===e.key)))||void 0===n||n.paragraphs.push({content:`Cookies collected from ${e.site.name} for analytics purpose are:`,table:{headers:te,rows:u},key:"ana1",index:0})),m.length&&(null===(a=d.chapters.find((e=>"analytics"===e.key)))||void 0===a||a.paragraphs.push({content:"Analytics data collected from third party cookies are:",table:{headers:te,rows:m},key:"ana2",index:1})));const h=e.cookies.filter((e=>"authentication"===e.type&&!e.third)).map((e=>ie(e))),g=e.cookies.filter((e=>"authentication"===e.type&&e.third)).map((e=>ie(e)));(h.length||g.length)&&(h.length&&(null===(r=d.chapters.find((e=>"authentication"===e.key)))||void 0===r||r.paragraphs.push({content:`Cookies collected from ${e.site.name} for authentication functionality are:`,table:{headers:te,rows:h},key:"auth1",index:0})),g.length&&(null===(l=d.chapters.find((e=>"authentication"===e.key)))||void 0===l||l.paragraphs.push({content:"Cookies collected from third party for authentication purpose are:",table:{headers:te,rows:g},key:"auth2",index:1})));const f=e.cookies.filter((e=>"advertising"===e.type)).map((e=>ie(e)));f.length&&(null===(s=d.chapters.find((e=>"advertising"===e.key)))||void 0===s||s.paragraphs.push({content:`Third Parties Cookie data for ${e.site.name} advertising are:`,table:{headers:te,rows:f},key:"adv1",index:0}));const y=e.cookies.filter((e=>"third-party"===e.type)).map((e=>ie(e)));y.length&&(null===(c=d.chapters.find((e=>"third-party"===e.key)))||void 0===c||c.paragraphs.push({content:`Third Parties Cookie data for ${e.site.name} are:`,table:{headers:te,rows:y},key:"th1",index:0}))}return ee(d)}(e))}}catch(e){console.error("parsing data",e)}},[d,a,r,l,s,c,o,n]}class $e extends M{constructor(e){super(),this.shadowRoot.innerHTML='<style>@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");:host{font-family:"Roboto", sans-serif}h3,p{margin-top:30px;line-height:1.5rem}h1{margin-top:60px}h2{margin-top:50px}li{margin-bottom:15px;line-height:1.5rem}hb-table{margin-bottom:60px;display:block}</style>',_(this,{target:this.shadowRoot,props:f(this.attributes),customElement:!0},xe,ke,a,{id:2,style:3,i18nlang:4,data:5},null),e&&(e.target&&l(e.target,this,e.anchor),e.props&&(this.$set(e.props),S()))}static get observedAttributes(){return["id","style","i18nlang","data"]}get id(){return this.$$.ctx[2]}set id(e){this.$$set({id:e}),S()}get style(){return this.$$.ctx[3]}set style(e){this.$$set({style:e}),S()}get i18nlang(){return this.$$.ctx[4]}set i18nlang(e){this.$$set({i18nlang:e}),S()}get data(){return this.$$.ctx[5]}set data(e){this.$$set({data:e}),S()}}return customElements.define("hb-terms-doc-templates",$e),$e}();
|
|
2
2
|
//# sourceMappingURL=release.js.map
|
package/release/release.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release.js","sources":["../../../node_modules/svelte/internal/index.mjs","../../../node_modules/inline-style-parser/index.js","../../../node_modules/style-to-object/index.js","../../../node_modules/wc-js-utils/main.js","../app/functions/utils.ts","../app/functions/cookieItContent.ts","../../table/release/docs.js","../app/functions/i18n.ts","../app/html/webcomponent.svelte","../app/functions/privacyItContent.ts","../app/functions/cookieEnContent.ts"],"sourcesContent":["function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction is_promise(value) {\n return value && typeof value === 'object' && typeof value.then === 'function';\n}\nfunction add_location(element, file, line, column, char) {\n element.__svelte_meta = {\n loc: { file, line, column, char }\n };\n}\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nlet src_url_equal_anchor;\nfunction src_url_equal(element_src, url) {\n if (!src_url_equal_anchor) {\n src_url_equal_anchor = document.createElement('a');\n }\n src_url_equal_anchor.href = url;\n return element_src === src_url_equal_anchor.href;\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction validate_store(store, name) {\n if (store != null && typeof store.subscribe !== 'function') {\n throw new Error(`'${name}' is not a store with a 'subscribe' method`);\n }\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction get_store_value(store) {\n let value;\n subscribe(store, _ => value = _)();\n return value;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction create_slot(definition, ctx, $$scope, fn) {\n if (definition) {\n const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n return definition[0](slot_ctx);\n }\n}\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n return definition[1] && fn\n ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))\n : $$scope.ctx;\n}\nfunction get_slot_changes(definition, $$scope, dirty, fn) {\n if (definition[2] && fn) {\n const lets = definition[2](fn(dirty));\n if ($$scope.dirty === undefined) {\n return lets;\n }\n if (typeof lets === 'object') {\n const merged = [];\n const len = Math.max($$scope.dirty.length, lets.length);\n for (let i = 0; i < len; i += 1) {\n merged[i] = $$scope.dirty[i] | lets[i];\n }\n return merged;\n }\n return $$scope.dirty | lets;\n }\n return $$scope.dirty;\n}\nfunction update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn) {\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn);\n}\nfunction get_all_dirty_from_scope($$scope) {\n if ($$scope.ctx.length > 32) {\n const dirty = [];\n const length = $$scope.ctx.length / 32;\n for (let i = 0; i < length; i++) {\n dirty[i] = -1;\n }\n return dirty;\n }\n return -1;\n}\nfunction exclude_internal_props(props) {\n const result = {};\n for (const k in props)\n if (k[0] !== '$')\n result[k] = props[k];\n return result;\n}\nfunction compute_rest_props(props, keys) {\n const rest = {};\n keys = new Set(keys);\n for (const k in props)\n if (!keys.has(k) && k[0] !== '$')\n rest[k] = props[k];\n return rest;\n}\nfunction compute_slots(slots) {\n const result = {};\n for (const key in slots) {\n result[key] = true;\n }\n return result;\n}\nfunction once(fn) {\n let ran = false;\n return function (...args) {\n if (ran)\n return;\n ran = true;\n fn.call(this, ...args);\n };\n}\nfunction null_to_empty(value) {\n return value == null ? '' : value;\n}\nfunction set_store_value(store, ret, value) {\n store.set(value);\n return ret;\n}\nconst has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\nconst is_client = typeof window !== 'undefined';\nlet now = is_client\n ? () => window.performance.now()\n : () => Date.now();\nlet raf = is_client ? cb => requestAnimationFrame(cb) : noop;\n// used internally for testing\nfunction set_now(fn) {\n now = fn;\n}\nfunction set_raf(fn) {\n raf = fn;\n}\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * For testing purposes only!\n */\nfunction clear_loops() {\n tasks.clear();\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\n\n// Track which nodes are claimed during hydration. Unclaimed nodes can then be removed from the DOM\n// at the end of hydration without touching the remaining nodes.\nlet is_hydrating = false;\nfunction start_hydrating() {\n is_hydrating = true;\n}\nfunction end_hydrating() {\n is_hydrating = false;\n}\nfunction upper_bound(low, high, key, value) {\n // Return first index of value larger than input value in the range [low, high)\n while (low < high) {\n const mid = low + ((high - low) >> 1);\n if (key(mid) <= value) {\n low = mid + 1;\n }\n else {\n high = mid;\n }\n }\n return low;\n}\nfunction init_hydrate(target) {\n if (target.hydrate_init)\n return;\n target.hydrate_init = true;\n // We know that all children have claim_order values since the unclaimed have been detached if target is not <head>\n let children = target.childNodes;\n // If target is <head>, there may be children without claim_order\n if (target.nodeName === 'HEAD') {\n const myChildren = [];\n for (let i = 0; i < children.length; i++) {\n const node = children[i];\n if (node.claim_order !== undefined) {\n myChildren.push(node);\n }\n }\n children = myChildren;\n }\n /*\n * Reorder claimed children optimally.\n * We can reorder claimed children optimally by finding the longest subsequence of\n * nodes that are already claimed in order and only moving the rest. The longest\n * subsequence subsequence of nodes that are claimed in order can be found by\n * computing the longest increasing subsequence of .claim_order values.\n *\n * This algorithm is optimal in generating the least amount of reorder operations\n * possible.\n *\n * Proof:\n * We know that, given a set of reordering operations, the nodes that do not move\n * always form an increasing subsequence, since they do not move among each other\n * meaning that they must be already ordered among each other. Thus, the maximal\n * set of nodes that do not move form a longest increasing subsequence.\n */\n // Compute longest increasing subsequence\n // m: subsequence length j => index k of smallest value that ends an increasing subsequence of length j\n const m = new Int32Array(children.length + 1);\n // Predecessor indices + 1\n const p = new Int32Array(children.length);\n m[0] = -1;\n let longest = 0;\n for (let i = 0; i < children.length; i++) {\n const current = children[i].claim_order;\n // Find the largest subsequence length such that it ends in a value less than our current value\n // upper_bound returns first greater value, so we subtract one\n // with fast path for when we are on the current longest subsequence\n const seqLen = ((longest > 0 && children[m[longest]].claim_order <= current) ? longest + 1 : upper_bound(1, longest, idx => children[m[idx]].claim_order, current)) - 1;\n p[i] = m[seqLen] + 1;\n const newLen = seqLen + 1;\n // We can guarantee that current is the smallest value. Otherwise, we would have generated a longer sequence.\n m[newLen] = i;\n longest = Math.max(newLen, longest);\n }\n // The longest increasing subsequence of nodes (initially reversed)\n const lis = [];\n // The rest of the nodes, nodes that will be moved\n const toMove = [];\n let last = children.length - 1;\n for (let cur = m[longest] + 1; cur != 0; cur = p[cur - 1]) {\n lis.push(children[cur - 1]);\n for (; last >= cur; last--) {\n toMove.push(children[last]);\n }\n last--;\n }\n for (; last >= 0; last--) {\n toMove.push(children[last]);\n }\n lis.reverse();\n // We sort the nodes being moved to guarantee that their insertion order matches the claim order\n toMove.sort((a, b) => a.claim_order - b.claim_order);\n // Finally, we move the nodes\n for (let i = 0, j = 0; i < toMove.length; i++) {\n while (j < lis.length && toMove[i].claim_order >= lis[j].claim_order) {\n j++;\n }\n const anchor = j < lis.length ? lis[j] : null;\n target.insertBefore(toMove[i], anchor);\n }\n}\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction append_styles(target, style_sheet_id, styles) {\n const append_styles_to = get_root_for_style(target);\n if (!append_styles_to.getElementById(style_sheet_id)) {\n const style = element('style');\n style.id = style_sheet_id;\n style.textContent = styles;\n append_stylesheet(append_styles_to, style);\n }\n}\nfunction get_root_for_style(node) {\n if (!node)\n return document;\n const root = node.getRootNode ? node.getRootNode() : node.ownerDocument;\n if (root && root.host) {\n return root;\n }\n return node.ownerDocument;\n}\nfunction append_empty_stylesheet(node) {\n const style_element = element('style');\n append_stylesheet(get_root_for_style(node), style_element);\n return style_element.sheet;\n}\nfunction append_stylesheet(node, style) {\n append(node.head || node, style);\n}\nfunction append_hydration(target, node) {\n if (is_hydrating) {\n init_hydrate(target);\n if ((target.actual_end_child === undefined) || ((target.actual_end_child !== null) && (target.actual_end_child.parentElement !== target))) {\n target.actual_end_child = target.firstChild;\n }\n // Skip nodes of undefined ordering\n while ((target.actual_end_child !== null) && (target.actual_end_child.claim_order === undefined)) {\n target.actual_end_child = target.actual_end_child.nextSibling;\n }\n if (node !== target.actual_end_child) {\n // We only insert if the ordering of this node should be modified or the parent node is not target\n if (node.claim_order !== undefined || node.parentNode !== target) {\n target.insertBefore(node, target.actual_end_child);\n }\n }\n else {\n target.actual_end_child = node.nextSibling;\n }\n }\n else if (node.parentNode !== target || node.nextSibling !== null) {\n target.appendChild(node);\n }\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction insert_hydration(target, node, anchor) {\n if (is_hydrating && !anchor) {\n append_hydration(target, node);\n }\n else if (node.parentNode !== target || node.nextSibling != anchor) {\n target.insertBefore(node, anchor || null);\n }\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction destroy_each(iterations, detaching) {\n for (let i = 0; i < iterations.length; i += 1) {\n if (iterations[i])\n iterations[i].d(detaching);\n }\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction element_is(name, is) {\n return document.createElement(name, { is });\n}\nfunction object_without_properties(obj, exclude) {\n const target = {};\n for (const k in obj) {\n if (has_prop(obj, k)\n // @ts-ignore\n && exclude.indexOf(k) === -1) {\n // @ts-ignore\n target[k] = obj[k];\n }\n }\n return target;\n}\nfunction svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction space() {\n return text(' ');\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction prevent_default(fn) {\n return function (event) {\n event.preventDefault();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_propagation(fn) {\n return function (event) {\n event.stopPropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction self(fn) {\n return function (event) {\n // @ts-ignore\n if (event.target === this)\n fn.call(this, event);\n };\n}\nfunction trusted(fn) {\n return function (event) {\n // @ts-ignore\n if (event.isTrusted)\n fn.call(this, event);\n };\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_attributes(node, attributes) {\n // @ts-ignore\n const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n for (const key in attributes) {\n if (attributes[key] == null) {\n node.removeAttribute(key);\n }\n else if (key === 'style') {\n node.style.cssText = attributes[key];\n }\n else if (key === '__value') {\n node.value = node[key] = attributes[key];\n }\n else if (descriptors[key] && descriptors[key].set) {\n node[key] = attributes[key];\n }\n else {\n attr(node, key, attributes[key]);\n }\n }\n}\nfunction set_svg_attributes(node, attributes) {\n for (const key in attributes) {\n attr(node, key, attributes[key]);\n }\n}\nfunction set_custom_element_data(node, prop, value) {\n if (prop in node) {\n node[prop] = typeof node[prop] === 'boolean' && value === '' ? true : value;\n }\n else {\n attr(node, prop, value);\n }\n}\nfunction xlink_attr(node, attribute, value) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\nfunction get_binding_group_value(group, __value, checked) {\n const value = new Set();\n for (let i = 0; i < group.length; i += 1) {\n if (group[i].checked)\n value.add(group[i].__value);\n }\n if (!checked) {\n value.delete(__value);\n }\n return Array.from(value);\n}\nfunction to_number(value) {\n return value === '' ? null : +value;\n}\nfunction time_ranges_to_array(ranges) {\n const array = [];\n for (let i = 0; i < ranges.length; i += 1) {\n array.push({ start: ranges.start(i), end: ranges.end(i) });\n }\n return array;\n}\nfunction children(element) {\n return Array.from(element.childNodes);\n}\nfunction init_claim_info(nodes) {\n if (nodes.claim_info === undefined) {\n nodes.claim_info = { last_index: 0, total_claimed: 0 };\n }\n}\nfunction claim_node(nodes, predicate, processNode, createNode, dontUpdateLastIndex = false) {\n // Try to find nodes in an order such that we lengthen the longest increasing subsequence\n init_claim_info(nodes);\n const resultNode = (() => {\n // We first try to find an element after the previous one\n for (let i = nodes.claim_info.last_index; i < nodes.length; i++) {\n const node = nodes[i];\n if (predicate(node)) {\n const replacement = processNode(node);\n if (replacement === undefined) {\n nodes.splice(i, 1);\n }\n else {\n nodes[i] = replacement;\n }\n if (!dontUpdateLastIndex) {\n nodes.claim_info.last_index = i;\n }\n return node;\n }\n }\n // Otherwise, we try to find one before\n // We iterate in reverse so that we don't go too far back\n for (let i = nodes.claim_info.last_index - 1; i >= 0; i--) {\n const node = nodes[i];\n if (predicate(node)) {\n const replacement = processNode(node);\n if (replacement === undefined) {\n nodes.splice(i, 1);\n }\n else {\n nodes[i] = replacement;\n }\n if (!dontUpdateLastIndex) {\n nodes.claim_info.last_index = i;\n }\n else if (replacement === undefined) {\n // Since we spliced before the last_index, we decrease it\n nodes.claim_info.last_index--;\n }\n return node;\n }\n }\n // If we can't find any matching node, we create a new one\n return createNode();\n })();\n resultNode.claim_order = nodes.claim_info.total_claimed;\n nodes.claim_info.total_claimed += 1;\n return resultNode;\n}\nfunction claim_element_base(nodes, name, attributes, create_element) {\n return claim_node(nodes, (node) => node.nodeName === name, (node) => {\n const remove = [];\n for (let j = 0; j < node.attributes.length; j++) {\n const attribute = node.attributes[j];\n if (!attributes[attribute.name]) {\n remove.push(attribute.name);\n }\n }\n remove.forEach(v => node.removeAttribute(v));\n return undefined;\n }, () => create_element(name));\n}\nfunction claim_element(nodes, name, attributes) {\n return claim_element_base(nodes, name, attributes, element);\n}\nfunction claim_svg_element(nodes, name, attributes) {\n return claim_element_base(nodes, name, attributes, svg_element);\n}\nfunction claim_text(nodes, data) {\n return claim_node(nodes, (node) => node.nodeType === 3, (node) => {\n const dataStr = '' + data;\n if (node.data.startsWith(dataStr)) {\n if (node.data.length !== dataStr.length) {\n return node.splitText(dataStr.length);\n }\n }\n else {\n node.data = dataStr;\n }\n }, () => text(data), true // Text nodes should not update last index since it is likely not worth it to eliminate an increasing subsequence of actual elements\n );\n}\nfunction claim_space(nodes) {\n return claim_text(nodes, ' ');\n}\nfunction find_comment(nodes, text, start) {\n for (let i = start; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeType === 8 /* comment node */ && node.textContent.trim() === text) {\n return i;\n }\n }\n return nodes.length;\n}\nfunction claim_html_tag(nodes, is_svg) {\n // find html opening tag\n const start_index = find_comment(nodes, 'HTML_TAG_START', 0);\n const end_index = find_comment(nodes, 'HTML_TAG_END', start_index);\n if (start_index === end_index) {\n return new HtmlTagHydration(undefined, is_svg);\n }\n init_claim_info(nodes);\n const html_tag_nodes = nodes.splice(start_index, end_index - start_index + 1);\n detach(html_tag_nodes[0]);\n detach(html_tag_nodes[html_tag_nodes.length - 1]);\n const claimed_nodes = html_tag_nodes.slice(1, html_tag_nodes.length - 1);\n for (const n of claimed_nodes) {\n n.claim_order = nodes.claim_info.total_claimed;\n nodes.claim_info.total_claimed += 1;\n }\n return new HtmlTagHydration(claimed_nodes, is_svg);\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_input_type(input, type) {\n try {\n input.type = type;\n }\n catch (e) {\n // do nothing\n }\n}\nfunction set_style(node, key, value, important) {\n if (value === null) {\n node.style.removeProperty(key);\n }\n else {\n node.style.setProperty(key, value, important ? 'important' : '');\n }\n}\nfunction select_option(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n if (option.__value === value) {\n option.selected = true;\n return;\n }\n }\n select.selectedIndex = -1; // no option should be selected\n}\nfunction select_options(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n option.selected = ~value.indexOf(option.__value);\n }\n}\nfunction select_value(select) {\n const selected_option = select.querySelector(':checked') || select.options[0];\n return selected_option && selected_option.__value;\n}\nfunction select_multiple_value(select) {\n return [].map.call(select.querySelectorAll(':checked'), option => option.__value);\n}\n// unfortunately this can't be a constant as that wouldn't be tree-shakeable\n// so we cache the result instead\nlet crossorigin;\nfunction is_crossorigin() {\n if (crossorigin === undefined) {\n crossorigin = false;\n try {\n if (typeof window !== 'undefined' && window.parent) {\n void window.parent.document;\n }\n }\n catch (error) {\n crossorigin = true;\n }\n }\n return crossorigin;\n}\nfunction add_resize_listener(node, fn) {\n const computed_style = getComputedStyle(node);\n if (computed_style.position === 'static') {\n node.style.position = 'relative';\n }\n const iframe = element('iframe');\n iframe.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ' +\n 'overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: -1;');\n iframe.setAttribute('aria-hidden', 'true');\n iframe.tabIndex = -1;\n const crossorigin = is_crossorigin();\n let unsubscribe;\n if (crossorigin) {\n iframe.src = \"data:text/html,<script>onresize=function(){parent.postMessage(0,'*')}</script>\";\n unsubscribe = listen(window, 'message', (event) => {\n if (event.source === iframe.contentWindow)\n fn();\n });\n }\n else {\n iframe.src = 'about:blank';\n iframe.onload = () => {\n unsubscribe = listen(iframe.contentWindow, 'resize', fn);\n };\n }\n append(node, iframe);\n return () => {\n if (crossorigin) {\n unsubscribe();\n }\n else if (unsubscribe && iframe.contentWindow) {\n unsubscribe();\n }\n detach(iframe);\n };\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail, { bubbles = false, cancelable = false } = {}) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, bubbles, cancelable, detail);\n return e;\n}\nfunction query_selector_all(selector, parent = document.body) {\n return Array.from(parent.querySelectorAll(selector));\n}\nclass HtmlTag {\n constructor(is_svg = false) {\n this.is_svg = false;\n this.is_svg = is_svg;\n this.e = this.n = null;\n }\n c(html) {\n this.h(html);\n }\n m(html, target, anchor = null) {\n if (!this.e) {\n if (this.is_svg)\n this.e = svg_element(target.nodeName);\n else\n this.e = element(target.nodeName);\n this.t = target;\n this.c(html);\n }\n this.i(anchor);\n }\n h(html) {\n this.e.innerHTML = html;\n this.n = Array.from(this.e.childNodes);\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert(this.t, this.n[i], anchor);\n }\n }\n p(html) {\n this.d();\n this.h(html);\n this.i(this.a);\n }\n d() {\n this.n.forEach(detach);\n }\n}\nclass HtmlTagHydration extends HtmlTag {\n constructor(claimed_nodes, is_svg = false) {\n super(is_svg);\n this.e = this.n = null;\n this.l = claimed_nodes;\n }\n c(html) {\n if (this.l) {\n this.n = this.l;\n }\n else {\n super.c(html);\n }\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert_hydration(this.t, this.n[i], anchor);\n }\n }\n}\nfunction attribute_to_object(attributes) {\n const result = {};\n for (const attribute of attributes) {\n result[attribute.name] = attribute.value;\n }\n return result;\n}\nfunction get_custom_elements_slots(element) {\n const result = {};\n element.childNodes.forEach((node) => {\n result[node.slot || 'default'] = true;\n });\n return result;\n}\n\n// we need to store the information for multiple documents because a Svelte application could also contain iframes\n// https://github.com/sveltejs/svelte/issues/3624\nconst managed_styles = new Map();\nlet active = 0;\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i--)\n hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n return hash >>> 0;\n}\nfunction create_style_information(doc, node) {\n const info = { stylesheet: append_empty_stylesheet(node), rules: {} };\n managed_styles.set(doc, info);\n return info;\n}\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `__svelte_${hash(rule)}_${uid}`;\n const doc = get_root_for_style(node);\n const { stylesheet, rules } = managed_styles.get(doc) || create_style_information(doc, node);\n if (!rules[name]) {\n rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ''}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n const previous = (node.style.animation || '').split(', ');\n const next = previous.filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations\n );\n const deleted = previous.length - next.length;\n if (deleted) {\n node.style.animation = next.join(', ');\n active -= deleted;\n if (!active)\n clear_rules();\n }\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n managed_styles.forEach(info => {\n const { stylesheet } = info;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n info.rules = {};\n });\n managed_styles.clear();\n });\n}\n\nfunction create_animation(node, from, fn, params) {\n if (!from)\n return noop;\n const to = node.getBoundingClientRect();\n if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom)\n return noop;\n const { delay = 0, duration = 300, easing = identity, \n // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?\n start: start_time = now() + delay, \n // @ts-ignore todo:\n end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params);\n let running = true;\n let started = false;\n let name;\n function start() {\n if (css) {\n name = create_rule(node, 0, 1, duration, delay, easing, css);\n }\n if (!delay) {\n started = true;\n }\n }\n function stop() {\n if (css)\n delete_rule(node, name);\n running = false;\n }\n loop(now => {\n if (!started && now >= start_time) {\n started = true;\n }\n if (started && now >= end) {\n tick(1, 0);\n stop();\n }\n if (!running) {\n return false;\n }\n if (started) {\n const p = now - start_time;\n const t = 0 + 1 * easing(p / duration);\n tick(t, 1 - t);\n }\n return true;\n });\n start();\n tick(0, 1);\n return stop;\n}\nfunction fix_position(node) {\n const style = getComputedStyle(node);\n if (style.position !== 'absolute' && style.position !== 'fixed') {\n const { width, height } = style;\n const a = node.getBoundingClientRect();\n node.style.position = 'absolute';\n node.style.width = width;\n node.style.height = height;\n add_transform(node, a);\n }\n}\nfunction add_transform(node, a) {\n const b = node.getBoundingClientRect();\n if (a.left !== b.left || a.top !== b.top) {\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\nfunction get_current_component() {\n if (!current_component)\n throw new Error('Function called outside component initialization');\n return current_component;\n}\nfunction beforeUpdate(fn) {\n get_current_component().$$.before_update.push(fn);\n}\nfunction onMount(fn) {\n get_current_component().$$.on_mount.push(fn);\n}\nfunction afterUpdate(fn) {\n get_current_component().$$.after_update.push(fn);\n}\nfunction onDestroy(fn) {\n get_current_component().$$.on_destroy.push(fn);\n}\nfunction createEventDispatcher() {\n const component = get_current_component();\n return (type, detail, { cancelable = false } = {}) => {\n const callbacks = component.$$.callbacks[type];\n if (callbacks) {\n // TODO are there situations where events could be dispatched\n // in a server (non-DOM) environment?\n const event = custom_event(type, detail, { cancelable });\n callbacks.slice().forEach(fn => {\n fn.call(component, event);\n });\n return !event.defaultPrevented;\n }\n return true;\n };\n}\nfunction setContext(key, context) {\n get_current_component().$$.context.set(key, context);\n return context;\n}\nfunction getContext(key) {\n return get_current_component().$$.context.get(key);\n}\nfunction getAllContexts() {\n return get_current_component().$$.context;\n}\nfunction hasContext(key) {\n return get_current_component().$$.context.has(key);\n}\n// TODO figure out if we still want to support\n// shorthand events, or if we want to implement\n// a real bubbling mechanism\nfunction bubble(component, event) {\n const callbacks = component.$$.callbacks[event.type];\n if (callbacks) {\n // @ts-ignore\n callbacks.slice().forEach(fn => fn.call(this, event));\n }\n}\n\nconst dirty_components = [];\nconst intros = { enabled: false };\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\nfunction add_flush_callback(fn) {\n flush_callbacks.push(fn);\n}\n// flush() calls callbacks in this order:\n// 1. All beforeUpdate callbacks, in order: parents before children\n// 2. All bind:this callbacks, in reverse order: children before parents.\n// 3. All afterUpdate callbacks, in order: parents before children. EXCEPT\n// for afterUpdates called during the initial onMount, which are called in\n// reverse order: children before parents.\n// Since callbacks might update component values, which could trigger another\n// call to flush(), the following steps guard against this:\n// 1. During beforeUpdate, any updated components will be added to the\n// dirty_components array and will cause a reentrant call to flush(). Because\n// the flush index is kept outside the function, the reentrant call will pick\n// up where the earlier call left off and go through all dirty components. The\n// current_component value is saved and restored so that the reentrant call will\n// not interfere with the \"parent\" flush() call.\n// 2. bind:this callbacks cannot trigger new flush() calls.\n// 3. During afterUpdate, any updated components will NOT have their afterUpdate\n// callback called a second time; the seen_callbacks set, outside the flush()\n// function, guarantees this behavior.\nconst seen_callbacks = new Set();\nlet flushidx = 0; // Do *not* move this inside the flush() function\nfunction flush() {\n const saved_component = current_component;\n do {\n // first, call beforeUpdate functions\n // and update components\n while (flushidx < dirty_components.length) {\n const component = dirty_components[flushidx];\n flushidx++;\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n flushidx = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n seen_callbacks.clear();\n set_current_component(saved_component);\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n else if (callback) {\n callback();\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n started = true;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_bidirectional_transition(node, fn, params, intro) {\n let config = fn(node, params);\n let t = intro ? 0 : 1;\n let running_program = null;\n let pending_program = null;\n let animation_name = null;\n function clear_animation() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function init(program, duration) {\n const d = (program.b - t);\n duration *= Math.abs(d);\n return {\n a: t,\n b: program.b,\n d,\n duration,\n start: program.start,\n end: program.start + duration,\n group: program.group\n };\n }\n function go(b) {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n const program = {\n start: now() + delay,\n b\n };\n if (!b) {\n // @ts-ignore todo: improve typings\n program.group = outros;\n outros.r += 1;\n }\n if (running_program || pending_program) {\n pending_program = program;\n }\n else {\n // if this is an intro, and there's a delay, we need to do\n // an initial tick and/or apply CSS animation immediately\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, b, duration, delay, easing, css);\n }\n if (b)\n tick(0, 1);\n running_program = init(program, duration);\n add_render_callback(() => dispatch(node, b, 'start'));\n loop(now => {\n if (pending_program && now > pending_program.start) {\n running_program = init(pending_program, duration);\n pending_program = null;\n dispatch(node, running_program.b, 'start');\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css);\n }\n }\n if (running_program) {\n if (now >= running_program.end) {\n tick(t = running_program.b, 1 - t);\n dispatch(node, running_program.b, 'end');\n if (!pending_program) {\n // we're done\n if (running_program.b) {\n // intro — we can tidy up immediately\n clear_animation();\n }\n else {\n // outro — needs to be coordinated\n if (!--running_program.group.r)\n run_all(running_program.group.c);\n }\n }\n running_program = null;\n }\n else if (now >= running_program.start) {\n const p = now - running_program.start;\n t = running_program.a + running_program.d * easing(p / running_program.duration);\n tick(t, 1 - t);\n }\n }\n return !!(running_program || pending_program);\n });\n }\n }\n return {\n run(b) {\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go(b);\n });\n }\n else {\n go(b);\n }\n },\n end() {\n clear_animation();\n running_program = pending_program = null;\n }\n };\n}\n\nfunction handle_promise(promise, info) {\n const token = info.token = {};\n function update(type, index, key, value) {\n if (info.token !== token)\n return;\n info.resolved = value;\n let child_ctx = info.ctx;\n if (key !== undefined) {\n child_ctx = child_ctx.slice();\n child_ctx[key] = value;\n }\n const block = type && (info.current = type)(child_ctx);\n let needs_flush = false;\n if (info.block) {\n if (info.blocks) {\n info.blocks.forEach((block, i) => {\n if (i !== index && block) {\n group_outros();\n transition_out(block, 1, 1, () => {\n if (info.blocks[i] === block) {\n info.blocks[i] = null;\n }\n });\n check_outros();\n }\n });\n }\n else {\n info.block.d(1);\n }\n block.c();\n transition_in(block, 1);\n block.m(info.mount(), info.anchor);\n needs_flush = true;\n }\n info.block = block;\n if (info.blocks)\n info.blocks[index] = block;\n if (needs_flush) {\n flush();\n }\n }\n if (is_promise(promise)) {\n const current_component = get_current_component();\n promise.then(value => {\n set_current_component(current_component);\n update(info.then, 1, info.value, value);\n set_current_component(null);\n }, error => {\n set_current_component(current_component);\n update(info.catch, 2, info.error, error);\n set_current_component(null);\n if (!info.hasCatch) {\n throw error;\n }\n });\n // if we previously had a then/catch block, destroy it\n if (info.current !== info.pending) {\n update(info.pending, 0);\n return true;\n }\n }\n else {\n if (info.current !== info.then) {\n update(info.then, 1, info.value, promise);\n return true;\n }\n info.resolved = promise;\n }\n}\nfunction update_await_block_branch(info, ctx, dirty) {\n const child_ctx = ctx.slice();\n const { resolved } = info;\n if (info.current === info.then) {\n child_ctx[info.value] = resolved;\n }\n if (info.current === info.catch) {\n child_ctx[info.error] = resolved;\n }\n info.block.p(child_ctx, dirty);\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction outro_and_destroy_block(block, lookup) {\n transition_out(block, 1, 1, () => {\n lookup.delete(block.key);\n });\n}\nfunction fix_and_destroy_block(block, lookup) {\n block.f();\n destroy_block(block, lookup);\n}\nfunction fix_and_outro_and_destroy_block(block, lookup) {\n block.f();\n outro_and_destroy_block(block, lookup);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction validate_each_keys(ctx, list, get_context, get_key) {\n const keys = new Set();\n for (let i = 0; i < list.length; i++) {\n const key = get_key(get_context(ctx, list, i));\n if (keys.has(key)) {\n throw new Error('Cannot have duplicate keys in a keyed each');\n }\n keys.add(key);\n }\n}\n\nfunction get_spread_update(levels, updates) {\n const update = {};\n const to_null_out = {};\n const accounted_for = { $$scope: 1 };\n let i = levels.length;\n while (i--) {\n const o = levels[i];\n const n = updates[i];\n if (n) {\n for (const key in o) {\n if (!(key in n))\n to_null_out[key] = 1;\n }\n for (const key in n) {\n if (!accounted_for[key]) {\n update[key] = n[key];\n accounted_for[key] = 1;\n }\n }\n levels[i] = n;\n }\n else {\n for (const key in o) {\n accounted_for[key] = 1;\n }\n }\n }\n for (const key in to_null_out) {\n if (!(key in update))\n update[key] = undefined;\n }\n return update;\n}\nfunction get_spread_object(spread_props) {\n return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};\n}\n\n// source: https://html.spec.whatwg.org/multipage/indices.html\nconst boolean_attributes = new Set([\n 'allowfullscreen',\n 'allowpaymentrequest',\n 'async',\n 'autofocus',\n 'autoplay',\n 'checked',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'formnovalidate',\n 'hidden',\n 'ismap',\n 'loop',\n 'multiple',\n 'muted',\n 'nomodule',\n 'novalidate',\n 'open',\n 'playsinline',\n 'readonly',\n 'required',\n 'reversed',\n 'selected'\n]);\n\nconst void_element_names = /^(?:area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)$/;\nfunction is_void(name) {\n return void_element_names.test(name) || name.toLowerCase() === '!doctype';\n}\n\nconst invalid_attribute_name_character = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// https://infra.spec.whatwg.org/#noncharacter\nfunction spread(args, attrs_to_add) {\n const attributes = Object.assign({}, ...args);\n if (attrs_to_add) {\n const classes_to_add = attrs_to_add.classes;\n const styles_to_add = attrs_to_add.styles;\n if (classes_to_add) {\n if (attributes.class == null) {\n attributes.class = classes_to_add;\n }\n else {\n attributes.class += ' ' + classes_to_add;\n }\n }\n if (styles_to_add) {\n if (attributes.style == null) {\n attributes.style = style_object_to_string(styles_to_add);\n }\n else {\n attributes.style = style_object_to_string(merge_ssr_styles(attributes.style, styles_to_add));\n }\n }\n }\n let str = '';\n Object.keys(attributes).forEach(name => {\n if (invalid_attribute_name_character.test(name))\n return;\n const value = attributes[name];\n if (value === true)\n str += ' ' + name;\n else if (boolean_attributes.has(name.toLowerCase())) {\n if (value)\n str += ' ' + name;\n }\n else if (value != null) {\n str += ` ${name}=\"${value}\"`;\n }\n });\n return str;\n}\nfunction merge_ssr_styles(style_attribute, style_directive) {\n const style_object = {};\n for (const individual_style of style_attribute.split(';')) {\n const colon_index = individual_style.indexOf(':');\n const name = individual_style.slice(0, colon_index).trim();\n const value = individual_style.slice(colon_index + 1).trim();\n if (!name)\n continue;\n style_object[name] = value;\n }\n for (const name in style_directive) {\n const value = style_directive[name];\n if (value) {\n style_object[name] = value;\n }\n else {\n delete style_object[name];\n }\n }\n return style_object;\n}\nconst ATTR_REGEX = /[&\"]/g;\nconst CONTENT_REGEX = /[&<]/g;\n/**\n * Note: this method is performance sensitive and has been optimized\n * https://github.com/sveltejs/svelte/pull/5701\n */\nfunction escape(value, is_attr = false) {\n const str = String(value);\n const pattern = is_attr ? ATTR_REGEX : CONTENT_REGEX;\n pattern.lastIndex = 0;\n let escaped = '';\n let last = 0;\n while (pattern.test(str)) {\n const i = pattern.lastIndex - 1;\n const ch = str[i];\n escaped += str.substring(last, i) + (ch === '&' ? '&' : (ch === '\"' ? '"' : '<'));\n last = i + 1;\n }\n return escaped + str.substring(last);\n}\nfunction escape_attribute_value(value) {\n // keep booleans, null, and undefined for the sake of `spread`\n const should_escape = typeof value === 'string' || (value && typeof value === 'object');\n return should_escape ? escape(value, true) : value;\n}\nfunction escape_object(obj) {\n const result = {};\n for (const key in obj) {\n result[key] = escape_attribute_value(obj[key]);\n }\n return result;\n}\nfunction each(items, fn) {\n let str = '';\n for (let i = 0; i < items.length; i += 1) {\n str += fn(items[i], i);\n }\n return str;\n}\nconst missing_component = {\n $$render: () => ''\n};\nfunction validate_component(component, name) {\n if (!component || !component.$$render) {\n if (name === 'svelte:component')\n name += ' this={...}';\n throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`);\n }\n return component;\n}\nfunction debug(file, line, column, values) {\n console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console\n console.log(values); // eslint-disable-line no-console\n return '';\n}\nlet on_destroy;\nfunction create_ssr_component(fn) {\n function $$render(result, props, bindings, slots, context) {\n const parent_component = current_component;\n const $$ = {\n on_destroy,\n context: new Map(context || (parent_component ? parent_component.$$.context : [])),\n // these will be immediately discarded\n on_mount: [],\n before_update: [],\n after_update: [],\n callbacks: blank_object()\n };\n set_current_component({ $$ });\n const html = fn(result, props, bindings, slots);\n set_current_component(parent_component);\n return html;\n }\n return {\n render: (props = {}, { $$slots = {}, context = new Map() } = {}) => {\n on_destroy = [];\n const result = { title: '', head: '', css: new Set() };\n const html = $$render(result, props, {}, $$slots, context);\n run_all(on_destroy);\n return {\n html,\n css: {\n code: Array.from(result.css).map(css => css.code).join('\\n'),\n map: null // TODO\n },\n head: result.title + result.head\n };\n },\n $$render\n };\n}\nfunction add_attribute(name, value, boolean) {\n if (value == null || (boolean && !value))\n return '';\n const assignment = (boolean && value === true) ? '' : `=\"${escape(value, true)}\"`;\n return ` ${name}${assignment}`;\n}\nfunction add_classes(classes) {\n return classes ? ` class=\"${classes}\"` : '';\n}\nfunction style_object_to_string(style_object) {\n return Object.keys(style_object)\n .filter(key => style_object[key])\n .map(key => `${key}: ${style_object[key]};`)\n .join(' ');\n}\nfunction add_styles(style_object) {\n const styles = style_object_to_string(style_object);\n return styles ? ` style=\"${styles}\"` : '';\n}\n\nfunction bind(component, name, callback) {\n const index = component.$$.props[name];\n if (index !== undefined) {\n component.$$.bound[index] = callback;\n callback(component.$$.ctx[index]);\n }\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction claim_component(block, parent_nodes) {\n block && block.l(parent_nodes);\n}\nfunction mount_component(component, target, anchor, customElement) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n if (!customElement) {\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n }\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(options.context || (parent_component ? parent_component.$$.context : [])),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false,\n root: options.target || parent_component.$$.root\n };\n append_styles && append_styles($$.root);\n let ready = false;\n $$.ctx = instance\n ? instance(component, options.props || {}, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n start_hydrating();\n const nodes = children(options.target);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(nodes);\n nodes.forEach(detach);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor, options.customElement);\n end_hydrating();\n flush();\n }\n set_current_component(parent_component);\n}\nlet SvelteElement;\nif (typeof HTMLElement === 'function') {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n connectedCallback() {\n const { on_mount } = this.$$;\n this.$$.on_disconnect = on_mount.map(run).filter(is_function);\n // @ts-ignore todo: improve typings\n for (const key in this.$$.slotted) {\n // @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n disconnectedCallback() {\n run_all(this.$$.on_disconnect);\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\n/**\n * Base class for Svelte components. Used when dev=false.\n */\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\nfunction dispatch_dev(type, detail) {\n document.dispatchEvent(custom_event(type, Object.assign({ version: '3.49.0' }, detail), { bubbles: true }));\n}\nfunction append_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append(target, node);\n}\nfunction append_hydration_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append_hydration(target, node);\n}\nfunction insert_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert(target, node, anchor);\n}\nfunction insert_hydration_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert_hydration(target, node, anchor);\n}\nfunction detach_dev(node) {\n dispatch_dev('SvelteDOMRemove', { node });\n detach(node);\n}\nfunction detach_between_dev(before, after) {\n while (before.nextSibling && before.nextSibling !== after) {\n detach_dev(before.nextSibling);\n }\n}\nfunction detach_before_dev(after) {\n while (after.previousSibling) {\n detach_dev(after.previousSibling);\n }\n}\nfunction detach_after_dev(before) {\n while (before.nextSibling) {\n detach_dev(before.nextSibling);\n }\n}\nfunction listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) {\n const modifiers = options === true ? ['capture'] : options ? Array.from(Object.keys(options)) : [];\n if (has_prevent_default)\n modifiers.push('preventDefault');\n if (has_stop_propagation)\n modifiers.push('stopPropagation');\n dispatch_dev('SvelteDOMAddEventListener', { node, event, handler, modifiers });\n const dispose = listen(node, event, handler, options);\n return () => {\n dispatch_dev('SvelteDOMRemoveEventListener', { node, event, handler, modifiers });\n dispose();\n };\n}\nfunction attr_dev(node, attribute, value) {\n attr(node, attribute, value);\n if (value == null)\n dispatch_dev('SvelteDOMRemoveAttribute', { node, attribute });\n else\n dispatch_dev('SvelteDOMSetAttribute', { node, attribute, value });\n}\nfunction prop_dev(node, property, value) {\n node[property] = value;\n dispatch_dev('SvelteDOMSetProperty', { node, property, value });\n}\nfunction dataset_dev(node, property, value) {\n node.dataset[property] = value;\n dispatch_dev('SvelteDOMSetDataset', { node, property, value });\n}\nfunction set_data_dev(text, data) {\n data = '' + data;\n if (text.wholeText === data)\n return;\n dispatch_dev('SvelteDOMSetData', { node: text, data });\n text.data = data;\n}\nfunction validate_each_argument(arg) {\n if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) {\n let msg = '{#each} only iterates over array-like objects.';\n if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) {\n msg += ' You can use a spread to convert this iterable into an array.';\n }\n throw new Error(msg);\n }\n}\nfunction validate_slots(name, slot, keys) {\n for (const slot_key of Object.keys(slot)) {\n if (!~keys.indexOf(slot_key)) {\n console.warn(`<${name}> received an unexpected slot \"${slot_key}\".`);\n }\n }\n}\nfunction validate_dynamic_element(tag) {\n const is_string = typeof tag === 'string';\n if (tag && !is_string) {\n throw new Error('<svelte:element> expects \"this\" attribute to be a string.');\n }\n}\nfunction validate_void_dynamic_element(tag) {\n if (tag && is_void(tag)) {\n throw new Error(`<svelte:element this=\"${tag}\"> is self-closing and cannot have content.`);\n }\n}\n/**\n * Base class for Svelte components with some minor dev-enhancements. Used when dev=true.\n */\nclass SvelteComponentDev extends SvelteComponent {\n constructor(options) {\n if (!options || (!options.target && !options.$$inline)) {\n throw new Error(\"'target' is a required option\");\n }\n super();\n }\n $destroy() {\n super.$destroy();\n this.$destroy = () => {\n console.warn('Component was already destroyed'); // eslint-disable-line no-console\n };\n }\n $capture_state() { }\n $inject_state() { }\n}\n/**\n * Base class to create strongly typed Svelte components.\n * This only exists for typing purposes and should be used in `.d.ts` files.\n *\n * ### Example:\n *\n * You have component library on npm called `component-library`, from which\n * you export a component called `MyComponent`. For Svelte+TypeScript users,\n * you want to provide typings. Therefore you create a `index.d.ts`:\n * ```ts\n * import { SvelteComponentTyped } from \"svelte\";\n * export class MyComponent extends SvelteComponentTyped<{foo: string}> {}\n * ```\n * Typing this makes it possible for IDEs like VS Code with the Svelte extension\n * to provide intellisense and to use the component like this in a Svelte file\n * with TypeScript:\n * ```svelte\n * <script lang=\"ts\">\n * \timport { MyComponent } from \"component-library\";\n * </script>\n * <MyComponent foo={'bar'} />\n * ```\n *\n * #### Why not make this part of `SvelteComponent(Dev)`?\n * Because\n * ```ts\n * class ASubclassOfSvelteComponent extends SvelteComponent<{foo: string}> {}\n * const component: typeof SvelteComponent = ASubclassOfSvelteComponent;\n * ```\n * will throw a type error, so we need to separate the more strictly typed class.\n */\nclass SvelteComponentTyped extends SvelteComponentDev {\n constructor(options) {\n super(options);\n }\n}\nfunction loop_guard(timeout) {\n const start = Date.now();\n return () => {\n if (Date.now() - start > timeout) {\n throw new Error('Infinite loop detected');\n }\n };\n}\n\nexport { HtmlTag, HtmlTagHydration, SvelteComponent, SvelteComponentDev, SvelteComponentTyped, SvelteElement, action_destroyer, add_attribute, add_classes, add_flush_callback, add_location, add_render_callback, add_resize_listener, add_styles, add_transform, afterUpdate, append, append_dev, append_empty_stylesheet, append_hydration, append_hydration_dev, append_styles, assign, attr, attr_dev, attribute_to_object, beforeUpdate, bind, binding_callbacks, blank_object, bubble, check_outros, children, claim_component, claim_element, claim_html_tag, claim_space, claim_svg_element, claim_text, clear_loops, component_subscribe, compute_rest_props, compute_slots, createEventDispatcher, create_animation, create_bidirectional_transition, create_component, create_in_transition, create_out_transition, create_slot, create_ssr_component, current_component, custom_event, dataset_dev, debug, destroy_block, destroy_component, destroy_each, detach, detach_after_dev, detach_before_dev, detach_between_dev, detach_dev, dirty_components, dispatch_dev, each, element, element_is, empty, end_hydrating, escape, escape_attribute_value, escape_object, exclude_internal_props, fix_and_destroy_block, fix_and_outro_and_destroy_block, fix_position, flush, getAllContexts, getContext, get_all_dirty_from_scope, get_binding_group_value, get_current_component, get_custom_elements_slots, get_root_for_style, get_slot_changes, get_spread_object, get_spread_update, get_store_value, globals, group_outros, handle_promise, hasContext, has_prop, identity, init, insert, insert_dev, insert_hydration, insert_hydration_dev, intros, invalid_attribute_name_character, is_client, is_crossorigin, is_empty, is_function, is_promise, is_void, listen, listen_dev, loop, loop_guard, merge_ssr_styles, missing_component, mount_component, noop, not_equal, now, null_to_empty, object_without_properties, onDestroy, onMount, once, outro_and_destroy_block, prevent_default, prop_dev, query_selector_all, raf, run, run_all, safe_not_equal, schedule_update, select_multiple_value, select_option, select_options, select_value, self, setContext, set_attributes, set_current_component, set_custom_element_data, set_data, set_data_dev, set_input_type, set_input_value, set_now, set_raf, set_store_value, set_style, set_svg_attributes, space, spread, src_url_equal, start_hydrating, stop_propagation, subscribe, svg_element, text, tick, time_ranges_to_array, to_number, toggle_class, transition_in, transition_out, trusted, update_await_block_branch, update_keyed_each, update_slot, update_slot_base, validate_component, validate_dynamic_element, validate_each_argument, validate_each_keys, validate_slots, validate_store, validate_void_dynamic_element, xlink_attr };\n","// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nmodule.exports = function(style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function(node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n var errorsList = [];\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n};\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n","var parse = require('inline-style-parser');\n\n/**\n * Parses inline style to object.\n *\n * @example\n * // returns { 'line-height': '42' }\n * StyleToObject('line-height: 42;');\n *\n * @param {String} style - The inline style.\n * @param {Function} [iterator] - The iterator function.\n * @return {null|Object}\n */\nfunction StyleToObject(style, iterator) {\n var output = null;\n if (!style || typeof style !== 'string') {\n return output;\n }\n\n var declaration;\n var declarations = parse(style);\n var hasIterator = typeof iterator === 'function';\n var property;\n var value;\n\n for (var i = 0, len = declarations.length; i < len; i++) {\n declaration = declarations[i];\n property = declaration.property;\n value = declaration.value;\n\n if (hasIterator) {\n iterator(property, value, declaration);\n } else if (value) {\n output || (output = {});\n output[property] = value;\n }\n }\n\n return output;\n}\n\nmodule.exports = StyleToObject;\n","\"use strict\";\nexports.__esModule = true;\nexports.LanguageTranslator = exports.addComponent = exports.getChildStyleToPass = void 0;\nfunction getChildStyleToPass(parsedStyle, vars) {\n var _a, _b;\n var toreturn = \"\";\n if (parsedStyle &&\n (vars === null || vars === void 0 ? void 0 : vars.length) &&\n ((_a = Object.keys(parsedStyle)) === null || _a === void 0 ? void 0 : _a.length) &&\n ((_b = vars === null || vars === void 0 ? void 0 : vars.filter(function (f) { return Object.keys(parsedStyle).includes(f.name); })) === null || _b === void 0 ? void 0 : _b.length)) {\n var _loop_1 = function (k) {\n var isPresent = vars === null || vars === void 0 ? void 0 : vars.filter(function (f) { return f.name === k && f.defaultValue !== parsedStyle[k]; });\n if (isPresent) {\n toreturn += \"\".concat(k, \":\").concat(parsedStyle[k], \";\");\n }\n };\n for (var _i = 0, _c = Object.keys(parsedStyle); _i < _c.length; _i++) {\n var k = _c[_i];\n _loop_1(k);\n }\n }\n return toreturn;\n}\nexports.getChildStyleToPass = getChildStyleToPass;\nfunction addComponent(opts) {\n var _a;\n var componentName = ((_a = opts === null || opts === void 0 ? void 0 : opts.repoName.split(\"/\")) === null || _a === void 0 ? void 0 : _a[1]) || (opts === null || opts === void 0 ? void 0 : opts.repoName);\n if (!componentName)\n throw new Error(\"wrong componentPath \" + (opts === null || opts === void 0 ? void 0 : opts.repoName));\n if (!(opts === null || opts === void 0 ? void 0 : opts.version))\n throw new Error(\"wrong version \" + (opts === null || opts === void 0 ? void 0 : opts.version));\n var iifePath = (opts === null || opts === void 0 ? void 0 : opts.iifePath) || \"release/release.js\";\n if (!document.getElementById(componentName + \"-script\")) {\n try {\n var script = document.createElement(\"script\");\n script.id = componentName + \"-script\";\n script.src = \"https://cdn.jsdelivr.net/npm/\".concat(opts.repoName, \"@\").concat(opts.version, \"/\").concat(iifePath);\n if ((opts === null || opts === void 0 ? void 0 : opts.local) && location.href.includes(\"localhost\")) {\n script.src = \"\".concat(opts.local);\n }\n document.head.appendChild(script);\n }\n catch (err) {\n console.warn(err);\n }\n }\n}\nexports.addComponent = addComponent;\nvar LanguageTranslator = /** @class */ (function () {\n function LanguageTranslator(opts) {\n if (!(opts === null || opts === void 0 ? void 0 : opts.dictionary))\n throw new Error(\"no dictionary provided\");\n this.dictionary = opts.dictionary;\n this.setLang(opts === null || opts === void 0 ? void 0 : opts.lang);\n }\n LanguageTranslator.prototype.setLang = function (lang) {\n if (!lang)\n lang = LanguageTranslator.getDefaultLang();\n this.lang = lang;\n };\n LanguageTranslator.prototype.translateWord = function (wordKey, lang) {\n return LanguageTranslator.getDictionaryWord(wordKey, this.dictionary, lang || this.lang);\n };\n LanguageTranslator.prototype.translateDate = function (dateISOString, timeOptions, lang) {\n return LanguageTranslator.formatDate(dateISOString, timeOptions, lang || this.lang);\n };\n LanguageTranslator.getDefaultLang = function () {\n var _a, _b, _c, _d, _e;\n var browserLang = \"en\";\n if ((navigator === null || navigator === void 0 ? void 0 : navigator.languages) &&\n ((_c = (_b = (_a = navigator.languages[0]) === null || _a === void 0 ? void 0 : _a.split(\"-\")[0]) === null || _b === void 0 ? void 0 : _b.toLowerCase()) === null || _c === void 0 ? void 0 : _c.length)) {\n browserLang = (_e = (_d = navigator.languages[0]) === null || _d === void 0 ? void 0 : _d.split(\"-\")[0]) === null || _e === void 0 ? void 0 : _e.toLowerCase();\n }\n return browserLang;\n };\n LanguageTranslator.getDictionaryWord = function (wordKey, dictionary, lang) {\n var _a;\n if (!wordKey)\n throw new Error(\"no wordKey provided\");\n if (!dictionary)\n throw new Error(\"no dictionary provided\");\n if (lang && ((_a = dictionary[lang]) === null || _a === void 0 ? void 0 : _a[wordKey]))\n return dictionary[lang][wordKey];\n var w = \"\";\n var defLng = LanguageTranslator.getDefaultLang();\n if (!lang || defLng !== lang) {\n var defaultLng = dictionary === null || dictionary === void 0 ? void 0 : dictionary[defLng];\n if (defaultLng === null || defaultLng === void 0 ? void 0 : defaultLng[wordKey]) {\n w = defaultLng[wordKey];\n }\n }\n return w;\n };\n LanguageTranslator.formatDate = function (dateISOString, timeOptions, lang) {\n if (!dateISOString)\n throw new Error(\"no date provided\");\n if (typeof dateISOString.getMonth !== \"function\") {\n throw new Error(\"wrong date format\");\n }\n var dayDateFormat = new Intl.DateTimeFormat(lang || LanguageTranslator.getDefaultLang(), timeOptions);\n return dayDateFormat.format(dateISOString);\n };\n return LanguageTranslator;\n}());\nexports.LanguageTranslator = LanguageTranslator;\n//# sourceMappingURL=main.js.map",null,null,"export var storybookArgs = {\n size: { control: { type: \"range\", min: 1, max: 100 } },\n page: { control: { type: \"number\" } },\n enableselect: { control: { type: \"boolean\" } },\n selectrow: { control: { type: \"boolean\" } },\n disablepagination: { control: { type: \"boolean\" } },\n rows: { control: { type: \"array\" } },\n headers: { control: { type: \"array\" } },\n actions: { control: { type: \"array\" } },\n selectactions: { control: { type: \"array\" } },\n pageChange: { action: \"pagechangeEvent\" },\n tableaction: { action: \"tableactionEvent\" },\n tableCustomActionClick: { action: \"tableCustomActionClickEvent\" },\n cellclick: { action: \"cellclickEvent\" },\n actiononselected: { action: \"actiononselectedEvent\" },\n clickonrow: { action: \"clickonrowEvent\" },\n confirmActionModal: { action: \"confirmActionModalEvent\" },\n confirmActionModalForm: { action: \"confirmActionModalFormEvent\" },\n showConfirmModal: { action: \"showConfirmModal\" },\n showConfirmModalForm: { action: \"showConfirmModalForm\" },\n externalfilter: { control: { type: \"boolean\" } },\n pages: { control: { type: \"number\" } },\n clipboardCopyText: { action: \"pagechangeEvent\" }\n};\nvar cssVars = [\n { name: \"--bs-primary\", valueType: \"color\", theme: \"bootstrap\", defaultValue: \"#07689f\" },\n { name: \"--bs-secondary\", valueType: \"color\", theme: \"bootstrap\", defaultValue: \"#c9d6df\" },\n { name: \"--bs-success\", valueType: \"color\", theme: \"bootstrap\", defaultValue: \"#11d3bc\" },\n { name: \"--bs-info\", valueType: \"color\", theme: \"bootstrap\", defaultValue: \"#a2d5f2\" },\n { name: \"--bs-warning\", valueType: \"color\", theme: \"bootstrap\", defaultValue: \"#ffc107\" },\n { name: \"--bs-danger\", valueType: \"color\", theme: \"bootstrap\", defaultValue: \"#f67280\" },\n];\nexport var cssParts = [];\nexport var htmlSlots = [];\nexport var i18nLanguages = [];\nexport var styleSetup = {\n vars: cssVars,\n parts: cssParts\n};\nvar rows = [\n {\n title: \"bau\",\n videoSrc: \"https://comapi.be-on.tv/v1/public/records/61043eedb50af916a6429fdc/video\",\n time: \"2021-08-06T22:46:30.565Z\",\n _id: \"bau\",\n status: \"closed\"\n },\n {\n title: \"bb1\",\n videoSrc: \"https://comapi.be-on.tv/v1/public/records/61043eedb50af916a6429fdc/video\",\n time: \"2021-08-06T22:46:31.565Z\",\n description: \"ffff2\",\n _id: \"bb1\",\n status: \"closed\"\n },\n {\n title: \"bb2\",\n time: \"2021-08-02T22:46:32.565Z\",\n _id: \"bb2\",\n status: \"active\"\n },\n {\n title: \"ss\",\n time: \"2021-08-06T22:46:34.565Z\",\n description: \"fffffff\",\n testnested: { nested: \"dddd\" },\n _id: \"ss\",\n status: \"active\"\n },\n {\n title: \"bb4\",\n time: \"2021-08-06T22:46:34.565Z\",\n _id: \"bb4\",\n status: \"active\"\n },\n {\n title: \"aa5\",\n time: \"2021-08-06T22:46:34.565Z\",\n _id: \"aa5\",\n status: \"active\"\n },\n {\n title: \"bb6\",\n time: \"2021-08-06T22:46:34.565Z\",\n _id: \"bb6\",\n status: \"active\"\n },\n {\n title: \"bb7\",\n time: \"2021-08-06T22:46:34.565Z\",\n _id: \"bb7\",\n status: \"active\"\n },\n {\n title: \"bb8\",\n time: \"2021-08-06T22:46:34.565Z\",\n _id: \"bb8\",\n status: \"active\"\n },\n {\n title: \"bb9\",\n time: \"2021-08-06T22:46:33.565Z\",\n _id: \"bb9\",\n status: \"active\"\n },\n {\n title: \"bb10\",\n time: \"2021-08-06T22:46:34.565Z\",\n _id: \"bb10\",\n status: \"active\"\n },\n {\n title: \"bb11\",\n time: \"2021-08-06T22:46:34.565Z\",\n _id: \"bb11\",\n status: \"active\"\n },\n {\n title: \"bb12\",\n time: \"2021-08-06T22:46:34.565Z\",\n videoSrc: \"https://comapi.be-on.tv/v1/public/records/61043eedb50af916a6429fdc/video\",\n _id: \"bb12\",\n status: \"active\"\n },\n {\n title: \"bb13\",\n time: \"2021-08-07T22:46:39.565Z\",\n _id: \"bb13\",\n status: \"active\"\n },\n];\nvar preferences = [\n {\n type: \"text\",\n placeholder: \"Inserisci titolo di default\",\n id: \"defaultTitle\",\n required: true,\n label: \"Titolo di default\",\n value: \"titolotest\",\n params: {\n minLength: 8,\n maxLength: 120\n }\n },\n {\n type: \"number\",\n id: \"age\",\n required: true,\n label: \"Age\",\n value: 9,\n params: {\n min: 8,\n max: 120\n },\n validationTip: \"Min 8, Max 120\"\n },\n];\nvar rowsWithActions = [\n {\n title: \"bau\",\n _actions: [\n {\n name: \"activate\",\n type: \"icon\",\n iconOrText: \"ticket-fill\",\n confirm: {\n confirmLabel: \"conferma\",\n title: \"confermi?\",\n content: \"contenuto dialog1\"\n }\n },\n {\n name: \"activate2\",\n type: \"icon\",\n iconOrText: \"ticket-fill\",\n confirm: {\n confirmLabel: \"conferma\",\n title: \"confermi?\",\n content: \"contenuto dialog2\"\n }\n },\n {\n name: \"activate3\",\n type: \"icon\",\n iconOrText: \"ticket-fill\",\n edit: {\n confirmLabel: \"conferma\",\n title: \"confermi?\",\n schema: preferences\n }\n },\n ],\n videoSrc: \"https://comapi.be-on.tv/v1/public/records/61043eedb50af916a6429fdc/video\",\n time: \"2021-08-06T22:46:30.565Z\",\n _id: \"bau\",\n status: \"closed\"\n },\n {\n title: \"bb1\",\n videoSrc: \"https://comapi.be-on.tv/v1/public/records/61043eedb50af916a6429fdc/video\",\n time: \"2021-08-06T22:46:31.565Z\",\n description: \"ffff2\",\n _id: \"bb1\",\n status: \"closed\",\n _actions: [\n {\n name: \"activate\",\n type: \"icon\",\n iconOrText: \"ticket-fill\",\n confirm: {\n confirmLabel: \"conferma\",\n title: \"confermi?\",\n content: \"content3\"\n }\n },\n {\n name: \"activate2\",\n type: \"icon\",\n iconOrText: \"ticket-fill\",\n confirm: {\n confirmLabel: \"conferma\",\n title: \"confermi?\",\n content: \"content4\"\n }\n },\n ]\n },\n {\n title: \"bb2\",\n time: \"2021-08-02T22:46:32.565Z\",\n _id: \"bb2\",\n status: \"active\",\n _actions: [\n {\n name: \"activate\",\n type: \"icon\",\n iconOrText: \"ticket-fill\",\n confirm: {\n confirmLabel: \"conferma\",\n title: \"confermi?\",\n content: \"\"\n }\n },\n {\n name: \"activate2\",\n type: \"icon\",\n iconOrText: \"ticket-fill\",\n confirm: {\n confirmLabel: \"conferma\",\n title: \"confermi?\",\n content: \"\"\n }\n },\n ]\n },\n];\nvar basicHeaders = [\n {\n label: \"title\",\n key: \"title\",\n search: true\n },\n {\n label: \"description\",\n key: \"description\"\n },\n {\n label: \"nested\",\n key: \"testnested.nested\"\n },\n {\n label: \"data\",\n key: \"time\",\n type: \"datetime\",\n format: \"DD MMMM YYYY\"\n },\n];\nvar basicHeadersWithTruncateAndCopy = [\n {\n label: \"title\",\n key: \"title\",\n search: true\n },\n {\n label: \"description\",\n key: \"description\",\n truncateAt: 3,\n copyTxt: true\n },\n {\n label: \"nested\",\n key: \"testnested.nested\"\n },\n {\n label: \"data\",\n key: \"time\",\n type: \"datetime\",\n format: \"DD MMMM YYYY\"\n },\n];\nvar basicHeadersWithActions = [\n {\n label: \"title\",\n key: \"title\",\n search: true\n },\n {\n label: \"description\",\n key: \"description\"\n },\n {\n label: \"nested\",\n key: \"testnested.nested\"\n },\n {\n label: \"data\",\n key: \"time\",\n type: \"datetime\",\n format: \"DD MMMM YYYY\"\n },\n {\n label: \"modifiche\",\n key: \"mod\",\n type: \"actions\",\n nosort: true\n },\n];\nvar headersWithMoreSearch = [\n {\n label: \"title\",\n key: \"title\",\n search: true\n },\n {\n label: \"clickable\",\n key: \"description\",\n search: true,\n click: true\n },\n {\n label: \"nested\",\n key: \"testnested.nested\"\n },\n {\n label: \"data\",\n key: \"time\",\n type: \"datetime\",\n format: \"DD MMMM YYYY\"\n },\n {\n label: \"stato\",\n key: \"status\",\n type: \"enum\",\n select: [\"active\", \"closed\"],\n search: true\n },\n];\nvar headersWithNestedLabel = [\n {\n label: \"title\",\n key: \"title\",\n search: true\n },\n {\n label: \"description\",\n key: \"description\",\n search: true\n },\n {\n label: \"nested\",\n key: \"testnested.nested\",\n search: true\n },\n {\n label: \"data\",\n key: \"time\",\n type: \"datetime\",\n format: \"DD MMMM YYYY\"\n },\n];\nvar headersWithAllSearches = [\n {\n label: \"title\",\n key: \"title\",\n search: true\n },\n {\n label: \"description\",\n key: \"description\",\n search: true\n },\n {\n label: \"nested\",\n key: \"testnested.nested\",\n search: true\n },\n {\n label: \"data\",\n key: \"time\",\n type: \"datetime\",\n format: \"DD MMMM YYYY\",\n search: true\n },\n];\nvar headersWithDateOnly = [\n {\n label: \"title\",\n key: \"title\"\n },\n {\n label: \"description\",\n key: \"description\",\n click: true\n },\n {\n label: \"nested\",\n key: \"testnested.nested\"\n },\n {\n label: \"data\",\n key: \"time\",\n type: \"datetime\",\n format: \"DD MMMM YYYY\",\n search: true\n },\n];\nvar actions = [\n {\n name: \"testaction\",\n type: \"text\",\n iconOrText: \"string\"\n },\n {\n name: \"testaction2\",\n type: \"icon\",\n iconOrText: \"github\"\n },\n];\nvar selections = [\n {\n name: \"testaction\",\n type: \"text\",\n iconOrText: \"string\"\n },\n {\n name: \"testaction2\",\n type: \"icon\",\n iconOrText: \"github\"\n },\n];\nvar examples = [\n {\n name: \"BasicTableWithClick\",\n data: {\n headers: basicHeaders,\n rows: rows,\n selectrow: \"yes\"\n }\n },\n {\n name: \"BasicTableWithMoreSearchAndSelect\",\n data: {\n headers: headersWithMoreSearch,\n selectactions: selections,\n rows: rows,\n enableselect: \"yes\"\n }\n },\n {\n name: \"BasicTableWithSearchOnNestedField\",\n data: {\n headers: headersWithNestedLabel,\n rows: rows\n }\n },\n {\n name: \"BasicTableWithSearchOnAllFields\",\n data: {\n headers: headersWithAllSearches,\n rows: rows,\n selectrow: \"yes\"\n }\n },\n {\n name: \"BasicTableWithDate\",\n data: {\n headers: headersWithDateOnly,\n rows: rows\n }\n },\n {\n name: \"BasicTableWithActions\",\n data: {\n headers: headersWithAllSearches,\n rows: rows,\n actions: actions\n }\n },\n {\n name: \"BasicTableWithActionsAndSelect\",\n data: {\n headers: headersWithAllSearches,\n rows: rows,\n actions: actions,\n selectactions: selections\n }\n },\n {\n name: \"BasicTableWithActionsConfirmAndForm\",\n data: {\n headers: basicHeadersWithActions,\n rows: rowsWithActions,\n actions: actions\n }\n },\n {\n name: \"BasicTableWithTruncateAndCopy\",\n data: {\n headers: basicHeadersWithTruncateAndCopy,\n rows: rows,\n selectrow: \"yes\"\n }\n },\n];\nexport var componentSetup = {\n definitions: null,\n storybookArgs: storybookArgs,\n styleSetup: styleSetup,\n author: null,\n contributors: [],\n owner: null,\n htmlSlots: htmlSlots,\n i18n: i18nLanguages,\n examples: examples,\n screenshots: [],\n licenses: [{ type: \"Apache-2.0\", path: \"LICENSE.md\", cost: 0, currency: \"EUR\" }],\n readmePath: \"README.md\",\n name: \"hb-table\",\n category: \"table\",\n tags: [\"table\"],\n size: {},\n iifePath: \"release/release.js\",\n repoName: \"@htmlbricks/hb-table\",\n version: null\n};\n//# sourceMappingURL=docs.js.map",null,"<svelte:options tag=\"hb-terms-doc-templates\" />\n\n<script lang=\"ts\">\n\timport { get_current_component, onDestroy, onMount } from \"svelte/internal\";\n\timport pkg from \"../../package.json\";\n\n\timport { createEventDispatcher } from \"svelte\";\n\timport parseStyle from \"style-to-object\";\n\timport { addComponent, getChildStyleToPass, LanguageTranslator } from \"wc-js-utils/main\";\n\t// import GDPR from \"@app/html/GDPR.svelte\";\n\t// import ItPolicy from \"@app/html/ItPolicy.svelte.bk\";\n\timport itPrivacyContent from \"@app/functions/privacyItContent\";\n\timport itCookieContent from \"@app/functions/cookieItContent\";\n\timport enCookieContent from \"@app/functions/cookieEnContent\";\n\timport { styleSetup as tableStyleSetup } from \"../../node_modules/@htmlbricks/hb-table/release/docs\";\n\n\timport type { Component, IDoc, ITPrivacy } from \"@app/types/webcomponent.type\";\n\timport { dictionary } from \"@app/functions/i18n\";\n\tconst component = get_current_component();\n\tconst svelteDispatch = createEventDispatcher();\n\n\tfunction dispatch(name: string, detail: any) {\n\t\tsvelteDispatch(name, detail);\n\t\tcomponent.dispatchEvent && component.dispatchEvent(new CustomEvent(name, { detail }));\n\t}\n\n\texport let id: string;\n\texport let style: string;\n\texport let i18nlang: string;\n\texport let data: Component[\"data\"];\n\n\tlet parsedStyle: { [x: string]: string };\n\tlet tableStyleToSet: string = \"\";\n\tlet translator: LanguageTranslator;\n\n\tlet doc: IDoc;\n\n\t$: {\n\t\tif (!id) id = \"\";\n\t\tif (style) {\n\t\t\tparsedStyle = parseStyle(style);\n\t\t\ttableStyleToSet = getChildStyleToPass(parsedStyle, tableStyleSetup?.vars);\n\t\t}\n\n\t\tif (!translator) {\n\t\t\ttranslator = new LanguageTranslator({ dictionary, lang: i18nlang });\n\t\t} else if (translator && i18nlang && translator.lang && translator.lang !== i18nlang) {\n\t\t\ttranslator = new LanguageTranslator({ dictionary, lang: i18nlang });\n\t\t}\n\n\t\tif (data && typeof data === \"string\") {\n\t\t\ttry {\n\t\t\t\tconst json: Component[\"data\"] = JSON.parse(data);\n\t\t\t\tswitch (json.id) {\n\t\t\t\t\tcase \"privacy-doc-italian\":\n\t\t\t\t\t\tdoc = itPrivacyContent(json);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"cookie-doc-italian\":\n\t\t\t\t\t\tdoc = itCookieContent(json);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"cookie-doc-english\":\n\t\t\t\t\t\tdoc = enCookieContent(json);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"cookie-doc\":\n\t\t\t\t\t\tdoc = itCookieContent(json);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\tconsole.error(\"parsing data\", err);\n\t\t\t}\n\t\t}\n\t}\n\taddComponent({ repoName: \"@htmlbricks/hb-table\", version: pkg.version });\n</script>\n\n{#if doc?.title && doc.chapters?.length}\n\t<h1 part=\"h1\">{doc.title}</h1>\n\t{#each doc.chapters.filter((f) => f.key) as chapter (chapter.key)}\n\t\t{#if chapter.paragraphs?.length}\n\t\t\t<h2 part=\"h2\">{chapter.index}. {chapter.title}</h2>\n\t\t\t{#each chapter.paragraphs.filter((f) => f.key) as paragraph (paragraph.key)}\n\t\t\t\t{#if paragraph.title}\n\t\t\t\t\t<h3>{paragraph.title}</h3>\n\t\t\t\t{/if}\n\t\t\t\t{#if paragraph.content}\n\t\t\t\t\t<p part=\"p\">\n\t\t\t\t\t\t{paragraph.content}\n\t\t\t\t\t</p>\n\t\t\t\t{/if}\n\t\t\t\t{#if paragraph.list?.length}\n\t\t\t\t\t<ul part=\"ul\">\n\t\t\t\t\t\t{#each paragraph.list.filter((f) => f.key) as listItem (listItem.key)}\n\t\t\t\t\t\t\t<li part=\"li\">{listItem.content}</li>\n\t\t\t\t\t\t{/each}\n\t\t\t\t\t</ul>\n\t\t\t\t{/if}\n\t\t\t\t{#if paragraph.table?.headers && paragraph.table.rows?.length}\n\t\t\t\t\t<hb-table\n\t\t\t\t\t\tdisablepagination=\"yes\"\n\t\t\t\t\t\tsize=\"1000\"\n\t\t\t\t\t\tstyle={tableStyleToSet}\n\t\t\t\t\t\theaders={JSON.stringify(paragraph.table.headers)}\n\t\t\t\t\t\trows={JSON.stringify(paragraph.table.rows)}\n\t\t\t\t\t/>\n\t\t\t\t{/if}\n\t\t\t{/each}\n\t\t{/if}\n\t{/each}\n{:else}\n\tinvalid doc params\n{/if}\n\n<style lang=\"scss\">\n\t@import \"../styles/webcomponent.scss\";\n\t// @import \"../styles/bootstrap.scss\";\n</style>\n",null,null],"names":["noop","run","fn","blank_object","Object","create","run_all","fns","forEach","is_function","thing","safe_not_equal","a","b","append","target","node","appendChild","insert","anchor","insertBefore","detach","parentNode","removeChild","element","name","document","createElement","text","data","createTextNode","space","empty","attr","attribute","value","removeAttribute","getAttribute","setAttribute","set_custom_element_data","prop","set_data","wholeText","attribute_to_object","attributes","result","current_component","set_current_component","component","get_current_component","Error","createEventDispatcher","type","detail","cancelable","callbacks","$$","event","bubbles","e","createEvent","initCustomEvent","custom_event","slice","call","defaultPrevented","dirty_components","binding_callbacks","render_callbacks","flush_callbacks","resolved_promise","Promise","resolve","update_scheduled","add_render_callback","push","seen_callbacks","Set","flushidx","flush","saved_component","length","update","pop","i","callback","has","add","clear","fragment","before_update","dirty","p","ctx","after_update","outroing","transition_in","block","local","delete","destroy_block","lookup","d","key","update_keyed_each","old_blocks","get_key","dynamic","list","destroy","create_each_block","next","get_context","o","n","old_indexes","new_blocks","new_lookup","Map","deltas","child_ctx","get","c","set","Math","abs","will_move","did_move","m","first","new_block","old_block","new_key","old_key","make_dirty","then","fill","init","options","instance","create_fragment","not_equal","props","append_styles","parent_component","bound","on_mount","on_destroy","on_disconnect","context","skip_bound","root","ready","ret","rest","hydrate","nodes","Array","from","childNodes","children","l","intro","customElement","new_on_destroy","map","filter","mount_component","SvelteElement","HTMLElement","constructor","super","this","attachShadow","mode","connectedCallback","slotted","attributeChangedCallback","_oldValue","newValue","disconnectedCallback","$destroy","detaching","destroy_component","$on","index","indexOf","splice","$set","$$props","obj","$$set","keys","COMMENT_REGEX","NEWLINE_REGEX","WHITESPACE_REGEX","PROPERTY_REGEX","COLON_REGEX","VALUE_REGEX","SEMICOLON_REGEX","TRIM_REGEX","EMPTY_STRING","trim","str","replace","styleToObject","style","iterator","declaration","output","property","declarations","TypeError","lineno","column","updatePosition","lines","match","lastIndexOf","position","start","line","Position","whitespace","end","source","error","msg","err","reason","filename","silent","re","exec","comments","rules","comment","pos","charAt","val","prototype","content","decl","decls","parse","hasIterator","len","exports","__esModule","LanguageTranslator","addComponent","getChildStyleToPass","parsedStyle","vars","_a","_b","toreturn","f","includes","_loop_1","k","defaultValue","concat","_i","_c","opts","componentName","repoName","split","version","iifePath","getElementById","script","id","src","location","href","head","console","warn","dictionary","setLang","lang","getDefaultLang","translateWord","wordKey","getDictionaryWord","translateDate","dateISOString","timeOptions","formatDate","_d","_e","browserLang","navigator","languages","toLowerCase","w","defLng","defaultLng","getMonth","Intl","DateTimeFormat","format","sortFinalDoc","doc","ci","chapters","sort","chapter","pi","sortedParagraphs","paragraphs","paragraph","li","sortedList","lis","cookieHeaders","label","nosort","mapCookie","cookie","_id","service","porpose","purpose","details","storage","durate","itCookieContent","config","title","site","int","flag","company","cookies","technicalFirst","third","technicalThird","find","table","headers","rows","analyticsFirst","analyticsThird","authenticationsFirst","authenticationsThird","_f","_g","advertising","_h","thirds","_j","styleSetup","valueType","theme","parts","en","accept","decline","learnmore","basicCookieLaw","cookieLawTitle","it","t0_value","func","h1","t0","t2_value","func_1","h2","t2","t_value","h3","t","func_2","ul","hb_table","hb_table_headers_value","JSON","stringify","hb_table_rows_value","if_block0","create_if_block_5","if_block1","create_if_block_4","create_if_block_3","create_if_block_2","create_if_block_1","create_if_block","translator","i18nlang","tableStyleToSet","pkg","$$invalidate","parseStyle","tableStyleSetup","json","privacyAdmin","email","address","cookiePolicyUri","privacyPolicyUri","Date","date","toLocaleDateString","socialNetworks","linkedin","facebook","google","twitter","pinterest","instagram","socialText","socialParagraph","collectedData","dataTypes","scopes","contactModule","_k","payments","companies","stripe","paypal","paymentCompanies","itPrivacyContent","enCookieContent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"release.js","sources":["../../../node_modules/svelte/internal/index.mjs","../../../node_modules/inline-style-parser/index.js","../../../node_modules/style-to-object/index.js","../../../node_modules/wc-js-utils/main.js","../app/functions/utils.ts","../app/functions/cookieItContent.ts","../../table/release/docs.js","../app/functions/i18n.ts","../app/html/webcomponent.svelte","../app/functions/privacyItContent.ts","../app/functions/cookieEnContent.ts"],"sourcesContent":["function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction is_promise(value) {\n return value && typeof value === 'object' && typeof value.then === 'function';\n}\nfunction add_location(element, file, line, column, char) {\n element.__svelte_meta = {\n loc: { file, line, column, char }\n };\n}\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nlet src_url_equal_anchor;\nfunction src_url_equal(element_src, url) {\n if (!src_url_equal_anchor) {\n src_url_equal_anchor = document.createElement('a');\n }\n src_url_equal_anchor.href = url;\n return element_src === src_url_equal_anchor.href;\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction validate_store(store, name) {\n if (store != null && typeof store.subscribe !== 'function') {\n throw new Error(`'${name}' is not a store with a 'subscribe' method`);\n }\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction get_store_value(store) {\n let value;\n subscribe(store, _ => value = _)();\n return value;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction create_slot(definition, ctx, $$scope, fn) {\n if (definition) {\n const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n return definition[0](slot_ctx);\n }\n}\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n return definition[1] && fn\n ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))\n : $$scope.ctx;\n}\nfunction get_slot_changes(definition, $$scope, dirty, fn) {\n if (definition[2] && fn) {\n const lets = definition[2](fn(dirty));\n if ($$scope.dirty === undefined) {\n return lets;\n }\n if (typeof lets === 'object') {\n const merged = [];\n const len = Math.max($$scope.dirty.length, lets.length);\n for (let i = 0; i < len; i += 1) {\n merged[i] = $$scope.dirty[i] | lets[i];\n }\n return merged;\n }\n return $$scope.dirty | lets;\n }\n return $$scope.dirty;\n}\nfunction update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn) {\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn);\n}\nfunction get_all_dirty_from_scope($$scope) {\n if ($$scope.ctx.length > 32) {\n const dirty = [];\n const length = $$scope.ctx.length / 32;\n for (let i = 0; i < length; i++) {\n dirty[i] = -1;\n }\n return dirty;\n }\n return -1;\n}\nfunction exclude_internal_props(props) {\n const result = {};\n for (const k in props)\n if (k[0] !== '$')\n result[k] = props[k];\n return result;\n}\nfunction compute_rest_props(props, keys) {\n const rest = {};\n keys = new Set(keys);\n for (const k in props)\n if (!keys.has(k) && k[0] !== '$')\n rest[k] = props[k];\n return rest;\n}\nfunction compute_slots(slots) {\n const result = {};\n for (const key in slots) {\n result[key] = true;\n }\n return result;\n}\nfunction once(fn) {\n let ran = false;\n return function (...args) {\n if (ran)\n return;\n ran = true;\n fn.call(this, ...args);\n };\n}\nfunction null_to_empty(value) {\n return value == null ? '' : value;\n}\nfunction set_store_value(store, ret, value) {\n store.set(value);\n return ret;\n}\nconst has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\nconst is_client = typeof window !== 'undefined';\nlet now = is_client\n ? () => window.performance.now()\n : () => Date.now();\nlet raf = is_client ? cb => requestAnimationFrame(cb) : noop;\n// used internally for testing\nfunction set_now(fn) {\n now = fn;\n}\nfunction set_raf(fn) {\n raf = fn;\n}\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * For testing purposes only!\n */\nfunction clear_loops() {\n tasks.clear();\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\n\n// Track which nodes are claimed during hydration. Unclaimed nodes can then be removed from the DOM\n// at the end of hydration without touching the remaining nodes.\nlet is_hydrating = false;\nfunction start_hydrating() {\n is_hydrating = true;\n}\nfunction end_hydrating() {\n is_hydrating = false;\n}\nfunction upper_bound(low, high, key, value) {\n // Return first index of value larger than input value in the range [low, high)\n while (low < high) {\n const mid = low + ((high - low) >> 1);\n if (key(mid) <= value) {\n low = mid + 1;\n }\n else {\n high = mid;\n }\n }\n return low;\n}\nfunction init_hydrate(target) {\n if (target.hydrate_init)\n return;\n target.hydrate_init = true;\n // We know that all children have claim_order values since the unclaimed have been detached if target is not <head>\n let children = target.childNodes;\n // If target is <head>, there may be children without claim_order\n if (target.nodeName === 'HEAD') {\n const myChildren = [];\n for (let i = 0; i < children.length; i++) {\n const node = children[i];\n if (node.claim_order !== undefined) {\n myChildren.push(node);\n }\n }\n children = myChildren;\n }\n /*\n * Reorder claimed children optimally.\n * We can reorder claimed children optimally by finding the longest subsequence of\n * nodes that are already claimed in order and only moving the rest. The longest\n * subsequence subsequence of nodes that are claimed in order can be found by\n * computing the longest increasing subsequence of .claim_order values.\n *\n * This algorithm is optimal in generating the least amount of reorder operations\n * possible.\n *\n * Proof:\n * We know that, given a set of reordering operations, the nodes that do not move\n * always form an increasing subsequence, since they do not move among each other\n * meaning that they must be already ordered among each other. Thus, the maximal\n * set of nodes that do not move form a longest increasing subsequence.\n */\n // Compute longest increasing subsequence\n // m: subsequence length j => index k of smallest value that ends an increasing subsequence of length j\n const m = new Int32Array(children.length + 1);\n // Predecessor indices + 1\n const p = new Int32Array(children.length);\n m[0] = -1;\n let longest = 0;\n for (let i = 0; i < children.length; i++) {\n const current = children[i].claim_order;\n // Find the largest subsequence length such that it ends in a value less than our current value\n // upper_bound returns first greater value, so we subtract one\n // with fast path for when we are on the current longest subsequence\n const seqLen = ((longest > 0 && children[m[longest]].claim_order <= current) ? longest + 1 : upper_bound(1, longest, idx => children[m[idx]].claim_order, current)) - 1;\n p[i] = m[seqLen] + 1;\n const newLen = seqLen + 1;\n // We can guarantee that current is the smallest value. Otherwise, we would have generated a longer sequence.\n m[newLen] = i;\n longest = Math.max(newLen, longest);\n }\n // The longest increasing subsequence of nodes (initially reversed)\n const lis = [];\n // The rest of the nodes, nodes that will be moved\n const toMove = [];\n let last = children.length - 1;\n for (let cur = m[longest] + 1; cur != 0; cur = p[cur - 1]) {\n lis.push(children[cur - 1]);\n for (; last >= cur; last--) {\n toMove.push(children[last]);\n }\n last--;\n }\n for (; last >= 0; last--) {\n toMove.push(children[last]);\n }\n lis.reverse();\n // We sort the nodes being moved to guarantee that their insertion order matches the claim order\n toMove.sort((a, b) => a.claim_order - b.claim_order);\n // Finally, we move the nodes\n for (let i = 0, j = 0; i < toMove.length; i++) {\n while (j < lis.length && toMove[i].claim_order >= lis[j].claim_order) {\n j++;\n }\n const anchor = j < lis.length ? lis[j] : null;\n target.insertBefore(toMove[i], anchor);\n }\n}\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction append_styles(target, style_sheet_id, styles) {\n const append_styles_to = get_root_for_style(target);\n if (!append_styles_to.getElementById(style_sheet_id)) {\n const style = element('style');\n style.id = style_sheet_id;\n style.textContent = styles;\n append_stylesheet(append_styles_to, style);\n }\n}\nfunction get_root_for_style(node) {\n if (!node)\n return document;\n const root = node.getRootNode ? node.getRootNode() : node.ownerDocument;\n if (root && root.host) {\n return root;\n }\n return node.ownerDocument;\n}\nfunction append_empty_stylesheet(node) {\n const style_element = element('style');\n append_stylesheet(get_root_for_style(node), style_element);\n return style_element.sheet;\n}\nfunction append_stylesheet(node, style) {\n append(node.head || node, style);\n}\nfunction append_hydration(target, node) {\n if (is_hydrating) {\n init_hydrate(target);\n if ((target.actual_end_child === undefined) || ((target.actual_end_child !== null) && (target.actual_end_child.parentElement !== target))) {\n target.actual_end_child = target.firstChild;\n }\n // Skip nodes of undefined ordering\n while ((target.actual_end_child !== null) && (target.actual_end_child.claim_order === undefined)) {\n target.actual_end_child = target.actual_end_child.nextSibling;\n }\n if (node !== target.actual_end_child) {\n // We only insert if the ordering of this node should be modified or the parent node is not target\n if (node.claim_order !== undefined || node.parentNode !== target) {\n target.insertBefore(node, target.actual_end_child);\n }\n }\n else {\n target.actual_end_child = node.nextSibling;\n }\n }\n else if (node.parentNode !== target || node.nextSibling !== null) {\n target.appendChild(node);\n }\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction insert_hydration(target, node, anchor) {\n if (is_hydrating && !anchor) {\n append_hydration(target, node);\n }\n else if (node.parentNode !== target || node.nextSibling != anchor) {\n target.insertBefore(node, anchor || null);\n }\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction destroy_each(iterations, detaching) {\n for (let i = 0; i < iterations.length; i += 1) {\n if (iterations[i])\n iterations[i].d(detaching);\n }\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction element_is(name, is) {\n return document.createElement(name, { is });\n}\nfunction object_without_properties(obj, exclude) {\n const target = {};\n for (const k in obj) {\n if (has_prop(obj, k)\n // @ts-ignore\n && exclude.indexOf(k) === -1) {\n // @ts-ignore\n target[k] = obj[k];\n }\n }\n return target;\n}\nfunction svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction space() {\n return text(' ');\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction prevent_default(fn) {\n return function (event) {\n event.preventDefault();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_propagation(fn) {\n return function (event) {\n event.stopPropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction self(fn) {\n return function (event) {\n // @ts-ignore\n if (event.target === this)\n fn.call(this, event);\n };\n}\nfunction trusted(fn) {\n return function (event) {\n // @ts-ignore\n if (event.isTrusted)\n fn.call(this, event);\n };\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_attributes(node, attributes) {\n // @ts-ignore\n const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n for (const key in attributes) {\n if (attributes[key] == null) {\n node.removeAttribute(key);\n }\n else if (key === 'style') {\n node.style.cssText = attributes[key];\n }\n else if (key === '__value') {\n node.value = node[key] = attributes[key];\n }\n else if (descriptors[key] && descriptors[key].set) {\n node[key] = attributes[key];\n }\n else {\n attr(node, key, attributes[key]);\n }\n }\n}\nfunction set_svg_attributes(node, attributes) {\n for (const key in attributes) {\n attr(node, key, attributes[key]);\n }\n}\nfunction set_custom_element_data(node, prop, value) {\n if (prop in node) {\n node[prop] = typeof node[prop] === 'boolean' && value === '' ? true : value;\n }\n else {\n attr(node, prop, value);\n }\n}\nfunction xlink_attr(node, attribute, value) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\nfunction get_binding_group_value(group, __value, checked) {\n const value = new Set();\n for (let i = 0; i < group.length; i += 1) {\n if (group[i].checked)\n value.add(group[i].__value);\n }\n if (!checked) {\n value.delete(__value);\n }\n return Array.from(value);\n}\nfunction to_number(value) {\n return value === '' ? null : +value;\n}\nfunction time_ranges_to_array(ranges) {\n const array = [];\n for (let i = 0; i < ranges.length; i += 1) {\n array.push({ start: ranges.start(i), end: ranges.end(i) });\n }\n return array;\n}\nfunction children(element) {\n return Array.from(element.childNodes);\n}\nfunction init_claim_info(nodes) {\n if (nodes.claim_info === undefined) {\n nodes.claim_info = { last_index: 0, total_claimed: 0 };\n }\n}\nfunction claim_node(nodes, predicate, processNode, createNode, dontUpdateLastIndex = false) {\n // Try to find nodes in an order such that we lengthen the longest increasing subsequence\n init_claim_info(nodes);\n const resultNode = (() => {\n // We first try to find an element after the previous one\n for (let i = nodes.claim_info.last_index; i < nodes.length; i++) {\n const node = nodes[i];\n if (predicate(node)) {\n const replacement = processNode(node);\n if (replacement === undefined) {\n nodes.splice(i, 1);\n }\n else {\n nodes[i] = replacement;\n }\n if (!dontUpdateLastIndex) {\n nodes.claim_info.last_index = i;\n }\n return node;\n }\n }\n // Otherwise, we try to find one before\n // We iterate in reverse so that we don't go too far back\n for (let i = nodes.claim_info.last_index - 1; i >= 0; i--) {\n const node = nodes[i];\n if (predicate(node)) {\n const replacement = processNode(node);\n if (replacement === undefined) {\n nodes.splice(i, 1);\n }\n else {\n nodes[i] = replacement;\n }\n if (!dontUpdateLastIndex) {\n nodes.claim_info.last_index = i;\n }\n else if (replacement === undefined) {\n // Since we spliced before the last_index, we decrease it\n nodes.claim_info.last_index--;\n }\n return node;\n }\n }\n // If we can't find any matching node, we create a new one\n return createNode();\n })();\n resultNode.claim_order = nodes.claim_info.total_claimed;\n nodes.claim_info.total_claimed += 1;\n return resultNode;\n}\nfunction claim_element_base(nodes, name, attributes, create_element) {\n return claim_node(nodes, (node) => node.nodeName === name, (node) => {\n const remove = [];\n for (let j = 0; j < node.attributes.length; j++) {\n const attribute = node.attributes[j];\n if (!attributes[attribute.name]) {\n remove.push(attribute.name);\n }\n }\n remove.forEach(v => node.removeAttribute(v));\n return undefined;\n }, () => create_element(name));\n}\nfunction claim_element(nodes, name, attributes) {\n return claim_element_base(nodes, name, attributes, element);\n}\nfunction claim_svg_element(nodes, name, attributes) {\n return claim_element_base(nodes, name, attributes, svg_element);\n}\nfunction claim_text(nodes, data) {\n return claim_node(nodes, (node) => node.nodeType === 3, (node) => {\n const dataStr = '' + data;\n if (node.data.startsWith(dataStr)) {\n if (node.data.length !== dataStr.length) {\n return node.splitText(dataStr.length);\n }\n }\n else {\n node.data = dataStr;\n }\n }, () => text(data), true // Text nodes should not update last index since it is likely not worth it to eliminate an increasing subsequence of actual elements\n );\n}\nfunction claim_space(nodes) {\n return claim_text(nodes, ' ');\n}\nfunction find_comment(nodes, text, start) {\n for (let i = start; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeType === 8 /* comment node */ && node.textContent.trim() === text) {\n return i;\n }\n }\n return nodes.length;\n}\nfunction claim_html_tag(nodes, is_svg) {\n // find html opening tag\n const start_index = find_comment(nodes, 'HTML_TAG_START', 0);\n const end_index = find_comment(nodes, 'HTML_TAG_END', start_index);\n if (start_index === end_index) {\n return new HtmlTagHydration(undefined, is_svg);\n }\n init_claim_info(nodes);\n const html_tag_nodes = nodes.splice(start_index, end_index - start_index + 1);\n detach(html_tag_nodes[0]);\n detach(html_tag_nodes[html_tag_nodes.length - 1]);\n const claimed_nodes = html_tag_nodes.slice(1, html_tag_nodes.length - 1);\n for (const n of claimed_nodes) {\n n.claim_order = nodes.claim_info.total_claimed;\n nodes.claim_info.total_claimed += 1;\n }\n return new HtmlTagHydration(claimed_nodes, is_svg);\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_input_type(input, type) {\n try {\n input.type = type;\n }\n catch (e) {\n // do nothing\n }\n}\nfunction set_style(node, key, value, important) {\n if (value === null) {\n node.style.removeProperty(key);\n }\n else {\n node.style.setProperty(key, value, important ? 'important' : '');\n }\n}\nfunction select_option(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n if (option.__value === value) {\n option.selected = true;\n return;\n }\n }\n select.selectedIndex = -1; // no option should be selected\n}\nfunction select_options(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n option.selected = ~value.indexOf(option.__value);\n }\n}\nfunction select_value(select) {\n const selected_option = select.querySelector(':checked') || select.options[0];\n return selected_option && selected_option.__value;\n}\nfunction select_multiple_value(select) {\n return [].map.call(select.querySelectorAll(':checked'), option => option.__value);\n}\n// unfortunately this can't be a constant as that wouldn't be tree-shakeable\n// so we cache the result instead\nlet crossorigin;\nfunction is_crossorigin() {\n if (crossorigin === undefined) {\n crossorigin = false;\n try {\n if (typeof window !== 'undefined' && window.parent) {\n void window.parent.document;\n }\n }\n catch (error) {\n crossorigin = true;\n }\n }\n return crossorigin;\n}\nfunction add_resize_listener(node, fn) {\n const computed_style = getComputedStyle(node);\n if (computed_style.position === 'static') {\n node.style.position = 'relative';\n }\n const iframe = element('iframe');\n iframe.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ' +\n 'overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: -1;');\n iframe.setAttribute('aria-hidden', 'true');\n iframe.tabIndex = -1;\n const crossorigin = is_crossorigin();\n let unsubscribe;\n if (crossorigin) {\n iframe.src = \"data:text/html,<script>onresize=function(){parent.postMessage(0,'*')}</script>\";\n unsubscribe = listen(window, 'message', (event) => {\n if (event.source === iframe.contentWindow)\n fn();\n });\n }\n else {\n iframe.src = 'about:blank';\n iframe.onload = () => {\n unsubscribe = listen(iframe.contentWindow, 'resize', fn);\n };\n }\n append(node, iframe);\n return () => {\n if (crossorigin) {\n unsubscribe();\n }\n else if (unsubscribe && iframe.contentWindow) {\n unsubscribe();\n }\n detach(iframe);\n };\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail, { bubbles = false, cancelable = false } = {}) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, bubbles, cancelable, detail);\n return e;\n}\nfunction query_selector_all(selector, parent = document.body) {\n return Array.from(parent.querySelectorAll(selector));\n}\nclass HtmlTag {\n constructor(is_svg = false) {\n this.is_svg = false;\n this.is_svg = is_svg;\n this.e = this.n = null;\n }\n c(html) {\n this.h(html);\n }\n m(html, target, anchor = null) {\n if (!this.e) {\n if (this.is_svg)\n this.e = svg_element(target.nodeName);\n else\n this.e = element(target.nodeName);\n this.t = target;\n this.c(html);\n }\n this.i(anchor);\n }\n h(html) {\n this.e.innerHTML = html;\n this.n = Array.from(this.e.childNodes);\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert(this.t, this.n[i], anchor);\n }\n }\n p(html) {\n this.d();\n this.h(html);\n this.i(this.a);\n }\n d() {\n this.n.forEach(detach);\n }\n}\nclass HtmlTagHydration extends HtmlTag {\n constructor(claimed_nodes, is_svg = false) {\n super(is_svg);\n this.e = this.n = null;\n this.l = claimed_nodes;\n }\n c(html) {\n if (this.l) {\n this.n = this.l;\n }\n else {\n super.c(html);\n }\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert_hydration(this.t, this.n[i], anchor);\n }\n }\n}\nfunction attribute_to_object(attributes) {\n const result = {};\n for (const attribute of attributes) {\n result[attribute.name] = attribute.value;\n }\n return result;\n}\nfunction get_custom_elements_slots(element) {\n const result = {};\n element.childNodes.forEach((node) => {\n result[node.slot || 'default'] = true;\n });\n return result;\n}\n\n// we need to store the information for multiple documents because a Svelte application could also contain iframes\n// https://github.com/sveltejs/svelte/issues/3624\nconst managed_styles = new Map();\nlet active = 0;\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i--)\n hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n return hash >>> 0;\n}\nfunction create_style_information(doc, node) {\n const info = { stylesheet: append_empty_stylesheet(node), rules: {} };\n managed_styles.set(doc, info);\n return info;\n}\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `__svelte_${hash(rule)}_${uid}`;\n const doc = get_root_for_style(node);\n const { stylesheet, rules } = managed_styles.get(doc) || create_style_information(doc, node);\n if (!rules[name]) {\n rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ''}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n const previous = (node.style.animation || '').split(', ');\n const next = previous.filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations\n );\n const deleted = previous.length - next.length;\n if (deleted) {\n node.style.animation = next.join(', ');\n active -= deleted;\n if (!active)\n clear_rules();\n }\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n managed_styles.forEach(info => {\n const { stylesheet } = info;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n info.rules = {};\n });\n managed_styles.clear();\n });\n}\n\nfunction create_animation(node, from, fn, params) {\n if (!from)\n return noop;\n const to = node.getBoundingClientRect();\n if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom)\n return noop;\n const { delay = 0, duration = 300, easing = identity, \n // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?\n start: start_time = now() + delay, \n // @ts-ignore todo:\n end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params);\n let running = true;\n let started = false;\n let name;\n function start() {\n if (css) {\n name = create_rule(node, 0, 1, duration, delay, easing, css);\n }\n if (!delay) {\n started = true;\n }\n }\n function stop() {\n if (css)\n delete_rule(node, name);\n running = false;\n }\n loop(now => {\n if (!started && now >= start_time) {\n started = true;\n }\n if (started && now >= end) {\n tick(1, 0);\n stop();\n }\n if (!running) {\n return false;\n }\n if (started) {\n const p = now - start_time;\n const t = 0 + 1 * easing(p / duration);\n tick(t, 1 - t);\n }\n return true;\n });\n start();\n tick(0, 1);\n return stop;\n}\nfunction fix_position(node) {\n const style = getComputedStyle(node);\n if (style.position !== 'absolute' && style.position !== 'fixed') {\n const { width, height } = style;\n const a = node.getBoundingClientRect();\n node.style.position = 'absolute';\n node.style.width = width;\n node.style.height = height;\n add_transform(node, a);\n }\n}\nfunction add_transform(node, a) {\n const b = node.getBoundingClientRect();\n if (a.left !== b.left || a.top !== b.top) {\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\nfunction get_current_component() {\n if (!current_component)\n throw new Error('Function called outside component initialization');\n return current_component;\n}\nfunction beforeUpdate(fn) {\n get_current_component().$$.before_update.push(fn);\n}\nfunction onMount(fn) {\n get_current_component().$$.on_mount.push(fn);\n}\nfunction afterUpdate(fn) {\n get_current_component().$$.after_update.push(fn);\n}\nfunction onDestroy(fn) {\n get_current_component().$$.on_destroy.push(fn);\n}\nfunction createEventDispatcher() {\n const component = get_current_component();\n return (type, detail, { cancelable = false } = {}) => {\n const callbacks = component.$$.callbacks[type];\n if (callbacks) {\n // TODO are there situations where events could be dispatched\n // in a server (non-DOM) environment?\n const event = custom_event(type, detail, { cancelable });\n callbacks.slice().forEach(fn => {\n fn.call(component, event);\n });\n return !event.defaultPrevented;\n }\n return true;\n };\n}\nfunction setContext(key, context) {\n get_current_component().$$.context.set(key, context);\n return context;\n}\nfunction getContext(key) {\n return get_current_component().$$.context.get(key);\n}\nfunction getAllContexts() {\n return get_current_component().$$.context;\n}\nfunction hasContext(key) {\n return get_current_component().$$.context.has(key);\n}\n// TODO figure out if we still want to support\n// shorthand events, or if we want to implement\n// a real bubbling mechanism\nfunction bubble(component, event) {\n const callbacks = component.$$.callbacks[event.type];\n if (callbacks) {\n // @ts-ignore\n callbacks.slice().forEach(fn => fn.call(this, event));\n }\n}\n\nconst dirty_components = [];\nconst intros = { enabled: false };\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\nfunction add_flush_callback(fn) {\n flush_callbacks.push(fn);\n}\n// flush() calls callbacks in this order:\n// 1. All beforeUpdate callbacks, in order: parents before children\n// 2. All bind:this callbacks, in reverse order: children before parents.\n// 3. All afterUpdate callbacks, in order: parents before children. EXCEPT\n// for afterUpdates called during the initial onMount, which are called in\n// reverse order: children before parents.\n// Since callbacks might update component values, which could trigger another\n// call to flush(), the following steps guard against this:\n// 1. During beforeUpdate, any updated components will be added to the\n// dirty_components array and will cause a reentrant call to flush(). Because\n// the flush index is kept outside the function, the reentrant call will pick\n// up where the earlier call left off and go through all dirty components. The\n// current_component value is saved and restored so that the reentrant call will\n// not interfere with the \"parent\" flush() call.\n// 2. bind:this callbacks cannot trigger new flush() calls.\n// 3. During afterUpdate, any updated components will NOT have their afterUpdate\n// callback called a second time; the seen_callbacks set, outside the flush()\n// function, guarantees this behavior.\nconst seen_callbacks = new Set();\nlet flushidx = 0; // Do *not* move this inside the flush() function\nfunction flush() {\n const saved_component = current_component;\n do {\n // first, call beforeUpdate functions\n // and update components\n while (flushidx < dirty_components.length) {\n const component = dirty_components[flushidx];\n flushidx++;\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n flushidx = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n seen_callbacks.clear();\n set_current_component(saved_component);\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n else if (callback) {\n callback();\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n started = true;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_bidirectional_transition(node, fn, params, intro) {\n let config = fn(node, params);\n let t = intro ? 0 : 1;\n let running_program = null;\n let pending_program = null;\n let animation_name = null;\n function clear_animation() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function init(program, duration) {\n const d = (program.b - t);\n duration *= Math.abs(d);\n return {\n a: t,\n b: program.b,\n d,\n duration,\n start: program.start,\n end: program.start + duration,\n group: program.group\n };\n }\n function go(b) {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n const program = {\n start: now() + delay,\n b\n };\n if (!b) {\n // @ts-ignore todo: improve typings\n program.group = outros;\n outros.r += 1;\n }\n if (running_program || pending_program) {\n pending_program = program;\n }\n else {\n // if this is an intro, and there's a delay, we need to do\n // an initial tick and/or apply CSS animation immediately\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, b, duration, delay, easing, css);\n }\n if (b)\n tick(0, 1);\n running_program = init(program, duration);\n add_render_callback(() => dispatch(node, b, 'start'));\n loop(now => {\n if (pending_program && now > pending_program.start) {\n running_program = init(pending_program, duration);\n pending_program = null;\n dispatch(node, running_program.b, 'start');\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css);\n }\n }\n if (running_program) {\n if (now >= running_program.end) {\n tick(t = running_program.b, 1 - t);\n dispatch(node, running_program.b, 'end');\n if (!pending_program) {\n // we're done\n if (running_program.b) {\n // intro — we can tidy up immediately\n clear_animation();\n }\n else {\n // outro — needs to be coordinated\n if (!--running_program.group.r)\n run_all(running_program.group.c);\n }\n }\n running_program = null;\n }\n else if (now >= running_program.start) {\n const p = now - running_program.start;\n t = running_program.a + running_program.d * easing(p / running_program.duration);\n tick(t, 1 - t);\n }\n }\n return !!(running_program || pending_program);\n });\n }\n }\n return {\n run(b) {\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go(b);\n });\n }\n else {\n go(b);\n }\n },\n end() {\n clear_animation();\n running_program = pending_program = null;\n }\n };\n}\n\nfunction handle_promise(promise, info) {\n const token = info.token = {};\n function update(type, index, key, value) {\n if (info.token !== token)\n return;\n info.resolved = value;\n let child_ctx = info.ctx;\n if (key !== undefined) {\n child_ctx = child_ctx.slice();\n child_ctx[key] = value;\n }\n const block = type && (info.current = type)(child_ctx);\n let needs_flush = false;\n if (info.block) {\n if (info.blocks) {\n info.blocks.forEach((block, i) => {\n if (i !== index && block) {\n group_outros();\n transition_out(block, 1, 1, () => {\n if (info.blocks[i] === block) {\n info.blocks[i] = null;\n }\n });\n check_outros();\n }\n });\n }\n else {\n info.block.d(1);\n }\n block.c();\n transition_in(block, 1);\n block.m(info.mount(), info.anchor);\n needs_flush = true;\n }\n info.block = block;\n if (info.blocks)\n info.blocks[index] = block;\n if (needs_flush) {\n flush();\n }\n }\n if (is_promise(promise)) {\n const current_component = get_current_component();\n promise.then(value => {\n set_current_component(current_component);\n update(info.then, 1, info.value, value);\n set_current_component(null);\n }, error => {\n set_current_component(current_component);\n update(info.catch, 2, info.error, error);\n set_current_component(null);\n if (!info.hasCatch) {\n throw error;\n }\n });\n // if we previously had a then/catch block, destroy it\n if (info.current !== info.pending) {\n update(info.pending, 0);\n return true;\n }\n }\n else {\n if (info.current !== info.then) {\n update(info.then, 1, info.value, promise);\n return true;\n }\n info.resolved = promise;\n }\n}\nfunction update_await_block_branch(info, ctx, dirty) {\n const child_ctx = ctx.slice();\n const { resolved } = info;\n if (info.current === info.then) {\n child_ctx[info.value] = resolved;\n }\n if (info.current === info.catch) {\n child_ctx[info.error] = resolved;\n }\n info.block.p(child_ctx, dirty);\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction outro_and_destroy_block(block, lookup) {\n transition_out(block, 1, 1, () => {\n lookup.delete(block.key);\n });\n}\nfunction fix_and_destroy_block(block, lookup) {\n block.f();\n destroy_block(block, lookup);\n}\nfunction fix_and_outro_and_destroy_block(block, lookup) {\n block.f();\n outro_and_destroy_block(block, lookup);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction validate_each_keys(ctx, list, get_context, get_key) {\n const keys = new Set();\n for (let i = 0; i < list.length; i++) {\n const key = get_key(get_context(ctx, list, i));\n if (keys.has(key)) {\n throw new Error('Cannot have duplicate keys in a keyed each');\n }\n keys.add(key);\n }\n}\n\nfunction get_spread_update(levels, updates) {\n const update = {};\n const to_null_out = {};\n const accounted_for = { $$scope: 1 };\n let i = levels.length;\n while (i--) {\n const o = levels[i];\n const n = updates[i];\n if (n) {\n for (const key in o) {\n if (!(key in n))\n to_null_out[key] = 1;\n }\n for (const key in n) {\n if (!accounted_for[key]) {\n update[key] = n[key];\n accounted_for[key] = 1;\n }\n }\n levels[i] = n;\n }\n else {\n for (const key in o) {\n accounted_for[key] = 1;\n }\n }\n }\n for (const key in to_null_out) {\n if (!(key in update))\n update[key] = undefined;\n }\n return update;\n}\nfunction get_spread_object(spread_props) {\n return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};\n}\n\n// source: https://html.spec.whatwg.org/multipage/indices.html\nconst boolean_attributes = new Set([\n 'allowfullscreen',\n 'allowpaymentrequest',\n 'async',\n 'autofocus',\n 'autoplay',\n 'checked',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'formnovalidate',\n 'hidden',\n 'ismap',\n 'loop',\n 'multiple',\n 'muted',\n 'nomodule',\n 'novalidate',\n 'open',\n 'playsinline',\n 'readonly',\n 'required',\n 'reversed',\n 'selected'\n]);\n\nconst void_element_names = /^(?:area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)$/;\nfunction is_void(name) {\n return void_element_names.test(name) || name.toLowerCase() === '!doctype';\n}\n\nconst invalid_attribute_name_character = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// https://infra.spec.whatwg.org/#noncharacter\nfunction spread(args, attrs_to_add) {\n const attributes = Object.assign({}, ...args);\n if (attrs_to_add) {\n const classes_to_add = attrs_to_add.classes;\n const styles_to_add = attrs_to_add.styles;\n if (classes_to_add) {\n if (attributes.class == null) {\n attributes.class = classes_to_add;\n }\n else {\n attributes.class += ' ' + classes_to_add;\n }\n }\n if (styles_to_add) {\n if (attributes.style == null) {\n attributes.style = style_object_to_string(styles_to_add);\n }\n else {\n attributes.style = style_object_to_string(merge_ssr_styles(attributes.style, styles_to_add));\n }\n }\n }\n let str = '';\n Object.keys(attributes).forEach(name => {\n if (invalid_attribute_name_character.test(name))\n return;\n const value = attributes[name];\n if (value === true)\n str += ' ' + name;\n else if (boolean_attributes.has(name.toLowerCase())) {\n if (value)\n str += ' ' + name;\n }\n else if (value != null) {\n str += ` ${name}=\"${value}\"`;\n }\n });\n return str;\n}\nfunction merge_ssr_styles(style_attribute, style_directive) {\n const style_object = {};\n for (const individual_style of style_attribute.split(';')) {\n const colon_index = individual_style.indexOf(':');\n const name = individual_style.slice(0, colon_index).trim();\n const value = individual_style.slice(colon_index + 1).trim();\n if (!name)\n continue;\n style_object[name] = value;\n }\n for (const name in style_directive) {\n const value = style_directive[name];\n if (value) {\n style_object[name] = value;\n }\n else {\n delete style_object[name];\n }\n }\n return style_object;\n}\nconst ATTR_REGEX = /[&\"]/g;\nconst CONTENT_REGEX = /[&<]/g;\n/**\n * Note: this method is performance sensitive and has been optimized\n * https://github.com/sveltejs/svelte/pull/5701\n */\nfunction escape(value, is_attr = false) {\n const str = String(value);\n const pattern = is_attr ? ATTR_REGEX : CONTENT_REGEX;\n pattern.lastIndex = 0;\n let escaped = '';\n let last = 0;\n while (pattern.test(str)) {\n const i = pattern.lastIndex - 1;\n const ch = str[i];\n escaped += str.substring(last, i) + (ch === '&' ? '&' : (ch === '\"' ? '"' : '<'));\n last = i + 1;\n }\n return escaped + str.substring(last);\n}\nfunction escape_attribute_value(value) {\n // keep booleans, null, and undefined for the sake of `spread`\n const should_escape = typeof value === 'string' || (value && typeof value === 'object');\n return should_escape ? escape(value, true) : value;\n}\nfunction escape_object(obj) {\n const result = {};\n for (const key in obj) {\n result[key] = escape_attribute_value(obj[key]);\n }\n return result;\n}\nfunction each(items, fn) {\n let str = '';\n for (let i = 0; i < items.length; i += 1) {\n str += fn(items[i], i);\n }\n return str;\n}\nconst missing_component = {\n $$render: () => ''\n};\nfunction validate_component(component, name) {\n if (!component || !component.$$render) {\n if (name === 'svelte:component')\n name += ' this={...}';\n throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`);\n }\n return component;\n}\nfunction debug(file, line, column, values) {\n console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console\n console.log(values); // eslint-disable-line no-console\n return '';\n}\nlet on_destroy;\nfunction create_ssr_component(fn) {\n function $$render(result, props, bindings, slots, context) {\n const parent_component = current_component;\n const $$ = {\n on_destroy,\n context: new Map(context || (parent_component ? parent_component.$$.context : [])),\n // these will be immediately discarded\n on_mount: [],\n before_update: [],\n after_update: [],\n callbacks: blank_object()\n };\n set_current_component({ $$ });\n const html = fn(result, props, bindings, slots);\n set_current_component(parent_component);\n return html;\n }\n return {\n render: (props = {}, { $$slots = {}, context = new Map() } = {}) => {\n on_destroy = [];\n const result = { title: '', head: '', css: new Set() };\n const html = $$render(result, props, {}, $$slots, context);\n run_all(on_destroy);\n return {\n html,\n css: {\n code: Array.from(result.css).map(css => css.code).join('\\n'),\n map: null // TODO\n },\n head: result.title + result.head\n };\n },\n $$render\n };\n}\nfunction add_attribute(name, value, boolean) {\n if (value == null || (boolean && !value))\n return '';\n const assignment = (boolean && value === true) ? '' : `=\"${escape(value, true)}\"`;\n return ` ${name}${assignment}`;\n}\nfunction add_classes(classes) {\n return classes ? ` class=\"${classes}\"` : '';\n}\nfunction style_object_to_string(style_object) {\n return Object.keys(style_object)\n .filter(key => style_object[key])\n .map(key => `${key}: ${style_object[key]};`)\n .join(' ');\n}\nfunction add_styles(style_object) {\n const styles = style_object_to_string(style_object);\n return styles ? ` style=\"${styles}\"` : '';\n}\n\nfunction bind(component, name, callback) {\n const index = component.$$.props[name];\n if (index !== undefined) {\n component.$$.bound[index] = callback;\n callback(component.$$.ctx[index]);\n }\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction claim_component(block, parent_nodes) {\n block && block.l(parent_nodes);\n}\nfunction mount_component(component, target, anchor, customElement) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n if (!customElement) {\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n }\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(options.context || (parent_component ? parent_component.$$.context : [])),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false,\n root: options.target || parent_component.$$.root\n };\n append_styles && append_styles($$.root);\n let ready = false;\n $$.ctx = instance\n ? instance(component, options.props || {}, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n start_hydrating();\n const nodes = children(options.target);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(nodes);\n nodes.forEach(detach);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor, options.customElement);\n end_hydrating();\n flush();\n }\n set_current_component(parent_component);\n}\nlet SvelteElement;\nif (typeof HTMLElement === 'function') {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n connectedCallback() {\n const { on_mount } = this.$$;\n this.$$.on_disconnect = on_mount.map(run).filter(is_function);\n // @ts-ignore todo: improve typings\n for (const key in this.$$.slotted) {\n // @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n disconnectedCallback() {\n run_all(this.$$.on_disconnect);\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\n/**\n * Base class for Svelte components. Used when dev=false.\n */\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\nfunction dispatch_dev(type, detail) {\n document.dispatchEvent(custom_event(type, Object.assign({ version: '3.49.0' }, detail), { bubbles: true }));\n}\nfunction append_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append(target, node);\n}\nfunction append_hydration_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append_hydration(target, node);\n}\nfunction insert_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert(target, node, anchor);\n}\nfunction insert_hydration_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert_hydration(target, node, anchor);\n}\nfunction detach_dev(node) {\n dispatch_dev('SvelteDOMRemove', { node });\n detach(node);\n}\nfunction detach_between_dev(before, after) {\n while (before.nextSibling && before.nextSibling !== after) {\n detach_dev(before.nextSibling);\n }\n}\nfunction detach_before_dev(after) {\n while (after.previousSibling) {\n detach_dev(after.previousSibling);\n }\n}\nfunction detach_after_dev(before) {\n while (before.nextSibling) {\n detach_dev(before.nextSibling);\n }\n}\nfunction listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) {\n const modifiers = options === true ? ['capture'] : options ? Array.from(Object.keys(options)) : [];\n if (has_prevent_default)\n modifiers.push('preventDefault');\n if (has_stop_propagation)\n modifiers.push('stopPropagation');\n dispatch_dev('SvelteDOMAddEventListener', { node, event, handler, modifiers });\n const dispose = listen(node, event, handler, options);\n return () => {\n dispatch_dev('SvelteDOMRemoveEventListener', { node, event, handler, modifiers });\n dispose();\n };\n}\nfunction attr_dev(node, attribute, value) {\n attr(node, attribute, value);\n if (value == null)\n dispatch_dev('SvelteDOMRemoveAttribute', { node, attribute });\n else\n dispatch_dev('SvelteDOMSetAttribute', { node, attribute, value });\n}\nfunction prop_dev(node, property, value) {\n node[property] = value;\n dispatch_dev('SvelteDOMSetProperty', { node, property, value });\n}\nfunction dataset_dev(node, property, value) {\n node.dataset[property] = value;\n dispatch_dev('SvelteDOMSetDataset', { node, property, value });\n}\nfunction set_data_dev(text, data) {\n data = '' + data;\n if (text.wholeText === data)\n return;\n dispatch_dev('SvelteDOMSetData', { node: text, data });\n text.data = data;\n}\nfunction validate_each_argument(arg) {\n if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) {\n let msg = '{#each} only iterates over array-like objects.';\n if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) {\n msg += ' You can use a spread to convert this iterable into an array.';\n }\n throw new Error(msg);\n }\n}\nfunction validate_slots(name, slot, keys) {\n for (const slot_key of Object.keys(slot)) {\n if (!~keys.indexOf(slot_key)) {\n console.warn(`<${name}> received an unexpected slot \"${slot_key}\".`);\n }\n }\n}\nfunction validate_dynamic_element(tag) {\n const is_string = typeof tag === 'string';\n if (tag && !is_string) {\n throw new Error('<svelte:element> expects \"this\" attribute to be a string.');\n }\n}\nfunction validate_void_dynamic_element(tag) {\n if (tag && is_void(tag)) {\n throw new Error(`<svelte:element this=\"${tag}\"> is self-closing and cannot have content.`);\n }\n}\n/**\n * Base class for Svelte components with some minor dev-enhancements. Used when dev=true.\n */\nclass SvelteComponentDev extends SvelteComponent {\n constructor(options) {\n if (!options || (!options.target && !options.$$inline)) {\n throw new Error(\"'target' is a required option\");\n }\n super();\n }\n $destroy() {\n super.$destroy();\n this.$destroy = () => {\n console.warn('Component was already destroyed'); // eslint-disable-line no-console\n };\n }\n $capture_state() { }\n $inject_state() { }\n}\n/**\n * Base class to create strongly typed Svelte components.\n * This only exists for typing purposes and should be used in `.d.ts` files.\n *\n * ### Example:\n *\n * You have component library on npm called `component-library`, from which\n * you export a component called `MyComponent`. For Svelte+TypeScript users,\n * you want to provide typings. Therefore you create a `index.d.ts`:\n * ```ts\n * import { SvelteComponentTyped } from \"svelte\";\n * export class MyComponent extends SvelteComponentTyped<{foo: string}> {}\n * ```\n * Typing this makes it possible for IDEs like VS Code with the Svelte extension\n * to provide intellisense and to use the component like this in a Svelte file\n * with TypeScript:\n * ```svelte\n * <script lang=\"ts\">\n * \timport { MyComponent } from \"component-library\";\n * </script>\n * <MyComponent foo={'bar'} />\n * ```\n *\n * #### Why not make this part of `SvelteComponent(Dev)`?\n * Because\n * ```ts\n * class ASubclassOfSvelteComponent extends SvelteComponent<{foo: string}> {}\n * const component: typeof SvelteComponent = ASubclassOfSvelteComponent;\n * ```\n * will throw a type error, so we need to separate the more strictly typed class.\n */\nclass SvelteComponentTyped extends SvelteComponentDev {\n constructor(options) {\n super(options);\n }\n}\nfunction loop_guard(timeout) {\n const start = Date.now();\n return () => {\n if (Date.now() - start > timeout) {\n throw new Error('Infinite loop detected');\n }\n };\n}\n\nexport { HtmlTag, HtmlTagHydration, SvelteComponent, SvelteComponentDev, SvelteComponentTyped, SvelteElement, action_destroyer, add_attribute, add_classes, add_flush_callback, add_location, add_render_callback, add_resize_listener, add_styles, add_transform, afterUpdate, append, append_dev, append_empty_stylesheet, append_hydration, append_hydration_dev, append_styles, assign, attr, attr_dev, attribute_to_object, beforeUpdate, bind, binding_callbacks, blank_object, bubble, check_outros, children, claim_component, claim_element, claim_html_tag, claim_space, claim_svg_element, claim_text, clear_loops, component_subscribe, compute_rest_props, compute_slots, createEventDispatcher, create_animation, create_bidirectional_transition, create_component, create_in_transition, create_out_transition, create_slot, create_ssr_component, current_component, custom_event, dataset_dev, debug, destroy_block, destroy_component, destroy_each, detach, detach_after_dev, detach_before_dev, detach_between_dev, detach_dev, dirty_components, dispatch_dev, each, element, element_is, empty, end_hydrating, escape, escape_attribute_value, escape_object, exclude_internal_props, fix_and_destroy_block, fix_and_outro_and_destroy_block, fix_position, flush, getAllContexts, getContext, get_all_dirty_from_scope, get_binding_group_value, get_current_component, get_custom_elements_slots, get_root_for_style, get_slot_changes, get_spread_object, get_spread_update, get_store_value, globals, group_outros, handle_promise, hasContext, has_prop, identity, init, insert, insert_dev, insert_hydration, insert_hydration_dev, intros, invalid_attribute_name_character, is_client, is_crossorigin, is_empty, is_function, is_promise, is_void, listen, listen_dev, loop, loop_guard, merge_ssr_styles, missing_component, mount_component, noop, not_equal, now, null_to_empty, object_without_properties, onDestroy, onMount, once, outro_and_destroy_block, prevent_default, prop_dev, query_selector_all, raf, run, run_all, safe_not_equal, schedule_update, select_multiple_value, select_option, select_options, select_value, self, setContext, set_attributes, set_current_component, set_custom_element_data, set_data, set_data_dev, set_input_type, set_input_value, set_now, set_raf, set_store_value, set_style, set_svg_attributes, space, spread, src_url_equal, start_hydrating, stop_propagation, subscribe, svg_element, text, tick, time_ranges_to_array, to_number, toggle_class, transition_in, transition_out, trusted, update_await_block_branch, update_keyed_each, update_slot, update_slot_base, validate_component, validate_dynamic_element, validate_each_argument, validate_each_keys, validate_slots, validate_store, validate_void_dynamic_element, xlink_attr };\n","// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nmodule.exports = function(style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function(node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n var errorsList = [];\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n};\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n","var parse = require('inline-style-parser');\n\n/**\n * Parses inline style to object.\n *\n * @example\n * // returns { 'line-height': '42' }\n * StyleToObject('line-height: 42;');\n *\n * @param {String} style - The inline style.\n * @param {Function} [iterator] - The iterator function.\n * @return {null|Object}\n */\nfunction StyleToObject(style, iterator) {\n var output = null;\n if (!style || typeof style !== 'string') {\n return output;\n }\n\n var declaration;\n var declarations = parse(style);\n var hasIterator = typeof iterator === 'function';\n var property;\n var value;\n\n for (var i = 0, len = declarations.length; i < len; i++) {\n declaration = declarations[i];\n property = declaration.property;\n value = declaration.value;\n\n if (hasIterator) {\n iterator(property, value, declaration);\n } else if (value) {\n output || (output = {});\n output[property] = value;\n }\n }\n\n return output;\n}\n\nmodule.exports = StyleToObject;\n","\"use strict\";\nexports.__esModule = true;\nexports.LanguageTranslator = exports.addComponent = exports.getChildStyleToPass = void 0;\nfunction getChildStyleToPass(parsedStyle, vars) {\n var _a, _b;\n var toreturn = \"\";\n if (parsedStyle &&\n (vars === null || vars === void 0 ? void 0 : vars.length) &&\n ((_a = Object.keys(parsedStyle)) === null || _a === void 0 ? void 0 : _a.length) &&\n ((_b = vars === null || vars === void 0 ? void 0 : vars.filter(function (f) { return Object.keys(parsedStyle).includes(f.name); })) === null || _b === void 0 ? void 0 : _b.length)) {\n var _loop_1 = function (k) {\n var isPresent = vars === null || vars === void 0 ? void 0 : vars.filter(function (f) { return f.name === k && f.defaultValue !== parsedStyle[k]; });\n if (isPresent) {\n toreturn += \"\".concat(k, \":\").concat(parsedStyle[k], \";\");\n }\n };\n for (var _i = 0, _c = Object.keys(parsedStyle); _i < _c.length; _i++) {\n var k = _c[_i];\n _loop_1(k);\n }\n }\n return toreturn;\n}\nexports.getChildStyleToPass = getChildStyleToPass;\nfunction addComponent(opts) {\n var _a;\n var componentName = ((_a = opts === null || opts === void 0 ? void 0 : opts.repoName.split(\"/\")) === null || _a === void 0 ? void 0 : _a[1]) || (opts === null || opts === void 0 ? void 0 : opts.repoName);\n if (!componentName)\n throw new Error(\"wrong componentPath \" + (opts === null || opts === void 0 ? void 0 : opts.repoName));\n if (!(opts === null || opts === void 0 ? void 0 : opts.version))\n throw new Error(\"wrong version \" + (opts === null || opts === void 0 ? void 0 : opts.version));\n var iifePath = (opts === null || opts === void 0 ? void 0 : opts.iifePath) || \"release/release.js\";\n if (!document.getElementById(componentName + \"-script\")) {\n try {\n var script = document.createElement(\"script\");\n script.id = componentName + \"-script\";\n script.src = \"https://cdn.jsdelivr.net/npm/\".concat(opts.repoName, \"@\").concat(opts.version, \"/\").concat(iifePath);\n if ((opts === null || opts === void 0 ? void 0 : opts.local) && location.href.includes(\"localhost\")) {\n script.src = \"\".concat(opts.local);\n }\n document.head.appendChild(script);\n }\n catch (err) {\n console.warn(err);\n }\n }\n}\nexports.addComponent = addComponent;\nvar LanguageTranslator = /** @class */ (function () {\n function LanguageTranslator(opts) {\n if (!(opts === null || opts === void 0 ? void 0 : opts.dictionary))\n throw new Error(\"no dictionary provided\");\n this.dictionary = opts.dictionary;\n this.setLang(opts === null || opts === void 0 ? void 0 : opts.lang);\n }\n LanguageTranslator.prototype.setLang = function (lang) {\n if (!lang)\n lang = LanguageTranslator.getDefaultLang();\n this.lang = lang;\n };\n LanguageTranslator.prototype.translateWord = function (wordKey, lang) {\n return LanguageTranslator.getDictionaryWord(wordKey, this.dictionary, lang || this.lang);\n };\n LanguageTranslator.prototype.translateDate = function (dateISOString, timeOptions, lang) {\n return LanguageTranslator.formatDate(dateISOString, timeOptions, lang || this.lang);\n };\n LanguageTranslator.getDefaultLang = function () {\n var _a, _b, _c, _d, _e;\n var browserLang = \"en\";\n if ((navigator === null || navigator === void 0 ? void 0 : navigator.languages) &&\n ((_c = (_b = (_a = navigator.languages[0]) === null || _a === void 0 ? void 0 : _a.split(\"-\")[0]) === null || _b === void 0 ? void 0 : _b.toLowerCase()) === null || _c === void 0 ? void 0 : _c.length)) {\n browserLang = (_e = (_d = navigator.languages[0]) === null || _d === void 0 ? void 0 : _d.split(\"-\")[0]) === null || _e === void 0 ? void 0 : _e.toLowerCase();\n }\n return browserLang;\n };\n LanguageTranslator.getDictionaryWord = function (wordKey, dictionary, lang) {\n var _a;\n if (!wordKey)\n throw new Error(\"no wordKey provided\");\n if (!dictionary)\n throw new Error(\"no dictionary provided\");\n if (lang && ((_a = dictionary[lang]) === null || _a === void 0 ? void 0 : _a[wordKey]))\n return dictionary[lang][wordKey];\n var w = \"\";\n var defLng = LanguageTranslator.getDefaultLang();\n if (!lang || defLng !== lang) {\n var defaultLng = dictionary === null || dictionary === void 0 ? void 0 : dictionary[defLng];\n if (defaultLng === null || defaultLng === void 0 ? void 0 : defaultLng[wordKey]) {\n w = defaultLng[wordKey];\n }\n }\n return w;\n };\n LanguageTranslator.formatDate = function (dateISOString, timeOptions, lang) {\n if (!dateISOString)\n throw new Error(\"no date provided\");\n if (typeof dateISOString.getMonth !== \"function\") {\n throw new Error(\"wrong date format\");\n }\n var dayDateFormat = new Intl.DateTimeFormat(lang || LanguageTranslator.getDefaultLang(), timeOptions);\n return dayDateFormat.format(dateISOString);\n };\n return LanguageTranslator;\n}());\nexports.LanguageTranslator = LanguageTranslator;\n//# sourceMappingURL=main.js.map",null,null,"export var storybookArgs = {\n size: { control: { type: \"range\", min: 1, max: 100 } },\n page: { control: { type: \"number\" } },\n enableselect: { control: { type: \"boolean\" } },\n selectrow: { control: { type: \"boolean\" } },\n disablepagination: { control: { type: \"boolean\" } },\n rows: { control: { type: \"array\" } },\n headers: { control: { type: \"array\" } },\n actions: { control: { type: \"array\" } },\n selectactions: { control: { type: \"array\" } },\n pageChange: { action: \"pagechangeEvent\" },\n tableaction: { action: \"tableactionEvent\" },\n tableCustomActionClick: { action: \"tableCustomActionClickEvent\" },\n cellclick: { action: \"cellclickEvent\" },\n actiononselected: { action: \"actiononselectedEvent\" },\n clickonrow: { action: \"clickonrowEvent\" },\n confirmActionModal: { action: \"confirmActionModalEvent\" },\n confirmActionModalForm: { action: \"confirmActionModalFormEvent\" },\n showConfirmModal: { action: \"showConfirmModal\" },\n showConfirmModalForm: { action: \"showConfirmModalForm\" },\n externalfilter: { control: { type: \"boolean\" } },\n pages: { control: { type: \"number\" } },\n clipboardCopyText: { action: \"pagechangeEvent\" }\n};\nvar cssVars = [\n { name: \"--bs-primary\", valueType: \"color\", theme: \"bootstrap\", defaultValue: \"#07689f\" },\n { name: \"--bs-secondary\", valueType: \"color\", theme: \"bootstrap\", defaultValue: \"#c9d6df\" },\n { name: \"--bs-success\", valueType: \"color\", theme: \"bootstrap\", defaultValue: \"#11d3bc\" },\n { name: \"--bs-info\", valueType: \"color\", theme: \"bootstrap\", defaultValue: \"#a2d5f2\" },\n { name: \"--bs-warning\", valueType: \"color\", theme: \"bootstrap\", defaultValue: \"#ffc107\" },\n { name: \"--bs-danger\", valueType: \"color\", theme: \"bootstrap\", defaultValue: \"#f67280\" },\n];\nexport var cssParts = [];\nexport var htmlSlots = [];\nexport var i18nLanguages = [];\nexport var styleSetup = {\n vars: cssVars,\n parts: cssParts\n};\nvar rows = [\n {\n title: \"bau\",\n videoSrc: \"https://comapi.be-on.tv/v1/public/records/61043eedb50af916a6429fdc/video\",\n time: \"2021-08-06T22:46:30.565Z\",\n _id: \"bau\",\n status: \"closed\"\n },\n {\n title: \"bb1\",\n videoSrc: \"https://comapi.be-on.tv/v1/public/records/61043eedb50af916a6429fdc/video\",\n time: \"2021-08-06T22:46:31.565Z\",\n description: \"ffff2\",\n _id: \"bb1\",\n status: \"closed\"\n },\n {\n title: \"bb2\",\n time: \"2021-08-02T22:46:32.565Z\",\n _id: \"bb2\",\n status: \"active\"\n },\n {\n title: \"ss\",\n time: \"2021-08-06T22:46:34.565Z\",\n description: \"fffffff\",\n testnested: { nested: \"dddd\" },\n _id: \"ss\",\n status: \"active\"\n },\n {\n title: \"bb4\",\n time: \"2021-08-06T22:46:34.565Z\",\n _id: \"bb4\",\n status: \"active\"\n },\n {\n title: \"aa5\",\n time: \"2021-08-06T22:46:34.565Z\",\n _id: \"aa5\",\n status: \"active\"\n },\n {\n title: \"bb6\",\n time: \"2021-08-06T22:46:34.565Z\",\n _id: \"bb6\",\n status: \"active\"\n },\n {\n title: \"bb7\",\n time: \"2021-08-06T22:46:34.565Z\",\n _id: \"bb7\",\n status: \"active\"\n },\n {\n title: \"bb8\",\n time: \"2021-08-06T22:46:34.565Z\",\n _id: \"bb8\",\n status: \"active\"\n },\n {\n title: \"bb9\",\n time: \"2021-08-06T22:46:33.565Z\",\n _id: \"bb9\",\n status: \"active\"\n },\n {\n title: \"bb10\",\n time: \"2021-08-06T22:46:34.565Z\",\n _id: \"bb10\",\n status: \"active\"\n },\n {\n title: \"bb11\",\n time: \"2021-08-06T22:46:34.565Z\",\n _id: \"bb11\",\n status: \"active\"\n },\n {\n title: \"bb12\",\n time: \"2021-08-06T22:46:34.565Z\",\n videoSrc: \"https://comapi.be-on.tv/v1/public/records/61043eedb50af916a6429fdc/video\",\n _id: \"bb12\",\n status: \"active\"\n },\n {\n title: \"bb13\",\n time: \"2021-08-07T22:46:39.565Z\",\n _id: \"bb13\",\n status: \"active\"\n },\n];\nvar preferences = [\n {\n type: \"text\",\n placeholder: \"Inserisci titolo di default\",\n id: \"defaultTitle\",\n required: true,\n label: \"Titolo di default\",\n value: \"titolotest\",\n params: {\n minLength: 8,\n maxLength: 120\n }\n },\n {\n type: \"number\",\n id: \"age\",\n required: true,\n label: \"Age\",\n value: 9,\n params: {\n min: 8,\n max: 120\n },\n validationTip: \"Min 8, Max 120\"\n },\n];\nvar rowsWithActions = [\n {\n title: \"bau\",\n _actions: [\n {\n name: \"activate\",\n type: \"icon\",\n iconOrText: \"ticket-fill\",\n confirm: {\n confirmLabel: \"conferma\",\n title: \"confermi?\",\n content: \"contenuto dialog1\"\n }\n },\n {\n name: \"activate2\",\n type: \"icon\",\n iconOrText: \"ticket-fill\",\n confirm: {\n confirmLabel: \"conferma\",\n title: \"confermi?\",\n content: \"contenuto dialog2\"\n }\n },\n {\n name: \"activate3\",\n type: \"icon\",\n iconOrText: \"ticket-fill\",\n edit: {\n confirmLabel: \"conferma\",\n title: \"confermi?\",\n schema: preferences\n }\n },\n ],\n videoSrc: \"https://comapi.be-on.tv/v1/public/records/61043eedb50af916a6429fdc/video\",\n time: \"2021-08-06T22:46:30.565Z\",\n _id: \"bau\",\n status: \"closed\"\n },\n {\n title: \"bb1\",\n videoSrc: \"https://comapi.be-on.tv/v1/public/records/61043eedb50af916a6429fdc/video\",\n time: \"2021-08-06T22:46:31.565Z\",\n description: \"ffff2\",\n _id: \"bb1\",\n status: \"closed\",\n _actions: [\n {\n name: \"activate\",\n type: \"icon\",\n iconOrText: \"ticket-fill\",\n confirm: {\n confirmLabel: \"conferma\",\n title: \"confermi?\",\n content: \"content3\"\n }\n },\n {\n name: \"activate2\",\n type: \"icon\",\n iconOrText: \"ticket-fill\",\n confirm: {\n confirmLabel: \"conferma\",\n title: \"confermi?\",\n content: \"content4\"\n }\n },\n ]\n },\n {\n title: \"bb2\",\n time: \"2021-08-02T22:46:32.565Z\",\n _id: \"bb2\",\n status: \"active\",\n _actions: [\n {\n name: \"activate\",\n type: \"icon\",\n iconOrText: \"ticket-fill\",\n confirm: {\n confirmLabel: \"conferma\",\n title: \"confermi?\",\n content: \"\"\n }\n },\n {\n name: \"activate2\",\n type: \"icon\",\n iconOrText: \"ticket-fill\",\n confirm: {\n confirmLabel: \"conferma\",\n title: \"confermi?\",\n content: \"\"\n }\n },\n ]\n },\n];\nvar basicHeaders = [\n {\n label: \"title\",\n key: \"title\",\n search: true\n },\n {\n label: \"description\",\n key: \"description\"\n },\n {\n label: \"nested\",\n key: \"testnested.nested\"\n },\n {\n label: \"data\",\n key: \"time\",\n type: \"datetime\",\n format: \"DD MMMM YYYY\"\n },\n];\nvar basicHeadersWithTruncateAndCopy = [\n {\n label: \"title\",\n key: \"title\",\n search: true\n },\n {\n label: \"description\",\n key: \"description\",\n truncateAt: 3,\n copyTxt: true\n },\n {\n label: \"nested\",\n key: \"testnested.nested\"\n },\n {\n label: \"data\",\n key: \"time\",\n type: \"datetime\",\n format: \"DD MMMM YYYY\"\n },\n];\nvar basicHeadersWithActions = [\n {\n label: \"title\",\n key: \"title\",\n search: true\n },\n {\n label: \"description\",\n key: \"description\"\n },\n {\n label: \"nested\",\n key: \"testnested.nested\"\n },\n {\n label: \"data\",\n key: \"time\",\n type: \"datetime\",\n format: \"DD MMMM YYYY\"\n },\n {\n label: \"modifiche\",\n key: \"mod\",\n type: \"actions\",\n nosort: true\n },\n];\nvar headersWithMoreSearch = [\n {\n label: \"title\",\n key: \"title\",\n search: true\n },\n {\n label: \"clickable\",\n key: \"description\",\n search: true,\n click: true\n },\n {\n label: \"nested\",\n key: \"testnested.nested\"\n },\n {\n label: \"data\",\n key: \"time\",\n type: \"datetime\",\n format: \"DD MMMM YYYY\"\n },\n {\n label: \"stato\",\n key: \"status\",\n type: \"enum\",\n select: [\"active\", \"closed\"],\n search: true\n },\n];\nvar headersWithNestedLabel = [\n {\n label: \"title\",\n key: \"title\",\n search: true\n },\n {\n label: \"description\",\n key: \"description\",\n search: true\n },\n {\n label: \"nested\",\n key: \"testnested.nested\",\n search: true\n },\n {\n label: \"data\",\n key: \"time\",\n type: \"datetime\",\n format: \"DD MMMM YYYY\"\n },\n];\nvar headersWithAllSearches = [\n {\n label: \"title\",\n key: \"title\",\n search: true\n },\n {\n label: \"description\",\n key: \"description\",\n search: true\n },\n {\n label: \"nested\",\n key: \"testnested.nested\",\n search: true\n },\n {\n label: \"data\",\n key: \"time\",\n type: \"datetime\",\n format: \"DD MMMM YYYY\",\n search: true\n },\n];\nvar headersWithDateOnly = [\n {\n label: \"title\",\n key: \"title\"\n },\n {\n label: \"description\",\n key: \"description\",\n click: true\n },\n {\n label: \"nested\",\n key: \"testnested.nested\"\n },\n {\n label: \"data\",\n key: \"time\",\n type: \"datetime\",\n format: \"DD MMMM YYYY\",\n search: true\n },\n];\nvar actions = [\n {\n name: \"testaction\",\n type: \"text\",\n iconOrText: \"string\"\n },\n {\n name: \"testaction2\",\n type: \"icon\",\n iconOrText: \"github\"\n },\n];\nvar selections = [\n {\n name: \"testaction\",\n type: \"text\",\n iconOrText: \"string\"\n },\n {\n name: \"testaction2\",\n type: \"icon\",\n iconOrText: \"github\"\n },\n];\nvar examples = [\n {\n name: \"BasicTableWithClick\",\n data: {\n headers: basicHeaders,\n rows: rows,\n selectrow: \"yes\"\n }\n },\n {\n name: \"BasicTableWithMoreSearchAndSelect\",\n data: {\n headers: headersWithMoreSearch,\n selectactions: selections,\n rows: rows,\n enableselect: \"yes\"\n }\n },\n {\n name: \"BasicTableWithSearchOnNestedField\",\n data: {\n headers: headersWithNestedLabel,\n rows: rows\n }\n },\n {\n name: \"BasicTableWithSearchOnAllFields\",\n data: {\n headers: headersWithAllSearches,\n rows: rows,\n selectrow: \"yes\"\n }\n },\n {\n name: \"BasicTableWithDate\",\n data: {\n headers: headersWithDateOnly,\n rows: rows\n }\n },\n {\n name: \"BasicTableWithActions\",\n data: {\n headers: headersWithAllSearches,\n rows: rows,\n actions: actions\n }\n },\n {\n name: \"BasicTableWithActionsAndSelect\",\n data: {\n headers: headersWithAllSearches,\n rows: rows,\n actions: actions,\n selectactions: selections\n }\n },\n {\n name: \"BasicTableWithActionsConfirmAndForm\",\n data: {\n headers: basicHeadersWithActions,\n rows: rowsWithActions,\n actions: actions\n }\n },\n {\n name: \"BasicTableWithTruncateAndCopy\",\n data: {\n headers: basicHeadersWithTruncateAndCopy,\n rows: rows,\n selectrow: \"yes\"\n }\n },\n];\nexport var componentSetup = {\n definitions: null,\n storybookArgs: storybookArgs,\n styleSetup: styleSetup,\n author: null,\n contributors: [],\n owner: null,\n htmlSlots: htmlSlots,\n i18n: i18nLanguages,\n examples: examples,\n screenshots: [],\n licenses: [{ type: \"Apache-2.0\", path: \"LICENSE.md\", cost: 0, currency: \"EUR\" }],\n readmePath: \"README.md\",\n name: \"hb-table\",\n category: \"table\",\n tags: [\"table\"],\n size: {},\n iifePath: \"release/release.js\",\n repoName: \"@htmlbricks/hb-table\",\n version: null\n};\n//# sourceMappingURL=docs.js.map",null,"<svelte:options tag=\"hb-terms-doc-templates\" />\n\n<script lang=\"ts\">\n\timport { get_current_component, onDestroy, onMount } from \"svelte/internal\";\n\timport pkg from \"../../package.json\";\n\n\timport { createEventDispatcher } from \"svelte\";\n\timport parseStyle from \"style-to-object\";\n\timport { addComponent, getChildStyleToPass, LanguageTranslator } from \"wc-js-utils/main\";\n\t// import GDPR from \"@app/html/GDPR.svelte\";\n\t// import ItPolicy from \"@app/html/ItPolicy.svelte.bk\";\n\timport itPrivacyContent from \"@app/functions/privacyItContent\";\n\timport itCookieContent from \"@app/functions/cookieItContent\";\n\timport enCookieContent from \"@app/functions/cookieEnContent\";\n\timport { styleSetup as tableStyleSetup } from \"../../node_modules/@htmlbricks/hb-table/release/docs\";\n\n\timport type { Component, IDoc, ITPrivacy } from \"@app/types/webcomponent.type\";\n\timport { dictionary } from \"@app/functions/i18n\";\n\tconst component = get_current_component();\n\tconst svelteDispatch = createEventDispatcher();\n\n\tfunction dispatch(name: string, detail: any) {\n\t\tsvelteDispatch(name, detail);\n\t\tcomponent.dispatchEvent && component.dispatchEvent(new CustomEvent(name, { detail }));\n\t}\n\n\texport let id: string;\n\texport let style: string;\n\texport let i18nlang: string;\n\texport let data: Component[\"data\"];\n\n\tlet parsedStyle: { [x: string]: string };\n\tlet tableStyleToSet: string = \"\";\n\tlet translator: LanguageTranslator;\n\n\tlet doc: IDoc;\n\n\t$: {\n\t\tif (!id) id = \"\";\n\t\tif (style) {\n\t\t\tparsedStyle = parseStyle(style);\n\t\t\ttableStyleToSet = getChildStyleToPass(parsedStyle, tableStyleSetup?.vars);\n\t\t}\n\n\t\tif (!translator) {\n\t\t\ttranslator = new LanguageTranslator({ dictionary, lang: i18nlang });\n\t\t} else if (translator && i18nlang && translator.lang && translator.lang !== i18nlang) {\n\t\t\ttranslator = new LanguageTranslator({ dictionary, lang: i18nlang });\n\t\t}\n\n\t\tif (data && typeof data === \"string\") {\n\t\t\ttry {\n\t\t\t\tconst json: Component[\"data\"] = JSON.parse(data);\n\t\t\t\tswitch (json.id) {\n\t\t\t\t\tcase \"privacy-doc-italian\":\n\t\t\t\t\t\tdoc = itPrivacyContent(json);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"cookie-doc-italian\":\n\t\t\t\t\t\tdoc = itCookieContent(json);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"cookie-doc-english\":\n\t\t\t\t\t\tdoc = enCookieContent(json);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"cookie-doc\":\n\t\t\t\t\t\tdoc = itCookieContent(json);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\tconsole.error(\"parsing data\", err);\n\t\t\t}\n\t\t}\n\t}\n\taddComponent({ repoName: \"@htmlbricks/hb-table\", version: pkg.version });\n</script>\n\n{#if doc?.title && doc.chapters?.length}\n\t<h1 part=\"h1\">{doc.title}</h1>\n\t{#each doc.chapters.filter((f) => f.key) as chapter (chapter.key)}\n\t\t{#if chapter.paragraphs?.length}\n\t\t\t<h2 part=\"h2\">{chapter.index}. {chapter.title}</h2>\n\t\t\t{#each chapter.paragraphs.filter((f) => f.key) as paragraph (paragraph.key)}\n\t\t\t\t{#if paragraph.title}\n\t\t\t\t\t<h3>{paragraph.title}</h3>\n\t\t\t\t{/if}\n\t\t\t\t{#if paragraph.content}\n\t\t\t\t\t<p part=\"p\">\n\t\t\t\t\t\t{paragraph.content}\n\t\t\t\t\t</p>\n\t\t\t\t{/if}\n\t\t\t\t{#if paragraph.list?.length}\n\t\t\t\t\t<ul part=\"ul\">\n\t\t\t\t\t\t{#each paragraph.list.filter((f) => f.key) as listItem (listItem.key)}\n\t\t\t\t\t\t\t<li part=\"li\">{listItem.content}</li>\n\t\t\t\t\t\t{/each}\n\t\t\t\t\t</ul>\n\t\t\t\t{/if}\n\t\t\t\t{#if paragraph.table?.headers && paragraph.table.rows?.length}\n\t\t\t\t\t<hb-table\n\t\t\t\t\t\tdisablepagination=\"yes\"\n\t\t\t\t\t\tsize=\"1000\"\n\t\t\t\t\t\tstyle={tableStyleToSet}\n\t\t\t\t\t\theaders={JSON.stringify(paragraph.table.headers)}\n\t\t\t\t\t\trows={JSON.stringify(paragraph.table.rows)}\n\t\t\t\t\t/>\n\t\t\t\t{/if}\n\t\t\t{/each}\n\t\t{/if}\n\t{/each}\n{:else}\n\tinvalid doc params\n{/if}\n\n<style lang=\"scss\">\n\t@import \"../styles/webcomponent.scss\";\n\t// @import \"../styles/bootstrap.scss\";\n</style>\n",null,null],"names":["noop","run","fn","blank_object","Object","create","run_all","fns","forEach","is_function","thing","safe_not_equal","a","b","append","target","node","appendChild","insert","anchor","insertBefore","detach","parentNode","removeChild","element","name","document","createElement","text","data","createTextNode","space","empty","attr","attribute","value","removeAttribute","getAttribute","setAttribute","set_custom_element_data","prop","set_data","wholeText","attribute_to_object","attributes","result","current_component","set_current_component","component","get_current_component","Error","createEventDispatcher","type","detail","cancelable","callbacks","$$","event","bubbles","e","createEvent","initCustomEvent","custom_event","slice","call","defaultPrevented","dirty_components","binding_callbacks","render_callbacks","flush_callbacks","resolved_promise","Promise","resolve","update_scheduled","add_render_callback","push","seen_callbacks","Set","flushidx","flush","saved_component","length","update","pop","i","callback","has","add","clear","fragment","before_update","dirty","p","ctx","after_update","outroing","transition_in","block","local","delete","destroy_block","lookup","d","key","update_keyed_each","old_blocks","get_key","dynamic","list","destroy","create_each_block","next","get_context","o","n","old_indexes","new_blocks","new_lookup","Map","deltas","child_ctx","get","c","set","Math","abs","will_move","did_move","m","first","new_block","old_block","new_key","old_key","make_dirty","then","fill","init","options","instance","create_fragment","not_equal","props","append_styles","parent_component","bound","on_mount","on_destroy","on_disconnect","context","skip_bound","root","ready","ret","rest","hydrate","nodes","Array","from","childNodes","children","l","intro","customElement","new_on_destroy","map","filter","mount_component","SvelteElement","HTMLElement","constructor","super","this","attachShadow","mode","connectedCallback","slotted","attributeChangedCallback","_oldValue","newValue","disconnectedCallback","$destroy","detaching","destroy_component","$on","index","indexOf","splice","$set","$$props","obj","$$set","keys","COMMENT_REGEX","NEWLINE_REGEX","WHITESPACE_REGEX","PROPERTY_REGEX","COLON_REGEX","VALUE_REGEX","SEMICOLON_REGEX","TRIM_REGEX","EMPTY_STRING","trim","str","replace","styleToObject","style","iterator","declaration","output","property","declarations","TypeError","lineno","column","updatePosition","lines","match","lastIndexOf","position","start","line","Position","whitespace","end","source","error","msg","err","reason","filename","silent","re","exec","comments","rules","comment","pos","charAt","val","prototype","content","decl","decls","parse","hasIterator","len","exports","__esModule","LanguageTranslator","addComponent","getChildStyleToPass","parsedStyle","vars","_a","_b","toreturn","f","includes","_loop_1","k","defaultValue","concat","_i","_c","opts","componentName","repoName","split","version","iifePath","getElementById","script","id","src","location","href","head","console","warn","dictionary","setLang","lang","getDefaultLang","translateWord","wordKey","getDictionaryWord","translateDate","dateISOString","timeOptions","formatDate","_d","_e","browserLang","navigator","languages","toLowerCase","w","defLng","defaultLng","getMonth","Intl","DateTimeFormat","format","sortFinalDoc","doc","ci","chapters","sort","chapter","pi","sortedParagraphs","paragraphs","paragraph","li","sortedList","lis","cookieHeaders","label","nosort","mapCookie","cookie","_id","service","porpose","purpose","details","storage","durate","itCookieContent","config","title","site","int","flag","company","cookies","technicalFirst","third","technicalThird","find","table","headers","rows","analyticsFirst","analyticsThird","authenticationsFirst","authenticationsThird","_f","_g","advertising","_h","thirds","_j","styleSetup","valueType","theme","parts","en","accept","decline","learnmore","basicCookieLaw","cookieLawTitle","it","t0_value","func","h1","t0","t2_value","func_1","h2","t2","t_value","h3","t","func_2","ul","hb_table","hb_table_headers_value","JSON","stringify","hb_table_rows_value","if_block0","create_if_block_5","if_block1","create_if_block_4","create_if_block_3","create_if_block_2","create_if_block_1","create_if_block","translator","i18nlang","tableStyleToSet","pkg","$$invalidate","parseStyle","tableStyleSetup","json","privacyAdmin","email","address","cookiePolicyUri","privacyPolicyUri","Date","date","toLocaleDateString","socialNetworks","linkedin","facebook","google","twitter","pinterest","instagram","socialText","socialParagraph","collectedData","dataTypes","scopes","contactModule","_k","payments","companies","stripe","paypal","paymentCompanies","itPrivacyContent","enCookieContent"],"mappings":"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"}
|