@gamelearn/arcade-components 3.14.0 → 3.14.2

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.
@@ -31,7 +31,7 @@ Check the top-level render call using <`+Ue+">.")}return Se}}function wt(de,Se){
31
31
  `),position:ee,pageIndex:le-1,rect:W,rotation:V,id:z,deleted:!1}}const fe=super.deserialize(Y,q,re);return We(fe,g,Y.fontSize),We(fe,R,t.Util.makeHexColor(...Y.color)),We(fe,S,Y.value),fe.annotationElementId=Y.id||null,We(fe,v,ce),fe}serialize(Y=!1){if(this.isEmpty())return null;if(this.deleted)return{pageIndex:this.pageIndex,id:this.annotationElementId,deleted:!0};const q=J._internalPadding*this.parentScale,re=this.getRect(q,q),ce=o.AnnotationEditor._colorManager.convert(this.isAttachedToDOM?getComputedStyle(this.editorDiv).color:Z(this,R)),fe={annotationType:t.AnnotationEditorType.FREETEXT,color:ce,fontSize:Z(this,g),value:Z(this,S),pageIndex:this.pageIndex,rect:re,rotation:this.rotation,structTreeParentId:this._structTreeParentId};return Y?fe:this.annotationElementId&&!je(this,M,sy).call(this,fe)?null:(fe.id=this.annotationElementId,fe)}};f=new WeakMap,u=new WeakMap,p=new WeakMap,x=new WeakMap,R=new WeakMap,S=new WeakMap,E=new WeakMap,g=new WeakMap,v=new WeakMap,T=new WeakSet,ry=function(Y){const q=ce=>{this.editorDiv.style.fontSize=`calc(${ce}px * var(--scale-factor))`,this.translate(0,-(ce-Z(this,g))*this.parentScale),We(this,g,ce),je(this,D,Lc).call(this)},re=Z(this,g);this.addCommands({cmd:()=>{q(Y)},undo:()=>{q(re)},mustExec:!0,type:t.AnnotationEditorParamsType.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})},_=new WeakSet,iy=function(Y){const q=Z(this,R);this.addCommands({cmd:()=>{We(this,R,this.editorDiv.style.color=Y)},undo:()=>{We(this,R,this.editorDiv.style.color=q)},mustExec:!0,type:t.AnnotationEditorParamsType.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})},C=new WeakSet,ay=function(){const Y=this.editorDiv.getElementsByTagName("div");if(Y.length===0)return this.editorDiv.innerText;const q=[];for(const re of Y)q.push(re.innerText.replace(/\r\n?|\n/,""));return q.join(`
32
32
  `)},D=new WeakSet,Lc=function(){const[Y,q]=this.parentDimensions;let re;if(this.isAttachedToDOM)re=this.div.getBoundingClientRect();else{const{currentLayer:ce,div:fe}=this,te=fe.style.display;fe.style.display="hidden",ce.div.append(this.div),re=fe.getBoundingClientRect(),fe.remove(),fe.style.display=te}this.rotation%180===this.parentRotation%180?(this.width=re.width/Y,this.height=re.height/q):(this.width=re.height/Y,this.height=re.width/q),this.fixAndSetPosition()},k=new WeakSet,Km=function(){if(this.editorDiv.replaceChildren(),!!Z(this,S))for(const Y of Z(this,S).split(`
33
33
  `)){const q=document.createElement("div");q.append(Y?document.createTextNode(Y):document.createElement("br")),this.editorDiv.append(q)}},M=new WeakSet,sy=function(Y){const{value:q,fontSize:re,color:ce,rect:fe,pageIndex:te}=Z(this,v);return Y.value!==q||Y.fontSize!==re||Y.rect.some((H,W)=>Math.abs(H-fe[W])>=1)||Y.color.some((H,W)=>H!==ce[W])||Y.pageIndex!==te},$=new WeakSet,Xm=function(Y=!1){if(!this.annotationElementId)return;if(je(this,D,Lc).call(this),!Y&&(this.width===0||this.height===0)){setTimeout(()=>je(this,$,Xm).call(this,!0),0);return}const q=J._internalPadding*this.parentScale;Z(this,v).rect=this.getRect(q,q)},Mn(J,"_freeTextDefaultContent",""),Mn(J,"_internalPadding",0),Mn(J,"_defaultColor",null),Mn(J,"_defaultFontSize",10),Mn(J,"_type","freetext");let h=J;e.FreeTextEditor=h},(l,e,n)=>{var W,z,Uo,ee,oy,ue,he,ve,be,Re,Le,Oe,Ke,St,it,gt,Ge,Me,De,Ve,ct,dt,rt,ly,Et,Wf,Be,Ym,Ye,qm,Ae,_e,Ie,tt,Gt,Dt,ke,Qm,Pt,Ne,Je,ot,uy,$e,Jm;Object.defineProperty(e,"__esModule",{value:!0}),e.StampAnnotationElement=e.InkAnnotationElement=e.FreeTextAnnotationElement=e.AnnotationLayer=void 0;var t=n(1),a=n(6),o=n(3),d=n(30),h=n(31),f=n(32);const u=1e3,p=9,x=new WeakSet;function R(bt){return{width:bt[2]-bt[0],height:bt[3]-bt[1]}}class S{static create(xe){switch(xe.data.annotationType){case t.AnnotationType.LINK:return new g(xe);case t.AnnotationType.TEXT:return new v(xe);case t.AnnotationType.WIDGET:switch(xe.data.fieldType){case"Tx":return new b(xe);case"Btn":return xe.data.radioButton?new C(xe):xe.data.checkBox?new w(xe):new P(xe);case"Ch":return new D(xe);case"Sig":return new _(xe)}return new T(xe);case t.AnnotationType.POPUP:return new N(xe);case t.AnnotationType.FREETEXT:return new F(xe);case t.AnnotationType.LINE:return new M(xe);case t.AnnotationType.SQUARE:return new U(xe);case t.AnnotationType.CIRCLE:return new $(xe);case t.AnnotationType.POLYLINE:return new B(xe);case t.AnnotationType.CARET:return new ne(xe);case t.AnnotationType.INK:return new ie(xe);case t.AnnotationType.POLYGON:return new J(xe);case t.AnnotationType.HIGHLIGHT:return new Y(xe);case t.AnnotationType.UNDERLINE:return new q(xe);case t.AnnotationType.SQUIGGLY:return new re(xe);case t.AnnotationType.STRIKEOUT:return new ce(xe);case t.AnnotationType.STAMP:return new fe(xe);case t.AnnotationType.FILEATTACHMENT:return new te(xe);default:return new E(xe)}}}const V=class V{constructor(xe,{isRenderable:ae=!1,ignoreBorder:me=!1,createQuadrilaterals:Ee=!1}={}){Te(this,W,!1);this.isRenderable=ae,this.data=xe.data,this.layer=xe.layer,this.linkService=xe.linkService,this.downloadManager=xe.downloadManager,this.imageResourcesPath=xe.imageResourcesPath,this.renderForms=xe.renderForms,this.svgFactory=xe.svgFactory,this.annotationStorage=xe.annotationStorage,this.enableScripting=xe.enableScripting,this.hasJSActions=xe.hasJSActions,this._fieldObjects=xe.fieldObjects,this.parent=xe.parent,ae&&(this.container=this._createContainer(me)),Ee&&this._createQuadrilaterals()}static _hasPopupData({titleObj:xe,contentsObj:ae,richText:me}){return!!(xe!=null&&xe.str||ae!=null&&ae.str||me!=null&&me.str)}get hasPopupData(){return V._hasPopupData(this.data)}_createContainer(xe){const{data:ae,parent:{page:me,viewport:Ee}}=this,we=document.createElement("section");we.setAttribute("data-annotation-id",ae.id),this instanceof T||(we.tabIndex=u),we.style.zIndex=this.parent.zIndex++,this.data.popupRef&&we.setAttribute("aria-haspopup","dialog"),ae.noRotate&&we.classList.add("norotate");const{pageWidth:de,pageHeight:Se,pageX:Ue,pageY:nt}=Ee.rawDims;if(!ae.rect||this instanceof N){const{rotation:kt}=ae;return!ae.hasOwnCanvas&&kt!==0&&this.setRotation(kt,we),we}const{width:ft,height:Ct}=R(ae.rect),pt=t.Util.normalizeRect([ae.rect[0],me.view[3]-ae.rect[1]+me.view[1],ae.rect[2],me.view[3]-ae.rect[3]+me.view[1]]);if(!xe&&ae.borderStyle.width>0){we.style.borderWidth=`${ae.borderStyle.width}px`;const kt=ae.borderStyle.horizontalCornerRadius,Mt=ae.borderStyle.verticalCornerRadius;if(kt>0||Mt>0){const Xt=`calc(${kt}px * var(--scale-factor)) / calc(${Mt}px * var(--scale-factor))`;we.style.borderRadius=Xt}else if(this instanceof C){const Xt=`calc(${ft}px * var(--scale-factor)) / calc(${Ct}px * var(--scale-factor))`;we.style.borderRadius=Xt}switch(ae.borderStyle.style){case t.AnnotationBorderStyleType.SOLID:we.style.borderStyle="solid";break;case t.AnnotationBorderStyleType.DASHED:we.style.borderStyle="dashed";break;case t.AnnotationBorderStyleType.BEVELED:(0,t.warn)("Unimplemented border style: beveled");break;case t.AnnotationBorderStyleType.INSET:(0,t.warn)("Unimplemented border style: inset");break;case t.AnnotationBorderStyleType.UNDERLINE:we.style.borderBottomStyle="solid";break}const Ut=ae.borderColor||null;Ut?(We(this,W,!0),we.style.borderColor=t.Util.makeHexColor(Ut[0]|0,Ut[1]|0,Ut[2]|0)):we.style.borderWidth=0}we.style.left=`${100*(pt[0]-Ue)/de}%`,we.style.top=`${100*(pt[1]-nt)/Se}%`;const{rotation:ht}=ae;return ae.hasOwnCanvas||ht===0?(we.style.width=`${100*ft/de}%`,we.style.height=`${100*Ct/Se}%`):this.setRotation(ht,we),we}setRotation(xe,ae=this.container){if(!this.data.rect)return;const{pageWidth:me,pageHeight:Ee}=this.parent.viewport.rawDims,{width:we,height:de}=R(this.data.rect);let Se,Ue;xe%180===0?(Se=100*we/me,Ue=100*de/Ee):(Se=100*de/me,Ue=100*we/Ee),ae.style.width=`${Se}%`,ae.style.height=`${Ue}%`,ae.setAttribute("data-main-rotation",(360-xe)%360)}get _commonActions(){const xe=(ae,me,Ee)=>{const we=Ee.detail[ae],de=we[0],Se=we.slice(1);Ee.target.style[me]=d.ColorConverters[`${de}_HTML`](Se),this.annotationStorage.setValue(this.data.id,{[me]:d.ColorConverters[`${de}_rgb`](Se)})};return(0,t.shadow)(this,"_commonActions",{display:ae=>{const{display:me}=ae.detail,Ee=me%2===1;this.container.style.visibility=Ee?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noView:Ee,noPrint:me===1||me===2})},print:ae=>{this.annotationStorage.setValue(this.data.id,{noPrint:!ae.detail.print})},hidden:ae=>{const{hidden:me}=ae.detail;this.container.style.visibility=me?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noPrint:me,noView:me})},focus:ae=>{setTimeout(()=>ae.target.focus({preventScroll:!1}),0)},userName:ae=>{ae.target.title=ae.detail.userName},readonly:ae=>{ae.target.disabled=ae.detail.readonly},required:ae=>{this._setRequired(ae.target,ae.detail.required)},bgColor:ae=>{xe("bgColor","backgroundColor",ae)},fillColor:ae=>{xe("fillColor","backgroundColor",ae)},fgColor:ae=>{xe("fgColor","color",ae)},textColor:ae=>{xe("textColor","color",ae)},borderColor:ae=>{xe("borderColor","borderColor",ae)},strokeColor:ae=>{xe("strokeColor","borderColor",ae)},rotation:ae=>{const me=ae.detail.rotation;this.setRotation(me),this.annotationStorage.setValue(this.data.id,{rotation:me})}})}_dispatchEventFromSandbox(xe,ae){const me=this._commonActions;for(const Ee of Object.keys(ae.detail)){const we=xe[Ee]||me[Ee];we==null||we(ae)}}_setDefaultPropertiesFromJS(xe){if(!this.enableScripting)return;const ae=this.annotationStorage.getRawValue(this.data.id);if(!ae)return;const me=this._commonActions;for(const[Ee,we]of Object.entries(ae)){const de=me[Ee];if(de){const Se={detail:{[Ee]:we},target:xe};de(Se),delete ae[Ee]}}}_createQuadrilaterals(){if(!this.container)return;const{quadPoints:xe}=this.data;if(!xe)return;const[ae,me,Ee,we]=this.data.rect;if(xe.length===1){const[,{x:Mt,y:Ut},{x:Xt,y:An}]=xe[0];if(Ee===Mt&&we===Ut&&ae===Xt&&me===An)return}const{style:de}=this.container;let Se;if(Z(this,W)){const{borderColor:Mt,borderWidth:Ut}=de;de.borderWidth=0,Se=["url('data:image/svg+xml;utf8,",'<svg xmlns="http://www.w3.org/2000/svg"',' preserveAspectRatio="none" viewBox="0 0 1 1">',`<g fill="transparent" stroke="${Mt}" stroke-width="${Ut}">`],this.container.classList.add("hasBorder")}const Ue=Ee-ae,nt=we-me,{svgFactory:ft}=this,Ct=ft.createElement("svg");Ct.classList.add("quadrilateralsContainer"),Ct.setAttribute("width",0),Ct.setAttribute("height",0);const pt=ft.createElement("defs");Ct.append(pt);const ht=ft.createElement("clipPath"),kt=`clippath_${this.data.id}`;ht.setAttribute("id",kt),ht.setAttribute("clipPathUnits","objectBoundingBox"),pt.append(ht);for(const[,{x:Mt,y:Ut},{x:Xt,y:An}]of xe){const _n=ft.createElement("rect"),Bn=(Xt-ae)/Ue,mi=(we-Ut)/nt,Fr=(Mt-Xt)/Ue,Ka=(Ut-An)/nt;_n.setAttribute("x",Bn),_n.setAttribute("y",mi),_n.setAttribute("width",Fr),_n.setAttribute("height",Ka),ht.append(_n),Se==null||Se.push(`<rect vector-effect="non-scaling-stroke" x="${Bn}" y="${mi}" width="${Fr}" height="${Ka}"/>`)}Z(this,W)&&(Se.push("</g></svg>')"),de.backgroundImage=Se.join("")),this.container.append(Ct),this.container.style.clipPath=`url(#${kt})`}_createPopup(){const{container:xe,data:ae}=this;xe.setAttribute("aria-haspopup","dialog");const me=new N({data:{color:ae.color,titleObj:ae.titleObj,modificationDate:ae.modificationDate,contentsObj:ae.contentsObj,richText:ae.richText,parentRect:ae.rect,borderStyle:0,id:`popup_${ae.id}`,rotation:ae.rotation},parent:this.parent,elements:[this]});this.parent.div.append(me.render())}render(){(0,t.unreachable)("Abstract method `AnnotationElement.render` called")}_getElementsByName(xe,ae=null){const me=[];if(this._fieldObjects){const Ee=this._fieldObjects[xe];if(Ee)for(const{page:we,id:de,exportValues:Se}of Ee){if(we===-1||de===ae)continue;const Ue=typeof Se=="string"?Se:null,nt=document.querySelector(`[data-element-id="${de}"]`);if(nt&&!x.has(nt)){(0,t.warn)(`_getElementsByName - element not allowed: ${de}`);continue}me.push({id:de,exportValue:Ue,domElement:nt})}return me}for(const Ee of document.getElementsByName(xe)){const{exportValue:we}=Ee,de=Ee.getAttribute("data-element-id");de!==ae&&x.has(Ee)&&me.push({id:de,exportValue:we,domElement:Ee})}return me}show(){var xe;this.container&&(this.container.hidden=!1),(xe=this.popup)==null||xe.maybeShow()}hide(){var xe;this.container&&(this.container.hidden=!0),(xe=this.popup)==null||xe.forceHide()}getElementsToTriggerPopup(){return this.container}addHighlightArea(){const xe=this.getElementsToTriggerPopup();if(Array.isArray(xe))for(const ae of xe)ae.classList.add("highlightArea");else xe.classList.add("highlightArea")}_editOnDoubleClick(){const{annotationEditorType:xe,data:{id:ae}}=this;this.container.addEventListener("dblclick",()=>{var me;(me=this.linkService.eventBus)==null||me.dispatch("switchannotationeditormode",{source:this,mode:xe,editId:ae})})}};W=new WeakMap;let E=V;class g extends E{constructor(ae,me=null){super(ae,{isRenderable:!0,ignoreBorder:!!(me!=null&&me.ignoreBorder),createQuadrilaterals:!0});Te(this,z);Te(this,ee);this.isTooltipOnly=ae.data.isTooltipOnly}render(){const{data:ae,linkService:me}=this,Ee=document.createElement("a");Ee.setAttribute("data-element-id",ae.id);let we=!1;return ae.url?(me.addLinkAttributes(Ee,ae.url,ae.newWindow),we=!0):ae.action?(this._bindNamedAction(Ee,ae.action),we=!0):ae.attachment?(this._bindAttachment(Ee,ae.attachment),we=!0):ae.setOCGState?(je(this,ee,oy).call(this,Ee,ae.setOCGState),we=!0):ae.dest?(this._bindLink(Ee,ae.dest),we=!0):(ae.actions&&(ae.actions.Action||ae.actions["Mouse Up"]||ae.actions["Mouse Down"])&&this.enableScripting&&this.hasJSActions&&(this._bindJSAction(Ee,ae),we=!0),ae.resetForm?(this._bindResetFormAction(Ee,ae.resetForm),we=!0):this.isTooltipOnly&&!we&&(this._bindLink(Ee,""),we=!0)),this.container.classList.add("linkAnnotation"),we&&this.container.append(Ee),this.container}_bindLink(ae,me){ae.href=this.linkService.getDestinationHash(me),ae.onclick=()=>(me&&this.linkService.goToDestination(me),!1),(me||me==="")&&je(this,z,Uo).call(this)}_bindNamedAction(ae,me){ae.href=this.linkService.getAnchorUrl(""),ae.onclick=()=>(this.linkService.executeNamedAction(me),!1),je(this,z,Uo).call(this)}_bindAttachment(ae,me){ae.href=this.linkService.getAnchorUrl(""),ae.onclick=()=>{var Ee;return(Ee=this.downloadManager)==null||Ee.openOrDownloadData(this.container,me.content,me.filename),!1},je(this,z,Uo).call(this)}_bindJSAction(ae,me){ae.href=this.linkService.getAnchorUrl("");const Ee=new Map([["Action","onclick"],["Mouse Up","onmouseup"],["Mouse Down","onmousedown"]]);for(const we of Object.keys(me.actions)){const de=Ee.get(we);de&&(ae[de]=()=>{var Se;return(Se=this.linkService.eventBus)==null||Se.dispatch("dispatcheventinsandbox",{source:this,detail:{id:me.id,name:we}}),!1})}ae.onclick||(ae.onclick=()=>!1),je(this,z,Uo).call(this)}_bindResetFormAction(ae,me){const Ee=ae.onclick;if(Ee||(ae.href=this.linkService.getAnchorUrl("")),je(this,z,Uo).call(this),!this._fieldObjects){(0,t.warn)('_bindResetFormAction - "resetForm" action not supported, ensure that the `fieldObjects` parameter is provided.'),Ee||(ae.onclick=()=>!1);return}ae.onclick=()=>{var Ct;Ee==null||Ee();const{fields:we,refs:de,include:Se}=me,Ue=[];if(we.length!==0||de.length!==0){const pt=new Set(de);for(const ht of we){const kt=this._fieldObjects[ht]||[];for(const{id:Mt}of kt)pt.add(Mt)}for(const ht of Object.values(this._fieldObjects))for(const kt of ht)pt.has(kt.id)===Se&&Ue.push(kt)}else for(const pt of Object.values(this._fieldObjects))Ue.push(...pt);const nt=this.annotationStorage,ft=[];for(const pt of Ue){const{id:ht}=pt;switch(ft.push(ht),pt.type){case"text":{const Mt=pt.defaultValue||"";nt.setValue(ht,{value:Mt});break}case"checkbox":case"radiobutton":{const Mt=pt.defaultValue===pt.exportValues;nt.setValue(ht,{value:Mt});break}case"combobox":case"listbox":{const Mt=pt.defaultValue||"";nt.setValue(ht,{value:Mt});break}default:continue}const kt=document.querySelector(`[data-element-id="${ht}"]`);if(kt){if(!x.has(kt)){(0,t.warn)(`_bindResetFormAction - element not allowed: ${ht}`);continue}}else continue;kt.dispatchEvent(new Event("resetform"))}return this.enableScripting&&((Ct=this.linkService.eventBus)==null||Ct.dispatch("dispatcheventinsandbox",{source:this,detail:{id:"app",ids:ft,name:"ResetForm"}})),!1}}}z=new WeakSet,Uo=function(){this.container.setAttribute("data-internal-link","")},ee=new WeakSet,oy=function(ae,me){ae.href=this.linkService.getAnchorUrl(""),ae.onclick=()=>(this.linkService.executeSetOCGState(me),!1),je(this,z,Uo).call(this)};class v extends E{constructor(xe){super(xe,{isRenderable:!0})}render(){this.container.classList.add("textAnnotation");const xe=document.createElement("img");return xe.src=this.imageResourcesPath+"annotation-"+this.data.name.toLowerCase()+".svg",xe.alt="[{{type}} Annotation]",xe.dataset.l10nId="text_annotation_type",xe.dataset.l10nArgs=JSON.stringify({type:this.data.name}),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.append(xe),this.container}}class T extends E{render(){return this.data.alternativeText&&(this.container.title=this.data.alternativeText),this.container}showElementAndHideCanvas(xe){var ae;this.data.hasOwnCanvas&&(((ae=xe.previousSibling)==null?void 0:ae.nodeName)==="CANVAS"&&(xe.previousSibling.hidden=!0),xe.hidden=!1)}_getKeyModifier(xe){const{isWin:ae,isMac:me}=t.FeatureTest.platform;return ae&&xe.ctrlKey||me&&xe.metaKey}_setEventListener(xe,ae,me,Ee,we){me.includes("mouse")?xe.addEventListener(me,de=>{var Se;(Se=this.linkService.eventBus)==null||Se.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:Ee,value:we(de),shift:de.shiftKey,modifier:this._getKeyModifier(de)}})}):xe.addEventListener(me,de=>{var Se;if(me==="blur"){if(!ae.focused||!de.relatedTarget)return;ae.focused=!1}else if(me==="focus"){if(ae.focused)return;ae.focused=!0}we&&((Se=this.linkService.eventBus)==null||Se.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:Ee,value:we(de)}}))})}_setEventListeners(xe,ae,me,Ee){var we,de,Se;for(const[Ue,nt]of me)(nt==="Action"||(we=this.data.actions)!=null&&we[nt])&&((nt==="Focus"||nt==="Blur")&&(ae||(ae={focused:!1})),this._setEventListener(xe,ae,Ue,nt,Ee),nt==="Focus"&&!((de=this.data.actions)!=null&&de.Blur)?this._setEventListener(xe,ae,"blur","Blur",null):nt==="Blur"&&!((Se=this.data.actions)!=null&&Se.Focus)&&this._setEventListener(xe,ae,"focus","Focus",null))}_setBackgroundColor(xe){const ae=this.data.backgroundColor||null;xe.style.backgroundColor=ae===null?"transparent":t.Util.makeHexColor(ae[0],ae[1],ae[2])}_setTextStyle(xe){const ae=["left","center","right"],{fontColor:me}=this.data.defaultAppearanceData,Ee=this.data.defaultAppearanceData.fontSize||p,we=xe.style;let de;const Se=2,Ue=nt=>Math.round(10*nt)/10;if(this.data.multiLine){const nt=Math.abs(this.data.rect[3]-this.data.rect[1]-Se),ft=Math.round(nt/(t.LINE_FACTOR*Ee))||1,Ct=nt/ft;de=Math.min(Ee,Ue(Ct/t.LINE_FACTOR))}else{const nt=Math.abs(this.data.rect[3]-this.data.rect[1]-Se);de=Math.min(Ee,Ue(nt/t.LINE_FACTOR))}we.fontSize=`calc(${de}px * var(--scale-factor))`,we.color=t.Util.makeHexColor(me[0],me[1],me[2]),this.data.textAlignment!==null&&(we.textAlign=ae[this.data.textAlignment])}_setRequired(xe,ae){ae?xe.setAttribute("required",!0):xe.removeAttribute("required"),xe.setAttribute("aria-required",ae)}}class b extends T{constructor(xe){const ae=xe.renderForms||!xe.data.hasAppearance&&!!xe.data.fieldValue;super(xe,{isRenderable:ae})}setPropertyOnSiblings(xe,ae,me,Ee){const we=this.annotationStorage;for(const de of this._getElementsByName(xe.name,xe.id))de.domElement&&(de.domElement[ae]=me),we.setValue(de.id,{[Ee]:me})}render(){var Ee,we;const xe=this.annotationStorage,ae=this.data.id;this.container.classList.add("textWidgetAnnotation");let me=null;if(this.renderForms){const de=xe.getValue(ae,{value:this.data.fieldValue});let Se=de.value||"";const Ue=xe.getValue(ae,{charLimit:this.data.maxLen}).charLimit;Ue&&Se.length>Ue&&(Se=Se.slice(0,Ue));let nt=de.formattedValue||((Ee=this.data.textContent)==null?void 0:Ee.join(`
34
- `))||null;nt&&this.data.comb&&(nt=nt.replaceAll(/\s+/g,""));const ft={userValue:Se,formattedValue:nt,lastCommittedValue:null,commitKey:1,focused:!1};this.data.multiLine?(me=document.createElement("textarea"),me.textContent=nt??Se,this.data.doNotScroll&&(me.style.overflowY="hidden")):(me=document.createElement("input"),me.type="text",me.setAttribute("value",nt??Se),this.data.doNotScroll&&(me.style.overflowX="hidden")),this.data.hasOwnCanvas&&(me.hidden=!0),x.add(me),me.setAttribute("data-element-id",ae),me.disabled=this.data.readOnly,me.name=this.data.fieldName,me.tabIndex=u,this._setRequired(me,this.data.required),Ue&&(me.maxLength=Ue),me.addEventListener("input",pt=>{xe.setValue(ae,{value:pt.target.value}),this.setPropertyOnSiblings(me,"value",pt.target.value,"value"),ft.formattedValue=null}),me.addEventListener("resetform",pt=>{const ht=this.data.defaultFieldValue??"";me.value=ft.userValue=ht,ft.formattedValue=null});let Ct=pt=>{const{formattedValue:ht}=ft;ht!=null&&(pt.target.value=ht),pt.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){me.addEventListener("focus",ht=>{if(ft.focused)return;const{target:kt}=ht;ft.userValue&&(kt.value=ft.userValue),ft.lastCommittedValue=kt.value,ft.commitKey=1,ft.focused=!0}),me.addEventListener("updatefromsandbox",ht=>{this.showElementAndHideCanvas(ht.target);const kt={value(Mt){ft.userValue=Mt.detail.value??"",xe.setValue(ae,{value:ft.userValue.toString()}),Mt.target.value=ft.userValue},formattedValue(Mt){const{formattedValue:Ut}=Mt.detail;ft.formattedValue=Ut,Ut!=null&&Mt.target!==document.activeElement&&(Mt.target.value=Ut),xe.setValue(ae,{formattedValue:Ut})},selRange(Mt){Mt.target.setSelectionRange(...Mt.detail.selRange)},charLimit:Mt=>{var _n;const{charLimit:Ut}=Mt.detail,{target:Xt}=Mt;if(Ut===0){Xt.removeAttribute("maxLength");return}Xt.setAttribute("maxLength",Ut);let An=ft.userValue;!An||An.length<=Ut||(An=An.slice(0,Ut),Xt.value=ft.userValue=An,xe.setValue(ae,{value:An}),(_n=this.linkService.eventBus)==null||_n.dispatch("dispatcheventinsandbox",{source:this,detail:{id:ae,name:"Keystroke",value:An,willCommit:!0,commitKey:1,selStart:Xt.selectionStart,selEnd:Xt.selectionEnd}}))}};this._dispatchEventFromSandbox(kt,ht)}),me.addEventListener("keydown",ht=>{var Ut;ft.commitKey=1;let kt=-1;if(ht.key==="Escape"?kt=0:ht.key==="Enter"&&!this.data.multiLine?kt=2:ht.key==="Tab"&&(ft.commitKey=3),kt===-1)return;const{value:Mt}=ht.target;ft.lastCommittedValue!==Mt&&(ft.lastCommittedValue=Mt,ft.userValue=Mt,(Ut=this.linkService.eventBus)==null||Ut.dispatch("dispatcheventinsandbox",{source:this,detail:{id:ae,name:"Keystroke",value:Mt,willCommit:!0,commitKey:kt,selStart:ht.target.selectionStart,selEnd:ht.target.selectionEnd}}))});const pt=Ct;Ct=null,me.addEventListener("blur",ht=>{var Mt;if(!ft.focused||!ht.relatedTarget)return;ft.focused=!1;const{value:kt}=ht.target;ft.userValue=kt,ft.lastCommittedValue!==kt&&((Mt=this.linkService.eventBus)==null||Mt.dispatch("dispatcheventinsandbox",{source:this,detail:{id:ae,name:"Keystroke",value:kt,willCommit:!0,commitKey:ft.commitKey,selStart:ht.target.selectionStart,selEnd:ht.target.selectionEnd}})),pt(ht)}),(we=this.data.actions)!=null&&we.Keystroke&&me.addEventListener("beforeinput",ht=>{var mi;ft.lastCommittedValue=null;const{data:kt,target:Mt}=ht,{value:Ut,selectionStart:Xt,selectionEnd:An}=Mt;let _n=Xt,Bn=An;switch(ht.inputType){case"deleteWordBackward":{const Fr=Ut.substring(0,Xt).match(/\w*[^\w]*$/);Fr&&(_n-=Fr[0].length);break}case"deleteWordForward":{const Fr=Ut.substring(Xt).match(/^[^\w]*\w*/);Fr&&(Bn+=Fr[0].length);break}case"deleteContentBackward":Xt===An&&(_n-=1);break;case"deleteContentForward":Xt===An&&(Bn+=1);break}ht.preventDefault(),(mi=this.linkService.eventBus)==null||mi.dispatch("dispatcheventinsandbox",{source:this,detail:{id:ae,name:"Keystroke",value:Ut,change:kt||"",willCommit:!1,selStart:_n,selEnd:Bn}})}),this._setEventListeners(me,ft,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],ht=>ht.target.value)}if(Ct&&me.addEventListener("blur",Ct),this.data.comb){const ht=(this.data.rect[2]-this.data.rect[0])/Ue;me.classList.add("comb"),me.style.letterSpacing=`calc(${ht}px * var(--scale-factor) - 1ch)`}}else me=document.createElement("div"),me.textContent=this.data.fieldValue,me.style.verticalAlign="middle",me.style.display="table-cell";return this._setTextStyle(me),this._setBackgroundColor(me),this._setDefaultPropertiesFromJS(me),this.container.append(me),this.container}}class _ extends T{constructor(xe){super(xe,{isRenderable:!!xe.data.hasOwnCanvas})}}class w extends T{constructor(xe){super(xe,{isRenderable:xe.renderForms})}render(){const xe=this.annotationStorage,ae=this.data,me=ae.id;let Ee=xe.getValue(me,{value:ae.exportValue===ae.fieldValue}).value;typeof Ee=="string"&&(Ee=Ee!=="Off",xe.setValue(me,{value:Ee})),this.container.classList.add("buttonWidgetAnnotation","checkBox");const we=document.createElement("input");return x.add(we),we.setAttribute("data-element-id",me),we.disabled=ae.readOnly,this._setRequired(we,this.data.required),we.type="checkbox",we.name=ae.fieldName,Ee&&we.setAttribute("checked",!0),we.setAttribute("exportValue",ae.exportValue),we.tabIndex=u,we.addEventListener("change",de=>{const{name:Se,checked:Ue}=de.target;for(const nt of this._getElementsByName(Se,me)){const ft=Ue&&nt.exportValue===ae.exportValue;nt.domElement&&(nt.domElement.checked=ft),xe.setValue(nt.id,{value:ft})}xe.setValue(me,{value:Ue})}),we.addEventListener("resetform",de=>{const Se=ae.defaultFieldValue||"Off";de.target.checked=Se===ae.exportValue}),this.enableScripting&&this.hasJSActions&&(we.addEventListener("updatefromsandbox",de=>{const Se={value(Ue){Ue.target.checked=Ue.detail.value!=="Off",xe.setValue(me,{value:Ue.target.checked})}};this._dispatchEventFromSandbox(Se,de)}),this._setEventListeners(we,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],de=>de.target.checked)),this._setBackgroundColor(we),this._setDefaultPropertiesFromJS(we),this.container.append(we),this.container}}class C extends T{constructor(xe){super(xe,{isRenderable:xe.renderForms})}render(){this.container.classList.add("buttonWidgetAnnotation","radioButton");const xe=this.annotationStorage,ae=this.data,me=ae.id;let Ee=xe.getValue(me,{value:ae.fieldValue===ae.buttonValue}).value;typeof Ee=="string"&&(Ee=Ee!==ae.buttonValue,xe.setValue(me,{value:Ee}));const we=document.createElement("input");if(x.add(we),we.setAttribute("data-element-id",me),we.disabled=ae.readOnly,this._setRequired(we,this.data.required),we.type="radio",we.name=ae.fieldName,Ee&&we.setAttribute("checked",!0),we.tabIndex=u,we.addEventListener("change",de=>{const{name:Se,checked:Ue}=de.target;for(const nt of this._getElementsByName(Se,me))xe.setValue(nt.id,{value:!1});xe.setValue(me,{value:Ue})}),we.addEventListener("resetform",de=>{const Se=ae.defaultFieldValue;de.target.checked=Se!=null&&Se===ae.buttonValue}),this.enableScripting&&this.hasJSActions){const de=ae.buttonValue;we.addEventListener("updatefromsandbox",Se=>{const Ue={value:nt=>{const ft=de===nt.detail.value;for(const Ct of this._getElementsByName(nt.target.name)){const pt=ft&&Ct.id===me;Ct.domElement&&(Ct.domElement.checked=pt),xe.setValue(Ct.id,{value:pt})}}};this._dispatchEventFromSandbox(Ue,Se)}),this._setEventListeners(we,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],Se=>Se.target.checked)}return this._setBackgroundColor(we),this._setDefaultPropertiesFromJS(we),this.container.append(we),this.container}}class P extends g{constructor(xe){super(xe,{ignoreBorder:xe.data.hasAppearance})}render(){const xe=super.render();xe.classList.add("buttonWidgetAnnotation","pushButton"),this.data.alternativeText&&(xe.title=this.data.alternativeText);const ae=xe.lastChild;return this.enableScripting&&this.hasJSActions&&ae&&(this._setDefaultPropertiesFromJS(ae),ae.addEventListener("updatefromsandbox",me=>{this._dispatchEventFromSandbox({},me)})),xe}}class D extends T{constructor(xe){super(xe,{isRenderable:xe.renderForms})}render(){this.container.classList.add("choiceWidgetAnnotation");const xe=this.annotationStorage,ae=this.data.id,me=xe.getValue(ae,{value:this.data.fieldValue}),Ee=document.createElement("select");x.add(Ee),Ee.setAttribute("data-element-id",ae),Ee.disabled=this.data.readOnly,this._setRequired(Ee,this.data.required),Ee.name=this.data.fieldName,Ee.tabIndex=u;let we=this.data.combo&&this.data.options.length>0;this.data.combo||(Ee.size=this.data.options.length,this.data.multiSelect&&(Ee.multiple=!0)),Ee.addEventListener("resetform",ft=>{const Ct=this.data.defaultFieldValue;for(const pt of Ee.options)pt.selected=pt.value===Ct});for(const ft of this.data.options){const Ct=document.createElement("option");Ct.textContent=ft.displayValue,Ct.value=ft.exportValue,me.value.includes(ft.exportValue)&&(Ct.setAttribute("selected",!0),we=!1),Ee.append(Ct)}let de=null;if(we){const ft=document.createElement("option");ft.value=" ",ft.setAttribute("hidden",!0),ft.setAttribute("selected",!0),Ee.prepend(ft),de=()=>{ft.remove(),Ee.removeEventListener("input",de),de=null},Ee.addEventListener("input",de)}const Se=ft=>{const Ct=ft?"value":"textContent",{options:pt,multiple:ht}=Ee;return ht?Array.prototype.filter.call(pt,kt=>kt.selected).map(kt=>kt[Ct]):pt.selectedIndex===-1?null:pt[pt.selectedIndex][Ct]};let Ue=Se(!1);const nt=ft=>{const Ct=ft.target.options;return Array.prototype.map.call(Ct,pt=>({displayValue:pt.textContent,exportValue:pt.value}))};return this.enableScripting&&this.hasJSActions?(Ee.addEventListener("updatefromsandbox",ft=>{const Ct={value(pt){de==null||de();const ht=pt.detail.value,kt=new Set(Array.isArray(ht)?ht:[ht]);for(const Mt of Ee.options)Mt.selected=kt.has(Mt.value);xe.setValue(ae,{value:Se(!0)}),Ue=Se(!1)},multipleSelection(pt){Ee.multiple=!0},remove(pt){const ht=Ee.options,kt=pt.detail.remove;ht[kt].selected=!1,Ee.remove(kt),ht.length>0&&Array.prototype.findIndex.call(ht,Ut=>Ut.selected)===-1&&(ht[0].selected=!0),xe.setValue(ae,{value:Se(!0),items:nt(pt)}),Ue=Se(!1)},clear(pt){for(;Ee.length!==0;)Ee.remove(0);xe.setValue(ae,{value:null,items:[]}),Ue=Se(!1)},insert(pt){const{index:ht,displayValue:kt,exportValue:Mt}=pt.detail.insert,Ut=Ee.children[ht],Xt=document.createElement("option");Xt.textContent=kt,Xt.value=Mt,Ut?Ut.before(Xt):Ee.append(Xt),xe.setValue(ae,{value:Se(!0),items:nt(pt)}),Ue=Se(!1)},items(pt){const{items:ht}=pt.detail;for(;Ee.length!==0;)Ee.remove(0);for(const kt of ht){const{displayValue:Mt,exportValue:Ut}=kt,Xt=document.createElement("option");Xt.textContent=Mt,Xt.value=Ut,Ee.append(Xt)}Ee.options.length>0&&(Ee.options[0].selected=!0),xe.setValue(ae,{value:Se(!0),items:nt(pt)}),Ue=Se(!1)},indices(pt){const ht=new Set(pt.detail.indices);for(const kt of pt.target.options)kt.selected=ht.has(kt.index);xe.setValue(ae,{value:Se(!0)}),Ue=Se(!1)},editable(pt){pt.target.disabled=!pt.detail.editable}};this._dispatchEventFromSandbox(Ct,ft)}),Ee.addEventListener("input",ft=>{var pt;const Ct=Se(!0);xe.setValue(ae,{value:Ct}),ft.preventDefault(),(pt=this.linkService.eventBus)==null||pt.dispatch("dispatcheventinsandbox",{source:this,detail:{id:ae,name:"Keystroke",value:Ue,changeEx:Ct,willCommit:!1,commitKey:1,keyDown:!1}})}),this._setEventListeners(Ee,null,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"],["input","Validate"]],ft=>ft.target.value)):Ee.addEventListener("input",function(ft){xe.setValue(ae,{value:Se(!0)})}),this.data.combo&&this._setTextStyle(Ee),this._setBackgroundColor(Ee),this._setDefaultPropertiesFromJS(Ee),this.container.append(Ee),this.container}}class N extends E{constructor(xe){const{data:ae,elements:me}=xe;super(xe,{isRenderable:E._hasPopupData(ae)}),this.elements=me}render(){this.container.classList.add("popupAnnotation");const xe=new k({container:this.container,color:this.data.color,titleObj:this.data.titleObj,modificationDate:this.data.modificationDate,contentsObj:this.data.contentsObj,richText:this.data.richText,rect:this.data.rect,parentRect:this.data.parentRect||null,parent:this.parent,elements:this.elements,open:this.data.open}),ae=[];for(const me of this.elements)me.popup=xe,ae.push(me.data.id),me.addHighlightArea();return this.container.setAttribute("aria-controls",ae.map(me=>`${t.AnnotationPrefix}${me}`).join(",")),this.container}}class k{constructor({container:xe,color:ae,elements:me,titleObj:Ee,modificationDate:we,contentsObj:de,richText:Se,parent:Ue,rect:nt,parentRect:ft,open:Ct}){Te(this,rt);Te(this,Et);Te(this,Be);Te(this,Ye);Te(this,ue,null);Te(this,he,je(this,rt,ly).bind(this));Te(this,ve,je(this,Ye,qm).bind(this));Te(this,be,je(this,Be,Ym).bind(this));Te(this,Re,je(this,Et,Wf).bind(this));Te(this,Le,null);Te(this,Oe,null);Te(this,Ke,null);Te(this,St,null);Te(this,it,null);Te(this,gt,null);Te(this,Ge,!1);Te(this,Me,null);Te(this,De,null);Te(this,Ve,null);Te(this,ct,null);Te(this,dt,!1);var ht;We(this,Oe,xe),We(this,ct,Ee),We(this,Ke,de),We(this,Ve,Se),We(this,it,Ue),We(this,Le,ae),We(this,De,nt),We(this,gt,ft),We(this,St,me);const pt=a.PDFDateString.toDateObject(we);pt&&We(this,ue,Ue.l10n.get("annotation_date_string",{date:pt.toLocaleDateString(),time:pt.toLocaleTimeString()})),this.trigger=me.flatMap(kt=>kt.getElementsToTriggerPopup());for(const kt of this.trigger)kt.addEventListener("click",Z(this,Re)),kt.addEventListener("mouseenter",Z(this,be)),kt.addEventListener("mouseleave",Z(this,ve)),kt.classList.add("popupTriggerArea");for(const kt of me)(ht=kt.container)==null||ht.addEventListener("keydown",Z(this,he));Z(this,Oe).hidden=!0,Ct&&je(this,Et,Wf).call(this)}render(){if(Z(this,Me))return;const{page:{view:xe},viewport:{rawDims:{pageWidth:ae,pageHeight:me,pageX:Ee,pageY:we}}}=Z(this,it),de=We(this,Me,document.createElement("div"));if(de.className="popup",Z(this,Le)){const _n=de.style.outlineColor=t.Util.makeHexColor(...Z(this,Le));CSS.supports("background-color","color-mix(in srgb, red 30%, white)")?de.style.backgroundColor=`color-mix(in srgb, ${_n} 30%, white)`:de.style.backgroundColor=t.Util.makeHexColor(...Z(this,Le).map(mi=>Math.floor(.7*(255-mi)+mi)))}const Se=document.createElement("span");Se.className="header";const Ue=document.createElement("h1");if(Se.append(Ue),{dir:Ue.dir,str:Ue.textContent}=Z(this,ct),de.append(Se),Z(this,ue)){const _n=document.createElement("span");_n.classList.add("popupDate"),Z(this,ue).then(Bn=>{_n.textContent=Bn}),Se.append(_n)}const nt=Z(this,Ke),ft=Z(this,Ve);if(ft!=null&&ft.str&&(!(nt!=null&&nt.str)||nt.str===ft.str))f.XfaLayer.render({xfaHtml:ft.html,intent:"richText",div:de}),de.lastChild.classList.add("richText","popupContent");else{const _n=this._formatContents(nt);de.append(_n)}let Ct=!!Z(this,gt),pt=Ct?Z(this,gt):Z(this,De);for(const _n of Z(this,St))if(!pt||t.Util.intersect(_n.data.rect,pt)!==null){pt=_n.data.rect,Ct=!0;break}const ht=t.Util.normalizeRect([pt[0],xe[3]-pt[1]+xe[1],pt[2],xe[3]-pt[3]+xe[1]]),Mt=Ct?pt[2]-pt[0]+5:0,Ut=ht[0]+Mt,Xt=ht[1],{style:An}=Z(this,Oe);An.left=`${100*(Ut-Ee)/ae}%`,An.top=`${100*(Xt-we)/me}%`,Z(this,Oe).append(de)}_formatContents({str:xe,dir:ae}){const me=document.createElement("p");me.classList.add("popupContent"),me.dir=ae;const Ee=xe.split(/(?:\r\n?|\n)/);for(let we=0,de=Ee.length;we<de;++we){const Se=Ee[we];me.append(document.createTextNode(Se)),we<de-1&&me.append(document.createElement("br"))}return me}forceHide(){We(this,dt,this.isVisible),Z(this,dt)&&(Z(this,Oe).hidden=!0)}maybeShow(){Z(this,dt)&&(We(this,dt,!1),Z(this,Oe).hidden=!1)}get isVisible(){return Z(this,Oe).hidden===!1}}ue=new WeakMap,he=new WeakMap,ve=new WeakMap,be=new WeakMap,Re=new WeakMap,Le=new WeakMap,Oe=new WeakMap,Ke=new WeakMap,St=new WeakMap,it=new WeakMap,gt=new WeakMap,Ge=new WeakMap,Me=new WeakMap,De=new WeakMap,Ve=new WeakMap,ct=new WeakMap,dt=new WeakMap,rt=new WeakSet,ly=function(xe){xe.altKey||xe.shiftKey||xe.ctrlKey||xe.metaKey||(xe.key==="Enter"||xe.key==="Escape"&&Z(this,Ge))&&je(this,Et,Wf).call(this)},Et=new WeakSet,Wf=function(){We(this,Ge,!Z(this,Ge)),Z(this,Ge)?(je(this,Be,Ym).call(this),Z(this,Oe).addEventListener("click",Z(this,Re)),Z(this,Oe).addEventListener("keydown",Z(this,he))):(je(this,Ye,qm).call(this),Z(this,Oe).removeEventListener("click",Z(this,Re)),Z(this,Oe).removeEventListener("keydown",Z(this,he)))},Be=new WeakSet,Ym=function(){Z(this,Me)||this.render(),this.isVisible?Z(this,Ge)&&Z(this,Oe).classList.add("focused"):(Z(this,Oe).hidden=!1,Z(this,Oe).style.zIndex=parseInt(Z(this,Oe).style.zIndex)+1e3)},Ye=new WeakSet,qm=function(){Z(this,Oe).classList.remove("focused"),!(Z(this,Ge)||!this.isVisible)&&(Z(this,Oe).hidden=!0,Z(this,Oe).style.zIndex=parseInt(Z(this,Oe).style.zIndex)-1e3)};class F extends E{constructor(xe){super(xe,{isRenderable:!0,ignoreBorder:!0}),this.textContent=xe.data.textContent,this.textPosition=xe.data.textPosition,this.annotationEditorType=t.AnnotationEditorType.FREETEXT}render(){if(this.container.classList.add("freeTextAnnotation"),this.textContent){const xe=document.createElement("div");xe.classList.add("annotationTextContent"),xe.setAttribute("role","comment");for(const ae of this.textContent){const me=document.createElement("span");me.textContent=ae,xe.append(me)}this.container.append(xe)}return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this._editOnDoubleClick(),this.container}}e.FreeTextAnnotationElement=F;class M extends E{constructor(ae){super(ae,{isRenderable:!0,ignoreBorder:!0});Te(this,Ae,null)}render(){this.container.classList.add("lineAnnotation");const ae=this.data,{width:me,height:Ee}=R(ae.rect),we=this.svgFactory.create(me,Ee,!0),de=We(this,Ae,this.svgFactory.createElement("svg:line"));return de.setAttribute("x1",ae.rect[2]-ae.lineCoordinates[0]),de.setAttribute("y1",ae.rect[3]-ae.lineCoordinates[1]),de.setAttribute("x2",ae.rect[2]-ae.lineCoordinates[2]),de.setAttribute("y2",ae.rect[3]-ae.lineCoordinates[3]),de.setAttribute("stroke-width",ae.borderStyle.width||1),de.setAttribute("stroke","transparent"),de.setAttribute("fill","transparent"),we.append(de),this.container.append(we),!ae.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return Z(this,Ae)}addHighlightArea(){this.container.classList.add("highlightArea")}}Ae=new WeakMap;class U extends E{constructor(ae){super(ae,{isRenderable:!0,ignoreBorder:!0});Te(this,_e,null)}render(){this.container.classList.add("squareAnnotation");const ae=this.data,{width:me,height:Ee}=R(ae.rect),we=this.svgFactory.create(me,Ee,!0),de=ae.borderStyle.width,Se=We(this,_e,this.svgFactory.createElement("svg:rect"));return Se.setAttribute("x",de/2),Se.setAttribute("y",de/2),Se.setAttribute("width",me-de),Se.setAttribute("height",Ee-de),Se.setAttribute("stroke-width",de||1),Se.setAttribute("stroke","transparent"),Se.setAttribute("fill","transparent"),we.append(Se),this.container.append(we),!ae.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return Z(this,_e)}addHighlightArea(){this.container.classList.add("highlightArea")}}_e=new WeakMap;class $ extends E{constructor(ae){super(ae,{isRenderable:!0,ignoreBorder:!0});Te(this,Ie,null)}render(){this.container.classList.add("circleAnnotation");const ae=this.data,{width:me,height:Ee}=R(ae.rect),we=this.svgFactory.create(me,Ee,!0),de=ae.borderStyle.width,Se=We(this,Ie,this.svgFactory.createElement("svg:ellipse"));return Se.setAttribute("cx",me/2),Se.setAttribute("cy",Ee/2),Se.setAttribute("rx",me/2-de/2),Se.setAttribute("ry",Ee/2-de/2),Se.setAttribute("stroke-width",de||1),Se.setAttribute("stroke","transparent"),Se.setAttribute("fill","transparent"),we.append(Se),this.container.append(we),!ae.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return Z(this,Ie)}addHighlightArea(){this.container.classList.add("highlightArea")}}Ie=new WeakMap;class B extends E{constructor(ae){super(ae,{isRenderable:!0,ignoreBorder:!0});Te(this,tt,null);this.containerClassName="polylineAnnotation",this.svgElementName="svg:polyline"}render(){this.container.classList.add(this.containerClassName);const ae=this.data,{width:me,height:Ee}=R(ae.rect),we=this.svgFactory.create(me,Ee,!0);let de=[];for(const Ue of ae.vertices){const nt=Ue.x-ae.rect[0],ft=ae.rect[3]-Ue.y;de.push(nt+","+ft)}de=de.join(" ");const Se=We(this,tt,this.svgFactory.createElement(this.svgElementName));return Se.setAttribute("points",de),Se.setAttribute("stroke-width",ae.borderStyle.width||1),Se.setAttribute("stroke","transparent"),Se.setAttribute("fill","transparent"),we.append(Se),this.container.append(we),!ae.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return Z(this,tt)}addHighlightArea(){this.container.classList.add("highlightArea")}}tt=new WeakMap;class J extends B{constructor(xe){super(xe),this.containerClassName="polygonAnnotation",this.svgElementName="svg:polygon"}}class ne extends E{constructor(xe){super(xe,{isRenderable:!0,ignoreBorder:!0})}render(){return this.container.classList.add("caretAnnotation"),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container}}class ie extends E{constructor(ae){super(ae,{isRenderable:!0,ignoreBorder:!0});Te(this,Gt,[]);this.containerClassName="inkAnnotation",this.svgElementName="svg:polyline",this.annotationEditorType=t.AnnotationEditorType.INK}render(){this.container.classList.add(this.containerClassName);const ae=this.data,{width:me,height:Ee}=R(ae.rect),we=this.svgFactory.create(me,Ee,!0);for(const de of ae.inkLists){let Se=[];for(const nt of de){const ft=nt.x-ae.rect[0],Ct=ae.rect[3]-nt.y;Se.push(`${ft},${Ct}`)}Se=Se.join(" ");const Ue=this.svgFactory.createElement(this.svgElementName);Z(this,Gt).push(Ue),Ue.setAttribute("points",Se),Ue.setAttribute("stroke-width",ae.borderStyle.width||1),Ue.setAttribute("stroke","transparent"),Ue.setAttribute("fill","transparent"),!ae.popupRef&&this.hasPopupData&&this._createPopup(),we.append(Ue)}return this.container.append(we),this.container}getElementsToTriggerPopup(){return Z(this,Gt)}addHighlightArea(){this.container.classList.add("highlightArea")}}Gt=new WeakMap,e.InkAnnotationElement=ie;class Y extends E{constructor(xe){super(xe,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.classList.add("highlightAnnotation"),this.container}}class q extends E{constructor(xe){super(xe,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.classList.add("underlineAnnotation"),this.container}}class re extends E{constructor(xe){super(xe,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.classList.add("squigglyAnnotation"),this.container}}class ce extends E{constructor(xe){super(xe,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.classList.add("strikeoutAnnotation"),this.container}}class fe extends E{constructor(xe){super(xe,{isRenderable:!0,ignoreBorder:!0})}render(){return this.container.classList.add("stampAnnotation"),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container}}e.StampAnnotationElement=fe;class te extends E{constructor(ae){var we;super(ae,{isRenderable:!0});Te(this,ke);Te(this,Dt,null);const{filename:me,content:Ee}=this.data.file;this.filename=(0,a.getFilenameFromUrl)(me,!0),this.content=Ee,(we=this.linkService.eventBus)==null||we.dispatch("fileattachmentannotation",{source:this,filename:me,content:Ee})}render(){this.container.classList.add("fileAttachmentAnnotation");const{container:ae,data:me}=this;let Ee;me.hasAppearance||me.fillAlpha===0?Ee=document.createElement("div"):(Ee=document.createElement("img"),Ee.src=`${this.imageResourcesPath}annotation-${/paperclip/i.test(me.name)?"paperclip":"pushpin"}.svg`,me.fillAlpha&&me.fillAlpha<1&&(Ee.style=`filter: opacity(${Math.round(me.fillAlpha*100)}%);`)),Ee.addEventListener("dblclick",je(this,ke,Qm).bind(this)),We(this,Dt,Ee);const{isMac:we}=t.FeatureTest.platform;return ae.addEventListener("keydown",de=>{de.key==="Enter"&&(we?de.metaKey:de.ctrlKey)&&je(this,ke,Qm).call(this)}),!me.popupRef&&this.hasPopupData?this._createPopup():Ee.classList.add("popupTriggerArea"),ae.append(Ee),ae}getElementsToTriggerPopup(){return Z(this,Dt)}addHighlightArea(){this.container.classList.add("highlightArea")}}Dt=new WeakMap,ke=new WeakSet,Qm=function(){var ae;(ae=this.downloadManager)==null||ae.openOrDownloadData(this.container,this.content,this.filename)};class H{constructor({div:xe,accessibilityManager:ae,annotationCanvasMap:me,l10n:Ee,page:we,viewport:de}){Te(this,ot);Te(this,$e);Te(this,Pt,null);Te(this,Ne,null);Te(this,Je,new Map);this.div=xe,We(this,Pt,ae),We(this,Ne,me),this.l10n=Ee,this.page=we,this.viewport=de,this.zIndex=0,this.l10n||(this.l10n=h.NullL10n)}async render(xe){const{annotations:ae}=xe,me=this.div;(0,a.setLayerDimensions)(me,this.viewport);const Ee=new Map,we={data:null,layer:me,linkService:xe.linkService,downloadManager:xe.downloadManager,imageResourcesPath:xe.imageResourcesPath||"",renderForms:xe.renderForms!==!1,svgFactory:new a.DOMSVGFactory,annotationStorage:xe.annotationStorage||new o.AnnotationStorage,enableScripting:xe.enableScripting===!0,hasJSActions:xe.hasJSActions,fieldObjects:xe.fieldObjects,parent:this,elements:null};for(const de of ae){if(de.noHTML)continue;const Se=de.annotationType===t.AnnotationType.POPUP;if(Se){const ft=Ee.get(de.id);if(!ft)continue;we.elements=ft}else{const{width:ft,height:Ct}=R(de.rect);if(ft<=0||Ct<=0)continue}we.data=de;const Ue=S.create(we);if(!Ue.isRenderable)continue;if(!Se&&de.popupRef){const ft=Ee.get(de.popupRef);ft?ft.push(Ue):Ee.set(de.popupRef,[Ue])}Ue.annotationEditorType>0&&Z(this,Je).set(Ue.data.id,Ue);const nt=Ue.render();de.hidden&&(nt.style.visibility="hidden"),je(this,ot,uy).call(this,nt,de.id)}je(this,$e,Jm).call(this),await this.l10n.translate(me)}update({viewport:xe}){const ae=this.div;this.viewport=xe,(0,a.setLayerDimensions)(ae,{rotation:xe.rotation}),je(this,$e,Jm).call(this),ae.hidden=!1}getEditableAnnotations(){return Array.from(Z(this,Je).values())}getEditableAnnotation(xe){return Z(this,Je).get(xe)}}Pt=new WeakMap,Ne=new WeakMap,Je=new WeakMap,ot=new WeakSet,uy=function(xe,ae){var Ee;const me=xe.firstChild||xe;me.id=`${t.AnnotationPrefix}${ae}`,this.div.append(xe),(Ee=Z(this,Pt))==null||Ee.moveElementInDOM(this.div,xe,me,!1)},$e=new WeakSet,Jm=function(){if(!Z(this,Ne))return;const xe=this.div;for(const[ae,me]of Z(this,Ne)){const Ee=xe.querySelector(`[data-annotation-id="${ae}"]`);if(!Ee)continue;const{firstChild:we}=Ee;we?we.nodeName==="CANVAS"?we.replaceWith(me):we.before(me):Ee.append(me)}Z(this,Ne).clear()},e.AnnotationLayer=H},(l,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ColorConverters=void 0;function n(o){return Math.floor(Math.max(0,Math.min(1,o))*255).toString(16).padStart(2,"0")}function t(o){return Math.max(0,Math.min(255,255*o))}class a{static CMYK_G([d,h,f,u]){return["G",1-Math.min(1,.3*d+.59*f+.11*h+u)]}static G_CMYK([d]){return["CMYK",0,0,0,1-d]}static G_RGB([d]){return["RGB",d,d,d]}static G_rgb([d]){return d=t(d),[d,d,d]}static G_HTML([d]){const h=n(d);return`#${h}${h}${h}`}static RGB_G([d,h,f]){return["G",.3*d+.59*h+.11*f]}static RGB_rgb(d){return d.map(t)}static RGB_HTML(d){return`#${d.map(n).join("")}`}static T_HTML(){return"#00000000"}static T_rgb(){return[null]}static CMYK_RGB([d,h,f,u]){return["RGB",1-Math.min(1,d+u),1-Math.min(1,f+u),1-Math.min(1,h+u)]}static CMYK_rgb([d,h,f,u]){return[t(1-Math.min(1,d+u)),t(1-Math.min(1,f+u)),t(1-Math.min(1,h+u))]}static CMYK_HTML(d){const h=this.CMYK_RGB(d).slice(1);return this.RGB_HTML(h)}static RGB_CMYK([d,h,f]){const u=1-d,p=1-h,x=1-f,R=Math.min(u,p,x);return["CMYK",u,p,x,R]}}e.ColorConverters=a},(l,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.NullL10n=void 0,e.getL10nFallback=t;const n={of_pages:"of {{pagesCount}}",page_of_pages:"({{pageNumber}} of {{pagesCount}})",document_properties_kb:"{{size_kb}} KB ({{size_b}} bytes)",document_properties_mb:"{{size_mb}} MB ({{size_b}} bytes)",document_properties_date_string:"{{date}}, {{time}}",document_properties_page_size_unit_inches:"in",document_properties_page_size_unit_millimeters:"mm",document_properties_page_size_orientation_portrait:"portrait",document_properties_page_size_orientation_landscape:"landscape",document_properties_page_size_name_a3:"A3",document_properties_page_size_name_a4:"A4",document_properties_page_size_name_letter:"Letter",document_properties_page_size_name_legal:"Legal",document_properties_page_size_dimension_string:"{{width}} × {{height}} {{unit}} ({{orientation}})",document_properties_page_size_dimension_name_string:"{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})",document_properties_linearized_yes:"Yes",document_properties_linearized_no:"No",additional_layers:"Additional Layers",page_landmark:"Page {{page}}",thumb_page_title:"Page {{page}}",thumb_page_canvas:"Thumbnail of Page {{page}}",find_reached_top:"Reached top of document, continued from bottom",find_reached_bottom:"Reached end of document, continued from top","find_match_count[one]":"{{current}} of {{total}} match","find_match_count[other]":"{{current}} of {{total}} matches","find_match_count_limit[one]":"More than {{limit}} match","find_match_count_limit[other]":"More than {{limit}} matches",find_not_found:"Phrase not found",page_scale_width:"Page Width",page_scale_fit:"Page Fit",page_scale_auto:"Automatic Zoom",page_scale_actual:"Actual Size",page_scale_percent:"{{scale}}%",loading_error:"An error occurred while loading the PDF.",invalid_file_error:"Invalid or corrupted PDF file.",missing_file_error:"Missing PDF file.",unexpected_response_error:"Unexpected server response.",rendering_error:"An error occurred while rendering the page.",annotation_date_string:"{{date}}, {{time}}",printing_not_supported:"Warning: Printing is not fully supported by this browser.",printing_not_ready:"Warning: The PDF is not fully loaded for printing.",web_fonts_disabled:"Web fonts are disabled: unable to use embedded PDF fonts.",free_text2_default_content:"Start typing…",editor_free_text2_aria_label:"Text Editor",editor_ink2_aria_label:"Draw Editor",editor_ink_canvas_aria_label:"User-created image",editor_alt_text_button_label:"Alt text",editor_alt_text_edit_button_label:"Edit alt text",editor_alt_text_decorative_tooltip:"Marked as decorative"};n.print_progress_percent="{{progress}}%";function t(d,h){switch(d){case"find_match_count":d=`find_match_count[${h.total===1?"one":"other"}]`;break;case"find_match_count_limit":d=`find_match_count_limit[${h.limit===1?"one":"other"}]`;break}return n[d]||""}function a(d,h){return h?d.replaceAll(/\{\{\s*(\w+)\s*\}\}/g,(f,u)=>u in h?h[u]:"{{"+u+"}}"):d}const o={async getLanguage(){return"en-us"},async getDirection(){return"ltr"},async get(d,h=null,f=t(d,h)){return a(f,h)},async translate(d){}};e.NullL10n=o},(l,e,n)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.XfaLayer=void 0;var t=n(25);class a{static setupStorage(d,h,f,u,p){const x=u.getValue(h,{value:null});switch(f.name){case"textarea":if(x.value!==null&&(d.textContent=x.value),p==="print")break;d.addEventListener("input",R=>{u.setValue(h,{value:R.target.value})});break;case"input":if(f.attributes.type==="radio"||f.attributes.type==="checkbox"){if(x.value===f.attributes.xfaOn?d.setAttribute("checked",!0):x.value===f.attributes.xfaOff&&d.removeAttribute("checked"),p==="print")break;d.addEventListener("change",R=>{u.setValue(h,{value:R.target.checked?R.target.getAttribute("xfaOn"):R.target.getAttribute("xfaOff")})})}else{if(x.value!==null&&d.setAttribute("value",x.value),p==="print")break;d.addEventListener("input",R=>{u.setValue(h,{value:R.target.value})})}break;case"select":if(x.value!==null){d.setAttribute("value",x.value);for(const R of f.children)R.attributes.value===x.value?R.attributes.selected=!0:R.attributes.hasOwnProperty("selected")&&delete R.attributes.selected}d.addEventListener("input",R=>{const S=R.target.options,E=S.selectedIndex===-1?"":S[S.selectedIndex].value;u.setValue(h,{value:E})});break}}static setAttributes({html:d,element:h,storage:f=null,intent:u,linkService:p}){const{attributes:x}=h,R=d instanceof HTMLAnchorElement;x.type==="radio"&&(x.name=`${x.name}-${u}`);for(const[S,E]of Object.entries(x))if(E!=null)switch(S){case"class":E.length&&d.setAttribute(S,E.join(" "));break;case"dataId":break;case"id":d.setAttribute("data-element-id",E);break;case"style":Object.assign(d.style,E);break;case"textContent":d.textContent=E;break;default:(!R||S!=="href"&&S!=="newWindow")&&d.setAttribute(S,E)}R&&p.addLinkAttributes(d,x.href,x.newWindow),f&&x.dataId&&this.setupStorage(d,x.dataId,h,f)}static render(d){var g;const h=d.annotationStorage,f=d.linkService,u=d.xfaHtml,p=d.intent||"display",x=document.createElement(u.name);u.attributes&&this.setAttributes({html:x,element:u,intent:p,linkService:f});const R=[[u,-1,x]],S=d.div;if(S.append(x),d.viewport){const v=`matrix(${d.viewport.transform.join(",")})`;S.style.transform=v}p!=="richText"&&S.setAttribute("class","xfaLayer xfaFont");const E=[];for(;R.length>0;){const[v,T,b]=R.at(-1);if(T+1===v.children.length){R.pop();continue}const _=v.children[++R.at(-1)[1]];if(_===null)continue;const{name:w}=_;if(w==="#text"){const P=document.createTextNode(_.value);E.push(P),b.append(P);continue}const C=(g=_==null?void 0:_.attributes)!=null&&g.xmlns?document.createElementNS(_.attributes.xmlns,w):document.createElement(w);if(b.append(C),_.attributes&&this.setAttributes({html:C,element:_,storage:h,intent:p,linkService:f}),_.children&&_.children.length>0)R.push([_,-1,C]);else if(_.value){const P=document.createTextNode(_.value);t.XfaText.shouldBuildText(w)&&E.push(P),C.append(P)}}for(const v of S.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea"))v.setAttribute("readOnly",!0);return{textDivs:E}}static update(d){const h=`matrix(${d.viewport.transform.join(",")})`;d.div.style.transform=h,d.div.hidden=!1}}e.XfaLayer=a},(l,e,n)=>{var u,p,x,R,S,E,g,v,T,b,_,w,C,P,D,cy,k,dy,M,fy,$,hy,J,Zm,ie,py,q,eg,ce,my,te,gy,W,vy,z,yy,ee,_y,ue,xs,ve,tg,Re,Kf,Oe,Xf,St,ru,gt,ng,Me,Yf,Ve,xy,dt,rg,xt,Ey,Qe,Sy,Xe,ig,Pe,qf,_e,iu;Object.defineProperty(e,"__esModule",{value:!0}),e.InkEditor=void 0;var t=n(1),a=n(4),o=n(29),d=n(6),h=n(5);const tt=class tt extends a.AnnotationEditor{constructor(ke){super({...ke,name:"inkEditor"});Te(this,D);Te(this,k);Te(this,M);Te(this,$);Te(this,J);Te(this,ie);Te(this,q);Te(this,ce);Te(this,te);Te(this,W);Te(this,z);Te(this,ee);Te(this,ue);Te(this,ve);Te(this,Re);Te(this,Oe);Te(this,St);Te(this,gt);Te(this,Me);Te(this,Qe);Te(this,Xe);Te(this,Pe);Te(this,_e);Te(this,u,0);Te(this,p,0);Te(this,x,this.canvasPointermove.bind(this));Te(this,R,this.canvasPointerleave.bind(this));Te(this,S,this.canvasPointerup.bind(this));Te(this,E,this.canvasPointerdown.bind(this));Te(this,g,new Path2D);Te(this,v,!1);Te(this,T,!1);Te(this,b,!1);Te(this,_,null);Te(this,w,0);Te(this,C,0);Te(this,P,null);this.color=ke.color||null,this.thickness=ke.thickness||null,this.opacity=ke.opacity||null,this.paths=[],this.bezierPath2D=[],this.allRawPaths=[],this.currentPath=[],this.scaleFactor=1,this.translationX=this.translationY=0,this.x=0,this.y=0,this._willKeepAspectRatio=!0}static initialize(ke){a.AnnotationEditor.initialize(ke,{strings:["editor_ink_canvas_aria_label","editor_ink2_aria_label"]})}static updateDefaultParams(ke,mt){switch(ke){case t.AnnotationEditorParamsType.INK_THICKNESS:tt._defaultThickness=mt;break;case t.AnnotationEditorParamsType.INK_COLOR:tt._defaultColor=mt;break;case t.AnnotationEditorParamsType.INK_OPACITY:tt._defaultOpacity=mt/100;break}}updateParams(ke,mt){switch(ke){case t.AnnotationEditorParamsType.INK_THICKNESS:je(this,D,cy).call(this,mt);break;case t.AnnotationEditorParamsType.INK_COLOR:je(this,k,dy).call(this,mt);break;case t.AnnotationEditorParamsType.INK_OPACITY:je(this,M,fy).call(this,mt);break}}static get defaultPropertiesToUpdate(){return[[t.AnnotationEditorParamsType.INK_THICKNESS,tt._defaultThickness],[t.AnnotationEditorParamsType.INK_COLOR,tt._defaultColor||a.AnnotationEditor._defaultLineColor],[t.AnnotationEditorParamsType.INK_OPACITY,Math.round(tt._defaultOpacity*100)]]}get propertiesToUpdate(){return[[t.AnnotationEditorParamsType.INK_THICKNESS,this.thickness||tt._defaultThickness],[t.AnnotationEditorParamsType.INK_COLOR,this.color||tt._defaultColor||a.AnnotationEditor._defaultLineColor],[t.AnnotationEditorParamsType.INK_OPACITY,Math.round(100*(this.opacity??tt._defaultOpacity))]]}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.canvas||(je(this,Re,Kf).call(this),je(this,Oe,Xf).call(this)),this.isAttachedToDOM||(this.parent.add(this),je(this,St,ru).call(this)),je(this,_e,iu).call(this)))}remove(){this.canvas!==null&&(this.isEmpty()||this.commit(),this.canvas.width=this.canvas.height=0,this.canvas.remove(),this.canvas=null,Z(this,_).disconnect(),We(this,_,null),super.remove())}setParent(ke){!this.parent&&ke?this._uiManager.removeShouldRescale(this):this.parent&&ke===null&&this._uiManager.addShouldRescale(this),super.setParent(ke)}onScaleChanging(){const[ke,mt]=this.parentDimensions,Pt=this.width*ke,Ne=this.height*mt;this.setDimensions(Pt,Ne)}enableEditMode(){Z(this,v)||this.canvas===null||(super.enableEditMode(),this._isDraggable=!1,this.canvas.addEventListener("pointerdown",Z(this,E)))}disableEditMode(){!this.isInEditMode()||this.canvas===null||(super.disableEditMode(),this._isDraggable=!this.isEmpty(),this.div.classList.remove("editing"),this.canvas.removeEventListener("pointerdown",Z(this,E)))}onceAdded(){this._isDraggable=!this.isEmpty()}isEmpty(){return this.paths.length===0||this.paths.length===1&&this.paths[0].length===0}commit(){Z(this,v)||(super.commit(),this.isEditing=!1,this.disableEditMode(),this.setInForeground(),We(this,v,!0),this.div.classList.add("disabled"),je(this,_e,iu).call(this,!0),this.makeResizable(),this.parent.addInkEditorIfNeeded(!0),this.moveInDOM(),this.div.focus({preventScroll:!0}))}focusin(ke){this._focusEventsAllowed&&(super.focusin(ke),this.enableEditMode())}canvasPointerdown(ke){ke.button!==0||!this.isInEditMode()||Z(this,v)||(this.setInForeground(),ke.preventDefault(),ke.type!=="mouse"&&this.div.focus(),je(this,ie,py).call(this,ke.offsetX,ke.offsetY))}canvasPointermove(ke){ke.preventDefault(),je(this,q,eg).call(this,ke.offsetX,ke.offsetY)}canvasPointerup(ke){ke.preventDefault(),je(this,ve,tg).call(this,ke)}canvasPointerleave(ke){je(this,ve,tg).call(this,ke)}get isResizable(){return!this.isEmpty()&&Z(this,v)}render(){if(this.div)return this.div;let ke,mt;this.width&&(ke=this.x,mt=this.y),super.render(),a.AnnotationEditor._l10nPromise.get("editor_ink2_aria_label").then(wt=>{var $e;return($e=this.div)==null?void 0:$e.setAttribute("aria-label",wt)});const[Pt,Ne,Je,ot]=je(this,$,hy).call(this);if(this.setAt(Pt,Ne,0,0),this.setDims(Je,ot),je(this,Re,Kf).call(this),this.width){const[wt,$e]=this.parentDimensions;this.setAspectRatio(this.width*wt,this.height*$e),this.setAt(ke*wt,mt*$e,this.width*wt,this.height*$e),We(this,b,!0),je(this,St,ru).call(this),this.setDims(this.width*wt,this.height*$e),je(this,ue,xs).call(this),this.div.classList.add("disabled")}else this.div.classList.add("editing"),this.enableEditMode();return je(this,Oe,Xf).call(this),this.div}setDimensions(ke,mt){const Pt=Math.round(ke),Ne=Math.round(mt);if(Z(this,w)===Pt&&Z(this,C)===Ne)return;We(this,w,Pt),We(this,C,Ne),this.canvas.style.visibility="hidden";const[Je,ot]=this.parentDimensions;this.width=ke/Je,this.height=mt/ot,this.fixAndSetPosition(),Z(this,v)&&je(this,gt,ng).call(this,ke,mt),je(this,St,ru).call(this),je(this,ue,xs).call(this),this.canvas.style.visibility="visible",this.fixDims()}static deserialize(ke,mt,Pt){var we,de,Se;if(ke instanceof o.InkAnnotationElement)return null;const Ne=super.deserialize(ke,mt,Pt);Ne.thickness=ke.thickness,Ne.color=t.Util.makeHexColor(...ke.color),Ne.opacity=ke.opacity;const[Je,ot]=Ne.pageDimensions,wt=Ne.width*Je,$e=Ne.height*ot,Ft=Ne.parentScale,bt=ke.thickness/2;We(Ne,v,!0),We(Ne,w,Math.round(wt)),We(Ne,C,Math.round($e));const{paths:xe,rect:ae,rotation:me}=ke;for(let{bezier:Ue}of xe){Ue=je(we=tt,xt,Ey).call(we,Ue,ae,me);const nt=[];Ne.paths.push(nt);let ft=Ft*(Ue[0]-bt),Ct=Ft*(Ue[1]-bt);for(let ht=2,kt=Ue.length;ht<kt;ht+=6){const Mt=Ft*(Ue[ht]-bt),Ut=Ft*(Ue[ht+1]-bt),Xt=Ft*(Ue[ht+2]-bt),An=Ft*(Ue[ht+3]-bt),_n=Ft*(Ue[ht+4]-bt),Bn=Ft*(Ue[ht+5]-bt);nt.push([[ft,Ct],[Mt,Ut],[Xt,An],[_n,Bn]]),ft=_n,Ct=Bn}const pt=je(this,Ve,xy).call(this,nt);Ne.bezierPath2D.push(pt)}const Ee=je(de=Ne,Xe,ig).call(de);return We(Ne,p,Math.max(a.AnnotationEditor.MIN_SIZE,Ee[2]-Ee[0])),We(Ne,u,Math.max(a.AnnotationEditor.MIN_SIZE,Ee[3]-Ee[1])),je(Se=Ne,gt,ng).call(Se,wt,$e),Ne}serialize(){if(this.isEmpty())return null;const ke=this.getRect(0,0),mt=a.AnnotationEditor._colorManager.convert(this.ctx.strokeStyle);return{annotationType:t.AnnotationEditorType.INK,color:mt,thickness:this.thickness,opacity:this.opacity,paths:je(this,Qe,Sy).call(this,this.scaleFactor/this.parentScale,this.translationX,this.translationY,ke),pageIndex:this.pageIndex,rect:ke,rotation:this.rotation,structTreeParentId:this._structTreeParentId}}};u=new WeakMap,p=new WeakMap,x=new WeakMap,R=new WeakMap,S=new WeakMap,E=new WeakMap,g=new WeakMap,v=new WeakMap,T=new WeakMap,b=new WeakMap,_=new WeakMap,w=new WeakMap,C=new WeakMap,P=new WeakMap,D=new WeakSet,cy=function(ke){const mt=this.thickness;this.addCommands({cmd:()=>{this.thickness=ke,je(this,_e,iu).call(this)},undo:()=>{this.thickness=mt,je(this,_e,iu).call(this)},mustExec:!0,type:t.AnnotationEditorParamsType.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0})},k=new WeakSet,dy=function(ke){const mt=this.color;this.addCommands({cmd:()=>{this.color=ke,je(this,ue,xs).call(this)},undo:()=>{this.color=mt,je(this,ue,xs).call(this)},mustExec:!0,type:t.AnnotationEditorParamsType.INK_COLOR,overwriteIfSameType:!0,keepUndo:!0})},M=new WeakSet,fy=function(ke){ke/=100;const mt=this.opacity;this.addCommands({cmd:()=>{this.opacity=ke,je(this,ue,xs).call(this)},undo:()=>{this.opacity=mt,je(this,ue,xs).call(this)},mustExec:!0,type:t.AnnotationEditorParamsType.INK_OPACITY,overwriteIfSameType:!0,keepUndo:!0})},$=new WeakSet,hy=function(){const{parentRotation:ke,parentDimensions:[mt,Pt]}=this;switch(ke){case 90:return[0,Pt,Pt,mt];case 180:return[mt,Pt,mt,Pt];case 270:return[mt,0,Pt,mt];default:return[0,0,mt,Pt]}},J=new WeakSet,Zm=function(){const{ctx:ke,color:mt,opacity:Pt,thickness:Ne,parentScale:Je,scaleFactor:ot}=this;ke.lineWidth=Ne*Je/ot,ke.lineCap="round",ke.lineJoin="round",ke.miterLimit=10,ke.strokeStyle=`${mt}${(0,h.opacityToHex)(Pt)}`},ie=new WeakSet,py=function(ke,mt){this.canvas.addEventListener("contextmenu",d.noContextMenu),this.canvas.addEventListener("pointerleave",Z(this,R)),this.canvas.addEventListener("pointermove",Z(this,x)),this.canvas.addEventListener("pointerup",Z(this,S)),this.canvas.removeEventListener("pointerdown",Z(this,E)),this.isEditing=!0,Z(this,b)||(We(this,b,!0),je(this,St,ru).call(this),this.thickness||(this.thickness=tt._defaultThickness),this.color||(this.color=tt._defaultColor||a.AnnotationEditor._defaultLineColor),this.opacity??(this.opacity=tt._defaultOpacity)),this.currentPath.push([ke,mt]),We(this,T,!1),je(this,J,Zm).call(this),We(this,P,()=>{je(this,W,vy).call(this),Z(this,P)&&window.requestAnimationFrame(Z(this,P))}),window.requestAnimationFrame(Z(this,P))},q=new WeakSet,eg=function(ke,mt){const[Pt,Ne]=this.currentPath.at(-1);if(this.currentPath.length>1&&ke===Pt&&mt===Ne)return;const Je=this.currentPath;let ot=Z(this,g);if(Je.push([ke,mt]),We(this,T,!0),Je.length<=2){ot.moveTo(...Je[0]),ot.lineTo(ke,mt);return}Je.length===3&&(We(this,g,ot=new Path2D),ot.moveTo(...Je[0])),je(this,z,yy).call(this,ot,...Je.at(-3),...Je.at(-2),ke,mt)},ce=new WeakSet,my=function(){if(this.currentPath.length===0)return;const ke=this.currentPath.at(-1);Z(this,g).lineTo(...ke)},te=new WeakSet,gy=function(ke,mt){We(this,P,null),ke=Math.min(Math.max(ke,0),this.canvas.width),mt=Math.min(Math.max(mt,0),this.canvas.height),je(this,q,eg).call(this,ke,mt),je(this,ce,my).call(this);let Pt;if(this.currentPath.length!==1)Pt=je(this,ee,_y).call(this);else{const $e=[ke,mt];Pt=[[$e,$e.slice(),$e.slice(),$e]]}const Ne=Z(this,g),Je=this.currentPath;this.currentPath=[],We(this,g,new Path2D);const ot=()=>{this.allRawPaths.push(Je),this.paths.push(Pt),this.bezierPath2D.push(Ne),this.rebuild()},wt=()=>{this.allRawPaths.pop(),this.paths.pop(),this.bezierPath2D.pop(),this.paths.length===0?this.remove():(this.canvas||(je(this,Re,Kf).call(this),je(this,Oe,Xf).call(this)),je(this,_e,iu).call(this))};this.addCommands({cmd:ot,undo:wt,mustExec:!0})},W=new WeakSet,vy=function(){if(!Z(this,T))return;We(this,T,!1);const ke=Math.ceil(this.thickness*this.parentScale),mt=this.currentPath.slice(-3),Pt=mt.map(ot=>ot[0]),Ne=mt.map(ot=>ot[1]);Math.min(...Pt)-ke,Math.max(...Pt)+ke,Math.min(...Ne)-ke,Math.max(...Ne)+ke;const{ctx:Je}=this;Je.save(),Je.clearRect(0,0,this.canvas.width,this.canvas.height);for(const ot of this.bezierPath2D)Je.stroke(ot);Je.stroke(Z(this,g)),Je.restore()},z=new WeakSet,yy=function(ke,mt,Pt,Ne,Je,ot,wt){const $e=(mt+Ne)/2,Ft=(Pt+Je)/2,bt=(Ne+ot)/2,xe=(Je+wt)/2;ke.bezierCurveTo($e+2*(Ne-$e)/3,Ft+2*(Je-Ft)/3,bt+2*(Ne-bt)/3,xe+2*(Je-xe)/3,bt,xe)},ee=new WeakSet,_y=function(){const ke=this.currentPath;if(ke.length<=2)return[[ke[0],ke[0],ke.at(-1),ke.at(-1)]];const mt=[];let Pt,[Ne,Je]=ke[0];for(Pt=1;Pt<ke.length-2;Pt++){const[ae,me]=ke[Pt],[Ee,we]=ke[Pt+1],de=(ae+Ee)/2,Se=(me+we)/2,Ue=[Ne+2*(ae-Ne)/3,Je+2*(me-Je)/3],nt=[de+2*(ae-de)/3,Se+2*(me-Se)/3];mt.push([[Ne,Je],Ue,nt,[de,Se]]),[Ne,Je]=[de,Se]}const[ot,wt]=ke[Pt],[$e,Ft]=ke[Pt+1],bt=[Ne+2*(ot-Ne)/3,Je+2*(wt-Je)/3],xe=[$e+2*(ot-$e)/3,Ft+2*(wt-Ft)/3];return mt.push([[Ne,Je],bt,xe,[$e,Ft]]),mt},ue=new WeakSet,xs=function(){if(this.isEmpty()){je(this,Me,Yf).call(this);return}je(this,J,Zm).call(this);const{canvas:ke,ctx:mt}=this;mt.setTransform(1,0,0,1,0,0),mt.clearRect(0,0,ke.width,ke.height),je(this,Me,Yf).call(this);for(const Pt of this.bezierPath2D)mt.stroke(Pt)},ve=new WeakSet,tg=function(ke){this.canvas.removeEventListener("pointerleave",Z(this,R)),this.canvas.removeEventListener("pointermove",Z(this,x)),this.canvas.removeEventListener("pointerup",Z(this,S)),this.canvas.addEventListener("pointerdown",Z(this,E)),setTimeout(()=>{this.canvas.removeEventListener("contextmenu",d.noContextMenu)},10),je(this,te,gy).call(this,ke.offsetX,ke.offsetY),this.addToAnnotationStorage(),this.setInBackground()},Re=new WeakSet,Kf=function(){this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=0,this.canvas.className="inkEditorCanvas",a.AnnotationEditor._l10nPromise.get("editor_ink_canvas_aria_label").then(ke=>{var mt;return(mt=this.canvas)==null?void 0:mt.setAttribute("aria-label",ke)}),this.div.append(this.canvas),this.ctx=this.canvas.getContext("2d")},Oe=new WeakSet,Xf=function(){We(this,_,new ResizeObserver(ke=>{const mt=ke[0].contentRect;mt.width&&mt.height&&this.setDimensions(mt.width,mt.height)})),Z(this,_).observe(this.div)},St=new WeakSet,ru=function(){if(!Z(this,b))return;const[ke,mt]=this.parentDimensions;this.canvas.width=Math.ceil(this.width*ke),this.canvas.height=Math.ceil(this.height*mt),je(this,Me,Yf).call(this)},gt=new WeakSet,ng=function(ke,mt){const Pt=je(this,Pe,qf).call(this),Ne=(ke-Pt)/Z(this,p),Je=(mt-Pt)/Z(this,u);this.scaleFactor=Math.min(Ne,Je)},Me=new WeakSet,Yf=function(){const ke=je(this,Pe,qf).call(this)/2;this.ctx.setTransform(this.scaleFactor,0,0,this.scaleFactor,this.translationX*this.scaleFactor+ke,this.translationY*this.scaleFactor+ke)},Ve=new WeakSet,xy=function(ke){const mt=new Path2D;for(let Pt=0,Ne=ke.length;Pt<Ne;Pt++){const[Je,ot,wt,$e]=ke[Pt];Pt===0&&mt.moveTo(...Je),mt.bezierCurveTo(ot[0],ot[1],wt[0],wt[1],$e[0],$e[1])}return mt},dt=new WeakSet,rg=function(ke,mt,Pt){const[Ne,Je,ot,wt]=mt;switch(Pt){case 0:for(let $e=0,Ft=ke.length;$e<Ft;$e+=2)ke[$e]+=Ne,ke[$e+1]=wt-ke[$e+1];break;case 90:for(let $e=0,Ft=ke.length;$e<Ft;$e+=2){const bt=ke[$e];ke[$e]=ke[$e+1]+Ne,ke[$e+1]=bt+Je}break;case 180:for(let $e=0,Ft=ke.length;$e<Ft;$e+=2)ke[$e]=ot-ke[$e],ke[$e+1]+=Je;break;case 270:for(let $e=0,Ft=ke.length;$e<Ft;$e+=2){const bt=ke[$e];ke[$e]=ot-ke[$e+1],ke[$e+1]=wt-bt}break;default:throw new Error("Invalid rotation")}return ke},xt=new WeakSet,Ey=function(ke,mt,Pt){const[Ne,Je,ot,wt]=mt;switch(Pt){case 0:for(let $e=0,Ft=ke.length;$e<Ft;$e+=2)ke[$e]-=Ne,ke[$e+1]=wt-ke[$e+1];break;case 90:for(let $e=0,Ft=ke.length;$e<Ft;$e+=2){const bt=ke[$e];ke[$e]=ke[$e+1]-Je,ke[$e+1]=bt-Ne}break;case 180:for(let $e=0,Ft=ke.length;$e<Ft;$e+=2)ke[$e]=ot-ke[$e],ke[$e+1]-=Je;break;case 270:for(let $e=0,Ft=ke.length;$e<Ft;$e+=2){const bt=ke[$e];ke[$e]=wt-ke[$e+1],ke[$e+1]=ot-bt}break;default:throw new Error("Invalid rotation")}return ke},Qe=new WeakSet,Sy=function(ke,mt,Pt,Ne){var Ft,bt;const Je=[],ot=this.thickness/2,wt=ke*mt+ot,$e=ke*Pt+ot;for(const xe of this.paths){const ae=[],me=[];for(let Ee=0,we=xe.length;Ee<we;Ee++){const[de,Se,Ue,nt]=xe[Ee],ft=ke*de[0]+wt,Ct=ke*de[1]+$e,pt=ke*Se[0]+wt,ht=ke*Se[1]+$e,kt=ke*Ue[0]+wt,Mt=ke*Ue[1]+$e,Ut=ke*nt[0]+wt,Xt=ke*nt[1]+$e;Ee===0&&(ae.push(ft,Ct),me.push(ft,Ct)),ae.push(pt,ht,kt,Mt,Ut,Xt),me.push(pt,ht),Ee===we-1&&me.push(Ut,Xt)}Je.push({bezier:je(Ft=tt,dt,rg).call(Ft,ae,Ne,this.rotation),points:je(bt=tt,dt,rg).call(bt,me,Ne,this.rotation)})}return Je},Xe=new WeakSet,ig=function(){let ke=1/0,mt=-1/0,Pt=1/0,Ne=-1/0;for(const Je of this.paths)for(const[ot,wt,$e,Ft]of Je){const bt=t.Util.bezierBoundingBox(...ot,...wt,...$e,...Ft);ke=Math.min(ke,bt[0]),Pt=Math.min(Pt,bt[1]),mt=Math.max(mt,bt[2]),Ne=Math.max(Ne,bt[3])}return[ke,Pt,mt,Ne]},Pe=new WeakSet,qf=function(){return Z(this,v)?Math.ceil(this.thickness*this.parentScale):0},_e=new WeakSet,iu=function(ke=!1){if(this.isEmpty())return;if(!Z(this,v)){je(this,ue,xs).call(this);return}const mt=je(this,Xe,ig).call(this),Pt=je(this,Pe,qf).call(this);We(this,p,Math.max(a.AnnotationEditor.MIN_SIZE,mt[2]-mt[0])),We(this,u,Math.max(a.AnnotationEditor.MIN_SIZE,mt[3]-mt[1]));const Ne=Math.ceil(Pt+Z(this,p)*this.scaleFactor),Je=Math.ceil(Pt+Z(this,u)*this.scaleFactor),[ot,wt]=this.parentDimensions;this.width=Ne/ot,this.height=Je/wt,this.setAspectRatio(Ne,Je);const $e=this.translationX,Ft=this.translationY;this.translationX=-mt[0],this.translationY=-mt[1],je(this,St,ru).call(this),je(this,ue,xs).call(this),We(this,w,Ne),We(this,C,Je),this.setDims(Ne,Je);const bt=ke?Pt/this.scaleFactor/2:0;this.translate($e-this.translationX-bt,Ft-this.translationY-bt)},Te(tt,Ve),Te(tt,dt),Te(tt,xt),Mn(tt,"_defaultColor",null),Mn(tt,"_defaultOpacity",1),Mn(tt,"_defaultThickness",1),Mn(tt,"_type","ink");let f=tt;e.InkEditor=f},(l,e,n)=>{var f,u,p,x,R,S,E,g,v,T,b,jc,w,Ic,P,Qf,N,ag,F,by,U,Ry,B,sg,ne,Jf,Y,Ty;Object.defineProperty(e,"__esModule",{value:!0}),e.StampEditor=void 0;var t=n(1),a=n(4),o=n(6),d=n(29);const re=class re extends a.AnnotationEditor{constructor(te){super({...te,name:"stampEditor"});Te(this,b);Te(this,w);Te(this,P);Te(this,N);Te(this,F);Te(this,U);Te(this,B);Te(this,ne);Te(this,Y);Te(this,f,null);Te(this,u,null);Te(this,p,null);Te(this,x,null);Te(this,R,null);Te(this,S,null);Te(this,E,null);Te(this,g,null);Te(this,v,!1);Te(this,T,!1);We(this,x,te.bitmapUrl),We(this,R,te.bitmapFile)}static initialize(te){a.AnnotationEditor.initialize(te)}static get supportedTypes(){const te=["apng","avif","bmp","gif","jpeg","png","svg+xml","webp","x-icon"];return(0,t.shadow)(this,"supportedTypes",te.map(H=>`image/${H}`))}static get supportedTypesStr(){return(0,t.shadow)(this,"supportedTypesStr",this.supportedTypes.join(","))}static isHandlingMimeForPasting(te){return this.supportedTypes.includes(te)}static paste(te,H){H.pasteEditor(t.AnnotationEditorType.STAMP,{bitmapFile:te.getAsFile()})}remove(){var te,H;Z(this,u)&&(We(this,f,null),this._uiManager.imageManager.deleteId(Z(this,u)),(te=Z(this,S))==null||te.remove(),We(this,S,null),(H=Z(this,E))==null||H.disconnect(),We(this,E,null)),super.remove()}rebuild(){if(!this.parent){Z(this,u)&&je(this,P,Qf).call(this);return}super.rebuild(),this.div!==null&&(Z(this,u)&&je(this,P,Qf).call(this),this.isAttachedToDOM||this.parent.add(this))}onceAdded(){this._isDraggable=!0,this.div.focus()}isEmpty(){return!(Z(this,p)||Z(this,f)||Z(this,x)||Z(this,R))}get isResizable(){return!0}render(){if(this.div)return this.div;let te,H;if(this.width&&(te=this.x,H=this.y),super.render(),this.div.hidden=!0,Z(this,f)?je(this,N,ag).call(this):je(this,P,Qf).call(this),this.width){const[W,V]=this.parentDimensions;this.setAt(te*W,H*V,this.width*W,this.height*V)}return this.div}static deserialize(te,H,W){if(te instanceof d.StampAnnotationElement)return null;const V=super.deserialize(te,H,W),{rect:z,bitmapUrl:Q,bitmapId:ee,isSvg:le,accessibilityData:ue}=te;ee&&W.imageManager.isValidId(ee)?We(V,u,ee):We(V,x,Q),We(V,v,le);const[he,ve]=V.pageDimensions;return V.width=(z[2]-z[0])/he,V.height=(z[3]-z[1])/ve,ue&&(V.altTextData=ue),V}serialize(te=!1,H=null){if(this.isEmpty())return null;const W={annotationType:t.AnnotationEditorType.STAMP,bitmapId:Z(this,u),pageIndex:this.pageIndex,rect:this.getRect(0,0),rotation:this.rotation,isSvg:Z(this,v),structTreeParentId:this._structTreeParentId};if(te)return W.bitmapUrl=je(this,ne,Jf).call(this,!0),W.accessibilityData=this.altTextData,W;const{decorative:V,altText:z}=this.altTextData;if(!V&&z&&(W.accessibilityData={type:"Figure",alt:z}),H===null)return W;H.stamps||(H.stamps=new Map);const Q=Z(this,v)?(W.rect[2]-W.rect[0])*(W.rect[3]-W.rect[1]):null;if(!H.stamps.has(Z(this,u)))H.stamps.set(Z(this,u),{area:Q,serialized:W}),W.bitmap=je(this,ne,Jf).call(this,!1);else if(Z(this,v)){const ee=H.stamps.get(Z(this,u));Q>ee.area&&(ee.area=Q,ee.serialized.bitmap.close(),ee.serialized.bitmap=je(this,ne,Jf).call(this,!1))}return W}};f=new WeakMap,u=new WeakMap,p=new WeakMap,x=new WeakMap,R=new WeakMap,S=new WeakMap,E=new WeakMap,g=new WeakMap,v=new WeakMap,T=new WeakMap,b=new WeakSet,jc=function(te,H=!1){if(!te){this.remove();return}We(this,f,te.bitmap),H||(We(this,u,te.id),We(this,v,te.isSvg)),je(this,N,ag).call(this)},w=new WeakSet,Ic=function(){We(this,p,null),this._uiManager.enableWaiting(!1),Z(this,S)&&this.div.focus()},P=new WeakSet,Qf=function(){if(Z(this,u)){this._uiManager.enableWaiting(!0),this._uiManager.imageManager.getFromId(Z(this,u)).then(H=>je(this,b,jc).call(this,H,!0)).finally(()=>je(this,w,Ic).call(this));return}if(Z(this,x)){const H=Z(this,x);We(this,x,null),this._uiManager.enableWaiting(!0),We(this,p,this._uiManager.imageManager.getFromUrl(H).then(W=>je(this,b,jc).call(this,W)).finally(()=>je(this,w,Ic).call(this)));return}if(Z(this,R)){const H=Z(this,R);We(this,R,null),this._uiManager.enableWaiting(!0),We(this,p,this._uiManager.imageManager.getFromFile(H).then(W=>je(this,b,jc).call(this,W)).finally(()=>je(this,w,Ic).call(this)));return}const te=document.createElement("input");te.type="file",te.accept=re.supportedTypesStr,We(this,p,new Promise(H=>{te.addEventListener("change",async()=>{if(!te.files||te.files.length===0)this.remove();else{this._uiManager.enableWaiting(!0);const W=await this._uiManager.imageManager.getFromFile(te.files[0]);je(this,b,jc).call(this,W)}H()}),te.addEventListener("cancel",()=>{this.remove(),H()})}).finally(()=>je(this,w,Ic).call(this))),te.click()},N=new WeakSet,ag=function(){const{div:te}=this;let{width:H,height:W}=Z(this,f);const[V,z]=this.pageDimensions,Q=.75;if(this.width)H=this.width*V,W=this.height*z;else if(H>Q*V||W>Q*z){const he=Math.min(Q*V/H,Q*z/W);H*=he,W*=he}const[ee,le]=this.parentDimensions;this.setDims(H*ee/V,W*le/z),this._uiManager.enableWaiting(!1);const ue=We(this,S,document.createElement("canvas"));te.append(ue),te.hidden=!1,je(this,B,sg).call(this,H,W),je(this,Y,Ty).call(this),Z(this,T)||(this.parent.addUndoableEditor(this),We(this,T,!0)),this._uiManager._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",subtype:this.editorType,data:{action:"inserted_image"}}}),this.addAltTextButton()},F=new WeakSet,by=function(te,H){var Q;const[W,V]=this.parentDimensions;this.width=te/W,this.height=H/V,this.setDims(te,H),(Q=this._initialOptions)!=null&&Q.isCentered?this.center():this.fixAndSetPosition(),this._initialOptions=null,Z(this,g)!==null&&clearTimeout(Z(this,g)),We(this,g,setTimeout(()=>{We(this,g,null),je(this,B,sg).call(this,te,H)},200))},U=new WeakSet,Ry=function(te,H){const{width:W,height:V}=Z(this,f);let z=W,Q=V,ee=Z(this,f);for(;z>2*te||Q>2*H;){const le=z,ue=Q;z>2*te&&(z=z>=16384?Math.floor(z/2)-1:Math.ceil(z/2)),Q>2*H&&(Q=Q>=16384?Math.floor(Q/2)-1:Math.ceil(Q/2));const he=new OffscreenCanvas(z,Q);he.getContext("2d").drawImage(ee,0,0,le,ue,0,0,z,Q),ee=he.transferToImageBitmap()}return ee},B=new WeakSet,sg=function(te,H){te=Math.ceil(te),H=Math.ceil(H);const W=Z(this,S);if(!W||W.width===te&&W.height===H)return;W.width=te,W.height=H;const V=Z(this,v)?Z(this,f):je(this,U,Ry).call(this,te,H),z=W.getContext("2d");z.filter=this._uiManager.hcmFilter,z.drawImage(V,0,0,V.width,V.height,0,0,te,H)},ne=new WeakSet,Jf=function(te){if(te){if(Z(this,v)){const V=this._uiManager.imageManager.getSvgUrl(Z(this,u));if(V)return V}const H=document.createElement("canvas");return{width:H.width,height:H.height}=Z(this,f),H.getContext("2d").drawImage(Z(this,f),0,0),H.toDataURL()}if(Z(this,v)){const[H,W]=this.pageDimensions,V=Math.round(this.width*H*o.PixelsPerInch.PDF_TO_CSS_UNITS),z=Math.round(this.height*W*o.PixelsPerInch.PDF_TO_CSS_UNITS),Q=new OffscreenCanvas(V,z);return Q.getContext("2d").drawImage(Z(this,f),0,0,Z(this,f).width,Z(this,f).height,0,0,V,z),Q.transferToImageBitmap()}return structuredClone(Z(this,f))},Y=new WeakSet,Ty=function(){We(this,E,new ResizeObserver(te=>{const H=te[0].contentRect;H.width&&H.height&&je(this,F,by).call(this,H.width,H.height)})),Z(this,E).observe(this.div)},Mn(re,"_type","stamp");let h=re;e.StampEditor=h}],__webpack_module_cache__={};function __w_pdfjs_require__(l){var e=__webpack_module_cache__[l];if(e!==void 0)return e.exports;var n=__webpack_module_cache__[l]={exports:{}};return __webpack_modules__[l](n,n.exports,__w_pdfjs_require__),n.exports}var __webpack_exports__={};return(()=>{var l=__webpack_exports__;Object.defineProperty(l,"__esModule",{value:!0}),Object.defineProperty(l,"AbortException",{enumerable:!0,get:function(){return e.AbortException}}),Object.defineProperty(l,"AnnotationEditorLayer",{enumerable:!0,get:function(){return o.AnnotationEditorLayer}}),Object.defineProperty(l,"AnnotationEditorParamsType",{enumerable:!0,get:function(){return e.AnnotationEditorParamsType}}),Object.defineProperty(l,"AnnotationEditorType",{enumerable:!0,get:function(){return e.AnnotationEditorType}}),Object.defineProperty(l,"AnnotationEditorUIManager",{enumerable:!0,get:function(){return d.AnnotationEditorUIManager}}),Object.defineProperty(l,"AnnotationLayer",{enumerable:!0,get:function(){return h.AnnotationLayer}}),Object.defineProperty(l,"AnnotationMode",{enumerable:!0,get:function(){return e.AnnotationMode}}),Object.defineProperty(l,"CMapCompressionType",{enumerable:!0,get:function(){return e.CMapCompressionType}}),Object.defineProperty(l,"DOMSVGFactory",{enumerable:!0,get:function(){return t.DOMSVGFactory}}),Object.defineProperty(l,"FeatureTest",{enumerable:!0,get:function(){return e.FeatureTest}}),Object.defineProperty(l,"GlobalWorkerOptions",{enumerable:!0,get:function(){return f.GlobalWorkerOptions}}),Object.defineProperty(l,"ImageKind",{enumerable:!0,get:function(){return e.ImageKind}}),Object.defineProperty(l,"InvalidPDFException",{enumerable:!0,get:function(){return e.InvalidPDFException}}),Object.defineProperty(l,"MissingPDFException",{enumerable:!0,get:function(){return e.MissingPDFException}}),Object.defineProperty(l,"OPS",{enumerable:!0,get:function(){return e.OPS}}),Object.defineProperty(l,"PDFDataRangeTransport",{enumerable:!0,get:function(){return n.PDFDataRangeTransport}}),Object.defineProperty(l,"PDFDateString",{enumerable:!0,get:function(){return t.PDFDateString}}),Object.defineProperty(l,"PDFWorker",{enumerable:!0,get:function(){return n.PDFWorker}}),Object.defineProperty(l,"PasswordResponses",{enumerable:!0,get:function(){return e.PasswordResponses}}),Object.defineProperty(l,"PermissionFlag",{enumerable:!0,get:function(){return e.PermissionFlag}}),Object.defineProperty(l,"PixelsPerInch",{enumerable:!0,get:function(){return t.PixelsPerInch}}),Object.defineProperty(l,"PromiseCapability",{enumerable:!0,get:function(){return e.PromiseCapability}}),Object.defineProperty(l,"RenderingCancelledException",{enumerable:!0,get:function(){return t.RenderingCancelledException}}),Object.defineProperty(l,"SVGGraphics",{enumerable:!0,get:function(){return n.SVGGraphics}}),Object.defineProperty(l,"UnexpectedResponseException",{enumerable:!0,get:function(){return e.UnexpectedResponseException}}),Object.defineProperty(l,"Util",{enumerable:!0,get:function(){return e.Util}}),Object.defineProperty(l,"VerbosityLevel",{enumerable:!0,get:function(){return e.VerbosityLevel}}),Object.defineProperty(l,"XfaLayer",{enumerable:!0,get:function(){return u.XfaLayer}}),Object.defineProperty(l,"build",{enumerable:!0,get:function(){return n.build}}),Object.defineProperty(l,"createValidAbsoluteUrl",{enumerable:!0,get:function(){return e.createValidAbsoluteUrl}}),Object.defineProperty(l,"getDocument",{enumerable:!0,get:function(){return n.getDocument}}),Object.defineProperty(l,"getFilenameFromUrl",{enumerable:!0,get:function(){return t.getFilenameFromUrl}}),Object.defineProperty(l,"getPdfFilenameFromUrl",{enumerable:!0,get:function(){return t.getPdfFilenameFromUrl}}),Object.defineProperty(l,"getXfaPageViewport",{enumerable:!0,get:function(){return t.getXfaPageViewport}}),Object.defineProperty(l,"isDataScheme",{enumerable:!0,get:function(){return t.isDataScheme}}),Object.defineProperty(l,"isPdfFile",{enumerable:!0,get:function(){return t.isPdfFile}}),Object.defineProperty(l,"loadScript",{enumerable:!0,get:function(){return t.loadScript}}),Object.defineProperty(l,"noContextMenu",{enumerable:!0,get:function(){return t.noContextMenu}}),Object.defineProperty(l,"normalizeUnicode",{enumerable:!0,get:function(){return e.normalizeUnicode}}),Object.defineProperty(l,"renderTextLayer",{enumerable:!0,get:function(){return a.renderTextLayer}}),Object.defineProperty(l,"setLayerDimensions",{enumerable:!0,get:function(){return t.setLayerDimensions}}),Object.defineProperty(l,"shadow",{enumerable:!0,get:function(){return e.shadow}}),Object.defineProperty(l,"updateTextLayer",{enumerable:!0,get:function(){return a.updateTextLayer}}),Object.defineProperty(l,"version",{enumerable:!0,get:function(){return n.version}});var e=__w_pdfjs_require__(1),n=__w_pdfjs_require__(2),t=__w_pdfjs_require__(6),a=__w_pdfjs_require__(26),o=__w_pdfjs_require__(27),d=__w_pdfjs_require__(5),h=__w_pdfjs_require__(29),f=__w_pdfjs_require__(14),u=__w_pdfjs_require__(32)})(),__webpack_exports__})())})(pdf$1);var pdfExports=pdf$1.exports;const pdf=getDefaultExportFromCjs(pdfExports),pdfjsModule=_mergeNamespaces({__proto__:null,default:pdf},[pdfExports]),pdfjs="default"in pdfjsModule?pdf:pdfjsModule;var __spreadArray=function(l,e,n){if(n||arguments.length===2)for(var t=0,a=e.length,o;t<a;t++)(o||!(t in e))&&(o||(o=Array.prototype.slice.call(e,0,t)),o[t]=e[t]);return l.concat(o||Array.prototype.slice.call(e))},clipboardEvents=["onCopy","onCut","onPaste"],compositionEvents=["onCompositionEnd","onCompositionStart","onCompositionUpdate"],focusEvents=["onFocus","onBlur"],formEvents=["onInput","onInvalid","onReset","onSubmit"],imageEvents=["onLoad","onError"],keyboardEvents=["onKeyDown","onKeyPress","onKeyUp"],mediaEvents=["onAbort","onCanPlay","onCanPlayThrough","onDurationChange","onEmptied","onEncrypted","onEnded","onError","onLoadedData","onLoadedMetadata","onLoadStart","onPause","onPlay","onPlaying","onProgress","onRateChange","onSeeked","onSeeking","onStalled","onSuspend","onTimeUpdate","onVolumeChange","onWaiting"],mouseEvents=["onClick","onContextMenu","onDoubleClick","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp"],dragEvents=["onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop"],selectionEvents=["onSelect"],touchEvents=["onTouchCancel","onTouchEnd","onTouchMove","onTouchStart"],pointerEvents=["onPointerDown","onPointerMove","onPointerUp","onPointerCancel","onGotPointerCapture","onLostPointerCapture","onPointerEnter","onPointerLeave","onPointerOver","onPointerOut"],uiEvents=["onScroll"],wheelEvents=["onWheel"],animationEvents=["onAnimationStart","onAnimationEnd","onAnimationIteration"],transitionEvents=["onTransitionEnd"],otherEvents=["onToggle"],changeEvents=["onChange"],allEvents=__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([],clipboardEvents,!0),compositionEvents,!0),focusEvents,!0),formEvents,!0),imageEvents,!0),keyboardEvents,!0),mediaEvents,!0),mouseEvents,!0),dragEvents,!0),selectionEvents,!0),touchEvents,!0),pointerEvents,!0),uiEvents,!0),wheelEvents,!0),animationEvents,!0),transitionEvents,!0),changeEvents,!0),otherEvents,!0);function makeEventProps(l,e){var n={};return allEvents.forEach(function(t){var a=l[t];a&&(e?n[t]=function(o){return a(o,e(t))}:n[t]=a)}),n}function makeCancellablePromise(l){var e=!1,n=new Promise(function(t,a){l.then(function(o){return!e&&t(o)}).catch(function(o){return!e&&a(o)})});return{promise:n,cancel:function(){e=!0}}}function r(l){var e,n,t="";if(typeof l=="string"||typeof l=="number")t+=l;else if(typeof l=="object")if(Array.isArray(l)){var a=l.length;for(e=0;e<a;e++)l[e]&&(n=r(l[e]))&&(t&&(t+=" "),t+=n)}else for(n in l)l[n]&&(t&&(t+=" "),t+=n);return t}function clsx(){for(var l,e,n=0,t="",a=arguments.length;n<a;n++)(l=arguments[n])&&(e=r(l))&&(t&&(t+=" "),t+=e);return t}var isProduction=process.env.NODE_ENV==="production",prefix="Invariant failed";function invariant(l,e){if(!l){if(isProduction)throw new Error(prefix);var n=typeof e=="function"?e():e,t=n?"".concat(prefix,": ").concat(n):prefix;throw new Error(t)}}var __DEV__=process.env.NODE_ENV!=="production",warning=function(){};if(__DEV__){var printWarning=function(e,n){var t=arguments.length;n=new Array(t>1?t-1:0);for(var a=1;a<t;a++)n[a-1]=arguments[a];var o=0,d="Warning: "+e.replace(/%s/g,function(){return n[o++]});typeof console<"u"&&console.error(d);try{throw new Error(d)}catch{}};warning=function(l,e,n){var t=arguments.length;n=new Array(t>2?t-2:0);for(var a=2;a<t;a++)n[a-2]=arguments[a];if(e===void 0)throw new Error("`warning(condition, format, ...args)` requires a warning message argument");l||printWarning.apply(null,[e].concat(n))}}var warning_1=warning;const warning$1=getDefaultExportFromCjs(warning_1);var has=Object.prototype.hasOwnProperty;function find(l,e,n){for(n of l.keys())if(dequal(n,e))return n}function dequal(l,e){var n,t,a;if(l===e)return!0;if(l&&e&&(n=l.constructor)===e.constructor){if(n===Date)return l.getTime()===e.getTime();if(n===RegExp)return l.toString()===e.toString();if(n===Array){if((t=l.length)===e.length)for(;t--&&dequal(l[t],e[t]););return t===-1}if(n===Set){if(l.size!==e.size)return!1;for(t of l)if(a=t,a&&typeof a=="object"&&(a=find(e,a),!a)||!e.has(a))return!1;return!0}if(n===Map){if(l.size!==e.size)return!1;for(t of l)if(a=t[0],a&&typeof a=="object"&&(a=find(e,a),!a)||!dequal(t[1],e.get(a)))return!1;return!0}if(n===ArrayBuffer)l=new Uint8Array(l),e=new Uint8Array(e);else if(n===DataView){if((t=l.byteLength)===e.byteLength)for(;t--&&l.getInt8(t)===e.getInt8(t););return t===-1}if(ArrayBuffer.isView(l)){if((t=l.byteLength)===e.byteLength)for(;t--&&l[t]===e[t];);return t===-1}if(!n||typeof l=="object"){t=0;for(n in l)if(has.call(l,n)&&++t&&!has.call(e,n)||!(n in e)||!dequal(l[n],e[n]))return!1;return Object.keys(e).length===t}}return l!==l&&e!==e}const DocumentContext=React$2.createContext(null);function Message$1({children:l,type:e}){return jsxRuntimeExports.jsx("div",{className:`react-pdf__message react-pdf__message--${e}`,children:l})}const DEFAULT_LINK_REL="noopener noreferrer nofollow";class LinkService{constructor(){this.externalLinkEnabled=!0,this.externalLinkRel=void 0,this.externalLinkTarget=void 0,this.isInPresentationMode=!1,this.pdfDocument=void 0,this.pdfViewer=void 0}setDocument(e){this.pdfDocument=e}setViewer(e){this.pdfViewer=e}setExternalLinkRel(e){this.externalLinkRel=e}setExternalLinkTarget(e){this.externalLinkTarget=e}setHistory(){}get pagesCount(){return this.pdfDocument?this.pdfDocument.numPages:0}get page(){return invariant(this.pdfViewer,"PDF viewer is not initialized."),this.pdfViewer.currentPageNumber||0}set page(e){invariant(this.pdfViewer,"PDF viewer is not initialized."),this.pdfViewer.currentPageNumber=e}get rotation(){return 0}set rotation(e){}goToDestination(e){return new Promise(n=>{invariant(this.pdfDocument,"PDF document not loaded."),invariant(e,"Destination is not specified."),typeof e=="string"?this.pdfDocument.getDestination(e).then(n):Array.isArray(e)?n(e):e.then(n)}).then(n=>{invariant(Array.isArray(n),`"${n}" is not a valid destination array.`);const t=n[0];new Promise(a=>{invariant(this.pdfDocument,"PDF document not loaded."),t instanceof Object?this.pdfDocument.getPageIndex(t).then(o=>{a(o)}).catch(()=>{invariant(!1,`"${t}" is not a valid page reference.`)}):typeof t=="number"?a(t):invariant(!1,`"${t}" is not a valid destination reference.`)}).then(a=>{const o=a+1;invariant(this.pdfViewer,"PDF viewer is not initialized."),invariant(o>=1&&o<=this.pagesCount,`"${o}" is not a valid page number.`),this.pdfViewer.scrollPageIntoView({dest:n,pageIndex:a,pageNumber:o})})})}navigateTo(e){this.goToDestination(e)}goToPage(e){const n=e-1;invariant(this.pdfViewer,"PDF viewer is not initialized."),invariant(e>=1&&e<=this.pagesCount,`"${e}" is not a valid page number.`),this.pdfViewer.scrollPageIntoView({pageIndex:n,pageNumber:e})}addLinkAttributes(e,n,t){e.href=n,e.rel=this.externalLinkRel||DEFAULT_LINK_REL,e.target=t?"_blank":this.externalLinkTarget||""}getDestinationHash(){return"#"}getAnchorUrl(){return"#"}setHash(){}executeNamedAction(){}cachePageRef(){}isPageVisible(){return!0}isPageCached(){return!0}executeSetOCGState(){}}const PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},isBrowser=typeof document<"u",isLocalFileSystem=isBrowser&&window.location.protocol==="file:";function isDefined(l){return typeof l<"u"}function isProvided(l){return isDefined(l)&&l!==null}function isString(l){return typeof l=="string"}function isArrayBuffer(l){return l instanceof ArrayBuffer}function isBlob(l){return invariant(isBrowser,"isBlob can only be used in a browser environment"),l instanceof Blob}function isDataURI(l){return isString(l)&&/^data:/.test(l)}function dataURItoByteString(l){invariant(isDataURI(l),"Invalid data URI.");const[e="",n=""]=l.split(",");return e.split(";").indexOf("base64")!==-1?atob(n):unescape(n)}function getDevicePixelRatio$1(){return isBrowser&&window.devicePixelRatio||1}const allowFileAccessFromFilesTip="On Chromium based browsers, you can use --allow-file-access-from-files flag for debugging purposes.";function displayCORSWarning(){warning$1(!isLocalFileSystem,`Loading PDF as base64 strings/URLs may not work on protocols other than HTTP/HTTPS. ${allowFileAccessFromFilesTip}`)}function displayWorkerWarning(){warning$1(!isLocalFileSystem,`Loading PDF.js worker may not work on protocols other than HTTP/HTTPS. ${allowFileAccessFromFilesTip}`)}function cancelRunningTask(l){l&&l.cancel&&l.cancel()}function makePageCallback(l,e){return Object.defineProperty(l,"width",{get(){return this.view[2]*e},configurable:!0}),Object.defineProperty(l,"height",{get(){return this.view[3]*e},configurable:!0}),Object.defineProperty(l,"originalWidth",{get(){return this.view[2]},configurable:!0}),Object.defineProperty(l,"originalHeight",{get(){return this.view[3]},configurable:!0}),l}function isCancelException(l){return l.name==="RenderingCancelledException"}function loadFromFile(l){return new Promise((e,n)=>{const t=new FileReader;t.onload=()=>{if(!t.result)return n(new Error("Error while reading a file."));e(t.result)},t.onerror=a=>{if(!a.target)return n(new Error("Error while reading a file."));const{error:o}=a.target;if(!o)return n(new Error("Error while reading a file."));switch(o.code){case o.NOT_FOUND_ERR:return n(new Error("Error while reading a file: File not found."));case o.SECURITY_ERR:return n(new Error("Error while reading a file: Security error."));case o.ABORT_ERR:return n(new Error("Error while reading a file: Aborted."));default:return n(new Error("Error while reading a file."))}},t.readAsArrayBuffer(l)})}function reducer(l,e){switch(e.type){case"RESOLVE":return{value:e.value,error:void 0};case"REJECT":return{value:!1,error:e.error};case"RESET":return{value:void 0,error:void 0};default:return l}}function useResolver(){return React$2.useReducer(reducer,{value:void 0,error:void 0})}var __awaiter=function(l,e,n,t){function a(o){return o instanceof n?o:new n(function(d){d(o)})}return new(n||(n=Promise))(function(o,d){function h(p){try{u(t.next(p))}catch(x){d(x)}}function f(p){try{u(t.throw(p))}catch(x){d(x)}}function u(p){p.done?o(p.value):a(p.value).then(h,f)}u((t=t.apply(l,e||[])).next())})},__rest$2=function(l,e){var n={};for(var t in l)Object.prototype.hasOwnProperty.call(l,t)&&e.indexOf(t)<0&&(n[t]=l[t]);if(l!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,t=Object.getOwnPropertySymbols(l);a<t.length;a++)e.indexOf(t[a])<0&&Object.prototype.propertyIsEnumerable.call(l,t[a])&&(n[t[a]]=l[t[a]]);return n};const{PDFDataRangeTransport}=pdfjs,defaultOnPassword=(l,e)=>{switch(e){case PasswordResponses.NEED_PASSWORD:{const n=prompt("Enter the password to open this PDF file.");l(n);break}case PasswordResponses.INCORRECT_PASSWORD:{const n=prompt("Invalid password. Please try again.");l(n);break}}};function isParameterObject(l){return typeof l=="object"&&l!==null&&("data"in l||"range"in l||"url"in l)}const Document$1=React$2.forwardRef(function l(e,n){var{children:t,className:a,error:o="Failed to load PDF file.",externalLinkRel:d,externalLinkTarget:h,file:f,inputRef:u,imageResourcesPath:p,loading:x="Loading PDF…",noData:R="No PDF file specified.",onItemClick:S,onLoadError:E,onLoadProgress:g,onLoadSuccess:v,onPassword:T=defaultOnPassword,onSourceError:b,onSourceSuccess:_,options:w,renderMode:C,rotate:P}=e,D=__rest$2(e,["children","className","error","externalLinkRel","externalLinkTarget","file","inputRef","imageResourcesPath","loading","noData","onItemClick","onLoadError","onLoadProgress","onLoadSuccess","onPassword","onSourceError","onSourceSuccess","options","renderMode","rotate"]);const[N,k]=useResolver(),{value:F,error:M}=N,[U,$]=useResolver(),{value:B,error:J}=U,ne=React$2.useRef(new LinkService),ie=React$2.useRef([]),Y=React$2.useRef(void 0),q=React$2.useRef(void 0);f&&f!==Y.current&&isParameterObject(f)&&(warning$1(!dequal(f,Y.current),`File prop passed to <Document /> changed, but it's equal to previous one. This might result in unnecessary reloads. Consider memoizing the value passed to "file" prop.`),Y.current=f),w&&w!==q.current&&(warning$1(!dequal(w,q.current),`Options prop passed to <Document /> changed, but it's equal to previous one. This might result in unnecessary reloads. Consider memoizing the value passed to "options" prop.`),q.current=w);const re=React$2.useRef({scrollPageIntoView:Le=>{const{dest:Oe,pageNumber:Ke,pageIndex:St=Ke-1}=Le;if(S){S({dest:Oe,pageIndex:St,pageNumber:Ke});return}const it=ie.current[St];if(it){it.scrollIntoView();return}warning$1(!1,`An internal link leading to page ${Ke} was clicked, but neither <Document> was provided with onItemClick nor it was able to find the page within itself. Either provide onItemClick to <Document> and handle navigating by yourself or ensure that all pages are rendered within <Document>.`)}});React$2.useImperativeHandle(n,()=>({linkService:ne,pages:ie,viewer:re}),[]);function ce(){_&&_()}function fe(){M&&(warning$1(!1,M.toString()),b&&b(M))}function te(){k({type:"RESET"})}React$2.useEffect(te,[f,k]);const H=React$2.useCallback(()=>__awaiter(this,void 0,void 0,function*(){if(!f)return null;if(typeof f=="string")return isDataURI(f)?{data:dataURItoByteString(f)}:(displayCORSWarning(),{url:f});if(f instanceof PDFDataRangeTransport)return{range:f};if(isArrayBuffer(f))return{data:f};if(isBrowser&&isBlob(f))return{data:yield loadFromFile(f)};if(invariant(typeof f=="object","Invalid parameter in file, need either Uint8Array, string or a parameter object"),invariant(isParameterObject(f),"Invalid parameter object: need either .data, .range or .url"),"url"in f&&typeof f.url=="string"){if(isDataURI(f.url)){const{url:Le}=f,Oe=__rest$2(f,["url"]),Ke=dataURItoByteString(Le);return Object.assign({data:Ke},Oe)}displayCORSWarning()}return f}),[f]);React$2.useEffect(()=>{const Le=makeCancellablePromise(H());return Le.promise.then(Oe=>{k({type:"RESOLVE",value:Oe})}).catch(Oe=>{k({type:"REJECT",error:Oe})}),()=>{cancelRunningTask(Le)}},[H,k]),React$2.useEffect(()=>{if(!(typeof F>"u")){if(F===!1){fe();return}ce()}},[F]);function W(){B&&(v&&v(B),ie.current=new Array(B.numPages),ne.current.setDocument(B))}function V(){J&&(warning$1(!1,J.toString()),E&&E(J))}function z(){$({type:"RESET"})}React$2.useEffect(z,[$,F]);function Q(){if(!F)return;const Le=Object.assign(Object.assign({},w),{isEvalSupported:!1}),Oe=Object.assign(Object.assign({},F),Le),Ke=pdfjs.getDocument(Oe);g&&(Ke.onProgress=g),T&&(Ke.onPassword=T);const St=Ke;return St.promise.then(it=>{$({type:"RESOLVE",value:it})}).catch(it=>{St.destroyed||$({type:"REJECT",error:it})}),()=>{St.destroy()}}React$2.useEffect(Q,[w,$,F]),React$2.useEffect(()=>{if(!(typeof B>"u")){if(B===!1){V();return}W()}},[B]);function ee(){ne.current.setViewer(re.current),ne.current.setExternalLinkRel(d),ne.current.setExternalLinkTarget(h)}React$2.useEffect(ee,[d,h]);function le(Le,Oe){ie.current[Le]=Oe}function ue(Le){delete ie.current[Le]}const he=React$2.useMemo(()=>({imageResourcesPath:p,linkService:ne.current,onItemClick:S,pdf:B,registerPage:le,renderMode:C,rotate:P,unregisterPage:ue}),[p,S,B,C,P]),ve=React$2.useMemo(()=>makeEventProps(D,()=>B),[D,B]);function be(){return jsxRuntimeExports.jsx(DocumentContext.Provider,{value:he,children:t})}function Re(){return f?B==null?jsxRuntimeExports.jsx(Message$1,{type:"loading",children:typeof x=="function"?x():x}):B===!1?jsxRuntimeExports.jsx(Message$1,{type:"error",children:typeof o=="function"?o():o}):be():jsxRuntimeExports.jsx(Message$1,{type:"no-data",children:typeof R=="function"?R():R})}return jsxRuntimeExports.jsx("div",Object.assign({className:clsx("react-pdf__Document",a),ref:u,style:{"--scale-factor":"1"}},ve,{children:Re()}))}),Document$2=Document$1;function useDocumentContext(){return React$2.useContext(DocumentContext)}function mergeRefs(){for(var l=[],e=0;e<arguments.length;e++)l[e]=arguments[e];var n=l.filter(Boolean);if(n.length<=1){var t=n[0];return t||null}return function(o){n.forEach(function(d){typeof d=="function"?d(o):d&&(d.current=o)})}}const PageContext=React$2.createContext(null),PDF_ROLE_TO_HTML_ROLE={Document:null,DocumentFragment:null,Part:"group",Sect:"group",Div:"group",Aside:"note",NonStruct:"none",P:null,H:"heading",Title:null,FENote:"note",Sub:"group",Lbl:null,Span:null,Em:null,Strong:null,Link:"link",Annot:"note",Form:"form",Ruby:null,RB:null,RT:null,RP:null,Warichu:null,WT:null,WP:null,L:"list",LI:"listitem",LBody:null,Table:"table",TR:"row",TH:"columnheader",TD:"cell",THead:"columnheader",TBody:null,TFoot:null,Caption:null,Figure:"figure",Formula:null,Artifact:null},HEADING_PATTERN=/^H(\d+)$/;function isPdfRole(l){return l in PDF_ROLE_TO_HTML_ROLE}function isStructTreeNode(l){return"children"in l}function isStructTreeNodeWithOnlyContentChild(l){return isStructTreeNode(l)?l.children.length===1&&0 in l.children&&"id"in l.children[0]:!1}function getRoleAttributes(l){const e={};if(isStructTreeNode(l)){const{role:n}=l,t=n.match(HEADING_PATTERN);if(t)e.role="heading",e["aria-level"]=Number(t[1]);else if(isPdfRole(n)){const a=PDF_ROLE_TO_HTML_ROLE[n];a&&(e.role=a)}}return e}function getBaseAttributes(l){const e={};if(isStructTreeNode(l)){if(l.alt!==void 0&&(e["aria-label"]=l.alt),l.lang!==void 0&&(e.lang=l.lang),isStructTreeNodeWithOnlyContentChild(l)){const[n]=l.children;if(n){const t=getBaseAttributes(n);return Object.assign(Object.assign({},e),t)}}}else"id"in l&&(e["aria-owns"]=l.id);return e}function getAttributes(l){return l?Object.assign(Object.assign({},getRoleAttributes(l)),getBaseAttributes(l)):null}function StructTreeItem({className:l,node:e}){const n=React$2.useMemo(()=>getAttributes(e),[e]),t=React$2.useMemo(()=>!isStructTreeNode(e)||isStructTreeNodeWithOnlyContentChild(e)?null:e.children.map((a,o)=>jsxRuntimeExports.jsx(StructTreeItem,{node:a},o)),[e]);return jsxRuntimeExports.jsx("span",Object.assign({className:l},n,{children:t}))}function usePageContext(){return React$2.useContext(PageContext)}function StructTree(){const l=usePageContext();invariant(l,"Unable to find Page context.");const{onGetStructTreeError:e,onGetStructTreeSuccess:n}=l,[t,a]=useResolver(),{value:o,error:d}=t,{customTextRenderer:h,page:f}=l;function u(){o&&n&&n(o)}function p(){d&&(warning$1(!1,d.toString()),e&&e(d))}function x(){a({type:"RESET"})}React$2.useEffect(x,[a,f]);function R(){if(h||!f)return;const S=makeCancellablePromise(f.getStructTree()),E=S;return S.promise.then(g=>{a({type:"RESOLVE",value:g})}).catch(g=>{a({type:"REJECT",error:g})}),()=>cancelRunningTask(E)}return React$2.useEffect(R,[h,f,a]),React$2.useEffect(()=>{if(o!==void 0){if(o===!1){p();return}u()}},[o]),o?jsxRuntimeExports.jsx(StructTreeItem,{className:"react-pdf__Page__structTree structTree",node:o}):null}const ANNOTATION_MODE=pdfjs.AnnotationMode;function PageCanvas(l){const e=usePageContext();invariant(e,"Unable to find Page context.");const n=Object.assign(Object.assign({},e),l),{_className:t,canvasBackground:a,devicePixelRatio:o=getDevicePixelRatio$1(),onRenderError:d,onRenderSuccess:h,page:f,renderForms:u,renderTextLayer:p,rotate:x,scale:R}=n,{canvasRef:S}=l;invariant(f,"Attempted to render page canvas, but no page was specified.");const E=React$2.useRef(null);function g(){f&&h&&h(makePageCallback(f,R))}function v(C){isCancelException(C)||(warning$1(!1,C.toString()),d&&d(C))}const T=React$2.useMemo(()=>f.getViewport({scale:R*o,rotation:x}),[o,f,x,R]),b=React$2.useMemo(()=>f.getViewport({scale:R,rotation:x}),[f,x,R]);function _(){if(!f)return;f.cleanup();const{current:C}=E;if(!C)return;C.width=T.width,C.height=T.height,C.style.width=`${Math.floor(b.width)}px`,C.style.height=`${Math.floor(b.height)}px`,C.style.visibility="hidden";const P={annotationMode:u?ANNOTATION_MODE.ENABLE_FORMS:ANNOTATION_MODE.ENABLE,canvasContext:C.getContext("2d",{alpha:!1}),viewport:T};a&&(P.background=a);const D=f.render(P),N=D;return D.promise.then(()=>{C.style.visibility="",g()}).catch(v),()=>cancelRunningTask(N)}React$2.useEffect(_,[a,E,o,f,u,T,b]);const w=React$2.useCallback(()=>{const{current:C}=E;C&&(C.width=0,C.height=0)},[E]);return React$2.useEffect(()=>w,[w]),jsxRuntimeExports.jsx("canvas",{className:`${t}__canvas`,dir:"ltr",ref:mergeRefs(S,E),style:{display:"block",userSelect:"none"},children:p?jsxRuntimeExports.jsx(StructTree,{}):null})}function PageSVG(){const l=usePageContext();invariant(l,"Unable to find Page context.");const{_className:e,onRenderSuccess:n,onRenderError:t,page:a,rotate:o,scale:d}=l;invariant(a,"Attempted to render page SVG, but no page was specified.");const[h,f]=useResolver(),{value:u,error:p}=h;function x(){a&&n&&n(makePageCallback(a,d))}function R(){p&&(isCancelException(p)||(warning$1(!1,p.toString()),t&&t(p)))}const S=React$2.useMemo(()=>a.getViewport({scale:d,rotation:o}),[a,o,d]);function E(){f({type:"RESET"})}React$2.useEffect(E,[a,f,S]);function g(){if(!a)return;const _=makeCancellablePromise(a.getOperatorList());return _.promise.then(w=>{new pdfjs.SVGGraphics(a.commonObjs,a.objs).getSVG(w,S).then(P=>{if(!(P instanceof SVGElement))throw new Error("getSVG returned unexpected result.");f({type:"RESOLVE",value:P})}).catch(P=>{f({type:"REJECT",error:P})})}).catch(w=>{f({type:"REJECT",error:w})}),()=>cancelRunningTask(_)}React$2.useEffect(g,[a,f,S]),React$2.useEffect(()=>{if(u!==void 0){if(u===!1){R();return}x()}},[u]);function v(_){if(!_||!u)return;_.firstElementChild||_.appendChild(u);const{width:w,height:C}=S;u.setAttribute("width",`${w}`),u.setAttribute("height",`${C}`)}const{width:T,height:b}=S;return jsxRuntimeExports.jsx("div",{className:`${e}__svg`,ref:_=>v(_),style:{display:"block",backgroundColor:"white",overflow:"hidden",width:T,height:b,userSelect:"none"}})}function isTextItem(l){return"str"in l}function TextLayer(){const l=usePageContext();invariant(l,"Unable to find Page context.");const{customTextRenderer:e,onGetTextError:n,onGetTextSuccess:t,onRenderTextLayerError:a,onRenderTextLayerSuccess:o,page:d,pageIndex:h,pageNumber:f,rotate:u,scale:p}=l;invariant(d,"Attempted to load page text content, but no page was specified.");const[x,R]=useResolver(),{value:S,error:E}=x,g=React$2.useRef(null),v=React$2.useRef(void 0);warning$1(parseInt(window.getComputedStyle(document.body).getPropertyValue("--react-pdf-text-layer"),10)===1,"TextLayer styles not found. Read more: https://github.com/wojtekmaj/react-pdf#support-for-text-layer");function T(){S&&t&&t(S)}function b(){E&&(warning$1(!1,E.toString()),n&&n(E))}function _(){R({type:"RESET"})}React$2.useEffect(_,[d,R]);function w(){if(!d)return;const M=makeCancellablePromise(d.getTextContent()),U=M;return M.promise.then($=>{R({type:"RESOLVE",value:$})}).catch($=>{R({type:"REJECT",error:$})}),()=>cancelRunningTask(U)}React$2.useEffect(w,[d,R]),React$2.useEffect(()=>{if(S!==void 0){if(S===!1){b();return}T()}},[S]);const C=React$2.useCallback(()=>{o&&o()},[o]),P=React$2.useCallback(M=>{warning$1(!1,M.toString()),a&&a(M)},[a]);function D(){const M=v.current;M&&M.classList.add("active")}function N(){const M=v.current;M&&M.classList.remove("active")}const k=React$2.useMemo(()=>d.getViewport({scale:p,rotation:u}),[d,u,p]);function F(){if(!d||!S)return;const{current:M}=g;if(!M)return;M.innerHTML="";const U=d.streamTextContent({includeMarkedContent:!0}),$={container:M,textContentSource:U,viewport:k},B=pdfjs.renderTextLayer($),J=B;return B.promise.then(()=>{const ne=document.createElement("div");ne.className="endOfContent",M.append(ne),v.current=ne;const ie=M.querySelectorAll('[role="presentation"]');if(e){let Y=0;S.items.forEach((q,re)=>{if(!isTextItem(q))return;const ce=ie[Y];if(!ce)return;const fe=e(Object.assign({pageIndex:h,pageNumber:f,itemIndex:re},q));ce.innerHTML=fe,Y+=q.str&&q.hasEOL?2:1})}C()}).catch(P),()=>cancelRunningTask(J)}return React$2.useLayoutEffect(F,[e,P,C,d,h,f,S,k]),jsxRuntimeExports.jsx("div",{className:clsx("react-pdf__Page__textContent","textLayer"),onMouseUp:N,onMouseDown:D,ref:g})}function AnnotationLayer(){const l=useDocumentContext(),e=usePageContext();invariant(e,"Unable to find Page context.");const n=Object.assign(Object.assign({},l),e),{imageResourcesPath:t,linkService:a,onGetAnnotationsError:o,onGetAnnotationsSuccess:d,onRenderAnnotationLayerError:h,onRenderAnnotationLayerSuccess:f,page:u,pdf:p,renderForms:x,rotate:R,scale:S=1}=n;invariant(p,"Attempted to load page annotations, but no document was specified. Wrap <Page /> in a <Document /> or pass explicit `pdf` prop."),invariant(u,"Attempted to load page annotations, but no page was specified."),invariant(a,"Attempted to load page annotations, but no linkService was specified.");const[E,g]=useResolver(),{value:v,error:T}=E,b=React$2.useRef(null);warning$1(parseInt(window.getComputedStyle(document.body).getPropertyValue("--react-pdf-annotation-layer"),10)===1,"AnnotationLayer styles not found. Read more: https://github.com/wojtekmaj/react-pdf#support-for-annotations");function _(){v&&d&&d(v)}function w(){T&&(warning$1(!1,T.toString()),o&&o(T))}function C(){g({type:"RESET"})}React$2.useEffect(C,[g,u]);function P(){if(!u)return;const M=makeCancellablePromise(u.getAnnotations()),U=M;return M.promise.then($=>{g({type:"RESOLVE",value:$})}).catch($=>{g({type:"REJECT",error:$})}),()=>{cancelRunningTask(U)}}React$2.useEffect(P,[g,u,x]),React$2.useEffect(()=>{if(v!==void 0){if(v===!1){w();return}_()}},[v]);function D(){f&&f()}function N(M){warning$1(!1,`${M}`),h&&h(M)}const k=React$2.useMemo(()=>u.getViewport({scale:S,rotation:R}),[u,R,S]);function F(){if(!p||!u||!a||!v)return;const{current:M}=b;if(!M)return;const U=k.clone({dontFlip:!0}),$={accessibilityManager:null,annotationCanvasMap:null,div:M,l10n:null,page:u,viewport:U},B={annotations:v,annotationStorage:p.annotationStorage,div:M,downloadManager:null,imageResourcesPath:t,linkService:a,page:u,renderForms:x,viewport:U};M.innerHTML="";try{new pdfjs.AnnotationLayer($).render(B),D()}catch(J){N(J)}return()=>{}}return React$2.useEffect(F,[v,t,a,u,x,k]),jsxRuntimeExports.jsx("div",{className:clsx("react-pdf__Page__annotations","annotationLayer"),ref:b})}var __rest$1=function(l,e){var n={};for(var t in l)Object.prototype.hasOwnProperty.call(l,t)&&e.indexOf(t)<0&&(n[t]=l[t]);if(l!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,t=Object.getOwnPropertySymbols(l);a<t.length;a++)e.indexOf(t[a])<0&&Object.prototype.propertyIsEnumerable.call(l,t[a])&&(n[t[a]]=l[t[a]]);return n};const defaultScale=1;function Page(l){const e=useDocumentContext(),n=Object.assign(Object.assign({},e),l),{_className:t="react-pdf__Page",_enableRegisterUnregisterPage:a=!0,canvasBackground:o,canvasRef:d,children:h,className:f,customRenderer:u,customTextRenderer:p,devicePixelRatio:x,error:R="Failed to load the page.",height:S,inputRef:E,loading:g="Loading page…",noData:v="No page specified.",onGetAnnotationsError:T,onGetAnnotationsSuccess:b,onGetStructTreeError:_,onGetStructTreeSuccess:w,onGetTextError:C,onGetTextSuccess:P,onLoadError:D,onLoadSuccess:N,onRenderAnnotationLayerError:k,onRenderAnnotationLayerSuccess:F,onRenderError:M,onRenderSuccess:U,onRenderTextLayerError:$,onRenderTextLayerSuccess:B,pageIndex:J,pageNumber:ne,pdf:ie,registerPage:Y,renderAnnotationLayer:q=!0,renderForms:re=!1,renderMode:ce="canvas",renderTextLayer:fe=!0,rotate:te,scale:H=defaultScale,unregisterPage:W,width:V}=n,z=__rest$1(n,["_className","_enableRegisterUnregisterPage","canvasBackground","canvasRef","children","className","customRenderer","customTextRenderer","devicePixelRatio","error","height","inputRef","loading","noData","onGetAnnotationsError","onGetAnnotationsSuccess","onGetStructTreeError","onGetStructTreeSuccess","onGetTextError","onGetTextSuccess","onLoadError","onLoadSuccess","onRenderAnnotationLayerError","onRenderAnnotationLayerSuccess","onRenderError","onRenderSuccess","onRenderTextLayerError","onRenderTextLayerSuccess","pageIndex","pageNumber","pdf","registerPage","renderAnnotationLayer","renderForms","renderMode","renderTextLayer","rotate","scale","unregisterPage","width"]),[Q,ee]=useResolver(),{value:le,error:ue}=Q,he=React$2.useRef(null);invariant(ie,"Attempted to load a page, but no document was specified. Wrap <Page /> in a <Document /> or pass explicit `pdf` prop.");const ve=isProvided(ne)?ne-1:J??null,be=ne??(isProvided(J)?J+1:null),Re=te??(le?le.rotate:null),Le=React$2.useMemo(()=>{if(!le)return null;let Qe=1;const Be=H??defaultScale;if(V||S){const Xe=le.getViewport({scale:1,rotation:Re});V?Qe=V/Xe.width:S&&(Qe=S/Xe.height)}return Be*Qe},[S,le,Re,H,V]);function Oe(){return()=>{isProvided(ve)&&a&&W&&W(ve)}}React$2.useEffect(Oe,[a,ie,ve,W]);function Ke(){if(N){if(!le||!Le)return;N(makePageCallback(le,Le))}if(a&&Y){if(!isProvided(ve)||!he.current)return;Y(ve,he.current)}}function St(){ue&&(warning$1(!1,ue.toString()),D&&D(ue))}function it(){ee({type:"RESET"})}React$2.useEffect(it,[ee,ie,ve]);function gt(){if(!ie||!be)return;const Qe=makeCancellablePromise(ie.getPage(be)),Be=Qe;return Qe.promise.then(Xe=>{ee({type:"RESOLVE",value:Xe})}).catch(Xe=>{ee({type:"REJECT",error:Xe})}),()=>cancelRunningTask(Be)}React$2.useEffect(gt,[ee,ie,ve,be,Y]),React$2.useEffect(()=>{if(le!==void 0){if(le===!1){St();return}Ke()}},[le,Le]);const Ge=React$2.useMemo(()=>le&&isProvided(ve)&&be&&isProvided(Re)&&isProvided(Le)?{_className:t,canvasBackground:o,customTextRenderer:p,devicePixelRatio:x,onGetAnnotationsError:T,onGetAnnotationsSuccess:b,onGetStructTreeError:_,onGetStructTreeSuccess:w,onGetTextError:C,onGetTextSuccess:P,onRenderAnnotationLayerError:k,onRenderAnnotationLayerSuccess:F,onRenderError:M,onRenderSuccess:U,onRenderTextLayerError:$,onRenderTextLayerSuccess:B,page:le,pageIndex:ve,pageNumber:be,renderForms:re,renderTextLayer:fe,rotate:Re,scale:Le}:null,[t,o,p,x,T,b,_,w,C,P,k,F,M,U,$,B,le,ve,be,re,fe,Re,Le]),Me=React$2.useMemo(()=>makeEventProps(z,()=>le&&(Le?makePageCallback(le,Le):void 0)),[z,le,Le]),De=`${ve}@${Le}/${Re}`,Ve=`${ve}/${Re}`;function ct(){switch(ce){case"custom":return invariant(u,'renderMode was set to "custom", but no customRenderer was passed.'),jsxRuntimeExports.jsx(u,{},`${De}_custom`);case"none":return null;case"svg":return jsxRuntimeExports.jsx(PageSVG,{},`${Ve}_svg`);case"canvas":default:return jsxRuntimeExports.jsx(PageCanvas,{canvasRef:d},`${De}_canvas`)}}function dt(){return fe?jsxRuntimeExports.jsx(TextLayer,{},`${De}_text`):null}function rt(){return q?jsxRuntimeExports.jsx(AnnotationLayer,{},`${De}_annotations`):null}function xt(){return jsxRuntimeExports.jsxs(PageContext.Provider,{value:Ge,children:[ct(),dt(),rt(),h]})}function Et(){return be?ie===null||le===void 0||le===null?jsxRuntimeExports.jsx(Message$1,{type:"loading",children:typeof g=="function"?g():g}):ie===!1||le===!1?jsxRuntimeExports.jsx(Message$1,{type:"error",children:typeof R=="function"?R():R}):xt():jsxRuntimeExports.jsx(Message$1,{type:"no-data",children:typeof v=="function"?v():v})}return jsxRuntimeExports.jsx("div",Object.assign({className:clsx(t,f),"data-page-number":be,ref:mergeRefs(E,he),style:{"--scale-factor":`${Le}`,backgroundColor:o||"white",position:"relative",minWidth:"min-content",minHeight:"min-content"}},Me,{children:Et()}))}displayWorkerWarning();pdfjs.GlobalWorkerOptions.workerSrc="pdf.worker.js";const DeviceDetection=()=>navigator.userAgent.match(/(android)/i)||["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document,BrowserDetection=()=>{const l=navigator.userAgent.toLowerCase(),e=l.indexOf("firefox")>-1,n=l.indexOf("safari")>-1&&l.indexOf("chrome")<=-1;let t="default";return e?t="firefox":n&&(t="safari"),t};pdfjs.GlobalWorkerOptions.workerSrc=`//unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.js`;const SCALE_LIMIT=2,maxValues={default:{area:268435456,sideBig:65535},firefox:{area:124992400,sideBig:32767},safari:{area:16777216,sideBig:4194303}},getMaxPermitted=()=>{const l=BrowserDetection();return maxValues[l]},formatScale=l=>l>1?Math.floor(l):Math.floor(l*100)/100,getMaxScaleByArea=(l,e,n)=>{const t=e*n*window.devicePixelRatio**2,a=Math.sqrt(l/t);return formatScale(a)},getMaxScaleBySide=(l,e,n)=>{const t=e>n?e:n,o=l/window.devicePixelRatio/t;return formatScale(o)};function PdfVisor({url:l,endPdf:e,emitNumberOfPages:n,translate:t,soundActions:a,keyboardControl:o}){const d=React$2.useRef(),[h,f]=React$2.useState(1),[u,p]=React$2.useState(!0),[x,R]=React$2.useState(),[S,E]=React$2.useState(1),[g]=a,v=React$2.useCallback(C=>{C.getPage(1).then(D=>{const N=D.getViewport(1),k=N.viewBox[2]-N.viewBox[0],F=N.viewBox[3]-N.viewBox[1],M=getMaxPermitted(),U=getMaxScaleByArea(M.area,k,F),$=getMaxScaleBySide(M.sideBig,k,F),B=U<$?U:$;E(B>SCALE_LIMIT?SCALE_LIMIT:B)}),f(C.numPages),C.numPages&&n({numPages:C.numPages,currentPage:x});const P=()=>(setTimeout(()=>{d.current&&d.current.scrollHeight<=d.current.offsetHeight&&p(!1)},1e3),()=>{P&&clearTimeout(P)});P()},[x,n]);React$2.useEffect(()=>{R(1)},[]);const T={file:l,loading:"Loading file...",onLoadSuccess:v,onLoadError:C=>console.error(C)},b=C=>{g("click-ui"),d.current.scrollTo(0,0),p(!1),R(x+C),n({numPages:h,currentPage:x+C}),x===h-1&&e()},_=o({rewind:h>1&&x!==1?()=>b(-1):null,forward:h>1&&x!==h?()=>b(1):null});React$2.useEffect(()=>_(),[_]);const w=()=>{p(!1)};return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsxs("div",{className:"pdf-box",dir:LangIsRtl()?"rtl":"auto",children:[jsxRuntimeExports.jsxs("div",{className:"pdf-box__scrollwrap",children:[jsxRuntimeExports.jsxs("div",{tabIndex:"0",onScroll:w,ref:d,className:`pdf-box__scroll ${u?"pdf-box__scroll--overlay":""}`,children:[jsxRuntimeExports.jsx(Document$2,{...T,children:jsxRuntimeExports.jsx(Page,{renderAnnotationLayer:!1,renderTextLayer:!1,scale:S,pageNumber:x})}),jsxRuntimeExports.jsx("div",{className:"pdf-box__mouse icon-scroll-down-black"})]}),h>1&&jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsx("div",{className:"pdf-box__paginator",children:jsxRuntimeExports.jsxs("span",{children:[t("storylines.misc.page")," ",x," ",t("storylines.misc.of")," ",h]})})})]}),h>1&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("button",{className:`pdf-box__arrow pdf-box__arrow--left gat--btn__round ${x===1?"pdf-box__arrow--hidden":""}`,type:"button",disabled:x===1,onClick:()=>b(-1),"aria-label":LangIsRtl()?t("storylines.misc.nextPage"):t("storylines.misc.previousPage"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-next":"icon-back"})}),jsxRuntimeExports.jsx("button",{className:`pdf-box__arrow pdf-box__arrow--right gat--btn__round ${x===h?"pdf-box__arrow--hidden":""}`,type:"button",disabled:x===h,onClick:()=>b(1),"aria-label":LangIsRtl()?t("storylines.misc.previousPage"):t("storylines.misc.nextPage"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-back":"icon-next"})})]})]})})}function PdfComponent({emitEvent:l,soundActions:e,keyboardControl:n,documentType:t,name:a,required:o,viewed:d,visible:h,documentId:f,documentId_labelId:u,...p}){const x=F=>l({type:"translate",payload:F}),[R]=e,S=p.document,{url:E}=S||"",[g,v]=React$2.useState(!1),T=React$2.useMemo(()=>({documentType:t,name:a,documentId:u,type:"pdf"}),[t,a,u]),b=React$2.useCallback(()=>{l({type:"finishMedia",payload:T})},[T,l]),[_,w]=React$2.useState(!1),[C,P]=React$2.useState(!1);React$2.useEffect(()=>{h||b(),o||v(!0)},[h,b,o]);const D=n({forward:_||!d&&C||C&&!o?b:null,escape:_||!d&&C||!o?b:null});if(React$2.useEffect(()=>D(),[D]),!h)return null;const N=()=>{v(!0)},k=F=>{F.numPages===F.currentPage?P(!0):P(!1),F.numPages===1&&w(!0)};return jsxRuntimeExports.jsxs("div",{className:`${d?"notes--results":""}`,children:[(_||!d&&g)&&jsxRuntimeExports.jsx("div",{className:"position--absolute top right z-index1",children:jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn__round gat--btn__close",onClick:()=>{b(),R("click-ui")},"aria-label":x("storylines.misc.closePiece"),children:jsxRuntimeExports.jsx("span",{className:"icon-close"})})}),E&&jsxRuntimeExports.jsx(PdfVisor,{soundActions:e,emitNumberOfPages:F=>k(F),url:E,endPdf:N,translate:x,keyboardControl:n})]})}function UrlComponent({emitEvent:l,name:e,name_labelId:n,link:t,link_labelId:a,text:o,text_labelId:d,textForLink:h,viewed:f,documentType:u,soundActions:p,keyboardControl:x,visible:R,allowContinue:S=!1}){const E=P=>l({type:"translate",payload:P}),g={documentType:u,name:n,text:d,link:a,type:"url"},[v]=p,T=()=>{v("click-ui"),l({type:"finishMedia",payload:g})},[b,_]=React$2.useState(!1),w=x({disabled:f,forward:T,escape:T});React$2.useEffect(()=>w(),[w]);const C=t.indexOf("http")!==0?`http://${t}`:t;return React$2.useEffect(()=>{R||T()}),R&&jsxRuntimeExports.jsx("div",{className:"popup--layer",children:jsxRuntimeExports.jsxs("div",{className:"popup popup--link",children:[!f&&b||S?jsxRuntimeExports.jsx("button",{className:"popup--close unset-button","data-testid":"close",type:"button","aria-label":E("storylines.misc.closePiece"),onClick:()=>T(),children:jsxRuntimeExports.jsx("span",{className:"icon-close"})}):null,jsxRuntimeExports.jsx("span",{className:"popup--link__title",children:e}),jsxRuntimeExports.jsx("span",{className:"popup--link__desc",children:o}),jsxRuntimeExports.jsx("a",{className:"popup--link__lineclamp popup--link__url",href:C,target:"_blank",role:"link",rel:"noopener noreferrer",onClick:()=>{v("click-ui"),_(!0)},children:h||t})]})})}var hls={exports:{}};(function(l,e){typeof window<"u"&&function(t,a){l.exports=a()}(commonjsGlobal,function(){return function(n){var t={};function a(o){if(t[o])return t[o].exports;var d=t[o]={i:o,l:!1,exports:{}};return n[o].call(d.exports,d,d.exports,a),d.l=!0,d.exports}return a.m=n,a.c=t,a.d=function(o,d,h){a.o(o,d)||Object.defineProperty(o,d,{enumerable:!0,get:h})},a.r=function(o){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},a.t=function(o,d){if(d&1&&(o=a(o)),d&8||d&4&&typeof o=="object"&&o&&o.__esModule)return o;var h=Object.create(null);if(a.r(h),Object.defineProperty(h,"default",{enumerable:!0,value:o}),d&2&&typeof o!="string")for(var f in o)a.d(h,f,(function(u){return o[u]}).bind(null,f));return h},a.n=function(o){var d=o&&o.__esModule?function(){return o.default}:function(){return o};return a.d(d,"a",d),d},a.o=function(o,d){return Object.prototype.hasOwnProperty.call(o,d)},a.p="/dist/",a(a.s="./src/hls.js")}({"./node_modules/eventemitter3/index.js":function(n,t,a){var o=Object.prototype.hasOwnProperty,d="~";function h(){}Object.create&&(h.prototype=Object.create(null),new h().__proto__||(d=!1));function f(R,S,E){this.fn=R,this.context=S,this.once=E||!1}function u(R,S,E,g,v){if(typeof E!="function")throw new TypeError("The listener must be a function");var T=new f(E,g||R,v),b=d?d+S:S;return R._events[b]?R._events[b].fn?R._events[b]=[R._events[b],T]:R._events[b].push(T):(R._events[b]=T,R._eventsCount++),R}function p(R,S){--R._eventsCount===0?R._events=new h:delete R._events[S]}function x(){this._events=new h,this._eventsCount=0}x.prototype.eventNames=function(){var S=[],E,g;if(this._eventsCount===0)return S;for(g in E=this._events)o.call(E,g)&&S.push(d?g.slice(1):g);return Object.getOwnPropertySymbols?S.concat(Object.getOwnPropertySymbols(E)):S},x.prototype.listeners=function(S){var E=d?d+S:S,g=this._events[E];if(!g)return[];if(g.fn)return[g.fn];for(var v=0,T=g.length,b=new Array(T);v<T;v++)b[v]=g[v].fn;return b},x.prototype.listenerCount=function(S){var E=d?d+S:S,g=this._events[E];return g?g.fn?1:g.length:0},x.prototype.emit=function(S,E,g,v,T,b){var _=d?d+S:S;if(!this._events[_])return!1;var w=this._events[_],C=arguments.length,P,D;if(w.fn){switch(w.once&&this.removeListener(S,w.fn,void 0,!0),C){case 1:return w.fn.call(w.context),!0;case 2:return w.fn.call(w.context,E),!0;case 3:return w.fn.call(w.context,E,g),!0;case 4:return w.fn.call(w.context,E,g,v),!0;case 5:return w.fn.call(w.context,E,g,v,T),!0;case 6:return w.fn.call(w.context,E,g,v,T,b),!0}for(D=1,P=new Array(C-1);D<C;D++)P[D-1]=arguments[D];w.fn.apply(w.context,P)}else{var N=w.length,k;for(D=0;D<N;D++)switch(w[D].once&&this.removeListener(S,w[D].fn,void 0,!0),C){case 1:w[D].fn.call(w[D].context);break;case 2:w[D].fn.call(w[D].context,E);break;case 3:w[D].fn.call(w[D].context,E,g);break;case 4:w[D].fn.call(w[D].context,E,g,v);break;default:if(!P)for(k=1,P=new Array(C-1);k<C;k++)P[k-1]=arguments[k];w[D].fn.apply(w[D].context,P)}}return!0},x.prototype.on=function(S,E,g){return u(this,S,E,g,!1)},x.prototype.once=function(S,E,g){return u(this,S,E,g,!0)},x.prototype.removeListener=function(S,E,g,v){var T=d?d+S:S;if(!this._events[T])return this;if(!E)return p(this,T),this;var b=this._events[T];if(b.fn)b.fn===E&&(!v||b.once)&&(!g||b.context===g)&&p(this,T);else{for(var _=0,w=[],C=b.length;_<C;_++)(b[_].fn!==E||v&&!b[_].once||g&&b[_].context!==g)&&w.push(b[_]);w.length?this._events[T]=w.length===1?w[0]:w:p(this,T)}return this},x.prototype.removeAllListeners=function(S){var E;return S?(E=d?d+S:S,this._events[E]&&p(this,E)):(this._events=new h,this._eventsCount=0),this},x.prototype.off=x.prototype.removeListener,x.prototype.addListener=x.prototype.on,x.prefixed=d,x.EventEmitter=x,n.exports=x},"./node_modules/node-libs-browser/node_modules/events/events.js":function(n,t){function a(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}n.exports=a,a.EventEmitter=a,a.prototype._events=void 0,a.prototype._maxListeners=void 0,a.defaultMaxListeners=10,a.prototype.setMaxListeners=function(u){if(!d(u)||u<0||isNaN(u))throw TypeError("n must be a positive number");return this._maxListeners=u,this},a.prototype.emit=function(u){var p,x,R,S,E,g;if(this._events||(this._events={}),u==="error"&&(!this._events.error||h(this._events.error)&&!this._events.error.length)){if(p=arguments[1],p instanceof Error)throw p;var v=new Error('Uncaught, unspecified "error" event. ('+p+")");throw v.context=p,v}if(x=this._events[u],f(x))return!1;if(o(x))switch(arguments.length){case 1:x.call(this);break;case 2:x.call(this,arguments[1]);break;case 3:x.call(this,arguments[1],arguments[2]);break;default:S=Array.prototype.slice.call(arguments,1),x.apply(this,S)}else if(h(x))for(S=Array.prototype.slice.call(arguments,1),g=x.slice(),R=g.length,E=0;E<R;E++)g[E].apply(this,S);return!0},a.prototype.addListener=function(u,p){var x;if(!o(p))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",u,o(p.listener)?p.listener:p),this._events[u]?h(this._events[u])?this._events[u].push(p):this._events[u]=[this._events[u],p]:this._events[u]=p,h(this._events[u])&&!this._events[u].warned&&(f(this._maxListeners)?x=a.defaultMaxListeners:x=this._maxListeners,x&&x>0&&this._events[u].length>x&&(this._events[u].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[u].length),typeof console.trace=="function"&&console.trace())),this},a.prototype.on=a.prototype.addListener,a.prototype.once=function(u,p){if(!o(p))throw TypeError("listener must be a function");var x=!1;function R(){this.removeListener(u,R),x||(x=!0,p.apply(this,arguments))}return R.listener=p,this.on(u,R),this},a.prototype.removeListener=function(u,p){var x,R,S,E;if(!o(p))throw TypeError("listener must be a function");if(!this._events||!this._events[u])return this;if(x=this._events[u],S=x.length,R=-1,x===p||o(x.listener)&&x.listener===p)delete this._events[u],this._events.removeListener&&this.emit("removeListener",u,p);else if(h(x)){for(E=S;E-- >0;)if(x[E]===p||x[E].listener&&x[E].listener===p){R=E;break}if(R<0)return this;x.length===1?(x.length=0,delete this._events[u]):x.splice(R,1),this._events.removeListener&&this.emit("removeListener",u,p)}return this},a.prototype.removeAllListeners=function(u){var p,x;if(!this._events)return this;if(!this._events.removeListener)return arguments.length===0?this._events={}:this._events[u]&&delete this._events[u],this;if(arguments.length===0){for(p in this._events)p!=="removeListener"&&this.removeAllListeners(p);return this.removeAllListeners("removeListener"),this._events={},this}if(x=this._events[u],o(x))this.removeListener(u,x);else if(x)for(;x.length;)this.removeListener(u,x[x.length-1]);return delete this._events[u],this},a.prototype.listeners=function(u){var p;return!this._events||!this._events[u]?p=[]:o(this._events[u])?p=[this._events[u]]:p=this._events[u].slice(),p},a.prototype.listenerCount=function(u){if(this._events){var p=this._events[u];if(o(p))return 1;if(p)return p.length}return 0},a.listenerCount=function(u,p){return u.listenerCount(p)};function o(u){return typeof u=="function"}function d(u){return typeof u=="number"}function h(u){return typeof u=="object"&&u!==null}function f(u){return u===void 0}},"./node_modules/url-toolkit/src/url-toolkit.js":function(n,t,a){(function(o){var d=/^((?:[a-zA-Z0-9+\-.]+:)?)(\/\/[^\/?#]*)?((?:[^\/\?#]*\/)*.*?)??(;.*?)?(\?.*?)?(#.*?)?$/,h=/^([^\/?#]*)(.*)$/,f=/(?:\/|^)\.(?=\/)/g,u=/(?:\/|^)\.\.\/(?!\.\.\/).*?(?=\/)/g,p={buildAbsoluteURL:function(x,R,S){if(S=S||{},x=x.trim(),R=R.trim(),!R){if(!S.alwaysNormalize)return x;var E=p.parseURL(x);if(!E)throw new Error("Error trying to parse base URL.");return E.path=p.normalizePath(E.path),p.buildURLFromParts(E)}var g=p.parseURL(R);if(!g)throw new Error("Error trying to parse relative URL.");if(g.scheme)return S.alwaysNormalize?(g.path=p.normalizePath(g.path),p.buildURLFromParts(g)):R;var v=p.parseURL(x);if(!v)throw new Error("Error trying to parse base URL.");if(!v.netLoc&&v.path&&v.path[0]!=="/"){var T=h.exec(v.path);v.netLoc=T[1],v.path=T[2]}v.netLoc&&!v.path&&(v.path="/");var b={scheme:v.scheme,netLoc:g.netLoc,path:null,params:g.params,query:g.query,fragment:g.fragment};if(!g.netLoc&&(b.netLoc=v.netLoc,g.path[0]!=="/"))if(!g.path)b.path=v.path,g.params||(b.params=v.params,g.query||(b.query=v.query));else{var _=v.path,w=_.substring(0,_.lastIndexOf("/")+1)+g.path;b.path=p.normalizePath(w)}return b.path===null&&(b.path=S.alwaysNormalize?p.normalizePath(g.path):g.path),p.buildURLFromParts(b)},parseURL:function(x){var R=d.exec(x);return R?{scheme:R[1]||"",netLoc:R[2]||"",path:R[3]||"",params:R[4]||"",query:R[5]||"",fragment:R[6]||""}:null},normalizePath:function(x){for(x=x.split("").reverse().join("").replace(f,"");x.length!==(x=x.replace(u,"")).length;);return x.split("").reverse().join("")},buildURLFromParts:function(x){return x.scheme+x.netLoc+x.path+x.params+x.query+x.fragment}};n.exports=p})()},"./node_modules/webworkify-webpack/index.js":function(n,t,a){function o(S){var E={};function g(T){if(E[T])return E[T].exports;var b=E[T]={i:T,l:!1,exports:{}};return S[T].call(b.exports,b,b.exports,g),b.l=!0,b.exports}g.m=S,g.c=E,g.i=function(T){return T},g.d=function(T,b,_){g.o(T,b)||Object.defineProperty(T,b,{configurable:!1,enumerable:!0,get:_})},g.r=function(T){Object.defineProperty(T,"__esModule",{value:!0})},g.n=function(T){var b=T&&T.__esModule?function(){return T.default}:function(){return T};return g.d(b,"a",b),b},g.o=function(T,b){return Object.prototype.hasOwnProperty.call(T,b)},g.p="/",g.oe=function(T){throw console.error(T),T};var v=g(g.s=ENTRY_MODULE);return v.default||v}var d="[\\.|\\-|\\+|\\w|/|@]+",h="\\((/\\*.*?\\*/)?s?.*?("+d+").*?\\)";function f(S){return(S+"").replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}function u(S){return!isNaN(1*S)}function p(S,E,g){var v={};v[g]=[];var T=E.toString(),b=T.match(/^function\s?\(\w+,\s*\w+,\s*(\w+)\)/);if(!b)return v;for(var _=b[1],w=new RegExp("(\\\\n|\\W)"+f(_)+h,"g"),C;C=w.exec(T);)C[3]!=="dll-reference"&&v[g].push(C[3]);for(w=new RegExp("\\("+f(_)+'\\("(dll-reference\\s('+d+'))"\\)\\)'+h,"g");C=w.exec(T);)S[C[2]]||(v[g].push(C[1]),S[C[2]]=a(C[1]).m),v[C[2]]=v[C[2]]||[],v[C[2]].push(C[4]);for(var P=Object.keys(v),D=0;D<P.length;D++)for(var N=0;N<v[P[D]].length;N++)u(v[P[D]][N])&&(v[P[D]][N]=1*v[P[D]][N]);return v}function x(S){var E=Object.keys(S);return E.reduce(function(g,v){return g||S[v].length>0},!1)}function R(S,E){for(var g={main:[E]},v={main:[]},T={main:{}};x(g);)for(var b=Object.keys(g),_=0;_<b.length;_++){var w=b[_],C=g[w],P=C.pop();if(T[w]=T[w]||{},!(T[w][P]||!S[w][P])){T[w][P]=!0,v[w]=v[w]||[],v[w].push(P);for(var D=p(S,S[w][P],w),N=Object.keys(D),k=0;k<N.length;k++)g[N[k]]=g[N[k]]||[],g[N[k]]=g[N[k]].concat(D[N[k]])}}return v}n.exports=function(S,E){E=E||{};var g={main:a.m},v=E.all?{main:Object.keys(g.main)}:R(g,S),T="";Object.keys(v).filter(function(P){return P!=="main"}).forEach(function(P){for(var D=0;v[P][D];)D++;v[P].push(D),g[P][D]="(function(module, exports, __webpack_require__) { module.exports = __webpack_require__; })",T=T+"var "+P+" = ("+o.toString().replace("ENTRY_MODULE",JSON.stringify(D))+")({"+v[P].map(function(N){return""+JSON.stringify(N)+": "+g[P][N].toString()}).join(",")+`});
34
+ `))||null;nt&&this.data.comb&&(nt=nt.replaceAll(/\s+/g,""));const ft={userValue:Se,formattedValue:nt,lastCommittedValue:null,commitKey:1,focused:!1};this.data.multiLine?(me=document.createElement("textarea"),me.textContent=nt??Se,this.data.doNotScroll&&(me.style.overflowY="hidden")):(me=document.createElement("input"),me.type="text",me.setAttribute("value",nt??Se),this.data.doNotScroll&&(me.style.overflowX="hidden")),this.data.hasOwnCanvas&&(me.hidden=!0),x.add(me),me.setAttribute("data-element-id",ae),me.disabled=this.data.readOnly,me.name=this.data.fieldName,me.tabIndex=u,this._setRequired(me,this.data.required),Ue&&(me.maxLength=Ue),me.addEventListener("input",pt=>{xe.setValue(ae,{value:pt.target.value}),this.setPropertyOnSiblings(me,"value",pt.target.value,"value"),ft.formattedValue=null}),me.addEventListener("resetform",pt=>{const ht=this.data.defaultFieldValue??"";me.value=ft.userValue=ht,ft.formattedValue=null});let Ct=pt=>{const{formattedValue:ht}=ft;ht!=null&&(pt.target.value=ht),pt.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){me.addEventListener("focus",ht=>{if(ft.focused)return;const{target:kt}=ht;ft.userValue&&(kt.value=ft.userValue),ft.lastCommittedValue=kt.value,ft.commitKey=1,ft.focused=!0}),me.addEventListener("updatefromsandbox",ht=>{this.showElementAndHideCanvas(ht.target);const kt={value(Mt){ft.userValue=Mt.detail.value??"",xe.setValue(ae,{value:ft.userValue.toString()}),Mt.target.value=ft.userValue},formattedValue(Mt){const{formattedValue:Ut}=Mt.detail;ft.formattedValue=Ut,Ut!=null&&Mt.target!==document.activeElement&&(Mt.target.value=Ut),xe.setValue(ae,{formattedValue:Ut})},selRange(Mt){Mt.target.setSelectionRange(...Mt.detail.selRange)},charLimit:Mt=>{var _n;const{charLimit:Ut}=Mt.detail,{target:Xt}=Mt;if(Ut===0){Xt.removeAttribute("maxLength");return}Xt.setAttribute("maxLength",Ut);let An=ft.userValue;!An||An.length<=Ut||(An=An.slice(0,Ut),Xt.value=ft.userValue=An,xe.setValue(ae,{value:An}),(_n=this.linkService.eventBus)==null||_n.dispatch("dispatcheventinsandbox",{source:this,detail:{id:ae,name:"Keystroke",value:An,willCommit:!0,commitKey:1,selStart:Xt.selectionStart,selEnd:Xt.selectionEnd}}))}};this._dispatchEventFromSandbox(kt,ht)}),me.addEventListener("keydown",ht=>{var Ut;ft.commitKey=1;let kt=-1;if(ht.key==="Escape"?kt=0:ht.key==="Enter"&&!this.data.multiLine?kt=2:ht.key==="Tab"&&(ft.commitKey=3),kt===-1)return;const{value:Mt}=ht.target;ft.lastCommittedValue!==Mt&&(ft.lastCommittedValue=Mt,ft.userValue=Mt,(Ut=this.linkService.eventBus)==null||Ut.dispatch("dispatcheventinsandbox",{source:this,detail:{id:ae,name:"Keystroke",value:Mt,willCommit:!0,commitKey:kt,selStart:ht.target.selectionStart,selEnd:ht.target.selectionEnd}}))});const pt=Ct;Ct=null,me.addEventListener("blur",ht=>{var Mt;if(!ft.focused||!ht.relatedTarget)return;ft.focused=!1;const{value:kt}=ht.target;ft.userValue=kt,ft.lastCommittedValue!==kt&&((Mt=this.linkService.eventBus)==null||Mt.dispatch("dispatcheventinsandbox",{source:this,detail:{id:ae,name:"Keystroke",value:kt,willCommit:!0,commitKey:ft.commitKey,selStart:ht.target.selectionStart,selEnd:ht.target.selectionEnd}})),pt(ht)}),(we=this.data.actions)!=null&&we.Keystroke&&me.addEventListener("beforeinput",ht=>{var mi;ft.lastCommittedValue=null;const{data:kt,target:Mt}=ht,{value:Ut,selectionStart:Xt,selectionEnd:An}=Mt;let _n=Xt,Bn=An;switch(ht.inputType){case"deleteWordBackward":{const Fr=Ut.substring(0,Xt).match(/\w*[^\w]*$/);Fr&&(_n-=Fr[0].length);break}case"deleteWordForward":{const Fr=Ut.substring(Xt).match(/^[^\w]*\w*/);Fr&&(Bn+=Fr[0].length);break}case"deleteContentBackward":Xt===An&&(_n-=1);break;case"deleteContentForward":Xt===An&&(Bn+=1);break}ht.preventDefault(),(mi=this.linkService.eventBus)==null||mi.dispatch("dispatcheventinsandbox",{source:this,detail:{id:ae,name:"Keystroke",value:Ut,change:kt||"",willCommit:!1,selStart:_n,selEnd:Bn}})}),this._setEventListeners(me,ft,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],ht=>ht.target.value)}if(Ct&&me.addEventListener("blur",Ct),this.data.comb){const ht=(this.data.rect[2]-this.data.rect[0])/Ue;me.classList.add("comb"),me.style.letterSpacing=`calc(${ht}px * var(--scale-factor) - 1ch)`}}else me=document.createElement("div"),me.textContent=this.data.fieldValue,me.style.verticalAlign="middle",me.style.display="table-cell";return this._setTextStyle(me),this._setBackgroundColor(me),this._setDefaultPropertiesFromJS(me),this.container.append(me),this.container}}class _ extends T{constructor(xe){super(xe,{isRenderable:!!xe.data.hasOwnCanvas})}}class w extends T{constructor(xe){super(xe,{isRenderable:xe.renderForms})}render(){const xe=this.annotationStorage,ae=this.data,me=ae.id;let Ee=xe.getValue(me,{value:ae.exportValue===ae.fieldValue}).value;typeof Ee=="string"&&(Ee=Ee!=="Off",xe.setValue(me,{value:Ee})),this.container.classList.add("buttonWidgetAnnotation","checkBox");const we=document.createElement("input");return x.add(we),we.setAttribute("data-element-id",me),we.disabled=ae.readOnly,this._setRequired(we,this.data.required),we.type="checkbox",we.name=ae.fieldName,Ee&&we.setAttribute("checked",!0),we.setAttribute("exportValue",ae.exportValue),we.tabIndex=u,we.addEventListener("change",de=>{const{name:Se,checked:Ue}=de.target;for(const nt of this._getElementsByName(Se,me)){const ft=Ue&&nt.exportValue===ae.exportValue;nt.domElement&&(nt.domElement.checked=ft),xe.setValue(nt.id,{value:ft})}xe.setValue(me,{value:Ue})}),we.addEventListener("resetform",de=>{const Se=ae.defaultFieldValue||"Off";de.target.checked=Se===ae.exportValue}),this.enableScripting&&this.hasJSActions&&(we.addEventListener("updatefromsandbox",de=>{const Se={value(Ue){Ue.target.checked=Ue.detail.value!=="Off",xe.setValue(me,{value:Ue.target.checked})}};this._dispatchEventFromSandbox(Se,de)}),this._setEventListeners(we,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],de=>de.target.checked)),this._setBackgroundColor(we),this._setDefaultPropertiesFromJS(we),this.container.append(we),this.container}}class C extends T{constructor(xe){super(xe,{isRenderable:xe.renderForms})}render(){this.container.classList.add("buttonWidgetAnnotation","radioButton");const xe=this.annotationStorage,ae=this.data,me=ae.id;let Ee=xe.getValue(me,{value:ae.fieldValue===ae.buttonValue}).value;typeof Ee=="string"&&(Ee=Ee!==ae.buttonValue,xe.setValue(me,{value:Ee}));const we=document.createElement("input");if(x.add(we),we.setAttribute("data-element-id",me),we.disabled=ae.readOnly,this._setRequired(we,this.data.required),we.type="radio",we.name=ae.fieldName,Ee&&we.setAttribute("checked",!0),we.tabIndex=u,we.addEventListener("change",de=>{const{name:Se,checked:Ue}=de.target;for(const nt of this._getElementsByName(Se,me))xe.setValue(nt.id,{value:!1});xe.setValue(me,{value:Ue})}),we.addEventListener("resetform",de=>{const Se=ae.defaultFieldValue;de.target.checked=Se!=null&&Se===ae.buttonValue}),this.enableScripting&&this.hasJSActions){const de=ae.buttonValue;we.addEventListener("updatefromsandbox",Se=>{const Ue={value:nt=>{const ft=de===nt.detail.value;for(const Ct of this._getElementsByName(nt.target.name)){const pt=ft&&Ct.id===me;Ct.domElement&&(Ct.domElement.checked=pt),xe.setValue(Ct.id,{value:pt})}}};this._dispatchEventFromSandbox(Ue,Se)}),this._setEventListeners(we,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],Se=>Se.target.checked)}return this._setBackgroundColor(we),this._setDefaultPropertiesFromJS(we),this.container.append(we),this.container}}class P extends g{constructor(xe){super(xe,{ignoreBorder:xe.data.hasAppearance})}render(){const xe=super.render();xe.classList.add("buttonWidgetAnnotation","pushButton"),this.data.alternativeText&&(xe.title=this.data.alternativeText);const ae=xe.lastChild;return this.enableScripting&&this.hasJSActions&&ae&&(this._setDefaultPropertiesFromJS(ae),ae.addEventListener("updatefromsandbox",me=>{this._dispatchEventFromSandbox({},me)})),xe}}class D extends T{constructor(xe){super(xe,{isRenderable:xe.renderForms})}render(){this.container.classList.add("choiceWidgetAnnotation");const xe=this.annotationStorage,ae=this.data.id,me=xe.getValue(ae,{value:this.data.fieldValue}),Ee=document.createElement("select");x.add(Ee),Ee.setAttribute("data-element-id",ae),Ee.disabled=this.data.readOnly,this._setRequired(Ee,this.data.required),Ee.name=this.data.fieldName,Ee.tabIndex=u;let we=this.data.combo&&this.data.options.length>0;this.data.combo||(Ee.size=this.data.options.length,this.data.multiSelect&&(Ee.multiple=!0)),Ee.addEventListener("resetform",ft=>{const Ct=this.data.defaultFieldValue;for(const pt of Ee.options)pt.selected=pt.value===Ct});for(const ft of this.data.options){const Ct=document.createElement("option");Ct.textContent=ft.displayValue,Ct.value=ft.exportValue,me.value.includes(ft.exportValue)&&(Ct.setAttribute("selected",!0),we=!1),Ee.append(Ct)}let de=null;if(we){const ft=document.createElement("option");ft.value=" ",ft.setAttribute("hidden",!0),ft.setAttribute("selected",!0),Ee.prepend(ft),de=()=>{ft.remove(),Ee.removeEventListener("input",de),de=null},Ee.addEventListener("input",de)}const Se=ft=>{const Ct=ft?"value":"textContent",{options:pt,multiple:ht}=Ee;return ht?Array.prototype.filter.call(pt,kt=>kt.selected).map(kt=>kt[Ct]):pt.selectedIndex===-1?null:pt[pt.selectedIndex][Ct]};let Ue=Se(!1);const nt=ft=>{const Ct=ft.target.options;return Array.prototype.map.call(Ct,pt=>({displayValue:pt.textContent,exportValue:pt.value}))};return this.enableScripting&&this.hasJSActions?(Ee.addEventListener("updatefromsandbox",ft=>{const Ct={value(pt){de==null||de();const ht=pt.detail.value,kt=new Set(Array.isArray(ht)?ht:[ht]);for(const Mt of Ee.options)Mt.selected=kt.has(Mt.value);xe.setValue(ae,{value:Se(!0)}),Ue=Se(!1)},multipleSelection(pt){Ee.multiple=!0},remove(pt){const ht=Ee.options,kt=pt.detail.remove;ht[kt].selected=!1,Ee.remove(kt),ht.length>0&&Array.prototype.findIndex.call(ht,Ut=>Ut.selected)===-1&&(ht[0].selected=!0),xe.setValue(ae,{value:Se(!0),items:nt(pt)}),Ue=Se(!1)},clear(pt){for(;Ee.length!==0;)Ee.remove(0);xe.setValue(ae,{value:null,items:[]}),Ue=Se(!1)},insert(pt){const{index:ht,displayValue:kt,exportValue:Mt}=pt.detail.insert,Ut=Ee.children[ht],Xt=document.createElement("option");Xt.textContent=kt,Xt.value=Mt,Ut?Ut.before(Xt):Ee.append(Xt),xe.setValue(ae,{value:Se(!0),items:nt(pt)}),Ue=Se(!1)},items(pt){const{items:ht}=pt.detail;for(;Ee.length!==0;)Ee.remove(0);for(const kt of ht){const{displayValue:Mt,exportValue:Ut}=kt,Xt=document.createElement("option");Xt.textContent=Mt,Xt.value=Ut,Ee.append(Xt)}Ee.options.length>0&&(Ee.options[0].selected=!0),xe.setValue(ae,{value:Se(!0),items:nt(pt)}),Ue=Se(!1)},indices(pt){const ht=new Set(pt.detail.indices);for(const kt of pt.target.options)kt.selected=ht.has(kt.index);xe.setValue(ae,{value:Se(!0)}),Ue=Se(!1)},editable(pt){pt.target.disabled=!pt.detail.editable}};this._dispatchEventFromSandbox(Ct,ft)}),Ee.addEventListener("input",ft=>{var pt;const Ct=Se(!0);xe.setValue(ae,{value:Ct}),ft.preventDefault(),(pt=this.linkService.eventBus)==null||pt.dispatch("dispatcheventinsandbox",{source:this,detail:{id:ae,name:"Keystroke",value:Ue,changeEx:Ct,willCommit:!1,commitKey:1,keyDown:!1}})}),this._setEventListeners(Ee,null,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"],["input","Validate"]],ft=>ft.target.value)):Ee.addEventListener("input",function(ft){xe.setValue(ae,{value:Se(!0)})}),this.data.combo&&this._setTextStyle(Ee),this._setBackgroundColor(Ee),this._setDefaultPropertiesFromJS(Ee),this.container.append(Ee),this.container}}class N extends E{constructor(xe){const{data:ae,elements:me}=xe;super(xe,{isRenderable:E._hasPopupData(ae)}),this.elements=me}render(){this.container.classList.add("popupAnnotation");const xe=new k({container:this.container,color:this.data.color,titleObj:this.data.titleObj,modificationDate:this.data.modificationDate,contentsObj:this.data.contentsObj,richText:this.data.richText,rect:this.data.rect,parentRect:this.data.parentRect||null,parent:this.parent,elements:this.elements,open:this.data.open}),ae=[];for(const me of this.elements)me.popup=xe,ae.push(me.data.id),me.addHighlightArea();return this.container.setAttribute("aria-controls",ae.map(me=>`${t.AnnotationPrefix}${me}`).join(",")),this.container}}class k{constructor({container:xe,color:ae,elements:me,titleObj:Ee,modificationDate:we,contentsObj:de,richText:Se,parent:Ue,rect:nt,parentRect:ft,open:Ct}){Te(this,rt);Te(this,Et);Te(this,Be);Te(this,Ye);Te(this,ue,null);Te(this,he,je(this,rt,ly).bind(this));Te(this,ve,je(this,Ye,qm).bind(this));Te(this,be,je(this,Be,Ym).bind(this));Te(this,Re,je(this,Et,Wf).bind(this));Te(this,Le,null);Te(this,Oe,null);Te(this,Ke,null);Te(this,St,null);Te(this,it,null);Te(this,gt,null);Te(this,Ge,!1);Te(this,Me,null);Te(this,De,null);Te(this,Ve,null);Te(this,ct,null);Te(this,dt,!1);var ht;We(this,Oe,xe),We(this,ct,Ee),We(this,Ke,de),We(this,Ve,Se),We(this,it,Ue),We(this,Le,ae),We(this,De,nt),We(this,gt,ft),We(this,St,me);const pt=a.PDFDateString.toDateObject(we);pt&&We(this,ue,Ue.l10n.get("annotation_date_string",{date:pt.toLocaleDateString(),time:pt.toLocaleTimeString()})),this.trigger=me.flatMap(kt=>kt.getElementsToTriggerPopup());for(const kt of this.trigger)kt.addEventListener("click",Z(this,Re)),kt.addEventListener("mouseenter",Z(this,be)),kt.addEventListener("mouseleave",Z(this,ve)),kt.classList.add("popupTriggerArea");for(const kt of me)(ht=kt.container)==null||ht.addEventListener("keydown",Z(this,he));Z(this,Oe).hidden=!0,Ct&&je(this,Et,Wf).call(this)}render(){if(Z(this,Me))return;const{page:{view:xe},viewport:{rawDims:{pageWidth:ae,pageHeight:me,pageX:Ee,pageY:we}}}=Z(this,it),de=We(this,Me,document.createElement("div"));if(de.className="popup",Z(this,Le)){const _n=de.style.outlineColor=t.Util.makeHexColor(...Z(this,Le));CSS.supports("background-color","color-mix(in srgb, red 30%, white)")?de.style.backgroundColor=`color-mix(in srgb, ${_n} 30%, white)`:de.style.backgroundColor=t.Util.makeHexColor(...Z(this,Le).map(mi=>Math.floor(.7*(255-mi)+mi)))}const Se=document.createElement("span");Se.className="header";const Ue=document.createElement("h1");if(Se.append(Ue),{dir:Ue.dir,str:Ue.textContent}=Z(this,ct),de.append(Se),Z(this,ue)){const _n=document.createElement("span");_n.classList.add("popupDate"),Z(this,ue).then(Bn=>{_n.textContent=Bn}),Se.append(_n)}const nt=Z(this,Ke),ft=Z(this,Ve);if(ft!=null&&ft.str&&(!(nt!=null&&nt.str)||nt.str===ft.str))f.XfaLayer.render({xfaHtml:ft.html,intent:"richText",div:de}),de.lastChild.classList.add("richText","popupContent");else{const _n=this._formatContents(nt);de.append(_n)}let Ct=!!Z(this,gt),pt=Ct?Z(this,gt):Z(this,De);for(const _n of Z(this,St))if(!pt||t.Util.intersect(_n.data.rect,pt)!==null){pt=_n.data.rect,Ct=!0;break}const ht=t.Util.normalizeRect([pt[0],xe[3]-pt[1]+xe[1],pt[2],xe[3]-pt[3]+xe[1]]),Mt=Ct?pt[2]-pt[0]+5:0,Ut=ht[0]+Mt,Xt=ht[1],{style:An}=Z(this,Oe);An.left=`${100*(Ut-Ee)/ae}%`,An.top=`${100*(Xt-we)/me}%`,Z(this,Oe).append(de)}_formatContents({str:xe,dir:ae}){const me=document.createElement("p");me.classList.add("popupContent"),me.dir=ae;const Ee=xe.split(/(?:\r\n?|\n)/);for(let we=0,de=Ee.length;we<de;++we){const Se=Ee[we];me.append(document.createTextNode(Se)),we<de-1&&me.append(document.createElement("br"))}return me}forceHide(){We(this,dt,this.isVisible),Z(this,dt)&&(Z(this,Oe).hidden=!0)}maybeShow(){Z(this,dt)&&(We(this,dt,!1),Z(this,Oe).hidden=!1)}get isVisible(){return Z(this,Oe).hidden===!1}}ue=new WeakMap,he=new WeakMap,ve=new WeakMap,be=new WeakMap,Re=new WeakMap,Le=new WeakMap,Oe=new WeakMap,Ke=new WeakMap,St=new WeakMap,it=new WeakMap,gt=new WeakMap,Ge=new WeakMap,Me=new WeakMap,De=new WeakMap,Ve=new WeakMap,ct=new WeakMap,dt=new WeakMap,rt=new WeakSet,ly=function(xe){xe.altKey||xe.shiftKey||xe.ctrlKey||xe.metaKey||(xe.key==="Enter"||xe.key==="Escape"&&Z(this,Ge))&&je(this,Et,Wf).call(this)},Et=new WeakSet,Wf=function(){We(this,Ge,!Z(this,Ge)),Z(this,Ge)?(je(this,Be,Ym).call(this),Z(this,Oe).addEventListener("click",Z(this,Re)),Z(this,Oe).addEventListener("keydown",Z(this,he))):(je(this,Ye,qm).call(this),Z(this,Oe).removeEventListener("click",Z(this,Re)),Z(this,Oe).removeEventListener("keydown",Z(this,he)))},Be=new WeakSet,Ym=function(){Z(this,Me)||this.render(),this.isVisible?Z(this,Ge)&&Z(this,Oe).classList.add("focused"):(Z(this,Oe).hidden=!1,Z(this,Oe).style.zIndex=parseInt(Z(this,Oe).style.zIndex)+1e3)},Ye=new WeakSet,qm=function(){Z(this,Oe).classList.remove("focused"),!(Z(this,Ge)||!this.isVisible)&&(Z(this,Oe).hidden=!0,Z(this,Oe).style.zIndex=parseInt(Z(this,Oe).style.zIndex)-1e3)};class F extends E{constructor(xe){super(xe,{isRenderable:!0,ignoreBorder:!0}),this.textContent=xe.data.textContent,this.textPosition=xe.data.textPosition,this.annotationEditorType=t.AnnotationEditorType.FREETEXT}render(){if(this.container.classList.add("freeTextAnnotation"),this.textContent){const xe=document.createElement("div");xe.classList.add("annotationTextContent"),xe.setAttribute("role","comment");for(const ae of this.textContent){const me=document.createElement("span");me.textContent=ae,xe.append(me)}this.container.append(xe)}return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this._editOnDoubleClick(),this.container}}e.FreeTextAnnotationElement=F;class M extends E{constructor(ae){super(ae,{isRenderable:!0,ignoreBorder:!0});Te(this,Ae,null)}render(){this.container.classList.add("lineAnnotation");const ae=this.data,{width:me,height:Ee}=R(ae.rect),we=this.svgFactory.create(me,Ee,!0),de=We(this,Ae,this.svgFactory.createElement("svg:line"));return de.setAttribute("x1",ae.rect[2]-ae.lineCoordinates[0]),de.setAttribute("y1",ae.rect[3]-ae.lineCoordinates[1]),de.setAttribute("x2",ae.rect[2]-ae.lineCoordinates[2]),de.setAttribute("y2",ae.rect[3]-ae.lineCoordinates[3]),de.setAttribute("stroke-width",ae.borderStyle.width||1),de.setAttribute("stroke","transparent"),de.setAttribute("fill","transparent"),we.append(de),this.container.append(we),!ae.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return Z(this,Ae)}addHighlightArea(){this.container.classList.add("highlightArea")}}Ae=new WeakMap;class U extends E{constructor(ae){super(ae,{isRenderable:!0,ignoreBorder:!0});Te(this,_e,null)}render(){this.container.classList.add("squareAnnotation");const ae=this.data,{width:me,height:Ee}=R(ae.rect),we=this.svgFactory.create(me,Ee,!0),de=ae.borderStyle.width,Se=We(this,_e,this.svgFactory.createElement("svg:rect"));return Se.setAttribute("x",de/2),Se.setAttribute("y",de/2),Se.setAttribute("width",me-de),Se.setAttribute("height",Ee-de),Se.setAttribute("stroke-width",de||1),Se.setAttribute("stroke","transparent"),Se.setAttribute("fill","transparent"),we.append(Se),this.container.append(we),!ae.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return Z(this,_e)}addHighlightArea(){this.container.classList.add("highlightArea")}}_e=new WeakMap;class $ extends E{constructor(ae){super(ae,{isRenderable:!0,ignoreBorder:!0});Te(this,Ie,null)}render(){this.container.classList.add("circleAnnotation");const ae=this.data,{width:me,height:Ee}=R(ae.rect),we=this.svgFactory.create(me,Ee,!0),de=ae.borderStyle.width,Se=We(this,Ie,this.svgFactory.createElement("svg:ellipse"));return Se.setAttribute("cx",me/2),Se.setAttribute("cy",Ee/2),Se.setAttribute("rx",me/2-de/2),Se.setAttribute("ry",Ee/2-de/2),Se.setAttribute("stroke-width",de||1),Se.setAttribute("stroke","transparent"),Se.setAttribute("fill","transparent"),we.append(Se),this.container.append(we),!ae.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return Z(this,Ie)}addHighlightArea(){this.container.classList.add("highlightArea")}}Ie=new WeakMap;class B extends E{constructor(ae){super(ae,{isRenderable:!0,ignoreBorder:!0});Te(this,tt,null);this.containerClassName="polylineAnnotation",this.svgElementName="svg:polyline"}render(){this.container.classList.add(this.containerClassName);const ae=this.data,{width:me,height:Ee}=R(ae.rect),we=this.svgFactory.create(me,Ee,!0);let de=[];for(const Ue of ae.vertices){const nt=Ue.x-ae.rect[0],ft=ae.rect[3]-Ue.y;de.push(nt+","+ft)}de=de.join(" ");const Se=We(this,tt,this.svgFactory.createElement(this.svgElementName));return Se.setAttribute("points",de),Se.setAttribute("stroke-width",ae.borderStyle.width||1),Se.setAttribute("stroke","transparent"),Se.setAttribute("fill","transparent"),we.append(Se),this.container.append(we),!ae.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return Z(this,tt)}addHighlightArea(){this.container.classList.add("highlightArea")}}tt=new WeakMap;class J extends B{constructor(xe){super(xe),this.containerClassName="polygonAnnotation",this.svgElementName="svg:polygon"}}class ne extends E{constructor(xe){super(xe,{isRenderable:!0,ignoreBorder:!0})}render(){return this.container.classList.add("caretAnnotation"),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container}}class ie extends E{constructor(ae){super(ae,{isRenderable:!0,ignoreBorder:!0});Te(this,Gt,[]);this.containerClassName="inkAnnotation",this.svgElementName="svg:polyline",this.annotationEditorType=t.AnnotationEditorType.INK}render(){this.container.classList.add(this.containerClassName);const ae=this.data,{width:me,height:Ee}=R(ae.rect),we=this.svgFactory.create(me,Ee,!0);for(const de of ae.inkLists){let Se=[];for(const nt of de){const ft=nt.x-ae.rect[0],Ct=ae.rect[3]-nt.y;Se.push(`${ft},${Ct}`)}Se=Se.join(" ");const Ue=this.svgFactory.createElement(this.svgElementName);Z(this,Gt).push(Ue),Ue.setAttribute("points",Se),Ue.setAttribute("stroke-width",ae.borderStyle.width||1),Ue.setAttribute("stroke","transparent"),Ue.setAttribute("fill","transparent"),!ae.popupRef&&this.hasPopupData&&this._createPopup(),we.append(Ue)}return this.container.append(we),this.container}getElementsToTriggerPopup(){return Z(this,Gt)}addHighlightArea(){this.container.classList.add("highlightArea")}}Gt=new WeakMap,e.InkAnnotationElement=ie;class Y extends E{constructor(xe){super(xe,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.classList.add("highlightAnnotation"),this.container}}class q extends E{constructor(xe){super(xe,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.classList.add("underlineAnnotation"),this.container}}class re extends E{constructor(xe){super(xe,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.classList.add("squigglyAnnotation"),this.container}}class ce extends E{constructor(xe){super(xe,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.classList.add("strikeoutAnnotation"),this.container}}class fe extends E{constructor(xe){super(xe,{isRenderable:!0,ignoreBorder:!0})}render(){return this.container.classList.add("stampAnnotation"),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container}}e.StampAnnotationElement=fe;class te extends E{constructor(ae){var we;super(ae,{isRenderable:!0});Te(this,ke);Te(this,Dt,null);const{filename:me,content:Ee}=this.data.file;this.filename=(0,a.getFilenameFromUrl)(me,!0),this.content=Ee,(we=this.linkService.eventBus)==null||we.dispatch("fileattachmentannotation",{source:this,filename:me,content:Ee})}render(){this.container.classList.add("fileAttachmentAnnotation");const{container:ae,data:me}=this;let Ee;me.hasAppearance||me.fillAlpha===0?Ee=document.createElement("div"):(Ee=document.createElement("img"),Ee.src=`${this.imageResourcesPath}annotation-${/paperclip/i.test(me.name)?"paperclip":"pushpin"}.svg`,me.fillAlpha&&me.fillAlpha<1&&(Ee.style=`filter: opacity(${Math.round(me.fillAlpha*100)}%);`)),Ee.addEventListener("dblclick",je(this,ke,Qm).bind(this)),We(this,Dt,Ee);const{isMac:we}=t.FeatureTest.platform;return ae.addEventListener("keydown",de=>{de.key==="Enter"&&(we?de.metaKey:de.ctrlKey)&&je(this,ke,Qm).call(this)}),!me.popupRef&&this.hasPopupData?this._createPopup():Ee.classList.add("popupTriggerArea"),ae.append(Ee),ae}getElementsToTriggerPopup(){return Z(this,Dt)}addHighlightArea(){this.container.classList.add("highlightArea")}}Dt=new WeakMap,ke=new WeakSet,Qm=function(){var ae;(ae=this.downloadManager)==null||ae.openOrDownloadData(this.container,this.content,this.filename)};class H{constructor({div:xe,accessibilityManager:ae,annotationCanvasMap:me,l10n:Ee,page:we,viewport:de}){Te(this,ot);Te(this,$e);Te(this,Pt,null);Te(this,Ne,null);Te(this,Je,new Map);this.div=xe,We(this,Pt,ae),We(this,Ne,me),this.l10n=Ee,this.page=we,this.viewport=de,this.zIndex=0,this.l10n||(this.l10n=h.NullL10n)}async render(xe){const{annotations:ae}=xe,me=this.div;(0,a.setLayerDimensions)(me,this.viewport);const Ee=new Map,we={data:null,layer:me,linkService:xe.linkService,downloadManager:xe.downloadManager,imageResourcesPath:xe.imageResourcesPath||"",renderForms:xe.renderForms!==!1,svgFactory:new a.DOMSVGFactory,annotationStorage:xe.annotationStorage||new o.AnnotationStorage,enableScripting:xe.enableScripting===!0,hasJSActions:xe.hasJSActions,fieldObjects:xe.fieldObjects,parent:this,elements:null};for(const de of ae){if(de.noHTML)continue;const Se=de.annotationType===t.AnnotationType.POPUP;if(Se){const ft=Ee.get(de.id);if(!ft)continue;we.elements=ft}else{const{width:ft,height:Ct}=R(de.rect);if(ft<=0||Ct<=0)continue}we.data=de;const Ue=S.create(we);if(!Ue.isRenderable)continue;if(!Se&&de.popupRef){const ft=Ee.get(de.popupRef);ft?ft.push(Ue):Ee.set(de.popupRef,[Ue])}Ue.annotationEditorType>0&&Z(this,Je).set(Ue.data.id,Ue);const nt=Ue.render();de.hidden&&(nt.style.visibility="hidden"),je(this,ot,uy).call(this,nt,de.id)}je(this,$e,Jm).call(this),await this.l10n.translate(me)}update({viewport:xe}){const ae=this.div;this.viewport=xe,(0,a.setLayerDimensions)(ae,{rotation:xe.rotation}),je(this,$e,Jm).call(this),ae.hidden=!1}getEditableAnnotations(){return Array.from(Z(this,Je).values())}getEditableAnnotation(xe){return Z(this,Je).get(xe)}}Pt=new WeakMap,Ne=new WeakMap,Je=new WeakMap,ot=new WeakSet,uy=function(xe,ae){var Ee;const me=xe.firstChild||xe;me.id=`${t.AnnotationPrefix}${ae}`,this.div.append(xe),(Ee=Z(this,Pt))==null||Ee.moveElementInDOM(this.div,xe,me,!1)},$e=new WeakSet,Jm=function(){if(!Z(this,Ne))return;const xe=this.div;for(const[ae,me]of Z(this,Ne)){const Ee=xe.querySelector(`[data-annotation-id="${ae}"]`);if(!Ee)continue;const{firstChild:we}=Ee;we?we.nodeName==="CANVAS"?we.replaceWith(me):we.before(me):Ee.append(me)}Z(this,Ne).clear()},e.AnnotationLayer=H},(l,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ColorConverters=void 0;function n(o){return Math.floor(Math.max(0,Math.min(1,o))*255).toString(16).padStart(2,"0")}function t(o){return Math.max(0,Math.min(255,255*o))}class a{static CMYK_G([d,h,f,u]){return["G",1-Math.min(1,.3*d+.59*f+.11*h+u)]}static G_CMYK([d]){return["CMYK",0,0,0,1-d]}static G_RGB([d]){return["RGB",d,d,d]}static G_rgb([d]){return d=t(d),[d,d,d]}static G_HTML([d]){const h=n(d);return`#${h}${h}${h}`}static RGB_G([d,h,f]){return["G",.3*d+.59*h+.11*f]}static RGB_rgb(d){return d.map(t)}static RGB_HTML(d){return`#${d.map(n).join("")}`}static T_HTML(){return"#00000000"}static T_rgb(){return[null]}static CMYK_RGB([d,h,f,u]){return["RGB",1-Math.min(1,d+u),1-Math.min(1,f+u),1-Math.min(1,h+u)]}static CMYK_rgb([d,h,f,u]){return[t(1-Math.min(1,d+u)),t(1-Math.min(1,f+u)),t(1-Math.min(1,h+u))]}static CMYK_HTML(d){const h=this.CMYK_RGB(d).slice(1);return this.RGB_HTML(h)}static RGB_CMYK([d,h,f]){const u=1-d,p=1-h,x=1-f,R=Math.min(u,p,x);return["CMYK",u,p,x,R]}}e.ColorConverters=a},(l,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.NullL10n=void 0,e.getL10nFallback=t;const n={of_pages:"of {{pagesCount}}",page_of_pages:"({{pageNumber}} of {{pagesCount}})",document_properties_kb:"{{size_kb}} KB ({{size_b}} bytes)",document_properties_mb:"{{size_mb}} MB ({{size_b}} bytes)",document_properties_date_string:"{{date}}, {{time}}",document_properties_page_size_unit_inches:"in",document_properties_page_size_unit_millimeters:"mm",document_properties_page_size_orientation_portrait:"portrait",document_properties_page_size_orientation_landscape:"landscape",document_properties_page_size_name_a3:"A3",document_properties_page_size_name_a4:"A4",document_properties_page_size_name_letter:"Letter",document_properties_page_size_name_legal:"Legal",document_properties_page_size_dimension_string:"{{width}} × {{height}} {{unit}} ({{orientation}})",document_properties_page_size_dimension_name_string:"{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})",document_properties_linearized_yes:"Yes",document_properties_linearized_no:"No",additional_layers:"Additional Layers",page_landmark:"Page {{page}}",thumb_page_title:"Page {{page}}",thumb_page_canvas:"Thumbnail of Page {{page}}",find_reached_top:"Reached top of document, continued from bottom",find_reached_bottom:"Reached end of document, continued from top","find_match_count[one]":"{{current}} of {{total}} match","find_match_count[other]":"{{current}} of {{total}} matches","find_match_count_limit[one]":"More than {{limit}} match","find_match_count_limit[other]":"More than {{limit}} matches",find_not_found:"Phrase not found",page_scale_width:"Page Width",page_scale_fit:"Page Fit",page_scale_auto:"Automatic Zoom",page_scale_actual:"Actual Size",page_scale_percent:"{{scale}}%",loading_error:"An error occurred while loading the PDF.",invalid_file_error:"Invalid or corrupted PDF file.",missing_file_error:"Missing PDF file.",unexpected_response_error:"Unexpected server response.",rendering_error:"An error occurred while rendering the page.",annotation_date_string:"{{date}}, {{time}}",printing_not_supported:"Warning: Printing is not fully supported by this browser.",printing_not_ready:"Warning: The PDF is not fully loaded for printing.",web_fonts_disabled:"Web fonts are disabled: unable to use embedded PDF fonts.",free_text2_default_content:"Start typing…",editor_free_text2_aria_label:"Text Editor",editor_ink2_aria_label:"Draw Editor",editor_ink_canvas_aria_label:"User-created image",editor_alt_text_button_label:"Alt text",editor_alt_text_edit_button_label:"Edit alt text",editor_alt_text_decorative_tooltip:"Marked as decorative"};n.print_progress_percent="{{progress}}%";function t(d,h){switch(d){case"find_match_count":d=`find_match_count[${h.total===1?"one":"other"}]`;break;case"find_match_count_limit":d=`find_match_count_limit[${h.limit===1?"one":"other"}]`;break}return n[d]||""}function a(d,h){return h?d.replaceAll(/\{\{\s*(\w+)\s*\}\}/g,(f,u)=>u in h?h[u]:"{{"+u+"}}"):d}const o={async getLanguage(){return"en-us"},async getDirection(){return"ltr"},async get(d,h=null,f=t(d,h)){return a(f,h)},async translate(d){}};e.NullL10n=o},(l,e,n)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.XfaLayer=void 0;var t=n(25);class a{static setupStorage(d,h,f,u,p){const x=u.getValue(h,{value:null});switch(f.name){case"textarea":if(x.value!==null&&(d.textContent=x.value),p==="print")break;d.addEventListener("input",R=>{u.setValue(h,{value:R.target.value})});break;case"input":if(f.attributes.type==="radio"||f.attributes.type==="checkbox"){if(x.value===f.attributes.xfaOn?d.setAttribute("checked",!0):x.value===f.attributes.xfaOff&&d.removeAttribute("checked"),p==="print")break;d.addEventListener("change",R=>{u.setValue(h,{value:R.target.checked?R.target.getAttribute("xfaOn"):R.target.getAttribute("xfaOff")})})}else{if(x.value!==null&&d.setAttribute("value",x.value),p==="print")break;d.addEventListener("input",R=>{u.setValue(h,{value:R.target.value})})}break;case"select":if(x.value!==null){d.setAttribute("value",x.value);for(const R of f.children)R.attributes.value===x.value?R.attributes.selected=!0:R.attributes.hasOwnProperty("selected")&&delete R.attributes.selected}d.addEventListener("input",R=>{const S=R.target.options,E=S.selectedIndex===-1?"":S[S.selectedIndex].value;u.setValue(h,{value:E})});break}}static setAttributes({html:d,element:h,storage:f=null,intent:u,linkService:p}){const{attributes:x}=h,R=d instanceof HTMLAnchorElement;x.type==="radio"&&(x.name=`${x.name}-${u}`);for(const[S,E]of Object.entries(x))if(E!=null)switch(S){case"class":E.length&&d.setAttribute(S,E.join(" "));break;case"dataId":break;case"id":d.setAttribute("data-element-id",E);break;case"style":Object.assign(d.style,E);break;case"textContent":d.textContent=E;break;default:(!R||S!=="href"&&S!=="newWindow")&&d.setAttribute(S,E)}R&&p.addLinkAttributes(d,x.href,x.newWindow),f&&x.dataId&&this.setupStorage(d,x.dataId,h,f)}static render(d){var g;const h=d.annotationStorage,f=d.linkService,u=d.xfaHtml,p=d.intent||"display",x=document.createElement(u.name);u.attributes&&this.setAttributes({html:x,element:u,intent:p,linkService:f});const R=[[u,-1,x]],S=d.div;if(S.append(x),d.viewport){const v=`matrix(${d.viewport.transform.join(",")})`;S.style.transform=v}p!=="richText"&&S.setAttribute("class","xfaLayer xfaFont");const E=[];for(;R.length>0;){const[v,T,b]=R.at(-1);if(T+1===v.children.length){R.pop();continue}const _=v.children[++R.at(-1)[1]];if(_===null)continue;const{name:w}=_;if(w==="#text"){const P=document.createTextNode(_.value);E.push(P),b.append(P);continue}const C=(g=_==null?void 0:_.attributes)!=null&&g.xmlns?document.createElementNS(_.attributes.xmlns,w):document.createElement(w);if(b.append(C),_.attributes&&this.setAttributes({html:C,element:_,storage:h,intent:p,linkService:f}),_.children&&_.children.length>0)R.push([_,-1,C]);else if(_.value){const P=document.createTextNode(_.value);t.XfaText.shouldBuildText(w)&&E.push(P),C.append(P)}}for(const v of S.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea"))v.setAttribute("readOnly",!0);return{textDivs:E}}static update(d){const h=`matrix(${d.viewport.transform.join(",")})`;d.div.style.transform=h,d.div.hidden=!1}}e.XfaLayer=a},(l,e,n)=>{var u,p,x,R,S,E,g,v,T,b,_,w,C,P,D,cy,k,dy,M,fy,$,hy,J,Zm,ie,py,q,eg,ce,my,te,gy,W,vy,z,yy,ee,_y,ue,xs,ve,tg,Re,Kf,Oe,Xf,St,ru,gt,ng,Me,Yf,Ve,xy,dt,rg,xt,Ey,Qe,Sy,Xe,ig,Pe,qf,_e,iu;Object.defineProperty(e,"__esModule",{value:!0}),e.InkEditor=void 0;var t=n(1),a=n(4),o=n(29),d=n(6),h=n(5);const tt=class tt extends a.AnnotationEditor{constructor(ke){super({...ke,name:"inkEditor"});Te(this,D);Te(this,k);Te(this,M);Te(this,$);Te(this,J);Te(this,ie);Te(this,q);Te(this,ce);Te(this,te);Te(this,W);Te(this,z);Te(this,ee);Te(this,ue);Te(this,ve);Te(this,Re);Te(this,Oe);Te(this,St);Te(this,gt);Te(this,Me);Te(this,Qe);Te(this,Xe);Te(this,Pe);Te(this,_e);Te(this,u,0);Te(this,p,0);Te(this,x,this.canvasPointermove.bind(this));Te(this,R,this.canvasPointerleave.bind(this));Te(this,S,this.canvasPointerup.bind(this));Te(this,E,this.canvasPointerdown.bind(this));Te(this,g,new Path2D);Te(this,v,!1);Te(this,T,!1);Te(this,b,!1);Te(this,_,null);Te(this,w,0);Te(this,C,0);Te(this,P,null);this.color=ke.color||null,this.thickness=ke.thickness||null,this.opacity=ke.opacity||null,this.paths=[],this.bezierPath2D=[],this.allRawPaths=[],this.currentPath=[],this.scaleFactor=1,this.translationX=this.translationY=0,this.x=0,this.y=0,this._willKeepAspectRatio=!0}static initialize(ke){a.AnnotationEditor.initialize(ke,{strings:["editor_ink_canvas_aria_label","editor_ink2_aria_label"]})}static updateDefaultParams(ke,mt){switch(ke){case t.AnnotationEditorParamsType.INK_THICKNESS:tt._defaultThickness=mt;break;case t.AnnotationEditorParamsType.INK_COLOR:tt._defaultColor=mt;break;case t.AnnotationEditorParamsType.INK_OPACITY:tt._defaultOpacity=mt/100;break}}updateParams(ke,mt){switch(ke){case t.AnnotationEditorParamsType.INK_THICKNESS:je(this,D,cy).call(this,mt);break;case t.AnnotationEditorParamsType.INK_COLOR:je(this,k,dy).call(this,mt);break;case t.AnnotationEditorParamsType.INK_OPACITY:je(this,M,fy).call(this,mt);break}}static get defaultPropertiesToUpdate(){return[[t.AnnotationEditorParamsType.INK_THICKNESS,tt._defaultThickness],[t.AnnotationEditorParamsType.INK_COLOR,tt._defaultColor||a.AnnotationEditor._defaultLineColor],[t.AnnotationEditorParamsType.INK_OPACITY,Math.round(tt._defaultOpacity*100)]]}get propertiesToUpdate(){return[[t.AnnotationEditorParamsType.INK_THICKNESS,this.thickness||tt._defaultThickness],[t.AnnotationEditorParamsType.INK_COLOR,this.color||tt._defaultColor||a.AnnotationEditor._defaultLineColor],[t.AnnotationEditorParamsType.INK_OPACITY,Math.round(100*(this.opacity??tt._defaultOpacity))]]}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.canvas||(je(this,Re,Kf).call(this),je(this,Oe,Xf).call(this)),this.isAttachedToDOM||(this.parent.add(this),je(this,St,ru).call(this)),je(this,_e,iu).call(this)))}remove(){this.canvas!==null&&(this.isEmpty()||this.commit(),this.canvas.width=this.canvas.height=0,this.canvas.remove(),this.canvas=null,Z(this,_).disconnect(),We(this,_,null),super.remove())}setParent(ke){!this.parent&&ke?this._uiManager.removeShouldRescale(this):this.parent&&ke===null&&this._uiManager.addShouldRescale(this),super.setParent(ke)}onScaleChanging(){const[ke,mt]=this.parentDimensions,Pt=this.width*ke,Ne=this.height*mt;this.setDimensions(Pt,Ne)}enableEditMode(){Z(this,v)||this.canvas===null||(super.enableEditMode(),this._isDraggable=!1,this.canvas.addEventListener("pointerdown",Z(this,E)))}disableEditMode(){!this.isInEditMode()||this.canvas===null||(super.disableEditMode(),this._isDraggable=!this.isEmpty(),this.div.classList.remove("editing"),this.canvas.removeEventListener("pointerdown",Z(this,E)))}onceAdded(){this._isDraggable=!this.isEmpty()}isEmpty(){return this.paths.length===0||this.paths.length===1&&this.paths[0].length===0}commit(){Z(this,v)||(super.commit(),this.isEditing=!1,this.disableEditMode(),this.setInForeground(),We(this,v,!0),this.div.classList.add("disabled"),je(this,_e,iu).call(this,!0),this.makeResizable(),this.parent.addInkEditorIfNeeded(!0),this.moveInDOM(),this.div.focus({preventScroll:!0}))}focusin(ke){this._focusEventsAllowed&&(super.focusin(ke),this.enableEditMode())}canvasPointerdown(ke){ke.button!==0||!this.isInEditMode()||Z(this,v)||(this.setInForeground(),ke.preventDefault(),ke.type!=="mouse"&&this.div.focus(),je(this,ie,py).call(this,ke.offsetX,ke.offsetY))}canvasPointermove(ke){ke.preventDefault(),je(this,q,eg).call(this,ke.offsetX,ke.offsetY)}canvasPointerup(ke){ke.preventDefault(),je(this,ve,tg).call(this,ke)}canvasPointerleave(ke){je(this,ve,tg).call(this,ke)}get isResizable(){return!this.isEmpty()&&Z(this,v)}render(){if(this.div)return this.div;let ke,mt;this.width&&(ke=this.x,mt=this.y),super.render(),a.AnnotationEditor._l10nPromise.get("editor_ink2_aria_label").then(wt=>{var $e;return($e=this.div)==null?void 0:$e.setAttribute("aria-label",wt)});const[Pt,Ne,Je,ot]=je(this,$,hy).call(this);if(this.setAt(Pt,Ne,0,0),this.setDims(Je,ot),je(this,Re,Kf).call(this),this.width){const[wt,$e]=this.parentDimensions;this.setAspectRatio(this.width*wt,this.height*$e),this.setAt(ke*wt,mt*$e,this.width*wt,this.height*$e),We(this,b,!0),je(this,St,ru).call(this),this.setDims(this.width*wt,this.height*$e),je(this,ue,xs).call(this),this.div.classList.add("disabled")}else this.div.classList.add("editing"),this.enableEditMode();return je(this,Oe,Xf).call(this),this.div}setDimensions(ke,mt){const Pt=Math.round(ke),Ne=Math.round(mt);if(Z(this,w)===Pt&&Z(this,C)===Ne)return;We(this,w,Pt),We(this,C,Ne),this.canvas.style.visibility="hidden";const[Je,ot]=this.parentDimensions;this.width=ke/Je,this.height=mt/ot,this.fixAndSetPosition(),Z(this,v)&&je(this,gt,ng).call(this,ke,mt),je(this,St,ru).call(this),je(this,ue,xs).call(this),this.canvas.style.visibility="visible",this.fixDims()}static deserialize(ke,mt,Pt){var we,de,Se;if(ke instanceof o.InkAnnotationElement)return null;const Ne=super.deserialize(ke,mt,Pt);Ne.thickness=ke.thickness,Ne.color=t.Util.makeHexColor(...ke.color),Ne.opacity=ke.opacity;const[Je,ot]=Ne.pageDimensions,wt=Ne.width*Je,$e=Ne.height*ot,Ft=Ne.parentScale,bt=ke.thickness/2;We(Ne,v,!0),We(Ne,w,Math.round(wt)),We(Ne,C,Math.round($e));const{paths:xe,rect:ae,rotation:me}=ke;for(let{bezier:Ue}of xe){Ue=je(we=tt,xt,Ey).call(we,Ue,ae,me);const nt=[];Ne.paths.push(nt);let ft=Ft*(Ue[0]-bt),Ct=Ft*(Ue[1]-bt);for(let ht=2,kt=Ue.length;ht<kt;ht+=6){const Mt=Ft*(Ue[ht]-bt),Ut=Ft*(Ue[ht+1]-bt),Xt=Ft*(Ue[ht+2]-bt),An=Ft*(Ue[ht+3]-bt),_n=Ft*(Ue[ht+4]-bt),Bn=Ft*(Ue[ht+5]-bt);nt.push([[ft,Ct],[Mt,Ut],[Xt,An],[_n,Bn]]),ft=_n,Ct=Bn}const pt=je(this,Ve,xy).call(this,nt);Ne.bezierPath2D.push(pt)}const Ee=je(de=Ne,Xe,ig).call(de);return We(Ne,p,Math.max(a.AnnotationEditor.MIN_SIZE,Ee[2]-Ee[0])),We(Ne,u,Math.max(a.AnnotationEditor.MIN_SIZE,Ee[3]-Ee[1])),je(Se=Ne,gt,ng).call(Se,wt,$e),Ne}serialize(){if(this.isEmpty())return null;const ke=this.getRect(0,0),mt=a.AnnotationEditor._colorManager.convert(this.ctx.strokeStyle);return{annotationType:t.AnnotationEditorType.INK,color:mt,thickness:this.thickness,opacity:this.opacity,paths:je(this,Qe,Sy).call(this,this.scaleFactor/this.parentScale,this.translationX,this.translationY,ke),pageIndex:this.pageIndex,rect:ke,rotation:this.rotation,structTreeParentId:this._structTreeParentId}}};u=new WeakMap,p=new WeakMap,x=new WeakMap,R=new WeakMap,S=new WeakMap,E=new WeakMap,g=new WeakMap,v=new WeakMap,T=new WeakMap,b=new WeakMap,_=new WeakMap,w=new WeakMap,C=new WeakMap,P=new WeakMap,D=new WeakSet,cy=function(ke){const mt=this.thickness;this.addCommands({cmd:()=>{this.thickness=ke,je(this,_e,iu).call(this)},undo:()=>{this.thickness=mt,je(this,_e,iu).call(this)},mustExec:!0,type:t.AnnotationEditorParamsType.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0})},k=new WeakSet,dy=function(ke){const mt=this.color;this.addCommands({cmd:()=>{this.color=ke,je(this,ue,xs).call(this)},undo:()=>{this.color=mt,je(this,ue,xs).call(this)},mustExec:!0,type:t.AnnotationEditorParamsType.INK_COLOR,overwriteIfSameType:!0,keepUndo:!0})},M=new WeakSet,fy=function(ke){ke/=100;const mt=this.opacity;this.addCommands({cmd:()=>{this.opacity=ke,je(this,ue,xs).call(this)},undo:()=>{this.opacity=mt,je(this,ue,xs).call(this)},mustExec:!0,type:t.AnnotationEditorParamsType.INK_OPACITY,overwriteIfSameType:!0,keepUndo:!0})},$=new WeakSet,hy=function(){const{parentRotation:ke,parentDimensions:[mt,Pt]}=this;switch(ke){case 90:return[0,Pt,Pt,mt];case 180:return[mt,Pt,mt,Pt];case 270:return[mt,0,Pt,mt];default:return[0,0,mt,Pt]}},J=new WeakSet,Zm=function(){const{ctx:ke,color:mt,opacity:Pt,thickness:Ne,parentScale:Je,scaleFactor:ot}=this;ke.lineWidth=Ne*Je/ot,ke.lineCap="round",ke.lineJoin="round",ke.miterLimit=10,ke.strokeStyle=`${mt}${(0,h.opacityToHex)(Pt)}`},ie=new WeakSet,py=function(ke,mt){this.canvas.addEventListener("contextmenu",d.noContextMenu),this.canvas.addEventListener("pointerleave",Z(this,R)),this.canvas.addEventListener("pointermove",Z(this,x)),this.canvas.addEventListener("pointerup",Z(this,S)),this.canvas.removeEventListener("pointerdown",Z(this,E)),this.isEditing=!0,Z(this,b)||(We(this,b,!0),je(this,St,ru).call(this),this.thickness||(this.thickness=tt._defaultThickness),this.color||(this.color=tt._defaultColor||a.AnnotationEditor._defaultLineColor),this.opacity??(this.opacity=tt._defaultOpacity)),this.currentPath.push([ke,mt]),We(this,T,!1),je(this,J,Zm).call(this),We(this,P,()=>{je(this,W,vy).call(this),Z(this,P)&&window.requestAnimationFrame(Z(this,P))}),window.requestAnimationFrame(Z(this,P))},q=new WeakSet,eg=function(ke,mt){const[Pt,Ne]=this.currentPath.at(-1);if(this.currentPath.length>1&&ke===Pt&&mt===Ne)return;const Je=this.currentPath;let ot=Z(this,g);if(Je.push([ke,mt]),We(this,T,!0),Je.length<=2){ot.moveTo(...Je[0]),ot.lineTo(ke,mt);return}Je.length===3&&(We(this,g,ot=new Path2D),ot.moveTo(...Je[0])),je(this,z,yy).call(this,ot,...Je.at(-3),...Je.at(-2),ke,mt)},ce=new WeakSet,my=function(){if(this.currentPath.length===0)return;const ke=this.currentPath.at(-1);Z(this,g).lineTo(...ke)},te=new WeakSet,gy=function(ke,mt){We(this,P,null),ke=Math.min(Math.max(ke,0),this.canvas.width),mt=Math.min(Math.max(mt,0),this.canvas.height),je(this,q,eg).call(this,ke,mt),je(this,ce,my).call(this);let Pt;if(this.currentPath.length!==1)Pt=je(this,ee,_y).call(this);else{const $e=[ke,mt];Pt=[[$e,$e.slice(),$e.slice(),$e]]}const Ne=Z(this,g),Je=this.currentPath;this.currentPath=[],We(this,g,new Path2D);const ot=()=>{this.allRawPaths.push(Je),this.paths.push(Pt),this.bezierPath2D.push(Ne),this.rebuild()},wt=()=>{this.allRawPaths.pop(),this.paths.pop(),this.bezierPath2D.pop(),this.paths.length===0?this.remove():(this.canvas||(je(this,Re,Kf).call(this),je(this,Oe,Xf).call(this)),je(this,_e,iu).call(this))};this.addCommands({cmd:ot,undo:wt,mustExec:!0})},W=new WeakSet,vy=function(){if(!Z(this,T))return;We(this,T,!1);const ke=Math.ceil(this.thickness*this.parentScale),mt=this.currentPath.slice(-3),Pt=mt.map(ot=>ot[0]),Ne=mt.map(ot=>ot[1]);Math.min(...Pt)-ke,Math.max(...Pt)+ke,Math.min(...Ne)-ke,Math.max(...Ne)+ke;const{ctx:Je}=this;Je.save(),Je.clearRect(0,0,this.canvas.width,this.canvas.height);for(const ot of this.bezierPath2D)Je.stroke(ot);Je.stroke(Z(this,g)),Je.restore()},z=new WeakSet,yy=function(ke,mt,Pt,Ne,Je,ot,wt){const $e=(mt+Ne)/2,Ft=(Pt+Je)/2,bt=(Ne+ot)/2,xe=(Je+wt)/2;ke.bezierCurveTo($e+2*(Ne-$e)/3,Ft+2*(Je-Ft)/3,bt+2*(Ne-bt)/3,xe+2*(Je-xe)/3,bt,xe)},ee=new WeakSet,_y=function(){const ke=this.currentPath;if(ke.length<=2)return[[ke[0],ke[0],ke.at(-1),ke.at(-1)]];const mt=[];let Pt,[Ne,Je]=ke[0];for(Pt=1;Pt<ke.length-2;Pt++){const[ae,me]=ke[Pt],[Ee,we]=ke[Pt+1],de=(ae+Ee)/2,Se=(me+we)/2,Ue=[Ne+2*(ae-Ne)/3,Je+2*(me-Je)/3],nt=[de+2*(ae-de)/3,Se+2*(me-Se)/3];mt.push([[Ne,Je],Ue,nt,[de,Se]]),[Ne,Je]=[de,Se]}const[ot,wt]=ke[Pt],[$e,Ft]=ke[Pt+1],bt=[Ne+2*(ot-Ne)/3,Je+2*(wt-Je)/3],xe=[$e+2*(ot-$e)/3,Ft+2*(wt-Ft)/3];return mt.push([[Ne,Je],bt,xe,[$e,Ft]]),mt},ue=new WeakSet,xs=function(){if(this.isEmpty()){je(this,Me,Yf).call(this);return}je(this,J,Zm).call(this);const{canvas:ke,ctx:mt}=this;mt.setTransform(1,0,0,1,0,0),mt.clearRect(0,0,ke.width,ke.height),je(this,Me,Yf).call(this);for(const Pt of this.bezierPath2D)mt.stroke(Pt)},ve=new WeakSet,tg=function(ke){this.canvas.removeEventListener("pointerleave",Z(this,R)),this.canvas.removeEventListener("pointermove",Z(this,x)),this.canvas.removeEventListener("pointerup",Z(this,S)),this.canvas.addEventListener("pointerdown",Z(this,E)),setTimeout(()=>{this.canvas.removeEventListener("contextmenu",d.noContextMenu)},10),je(this,te,gy).call(this,ke.offsetX,ke.offsetY),this.addToAnnotationStorage(),this.setInBackground()},Re=new WeakSet,Kf=function(){this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=0,this.canvas.className="inkEditorCanvas",a.AnnotationEditor._l10nPromise.get("editor_ink_canvas_aria_label").then(ke=>{var mt;return(mt=this.canvas)==null?void 0:mt.setAttribute("aria-label",ke)}),this.div.append(this.canvas),this.ctx=this.canvas.getContext("2d")},Oe=new WeakSet,Xf=function(){We(this,_,new ResizeObserver(ke=>{const mt=ke[0].contentRect;mt.width&&mt.height&&this.setDimensions(mt.width,mt.height)})),Z(this,_).observe(this.div)},St=new WeakSet,ru=function(){if(!Z(this,b))return;const[ke,mt]=this.parentDimensions;this.canvas.width=Math.ceil(this.width*ke),this.canvas.height=Math.ceil(this.height*mt),je(this,Me,Yf).call(this)},gt=new WeakSet,ng=function(ke,mt){const Pt=je(this,Pe,qf).call(this),Ne=(ke-Pt)/Z(this,p),Je=(mt-Pt)/Z(this,u);this.scaleFactor=Math.min(Ne,Je)},Me=new WeakSet,Yf=function(){const ke=je(this,Pe,qf).call(this)/2;this.ctx.setTransform(this.scaleFactor,0,0,this.scaleFactor,this.translationX*this.scaleFactor+ke,this.translationY*this.scaleFactor+ke)},Ve=new WeakSet,xy=function(ke){const mt=new Path2D;for(let Pt=0,Ne=ke.length;Pt<Ne;Pt++){const[Je,ot,wt,$e]=ke[Pt];Pt===0&&mt.moveTo(...Je),mt.bezierCurveTo(ot[0],ot[1],wt[0],wt[1],$e[0],$e[1])}return mt},dt=new WeakSet,rg=function(ke,mt,Pt){const[Ne,Je,ot,wt]=mt;switch(Pt){case 0:for(let $e=0,Ft=ke.length;$e<Ft;$e+=2)ke[$e]+=Ne,ke[$e+1]=wt-ke[$e+1];break;case 90:for(let $e=0,Ft=ke.length;$e<Ft;$e+=2){const bt=ke[$e];ke[$e]=ke[$e+1]+Ne,ke[$e+1]=bt+Je}break;case 180:for(let $e=0,Ft=ke.length;$e<Ft;$e+=2)ke[$e]=ot-ke[$e],ke[$e+1]+=Je;break;case 270:for(let $e=0,Ft=ke.length;$e<Ft;$e+=2){const bt=ke[$e];ke[$e]=ot-ke[$e+1],ke[$e+1]=wt-bt}break;default:throw new Error("Invalid rotation")}return ke},xt=new WeakSet,Ey=function(ke,mt,Pt){const[Ne,Je,ot,wt]=mt;switch(Pt){case 0:for(let $e=0,Ft=ke.length;$e<Ft;$e+=2)ke[$e]-=Ne,ke[$e+1]=wt-ke[$e+1];break;case 90:for(let $e=0,Ft=ke.length;$e<Ft;$e+=2){const bt=ke[$e];ke[$e]=ke[$e+1]-Je,ke[$e+1]=bt-Ne}break;case 180:for(let $e=0,Ft=ke.length;$e<Ft;$e+=2)ke[$e]=ot-ke[$e],ke[$e+1]-=Je;break;case 270:for(let $e=0,Ft=ke.length;$e<Ft;$e+=2){const bt=ke[$e];ke[$e]=wt-ke[$e+1],ke[$e+1]=ot-bt}break;default:throw new Error("Invalid rotation")}return ke},Qe=new WeakSet,Sy=function(ke,mt,Pt,Ne){var Ft,bt;const Je=[],ot=this.thickness/2,wt=ke*mt+ot,$e=ke*Pt+ot;for(const xe of this.paths){const ae=[],me=[];for(let Ee=0,we=xe.length;Ee<we;Ee++){const[de,Se,Ue,nt]=xe[Ee],ft=ke*de[0]+wt,Ct=ke*de[1]+$e,pt=ke*Se[0]+wt,ht=ke*Se[1]+$e,kt=ke*Ue[0]+wt,Mt=ke*Ue[1]+$e,Ut=ke*nt[0]+wt,Xt=ke*nt[1]+$e;Ee===0&&(ae.push(ft,Ct),me.push(ft,Ct)),ae.push(pt,ht,kt,Mt,Ut,Xt),me.push(pt,ht),Ee===we-1&&me.push(Ut,Xt)}Je.push({bezier:je(Ft=tt,dt,rg).call(Ft,ae,Ne,this.rotation),points:je(bt=tt,dt,rg).call(bt,me,Ne,this.rotation)})}return Je},Xe=new WeakSet,ig=function(){let ke=1/0,mt=-1/0,Pt=1/0,Ne=-1/0;for(const Je of this.paths)for(const[ot,wt,$e,Ft]of Je){const bt=t.Util.bezierBoundingBox(...ot,...wt,...$e,...Ft);ke=Math.min(ke,bt[0]),Pt=Math.min(Pt,bt[1]),mt=Math.max(mt,bt[2]),Ne=Math.max(Ne,bt[3])}return[ke,Pt,mt,Ne]},Pe=new WeakSet,qf=function(){return Z(this,v)?Math.ceil(this.thickness*this.parentScale):0},_e=new WeakSet,iu=function(ke=!1){if(this.isEmpty())return;if(!Z(this,v)){je(this,ue,xs).call(this);return}const mt=je(this,Xe,ig).call(this),Pt=je(this,Pe,qf).call(this);We(this,p,Math.max(a.AnnotationEditor.MIN_SIZE,mt[2]-mt[0])),We(this,u,Math.max(a.AnnotationEditor.MIN_SIZE,mt[3]-mt[1]));const Ne=Math.ceil(Pt+Z(this,p)*this.scaleFactor),Je=Math.ceil(Pt+Z(this,u)*this.scaleFactor),[ot,wt]=this.parentDimensions;this.width=Ne/ot,this.height=Je/wt,this.setAspectRatio(Ne,Je);const $e=this.translationX,Ft=this.translationY;this.translationX=-mt[0],this.translationY=-mt[1],je(this,St,ru).call(this),je(this,ue,xs).call(this),We(this,w,Ne),We(this,C,Je),this.setDims(Ne,Je);const bt=ke?Pt/this.scaleFactor/2:0;this.translate($e-this.translationX-bt,Ft-this.translationY-bt)},Te(tt,Ve),Te(tt,dt),Te(tt,xt),Mn(tt,"_defaultColor",null),Mn(tt,"_defaultOpacity",1),Mn(tt,"_defaultThickness",1),Mn(tt,"_type","ink");let f=tt;e.InkEditor=f},(l,e,n)=>{var f,u,p,x,R,S,E,g,v,T,b,jc,w,Ic,P,Qf,N,ag,F,by,U,Ry,B,sg,ne,Jf,Y,Ty;Object.defineProperty(e,"__esModule",{value:!0}),e.StampEditor=void 0;var t=n(1),a=n(4),o=n(6),d=n(29);const re=class re extends a.AnnotationEditor{constructor(te){super({...te,name:"stampEditor"});Te(this,b);Te(this,w);Te(this,P);Te(this,N);Te(this,F);Te(this,U);Te(this,B);Te(this,ne);Te(this,Y);Te(this,f,null);Te(this,u,null);Te(this,p,null);Te(this,x,null);Te(this,R,null);Te(this,S,null);Te(this,E,null);Te(this,g,null);Te(this,v,!1);Te(this,T,!1);We(this,x,te.bitmapUrl),We(this,R,te.bitmapFile)}static initialize(te){a.AnnotationEditor.initialize(te)}static get supportedTypes(){const te=["apng","avif","bmp","gif","jpeg","png","svg+xml","webp","x-icon"];return(0,t.shadow)(this,"supportedTypes",te.map(H=>`image/${H}`))}static get supportedTypesStr(){return(0,t.shadow)(this,"supportedTypesStr",this.supportedTypes.join(","))}static isHandlingMimeForPasting(te){return this.supportedTypes.includes(te)}static paste(te,H){H.pasteEditor(t.AnnotationEditorType.STAMP,{bitmapFile:te.getAsFile()})}remove(){var te,H;Z(this,u)&&(We(this,f,null),this._uiManager.imageManager.deleteId(Z(this,u)),(te=Z(this,S))==null||te.remove(),We(this,S,null),(H=Z(this,E))==null||H.disconnect(),We(this,E,null)),super.remove()}rebuild(){if(!this.parent){Z(this,u)&&je(this,P,Qf).call(this);return}super.rebuild(),this.div!==null&&(Z(this,u)&&je(this,P,Qf).call(this),this.isAttachedToDOM||this.parent.add(this))}onceAdded(){this._isDraggable=!0,this.div.focus()}isEmpty(){return!(Z(this,p)||Z(this,f)||Z(this,x)||Z(this,R))}get isResizable(){return!0}render(){if(this.div)return this.div;let te,H;if(this.width&&(te=this.x,H=this.y),super.render(),this.div.hidden=!0,Z(this,f)?je(this,N,ag).call(this):je(this,P,Qf).call(this),this.width){const[W,V]=this.parentDimensions;this.setAt(te*W,H*V,this.width*W,this.height*V)}return this.div}static deserialize(te,H,W){if(te instanceof d.StampAnnotationElement)return null;const V=super.deserialize(te,H,W),{rect:z,bitmapUrl:Q,bitmapId:ee,isSvg:le,accessibilityData:ue}=te;ee&&W.imageManager.isValidId(ee)?We(V,u,ee):We(V,x,Q),We(V,v,le);const[he,ve]=V.pageDimensions;return V.width=(z[2]-z[0])/he,V.height=(z[3]-z[1])/ve,ue&&(V.altTextData=ue),V}serialize(te=!1,H=null){if(this.isEmpty())return null;const W={annotationType:t.AnnotationEditorType.STAMP,bitmapId:Z(this,u),pageIndex:this.pageIndex,rect:this.getRect(0,0),rotation:this.rotation,isSvg:Z(this,v),structTreeParentId:this._structTreeParentId};if(te)return W.bitmapUrl=je(this,ne,Jf).call(this,!0),W.accessibilityData=this.altTextData,W;const{decorative:V,altText:z}=this.altTextData;if(!V&&z&&(W.accessibilityData={type:"Figure",alt:z}),H===null)return W;H.stamps||(H.stamps=new Map);const Q=Z(this,v)?(W.rect[2]-W.rect[0])*(W.rect[3]-W.rect[1]):null;if(!H.stamps.has(Z(this,u)))H.stamps.set(Z(this,u),{area:Q,serialized:W}),W.bitmap=je(this,ne,Jf).call(this,!1);else if(Z(this,v)){const ee=H.stamps.get(Z(this,u));Q>ee.area&&(ee.area=Q,ee.serialized.bitmap.close(),ee.serialized.bitmap=je(this,ne,Jf).call(this,!1))}return W}};f=new WeakMap,u=new WeakMap,p=new WeakMap,x=new WeakMap,R=new WeakMap,S=new WeakMap,E=new WeakMap,g=new WeakMap,v=new WeakMap,T=new WeakMap,b=new WeakSet,jc=function(te,H=!1){if(!te){this.remove();return}We(this,f,te.bitmap),H||(We(this,u,te.id),We(this,v,te.isSvg)),je(this,N,ag).call(this)},w=new WeakSet,Ic=function(){We(this,p,null),this._uiManager.enableWaiting(!1),Z(this,S)&&this.div.focus()},P=new WeakSet,Qf=function(){if(Z(this,u)){this._uiManager.enableWaiting(!0),this._uiManager.imageManager.getFromId(Z(this,u)).then(H=>je(this,b,jc).call(this,H,!0)).finally(()=>je(this,w,Ic).call(this));return}if(Z(this,x)){const H=Z(this,x);We(this,x,null),this._uiManager.enableWaiting(!0),We(this,p,this._uiManager.imageManager.getFromUrl(H).then(W=>je(this,b,jc).call(this,W)).finally(()=>je(this,w,Ic).call(this)));return}if(Z(this,R)){const H=Z(this,R);We(this,R,null),this._uiManager.enableWaiting(!0),We(this,p,this._uiManager.imageManager.getFromFile(H).then(W=>je(this,b,jc).call(this,W)).finally(()=>je(this,w,Ic).call(this)));return}const te=document.createElement("input");te.type="file",te.accept=re.supportedTypesStr,We(this,p,new Promise(H=>{te.addEventListener("change",async()=>{if(!te.files||te.files.length===0)this.remove();else{this._uiManager.enableWaiting(!0);const W=await this._uiManager.imageManager.getFromFile(te.files[0]);je(this,b,jc).call(this,W)}H()}),te.addEventListener("cancel",()=>{this.remove(),H()})}).finally(()=>je(this,w,Ic).call(this))),te.click()},N=new WeakSet,ag=function(){const{div:te}=this;let{width:H,height:W}=Z(this,f);const[V,z]=this.pageDimensions,Q=.75;if(this.width)H=this.width*V,W=this.height*z;else if(H>Q*V||W>Q*z){const he=Math.min(Q*V/H,Q*z/W);H*=he,W*=he}const[ee,le]=this.parentDimensions;this.setDims(H*ee/V,W*le/z),this._uiManager.enableWaiting(!1);const ue=We(this,S,document.createElement("canvas"));te.append(ue),te.hidden=!1,je(this,B,sg).call(this,H,W),je(this,Y,Ty).call(this),Z(this,T)||(this.parent.addUndoableEditor(this),We(this,T,!0)),this._uiManager._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",subtype:this.editorType,data:{action:"inserted_image"}}}),this.addAltTextButton()},F=new WeakSet,by=function(te,H){var Q;const[W,V]=this.parentDimensions;this.width=te/W,this.height=H/V,this.setDims(te,H),(Q=this._initialOptions)!=null&&Q.isCentered?this.center():this.fixAndSetPosition(),this._initialOptions=null,Z(this,g)!==null&&clearTimeout(Z(this,g)),We(this,g,setTimeout(()=>{We(this,g,null),je(this,B,sg).call(this,te,H)},200))},U=new WeakSet,Ry=function(te,H){const{width:W,height:V}=Z(this,f);let z=W,Q=V,ee=Z(this,f);for(;z>2*te||Q>2*H;){const le=z,ue=Q;z>2*te&&(z=z>=16384?Math.floor(z/2)-1:Math.ceil(z/2)),Q>2*H&&(Q=Q>=16384?Math.floor(Q/2)-1:Math.ceil(Q/2));const he=new OffscreenCanvas(z,Q);he.getContext("2d").drawImage(ee,0,0,le,ue,0,0,z,Q),ee=he.transferToImageBitmap()}return ee},B=new WeakSet,sg=function(te,H){te=Math.ceil(te),H=Math.ceil(H);const W=Z(this,S);if(!W||W.width===te&&W.height===H)return;W.width=te,W.height=H;const V=Z(this,v)?Z(this,f):je(this,U,Ry).call(this,te,H),z=W.getContext("2d");z.filter=this._uiManager.hcmFilter,z.drawImage(V,0,0,V.width,V.height,0,0,te,H)},ne=new WeakSet,Jf=function(te){if(te){if(Z(this,v)){const V=this._uiManager.imageManager.getSvgUrl(Z(this,u));if(V)return V}const H=document.createElement("canvas");return{width:H.width,height:H.height}=Z(this,f),H.getContext("2d").drawImage(Z(this,f),0,0),H.toDataURL()}if(Z(this,v)){const[H,W]=this.pageDimensions,V=Math.round(this.width*H*o.PixelsPerInch.PDF_TO_CSS_UNITS),z=Math.round(this.height*W*o.PixelsPerInch.PDF_TO_CSS_UNITS),Q=new OffscreenCanvas(V,z);return Q.getContext("2d").drawImage(Z(this,f),0,0,Z(this,f).width,Z(this,f).height,0,0,V,z),Q.transferToImageBitmap()}return structuredClone(Z(this,f))},Y=new WeakSet,Ty=function(){We(this,E,new ResizeObserver(te=>{const H=te[0].contentRect;H.width&&H.height&&je(this,F,by).call(this,H.width,H.height)})),Z(this,E).observe(this.div)},Mn(re,"_type","stamp");let h=re;e.StampEditor=h}],__webpack_module_cache__={};function __w_pdfjs_require__(l){var e=__webpack_module_cache__[l];if(e!==void 0)return e.exports;var n=__webpack_module_cache__[l]={exports:{}};return __webpack_modules__[l](n,n.exports,__w_pdfjs_require__),n.exports}var __webpack_exports__={};return(()=>{var l=__webpack_exports__;Object.defineProperty(l,"__esModule",{value:!0}),Object.defineProperty(l,"AbortException",{enumerable:!0,get:function(){return e.AbortException}}),Object.defineProperty(l,"AnnotationEditorLayer",{enumerable:!0,get:function(){return o.AnnotationEditorLayer}}),Object.defineProperty(l,"AnnotationEditorParamsType",{enumerable:!0,get:function(){return e.AnnotationEditorParamsType}}),Object.defineProperty(l,"AnnotationEditorType",{enumerable:!0,get:function(){return e.AnnotationEditorType}}),Object.defineProperty(l,"AnnotationEditorUIManager",{enumerable:!0,get:function(){return d.AnnotationEditorUIManager}}),Object.defineProperty(l,"AnnotationLayer",{enumerable:!0,get:function(){return h.AnnotationLayer}}),Object.defineProperty(l,"AnnotationMode",{enumerable:!0,get:function(){return e.AnnotationMode}}),Object.defineProperty(l,"CMapCompressionType",{enumerable:!0,get:function(){return e.CMapCompressionType}}),Object.defineProperty(l,"DOMSVGFactory",{enumerable:!0,get:function(){return t.DOMSVGFactory}}),Object.defineProperty(l,"FeatureTest",{enumerable:!0,get:function(){return e.FeatureTest}}),Object.defineProperty(l,"GlobalWorkerOptions",{enumerable:!0,get:function(){return f.GlobalWorkerOptions}}),Object.defineProperty(l,"ImageKind",{enumerable:!0,get:function(){return e.ImageKind}}),Object.defineProperty(l,"InvalidPDFException",{enumerable:!0,get:function(){return e.InvalidPDFException}}),Object.defineProperty(l,"MissingPDFException",{enumerable:!0,get:function(){return e.MissingPDFException}}),Object.defineProperty(l,"OPS",{enumerable:!0,get:function(){return e.OPS}}),Object.defineProperty(l,"PDFDataRangeTransport",{enumerable:!0,get:function(){return n.PDFDataRangeTransport}}),Object.defineProperty(l,"PDFDateString",{enumerable:!0,get:function(){return t.PDFDateString}}),Object.defineProperty(l,"PDFWorker",{enumerable:!0,get:function(){return n.PDFWorker}}),Object.defineProperty(l,"PasswordResponses",{enumerable:!0,get:function(){return e.PasswordResponses}}),Object.defineProperty(l,"PermissionFlag",{enumerable:!0,get:function(){return e.PermissionFlag}}),Object.defineProperty(l,"PixelsPerInch",{enumerable:!0,get:function(){return t.PixelsPerInch}}),Object.defineProperty(l,"PromiseCapability",{enumerable:!0,get:function(){return e.PromiseCapability}}),Object.defineProperty(l,"RenderingCancelledException",{enumerable:!0,get:function(){return t.RenderingCancelledException}}),Object.defineProperty(l,"SVGGraphics",{enumerable:!0,get:function(){return n.SVGGraphics}}),Object.defineProperty(l,"UnexpectedResponseException",{enumerable:!0,get:function(){return e.UnexpectedResponseException}}),Object.defineProperty(l,"Util",{enumerable:!0,get:function(){return e.Util}}),Object.defineProperty(l,"VerbosityLevel",{enumerable:!0,get:function(){return e.VerbosityLevel}}),Object.defineProperty(l,"XfaLayer",{enumerable:!0,get:function(){return u.XfaLayer}}),Object.defineProperty(l,"build",{enumerable:!0,get:function(){return n.build}}),Object.defineProperty(l,"createValidAbsoluteUrl",{enumerable:!0,get:function(){return e.createValidAbsoluteUrl}}),Object.defineProperty(l,"getDocument",{enumerable:!0,get:function(){return n.getDocument}}),Object.defineProperty(l,"getFilenameFromUrl",{enumerable:!0,get:function(){return t.getFilenameFromUrl}}),Object.defineProperty(l,"getPdfFilenameFromUrl",{enumerable:!0,get:function(){return t.getPdfFilenameFromUrl}}),Object.defineProperty(l,"getXfaPageViewport",{enumerable:!0,get:function(){return t.getXfaPageViewport}}),Object.defineProperty(l,"isDataScheme",{enumerable:!0,get:function(){return t.isDataScheme}}),Object.defineProperty(l,"isPdfFile",{enumerable:!0,get:function(){return t.isPdfFile}}),Object.defineProperty(l,"loadScript",{enumerable:!0,get:function(){return t.loadScript}}),Object.defineProperty(l,"noContextMenu",{enumerable:!0,get:function(){return t.noContextMenu}}),Object.defineProperty(l,"normalizeUnicode",{enumerable:!0,get:function(){return e.normalizeUnicode}}),Object.defineProperty(l,"renderTextLayer",{enumerable:!0,get:function(){return a.renderTextLayer}}),Object.defineProperty(l,"setLayerDimensions",{enumerable:!0,get:function(){return t.setLayerDimensions}}),Object.defineProperty(l,"shadow",{enumerable:!0,get:function(){return e.shadow}}),Object.defineProperty(l,"updateTextLayer",{enumerable:!0,get:function(){return a.updateTextLayer}}),Object.defineProperty(l,"version",{enumerable:!0,get:function(){return n.version}});var e=__w_pdfjs_require__(1),n=__w_pdfjs_require__(2),t=__w_pdfjs_require__(6),a=__w_pdfjs_require__(26),o=__w_pdfjs_require__(27),d=__w_pdfjs_require__(5),h=__w_pdfjs_require__(29),f=__w_pdfjs_require__(14),u=__w_pdfjs_require__(32)})(),__webpack_exports__})())})(pdf$1);var pdfExports=pdf$1.exports;const pdf=getDefaultExportFromCjs(pdfExports),pdfjsModule=_mergeNamespaces({__proto__:null,default:pdf},[pdfExports]),pdfjs="default"in pdfjsModule?pdf:pdfjsModule;var __spreadArray=function(l,e,n){if(n||arguments.length===2)for(var t=0,a=e.length,o;t<a;t++)(o||!(t in e))&&(o||(o=Array.prototype.slice.call(e,0,t)),o[t]=e[t]);return l.concat(o||Array.prototype.slice.call(e))},clipboardEvents=["onCopy","onCut","onPaste"],compositionEvents=["onCompositionEnd","onCompositionStart","onCompositionUpdate"],focusEvents=["onFocus","onBlur"],formEvents=["onInput","onInvalid","onReset","onSubmit"],imageEvents=["onLoad","onError"],keyboardEvents=["onKeyDown","onKeyPress","onKeyUp"],mediaEvents=["onAbort","onCanPlay","onCanPlayThrough","onDurationChange","onEmptied","onEncrypted","onEnded","onError","onLoadedData","onLoadedMetadata","onLoadStart","onPause","onPlay","onPlaying","onProgress","onRateChange","onSeeked","onSeeking","onStalled","onSuspend","onTimeUpdate","onVolumeChange","onWaiting"],mouseEvents=["onClick","onContextMenu","onDoubleClick","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp"],dragEvents=["onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop"],selectionEvents=["onSelect"],touchEvents=["onTouchCancel","onTouchEnd","onTouchMove","onTouchStart"],pointerEvents=["onPointerDown","onPointerMove","onPointerUp","onPointerCancel","onGotPointerCapture","onLostPointerCapture","onPointerEnter","onPointerLeave","onPointerOver","onPointerOut"],uiEvents=["onScroll"],wheelEvents=["onWheel"],animationEvents=["onAnimationStart","onAnimationEnd","onAnimationIteration"],transitionEvents=["onTransitionEnd"],otherEvents=["onToggle"],changeEvents=["onChange"],allEvents=__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([],clipboardEvents,!0),compositionEvents,!0),focusEvents,!0),formEvents,!0),imageEvents,!0),keyboardEvents,!0),mediaEvents,!0),mouseEvents,!0),dragEvents,!0),selectionEvents,!0),touchEvents,!0),pointerEvents,!0),uiEvents,!0),wheelEvents,!0),animationEvents,!0),transitionEvents,!0),changeEvents,!0),otherEvents,!0);function makeEventProps(l,e){var n={};return allEvents.forEach(function(t){var a=l[t];a&&(e?n[t]=function(o){return a(o,e(t))}:n[t]=a)}),n}function makeCancellablePromise(l){var e=!1,n=new Promise(function(t,a){l.then(function(o){return!e&&t(o)}).catch(function(o){return!e&&a(o)})});return{promise:n,cancel:function(){e=!0}}}function r(l){var e,n,t="";if(typeof l=="string"||typeof l=="number")t+=l;else if(typeof l=="object")if(Array.isArray(l)){var a=l.length;for(e=0;e<a;e++)l[e]&&(n=r(l[e]))&&(t&&(t+=" "),t+=n)}else for(n in l)l[n]&&(t&&(t+=" "),t+=n);return t}function clsx(){for(var l,e,n=0,t="",a=arguments.length;n<a;n++)(l=arguments[n])&&(e=r(l))&&(t&&(t+=" "),t+=e);return t}var isProduction=process.env.NODE_ENV==="production",prefix="Invariant failed";function invariant(l,e){if(!l){if(isProduction)throw new Error(prefix);var n=typeof e=="function"?e():e,t=n?"".concat(prefix,": ").concat(n):prefix;throw new Error(t)}}var __DEV__=process.env.NODE_ENV!=="production",warning=function(){};if(__DEV__){var printWarning=function(e,n){var t=arguments.length;n=new Array(t>1?t-1:0);for(var a=1;a<t;a++)n[a-1]=arguments[a];var o=0,d="Warning: "+e.replace(/%s/g,function(){return n[o++]});typeof console<"u"&&console.error(d);try{throw new Error(d)}catch{}};warning=function(l,e,n){var t=arguments.length;n=new Array(t>2?t-2:0);for(var a=2;a<t;a++)n[a-2]=arguments[a];if(e===void 0)throw new Error("`warning(condition, format, ...args)` requires a warning message argument");l||printWarning.apply(null,[e].concat(n))}}var warning_1=warning;const warning$1=getDefaultExportFromCjs(warning_1);var has=Object.prototype.hasOwnProperty;function find(l,e,n){for(n of l.keys())if(dequal(n,e))return n}function dequal(l,e){var n,t,a;if(l===e)return!0;if(l&&e&&(n=l.constructor)===e.constructor){if(n===Date)return l.getTime()===e.getTime();if(n===RegExp)return l.toString()===e.toString();if(n===Array){if((t=l.length)===e.length)for(;t--&&dequal(l[t],e[t]););return t===-1}if(n===Set){if(l.size!==e.size)return!1;for(t of l)if(a=t,a&&typeof a=="object"&&(a=find(e,a),!a)||!e.has(a))return!1;return!0}if(n===Map){if(l.size!==e.size)return!1;for(t of l)if(a=t[0],a&&typeof a=="object"&&(a=find(e,a),!a)||!dequal(t[1],e.get(a)))return!1;return!0}if(n===ArrayBuffer)l=new Uint8Array(l),e=new Uint8Array(e);else if(n===DataView){if((t=l.byteLength)===e.byteLength)for(;t--&&l.getInt8(t)===e.getInt8(t););return t===-1}if(ArrayBuffer.isView(l)){if((t=l.byteLength)===e.byteLength)for(;t--&&l[t]===e[t];);return t===-1}if(!n||typeof l=="object"){t=0;for(n in l)if(has.call(l,n)&&++t&&!has.call(e,n)||!(n in e)||!dequal(l[n],e[n]))return!1;return Object.keys(e).length===t}}return l!==l&&e!==e}const DocumentContext=React$2.createContext(null);function Message$1({children:l,type:e}){return jsxRuntimeExports.jsx("div",{className:`react-pdf__message react-pdf__message--${e}`,children:l})}const DEFAULT_LINK_REL="noopener noreferrer nofollow";class LinkService{constructor(){this.externalLinkEnabled=!0,this.externalLinkRel=void 0,this.externalLinkTarget=void 0,this.isInPresentationMode=!1,this.pdfDocument=void 0,this.pdfViewer=void 0}setDocument(e){this.pdfDocument=e}setViewer(e){this.pdfViewer=e}setExternalLinkRel(e){this.externalLinkRel=e}setExternalLinkTarget(e){this.externalLinkTarget=e}setHistory(){}get pagesCount(){return this.pdfDocument?this.pdfDocument.numPages:0}get page(){return invariant(this.pdfViewer,"PDF viewer is not initialized."),this.pdfViewer.currentPageNumber||0}set page(e){invariant(this.pdfViewer,"PDF viewer is not initialized."),this.pdfViewer.currentPageNumber=e}get rotation(){return 0}set rotation(e){}goToDestination(e){return new Promise(n=>{invariant(this.pdfDocument,"PDF document not loaded."),invariant(e,"Destination is not specified."),typeof e=="string"?this.pdfDocument.getDestination(e).then(n):Array.isArray(e)?n(e):e.then(n)}).then(n=>{invariant(Array.isArray(n),`"${n}" is not a valid destination array.`);const t=n[0];new Promise(a=>{invariant(this.pdfDocument,"PDF document not loaded."),t instanceof Object?this.pdfDocument.getPageIndex(t).then(o=>{a(o)}).catch(()=>{invariant(!1,`"${t}" is not a valid page reference.`)}):typeof t=="number"?a(t):invariant(!1,`"${t}" is not a valid destination reference.`)}).then(a=>{const o=a+1;invariant(this.pdfViewer,"PDF viewer is not initialized."),invariant(o>=1&&o<=this.pagesCount,`"${o}" is not a valid page number.`),this.pdfViewer.scrollPageIntoView({dest:n,pageIndex:a,pageNumber:o})})})}navigateTo(e){this.goToDestination(e)}goToPage(e){const n=e-1;invariant(this.pdfViewer,"PDF viewer is not initialized."),invariant(e>=1&&e<=this.pagesCount,`"${e}" is not a valid page number.`),this.pdfViewer.scrollPageIntoView({pageIndex:n,pageNumber:e})}addLinkAttributes(e,n,t){e.href=n,e.rel=this.externalLinkRel||DEFAULT_LINK_REL,e.target=t?"_blank":this.externalLinkTarget||""}getDestinationHash(){return"#"}getAnchorUrl(){return"#"}setHash(){}executeNamedAction(){}cachePageRef(){}isPageVisible(){return!0}isPageCached(){return!0}executeSetOCGState(){}}const PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},isBrowser=typeof document<"u",isLocalFileSystem=isBrowser&&window.location.protocol==="file:";function isDefined(l){return typeof l<"u"}function isProvided(l){return isDefined(l)&&l!==null}function isString(l){return typeof l=="string"}function isArrayBuffer(l){return l instanceof ArrayBuffer}function isBlob(l){return invariant(isBrowser,"isBlob can only be used in a browser environment"),l instanceof Blob}function isDataURI(l){return isString(l)&&/^data:/.test(l)}function dataURItoByteString(l){invariant(isDataURI(l),"Invalid data URI.");const[e="",n=""]=l.split(",");return e.split(";").indexOf("base64")!==-1?atob(n):unescape(n)}function getDevicePixelRatio$1(){return isBrowser&&window.devicePixelRatio||1}const allowFileAccessFromFilesTip="On Chromium based browsers, you can use --allow-file-access-from-files flag for debugging purposes.";function displayCORSWarning(){warning$1(!isLocalFileSystem,`Loading PDF as base64 strings/URLs may not work on protocols other than HTTP/HTTPS. ${allowFileAccessFromFilesTip}`)}function displayWorkerWarning(){warning$1(!isLocalFileSystem,`Loading PDF.js worker may not work on protocols other than HTTP/HTTPS. ${allowFileAccessFromFilesTip}`)}function cancelRunningTask(l){l&&l.cancel&&l.cancel()}function makePageCallback(l,e){return Object.defineProperty(l,"width",{get(){return this.view[2]*e},configurable:!0}),Object.defineProperty(l,"height",{get(){return this.view[3]*e},configurable:!0}),Object.defineProperty(l,"originalWidth",{get(){return this.view[2]},configurable:!0}),Object.defineProperty(l,"originalHeight",{get(){return this.view[3]},configurable:!0}),l}function isCancelException(l){return l.name==="RenderingCancelledException"}function loadFromFile(l){return new Promise((e,n)=>{const t=new FileReader;t.onload=()=>{if(!t.result)return n(new Error("Error while reading a file."));e(t.result)},t.onerror=a=>{if(!a.target)return n(new Error("Error while reading a file."));const{error:o}=a.target;if(!o)return n(new Error("Error while reading a file."));switch(o.code){case o.NOT_FOUND_ERR:return n(new Error("Error while reading a file: File not found."));case o.SECURITY_ERR:return n(new Error("Error while reading a file: Security error."));case o.ABORT_ERR:return n(new Error("Error while reading a file: Aborted."));default:return n(new Error("Error while reading a file."))}},t.readAsArrayBuffer(l)})}function reducer(l,e){switch(e.type){case"RESOLVE":return{value:e.value,error:void 0};case"REJECT":return{value:!1,error:e.error};case"RESET":return{value:void 0,error:void 0};default:return l}}function useResolver(){return React$2.useReducer(reducer,{value:void 0,error:void 0})}var __awaiter=function(l,e,n,t){function a(o){return o instanceof n?o:new n(function(d){d(o)})}return new(n||(n=Promise))(function(o,d){function h(p){try{u(t.next(p))}catch(x){d(x)}}function f(p){try{u(t.throw(p))}catch(x){d(x)}}function u(p){p.done?o(p.value):a(p.value).then(h,f)}u((t=t.apply(l,e||[])).next())})},__rest$2=function(l,e){var n={};for(var t in l)Object.prototype.hasOwnProperty.call(l,t)&&e.indexOf(t)<0&&(n[t]=l[t]);if(l!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,t=Object.getOwnPropertySymbols(l);a<t.length;a++)e.indexOf(t[a])<0&&Object.prototype.propertyIsEnumerable.call(l,t[a])&&(n[t[a]]=l[t[a]]);return n};const{PDFDataRangeTransport}=pdfjs,defaultOnPassword=(l,e)=>{switch(e){case PasswordResponses.NEED_PASSWORD:{const n=prompt("Enter the password to open this PDF file.");l(n);break}case PasswordResponses.INCORRECT_PASSWORD:{const n=prompt("Invalid password. Please try again.");l(n);break}}};function isParameterObject(l){return typeof l=="object"&&l!==null&&("data"in l||"range"in l||"url"in l)}const Document$1=React$2.forwardRef(function l(e,n){var{children:t,className:a,error:o="Failed to load PDF file.",externalLinkRel:d,externalLinkTarget:h,file:f,inputRef:u,imageResourcesPath:p,loading:x="Loading PDF…",noData:R="No PDF file specified.",onItemClick:S,onLoadError:E,onLoadProgress:g,onLoadSuccess:v,onPassword:T=defaultOnPassword,onSourceError:b,onSourceSuccess:_,options:w,renderMode:C,rotate:P}=e,D=__rest$2(e,["children","className","error","externalLinkRel","externalLinkTarget","file","inputRef","imageResourcesPath","loading","noData","onItemClick","onLoadError","onLoadProgress","onLoadSuccess","onPassword","onSourceError","onSourceSuccess","options","renderMode","rotate"]);const[N,k]=useResolver(),{value:F,error:M}=N,[U,$]=useResolver(),{value:B,error:J}=U,ne=React$2.useRef(new LinkService),ie=React$2.useRef([]),Y=React$2.useRef(void 0),q=React$2.useRef(void 0);f&&f!==Y.current&&isParameterObject(f)&&(warning$1(!dequal(f,Y.current),`File prop passed to <Document /> changed, but it's equal to previous one. This might result in unnecessary reloads. Consider memoizing the value passed to "file" prop.`),Y.current=f),w&&w!==q.current&&(warning$1(!dequal(w,q.current),`Options prop passed to <Document /> changed, but it's equal to previous one. This might result in unnecessary reloads. Consider memoizing the value passed to "options" prop.`),q.current=w);const re=React$2.useRef({scrollPageIntoView:Le=>{const{dest:Oe,pageNumber:Ke,pageIndex:St=Ke-1}=Le;if(S){S({dest:Oe,pageIndex:St,pageNumber:Ke});return}const it=ie.current[St];if(it){it.scrollIntoView();return}warning$1(!1,`An internal link leading to page ${Ke} was clicked, but neither <Document> was provided with onItemClick nor it was able to find the page within itself. Either provide onItemClick to <Document> and handle navigating by yourself or ensure that all pages are rendered within <Document>.`)}});React$2.useImperativeHandle(n,()=>({linkService:ne,pages:ie,viewer:re}),[]);function ce(){_&&_()}function fe(){M&&(warning$1(!1,M.toString()),b&&b(M))}function te(){k({type:"RESET"})}React$2.useEffect(te,[f,k]);const H=React$2.useCallback(()=>__awaiter(this,void 0,void 0,function*(){if(!f)return null;if(typeof f=="string")return isDataURI(f)?{data:dataURItoByteString(f)}:(displayCORSWarning(),{url:f});if(f instanceof PDFDataRangeTransport)return{range:f};if(isArrayBuffer(f))return{data:f};if(isBrowser&&isBlob(f))return{data:yield loadFromFile(f)};if(invariant(typeof f=="object","Invalid parameter in file, need either Uint8Array, string or a parameter object"),invariant(isParameterObject(f),"Invalid parameter object: need either .data, .range or .url"),"url"in f&&typeof f.url=="string"){if(isDataURI(f.url)){const{url:Le}=f,Oe=__rest$2(f,["url"]),Ke=dataURItoByteString(Le);return Object.assign({data:Ke},Oe)}displayCORSWarning()}return f}),[f]);React$2.useEffect(()=>{const Le=makeCancellablePromise(H());return Le.promise.then(Oe=>{k({type:"RESOLVE",value:Oe})}).catch(Oe=>{k({type:"REJECT",error:Oe})}),()=>{cancelRunningTask(Le)}},[H,k]),React$2.useEffect(()=>{if(!(typeof F>"u")){if(F===!1){fe();return}ce()}},[F]);function W(){B&&(v&&v(B),ie.current=new Array(B.numPages),ne.current.setDocument(B))}function V(){J&&(warning$1(!1,J.toString()),E&&E(J))}function z(){$({type:"RESET"})}React$2.useEffect(z,[$,F]);function Q(){if(!F)return;const Le=Object.assign(Object.assign({},w),{isEvalSupported:!1}),Oe=Object.assign(Object.assign({},F),Le),Ke=pdfjs.getDocument(Oe);g&&(Ke.onProgress=g),T&&(Ke.onPassword=T);const St=Ke;return St.promise.then(it=>{$({type:"RESOLVE",value:it})}).catch(it=>{St.destroyed||$({type:"REJECT",error:it})}),()=>{St.destroy()}}React$2.useEffect(Q,[w,$,F]),React$2.useEffect(()=>{if(!(typeof B>"u")){if(B===!1){V();return}W()}},[B]);function ee(){ne.current.setViewer(re.current),ne.current.setExternalLinkRel(d),ne.current.setExternalLinkTarget(h)}React$2.useEffect(ee,[d,h]);function le(Le,Oe){ie.current[Le]=Oe}function ue(Le){delete ie.current[Le]}const he=React$2.useMemo(()=>({imageResourcesPath:p,linkService:ne.current,onItemClick:S,pdf:B,registerPage:le,renderMode:C,rotate:P,unregisterPage:ue}),[p,S,B,C,P]),ve=React$2.useMemo(()=>makeEventProps(D,()=>B),[D,B]);function be(){return jsxRuntimeExports.jsx(DocumentContext.Provider,{value:he,children:t})}function Re(){return f?B==null?jsxRuntimeExports.jsx(Message$1,{type:"loading",children:typeof x=="function"?x():x}):B===!1?jsxRuntimeExports.jsx(Message$1,{type:"error",children:typeof o=="function"?o():o}):be():jsxRuntimeExports.jsx(Message$1,{type:"no-data",children:typeof R=="function"?R():R})}return jsxRuntimeExports.jsx("div",Object.assign({className:clsx("react-pdf__Document",a),ref:u,style:{"--scale-factor":"1"}},ve,{children:Re()}))}),Document$2=Document$1;function useDocumentContext(){return React$2.useContext(DocumentContext)}function mergeRefs(){for(var l=[],e=0;e<arguments.length;e++)l[e]=arguments[e];var n=l.filter(Boolean);if(n.length<=1){var t=n[0];return t||null}return function(o){n.forEach(function(d){typeof d=="function"?d(o):d&&(d.current=o)})}}const PageContext=React$2.createContext(null),PDF_ROLE_TO_HTML_ROLE={Document:null,DocumentFragment:null,Part:"group",Sect:"group",Div:"group",Aside:"note",NonStruct:"none",P:null,H:"heading",Title:null,FENote:"note",Sub:"group",Lbl:null,Span:null,Em:null,Strong:null,Link:"link",Annot:"note",Form:"form",Ruby:null,RB:null,RT:null,RP:null,Warichu:null,WT:null,WP:null,L:"list",LI:"listitem",LBody:null,Table:"table",TR:"row",TH:"columnheader",TD:"cell",THead:"columnheader",TBody:null,TFoot:null,Caption:null,Figure:"figure",Formula:null,Artifact:null},HEADING_PATTERN=/^H(\d+)$/;function isPdfRole(l){return l in PDF_ROLE_TO_HTML_ROLE}function isStructTreeNode(l){return"children"in l}function isStructTreeNodeWithOnlyContentChild(l){return isStructTreeNode(l)?l.children.length===1&&0 in l.children&&"id"in l.children[0]:!1}function getRoleAttributes(l){const e={};if(isStructTreeNode(l)){const{role:n}=l,t=n.match(HEADING_PATTERN);if(t)e.role="heading",e["aria-level"]=Number(t[1]);else if(isPdfRole(n)){const a=PDF_ROLE_TO_HTML_ROLE[n];a&&(e.role=a)}}return e}function getBaseAttributes(l){const e={};if(isStructTreeNode(l)){if(l.alt!==void 0&&(e["aria-label"]=l.alt),l.lang!==void 0&&(e.lang=l.lang),isStructTreeNodeWithOnlyContentChild(l)){const[n]=l.children;if(n){const t=getBaseAttributes(n);return Object.assign(Object.assign({},e),t)}}}else"id"in l&&(e["aria-owns"]=l.id);return e}function getAttributes(l){return l?Object.assign(Object.assign({},getRoleAttributes(l)),getBaseAttributes(l)):null}function StructTreeItem({className:l,node:e}){const n=React$2.useMemo(()=>getAttributes(e),[e]),t=React$2.useMemo(()=>!isStructTreeNode(e)||isStructTreeNodeWithOnlyContentChild(e)?null:e.children.map((a,o)=>jsxRuntimeExports.jsx(StructTreeItem,{node:a},o)),[e]);return jsxRuntimeExports.jsx("span",Object.assign({className:l},n,{children:t}))}function usePageContext(){return React$2.useContext(PageContext)}function StructTree(){const l=usePageContext();invariant(l,"Unable to find Page context.");const{onGetStructTreeError:e,onGetStructTreeSuccess:n}=l,[t,a]=useResolver(),{value:o,error:d}=t,{customTextRenderer:h,page:f}=l;function u(){o&&n&&n(o)}function p(){d&&(warning$1(!1,d.toString()),e&&e(d))}function x(){a({type:"RESET"})}React$2.useEffect(x,[a,f]);function R(){if(h||!f)return;const S=makeCancellablePromise(f.getStructTree()),E=S;return S.promise.then(g=>{a({type:"RESOLVE",value:g})}).catch(g=>{a({type:"REJECT",error:g})}),()=>cancelRunningTask(E)}return React$2.useEffect(R,[h,f,a]),React$2.useEffect(()=>{if(o!==void 0){if(o===!1){p();return}u()}},[o]),o?jsxRuntimeExports.jsx(StructTreeItem,{className:"react-pdf__Page__structTree structTree",node:o}):null}const ANNOTATION_MODE=pdfjs.AnnotationMode;function PageCanvas(l){const e=usePageContext();invariant(e,"Unable to find Page context.");const n=Object.assign(Object.assign({},e),l),{_className:t,canvasBackground:a,devicePixelRatio:o=getDevicePixelRatio$1(),onRenderError:d,onRenderSuccess:h,page:f,renderForms:u,renderTextLayer:p,rotate:x,scale:R}=n,{canvasRef:S}=l;invariant(f,"Attempted to render page canvas, but no page was specified.");const E=React$2.useRef(null);function g(){f&&h&&h(makePageCallback(f,R))}function v(C){isCancelException(C)||(warning$1(!1,C.toString()),d&&d(C))}const T=React$2.useMemo(()=>f.getViewport({scale:R*o,rotation:x}),[o,f,x,R]),b=React$2.useMemo(()=>f.getViewport({scale:R,rotation:x}),[f,x,R]);function _(){if(!f)return;f.cleanup();const{current:C}=E;if(!C)return;C.width=T.width,C.height=T.height,C.style.width=`${Math.floor(b.width)}px`,C.style.height=`${Math.floor(b.height)}px`,C.style.visibility="hidden";const P={annotationMode:u?ANNOTATION_MODE.ENABLE_FORMS:ANNOTATION_MODE.ENABLE,canvasContext:C.getContext("2d",{alpha:!1}),viewport:T};a&&(P.background=a);const D=f.render(P),N=D;return D.promise.then(()=>{C.style.visibility="",g()}).catch(v),()=>cancelRunningTask(N)}React$2.useEffect(_,[a,E,o,f,u,T,b]);const w=React$2.useCallback(()=>{const{current:C}=E;C&&(C.width=0,C.height=0)},[E]);return React$2.useEffect(()=>w,[w]),jsxRuntimeExports.jsx("canvas",{className:`${t}__canvas`,dir:"ltr",ref:mergeRefs(S,E),style:{display:"block",userSelect:"none"},children:p?jsxRuntimeExports.jsx(StructTree,{}):null})}function PageSVG(){const l=usePageContext();invariant(l,"Unable to find Page context.");const{_className:e,onRenderSuccess:n,onRenderError:t,page:a,rotate:o,scale:d}=l;invariant(a,"Attempted to render page SVG, but no page was specified.");const[h,f]=useResolver(),{value:u,error:p}=h;function x(){a&&n&&n(makePageCallback(a,d))}function R(){p&&(isCancelException(p)||(warning$1(!1,p.toString()),t&&t(p)))}const S=React$2.useMemo(()=>a.getViewport({scale:d,rotation:o}),[a,o,d]);function E(){f({type:"RESET"})}React$2.useEffect(E,[a,f,S]);function g(){if(!a)return;const _=makeCancellablePromise(a.getOperatorList());return _.promise.then(w=>{new pdfjs.SVGGraphics(a.commonObjs,a.objs).getSVG(w,S).then(P=>{if(!(P instanceof SVGElement))throw new Error("getSVG returned unexpected result.");f({type:"RESOLVE",value:P})}).catch(P=>{f({type:"REJECT",error:P})})}).catch(w=>{f({type:"REJECT",error:w})}),()=>cancelRunningTask(_)}React$2.useEffect(g,[a,f,S]),React$2.useEffect(()=>{if(u!==void 0){if(u===!1){R();return}x()}},[u]);function v(_){if(!_||!u)return;_.firstElementChild||_.appendChild(u);const{width:w,height:C}=S;u.setAttribute("width",`${w}`),u.setAttribute("height",`${C}`)}const{width:T,height:b}=S;return jsxRuntimeExports.jsx("div",{className:`${e}__svg`,ref:_=>v(_),style:{display:"block",backgroundColor:"white",overflow:"hidden",width:T,height:b,userSelect:"none"}})}function isTextItem(l){return"str"in l}function TextLayer(){const l=usePageContext();invariant(l,"Unable to find Page context.");const{customTextRenderer:e,onGetTextError:n,onGetTextSuccess:t,onRenderTextLayerError:a,onRenderTextLayerSuccess:o,page:d,pageIndex:h,pageNumber:f,rotate:u,scale:p}=l;invariant(d,"Attempted to load page text content, but no page was specified.");const[x,R]=useResolver(),{value:S,error:E}=x,g=React$2.useRef(null),v=React$2.useRef(void 0);warning$1(parseInt(window.getComputedStyle(document.body).getPropertyValue("--react-pdf-text-layer"),10)===1,"TextLayer styles not found. Read more: https://github.com/wojtekmaj/react-pdf#support-for-text-layer");function T(){S&&t&&t(S)}function b(){E&&(warning$1(!1,E.toString()),n&&n(E))}function _(){R({type:"RESET"})}React$2.useEffect(_,[d,R]);function w(){if(!d)return;const M=makeCancellablePromise(d.getTextContent()),U=M;return M.promise.then($=>{R({type:"RESOLVE",value:$})}).catch($=>{R({type:"REJECT",error:$})}),()=>cancelRunningTask(U)}React$2.useEffect(w,[d,R]),React$2.useEffect(()=>{if(S!==void 0){if(S===!1){b();return}T()}},[S]);const C=React$2.useCallback(()=>{o&&o()},[o]),P=React$2.useCallback(M=>{warning$1(!1,M.toString()),a&&a(M)},[a]);function D(){const M=v.current;M&&M.classList.add("active")}function N(){const M=v.current;M&&M.classList.remove("active")}const k=React$2.useMemo(()=>d.getViewport({scale:p,rotation:u}),[d,u,p]);function F(){if(!d||!S)return;const{current:M}=g;if(!M)return;M.innerHTML="";const U=d.streamTextContent({includeMarkedContent:!0}),$={container:M,textContentSource:U,viewport:k},B=pdfjs.renderTextLayer($),J=B;return B.promise.then(()=>{const ne=document.createElement("div");ne.className="endOfContent",M.append(ne),v.current=ne;const ie=M.querySelectorAll('[role="presentation"]');if(e){let Y=0;S.items.forEach((q,re)=>{if(!isTextItem(q))return;const ce=ie[Y];if(!ce)return;const fe=e(Object.assign({pageIndex:h,pageNumber:f,itemIndex:re},q));ce.innerHTML=fe,Y+=q.str&&q.hasEOL?2:1})}C()}).catch(P),()=>cancelRunningTask(J)}return React$2.useLayoutEffect(F,[e,P,C,d,h,f,S,k]),jsxRuntimeExports.jsx("div",{className:clsx("react-pdf__Page__textContent","textLayer"),onMouseUp:N,onMouseDown:D,ref:g})}function AnnotationLayer(){const l=useDocumentContext(),e=usePageContext();invariant(e,"Unable to find Page context.");const n=Object.assign(Object.assign({},l),e),{imageResourcesPath:t,linkService:a,onGetAnnotationsError:o,onGetAnnotationsSuccess:d,onRenderAnnotationLayerError:h,onRenderAnnotationLayerSuccess:f,page:u,pdf:p,renderForms:x,rotate:R,scale:S=1}=n;invariant(p,"Attempted to load page annotations, but no document was specified. Wrap <Page /> in a <Document /> or pass explicit `pdf` prop."),invariant(u,"Attempted to load page annotations, but no page was specified."),invariant(a,"Attempted to load page annotations, but no linkService was specified.");const[E,g]=useResolver(),{value:v,error:T}=E,b=React$2.useRef(null);warning$1(parseInt(window.getComputedStyle(document.body).getPropertyValue("--react-pdf-annotation-layer"),10)===1,"AnnotationLayer styles not found. Read more: https://github.com/wojtekmaj/react-pdf#support-for-annotations");function _(){v&&d&&d(v)}function w(){T&&(warning$1(!1,T.toString()),o&&o(T))}function C(){g({type:"RESET"})}React$2.useEffect(C,[g,u]);function P(){if(!u)return;const M=makeCancellablePromise(u.getAnnotations()),U=M;return M.promise.then($=>{g({type:"RESOLVE",value:$})}).catch($=>{g({type:"REJECT",error:$})}),()=>{cancelRunningTask(U)}}React$2.useEffect(P,[g,u,x]),React$2.useEffect(()=>{if(v!==void 0){if(v===!1){w();return}_()}},[v]);function D(){f&&f()}function N(M){warning$1(!1,`${M}`),h&&h(M)}const k=React$2.useMemo(()=>u.getViewport({scale:S,rotation:R}),[u,R,S]);function F(){if(!p||!u||!a||!v)return;const{current:M}=b;if(!M)return;const U=k.clone({dontFlip:!0}),$={accessibilityManager:null,annotationCanvasMap:null,div:M,l10n:null,page:u,viewport:U},B={annotations:v,annotationStorage:p.annotationStorage,div:M,downloadManager:null,imageResourcesPath:t,linkService:a,page:u,renderForms:x,viewport:U};M.innerHTML="";try{new pdfjs.AnnotationLayer($).render(B),D()}catch(J){N(J)}return()=>{}}return React$2.useEffect(F,[v,t,a,u,x,k]),jsxRuntimeExports.jsx("div",{className:clsx("react-pdf__Page__annotations","annotationLayer"),ref:b})}var __rest$1=function(l,e){var n={};for(var t in l)Object.prototype.hasOwnProperty.call(l,t)&&e.indexOf(t)<0&&(n[t]=l[t]);if(l!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,t=Object.getOwnPropertySymbols(l);a<t.length;a++)e.indexOf(t[a])<0&&Object.prototype.propertyIsEnumerable.call(l,t[a])&&(n[t[a]]=l[t[a]]);return n};const defaultScale=1;function Page(l){const e=useDocumentContext(),n=Object.assign(Object.assign({},e),l),{_className:t="react-pdf__Page",_enableRegisterUnregisterPage:a=!0,canvasBackground:o,canvasRef:d,children:h,className:f,customRenderer:u,customTextRenderer:p,devicePixelRatio:x,error:R="Failed to load the page.",height:S,inputRef:E,loading:g="Loading page…",noData:v="No page specified.",onGetAnnotationsError:T,onGetAnnotationsSuccess:b,onGetStructTreeError:_,onGetStructTreeSuccess:w,onGetTextError:C,onGetTextSuccess:P,onLoadError:D,onLoadSuccess:N,onRenderAnnotationLayerError:k,onRenderAnnotationLayerSuccess:F,onRenderError:M,onRenderSuccess:U,onRenderTextLayerError:$,onRenderTextLayerSuccess:B,pageIndex:J,pageNumber:ne,pdf:ie,registerPage:Y,renderAnnotationLayer:q=!0,renderForms:re=!1,renderMode:ce="canvas",renderTextLayer:fe=!0,rotate:te,scale:H=defaultScale,unregisterPage:W,width:V}=n,z=__rest$1(n,["_className","_enableRegisterUnregisterPage","canvasBackground","canvasRef","children","className","customRenderer","customTextRenderer","devicePixelRatio","error","height","inputRef","loading","noData","onGetAnnotationsError","onGetAnnotationsSuccess","onGetStructTreeError","onGetStructTreeSuccess","onGetTextError","onGetTextSuccess","onLoadError","onLoadSuccess","onRenderAnnotationLayerError","onRenderAnnotationLayerSuccess","onRenderError","onRenderSuccess","onRenderTextLayerError","onRenderTextLayerSuccess","pageIndex","pageNumber","pdf","registerPage","renderAnnotationLayer","renderForms","renderMode","renderTextLayer","rotate","scale","unregisterPage","width"]),[Q,ee]=useResolver(),{value:le,error:ue}=Q,he=React$2.useRef(null);invariant(ie,"Attempted to load a page, but no document was specified. Wrap <Page /> in a <Document /> or pass explicit `pdf` prop.");const ve=isProvided(ne)?ne-1:J??null,be=ne??(isProvided(J)?J+1:null),Re=te??(le?le.rotate:null),Le=React$2.useMemo(()=>{if(!le)return null;let Qe=1;const Be=H??defaultScale;if(V||S){const Xe=le.getViewport({scale:1,rotation:Re});V?Qe=V/Xe.width:S&&(Qe=S/Xe.height)}return Be*Qe},[S,le,Re,H,V]);function Oe(){return()=>{isProvided(ve)&&a&&W&&W(ve)}}React$2.useEffect(Oe,[a,ie,ve,W]);function Ke(){if(N){if(!le||!Le)return;N(makePageCallback(le,Le))}if(a&&Y){if(!isProvided(ve)||!he.current)return;Y(ve,he.current)}}function St(){ue&&(warning$1(!1,ue.toString()),D&&D(ue))}function it(){ee({type:"RESET"})}React$2.useEffect(it,[ee,ie,ve]);function gt(){if(!ie||!be)return;const Qe=makeCancellablePromise(ie.getPage(be)),Be=Qe;return Qe.promise.then(Xe=>{ee({type:"RESOLVE",value:Xe})}).catch(Xe=>{ee({type:"REJECT",error:Xe})}),()=>cancelRunningTask(Be)}React$2.useEffect(gt,[ee,ie,ve,be,Y]),React$2.useEffect(()=>{if(le!==void 0){if(le===!1){St();return}Ke()}},[le,Le]);const Ge=React$2.useMemo(()=>le&&isProvided(ve)&&be&&isProvided(Re)&&isProvided(Le)?{_className:t,canvasBackground:o,customTextRenderer:p,devicePixelRatio:x,onGetAnnotationsError:T,onGetAnnotationsSuccess:b,onGetStructTreeError:_,onGetStructTreeSuccess:w,onGetTextError:C,onGetTextSuccess:P,onRenderAnnotationLayerError:k,onRenderAnnotationLayerSuccess:F,onRenderError:M,onRenderSuccess:U,onRenderTextLayerError:$,onRenderTextLayerSuccess:B,page:le,pageIndex:ve,pageNumber:be,renderForms:re,renderTextLayer:fe,rotate:Re,scale:Le}:null,[t,o,p,x,T,b,_,w,C,P,k,F,M,U,$,B,le,ve,be,re,fe,Re,Le]),Me=React$2.useMemo(()=>makeEventProps(z,()=>le&&(Le?makePageCallback(le,Le):void 0)),[z,le,Le]),De=`${ve}@${Le}/${Re}`,Ve=`${ve}/${Re}`;function ct(){switch(ce){case"custom":return invariant(u,'renderMode was set to "custom", but no customRenderer was passed.'),jsxRuntimeExports.jsx(u,{},`${De}_custom`);case"none":return null;case"svg":return jsxRuntimeExports.jsx(PageSVG,{},`${Ve}_svg`);case"canvas":default:return jsxRuntimeExports.jsx(PageCanvas,{canvasRef:d},`${De}_canvas`)}}function dt(){return fe?jsxRuntimeExports.jsx(TextLayer,{},`${De}_text`):null}function rt(){return q?jsxRuntimeExports.jsx(AnnotationLayer,{},`${De}_annotations`):null}function xt(){return jsxRuntimeExports.jsxs(PageContext.Provider,{value:Ge,children:[ct(),dt(),rt(),h]})}function Et(){return be?ie===null||le===void 0||le===null?jsxRuntimeExports.jsx(Message$1,{type:"loading",children:typeof g=="function"?g():g}):ie===!1||le===!1?jsxRuntimeExports.jsx(Message$1,{type:"error",children:typeof R=="function"?R():R}):xt():jsxRuntimeExports.jsx(Message$1,{type:"no-data",children:typeof v=="function"?v():v})}return jsxRuntimeExports.jsx("div",Object.assign({className:clsx(t,f),"data-page-number":be,ref:mergeRefs(E,he),style:{"--scale-factor":`${Le}`,backgroundColor:o||"white",position:"relative",minWidth:"min-content",minHeight:"min-content"}},Me,{children:Et()}))}displayWorkerWarning();pdfjs.GlobalWorkerOptions.workerSrc="pdf.worker.js";const DeviceDetection=()=>navigator.userAgent.match(/(android)/i)||["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document,BrowserDetection=()=>{const l=navigator.userAgent.toLowerCase(),e=l.indexOf("firefox")>-1,n=l.indexOf("safari")>-1&&l.indexOf("chrome")<=-1;let t="default";return e?t="firefox":n&&(t="safari"),t};pdfjs.GlobalWorkerOptions.workerSrc=`//unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.js`;const SCALE_LIMIT=2,maxValues={default:{area:268435456,sideBig:65535},firefox:{area:124992400,sideBig:32767},safari:{area:16777216,sideBig:4194303}},getMaxPermitted=()=>{const l=BrowserDetection();return maxValues[l]},formatScale=l=>l>1?Math.floor(l):Math.floor(l*100)/100,getMaxScaleByArea=(l,e,n)=>{const t=e*n*window.devicePixelRatio**2,a=Math.sqrt(l/t);return formatScale(a)},getMaxScaleBySide=(l,e,n)=>{const t=e>n?e:n,o=l/window.devicePixelRatio/t;return formatScale(o)};function PdfVisor({url:l,endPdf:e,emitNumberOfPages:n,translate:t,soundActions:a,keyboardControl:o}){const d=React$2.useRef(),[h,f]=React$2.useState(1),[u,p]=React$2.useState(!0),[x,R]=React$2.useState(),[S,E]=React$2.useState(1),[g]=a,v=React$2.useCallback(C=>{C.getPage(1).then(D=>{const N=D.getViewport(1),k=N.viewBox[2]-N.viewBox[0],F=N.viewBox[3]-N.viewBox[1],M=getMaxPermitted(),U=getMaxScaleByArea(M.area,k,F),$=getMaxScaleBySide(M.sideBig,k,F),B=U<$?U:$;E(B>SCALE_LIMIT?SCALE_LIMIT:B)}),f(C.numPages),C.numPages&&n({numPages:C.numPages,currentPage:x});const P=()=>(setTimeout(()=>{d.current&&d.current.scrollHeight<=d.current.offsetHeight&&p(!1)},1e3),()=>{P&&clearTimeout(P)});P()},[x,n]);React$2.useEffect(()=>{R(1)},[]);const T={file:l,loading:"Loading file...",onLoadSuccess:v,onLoadError:C=>console.error(C)},b=C=>{g("click-ui"),d.current.scrollTo(0,0),p(!1),R(x+C),n({numPages:h,currentPage:x+C}),x===h-1&&e()},_=o({rewind:h>1&&x!==1?()=>b(-1):null,forward:h>1&&x!==h?()=>b(1):null});React$2.useEffect(()=>_(),[_]);const w=()=>{p(!1)};return jsxRuntimeExports.jsx("div",{className:"full-height",children:jsxRuntimeExports.jsxs("div",{className:"pdf-box",dir:LangIsRtl()?"rtl":"auto",children:[jsxRuntimeExports.jsxs("div",{className:"pdf-box__scrollwrap",children:[jsxRuntimeExports.jsxs("div",{tabIndex:"0",onScroll:w,ref:d,className:`pdf-box__scroll ${u?"pdf-box__scroll--overlay":""}`,children:[jsxRuntimeExports.jsx(Document$2,{...T,children:jsxRuntimeExports.jsx(Page,{renderAnnotationLayer:!1,renderTextLayer:!1,scale:S,pageNumber:x})}),jsxRuntimeExports.jsx("div",{className:"pdf-box__mouse icon-scroll-down-black"})]}),h>1&&jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsx("div",{className:"pdf-box__paginator",children:jsxRuntimeExports.jsxs("span",{children:[t("storylines.misc.page")," ",x," ",t("storylines.misc.of")," ",h]})})})]}),h>1&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("button",{className:`pdf-box__arrow pdf-box__arrow--left gat--btn__round ${x===1?"pdf-box__arrow--hidden":""}`,type:"button",disabled:x===1,onClick:()=>b(-1),"aria-label":LangIsRtl()?t("storylines.misc.nextPage"):t("storylines.misc.previousPage"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-next":"icon-back"})}),jsxRuntimeExports.jsx("button",{className:`pdf-box__arrow pdf-box__arrow--right gat--btn__round ${x===h?"pdf-box__arrow--hidden":""}`,type:"button",disabled:x===h,onClick:()=>b(1),"aria-label":LangIsRtl()?t("storylines.misc.previousPage"):t("storylines.misc.nextPage"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-back":"icon-next"})})]})]})})}function PdfComponent({emitEvent:l,soundActions:e,keyboardControl:n,documentType:t,name:a,required:o,viewed:d,visible:h,documentId:f,documentId_labelId:u,...p}){const x=F=>l({type:"translate",payload:F}),[R]=e,S=p.document,{url:E}=S||"",[g,v]=React$2.useState(!1),T=React$2.useMemo(()=>({documentType:t,name:a,documentId:u,type:"pdf"}),[t,a,u]),b=React$2.useCallback(()=>{l({type:"finishMedia",payload:T})},[T,l]),[_,w]=React$2.useState(!1),[C,P]=React$2.useState(!1);React$2.useEffect(()=>{h||b(),o||v(!0)},[h,b,o]);const D=n({forward:_||!d&&C||C&&!o?b:null,escape:_||!d&&C||!o?b:null});if(React$2.useEffect(()=>D(),[D]),!h)return null;const N=()=>{v(!0)},k=F=>{F.numPages===F.currentPage?P(!0):P(!1),F.numPages===1&&w(!0)};return jsxRuntimeExports.jsxs("div",{className:`${d?"notes--results":"full-height"}`,children:[(_||!d&&g)&&jsxRuntimeExports.jsx("div",{className:"position--absolute top right z-index1",children:jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn__round gat--btn__close",onClick:()=>{b(),R("click-ui")},"aria-label":x("storylines.misc.closePiece"),children:jsxRuntimeExports.jsx("span",{className:"icon-close"})})}),E&&jsxRuntimeExports.jsx(PdfVisor,{soundActions:e,emitNumberOfPages:F=>k(F),url:E,endPdf:N,translate:x,keyboardControl:n})]})}function UrlComponent({emitEvent:l,name:e,name_labelId:n,link:t,link_labelId:a,text:o,text_labelId:d,textForLink:h,viewed:f,documentType:u,soundActions:p,keyboardControl:x,visible:R,allowContinue:S=!1}){const E=P=>l({type:"translate",payload:P}),g={documentType:u,name:n,text:d,link:a,type:"url"},[v]=p,T=()=>{v("click-ui"),l({type:"finishMedia",payload:g})},[b,_]=React$2.useState(!1),w=x({disabled:f,forward:T,escape:T});React$2.useEffect(()=>w(),[w]);const C=t.indexOf("http")!==0?`http://${t}`:t;return React$2.useEffect(()=>{R||T()}),R&&jsxRuntimeExports.jsx("div",{className:"popup--layer",children:jsxRuntimeExports.jsxs("div",{className:"popup popup--link",children:[!f&&b||S?jsxRuntimeExports.jsx("button",{className:"popup--close unset-button","data-testid":"close",type:"button","aria-label":E("storylines.misc.closePiece"),onClick:()=>T(),children:jsxRuntimeExports.jsx("span",{className:"icon-close"})}):null,jsxRuntimeExports.jsx("span",{className:"popup--link__title",children:e}),jsxRuntimeExports.jsx("span",{className:"popup--link__desc",children:o}),jsxRuntimeExports.jsx("a",{className:"popup--link__lineclamp popup--link__url",href:C,target:"_blank",role:"link",rel:"noopener noreferrer",onClick:()=>{v("click-ui"),_(!0)},children:h||t})]})})}var hls={exports:{}};(function(l,e){typeof window<"u"&&function(t,a){l.exports=a()}(commonjsGlobal,function(){return function(n){var t={};function a(o){if(t[o])return t[o].exports;var d=t[o]={i:o,l:!1,exports:{}};return n[o].call(d.exports,d,d.exports,a),d.l=!0,d.exports}return a.m=n,a.c=t,a.d=function(o,d,h){a.o(o,d)||Object.defineProperty(o,d,{enumerable:!0,get:h})},a.r=function(o){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},a.t=function(o,d){if(d&1&&(o=a(o)),d&8||d&4&&typeof o=="object"&&o&&o.__esModule)return o;var h=Object.create(null);if(a.r(h),Object.defineProperty(h,"default",{enumerable:!0,value:o}),d&2&&typeof o!="string")for(var f in o)a.d(h,f,(function(u){return o[u]}).bind(null,f));return h},a.n=function(o){var d=o&&o.__esModule?function(){return o.default}:function(){return o};return a.d(d,"a",d),d},a.o=function(o,d){return Object.prototype.hasOwnProperty.call(o,d)},a.p="/dist/",a(a.s="./src/hls.js")}({"./node_modules/eventemitter3/index.js":function(n,t,a){var o=Object.prototype.hasOwnProperty,d="~";function h(){}Object.create&&(h.prototype=Object.create(null),new h().__proto__||(d=!1));function f(R,S,E){this.fn=R,this.context=S,this.once=E||!1}function u(R,S,E,g,v){if(typeof E!="function")throw new TypeError("The listener must be a function");var T=new f(E,g||R,v),b=d?d+S:S;return R._events[b]?R._events[b].fn?R._events[b]=[R._events[b],T]:R._events[b].push(T):(R._events[b]=T,R._eventsCount++),R}function p(R,S){--R._eventsCount===0?R._events=new h:delete R._events[S]}function x(){this._events=new h,this._eventsCount=0}x.prototype.eventNames=function(){var S=[],E,g;if(this._eventsCount===0)return S;for(g in E=this._events)o.call(E,g)&&S.push(d?g.slice(1):g);return Object.getOwnPropertySymbols?S.concat(Object.getOwnPropertySymbols(E)):S},x.prototype.listeners=function(S){var E=d?d+S:S,g=this._events[E];if(!g)return[];if(g.fn)return[g.fn];for(var v=0,T=g.length,b=new Array(T);v<T;v++)b[v]=g[v].fn;return b},x.prototype.listenerCount=function(S){var E=d?d+S:S,g=this._events[E];return g?g.fn?1:g.length:0},x.prototype.emit=function(S,E,g,v,T,b){var _=d?d+S:S;if(!this._events[_])return!1;var w=this._events[_],C=arguments.length,P,D;if(w.fn){switch(w.once&&this.removeListener(S,w.fn,void 0,!0),C){case 1:return w.fn.call(w.context),!0;case 2:return w.fn.call(w.context,E),!0;case 3:return w.fn.call(w.context,E,g),!0;case 4:return w.fn.call(w.context,E,g,v),!0;case 5:return w.fn.call(w.context,E,g,v,T),!0;case 6:return w.fn.call(w.context,E,g,v,T,b),!0}for(D=1,P=new Array(C-1);D<C;D++)P[D-1]=arguments[D];w.fn.apply(w.context,P)}else{var N=w.length,k;for(D=0;D<N;D++)switch(w[D].once&&this.removeListener(S,w[D].fn,void 0,!0),C){case 1:w[D].fn.call(w[D].context);break;case 2:w[D].fn.call(w[D].context,E);break;case 3:w[D].fn.call(w[D].context,E,g);break;case 4:w[D].fn.call(w[D].context,E,g,v);break;default:if(!P)for(k=1,P=new Array(C-1);k<C;k++)P[k-1]=arguments[k];w[D].fn.apply(w[D].context,P)}}return!0},x.prototype.on=function(S,E,g){return u(this,S,E,g,!1)},x.prototype.once=function(S,E,g){return u(this,S,E,g,!0)},x.prototype.removeListener=function(S,E,g,v){var T=d?d+S:S;if(!this._events[T])return this;if(!E)return p(this,T),this;var b=this._events[T];if(b.fn)b.fn===E&&(!v||b.once)&&(!g||b.context===g)&&p(this,T);else{for(var _=0,w=[],C=b.length;_<C;_++)(b[_].fn!==E||v&&!b[_].once||g&&b[_].context!==g)&&w.push(b[_]);w.length?this._events[T]=w.length===1?w[0]:w:p(this,T)}return this},x.prototype.removeAllListeners=function(S){var E;return S?(E=d?d+S:S,this._events[E]&&p(this,E)):(this._events=new h,this._eventsCount=0),this},x.prototype.off=x.prototype.removeListener,x.prototype.addListener=x.prototype.on,x.prefixed=d,x.EventEmitter=x,n.exports=x},"./node_modules/node-libs-browser/node_modules/events/events.js":function(n,t){function a(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}n.exports=a,a.EventEmitter=a,a.prototype._events=void 0,a.prototype._maxListeners=void 0,a.defaultMaxListeners=10,a.prototype.setMaxListeners=function(u){if(!d(u)||u<0||isNaN(u))throw TypeError("n must be a positive number");return this._maxListeners=u,this},a.prototype.emit=function(u){var p,x,R,S,E,g;if(this._events||(this._events={}),u==="error"&&(!this._events.error||h(this._events.error)&&!this._events.error.length)){if(p=arguments[1],p instanceof Error)throw p;var v=new Error('Uncaught, unspecified "error" event. ('+p+")");throw v.context=p,v}if(x=this._events[u],f(x))return!1;if(o(x))switch(arguments.length){case 1:x.call(this);break;case 2:x.call(this,arguments[1]);break;case 3:x.call(this,arguments[1],arguments[2]);break;default:S=Array.prototype.slice.call(arguments,1),x.apply(this,S)}else if(h(x))for(S=Array.prototype.slice.call(arguments,1),g=x.slice(),R=g.length,E=0;E<R;E++)g[E].apply(this,S);return!0},a.prototype.addListener=function(u,p){var x;if(!o(p))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",u,o(p.listener)?p.listener:p),this._events[u]?h(this._events[u])?this._events[u].push(p):this._events[u]=[this._events[u],p]:this._events[u]=p,h(this._events[u])&&!this._events[u].warned&&(f(this._maxListeners)?x=a.defaultMaxListeners:x=this._maxListeners,x&&x>0&&this._events[u].length>x&&(this._events[u].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[u].length),typeof console.trace=="function"&&console.trace())),this},a.prototype.on=a.prototype.addListener,a.prototype.once=function(u,p){if(!o(p))throw TypeError("listener must be a function");var x=!1;function R(){this.removeListener(u,R),x||(x=!0,p.apply(this,arguments))}return R.listener=p,this.on(u,R),this},a.prototype.removeListener=function(u,p){var x,R,S,E;if(!o(p))throw TypeError("listener must be a function");if(!this._events||!this._events[u])return this;if(x=this._events[u],S=x.length,R=-1,x===p||o(x.listener)&&x.listener===p)delete this._events[u],this._events.removeListener&&this.emit("removeListener",u,p);else if(h(x)){for(E=S;E-- >0;)if(x[E]===p||x[E].listener&&x[E].listener===p){R=E;break}if(R<0)return this;x.length===1?(x.length=0,delete this._events[u]):x.splice(R,1),this._events.removeListener&&this.emit("removeListener",u,p)}return this},a.prototype.removeAllListeners=function(u){var p,x;if(!this._events)return this;if(!this._events.removeListener)return arguments.length===0?this._events={}:this._events[u]&&delete this._events[u],this;if(arguments.length===0){for(p in this._events)p!=="removeListener"&&this.removeAllListeners(p);return this.removeAllListeners("removeListener"),this._events={},this}if(x=this._events[u],o(x))this.removeListener(u,x);else if(x)for(;x.length;)this.removeListener(u,x[x.length-1]);return delete this._events[u],this},a.prototype.listeners=function(u){var p;return!this._events||!this._events[u]?p=[]:o(this._events[u])?p=[this._events[u]]:p=this._events[u].slice(),p},a.prototype.listenerCount=function(u){if(this._events){var p=this._events[u];if(o(p))return 1;if(p)return p.length}return 0},a.listenerCount=function(u,p){return u.listenerCount(p)};function o(u){return typeof u=="function"}function d(u){return typeof u=="number"}function h(u){return typeof u=="object"&&u!==null}function f(u){return u===void 0}},"./node_modules/url-toolkit/src/url-toolkit.js":function(n,t,a){(function(o){var d=/^((?:[a-zA-Z0-9+\-.]+:)?)(\/\/[^\/?#]*)?((?:[^\/\?#]*\/)*.*?)??(;.*?)?(\?.*?)?(#.*?)?$/,h=/^([^\/?#]*)(.*)$/,f=/(?:\/|^)\.(?=\/)/g,u=/(?:\/|^)\.\.\/(?!\.\.\/).*?(?=\/)/g,p={buildAbsoluteURL:function(x,R,S){if(S=S||{},x=x.trim(),R=R.trim(),!R){if(!S.alwaysNormalize)return x;var E=p.parseURL(x);if(!E)throw new Error("Error trying to parse base URL.");return E.path=p.normalizePath(E.path),p.buildURLFromParts(E)}var g=p.parseURL(R);if(!g)throw new Error("Error trying to parse relative URL.");if(g.scheme)return S.alwaysNormalize?(g.path=p.normalizePath(g.path),p.buildURLFromParts(g)):R;var v=p.parseURL(x);if(!v)throw new Error("Error trying to parse base URL.");if(!v.netLoc&&v.path&&v.path[0]!=="/"){var T=h.exec(v.path);v.netLoc=T[1],v.path=T[2]}v.netLoc&&!v.path&&(v.path="/");var b={scheme:v.scheme,netLoc:g.netLoc,path:null,params:g.params,query:g.query,fragment:g.fragment};if(!g.netLoc&&(b.netLoc=v.netLoc,g.path[0]!=="/"))if(!g.path)b.path=v.path,g.params||(b.params=v.params,g.query||(b.query=v.query));else{var _=v.path,w=_.substring(0,_.lastIndexOf("/")+1)+g.path;b.path=p.normalizePath(w)}return b.path===null&&(b.path=S.alwaysNormalize?p.normalizePath(g.path):g.path),p.buildURLFromParts(b)},parseURL:function(x){var R=d.exec(x);return R?{scheme:R[1]||"",netLoc:R[2]||"",path:R[3]||"",params:R[4]||"",query:R[5]||"",fragment:R[6]||""}:null},normalizePath:function(x){for(x=x.split("").reverse().join("").replace(f,"");x.length!==(x=x.replace(u,"")).length;);return x.split("").reverse().join("")},buildURLFromParts:function(x){return x.scheme+x.netLoc+x.path+x.params+x.query+x.fragment}};n.exports=p})()},"./node_modules/webworkify-webpack/index.js":function(n,t,a){function o(S){var E={};function g(T){if(E[T])return E[T].exports;var b=E[T]={i:T,l:!1,exports:{}};return S[T].call(b.exports,b,b.exports,g),b.l=!0,b.exports}g.m=S,g.c=E,g.i=function(T){return T},g.d=function(T,b,_){g.o(T,b)||Object.defineProperty(T,b,{configurable:!1,enumerable:!0,get:_})},g.r=function(T){Object.defineProperty(T,"__esModule",{value:!0})},g.n=function(T){var b=T&&T.__esModule?function(){return T.default}:function(){return T};return g.d(b,"a",b),b},g.o=function(T,b){return Object.prototype.hasOwnProperty.call(T,b)},g.p="/",g.oe=function(T){throw console.error(T),T};var v=g(g.s=ENTRY_MODULE);return v.default||v}var d="[\\.|\\-|\\+|\\w|/|@]+",h="\\((/\\*.*?\\*/)?s?.*?("+d+").*?\\)";function f(S){return(S+"").replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}function u(S){return!isNaN(1*S)}function p(S,E,g){var v={};v[g]=[];var T=E.toString(),b=T.match(/^function\s?\(\w+,\s*\w+,\s*(\w+)\)/);if(!b)return v;for(var _=b[1],w=new RegExp("(\\\\n|\\W)"+f(_)+h,"g"),C;C=w.exec(T);)C[3]!=="dll-reference"&&v[g].push(C[3]);for(w=new RegExp("\\("+f(_)+'\\("(dll-reference\\s('+d+'))"\\)\\)'+h,"g");C=w.exec(T);)S[C[2]]||(v[g].push(C[1]),S[C[2]]=a(C[1]).m),v[C[2]]=v[C[2]]||[],v[C[2]].push(C[4]);for(var P=Object.keys(v),D=0;D<P.length;D++)for(var N=0;N<v[P[D]].length;N++)u(v[P[D]][N])&&(v[P[D]][N]=1*v[P[D]][N]);return v}function x(S){var E=Object.keys(S);return E.reduce(function(g,v){return g||S[v].length>0},!1)}function R(S,E){for(var g={main:[E]},v={main:[]},T={main:{}};x(g);)for(var b=Object.keys(g),_=0;_<b.length;_++){var w=b[_],C=g[w],P=C.pop();if(T[w]=T[w]||{},!(T[w][P]||!S[w][P])){T[w][P]=!0,v[w]=v[w]||[],v[w].push(P);for(var D=p(S,S[w][P],w),N=Object.keys(D),k=0;k<N.length;k++)g[N[k]]=g[N[k]]||[],g[N[k]]=g[N[k]].concat(D[N[k]])}}return v}n.exports=function(S,E){E=E||{};var g={main:a.m},v=E.all?{main:Object.keys(g.main)}:R(g,S),T="";Object.keys(v).filter(function(P){return P!=="main"}).forEach(function(P){for(var D=0;v[P][D];)D++;v[P].push(D),g[P][D]="(function(module, exports, __webpack_require__) { module.exports = __webpack_require__; })",T=T+"var "+P+" = ("+o.toString().replace("ENTRY_MODULE",JSON.stringify(D))+")({"+v[P].map(function(N){return""+JSON.stringify(N)+": "+g[P][N].toString()}).join(",")+`});
35
35
  `}),T=T+"new (("+o.toString().replace("ENTRY_MODULE",JSON.stringify(S))+")({"+v.main.map(function(P){return""+JSON.stringify(P)+": "+g.main[P].toString()}).join(",")+"}))(self);";var b=new window.Blob([T],{type:"text/javascript"});if(E.bare)return b;var _=window.URL||window.webkitURL||window.mozURL||window.msURL,w=_.createObjectURL(b),C=new window.Worker(w);return C.objectURL=w,C}},"./src/config.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/controller/abr-controller.js"),d=a("./src/controller/buffer-controller.js"),h=a("./src/controller/cap-level-controller.js"),f=a("./src/controller/fps-controller.js"),u=a("./src/utils/xhr-loader.js"),p=a("./src/controller/audio-track-controller.js"),x=a("./src/controller/audio-stream-controller.js"),R=a("./src/utils/cues.js"),S=a("./src/controller/timeline-controller.js"),E=a("./src/controller/subtitle-track-controller.js"),g=a("./src/controller/subtitle-stream-controller.js"),v=a("./src/controller/eme-controller.js"),T=a("./src/utils/mediakeys-helper.js");t.hlsDefaultConfig={autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,initialLiveManifestSize:1,maxBufferLength:30,maxBufferSize:60*1e3*1e3,maxBufferHole:.5,lowBufferWatchdogPeriod:.5,highBufferWatchdogPeriod:3,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,liveDurationInfinity:!1,liveBackBufferLength:1/0,maxMaxBufferLength:600,enableWorker:!0,enableSoftwareAES:!0,manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,startLevel:void 0,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,loader:u.default,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,abrController:o.default,bufferController:d.default,capLevelController:h.default,fpsController:f.default,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,requestMediaKeySystemAccessFunc:T.requestMediaKeySystemAccess},t.hlsDefaultConfig.subtitleStreamController=g.SubtitleStreamController,t.hlsDefaultConfig.subtitleTrackController=E.default,t.hlsDefaultConfig.timelineController=S.default,t.hlsDefaultConfig.cueHandler=R,t.hlsDefaultConfig.enableCEA708Captions=!0,t.hlsDefaultConfig.enableWebVTT=!0,t.hlsDefaultConfig.captionsTextTrack1Label="English",t.hlsDefaultConfig.captionsTextTrack1LanguageCode="en",t.hlsDefaultConfig.captionsTextTrack2Label="Spanish",t.hlsDefaultConfig.captionsTextTrack2LanguageCode="es",t.hlsDefaultConfig.audioStreamController=x.default,t.hlsDefaultConfig.audioTrackController=p.default,t.hlsDefaultConfig.emeController=v.default},"./src/controller/abr-controller.js":function(n,t,a){(function(o){var d=this&&this.__extends||function(){var g=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,T){v.__proto__=T}||function(v,T){for(var b in T)T.hasOwnProperty(b)&&(v[b]=T[b])};return function(v,T){g(v,T);function b(){this.constructor=v}v.prototype=T===null?Object.create(T):(b.prototype=T.prototype,new b)}}();Object.defineProperty(t,"__esModule",{value:!0});var h=a("./src/events.js"),f=a("./src/event-handler.js"),u=a("./src/utils/buffer-helper.js"),p=a("./src/errors.js"),x=a("./src/utils/logger.js"),R=a("./src/utils/ewma-bandwidth-estimator.js"),S=window.performance,E=function(g){d(v,g);function v(T){var b=g.call(this,T,h.default.FRAG_LOADING,h.default.FRAG_LOADED,h.default.FRAG_BUFFERED,h.default.ERROR)||this;return b.lastLoadedFragLevel=0,b._nextAutoLevel=-1,b.hls=T,b.timer=null,b._bwEstimator=null,b.onCheck=b._abandonRulesCheck.bind(b),b}return v.prototype.destroy=function(){this.clearTimer(),f.default.prototype.destroy.call(this)},v.prototype.onFragLoading=function(T){var b=T.frag;if(b.type==="main"&&(this.timer||(this.fragCurrent=b,this.timer=setInterval(this.onCheck,100)),!this._bwEstimator)){var _=this.hls,w=_.config,C=b.level,P=_.levels[C].details.live,D=void 0,N=void 0;P?(D=w.abrEwmaFastLive,N=w.abrEwmaSlowLive):(D=w.abrEwmaFastVoD,N=w.abrEwmaSlowVoD),this._bwEstimator=new R.default(_,N,D,w.abrEwmaDefaultEstimate)}},v.prototype._abandonRulesCheck=function(){var T=this.hls,b=T.media,_=this.fragCurrent;if(_){var w=_.loader,C=T.minAutoLevel;if(!w||w.stats&&w.stats.aborted){x.logger.warn("frag loader destroy or aborted, disarm abandonRules"),this.clearTimer(),this._nextAutoLevel=-1;return}var P=w.stats;if(b&&P&&(!b.paused&&b.playbackRate!==0||!b.readyState)&&_.autoLevel&&_.level){var D=S.now()-P.trequest,N=Math.abs(b.playbackRate);if(D>500*_.duration/N){var k=T.levels,F=Math.max(1,P.bw?P.bw/8:P.loaded*1e3/D),M=k[_.level],U=M.realBitrate?Math.max(M.realBitrate,M.bitrate):M.bitrate,$=P.total?P.total:Math.max(P.loaded,Math.round(_.duration*U/8)),B=b.currentTime,J=($-P.loaded)/F,ne=(u.BufferHelper.bufferInfo(b,B,T.config.maxBufferHole).end-B)/N;if(ne<2*_.duration/N&&J>ne){var ie=void 0,Y=void 0;for(Y=_.level-1;Y>C;Y--){var q=k[Y].realBitrate?Math.max(k[Y].realBitrate,k[Y].bitrate):k[Y].bitrate;if(ie=_.duration*q/(8*.8*F),ie<ne)break}ie<J&&(x.logger.warn("loading too slow, abort fragment loading and switch to level "+Y+":fragLoadedDelay["+Y+"]<fragLoadedDelay["+(_.level-1)+"];bufferStarvationDelay:"+ie.toFixed(1)+"<"+J.toFixed(1)+":"+ne.toFixed(1)),T.nextLoadLevel=Y,this._bwEstimator.sample(D,P.loaded),w.abort(),this.clearTimer(),T.trigger(h.default.FRAG_LOAD_EMERGENCY_ABORTED,{frag:_,stats:P}))}}}}},v.prototype.onFragLoaded=function(T){var b=T.frag;if(b.type==="main"&&o.isFinite(b.sn)){if(this.clearTimer(),this.lastLoadedFragLevel=b.level,this._nextAutoLevel=-1,this.hls.config.abrMaxWithRealBitrate){var _=this.hls.levels[b.level],w=(_.loaded?_.loaded.bytes:0)+T.stats.loaded,C=(_.loaded?_.loaded.duration:0)+T.frag.duration;_.loaded={bytes:w,duration:C},_.realBitrate=Math.round(8*w/C)}if(T.frag.bitrateTest){var P=T.stats;P.tparsed=P.tbuffered=P.tload,this.onFragBuffered(T)}}},v.prototype.onFragBuffered=function(T){var b=T.stats,_=T.frag;if(b.aborted!==!0&&_.type==="main"&&o.isFinite(_.sn)&&(!_.bitrateTest||b.tload===b.tbuffered)){var w=b.tparsed-b.trequest;x.logger.log("latency/loading/parsing/append/kbps:"+Math.round(b.tfirst-b.trequest)+"/"+Math.round(b.tload-b.tfirst)+"/"+Math.round(b.tparsed-b.tload)+"/"+Math.round(b.tbuffered-b.tparsed)+"/"+Math.round(8*b.loaded/(b.tbuffered-b.trequest))),this._bwEstimator.sample(w,b.loaded),b.bwEstimate=this._bwEstimator.getEstimate(),_.bitrateTest?this.bitrateTestDelay=w/1e3:this.bitrateTestDelay=0}},v.prototype.onError=function(T){switch(T.details){case p.ErrorDetails.FRAG_LOAD_ERROR:case p.ErrorDetails.FRAG_LOAD_TIMEOUT:this.clearTimer();break}},v.prototype.clearTimer=function(){clearInterval(this.timer),this.timer=null},Object.defineProperty(v.prototype,"nextAutoLevel",{get:function(){var T=this._nextAutoLevel,b=this._bwEstimator;if(T!==-1&&(!b||!b.canEstimate()))return T;var _=this._nextABRAutoLevel;return T!==-1&&(_=Math.min(T,_)),_},set:function(T){this._nextAutoLevel=T},enumerable:!0,configurable:!0}),Object.defineProperty(v.prototype,"_nextABRAutoLevel",{get:function(){var T=this.hls,b=T.maxAutoLevel,_=T.levels,w=T.config,C=T.minAutoLevel,P=T.media,D=this.lastLoadedFragLevel,N=this.fragCurrent?this.fragCurrent.duration:0,k=P?P.currentTime:0,F=P&&P.playbackRate!==0?Math.abs(P.playbackRate):1,M=this._bwEstimator?this._bwEstimator.getEstimate():w.abrEwmaDefaultEstimate,U=(u.BufferHelper.bufferInfo(P,k,w.maxBufferHole).end-k)/F,$=this._findBestLevel(D,N,M,C,b,U,w.abrBandWidthFactor,w.abrBandWidthUpFactor,_);if($>=0)return $;x.logger.trace("rebuffering expected to happen, lets try to find a quality level minimizing the rebuffering");var B=N?Math.min(N,w.maxStarvationDelay):w.maxStarvationDelay,J=w.abrBandWidthFactor,ne=w.abrBandWidthUpFactor;if(U===0){var ie=this.bitrateTestDelay;if(ie){var Y=N?Math.min(N,w.maxLoadingDelay):w.maxLoadingDelay;B=Y-ie,x.logger.trace("bitrate test took "+Math.round(1e3*ie)+"ms, set first fragment max fetchDuration to "+Math.round(1e3*B)+" ms"),J=ne=1}}return $=this._findBestLevel(D,N,M,C,b,U+B,J,ne,_),Math.max($,0)},enumerable:!0,configurable:!0}),v.prototype._findBestLevel=function(T,b,_,w,C,P,D,N,k){for(var F=C;F>=w;F--){var M=k[F];if(M){var U=M.details,$=U?U.totalduration/U.fragments.length:b,B=U?U.live:!1,J=void 0;F<=T?J=D*_:J=N*_;var ne=k[F].realBitrate?Math.max(k[F].realBitrate,k[F].bitrate):k[F].bitrate,ie=ne*$/J;if(x.logger.trace("level/adjustedbw/bitrate/avgDuration/maxFetchDuration/fetchDuration: "+F+"/"+Math.round(J)+"/"+ne+"/"+$+"/"+P+"/"+ie),J>ne&&(!ie||B&&!this.bitrateTestDelay||ie<P))return F}}return-1},v}(f.default);t.default=E}).call(this,a("./src/polyfills/number.js").Number)},"./src/controller/audio-stream-controller.js":function(n,t,a){(function(o){var d=this&&this.__extends||function(){var P=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(D,N){D.__proto__=N}||function(D,N){for(var k in N)N.hasOwnProperty(k)&&(D[k]=N[k])};return function(D,N){P(D,N);function k(){this.constructor=D}D.prototype=N===null?Object.create(N):(k.prototype=N.prototype,new k)}}();Object.defineProperty(t,"__esModule",{value:!0});var h=a("./src/utils/binary-search.js"),f=a("./src/utils/buffer-helper.js"),u=a("./src/demux/demuxer.js"),p=a("./src/events.js"),x=a("./src/controller/level-helper.js"),R=a("./src/utils/time-ranges.js"),S=a("./src/errors.js"),E=a("./src/utils/logger.js"),g=a("./src/utils/discontinuities.js"),v=a("./src/controller/fragment-tracker.js"),T=a("./src/loader/fragment.js"),b=a("./src/controller/base-stream-controller.js"),_=window.performance,w=100,C=function(P){d(D,P);function D(N,k){var F=P.call(this,N,p.default.MEDIA_ATTACHED,p.default.MEDIA_DETACHING,p.default.AUDIO_TRACKS_UPDATED,p.default.AUDIO_TRACK_SWITCHING,p.default.AUDIO_TRACK_LOADED,p.default.KEY_LOADED,p.default.FRAG_LOADED,p.default.FRAG_PARSING_INIT_SEGMENT,p.default.FRAG_PARSING_DATA,p.default.FRAG_PARSED,p.default.ERROR,p.default.BUFFER_RESET,p.default.BUFFER_CREATED,p.default.BUFFER_APPENDED,p.default.BUFFER_FLUSHED,p.default.INIT_PTS_FOUND)||this;return F.fragmentTracker=k,F.config=N.config,F.audioCodecSwap=!1,F._state=b.State.STOPPED,F.initPTS=[],F.waitingFragment=null,F.videoTrackCC=null,F}return D.prototype.onInitPtsFound=function(N){var k=N.id,F=N.frag.cc,M=N.initPTS;k==="main"&&(this.initPTS[F]=M,this.videoTrackCC=F,E.logger.log("InitPTS for cc: "+F+" found from video track: "+M),this.state===b.State.WAITING_INIT_PTS&&this.tick())},D.prototype.startLoad=function(N){if(this.tracks){var k=this.lastCurrentTime;this.stopLoad(),this.setInterval(w),this.fragLoadError=0,k>0&&N===-1?(E.logger.log("audio:override startPosition with lastCurrentTime @"+k.toFixed(3)),this.state=b.State.IDLE):(this.lastCurrentTime=this.startPosition?this.startPosition:N,this.state=b.State.STARTING),this.nextLoadPosition=this.startPosition=this.lastCurrentTime,this.tick()}else this.startPosition=N,this.state=b.State.STOPPED},Object.defineProperty(D.prototype,"state",{get:function(){return this._state},set:function(N){if(this.state!==N){var k=this.state;this._state=N,E.logger.log("audio stream:"+k+"->"+N)}},enumerable:!0,configurable:!0}),D.prototype.doTick=function(){var N,k,F,M=this.hls,U=M.config;switch(this.state){case b.State.ERROR:case b.State.PAUSED:case b.State.BUFFER_FLUSHING:break;case b.State.STARTING:this.state=b.State.WAITING_TRACK,this.loadedmetadata=!1;break;case b.State.IDLE:var $=this.tracks;if(!$||!this.media&&(this.startFragRequested||!U.startFragPrefetch))break;if(this.loadedmetadata)N=this.media.currentTime;else if(N=this.nextLoadPosition,N===void 0)break;var B=this.mediaBuffer?this.mediaBuffer:this.media,J=this.videoBuffer?this.videoBuffer:this.media,ne=f.BufferHelper.bufferInfo(B,N,U.maxBufferHole),ie=f.BufferHelper.bufferInfo(J,N,U.maxBufferHole),Y=ne.len,q=ne.end,re=this.fragPrevious,ce=Math.min(U.maxBufferLength,U.maxMaxBufferLength),fe=Math.max(ce,ie.len),te=this.audioSwitch,H=this.trackId;if((Y<fe||te)&&H<$.length){if(F=$[H].details,typeof F>"u"){this.state=b.State.WAITING_TRACK;break}if(!te&&this._streamEnded(ne,F)){this.hls.trigger(p.default.BUFFER_EOS,{type:"audio"}),this.state=b.State.ENDED;return}var W=F.fragments,V=W.length,z=W[0].start,Q=W[V-1].start+W[V-1].duration,ee=void 0;if(te){if(F.live&&!F.PTSKnown)E.logger.log("switching audiotrack, live stream, unknown PTS,load first fragment"),q=0;else if(q=N,F.PTSKnown&&N<z)if(ne.end>z||ne.nextStart)E.logger.log("alt audio track ahead of main track, seek to start of alt audio track"),this.media.currentTime=z+.05;else return}if(F.initSegment&&!F.initSegment.data)ee=F.initSegment;else if(q<=z){if(ee=W[0],this.videoTrackCC!==null&&ee.cc!==this.videoTrackCC&&(ee=g.findFragWithCC(W,this.videoTrackCC)),F.live&&ee.loadIdx&&ee.loadIdx===this.fragLoadIdx){var le=ne.nextStart?ne.nextStart:z;E.logger.log("no alt audio available @currentTime:"+this.media.currentTime+", seeking @"+(le+.05)),this.media.currentTime=le+.05;return}}else{var ue=void 0,he=U.maxFragLookUpTolerance,ve=re?W[re.sn-W[0].sn+1]:void 0,be=function(gt){var Ge=Math.min(he,gt.duration);return gt.start+gt.duration-Ge<=q?1:gt.start-Ge>q&&gt.start?-1:0};q<Q?(q>Q-he&&(he=0),ve&&!be(ve)?ue=ve:ue=h.default.search(W,be)):ue=W[V-1],ue&&(ee=ue,z=ue.start,re&&ee.level===re.level&&ee.sn===re.sn&&(ee.sn<F.endSN?(ee=W[ee.sn+1-F.startSN],E.logger.log("SN just loaded, load next one: "+ee.sn)):ee=null))}ee&&(ee.encrypted?(E.logger.log("Loading key for "+ee.sn+" of ["+F.startSN+" ,"+F.endSN+"],track "+H),this.state=b.State.KEY_LOADING,M.trigger(p.default.KEY_LOADING,{frag:ee})):(E.logger.log("Loading "+ee.sn+", cc: "+ee.cc+" of ["+F.startSN+" ,"+F.endSN+"],track "+H+", currentTime:"+N+",bufferEnd:"+q.toFixed(3)),this.fragCurrent=ee,(te||this.fragmentTracker.getState(ee)===v.FragmentState.NOT_LOADED)&&(this.startFragRequested=!0,o.isFinite(ee.sn)&&(this.nextLoadPosition=ee.start+ee.duration),M.trigger(p.default.FRAG_LOADING,{frag:ee}),this.state=b.State.FRAG_LOADING)))}break;case b.State.WAITING_TRACK:k=this.tracks[this.trackId],k&&k.details&&(this.state=b.State.IDLE);break;case b.State.FRAG_LOADING_WAITING_RETRY:var Re=_.now(),Le=this.retryDate;B=this.media;var Oe=B&&B.seeking;(!Le||Re>=Le||Oe)&&(E.logger.log("audioStreamController: retryDate reached, switch back to IDLE state"),this.state=b.State.IDLE);break;case b.State.WAITING_INIT_PTS:var Ke=this.videoTrackCC;if(this.initPTS[Ke]===void 0)break;var St=this.waitingFragment;if(St){var it=St.frag.cc;Ke!==it?(k=this.tracks[this.trackId],k.details&&k.details.live&&(E.logger.warn("Waiting fragment CC ("+it+") does not match video track CC ("+Ke+")"),this.waitingFragment=null,this.state=b.State.IDLE)):(this.state=b.State.FRAG_LOADING,this.onFragLoaded(this.waitingFragment),this.waitingFragment=null)}else this.state=b.State.IDLE;break;case b.State.STOPPED:case b.State.FRAG_LOADING:case b.State.PARSING:case b.State.PARSED:case b.State.ENDED:break}},D.prototype.onMediaAttached=function(N){var k=this.media=this.mediaBuffer=N.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvended=this.onMediaEnded.bind(this),k.addEventListener("seeking",this.onvseeking),k.addEventListener("ended",this.onvended);var F=this.config;this.tracks&&F.autoStartLoad&&this.startLoad(F.startPosition)},D.prototype.onMediaDetaching=function(){var N=this.media;N&&N.ended&&(E.logger.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),N&&(N.removeEventListener("seeking",this.onvseeking),N.removeEventListener("ended",this.onvended),this.onvseeking=this.onvseeked=this.onvended=null),this.media=this.mediaBuffer=this.videoBuffer=null,this.loadedmetadata=!1,this.stopLoad()},D.prototype.onAudioTracksUpdated=function(N){E.logger.log("audio tracks updated"),this.tracks=N.audioTracks},D.prototype.onAudioTrackSwitching=function(N){var k=!!N.url;this.trackId=N.id,this.fragCurrent=null,this.state=b.State.PAUSED,this.waitingFragment=null,k?this.setInterval(w):this.demuxer&&(this.demuxer.destroy(),this.demuxer=null),k&&(this.audioSwitch=!0,this.state=b.State.IDLE),this.tick()},D.prototype.onAudioTrackLoaded=function(N){var k=N.details,F=N.id,M=this.tracks[F],U=k.totalduration,$=0;if(E.logger.log("track "+F+" loaded ["+k.startSN+","+k.endSN+"],duration:"+U),k.live){var B=M.details;B&&k.fragments.length>0?(x.mergeDetails(B,k),$=k.fragments[0].start,k.PTSKnown?E.logger.log("live audio playlist sliding:"+$.toFixed(3)):E.logger.log("live audio playlist - outdated PTS, unknown sliding")):(k.PTSKnown=!1,E.logger.log("live audio playlist - first load, unknown sliding"))}else k.PTSKnown=!1;if(M.details=k,!this.startFragRequested){if(this.startPosition===-1){var J=k.startTimeOffset;o.isFinite(J)?(E.logger.log("start time offset found in playlist, adjust startPosition to "+J),this.startPosition=J):this.startPosition=0}this.nextLoadPosition=this.startPosition}this.state===b.State.WAITING_TRACK&&(this.state=b.State.IDLE),this.tick()},D.prototype.onKeyLoaded=function(){this.state===b.State.KEY_LOADING&&(this.state=b.State.IDLE,this.tick())},D.prototype.onFragLoaded=function(N){var k=this.fragCurrent,F=N.frag;if(this.state===b.State.FRAG_LOADING&&k&&F.type==="audio"&&F.level===k.level&&F.sn===k.sn){var M=this.tracks[this.trackId],U=M.details,$=U.totalduration,B=k.level,J=k.sn,ne=k.cc,ie=this.config.defaultAudioCodec||M.audioCodec||"mp4a.40.2",Y=this.stats=N.stats;if(J==="initSegment")this.state=b.State.IDLE,Y.tparsed=Y.tbuffered=_.now(),U.initSegment.data=N.payload,this.hls.trigger(p.default.FRAG_BUFFERED,{stats:Y,frag:k,id:"audio"}),this.tick();else{this.state=b.State.PARSING,this.appended=!1,this.demuxer||(this.demuxer=new u.default(this.hls,"audio"));var q=this.initPTS[ne],re=U.initSegment?U.initSegment.data:[];if(U.initSegment||q!==void 0){this.pendingBuffering=!0,E.logger.log("Demuxing "+J+" of ["+U.startSN+" ,"+U.endSN+"],track "+B);var ce=!1;this.demuxer.push(N.payload,re,ie,null,k,$,ce,q)}else E.logger.log("unknown video PTS for continuity counter "+ne+", waiting for video PTS before demuxing audio frag "+J+" of ["+U.startSN+" ,"+U.endSN+"],track "+B),this.waitingFragment=N,this.state=b.State.WAITING_INIT_PTS}}this.fragLoadError=0},D.prototype.onFragParsingInitSegment=function(N){var k=this.fragCurrent,F=N.frag;if(k&&N.id==="audio"&&F.sn===k.sn&&F.level===k.level&&this.state===b.State.PARSING){var M=N.tracks,U=void 0;if(M.video&&delete M.video,U=M.audio,U){U.levelCodec=U.codec,U.id=N.id,this.hls.trigger(p.default.BUFFER_CODECS,M),E.logger.log("audio track:audio,container:"+U.container+",codecs[level/parsed]=["+U.levelCodec+"/"+U.codec+"]");var $=U.initSegment;if($){var B={type:"audio",data:$,parent:"audio",content:"initSegment"};this.audioSwitch?this.pendingData=[B]:(this.appended=!0,this.pendingBuffering=!0,this.hls.trigger(p.default.BUFFER_APPENDING,B))}this.tick()}}},D.prototype.onFragParsingData=function(N){var k=this,F=this.fragCurrent,M=N.frag;if(F&&N.id==="audio"&&N.type==="audio"&&M.sn===F.sn&&M.level===F.level&&this.state===b.State.PARSING){var U=this.trackId,$=this.tracks[U],B=this.hls;o.isFinite(N.endPTS)||(N.endPTS=N.startPTS+F.duration,N.endDTS=N.startDTS+F.duration),F.addElementaryStream(T.default.ElementaryStreamTypes.AUDIO),E.logger.log("parsed "+N.type+",PTS:["+N.startPTS.toFixed(3)+","+N.endPTS.toFixed(3)+"],DTS:["+N.startDTS.toFixed(3)+"/"+N.endDTS.toFixed(3)+"],nb:"+N.nb),x.updateFragPTSDTS($.details,F,N.startPTS,N.endPTS);var J=this.audioSwitch,ne=this.media,ie=!1;if(J&&ne)if(ne.readyState){var Y=ne.currentTime;E.logger.log("switching audio track : currentTime:"+Y),Y>=N.startPTS&&(E.logger.log("switching audio track : flushing all audio"),this.state=b.State.BUFFER_FLUSHING,B.trigger(p.default.BUFFER_FLUSHING,{startOffset:0,endOffset:o.POSITIVE_INFINITY,type:"audio"}),ie=!0,this.audioSwitch=!1,B.trigger(p.default.AUDIO_TRACK_SWITCHED,{id:U}))}else this.audioSwitch=!1,B.trigger(p.default.AUDIO_TRACK_SWITCHED,{id:U});var q=this.pendingData;if(!q){E.logger.warn("Apparently attempt to enqueue media payload without codec initialization data upfront"),B.trigger(p.default.ERROR,{type:S.ErrorTypes.MEDIA_ERROR,details:null,fatal:!0});return}this.audioSwitch||([N.data1,N.data2].forEach(function(re){re&&re.length&&q.push({type:N.type,data:re,parent:"audio",content:"data"})}),!ie&&q.length&&(q.forEach(function(re){k.state===b.State.PARSING&&(k.pendingBuffering=!0,k.hls.trigger(p.default.BUFFER_APPENDING,re))}),this.pendingData=[],this.appended=!0)),this.tick()}},D.prototype.onFragParsed=function(N){var k=this.fragCurrent,F=N.frag;k&&N.id==="audio"&&F.sn===k.sn&&F.level===k.level&&this.state===b.State.PARSING&&(this.stats.tparsed=_.now(),this.state=b.State.PARSED,this._checkAppendedParsed())},D.prototype.onBufferReset=function(){this.mediaBuffer=this.videoBuffer=null,this.loadedmetadata=!1},D.prototype.onBufferCreated=function(N){var k=N.tracks.audio;k&&(this.mediaBuffer=k.buffer,this.loadedmetadata=!0),N.tracks.video&&(this.videoBuffer=N.tracks.video.buffer)},D.prototype.onBufferAppended=function(N){if(N.parent==="audio"){var k=this.state;(k===b.State.PARSING||k===b.State.PARSED)&&(this.pendingBuffering=N.pending>0,this._checkAppendedParsed())}},D.prototype._checkAppendedParsed=function(){if(this.state===b.State.PARSED&&(!this.appended||!this.pendingBuffering)){var N=this.fragCurrent,k=this.stats,F=this.hls;if(N){this.fragPrevious=N,k.tbuffered=_.now(),F.trigger(p.default.FRAG_BUFFERED,{stats:k,frag:N,id:"audio"});var M=this.mediaBuffer?this.mediaBuffer:this.media;E.logger.log("audio buffered : "+R.default.toString(M.buffered)),this.audioSwitch&&this.appended&&(this.audioSwitch=!1,F.trigger(p.default.AUDIO_TRACK_SWITCHED,{id:this.trackId})),this.state=b.State.IDLE}this.tick()}},D.prototype.onError=function(N){var k=N.frag;if(!(k&&k.type!=="audio"))switch(N.details){case S.ErrorDetails.FRAG_LOAD_ERROR:case S.ErrorDetails.FRAG_LOAD_TIMEOUT:var F=N.frag;if(F&&F.type!=="audio")break;if(!N.fatal){var M=this.fragLoadError;M?M++:M=1;var U=this.config;if(M<=U.fragLoadingMaxRetry){this.fragLoadError=M;var $=Math.min(Math.pow(2,M-1)*U.fragLoadingRetryDelay,U.fragLoadingMaxRetryTimeout);E.logger.warn("AudioStreamController: frag loading failed, retry in "+$+" ms"),this.retryDate=_.now()+$,this.state=b.State.FRAG_LOADING_WAITING_RETRY}else E.logger.error("AudioStreamController: "+N.details+" reaches max retry, redispatch as fatal ..."),N.fatal=!0,this.state=b.State.ERROR}break;case S.ErrorDetails.AUDIO_TRACK_LOAD_ERROR:case S.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT:case S.ErrorDetails.KEY_LOAD_ERROR:case S.ErrorDetails.KEY_LOAD_TIMEOUT:this.state!==b.State.ERROR&&(this.state=N.fatal?b.State.ERROR:b.State.IDLE,E.logger.warn("AudioStreamController: "+N.details+" while loading frag, now switching to "+this.state+" state ..."));break;case S.ErrorDetails.BUFFER_FULL_ERROR:if(N.parent==="audio"&&(this.state===b.State.PARSING||this.state===b.State.PARSED)){var B=this.mediaBuffer,J=this.media.currentTime,ne=B&&f.BufferHelper.isBuffered(B,J)&&f.BufferHelper.isBuffered(B,J+.5);if(ne){var U=this.config;U.maxMaxBufferLength>=U.maxBufferLength&&(U.maxMaxBufferLength/=2,E.logger.warn("AudioStreamController: reduce max buffer length to "+U.maxMaxBufferLength+"s")),this.state=b.State.IDLE}else E.logger.warn("AudioStreamController: buffer full error also media.currentTime is not buffered, flush audio buffer"),this.fragCurrent=null,this.state=b.State.BUFFER_FLUSHING,this.hls.trigger(p.default.BUFFER_FLUSHING,{startOffset:0,endOffset:o.POSITIVE_INFINITY,type:"audio"})}break}},D.prototype.onBufferFlushed=function(){var N=this,k=this.pendingData;k&&k.length?(E.logger.log("AudioStreamController: appending pending audio data after buffer flushed"),k.forEach(function(F){N.hls.trigger(p.default.BUFFER_APPENDING,F)}),this.appended=!0,this.pendingData=[],this.state=b.State.PARSED):(this.state=b.State.IDLE,this.fragPrevious=null,this.tick())},D}(b.default);t.default=C}).call(this,a("./src/polyfills/number.js").Number)},"./src/controller/audio-track-controller.js":function(n,t,a){var o=this&&this.__extends||function(){var x=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(R,S){R.__proto__=S}||function(R,S){for(var E in S)S.hasOwnProperty(E)&&(R[E]=S[E])};return function(R,S){x(R,S);function E(){this.constructor=R}R.prototype=S===null?Object.create(S):(E.prototype=S.prototype,new E)}}();Object.defineProperty(t,"__esModule",{value:!0});var d=a("./src/events.js"),h=a("./src/task-loop.js"),f=a("./src/utils/logger.js"),u=a("./src/errors.js"),p=function(x){o(R,x);function R(S){var E=x.call(this,S,d.default.MANIFEST_LOADING,d.default.MANIFEST_PARSED,d.default.AUDIO_TRACK_LOADED,d.default.AUDIO_TRACK_SWITCHED,d.default.LEVEL_LOADED,d.default.ERROR)||this;return E._trackId=-1,E._selectDefaultTrack=!0,E.tracks=[],E.trackIdBlacklist=Object.create(null),E.audioGroupId=null,E}return R.prototype.onManifestLoading=function(){this.tracks=[],this._trackId=-1,this._selectDefaultTrack=!0},R.prototype.onManifestParsed=function(S){var E=this.tracks=S.audioTracks||[];this.hls.trigger(d.default.AUDIO_TRACKS_UPDATED,{audioTracks:E})},R.prototype.onAudioTrackLoaded=function(S){if(S.id>=this.tracks.length){f.logger.warn("Invalid audio track id:",S.id);return}if(f.logger.log("audioTrack "+S.id+" loaded"),this.tracks[S.id].details=S.details,S.details.live&&!this.hasInterval()){var E=S.details.targetduration*1e3;this.setInterval(E)}!S.details.live&&this.hasInterval()&&this.clearInterval()},R.prototype.onAudioTrackSwitched=function(S){var E=this.tracks[S.id].groupId;E&&this.audioGroupId!==E&&(this.audioGroupId=E)},R.prototype.onLevelLoaded=function(S){var E=this.hls.levels[S.level];if(E.audioGroupIds){var g=E.audioGroupIds[E.urlId];this.audioGroupId!==g&&(this.audioGroupId=g,this._selectInitialAudioTrack())}},R.prototype.onError=function(S){S.type===u.ErrorTypes.NETWORK_ERROR&&(S.fatal&&this.clearInterval(),S.details===u.ErrorDetails.AUDIO_TRACK_LOAD_ERROR&&(f.logger.warn("Network failure on audio-track id:",S.context.id),this._handleLoadError()))},Object.defineProperty(R.prototype,"audioTracks",{get:function(){return this.tracks},enumerable:!0,configurable:!0}),Object.defineProperty(R.prototype,"audioTrack",{get:function(){return this._trackId},set:function(S){this._setAudioTrack(S),this._selectDefaultTrack=!1},enumerable:!0,configurable:!0}),R.prototype._setAudioTrack=function(S){if(this._trackId===S&&this.tracks[this._trackId].details){f.logger.debug("Same id as current audio-track passed, and track details available -> no-op");return}if(S<0||S>=this.tracks.length){f.logger.warn("Invalid id passed to audio-track controller");return}var E=this.tracks[S];f.logger.log("Now switching to audio-track index "+S),this.clearInterval(),this._trackId=S;var g=E.url,v=E.type,T=E.id;this.hls.trigger(d.default.AUDIO_TRACK_SWITCHING,{id:T,type:v,url:g}),this._loadTrackDetailsIfNeeded(E)},R.prototype.doTick=function(){this._updateTrack(this._trackId)},R.prototype._selectInitialAudioTrack=function(){var S=this,E=this.tracks;if(E.length){var g=this.tracks[this._trackId],v=null;if(g&&(v=g.name),this._selectDefaultTrack){var T=E.filter(function(w){return w.default});T.length?E=T:f.logger.warn("No default audio tracks defined")}var b=!1,_=function(){E.forEach(function(w){b||(!S.audioGroupId||w.groupId===S.audioGroupId)&&(!v||v===w.name)&&(S._setAudioTrack(w.id),b=!0)})};_(),b||(v=null,_()),b||(f.logger.error("No track found for running audio group-ID: "+this.audioGroupId),this.hls.trigger(d.default.ERROR,{type:u.ErrorTypes.MEDIA_ERROR,details:u.ErrorDetails.AUDIO_TRACK_LOAD_ERROR,fatal:!0}))}},R.prototype._needsTrackLoading=function(S){var E=S.details,g=S.url;return!E||E.live?!!g:!1},R.prototype._loadTrackDetailsIfNeeded=function(S){if(this._needsTrackLoading(S)){var E=S.url,g=S.id;f.logger.log("loading audio-track playlist for id: "+g),this.hls.trigger(d.default.AUDIO_TRACK_LOADING,{url:E,id:g})}},R.prototype._updateTrack=function(S){if(!(S<0||S>=this.tracks.length)){this.clearInterval(),this._trackId=S,f.logger.log("trying to update audio-track "+S);var E=this.tracks[S];this._loadTrackDetailsIfNeeded(E)}},R.prototype._handleLoadError=function(){this.trackIdBlacklist[this._trackId]=!0;var S=this._trackId,E=this.tracks[S],g=E.name,v=E.language,T=E.groupId;f.logger.warn("Loading failed on audio track id: "+S+", group-id: "+T+', name/language: "'+g+'" / "'+v+'"');for(var b=S,_=0;_<this.tracks.length;_++)if(!this.trackIdBlacklist[_]){var w=this.tracks[_];if(w.name===g){b=_;break}}if(b===S){f.logger.warn('No fallback audio-track found for name/language: "'+g+'" / "'+v+'"');return}f.logger.log("Attempting audio-track fallback id:",b,"group-id:",this.tracks[b].groupId),this._setAudioTrack(b)},R}(h.default);t.default=p},"./src/controller/base-stream-controller.js":function(n,t,a){(function(o){var d=this&&this.__extends||function(){var R=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(S,E){S.__proto__=E}||function(S,E){for(var g in E)E.hasOwnProperty(g)&&(S[g]=E[g])};return function(S,E){R(S,E);function g(){this.constructor=S}S.prototype=E===null?Object.create(E):(g.prototype=E.prototype,new g)}}();Object.defineProperty(t,"__esModule",{value:!0});var h=a("./src/task-loop.js"),f=a("./src/controller/fragment-tracker.js"),u=a("./src/utils/buffer-helper.js"),p=a("./src/utils/logger.js");t.State={STOPPED:"STOPPED",STARTING:"STARTING",IDLE:"IDLE",PAUSED:"PAUSED",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_TRACK:"WAITING_TRACK",PARSING:"PARSING",PARSED:"PARSED",BUFFER_FLUSHING:"BUFFER_FLUSHING",ENDED:"ENDED",ERROR:"ERROR",WAITING_INIT_PTS:"WAITING_INIT_PTS",WAITING_LEVEL:"WAITING_LEVEL"};var x=function(R){d(S,R);function S(){return R!==null&&R.apply(this,arguments)||this}return S.prototype.doTick=function(){},S.prototype.startLoad=function(){},S.prototype.stopLoad=function(){var E=this.fragCurrent;E&&(E.loader&&E.loader.abort(),this.fragmentTracker.removeFragment(E)),this.demuxer&&(this.demuxer.destroy(),this.demuxer=null),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=t.State.STOPPED},S.prototype._streamEnded=function(E,g){var v=this,T=v.fragCurrent,b=v.fragmentTracker;if(!g.live&&T&&!T.backtracked&&T.sn===g.endSN&&!E.nextStart){var _=b.getState(T);return _===f.FragmentState.PARTIAL||_===f.FragmentState.OK}return!1},S.prototype.onMediaSeeking=function(){var E=this,g=E.config,v=E.media,T=E.mediaBuffer,b=E.state,_=v?v.currentTime:null,w=u.BufferHelper.bufferInfo(T||v,_,this.config.maxBufferHole);if(o.isFinite(_)&&p.logger.log("media seeking to "+_.toFixed(3)),b===t.State.FRAG_LOADING){var C=this.fragCurrent;if(w.len===0&&C){var P=g.maxFragLookUpTolerance,D=C.start-P,N=C.start+C.duration+P;_<D||_>N?(C.loader&&(p.logger.log("seeking outside of buffer while fragment load in progress, cancel fragment load"),C.loader.abort()),this.fragCurrent=null,this.fragPrevious=null,this.state=t.State.IDLE):p.logger.log("seeking outside of buffer but within currently loaded fragment range")}}else b===t.State.ENDED&&(w.len===0&&(this.fragPrevious=null,this.fragCurrent=null),this.state=t.State.IDLE);v&&(this.lastCurrentTime=_),this.loadedmetadata||(this.nextLoadPosition=this.startPosition=_),this.tick()},S.prototype.onMediaEnded=function(){this.startPosition=this.lastCurrentTime=0},S.prototype.onHandlerDestroying=function(){this.stopLoad(),R.prototype.onHandlerDestroying.call(this)},S.prototype.onHandlerDestroyed=function(){this.state=t.State.STOPPED,this.fragmentTracker=null},S}(h.default);t.default=x}).call(this,a("./src/polyfills/number.js").Number)},"./src/controller/buffer-controller.js":function(n,t,a){(function(o){var d=this&&this.__extends||function(){var E=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(g,v){g.__proto__=v}||function(g,v){for(var T in v)v.hasOwnProperty(T)&&(g[T]=v[T])};return function(g,v){E(g,v);function T(){this.constructor=g}g.prototype=v===null?Object.create(v):(T.prototype=v.prototype,new T)}}();Object.defineProperty(t,"__esModule",{value:!0});var h=a("./src/events.js"),f=a("./src/event-handler.js"),u=a("./src/utils/logger.js"),p=a("./src/errors.js"),x=a("./src/utils/mediasource-helper.js"),R=x.getMediaSource(),S=function(E){d(g,E);function g(v){var T=E.call(this,v,h.default.MEDIA_ATTACHING,h.default.MEDIA_DETACHING,h.default.MANIFEST_PARSED,h.default.BUFFER_RESET,h.default.BUFFER_APPENDING,h.default.BUFFER_CODECS,h.default.BUFFER_EOS,h.default.BUFFER_FLUSHING,h.default.LEVEL_PTS_UPDATED,h.default.LEVEL_UPDATED)||this;return T._msDuration=null,T._levelDuration=null,T._levelTargetDuration=10,T._live=null,T._objectUrl=null,T.bufferCodecEventsExpected=0,T.onsbue=T.onSBUpdateEnd.bind(T),T.onsbe=T.onSBUpdateError.bind(T),T.pendingTracks={},T.tracks={},T}return g.prototype.destroy=function(){f.default.prototype.destroy.call(this)},g.prototype.onLevelPtsUpdated=function(v){var T=v.type,b=this.tracks.audio;if(T==="audio"&&b&&b.container==="audio/mpeg"){var _=this.sourceBuffer.audio,w=Math.abs(_.timestampOffset-v.start);if(w>.1){var C=_.updating;try{_.abort()}catch(P){u.logger.warn("can not abort audio buffer: "+P)}C?this.audioTimestampOffset=v.start:(u.logger.warn("change mpeg audio timestamp offset from "+_.timestampOffset+" to "+v.start),_.timestampOffset=v.start)}}},g.prototype.onManifestParsed=function(v){this.bufferCodecEventsExpected=v.altAudio?2:1,u.logger.log(this.bufferCodecEventsExpected+" bufferCodec event(s) expected")},g.prototype.onMediaAttaching=function(v){var T=this.media=v.media;if(T){var b=this.mediaSource=new R;this.onmso=this.onMediaSourceOpen.bind(this),this.onmse=this.onMediaSourceEnded.bind(this),this.onmsc=this.onMediaSourceClose.bind(this),b.addEventListener("sourceopen",this.onmso),b.addEventListener("sourceended",this.onmse),b.addEventListener("sourceclose",this.onmsc),T.src=window.URL.createObjectURL(b),this._objectUrl=T.src}},g.prototype.onMediaDetaching=function(){u.logger.log("media source detaching");var v=this.mediaSource;if(v){if(v.readyState==="open")try{v.endOfStream()}catch(T){u.logger.warn("onMediaDetaching:"+T.message+" while calling endOfStream")}v.removeEventListener("sourceopen",this.onmso),v.removeEventListener("sourceended",this.onmse),v.removeEventListener("sourceclose",this.onmsc),this.media&&(window.URL.revokeObjectURL(this._objectUrl),this.media.src===this._objectUrl?(this.media.removeAttribute("src"),this.media.load()):u.logger.warn("media.src was changed by a third party - skip cleanup")),this.mediaSource=null,this.media=null,this._objectUrl=null,this.pendingTracks={},this.tracks={},this.sourceBuffer={},this.flushRange=[],this.segments=[],this.appended=0}this.onmso=this.onmse=this.onmsc=null,this.hls.trigger(h.default.MEDIA_DETACHED)},g.prototype.onMediaSourceOpen=function(){u.logger.log("media source opened"),this.hls.trigger(h.default.MEDIA_ATTACHED,{media:this.media});var v=this.mediaSource;v&&v.removeEventListener("sourceopen",this.onmso),this.checkPendingTracks()},g.prototype.checkPendingTracks=function(){var v=this,T=v.bufferCodecEventsExpected,b=v.pendingTracks,_=Object.keys(b).length;(_&&!T||_===2)&&(this.createSourceBuffers(b),this.pendingTracks={},this.doAppending())},g.prototype.onMediaSourceClose=function(){u.logger.log("media source closed")},g.prototype.onMediaSourceEnded=function(){u.logger.log("media source ended")},g.prototype.onSBUpdateEnd=function(){if(this.audioTimestampOffset){var v=this.sourceBuffer.audio;u.logger.warn("change mpeg audio timestamp offset from "+v.timestampOffset+" to "+this.audioTimestampOffset),v.timestampOffset=this.audioTimestampOffset,delete this.audioTimestampOffset}this._needsFlush&&this.doFlush(),this._needsEos&&this.checkEos(),this.appending=!1;var T=this.parent,b=this.segments.reduce(function(P,D){return D.parent===T?P+1:P},0),_={},w=this.sourceBuffer;for(var C in w)_[C]=w[C].buffered;this.hls.trigger(h.default.BUFFER_APPENDED,{parent:T,pending:b,timeRanges:_}),this._needsFlush||this.doAppending(),this.updateMediaElementDuration(),b===0&&this.flushLiveBackBuffer()},g.prototype.onSBUpdateError=function(v){u.logger.error("sourceBuffer error:",v),this.hls.trigger(h.default.ERROR,{type:p.ErrorTypes.MEDIA_ERROR,details:p.ErrorDetails.BUFFER_APPENDING_ERROR,fatal:!1})},g.prototype.onBufferReset=function(){var v=this.sourceBuffer;for(var T in v){var b=v[T];try{this.mediaSource.removeSourceBuffer(b),b.removeEventListener("updateend",this.onsbue),b.removeEventListener("error",this.onsbe)}catch{}}this.sourceBuffer={},this.flushRange=[],this.segments=[],this.appended=0},g.prototype.onBufferCodecs=function(v){var T=this;if(!Object.keys(this.sourceBuffer).length){Object.keys(v).forEach(function(_){T.pendingTracks[_]=v[_]});var b=this.mediaSource;this.bufferCodecEventsExpected=Math.max(this.bufferCodecEventsExpected-1,0),b&&b.readyState==="open"&&this.checkPendingTracks()}},g.prototype.createSourceBuffers=function(v){var T=this.sourceBuffer,b=this.mediaSource;for(var _ in v)if(!T[_]){var w=v[_],C=w.levelCodec||w.codec,P=w.container+";codecs="+C;u.logger.log("creating sourceBuffer("+P+")");try{var D=T[_]=b.addSourceBuffer(P);D.addEventListener("updateend",this.onsbue),D.addEventListener("error",this.onsbe),this.tracks[_]={codec:C,container:w.container},w.buffer=D}catch(N){u.logger.error("error while trying to add sourceBuffer:"+N.message),this.hls.trigger(h.default.ERROR,{type:p.ErrorTypes.MEDIA_ERROR,details:p.ErrorDetails.BUFFER_ADD_CODEC_ERROR,fatal:!1,err:N,mimeType:P})}}this.hls.trigger(h.default.BUFFER_CREATED,{tracks:v})},g.prototype.onBufferAppending=function(v){this._needsFlush||(this.segments?this.segments.push(v):this.segments=[v],this.doAppending())},g.prototype.onBufferAppendFail=function(v){u.logger.error("sourceBuffer error:",v.event),this.hls.trigger(h.default.ERROR,{type:p.ErrorTypes.MEDIA_ERROR,details:p.ErrorDetails.BUFFER_APPENDING_ERROR,fatal:!1})},g.prototype.onBufferEos=function(v){var T=this.sourceBuffer,b=v.type;for(var _ in T)(!b||_===b)&&(T[_].ended||(T[_].ended=!0,u.logger.log(_+" sourceBuffer now EOS")));this.checkEos()},g.prototype.checkEos=function(){var v=this.sourceBuffer,T=this.mediaSource;if(!T||T.readyState!=="open"){this._needsEos=!1;return}for(var b in v){var _=v[b];if(!_.ended)return;if(_.updating){this._needsEos=!0;return}}u.logger.log("all media data are available, signal endOfStream() to MediaSource and stop loading fragment");try{T.endOfStream()}catch{u.logger.warn("exception while calling mediaSource.endOfStream()")}this._needsEos=!1},g.prototype.onBufferFlushing=function(v){this.flushRange.push({start:v.startOffset,end:v.endOffset,type:v.type}),this.flushBufferCounter=0,this.doFlush()},g.prototype.flushLiveBackBuffer=function(){if(this._live){var v=this.hls.config.liveBackBufferLength;if(!(!isFinite(v)||v<0))for(var T=this.media.currentTime,b=this.sourceBuffer,_=Object.keys(b),w=T-Math.max(v,this._levelTargetDuration),C=_.length-1;C>=0;C--){var P=_[C],D=b[P].buffered;D.length>0&&w>D.start(0)&&this.removeBufferRange(P,b[P],0,w)}}},g.prototype.onLevelUpdated=function(v){var T=v.details;T.fragments.length>0&&(this._levelDuration=T.totalduration+T.fragments[0].start,this._levelTargetDuration=T.averagetargetduration||T.targetduration||10,this._live=T.live,this.updateMediaElementDuration())},g.prototype.updateMediaElementDuration=function(){var v=this.hls.config,T;if(!(this._levelDuration===null||!this.media||!this.mediaSource||!this.sourceBuffer||this.media.readyState===0||this.mediaSource.readyState!=="open")){for(var b in this.sourceBuffer)if(this.sourceBuffer[b].updating===!0)return;T=this.media.duration,this._msDuration===null&&(this._msDuration=this.mediaSource.duration),this._live===!0&&v.liveDurationInfinity===!0?(u.logger.log("Media Source duration is set to Infinity"),this._msDuration=this.mediaSource.duration=1/0):(this._levelDuration>this._msDuration&&this._levelDuration>T||!o.isFinite(T))&&(u.logger.log("Updating Media Source duration to "+this._levelDuration.toFixed(3)),this._msDuration=this.mediaSource.duration=this._levelDuration)}},g.prototype.doFlush=function(){for(;this.flushRange.length;){var v=this.flushRange[0];if(this.flushBuffer(v.start,v.end,v.type))this.flushRange.shift(),this.flushBufferCounter=0;else{this._needsFlush=!0;return}}if(this.flushRange.length===0){this._needsFlush=!1;var T=0,b=this.sourceBuffer;try{for(var _ in b)T+=b[_].buffered.length}catch{u.logger.error("error while accessing sourceBuffer.buffered")}this.appended=T,this.hls.trigger(h.default.BUFFER_FLUSHED)}},g.prototype.doAppending=function(){var v=this,T=v.hls,b=v.segments,_=v.sourceBuffer;if(Object.keys(_).length){if(this.media.error){this.segments=[],u.logger.error("trying to append although a media error occured, flush segment and abort");return}if(this.appending)return;if(b&&b.length){var w=b.shift();try{var C=w.type,P=_[C];P?P.updating?b.unshift(w):(P.ended=!1,this.parent=w.parent,P.appendBuffer(w.data),this.appendError=0,this.appended++,this.appending=!0):this.onSBUpdateEnd()}catch(N){u.logger.error("error while trying to append buffer:"+N.message),b.unshift(w);var D={type:p.ErrorTypes.MEDIA_ERROR,parent:w.parent};N.code!==22?(this.appendError?this.appendError++:this.appendError=1,D.details=p.ErrorDetails.BUFFER_APPEND_ERROR,this.appendError>T.config.appendErrorMaxRetry?(u.logger.log("fail "+T.config.appendErrorMaxRetry+" times to append segment in sourceBuffer"),this.segments=[],D.fatal=!0,T.trigger(h.default.ERROR,D)):(D.fatal=!1,T.trigger(h.default.ERROR,D))):(this.segments=[],D.details=p.ErrorDetails.BUFFER_FULL_ERROR,D.fatal=!1,T.trigger(h.default.ERROR,D))}}}},g.prototype.flushBuffer=function(v,T,b){var _,w=this.sourceBuffer;if(Object.keys(w).length){if(u.logger.log("flushBuffer,pos/start/end: "+this.media.currentTime.toFixed(3)+"/"+v+"/"+T),this.flushBufferCounter<this.appended){for(var C in w)if(!(b&&C!==b)){if(_=w[C],_.ended=!1,_.updating)return u.logger.warn("cannot flush, sb updating in progress"),!1;if(this.removeBufferRange(C,_,v,T))return this.flushBufferCounter++,!1}}else u.logger.warn("abort flushing too many retries");u.logger.log("buffer flushed")}return!0},g.prototype.removeBufferRange=function(v,T,b,_){try{for(var w=0;w<T.buffered.length;w++){var C=T.buffered.start(w),P=T.buffered.end(w),D=Math.max(C,b),N=Math.min(P,_);if(Math.min(N,P)-D>.5)return u.logger.log("sb remove "+v+" ["+D+","+N+"], of ["+C+","+P+"], pos:"+this.media.currentTime),T.remove(D,N),!0}}catch(k){u.logger.warn("removeBufferRange failed",k)}return!1},g}(f.default);t.default=S}).call(this,a("./src/polyfills/number.js").Number)},"./src/controller/cap-level-controller.js":function(n,t,a){(function(o){var d=this&&this.__extends||function(){var p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(x,R){x.__proto__=R}||function(x,R){for(var S in R)R.hasOwnProperty(S)&&(x[S]=R[S])};return function(x,R){p(x,R);function S(){this.constructor=x}x.prototype=R===null?Object.create(R):(S.prototype=R.prototype,new S)}}();Object.defineProperty(t,"__esModule",{value:!0});var h=a("./src/events.js"),f=a("./src/event-handler.js"),u=function(p){d(x,p);function x(R){var S=p.call(this,R,h.default.FPS_DROP_LEVEL_CAPPING,h.default.MEDIA_ATTACHING,h.default.MANIFEST_PARSED,h.default.BUFFER_CODECS,h.default.MEDIA_DETACHING)||this;return S.autoLevelCapping=o.POSITIVE_INFINITY,S.firstLevel=null,S.levels=[],S.media=null,S.restrictedLevels=[],S.timer=null,S}return x.prototype.destroy=function(){this.hls.config.capLevelToPlayerSize&&(this.media=null,this._stopCapping())},x.prototype.onFpsDropLevelCapping=function(R){x.isLevelAllowed(R.droppedLevel,this.restrictedLevels)&&this.restrictedLevels.push(R.droppedLevel)},x.prototype.onMediaAttaching=function(R){this.media=R.media instanceof window.HTMLVideoElement?R.media:null},x.prototype.onManifestParsed=function(R){var S=this.hls;this.restrictedLevels=[],this.levels=R.levels,this.firstLevel=R.firstLevel,S.config.capLevelToPlayerSize&&R.video&&this._startCapping()},x.prototype.onBufferCodecs=function(R){var S=this.hls;S.config.capLevelToPlayerSize&&R.video&&this._startCapping()},x.prototype.onLevelsUpdated=function(R){this.levels=R.levels},x.prototype.onMediaDetaching=function(){this._stopCapping()},x.prototype.detectPlayerSize=function(){if(this.media){var R=this.levels?this.levels.length:0;if(R){var S=this.hls;S.autoLevelCapping=this.getMaxLevel(R-1),S.autoLevelCapping>this.autoLevelCapping&&S.streamController.nextLevelSwitch(),this.autoLevelCapping=S.autoLevelCapping}}},x.prototype.getMaxLevel=function(R){var S=this;if(!this.levels)return-1;var E=this.levels.filter(function(g,v){return x.isLevelAllowed(v,S.restrictedLevels)&&v<=R});return x.getMaxLevelByMediaSize(E,this.mediaWidth,this.mediaHeight)},x.prototype._startCapping=function(){this.timer||(this.autoLevelCapping=o.POSITIVE_INFINITY,this.hls.firstLevel=this.getMaxLevel(this.firstLevel),clearInterval(this.timer),this.timer=setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())},x.prototype._stopCapping=function(){this.restrictedLevels=[],this.firstLevel=null,this.autoLevelCapping=o.POSITIVE_INFINITY,this.timer&&(this.timer=clearInterval(this.timer),this.timer=null)},Object.defineProperty(x.prototype,"mediaWidth",{get:function(){var R,S=this.media;return S&&(R=S.width||S.clientWidth||S.offsetWidth,R*=x.contentScaleFactor),R},enumerable:!0,configurable:!0}),Object.defineProperty(x.prototype,"mediaHeight",{get:function(){var R,S=this.media;return S&&(R=S.height||S.clientHeight||S.offsetHeight,R*=x.contentScaleFactor),R},enumerable:!0,configurable:!0}),Object.defineProperty(x,"contentScaleFactor",{get:function(){var R=1;try{R=window.devicePixelRatio}catch{}return R},enumerable:!0,configurable:!0}),x.isLevelAllowed=function(R,S){return S===void 0&&(S=[]),S.indexOf(R)===-1},x.getMaxLevelByMediaSize=function(R,S,E){if(!R||R&&!R.length)return-1;for(var g=function(_,w){return w?_.width!==w.width||_.height!==w.height:!0},v=R.length-1,T=0;T<R.length;T+=1){var b=R[T];if((b.width>=S||b.height>=E)&&g(b,R[T+1])){v=T;break}}return v},x}(f.default);t.default=u}).call(this,a("./src/polyfills/number.js").Number)},"./src/controller/eme-controller.js":function(n,t,a){var o=this&&this.__extends||function(){var v=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(T,b){T.__proto__=b}||function(T,b){for(var _ in b)b.hasOwnProperty(_)&&(T[_]=b[_])};return function(T,b){v(T,b);function _(){this.constructor=T}T.prototype=b===null?Object.create(b):(_.prototype=b.prototype,new _)}}();Object.defineProperty(t,"__esModule",{value:!0});var d=a("./src/event-handler.js"),h=a("./src/events.js"),f=a("./src/errors.js"),u=a("./src/utils/logger.js"),p=window.XMLHttpRequest,x=3,R={WIDEVINE:"com.widevine.alpha",PLAYREADY:"com.microsoft.playready"},S=function(v,T,b){var _={videoCapabilities:[]};return T.forEach(function(w){_.videoCapabilities.push({contentType:'video/mp4; codecs="'+w+'"'})}),[_]},E=function(v,T,b){switch(v){case R.WIDEVINE:return S(T,b);default:throw Error("Unknown key-system: "+v)}},g=function(v){o(T,v);function T(b){var _=v.call(this,b,h.default.MEDIA_ATTACHED,h.default.MANIFEST_PARSED)||this;return _._widevineLicenseUrl=b.config.widevineLicenseUrl,_._licenseXhrSetup=b.config.licenseXhrSetup,_._emeEnabled=b.config.emeEnabled,_._requestMediaKeySystemAccess=b.config.requestMediaKeySystemAccessFunc,_._mediaKeysList=[],_._media=null,_._hasSetMediaKeys=!1,_._isMediaEncrypted=!1,_._requestLicenseFailureCount=0,_}return T.prototype.getLicenseServerUrl=function(b){var _;switch(b){case R.WIDEVINE:_=this._widevineLicenseUrl;break;default:_=null;break}return _||(u.logger.error('No license server URL configured for key-system "'+b+'"'),this.hls.trigger(h.default.ERROR,{type:f.ErrorTypes.KEY_SYSTEM_ERROR,details:f.ErrorDetails.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0})),_},T.prototype._attemptKeySystemAccess=function(b,_,w){var C=this,P=E(b,_,w);if(!P){u.logger.warn("Can not create config for key-system (maybe because platform is not supported):",b);return}u.logger.log("Requesting encrypted media key-system access"),this.requestMediaKeySystemAccess(b,P).then(function(D){C._onMediaKeySystemAccessObtained(b,D)}).catch(function(D){u.logger.error('Failed to obtain key-system "'+b+'" access:',D)})},Object.defineProperty(T.prototype,"requestMediaKeySystemAccess",{get:function(){if(!this._requestMediaKeySystemAccess)throw new Error("No requestMediaKeySystemAccess function configured");return this._requestMediaKeySystemAccess},enumerable:!0,configurable:!0}),T.prototype._onMediaKeySystemAccessObtained=function(b,_){var w=this;u.logger.log('Access for key-system "'+b+'" obtained');var C={mediaKeys:null,mediaKeysSession:null,mediaKeysSessionInitialized:!1,mediaKeySystemAccess:_,mediaKeySystemDomain:b};this._mediaKeysList.push(C),_.createMediaKeys().then(function(P){C.mediaKeys=P,u.logger.log('Media-keys created for key-system "'+b+'"'),w._onMediaKeysCreated()}).catch(function(P){u.logger.error("Failed to create media-keys:",P)})},T.prototype._onMediaKeysCreated=function(){var b=this;this._mediaKeysList.forEach(function(_){_.mediaKeysSession||(_.mediaKeysSession=_.mediaKeys.createSession(),b._onNewMediaKeySession(_.mediaKeysSession))})},T.prototype._onNewMediaKeySession=function(b){var _=this;u.logger.log("New key-system session "+b.sessionId),b.addEventListener("message",function(w){_._onKeySessionMessage(b,w.message)},!1)},T.prototype._onKeySessionMessage=function(b,_){u.logger.log("Got EME message event, creating license request"),this._requestLicense(_,function(w){u.logger.log("Received license data, updating key-session"),b.update(w)})},T.prototype._onMediaEncrypted=function(b,_){u.logger.log('Media is encrypted using "'+b+'" init data type'),this._isMediaEncrypted=!0,this._mediaEncryptionInitDataType=b,this._mediaEncryptionInitData=_,this._attemptSetMediaKeys(),this._generateRequestWithPreferredKeySession()},T.prototype._attemptSetMediaKeys=function(){if(!this._hasSetMediaKeys){var b=this._mediaKeysList[0];if(!b||!b.mediaKeys){u.logger.error("Fatal: Media is encrypted but no CDM access or no keys have been obtained yet"),this.hls.trigger(h.default.ERROR,{type:f.ErrorTypes.KEY_SYSTEM_ERROR,details:f.ErrorDetails.KEY_SYSTEM_NO_KEYS,fatal:!0});return}u.logger.log("Setting keys for encrypted media"),this._media.setMediaKeys(b.mediaKeys),this._hasSetMediaKeys=!0}},T.prototype._generateRequestWithPreferredKeySession=function(){var b=this,_=this._mediaKeysList[0];if(!_){u.logger.error("Fatal: Media is encrypted but not any key-system access has been obtained yet"),this.hls.trigger(h.default.ERROR,{type:f.ErrorTypes.KEY_SYSTEM_ERROR,details:f.ErrorDetails.KEY_SYSTEM_NO_ACCESS,fatal:!0});return}if(_.mediaKeysSessionInitialized){u.logger.warn("Key-Session already initialized but requested again");return}var w=_.mediaKeysSession;w||(u.logger.error("Fatal: Media is encrypted but no key-session existing"),this.hls.trigger(h.default.ERROR,{type:f.ErrorTypes.KEY_SYSTEM_ERROR,details:f.ErrorDetails.KEY_SYSTEM_NO_SESSION,fatal:!0}));var C=this._mediaEncryptionInitDataType,P=this._mediaEncryptionInitData;u.logger.log('Generating key-session request for "'+C+'" init data type'),_.mediaKeysSessionInitialized=!0,w.generateRequest(C,P).then(function(){u.logger.debug("Key-session generation succeeded")}).catch(function(D){u.logger.error("Error generating key-session request:",D),b.hls.trigger(h.default.ERROR,{type:f.ErrorTypes.KEY_SYSTEM_ERROR,details:f.ErrorDetails.KEY_SYSTEM_NO_SESSION,fatal:!1})})},T.prototype._createLicenseXhr=function(b,_,w){var C=new p,P=this._licenseXhrSetup;try{if(P)try{P(C,b)}catch{C.open("POST",b,!0),P(C,b)}C.readyState||C.open("POST",b,!0)}catch(D){u.logger.error("Error setting up key-system license XHR",D),this.hls.trigger(h.default.ERROR,{type:f.ErrorTypes.KEY_SYSTEM_ERROR,details:f.ErrorDetails.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0});return}return C.responseType="arraybuffer",C.onreadystatechange=this._onLicenseRequestReadyStageChange.bind(this,C,b,_,w),C},T.prototype._onLicenseRequestReadyStageChange=function(b,_,w,C){switch(b.readyState){case 4:if(b.status===200)this._requestLicenseFailureCount=0,u.logger.log("License request succeeded"),C(b.response);else{if(u.logger.error("License Request XHR failed ("+_+"). Status: "+b.status+" ("+b.statusText+")"),this._requestLicenseFailureCount++,this._requestLicenseFailureCount<=x){var P=x-this._requestLicenseFailureCount+1;u.logger.warn("Retrying license request, "+P+" attempts left"),this._requestLicense(w,C);return}this.hls.trigger(h.default.ERROR,{type:f.ErrorTypes.KEY_SYSTEM_ERROR,details:f.ErrorDetails.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0})}break}},T.prototype._generateLicenseRequestChallenge=function(b,_){var w;return b.mediaKeySystemDomain===R.PLAYREADY?u.logger.error("PlayReady is not supported (yet)"):b.mediaKeySystemDomain===R.WIDEVINE?w=_:u.logger.error("Unsupported key-system:",b.mediaKeySystemDomain),w},T.prototype._requestLicense=function(b,_){u.logger.log("Requesting content license for key-system");var w=this._mediaKeysList[0];if(!w){u.logger.error("Fatal error: Media is encrypted but no key-system access has been obtained yet"),this.hls.trigger(h.default.ERROR,{type:f.ErrorTypes.KEY_SYSTEM_ERROR,details:f.ErrorDetails.KEY_SYSTEM_NO_ACCESS,fatal:!0});return}var C=this.getLicenseServerUrl(w.mediaKeySystemDomain),P=this._createLicenseXhr(C,b,_);u.logger.log("Sending license request to URL: "+C),P.send(this._generateLicenseRequestChallenge(w,b))},T.prototype.onMediaAttached=function(b){var _=this;if(this._emeEnabled){var w=b.media;this._media=w,w.addEventListener("encrypted",function(C){_._onMediaEncrypted(C.initDataType,C.initData)})}},T.prototype.onManifestParsed=function(b){if(this._emeEnabled){var _=b.levels.map(function(C){return C.audioCodec}),w=b.levels.map(function(C){return C.videoCodec});this._attemptKeySystemAccess(R.WIDEVINE,_,w)}},T}(d.default);t.default=g},"./src/controller/fps-controller.js":function(n,t,a){var o=this&&this.__extends||function(){var x=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(R,S){R.__proto__=S}||function(R,S){for(var E in S)S.hasOwnProperty(E)&&(R[E]=S[E])};return function(R,S){x(R,S);function E(){this.constructor=R}R.prototype=S===null?Object.create(S):(E.prototype=S.prototype,new E)}}();Object.defineProperty(t,"__esModule",{value:!0});var d=a("./src/events.js"),h=a("./src/event-handler.js"),f=a("./src/utils/logger.js"),u=window.performance,p=function(x){o(R,x);function R(S){return x.call(this,S,d.default.MEDIA_ATTACHING)||this}return R.prototype.destroy=function(){this.timer&&clearInterval(this.timer),this.isVideoPlaybackQualityAvailable=!1},R.prototype.onMediaAttaching=function(S){var E=this.hls.config;if(E.capLevelOnFPSDrop){var g=this.video=S.media instanceof window.HTMLVideoElement?S.media:null;typeof g.getVideoPlaybackQuality=="function"&&(this.isVideoPlaybackQualityAvailable=!0),clearInterval(this.timer),this.timer=setInterval(this.checkFPSInterval.bind(this),E.fpsDroppedMonitoringPeriod)}},R.prototype.checkFPS=function(S,E,g){var v=u.now();if(E){if(this.lastTime){var T=v-this.lastTime,b=g-this.lastDroppedFrames,_=E-this.lastDecodedFrames,w=1e3*b/T,C=this.hls;if(C.trigger(d.default.FPS_DROP,{currentDropped:b,currentDecoded:_,totalDroppedFrames:g}),w>0&&b>C.config.fpsDroppedMonitoringThreshold*_){var P=C.currentLevel;f.logger.warn("drop FPS ratio greater than max allowed value for currentLevel: "+P),P>0&&(C.autoLevelCapping===-1||C.autoLevelCapping>=P)&&(P=P-1,C.trigger(d.default.FPS_DROP_LEVEL_CAPPING,{level:P,droppedLevel:C.currentLevel}),C.autoLevelCapping=P,C.streamController.nextLevelSwitch())}}this.lastTime=v,this.lastDroppedFrames=g,this.lastDecodedFrames=E}},R.prototype.checkFPSInterval=function(){var S=this.video;if(S)if(this.isVideoPlaybackQualityAvailable){var E=S.getVideoPlaybackQuality();this.checkFPS(S,E.totalVideoFrames,E.droppedVideoFrames)}else this.checkFPS(S,S.webkitDecodedFrameCount,S.webkitDroppedFrameCount)},R}(h.default);t.default=p},"./src/controller/fragment-finders.js":function(n,t,a){(function(o){Object.defineProperty(t,"__esModule",{value:!0});var d=a("./src/utils/binary-search.js");function h(x,R,S){if(!Array.isArray(x)||!x.length||!o.isFinite(R)||R<x[0].programDateTime||R>=x[x.length-1].endProgramDateTime)return null;S=S||0;for(var E=0;E<x.length;++E){var g=x[E];if(p(R,S,g))return g}return null}t.findFragmentByPDT=h;function f(x,R,S,E){S===void 0&&(S=0),E===void 0&&(E=0);var g=x?R[x.sn-R[0].sn+1]:null;return g&&!u(S,E,g)?g:d.default.search(R,u.bind(null,S,E))}t.findFragmentByPTS=f;function u(x,R,S){x===void 0&&(x=0),R===void 0&&(R=0);var E=Math.min(R,S.duration+(S.deltaPTS?S.deltaPTS:0));return S.start+S.duration-E<=x?1:S.start-E>x&&S.start?-1:0}t.fragmentWithinToleranceTest=u;function p(x,R,S){var E=Math.min(R,S.duration+(S.deltaPTS?S.deltaPTS:0))*1e3;return S.endProgramDateTime-E>x}t.pdtWithinToleranceTest=p}).call(this,a("./src/polyfills/number.js").Number)},"./src/controller/fragment-tracker.js":function(n,t,a){(function(o){var d=this&&this.__extends||function(){var p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(x,R){x.__proto__=R}||function(x,R){for(var S in R)R.hasOwnProperty(S)&&(x[S]=R[S])};return function(x,R){p(x,R);function S(){this.constructor=x}x.prototype=R===null?Object.create(R):(S.prototype=R.prototype,new S)}}();Object.defineProperty(t,"__esModule",{value:!0});var h=a("./src/event-handler.js"),f=a("./src/events.js");t.FragmentState={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"};var u=function(p){d(x,p);function x(R){var S=p.call(this,R,f.default.BUFFER_APPENDED,f.default.FRAG_BUFFERED,f.default.FRAG_LOADED)||this;return S.bufferPadding=.2,S.fragments=Object.create(null),S.timeRanges=Object.create(null),S.config=R.config,S}return x.prototype.destroy=function(){this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.config=null,h.default.prototype.destroy.call(this),p.prototype.destroy.call(this)},x.prototype.getBufferedFrag=function(R,S){var E=this.fragments,g=Object.keys(E).filter(function(T){var b=E[T];if(b.body.type!==S||!b.buffered)return!1;var _=b.body;return _.startPTS<=R&&R<=_.endPTS});if(g.length===0)return null;var v=g.pop();return E[v].body},x.prototype.detectEvictedFragments=function(R,S){var E=this,g,v;Object.keys(this.fragments).forEach(function(T){var b=E.fragments[T];if(b.buffered===!0){var _=b.range[R];if(_){g=_.time;for(var w=0;w<g.length;w++)if(v=g[w],E.isTimeBuffered(v.startPTS,v.endPTS,S)===!1){E.removeFragment(b.body);break}}}})},x.prototype.detectPartialFragments=function(R){var S=this,E=this.getFragmentKey(R),g=this.fragments[E];g&&(g.buffered=!0,Object.keys(this.timeRanges).forEach(function(v){if(R.hasElementaryStream(v)){var T=S.timeRanges[v];g.range[v]=S.getBufferedTimes(R.startPTS,R.endPTS,T)}}))},x.prototype.getBufferedTimes=function(R,S,E){for(var g=[],v,T,b=!1,_=0;_<E.length;_++)if(v=E.start(_)-this.bufferPadding,T=E.end(_)+this.bufferPadding,R>=v&&S<=T){g.push({startPTS:Math.max(R,E.start(_)),endPTS:Math.min(S,E.end(_))});break}else if(R<T&&S>v)g.push({startPTS:Math.max(R,E.start(_)),endPTS:Math.min(S,E.end(_))}),b=!0;else if(S<=v)break;return{time:g,partial:b}},x.prototype.getFragmentKey=function(R){return R.type+"_"+R.level+"_"+R.urlId+"_"+R.sn},x.prototype.getPartialFragment=function(R){var S=this,E,g,v,T=null,b=0;return Object.keys(this.fragments).forEach(function(_){var w=S.fragments[_];S.isPartial(w)&&(g=w.body.startPTS-S.bufferPadding,v=w.body.endPTS+S.bufferPadding,R>=g&&R<=v&&(E=Math.min(R-g,v-R),b<=E&&(T=w.body,b=E)))}),T},x.prototype.getState=function(R){var S=this.getFragmentKey(R),E=this.fragments[S],g=t.FragmentState.NOT_LOADED;return E!==void 0&&(E.buffered?this.isPartial(E)===!0?g=t.FragmentState.PARTIAL:g=t.FragmentState.OK:g=t.FragmentState.APPENDING),g},x.prototype.isPartial=function(R){return R.buffered===!0&&(R.range.video!==void 0&&R.range.video.partial===!0||R.range.audio!==void 0&&R.range.audio.partial===!0)},x.prototype.isTimeBuffered=function(R,S,E){for(var g,v,T=0;T<E.length;T++){if(g=E.start(T)-this.bufferPadding,v=E.end(T)+this.bufferPadding,R>=g&&S<=v)return!0;if(S<=g)return!1}return!1},x.prototype.onFragLoaded=function(R){var S=R.frag;!o.isFinite(S.sn)||S.bitrateTest||(this.fragments[this.getFragmentKey(S)]={body:S,range:Object.create(null),buffered:!1})},x.prototype.onBufferAppended=function(R){var S=this;this.timeRanges=R.timeRanges,Object.keys(this.timeRanges).forEach(function(E){var g=S.timeRanges[E];S.detectEvictedFragments(E,g)})},x.prototype.onFragBuffered=function(R){this.detectPartialFragments(R.frag)},x.prototype.hasFragment=function(R){var S=this.getFragmentKey(R);return this.fragments[S]!==void 0},x.prototype.removeFragment=function(R){var S=this.getFragmentKey(R);delete this.fragments[S]},x.prototype.removeAllFragments=function(){this.fragments=Object.create(null)},x}(h.default);t.FragmentTracker=u}).call(this,a("./src/polyfills/number.js").Number)},"./src/controller/gap-controller.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/utils/buffer-helper.js"),d=a("./src/errors.js"),h=a("./src/events.js"),f=a("./src/utils/logger.js"),u=1e3,p=.5,x=function(){function R(S,E,g,v){this.config=S,this.media=E,this.fragmentTracker=g,this.hls=v,this.stallReported=!1}return R.prototype.poll=function(S,E){var g=this,v=g.config,T=g.media,b=T.currentTime,_=window.performance.now();if(b!==S){this.stallReported&&(f.logger.warn("playback not stuck anymore @"+b+", after "+Math.round(_-this.stalled)+"ms"),this.stallReported=!1),this.stalled=null,this.nudgeRetry=0;return}if(!(T.ended||!T.buffered.length||T.readyState>2)&&!(T.seeking&&o.BufferHelper.isBuffered(T,b))){var w=_-this.stalled,C=o.BufferHelper.bufferInfo(T,b,v.maxBufferHole);if(this.stalled)w>=u&&this._reportStall(C.len);else{this.stalled=_;return}this._tryFixBufferStall(C,w)}},R.prototype._tryFixBufferStall=function(S,E){var g=this,v=g.config,T=g.fragmentTracker,b=g.media,_=b.currentTime,w=T.getPartialFragment(_);w&&this._trySkipBufferHole(w),S.len>p&&E>v.highBufferWatchdogPeriod*1e3&&(this.stalled=null,this._tryNudgeBuffer())},R.prototype._reportStall=function(S){var E=this,g=E.hls,v=E.media,T=E.stallReported;T||(this.stallReported=!0,f.logger.warn("Playback stalling at @"+v.currentTime+" due to low buffer"),g.trigger(h.default.ERROR,{type:d.ErrorTypes.MEDIA_ERROR,details:d.ErrorDetails.BUFFER_STALLED_ERROR,fatal:!1,buffer:S}))},R.prototype._trySkipBufferHole=function(S){for(var E=this,g=E.hls,v=E.media,T=v.currentTime,b=0,_=0;_<v.buffered.length;_++){var w=v.buffered.start(_);if(T>=b&&T<w){v.currentTime=Math.max(w,v.currentTime+.1),f.logger.warn("skipping hole, adjusting currentTime from "+T+" to "+v.currentTime),this.stalled=null,g.trigger(h.default.ERROR,{type:d.ErrorTypes.MEDIA_ERROR,details:d.ErrorDetails.BUFFER_SEEK_OVER_HOLE,fatal:!1,reason:"fragment loaded with buffer holes, seeking from "+T+" to "+v.currentTime,frag:S});return}b=v.buffered.end(_)}},R.prototype._tryNudgeBuffer=function(){var S=this,E=S.config,g=S.hls,v=S.media,T=v.currentTime,b=(this.nudgeRetry||0)+1;if(this.nudgeRetry=b,b<E.nudgeMaxRetry){var _=T+b*E.nudgeOffset;f.logger.log("adjust currentTime from "+T+" to "+_),v.currentTime=_,g.trigger(h.default.ERROR,{type:d.ErrorTypes.MEDIA_ERROR,details:d.ErrorDetails.BUFFER_NUDGE_ON_STALL,fatal:!1})}else f.logger.error("still stuck in high buffer @"+T+" after "+E.nudgeMaxRetry+", raise fatal error"),g.trigger(h.default.ERROR,{type:d.ErrorTypes.MEDIA_ERROR,details:d.ErrorDetails.BUFFER_STALLED_ERROR,fatal:!0})},R}();t.default=x},"./src/controller/id3-track-controller.js":function(n,t,a){var o=this&&this.__extends||function(){var x=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(R,S){R.__proto__=S}||function(R,S){for(var E in S)S.hasOwnProperty(E)&&(R[E]=S[E])};return function(R,S){x(R,S);function E(){this.constructor=R}R.prototype=S===null?Object.create(S):(E.prototype=S.prototype,new E)}}();Object.defineProperty(t,"__esModule",{value:!0});var d=a("./src/events.js"),h=a("./src/event-handler.js"),f=a("./src/demux/id3.js"),u=a("./src/utils/texttrack-utils.js"),p=function(x){o(R,x);function R(S){var E=x.call(this,S,d.default.MEDIA_ATTACHED,d.default.MEDIA_DETACHING,d.default.FRAG_PARSING_METADATA)||this;return E.id3Track=void 0,E.media=void 0,E}return R.prototype.destroy=function(){h.default.prototype.destroy.call(this)},R.prototype.onMediaAttached=function(S){this.media=S.media,this.media},R.prototype.onMediaDetaching=function(){u.clearCurrentCues(this.id3Track),this.id3Track=void 0,this.media=void 0},R.prototype.getID3Track=function(S){for(var E=0;E<S.length;E++){var g=S[E];if(g.kind==="metadata"&&g.label==="id3")return u.sendAddTrackEvent(g,this.media),g}return this.media.addTextTrack("metadata","id3")},R.prototype.onFragParsingMetadata=function(S){var E=S.frag,g=S.samples;this.id3Track||(this.id3Track=this.getID3Track(this.media.textTracks),this.id3Track.mode="hidden");for(var v=window.WebKitDataCue||window.VTTCue||window.TextTrackCue,T=0;T<g.length;T++){var b=f.default.getID3Frames(g[T].data);if(b){var _=g[T].pts,w=T<g.length-1?g[T+1].pts:E.endPTS;_===w&&(w+=1e-4);for(var C=0;C<b.length;C++){var P=b[C];if(!f.default.isTimeStampFrame(P)){var D=new v(_,w,"");D.value=P,this.id3Track.addCue(D)}}}}},R}(h.default);t.default=p},"./src/controller/level-controller.js":function(n,t,a){var o=this&&this.__extends||function(){var E=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(g,v){g.__proto__=v}||function(g,v){for(var T in v)v.hasOwnProperty(T)&&(g[T]=v[T])};return function(g,v){E(g,v);function T(){this.constructor=g}g.prototype=v===null?Object.create(v):(T.prototype=v.prototype,new T)}}();Object.defineProperty(t,"__esModule",{value:!0});var d=a("./src/events.js"),h=a("./src/event-handler.js"),f=a("./src/utils/logger.js"),u=a("./src/errors.js"),p=a("./src/utils/codecs.js"),x=a("./src/controller/level-helper.js"),R,S=function(E){o(g,E);function g(v){var T=E.call(this,v,d.default.MANIFEST_LOADED,d.default.LEVEL_LOADED,d.default.AUDIO_TRACK_SWITCHED,d.default.FRAG_LOADED,d.default.ERROR)||this;return T.canload=!1,T.currentLevelIndex=null,T.manualLevelIndex=-1,T.timer=null,R=/chrome|firefox/.test(navigator.userAgent.toLowerCase()),T}return g.prototype.onHandlerDestroying=function(){this.clearTimer(),this.manualLevelIndex=-1},g.prototype.clearTimer=function(){this.timer!==null&&(clearTimeout(this.timer),this.timer=null)},g.prototype.startLoad=function(){var v=this._levels;this.canload=!0,this.levelRetryCount=0,v&&v.forEach(function(T){T.loadError=0;var b=T.details;b&&b.live&&(T.details=void 0)}),this.timer!==null&&this.loadLevel()},g.prototype.stopLoad=function(){this.canload=!1},g.prototype.onManifestLoaded=function(v){var T=[],b=[],_,w={},C=null,P=!1,D=!1;if(v.levels.forEach(function(k){var F=k.attrs;k.loadError=0,k.fragmentError=!1,P=P||!!k.videoCodec,D=D||!!k.audioCodec,R&&k.audioCodec&&k.audioCodec.indexOf("mp4a.40.34")!==-1&&(k.audioCodec=void 0),C=w[k.bitrate],C?C.url.push(k.url):(k.url=[k.url],k.urlId=0,w[k.bitrate]=k,T.push(k)),F&&(F.AUDIO&&(D=!0,x.addGroupId(C||k,"audio",F.AUDIO)),F.SUBTITLES&&x.addGroupId(C||k,"text",F.SUBTITLES))}),P&&D&&(T=T.filter(function(k){var F=k.videoCodec;return!!F})),T=T.filter(function(k){var F=k.audioCodec,M=k.videoCodec;return(!F||p.isCodecSupportedInMp4(F,"audio"))&&(!M||p.isCodecSupportedInMp4(M,"video"))}),v.audioTracks&&(b=v.audioTracks.filter(function(k){return!k.audioCodec||p.isCodecSupportedInMp4(k.audioCodec,"audio")}),b.forEach(function(k,F){k.id=F})),T.length>0){_=T[0].bitrate,T.sort(function(k,F){return k.bitrate-F.bitrate}),this._levels=T;for(var N=0;N<T.length;N++)if(T[N].bitrate===_){this._firstLevel=N,f.logger.log("manifest loaded,"+T.length+" level(s) found, first bitrate:"+_);break}this.hls.trigger(d.default.MANIFEST_PARSED,{levels:T,audioTracks:b,firstLevel:this._firstLevel,stats:v.stats,audio:D,video:P,altAudio:b.some(function(k){return!!k.url})})}else this.hls.trigger(d.default.ERROR,{type:u.ErrorTypes.MEDIA_ERROR,details:u.ErrorDetails.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:this.hls.url,reason:"no level with compatible codecs found in manifest"})},Object.defineProperty(g.prototype,"levels",{get:function(){return this._levels},enumerable:!0,configurable:!0}),Object.defineProperty(g.prototype,"level",{get:function(){return this.currentLevelIndex},set:function(v){var T=this._levels;T&&(v=Math.min(v,T.length-1),(this.currentLevelIndex!==v||!T[v].details)&&this.setLevelInternal(v))},enumerable:!0,configurable:!0}),g.prototype.setLevelInternal=function(v){var T=this._levels,b=this.hls;if(v>=0&&v<T.length){if(this.clearTimer(),this.currentLevelIndex!==v){f.logger.log("switching to level "+v),this.currentLevelIndex=v;var _=T[v];_.level=v,b.trigger(d.default.LEVEL_SWITCHING,_)}var w=T[v],C=w.details;if(!C||C.live){var P=w.urlId;b.trigger(d.default.LEVEL_LOADING,{url:w.url[P],level:v,id:P})}}else b.trigger(d.default.ERROR,{type:u.ErrorTypes.OTHER_ERROR,details:u.ErrorDetails.LEVEL_SWITCH_ERROR,level:v,fatal:!1,reason:"invalid level idx"})},Object.defineProperty(g.prototype,"manualLevel",{get:function(){return this.manualLevelIndex},set:function(v){this.manualLevelIndex=v,this._startLevel===void 0&&(this._startLevel=v),v!==-1&&(this.level=v)},enumerable:!0,configurable:!0}),Object.defineProperty(g.prototype,"firstLevel",{get:function(){return this._firstLevel},set:function(v){this._firstLevel=v},enumerable:!0,configurable:!0}),Object.defineProperty(g.prototype,"startLevel",{get:function(){if(this._startLevel===void 0){var v=this.hls.config.startLevel;return v!==void 0?v:this._firstLevel}else return this._startLevel},set:function(v){this._startLevel=v},enumerable:!0,configurable:!0}),g.prototype.onError=function(v){if(v.fatal){v.type===u.ErrorTypes.NETWORK_ERROR&&this.clearTimer();return}var T=!1,b=!1,_;switch(v.details){case u.ErrorDetails.FRAG_LOAD_ERROR:case u.ErrorDetails.FRAG_LOAD_TIMEOUT:case u.ErrorDetails.KEY_LOAD_ERROR:case u.ErrorDetails.KEY_LOAD_TIMEOUT:_=v.frag.level,b=!0;break;case u.ErrorDetails.LEVEL_LOAD_ERROR:case u.ErrorDetails.LEVEL_LOAD_TIMEOUT:_=v.context.level,T=!0;break;case u.ErrorDetails.REMUX_ALLOC_ERROR:_=v.level,T=!0;break}_!==void 0&&this.recoverLevel(v,_,T,b)},g.prototype.recoverLevel=function(v,T,b,_){var w=this,C=this.hls.config,P=v.details,D=this._levels[T],N,k,F;if(D.loadError++,D.fragmentError=_,b)if(this.levelRetryCount+1<=C.levelLoadingMaxRetry)k=Math.min(Math.pow(2,this.levelRetryCount)*C.levelLoadingRetryDelay,C.levelLoadingMaxRetryTimeout),this.timer=setTimeout(function(){return w.loadLevel()},k),v.levelRetry=!0,this.levelRetryCount++,f.logger.warn("level controller, "+P+", retry in "+k+" ms, current retry count is "+this.levelRetryCount);else{f.logger.error("level controller, cannot recover from "+P+" error"),this.currentLevelIndex=null,this.clearTimer(),v.fatal=!0;return}(b||_)&&(N=D.url.length,N>1&&D.loadError<N?(D.urlId=(D.urlId+1)%N,D.details=void 0,f.logger.warn("level controller, "+P+" for level "+T+": switching to redundant URL-id "+D.urlId)):this.manualLevelIndex===-1?(F=T===0?this._levels.length-1:T-1,f.logger.warn("level controller, "+P+": switch to "+F),this.hls.nextAutoLevel=this.currentLevelIndex=F):_&&(f.logger.warn("level controller, "+P+": reload a fragment"),this.currentLevelIndex=null))},g.prototype.onFragLoaded=function(v){var T=v.frag;if(T!==void 0&&T.type==="main"){var b=this._levels[T.level];b!==void 0&&(b.fragmentError=!1,b.loadError=0,this.levelRetryCount=0)}},g.prototype.onLevelLoaded=function(v){var T=this,b=v.level,_=v.details;if(b===this.currentLevelIndex){var w=this._levels[b];if(w.fragmentError||(w.loadError=0,this.levelRetryCount=0),_.live){var C=x.computeReloadInterval(w.details,_,v.stats.trequest);f.logger.log("live playlist, reload in "+Math.round(C)+" ms"),this.timer=setTimeout(function(){return T.loadLevel()},C)}else this.clearTimer()}},g.prototype.onAudioTrackSwitched=function(v){var T=this.hls.audioTracks[v.id].groupId,b=this.hls.levels[this.currentLevelIndex];if(b&&b.audioGroupIds){for(var _=-1,w=0;w<b.audioGroupIds.length;w++)if(b.audioGroupIds[w]===T){_=w;break}_!==b.urlId&&(b.urlId=_,this.startLoad())}},g.prototype.loadLevel=function(){if(f.logger.debug("call to loadLevel"),this.currentLevelIndex!==null&&this.canload){var v=this._levels[this.currentLevelIndex];if(typeof v=="object"&&v.url.length>0){var T=this.currentLevelIndex,b=v.urlId,_=v.url[b];f.logger.log("Attempt loading level index "+T+" with URL-id "+b),this.hls.trigger(d.default.LEVEL_LOADING,{url:_,level:T,id:b})}}},Object.defineProperty(g.prototype,"nextLoadLevel",{get:function(){return this.manualLevelIndex!==-1?this.manualLevelIndex:this.hls.nextAutoLevel},set:function(v){this.level=v,this.manualLevelIndex===-1&&(this.hls.nextAutoLevel=v)},enumerable:!0,configurable:!0}),g}(h.default);t.default=S},"./src/controller/level-helper.js":function(n,t,a){(function(o){Object.defineProperty(t,"__esModule",{value:!0});var d=a("./src/utils/logger.js");function h(g,v,T){switch(v){case"audio":g.audioGroupIds||(g.audioGroupIds=[]),g.audioGroupIds.push(T);break;case"text":g.textGroupIds||(g.textGroupIds=[]),g.textGroupIds.push(T);break}}t.addGroupId=h;function f(g,v,T){var b=g[v],_=g[T],w=_.startPTS;o.isFinite(w)?T>v?(b.duration=w-b.start,b.duration<0&&d.logger.warn("negative duration computed for frag "+b.sn+",level "+b.level+", there should be some duration drift between playlist and fragment!")):(_.duration=b.start-w,_.duration<0&&d.logger.warn("negative duration computed for frag "+_.sn+",level "+_.level+", there should be some duration drift between playlist and fragment!")):T>v?_.start=b.start+b.duration:_.start=Math.max(b.start-_.duration,0)}t.updatePTS=f;function u(g,v,T,b,_,w){var C=T;if(o.isFinite(v.startPTS)){var P=Math.abs(v.startPTS-T);o.isFinite(v.deltaPTS)?v.deltaPTS=Math.max(P,v.deltaPTS):v.deltaPTS=P,C=Math.max(T,v.startPTS),T=Math.min(T,v.startPTS),b=Math.max(b,v.endPTS),_=Math.min(_,v.startDTS),w=Math.max(w,v.endDTS)}var D=T-v.start;v.start=v.startPTS=T,v.maxStartPTS=C,v.endPTS=b,v.startDTS=_,v.endDTS=w,v.duration=b-T;var N=v.sn;if(!g||N<g.startSN||N>g.endSN)return 0;var k,F,M;for(k=N-g.startSN,F=g.fragments,F[k]=v,M=k;M>0;M--)f(F,M,M-1);for(M=k;M<F.length-1;M++)f(F,M,M+1);return g.PTSKnown=!0,D}t.updateFragPTSDTS=u;function p(g,v){v.initSegment&&g.initSegment&&(v.initSegment=g.initSegment);var T=0,b;if(R(g,v,function(C,P){T=C.cc-P.cc,o.isFinite(C.startPTS)&&(P.start=P.startPTS=C.startPTS,P.endPTS=C.endPTS,P.duration=C.duration,P.backtracked=C.backtracked,P.dropped=C.dropped,b=P),v.PTSKnown=!0}),!!v.PTSKnown){if(T){d.logger.log("discontinuity sliding from playlist, take drift into account");for(var _=v.fragments,w=0;w<_.length;w++)_[w].cc+=T}b?u(v,b,b.startPTS,b.endPTS,b.startDTS,b.endDTS):S(g,v),v.PTSKnown=g.PTSKnown}}t.mergeDetails=p;function x(g,v,T){T===void 0&&(T=0);var b=-1;R(g,v,function(C,P,D){P.start=C.start,b=D});var _=v.fragments;if(b<0){_.forEach(function(C){C.start+=T});return}for(var w=b+1;w<_.length;w++)_[w].start=_[w-1].start+_[w-1].duration}t.mergeSubtitlePlaylists=x;function R(g,v,T){if(!(!g||!v))for(var b=Math.max(g.startSN,v.startSN)-v.startSN,_=Math.min(g.endSN,v.endSN)-v.startSN,w=v.startSN-g.startSN,C=b;C<=_;C++){var P=g.fragments[w+C],D=v.fragments[C];if(!P||!D)break;T(P,D,C)}}t.mapFragmentIntersection=R;function S(g,v){var T=v.startSN-g.startSN,b=g.fragments,_=v.fragments;if(!(T<0||T>b.length))for(var w=0;w<_.length;w++)_[w].start+=b[T].start}t.adjustSliding=S;function E(g,v,T){var b=1e3*(v.averagetargetduration?v.averagetargetduration:v.targetduration),_=b/2;return g&&v.endSN===g.endSN&&(b=_),T&&(b=Math.max(_,b-(window.performance.now()-T))),Math.round(b)}t.computeReloadInterval=E}).call(this,a("./src/polyfills/number.js").Number)},"./src/controller/stream-controller.js":function(n,t,a){(function(o){var d=this&&this.__extends||function(){var N=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(k,F){k.__proto__=F}||function(k,F){for(var M in F)F.hasOwnProperty(M)&&(k[M]=F[M])};return function(k,F){N(k,F);function M(){this.constructor=k}k.prototype=F===null?Object.create(F):(M.prototype=F.prototype,new M)}}();Object.defineProperty(t,"__esModule",{value:!0});var h=a("./src/utils/binary-search.js"),f=a("./src/utils/buffer-helper.js"),u=a("./src/demux/demuxer.js"),p=a("./src/events.js"),x=a("./src/controller/fragment-tracker.js"),R=a("./src/loader/fragment.js"),S=a("./src/loader/playlist-loader.js"),E=a("./src/controller/level-helper.js"),g=a("./src/utils/time-ranges.js"),v=a("./src/errors.js"),T=a("./src/utils/logger.js"),b=a("./src/utils/discontinuities.js"),_=a("./src/controller/fragment-finders.js"),w=a("./src/controller/gap-controller.js"),C=a("./src/controller/base-stream-controller.js"),P=100,D=function(N){d(k,N);function k(F,M){var U=N.call(this,F,p.default.MEDIA_ATTACHED,p.default.MEDIA_DETACHING,p.default.MANIFEST_LOADING,p.default.MANIFEST_PARSED,p.default.LEVEL_LOADED,p.default.KEY_LOADED,p.default.FRAG_LOADED,p.default.FRAG_LOAD_EMERGENCY_ABORTED,p.default.FRAG_PARSING_INIT_SEGMENT,p.default.FRAG_PARSING_DATA,p.default.FRAG_PARSED,p.default.ERROR,p.default.AUDIO_TRACK_SWITCHING,p.default.AUDIO_TRACK_SWITCHED,p.default.BUFFER_CREATED,p.default.BUFFER_APPENDED,p.default.BUFFER_FLUSHED)||this;return U.fragmentTracker=M,U.config=F.config,U.audioCodecSwap=!1,U._state=C.State.STOPPED,U.stallReported=!1,U.gapController=null,U}return k.prototype.startLoad=function(F){if(this.levels){var M=this.lastCurrentTime,U=this.hls;if(this.stopLoad(),this.setInterval(P),this.level=-1,this.fragLoadError=0,!this.startFragRequested){var $=U.startLevel;$===-1&&($=0,this.bitrateTest=!0),this.level=U.nextLoadLevel=$,this.loadedmetadata=!1}M>0&&F===-1&&(T.logger.log("override startPosition with lastCurrentTime @"+M.toFixed(3)),F=M),this.state=C.State.IDLE,this.nextLoadPosition=this.startPosition=this.lastCurrentTime=F,this.tick()}else this.forceStartLoad=!0,this.state=C.State.STOPPED},k.prototype.stopLoad=function(){this.forceStartLoad=!1,N.prototype.stopLoad.call(this)},k.prototype.doTick=function(){switch(this.state){case C.State.BUFFER_FLUSHING:this.fragLoadError=0;break;case C.State.IDLE:this._doTickIdle();break;case C.State.WAITING_LEVEL:var F=this.levels[this.level];F&&F.details&&(this.state=C.State.IDLE);break;case C.State.FRAG_LOADING_WAITING_RETRY:var M=window.performance.now(),U=this.retryDate;(!U||M>=U||this.media&&this.media.seeking)&&(T.logger.log("mediaController: retryDate reached, switch back to IDLE state"),this.state=C.State.IDLE);break;case C.State.ERROR:case C.State.STOPPED:case C.State.FRAG_LOADING:case C.State.PARSING:case C.State.PARSED:case C.State.ENDED:break}this._checkBuffer(),this._checkFragmentChanged()},k.prototype._doTickIdle=function(){var F=this.hls,M=F.config,U=this.media;if(!(this.levelLastLoaded===void 0||!U&&(this.startFragRequested||!M.startFragPrefetch))){var $;this.loadedmetadata?$=U.currentTime:$=this.nextLoadPosition;var B=F.nextLoadLevel,J=this.levels[B];if(J){var ne=J.bitrate,ie;ne?ie=Math.max(8*M.maxBufferSize/ne,M.maxBufferLength):ie=M.maxBufferLength,ie=Math.min(ie,M.maxMaxBufferLength);var Y=f.BufferHelper.bufferInfo(this.mediaBuffer?this.mediaBuffer:U,$,M.maxBufferHole),q=Y.len;if(!(q>=ie)){T.logger.trace("buffer length of "+q.toFixed(3)+" is below max of "+ie.toFixed(3)+". checking for more payload ..."),this.level=F.nextLoadLevel=B;var re=J.details;if(!re||re.live&&this.levelLastLoaded!==B){this.state=C.State.WAITING_LEVEL;return}if(this._streamEnded(Y,re)){var ce={};this.altAudio&&(ce.type="video"),this.hls.trigger(p.default.BUFFER_EOS,ce),this.state=C.State.ENDED;return}this._fetchPayloadOrEos($,Y,re)}}}},k.prototype._fetchPayloadOrEos=function(F,M,U){var $=this.fragPrevious,B=this.level,J=U.fragments,ne=J.length;if(ne!==0){var ie=J[0].start,Y=J[ne-1].start+J[ne-1].duration,q=M.end,re;if(U.initSegment&&!U.initSegment.data)re=U.initSegment;else if(U.live){var ce=this.config.initialLiveManifestSize;if(ne<ce){T.logger.warn("Can not start playback of a level, reason: not enough fragments "+ne+" < "+ce);return}if(re=this._ensureFragmentAtLivePoint(U,q,ie,Y,$,J,ne),re===null)return}else q<ie&&(re=J[0]);re||(re=this._findFragment(ie,$,ne,J,q,Y,U)),re&&(re.encrypted?(T.logger.log("Loading key for "+re.sn+" of ["+U.startSN+" ,"+U.endSN+"],level "+B),this._loadKey(re)):(T.logger.log("Loading "+re.sn+" of ["+U.startSN+" ,"+U.endSN+"],level "+B+", currentTime:"+F.toFixed(3)+",bufferEnd:"+q.toFixed(3)),this._loadFragment(re)))}},k.prototype._ensureFragmentAtLivePoint=function(F,M,U,$,B,J,ne){var ie=this.hls.config,Y=this.media,q,re=ie.liveMaxLatencyDuration!==void 0?ie.liveMaxLatencyDuration:ie.liveMaxLatencyDurationCount*F.targetduration;if(M<Math.max(U-ie.maxFragLookUpTolerance,$-re)){var ce=this.liveSyncPosition=this.computeLivePosition(U,F);T.logger.log("buffer end: "+M.toFixed(3)+" is located too far from the end of live sliding playlist, reset currentTime to : "+ce.toFixed(3)),M=ce,Y&&Y.readyState&&Y.duration>ce&&(Y.currentTime=ce),this.nextLoadPosition=ce}if(F.PTSKnown&&M>$&&Y&&Y.readyState)return null;if(this.startFragRequested&&!F.PTSKnown){if(B)if(F.hasProgramDateTime)T.logger.log("live playlist, switching playlist, load frag with same PDT: "+B.programDateTime),q=_.findFragmentByPDT(J,B.endProgramDateTime,ie.maxFragLookUpTolerance);else{var fe=B.sn+1;if(fe>=F.startSN&&fe<=F.endSN){var te=J[fe-F.startSN];B.cc===te.cc&&(q=te,T.logger.log("live playlist, switching playlist, load frag with next SN: "+q.sn))}q||(q=h.default.search(J,function(H){return B.cc-H.cc}),q&&T.logger.log("live playlist, switching playlist, load frag with same CC: "+q.sn))}q||(q=J[Math.min(ne-1,Math.round(ne/2))],T.logger.log("live playlist, switching playlist, unknown, load middle frag : "+q.sn))}return q},k.prototype._findFragment=function(F,M,U,$,B,J,ne){var ie=this.hls.config,Y;if(B<J){var q=B>J-ie.maxFragLookUpTolerance?0:ie.maxFragLookUpTolerance;Y=_.findFragmentByPTS(M,$,B,q)}else Y=$[U-1];if(Y){var re=Y.sn-ne.startSN,ce=M&&Y.level===M.level,fe=$[re-1],te=$[re+1];if(M&&Y.sn===M.sn)if(ce&&!Y.backtracked)if(Y.sn<ne.endSN){var H=M.deltaPTS;H&&H>ie.maxBufferHole&&M.dropped&&re?(Y=fe,T.logger.warn("SN just loaded, with large PTS gap between audio and video, maybe frag is not starting with a keyframe ? load previous one to try to overcome this")):(Y=te,T.logger.log("SN just loaded, load next one: "+Y.sn,Y))}else Y=null;else Y.backtracked&&(te&&te.backtracked?(T.logger.warn("Already backtracked from fragment "+te.sn+", will not backtrack to fragment "+Y.sn+". Loading fragment "+te.sn),Y=te):(T.logger.warn("Loaded fragment with dropped frames, backtracking 1 segment to find a keyframe"),Y.dropped=0,fe?(Y=fe,Y.backtracked=!0):re&&(Y=null)))}return Y},k.prototype._loadKey=function(F){this.state=C.State.KEY_LOADING,this.hls.trigger(p.default.KEY_LOADING,{frag:F})},k.prototype._loadFragment=function(F){var M=this.fragmentTracker.getState(F);this.fragCurrent=F,this.startFragRequested=!0,o.isFinite(F.sn)&&!F.bitrateTest&&(this.nextLoadPosition=F.start+F.duration),F.backtracked||M===x.FragmentState.NOT_LOADED||M===x.FragmentState.PARTIAL?(F.autoLevel=this.hls.autoLevelEnabled,F.bitrateTest=this.bitrateTest,this.hls.trigger(p.default.FRAG_LOADING,{frag:F}),this.demuxer||(this.demuxer=new u.default(this.hls,"main")),this.state=C.State.FRAG_LOADING):M===x.FragmentState.APPENDING&&this._reduceMaxBufferLength(F.duration)&&this.fragmentTracker.removeFragment(F)},Object.defineProperty(k.prototype,"state",{get:function(){return this._state},set:function(F){if(this.state!==F){var M=this.state;this._state=F,T.logger.log("main stream:"+M+"->"+F),this.hls.trigger(p.default.STREAM_STATE_TRANSITION,{previousState:M,nextState:F})}},enumerable:!0,configurable:!0}),k.prototype.getBufferedFrag=function(F){return this.fragmentTracker.getBufferedFrag(F,S.default.LevelType.MAIN)},Object.defineProperty(k.prototype,"currentLevel",{get:function(){var F=this.media;if(F){var M=this.getBufferedFrag(F.currentTime);if(M)return M.level}return-1},enumerable:!0,configurable:!0}),Object.defineProperty(k.prototype,"nextBufferedFrag",{get:function(){var F=this.media;return F?this.followingBufferedFrag(this.getBufferedFrag(F.currentTime)):null},enumerable:!0,configurable:!0}),k.prototype.followingBufferedFrag=function(F){return F?this.getBufferedFrag(F.endPTS+.5):null},Object.defineProperty(k.prototype,"nextLevel",{get:function(){var F=this.nextBufferedFrag;return F?F.level:-1},enumerable:!0,configurable:!0}),k.prototype._checkFragmentChanged=function(){var F,M,U=this.media;if(U&&U.readyState&&U.seeking===!1&&(M=U.currentTime,M>this.lastCurrentTime&&(this.lastCurrentTime=M),f.BufferHelper.isBuffered(U,M)?F=this.getBufferedFrag(M):f.BufferHelper.isBuffered(U,M+.1)&&(F=this.getBufferedFrag(M+.1)),F)){var $=F;if($!==this.fragPlaying){this.hls.trigger(p.default.FRAG_CHANGED,{frag:$});var B=$.level;(!this.fragPlaying||this.fragPlaying.level!==B)&&this.hls.trigger(p.default.LEVEL_SWITCHED,{level:B}),this.fragPlaying=$}}},k.prototype.immediateLevelSwitch=function(){if(T.logger.log("immediateLevelSwitch"),!this.immediateSwitch){this.immediateSwitch=!0;var F=this.media,M=void 0;F?(M=F.paused,F.pause()):M=!0,this.previouslyPaused=M}var U=this.fragCurrent;U&&U.loader&&U.loader.abort(),this.fragCurrent=null,this.flushMainBuffer(0,o.POSITIVE_INFINITY)},k.prototype.immediateLevelSwitchEnd=function(){var F=this.media;F&&F.buffered.length&&(this.immediateSwitch=!1,f.BufferHelper.isBuffered(F,F.currentTime)&&(F.currentTime-=1e-4),this.previouslyPaused||F.play())},k.prototype.nextLevelSwitch=function(){var F=this.media;if(F&&F.readyState){var M=void 0,U=void 0,$=void 0;if(U=this.getBufferedFrag(F.currentTime),U&&U.startPTS>1&&this.flushMainBuffer(0,U.startPTS-1),F.paused)M=0;else{var B=this.hls.nextLoadLevel,J=this.levels[B],ne=this.fragLastKbps;ne&&this.fragCurrent?M=this.fragCurrent.duration*J.bitrate/(1e3*ne)+1:M=0}if($=this.getBufferedFrag(F.currentTime+M),$&&($=this.followingBufferedFrag($),$)){var ie=this.fragCurrent;ie&&ie.loader&&ie.loader.abort(),this.fragCurrent=null,this.flushMainBuffer($.maxStartPTS,o.POSITIVE_INFINITY)}}},k.prototype.flushMainBuffer=function(F,M){this.state=C.State.BUFFER_FLUSHING;var U={startOffset:F,endOffset:M};this.altAudio&&(U.type="video"),this.hls.trigger(p.default.BUFFER_FLUSHING,U)},k.prototype.onMediaAttached=function(F){var M=this.media=this.mediaBuffer=F.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvseeked=this.onMediaSeeked.bind(this),this.onvended=this.onMediaEnded.bind(this),M.addEventListener("seeking",this.onvseeking),M.addEventListener("seeked",this.onvseeked),M.addEventListener("ended",this.onvended);var U=this.config;this.levels&&U.autoStartLoad&&this.hls.startLoad(U.startPosition),this.gapController=new w.default(U,M,this.fragmentTracker,this.hls)},k.prototype.onMediaDetaching=function(){var F=this.media;F&&F.ended&&(T.logger.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0);var M=this.levels;M&&M.forEach(function(U){U.details&&U.details.fragments.forEach(function($){$.backtracked=void 0})}),F&&(F.removeEventListener("seeking",this.onvseeking),F.removeEventListener("seeked",this.onvseeked),F.removeEventListener("ended",this.onvended),this.onvseeking=this.onvseeked=this.onvended=null),this.media=this.mediaBuffer=null,this.loadedmetadata=!1,this.stopLoad()},k.prototype.onMediaSeeked=function(){var F=this.media,M=F?F.currentTime:void 0;o.isFinite(M)&&T.logger.log("media seeked to "+M.toFixed(3)),this.tick()},k.prototype.onManifestLoading=function(){T.logger.log("trigger BUFFER_RESET"),this.hls.trigger(p.default.BUFFER_RESET),this.fragmentTracker.removeAllFragments(),this.stalled=!1,this.startPosition=this.lastCurrentTime=0},k.prototype.onManifestParsed=function(F){var M=!1,U=!1,$;F.levels.forEach(function(J){$=J.audioCodec,$&&($.indexOf("mp4a.40.2")!==-1&&(M=!0),$.indexOf("mp4a.40.5")!==-1&&(U=!0))}),this.audioCodecSwitch=M&&U,this.audioCodecSwitch&&T.logger.log("both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=F.levels,this.startFragRequested=!1;var B=this.config;(B.autoStartLoad||this.forceStartLoad)&&this.hls.startLoad(B.startPosition)},k.prototype.onLevelLoaded=function(F){var M=F.details,U=F.level,$=this.levels[this.levelLastLoaded],B=this.levels[U],J=M.totalduration,ne=0;if(T.logger.log("level "+U+" loaded ["+M.startSN+","+M.endSN+"],duration:"+J),M.live){var ie=B.details;ie&&M.fragments.length>0?(E.mergeDetails(ie,M),ne=M.fragments[0].start,this.liveSyncPosition=this.computeLivePosition(ne,ie),M.PTSKnown&&o.isFinite(ne)?T.logger.log("live playlist sliding:"+ne.toFixed(3)):(T.logger.log("live playlist - outdated PTS, unknown sliding"),b.alignStream(this.fragPrevious,$,M))):(T.logger.log("live playlist - first load, unknown sliding"),M.PTSKnown=!1,b.alignStream(this.fragPrevious,$,M))}else M.PTSKnown=!1;if(B.details=M,this.levelLastLoaded=U,this.hls.trigger(p.default.LEVEL_UPDATED,{details:M,level:U}),this.startFragRequested===!1){if(this.startPosition===-1||this.lastCurrentTime===-1){var Y=M.startTimeOffset;o.isFinite(Y)?(Y<0&&(T.logger.log("negative start time offset "+Y+", count from end of last fragment"),Y=ne+J+Y),T.logger.log("start time offset found in playlist, adjust startPosition to "+Y),this.startPosition=Y):M.live?(this.startPosition=this.computeLivePosition(ne,M),T.logger.log("configure startPosition to "+this.startPosition)):this.startPosition=0,this.lastCurrentTime=this.startPosition}this.nextLoadPosition=this.startPosition}this.state===C.State.WAITING_LEVEL&&(this.state=C.State.IDLE),this.tick()},k.prototype.onKeyLoaded=function(){this.state===C.State.KEY_LOADING&&(this.state=C.State.IDLE,this.tick())},k.prototype.onFragLoaded=function(F){var M=this,U=M.fragCurrent,$=M.hls,B=M.levels,J=M.media,ne=F.frag;if(this.state===C.State.FRAG_LOADING&&U&&ne.type==="main"&&ne.level===U.level&&ne.sn===U.sn){var ie=F.stats,Y=B[U.level],q=Y.details;if(this.bitrateTest=!1,this.stats=ie,T.logger.log("Loaded "+U.sn+" of ["+q.startSN+" ,"+q.endSN+"],level "+U.level),ne.bitrateTest&&$.nextLoadLevel)this.state=C.State.IDLE,this.startFragRequested=!1,ie.tparsed=ie.tbuffered=window.performance.now(),$.trigger(p.default.FRAG_BUFFERED,{stats:ie,frag:U,id:"main"}),this.tick();else if(ne.sn==="initSegment")this.state=C.State.IDLE,ie.tparsed=ie.tbuffered=window.performance.now(),q.initSegment.data=F.payload,$.trigger(p.default.FRAG_BUFFERED,{stats:ie,frag:U,id:"main"}),this.tick();else{T.logger.log("Parsing "+U.sn+" of ["+q.startSN+" ,"+q.endSN+"],level "+U.level+", cc "+U.cc),this.state=C.State.PARSING,this.pendingBuffering=!0,this.appended=!1,ne.bitrateTest&&(ne.bitrateTest=!1,this.fragmentTracker.onFragLoaded({frag:ne}));var re=!(J&&J.seeking)&&(q.PTSKnown||!q.live),ce=q.initSegment?q.initSegment.data:[],fe=this._getAudioCodec(Y),te=this.demuxer=this.demuxer||new u.default(this.hls,"main");te.push(F.payload,ce,fe,Y.videoCodec,U,q.totalduration,re)}}this.fragLoadError=0},k.prototype.onFragParsingInitSegment=function(F){var M=this.fragCurrent,U=F.frag;if(M&&F.id==="main"&&U.sn===M.sn&&U.level===M.level&&this.state===C.State.PARSING){var $=F.tracks,B=void 0,J=void 0;if($.audio&&this.altAudio&&delete $.audio,J=$.audio,J){var ne=this.levels[this.level].audioCodec,ie=navigator.userAgent.toLowerCase();ne&&this.audioCodecSwap&&(T.logger.log("swapping playlist audio codec"),ne.indexOf("mp4a.40.5")!==-1?ne="mp4a.40.2":ne="mp4a.40.5"),this.audioCodecSwitch&&J.metadata.channelCount!==1&&ie.indexOf("firefox")===-1&&(ne="mp4a.40.5"),ie.indexOf("android")!==-1&&J.container!=="audio/mpeg"&&(ne="mp4a.40.2",T.logger.log("Android: force audio codec to "+ne)),J.levelCodec=ne,J.id=F.id}J=$.video,J&&(J.levelCodec=this.levels[this.level].videoCodec,J.id=F.id),this.hls.trigger(p.default.BUFFER_CODECS,$);for(B in $){J=$[B],T.logger.log("main track:"+B+",container:"+J.container+",codecs[level/parsed]=["+J.levelCodec+"/"+J.codec+"]");var Y=J.initSegment;Y&&(this.appended=!0,this.pendingBuffering=!0,this.hls.trigger(p.default.BUFFER_APPENDING,{type:B,data:Y,parent:"main",content:"initSegment"}))}this.tick()}},k.prototype.onFragParsingData=function(F){var M=this,U=this.fragCurrent,$=F.frag;if(U&&F.id==="main"&&$.sn===U.sn&&$.level===U.level&&!(F.type==="audio"&&this.altAudio)&&this.state===C.State.PARSING){var B=this.levels[this.level],J=U;if(o.isFinite(F.endPTS)||(F.endPTS=F.startPTS+U.duration,F.endDTS=F.startDTS+U.duration),F.hasAudio===!0&&J.addElementaryStream(R.default.ElementaryStreamTypes.AUDIO),F.hasVideo===!0&&J.addElementaryStream(R.default.ElementaryStreamTypes.VIDEO),T.logger.log("Parsed "+F.type+",PTS:["+F.startPTS.toFixed(3)+","+F.endPTS.toFixed(3)+"],DTS:["+F.startDTS.toFixed(3)+"/"+F.endDTS.toFixed(3)+"],nb:"+F.nb+",dropped:"+(F.dropped||0)),F.type==="video")if(J.dropped=F.dropped,J.dropped)if(J.backtracked)T.logger.warn("Already backtracked on this fragment, appending with the gap",J.sn);else{var ne=B.details;if(ne&&J.sn===ne.startSN)T.logger.warn("missing video frame(s) on first frag, appending with gap",J.sn);else{T.logger.warn("missing video frame(s), backtracking fragment",J.sn),this.fragmentTracker.removeFragment(J),J.backtracked=!0,this.nextLoadPosition=F.startPTS,this.state=C.State.IDLE,this.fragPrevious=J,this.tick();return}}else J.backtracked=!1;var ie=E.updateFragPTSDTS(B.details,J,F.startPTS,F.endPTS,F.startDTS,F.endDTS),Y=this.hls;Y.trigger(p.default.LEVEL_PTS_UPDATED,{details:B.details,level:this.level,drift:ie,type:F.type,start:F.startPTS,end:F.endPTS}),[F.data1,F.data2].forEach(function(q){q&&q.length&&M.state===C.State.PARSING&&(M.appended=!0,M.pendingBuffering=!0,Y.trigger(p.default.BUFFER_APPENDING,{type:F.type,data:q,parent:"main",content:"data"}))}),this.tick()}},k.prototype.onFragParsed=function(F){var M=this.fragCurrent,U=F.frag;M&&F.id==="main"&&U.sn===M.sn&&U.level===M.level&&this.state===C.State.PARSING&&(this.stats.tparsed=window.performance.now(),this.state=C.State.PARSED,this._checkAppendedParsed())},k.prototype.onAudioTrackSwitching=function(F){var M=!!F.url,U=F.id;if(!M){if(this.mediaBuffer!==this.media){T.logger.log("switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;var $=this.fragCurrent;$.loader&&(T.logger.log("switching to main audio track, cancel main fragment load"),$.loader.abort()),this.fragCurrent=null,this.fragPrevious=null,this.demuxer&&(this.demuxer.destroy(),this.demuxer=null),this.state=C.State.IDLE}var B=this.hls;B.trigger(p.default.BUFFER_FLUSHING,{startOffset:0,endOffset:o.POSITIVE_INFINITY,type:"audio"}),B.trigger(p.default.AUDIO_TRACK_SWITCHED,{id:U}),this.altAudio=!1}},k.prototype.onAudioTrackSwitched=function(F){var M=F.id,U=!!this.hls.audioTracks[M].url;if(U){var $=this.videoBuffer;$&&this.mediaBuffer!==$&&(T.logger.log("switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=$)}this.altAudio=U,this.tick()},k.prototype.onBufferCreated=function(F){var M=F.tracks,U,$,B=!1;for(var J in M){var ne=M[J];ne.id==="main"?($=J,U=ne,J==="video"&&(this.videoBuffer=M[J].buffer)):B=!0}B&&U?(T.logger.log("alternate track found, use "+$+".buffered to schedule main fragment loading"),this.mediaBuffer=U.buffer):this.mediaBuffer=this.media},k.prototype.onBufferAppended=function(F){if(F.parent==="main"){var M=this.state;(M===C.State.PARSING||M===C.State.PARSED)&&(this.pendingBuffering=F.pending>0,this._checkAppendedParsed())}},k.prototype._checkAppendedParsed=function(){if(this.state===C.State.PARSED&&(!this.appended||!this.pendingBuffering)){var F=this.fragCurrent;if(F){var M=this.mediaBuffer?this.mediaBuffer:this.media;T.logger.log("main buffered : "+g.default.toString(M.buffered)),this.fragPrevious=F;var U=this.stats;U.tbuffered=window.performance.now(),this.fragLastKbps=Math.round(8*U.total/(U.tbuffered-U.tfirst)),this.hls.trigger(p.default.FRAG_BUFFERED,{stats:U,frag:F,id:"main"}),this.state=C.State.IDLE}this.tick()}},k.prototype.onError=function(F){var M=F.frag||this.fragCurrent;if(!(M&&M.type!=="main")){var U=!!this.media&&f.BufferHelper.isBuffered(this.media,this.media.currentTime)&&f.BufferHelper.isBuffered(this.media,this.media.currentTime+.5);switch(F.details){case v.ErrorDetails.FRAG_LOAD_ERROR:case v.ErrorDetails.FRAG_LOAD_TIMEOUT:case v.ErrorDetails.KEY_LOAD_ERROR:case v.ErrorDetails.KEY_LOAD_TIMEOUT:if(!F.fatal)if(this.fragLoadError+1<=this.config.fragLoadingMaxRetry){var $=Math.min(Math.pow(2,this.fragLoadError)*this.config.fragLoadingRetryDelay,this.config.fragLoadingMaxRetryTimeout);T.logger.warn("mediaController: frag loading failed, retry in "+$+" ms"),this.retryDate=window.performance.now()+$,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.fragLoadError++,this.state=C.State.FRAG_LOADING_WAITING_RETRY}else T.logger.error("mediaController: "+F.details+" reaches max retry, redispatch as fatal ..."),F.fatal=!0,this.state=C.State.ERROR;break;case v.ErrorDetails.LEVEL_LOAD_ERROR:case v.ErrorDetails.LEVEL_LOAD_TIMEOUT:this.state!==C.State.ERROR&&(F.fatal?(this.state=C.State.ERROR,T.logger.warn("streamController: "+F.details+",switch to "+this.state+" state ...")):!F.levelRetry&&this.state===C.State.WAITING_LEVEL&&(this.state=C.State.IDLE));break;case v.ErrorDetails.BUFFER_FULL_ERROR:F.parent==="main"&&(this.state===C.State.PARSING||this.state===C.State.PARSED)&&(U?(this._reduceMaxBufferLength(this.config.maxBufferLength),this.state=C.State.IDLE):(T.logger.warn("buffer full error also media.currentTime is not buffered, flush everything"),this.fragCurrent=null,this.flushMainBuffer(0,o.POSITIVE_INFINITY)));break}}},k.prototype._reduceMaxBufferLength=function(F){var M=this.config;return M.maxMaxBufferLength>=F?(M.maxMaxBufferLength/=2,T.logger.warn("main:reduce max buffer length to "+M.maxMaxBufferLength+"s"),!0):!1},k.prototype._checkBuffer=function(){var F=this.media;if(!(!F||F.readyState===0)){var M=this.mediaBuffer?this.mediaBuffer:F,U=M.buffered;!this.loadedmetadata&&U.length?(this.loadedmetadata=!0,this._seekToStartPos()):this.immediateSwitch?this.immediateLevelSwitchEnd():this.gapController.poll(this.lastCurrentTime,U)}},k.prototype.onFragLoadEmergencyAborted=function(){this.state=C.State.IDLE,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.tick()},k.prototype.onBufferFlushed=function(){var F=this.mediaBuffer?this.mediaBuffer:this.media;F&&this.fragmentTracker.detectEvictedFragments(R.default.ElementaryStreamTypes.VIDEO,F.buffered),this.state=C.State.IDLE,this.fragPrevious=null},k.prototype.swapAudioCodec=function(){this.audioCodecSwap=!this.audioCodecSwap},k.prototype.computeLivePosition=function(F,M){var U=this.config.liveSyncDuration!==void 0?this.config.liveSyncDuration:this.config.liveSyncDurationCount*M.targetduration;return F+Math.max(0,M.totalduration-U)},k.prototype._seekToStartPos=function(){var F=this.media,M=F.currentTime,U=F.seeking?M:this.startPosition;M!==U&&(T.logger.log("target start position not buffered, seek to buffered.start(0) "+U+" from current time "+M+" "),F.currentTime=U)},k.prototype._getAudioCodec=function(F){var M=this.config.defaultAudioCodec||F.audioCodec;return this.audioCodecSwap&&(T.logger.log("swapping playlist audio codec"),M&&(M.indexOf("mp4a.40.5")!==-1?M="mp4a.40.2":M="mp4a.40.5")),M},Object.defineProperty(k.prototype,"liveSyncPosition",{get:function(){return this._liveSyncPosition},set:function(F){this._liveSyncPosition=F},enumerable:!0,configurable:!0}),k}(C.default);t.default=D}).call(this,a("./src/polyfills/number.js").Number)},"./src/controller/subtitle-stream-controller.js":function(n,t,a){var o=this&&this.__extends||function(){var T=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,_){b.__proto__=_}||function(b,_){for(var w in _)_.hasOwnProperty(w)&&(b[w]=_[w])};return function(b,_){T(b,_);function w(){this.constructor=b}b.prototype=_===null?Object.create(_):(w.prototype=_.prototype,new w)}}();Object.defineProperty(t,"__esModule",{value:!0});var d=a("./src/events.js"),h=a("./src/utils/logger.js"),f=a("./src/crypt/decrypter.js"),u=a("./src/utils/buffer-helper.js"),p=a("./src/controller/fragment-finders.js"),x=a("./src/controller/fragment-tracker.js"),R=a("./src/controller/base-stream-controller.js"),S=a("./src/controller/level-helper.js"),E=window.performance,g=500,v=function(T){o(b,T);function b(_,w){var C=T.call(this,_,d.default.MEDIA_ATTACHED,d.default.MEDIA_DETACHING,d.default.ERROR,d.default.KEY_LOADED,d.default.FRAG_LOADED,d.default.SUBTITLE_TRACKS_UPDATED,d.default.SUBTITLE_TRACK_SWITCH,d.default.SUBTITLE_TRACK_LOADED,d.default.SUBTITLE_FRAG_PROCESSED,d.default.LEVEL_UPDATED)||this;return C.fragmentTracker=w,C.config=_.config,C.state=R.State.STOPPED,C.tracks=[],C.tracksBuffered=[],C.currentTrackId=-1,C.decrypter=new f.default(_,_.config),C.lastAVStart=0,C._onMediaSeeking=C.onMediaSeeking.bind(C),C}return b.prototype.onSubtitleFragProcessed=function(_){var w=_.frag,C=_.success;if(this.fragPrevious=w,this.state=R.State.IDLE,!!C){var P=this.tracksBuffered[this.currentTrackId];if(P){for(var D,N=w.start,k=0;k<P.length;k++)if(N>=P[k].start&&N<=P[k].end){D=P[k];break}var F=w.start+w.duration;D?D.end=F:(D={start:N,end:F},P.push(D))}}},b.prototype.onMediaAttached=function(_){var w=_.media;this.media=w,w.addEventListener("seeking",this._onMediaSeeking),this.state=R.State.IDLE},b.prototype.onMediaDetaching=function(){this.media.removeEventListener("seeking",this._onMediaSeeking),this.media=null,this.state=R.State.STOPPED},b.prototype.onError=function(_){var w=_.frag;!w||w.type!=="subtitle"||(this.state=R.State.IDLE)},b.prototype.onSubtitleTracksUpdated=function(_){var w=this;h.logger.log("subtitle tracks updated"),this.tracksBuffered=[],this.tracks=_.subtitleTracks,this.tracks.forEach(function(C){w.tracksBuffered[C.id]=[]})},b.prototype.onSubtitleTrackSwitch=function(_){if(this.currentTrackId=_.id,!this.tracks||this.currentTrackId===-1){this.clearInterval();return}var w=this.tracks[this.currentTrackId];w&&w.details&&this.setInterval(g)},b.prototype.onSubtitleTrackLoaded=function(_){var w=_.id,C=_.details,P=this,D=P.currentTrackId,N=P.tracks,k=N[D];w>=N.length||w!==D||!k||(C.live&&S.mergeSubtitlePlaylists(k.details,C,this.lastAVStart),k.details=C,this.setInterval(g))},b.prototype.onKeyLoaded=function(){this.state===R.State.KEY_LOADING&&(this.state=R.State.IDLE)},b.prototype.onFragLoaded=function(_){var w=this.fragCurrent,C=_.frag.decryptdata,P=_.frag,D=this.hls;if(this.state===R.State.FRAG_LOADING&&w&&_.frag.type==="subtitle"&&w.sn===_.frag.sn&&_.payload.byteLength>0&&C&&C.key&&C.method==="AES-128"){var N=E.now();this.decrypter.decrypt(_.payload,C.key.buffer,C.iv.buffer,function(k){var F=E.now();D.trigger(d.default.FRAG_DECRYPTED,{frag:P,payload:k,stats:{tstart:N,tdecrypt:F}})})}},b.prototype.onLevelUpdated=function(_){var w=_.details,C=w.fragments;this.lastAVStart=C.length?C[0].start:0},b.prototype.doTick=function(){if(!this.media){this.state=R.State.IDLE;return}switch(this.state){case R.State.IDLE:{var _=this,w=_.config,C=_.currentTrackId,P=_.fragmentTracker,D=_.media,N=_.tracks;if(!N||!N[C]||!N[C].details)break;var k=w.maxBufferHole,F=w.maxFragLookUpTolerance,M=Math.min(w.maxBufferLength,w.maxMaxBufferLength),U=u.BufferHelper.bufferedInfo(this._getBuffered(),D.currentTime,k),$=U.end,B=U.len,J=N[C].details,ne=J.fragments,ie=ne.length,Y=ne[ie-1].start+ne[ie-1].duration;if(B>M)return;var q=void 0,re=this.fragPrevious;$<Y?(re&&J.hasProgramDateTime&&(q=p.findFragmentByPDT(ne,re.endProgramDateTime,F)),q||(q=p.findFragmentByPTS(re,ne,$,F))):q=ne[ie-1],q&&q.encrypted?(h.logger.log("Loading key for "+q.sn),this.state=R.State.KEY_LOADING,this.hls.trigger(d.default.KEY_LOADING,{frag:q})):q&&P.getState(q)===x.FragmentState.NOT_LOADED&&(this.fragCurrent=q,this.state=R.State.FRAG_LOADING,this.hls.trigger(d.default.FRAG_LOADING,{frag:q}))}}},b.prototype.stopLoad=function(){this.lastAVStart=0,T.prototype.stopLoad.call(this)},b.prototype._getBuffered=function(){return this.tracksBuffered[this.currentTrackId]||[]},b.prototype.onMediaSeeking=function(){this.fragPrevious=null},b}(R.default);t.SubtitleStreamController=v},"./src/controller/subtitle-track-controller.js":function(n,t,a){(function(o){var d=this&&this.__extends||function(){var S=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(E,g){E.__proto__=g}||function(E,g){for(var v in g)g.hasOwnProperty(v)&&(E[v]=g[v])};return function(E,g){S(E,g);function v(){this.constructor=E}E.prototype=g===null?Object.create(g):(v.prototype=g.prototype,new v)}}();Object.defineProperty(t,"__esModule",{value:!0});var h=a("./src/events.js"),f=a("./src/event-handler.js"),u=a("./src/utils/logger.js"),p=a("./src/controller/level-helper.js"),x=function(S){d(E,S);function E(g){var v=S.call(this,g,h.default.MEDIA_ATTACHED,h.default.MEDIA_DETACHING,h.default.MANIFEST_LOADED,h.default.SUBTITLE_TRACK_LOADED)||this;return v.tracks=[],v.trackId=-1,v.media=null,v.stopped=!0,v.subtitleDisplay=!0,v}return E.prototype.destroy=function(){f.default.prototype.destroy.call(this)},E.prototype.onMediaAttached=function(g){var v=this;this.media=g.media,this.media&&(this.queuedDefaultTrack&&(this.subtitleTrack=this.queuedDefaultTrack,delete this.queuedDefaultTrack),this.trackChangeListener=this._onTextTracksChanged.bind(this),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.subtitlePollingInterval=setInterval(function(){v.trackChangeListener()},500):this.media.textTracks.addEventListener("change",this.trackChangeListener))},E.prototype.onMediaDetaching=function(){this.media&&(this.useTextTrackPolling?clearInterval(this.subtitlePollingInterval):this.media.textTracks.removeEventListener("change",this.trackChangeListener),this.media=null)},E.prototype.onManifestLoaded=function(g){var v=this,T=g.subtitles||[];this.tracks=T,this.hls.trigger(h.default.SUBTITLE_TRACKS_UPDATED,{subtitleTracks:T}),T.forEach(function(b){b.default&&(v.media?v.subtitleTrack=b.id:v.queuedDefaultTrack=b.id)})},E.prototype.onSubtitleTrackLoaded=function(g){var v=this,T=g.id,b=g.details,_=this,w=_.trackId,C=_.tracks,P=C[w];if(T>=C.length||T!==w||!P||this.stopped){this._clearReloadTimer();return}if(u.logger.log("subtitle track "+T+" loaded"),b.live){var D=p.computeReloadInterval(P.details,b,g.stats.trequest);u.logger.log("Reloading live subtitle playlist in "+D+"ms"),this.timer=setTimeout(function(){v._loadCurrentTrack()},D)}else this._clearReloadTimer()},E.prototype.startLoad=function(){this.stopped=!1,this._loadCurrentTrack()},E.prototype.stopLoad=function(){this.stopped=!0,this._clearReloadTimer()},Object.defineProperty(E.prototype,"subtitleTracks",{get:function(){return this.tracks},enumerable:!0,configurable:!0}),Object.defineProperty(E.prototype,"subtitleTrack",{get:function(){return this.trackId},set:function(g){this.trackId!==g&&(this._toggleTrackModes(g),this._setSubtitleTrackInternal(g))},enumerable:!0,configurable:!0}),E.prototype._clearReloadTimer=function(){this.timer&&(clearTimeout(this.timer),this.timer=null)},E.prototype._loadCurrentTrack=function(){var g=this,v=g.trackId,T=g.tracks,b=g.hls,_=T[v];v<0||!_||_.details&&!_.details.live||(u.logger.log("Loading subtitle track "+v),b.trigger(h.default.SUBTITLE_TRACK_LOADING,{url:_.url,id:v}))},E.prototype._toggleTrackModes=function(g){var v=this,T=v.media,b=v.subtitleDisplay,_=v.trackId;if(T){var w=R(T.textTracks);if(g===-1)[].slice.call(w).forEach(function(D){D.mode="disabled"});else{var C=w[_];C&&(C.mode="disabled")}var P=w[g];P&&(P.mode=b?"showing":"hidden")}},E.prototype._setSubtitleTrackInternal=function(g){var v=this,T=v.hls,b=v.tracks;!o.isFinite(g)||g<-1||g>=b.length||(this.trackId=g,u.logger.log("Switching to subtitle track "+g),T.trigger(h.default.SUBTITLE_TRACK_SWITCH,{id:g}),this._loadCurrentTrack())},E.prototype._onTextTracksChanged=function(){if(this.media){for(var g=-1,v=R(this.media.textTracks),T=0;T<v.length;T++)if(v[T].mode==="hidden")g=T;else if(v[T].mode==="showing"){g=T;break}this.subtitleTrack=g}},E}(f.default);function R(S){for(var E=[],g=0;g<S.length;g++){var v=S[g];v.kind==="subtitles"&&v.label&&E.push(S[g])}return E}t.default=x}).call(this,a("./src/polyfills/number.js").Number)},"./src/controller/timeline-controller.js":function(n,t,a){(function(o){var d=this&&this.__extends||function(){var T=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,_){b.__proto__=_}||function(b,_){for(var w in _)_.hasOwnProperty(w)&&(b[w]=_[w])};return function(b,_){T(b,_);function w(){this.constructor=b}b.prototype=_===null?Object.create(_):(w.prototype=_.prototype,new w)}}();Object.defineProperty(t,"__esModule",{value:!0});var h=a("./src/events.js"),f=a("./src/event-handler.js"),u=a("./src/utils/cea-608-parser.js"),p=a("./src/utils/output-filter.js"),x=a("./src/utils/webvtt-parser.js"),R=a("./src/utils/logger.js"),S=a("./src/utils/texttrack-utils.js");function E(T,b){return T&&T.label===b.name&&!(T.textTrack1||T.textTrack2)}function g(T,b,_,w){return Math.min(b,w)-Math.max(T,_)}var v=function(T){d(b,T);function b(_){var w=T.call(this,_,h.default.MEDIA_ATTACHING,h.default.MEDIA_DETACHING,h.default.FRAG_PARSING_USERDATA,h.default.FRAG_DECRYPTED,h.default.MANIFEST_LOADING,h.default.MANIFEST_LOADED,h.default.FRAG_LOADED,h.default.LEVEL_SWITCHING,h.default.INIT_PTS_FOUND)||this;if(w.hls=_,w.config=_.config,w.enabled=!0,w.Cues=_.config.cueHandler,w.textTracks=[],w.tracks=[],w.unparsedVttFrags=[],w.initPTS=[],w.cueRanges=[],w.captionsTracks={},w.captionsProperties={textTrack1:{label:w.config.captionsTextTrack1Label,languageCode:w.config.captionsTextTrack1LanguageCode},textTrack2:{label:w.config.captionsTextTrack2Label,languageCode:w.config.captionsTextTrack2LanguageCode}},w.config.enableCEA708Captions){var C=new p.default(w,"textTrack1"),P=new p.default(w,"textTrack2");w.cea608Parser=new u.default(0,C,P)}return w}return b.prototype.addCues=function(_,w,C,P){for(var D=this.cueRanges,N=!1,k=D.length;k--;){var F=D[k],M=g(F[0],F[1],w,C);if(M>=0&&(F[0]=Math.min(F[0],w),F[1]=Math.max(F[1],C),N=!0,M/(C-w)>.5))return}N||D.push([w,C]),this.Cues.newCue(this.captionsTracks[_],w,C,P)},b.prototype.onInitPtsFound=function(_){var w=this;if(_.id==="main"&&(this.initPTS[_.frag.cc]=_.initPTS),this.unparsedVttFrags.length){var C=this.unparsedVttFrags;this.unparsedVttFrags=[],C.forEach(function(P){w.onFragLoaded(P)})}},b.prototype.getExistingTrack=function(_){var w=this.media;if(w)for(var C=0;C<w.textTracks.length;C++){var P=w.textTracks[C];if(P[_])return P}return null},b.prototype.createCaptionsTrack=function(_){var w=this.captionsProperties[_],C=w.label,P=w.languageCode,D=this.captionsTracks;if(!D[_]){var N=this.getExistingTrack(_);if(N)D[_]=N,S.clearCurrentCues(D[_]),S.sendAddTrackEvent(D[_],this.media);else{var k=this.createTextTrack("captions",C,P);k&&(k[_]=!0,D[_]=k)}}},b.prototype.createTextTrack=function(_,w,C){var P=this.media;if(P)return P.addTextTrack(_,w,C)},b.prototype.destroy=function(){f.default.prototype.destroy.call(this)},b.prototype.onMediaAttaching=function(_){this.media=_.media,this._cleanTracks()},b.prototype.onMediaDetaching=function(){var _=this.captionsTracks;Object.keys(_).forEach(function(w){S.clearCurrentCues(_[w]),delete _[w]})},b.prototype.onManifestLoading=function(){this.lastSn=-1,this.prevCC=-1,this.vttCCs={ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!1}},this._cleanTracks()},b.prototype._cleanTracks=function(){var _=this.media;if(_){var w=_.textTracks;if(w)for(var C=0;C<w.length;C++)S.clearCurrentCues(w[C])}},b.prototype.onManifestLoaded=function(_){var w=this;if(this.textTracks=[],this.unparsedVttFrags=this.unparsedVttFrags||[],this.initPTS=[],this.cueRanges=[],this.config.enableWebVTT){this.tracks=_.subtitles||[];var C=this.media?this.media.textTracks:[];this.tracks.forEach(function(P,D){var N;if(D<C.length){for(var k=null,F=0;F<C.length;F++)if(E(C[F],P)){k=C[F];break}k&&(N=k)}N||(N=w.createTextTrack("subtitles",P.name,P.lang)),P.default?N.mode=w.hls.subtitleDisplay?"showing":"hidden":N.mode="disabled",w.textTracks.push(N)})}},b.prototype.onLevelSwitching=function(){this.enabled=this.hls.currentLevel.closedCaptions!=="NONE"},b.prototype.onFragLoaded=function(_){var w=_.frag,C=_.payload;if(w.type==="main"){var P=w.sn;if(P!==this.lastSn+1){var D=this.cea608Parser;D&&D.reset()}this.lastSn=P}else if(w.type==="subtitle")if(C.byteLength){if(!o.isFinite(this.initPTS[w.cc])){this.unparsedVttFrags.push(_),this.initPTS.length&&this.hls.trigger(h.default.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:w});return}var N=w.decryptdata;(N==null||N.key==null||N.method!=="AES-128")&&this._parseVTTs(w,C)}else this.hls.trigger(h.default.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:w})},b.prototype._parseVTTs=function(_,w){var C=this.vttCCs;C[_.cc]||(C[_.cc]={start:_.start,prevCC:this.prevCC,new:!0},this.prevCC=_.cc);var P=this.textTracks,D=this.hls;x.default.parse(w,this.initPTS[_.cc],C,_.cc,function(N){var k=P[_.level];if(k.mode==="disabled"){D.trigger(h.default.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:_});return}N.forEach(function(F){if(!k.cues.getCueById(F.id))try{k.addCue(F)}catch{var M=new window.TextTrackCue(F.startTime,F.endTime,F.text);M.id=F.id,k.addCue(M)}}),D.trigger(h.default.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:_})},function(N){R.logger.log("Failed to parse VTT cue: "+N),D.trigger(h.default.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:_})})},b.prototype.onFragDecrypted=function(_){var w=_.payload,C=_.frag;if(C.type==="subtitle"){if(!o.isFinite(this.initPTS[C.cc])){this.unparsedVttFrags.push(_);return}this._parseVTTs(C,w)}},b.prototype.onFragParsingUserdata=function(_){if(this.enabled&&this.config.enableCEA708Captions)for(var w=0;w<_.samples.length;w++){var C=this.extractCea608Data(_.samples[w].bytes);this.cea608Parser.addData(_.samples[w].pts,C)}},b.prototype.extractCea608Data=function(_){for(var w=_[0]&31,C=2,P,D,N,k,F,M=[],U=0;U<w;U++)P=_[C++],D=127&_[C++],N=127&_[C++],k=(4&P)!==0,F=3&P,!(D===0&&N===0)&&k&&F===0&&(M.push(D),M.push(N));return M},b}(f.default);t.default=v}).call(this,a("./src/polyfills/number.js").Number)},"./src/crypt/aes-crypto.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function d(h,f){this.subtle=h,this.aesIV=f}return d.prototype.decrypt=function(h,f){return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},f,h)},d}();t.default=o},"./src/crypt/aes-decryptor.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});function o(h){var f=h.byteLength,u=f&&new DataView(h).getUint8(f-1);return u?h.slice(0,f-u):h}t.removePadding=o;var d=function(){function h(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.initTable()}return h.prototype.uint8ArrayToUint32Array_=function(f){for(var u=new DataView(f),p=new Uint32Array(4),x=0;x<4;x++)p[x]=u.getUint32(x*4);return p},h.prototype.initTable=function(){var f=this.sBox,u=this.invSBox,p=this.subMix,x=p[0],R=p[1],S=p[2],E=p[3],g=this.invSubMix,v=g[0],T=g[1],b=g[2],_=g[3],w=new Uint32Array(256),C=0,P=0,D=0;for(D=0;D<256;D++)D<128?w[D]=D<<1:w[D]=D<<1^283;for(D=0;D<256;D++){var N=P^P<<1^P<<2^P<<3^P<<4;N=N>>>8^N&255^99,f[C]=N,u[N]=C;var k=w[C],F=w[k],M=w[F],U=w[N]*257^N*16843008;x[C]=U<<24|U>>>8,R[C]=U<<16|U>>>16,S[C]=U<<8|U>>>24,E[C]=U,U=M*16843009^F*65537^k*257^C*16843008,v[N]=U<<24|U>>>8,T[N]=U<<16|U>>>16,b[N]=U<<8|U>>>24,_[N]=U,C?(C=k^w[w[w[M^k]]],P^=w[w[P]]):C=P=1}},h.prototype.expandKey=function(f){for(var u=this.uint8ArrayToUint32Array_(f),p=!0,x=0;x<u.length&&p;)p=u[x]===this.key[x],x++;if(!p){this.key=u;var R=this.keySize=u.length;if(R!==4&&R!==6&&R!==8)throw new Error("Invalid aes key size="+R);var S=this.ksRows=(R+6+1)*4,E,g,v=this.keySchedule=new Uint32Array(S),T=this.invKeySchedule=new Uint32Array(S),b=this.sBox,_=this.rcon,w=this.invSubMix,C=w[0],P=w[1],D=w[2],N=w[3],k,F;for(E=0;E<S;E++){if(E<R){k=v[E]=u[E];continue}F=k,E%R===0?(F=F<<8|F>>>24,F=b[F>>>24]<<24|b[F>>>16&255]<<16|b[F>>>8&255]<<8|b[F&255],F^=_[E/R|0]<<24):R>6&&E%R===4&&(F=b[F>>>24]<<24|b[F>>>16&255]<<16|b[F>>>8&255]<<8|b[F&255]),v[E]=k=(v[E-R]^F)>>>0}for(g=0;g<S;g++)E=S-g,g&3?F=v[E]:F=v[E-4],g<4||E<=4?T[g]=F:T[g]=C[b[F>>>24]]^P[b[F>>>16&255]]^D[b[F>>>8&255]]^N[b[F&255]],T[g]=T[g]>>>0}},h.prototype.networkToHostOrderSwap=function(f){return f<<24|(f&65280)<<8|(f&16711680)>>8|f>>>24},h.prototype.decrypt=function(f,u,p,x){for(var R=this.keySize+6,S=this.invKeySchedule,E=this.invSBox,g=this.invSubMix,v=g[0],T=g[1],b=g[2],_=g[3],w=this.uint8ArrayToUint32Array_(p),C=w[0],P=w[1],D=w[2],N=w[3],k=new Int32Array(f),F=new Int32Array(k.length),M,U,$,B,J,ne,ie,Y,q,re,ce,fe,te,H,W=this.networkToHostOrderSwap;u<k.length;){for(q=W(k[u]),re=W(k[u+1]),ce=W(k[u+2]),fe=W(k[u+3]),J=q^S[0],ne=fe^S[1],ie=ce^S[2],Y=re^S[3],te=4,H=1;H<R;H++)M=v[J>>>24]^T[ne>>16&255]^b[ie>>8&255]^_[Y&255]^S[te],U=v[ne>>>24]^T[ie>>16&255]^b[Y>>8&255]^_[J&255]^S[te+1],$=v[ie>>>24]^T[Y>>16&255]^b[J>>8&255]^_[ne&255]^S[te+2],B=v[Y>>>24]^T[J>>16&255]^b[ne>>8&255]^_[ie&255]^S[te+3],J=M,ne=U,ie=$,Y=B,te=te+4;M=E[J>>>24]<<24^E[ne>>16&255]<<16^E[ie>>8&255]<<8^E[Y&255]^S[te],U=E[ne>>>24]<<24^E[ie>>16&255]<<16^E[Y>>8&255]<<8^E[J&255]^S[te+1],$=E[ie>>>24]<<24^E[Y>>16&255]<<16^E[J>>8&255]<<8^E[ne&255]^S[te+2],B=E[Y>>>24]<<24^E[J>>16&255]<<16^E[ne>>8&255]<<8^E[ie&255]^S[te+3],te=te+3,F[u]=W(M^C),F[u+1]=W(B^P),F[u+2]=W($^D),F[u+3]=W(U^N),C=q,P=re,D=ce,N=fe,u=u+4}return x?o(F.buffer):F.buffer},h.prototype.destroy=function(){this.key=void 0,this.keySize=void 0,this.ksRows=void 0,this.sBox=void 0,this.invSBox=void 0,this.subMix=void 0,this.invSubMix=void 0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.rcon=void 0},h}();t.default=d},"./src/crypt/decrypter.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/crypt/aes-crypto.js"),d=a("./src/crypt/fast-aes-key.js"),h=a("./src/crypt/aes-decryptor.js"),f=a("./src/errors.js"),u=a("./src/utils/logger.js"),p=a("./src/events.js"),x=a("./src/utils/get-self-scope.js"),R=x.getSelfScope(),S=function(){function E(g,v,T){var b=(T===void 0?{}:T).removePKCS7Padding,_=b===void 0?!0:b;if(this.logEnabled=!0,this.observer=g,this.config=v,this.removePKCS7Padding=_,_)try{var w=R.crypto;w&&(this.subtle=w.subtle||w.webkitSubtle)}catch{}this.disableWebCrypto=!this.subtle}return E.prototype.isSync=function(){return this.disableWebCrypto&&this.config.enableSoftwareAES},E.prototype.decrypt=function(g,v,T,b){var _=this;if(this.disableWebCrypto&&this.config.enableSoftwareAES){this.logEnabled&&(u.logger.log("JS AES decrypt"),this.logEnabled=!1);var w=this.decryptor;w||(this.decryptor=w=new h.default),w.expandKey(v),b(w.decrypt(g,0,T,this.removePKCS7Padding))}else{this.logEnabled&&(u.logger.log("WebCrypto AES decrypt"),this.logEnabled=!1);var C=this.subtle;this.key!==v&&(this.key=v,this.fastAesKey=new d.default(C,v)),this.fastAesKey.expandKey().then(function(P){var D=new o.default(C,T);D.decrypt(g,P).catch(function(N){_.onWebCryptoError(N,g,v,T,b)}).then(function(N){b(N)})}).catch(function(P){_.onWebCryptoError(P,g,v,T,b)})}},E.prototype.onWebCryptoError=function(g,v,T,b,_){this.config.enableSoftwareAES?(u.logger.log("WebCrypto Error, disable WebCrypto API"),this.disableWebCrypto=!0,this.logEnabled=!0,this.decrypt(v,T,b,_)):(u.logger.error("decrypting error : "+g.message),this.observer.trigger(p.default.ERROR,{type:f.ErrorTypes.MEDIA_ERROR,details:f.ErrorDetails.FRAG_DECRYPT_ERROR,fatal:!0,reason:g.message}))},E.prototype.destroy=function(){var g=this.decryptor;g&&(g.destroy(),this.decryptor=void 0)},E}();t.default=S},"./src/crypt/fast-aes-key.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function d(h,f){this.subtle=h,this.key=f}return d.prototype.expandKey=function(){return this.subtle.importKey("raw",this.key,{name:"AES-CBC"},!1,["encrypt","decrypt"])},d}();t.default=o},"./src/demux/aacdemuxer.js":function(n,t,a){(function(o){Object.defineProperty(t,"__esModule",{value:!0});var d=a("./src/demux/adts.js"),h=a("./src/utils/logger.js"),f=a("./src/demux/id3.js"),u=function(){function p(x,R,S){this.observer=x,this.config=S,this.remuxer=R}return p.prototype.resetInitSegment=function(x,R,S,E){this._audioTrack={container:"audio/adts",type:"audio",id:0,sequenceNumber:0,isAAC:!0,samples:[],len:0,manifestCodec:R,duration:E,inputTimeScale:9e4}},p.prototype.resetTimeStamp=function(){},p.probe=function(x){if(!x)return!1;for(var R=f.default.getID3Data(x,0)||[],S=R.length,E=x.length;S<E;S++)if(d.probe(x,S))return h.logger.log("ADTS sync word found !"),!0;return!1},p.prototype.append=function(x,R,S,E){for(var g=this._audioTrack,v=f.default.getID3Data(x,0)||[],T=f.default.getTimeStamp(v),b=o.isFinite(T)?T*90:R*9e4,_=0,w=b,C=x.length,P=v.length,D=[{pts:w,dts:w,data:v}];P<C-1;)if(d.isHeader(x,P)&&P+5<C){d.initTrackConfig(g,this.observer,x,P,g.manifestCodec);var N=d.appendFrame(g,x,P,b,_);if(N)P+=N.length,w=N.sample.pts,_++;else{h.logger.log("Unable to parse AAC frame");break}}else f.default.isHeader(x,P)?(v=f.default.getID3Data(x,P),D.push({pts:w,dts:w,data:v}),P+=v.length):P++;this.remuxer.remux(g,{samples:[]},{samples:D,inputTimeScale:9e4},{samples:[]},R,S,E)},p.prototype.destroy=function(){},p}();t.default=u}).call(this,a("./src/polyfills/number.js").Number)},"./src/demux/adts.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/utils/logger.js"),d=a("./src/errors.js"),h=a("./src/events.js");function f(b,_,w,C){var P,D,N,k,F,M=navigator.userAgent.toLowerCase(),U=C,$=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];if(P=((_[w+2]&192)>>>6)+1,D=(_[w+2]&60)>>>2,D>$.length-1){b.trigger(h.default.ERROR,{type:d.ErrorTypes.MEDIA_ERROR,details:d.ErrorDetails.FRAG_PARSING_ERROR,fatal:!0,reason:"invalid ADTS sampling index:"+D});return}return k=(_[w+2]&1)<<2,k|=(_[w+3]&192)>>>6,o.logger.log("manifest codec:"+C+",ADTS data:type:"+P+",sampleingIndex:"+D+"["+$[D]+"Hz],channelConfig:"+k),/firefox/i.test(M)?D>=6?(P=5,F=new Array(4),N=D-3):(P=2,F=new Array(2),N=D):M.indexOf("android")!==-1?(P=2,F=new Array(2),N=D):(P=5,F=new Array(4),C&&(C.indexOf("mp4a.40.29")!==-1||C.indexOf("mp4a.40.5")!==-1)||!C&&D>=6?N=D-3:((C&&C.indexOf("mp4a.40.2")!==-1&&(D>=6&&k===1||/vivaldi/i.test(M))||!C&&k===1)&&(P=2,F=new Array(2)),N=D)),F[0]=P<<3,F[0]|=(D&14)>>1,F[1]|=(D&1)<<7,F[1]|=k<<3,P===5&&(F[1]|=(N&14)>>1,F[2]=(N&1)<<7,F[2]|=8,F[3]=0),{config:F,samplerate:$[D],channelCount:k,codec:"mp4a.40."+P,manifestCodec:U}}t.getAudioConfig=f;function u(b,_){return b[_]===255&&(b[_+1]&246)===240}t.isHeaderPattern=u;function p(b,_){return b[_+1]&1?7:9}t.getHeaderLength=p;function x(b,_){return(b[_+3]&3)<<11|b[_+4]<<3|(b[_+5]&224)>>>5}t.getFullFrameLength=x;function R(b,_){return!!(_+1<b.length&&u(b,_))}t.isHeader=R;function S(b,_){if(_+1<b.length&&u(b,_)){var w=p(b,_),C=w;_+5<b.length&&(C=x(b,_));var P=_+C;if(P===b.length||P+1<b.length&&u(b,P))return!0}return!1}t.probe=S;function E(b,_,w,C,P){if(!b.samplerate){var D=f(_,w,C,P);b.config=D.config,b.samplerate=D.samplerate,b.channelCount=D.channelCount,b.codec=D.codec,b.manifestCodec=D.manifestCodec,o.logger.log("parsed codec:"+b.codec+",rate:"+D.samplerate+",nb channel:"+D.channelCount)}}t.initTrackConfig=E;function g(b){return 1024*9e4/b}t.getFrameDuration=g;function v(b,_,w,C,P){var D,N,k,F=b.length;if(D=p(b,_),N=x(b,_),N-=D,N>0&&_+D+N<=F)return k=w+C*P,{headerLength:D,frameLength:N,stamp:k}}t.parseFrameHeader=v;function T(b,_,w,C,P){var D=g(b.samplerate),N=v(_,w,C,P,D);if(N){var k=N.stamp,F=N.headerLength,M=N.frameLength,U={unit:_.subarray(w+F,w+F+M),pts:k,dts:k};return b.samples.push(U),b.len+=M,{sample:U,length:M+F}}}t.appendFrame=T},"./src/demux/demuxer-inline.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/events.js"),d=a("./src/errors.js"),h=a("./src/crypt/decrypter.js"),f=a("./src/demux/aacdemuxer.js"),u=a("./src/demux/mp4demuxer.js"),p=a("./src/demux/tsdemuxer.js"),x=a("./src/demux/mp3demuxer.js"),R=a("./src/remux/mp4-remuxer.js"),S=a("./src/remux/passthrough-remuxer.js"),E=a("./src/utils/get-self-scope.js"),g=a("./src/utils/logger.js"),v=E.getSelfScope(),T;try{T=v.performance.now.bind(v.performance)}catch{g.logger.debug("Unable to use Performance API on this environment"),T=v.Date.now}var b=function(){function _(w,C,P,D){this.observer=w,this.typeSupported=C,this.config=P,this.vendor=D}return _.prototype.destroy=function(){var w=this.demuxer;w&&w.destroy()},_.prototype.push=function(w,C,P,D,N,k,F,M,U,$,B,J){var ne=this;if(w.byteLength>0&&C!=null&&C.key!=null&&C.method==="AES-128"){var ie=this.decrypter;ie==null&&(ie=this.decrypter=new h.default(this.observer,this.config));var Y=T();ie.decrypt(w,C.key.buffer,C.iv.buffer,function(q){var re=T();ne.observer.trigger(o.default.FRAG_DECRYPTED,{stats:{tstart:Y,tdecrypt:re}}),ne.pushDecrypted(new Uint8Array(q),C,new Uint8Array(P),D,N,k,F,M,U,$,B,J)})}else this.pushDecrypted(new Uint8Array(w),C,new Uint8Array(P),D,N,k,F,M,U,$,B,J)},_.prototype.pushDecrypted=function(w,C,P,D,N,k,F,M,U,$,B,J){var ne=this.demuxer;if(!ne||(F||M)&&!this.probe(w)){for(var ie=this.observer,Y=this.typeSupported,q=this.config,re=[{demux:p.default,remux:R.default},{demux:u.default,remux:S.default},{demux:f.default,remux:R.default},{demux:x.default,remux:R.default}],ce=0,fe=re.length;ce<fe;ce++){var te=re[ce],H=te.demux.probe;if(H(w)){var W=this.remuxer=new te.remux(ie,q,Y,this.vendor);ne=new te.demux(ie,W,q,Y),this.probe=H;break}}if(!ne){ie.trigger(o.default.ERROR,{type:d.ErrorTypes.MEDIA_ERROR,details:d.ErrorDetails.FRAG_PARSING_ERROR,fatal:!0,reason:"no demux matching with content found"});return}this.demuxer=ne}var V=this.remuxer;(F||M)&&(ne.resetInitSegment(P,D,N,$),V.resetInitSegment()),F&&(ne.resetTimeStamp(J),V.resetTimeStamp(J)),typeof ne.setDecryptData=="function"&&ne.setDecryptData(C),ne.append(w,k,U,B)},_}();t.default=b},"./src/demux/demuxer-worker.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/demux/demuxer-inline.js"),d=a("./src/events.js"),h=a("./src/utils/logger.js"),f=a("./node_modules/node-libs-browser/node_modules/events/events.js"),u=function(p){var x=new f.EventEmitter;x.trigger=function(E){for(var g=[],v=1;v<arguments.length;v++)g[v-1]=arguments[v];x.emit.apply(x,[E,E].concat(g))},x.off=function(E){for(var g=[],v=1;v<arguments.length;v++)g[v-1]=arguments[v];x.removeListener.apply(x,[E].concat(g))};var R=function(S,E){p.postMessage({event:S,data:E})};p.addEventListener("message",function(S){var E=S.data;switch(E.cmd){case"init":var g=JSON.parse(E.config);p.demuxer=new o.default(x,E.typeSupported,g,E.vendor),h.enableLogs(g.debug),R("init",null);break;case"demux":p.demuxer.push(E.data,E.decryptdata,E.initSegment,E.audioCodec,E.videoCodec,E.timeOffset,E.discontinuity,E.trackSwitch,E.contiguous,E.duration,E.accurateTimeOffset,E.defaultInitPTS);break}}),x.on(d.default.FRAG_DECRYPTED,R),x.on(d.default.FRAG_PARSING_INIT_SEGMENT,R),x.on(d.default.FRAG_PARSED,R),x.on(d.default.ERROR,R),x.on(d.default.FRAG_PARSING_METADATA,R),x.on(d.default.FRAG_PARSING_USERDATA,R),x.on(d.default.INIT_PTS_FOUND,R),x.on(d.default.FRAG_PARSING_DATA,function(S,E){var g=[],v={event:S,data:E};E.data1&&(v.data1=E.data1.buffer,g.push(E.data1.buffer),delete E.data1),E.data2&&(v.data2=E.data2.buffer,g.push(E.data2.buffer),delete E.data2),p.postMessage(v,g)})};t.default=u},"./src/demux/demuxer.js":function(n,t,a){(function(o){Object.defineProperty(t,"__esModule",{value:!0});var d=a("./node_modules/webworkify-webpack/index.js"),h=a("./src/events.js"),f=a("./src/demux/demuxer-inline.js"),u=a("./src/utils/logger.js"),p=a("./src/errors.js"),x=a("./src/utils/mediasource-helper.js"),R=a("./src/utils/get-self-scope.js"),S=a("./src/observer.js"),E=R.getSelfScope(),g=x.getMediaSource(),v=function(){function T(b,_){var w=this;this.hls=b,this.id=_;var C=this.observer=new S.Observer,P=b.config,D=function(M,U){U=U||{},U.frag=w.frag,U.id=w.id,b.trigger(M,U)};C.on(h.default.FRAG_DECRYPTED,D),C.on(h.default.FRAG_PARSING_INIT_SEGMENT,D),C.on(h.default.FRAG_PARSING_DATA,D),C.on(h.default.FRAG_PARSED,D),C.on(h.default.ERROR,D),C.on(h.default.FRAG_PARSING_METADATA,D),C.on(h.default.FRAG_PARSING_USERDATA,D),C.on(h.default.INIT_PTS_FOUND,D);var N={mp4:g.isTypeSupported("video/mp4"),mpeg:g.isTypeSupported("audio/mpeg"),mp3:g.isTypeSupported('audio/mp4; codecs="mp3"')},k=navigator.vendor;if(P.enableWorker&&typeof Worker<"u"){u.logger.log("demuxing in webworker");var F=void 0;try{F=this.w=d("./src/demux/demuxer-worker.js"),this.onwmsg=this.onWorkerMessage.bind(this),F.addEventListener("message",this.onwmsg),F.onerror=function(M){b.trigger(h.default.ERROR,{type:p.ErrorTypes.OTHER_ERROR,details:p.ErrorDetails.INTERNAL_EXCEPTION,fatal:!0,event:"demuxerWorker",err:{message:M.message+" ("+M.filename+":"+M.lineno+")"}})},F.postMessage({cmd:"init",typeSupported:N,vendor:k,id:_,config:JSON.stringify(P)})}catch(M){u.logger.warn("Error in worker:",M),u.logger.error("Error while initializing DemuxerWorker, fallback on DemuxerInline"),F&&E.URL.revokeObjectURL(F.objectURL),this.demuxer=new f.default(C,N,P,k),this.w=void 0}}else this.demuxer=new f.default(C,N,P,k)}return T.prototype.destroy=function(){var b=this.w;if(b)b.removeEventListener("message",this.onwmsg),b.terminate(),this.w=null;else{var _=this.demuxer;_&&(_.destroy(),this.demuxer=null)}var w=this.observer;w&&(w.removeAllListeners(),this.observer=null)},T.prototype.push=function(b,_,w,C,P,D,N,k){var F=this.w,M=o.isFinite(P.startPTS)?P.startPTS:P.start,U=P.decryptdata,$=this.frag,B=!($&&P.cc===$.cc),J=!($&&P.level===$.level),ne=$&&P.sn===$.sn+1,ie=!J&&ne;if(B&&u.logger.log(this.id+":discontinuity detected"),J&&u.logger.log(this.id+":switch detected"),this.frag=P,F)F.postMessage({cmd:"demux",data:b,decryptdata:U,initSegment:_,audioCodec:w,videoCodec:C,timeOffset:M,discontinuity:B,trackSwitch:J,contiguous:ie,duration:D,accurateTimeOffset:N,defaultInitPTS:k},b instanceof ArrayBuffer?[b]:[]);else{var Y=this.demuxer;Y&&Y.push(b,U,_,w,C,M,B,J,ie,D,N,k)}},T.prototype.onWorkerMessage=function(b){var _=b.data,w=this.hls;switch(_.event){case"init":E.URL.revokeObjectURL(this.w.objectURL);break;case h.default.FRAG_PARSING_DATA:_.data.data1=new Uint8Array(_.data1),_.data2&&(_.data.data2=new Uint8Array(_.data2));default:_.data=_.data||{},_.data.frag=this.frag,_.data.id=this.id,w.trigger(_.event,_.data);break}},T}();t.default=v}).call(this,a("./src/polyfills/number.js").Number)},"./src/demux/exp-golomb.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/utils/logger.js"),d=function(){function h(f){this.data=f,this.bytesAvailable=f.byteLength,this.word=0,this.bitsAvailable=0}return h.prototype.loadWord=function(){var f=this.data,u=this.bytesAvailable,p=f.byteLength-u,x=new Uint8Array(4),R=Math.min(4,u);if(R===0)throw new Error("no bytes available");x.set(f.subarray(p,p+R)),this.word=new DataView(x.buffer).getUint32(0),this.bitsAvailable=R*8,this.bytesAvailable-=R},h.prototype.skipBits=function(f){var u;this.bitsAvailable>f?(this.word<<=f,this.bitsAvailable-=f):(f-=this.bitsAvailable,u=f>>3,f-=u>>3,this.bytesAvailable-=u,this.loadWord(),this.word<<=f,this.bitsAvailable-=f)},h.prototype.readBits=function(f){var u=Math.min(this.bitsAvailable,f),p=this.word>>>32-u;return f>32&&o.logger.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=u,this.bitsAvailable>0?this.word<<=u:this.bytesAvailable>0&&this.loadWord(),u=f-u,u>0&&this.bitsAvailable?p<<u|this.readBits(u):p},h.prototype.skipLZ=function(){var f;for(f=0;f<this.bitsAvailable;++f)if(this.word&2147483648>>>f)return this.word<<=f,this.bitsAvailable-=f,f;return this.loadWord(),f+this.skipLZ()},h.prototype.skipUEG=function(){this.skipBits(1+this.skipLZ())},h.prototype.skipEG=function(){this.skipBits(1+this.skipLZ())},h.prototype.readUEG=function(){var f=this.skipLZ();return this.readBits(f+1)-1},h.prototype.readEG=function(){var f=this.readUEG();return 1&f?1+f>>>1:-1*(f>>>1)},h.prototype.readBoolean=function(){return this.readBits(1)===1},h.prototype.readUByte=function(){return this.readBits(8)},h.prototype.readUShort=function(){return this.readBits(16)},h.prototype.readUInt=function(){return this.readBits(32)},h.prototype.skipScalingList=function(f){var u=8,p=8,x,R;for(x=0;x<f;x++)p!==0&&(R=this.readEG(),p=(u+R+256)%256),u=p===0?u:p},h.prototype.readSPS=function(){var f=0,u=0,p=0,x=0,R,S,E,g,v,T,b,_=this.readUByte.bind(this),w=this.readBits.bind(this),C=this.readUEG.bind(this),P=this.readBoolean.bind(this),D=this.skipBits.bind(this),N=this.skipEG.bind(this),k=this.skipUEG.bind(this),F=this.skipScalingList.bind(this);if(_(),R=_(),w(5),D(3),_(),k(),R===100||R===110||R===122||R===244||R===44||R===83||R===86||R===118||R===128){var M=C();if(M===3&&D(1),k(),k(),D(1),P())for(T=M!==3?8:12,b=0;b<T;b++)P()&&(b<6?F(16):F(64))}k();var U=C();if(U===0)C();else if(U===1)for(D(1),N(),N(),S=C(),b=0;b<S;b++)N();k(),D(1),E=C(),g=C(),v=w(1),v===0&&D(1),D(1),P()&&(f=C(),u=C(),p=C(),x=C());var $=[1,1];if(P()&&P()){var B=_();switch(B){case 1:$=[1,1];break;case 2:$=[12,11];break;case 3:$=[10,11];break;case 4:$=[16,11];break;case 5:$=[40,33];break;case 6:$=[24,11];break;case 7:$=[20,11];break;case 8:$=[32,11];break;case 9:$=[80,33];break;case 10:$=[18,11];break;case 11:$=[15,11];break;case 12:$=[64,33];break;case 13:$=[160,99];break;case 14:$=[4,3];break;case 15:$=[3,2];break;case 16:$=[2,1];break;case 255:{$=[_()<<8|_(),_()<<8|_()];break}}}return{width:Math.ceil((E+1)*16-f*2-u*2),height:(2-v)*(g+1)*16-(v?2:4)*(p+x),pixelRatio:$}},h.prototype.readSliceType=function(){return this.readUByte(),this.readUEG(),this.readUEG()},h}();t.default=d},"./src/demux/id3.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function h(){}return h.isHeader=function(f,u){return u+10<=f.length&&f[u]===73&&f[u+1]===68&&f[u+2]===51&&f[u+3]<255&&f[u+4]<255&&f[u+6]<128&&f[u+7]<128&&f[u+8]<128&&f[u+9]<128},h.isFooter=function(f,u){return u+10<=f.length&&f[u]===51&&f[u+1]===68&&f[u+2]===73&&f[u+3]<255&&f[u+4]<255&&f[u+6]<128&&f[u+7]<128&&f[u+8]<128&&f[u+9]<128},h.getID3Data=function(f,u){for(var p=u,x=0;h.isHeader(f,u);){x+=10;var R=h._readSize(f,u+6);x+=R,h.isFooter(f,u+10)&&(x+=10),u+=x}if(x>0)return f.subarray(p,p+x)},h._readSize=function(f,u){var p=0;return p=(f[u]&127)<<21,p|=(f[u+1]&127)<<14,p|=(f[u+2]&127)<<7,p|=f[u+3]&127,p},h.getTimeStamp=function(f){for(var u=h.getID3Frames(f),p=0;p<u.length;p++){var x=u[p];if(h.isTimeStampFrame(x))return h._readTimeStamp(x)}},h.isTimeStampFrame=function(f){return f&&f.key==="PRIV"&&f.info==="com.apple.streaming.transportStreamTimestamp"},h._getFrameData=function(f){var u=String.fromCharCode(f[0],f[1],f[2],f[3]),p=h._readSize(f,4),x=10;return{type:u,size:p,data:f.subarray(x,x+p)}},h.getID3Frames=function(f){for(var u=0,p=[];h.isHeader(f,u);){var x=h._readSize(f,u+6);u+=10;for(var R=u+x;u+8<R;){var S=h._getFrameData(f.subarray(u)),E=h._decodeFrame(S);E&&p.push(E),u+=S.size+10}h.isFooter(f,u)&&(u+=10)}return p},h._decodeFrame=function(f){if(f.type==="PRIV")return h._decodePrivFrame(f);if(f.type[0]==="T")return h._decodeTextFrame(f);if(f.type[0]==="W")return h._decodeURLFrame(f)},h._readTimeStamp=function(f){if(f.data.byteLength===8){var u=new Uint8Array(f.data),p=u[3]&1,x=(u[4]<<23)+(u[5]<<15)+(u[6]<<7)+u[7];return x/=45,p&&(x+=4772185884e-2),Math.round(x)}},h._decodePrivFrame=function(f){if(!(f.size<2)){var u=h._utf8ArrayToStr(f.data,!0),p=new Uint8Array(f.data.subarray(u.length+1));return{key:f.type,info:u,data:p.buffer}}},h._decodeTextFrame=function(f){if(!(f.size<2))if(f.type==="TXXX"){var u=1,p=h._utf8ArrayToStr(f.data.subarray(u));u+=p.length+1;var x=h._utf8ArrayToStr(f.data.subarray(u));return{key:f.type,info:p,data:x}}else{var R=h._utf8ArrayToStr(f.data.subarray(1));return{key:f.type,data:R}}},h._decodeURLFrame=function(f){if(f.type==="WXXX"){if(f.size<2)return;var u=1,p=h._utf8ArrayToStr(f.data.subarray(u));u+=p.length+1;var x=h._utf8ArrayToStr(f.data.subarray(u));return{key:f.type,info:p,data:x}}else{var R=h._utf8ArrayToStr(f.data);return{key:f.type,data:R}}},h._utf8ArrayToStr=function(f,u){u===void 0&&(u=!1);for(var p=f.length,x,R,S,E="",g=0;g<p;){if(x=f[g++],x===0&&u)return E;if(x===0||x===3)continue;switch(x>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:E+=String.fromCharCode(x);break;case 12:case 13:R=f[g++],E+=String.fromCharCode((x&31)<<6|R&63);break;case 14:R=f[g++],S=f[g++],E+=String.fromCharCode((x&15)<<12|(R&63)<<6|(S&63)<<0);break}}return E},h}(),d=o._utf8ArrayToStr;t.utf8ArrayToStr=d,t.default=o},"./src/demux/mp3demuxer.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/demux/id3.js"),d=a("./src/utils/logger.js"),h=a("./src/demux/mpegaudio.js"),f=function(){function u(p,x,R){this.observer=p,this.config=R,this.remuxer=x}return u.prototype.resetInitSegment=function(p,x,R,S){this._audioTrack={container:"audio/mpeg",type:"audio",id:-1,sequenceNumber:0,isAAC:!1,samples:[],len:0,manifestCodec:x,duration:S,inputTimeScale:9e4}},u.prototype.resetTimeStamp=function(){},u.probe=function(p){var x,R,S=o.default.getID3Data(p,0);if(S&&o.default.getTimeStamp(S)!==void 0){for(x=S.length,R=Math.min(p.length-1,x+100);x<R;x++)if(h.default.probe(p,x))return d.logger.log("MPEG Audio sync word found !"),!0}return!1},u.prototype.append=function(p,x,R,S){for(var E=o.default.getID3Data(p,0),g=o.default.getTimeStamp(E),v=g?90*g:x*9e4,T=E.length,b=p.length,_=0,w=0,C=this._audioTrack,P=[{pts:v,dts:v,data:E}];T<b;)if(h.default.isHeader(p,T)){var D=h.default.appendFrame(C,p,T,v,_);if(D)T+=D.length,w=D.sample.pts,_++;else break}else o.default.isHeader(p,T)?(E=o.default.getID3Data(p,T),P.push({pts:w,dts:w,data:E}),T+=E.length):T++;this.remuxer.remux(C,{samples:[]},{samples:P,inputTimeScale:9e4},{samples:[]},x,R,S)},u.prototype.destroy=function(){},u}();t.default=f},"./src/demux/mp4demuxer.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/utils/logger.js"),d=a("./src/events.js"),h=Math.pow(2,32)-1,f=function(){function u(p,x){this.observer=p,this.remuxer=x}return u.prototype.resetTimeStamp=function(p){this.initPTS=p},u.prototype.resetInitSegment=function(p,x,R,S){if(p&&p.byteLength){var E=this.initData=u.parseInitSegment(p);x==null&&(x="mp4a.40.5"),R==null&&(R="avc1.42e01e");var g={};E.audio&&E.video?g.audiovideo={container:"video/mp4",codec:x+","+R,initSegment:S?p:null}:(E.audio&&(g.audio={container:"audio/mp4",codec:x,initSegment:S?p:null}),E.video&&(g.video={container:"video/mp4",codec:R,initSegment:S?p:null})),this.observer.trigger(d.default.FRAG_PARSING_INIT_SEGMENT,{tracks:g})}else x&&(this.audioCodec=x),R&&(this.videoCodec=R)},u.probe=function(p){return u.findBox({data:p,start:0,end:Math.min(p.length,16384)},["moof"]).length>0},u.bin2str=function(p){return String.fromCharCode.apply(null,p)},u.readUint16=function(p,x){p.data&&(x+=p.start,p=p.data);var R=p[x]<<8|p[x+1];return R<0?65536+R:R},u.readUint32=function(p,x){p.data&&(x+=p.start,p=p.data);var R=p[x]<<24|p[x+1]<<16|p[x+2]<<8|p[x+3];return R<0?4294967296+R:R},u.writeUint32=function(p,x,R){p.data&&(x+=p.start,p=p.data),p[x]=R>>24,p[x+1]=R>>16&255,p[x+2]=R>>8&255,p[x+3]=R&255},u.findBox=function(p,x){var R=[],S,E,g,v,T,b,_;if(p.data?(b=p.start,v=p.end,p=p.data):(b=0,v=p.byteLength),!x.length)return null;for(S=b;S<v;)E=u.readUint32(p,S),g=u.bin2str(p.subarray(S+4,S+8)),_=E>1?S+E:v,g===x[0]&&(x.length===1?R.push({data:p,start:S+8,end:_}):(T=u.findBox({data:p,start:S+8,end:_},x.slice(1)),T.length&&(R=R.concat(T)))),S=_;return R},u.parseSegmentIndex=function(p){var x=u.findBox(p,["moov"])[0],R=x?x.end:null,S=0,E=u.findBox(p,["sidx"]),g;if(!E||!E[0])return null;g=[],E=E[0];var v=E.data[0];S=v===0?8:16;var T=u.readUint32(E,S);S+=4;var b=0,_=0;v===0?S+=8:S+=16,S+=2;var w=E.end+_,C=u.readUint16(E,S);S+=2;for(var P=0;P<C;P++){var D=S,N=u.readUint32(E,D);D+=4;var k=N&2147483647,F=(N&2147483648)>>>31;if(F===1){console.warn("SIDX has hierarchical references (not supported)");return}var M=u.readUint32(E,D);D+=4,g.push({referenceSize:k,subsegmentDuration:M,info:{duration:M/T,start:w,end:w+k-1}}),w+=k,D+=4,S=D}return{earliestPresentationTime:b,timescale:T,version:v,referencesCount:C,references:g,moovEndOffset:R}},u.parseInitSegment=function(p){var x=[],R=u.findBox(p,["moov","trak"]);return R.forEach(function(S){var E=u.findBox(S,["tkhd"])[0];if(E){var g=E.data[E.start],v=g===0?12:20,T=u.readUint32(E,v),b=u.findBox(S,["mdia","mdhd"])[0];if(b){g=b.data[b.start],v=g===0?12:20;var _=u.readUint32(b,v),w=u.findBox(S,["mdia","hdlr"])[0];if(w){var C=u.bin2str(w.data.subarray(w.start+8,w.start+12)),P={soun:"audio",vide:"video"}[C];if(P){var D=u.findBox(S,["mdia","minf","stbl","stsd"]);if(D.length){D=D[0];var N=u.bin2str(D.data.subarray(D.start+12,D.start+16));o.logger.log("MP4Demuxer:"+P+":"+N+" found")}x[T]={timescale:_,type:P},x[P]={timescale:_,id:T}}}}}}),x},u.getStartDTS=function(p,x){var R,S,E;return R=u.findBox(x,["moof","traf"]),S=[].concat.apply([],R.map(function(g){return u.findBox(g,["tfhd"]).map(function(v){var T,b,_;return T=u.readUint32(v,4),b=p[T].timescale||9e4,_=u.findBox(g,["tfdt"]).map(function(w){var C,P;return C=w.data[w.start],P=u.readUint32(w,4),C===1&&(P*=Math.pow(2,32),P+=u.readUint32(w,8)),P})[0],_/b})})),E=Math.min.apply(null,S),isFinite(E)?E:0},u.offsetStartDTS=function(p,x,R){u.findBox(x,["moof","traf"]).map(function(S){return u.findBox(S,["tfhd"]).map(function(E){var g=u.readUint32(E,4),v=p[g].timescale||9e4;u.findBox(S,["tfdt"]).map(function(T){var b=T.data[T.start],_=u.readUint32(T,4);if(b===0)u.writeUint32(T,4,_-R*v);else{_*=Math.pow(2,32),_+=u.readUint32(T,8),_-=R*v,_=Math.max(_,0);var w=Math.floor(_/(h+1)),C=Math.floor(_%(h+1));u.writeUint32(T,4,w),u.writeUint32(T,8,C)}})})})},u.prototype.append=function(p,x,R,S){var E=this.initData;E||(this.resetInitSegment(p,this.audioCodec,this.videoCodec,!1),E=this.initData);var g,v=this.initPTS;if(v===void 0){var T=u.getStartDTS(E,p);this.initPTS=v=T-x,this.observer.trigger(d.default.INIT_PTS_FOUND,{initPTS:v})}u.offsetStartDTS(E,p,v),g=u.getStartDTS(E,p),this.remuxer.remux(E.audio,E.video,null,null,g,R,S,p)},u.prototype.destroy=function(){},u}();t.default=f},"./src/demux/mpegaudio.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o={BitratesMap:[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],SamplingRateMap:[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],SamplesCoefficients:[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],BytesInSlot:[0,1,1,4],appendFrame:function(d,h,f,u,p){if(!(f+24>h.length)){var x=this.parseHeader(h,f);if(x&&f+x.frameLength<=h.length){var R=x.samplesPerFrame*9e4/x.sampleRate,S=u+p*R,E={unit:h.subarray(f,f+x.frameLength),pts:S,dts:S};return d.config=[],d.channelCount=x.channelCount,d.samplerate=x.sampleRate,d.samples.push(E),d.len+=x.frameLength,{sample:E,length:x.frameLength}}}},parseHeader:function(d,h){var f=d[h+1]>>3&3,u=d[h+1]>>1&3,p=d[h+2]>>4&15,x=d[h+2]>>2&3,R=d[h+2]>>1&1;if(f!==1&&p!==0&&p!==15&&x!==3){var S=f===3?3-u:u===3?3:4,E=o.BitratesMap[S*14+p-1]*1e3,g=f===3?0:f===2?1:2,v=o.SamplingRateMap[g*3+x],T=d[h+3]>>6===3?1:2,b=o.SamplesCoefficients[f][u],_=o.BytesInSlot[u],w=b*8*_,C=parseInt(b*E/v+R,10)*_;return{sampleRate:v,channelCount:T,frameLength:C,samplesPerFrame:w}}},isHeaderPattern:function(d,h){return d[h]===255&&(d[h+1]&224)===224&&(d[h+1]&6)!==0},isHeader:function(d,h){return!!(h+1<d.length&&this.isHeaderPattern(d,h))},probe:function(d,h){if(h+1<d.length&&this.isHeaderPattern(d,h)){var f=4,u=this.parseHeader(d,h),p=f;u&&u.frameLength&&(p=u.frameLength);var x=h+p;if(x===d.length||x+1<d.length&&this.isHeaderPattern(d,x))return!0}return!1}};t.default=o},"./src/demux/sample-aes.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/crypt/decrypter.js"),d=function(){function h(f,u,p,x){this.decryptdata=p,this.discardEPB=x,this.decrypter=new o.default(f,u,{removePKCS7Padding:!1})}return h.prototype.decryptBuffer=function(f,u){this.decrypter.decrypt(f,this.decryptdata.key.buffer,this.decryptdata.iv.buffer,u)},h.prototype.decryptAacSample=function(f,u,p,x){var R=f[u].unit,S=R.subarray(16,R.length-R.length%16),E=S.buffer.slice(S.byteOffset,S.byteOffset+S.length),g=this;this.decryptBuffer(E,function(v){v=new Uint8Array(v),R.set(v,16),x||g.decryptAacSamples(f,u+1,p)})},h.prototype.decryptAacSamples=function(f,u,p){for(;;u++){if(u>=f.length){p();return}if(!(f[u].unit.length<32)){var x=this.decrypter.isSync();if(this.decryptAacSample(f,u,p,x),!x)return}}},h.prototype.getAvcEncryptedData=function(f){for(var u=Math.floor((f.length-48)/160)*16+16,p=new Int8Array(u),x=0,R=32;R<=f.length-16;R+=160,x+=16)p.set(f.subarray(R,R+16),x);return p},h.prototype.getAvcDecryptedUnit=function(f,u){u=new Uint8Array(u);for(var p=0,x=32;x<=f.length-16;x+=160,p+=16)f.set(u.subarray(p,p+16),x);return f},h.prototype.decryptAvcSample=function(f,u,p,x,R,S){var E=this.discardEPB(R.data),g=this.getAvcEncryptedData(E),v=this;this.decryptBuffer(g.buffer,function(T){R.data=v.getAvcDecryptedUnit(E,T),S||v.decryptAvcSamples(f,u,p+1,x)})},h.prototype.decryptAvcSamples=function(f,u,p,x){for(;;u++,p=0){if(u>=f.length){x();return}for(var R=f[u].units;!(p>=R.length);p++){var S=R[p];if(!(S.length<=48||S.type!==1&&S.type!==5)){var E=this.decrypter.isSync();if(this.decryptAvcSample(f,u,p,x,S,E),!E)return}}}},h}();t.default=d},"./src/demux/tsdemuxer.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/demux/adts.js"),d=a("./src/demux/mpegaudio.js"),h=a("./src/events.js"),f=a("./src/demux/exp-golomb.js"),u=a("./src/demux/sample-aes.js"),p=a("./src/utils/logger.js"),x=a("./src/errors.js"),R={video:1,audio:2,id3:3,text:4},S=function(){function E(g,v,T,b){this.observer=g,this.config=T,this.typeSupported=b,this.remuxer=v,this.sampleAes=null}return E.prototype.setDecryptData=function(g){g!=null&&g.key!=null&&g.method==="SAMPLE-AES"?this.sampleAes=new u.default(this.observer,this.config,g,this.discardEPB):this.sampleAes=null},E.probe=function(g){var v=E._syncOffset(g);return v<0?!1:(v&&p.logger.warn("MPEG2-TS detected but first sync word found @ offset "+v+", junk ahead ?"),!0)},E._syncOffset=function(g){for(var v=Math.min(1e3,g.length-564),T=0;T<v;){if(g[T]===71&&g[T+188]===71&&g[T+2*188]===71)return T;T++}return-1},E.createTrack=function(g,v){return{container:g==="video"||g==="audio"?"video/mp2t":void 0,type:g,id:R[g],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],len:0,dropped:g==="video"?0:void 0,isAAC:g==="audio"?!0:void 0,duration:g==="audio"?v:void 0}},E.prototype.resetInitSegment=function(g,v,T,b){this.pmtParsed=!1,this._pmtId=-1,this._avcTrack=E.createTrack("video",b),this._audioTrack=E.createTrack("audio",b),this._id3Track=E.createTrack("id3",b),this._txtTrack=E.createTrack("text",b),this.aacOverFlow=null,this.aacLastPTS=null,this.avcSample=null,this.audioCodec=v,this.videoCodec=T,this._duration=b},E.prototype.resetTimeStamp=function(){},E.prototype.append=function(g,v,T,b){var _,w=g.length,C,P,D,N,k,F=!1;this.contiguous=T;var M=this.pmtParsed,U=this._avcTrack,$=this._audioTrack,B=this._id3Track,J=U.pid,ne=$.pid,ie=B.pid,Y=this._pmtId,q=U.pesData,re=$.pesData,ce=B.pesData,fe=this._parsePAT,te=this._parsePMT,H=this._parsePES,W=this._parseAVCPES.bind(this),V=this._parseAACPES.bind(this),z=this._parseMPEGPES.bind(this),Q=this._parseID3PES.bind(this),ee=E._syncOffset(g);for(w-=(w+ee)%188,_=ee;_<w;_+=188)if(g[_]===71){if(C=!!(g[_+1]&64),P=((g[_+1]&31)<<8)+g[_+2],D=(g[_+3]&48)>>4,D>1){if(N=_+5+g[_+4],N===_+188)continue}else N=_+4;switch(P){case J:C&&(q&&(k=H(q))&&k.pts!==void 0&&W(k,!1),q={data:[],size:0}),q&&(q.data.push(g.subarray(N,_+188)),q.size+=_+188-N);break;case ne:C&&(re&&(k=H(re))&&k.pts!==void 0&&($.isAAC?V(k):z(k)),re={data:[],size:0}),re&&(re.data.push(g.subarray(N,_+188)),re.size+=_+188-N);break;case ie:C&&(ce&&(k=H(ce))&&k.pts!==void 0&&Q(k),ce={data:[],size:0}),ce&&(ce.data.push(g.subarray(N,_+188)),ce.size+=_+188-N);break;case 0:C&&(N+=g[N]+1),Y=this._pmtId=fe(g,N);break;case Y:C&&(N+=g[N]+1);var le=te(g,N,this.typeSupported.mpeg===!0||this.typeSupported.mp3===!0,this.sampleAes!=null);J=le.avc,J>0&&(U.pid=J),ne=le.audio,ne>0&&($.pid=ne,$.isAAC=le.isAAC),ie=le.id3,ie>0&&(B.pid=ie),F&&!M&&(p.logger.log("reparse from beginning"),F=!1,_=ee-188),M=this.pmtParsed=!0;break;case 17:case 8191:break;default:F=!0;break}}else this.observer.trigger(h.default.ERROR,{type:x.ErrorTypes.MEDIA_ERROR,details:x.ErrorDetails.FRAG_PARSING_ERROR,fatal:!1,reason:"TS packet did not start with 0x47"});q&&(k=H(q))&&k.pts!==void 0?(W(k,!0),U.pesData=null):U.pesData=q,re&&(k=H(re))&&k.pts!==void 0?($.isAAC?V(k):z(k),$.pesData=null):(re&&re.size&&p.logger.log("last AAC PES packet truncated,might overlap between fragments"),$.pesData=re),ce&&(k=H(ce))&&k.pts!==void 0?(Q(k),B.pesData=null):B.pesData=ce,this.sampleAes==null?this.remuxer.remux($,U,B,this._txtTrack,v,T,b):this.decryptAndRemux($,U,B,this._txtTrack,v,T,b)},E.prototype.decryptAndRemux=function(g,v,T,b,_,w,C){if(g.samples&&g.isAAC){var P=this;this.sampleAes.decryptAacSamples(g.samples,0,function(){P.decryptAndRemuxAvc(g,v,T,b,_,w,C)})}else this.decryptAndRemuxAvc(g,v,T,b,_,w,C)},E.prototype.decryptAndRemuxAvc=function(g,v,T,b,_,w,C){if(v.samples){var P=this;this.sampleAes.decryptAvcSamples(v.samples,0,0,function(){P.remuxer.remux(g,v,T,b,_,w,C)})}else this.remuxer.remux(g,v,T,b,_,w,C)},E.prototype.destroy=function(){this._initPTS=this._initDTS=void 0,this._duration=0},E.prototype._parsePAT=function(g,v){return(g[v+10]&31)<<8|g[v+11]},E.prototype._parsePMT=function(g,v,T,b){var _,w,C,P,D={audio:-1,avc:-1,id3:-1,isAAC:!0};for(_=(g[v+1]&15)<<8|g[v+2],w=v+3+_-4,C=(g[v+10]&15)<<8|g[v+11],v+=12+C;v<w;){switch(P=(g[v+1]&31)<<8|g[v+2],g[v]){case 207:if(!b){p.logger.log("unkown stream type:"+g[v]);break}case 15:D.audio===-1&&(D.audio=P);break;case 21:D.id3===-1&&(D.id3=P);break;case 219:if(!b){p.logger.log("unkown stream type:"+g[v]);break}case 27:D.avc===-1&&(D.avc=P);break;case 3:case 4:T?D.audio===-1&&(D.audio=P,D.isAAC=!1):p.logger.log("MPEG audio found, not supported in this browser for now");break;case 36:p.logger.warn("HEVC stream type found, not supported for now");break;default:p.logger.log("unkown stream type:"+g[v]);break}v+=((g[v+3]&15)<<8|g[v+4])+5}return D},E.prototype._parsePES=function(g){var v=0,T,b,_,w,C,P,D,N,k,F=g.data;if(!g||g.size===0)return null;for(;F[0].length<19&&F.length>1;){var M=new Uint8Array(F[0].length+F[1].length);M.set(F[0]),M.set(F[1],F[0].length),F[0]=M,F.splice(1,1)}if(T=F[0],_=(T[0]<<16)+(T[1]<<8)+T[2],_===1){if(w=(T[4]<<8)+T[5],w&&w>g.size-6)return null;b=T[7],b&192&&(D=(T[9]&14)*536870912+(T[10]&255)*4194304+(T[11]&254)*16384+(T[12]&255)*128+(T[13]&254)/2,D>4294967295&&(D-=8589934592),b&64?(N=(T[14]&14)*536870912+(T[15]&255)*4194304+(T[16]&254)*16384+(T[17]&255)*128+(T[18]&254)/2,N>4294967295&&(N-=8589934592),D-N>60*9e4&&(p.logger.warn(Math.round((D-N)/9e4)+"s delta between PTS and DTS, align them"),D=N)):N=D),C=T[8],k=C+9,g.size-=k,P=new Uint8Array(g.size);for(var U=0,$=F.length;U<$;U++){T=F[U];var B=T.byteLength;if(k)if(k>B){k-=B;continue}else T=T.subarray(k),B-=k,k=0;P.set(T,v),v+=B}return w&&(w-=C+3),{data:P,pts:D,dts:N,len:w}}else return null},E.prototype.pushAccesUnit=function(g,v){if(g.units.length&&g.frame){var T=v.samples,b=T.length;!this.config.forceKeyFrameOnDiscontinuity||g.key===!0||v.sps&&(b||this.contiguous)?(g.id=b,T.push(g)):v.dropped++}g.debug.length&&p.logger.log(g.pts+"/"+g.dts+":"+g.debug)},E.prototype._parseAVCPES=function(g,v){var T=this,b=this._avcTrack,_=this._parseAVCNALu(g.data),w,C=this.avcSample,P,D=!1,N,k=this.pushAccesUnit.bind(this),F=function(M,U,$,B){return{key:M,pts:U,dts:$,units:[],debug:B}};g.data=null,C&&_.length&&!b.audFound&&(k(C,b),C=this.avcSample=F(!1,g.pts,g.dts,"")),_.forEach(function(M){switch(M.type){case 1:P=!0,C||(C=T.avcSample=F(!0,g.pts,g.dts,"")),C.frame=!0;var U=M.data;if(D&&U.length>4){var $=new f.default(U).readSliceType();($===2||$===4||$===7||$===9)&&(C.key=!0)}break;case 5:P=!0,C||(C=T.avcSample=F(!0,g.pts,g.dts,"")),C.key=!0,C.frame=!0;break;case 6:P=!0,w=new f.default(T.discardEPB(M.data)),w.readUByte();for(var B=0,J=0,ne=!1,ie=0;!ne&&w.bytesAvailable>1;){B=0;do ie=w.readUByte(),B+=ie;while(ie===255);J=0;do ie=w.readUByte(),J+=ie;while(ie===255);if(B===4&&w.bytesAvailable!==0){ne=!0;var Y=w.readUByte();if(Y===181){var q=w.readUShort();if(q===49){var re=w.readUInt();if(re===1195456820){var ce=w.readUByte();if(ce===3){var fe=w.readUByte(),te=w.readUByte(),H=31&fe,W=[fe,te];for(N=0;N<H;N++)W.push(w.readUByte()),W.push(w.readUByte()),W.push(w.readUByte());T._insertSampleInOrder(T._txtTrack.samples,{type:3,pts:g.pts,bytes:W})}}}}}else if(J<w.bytesAvailable)for(N=0;N<J;N++)w.readUByte()}break;case 7:if(P=!0,D=!0,!b.sps){w=new f.default(M.data);var V=w.readSPS();b.width=V.width,b.height=V.height,b.pixelRatio=V.pixelRatio,b.sps=[M.data],b.duration=T._duration;var z=M.data.subarray(1,4),Q="avc1.";for(N=0;N<3;N++){var ee=z[N].toString(16);ee.length<2&&(ee="0"+ee),Q+=ee}b.codec=Q}break;case 8:P=!0,b.pps||(b.pps=[M.data]);break;case 9:P=!1,b.audFound=!0,C&&k(C,b),C=T.avcSample=F(!1,g.pts,g.dts,"");break;case 12:P=!1;break;default:P=!1,C&&(C.debug+="unknown NAL "+M.type+" ");break}if(C&&P){var le=C.units;le.push(M)}}),v&&C&&(k(C,b),this.avcSample=null)},E.prototype._insertSampleInOrder=function(g,v){var T=g.length;if(T>0){if(v.pts>=g[T-1].pts)g.push(v);else for(var b=T-1;b>=0;b--)if(v.pts<g[b].pts){g.splice(b,0,v);break}}else g.push(v)},E.prototype._getLastNalUnit=function(){var g=this.avcSample,v;if(!g||g.units.length===0){var T=this._avcTrack,b=T.samples;g=b[b.length-1]}if(g){var _=g.units;v=_[_.length-1]}return v},E.prototype._parseAVCNALu=function(g){var v=0,T=g.byteLength,b,_,w=this._avcTrack,C=w.naluState||0,P=C,D=[],N,k,F=-1,M;for(C===-1&&(F=0,M=g[0]&31,C=0,v=1);v<T;){if(b=g[v++],!C){C=b?0:1;continue}if(C===1){C=b?0:2;continue}if(!b)C=3;else if(b===1){if(F>=0)N={data:g.subarray(F,v-C-1),type:M},D.push(N);else{var U=this._getLastNalUnit();if(U&&(P&&v<=4-P&&U.state&&(U.data=U.data.subarray(0,U.data.byteLength-P)),_=v-C-1,_>0)){var $=new Uint8Array(U.data.byteLength+_);$.set(U.data,0),$.set(g.subarray(0,_),U.data.byteLength),U.data=$}}v<T?(k=g[v]&31,F=v,M=k,C=0):C=-1}else C=0}if(F>=0&&C>=0&&(N={data:g.subarray(F,T),type:M,state:C},D.push(N)),D.length===0){var U=this._getLastNalUnit();if(U){var $=new Uint8Array(U.data.byteLength+g.byteLength);$.set(U.data,0),$.set(g,U.data.byteLength),U.data=$}}return w.naluState=C,D},E.prototype.discardEPB=function(g){for(var v=g.byteLength,T=[],b=1,_,w;b<v-2;)g[b]===0&&g[b+1]===0&&g[b+2]===3?(T.push(b+2),b+=2):b++;if(T.length===0)return g;_=v-T.length,w=new Uint8Array(_);var C=0;for(b=0;b<_;C++,b++)C===T[0]&&(C++,T.shift()),w[b]=g[C];return w},E.prototype._parseAACPES=function(g){var v=this._audioTrack,T=g.data,b=g.pts,_=0,w=this.aacOverFlow,C=this.aacLastPTS,P,D,N,k,F;if(w){var M=new Uint8Array(w.byteLength+T.byteLength);M.set(w,0),M.set(T,w.byteLength),T=M}for(N=_,F=T.length;N<F-1&&!o.isHeader(T,N);N++);if(N){var U=void 0,$=void 0;if(N<F-1?(U="AAC PES did not start with ADTS header,offset:"+N,$=!1):(U="no ADTS header found in AAC PES",$=!0),p.logger.warn("parsing error:"+U),this.observer.trigger(h.default.ERROR,{type:x.ErrorTypes.MEDIA_ERROR,details:x.ErrorDetails.FRAG_PARSING_ERROR,fatal:$,reason:U}),$)return}if(o.initTrackConfig(v,this.observer,T,N,this.audioCodec),D=0,P=o.getFrameDuration(v.samplerate),w&&C){var B=C+P;Math.abs(B-b)>1&&(p.logger.log("AAC: align PTS for overlapping frames by "+Math.round((B-b)/90)),b=B)}for(;N<F;)if(o.isHeader(T,N)&&N+5<F){var J=o.appendFrame(v,T,N,b,D);if(J)N+=J.length,k=J.sample.pts,D++;else break}else N++;N<F?w=T.subarray(N,F):w=null,this.aacOverFlow=w,this.aacLastPTS=k},E.prototype._parseMPEGPES=function(g){for(var v=g.data,T=v.length,b=0,_=0,w=g.pts;_<T;)if(d.default.isHeader(v,_)){var C=d.default.appendFrame(this._audioTrack,v,_,w,b);if(C)_+=C.length,b++;else break}else _++},E.prototype._parseID3PES=function(g){this._id3Track.samples.push(g)},E}();t.default=S},"./src/errors.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0}),t.ErrorTypes={NETWORK_ERROR:"networkError",MEDIA_ERROR:"mediaError",KEY_SYSTEM_ERROR:"keySystemError",MUX_ERROR:"muxError",OTHER_ERROR:"otherError"},t.ErrorDetails={KEY_SYSTEM_NO_KEYS:"keySystemNoKeys",KEY_SYSTEM_NO_ACCESS:"keySystemNoAccess",KEY_SYSTEM_NO_SESSION:"keySystemNoSession",KEY_SYSTEM_LICENSE_REQUEST_FAILED:"keySystemLicenseRequestFailed",MANIFEST_LOAD_ERROR:"manifestLoadError",MANIFEST_LOAD_TIMEOUT:"manifestLoadTimeOut",MANIFEST_PARSING_ERROR:"manifestParsingError",MANIFEST_INCOMPATIBLE_CODECS_ERROR:"manifestIncompatibleCodecsError",LEVEL_LOAD_ERROR:"levelLoadError",LEVEL_LOAD_TIMEOUT:"levelLoadTimeOut",LEVEL_SWITCH_ERROR:"levelSwitchError",AUDIO_TRACK_LOAD_ERROR:"audioTrackLoadError",AUDIO_TRACK_LOAD_TIMEOUT:"audioTrackLoadTimeOut",FRAG_LOAD_ERROR:"fragLoadError",FRAG_LOAD_TIMEOUT:"fragLoadTimeOut",FRAG_DECRYPT_ERROR:"fragDecryptError",FRAG_PARSING_ERROR:"fragParsingError",REMUX_ALLOC_ERROR:"remuxAllocError",KEY_LOAD_ERROR:"keyLoadError",KEY_LOAD_TIMEOUT:"keyLoadTimeOut",BUFFER_ADD_CODEC_ERROR:"bufferAddCodecError",BUFFER_APPEND_ERROR:"bufferAppendError",BUFFER_APPENDING_ERROR:"bufferAppendingError",BUFFER_STALLED_ERROR:"bufferStalledError",BUFFER_FULL_ERROR:"bufferFullError",BUFFER_SEEK_OVER_HOLE:"bufferSeekOverHole",BUFFER_NUDGE_ON_STALL:"bufferNudgeOnStall",INTERNAL_EXCEPTION:"internalException"}},"./src/event-handler.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/utils/logger.js"),d=a("./src/errors.js"),h=a("./src/events.js"),f={hlsEventGeneric:!0,hlsHandlerDestroying:!0,hlsHandlerDestroyed:!0},u=function(){function p(x){for(var R=[],S=1;S<arguments.length;S++)R[S-1]=arguments[S];this.hls=x,this.onEvent=this.onEvent.bind(this),this.handledEvents=R,this.useGenericHandler=!0,this.registerListeners()}return p.prototype.destroy=function(){this.onHandlerDestroying(),this.unregisterListeners(),this.onHandlerDestroyed()},p.prototype.onHandlerDestroying=function(){},p.prototype.onHandlerDestroyed=function(){},p.prototype.isEventHandler=function(){return typeof this.handledEvents=="object"&&this.handledEvents.length&&typeof this.onEvent=="function"},p.prototype.registerListeners=function(){this.isEventHandler()&&this.handledEvents.forEach(function(x){if(f[x])throw new Error("Forbidden event-name: "+x);this.hls.on(x,this.onEvent)},this)},p.prototype.unregisterListeners=function(){this.isEventHandler()&&this.handledEvents.forEach(function(x){this.hls.off(x,this.onEvent)},this)},p.prototype.onEvent=function(x,R){this.onEventGeneric(x,R)},p.prototype.onEventGeneric=function(x,R){var S=function(E,g){var v="on"+E.replace("hls","");if(typeof this[v]!="function")throw new Error("Event "+E+" has no generic handler in this "+this.constructor.name+" class (tried "+v+")");return this[v].bind(this,g)};try{S.call(this,x,R).call()}catch(E){o.logger.error("An internal error happened while handling event "+x+'. Error message: "'+E.message+'". Here is a stacktrace:',E),this.hls.trigger(h.default.ERROR,{type:d.ErrorTypes.OTHER_ERROR,details:d.ErrorDetails.INTERNAL_EXCEPTION,fatal:!1,event:x,err:E})}},p}();t.default=u},"./src/events.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o={MEDIA_ATTACHING:"hlsMediaAttaching",MEDIA_ATTACHED:"hlsMediaAttached",MEDIA_DETACHING:"hlsMediaDetaching",MEDIA_DETACHED:"hlsMediaDetached",BUFFER_RESET:"hlsBufferReset",BUFFER_CODECS:"hlsBufferCodecs",BUFFER_CREATED:"hlsBufferCreated",BUFFER_APPENDING:"hlsBufferAppending",BUFFER_APPENDED:"hlsBufferAppended",BUFFER_EOS:"hlsBufferEos",BUFFER_FLUSHING:"hlsBufferFlushing",BUFFER_FLUSHED:"hlsBufferFlushed",MANIFEST_LOADING:"hlsManifestLoading",MANIFEST_LOADED:"hlsManifestLoaded",MANIFEST_PARSED:"hlsManifestParsed",LEVEL_SWITCHING:"hlsLevelSwitching",LEVEL_SWITCHED:"hlsLevelSwitched",LEVEL_LOADING:"hlsLevelLoading",LEVEL_LOADED:"hlsLevelLoaded",LEVEL_UPDATED:"hlsLevelUpdated",LEVEL_PTS_UPDATED:"hlsLevelPtsUpdated",AUDIO_TRACKS_UPDATED:"hlsAudioTracksUpdated",AUDIO_TRACK_SWITCHING:"hlsAudioTrackSwitching",AUDIO_TRACK_SWITCHED:"hlsAudioTrackSwitched",AUDIO_TRACK_LOADING:"hlsAudioTrackLoading",AUDIO_TRACK_LOADED:"hlsAudioTrackLoaded",SUBTITLE_TRACKS_UPDATED:"hlsSubtitleTracksUpdated",SUBTITLE_TRACK_SWITCH:"hlsSubtitleTrackSwitch",SUBTITLE_TRACK_LOADING:"hlsSubtitleTrackLoading",SUBTITLE_TRACK_LOADED:"hlsSubtitleTrackLoaded",SUBTITLE_FRAG_PROCESSED:"hlsSubtitleFragProcessed",INIT_PTS_FOUND:"hlsInitPtsFound",FRAG_LOADING:"hlsFragLoading",FRAG_LOAD_PROGRESS:"hlsFragLoadProgress",FRAG_LOAD_EMERGENCY_ABORTED:"hlsFragLoadEmergencyAborted",FRAG_LOADED:"hlsFragLoaded",FRAG_DECRYPTED:"hlsFragDecrypted",FRAG_PARSING_INIT_SEGMENT:"hlsFragParsingInitSegment",FRAG_PARSING_USERDATA:"hlsFragParsingUserdata",FRAG_PARSING_METADATA:"hlsFragParsingMetadata",FRAG_PARSING_DATA:"hlsFragParsingData",FRAG_PARSED:"hlsFragParsed",FRAG_BUFFERED:"hlsFragBuffered",FRAG_CHANGED:"hlsFragChanged",FPS_DROP:"hlsFpsDrop",FPS_DROP_LEVEL_CAPPING:"hlsFpsDropLevelCapping",ERROR:"hlsError",DESTROYING:"hlsDestroying",KEY_LOADING:"hlsKeyLoading",KEY_LOADED:"hlsKeyLoaded",STREAM_STATE_TRANSITION:"hlsStreamStateTransition"};t.default=o},"./src/hls.js":function(n,t,a){var o=this&&this.__extends||function(){var C=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(P,D){P.__proto__=D}||function(P,D){for(var N in D)D.hasOwnProperty(N)&&(P[N]=D[N])};return function(P,D){C(P,D);function N(){this.constructor=P}P.prototype=D===null?Object.create(D):(N.prototype=D.prototype,new N)}}();Object.defineProperty(t,"__esModule",{value:!0});var d=a("./node_modules/url-toolkit/src/url-toolkit.js"),h=a("./src/errors.js"),f=a("./src/loader/playlist-loader.js"),u=a("./src/loader/fragment-loader.js"),p=a("./src/loader/key-loader.js"),x=a("./src/controller/fragment-tracker.js"),R=a("./src/controller/stream-controller.js"),S=a("./src/controller/level-controller.js"),E=a("./src/controller/id3-track-controller.js"),g=a("./src/is-supported.js"),v=a("./src/utils/logger.js"),T=a("./src/config.js"),b=a("./src/events.js"),_=a("./src/observer.js"),w=function(C){o(P,C);function P(D){D===void 0&&(D={});var N=C.call(this)||this,k=P.DefaultConfig;if((D.liveSyncDurationCount||D.liveMaxLatencyDurationCount)&&(D.liveSyncDuration||D.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");for(var F in k)F in D||(D[F]=k[F]);if(D.liveMaxLatencyDurationCount!==void 0&&D.liveMaxLatencyDurationCount<=D.liveSyncDurationCount)throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be gt "liveSyncDurationCount"');if(D.liveMaxLatencyDuration!==void 0&&(D.liveMaxLatencyDuration<=D.liveSyncDuration||D.liveSyncDuration===void 0))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be gt "liveSyncDuration"');v.enableLogs(D.debug),N.config=D,N._autoLevelCapping=-1;var M=N.abrController=new D.abrController(N),U=new D.bufferController(N),$=new D.capLevelController(N),B=new D.fpsController(N),J=new f.default(N),ne=new u.default(N),ie=new p.default(N),Y=new E.default(N),q=N.levelController=new S.default(N),re=new x.FragmentTracker(N),ce=N.streamController=new R.default(N,re),fe=[q,ce],te=D.audioStreamController;te&&fe.push(new te(N,re)),N.networkControllers=fe;var H=[J,ne,ie,M,U,$,B,Y,re];if(te=D.audioTrackController,te){var W=new te(N);N.audioTrackController=W,H.push(W)}if(te=D.subtitleTrackController,te){var V=new te(N);N.subtitleTrackController=V,fe.push(V)}if(te=D.emeController,te){var z=new te(N);N.emeController=z,H.push(z)}return te=D.subtitleStreamController,te&&fe.push(new te(N,re)),te=D.timelineController,te&&H.push(new te(N)),N.coreComponents=H,N}return Object.defineProperty(P,"version",{get:function(){return"0.12.4"},enumerable:!0,configurable:!0}),P.isSupported=function(){return g.isSupported()},Object.defineProperty(P,"Events",{get:function(){return b.default},enumerable:!0,configurable:!0}),Object.defineProperty(P,"ErrorTypes",{get:function(){return h.ErrorTypes},enumerable:!0,configurable:!0}),Object.defineProperty(P,"ErrorDetails",{get:function(){return h.ErrorDetails},enumerable:!0,configurable:!0}),Object.defineProperty(P,"DefaultConfig",{get:function(){return P.defaultConfig?P.defaultConfig:T.hlsDefaultConfig},set:function(D){P.defaultConfig=D},enumerable:!0,configurable:!0}),P.prototype.destroy=function(){v.logger.log("destroy"),this.trigger(b.default.DESTROYING),this.detachMedia(),this.coreComponents.concat(this.networkControllers).forEach(function(D){D.destroy()}),this.url=null,this.removeAllListeners(),this._autoLevelCapping=-1},P.prototype.attachMedia=function(D){v.logger.log("attachMedia"),this.media=D,this.trigger(b.default.MEDIA_ATTACHING,{media:D})},P.prototype.detachMedia=function(){v.logger.log("detachMedia"),this.trigger(b.default.MEDIA_DETACHING),this.media=null},P.prototype.loadSource=function(D){D=d.buildAbsoluteURL(window.location.href,D,{alwaysNormalize:!0}),v.logger.log("loadSource:"+D),this.url=D,this.trigger(b.default.MANIFEST_LOADING,{url:D})},P.prototype.startLoad=function(D){D===void 0&&(D=-1),v.logger.log("startLoad("+D+")"),this.networkControllers.forEach(function(N){N.startLoad(D)})},P.prototype.stopLoad=function(){v.logger.log("stopLoad"),this.networkControllers.forEach(function(D){D.stopLoad()})},P.prototype.swapAudioCodec=function(){v.logger.log("swapAudioCodec"),this.streamController.swapAudioCodec()},P.prototype.recoverMediaError=function(){v.logger.log("recoverMediaError");var D=this.media;this.detachMedia(),this.attachMedia(D)},Object.defineProperty(P.prototype,"levels",{get:function(){return this.levelController.levels},enumerable:!0,configurable:!0}),Object.defineProperty(P.prototype,"currentLevel",{get:function(){return this.streamController.currentLevel},set:function(D){v.logger.log("set currentLevel:"+D),this.loadLevel=D,this.streamController.immediateLevelSwitch()},enumerable:!0,configurable:!0}),Object.defineProperty(P.prototype,"nextLevel",{get:function(){return this.streamController.nextLevel},set:function(D){v.logger.log("set nextLevel:"+D),this.levelController.manualLevel=D,this.streamController.nextLevelSwitch()},enumerable:!0,configurable:!0}),Object.defineProperty(P.prototype,"loadLevel",{get:function(){return this.levelController.level},set:function(D){v.logger.log("set loadLevel:"+D),this.levelController.manualLevel=D},enumerable:!0,configurable:!0}),Object.defineProperty(P.prototype,"nextLoadLevel",{get:function(){return this.levelController.nextLoadLevel},set:function(D){this.levelController.nextLoadLevel=D},enumerable:!0,configurable:!0}),Object.defineProperty(P.prototype,"firstLevel",{get:function(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)},set:function(D){v.logger.log("set firstLevel:"+D),this.levelController.firstLevel=D},enumerable:!0,configurable:!0}),Object.defineProperty(P.prototype,"startLevel",{get:function(){return this.levelController.startLevel},set:function(D){v.logger.log("set startLevel:"+D);var N=this;D!==-1&&(D=Math.max(D,N.minAutoLevel)),N.levelController.startLevel=D},enumerable:!0,configurable:!0}),Object.defineProperty(P.prototype,"autoLevelCapping",{get:function(){return this._autoLevelCapping},set:function(D){v.logger.log("set autoLevelCapping:"+D),this._autoLevelCapping=D},enumerable:!0,configurable:!0}),Object.defineProperty(P.prototype,"autoLevelEnabled",{get:function(){return this.levelController.manualLevel===-1},enumerable:!0,configurable:!0}),Object.defineProperty(P.prototype,"manualLevel",{get:function(){return this.levelController.manualLevel},enumerable:!0,configurable:!0}),Object.defineProperty(P.prototype,"minAutoLevel",{get:function(){for(var D=this,N=D.levels,k=D.config.minAutoBitrate,F=N?N.length:0,M=0;M<F;M++){var U=N[M].realBitrate?Math.max(N[M].realBitrate,N[M].bitrate):N[M].bitrate;if(U>k)return M}return 0},enumerable:!0,configurable:!0}),Object.defineProperty(P.prototype,"maxAutoLevel",{get:function(){var D=this,N=D.levels,k=D.autoLevelCapping,F;return k===-1&&N&&N.length?F=N.length-1:F=k,F},enumerable:!0,configurable:!0}),Object.defineProperty(P.prototype,"nextAutoLevel",{get:function(){var D=this;return Math.min(Math.max(D.abrController.nextAutoLevel,D.minAutoLevel),D.maxAutoLevel)},set:function(D){var N=this;N.abrController.nextAutoLevel=Math.max(N.minAutoLevel,D)},enumerable:!0,configurable:!0}),Object.defineProperty(P.prototype,"audioTracks",{get:function(){var D=this.audioTrackController;return D?D.audioTracks:[]},enumerable:!0,configurable:!0}),Object.defineProperty(P.prototype,"audioTrack",{get:function(){var D=this.audioTrackController;return D?D.audioTrack:-1},set:function(D){var N=this.audioTrackController;N&&(N.audioTrack=D)},enumerable:!0,configurable:!0}),Object.defineProperty(P.prototype,"liveSyncPosition",{get:function(){return this.streamController.liveSyncPosition},enumerable:!0,configurable:!0}),Object.defineProperty(P.prototype,"subtitleTracks",{get:function(){var D=this.subtitleTrackController;return D?D.subtitleTracks:[]},enumerable:!0,configurable:!0}),Object.defineProperty(P.prototype,"subtitleTrack",{get:function(){var D=this.subtitleTrackController;return D?D.subtitleTrack:-1},set:function(D){var N=this.subtitleTrackController;N&&(N.subtitleTrack=D)},enumerable:!0,configurable:!0}),Object.defineProperty(P.prototype,"subtitleDisplay",{get:function(){var D=this.subtitleTrackController;return D?D.subtitleDisplay:!1},set:function(D){var N=this.subtitleTrackController;N&&(N.subtitleDisplay=D)},enumerable:!0,configurable:!0}),P}(_.Observer);t.default=w},"./src/is-supported.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/utils/mediasource-helper.js");function d(){var h=o.getMediaSource(),f=window.SourceBuffer||window.WebKitSourceBuffer,u=h&&typeof h.isTypeSupported=="function"&&h.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"'),p=!f||f.prototype&&typeof f.prototype.appendBuffer=="function"&&typeof f.prototype.remove=="function";return!!u&&!!p}t.isSupported=d},"./src/loader/fragment-loader.js":function(n,t,a){(function(o){var d=this&&this.__extends||function(){var R=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(S,E){S.__proto__=E}||function(S,E){for(var g in E)E.hasOwnProperty(g)&&(S[g]=E[g])};return function(S,E){R(S,E);function g(){this.constructor=S}S.prototype=E===null?Object.create(E):(g.prototype=E.prototype,new g)}}();Object.defineProperty(t,"__esModule",{value:!0});var h=a("./src/events.js"),f=a("./src/event-handler.js"),u=a("./src/errors.js"),p=a("./src/utils/logger.js"),x=function(R){d(S,R);function S(E){var g=R.call(this,E,h.default.FRAG_LOADING)||this;return g.loaders={},g}return S.prototype.destroy=function(){var E=this.loaders;for(var g in E){var v=E[g];v&&v.destroy()}this.loaders={},R.prototype.destroy.call(this)},S.prototype.onFragLoading=function(E){var g=E.frag,v=g.type,T=this.loaders,b=this.hls.config,_=b.fLoader,w=b.loader;g.loaded=0;var C=T[v];C&&(p.logger.warn("abort previous fragment loader for type: "+v),C.abort()),C=T[v]=g.loader=b.fLoader?new _(b):new w(b);var P,D,N;P={url:g.url,frag:g,responseType:"arraybuffer",progressData:!1};var k=g.byteRangeStartOffset,F=g.byteRangeEndOffset;o.isFinite(k)&&o.isFinite(F)&&(P.rangeStart=k,P.rangeEnd=F),D={timeout:b.fragLoadingTimeOut,maxRetry:0,retryDelay:0,maxRetryDelay:b.fragLoadingMaxRetryTimeout},N={onSuccess:this.loadsuccess.bind(this),onError:this.loaderror.bind(this),onTimeout:this.loadtimeout.bind(this),onProgress:this.loadprogress.bind(this)},C.load(P,D,N)},S.prototype.loadsuccess=function(E,g,v,T){T===void 0&&(T=null);var b=E.data,_=v.frag;_.loader=void 0,this.loaders[_.type]=void 0,this.hls.trigger(h.default.FRAG_LOADED,{payload:b,frag:_,stats:g,networkDetails:T})},S.prototype.loaderror=function(E,g,v){v===void 0&&(v=null);var T=g.frag,b=T.loader;b&&b.abort(),this.loaders[T.type]=void 0,this.hls.trigger(h.default.ERROR,{type:u.ErrorTypes.NETWORK_ERROR,details:u.ErrorDetails.FRAG_LOAD_ERROR,fatal:!1,frag:g.frag,response:E,networkDetails:v})},S.prototype.loadtimeout=function(E,g,v){v===void 0&&(v=null);var T=g.frag,b=T.loader;b&&b.abort(),this.loaders[T.type]=void 0,this.hls.trigger(h.default.ERROR,{type:u.ErrorTypes.NETWORK_ERROR,details:u.ErrorDetails.FRAG_LOAD_TIMEOUT,fatal:!1,frag:g.frag,networkDetails:v})},S.prototype.loadprogress=function(E,g,v,T){T===void 0&&(T=null);var b=g.frag;b.loaded=E.loaded,this.hls.trigger(h.default.FRAG_LOAD_PROGRESS,{frag:b,stats:E,networkDetails:T})},S}(f.default);t.default=x}).call(this,a("./src/polyfills/number.js").Number)},"./src/loader/fragment.js":function(n,t,a){(function(o){Object.defineProperty(t,"__esModule",{value:!0});var d=a("./node_modules/url-toolkit/src/url-toolkit.js"),h=a("./src/loader/level-key.js"),f=function(){function u(){var p;this._url=null,this._byteRange=null,this._decryptdata=null,this.tagList=[],this.programDateTime=null,this.rawProgramDateTime=null,this._elementaryStreams=(p={},p[u.ElementaryStreamTypes.AUDIO]=!1,p[u.ElementaryStreamTypes.VIDEO]=!1,p)}return Object.defineProperty(u,"ElementaryStreamTypes",{get:function(){return{AUDIO:"audio",VIDEO:"video"}},enumerable:!0,configurable:!0}),Object.defineProperty(u.prototype,"url",{get:function(){return!this._url&&this.relurl&&(this._url=d.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url},set:function(p){this._url=p},enumerable:!0,configurable:!0}),Object.defineProperty(u.prototype,"byteRange",{get:function(){if(!this._byteRange&&!this.rawByteRange)return[];if(this._byteRange)return this._byteRange;var p=[];if(this.rawByteRange){var x=this.rawByteRange.split("@",2);if(x.length===1){var R=this.lastByteRangeEndOffset;p[0]=R||0}else p[0]=parseInt(x[1]);p[1]=parseInt(x[0])+p[0],this._byteRange=p}return p},enumerable:!0,configurable:!0}),Object.defineProperty(u.prototype,"byteRangeStartOffset",{get:function(){return this.byteRange[0]},enumerable:!0,configurable:!0}),Object.defineProperty(u.prototype,"byteRangeEndOffset",{get:function(){return this.byteRange[1]},enumerable:!0,configurable:!0}),Object.defineProperty(u.prototype,"decryptdata",{get:function(){return this._decryptdata||(this._decryptdata=this.fragmentDecryptdataFromLevelkey(this.levelkey,this.sn)),this._decryptdata},enumerable:!0,configurable:!0}),Object.defineProperty(u.prototype,"endProgramDateTime",{get:function(){if(!o.isFinite(this.programDateTime))return null;var p=o.isFinite(this.duration)?this.duration:0;return this.programDateTime+p*1e3},enumerable:!0,configurable:!0}),Object.defineProperty(u.prototype,"encrypted",{get:function(){return!!(this.decryptdata&&this.decryptdata.uri!==null&&this.decryptdata.key===null)},enumerable:!0,configurable:!0}),u.prototype.addElementaryStream=function(p){this._elementaryStreams[p]=!0},u.prototype.hasElementaryStream=function(p){return this._elementaryStreams[p]===!0},u.prototype.createInitializationVector=function(p){for(var x=new Uint8Array(16),R=12;R<16;R++)x[R]=p>>8*(15-R)&255;return x},u.prototype.fragmentDecryptdataFromLevelkey=function(p,x){var R=p;return p&&p.method&&p.uri&&!p.iv&&(R=new h.default,R.method=p.method,R.baseuri=p.baseuri,R.reluri=p.reluri,R.iv=this.createInitializationVector(x)),R},u}();t.default=f}).call(this,a("./src/polyfills/number.js").Number)},"./src/loader/key-loader.js":function(n,t,a){var o=this&&this.__extends||function(){var x=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(R,S){R.__proto__=S}||function(R,S){for(var E in S)S.hasOwnProperty(E)&&(R[E]=S[E])};return function(R,S){x(R,S);function E(){this.constructor=R}R.prototype=S===null?Object.create(S):(E.prototype=S.prototype,new E)}}();Object.defineProperty(t,"__esModule",{value:!0});var d=a("./src/events.js"),h=a("./src/event-handler.js"),f=a("./src/errors.js"),u=a("./src/utils/logger.js"),p=function(x){o(R,x);function R(S){var E=x.call(this,S,d.default.KEY_LOADING)||this;return E.loaders={},E.decryptkey=null,E.decrypturl=null,E}return R.prototype.destroy=function(){for(var S in this.loaders){var E=this.loaders[S];E&&E.destroy()}this.loaders={},h.default.prototype.destroy.call(this)},R.prototype.onKeyLoading=function(S){var E=S.frag,g=E.type,v=this.loaders[g],T=E.decryptdata,b=T.uri;if(b!==this.decrypturl||this.decryptkey===null){var _=this.hls.config;v&&(u.logger.warn("abort previous key loader for type:"+g),v.abort()),E.loader=this.loaders[g]=new _.loader(_),this.decrypturl=b,this.decryptkey=null;var w=void 0,C=void 0,P=void 0;w={url:b,frag:E,responseType:"arraybuffer"},C={timeout:_.fragLoadingTimeOut,maxRetry:0,retryDelay:_.fragLoadingRetryDelay,maxRetryDelay:_.fragLoadingMaxRetryTimeout},P={onSuccess:this.loadsuccess.bind(this),onError:this.loaderror.bind(this),onTimeout:this.loadtimeout.bind(this)},E.loader.load(w,C,P)}else this.decryptkey&&(T.key=this.decryptkey,this.hls.trigger(d.default.KEY_LOADED,{frag:E}))},R.prototype.loadsuccess=function(S,E,g){var v=g.frag;this.decryptkey=v.decryptdata.key=new Uint8Array(S.data),v.loader=void 0,this.loaders[v.type]=void 0,this.hls.trigger(d.default.KEY_LOADED,{frag:v})},R.prototype.loaderror=function(S,E){var g=E.frag,v=g.loader;v&&v.abort(),this.loaders[E.type]=void 0,this.hls.trigger(d.default.ERROR,{type:f.ErrorTypes.NETWORK_ERROR,details:f.ErrorDetails.KEY_LOAD_ERROR,fatal:!1,frag:g,response:S})},R.prototype.loadtimeout=function(S,E){var g=E.frag,v=g.loader;v&&v.abort(),this.loaders[E.type]=void 0,this.hls.trigger(d.default.ERROR,{type:f.ErrorTypes.NETWORK_ERROR,details:f.ErrorDetails.KEY_LOAD_TIMEOUT,fatal:!1,frag:g})},R}(h.default);t.default=p},"./src/loader/level-key.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./node_modules/url-toolkit/src/url-toolkit.js"),d=function(){function h(){this.method=null,this.key=null,this.iv=null,this._uri=null}return Object.defineProperty(h.prototype,"uri",{get:function(){return!this._uri&&this.reluri&&(this._uri=o.buildAbsoluteURL(this.baseuri,this.reluri,{alwaysNormalize:!0})),this._uri},enumerable:!0,configurable:!0}),h}();t.default=d},"./src/loader/level.js":function(n,t,a){(function(o){Object.defineProperty(t,"__esModule",{value:!0});var d=function(){function h(f){this.endCC=0,this.endSN=0,this.fragments=[],this.initSegment=null,this.live=!0,this.needSidxRanges=!1,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=f,this.version=null}return Object.defineProperty(h.prototype,"hasProgramDateTime",{get:function(){return!!(this.fragments[0]&&o.isFinite(this.fragments[0].programDateTime))},enumerable:!0,configurable:!0}),h}();t.default=d}).call(this,a("./src/polyfills/number.js").Number)},"./src/loader/m3u8-parser.js":function(n,t,a){(function(o){Object.defineProperty(t,"__esModule",{value:!0});var d=a("./node_modules/url-toolkit/src/url-toolkit.js"),h=a("./src/loader/fragment.js"),f=a("./src/loader/level.js"),u=a("./src/loader/level-key.js"),p=a("./src/utils/attr-list.js"),x=a("./src/utils/logger.js"),R=a("./src/utils/codecs.js"),S=/#EXT-X-STREAM-INF:([^\n\r]*)[\r\n]+([^\r\n]+)/g,E=/#EXT-X-MEDIA:(.*)/g,g=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/|(?!#)([\S+ ?]+)/.source,/|#EXT-X-BYTERANGE:*(.+)/.source,/|#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/|#.*/.source].join(""),"g"),v=/(?:(?:#(EXTM3U))|(?:#EXT-X-(PLAYLIST-TYPE):(.+))|(?:#EXT-X-(MEDIA-SEQUENCE): *(\d+))|(?:#EXT-X-(TARGETDURATION): *(\d+))|(?:#EXT-X-(KEY):(.+))|(?:#EXT-X-(START):(.+))|(?:#EXT-X-(ENDLIST))|(?:#EXT-X-(DISCONTINUITY-SEQ)UENCE:(\d+))|(?:#EXT-X-(DIS)CONTINUITY))|(?:#EXT-X-(VERSION):(\d+))|(?:#EXT-X-(MAP):(.+))|(?:(#)([^:]*):(.*))|(?:(#)(.*))(?:.*)\r?\n?/,T=/\.(mp4|m4s|m4v|m4a)$/i,b=function(){function C(){}return C.findGroup=function(P,D){if(!P)return null;for(var N=null,k=0;k<P.length;k++){var F=P[k];F.id===D&&(N=F)}return N},C.convertAVC1ToAVCOTI=function(P){var D,N=P.split(".");return N.length>2?(D=N.shift()+".",D+=parseInt(N.shift()).toString(16),D+=("000"+parseInt(N.shift()).toString(16)).substr(-4)):D=P,D},C.resolve=function(P,D){return d.buildAbsoluteURL(D,P,{alwaysNormalize:!0})},C.parseMasterPlaylist=function(P,D){var N=[],k;S.lastIndex=0;function F(B,J){["video","audio"].forEach(function(ne){var ie=B.filter(function(q){return R.isCodecType(q,ne)});if(ie.length){var Y=ie.filter(function(q){return q.lastIndexOf("avc1",0)===0||q.lastIndexOf("mp4a",0)===0});J[ne+"Codec"]=Y.length>0?Y[0]:ie[0],B=B.filter(function(q){return ie.indexOf(q)===-1})}}),J.unknownCodecs=B}for(;(k=S.exec(P))!=null;){var M={},U=M.attrs=new p.default(k[1]);M.url=C.resolve(k[2],D);var $=U.decimalResolution("RESOLUTION");$&&(M.width=$.width,M.height=$.height),M.bitrate=U.decimalInteger("AVERAGE-BANDWIDTH")||U.decimalInteger("BANDWIDTH"),M.name=U.NAME,F([].concat((U.CODECS||"").split(/[ ,]+/)),M),M.videoCodec&&M.videoCodec.indexOf("avc1")!==-1&&(M.videoCodec=C.convertAVC1ToAVCOTI(M.videoCodec)),N.push(M)}return N},C.parseMasterPlaylistMedia=function(P,D,N,k){k===void 0&&(k=[]);var F,M=[],U=0;for(E.lastIndex=0;(F=E.exec(P))!==null;){var $={},B=new p.default(F[1]);if(B.TYPE===N){if($.groupId=B["GROUP-ID"],$.name=B.NAME,$.type=N,$.default=B.DEFAULT==="YES",$.autoselect=B.AUTOSELECT==="YES",$.forced=B.FORCED==="YES",B.URI&&($.url=C.resolve(B.URI,D)),$.lang=B.LANGUAGE,$.name||($.name=$.lang),k.length){var J=C.findGroup(k,$.groupId);$.audioCodec=J?J.codec:k[0].codec}$.id=U++,M.push($)}}return M},C.parseLevelPlaylist=function(P,D,N,k,F){var M=0,U=0,$=new f.default(D),B=new u.default,J=0,ne=null,ie=new h.default,Y,q,re=null;for(g.lastIndex=0;(Y=g.exec(P))!==null;){var ce=Y[1];if(ce){ie.duration=parseFloat(ce);var fe=(" "+Y[2]).slice(1);ie.title=fe||null,ie.tagList.push(fe?["INF",ce,fe]:["INF",ce])}else if(Y[3]){if(o.isFinite(ie.duration)){var te=M++;ie.type=k,ie.start=U,ie.levelkey=B,ie.sn=te,ie.level=N,ie.cc=J,ie.urlId=F,ie.baseurl=D,ie.relurl=(" "+Y[3]).slice(1),w(ie,ne),$.fragments.push(ie),ne=ie,U+=ie.duration,ie=new h.default}}else if(Y[4]){if(ie.rawByteRange=(" "+Y[4]).slice(1),ne){var H=ne.byteRangeEndOffset;H&&(ie.lastByteRangeEndOffset=H)}}else if(Y[5])ie.rawProgramDateTime=(" "+Y[5]).slice(1),ie.tagList.push(["PROGRAM-DATE-TIME",ie.rawProgramDateTime]),re===null&&(re=$.fragments.length);else{for(Y=Y[0].match(v),q=1;q<Y.length&&Y[q]===void 0;q++);var W=(" "+Y[q+1]).slice(1),V=(" "+Y[q+2]).slice(1);switch(Y[q]){case"#":ie.tagList.push(V?[W,V]:[W]);break;case"PLAYLIST-TYPE":$.type=W.toUpperCase();break;case"MEDIA-SEQUENCE":M=$.startSN=parseInt(W);break;case"TARGETDURATION":$.targetduration=parseFloat(W);break;case"VERSION":$.version=parseInt(W);break;case"EXTM3U":break;case"ENDLIST":$.live=!1;break;case"DIS":J++,ie.tagList.push(["DIS"]);break;case"DISCONTINUITY-SEQ":J=parseInt(W);break;case"KEY":var z=W,Q=new p.default(z),ee=Q.enumeratedString("METHOD"),le=Q.URI,ue=Q.hexadecimalInteger("IV");ee&&(B=new u.default,le&&["AES-128","SAMPLE-AES","SAMPLE-AES-CENC"].indexOf(ee)>=0&&(B.method=ee,B.baseuri=D,B.reluri=le,B.key=null,B.iv=ue));break;case"START":var he=W,ve=new p.default(he),be=ve.decimalFloatingPoint("TIME-OFFSET");o.isFinite(be)&&($.startTimeOffset=be);break;case"MAP":var Re=new p.default(W);ie.relurl=Re.URI,ie.rawByteRange=Re.BYTERANGE,ie.baseurl=D,ie.level=N,ie.type=k,ie.sn="initSegment",$.initSegment=ie,ie=new h.default,ie.rawProgramDateTime=$.initSegment.rawProgramDateTime;break;default:x.logger.warn("line parsed but not handled: "+Y);break}}}return ie=ne,ie&&!ie.relurl&&($.fragments.pop(),U-=ie.duration),$.totalduration=U,$.averagetargetduration=U/$.fragments.length,$.endSN=M-1,$.startCC=$.fragments[0]?$.fragments[0].cc:0,$.endCC=J,!$.initSegment&&$.fragments.length&&$.fragments.every(function(Le){return T.test(Le.relurl)})&&(x.logger.warn("MP4 fragments found but no init segment (probably no MAP, incomplete M3U8), trying to fetch SIDX"),ie=new h.default,ie.relurl=$.fragments[0].relurl,ie.baseurl=D,ie.level=N,ie.type=k,ie.sn="initSegment",$.initSegment=ie,$.needSidxRanges=!0),re&&_($.fragments,re),$},C}();t.default=b;function _(C,P){for(var D=C[P],N=P-1;N>=0;N--){var k=C[N];k.programDateTime=D.programDateTime-k.duration*1e3,D=k}}function w(C,P){C.rawProgramDateTime?C.programDateTime=Date.parse(C.rawProgramDateTime):P&&P.programDateTime&&(C.programDateTime=P.endProgramDateTime),o.isFinite(C.programDateTime)||(C.programDateTime=null,C.rawProgramDateTime=null)}}).call(this,a("./src/polyfills/number.js").Number)},"./src/loader/playlist-loader.js":function(n,t,a){(function(o){var d=this&&this.__extends||function(){var T=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,_){b.__proto__=_}||function(b,_){for(var w in _)_.hasOwnProperty(w)&&(b[w]=_[w])};return function(b,_){T(b,_);function w(){this.constructor=b}b.prototype=_===null?Object.create(_):(w.prototype=_.prototype,new w)}}();Object.defineProperty(t,"__esModule",{value:!0});var h=a("./src/events.js"),f=a("./src/event-handler.js"),u=a("./src/errors.js"),p=a("./src/utils/logger.js"),x=a("./src/demux/mp4demuxer.js"),R=a("./src/loader/m3u8-parser.js"),S=window.performance,E={MANIFEST:"manifest",LEVEL:"level",AUDIO_TRACK:"audioTrack",SUBTITLE_TRACK:"subtitleTrack"},g={MAIN:"main",AUDIO:"audio",SUBTITLE:"subtitle"},v=function(T){d(b,T);function b(_){var w=T.call(this,_,h.default.MANIFEST_LOADING,h.default.LEVEL_LOADING,h.default.AUDIO_TRACK_LOADING,h.default.SUBTITLE_TRACK_LOADING)||this;return w.loaders={},w}return Object.defineProperty(b,"ContextType",{get:function(){return E},enumerable:!0,configurable:!0}),Object.defineProperty(b,"LevelType",{get:function(){return g},enumerable:!0,configurable:!0}),b.canHaveQualityLevels=function(_){return _!==E.AUDIO_TRACK&&_!==E.SUBTITLE_TRACK},b.mapContextToLevelType=function(_){var w=_.type;switch(w){case E.AUDIO_TRACK:return g.AUDIO;case E.SUBTITLE_TRACK:return g.SUBTITLE;default:return g.MAIN}},b.getResponseUrl=function(_,w){var C=_.url;return(C===void 0||C.indexOf("data:")===0)&&(C=w.url),C},b.prototype.createInternalLoader=function(_){var w=this.hls.config,C=w.pLoader,P=w.loader,D=C||P,N=new D(w);return _.loader=N,this.loaders[_.type]=N,N},b.prototype.getInternalLoader=function(_){return this.loaders[_.type]},b.prototype.resetInternalLoader=function(_){this.loaders[_]&&delete this.loaders[_]},b.prototype.destroyInternalLoaders=function(){for(var _ in this.loaders){var w=this.loaders[_];w&&w.destroy(),this.resetInternalLoader(_)}},b.prototype.destroy=function(){this.destroyInternalLoaders(),T.prototype.destroy.call(this)},b.prototype.onManifestLoading=function(_){this.load(_.url,{type:E.MANIFEST,level:0,id:null})},b.prototype.onLevelLoading=function(_){this.load(_.url,{type:E.LEVEL,level:_.level,id:_.id})},b.prototype.onAudioTrackLoading=function(_){this.load(_.url,{type:E.AUDIO_TRACK,level:null,id:_.id})},b.prototype.onSubtitleTrackLoading=function(_){this.load(_.url,{type:E.SUBTITLE_TRACK,level:null,id:_.id})},b.prototype.load=function(_,w){var C=this.hls.config;p.logger.debug("Loading playlist of type "+w.type+", level: "+w.level+", id: "+w.id);var P=this.getInternalLoader(w);if(P){var D=P.context;if(D&&D.url===_)return p.logger.trace("playlist request ongoing"),!1;p.logger.warn("aborting previous loader for type: "+w.type),P.abort()}var N,k,F,M;switch(w.type){case E.MANIFEST:N=C.manifestLoadingMaxRetry,k=C.manifestLoadingTimeOut,F=C.manifestLoadingRetryDelay,M=C.manifestLoadingMaxRetryTimeout;break;case E.LEVEL:N=0,k=C.levelLoadingTimeOut;break;default:N=C.levelLoadingMaxRetry,k=C.levelLoadingTimeOut,F=C.levelLoadingRetryDelay,M=C.levelLoadingMaxRetryTimeout;break}P=this.createInternalLoader(w),w.url=_,w.responseType=w.responseType||"";var U={timeout:k,maxRetry:N,retryDelay:F,maxRetryDelay:M},$={onSuccess:this.loadsuccess.bind(this),onError:this.loaderror.bind(this),onTimeout:this.loadtimeout.bind(this)};return p.logger.debug("Calling internal loader delegate for URL: "+_),P.load(w,U,$),!0},b.prototype.loadsuccess=function(_,w,C,P){if(P===void 0&&(P=null),C.isSidxRequest){this._handleSidxRequest(_,C),this._handlePlaylistLoaded(_,w,C,P);return}this.resetInternalLoader(C.type);var D=_.data;if(w.tload=S.now(),D.indexOf("#EXTM3U")!==0){this._handleManifestParsingError(_,C,"no EXTM3U delimiter",P);return}D.indexOf("#EXTINF:")>0||D.indexOf("#EXT-X-TARGETDURATION:")>0?this._handleTrackOrLevelPlaylist(_,w,C,P):this._handleMasterPlaylist(_,w,C,P)},b.prototype.loaderror=function(_,w,C){C===void 0&&(C=null),this._handleNetworkError(w,C,!1,_)},b.prototype.loadtimeout=function(_,w,C){C===void 0&&(C=null),this._handleNetworkError(w,C,!0)},b.prototype._handleMasterPlaylist=function(_,w,C,P){var D=this.hls,N=_.data,k=b.getResponseUrl(_,C),F=R.default.parseMasterPlaylist(N,k);if(!F.length){this._handleManifestParsingError(_,C,"no level found in manifest",P);return}var M=F.map(function(J){return{id:J.attrs.AUDIO,codec:J.audioCodec}}),U=R.default.parseMasterPlaylistMedia(N,k,"AUDIO",M),$=R.default.parseMasterPlaylistMedia(N,k,"SUBTITLES");if(U.length){var B=!1;U.forEach(function(J){J.url||(B=!0)}),B===!1&&F[0].audioCodec&&!F[0].attrs.AUDIO&&(p.logger.log("audio codec signaled in quality level, but no embedded audio track signaled, create one"),U.unshift({type:"main",name:"main"}))}D.trigger(h.default.MANIFEST_LOADED,{levels:F,audioTracks:U,subtitles:$,url:k,stats:w,networkDetails:P})},b.prototype._handleTrackOrLevelPlaylist=function(_,w,C,P){var D=this.hls,N=C.id,k=C.level,F=C.type,M=b.getResponseUrl(_,C),U=o.isFinite(N)?N:0,$=o.isFinite(k)?k:U,B=b.mapContextToLevelType(C),J=R.default.parseLevelPlaylist(_.data,M,$,B,U);if(J.tload=w.tload,F===E.MANIFEST){var ne={url:M,details:J};D.trigger(h.default.MANIFEST_LOADED,{levels:[ne],audioTracks:[],url:M,stats:w,networkDetails:P})}if(w.tparsed=S.now(),J.needSidxRanges){var ie=J.initSegment.url;this.load(ie,{isSidxRequest:!0,type:F,level:k,levelDetails:J,id:N,rangeStart:0,rangeEnd:2048,responseType:"arraybuffer"});return}C.levelDetails=J,this._handlePlaylistLoaded(_,w,C,P)},b.prototype._handleSidxRequest=function(_,w){var C=x.default.parseSegmentIndex(new Uint8Array(_.data));if(C){var P=C.references,D=w.levelDetails;P.forEach(function(N,k){var F=N.info,M=D.fragments[k];M.byteRange.length===0&&(M.rawByteRange=String(1+F.end-F.start)+"@"+String(F.start))}),D.initSegment.rawByteRange=String(C.moovEndOffset)+"@0"}},b.prototype._handleManifestParsingError=function(_,w,C,P){this.hls.trigger(h.default.ERROR,{type:u.ErrorTypes.NETWORK_ERROR,details:u.ErrorDetails.MANIFEST_PARSING_ERROR,fatal:!0,url:_.url,reason:C,networkDetails:P})},b.prototype._handleNetworkError=function(_,w,C,P){C===void 0&&(C=!1),P===void 0&&(P=null),p.logger.info("A network error occured while loading a "+_.type+"-type playlist");var D,N,k=this.getInternalLoader(_);switch(_.type){case E.MANIFEST:D=C?u.ErrorDetails.MANIFEST_LOAD_TIMEOUT:u.ErrorDetails.MANIFEST_LOAD_ERROR,N=!0;break;case E.LEVEL:D=C?u.ErrorDetails.LEVEL_LOAD_TIMEOUT:u.ErrorDetails.LEVEL_LOAD_ERROR,N=!1;break;case E.AUDIO_TRACK:D=C?u.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT:u.ErrorDetails.AUDIO_TRACK_LOAD_ERROR,N=!1;break;default:N=!1}k&&(k.abort(),this.resetInternalLoader(_.type));var F={type:u.ErrorTypes.NETWORK_ERROR,details:D,fatal:N,url:k.url,loader:k,context:_,networkDetails:w};P&&(F.response=P),this.hls.trigger(h.default.ERROR,F)},b.prototype._handlePlaylistLoaded=function(_,w,C,P){var D=C.type,N=C.level,k=C.id,F=C.levelDetails;if(!F.targetduration){this._handleManifestParsingError(_,C,"invalid target duration",P);return}var M=b.canHaveQualityLevels(C.type);if(M)this.hls.trigger(h.default.LEVEL_LOADED,{details:F,level:N||0,id:k||0,stats:w,networkDetails:P});else switch(D){case E.AUDIO_TRACK:this.hls.trigger(h.default.AUDIO_TRACK_LOADED,{details:F,id:k,stats:w,networkDetails:P});break;case E.SUBTITLE_TRACK:this.hls.trigger(h.default.SUBTITLE_TRACK_LOADED,{details:F,id:k,stats:w,networkDetails:P});break}},b}(f.default);t.default=v}).call(this,a("./src/polyfills/number.js").Number)},"./src/observer.js":function(n,t,a){var o=this&&this.__extends||function(){var f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(u,p){u.__proto__=p}||function(u,p){for(var x in p)p.hasOwnProperty(x)&&(u[x]=p[x])};return function(u,p){f(u,p);function x(){this.constructor=u}u.prototype=p===null?Object.create(p):(x.prototype=p.prototype,new x)}}();Object.defineProperty(t,"__esModule",{value:!0});var d=a("./node_modules/eventemitter3/index.js"),h=function(f){o(u,f);function u(){return f!==null&&f.apply(this,arguments)||this}return u.prototype.trigger=function(p){for(var x=[],R=1;R<arguments.length;R++)x[R-1]=arguments[R];this.emit.apply(this,[p,p].concat(x))},u}(d.EventEmitter);t.Observer=h},"./src/polyfills/number.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/utils/get-self-scope.js"),d=o.getSelfScope(),h=d.Number;t.Number=h,h.isFinite=h.isFinite||function(f){return typeof f=="number"&&isFinite(f)}},"./src/remux/aac-helper.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function d(){}return d.getSilentFrame=function(h,f){switch(h){case"mp4a.40.2":if(f===1)return new Uint8Array([0,200,0,128,35,128]);if(f===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(f===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(f===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(f===5)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(f===6)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224]);break;default:if(f===1)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(f===2)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(f===3)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);break}return null},d}();t.default=o},"./src/remux/mp4-generator.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=Math.pow(2,32)-1,d=function(){function h(){}return h.init=function(){h.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]};var f;for(f in h.types)h.types.hasOwnProperty(f)&&(h.types[f]=[f.charCodeAt(0),f.charCodeAt(1),f.charCodeAt(2),f.charCodeAt(3)]);var u=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),p=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]);h.HDLR_TYPES={video:u,audio:p};var x=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),R=new Uint8Array([0,0,0,0,0,0,0,0]);h.STTS=h.STSC=h.STCO=R,h.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),h.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),h.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),h.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);var S=new Uint8Array([105,115,111,109]),E=new Uint8Array([97,118,99,49]),g=new Uint8Array([0,0,0,1]);h.FTYP=h.box(h.types.ftyp,S,g,S,E),h.DINF=h.box(h.types.dinf,h.box(h.types.dref,x))},h.box=function(f){for(var u=Array.prototype.slice.call(arguments,1),p=8,x=u.length,R=x,S;x--;)p+=u[x].byteLength;for(S=new Uint8Array(p),S[0]=p>>24&255,S[1]=p>>16&255,S[2]=p>>8&255,S[3]=p&255,S.set(f,4),x=0,p=8;x<R;x++)S.set(u[x],p),p+=u[x].byteLength;return S},h.hdlr=function(f){return h.box(h.types.hdlr,h.HDLR_TYPES[f])},h.mdat=function(f){return h.box(h.types.mdat,f)},h.mdhd=function(f,u){u*=f;var p=Math.floor(u/(o+1)),x=Math.floor(u%(o+1));return h.box(h.types.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,f>>24&255,f>>16&255,f>>8&255,f&255,p>>24,p>>16&255,p>>8&255,p&255,x>>24,x>>16&255,x>>8&255,x&255,85,196,0,0]))},h.mdia=function(f){return h.box(h.types.mdia,h.mdhd(f.timescale,f.duration),h.hdlr(f.type),h.minf(f))},h.mfhd=function(f){return h.box(h.types.mfhd,new Uint8Array([0,0,0,0,f>>24,f>>16&255,f>>8&255,f&255]))},h.minf=function(f){return f.type==="audio"?h.box(h.types.minf,h.box(h.types.smhd,h.SMHD),h.DINF,h.stbl(f)):h.box(h.types.minf,h.box(h.types.vmhd,h.VMHD),h.DINF,h.stbl(f))},h.moof=function(f,u,p){return h.box(h.types.moof,h.mfhd(f),h.traf(p,u))},h.moov=function(f){for(var u=f.length,p=[];u--;)p[u]=h.trak(f[u]);return h.box.apply(null,[h.types.moov,h.mvhd(f[0].timescale,f[0].duration)].concat(p).concat(h.mvex(f)))},h.mvex=function(f){for(var u=f.length,p=[];u--;)p[u]=h.trex(f[u]);return h.box.apply(null,[h.types.mvex].concat(p))},h.mvhd=function(f,u){u*=f;var p=Math.floor(u/(o+1)),x=Math.floor(u%(o+1)),R=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,f>>24&255,f>>16&255,f>>8&255,f&255,p>>24,p>>16&255,p>>8&255,p&255,x>>24,x>>16&255,x>>8&255,x&255,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return h.box(h.types.mvhd,R)},h.sdtp=function(f){var u=f.samples||[],p=new Uint8Array(4+u.length),x,R;for(R=0;R<u.length;R++)x=u[R].flags,p[R+4]=x.dependsOn<<4|x.isDependedOn<<2|x.hasRedundancy;return h.box(h.types.sdtp,p)},h.stbl=function(f){return h.box(h.types.stbl,h.stsd(f),h.box(h.types.stts,h.STTS),h.box(h.types.stsc,h.STSC),h.box(h.types.stsz,h.STSZ),h.box(h.types.stco,h.STCO))},h.avc1=function(f){var u=[],p=[],x,R,S;for(x=0;x<f.sps.length;x++)R=f.sps[x],S=R.byteLength,u.push(S>>>8&255),u.push(S&255),u=u.concat(Array.prototype.slice.call(R));for(x=0;x<f.pps.length;x++)R=f.pps[x],S=R.byteLength,p.push(S>>>8&255),p.push(S&255),p=p.concat(Array.prototype.slice.call(R));var E=h.box(h.types.avcC,new Uint8Array([1,u[3],u[4],u[5],255,224|f.sps.length].concat(u).concat([f.pps.length]).concat(p))),g=f.width,v=f.height,T=f.pixelRatio[0],b=f.pixelRatio[1];return h.box(h.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,g>>8&255,g&255,v>>8&255,v&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),E,h.box(h.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),h.box(h.types.pasp,new Uint8Array([T>>24,T>>16&255,T>>8&255,T&255,b>>24,b>>16&255,b>>8&255,b&255])))},h.esds=function(f){var u=f.config.length;return new Uint8Array([0,0,0,0,3,23+u,0,1,0,4,15+u,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([u]).concat(f.config).concat([6,1,2]))},h.mp4a=function(f){var u=f.samplerate;return h.box(h.types.mp4a,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,f.channelCount,0,16,0,0,0,0,u>>8&255,u&255,0,0]),h.box(h.types.esds,h.esds(f)))},h.mp3=function(f){var u=f.samplerate;return h.box(h.types[".mp3"],new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,f.channelCount,0,16,0,0,0,0,u>>8&255,u&255,0,0]))},h.stsd=function(f){return f.type==="audio"?!f.isAAC&&f.codec==="mp3"?h.box(h.types.stsd,h.STSD,h.mp3(f)):h.box(h.types.stsd,h.STSD,h.mp4a(f)):h.box(h.types.stsd,h.STSD,h.avc1(f))},h.tkhd=function(f){var u=f.id,p=f.duration*f.timescale,x=f.width,R=f.height,S=Math.floor(p/(o+1)),E=Math.floor(p%(o+1));return h.box(h.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,u>>24&255,u>>16&255,u>>8&255,u&255,0,0,0,0,S>>24,S>>16&255,S>>8&255,S&255,E>>24,E>>16&255,E>>8&255,E&255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,x>>8&255,x&255,0,0,R>>8&255,R&255,0,0]))},h.traf=function(f,u){var p=h.sdtp(f),x=f.id,R=Math.floor(u/(o+1)),S=Math.floor(u%(o+1));return h.box(h.types.traf,h.box(h.types.tfhd,new Uint8Array([0,0,0,0,x>>24,x>>16&255,x>>8&255,x&255])),h.box(h.types.tfdt,new Uint8Array([1,0,0,0,R>>24,R>>16&255,R>>8&255,R&255,S>>24,S>>16&255,S>>8&255,S&255])),h.trun(f,p.length+16+20+8+16+8+8),p)},h.trak=function(f){return f.duration=f.duration||4294967295,h.box(h.types.trak,h.tkhd(f),h.mdia(f))},h.trex=function(f){var u=f.id;return h.box(h.types.trex,new Uint8Array([0,0,0,0,u>>24,u>>16&255,u>>8&255,u&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))},h.trun=function(f,u){var p=f.samples||[],x=p.length,R=12+16*x,S=new Uint8Array(R),E,g,v,T,b,_;for(u+=8+R,S.set([0,0,15,1,x>>>24&255,x>>>16&255,x>>>8&255,x&255,u>>>24&255,u>>>16&255,u>>>8&255,u&255],0),E=0;E<x;E++)g=p[E],v=g.duration,T=g.size,b=g.flags,_=g.cts,S.set([v>>>24&255,v>>>16&255,v>>>8&255,v&255,T>>>24&255,T>>>16&255,T>>>8&255,T&255,b.isLeading<<2|b.dependsOn,b.isDependedOn<<6|b.hasRedundancy<<4|b.paddingValue<<1|b.isNonSync,b.degradPrio&61440,b.degradPrio&15,_>>>24&255,_>>>16&255,_>>>8&255,_&255],12+16*E);return h.box(h.types.trun,S)},h.initSegment=function(f){h.types||h.init();var u=h.moov(f),p;return p=new Uint8Array(h.FTYP.byteLength+u.byteLength),p.set(h.FTYP),p.set(u,h.FTYP.byteLength),p},h}();t.default=d},"./src/remux/mp4-remuxer.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/remux/aac-helper.js"),d=a("./src/remux/mp4-generator.js"),h=a("./src/events.js"),f=a("./src/errors.js"),u=a("./src/utils/logger.js"),p=10*1e3,x=function(){function R(S,E,g,v){this.observer=S,this.config=E,this.typeSupported=g;var T=navigator.userAgent;this.isSafari=v&&v.indexOf("Apple")>-1&&T&&!T.match("CriOS"),this.ISGenerated=!1}return R.prototype.destroy=function(){},R.prototype.resetTimeStamp=function(S){this._initPTS=this._initDTS=S},R.prototype.resetInitSegment=function(){this.ISGenerated=!1},R.prototype.remux=function(S,E,g,v,T,b,_){if(this.ISGenerated||this.generateIS(S,E,T),this.ISGenerated){var w=S.samples.length,C=E.samples.length,P=T,D=T;if(w&&C){var N=(S.samples[0].pts-E.samples[0].pts)/E.inputTimeScale;P+=Math.max(0,N),D+=Math.max(0,-N)}if(w){S.timescale||(u.logger.warn("regenerate InitSegment as audio detected"),this.generateIS(S,E,T));var k=this.remuxAudio(S,P,b,_);if(C){var F=void 0;k&&(F=k.endPTS-k.startPTS),E.timescale||(u.logger.warn("regenerate InitSegment as video detected"),this.generateIS(S,E,T)),this.remuxVideo(E,D,b,F,_)}}else if(C){var M=this.remuxVideo(E,D,b,0,_);M&&S.codec&&this.remuxEmptyAudio(S,P,b,M)}}g.samples.length&&this.remuxID3(g,T),v.samples.length&&this.remuxText(v,T),this.observer.trigger(h.default.FRAG_PARSED)},R.prototype.generateIS=function(S,E,g){var v=this.observer,T=S.samples,b=E.samples,_=this.typeSupported,w="audio/mp4",C={},P={tracks:C},D=this._initPTS===void 0,N,k;if(D&&(N=k=1/0),S.config&&T.length&&(S.timescale=S.samplerate,u.logger.log("audio sampling rate : "+S.samplerate),S.isAAC||(_.mpeg?(w="audio/mpeg",S.codec=""):_.mp3&&(S.codec="mp3")),C.audio={container:w,codec:S.codec,initSegment:!S.isAAC&&_.mpeg?new Uint8Array:d.default.initSegment([S]),metadata:{channelCount:S.channelCount}},D&&(N=k=T[0].pts-S.inputTimeScale*g)),E.sps&&E.pps&&b.length){var F=E.inputTimeScale;E.timescale=F,C.video={container:"video/mp4",codec:E.codec,initSegment:d.default.initSegment([E]),metadata:{width:E.width,height:E.height}},D&&(N=Math.min(N,b[0].pts-F*g),k=Math.min(k,b[0].dts-F*g),this.observer.trigger(h.default.INIT_PTS_FOUND,{initPTS:N}))}Object.keys(C).length?(v.trigger(h.default.FRAG_PARSING_INIT_SEGMENT,P),this.ISGenerated=!0,D&&(this._initPTS=N,this._initDTS=k)):v.trigger(h.default.ERROR,{type:f.ErrorTypes.MEDIA_ERROR,details:f.ErrorDetails.FRAG_PARSING_ERROR,fatal:!1,reason:"no audio/video samples found"})},R.prototype.remuxVideo=function(S,E,g,v,T){var b=8,_,w,C,P,D,N,k,F=S.timescale,M=S.samples,U=[],$=M.length,B=this._PTSNormalize,J=this._initPTS,ne=this.nextAvcDts,ie=this.isSafari;if($!==0){ie&&(g|=M.length&&ne&&(T&&Math.abs(E-ne/F)<.1||Math.abs(M[0].pts-ne-J)<F/5)),g||(ne=E*F),M.forEach(function(ct){ct.pts=B(ct.pts-J,ne),ct.dts=B(ct.dts-J,ne)}),M.sort(function(ct,dt){var rt=ct.dts-dt.dts,xt=ct.pts-dt.pts;return rt||xt||ct.id-dt.id});var Y=M.reduce(function(ct,dt){return Math.max(Math.min(ct,dt.pts-dt.dts),-18e3)},0);if(Y<0){u.logger.warn("PTS < DTS detected in video samples, shifting DTS by "+Math.round(Y/90)+" ms to overcome this issue");for(var q=0;q<M.length;q++)M[q].dts+=Y}var re=M[0];D=Math.max(re.dts,0),P=Math.max(re.pts,0);var ce=Math.round((D-ne)/90);g&&ce&&(ce>1?u.logger.log("AVC:"+ce+" ms hole between fragments detected,filling it"):ce<-1&&u.logger.log("AVC:"+-ce+" ms overlapping between fragments detected"),D=ne,M[0].dts=D,P=Math.max(P-ce,ne),M[0].pts=P,u.logger.log("Video/PTS/DTS adjusted: "+Math.round(P/90)+"/"+Math.round(D/90)+",delta:"+ce+" ms")),re=M[M.length-1],k=Math.max(re.dts,0),N=Math.max(re.pts,0,k),ie&&(_=Math.round((k-D)/(M.length-1)));for(var fe=0,te=0,q=0;q<$;q++){for(var H=M[q],W=H.units,V=W.length,z=0,Q=0;Q<V;Q++)z+=W[Q].data.length;te+=z,fe+=V,H.length=z,ie?H.dts=D+q*_:H.dts=Math.max(H.dts,D),H.pts=Math.max(H.pts,H.dts)}var ee=te+4*fe+8;try{w=new Uint8Array(ee)}catch{this.observer.trigger(h.default.ERROR,{type:f.ErrorTypes.MUX_ERROR,details:f.ErrorDetails.REMUX_ALLOC_ERROR,fatal:!1,bytes:ee,reason:"fail allocating video mdat "+ee});return}var le=new DataView(w.buffer);le.setUint32(0,ee),w.set(d.default.types.mdat,4);for(var q=0;q<$;q++){for(var ue=M[q],he=ue.units,ve=0,be=void 0,Q=0,V=he.length;Q<V;Q++){var Re=he[Q],Le=Re.data,Oe=Re.data.byteLength;le.setUint32(b,Oe),b+=4,w.set(Le,b),b+=Oe,ve+=4+Oe}if(ie)be=Math.max(0,_*Math.round((ue.pts-ue.dts)/_));else{if(q<$-1)_=M[q+1].dts-ue.dts;else{var Ke=this.config,St=ue.dts-M[q>0?q-1:q].dts;if(Ke.stretchShortVideoTrack){var it=Ke.maxBufferHole,gt=Math.floor(it*F),Ge=(v?P+v*F:this.nextAudioPts)-ue.pts;Ge>gt?(_=Ge-St,_<0&&(_=St),u.logger.log("It is approximately "+Ge/90+" ms to the next segment; using duration "+_/90+" ms for the last video frame.")):_=St}else _=St}be=Math.round(ue.pts-ue.dts)}U.push({size:ve,duration:_,cts:be,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:ue.key?2:1,isNonSync:ue.key?0:1}})}this.nextAvcDts=k+_;var Me=S.dropped;if(S.len=0,S.nbNalu=0,S.dropped=0,U.length&&navigator.userAgent.toLowerCase().indexOf("chrome")>-1){var De=U[0].flags;De.dependsOn=2,De.isNonSync=0}S.samples=U,C=d.default.moof(S.sequenceNumber++,D,S),S.samples=[];var Ve={data1:C,data2:w,startPTS:P/F,endPTS:(N+_)/F,startDTS:D/F,endDTS:this.nextAvcDts/F,type:"video",hasAudio:!1,hasVideo:!0,nb:U.length,dropped:Me};return this.observer.trigger(h.default.FRAG_PARSING_DATA,Ve),Ve}},R.prototype.remuxAudio=function(S,E,g,v){var T=S.inputTimeScale,b=S.timescale,_=T/b,w=S.isAAC?1024:1152,C=w*_,P=this._PTSNormalize,D=this._initPTS,N=!S.isAAC&&this.typeSupported.mpeg,k,F,M,U,$,B,J,ne=S.samples,ie=[],Y=this.nextAudioPts;if(g|=ne.length&&Y&&(v&&Math.abs(E-Y/T)<.1||Math.abs(ne[0].pts-Y-D)<20*C),ne.forEach(function(Ge){Ge.pts=Ge.dts=P(Ge.pts-D,E*T)}),ne=ne.filter(function(Ge){return Ge.pts>=0}),ne.length!==0){if(g||(v?Y=E*T:Y=ne[0].pts),S.isAAC)for(var q=this.config.maxAudioFramesDrift,re=0,ce=Y;re<ne.length;){var fe=ne[re],te,H=fe.pts;te=H-ce;var W=Math.abs(1e3*te/T);if(te<=-q*C)u.logger.warn("Dropping 1 audio frame @ "+(ce/T).toFixed(3)+"s due to "+Math.round(W)+" ms overlap."),ne.splice(re,1),S.len-=fe.unit.length;else if(te>=q*C&&W<p&&ce){var V=Math.round(te/C);u.logger.warn("Injecting "+V+" audio frame @ "+(ce/T).toFixed(3)+"s due to "+Math.round(1e3*te/T)+" ms gap.");for(var z=0;z<V;z++){var Q=Math.max(ce,0);M=o.default.getSilentFrame(S.manifestCodec||S.codec,S.channelCount),M||(u.logger.log("Unable to get silent frame for given audio codec; duplicating last frame instead."),M=fe.unit.subarray()),ne.splice(re,0,{unit:M,pts:Q,dts:Q}),S.len+=M.length,ce+=C,re++}fe.pts=fe.dts=ce,ce+=C,re++}else fe.pts=fe.dts=ce,ce+=C,re++}for(var z=0,ee=ne.length;z<ee;z++){var le=ne[z],ue=le.unit,H=le.pts;if(J!==void 0)F.duration=Math.round((H-J)/_);else{var he=Math.round(1e3*(H-Y)/T),ve=0;if(g&&S.isAAC&&he){if(he>0&&he<p)ve=Math.round((H-Y)/C),u.logger.log(he+" ms hole between AAC samples detected,filling it"),ve>0&&(M=o.default.getSilentFrame(S.manifestCodec||S.codec,S.channelCount),M||(M=ue.subarray()),S.len+=ve*M.length);else if(he<-12){u.logger.log("drop overlapping AAC sample, expected/parsed/delta:"+(Y/T).toFixed(3)+"s/"+(H/T).toFixed(3)+"s/"+-he+"ms"),S.len-=ue.byteLength;continue}H=Y}if(B=H,S.len>0){var be=N?S.len:S.len+8;k=N?0:8;try{U=new Uint8Array(be)}catch{this.observer.trigger(h.default.ERROR,{type:f.ErrorTypes.MUX_ERROR,details:f.ErrorDetails.REMUX_ALLOC_ERROR,fatal:!1,bytes:be,reason:"fail allocating audio mdat "+be});return}if(!N){var Re=new DataView(U.buffer);Re.setUint32(0,be),U.set(d.default.types.mdat,4)}}else return;for(var re=0;re<ve;re++)M=o.default.getSilentFrame(S.manifestCodec||S.codec,S.channelCount),M||(u.logger.log("Unable to get silent frame for given audio codec; duplicating this frame instead."),M=ue.subarray()),U.set(M,k),k+=M.byteLength,F={size:M.byteLength,cts:0,duration:1024,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:1}},ie.push(F)}U.set(ue,k);var Le=ue.byteLength;k+=Le,F={size:Le,cts:0,duration:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:1}},ie.push(F),J=H}var Oe=0,Ke=ie.length;if(Ke>=2&&(Oe=ie[Ke-2].duration,F.duration=Oe),Ke){this.nextAudioPts=Y=J+_*Oe,S.len=0,S.samples=ie,N?$=new Uint8Array:$=d.default.moof(S.sequenceNumber++,B/_,S),S.samples=[];var St=B/T,it=Y/T,gt={data1:$,data2:U,startPTS:St,endPTS:it,startDTS:St,endDTS:it,type:"audio",hasAudio:!0,hasVideo:!1,nb:Ke};return this.observer.trigger(h.default.FRAG_PARSING_DATA,gt),gt}return null}},R.prototype.remuxEmptyAudio=function(S,E,g,v){var T=S.inputTimeScale,b=S.samplerate?S.samplerate:T,_=T/b,w=this.nextAudioPts,C=(w!==void 0?w:v.startDTS*T)+this._initDTS,P=v.endDTS*T+this._initDTS,D=1024,N=_*D,k=Math.ceil((P-C)/N),F=o.default.getSilentFrame(S.manifestCodec||S.codec,S.channelCount);if(u.logger.warn("remux empty Audio"),!F){u.logger.trace("Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec!");return}for(var M=[],U=0;U<k;U++){var $=C+U*N;M.push({unit:F,pts:$,dts:$}),S.len+=F.length}S.samples=M,this.remuxAudio(S,E,g)},R.prototype.remuxID3=function(S){var E=S.samples.length,g,v=S.inputTimeScale,T=this._initPTS,b=this._initDTS;if(E){for(var _=0;_<E;_++)g=S.samples[_],g.pts=(g.pts-T)/v,g.dts=(g.dts-b)/v;this.observer.trigger(h.default.FRAG_PARSING_METADATA,{samples:S.samples})}S.samples=[]},R.prototype.remuxText=function(S){S.samples.sort(function(_,w){return _.pts-w.pts});var E=S.samples.length,g,v=S.inputTimeScale,T=this._initPTS;if(E){for(var b=0;b<E;b++)g=S.samples[b],g.pts=(g.pts-T)/v;this.observer.trigger(h.default.FRAG_PARSING_USERDATA,{samples:S.samples})}S.samples=[]},R.prototype._PTSNormalize=function(S,E){var g;if(E===void 0)return S;for(E<S?g=-8589934592:g=8589934592;Math.abs(S-E)>4294967296;)S+=g;return S},R}();t.default=x},"./src/remux/passthrough-remuxer.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/events.js"),d=function(){function h(f){this.observer=f}return h.prototype.destroy=function(){},h.prototype.resetTimeStamp=function(){},h.prototype.resetInitSegment=function(){},h.prototype.remux=function(f,u,p,x,R,S,E,g){var v=this.observer,T="";f&&(T+="audio"),u&&(T+="video"),v.trigger(o.default.FRAG_PARSING_DATA,{data1:g,startPTS:R,startDTS:R,type:T,hasAudio:!!f,hasVideo:!!u,nb:1,dropped:0}),v.trigger(o.default.FRAG_PARSED)},h}();t.default=d},"./src/task-loop.js":function(n,t,a){var o=this&&this.__extends||function(){var f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(u,p){u.__proto__=p}||function(u,p){for(var x in p)p.hasOwnProperty(x)&&(u[x]=p[x])};return function(u,p){f(u,p);function x(){this.constructor=u}u.prototype=p===null?Object.create(p):(x.prototype=p.prototype,new x)}}();Object.defineProperty(t,"__esModule",{value:!0});var d=a("./src/event-handler.js"),h=function(f){o(u,f);function u(p){for(var x=[],R=1;R<arguments.length;R++)x[R-1]=arguments[R];var S=f.apply(this,[p].concat(x))||this;return S._tickInterval=null,S._tickTimer=null,S._tickCallCount=0,S._boundTick=S.tick.bind(S),S}return u.prototype.onHandlerDestroying=function(){this.clearNextTick(),this.clearInterval()},u.prototype.hasInterval=function(){return!!this._tickInterval},u.prototype.hasNextTick=function(){return!!this._tickTimer},u.prototype.setInterval=function(p){return this._tickInterval?!1:(this._tickInterval=setInterval(this._boundTick,p),!0)},u.prototype.clearInterval=function(){return this._tickInterval?(clearInterval(this._tickInterval),this._tickInterval=null,!0):!1},u.prototype.clearNextTick=function(){return this._tickTimer?(clearTimeout(this._tickTimer),this._tickTimer=null,!0):!1},u.prototype.tick=function(){this._tickCallCount++,this._tickCallCount===1&&(this.doTick(),this._tickCallCount>1&&(this.clearNextTick(),this._tickTimer=setTimeout(this._boundTick,0)),this._tickCallCount=0)},u.prototype.doTick=function(){},u}(d.default);t.default=h},"./src/utils/attr-list.js":function(n,t,a){(function(o){Object.defineProperty(t,"__esModule",{value:!0});var d=/^(\d+)x(\d+)$/,h=/\s*(.+?)\s*=((?:\".*?\")|.*?)(?:,|$)/g,f=function(){function u(p){typeof p=="string"&&(p=u.parseAttrList(p));for(var x in p)p.hasOwnProperty(x)&&(this[x]=p[x])}return u.prototype.decimalInteger=function(p){var x=parseInt(this[p],10);return x>o.MAX_SAFE_INTEGER?1/0:x},u.prototype.hexadecimalInteger=function(p){if(this[p]){var x=(this[p]||"0x").slice(2);x=(x.length&1?"0":"")+x;for(var R=new Uint8Array(x.length/2),S=0;S<x.length/2;S++)R[S]=parseInt(x.slice(S*2,S*2+2),16);return R}else return null},u.prototype.hexadecimalIntegerAsNumber=function(p){var x=parseInt(this[p],16);return x>o.MAX_SAFE_INTEGER?1/0:x},u.prototype.decimalFloatingPoint=function(p){return parseFloat(this[p])},u.prototype.enumeratedString=function(p){return this[p]},u.prototype.decimalResolution=function(p){var x=d.exec(this[p]);if(x!==null)return{width:parseInt(x[1],10),height:parseInt(x[2],10)}},u.parseAttrList=function(p){var x,R={};for(h.lastIndex=0;(x=h.exec(p))!==null;){var S=x[2],E='"';S.indexOf(E)===0&&S.lastIndexOf(E)===S.length-1&&(S=S.slice(1,-1)),R[x[1]]=S}return R},u}();t.default=f}).call(this,a("./src/polyfills/number.js").Number)},"./src/utils/binary-search.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o={search:function(d,h){for(var f=0,u=d.length-1,p=null,x=null;f<=u;){p=(f+u)/2|0,x=d[p];var R=h(x);if(R>0)f=p+1;else if(R<0)u=p-1;else return x}return null}};t.default=o},"./src/utils/buffer-helper.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function d(){}return d.isBuffered=function(h,f){try{if(h){for(var u=h.buffered,p=0;p<u.length;p++)if(f>=u.start(p)&&f<=u.end(p))return!0}}catch{}return!1},d.bufferInfo=function(h,f,u){try{if(h){var p=h.buffered,x=[],R=void 0;for(R=0;R<p.length;R++)x.push({start:p.start(R),end:p.end(R)});return this.bufferedInfo(x,f,u)}}catch{}return{len:0,start:f,end:f,nextStart:void 0}},d.bufferedInfo=function(h,f,u){var p=[],x,R,S,E,g;for(h.sort(function(w,C){var P=w.start-C.start;return P||C.end-w.end}),g=0;g<h.length;g++){var v=p.length;if(v){var T=p[v-1].end;h[g].start-T<u?h[g].end>T&&(p[v-1].end=h[g].end):p.push(h[g])}else p.push(h[g])}for(g=0,x=0,R=S=f;g<p.length;g++){var b=p[g].start,_=p[g].end;if(f+u>=b&&f<_)R=b,S=_,x=S-f;else if(f+u<b){E=b;break}}return{len:x,start:R,end:S,nextStart:E}},d}();t.BufferHelper=o},"./src/utils/cea-608-parser.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},d=function(P){var D=P;return o.hasOwnProperty(P)&&(D=o[P]),String.fromCharCode(D)},h=15,f=100,u={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},p={17:2,18:4,21:6,22:8,23:10,19:13,20:15},x={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},R={25:2,26:4,29:6,30:8,31:10,27:13,28:15},S=["white","green","blue","cyan","red","yellow","magenta","black","transparent"],E={verboseFilter:{DATA:3,DEBUG:3,INFO:2,WARNING:2,TEXT:1,ERROR:0},time:null,verboseLevel:0,setTime:function(P){this.time=P},log:function(P,D){var N=this.verboseFilter[P];this.verboseLevel>=N}},g=function(P){for(var D=[],N=0;N<P.length;N++)D.push(P[N].toString(16));return D},v=function(){function P(D,N,k,F,M){this.foreground=D||"white",this.underline=N||!1,this.italics=k||!1,this.background=F||"black",this.flash=M||!1}return P.prototype.reset=function(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1},P.prototype.setStyles=function(D){for(var N=["foreground","underline","italics","background","flash"],k=0;k<N.length;k++){var F=N[k];D.hasOwnProperty(F)&&(this[F]=D[F])}},P.prototype.isDefault=function(){return this.foreground==="white"&&!this.underline&&!this.italics&&this.background==="black"&&!this.flash},P.prototype.equals=function(D){return this.foreground===D.foreground&&this.underline===D.underline&&this.italics===D.italics&&this.background===D.background&&this.flash===D.flash},P.prototype.copy=function(D){this.foreground=D.foreground,this.underline=D.underline,this.italics=D.italics,this.background=D.background,this.flash=D.flash},P.prototype.toString=function(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash},P}(),T=function(){function P(D,N,k,F,M,U){this.uchar=D||" ",this.penState=new v(N,k,F,M,U)}return P.prototype.reset=function(){this.uchar=" ",this.penState.reset()},P.prototype.setChar=function(D,N){this.uchar=D,this.penState.copy(N)},P.prototype.setPenState=function(D){this.penState.copy(D)},P.prototype.equals=function(D){return this.uchar===D.uchar&&this.penState.equals(D.penState)},P.prototype.copy=function(D){this.uchar=D.uchar,this.penState.copy(D.penState)},P.prototype.isEmpty=function(){return this.uchar===" "&&this.penState.isDefault()},P}(),b=function(){function P(){this.chars=[];for(var D=0;D<f;D++)this.chars.push(new T);this.pos=0,this.currPenState=new v}return P.prototype.equals=function(D){for(var N=!0,k=0;k<f;k++)if(!this.chars[k].equals(D.chars[k])){N=!1;break}return N},P.prototype.copy=function(D){for(var N=0;N<f;N++)this.chars[N].copy(D.chars[N])},P.prototype.isEmpty=function(){for(var D=!0,N=0;N<f;N++)if(!this.chars[N].isEmpty()){D=!1;break}return D},P.prototype.setCursor=function(D){this.pos!==D&&(this.pos=D),this.pos<0?(E.log("ERROR","Negative cursor position "+this.pos),this.pos=0):this.pos>f&&(E.log("ERROR","Too large cursor position "+this.pos),this.pos=f)},P.prototype.moveCursor=function(D){var N=this.pos+D;if(D>1)for(var k=this.pos+1;k<N+1;k++)this.chars[k].setPenState(this.currPenState);this.setCursor(N)},P.prototype.backSpace=function(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState)},P.prototype.insertChar=function(D){D>=144&&this.backSpace();var N=d(D);if(this.pos>=f){E.log("ERROR","Cannot insert "+D.toString(16)+" ("+N+") at position "+this.pos+". Skipping it!");return}this.chars[this.pos].setChar(N,this.currPenState),this.moveCursor(1)},P.prototype.clearFromPos=function(D){var N;for(N=D;N<f;N++)this.chars[N].reset()},P.prototype.clear=function(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()},P.prototype.clearToEndOfRow=function(){this.clearFromPos(this.pos)},P.prototype.getTextString=function(){for(var D=[],N=!0,k=0;k<f;k++){var F=this.chars[k].uchar;F!==" "&&(N=!1),D.push(F)}return N?"":D.join("")},P.prototype.setPenStyles=function(D){this.currPenState.setStyles(D);var N=this.chars[this.pos];N.setPenState(this.currPenState)},P}(),_=function(){function P(){this.rows=[];for(var D=0;D<h;D++)this.rows.push(new b);this.currRow=h-1,this.nrRollUpRows=null,this.reset()}return P.prototype.reset=function(){for(var D=0;D<h;D++)this.rows[D].clear();this.currRow=h-1},P.prototype.equals=function(D){for(var N=!0,k=0;k<h;k++)if(!this.rows[k].equals(D.rows[k])){N=!1;break}return N},P.prototype.copy=function(D){for(var N=0;N<h;N++)this.rows[N].copy(D.rows[N])},P.prototype.isEmpty=function(){for(var D=!0,N=0;N<h;N++)if(!this.rows[N].isEmpty()){D=!1;break}return D},P.prototype.backSpace=function(){var D=this.rows[this.currRow];D.backSpace()},P.prototype.clearToEndOfRow=function(){var D=this.rows[this.currRow];D.clearToEndOfRow()},P.prototype.insertChar=function(D){var N=this.rows[this.currRow];N.insertChar(D)},P.prototype.setPen=function(D){var N=this.rows[this.currRow];N.setPenStyles(D)},P.prototype.moveCursor=function(D){var N=this.rows[this.currRow];N.moveCursor(D)},P.prototype.setCursor=function(D){E.log("INFO","setCursor: "+D);var N=this.rows[this.currRow];N.setCursor(D)},P.prototype.setPAC=function(D){E.log("INFO","pacData = "+JSON.stringify(D));var N=D.row-1;if(this.nrRollUpRows&&N<this.nrRollUpRows-1&&(N=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==N){for(var k=0;k<h;k++)this.rows[k].clear();var F=this.currRow+1-this.nrRollUpRows,M=this.lastOutputScreen;if(M){var U=M.rows[F].cueStartTime;if(U&&U<E.time)for(var k=0;k<this.nrRollUpRows;k++)this.rows[N-this.nrRollUpRows+k+1].copy(M.rows[F+k])}}this.currRow=N;var $=this.rows[this.currRow];if(D.indent!==null){var B=D.indent,J=Math.max(B-1,0);$.setCursor(D.indent),D.color=$.chars[J].penState.foreground}var ne={foreground:D.color,underline:D.underline,italics:D.italics,background:"black",flash:!1};this.setPen(ne)},P.prototype.setBkgData=function(D){E.log("INFO","bkgData = "+JSON.stringify(D)),this.backSpace(),this.setPen(D),this.insertChar(32)},P.prototype.setRollUpRows=function(D){this.nrRollUpRows=D},P.prototype.rollUp=function(){if(this.nrRollUpRows===null){E.log("DEBUG","roll_up but nrRollUpRows not set yet");return}E.log("TEXT",this.getDisplayText());var D=this.currRow+1-this.nrRollUpRows,N=this.rows.splice(D,1)[0];N.clear(),this.rows.splice(this.currRow,0,N),E.log("INFO","Rolling up")},P.prototype.getDisplayText=function(D){D=D||!1;for(var N=[],k="",F=-1,M=0;M<h;M++){var U=this.rows[M].getTextString();U&&(F=M+1,D?N.push("Row "+F+": '"+U+"'"):N.push(U.trim()))}return N.length>0&&(D?k="["+N.join(" | ")+"]":k=N.join(`
36
36
  `)),k},P.prototype.getTextAndFormat=function(){return this.rows},P}(),w=function(){function P(D,N){this.chNr=D,this.outputFilter=N,this.mode=null,this.verbose=0,this.displayedMemory=new _,this.nonDisplayedMemory=new _,this.lastOutputScreen=new _,this.currRollUpRow=this.displayedMemory.rows[h-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null}return P.prototype.reset=function(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.currRollUpRow=this.displayedMemory.rows[h-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.lastCueEndTime=null},P.prototype.getHandler=function(){return this.outputFilter},P.prototype.setHandler=function(D){this.outputFilter=D},P.prototype.setPAC=function(D){this.writeScreen.setPAC(D)},P.prototype.setBkgData=function(D){this.writeScreen.setBkgData(D)},P.prototype.setMode=function(D){D!==this.mode&&(this.mode=D,E.log("INFO","MODE="+D),this.mode==="MODE_POP-ON"?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),this.mode!=="MODE_ROLL-UP"&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=D)},P.prototype.insertChars=function(D){for(var N=0;N<D.length;N++)this.writeScreen.insertChar(D[N]);var k=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";E.log("INFO",k+": "+this.writeScreen.getDisplayText(!0)),(this.mode==="MODE_PAINT-ON"||this.mode==="MODE_ROLL-UP")&&(E.log("TEXT","DISPLAYED: "+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate())},P.prototype.ccRCL=function(){E.log("INFO","RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")},P.prototype.ccBS=function(){E.log("INFO","BS - BackSpace"),this.mode!=="MODE_TEXT"&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())},P.prototype.ccAOF=function(){},P.prototype.ccAON=function(){},P.prototype.ccDER=function(){E.log("INFO","DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()},P.prototype.ccRU=function(D){E.log("INFO","RU("+D+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(D)},P.prototype.ccFON=function(){E.log("INFO","FON - Flash On"),this.writeScreen.setPen({flash:!0})},P.prototype.ccRDC=function(){E.log("INFO","RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")},P.prototype.ccTR=function(){E.log("INFO","TR"),this.setMode("MODE_TEXT")},P.prototype.ccRTD=function(){E.log("INFO","RTD"),this.setMode("MODE_TEXT")},P.prototype.ccEDM=function(){E.log("INFO","EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)},P.prototype.ccCR=function(){E.log("CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)},P.prototype.ccENM=function(){E.log("INFO","ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()},P.prototype.ccEOC=function(){if(E.log("INFO","EOC - End Of Caption"),this.mode==="MODE_POP-ON"){var D=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=D,this.writeScreen=this.nonDisplayedMemory,E.log("TEXT","DISP: "+this.displayedMemory.getDisplayText())}this.outputDataUpdate(!0)},P.prototype.ccTO=function(D){E.log("INFO","TO("+D+") - Tab Offset"),this.writeScreen.moveCursor(D)},P.prototype.ccMIDROW=function(D){var N={flash:!1};if(N.underline=D%2===1,N.italics=D>=46,N.italics)N.foreground="white";else{var k=Math.floor(D/2)-16,F=["white","green","blue","cyan","red","yellow","magenta"];N.foreground=F[k]}E.log("INFO","MIDROW: "+JSON.stringify(N)),this.writeScreen.setPen(N)},P.prototype.outputDataUpdate=function(D){D===void 0&&(D=!1);var N=E.time;N!==null&&this.outputFilter&&(this.cueStartTime===null&&!this.displayedMemory.isEmpty()?this.cueStartTime=N:this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue&&(this.outputFilter.newCue(this.cueStartTime,N,this.lastOutputScreen),D===!0&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue()),this.cueStartTime=this.displayedMemory.isEmpty()?null:N),this.lastOutputScreen.copy(this.displayedMemory))},P.prototype.cueSplitAtTime=function(D){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,D,this.displayedMemory),this.cueStartTime=D))},P}(),C=function(){function P(D,N,k){this.field=D||1,this.outputs=[N,k],this.channels=[new w(1,N),new w(2,k)],this.currChNr=-1,this.lastCmdA=null,this.lastCmdB=null,this.bufferedData=[],this.startTime=null,this.lastTime=null,this.dataCounters={padding:0,char:0,cmd:0,other:0}}return P.prototype.getHandler=function(D){return this.channels[D].getHandler()},P.prototype.setHandler=function(D,N){this.channels[D].setHandler(N)},P.prototype.addData=function(D,N){var k,F,M,U=!1;this.lastTime=D,E.setTime(D);for(var $=0;$<N.length;$+=2){if(F=N[$]&127,M=N[$+1]&127,F===0&&M===0){this.dataCounters.padding+=2;continue}else E.log("DATA","["+g([N[$],N[$+1]])+"] -> ("+g([F,M])+")");if(k=this.parseCmd(F,M),k||(k=this.parseMidrow(F,M)),k||(k=this.parsePAC(F,M)),k||(k=this.parseBackgroundAttributes(F,M)),!k&&(U=this.parseChars(F,M),U))if(this.currChNr&&this.currChNr>=0){var B=this.channels[this.currChNr-1];B.insertChars(U)}else E.log("WARNING","No channel found yet. TEXT-MODE?");k?this.dataCounters.cmd+=2:U?this.dataCounters.char+=2:(this.dataCounters.other+=2,E.log("WARNING","Couldn't parse cleaned data "+g([F,M])+" orig: "+g([N[$],N[$+1]])))}},P.prototype.parseCmd=function(D,N){var k=null,F=(D===20||D===28)&&N>=32&&N<=47,M=(D===23||D===31)&&N>=33&&N<=35;if(!(F||M))return!1;if(D===this.lastCmdA&&N===this.lastCmdB)return this.lastCmdA=null,this.lastCmdB=null,E.log("DEBUG","Repeated command ("+g([D,N])+") is dropped"),!0;D===20||D===23?k=1:k=2;var U=this.channels[k-1];return D===20||D===28?N===32?U.ccRCL():N===33?U.ccBS():N===34?U.ccAOF():N===35?U.ccAON():N===36?U.ccDER():N===37?U.ccRU(2):N===38?U.ccRU(3):N===39?U.ccRU(4):N===40?U.ccFON():N===41?U.ccRDC():N===42?U.ccTR():N===43?U.ccRTD():N===44?U.ccEDM():N===45?U.ccCR():N===46?U.ccENM():N===47&&U.ccEOC():U.ccTO(N-32),this.lastCmdA=D,this.lastCmdB=N,this.currChNr=k,!0},P.prototype.parseMidrow=function(D,N){var k=null;if((D===17||D===25)&&N>=32&&N<=47){if(D===17?k=1:k=2,k!==this.currChNr)return E.log("ERROR","Mismatch channel in midrow parsing"),!1;var F=this.channels[k-1];return F.ccMIDROW(N),E.log("DEBUG","MIDROW ("+g([D,N])+")"),!0}return!1},P.prototype.parsePAC=function(D,N){var k=null,F=null,M=(D>=17&&D<=23||D>=25&&D<=31)&&N>=64&&N<=127,U=(D===16||D===24)&&N>=64&&N<=95;if(!(M||U))return!1;if(D===this.lastCmdA&&N===this.lastCmdB)return this.lastCmdA=null,this.lastCmdB=null,!0;k=D<=23?1:2,N>=64&&N<=95?F=k===1?u[D]:x[D]:F=k===1?p[D]:R[D];var $=this.interpretPAC(F,N),B=this.channels[k-1];return B.setPAC($),this.lastCmdA=D,this.lastCmdB=N,this.currChNr=k,!0},P.prototype.interpretPAC=function(D,N){var k=N,F={color:null,italics:!1,indent:null,underline:!1,row:D};return N>95?k=N-96:k=N-64,F.underline=(k&1)===1,k<=13?F.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(k/2)]:k<=15?(F.italics=!0,F.color="white"):F.indent=Math.floor((k-16)/2)*4,F},P.prototype.parseChars=function(D,N){var k=null,F=null,M=null;if(D>=25?(k=2,M=D-8):(k=1,M=D),M>=17&&M<=19){var U=N;M===17?U=N+80:M===18?U=N+112:U=N+144,E.log("INFO","Special char '"+d(U)+"' in channel "+k),F=[U]}else D>=32&&D<=127&&(F=N===0?[D]:[D,N]);if(F){var $=g(F);E.log("DEBUG","Char codes = "+$.join(",")),this.lastCmdA=null,this.lastCmdB=null}return F},P.prototype.parseBackgroundAttributes=function(D,N){var k,F,M,U,$=(D===16||D===24)&&N>=32&&N<=47,B=(D===23||D===31)&&N>=45&&N<=47;return $||B?(k={},D===16||D===24?(F=Math.floor((N-32)/2),k.background=S[F],N%2===1&&(k.background=k.background+"_semi")):N===45?k.background="transparent":(k.foreground="black",N===47&&(k.underline=!0)),M=D<24?1:2,U=this.channels[M-1],U.setBkgData(k),this.lastCmdA=null,this.lastCmdB=null,!0):!1},P.prototype.reset=function(){for(var D=0;D<this.channels.length;D++)this.channels[D]&&this.channels[D].reset();this.lastCmdA=null,this.lastCmdB=null},P.prototype.cueSplitAtTime=function(D){for(var N=0;N<this.channels.length;N++)this.channels[N]&&this.channels[N].cueSplitAtTime(D)},P}();t.default=C},"./src/utils/codecs.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o={audio:{a3ds:!0,"ac-3":!0,"ac-4":!0,alac:!0,alaw:!0,dra1:!0,"dts+":!0,"dts-":!0,dtsc:!0,dtse:!0,dtsh:!0,"ec-3":!0,enca:!0,g719:!0,g726:!0,m4ae:!0,mha1:!0,mha2:!0,mhm1:!0,mhm2:!0,mlpa:!0,mp4a:!0,"raw ":!0,Opus:!0,samr:!0,sawb:!0,sawp:!0,sevc:!0,sqcp:!0,ssmv:!0,twos:!0,ulaw:!0},video:{avc1:!0,avc2:!0,avc3:!0,avc4:!0,avcp:!0,drac:!0,dvav:!0,dvhe:!0,encv:!0,hev1:!0,hvc1:!0,mjp2:!0,mp4v:!0,mvc1:!0,mvc2:!0,mvc3:!0,mvc4:!0,resv:!0,rv60:!0,s263:!0,svc1:!0,svc2:!0,"vc-1":!0,vp08:!0,vp09:!0}};function d(f,u){var p=o[u];return!!p&&p[f.slice(0,4)]===!0}t.isCodecType=d;function h(f,u){return window.MediaSource.isTypeSupported((u||"video")+'/mp4;codecs="'+f+'"')}t.isCodecSupportedInMp4=h},"./src/utils/cues.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/utils/vttparser.js");function d(h,f,u,p){for(var x,R,S,E,g,v=window.VTTCue||window.TextTrackCue,T=0;T<p.rows.length;T++)if(x=p.rows[T],S=!0,E=0,g="",!x.isEmpty()){for(var b=0;b<x.chars.length;b++)x.chars[b].uchar.match(/\s/)&&S?E++:(g+=x.chars[b].uchar,S=!1);x.cueStartTime=f,f===u&&(u+=1e-4),R=new v(f,u,o.fixLineBreaks(g.trim())),E>=16?E--:E++,navigator.userAgent.match(/Firefox\//)?R.line=T+1:R.line=T>7?T-2:T+1,R.align="left",R.position=Math.max(0,Math.min(100,100*(E/32)+(navigator.userAgent.match(/Firefox\//)?50:0))),h.addCue(R)}}t.newCue=d},"./src/utils/discontinuities.js":function(n,t,a){(function(o){Object.defineProperty(t,"__esModule",{value:!0});var d=a("./src/utils/binary-search.js"),h=a("./src/utils/logger.js");function f(v,T){for(var b=null,_=0;_<v.length;_+=1){var w=v[_];if(w&&w.cc===T){b=w;break}}return b}t.findFirstFragWithCC=f;function u(v,T){return d.default.search(v,function(b){return b.cc<T?1:b.cc>T?-1:0})}t.findFragWithCC=u;function p(v,T,b){var _=!1;return T&&T.details&&b&&(b.endCC>b.startCC||v&&v.cc<b.startCC)&&(_=!0),_}t.shouldAlignOnDiscontinuities=p;function x(v,T){var b=v.fragments,_=T.fragments;if(!_.length||!b.length){h.logger.log("No fragments to align");return}var w=f(b,_[0].cc);if(!w||w&&!w.startPTS){h.logger.log("No frag in previous level to align on");return}return w}t.findDiscontinuousReferenceFrag=x;function R(v,T){T.fragments.forEach(function(b){if(b){var _=b.start+v;b.start=b.startPTS=_,b.endPTS=_+b.duration}}),T.PTSKnown=!0}t.adjustPts=R;function S(v,T,b){E(v,b,T),!b.PTSKnown&&T&&g(b,T.details)}t.alignStream=S;function E(v,T,b){if(p(v,b,T)){var _=x(b.details,T);_&&(h.logger.log("Adjusting PTS using last level due to CC increase within current level"),R(_.start,T))}}t.alignDiscontinuities=E;function g(v,T){if(T&&T.fragments.length){if(!v.hasProgramDateTime||!T.hasProgramDateTime)return;var b=T.fragments[0].programDateTime,_=v.fragments[0].programDateTime,w=(_-b)/1e3+T.fragments[0].start;o.isFinite(w)&&(h.logger.log("adjusting PTS using programDateTime delta, sliding:"+w.toFixed(3)),R(w,v))}}t.alignPDT=g}).call(this,a("./src/polyfills/number.js").Number)},"./src/utils/ewma-bandwidth-estimator.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/utils/ewma.js"),d=function(){function h(f,u,p,x){this.hls=f,this.defaultEstimate_=x,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new o.default(u),this.fast_=new o.default(p)}return h.prototype.sample=function(f,u){f=Math.max(f,this.minDelayMs_);var p=8e3*u/f,x=f/1e3;this.fast_.sample(x,p),this.slow_.sample(x,p)},h.prototype.canEstimate=function(){var f=this.fast_;return f&&f.getTotalWeight()>=this.minWeight_},h.prototype.getEstimate=function(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_},h.prototype.destroy=function(){},h}();t.default=d},"./src/utils/ewma.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function d(h){this.alpha_=h?Math.exp(Math.log(.5)/h):0,this.estimate_=0,this.totalWeight_=0}return d.prototype.sample=function(h,f){var u=Math.pow(this.alpha_,h);this.estimate_=f*(1-u)+u*this.estimate_,this.totalWeight_+=h},d.prototype.getTotalWeight=function(){return this.totalWeight_},d.prototype.getEstimate=function(){if(this.alpha_){var h=1-Math.pow(this.alpha_,this.totalWeight_);return this.estimate_/h}else return this.estimate_},d}();t.default=o},"./src/utils/get-self-scope.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});function o(){return typeof window>"u"?self:window}t.getSelfScope=o},"./src/utils/logger.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/utils/get-self-scope.js");function d(){}var h={trace:d,debug:d,log:d,warn:d,info:d,error:d},f=h;function u(S,E){return E="["+S+"] > "+E,E}var p=o.getSelfScope();function x(S){var E=p.console[S];return E?function(){for(var g=[],v=0;v<arguments.length;v++)g[v]=arguments[v];g[0]&&(g[0]=u(S,g[0])),E.apply(p.console,g)}:d}function R(S){for(var E=[],g=1;g<arguments.length;g++)E[g-1]=arguments[g];E.forEach(function(v){f[v]=S[v]?S[v].bind(S):x(v)})}t.enableLogs=function(S){if(S===!0||typeof S=="object"){R(S,"debug","log","info","warn","error");try{f.log()}catch{f=h}}else f=h},t.logger=f},"./src/utils/mediakeys-helper.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=function(){return typeof window<"u"&&window.navigator&&window.navigator.requestMediaKeySystemAccess?window.navigator.requestMediaKeySystemAccess.bind(window.navigator):null}();t.requestMediaKeySystemAccess=o},"./src/utils/mediasource-helper.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});function o(){if(typeof window<"u")return window.MediaSource||window.WebKitMediaSource}t.getMediaSource=o},"./src/utils/output-filter.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function d(h,f){this.timelineController=h,this.trackName=f,this.startTime=null,this.endTime=null,this.screen=null}return d.prototype.dispatchCue=function(){this.startTime!==null&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen),this.startTime=null)},d.prototype.newCue=function(h,f,u){(this.startTime===null||this.startTime>h)&&(this.startTime=h),this.endTime=f,this.screen=u,this.timelineController.createCaptionsTrack(this.trackName)},d}();t.default=o},"./src/utils/texttrack-utils.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});function o(h,f){var u=null;try{u=new window.Event("addtrack")}catch{u=document.createEvent("Event"),u.initEvent("addtrack",!1,!1)}u.track=h,f.dispatchEvent(u)}t.sendAddTrackEvent=o;function d(h){if(h&&h.cues)for(;h.cues.length>0;)h.removeCue(h.cues[0])}t.clearCurrentCues=d},"./src/utils/time-ranges.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o={toString:function(d){for(var h="",f=d.length,u=0;u<f;u++)h+="["+d.start(u).toFixed(3)+","+d.end(u).toFixed(3)+"]";return h}};t.default=o},"./src/utils/vttcue.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){if(typeof window<"u"&&window.VTTCue)return window.VTTCue;var o="auto",d={"":!0,lr:!0,rl:!0},h={start:!0,middle:!0,end:!0,left:!0,right:!0};function f(R){if(typeof R!="string")return!1;var S=d[R.toLowerCase()];return S?R.toLowerCase():!1}function u(R){if(typeof R!="string")return!1;var S=h[R.toLowerCase()];return S?R.toLowerCase():!1}function p(R){for(var S=1;S<arguments.length;S++){var E=arguments[S];for(var g in E)R[g]=E[g]}return R}function x(R,S,E){var g=this,v=function(){if(!(typeof navigator>"u"))return/MSIE\s8\.0/.test(navigator.userAgent)}(),T={};v?g=document.createElement("custom"):T.enumerable=!0,g.hasBeenReset=!1;var b="",_=!1,w=R,C=S,P=E,D=null,N="",k=!0,F="auto",M="start",U=50,$="middle",B=50,J="middle";if(Object.defineProperty(g,"id",p({},T,{get:function(){return b},set:function(ne){b=""+ne}})),Object.defineProperty(g,"pauseOnExit",p({},T,{get:function(){return _},set:function(ne){_=!!ne}})),Object.defineProperty(g,"startTime",p({},T,{get:function(){return w},set:function(ne){if(typeof ne!="number")throw new TypeError("Start time must be set to a number.");w=ne,this.hasBeenReset=!0}})),Object.defineProperty(g,"endTime",p({},T,{get:function(){return C},set:function(ne){if(typeof ne!="number")throw new TypeError("End time must be set to a number.");C=ne,this.hasBeenReset=!0}})),Object.defineProperty(g,"text",p({},T,{get:function(){return P},set:function(ne){P=""+ne,this.hasBeenReset=!0}})),Object.defineProperty(g,"region",p({},T,{get:function(){return D},set:function(ne){D=ne,this.hasBeenReset=!0}})),Object.defineProperty(g,"vertical",p({},T,{get:function(){return N},set:function(ne){var ie=f(ne);if(ie===!1)throw new SyntaxError("An invalid or illegal string was specified.");N=ie,this.hasBeenReset=!0}})),Object.defineProperty(g,"snapToLines",p({},T,{get:function(){return k},set:function(ne){k=!!ne,this.hasBeenReset=!0}})),Object.defineProperty(g,"line",p({},T,{get:function(){return F},set:function(ne){if(typeof ne!="number"&&ne!==o)throw new SyntaxError("An invalid number or illegal string was specified.");F=ne,this.hasBeenReset=!0}})),Object.defineProperty(g,"lineAlign",p({},T,{get:function(){return M},set:function(ne){var ie=u(ne);if(!ie)throw new SyntaxError("An invalid or illegal string was specified.");M=ie,this.hasBeenReset=!0}})),Object.defineProperty(g,"position",p({},T,{get:function(){return U},set:function(ne){if(ne<0||ne>100)throw new Error("Position must be between 0 and 100.");U=ne,this.hasBeenReset=!0}})),Object.defineProperty(g,"positionAlign",p({},T,{get:function(){return $},set:function(ne){var ie=u(ne);if(!ie)throw new SyntaxError("An invalid or illegal string was specified.");$=ie,this.hasBeenReset=!0}})),Object.defineProperty(g,"size",p({},T,{get:function(){return B},set:function(ne){if(ne<0||ne>100)throw new Error("Size must be between 0 and 100.");B=ne,this.hasBeenReset=!0}})),Object.defineProperty(g,"align",p({},T,{get:function(){return J},set:function(ne){var ie=u(ne);if(!ie)throw new SyntaxError("An invalid or illegal string was specified.");J=ie,this.hasBeenReset=!0}})),g.displayState=void 0,v)return g}return x.prototype.getCueAsHTML=function(){var R=window.WebVTT;return R.convertCueToDOMTree(window,this.text)},x}()},"./src/utils/vttparser.js":function(n,t,a){Object.defineProperty(t,"__esModule",{value:!0});var o=a("./src/utils/vttcue.js"),d=function(){return{decode:function(v){if(!v)return"";if(typeof v!="string")throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(v))}}};function h(){this.window=window,this.state="INITIAL",this.buffer="",this.decoder=new d,this.regionList=[]}function f(g){function v(b,_,w,C){return(b|0)*3600+(_|0)*60+(w|0)+(C|0)/1e3}var T=g.match(/^(\d+):(\d{2})(:\d{2})?\.(\d{3})/);return T?T[3]?v(T[1],T[2],T[3].replace(":",""),T[4]):T[1]>59?v(T[1],T[2],0,T[4]):v(0,T[1],T[2],T[4]):null}function u(){this.values=Object.create(null)}u.prototype={set:function(g,v){!this.get(g)&&v!==""&&(this.values[g]=v)},get:function(g,v,T){return T?this.has(g)?this.values[g]:v[T]:this.has(g)?this.values[g]:v},has:function(g){return g in this.values},alt:function(g,v,T){for(var b=0;b<T.length;++b)if(v===T[b]){this.set(g,v);break}},integer:function(g,v){/^-?\d+$/.test(v)&&this.set(g,parseInt(v,10))},percent:function(g,v){return v.match(/^([\d]{1,3})(\.[\d]*)?%$/)&&(v=parseFloat(v),v>=0&&v<=100)?(this.set(g,v),!0):!1}};function p(g,v,T,b){var _=b?g.split(b):[g];for(var w in _)if(typeof _[w]=="string"){var C=_[w].split(T);if(C.length===2){var P=C[0],D=C[1];v(P,D)}}}var x=new o.default(0,0,0),R=x.align==="middle"?"middle":"center";function S(g,v,T){var b=g;function _(){var P=f(g);if(P===null)throw new Error("Malformed timestamp: "+b);return g=g.replace(/^[^\sa-zA-Z-]+/,""),P}function w(P,D){var N=new u;p(P,function(M,U){switch(M){case"region":for(var $=T.length-1;$>=0;$--)if(T[$].id===U){N.set(M,T[$].region);break}break;case"vertical":N.alt(M,U,["rl","lr"]);break;case"line":var B=U.split(","),J=B[0];N.integer(M,J),N.percent(M,J)&&N.set("snapToLines",!1),N.alt(M,J,["auto"]),B.length===2&&N.alt("lineAlign",B[1],["start",R,"end"]);break;case"position":B=U.split(","),N.percent(M,B[0]),B.length===2&&N.alt("positionAlign",B[1],["start",R,"end","line-left","line-right","auto"]);break;case"size":N.percent(M,U);break;case"align":N.alt(M,U,["start",R,"end","left","right"]);break}},/:/,/\s/),D.region=N.get("region",null),D.vertical=N.get("vertical","");var k=N.get("line","auto");k==="auto"&&x.line===-1&&(k=-1),D.line=k,D.lineAlign=N.get("lineAlign","start"),D.snapToLines=N.get("snapToLines",!0),D.size=N.get("size",100),D.align=N.get("align",R);var F=N.get("position","auto");F==="auto"&&x.position===50&&(F=D.align==="start"||D.align==="left"?0:D.align==="end"||D.align==="right"?100:50),D.position=F}function C(){g=g.replace(/^\s+/,"")}if(C(),v.startTime=_(),C(),g.substr(0,3)!=="-->")throw new Error("Malformed time stamp (time stamps must be separated by '-->'): "+b);g=g.substr(3),C(),v.endTime=_(),C(),w(g,v)}function E(g){return g.replace(/<br(?: \/)?>/gi,`
37
37
  `)}t.fixLineBreaks=E,h.prototype={parse:function(g){var v=this;g&&(v.buffer+=v.decoder.decode(g,{stream:!0}));function T(){var D=v.buffer,N=0;for(D=E(D);N<D.length&&D[N]!=="\r"&&D[N]!==`
@@ -249,8 +249,8 @@ For more info see: https://github.com/konvajs/react-konva/issues/256
249
249
  `,Z_INDEX_WARNING=`ReactKonva: You are using "zIndex" attribute for a Konva node.
250
250
  react-konva may get confused with ordering. Just define correct order of elements in your render function of a component.
251
251
  For more info see: https://github.com/konvajs/react-konva/issues/194
252
- `,EMPTY_PROPS={};function applyNodeProps(l,e,n=EMPTY_PROPS){if(!zIndexWarningShowed&&"zIndex"in e&&(console.warn(Z_INDEX_WARNING),zIndexWarningShowed=!0),!dragWarningShowed&&e.draggable){var t=e.x!==void 0||e.y!==void 0,a=e.onDragEnd||e.onDragMove;t&&!a&&(console.warn(DRAGGABLE_WARNING),dragWarningShowed=!0)}for(var o in n)if(!propsToSkip[o]){var d=o.slice(0,2)==="on",h=n[o]!==e[o];if(d&&h){var f=o.substr(2).toLowerCase();f.substr(0,7)==="content"&&(f="content"+f.substr(7,1).toUpperCase()+f.substr(8)),l.off(f,n[o])}var u=!e.hasOwnProperty(o);u&&l.setAttr(o,void 0)}var p=e._useStrictMode,x={},R=!1;const S={};for(var o in e)if(!propsToSkip[o]){var d=o.slice(0,2)==="on",E=n[o]!==e[o];if(d&&E){var f=o.substr(2).toLowerCase();f.substr(0,7)==="content"&&(f="content"+f.substr(7,1).toUpperCase()+f.substr(8)),e[o]&&(S[f]=e[o])}!d&&(e[o]!==n[o]||p&&e[o]!==l.getAttr(o))&&(R=!0,x[o]=e[o])}R&&(l.setAttrs(x),updatePicture(l));for(var f in S)l.on(f+EVENTS_NAMESPACE,S[f])}function updatePicture(l){if(!Global.Konva.autoDrawEnabled){var e=l.getLayer()||l.getStage();e&&e.batchDraw()}}var schedulerExports=requireScheduler();const NO_CONTEXT={},UPDATE_SIGNAL={};Konva.Node.prototype._applyProps=applyNodeProps;function appendInitialChild(l,e){if(typeof e=="string"){console.error(`Do not use plain text as child of Konva.Node. You are using text: ${e}`);return}l.add(e),updatePicture(l)}function createInstance(l,e,n){let t=Konva[l];t||(console.error(`Konva has no node with the type ${l}. Group will be used instead. If you use minimal version of react-konva, just import required nodes into Konva: "import "konva/lib/shapes/${l}" If you want to render DOM elements as part of canvas tree take a look into this demo: https://konvajs.github.io/docs/react/DOM_Portal.html`),t=Konva.Group);const a={},o={};for(var d in e){var h=d.slice(0,2)==="on";h?o[d]=e[d]:a[d]=e[d]}const f=new t(a);return applyNodeProps(f,o),f}function createTextInstance(l,e,n){console.error(`Text components are not supported for now in ReactKonva. Your text is: "${l}"`)}function finalizeInitialChildren(l,e,n){return!1}function getPublicInstance(l){return l}function prepareForCommit(){return null}function preparePortalMount(){return null}function prepareUpdate(l,e,n,t){return UPDATE_SIGNAL}function resetAfterCommit(){}function resetTextContent(l){}function shouldDeprioritizeSubtree(l,e){return!1}function getRootHostContext(){return NO_CONTEXT}function getChildHostContext(){return NO_CONTEXT}const scheduleTimeout=setTimeout,cancelTimeout=clearTimeout,noTimeout=-1;function shouldSetTextContent(l,e){return!1}const isPrimaryRenderer=!1,warnsIfNotActing=!0,supportsMutation=!0;function appendChild(l,e){e.parent===l?e.moveToTop():l.add(e),updatePicture(l)}function appendChildToContainer(l,e){e.parent===l?e.moveToTop():l.add(e),updatePicture(l)}function insertBefore(l,e,n){e._remove(),l.add(e),e.setZIndex(n.getZIndex()),updatePicture(l)}function insertInContainerBefore(l,e,n){insertBefore(l,e,n)}function removeChild(l,e){e.destroy(),e.off(EVENTS_NAMESPACE),updatePicture(l)}function removeChildFromContainer(l,e){e.destroy(),e.off(EVENTS_NAMESPACE),updatePicture(l)}function commitTextUpdate(l,e,n){console.error(`Text components are not yet supported in ReactKonva. You text is: "${n}"`)}function commitMount(l,e,n){}function commitUpdate(l,e,n,t,a){applyNodeProps(l,a,t)}function hideInstance(l){l.hide(),updatePicture(l)}function hideTextInstance(l){}function unhideInstance(l,e){(e.visible==null||e.visible)&&l.show()}function unhideTextInstance(l,e){}function clearContainer(l){}function detachDeletedInstance(){}const getCurrentEventPriority=()=>constantsExports.DefaultEventPriority,HostConfig=Object.freeze(Object.defineProperty({__proto__:null,appendChild,appendChildToContainer,appendInitialChild,cancelTimeout,clearContainer,commitMount,commitTextUpdate,commitUpdate,createInstance,createTextInstance,detachDeletedInstance,finalizeInitialChildren,getChildHostContext,getCurrentEventPriority,getPublicInstance,getRootHostContext,hideInstance,hideTextInstance,idlePriority:schedulerExports.unstable_IdlePriority,insertBefore,insertInContainerBefore,isPrimaryRenderer,noTimeout,now:schedulerExports.unstable_now,prepareForCommit,preparePortalMount,prepareUpdate,removeChild,removeChildFromContainer,resetAfterCommit,resetTextContent,run:schedulerExports.unstable_runWithPriority,scheduleTimeout,shouldDeprioritizeSubtree,shouldSetTextContent,supportsMutation,unhideInstance,unhideTextInstance,warnsIfNotActing},Symbol.toStringTag,{value:"Module"}));var __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(l,e,n)=>e in l?__defProp(l,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):l[e]=n,__spreadValues=(l,e)=>{for(var n in e||(e={}))__hasOwnProp.call(e,n)&&__defNormalProp(l,n,e[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(e))__propIsEnum.call(e,n)&&__defNormalProp(l,n,e[n]);return l},__spreadProps=(l,e)=>__defProps(l,__getOwnPropDescs(e));function traverseFiber(l,e,n){if(!l)return;if(n(l)===!0)return l;let t=e?l.return:l.child;for(;t;){const a=traverseFiber(t,e,n);if(a)return a;t=e?null:t.sibling}}function wrapContext(l){try{return Object.defineProperties(l,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return l}}const FiberContext=wrapContext(React__namespace.createContext(null));class FiberProvider extends React__namespace.Component{render(){return React__namespace.createElement(FiberContext.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner,ReactCurrentDispatcher}=React__namespace.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function useFiber(){const l=React__namespace.useContext(FiberContext);if(l===null)throw new Error("its-fine: useFiber must be called within a <FiberProvider />!");const e=React__namespace.useId();return React__namespace.useMemo(()=>{for(const t of[ReactCurrentOwner==null?void 0:ReactCurrentOwner.current,l,l==null?void 0:l.alternate]){if(!t)continue;const a=traverseFiber(t,!1,o=>{let d=o.memoizedState;for(;d;){if(d.memoizedState===e)return!0;d=d.next}});if(a)return a}},[l,e])}function useContextMap(){var l,e;const n=useFiber(),[t]=React__namespace.useState(()=>new Map);t.clear();let a=n;for(;a;){const o=(l=a.type)==null?void 0:l._context;o&&o!==FiberContext&&!t.has(o)&&t.set(o,(e=ReactCurrentDispatcher==null?void 0:ReactCurrentDispatcher.current)==null?void 0:e.readContext(wrapContext(o))),a=a.return}return t}function useContextBridge(){const l=useContextMap();return React__namespace.useMemo(()=>Array.from(l.keys()).reduce((e,n)=>t=>React__namespace.createElement(e,null,React__namespace.createElement(n.Provider,__spreadProps(__spreadValues({},t),{value:l.get(n)}))),e=>React__namespace.createElement(FiberProvider,__spreadValues({},e))),[l])}function usePrevious(l){const e=React$2.useRef({});return React$2.useLayoutEffect(()=>{e.current=l}),React$2.useLayoutEffect(()=>()=>{e.current={}},[]),e.current}const StageWrap=l=>{const e=React$2.useRef(),n=React$2.useRef(),t=React$2.useRef(),a=usePrevious(l),o=useContextBridge(),d=h=>{const{forwardedRef:f}=l;f&&(typeof f=="function"?f(h):f.current=h)};return React$2.useLayoutEffect(()=>(n.current=new Konva.Stage({width:l.width,height:l.height,container:e.current}),d(n.current),t.current=KonvaRenderer.createContainer(n.current,constantsExports.LegacyRoot,!1,null),KonvaRenderer.updateContainer(React$2.createElement(o,{},l.children),t.current),()=>{Konva.isBrowser&&(d(null),KonvaRenderer.updateContainer(null,t.current,null),n.current.destroy())}),[]),React$2.useLayoutEffect(()=>{d(n.current),applyNodeProps(n.current,l,a),KonvaRenderer.updateContainer(React$2.createElement(o,{},l.children),t.current,null)}),React$2.createElement("div",{ref:e,id:l.id,accessKey:l.accessKey,className:l.className,role:l.role,style:l.style,tabIndex:l.tabIndex,title:l.title})},Layer="Layer",Group="Group",Rect="Rect",Line="Line",Image$2="Image",Text="Text",KonvaRenderer=ReactFiberReconciler(HostConfig);KonvaRenderer.injectIntoDevTools({findHostInstanceByFiber:()=>null,bundleType:process.env.NODE_ENV!=="production"?1:0,version:React$2.version,rendererPackageName:"react-konva"});const Stage=React$2.forwardRef((l,e)=>React$2.createElement(FiberProvider,{},React$2.createElement(StageWrap,{...l,forwardedRef:e})));var client={},m=require$$0;if(process.env.NODE_ENV==="production")client.createRoot=m.createRoot,client.hydrateRoot=m.hydrateRoot;else{var i=m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;client.createRoot=function(l,e){i.usingClientEntryPoint=!0;try{return m.createRoot(l,e)}finally{i.usingClientEntryPoint=!1}},client.hydrateRoot=function(l,e,n){i.usingClientEntryPoint=!0;try{return m.hydrateRoot(l,e,n)}finally{i.usingClientEntryPoint=!1}}}var __rest=function(l,e){var n={};for(var t in l)Object.prototype.hasOwnProperty.call(l,t)&&e.indexOf(t)<0&&(n[t]=l[t]);if(l!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,t=Object.getOwnPropertySymbols(l);a<t.length;a++)e.indexOf(t[a])<0&&Object.prototype.propertyIsEnumerable.call(l,t[a])&&(n[t[a]]=l[t[a]]);return n};const needForceStyle=l=>{const e=window.getComputedStyle(l).position;return!(e==="absolute"||e==="relative")};function useEvent(l=()=>{}){const e=React$2.useRef(l);return e.current=l,React$2.useCallback((...n)=>e.current.apply(null,n),[])}const Html=({children:l,groupProps:e,divProps:n,transform:t,transformFunc:a})=>{const o=React$2.useRef(null);React$2.useRef();const[d]=React$2.useState(()=>document.createElement("div")),h=React$2.useMemo(()=>client.createRoot(d),[d]),f=t??!0,u=useEvent(()=>{if(f&&o.current){let E=o.current.getAbsoluteTransform().decompose();a&&(E=a(E)),d.style.position="absolute",d.style.zIndex="10",d.style.top="0px",d.style.left="0px",d.style.transform=`translate(${E.x}px, ${E.y}px) rotate(${E.rotation}deg) scaleX(${E.scaleX}) scaleY(${E.scaleY})`,d.style.transformOrigin="top left"}else d.style.position="",d.style.zIndex="",d.style.top="",d.style.left="",d.style.transform="",d.style.transformOrigin="";const p=n||{},{style:x}=p,R=__rest(p,["style"]);Object.assign(d.style,x),Object.assign(d,R)});return React$2.useLayoutEffect(()=>{var p;const x=o.current;if(!x)return;const R=(p=x.getStage())===null||p===void 0?void 0:p.container();if(R)return R.appendChild(d),f&&needForceStyle(R)&&(R.style.position="relative"),x.on("absoluteTransformChange",u),u(),()=>{var S;x.off("absoluteTransformChange",u),(S=d.parentNode)===null||S===void 0||S.removeChild(d)}},[f]),React$2.useLayoutEffect(()=>{u()},[n,a]),React$2.useLayoutEffect(()=>{h.render(l)}),React$2.useLayoutEffect(()=>()=>{setTimeout(()=>{h.unmount()})},[]),React$2.createElement(Group,Object.assign({ref:o},e))};function Area({area:l,finished:e,isClicked:n,isBad:t,hasHighlights:a,completed:o,onClick:d,onClickOutside:h}){const f=React$2.useRef(),[u,p]=React$2.useState(),x=t?"rgba(255, 99, 77, 0.32)":"rgba(75, 215, 169, 0.32)",R=t?"#ff634d":"#4bd7a9",S=DeviceDetection(),E=()=>{var _,w,C;a&&!o&&!n&&((_=f.current)==null||_.setAttr("fill","rgba(130, 134, 142, 0.4)"),(w=f.current)==null||w.setAttr("stroke","rgba(255, 255, 255, 0.3)"),(C=f.current)==null||C.to({duration:.25,opacity:1}))},g=()=>{var _;a&&!o&&!n&&((_=f.current)==null||_.to({duration:.25,opacity:0}))};React$2.useEffect(()=>{var _,w,C;o&&!e&&(t?(C=f.current)==null||C.to({duration:.25,opacity:0}):((_=f.current)==null||_.to({duration:.25,opacity:1}),(w=f.current)==null||w.globalCompositeOperation("destination-out")))},[o,e,t]);const v=()=>{var _,w;o||(t?h(l):d(l),(_=f.current)==null||_.setAttr("fill",x),(w=f.current)==null||w.setAttr("stroke",R))},T=l.scaleX?l.scaleX:1,b=l.scaleY?l.scaleY:1;return React$2.useLayoutEffect(()=>{const _=f.current.getStage();_.on("stage-loaded",()=>{const w=f.current.getClientRect({relativeTo:f.current.getParent()});p({x:w.x+w.width/2,y:w.y+w.height/2}),_.batchDraw()})},[l]),jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[u?jsxRuntimeExports.jsx(Html,{transform:!0,groupProps:{id:"projection",...u},divProps:{style:{pointerEvents:"none"}},children:jsxRuntimeExports.jsx("div",{style:{width:"50px",height:"50px",pointerEvents:"none"},id:l.id})}):null,jsxRuntimeExports.jsx(Line,{name:l.id,ref:f,onFocus:()=>E(),onMouseOver:()=>E(),onMouseLeave:g,onClick:()=>v(),onTap:()=>v(),x:l.x,y:l.y,scale:{x:T,y:b},skew:{x:l.skewX,y:l.skewY},rotation:l.rotation,points:l.points,shape:"poly",fill:e?"":x,stroke:e||n?R:"",strokeWidth:S?10:4,opacity:e||n?1:0,closed:!0})]})}Area.defaultProps={finished:!1,isBad:!1,isClicked:!1,hasHighlights:!1,completed:!1,onClick:()=>{},onClickOutside:()=>{}};const useWindowSize=()=>{const[l,e]=React$2.useState([0,0]);return React$2.useLayoutEffect(()=>{function n(){e([window.innerWidth,window.innerHeight])}return window.addEventListener("resize",n),n(),()=>window.removeEventListener("resize",n)},[]),l};function KonvaMapper({areas:l,badAreas:e,imageUrl:n,completed:t,onClick:a,onClickOutside:o,hasHighlights:d,clickedZones:h}){const f=React$2.useRef(),u=React$2.useRef(),p=React$2.useRef(),x=React$2.useRef(),R=React$2.useRef(),S=React$2.useRef(),E=React$2.useRef(),[g,v]=React$2.useState(new window.Image),[T,b]=useWindowSize(),_=e.find(P=>P.id==="AllArea")||!1,w=e.filter(P=>P.id!=="AllArea");React$2.useEffect(()=>{E.current&&u.current&&t&&(E.current.to({duration:.25,opacity:.5}),u.current.setAttr("visible",!0))},[t]);const C=P=>{_&&!P.target.attrs.shape&&o(_)};return React$2.useEffect(()=>{g.src=n,g.addEventListener("load",()=>{if(f.current){const P={x:T/2,y:b/2,width:g.width,height:g.height,offsetX:g.width/2,offsetY:g.height/2,scale:{x:Math.min(T/g.width,b/g.height),y:Math.min(T/g.width,b/g.height)}};x.current&&x.current.setAttrs(P),R.current&&R.current.setAttrs(P),u.current&&u.current.setAttrs(P),p.current&&p.current.setAttrs(P),S.current&&S.current.setAttrs(P),f.current.batchDraw(),v(g),f.current.fire("stage-loaded")}})},[g,b,n,T]),jsxRuntimeExports.jsxs(Stage,{ref:f,width:T,height:b,onClick:C,onTouchEnd:C,children:[jsxRuntimeExports.jsx(Layer,{children:jsxRuntimeExports.jsx(Image$2,{ref:S,image:g})}),jsxRuntimeExports.jsxs(Layer,{children:[jsxRuntimeExports.jsx(Rect,{ref:E,width:T,height:b,fill:"black",opacity:0}),jsxRuntimeExports.jsx(Group,{ref:R,children:w.map((P,D)=>jsxRuntimeExports.jsx(Area,{hasHighlights:d,completed:t,onClick:a,onClickOutside:o,area:P,isBad:!0},P.name+"_"+D))}),jsxRuntimeExports.jsx(Group,{ref:x,children:l.map((P,D)=>jsxRuntimeExports.jsx(Area,{hasHighlights:d,completed:t,onClick:a,onClickOutside:o,area:P,isClicked:h.some(N=>N.index===P.index)},P.name+"_"+D))}),jsxRuntimeExports.jsx(Group,{ref:p,visible:!1,children:w.map((P,D)=>jsxRuntimeExports.jsx(Area,{hasHighlights:d,completed:t,onClick:a,onClickOutside:o,area:P,isBad:!0,finished:!0},P.name+"_"+D))}),jsxRuntimeExports.jsx(Group,{ref:u,visible:!1,children:l.map((P,D)=>jsxRuntimeExports.jsx(Area,{hasHighlights:d,completed:t,onClick:a,onClickOutside:o,area:P,finished:!0},P.name+"_"+D))})]})]})}KonvaMapper.defaultProps={hasHighlights:!1,onClick:()=>{},completed:!1,onClickOutside:()=>{}};function TimerDialog({retry:l,translate:e,onInit:n}){return jsxRuntimeExports.jsx("div",{className:"timer-dialog",children:jsxRuntimeExports.jsxs("div",{className:"timer-dialog__container",children:[jsxRuntimeExports.jsx("div",{className:"timer-dialog__title",children:e("storylines.misc.ready")}),jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__primary",onClick:n,children:jsxRuntimeExports.jsx("span",{children:e(l?"storylines.misc.start":"storylines.misc.retry")})})]})})}function CountDown({time:l}){const e=Math.floor(l/60),n=l%60;return jsxRuntimeExports.jsx("div",{className:`count-down count-down--in-puzzle-frame ${l<10?"count-down--finalseconds":""}`,children:jsxRuntimeExports.jsxs("div",{children:[e<10?`0${e}`:e," : ",n<10?`0${Math.floor(n)}`:Math.floor(n)]})})}const defaultImg="https://min.gamelearn.io/css-resources/gamelearn/resources/puzzle-login-low.png";function ImageReview(){return jsxRuntimeExports.jsx("div",{className:"puzzle--image__preview",children:jsxRuntimeExports.jsx("img",{alt:"img",src:"https://min.gamelearn.io/css-resources/gamelearn/resources/image-click.jpg"})})}function ImageClickWrapperComponent(l){var Xe,Ye;const{soundActions:e,emitEvent:n,handleClick:t,disableExit:a,setResolveAction:o,info:d,image:h,areas:f,badAreas:u,hasClickOrder:p,timer:x,hasClickOnce:R,hasHighlights:S,hasImageReview:E,defaultCompleted:g,className:v,emitFinish:T,emitResolve:b,translateFromParent:_,specificFeedbacks:w,slideNumber:C,emitResetPuzzle:P,firstTryForFrame:D,puzzlesAutoCompleted:N,emitOpenPopupCounterInfo:k,pause:F,keyboardControl:M}=l,[U,$]=React$2.useState([]),[B,J]=React$2.useState(!1),[ne,ie]=React$2.useState(!1),[Y,q]=React$2.useState({show:!1,success:!1,text:"",rewards:[]}),re=React$2.useRef(!1),[ce,fe]=React$2.useState(!0),[te,H]=React$2.useState(!1),W=React$2.useRef(null),V=React$2.useRef(null),z=React$2.useRef(null),Q=React$2.useRef(null),ee=React$2.useRef(null),le=React$2.useRef(null),ue=React$2.useRef(null),he=React$2.useRef(null),ve=React$2.useRef(null),[be,Re]=React$2.useState(x),Le=Pe=>_?_(Pe):n({type:"translate",payload:Pe}),[Oe]=e,{solution:Ke}=d,St=h.img.url||defaultImg,it=f.map((Pe,Ae)=>({index:Ae,shape:"poly",...Pe})),gt=u.map((Pe,Ae)=>({index:Ae,shape:"poly",...Pe})),Ge=React$2.useCallback(()=>{if(!ce){const Pe=setInterval(()=>{Re(Ae=>Ae>1?Ae-1:0)},1e3);ve.current=Pe}},[ce]),Me=React$2.useCallback((Pe,Ae)=>{T?T(Pe,Ae):n({type:"addPoints",payload:Pe})},[n,T]);React$2.useEffect(()=>{B&&a(!0)},[B,a]),React$2.useEffect(()=>{J(g)},[g]);const De=React$2.useCallback(()=>{clearInterval(z.current)},[]),Ve=React$2.useCallback(()=>{clearInterval(ve.current)},[]),ct=React$2.useCallback(Pe=>{ee.current=Date.now(),Q.current?(ue.current=Q.current-ee.current,De()):(ue.current=ee.current-(ee.current-Pe*1e3),De())},[De]),dt=React$2.useCallback(()=>{q(()=>{var Pe,Ae;return{show:!0,success:!1,text:(Pe=d==null?void 0:d.timerFeedback)!=null&&Pe.desc?d.timerFeedback.desc:"",rewards:(Ae=d==null?void 0:d.timerFeedback)==null?void 0:Ae.rewards}}),H(!0),Ve(),De()},[Ve,De,(Xe=d.timerFeedback)==null?void 0:Xe.desc,(Ye=d.timerFeedback)==null?void 0:Ye.rewards]),rt=React$2.useCallback(()=>{clearInterval(z.current),z.current=setInterval(()=>{V.current=Date.now(),V.current>Q.current&&dt()},250)},[dt]);React$2.useEffect(()=>{var Pe;if((f.length===U.length||R&&U.length>0)&&!B){J(!0);const Ae=U[U.length-1],_e=w==null?void 0:w.correctFeedbacks.find(Ie=>Ie.id===Ae.id);(!((Pe=w==null?void 0:w.correctFeedbacks)!=null&&Pe.length)||w!=null&&w.correctFeedbacks.some(Ie=>!Ie.desc)||R)&&(q(Ie=>({...Ie,show:!0,success:!0,text:_e?_e.desc:d.solution.right.desc,rewards:_e?_e.rewards:d.solution.right.rewards})),x&&(Ve(),ct()))}},[U,f.length,w,R,B,d.solution.right,ct,x,Ve]),React$2.useEffect(()=>{o(Pe=>{x&&(Ve(),fe(!1),Y.show?q(Ae=>({...Ae,show:!1,success:!1,text:"",rewards:[]})):De()),J(!0),ie(!0),setTimeout(()=>{b?b(Pe):Pe()},4e3)})},[o,b,Oe,x,Y.show,De,Ve]),React$2.useEffect(()=>{ne&&a(!0)},[ne,a]);const xt=(Pe,Ae=!1)=>{var _e,Ie;if(!B){const{rewards:tt,desc:Gt}=Ke.wrong;let Dt=Gt,ke=tt;const mt=(_e=w==null?void 0:w.wrongFeedbacks)==null?void 0:_e.find(Pt=>Pt.id===Pe.id);mt&&(Dt=mt.desc,ke=mt.rewards),p&&($([]),Ae&&(Ie=d==null?void 0:d.orderFeedback)!=null&&Ie.desc&&(Dt=d.orderFeedback.desc,ke=d.orderFeedback.rewards)),x&&(Ve(),ct()),q(Pt=>({...Pt,show:!0,success:!1,text:Dt,rewards:ke})),Oe("fail")}},Et=React$2.useCallback(()=>{le.current=Date.now();const Pe=le.current+ue.current;V.current=null,Q.current=Pe,(x||te)&&(Y.success?f.length===U.length||R&&U.length>0?Ve():(Re(ue.current*.001),Ge(),rt()):($([]),fe(!0),P())),Me(Y.rewards,Y.success),Oe("click-ui"),q(Ae=>({...Ae,show:!1,success:!1,text:"",rewards:[]}))},[x,te,Me,Y.rewards,Y.success,Oe,f.length,U.length,R,P,Ve,Ge,rt]),Qe=Pe=>{var Ae,_e;if(!U.some(Ie=>Ie.index===Pe.index)&&!Y.show&&!B){Oe("click-ui");let Ie=Ke.right.desc,{rewards:tt}=Ke.right;const Gt=[...U,Pe];if(p&&Pe.index===U.length||!p){if(x&&ct(be),t(),(Ae=w==null?void 0:w.correctFeedbacks)!=null&&Ae.length){const Dt=(_e=w.correctFeedbacks)==null?void 0:_e.find(ke=>ke.id===Pe.id);Dt&&(Ie=Dt.desc,tt=Dt.rewards),!Ie&&f.length>Gt.length&&!R?Me(tt,!0):Ie&&!R&&(q(ke=>({...ke,show:!0,success:!0,text:Ie,rewards:tt})),x&&Ve())}$(Gt)}else xt(Pe,!0)}},Be=React$2.useCallback(()=>{Ve(),Re(x),Ge(),!re.current&&D&&k(),fe(!1),W.current=Date.now(),Q.current=W.current+x*1e3,rt()},[Ve,x,Ge,D,rt,k]);return React$2.useEffect(()=>{x&&C>0&&!he.current&&(D&&Object.keys(N).length&&N[C-1]?(fe(!0),he.current=!0):fe(!1))},[g,D,N,C,x]),React$2.useEffect(()=>{x&&be===0&&dt()},[be,dt,x]),React$2.useEffect(()=>{x&&(F?(Ve(),ct()):Ge())},[Ve,rt,F,ct,Ge,x]),jsxRuntimeExports.jsxs("div",{className:v,children:[Y.show?jsxRuntimeExports.jsx(FeedbackComponent$1,{playSound:Oe,text:Y.text,success:Y.success,translate:Le,hasTimeout:!Y.text,delay:x?1e3:2e3,functionOnClose:Et,timeExpired:te,keyboardControl:M}):null,jsxRuntimeExports.jsx(KonvaMapper,{completed:B,imageUrl:St,areas:R&&U.length?[U[0]]:it,badAreas:gt,clickedZones:U,onClick:Qe,onClickOutside:xt,hasHighlights:S,emitEvent:n}),E?jsxRuntimeExports.jsx(ImageReview,{}):null,x&&ce?jsxRuntimeExports.jsx(TimerDialog,{retry:D||N[C-1],translate:Le,onInit:Be}):null,x?jsxRuntimeExports.jsx(CountDown,{time:be}):null]})}ImageClickWrapperComponent.defaultProps={info:{instructions:"",resolve:{},solution:{},hint:{},title:""},badAreas:[],className:"puzzle--image__click",hasClickOrder:!1,hasClickOnce:!1,hasHighlights:!1,hasImageReview:!1,defaultCompleted:!1,hideContinue:!1,emitAreaClick:()=>{},handleClick:()=>{}};function ImageClickPuzzleComponent(l){const e=(n,t)=>{t?(l.emitEvent({type:"addPoints",complex:!0,finish:!0,payload:n}),l.emitEvent({type:"passPuzzle"})):(l.emitEvent({type:"addPoints",payload:n,finish:!1}),l.emitEvent({type:"failPuzzle"}))};return jsxRuntimeExports.jsx(ImageClickWrapperComponent,{...l,emitFinish:e,name:"image-click-puzzle"})}const GREEN="#44d7ab",ORANGE="#FFB34B",RED="#FF634D",getDistance=(l,e)=>Math.max(Math.abs(l[0]-e[0]),Math.abs(l[1]-e[1])),generatePasswordPositions=(l,e,n,t)=>{const a=[],o=l;for(const d of e.toLowerCase()){const h=Math.floor(Math.random()*n),f=Math.floor(Math.random()*t);o[h][f].value=d,a.push({char:d,position:[h,f]})}return[o,a]},paintedGridPassword=(l,e,n,t)=>{const a=l;for(let o=0;o<e;o+=1)for(let d=0;d<n;d+=1)switch(t.reduce((f,u)=>{const p=[o,d],x=getDistance(u.position,p);return x<f?x:f},9999)){case 0:a[o][d].hiddenColor=GREEN;break;case 1:a[o][d].hiddenColor=ORANGE;break;case 2:a[o][d].hiddenColor=RED;break}return a},resetColors=(l,e,n)=>{const t=n;for(let a=0;a<l;a+=1)for(let o=0;o<e;o+=1)t[a][o].color="",t[a][o].hiddenColor=RED;return t},repaintGridPassword=(l,e,n,t)=>{const a=resetColors(n,t,l),[o,d]=generatePasswordPositions(a,e,n,t);return paintedGridPassword(o,n,t,d)},prepareAcceptedChars=(l,e)=>e.split("").filter(n=>!l.includes(n)).join(""),generateBasicGrid=(l,e,n)=>{const t=[];for(let a=0;a<l;a+=1){const o=[];for(let d=0;d<e;d+=1){const h={color:"",hiddenColor:RED,value:n[Math.floor(Math.random()*n.length)]};o.push(h)}t.push(o)}return t},makeSomeNoise=({numberOfColumns:l,numberOfRows:e,password:n})=>{const t=LangIsRtl()?"٠١٢٣٤٥٦٧٨٩شزذيثبلاهتنمورخحضقسفعدصطغظ":"0123456789abcdefghijklmnopqrstuvwxyz",a=prepareAcceptedChars(n,t),o=generateBasicGrid(e,l,a),[d,h]=generatePasswordPositions(o,n,e,l);return paintedGridPassword(d,e,l,h)};function DrawItem({item:l,rowIndex:e,columnIndex:n,setCursorPosition:t,cursorPosition:a}){const o=Math.abs(e-a[0])<3&&Math.abs(n-a[1])<3;return jsxRuntimeExports.jsx("span",{className:"puzzle--cracker__item",style:{backgroundColor:`${o?l.hiddenColor:l.color}`,flexGrow:1,textAlign:"center"},onMouseOver:()=>{t([e,n])},onFocus:()=>{t([e,n])},children:l.value})}DrawItem.defaultProps={setCursorPosition:()=>{}};DrawItem.propTypes={item:PropTypes.shape({color:PropTypes.string,hiddenColor:PropTypes.string,value:PropTypes.string}).isRequired,rowIndex:PropTypes.number.isRequired,columnIndex:PropTypes.number.isRequired,cursorPosition:PropTypes.arrayOf(PropTypes.number).isRequired,setCursorPosition:PropTypes.func};function DrawRow({row:l,rowIndex:e,setCursorPosition:n,cursorPosition:t}){return l.length?jsxRuntimeExports.jsx("div",{className:"puzzle--cracker",children:l.map((a,o)=>jsxRuntimeExports.jsx(DrawItem,{item:a,rowIndex:e,columnIndex:o,setCursorPosition:n,cursorPosition:t},o))}):null}DrawRow.defaultProps={row:[]};DrawRow.propTypes={row:PropTypes.arrayOf(PropTypes.shape({})),rowIndex:PropTypes.number.isRequired,setCursorPosition:PropTypes.func.isRequired,cursorPosition:PropTypes.arrayOf(PropTypes.number).isRequired};function DrawGrid({grid:l,cursorPosition:e,setCursorPosition:n}){return jsxRuntimeExports.jsx("div",{className:"puzzle--cracker__canvas",children:l.map((t,a)=>jsxRuntimeExports.jsx(DrawRow,{row:t,rowIndex:a,cursorPosition:e,setCursorPosition:n},a))})}DrawGrid.defaultProps={setCursorPosition:()=>{}};const VELOCITY_MAP={slow:2,fast:5,fastest:10},DIFFICULTY_MAP={easy:{visibleRows:"auto",visibleColumns:40,totalRows:25},medium:{visibleRows:"auto",visibleColumns:40,totalRows:40},hard:{visibleRows:"auto",visibleColumns:40,totalRows:80}};function CrackerPuzzleComponent({emitEvent:l,soundActions:e,info:n,velocity:t,password:a,disableExit:o,difficulty:d,setResolveAction:h}){const[f]=e,u=fe=>l({type:"translate",payload:fe}),p=React$2.useRef(),x=React$2.useRef(),{solution:R}=n,[S,E]=React$2.useState(a.toLowerCase()),[g,v]=React$2.useState(),[T,b]=React$2.useState(Array(a.toLowerCase().length).fill("")),[_,w]=React$2.useState(!1),[C,P]=React$2.useState([0,0]),D=u("puzzle.cracker.crackedPassword"),N=n.solution.right.desc&&n.solution.right.desc!==""?n.solution.right.desc:"",k=u("puzzle.cracker.congratulations"),[F,M]=React$2.useState([[]]),{visibleRows:U,visibleColumns:$}=DIFFICULTY_MAP[d];let B=U==="auto"?Math.ceil(window.innerHeight*.025):U;B=B>=20?B:20,React$2.useEffect(()=>{_&&o(!0)},[_,o]),React$2.useEffect(()=>{h(fe=>{f("score"),w(!0),setTimeout(()=>{l({type:"hidePuzzleButtons",payload:!1}),fe()},0)})},[h,f]);const J=()=>{f("click-ui");const{rewards:fe}=R.right;l({type:"addPoints",complex:!0,finish:!0,payload:fe}),l({type:"passPuzzle"})},ne=()=>a.toLowerCase().split("").map((te,H)=>({char:te,index:H,used:!1})),ie=fe=>fe.filter(te=>te.used===!1).map(te=>te.char).join(""),Y=fe=>{if(fe[0].length>0&&!_){const te=[...fe];return te.push(te.shift()),te}return fe};let q=0;const re=fe=>{if(x.current!==void 0){const te=fe-x.current;q+=te,q>1e3/VELOCITY_MAP[t]&&(M(Y),q=0)}x.current=fe,p.current=requestAnimationFrame(re)};React$2.useEffect(()=>{E(a.toLowerCase());const fe=makeSomeNoise({numberOfColumns:$,numberOfRows:B,password:a.toLowerCase()});return M(fe),v(ne()),p.current=requestAnimationFrame(re),()=>cancelAnimationFrame(p.current)},[]);const ce=()=>{if(F.length<=1)return;const[fe,te]=C,H=F[fe][te];if(H.hiddenColor===GREEN){const W=g.filter(V=>V.char===H.value.toLowerCase()&&V.used===!1)[0];if(W){const{index:V}=W;f("score");const z=g;z[V].used=!0,v(z);const Q=[...T];Q[V]=H.value;const ee=ie(z);E(ee);const le=repaintGridPassword(F,ee,B,$);M(le),b(Q)}}S<=0&&(f("score"),w(!0))};return React$2.useEffect(()=>{_||ce()},[C]),jsxRuntimeExports.jsxs("div",{className:"puzzle--cracker__container",children:[jsxRuntimeExports.jsxs("div",{className:"puzzle--cracker__header",children:[jsxRuntimeExports.jsx("span",{className:"title",children:"Dcoder.exe"}),jsxRuntimeExports.jsx("div",{className:"puzzle--pieces",children:T.map((fe,te)=>jsxRuntimeExports.jsx("span",{className:"puzzle--pieces__item",children:fe&&jsxRuntimeExports.jsx("span",{className:"character success-transition-animation","data-testid":`solution${te}`,children:fe})},`${fe+te}`))})]}),jsxRuntimeExports.jsx(DrawGrid,{grid:_?[[]]:F,cursorPosition:C,setCursorPosition:P}),_&&D&&k&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs(Typist,{avgTypingDelay:110,cursor:{hideWhenDone:!0},className:"puzzle--cracker__result",children:[jsxRuntimeExports.jsx(Typist.Delay,{ms:300}),jsxRuntimeExports.jsxs("span",{children:[`${D} ${a.toLowerCase()}`," "]}),jsxRuntimeExports.jsxs("span",{children:[k," "]}),N!==""&&jsxRuntimeExports.jsx("span",{children:N})]}),jsxRuntimeExports.jsx("div",{className:"position--absolute bottom center",children:jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__primary gat--btn__cracker",onClick:J,children:u("screens.continue")})})]})]})}CrackerPuzzleComponent.defaultProps={velocity:"slow",difficulty:"easy",context:{},info:{}};const ARABIC=/[\u0600-\u06FF]/,restrictCharacters=(l,e)=>{let n=!1;return e==="or"&&(n=l===""||l===" "||l===","||l==="."||l==="/"),e==="and"&&(n=l&&l!==" "&&l!==","&&l!=="."&&l!==""&&l!=="/"),n},sortChar=(l,e)=>l.char>e.char?1:l.char<e.char?-1:0,analyzeChars=l=>{const e={anyArabic:!1,anyNumber:!1,anyWestern:!1};for(let n=0;n<l.length;n+=1){const t=l[n].charCodeAt(0);t>=65&&t<=90?e.anyWestern=!0:t>=48&&t<=57?e.anyNumber=!0:ARABIC.test(l[n])&&(e.anyArabic=!0)}return e},makeChar=l=>{const e="شزذيثبلاهتنمورخحضثقسفعدصطغظ",n="ABCDEFGHIJKLMNOPQRSTUVWXYZ",t="0123456789";let a="";return l.anyWestern&&(a+=n),l.anyNumber&&(a+=t),l.anyArabic&&(a+=e),a.charAt(Math.floor(Math.random()*a.length))},MAX_POOL_LETTERS=26,MAX_EXTRA_LETTERS=8,AnswerPanel=({answer:l,flickerPosition:e,show:n=!1,showCorrectSolution:t})=>{const a=[];let o=0;return l.forEach(d=>{a[o]||(a[o]=[]),a[o]=[...a[o],d],d.char===" "&&(o+=1),t||(d.positionInitial=d.index)}),a.map((d,h)=>jsxRuntimeExports.jsx("div",{dir:"auto",className:"puzzle--hanged__word","data-testid":`result-${h}`,children:n?d.map((f,u)=>jsxRuntimeExports.jsx("span",{className:"puzzle--hanged__letter active",children:f},`${f+u}`)):d.filter(({char:f})=>f!==" ").map(({char:f,fixed:u},p)=>jsxRuntimeExports.jsx("span",{className:`puzzle--hanged__letter ${u?"":"active"} ${d[p].positionInitial===e?"fakeFocus":""}`,children:f},`${f+p}`))},`${d+h}`))},defaultImage="https://min.gamelearn.io/css-resources/gamelearn/resources/partenon.jpg";function HangedPuzzleComponent({soundActions:l,emitEvent:e,disableExit:n,question:t,image:a,info:o,answer:d,hintUsed:h,setResolveAction:f,setHintAction:u,keyboardControl:p}){var le;const[x]=l,R=((le=a.img)==null?void 0:le.url)||defaultImage,[S,E]=React$2.useState(0),[g,v]=React$2.useState(!1),[T,b]=React$2.useState([]),[_,w]=React$2.useState(!1),[C,P]=React$2.useState([]),[D,N]=React$2.useState(""),[k,F]=React$2.useState(!1),[M,U]=React$2.useState([]),[$,B]=React$2.useState(!1),J=d.toUpperCase().split(""),ne=J.filter(ue=>restrictCharacters(ue,"and")),ie=ue=>e({type:"translate",payload:ue}),Y=React$2.useCallback(()=>{const ue=ne.map(be=>({char:be}));let he=[];const ve=analyzeChars(ne);for(;he.length<MAX_EXTRA_LETTERS;){const be=makeChar(ve);he=[...he,{char:be}]}return[...ue,...he]},[ne]),q=d.toUpperCase().split("").map((ue,he)=>restrictCharacters(ue,"or")?{index:he,letter:ue,char:ue,fixed:!0}:{index:he,letter:ue,char:""}),re=React$2.useCallback(()=>{let ue=Y();for(;ue.length>MAX_POOL_LETTERS;){const he=Math.trunc(Math.random()*(ue.length-1))+1,ve=ue[he],be=q.find((Re,Le)=>ve.char===Re.letter&&!q[Le].fixed);be&&(ue.splice(he,1),q[be.index]={...be,char:be.letter,fixed:!0})}h&&(ue=[],q.forEach(({letter:he})=>{he!==" "&&ue.push({char:he})})),P(q),b(ue)},[q,h,Y]),ce=(ue,he)=>T.map((be,Re)=>Re===he?{...be,deleted:!0}:{...be}),fe=(ue,he,ve)=>{const be=he.map((Le,Oe)=>ve.find(St=>St.poolIndex===Oe)?{char:Le.char}:Le);b(be),P(ue);const Re=ue.find(Le=>Le.char==="");E(Re.index)},te=(ue,he)=>{x("click-ui");let ve=!1;const be=C.map(Oe=>!Oe.char&&!ve?(ve=!0,{...Oe,char:ue,poolIndex:he}):Oe),Re=ce(ue,he),Le=be.filter(Oe=>Oe.char).length;b(Re),P(be),H(),Le===C.length&&Q(be,Re)},H=()=>{var ue;if(g){const he=C.find(ve=>ve.index!==S&&ve.letter!==" "&&ve.char===""&&ve.poolIndex===!1);he&&E(he.index)}else{const he=C.find(ve=>ve.char==="");E(he.index+1),((ue=C[he.index+1])==null?void 0:ue.letter)===" "&&E(he.index+2)}},W=()=>{x("click-ui");const ue=C.map((he,ve)=>C[C.length-1-ve]).find(he=>he.char&&!he.fixed);if(ue){const he=C.map(Re=>Re.index===ue.index?{...ue,char:""}:Re);let ve=!1;const be=T.map((Re,Le)=>Le===ue.poolIndex&&(Re.deleted||!ve)?(ve=!0,{char:Re.char}):Re);b(be),P(he),E(ue.index)}},V=()=>{n(!0),N("");const ue=[...M,...o.solution.right.rewards];x("score"),e({type:"hidePuzzleButtons",payload:!1}),e({type:"addPoints",complex:!0,finish:!0,payload:ue}),e({type:"passPuzzle"})},z=()=>{x("fail"),e({type:"hidePuzzleButtons",payload:!1}),U([...M,...o.solution.wrong.rewards]),N(""),F(!1),e({type:"failPuzzle"}),v(!0)},Q=(ue,he)=>{let ve=[];F(!0);const be=ue.map((Le,Oe)=>J[Oe]===Le.char?{...Le,fixed:!0}:(ve=[...ve,Le],{...Le,poolIndex:!1,char:""})),Re=be.filter(Le=>Le.fixed).length;e({type:"hidePuzzleButtons",payload:!0}),Re===J.length?(N("success"),o.solution.right.desc===""&&setTimeout(()=>{V()},2e3)):(N("failed"),fe(be,he,ve),o.solution.wrong.desc===""&&setTimeout(()=>{z()},2e3))},ee=()=>{if(D==="success")V();else{z();const ue=C.find(he=>he.char==="");E(ue.index)}};return React$2.useEffect(()=>{_||(w(!0),re()),f(ue=>{B(!0),setTimeout(()=>{e({type:"hidePuzzleButtons",payload:!1}),ue()},2e3)}),u(ue=>{const he=[];q.forEach(({letter:ve})=>{ve!==" "&&he.push({char:ve})}),b(he),ue()})},[re,_,d,f,e,M,o.resolve.rewards,q,u]),jsxRuntimeExports.jsxs("div",{className:"puzzle--hanged",style:{backgroundImage:`url("${R}")`},children:[D?jsxRuntimeExports.jsx(FeedbackComponent$1,{playSound:x,text:o.solution[D==="success"?"right":"wrong"].desc,success:D==="success",translate:ie,functionOnClose:ee,keyboardControl:p}):null,jsxRuntimeExports.jsx("div",{className:"puzzle--hanged__content",children:jsxRuntimeExports.jsxs("div",{className:"puzzle--hanged__controls",children:[jsxRuntimeExports.jsx("div",{dir:"auto",className:"puzzle--hanged__header",children:t}),jsxRuntimeExports.jsx("div",{dir:"auto",className:`puzzle--hanged__solution ${D}`,"data-testid":`${D}`,children:$?jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsx(AnswerPanel,{showCorrectSolution:$,answer:d.split(""),show:!0})}):jsxRuntimeExports.jsx(AnswerPanel,{showCorrectSolution:$,flickerPosition:S,answer:C})}),jsxRuntimeExports.jsxs("div",{className:"puzzle--hanged__keyboard",children:[T.sort((ue,he)=>sortChar(ue,he)).map((ue,he)=>jsxRuntimeExports.jsx("button",{"data-testid":`key-${ue.char}`,type:"button",onClick:()=>{!ue.deleted&&!D&&!k&&(te(ue.char,he),x("click-ui"))},className:`puzzle--hanged__keyboard--item ${ue.deleted||k?"disabled":""}`,children:ue.char},`${ue+he}`)),jsxRuntimeExports.jsx("button",{onClick:k?null:()=>W(),type:"button",disabled:k?"disabled":null,"aria-label":ie("puzzles.hanged-puzzle.deleteButton"),className:`puzzle--hanged__keyboard--item delete ${k?"disabled":""}`,children:jsxRuntimeExports.jsx("span",{className:"icon-delete-keyboard"})})]})]})})]})}HangedPuzzleComponent.defaultProps={question:"",answer:"",image:{},hintBought:!1,info:{description:"",instructions:"",resolve:{},solution:{},hintBought:{}}};function CurrentImageClickPuzzle({list:l,description:e,nodeId:n,setInfo:t,emitEvent:a,disableExit:o,setResolveAction:d,soundActions:h,setSelected:f,selected:u,pause:p,loadPuzzleStatus:x,index:R,setIndex:S,slidesCompleted:E,setSlidesCompleted:g,keyboardControl:v,totalCorrects:T}){const b=React$2.useRef([]),_=React$2.useRef(0),w=React$2.useRef(0),C=`chained-image-click-puzzle_${R}_${n}`,[P]=h,D=Y=>{b.current=[...b.current,...Y]},N=React$2.useCallback(Y=>{P("score"),a({type:"hidePuzzleButtons",payload:!1}),a({type:"addPoints",complex:!0,finish:!0,payload:[...b.current,...Y]}),a({type:"passPuzzle"})},[P,a]),[k,F]=React$2.useState(!1),M=l[R],{info:U,specificFeedbacks:$}=M;U.description=e,React$2.useEffect(()=>{_.current=0,w.current=0,F(!1)},[R]);const B=React$2.useCallback((Y,q=!1)=>{var ce;let re={...E};if(q){if((ce=$==null?void 0:$.correctFeedbacks)!=null&&ce.length&&!M.hasClickOnce){const fe=$.correctFeedbacks.length;k&&fe?(_.current>0?f(u+(fe-_.current)):f(u+fe),_.current=fe):_.current+=1}else{let fe=u;w.current&&(fe-=w.current),_.current=M.areas.length,f(fe+_.current)}_.current===M.areas.length&&(R+1>=l.length?N(Y):S(R+1),re={...re,[R]:!0},g(re)),D(Y)}else a({type:"addPoints",payload:Y,finish:!1}),a({type:"failPuzzle"}),M.hasClickOrder&&(f(u-_.current),_.current===0&&Object.entries(E).length===0?f(0):_.current=0),Object.entries(E).length===0&&M.hasClickOrder&&!u&&f(0)},[E,$,M.hasClickOnce,M.areas.length,M.hasClickOrder,k,f,u,R,l.length,g,N,S,a]),J=()=>{for(let Y=0;Y<b.current.length;Y=Y+1)if(b.current[Y].points>0)return!0;return!1},ne=()=>{F(!0),R>=l.length-1&&f(T),P("score"),R+1>=l.length&&J()?(U.resolve.rewards.forEach(Y=>{b.current.forEach(q=>{q.id===Y.id&&(Y.points=Y.points+q.points)})}),a({type:"puzzleAction",action:"resolve",payload:{element:C,rewards:U.resolve.rewards,finish:!0}})):a({type:"puzzleAction",action:"resolve",payload:{element:C,rewards:U.resolve.rewards,finish:R+1>=l.length}})};React$2.useEffect(()=>{t({...U,hintId:C})},[U,C,t]),React$2.useEffect(()=>{x&&R!==l.length-1&&B([],!0)},[R,l.length,x,B]);const ie=()=>{const Y=M.hasClickOnce?M.areas.length:1;w.current+=Y,f(u+Y)};return jsxRuntimeExports.jsx(ImageClickWrapperComponent,{...M,puzzle:{name:C,component:"chained-image-click-puzzle"},specificFeedbacks:$,emitFinish:B,emitError:D,emitResolve:ne,isLast:R+1===l.length,defaultCompleted:E[R]||!!x,hideContinue:R+1!==l.length,handleClick:ie,emitEvent:a,disableExit:o,soundActions:h,setResolveAction:d,pause:p,keyboardControl:v},R)}function ChainedImageClickPuzzleComponent(l){const{setInfo:e,emitEvent:n,nodeId:t,list:a,description:o,soundActions:d,showFrames:h,disableExit:f,setResolveAction:u,pause:p,keyboardControl:x}=l,[R,S]=React$2.useState(0),[E,g]=React$2.useState(0),[v,T]=React$2.useState({}),b=`chained-image-click-puzzle_${E}_${t}`,_=React$2.useMemo(()=>n({type:"loadObjectStatus",payload:b}),[n,b]),w=a.reduce((P,D)=>P+D.areas.length,0),C={list:a,description:o,nodeId:t,disableExit:f,setResolveAction:u,emitEvent:n,soundActions:d,setInfo:e,setSelected:S,selected:R,index:E,setIndex:g,slidesCompleted:v,setSlidesCompleted:T,loadPuzzleStatus:_,pause:p,keyboardControl:x,totalCorrects:w};return jsxRuntimeExports.jsxs("div",{className:"puzzle--image__click",children:[h?jsxRuntimeExports.jsxs("div",{className:"puzzle-image__info",children:[jsxRuntimeExports.jsx("span",{className:"info-circle"}),jsxRuntimeExports.jsxs("span",{children:[R," / ",w]})]}):null,jsxRuntimeExports.jsx(CurrentImageClickPuzzle,{...C})]})}function CurrentFramePuzzle({list:l,index:e,puzzlesCompiledRef:n,framesCompleted:t,handleFinish:a,accRewards:o,setRewards:d,setIndex:h,setFramesCompleted:f,loadPuzzleStatus:u,soundActions:p,setResolveAction:x,disableExit:R,description:S,translateFromParent:E,setInfo:g,emitEvent:v,nodeId:T,setSelected:b,selected:_,emitResetPuzzle:w,firstTryForFrame:C,setPuzzlesAutoCompleted:P,puzzlesAutoCompleted:D,emitOpenPopupCounterInfo:N,resetValues:k,setResetValues:F,pause:M,keyboardControl:U,totalCorrects:$}){var Q;const[B]=p,[J,ne]=React$2.useState(!1),ie=l[e],{info:Y,specificFeedbacks:q}=ie;Y.description=S;const re=React$2.useRef(0),ce=React$2.useRef(0),fe=`frame-image-click-puzzle_${e}_${T}`;React$2.useEffect(()=>{n.current+=1},[n]),React$2.useEffect(()=>{g({...Y,hintId:fe})},[g,Y,fe]),React$2.useEffect(()=>{k&&(ce.current=0,re.current=0,b(0),F(!1))},[k,F,b]),React$2.useEffect(()=>{ce.current=0,re.current=0,ne(!1)},[e]);const te=React$2.useCallback((ee,le=!1)=>{var he;let ue={...t};if(le){if((he=q==null?void 0:q.correctFeedbacks)!=null&&he.length&&!ie.hasClickOnce){const ve=q.correctFeedbacks.length;J&&ve?(ce.current>0?b(_+(ve-ce.current)):b(_+ve),ce.current=ve):ce.current+=1}else{let ve=_;re.current&&(ve-=re.current),ce.current=ie.areas.length,D[0]&&Object.entries(t).length===0?b(ce.current):b(ve+ce.current)}ce.current===ie.areas.length&&(e+1>=l.length&&a(ee),ue={...ue,[e]:!0},f(ue),h(e+1>l.length-1?0:e+1)),d(ee)}else v({type:"addPoints",payload:ee,finish:!1}),v({type:"failPuzzle"}),ie.hasClickOrder&&(b(_-ce.current),ce.current=0)},[t,(Q=q==null?void 0:q.correctFeedbacks)==null?void 0:Q.length,ie.hasClickOnce,ie.areas.length,ie.hasClickOrder,d,J,b,_,D,e,l.length,f,h,a,v]),H=React$2.useCallback(()=>{for(let ee=0;ee<o.current.length;ee=ee+1)if(o.current[ee].points>0)return!0;return!1},[o]),W=React$2.useCallback(()=>{ne(!0),e>=l.length-1&&b($),B("score"),v({type:"hidePuzzleButtons",payload:!1}),P(ee=>({...ee,[e]:!0})),e+1>=l.length&&H()?(Y.resolve.rewards.forEach(ee=>{o.current.forEach(le=>{le.id===ee.id&&(ee.points=ee.points+le.points)})}),v({type:"puzzleAction",action:"resolve",payload:{element:fe,rewards:Y.resolve.rewards,finish:!0}})):v({type:"puzzleAction",action:"resolve",payload:{element:fe,rewards:Y.resolve.rewards,finish:e+1>=l.length}})},[e,l.length,B,v,P,H,b,$,Y.resolve.rewards,fe,o]),V=React$2.useCallback(()=>{f({}),ce.current=0,re.current=0,w()},[w,f]);React$2.useEffect(()=>{u&&e!==l.length-1&&te([],!0)},[t,e,l.length,u,te]);const z=()=>{const ee=ie.hasClickOnce?ie.areas.length:1;re.current+=ee,b(_+ee)};return jsxRuntimeExports.jsx(ImageClickWrapperComponent,{...ie,className:"puzzle-frame__canvas",puzzle:{name:"",component:"frame-click-puzzle"},specificFeedbacks:q,emitFinish:te,emitResolve:W,hideContinue:!0,disableInfo:n.current>1,defaultCompleted:t[e]||!!u,soundActions:p,setResolveAction:x,disableExit:R,translateFromParent:E,emitEvent:v,slideNumber:e,handleClick:z,emitResetPuzzle:V,firstTryForFrame:C,puzzlesAutoCompleted:D,emitOpenPopupCounterInfo:N,pause:M,keyboardControl:U},e)}function Tooltip({emitEvent:l}){const e=n=>l({type:"translate",payload:n});return jsxRuntimeExports.jsx("div",{dir:"auto",className:"puzzle-frame__info--tooltip",children:e("puzzles.counterTooltip")})}function Counter({current:l,total:e,tooltip:n,emitEvent:t}){return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[n?jsxRuntimeExports.jsx(Tooltip,{emitEvent:t}):null,jsxRuntimeExports.jsxs("div",{className:"puzzle-frame__info--frames",children:[jsxRuntimeExports.jsx("span",{className:"info-circle"}),jsxRuntimeExports.jsxs("span",{children:[l," / ",e]})]})]})}function FrameImageClickComponent({emitEvent:l,nodeId:e,list:n,description:t,showFrames:a,soundActions:o,disableExit:d,setResolveAction:h,setInfo:f,pause:u,keyboardControl:p}){const[x,R]=React$2.useState({}),S=React$2.useRef([]),[E,g]=React$2.useState(0),[v,T]=React$2.useState({}),[b,_]=React$2.useState(0),w=React$2.useRef(0),[C,P]=React$2.useState(!0),[D,N]=React$2.useState(!0),[k,F]=React$2.useState(!1),M=n.reduce((ce,fe)=>ce+fe.areas.length,0),U=ce=>{S.current=[...S.current,...ce]},$=`frame-image-click-puzzle_${E}_${e}`,B=React$2.useMemo(()=>l({type:"loadObjectStatus",payload:$}),[l,$]),J=React$2.useCallback(ce=>{l({type:"addPoints",complex:!0,finish:!0,payload:[...S.current,...ce]}),l({type:"passPuzzle"})},[l]),ne=React$2.useCallback(()=>{N(!1),S.current=[],_(0),g(0),T({}),P(!0),F(!0)},[]),ie=ce=>l({type:"translate",payload:ce}),Y=()=>{P(!0)},re={firstTryForFrame:D,list:n,description:t,index:E,puzzlesCompiledRef:w,framesCompleted:v,handleFinish:J,setRewards:U,accRewards:S,setSelected:_,selected:b,setIndex:g,setFramesCompleted:T,loadPuzzleStatus:B,soundActions:o,setResolveAction:h,disableExit:d,translateFromParent:ie,setInfo:f,emitEvent:l,nodeId:e,emitResetPuzzle:ne,resetValues:k,setResetValues:F,setPuzzlesAutoCompleted:R,puzzlesAutoCompleted:x,emitOpenPopupCounterInfo:()=>{E===0&&P(!1)},pause:u,keyboardControl:p,totalCorrects:M};return jsxRuntimeExports.jsxs("div",{className:"puzzle-frame",children:[jsxRuntimeExports.jsx(CurrentFramePuzzle,{...re}),jsxRuntimeExports.jsxs("div",{className:"puzzle-frame__content",children:[jsxRuntimeExports.jsx("div",{className:"puzzle-frame__controls",children:jsxRuntimeExports.jsx("div",{className:"puzzle-frame__progress",children:jsxRuntimeExports.jsx("div",{"data-testid":"puzzle-frame-progress",style:{width:`${b/M*100}%`},className:"puzzle-frame__progress--handle"})})}),a?jsxRuntimeExports.jsx("button",{"data-testid":"puzzle-frame-counter-button",disabled:C,"aria-hidden":C,type:"button",className:"puzzle-frame__info",onClick:Y,children:jsxRuntimeExports.jsx(Counter,{current:b,total:M,tooltip:!C,emitEvent:l})}):null]})]})}FrameImageClickComponent.defaultProps={description:"",context:{},nodeId:0,showFrames:!1};function EditButton({action:l,className:e}){return jsxRuntimeExports.jsx("div",{role:"button",tabIndex:0,"aria-label":`${l} edit button`,onKeyUp:()=>{},className:`puzzle--webBuilder__edit ${e}`,onClick:l,children:jsxRuntimeExports.jsx("span",{className:"icon-fb-edit"})})}EditButton.defaultProps={action:()=>{},className:""};const path="https://min.gamelearn.io/css-resources/gamelearn/resources/",imagesOptions=[{name:"webbuilder.imageOptions.image1",src:"Amor.jpg"},{name:"webbuilder.imageOptions.image2",src:"Bancorp.svg"},{name:"webbuilder.imageOptions.image3",src:"Amanda.jpg"},{name:"webbuilder.imageOptions.image4",src:"keyboard.jpg"},{name:"webbuilder.imageOptions.image5",src:"Melanie.jpg"},{name:"webbuilder.imageOptions.image6",src:"Sharon.jpg"},{name:"webbuilder.imageOptions.image7",src:"Bankex.svg"},{name:"webbuilder.imageOptions.image8",src:"Futbol.jpg"},{name:"webbuilder.imageOptions.image9",src:"GBL.svg"},{name:"webbuilder.imageOptions.image10",src:"Fooder.jpg"},{name:"webbuilder.imageOptions.image11",src:"Corporate.jpg"},{name:"webbuilder.imageOptions.image12",src:"Bank of Zamunda.svg"},{name:"webbuilder.imageOptions.image13",src:"mindfullness.jpg"},{name:"webbuilder.imageOptions.image14",src:"Nature.jpg"},{name:"webbuilder.imageOptions.image15",src:"Shopper.jpg"},{name:"webbuilder.imageOptions.image16",src:"Lab.jpg"}],colorOptions=["#c66a46","#3c9dc0","#6236ff","#21254f"],colorOptions2=["#39b7b9","#25a1d4","#f5a623","#080269"],titleOptions=[{title:"webbuilder.bank.titleOptions.title1.text",desc:"webbuilder.bank.titleOptions.title1.description"},{title:"webbuilder.bank.titleOptions.title2.text",desc:"webbuilder.bank.titleOptions.title2.description"},{title:"webbuilder.bank.titleOptions.title3.text",desc:"webbuilder.bank.titleOptions.title3.description"},{title:"webbuilder.bank.titleOptions.title4.text",desc:"webbuilder.bank.titleOptions.title4.description"},{title:"webbuilder.bank.titleOptions.title5.text",desc:"webbuilder.bank.titleOptions.title5.description"}],bankProps={backgroundImage:imagesOptions[10].src,backgroundLogo:imagesOptions[11].src,backgroundColor:"#21254f",btnColor:"#25a1d4"},BankTemplate={header:{color:bankProps.backgroundColor,logo:bankProps.backgroundLogo},body:{bankTitle:titleOptions[0].title,bankDesc:titleOptions[0].desc,bgImage:bankProps.backgroundImage,btnColor:bankProps.btnColor}};function BankHeader({showingReference:l,usingTemplate:e,openPopup:n,onSave:t,header:a,translate:o}){return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[l?jsxRuntimeExports.jsx("div",{className:"bank--edit__logo",children:jsxRuntimeExports.jsx("img",{src:path+e.header.logo,alt:"",title:""})}):jsxRuntimeExports.jsxs("div",{className:"bank--edit__logo",children:[a.logo?jsxRuntimeExports.jsx("img",{src:path+a.logo,alt:"",title:""}):jsxRuntimeExports.jsxs("span",{children:[jsxRuntimeExports.jsx("b",{children:o("webbuilder.bank.header.title")}),jsxRuntimeExports.jsx("b",{children:o("webbuilder.bank.header.logo")})]}),jsxRuntimeExports.jsx(EditButton,{action:()=>n("PopupImageComponent",{text:"Documents",images:imagesOptions,onSave:d=>t({logo:d})})})]}),jsxRuntimeExports.jsxs("div",{className:"flex align-center",children:[jsxRuntimeExports.jsxs("ul",{className:"bank--navigation",children:[jsxRuntimeExports.jsx("li",{className:"bank-navigation__item",children:o("webbuilder.bank.header.account")}),jsxRuntimeExports.jsx("li",{className:"bank-navigation__item",children:o("webbuilder.bank.header.invest")}),jsxRuntimeExports.jsx("li",{className:"bank-navigation__item",children:o("webbuilder.bank.header.loans")}),jsxRuntimeExports.jsx("li",{className:"bank-navigation__item",children:o("webbuilder.bank.header.mortgage")})]}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>n("PopupColorComponent",{colors:colorOptions,onSave:d=>t({color:d})})})]})]})}BankHeader.defaultProps={showingReference:!1,usingTemplate:{},openPopup:()=>{},onSave:()=>{},header:{}};BankHeader.propTypes={showingReference:PropTypes.bool,usingTemplate:PropTypes.shape({}),openPopup:PropTypes.func,onSave:PropTypes.func,header:PropTypes.shape({})};function FacebookHeader({showingReference:l,usingTemplate:e,header:n,translate:t}){const a=l?e.header.userImage:n.userImage,o=l?e.header.username:n.username;return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("span",{className:"facebook--header__logo",children:jsxRuntimeExports.jsx("span",{className:"icon-fb-logo"})}),jsxRuntimeExports.jsxs("span",{className:"facebook--header__user",children:[jsxRuntimeExports.jsx("span",{className:"facebook--header__user--circle",style:{backgroundImage:`url(${path+a})`}}),jsxRuntimeExports.jsx("span",{className:"facebook--header__user--text",children:t(o||"webbuilder.facebook.header.userName")})]})]})}FacebookHeader.defaultProps={showingReference:!1,usingTemplate:{},header:{}};function WebBuilderHeader(l){const{isFacebook:e,header:n,showingReference:t,usingTemplate:a}=l,o=t?a.header.color:n.color;return jsxRuntimeExports.jsx("div",{className:`puzzle--webBuilder__header ${e?"":"bank"}`,style:e?{}:{backgroundColor:`${o}`},children:jsxRuntimeExports.jsx("div",{className:`${e?"facebook":"bank"}--header`,children:e?jsxRuntimeExports.jsx(FacebookHeader,{...l}):jsxRuntimeExports.jsx(BankHeader,{...l})})})}WebBuilderHeader.defaultProps={isFacebook:!1,showingReference:!1,usingTemplate:{},header:{}};WebBuilderHeader.propTypes={isFacebook:PropTypes.bool,showingReference:PropTypes.bool,usingTemplate:PropTypes.shape({}),header:PropTypes.shape({})};const facebookProps={backgroundImage:imagesOptions[12].src,backgroundUser:imagesOptions[5].src},userOptions=["webbuilder.userOptions.user1","webbuilder.userOptions.user2","webbuilder.userOptions.user3"],workOptions=["webbuilder.workOptions.work1","webbuilder.workOptions.work2","webbuilder.workOptions.work3"],studiesOptions=["webbuilder.studiesOptions.study1","webbuilder.studiesOptions.study2","webbuilder.studiesOptions.study3"],mailOptions=["webbuilder.mailOptions.mail1","webbuilder.mailOptions.mail2","webbuilder.mailOptions.mail3"],homeOptions=["webbuilder.homeOptions.home1","webbuilder.homeOptions.home2","webbuilder.homeOptions.home3"],FacebookTemplate={header:{username:userOptions[1],userImage:facebookProps.backgroundUser,bgImage:facebookProps.backgroundImage},body:{work:workOptions[2],home:homeOptions[1],studies:studiesOptions[0],mail:mailOptions[0]}};function WebBuilderFront({showingReference:l,usingTemplate:e,header:n,onSave:t,translate:a,openPopup:o}){const d=l?e.header.userImage:n.userImage,h=l?e.header.username:n.username,f=l?e.header.bgImage:n.bgImage;return jsxRuntimeExports.jsxs("div",{className:"puzzle--webBuilder__front",style:{backgroundImage:`url(${path+f})`},children:[jsxRuntimeExports.jsxs("div",{className:"facebook--user",children:[jsxRuntimeExports.jsx("span",{className:"facebook--user__circle",style:{backgroundImage:`url(${path+d})`},children:l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{o("PopupImageComponent",{images:imagesOptions,onSave:u=>t({userImage:u})})}})}),jsxRuntimeExports.jsx("span",{className:"facebook--user__text",children:a(h||"webbuilder.facebook.header.userName")}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{o("PopupTextComponent",{options:userOptions,onSave:u=>t({username:u})})}})]}),l?null:jsxRuntimeExports.jsx(EditButton,{className:"position--absolute right top",action:()=>{o("PopupImageComponent",{images:imagesOptions,onSave:u=>t({bgImage:u})})}})]})}WebBuilderFront.defaultProps={showingReference:!1,usingTemplate:{},openPopup:()=>{},onSave:()=>{},header:{}};WebBuilderFront.propTypes={showingReference:PropTypes.bool,usingTemplate:PropTypes.shape({}),openPopup:PropTypes.func,onSave:PropTypes.func,header:PropTypes.shape({})};function FacebookBody({showingReference:l,usingTemplate:e,body:n,onSave:t,openPopup:a,translate:o}){const d=l?e.body.work:n.work,h=l?e.body.studies:n.studies,f=l?e.body.home:n.home,u=l?e.body.mail:n.mail;return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("ul",{className:"facebook--sidebar",dir:"auto",children:[jsxRuntimeExports.jsxs("li",{className:`facebook--sidebar__item ${d||l?"selected":""}`,children:[jsxRuntimeExports.jsxs("div",{className:"flex align-center",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-work"}),jsxRuntimeExports.jsx("span",{className:"text",children:o(d||"webbuilder.facebook.body.work")})]}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{a("PopupTextComponent",{options:workOptions,onSave:p=>t({work:p})})}})]}),jsxRuntimeExports.jsxs("li",{className:`facebook--sidebar__item ${h||l?"selected":""}`,children:[jsxRuntimeExports.jsxs("div",{className:"flex align-center",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-education"}),jsxRuntimeExports.jsx("span",{className:"text",children:o(h||"webbuilder.facebook.body.studies")})]}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{a("PopupTextComponent",{options:studiesOptions,onSave:p=>t({studies:p})})}})]}),jsxRuntimeExports.jsxs("li",{className:`facebook--sidebar__item ${f||l?"selected":""}`,children:[jsxRuntimeExports.jsxs("div",{className:"flex align-center",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-home"}),jsxRuntimeExports.jsx("span",{className:"text",children:o(f||"webbuilder.facebook.body.home")})]}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{a("PopupTextComponent",{options:homeOptions,onSave:p=>t({home:p})})}})]})]}),jsxRuntimeExports.jsxs("div",{className:"facebook--board",children:[jsxRuntimeExports.jsx("div",{className:"facebook--mail__label",children:"E-mail"}),jsxRuntimeExports.jsxs("div",{className:`facebook--mail__box ${u||l?"active":""}`,children:[jsxRuntimeExports.jsxs("div",{className:"flex align-center",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-mail"}),jsxRuntimeExports.jsx("span",{className:"text",children:o(u||"webbuilder.facebook.body.email")})]}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{a("PopupTextComponent",{options:mailOptions,onSave:p=>t({mail:p})})}})]}),jsxRuntimeExports.jsxs("div",{className:"facebook--tabs",children:[jsxRuntimeExports.jsxs("div",{className:"facebook--tabs__item",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-edit"}),o("webbuilder.facebook.body.editPost")]}),jsxRuntimeExports.jsxs("div",{className:"facebook--tabs__item",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-photo"}),o("webbuilder.facebook.body.editPhoto")]}),jsxRuntimeExports.jsxs("div",{className:"facebook--tabs__item",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-video"}),o("webbuilder.facebook.body.liveVideo")]}),jsxRuntimeExports.jsxs("div",{className:"facebook--tabs__item",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-events"}),o("webbuilder.facebook.body.facebookEvent")]})]}),jsxRuntimeExports.jsxs("div",{className:"facebook--thinking",children:[jsxRuntimeExports.jsxs("div",{className:"facebook--textarea",children:[jsxRuntimeExports.jsx("div",{className:"facebook--textarea__circle"}),jsxRuntimeExports.jsx("div",{className:"facebook--textarea__placeholder",children:o("webbuilder.facebook.body.think")})]}),jsxRuntimeExports.jsxs("div",{className:"facebook--chips",children:[jsxRuntimeExports.jsx("span",{className:"facebook--chips__item",children:o("webbuilder.facebook.body.photo")}),jsxRuntimeExports.jsx("span",{className:"facebook--chips__item",children:o("webbuilder.facebook.body.label")}),jsxRuntimeExports.jsx("span",{className:"facebook--chips__item",children:o("webbuilder.facebook.body.feeling")})]})]})]})]})}FacebookBody.defaultProps={showingReference:!1,usingTemplate:{},openPopup:()=>{},onSave:()=>{},body:{}};function BankBody({showingReference:l,usingTemplate:e,body:n,onSave:t,openPopup:a,translate:o}){const d=l?e.body.bgImage:n.bgImage,h=l?e.body.btnColor:n.btnColor,f=o(l?e.body.bankTitle:"webbuilder.bank.body.image.title"),u=o(l?e.body.bankDesc:"webbuilder.bank.body.image.description");return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"bank--image__front",style:{backgroundImage:`url(${path+d})`},children:jsxRuntimeExports.jsxs("div",{className:"bank--image__text",children:[jsxRuntimeExports.jsx("span",{className:"title",children:n.bankTitle&&!l?o(n.bankTitle):f}),jsxRuntimeExports.jsx("span",{children:n.bankDesc&&!l?o(n.bankDesc):u}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{a("PopupTextComponent",{options:titleOptions,onSave:p=>t({bankTitle:p.title,bankDesc:p.desc})})}}),l?null:jsxRuntimeExports.jsx(EditButton,{className:"position--absolute top right",action:()=>{a("PopupImageComponent",{images:imagesOptions,onSave:p=>t({bgImage:p})})}})]})}),jsxRuntimeExports.jsx("div",{dir:"auto",className:"bank--sidebar",children:jsxRuntimeExports.jsxs("div",{className:"bank--form",children:[jsxRuntimeExports.jsx("div",{className:"bank--form__title",children:o("webbuilder.bank.body.password.title")}),jsxRuntimeExports.jsxs("div",{className:"bank--form__group",children:[jsxRuntimeExports.jsx("div",{className:"bank--form__label",children:o("webbuilder.bank.body.password.current")}),jsxRuntimeExports.jsx("input",{disabled:!0,className:"bank--form__input",type:"password",placeholder:"********"}),jsxRuntimeExports.jsx("span",{className:"icon-circle-check"})]}),jsxRuntimeExports.jsxs("div",{className:"bank--form__group",children:[jsxRuntimeExports.jsx("div",{className:"bank--form__label",children:o("webbuilder.bank.body.password.new")}),jsxRuntimeExports.jsx("input",{disabled:!0,className:"bank--form__input",type:"password",placeholder:"********"}),jsxRuntimeExports.jsx("span",{className:"icon-circle-check"})]}),jsxRuntimeExports.jsxs("div",{className:"bank--form__group",children:[jsxRuntimeExports.jsx("div",{className:"bank--form__label",children:o("webbuilder.bank.body.password.confirm")}),jsxRuntimeExports.jsx("input",{disabled:!0,className:"bank--form__input",type:"password",placeholder:"********"}),jsxRuntimeExports.jsx("span",{className:"icon-circle-check"})]}),jsxRuntimeExports.jsxs("div",{className:"bank--form__buttons",children:[jsxRuntimeExports.jsx("button",{type:"button",className:"bank--form__btn",style:{backgroundColor:`${h}`},children:o("webbuilder.save")}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{a("PopupColorComponent",{colors:colorOptions2,onSave:p=>t({btnColor:p})})}})]})]})})]})}function WebBuilderBody(l){const{isFacebook:e}=l;return jsxRuntimeExports.jsx("div",{className:`puzzle--webBuilder__body ${e?"":"bank"}`,children:e?jsxRuntimeExports.jsx(FacebookBody,{...l}):jsxRuntimeExports.jsx(BankBody,{...l})})}WebBuilderBody.defaultProps={isFacebook:!1};WebBuilderBody.propTypes={isFacebook:PropTypes.bool};function CurrentButton({translate:l,backActive:e,action:n}){return jsxRuntimeExports.jsx("div",{className:"puzzle--webBuilder__topbar--buttons",children:jsxRuntimeExports.jsx("button",{type:"button",className:"puzzle--webBuilder__topbar--buttons__item",onClick:n,children:l(`webbuilder.${e?"return":"showReference"}`)})})}function WebBuilderTopBar({backActive:l,displayButton:e,clickAction:n,translate:t}){return jsxRuntimeExports.jsxs("div",{className:"puzzle--webBuilder__topbar",children:[e?jsxRuntimeExports.jsx(CurrentButton,{backActive:l,action:n,translate:t}):null,jsxRuntimeExports.jsx("div",{className:"puzzle--webBuilder__title",children:"web builder 3.0"})]})}function FeedbackResult({onNext:l,success:e,showButton:n,translate:t}){const a=t(e?"webbuilder.feedback.successTitle":"webbuilder.feedback.failTitle"),o=t(e?"webbuilder.feedback.success":"webbuilder.feedback.fail");return jsxRuntimeExports.jsxs("div",{dir:"auto",className:`puzzle--webBuilder__feedback bottom ${e?"success":"failed"}`,style:e?{zIndex:"11"}:{},children:[jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("div",{className:"title",children:a}),jsxRuntimeExports.jsx("div",{className:"description",children:o})]}),n?jsxRuntimeExports.jsx("button",{type:"button",className:`gat--btn gat--btn__secondary ${e?"green":"red"}`,onClick:l,style:{marginRight:"64px"},children:t("webbuilder.continue")}):null]})}FeedbackResult.defaultProps={onNext:()=>{},success:!1,showButton:!0};function PublishButton({onPublish:l,translate:e}){return jsxRuntimeExports.jsx("div",{role:"button",tabIndex:0,onKeyUp:()=>{},"aria-label":"publish",className:"position--absolute bottom center",onClick:l,children:jsxRuntimeExports.jsxs("div",{className:"gat--btn gat--btn__primary",children:[jsxRuntimeExports.jsx("span",{className:"icon-download-cloud"}),e("webbuilder.publish")]})})}PublishButton.defaultProps={onPublish:()=>{}};function PopupColorComponent({colors:l,onSave:e,closingAction:n,translate:t,soundActions:a}){const[o]=a,[d,h]=React$2.useState(),f=d===null;return jsxRuntimeExports.jsx("div",{className:"popup--layer",children:jsxRuntimeExports.jsxs("div",{className:"popup",children:[jsxRuntimeExports.jsx("div",{className:"popup--info",children:jsxRuntimeExports.jsx("span",{className:"popup--info__item",children:jsxRuntimeExports.jsxs("div",{className:"puzzle--webBuilder__colors",children:[jsxRuntimeExports.jsx("div",{className:"puzzle--webBuilder__colors--title",children:jsxRuntimeExports.jsx("span",{children:t("webbuilder.colorSelect.title")})}),jsxRuntimeExports.jsx("div",{className:"puzzle--webBuilder__colors--items",children:l.map(u=>jsxRuntimeExports.jsx("div",{className:`puzzle--webBuilder__color--select ${d===u?"selected":""}`,style:{borderColor:`${u}`},onClick:()=>h(u),children:jsxRuntimeExports.jsx("span",{style:{backgroundColor:`${u}`}})},u+Date.now()))})]})})}),jsxRuntimeExports.jsxs("div",{className:"popup--buttons",children:[jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__secondary",onClick:n,children:jsxRuntimeExports.jsx("span",{children:t("webbuilder.cancel")})}),jsxRuntimeExports.jsx("button",{type:"button",className:`gat--btn gat--btn__primary ${f?"disabled":""}`,onClick:f?null:()=>{o("click-ui"),e(d)},children:t("webbuilder.save")})]})]})})}PopupColorComponent.defaultProps={closingAction:()=>{},onSave:()=>{},colors:{}};PopupColorComponent.propTypes={closingAction:PropTypes.func,onSave:PropTypes.func,colors:PropTypes.arrayOf(PropTypes.string)};function PopupImageComponent({images:l,onSave:e,closingAction:n,translate:t,soundActions:a}){const[o]=a,[d,h]=React$2.useState(),f=!d;return jsxRuntimeExports.jsx("div",{className:"folder-popup",children:jsxRuntimeExports.jsxs("div",{className:"folder-popup__content",children:[jsxRuntimeExports.jsxs("div",{className:"folder-popup__header",children:[jsxRuntimeExports.jsx("div",{}),jsxRuntimeExports.jsxs("div",{className:"folder-popup__title",children:[jsxRuntimeExports.jsx("span",{className:"folder-popup__icon-header icon-fb-search"}),jsxRuntimeExports.jsx("span",{children:t("webbuilder.imageSelect.title")})]}),jsxRuntimeExports.jsx("button",{onClick:n,className:"folder-popup__close",type:"button",children:jsxRuntimeExports.jsx("span",{className:"icon-close-fit"})})]}),jsxRuntimeExports.jsxs("div",{className:"folder-popup__body",children:[jsxRuntimeExports.jsx("div",{className:"folder-popup__scroll",children:jsxRuntimeExports.jsx("ul",{className:"folder-popup__list",children:l.map(u=>jsxRuntimeExports.jsxs("li",{className:"folder-item-file",children:[jsxRuntimeExports.jsx("div",{className:"folder-item-file__imagewrap",onClick:()=>h(u),onKeyUp:()=>{},role:"button",tabIndex:0,children:jsxRuntimeExports.jsx("img",{alt:u.src,src:path+u.src})}),jsxRuntimeExports.jsx("div",{className:"folder-item-file__title",title:u.src,children:u.src})]},u.src+Date.now()))})}),jsxRuntimeExports.jsxs("div",{className:"folder-popup__buttons",children:[jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__secondary",onClick:n,children:t("webbuilder.cancel")}),jsxRuntimeExports.jsx("button",{type:"button",className:`gat--btn gat--btn__primary ${f?"disabled":""}`,onClick:f?null:()=>{o("click-ui"),e(d.src)},children:t("webbuilder.open")})]})]})]})})}PopupImageComponent.defaultProps={closingAction:()=>{},onSave:()=>{},images:[]};function Selected({item:l,translate:e}){return l instanceof Object?e(l.title.toString()):jsxRuntimeExports.jsx("span",{children:e(l||"webbuilder.textSelect.title")})}function PopupTextComponent({closingAction:l,onSave:e,options:n,translate:t,soundActions:a}){const[o]=a,[d,h]=React$2.useState(""),f=d==="",[u,p]=React$2.useState(!1),x=u?"puzzle--webBuilder__select--item open":"puzzle--webBuilder__select--item",R=()=>{p(!u)};return jsxRuntimeExports.jsx("div",{className:"popup--layer",children:jsxRuntimeExports.jsxs("div",{className:"popup",children:[jsxRuntimeExports.jsx("div",{className:"popup--info",children:jsxRuntimeExports.jsx("span",{className:"popup--info__item",children:jsxRuntimeExports.jsxs("div",{className:"puzzle--webBuilder__select",children:[jsxRuntimeExports.jsx("div",{className:"puzzle--webBuilder__select--label",children:jsxRuntimeExports.jsx("div",{dir:"auto",children:t("webbuilder.textSelect.title")})}),jsxRuntimeExports.jsxs("div",{dir:"auto",className:x,onClick:()=>R(),role:"presentation",children:[jsxRuntimeExports.jsx(Selected,{item:d,translate:t}),jsxRuntimeExports.jsx("span",{className:"icon-down-arrow"}),jsxRuntimeExports.jsx("div",{className:"puzzle--webBuilder__dropdown",children:n.map(S=>S instanceof Object?jsxRuntimeExports.jsxs("span",{role:"button",tabIndex:0,onKeyUp:()=>{},className:"puzzle--webBuilder__dropdown--option",onClick:()=>{h(S)},children:[jsxRuntimeExports.jsx("span",{children:t(S.title)}),jsxRuntimeExports.jsx("span",{className:"subtitle",children:t(S.desc)})]},S.title):jsxRuntimeExports.jsx("span",{role:"button",tabIndex:0,onKeyUp:()=>{},className:"puzzle--webBuilder__dropdown--option",onClick:()=>{h(S)},children:t(S)},S))})]})]})})}),jsxRuntimeExports.jsxs("div",{className:"popup--buttons",children:[jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__secondary",onClick:l,children:t("webbuilder.cancel")}),jsxRuntimeExports.jsx("button",{type:"button",className:`gat--btn gat--btn__primary ${f?"disabled":""}`,disabled:f,onClick:()=>{o("click-ui"),e(d)},children:t("webbuilder.save")})]})]})})}const POPUPS=Object.freeze(Object.defineProperty({__proto__:null,PopupColorComponent,PopupImageComponent,PopupTextComponent},Symbol.toStringTag,{value:"Module"})),defaultHeader={username:null,logo:null,userImage:null,bgImage:null,color:""},defaultBody={bankTitle:null,color:"",btnColor:"",work:null,home:null,mail:null,studies:null,bgImage:null};function PopupComponent({type:l,close:e,translate:n,soundActions:t,...a}){const o=POPUPS[l];return o?jsxRuntimeExports.jsx(o,{type:l,...a.props,closingAction:e,translate:n,soundActions:t}):null}function DisplayingFeedback({feed:l,resolved:e,translate:n,onNext:t}){return l==="success"?jsxRuntimeExports.jsx(FeedbackResult,{success:!0,showButton:!e,onNext:t,translate:n}):l==="failed"?jsxRuntimeExports.jsx(FeedbackResult,{onNext:t,translate:n}):null}function WebBuilderPuzzleComponent({type:l,info:e,emitEvent:n,setResolveAction:t,soundActions:a,disableExit:o,keyboardControl:d}){const[h,f]=React$2.useState(!1),[u,p]=React$2.useState(!1),[x,R]=React$2.useState(!1),[S,E]=React$2.useState(!1),[g,v]=React$2.useState(!1),[T,b]=React$2.useState(null),_=l==="facebook",w=_?FacebookTemplate:BankTemplate,[C,P]=React$2.useState({type:"",props:{}}),[D,N]=React$2.useState(defaultHeader),[k,F]=React$2.useState(defaultBody),[M]=a,U=H=>n({type:"translate",payload:H}),$=()=>{P({type:"",props:{}})},B=(H,W={})=>{P({type:H,props:W})},J=()=>{if(e.solution){const{rewards:H}=e.solution.right,{rewards:W}=e.solution.wrong;M(x?"fail":"score"),n({type:"addPoints",complex:!0,finish:!0,payload:x?W:H}),n({type:"passPuzzle"})}},ne=d({disabled:T!=="success",forward:J,escape:J});React$2.useEffect(()=>ne(),[ne]);const ie=(H,W)=>{const V=Object.keys(H),z={existing:0,equal:0};return V.forEach(Q=>{W[Q]!==null&&W[Q]!==""&&(z.existing+=1),H[Q]===W[Q]&&(z.equal+=1)}),z},Y=(H,W)=>{const V=Object.keys(w.header).length,z=Object.keys(w.body).length,Q=ie(w.header,H),ee=ie(w.body,W),le=ee.existing+Q.existing===V+z,ue=ee.equal+Q.equal===V+z;return{exist:le,equal:ue}},q=()=>{M("click-ui");const{exist:H,equal:W}=Y(D,k);n({type:"hidePuzzleButtons",payload:!0}),H&&!W?(g&&v(!1),b("failed"),R(!0),n({type:"failPuzzle"})):H&&W&&(g&&(o(!1),v(!1)),E(!0),b("success"))},re=H=>{if(Object.keys(H).length>0){const W={...D,...H};N(W),$();const{exist:V}=Y(W,k);v(!!V)}},ce=H=>{if(Object.keys(H).length>0){const W={...k,...H};F(W),$();const{exist:V}=Y(D,W);v(!!V)}};React$2.useEffect(()=>{t(H=>{p(!0),b("success"),f(!1),setTimeout(()=>{b(""),H()},4e3)}),o(!0)},[t,o,e.resolve.rewards,n]);const fe={showingReference:h||u,isFacebook:_,openPopup:B,usingTemplate:w,translate:U},te=()=>{T==="failed"?(b(null),n({type:"hidePuzzleButtons",payload:!1})):T==="success"&&J()};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(PopupComponent,{type:C.type,...C,close:$,soundActions:a,translate:U}),jsxRuntimeExports.jsxs("div",{className:"puzzle--webBuilder",children:[jsxRuntimeExports.jsx(WebBuilderTopBar,{backActive:h,displayButton:!u&&!S,translate:U,clickAction:()=>{M("click-ui"),f(!h)}}),jsxRuntimeExports.jsx(WebBuilderHeader,{...fe,header:D,onSave:re}),_?jsxRuntimeExports.jsx(WebBuilderFront,{...fe,header:D,onSave:re}):null,jsxRuntimeExports.jsx(WebBuilderBody,{...fe,body:k,onSave:ce})]}),!g&&!h?jsxRuntimeExports.jsx(DisplayingFeedback,{feed:T,onNext:te,resolved:u,translate:U}):null,g&&!h?jsxRuntimeExports.jsx(PublishButton,{onPublish:q,translate:U}):null]})}function CardImage({img:l}){const n=(l||{}).url;return jsxRuntimeExports.jsx("img",{src:n,alt:""})}function CardText({text:l,hasImage:e}){return l?jsxRuntimeExports.jsx("div",{className:`card-selector-item__textbox ${e?"":"card-selector-item__textbox--noimage"}`,children:jsxRuntimeExports.jsx("div",{className:"card-selector-item__text",children:jsxRuntimeExports.jsx("span",{children:l||"_"})})}):null}function CardNumber({order:l}){return l?jsxRuntimeExports.jsx("div",{className:"card-selector-item__order",children:jsxRuntimeExports.jsx("div",{children:l})}):null}function CardSuccess({order:l}){return jsxRuntimeExports.jsxs("div",{className:"card-selector-item__feedback card-selector-item__feedback--success ",children:[jsxRuntimeExports.jsx(CardNumber,{order:l}),jsxRuntimeExports.jsx("div",{className:"card-selector-item__feedbackicon",children:jsxRuntimeExports.jsx("div",{className:"icon-check-circle-black"})})]})}function CardFail(){return jsxRuntimeExports.jsx("div",{className:"card-selector-item__feedback card-selector-item__feedback--error",children:jsxRuntimeExports.jsx("div",{className:"card-selector-item__feedbackicon",children:jsxRuntimeExports.jsx("div",{className:"icon-error-circle-black"})})})}function CardContainer({flipped:l,correct:e,order:n,wrongOrder:t,isEmpty:a}){return!a&&l&&e&&!t?jsxRuntimeExports.jsx(CardSuccess,{order:n}):!a&&l?jsxRuntimeExports.jsx(CardFail,{}):null}function Card({card:l,handleClick:e,flipped:n,cardIndex:t,wrongOrder:a}){const o=()=>!(l.img||l.text),d=()=>!!(n&&!l.correct||!n);return jsxRuntimeExports.jsxs("button",{"data-testid":`card-${t}`,type:"button",order:l.order,onClick:()=>{!o()&&d()&&e(t)},className:`unset-button card-selector-item ${o()?"card-selector-item--empty":""}`,"aria-label":l.text?l.text:null,children:[jsxRuntimeExports.jsx(CardImage,{img:l.img}),jsxRuntimeExports.jsx(CardText,{text:l.text,hasImage:!!l.img}),jsxRuntimeExports.jsx(CardContainer,{isEmpty:o(),flipped:n,wrongOrder:a,order:l.order,correct:l.correct})]})}Card.defaultProps={handleClick:()=>{},documentsDict:{},card:{},flipped:!1,wrongOrder:!1,cardIndex:0};Card.propTypes={wrongOrder:PropTypes.bool,handleClick:PropTypes.func,cardIndex:PropTypes.number,flipped:PropTypes.bool,documentsDict:PropTypes.shape({}),card:PropTypes.shape({correct:PropTypes.bool,order:PropTypes.number,text:PropTypes.string,imgId:PropTypes.string,status:PropTypes.string})};function Board({cards:l,currentOrder:e,setCurrentOrder:n,handleError:t,feedbackIsShown:a,resolvePuzzle:o,soundActions:d,onFinish:h,handleSuccess:f,resolveWithAnyCard:u}){const[p,x]=React$2.useState(Array(l.length).fill(!1)),[R,S]=React$2.useState(Array(l.length).fill(!1)),[E,g]=React$2.useState(0),[v,T]=React$2.useState(!1),[b]=d,_=l.filter(M=>M.correct===!0).length,w=l.filter(M=>M.order).length>0,C=React$2.useCallback(()=>{x(Array(l.length).fill(!1)),S(Array(l.length).fill(!1)),g(0),n(1)},[l.length,n]),P=()=>{setTimeout(()=>{C()},1e3)};function D(M,U=M){const $=Array.from(p);$[M]=U,x($)}const N=React$2.useCallback(()=>{const M=[];l.forEach((U,$)=>{U.correct===!0&&M.push($)}),x(M)},[l]);React$2.useEffect(()=>{o&&N()},[N,o]),React$2.useEffect(()=>{(u&&E||E===_&&_>0)&&(h(),T(!0),g(0))},[E,h,_,u]);const k=M=>{D(M),f(l[M].id||null),g(E+1)},F=M=>{var U,$;if(!v&&!a)if(b("click-ui"),l[M].correct&&!w)k(M);else if(w){if(l[M].order===e)n(e+1),k(M);else if(D(M),l[M].order!==e){const B=Array.from(R);B[M]=M,S(B),t(((U=l[M])==null?void 0:U.id)||null,l[M].correct),P()}}else t((($=l[M])==null?void 0:$.id)||null),D(M),setTimeout(()=>{D(M,!1)},1e3)};return jsxRuntimeExports.jsx("div",{className:`cards-selector__content cards-selector__content-${l.length}`,children:l&&l.map((M,U)=>jsxRuntimeExports.jsx(Card,{setCurrentOrder:n,card:M,handleClick:()=>F(U),flipped:p.includes(U),wrongOrder:R.includes(U),cardIndex:U},`cardPuzzle ${l.indexOf(M)}`))})}Board.defaultProps={setCurrentOrder:()=>{},handleError:()=>{},onFinish:()=>{},handleSuccess:()=>{},documentsDict:{},cards:[],currentOrder:1,resolvePuzzle:!1,feedbackIsShown:!1,resolveWithAnyCard:!1};function CardsSelectorPuzzleComponent({emitEvent:l,info:e,cards:n,resolveWithAnyCard:t,specificFeedbacks:a,disableExit:o,setResolveAction:d,soundActions:h,backgroundImage:f,nodeId:u,keyboardControl:p,hideBackgroundImageTheme:x=!1}){var te,H;const[R,S]=React$2.useState(!1),[E,g]=React$2.useState(1),[v,T]=React$2.useState(!1),[b,_]=React$2.useState(!1),[w,C]=React$2.useState(!1),[P,D]=React$2.useState([]),[N,k]=React$2.useState(!1),[F,M]=React$2.useState(""),[U]=h,$=W=>l({type:"translate",payload:W}),B=`cards-selector-puzzle_${u}`,J=React$2.useCallback(W=>{T(!1),C(!1),l({type:"hidePuzzleButtons",payload:!1}),l({type:"addPoints",complex:!0,finish:!0,payload:W}),l({type:"passPuzzle"})},[l]),ne=React$2.useCallback(()=>{var Q,ee;l({type:"hidePuzzleButtons",payload:!0}),T(!0);const{rewards:W}=((Q=e==null?void 0:e.solution)==null?void 0:Q.right)||{},V=((ee=a==null?void 0:a.correctFeedbacks)==null?void 0:ee.map(le=>le.rewards).flat())||[],z=[...P,...W,...V];U("score"),J(z)},[P,J,l,(te=e==null?void 0:e.solution)==null?void 0:te.right,U,a==null?void 0:a.correctFeedbacks]),ie=()=>{S(!0),e.solution.right.desc&&!(a!=null&&a.specificCorrectFeedbacks)&&M(e.solution.right.desc),C(!0)},Y=()=>{v||R?ne():(T(!1),o(!1),C(!1),l({type:"hidePuzzleButtons",payload:!1})),M("")},q=W=>{if(_(!0),a!=null&&a.specificCorrectFeedbacks){const V=a.correctFeedbacks.find(z=>z.id===W);V!=null&&V.desc&&(M(V.desc),C(!0))}U("score"),l({type:"hidePuzzleButtons",payload:!0})},re=(W,V=!1)=>{var z,Q;if(_(!1),V)M((z=e.orderFeedback)==null?void 0:z.desc),C(!0),D([...P,...((Q=e.orderFeedback)==null?void 0:Q.rewards)||[]]);else if(a!=null&&a.specificWrongFeedbacks){const ee=a.wrongFeedbacks.find(le=>le.id===W);ee!=null&&ee.desc?(M(ee.desc),C(!0)):(C(!0),setTimeout(()=>{Y(),l({type:"hidePuzzleButtons",payload:!1})},2e3)),D([...P,...(ee==null?void 0:ee.rewards)||[]])}else e.solution.wrong.desc?(M(e.solution.wrong.desc),C(!0)):(C(!0),setTimeout(()=>{Y(),l({type:"hidePuzzleButtons",payload:!1})},3e3));o(!0),!(a!=null&&a.specificWrongFeedbacks)&&!V&&D([...P,...e.solution.wrong.rewards]),U("fail"),l({type:"hidePuzzleButtons",payload:!0}),l({type:"failPuzzle"})};React$2.useEffect(()=>{R&&o(!0)},[o,R]),React$2.useEffect(()=>{d(()=>{var V;l({type:"hidePuzzleButtons",payload:!0}),k(!0);const W=[...P,...((V=e==null?void 0:e.resolve)==null?void 0:V.rewards)||{}];setTimeout(()=>{T(!1),C(!1),l({type:"hidePuzzleButtons",payload:!1}),l({type:"puzzleAction",action:"resolve",payload:{element:B,rewards:W,finish:!0}})},2e3)})},[d,o,P,(H=e==null?void 0:e.resolve)==null?void 0:H.rewards,l,B]);const ce=React$2.useMemo(()=>{let W="";return W="cards-selector",f!=null&&f.url&&(W+=" cards-selector--with-custom-bg"),x&&(W+=" disable-background-image"),W},[f==null?void 0:f.url,x]),fe={backgroundImage:f!=null&&f.url?`url('${f.url}')`:""};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:ce,style:fe,children:jsxRuntimeExports.jsx(Board,{setCurrentOrder:g,currentOrder:E,cards:n,onFinish:ie,resolveWithAnyCard:t,handleError:re,feedbackIsShown:w,resolvePuzzle:N,soundActions:h,handleSuccess:q})}),w&&jsxRuntimeExports.jsx(FeedbackComponent$1,{success:v||b,text:F,hasTimeout:!F,translate:$,functionOnClose:Y,keyboardControl:p})]})}CardsSelectorPuzzleComponent.defaultProps={cards:[],info:{},resolveWithAnyCard:!1,backgroundImage:{url:""}};function Fakecursor(){return jsxRuntimeExports.jsx("span",{className:"fakecursor",children:"|"})}function FixedComponent({delay:l,index:e,length:n,textToPrint:t,setDoneTyping:a,nextParagraphType:o,isWriting:d}){const[h,f]=React$2.useState(!0),[u,p]=React$2.useState(""),[x,R]=React$2.useState(!1);React$2.useEffect(()=>{R(e===n-1)},[e,n]);const S=T=>{if(!T||!T.length)return"";const b=T.replace(/<script.*?>.*?<\/script>/gim,""),_=document.createElement("DIV");return _.innerHTML=b,_.textContent||_.innerText||""};React$2.useEffect(()=>{const T=()=>{const _=t.trim().split(" ");return b(_,_.length-1).join(" ")},b=(_,w)=>{if(w<0)return[""];const C=[..._];if(S(_[w]).length!==0){const P=_[w];return C[w]=`<span class="lastWord" >${P}</span>`,C}return b(_,w-1)};o==="election"?p(T()):setTimeout(()=>{p(t)},200)},[o,t]);const E=()=>{a(!0),f(!1)},g=t.split("<p>");g.shift();const v=g.length>1;return h&&t!==""&&u!==""?jsxRuntimeExports.jsx("span",{className:`writer-inline ${v?"multiple":""} ${x?"Typist":""}`,"data-testid":`result-${e}`,children:jsxRuntimeExports.jsx(Typist,{startDelay:300,avgTypingDelay:l,stdTypingDelay:10,onCharacterTyped:d,onTypingDone:E,cursor:{hideWhenDone:!0,hideWhenDoneDelay:200},blink:!0,children:HTMLReactParser$1(t)})}):jsxRuntimeExports.jsxs("span",{className:`writer-inline ${v?"multiple":""} ${x?"Typist":""}`,"data-testid":`result-${e}`,children:[HTMLReactParser$1(u),o==="election"&&x&&jsxRuntimeExports.jsx(Fakecursor,{})]})}FixedComponent.defaultProps={delay:0,textToPrint:"",setDoneTyping:()=>{},nextParagraphType:"",isWriting:()=>{}};function SingleElection({option:l,decisionInspected:e,setCurrentDecisionSelected:n,index:t,setCurrentDecisionInspected:a,soundActions:o}){const[d]=o,h=R=>R.previewText!==""?HTMLReactParser$1(R.previewText):HTMLReactParser$1(R.fullText),f=R=>R.previewText!==""?e===t?"icon-eye inspected":"icon-eye":"",u=()=>{d("click-ui"),n(t)},p=R=>{R.keyCode===13&&x(R)},x=R=>{R.preventDefault(),R.stopPropagation(),e===t?(R.target.style.background="",a("")):a(t)};return jsxRuntimeExports.jsxs("div",{className:"single-election",children:[jsxRuntimeExports.jsxs("button",{className:"single-election__cta",type:"button",onClick:()=>u(),children:[jsxRuntimeExports.jsx("div",{className:"single-election__btn",children:jsxRuntimeExports.jsx("span",{children:h(l)})}),jsxRuntimeExports.jsx("div",{onClick:x,onKeyDown:p,className:f(l),"aria-label":"Inspect",role:"button",tabIndex:0})]}),e===t&&jsxRuntimeExports.jsx("div",{className:"single-election__complete",children:jsxRuntimeExports.jsx("div",{children:HTMLReactParser$1(l.fullText)})})]})}SingleElection.defaultProps={setCurrentDecisionSelected:()=>{},setCurrentDecisionInspected:()=>{},option:{},index:0};function SingleElectionRender({decisionInspected:l,opt:e,index:n,setCurrentDecisionSelected:t,setCurrentDecisionInspected:a,soundActions:o}){return e&&e.fullText&&e.fullText!==""?jsxRuntimeExports.jsx(SingleElection,{decisionInspected:l,setCurrentDecisionSelected:t,setCurrentDecisionInspected:a,option:e,soundActions:o,index:n}):null}function ElectionComponent({textWithOpts:l,setCurrentDecisionSelected:e,printed:n,soundActions:t}){const[a,o]=React$2.useState("");return React$2.useEffect(()=>{n()},[n]),jsxRuntimeExports.jsx("div",{className:`elections-box pos${a+1}-${l.filter(d=>!!d.fullText).length}`,children:l&&l.map((d,h)=>jsxRuntimeExports.jsx(SingleElectionRender,{opt:d,soundActions:t,index:h,setCurrentDecisionSelected:e,setCurrentDecisionInspected:o,decisionInspected:a},h))})}ElectionComponent.defaultProps={textWithOpts:[],setCurrentDecisionSelected:()=>{},printed:()=>{}};function FeedbackElement({decision:l}){const{title:e,body:n}=l.feedback;return jsxRuntimeExports.jsx("div",{children:n!==""&&jsxRuntimeExports.jsxs("div",{className:"writer-feedback-decision-item",children:[e&&jsxRuntimeExports.jsxs("div",{dir:"auto",className:"writer-feedback-decision-item__title",children:[e," "]}),n&&jsxRuntimeExports.jsxs("div",{dir:"auto",className:"writer-feedback-decision-item__message",children:[l.correct?jsxRuntimeExports.jsx("span",{className:"icon-check-circle-black color--success"}):jsxRuntimeExports.jsx("span",{className:"icon-error-circle-black color--error"}),jsxRuntimeExports.jsx("span",{children:n})]})]})})}FeedbackElement.defaultProps={decision:{}};function FeedbackComponent({emitEvent:l,closingAction:e,feedbackIsDone:n,decisionsList:t,texts:a,retryAction:o,retry:d,skip:h,checkCorrect:f,rewardsStack:u,setFailed:p,soundActions:x}){const[R]=x,S=g=>l({type:"translate",payload:g}),E=()=>{R("click-ui"),e(),p(),n()};return jsxRuntimeExports.jsxs("div",{className:`writer-feedback ${u.length?"":"start"}`,children:[jsxRuntimeExports.jsx("div",{className:"writer-feedback__title",children:S("puzzles.feedback")}),jsxRuntimeExports.jsx("div",{className:"writer-feedback__decisions",children:t.map(g=>a[g.currenTextParagraph].electionTexts[g.index].feedback.body?jsxRuntimeExports.jsx(FeedbackElement,{decision:a[g.currenTextParagraph].electionTexts[g.index]},g.index):null)}),jsxRuntimeExports.jsxs("div",{className:"writer-feedback__btns",children:[h&&jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__secondary writer-feedback__btn-mobile",onClick:()=>{E()},children:S("puzzles.skip")}),d&&jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__primary writer-feedback__btn-mobile",onClick:()=>{f()?E():(R("click-ui"),o())},children:S(f()?"puzzles.continue":"puzzles.retry")}),!d&&jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__primary writer-feedback__btn-mobile",onClick:()=>E(),children:S("puzzles.continue")})]})]})}FeedbackComponent.defaultProps={emitEvent:()=>{},closingAction:()=>{},feedbackIsDone:()=>{},decisionsList:[],texts:[],retryAction:()=>{},retry:!1,skip:!1,checkCorrect:()=>{},nodeId:"0"};function FinishedTextComponent({textToPrint:l,correct:e}){const n=l.split("<p>");n.shift();const t=n.length>1;return jsxRuntimeExports.jsx("span",{className:`writer-inline ${t?"multiple":""} ${e}`,children:HTMLReactParser$1(l)})}FinishedTextComponent.defaultProps={correct:"",textToPrint:""};function WriterPuzzleComponent({emitEvent:l,styles:e,nodeId:n,retry:t,skip:a,type:o,info:d,setResolveAction:h,documentTitle:f,documentTitle_labelId:u,texts:p,soundActions:x,backgroundImage:R,hideBackgroundImageTheme:S=!1}){const E=rt=>l({type:"translate",payload:rt}),g=React$2.useRef(),[v,T]=React$2.useState(!1),[b,_]=React$2.useState(!1),[w,C]=React$2.useState(0),[P,D]=React$2.useState({[`text_${w}`]:{...p[w],id:`text_${w}`,correct:""}}),[N,k]=React$2.useState(!1),[F,M]=React$2.useState([]),[U,$]=React$2.useState(!1),[B,J]=React$2.useState(!1),[ne,ie]=React$2.useState(!1),[Y,q]=React$2.useState(!0),[re,ce]=React$2.useState([]),[fe,te]=React$2.useState(!0),[H]=x,W=React$2.useRef({}),V=rt=>{let xt;return rt.electionTexts.forEach((Et,Qe)=>{Et.correct&&(xt=Qe)}),xt},z=React$2.useCallback(rt=>F.filter(Et=>Et.currenTextParagraph===rt)[0].fullText_labelId,[F]),Q=React$2.useCallback(()=>p.map((rt,xt)=>{if(rt.type==="fixed")return rt.fullText_labelId??rt.fullText;if(rt.type==="election"){const Et=V(rt);return Et>=0?rt.electionTexts[Et].fullText_labelId:z(xt)}return""}),[z,p]),ee=12,le=()=>{if(F){const rt=F.length;let xt=0;for(let Et=0;Et<rt;Et+=1)F[Et].isCorrect==="none"&&(xt+=1);return xt===rt}return!0},ue=React$2.useCallback(()=>{if(F){const rt=F.length;let xt=0;for(let Et=0;Et<rt;Et+=1)F[Et].isCorrect==="green"&&(xt+=1);return xt===rt}return!0},[F]),he=()=>!!(F&&F.length),ve=()=>F.find(rt=>{const{feedback:xt}=p[rt.currenTextParagraph].electionTexts[rt.index];return xt.body!==""}),be=React$2.useCallback(()=>{const rt=Q();l({type:"finishMedia",payload:{name:u,text:rt,documentType:o,type:"text"}})},[Q,u,l,o]),Re=React$2.useCallback(rt=>{const xt=ue();H(b?"fail":xt?"score":"fail"),l({type:"addPoints",complex:!0,finish:!0,payload:rt||re,onFinish:o!=="view"?be:null}),l({type:"passPuzzle"})},[ue,l,b,be,H,re,o]);React$2.useEffect(()=>{v&&te(!1),h(()=>{Re(d.resolve.rewards)})},[l,Re,v,be,d.resolve.rewards,h,o]);const Le=()=>{T(!1),C(0),M([]),ce([]),_(!1),ie(!1),k(!1),J(!1),$(!1),D({text_0:{...p[0],id:"text_0",correct:""}}),q(!0),l({type:"addPoints",complex:!0,finish:!1,payload:re}),l({type:"failPuzzle"})},Oe=()=>{he()?le()&&($(!0),Re()):($(!0),ie(!0),Re()),U?(q(!1),ne&&!B?J(!0):(B||!ne&&!B)&&(!ne&&!B&&t?ue()?Re():Le():Re())):($(!0),ve()&&ie(!0))},Ke=()=>{const rt=p[w].electionTexts.filter(Et=>Et.correct).length,xt=p[w].electionTexts;return rt===0||rt===xt},St=rt=>{const xt=p[w].electionTexts[rt],Et=xt.feedback.rewards;Et&&Et[0]&&Et[0].points&&(W.current[`t${w}_e${rt}`]||(xt.correct&&(W.current[`t${w}_e${rt}`]=!0),ce([...re,...Et])));const Qe=()=>Ke()?"none":xt.correct?"green":"red",Be={currenTextParagraph:w,fullText:xt.fullText,index:rt,isCorrect:Qe()};D({...P,[`text_${w}`]:{type:"fixed",fullText:xt.fullText,correct:Be.isCorrect}}),M([...F,Be])},it=()=>{g.current.scrollTop=g.current.scrollHeight+100},gt=()=>{if(g.current.querySelector(".wrapfixed").offsetHeight>g.current.offsetHeight){const rt=g.current.querySelector(".wrapfixed").offsetHeight;g.current.scrollTo({top:rt,behavior:"smooth"})}},Ge=(rt,xt,Et)=>{const Qe=rt.fullText,Be=p[Et+1]?p[Et+1].type:"",Xe=P[`text_${Et+1}`]&&P[`text_${Et+1}`].type?P[`text_${Et+1}`].type:Be;return jsxRuntimeExports.jsx(FixedComponent,{length:xt,doneTyping:N,index:Et,delay:ee,setDoneTyping:k,nextParagraphType:Xe,isWriting:gt,textToPrint:Qe},Et.toString())},Me=(rt,xt)=>{const Et=rt.fullText;return jsxRuntimeExports.jsx(FinishedTextComponent,{textToPrint:Et,correct:rt.correct},xt)},De=rt=>jsxRuntimeExports.jsx(ElectionComponent,{soundActions:x,textWithOpts:rt.electionTexts,setCurrentDecisionSelected:St,printed:it,disableExit:fe},rt.electionTexts),Ve=(rt,xt,Et)=>rt.type==="fixed"?Ge(rt,xt,Et):De(rt);React$2.useEffect(()=>{N===!0&&(()=>{p[w+1]?(D({...P,[`text_${w+1}`]:{...p[w+1],id:`text_${w+1}`,correct:""}}),C(w+1),k(!1)):T(!0)})()},[N,w,P,p]);const ct=React$2.useMemo(()=>{let rt=`writer-puzzle writer-puzzle--${e}`;return S&&(rt+=" disable-background-image"),rt},[S,e]),dt={backgroundImage:R!=null&&R.url?`url('${R.url}')`:""};return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsx("div",{className:ct,style:dt,children:jsxRuntimeExports.jsxs("div",{className:"writer-puzzle__overlay",children:[B&&jsxRuntimeExports.jsx(FeedbackComponent,{emitEvent:l,texts:p,setFailed:()=>_(!0),decisionsList:F,closingAction:Oe,retry:t,skip:a,checkCorrect:ue,retryAction:Le,rewardsStack:re,nodeId:n,soundActions:x}),!B&&jsxRuntimeExports.jsxs("div",{className:"writer-puzzle__container",children:[jsxRuntimeExports.jsx("div",{dir:"auto",className:"writer-puzzle__title",children:f!==""&&f}),jsxRuntimeExports.jsx("div",{className:"writer-puzzle__body",dir:LangIsRtl()?"rtl":"auto",children:jsxRuntimeExports.jsxs("div",{className:"writer-puzzle__scroll",tabIndex:0,style:{overflowX:"hidden",padding:"0 0 20px 0",height:"95%"},ref:g,children:[jsxRuntimeExports.jsx("div",{className:"wrapfixed",children:Y&&!U&&Object.values(P).map((rt,xt)=>Ve(rt,Object.values(P).length-1,xt))}),U&&Object.values(P).map((rt,xt)=>Me(rt,xt))]})}),v&&jsxRuntimeExports.jsx("div",{className:"writer-puzzle__footer",children:jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__primary",onClick:Oe,children:E("screens.continue")})})]})]})})})}WriterPuzzleComponent.defaultProps={emitEvent:()=>{},info:{},styles:"",nodeId:"0",retry:!1,skip:!1,type:"",documentTitle:"",texts:[]};function Image$1({document:l,name:e,isWallpaper:n}){const t=(l==null?void 0:l.url)||null;return jsxRuntimeExports.jsx("div",{className:`puzzle--terminal__image ${n?"puzzle--terminal__image--wallpaper":""}`,children:t?jsxRuntimeExports.jsx("img",{src:t,alt:e||""}):null})}const ICONS$1={image:"image-icon",video:"video-icon",embedded_video:"video-icon",pdf:"pdf-icon",terminal:"console-icon",cracker:"cracker-icon",folder:"folder-icon",world:"world-icon"};function Visor({file:l,solution:e,showContinue:n,info:t,resolvePuzzle:a,backFile:o,translate:d,soundActions:h,keyboardControl:f}){var b;const{fileId:u}=l,p=((b=l.document)==null?void 0:b.url)||"",[x]=h,R={image:{component:Image$1,props:{...l,url:p,soundActions:h}},video:{component:VideoVisor,props:{...l,url:p,endVideo:a,soundActions:h,translate:d}},embedded_video:{component:VideoVisor,props:{...l,url:p,soundActions:h}},pdf:{component:PdfVisor,props:{...l,url:p,translate:d,soundActions:h,emitNumberOfPages:()=>{},endPdf:()=>{},keyboardControl:f}},application:{component:PdfVisor,props:{...l,url:p,translate:d,soundActions:h,emitNumberOfPages:()=>{},keyboardControl:f,endPdf:()=>{}}}};if(!R[l.type])return null;const S=R[l.type].component,E=R[l.type].props,v=l.name.replace(/.jpg|.png|.pdf|.mp4/gi,""),T=e.fileId;return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsxs("div",{className:"puzzle--terminal__visor",children:[jsxRuntimeExports.jsx(FeedbackComponent$1,{playSound:x,shortText:!0,success:u===T,text:u===T?t.solution.right.desc:t.solution.wrong.desc,functionOnClose:u===T?a:o,additionalStyle:ICONS$1[l.type],secondText:v,translate:d,puzzleHeaderClass:"puzzle--terminal__visor--message",keyboardControl:f}),jsxRuntimeExports.jsx("div",{className:"puzzle--terminal__visor--body",children:jsxRuntimeExports.jsx(S,{...E})}),jsxRuntimeExports.jsx("div",{className:"puzzle--terminal__button",children:u===T&&n?jsxRuntimeExports.jsx("button",{className:"gat--btn gat--btn__primary green",type:"button",onClick:a,children:d("screens.continue")}):null})]})})}const ICONS={image:"image-icon",video:"video-icon",embedded_video:"video-icon",pdf:"pdf-icon",terminal:"console-icon",cracker:"cracker-icon",folder:"folder-icon",application:"pdf-icon",world:"world-icon"};function Item({item:l,selectItem:e}){const n=l.name;return jsxRuntimeExports.jsx("li",{className:"puzzle--terminal__folder__list--item",children:jsxRuntimeExports.jsxs("button",{type:"button",title:n,className:`unset-button puzzle--terminal__item id-${l.id}`,onClick:()=>l.fixed?null:e(l),children:[jsxRuntimeExports.jsx("span",{className:`puzzle--terminal__icon ${ICONS[l.type]}`}),jsxRuntimeExports.jsx("span",{children:n})]})})}function FilesGroup({initFile:l,backFile:e,file:n,closeFolder:t,selectItem:a}){return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:n.id==="init"?jsxRuntimeExports.jsx("ul",{className:"puzzle--terminal__folder__list desktop",children:n.children.map((o,d)=>jsxRuntimeExports.jsx(Item,{selectItem:a,item:o},`${`${d}${o.id}`}`))}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("ul",{className:"puzzle--terminal__folder__list desktop",children:l.children.map((o,d)=>jsxRuntimeExports.jsx(Item,{selectItem:a,item:o},`${d+o.id}`))}),jsxRuntimeExports.jsxs("div",{className:"puzzle--terminal__folder",children:[jsxRuntimeExports.jsxs("div",{className:"puzzle--terminal__folder--head",children:[jsxRuntimeExports.jsx("span",{role:"button",onKeyUp:()=>{},"aria-label":"back file",tabIndex:0,onClick:()=>e(),className:"puzzle--terminal__folder--back",children:jsxRuntimeExports.jsx("span",{className:"icon-back"})}),jsxRuntimeExports.jsx("span",{className:`puzzle--terminal__folder--head__icon ${ICONS[n.type]}`}),jsxRuntimeExports.jsx("span",{className:"text",children:n.name}),jsxRuntimeExports.jsx("span",{role:"button",tabIndex:0,"aria-label":"close folder",onKeyUp:()=>{},onClick:()=>t(),className:"puzzle--terminal__folder--close",children:jsxRuntimeExports.jsx("span",{className:"icon-close"})})]}),jsxRuntimeExports.jsx("div",{className:"puzzle--terminal__folder--body",children:jsxRuntimeExports.jsx("ul",{className:"puzzle--terminal__folder__list",children:n.children.map((o,d)=>jsxRuntimeExports.jsx(Item,{selectItem:a,item:o},`${d+o.id}`))})})]})]})})}const DEFAULT_IMG="https://min.gamelearn.io/css-resources/gamelearn/resources/cosmos-bg-min.jpg",FIXED_ITEMS=[{fileId:"ids1",type:"world",fixed:!0,name:"Web builder 3.0"},{fileId:"ids2",type:"cracker",fixed:!0,name:"Decoder.exe"},{fileId:"ids3",type:"terminal",fixed:!0,name:"terminal"}];function TerminalPuzzleComponent({emitEvent:l,items:e,backgroundImage:n,solution:t,info:a,disableExit:o,soundActions:d,setResolveAction:h,nodeId:f,keyboardControl:u}){const[p,x]=React$2.useState({}),[R]=React$2.useState(!1),[S,E]=React$2.useState([]),g=React$2.useRef([]),[v]=d,T=k=>l({type:"translate",payload:k}),b=`terminal-puzzle_${f}`,_=React$2.useMemo(()=>({name:"init",children:[...FIXED_ITEMS,...e],id:"init"}),[e]),w=React$2.useCallback(k=>{v("click-ui"),x(k),E([...S,k]),k.type!=="folder"&&(l({type:"hidePuzzleButtons",payload:!0}),o(!0))},[S,o,l,v]);React$2.useEffect(()=>{x(_),E([_])},[_]),React$2.useEffect(()=>{h(()=>{g.current=[...g.current,...a.resolve.rewards];const k=g.current.map(F=>{var ne;const{name:M,points:U,type:$,id:B}=F,J={name:M,points:U,type:$,id:B};return(ne=F==null?void 0:F.document)!=null&&ne.resourceId&&(J.id=F.document.resourceId),J});l({type:"hidePuzzleButtons",payload:!1}),l({type:"puzzleAction",action:"resolve",payload:{element:b,rewards:k,finish:!0}})})},[h,a.resolve.rewards,l,b]);const C=()=>{g.current=[...g.current,...a.solution.wrong.rewards];const k=S.length-1,F=S.filter((M,U)=>k>U);x(S[k-1]),E(F),o(!1),l({type:"hidePuzzleButtons",payload:!1})},P=()=>{v("click-ui");const k=S[0];x(k),E([k])},D=()=>{g.current=[...g.current,...a.solution.right.rewards];const k=g.current.map(F=>{var ne;const{name:M,points:U,type:$,id:B}=F,J={name:M,points:U,type:$,id:B};return(ne=F==null?void 0:F.document)!=null&&ne.resourceId&&(J.id=F.document.resourceId),J});l({type:"hidePuzzleButtons",payload:!1}),v("score"),l({type:"addPoints",complex:!0,finish:!0,payload:k}),l({type:"passPuzzle"})},N=(n==null?void 0:n.url)||DEFAULT_IMG;return jsxRuntimeExports.jsx("div",{className:"puzzle--terminal",children:p.children?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Image$1,{isWallpaper:!0,document:{url:N}}),jsxRuntimeExports.jsx(FilesGroup,{backFile:C,initFile:_,selectItem:w,breadcrumb:S,closeFolder:P,file:p,translate:T})]}):jsxRuntimeExports.jsx(Visor,{soundActions:d,backFile:C,resolvePuzzle:D,info:a,showContinue:!R,solution:t,file:p,translate:T,keyboardControl:u})})}function DragItemPuzzleComponent({area:l,image:e,resolveObject:n,info:t,hasHighlights:a,consume:o,disableExit:d,emitEvent:h,soundActions:f,keyboardControl:u}){const{solution:p}=t,x=React$2.useRef(),R=React$2.useRef(),S=React$2.useRef(),E=React$2.useRef(),g=React$2.useRef({}),[v,T]=React$2.useState(""),[b,_]=React$2.useState(!1),[w,C]=React$2.useState(),[P]=React$2.useState(new window.Image),D=React$2.useRef([]),[N]=f,k=fe=>h({type:"translate",payload:fe});React$2.useEffect(()=>{d(v!=="")},[v,d]);const F=(fe,te)=>(fe.x+fe.width>te.x&&fe.x+fe.width<=te.x+te.width||te.x+te.width>fe.x&&te.x+te.width<=fe.x+fe.width)&&(fe.y+fe.height>te.y&&fe.y+fe.height<=te.y+te.height||te.y+te.height>fe.y&&te.y+te.height<=fe.y+fe.height),M=()=>{x&&a&&(x.current.to({duration:.25,opacity:.75}),R.current.to({duration:.25,opacity:.4}))},U=()=>{x&&a&&(x.current.to({duration:.25,opacity:0}),R.current.to({duration:.25,opacity:0}))},$=React$2.useCallback(fe=>{let te=!1;if(fe){const H=S.current;H.setPointersPositions(fe);const W=H.getPointerPosition(),V=x.current.getClientRect({relativeTo:H});te=F({...W,width:1,height:1},V)}return te},[]),B=React$2.useCallback(fe=>fe&&n.uid===JSON.parse(fe).uid,[n.uid]),J=React$2.useCallback(()=>{T(""),h({type:"hidePuzzleButtons",payload:!1}),h({type:"addPoints",complex:!0,finish:!0,payload:D.current}),h({type:"passPuzzle"}),o&&h({type:"consumeItem",payload:{uid:n.uid,targetId:n.uid,name:n.name}}),h({type:"closeUI",ui:"inventory"})},[o,h,n.name,n.uid]),ne=React$2.useCallback(()=>{T("success"),h({type:"hidePuzzleButtons",payload:!0}),D.current=[...D.current,...p.right.rewards],setTimeout(()=>{J()},2e3)},[h,J,p.right.rewards]),ie=React$2.useCallback(()=>{h({type:"openUI",ui:"inventory",onFinish:()=>{}}),T(""),h({type:"hidePuzzleButtons",payload:!1}),h({type:"failPuzzle"}),D.current=[...D.current,...p.wrong.rewards]},[h,p.wrong.rewards]),Y=React$2.useCallback(fe=>{const te=fe.dataTransfer.getData("item");S.current.setPointersPositions(fe);const H=$(fe);h({type:"hidePuzzleButtons",payload:!0}),H&&B(te)?(T("success"),h({type:"closeUI",ui:"inventory"}),t.solution.right.desc===""&&ne()):(h({type:"closeUI",ui:"inventory"}),T("failed"),t.solution.wrong.desc===""&&setTimeout(()=>{ie()},2e3))},[$,B,h,ne,ie,t.solution.right.desc,t.solution.wrong.desc]),q=()=>{v==="success"?ne():ie()};React$2.useEffect(()=>{const fe=e.img.url||"";P.src=fe,P.onload=()=>{E.current&&(g.current={x:E.current.clientWidth/2,y:E.current.clientHeight/2,width:P.width,height:P.height,offsetX:P.width/2,offsetY:P.height/2,scale:{x:Math.min(E.current.clientWidth/P.width,E.current.clientHeight/P.height),y:Math.min(E.current.clientWidth/P.width,E.current.clientHeight/P.height)}},_(!0))}},[P,e.img.url]);const re=fe=>{fe!==null&&(x.current=fe)},ce=fe=>{if(fe!==null&&(R.current=fe,x.current)){const{x:te,y:H,width:W,height:V}=x.current.getClientRect();fe.setAttr("x",te),fe.setAttr("y",H),fe.setAttr("height",V),fe.setAttr("width",W)}};return React$2.useLayoutEffect(()=>{if(x.current&&b){const fe=x.current.getClientRect({relativeTo:x.current.getParent()});C({x:fe.x+fe.width/2,y:fe.y+fe.height/2})}},[b]),jsxRuntimeExports.jsxs("div",{className:"puzzle--drag__mask100",onDrop:Y,onDragOver:fe=>{fe.preventDefault()},children:[jsxRuntimeExports.jsx("div",{className:"puzzle--drag__mask",children:jsxRuntimeExports.jsx("div",{ref:E,"data-testid":"mask_canvas",className:"puzzle--drag__mask--canvas",children:b?jsxRuntimeExports.jsx(Stage,{ref:S,width:E.current.clientWidth,height:E.current.clientHeight,children:jsxRuntimeExports.jsxs(Layer,{children:[jsxRuntimeExports.jsx(Image$2,{image:P,...g.current}),jsxRuntimeExports.jsxs(Group,{...g.current,children:[w?jsxRuntimeExports.jsx(Html,{transform:!0,groupProps:{id:"projection",...w},divProps:{style:{pointerEvents:"none"}},children:jsxRuntimeExports.jsx("div",{style:{width:"50px",height:"50px",pointerEvents:"none"},id:"object-area-projection"})}):null,jsxRuntimeExports.jsx(Line,{onMouseEnter:M,onMouseLeave:U,ref:re,...l,shape:"poly",fill:"#262a31d9",stroke:"white",strokeWidth:1,opacity:0,dash:[3,2],closed:!0,draggable:!1})]}),jsxRuntimeExports.jsx(Text,{onMouseEnter:M,onMouseLeave:U,ref:ce,text:k("puzzle.drag.dropzone"),fontSize:12,align:"center",verticalAlign:"middle",fill:"#ffffff",opacity:0})]})}):null})}),v!==""?jsxRuntimeExports.jsx(FeedbackComponent$1,{text:t.solution[v==="success"?"right":"wrong"].desc,success:v==="success",translate:k,playSound:N,functionOnClose:q,keyboardControl:u}):null]})}const LABELS_INDEX$1=["A","B","C","D","E","F","G","H","I","J"];function Questions({disabled:l,answered:e,question:n,updateForm:t,result:a,correctQuestions:o,translate:d}){const[h,f]=React$2.useState(!1),u=n.answers.filter(v=>v.text),p=v=>{let T=!1;return a[n.id].find(b=>b.id===v)&&(T=!0),T},x=v=>{let T="";return h?(e&&p(v.id)&&(T="selected"),l&&p(v.id)&&o.includes(v.id)&&(T="success"),l&&p(v.id)&&!o.includes(v.id)&&(T="failed")):(e&&v.id===a[n.id][0].id&&(T="selected"),l&&v.id===a[n.id][0].id&&(T=a[n.id][0].isCorrect?"success":"failed")),T},R=v=>{const T=x(v);return T==="selected"?"icon-check-circle-black color--selected":T==="success"?"icon-check-circle-black color--success":T==="failed"?"icon-error-circle-black color--error":""},S=v=>l&&v.feedback&&(h&&p(v.id)||v.id===a[n.id][0].id),E=(v,T)=>T===0?"tooltip--right__top":T===v.length-1?"tooltip--right__bottom":"tooltip--center__right",g=n.answers.filter(v=>v.isCorrect);return React$2.useEffect(()=>{g.length===1?f(!1):f(!0)},[g.length,h,n.answers]),jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"test--questions__item",children:jsxRuntimeExports.jsx("span",{children:n.text})}),h&&!l?jsxRuntimeExports.jsx("div",{className:"test--questions__intertitle test--questions__intertitle--multiresponse",children:d("tests.chooseMoreOneAnswer")}):null,u.map((v,T)=>jsxRuntimeExports.jsxs("div",{className:"test--response__fakeinput",children:[h?jsxRuntimeExports.jsx("input",{checked:e&&p(v.id),disabled:l&&!p(v.id),readOnly:l,type:"checkbox",id:v.id,onChange:()=>l?null:t(v,n.id,T,"isCheckbox",v.id)}):jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsx("input",{checked:e&&v.id===a[n.id][0].id,disabled:l&&!x(v),type:"radio",name:"name",id:v.id,onChange:()=>l?null:t(v,n.id,T,"isRadio")})}),jsxRuntimeExports.jsxs("label",{htmlFor:v.id,className:`test--response__item ${x(v)}`,children:[jsxRuntimeExports.jsx("div",{className:"test--response__index",children:LABELS_INDEX$1[T]}),jsxRuntimeExports.jsx("div",{className:"test--response__text",children:jsxRuntimeExports.jsx("span",{children:v.text})}),jsxRuntimeExports.jsx("div",{className:`test--response__icon ${R(v)}`})]}),l?jsxRuntimeExports.jsxs("div",{className:`test--feedback__info ${S(v)?"":"test--feedback__info--hidden"}`,children:[jsxRuntimeExports.jsx("span",{className:`icon-info2 ${x(v)==="success"?"color--success":"color--error"}`}),jsxRuntimeExports.jsxs("div",{id:`tooltipFeedback-${T}`,className:`tooltip ${E(u,T)}`,children:[jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx("b",{children:jsxRuntimeExports.jsx("span",{children:d("test.feedback")})})}),jsxRuntimeExports.jsx("span",{children:jsxRuntimeExports.jsx("span",{children:v.feedback})})]})]}):null]},v.text))]})}const LABELS_INDEX=["A","B","C","D","E","F","G","H","I","J"];function FeedbackItem({selectedAnswers:l,correctQuestions:e,question:n,translate:t}){const a=h=>e.includes(h),o=(h,f)=>h.index<f.index?-1:h.index>f.index?1:0,d=l.sort(o);return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"test--questions__item",children:jsxRuntimeExports.jsx("span",{children:n})}),d.map(h=>jsxRuntimeExports.jsxs("div",{className:"test--response__itemwrap",children:[jsxRuntimeExports.jsxs("div",{className:`test--response__item ${a(h.id)?"success":"failed"}`,children:[jsxRuntimeExports.jsx("div",{className:"test--response__index",children:LABELS_INDEX[h.index]}),jsxRuntimeExports.jsx("div",{className:"test--response__text",children:jsxRuntimeExports.jsx("span",{children:h.text})}),jsxRuntimeExports.jsx("div",{className:`test--response__icon ${a(h.id)?"icon-check-circle-black color--success":"icon-error-circle-black color--error"}`})]}),jsxRuntimeExports.jsxs("div",{className:"test--feedback",children:[jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx("b",{children:jsxRuntimeExports.jsxs("span",{children:[t("test.feedback")," ",l.length>1?LABELS_INDEX[h.index]:""]})})}),jsxRuntimeExports.jsx("span",{children:h.feedback})]})]},h.text))]})}function Container({questions:l,setTime:e,saveInterval:n,result:t,setTries:a,tries:o,time:d,showResults:h,answered:f,answerPage:u,updateForm:p,disabled:x,translate:R,soundActions:S,paused:E,view:g,correctQuestions:v,feedbacksOnlyWhenReview:T}){const b=document.querySelector(".test--container"),[_,w]=React$2.useState(0),[C,P]=React$2.useState(),D=l[_].id,[N]=S;React$2.useEffect(()=>{if(d>=0&&!x&&!E){const ne=setInterval(()=>{C||e(ie=>ie-1)},1e3);return n(ne),()=>{clearInterval(ne)}}},[x,C,E,n,e,d]);const k=()=>{b.scrollTo(0,0),N("click-ui"),f&&(t[D][0].feedback&&!x&&!T?P(!0):(u(!1),w(_+1)))},F=()=>{N("click-ui"),w(_-1)},M=()=>{b.scrollTo(0,0),l[_+1]?(P(!1),u(!1),w(_+1)):h()},U=()=>{b.scrollTo(0,0),a(o+1),t[D][0].feedback&&!x&&!T?P(!0):h()},$=Math.floor(d/60),B=d%60;React$2.useEffect(()=>{if(g==="review"){const ne=t[`q${_}`][0].id,ie=document.querySelector(`#${ne}`);b.scrollTo(0,ie.offsetTop)}},[_,b,t,g]);const J=()=>{if(f){const ne=v[l[_].id.substring(1)].answers,ie=t[D],Y=ie.find(re=>re.isCorrect===!1);let q=0;return ie.forEach(re=>{ne.includes(re.id)&&(q+=1)}),!Y&&q===ne.length}return!1};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[g==="review"||C?jsxRuntimeExports.jsx("div",{className:`test-feedback-header ${J()?"success":"failed"}`,children:jsxRuntimeExports.jsxs("h2",{children:[jsxRuntimeExports.jsx("span",{className:`${J()?"icon-correct-thumb":"icon-incorrect-thumb"}`}),jsxRuntimeExports.jsx("span",{className:"test-feedback-header__title",children:J()?R("tests.resolvedQuestion"):R("tests.notResolvedQuestion")})]})}):null,jsxRuntimeExports.jsxs("div",{className:"test--questions",children:[jsxRuntimeExports.jsx("div",{className:"test--questions__container",children:C?jsxRuntimeExports.jsx(FeedbackItem,{selectedAnswers:t[D],correctQuestions:v[l[_].id.substring(1)].answers,question:l[_].text,translate:R}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{className:"test--questions__intertitle",children:[jsxRuntimeExports.jsx("div",{children:LangIsRtl()?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[_+1,"/",l.length," ",jsxRuntimeExports.jsx("span",{children:R("tests.question")})]}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("span",{children:R("tests.question")})," ",_+1,"/",l.length]})}),g!=="review"&&d>=0?jsxRuntimeExports.jsx("div",{dir:"ltr",className:`count-down ${d<10?"count-down--finalseconds":""}`,children:jsxRuntimeExports.jsxs("div",{id:"test-time",children:[$<10?`0${$}`:$," : ",B<10?`0${B}`:B]})}):null]}),jsxRuntimeExports.jsx(Questions,{result:t,disabled:x,answered:f,updateForm:p,question:l[_],correctQuestions:x?v[l[_].id.substring(1)].answers:[],translate:R},l[_].id)]})}),jsxRuntimeExports.jsxs("div",{className:`test--buttons ${g==="review"?"reviewmode":"next"}`,children:[g==="review"?jsxRuntimeExports.jsx("button",{disabled:_===0,id:"back-button",onClick:()=>F(),type:"button",className:`gat--btn__navigation ${_===0?"disabled":""}`,"aria-label":LangIsRtl()?R("survey.next"):R("survey.previous"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-next":"icon-back"})}):null,!C&&l[_+1]?jsxRuntimeExports.jsx("button",{disabled:!f,id:"next-button",onClick:()=>k(),type:"button",className:`gat--btn__navigation ${f?"":"disabled"}`,"aria-label":LangIsRtl()?R("survey.previous"):R("survey.next"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-back":"icon-next"})}):null,C?jsxRuntimeExports.jsx("button",{id:"next-button",onClick:()=>M(),type:"button",className:"gat--btn__navigation",children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-back":"icon-next"})}):null,!C&&l[_].id.substring(1)===(l.length-1).toString()?jsxRuntimeExports.jsx("button",{disabled:!f,id:"finish-button",onClick:()=>{N("click-ui"),f&&U()},type:"button",className:`gat--btn__navigation ${f?"":"disabled"}`,"aria-label":LangIsRtl()?R("survey.previous"):R("survey.next"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-back":"icon-next"})}):null]})]})]})}function ResultsComponent({result:l,time:e,mandatory:n,correctQuestions:t,isFirst:a,reviewTest:o,finishTest:d,restartTest:h,timeOver:f,timeOverText:u,emitEvent:p,minimumPercentage:x}){const[R,S]=React$2.useState(0),[E,g]=React$2.useState(),[v,T]=React$2.useState([]),[b,_]=React$2.useState([]),[w,C]=React$2.useState([]),P=React$2.useCallback(()=>{const ie=[];return t.forEach(Y=>ie.push(Y.answers)),ie},[t]),D=React$2.useCallback(()=>{const ie=[];return Object.values(l).forEach(Y=>{if(Y.length>1){const q=Y.find(ce=>ce.isCorrect===!1),re=[];q?ie.push([]):(Y.forEach(ce=>{ce.isCorrect&&re.push(ce.id)}),ie.push(re))}else Y[0].isCorrect?ie.push([Y[0].id]):Y[0].isCorrect===!1&&ie.push("")}),ie},[l]),N=React$2.useCallback(()=>{let ie=0;return b.length>0&&v.forEach((Y,q)=>{Y.length>1?Y.every(re=>b[q].includes(re))&&(ie+=1):Y.length===1&&b[q]&&Y[0]===b[q][0]&&(ie+=1)}),ie},[v,b]);React$2.useEffect(()=>{T(P),_(D),C(N)},[P,D,N]);const k=t.length,F=N()===k,M=w<x,U=w>=x,$=!n||U,B=Math.trunc(R/k*100),J=(ie,Y)=>p({type:"translate",payload:ie,values:Y}),ne={"--chart-color":"var(--color-error)"};return React$2.useEffect(()=>{if(R<w){const ie=setInterval(()=>{S(Y=>Y+1)},100);return g(ie),()=>{clearInterval(ie)}}},[w,R]),React$2.useEffect(()=>{R>=w&&clearInterval(E)},[w,E,R]),jsxRuntimeExports.jsxs("div",{className:`test--results ${M||f?"test--results--failed":""}`,children:[a&&F?jsxRuntimeExports.jsxs("div",{className:"fireworks",children:[jsxRuntimeExports.jsx("div",{className:"before"}),jsxRuntimeExports.jsx("div",{className:"after"})]}):null,!f&&M?jsxRuntimeExports.jsx("div",{className:"test--results__title",children:jsxRuntimeExports.jsx("span",{children:J("tests.NotFinishedSuccessfully")})}):null,!f&&U||F?jsxRuntimeExports.jsx("div",{className:"test--results__title",children:jsxRuntimeExports.jsx("span",{children:J("tests.finishedSuccessfully")})}):null,f?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"test--results__title",children:jsxRuntimeExports.jsx("span",{children:u})}),jsxRuntimeExports.jsx("div",{className:"test--results__time",id:"results-time",children:jsxRuntimeExports.jsx("span",{children:J("tests.time",e)})})]}):null,jsxRuntimeExports.jsxs("div",{className:`chart center chart${B}`,children:[jsxRuntimeExports.jsxs("div",{className:"chart-slice",children:[jsxRuntimeExports.jsx("div",{className:"chart-bar",style:M||f?ne:{}}),jsxRuntimeExports.jsx("div",{className:"chart-fill",style:M||f?ne:{}})]}),jsxRuntimeExports.jsxs("span",{className:"chart-value",children:[jsxRuntimeExports.jsxs("div",{className:"test--results__chart",children:[jsxRuntimeExports.jsx("span",{children:R}),jsxRuntimeExports.jsxs("span",{children:["/",k]})]}),jsxRuntimeExports.jsx("div",{className:"test--results__chart--label",children:jsxRuntimeExports.jsx("span",{children:J("tests.success")})})]})]}),jsxRuntimeExports.jsxs("div",{className:"test--results__minimum",children:[jsxRuntimeExports.jsx("div",{className:"icon-bell"}),jsxRuntimeExports.jsx("div",{children:J("tests.minimumQuestionsMessage",{minimumPercentage:x})})]}),jsxRuntimeExports.jsxs("div",{className:"test--results__buttons",children:[f?null:jsxRuntimeExports.jsx("button",{className:"gat--btn gat--btn__secondary",id:"review-button",onClick:()=>o(),type:"button",children:jsxRuntimeExports.jsx("span",{children:J("tests.review")})}),$?null:jsxRuntimeExports.jsx("button",{className:"gat--btn gat--btn__primary",id:"restart-button",onClick:()=>h(),type:"button",children:jsxRuntimeExports.jsx("span",{children:J("tests.restart")})}),$?jsxRuntimeExports.jsx("button",{className:"gat--btn gat--btn__primary",id:"finish-button",onClick:()=>d(),type:"button",children:jsxRuntimeExports.jsx("span",{children:J("tests.continue")})}):null]})]})}function TestComponent({test:l,countdown:e={},emitEvent:n,soundActions:t,audio:a,required:o,pause:d,minimumPercentage:h=100,feedbacksOnlyWhenReview:f}){const{questions:u}=l,[p,x]=React$2.useState({}),[R,S]=React$2.useState(),[E,g]=React$2.useState(0),[v,T]=React$2.useState([]),[b,_]=React$2.useState(e.time),[w,C]=React$2.useState(!1),[P,D]=React$2.useState("test"),[N,k]=React$2.useState(!0),[F,M]=React$2.useState({}),[U,$]=React$2.useState({}),[B,J]=React$2.useState(!1),ne=o||l.required||!1,ie=React$2.useRef({}),[Y,q]=React$2.useState(),[re,ce]=t,fe=(Q,ee,le,ue,he)=>{const ve={...Q,index:le};if(E>0&&(ve.rewards=ve.rewards.filter(Re=>!U[Q.id]||Re.points<0)),p[ee]){const Re=p[ee].find(Le=>Le.id===he);if(Re){if(Re.id===Q.id){const Le=p[ee].find(Ke=>Ke.id===he),Oe=p[ee].indexOf(Le);if(p[ee].splice(Oe,1),p[ee].length===0){C(!1);return}}}else p[ee].push(ve)}else p[ee]=[ve];let be;ue==="isRadio"?be={...p,[ee]:[ve]}:be={...p},x(be),M(be),$({...U,[Q.id]:{...Q}}),C(!0)};React$2.useEffect(()=>{a!=null&&a.url&&re(a.url,"tts")},[re,a]);const te=u.map(Q=>{const ee=Q.answers.filter(ue=>ue.isCorrect),le=[];return ee.forEach(ue=>{le.push(ue.id)}),{question:Q.id,answers:le}});React$2.useEffect(()=>{T(te)},[te]),React$2.useEffect(()=>{if(h){const Q=Math.ceil(u.length*h/100);q(Q)}},[u.length,h]),React$2.useEffect(()=>{b===0&&(clearInterval(R),C(!1),J(!0),D("results"),ce("tts"))},[R,ce,b]);const H=()=>{clearInterval(R),C(!1),D("results");const Q={...F};M(Q),ce("tts")},W=()=>{const Q={correctQuestions:v.length,result:p,status:"resolved"};Object.keys(p).forEach(le=>{p[le].forEach(ue=>{ie.current[ue.id]&&(ue.rewards=[])})}),n({type:"saveTest",payload:Q})},V=()=>{const Q=()=>{M({}),$({}),D("test"),x({}),_(e.time),J(!1),a!=null&&a.url&&re(a.url,"tts")},ee=Object.values(p);ee.forEach(ue=>{ue.forEach(he=>{he.isCorrect&&(ie.current[he.id]?he.rewards=[]:ie.current[he.id]=!0)})});let le=ee.reduce((ue,he)=>{const ve=[];return he.forEach(be=>{ve.push(be.rewards)}),[...ue,...ve.flat()]},[]);B&&e.rewards&&(le=[...le,...e.rewards]),n({type:"addPoints",payload:le,complex:!0,finish:!1,onFinish:Q}),n({type:"failTest"})},z=(Q,ee)=>n({type:"translate",payload:Q,values:ee});return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"test--container__overlay"}),jsxRuntimeExports.jsx("div",{className:"test--container",dir:"auto",children:P!=="results"?jsxRuntimeExports.jsx(Container,{result:p,time:b,setTries:g,tries:E,answerPage:C,setTime:_,paused:d,saveInterval:S,disabled:P!=="test",answered:w||P!=="test",questions:u,updateForm:fe,showResults:H,translate:z,soundActions:t,view:P,correctQuestions:v,feedbacksOnlyWhenReview:f}):jsxRuntimeExports.jsx(ResultsComponent,{reviewTest:()=>{k(!1),D("review")},isFirst:N,finishTest:W,time:b,mandatory:ne,restartTest:V,result:p,correctQuestions:v,timeOver:B,timeOverText:e.text,emitEvent:n,soundActions:t,minimumPercentage:Y})})]})}const OPTIONS=["yes","no"],LETTERS=["A","B"];function ApplicableBox({setSurveyData:l,survey:e,id:n,translate:t,changePage:a}){const o=d=>{l({...e,[n]:d}),a()};return jsxRuntimeExports.jsx("div",{className:"survey--page__item",children:OPTIONS.map((d,h)=>jsxRuntimeExports.jsxs("button",{type:"button",onClick:()=>o(d),className:`unset-button survey--response__item ${e[n]===d?"selected":""}`,children:[jsxRuntimeExports.jsx("div",{className:"survey--response__index",children:LETTERS[h]}),jsxRuntimeExports.jsx("div",{className:"survey--response__text",children:t(`survey.${d}`)})]},d))})}const OPINION_OPTIONS=[0,1,2,3,4,5,6,7,8,9,10];function OpinionBox({setSurveyData:l,survey:e,id:n,translate:t,changePage:a}){const o=d=>{l({...e,[n]:d}),a()};return jsxRuntimeExports.jsxs("div",{className:"survey--page__item","aria-label":"opinion box",children:[jsxRuntimeExports.jsx("div",{className:"survey--points",children:OPINION_OPTIONS.map(d=>jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>o(d),className:`unset-button survey--points__item survey--points__item--colorized ${e[n]===d?"selected":""}`,children:d},d))}),jsxRuntimeExports.jsxs("div",{className:"survey--points__labels",children:[jsxRuntimeExports.jsx("span",{children:t("survey.bad")}),jsxRuntimeExports.jsx("span",{children:t("survey.excellent")})]})]})}function TextBox({setSurveyData:l,survey:e,id:n,literalLabel:t}){const a=o=>{l({...e,[n]:o})};return jsxRuntimeExports.jsx("div",{className:"survey--page__item",children:jsxRuntimeExports.jsx("textarea",{ref:o=>{o&&o.focus()},className:"survey--textarea",id:t,value:e[n],onChange:o=>a(o.target.value)})})}const INIT_SURVEY={applicable:"",opinion:"",comments:"",suggestions:""},PAGES=[{component:ApplicableBox,id:"applicable"},{component:OpinionBox,id:"opinion"},{component:TextBox,id:"comments"},{component:TextBox,id:"suggestions"}];function SurveyComponent({emitEvent:l,soundActions:e}){const[n,t]=React$2.useState(INIT_SURVEY),[a,o]=React$2.useState(0),[d,h]=React$2.useState(!1),[f]=e,u=(R,S)=>l({type:"translate",payload:R,values:S}),p=(R=!1)=>{if(f("click-ui"),!R&&a+1>=PAGES.length)h(!0);else{R&&h(!1);const S=R?a-1:a+1;o(S)}},x=PAGES[a].component;return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"survey--container__overlay"}),jsxRuntimeExports.jsx("div",{className:"survey--container",dir:"auto",children:jsxRuntimeExports.jsxs("div",{className:"survey--questions",children:[jsxRuntimeExports.jsxs("div",{className:"survey--questions__container",children:[jsxRuntimeExports.jsxs("div",{className:"survey--questions__intertitle",children:[jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx("span",{children:u("survey.numQuestion",{init:a+1,page:PAGES.length})})}),jsxRuntimeExports.jsx("div",{children:u("auto-evaluation.allQuestionsMandatory")})]}),jsxRuntimeExports.jsx("label",{className:"survey--questions__item",htmlFor:u(`survey.question${a+1}`,{ordinal:a+1}),children:u(`survey.question${a+1}`,{ordinal:a+1})}),jsxRuntimeExports.jsx(x,{setSurveyData:t,id:PAGES[a].id,survey:n,translate:u,changePage:R=>p(!1),literalLabel:u(`survey.question${a+1}`,{ordinal:a+1})})]}),jsxRuntimeExports.jsxs("div",{className:"test--buttons next",children:[jsxRuntimeExports.jsx("button",{id:"survey-button-back",type:"button",disabled:a===0,onClick:()=>p(!0),className:`gat--btn__navigation ${a===0?"disabled":""}`,"aria-label":LangIsRtl()?u("survey.next"):u("survey.previous"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-next":"icon-back"})}),d&&a===PAGES.length-1?jsxRuntimeExports.jsx("button",{id:"survey-button",type:"button",disabled:!n[PAGES[a].id],onClick:()=>{f("click-ui"),l({type:"saveSurvey",payload:n})},className:`gat--btn gat--btn__primary ${n[PAGES[a].id]?"":"disabled"} not-transition`,children:u("survey.finish")}):null,!d&&a!==PAGES.length?jsxRuntimeExports.jsx("button",{id:"survey-button",type:"button",disabled:!n[PAGES[a].id],onClick:()=>p(!1),className:`gat--btn__navigation ${n[PAGES[a].id]?"":"disabled"}`,"aria-label":LangIsRtl()?u("survey.previous"):u("survey.next"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-back":"icon-next"})}):null]})]})})]})}function EndScreen({onFinish:l,translate:e}){return React$2.useEffect(()=>{let n;return l&&(n=setTimeout(()=>{l()},2e3)),()=>{n&&clearTimeout(n)}},[l]),jsxRuntimeExports.jsx("div",{className:"auto-evaluation__endscreen","aria-label":"auto evaluation endscreen",children:jsxRuntimeExports.jsxs("div",{className:"auto-evaluation__finishband","aria-label":"auto evaluation finishband",children:[jsxRuntimeExports.jsx("span",{className:"icon-check-laptop auto-evaluation__iconendscreen","aria-label":"icon-check",role:"img"}),jsxRuntimeExports.jsx("span",{className:"auto-evaluation__thanks","aria-label":"auto evaluation thanks",role:"contentinfo",children:e("auto-evaluation.thanks")})]})})}function StartScreen({onNext:l,description:e,translate:n}){return jsxRuntimeExports.jsxs("div",{className:"auto-evaluation__startscreen",role:"alertdialog","aria-modal":"true","aria-label":"ae start screen",children:[jsxRuntimeExports.jsx("span",{className:"icon-happy-laptop auto-evaluation__starticon","aria-label":"icon laptop",role:"img"}),jsxRuntimeExports.jsx("div",{className:"auto-evaluation__starttext","aria-label":"desciption",children:jsxRuntimeExports.jsx("span",{children:e})}),jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__primary auto-evaluation__button auto-evaluation__button--start",onClick:l,children:jsxRuntimeExports.jsx("span",{children:n("auto-evaluation.start")})})]})}function AutoEvaluation({description:l,questions:e,type:n,emitEvent:t,soundActions:a}){var w,C,P;const[o,d]=React$2.useState(null),[h,f]=React$2.useState("start"),[u,p]=React$2.useState(!1),[x,R]=React$2.useState(0),[S,E]=React$2.useState({current:{questions:[],type:n}}),[g]=a,v=D=>t({type:"translate",payload:D}),T=D=>{D.keyCode===13&&D.target.blur()},b=()=>{g("click-ui"),t({type:"saveSurveyPrePos",payload:S.current})};React$2.useEffect(()=>{!e.length&&h==="questions"&&f("end")},[e,h]);const _=(D,N=!1)=>{var F;const k=D!==null?D:(F=S.current.questions.find(M=>M.id===e[x].id))==null?void 0:F.answer;if(g("click-ui"),N)R(x-1),p(!1);else{const M=S.current.questions.findIndex($=>$.id===e[x].id),U=[...S.current.questions];M>-1?U.splice(M,1,{id:e[x].id,answer:k}):U.push({id:e[x].id,answer:k}),E({...S,current:{...S.current,questions:U}}),x===e.length-1?p(!0):(R(x+1),p(!1))}};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"test--container__overlay","aria-label":"test container overlay"}),jsxRuntimeExports.jsxs("div",{className:"test--container",dir:"auto","aria-label":"test container",children:[h==="start"&&jsxRuntimeExports.jsx(StartScreen,{description:l,onNext:()=>{f("questions"),g("click-ui")},translate:v}),h==="questions"&&jsxRuntimeExports.jsxs("div",{className:"survey--questions","aria-label":"survey questions",children:[jsxRuntimeExports.jsxs("div",{className:"survey--questions__container","aria-label":"survey questions container",children:[jsxRuntimeExports.jsxs("div",{className:"survey--questions__intertitle",children:[jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsxs("span",{children:[v("auto-evaluation.question")," ",x+1," ",v("storylines.misc.of")," ",e.length]})}),jsxRuntimeExports.jsx("div",{children:v("auto-evaluation.allQuestionsMandatory")})]}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("div",{className:"survey--questions__item","aria-label":"survey questions item",children:(w=e[x])==null?void 0:w.text}),jsxRuntimeExports.jsx("div",{className:"survey--page__item","aria-label":"survey page item",children:jsxRuntimeExports.jsx("div",{className:"survey--points","aria-label":"survey points",children:Array(11).fill(0).map((D,N)=>{var k;return jsxRuntimeExports.jsx("button",{type:"button",onTouchStart:()=>{d(N)},onTouchEnd:()=>{d(null)},onKeyUp:F=>{T(F)},onClick:()=>{_(N,!1)},className:`survey--points__item survey--points__item--simple ${((k=S.current.questions[x])==null?void 0:k.answer)===N||o===N?"selected":""}`,children:N},`${0+N}`)})})})]},`${e[x]}`)]}),jsxRuntimeExports.jsxs("div",{className:"test--buttons next","aria-label":"test buttons",children:[jsxRuntimeExports.jsx("button",{type:"button",disabled:x===0,onClick:()=>_(null,!0),"aria-label":LangIsRtl()?v("survey.next"):v("survey.previous"),className:`gat--btn__navigation ${x===0?"disabled":""}`,children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-next":"icon-back","aria-label":"icon button"})}),u?jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{f("end"),g("click-ui")},className:`gat--btn gat--btn__primary auto-evaluation__button not-transition
253
- `,children:jsxRuntimeExports.jsx("span",{children:v("auto-evaluation.end")})}):jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>_(null,!1),disabled:((C=S.current.questions[x])==null?void 0:C.answer)===void 0,"aria-label":LangIsRtl()?v("survey.previous"):v("survey.next"),className:`gat--btn__navigation ${((P=S.current.questions[x])==null?void 0:P.answer)===void 0?"disabled":""}`,children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-back":"icon-next"})})]})]}),h==="end"&&jsxRuntimeExports.jsx(EndScreen,{onFinish:b,translate:v})]})]})}function PatternComponent({img:l,name:e,viewed:n,emitEvent:t,soundActions:a,keyboardControl:o}){const[d]=a,h=x=>t({type:"translate",payload:x}),f=()=>{d("click-ui"),t({type:"emitSavePattern",payload:{imgId:l.resourceId,name:e,viewed:!0,url:p,type:"pattern"}})},u=o({disabled:n,forward:f,escape:f});if(React$2.useEffect(()=>u(),[u]),!l)return null;const p=l.url;return jsxRuntimeExports.jsx("div",{className:n?"notes--results":"readings--container pattern-wrap--overlay",children:jsxRuntimeExports.jsx("div",{className:n?"notes--results__text":"pattern-wrap",children:n?jsxRuntimeExports.jsx("div",{children:p&&jsxRuntimeExports.jsx("img",{src:p,alt:"pattern"})}):jsxRuntimeExports.jsxs("div",{className:"pattern",children:[jsxRuntimeExports.jsxs("div",{className:"pattern__header",children:[jsxRuntimeExports.jsx("div",{className:"pattern__title",children:h("phone.pattern")}),jsxRuntimeExports.jsx("button",{type:"button","aria-label":h("storylines.misc.closePiece"),className:"pattern__close gat--btn__round gat--btn__close",onClick:()=>f(),children:jsxRuntimeExports.jsx("span",{className:"icon-close"})})]}),jsxRuntimeExports.jsx("figure",{className:"pattern__figure",children:p&&jsxRuntimeExports.jsx("img",{src:p,alt:"pattern"})})]})})})}const getRecursiveJSX=(l,e=0,n,t,a)=>{var o,d;if((o=l.props)!=null&&o.children){const h=l.type,{children:f,...u}=l.props;if(l.props["data-text-id"]){if(u.dir="auto",u.onClick=p=>t(p,u["data-text-id"]||-1),n!=null&&n.hasHighlights){const p=[...n.correctTexts,...n.wrongTexts];for(let x=0;x<p.length;x+=1)u["data-text-id"]===p[x].id&&(u.className="text-click__hover-correct")}}else n!=null&&n.allWrong&&!l.props["data-text-id"]&&(u.onClick=p=>t(p,"allWrong"));return Array.isArray(f)?jsxRuntimeExports.jsx(h,{...u,children:f.map((p,x)=>getRecursiveJSX(p,x,n,t))},`${l.type}_${e}`):jsxRuntimeExports.jsx(h,{...u,children:getRecursiveJSX(f,e,n,t)},`${l.type}_${e}`)}return((d=l.props)==null?void 0:d.children)!==null?l.split(" ").filter(h=>h!=="").map(h=>jsxRuntimeExports.jsx("span",{dir:"auto",children:h},h)):null};function TextClickPuzzleComponent({emitEvent:l,showFrames:e,styles:n,list:t,soundActions:a,description:o,setInfo:d,setResolveAction:h,keyboardControl:f,backgroundImage:u,hideBackgroundImageTheme:p=!1,nodeId:x}){const R=`textclick-puzzle_${x}`,[S,E]=React$2.useState({result:null,show:!1,text:"",timeout:!1}),[g]=a,[v,T]=React$2.useState(0),[b,_]=React$2.useState(0),[w,C]=React$2.useState(0),P=React$2.useRef(0),D=React$2.useRef([]),[N,k]=React$2.useState(0),[F,M]=React$2.useState(),U=React$2.useCallback(V=>l({type:"translate",payload:V}),[l]),$=React$2.useRef(null),B=React$2.useCallback(()=>P.current===t[v].correctTexts.length||t[v].hasClickOnce&&P.current>=1,[v,t]),J=React$2.useCallback((V,z)=>{V&&l({type:"hidePuzzleButtons",payload:!0}),E(Q=>({...Q,show:V,...z}))},[l]),ne=React$2.useCallback(()=>{if(B())if(E(V=>({...V,result:!1})),P.current=0,w===b){const V=D.current.reduce((z,Q)=>{const ee=z.findIndex(le=>le.id===Q.id);return ee>=0?z[ee].points+=Q.points:z.push({...Q}),z},[]);l({type:"addPoints",complex:!0,finish:!0,payload:V}),l({type:"passPuzzle"})}else $.current=null,T(v+1),k(0),M(!0),setTimeout(()=>{M(!1)},1200)},[B,w,b,l,v]),ie=React$2.useCallback(()=>{l({type:"hidePuzzleButtons",payload:!1}),ne(),E(z=>({...z,show:!1,text:""}));const V=document.querySelectorAll(".text-click__failed");V.length>0&&V.forEach(z=>z.classList.remove("text-click__failed"))},[l,ne]),Y=React$2.useCallback((V,z)=>{var Q,ee;V.forEach(le=>le.classList.add("text-click__success")),C(w+1),P.current+=1,g("score"),(Q=t[v].info.solution.right)!=null&&Q.desc?B()&&(D.current=[...D.current,...t[v].info.solution.right.rewards],J(!0,{result:!0,text:t[v].info.solution.right.desc,timeout:!1})):t[v].info.solution.right.desc===""&&(z!=null&&z.desc)?(D.current=((ee=z==null?void 0:z.rewards)==null?void 0:ee.length)>0?[...D.current,...(z==null?void 0:z.rewards)||{}]:[...D.current],J(!0,{result:!0,text:z.desc,timeout:!1})):t[v].specificFeedbacks.specificCorrectFeedbacks?(D.current=[...D.current,...(z==null?void 0:z.rewards)||{}],B()&&J(!0,{result:!0,timeout:!0})):B()&&(D.current=[...D.current,...t[v].info.solution.right.rewards],J(!0,{result:!0,timeout:!0}))},[w,g,t,v,B,J]),q=React$2.useCallback((V,z)=>{var Q;V.forEach(ee=>ee.classList.add("text-click__failed")),g("fail"),l({type:"failPuzzle"}),t[v].info.solution.wrong.desc!==""?(D.current=[...D.current,...t[v].info.solution.wrong.rewards],J(!0,{result:!1,text:t[v].info.solution.wrong.desc,timeout:!1})):t[v].info.solution.wrong.desc===""&&(z!=null&&z.desc)?(D.current=(Q=z==null?void 0:z.rewards)!=null&&Q.length?[...D.current,...(z==null?void 0:z.rewards)||{}]:[...D.current],J(!0,{result:!1,text:z.desc,timeout:!1})):t[v].specificFeedbacks.specificWrongFeedbacks?(D.current=[...D.current,...(z==null?void 0:z.rewards)||{}],J(!0,{result:!1,timeout:!0})):(D.current=[...D.current,...t[v].info.solution.wrong.rewards],J(!0,{result:!1,timeout:!0}))},[g,l,t,v,J]),re=React$2.useCallback((V,z)=>{var be,Re,Le,Oe;V.stopPropagation();const Q=document.querySelectorAll(`[data-text-id="${z}"]`),ee=document.querySelectorAll("[data-text-id]"),le=t[v].correctTexts.find(Ke=>Ke.id===z),ue=t[v].wrongTexts.find(Ke=>Ke.id===z),he=(Re=(be=t[v])==null?void 0:be.specificFeedbacks)==null?void 0:Re.correctFeedbacks.find(Ke=>Ke.id===z),ve=(Oe=(Le=t[v])==null?void 0:Le.specificFeedbacks)==null?void 0:Oe.wrongFeedbacks.find(Ke=>Ke.id===z);g("click-ui"),t[v].hasClickOrder?t[v].correctTexts[N].id===z?(k(N+1),Y(Q,he)):t[v].correctTexts.find(Ke=>Ke.id===z)&&t[v].correctTexts[N].id!==z?(ee.forEach(Ke=>Ke.classList.remove("text-click__success")),k(0),C(0),P.current=0,J(!0,{result:!1,text:t[v].info.orderFeedback.desc||U("puzzles.incorrectOrder"),timeout:!1}),T(0)):q(Q,ve):(le==null?void 0:le.id)===z?Y(Q,he):((ue==null?void 0:ue.id)===z||z==="allWrong")&&q(Q,ve)},[t,v,g,N,Y,J,U,q]),ce=React$2.useCallback(V=>getRecursiveJSX(V,0,t[v],re),[v,t,re]),fe=React$2.useCallback(()=>{let V=0;for(let z=0;z<t.length;z+=1)if(t[z].hasClickOnce)V+=1,_(V);else for(let Q=0;Q<t[z].correctTexts.length;Q+=1)V+=1,_(V)},[t]);React$2.useEffect(()=>{var V;if(t!=null&&t[v]&&d({...t[v].info,description:o}),(V=t[v])!=null&&V.text){const z=HTMLReactParser$1(t[v].text);$.current=ce(z),fe()}else $.current=""},[v,o,fe,t,ce,d]);const te=()=>{for(let V=0;V<D.current.length;V=V+1)if(D.current[V].points>0)return!0;return!1};React$2.useEffect(()=>{h(()=>{l({type:"hidePuzzleButtons",payload:!0});const V=document.querySelectorAll(".text-click [data-text-id]"),z=t[v].correctTexts.map(ee=>ee.id);V.forEach(ee=>{z.includes(ee.getAttribute("data-text-id"))&&ee.classList.add("text-click__success")});const Q=t[v].info.resolve.rewards;v+1<t.length?(setTimeout(()=>{l({type:"puzzleAction",action:"addPoints",payload:{element:R,rewards:Q,finish:!1,payload:Q}});let ee=0;t.forEach((le,ue)=>{ue<=v&&(ee+=le.correctTexts.length)}),C(ee),$.current=null,P.current=0,M(!0),T(v+1)},2e3),setTimeout(()=>{M(!1),l({type:"hidePuzzleButtons",payload:!1})},3200)):v+1>=t.length&&te()?setTimeout(()=>{Q.forEach(ee=>{D.current.forEach(le=>{le.id===ee.id&&(ee.points=ee.points+le.points)})}),l({type:"puzzleAction",action:"resolve",payload:{element:R,rewards:Q,finish:!0}})},2e3):setTimeout(()=>{l({type:"puzzleAction",action:"resolve",payload:{element:R,rewards:Q,finish:v+1>=t.length}})},2e3)})},[h,l,t,v,R]);const H=React$2.useMemo(()=>{let V=`text-click text-click--${n}`;return p&&(V+=" disable-background-image"),V},[p,n]),W={pointerEvents:S.show?"none":null,backgroundImage:u!=null&&u.url?`url('${u.url}')`:""};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{className:H,style:W,children:[jsxRuntimeExports.jsx("div",{className:"text-click__overlay",children:jsxRuntimeExports.jsx("div",{className:`text-click__container ${F?"slideInLeft":""} `,children:jsxRuntimeExports.jsx("div",{className:"text-click__body",children:jsxRuntimeExports.jsx("div",{className:"text-click__scroll",dir:LangIsRtl()?"rtl":"auto",children:$.current})})})}),e&&jsxRuntimeExports.jsxs("div",{className:"text-click__paginator",children:[jsxRuntimeExports.jsx("div",{className:"text-click__icon-check-circle-black",children:jsxRuntimeExports.jsx("span",{className:"icon-check-circle-black"})}),jsxRuntimeExports.jsxs("span",{className:"text-click__slide",children:[w," / ",b]})]})]}),S.show&&jsxRuntimeExports.jsx(FeedbackComponent$1,{playSound:g,success:S.result,text:S.text,translate:U,functionOnClose:ie,hasTimeout:S.timeout,keyboardControl:f})]})}function _assertThisInitialized(l){if(l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l}function _inheritsLoose(l,e){l.prototype=Object.create(e.prototype),l.prototype.constructor=l,l.__proto__=e}/*!
252
+ `,EMPTY_PROPS={};function applyNodeProps(l,e,n=EMPTY_PROPS){if(!zIndexWarningShowed&&"zIndex"in e&&(console.warn(Z_INDEX_WARNING),zIndexWarningShowed=!0),!dragWarningShowed&&e.draggable){var t=e.x!==void 0||e.y!==void 0,a=e.onDragEnd||e.onDragMove;t&&!a&&(console.warn(DRAGGABLE_WARNING),dragWarningShowed=!0)}for(var o in n)if(!propsToSkip[o]){var d=o.slice(0,2)==="on",h=n[o]!==e[o];if(d&&h){var f=o.substr(2).toLowerCase();f.substr(0,7)==="content"&&(f="content"+f.substr(7,1).toUpperCase()+f.substr(8)),l.off(f,n[o])}var u=!e.hasOwnProperty(o);u&&l.setAttr(o,void 0)}var p=e._useStrictMode,x={},R=!1;const S={};for(var o in e)if(!propsToSkip[o]){var d=o.slice(0,2)==="on",E=n[o]!==e[o];if(d&&E){var f=o.substr(2).toLowerCase();f.substr(0,7)==="content"&&(f="content"+f.substr(7,1).toUpperCase()+f.substr(8)),e[o]&&(S[f]=e[o])}!d&&(e[o]!==n[o]||p&&e[o]!==l.getAttr(o))&&(R=!0,x[o]=e[o])}R&&(l.setAttrs(x),updatePicture(l));for(var f in S)l.on(f+EVENTS_NAMESPACE,S[f])}function updatePicture(l){if(!Global.Konva.autoDrawEnabled){var e=l.getLayer()||l.getStage();e&&e.batchDraw()}}var schedulerExports=requireScheduler();const NO_CONTEXT={},UPDATE_SIGNAL={};Konva.Node.prototype._applyProps=applyNodeProps;function appendInitialChild(l,e){if(typeof e=="string"){console.error(`Do not use plain text as child of Konva.Node. You are using text: ${e}`);return}l.add(e),updatePicture(l)}function createInstance(l,e,n){let t=Konva[l];t||(console.error(`Konva has no node with the type ${l}. Group will be used instead. If you use minimal version of react-konva, just import required nodes into Konva: "import "konva/lib/shapes/${l}" If you want to render DOM elements as part of canvas tree take a look into this demo: https://konvajs.github.io/docs/react/DOM_Portal.html`),t=Konva.Group);const a={},o={};for(var d in e){var h=d.slice(0,2)==="on";h?o[d]=e[d]:a[d]=e[d]}const f=new t(a);return applyNodeProps(f,o),f}function createTextInstance(l,e,n){console.error(`Text components are not supported for now in ReactKonva. Your text is: "${l}"`)}function finalizeInitialChildren(l,e,n){return!1}function getPublicInstance(l){return l}function prepareForCommit(){return null}function preparePortalMount(){return null}function prepareUpdate(l,e,n,t){return UPDATE_SIGNAL}function resetAfterCommit(){}function resetTextContent(l){}function shouldDeprioritizeSubtree(l,e){return!1}function getRootHostContext(){return NO_CONTEXT}function getChildHostContext(){return NO_CONTEXT}const scheduleTimeout=setTimeout,cancelTimeout=clearTimeout,noTimeout=-1;function shouldSetTextContent(l,e){return!1}const isPrimaryRenderer=!1,warnsIfNotActing=!0,supportsMutation=!0;function appendChild(l,e){e.parent===l?e.moveToTop():l.add(e),updatePicture(l)}function appendChildToContainer(l,e){e.parent===l?e.moveToTop():l.add(e),updatePicture(l)}function insertBefore(l,e,n){e._remove(),l.add(e),e.setZIndex(n.getZIndex()),updatePicture(l)}function insertInContainerBefore(l,e,n){insertBefore(l,e,n)}function removeChild(l,e){e.destroy(),e.off(EVENTS_NAMESPACE),updatePicture(l)}function removeChildFromContainer(l,e){e.destroy(),e.off(EVENTS_NAMESPACE),updatePicture(l)}function commitTextUpdate(l,e,n){console.error(`Text components are not yet supported in ReactKonva. You text is: "${n}"`)}function commitMount(l,e,n){}function commitUpdate(l,e,n,t,a){applyNodeProps(l,a,t)}function hideInstance(l){l.hide(),updatePicture(l)}function hideTextInstance(l){}function unhideInstance(l,e){(e.visible==null||e.visible)&&l.show()}function unhideTextInstance(l,e){}function clearContainer(l){}function detachDeletedInstance(){}const getCurrentEventPriority=()=>constantsExports.DefaultEventPriority,HostConfig=Object.freeze(Object.defineProperty({__proto__:null,appendChild,appendChildToContainer,appendInitialChild,cancelTimeout,clearContainer,commitMount,commitTextUpdate,commitUpdate,createInstance,createTextInstance,detachDeletedInstance,finalizeInitialChildren,getChildHostContext,getCurrentEventPriority,getPublicInstance,getRootHostContext,hideInstance,hideTextInstance,idlePriority:schedulerExports.unstable_IdlePriority,insertBefore,insertInContainerBefore,isPrimaryRenderer,noTimeout,now:schedulerExports.unstable_now,prepareForCommit,preparePortalMount,prepareUpdate,removeChild,removeChildFromContainer,resetAfterCommit,resetTextContent,run:schedulerExports.unstable_runWithPriority,scheduleTimeout,shouldDeprioritizeSubtree,shouldSetTextContent,supportsMutation,unhideInstance,unhideTextInstance,warnsIfNotActing},Symbol.toStringTag,{value:"Module"}));var __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(l,e,n)=>e in l?__defProp(l,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):l[e]=n,__spreadValues=(l,e)=>{for(var n in e||(e={}))__hasOwnProp.call(e,n)&&__defNormalProp(l,n,e[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(e))__propIsEnum.call(e,n)&&__defNormalProp(l,n,e[n]);return l},__spreadProps=(l,e)=>__defProps(l,__getOwnPropDescs(e));function traverseFiber(l,e,n){if(!l)return;if(n(l)===!0)return l;let t=e?l.return:l.child;for(;t;){const a=traverseFiber(t,e,n);if(a)return a;t=e?null:t.sibling}}function wrapContext(l){try{return Object.defineProperties(l,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return l}}const FiberContext=wrapContext(React__namespace.createContext(null));class FiberProvider extends React__namespace.Component{render(){return React__namespace.createElement(FiberContext.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner,ReactCurrentDispatcher}=React__namespace.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function useFiber(){const l=React__namespace.useContext(FiberContext);if(l===null)throw new Error("its-fine: useFiber must be called within a <FiberProvider />!");const e=React__namespace.useId();return React__namespace.useMemo(()=>{for(const t of[ReactCurrentOwner==null?void 0:ReactCurrentOwner.current,l,l==null?void 0:l.alternate]){if(!t)continue;const a=traverseFiber(t,!1,o=>{let d=o.memoizedState;for(;d;){if(d.memoizedState===e)return!0;d=d.next}});if(a)return a}},[l,e])}function useContextMap(){var l,e;const n=useFiber(),[t]=React__namespace.useState(()=>new Map);t.clear();let a=n;for(;a;){const o=(l=a.type)==null?void 0:l._context;o&&o!==FiberContext&&!t.has(o)&&t.set(o,(e=ReactCurrentDispatcher==null?void 0:ReactCurrentDispatcher.current)==null?void 0:e.readContext(wrapContext(o))),a=a.return}return t}function useContextBridge(){const l=useContextMap();return React__namespace.useMemo(()=>Array.from(l.keys()).reduce((e,n)=>t=>React__namespace.createElement(e,null,React__namespace.createElement(n.Provider,__spreadProps(__spreadValues({},t),{value:l.get(n)}))),e=>React__namespace.createElement(FiberProvider,__spreadValues({},e))),[l])}function usePrevious(l){const e=React$2.useRef({});return React$2.useLayoutEffect(()=>{e.current=l}),React$2.useLayoutEffect(()=>()=>{e.current={}},[]),e.current}const StageWrap=l=>{const e=React$2.useRef(),n=React$2.useRef(),t=React$2.useRef(),a=usePrevious(l),o=useContextBridge(),d=h=>{const{forwardedRef:f}=l;f&&(typeof f=="function"?f(h):f.current=h)};return React$2.useLayoutEffect(()=>(n.current=new Konva.Stage({width:l.width,height:l.height,container:e.current}),d(n.current),t.current=KonvaRenderer.createContainer(n.current,constantsExports.LegacyRoot,!1,null),KonvaRenderer.updateContainer(React$2.createElement(o,{},l.children),t.current),()=>{Konva.isBrowser&&(d(null),KonvaRenderer.updateContainer(null,t.current,null),n.current.destroy())}),[]),React$2.useLayoutEffect(()=>{d(n.current),applyNodeProps(n.current,l,a),KonvaRenderer.updateContainer(React$2.createElement(o,{},l.children),t.current,null)}),React$2.createElement("div",{ref:e,id:l.id,accessKey:l.accessKey,className:l.className,role:l.role,style:l.style,tabIndex:l.tabIndex,title:l.title})},Layer="Layer",Group="Group",Rect="Rect",Line="Line",Image$2="Image",Text="Text",KonvaRenderer=ReactFiberReconciler(HostConfig);KonvaRenderer.injectIntoDevTools({findHostInstanceByFiber:()=>null,bundleType:process.env.NODE_ENV!=="production"?1:0,version:React$2.version,rendererPackageName:"react-konva"});const Stage=React$2.forwardRef((l,e)=>React$2.createElement(FiberProvider,{},React$2.createElement(StageWrap,{...l,forwardedRef:e})));var client={},m=require$$0;if(process.env.NODE_ENV==="production")client.createRoot=m.createRoot,client.hydrateRoot=m.hydrateRoot;else{var i=m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;client.createRoot=function(l,e){i.usingClientEntryPoint=!0;try{return m.createRoot(l,e)}finally{i.usingClientEntryPoint=!1}},client.hydrateRoot=function(l,e,n){i.usingClientEntryPoint=!0;try{return m.hydrateRoot(l,e,n)}finally{i.usingClientEntryPoint=!1}}}var __rest=function(l,e){var n={};for(var t in l)Object.prototype.hasOwnProperty.call(l,t)&&e.indexOf(t)<0&&(n[t]=l[t]);if(l!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,t=Object.getOwnPropertySymbols(l);a<t.length;a++)e.indexOf(t[a])<0&&Object.prototype.propertyIsEnumerable.call(l,t[a])&&(n[t[a]]=l[t[a]]);return n};const needForceStyle=l=>{const e=window.getComputedStyle(l).position;return!(e==="absolute"||e==="relative")};function useEvent(l=()=>{}){const e=React$2.useRef(l);return e.current=l,React$2.useCallback((...n)=>e.current.apply(null,n),[])}const Html=({children:l,groupProps:e,divProps:n,transform:t,transformFunc:a})=>{const o=React$2.useRef(null);React$2.useRef();const[d]=React$2.useState(()=>document.createElement("div")),h=React$2.useMemo(()=>client.createRoot(d),[d]),f=t??!0,u=useEvent(()=>{if(f&&o.current){let E=o.current.getAbsoluteTransform().decompose();a&&(E=a(E)),d.style.position="absolute",d.style.zIndex="10",d.style.top="0px",d.style.left="0px",d.style.transform=`translate(${E.x}px, ${E.y}px) rotate(${E.rotation}deg) scaleX(${E.scaleX}) scaleY(${E.scaleY})`,d.style.transformOrigin="top left"}else d.style.position="",d.style.zIndex="",d.style.top="",d.style.left="",d.style.transform="",d.style.transformOrigin="";const p=n||{},{style:x}=p,R=__rest(p,["style"]);Object.assign(d.style,x),Object.assign(d,R)});return React$2.useLayoutEffect(()=>{var p;const x=o.current;if(!x)return;const R=(p=x.getStage())===null||p===void 0?void 0:p.container();if(R)return R.appendChild(d),f&&needForceStyle(R)&&(R.style.position="relative"),x.on("absoluteTransformChange",u),u(),()=>{var S;x.off("absoluteTransformChange",u),(S=d.parentNode)===null||S===void 0||S.removeChild(d)}},[f]),React$2.useLayoutEffect(()=>{u()},[n,a]),React$2.useLayoutEffect(()=>{h.render(l)}),React$2.useLayoutEffect(()=>()=>{setTimeout(()=>{h.unmount()})},[]),React$2.createElement(Group,Object.assign({ref:o},e))};function Area({area:l,finished:e,isClicked:n,isBad:t,hasHighlights:a,completed:o,onClick:d,onClickOutside:h}){const f=React$2.useRef(),[u,p]=React$2.useState(),x=t?"rgba(255, 99, 77, 0.32)":"rgba(75, 215, 169, 0.32)",R=t?"#ff634d":"#4bd7a9",S=DeviceDetection(),E=()=>{var _,w,C;a&&!o&&!n&&((_=f.current)==null||_.setAttr("fill","rgba(130, 134, 142, 0.4)"),(w=f.current)==null||w.setAttr("stroke","rgba(255, 255, 255, 0.3)"),(C=f.current)==null||C.to({duration:.25,opacity:1}))},g=()=>{var _;a&&!o&&!n&&((_=f.current)==null||_.to({duration:.25,opacity:0}))};React$2.useEffect(()=>{var _,w,C;o&&!e&&(t?(C=f.current)==null||C.to({duration:.25,opacity:0}):((_=f.current)==null||_.to({duration:.25,opacity:1}),(w=f.current)==null||w.globalCompositeOperation("destination-out")))},[o,e,t]);const v=()=>{var _,w;o||(t?h(l):d(l),(_=f.current)==null||_.setAttr("fill",x),(w=f.current)==null||w.setAttr("stroke",R))},T=l.scaleX?l.scaleX:1,b=l.scaleY?l.scaleY:1;return React$2.useLayoutEffect(()=>{const _=f.current.getStage();_.on("stage-loaded",()=>{const w=f.current.getClientRect({relativeTo:f.current.getParent()});p({x:w.x+w.width/2,y:w.y+w.height/2}),_.batchDraw()})},[l]),jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[u?jsxRuntimeExports.jsx(Html,{transform:!0,groupProps:{id:"projection",...u},divProps:{style:{pointerEvents:"none"}},children:jsxRuntimeExports.jsx("div",{style:{width:"50px",height:"50px",pointerEvents:"none"},id:l.id})}):null,jsxRuntimeExports.jsx(Line,{name:l.id,ref:f,onFocus:()=>E(),onMouseOver:()=>E(),onMouseLeave:g,onClick:()=>v(),onTap:()=>v(),x:l.x,y:l.y,scale:{x:T,y:b},skew:{x:l.skewX,y:l.skewY},rotation:l.rotation,points:l.points,shape:"poly",fill:e?"":x,stroke:e||n?R:"",strokeWidth:S?10:4,opacity:e||n?1:0,closed:!0})]})}Area.defaultProps={finished:!1,isBad:!1,isClicked:!1,hasHighlights:!1,completed:!1,onClick:()=>{},onClickOutside:()=>{}};const useWindowSize=()=>{const[l,e]=React$2.useState([0,0]);return React$2.useLayoutEffect(()=>{function n(){e([window.innerWidth,window.innerHeight])}return window.addEventListener("resize",n),n(),()=>window.removeEventListener("resize",n)},[]),l};function KonvaMapper({areas:l,badAreas:e,imageUrl:n,completed:t,onClick:a,onClickOutside:o,hasHighlights:d,clickedZones:h}){const f=React$2.useRef(),u=React$2.useRef(),p=React$2.useRef(),x=React$2.useRef(),R=React$2.useRef(),S=React$2.useRef(),E=React$2.useRef(),[g,v]=React$2.useState(new window.Image),[T,b]=useWindowSize(),_=e.find(P=>P.id==="AllArea")||!1,w=e.filter(P=>P.id!=="AllArea");React$2.useEffect(()=>{E.current&&u.current&&t&&(E.current.to({duration:.25,opacity:.5}),u.current.setAttr("visible",!0))},[t]);const C=P=>{_&&!P.target.attrs.shape&&o(_)};return React$2.useEffect(()=>{g.src=n,g.addEventListener("load",()=>{if(f.current){const P={x:T/2,y:b/2,width:g.width,height:g.height,offsetX:g.width/2,offsetY:g.height/2,scale:{x:Math.min(T/g.width,b/g.height),y:Math.min(T/g.width,b/g.height)}};x.current&&x.current.setAttrs(P),R.current&&R.current.setAttrs(P),u.current&&u.current.setAttrs(P),p.current&&p.current.setAttrs(P),S.current&&S.current.setAttrs(P),f.current.batchDraw(),v(g),f.current.fire("stage-loaded")}})},[g,b,n,T]),jsxRuntimeExports.jsxs(Stage,{ref:f,width:T,height:b,onClick:C,onTouchEnd:C,children:[jsxRuntimeExports.jsx(Layer,{children:jsxRuntimeExports.jsx(Image$2,{ref:S,image:g})}),jsxRuntimeExports.jsxs(Layer,{children:[jsxRuntimeExports.jsx(Rect,{ref:E,width:T,height:b,fill:"black",opacity:0}),jsxRuntimeExports.jsx(Group,{ref:R,children:w.map((P,D)=>jsxRuntimeExports.jsx(Area,{hasHighlights:d,completed:t,onClick:a,onClickOutside:o,area:P,isBad:!0},P.name+"_"+D))}),jsxRuntimeExports.jsx(Group,{ref:x,children:l.map((P,D)=>jsxRuntimeExports.jsx(Area,{hasHighlights:d,completed:t,onClick:a,onClickOutside:o,area:P,isClicked:h.some(N=>N.index===P.index)},P.name+"_"+D))}),jsxRuntimeExports.jsx(Group,{ref:p,visible:!1,children:w.map((P,D)=>jsxRuntimeExports.jsx(Area,{hasHighlights:d,completed:t,onClick:a,onClickOutside:o,area:P,isBad:!0,finished:!0},P.name+"_"+D))}),jsxRuntimeExports.jsx(Group,{ref:u,visible:!1,children:l.map((P,D)=>jsxRuntimeExports.jsx(Area,{hasHighlights:d,completed:t,onClick:a,onClickOutside:o,area:P,finished:!0},P.name+"_"+D))})]})]})}KonvaMapper.defaultProps={hasHighlights:!1,onClick:()=>{},completed:!1,onClickOutside:()=>{}};function TimerDialog({retry:l,translate:e,onInit:n}){return jsxRuntimeExports.jsx("div",{className:"timer-dialog",children:jsxRuntimeExports.jsxs("div",{className:"timer-dialog__container",children:[jsxRuntimeExports.jsx("div",{className:"timer-dialog__title",children:e("storylines.misc.ready")}),jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__primary",onClick:n,children:jsxRuntimeExports.jsx("span",{children:e(l?"storylines.misc.start":"storylines.misc.retry")})})]})})}function CountDown({time:l}){const e=Math.floor(l/60),n=l%60;return jsxRuntimeExports.jsx("div",{className:`count-down count-down--in-puzzle-frame ${l<10?"count-down--finalseconds":""}`,children:jsxRuntimeExports.jsxs("div",{children:[e<10?`0${e}`:e," : ",n<10?`0${Math.floor(n)}`:Math.floor(n)]})})}const defaultImg="https://min.gamelearn.io/css-resources/gamelearn/resources/puzzle-login-low.png";function ImageReview(){return jsxRuntimeExports.jsx("div",{className:"puzzle--image__preview",children:jsxRuntimeExports.jsx("img",{alt:"img",src:"https://min.gamelearn.io/css-resources/gamelearn/resources/image-click.jpg"})})}function ImageClickWrapperComponent(l){var Xe,Ye;const{soundActions:e,emitEvent:n,handleClick:t,disableExit:a,setResolveAction:o,info:d,image:h,areas:f,badAreas:u,hasClickOrder:p,timer:x,hasClickOnce:R,hasHighlights:S,hasImageReview:E,defaultCompleted:g,className:v,emitFinish:T,emitResolve:b,translateFromParent:_,specificFeedbacks:w,slideNumber:C,emitResetPuzzle:P,firstTryForFrame:D,puzzlesAutoCompleted:N,emitOpenPopupCounterInfo:k,pause:F,keyboardControl:M}=l,[U,$]=React$2.useState([]),[B,J]=React$2.useState(!1),[ne,ie]=React$2.useState(!1),[Y,q]=React$2.useState({show:!1,success:!1,text:"",rewards:[]}),re=React$2.useRef(!1),[ce,fe]=React$2.useState(!0),[te,H]=React$2.useState(!1),W=React$2.useRef(null),V=React$2.useRef(null),z=React$2.useRef(null),Q=React$2.useRef(null),ee=React$2.useRef(null),le=React$2.useRef(null),ue=React$2.useRef(null),he=React$2.useRef(null),ve=React$2.useRef(null),[be,Re]=React$2.useState(x),Le=Pe=>_?_(Pe):n({type:"translate",payload:Pe}),[Oe]=e,{solution:Ke}=d,St=h.img.url||defaultImg,it=f.map((Pe,Ae)=>({index:Ae,shape:"poly",...Pe})),gt=u.map((Pe,Ae)=>({index:Ae,shape:"poly",...Pe})),Ge=React$2.useCallback(()=>{if(!ce){const Pe=setInterval(()=>{Re(Ae=>Ae>1?Ae-1:0)},1e3);ve.current=Pe}},[ce]),Me=React$2.useCallback((Pe,Ae)=>{T?T(Pe,Ae):n({type:"addPoints",payload:Pe})},[n,T]);React$2.useEffect(()=>{B&&a(!0)},[B,a]),React$2.useEffect(()=>{J(g)},[g]);const De=React$2.useCallback(()=>{clearInterval(z.current)},[]),Ve=React$2.useCallback(()=>{clearInterval(ve.current)},[]),ct=React$2.useCallback(Pe=>{ee.current=Date.now(),Q.current?(ue.current=Q.current-ee.current,De()):(ue.current=ee.current-(ee.current-Pe*1e3),De())},[De]),dt=React$2.useCallback(()=>{q(()=>{var Pe,Ae;return{show:!0,success:!1,text:(Pe=d==null?void 0:d.timerFeedback)!=null&&Pe.desc?d.timerFeedback.desc:"",rewards:(Ae=d==null?void 0:d.timerFeedback)==null?void 0:Ae.rewards}}),H(!0),Ve(),De()},[Ve,De,(Xe=d.timerFeedback)==null?void 0:Xe.desc,(Ye=d.timerFeedback)==null?void 0:Ye.rewards]),rt=React$2.useCallback(()=>{clearInterval(z.current),z.current=setInterval(()=>{V.current=Date.now(),V.current>Q.current&&dt()},250)},[dt]);React$2.useEffect(()=>{var Pe;if((f.length===U.length||R&&U.length>0)&&!B){J(!0);const Ae=U[U.length-1],_e=w==null?void 0:w.correctFeedbacks.find(Ie=>Ie.id===Ae.id);(!((Pe=w==null?void 0:w.correctFeedbacks)!=null&&Pe.length)||w!=null&&w.correctFeedbacks.some(Ie=>!Ie.desc)||R)&&(q(Ie=>({...Ie,show:!0,success:!0,text:_e?_e.desc:d.solution.right.desc,rewards:_e?_e.rewards:d.solution.right.rewards})),x&&(Ve(),ct()))}},[U,f.length,w,R,B,d.solution.right,ct,x,Ve]),React$2.useEffect(()=>{o(Pe=>{x&&(Ve(),fe(!1),Y.show?q(Ae=>({...Ae,show:!1,success:!1,text:"",rewards:[]})):De()),J(!0),ie(!0),setTimeout(()=>{b?b(Pe):Pe()},4e3)})},[o,b,Oe,x,Y.show,De,Ve]),React$2.useEffect(()=>{ne&&a(!0)},[ne,a]);const xt=(Pe,Ae=!1)=>{var _e,Ie;if(!B){const{rewards:tt,desc:Gt}=Ke.wrong;let Dt=Gt,ke=tt;const mt=(_e=w==null?void 0:w.wrongFeedbacks)==null?void 0:_e.find(Pt=>Pt.id===Pe.id);mt&&(Dt=mt.desc,ke=mt.rewards),p&&($([]),Ae&&(Ie=d==null?void 0:d.orderFeedback)!=null&&Ie.desc&&(Dt=d.orderFeedback.desc,ke=d.orderFeedback.rewards)),x&&(Ve(),ct()),q(Pt=>({...Pt,show:!0,success:!1,text:Dt,rewards:ke})),Oe("fail")}},Et=React$2.useCallback(()=>{le.current=Date.now();const Pe=le.current+ue.current;V.current=null,Q.current=Pe,(x||te)&&(Y.success?f.length===U.length||R&&U.length>0?Ve():(Re(ue.current*.001),Ge(),rt()):($([]),fe(!0),P())),Me(Y.rewards,Y.success),Oe("click-ui"),q(Ae=>({...Ae,show:!1,success:!1,text:"",rewards:[]}))},[x,te,Me,Y.rewards,Y.success,Oe,f.length,U.length,R,P,Ve,Ge,rt]),Qe=Pe=>{var Ae,_e;if(!U.some(Ie=>Ie.index===Pe.index)&&!Y.show&&!B){Oe("click-ui");let Ie=Ke.right.desc,{rewards:tt}=Ke.right;const Gt=[...U,Pe];if(p&&Pe.index===U.length||!p){if(x&&ct(be),t(),(Ae=w==null?void 0:w.correctFeedbacks)!=null&&Ae.length){const Dt=(_e=w.correctFeedbacks)==null?void 0:_e.find(ke=>ke.id===Pe.id);Dt&&(Ie=Dt.desc,tt=Dt.rewards),!Ie&&f.length>Gt.length&&!R?Me(tt,!0):Ie&&!R&&(q(ke=>({...ke,show:!0,success:!0,text:Ie,rewards:tt})),x&&Ve())}$(Gt)}else xt(Pe,!0)}},Be=React$2.useCallback(()=>{Ve(),Re(x),Ge(),!re.current&&D&&k(),fe(!1),W.current=Date.now(),Q.current=W.current+x*1e3,rt()},[Ve,x,Ge,D,rt,k]);return React$2.useEffect(()=>{x&&C>0&&!he.current&&(D&&Object.keys(N).length&&N[C-1]?(fe(!0),he.current=!0):fe(!1))},[g,D,N,C,x]),React$2.useEffect(()=>{x&&be===0&&dt()},[be,dt,x]),React$2.useEffect(()=>{x&&(F?(Ve(),ct()):Ge())},[Ve,rt,F,ct,Ge,x]),jsxRuntimeExports.jsxs("div",{className:v,children:[Y.show?jsxRuntimeExports.jsx(FeedbackComponent$1,{playSound:Oe,text:Y.text,success:Y.success,translate:Le,hasTimeout:!Y.text,delay:x?1e3:2e3,functionOnClose:Et,timeExpired:te,keyboardControl:M}):null,jsxRuntimeExports.jsx(KonvaMapper,{completed:B,imageUrl:St,areas:R&&U.length?[U[0]]:it,badAreas:gt,clickedZones:U,onClick:Qe,onClickOutside:xt,hasHighlights:S,emitEvent:n}),E?jsxRuntimeExports.jsx(ImageReview,{}):null,x&&ce?jsxRuntimeExports.jsx(TimerDialog,{retry:D||N[C-1],translate:Le,onInit:Be}):null,x?jsxRuntimeExports.jsx(CountDown,{time:be}):null]})}ImageClickWrapperComponent.defaultProps={info:{instructions:"",resolve:{},solution:{},hint:{},title:""},badAreas:[],className:"puzzle--image__click",hasClickOrder:!1,hasClickOnce:!1,hasHighlights:!1,hasImageReview:!1,defaultCompleted:!1,hideContinue:!1,emitAreaClick:()=>{},handleClick:()=>{}};function ImageClickPuzzleComponent(l){const e=(n,t)=>{t?(l.emitEvent({type:"addPoints",complex:!0,finish:!0,payload:n}),l.emitEvent({type:"passPuzzle"})):(l.emitEvent({type:"addPoints",payload:n,finish:!1}),l.emitEvent({type:"failPuzzle"}))};return jsxRuntimeExports.jsx(ImageClickWrapperComponent,{...l,emitFinish:e,name:"image-click-puzzle"})}const GREEN="#44d7ab",ORANGE="#FFB34B",RED="#FF634D",getDistance=(l,e)=>Math.max(Math.abs(l[0]-e[0]),Math.abs(l[1]-e[1])),generatePasswordPositions=(l,e,n,t)=>{const a=[],o=l;for(const d of e.toLowerCase()){const h=Math.floor(Math.random()*n),f=Math.floor(Math.random()*t);o[h][f].value=d,a.push({char:d,position:[h,f]})}return[o,a]},paintedGridPassword=(l,e,n,t)=>{const a=l;for(let o=0;o<e;o+=1)for(let d=0;d<n;d+=1)switch(t.reduce((f,u)=>{const p=[o,d],x=getDistance(u.position,p);return x<f?x:f},9999)){case 0:a[o][d].hiddenColor=GREEN;break;case 1:a[o][d].hiddenColor=ORANGE;break;case 2:a[o][d].hiddenColor=RED;break}return a},resetColors=(l,e,n)=>{const t=n;for(let a=0;a<l;a+=1)for(let o=0;o<e;o+=1)t[a][o].color="",t[a][o].hiddenColor=RED;return t},repaintGridPassword=(l,e,n,t)=>{const a=resetColors(n,t,l),[o,d]=generatePasswordPositions(a,e,n,t);return paintedGridPassword(o,n,t,d)},prepareAcceptedChars=(l,e)=>e.split("").filter(n=>!l.includes(n)).join(""),generateBasicGrid=(l,e,n)=>{const t=[];for(let a=0;a<l;a+=1){const o=[];for(let d=0;d<e;d+=1){const h={color:"",hiddenColor:RED,value:n[Math.floor(Math.random()*n.length)]};o.push(h)}t.push(o)}return t},makeSomeNoise=({numberOfColumns:l,numberOfRows:e,password:n})=>{const t=LangIsRtl()?"٠١٢٣٤٥٦٧٨٩شزذيثبلاهتنمورخحضقسفعدصطغظ":"0123456789abcdefghijklmnopqrstuvwxyz",a=prepareAcceptedChars(n,t),o=generateBasicGrid(e,l,a),[d,h]=generatePasswordPositions(o,n,e,l);return paintedGridPassword(d,e,l,h)};function DrawItem({item:l,rowIndex:e,columnIndex:n,setCursorPosition:t,cursorPosition:a}){const o=Math.abs(e-a[0])<3&&Math.abs(n-a[1])<3;return jsxRuntimeExports.jsx("span",{className:"puzzle--cracker__item",style:{backgroundColor:`${o?l.hiddenColor:l.color}`,flexGrow:1,textAlign:"center"},onMouseOver:()=>{t([e,n])},onFocus:()=>{t([e,n])},children:l.value})}DrawItem.defaultProps={setCursorPosition:()=>{}};DrawItem.propTypes={item:PropTypes.shape({color:PropTypes.string,hiddenColor:PropTypes.string,value:PropTypes.string}).isRequired,rowIndex:PropTypes.number.isRequired,columnIndex:PropTypes.number.isRequired,cursorPosition:PropTypes.arrayOf(PropTypes.number).isRequired,setCursorPosition:PropTypes.func};function DrawRow({row:l,rowIndex:e,setCursorPosition:n,cursorPosition:t}){return l.length?jsxRuntimeExports.jsx("div",{className:"puzzle--cracker",children:l.map((a,o)=>jsxRuntimeExports.jsx(DrawItem,{item:a,rowIndex:e,columnIndex:o,setCursorPosition:n,cursorPosition:t},o))}):null}DrawRow.defaultProps={row:[]};DrawRow.propTypes={row:PropTypes.arrayOf(PropTypes.shape({})),rowIndex:PropTypes.number.isRequired,setCursorPosition:PropTypes.func.isRequired,cursorPosition:PropTypes.arrayOf(PropTypes.number).isRequired};function DrawGrid({grid:l,cursorPosition:e,setCursorPosition:n}){return jsxRuntimeExports.jsx("div",{className:"puzzle--cracker__canvas",children:l.map((t,a)=>jsxRuntimeExports.jsx(DrawRow,{row:t,rowIndex:a,cursorPosition:e,setCursorPosition:n},a))})}DrawGrid.defaultProps={setCursorPosition:()=>{}};const VELOCITY_MAP={slow:2,fast:5,fastest:10},DIFFICULTY_MAP={easy:{visibleRows:"auto",visibleColumns:40,totalRows:25},medium:{visibleRows:"auto",visibleColumns:40,totalRows:40},hard:{visibleRows:"auto",visibleColumns:40,totalRows:80}};function CrackerPuzzleComponent({emitEvent:l,soundActions:e,info:n,velocity:t,password:a,disableExit:o,difficulty:d,setResolveAction:h}){const[f]=e,u=fe=>l({type:"translate",payload:fe}),p=React$2.useRef(),x=React$2.useRef(),{solution:R}=n,[S,E]=React$2.useState(a.toLowerCase()),[g,v]=React$2.useState(),[T,b]=React$2.useState(Array(a.toLowerCase().length).fill("")),[_,w]=React$2.useState(!1),[C,P]=React$2.useState([0,0]),D=u("puzzle.cracker.crackedPassword"),N=n.solution.right.desc&&n.solution.right.desc!==""?n.solution.right.desc:"",k=u("puzzle.cracker.congratulations"),[F,M]=React$2.useState([[]]),{visibleRows:U,visibleColumns:$}=DIFFICULTY_MAP[d];let B=U==="auto"?Math.ceil(window.innerHeight*.025):U;B=B>=20?B:20,React$2.useEffect(()=>{_&&o(!0)},[_,o]),React$2.useEffect(()=>{h(fe=>{f("score"),w(!0),setTimeout(()=>{l({type:"hidePuzzleButtons",payload:!1}),fe()},0)})},[h,f]);const J=()=>{f("click-ui");const{rewards:fe}=R.right;l({type:"addPoints",complex:!0,finish:!0,payload:fe}),l({type:"passPuzzle"})},ne=()=>a.toLowerCase().split("").map((te,H)=>({char:te,index:H,used:!1})),ie=fe=>fe.filter(te=>te.used===!1).map(te=>te.char).join(""),Y=fe=>{if(fe[0].length>0&&!_){const te=[...fe];return te.push(te.shift()),te}return fe};let q=0;const re=fe=>{if(x.current!==void 0){const te=fe-x.current;q+=te,q>1e3/VELOCITY_MAP[t]&&(M(Y),q=0)}x.current=fe,p.current=requestAnimationFrame(re)};React$2.useEffect(()=>{E(a.toLowerCase());const fe=makeSomeNoise({numberOfColumns:$,numberOfRows:B,password:a.toLowerCase()});return M(fe),v(ne()),p.current=requestAnimationFrame(re),()=>cancelAnimationFrame(p.current)},[]);const ce=()=>{if(F.length<=1)return;const[fe,te]=C,H=F[fe][te];if(H.hiddenColor===GREEN){const W=g.filter(V=>V.char===H.value.toLowerCase()&&V.used===!1)[0];if(W){const{index:V}=W;f("score");const z=g;z[V].used=!0,v(z);const Q=[...T];Q[V]=H.value;const ee=ie(z);E(ee);const le=repaintGridPassword(F,ee,B,$);M(le),b(Q)}}S<=0&&(f("score"),w(!0))};return React$2.useEffect(()=>{_||ce()},[C]),jsxRuntimeExports.jsxs("div",{className:"puzzle--cracker__container",children:[jsxRuntimeExports.jsxs("div",{className:"puzzle--cracker__header",children:[jsxRuntimeExports.jsx("span",{className:"title",children:"Dcoder.exe"}),jsxRuntimeExports.jsx("div",{className:"puzzle--pieces",children:T.map((fe,te)=>jsxRuntimeExports.jsx("span",{className:"puzzle--pieces__item",children:fe&&jsxRuntimeExports.jsx("span",{className:"character success-transition-animation","data-testid":`solution${te}`,children:fe})},`${fe+te}`))})]}),jsxRuntimeExports.jsx(DrawGrid,{grid:_?[[]]:F,cursorPosition:C,setCursorPosition:P}),_&&D&&k&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs(Typist,{avgTypingDelay:110,cursor:{hideWhenDone:!0},className:"puzzle--cracker__result",children:[jsxRuntimeExports.jsx(Typist.Delay,{ms:300}),jsxRuntimeExports.jsxs("span",{children:[`${D} ${a.toLowerCase()}`," "]}),jsxRuntimeExports.jsxs("span",{children:[k," "]}),N!==""&&jsxRuntimeExports.jsx("span",{children:N})]}),jsxRuntimeExports.jsx("div",{className:"position--absolute bottom center",children:jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__primary gat--btn__cracker",onClick:J,children:u("screens.continue")})})]})]})}CrackerPuzzleComponent.defaultProps={velocity:"slow",difficulty:"easy",context:{},info:{}};const ARABIC=/[\u0600-\u06FF]/,restrictCharacters=(l,e)=>{let n=!1;return e==="or"&&(n=l===""||l===" "||l===","||l==="."||l==="/"),e==="and"&&(n=l&&l!==" "&&l!==","&&l!=="."&&l!==""&&l!=="/"),n},sortChar=(l,e)=>l.char>e.char?1:l.char<e.char?-1:0,analyzeChars=l=>{const e={anyArabic:!1,anyNumber:!1,anyWestern:!1};for(let n=0;n<l.length;n+=1){const t=l[n].charCodeAt(0);t>=65&&t<=90?e.anyWestern=!0:t>=48&&t<=57?e.anyNumber=!0:ARABIC.test(l[n])&&(e.anyArabic=!0)}return e},makeChar=l=>{const e="شزذيثبلاهتنمورخحضثقسفعدصطغظ",n="ABCDEFGHIJKLMNOPQRSTUVWXYZ",t="0123456789";let a="";return l.anyWestern&&(a+=n),l.anyNumber&&(a+=t),l.anyArabic&&(a+=e),a.charAt(Math.floor(Math.random()*a.length))},MAX_POOL_LETTERS=26,MAX_EXTRA_LETTERS=8,AnswerPanel=({answer:l,flickerPosition:e,show:n=!1,showCorrectSolution:t})=>{const a=[];let o=0;return l.forEach(d=>{a[o]||(a[o]=[]),a[o]=[...a[o],d],d.char===" "&&(o+=1),t||(d.positionInitial=d.index)}),a.map((d,h)=>jsxRuntimeExports.jsx("div",{dir:"auto",className:"puzzle--hanged__word","data-testid":`result-${h}`,children:n?d.map((f,u)=>jsxRuntimeExports.jsx("span",{className:"puzzle--hanged__letter active",children:f},`${f+u}`)):d.filter(({char:f})=>f!==" ").map(({char:f,fixed:u},p)=>jsxRuntimeExports.jsx("span",{className:`puzzle--hanged__letter ${u?"":"active"} ${d[p].positionInitial===e?"fakeFocus":""}`,children:f},`${f+p}`))},`${d+h}`))},defaultImage="https://min.gamelearn.io/css-resources/gamelearn/resources/partenon.jpg";function HangedPuzzleComponent({soundActions:l,emitEvent:e,disableExit:n,question:t,image:a,info:o,answer:d,hintUsed:h,setResolveAction:f,setHintAction:u,keyboardControl:p}){var le;const[x]=l,R=((le=a.img)==null?void 0:le.url)||defaultImage,[S,E]=React$2.useState(0),[g,v]=React$2.useState(!1),[T,b]=React$2.useState([]),[_,w]=React$2.useState(!1),[C,P]=React$2.useState([]),[D,N]=React$2.useState(""),[k,F]=React$2.useState(!1),[M,U]=React$2.useState([]),[$,B]=React$2.useState(!1),J=d.toUpperCase().split(""),ne=J.filter(ue=>restrictCharacters(ue,"and")),ie=ue=>e({type:"translate",payload:ue}),Y=React$2.useCallback(()=>{const ue=ne.map(be=>({char:be}));let he=[];const ve=analyzeChars(ne);for(;he.length<MAX_EXTRA_LETTERS;){const be=makeChar(ve);he=[...he,{char:be}]}return[...ue,...he]},[ne]),q=d.toUpperCase().split("").map((ue,he)=>restrictCharacters(ue,"or")?{index:he,letter:ue,char:ue,fixed:!0}:{index:he,letter:ue,char:""}),re=React$2.useCallback(()=>{let ue=Y();for(;ue.length>MAX_POOL_LETTERS;){const he=Math.trunc(Math.random()*(ue.length-1))+1,ve=ue[he],be=q.find((Re,Le)=>ve.char===Re.letter&&!q[Le].fixed);be&&(ue.splice(he,1),q[be.index]={...be,char:be.letter,fixed:!0})}h&&(ue=[],q.forEach(({letter:he})=>{he!==" "&&ue.push({char:he})})),P(q),b(ue)},[q,h,Y]),ce=(ue,he)=>T.map((be,Re)=>Re===he?{...be,deleted:!0}:{...be}),fe=(ue,he,ve)=>{const be=he.map((Le,Oe)=>ve.find(St=>St.poolIndex===Oe)?{char:Le.char}:Le);b(be),P(ue);const Re=ue.find(Le=>Le.char==="");E(Re.index)},te=(ue,he)=>{x("click-ui");let ve=!1;const be=C.map(Oe=>!Oe.char&&!ve?(ve=!0,{...Oe,char:ue,poolIndex:he}):Oe),Re=ce(ue,he),Le=be.filter(Oe=>Oe.char).length;b(Re),P(be),H(),Le===C.length&&Q(be,Re)},H=()=>{var ue;if(g){const he=C.find(ve=>ve.index!==S&&ve.letter!==" "&&ve.char===""&&ve.poolIndex===!1);he&&E(he.index)}else{const he=C.find(ve=>ve.char==="");E(he.index+1),((ue=C[he.index+1])==null?void 0:ue.letter)===" "&&E(he.index+2)}},W=()=>{x("click-ui");const ue=C.map((he,ve)=>C[C.length-1-ve]).find(he=>he.char&&!he.fixed);if(ue){const he=C.map(Re=>Re.index===ue.index?{...ue,char:""}:Re);let ve=!1;const be=T.map((Re,Le)=>Le===ue.poolIndex&&(Re.deleted||!ve)?(ve=!0,{char:Re.char}):Re);b(be),P(he),E(ue.index)}},V=()=>{n(!0),N("");const ue=[...M,...o.solution.right.rewards];x("score"),e({type:"hidePuzzleButtons",payload:!1}),e({type:"addPoints",complex:!0,finish:!0,payload:ue}),e({type:"passPuzzle"})},z=()=>{x("fail"),e({type:"hidePuzzleButtons",payload:!1}),U([...M,...o.solution.wrong.rewards]),N(""),F(!1),e({type:"failPuzzle"}),v(!0)},Q=(ue,he)=>{let ve=[];F(!0);const be=ue.map((Le,Oe)=>J[Oe]===Le.char?{...Le,fixed:!0}:(ve=[...ve,Le],{...Le,poolIndex:!1,char:""})),Re=be.filter(Le=>Le.fixed).length;e({type:"hidePuzzleButtons",payload:!0}),Re===J.length?(N("success"),o.solution.right.desc===""&&setTimeout(()=>{V()},2e3)):(N("failed"),fe(be,he,ve),o.solution.wrong.desc===""&&setTimeout(()=>{z()},2e3))},ee=()=>{if(D==="success")V();else{z();const ue=C.find(he=>he.char==="");E(ue.index)}};return React$2.useEffect(()=>{_||(w(!0),re()),f(ue=>{B(!0),setTimeout(()=>{e({type:"hidePuzzleButtons",payload:!1}),ue()},2e3)}),u(ue=>{const he=[];q.forEach(({letter:ve})=>{ve!==" "&&he.push({char:ve})}),b(he),ue()})},[re,_,d,f,e,M,o.resolve.rewards,q,u]),jsxRuntimeExports.jsxs("div",{className:"puzzle--hanged",style:{backgroundImage:`url("${R}")`},children:[D?jsxRuntimeExports.jsx(FeedbackComponent$1,{playSound:x,text:o.solution[D==="success"?"right":"wrong"].desc,success:D==="success",translate:ie,functionOnClose:ee,keyboardControl:p}):null,jsxRuntimeExports.jsx("div",{className:"puzzle--hanged__content",children:jsxRuntimeExports.jsxs("div",{className:"puzzle--hanged__controls",children:[jsxRuntimeExports.jsx("div",{dir:"auto",className:"puzzle--hanged__header",children:t}),jsxRuntimeExports.jsx("div",{dir:"auto",className:`puzzle--hanged__solution ${D}`,"data-testid":`${D}`,children:$?jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsx(AnswerPanel,{showCorrectSolution:$,answer:d.split(""),show:!0})}):jsxRuntimeExports.jsx(AnswerPanel,{showCorrectSolution:$,flickerPosition:S,answer:C})}),jsxRuntimeExports.jsxs("div",{className:"puzzle--hanged__keyboard",children:[T.sort((ue,he)=>sortChar(ue,he)).map((ue,he)=>jsxRuntimeExports.jsx("button",{"data-testid":`key-${ue.char}`,type:"button",onClick:()=>{!ue.deleted&&!D&&!k&&(te(ue.char,he),x("click-ui"))},className:`puzzle--hanged__keyboard--item ${ue.deleted||k?"disabled":""}`,children:ue.char},`${ue+he}`)),jsxRuntimeExports.jsx("button",{onClick:k?null:()=>W(),type:"button",disabled:k?"disabled":null,"aria-label":ie("puzzles.hanged-puzzle.deleteButton"),className:`puzzle--hanged__keyboard--item delete ${k?"disabled":""}`,children:jsxRuntimeExports.jsx("span",{className:"icon-delete-keyboard"})})]})]})})]})}HangedPuzzleComponent.defaultProps={question:"",answer:"",image:{},hintBought:!1,info:{description:"",instructions:"",resolve:{},solution:{},hintBought:{}}};function CurrentImageClickPuzzle({list:l,description:e,nodeId:n,setInfo:t,emitEvent:a,disableExit:o,setResolveAction:d,soundActions:h,setSelected:f,selected:u,pause:p,loadPuzzleStatus:x,index:R,setIndex:S,slidesCompleted:E,setSlidesCompleted:g,keyboardControl:v,totalCorrects:T}){const b=React$2.useRef([]),_=React$2.useRef(0),w=React$2.useRef(0),C=`chained-image-click-puzzle_${R}_${n}`,[P]=h,D=Y=>{b.current=[...b.current,...Y]},N=React$2.useCallback(Y=>{P("score"),a({type:"hidePuzzleButtons",payload:!1}),a({type:"addPoints",complex:!0,finish:!0,payload:[...b.current,...Y]}),a({type:"passPuzzle"})},[P,a]),[k,F]=React$2.useState(!1),M=l[R],{info:U,specificFeedbacks:$}=M;U.description=e,React$2.useEffect(()=>{_.current=0,w.current=0,F(!1)},[R]);const B=React$2.useCallback((Y,q=!1)=>{var ce;let re={...E};if(q){if((ce=$==null?void 0:$.correctFeedbacks)!=null&&ce.length&&!M.hasClickOnce){const fe=$.correctFeedbacks.length;k&&fe?(_.current>0?f(u+(fe-_.current)):f(u+fe),_.current=fe):_.current+=1}else{let fe=u;w.current&&(fe-=w.current),_.current=M.areas.length,f(fe+_.current)}_.current===M.areas.length&&(R+1>=l.length?N(Y):S(R+1),re={...re,[R]:!0},g(re)),D(Y)}else a({type:"addPoints",payload:Y,finish:!1}),a({type:"failPuzzle"}),M.hasClickOrder&&(f(u-_.current),_.current===0&&Object.entries(E).length===0?f(0):_.current=0),Object.entries(E).length===0&&M.hasClickOrder&&!u&&f(0)},[E,$,M.hasClickOnce,M.areas.length,M.hasClickOrder,k,f,u,R,l.length,g,N,S,a]),J=()=>{for(let Y=0;Y<b.current.length;Y=Y+1)if(b.current[Y].points>0)return!0;return!1},ne=()=>{F(!0),R>=l.length-1&&f(T),P("score"),R+1>=l.length&&J()?(U.resolve.rewards.forEach(Y=>{b.current.forEach(q=>{q.id===Y.id&&(Y.points=Y.points+q.points)})}),a({type:"puzzleAction",action:"resolve",payload:{element:C,rewards:U.resolve.rewards,finish:!0}})):a({type:"puzzleAction",action:"resolve",payload:{element:C,rewards:U.resolve.rewards,finish:R+1>=l.length}})};React$2.useEffect(()=>{t({...U,hintId:C})},[U,C,t]),React$2.useEffect(()=>{x&&R!==l.length-1&&B([],!0)},[R,l.length,x,B]);const ie=()=>{const Y=M.hasClickOnce?M.areas.length:1;w.current+=Y,f(u+Y)};return jsxRuntimeExports.jsx(ImageClickWrapperComponent,{...M,puzzle:{name:C,component:"chained-image-click-puzzle"},specificFeedbacks:$,emitFinish:B,emitError:D,emitResolve:ne,isLast:R+1===l.length,defaultCompleted:E[R]||!!x,hideContinue:R+1!==l.length,handleClick:ie,emitEvent:a,disableExit:o,soundActions:h,setResolveAction:d,pause:p,keyboardControl:v},R)}function ChainedImageClickPuzzleComponent(l){const{setInfo:e,emitEvent:n,nodeId:t,list:a,description:o,soundActions:d,showFrames:h,disableExit:f,setResolveAction:u,pause:p,keyboardControl:x}=l,[R,S]=React$2.useState(0),[E,g]=React$2.useState(0),[v,T]=React$2.useState({}),b=`chained-image-click-puzzle_${E}_${t}`,_=React$2.useMemo(()=>n({type:"loadObjectStatus",payload:b}),[n,b]),w=a.reduce((P,D)=>P+D.areas.length,0),C={list:a,description:o,nodeId:t,disableExit:f,setResolveAction:u,emitEvent:n,soundActions:d,setInfo:e,setSelected:S,selected:R,index:E,setIndex:g,slidesCompleted:v,setSlidesCompleted:T,loadPuzzleStatus:_,pause:p,keyboardControl:x,totalCorrects:w};return jsxRuntimeExports.jsxs("div",{className:"puzzle--image__click",children:[h?jsxRuntimeExports.jsxs("div",{className:"puzzle-image__info",children:[jsxRuntimeExports.jsx("span",{className:"info-circle"}),jsxRuntimeExports.jsxs("span",{children:[R," / ",w]})]}):null,jsxRuntimeExports.jsx(CurrentImageClickPuzzle,{...C})]})}function CurrentFramePuzzle({list:l,index:e,puzzlesCompiledRef:n,framesCompleted:t,handleFinish:a,accRewards:o,setRewards:d,setIndex:h,setFramesCompleted:f,loadPuzzleStatus:u,soundActions:p,setResolveAction:x,disableExit:R,description:S,translateFromParent:E,setInfo:g,emitEvent:v,nodeId:T,setSelected:b,selected:_,emitResetPuzzle:w,firstTryForFrame:C,setPuzzlesAutoCompleted:P,puzzlesAutoCompleted:D,emitOpenPopupCounterInfo:N,resetValues:k,setResetValues:F,pause:M,keyboardControl:U,totalCorrects:$}){var Q;const[B]=p,[J,ne]=React$2.useState(!1),ie=l[e],{info:Y,specificFeedbacks:q}=ie;Y.description=S;const re=React$2.useRef(0),ce=React$2.useRef(0),fe=`frame-image-click-puzzle_${e}_${T}`;React$2.useEffect(()=>{n.current+=1},[n]),React$2.useEffect(()=>{g({...Y,hintId:fe})},[g,Y,fe]),React$2.useEffect(()=>{k&&(ce.current=0,re.current=0,b(0),F(!1))},[k,F,b]),React$2.useEffect(()=>{ce.current=0,re.current=0,ne(!1)},[e]);const te=React$2.useCallback((ee,le=!1)=>{var he;let ue={...t};if(le){if((he=q==null?void 0:q.correctFeedbacks)!=null&&he.length&&!ie.hasClickOnce){const ve=q.correctFeedbacks.length;J&&ve?(ce.current>0?b(_+(ve-ce.current)):b(_+ve),ce.current=ve):ce.current+=1}else{let ve=_;re.current&&(ve-=re.current),ce.current=ie.areas.length,D[0]&&Object.entries(t).length===0?b(ce.current):b(ve+ce.current)}ce.current===ie.areas.length&&(e+1>=l.length&&a(ee),ue={...ue,[e]:!0},f(ue),h(e+1>l.length-1?0:e+1)),d(ee)}else v({type:"addPoints",payload:ee,finish:!1}),v({type:"failPuzzle"}),ie.hasClickOrder&&(b(_-ce.current),ce.current=0)},[t,(Q=q==null?void 0:q.correctFeedbacks)==null?void 0:Q.length,ie.hasClickOnce,ie.areas.length,ie.hasClickOrder,d,J,b,_,D,e,l.length,f,h,a,v]),H=React$2.useCallback(()=>{for(let ee=0;ee<o.current.length;ee=ee+1)if(o.current[ee].points>0)return!0;return!1},[o]),W=React$2.useCallback(()=>{ne(!0),e>=l.length-1&&b($),B("score"),v({type:"hidePuzzleButtons",payload:!1}),P(ee=>({...ee,[e]:!0})),e+1>=l.length&&H()?(Y.resolve.rewards.forEach(ee=>{o.current.forEach(le=>{le.id===ee.id&&(ee.points=ee.points+le.points)})}),v({type:"puzzleAction",action:"resolve",payload:{element:fe,rewards:Y.resolve.rewards,finish:!0}})):v({type:"puzzleAction",action:"resolve",payload:{element:fe,rewards:Y.resolve.rewards,finish:e+1>=l.length}})},[e,l.length,B,v,P,H,b,$,Y.resolve.rewards,fe,o]),V=React$2.useCallback(()=>{f({}),ce.current=0,re.current=0,w()},[w,f]);React$2.useEffect(()=>{u&&e!==l.length-1&&te([],!0)},[t,e,l.length,u,te]);const z=()=>{const ee=ie.hasClickOnce?ie.areas.length:1;re.current+=ee,b(_+ee)};return jsxRuntimeExports.jsx(ImageClickWrapperComponent,{...ie,className:"puzzle-frame__canvas",puzzle:{name:"",component:"frame-click-puzzle"},specificFeedbacks:q,emitFinish:te,emitResolve:W,hideContinue:!0,disableInfo:n.current>1,defaultCompleted:t[e]||!!u,soundActions:p,setResolveAction:x,disableExit:R,translateFromParent:E,emitEvent:v,slideNumber:e,handleClick:z,emitResetPuzzle:V,firstTryForFrame:C,puzzlesAutoCompleted:D,emitOpenPopupCounterInfo:N,pause:M,keyboardControl:U},e)}function Tooltip({emitEvent:l}){const e=n=>l({type:"translate",payload:n});return jsxRuntimeExports.jsx("div",{dir:"auto",className:"puzzle-frame__info--tooltip",children:e("puzzles.counterTooltip")})}function Counter({current:l,total:e,tooltip:n,emitEvent:t}){return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[n?jsxRuntimeExports.jsx(Tooltip,{emitEvent:t}):null,jsxRuntimeExports.jsxs("div",{className:"puzzle-frame__info--frames",children:[jsxRuntimeExports.jsx("span",{className:"info-circle"}),jsxRuntimeExports.jsxs("span",{children:[l," / ",e]})]})]})}function FrameImageClickComponent({emitEvent:l,nodeId:e,list:n,description:t,showFrames:a,soundActions:o,disableExit:d,setResolveAction:h,setInfo:f,pause:u,keyboardControl:p}){const[x,R]=React$2.useState({}),S=React$2.useRef([]),[E,g]=React$2.useState(0),[v,T]=React$2.useState({}),[b,_]=React$2.useState(0),w=React$2.useRef(0),[C,P]=React$2.useState(!0),[D,N]=React$2.useState(!0),[k,F]=React$2.useState(!1),M=n.reduce((ce,fe)=>ce+fe.areas.length,0),U=ce=>{S.current=[...S.current,...ce]},$=`frame-image-click-puzzle_${E}_${e}`,B=React$2.useMemo(()=>l({type:"loadObjectStatus",payload:$}),[l,$]),J=React$2.useCallback(ce=>{l({type:"addPoints",complex:!0,finish:!0,payload:[...S.current,...ce]}),l({type:"passPuzzle"})},[l]),ne=React$2.useCallback(()=>{N(!1),S.current=[],_(0),g(0),T({}),P(!0),F(!0)},[]),ie=ce=>l({type:"translate",payload:ce}),Y=()=>{P(!0)},re={firstTryForFrame:D,list:n,description:t,index:E,puzzlesCompiledRef:w,framesCompleted:v,handleFinish:J,setRewards:U,accRewards:S,setSelected:_,selected:b,setIndex:g,setFramesCompleted:T,loadPuzzleStatus:B,soundActions:o,setResolveAction:h,disableExit:d,translateFromParent:ie,setInfo:f,emitEvent:l,nodeId:e,emitResetPuzzle:ne,resetValues:k,setResetValues:F,setPuzzlesAutoCompleted:R,puzzlesAutoCompleted:x,emitOpenPopupCounterInfo:()=>{E===0&&P(!1)},pause:u,keyboardControl:p,totalCorrects:M};return jsxRuntimeExports.jsxs("div",{className:"puzzle-frame",children:[jsxRuntimeExports.jsx(CurrentFramePuzzle,{...re}),jsxRuntimeExports.jsxs("div",{className:"puzzle-frame__content",children:[jsxRuntimeExports.jsx("div",{className:"puzzle-frame__controls",children:jsxRuntimeExports.jsx("div",{className:"puzzle-frame__progress",children:jsxRuntimeExports.jsx("div",{"data-testid":"puzzle-frame-progress",style:{width:`${b/M*100}%`},className:"puzzle-frame__progress--handle"})})}),a?jsxRuntimeExports.jsx("button",{"data-testid":"puzzle-frame-counter-button",disabled:C,"aria-hidden":C,type:"button",className:"puzzle-frame__info",onClick:Y,children:jsxRuntimeExports.jsx(Counter,{current:b,total:M,tooltip:!C,emitEvent:l})}):null]})]})}FrameImageClickComponent.defaultProps={description:"",context:{},nodeId:0,showFrames:!1};function EditButton({action:l,className:e}){return jsxRuntimeExports.jsx("div",{role:"button",tabIndex:0,"aria-label":`${l} edit button`,onKeyUp:()=>{},className:`puzzle--webBuilder__edit ${e}`,onClick:l,children:jsxRuntimeExports.jsx("span",{className:"icon-fb-edit"})})}EditButton.defaultProps={action:()=>{},className:""};const path="https://min.gamelearn.io/css-resources/gamelearn/resources/",imagesOptions=[{name:"webbuilder.imageOptions.image1",src:"Amor.jpg"},{name:"webbuilder.imageOptions.image2",src:"Bancorp.svg"},{name:"webbuilder.imageOptions.image3",src:"Amanda.jpg"},{name:"webbuilder.imageOptions.image4",src:"keyboard.jpg"},{name:"webbuilder.imageOptions.image5",src:"Melanie.jpg"},{name:"webbuilder.imageOptions.image6",src:"Sharon.jpg"},{name:"webbuilder.imageOptions.image7",src:"Bankex.svg"},{name:"webbuilder.imageOptions.image8",src:"Futbol.jpg"},{name:"webbuilder.imageOptions.image9",src:"GBL.svg"},{name:"webbuilder.imageOptions.image10",src:"Fooder.jpg"},{name:"webbuilder.imageOptions.image11",src:"Corporate.jpg"},{name:"webbuilder.imageOptions.image12",src:"Bank of Zamunda.svg"},{name:"webbuilder.imageOptions.image13",src:"mindfullness.jpg"},{name:"webbuilder.imageOptions.image14",src:"Nature.jpg"},{name:"webbuilder.imageOptions.image15",src:"Shopper.jpg"},{name:"webbuilder.imageOptions.image16",src:"Lab.jpg"}],colorOptions=["#c66a46","#3c9dc0","#6236ff","#21254f"],colorOptions2=["#39b7b9","#25a1d4","#f5a623","#080269"],titleOptions=[{title:"webbuilder.bank.titleOptions.title1.text",desc:"webbuilder.bank.titleOptions.title1.description"},{title:"webbuilder.bank.titleOptions.title2.text",desc:"webbuilder.bank.titleOptions.title2.description"},{title:"webbuilder.bank.titleOptions.title3.text",desc:"webbuilder.bank.titleOptions.title3.description"},{title:"webbuilder.bank.titleOptions.title4.text",desc:"webbuilder.bank.titleOptions.title4.description"},{title:"webbuilder.bank.titleOptions.title5.text",desc:"webbuilder.bank.titleOptions.title5.description"}],bankProps={backgroundImage:imagesOptions[10].src,backgroundLogo:imagesOptions[11].src,backgroundColor:"#21254f",btnColor:"#25a1d4"},BankTemplate={header:{color:bankProps.backgroundColor,logo:bankProps.backgroundLogo},body:{bankTitle:titleOptions[0].title,bankDesc:titleOptions[0].desc,bgImage:bankProps.backgroundImage,btnColor:bankProps.btnColor}};function BankHeader({showingReference:l,usingTemplate:e,openPopup:n,onSave:t,header:a,translate:o}){return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[l?jsxRuntimeExports.jsx("div",{className:"bank--edit__logo",children:jsxRuntimeExports.jsx("img",{src:path+e.header.logo,alt:"",title:""})}):jsxRuntimeExports.jsxs("div",{className:"bank--edit__logo",children:[a.logo?jsxRuntimeExports.jsx("img",{src:path+a.logo,alt:"",title:""}):jsxRuntimeExports.jsxs("span",{children:[jsxRuntimeExports.jsx("b",{children:o("webbuilder.bank.header.title")}),jsxRuntimeExports.jsx("b",{children:o("webbuilder.bank.header.logo")})]}),jsxRuntimeExports.jsx(EditButton,{action:()=>n("PopupImageComponent",{text:"Documents",images:imagesOptions,onSave:d=>t({logo:d})})})]}),jsxRuntimeExports.jsxs("div",{className:"flex align-center",children:[jsxRuntimeExports.jsxs("ul",{className:"bank--navigation",children:[jsxRuntimeExports.jsx("li",{className:"bank-navigation__item",children:o("webbuilder.bank.header.account")}),jsxRuntimeExports.jsx("li",{className:"bank-navigation__item",children:o("webbuilder.bank.header.invest")}),jsxRuntimeExports.jsx("li",{className:"bank-navigation__item",children:o("webbuilder.bank.header.loans")}),jsxRuntimeExports.jsx("li",{className:"bank-navigation__item",children:o("webbuilder.bank.header.mortgage")})]}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>n("PopupColorComponent",{colors:colorOptions,onSave:d=>t({color:d})})})]})]})}BankHeader.defaultProps={showingReference:!1,usingTemplate:{},openPopup:()=>{},onSave:()=>{},header:{}};BankHeader.propTypes={showingReference:PropTypes.bool,usingTemplate:PropTypes.shape({}),openPopup:PropTypes.func,onSave:PropTypes.func,header:PropTypes.shape({})};function FacebookHeader({showingReference:l,usingTemplate:e,header:n,translate:t}){const a=l?e.header.userImage:n.userImage,o=l?e.header.username:n.username;return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("span",{className:"facebook--header__logo",children:jsxRuntimeExports.jsx("span",{className:"icon-fb-logo"})}),jsxRuntimeExports.jsxs("span",{className:"facebook--header__user",children:[jsxRuntimeExports.jsx("span",{className:"facebook--header__user--circle",style:{backgroundImage:`url(${path+a})`}}),jsxRuntimeExports.jsx("span",{className:"facebook--header__user--text",children:t(o||"webbuilder.facebook.header.userName")})]})]})}FacebookHeader.defaultProps={showingReference:!1,usingTemplate:{},header:{}};function WebBuilderHeader(l){const{isFacebook:e,header:n,showingReference:t,usingTemplate:a}=l,o=t?a.header.color:n.color;return jsxRuntimeExports.jsx("div",{className:`puzzle--webBuilder__header ${e?"":"bank"}`,style:e?{}:{backgroundColor:`${o}`},children:jsxRuntimeExports.jsx("div",{className:`${e?"facebook":"bank"}--header`,children:e?jsxRuntimeExports.jsx(FacebookHeader,{...l}):jsxRuntimeExports.jsx(BankHeader,{...l})})})}WebBuilderHeader.defaultProps={isFacebook:!1,showingReference:!1,usingTemplate:{},header:{}};WebBuilderHeader.propTypes={isFacebook:PropTypes.bool,showingReference:PropTypes.bool,usingTemplate:PropTypes.shape({}),header:PropTypes.shape({})};const facebookProps={backgroundImage:imagesOptions[12].src,backgroundUser:imagesOptions[5].src},userOptions=["webbuilder.userOptions.user1","webbuilder.userOptions.user2","webbuilder.userOptions.user3"],workOptions=["webbuilder.workOptions.work1","webbuilder.workOptions.work2","webbuilder.workOptions.work3"],studiesOptions=["webbuilder.studiesOptions.study1","webbuilder.studiesOptions.study2","webbuilder.studiesOptions.study3"],mailOptions=["webbuilder.mailOptions.mail1","webbuilder.mailOptions.mail2","webbuilder.mailOptions.mail3"],homeOptions=["webbuilder.homeOptions.home1","webbuilder.homeOptions.home2","webbuilder.homeOptions.home3"],FacebookTemplate={header:{username:userOptions[1],userImage:facebookProps.backgroundUser,bgImage:facebookProps.backgroundImage},body:{work:workOptions[2],home:homeOptions[1],studies:studiesOptions[0],mail:mailOptions[0]}};function WebBuilderFront({showingReference:l,usingTemplate:e,header:n,onSave:t,translate:a,openPopup:o}){const d=l?e.header.userImage:n.userImage,h=l?e.header.username:n.username,f=l?e.header.bgImage:n.bgImage;return jsxRuntimeExports.jsxs("div",{className:"puzzle--webBuilder__front",style:{backgroundImage:`url(${path+f})`},children:[jsxRuntimeExports.jsxs("div",{className:"facebook--user",children:[jsxRuntimeExports.jsx("span",{className:"facebook--user__circle",style:{backgroundImage:`url(${path+d})`},children:l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{o("PopupImageComponent",{images:imagesOptions,onSave:u=>t({userImage:u})})}})}),jsxRuntimeExports.jsx("span",{className:"facebook--user__text",children:a(h||"webbuilder.facebook.header.userName")}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{o("PopupTextComponent",{options:userOptions,onSave:u=>t({username:u})})}})]}),l?null:jsxRuntimeExports.jsx(EditButton,{className:"position--absolute right top",action:()=>{o("PopupImageComponent",{images:imagesOptions,onSave:u=>t({bgImage:u})})}})]})}WebBuilderFront.defaultProps={showingReference:!1,usingTemplate:{},openPopup:()=>{},onSave:()=>{},header:{}};WebBuilderFront.propTypes={showingReference:PropTypes.bool,usingTemplate:PropTypes.shape({}),openPopup:PropTypes.func,onSave:PropTypes.func,header:PropTypes.shape({})};function FacebookBody({showingReference:l,usingTemplate:e,body:n,onSave:t,openPopup:a,translate:o}){const d=l?e.body.work:n.work,h=l?e.body.studies:n.studies,f=l?e.body.home:n.home,u=l?e.body.mail:n.mail;return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("ul",{className:"facebook--sidebar",dir:"auto",children:[jsxRuntimeExports.jsxs("li",{className:`facebook--sidebar__item ${d||l?"selected":""}`,children:[jsxRuntimeExports.jsxs("div",{className:"flex align-center",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-work"}),jsxRuntimeExports.jsx("span",{className:"text",children:o(d||"webbuilder.facebook.body.work")})]}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{a("PopupTextComponent",{options:workOptions,onSave:p=>t({work:p})})}})]}),jsxRuntimeExports.jsxs("li",{className:`facebook--sidebar__item ${h||l?"selected":""}`,children:[jsxRuntimeExports.jsxs("div",{className:"flex align-center",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-education"}),jsxRuntimeExports.jsx("span",{className:"text",children:o(h||"webbuilder.facebook.body.studies")})]}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{a("PopupTextComponent",{options:studiesOptions,onSave:p=>t({studies:p})})}})]}),jsxRuntimeExports.jsxs("li",{className:`facebook--sidebar__item ${f||l?"selected":""}`,children:[jsxRuntimeExports.jsxs("div",{className:"flex align-center",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-home"}),jsxRuntimeExports.jsx("span",{className:"text",children:o(f||"webbuilder.facebook.body.home")})]}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{a("PopupTextComponent",{options:homeOptions,onSave:p=>t({home:p})})}})]})]}),jsxRuntimeExports.jsxs("div",{className:"facebook--board",children:[jsxRuntimeExports.jsx("div",{className:"facebook--mail__label",children:"E-mail"}),jsxRuntimeExports.jsxs("div",{className:`facebook--mail__box ${u||l?"active":""}`,children:[jsxRuntimeExports.jsxs("div",{className:"flex align-center",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-mail"}),jsxRuntimeExports.jsx("span",{className:"text",children:o(u||"webbuilder.facebook.body.email")})]}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{a("PopupTextComponent",{options:mailOptions,onSave:p=>t({mail:p})})}})]}),jsxRuntimeExports.jsxs("div",{className:"facebook--tabs",children:[jsxRuntimeExports.jsxs("div",{className:"facebook--tabs__item",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-edit"}),o("webbuilder.facebook.body.editPost")]}),jsxRuntimeExports.jsxs("div",{className:"facebook--tabs__item",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-photo"}),o("webbuilder.facebook.body.editPhoto")]}),jsxRuntimeExports.jsxs("div",{className:"facebook--tabs__item",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-video"}),o("webbuilder.facebook.body.liveVideo")]}),jsxRuntimeExports.jsxs("div",{className:"facebook--tabs__item",children:[jsxRuntimeExports.jsx("span",{className:"icon-fb-events"}),o("webbuilder.facebook.body.facebookEvent")]})]}),jsxRuntimeExports.jsxs("div",{className:"facebook--thinking",children:[jsxRuntimeExports.jsxs("div",{className:"facebook--textarea",children:[jsxRuntimeExports.jsx("div",{className:"facebook--textarea__circle"}),jsxRuntimeExports.jsx("div",{className:"facebook--textarea__placeholder",children:o("webbuilder.facebook.body.think")})]}),jsxRuntimeExports.jsxs("div",{className:"facebook--chips",children:[jsxRuntimeExports.jsx("span",{className:"facebook--chips__item",children:o("webbuilder.facebook.body.photo")}),jsxRuntimeExports.jsx("span",{className:"facebook--chips__item",children:o("webbuilder.facebook.body.label")}),jsxRuntimeExports.jsx("span",{className:"facebook--chips__item",children:o("webbuilder.facebook.body.feeling")})]})]})]})]})}FacebookBody.defaultProps={showingReference:!1,usingTemplate:{},openPopup:()=>{},onSave:()=>{},body:{}};function BankBody({showingReference:l,usingTemplate:e,body:n,onSave:t,openPopup:a,translate:o}){const d=l?e.body.bgImage:n.bgImage,h=l?e.body.btnColor:n.btnColor,f=o(l?e.body.bankTitle:"webbuilder.bank.body.image.title"),u=o(l?e.body.bankDesc:"webbuilder.bank.body.image.description");return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"bank--image__front",style:{backgroundImage:`url(${path+d})`},children:jsxRuntimeExports.jsxs("div",{className:"bank--image__text",children:[jsxRuntimeExports.jsx("span",{className:"title",children:n.bankTitle&&!l?o(n.bankTitle):f}),jsxRuntimeExports.jsx("span",{children:n.bankDesc&&!l?o(n.bankDesc):u}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{a("PopupTextComponent",{options:titleOptions,onSave:p=>t({bankTitle:p.title,bankDesc:p.desc})})}}),l?null:jsxRuntimeExports.jsx(EditButton,{className:"position--absolute top right",action:()=>{a("PopupImageComponent",{images:imagesOptions,onSave:p=>t({bgImage:p})})}})]})}),jsxRuntimeExports.jsx("div",{dir:"auto",className:"bank--sidebar",children:jsxRuntimeExports.jsxs("div",{className:"bank--form",children:[jsxRuntimeExports.jsx("div",{className:"bank--form__title",children:o("webbuilder.bank.body.password.title")}),jsxRuntimeExports.jsxs("div",{className:"bank--form__group",children:[jsxRuntimeExports.jsx("div",{className:"bank--form__label",children:o("webbuilder.bank.body.password.current")}),jsxRuntimeExports.jsx("input",{disabled:!0,className:"bank--form__input",type:"password",placeholder:"********"}),jsxRuntimeExports.jsx("span",{className:"icon-circle-check"})]}),jsxRuntimeExports.jsxs("div",{className:"bank--form__group",children:[jsxRuntimeExports.jsx("div",{className:"bank--form__label",children:o("webbuilder.bank.body.password.new")}),jsxRuntimeExports.jsx("input",{disabled:!0,className:"bank--form__input",type:"password",placeholder:"********"}),jsxRuntimeExports.jsx("span",{className:"icon-circle-check"})]}),jsxRuntimeExports.jsxs("div",{className:"bank--form__group",children:[jsxRuntimeExports.jsx("div",{className:"bank--form__label",children:o("webbuilder.bank.body.password.confirm")}),jsxRuntimeExports.jsx("input",{disabled:!0,className:"bank--form__input",type:"password",placeholder:"********"}),jsxRuntimeExports.jsx("span",{className:"icon-circle-check"})]}),jsxRuntimeExports.jsxs("div",{className:"bank--form__buttons",children:[jsxRuntimeExports.jsx("button",{type:"button",className:"bank--form__btn",style:{backgroundColor:`${h}`},children:o("webbuilder.save")}),l?null:jsxRuntimeExports.jsx(EditButton,{action:()=>{a("PopupColorComponent",{colors:colorOptions2,onSave:p=>t({btnColor:p})})}})]})]})})]})}function WebBuilderBody(l){const{isFacebook:e}=l;return jsxRuntimeExports.jsx("div",{className:`puzzle--webBuilder__body ${e?"":"bank"}`,children:e?jsxRuntimeExports.jsx(FacebookBody,{...l}):jsxRuntimeExports.jsx(BankBody,{...l})})}WebBuilderBody.defaultProps={isFacebook:!1};WebBuilderBody.propTypes={isFacebook:PropTypes.bool};function CurrentButton({translate:l,backActive:e,action:n}){return jsxRuntimeExports.jsx("div",{className:"puzzle--webBuilder__topbar--buttons",children:jsxRuntimeExports.jsx("button",{type:"button",className:"puzzle--webBuilder__topbar--buttons__item",onClick:n,children:l(`webbuilder.${e?"return":"showReference"}`)})})}function WebBuilderTopBar({backActive:l,displayButton:e,clickAction:n,translate:t}){return jsxRuntimeExports.jsxs("div",{className:"puzzle--webBuilder__topbar",children:[e?jsxRuntimeExports.jsx(CurrentButton,{backActive:l,action:n,translate:t}):null,jsxRuntimeExports.jsx("div",{className:"puzzle--webBuilder__title",children:"web builder 3.0"})]})}function FeedbackResult({onNext:l,success:e,showButton:n,translate:t}){const a=t(e?"webbuilder.feedback.successTitle":"webbuilder.feedback.failTitle"),o=t(e?"webbuilder.feedback.success":"webbuilder.feedback.fail");return jsxRuntimeExports.jsxs("div",{dir:"auto",className:`puzzle--webBuilder__feedback bottom ${e?"success":"failed"}`,style:e?{zIndex:"11"}:{},children:[jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("div",{className:"title",children:a}),jsxRuntimeExports.jsx("div",{className:"description",children:o})]}),n?jsxRuntimeExports.jsx("button",{type:"button",className:`gat--btn gat--btn__secondary ${e?"green":"red"}`,onClick:l,style:{marginRight:"64px"},children:t("webbuilder.continue")}):null]})}FeedbackResult.defaultProps={onNext:()=>{},success:!1,showButton:!0};function PublishButton({onPublish:l,translate:e}){return jsxRuntimeExports.jsx("div",{role:"button",tabIndex:0,onKeyUp:()=>{},"aria-label":"publish",className:"position--absolute bottom center",onClick:l,children:jsxRuntimeExports.jsxs("div",{className:"gat--btn gat--btn__primary",children:[jsxRuntimeExports.jsx("span",{className:"icon-download-cloud"}),e("webbuilder.publish")]})})}PublishButton.defaultProps={onPublish:()=>{}};function PopupColorComponent({colors:l,onSave:e,closingAction:n,translate:t,soundActions:a}){const[o]=a,[d,h]=React$2.useState(),f=d===null;return jsxRuntimeExports.jsx("div",{className:"popup--layer",children:jsxRuntimeExports.jsxs("div",{className:"popup",children:[jsxRuntimeExports.jsx("div",{className:"popup--info",children:jsxRuntimeExports.jsx("span",{className:"popup--info__item",children:jsxRuntimeExports.jsxs("div",{className:"puzzle--webBuilder__colors",children:[jsxRuntimeExports.jsx("div",{className:"puzzle--webBuilder__colors--title",children:jsxRuntimeExports.jsx("span",{children:t("webbuilder.colorSelect.title")})}),jsxRuntimeExports.jsx("div",{className:"puzzle--webBuilder__colors--items",children:l.map(u=>jsxRuntimeExports.jsx("div",{className:`puzzle--webBuilder__color--select ${d===u?"selected":""}`,style:{borderColor:`${u}`},onClick:()=>h(u),children:jsxRuntimeExports.jsx("span",{style:{backgroundColor:`${u}`}})},u+Date.now()))})]})})}),jsxRuntimeExports.jsxs("div",{className:"popup--buttons",children:[jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__secondary",onClick:n,children:jsxRuntimeExports.jsx("span",{children:t("webbuilder.cancel")})}),jsxRuntimeExports.jsx("button",{type:"button",className:`gat--btn gat--btn__primary ${f?"disabled":""}`,onClick:f?null:()=>{o("click-ui"),e(d)},children:t("webbuilder.save")})]})]})})}PopupColorComponent.defaultProps={closingAction:()=>{},onSave:()=>{},colors:{}};PopupColorComponent.propTypes={closingAction:PropTypes.func,onSave:PropTypes.func,colors:PropTypes.arrayOf(PropTypes.string)};function PopupImageComponent({images:l,onSave:e,closingAction:n,translate:t,soundActions:a}){const[o]=a,[d,h]=React$2.useState(),f=!d;return jsxRuntimeExports.jsx("div",{className:"folder-popup",children:jsxRuntimeExports.jsxs("div",{className:"folder-popup__content",children:[jsxRuntimeExports.jsxs("div",{className:"folder-popup__header",children:[jsxRuntimeExports.jsx("div",{}),jsxRuntimeExports.jsxs("div",{className:"folder-popup__title",children:[jsxRuntimeExports.jsx("span",{className:"folder-popup__icon-header icon-fb-search"}),jsxRuntimeExports.jsx("span",{children:t("webbuilder.imageSelect.title")})]}),jsxRuntimeExports.jsx("button",{onClick:n,className:"folder-popup__close",type:"button",children:jsxRuntimeExports.jsx("span",{className:"icon-close-fit"})})]}),jsxRuntimeExports.jsxs("div",{className:"folder-popup__body",children:[jsxRuntimeExports.jsx("div",{className:"folder-popup__scroll",children:jsxRuntimeExports.jsx("ul",{className:"folder-popup__list",children:l.map(u=>jsxRuntimeExports.jsxs("li",{className:"folder-item-file",children:[jsxRuntimeExports.jsx("div",{className:"folder-item-file__imagewrap",onClick:()=>h(u),onKeyUp:()=>{},role:"button",tabIndex:0,children:jsxRuntimeExports.jsx("img",{alt:u.src,src:path+u.src})}),jsxRuntimeExports.jsx("div",{className:"folder-item-file__title",title:u.src,children:u.src})]},u.src+Date.now()))})}),jsxRuntimeExports.jsxs("div",{className:"folder-popup__buttons",children:[jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__secondary",onClick:n,children:t("webbuilder.cancel")}),jsxRuntimeExports.jsx("button",{type:"button",className:`gat--btn gat--btn__primary ${f?"disabled":""}`,onClick:f?null:()=>{o("click-ui"),e(d.src)},children:t("webbuilder.open")})]})]})]})})}PopupImageComponent.defaultProps={closingAction:()=>{},onSave:()=>{},images:[]};function Selected({item:l,translate:e}){return l instanceof Object?e(l.title.toString()):jsxRuntimeExports.jsx("span",{children:e(l||"webbuilder.textSelect.title")})}function PopupTextComponent({closingAction:l,onSave:e,options:n,translate:t,soundActions:a}){const[o]=a,[d,h]=React$2.useState(""),f=d==="",[u,p]=React$2.useState(!1),x=u?"puzzle--webBuilder__select--item open":"puzzle--webBuilder__select--item",R=()=>{p(!u)};return jsxRuntimeExports.jsx("div",{className:"popup--layer",children:jsxRuntimeExports.jsxs("div",{className:"popup",children:[jsxRuntimeExports.jsx("div",{className:"popup--info",children:jsxRuntimeExports.jsx("span",{className:"popup--info__item",children:jsxRuntimeExports.jsxs("div",{className:"puzzle--webBuilder__select",children:[jsxRuntimeExports.jsx("div",{className:"puzzle--webBuilder__select--label",children:jsxRuntimeExports.jsx("div",{dir:"auto",children:t("webbuilder.textSelect.title")})}),jsxRuntimeExports.jsxs("div",{dir:"auto",className:x,onClick:()=>R(),role:"presentation",children:[jsxRuntimeExports.jsx(Selected,{item:d,translate:t}),jsxRuntimeExports.jsx("span",{className:"icon-down-arrow"}),jsxRuntimeExports.jsx("div",{className:"puzzle--webBuilder__dropdown",children:n.map(S=>S instanceof Object?jsxRuntimeExports.jsxs("span",{role:"button",tabIndex:0,onKeyUp:()=>{},className:"puzzle--webBuilder__dropdown--option",onClick:()=>{h(S)},children:[jsxRuntimeExports.jsx("span",{children:t(S.title)}),jsxRuntimeExports.jsx("span",{className:"subtitle",children:t(S.desc)})]},S.title):jsxRuntimeExports.jsx("span",{role:"button",tabIndex:0,onKeyUp:()=>{},className:"puzzle--webBuilder__dropdown--option",onClick:()=>{h(S)},children:t(S)},S))})]})]})})}),jsxRuntimeExports.jsxs("div",{className:"popup--buttons",children:[jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__secondary",onClick:l,children:t("webbuilder.cancel")}),jsxRuntimeExports.jsx("button",{type:"button",className:`gat--btn gat--btn__primary ${f?"disabled":""}`,disabled:f,onClick:()=>{o("click-ui"),e(d)},children:t("webbuilder.save")})]})]})})}const POPUPS=Object.freeze(Object.defineProperty({__proto__:null,PopupColorComponent,PopupImageComponent,PopupTextComponent},Symbol.toStringTag,{value:"Module"})),defaultHeader={username:null,logo:null,userImage:null,bgImage:null,color:""},defaultBody={bankTitle:null,color:"",btnColor:"",work:null,home:null,mail:null,studies:null,bgImage:null};function PopupComponent({type:l,close:e,translate:n,soundActions:t,...a}){const o=POPUPS[l];return o?jsxRuntimeExports.jsx(o,{type:l,...a.props,closingAction:e,translate:n,soundActions:t}):null}function DisplayingFeedback({feed:l,resolved:e,translate:n,onNext:t}){return l==="success"?jsxRuntimeExports.jsx(FeedbackResult,{success:!0,showButton:!e,onNext:t,translate:n}):l==="failed"?jsxRuntimeExports.jsx(FeedbackResult,{onNext:t,translate:n}):null}function WebBuilderPuzzleComponent({type:l,info:e,emitEvent:n,setResolveAction:t,soundActions:a,disableExit:o,keyboardControl:d}){const[h,f]=React$2.useState(!1),[u,p]=React$2.useState(!1),[x,R]=React$2.useState(!1),[S,E]=React$2.useState(!1),[g,v]=React$2.useState(!1),[T,b]=React$2.useState(null),_=l==="facebook",w=_?FacebookTemplate:BankTemplate,[C,P]=React$2.useState({type:"",props:{}}),[D,N]=React$2.useState(defaultHeader),[k,F]=React$2.useState(defaultBody),[M]=a,U=H=>n({type:"translate",payload:H}),$=()=>{P({type:"",props:{}})},B=(H,W={})=>{P({type:H,props:W})},J=()=>{if(e.solution){const{rewards:H}=e.solution.right,{rewards:W}=e.solution.wrong;M(x?"fail":"score"),n({type:"addPoints",complex:!0,finish:!0,payload:x?W:H}),n({type:"passPuzzle"})}},ne=d({disabled:T!=="success",forward:J,escape:J});React$2.useEffect(()=>ne(),[ne]);const ie=(H,W)=>{const V=Object.keys(H),z={existing:0,equal:0};return V.forEach(Q=>{W[Q]!==null&&W[Q]!==""&&(z.existing+=1),H[Q]===W[Q]&&(z.equal+=1)}),z},Y=(H,W)=>{const V=Object.keys(w.header).length,z=Object.keys(w.body).length,Q=ie(w.header,H),ee=ie(w.body,W),le=ee.existing+Q.existing===V+z,ue=ee.equal+Q.equal===V+z;return{exist:le,equal:ue}},q=()=>{M("click-ui");const{exist:H,equal:W}=Y(D,k);n({type:"hidePuzzleButtons",payload:!0}),H&&!W?(g&&v(!1),b("failed"),R(!0),n({type:"failPuzzle"})):H&&W&&(g&&(o(!1),v(!1)),E(!0),b("success"))},re=H=>{if(Object.keys(H).length>0){const W={...D,...H};N(W),$();const{exist:V}=Y(W,k);v(!!V)}},ce=H=>{if(Object.keys(H).length>0){const W={...k,...H};F(W),$();const{exist:V}=Y(D,W);v(!!V)}};React$2.useEffect(()=>{t(H=>{p(!0),b("success"),f(!1),setTimeout(()=>{b(""),H()},4e3)}),o(!0)},[t,o,e.resolve.rewards,n]);const fe={showingReference:h||u,isFacebook:_,openPopup:B,usingTemplate:w,translate:U},te=()=>{T==="failed"?(b(null),n({type:"hidePuzzleButtons",payload:!1})):T==="success"&&J()};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(PopupComponent,{type:C.type,...C,close:$,soundActions:a,translate:U}),jsxRuntimeExports.jsxs("div",{className:"puzzle--webBuilder",children:[jsxRuntimeExports.jsx(WebBuilderTopBar,{backActive:h,displayButton:!u&&!S,translate:U,clickAction:()=>{M("click-ui"),f(!h)}}),jsxRuntimeExports.jsx(WebBuilderHeader,{...fe,header:D,onSave:re}),_?jsxRuntimeExports.jsx(WebBuilderFront,{...fe,header:D,onSave:re}):null,jsxRuntimeExports.jsx(WebBuilderBody,{...fe,body:k,onSave:ce})]}),!g&&!h?jsxRuntimeExports.jsx(DisplayingFeedback,{feed:T,onNext:te,resolved:u,translate:U}):null,g&&!h?jsxRuntimeExports.jsx(PublishButton,{onPublish:q,translate:U}):null]})}function CardImage({img:l}){const n=(l||{}).url;return jsxRuntimeExports.jsx("img",{src:n,alt:""})}function CardText({text:l,hasImage:e}){return l?jsxRuntimeExports.jsx("div",{className:`card-selector-item__textbox ${e?"":"card-selector-item__textbox--noimage"}`,children:jsxRuntimeExports.jsx("div",{className:"card-selector-item__text",children:jsxRuntimeExports.jsx("span",{children:l||"_"})})}):null}function CardNumber({order:l}){return l?jsxRuntimeExports.jsx("div",{className:"card-selector-item__order",children:jsxRuntimeExports.jsx("div",{children:l})}):null}function CardSuccess({order:l}){return jsxRuntimeExports.jsxs("div",{className:"card-selector-item__feedback card-selector-item__feedback--success ",children:[jsxRuntimeExports.jsx(CardNumber,{order:l}),jsxRuntimeExports.jsx("div",{className:"card-selector-item__feedbackicon",children:jsxRuntimeExports.jsx("div",{className:"icon-check-circle-black"})})]})}function CardFail(){return jsxRuntimeExports.jsx("div",{className:"card-selector-item__feedback card-selector-item__feedback--error",children:jsxRuntimeExports.jsx("div",{className:"card-selector-item__feedbackicon",children:jsxRuntimeExports.jsx("div",{className:"icon-error-circle-black"})})})}function CardContainer({flipped:l,correct:e,order:n,wrongOrder:t,isEmpty:a}){return!a&&l&&e&&!t?jsxRuntimeExports.jsx(CardSuccess,{order:n}):!a&&l?jsxRuntimeExports.jsx(CardFail,{}):null}function Card({card:l,handleClick:e,flipped:n,cardIndex:t,wrongOrder:a}){const o=()=>!(l.img||l.text),d=()=>!!(n&&!l.correct||!n);return jsxRuntimeExports.jsxs("button",{"data-testid":`card-${t}`,type:"button",order:l.order,onClick:()=>{!o()&&d()&&e(t)},className:`unset-button card-selector-item ${o()?"card-selector-item--empty":""}`,"aria-label":l.text?l.text:null,children:[jsxRuntimeExports.jsx(CardImage,{img:l.img}),jsxRuntimeExports.jsx(CardText,{text:l.text,hasImage:!!l.img}),jsxRuntimeExports.jsx(CardContainer,{isEmpty:o(),flipped:n,wrongOrder:a,order:l.order,correct:l.correct})]})}Card.defaultProps={handleClick:()=>{},documentsDict:{},card:{},flipped:!1,wrongOrder:!1,cardIndex:0};Card.propTypes={wrongOrder:PropTypes.bool,handleClick:PropTypes.func,cardIndex:PropTypes.number,flipped:PropTypes.bool,documentsDict:PropTypes.shape({}),card:PropTypes.shape({correct:PropTypes.bool,order:PropTypes.number,text:PropTypes.string,imgId:PropTypes.string,status:PropTypes.string})};function Board({cards:l,currentOrder:e,setCurrentOrder:n,handleError:t,feedbackIsShown:a,resolvePuzzle:o,soundActions:d,onFinish:h,handleSuccess:f,resolveWithAnyCard:u}){const[p,x]=React$2.useState(Array(l.length).fill(!1)),[R,S]=React$2.useState(Array(l.length).fill(!1)),[E,g]=React$2.useState(0),[v,T]=React$2.useState(!1),[b]=d,_=l.filter(M=>M.correct===!0).length,w=l.filter(M=>M.order).length>0,C=React$2.useCallback(()=>{x(Array(l.length).fill(!1)),S(Array(l.length).fill(!1)),g(0),n(1)},[l.length,n]),P=()=>{setTimeout(()=>{C()},1e3)};function D(M,U=M){const $=Array.from(p);$[M]=U,x($)}const N=React$2.useCallback(()=>{const M=[];l.forEach((U,$)=>{U.correct===!0&&M.push($)}),x(M)},[l]);React$2.useEffect(()=>{o&&N()},[N,o]),React$2.useEffect(()=>{(u&&E||E===_&&_>0)&&(h(),T(!0),g(0))},[E,h,_,u]);const k=M=>{D(M),f(l[M].id||null),g(E+1)},F=M=>{var U,$;if(!v&&!a)if(b("click-ui"),l[M].correct&&!w)k(M);else if(w){if(l[M].order===e)n(e+1),k(M);else if(D(M),l[M].order!==e){const B=Array.from(R);B[M]=M,S(B),t(((U=l[M])==null?void 0:U.id)||null,l[M].correct),P()}}else t((($=l[M])==null?void 0:$.id)||null),D(M),setTimeout(()=>{D(M,!1)},1e3)};return jsxRuntimeExports.jsx("div",{className:`cards-selector__content cards-selector__content-${l.length}`,children:l&&l.map((M,U)=>jsxRuntimeExports.jsx(Card,{setCurrentOrder:n,card:M,handleClick:()=>F(U),flipped:p.includes(U),wrongOrder:R.includes(U),cardIndex:U},`cardPuzzle ${l.indexOf(M)}`))})}Board.defaultProps={setCurrentOrder:()=>{},handleError:()=>{},onFinish:()=>{},handleSuccess:()=>{},documentsDict:{},cards:[],currentOrder:1,resolvePuzzle:!1,feedbackIsShown:!1,resolveWithAnyCard:!1};function CardsSelectorPuzzleComponent({emitEvent:l,info:e,cards:n,resolveWithAnyCard:t,specificFeedbacks:a,disableExit:o,setResolveAction:d,soundActions:h,backgroundImage:f,nodeId:u,keyboardControl:p,hideBackgroundImageTheme:x=!1}){var te,H;const[R,S]=React$2.useState(!1),[E,g]=React$2.useState(1),[v,T]=React$2.useState(!1),[b,_]=React$2.useState(!1),[w,C]=React$2.useState(!1),[P,D]=React$2.useState([]),[N,k]=React$2.useState(!1),[F,M]=React$2.useState(""),[U]=h,$=W=>l({type:"translate",payload:W}),B=`cards-selector-puzzle_${u}`,J=React$2.useCallback(W=>{T(!1),C(!1),l({type:"hidePuzzleButtons",payload:!1}),l({type:"addPoints",complex:!0,finish:!0,payload:W}),l({type:"passPuzzle"})},[l]),ne=React$2.useCallback(()=>{var Q,ee;l({type:"hidePuzzleButtons",payload:!0}),T(!0);const{rewards:W}=((Q=e==null?void 0:e.solution)==null?void 0:Q.right)||{},V=((ee=a==null?void 0:a.correctFeedbacks)==null?void 0:ee.map(le=>le.rewards).flat())||[],z=[...P,...W,...V];U("score"),J(z)},[P,J,l,(te=e==null?void 0:e.solution)==null?void 0:te.right,U,a==null?void 0:a.correctFeedbacks]),ie=()=>{S(!0),e.solution.right.desc&&!(a!=null&&a.specificCorrectFeedbacks)&&M(e.solution.right.desc),C(!0)},Y=()=>{v||R?ne():(T(!1),o(!1),C(!1),l({type:"hidePuzzleButtons",payload:!1})),M("")},q=W=>{if(_(!0),a!=null&&a.specificCorrectFeedbacks){const V=a.correctFeedbacks.find(z=>z.id===W);V!=null&&V.desc&&(M(V.desc),C(!0))}U("score"),l({type:"hidePuzzleButtons",payload:!0})},re=(W,V=!1)=>{var z,Q;if(_(!1),V)M((z=e.orderFeedback)==null?void 0:z.desc),C(!0),D([...P,...((Q=e.orderFeedback)==null?void 0:Q.rewards)||[]]);else if(a!=null&&a.specificWrongFeedbacks){const ee=a.wrongFeedbacks.find(le=>le.id===W);ee!=null&&ee.desc?(M(ee.desc),C(!0)):(C(!0),setTimeout(()=>{Y(),l({type:"hidePuzzleButtons",payload:!1})},2e3)),D([...P,...(ee==null?void 0:ee.rewards)||[]])}else e.solution.wrong.desc?(M(e.solution.wrong.desc),C(!0)):(C(!0),setTimeout(()=>{Y(),l({type:"hidePuzzleButtons",payload:!1})},3e3));o(!0),!(a!=null&&a.specificWrongFeedbacks)&&!V&&D([...P,...e.solution.wrong.rewards]),U("fail"),l({type:"hidePuzzleButtons",payload:!0}),l({type:"failPuzzle"})};React$2.useEffect(()=>{R&&o(!0)},[o,R]),React$2.useEffect(()=>{d(()=>{var V;l({type:"hidePuzzleButtons",payload:!0}),k(!0);const W=[...P,...((V=e==null?void 0:e.resolve)==null?void 0:V.rewards)||{}];setTimeout(()=>{T(!1),C(!1),l({type:"hidePuzzleButtons",payload:!1}),l({type:"puzzleAction",action:"resolve",payload:{element:B,rewards:W,finish:!0}})},2e3)})},[d,o,P,(H=e==null?void 0:e.resolve)==null?void 0:H.rewards,l,B]);const ce=React$2.useMemo(()=>{let W="";return W="cards-selector",f!=null&&f.url&&(W+=" cards-selector--with-custom-bg"),x&&(W+=" disable-background-image"),W},[f==null?void 0:f.url,x]),fe={backgroundImage:f!=null&&f.url?`url('${f.url}')`:""};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:ce,style:fe,children:jsxRuntimeExports.jsx(Board,{setCurrentOrder:g,currentOrder:E,cards:n,onFinish:ie,resolveWithAnyCard:t,handleError:re,feedbackIsShown:w,resolvePuzzle:N,soundActions:h,handleSuccess:q})}),w&&jsxRuntimeExports.jsx(FeedbackComponent$1,{success:v||b,text:F,hasTimeout:!F,translate:$,functionOnClose:Y,keyboardControl:p})]})}CardsSelectorPuzzleComponent.defaultProps={cards:[],info:{},resolveWithAnyCard:!1,backgroundImage:{url:""}};function Fakecursor(){return jsxRuntimeExports.jsx("span",{className:"fakecursor",children:"|"})}function FixedComponent({delay:l,index:e,length:n,textToPrint:t,setDoneTyping:a,nextParagraphType:o,isWriting:d}){const[h,f]=React$2.useState(!0),[u,p]=React$2.useState(""),[x,R]=React$2.useState(!1);React$2.useEffect(()=>{R(e===n-1)},[e,n]);const S=T=>{if(!T||!T.length)return"";const b=T.replace(/<script.*?>.*?<\/script>/gim,""),_=document.createElement("DIV");return _.innerHTML=b,_.textContent||_.innerText||""};React$2.useEffect(()=>{const T=()=>{const _=t.trim().split(" ");return b(_,_.length-1).join(" ")},b=(_,w)=>{if(w<0)return[""];const C=[..._];if(S(_[w]).length!==0){const P=_[w];return C[w]=`<span class="lastWord" >${P}</span>`,C}return b(_,w-1)};o==="election"?p(T()):setTimeout(()=>{p(t)},200)},[o,t]);const E=()=>{a(!0),f(!1)},g=t.split("<p>");g.shift();const v=g.length>1;return h&&t!==""&&u!==""?jsxRuntimeExports.jsx("span",{className:`writer-inline ${v?"multiple":""} ${x?"Typist":""}`,"data-testid":`result-${e}`,children:jsxRuntimeExports.jsx(Typist,{startDelay:300,avgTypingDelay:l,stdTypingDelay:10,onCharacterTyped:d,onTypingDone:E,cursor:{hideWhenDone:!0,hideWhenDoneDelay:200},blink:!0,children:HTMLReactParser$1(t)})}):jsxRuntimeExports.jsxs("span",{className:`writer-inline ${v?"multiple":""} ${x?"Typist":""}`,"data-testid":`result-${e}`,children:[HTMLReactParser$1(u),o==="election"&&x&&jsxRuntimeExports.jsx(Fakecursor,{})]})}FixedComponent.defaultProps={delay:0,textToPrint:"",setDoneTyping:()=>{},nextParagraphType:"",isWriting:()=>{}};function SingleElection({option:l,decisionInspected:e,setCurrentDecisionSelected:n,index:t,setCurrentDecisionInspected:a,soundActions:o}){const[d]=o,h=R=>R.previewText!==""?HTMLReactParser$1(R.previewText):HTMLReactParser$1(R.fullText),f=R=>R.previewText!==""?e===t?"icon-eye inspected":"icon-eye":"",u=()=>{d("click-ui"),n(t)},p=R=>{R.keyCode===13&&x(R)},x=R=>{R.preventDefault(),R.stopPropagation(),e===t?(R.target.style.background="",a("")):a(t)};return jsxRuntimeExports.jsxs("div",{className:"single-election",children:[jsxRuntimeExports.jsxs("button",{className:"single-election__cta",type:"button",onClick:()=>u(),children:[jsxRuntimeExports.jsx("div",{className:"single-election__btn",children:jsxRuntimeExports.jsx("span",{children:h(l)})}),jsxRuntimeExports.jsx("div",{onClick:x,onKeyDown:p,className:f(l),"aria-label":"Inspect",role:"button",tabIndex:0})]}),e===t&&jsxRuntimeExports.jsx("div",{className:"single-election__complete",children:jsxRuntimeExports.jsx("div",{children:HTMLReactParser$1(l.fullText)})})]})}SingleElection.defaultProps={setCurrentDecisionSelected:()=>{},setCurrentDecisionInspected:()=>{},option:{},index:0};function SingleElectionRender({decisionInspected:l,opt:e,index:n,setCurrentDecisionSelected:t,setCurrentDecisionInspected:a,soundActions:o}){return e&&e.fullText&&e.fullText!==""?jsxRuntimeExports.jsx(SingleElection,{decisionInspected:l,setCurrentDecisionSelected:t,setCurrentDecisionInspected:a,option:e,soundActions:o,index:n}):null}function ElectionComponent({textWithOpts:l,setCurrentDecisionSelected:e,printed:n,soundActions:t}){const[a,o]=React$2.useState("");return React$2.useEffect(()=>{n()},[n]),jsxRuntimeExports.jsx("div",{className:`elections-box pos${a+1}-${l.filter(d=>!!d.fullText).length}`,children:l&&l.map((d,h)=>jsxRuntimeExports.jsx(SingleElectionRender,{opt:d,soundActions:t,index:h,setCurrentDecisionSelected:e,setCurrentDecisionInspected:o,decisionInspected:a},h))})}ElectionComponent.defaultProps={textWithOpts:[],setCurrentDecisionSelected:()=>{},printed:()=>{}};function FeedbackElement({decision:l}){const{title:e,body:n}=l.feedback;return jsxRuntimeExports.jsx("div",{children:n!==""&&jsxRuntimeExports.jsxs("div",{className:"writer-feedback-decision-item",children:[e&&jsxRuntimeExports.jsxs("div",{dir:"auto",className:"writer-feedback-decision-item__title",children:[e," "]}),n&&jsxRuntimeExports.jsxs("div",{dir:"auto",className:"writer-feedback-decision-item__message",children:[l.correct?jsxRuntimeExports.jsx("span",{className:"icon-check-circle-black color--success"}):jsxRuntimeExports.jsx("span",{className:"icon-error-circle-black color--error"}),jsxRuntimeExports.jsx("span",{children:n})]})]})})}FeedbackElement.defaultProps={decision:{}};function FeedbackComponent({emitEvent:l,closingAction:e,feedbackIsDone:n,decisionsList:t,texts:a,retryAction:o,retry:d,skip:h,checkCorrect:f,rewardsStack:u,setFailed:p,soundActions:x}){const[R]=x,S=g=>l({type:"translate",payload:g}),E=()=>{R("click-ui"),e(),p(),n()};return jsxRuntimeExports.jsxs("div",{className:`writer-feedback ${u.length?"":"start"}`,children:[jsxRuntimeExports.jsx("div",{className:"writer-feedback__title",children:S("puzzles.feedback")}),jsxRuntimeExports.jsx("div",{className:"writer-feedback__decisions",children:t.map(g=>a[g.currenTextParagraph].electionTexts[g.index].feedback.body?jsxRuntimeExports.jsx(FeedbackElement,{decision:a[g.currenTextParagraph].electionTexts[g.index]},g.index):null)}),jsxRuntimeExports.jsxs("div",{className:"writer-feedback__btns",children:[h&&jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__secondary writer-feedback__btn-mobile",onClick:()=>{E()},children:S("puzzles.skip")}),d&&jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__primary writer-feedback__btn-mobile",onClick:()=>{f()?E():(R("click-ui"),o())},children:S(f()?"puzzles.continue":"puzzles.retry")}),!d&&jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__primary writer-feedback__btn-mobile",onClick:()=>E(),children:S("puzzles.continue")})]})]})}FeedbackComponent.defaultProps={emitEvent:()=>{},closingAction:()=>{},feedbackIsDone:()=>{},decisionsList:[],texts:[],retryAction:()=>{},retry:!1,skip:!1,checkCorrect:()=>{},nodeId:"0"};function FinishedTextComponent({textToPrint:l,correct:e}){const n=l.split("<p>");n.shift();const t=n.length>1;return jsxRuntimeExports.jsx("span",{className:`writer-inline ${t?"multiple":""} ${e}`,children:HTMLReactParser$1(l)})}FinishedTextComponent.defaultProps={correct:"",textToPrint:""};function WriterPuzzleComponent({emitEvent:l,styles:e,nodeId:n,retry:t,skip:a,type:o,info:d,setResolveAction:h,documentTitle:f,documentTitle_labelId:u,texts:p,soundActions:x,backgroundImage:R,hideBackgroundImageTheme:S=!1}){const E=rt=>l({type:"translate",payload:rt}),g=React$2.useRef(),[v,T]=React$2.useState(!1),[b,_]=React$2.useState(!1),[w,C]=React$2.useState(0),[P,D]=React$2.useState({[`text_${w}`]:{...p[w],id:`text_${w}`,correct:""}}),[N,k]=React$2.useState(!1),[F,M]=React$2.useState([]),[U,$]=React$2.useState(!1),[B,J]=React$2.useState(!1),[ne,ie]=React$2.useState(!1),[Y,q]=React$2.useState(!0),[re,ce]=React$2.useState([]),[fe,te]=React$2.useState(!0),[H]=x,W=React$2.useRef({}),V=rt=>{let xt;return rt.electionTexts.forEach((Et,Qe)=>{Et.correct&&(xt=Qe)}),xt},z=React$2.useCallback(rt=>F.filter(Et=>Et.currenTextParagraph===rt)[0].fullText_labelId,[F]),Q=React$2.useCallback(()=>p.map((rt,xt)=>{if(rt.type==="fixed")return rt.fullText_labelId??rt.fullText;if(rt.type==="election"){const Et=V(rt);return Et>=0?rt.electionTexts[Et].fullText_labelId:z(xt)}return""}),[z,p]),ee=12,le=()=>{if(F){const rt=F.length;let xt=0;for(let Et=0;Et<rt;Et+=1)F[Et].isCorrect==="none"&&(xt+=1);return xt===rt}return!0},ue=React$2.useCallback(()=>{if(F){const rt=F.length;let xt=0;for(let Et=0;Et<rt;Et+=1)F[Et].isCorrect==="green"&&(xt+=1);return xt===rt}return!0},[F]),he=()=>!!(F&&F.length),ve=()=>F.find(rt=>{const{feedback:xt}=p[rt.currenTextParagraph].electionTexts[rt.index];return xt.body!==""}),be=React$2.useCallback(()=>{const rt=Q();l({type:"finishMedia",payload:{name:u,text:rt,documentType:o,type:"text"}})},[Q,u,l,o]),Re=React$2.useCallback(rt=>{const xt=ue();H(b?"fail":xt?"score":"fail"),l({type:"addPoints",complex:!0,finish:!0,payload:rt||re,onFinish:o!=="view"?be:null}),l({type:"passPuzzle"})},[ue,l,b,be,H,re,o]);React$2.useEffect(()=>{v&&te(!1),h(()=>{Re(d.resolve.rewards)})},[l,Re,v,be,d.resolve.rewards,h,o]);const Le=()=>{T(!1),C(0),M([]),ce([]),_(!1),ie(!1),k(!1),J(!1),$(!1),D({text_0:{...p[0],id:"text_0",correct:""}}),q(!0),l({type:"addPoints",complex:!0,finish:!1,payload:re}),l({type:"failPuzzle"})},Oe=()=>{he()?le()&&($(!0),Re()):($(!0),ie(!0),Re()),U?(q(!1),ne&&!B?J(!0):(B||!ne&&!B)&&(!ne&&!B&&t?ue()?Re():Le():Re())):($(!0),ve()&&ie(!0))},Ke=()=>{const rt=p[w].electionTexts.filter(Et=>Et.correct).length,xt=p[w].electionTexts;return rt===0||rt===xt},St=rt=>{const xt=p[w].electionTexts[rt],Et=xt.feedback.rewards;Et&&Et[0]&&Et[0].points&&(W.current[`t${w}_e${rt}`]||(xt.correct&&(W.current[`t${w}_e${rt}`]=!0),ce([...re,...Et])));const Qe=()=>Ke()?"none":xt.correct?"green":"red",Be={currenTextParagraph:w,fullText:xt.fullText,index:rt,isCorrect:Qe()};D({...P,[`text_${w}`]:{type:"fixed",fullText:xt.fullText,correct:Be.isCorrect}}),M([...F,Be])},it=()=>{g.current.scrollTop=g.current.scrollHeight+100},gt=()=>{if(g.current.querySelector(".wrapfixed").offsetHeight>g.current.offsetHeight){const rt=g.current.querySelector(".wrapfixed").offsetHeight;g.current.scrollTo({top:rt,behavior:"smooth"})}},Ge=(rt,xt,Et)=>{const Qe=rt.fullText,Be=p[Et+1]?p[Et+1].type:"",Xe=P[`text_${Et+1}`]&&P[`text_${Et+1}`].type?P[`text_${Et+1}`].type:Be;return jsxRuntimeExports.jsx(FixedComponent,{length:xt,doneTyping:N,index:Et,delay:ee,setDoneTyping:k,nextParagraphType:Xe,isWriting:gt,textToPrint:Qe},Et.toString())},Me=(rt,xt)=>{const Et=rt.fullText;return jsxRuntimeExports.jsx(FinishedTextComponent,{textToPrint:Et,correct:rt.correct},xt)},De=rt=>jsxRuntimeExports.jsx(ElectionComponent,{soundActions:x,textWithOpts:rt.electionTexts,setCurrentDecisionSelected:St,printed:it,disableExit:fe},rt.electionTexts),Ve=(rt,xt,Et)=>rt.type==="fixed"?Ge(rt,xt,Et):De(rt);React$2.useEffect(()=>{N===!0&&(()=>{p[w+1]?(D({...P,[`text_${w+1}`]:{...p[w+1],id:`text_${w+1}`,correct:""}}),C(w+1),k(!1)):T(!0)})()},[N,w,P,p]);const ct=React$2.useMemo(()=>{let rt=`writer-puzzle writer-puzzle--${e}`;return S&&(rt+=" disable-background-image"),rt},[S,e]),dt={backgroundImage:R!=null&&R.url?`url('${R.url}')`:""};return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsx("div",{className:ct,style:dt,children:jsxRuntimeExports.jsxs("div",{className:"writer-puzzle__overlay",children:[B&&jsxRuntimeExports.jsx(FeedbackComponent,{emitEvent:l,texts:p,setFailed:()=>_(!0),decisionsList:F,closingAction:Oe,retry:t,skip:a,checkCorrect:ue,retryAction:Le,rewardsStack:re,nodeId:n,soundActions:x}),!B&&jsxRuntimeExports.jsxs("div",{className:"writer-puzzle__container",children:[jsxRuntimeExports.jsx("div",{dir:"auto",className:"writer-puzzle__title",children:f!==""&&f}),jsxRuntimeExports.jsx("div",{className:"writer-puzzle__body",dir:LangIsRtl()?"rtl":"auto",children:jsxRuntimeExports.jsxs("div",{className:"writer-puzzle__scroll",tabIndex:0,style:{overflowX:"hidden",padding:"0 0 20px 0",height:"95%"},ref:g,children:[jsxRuntimeExports.jsx("div",{className:"wrapfixed",children:Y&&!U&&Object.values(P).map((rt,xt)=>Ve(rt,Object.values(P).length-1,xt))}),U&&Object.values(P).map((rt,xt)=>Me(rt,xt))]})}),v&&jsxRuntimeExports.jsx("div",{className:"writer-puzzle__footer",children:jsxRuntimeExports.jsx("button",{type:"button",className:"gat--btn gat--btn__primary",onClick:Oe,children:E("screens.continue")})})]})]})})})}WriterPuzzleComponent.defaultProps={emitEvent:()=>{},info:{},styles:"",nodeId:"0",retry:!1,skip:!1,type:"",documentTitle:"",texts:[]};function Image$1({document:l,name:e,isWallpaper:n}){const t=(l==null?void 0:l.url)||null;return jsxRuntimeExports.jsx("div",{className:`puzzle--terminal__image ${n?"puzzle--terminal__image--wallpaper":""}`,children:t?jsxRuntimeExports.jsx("img",{src:t,alt:e||""}):null})}const ICONS$1={image:"image-icon",video:"video-icon",embedded_video:"video-icon",pdf:"pdf-icon",terminal:"console-icon",cracker:"cracker-icon",folder:"folder-icon",world:"world-icon"};function Visor({file:l,solution:e,showContinue:n,info:t,resolvePuzzle:a,backFile:o,translate:d,soundActions:h,keyboardControl:f}){var b;const{fileId:u}=l,p=((b=l.document)==null?void 0:b.url)||"",[x]=h,R={image:{component:Image$1,props:{...l,url:p,soundActions:h}},video:{component:VideoVisor,props:{...l,url:p,endVideo:a,soundActions:h,translate:d}},embedded_video:{component:VideoVisor,props:{...l,url:p,soundActions:h}},pdf:{component:PdfVisor,props:{...l,url:p,translate:d,soundActions:h,emitNumberOfPages:()=>{},endPdf:()=>{},keyboardControl:f}},application:{component:PdfVisor,props:{...l,url:p,translate:d,soundActions:h,emitNumberOfPages:()=>{},keyboardControl:f,endPdf:()=>{}}}};if(!R[l.type])return null;const S=R[l.type].component,E=R[l.type].props,v=l.name.replace(/.jpg|.png|.pdf|.mp4/gi,""),T=e.fileId;return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsxs("div",{className:"puzzle--terminal__visor",children:[jsxRuntimeExports.jsx(FeedbackComponent$1,{playSound:x,shortText:!0,success:u===T,text:u===T?t.solution.right.desc:t.solution.wrong.desc,functionOnClose:u===T?a:o,additionalStyle:ICONS$1[l.type],secondText:v,translate:d,puzzleHeaderClass:"puzzle--terminal__visor--message",keyboardControl:f}),jsxRuntimeExports.jsx("div",{className:"puzzle--terminal__visor--body",children:jsxRuntimeExports.jsx(S,{...E})}),jsxRuntimeExports.jsx("div",{className:"puzzle--terminal__button",children:u===T&&n?jsxRuntimeExports.jsx("button",{className:"gat--btn gat--btn__primary green",type:"button",onClick:a,children:d("screens.continue")}):null})]})})}const ICONS={image:"image-icon",video:"video-icon",embedded_video:"video-icon",pdf:"pdf-icon",terminal:"console-icon",cracker:"cracker-icon",folder:"folder-icon",application:"pdf-icon",world:"world-icon"};function Item({item:l,selectItem:e}){const n=l.name;return jsxRuntimeExports.jsx("li",{className:"puzzle--terminal__folder__list--item",children:jsxRuntimeExports.jsxs("button",{type:"button",title:n,className:`unset-button puzzle--terminal__item id-${l.id}`,onClick:()=>l.fixed?null:e(l),children:[jsxRuntimeExports.jsx("span",{className:`puzzle--terminal__icon ${ICONS[l.type]}`}),jsxRuntimeExports.jsx("span",{children:n})]})})}function FilesGroup({initFile:l,backFile:e,file:n,closeFolder:t,selectItem:a}){return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:n.id==="init"?jsxRuntimeExports.jsx("ul",{className:"puzzle--terminal__folder__list desktop",children:n.children.map((o,d)=>jsxRuntimeExports.jsx(Item,{selectItem:a,item:o},`${`${d}${o.id}`}`))}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("ul",{className:"puzzle--terminal__folder__list desktop",children:l.children.map((o,d)=>jsxRuntimeExports.jsx(Item,{selectItem:a,item:o},`${d+o.id}`))}),jsxRuntimeExports.jsxs("div",{className:"puzzle--terminal__folder",children:[jsxRuntimeExports.jsxs("div",{className:"puzzle--terminal__folder--head",children:[jsxRuntimeExports.jsx("span",{role:"button",onKeyUp:()=>{},"aria-label":"back file",tabIndex:0,onClick:()=>e(),className:"puzzle--terminal__folder--back",children:jsxRuntimeExports.jsx("span",{className:"icon-back"})}),jsxRuntimeExports.jsx("span",{className:`puzzle--terminal__folder--head__icon ${ICONS[n.type]}`}),jsxRuntimeExports.jsx("span",{className:"text",children:n.name}),jsxRuntimeExports.jsx("span",{role:"button",tabIndex:0,"aria-label":"close folder",onKeyUp:()=>{},onClick:()=>t(),className:"puzzle--terminal__folder--close",children:jsxRuntimeExports.jsx("span",{className:"icon-close"})})]}),jsxRuntimeExports.jsx("div",{className:"puzzle--terminal__folder--body",children:jsxRuntimeExports.jsx("ul",{className:"puzzle--terminal__folder__list",children:n.children.map((o,d)=>jsxRuntimeExports.jsx(Item,{selectItem:a,item:o},`${d+o.id}`))})})]})]})})}const DEFAULT_IMG="https://min.gamelearn.io/css-resources/gamelearn/resources/cosmos-bg-min.jpg",FIXED_ITEMS=[{fileId:"ids1",type:"world",fixed:!0,name:"Web builder 3.0"},{fileId:"ids2",type:"cracker",fixed:!0,name:"Decoder.exe"},{fileId:"ids3",type:"terminal",fixed:!0,name:"terminal"}];function TerminalPuzzleComponent({emitEvent:l,items:e,backgroundImage:n,solution:t,info:a,disableExit:o,soundActions:d,setResolveAction:h,nodeId:f,keyboardControl:u}){const[p,x]=React$2.useState({}),[R]=React$2.useState(!1),[S,E]=React$2.useState([]),g=React$2.useRef([]),[v]=d,T=k=>l({type:"translate",payload:k}),b=`terminal-puzzle_${f}`,_=React$2.useMemo(()=>({name:"init",children:[...FIXED_ITEMS,...e],id:"init"}),[e]),w=React$2.useCallback(k=>{v("click-ui"),x(k),E([...S,k]),k.type!=="folder"&&(l({type:"hidePuzzleButtons",payload:!0}),o(!0))},[S,o,l,v]);React$2.useEffect(()=>{x(_),E([_])},[_]),React$2.useEffect(()=>{h(()=>{g.current=[...g.current,...a.resolve.rewards];const k=g.current.map(F=>{var ne;const{name:M,points:U,type:$,id:B}=F,J={name:M,points:U,type:$,id:B};return(ne=F==null?void 0:F.document)!=null&&ne.resourceId&&(J.id=F.document.resourceId),J});l({type:"hidePuzzleButtons",payload:!1}),l({type:"puzzleAction",action:"resolve",payload:{element:b,rewards:k,finish:!0}})})},[h,a.resolve.rewards,l,b]);const C=()=>{g.current=[...g.current,...a.solution.wrong.rewards];const k=S.length-1,F=S.filter((M,U)=>k>U);x(S[k-1]),E(F),o(!1),l({type:"hidePuzzleButtons",payload:!1})},P=()=>{v("click-ui");const k=S[0];x(k),E([k])},D=()=>{g.current=[...g.current,...a.solution.right.rewards];const k=g.current.map(F=>{var ne;const{name:M,points:U,type:$,id:B}=F,J={name:M,points:U,type:$,id:B};return(ne=F==null?void 0:F.document)!=null&&ne.resourceId&&(J.id=F.document.resourceId),J});l({type:"hidePuzzleButtons",payload:!1}),v("score"),l({type:"addPoints",complex:!0,finish:!0,payload:k}),l({type:"passPuzzle"})},N=(n==null?void 0:n.url)||DEFAULT_IMG;return jsxRuntimeExports.jsx("div",{className:"puzzle--terminal",children:p.children?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Image$1,{isWallpaper:!0,document:{url:N}}),jsxRuntimeExports.jsx(FilesGroup,{backFile:C,initFile:_,selectItem:w,breadcrumb:S,closeFolder:P,file:p,translate:T})]}):jsxRuntimeExports.jsx(Visor,{soundActions:d,backFile:C,resolvePuzzle:D,info:a,showContinue:!R,solution:t,file:p,translate:T,keyboardControl:u})})}function DragItemPuzzleComponent({area:l,image:e,resolveObject:n,info:t,hasHighlights:a,consume:o,disableExit:d,emitEvent:h,soundActions:f,keyboardControl:u}){const{solution:p}=t,x=React$2.useRef(),R=React$2.useRef(),S=React$2.useRef(),E=React$2.useRef(),g=React$2.useRef({}),[v,T]=React$2.useState(""),[b,_]=React$2.useState(!1),[w,C]=React$2.useState(),[P]=React$2.useState(new window.Image),D=React$2.useRef([]),[N]=f,k=fe=>h({type:"translate",payload:fe});React$2.useEffect(()=>{d(v!=="")},[v,d]);const F=(fe,te)=>(fe.x+fe.width>te.x&&fe.x+fe.width<=te.x+te.width||te.x+te.width>fe.x&&te.x+te.width<=fe.x+fe.width)&&(fe.y+fe.height>te.y&&fe.y+fe.height<=te.y+te.height||te.y+te.height>fe.y&&te.y+te.height<=fe.y+fe.height),M=()=>{x&&a&&(x.current.to({duration:.25,opacity:.75}),R.current.to({duration:.25,opacity:.4}))},U=()=>{x&&a&&(x.current.to({duration:.25,opacity:0}),R.current.to({duration:.25,opacity:0}))},$=React$2.useCallback(fe=>{let te=!1;if(fe){const H=S.current;H.setPointersPositions(fe);const W=H.getPointerPosition(),V=x.current.getClientRect({relativeTo:H});te=F({...W,width:1,height:1},V)}return te},[]),B=React$2.useCallback(fe=>fe&&n.uid===JSON.parse(fe).uid,[n.uid]),J=React$2.useCallback(()=>{T(""),h({type:"hidePuzzleButtons",payload:!1}),h({type:"addPoints",complex:!0,finish:!0,payload:D.current}),h({type:"passPuzzle"}),o&&h({type:"consumeItem",payload:{uid:n.uid,targetId:n.uid,name:n.name}}),h({type:"closeUI",ui:"inventory"})},[o,h,n.name,n.uid]),ne=React$2.useCallback(()=>{T("success"),h({type:"hidePuzzleButtons",payload:!0}),D.current=[...D.current,...p.right.rewards],setTimeout(()=>{J()},2e3)},[h,J,p.right.rewards]),ie=React$2.useCallback(()=>{h({type:"openUI",ui:"inventory",onFinish:()=>{}}),T(""),h({type:"hidePuzzleButtons",payload:!1}),h({type:"failPuzzle"}),D.current=[...D.current,...p.wrong.rewards]},[h,p.wrong.rewards]),Y=React$2.useCallback(fe=>{const te=fe.dataTransfer.getData("item");S.current.setPointersPositions(fe);const H=$(fe);h({type:"hidePuzzleButtons",payload:!0}),H&&B(te)?(T("success"),h({type:"closeUI",ui:"inventory"}),t.solution.right.desc===""&&ne()):(h({type:"closeUI",ui:"inventory"}),T("failed"),t.solution.wrong.desc===""&&setTimeout(()=>{ie()},2e3))},[$,B,h,ne,ie,t.solution.right.desc,t.solution.wrong.desc]),q=()=>{v==="success"?ne():ie()};React$2.useEffect(()=>{const fe=e.img.url||"";P.src=fe,P.onload=()=>{E.current&&(g.current={x:E.current.clientWidth/2,y:E.current.clientHeight/2,width:P.width,height:P.height,offsetX:P.width/2,offsetY:P.height/2,scale:{x:Math.min(E.current.clientWidth/P.width,E.current.clientHeight/P.height),y:Math.min(E.current.clientWidth/P.width,E.current.clientHeight/P.height)}},_(!0))}},[P,e.img.url]);const re=fe=>{fe!==null&&(x.current=fe)},ce=fe=>{if(fe!==null&&(R.current=fe,x.current)){const{x:te,y:H,width:W,height:V}=x.current.getClientRect();fe.setAttr("x",te),fe.setAttr("y",H),fe.setAttr("height",V),fe.setAttr("width",W)}};return React$2.useLayoutEffect(()=>{if(x.current&&b){const fe=x.current.getClientRect({relativeTo:x.current.getParent()});C({x:fe.x+fe.width/2,y:fe.y+fe.height/2})}},[b]),jsxRuntimeExports.jsxs("div",{className:"puzzle--drag__mask100",onDrop:Y,onDragOver:fe=>{fe.preventDefault()},children:[jsxRuntimeExports.jsx("div",{className:"puzzle--drag__mask",children:jsxRuntimeExports.jsx("div",{ref:E,"data-testid":"mask_canvas",className:"puzzle--drag__mask--canvas",children:b?jsxRuntimeExports.jsx(Stage,{ref:S,width:E.current.clientWidth,height:E.current.clientHeight,children:jsxRuntimeExports.jsxs(Layer,{children:[jsxRuntimeExports.jsx(Image$2,{image:P,...g.current}),jsxRuntimeExports.jsxs(Group,{...g.current,children:[w?jsxRuntimeExports.jsx(Html,{transform:!0,groupProps:{id:"projection",...w},divProps:{style:{pointerEvents:"none"}},children:jsxRuntimeExports.jsx("div",{style:{width:"50px",height:"50px",pointerEvents:"none"},id:"object-area-projection"})}):null,jsxRuntimeExports.jsx(Line,{onMouseEnter:M,onMouseLeave:U,ref:re,...l,shape:"poly",fill:"#262a31d9",stroke:"white",strokeWidth:1,opacity:0,dash:[3,2],closed:!0,draggable:!1})]}),jsxRuntimeExports.jsx(Text,{onMouseEnter:M,onMouseLeave:U,ref:ce,text:k("puzzle.drag.dropzone"),fontSize:12,align:"center",verticalAlign:"middle",fill:"#ffffff",opacity:0})]})}):null})}),v!==""?jsxRuntimeExports.jsx(FeedbackComponent$1,{text:t.solution[v==="success"?"right":"wrong"].desc,success:v==="success",translate:k,playSound:N,functionOnClose:q,keyboardControl:u}):null]})}const LABELS_INDEX$1=["A","B","C","D","E","F","G","H","I","J"];function Questions({disabled:l,answered:e,question:n,updateForm:t,result:a,correctQuestions:o,translate:d}){const[h,f]=React$2.useState(!1),u=n.answers.filter(v=>v.text),p=v=>{let T=!1;return a[n.id].find(b=>b.id===v)&&(T=!0),T},x=v=>{let T="";return h?(e&&p(v.id)&&(T="selected"),l&&p(v.id)&&o.includes(v.id)&&(T="success"),l&&p(v.id)&&!o.includes(v.id)&&(T="failed")):(e&&v.id===a[n.id][0].id&&(T="selected"),l&&v.id===a[n.id][0].id&&(T=a[n.id][0].isCorrect?"success":"failed")),T},R=v=>{const T=x(v);return T==="selected"?"icon-check-circle-black color--selected":T==="success"?"icon-check-circle-black color--success":T==="failed"?"icon-error-circle-black color--error":""},S=v=>l&&v.feedback&&(h&&p(v.id)||v.id===a[n.id][0].id),E=(v,T)=>T===0?"tooltip--right__top":T===v.length-1?"tooltip--right__bottom":"tooltip--center__right",g=n.answers.filter(v=>v.isCorrect);return React$2.useEffect(()=>{g.length===1?f(!1):f(!0)},[g.length,h,n.answers]),jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"test--questions__item",children:jsxRuntimeExports.jsx("span",{children:n.text})}),h&&!l?jsxRuntimeExports.jsx("div",{className:"test--questions__intertitle test--questions__intertitle--multiresponse",children:d("tests.chooseMoreOneAnswer")}):null,u.map((v,T)=>jsxRuntimeExports.jsxs("div",{className:"test--response__fakeinput",children:[h?jsxRuntimeExports.jsx("input",{checked:e&&p(v.id),disabled:l&&!p(v.id),readOnly:l,type:"checkbox",id:v.id,onChange:()=>l?null:t(v,n.id,T,"isCheckbox",v.id)}):jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsx("input",{checked:e&&v.id===a[n.id][0].id,disabled:l&&!x(v),type:"radio",name:"name",id:v.id,onChange:()=>l?null:t(v,n.id,T,"isRadio")})}),jsxRuntimeExports.jsxs("label",{htmlFor:v.id,className:`test--response__item ${x(v)}`,children:[jsxRuntimeExports.jsx("div",{className:"test--response__index",children:LABELS_INDEX$1[T]}),jsxRuntimeExports.jsx("div",{className:"test--response__text",children:jsxRuntimeExports.jsx("span",{children:v.text})}),jsxRuntimeExports.jsx("div",{className:`test--response__icon ${R(v)}`})]}),l?jsxRuntimeExports.jsxs("div",{className:`test--feedback__info ${S(v)?"":"test--feedback__info--hidden"}`,children:[jsxRuntimeExports.jsx("span",{className:`icon-info2 ${x(v)==="success"?"color--success":"color--error"}`}),jsxRuntimeExports.jsxs("div",{id:`tooltipFeedback-${T}`,className:`tooltip ${E(u,T)}`,children:[jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx("b",{children:jsxRuntimeExports.jsx("span",{children:d("test.feedback")})})}),jsxRuntimeExports.jsx("span",{children:jsxRuntimeExports.jsx("span",{children:v.feedback})})]})]}):null]},v.text))]})}const LABELS_INDEX=["A","B","C","D","E","F","G","H","I","J"];function FeedbackItem({selectedAnswers:l,correctQuestions:e,question:n,translate:t}){const a=h=>e.includes(h),o=(h,f)=>h.index<f.index?-1:h.index>f.index?1:0,d=l.sort(o);return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"test--questions__item",children:jsxRuntimeExports.jsx("span",{children:n})}),d.map(h=>jsxRuntimeExports.jsxs("div",{className:"test--response__itemwrap",children:[jsxRuntimeExports.jsxs("div",{className:`test--response__item ${a(h.id)?"success":"failed"}`,children:[jsxRuntimeExports.jsx("div",{className:"test--response__index",children:LABELS_INDEX[h.index]}),jsxRuntimeExports.jsx("div",{className:"test--response__text",children:jsxRuntimeExports.jsx("span",{children:h.text})}),jsxRuntimeExports.jsx("div",{className:`test--response__icon ${a(h.id)?"icon-check-circle-black color--success":"icon-error-circle-black color--error"}`})]}),jsxRuntimeExports.jsxs("div",{className:"test--feedback",children:[jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx("b",{children:jsxRuntimeExports.jsxs("span",{children:[t("test.feedback")," ",l.length>1?LABELS_INDEX[h.index]:""]})})}),jsxRuntimeExports.jsx("span",{children:h.feedback})]})]},h.text))]})}function Container({questions:l,setTime:e,saveInterval:n,result:t,setTries:a,tries:o,time:d,showResults:h,answered:f,answerPage:u,updateForm:p,disabled:x,translate:R,soundActions:S,paused:E,view:g,correctQuestions:v,feedbacksOnlyWhenReview:T}){const b=document.querySelector(".test--container"),[_,w]=React$2.useState(0),[C,P]=React$2.useState(),D=l[_].id,[N]=S;React$2.useEffect(()=>{if(d>=0&&!x&&!E){const ne=setInterval(()=>{C||e(ie=>ie-1)},1e3);return n(ne),()=>{clearInterval(ne)}}},[x,C,E,n,e,d]);const k=()=>{b.scrollTo(0,0),N("click-ui"),f&&(t[D][0].feedback&&!x&&!T?P(!0):(u(!1),w(_+1)))},F=()=>{N("click-ui"),w(_-1)},M=()=>{b.scrollTo(0,0),l[_+1]?(P(!1),u(!1),w(_+1)):h()},U=()=>{b.scrollTo(0,0),a(o+1),t[D][0].feedback&&!x&&!T?P(!0):h()},$=Math.floor(d/60),B=d%60;React$2.useEffect(()=>{if(g==="review"){const ne=t[`q${_}`][0].id,ie=document.querySelector(`#${ne}`);b.scrollTo(0,ie.offsetTop)}},[_,b,t,g]);const J=()=>{if(f){const ne=v[l[_].id.substring(1)].answers,ie=t[D],Y=ie.find(re=>re.isCorrect===!1);let q=0;return ie.forEach(re=>{ne.includes(re.id)&&(q+=1)}),!Y&&q===ne.length}return!1};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[g==="review"||C?jsxRuntimeExports.jsx("div",{className:`test-feedback-header ${J()?"success":"failed"}`,children:jsxRuntimeExports.jsxs("h2",{children:[jsxRuntimeExports.jsx("span",{className:`${J()?"icon-correct-thumb":"icon-incorrect-thumb"}`}),jsxRuntimeExports.jsx("span",{className:"test-feedback-header__title",children:J()?R("tests.resolvedQuestion"):R("tests.notResolvedQuestion")})]})}):null,jsxRuntimeExports.jsxs("div",{className:"test--questions",children:[jsxRuntimeExports.jsx("div",{className:"test--questions__container",children:C?jsxRuntimeExports.jsx(FeedbackItem,{selectedAnswers:t[D],correctQuestions:v[l[_].id.substring(1)].answers,question:l[_].text,translate:R}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{className:"test--questions__intertitle",children:[jsxRuntimeExports.jsx("div",{children:LangIsRtl()?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[_+1,"/",l.length," ",jsxRuntimeExports.jsx("span",{children:R("tests.question")})]}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("span",{children:R("tests.question")})," ",_+1,"/",l.length]})}),g!=="review"&&d>=0?jsxRuntimeExports.jsx("div",{dir:"ltr",className:`count-down ${d<10?"count-down--finalseconds":""}`,children:jsxRuntimeExports.jsxs("div",{id:"test-time",children:[$<10?`0${$}`:$," : ",B<10?`0${B}`:B]})}):null]}),jsxRuntimeExports.jsx(Questions,{result:t,disabled:x,answered:f,updateForm:p,question:l[_],correctQuestions:x?v[l[_].id.substring(1)].answers:[],translate:R},l[_].id)]})}),jsxRuntimeExports.jsxs("div",{className:`test--buttons ${g==="review"?"reviewmode":"next"}`,children:[g==="review"?jsxRuntimeExports.jsx("button",{disabled:_===0,id:"back-button",onClick:()=>F(),type:"button",className:`gat--btn__navigation ${_===0?"disabled":""}`,"aria-label":LangIsRtl()?R("survey.next"):R("survey.previous"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-next":"icon-back"})}):null,!C&&l[_+1]?jsxRuntimeExports.jsx("button",{disabled:!f,id:"next-button",onClick:()=>k(),type:"button",className:`gat--btn__navigation ${f?"":"disabled"}`,"aria-label":LangIsRtl()?R("survey.previous"):R("survey.next"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-back":"icon-next"})}):null,C?jsxRuntimeExports.jsx("button",{id:"next-button",onClick:()=>M(),type:"button",className:"gat--btn__navigation",children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-back":"icon-next"})}):null,!C&&l[_].id.substring(1)===(l.length-1).toString()?jsxRuntimeExports.jsx("button",{disabled:!f,id:"finish-button",onClick:()=>{N("click-ui"),f&&U()},type:"button",className:`gat--btn__navigation ${f?"":"disabled"}`,"aria-label":LangIsRtl()?R("survey.previous"):R("survey.next"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-back":"icon-next"})}):null]})]})]})}function ResultsComponent({result:l,time:e,mandatory:n,correctQuestions:t,isFirst:a,reviewTest:o,finishTest:d,restartTest:h,timeOver:f,timeOverText:u,emitEvent:p,minimumPercentage:x}){const[R,S]=React$2.useState(0),[E,g]=React$2.useState(),[v,T]=React$2.useState([]),[b,_]=React$2.useState([]),[w,C]=React$2.useState([]),P=React$2.useCallback(()=>{const ie=[];return t.forEach(Y=>ie.push(Y.answers)),ie},[t]),D=React$2.useCallback(()=>{const ie=[];return Object.values(l).forEach(Y=>{if(Y.length>1){const q=Y.find(ce=>ce.isCorrect===!1),re=[];q?ie.push([]):(Y.forEach(ce=>{ce.isCorrect&&re.push(ce.id)}),ie.push(re))}else Y[0].isCorrect?ie.push([Y[0].id]):Y[0].isCorrect===!1&&ie.push("")}),ie},[l]),N=React$2.useCallback(()=>{let ie=0;return b.length>0&&v.forEach((Y,q)=>{Y.length>1?Y.every(re=>b[q].includes(re))&&(ie+=1):Y.length===1&&b[q]&&Y[0]===b[q][0]&&(ie+=1)}),ie},[v,b]);React$2.useEffect(()=>{T(P),_(D),C(N)},[P,D,N]);const k=t.length,F=N()===k,M=w<x,U=w>=x,$=!n||U,B=Math.trunc(R/k*100),J=(ie,Y)=>p({type:"translate",payload:ie,values:Y}),ne={"--chart-color":"var(--color-error)"};return React$2.useEffect(()=>{if(R<w){const ie=setInterval(()=>{S(Y=>Y+1)},100);return g(ie),()=>{clearInterval(ie)}}},[w,R]),React$2.useEffect(()=>{R>=w&&clearInterval(E)},[w,E,R]),jsxRuntimeExports.jsxs("div",{className:`test--results ${M||f?"test--results--failed":""}`,children:[a&&F?jsxRuntimeExports.jsxs("div",{className:"fireworks",children:[jsxRuntimeExports.jsx("div",{className:"before"}),jsxRuntimeExports.jsx("div",{className:"after"})]}):null,!f&&M?jsxRuntimeExports.jsx("div",{className:"test--results__title",children:jsxRuntimeExports.jsx("span",{children:J("tests.NotFinishedSuccessfully")})}):null,!f&&U||F?jsxRuntimeExports.jsx("div",{className:"test--results__title",children:jsxRuntimeExports.jsx("span",{children:J("tests.finishedSuccessfully")})}):null,f?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"test--results__title",children:jsxRuntimeExports.jsx("span",{children:u})}),jsxRuntimeExports.jsx("div",{className:"test--results__time",id:"results-time",children:jsxRuntimeExports.jsx("span",{children:J("tests.time",e)})})]}):null,jsxRuntimeExports.jsxs("div",{className:`chart center chart${B}`,children:[jsxRuntimeExports.jsxs("div",{className:"chart-slice",children:[jsxRuntimeExports.jsx("div",{className:"chart-bar",style:M||f?ne:{}}),jsxRuntimeExports.jsx("div",{className:"chart-fill",style:M||f?ne:{}})]}),jsxRuntimeExports.jsxs("span",{className:"chart-value",children:[jsxRuntimeExports.jsxs("div",{className:"test--results__chart",children:[jsxRuntimeExports.jsx("span",{children:R}),jsxRuntimeExports.jsxs("span",{children:["/",k]})]}),jsxRuntimeExports.jsx("div",{className:"test--results__chart--label",children:jsxRuntimeExports.jsx("span",{children:J("tests.success")})})]})]}),jsxRuntimeExports.jsxs("div",{className:"test--results__minimum",children:[jsxRuntimeExports.jsx("div",{className:"icon-bell"}),jsxRuntimeExports.jsx("div",{children:J("tests.minimumQuestionsMessage",{minimumPercentage:x})})]}),jsxRuntimeExports.jsxs("div",{className:"test--results__buttons",children:[f?null:jsxRuntimeExports.jsx("button",{className:"gat--btn gat--btn__secondary",id:"review-button",onClick:()=>o(),type:"button",children:jsxRuntimeExports.jsx("span",{children:J("tests.review")})}),$?null:jsxRuntimeExports.jsx("button",{className:"gat--btn gat--btn__primary",id:"restart-button",onClick:()=>h(),type:"button",children:jsxRuntimeExports.jsx("span",{children:J("tests.restart")})}),$?jsxRuntimeExports.jsx("button",{className:"gat--btn gat--btn__primary",id:"finish-button",onClick:()=>d(),type:"button",children:jsxRuntimeExports.jsx("span",{children:J("tests.continue")})}):null]})]})}function TestComponent({test:l,countdown:e={},emitEvent:n,soundActions:t,audio:a,required:o,pause:d,minimumPercentage:h=100,feedbacksOnlyWhenReview:f}){const{questions:u}=l,[p,x]=React$2.useState({}),[R,S]=React$2.useState(),[E,g]=React$2.useState(0),[v,T]=React$2.useState([]),[b,_]=React$2.useState(e.time),[w,C]=React$2.useState(!1),[P,D]=React$2.useState("test"),[N,k]=React$2.useState(!0),[F,M]=React$2.useState({}),[U,$]=React$2.useState({}),[B,J]=React$2.useState(!1),ne=o||l.required||!1,ie=React$2.useRef({}),[Y,q]=React$2.useState(),[re,ce]=t,fe=(Q,ee,le,ue,he)=>{const ve={...Q,index:le};if(E>0&&(ve.rewards=ve.rewards.filter(Re=>!U[Q.id]||Re.points<0)),p[ee]){const Re=p[ee].find(Le=>Le.id===he);if(Re){if(Re.id===Q.id){const Le=p[ee].find(Ke=>Ke.id===he),Oe=p[ee].indexOf(Le);if(p[ee].splice(Oe,1),p[ee].length===0){C(!1);return}}}else p[ee].push(ve)}else p[ee]=[ve];let be;ue==="isRadio"?be={...p,[ee]:[ve]}:be={...p},x(be),M(be),$({...U,[Q.id]:{...Q}}),C(!0)};React$2.useEffect(()=>{a!=null&&a.url&&re(a.url,"tts")},[re,a]);const te=u.map(Q=>{const ee=Q.answers.filter(ue=>ue.isCorrect),le=[];return ee.forEach(ue=>{le.push(ue.id)}),{question:Q.id,answers:le}});React$2.useEffect(()=>{T(te)},[te]),React$2.useEffect(()=>{if(h){const Q=Math.ceil(u.length*h/100);q(Q)}},[u.length,h]),React$2.useEffect(()=>{b===0&&(clearInterval(R),C(!1),J(!0),D("results"),ce("tts"))},[R,ce,b]);const H=()=>{clearInterval(R),C(!1),D("results");const Q={...F};M(Q),ce("tts")},W=()=>{const Q={correctQuestions:v.length,result:p,status:"resolved"};Object.keys(p).forEach(le=>{p[le].forEach(ue=>{ie.current[ue.id]&&(ue.rewards=[])})}),n({type:"saveTest",payload:Q})},V=()=>{const Q=()=>{M({}),$({}),D("test"),x({}),_(e.time),J(!1),a!=null&&a.url&&re(a.url,"tts")},ee=Object.values(p);ee.forEach(ue=>{ue.forEach(he=>{he.isCorrect&&(ie.current[he.id]?he.rewards=[]:ie.current[he.id]=!0)})});let le=ee.reduce((ue,he)=>{const ve=[];return he.forEach(be=>{ve.push(be.rewards)}),[...ue,...ve.flat()]},[]);B&&e.rewards&&(le=[...le,...e.rewards]),n({type:"addPoints",payload:le,complex:!0,finish:!1,onFinish:Q}),n({type:"failTest"})},z=(Q,ee)=>n({type:"translate",payload:Q,values:ee});return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"test--container__overlay"}),jsxRuntimeExports.jsx("div",{className:"test--container",dir:"auto",children:P!=="results"?jsxRuntimeExports.jsx(Container,{result:p,time:b,setTries:g,tries:E,answerPage:C,setTime:_,paused:d,saveInterval:S,disabled:P!=="test",answered:w||P!=="test",questions:u,updateForm:fe,showResults:H,translate:z,soundActions:t,view:P,correctQuestions:v,feedbacksOnlyWhenReview:f}):jsxRuntimeExports.jsx(ResultsComponent,{reviewTest:()=>{k(!1),D("review")},isFirst:N,finishTest:W,time:b,mandatory:ne,restartTest:V,result:p,correctQuestions:v,timeOver:B,timeOverText:e.text,emitEvent:n,soundActions:t,minimumPercentage:Y})})]})}const OPTIONS=["yes","no"],LETTERS=["A","B"];function ApplicableBox({setSurveyData:l,survey:e,id:n,translate:t,changePage:a}){const o=d=>{l({...e,[n]:d}),a()};return jsxRuntimeExports.jsx("div",{className:"survey--page__item",children:OPTIONS.map((d,h)=>jsxRuntimeExports.jsxs("button",{type:"button",onClick:()=>o(d),className:`unset-button survey--response__item ${e[n]===d?"selected":""}`,children:[jsxRuntimeExports.jsx("div",{className:"survey--response__index",children:LETTERS[h]}),jsxRuntimeExports.jsx("div",{className:"survey--response__text",children:t(`survey.${d}`)})]},d))})}const OPINION_OPTIONS=[0,1,2,3,4,5,6,7,8,9,10];function OpinionBox({setSurveyData:l,survey:e,id:n,translate:t,changePage:a}){const o=d=>{l({...e,[n]:d}),a()};return jsxRuntimeExports.jsxs("div",{className:"survey--page__item","aria-label":"opinion box",children:[jsxRuntimeExports.jsx("div",{className:"survey--points",children:OPINION_OPTIONS.map(d=>jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>o(d),className:`unset-button survey--points__item survey--points__item--colorized ${e[n]===d?"selected":""}`,children:d},d))}),jsxRuntimeExports.jsxs("div",{className:"survey--points__labels",children:[jsxRuntimeExports.jsx("span",{children:t("survey.bad")}),jsxRuntimeExports.jsx("span",{children:t("survey.excellent")})]})]})}function TextBox({setSurveyData:l,survey:e,id:n,literalLabel:t}){const a=o=>{l({...e,[n]:o})};return jsxRuntimeExports.jsx("div",{className:"survey--page__item",children:jsxRuntimeExports.jsx("textarea",{ref:o=>{o&&o.focus()},className:"survey--textarea",id:t,value:e[n],onChange:o=>a(o.target.value)})})}const INIT_SURVEY={applicable:"",opinion:"",comments:"",suggestions:""},PAGES=[{component:ApplicableBox,id:"applicable"},{component:OpinionBox,id:"opinion"},{component:TextBox,id:"comments"},{component:TextBox,id:"suggestions"}];function SurveyComponent({emitEvent:l,soundActions:e}){const[n,t]=React$2.useState(INIT_SURVEY),[a,o]=React$2.useState(0),[d,h]=React$2.useState(!1),[f]=e,u=(R,S)=>l({type:"translate",payload:R,values:S}),p=(R=!1)=>{if(f("click-ui"),!R&&a+1>=PAGES.length)h(!0);else{R&&h(!1);const S=R?a-1:a+1;o(S)}},x=PAGES[a].component;return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"survey--container__overlay"}),jsxRuntimeExports.jsx("div",{className:"survey--container",dir:"auto",children:jsxRuntimeExports.jsxs("div",{className:"survey--questions",children:[jsxRuntimeExports.jsxs("div",{className:"survey--questions__container",children:[jsxRuntimeExports.jsxs("div",{className:"survey--questions__intertitle",children:[jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx("span",{children:u("survey.numQuestion",{init:a+1,page:PAGES.length})})}),jsxRuntimeExports.jsx("div",{children:u("auto-evaluation.allQuestionsMandatory")})]}),jsxRuntimeExports.jsx("label",{className:"survey--questions__item",htmlFor:u(`survey.question${a+1}`,{ordinal:a+1}),children:u(`survey.question${a+1}`,{ordinal:a+1})}),jsxRuntimeExports.jsx(x,{setSurveyData:t,id:PAGES[a].id,survey:n,translate:u,changePage:R=>p(!1),literalLabel:u(`survey.question${a+1}`,{ordinal:a+1})})]}),jsxRuntimeExports.jsxs("div",{className:"test--buttons next",children:[jsxRuntimeExports.jsx("button",{id:"survey-button-back",type:"button",disabled:a===0,onClick:()=>p(!0),className:`gat--btn__navigation ${a===0?"disabled":""}`,"aria-label":LangIsRtl()?u("survey.next"):u("survey.previous"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-next":"icon-back"})}),d&&a===PAGES.length-1?jsxRuntimeExports.jsx("button",{id:"survey-button",type:"button",disabled:!n[PAGES[a].id],onClick:()=>{f("click-ui"),l({type:"saveSurvey",payload:n})},className:`gat--btn gat--btn__primary ${n[PAGES[a].id]?"":"disabled"} not-transition`,children:u("survey.finish")}):null,!d&&a!==PAGES.length?jsxRuntimeExports.jsx("button",{id:"survey-button",type:"button",disabled:!n[PAGES[a].id],onClick:()=>p(!1),className:`gat--btn__navigation ${n[PAGES[a].id]?"":"disabled"}`,"aria-label":LangIsRtl()?u("survey.previous"):u("survey.next"),children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-back":"icon-next"})}):null]})]})})]})}function EndScreen({onFinish:l,translate:e}){return React$2.useEffect(()=>{let n;return l&&(n=setTimeout(()=>{l()},2e3)),()=>{n&&clearTimeout(n)}},[l]),jsxRuntimeExports.jsx("div",{"data-testid":"endScreen",className:"auto-evaluation__endscreen","aria-label":"auto evaluation endscreen",children:jsxRuntimeExports.jsxs("div",{className:"auto-evaluation__finishband","aria-label":"auto evaluation finishband",children:[jsxRuntimeExports.jsx("span",{className:"icon-check-laptop auto-evaluation__iconendscreen","aria-label":"icon-check",role:"img"}),jsxRuntimeExports.jsx("span",{className:"auto-evaluation__thanks","aria-label":"auto evaluation thanks",role:"contentinfo",children:e("auto-evaluation.thanks")})]})})}function StartScreen({onNext:l,description:e,translate:n}){return jsxRuntimeExports.jsxs("div",{className:"auto-evaluation__startscreen",role:"alertdialog","aria-modal":"true","aria-label":"ae start screen",children:[jsxRuntimeExports.jsx("span",{className:"icon-happy-laptop auto-evaluation__starticon","aria-label":"icon laptop",role:"img"}),jsxRuntimeExports.jsx("div",{className:"auto-evaluation__starttext","aria-label":"desciption",children:jsxRuntimeExports.jsx("span",{children:e})}),jsxRuntimeExports.jsx("button",{"data-testid":"auto-start-button",type:"button",className:"gat--btn gat--btn__primary auto-evaluation__button auto-evaluation__button--start",onClick:l,children:jsxRuntimeExports.jsx("span",{children:n("auto-evaluation.start")})})]})}function AutoEvaluation({description:l,questions:e,type:n,emitEvent:t,soundActions:a}){var w,C,P;const[o,d]=React$2.useState(null),[h,f]=React$2.useState("start"),[u,p]=React$2.useState(!1),[x,R]=React$2.useState(0),[S,E]=React$2.useState({current:{questions:[],type:n}}),[g]=a,v=D=>t({type:"translate",payload:D}),T=D=>{D.code==="Enter"&&D.target.blur()},b=()=>{g("click-ui"),t({type:"saveSurveyPrePos",payload:S.current})};React$2.useEffect(()=>{!e.length&&h==="questions"&&f("end")},[e,h]);const _=(D,N=!1)=>{var F;const k=D!==null?D:(F=S.current.questions.find(M=>M.id===e[x].id))==null?void 0:F.answer;if(g("click-ui"),N)R(x-1),p(!1);else{const M=S.current.questions.findIndex($=>$.id===e[x].id),U=[...S.current.questions];M>-1?U.splice(M,1,{id:e[x].id,answer:k}):U.push({id:e[x].id,answer:k}),E({...S,current:{...S.current,questions:U}}),x===e.length-1?p(!0):(R(x+1),p(!1))}};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"test--container__overlay","aria-label":"test container overlay"}),jsxRuntimeExports.jsxs("div",{className:"test--container",dir:"auto","aria-label":"test container",children:[h==="start"&&jsxRuntimeExports.jsx(StartScreen,{description:l,onNext:()=>{f("questions"),g("click-ui")},translate:v}),h==="questions"&&jsxRuntimeExports.jsxs("div",{"data-testid":"survey--questions",className:"survey--questions","aria-label":"survey questions",children:[jsxRuntimeExports.jsxs("div",{className:"survey--questions__container","aria-label":"survey questions container",children:[jsxRuntimeExports.jsxs("div",{className:"survey--questions__intertitle",children:[jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsxs("span",{children:[v("auto-evaluation.question")," ",x+1," ",v("storylines.misc.of")," ",e.length]})}),jsxRuntimeExports.jsx("div",{children:v("auto-evaluation.allQuestionsMandatory")})]}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("div",{className:"survey--questions__item","aria-label":"survey questions item",children:(w=e[x])==null?void 0:w.text}),jsxRuntimeExports.jsx("div",{className:"survey--page__item","aria-label":"survey page item",children:jsxRuntimeExports.jsx("div",{className:"survey--points","aria-label":"survey points",children:Array(11).fill(0).map((D,N)=>{var k;return jsxRuntimeExports.jsx("button",{"data-testid":`button-option-${0+N}`,type:"button",onTouchStart:()=>{d(N)},onTouchEnd:()=>{d(null)},onKeyUp:F=>{T(F)},onClick:()=>{_(N,!1)},className:`survey--points__item survey--points__item--simple ${((k=S.current.questions[x])==null?void 0:k.answer)===N||o===N?"selected":""}`,children:N},`${0+N}`)})})})]},`${e[x]}`)]}),jsxRuntimeExports.jsxs("div",{className:"test--buttons next","aria-label":"test buttons",children:[jsxRuntimeExports.jsx("button",{"data-testid":"back-button",type:"button",disabled:x===0,onClick:()=>_(null,!0),"aria-label":LangIsRtl()?v("survey.next"):v("survey.previous"),className:`gat--btn__navigation ${x===0?"disabled":""}`,children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-next":"icon-back","aria-label":"icon button"})}),u?jsxRuntimeExports.jsx("button",{"data-testid":"finish-button",type:"button",onClick:()=>{f("end"),g("click-ui")},className:`gat--btn gat--btn__primary auto-evaluation__button not-transition
253
+ `,children:jsxRuntimeExports.jsx("span",{children:v("auto-evaluation.end")})}):jsxRuntimeExports.jsx("button",{"data-testid":"forward-button",type:"button",onClick:()=>_(null,!1),disabled:((C=S.current.questions[x])==null?void 0:C.answer)===void 0,"aria-label":LangIsRtl()?v("survey.previous"):v("survey.next"),className:`gat--btn__navigation ${((P=S.current.questions[x])==null?void 0:P.answer)===void 0?"disabled":""}`,children:jsxRuntimeExports.jsx("span",{className:LangIsRtl()?"icon-back":"icon-next"})})]})]}),h==="end"&&jsxRuntimeExports.jsx(EndScreen,{onFinish:b,translate:v})]})]})}function PatternComponent({img:l,name:e,viewed:n,emitEvent:t,soundActions:a,keyboardControl:o}){const[d]=a,h=x=>t({type:"translate",payload:x}),f=()=>{d("click-ui"),t({type:"emitSavePattern",payload:{imgId:l.resourceId,name:e,viewed:!0,url:p,type:"pattern"}})},u=o({disabled:n,forward:f,escape:f});if(React$2.useEffect(()=>u(),[u]),!l)return null;const p=l.url;return jsxRuntimeExports.jsx("div",{className:n?"notes--results":"readings--container pattern-wrap--overlay",children:jsxRuntimeExports.jsx("div",{className:n?"notes--results__text":"pattern-wrap",children:n?jsxRuntimeExports.jsx("div",{children:p&&jsxRuntimeExports.jsx("img",{src:p,alt:"pattern"})}):jsxRuntimeExports.jsxs("div",{className:"pattern",children:[jsxRuntimeExports.jsxs("div",{className:"pattern__header",children:[jsxRuntimeExports.jsx("div",{className:"pattern__title",children:h("phone.pattern")}),jsxRuntimeExports.jsx("button",{type:"button","aria-label":h("storylines.misc.closePiece"),className:"pattern__close gat--btn__round gat--btn__close",onClick:()=>f(),children:jsxRuntimeExports.jsx("span",{className:"icon-close"})})]}),jsxRuntimeExports.jsx("figure",{className:"pattern__figure",children:p&&jsxRuntimeExports.jsx("img",{src:p,alt:"pattern"})})]})})})}const getRecursiveJSX=(l,e=0,n,t,a)=>{var o,d;if((o=l.props)!=null&&o.children){const h=l.type,{children:f,...u}=l.props;if(l.props["data-text-id"]){if(u.dir="auto",u.onClick=p=>t(p,u["data-text-id"]||-1),n!=null&&n.hasHighlights){const p=[...n.correctTexts,...n.wrongTexts];for(let x=0;x<p.length;x+=1)u["data-text-id"]===p[x].id&&(u.className="text-click__hover-correct")}}else n!=null&&n.allWrong&&!l.props["data-text-id"]&&(u.onClick=p=>t(p,"allWrong"));return Array.isArray(f)?jsxRuntimeExports.jsx(h,{...u,children:f.map((p,x)=>getRecursiveJSX(p,x,n,t))},`${l.type}_${e}`):jsxRuntimeExports.jsx(h,{...u,children:getRecursiveJSX(f,e,n,t)},`${l.type}_${e}`)}return((d=l.props)==null?void 0:d.children)!==null?l.split(" ").filter(h=>h!=="").map(h=>jsxRuntimeExports.jsx("span",{dir:"auto",children:h},h)):null};function TextClickPuzzleComponent({emitEvent:l,showFrames:e,styles:n,list:t,soundActions:a,description:o,setInfo:d,setResolveAction:h,keyboardControl:f,backgroundImage:u,hideBackgroundImageTheme:p=!1,nodeId:x}){const R=`textclick-puzzle_${x}`,[S,E]=React$2.useState({result:null,show:!1,text:"",timeout:!1}),[g]=a,[v,T]=React$2.useState(0),[b,_]=React$2.useState(0),[w,C]=React$2.useState(0),P=React$2.useRef(0),D=React$2.useRef([]),[N,k]=React$2.useState(0),[F,M]=React$2.useState(),U=React$2.useCallback(V=>l({type:"translate",payload:V}),[l]),$=React$2.useRef(null),B=React$2.useCallback(()=>P.current===t[v].correctTexts.length||t[v].hasClickOnce&&P.current>=1,[v,t]),J=React$2.useCallback((V,z)=>{V&&l({type:"hidePuzzleButtons",payload:!0}),E(Q=>({...Q,show:V,...z}))},[l]),ne=React$2.useCallback(()=>{if(B())if(E(V=>({...V,result:!1})),P.current=0,w===b){const V=D.current.reduce((z,Q)=>{const ee=z.findIndex(le=>le.id===Q.id);return ee>=0?z[ee].points+=Q.points:z.push({...Q}),z},[]);l({type:"addPoints",complex:!0,finish:!0,payload:V}),l({type:"passPuzzle"})}else $.current=null,T(v+1),k(0),M(!0),setTimeout(()=>{M(!1)},1200)},[B,w,b,l,v]),ie=React$2.useCallback(()=>{l({type:"hidePuzzleButtons",payload:!1}),ne(),E(z=>({...z,show:!1,text:""}));const V=document.querySelectorAll(".text-click__failed");V.length>0&&V.forEach(z=>z.classList.remove("text-click__failed"))},[l,ne]),Y=React$2.useCallback((V,z)=>{var Q,ee;V.forEach(le=>le.classList.add("text-click__success")),C(w+1),P.current+=1,g("score"),(Q=t[v].info.solution.right)!=null&&Q.desc?B()&&(D.current=[...D.current,...t[v].info.solution.right.rewards],J(!0,{result:!0,text:t[v].info.solution.right.desc,timeout:!1})):t[v].info.solution.right.desc===""&&(z!=null&&z.desc)?(D.current=((ee=z==null?void 0:z.rewards)==null?void 0:ee.length)>0?[...D.current,...(z==null?void 0:z.rewards)||{}]:[...D.current],J(!0,{result:!0,text:z.desc,timeout:!1})):t[v].specificFeedbacks.specificCorrectFeedbacks?(D.current=[...D.current,...(z==null?void 0:z.rewards)||{}],B()&&J(!0,{result:!0,timeout:!0})):B()&&(D.current=[...D.current,...t[v].info.solution.right.rewards],J(!0,{result:!0,timeout:!0}))},[w,g,t,v,B,J]),q=React$2.useCallback((V,z)=>{var Q;V.forEach(ee=>ee.classList.add("text-click__failed")),g("fail"),l({type:"failPuzzle"}),t[v].info.solution.wrong.desc!==""?(D.current=[...D.current,...t[v].info.solution.wrong.rewards],J(!0,{result:!1,text:t[v].info.solution.wrong.desc,timeout:!1})):t[v].info.solution.wrong.desc===""&&(z!=null&&z.desc)?(D.current=(Q=z==null?void 0:z.rewards)!=null&&Q.length?[...D.current,...(z==null?void 0:z.rewards)||{}]:[...D.current],J(!0,{result:!1,text:z.desc,timeout:!1})):t[v].specificFeedbacks.specificWrongFeedbacks?(D.current=[...D.current,...(z==null?void 0:z.rewards)||{}],J(!0,{result:!1,timeout:!0})):(D.current=[...D.current,...t[v].info.solution.wrong.rewards],J(!0,{result:!1,timeout:!0}))},[g,l,t,v,J]),re=React$2.useCallback((V,z)=>{var be,Re,Le,Oe;V.stopPropagation();const Q=document.querySelectorAll(`[data-text-id="${z}"]`),ee=document.querySelectorAll("[data-text-id]"),le=t[v].correctTexts.find(Ke=>Ke.id===z),ue=t[v].wrongTexts.find(Ke=>Ke.id===z),he=(Re=(be=t[v])==null?void 0:be.specificFeedbacks)==null?void 0:Re.correctFeedbacks.find(Ke=>Ke.id===z),ve=(Oe=(Le=t[v])==null?void 0:Le.specificFeedbacks)==null?void 0:Oe.wrongFeedbacks.find(Ke=>Ke.id===z);g("click-ui"),t[v].hasClickOrder?t[v].correctTexts[N].id===z?(k(N+1),Y(Q,he)):t[v].correctTexts.find(Ke=>Ke.id===z)&&t[v].correctTexts[N].id!==z?(ee.forEach(Ke=>Ke.classList.remove("text-click__success")),k(0),C(0),P.current=0,J(!0,{result:!1,text:t[v].info.orderFeedback.desc||U("puzzles.incorrectOrder"),timeout:!1}),T(0)):q(Q,ve):(le==null?void 0:le.id)===z?Y(Q,he):((ue==null?void 0:ue.id)===z||z==="allWrong")&&q(Q,ve)},[t,v,g,N,Y,J,U,q]),ce=React$2.useCallback(V=>getRecursiveJSX(V,0,t[v],re),[v,t,re]),fe=React$2.useCallback(()=>{let V=0;for(let z=0;z<t.length;z+=1)if(t[z].hasClickOnce)V+=1,_(V);else for(let Q=0;Q<t[z].correctTexts.length;Q+=1)V+=1,_(V)},[t]);React$2.useEffect(()=>{var V;if(t!=null&&t[v]&&d({...t[v].info,description:o}),(V=t[v])!=null&&V.text){const z=HTMLReactParser$1(t[v].text);$.current=ce(z),fe()}else $.current=""},[v,o,fe,t,ce,d]);const te=()=>{for(let V=0;V<D.current.length;V=V+1)if(D.current[V].points>0)return!0;return!1};React$2.useEffect(()=>{h(()=>{l({type:"hidePuzzleButtons",payload:!0});const V=document.querySelectorAll(".text-click [data-text-id]"),z=t[v].correctTexts.map(ee=>ee.id);V.forEach(ee=>{z.includes(ee.getAttribute("data-text-id"))&&ee.classList.add("text-click__success")});const Q=t[v].info.resolve.rewards;v+1<t.length?(setTimeout(()=>{l({type:"puzzleAction",action:"addPoints",payload:{element:R,rewards:Q,finish:!1,payload:Q}});let ee=0;t.forEach((le,ue)=>{ue<=v&&(ee+=le.correctTexts.length)}),C(ee),$.current=null,P.current=0,M(!0),T(v+1)},2e3),setTimeout(()=>{M(!1),l({type:"hidePuzzleButtons",payload:!1})},3200)):v+1>=t.length&&te()?setTimeout(()=>{Q.forEach(ee=>{D.current.forEach(le=>{le.id===ee.id&&(ee.points=ee.points+le.points)})}),l({type:"puzzleAction",action:"resolve",payload:{element:R,rewards:Q,finish:!0}})},2e3):setTimeout(()=>{l({type:"puzzleAction",action:"resolve",payload:{element:R,rewards:Q,finish:v+1>=t.length}})},2e3)})},[h,l,t,v,R]);const H=React$2.useMemo(()=>{let V=`text-click text-click--${n}`;return p&&(V+=" disable-background-image"),V},[p,n]),W={pointerEvents:S.show?"none":null,backgroundImage:u!=null&&u.url?`url('${u.url}')`:""};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{className:H,style:W,children:[jsxRuntimeExports.jsx("div",{className:"text-click__overlay",children:jsxRuntimeExports.jsx("div",{className:`text-click__container ${F?"slideInLeft":""} `,children:jsxRuntimeExports.jsx("div",{className:"text-click__body",children:jsxRuntimeExports.jsx("div",{className:"text-click__scroll",dir:LangIsRtl()?"rtl":"auto",children:$.current})})})}),e&&jsxRuntimeExports.jsxs("div",{className:"text-click__paginator",children:[jsxRuntimeExports.jsx("div",{className:"text-click__icon-check-circle-black",children:jsxRuntimeExports.jsx("span",{className:"icon-check-circle-black"})}),jsxRuntimeExports.jsxs("span",{className:"text-click__slide",children:[w," / ",b]})]})]}),S.show&&jsxRuntimeExports.jsx(FeedbackComponent$1,{playSound:g,success:S.result,text:S.text,translate:U,functionOnClose:ie,hasTimeout:S.timeout,keyboardControl:f})]})}function _assertThisInitialized(l){if(l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l}function _inheritsLoose(l,e){l.prototype=Object.create(e.prototype),l.prototype.constructor=l,l.__proto__=e}/*!
254
254
  * GSAP 3.12.4
255
255
  * https://gsap.com
256
256
  *