bbpro
Version:
BrowserBox - remote browser isolation tool
1 lines • 40.8 kB
JavaScript
(function(){var __webpack_modules__={876:function(__unused_webpack_module,exports,__webpack_require__){!function(e){const t=Math.random().toFixed(18),n=Symbol.for("[[IMMEDIATE]]"),r=H,o=q,s=()=>{},a=/(?:<!\-\-)?(key0.\d+)(?:\-\->)?/gm,i=/\w+=/,c="<link rel=join>",l=20,u=()=>"Possible XSS / object forgery attack detected. Object code could not be verified.",d=e=>({message:"Object values not allowed here.",x:e}),h=()=>"Unset values not allowed here.",f=()=>"Error inserting template into DOM. Position must be one of: replace, beforebegin, afterbegin, beforeend, innerhtml, afterend",p=e=>`Error inserting template into DOM. Location ${e} was not found in the document.`,E=new class{beforeend(e,t){t.appendChild(e)}beforebegin(e,t){t.parentNode.insertBefore(e,t)}afterend(e,t){t.parentNode.insertBefore(e,t.nextSibling)}replace(e,t){t.parentNode.replaceChild(e,t)}afterbegin(e,t){t.insertBefore(e,t.firstChild)}innerhtml(e,t){t.replaceChildren(),t.appendChild(e)}insert(e,t){t.replaceChildren(e)}},m=new Map,_=document.createElement("div"),g="beforeend",y="",{stringify:T}=JSON,b=e=>T(e,x,y),S=e=>(e?.code===t||e?.type&&("MarkupObject"===e.type||"MarkupAttrObject"===e.type))&&Array.isArray(e?.nodes),w=()=>"f"+A+++(10*Math.random()).toString(36).replace(".","_"),N=e=>!!e&&("string"==typeof e.key||"number"==typeof e.key)&&Object.getOwnPropertyNames(e).length<=2;let A=10;const k={};async function v(e,...t){const r=this;let o,s,a=!1;if(0===e[0].length&&t[0].state&&(a=!0),t.find(N),a)return({state:o,_host:s}=t.shift()),e.shift(),t=await Promise.all(t.map((e=>B(r,e,o,s)))),O(e,t,{_host:s});{const o=async(n,o)=>(t=await Promise.all(t.map((e=>B(r,e,n,o)))),O(e,t,{_host:o}));return o[n]=!0,o}}function C(e,...t){return O(e,t,{useCache:!1})}function O(e,n,{useCache:r=!0,_host:o}={}){const s={};let a,i;if(n=n.map(K),r){a=n.find(N)||{},i=e.join(c);const{cached:t,firstCall:r}=function(e,t,n){let r,o=k[e];return null==o?(o=k[e]={},void 0!==n.key&&(o.instances={},o=o.instances[n.key]={}),r=!0):void 0!==n.key?o.instances?(o=o.instances[n.key],o?!0===n.kill?(o=k[e],o&&o.instances&&(o.instances[n.key]=null),o=null,r=!0):r=!1:r=!0):(o.instances={},r=!0):r=!1,{cached:o,firstCall:r}}(i,0,a);if(!r)return t.update(n),t;s.oldVals=Array.from(n)}else s.oldVals=Array.from(n);e=[...e];const l={},u=n.map(function(e){return(n,r)=>{if(N(n))return y;const o="key"+Math.random().toFixed(15);let s=o;return n.code===t&&Array.isArray(n.nodes)&&(s=`\x3c!--${s}--\x3e`),e[o]={vi:r,val:n,replacers:[]},s}}(l)),d=[];let h=y;for(;e.length>1;)h+=e.shift()+u.shift();h+=e.shift();const f=W(h),p=document.createTreeWalker(f,NodeFilter.SHOW_ALL);do{R({walker:p,vmap:l,externals:d})}while(p.nextNode());return Object.assign(s,{externals:d,v:Object.values(l),cacheKey:i,instance:a,to:P,update:X,code:t,nodes:Array.from(f.childNodes)}),r&&(void 0!==a.key?k[i].instances[a.key]=s:k[i]=s,s.nodes.forEach((e=>{const t=a.key+y;m.set(e,{ck:i,ik:t}),o.destructors.add((()=>{i&&t&&"undefined"!==t?k[i]&&(k[i].instances[t]=null):i&&(k[i]=null)}))}))),s}async function B(e,r,o,s){if("string"==typeof r)return r;if("number"==typeof r)return r+y;if("boolean"==typeof r)return r+y;if(r instanceof Date)return r+y;if(D(r)){if(CONFIG.allowUnset)return CONFIG.unsetPlaceholder||y;throw new TypeError(`Value cannot be unset, was: ${r}`)}if(r instanceof Promise)return await B(e,await r.catch((e=>e+y)),o,s);if(r instanceof Element)return r.outerHTML;if(r instanceof Node)return r.textContent;if(S(r))return{code:t,externals:r.externals,nodes:r.nodes};const a=Array.isArray(r)&&(0===r.length||S(r[0]));if(null!==(i=r)&&i[Symbol.iterator]instanceof Function){if(a)return Y(r);if(r[0]instanceof Function&&!r[0][n]){const e=M(...r);if(s.names.has(e)){const{func:t,name:n}=s.names.get(e);if(n)return s.funcs.add((e=>(e[n]=e[n]||t,n))),n}const t=w(),n=function(e){for(const t of r)try{t(e)}catch(n){console.warn("Handler in func array failed",{fun:t,e:n,ev:e,x:r})}};return s.names.set(e,{name:t,func:n}),s.funcs.add((e=>(e[t]=n,t))),`${t}(event)`}return r[0]instanceof Element||r[0]instanceof Node?{code:t,externals:[],nodes:r}:B(e,await Promise.all((await Promise.all(Array.from(r)).catch((e=>e+y))).map((t=>B(e,t,o,s)))),o,s)}var i;const c=N(r),l=r.code===t&&"string"==typeof r.str;if(c||l||S(r))return r;if(r[n]&&"AsyncFunction"===Object.getPrototypeOf(r).constructor.name)return await B(e,await r(o,s),o,s);if(r[n]&&r instanceof Function)return r(o,s);if(r instanceof Function){const e=M(r);if(s.names.has(e)){const{func:t,name:n}=s.names.get(e);if(n)return s.funcs.add((e=>(e[n]=e[n]||t,n))),n}const t=w();return s.names.set(e,{name:t,func:r}),s.funcs.add((e=>(e[t]=r,t))),`${t}(event)`}{let t;if(Object.prototype.hasOwnProperty.call(r,CONFIG.bangKey)){t=new e.StateKey(r[CONFIG.bangKey])+y;const n=e.STATE.get(t);e.STATE.delete(n),e.STATE.set(t,r),e.STATE.set(r,t)}else{const n=b(r);if(e.STATE.has(r)||e.STATE.has(n)){t=(e.STATE.get(r)||e.STATE.get(n)).replace(/.json.last$/,"");const o=e.STATE.get(t+".json.last");n!==o&&(e.STATE.delete(o),t.startsWith("system-key")&&(e.STATE.delete(t),t=new e.StateKey+y),e.STATE.set(t,r),e.STATE.set(r,t))}else t=new e.StateKey+y,e.STATE.set(t,r),e.STATE.set(r,t);e.STATE.set(n,t+".json.last"),e.STATE.set(t+".json.last",n)}return t+=y,t}}function M(...e){return`${e.map((e=>e.toString())).join(";")}`}function D(e){return null==e}function P(e,t){const n=(t||"replace").toLocaleLowerCase(),r=document.createDocumentFragment();this.nodes.forEach((e=>r.appendChild(e)));const o=e instanceof Node?e:document.querySelector(e);try{E[n](r,o)}catch(t){switch(t.constructor&&t.constructor.name){case"DOMException":J({error:f()});break;case"TypeError":J({error:p(e)});break;default:throw t}}for(;this.externals.length;)this.externals.shift()()}function R({walker:e,vmap:t,externals:n}){const r=e.currentNode;if(r.shadowRoot instanceof ShadowRoot)throw new TypeError("Shadow not supported here currently");switch(r.nodeType){case Node.ELEMENT_NODE:!function({node:e,vmap:t,externals:n}){$(e).forEach((({name:r,value:o}={})=>{const s={node:e,vmap:t,externals:n,name:r,lengths:[]};a.lastIndex=0;let i=a.exec(r);for(;i;)I(i,s,{updateName:!0}),i=a.exec(r);for(a.lastIndex=0,i=a.exec(o);i;)I(i,s,{updateName:!1}),i=a.exec(o)}))}({node:r,vmap:t,externals:n});break;case Node.COMMENT_NODE:case Node.TEXT_NODE:!function({node:e,vmap:t,externals:n}){const r=[],o=e.nodeValue;let s=a.exec(o);for(;s;){const{index:i}=s,c=s[1],l=t[c],u=F({node:e,index:i,lengths:r,val:l}),d=()=>{try{u(l.val)}catch(e){console.warn(`Error in replacer for key ${c}`,{val:l,error:e})}L.delete(c)};n.push(d),L.set(c,d),l.replacers.push(u),s=a.exec(o)}}({node:r,vmap:t,externals:n})}}Object.assign(v,{attrskip:o,skip:r,attrmarkup:q,markup:H,guardEmptyHandlers:function(e){return Array.isArray(e)?0==e.length?[s]:e:D(e)?s:void 0},die:J}),Object.assign(globalThis,{vanillaview:{c:C,s:v}});const L=new Map;function F(e){const{node:t}=e,n=Object.assign({},e,{oldVal:{length:l},oldNodes:[t],lastAnchor:t});return e=>{n.oldVal!=e&&(n.val.val=e,"vanillaviewobject"===j(e)?function(e,t){let{oldNodes:n,lastAnchor:r}=t;if(e.nodes.length)if(o=n,s=e.nodes,o.length==s.length&&Array.from(o).every(((e,t)=>e==s[t])));else{const n=[];for(Array.from(e.nodes).forEach((e=>{if(document.contains(e.ownerDocument))for(;n.length;){const t=n.shift();e.parentNode.insertBefore(t,e)}else n.push(e)}));n.length;){const e=n.shift();r.parentNode.insertBefore(e,r)}t.lastAnchor=e.nodes[e.nodes.length-1]}else{const e=function(e){let t=[...e.parentNode.childNodes].find((e=>e.isConnected&&e.nodeType==Node.COMMENT_NODE&&"vanillaview_placeholder"==e.nodeValue));return t||(t=W("\x3c!--vanillaview_placeholder--\x3e").firstChild),t}(r);r.parentNode.insertBefore(e,r.nextSibling),t.lastAnchor=e}var o,s;const a=(i=n,c=e.nodes,i=new Set(i),c=new Set(c),new Set([...i].filter((e=>!c.has(e)))));var i,c;if(a.size){const e=document.createDocumentFragment(),t=new Set;a.forEach((n=>{if(e.appendChild(n),n.linkedCustomElement&&e.appendChild(n.linkedCustomElement),n.nodeType===Node.COMMENT_NODE&&n.textContent.match(/key\d+/))return;const r=m.get(n);r&&(t.add(b(r)),[...m.entries()].forEach((([e,r])=>n.contains(e)&&t.add(b(r)))))})),t.forEach((e=>{const{ck:t,ik:n}=JSON.parse(e);try{t&&n&&"undefined"!==n?k[t]&&(k[t].instances[n]=null):t&&(k[t]=null)}catch(r){console.warn("Error in kill for",{kill:e,cacheKey:t,instanceKey:n})}}))}for(t.oldNodes=e.nodes||[r];e.externals.length;)e.externals.shift()()}(e,n):function(e,t){let{oldVal:n,index:r,val:o,lengths:s,node:a}=t;const i=o.vi,c=Object.keys(s.slice(0,i)).length*l,u=s.slice(0,i).reduce(((e,t)=>e+t),0),d=a.nodeValue;s[i]=e.length;const h=u-c,f=d.slice(0,r+h)+e+d.slice(r+h+n.length);a.nodeValue=f,a.linkedCustomElement&&f!==n&&function(e){const t=e.linkedCustomElement,n=W(`<span ${e.textContent}></span>`).firstChild,r=new Set($(t).filter((({name:e})=>!e.startsWith("on"))).map((({name:e})=>e)));$(n).forEach((({name:e,value:n})=>{e!==t.localName&&(e.startsWith("on")||(t.setAttribute(e,n),r.delete(e)))})),r.forEach((e=>t.removeAttribute(e)))}(a),t.oldVal=e}(e,n))}}function I(e,t,{updateName:n}){const{index:r,input:o}=e,s=Object.assign({},t,{index:r,input:o,updateName:n,val:t.vmap[e[1]],oldVal:{length:l},oldName:t.name});let a;a=n?function(e){let{oldName:t,node:n,val:r}=e;return e=>{if(t==e)return;r.val=e;const o=n.hasAttribute(t)?t:y;if(o!==e){if(o&&(n.removeAttribute(t),n[t]=void 0),e){let t,r=e=e.trim();if(i.test(e)){const n=e.indexOf("=");[r,t]=[e.slice(0,n),e.slice(n+1)]}U(n,r,t)}t=e}}}(s):function(e){const t=t=>{if(e.oldVal!=t)switch(e.val.val=t,j(t)){case"funcarray":!function(e,t){let{oldVal:n,node:r,name:o,externals:s}=t;if(n&&!Array.isArray(n)&&(n=[n]),"bond"!==o){let t={};o.includes(":")&&([o,...t]=o.split(":"),t=t.reduce(((e,t)=>(e[t]=!0,e)),{})),n&&n.forEach((e=>r.removeEventListener(o,e,t))),e.forEach((e=>r.addEventListener(o,e,t)))}else n&&n.forEach((e=>{const t=s.indexOf(e);t>=0&&s.splice(t,1)})),e.forEach((e=>s.push((()=>e(r)))));t.oldVal=e}(t,e);break;case"function":!function(e,t){let{oldVal:n,node:r,name:o,externals:s}=t;if("bond"!==o){let t={};o.includes(":")&&([o,...t]=o.split(":"),t=t.reduce(((e,t)=>(e[t]=!0,e)),{})),n&&r.removeEventListener(o,n,t),r.addEventListener(o,e,t),U(r,o,y)}else{if(n){const e=s.indexOf(n);e>=0&&s.splice(e,1)}s.push((()=>e(r)))}t.oldVal=e}(t,e);break;case"handlers":!function(e,t){let{oldVal:n,node:r,externals:o}=t;n&&"object"==typeof n&&Object.entries(n).forEach((([e,t])=>{if("bond"!==e){let n={};e.includes(":")&&([e,...n]=e.split(":"),n=n.reduce(((e,t)=>(e[t]=!0,e)),{})),r.removeEventListener(e,t,n)}else{const e=o.indexOf(t);e>=0&&o.splice(e,1)}})),Object.entries(e).forEach((([e,t])=>{if("bond"!==e){let n={};e.includes(":")&&([e,...n]=e.split(":"),n=n.reduce(((e,t)=>(e[t]=!0,e)),{})),r.addEventListener(e,t,n)}else o.push((()=>t(r)))})),t.oldVal=e}(t,e);break;case"vanillaviewobject":G(t=function(e){const t=document.createDocumentFragment();e.forEach((e=>t.appendChild(e.cloneNode(!0))));const n=document.createElement("body");return n.appendChild(t),n.innerHTML}(t.nodes),e);break;case"markupattrobject":t=t.str;default:G(t,e)}};return t(e.val.val),t}(s),s.externals.push((()=>a(s.val.val))),s.val.replacers.push(a)}function x(e,t){return"function"==typeof this[e]?t.toString():t instanceof Node?`${t.nodeName}//${t.nodeValue||t.outerHTML||t.textContent}`:t}function $(e){return e.hasAttribute?(e.hasAttribute("class")&&e.setAttribute("class",V(e.getAttribute("class"))),Array.from(e.attributes)):[]}function G(e,t){let n,{oldVal:r,node:o,index:s,name:a,val:i,lengths:c,oldAttrVal:u}=t,d=o.getAttribute(a);if(u===r)n=e;else{let o=0;const u=i.vi,h=Object.keys(c.slice(0,u)).length*l;"class"==a&&(0==(e=e.trim()).length&&(o=-1),t.val.val=e),c[u]=e.length+o;const f=c.slice(0,u).reduce(((e,t)=>e+t),0)-h,p=d.slice(0,s+f),E=d.slice(s+f+r.length);if("class"==a){const t=0==r.length?" ":y;n=p+t+e+t+E}else n=p+e+E}d!==n&&U(o,a,n),t.oldVal=e,t.oldAttrVal=n}function U(e,t,n){if("class"==t&&(n=V(n)),CONFIG.EVENTS.includes("on"+t)){t="on"+t;const n=e.getAttribute(t);if(e.getRootNode().host){if(e.getRootNode().host.paths.has(n))return}else if(n?.startsWith("this."))return}try{e.setAttribute(t,D(n)?t:n)}catch(r){console.warn("error",r,{node:e,name:t,value:n})}if(t in e&&"style"!==t)try{e[t]=!!D(n)||n}catch(e){}}function j(e){const n=typeof e;return"function"===n?"function":e.code===t&&Array.isArray(e.nodes)?"vanillaviewobject":e.code===t&&"string"==typeof e.str?"markupattrobject":Array.isArray(e)&&(0===e.length||e[0].code===t&&Array.isArray(e[0].nodes))?"vanillaviewarray":!Array.isArray(e)||0!==e.length&&"function"!=typeof e[0]?"object"===n?"handlers":"default":"funcarray"}function H(e){const n=W(e=D(e)?y:e);return{type:"MarkupObject",code:t,nodes:Array.from(n.childNodes),externals:[]}}function q(e){return e=(e=D(e)?y:e).replace(/"/g,"""),{type:"MarkupAttrObject",code:t,str:e}}function V(e){return(e=e.trim()).replace(/\s+/g," ")}function W(e){return _.replaceChildren(),_.insertAdjacentHTML(g,`<template>${e}</template>`),_.firstElementChild.content}function K(e){const n=Array.isArray(e)&&(0===e.length||S(e[0])),r=D(e),o=e.code!==t&&Array.isArray(e.nodes),s="object"==typeof e;return n?Y(e):N(e)||e.code===t?e:(r&&J({error:h()}),o&&J({error:u()}),Array.isArray(e)&&e[0]instanceof Node?{code:t,nodes:e,externals:[]}:Array.isArray(e)&&e[0]instanceof Function?e:(s&&J({error:d(e)}),e+y))}function Y(e){const n=[],r=[];for(const t of e)n.push(...t.externals),r.push(...t.nodes);return{v:[],code:t,oldVals:[],nodes:r,to:P,update:X,externals:n}}function X(e){this.v.filter((({vi:t})=>function(e,t){const[n,r]=[e,t].map(j);let o;if(n!=r)o=!0;else switch(n){case"vanillaviewobject":case"funcarray":case"function":case"vanillaviewarray":case"markupattrobject":o=!0;break;default:o=b(e)!==b(t)}return o}(e[t],this.oldVals[t]))).forEach((({vi:t,replacers:n})=>n.forEach((n=>n(e[t]))))),this.oldVals=Array.from(e)}function J(e,t){throw e.stack=(new Error).stack.split(/\s*\n\s*/g),e}e.c=C,e.s=v}(exports),function(){const BBDEBUG=!1,SK_BBDEBUG=!1,IMMEDIATE=Symbol.for("[[IMMEDIATE]]"),NAMESPACE="b",PIPELINE_REQUESTS=!0,RANDOM_SLEEP_ON_FIRST_PRINT=!0,RESPONSIVE_MEDIATION=!0,USE_XPATH=!0,X_NS_ATTRS=`.//@*[starts-with(name(), '${NAMESPACE}:')]`,X_NEWLISTENING=document.createExpression(X_NS_ATTRS),XON_EVENT_ATTRS=".//@*[starts-with(local-name(), 'on')]",X_LISTENING=document.createExpression(XON_EVENT_ATTRS),OPTIMIZE=!0,GET_ONLY=!0,MOBILE=isMobile(),GC_TIMEOUT=1e4,EMPTY="",{stringify:_STR}=JSON,Reserved=new Set(["_self","_host","_top"]),LIGHTHOUSE=navigator.userAgent.includes("Chrome-Lighthouse"),DOUBLE_BARREL=/^\w+-(?:\w+-?)*$/,POS="beforeend",LOCAL_PATH="this.",PARENT_PATH="this.getRootNode().host.",ONE_HIGHER="getRootNode().host.",CALL_WITH_EVENT="(event)";let comp=0;const NextComponent=()=>`b${comp++}${Math.random().toString(36)}`,F=_FUNC,G=_GFUNC,FUNC_CALL=/\);?$/,MirrorNode=Symbol.for("[[MN]]"),DIV=document.createElement("div"),path=location.pathname,CONFIG={htmlFile:"markup.html",scriptFile:"script.js",styleFile:"style.css",bangKey:"_bang_key",componentsPath:`${path}${path.endsWith("/")?EMPTY:"/"}../components`,allowUnset:!0,unsetPlaceholder:EMPTY,EVENTS:"bond error load click pointerdown pointerup pointermove mousedown mouseup submit\n mousemove touchstart touchend touchmove touchcancel dblclick dragstart dragend \n dragmove drag mouseover mouseout focus blur focusin focusout scroll\n input change compositionstart compositionend text paste beforepaste select cut copy\n keydown keyup keypress compositionupdate selectionchange \n contextmenu wheel\n ".split(/\s+/g).filter((e=>e.length)).map((e=>`[on${e}]`)).join(","),delayFirstPaintUntilLoaded:!1,capBangRatioAtUnity:!1,noHandlerPassthrough:!1,useMagicClone:!0},History=[],STATE=new Map,CACHE=new Map,syskeys=new Map,Waiters=new Map,Started=new Set,TRANSFORMING=new WeakSet,Dependents=new Map,MAX_CONCURRENT_REQUESTS=5,RequestPipeLine=new Map,RequestWaiting=[];class Counter{started=0;finished=0;constructor(e){e.counts=this,this.root=e}check(){const{root:e}=this;let t=!1;if(e===document)t=0===e.querySelectorAll(".bang-el:not([lazy])").length;else{const e=this.started>0,n=this.finished>=this.started;t=e&&n}return t}start(){this.root==document&&say("log","Counting start"),this.started++}finish(){this.root==document&&say("log","Counting finished"),this.finished++}}const SHADOW_OPTS={mode:"open",delegatesFocus:!0},OBSERVE_OPTS={subtree:!0,childList:!0,characterData:!0},INSERT="insert",ALL_DEPS={allDependents:!0},Env=Object.create(null);let LoadChecker,RequestId=0,hindex=0,observer,systemKeys=1,_c$,_s$,firstState;const BangBase=e=>class t extends HTMLElement{static#e=["state"];static get observedAttributes(){return Array.from(t.#e)}#t=e;#n=[];#r=new Set;#o=new Map;#s=new Map;#a=new Set;#i;key;constructor(){super(),this.cookMarkup=async(e,t)=>{BBDEBUG&&console.log(`Component ${this.#t}`);const n=await cook.call(this,e,t);BBDEBUG&&console.log(`Component : ${this.#t}`),BBDEBUG&&console.log(`State host: ${this.name}`),BBDEBUG&&console.log(`Will add ${this.#r.size} event handler functions`),this.name!==this.#t&&BBDEBUG&&console.info("\tComponent and _host value differ"),this.#r.forEach((e=>{try{const t=e(this);BBDEBUG&&console.log(`Applied automatic event handler function ${t} to component`,this),this.#r.delete(e)}catch(e){console.warn(e)}})),BBDEBUG&&console.log();let r=this.shadowRoot;if(r)BBDEBUG&&console.log("already has shadow",this),this.needsRefresh&&(this.cookListeners(r),this.needsRefresh=!1);else{const e=this.attachShadow(SHADOW_OPTS);observer.observe(e,OBSERVE_OPTS),await n.to(e,INSERT);const t=await findBangs(transformBang,e,ALL_DEPS);this.#n=t.map((e=>e.untilVisible())),this.cookListeners(e)}},this.markLoaded=async()=>{if(this.alreadyPrinted=!0,!this.loaded){this.counts.finish();const e=await this.untilLoaded();e?(this.loaded=e,this.setVisible(),this.isLazy||setTimeout((()=>document.counts.finish()),0)):console.warn("Not loaded",this)}}}prepareState(){}get others(){return this.#i?this.#i:{}}set others(e){this.#i=e}get destructors(){return this.#a}get paths(){return this.#s}get names(){return this.#o}get funcs(){return this.#r}get name(){return this.#t}async print(){this.alreadyPrinted||this.prepareVisibility();const e=this.handleAttrs(this.attributes);if(OPTIMIZE){const t=JS(e);if(this.alreadyPrinted&&this.lastState===t)return;this.lastState=t}return this.printShadow(e)}update(){return this.fastUpdate?this.fastUpdate():this.print()}rerender(){this.printShadow(this.state)}prepareVisibility(){this.classList.add("bang-el"),this.counts.start(),this.isLazy||document.counts.start(),this.classList.remove("bang-styled"),fetchStyle(e).catch((e=>{say("warn",e)}))}async untilLoaded(){const e=(await Promise.all(this.#n)).every((e=>e)),t=await becomesTrue(this.loadCheck,this.loadKey),n=await becomesTrue((()=>this.styleSheetsImported()));return BBDEBUG&&console.log(new Date-self.Start),t&&e&&n}async styleSheetsImported(){const e=this?.shadowRoot?.styleSheets?.[0]?.cssRules;if(e){const t=[...e].find((e=>e instanceof CSSImportRule));return!t||(await becomesTrue((()=>!!t?.styleSheet?.rules?.length)),!0)}return!0}async untilVisible(){return!!this.isLazy||await becomesTrue(this.visibleCheck,this.visibleLoadKey)}get deps(){return this.#n}updateIfChanged(e){const{didChange:t}=stateChanged(e);if(t){const n=this.getAttribute("state"),r=updateState(e);BBDEBUG&&console.log({didChange:t,oKey:n,newKey:r},this);const o=Dependents.get(this)||new Set;o.add(this),Dependents.set(r,o),o.forEach((e=>e.setAttribute("state",r)))}}setVisible(){this.classList.add("bang-styled")}get state(){return getState(this.getAttribute("state"))}set state(e){const t=this.getAttribute("state");return t.startsWith("system-key:")?this.updateIfChanged(this.state):setState(t,e)}attributeChangedCallback(e,t){"state"!==e||isUnset(t)||this.update()}connectedCallback(){new Counter(this),this.loadCheck=()=>this.counts.check(),this.visibleCheck=()=>this.classList?.contains("bang-styled"),this.loadKey=Math.random().toString(36),this.visibleLoadKey=Math.random().toString(36),say("log",e,"connected"),this.handleAttrs(this.attributes,{originals:!0}),this.hasAttribute("lazy")?(this.isLazy=!0,this.hasAttribute("super")?(this.superLazy=!0,loaded().then((()=>sleep(400*Math.random()).then((()=>this.print()))))):RANDOM_SLEEP_ON_FIRST_PRINT?sleep(160*Math.random()).then((()=>this.print())):this.print()):this.print()}disconnectedCallback(){BBDEBUG&&console.log(`${this.name} disconnecting...`),this.alreadyPrinted=!1,this.loaded=!1,this.destructors.forEach((e=>{try{BBDEBUG&&console.log("Running destructor",e.toString()),e()}catch(t){console.warn(`Destructor for ${this.name} failed`,t,e)}})),this.needsRefresh=!0}cookListeners(e){return cookListeners(e)}handleAttrs(e,{node:t,originals:n}={}){const r={};t||(t=this);for(const{name:o,value:s}of e)isUnset(s)||handleAttribute(o,s,{node:t,originals:n,stateHolder:r,host:this});return self._states.push(r.state),r.state}printShadow(e){if(!e){BBDEBUG&&console.warn(`No state on component ${this.name}. Will pass empty state`),BBDEBUG&&console.dir(this);const t=new StateKey+"";setState(t,e={}),this.setAttribute("state",t),BBDEBUG&&console.log(`Assigned empty state to key ${t}`)}return fetchMarkup(this.#t).then((t=>this.cookMarkup(t,e))).catch((e=>BBDEBUG&&say("warn!",e))).finally(this.markLoaded)}};class StateKey extends String{constructor(e){if(BBDEBUG||SK_BBDEBUG){const e=new Error("state key").stack;self.syskeys.set(`system-key:${systemKeys+2}`,e)}super(null==e?`system-key:${systemKeys+=2}`:`client-key:${e}`)}}async function use(name){if(self.customElements.get(name))return;let component;BBDEBUG&&console.log("using",name),await fetchScript(name).then((script=>{const Base=BangBase(name),Compose=`(function () { ${Base.toString()}; return ${script}; }())`;try{with({...Env})component=eval(Compose)}catch(e){console.error(`Error evaluating component ${name}`,e,{Compose:Compose})}})).catch((e=>{BBDEBUG&&say("log!",e),component=BangBase(name)})),self.customElements.get(name)||self.customElements.define(name,component)}function setEnv(e){e&&Object.assign(Env,e)}async function schedule(e,t,{batchSize:n=1,yieldTime:r=30,strictSerial:o=!0,useFrame:s=!1}={}){const a=[];let i=0,c=0;for await(const l of e){let e;if(e=o?await t(l,i):t(l,i),a.push(e),RESPONSIVE_MEDIATION){if(i++,c++,c<n)continue;c=0,s?await nextFrame():r>-1&&await sleep(r)}}return a}function undoState(e,t=(e=>e)){for(;hindex>0;)if(hindex-=1,History[hindex].name===e)return setState(e,t(History[hindex].value)),!0;return!1}function redoState(e,t=(e=>e)){for(;hindex<History.length-1;)if(hindex+=1,History[hindex].name===e)return setState(e,t(History[hindex].value)),!0;return!1}function bangFig(e={}){console.log(e),Object.assign(CONFIG,e)}function immediate(e){if(!(e instanceof Function))throw new TypeError(`immediate can only be called on a function. Recieved: ${e}`);e[IMMEDIATE]||Object.defineProperty(e,IMMEDIATE,{value:!0,configurable:!1,enumerable:!1,writable:!1})}function runCode(context,str){with({...Env,...context})return eval(str)}function stateChanged(e){const t=STATE.get(e),n=STATE.get(t+".json.last"),r=JS(e);return{key:t,didChange:n!==r,stateJSON:r,oStateJSON:n}}function updateState(e,t){if(!(t=t||STATE.get(e)))throw console.warn("no key for state",e),new ReferenceError("Key must exist to update state.");const n=t,r=STATE.get(t+".json.last"),o=JS(e);STATE.delete(r),STATE.set(t,e),BBDEBUG&&console.log({key:t,state:e});const s=Dependents.get(n);if(t.startsWith("system-key:"))try{STATE.delete(t),STATE.delete(t+".json.last"),t=new StateKey+"",STATE.set(t,e),STATE.set(e,t),s&&s.forEach((e=>e.setAttribute("state",t))),BBDEBUG&&console.log({key:t,oKey:n})}catch(e){console.warn(e)}return s&&Dependents.set(t,s),STATE.set(t+".json.last",o),STATE.set(o,t+".json.last"),t}function getViews(e){const t=STATE.get(e),n=Dependents.get(t);return n?Array.from(n):(console.warn("No acquirers for key"),[])}function setState(e,t,{rerender:n=!0,save:r=!1}={}){const o=JS(t);BBDEBUG&&console.log({jss:o,state:t});let s=e+".json.last";if(GET_ONLY&&STATE.has(e)?STATE.get(s)!==o&&(e=updateState(t,e),BBDEBUG&&console.log({key:e},"no where to put")):(STATE.set(e,t),STATE.set(t,e),STATE.set(o,s),STATE.set(s,o)),r&&(hindex=Math.min(hindex+1,History.length),History.splice(hindex,0,{name:e,value:clone(t)})),n){const t=Dependents.get(e);t&&t.forEach((e=>e.update()))}return firstState||(firstState=t,BBDEBUG&&console.log(`Set first state at key ${e}`,t)),!0}function getState(e){return STATE.get(e)}function patchState(e,t){return setState(e,t,{rerender:!1})}function cloneState(e,t=GET_ONLY){if(t)return STATE.get(e);if(STATE.has(e))return clone(STATE.get(e));throw new ReferenceError(`State store does not have the key ${e}`)}async function loaded(){return becomesTrue(LoadChecker)}async function bangLoaded(){return becomesTrue(bangLoadedCheck)}function bangLoadedCheck(){return"function"==typeof _c$}async function pipeLinedFetch(...e){if(!PIPELINE_REQUESTS)return fetch(...e);const t=nextRequestId(),n={args:e,started:new Date};let r;if(RequestPipeLine.size<MAX_CONCURRENT_REQUESTS){r=fetch(...e).catch((e=>(say("log",e),`/* ${e} */`))),n.pr=r,RequestPipeLine.set(t,n);const o=e=>{const n=RequestPipeLine.get(t);if(n.finished=new Date,n.duration=n.finished-n.started,RequestPipeLine.delete(t),RequestWaiting.length&&RequestPipeLine.size<MAX_CONCURRENT_REQUESTS){const e=RequestWaiting.shift();fetch(...e.args).then(o).then((t=>(e.resolve(t),t))).catch((t=>(e.reject(t),t))),RequestPipeLine.set(t,e)}return e};r.then(o)}else{let e,t;r=new Promise(((n,r)=>(e=n,t=r))),n.resolve=e,n.reject=t,RequestWaiting.push(n)}return r}function nextRequestId(){return`${RequestId++}${Math.random().toString(36)}`}function cookListeners(e){const t=e.getRootNode().host;BBDEBUG&&console.log({root:e,that:t});const n=select(e,USE_XPATH?X_LISTENING:CONFIG.EVENTS);BBDEBUG&&console.log({listening:n}),USE_XPATH?n.forEach((({name:e,value:n,ownerElement:r})=>handleAttribute(e,n,{node:r,originals:!0,host:t}))):n.forEach((e=>t.handleAttrs(e.attributes,{node:e,originals:!0}))),USE_XPATH&&select(e,X_NEWLISTENING).forEach((({name:e,value:n,ownerElement:r})=>handleNewAttribute(e,n,{node:r,originals:!0,host:t})))}function handleAttribute(e,t,{node:n,originals:r,stateHolder:o,host:s}={}){if(BBDEBUG&&console.log({name:e,value:t,node:n,originals:r,stateHolder:o}),"state"===e){const e=t.trim(),s=getState(e);if(isUnset(s))return console.warn(n),self.STATE=STATE,void console.warn(new ReferenceError(`\n <${n.localName}> constructor passed state key ${e} which is unset. It must be set.\n `));if(o.state=s,!r)return;{let t=Dependents.get(e);t||(t=new Set,Dependents.set(e,t)),t.add(n),Dependents.set(n,t)}}else if(r){if(!e.startsWith("on"))return;if(t=t.trim(),n.getRootNode().host.paths.has(t))return;if(!(t=t.replace(/\(event\)$/,"")))return;const{Func:s,host:a,path:i}=getAncestor(n,t);if("onbond"===e){if(s){BBDEBUG&&console.log("Dereference bond function",s,n);try{s(n)}catch(a){console.warn("bond function error",{error:a,name:e,value:t,node:n,originals:r,stateHolder:o,Func:s})}}else console.warn("bond function Not dereferencable",{name:e,value:t,node:n,originals:r,stateHolder:o});return}if(!i||t.startsWith(i))return;const c=t.match(FUNC_CALL)?EMPTY:CALL_WITH_EVENT,l=`${i}${t}${c}`;a.paths.set(l,s),n.setAttribute(e,l),BBDEBUG&&console.log("Adding destructor",a,e),t.match(/^f\d+_/)&&a.destructors.add((()=>n.removeAttribute(e)))}}function handleNewAttribute(e,t,{node:n,Host:r}){if(!(t=t.trim()))return;const[o,...s]=e.split(":");if(o!==NAMESPACE)throw new TypeError(`Irregular namespace ${o}`);const a=s.pop(),i=Object.fromEntries(s.map((e=>[e,!0])));if(n.getRootNode().host.paths.has(t))return;if(!(t=t.replace(/\(event\)$/,"")))return;const{Func:c,host:l,path:u}=getAncestor(n,t);if(BBDEBUG&&console.log(n,{value:t,path:u}),!u||t.startsWith(u))return;const d=t.match(FUNC_CALL)?EMPTY:CALL_WITH_EVENT,h=`${u}${t}${d}`;l.paths.set(h,c);const f=new Function("event",`return ${h}`);n.addEventListener(a,f,i),t.match(/^f\d+_/)&&l.destructors.add((()=>{n.removeEventListener(a,f,i)}))}function select(e,t){try{if(USE_XPATH){const n=[];let r;if(e instanceof DocumentFragment)for(const o of e.children){let e;for(r=t instanceof XPathExpression?t.evaluate(o,XPathResult.ORDERED_NODE_ITERATOR_TYPE):document.evaluate(t,o,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);e=r.iterateNext();)n.push(e)}else{let o;for(r=t instanceof XPathExpression?t.evaluate(e,XPathResult.ORDERED_NODE_ITERATOR_TYPE):document.evaluate(t,e,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);o=r.iterateNext();)n.push(o)}return n}return BBDEBUG&&console.log("non xpath",t),e.querySelectorAll?e.querySelectorAll(t):[]}catch(e){console.warn(e)}}async function install(){BBDEBUG&&(self.Start=new Date),new Counter(document),LoadChecker=()=>document.counts.check(),self._states=[],self.syskeys=syskeys,Object.assign(globalThis,{Dependents:Dependents,STATE:STATE,Env:Env,CONFIG:CONFIG,F:F,setEnv:setEnv,use:use,setState:setState,getState:getState,patchState:patchState,cloneState:cloneState,loaded:loaded,sleep:sleep,bangFig:bangFig,bangLoaded:bangLoaded,isMobile:isMobile,trace:trace,undoState:undoState,redoState:redoState,stateChanged:stateChanged,getViews:getViews,updateState:updateState,isUnset:isUnset,EMPTY:EMPTY,dateString:dateString,runCode:runCode,schedule:schedule,immediate:immediate,...BBDEBUG?{STATE:STATE,CACHE:CACHE,TRANSFORMING:TRANSFORMING,Started:Started,BangBase:BangBase}:{}});const e=globalThis.vanillaview||await __webpack_require__.e(843).then(__webpack_require__.bind(__webpack_require__,843)),{s:t,c:n}=e,r={STATE:STATE,CONFIG:CONFIG,StateKey:StateKey,JS:JS};_c$=t.bind(r),_s$=n.bind(r),r._c$=_c$,r._s$=_s$,globalThis.Fskip=t.skip,CONFIG.delayFirstPaintUntilLoaded&&becomesTrue((()=>document.body)).then((()=>document.body.classList.add("bang-el"))),observer=new MutationObserver(transformBangs),observer.observe(document,OBSERVE_OPTS),await findBangs(transformBang),loaded().then((()=>document.body.classList.add("bang-styled")))}async function fetchMarkup(e){const t=`markup:${e}`;Started.has(t)?CACHE.has(t)||await cacheHasKey(t):Started.add(t);const n=`style${e}`,r=`${CONFIG.componentsPath}/${e}`;if(CACHE.has(t)){const e=CACHE.get(t);if(CACHE.get(n),Error,!(CACHE.get(n)instanceof Error&&e.includes(`href=${r}/${CONFIG.styleFile}`)))return e}const o=`${r}/${CONFIG.htmlFile}`;let s;return await pipeLinedFetch(o).then((async t=>{let r=EMPTY;return r=t.ok?await t.text():"<slot></slot>",s=CACHE.get(n)instanceof Error?`\n <style>\n ${await fetchFile(EMPTY,CONFIG.styleFile).catch((e=>`/* ${e+EMPTY} */`))}\n </style>${r}`:`\n <style>\n ${await fetchFile(EMPTY,CONFIG.styleFile).catch((e=>`/* ${e+EMPTY} */`))}\n ${await fetchStyle(e)}\n </style>${r}`,s})).finally((async()=>CACHE.set(t,await s)))}async function fetchFile(e,t){const n=`${t}:${e}`;if(Started.has(n)?CACHE.has(n)||await cacheHasKey(n):Started.add(n),CACHE.has(n))return CACHE.get(n);const r=`${CONFIG.componentsPath}/${e?e+"/":EMPTY}${t}`;let o;return await pipeLinedFetch(r).then((e=>{if(e.ok)return o=e.text(),o;throw o=new ReferenceError(`Fetch error: ${r}, ${e.statusText}`),o})).then((n=>n instanceof Error?`/* no ${e}/${t} defined */`:n)).finally((async()=>CACHE.set(n,await o)))}async function fetchStyle(e){return fetchFile(e,CONFIG.styleFile)}async function fetchScript(e){return fetchFile(e,CONFIG.scriptFile)}async function transformBangs(e){for(const t of e)for(const e of t.addedNodes)e.nodeType!==Node.TEXT_NODE&&(cookListeners(e),await findBangs(transformBang,e))}function transformBang(e){const[t,n]=getBangDetails(e),r=createElement(t,n);e.linkedCustomElement=r,r[MirrorNode]=e,e.parentNode.replaceChild(r,e)}async function findBangs(e,t=document.documentElement,{allDependents:n=!1,batchSize:r=100,yieldTime:o=0,useFrame:s=!0}={}){if(t.noFindBang)return n?[]:void 0;const a=n?e=>e.nodeType===Node.COMMENT_NODE||e.nodeType===Node.ELEMENT_NODE:e=>e.nodeType===Node.COMMENT_NODE,i=n?NodeFilter.SHOW_COMMENT|NodeFilter.SHOW_ELEMENT:NodeFilter.SHOW_COMMENT,c=n?getNodeDetails:getBangDetails,l=n?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_REJECT,u={acceptNode(e){if(a(e)){const[t]=c(e);return t.match(DOUBLE_BARREL)?NodeFilter.FILTER_ACCEPT:l}return isDocument(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}},d=[],h=[],f=[];let p,E=document.createTreeWalker(t,i,u);for(d.push(E);;){if(p=E?.nextNode(),!p){if(d.length){if(E=d.shift(),p=E.currentNode,isBangTag(p)&&!TRANSFORMING.has(p)){TRANSFORMING.add(p);const e=p;h.push((()=>transformBang(e)))}continue}break}if(p.nodeType===Node.COMMENT_NODE&&!TRANSFORMING.has(p)){TRANSFORMING.add(p);const e=p;h.push((()=>transformBang(e)))}f.push(p),p.shadowRoot instanceof ShadowRoot&&d.push(document.createTreeWalker(p.shadowRoot,i,u))}let m=0;for(;h.length;)if(h.pop()(),RESPONSIVE_MEDIATION&&n){if(m++,m<r)continue;m=0,s?await nextFrame():await sleep(o)}return n?f.map(actualElement).filter((e=>e&&!e.hasAttribute("lazy"))):void 0}function actualElement(e){return e.nodeType===Node.COMMENT_NODE?e.linkedCustomElement:e}function getAncestor(e,t){const n=e;let r;if(e){const o=["this."];for(;e;){if(e[t]instanceof Function)return{Func:e[t],path:o.join(EMPTY),oNode:n,host:e};if(e?.paths?.has(t))return{host:e,Func:e?.paths?.get(t),path:t};o.push(ONE_HIGHER),r=e,e=e.getRootNode().host}}return console.warn(`Error could not dereference function ${t} starting at original node:`,n),console.warn("Got as high as",r),{}}function isBangTag(e){return e.nodeType===Node.COMMENT_NODE&&getBangDetails(e)[0].match(DOUBLE_BARREL)}function isDocument(e){return e.nodeType===Node.DOCUMENT_FRAGMENT_NODE||e.nodeType===Node.DOCUMENT_NODE}function getBangDetails(e){const t=e.textContent.trim(),[n,...r]=t.split(/[\s\t]/g);return[n.trim(),r.join(" ")]}function getNodeDetails(e){switch(e.nodeType){case Node.COMMENT_NODE:return getBangDetails(e);case Node.ELEMENT_NODE:return[e.localName]}}async function cook(markup,state){let cooked=EMPTY;const _top=firstState,_self=state,_host=this;state._top||Object.defineProperty(state,"_top",{value:_top});try{with({...Env,...state,..._host.others})cooked=await eval("(async function () { return await _FUNC`${{state,_host}}"+markup+"`; }())");return cooked}catch(error){throw console.warn("cook",error),say("error!","Template error",{markup:markup,state:state,error:error,_host:this}),error}}async function _FUNC(e,...t){const n=Array.from(e);return await _c$(n,...t)}async function _GFUNC(e,...t){const n=Array.from(e);return await _s$(n,...t)}function createElement(e,t){return toDOM(`<${e} ${t}></${e}>`).firstElementChild}function toDOM(e){return DIV.replaceChildren(),DIV.insertAdjacentHTML(POS,`<template>${e}</template>`),DIV.firstElementChild.content}async function becomesTrue(e,t){const n=t||e;let r=Waiters.get(n);return r||(r=_becomesTrue(e).then((e=>(setTimeout((()=>Waiters.delete(n)),GC_TIMEOUT),e))),Waiters.set(n,r)),new Promise((e=>r.then(e)))}async function _becomesTrue(e){return new Promise((async t=>{for(;await nextFrame(),!await e(););t(!0)}))}async function cacheHasKey(e){const t=`cache:${e}`,n=`checkFunc:${e}`;let r=Waiters.get(n);return r||(r=()=>CACHE.has(e),Waiters.set(n,r)),becomesTrue(r,t)}async function sleep(e){return new Promise((t=>setTimeout(t,e)))}async function nextFrame(){return new Promise((e=>requestAnimationFrame(e)))}function isUnset(e){return null==e}function say(e,...t){(BBDEBUG||"error"===e||e.endsWith("!"))&&MOBILE&&!LIGHTHOUSE&&alert(`${e}: ${t.join("\n")}`),(BBDEBUG||"error"===e||e.endsWith("!"))&&console[e.replace("!",EMPTY)](...t)}function isMobile(){return[/Android/i,/webOS/i,/iPhone/i,/iPad/i,/iPod/i,/BlackBerry/i,/Windows Phone/i].some((e=>navigator.userAgent.match(e)))}function trace(e=EMPTY){const t=new Error("Trace");BBDEBUG&&console.log(e,"Call stack",t.stack)}function dateString(e){const t=e.getTimezoneOffset();return(e=new Date(e.getTime()-60*t*1e3)).toISOString().split("T")[0]}function clone(e){return console.log(CONFIG),CONFIG.useMagicClone?magicClone(e):JSON.parse(JS(e))}function magicClone(e){if(console.log("using magic clone"),null===e||"object"!=typeof e)return e;try{let t=Object.create(Object.getPrototypeOf(e));return Object.getOwnPropertyNames(e).forEach((n=>{let r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r)})),t}catch(e){return console.error("Error in magicClone:",e),null}}function JS(e){return CONFIG.useMagicClone?magicStringify(e):_STR(e,Replacer,EMPTY)}function magicStringify(e){const t=new WeakSet;try{return JSON.stringify(function e(n){if(null===n||"object"!=typeof n)return n;if(t.has(n))return"[Circular]";if(t.add(n),"Object"===n?.constructor?.name||Array.isArray(n)){let t=Array.isArray(n)?[]:{};return Object.getOwnPropertyNames(n).forEach((r=>{let o=Object.getOwnPropertyDescriptor(n,r);t[r]="object"==typeof o.value?e(o.value):o.get?n[r]:o.value})),t}return n}(e),Replacer,EMPTY)}catch(e){return console.error("Error in magicStringify:",e),null}}function Replacer(e,t){return"function"==typeof this[e]?t.toString():t instanceof Node?`${t.nodeName}//${t.nodeValue||t.outerHTML||t.textContent}`:t}install()}()}},__webpack_module_cache__={},inProgress,dataWebpackPrefix;function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.d=function(e,t){for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.f={},__webpack_require__.e=function(e){return Promise.all(Object.keys(__webpack_require__.f).reduce((function(t,n){return __webpack_require__.f[n](e,t),t}),[]))},__webpack_require__.u=function(e){return e+".bang.js"},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},inProgress={},dataWebpackPrefix="bang.html:",__webpack_require__.l=function(e,t,n,r){if(inProgress[e])inProgress[e].push(t);else{var o,s;if(void 0!==n)for(var a=document.getElementsByTagName("script"),i=0;i<a.length;i++){var c=a[i];if(c.getAttribute("src")==e||c.getAttribute("data-webpack")==dataWebpackPrefix+n){o=c;break}}o||(s=!0,(o=document.createElement("script")).charset="utf-8",o.timeout=120,__webpack_require__.nc&&o.setAttribute("nonce",__webpack_require__.nc),o.setAttribute("data-webpack",dataWebpackPrefix+n),o.src=e),inProgress[e]=[t];var l=function(t,n){o.onerror=o.onload=null,clearTimeout(u);var r=inProgress[e];if(delete inProgress[e],o.parentNode&&o.parentNode.removeChild(o),r&&r.forEach((function(e){return e(n)})),t)return t(n)},u=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),s&&document.head.appendChild(o)}},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},function(){var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var t=__webpack_require__.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var r=n.length-1;r>-1&&!e;)e=n[r--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e}(),function(){var e={179:0};__webpack_require__.f.j=function(t,n){var r=__webpack_require__.o(e,t)?e[t]:void 0;if(0!==r)if(r)n.push(r[2]);else{var o=new Promise((function(n,o){r=e[t]=[n,o]}));n.push(r[2]=o);var s=__webpack_require__.p+__webpack_require__.u(t),a=new Error;__webpack_require__.l(s,(function(n){if(__webpack_require__.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var o=n&&("load"===n.type?"missing":n.type),s=n&&n.target&&n.target.src;a.message="Loading chunk "+t+" failed.\n("+o+": "+s+")",a.name="ChunkLoadError",a.type=o,a.request=s,r[1](a)}}),"chunk-"+t,t)}};var t=function(t,n){var r,o,s=n[0],a=n[1],i=n[2],c=0;if(s.some((function(t){return 0!==e[t]}))){for(r in a)__webpack_require__.o(a,r)&&(__webpack_require__.m[r]=a[r]);i&&i(__webpack_require__)}for(t&&t(n);c<s.length;c++)o=s[c],__webpack_require__.o(e,o)&&e[o]&&e[o][0](),e[o]=0},n=self.webpackChunkbang_html=self.webpackChunkbang_html||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))}();var __webpack_exports__=__webpack_require__(876)})();