@uploadcare/file-uploader 1.22.0 → 1.23.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/abstract/UploaderBlock.d.ts.map +1 -1
- package/abstract/UploaderBlock.js +27 -5
- package/abstract/UploaderPublicApi.d.ts.map +1 -1
- package/abstract/UploaderPublicApi.js +9 -1
- package/abstract/managers/ValidationManager.d.ts +71 -12
- package/abstract/managers/ValidationManager.d.ts.map +1 -1
- package/abstract/managers/ValidationManager.js +229 -53
- package/abstract/uploadEntrySchema.d.ts +10 -2
- package/abstract/uploadEntrySchema.d.ts.map +1 -1
- package/abstract/uploadEntrySchema.js +10 -2
- package/blocks/CloudImageEditor/src/CloudImageEditorBlock.js +1 -1
- package/blocks/Config/initialConfig.d.ts.map +1 -1
- package/blocks/Config/initialConfig.js +2 -0
- package/blocks/Config/normalizeConfigValue.d.ts.map +1 -1
- package/blocks/Config/normalizeConfigValue.js +2 -0
- package/blocks/ExternalSource/ExternalSource.d.ts +1 -0
- package/blocks/ExternalSource/ExternalSource.d.ts.map +1 -1
- package/blocks/ExternalSource/ExternalSource.js +19 -7
- package/blocks/FileItem/FileItem.d.ts +1 -1
- package/blocks/FileItem/FileItem.d.ts.map +1 -1
- package/blocks/FileItem/FileItem.js +68 -49
- package/blocks/UploadList/UploadList.d.ts +2 -0
- package/blocks/UploadList/UploadList.d.ts.map +1 -1
- package/blocks/UploadList/UploadList.js +18 -20
- package/env.d.ts +1 -1
- package/env.js +1 -1
- package/index.ssr.d.ts +1 -1
- package/index.ssr.d.ts.map +1 -1
- package/index.ssr.js +10 -2
- package/locales/file-uploader/ar.d.ts +3 -1
- package/locales/file-uploader/ar.js +4 -2
- package/locales/file-uploader/az.d.ts +3 -1
- package/locales/file-uploader/az.js +5 -2
- package/locales/file-uploader/ca.d.ts +3 -1
- package/locales/file-uploader/ca.js +5 -2
- package/locales/file-uploader/cs.d.ts +3 -1
- package/locales/file-uploader/cs.js +5 -2
- package/locales/file-uploader/da.d.ts +3 -1
- package/locales/file-uploader/da.js +5 -2
- package/locales/file-uploader/de.d.ts +3 -1
- package/locales/file-uploader/de.js +5 -2
- package/locales/file-uploader/el.d.ts +3 -1
- package/locales/file-uploader/el.js +5 -2
- package/locales/file-uploader/en.d.ts +3 -1
- package/locales/file-uploader/en.js +4 -2
- package/locales/file-uploader/es.d.ts +3 -1
- package/locales/file-uploader/es.js +5 -2
- package/locales/file-uploader/et.d.ts +3 -1
- package/locales/file-uploader/et.js +5 -2
- package/locales/file-uploader/fi.d.ts +3 -1
- package/locales/file-uploader/fi.js +5 -2
- package/locales/file-uploader/fr.d.ts +3 -1
- package/locales/file-uploader/fr.js +5 -2
- package/locales/file-uploader/he.d.ts +3 -1
- package/locales/file-uploader/he.js +5 -2
- package/locales/file-uploader/hy.d.ts +3 -1
- package/locales/file-uploader/hy.js +4 -2
- package/locales/file-uploader/is.d.ts +3 -1
- package/locales/file-uploader/is.js +5 -2
- package/locales/file-uploader/it.d.ts +3 -1
- package/locales/file-uploader/it.js +5 -2
- package/locales/file-uploader/ja.d.ts +3 -1
- package/locales/file-uploader/ja.js +5 -2
- package/locales/file-uploader/ka.d.ts +3 -1
- package/locales/file-uploader/ka.js +5 -2
- package/locales/file-uploader/kk.d.ts +3 -1
- package/locales/file-uploader/kk.js +5 -2
- package/locales/file-uploader/ko.d.ts +3 -1
- package/locales/file-uploader/ko.js +5 -2
- package/locales/file-uploader/lv.d.ts +3 -1
- package/locales/file-uploader/lv.js +5 -2
- package/locales/file-uploader/nb.d.ts +3 -1
- package/locales/file-uploader/nb.js +5 -2
- package/locales/file-uploader/nl.d.ts +3 -1
- package/locales/file-uploader/nl.js +5 -2
- package/locales/file-uploader/pl.d.ts +3 -1
- package/locales/file-uploader/pl.js +5 -2
- package/locales/file-uploader/pt.d.ts +3 -1
- package/locales/file-uploader/pt.js +5 -2
- package/locales/file-uploader/ro.d.ts +3 -1
- package/locales/file-uploader/ro.js +5 -2
- package/locales/file-uploader/ru.d.ts +3 -1
- package/locales/file-uploader/ru.js +5 -2
- package/locales/file-uploader/sk.d.ts +3 -1
- package/locales/file-uploader/sk.js +5 -2
- package/locales/file-uploader/sr.d.ts +3 -1
- package/locales/file-uploader/sr.js +5 -2
- package/locales/file-uploader/sv.d.ts +3 -1
- package/locales/file-uploader/sv.js +5 -2
- package/locales/file-uploader/tr.d.ts +3 -1
- package/locales/file-uploader/tr.js +5 -2
- package/locales/file-uploader/uk.d.ts +3 -1
- package/locales/file-uploader/uk.js +5 -2
- package/locales/file-uploader/vi.d.ts +3 -1
- package/locales/file-uploader/vi.js +5 -2
- package/locales/file-uploader/zh-TW.d.ts +3 -1
- package/locales/file-uploader/zh-TW.js +5 -2
- package/locales/file-uploader/zh.d.ts +3 -1
- package/locales/file-uploader/zh.js +5 -2
- package/package.json +8 -8
- package/types/exported.d.ts +26 -4
- package/utils/withResolvers.d.ts +6 -0
- package/utils/withResolvers.d.ts.map +1 -0
- package/utils/withResolvers.js +18 -0
- package/utils/withResolvers.test.d.ts +2 -0
- package/utils/withResolvers.test.d.ts.map +1 -0
- package/utils/withResolvers.test.js +36 -0
- package/web/file-uploader.iife.min.js +4 -4
- package/web/file-uploader.min.js +4 -4
- package/web/uc-cloud-image-editor.min.js +4 -4
- package/web/uc-file-uploader-inline.min.js +4 -4
- package/web/uc-file-uploader-minimal.min.js +4 -4
- package/web/uc-file-uploader-regular.min.js +4 -4
- package/web/uc-img.min.js +1 -1
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
* SOFTWARE.
|
|
24
24
|
*
|
|
25
25
|
*/
|
|
26
|
-
var
|
|
27
|
-
`,"\\n"),t=
|
|
28
|
-
`));return}window.customElements.define(r,t?class extends this{}:this)}static get is(){return this.__tag||this.reg(),this.__tag}static bindAttributes(r){this.observedAttributes=Object.keys(r),this.__attrDesc=r}attributeChangedCallback(r,t,e){var i;if(t===e)return;let s=(i=this.constructor.__attrDesc)==null?void 0:i[r];s?this.__dataCtxInitialized?this.$[s]=e:this.init$[s]=e:this[r]=e}getCssData(r,t=!1){if(this.__cssDataCache||(this.__cssDataCache=Object.create(null)),!Object.keys(this.__cssDataCache).includes(r)){this.__computedStyle||(this.__computedStyle=window.getComputedStyle(this));let e=this.__computedStyle.getPropertyValue(r).trim();try{this.__cssDataCache[r]=Kn(e)}catch{!t&&console.warn(`CSS Data error: ${r}`),this.__cssDataCache[r]=null}}return this.__cssDataCache[r]}__extractCssName(r){return r.split("--").map((t,e)=>e===0?"":t).join("--")}__initStyleAttrObserver(){be||(be=new Set),be.add(this.updateCssData),Ge||(Ge=new MutationObserver(r=>{r[0].type==="attributes"&&be.forEach(t=>{t()})}),Ge.observe(document,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style"]}))}bindCssData(r,t=""){this.__boundCssProps||(this.__boundCssProps=new Set),this.__boundCssProps.add(r);let e=this.getCssData(this.__extractCssName(r),!0);e===null&&(e=t),this.add(r,e),this.__initStyleAttrObserver()}dropCssDataCache(){this.__cssDataCache=null,this.__computedStyle=null}defineAccessor(r,t,e){let i="__"+r;this[i]=this[r],Object.defineProperty(this,r,{set:s=>{this[i]=s,e?window.setTimeout(()=>{t==null||t(s)}):t==null||t(s)},get:()=>this[i]}),this[r]=this[i]}static set shadowStyles(r){let t=new Blob([r],{type:"text/css"});this.__shadowStylesUrl=URL.createObjectURL(t)}static set rootStyles(r){if(!this.__rootStylesLink){let t=new Blob([r],{type:"text/css"}),e=URL.createObjectURL(t),i=document.createElement("link");i.href=e,i.rel="stylesheet",this.__rootStylesLink=i}}},Se=xe;or(Se,"template");var sr=class{static _print(r){console.warn(r)}static setDefaultTitle(r){this.defaultTitle=r}static setRoutingMap(r){Object.assign(this.appMap,r);for(let t in this.appMap)!this.defaultRoute&&this.appMap[t].default===!0?this.defaultRoute=t:!this.errorRoute&&this.appMap[t].error===!0&&(this.errorRoute=t)}static set routingEventName(r){this.__routingEventName=r}static get routingEventName(){return this.__routingEventName||"sym-on-route"}static readAddressBar(){let r={route:null,options:{}};return window.location.search.split(this.separator).forEach(e=>{if(e.includes("?"))r.route=e.replace("?","");else if(e.includes("=")){let i=e.split("=");r.options[i[0]]=decodeURI(i[1])}else r.options[e]=!0}),r}static notify(){let r=this.readAddressBar(),t=this.appMap[r.route];if(t&&t.title&&(document.title=t.title),r.route===null&&this.defaultRoute){this.applyRoute(this.defaultRoute);return}else if(!t&&this.errorRoute){this.applyRoute(this.errorRoute);return}else if(!t&&this.defaultRoute){this.applyRoute(this.defaultRoute);return}else if(!t){this._print(`Route "${r.route}" not found...`);return}let e=new CustomEvent(sr.routingEventName,{detail:{route:r.route,options:Object.assign(t||{},r.options)}});window.dispatchEvent(e)}static reflect(r,t={}){let e=this.appMap[r];if(!e){this._print("Wrong route: "+r);return}let i="?"+r;for(let o in t)t[o]===!0?i+=this.separator+o:i+=this.separator+o+`=${t[o]}`;let s=e.title||this.defaultTitle||"";window.history.pushState(null,s,i),document.title=s}static applyRoute(r,t={}){this.reflect(r,t),this.notify()}static setSeparator(r){this._separator=r}static get separator(){return this._separator||"&"}static createRouterData(r,t){this.setRoutingMap(t);let e=T.registerCtx({route:null,options:null,title:null},r);return window.addEventListener(this.routingEventName,i=>{var s;e.multiPub({route:i.detail.route,options:i.detail.options,title:((s=i.detail.options)==null?void 0:s.title)||this.defaultTitle||""})}),sr.notify(),this.initPopstateListener(),e}static initPopstateListener(){this.__onPopstate||(this.__onPopstate=()=>{this.notify()},window.addEventListener("popstate",this.__onPopstate))}static removePopstateListener(){window.removeEventListener("popstate",this.__onPopstate),this.__onPopstate=null}};sr.appMap=Object.create(null);function ht(r,t){for(let e in t)e.includes("-")?r.style.setProperty(e,t[e]):r.style[e]=t[e]}function Zn(r,t){for(let e in t)t[e].constructor===Boolean?t[e]?r.setAttribute(e,""):r.removeAttribute(e):r.setAttribute(e,t[e])}function nr(r={tag:"div"}){let t=document.createElement(r.tag);if(r.attributes&&Zn(t,r.attributes),r.styles&&ht(t,r.styles),r.properties)for(let e in r.properties)t[e]=r.properties[e];return r.processors&&r.processors.forEach(e=>{e(t)}),r.children&&r.children.forEach(e=>{let i=nr(e);t.appendChild(i)}),t}var vs="idb-store-ready",Yn="symbiote-db",Jn="symbiote-idb-update_",Qn=class{_notifyWhenReady(r=null){window.dispatchEvent(new CustomEvent(vs,{detail:{dbName:this.name,storeName:this.storeName,event:r}}))}get _updEventName(){return Jn+this.name}_getUpdateEvent(r){return new CustomEvent(this._updEventName,{detail:{key:this.name,newValue:r}})}_notifySubscribers(r){window.localStorage.removeItem(this.name),window.localStorage.setItem(this.name,r),window.dispatchEvent(this._getUpdateEvent(r))}constructor(r,t){this.name=r,this.storeName=t,this.version=1,this.request=window.indexedDB.open(this.name,this.version),this.request.onupgradeneeded=e=>{this.db=e.target.result,this.objStore=this.db.createObjectStore(t,{keyPath:"_key"}),this.objStore.transaction.oncomplete=i=>{this._notifyWhenReady(i)}},this.request.onsuccess=e=>{this.db=e.target.result,this._notifyWhenReady(e)},this.request.onerror=e=>{console.error(e)},this._subscriptionsMap={},this._updateHandler=e=>{e.key===this.name&&this._subscriptionsMap[e.newValue]&&this._subscriptionsMap[e.newValue].forEach(async s=>{s(await this.read(e.newValue))})},this._localUpdateHandler=e=>{this._updateHandler(e.detail)},window.addEventListener("storage",this._updateHandler),window.addEventListener(this._updEventName,this._localUpdateHandler)}read(r){let e=this.db.transaction(this.storeName,"readwrite").objectStore(this.storeName).get(r);return new Promise((i,s)=>{e.onsuccess=o=>{var n;(n=o.target.result)!=null&&n._value?i(o.target.result._value):(i(null),console.warn(`IDB: cannot read "${r}"`))},e.onerror=o=>{s(o)}})}write(r,t,e=!1){let i={_key:r,_value:t},o=this.db.transaction(this.storeName,"readwrite").objectStore(this.storeName).put(i);return new Promise((n,a)=>{o.onsuccess=l=>{e||this._notifySubscribers(r),n(l.target.result)},o.onerror=l=>{a(l)}})}delete(r,t=!1){let i=this.db.transaction(this.storeName,"readwrite").objectStore(this.storeName).delete(r);return new Promise((s,o)=>{i.onsuccess=n=>{t||this._notifySubscribers(r),s(n)},i.onerror=n=>{o(n)}})}getAll(){let t=this.db.transaction(this.storeName,"readwrite").objectStore(this.storeName).getAll();return new Promise((e,i)=>{t.onsuccess=s=>{let o=s.target.result;e(o.map(n=>n._value))},t.onerror=s=>{i(s)}})}subscribe(r,t){this._subscriptionsMap[r]||(this._subscriptionsMap[r]=new Set);let e=this._subscriptionsMap[r];return e.add(t),{remove:()=>{e.delete(t),e.size||delete this._subscriptionsMap[r]}}}stop(){window.removeEventListener("storage",this._updateHandler),this._subscriptionsMap=null,ys.clear(this.name)}},ys=class{static get readyEventName(){return vs}static open(r=Yn,t="store"){let e=r+"/"+t;return this._reg[e]||(this._reg[e]=new Qn(r,t)),this._reg[e]}static clear(r){window.indexedDB.deleteDatabase(r);for(let t in this._reg)t.split("/")[0]===r&&delete this._reg[t]}};or(ys,"_reg",Object.create(null));var ws=r=>{if(typeof r!="string"||!r)return"";let t=r.trim();return t.startsWith("-/")?t=t.slice(2):t.startsWith("/")&&(t=t.slice(1)),t.endsWith("/")&&(t=t.slice(0,t.length-1)),t},Kt=(...r)=>r.filter(t=>typeof t=="string"&&t).map(t=>ws(t)).join("/-/"),B=(...r)=>{let t=Kt(...r);return t?`-/${t}/`:""};function Zt(r){let t=new URL(r),e=t.pathname+t.search+t.hash,i=e.lastIndexOf("http"),s=e.lastIndexOf("/"),o="";return i>=0?o=e.slice(i):s>=0&&(o=e.slice(s+1)),o}function Yt(r){let t=new URL(r),{pathname:e}=t,i=e.indexOf("/"),s=e.indexOf("/",i+1);return e.substring(i+1,s)}function ar(r){let t=Cs(r),e=new URL(t),i=e.pathname.indexOf("/-/");return i===-1?"":e.pathname.substring(i).slice(1)}function lr(r){return ar(r).split("/-/").filter(Boolean).map(e=>ws(e))}function Cs(r){let t=new URL(r),e=Zt(r),i=Es(e)?As(e).pathname:e;return t.pathname=t.pathname.replace(i,""),t.search="",t.hash="",t.toString()}function Es(r){return r.startsWith("http")}function As(r){let t=new URL(r);return{pathname:t.origin+t.pathname||"",search:t.search||"",hash:t.hash||""}}var R=(r,t,e)=>{let i=new URL(Cs(r));if(e=e||Zt(r),i.pathname.startsWith("//")&&(i.pathname=i.pathname.replace("//","/")),Es(e)){let s=As(e);i.pathname=i.pathname+(t||"")+(s.pathname||""),i.search=s.search,i.hash=s.hash}else i.pathname=i.pathname+(t||"")+(e||"");return i.toString()},Ie=(r,t)=>{let e=new URL(r);return e.pathname=t+"/",e.toString()};var D=(r,t=",")=>r.trim().split(t).map(e=>e.trim()).filter(e=>e.length>0);var Q=Object.freeze({brightness:0,exposure:0,gamma:100,contrast:0,saturation:0,vibrance:0,warmth:0,enhance:0,filter:0,rotate:0,mirror:!1,flip:!1,crop:void 0}),Ts=["enhance","brightness","exposure","gamma","contrast","saturation","vibrance","warmth","filter","mirror","flip","rotate","crop"];function ea(r,t){if(typeof t=="number"){let e=t;return Q[r]!==e?`${r}/${e}`:""}if(typeof t=="boolean"){let e=t;return Q[r]!==e?`${r}`:""}if(r==="filter"&&t){let{name:e,amount:i}=t;return Q.filter===i?"":`${r}/${e}/${i}`}if(r==="crop"&&t){let{dimensions:e,coords:i}=t;return`${r}/${e.join("x")}/${i.join(",")}`}return""}function Oe(r){return Kt(...Ts.filter(t=>typeof r[t]!="undefined"&&r[t]!==null).map(t=>{let e=r[t];return ea(t,e)}).filter(t=>!!t))}var Jt=Kt("format/auto","progressive/yes"),_e=([r])=>typeof r!="undefined"?Number(r):void 0,xs=()=>!0,ta=([r,t])=>({name:r,amount:typeof t!="undefined"?Number(t):100}),ia=([r,t])=>{if(!/\d+x\d+/.test(r)||!/\d+,\d+/.test(t))throw new Error("Crop by aspect ratio, percentage or alignment shortcuts is not supported.");return{dimensions:D(r,"x").map(Number),coords:D(t).map(Number)}},ra=Object.freeze({enhance:_e,brightness:_e,exposure:_e,gamma:_e,contrast:_e,saturation:_e,vibrance:_e,warmth:_e,filter:ta,mirror:xs,flip:xs,rotate:_e,crop:ia});function cr(r){let t={};for(let e of r){let[i,...s]=e.split("/");if(!Ts.includes(i))continue;let o=i,n=ra[o];try{let a=n(s);t[o]=a}catch(a){console.warn([`Failed to parse URL operation "${e}". It will be ignored.`,a instanceof Error?`Error message: "${a.message}"`:a,"If you need this functionality, please feel free to open an issue at https://github.com/uploadcare/blocks/issues/new"].join(`
|
|
29
|
-
`))}}return t}var $=Object.freeze({CROP:"crop",TUNING:"tuning",FILTERS:"filters"}),K=[$.CROP,$.TUNING,$.FILTERS],Ss=["brightness","exposure","gamma","contrast","saturation","vibrance","warmth","enhance"],Is=["adaris","briaril","calarel","carris","cynarel","cyren","elmet","elonni","enzana","erydark","fenralan","ferand","galen","gavin","gethriel","iorill","iothari","iselva","jadis","lavra","misiara","namala","nerion","nethari","pamaya","sarnar","sedis","sewen","sorahel","sorlen","tarian","thellassan","varriel","varven","vevera","virkas","yedis","yllara","zatvel","zevcen"],Os=["rotate","mirror","flip"],le=Object.freeze({brightness:{zero:Q.brightness,range:[-100,100],keypointsNumber:2},exposure:{zero:Q.exposure,range:[-500,500],keypointsNumber:2},gamma:{zero:Q.gamma,range:[0,1e3],keypointsNumber:2},contrast:{zero:Q.contrast,range:[-100,500],keypointsNumber:2},saturation:{zero:Q.saturation,range:[-100,500],keypointsNumber:1},vibrance:{zero:Q.vibrance,range:[-100,500],keypointsNumber:1},warmth:{zero:Q.warmth,range:[-100,100],keypointsNumber:1},enhance:{zero:Q.enhance,range:[0,100],keypointsNumber:1},filter:{zero:Q.filter,range:[0,100],keypointsNumber:1}});var Z=r=>r?r.split(",").map(t=>t.trim()).filter(Boolean):[],ve=r=>r?r.join(","):"";var pt="https://ucarecdn.com",sa="https://upload.uploadcare.com",oa="https://social.uploadcare.com",na="https://ucarecd.net",ee=Object.freeze({pubkey:"",multiple:!0,multipleMin:0,multipleMax:Number.MAX_SAFE_INTEGER,confirmUpload:!1,imgOnly:!1,accept:"",externalSourcesPreferredTypes:"",externalSourcesEmbedCss:"",store:"auto",cameraMirror:!1,cameraCapture:"",sourceList:"local, url, camera, dropbox, gdrive",topLevelOrigin:"",cloudImageEditorTabs:ve(K),maxLocalFileSizeBytes:0,thumbSize:76,showEmptyList:!1,useLocalImageEditor:!1,useCloudImageEditor:!0,removeCopyright:!1,cropPreset:"",imageShrink:"",modalScrollLock:!0,modalBackdropStrokes:!1,sourceListWrap:!0,remoteTabSessionKey:"",cdnCname:pt,cdnCnamePrefixed:na,baseUrl:sa,socialBaseUrl:oa,secureSignature:"",secureExpire:"",secureDeliveryProxy:"",retryThrottledRequestMaxTimes:10,retryNetworkErrorMaxTimes:3,multipartMinFileSize:26214400,multipartChunkSize:5242880,maxConcurrentRequests:10,multipartMaxConcurrentRequests:4,multipartMaxAttempts:3,checkForUrlDuplicates:!1,saveUrlForRecurrentUploads:!1,groupOutput:!1,userAgentIntegration:"",debug:!1,metadata:null,localeName:"en",localeDefinitionOverride:null,secureUploadsExpireThreshold:10*60*1e3,secureUploadsSignatureResolver:null,secureDeliveryProxyUrlResolver:null,iconHrefResolver:null,fileValidators:[],collectionValidators:[],cameraModes:"photo, video",defaultCameraMode:null,enableAudioRecording:!0,enableVideoRecording:null,maxVideoRecordingDuration:null,mediaRecorderOptions:null,filesViewMode:"list",gridShowFileNames:!1,cloudImageEditorAutoOpen:!1,cloudImageEditorMaskHref:null,testMode:!1,qualityInsights:!0});var ye=Object.freeze({INIT_SOLUTION:"init-solution",CHANGE_CONFIG:"change-config"}),y=Object.freeze({FILE_ADDED:"file-added",FILE_REMOVED:"file-removed",FILE_UPLOAD_START:"file-upload-start",FILE_UPLOAD_PROGRESS:"file-upload-progress",FILE_UPLOAD_SUCCESS:"file-upload-success",FILE_UPLOAD_FAILED:"file-upload-failed",FILE_URL_CHANGED:"file-url-changed",MODAL_OPEN:"modal-open",MODAL_CLOSE:"modal-close",DONE_CLICK:"done-click",UPLOAD_CLICK:"upload-click",ACTIVITY_CHANGE:"activity-change",COMMON_UPLOAD_START:"common-upload-start",COMMON_UPLOAD_PROGRESS:"common-upload-progress",COMMON_UPLOAD_SUCCESS:"common-upload-success",COMMON_UPLOAD_FAILED:"common-upload-failed",CHANGE:"change",GROUP_CREATED:"group-created",...ye}),Qt=class{constructor(t){u(this,"_timeoutStore",new Map);u(this,"_targets",new Set);u(this,"_debugPrint",null);this._debugPrint=t}bindTarget(t){this._targets.add(t)}unbindTarget(t){this._targets.delete(t)}_dispatch(t,e){var i;for(let s of this._targets)s.dispatchEvent(new CustomEvent(t,{detail:e}));(i=this._debugPrint)==null||i.call(this,()=>{let s=e&&typeof e=="object"?{...e}:e;return[`event "${t}"`,s]})}emit(t,e,{debounce:i}={}){if(typeof i!="number"&&!i){this._dispatch(t,typeof e=="function"?e():e);return}this._timeoutStore.has(t)&&window.clearTimeout(this._timeoutStore.get(t));let s=typeof i=="number"?i:20,o=window.setTimeout(()=>{this._dispatch(t,typeof e=="function"?e():e),this._timeoutStore.delete(t)},s);this._timeoutStore.set(t,o)}};function M(r,t){let e,i=(...s)=>{clearTimeout(e),e=setTimeout(()=>r(...s),t)};return i.cancel=()=>{clearTimeout(e)},i}var ks="--uploadcare-blocks-window-height",Fe=class{static registerClient(t){this.clientsRegistry.size===0&&this.attachTracker(),this.clientsRegistry.add(t)}static unregisterClient(t){this.clientsRegistry.delete(t),this.clientsRegistry.size===0&&this.detachTracker()}static attachTracker(){window.addEventListener("resize",this.flush,{passive:!0,capture:!0}),this.flush()}static detachTracker(){window.removeEventListener("resize",this.flush,{capture:!0}),document.documentElement.style.removeProperty(ks)}};u(Fe,"clientsRegistry",new Set),u(Fe,"flush",M(()=>{document.documentElement.style.setProperty(ks,`${window.innerHeight}px`)},100));var $s=r=>{var i;let t=new Intl.Locale(r),e="ltr";return typeof t.getTextInfo=="function"&&t.getTextInfo().direction?e=t.getTextInfo().direction:"textInfo"in t&&((i=t.textInfo)!=null&&i.direction)&&(e=t.textInfo.direction),e};var ei=(r,t)=>new Intl.PluralRules(r).select(t);var aa=r=>r,ur="{{",Ls="}}",Ms="plural:";function ft(r,t,e={}){var n;let{openToken:i=ur,closeToken:s=Ls,transform:o=aa}=e;for(let a in t){let l=(n=t[a])==null?void 0:n.toString();r=r.replaceAll(i+a+s,typeof l=="string"?o(l):l)}return r}function Us(r){let t=[],e=r.indexOf(ur);for(;e!==-1;){let i=r.indexOf(Ls,e),s=r.substring(e+2,i);if(s.startsWith(Ms)){let o=r.substring(e+2,i).replace(Ms,""),n=o.substring(0,o.indexOf("(")),a=o.substring(o.indexOf("(")+1,o.indexOf(")"));t.push({variable:s,pluralKey:n,countVariable:a})}e=r.indexOf(ur,i)}return t}var Ps=({element:r,attribute:t,onSuccess:e,onTimeout:i,timeout:s=300})=>{let o=r.getAttribute(t);if(o!==null){e(o);return}let n=new MutationObserver(c=>{let h=c[c.length-1];l(h)});n.observe(r,{attributes:!0,attributeFilter:[t]});let a=setTimeout(()=>{n.disconnect(),i()},s),l=c=>{let h=r.getAttribute(t);c.type==="attributes"&&c.attributeName===t&&h!==null&&(clearTimeout(a),n.disconnect(),e(h))}};function Rs(r){return Object.prototype.toString.call(r)==="[object Object]"}var la=/\W|_/g;function ca(r){return r.split(la).map((t,e)=>t.charAt(0)[e>0?"toUpperCase":"toLowerCase"]()+t.slice(1)).join("")}function Ds(r,{ignoreKeys:t}={ignoreKeys:[]}){return Array.isArray(r)?r.map(e=>Ee(e,{ignoreKeys:t})):r}function Ee(r,{ignoreKeys:t}={ignoreKeys:[]}){if(Array.isArray(r))return Ds(r,{ignoreKeys:t});if(!Rs(r))return r;let e={};for(let i of Object.keys(r)){let s=r[i];if(t.includes(i)){e[i]=s;continue}Rs(s)?s=Ee(s,{ignoreKeys:t}):Array.isArray(s)&&(s=Ds(s,{ignoreKeys:t})),e[ca(i)]=s}return e}var ua=r=>new Promise(t=>setTimeout(t,r));function br({libraryName:r,libraryVersion:t,userAgent:e,publicKey:i="",integration:s=""}){let o="JavaScript";if(typeof e=="string")return e;if(typeof e=="function")return e({publicKey:i,libraryName:r,libraryVersion:t,languageName:o,integration:s});let n=[r,t,i].filter(Boolean).join("/"),a=[o,s].filter(Boolean).join("; ");return`${n} (${a})`}var da={factor:2,time:100};function ha(r,t=da){let e=0;function i(s){let o=Math.round(t.time*t.factor**e);return s({attempt:e,retry:a=>ua(a!=null?a:o).then(()=>(e+=1,i(s)))})}return i(r)}var Ne=class extends Error{},Xe=class r extends Ne{constructor(e){super();u(this,"originalProgressEvent");this.name="NetworkError",this.message="Network error",Object.setPrototypeOf(this,r.prototype),this.originalProgressEvent=e}},ti=(r,t)=>{r&&(r.aborted?Promise.resolve().then(t):r.addEventListener("abort",()=>t(),{once:!0}))},ke=class r extends Ne{constructor(e="Request canceled"){super(e);u(this,"isCancel",!0);this.name="CancelError",Object.setPrototypeOf(this,r.prototype)}},pa=500,Ns=({check:r,interval:t=pa,timeout:e,signal:i})=>new Promise((s,o)=>{let n,a;ti(i,()=>{n&&clearTimeout(n),o(new ke("Poll cancelled"))}),e&&(a=setTimeout(()=>{n&&clearTimeout(n),o(new ke("Timed out"))},e));let l=()=>{try{Promise.resolve(r(i)).then(c=>{c?(a&&clearTimeout(a),s(c)):n=setTimeout(l,t)}).catch(c=>{a&&clearTimeout(a),o(c)})}catch(c){a&&clearTimeout(a),o(c)}};n=setTimeout(l,0)}),I={baseCDN:"https://ucarecdn.com",baseURL:"https://upload.uploadcare.com",maxContentLength:50*1024*1024,retryThrottledRequestMaxTimes:1,retryNetworkErrorMaxTimes:3,multipartMinFileSize:25*1024*1024,multipartChunkSize:5*1024*1024,multipartMinLastPartSize:1024*1024,maxConcurrentRequests:4,pollingTimeoutMilliseconds:1e4,pusherKey:"79ae88bd931ea68464d9"},ii="application/octet-stream",Vs="original",$e=({method:r,url:t,data:e,headers:i={},signal:s,onProgress:o})=>new Promise((n,a)=>{let l=new XMLHttpRequest,c=(r==null?void 0:r.toUpperCase())||"GET",h=!1;l.open(c,t,!0),i&&Object.entries(i).forEach(d=>{let[p,f]=d;typeof f!="undefined"&&!Array.isArray(f)&&l.setRequestHeader(p,f)}),l.responseType="text",ti(s,()=>{h=!0,l.abort(),a(new ke)}),l.onload=()=>{if(l.status!=200)a(new Error(`Error ${l.status}: ${l.statusText}`));else{let d={method:c,url:t,data:e,headers:i||void 0,signal:s,onProgress:o},p=l.getAllResponseHeaders().trim().split(/[\r\n]+/),f={};p.forEach(function(C){let v=C.split(": "),E=v.shift(),w=v.join(": ");E&&typeof E!="undefined"&&(f[E]=w)});let m=l.response,b=l.status;n({request:d,data:m,headers:f,status:b})}},l.onerror=d=>{h||a(new Xe(d))},o&&typeof o=="function"&&(l.upload.onprogress=d=>{d.lengthComputable?o({isComputable:!0,value:d.loaded/d.total}):o({isComputable:!1})}),e?l.send(e):l.send()});function fa(r,...t){return r}var ma=({name:r})=>r?[r]:[],ga=fa,ba=()=>new FormData,Bs=r=>!1,ri=r=>typeof Blob!="undefined"&&r instanceof Blob,si=r=>typeof File!="undefined"&&r instanceof File,oi=r=>!!r&&typeof r=="object"&&!Array.isArray(r)&&"uri"in r&&typeof r.uri=="string",Ke=r=>ri(r)||si(r)||Bs()||oi(r),_a=r=>typeof r=="string"||typeof r=="number"||typeof r=="undefined",va=r=>!!r&&typeof r=="object"&&!Array.isArray(r),ya=r=>!!r&&typeof r=="object"&&"data"in r&&Ke(r.data);function zs(r,t,e){if(Array.isArray(e))for(let i of e)zs(r,`${t}[]`,i);else if(ya(e)){let{name:i,contentType:s}=e,o=ga(e.data,i,s!=null?s:ii),n=ma({name:i,contentType:s});r.push([t,o,...n])}else if(va(e))for(let[i,s]of Object.entries(e))typeof s!="undefined"&&r.push([`${t}[${i}]`,String(s)]);else _a(e)&&e&&r.push([t,e.toString()])}function wa(r){let t=[];for(let[e,i]of Object.entries(r))zs(t,e,i);return t}function ni(r){let t=ba(),e=wa(r);for(let i of e){let[s,o,...n]=i;t.append(s,o,...n)}return t}var z=class r extends Ne{constructor(e,i,s,o,n){super();u(this,"code");u(this,"request");u(this,"response");u(this,"headers");this.name="UploadError",this.message=e,this.code=i,this.request=s,this.response=o,this.headers=n,Object.setPrototypeOf(this,r.prototype)}},Ca=r=>{let t=new URLSearchParams;for(let[e,i]of Object.entries(r))i&&typeof i=="object"&&!Array.isArray(i)?Object.entries(i).filter(s=>{var o;return(o=s[1])!=null?o:!1}).forEach(s=>t.set(`${e}[${s[0]}]`,String(s[1]))):Array.isArray(i)?i.forEach(s=>{t.append(`${e}[]`,s)}):typeof i=="string"&&i?t.set(e,i):typeof i=="number"&&t.set(e,i.toString());return t.toString()},we=(r,t,e)=>{let i=new URL(r);return i.pathname=(i.pathname+t).replace("//","/"),e&&(i.search=Ca(e)),i.toString()},Ea="6.17.0",Aa="UploadcareUploadClient",xa=Ea;function Ve(r){return br({libraryName:Aa,libraryVersion:xa,...r})}var Ta="RequestThrottledError",Fs=15e3,Sa=1e3;function Ia(r){let{headers:t}=r||{};if(!t||typeof t["retry-after"]!="string")return Fs;let e=parseInt(t["retry-after"],10);return Number.isFinite(e)?e*1e3:Fs}function Me(r,t){let{retryThrottledRequestMaxTimes:e,retryNetworkErrorMaxTimes:i}=t;return ha(({attempt:s,retry:o})=>r().catch(n=>{if("response"in n&&(n==null?void 0:n.code)===Ta&&s<e)return o(Ia(n));if(n instanceof Xe&&s<i)return o((s+1)*Sa);throw n}))}var Hs=r=>{let t="";return(ri(r)||si(r)||oi(r))&&(t=r.type),t||ii},js=r=>{let t="";return si(r)&&r.name?t=r.name:ri(r)||Bs()?t="":oi(r)&&r.name&&(t=r.name),t||Vs};function _r(r){return typeof r=="undefined"||r==="auto"?"auto":r?"1":"0"}function Oa(r,{publicKey:t,fileName:e,contentType:i,baseURL:s=I.baseURL,secureSignature:o,secureExpire:n,store:a,signal:l,onProgress:c,source:h="local",integration:d,userAgent:p,retryThrottledRequestMaxTimes:f=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:m=I.retryNetworkErrorMaxTimes,metadata:b}){return Me(()=>$e({method:"POST",url:we(s,"/base/",{jsonerrors:1}),headers:{"X-UC-User-Agent":Ve({publicKey:t,integration:d,userAgent:p})},data:ni({file:{data:r,name:e||js(r),contentType:i||Hs(r)},UPLOADCARE_PUB_KEY:t,UPLOADCARE_STORE:_r(a),signature:o,expire:n,source:h,metadata:b}),signal:l,onProgress:c}).then(({data:C,headers:v,request:E})=>{let w=Ee(JSON.parse(C));if("error"in w)throw new z(w.error.content,w.error.errorCode,E,w,v);return w}),{retryNetworkErrorMaxTimes:m,retryThrottledRequestMaxTimes:f})}var pr;(function(r){r.Token="token",r.FileInfo="file_info"})(pr||(pr={}));function ka(r,{publicKey:t,baseURL:e=I.baseURL,store:i,fileName:s,checkForUrlDuplicates:o,saveUrlForRecurrentUploads:n,secureSignature:a,secureExpire:l,source:c="url",signal:h,integration:d,userAgent:p,retryThrottledRequestMaxTimes:f=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:m=I.retryNetworkErrorMaxTimes,metadata:b}){return Me(()=>$e({method:"POST",headers:{"X-UC-User-Agent":Ve({publicKey:t,integration:d,userAgent:p})},url:we(e,"/from_url/",{jsonerrors:1,pub_key:t,source_url:r,store:_r(i),filename:s,check_URL_duplicates:o?1:void 0,save_URL_duplicates:n?1:void 0,signature:a,expire:l,source:c,metadata:b}),signal:h}).then(({data:C,headers:v,request:E})=>{let w=Ee(JSON.parse(C));if("error"in w)throw new z(w.error.content,w.error.errorCode,E,w,v);return w}),{retryNetworkErrorMaxTimes:m,retryThrottledRequestMaxTimes:f})}var Y;(function(r){r.Unknown="unknown",r.Waiting="waiting",r.Progress="progress",r.Error="error",r.Success="success"})(Y||(Y={}));var $a=r=>"status"in r&&r.status===Y.Error;function Ma(r,{publicKey:t,baseURL:e=I.baseURL,signal:i,integration:s,userAgent:o,retryThrottledRequestMaxTimes:n=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:a=I.retryNetworkErrorMaxTimes}={}){return Me(()=>$e({method:"GET",headers:t?{"X-UC-User-Agent":Ve({publicKey:t,integration:s,userAgent:o})}:void 0,url:we(e,"/from_url/status/",{jsonerrors:1,token:r}),signal:i}).then(({data:l,headers:c,request:h})=>{let d=Ee(JSON.parse(l));if("error"in d&&!$a(d))throw new z(d.error.content,d.error.errorCode,h,d,c);return d}),{retryNetworkErrorMaxTimes:a,retryThrottledRequestMaxTimes:n})}function La(r,{publicKey:t,baseURL:e=I.baseURL,jsonpCallback:i,secureSignature:s,secureExpire:o,signal:n,source:a,integration:l,userAgent:c,retryThrottledRequestMaxTimes:h=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:d=I.retryNetworkErrorMaxTimes}){return Me(()=>$e({method:"POST",headers:{"X-UC-User-Agent":Ve({publicKey:t,integration:l,userAgent:c})},url:we(e,"/group/",{jsonerrors:1}),data:ni({files:r,callback:i,pub_key:t,signature:s,expire:o,source:a}),signal:n}).then(({data:p,headers:f,request:m})=>{let b=Ee(JSON.parse(p));if("error"in b)throw new z(b.error.content,b.error.errorCode,m,b,f);return b}),{retryNetworkErrorMaxTimes:d,retryThrottledRequestMaxTimes:h})}function Gs(r,{publicKey:t,baseURL:e=I.baseURL,signal:i,source:s,integration:o,userAgent:n,retryThrottledRequestMaxTimes:a=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:l=I.retryNetworkErrorMaxTimes}){return Me(()=>$e({method:"GET",headers:{"X-UC-User-Agent":Ve({publicKey:t,integration:o,userAgent:n})},url:we(e,"/info/",{jsonerrors:1,pub_key:t,file_id:r,source:s}),signal:i}).then(({data:c,headers:h,request:d})=>{let p=Ee(JSON.parse(c));if("error"in p)throw new z(p.error.content,p.error.errorCode,d,p,h);return p}),{retryThrottledRequestMaxTimes:a,retryNetworkErrorMaxTimes:l})}function Ua(r,{publicKey:t,contentType:e,fileName:i,multipartChunkSize:s=I.multipartChunkSize,baseURL:o="",secureSignature:n,secureExpire:a,store:l,signal:c,source:h="local",integration:d,userAgent:p,retryThrottledRequestMaxTimes:f=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:m=I.retryNetworkErrorMaxTimes,metadata:b}){return Me(()=>$e({method:"POST",url:we(o,"/multipart/start/",{jsonerrors:1}),headers:{"X-UC-User-Agent":Ve({publicKey:t,integration:d,userAgent:p})},data:ni({filename:i||Vs,size:r,content_type:e||ii,part_size:s,UPLOADCARE_STORE:_r(l),UPLOADCARE_PUB_KEY:t,signature:n,expire:a,source:h,metadata:b}),signal:c}).then(({data:C,headers:v,request:E})=>{let w=Ee(JSON.parse(C));if("error"in w)throw new z(w.error.content,w.error.errorCode,E,w,v);return w.parts=Object.keys(w.parts).map(P=>w.parts[Number(P)]),w}),{retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m})}function Pa(r,t,{contentType:e,signal:i,onProgress:s,retryThrottledRequestMaxTimes:o=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:n=I.retryNetworkErrorMaxTimes}){return Me(()=>$e({method:"PUT",url:t,data:r,onProgress:s,signal:i,headers:{"Content-Type":e||ii}}).then(a=>(s&&s({isComputable:!0,value:1}),a)).then(({status:a})=>({code:a})),{retryThrottledRequestMaxTimes:o,retryNetworkErrorMaxTimes:n})}function Ra(r,{publicKey:t,baseURL:e=I.baseURL,source:i="local",signal:s,integration:o,userAgent:n,retryThrottledRequestMaxTimes:a=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:l=I.retryNetworkErrorMaxTimes}){return Me(()=>$e({method:"POST",url:we(e,"/multipart/complete/",{jsonerrors:1}),headers:{"X-UC-User-Agent":Ve({publicKey:t,integration:o,userAgent:n})},data:ni({uuid:r,UPLOADCARE_PUB_KEY:t,source:i}),signal:s}).then(({data:c,headers:h,request:d})=>{let p=Ee(JSON.parse(c));if("error"in p)throw new z(p.error.content,p.error.errorCode,d,p,h);return p}),{retryThrottledRequestMaxTimes:a,retryNetworkErrorMaxTimes:l})}function vr(r,{publicKey:t,baseURL:e,source:i,integration:s,userAgent:o,retryThrottledRequestMaxTimes:n,retryNetworkErrorMaxTimes:a,signal:l,onProgress:c}){return Ns({check:h=>Gs(r,{publicKey:t,baseURL:e,signal:h,source:i,integration:s,userAgent:o,retryThrottledRequestMaxTimes:n,retryNetworkErrorMaxTimes:a}).then(d=>d.isReady?d:(c&&c({isComputable:!0,value:1}),!1)),signal:l})}function Da(r){return"defaultEffects"in r}var Ce=class{constructor(t,{baseCDN:e=I.baseCDN,fileName:i}={}){u(this,"uuid");u(this,"name");u(this,"size");u(this,"isStored");u(this,"isImage");u(this,"mimeType");u(this,"cdnUrl");u(this,"s3Url");u(this,"originalFilename");u(this,"imageInfo");u(this,"videoInfo");u(this,"contentInfo");u(this,"metadata");u(this,"s3Bucket");u(this,"defaultEffects",null);let{uuid:s,s3Bucket:o}=t,n=we(e,`${s}/`),a=o?we(`https://${o}.s3.amazonaws.com/`,`${s}/${t.filename}`):null;this.uuid=s,this.name=i||t.filename,this.size=t.size,this.isStored=t.isStored,this.isImage=t.isImage,this.mimeType=t.mimeType,this.cdnUrl=n,this.originalFilename=t.originalFilename,this.imageInfo=t.imageInfo,this.videoInfo=t.videoInfo,this.contentInfo=t.contentInfo,this.metadata=t.metadata||null,this.s3Bucket=o||null,this.s3Url=a,Da(t)&&(this.defaultEffects=t.defaultEffects)}},Fa=(r,{publicKey:t,fileName:e,baseURL:i,secureSignature:s,secureExpire:o,store:n,contentType:a,signal:l,onProgress:c,source:h,integration:d,userAgent:p,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m,baseCDN:b,metadata:C})=>Oa(r,{publicKey:t,fileName:e,contentType:a,baseURL:i,secureSignature:s,secureExpire:o,store:n,signal:l,onProgress:c,source:h,integration:d,userAgent:p,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m,metadata:C}).then(({file:v})=>vr(v,{publicKey:t,baseURL:i,source:h,integration:d,userAgent:p,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m,onProgress:c,signal:l})).then(v=>new Ce(v,{baseCDN:b})),Na=(r,{publicKey:t,fileName:e,baseURL:i,signal:s,onProgress:o,source:n,integration:a,userAgent:l,retryThrottledRequestMaxTimes:c,retryNetworkErrorMaxTimes:h,baseCDN:d})=>Gs(r,{publicKey:t,baseURL:i,signal:s,source:n,integration:a,userAgent:l,retryThrottledRequestMaxTimes:c,retryNetworkErrorMaxTimes:h}).then(p=>new Ce(p,{baseCDN:d,fileName:e})).then(p=>(o&&o({isComputable:!0,value:1}),p)),Va=(r,{signal:t}={})=>{let e=null,i=null,s=r.map(()=>new AbortController),o=n=>()=>{i=n,s.forEach((a,l)=>l!==n&&a.abort())};return ti(t,()=>{s.forEach(n=>n.abort())}),Promise.all(r.map((n,a)=>{let l=o(a);return Promise.resolve().then(()=>n({stopRace:l,signal:s[a].signal})).then(c=>(l(),c)).catch(c=>(e=c,null))})).then(n=>{if(i===null)throw e;return n[i]})},Ba=window.WebSocket,fr=class{constructor(){u(this,"events",Object.create({}))}emit(t,e){var i;(i=this.events[t])==null||i.forEach(s=>s(e))}on(t,e){this.events[t]=this.events[t]||[],this.events[t].push(e)}off(t,e){e?this.events[t]=this.events[t].filter(i=>i!==e):this.events[t]=[]}},za=(r,t)=>r==="success"?{status:Y.Success,...t}:r==="progress"?{status:Y.Progress,...t}:{status:Y.Error,...t},mr=class{constructor(t,e=3e4){u(this,"key");u(this,"disconnectTime");u(this,"ws");u(this,"queue",[]);u(this,"isConnected",!1);u(this,"subscribers",0);u(this,"emmitter",new fr);u(this,"disconnectTimeoutId",null);this.key=t,this.disconnectTime=e}connect(){if(this.disconnectTimeoutId&&clearTimeout(this.disconnectTimeoutId),!this.isConnected&&!this.ws){let t=`wss://ws.pusherapp.com/app/${this.key}?protocol=5&client=js&version=1.12.2`;this.ws=new Ba(t),this.ws.addEventListener("error",e=>{this.emmitter.emit("error",new Error(e.message))}),this.emmitter.on("connected",()=>{this.isConnected=!0,this.queue.forEach(e=>this.send(e.event,e.data)),this.queue=[]}),this.ws.addEventListener("message",e=>{let i=JSON.parse(e.data.toString());switch(i.event){case"pusher:connection_established":{this.emmitter.emit("connected",void 0);break}case"pusher:ping":{this.send("pusher:pong",{});break}case"progress":case"success":case"fail":this.emmitter.emit(i.channel,za(i.event,JSON.parse(i.data)))}})}}disconnect(){let t=()=>{var e;(e=this.ws)==null||e.close(),this.ws=void 0,this.isConnected=!1};this.disconnectTime?this.disconnectTimeoutId=setTimeout(()=>{t()},this.disconnectTime):t()}send(t,e){var s;let i=JSON.stringify({event:t,data:e});(s=this.ws)==null||s.send(i)}subscribe(t,e){this.subscribers+=1,this.connect();let i=`task-status-${t}`,s={event:"pusher:subscribe",data:{channel:i}};this.emmitter.on(i,e),this.isConnected?this.send(s.event,s.data):this.queue.push(s)}unsubscribe(t){this.subscribers-=1;let e=`task-status-${t}`,i={event:"pusher:unsubscribe",data:{channel:e}};this.emmitter.off(e),this.isConnected?this.send(i.event,i.data):this.queue=this.queue.filter(s=>s.data.channel!==e),this.subscribers===0&&this.disconnect()}onError(t){return this.emmitter.on("error",t),()=>this.emmitter.off("error",t)}},dr=null,yr=r=>{if(!dr){let t=typeof window=="undefined"?0:3e4;dr=new mr(r,t)}return dr},Ha=r=>{yr(r).connect()};function ja({token:r,publicKey:t,baseURL:e,integration:i,userAgent:s,retryThrottledRequestMaxTimes:o,retryNetworkErrorMaxTimes:n,onProgress:a,signal:l}){return Ns({check:c=>Ma(r,{publicKey:t,baseURL:e,integration:i,userAgent:s,retryThrottledRequestMaxTimes:o,retryNetworkErrorMaxTimes:n,signal:c}).then(h=>{switch(h.status){case Y.Error:return new z(h.error,h.errorCode);case Y.Waiting:return!1;case Y.Unknown:return new z(`Token "${r}" was not found.`);case Y.Progress:return a&&(h.total==="unknown"?a({isComputable:!1}):a({isComputable:!0,value:h.done/h.total})),!1;case Y.Success:return a&&a({isComputable:!0,value:h.done/h.total}),h;default:throw new Error("Unknown status")}}),signal:l})}var Ga=({token:r,pusherKey:t,signal:e,onProgress:i})=>new Promise((s,o)=>{let n=yr(t),a=n.onError(o),l=()=>{a(),n.unsubscribe(r)};ti(e,()=>{l(),o(new ke("pusher cancelled"))}),n.subscribe(r,c=>{switch(c.status){case Y.Progress:{i&&(c.total==="unknown"?i({isComputable:!1}):i({isComputable:!0,value:c.done/c.total}));break}case Y.Success:{l(),i&&i({isComputable:!0,value:c.done/c.total}),s(c);break}case Y.Error:l(),o(new z(c.msg,c.error_code))}})}),Wa=(r,{publicKey:t,fileName:e,baseURL:i,baseCDN:s,checkForUrlDuplicates:o,saveUrlForRecurrentUploads:n,secureSignature:a,secureExpire:l,store:c,signal:h,onProgress:d,source:p,integration:f,userAgent:m,retryThrottledRequestMaxTimes:b,pusherKey:C=I.pusherKey,metadata:v})=>Promise.resolve(Ha(C)).then(()=>ka(r,{publicKey:t,fileName:e,baseURL:i,checkForUrlDuplicates:o,saveUrlForRecurrentUploads:n,secureSignature:a,secureExpire:l,store:c,signal:h,source:p,integration:f,userAgent:m,retryThrottledRequestMaxTimes:b,metadata:v})).catch(E=>{let w=yr(C);return w==null||w.disconnect(),Promise.reject(E)}).then(E=>E.type===pr.FileInfo?E:Va([({signal:w})=>ja({token:E.token,publicKey:t,baseURL:i,integration:f,userAgent:m,retryThrottledRequestMaxTimes:b,onProgress:d,signal:w}),({signal:w})=>Ga({token:E.token,pusherKey:C,signal:w,onProgress:d})],{signal:h})).then(E=>{if(E instanceof z)throw E;return E}).then(E=>vr(E.uuid,{publicKey:t,baseURL:i,integration:f,userAgent:m,retryThrottledRequestMaxTimes:b,onProgress:d,signal:h})).then(E=>new Ce(E,{baseCDN:s})),hr=new WeakMap,Xa=async r=>{if(hr.has(r))return hr.get(r);let t=await fetch(r.uri).then(e=>e.blob());return hr.set(r,t),t},Ws=async r=>{if(si(r)||ri(r))return r.size;if(oi(r))return(await Xa(r)).size;throw new Error("Unknown file type. Cannot determine file size.")},qa=(r,t=I.multipartMinFileSize)=>r>=t,Xs=r=>{let t="[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}",e=new RegExp(t);return!Ke(r)&&e.test(r)},wr=r=>{let t="^(?:\\w+:)?\\/\\/([^\\s\\.]+\\.\\S{2}|localhost[\\:?\\d]*)\\S*$",e=new RegExp(t);return!Ke(r)&&e.test(r)},Ka=(r,t)=>new Promise((e,i)=>{let s=[],o=!1,n=t.length,a=[...t],l=()=>{let c=t.length-a.length,h=a.shift();h&&h().then(d=>{o||(s[c]=d,n-=1,n?l():e(s))}).catch(d=>{o=!0,i(d)})};for(let c=0;c<r;c++)l()}),Za=(r,t,e,i)=>{let s=i*t,o=Math.min(s+i,e);return r.slice(s,o)},Ya=async(r,t,e)=>i=>Za(r,i,t,e),Ja=(r,t,{publicKey:e,contentType:i,onProgress:s,signal:o,integration:n,retryThrottledRequestMaxTimes:a,retryNetworkErrorMaxTimes:l})=>Pa(r,t,{publicKey:e,contentType:i,onProgress:s,signal:o,integration:n,retryThrottledRequestMaxTimes:a,retryNetworkErrorMaxTimes:l}),Qa=async(r,{publicKey:t,fileName:e,fileSize:i,baseURL:s,secureSignature:o,secureExpire:n,store:a,signal:l,onProgress:c,source:h,integration:d,userAgent:p,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m,contentType:b,multipartChunkSize:C=I.multipartChunkSize,maxConcurrentRequests:v=I.maxConcurrentRequests,baseCDN:E,metadata:w})=>{let P=i!=null?i:await Ws(r),W,ne=(N,X)=>{if(!c)return;W||(W=Array(N).fill(0));let se=ae=>ae.reduce((ge,rr)=>ge+rr,0);return ae=>{ae.isComputable&&(W[X]=ae.value,c({isComputable:!0,value:se(W)/N}))}};return b||(b=Hs(r)),Ua(P,{publicKey:t,contentType:b,fileName:e||js(r),baseURL:s,secureSignature:o,secureExpire:n,store:a,signal:l,source:h,integration:d,userAgent:p,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m,metadata:w,multipartChunkSize:C}).then(async({uuid:N,parts:X})=>{let se=await Ya(r,P,C);return Promise.all([N,Ka(v,X.map((ae,ge)=>()=>Ja(se(ge),ae,{publicKey:t,contentType:b,onProgress:ne(X.length,ge),signal:l,integration:d,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m})))])}).then(([N])=>Ra(N,{publicKey:t,baseURL:s,source:h,integration:d,userAgent:p,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m})).then(N=>N.isReady?N:vr(N.uuid,{publicKey:t,baseURL:s,source:h,integration:d,userAgent:p,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m,onProgress:c,signal:l})).then(N=>new Ce(N,{baseCDN:E}))};async function Cr(r,{publicKey:t,fileName:e,baseURL:i=I.baseURL,secureSignature:s,secureExpire:o,store:n,signal:a,onProgress:l,source:c,integration:h,userAgent:d,retryThrottledRequestMaxTimes:p,retryNetworkErrorMaxTimes:f,contentType:m,multipartMinFileSize:b,multipartChunkSize:C,maxConcurrentRequests:v,baseCDN:E=I.baseCDN,checkForUrlDuplicates:w,saveUrlForRecurrentUploads:P,pusherKey:W,metadata:ne}){if(Ke(r)){let N=await Ws(r);return qa(N,b)?Qa(r,{publicKey:t,contentType:m,multipartChunkSize:C,fileSize:N,fileName:e,baseURL:i,secureSignature:s,secureExpire:o,store:n,signal:a,onProgress:l,source:c,integration:h,userAgent:d,maxConcurrentRequests:v,retryThrottledRequestMaxTimes:p,retryNetworkErrorMaxTimes:f,baseCDN:E,metadata:ne}):Fa(r,{publicKey:t,fileName:e,contentType:m,baseURL:i,secureSignature:s,secureExpire:o,store:n,signal:a,onProgress:l,source:c,integration:h,userAgent:d,retryThrottledRequestMaxTimes:p,retryNetworkErrorMaxTimes:f,baseCDN:E,metadata:ne})}if(wr(r))return Wa(r,{publicKey:t,fileName:e,baseURL:i,baseCDN:E,checkForUrlDuplicates:w,saveUrlForRecurrentUploads:P,secureSignature:s,secureExpire:o,store:n,signal:a,onProgress:l,source:c,integration:h,userAgent:d,retryThrottledRequestMaxTimes:p,retryNetworkErrorMaxTimes:f,pusherKey:W,metadata:ne});if(Xs(r))return Na(r,{publicKey:t,fileName:e,baseURL:i,signal:a,onProgress:l,source:c,integration:h,userAgent:d,retryThrottledRequestMaxTimes:p,retryNetworkErrorMaxTimes:f,baseCDN:E});throw new TypeError(`File uploading from "${r}" is not supported`)}var gr=class{constructor(t,{baseCDN:e=I.baseCDN}={}){u(this,"uuid");u(this,"filesCount");u(this,"totalSize");u(this,"isStored");u(this,"isImage");u(this,"cdnUrl");u(this,"files");u(this,"createdAt");u(this,"storedAt",null);this.uuid=t.id,this.filesCount=t.filesCount;let i=t.files.filter(Boolean);this.totalSize=Object.values(i).reduce((s,o)=>s+o.size,0),this.isStored=!!t.datetimeStored,this.isImage=!!Object.values(i).filter(s=>s.isImage).length,this.cdnUrl=t.cdnUrl,this.files=i.map(s=>new Ce(s,{baseCDN:e})),this.createdAt=t.datetimeCreated,this.storedAt=t.datetimeStored}},el=r=>{for(let t of r)if(!Ke(t))return!1;return!0},tl=r=>{for(let t of r)if(!Xs(t))return!1;return!0},il=r=>{for(let t of r)if(!wr(t))return!1;return!0};function qs(r,{publicKey:t,fileName:e,baseURL:i=I.baseURL,secureSignature:s,secureExpire:o,store:n,signal:a,onProgress:l,source:c,integration:h,userAgent:d,retryThrottledRequestMaxTimes:p,retryNetworkErrorMaxTimes:f,contentType:m,multipartChunkSize:b=I.multipartChunkSize,baseCDN:C=I.baseCDN,checkForUrlDuplicates:v,saveUrlForRecurrentUploads:E,jsonpCallback:w}){if(!el(r)&&!il(r)&&!tl(r))throw new TypeError(`Group uploading from "${r}" is not supported`);let P,W=!0,ne=r.length,N=(X,se)=>{if(!l)return;P||(P=Array(X).fill(0));let ae=ge=>ge.reduce((rr,Sn)=>rr+Sn)/X;return ge=>{if(!ge.isComputable||!W){W=!1,l({isComputable:!1});return}P[se]=ge.value,l({isComputable:!0,value:ae(P)})}};return Promise.all(r.map((X,se)=>Ke(X)||wr(X)?Cr(X,{publicKey:t,fileName:e,baseURL:i,secureSignature:s,secureExpire:o,store:n,signal:a,onProgress:N(ne,se),source:c,integration:h,userAgent:d,retryThrottledRequestMaxTimes:p,retryNetworkErrorMaxTimes:f,contentType:m,multipartChunkSize:b,baseCDN:C,checkForUrlDuplicates:v,saveUrlForRecurrentUploads:E}).then(ae=>ae.uuid):X)).then(X=>La(X,{publicKey:t,baseURL:i,jsonpCallback:w,secureSignature:s,secureExpire:o,signal:a,source:c,integration:h,userAgent:d,retryThrottledRequestMaxTimes:p,retryNetworkErrorMaxTimes:f}).then(se=>new gr(se,{baseCDN:C})).then(se=>(l&&l({isComputable:!0,value:1}),se)))}var qe=class{constructor(t){u(this,"_concurrency",1);u(this,"_pending",[]);u(this,"_running",0);u(this,"_resolvers",new Map);u(this,"_rejectors",new Map);this._concurrency=t}_run(){let t=this._concurrency-this._running;for(let e=0;e<t;e++){let i=this._pending.shift();if(!i)return;let s=this._resolvers.get(i),o=this._rejectors.get(i);if(!s||!o)throw new Error("Unexpected behavior: resolver or rejector is undefined");this._running+=1,i().finally(()=>{this._resolvers.delete(i),this._rejectors.delete(i),this._running-=1,this._run()}).then(n=>s(n)).catch(n=>o(n))}}add(t){return new Promise((e,i)=>{this._resolvers.set(t,e),this._rejectors.set(t,i),this._pending.push(t),this._run()})}get pending(){return this._pending.length}get running(){return this._running}set concurrency(t){this._concurrency=t,this._run()}get concurrency(){return this._concurrency}};var Er=()=>({}),Ar=r=>({...Er(),"*currentActivity":null,"*currentActivityParams":{},"*history":[],"*historyBack":null,"*closeModal":()=>{r.modalManager.close(r.$["*currentActivity"]),r.set$({"*currentActivity":null})}}),ai=r=>({...Ar(r),"*commonProgress":0,"*uploadList":[],"*uploadQueue":new qe(1),"*collectionErrors":[],"*collectionState":null,"*groupInfo":null,"*uploadTrigger":new Set,"*secureUploadsManager":null});var mt={"locale-id":"en","social-source-lang":"en","upload-file":"Upload file","upload-files":"Upload files","choose-file":"Choose file","choose-files":"Choose files","drop-files-here":"Drop files here","select-file-source":"Select file source",selected:"Selected",upload:"Upload","add-more":"Add more",cancel:"Cancel","start-from-cancel":"Cancel",clear:"Clear","camera-shot":"Shot","upload-url":"Import","upload-url-placeholder":"Paste link here","edit-image":"Edit image","edit-detail":"Details",back:"Back",done:"Done",ok:"Ok","remove-from-list":"Remove",no:"No",yes:"Yes","confirm-your-action":"Confirm your action","are-you-sure":"Are you sure?","selected-count":"{{count}} of {{total}} selected","select-all":"Select all","deselect-all":"Deselect all","upload-error":"Upload error","validation-error":"Validation error","no-files":"No files selected",browse:"Browse","not-uploaded-yet":"Not uploaded yet...",file__one:"file",file__other:"files",error__one:"error",error__other:"errors","header-uploading":"Uploading {{count}} {{plural:file(count)}}","header-failed":"{{count}} {{plural:error(count)}}","header-succeed":"{{count}} {{plural:file(count)}} uploaded","header-total":"{{count}} {{plural:file(count)}} selected","src-type-local":"From device","src-type-from-url":"From link","src-type-camera":"Camera","src-type-mobile-video-camera":"Video","src-type-mobile-photo-camera":"Photo","src-type-draw":"Draw","src-type-facebook":"Facebook","src-type-dropbox":"Dropbox","src-type-gdrive":"Google Drive","src-type-ngdrive":"Google Drive","src-type-gphotos":"Google Photos","src-type-flickr":"Flickr","src-type-vk":"VK","src-type-evernote":"Evernote","src-type-box":"Box","src-type-onedrive":"Onedrive","src-type-huddle":"Huddle","src-type-other":"Other","caption-from-url":"Import from link","caption-camera":"Camera","caption-draw":"Draw","caption-edit-file":"Edit file","file-no-name":"No name...","toggle-fullscreen":"Toggle fullscreen","toggle-guides":"Toggle guides",rotate:"Rotate","flip-vertical":"Flip vertical","flip-horizontal":"Flip horizontal",apply:"Apply",brightness:"Brightness",contrast:"Contrast",saturation:"Saturation",exposure:"Exposure",gamma:"Gamma",vibrance:"Vibrance",warmth:"Warmth",enhance:"Enhance",original:"Original",resize:"Resize image",crop:"Crop","select-color":"Select color",text:"Text",draw:"Draw","cancel-edit":"Cancel edit","tab-view":"Preview","tab-details":"Details","file-name":"Name","file-size":"Size","cdn-url":"CDN URL","file-size-unknown":"Unknown","camera-permissions-denied":"Camera access denied","camera-permissions-prompt":"Please allow access to the camera","camera-permissions-request":"Request access","files-count-limit-error-title":"Files count limit overflow","files-count-limit-error-too-few":"You\u2019ve chosen {{total}} {{plural:file(total)}}. At least {{min}} {{plural:file(min)}} required.","files-count-limit-error-too-many":"You\u2019ve chosen too many files. {{max}} {{plural:file(max)}} is maximum.","files-max-size-limit-error":"File is too big. Max file size is {{maxFileSize}}.","has-validation-errors":"File validation error occurred. Please, check your files before upload.","images-only-accepted":"Only image files are accepted.","file-type-not-allowed":"Uploading of these file types is not allowed.","some-files-were-not-uploaded":"Some files were not uploaded.","file-item-edit-button":"Edit","file-item-remove-button":"Remove","a11y-editor-tab-filters":"Filters","a11y-editor-tab-tuning":"Tuning","a11y-editor-tab-crop":"Crop","a11y-activity-header-button-close":"Close",flip:"Flip",mirror:"Mirror","a11y-cloud-editor-apply-filter":"Apply {{name}} filter","a11y-cloud-editor-apply-crop":"Apply {{name}} operation","a11y-cloud-editor-apply-tuning":"Apply {{name}} tuning","a11y-cloud-editor-apply-aspect-ratio":"Apply operation {{name}} {{value}}",finished:"Finished",failed:"Failed",uploading:"Uploading",idle:"Idle","a11y-file-item-status":"File {{fileName}} in status {{status}}","waiting-for":"Waiting for {{source}}",queued:"Queued","crop-to-shape":"Crop to {{value}}",custom:"Freeform","freeform-crop":"Freeform crop"};var li=new Map,xr=new Map,Ks=(r,t)=>{li.has(r)&&console.log(`Locale ${r} is already defined. Overwriting...`),li.set(r,{...mt,...t})},rl=(r,t)=>{xr.set(r,t)},Zs=(r,t)=>{typeof t=="function"?rl(r,t):Ks(r,t)},Ys=async r=>{if(!li.has(r)){if(!xr.has(r))throw new Error(`Locale ${r} is not defined`);let e=await xr.get(r)();Ks(r,e)}return li.get(r)};Zs("en",mt);var oe=r=>`*l10n/${r}`,sl="en",ci=class{constructor(t){u(this,"_blockInstance",null);u(this,"_localeName","");u(this,"_callbacks",new Set);u(this,"_boundBlocks",new Map);this._blockInstance=t;for(let[e,i]of Object.entries(mt)){let s=this._blockInstance.has(oe(e))?!this._blockInstance.$[oe(e)]:!0;this._blockInstance.add(oe(e),i,s)}setTimeout(()=>{t.subConfigValue("localeName",async e=>{var o;if(!this._blockInstance||!e)return;this._localeName=e;let i=await Ys(e);if(e!==sl&&this._localeName!==e)return;let s=(o=this._blockInstance.cfg.localeDefinitionOverride)==null?void 0:o[e];for(let[n,a]of Object.entries(i)){let l=s==null?void 0:s[n];this._blockInstance.add(oe(n),l!=null?l:a,!0);for(let c of this._callbacks)c()}}),t.subConfigValue("localeDefinitionOverride",e=>{var s;if(!e)return;let i=e[this._localeName];if(i)for(let[o,n]of Object.entries(i)){(s=this._blockInstance)==null||s.add(oe(o),n,!0);for(let a of this._callbacks)a()}})})}onLocaleChange(t){let e=M(t,0);return this._callbacks.add(e),()=>{this._callbacks.delete(e)}}bindL10n(t,e,i){var o,n,a;t.$[e]=i(),this._boundBlocks.has(t)||this._boundBlocks.set(t,new Map),(n=(o=this._boundBlocks.get(t))==null?void 0:o.get(e))==null||n();let s=this.onLocaleChange(()=>{t.$[e]=i()});(a=this._boundBlocks.get(t))==null||a.set(e,s)}destroyL10nBindings(t){let e=this._boundBlocks.get(t);if(e){for(let i of e.values())i();this._boundBlocks.delete(t)}}destroy(){this._callbacks.clear()}};function Js(r,t){[...r.querySelectorAll("[l10n]")].forEach(e=>{let i=e.getAttribute("l10n");if(!i)return;let s=i.split(";");for(let o of s)o&&ol(e,o,t)})}var ol=(r,t,e)=>{let i="textContent",s=!1;if(t.includes(":")){let a=t.split(":");i=a[0],t=a[1],i.startsWith("@")&&(i=i.slice(1),s=!0)}let o=t;e.has(o)&&e.sub(o,a=>{if(!a)return;e.l10nProcessorSubs.has(o)||e.l10nProcessorSubs.set(o,new Set);let l=e.l10nProcessorSubs.get(o);l==null||l.forEach(d=>{d.remove(),l.delete(d),e.allSubs.delete(d)});let c=oe(a).replace("*","");e.nodeCtx.has(c)||e.nodeCtx.add(c,a);let h=e.nodeCtx.sub(c,()=>{r[i]=e.l10n(a)});l==null||l.add(h),e.allSubs.add(h),r.removeAttribute("l10n")});let n=oe(t);e.has(n)||e.add(n,""),e.sub(n,()=>{t=t,s?r.setAttribute(i,e.l10n(t)):r[i]=e.l10n(t)}),r.removeAttribute("l10n")};var H=r=>`*cfg/${r}`;function Qs(r,t){let e=r.querySelectorAll("[data-testid]");if(e.length===0)return;let i=new WeakMap;for(let s of e){let o=s.getAttribute("data-testid");o&&i.set(s,o)}t.subConfigValue("testMode",s=>{if(!s){for(let n of e)n.removeAttribute("data-testid");return}let o=t.testId;for(let n of e){let a=i.get(n);a&&n.setAttribute("data-testid",`${o}--${a}`)}})}var nl={button:["toolbar"],checkbox:["toolbar"],menuitem:["menu","menubar"],option:["listbox"],tab:["tablist"]};function gt(r,t){t.tabIndex=0,t.focus(),r.tabIndex=-1}function Tr(r){let t=r.role||r.type||r.tagName;if(!t)return null;let e=nl[t.toLowerCase()];if(!e)return null;for(let i of e){let s=r.closest(`[role=${i}]`);if(s)return s}}function Sr(r,t){return t.role==="toolbar"?al(t):t.querySelectorAll(`[role=${r.role}]`)}function al(r){return[...r.querySelectorAll("*")].filter(e=>e.role==="button"||e.type==="button"||e.role==="checkbox"||e.type==="checkbox")}function ll(r){let t=r.getAttribute("aria-orientation");if(t==="vertical")return!1;if(t==="horizontal")return!0;let e=r.role;return e==="menubar"||e==="tablist"||e==="toolbar"}function eo(r){return t=>{let e=!1,i=(r==null?void 0:r.searchDelayMs)||300,s=0,o="";function n(d){let p=Tr(d.target);if(!p){a();return}let f=Sr(d.target,p),m=Array.from(f).indexOf(d.target),b="ArrowDown",C="ArrowUp";if(ll(p)&&(t.document.dir==="rtl"?(b="ArrowLeft",C="ArrowRight"):(b="ArrowRight",C="ArrowLeft")),d.key===b)d.preventDefault(),gt(d.target,f[m+1]||f[0]);else if(d.key===C)d.preventDefault(),gt(d.target,f[m-1]||f[f.length-1]);else if(d.key==="Home")d.preventDefault(),gt(d.target,f[0]);else if(d.key==="End")d.preventDefault(),gt(d.target,f[f.length-1]);else if(d.key.length===1&&p.role!=="tablist"){let v=Date.now();v-s<=i?o+=d.key.toLowerCase():o=d.key.toLowerCase(),s=v;let E=Array.from(f).find(w=>{var P,W,ne;return(ne=(W=(P=w.textContent)==null?void 0:P.trim())==null?void 0:W.toLowerCase())==null?void 0:ne.startsWith(o)});E&&(d.preventDefault(),gt(d.target,E))}}function a(){e=!1,t.removeEventListener("keydown",n)}function l(d){let p=Tr(d.target);if(p){e||(e=!0,t.addEventListener("keydown",n));let f=Sr(d.target,p);for(let m of f)m!==d.target&&m.setAttribute("tabindex",-1)}else e&&a()}function c(d){(!d.relatedTarget||d.relatedTarget===t.document)&&a()}function h(d){let p=Tr(d.target);if(p){let f=Sr(d.target,p);for(let m of f)m!==d.target&&m.setAttribute("tabindex",-1);d.target.setAttribute("tabindex",0)}}return t.addEventListener("click",h),t.addEventListener("focusin",l),t.addEventListener("focusout",c),()=>{a(),t.removeEventListener("click",h),t.removeEventListener("focusin",l),t.removeEventListener("focusout",c)}}}function to(){return r=>{let t,e;function i(o){if(o.target.getAttribute("aria-hidden")==="true"){t=o.target,t.setAttribute("aria-hidden","false"),e=t.hidden,e&&(t.hidden=!1);let n=o.target.querySelector('a, button, select, textarea, input:not([type=radio]), [type=radio]:checked, [tabindex]:not([tabindex="-1"])');n&&(n.tabIndex=0)}}function s(o){t&&t.contains(o.target)&&(!o.relatedTarget||!t.contains(o.relatedTarget))&&(o.target.tabIndex=-1,t.setAttribute("aria-hidden","true"),e&&(t.hidden=!0),t=null)}return r.addEventListener("keyuxJump",i),r.addEventListener("focusout",s),()=>{r.removeEventListener("keyuxJump",i),r.removeEventListener("focusout",s)}}}function io(){return r=>{let t=[];function e(l){let c=r.document.activeElement;c&&c!==r.document.body&&t.push(new WeakRef(c)),l.focus({focusVisible:!0})}function i(){let l=t.pop();if(!l){r.document.activeElement.blur();return}let c=l.deref();c&&c.isConnected?c.focus():i()}let s=0,o;function n(l){clearInterval(o);let c=l.getAttribute("aria-controls");o=setInterval(()=>{if(s++>50){clearInterval(o);return}let h=r.document.getElementById(c);if(h){let d=h.querySelector('a, button, select, textarea, input:not([type=radio]), [type=radio]:checked, [tabindex]:not([tabindex="-1"])');d&&(clearInterval(o),h.dispatchEvent(new r.CustomEvent("keyuxJump",{bubbles:!0})),e(d))}},50)}function a(l){l.target.getAttribute("aria-controls")&&l.key==="Enter"&&n(l.target),l.key==="Escape"&&i()}return r.addEventListener("keydown",a),()=>{r.removeEventListener("keydown",a)}}}function ro(r){let t,e=r.split(" "),i;function s(a){a.key==="Enter"&&(a.target.tagName==="BUTTON"||a.target.tagName==="A")&&(o(),a.target.classList.add(...e),t=a.target,i=a.target)}function o(){t&&t.classList.remove(...e),i=null}function n(a){a.clientX===0&&a.clientY===0&&i!==a.target&&(o(),a.target.classList.add(...e),t=a.target)}return a=>(a.addEventListener("click",n),a.addEventListener("keydown",s),a.addEventListener("keyup",o),()=>{a.removeEventListener("click",n),a.removeEventListener("keydown",s),a.removeEventListener("keyup",o)})}function so(r,t){let e=t.map(i=>i(r));return()=>{e.forEach(i=>i())}}var Ir=class{constructor(){u(this,"_listeners",new Map);u(this,"_scope",[])}addEventListener(t,e){let i=s=>{let o=s.target;o&&this._scope.some(n=>n===s.target||n.contains(o))&&e(s)};this._listeners.set(e,i),window.addEventListener(t,i)}removeEventListener(t,e){let i=this._listeners.get(e);i&&window.removeEventListener(t,i),this._listeners.delete(e)}get CustomEvent(){return window.CustomEvent}get document(){return window.document}get navigator(){return window.navigator}registerScope(t){this._scope.push(t)}destroy(){this._scope=[],this._listeners.forEach((t,e)=>{window.removeEventListener("keydown",t),window.removeEventListener("keyup",t),this._listeners.delete(e)})}},ui=class{constructor(){u(this,"_destroyKeyUX");u(this,"_scopedWindow");this._scopedWindow=new Ir,this._destroyKeyUX=so(this._scopedWindow,[eo(),ro("is-pressed"),io(),to()])}registerBlock(t){this._scopedWindow.registerScope(t)}destroy(){var t;(t=this._destroyKeyUX)==null||t.call(this),this._scopedWindow.destroy()}};var F=Object.freeze({ADD:"modal:add",DELETE:"modal:delete",OPEN:"modal:open",CLOSE:"modal:close",CLOSE_ALL:"modal:closeAll",DESTROY:"modal:destroy"}),di=class{constructor(t){u(this,"_modals",new Map);u(this,"_activeModals",new Set);u(this,"_subscribers",new Map);this._block=t}_debugPrint(...t){this._block.debugPrint("[modal-manager]",...t)}registerModal(t,e){this._modals.set(t,e),this._notify(F.ADD,{id:t,modal:e})}deleteModal(t){if(!this._modals.has(t))return!1;let e=this._modals.get(t);return this._modals.delete(t),this._activeModals.delete(t),this._notify(F.DELETE,{id:t,modal:e}),!0}open(t){if(!this._modals.has(t))return this._debugPrint(`Modal with ID "${t}" not found`),!1;let e=this._modals.get(t);return this._activeModals.add(t),this._notify(F.OPEN,{modal:e,id:t}),!0}close(t){if(!this._modals.has(t)||!this._activeModals.has(t))return this._debugPrint(`Modal with ID "${t}" not found or not active`),!1;let e=this._modals.get(t);return this._activeModals.delete(t),this._notify(F.CLOSE,{id:t,modal:e}),!0}toggle(t){return this._modals.has(t)?this._activeModals.has(t)?this.close(t):this.open(t):(this._debugPrint(`Modal with ID "${t}" not found`),!1)}get hasActiveModals(){return this._activeModals.size>0}back(){if(this._activeModals.size===0)return this._debugPrint("No active modals to go back from"),!1;let t=Array.from(this._activeModals).pop();return this.close(t)}closeAll(){let t=this._activeModals.size;return this._activeModals.clear(),this._notify(F.CLOSE_ALL,{}),t}subscribe(t,e){var i;return this._subscribers.has(t)||this._subscribers.set(t,new Set),(i=this._subscribers.get(t))==null||i.add(e),()=>this.unsubscribe(t,e)}unsubscribe(t,e){var i;this._subscribers.has(t)&&((i=this._subscribers.get(t))==null||i.delete(e))}_notify(t,e){var i;if(this._subscribers.has(t))for(let s of(i=this._subscribers.get(t))!=null?i:new Set)try{s(e)}catch(o){this._block.telemetryManager.sendEventError(o,"modal subscriber"),this._debugPrint("Error in modal subscriber:",o)}}destroy(){this.closeAll(),this._modals.clear(),this._subscribers.clear(),this._notify(F.DESTROY,{})}};function cl(r){return r.replace(/[A-Z]/g,t=>`_${t.toLowerCase()}`).replace(/__/g,"_")}function kr(r){return Array.isArray(r)?r.map(t=>typeof t=="object"&&t!==null?kr(t):t):typeof r!="object"||r===null?r:Object.fromEntries(Object.entries(r).map(([t,e])=>{let i=cl(t);return typeof e=="object"&&e!==null?[i,kr(e)]:[i,e]}))}function ul(r){return{ok:!0,value:r}}function Or(r){return{ok:!1,error:r}}var dl="https://tlm.uploadcare.com/api/",$r=class{constructor(t=dl){this.baseUrl=t}async base(t,e={}){let i=`${this.baseUrl}${t}`;try{let s=await fetch(i,e);if(!s.ok)return Or(new Error(`Got non-200 response from "${i}". Status: ${s.status.toString()}`));try{let o=await s.json();return ul(o)}catch(o){return Or(new Error(`Error parsing JSON from "${i}". Error: ${o}`))}}catch(s){return Or(new Error(`Error fetching data from "${i}". Error: ${s}`))}}async post(t,e,i={}){return await this.base(t,{...i,method:"POST",body:JSON.stringify(kr(e)),headers:{"Content-Type":"application/json",...i.headers||{}}})}async get(t,e={}){return await this.base(t,{method:"GET",...e})}},hl=async(r,t)=>({success:!0,data:t}),hi=class extends $r{constructor(){super()}async sendEvent(t,e){let i=await hl(void 0,t);if(!i.success)throw console.error("TelemetryAPIService: events: body is invalid",i.error),new Error("TelemetryAPIService: events: body is invalid");return this.post("v1/events",t,e)}};var Le="blocks",Ue="1.22.0";var pi=class{constructor(t){u(this,"_sessionId",crypto.randomUUID());u(this,"_telemetryInstance",null);u(this,"_block",null);u(this,"_config",structuredClone(ee));u(this,"_initialized",!1);u(this,"_lastPayload",null);u(this,"_queue",null);this._block=t,this._telemetryInstance=new hi,this._queue=new qe(10);for(let e of Object.keys(this._config))this._block.subConfigValue(e,i=>{var s;this._initialized&&this._config[e]!==i&&((s=this._block)==null||s.emit(y.CHANGE_CONFIG,void 0)),this._setConfig(e,i)})}_init(t){t===y.INIT_SOLUTION&&!this._initialized&&(this._initialized=!0)}_setConfig(t,e){this._config[t]!==e&&(this._config[t]=e)}_formattingPayload(t){var s,o;let e=t.payload?{...t.payload}:{};e.activity&&(e.activity=void 0);let i={...t};return(t.eventType===y.INIT_SOLUTION||t.eventType===y.CHANGE_CONFIG)&&(i.config=this._config),{...i,appVersion:Ue,appName:Le,sessionId:this._sessionId,component:this._solution,activity:this._activity,projectPubkey:(s=this._config)==null?void 0:s.pubkey,userAgent:navigator.userAgent,eventType:(o=i.eventType)!=null?o:"",eventTimestamp:this._timestamp,payload:{...e}}}_excludedEvents(t){return!!(t&&[y.CHANGE,y.COMMON_UPLOAD_PROGRESS,y.FILE_ADDED,y.FILE_REMOVED,y.FILE_UPLOAD_START,y.FILE_UPLOAD_PROGRESS,y.FILE_UPLOAD_SUCCESS,y.FILE_UPLOAD_FAILED,y.FILE_URL_CHANGED,y.GROUP_CREATED].includes(t))}sendEvent(t){var o;let e=this._formattingPayload(t);if(this._init(t.eventType),this._excludedEvents(t.eventType)||this._lastPayload&&this._checkObj(this._lastPayload,e))return null;(o=this._queue)==null||o.add(async()=>{var n;this._lastPayload=e,await((n=this._telemetryInstance)==null?void 0:n.sendEvent(e))})}sendEventError(t,e="unknown"){this.sendEvent({payload:{metadata:{event:"error",text:`Error in ${e}`,error:t.message}}})}sendEventCloudImageEditor(t,e,i={}){var s;this.sendEvent({payload:{metadata:{tabId:e,node:(s=t.currentTarget)==null?void 0:s.tagName,event:t.type,...i}}})}_checkObj(t,e){if(JSON.stringify(t)===JSON.stringify(e))return!0;if(typeof t!="object"||typeof e!="object"||t==null||e==null)return!1;let i=Object.keys(t),s=Object.keys(e);if(i.length!==s.length)return!1;for(let o of i)if(!Object.prototype.hasOwnProperty.call(e,o)||!this._checkObj(t[o],e[o]))return!1;return!0}get _timestamp(){return Date.now()}get _solution(){var t,e;return(t=this._block)!=null&&t.has("*solution")?(e=this._block)==null?void 0:e.$["*solution"].toLowerCase():null}get _activity(){var t,e;return(t=this._block)!=null&&t.has("*currentActivity")?(e=this._block)==null?void 0:e.$["*currentActivity"]:null}};var pl="uc-",_=class extends Se{constructor(){super();u(this,"requireCtxName",!1);u(this,"activityType",null);u(this,"init$",Er());this.l10nProcessorSubs=new Map,this.addTemplateProcessor(Js),this.addTemplateProcessor(Qs)}l10n(e,i={}){if(!e)return"";let s=this.$[oe(e)]||e,o=Us(s);for(let a of o)i[a.variable]=this.pluralize(a.pluralKey,Number(i[a.countVariable]));return ft(s,i)}pluralize(e,i){let s=this.l10n("locale-id")||"en",o=ei(s,i);return this.l10n(`${e}__${o}`)}bindL10n(e,i){var s;(s=this.localeManager)==null||s.bindL10n(this,e,i)}emit(e,i,s){let o=this.has("*eventEmitter")&&this.$["*eventEmitter"];o&&(o.emit(e,i,s),this.telemetryManager.sendEvent({eventType:e,payload:typeof i=="function"?i():i}))}hasBlockInCtx(e){for(let i of this.blocksRegistry)if(e(i))return!0;return!1}setOrAddState(e,i){this.add$({[e]:i},!0)}connectedCallback(){this.constructor.styleAttrs.forEach(i=>{this.setAttribute(i,"")}),this.hasAttribute("retpl")&&(this.constructor.template=null,this.processInnerHtml=!0),this.requireCtxName?Ps({element:this,attribute:"ctx-name",onSuccess:()=>{super.connectedCallback()},onTimeout:()=>{console.error("Attribute `ctx-name` is required and it is not set.")}}):super.connectedCallback(),Fe.registerClient(this)}disconnectedCallback(){super.disconnectedCallback(),Fe.unregisterClient(this)}initCallback(){this.has("*blocksRegistry")||this.add("*blocksRegistry",new Set),this.$["*blocksRegistry"].add(this),this.has("*eventEmitter")||this.add("*eventEmitter",new Qt(this.debugPrint.bind(this))),this.has("*localeManager")||this.add("*localeManager",new ci(this)),this.cfg.qualityInsights&&!this.has("*telemetryManager")&&this.add("*telemetryManager",new pi(this)),this.has("*a11y")||this.add("*a11y",new ui),this.has("*modalManager")||this.add("*modalManager",new di(this)),this.sub(oe("locale-id"),i=>{let s=$s(i);this.style.direction=s==="ltr"?"":s}),this.subConfigValue("testMode",i=>{if(!i||!this.testId){this.removeAttribute("data-testid");return}this.setAttribute("data-testid",this.testId)})}get testId(){return window.customElements.getName(this.constructor)}get modalManager(){return this.has("*modalManager")&&this.$["*modalManager"]}get telemetryManager(){return this.cfg.qualityInsights?this.has("*telemetryManager")&&this.$["*telemetryManager"]:{sendEvent:()=>{},sendEventCloudImageEditor:()=>{},sendEventError:()=>{}}}get localeManager(){return this.has("*localeManager")?this.$["*localeManager"]:null}get a11y(){return this.has("*a11y")?this.$["*a11y"]:null}get blocksRegistry(){return this.$["*blocksRegistry"]}destroyCallback(){var i;super.destroyCallback();let e=this.blocksRegistry;e==null||e.delete(this),(i=this.localeManager)==null||i.destroyL10nBindings(this),this.l10nProcessorSubs=new Map,T.deleteCtx(this),(e==null?void 0:e.size)===0&&setTimeout(()=>{this.destroyCtxCallback()},0)}destroyCtxCallback(){var e,i;T.deleteCtx(this.ctxName),(e=this.localeManager)==null||e.destroy(),this.modalManager&&((i=this.modalManager)==null||i.destroy())}async proxyUrl(e){if(this.cfg.secureDeliveryProxy&&this.cfg.secureDeliveryProxyUrlResolver&&console.warn("Both secureDeliveryProxy and secureDeliveryProxyUrlResolver are set. The secureDeliveryProxyUrlResolver will be used."),this.cfg.secureDeliveryProxyUrlResolver)try{return await this.cfg.secureDeliveryProxyUrlResolver(e,{uuid:Yt(e),cdnUrlModifiers:ar(e),fileName:Zt(e)})}catch(i){return console.error("Failed to resolve secure delivery proxy URL. Falling back to the default URL.",i),this.telemetryManager.sendEventError(i,"secureDeliveryProxyUrlResolver. Failed to resolve secure delivery proxy URL. Falling back to the default URL."),e}return this.cfg.secureDeliveryProxy?ft(this.cfg.secureDeliveryProxy,{previewUrl:e},{transform:i=>window.encodeURIComponent(i)}):e}get cfg(){if(!this.__cfgProxy){let e=Object.create(null);this.__cfgProxy=new Proxy(e,{set:(i,s,o)=>{if(typeof s!="string")return!1;let n=H(s);return this.has(n)||this.add(n,ee[s]),this.$[n]=o,!0},get:(i,s)=>{let o=H(s);return this.has(o)||this.add(o,ee[s]),this.$[H(s)]}})}return this.__cfgProxy}subConfigValue(e,i){let s=H(e);this.has(s)||this.add(s,ee[e]),this.sub(s,i)}debugPrint(...e){if(!this.cfg.debug)return;let i=e;if(typeof(e==null?void 0:e[0])=="function"){let s=e[0];i=s()}console.log(`[${this.ctxName}]`,...i)}static reg(e){if(!e){super.reg();return}e.startsWith(pl)&&super.reg(e)}};u(_,"StateConsumerScope",null),u(_,"styleAttrs",[]);var oo="<svg width='0' height='0' style='position:absolute'><symbol viewBox='0 0 24 24' id='uc-icon-about' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.152 14.12v.1h1.523v-.1c.007-.409.053-.752.138-1.028.086-.277.22-.517.405-.72.188-.202.434-.397.735-.586.32-.191.593-.412.82-.66.232-.249.41-.531.533-.847.125-.32.187-.678.187-1.076 0-.579-.137-1.085-.41-1.518a2.717 2.717 0 0 0-1.14-1.018c-.49-.245-1.062-.367-1.715-.367-.597 0-1.142.114-1.636.34-.49.228-.884.564-1.182 1.008-.299.44-.46.98-.485 1.619h1.62c.024-.377.118-.684.282-.922a1.48 1.48 0 0 1 .617-.532c.25-.114.51-.17.784-.17.301 0 .575.063.82.191.248.124.447.302.597.533.149.23.223.504.223.82 0 .263-.05.502-.149.72a1.91 1.91 0 0 1-.405.574 3.48 3.48 0 0 1-.575.453 4.22 4.22 0 0 0-.847.66c-.234.242-.415.558-.543.949-.125.39-.19.916-.197 1.577Zm.053 3.03c.21.206.46.31.75.31.196 0 .374-.049.534-.144a1.1 1.1 0 0 0 .383-.384c.1-.163.15-.343.15-.538a1 1 0 0 0-.32-.746 1.019 1.019 0 0 0-.746-.314c-.291 0-.542.105-.751.314-.21.206-.314.455-.314.746 0 .295.104.547.314.756ZM24 12c0 6.627-5.373 12-12 12S0 18.627 0 12 5.373 0 12 0s12 5.373 12 12Zm-1.5 0c0 5.799-4.701 10.5-10.5 10.5S1.5 17.799 1.5 12 6.201 1.5 12 1.5 22.5 6.201 22.5 12Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-add' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M12.75 21a.75.75 0 0 1-1.5 0v-8.25H3a.75.75 0 0 1 0-1.5h8.25V3a.75.75 0 0 1 1.5 0v8.25H21a.75.75 0 0 1 0 1.5h-8.25V21Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-arrow-down' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.5 23.03a.75.75 0 0 0 .999 0l9.29-8.276a.75.75 0 0 0-.998-1.12l-8.042 7.164V1.53a.75.75 0 0 0-1.5 0v19.267l-8.04-7.163a.75.75 0 0 0-.998 1.12z'/></symbol><symbol fill='none' viewBox='0 0 9 6' id='uc-icon-arrow-dropdown' xmlns='http://www.w3.org/2000/svg'><path stroke='currentColor' d='m1.5 1.667 3 2.666 3-2.666' opacity='.5'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-aspect-ratio' xmlns='http://www.w3.org/2000/svg'><path stroke='currentColor' d='M7.395 22.5H2.454v-5.25m14.824 5.25h4.94v-5.25m0-10.5V1.5h-4.94m-9.883 0H2.454v5.25'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-back' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M20.251 12a.75.75 0 0 1-.75.75H6.067l5.72 5.85a.75.75 0 1 1-1.072 1.05L4.136 12.92a1.292 1.292 0 0 1 0-1.842l6.579-6.728a.75.75 0 1 1 1.072 1.048l-5.72 5.851H19.5a.75.75 0 0 1 .75.75Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-badge-error' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M13.6 18.4a1.6 1.6 0 1 1-3.2 0 1.6 1.6 0 0 1 3.2 0zM12 4.5A1.5 1.5 0 0 1 13.5 6v7a1.5 1.5 0 0 1-3 0V6A1.5 1.5 0 0 1 12 4.5z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-badge-success' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='m10.5 18.204 7.6-8.183a1.5 1.5 0 0 0-2.2-2.042l-5.4 5.817-2.4-2.586a1.5 1.5 0 1 0-2.2 2.041l4.6 4.953Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-box' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M1.01 4.148a.75.75 0 0 1 .75.75v4.348a4.437 4.437 0 0 1 2.988-1.153c1.734 0 3.23.992 3.978 2.438a4.478 4.478 0 0 1 3.978-2.438c2.49 0 4.488 2.044 4.488 4.543 0 2.5-1.999 4.544-4.488 4.544a4.478 4.478 0 0 1-3.978-2.438 4.478 4.478 0 0 1-3.978 2.438C2.26 17.18.26 15.135.26 12.636V4.898a.75.75 0 0 1 .75-.75Zm.75 8.488c0 1.692 1.348 3.044 2.988 3.044s2.989-1.352 2.989-3.044c0-1.691-1.349-3.043-2.989-3.043S1.76 10.945 1.76 12.636Zm10.944-3.043c-1.64 0-2.988 1.352-2.988 3.043 0 1.692 1.348 3.044 2.988 3.044s2.988-1.352 2.988-3.044c0-1.69-1.348-3.043-2.988-3.043Zm4.328-1.23a.75.75 0 0 1 1.052.128l2.333 2.983 2.333-2.983a.75.75 0 0 1 1.181.924l-2.562 3.277 2.562 3.276a.75.75 0 1 1-1.181.924l-2.333-2.983-2.333 2.983a.75.75 0 1 1-1.181-.924l2.562-3.276-2.562-3.277a.75.75 0 0 1 .129-1.052Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-camera' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M7.65 2.55a.75.75 0 0 1 .6-.3h7.5a.75.75 0 0 1 .6.3l2.025 2.7H21a3 3 0 0 1 3 3v10.5a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V8.25a3 3 0 0 1 3-3h2.625zm.975 1.2L6.6 6.45a.75.75 0 0 1-.6.3H3a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h18a1.5 1.5 0 0 0 1.5-1.5V8.25a1.5 1.5 0 0 0-1.5-1.5h-3a.75.75 0 0 1-.6-.3l-2.025-2.7zm3.375 6a3.375 3.375 0 1 0 0 6.75 3.375 3.375 0 0 0 0-6.75zm-4.875 3.375a4.875 4.875 0 1 1 9.75 0 4.875 4.875 0 0 1-9.75 0z'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-camera-full' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' clip-rule='evenodd' d='M2 4.667a2 2 0 0 0-2 2V16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6.667a2 2 0 0 0-2-2h-2.667l-2-2.667H6.667l-2 2.667H2Zm8 10a3.667 3.667 0 1 0 0-7.334 3.667 3.667 0 0 0 0 7.334Z' fill='currentColor'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-close' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M4.604 4.604a.75.75 0 0 1 1.06 0L12 10.939l6.335-6.335a.75.75 0 1 1 1.061 1.06L13.061 12l6.335 6.335a.75.75 0 1 1-1.06 1.061L12 13.061l-6.335 6.335a.75.75 0 0 1-1.061-1.06L10.939 12 4.604 5.665a.75.75 0 0 1 0-1.061z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-collapse' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M3.116 12a.75.75 0 0 1 .75-.75h16.268a.75.75 0 0 1 0 1.5H3.866a.75.75 0 0 1-.75-.75Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-default' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.501.392a.75.75 0 0 1 .998 0l6.704 5.972a.75.75 0 0 1-.998 1.12l-5.455-4.86v13.439a.75.75 0 0 1-1.5 0V2.625l-5.454 4.86a.75.75 0 1 1-.998-1.12zM.857 16.73a.75.75 0 0 1 .75.75v4.914h20.786v-4.914a.75.75 0 0 1 1.5 0v5.664a.75.75 0 0 1-.75.75H.857a.75.75 0 0 1-.75-.75v-5.664a.75.75 0 0 1 .75-.75z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-dropbox' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M6.019 1.92a.75.75 0 0 1 .806 0L12 5.219l5.176-3.297a.75.75 0 0 1 .806 0l5.577 3.553a.75.75 0 0 1 0 1.265l-4.574 2.914 4.574 2.914a.75.75 0 0 1 0 1.265l-5.577 3.554a.75.75 0 0 1-.806 0L12 14.089l-5.175 3.297a.75.75 0 0 1-.806 0L.44 13.833a.75.75 0 0 1 0-1.266l4.575-2.914L.44 6.74a.75.75 0 0 1 0-1.265zm.403 8.616L2.24 13.2l4.182 2.664 4.181-2.664zm6.975 2.664 4.182 2.664L21.76 13.2l-4.181-2.664zm2.776-3.547L12 12.311 7.828 9.653 12 6.995zm1.406-.882 4.181-2.664-4.181-2.664-4.182 2.664zm-6.976-2.664L6.422 3.443 2.24 6.107 6.422 8.77zM5.791 18.544a.75.75 0 0 1 1.035-.23l5.175 3.297 5.175-3.297a.75.75 0 1 1 .806 1.265l-5.578 3.554a.75.75 0 0 1-.806 0L6.02 19.579a.75.75 0 0 1-.23-1.035z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-edit-file' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M18.558 2.804a.78.78 0 0 0-.557.235l-.008.007-2.472 2.46 3.847 3.848 2.46-2.473.004-.003a.78.78 0 0 0 0-1.108l-.004-.003-2.712-2.728a.78.78 0 0 0-.558-.235Zm-.248 7.613-3.852-3.852-8.93 8.887-1.516 5.41 5.41-1.515 8.888-8.93Zm-.636-8.934a2.28 2.28 0 0 1 2.512.505l2.702 2.717.002.002a2.278 2.278 0 0 1 0 3.234l-.002.002-12.541 12.602a.75.75 0 0 1-.33.193l-6.884 1.928a.75.75 0 0 1-.925-.924l1.928-6.885a.75.75 0 0 1 .193-.33l12.603-12.54a2.28 2.28 0 0 1 .742-.504Z' clip-rule='evenodd'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-error' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M13 13h-2V7h2m0 10h-2v-2h2M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-evernote' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M9.804 2.27v-.048c.055-.263.313-.562.85-.562h.44c.142 0 .325.014.526.033.066.009.124.023.267.06l.13.032h.002c.319.079.515.275.644.482a1.461 1.461 0 0 1 .16.356l.004.012a.75.75 0 0 0 .603.577l1.191.207a1988.512 1988.512 0 0 0 2.332.402c.512.083 1.1.178 1.665.442.64.3 1.19.795 1.376 1.77.548 2.931.657 5.829.621 8a39.233 39.233 0 0 1-.125 2.602 17.518 17.518 0 0 1-.092.849.735.735 0 0 0-.024.112c-.378 2.705-1.269 3.796-2.04 4.27-.746.457-1.53.451-2.217.447h-.192c-.46 0-1.073-.23-1.581-.635-.518-.412-.763-.87-.763-1.217 0-.45.188-.688.355-.786.161-.095.436-.137.796.087a.75.75 0 1 0 .792-1.274c-.766-.476-1.64-.52-2.345-.108-.7.409-1.098 1.188-1.098 2.08 0 .996.634 1.84 1.329 2.392.704.56 1.638.96 2.515.96l.185.002c.667.009 1.874.025 3.007-.67 1.283-.786 2.314-2.358 2.733-5.276a4.213 4.213 0 0 0 .056-.335c.023-.184.051-.445.079-.772.055-.655.111-1.585.13-2.704.037-2.234-.074-5.239-.647-8.301v-.002c-.294-1.544-1.233-2.391-2.215-2.85-.777-.363-1.623-.496-2.129-.576a8.872 8.872 0 0 1-.25-.041l-.006-.001-1.99-.345-.761-.132a2.93 2.93 0 0 0-.182-.338A2.532 2.532 0 0 0 12.379.329l-.091-.023a3.967 3.967 0 0 0-.493-.103L11.769.2a7.846 7.846 0 0 0-.675-.04h-.44c-.733 0-1.368.284-1.795.742L2.416 7.431c-.468.428-.751 1.071-.751 1.81 0 .02 0 .041.003.062l.003.034c.017.21.038.468.096.796.107.715.275 1.47.391 1.994.029.13.055.245.075.342l.002.008c.258 1.141.641 1.94.978 2.466.168.263.323.456.444.589a2.808 2.808 0 0 0 .192.194c1.536 1.562 3.713 2.196 5.731 2.08.13-.005.35-.032.537-.073a2.627 2.627 0 0 0 .652-.24c.425-.26.75-.661.992-1.046.184-.294.342-.61.473-.915a3.8 3.8 0 0 0 .627.493 5.022 5.022 0 0 0 1.97.709l.023.002.018.003.11.016c.088.014.205.035.325.058l.056.014c.088.022.164.04.235.061a1.736 1.736 0 0 1 .145.048l.03.014c.765.34 1.302 1.09 1.302 1.871a.75.75 0 0 0 1.5 0c0-1.456-.964-2.69-2.18-3.235a3.595 3.595 0 0 0-.679-.217l-.063-.015a10.616 10.616 0 0 0-.606-.105l-.02-.003-.03-.003h-.002a3.542 3.542 0 0 1-1.331-.485c-.471-.298-.788-.692-.828-1.234a.75.75 0 0 0-1.48-.106l-.001.003-.004.017a8.23 8.23 0 0 1-.092.352 9.963 9.963 0 0 1-.298.892c-.132.34-.29.68-.47.966-.174.276-.339.454-.478.549a1.178 1.178 0 0 1-.221.072 1.949 1.949 0 0 1-.241.036h-.013l-.032.002c-1.684.1-3.423-.437-4.604-1.65a.746.746 0 0 0-.053-.05L4.84 14.6a1.348 1.348 0 0 1-.07-.073 2.99 2.99 0 0 1-.293-.392c-.242-.379-.558-1.014-.778-1.985a54.1 54.1 0 0 0-.083-.376 27.494 27.494 0 0 1-.367-1.872l-.003-.02a6.791 6.791 0 0 1-.08-.67c.004-.277.086-.475.2-.609l.067-.067a.63.63 0 0 1 .292-.145h.05c.18 0 1.095.055 2.013.115l1.207.08.534.037a.747.747 0 0 0 .052.002c.782 0 1.349-.206 1.759-.585l.005-.005c.553-.52.622-1.225.622-1.76V6.24l-.026-.565A774.97 774.97 0 0 1 9.885 4.4c-.042-.961-.081-1.939-.081-2.13ZM4.995 6.953a251.126 251.126 0 0 1 2.102.137l.508.035c.48-.004.646-.122.715-.185.07-.068.146-.209.147-.649l-.024-.548a791.69 791.69 0 0 1-.095-2.187L4.995 6.953Zm16.122 9.996Zm-5.479-5.323a.75.75 0 0 0 1.014.31 2.04 2.04 0 0 1 .304-.089 1.84 1.84 0 0 1 .544-.039c.215.023.321.06.37.085.033.016.039.026.047.04a.75.75 0 0 0 1.289-.767c-.337-.567-.906-.783-1.552-.85a3.334 3.334 0 0 0-1.002.062c-.27.056-.531.14-.705.234a.75.75 0 0 0-.31 1.014Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-expand' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='m12 8.337-8.47 8.47a.75.75 0 0 1-1.06-1.06l8.605-8.606a1.29 1.29 0 0 1 1.85 0l8.605 8.605a.75.75 0 1 1-1.06 1.06L12 8.338Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-external-source-placeholder' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M6.341 3.27a10.5 10.5 0 0 1 5.834-1.77.75.75 0 0 0 0-1.5 12 12 0 1 0 12 12 .75.75 0 0 0-1.5 0A10.5 10.5 0 1 1 6.34 3.27Zm14.145 1.48a.75.75 0 1 0-1.06-1.062L9.925 13.19V7.95a.75.75 0 1 0-1.5 0V15c0 .414.336.75.75.75h7.05a.75.75 0 0 0 0-1.5h-5.24l9.501-9.5Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-facebook' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M12 1.5C6.201 1.5 1.5 6.201 1.5 12c0 4.943 3.416 9.089 8.016 10.204v-6.108H7.383a.75.75 0 0 1-.75-.75v-3.281a.75.75 0 0 1 .75-.75h2.133V9.393c0-.958.225-2.511 1.38-3.65 1.194-1.177 3.174-1.718 6.254-1.056a.75.75 0 0 1 .592.733v2.754a.75.75 0 0 1-.75.75c-.692 0-1.203.026-1.584.082-.387.057-.578.137-.675.202-.109.073-.237.205-.237 1.029v1.078h2.39a.75.75 0 0 1 .742.866l-.516 3.281a.75.75 0 0 1-.74.634h-1.876v6.106C19.09 21.082 22.5 16.939 22.5 12c0-5.799-4.701-10.5-10.5-10.5zM0 12C0 5.373 5.373 0 12 0s12 5.373 12 12c0 5.995-4.395 10.961-10.138 11.856a.75.75 0 0 1-.866-.74v-7.77a.75.75 0 0 1 .75-.75h1.984l.28-1.781h-2.264a.75.75 0 0 1-.75-.75v-1.828c0-.829.089-1.729.9-2.274.363-.244.807-.37 1.293-.441a9.623 9.623 0 0 1 1.053-.086V6.04c-2.41-.405-3.645.132-4.293.771-.737.728-.933 1.793-.933 2.582v2.672a.75.75 0 0 1-.75.75H8.133v1.78h2.133a.75.75 0 0 1 .75.75v7.772a.75.75 0 0 1-.865.741C4.4 22.968 0 18 0 12z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-file' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M2.895 1.201c0-.473.383-.857.857-.857h8.4c.227 0 .445.09.606.251l8.4 8.4c.16.16.25.379.25.606v13.2a.857.857 0 0 1-.856.857h-16.8a.857.857 0 0 1-.857-.857zm1.714.857v19.886h15.085V10.458h-7.542a.857.857 0 0 1-.858-.857V2.058zm8.4 1.213 5.473 5.473H13.01z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-flickr' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M5.959 7.926c-2.298 0-4.14 1.834-4.14 4.073 0 2.241 1.842 4.075 4.14 4.075 2.302 0 4.145-1.834 4.145-4.075 0-2.238-1.843-4.073-4.145-4.073Zm-5.64 4.073c0-3.086 2.533-5.573 5.64-5.573 3.11 0 5.645 2.486 5.645 5.573 0 3.089-2.535 5.575-5.645 5.575-3.107 0-5.64-2.487-5.64-5.575Zm18.07-4.073c-2.301 0-4.144 1.835-4.144 4.073 0 2.24 1.843 4.075 4.145 4.075 2.299 0 4.141-1.834 4.141-4.075 0-2.239-1.842-4.073-4.141-4.073Zm-5.644 4.073c0-3.087 2.535-5.573 5.645-5.573 3.108 0 5.641 2.487 5.641 5.573 0 3.088-2.533 5.575-5.641 5.575-3.11 0-5.645-2.486-5.645-5.575Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-gdrive' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M7.736 1.818a.75.75 0 0 1 .647-.37h7.587a.75.75 0 0 1 .655.383l7.233 12.946a.75.75 0 0 1-.003.737l-3.794 6.66a.75.75 0 0 1-.651.378H4.59a.75.75 0 0 1-.651-.378l-3.794-6.66a.75.75 0 0 1 .005-.75zm.64 1.876L1.663 15.148l2.93 5.145 6.655-11.581zm3.736 6.526-2.398 4.173H14.5zm4.116 4.173h5.697L15.53 2.947H9.677zm5.685 1.5H8.852l-2.966 5.16h13.088z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-gphotos' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M12.51 0c-.702 0-1.272.57-1.272 1.273V7.35A6.381 6.381 0 0 0 0 11.489c0 .703.57 1.273 1.273 1.273H7.35A6.381 6.381 0 0 0 11.488 24c.704 0 1.274-.57 1.274-1.273V16.65A6.381 6.381 0 0 0 24 12.51c0-.703-.57-1.273-1.273-1.273H16.65A6.381 6.381 0 0 0 12.511 0Zm.252 11.232V1.53a4.857 4.857 0 0 1 0 9.702Zm-1.53.006H1.53a4.857 4.857 0 0 1 9.702 0Zm1.536 1.524a4.857 4.857 0 0 0 9.702 0h-9.702Zm-6.136 4.857c0-2.598 2.04-4.72 4.606-4.85v9.7a4.857 4.857 0 0 1-4.606-4.85Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-huddle' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M6.204 2.002c-.252.23-.357.486-.357.67V21.07c0 .15.084.505.313.812.208.28.499.477.929.477.519 0 .796-.174.956-.365.178-.212.286-.535.286-.924v-.013l.117-6.58c.004-1.725 1.419-3.883 3.867-3.883 1.33 0 2.332.581 2.987 1.364.637.762.95 1.717.95 2.526v6.47c0 .392.11.751.305.995.175.22.468.41 1.008.41.52 0 .816-.198 1.002-.437.207-.266.31-.633.31-.969V14.04c0-2.81-1.943-5.108-4.136-5.422a5.971 5.971 0 0 0-3.183.41c-.912.393-1.538.96-1.81 1.489a.75.75 0 0 1-1.417-.344v-7.5c0-.587-.47-1.031-1.242-1.031-.315 0-.638.136-.885.36ZM5.194.892A2.844 2.844 0 0 1 7.09.142c1.328 0 2.742.867 2.742 2.53v5.607a6.358 6.358 0 0 1 1.133-.629 7.47 7.47 0 0 1 3.989-.516c3.056.436 5.425 3.482 5.425 6.906v6.914c0 .602-.177 1.313-.627 1.89-.47.605-1.204 1.016-2.186 1.016-.96 0-1.698-.37-2.179-.973-.46-.575-.633-1.294-.633-1.933v-6.469c0-.456-.19-1.071-.602-1.563-.394-.471-.986-.827-1.836-.827-1.447 0-2.367 1.304-2.367 2.39v.014l-.117 6.58c-.001.64-.177 1.333-.637 1.881-.48.57-1.2.9-2.105.9-.995 0-1.7-.5-2.132-1.081-.41-.552-.61-1.217-.61-1.708V2.672c0-.707.366-1.341.847-1.78Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-info' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11 9h2V7h-2m1 13c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-18A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m-1 15h2v-6h-2v6Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-local' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M3 3.75a1.5 1.5 0 0 0-1.5 1.5v13.5a1.5 1.5 0 0 0 1.5 1.5h18a1.5 1.5 0 0 0 1.5-1.5V9A1.5 1.5 0 0 0 21 7.5h-9a.75.75 0 0 1-.643-.364L9.325 3.75zm-3 1.5a3 3 0 0 1 3-3h6.75a.75.75 0 0 1 .643.364L12.425 6H21a3 3 0 0 1 3 3v9.75a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-microphone' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' clip-rule='evenodd' d='M7.5 4.781a4.5 4.5 0 0 1 9 0v6.469a4.5 4.5 0 1 1-9 0V4.781Zm4.5-3a3 3 0 0 0-3 3v6.469a3 3 0 1 0 6 0V4.781a3 3 0 0 0-3-3Zm-8.156 8.11a.75.75 0 0 1 .75.75 7.406 7.406 0 1 0 14.812 0 .75.75 0 0 1 1.5 0 8.907 8.907 0 0 1-8.156 8.875v2.703h3.258a.75.75 0 1 1 0 1.5H7.992a.75.75 0 0 1 0-1.5h3.258v-2.703a8.907 8.907 0 0 1-8.156-8.875.75.75 0 0 1 .75-.75Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-microphone-mute' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' clip-rule='evenodd' d='M7.5 4.781a4.5 4.5 0 0 1 9 0V6l3.524-3.524a.75.75 0 1 1 1.061 1.06L5.036 19.585a.75.75 0 0 1-1.06-1.06l1.656-1.657a8.88 8.88 0 0 1-2.538-6.227.75.75 0 0 1 1.5 0c0 2.009.8 3.83 2.1 5.166l1.771-1.772A4.483 4.483 0 0 1 7.5 11.25V4.781Zm2.037 8.182L15 7.5V4.781a3 3 0 1 0-6 0v6.469c0 .637.198 1.227.537 1.713Zm10.62-3.072a.75.75 0 0 1 .75.75 8.907 8.907 0 0 1-8.157 8.875v2.703h3.258a.75.75 0 1 1 0 1.5H7.992a.75.75 0 0 1 0-1.5h3.258v-2.703a8.855 8.855 0 0 1-3.035-.811.75.75 0 1 1 .638-1.358 7.406 7.406 0 0 0 10.553-6.707.75.75 0 0 1 .75-.75ZM15 10.81a.75.75 0 0 1 1.5 0v.439a4.5 4.5 0 0 1-5 4.473.75.75 0 1 1 .166-1.491A3 3 0 0 0 15 11.25v-.44Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-mobile-photo-camera' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M7.65 2.55a.75.75 0 0 1 .6-.3h7.5a.75.75 0 0 1 .6.3l2.025 2.7H21a3 3 0 0 1 3 3v10.5a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V8.25a3 3 0 0 1 3-3h2.625zm.975 1.2L6.6 6.45a.75.75 0 0 1-.6.3H3a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h18a1.5 1.5 0 0 0 1.5-1.5V8.25a1.5 1.5 0 0 0-1.5-1.5h-3a.75.75 0 0 1-.6-.3l-2.025-2.7zm3.375 6a3.375 3.375 0 1 0 0 6.75 3.375 3.375 0 0 0 0-6.75zm-4.875 3.375a4.875 4.875 0 1 1 9.75 0 4.875 4.875 0 0 1-9.75 0z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-mobile-video-camera' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' clip-rule='evenodd' d='M0 6.75a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v1.078L22.873 5A.75.75 0 0 1 24 5.648v12.704a.75.75 0 0 1-1.123.65L18 16.207v1.043a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V6.75Zm18 7.728 4.5 2.58V6.95L18 9.562v4.916ZM16.5 6.75a1.5 1.5 0 0 0-1.5-1.5H3a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h12a1.5 1.5 0 0 0 1.5-1.5V6.75Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-ngdrive' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M7.736 1.818a.75.75 0 0 1 .647-.37h7.587a.75.75 0 0 1 .655.383l7.233 12.946a.75.75 0 0 1-.003.737l-3.794 6.66a.75.75 0 0 1-.651.378H4.59a.75.75 0 0 1-.651-.378l-3.794-6.66a.75.75 0 0 1 .005-.75zm.64 1.876L1.663 15.148l2.93 5.145 6.655-11.581zm3.736 6.526-2.398 4.173H14.5zm4.116 4.173h5.697L15.53 2.947H9.677zm5.685 1.5H8.852l-2.966 5.16h13.088z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-onedrive' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M13.616 4.147a7.689 7.689 0 0 0-7.642 3.285A6.299 6.299 0 0 0 1.455 17.3c.684.894 2.473 2.658 5.17 2.658h12.141c.95 0 1.882-.256 2.697-.743.815-.486 1.514-1.247 1.964-2.083a5.26 5.26 0 0 0-3.713-7.612 7.69 7.69 0 0 0-6.098-5.373ZM3.34 17.15c.674.63 1.761 1.308 3.284 1.308h12.142a3.76 3.76 0 0 0 2.915-1.383l-7.494-4.489L3.34 17.15Zm10.875-6.25 2.47-1.038a5.239 5.239 0 0 1 1.427-.389 6.19 6.19 0 0 0-10.3-1.952 6.338 6.338 0 0 1 2.118.813l4.285 2.567Zm4.55.033c-.512 0-1.019.104-1.489.307l-.006.003-1.414.594 6.521 3.906a3.76 3.76 0 0 0-3.357-4.8l-.254-.01ZM4.097 9.617A4.799 4.799 0 0 1 6.558 8.9c.9 0 1.84.25 2.587.713l3.4 2.037-10.17 4.28a4.799 4.799 0 0 1 1.721-6.312Z'/></symbol><symbol fill='none' viewBox='0 0 10 10' id='uc-icon-pause' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' d='M1 0h2.5v10H1zM6.5 0H9v10H6.5z'/></symbol><symbol fill='none' viewBox='0 0 10 10' id='uc-icon-play' xmlns='http://www.w3.org/2000/svg'><path d='m1 0 9 5-9 5V0Z' fill='currentColor'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-remove-file' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.955 3.3A2.969 2.969 0 0 0 8.998 6h5.914a2.97 2.97 0 0 0-2.957-2.7zM16.416 6a4.47 4.47 0 0 0-8.922 0h-2.32a.755.755 0 0 0-.111.008H3.075a.75.75 0 1 0 0 1.5h1.35V19.35a2.85 2.85 0 0 0 2.85 2.85h9.45a2.85 2.85 0 0 0 2.85-2.85V7.508h1.35a.75.75 0 0 0 0-1.5h-1.989A.754.754 0 0 0 18.825 6zM5.925 7.508V19.35a1.35 1.35 0 0 0 1.35 1.35h9.45a1.35 1.35 0 0 0 1.35-1.35V7.508z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-select' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='m7 10 5 5 5-5H7Z'/></symbol><symbol fill='none' viewBox='0 0 20 20' id='uc-icon-square' xmlns='http://www.w3.org/2000/svg'><rect width='20' height='20' rx='4' fill='#fff'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-upload' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.501.392a.75.75 0 0 1 .998 0l6.704 5.972a.75.75 0 0 1-.998 1.12l-5.455-4.86v13.439a.75.75 0 0 1-1.5 0V2.625l-5.454 4.86a.75.75 0 1 1-.998-1.12zM.857 16.73a.75.75 0 0 1 .75.75v4.914h20.786v-4.914a.75.75 0 0 1 1.5 0v5.664a.75.75 0 0 1-.75.75H.857a.75.75 0 0 1-.75-.75v-5.664a.75.75 0 0 1 .75-.75z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-upload-error' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M13 13h-2V7h2m0 10h-2v-2h2M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-url' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M19.11 3.67c-1.71-1.709-4.578-1.682-6.408.148l-2.22 2.22a.75.75 0 0 1-1.062-1.06l2.222-2.221C14.018.381 17.836.276 20.17 2.61l1.22 1.22c2.335 2.334 2.23 6.153-.147 8.529l-2.22 2.22a.75.75 0 0 1-1.062-1.06l2.222-2.221c1.83-1.83 1.856-4.698.147-6.408zm-3.36 4.58a.75.75 0 0 1 0 1.06l-6.439 6.44a.75.75 0 0 1-1.06-1.06l6.439-6.44a.75.75 0 0 1 1.06 0zM6.04 9.42a.75.75 0 0 1 0 1.061l-2.222 2.222c-1.83 1.83-1.856 4.698-.147 6.407l1.22 1.22c1.71 1.71 4.578 1.683 6.408-.147l2.221-2.221a.75.75 0 1 1 1.06 1.06l-2.22 2.222c-2.377 2.376-6.195 2.481-8.53.147l-1.22-1.22c-2.334-2.334-2.228-6.153.148-8.53l2.221-2.22a.75.75 0 0 1 1.06 0z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-video-camera' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' clip-rule='evenodd' d='M0 6.75a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v1.078L22.873 5A.75.75 0 0 1 24 5.648v12.704a.75.75 0 0 1-1.123.65L18 16.207v1.043a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V6.75Zm18 7.728 4.5 2.58V6.95L18 9.562v4.916ZM16.5 6.75a1.5 1.5 0 0 0-1.5-1.5H3a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h12a1.5 1.5 0 0 0 1.5-1.5V6.75Z'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-video-camera-full' xmlns='http://www.w3.org/2000/svg'><path d='M2 3.333a2 2 0 0 0-2 2v9.334a2 2 0 0 0 2 2h10.938a2 2 0 0 0 2-2v-2.013L20 15.646V4.354l-5.063 3.03v-2.05a2 2 0 0 0-2-2H2Z' fill='currentColor'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-vk' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M6.341 3.27a10.5 10.5 0 0 1 5.834-1.77.75.75 0 0 0 0-1.5 12 12 0 1 0 12 12 .75.75 0 0 0-1.5 0A10.5 10.5 0 1 1 6.34 3.27Zm14.145 1.48a.75.75 0 1 0-1.06-1.062L9.925 13.19V7.95a.75.75 0 1 0-1.5 0V15c0 .414.336.75.75.75h7.05a.75.75 0 0 0 0-1.5h-5.24l9.501-9.5Z'/></symbol></svg>";var ce=class extends _{constructor(){super(...arguments);u(this,"requireCtxName",!0);u(this,"init$",ai(this));u(this,"_template",null)}initCallback(){var e;super.initCallback(),(e=this.a11y)==null||e.registerBlock(this)}static set template(e){this._template=oo+e+"<slot></slot>"}static get template(){return this._template}};u(ce,"styleAttrs",["uc-wgt-common"]);var no="active",bt="___ACTIVITY_IS_ACTIVE___",Ae=class Ae extends _{constructor(){super(...arguments);u(this,"historyTracked",!1);u(this,"init$",Ar(this));u(this,"_debouncedHistoryFlush",M(this._historyFlush.bind(this),10))}_deactivate(){var i;let e=Ae._activityCallbacks.get(this);this[bt]=!1,this.removeAttribute(no),(i=e==null?void 0:e.deactivateCallback)==null||i.call(e)}_activate(){var i;let e=Ae._activityCallbacks.get(this);this.$["*historyBack"]=this.historyBack.bind(this),this[bt]=!0,this.setAttribute(no,""),(i=e==null?void 0:e.activateCallback)==null||i.call(e),this._debouncedHistoryFlush(),this.emit(y.ACTIVITY_CHANGE,{activity:this.activityType})}initCallback(){super.initCallback(),this.activityType&&(this.hasAttribute("activity")||this.setAttribute("activity",this.activityType),this.sub("*currentActivity",e=>{var i;try{this.activityType!==e&&this[bt]?this._deactivate():this.activityType===e&&!this[bt]&&this._activate()}catch(s){this.telemetryManager.sendEventError(s,`activity "${this.activityType}"`),console.error(`Error in activity "${this.activityType}". `,s),this.$["*currentActivity"]=(i=this.$["*history"][this.$["*history"].length-1])!=null?i:null}e||(this.$["*history"]=[])}))}_historyFlush(){let e=this.$["*history"];e&&(e.length>10&&(e=e.slice(e.length-11,e.length-1)),this.historyTracked&&e[e.length-1]!==this.activityType&&e.push(this.activityType),this.$["*history"]=e)}_isActivityRegistered(){return this.activityType&&Ae._activityCallbacks.has(this)}get isActivityActive(){return this[bt]}get couldOpenActivity(){return!0}registerActivity(e,i={}){let{onActivate:s,onDeactivate:o}=i;Ae._activityCallbacks.set(this,{activateCallback:s,deactivateCallback:o})}unregisterActivity(){this.isActivityActive&&this._deactivate(),Ae._activityCallbacks.delete(this)}destroyCallback(){super.destroyCallback(),this._isActivityRegistered()&&this.unregisterActivity();let e=this.$["*currentActivity"];!![...this.blocksRegistry].find(s=>s instanceof Ae&&s.activityType===e)||(this.$["*currentActivity"]=null,this.modalManager.closeAll())}get activityKey(){return this.ctxName+this.activityType}get activityParams(){return this.$["*currentActivityParams"]}get initActivity(){return this.getCssData("--cfg-init-activity")}get doneActivity(){return this.getCssData("--cfg-done-activity")}historyBack(){var i;let e=this.$["*history"];if(e){let s=e.pop();for(;s===this.activityType;)s=e.pop();let o=!!s;if(s){let n=[...this.blocksRegistry].find(a=>a.activityType===s);o=(i=n==null?void 0:n.couldOpenActivity)!=null?i:!1}s=o?s:void 0,s&&this.modalManager.open(s),this.$["*currentActivity"]=s,this.$["*history"]=e,s||this.modalManager.closeAll()}}};u(Ae,"_activityCallbacks",new Map);var g=Ae;g.activities=Object.freeze({START_FROM:"start-from",CAMERA:"camera",DRAW:"draw",UPLOAD_LIST:"upload-list",URL:"url",CLOUD_IMG_EDIT:"cloud-image-edit",EXTERNAL:"external"});var _t=33.333333333333336,A=1,Mr=24,ao=6;function Pe(r,t){for(let e in t)r.setAttributeNS(null,e,t[e].toString())}function j(r,t={}){let e=document.createElementNS("http://www.w3.org/2000/svg",r);return Pe(e,t),e}function lo(r,t,e){let{x:i,y:s,width:o,height:n}=r,a=t.includes("w")?0:1,l=t.includes("n")?0:1,c=[-1,1][a],h=[-1,1][l],d=[i+a*o+1.5*c,s+l*n+1.5*h-24*e*h],p=[i+a*o+1.5*c,s+l*n+1.5*h],f=[i+a*o-24*e*c+1.5*c,s+l*n+1.5*h];return{d:`M ${d[0]} ${d[1]} L ${p[0]} ${p[1]} L ${f[0]} ${f[1]}`,center:p}}function co(r,t,e){let{x:i,y:s,width:o,height:n}=r,a=["n","s"].includes(t)?.5:{w:0,e:1}[t],l=["w","e"].includes(t)?.5:{n:0,s:1}[t],c=[-1,1][a],h=[-1,1][l],d,p;["n","s"].includes(t)?(d=[i+a*o-34*e/2,s+l*n+1.5*h],p=[i+a*o+34*e/2,s+l*n+1.5*h]):(d=[i+a*o+1.5*c,s+l*n-34*e/2],p=[i+a*o+1.5*c,s+l*n+34*e/2]);let f=`M ${d[0]} ${d[1]} L ${p[0]} ${p[1]}`,m=[p[0]-(p[0]-d[0])/2,p[1]-(p[1]-d[1])/2];return{d:f,center:m}}function uo(r){return r===""?"move":["e","w"].includes(r)?"ew-resize":["n","s"].includes(r)?"ns-resize":["nw","se"].includes(r)?"nwse-resize":"nesw-resize"}function ho({rect:r,delta:[t,e],imageBox:i}){return Ye({...r,x:r.x+t,y:r.y+e},i)}function Ye(r,t){let{x:e}=r,{y:i}=r;return r.x<t.x?e=t.x:r.x+r.width>t.x+t.width&&(e=t.x+t.width-r.width),r.y<t.y?i=t.y:r.y+r.height>t.y+t.height&&(i=t.y+t.height-r.height),{...r,x:e,y:i}}function fl({rect:r,delta:t,aspectRatio:e,imageBox:i}){let[,s]=t,{y:o,width:n,height:a}=r;o+=s,a-=s,e&&(n=a*e);let l=r.x+r.width/2-n/2;return o<=i.y&&(o=i.y,a=r.y+r.height-o,e&&(n=a*e,l=r.x+r.width/2-n/2)),l<=i.x&&(l=i.x,o=r.y+r.height-a),l+n>=i.x+i.width&&(l=Math.max(i.x,i.x+i.width-n),n=i.x+i.width-l,e&&(a=n/e),o=r.y+r.height-a),a<A&&(a=A,e&&(n=a*e,l=r.x+r.width/2-n/2),o=r.y+r.height-a),n<A&&(n=A,e&&(a=n/e,l=r.x+r.width/2-n/2),o=r.y+r.height-a),{x:l,y:o,width:n,height:a}}function ml({rect:r,delta:t,aspectRatio:e,imageBox:i}){let[s]=t,{x:o,width:n,height:a}=r;o+=s,n-=s,e&&(a=n/e);let l=r.y+r.height/2-a/2;return o<=i.x&&(o=i.x,n=r.x+r.width-o,e&&(a=n/e,l=r.y+r.height/2-a/2)),l<=i.y&&(l=i.y,o=r.x+r.width-n),l+a>=i.y+i.height&&(l=Math.max(i.y,i.y+i.height-a),a=i.y+i.height-l,e&&(n=a*e),o=r.x+r.width-n),a<A&&(a=A,e&&(n=a*e),l=r.y+r.height/2-a/2,o=r.x+r.width-n),n<A&&(n=A,e&&(a=n/e),l=r.y+r.height/2-a/2,o=r.x+r.width-n),{x:o,y:l,width:n,height:a}}function gl({rect:r,delta:t,aspectRatio:e,imageBox:i}){let[,s]=t,{y:o,width:n,height:a}=r;a+=s,e&&(n=a*e);let l=r.x+r.width/2-n/2;return o+a>=i.y+i.height&&(a=i.y+i.height-o,e&&(n=a*e),l=r.x+r.width/2-n/2),l<=i.x&&(l=i.x,o=r.y),l+n>=i.x+i.width&&(l=Math.max(i.x,i.x+i.width-n),n=i.x+i.width-l,e&&(a=n/e),o=r.y),a<A&&(a=A,e&&(n=a*e),l=r.x+r.width/2-n/2),n<A&&(n=A,e&&(a=n/e),l=r.x+r.width/2-n/2),{x:l,y:o,width:n,height:a}}function bl({rect:r,delta:t,aspectRatio:e,imageBox:i}){let[s]=t,{x:o,width:n,height:a}=r;n+=s,e&&(a=n/e);let l=r.y+r.height/2-a/2;return o+n>=i.x+i.width&&(n=i.x+i.width-o,e&&(a=n/e),l=r.y+r.height/2-a/2),l<=i.y&&(l=i.y,o=r.x),l+a>=i.y+i.height&&(l=Math.max(i.y,i.y+i.height-a),a=i.y+i.height-l,e&&(n=a*e),o=r.x),a<A&&(a=A,e&&(n=a*e),l=r.y+r.height/2-a/2),n<A&&(n=A,e&&(a=n/e),l=r.y+r.height/2-a/2),{x:o,y:l,width:n,height:a}}function _l({rect:r,delta:t,aspectRatio:e,imageBox:i}){let[s,o]=t,{x:n,y:a,width:l,height:c}=r;return n+s<i.x&&(s=i.x-n),a+o<i.y&&(o=i.y-a),n+=s,l-=s,a+=o,c-=o,e&&Math.abs(l/c)>e?(o=l/e-c,c+=o,a-=o,a<=i.y&&(c=c-(i.y-a),l=c*e,n=r.x+r.width-l,a=i.y)):e&&(s=c*e-l,l=l+s,n-=s,n<=i.x&&(l=l-(i.x-n),c=l/e,n=i.x,a=r.y+r.height-c)),c<A&&(c=A,e&&(l=c*e),n=r.x+r.width-l,a=r.y+r.height-c),l<A&&(l=A,e&&(c=l/e),n=r.x+r.width-l,a=r.y+r.height-c),{x:n,y:a,width:l,height:c}}function vl({rect:r,delta:t,aspectRatio:e,imageBox:i}){let[s,o]=t,{x:n,y:a,width:l,height:c}=r;return n+l+s>i.x+i.width&&(s=i.x+i.width-n-l),a+o<i.y&&(o=i.y-a),l+=s,a+=o,c-=o,e&&Math.abs(l/c)>e?(o=l/e-c,c+=o,a-=o,a<=i.y&&(c=c-(i.y-a),l=c*e,n=r.x,a=i.y)):e&&(s=c*e-l,l+=s,n+l>=i.x+i.width&&(l=i.x+i.width-n,c=l/e,n=i.x+i.width-l,a=r.y+r.height-c)),c<A&&(c=A,e&&(l=c*e),a=r.y+r.height-c),l<A&&(l=A,e&&(c=l/e),a=r.y+r.height-c),{x:n,y:a,width:l,height:c}}function yl({rect:r,delta:t,aspectRatio:e,imageBox:i}){let[s,o]=t,{x:n,y:a,width:l,height:c}=r;return n+s<i.x&&(s=i.x-n),a+c+o>i.y+i.height&&(o=i.y+i.height-a-c),n+=s,l-=s,c+=o,e&&Math.abs(l/c)>e?(o=l/e-c,c+=o,a+c>=i.y+i.height&&(c=i.y+i.height-a,l=c*e,n=r.x+r.width-l,a=i.y+i.height-c)):e&&(s=c*e-l,l+=s,n-=s,n<=i.x&&(l=l-(i.x-n),c=l/e,n=i.x,a=r.y)),c<A&&(c=A,e&&(l=c*e),n=r.x+r.width-l),l<A&&(l=A,e&&(c=l/e),n=r.x+r.width-l),{x:n,y:a,width:l,height:c}}function wl({rect:r,delta:t,aspectRatio:e,imageBox:i}){let[s,o]=t,{x:n,y:a,width:l,height:c}=r;return n+l+s>i.x+i.width&&(s=i.x+i.width-n-l),a+c+o>i.y+i.height&&(o=i.y+i.height-a-c),l+=s,c+=o,e&&Math.abs(l/c)>e?(o=l/e-c,c+=o,a+c>=i.y+i.height&&(c=i.y+i.height-a,l=c*e,n=r.x,a=i.y+i.height-c)):e&&(s=c*e-l,l+=s,n+l>=i.x+i.width&&(l=i.x+i.width-n,c=l/e,n=i.x+i.width-l,a=r.y)),c<A&&(c=A,e&&(l=c*e)),l<A&&(l=A,e&&(c=l/e)),{x:n,y:a,width:l,height:c}}function po({direction:r,...t}){switch(r){case"n":return fl(t);case"w":return ml(t);case"s":return gl(t);case"e":return bl(t);case"nw":return _l(t);case"ne":return vl(t);case"sw":return yl(t);case"se":return wl(t);default:return t.rect}}function fo(r,[t,e]){return r.x<=t&&t<=r.x+r.width&&r.y<=e&&e<=r.y+r.height}function mo(r,t){return r.x>=t.x&&r.y>=t.y&&r.x+r.width<=t.x+t.width&&r.y+r.height<=t.y+t.height}function go(r,t){return Math.abs(r.width/r.height-t)<.1}function Je({width:r,height:t},e){let i=e/90%2!==0;return{width:i?t:r,height:i?r:t}}function bo(r,t,e){let i=r/t,s,o;i>e?(s=Math.round(t*e),o=t):(s=r,o=Math.round(r/e));let n=Math.round((r-s)/2),a=Math.round((t-o)/2);return n+s>r&&(s=r-n),a+o>t&&(o=t-a),{x:n,y:a,width:s,height:o}}function Qe(r){return{x:Math.round(r.x),y:Math.round(r.y),width:Math.round(r.width),height:Math.round(r.height)}}function Re(r,t,e){return Math.min(Math.max(r,t),e)}var vt=["free"],mi=r=>{let t=D(r);if(!(t!=null&&t.length))return[];let e=[];for(let i=0;i<t.length;i++){let s=t[i].trim();if(!s)continue;let o=s.indexOf(":");if(o===-1&&!vt.includes(s)){console.warn(`Invalid crop preset: ${s}`);continue}let n=Number(s.slice(0,o)),a=Number(s.slice(o+1));if((!Number.isFinite(n)||!Number.isFinite(a)||n<=0||a<=0)&&!vt.includes(s)){console.warn(`Invalid crop preset: ${s}`);continue}e.push({id:Te.generate(),type:"aspect-ratio",width:vt.includes(s)?0:n,height:vt.includes(s)?0:a,hasFreeform:vt.includes(s)})}return e},_o=(r,t,e,i=.1)=>{let s=r/t,o=null,n=1/0;for(let a of e){let[l,c]=[a.width,a.height],h=l/c,d=Math.abs(s-h);d<n&&(n=d,o=a)}if(o){let[a,l]=[o.width,o.height],c=a/l;if(Math.abs(s-c)/c>i)return null}return o};function vo(r){return br({...r,libraryName:Le,libraryVersion:Ue})}var yo=r=>Math.floor(r/1e3),wo=(r,{threshold:t})=>{let{secureExpire:e}=r,i=yo(Date.now()),s=Number(e),o=yo(t);return i+o>=s};var gi=class{constructor(t){u(this,"_block");u(this,"_secureToken",null);this._block=t}_debugPrint(...t){this._block.debugPrint("[secure-uploads]",...t)}async getSecureToken(){let{secureSignature:t,secureExpire:e,secureUploadsSignatureResolver:i}=this._block.cfg;if((t||e)&&i&&console.warn("Both secureSignature/secureExpire and secureUploadsSignatureResolver are set. secureUploadsSignatureResolver will be used."),i){if(!this._secureToken||wo(this._secureToken,{threshold:this._block.cfg.secureUploadsExpireThreshold})){this._secureToken?this._debugPrint("Secure signature is expired. Resolving a new one..."):this._debugPrint("Secure signature is not set yet.");try{let s=await i();s?!s.secureSignature||!s.secureExpire?console.error("Secure signature resolver returned an invalid result:",s):(this._debugPrint("Secure signature resolved:",s),this._debugPrint("Secure signature will expire in",new Date(Number(s.secureExpire)*1e3).toISOString()),this._secureToken=s):(this._debugPrint("Secure signature resolver returned nothing."),this._secureToken=null)}catch(s){console.error("Secure signature resolving failed. Falling back to the previous one.",s),this._block.telemetryManager.sendEventError(s,"secureUploadsSignatureResolver. Secure signature resolving failed. Falling back to the previous one.")}}return this._secureToken}return t&&e?(this._debugPrint("Secure signature and expire are set. Using them...",{secureSignature:t,secureExpire:e}),{secureSignature:t,secureExpire:e}):null}};var Co="[Typed State] Wrong property name: ",Cl="[Typed State] Wrong property type: ",bi=class{constructor(t,e){this.__typedSchema=t,this.__ctxId=e||Te.generate(),this.__schema=Object.keys(t).reduce((i,s)=>(i[s]=t[s].value,i),{}),this.__data=T.registerCtx(this.__schema,this.__ctxId)}get uid(){return this.__ctxId}setValue(t,e){if(!this.__typedSchema.hasOwnProperty(t)){console.warn(Co+t);return}let i=this.__typedSchema[t],s=(e==null?void 0:e.constructor)===i.type,o=e instanceof i.type,n=i.nullable&&e===null;if(s||o||n){this.__data.pub(t,e);return}console.warn(Cl+t)}setMultipleValues(t){for(let[e,i]of Object.entries(t))this.setValue(e,i)}getValue(t){return this.__typedSchema.hasOwnProperty(t)||console.warn(Co+t),this.__data.read(t)}subscribe(t,e){return this.__data.sub(t,e)}remove(){T.deleteCtx(this.__ctxId)}};var _i=class{constructor(t){this.__typedSchema=t.typedSchema,this.__ctxId=t.ctxName||Te.generate(),this.__data=T.registerCtx({},this.__ctxId),this.__watchList=t.watchList||[],this.__subsMap=Object.create(null),this.__propertyObservers=new Set,this.__collectionObservers=new Set,this.__items=new Set,this.__removed=new Set,this.__added=new Set;let e=Object.create(null);this.__notifyObservers=(i,s)=>{this.__observeTimeout&&window.clearTimeout(this.__observeTimeout),e[i]||(e[i]=new Set),e[i].add(s),this.__observeTimeout=window.setTimeout(()=>{Object.keys(e).length!==0&&(this.__propertyObservers.forEach(o=>{o({...e})}),e=Object.create(null))})}}notify(){this.__notifyTimeout&&window.clearTimeout(this.__notifyTimeout),this.__notifyTimeout=window.setTimeout(()=>{let t=new Set(this.__added),e=new Set(this.__removed);this.__added.clear(),this.__removed.clear();for(let i of this.__collectionObservers)i==null||i([...this.__items],t,e)})}observeCollection(t){return this.__collectionObservers.add(t),this.__items.size>0&&this.notify(),()=>{this.unobserveCollection(t)}}unobserveCollection(t){var e;(e=this.__collectionObservers)==null||e.delete(t)}add(t){let e=new bi(this.__typedSchema);for(let[i,s]of Object.entries(t))e.setValue(i,s);return this.__items.add(e.uid),this.notify(),this.__data.add(e.uid,e),this.__added.add(e),this.__watchList.forEach(i=>{this.__subsMap[e.uid]||(this.__subsMap[e.uid]=[]),this.__subsMap[e.uid].push(e.subscribe(i,()=>{this.__notifyObservers(i,e.uid)}))}),e.uid}read(t){return this.__data.read(t)}readProp(t,e){let i=this.read(t);return i?i.getValue(e):(console.warn(`Item with id ${t} not found`),null)}publishProp(t,e,i){let s=this.read(t);if(!s){console.warn(`Item with id ${t} not found`);return}s.setValue(e,i)}remove(t){let e=this.read(t);e&&this.__removed.add(e),this.__items.delete(t),this.notify(),this.__data.pub(t,null),delete this.__subsMap[t]}clearAll(){this.__items.forEach(t=>{this.remove(t)})}observeProperties(t){return this.__propertyObservers.add(t),()=>{this.unobserveProperties(t)}}unobserveProperties(t){var e;(e=this.__propertyObservers)==null||e.delete(t)}findItems(t){let e=[];return this.__items.forEach(i=>{let s=this.read(i);s&&t(s)&&e.push(i)}),e}items(){return[...this.__items]}get size(){return this.__items.size}destroy(){T.deleteCtx(this.__ctxId),this.__propertyObservers=new Set,this.__collectionObservers=new Set;for(let t in this.__subsMap)this.__subsMap[t].forEach(e=>{e.remove()}),delete this.__subsMap[t]}};var S=Object.freeze({PHOTO:"photo",VIDEO:"video"}),ie=Object.freeze({IDLE:"idle",SHOT:"shot",PLAY:"play",PAUSE:"pause",RESUME:"resume",STOP:"stop",RETAKE:"retake",ACCEPT:"accept"});var Lr=r=>({isVideoRecordingEnabled:Z(r.cameraModes).includes(S.VIDEO),isPhotoEnabled:Z(r.cameraModes).includes(S.PHOTO)});var de=Object.freeze({FACEBOOK:"facebook",DROPBOX:"dropbox",GDRIVE:"gdrive",GPHOTOS:"gphotos",FLICKR:"flickr",VK:"vk",EVERNOTE:"evernote",BOX:"box",ONEDRIVE:"onedrive",HUDDLE:"huddle"}),Ur=Object.freeze({MOBILE_VIDEO_CAMERA:"mobile-video-camera",MOBILE_PHOTO_CAMERA:"mobile-photo-camera"}),U=Object.freeze({LOCAL:"local",DROP_AREA:"drop-area",CAMERA:"camera",EXTERNAL:"external",API:"js-api",URL:"url",DRAW:"draw",...Ur,...de});var El=()=>{let r=navigator.userAgent;return/Macintosh|Windows/.test(r)&&/Version\/[\d\.]+.*Safari/.test(r)&&!/Chrome|Chromium|Edg|OPR/.test(r)},Al=()=>"capture"in document.createElement("input"),xl=()=>({safariDesktop:El()}),Tl=()=>({htmlMediaCapture:Al()}),Eo=xl(),Be=Tl();var yt="image/*",Pr="video/*",Sl=["image/heif","image/heif-sequence","image/heic","image/heic-sequence","image/avif","image/avif-sequence",".heif",".heifs",".heic",".heics",".avif",".avifs"],Il=()=>Eo.safariDesktop?[yt]:[yt,...Sl],wt=Il(),vi=r=>r?r.filter(t=>typeof t=="string").map(t=>D(t)).flat():[],Rr=(r,t)=>t.some(e=>e.endsWith("*")?(e=e.replace("*",""),r.startsWith(e)):r===e),Ao=(r,t)=>t.some(e=>e.startsWith(".")?r.toLowerCase().endsWith(e.toLowerCase()):!1),xo=r=>{let t=r==null?void 0:r.type;return t?Rr(t,wt):!1};var Ol=/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}/i,kl=new RegExp(`^/?(${Ol.source})(?:/(-/(?:[^/]+/)+)?([^/]*))?$`,"i"),To=({url:r,cdnBase:t})=>{let e=new URL(t),i=new URL(pt),s=new URL(r);if(e.host!==s.host&&i.host!==s.host)return null;let[,o,n,a]=kl.exec(s.pathname);return{uuid:o,cdnUrlModifiers:n||"",filename:a||null}};var So=r=>{let t=new Map;return(...e)=>{let i=JSON.stringify(e);if(t.has(i))return t.get(i);let s=r(...e);return t.set(i,s),s}};var Io=new Set;function yi(r){Io.has(r)||(Io.add(r),console.warn(r))}function $l(r){let t=!1;return setTimeout(()=>{t=!0},0),i=>(...s)=>(t&&yi(r),i(...s))}function Oo(r){let t={progress:()=>r.$["*commonProgress"],errors:()=>r.$["*collectionErrors"],group:()=>r.$["*groupInfo"],totalCount:()=>r.uploadCollection.size,failedCount:()=>e.failedEntries.length,successCount:()=>e.successEntries.length,uploadingCount:()=>e.uploadingEntries.length,status:()=>e.isFailed?"failed":e.isUploading?"uploading":e.isSuccess?"success":"idle",isSuccess:()=>e.allEntries.length>0&&e.errors.length===0&&e.successEntries.length===e.allEntries.length,isUploading:()=>e.allEntries.some(s=>s.status==="uploading"),isFailed:()=>e.errors.length>0||e.failedEntries.length>0,allEntries:()=>r.getOutputData(),successEntries:()=>e.allEntries.filter(s=>s.status==="success"),failedEntries:()=>e.allEntries.filter(s=>s.status==="failed"),uploadingEntries:()=>e.allEntries.filter(s=>s.status==="uploading"),idleEntries:()=>e.allEntries.filter(s=>s.status==="idle")},e={},i=$l("You're trying to access the OutputCollectionState asynchronously. In this case, the data you retrieve will be newer than it was when the OutputCollectionState was created or when the event was dispatched. If you want to retain the state at a specific moment in time, you should use the spread operator like this: `{...outputCollectionState}` or `{...e.detail}`");for(let[s,o]of Object.entries(t)){let n=s,l=So(i(o));Object.defineProperty(e,n,{get:l,enumerable:!0})}return e}var wi=class{constructor(t){u(this,"_ctx");u(this,"addFileFromUrl",(t,{silent:e,fileName:i,source:s}={})=>{let o=this._uploadCollection.add({externalUrl:t,fileName:i!=null?i:null,silent:e!=null?e:!1,source:s!=null?s:U.API});return this.getOutputItem(o)});u(this,"addFileFromUuid",(t,{silent:e,fileName:i,source:s}={})=>{let o=this._uploadCollection.add({uuid:t,fileName:i!=null?i:null,silent:e!=null?e:!1,source:s!=null?s:U.API});return this.getOutputItem(o)});u(this,"addFileFromCdnUrl",(t,{silent:e,fileName:i,source:s}={})=>{var a;let o=To({url:t,cdnBase:this.cfg.cdnCname});if(!o)throw new Error("Invalid CDN URL");let n=this._uploadCollection.add({uuid:o.uuid,cdnUrl:t,cdnUrlModifiers:o.cdnUrlModifiers,fileName:(a=i!=null?i:o.filename)!=null?a:null,silent:e!=null?e:!1,source:s!=null?s:U.API});return this.getOutputItem(n)});u(this,"addFileFromObject",(t,{silent:e,fileName:i,source:s,fullPath:o}={})=>{let n=this._uploadCollection.add({file:t,isImage:xo(t),mimeType:t.type,fileName:i!=null?i:t.name,fileSize:t.size,silent:e!=null?e:!1,source:s!=null?s:U.API,fullPath:o!=null?o:null});return this.getOutputItem(n)});u(this,"removeFileByInternalId",t=>{if(!this._uploadCollection.read(t))throw new Error(`File with internalId ${t} not found`);this._uploadCollection.remove(t)});u(this,"uploadAll",()=>{let t=this._uploadCollection.items().filter(e=>{let i=this._uploadCollection.read(e);return i?!i.getValue("isRemoved")&&!i.getValue("isUploading")&&!i.getValue("fileInfo"):!1});t.length!==0&&(this._ctx.$["*uploadTrigger"]=new Set(t),this._ctx.emit(y.COMMON_UPLOAD_START,this.getOutputCollectionState()))});u(this,"openSystemDialog",(t={})=>{var o;let e=ve(vi([(o=this.cfg.accept)!=null?o:"",...this.cfg.imgOnly?wt:[]])),i="uploadcare-file-input",s=document.createElement("input");if(s.setAttribute(i,""),ht(s,{opacity:0,height:0,width:0,visibility:"hidden",position:"absolute",top:0,left:0}),s.type="file",s.multiple=this.cfg.multiple,t.captureCamera){s.capture=this.cfg.cameraCapture;let{isPhotoEnabled:n,isVideoRecordingEnabled:a}=Lr(this.cfg);t.modeCamera===S.PHOTO&&n?s.accept=yt:t.modeCamera===S.VIDEO&&a?s.accept=Pr:s.accept=[yt,a&&Pr].filter(Boolean).join(",")}else s.accept=e;s.addEventListener("change",()=>{s.files&&([...s.files].forEach(n=>this.addFileFromObject(n,{source:t.captureCamera?U.CAMERA:U.LOCAL})),this._ctx.modalManager.open(g.activities.UPLOAD_LIST),this._ctx.$["*currentActivity"]=g.activities.UPLOAD_LIST,s.remove())},{once:!0}),document.querySelectorAll(`[${i}]`).forEach(n=>n.remove()),document.body.appendChild(s),s.dispatchEvent(new MouseEvent("click"))});u(this,"initFlow",(t=!1)=>{var e,i,s,o;if(this._uploadCollection.size>0&&!t)(e=this._ctx.modalManager)==null||e.open(g.activities.UPLOAD_LIST),this._ctx.set$({"*currentActivity":g.activities.UPLOAD_LIST});else if(((i=this._sourceList)==null?void 0:i.length)===1){let n=this._sourceList[0];if(n==="local"){this._ctx.$["*currentActivity"]=g.activities.UPLOAD_LIST,this.openSystemDialog();return}if(n==="camera"&&Be.htmlMediaCapture){let{isPhotoEnabled:h,isVideoRecordingEnabled:d}=Lr(this.cfg);if(h&&d){this._ctx.set$({"*currentActivity":g.activities.START_FROM});return}else if(h||d){this.openSystemDialog({captureCamera:!0,modeCamera:h?S.PHOTO:S.VIDEO});return}else this.openSystemDialog({captureCamera:!0,modeCamera:S.PHOTO})}let a=this._ctx.$["*blocksRegistry"],l=h=>"type"in h&&h.type===n,c=[...a].find(l);c==null||c.activate(),this._ctx.$["*currentActivity"]&&((s=this._ctx.modalManager)==null||s.open(this._ctx.$["*currentActivity"]))}else(o=this._ctx.modalManager)==null||o.open(g.activities.START_FROM),this._ctx.set$({"*currentActivity":g.activities.START_FROM})});u(this,"doneFlow",()=>{this._ctx.set$({"*currentActivity":this._ctx.doneActivity,"*history":this._ctx.doneActivity?[this._ctx.doneActivity]:[]}),this._ctx.$["*currentActivity"]||this._ctx.modalManager.closeAll()});u(this,"setCurrentActivity",(t,e=void 0)=>{if(this._ctx.hasBlockInCtx(i=>i.activityType===t)){this._ctx.set$({"*currentActivityParams":e!=null?e:{},"*currentActivity":t});return}console.warn(`Activity type "${t}" not found in the context`)});u(this,"getCurrentActivity",()=>this._ctx.$["*currentActivity"]);u(this,"setModalState",t=>{var e,i;if(t&&!this._ctx.$["*currentActivity"]){console.warn(`Can't open modal without current activity. Please use "setCurrentActivity" method first.`);return}t?(e=this._ctx.modalManager)==null||e.open(this._ctx.$["*currentActivity"]):((i=this._ctx.modalManager)==null||i.close(this._ctx.$["*currentActivity"]),this._ctx.$["*currentActivity"]=null)});this._ctx=t}get _uploadCollection(){return this._ctx.uploadCollection}get cfg(){return this._ctx.cfg}get l10n(){return this._ctx.l10n.bind(this._ctx)}removeAllFiles(){this._uploadCollection.clearAll()}getOutputItem(t){var n,a,l,c,h,d,p,f,m,b;let e=T.getCtx(t).store,i=e.fileInfo,s=e.isRemoved?"removed":e.errors.length>0?"failed":e.fileInfo?"success":e.isUploading?"uploading":"idle";return{uuid:(a=(n=i==null?void 0:i.uuid)!=null?n:e.uuid)!=null?a:null,internalId:t,name:(l=i==null?void 0:i.originalFilename)!=null?l:e.fileName,size:(c=i==null?void 0:i.size)!=null?c:e.fileSize,isImage:(h=i==null?void 0:i.isImage)!=null?h:e.isImage,mimeType:(d=i==null?void 0:i.mimeType)!=null?d:e.mimeType,file:e.file,externalUrl:e.externalUrl,cdnUrlModifiers:e.cdnUrlModifiers,cdnUrl:(f=(p=e.cdnUrl)!=null?p:i==null?void 0:i.cdnUrl)!=null?f:null,fullPath:e.fullPath,uploadProgress:e.uploadProgress,fileInfo:i!=null?i:null,metadata:(b=(m=e.metadata)!=null?m:i==null?void 0:i.metadata)!=null?b:null,isSuccess:s==="success",isUploading:s==="uploading",isFailed:s==="failed",isRemoved:s==="removed",errors:e.errors,status:s,source:e==null?void 0:e.source}}getOutputCollectionState(){return Oo(this._ctx)}get _sourceList(){let t=[];return this.cfg.sourceList&&(t=D(this.cfg.sourceList)),t}};var Dr=(r,t)=>{let e=t.cfg.imgOnly,i=r.isImage;if(!(!e||i)&&!(!r.fileInfo&&r.externalUrl)&&!(!r.fileInfo&&!r.mimeType))return{type:"NOT_AN_IMAGE",message:t.l10n("images-only-accepted"),payload:{entry:r}}};var Fr=(r,t)=>{let e=t.cfg.imgOnly,i=t.cfg.accept,s=vi([...e?wt:[],i]);if(!s.length)return;let o=r.mimeType,n=r.name;if(!o||!n)return;let a=Rr(o,s),l=Ao(n,s);if(!a&&!l)return{type:"FORBIDDEN_FILE_TYPE",message:t.l10n("file-type-not-allowed"),payload:{entry:r}}};var he=1e3,ze=Object.freeze({AUTO:"auto",BYTE:"byte",KB:"kb",MB:"mb",GB:"gb",TB:"tb",PB:"pb"}),Ct=r=>Math.ceil(r*100)/100,ko=(r,t=ze.AUTO)=>{let e=t===ze.AUTO;if(t===ze.BYTE||e&&r<he**1){let i=ei("en-US",r),s={one:"byte",other:"bytes"}[i];return`${r} ${s}`}return t===ze.KB||e&&r<he**2?`${Ct(r/he**1)} KB`:t===ze.MB||e&&r<he**3?`${Ct(r/he**2)} MB`:t===ze.GB||e&&r<he**4?`${Ct(r/he**3)} GB`:t===ze.TB||e&&r<he**5?`${Ct(r/he**4)} TB`:`${Ct(r/he**5)} PB`};var Nr=(r,t)=>{let e=t.cfg.maxLocalFileSizeBytes,i=r.size;if(e&&i&&i>e)return{type:"FILE_SIZE_EXCEEDED",message:t.l10n("files-max-size-limit-error",{maxFileSize:ko(e)}),payload:{entry:r}}};var Vr=(r,t)=>{let{internalId:e}=r,i=t._uploadCollection.read(e),s=i==null?void 0:i.getValue("uploadError");if(!s)return;if(s instanceof z)return{type:"UPLOAD_ERROR",message:s.message,payload:{entry:r,error:s}};if(s instanceof Xe)return{type:"NETWORK_ERROR",message:s.message,payload:{entry:r,error:s}};let o=s instanceof Error?s:new Error("Unknown error",{cause:s});return{type:"UNKNOWN_ERROR",message:o.message,payload:{entry:r,error:o}}};var Br=(r,t)=>{if(r.failedCount>0)return{type:"SOME_FILES_HAS_ERRORS",message:t.l10n("some-files-were-not-uploaded")}};var zr=(r,t)=>{let e=r.totalCount,i=t.cfg.multiple?t.cfg.multipleMin:0,s=t.cfg.multiple?t.cfg.multipleMax:1;if(i&&e<i)return{type:"TOO_FEW_FILES",message:t.l10n("files-count-limit-error-too-few",{min:i,max:s,total:e}),payload:{total:e,min:i,max:s}};if(s&&e>s)return{type:"TOO_MANY_FILES",message:t.l10n("files-count-limit-error-too-many",{min:i,max:s,total:e}),payload:{total:e,min:i,max:s}}};var et={file:"File validator execution has failed",collection:"Collection validator execution has failed",message:"Missing message. We recommend adding message: value."},Ci=class{constructor(t){u(this,"_blockInstance");u(this,"_fileValidators",[Dr,Fr,Nr,Vr]);u(this,"_collectionValidators",[zr,Br]);this._blockInstance=t,this._uploadCollection=this._blockInstance.uploadCollection;let e=()=>{this.runFileValidators(),this.runCollectionValidators()};this._blockInstance.subConfigValue("maxLocalFileSizeBytes",e),this._blockInstance.subConfigValue("multipleMin",e),this._blockInstance.subConfigValue("multipleMax",e),this._blockInstance.subConfigValue("multiple",e),this._blockInstance.subConfigValue("imgOnly",e),this._blockInstance.subConfigValue("accept",e)}runFileValidators(t){let e=t!=null?t:this._uploadCollection.items();for(let i of e){let s=this._uploadCollection.read(i);s&&this._runFileValidatorsForEntry(s)}}runCollectionValidators(){let t=this._blockInstance.api.getOutputCollectionState(),e=[];for(let i of[...this._collectionValidators,...this._addCustomTypeToValidators(this._blockInstance.cfg.collectionValidators)])try{let s=i(t,this._blockInstance.api);if(!s)continue;s&&(e.push(s),s.message||console.warn(et.message))}catch(s){console.warn(et.collection,s),this._blockInstance.telemetryManager.sendEventError(s,`collection validator. ${et.collection}`)}this._blockInstance.$["*collectionErrors"]=e,e.length>0&&this._blockInstance.emit(y.COMMON_UPLOAD_FAILED,()=>this._blockInstance.api.getOutputCollectionState(),{debounce:!0})}_runFileValidatorsForEntry(t){let e=this._blockInstance.api.getOutputItem(t.uid),i=[];for(let s of[...this._fileValidators,...this._addCustomTypeToValidators(this._blockInstance.cfg.fileValidators)])try{let o=s(e,this._blockInstance.api);if(!o)continue;o&&(i.push(o),o.message||console.warn(et.message))}catch(o){console.warn(et.file,o),this._blockInstance.telemetryManager.sendEventError(o,`file validator. ${et.file}`)}t.setValue("errors",i)}_addCustomTypeToValidators(t){return t.map(e=>(...i)=>{let s=e(...i);return s?{...s,type:"CUSTOM_ERROR"}:void 0})}};var $o=Object.freeze({file:Object.freeze({type:File,value:null,nullable:!0}),externalUrl:Object.freeze({type:String,value:null,nullable:!0}),fileName:Object.freeze({type:String,value:null,nullable:!0}),fileSize:Object.freeze({type:Number,value:null,nullable:!0}),lastModified:Object.freeze({type:Number,value:Date.now()}),uploadProgress:Object.freeze({type:Number,value:0}),uuid:Object.freeze({type:String,value:null,nullable:!0}),isImage:Object.freeze({type:Boolean,value:!1}),mimeType:Object.freeze({type:String,value:null,nullable:!0}),ctxName:Object.freeze({type:String,value:null,nullable:!0}),cdnUrl:Object.freeze({type:String,value:null,nullable:!0}),cdnUrlModifiers:Object.freeze({type:String,value:null,nullable:!0}),fileInfo:Object.freeze({type:Ce,value:null,nullable:!0}),isUploading:Object.freeze({type:Boolean,value:!1}),abortController:Object.freeze({type:AbortController,value:null,nullable:!0}),thumbUrl:Object.freeze({type:String,value:null,nullable:!0}),silent:Object.freeze({type:Boolean,value:!1}),source:Object.freeze({type:String,value:null,nullable:!0}),fullPath:Object.freeze({type:String,value:null,nullable:!0}),metadata:Object.freeze({type:Object,value:null,nullable:!0}),errors:Object.freeze({type:Array,value:[]}),uploadError:Object.freeze({type:Error,value:null,nullable:!0}),isRemoved:Object.freeze({type:Boolean,value:!1}),isQueued:Object.freeze({type:Boolean,value:!1})});var k=class r extends g{constructor(){super(...arguments);u(this,"couldBeCtxOwner",!1);u(this,"isCtxOwner",!1);u(this,"init$",ai(this));u(this,"_flushOutputItems",M(async()=>{if(this.getOutputData().length!==this.uploadCollection.size)return;let i=this.api.getOutputCollectionState();this.$["*collectionState"]=i,this.emit(y.CHANGE,()=>this.api.getOutputCollectionState(),{debounce:!0}),this.cfg.groupOutput&&i.totalCount>0&&i.status==="success"&&this._createGroup(i)},300));u(this,"_handleCollectionUpdate",(e,i,s)=>{var o;(i.size||s.size)&&(this.$["*groupInfo"]=null),this.validationManager.runFileValidators(),this.validationManager.runCollectionValidators();for(let n of i)n.getValue("silent")||this.emit(y.FILE_ADDED,this.api.getOutputItem(n.uid));for(let n of s){this.$["*uploadTrigger"].delete(n.uid),(o=n.getValue("abortController"))==null||o.abort(),n.setMultipleValues({isRemoved:!0,abortController:null,isUploading:!1,uploadProgress:0});let a=n==null?void 0:n.getValue("thumbUrl");a&&URL.revokeObjectURL(a),this.emit(y.FILE_REMOVED,this.api.getOutputItem(n.uid))}this.$["*uploadList"]=e.map(n=>({uid:n})),this._flushCommonUploadProgress(),this._flushOutputItems()});u(this,"_handleCollectionPropertiesUpdate",e=>{this._flushOutputItems();let i=this.uploadCollection,s=[...new Set(Object.entries(e).filter(([o])=>["uploadError","fileInfo"].includes(o)).map(([,o])=>[...o]).flat())];if(s.length>0&&setTimeout(()=>{this.validationManager.runFileValidators(s)}),e.uploadProgress){for(let o of e.uploadProgress){let{isUploading:n,silent:a}=T.getCtx(o).store;n&&!a&&this.emit(y.FILE_UPLOAD_PROGRESS,this.api.getOutputItem(o))}this._flushCommonUploadProgress()}if(e.isUploading)for(let o of e.isUploading){let{isUploading:n,silent:a}=T.getCtx(o).store;n&&!a&&this.emit(y.FILE_UPLOAD_START,this.api.getOutputItem(o))}if(e.fileInfo){for(let o of e.fileInfo){let{fileInfo:n,silent:a}=T.getCtx(o).store;n&&!a&&this.emit(y.FILE_UPLOAD_SUCCESS,this.api.getOutputItem(o))}this.cfg.cropPreset&&this.setInitialCrop(),this.cfg.cloudImageEditorAutoOpen&&this.openCloudImageEditor()}if(e.errors){for(let a of e.errors){let{errors:l}=T.getCtx(a).store;l.length>0&&(this.emit(y.FILE_UPLOAD_FAILED,this.api.getOutputItem(a)),this.emit(y.COMMON_UPLOAD_FAILED,()=>this.api.getOutputCollectionState(),{debounce:!0}))}let o=i.findItems(a=>!!a.getValue("fileInfo")),n=i.findItems(a=>a.getValue("errors").length>0);i.size>0&&n.length===0&&i.size===o.length&&this.$["*collectionErrors"].length===0&&this.emit(y.COMMON_UPLOAD_SUCCESS,this.api.getOutputCollectionState())}e.cdnUrl&&([...e.cdnUrl].filter(n=>{var a;return!!((a=this.uploadCollection.read(n))!=null&&a.getValue("cdnUrl"))}).forEach(n=>{this.emit(y.FILE_URL_CHANGED,this.api.getOutputItem(n))}),this.$["*groupInfo"]=null)});u(this,"_flushCommonUploadProgress",()=>{let e=0,s=[...this.$["*uploadTrigger"]].filter(n=>!!this.uploadCollection.read(n));s.forEach(n=>{let a=this.uploadCollection.readProp(n,"uploadProgress");typeof a=="number"&&(e+=a)});let o=s.length?Math.round(e/s.length):0;this.$["*commonProgress"]!==o&&(this.$["*commonProgress"]=o,this.emit(y.COMMON_UPLOAD_PROGRESS,this.api.getOutputCollectionState()))})}get hasCtxOwner(){return this.hasBlockInCtx(e=>e instanceof r?e.isCtxOwner&&e.isConnected&&e!==this:!1)}initCallback(){if(super.initCallback(),!this.has("*uploadCollection")){let e=new _i({typedSchema:$o,watchList:["uploadProgress","uploadError","fileInfo","errors","cdnUrl","isUploading"]});this.add("*uploadCollection",e)}this.has("*publicApi")||this.add("*publicApi",new wi(this)),this.has("*validationManager")||this.add("*validationManager",new Ci(this)),!this.hasCtxOwner&&this.couldBeCtxOwner&&this._initCtxOwner()}get validationManager(){if(!this.has("*validationManager"))throw new Error("Unexpected error: ValidationManager is not initialized");return this.$["*validationManager"]}get api(){if(!this.has("*publicApi"))throw new Error("Unexpected error: UploaderPublicApi is not initialized");return this.$["*publicApi"]}getAPI(){return this.api}get uploadCollection(){if(!this.has("*uploadCollection"))throw new Error("Unexpected error: TypedCollection is not initialized");return this.$["*uploadCollection"]}destroyCtxCallback(){this.uploadCollection.destroy(),this.$["*uploadCollection"]=null,super.destroyCtxCallback()}disconnectedCallback(){super.disconnectedCallback(),this.isCtxOwner&&this._unobserveUploadCollection()}connectedCallback(){super.connectedCallback(),this.isCtxOwner&&this._observeUploadCollection()}destroyCallback(){super.destroyCallback(),this._flushOutputItems.cancel()}_initCtxOwner(){this.isCtxOwner=!0,this._observeUploadCollection(),this.subConfigValue("maxConcurrentRequests",e=>{this.$["*uploadQueue"].concurrency=Number(e)||1}),this.$["*secureUploadsManager"]||(this.$["*secureUploadsManager"]=new gi(this))}_observeUploadCollection(){this._unobserveUploadCollection(),this._unobserveCollection=this.uploadCollection.observeCollection(this._handleCollectionUpdate),this._unobserveCollectionProperties=this.uploadCollection.observeProperties(this._handleCollectionPropertiesUpdate)}_unobserveUploadCollection(){var e,i;(e=this._unobserveCollectionProperties)==null||e.call(this),(i=this._unobserveCollection)==null||i.call(this),this._unobserveCollectionProperties=void 0,this._unobserveCollection=void 0}async _createGroup(e){let i=await this.getUploadClientOptions(),s=e.allEntries.map(l=>l.uuid+(l.cdnUrlModifiers?`/${l.cdnUrlModifiers}`:"")),o=new AbortController,n=await qs(s,{...i,signal:o.signal});if(this.$["*collectionState"]!==e){o.abort();return}this.$["*groupInfo"]=n;let a=this.api.getOutputCollectionState();this.emit(y.GROUP_CREATED,a),this.emit(y.CHANGE,()=>this.api.getOutputCollectionState(),{debounce:!0}),this.$["*collectionState"]=a}openCloudImageEditor(){let[e]=this.uploadCollection.findItems(i=>!!i.getValue("fileInfo")&&i.getValue("isImage")).map(i=>this.uploadCollection.read(i));e&&this.uploadCollection.size===1&&this.cfg.useCloudImageEditor&&this.hasBlockInCtx(i=>i.activityType===g.activities.CLOUD_IMG_EDIT)&&(this.$["*currentActivityParams"]={internalId:e.uid},this.$["*currentActivity"]=g.activities.CLOUD_IMG_EDIT,this.modalManager.open(g.activities.CLOUD_IMG_EDIT))}setInitialCrop(){let e=mi(this.cfg.cropPreset);if(e){let[i]=e,s=this.uploadCollection.findItems(o=>{var n;return!!o.getValue("fileInfo")&&o.getValue("isImage")&&!((n=o.getValue("cdnUrlModifiers"))!=null&&n.includes("/crop/"))}).map(o=>this.uploadCollection.read(o)).filter(Boolean);for(let o of s){let n=o.getValue("fileInfo");if(!n||!n.imageInfo){console.warn("Failed to get image info for entry",o.uid);continue}let{width:a,height:l}=n.imageInfo,c=typeof(i==null?void 0:i.width)=="number"&&typeof(i==null?void 0:i.height)=="number"&&i.width>0&&i.height>0?i.width/i.height:1,h=bo(a,l,c),d=B(`crop/${h.width}x${h.height}/${h.x},${h.y}`,"preview"),p=o.getValue("cdnUrl");if(!p){console.warn("Failed to get cdnUrl for entry",o.uid);continue}o.setMultipleValues({cdnUrlModifiers:d,cdnUrl:R(p,d)}),this.uploadCollection.size===1&&this.cfg.useCloudImageEditor&&this.hasBlockInCtx(f=>f.activityType===g.activities.CLOUD_IMG_EDIT)&&(this.$["*currentActivityParams"]={internalId:o.uid},this.$["*currentActivity"]=g.activities.CLOUD_IMG_EDIT,this.modalManager.open(g.activities.CLOUD_IMG_EDIT))}}}async getMetadataFor(e){let i=this.cfg.metadata||void 0;if(typeof i=="function"){let s=this.api.getOutputItem(e);return await i(s)}return i}async getUploadClientOptions(){let i=await this.$["*secureUploadsManager"].getSecureToken().catch(()=>null);return{store:this.cfg.store,publicKey:this.cfg.pubkey,baseCDN:this.cfg.cdnCname,baseURL:this.cfg.baseUrl,userAgent:vo,integration:this.cfg.userAgentIntegration,secureSignature:i==null?void 0:i.secureSignature,secureExpire:i==null?void 0:i.secureExpire,retryThrottledRequestMaxTimes:this.cfg.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:this.cfg.retryNetworkErrorMaxTimes,multipartMinFileSize:this.cfg.multipartMinFileSize,multipartChunkSize:this.cfg.multipartChunkSize,maxConcurrentRequests:this.cfg.multipartMaxConcurrentRequests,multipartMaxAttempts:this.cfg.multipartMaxAttempts,checkForUrlDuplicates:!!this.cfg.checkForUrlDuplicates,saveUrlForRecurrentUploads:!!this.cfg.saveUrlForRecurrentUploads}}getOutputData(){return this.uploadCollection.items().map(s=>this.api.getOutputItem(s))}};k.extSrcList=Object.freeze({...de});k.sourceTypes=Object.freeze({...U});var Et=r=>{var t;return(t=r.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g))==null?void 0:t.map(e=>e.toLowerCase()).join("-")};var L=r=>String(r),J=r=>{let t=Number(r);if(Number.isNaN(t))throw new Error(`Invalid number: "${r}"`);return t},O=r=>{if(typeof r=="undefined"||r===null)return!1;if(typeof r=="boolean")return r;if(r==="true"||r==="")return!0;if(r==="false")return!1;throw new Error(`Invalid boolean: "${r}"`)},Mo=r=>r==="auto"?r:O(r),Lo=r=>{let t=L(r);if(t!=="user"&&t!=="environment"&&t!=="")throw new Error(`Invalid value: "${t}"`);return t},Uo=r=>{let t=L(r);if(!Object.values(S).includes(t))throw new Error(`Invalid value: "${t}"`);return t},Po=r=>{let t=L(r),e=Z(t);if(e.some(i=>!Object.values(S).includes(i)))throw new Error(`Invalid value: "${JSON.stringify(e)}"`);return t},Ro=r=>{if(typeof r=="object"&&!Array.isArray(r)||typeof r=="function")return r;throw new Error("Invalid metadata value. Must be an object or function.")},Hr=r=>{if(typeof r=="object")return r;throw new Error("Invalid value. Must be an object.")},Ei=r=>{if(typeof r=="function")return r;throw new Error("Invalid value. Must be a function.")},jr=r=>{if(Array.isArray(r))return r;throw new Error("Must be an array.")},Do=r=>{let t=L(r);if(["grid","list"].includes(t))return t;throw new Error(`Invalid value: "${t}"`)};var Ml={pubkey:L,multiple:O,multipleMin:J,multipleMax:J,confirmUpload:O,imgOnly:O,accept:L,externalSourcesPreferredTypes:L,externalSourcesEmbedCss:L,store:Mo,cameraMirror:O,cameraCapture:Lo,sourceList:L,topLevelOrigin:L,maxLocalFileSizeBytes:J,thumbSize:J,showEmptyList:O,useLocalImageEditor:O,useCloudImageEditor:O,cloudImageEditorTabs:L,removeCopyright:O,cropPreset:L,imageShrink:L,modalScrollLock:O,modalBackdropStrokes:O,sourceListWrap:O,remoteTabSessionKey:L,cdnCname:L,cdnCnamePrefixed:L,baseUrl:L,socialBaseUrl:L,secureSignature:L,secureExpire:L,secureDeliveryProxy:L,retryThrottledRequestMaxTimes:J,retryNetworkErrorMaxTimes:J,multipartMinFileSize:J,multipartChunkSize:J,maxConcurrentRequests:J,multipartMaxConcurrentRequests:J,multipartMaxAttempts:J,checkForUrlDuplicates:O,saveUrlForRecurrentUploads:O,groupOutput:O,userAgentIntegration:L,debug:O,localeName:L,metadata:Ro,secureUploadsExpireThreshold:J,localeDefinitionOverride:Hr,secureUploadsSignatureResolver:Ei,secureDeliveryProxyUrlResolver:Ei,iconHrefResolver:Ei,fileValidators:jr,collectionValidators:jr,cameraModes:Po,defaultCameraMode:Uo,enableAudioRecording:O,enableVideoRecording:O,mediaRecorderOptions:Hr,maxVideoRecordingDuration:J,filesViewMode:Do,gridShowFileNames:O,cloudImageEditorAutoOpen:O,cloudImageEditorMaskHref:L,testMode:O,qualityInsights:O},Fo=(r,t)=>{if(!(typeof t=="undefined"||t===null))try{return Ml[r](t)}catch(e){return console.error(`Invalid value for config key "${r}".`,e),ee[r]}};var Ll=[{test:r=>r.accept&&!!r.imgOnly,message:"There could be a mistake.\nBoth `accept` and `imgOnly` parameters are set.\nThe value of `accept` will be concatenated with the internal image mime types list."},{test:r=>r.enableVideoRecording!==null,message:"The `enableVideoRecording` parameter is deprecated and will be removed in the next major release.\nPlease use the `cameraModes` parameter instead."},{test:r=>r.defaultCameraMode!==null,message:"The `defaultCameraMode` parameter is deprecated and will be removed in the next major release.\nPlease use the `cameraModes` parameter instead."}],No=M(r=>{for(let{test:t,message:e}of Ll)t(r)&&yi(e)},0);var Vo=(r,t)=>{let e=new URL(t);return e.hostname=`${r}.${e.hostname}`,e.toString().replace(/\/$/,"")},Ul="0123456789abcdefghijklmnopqrstuvwxyz",Bo=r=>{if(r<=BigInt(0))return"0";let t="";for(;r>BigInt(0);){let e=r%BigInt(36);t=Ul[Number(e)]+t,r=r/BigInt(36)}return t},Gr=(r,t)=>{try{let e=new URL(r),i=new URL(t);return e.hostname.endsWith(i.hostname)}catch{return!1}};var Pl=async r=>{let t=new TextEncoder().encode(r),e=await window.crypto.subtle.digest("SHA-256",t),i=Array.from(new Uint8Array(e)).map(s=>s.toString(16).padStart(2,"0")).join("");return BigInt(`0x${i}`)},Rl=10,Dl=async r=>{let t=await Pl(r);return Bo(t).slice(0,Rl)},zo=async(r,t)=>{let e=await Dl(r);return Vo(e,t)};var Ho=r=>r instanceof Promise||!!(r&&typeof r=="object"&&"then"in r&&typeof r.then=="function");var Fl=[{key:"cameraModes",deps:["enableVideoRecording"],fn:({cameraModes:r,enableVideoRecording:t})=>{if(t===null)return r;let e=Z(r);return t&&!e.includes("video")?e=e.concat("video"):t||(e=e.filter(i=>i!=="video")),ve(e)}},{key:"cameraModes",deps:["defaultCameraMode"],fn:({cameraModes:r,defaultCameraMode:t})=>{if(t===null)return r;let e=Z(r);return e=e.sort((i,s)=>i===t?-1:s===t?1:0),ve(e)}},{key:"cdnCname",deps:["pubkey","cdnCnamePrefixed"],fn:({pubkey:r,cdnCname:t,cdnCnamePrefixed:e})=>r&&(t===pt||Gr(t,e))?zo(r,e):t}],Wr=({key:r,setValue:t,getValue:e})=>{for(let i of Fl)if(i.deps.includes(r)){let s={[i.key]:e(i.key),...i.deps.reduce((n,a)=>({...n,[a]:e(a)}),{})},o=i.fn(s);if(Ho(o)){let n=e(i.key);o.then(a=>{e(i.key)===n&&t(i.key,a)}).catch(a=>{console.error(`Failed to compute value for "${i.key}"`,a)})}else t(i.key,o)}};var Xr=[...new Set(["debug",...Object.keys(ee)])],Nl=["metadata","localeDefinitionOverride","secureUploadsSignatureResolver","secureDeliveryProxyUrlResolver","iconHrefResolver","fileValidators","collectionValidators","mediaRecorderOptions"],Vl=r=>Nl.includes(r),tt=Xr.filter(r=>!Vl(r)),Bl={...Object.fromEntries(tt.map(r=>[Et(r),r])),...Object.fromEntries(tt.map(r=>[r.toLowerCase(),r]))},zl={...Object.fromEntries(tt.map(r=>[Et(r),H(r)])),...Object.fromEntries(tt.map(r=>[r.toLowerCase(),H(r)]))},jo=r=>"__"+r,At=class extends _{constructor(){super();u(this,"requireCtxName",!0);this.init$={...this.init$,...Object.fromEntries(Object.entries(ee).map(([e,i])=>[H(e),i]))}}_flushValueToAttribute(e,i){if(tt.includes(e)){let s=[...new Set([Et(e),e.toLowerCase()])];for(let o of s)typeof i=="undefined"||i===null?this.removeAttribute(o):this.getAttribute(o)!==i.toString()&&this.setAttribute(o,i.toString())}}_flushValueToState(e,i){this.$[H(e)]!==i&&(typeof i=="undefined"||i===null?this.$[H(e)]=ee[e]:this.$[H(e)]=i)}_setValue(e,i){let s=this,o=Fo(e,i),n=jo(e);s[n]!==o&&(this._assertSameValueDifferentReference(e,s[n],o),s[n]=o,this._flushValueToAttribute(e,o),this._flushValueToState(e,o),this.debugPrint(`[uc-config] "${e}"`,o),No(this.cfg),Wr({key:e,setValue:this._setValue.bind(this),getValue:this._getValue.bind(this)}))}_getValue(e){var o;let i=this,s=jo(e);return(o=i[s])!=null?o:this.$[H(e)]}_assertSameValueDifferentReference(e,i,s){this.cfg.debug&&s!==i&&typeof s=="object"&&typeof i=="object"&&JSON.stringify(s)===JSON.stringify(i)&&(console.warn(`[uc-config] Option "${e}" value is the same as the previous one but the reference is different`),console.warn("[uc-config] You should avoid changing the reference of the object to prevent unnecessary calculations"),console.warn(`[uc-config] "${e}" previous value:`,i),console.warn(`[uc-config] "${e}" new value:`,s))}initCallback(){var i;super.initCallback();let e=this;for(let s of tt)this.sub(H(s),o=>{this._setValue(s,o)},!1);for(let s of Xr){let o=(i=e[s])!=null?i:this.$[H(s)];o!==ee[s]&&this._setValue(s,o),Object.defineProperty(this,s,{set:n=>{this._setValue(s,n)},get:()=>this._getValue(s)}),Wr({key:s,setValue:this._setValue.bind(this),getValue:this._getValue.bind(this)})}}attributeChangedCallback(e,i,s){if(i===s)return;let o=this,n=Bl[e];o[n]=s}};At.bindAttributes(zl);for(let r of Xr)At.prototype[r]=void 0;var Hl=At;var xt=class extends _{constructor(){super(),this.init$={...this.init$,name:"",href:""}}initCallback(){super.initCallback(),this.sub("name",t=>{if(!t)return;let e=`#uc-icon-${t}`;this.subConfigValue("iconHrefResolver",i=>{if(i){let s=i(t);e=s!=null?s:e}this.$.href=e})}),this.setAttribute("aria-hidden","true")}};xt.template=`<svg ref="svg" xmlns="http://www.w3.org/2000/svg"><use set="@href: href;"></use></svg>`;xt.bindAttributes({name:"name"});var Go=r=>[...new Set(r)];var Wo=r=>Object.entries(r).filter(([t,e])=>e!==void 0&&e!=="").map(([t,e])=>t==="cdn-operations"||t==="analytics"?e:`${t}/${e}`);var jl="https://ucarecdn.com",Tt=Object.freeze({"dev-mode":{},pubkey:{},uuid:{},src:{},lazy:{default:1},intersection:{},breakpoints:{},"cdn-cname":{default:jl},"proxy-cname":{},"secure-delivery-proxy":{},"hi-res-support":{default:1},"ultra-res-support":{},format:{},"cdn-operations":{},progressive:{},quality:{},"is-background-for":{},"is-preview-blur":{default:1}});var it="--uc-img-",qr="unresolved";var Kr=!window.location.host.trim()||window.location.host.includes(":")||window.location.hostname.includes("localhost"),Zr=3e3,Yr=5e3,Jr=Object.freeze({PREVIEW:"PREVIEW",MAIN:"MAIN"});var qo=Object.create(null),Xo;for(let r in Tt)qo[it+r]=((Xo=Tt[r])==null?void 0:Xo.default)||"";var Ai=class extends Se{constructor(){super(...arguments);u(this,"cssInit$",qo)}$$(e){return this.$[it+e]}set$$(e){for(let i in e)this.$[it+i]=e[i]}sub$$(e,i){this.sub(it+e,s=>{s===null||s===""||i(s)})}analyticsParams(){return`-/@clib/${Le}/${Ue}/uc-img/`}initAttributes(e){[...this.attributes].forEach(i=>{Tt[i.name]||e.setAttribute(i.name,i.value)})}initIntersection(e,i){let s={root:null,rootMargin:"0px"};this._isnObserver=new IntersectionObserver(o=>{o.forEach(n=>{n.isIntersecting&&(i(),this._isnObserver.unobserve(e))})},s),this._isnObserver.observe(e),this._observed||(this._observed=new Set),this._observed.add(e)}destroyCallback(){super.destroyCallback(),this._isnObserver&&(this._observed.forEach(e=>{this._isnObserver.unobserve(e)}),this._isnObserver=null),T.deleteCtx(this)}static get observedAttributes(){return Object.keys(Tt)}attributeChangedCallback(e,i,s){window.setTimeout(()=>{this.$[it+e]=s})}};var Si=class extends Ai{constructor(){super(...arguments);u(this,"_img",new Image);u(this,"_imgPreview",new Image)}_fmtAbs(e){return!e.includes("//")&&!Kr&&(e=new URL(e,document.baseURI).href),e}_validateSize(e){if((e==null?void 0:e.trim())!==""){let i=e.match(/\d+/)[0],s=e.match(/[a-zA-Z]+/)[0],o=parseInt(i,10);if(Number(o)>Yr&&this.hasFormatJPG)return Yr+s;if(Number(o)>Zr&&!this.hasFormatJPG)return Zr+s}return e}_getCdnModifiers(e,i){let s={format:this.$$("format"),quality:this.$$("quality"),resize:this._validateSize(e),blur:i,"cdn-operations":this.$$("cdn-operations"),analytics:this.analyticsParams()};return B(...Wo(s))}_getUrlBase(e="",i=""){if(this.$$("src").startsWith("data:")||this.$$("src").startsWith("blob:"))return this.$$("src");if(Kr&&this.$$("src")&&!this.$$("src").includes("//"))return this._proxyUrl(this.$$("src"));let s=this._getCdnModifiers(e,i);if(this.$$("src").startsWith(this.$$("cdn-cname")))return R(this.$$("src"),s);if(this.$$("cdn-cname")&&this.$$("uuid"))return this._proxyUrl(R(Ie(this.$$("cdn-cname"),this.$$("uuid")),s));if(this.$$("uuid"))return this._proxyUrl(R(Ie(this.$$("cdn-cname"),this.$$("uuid")),s));if(this.$$("proxy-cname"))return this._proxyUrl(R(this.$$("proxy-cname"),s,this._fmtAbs(this.$$("src"))));if(this.$$("pubkey"))return this._proxyUrl(R(`https://${this.$$("pubkey")}.ucr.io/`,s,this._fmtAbs(this.$$("src"))))}_proxyUrl(e){return this.$$("secure-delivery-proxy")?ft(this.$$("secure-delivery-proxy"),{previewUrl:e},{transform:s=>window.encodeURIComponent(s)}):e}_getElSize(e,i=1,s=!0){let o=e.getBoundingClientRect(),n=i*Math.round(o.width),a=s?"":i*Math.round(o.height);return n||a?`${n||""}x${a||""}`:null}_setupEventProxy(e){let i=o=>{o.stopPropagation();let n=new Event(o.type,o);this.dispatchEvent(n)},s=["load","error"];for(let o of s)e.addEventListener(o,i)}get img(){return this.hasPreviewImage||(this._setupConfigForImage({elNode:this._img}),this.appendChild(this._img)),this._img}get currentImg(){return this.hasPreviewImage?{type:Jr.PREVIEW,img:this._imgPreview}:{type:Jr.MAIN,img:this.img}}get hasPreviewImage(){return this.$$("is-preview-blur")}get bgSelector(){return this.$$("is-background-for")}get breakpoints(){if(this.$$("breakpoints")){let e=D(this.$$("breakpoints"));return Go(e.map(i=>parseInt(i,10)))}else return null}get hasFormatJPG(){return this.$$("format").toLowerCase()==="jpeg"}renderBg(e){let i=new Set;i.add(`url("${this._getUrlBase(this._getElSize(e))}") 1x`),this.$$("hi-res-support")&&i.add(`url("${this._getUrlBase(this._getElSize(e,2))}") ${2}x`),this.$$("ultra-res-support")&&i.add(`url("${this._getUrlBase(this._getElSize(e,3))}") ${3}x`);let s=`image-set(${[...i].join(", ")})`;e.style.setProperty("background-image",s),e.style.setProperty("background-image","-webkit-"+s)}getSrcset(){let e=new Set;return this.breakpoints?this.breakpoints.forEach(i=>{e.add(this._getUrlBase(i+"x")+` ${this._validateSize(i+"w")}`),this.$$("hi-res-support")&&e.add(this._getUrlBase(i*2+"x")+` ${this._validateSize(i*2+"w")}`),this.$$("ultra-res-support")&&e.add(this._getUrlBase(i*3+"x")+` ${this._validateSize(i*3+"w")}`)}):(e.add(this._getUrlBase(this._getElSize(this.currentImg.img))+" 1x"),this.$$("hi-res-support")&&e.add(this._getUrlBase(this._getElSize(this.currentImg.img,2))+" 2x"),this.$$("ultra-res-support")&&e.add(this._getUrlBase(this._getElSize(this.currentImg.img,3))+" 3x")),[...e].join()}getSrc(){return this._getUrlBase()}get srcUrlPreview(){return this._getUrlBase("100x","100")}renderBackground(){[...document.querySelectorAll(this.bgSelector)].forEach(e=>{this.$$("intersection")?this.initIntersection(e,()=>{this.renderBg(e)}):this.renderBg(e)})}_appendURL({elNode:e,src:i,srcset:s}){i&&(e.src=i),s&&(e.srcset=s)}_setupConfigForImage({elNode:e}){this._setupEventProxy(e),this.initAttributes(e)}loaderImage({src:e,srcset:i,elNode:s}){return new Promise((o,n)=>{this._setupConfigForImage({elNode:s}),s.setAttribute(qr,""),s.addEventListener("load",()=>{s.removeAttribute(qr),o(s)}),s.addEventListener("error",()=>{n(!1)}),this._appendURL({elNode:s,src:e,srcset:i})})}async renderImage(){var e,i;if(this.$$("intersection")){this.hasPreviewImage&&(this._setupConfigForImage({elNode:this._imgPreview}),this.appendChild(this._imgPreview)),this.initIntersection(this.currentImg.img,async()=>{var s;this.hasPreviewImage&&(this._imgPreview.src=this.srcUrlPreview);try{await this.loaderImage({src:this.getSrc(),srcset:this.getSrcset(),elNode:this._img}),this.hasPreviewImage&&await this._imgPreview.remove(),this.appendChild(this._img)}catch{this.hasPreviewImage&&await((s=this._imgPreview)==null?void 0:s.remove()),this.appendChild(this._img)}});return}try{this.hasPreviewImage&&(await this.loaderImage({src:this.srcUrlPreview,elNode:this._imgPreview}),this.appendChild(this._imgPreview)),await this.loaderImage({src:this.getSrc(),srcset:this.getSrcset(),elNode:this._img}),this.hasPreviewImage&&await((e=this._imgPreview)==null?void 0:e.remove()),this.appendChild(this._img)}catch{this.hasPreviewImage&&await((i=this._imgPreview)==null?void 0:i.remove()),this.appendChild(this._img)}}init(){this.bgSelector?this.renderBackground():this.renderImage()}};var Qr=class extends Si{initCallback(){super.initCallback(),this.sub$$("src",()=>{this.init()}),this.sub$$("uuid",()=>{this.init()}),this.sub$$("lazy",t=>{!this.$$("is-background-for")&&!this.$$("is-preview-blur")&&(this.img.loading=t?"lazy":"eager")})}};var St=class St extends k{constructor(){super();u(this,"couldBeCtxOwner",!0);this.init$={...this.init$,withDropZone:!0,onClick:()=>{this.api.initFlow()},"button-text":""}}initCallback(){super.initCallback(),this.defineAccessor("dropzone",e=>{typeof e!="undefined"&&(this.$.withDropZone=O(e))}),this.subConfigValue("multiple",e=>{this.$["button-text"]=e?"upload-files":"upload-file"})}};u(St,"styleAttrs",[...q(St,St,"styleAttrs"),"uc-simple-btn"]);var It=St;It.template=`<uc-drop-area set="@disabled: !withDropZone"><button type="button" set="onclick: onClick"><uc-icon name="upload"></uc-icon><span l10n="button-text"></span><slot></slot><div class="uc-visual-drop-area" l10n="drop-files-here"></div></button></uc-drop-area>`;It.bindAttributes({dropzone:null});var Ii=class extends g{constructor(){super(...arguments);u(this,"historyTracked",!0);u(this,"activityType",g.activities.START_FROM)}initCallback(){super.initCallback(),this.registerActivity(this.activityType)}};Ii.template='<div class="uc-content"><slot></slot></div>';function Gl(r){return new Promise(t=>{typeof window.FileReader!="function"&&t(!1);try{let e=new FileReader;e.onerror=()=>{t(!0)};let i=s=>{s.type!=="loadend"&&e.abort(),t(!1)};e.onloadend=i,e.onprogress=i,e.readAsDataURL(r)}catch{t(!1)}})}function Wl(r,t){return new Promise(e=>{let i=0,s=[],o=a=>{a||(console.warn("Unexpectedly received empty content entry",{scope:"drag-and-drop"}),e(null)),a.isFile?(i++,a.file(l=>{i--;let c=new File([l],l.name,{type:l.type||t});s.push({type:"file",file:c,fullPath:a.fullPath}),i===0&&e(s)})):a.isDirectory&&n(a.createReader())},n=a=>{i++,a.readEntries(l=>{i--;for(let c of l)o(c);i===0&&e(s)})};o(r)})}function Ko(r){let t=[],e=[];for(let i=0;i<r.items.length;i++){let s=r.items[i];if(s)if(s.kind==="file"){let o=s.type;if(typeof s.webkitGetAsEntry=="function"||typeof s.getAsEntry=="function"){let a=typeof s.webkitGetAsEntry=="function"?s.webkitGetAsEntry():s.getAsEntry();e.push(Wl(a,o).then(l=>{l&&t.push(...l)}));continue}let n=s.getAsFile();n&&e.push(Gl(n).then(a=>{a||t.push({type:"file",file:n})}))}else s.kind==="string"&&s.type.match("^text/uri-list")&&e.push(new Promise(o=>{s.getAsString(n=>{t.push({type:"url",url:n}),o(void 0)})}))}return Promise.all(e).then(()=>t)}var G={ACTIVE:0,INACTIVE:1,NEAR:2,OVER:3},Zo=["focus"],Xl=100,es=new Map;function ql(r,t){let e=Math.max(Math.min(r[0],t.x+t.width),t.x),i=Math.max(Math.min(r[1],t.y+t.height),t.y);return Math.sqrt((r[0]-e)*(r[0]-e)+(r[1]-i)*(r[1]-i))}function ts(r){let t=0,e=document.body,i=new Set,s=m=>i.add(m),o=G.INACTIVE,n=m=>{r.shouldIgnore()&&m!==G.INACTIVE||(o!==m&&i.forEach(b=>b(m)),o=m)},a=()=>t>0;s(m=>r.onChange(m));let l=()=>{t=0,n(G.INACTIVE)},c=()=>{t+=1,o===G.INACTIVE&&n(G.ACTIVE)},h=()=>{t-=1,a()||n(G.INACTIVE)},d=m=>{m.preventDefault(),t=0,n(G.INACTIVE)},p=m=>{if(r.shouldIgnore())return;a()||(t+=1);let b=[m.x,m.y],C=r.element.getBoundingClientRect(),v=Math.floor(ql(b,C)),E=v<Xl,w=m.composedPath().includes(r.element);es.set(r.element,v);let P=Math.min(...es.values())===v;w&&P?(m.preventDefault(),n(G.OVER)):n(E&&P?G.NEAR:G.ACTIVE)},f=async m=>{if(r.shouldIgnore())return;m.preventDefault();let b=await Ko(m.dataTransfer);r.onItems(b),n(G.INACTIVE)};return e.addEventListener("drop",d),e.addEventListener("dragleave",h),e.addEventListener("dragenter",c),e.addEventListener("dragover",p),r.element.addEventListener("drop",f),Zo.forEach(m=>{window.addEventListener(m,l)}),()=>{es.delete(r.element),e.removeEventListener("drop",d),e.removeEventListener("dragleave",h),e.removeEventListener("dragenter",c),e.removeEventListener("dragover",p),r.element.removeEventListener("drop",f),Zo.forEach(m=>{window.removeEventListener(m,l)})}}var Yo="uc-drop-area",rt=`${Yo}/registry`,Ot=class Ot extends k{constructor(){super(),this.init$={...this.init$,state:G.INACTIVE,withIcon:!1,isClickable:!1,isFullscreen:!1,isEnabled:!0,isVisible:!0,isInitFlow:!1,text:"",[rt]:null}}isActive(){if(!this.$.isEnabled)return!1;let t=this.getBoundingClientRect(),e=t.width>0&&t.height>0,i=t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth),s=window.getComputedStyle(this),o=s.visibility!=="hidden"&&s.display!=="none";return e&&o&&i}initCallback(){super.initCallback(),this.bindL10n("text",()=>this.l10n("drop-files-here")),this.$[rt]||(this.$[rt]=new Set),this.$[rt].add(this),this.defineAccessor("disabled",e=>{this.set$({isEnabled:!O(e)})}),this.defineAccessor("clickable",e=>{this.set$({isClickable:O(e)})}),this.defineAccessor("initflow",e=>{this.set$({isInitFlow:O(e)})}),this.defineAccessor("with-icon",e=>{this.set$({withIcon:O(e)})}),this.defineAccessor("fullscreen",e=>{this.set$({isFullscreen:O(e)})}),this.defineAccessor("text",e=>{typeof e=="string"?this.bindL10n("text",()=>this.l10n(e)||e):this.bindL10n("text",()=>this.l10n("drop-files-here"))}),this._destroyDropzone=ts({element:this,shouldIgnore:()=>this._shouldIgnore(),onChange:e=>{this.$.state=e},onItems:e=>{e.length&&(e.forEach(i=>{i.type==="url"?this.api.addFileFromUrl(i.url,{source:U.DROP_AREA}):i.type==="file"&&this.api.addFileFromObject(i.file,{source:U.DROP_AREA,fullPath:i.fullPath})}),this.uploadCollection.size&&(this.modalManager.open(g.activities.UPLOAD_LIST),this.set$({"*currentActivity":g.activities.UPLOAD_LIST})))}});let t=this.ref["content-wrapper"];t&&(this._destroyContentWrapperDropzone=ts({element:t,onChange:e=>{var s;let i=(s=Object.entries(G).find(([,o])=>o===e))==null?void 0:s[0].toLowerCase();i&&t.setAttribute("drag-state",i)},onItems:()=>{},shouldIgnore:()=>this._shouldIgnore()})),this.sub("state",e=>{var s;let i=(s=Object.entries(G).find(([,o])=>o===e))==null?void 0:s[0].toLowerCase();i&&this.setAttribute("drag-state",i)}),this.subConfigValue("sourceList",e=>{let i=D(e);this.$.isEnabled=i.includes(U.LOCAL),this.$.isVisible=this.$.isEnabled||!this.querySelector("[data-default-slot]")}),this.sub("isVisible",e=>{this.toggleAttribute("hidden",!e)}),this.sub("isClickable",e=>{this.toggleAttribute("clickable",e)}),this.$.isClickable&&(this._onAreaClicked=e=>{if(e.type==="keydown"){if(e.code==="Space"||e.code==="Enter"){if(this.$.isInitFlow){this.api.initFlow();return}this.api.openSystemDialog()}}else if(e.type==="click"){if(this.$.isInitFlow){this.api.initFlow();return}this.api.openSystemDialog()}},this.addEventListener("keydown",this._onAreaClicked),this.addEventListener("click",this._onAreaClicked))}_shouldIgnore(){return!this.$.isEnabled||!this._couldHandleFiles()?!0:this.$.isFullscreen?[...this.$[rt]].filter(i=>i!==this).filter(i=>i.isActive()).length>0:!1}_couldHandleFiles(){let t=this.cfg.multiple,e=this.cfg.multipleMax,i=this.uploadCollection.size;return!(t&&e&&i>=e||!t&&i>0)}destroyCallback(){var e,i;super.destroyCallback();let t=this.$[rt];t&&(t.delete(this),t.size===0&&T.deleteCtx(Yo)),(e=this._destroyDropzone)==null||e.call(this),(i=this._destroyContentWrapperDropzone)==null||i.call(this),this._onAreaClicked&&(this.removeEventListener("keydown",this._onAreaClicked),this.removeEventListener("click",this._onAreaClicked))}};u(Ot,"styleAttrs",[...q(Ot,Ot,"styleAttrs"),"uc-drop-area"]);var kt=Ot;kt.template=`<slot><div data-default-slot hidden></div><div ref="content-wrapper" class="uc-content-wrapper" set="@hidden: !isVisible"><div class="uc-icon-container" set="@hidden: !withIcon"><uc-icon name="default"></uc-icon><uc-icon name="arrow-down"></uc-icon></div><span class="uc-text">{{text}}</span></div></slot>`;kt.bindAttributes({"with-icon":null,clickable:null,text:null,fullscreen:null,disabled:null,initflow:null});var Kl="src-type-",$t=class extends k{constructor(){super();u(this,"couldBeCtxOwner",!0);u(this,"type");u(this,"_registeredTypes",{});this.init$={...this.init$,iconName:"default","src-type":""}}initTypes(){this.registerType({type:U.LOCAL,activate:()=>(this.api.openSystemDialog(),!1)}),this.registerType({type:U.URL,activity:g.activities.URL,textKey:"from-url"}),this.registerType({type:U.CAMERA,activity:g.activities.CAMERA,activate:()=>{let e=Be.htmlMediaCapture;return e&&this.api.openSystemDialog({captureCamera:!0}),!e}}),this.registerType({type:"draw",activity:g.activities.DRAW,icon:"edit-draw"});for(let e of Object.values(Ur))this.registerType({type:e,activity:g.activities.CAMERA,activate:()=>{let i=Be.htmlMediaCapture;return i&&this.api.openSystemDialog({captureCamera:!0,modeCamera:e==="mobile-photo-camera"?S.PHOTO:S.VIDEO}),!i}});for(let e of Object.values(de))this.registerType({type:e,activity:g.activities.EXTERNAL,activityParams:{externalSourceType:e}})}initCallback(){super.initCallback(),this.initTypes(),this.defineAccessor("type",e=>{e&&this.applyType(e)})}registerType(e){this._registeredTypes[e.type]=e}getType(e){return this._registeredTypes[e]}activate(){if(!this.type)return;let e=this._registeredTypes[this.type],{activity:i,activate:s,activityParams:o={}}=e;(s?s():!!i)&&(this.modalManager.open(i),this.set$({"*currentActivityParams":o,"*currentActivity":i}))}applyType(e){let i=this._registeredTypes[e];if(!i){console.warn("Unsupported source type: "+e);return}let{textKey:s=e,icon:o=e}=i;this.$["src-type"]=`${Kl}${s}`,this.$.iconName=o,this.onclick=()=>{this.activate()}}};$t.template=`<button type="button"><uc-icon set="@name: iconName"></uc-icon><div class="uc-txt" l10n="src-type"></div></button>`;$t.bindAttributes({type:null});var is=class extends _{initCallback(){super.initCallback(),this.subConfigValue("sourceList",t=>{let e=D(t),i="";e.forEach(s=>{if(s==="instagram"){console.error("Instagram source was removed because the Instagram Basic Display API hasn't been available since December 4, 2024. Official statement, see here:https://developers.facebook.com/blog/post/2024/09/04/update-on-instagram-basic-display-api/?locale=en_US");return}if(s==="camera"&&Be.htmlMediaCapture){this.subConfigValue("cameraModes",o=>{let n=Z(o);n.forEach(a=>{i+=`<uc-source-btn role="listitem" type="mobile-${a}-camera"></uc-source-btn>`}),n.length===0&&(i+='<uc-source-btn role="listitem" type="mobile-photo-camera"></uc-source-btn>')});return}i+=`<uc-source-btn role="listitem" type="${s}"></uc-source-btn>`}),this.cfg.sourceListWrap?this.innerHTML=i:this.outerHTML=i})}};var ki=()=>{let r=[];return{stack:r,promiseReadJpegChunks:e=>new Promise((i,s)=>{let o=2,n=(c,h)=>{let d=new FileReader;d.addEventListener("load",()=>{h(new DataView(d.result))}),d.addEventListener("error",p=>{s(`Reader error: ${p}`)}),d.readAsArrayBuffer(c)},a=()=>n(e.slice(o,o+128),c=>{let h,d,p;for(h=d=0,p=c.byteLength;p>=0?d<p:d>p;h=p>=0?++d:--d)if(c.getUint8(h)===255){o+=h;break}l()}),l=()=>{let c=o;return n(e.slice(o,o+=4),h=>{if(h.byteLength!==4||h.getUint8(0)!==255){s("Corrupted");return}let d=h.getUint8(1);if(d===218){i(!0);return}let p=h.getUint16(2)-2;return n(e.slice(o,o+=p),f=>{if(f.byteLength!==p){s("Corrupted");return}r.push({startPos:c,length:p,marker:d,view:f}),a()})})};FileReader&&DataView||s("Not Support"),n(e.slice(0,2),c=>{c.getUint16(0)!==65496&&s("Not jpeg"),a()})})}},Zl=async r=>{let t=[],{promiseReadJpegChunks:e,stack:i}=ki();return await e(r),i.forEach(({marker:s,view:o})=>{s===226&&o.getUint32(0)===1229144927&&o.getUint32(4)===1347571526&&o.getUint32(8)===1229735168&&t.push(o)}),t},Qo=async(r,t,e)=>{{let i=[],s=[],{promiseReadJpegChunks:o,stack:n}=ki();await o(r),n.forEach(c=>{if(c.marker===t)return i.push(c.startPos),s.push(c.length)});let a=[r.slice(0,2)];for(let c of e){let h=new DataView(new ArrayBuffer(4));h.setUint16(0,65280+t),h.setUint16(2,c.byteLength+2),a.push(h.buffer),a.push(c)}let l=2;for(let c=0;c<i.length;c++)i[c]>l&&a.push(r.slice(l,i[c])),l=i[c]+s[c]+4;return a.push(r.slice(l,r.size)),new Blob(a,{type:r.type})}};var en=(r,t)=>Qo(r,226,t.map(e=>e.buffer)),Yl=async r=>{try{return await en(r,[])}catch(t){throw new Error(`Failed to strip ICC profile: ${t}`)}},Jl=(r,t,e)=>new Promise((i,s)=>{let o=n=>{if(!n){s("Failed to convert canvas to blob");return}i(n)};r.toBlob(o,t,e),r.width=r.height=1}),Mt=()=>{let r=document.createElement("canvas"),t=r.getContext("2d");return{canvas:r,ctx:t}},Ql=r=>{let{ctx:e,canvas:i}=Mt();i.width=i.height=50,e.drawImage(r,0,0,50,50);let s=e.getImageData(0,0,50,50).data;i.width=i.height=1;for(let o=3;o<s.length;o+=4)if(s[o]<254)return!0;return!1},ec=async r=>{let t=null,{promiseReadJpegChunks:e,stack:i}=ki();return await e(r),i.forEach(({marker:s,view:o})=>{if(!t&&s===225&&o.byteLength>=14&&o.getUint32(0)===1165519206&&o.getUint16(4)===0){t=o;return}}),t},tc="data:image/jpg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4QA6RXhpZgAATU0AKgAAAAgAAwESAAMAAAABAAYAAAEoAAMAAAABAAIAAAITAAMAAAABAAEAAAAAAAD/2wBDAP//////////////////////////////////////////////////////////////////////////////////////wAALCAABAAIBASIA/8QAJgABAAAAAAAAAAAAAAAAAAAAAxABAAAAAAAAAAAAAAAAAAAAAP/aAAgBAQAAPwBH/9k=",Oi,ic=()=>new Promise(r=>{if(Oi!==void 0)r(Oi);else{let t=new Image;t.addEventListener("load",()=>{Oi=t.naturalWidth<t.naturalHeight,t.src="//:0",r(Oi)}),t.src=tc}}),rc=(r,t)=>{let e,i,s,o;if(!r||r.byteLength<14||r.getUint32(0)!==1165519206||r.getUint16(4)!==0)return;if(r.getUint16(6)===18761)i=!0;else if(r.getUint16(6)===19789)i=!1;else return;if(r.getUint16(8,i)!==42)return;s=8+r.getUint32(10,i);let n=r.getUint16(s-2,i);for(e=0,o=n;o>=0?e<o:e>o;o>=0?++e:--e){if(r.byteLength<s+10)return;r.getUint16(s,i)===274&&t(s+8,i),s+=12}},sc=(r,t)=>{rc(r,(e,i)=>r.setUint16(e,t,i))},oc=async(r,t,e)=>(e&&sc(t,1),Qo(r,225,[t.buffer])),nc=(r,t)=>new Promise((e,i)=>{t&&(r.src=t),r.complete?e(r):(r.addEventListener("load",()=>{e(r)}),r.addEventListener("error",()=>{i(new Error("Failed to load image. Probably not an image."))}))}),ac=r=>nc(new Image,r),lc=[1,3],cc=[192,193,194,195,197,198,199,201,202,203,205,206,207],Jo={squareSide:[Math.floor(Math.sqrt(5*1e3*1e3)),4096,8192,11180,10836,11402,14188,16384],dimension:[4096,8192,16384,32767,65535]},uc=async r=>{let t=!1,{promiseReadJpegChunks:e,stack:i}=ki();return await e(r).then(()=>(i.forEach(({marker:s,view:o})=>{if(!t&&cc.indexOf(s)>=0){let n=o.getUint8(5);lc.indexOf(n)<0&&(t=!0)}}),t)).catch(()=>t)},tn=(r,t)=>{let e={};return(...i)=>{let s=t(i,e);return s in e?e[s]:e[s]=r(...i)}},rn=(r,t)=>{let[e]=r,i=Object.keys(t).map(s=>parseInt(s,10)).sort((s,o)=>s-o);for(let s=0;s<i.length;s++){let o=i[s],n=!!t[o];if(o>e&&n||o<e&&!n)return o}return e},De={R:55,G:110,B:165,A:255},dc=`rgba(${De.R}, ${De.G}, ${De.B}, ${De.A/255})`,sn=(r,t)=>{try{let e=[r-1,t-1,1,1],{canvas:i,ctx:s}=Mt();i.width=1,i.height=1;let{canvas:o,ctx:n}=Mt();o.width=r,o.height=t,n&&(n.fillStyle=dc,n.fillRect(...e),s.drawImage(o,r-1,t-1,1,1,0,0,1,1));let a=s&&s.getImageData(0,0,1,1).data,l=!1;return a&&(l=a[0]===De.R&&a[1]===De.G&&a[2]===De.B&&a[3]===De.A),o.width=o.height=1,l}catch{return console.error(`Failed to test for max canvas size of ${r}x${t}.`),!1}};function on(r){return(...t)=>new Promise(e=>{setTimeout(()=>{let i=r(...t);e(i)},0)})}var hc=on(tn(sn,rn)),pc=on(tn(sn,rn)),nn=async(r,t)=>{let e=Jo.squareSide.find(n=>n*n>=r*t),i=Jo.dimension.find(n=>n>=r&&n>=t);if(!e||!i)throw new Error("Not supported");let[s,o]=await Promise.all([hc(e,e),pc(i,1)]);if(s&&o)return!0;throw new Error("Not supported")},an=async(r,t,e)=>{try{let{ctx:i,canvas:s}=Mt();return s.width=t,s.height=e,i.imageSmoothingQuality="high",i.drawImage(r,0,0,t,e),r instanceof HTMLImageElement&&(r.src="//:0"),r instanceof HTMLCanvasElement&&(r.width=r.height=1),s}catch(i){throw new Error("Canvas resize error",{cause:i})}},fc=({img:r,targetW:t,targetH:e})=>an(r,t,e),mc=function({sourceW:r,targetW:t,targetH:e,step:i}){let s=[],o=t,n=e;do s.push([o,n]),o=Math.round(o/i),n=Math.round(n/i);while(o<r*i);return s.reverse()},gc=({img:r,sourceW:t,targetW:e,targetH:i,step:s})=>{let o=mc({sourceW:t,targetW:e,targetH:i,step:s});return o.reduce((n,[a,l],c)=>n.then(h=>nn(a,l).then(()=>an(h,a,l)).catch(()=>{if(c===o.length-1)throw new Error("Not supported");return h})),Promise.resolve(r))},bc=()=>/iPad|iPhone|iPod/.test(navigator.platform)?!0:navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&/MacIntel/.test(navigator.platform),_c=navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&/MacIntel/.test(navigator.platform),rs=.71,vc=(r,t)=>{if(r.width*rs*r.height*rs<t.size)throw new Error("Not required");let e=r.width,i=r.height,s=e/i,o=Math.floor(Math.sqrt(t.size*s)),n=Math.floor(t.size/Math.sqrt(t.size*s));return nn(o,n).then(()=>{let{ctx:a}=Mt();return"imageSmoothingQuality"in a&&!bc()&&!_c?fc({img:r,targetW:o,targetH:n}):gc({img:r,sourceW:e,targetW:o,targetH:n,step:rs})}).catch(()=>Promise.reject("Not supported"))},ln=async(r,t)=>{try{if(await uc(r))throw new Error("Should skipped");let i=await Promise.allSettled([ec(r),ic(),Zl(r)]),o=!i.some(b=>b.status==="rejected"),[n,a,l]=i,c=await Yl(r).catch(()=>r),h=await ac(URL.createObjectURL(c));URL.revokeObjectURL(h.src);let d=await vc(h,t),p="image/jpeg",f=(t==null?void 0:t.quality)||.8;!o&&Ql(d)&&(p="image/png",f=void 0);let m=await Jl(d,p,f);if(o&&n.status==="fulfilled"&&n.value){let b=n.value,C=a.status==="fulfilled"?a.value:!1;m=await oc(m,b,C)}return o&&l.status==="fulfilled"&&l.value.length>0&&(m=await en(m,l.value)),m}catch(e){let i;throw e instanceof Error&&(i=e.message),typeof e=="string"&&(i=e),new Error(`Failed to shrink image. ${i?`Message: "${i}".`:""}`,{cause:e})}};var yc=/^([0-9]+)x([0-9]+)(?:\s+(\d{1,2}|100)%)?$/i,cn=r=>{let t=yc.exec(r==null?void 0:r.toLocaleLowerCase())||[];if(!t.length)return!1;let e=t[1]*t[2],i=16384*16384;return e>i?(console.warn(`Shrinked size can not be larger than ${Math.floor(i/1e3/1e3)}MP. You have set ${t[1]}x${t[2]} (${Math.ceil(e/1e3/100)/10}MP).`),!1):{quality:t[3]?t[3]/100:void 0,size:e}};var st=(r,t)=>{let e,i,s,o=(...n)=>{e?(clearTimeout(i),i=setTimeout(()=>{Date.now()-s>=t&&(r(...n),s=Date.now())},Math.max(t-(Date.now()-s),0))):(r(...n),s=Date.now(),e=!0)};return Object.defineProperty(o,"cancel",{configurable:!1,writable:!1,enumerable:!1,value:()=>{clearTimeout(i)}}),o};var ot=class extends k{constructor(){super(...arguments);u(this,"_entrySubs",new Set);u(this,"_entry",null)}_withEntry(e){return(...s)=>{let o=this._entry;if(!o){console.warn("No entry found");return}return e(o,...s)}}_subEntry(e,i){return this._withEntry((s,o,n)=>{let a=s.subscribe(o,l=>{this.isConnected&&n(l)});this._entrySubs.add(a)})(e,i)}_reset(){for(let e of this._entrySubs)e.remove();this._entrySubs=new Set,this._entry=null}disconnectedCallback(){super.disconnectedCallback(),this._entrySubs=new Set}};var te=Object.freeze({FINISHED:Symbol("FINISHED"),FAILED:Symbol("FAILED"),UPLOADING:Symbol("UPLOADING"),IDLE:Symbol("IDLE")}),Lt=class r extends ot{constructor(){super();u(this,"couldBeCtxOwner",!0);u(this,"pauseRender",!0);u(this,"_renderedOnce",!1);u(this,"_calculateState",this._withEntry(e=>{let i=te.IDLE;e.getValue("errors").length>0?i=te.FAILED:e.getValue("isUploading")?i=te.UPLOADING:e.getValue("fileInfo")&&(i=te.FINISHED),this.$.state=i}));u(this,"_debouncedCalculateState",M(this._calculateState.bind(this),100));u(this,"_updateHint",this._withEntry(st(e=>{let i=e.getValue("source"),s=e.getValue("externalUrl"),o=e.getValue("errors").length===0,n=this.$.progressValue===0,a=this.$.state===te.UPLOADING,l=e.getValue("isQueued");if(!o||!a||!n){this.$.hint="";return}if(l){let c=this.l10n("queued");this.$.hint=c;return}if(s&&i&&Object.values(de).includes(i)){let c=this.l10n("waiting-for",{source:this.l10n(`src-type-${i}`)});this.$.hint=c;return}this.$.hint=""},100)));u(this,"_handleState",this._withEntry((e,i)=>{var o,n,a,l,c,h;i===te.FAILED?this.$.badgeIcon="badge-error":i===te.FINISHED&&(this.$.badgeIcon="badge-success"),i===te.UPLOADING&&(this.$.isFocused=!1);let s=e.getValue("fileName");this.set$({isFailed:i===te.FAILED,isUploading:i===te.UPLOADING,isFinished:i===te.FINISHED,progressVisible:i===te.UPLOADING,isEditable:this.cfg.useCloudImageEditor&&((o=this._entry)==null?void 0:o.getValue("isImage"))&&((n=this._entry)==null?void 0:n.getValue("cdnUrl")),errorText:(l=(a=e.getValue("errors"))==null?void 0:a[0])==null?void 0:l.message,ariaLabelStatusFile:s&&this.l10n("a11y-file-item-status",{fileName:s,status:this.l10n((h=(c=i==null?void 0:i.description)==null?void 0:c.toLocaleLowerCase())!=null?h:"").toLocaleLowerCase()})}),this._updateHint()}));u(this,"upload",this._withEntry(async e=>{var s,o,n,a,l,c,h;if(!this.uploadCollection.read(e.uid)||e.getValue("fileInfo")||e.getValue("isUploading")||e.getValue("errors").length>0)return;let i=this.cfg.multiple?this.cfg.multipleMax:1;if(!(i&&this.uploadCollection.size>i)){this._debouncedCalculateState(),e.setMultipleValues({isUploading:!0,errors:[],isQueued:!0});try{let d=new AbortController;e.setValue("abortController",d);let p=async()=>{var E,w;e.setValue("isQueued",!1);let m=e.getValue("file");m&&this.cfg.imageShrink&&(m=await this._processShrink(m).catch(()=>m));let b=m||e.getValue("externalUrl")||e.getValue("uuid");if(!b)throw new Error("No file input");let v={...await this.getUploadClientOptions(),fileName:(E=e.getValue("fileName"))!=null?E:void 0,source:(w=e.getValue("source"))!=null?w:void 0,onProgress:P=>{if(P.isComputable){let W=P.value*100;e.setValue("uploadProgress",W)}},signal:d.signal,metadata:await this.getMetadataFor(e.uid)};return this.debugPrint("upload options",b,v),Cr(b,v)},f=await this.$["*uploadQueue"].add(p);e.setMultipleValues({fileInfo:f,isQueued:!1,isUploading:!1,fileName:f.originalFilename,fileSize:f.size,isImage:(s=f.isImage)!=null?s:!1,mimeType:(a=(n=(o=f.contentInfo)==null?void 0:o.mime)==null?void 0:n.mime)!=null?a:f.mimeType,uuid:f.uuid,cdnUrl:(l=e.getValue("cdnUrl"))!=null?l:f.cdnUrl,cdnUrlModifiers:(c=e.getValue("cdnUrlModifiers"))!=null?c:"",uploadProgress:100,source:(h=e.getValue("source"))!=null?h:null}),e===this._entry&&this._debouncedCalculateState()}catch(d){this.telemetryManager.sendEventError(d,"file upload. Failed to upload file"),d instanceof ke&&d.isCancel?e.setMultipleValues({isUploading:!1,uploadProgress:0}):d instanceof Ne?e.setMultipleValues({isUploading:!1,uploadProgress:0,uploadError:d}):(console.error("Unknown upload error",d),e.setMultipleValues({isUploading:!1,uploadProgress:0,uploadError:new Error("Something went wrong",{cause:d})})),e===this._entry&&this._debouncedCalculateState()}}}));this.init$={...this.init$,uid:"",itemName:"",errorText:"",hint:"",thumbUrl:"",progressValue:0,progressVisible:!1,badgeIcon:"",isFinished:!1,isFailed:!1,isUploading:!1,isFocused:!1,isEditable:!1,showFileNames:!1,state:te.IDLE,ariaLabelStatusFile:"",onEdit:this._withEntry(e=>{this.telemetryManager.sendEvent({payload:{metadata:{event:"edit-file",node:this.tagName}}}),this.$["*currentActivityParams"]={internalId:e.uid},this.modalManager.open(g.activities.CLOUD_IMG_EDIT),this.$["*currentActivity"]=g.activities.CLOUD_IMG_EDIT}),onRemove:()=>{this.telemetryManager.sendEvent({payload:{metadata:{event:"remove-file",node:this.tagName}}}),this.uploadCollection.remove(this.$.uid)},onUpload:()=>{this.upload()}}}_reset(){super._reset(),this._debouncedCalculateState.cancel()}_observerCallback(e){let[i]=e;this._isIntersecting=i.isIntersecting,this._thumbRect=i.boundingClientRect,i.isIntersecting&&!this._renderedOnce&&(this.render(),this._renderedOnce=!0)}_handleEntryId(e){var s;this._reset();let i=(s=this.uploadCollection)==null?void 0:s.read(e);this._entry=i,i&&(this._subEntry("uploadProgress",o=>{this.$.progressValue=o,this._updateHint()}),this._subEntry("isQueued",()=>{this._updateHint()}),this._subEntry("fileName",o=>{this.$.itemName=o||i.getValue("externalUrl")||this.l10n("file-no-name"),this._debouncedCalculateState()}),this._subEntry("externalUrl",o=>{this.$.itemName=i.getValue("fileName")||o||this.l10n("file-no-name")}),this._subEntry("fileInfo",()=>{this._debouncedCalculateState()}),this._subEntry("errors",()=>this._debouncedCalculateState()),this._subEntry("isUploading",()=>this._debouncedCalculateState()),this._subEntry("fileSize",()=>this._debouncedCalculateState()),this._subEntry("mimeType",()=>this._debouncedCalculateState()),this._subEntry("isImage",()=>this._debouncedCalculateState()))}_updateShowFileNames(e){if(this.cfg.filesViewMode==="list"){this.$.showFileNames=!0;return}this.$.showFileNames=e}initCallback(){super.initCallback(),this.sub("uid",e=>{this._handleEntryId(e)}),this.sub("state",e=>{this._handleState(e)}),this.subConfigValue("useCloudImageEditor",()=>this._debouncedCalculateState()),this.subConfigValue("filesViewMode",e=>{this._updateShowFileNames(this.cfg.gridShowFileNames),this.setAttribute("mode",e)}),this.subConfigValue("gridShowFileNames",e=>{this._updateShowFileNames(e)}),this.onclick=()=>{r.activeInstances.forEach(e=>{e===this?e.setAttribute("focused",""):e.removeAttribute("focused")})},this.sub("*uploadTrigger",e=>{this._entry&&!e.has(this._entry.uid)||setTimeout(()=>this.isConnected&&this.upload())}),r.activeInstances.add(this)}destroyCallback(){super.destroyCallback(),r.activeInstances.delete(this),this._reset()}connectedCallback(){super.connectedCallback(),this._observer=new window.IntersectionObserver(this._observerCallback.bind(this),{threshold:[0,1]}),this._observer.observe(this)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this._observer)==null||e.disconnect()}_settingsOfShrink(){return cn(this.cfg.imageShrink)}_processShrink(e){return ln(e,this._settingsOfShrink())}};Lt.template=`<div class="uc-inner" set="@finished: isFinished; @uploading: isUploading; @failed: isFailed; @focused: isFocused"><uc-thumb set="uid:uid;badgeIcon:badgeIcon"></uc-thumb><div aria-atomic="true" aria-live="polite" class="uc-file-name-wrapper" set="@aria-label:ariaLabelStatusFile;"><span class="uc-file-name" set="@hidden: !showFileNames">{{itemName}}</span><span class="uc-file-error" set="@hidden: !errorText;">{{errorText}}</span><span class="uc-file-hint" set="@hidden: !hint">{{hint}}</span></div><div class="uc-file-actions"><button type="button" l10n="@title:file-item-edit-button;@aria-label:file-item-edit-button" class="uc-edit-btn uc-mini-btn" set="onclick: onEdit; @hidden: !isEditable" ><uc-icon name="edit-file"></uc-icon></button><button type="button" l10n="@title:file-item-remove-button;@aria-label:file-item-remove-button" class="uc-remove-btn uc-mini-btn" set="onclick: onRemove;" ><uc-icon name="remove-file"></uc-icon></button><button type="button" class="uc-upload-btn uc-mini-btn" set="onclick: onUpload;"><uc-icon name="upload"></uc-icon></button></div><uc-progress-bar class="uc-progress-bar" set="value: progressValue; visible: progressVisible; @hasFileName: showFileNames;" ></uc-progress-bar></div>`;Lt.activeInstances=new Set;var ss=null,nt=class nt extends _{constructor(){super();u(this,"_handleBackdropClick",()=>{this._closeDialog()});u(this,"_closeDialog",()=>{var e;(e=this.modalManager)==null||e.close(this.id),this.modalManager.hasActiveModals||(document.body.style.overflow="")});u(this,"_handleDialogClose",()=>{this._closeDialog()});u(this,"_handleDialogMouseDown",e=>{this._mouseDownTarget=e.target});u(this,"_handleDialogMouseUp",e=>{e.target===this.ref.dialog&&e.target===this._mouseDownTarget&&this._closeDialog()});this.init$={...this.init$,closeClicked:this._handleDialogClose}}show(){this.ref.dialog.showModal?(this.setAttribute("aria-modal","true"),this.ref.dialog.showModal()):this.ref.dialog.setAttribute("open",""),this.cfg.modalScrollLock&&(document.body.style.overflow="hidden")}hide(){this.ref.dialog.close?(this.setAttribute("aria-modal","false"),this.ref.dialog.close()):this.ref.dialog.removeAttribute("open")}_handleModalOpen({id:e}){e===this.id?(ss=e,this.show(),this.emit(y.MODAL_OPEN,{modalId:e},{debounce:!0})):this.hide()}_handleModalClose({id:e}){e===this.id&&(this.hide(),this.emit(y.MODAL_CLOSE,{modalId:e,hasActiveModals:this.modalManager.hasActiveModals},{debounce:!0}))}_handleModalCloseAll(){this.hide(),ss===this.id&&this.emit(y.MODAL_CLOSE,{modalId:ss,hasActiveModals:this.modalManager.hasActiveModals},{debounce:!0})}initCallback(){var e;super.initCallback(),(e=this.modalManager)==null||e.registerModal(this.id,this),this.ref.dialog.addEventListener("close",this._handleDialogClose),this.ref.dialog.addEventListener("mousedown",this._handleDialogMouseDown),this.ref.dialog.addEventListener("mouseup",this._handleDialogMouseUp),this.subConfigValue("modalBackdropStrokes",i=>{i?this.setAttribute("strokes",""):this.removeAttribute("strokes")}),this.handleModalOpen=this._handleModalOpen.bind(this),this.handleModalClose=this._handleModalClose.bind(this),this.handleModalCloseAll=this._handleModalCloseAll.bind(this),this.modalManager.subscribe(F.OPEN,this.handleModalOpen),this.modalManager.subscribe(F.CLOSE,this.handleModalClose),this.modalManager.subscribe(F.CLOSE_ALL,this.handleModalCloseAll)}destroyCallback(){super.destroyCallback(),document.body.style.overflow="",this._mouseDownTarget=void 0,this.ref.dialog.removeEventListener("close",this._handleDialogClose),this.ref.dialog.removeEventListener("mousedown",this._handleDialogMouseDown),this.ref.dialog.removeEventListener("mouseup",this._handleDialogMouseUp),this.modalManager.unsubscribe(F.OPEN,this.handleModalOpen),this.modalManager.unsubscribe(F.CLOSE,this.handleModalClose),this.modalManager.unsubscribe(F.CLOSE_ALL,this.handleModalCloseAll)}};u(nt,"styleAttrs",[...q(nt,nt,"styleAttrs"),"uc-modal"]),u(nt,"StateConsumerScope","modal");var $i=nt;$i.template=`<dialog ref="dialog"><slot></slot></dialog>`;var Mi=class extends k{constructor(){super();u(this,"couldBeCtxOwner",!0);u(this,"historyTracked",!0);u(this,"activityType",g.activities.UPLOAD_LIST);u(this,"_throttledHandleCollectionUpdate",st(()=>{this.isConnected&&(this._updateUploadsState(),!this.couldOpenActivity&&this.$["*currentActivity"]===this.activityType&&this.historyBack())},300));this.init$={...this.init$,doneBtnVisible:!1,doneBtnEnabled:!1,uploadBtnVisible:!1,addMoreBtnVisible:!1,addMoreBtnEnabled:!1,headerText:"",commonErrorMessage:"",hasFiles:!1,onAdd:()=>{this.api.initFlow(!0)},onUpload:()=>{this.emit(y.UPLOAD_CLICK),this.api.uploadAll(),this._throttledHandleCollectionUpdate()},onDone:()=>{this.emit(y.DONE_CLICK,this.api.getOutputCollectionState()),this.api.doneFlow()},onCancel:()=>{this.uploadCollection.clearAll()}}}_updateUploadsState(){let e=this.api.getOutputCollectionState(),i={total:e.totalCount,succeed:e.successCount,uploading:e.uploadingCount,failed:e.failedCount},s=!e.errors.some(p=>p.type==="TOO_MANY_FILES"||p.type==="TOO_FEW_FILES"),o=e.errors.some(p=>p.type==="TOO_MANY_FILES"),n=e.totalCount===(this.cfg.multiple?this.cfg.multipleMax:1),a=i.failed===0&&e.errors.length===0,l=!1,c=!1,h=!1;if(i.total-i.succeed-i.uploading-i.failed>0&&s)l=!0;else{c=!0;let p=this.cfg.groupOutput?!!e.group:!0;h=i.total===i.succeed&&s&&a&&p}this.set$({doneBtnVisible:c,doneBtnEnabled:h,uploadBtnVisible:l,addMoreBtnEnabled:i.total===0||!o&&!n,addMoreBtnVisible:!n||this.cfg.multiple}),this.bindL10n("headerText",()=>this._getHeaderText(i))}_getHeaderText(e){let i=s=>{let o=e[s];return this.l10n(`header-${s}`,{count:o})};return e.uploading>0?i("uploading"):e.failed>0?i("failed"):e.succeed>0?i("succeed"):i("total")}get couldOpenActivity(){return this.cfg.showEmptyList||this.uploadCollection.size>0}initCallback(){super.initCallback(),this.registerActivity(this.activityType),this.subConfigValue("multiple",this._throttledHandleCollectionUpdate),this.subConfigValue("multipleMin",this._throttledHandleCollectionUpdate),this.subConfigValue("multipleMax",this._throttledHandleCollectionUpdate),this.sub("*groupInfo",e=>{e&&this._throttledHandleCollectionUpdate()}),this.subConfigValue("filesViewMode",e=>{this.setAttribute("mode",e)}),this.sub("*currentActivity",e=>{!this.couldOpenActivity&&e===this.activityType&&(this.$["*currentActivity"]=this.initActivity)}),this.uploadCollection.observeProperties(this._throttledHandleCollectionUpdate),this.sub("*uploadList",e=>{this._throttledHandleCollectionUpdate(),this.set$({hasFiles:e.length>0}),this.cfg.confirmUpload||this.api.uploadAll()},!1),this.sub("*collectionErrors",e=>{let i=e.filter(s=>s.type!=="SOME_FILES_HAS_ERRORS")[0];if(!i){this.set$({commonErrorMessage:null});return}this.set$({commonErrorMessage:i.message})})}destroyCallback(){super.destroyCallback(),this.uploadCollection.unobserveProperties(this._throttledHandleCollectionUpdate)}};Mi.template=`<uc-activity-header><span aria-live="polite" class="uc-header-text">{{headerText}}</span><button type="button" class="uc-mini-btn uc-close-btn" set="onclick: *closeModal" l10n="@title:a11y-activity-header-button-close;@aria-label:a11y-activity-header-button-close" ><uc-icon name="close"></uc-icon></button></uc-activity-header><div class="uc-no-files" set="@hidden: hasFiles"><slot name="empty"><span l10n="no-files"></span></slot></div><div class="uc-files"><div class="uc-files-wrapper" repeat="*uploadList" repeat-item-tag="uc-file-item"></div><button type="button" class="uc-add-more-btn uc-secondary-btn" set="onclick: onAdd; @disabled: !addMoreBtnEnabled; @hidden: !addMoreBtnVisible" ><uc-icon name="add"></uc-icon><span l10n="add-more"></span></button></div><div class="uc-common-error" set="@hidden: !commonErrorMessage; textContent: commonErrorMessage;"></div><div class="uc-toolbar"><button type="button" class="uc-cancel-btn uc-secondary-btn" set="onclick: onCancel;" l10n="clear"></button><div class="uc-toolbar-spacer"></div><button type="button" class="uc-add-more-btn uc-secondary-btn" set="onclick: onAdd; @disabled: !addMoreBtnEnabled; @hidden: !addMoreBtnVisible" ><uc-icon name="add"></uc-icon><span l10n="add-more"></span></button><button type="button" class="uc-upload-btn uc-primary-btn" set="@hidden: !uploadBtnVisible; onclick: onUpload;" l10n="upload" ></button><button type="button" class="uc-done-btn uc-primary-btn" set="@hidden: !doneBtnVisible; onclick: onDone; @disabled: !doneBtnEnabled" l10n="done" ></button></div><uc-drop-area ghost></uc-drop-area>`;var Li=class extends k{constructor(){super(...arguments);u(this,"couldBeCtxOwner",!0);u(this,"activityType",g.activities.URL);u(this,"init$",{...this.init$,importDisabled:!0,onUpload:e=>{e.preventDefault();let i=this.ref.input.value;this.api.addFileFromUrl(i,{source:U.URL}),this.modalManager.open(g.activities.UPLOAD_LIST),this.$["*currentActivity"]=g.activities.UPLOAD_LIST},onCancel:()=>{this.historyBack()},onInput:e=>{let i=e.target.value;this.set$({importDisabled:!i})}})}initCallback(){super.initCallback(),this.registerActivity(this.activityType,{onActivate:()=>{this.ref.input.value="",this.ref.input.focus()}})}};Li.template=`<uc-activity-header><button type="button" class="uc-mini-btn" set="onclick: *historyBack" l10n="@title:back;@aria-label:back"><uc-icon name="back"></uc-icon></button><div><uc-icon name="url"></uc-icon><span l10n="caption-from-url"></span></div><button type="button" class="uc-mini-btn uc-close-btn" set="onclick: *closeModal" l10n="@title:a11y-activity-header-button-close;@aria-label:a11y-activity-header-button-close" ><uc-icon name="close"></uc-icon></button></uc-activity-header><form class="uc-content"><label><input placeholder="https://" class="uc-url-input" type="text" ref="input" set="oninput: onInput" /></label><button type="submit" class="uc-url-upload-btn uc-primary-btn" set="onclick: onUpload; @disabled: importDisabled" l10n="upload-url" ></button></form>`;var un=()=>typeof navigator.permissions!="undefined";var wc={width:{ideal:1920},height:{ideal:1080},frameRate:{ideal:30}},dn=["camera","microphone"];function Ui(r){let t=Math.floor(r/60).toString().padStart(2,"0"),e=Math.floor(r%60).toString().padStart(2,"0");return`${t}:${e}`}var hn="image/jpeg",pn="video/webm",Pi=class extends k{constructor(){super();u(this,"couldBeCtxOwner",!0);u(this,"activityType",g.activities.CAMERA);u(this,"_unsubPermissions",null);u(this,"_chunks",[]);u(this,"_mediaRecorder",null);u(this,"_stream",null);u(this,"_selectedAudioId",null);u(this,"_selectedCameraId",null);u(this,"_chooseActionWithCamera",()=>{var e;if(this._activeTab===S.PHOTO&&this._shot(),this._activeTab===S.VIDEO){if(((e=this._mediaRecorder)==null?void 0:e.state)==="recording"){this._stopRecording();return}this._startRecording()}});u(this,"_updateTimer",()=>{let e=Math.floor((performance.now()-this.$._startTime+this.$._elapsedTime)/1e3);if(typeof this.cfg.maxVideoRecordingDuration=="number"&&this.cfg.maxVideoRecordingDuration>0){let i=this.cfg.maxVideoRecordingDuration-e;if(i<=0){this.ref.timer.textContent=Ui(i),this._stopRecording();return}this.ref.timer.textContent=Ui(i)}else this.ref.timer.textContent=Ui(e);this._animationFrameId=requestAnimationFrame(this._updateTimer)});u(this,"_startTimer",()=>{this.$._startTime=performance.now(),this.$._elapsedTime=0,this._updateTimer()});u(this,"_stopTimer",()=>{this._animationFrameId&&cancelAnimationFrame(this._animationFrameId)});u(this,"_startTimeline",()=>{let e=this.ref.video.currentTime,i=this.ref.video.duration;this.ref.line.style.transform=`scaleX(${e/i})`,this.ref.timer.textContent=Ui(e),this._animationFrameId=requestAnimationFrame(this._startTimeline)});u(this,"_stopTimeline",()=>{this._animationFrameId&&cancelAnimationFrame(this._animationFrameId)});u(this,"_startRecording",()=>{try{this._chunks=[],this._options={...this.cfg.mediaRecorderOptions};let{mimeType:e}=this.cfg.mediaRecorderOptions||{};e&&MediaRecorder.isTypeSupported(e)?this._options.mimeType=e:MediaRecorder.isTypeSupported(pn)?this._options.mimeType=pn:this._options.mimeType="video/mp4",this._stream&&(this._mediaRecorder=new MediaRecorder(this._stream,this._options),this._mediaRecorder.start(),this._mediaRecorder.addEventListener("dataavailable",i=>{this._chunks.push(i.data)}),this._startTimer(),this.classList.add("uc-recording"),this._setCameraState(ie.PLAY))}catch(e){console.error("Failed to start recording",e),this.telemetryManager.sendEventError(e,"camera recording. Failed to start recording")}});u(this,"_stopRecording",()=>{var e,i;(e=this._mediaRecorder)==null||e.addEventListener("stop",()=>{this._previewVideo(),this._stopTimer(),this._setCameraState(ie.STOP)}),(i=this._mediaRecorder)==null||i.stop(),this.classList.remove("uc-recording")});u(this,"_toggleRecording",()=>{var e;((e=this._mediaRecorder)==null?void 0:e.state)!=="recording"&&(!this.ref.video.paused&&!this.ref.video.ended&&this.ref.video.readyState>2?this.ref.video.pause():this.ref.video.paused&&this.ref.video.play())});u(this,"_toggleEnableAudio",()=>{var e;(e=this._stream)==null||e.getAudioTracks().forEach(i=>{i.enabled=!i.enabled,this.$.toggleMicrophoneIcon=i.enabled?"microphone":"microphone-mute",this.$.audioSelectDisabled=!i.enabled})});u(this,"_previewVideo",()=>{var e;try{let i=new Blob(this._chunks,{type:(e=this._mediaRecorder)==null?void 0:e.mimeType}),s=URL.createObjectURL(i);this.ref.video.muted=!1,this.ref.video.volume=1,this.$.video=null,this.ref.video.src=s,this.ref.video.addEventListener("play",()=>{this._startTimeline(),this.set$({currentTimelineIcon:"pause"})}),this.ref.video.addEventListener("pause",()=>{this.set$({currentTimelineIcon:"play"}),this._stopTimeline()})}catch(i){console.error("Failed to preview video",i),this.telemetryManager.sendEventError(i,"camera previewing. Failed to preview video")}});u(this,"_retake",()=>{this._setCameraState(ie.RETAKE),this._activeTab===S.VIDEO&&(this.$.video=this._stream,this.ref.video.muted=!0),this.ref.video.play()});u(this,"_accept",()=>{var o,n,a;if(this._setCameraState(ie.ACCEPT),this._activeTab===S.PHOTO){(o=this._canvas)==null||o.toBlob(l=>{let c=this._createFile("camera","jpeg",hn,l);this._toSend(c)},hn);return}let e=new Blob(this._chunks,{type:(n=this._mediaRecorder)==null?void 0:n.mimeType}),i=this._guessExtensionByMime((a=this._mediaRecorder)==null?void 0:a.mimeType),s=this._createFile("video",i,`video/${i}`,e);this._toSend(s),this._chunks=[]});u(this,"_handlePhoto",e=>{e===ie.SHOT&&this.set$({tabVideoHidden:!0,cameraHidden:!0,tabCameraHidden:!0,cameraActionsHidden:!1,cameraSelectHidden:!0}),(e===ie.RETAKE||e===ie.ACCEPT)&&this.set$({tabVideoHidden:!this._cameraModes.includes(S.VIDEO),tabCameraHidden:!this._cameraModes.includes(S.PHOTO),cameraHidden:!1,cameraActionsHidden:!0,cameraSelectHidden:this._cameraDevices.length<=1})});u(this,"_handleVideo",e=>{e===ie.PLAY&&this.set$({timerHidden:!1,tabCameraHidden:!0,cameraSelectHidden:!0,audioSelectHidden:!0,currentTimelineIcon:"pause",currentIcon:"square",mutableClassButton:"uc-shot-btn uc-camera-action uc-stop-record"}),e===ie.STOP&&this.set$({timerHidden:!1,cameraHidden:!0,audioToggleMicrophoneHidden:!0,cameraActionsHidden:!1}),(e===ie.RETAKE||e===ie.ACCEPT)&&this.set$({timerHidden:!0,tabVideoHidden:!this._cameraModes.includes(S.VIDEO),tabCameraHidden:!this._cameraModes.includes(S.PHOTO),cameraHidden:!1,cameraActionsHidden:!0,audioToggleMicrophoneHidden:!this.cfg.enableAudioRecording,currentIcon:"video-camera-full",mutableClassButton:"uc-shot-btn uc-camera-action",audioSelectHidden:!this.cfg.enableAudioRecording||this._audioDevices.length<=1,cameraSelectHidden:this._cameraDevices.length<=1})});u(this,"_setCameraState",e=>{this._activeTab===S.PHOTO&&(e==="shot"||e==="retake"||e==="accept")&&this._handlePhoto(e),this._activeTab===S.VIDEO&&(e==="play"||e==="stop"||e==="retake"||e==="accept"||e==="pause"||e==="resume")&&this._handleVideo(e)});u(this,"_handleActiveTab",e=>{this.ref.switcher.querySelectorAll("button").forEach(i=>{i.classList.toggle("uc-active",i.getAttribute("data-id")===e)}),e===S.PHOTO&&this.set$({currentIcon:"camera-full",audioSelectHidden:!0,audioToggleMicrophoneHidden:!0}),e===S.VIDEO&&this.set$({currentTimelineIcon:"play",currentIcon:"video-camera-full",audioSelectHidden:!this.cfg.enableAudioRecording||this._audioDevices.length<=1,audioToggleMicrophoneHidden:!this.cfg.enableAudioRecording}),this._activeTab=e});u(this,"_createFile",(e,i,s,o)=>{let n=Date.now(),a=`${e}-${n}.${i}`;return new File([o],a,{lastModified:n,type:s})});u(this,"_toSend",e=>{this.api.addFileFromObject(e,{source:U.CAMERA}),this.set$({"*currentActivity":g.activities.UPLOAD_LIST}),this.modalManager.open(g.activities.UPLOAD_LIST)});u(this,"_setPermissionsState",M(e=>{this.classList.toggle("uc-initialized",e==="granted");let i=this._activeTab===S.VIDEO&&this.cfg.enableAudioRecording,s=this._activeTab===S.PHOTO?"camera-full":"video-camera-full";e==="granted"?this.set$({videoHidden:!1,cameraHidden:!1,tabCameraHidden:!this._cameraModes.includes(S.PHOTO),tabVideoHidden:!this._cameraModes.includes(S.VIDEO),messageHidden:!0,timerHidden:!0,currentIcon:s,audioToggleMicrophoneHidden:!i,audioSelectHidden:!i}):e==="prompt"?(this.$.l10nMessage="camera-permissions-prompt",this.set$({videoHidden:!0,cameraHidden:!0,tabCameraHidden:!0,messageHidden:!1}),this._stopCapture()):(this.$.l10nMessage="camera-permissions-denied",this.set$({videoHidden:!0,messageHidden:!1,tabCameraHidden:!this._cameraModes.includes(S.PHOTO),tabVideoHidden:!this._cameraModes.includes(S.VIDEO),cameraActionsHidden:!0,mutableClassButton:"uc-shot-btn uc-camera-action"}),this._stopCapture())},300));u(this,"_makeStreamInactive",()=>{var s,o;if(!this._stream)return!1;let e=(s=this._stream)==null?void 0:s.getAudioTracks(),i=(o=this._stream)==null?void 0:o.getVideoTracks();e.forEach(n=>n.stop()),i.forEach(n=>n.stop())});u(this,"_stopCapture",()=>{var e;this._capturing&&(this.ref.video.volume=0,(e=this.$.video)==null||e.getTracks()[0].stop(),this.$.video=null,this._makeStreamInactive(),this._stopTimer(),this._capturing=!1)});u(this,"_capture",async()=>{let e={video:wc,audio:this.cfg.enableAudioRecording?{}:!1};this._selectedCameraId&&(e.video={deviceId:{exact:this._selectedCameraId}}),this._selectedAudioId&&this.cfg.enableAudioRecording&&(e.audio={deviceId:{exact:this._selectedAudioId}}),this.ref.video.volume=0;try{this._setPermissionsState("prompt"),this._stream=await navigator.mediaDevices.getUserMedia(e),this._stream.addEventListener("inactive",()=>{this._setPermissionsState("denied")}),this.$.video=this._stream,this._capturing=!0,this._setPermissionsState("granted")}catch(i){this._setPermissionsState("denied"),console.log("Failed to capture camera",i),this.telemetryManager.sendEventError(i,"camera capturing. Failed to capture camera")}});u(this,"_handlePermissionsChange",()=>{this._capture()});u(this,"_permissionAccess",async()=>{try{for(let e of dn)this[`${e}Response`]=await navigator.permissions.query({name:e}),this[`${e}Response`].addEventListener("change",this._handlePermissionsChange)}catch(e){console.log("Failed to use permissions API. Fallback to manual request mode.",e),this.telemetryManager.sendEventError(e,"camera permissions. Failed to use permissions API"),this._capture()}});u(this,"_getPermission",()=>{});u(this,"_requestDeviceAccess",async()=>{try{await navigator.mediaDevices.getUserMedia({video:!0,audio:this.cfg.enableAudioRecording}),await this._getDevices(),navigator.mediaDevices.addEventListener("devicechange",this._getDevices)}catch(e){this.telemetryManager.sendEventError(e,"camera devices. Failed to get user media"),console.log("Failed to get user media",e)}});u(this,"_getDevices",async()=>{var e,i;try{let s=await navigator.mediaDevices.enumerateDevices();this._cameraDevices=s.filter(o=>o.kind==="videoinput").map((o,n)=>({text:o.label.trim()||`${this.l10n("caption-camera")} ${n+1}`,value:o.deviceId})),this._audioDevices=this.cfg.enableAudioRecording&&s.filter(o=>o.kind==="audioinput").map(o=>({text:o.label.trim(),value:o.deviceId})),this._cameraDevices.length>1&&this.set$({cameraSelectOptions:this._cameraDevices,cameraSelectHidden:!1}),this._selectedCameraId=(e=this._cameraDevices[0])==null?void 0:e.value,this._audioDevices.length>1&&this.set$({audioSelectOptions:this._audioDevices,audioSelectHidden:!1}),this._selectedAudioId=(i=this._audioDevices[0])==null?void 0:i.value}catch(s){this.telemetryManager.sendEventError(s,"camera devices. Failed to get devices"),console.log("Failed to get devices",s)}});u(this,"_onActivate",async()=>{await this._permissionAccess(),await this._requestDeviceAccess(),await this._capture(),this._handleCameraModes(this._cameraModes)});u(this,"_onDeactivate",async()=>{this._unsubPermissions&&this._unsubPermissions(),!!window.chrome||this._setPermissionsState("denied"),this._stopCapture()});u(this,"_handleCameraModes",e=>{this.$.tabVideoHidden=!e.includes(S.VIDEO),this.$.tabCameraHidden=!e.includes(S.PHOTO);let i=e[0];(!this._activeTab||!e.includes(this._activeTab))&&this._handleActiveTab(i)});this.init$={...this.init$,video:null,videoTransformCss:null,videoHidden:!0,messageHidden:!0,requestBtnHidden:un(),cameraSelectOptions:null,cameraSelectHidden:!0,l10nMessage:"",switcher:null,panels:null,timer:null,timerHidden:!0,cameraHidden:!0,cameraActionsHidden:!0,audioSelectOptions:null,audioSelectHidden:!0,audioSelectDisabled:!0,audioToggleMicrophoneHidden:!0,tabCameraHidden:!0,tabVideoHidden:!0,currentIcon:"camera-full",currentTimelineIcon:"play",toggleMicrophoneIcon:"microphone",_startTime:0,_elapsedTime:0,_animationFrameId:null,mutableClassButton:"uc-shot-btn uc-camera-action",onCameraSelectChange:e=>{this._selectedCameraId=e.target.value,this._capture()},onAudioSelectChange:e=>{this._selectedAudioId=e.target.value,this._capture()},onCancel:()=>{this.historyBack()},onShot:()=>this._shot(),onRequestPermissions:()=>this._capture(),onStartCamera:()=>this._chooseActionWithCamera(),onStartRecording:()=>this._startRecording(),onStopRecording:()=>this._stopRecording(),onToggleRecording:()=>this._toggleRecording(),onToggleAudio:()=>this._toggleEnableAudio(),onRetake:()=>this._retake(),onAccept:()=>this._accept(),onClickTab:e=>{let i=e.currentTarget.getAttribute("data-id");i&&this._handleActiveTab(i)}}}_shot(){if(this._setCameraState("shot"),this._canvas=document.createElement("canvas"),this._ctx=this._canvas.getContext("2d"),!this._ctx)throw new Error("Failed to get canvas context");this._canvas.height=this.ref.video.videoHeight,this._canvas.width=this.ref.video.videoWidth,this.cfg.cameraMirror&&(this._ctx.translate(this._canvas.width,0),this._ctx.scale(-1,1)),this._ctx.drawImage(this.ref.video,0,0),this.ref.video.pause()}_guessExtensionByMime(e){let i={mp4:"mp4",ogg:"ogg",webm:"webm",quicktime:"mov","x-matroska":"mkv"};if(e==="")return"webm";if(e&&(e=e.split("/"),(e==null?void 0:e[0])==="video")){e=e.slice(1).join("/");let s=e==null?void 0:e.split(";")[0];if(i[s])return i[s]}return"avi"}get _cameraModes(){return D(this.cfg.cameraModes)}initCallback(){super.initCallback(),this.registerActivity(this.activityType,{onActivate:this._onActivate,onDeactivate:this._onDeactivate}),this.subConfigValue("cameraMirror",e=>{this.$.videoTransformCss=e?"scaleX(-1)":null}),this.subConfigValue("enableAudioRecording",e=>{this.$.audioToggleMicrophoneHidden=!e,this.$.audioSelectDisabled=!e}),this.subConfigValue("cameraModes",e=>{if(!this.isActivityActive)return;let i=Z(e);this._handleCameraModes(i)})}_destroy(){var e,i;for(let s of dn)(e=this[`${s}Response`])==null||e.removeEventListener("change",this._handlePermissionsChange);(i=navigator.mediaDevices)==null||i.removeEventListener("devicechange",this._getDevices)}async destroyCallback(){super.destroyCallback(),this._destroy()}};Pi.template=`<uc-activity-header><button type="button" class="uc-mini-btn" set="onclick: *historyBack" l10n="@title:back"><uc-icon name="back"></uc-icon></button><div set="@hidden: !cameraSelectHidden"><uc-icon name="camera"></uc-icon><span l10n="caption-camera"></span></div><uc-select class="uc-camera-select" set="$.options: cameraSelectOptions; @hidden: cameraSelectHidden; onchange: onCameraSelectChange" ></uc-select><button type="button" class="uc-mini-btn uc-close-btn" set="onclick: *closeModal" l10n="@title:a11y-activity-header-button-close;@aria-label:a11y-activity-header-button-close" ><uc-icon name="close"></uc-icon></button></uc-activity-header><div class="uc-content"><video muted autoplay playsinline set="srcObject: video; style.transform: videoTransformCss; @hidden: videoHidden" ref="video" ></video><div class="uc-message-box" set="@hidden: messageHidden"><span l10n="l10nMessage"></span><button type="button" set="onclick: onRequestPermissions; @hidden: requestBtnHidden" l10n="camera-permissions-request" ></button></div></div><div class="uc-controls"><div ref="switcher" class="uc-switcher" set="@hidden:!timerHidden"><button data-id="photo" type="button" class="uc-switch uc-mini-btn" set="onclick: onClickTab; @hidden: tabCameraHidden" ><uc-icon name="camera"></uc-icon></button><button data-id="video" type="button" class="uc-switch uc-mini-btn" set="onclick: onClickTab; @hidden: tabVideoHidden" ><uc-icon name="video-camera"></uc-icon></button></div><button class="uc-secondary-btn uc-recording-timer" set="@hidden:timerHidden; onclick: onToggleRecording"><uc-icon set="@name: currentTimelineIcon"></uc-icon><span ref="timer"> 00:00 </span><span ref="line" class="uc-line"></span></button><div class="uc-camera-actions uc-camera-action" set="@hidden: cameraActionsHidden"><button type="button" class="uc-secondary-btn" set="onclick: onRetake">Retake</button><button type="button" class="uc-primary-btn" set="onclick: onAccept" data-testid="accept">Accept</button></div><button type="button" class="uc-shot-btn uc-camera-action" data-testid="shot" set="onclick: onStartCamera; @class: mutableClassButton; @hidden: cameraHidden;" ><uc-icon set="@name: currentIcon"></uc-icon></button><div class="uc-select"><button class="uc-mini-btn uc-btn-microphone" set="onclick: onToggleAudio; @hidden: audioToggleMicrophoneHidden;"><uc-icon set="@name:toggleMicrophoneIcon"></uc-icon></button><uc-select class="uc-audio-select" set="$.options: audioSelectOptions; onchange: onAudioSelectChange; @hidden: audioSelectHidden; @disabled: audioSelectDisabled" ></uc-select></div></div>`;var Ut=class extends k{constructor(){super(...arguments);u(this,"requireCtxName",!0)}initCallback(){super.initCallback(),this.$["*eventEmitter"].bindTarget(this)}destroyCallback(){super.destroyCallback(),this.$["*eventEmitter"].unbindTarget(this)}};u(Ut,"styleAttrs",["uc-wgt-common"]);Ut.EventType=y;var Cc=Ut;var Ri=class extends k{constructor(){super(...arguments);u(this,"init$",{...this.init$,visible:!1,value:0,"*commonProgress":0})}initCallback(){super.initCallback(),this._unobserveCollection=this.uploadCollection.observeProperties(()=>{let e=this.uploadCollection.items().some(i=>this.uploadCollection.read(i).getValue("isUploading"));this.$.visible=e}),this.sub("visible",e=>{e?this.setAttribute("active",""):this.removeAttribute("active")}),this.sub("*commonProgress",e=>{this.$.value=e})}destroyCallback(){var e;super.destroyCallback(),(e=this._unobserveCollection)==null||e.call(this)}};Ri.template='<uc-progress-bar set="visible: visible; value: value"></uc-progress-bar>';var Di=class extends _{constructor(){super();u(this,"_value",0);u(this,"_prevValue",0);u(this,"_visible",!0);this.init$={...this.init$,width:0,opacity:0}}initCallback(){super.initCallback();let e=()=>{let i=this.ref.fakeProgressLine;if(!this._visible){i.classList.add("uc-fake-progress--hidden");return}this._value>0&&i.classList.add("uc-fake-progress--hidden")};this.ref.fakeProgressLine.addEventListener("animationiteration",e),this.defineAccessor("value",i=>{i!=null&&(this._prevValue=this._value,this._value=i,this._visible&&this.style.setProperty("--l-progress-value",this._value.toString()))}),this.defineAccessor("visible",i=>{this._visible=i,this.classList.toggle("uc-progress-bar--hidden",!i)})}};Di.template=`<div ref="fakeProgressLine" class="uc-fake-progress"></div><div ref="realProgressLine" class="uc-progress"></div>`;var pe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=";function fn(...r){return r.reduce((t,e)=>{if(typeof e=="string")return t[e]=!0,t;for(let i of Object.keys(e))t[i]=e[i];return t},{})}function V(...r){let t=fn(...r);return Object.keys(t).reduce((e,i)=>(t[i]&&e.push(i),e),[]).join(" ")}function mn(r,...t){let e=fn(...t);for(let i of Object.keys(e))r.classList.toggle(i,e[i])}var gn=r=>{if(!r)return K;let t=Z(r).filter(e=>K.includes(e));return t.length===0?K:t};function bn(r){return{"*originalUrl":null,"*faderEl":null,"*cropperEl":null,"*imgEl":null,"*imgContainerEl":null,"*networkProblems":!1,"*imageSize":null,"*editorTransformations":{},"*cropPresetList":[],"*currentAspectRatio":null,"*tabList":K,"*tabId":$.CROP,entry:null,extension:null,editorMode:!1,modalCaption:"",isImage:!1,msg:"",src:pe,fileType:"",showLoader:!1,uuid:null,cdnUrl:null,cropPreset:"",tabs:ve(K),"presence.networkProblems":!1,"presence.modalCaption":!0,"presence.editorToolbar":!1,"presence.viewerToolbar":!0,"*on.retryNetwork":()=>{let t=r.querySelectorAll("img");for(let e of t){let i=e.src;e.src=pe,e.src=i}r.$["*networkProblems"]=!1},"*on.apply":t=>{if(!t)return;let e=r.$["*originalUrl"],i=B(Oe(t),"preview"),s=R(e,i),o={originalUrl:e,cdnUrlModifiers:i,cdnUrl:s,transformations:t};r.dispatchEvent(new CustomEvent("apply",{detail:o,bubbles:!0,composed:!0})),r.remove()},"*on.cancel":()=>{r.remove(),r.dispatchEvent(new CustomEvent("cancel",{bubbles:!0,composed:!0}))}}}var _n="<svg width='0' height='0' style='position:absolute'><symbol fill='none' viewBox='0 0 9 6' id='uc-icon-arrow-dropdown' xmlns='http://www.w3.org/2000/svg'><path stroke='currentColor' d='m1.5 1.667 3 2.666 3-2.666' opacity='.5'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-aspect-ratio' xmlns='http://www.w3.org/2000/svg'/><symbol viewBox='0 0 20 20' id='uc-icon-brightness' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M15 10a5 5 0 0 1-5 5m5-5a5 5 0 0 0-5-5m5 5h-5m0 5a5 5 0 0 1 0-10m0 10V5m0 15v-3M2.93 2.929 5.05 5.05M0 10h3m-.07 7.071 2.12-2.121M10 0v3m7.07 14.071-2.12-2.121M20 10h-3m.07-7.071L14.95 5.05m-.626 2.45H10m4.324 5H10'/></symbol><symbol fill='currentColor' viewBox='0 0 20 20' id='uc-icon-closeMax' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M8.232 10 3.585 5.353l1.768-1.768L10 8.232l4.648-4.647 1.767 1.768L11.768 10l4.647 4.648-1.767 1.767L10 11.768l-4.647 4.647-1.768-1.767L8.232 10Z' clip-rule='evenodd'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-contrast' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M2 10a8 8 0 1 0 16 0 8 8 0 1 0-16 0m8-8v16m8-8h-8m7.598 2.5H10m6.24 2.5H10m7.6-7.5H10M16.242 5H10'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-crop' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M20 14H7.005C6.45 14 6 13.55 6 12.995V0M0 6h13.067c.515 0 .933.418.933.933V20M14.5.4 13 2l1.5 1.6M13 2h2a3 3 0 0 1 3 3v2M5.5 19.6 7 18l-1.5-1.6M7 18H5a3 3 0 0 1-3-3v-2'/></symbol><symbol fill='currentColor' viewBox='0 0 20 20' id='uc-icon-done' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='m18.057 6.333-9.365 9.125a1.25 1.25 0 0 1-1.768-.023L1.92 10.296l1.791-1.744 4.132 4.243 8.47-8.253 1.744 1.79Z' clip-rule='evenodd'/></symbol><symbol fill='currentColor' viewBox='0 0 25 24' id='uc-icon-edit-file' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M18.558 2.804a.78.78 0 0 0-.557.235l-.008.007-2.472 2.46 3.847 3.848 2.46-2.473.004-.003a.78.78 0 0 0 0-1.108l-.004-.003-2.712-2.728a.78.78 0 0 0-.558-.235Zm-.248 7.613-3.852-3.852-8.93 8.887-1.516 5.41 5.41-1.515 8.888-8.93Zm-.636-8.934a2.28 2.28 0 0 1 2.512.505l2.702 2.717.002.002a2.278 2.278 0 0 1 0 3.234l-.002.002-12.541 12.602a.75.75 0 0 1-.33.193l-6.884 1.928a.75.75 0 0 1-.925-.924l1.928-6.885a.75.75 0 0 1 .193-.33l12.603-12.54a2.28 2.28 0 0 1 .742-.504Z' clip-rule='evenodd'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-enhance' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M19 13h-2m0 0a4 4 0 0 1-4-4m4 4a4 4 0 0 0-4 4m0-8V7m0 2a4 4 0 0 1-4 4m-2 0h2m0 0a4 4 0 0 1 4 4m0 0v2M8 8.5H6.5m0 0a2 2 0 0 1-2-2m2 2a2 2 0 0 0-2 2m0-4V5m0 1.5a2 2 0 0 1-2 2M1 8.5h1.5m0 0a2 2 0 0 1 2 2m0 0V12M12 3h-1m0 0a1 1 0 0 1-1-1m1 1a1 1 0 0 0-1 1m0-2V1m0 1a1 1 0 0 1-1 1M8 3h1m0 0a1 1 0 0 1 1 1m0 0v1'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-exposure' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M10 20v-3M2.93 2.929 5.05 5.05M0 10h3m-.07 7.071 2.12-2.121M10 0v3m7.07 14.071-2.12-2.121M20 10h-3m.07-7.071L14.95 5.05M5 10a5 5 0 1 0 10 0 5 5 0 1 0-10 0'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-filters' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M4.5 6.5a5.5 5.5 0 1 0 11 0 5.5 5.5 0 1 0-11 0m-3.5 6a5.5 5.5 0 1 0 11 0 5.5 5.5 0 1 0-11 0m7 0a5.5 5.5 0 1 0 11 0 5.5 5.5 0 1 0-11 0'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-flip' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M19.6 5 18 3.5 16.4 5m3.2 10L18 16.5 16.4 15M18 3.523v12.954M3.3 8.5h10.654c.301 0 .415-.395.159-.554L3.459 1.286A.3.3 0 0 0 3 1.542V8.2a.3.3 0 0 0 .3.3zm0 3h10.654c.301 0 .415.395.159.554l-10.654 6.66A.3.3 0 0 1 3 18.458v-6.66a.3.3 0 0 1 .3-.3z'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-gamma' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M17 3C9 6 2.5 11.5 2.5 17.5m0 0h1m-1 0v-1m14 1h1m-3 0h1m-3 0h1m-3 0h1m-3 0h1m-3 0h1m-3 0h1m-3-14v-1m0 3v-1m0 3v-1m0 3v-1m0 3v-1m0 3v-1m0 3v-1'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-mirror' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M5 .4 3.5 2 5 3.6M15 .4 16.5 2 15 3.6M3.52 2h12.957M8.5 16.7V6.046c0-.301-.394-.415-.554-.159L1.287 16.541a.3.3 0 0 0 .255.459H8.2a.3.3 0 0 0 .3-.3zm3 0V6.046c0-.301.395-.415.555-.159l6.659 10.654a.3.3 0 0 1-.255.459H11.8a.3.3 0 0 1-.3-.3z'/></symbol><symbol viewBox='0 0 40 40' id='uc-icon-original' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.5' d='M0 40 40 0'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-rotate' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M13.5.4 12 2l1.5 1.6M12.023 2H14.4A3.6 3.6 0 0 1 18 5.6V8M4 17h9a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v9a1 1 0 0 0 1 1z'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-sad' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M2 17c4.418-4 11.582-4 16 0M16.5 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-11 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-saturation' xmlns='http://www.w3.org/2000/svg'><defs><linearGradient id='ruc-icon-id__a' x1='10.001' y1='1' x2='10.001' y2='19' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient></defs><circle cx='10.001' cy='10' r='9' transform='rotate(90 10 10)' fill='url(#ruc-icon-id__a)'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-slider' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M0 10h11m0 0a2 2 0 1 0 4 0m-4 0a2 2 0 1 1 4 0m0 0h5'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-tuning' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M8 10h11M1 10h4M1 4.5h11m3 0h4m-18 11h11m3 0h4m-7-11a1.5 1.5 0 1 0 3 0 1.5 1.5 0 1 0-3 0M5 10a1.5 1.5 0 1 0 3 0 1.5 1.5 0 1 0-3 0m7 5.5a1.5 1.5 0 1 0 3 0 1.5 1.5 0 1 0-3 0'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-vibrance' xmlns='http://www.w3.org/2000/svg'><path d='M2.125 5.64A8.96 8.96 0 0 0 1.001 10a8.96 8.96 0 0 0 1.124 4.36V5.64z' fill='url(#uuc-icon-id__a)'/><path d='M2.875 15.499V4.502a9.053 9.053 0 0 1 1.75-1.72v14.437a9.05 9.05 0 0 1-1.75-1.72z' fill='url(#uuc-icon-id__b)'/><path d='M5.375 17.722c.548.33 1.134.601 1.75.809V1.469a8.956 8.956 0 0 0-1.75.81v15.443z' fill='url(#uuc-icon-id__c)'/><path d='M7.875 1.253v17.495c.564.136 1.15.22 1.75.244V1.008a9 9 0 0 0-1.75.245z' fill='url(#uuc-icon-id__d)'/><path d='M10.375 1.008v17.984a9 9 0 0 0 1.75-.244V1.252a9 9 0 0 0-1.75-.244z' fill='url(#uuc-icon-id__e)'/><path d='M12.875 1.469V18.53a8.957 8.957 0 0 0 1.75-.808V2.277a8.957 8.957 0 0 0-1.75-.808z' fill='url(#uuc-icon-id__f)'/><path d='M15.375 2.78v14.44a9.053 9.053 0 0 0 1.75-1.72v-11a9.054 9.054 0 0 0-1.75-1.72z' fill='url(#uuc-icon-id__g)'/><path d='M17.875 5.638v8.724A8.959 8.959 0 0 0 19.001 10a8.96 8.96 0 0 0-1.126-4.362z' fill='url(#uuc-icon-id__h)'/><defs><linearGradient id='uuc-icon-id__a' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__b' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__c' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__d' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__e' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__f' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__g' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__h' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient></defs></symbol><symbol viewBox='0 0 20 20' id='uc-icon-warmth' xmlns='http://www.w3.org/2000/svg'><path d='m7.5 13.05.429.42.171-.175v-.244h-.6zm5 0h-.6v.245l.172.175.428-.42zM8.1 3.5c0-1.05.85-1.9 1.9-1.9V.4a3.1 3.1 0 0 0-3.1 3.1h1.2zm0 9.55V3.5H6.9v9.55h1.2zm-1 2.45c0-.79.315-1.506.829-2.03l-.858-.84A4.088 4.088 0 0 0 5.9 15.5h1.2zm2.9 2.9a2.9 2.9 0 0 1-2.9-2.9H5.9a4.1 4.1 0 0 0 4.1 4.1v-1.2zm2.9-2.9a2.9 2.9 0 0 1-2.9 2.9v1.2a4.1 4.1 0 0 0 4.1-4.1h-1.2zm-.829-2.03c.514.524.829 1.24.829 2.03h1.2c0-1.117-.447-2.13-1.171-2.87l-.858.84zM11.9 3.5v9.55h1.2V3.5h-1.2zM10 1.6c1.05 0 1.9.85 1.9 1.9h1.2A3.1 3.1 0 0 0 10 .4v1.2z' fill='currentColor'/><path d='M10 14V8' stroke='currentColor' stroke-width='1.2' stroke-linecap='round'/><path d='M14 3h3m-3 3h3m-3 3h3m-8 6.5a1 1 0 1 0 2 0 1 1 0 1 0-2 0' stroke='currentColor' stroke-width='1.2'/></symbol></svg>";var vn=`${_n} <div class="uc-wrapper uc-wrapper_desktop"><uc-presence-toggle class="uc-network_problems_splash" set="visible: presence.networkProblems;"><div class="uc-network_problems_content"><div class="uc-network_problems_icon"><uc-icon name="sad"></uc-icon></div><div class="uc-network_problems_text">Network error</div></div><div class="uc-network_problems_footer"><uc-btn-ui theme="primary" text="Retry" set="onclick: *on.retryNetwork"></uc-btn-ui></div></uc-presence-toggle><div class="uc-viewport"><div class="uc-file_type_outer"><div class="uc-file_type">{{fileType}}</div></div><div class="uc-image_container" ref="img-container-el"><img src="${pe}" class="uc-image uc-image_visible_from_editor" ref="img-el" /><uc-editor-image-cropper ref="cropper-el"></uc-editor-image-cropper><uc-editor-image-fader ref="fader-el"></uc-editor-image-fader></div><div class="uc-info_pan">{{msg}}</div></div><div class="uc-toolbar"><uc-line-loader-ui set="active: showLoader"></uc-line-loader-ui><div class="uc-toolbar_content uc-toolbar_content__editor"><uc-editor-toolbar></uc-editor-toolbar></div></div></div>`;var fe=class extends _{constructor(){super();u(this,"ctxOwner",!0);u(this,"_debouncedShowLoader",M(this._showLoader.bind(this),300));this.init$={...this.init$,...bn(this)}}_showLoader(e){this.$.showLoader=e}_waitForSize(){return new Promise((i,s)=>{let o=setTimeout(()=>{s(new Error("[cloud-image-editor] timeout waiting for non-zero container size"))},3e3),n=new ResizeObserver(([a])=>{a.contentRect.width>0&&a.contentRect.height>0&&(i(),clearTimeout(o),n.disconnect())});n.observe(this)})}initCallback(){super.initCallback(),this.$["*faderEl"]=this.ref["fader-el"],this.$["*cropperEl"]=this.ref["cropper-el"],this.$["*imgContainerEl"]=this.ref["img-container-el"],this.initEditor()}async updateImage(){if(this.isConnected){if(await this._waitForSize(),this.$.cdnUrl){let e=Yt(this.$.cdnUrl),i=Ie(this.$.cdnUrl,e);if(i===this.$["*originalUrl"])return;this.$["*originalUrl"]=i;let s=lr(this.$.cdnUrl),o=cr(s);this.$["*editorTransformations"]=o}else if(this.$.uuid){let e=Ie(this.cfg.cdnCname,this.$.uuid);if(e===this.$["*originalUrl"])return;this.$["*originalUrl"]=e,this.$["*editorTransformations"]={}}else throw new Error("No UUID nor CDN URL provided");this.$["*tabId"]===$.CROP?this.$["*cropperEl"].deactivate({reset:!0}):this.$["*faderEl"].deactivate();try{let e=await this.proxyUrl(R(this.$["*originalUrl"],B("json"))),i=await fetch(e).then(n=>n.json()),{width:s,height:o}=i;this.$["*imageSize"]={width:s,height:o},this.$["*tabId"]===$.CROP?this.$["*cropperEl"].activate(this.$["*imageSize"]):this.$["*faderEl"].activate({url:this.$["*originalUrl"]})}catch(e){e&&(this.telemetryManager.sendEventError(e,"cloud editor image. Failed to load image info"),console.error("Failed to load image info",e))}}}async initEditor(){try{await this._waitForSize()}catch(e){this.isConnected&&console.error(e.message);return}this.ref["img-el"].addEventListener("load",()=>{this._imgLoading=!1,this._debouncedShowLoader(!1),this.$.src!==pe&&(this.$["*networkProblems"]=!1)}),this.ref["img-el"].addEventListener("error",()=>{this._imgLoading=!1,this._debouncedShowLoader(!1),this.$["*networkProblems"]=!0}),this.sub("src",e=>{let i=this.ref["img-el"];i.src!==e&&(this._imgLoading=!0,i.src=e||pe)}),this.sub("tabs",e=>{this.$["*tabList"]=gn(e)}),this.sub("*tabId",e=>{this.ref["img-el"].className=V("uc-image",{"uc-image_hidden_to_cropper":e===$.CROP,"uc-image_hidden_effects":e!==$.CROP})}),this.classList.add("uc-editor_ON"),this.sub("*networkProblems",e=>{this.$["presence.networkProblems"]=e,this.$["presence.modalCaption"]=!e}),this.sub("*editorTransformations",e=>{if(Object.keys(e).length===0)return;let i=this.$["*originalUrl"],s=B(Oe(e),"preview"),o=R(i,s),n={originalUrl:i,cdnUrlModifiers:s,cdnUrl:o,transformations:e};this.dispatchEvent(new CustomEvent("change",{detail:n,bubbles:!0,composed:!0}))},!1),this.sub("uuid",e=>e&&this.updateImage()),this.sub("cdnUrl",e=>e&&this.updateImage()),this.sub("cropPreset",e=>{var o,n,a;let i=mi(e),s=null;if(this.$.cdnUrl){let l=lr(this.$.cdnUrl),c=cr(l);if(Array.isArray((o=c==null?void 0:c.crop)==null?void 0:o.dimensions)){let[h,d]=(n=c==null?void 0:c.crop)==null?void 0:n.dimensions;s=_o(h,d,i,.1)}}this.$["*cropPresetList"]=i,this.$["*currentAspectRatio"]=(a=s!=null?s:i==null?void 0:i[0])!=null?a:null})}};u(fe,"styleAttrs",["uc-cloud-image-editor"]);fe.template=vn;fe.bindAttributes({uuid:"uuid","cdn-url":"cdnUrl","crop-preset":"cropPreset",tabs:"tabs"});var Fi=class extends _{constructor(){super(),this.init$={...this.init$,dragging:!1},this._handlePointerUp=this._handlePointerUp_.bind(this),this._handlePointerMove=this._handlePointerMove_.bind(this),this._handleSvgPointerMove=this._handleSvgPointerMove_.bind(this)}_shouldThumbBeDisabled(t){let e=this.$["*imageBox"];if(!e)return;if(t===""&&e.height<=A&&e.width<=A)return!0;let i=e.height<=A&&(t.includes("n")||t.includes("s")),s=e.width<=A&&(t.includes("e")||t.includes("w"));return i||s}_createBackdrop(){let t=this.$["*cropBox"];if(!t)return;let{x:e,y:i,width:s,height:o}=t,n=this.ref["svg-el"],a=j("mask",{id:"backdrop-mask"}),l=j("rect",{x:0,y:0,width:"100%",height:"100%",fill:"white"}),c=j("rect",{x:e,y:i,width:s,height:o,fill:"black"});a.appendChild(l),a.appendChild(c);let h=j("rect",{x:0,y:0,width:"100%",height:"100%",fill:"var(--color-image-background)","fill-opacity":.85,mask:"url(#backdrop-mask)"});n.appendChild(h),n.appendChild(a),this._backdropMask=a,this._backdropMaskInner=c}_resizeBackdrop(){this._backdropMask&&(this._backdropMask.style.display="none",window.requestAnimationFrame(()=>{this._backdropMask&&(this._backdropMask.style.display="block")}))}_updateBackdrop(){let t=this.$["*cropBox"];if(!t)return;let{x:e,y:i,width:s,height:o}=t;this._backdropMaskInner&&Pe(this._backdropMaskInner,{x:e,y:i,width:s,height:o})}_updateFrame(){let t=this.$["*cropBox"];if(!(!t||!this._frameGuides||!this._frameThumbs)){for(let e of Object.values(this._frameThumbs)){let{direction:i,pathNode:s,interactionNode:o,groupNode:n}=e,a=i==="",l=i.length===2,{x:c,y:h,width:d,height:p}=t;if(a)Pe(o,{x:c,y:h,width:d,height:p});else{let m=Re(Math.min(d,p)/(24*2+34)/2,0,1),{d:b,center:C}=l?lo(t,i,m):co(t,i,m),v=Math.max(Mr*Re(Math.min(d,p)/Mr/3,0,1),ao);Pe(o,{x:C[0]-v,y:C[1]-v,width:v*2,height:v*2}),Pe(s,{d:b})}let f=this._shouldThumbBeDisabled(i);n.setAttribute("class",V("uc-thumb",{"uc-thumb--hidden":f,"uc-thumb--visible":!f}))}Pe(this._frameGuides,{x:t.x-1*.5,y:t.y-1*.5,width:t.width+1,height:t.height+1})}}_createThumb(t,e){let i=j("g");i.classList.add("uc-thumb"),i.setAttribute("with-effects","");let s=j("rect",{fill:"transparent"}),o=j("path",{stroke:"currentColor",fill:"none","stroke-width":3});i.appendChild(o),i.appendChild(s),t[e]={direction:e,pathNode:o,interactionNode:s,groupNode:i},e===""&&(i.style.cursor="move"),s.addEventListener("pointerdown",this._handlePointerDown.bind(this,e))}_createThumbs(){let t={};for(let e=0;e<3;e++)for(let i=0;i<3;i++){let s=`${["n","","s"][e]}${["w","","e"][i]}`;s!==""&&this._createThumb(t,s)}return this._createThumb(t,""),t}_createGuides(){let t=j("svg"),e=j("rect",{x:0,y:0,width:"100%",height:"100%",fill:"none",stroke:"currentColor","stroke-width":1,"stroke-opacity":.5});t.appendChild(e);for(let i=1;i<=2;i++){let s=j("line",{x1:`${_t*i}%`,y1:"0%",x2:`${_t*i}%`,y2:"100%",stroke:"currentColor","stroke-width":1,"stroke-opacity":.3});t.appendChild(s)}for(let i=1;i<=2;i++){let s=j("line",{x1:"0%",y1:`${_t*i}%`,x2:"100%",y2:`${_t*i}%`,stroke:"currentColor","stroke-width":1,"stroke-opacity":.3});t.appendChild(s)}return t.classList.add("uc-guides","uc-guides--semi-hidden"),t}_createFrame(){let t=this.ref["svg-el"],e=document.createDocumentFragment(),i=this._createGuides();e.appendChild(i);let s=this._createThumbs();for(let{groupNode:o}of Object.values(s))e.appendChild(o);t.appendChild(e),this._frameThumbs=s,this._frameGuides=i}_handlePointerDown(t,e){if(!this._frameThumbs)return;let i=this._frameThumbs[t];if(this._shouldThumbBeDisabled(t))return;let s=this.$["*cropBox"],{x:o,y:n}=this.ref["svg-el"].getBoundingClientRect(),a=e.x-o,l=e.y-n;this.$.dragging=!0,this._draggingThumb=i,this._dragStartPoint=[a,l],this._dragStartCrop={...s}}_handlePointerUp_(t){this._updateCursor(),this.$.dragging&&(t.stopPropagation(),t.preventDefault(),this.$.dragging=!1)}_handlePointerMove_(t){if(!this.$.dragging||!this._dragStartPoint||!this._draggingThumb)return;t.stopPropagation(),t.preventDefault();let e=this.ref["svg-el"],{x:i,y:s}=e.getBoundingClientRect(),o=t.x-i,n=t.y-s,a=o-this._dragStartPoint[0],l=n-this._dragStartPoint[1],{direction:c}=this._draggingThumb,h=this._calcCropBox(c,[a,l]);h&&(this.$["*cropBox"]=h)}_calcCropBox(t,e){var c;let[i,s]=e,o=this.$["*imageBox"],n=(c=this._dragStartCrop)!=null?c:this.$["*cropBox"],a=this.$["*currentAspectRatio"],l=a?a.width/a.height:void 0;if(t===""?n=ho({rect:n,delta:[i,s],imageBox:o}):n=po({rect:n,delta:[i,s],direction:t,aspectRatio:l,imageBox:o}),!Object.values(n).every(h=>Number.isFinite(h)&&h>=0)){console.error("CropFrame is trying to create invalid rectangle",{payload:n});return}return Ye(Qe(n),this.$["*imageBox"])}_handleSvgPointerMove_(t){if(!this._frameThumbs)return;let e=Object.values(this._frameThumbs).find(i=>{if(this._shouldThumbBeDisabled(i.direction))return!1;let o=i.interactionNode.getBoundingClientRect(),n={x:o.x,y:o.y,width:o.width,height:o.height};return fo(n,[t.x,t.y])});this._hoverThumb=e,this._updateCursor()}_updateCursor(){let t=this._hoverThumb;this.ref["svg-el"].style.cursor=t?uo(t.direction):"initial"}_createMask(t){if(this._frameImage){this._frameImage.setAttribute("href",t);return}let e=this.ref["svg-el"],i=document.createDocumentFragment(),s=j("image",{href:t});s.setAttribute("class","uc-cloud-mask"),i.appendChild(s),e.appendChild(i),this._frameImage=s}_updateMask(){let t=this.$["*cropBox"];if(!t||!this._frameImage)return;let{x:e,y:i,width:s,height:o}=t;Pe(this._frameImage,{x:e,y:i,height:o,width:s})}_render(){this._updateBackdrop(),this._updateFrame(),this._updateMask()}toggleThumbs(t){this._frameThumbs&&Object.values(this._frameThumbs).map(({groupNode:e})=>e).forEach(e=>{e.setAttribute("class",V("uc-thumb",{"uc-thumb--hidden":!t,"uc-thumb--visible":t}))})}initCallback(){super.initCallback(),this._createBackdrop(),this._createFrame(),this.sub("*imageBox",t=>{this._resizeBackdrop(),window.requestAnimationFrame(()=>{this._render()})}),this.sub("*cropBox",t=>{t&&(this._guidesHidden=t.height<=A||t.width<=A,window.requestAnimationFrame(()=>{this._render()}))}),this.subConfigValue("cloudImageEditorMaskHref",t=>{t&&this._createMask(t)}),this.sub("dragging",t=>{this._frameGuides&&this._frameGuides.setAttribute("class",V({"uc-guides--hidden":this._guidesHidden,"uc-guides--visible":!this._guidesHidden&&t,"uc-guides--semi-hidden":!this._guidesHidden&&!t}))}),this.ref["svg-el"].addEventListener("pointermove",this._handleSvgPointerMove,!0),document.addEventListener("pointermove",this._handlePointerMove,!0),document.addEventListener("pointerup",this._handlePointerUp,!0)}destroyCallback(){super.destroyCallback(),document.removeEventListener("pointermove",this._handlePointerMove),document.removeEventListener("pointerup",this._handlePointerUp)}};Fi.template='<svg class="uc-svg" ref="svg-el" xmlns="http://www.w3.org/2000/svg"></svg>';var re=class extends _{constructor(){super(...arguments);u(this,"init$",{...this.init$,active:!1,title:"",icon:"","on.click":null,"title-prop":""})}initCallback(){super.initCallback(),this._titleEl=this.ref["title-el"],this._iconEl=this.ref["icon-el"],this.sub("title",e=>{this._titleEl&&(this._titleEl.style.display=e?"block":"none")}),this.sub("active",e=>{this.className=V({"uc-active":e,"uc-not_active":!e})}),this.sub("on.click",e=>{this.onclick=e})}};re.template=`<button role="option" type="button" set="@aria-label:title-prop;" l10n="@title:title-prop;"><uc-icon ref="icon-el" set="@name: icon;"></uc-icon><div class="uc-title" ref="title-el">{{title}}</div></button>`;function Ac(r){let t=r+90;return t=t>=360?0:t,t}function xc(r,t){return r==="rotate"?Ac(t):["mirror","flip"].includes(r)?!t:null}var Pt=class extends re{initCallback(){super.initCallback(),this.defineAccessor("operation",t=>{t&&(this._operation=t,this.$.icon=t,this.bindL10n("title-prop",()=>this.l10n("a11y-cloud-editor-apply-crop",{name:this.l10n(t).toLowerCase()})))}),this.$["on.click"]=t=>{let e=this.$["*cropperEl"].getValue(this._operation),i=xc(this._operation,e);this.telemetryManager.sendEventCloudImageEditor(t,this.$["*tabId"],{operation:this._operation,next:i,prev:e}),this.$["*cropperEl"].setValue(this._operation,i)}}};var Ni=12,yn=16,Tc=r=>{let t=12,e=12;return r.width/r.height>=1?(t=Ni,e=Math.round(Ni*r.height/r.width)):(e=Ni,t=Math.round(Ni*r.width/r.height)),{width:t,height:e}},at=class extends re{constructor(){super()}initCallback(){super.initCallback(),this.$.icon="arrow-dropdown",this.$["on.click"]=this.handleClick.bind(this),this.sub("*currentAspectRatio",t=>{this.$.title=t.hasFreeform?this.l10n("freeform-crop"):this.l10n("crop-to-shape",{value:`${t.width}:${t.height}`}),this.bindL10n("title-prop",()=>this.$.title)})}handleClick(){this.$["*showListAspectRatio"]=!0}};at.template=`<button role="option" type="button" set="@aria-label:title-prop;" l10n="@title:title-prop;"><div class="uc-title" ref="title-el">{{title}}</div><uc-icon ref="icon-el" set="@name: icon;"></uc-icon></button>`;var Rt=class extends re{constructor(){super(),this.init$={...this.init$,active:!1,once:!1}}initCallback(){super.initCallback(),this.defineAccessor("aspectRatio",t=>{if(!t)return;let e=!!t.hasFreeform;this.$.title=e?this.l10n("custom"):`${t.width}:${t.height}`,e||this._renderRectBasedOnAspectRatio(t),e&&this.setAttribute("uc-aspect-ratio-freeform",""),this._aspectRatio=t,this.bindL10n("title-prop",()=>this.l10n("a11y-cloud-editor-apply-aspect-ratio",{name:e?this.l10n("custom").toLowerCase():this.l10n("crop-to-shape",{value:`${t.width}:${t.height}`}).toLowerCase(),value:""}))}),this.sub("*currentAspectRatio",t=>{var e,i,s;this.$.active=t&&t.id===((e=this._aspectRatio)==null?void 0:e.id)||(t==null?void 0:t.width)===((i=this._aspectRatio)==null?void 0:i.width)&&(t==null?void 0:t.height)===((s=this._aspectRatio)==null?void 0:s.height)}),this.$["on.click"]=this.handleClick.bind(this)}handleClick(){var t,e;((t=this.$["*currentAspectRatio"])==null?void 0:t.id)!==((e=this._aspectRatio)==null?void 0:e.id)&&(this.$["*currentAspectRatio"]=this._aspectRatio)}_renderRectBasedOnAspectRatio(t){var n,a;let{width:e,height:i}=Tc(t),s=j("rect",{"stroke-linejoin":"round",fill:"none",stroke:"currentColor","stroke-width":1.2,"fill-rule":"evenodd",x:(yn-e)/2,y:(yn-i)/2,rx:2,width:e,height:i}),o=(a=(n=this.ref["icon-el"])==null?void 0:n.ref)==null?void 0:a.svg;o&&(o.innerHTML="",o.appendChild(s))}};var Dt={FILTER:"filter",COLOR_OPERATION:"color_operation"},me="original",Vi=class extends _{constructor(){super(...arguments);u(this,"init$",{...this.init$,disabled:!1,min:0,max:100,value:0,defaultValue:0,zero:0,"on.input":e=>{this.$["*faderEl"].set(e),this.$.value=e}})}setOperation(e,i){this._controlType=e==="filter"?Dt.FILTER:Dt.COLOR_OPERATION,this._operation=e,this._iconName=e,this._title=e.toUpperCase(),this._filter=i,this._initializeValues(),this.$["*faderEl"].activate({url:this.$["*originalUrl"],operation:this._operation,value:this._filter===me?void 0:this.$.value,filter:this._filter===me?void 0:this._filter,fromViewer:!1})}_initializeValues(){let{range:e,zero:i}=le[this._operation],[s,o]=e;this.$.min=s,this.$.max=o,this.$.zero=i;let n=this.$["*editorTransformations"][this._operation];if(this._controlType===Dt.FILTER){let a=o;if(n){let{name:l,amount:c}=n;a=l===this._filter?c:o}this.$.value=a,this.$.defaultValue=a}if(this._controlType===Dt.COLOR_OPERATION){let a=typeof n!="undefined"?n:i;this.$.value=a,this.$.defaultValue=a}}apply(){let e;this._controlType===Dt.FILTER?this._filter===me?e=null:e={name:this._filter,amount:this.$.value}:e=this.$.value;let i={...this.$["*editorTransformations"],[this._operation]:e};this.$["*editorTransformations"]=i}cancel(){this.$["*faderEl"].deactivate({hide:!1})}initCallback(){super.initCallback(),this.sub("*originalUrl",e=>{this._originalUrl=e}),this.sub("value",e=>{let i=`${this._filter||this._operation} ${e}`;this.$["*operationTooltip"]=i})}};Vi.template=`<uc-slider-ui ref="slider-el" set="disabled: disabled; min: min; max: max; defaultValue: defaultValue; zero: zero; onInput: on.input;" ></uc-slider-ui>`;function je(r){let t=new Image;return{promise:new Promise((s,o)=>{t.src=r,t.onload=s,t.onerror=o}),image:t,cancel:()=>{t.naturalWidth===0&&(t.src=pe)}}}function Ft(r){let t=[];for(let o of r){let n=je(o);t.push(n)}let e=t.map(o=>o.image);return{promise:Promise.allSettled(t.map(o=>o.promise)),images:e,cancel:()=>{t.forEach(o=>{o.cancel()})}}}function lt(r){let t=r.match(/^(\w+)\s+(\d+)$/);return t?{filter:t[1],value:Number(t[2])}:null}var ct=class extends re{constructor(){super(),this.init$={...this.init$,active:!1,title:"",icon:"",isOriginal:!1,iconSize:"20","on.click":null}}_previewSrc(){let t=parseInt(window.getComputedStyle(this).getPropertyValue("--l-base-min-width"),10),e=window.devicePixelRatio,i=Math.ceil(e*t),s=e>=2?"lightest":"normal",o=100,n={...this.$["*editorTransformations"]};return n[this._operation]=this._filter!==me?{name:this._filter,amount:o}:void 0,R(this._originalUrl,B(Jt,Oe(n),`quality/${s}`,`scale_crop/${i}x${i}/center`))}async _observerCallback(t,e){var s;if(t[0].isIntersecting){let o=await this.proxyUrl(this._previewSrc()),n=this.ref["preview-el"],{promise:a,cancel:l}=je(o);this._cancelPreload=l,a.catch(c=>{this.$["*networkProblems"]=!0,console.error("Failed to load image",{error:c})}).finally(()=>{n.style.backgroundImage=`url(${o})`,n.setAttribute("loaded",""),e.unobserve(this)})}else(s=this._cancelPreload)==null||s.call(this)}initCallback(){super.initCallback(),this.$["on.click"]=e=>{this.$.active?this.$.isOriginal||(this.$["*sliderEl"].setOperation(this._operation,this._filter),this.$["*showSlider"]=!0):(this.$["*sliderEl"].setOperation(this._operation,this._filter),this.$["*sliderEl"].apply()),this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{operation:lt(this.$["*operationTooltip"])}),this.$["*currentFilter"]=this._filter},this.defineAccessor("filter",e=>{this._operation="filter",this._filter=e,this.$.isOriginal=e===me,this.$.icon=this.$.isOriginal?"original":"slider",this.bindL10n("title-prop",()=>this.l10n("a11y-cloud-editor-apply-filter",{name:e.toLowerCase()}))}),this._observer=new window.IntersectionObserver(this._observerCallback.bind(this),{threshold:[0,1]});let t=this.$["*originalUrl"];this._originalUrl=t,this.$.isOriginal?this.ref["icon-el"].classList.add("uc-original-icon"):this._observer.observe(this),this.sub("*currentFilter",e=>{this.$.active=e&&e===this._filter}),this.sub("isOriginal",e=>{this.$.iconSize=e?40:20}),this.sub("active",e=>{if(this.$.isOriginal)return;let i=this.ref["icon-el"];i.style.opacity=e?"1":"0";let s=this.ref["preview-el"];e?s.style.opacity="0":s.style.backgroundImage&&(s.style.opacity="1")}),this.sub("*networkProblems",async e=>{if(!e){let i=await this.proxyUrl(this._previewSrc()),s=this.ref["preview-el"];s.style.backgroundImage&&(s.style.backgroundImage="none",s.style.backgroundImage=`url(${i})`)}})}destroyCallback(){var t,e;super.destroyCallback(),(t=this._observer)==null||t.disconnect(),(e=this._cancelPreload)==null||e.call(this)}};ct.template=`<button type="button" role="option" l10n="@title:title-prop;@aria-label:title-prop"><div class="uc-preview" ref="preview-el"></div><uc-icon ref="icon-el" set="@name: icon; @size: iconSize;"></uc-icon></button>`;var Nt=class extends re{constructor(){super(...arguments);u(this,"_operation","")}initCallback(){super.initCallback(),this.$["on.click"]=e=>{this.$["*sliderEl"].setOperation(this._operation),this.$["*showSlider"]=!0,this.$["*currentOperation"]=this._operation,this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{operation:lt(this.$["*operationTooltip"])})},this.defineAccessor("operation",e=>{e&&(this._operation=e,this.$.icon=e,this.bindL10n("title-prop",()=>this.l10n("a11y-cloud-editor-apply-tuning",{name:this.l10n(e).toLowerCase()})),this.bindL10n("title",()=>this.l10n(e)))}),this.sub("*editorTransformations",e=>{if(!this._operation)return;let{zero:i}=le[this._operation],s=e[this._operation],o=typeof s!="undefined"?s!==i:!1;this.$.active=o})}};function wn(r,t){let e={};for(let i of t){let s=r[i];(r.hasOwnProperty(i)||s!==void 0)&&(e[i]=s)}return e}function ut(r,t,e){let s=window.devicePixelRatio,o=Math.min(Math.ceil(t*s),3e3),n=s>=2?"lightest":"normal";return R(r,B(Jt,Oe(e),`quality/${n}`,`stretch/off/-/resize/${o}x`,`@clib/${Le}/${Ue}/uc-cloud-image-editor/`))}function Sc(r){return r?[({dimensions:e,coords:i})=>[...e,...i].every(s=>Number.isInteger(s)&&Number.isFinite(s)),({dimensions:e,coords:i})=>e.every(s=>s>0)&&i.every(s=>s>=0)].every(e=>e(r)):!0}var Bi=class extends _{constructor(){super();u(this,"ctxOwner",!0);this.init$={...this.init$,image:null,"*padding":20,"*operations":{rotate:0,mirror:!1,flip:!1},"*imageBox":{x:0,y:0,width:0,height:0},"*cropBox":{x:0,y:0,width:0,height:0}},this._commitDebounced=M(this._commit.bind(this),300),this._handleResizeThrottled=st(this._handleResize.bind(this),100),this._imageSize={width:0,height:0}}_handleResize(){!this.isConnected||!this._isActive||(this._initCanvas(),this._syncTransformations(),this._alignImage(),this._alignCrop(),this._draw())}_syncTransformations(){let e=this.$["*editorTransformations"],i=wn(e,Object.keys(this.$["*operations"])),s={...this.$["*operations"],...i};this.$["*operations"]=s}_initCanvas(){let e=this.ref["canvas-el"],i=e.getContext("2d"),s=this.offsetWidth,o=this.offsetHeight,n=window.devicePixelRatio;e.style.width=`${s}px`,e.style.height=`${o}px`,e.width=s*n,e.height=o*n,i==null||i.scale(n,n),this._canvas=e,this._ctx=i}_alignImage(){if(!this._isActive||!this.$.image)return;let e=this.$.image,i=this.$["*padding"],s=this.$["*operations"],{rotate:o}=s,n={width:this.offsetWidth,height:this.offsetHeight},a=Je({width:e.naturalWidth,height:e.naturalHeight},o),l;if(a.width>n.width-i*2||a.height>n.height-i*2){let c=a.width/a.height,h=n.width/n.height;if(c>h){let d=n.width-i*2,p=d/c,f=0+i,m=i+(n.height-i*2)/2-p/2;l={x:f,y:m,width:d,height:p}}else{let d=n.height-i*2,p=d*c,f=i+(n.width-i*2)/2-p/2,m=0+i;l={x:f,y:m,width:p,height:d}}}else{let{width:c,height:h}=a,d=i+(n.width-i*2)/2-c/2,p=i+(n.height-i*2)/2-h/2;l={x:d,y:p,width:c,height:h}}this.$["*imageBox"]=Qe(l)}_alignCrop(){let e=this.$["*cropBox"],i=this.$["*imageBox"],s=this.$["*operations"],{rotate:o}=s,n=this.$["*editorTransformations"].crop,{width:a,x:l,y:c}=this.$["*imageBox"];if(n){let{dimensions:[p,f],coords:[m,b]}=n,{width:C}=Je(this._imageSize,o),v=a/C;e=Ye(Qe({x:l+m*v,y:c+b*v,width:p*v,height:f*v}),this.$["*imageBox"])}let h=this.$["*currentAspectRatio"],d=h?h.width/h.height:void 0;if(!mo(e,i)||d&&!go(e,d)){let p=i.width/i.height,f=i.width,m=i.height;d&&(p>d?f=Math.min(i.height*d,i.width):m=Math.min(i.width/d,i.height)),e={x:i.x+i.width/2-f/2,y:i.y+i.height/2-m/2,width:f,height:m}}this.$["*cropBox"]=Ye(Qe(e),this.$["*imageBox"])}_drawImage(){let e=this._ctx;if(!e)return;let i=this.$.image,s=this.$["*imageBox"],o=this.$["*operations"],{mirror:n,flip:a,rotate:l}=o,c=Je({width:s.width,height:s.height},l);e.save(),e.translate(s.x+s.width/2,s.y+s.height/2),e.rotate(l*Math.PI*-1/180),e.scale(n?-1:1,a?-1:1),e.drawImage(i,-c.width/2,-c.height/2,c.width,c.height),e.restore()}_draw(){if(!this._isActive||!this.$.image||!this._canvas||!this._ctx)return;let e=this._canvas;this._ctx.clearRect(0,0,e.width,e.height),this._drawImage()}_animateIn({fromViewer:e}){this.$.image&&(this.ref["frame-el"].toggleThumbs(!0),this._transitionToImage(),setTimeout(()=>{this.className=V({"uc-active_from_viewer":e,"uc-active_from_editor":!e,"uc-inactive_to_editor":!1})}))}_getCropDimensions(){let e=this.$["*cropBox"],i=this.$["*imageBox"],s=this.$["*operations"],{rotate:o}=s,{width:n,height:a}=i,{width:l,height:c}=Je(this._imageSize,o),{width:h,height:d}=e,p=n/l,f=a/c;return[Re(Math.round(h/p),1,l),Re(Math.round(d/f),1,c)]}_getCropTransformation(){let e=this.$["*cropBox"],i=this.$["*imageBox"],s=this.$["*operations"],{rotate:o}=s,{width:n,height:a,x:l,y:c}=i,{width:h,height:d}=Je(this._imageSize,o),{x:p,y:f}=e,m=n/h,b=a/d,C=this._getCropDimensions(),v={dimensions:C,coords:[Re(Math.round((p-l)/m),0,h-C[0]),Re(Math.round((f-c)/b),0,d-C[1])]};if(!Sc(v)){console.error("Cropper is trying to create invalid crop object",{payload:v});return}if(!(C[0]===h&&C[1]===d))return v}_commit(){if(!this.isConnected||!this._imageSize)return;let e=this.$["*operations"],{rotate:i,mirror:s,flip:o}=e,n=this._getCropTransformation(),l={...this.$["*editorTransformations"],crop:n,rotate:i,mirror:s,flip:o};this.$["*editorTransformations"]=l}setValue(e,i){this.$["*operations"]={...this.$["*operations"],[e]:i},this._isActive&&(this._alignImage(),this._alignCrop(),this._draw())}getValue(e){return this.$["*operations"][e]}async activate(e,{fromViewer:i}={}){if(!this._isActive){this._isActive=!0,this._imageSize=e,this.removeEventListener("transitionend",this._reset);try{this.$.image=await this._waitForImage(this.$["*originalUrl"],this.$["*editorTransformations"]),this._syncTransformations(),this._animateIn({fromViewer:i})}catch(s){console.error("Failed to activate cropper",{error:s}),this.telemetryManager.sendEventError(s,"cloud editor image. Failed to activate cropper")}this._observer=new ResizeObserver(([s])=>{s.contentRect.width>0&&s.contentRect.height>0&&this._isActive&&this.$.image&&this._handleResizeThrottled()}),this._observer.observe(this)}}deactivate({reset:e=!1}={}){var i;this._isActive&&(!e&&this._commit(),this._isActive=!1,this._transitionToCrop(),this.className=V({"uc-active_from_viewer":!1,"uc-active_from_editor":!1,"uc-inactive_to_editor":!0}),this.ref["frame-el"].toggleThumbs(!1),this.addEventListener("transitionend",this._reset,{once:!0}),(i=this._observer)==null||i.disconnect())}_transitionToCrop(){let e=this._getCropDimensions(),i=Math.min(this.offsetWidth,e[0])/this.$["*cropBox"].width,s=Math.min(this.offsetHeight,e[1])/this.$["*cropBox"].height,o=Math.min(i,s),n=this.$["*cropBox"].x+this.$["*cropBox"].width/2,a=this.$["*cropBox"].y+this.$["*cropBox"].height/2;this.style.transform=`scale(${o}) translate(${(this.offsetWidth/2-n)/o}px, ${(this.offsetHeight/2-a)/o}px)`,this.style.transformOrigin=`${n}px ${a}px`}_transitionToImage(){let e=this.$["*cropBox"].x+this.$["*cropBox"].width/2,i=this.$["*cropBox"].y+this.$["*cropBox"].height/2;this.style.transform="scale(1)",this.style.transformOrigin=`${e}px ${i}px`}_reset(){this._isActive||(this.$.image=null)}async _waitForImage(e,i){var h;let s=this.offsetWidth;i={...i,crop:void 0,rotate:void 0,flip:void 0,mirror:void 0};let o=await this.proxyUrl(ut(e,s,i)),{promise:n,cancel:a,image:l}=je(o),c=this._handleImageLoading(o);return l.addEventListener("load",c,{once:!0}),l.addEventListener("error",c,{once:!0}),(h=this._cancelPreload)==null||h.call(this),this._cancelPreload=a,n.then(()=>l).catch(d=>(console.error("Failed to load image",{error:d}),this.$["*networkProblems"]=!0,Promise.resolve(l)))}_handleImageLoading(e){let i="crop",s=this.$["*loadingOperations"];return s.get(i)||s.set(i,new Map),s.get(i).get(e)||(s.set(i,s.get(i).set(e,!0)),this.$["*loadingOperations"]=s),()=>{var o;(o=s==null?void 0:s.get(i))!=null&&o.has(e)&&(s.get(i).delete(e),this.$["*loadingOperations"]=s)}}initCallback(){super.initCallback(),this.sub("*imageBox",()=>{this._draw()}),this.sub("*cropBox",()=>{this.$.image&&this._commitDebounced()}),this.sub("*currentAspectRatio",()=>{this._alignCrop()}),setTimeout(()=>{this.sub("*networkProblems",e=>{e||this._isActive&&this.activate(this._imageSize,{fromViewer:!1})})},0)}destroyCallback(){var e;super.destroyCallback(),(e=this._observer)==null||e.disconnect()}};Bi.template=`<canvas class="uc-canvas" ref="canvas-el"></canvas><uc-crop-frame ref="frame-el"></uc-crop-frame>`;function os(r,t,e){let i=Array(e);e--;for(let s=e;s>=0;s--)i[s]=Math.ceil((s*t+(e-s)*r)/e);return i}function Ic(r){return r.reduce((t,e,i)=>i<r.length-1?[...t,[e,r[i+1]]]:t,[])}function Oc(r,t,e){let i=Ic(r).find(([s,o])=>s<=t&&t<=o);return r.map(s=>{let o=Math.abs(i[0]-i[1]),n=Math.abs(t-i[0])/o;return i[0]===s?t>e?1:1-n:i[1]===s?t>=e?n:1:0})}function kc(r,t){return r.map((e,i)=>e<t?r.length-i:i)}function Cn(r,t){let e=le[r].keypointsNumber,{range:i,zero:s}=le[r];return[...new Set([...os(i[0],s,e+1),...os(s,i[1],e+1),s,t])].sort((o,n)=>o-n)}var ns=class extends _{constructor(){super(),this._isActive=!1,this._hidden=!0,this._addKeypointDebounced=M(this._addKeypoint.bind(this),600),this.classList.add("uc-inactive_to_cropper")}_handleImageLoading(t){let e=this._operation,i=this.$["*loadingOperations"];return i.get(e)||i.set(e,new Map),i.get(e).get(t)||(i.set(e,i.get(e).set(t,!0)),this.$["*loadingOperations"]=i),()=>{var s;(s=i==null?void 0:i.get(e))!=null&&s.has(t)&&(i.get(e).delete(t),this.$["*loadingOperations"]=i)}}_flush(){window.cancelAnimationFrame(this._raf),this._raf=window.requestAnimationFrame(()=>{for(let t of this._keypoints){let{image:e}=t;e&&(e.style.opacity=t.opacity.toString(),e.style.zIndex=t.zIndex.toString())}})}async _imageSrc({url:t=this._url,filter:e=this._filter,operation:i,value:s}={}){let o={...this._transformations};i&&(o[i]=e?{name:e,amount:s}:s);let n=this.offsetWidth;return await this.proxyUrl(ut(t,n,o))}async _constructKeypoint(t,e){return{src:await this._imageSrc({operation:t,value:e}),image:null,opacity:0,zIndex:0,value:e}}_isSame(t,e){return this._operation===t&&this._filter===e}async _addKeypoint(t,e,i){let s=()=>!this._isSame(t,e)||this._value!==i||!!this._keypoints.find(l=>l.value===i);if(s())return;let o=await this._constructKeypoint(t,i),n=new Image;n.src=o.src;let a=this._handleImageLoading(o.src);n.addEventListener("load",a,{once:!0}),n.addEventListener("error",a,{once:!0}),o.image=n,n.classList.add("uc-fader-image"),n.addEventListener("load",()=>{if(s())return;let l=this._keypoints,c=l.findIndex(d=>d.value>i),h=c<l.length?l[c].image:null;!this._container||h&&!this._container.contains(h)||(l.splice(c,0,o),this._container.insertBefore(n,h),this._update(t,i))},{once:!0}),n.addEventListener("error",()=>{this.$["*networkProblems"]=!0},{once:!0})}set(t){t=typeof t=="string"?parseInt(t,10):t,this._update(this._operation,t),this._addKeypointDebounced(this._operation,this._filter,t)}_update(t,e){this._operation=t,this._value=e;let{zero:i}=le[t],s=this._keypoints.map(a=>a.value),o=Oc(s,e,i),n=kc(s,i);for(let[a,l]of Object.entries(this._keypoints))l.opacity=o[a],l.zIndex=n[a];this._flush()}_createPreviewImage(){let t=new Image;return t.classList.add("uc-fader-image","uc-fader-image--preview"),t.style.opacity="0",t}async _initNodes(){let t=document.createDocumentFragment();this._previewImage=this._previewImage||this._createPreviewImage(),!this.contains(this._previewImage)&&t.appendChild(this._previewImage);let e=document.createElement("div");t.appendChild(e);let i=this._keypoints.map(c=>c.src),{images:s,promise:o,cancel:n}=Ft(i);s.forEach(c=>{let h=this._handleImageLoading(c.src);c.addEventListener("load",h),c.addEventListener("error",h)}),this._cancelLastImages=()=>{n(),this._cancelLastImages=void 0};let a=this._operation,l=this._filter;await o,this._isActive&&this._isSame(a,l)&&(this._container&&this._container.remove(),this._container=e,this._keypoints.forEach((c,h)=>{let d=s[h];d.classList.add("uc-fader-image"),c.image=d,this._container.appendChild(d)}),this.appendChild(t),this._flush())}async setTransformations(t){if(this._transformations=t,this._previewImage){let e=await this._imageSrc(),i=this._handleImageLoading(e);this._previewImage.src=e,this._previewImage.addEventListener("load",i,{once:!0}),this._previewImage.addEventListener("error",i,{once:!0}),this._previewImage.style.opacity="1",this._previewImage.addEventListener("error",()=>{this.$["*networkProblems"]=!0},{once:!0})}}async preload({url:t,filter:e,operation:i,value:s}){this._cancelBatchPreload&&this._cancelBatchPreload();let o=Cn(i,s),n=await Promise.all(o.map(l=>this._imageSrc({url:t,filter:e,operation:i,value:l}))),{cancel:a}=Ft(n);this._cancelBatchPreload=a}_setOriginalSrc(t){let e=this._previewImage||this._createPreviewImage();if(!this.contains(e)&&this.appendChild(e),this._previewImage=e,e.src===t){e.style.opacity="1",e.style.transform="scale(1)",this.className=V({"uc-active_from_viewer":this._fromViewer,"uc-active_from_cropper":!this._fromViewer,"uc-inactive_to_cropper":!1});return}e.style.opacity="0";let i=this._handleImageLoading(t);e.addEventListener("error",i,{once:!0}),e.src=t,e.addEventListener("load",()=>{i(),e&&(e.style.opacity="1",e.style.transform="scale(1)",this.className=V({"uc-active_from_viewer":this._fromViewer,"uc-active_from_cropper":!this._fromViewer,"uc-inactive_to_cropper":!1}))},{once:!0}),e.addEventListener("error",()=>{this.$["*networkProblems"]=!0},{once:!0})}async activate({url:t,operation:e,value:i,filter:s,fromViewer:o}){if(this._isActive=!0,this._hidden=!1,this._url=t,this._operation=e||"initial",this._value=i,this._filter=s,this._fromViewer=o,typeof i!="number"&&!s){let a=await this._imageSrc({operation:e,value:i});this._setOriginalSrc(a),this._container&&this._container.remove();return}this._keypoints=await Promise.all(Cn(e,i).map(a=>this._constructKeypoint(e,a))),this._update(e,i),this._initNodes()}deactivate({hide:t=!0}={}){this._isActive=!1,this._cancelLastImages&&this._cancelLastImages(),this._cancelBatchPreload&&this._cancelBatchPreload(),t&&!this._hidden?(this._hidden=!0,this._previewImage&&(this._previewImage.style.transform="scale(1)"),this.className=V({"uc-active_from_viewer":!1,"uc-active_from_cropper":!1,"uc-inactive_to_cropper":!0}),this.addEventListener("transitionend",()=>{this._container&&this._container.remove()},{once:!0})):this._container&&this._container.remove()}};var $c=1,zi=class extends _{initCallback(){super.initCallback(),this.addEventListener("wheel",t=>{t.preventDefault();let{deltaY:e,deltaX:i}=t;Math.abs(i)>$c?this.scrollLeft+=i:this.scrollLeft+=e},{passive:!1}),this.addEventListener("scroll",()=>{},{passive:!0})}};zi.template=" <slot></slot> ";function Mc(r){return`<uc-presence-toggle class="uc-tab-toggle" set="visible: presence.tabToggle.${r}; styles: presence.tabToggleStyles;" ><uc-btn-ui theme="tab" ref="tab-toggle-${r}" data-id="${r}" icon="${r}" set="onclick: on.clickTab; aria-role:tab_role; aria-controls:tab_${r}; title-prop: a11y-editor-tab-${r}" ></uc-btn-ui></uc-presence-toggle>`}function Lc(r){return`<uc-presence-toggle id="tab_${r}" class="uc-tab-content" set="visible: presence.tabContent.${r}; styles: presence.tabContentStyles" ><uc-editor-scroller hidden-scrollbar><div class="uc-controls-list_align"><div role="listbox" aria-orientation="horizontal" class="uc-controls-list_inner" ref="controls-list-${r}" ></div></div></uc-editor-scroller></uc-presence-toggle>`}var Hi=class extends _{constructor(){super();u(this,"_updateInfoTooltip",M(()=>{var n,a;let e=this.$["*editorTransformations"],i=this.$["*currentOperation"],s="",o=!1;if(this.$["*tabId"]===$.FILTERS)if(o=!0,this.$["*currentFilter"]&&((n=e==null?void 0:e.filter)==null?void 0:n.name)===this.$["*currentFilter"]){let l=((a=e==null?void 0:e.filter)==null?void 0:a.amount)||100;s=this.$["*currentFilter"]+" "+l}else s=this.l10n(me);else if(this.$["*tabId"]===$.TUNING&&i){o=!0;let l=(e==null?void 0:e[i])||le[i].zero;s=this.l10n(i)+" "+l}o&&(this.$["*operationTooltip"]=s),this.ref["tooltip-el"].classList.toggle("uc-info-tooltip_visible",o)},0));this.init$={...this.init$,"*sliderEl":null,"*listAspectRatioEl":null,"*loadingOperations":new Map,"*showSlider":!1,"*showListAspectRatio":!1,hideSliderOrList:!1,"*currentFilter":me,"*currentOperation":null,showLoader:!1,filters:Is,colorOperations:Ss,cropOperations:Os,"*operationTooltip":null,"presence.mainToolbar":!0,"presence.subToolbar":!1,"presence.tabToggles":!0,"presence.tabContent.crop":!1,"presence.tabContent.tuning":!1,"presence.tabContent.filters":!1,"presence.tabToggle.crop":!0,"presence.tabToggle.tuning":!0,"presence.tabToggle.filters":!0,"presence.subTopToolbarStyles":{hidden:"uc-sub-toolbar--top-hidden",visible:"uc-sub-toolbar--visible"},"presence.subBottomToolbarStyles":{hidden:"uc-sub-toolbar--bottom-hidden",visible:"uc-sub-toolbar--visible"},"presence.tabContentStyles":{hidden:"uc-tab-content--hidden",visible:"uc-tab-content--visible"},"presence.tabToggleStyles":{hidden:"uc-tab-toggle--hidden",visible:"uc-tab-toggle--visible"},"presence.tabTogglesStyles":{hidden:"uc-tab-toggles--hidden",visible:"uc-tab-toggles--visible"},"on.cancel":e=>{var i;this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{action:"cancel"}),(i=this._cancelPreload)==null||i.call(this),this.$["*on.cancel"]()},"on.apply":e=>{this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{action:"apply"}),this.$["*on.apply"](this.$["*editorTransformations"])},"on.applySlider":e=>{this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{action:"apply-slider",operation:lt(this.$["*operationTooltip"])}),this.ref["slider-el"].apply(),this._onSliderClose()},"on.cancelSlider":e=>{this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{action:"cancel-slider"}),this.ref["slider-el"].cancel(),this._onSliderClose()},"on.clickTab":e=>{let i=e.currentTarget.getAttribute("data-id");i&&(this.telemetryManager.sendEventCloudImageEditor(e,i),this._activateTab(i,{fromViewer:!1}))},tab_role:"tab",[`tab_${$.TUNING}`]:`tab_${$.TUNING}`,[`tab_${$.CROP}`]:`tab_${$.CROP}`,[`tab_${$.FILTERS}`]:`tab_${$.FILTERS}`,cancel:"cancel",apply:"apply","a11y-editor-tab-filters":"a11y-editor-tab-filters","a11y-editor-tab-tuning":"a11y-editor-tab-tuning","a11y-editor-tab-crop":"a11y-editor-tab-crop"},this._debouncedShowLoader=M(this._showLoader.bind(this),500)}_onSliderClose(){this.$["*showSlider"]=!1,this.$["*tabId"]===$.CROP&&(this.$["*showListAspectRatio"]=!1),this.$["*tabId"]===$.TUNING&&this.ref["tooltip-el"].classList.toggle("uc-info-tooltip_visible",!1)}_createOperationControl(e){let i=new Nt;return i.operation=e,i}_createFilterControl(e){let i=new ct;return i.filter=e,i}_createToggleControl(e){let i=new Pt;return i.operation=e,i}_createAspectRatioConrol(e){let i=new Rt;return i.aspectRatio=e,i}_createFreeformConrol(){return new at}_clearListAspectRatio(){this.$["*listAspectRatioEl"].innerHTML=""}_renderControlsList(e){let i=this.ref[`controls-list-${e}`],s=document.createDocumentFragment();if(this._clearListAspectRatio(),e===$.CROP){let o=this.$["*cropPresetList"].length>=3;if(o){let n=this._createFreeformConrol();s.appendChild(n)}this.$["*cropPresetList"].forEach(n=>{let a=this._createAspectRatioConrol(n);s.appendChild(a),o&&this.$["*listAspectRatioEl"].appendChild(a)}),this.$.cropOperations.forEach(n=>{let a=this._createToggleControl(n);s.appendChild(a)})}else e===$.FILTERS?[me,...this.$.filters].forEach(o=>{let n=this._createFilterControl(o);s.appendChild(n)}):e===$.TUNING&&this.$.colorOperations.forEach(o=>{let n=this._createOperationControl(o);s.appendChild(n)});[...s.children].forEach((o,n)=>{n===s.childNodes.length-1&&o.classList.add("uc-controls-list_last-item")}),i.innerHTML="",i.appendChild(s)}_activateTab(e,{fromViewer:i}){this.$["*tabId"]=e,e===$.CROP?(this.$["*faderEl"].deactivate(),this.$["*cropperEl"].activate(this.$["*imageSize"],{fromViewer:i})):(this.$["*faderEl"].activate({url:this.$["*originalUrl"],fromViewer:i}),this.$["*cropperEl"].deactivate());for(let s of K){let o=s===e,n=this.ref[`tab-toggle-${s}`];n.active=o,o?(this._renderControlsList(e),this._syncTabIndicator()):this._unmountTabControls(s),this.$[`presence.tabContent.${s}`]=o}}_unmountTabControls(e){let i=this.ref[`controls-list-${e}`];i&&(i.innerHTML="")}_syncTabIndicator(){let e=this.ref[`tab-toggle-${this.$["*tabId"]}`],i=this.ref["tabs-indicator"];i.style.transform=`translateX(${e.offsetLeft}px)`}async _preloadEditedImage(){var e;if(this.$["*imgContainerEl"]&&this.$["*originalUrl"]){let i=this.$["*imgContainerEl"].offsetWidth,s=await this.proxyUrl(ut(this.$["*originalUrl"],i,this.$["*editorTransformations"]));(e=this._cancelPreload)==null||e.call(this);let{cancel:o}=Ft([s]);this._cancelPreload=()=>{o(),this._cancelPreload=void 0}}}_showLoader(e){this.$.showLoader=e}initCallback(){super.initCallback(),this.$["*sliderEl"]=this.ref["slider-el"],this.$["*listAspectRatioEl"]=this.ref["list-el"],this.sub("*imageSize",e=>{e&&setTimeout(()=>{this._activateTab(this.$["*tabId"],{fromViewer:!0})},0)}),this.sub("*editorTransformations",e=>{var s;let i=(s=e==null?void 0:e.filter)==null?void 0:s.name;this.$["*currentFilter"]!==i&&(this.$["*currentFilter"]=i)}),this.sub("*currentFilter",()=>{this._updateInfoTooltip()}),this.sub("*currentOperation",()=>{this._updateInfoTooltip()}),this.sub("*tabId",()=>{this._updateInfoTooltip()}),this.sub("*originalUrl",()=>{this.$["*faderEl"]&&this.$["*faderEl"].deactivate()}),this.sub("*editorTransformations",e=>{this._preloadEditedImage(),this.$["*faderEl"]&&this.$["*faderEl"].setTransformations(e)}),this.sub("*loadingOperations",e=>{let i=!1;for(let[,s]of e.entries()){if(i)break;for(let[,o]of s.entries())if(o){i=!0;break}}this._debouncedShowLoader(i)}),this.sub("*showSlider",e=>{this.$["presence.subToolbar"]=e,this.$["presence.mainToolbar"]=!e,this.$.hideSliderOrList=!0}),this.sub("*showListAspectRatio",e=>{this.$["presence.subToolbar"]=e,this.$["presence.mainToolbar"]=!e,this.$.hideSliderOrList=!1}),this.sub("*tabList",e=>{this.$["presence.tabToggles"]=e.length>1;for(let i of K){this.$[`presence.tabToggle.${i}`]=e.includes(i);let s=this.ref[`tab-toggle-${i}`];s.style.gridColumn=e.indexOf(i)+1}e.includes(this.$["*tabId"])||this._activateTab(e[0],{fromViewer:!1})}),this._updateInfoTooltip()}destroyCallback(){this.$["*showSlider"]=!1,this.$["*showListAspectRatio"]=!1}};Hi.template=`<uc-line-loader-ui set="active: showLoader"></uc-line-loader-ui><div class="uc-info-tooltip_container"><div class="uc-info-tooltip_wrapper"><div ref="tooltip-el" class="uc-info-tooltip uc-info-tooltip_hidden">{{*operationTooltip}}</div></div></div><div class="uc-toolbar-container"><uc-presence-toggle role="tablist" class="uc-sub-toolbar" set="visible: presence.mainToolbar; styles: presence.subTopToolbarStyles" ><div class="uc-tab-content-row">${K.map(Lc).join("")}</div><div class="uc-controls-row"><uc-presence-toggle class="uc-tab-toggles" set="visible: presence.tabToggles; styles: presence.tabTogglesStyles" ><div ref="tabs-indicator" class="uc-tab-toggles_indicator"></div> ${K.map(Mc).join("")} </uc-presence-toggle><uc-btn-ui style="order: -1" theme="secondary-icon" icon="closeMax" set="onclick: on.cancel; title-prop:cancel"></uc-btn-ui><uc-btn-ui theme="primary-icon" icon="done" set="onclick: on.apply; title-prop:apply"></uc-btn-ui></div></uc-presence-toggle><uc-presence-toggle class="uc-sub-toolbar" set="visible: presence.subToolbar; styles: presence.subBottomToolbarStyles" ><div class="uc-slider" set="@hidden:!hideSliderOrList"><uc-editor-slider ref="slider-el"></uc-editor-slider></div><div set="@hidden:hideSliderOrList" class="uc-list-aspect-ratio-container"><div class="uc-list-aspect-ratio" ref="list-el"></div></div><div class="uc-controls-row"><uc-btn-ui theme="secondary" set="onclick: on.cancelSlider" l10n="@text:cancel"></uc-btn-ui><uc-btn-ui theme="primary" set="onclick: on.applySlider" l10n="@text:apply"></uc-btn-ui></div></uc-presence-toggle></div>`;var Vt=class extends _{constructor(){super(),this._iconReversed=!1,this._iconSingle=!1,this._iconHidden=!1,this.init$={...this.init$,text:"",icon:"",iconCss:this._iconCss(),theme:null,"aria-role":"","aria-controls":"","title-prop":""},this.defineAccessor("active",t=>{t?this.setAttribute("active",""):this.removeAttribute("active")})}_iconCss(){return V("uc-icon",{"uc-icon_left":!this._iconReversed,"uc-icon_right":this._iconReversed,"uc-icon_hidden":this._iconHidden,"uc-icon_single":this._iconSingle})}initCallback(){super.initCallback(),this.sub("icon",t=>{this._iconSingle=!this.$.text,this._iconHidden=!t,this.$.iconCss=this._iconCss()}),this.sub("theme",t=>{t!=="custom"&&(this.className=`uc-${t}`)}),this.sub("text",t=>{this._iconSingle=!1}),this.hasAttribute("theme")||this.setAttribute("theme","default"),this.defineAccessor("aria-role",t=>{this.$["aria-role"]=t||""}),this.defineAccessor("aria-controls",t=>{this.$["aria-controls"]=t||""}),this.defineAccessor("title-prop",t=>{this.$["title-prop"]=t||""})}set reverse(t){this.hasAttribute("reverse")?(this.style.flexDirection="row-reverse",this._iconReversed=!0):(this._iconReversed=!1,this.style.flexDirection=null)}};Vt.bindAttributes({text:"text",icon:"icon",reverse:"reverse",theme:"theme"});Vt.template=`<button type="button" set="@role:aria-role; @aria-controls: aria-controls; @aria-label:title-prop" l10n="@title:title-prop;" ><uc-icon set="className: iconCss; @name: icon; @hidden: !icon"></uc-icon><div class="uc-text">{{text}}</div></button>`;var ji=class extends _{constructor(){super(),this._active=!1,this._handleTransitionEndRight=()=>{let t=this.ref["line-el"];t.style.transition="initial",t.style.opacity="0",t.style.transform="translateX(-101%)",this._active&&this._start()}}initCallback(){super.initCallback(),this.defineAccessor("active",t=>{typeof t=="boolean"&&(t?this._start():this._stop())})}_start(){this._active=!0;let{width:t}=this.getBoundingClientRect(),e=this.ref["line-el"];e.style.transition="transform 1s",e.style.opacity="1",e.style.transform=`translateX(${t}px)`,e.addEventListener("transitionend",this._handleTransitionEndRight,{once:!0})}_stop(){this._active=!1}};ji.template=`<div class="uc-inner"><div class="uc-line" ref="line-el"></div></div>`;var Gi={transition:"uc-transition",visible:"uc-visible",hidden:"uc-hidden"},Wi=class extends _{constructor(){super(),this._visible=!1,this._visibleStyle=Gi.visible,this._hiddenStyle=Gi.hidden,this._externalTransitions=!1,this.defineAccessor("styles",t=>{t&&(this._externalTransitions=!0,this._visibleStyle=t.visible,this._hiddenStyle=t.hidden)}),this.defineAccessor("visible",t=>{typeof t=="boolean"&&(this._visible=t,this._handleVisible())})}_handleVisible(){this.style.visibility=this._visible?"inherit":"hidden",mn(this,{[Gi.transition]:!this._externalTransitions,[this._visibleStyle]:this._visible,[this._hiddenStyle]:!this._visible}),this.setAttribute("aria-hidden",this._visible?"false":"true")}initCallback(){super.initCallback(),this.classList.toggle("uc-initial",!0),this._externalTransitions||this.classList.add(Gi.transition),this._handleVisible(),setTimeout(()=>{this.classList.toggle("uc-initial",!1)},0)}};Wi.template="<slot></slot> ";var Xi=class extends _{constructor(){super();u(this,"init$",{...this.init$,disabled:!1,min:0,max:100,onInput:null,onChange:null,defaultValue:null,"on.sliderInput":()=>{let e=parseInt(this.ref["input-el"].value,10);this._updateValue(e),this.$.onInput&&this.$.onInput(e)},"on.sliderChange":()=>{let e=parseInt(this.ref["input-el"].value,10);this.$.onChange&&this.$.onChange(e)}});this.setAttribute("with-effects","")}initCallback(){super.initCallback(),this.defineAccessor("disabled",i=>{this.$.disabled=i}),this.defineAccessor("min",i=>{this.$.min=i}),this.defineAccessor("max",i=>{this.$.max=i}),this.defineAccessor("defaultValue",i=>{this.$.defaultValue=i,this.ref["input-el"].value=i,this._updateValue(i)}),this.defineAccessor("zero",i=>{this._zero=i}),this.defineAccessor("onInput",i=>{i&&(this.$.onInput=i)}),this.defineAccessor("onChange",i=>{i&&(this.$.onChange=i)}),this._updateSteps(),this._observer=new ResizeObserver(()=>{this._updateSteps();let i=parseInt(this.ref["input-el"].value,10);this._updateValue(i)}),this._observer.observe(this),this._thumbSize=parseInt(window.getComputedStyle(this).getPropertyValue("--l-thumb-size"),10),setTimeout(()=>{let i=parseInt(this.ref["input-el"].value,10);this._updateValue(i)},0),this.sub("disabled",i=>{let s=this.ref["input-el"];i?s.setAttribute("disabled","disabled"):s.removeAttribute("disabled")});let e=this.ref["input-el"];e.addEventListener("focus",()=>{this.style.setProperty("--color-effect","var(--hover-color-rgb)")}),e.addEventListener("blur",()=>{this.style.setProperty("--color-effect","var(--idle-color-rgb)")})}_updateValue(e){this._updateZeroDot(e);let{width:i}=this.getBoundingClientRect(),n=100/(this.$.max-this.$.min)*(e-this.$.min)*(i-this._thumbSize)/100;window.requestAnimationFrame(()=>{this.ref["thumb-el"].style.transform=`translateX(${n}px)`})}_updateZeroDot(e){if(!this._zeroDotEl)return;e===this._zero?this._zeroDotEl.style.opacity="0":this._zeroDotEl.style.opacity="1";let{width:i}=this.getBoundingClientRect(),n=100/(this.$.max-this.$.min)*(this._zero-this.$.min)*(i-this._thumbSize)/100;window.requestAnimationFrame(()=>{this._zeroDotEl.style.transform=`translateX(${n}px)`})}_updateSteps(){let i=this.ref["steps-el"],{width:s}=i.getBoundingClientRect(),o=Math.ceil(s/2),n=Math.ceil(o/15)-2;if(this._stepsCount===n)return;let a=document.createDocumentFragment(),l=document.createElement("div"),c=document.createElement("div");l.className="uc-minor-step",c.className="uc-border-step",a.appendChild(c);for(let d=0;d<n;d++)a.appendChild(l.cloneNode());a.appendChild(c.cloneNode());for(let d=0;d<n;d++)a.appendChild(l.cloneNode());a.appendChild(c.cloneNode());let h=document.createElement("div");h.className="uc-zero-dot",a.appendChild(h),this._zeroDotEl=h,i.innerHTML="",i.appendChild(a),this._stepsCount=n}destroyCallback(){var e;super.destroyCallback(),(e=this._observer)==null||e.disconnect()}};Xi.template=`<div class="uc-steps" ref="steps-el"></div><div ref="thumb-el" class="uc-thumb"></div><input class="uc-input" type="range" ref="input-el" set="oninput: on.sliderInput; onchange: on.sliderChange; @min: min; @max: max; @value: defaultValue;" />`;var as=class extends k{constructor(){super(...arguments);u(this,"couldBeCtxOwner",!0);u(this,"activityType",g.activities.CLOUD_IMG_EDIT);u(this,"_entry");u(this,"_instance")}get activityParams(){let e=super.activityParams;if("internalId"in e)return e;throw new Error("Cloud Image Editor activity params not found")}initCallback(){super.initCallback(),this.registerActivity(this.activityType,{onActivate:()=>this.mountEditor(),onDeactivate:()=>this.unmountEditor()}),this.subConfigValue("cropPreset",e=>{this._instance&&this._instance.getAttribute("crop-preset")!==e&&this._instance.setAttribute("crop-preset",e)}),this.subConfigValue("cloudImageEditorTabs",e=>{this._instance&&this._instance.getAttribute("tabs")!==e&&this._instance.setAttribute("tabs",e)})}handleApply(e){if(!this._entry)return;let i=e.detail;this._entry.setMultipleValues({cdnUrl:i.cdnUrl,cdnUrlModifiers:i.cdnUrlModifiers}),this.modalManager.close(g.activities.CLOUD_IMG_EDIT),this.historyBack()}handleCancel(){this.modalManager.close(g.activities.CLOUD_IMG_EDIT),this.historyBack()}mountEditor(){let{internalId:e}=this.activityParams,i=this.uploadCollection.read(e);if(!i)throw new Error(`Entry with internalId "${e}" not found`);this._entry=i;let s=this._entry.getValue("cdnUrl");if(!s)throw new Error(`Entry with internalId "${e}" hasn't uploaded yet`);let o=new fe,n=this.cfg.cropPreset,a=this.cfg.cloudImageEditorTabs;o.setAttribute("ctx-name",this.ctxName),o.setAttribute("cdn-url",s),n&&o.setAttribute("crop-preset",n),a&&o.setAttribute("tabs",a),o.addEventListener("apply",l=>{let c=l;this.handleApply(c),this.debugPrint('editor event "apply"',c.detail)}),o.addEventListener("cancel",l=>{let c=l;this.handleCancel(),this.debugPrint('editor event "cancel"',c.detail)}),o.addEventListener("change",l=>{let c=l;this.debugPrint('editor event "change"',c.detail)}),this.innerHTML="",this.appendChild(o),this._instance=o}unmountEditor(){this._instance=void 0,this._entry=void 0,this.innerHTML=""}};var Uc=function(r){return r.replace(/[\\-\\[]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},En=function(r,t="i"){let e=r.split("*").map(Uc);return new RegExp("^"+e.join(".+")+"$",t)};function Pc(r,t){return window.getComputedStyle(r).getPropertyValue(t).trim()}var Rc=["--uc-font-family","--uc-font-size","--uc-line-height","--uc-button-size","--uc-preview-size","--uc-input-size","--uc-padding","--uc-radius","--uc-transition","--uc-background","--uc-foreground","--uc-primary","--uc-primary-hover","--uc-primary-transparent","--uc-primary-foreground","--uc-secondary","--uc-secondary-hover","--uc-secondary-foreground","--uc-muted","--uc-muted-foreground","--uc-destructive","--uc-destructive-foreground","--uc-border"];function An(r){return Rc.reduce((t,e)=>{let i=Pc(r,e);return i&&(t[e]=i),t},{})}var Dc=["selected-files-change","toolbar-state-change"],Fc=r=>!r||typeof r!="object"?!1:"type"in r&&Dc.includes(r.type),qi=class{constructor(t){u(this,"_handlerMap",new Map);u(this,"_context");u(this,"_handleMessage",t=>{if(t.source!==this._context)return;let e=t.data;if(!Fc(e))return;let i=this._handlerMap.get(e.type);if(i)for(let s of i)s(e)});this._context=t,window.addEventListener("message",this._handleMessage)}on(t,e){var s;let i=(s=this._handlerMap.get(t))!=null?s:new Set;this._handlerMap.has(t)||this._handlerMap.set(t,i),i.add(e)}send(t){this._context.postMessage(t,"*")}destroy(){window.removeEventListener("message",this._handleMessage)}};function xn(r){let t=[];for(let[e,i]of Object.entries(r))i==null||typeof i=="string"&&i.length===0||t.push(`${e}=${encodeURIComponent(i)}`);return t.join("&")}var Tn=()=>{var t,e;let r=(e=(t=globalThis.top)!=null?t:globalThis.parent)!=null?e:globalThis.self;try{return r.location.origin}catch(i){return console.warn("Unable to access top-level window location:",i),globalThis.location.origin}};var Nc={[de.GDRIVE]:"ngdrive"},Ki=class extends k{constructor(){super();u(this,"couldBeCtxOwner",!0);u(this,"activityType",g.activities.EXTERNAL);this.init$={...this.init$,activityIcon:"",activityCaption:"",selectedList:[],total:0,isSelectionReady:!1,isDoneBtnEnabled:!1,couldSelectAll:!1,couldDeselectAll:!1,showSelectionStatus:!1,counterText:"",doneBtnTextClass:"uc-hidden",toolbarVisible:!0,onDone:()=>{for(let e of this.$.selectedList){let i=this.extractUrlFromSelectedFile(e),{filename:s}=e,{externalSourceType:o}=this.activityParams;this.api.addFileFromUrl(i,{fileName:s,source:o})}this.$["*currentActivity"]=g.activities.UPLOAD_LIST,this.modalManager.open(g.activities.UPLOAD_LIST)},onCancel:()=>{this.historyBack()},onSelectAll:()=>{var e;(e=this._messageBridge)==null||e.send({type:"select-all"})},onDeselectAll:()=>{var e;(e=this._messageBridge)==null||e.send({type:"deselect-all"})}}}get activityParams(){let e=super.activityParams;if("externalSourceType"in e)return e;throw new Error("External Source activity params not found")}initCallback(){super.initCallback(),this.registerActivity(this.activityType,{onActivate:()=>{let{externalSourceType:e}=this.activityParams;if(!e){this.modalManager.close(this.$["*currentActivity"]),this.$["*currentActivity"]=null,console.error(`Param "externalSourceType" is required for activity "${this.activityType}"`);return}this.set$({activityCaption:`${e==null?void 0:e[0].toUpperCase()}${e==null?void 0:e.slice(1)}`,activityIcon:e}),this.mountIframe()}}),this.sub("*currentActivityParams",e=>{this.isActivityActive&&(this.unmountIframe(),this.mountIframe())}),this.sub("*currentActivity",e=>{e!==this.activityType&&this.unmountIframe()}),this.subConfigValue("multiple",e=>{this.$.showSelectionStatus=e}),this.subConfigValue("localeName",e=>{this.setupL10n()}),this.subConfigValue("externalSourcesEmbedCss",e=>{this.applyEmbedCss(e)})}extractUrlFromSelectedFile(e){if(e.alternatives){let i=D(this.cfg.externalSourcesPreferredTypes);for(let s of i){let o=En(s);for(let[n,a]of Object.entries(e.alternatives))if(o.test(n))return a}}return e.url}handleToolbarStateChange(e){this.set$({toolbarVisible:e.isVisible})}async handleSelectedFilesChange(e){if(this.cfg.multiple!==e.isMultipleMode){console.error("Multiple mode mismatch");return}this.bindL10n("counterText",()=>this.l10n("selected-count",{count:e.selectedCount,total:e.total})),this.set$({doneBtnTextClass:e.isReady?"":"uc-hidden",isSelectionReady:e.isReady,isDoneBtnEnabled:e.isReady&&e.selectedFiles.length>0,showSelectionStatus:e.isMultipleMode&&e.total>0,couldSelectAll:e.selectedCount<e.total,couldDeselectAll:e.selectedCount===e.total,selectedList:e.selectedFiles})}handleIframeLoad(){this.applyEmbedCss(this.cfg.externalSourcesEmbedCss),this.applyTheme(),this.setupL10n()}applyTheme(){var e;(e=this._messageBridge)==null||e.send({type:"set-theme-definition",theme:An(this)})}applyEmbedCss(e){var i;(i=this._messageBridge)==null||i.send({type:"set-embed-css",css:e})}setupL10n(){var e;(e=this._messageBridge)==null||e.send({type:"set-locale-definition",localeDefinition:this.cfg.localeName})}remoteUrl(){var d,p,f;let{pubkey:e,remoteTabSessionKey:i,socialBaseUrl:s,multiple:o}=this.cfg,{externalSourceType:n}=this.activityParams,a=(d=Nc[n])!=null?d:n,c={lang:((f=(p=this.l10n("social-source-lang"))==null?void 0:p.split("-"))==null?void 0:f[0])||"en",public_key:e,images_only:"false",session_key:i,wait_for_theme:!0,multiple:o.toString(),origin:this.cfg.topLevelOrigin||Tn(),debug:this.cfg.debug},h=new URL(`/window4/${a}`,s);return h.search=xn(c),h.toString()}mountIframe(){var i;let e=nr({tag:"iframe",attributes:{src:this.remoteUrl(),marginheight:0,marginwidth:0,frameborder:0,allowTransparency:!0}});e.addEventListener("load",this.handleIframeLoad.bind(this)),this.ref.iframeWrapper.innerHTML="",this.ref.iframeWrapper.appendChild(e),e.contentWindow&&((i=this._messageBridge)==null||i.destroy(),this._messageBridge=new qi(e.contentWindow),this._messageBridge.on("selected-files-change",this.handleSelectedFilesChange.bind(this)),this._messageBridge.on("toolbar-state-change",this.handleToolbarStateChange.bind(this)),this.resetSelectionStatus())}unmountIframe(){var e;(e=this._messageBridge)==null||e.destroy(),this._messageBridge=void 0,this.ref.iframeWrapper.innerHTML="",this.resetSelectionStatus()}resetSelectionStatus(){this.set$({selectedList:[],total:0,isDoneBtnEnabled:!1,couldSelectAll:!1,couldDeselectAll:!1,showSelectionStatus:!1})}};Ki.template=`<uc-activity-header><button type="button" class="uc-mini-btn uc-close-btn" set="onclick: *historyBack" l10n="@title:a11y-activity-header-button-close;@aria-label:a11y-activity-header-button-close" ><uc-icon name="close"></uc-icon></button></uc-activity-header><div class="uc-content"><div ref="iframeWrapper" class="uc-iframe-wrapper"></div><div class="uc-toolbar" set="@hidden: !toolbarVisible"><button type="button" class="uc-cancel-btn uc-secondary-btn" set="onclick: onCancel" l10n="cancel"></button><div set="@hidden: !showSelectionStatus" class="uc-selection-status-box"><span>{{counterText}}</span><button type="button" set="onclick: onSelectAll; @hidden: !couldSelectAll" l10n="select-all"></button><button type="button" set="onclick: onDeselectAll; @hidden: !couldDeselectAll" l10n="deselect-all"></button></div><button type="button" class="uc-done-btn uc-primary-btn" set="onclick: onDone; @disabled: !isDoneBtnEnabled;"><uc-spinner set="@hidden: isSelectionReady"></uc-spinner><span l10n="done" set="@class: doneBtnTextClass"></span></button></div></div>`;var ls=class extends k{constructor(){super(...arguments);u(this,"requireCtxName",!0)}_createValidationInput(){let e=document.createElement("input");return e.type="text",e.name=this.ctxName,e.required=this.cfg.multipleMin>0,e.tabIndex=-1,ht(e,{opacity:0,height:0,width:0}),e}initCallback(){super.initCallback(),this._validationInputElement=this._createValidationInput(),this.appendChild(this._validationInputElement),this.sub("*collectionState",e=>{var i;{if(this._dynamicInputsContainer||(this._dynamicInputsContainer=document.createElement("div"),this.appendChild(this._dynamicInputsContainer)),!this._validationInputElement){let a=this._createValidationInput();this.appendChild(a),this._validationInputElement=a}if(this._dynamicInputsContainer.innerHTML="",e.status==="uploading"||e.status==="idle"){this._validationInputElement.value="",this._validationInputElement.setCustomValidity("");return}if(e.status==="failed"){let a=(i=e.errors[0])==null?void 0:i.message;this._validationInputElement.value="",this._validationInputElement.setCustomValidity(a);return}let s=e.group?e.group:null;if(s){this._validationInputElement.value=s.cdnUrl,this._validationInputElement.setCustomValidity("");return}let o=e.allEntries.map(a=>a.cdnUrl);if(!this.cfg.multiple&&o.length===1){this._validationInputElement.value=o[0],this._validationInputElement.setCustomValidity("");return}this._validationInputElement.remove(),this._validationInputElement=null;let n=new DocumentFragment;for(let a of o){let l=document.createElement("input");l.type="hidden",l.name=`${this.ctxName}[]`,l.value=a,n.appendChild(l)}this._dynamicInputsContainer.replaceChildren(n)}},!1)}};var cs=class extends g{};var Zi=class extends _{constructor(){super(...arguments);u(this,"init$",{...this.init$,currentText:"",options:[],selectHtml:"",onSelect:e=>{var i;e.preventDefault(),e.stopPropagation(),this.value=this.ref.select.value,this.$.currentText=((i=this.$.options.find(s=>s.value==this.value))==null?void 0:i.text)||"",this.dispatchEvent(new Event("change"))}})}initCallback(){super.initCallback(),this.sub("options",e=>{var s;this.$.currentText=((s=e==null?void 0:e[0])==null?void 0:s.text)||"";let i="";e==null||e.forEach(o=>{i+=`<option value="${o.value}">${o.text}</option>`}),this.$.selectHtml=i})}};Zi.template='<select ref="select" set="innerHTML: selectHtml; onchange: onSelect"></select>';var Yi=class extends _{initCallback(){super.initCallback(),this.subConfigValue("removeCopyright",t=>{this.toggleAttribute("hidden",!!t)})}};u(Yi,"template",`<a href="https://uploadcare.com/?utm_source=copyright&utm_medium=referral&utm_campaign=v4" target="_blank noopener" class="uc-credits" >Powered by Uploadcare</a >`);var Ji=class extends Se{};Ji.template='<div class="uc-spinner"></div>';function Vc(r){let t=new Blob([r],{type:"image/svg+xml"});return URL.createObjectURL(t)}function Qi(r="hsl(209, 21%, 65%)",t=32,e=32){return Vc(`<svg width="${t}" height="${e}" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" fill="${r}" d="M9.68848 8.70068C9.68848 8.42454 9.91233 8.20068 10.1885 8.20068H15.0885C15.2211 8.20068 15.3483 8.25336 15.442 8.34713L20.342 13.2471C20.4358 13.3409 20.4885 13.4681 20.4885 13.6007V21.3007C20.4885 21.5768 20.2646 21.8007 19.9885 21.8007H10.1885C9.91233 21.8007 9.68848 21.5768 9.68848 21.3007V8.70068ZM10.6885 9.20068V20.8007H19.4885V14.1007L15.0885 14.1007C14.8123 14.1007 14.5885 13.8768 14.5885 13.6007L14.5885 9.20068H10.6885ZM15.5885 9.90779L18.7814 13.1007L15.5885 13.1007L15.5885 9.90779Z"/></svg>`)}function us(r,t=40){if(r.type==="image/svg+xml")return URL.createObjectURL(r);let e=document.createElement("canvas"),i=e.getContext("2d"),s=new Image,o=new Promise((n,a)=>{s.onload=()=>{let l=s.height/s.width;l>1?(e.width=t,e.height=t*l):(e.height=t,e.width=t/l),i.fillStyle="rgb(240, 240, 240)",i.fillRect(0,0,e.width,e.height),i.drawImage(s,0,0,e.width,e.height),e.toBlob(c=>{if(!c){a();return}let h=URL.createObjectURL(c);n(h)})},s.onerror=l=>{a(l)}});return s.src=URL.createObjectURL(r),o}var Bc=3e3,Bt=class extends ot{constructor(){super();u(this,"_renderedGridOnce",!1);u(this,"_thumbRect",null);u(this,"_isIntersecting",!1);u(this,"_firstViewMode",this.cfg.filesViewMode);u(this,"_generateThumbnail",this._withEntry(async(e,i=!1)=>{let s=e.getValue("fileInfo"),o=e.getValue("isImage"),n=e.getValue("uuid"),a=e.getValue("thumbUrl"),l=this._calculateThumbSize(i);if(s&&o&&n){let h=await this.proxyUrl(R(Ie(this.cfg.cdnCname,n),B(e.getValue("cdnUrlModifiers"),"stretch/off",`scale_crop/${l}x${l}/center`)));if(a===h)return;let{promise:d}=je(h);d.then(()=>{e.setValue("thumbUrl",h),a!=null&&a.startsWith("blob:")&&URL.revokeObjectURL(a)}).catch(async()=>{if(!(a!=null&&a.startsWith("blob:")))try{let p=e.getValue("file");if(!p)return;let f=await us(p,l);e.setValue("thumbUrl",f)}catch(p){this.telemetryManager.sendEventError(p,"thumbnail generation. Failed to generate thumb from file");let f=window.getComputedStyle(this).getPropertyValue("--uc-muted-foreground");e.setValue("thumbUrl",Qi(f))}});return}if(e.getValue("thumbUrl"))return;let c=e.getValue("file");if(c!=null&&c.type.includes("image"))try{let h=await us(c,l);e.setValue("thumbUrl",h)}catch(h){this.telemetryManager.sendEventError(h,"thumbnail generation. Failed to generate thumb from file");let d=window.getComputedStyle(this).getPropertyValue("--uc-muted-foreground");e.setValue("thumbUrl",Qi(d))}else{let h=window.getComputedStyle(this).getPropertyValue("--uc-muted-foreground");e.setValue("thumbUrl",Qi(h))}}));u(this,"_debouncedGenerateThumb",M(this._generateThumbnail.bind(this),100));this.init$={...this.init$,thumbUrl:"",badgeIcon:"",uid:""}}_calculateThumbSize(e=!1){var s,o;e&&(this._thumbRect=this.getBoundingClientRect());let i=Math.max(parseInt(String(((s=this==null?void 0:this._thumbRect)==null?void 0:s.height)||0)),parseInt(String(((o=this==null?void 0:this._thumbRect)==null?void 0:o.width)||0)),this.cfg.thumbSize);return window.devicePixelRatio>1&&(i*=window.devicePixelRatio),Math.min(i,Bc)}_observerCallback(e){var s;let[i]=e;this._isIntersecting=i.isIntersecting,i.isIntersecting&&(this._thumbRect=i.boundingClientRect,this._debouncedGenerateThumb(),(s=this._observer)==null||s.disconnect()),i.intersectionRatio===0&&this._debouncedGenerateThumb.cancel()}_reset(){super._reset(),this._debouncedGenerateThumb.cancel()}_handleEntryId(e){var s;this._reset();let i=(s=this.uploadCollection)==null?void 0:s.read(e);this._entry=i,i&&(this._subEntry("fileInfo",o=>{o!=null&&o.isImage&&this._isIntersecting&&this._debouncedGenerateThumb()}),this._subEntry("thumbUrl",o=>{this.$.thumbUrl=o?`url(${o})`:""}),this._subEntry("cdnUrlModifiers",()=>{this._isIntersecting&&this._debouncedGenerateThumb()}),this._isIntersecting&&this._debouncedGenerateThumb())}initCallback(){super.initCallback(),this.defineAccessor("badgeIcon",e=>this.$.badgeIcon=e),this.defineAccessor("uid",e=>{this.set$({uid:e})}),this.sub("uid",e=>{this._handleEntryId(e)}),this.subConfigValue("filesViewMode",e=>{e==="grid"&&!this._renderedGridOnce&&(this._firstViewMode==="list"&&this._debouncedGenerateThumb(!0),this._renderedGridOnce=!0)}),this.setAttribute("role","img")}connectedCallback(){super.connectedCallback(),this._observer=new window.IntersectionObserver(this._observerCallback.bind(this),{threshold:.1}),this._observer.observe(this)}disconnectedCallback(){var e;super.disconnectedCallback(),this._entrySubs=new Set,this._debouncedGenerateThumb.cancel(),(e=this._observer)==null||e.disconnect()}};Bt.template=`<div class="uc-thumb" set="style.backgroundImage: thumbUrl"><div class="uc-badge"><uc-icon set="@name: badgeIcon"></uc-icon></div></div>`;Bt.bindAttributes({badgeIcon:null,uid:null});var zt=class zt extends ce{constructor(){super(),this.init$={...this.init$,isHidden:!1,"*solution":this.tagName}}initCallback(){super.initCallback(),this.emit(ye.INIT_SOLUTION,void 0),this.defineAccessor("headless",t=>{this.set$({isHidden:O(t)})})}};u(zt,"styleAttrs",[...q(zt,zt,"styleAttrs"),"uc-file-uploader-regular"]);var Ht=zt;Ht.template=`<uc-simple-btn set="@hidden: isHidden"></uc-simple-btn><uc-modal id="start-from" strokes block-body-scrolling><uc-start-from><uc-drop-area with-icon clickable></uc-drop-area><uc-source-list role="list" wrap></uc-source-list><button type="button" l10n="start-from-cancel" class="uc-secondary-btn" set="onclick: *historyBack"></button><uc-copyright></uc-copyright></uc-start-from></uc-modal><uc-modal id="upload-list" strokes block-body-scrolling><uc-upload-list></uc-upload-list></uc-modal><uc-modal id="camera" strokes block-body-scrolling><uc-camera-source></uc-camera-source></uc-modal><uc-modal id="url" strokes block-body-scrolling><uc-url-source></uc-url-source></uc-modal><uc-modal id="external" strokes block-body-scrolling><uc-external-source></uc-external-source></uc-modal><uc-modal id="cloud-image-edit" strokes block-body-scrolling><uc-cloud-image-editor-activity></uc-cloud-image-editor-activity></uc-modal>`;Ht.bindAttributes({headless:null});var ds="active",er="",jt=class jt extends ce{constructor(){super(),this.init$={...this.init$,singleUpload:!1,isHiddenStartFrom:!1,classUploadList:er,classStartFrom:er,"*solution":this.tagName}}_handleModalOpen(t){var e;t.id===g.activities.CLOUD_IMG_EDIT&&this.set$({classUploadList:ds}),this.$["*currentActivity"]===g.activities.UPLOAD_LIST&&this.set$({classUploadList:ds,isHiddenStartFrom:!0}),((e=this.$["*uploadList"])==null?void 0:e.length)<=0&&this.set$({classStartFrom:ds})}_handleModalClose(t){t.id===this.$["*currentActivity"]&&(this.$["*currentActivity"]=g.activities.UPLOAD_LIST,this.set$({isHiddenStartFrom:!1})),t.id===g.activities.CLOUD_IMG_EDIT&&(this.$["*currentActivity"]=g.activities.UPLOAD_LIST)}initCallback(){super.initCallback(),this.emit(ye.INIT_SOLUTION,void 0);let t=this.ref.uBlock;this.sub("*currentActivity",e=>{e===g.activities.UPLOAD_LIST&&this.modalManager.closeAll(),e||(this.$["*currentActivity"]=t.initActivity||g.activities.START_FROM)}),this.sub("*uploadList",e=>{(e==null?void 0:e.length)>0?(this.$["*currentActivity"]=g.activities.UPLOAD_LIST,this.set$({classStartFrom:er})):(this.set$({classUploadList:er,isHiddenStartFrom:!1}),this.$["*currentActivity"]=t.initActivity||g.activities.START_FROM)}),this.subConfigValue("confirmUpload",e=>{e!==!1&&(this.cfg.confirmUpload=!1)}),this.subConfigValue("filesViewMode",e=>{this.setAttribute("mode",e),this.subConfigValue("multiple",i=>{e==="grid"?(i?this.style.removeProperty("--uc-grid-col"):this.style.setProperty("--uc-grid-col","1"),this.$.singleUpload=!i):(this.style.removeProperty("--uc-grid-col"),this.$.singleUpload=!1)})}),this.handleModalOpen=this._handleModalOpen.bind(this),this.handleModalClose=this._handleModalClose.bind(this),this.modalManager.subscribe(F.OPEN,this.handleModalOpen),this.modalManager.subscribe(F.CLOSE,this.handleModalClose)}destroyCallback(){super.destroyCallback(),this.modalManager.unsubscribe(F.OPEN,this.handleModalOpen),this.modalManager.unsubscribe(F.CLOSE,this.handleModalClose)}};u(jt,"styleAttrs",[...q(jt,jt,"styleAttrs"),"uc-file-uploader-minimal"]);var tr=jt;tr.template=`<uc-start-from set="@hidden: isHiddenStartFrom; @class:classStartFrom"><uc-drop-area set="@single:singleUpload;" initflow clickable tabindex="0" l10n="choose-file"></uc-drop-area><uc-copyright></uc-copyright></uc-start-from><uc-upload-list set="@class:classUploadList" ref="uBlock"></uc-upload-list><uc-modal id="start-from" strokes block-body-scrolling><uc-start-from><uc-drop-area with-icon clickable></uc-drop-area><uc-source-list role="list" wrap></uc-source-list><button type="button" l10n="start-from-cancel" class="uc-secondary-btn" set="onclick: *historyBack"></button></uc-start-from></uc-modal><uc-modal id="camera" strokes block-body-scrolling><uc-camera-source></uc-camera-source></uc-modal><uc-modal id="url" strokes block-body-scrolling><uc-url-source></uc-url-source></uc-modal><uc-modal id="external" strokes block-body-scrolling><uc-external-source></uc-external-source></uc-modal><uc-modal id="cloud-image-edit" strokes block-body-scrolling><uc-cloud-image-editor-activity></uc-cloud-image-editor-activity></uc-modal>`;var Gt=class Gt extends ce{constructor(){super(),this.init$={...this.init$,couldCancel:!1,"*solution":this.tagName,cancel:()=>{this.couldHistoryBack?this.$["*historyBack"]():this.couldShowList&&(this.$["*currentActivity"]=g.activities.UPLOAD_LIST)}}}get couldHistoryBack(){let t=this.$["*history"];return t.length>1&&t[t.length-1]!==g.activities.START_FROM}get couldShowList(){return this.cfg.showEmptyList||this.$["*uploadList"].length>0}initCallback(){super.initCallback(),this.emit(ye.INIT_SOLUTION,void 0);let t=this.ref.uBlock;this.sub("*currentActivity",e=>{e||(this.$["*currentActivity"]=t.initActivity||g.activities.START_FROM)}),this.sub("*uploadList",e=>{(e==null?void 0:e.length)>0&&this.$["*currentActivity"]===(t.initActivity||g.activities.START_FROM)&&(this.$["*currentActivity"]=g.activities.UPLOAD_LIST)}),this.sub("*history",()=>{this.$.couldCancel=this.couldHistoryBack||this.couldShowList})}};u(Gt,"styleAttrs",[...q(Gt,Gt,"styleAttrs"),"uc-file-uploader-inline"]);var ir=Gt;ir.template=`<uc-start-from><uc-drop-area with-icon clickable></uc-drop-area><uc-source-list role="list" wrap></uc-source-list><button type="button" l10n="start-from-cancel" class="uc-cancel-btn uc-secondary-btn" set="onclick: cancel; @hidden: !couldCancel" ></button><uc-copyright></uc-copyright></uc-start-from><uc-upload-list ref="uBlock"></uc-upload-list><uc-camera-source></uc-camera-source><uc-url-source></uc-url-source><uc-external-source></uc-external-source><uc-cloud-image-editor-activity></uc-cloud-image-editor-activity>`;var Wt=class Wt extends fe{constructor(){super(),this.init$={...this.init$,"*solution":this.tagName}}initCallback(){var t;super.initCallback(),this.emit(ye.INIT_SOLUTION,void 0),(t=this.a11y)==null||t.registerBlock(this)}};u(Wt,"styleAttrs",[...q(Wt,Wt,"styleAttrs"),"uc-wgt-common"]);var hs=Wt;function ps(r){for(let t in r){let e=[...t].reduce((i,s)=>(s.toUpperCase()===s&&(s="-"+s.toLowerCase()),i+=s),"");e.startsWith("-")&&(e=e.replace("-","")),e.startsWith("uc-")||(e="uc-"+e),r[t].reg&&r[t].reg(e)}}var fs="UC";async function zc(r,t=!1){return new Promise((e,i)=>{if(typeof document!="object"){e(null);return}if(typeof window=="object"&&window[fs]){e(window[fs]);return}let s=document.createElement("script");s.async=!0,s.src=r,s.onerror=()=>{i()},s.onload=()=>{let o=window[fs];t&&ps(o),e(o)},document.head.appendChild(s)})}export{g as ActivityBlock,cs as ActivityHeader,Se as BaseComponent,_ as Block,Vt as BtnUi,Pi as CameraSource,hs as CloudImageEditor,as as CloudImageEditorActivity,fe as CloudImageEditorBlock,Hl as Config,Yi as Copyright,Fi as CropFrame,T as Data,kt as DropArea,Rt as EditorAspectRatioButtonControl,Pt as EditorCropButtonControl,ct as EditorFilterControl,at as EditorFreeformButtonControl,Bi as EditorImageCropper,ns as EditorImageFader,Nt as EditorOperationControl,zi as EditorScroller,Vi as EditorSlider,Hi as EditorToolbar,Ki as ExternalSource,de as ExternalUploadSource,Lt as FileItem,ir as FileUploaderInline,tr as FileUploaderMinimal,Ht as FileUploaderRegular,ls as FormInput,xt as Icon,Qr as Img,ji as LineLoaderUi,$i as Modal,F as ModalEvents,Le as PACKAGE_NAME,Ue as PACKAGE_VERSION,Wi as PresenceToggle,Di as ProgressBar,Ri as ProgressBarCommon,Zi as Select,It as SimpleBtn,Xi as SliderUi,ce as SolutionBlock,$t as SourceBtn,is as SourceList,Ji as Spinner,Ii as StartFrom,Bt as Thumb,Te as UID,Cc as UploadCtxProvider,Mi as UploadList,U as UploadSource,k as UploaderBlock,Li as UrlSource,ps as defineComponents,Zs as defineLocale,zc as loadFileUploaderFrom,Et as toKebabCase};
|
|
26
|
+
var On=Object.defineProperty;var kn=Object.getPrototypeOf;var $n=Reflect.get;var Mn=(r,t,e)=>t in r?On(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var u=(r,t,e)=>Mn(r,typeof t!="symbol"?t+"":t,e);var Z=(r,t,e)=>$n(kn(r),e,t);var Ln=Object.defineProperty,Un=(r,t,e)=>t in r?Ln(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e,or=(r,t,e)=>(Un(r,typeof t!="symbol"?t+"":t,e),e);function Pn(r){let t=e=>{var i;for(let s in e)((i=e[s])==null?void 0:i.constructor)===Object&&(e[s]=t(e[s]));return{...e}};return t(r)}var T=class{constructor(r){r.constructor===Object?this.store=Pn(r):(this._storeIsProxy=!0,this.store=r),this.callbackMap=Object.create(null)}static warn(r,t){console.warn(`Symbiote Data: cannot ${r}. Prop name: `+t)}read(r){return!this._storeIsProxy&&!this.store.hasOwnProperty(r)?(T.warn("read",r),null):this.store[r]}has(r){return this._storeIsProxy?this.store[r]!==void 0:this.store.hasOwnProperty(r)}add(r,t,e=!1){!e&&Object.keys(this.store).includes(r)||(this.store[r]=t,this.notify(r))}pub(r,t){if(!this._storeIsProxy&&!this.store.hasOwnProperty(r)){T.warn("publish",r);return}this.store[r]=t,this.notify(r)}multiPub(r){for(let t in r)this.pub(t,r[t])}notify(r){this.callbackMap[r]&&this.callbackMap[r].forEach(t=>{t(this.store[r])})}sub(r,t,e=!0){return!this._storeIsProxy&&!this.store.hasOwnProperty(r)?(T.warn("subscribe",r),null):(this.callbackMap[r]||(this.callbackMap[r]=new Set),this.callbackMap[r].add(t),e&&t(this.store[r]),{remove:()=>{this.callbackMap[r].delete(t),this.callbackMap[r].size||delete this.callbackMap[r]},callback:t})}static registerCtx(r,t=Symbol()){let e=T.globalStore.get(t);return e?console.warn('State: context UID "'+t+'" already in use'):(e=new T(r),T.globalStore.set(t,e)),e}static deleteCtx(r){T.globalStore.delete(r)}static getCtx(r,t=!0){return T.globalStore.get(r)||(t&&console.warn('State: wrong context UID - "'+r+'"'),null)}};T.globalStore=new Map;var x=Object.freeze({BIND_ATTR:"set",ATTR_BIND_PRFX:"@",EXT_DATA_CTX_PRFX:"*",NAMED_DATA_CTX_SPLTR:"/",CTX_NAME_ATTR:"ctx-name",CTX_OWNER_ATTR:"ctx-owner",CSS_CTX_PROP:"--ctx-name",EL_REF_ATTR:"ref",AUTO_TAG_PRFX:"sym",REPEAT_ATTR:"repeat",REPEAT_ITEM_TAG_ATTR:"repeat-item-tag",SET_LATER_KEY:"__toSetLater__",USE_TPL:"use-template",ROOT_STYLE_ATTR_NAME:"sym-component"}),bs="1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm",Rn=bs.length-1,Te=class{static generate(r="XXXXXXXXX-XXX"){let t="";for(let e=0;e<r.length;e++)t+=r[e]==="-"?r[e]:bs.charAt(Math.random()*Rn);return t}};function _s(r,t,e){let i=!0,s,o=t.split(".");return o.forEach((n,a)=>{a<o.length-1?r=r[n]:s=n}),r?r[s]=e:i=!1,i}function Dn(r){return r.split("-").map((t,e)=>t&&e?t[0].toUpperCase()+t.slice(1):t).join("").split("_").map((t,e)=>t&&e?t.toUpperCase():t).join("")}function Fn(r,t){[...r.querySelectorAll(`[${x.REPEAT_ATTR}]`)].forEach(e=>{let i=e.getAttribute(x.REPEAT_ITEM_TAG_ATTR),s;if(i&&(s=window.customElements.get(i)),!s){s=class extends t.BaseComponent{constructor(){super(),i||(this.style.display="contents")}};let n=e.innerHTML;s.template=n,s.reg(i)}for(;e.firstChild;)e.firstChild.remove();let o=e.getAttribute(x.REPEAT_ATTR);t.sub(o,n=>{if(!n){for(;e.firstChild;)e.firstChild.remove();return}let a=[...e.children],l,c=h=>{h.forEach((p,f)=>{if(a[f])if(a[f].set$)setTimeout(()=>{a[f].set$(p)});else for(let m in p)a[f][m]=p[m];else{l||(l=new DocumentFragment);let m=new s;Object.assign(m.init$,p),l.appendChild(m)}}),l&&e.appendChild(l);let d=a.slice(h.length,a.length);for(let p of d)p.remove()};if(n.constructor===Array)c(n);else if(n.constructor===Object){let h=[];for(let d in n){let p=n[d];Object.defineProperty(p,"_KEY_",{value:d,enumerable:!0}),h.push(p)}c(h)}else console.warn("Symbiote repeat data type error:"),console.log(n)}),e.removeAttribute(x.REPEAT_ATTR),e.removeAttribute(x.REPEAT_ITEM_TAG_ATTR)})}var ms="__default__";function Vn(r,t){if(t.shadowRoot)return;let e=[...r.querySelectorAll("slot")];if(!e.length)return;let i={};e.forEach(s=>{let o=s.getAttribute("name")||ms;i[o]={slot:s,fr:document.createDocumentFragment()}}),t.initChildren.forEach(s=>{var o;let n=ms;s instanceof Element&&s.hasAttribute("slot")&&(n=s.getAttribute("slot"),s.removeAttribute("slot")),(o=i[n])==null||o.fr.appendChild(s)}),Object.values(i).forEach(s=>{if(s.fr.childNodes.length)s.slot.parentNode.replaceChild(s.fr,s.slot);else if(s.slot.childNodes.length){let o=document.createDocumentFragment();o.append(...s.slot.childNodes),s.slot.parentNode.replaceChild(o,s.slot)}else s.slot.remove()})}function Nn(r,t){[...r.querySelectorAll(`[${x.EL_REF_ATTR}]`)].forEach(e=>{let i=e.getAttribute(x.EL_REF_ATTR);t.ref[i]=e,e.removeAttribute(x.EL_REF_ATTR)})}function Bn(r,t){[...r.querySelectorAll(`[${x.BIND_ATTR}]`)].forEach(e=>{let s=e.getAttribute(x.BIND_ATTR).split(";");[...e.attributes].forEach(o=>{if(o.name.startsWith("-")&&o.value){let n=Dn(o.name.replace("-",""));s.push(n+":"+o.value),e.removeAttribute(o.name)}}),s.forEach(o=>{if(!o)return;let n=o.split(":").map(h=>h.trim()),a=n[0],l;a.indexOf(x.ATTR_BIND_PRFX)===0&&(l=!0,a=a.replace(x.ATTR_BIND_PRFX,""));let c=n[1].split(",").map(h=>h.trim());for(let h of c){let d;h.startsWith("!!")?(d="double",h=h.replace("!!","")):h.startsWith("!")&&(d="single",h=h.replace("!","")),t.sub(h,p=>{d==="double"?p=!!p:d==="single"&&(p=!p),l?(p==null?void 0:p.constructor)===Boolean?p?e.setAttribute(a,""):e.removeAttribute(a):e.setAttribute(a,p):_s(e,a,p)||(e[x.SET_LATER_KEY]||(e[x.SET_LATER_KEY]=Object.create(null)),e[x.SET_LATER_KEY][a]=p)})}}),e.removeAttribute(x.BIND_ATTR)})}var qt="{{",dt="}}",zn="skip-text";function Hn(r){let t,e=[],i=document.createTreeWalker(r,NodeFilter.SHOW_TEXT,{acceptNode:s=>{var o;return!((o=s.parentElement)!=null&&o.hasAttribute(zn))&&s.textContent.includes(qt)&&s.textContent.includes(dt)&&1}});for(;t=i.nextNode();)e.push(t);return e}var jn=function(r,t){Hn(r).forEach(i=>{let s=[],o;for(;i.textContent.includes(dt);)i.textContent.startsWith(qt)?(o=i.textContent.indexOf(dt)+dt.length,i.splitText(o),s.push(i)):(o=i.textContent.indexOf(qt),i.splitText(o)),i=i.nextSibling;s.forEach(n=>{let a=n.textContent.replace(qt,"").replace(dt,"");n.textContent="",t.sub(a,l=>{n.textContent=l})})})},Gn=[Fn,Vn,Nn,Bn,jn],Xt="'",qe='"',Wn=/\\([0-9a-fA-F]{1,6} ?)/g;function qn(r){return(r[0]===qe||r[0]===Xt)&&(r[r.length-1]===qe||r[r.length-1]===Xt)}function Xn(r){return(r[0]===qe||r[0]===Xt)&&(r=r.slice(1)),(r[r.length-1]===qe||r[r.length-1]===Xt)&&(r=r.slice(0,-1)),r}function Kn(r){let t="",e="";for(var i=0;i<r.length;i++){let s=r[i+1];r[i]==="\\"&&s==='"'?(t+='\\"',i++):r[i]==='"'&&e!=="\\"?t+='\\"':t+=r[i],e=r[i]}return t}function Zn(r){let t=r;qn(r)&&(t=Xn(t),t=t.replace(Wn,(e,i)=>String.fromCodePoint(parseInt(i.trim(),16))),t=t.replaceAll(`\\
|
|
27
|
+
`,"\\n"),t=Kn(t),t=qe+t+qe);try{return JSON.parse(t)}catch{throw new Error(`Failed to parse CSS property value: ${t}. Original input: ${r}`)}}var gs=0,We=null,be=null,xe=class extends HTMLElement{constructor(){super(),or(this,"updateCssData",()=>{var r;this.dropCssDataCache(),(r=this.__boundCssProps)==null||r.forEach(t=>{let e=this.getCssData(this.__extractCssName(t),!0);e!==null&&this.$[t]!==e&&(this.$[t]=e)})}),this.init$=Object.create(null),this.cssInit$=Object.create(null),this.tplProcessors=new Set,this.ref=Object.create(null),this.allSubs=new Set,this.pauseRender=!1,this.renderShadow=!1,this.readyToDestroy=!0,this.processInnerHtml=!1,this.allowCustomTemplate=!1,this.ctxOwner=!1}get BaseComponent(){return xe}initCallback(){}__initCallback(){var r;this.__initialized||(this.__initialized=!0,(r=this.initCallback)==null||r.call(this))}render(r,t=this.renderShadow){let e;if((t||this.constructor.__shadowStylesUrl)&&!this.shadowRoot&&this.attachShadow({mode:"open"}),this.allowCustomTemplate){let s=this.getAttribute(x.USE_TPL);if(s){let o=this.getRootNode(),n=(o==null?void 0:o.querySelector(s))||document.querySelector(s);n?r=n.content.cloneNode(!0):console.warn(`Symbiote template "${s}" is not found...`)}}if(this.processInnerHtml)for(let s of this.tplProcessors)s(this,this);if(r||this.constructor.template){if(this.constructor.template&&!this.constructor.__tpl&&(this.constructor.__tpl=document.createElement("template"),this.constructor.__tpl.innerHTML=this.constructor.template),(r==null?void 0:r.constructor)===DocumentFragment)e=r;else if((r==null?void 0:r.constructor)===String){let s=document.createElement("template");s.innerHTML=r,e=s.content.cloneNode(!0)}else this.constructor.__tpl&&(e=this.constructor.__tpl.content.cloneNode(!0));for(let s of this.tplProcessors)s(e,this)}let i=()=>{e&&(t&&this.shadowRoot.appendChild(e)||this.appendChild(e)),this.__initCallback()};if(this.constructor.__shadowStylesUrl){t=!0;let s=document.createElement("link");s.rel="stylesheet",s.href=this.constructor.__shadowStylesUrl,s.onload=i,this.shadowRoot.prepend(s)}else i()}addTemplateProcessor(r){this.tplProcessors.add(r)}get autoCtxName(){return this.__autoCtxName||(this.__autoCtxName=Te.generate(),this.style.setProperty(x.CSS_CTX_PROP,`'${this.__autoCtxName}'`)),this.__autoCtxName}get cssCtxName(){return this.getCssData(x.CSS_CTX_PROP,!0)}get ctxName(){var r;let t=((r=this.getAttribute(x.CTX_NAME_ATTR))==null?void 0:r.trim())||this.cssCtxName||this.__cachedCtxName||this.autoCtxName;return this.__cachedCtxName=t,t}get localCtx(){return this.__localCtx||(this.__localCtx=T.registerCtx({},this)),this.__localCtx}get nodeCtx(){return T.getCtx(this.ctxName,!1)||T.registerCtx({},this.ctxName)}static __parseProp(r,t){let e,i;if(r.startsWith(x.EXT_DATA_CTX_PRFX))e=t.nodeCtx,i=r.replace(x.EXT_DATA_CTX_PRFX,"");else if(r.includes(x.NAMED_DATA_CTX_SPLTR)){let s=r.split(x.NAMED_DATA_CTX_SPLTR);e=T.getCtx(s[0]),i=s[1]}else e=t.localCtx,i=r;return{ctx:e,name:i}}sub(r,t,e=!0){let i=o=>{this.isConnected&&t(o)},s=xe.__parseProp(r,this);s.ctx.has(s.name)?this.allSubs.add(s.ctx.sub(s.name,i,e)):window.setTimeout(()=>{this.allSubs.add(s.ctx.sub(s.name,i,e))})}notify(r){let t=xe.__parseProp(r,this);t.ctx.notify(t.name)}has(r){let t=xe.__parseProp(r,this);return t.ctx.has(t.name)}add(r,t,e=!1){let i=xe.__parseProp(r,this);i.ctx.add(i.name,t,e)}add$(r,t=!1){for(let e in r)this.add(e,r[e],t)}get $(){if(!this.__stateProxy){let r=Object.create(null);this.__stateProxy=new Proxy(r,{set:(t,e,i)=>{let s=xe.__parseProp(e,this);return s.ctx.pub(s.name,i),!0},get:(t,e)=>{let i=xe.__parseProp(e,this);return i.ctx.read(i.name)}})}return this.__stateProxy}set$(r,t=!1){for(let e in r){let i=r[e];t||![String,Number,Boolean].includes(i==null?void 0:i.constructor)?this.$[e]=i:this.$[e]!==i&&(this.$[e]=i)}}get __ctxOwner(){return this.ctxOwner||this.hasAttribute(x.CTX_OWNER_ATTR)&&this.getAttribute(x.CTX_OWNER_ATTR)!=="false"}__initDataCtx(){let r=this.constructor.__attrDesc;if(r)for(let t of Object.values(r))Object.keys(this.init$).includes(t)||(this.init$[t]="");for(let t in this.init$)if(t.startsWith(x.EXT_DATA_CTX_PRFX))this.nodeCtx.add(t.replace(x.EXT_DATA_CTX_PRFX,""),this.init$[t],this.__ctxOwner);else if(t.includes(x.NAMED_DATA_CTX_SPLTR)){let e=t.split(x.NAMED_DATA_CTX_SPLTR),i=e[0].trim(),s=e[1].trim();if(i&&s){let o=T.getCtx(i,!1);o||(o=T.registerCtx({},i)),o.add(s,this.init$[t])}}else this.localCtx.add(t,this.init$[t]);for(let t in this.cssInit$)this.bindCssData(t,this.cssInit$[t]);this.__dataCtxInitialized=!0}connectedCallback(){var r;if(this.isConnected){if(this.__disconnectTimeout&&window.clearTimeout(this.__disconnectTimeout),!this.connectedOnce){let t=(r=this.getAttribute(x.CTX_NAME_ATTR))==null?void 0:r.trim();if(t&&this.style.setProperty(x.CSS_CTX_PROP,`'${t}'`),this.__initDataCtx(),this[x.SET_LATER_KEY]){for(let e in this[x.SET_LATER_KEY])_s(this,e,this[x.SET_LATER_KEY][e]);delete this[x.SET_LATER_KEY]}this.initChildren=[...this.childNodes];for(let e of Gn)this.addTemplateProcessor(e);if(this.pauseRender)this.__initCallback();else if(this.constructor.__rootStylesLink){let e=this.getRootNode();if(!e)return;if(e==null?void 0:e.querySelector(`link[${x.ROOT_STYLE_ATTR_NAME}="${this.constructor.is}"]`)){this.render();return}let s=this.constructor.__rootStylesLink.cloneNode(!0);s.setAttribute(x.ROOT_STYLE_ATTR_NAME,this.constructor.is),s.onload=()=>{this.render()},e.nodeType===Node.DOCUMENT_NODE?e.head.appendChild(s):e.prepend(s)}else this.render()}this.connectedOnce=!0}}destroyCallback(){}disconnectedCallback(){this.connectedOnce&&(this.dropCssDataCache(),this.readyToDestroy&&(this.__disconnectTimeout&&window.clearTimeout(this.__disconnectTimeout),this.__disconnectTimeout=window.setTimeout(()=>{this.destroyCallback();for(let r of this.allSubs)r.remove(),this.allSubs.delete(r);for(let r of this.tplProcessors)this.tplProcessors.delete(r);be==null||be.delete(this.updateCssData),be!=null&&be.size||(We==null||We.disconnect(),We=null,be=null)},100)))}static reg(r,t=!1){r||(gs++,r=`${x.AUTO_TAG_PRFX}-${gs}`),this.__tag=r;let e=window.customElements.get(r);if(e){!t&&e!==this&&console.warn([`Element with tag name "${r}" already registered.`,`You're trying to override it with another class "${this.name}".`,"This is most likely a mistake.","New element will not be registered."].join(`
|
|
28
|
+
`));return}window.customElements.define(r,t?class extends this{}:this)}static get is(){return this.__tag||this.reg(),this.__tag}static bindAttributes(r){this.observedAttributes=Object.keys(r),this.__attrDesc=r}attributeChangedCallback(r,t,e){var i;if(t===e)return;let s=(i=this.constructor.__attrDesc)==null?void 0:i[r];s?this.__dataCtxInitialized?this.$[s]=e:this.init$[s]=e:this[r]=e}getCssData(r,t=!1){if(this.__cssDataCache||(this.__cssDataCache=Object.create(null)),!Object.keys(this.__cssDataCache).includes(r)){this.__computedStyle||(this.__computedStyle=window.getComputedStyle(this));let e=this.__computedStyle.getPropertyValue(r).trim();try{this.__cssDataCache[r]=Zn(e)}catch{!t&&console.warn(`CSS Data error: ${r}`),this.__cssDataCache[r]=null}}return this.__cssDataCache[r]}__extractCssName(r){return r.split("--").map((t,e)=>e===0?"":t).join("--")}__initStyleAttrObserver(){be||(be=new Set),be.add(this.updateCssData),We||(We=new MutationObserver(r=>{r[0].type==="attributes"&&be.forEach(t=>{t()})}),We.observe(document,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style"]}))}bindCssData(r,t=""){this.__boundCssProps||(this.__boundCssProps=new Set),this.__boundCssProps.add(r);let e=this.getCssData(this.__extractCssName(r),!0);e===null&&(e=t),this.add(r,e),this.__initStyleAttrObserver()}dropCssDataCache(){this.__cssDataCache=null,this.__computedStyle=null}defineAccessor(r,t,e){let i="__"+r;this[i]=this[r],Object.defineProperty(this,r,{set:s=>{this[i]=s,e?window.setTimeout(()=>{t==null||t(s)}):t==null||t(s)},get:()=>this[i]}),this[r]=this[i]}static set shadowStyles(r){let t=new Blob([r],{type:"text/css"});this.__shadowStylesUrl=URL.createObjectURL(t)}static set rootStyles(r){if(!this.__rootStylesLink){let t=new Blob([r],{type:"text/css"}),e=URL.createObjectURL(t),i=document.createElement("link");i.href=e,i.rel="stylesheet",this.__rootStylesLink=i}}},Se=xe;or(Se,"template");var sr=class{static _print(r){console.warn(r)}static setDefaultTitle(r){this.defaultTitle=r}static setRoutingMap(r){Object.assign(this.appMap,r);for(let t in this.appMap)!this.defaultRoute&&this.appMap[t].default===!0?this.defaultRoute=t:!this.errorRoute&&this.appMap[t].error===!0&&(this.errorRoute=t)}static set routingEventName(r){this.__routingEventName=r}static get routingEventName(){return this.__routingEventName||"sym-on-route"}static readAddressBar(){let r={route:null,options:{}};return window.location.search.split(this.separator).forEach(e=>{if(e.includes("?"))r.route=e.replace("?","");else if(e.includes("=")){let i=e.split("=");r.options[i[0]]=decodeURI(i[1])}else r.options[e]=!0}),r}static notify(){let r=this.readAddressBar(),t=this.appMap[r.route];if(t&&t.title&&(document.title=t.title),r.route===null&&this.defaultRoute){this.applyRoute(this.defaultRoute);return}else if(!t&&this.errorRoute){this.applyRoute(this.errorRoute);return}else if(!t&&this.defaultRoute){this.applyRoute(this.defaultRoute);return}else if(!t){this._print(`Route "${r.route}" not found...`);return}let e=new CustomEvent(sr.routingEventName,{detail:{route:r.route,options:Object.assign(t||{},r.options)}});window.dispatchEvent(e)}static reflect(r,t={}){let e=this.appMap[r];if(!e){this._print("Wrong route: "+r);return}let i="?"+r;for(let o in t)t[o]===!0?i+=this.separator+o:i+=this.separator+o+`=${t[o]}`;let s=e.title||this.defaultTitle||"";window.history.pushState(null,s,i),document.title=s}static applyRoute(r,t={}){this.reflect(r,t),this.notify()}static setSeparator(r){this._separator=r}static get separator(){return this._separator||"&"}static createRouterData(r,t){this.setRoutingMap(t);let e=T.registerCtx({route:null,options:null,title:null},r);return window.addEventListener(this.routingEventName,i=>{var s;e.multiPub({route:i.detail.route,options:i.detail.options,title:((s=i.detail.options)==null?void 0:s.title)||this.defaultTitle||""})}),sr.notify(),this.initPopstateListener(),e}static initPopstateListener(){this.__onPopstate||(this.__onPopstate=()=>{this.notify()},window.addEventListener("popstate",this.__onPopstate))}static removePopstateListener(){window.removeEventListener("popstate",this.__onPopstate),this.__onPopstate=null}};sr.appMap=Object.create(null);function ht(r,t){for(let e in t)e.includes("-")?r.style.setProperty(e,t[e]):r.style[e]=t[e]}function Yn(r,t){for(let e in t)t[e].constructor===Boolean?t[e]?r.setAttribute(e,""):r.removeAttribute(e):r.setAttribute(e,t[e])}function nr(r={tag:"div"}){let t=document.createElement(r.tag);if(r.attributes&&Yn(t,r.attributes),r.styles&&ht(t,r.styles),r.properties)for(let e in r.properties)t[e]=r.properties[e];return r.processors&&r.processors.forEach(e=>{e(t)}),r.children&&r.children.forEach(e=>{let i=nr(e);t.appendChild(i)}),t}var vs="idb-store-ready",Qn="symbiote-db",Jn="symbiote-idb-update_",ea=class{_notifyWhenReady(r=null){window.dispatchEvent(new CustomEvent(vs,{detail:{dbName:this.name,storeName:this.storeName,event:r}}))}get _updEventName(){return Jn+this.name}_getUpdateEvent(r){return new CustomEvent(this._updEventName,{detail:{key:this.name,newValue:r}})}_notifySubscribers(r){window.localStorage.removeItem(this.name),window.localStorage.setItem(this.name,r),window.dispatchEvent(this._getUpdateEvent(r))}constructor(r,t){this.name=r,this.storeName=t,this.version=1,this.request=window.indexedDB.open(this.name,this.version),this.request.onupgradeneeded=e=>{this.db=e.target.result,this.objStore=this.db.createObjectStore(t,{keyPath:"_key"}),this.objStore.transaction.oncomplete=i=>{this._notifyWhenReady(i)}},this.request.onsuccess=e=>{this.db=e.target.result,this._notifyWhenReady(e)},this.request.onerror=e=>{console.error(e)},this._subscriptionsMap={},this._updateHandler=e=>{e.key===this.name&&this._subscriptionsMap[e.newValue]&&this._subscriptionsMap[e.newValue].forEach(async s=>{s(await this.read(e.newValue))})},this._localUpdateHandler=e=>{this._updateHandler(e.detail)},window.addEventListener("storage",this._updateHandler),window.addEventListener(this._updEventName,this._localUpdateHandler)}read(r){let e=this.db.transaction(this.storeName,"readwrite").objectStore(this.storeName).get(r);return new Promise((i,s)=>{e.onsuccess=o=>{var n;(n=o.target.result)!=null&&n._value?i(o.target.result._value):(i(null),console.warn(`IDB: cannot read "${r}"`))},e.onerror=o=>{s(o)}})}write(r,t,e=!1){let i={_key:r,_value:t},o=this.db.transaction(this.storeName,"readwrite").objectStore(this.storeName).put(i);return new Promise((n,a)=>{o.onsuccess=l=>{e||this._notifySubscribers(r),n(l.target.result)},o.onerror=l=>{a(l)}})}delete(r,t=!1){let i=this.db.transaction(this.storeName,"readwrite").objectStore(this.storeName).delete(r);return new Promise((s,o)=>{i.onsuccess=n=>{t||this._notifySubscribers(r),s(n)},i.onerror=n=>{o(n)}})}getAll(){let t=this.db.transaction(this.storeName,"readwrite").objectStore(this.storeName).getAll();return new Promise((e,i)=>{t.onsuccess=s=>{let o=s.target.result;e(o.map(n=>n._value))},t.onerror=s=>{i(s)}})}subscribe(r,t){this._subscriptionsMap[r]||(this._subscriptionsMap[r]=new Set);let e=this._subscriptionsMap[r];return e.add(t),{remove:()=>{e.delete(t),e.size||delete this._subscriptionsMap[r]}}}stop(){window.removeEventListener("storage",this._updateHandler),this._subscriptionsMap=null,ys.clear(this.name)}},ys=class{static get readyEventName(){return vs}static open(r=Qn,t="store"){let e=r+"/"+t;return this._reg[e]||(this._reg[e]=new ea(r,t)),this._reg[e]}static clear(r){window.indexedDB.deleteDatabase(r);for(let t in this._reg)t.split("/")[0]===r&&delete this._reg[t]}};or(ys,"_reg",Object.create(null));var ws=r=>{if(typeof r!="string"||!r)return"";let t=r.trim();return t.startsWith("-/")?t=t.slice(2):t.startsWith("/")&&(t=t.slice(1)),t.endsWith("/")&&(t=t.slice(0,t.length-1)),t},Kt=(...r)=>r.filter(t=>typeof t=="string"&&t).map(t=>ws(t)).join("/-/"),H=(...r)=>{let t=Kt(...r);return t?`-/${t}/`:""};function Zt(r){let t=new URL(r),e=t.pathname+t.search+t.hash,i=e.lastIndexOf("http"),s=e.lastIndexOf("/"),o="";return i>=0?o=e.slice(i):s>=0&&(o=e.slice(s+1)),o}function Yt(r){let t=new URL(r),{pathname:e}=t,i=e.indexOf("/"),s=e.indexOf("/",i+1);return e.substring(i+1,s)}function ar(r){let t=Cs(r),e=new URL(t),i=e.pathname.indexOf("/-/");return i===-1?"":e.pathname.substring(i).slice(1)}function lr(r){return ar(r).split("/-/").filter(Boolean).map(e=>ws(e))}function Cs(r){let t=new URL(r),e=Zt(r),i=Es(e)?As(e).pathname:e;return t.pathname=t.pathname.replace(i,""),t.search="",t.hash="",t.toString()}function Es(r){return r.startsWith("http")}function As(r){let t=new URL(r);return{pathname:t.origin+t.pathname||"",search:t.search||"",hash:t.hash||""}}var R=(r,t,e)=>{let i=new URL(Cs(r));if(e=e||Zt(r),i.pathname.startsWith("//")&&(i.pathname=i.pathname.replace("//","/")),Es(e)){let s=As(e);i.pathname=i.pathname+(t||"")+(s.pathname||""),i.search=s.search,i.hash=s.hash}else i.pathname=i.pathname+(t||"")+(e||"");return i.toString()},Ie=(r,t)=>{let e=new URL(r);return e.pathname=t+"/",e.toString()};var D=(r,t=",")=>r.trim().split(t).map(e=>e.trim()).filter(e=>e.length>0);var ee=Object.freeze({brightness:0,exposure:0,gamma:100,contrast:0,saturation:0,vibrance:0,warmth:0,enhance:0,filter:0,rotate:0,mirror:!1,flip:!1,crop:void 0}),Ts=["enhance","brightness","exposure","gamma","contrast","saturation","vibrance","warmth","filter","mirror","flip","rotate","crop"];function ta(r,t){if(typeof t=="number"){let e=t;return ee[r]!==e?`${r}/${e}`:""}if(typeof t=="boolean"){let e=t;return ee[r]!==e?`${r}`:""}if(r==="filter"&&t){let{name:e,amount:i}=t;return ee.filter===i?"":`${r}/${e}/${i}`}if(r==="crop"&&t){let{dimensions:e,coords:i}=t;return`${r}/${e.join("x")}/${i.join(",")}`}return""}function Oe(r){return Kt(...Ts.filter(t=>typeof r[t]!="undefined"&&r[t]!==null).map(t=>{let e=r[t];return ta(t,e)}).filter(t=>!!t))}var Qt=Kt("format/auto","progressive/yes"),_e=([r])=>typeof r!="undefined"?Number(r):void 0,xs=()=>!0,ia=([r,t])=>({name:r,amount:typeof t!="undefined"?Number(t):100}),ra=([r,t])=>{if(!/\d+x\d+/.test(r)||!/\d+,\d+/.test(t))throw new Error("Crop by aspect ratio, percentage or alignment shortcuts is not supported.");return{dimensions:D(r,"x").map(Number),coords:D(t).map(Number)}},sa=Object.freeze({enhance:_e,brightness:_e,exposure:_e,gamma:_e,contrast:_e,saturation:_e,vibrance:_e,warmth:_e,filter:ia,mirror:xs,flip:xs,rotate:_e,crop:ra});function cr(r){let t={};for(let e of r){let[i,...s]=e.split("/");if(!Ts.includes(i))continue;let o=i,n=sa[o];try{let a=n(s);t[o]=a}catch(a){console.warn([`Failed to parse URL operation "${e}". It will be ignored.`,a instanceof Error?`Error message: "${a.message}"`:a,"If you need this functionality, please feel free to open an issue at https://github.com/uploadcare/blocks/issues/new"].join(`
|
|
29
|
+
`))}}return t}var M=Object.freeze({CROP:"crop",TUNING:"tuning",FILTERS:"filters"}),Y=[M.CROP,M.TUNING,M.FILTERS],Ss=["brightness","exposure","gamma","contrast","saturation","vibrance","warmth","enhance"],Is=["adaris","briaril","calarel","carris","cynarel","cyren","elmet","elonni","enzana","erydark","fenralan","ferand","galen","gavin","gethriel","iorill","iothari","iselva","jadis","lavra","misiara","namala","nerion","nethari","pamaya","sarnar","sedis","sewen","sorahel","sorlen","tarian","thellassan","varriel","varven","vevera","virkas","yedis","yllara","zatvel","zevcen"],Os=["rotate","mirror","flip"],le=Object.freeze({brightness:{zero:ee.brightness,range:[-100,100],keypointsNumber:2},exposure:{zero:ee.exposure,range:[-500,500],keypointsNumber:2},gamma:{zero:ee.gamma,range:[0,1e3],keypointsNumber:2},contrast:{zero:ee.contrast,range:[-100,500],keypointsNumber:2},saturation:{zero:ee.saturation,range:[-100,500],keypointsNumber:1},vibrance:{zero:ee.vibrance,range:[-100,500],keypointsNumber:1},warmth:{zero:ee.warmth,range:[-100,100],keypointsNumber:1},enhance:{zero:ee.enhance,range:[0,100],keypointsNumber:1},filter:{zero:ee.filter,range:[0,100],keypointsNumber:1}});var Q=r=>r?r.split(",").map(t=>t.trim()).filter(Boolean):[],ve=r=>r?r.join(","):"";var pt="https://ucarecdn.com",oa="https://upload.uploadcare.com",na="https://social.uploadcare.com",aa="https://ucarecd.net",te=Object.freeze({pubkey:"",multiple:!0,multipleMin:0,multipleMax:Number.MAX_SAFE_INTEGER,confirmUpload:!1,imgOnly:!1,accept:"",externalSourcesPreferredTypes:"",externalSourcesEmbedCss:"",store:"auto",cameraMirror:!1,cameraCapture:"",sourceList:"local, url, camera, dropbox, gdrive",topLevelOrigin:"",cloudImageEditorTabs:ve(Y),maxLocalFileSizeBytes:0,thumbSize:76,showEmptyList:!1,useLocalImageEditor:!1,useCloudImageEditor:!0,removeCopyright:!1,cropPreset:"",imageShrink:"",modalScrollLock:!0,modalBackdropStrokes:!1,sourceListWrap:!0,remoteTabSessionKey:"",cdnCname:pt,cdnCnamePrefixed:aa,baseUrl:oa,socialBaseUrl:na,secureSignature:"",secureExpire:"",secureDeliveryProxy:"",retryThrottledRequestMaxTimes:10,retryNetworkErrorMaxTimes:3,multipartMinFileSize:26214400,multipartChunkSize:5242880,maxConcurrentRequests:10,multipartMaxConcurrentRequests:4,multipartMaxAttempts:3,checkForUrlDuplicates:!1,saveUrlForRecurrentUploads:!1,groupOutput:!1,userAgentIntegration:"",debug:!1,metadata:null,localeName:"en",localeDefinitionOverride:null,secureUploadsExpireThreshold:10*60*1e3,secureUploadsSignatureResolver:null,secureDeliveryProxyUrlResolver:null,iconHrefResolver:null,fileValidators:[],collectionValidators:[],validationTimeout:15*1e3,validationConcurrency:100,cameraModes:"photo, video",defaultCameraMode:null,enableAudioRecording:!0,enableVideoRecording:null,maxVideoRecordingDuration:null,mediaRecorderOptions:null,filesViewMode:"list",gridShowFileNames:!1,cloudImageEditorAutoOpen:!1,cloudImageEditorMaskHref:null,testMode:!1,qualityInsights:!0});var ye=Object.freeze({INIT_SOLUTION:"init-solution",CHANGE_CONFIG:"change-config"}),w=Object.freeze({FILE_ADDED:"file-added",FILE_REMOVED:"file-removed",FILE_UPLOAD_START:"file-upload-start",FILE_UPLOAD_PROGRESS:"file-upload-progress",FILE_UPLOAD_SUCCESS:"file-upload-success",FILE_UPLOAD_FAILED:"file-upload-failed",FILE_URL_CHANGED:"file-url-changed",MODAL_OPEN:"modal-open",MODAL_CLOSE:"modal-close",DONE_CLICK:"done-click",UPLOAD_CLICK:"upload-click",ACTIVITY_CHANGE:"activity-change",COMMON_UPLOAD_START:"common-upload-start",COMMON_UPLOAD_PROGRESS:"common-upload-progress",COMMON_UPLOAD_SUCCESS:"common-upload-success",COMMON_UPLOAD_FAILED:"common-upload-failed",CHANGE:"change",GROUP_CREATED:"group-created",...ye}),Jt=class{constructor(t){u(this,"_timeoutStore",new Map);u(this,"_targets",new Set);u(this,"_debugPrint",null);this._debugPrint=t}bindTarget(t){this._targets.add(t)}unbindTarget(t){this._targets.delete(t)}_dispatch(t,e){var i;for(let s of this._targets)s.dispatchEvent(new CustomEvent(t,{detail:e}));(i=this._debugPrint)==null||i.call(this,()=>{let s=e&&typeof e=="object"?{...e}:e;return[`event "${t}"`,s]})}emit(t,e,{debounce:i}={}){if(typeof i!="number"&&!i){this._dispatch(t,typeof e=="function"?e():e);return}this._timeoutStore.has(t)&&window.clearTimeout(this._timeoutStore.get(t));let s=typeof i=="number"?i:20,o=window.setTimeout(()=>{this._dispatch(t,typeof e=="function"?e():e),this._timeoutStore.delete(t)},s);this._timeoutStore.set(t,o)}};function $(r,t){let e,i=(...s)=>{clearTimeout(e),e=setTimeout(()=>r(...s),t)};return i.cancel=()=>{clearTimeout(e)},i}var ks="--uploadcare-blocks-window-height",Ve=class{static registerClient(t){this.clientsRegistry.size===0&&this.attachTracker(),this.clientsRegistry.add(t)}static unregisterClient(t){this.clientsRegistry.delete(t),this.clientsRegistry.size===0&&this.detachTracker()}static attachTracker(){window.addEventListener("resize",this.flush,{passive:!0,capture:!0}),this.flush()}static detachTracker(){window.removeEventListener("resize",this.flush,{capture:!0}),document.documentElement.style.removeProperty(ks)}};u(Ve,"clientsRegistry",new Set),u(Ve,"flush",$(()=>{document.documentElement.style.setProperty(ks,`${window.innerHeight}px`)},100));var $s=r=>{var i;let t=new Intl.Locale(r),e="ltr";return typeof t.getTextInfo=="function"&&t.getTextInfo().direction?e=t.getTextInfo().direction:"textInfo"in t&&((i=t.textInfo)!=null&&i.direction)&&(e=t.textInfo.direction),e};var ei=(r,t)=>new Intl.PluralRules(r).select(t);var la=r=>r,ur="{{",Ls="}}",Ms="plural:";function ft(r,t,e={}){var n;let{openToken:i=ur,closeToken:s=Ls,transform:o=la}=e;for(let a in t){let l=(n=t[a])==null?void 0:n.toString();r=r.replaceAll(i+a+s,typeof l=="string"?o(l):l)}return r}function Us(r){let t=[],e=r.indexOf(ur);for(;e!==-1;){let i=r.indexOf(Ls,e),s=r.substring(e+2,i);if(s.startsWith(Ms)){let o=r.substring(e+2,i).replace(Ms,""),n=o.substring(0,o.indexOf("(")),a=o.substring(o.indexOf("(")+1,o.indexOf(")"));t.push({variable:s,pluralKey:n,countVariable:a})}e=r.indexOf(ur,i)}return t}var Ps=({element:r,attribute:t,onSuccess:e,onTimeout:i,timeout:s=300})=>{let o=r.getAttribute(t);if(o!==null){e(o);return}let n=new MutationObserver(c=>{let h=c[c.length-1];l(h)});n.observe(r,{attributes:!0,attributeFilter:[t]});let a=setTimeout(()=>{n.disconnect(),i()},s),l=c=>{let h=r.getAttribute(t);c.type==="attributes"&&c.attributeName===t&&h!==null&&(clearTimeout(a),n.disconnect(),e(h))}};function Rs(r){return Object.prototype.toString.call(r)==="[object Object]"}var ca=/\W|_/g;function ua(r){return r.split(ca).map((t,e)=>t.charAt(0)[e>0?"toUpperCase":"toLowerCase"]()+t.slice(1)).join("")}function Ds(r,{ignoreKeys:t}={ignoreKeys:[]}){return Array.isArray(r)?r.map(e=>Ee(e,{ignoreKeys:t})):r}function Ee(r,{ignoreKeys:t}={ignoreKeys:[]}){if(Array.isArray(r))return Ds(r,{ignoreKeys:t});if(!Rs(r))return r;let e={};for(let i of Object.keys(r)){let s=r[i];if(t.includes(i)){e[i]=s;continue}Rs(s)?s=Ee(s,{ignoreKeys:t}):Array.isArray(s)&&(s=Ds(s,{ignoreKeys:t})),e[ua(i)]=s}return e}var da=r=>new Promise(t=>setTimeout(t,r));function br({libraryName:r,libraryVersion:t,userAgent:e,publicKey:i="",integration:s=""}){let o="JavaScript";if(typeof e=="string")return e;if(typeof e=="function")return e({publicKey:i,libraryName:r,libraryVersion:t,languageName:o,integration:s});let n=[r,t,i].filter(Boolean).join("/"),a=[o,s].filter(Boolean).join("; ");return`${n} (${a})`}var ha={factor:2,time:100};function pa(r,t=ha){let e=0;function i(s){let o=Math.round(t.time*t.factor**e);return s({attempt:e,retry:a=>da(a!=null?a:o).then(()=>(e+=1,i(s)))})}return i(r)}var Ne=class extends Error{},Xe=class r extends Ne{constructor(e){super();u(this,"originalProgressEvent");this.name="NetworkError",this.message="Network error",Object.setPrototypeOf(this,r.prototype),this.originalProgressEvent=e}},ti=(r,t)=>{r&&(r.aborted?Promise.resolve().then(t):r.addEventListener("abort",()=>t(),{once:!0}))},ke=class r extends Ne{constructor(e="Request canceled"){super(e);u(this,"isCancel",!0);this.name="CancelError",Object.setPrototypeOf(this,r.prototype)}},fa=500,Vs=({check:r,interval:t=fa,timeout:e,signal:i})=>new Promise((s,o)=>{let n,a;ti(i,()=>{n&&clearTimeout(n),o(new ke("Poll cancelled"))}),e&&(a=setTimeout(()=>{n&&clearTimeout(n),o(new ke("Timed out"))},e));let l=()=>{try{Promise.resolve(r(i)).then(c=>{c?(a&&clearTimeout(a),s(c)):n=setTimeout(l,t)}).catch(c=>{a&&clearTimeout(a),o(c)})}catch(c){a&&clearTimeout(a),o(c)}};n=setTimeout(l,0)}),I={baseCDN:"https://ucarecdn.com",baseURL:"https://upload.uploadcare.com",maxContentLength:50*1024*1024,retryThrottledRequestMaxTimes:1,retryNetworkErrorMaxTimes:3,multipartMinFileSize:25*1024*1024,multipartChunkSize:5*1024*1024,multipartMinLastPartSize:1024*1024,maxConcurrentRequests:4,pollingTimeoutMilliseconds:1e4,pusherKey:"79ae88bd931ea68464d9"},ii="application/octet-stream",Ns="original",Me=({method:r,url:t,data:e,headers:i={},signal:s,onProgress:o})=>new Promise((n,a)=>{let l=new XMLHttpRequest,c=(r==null?void 0:r.toUpperCase())||"GET",h=!1;l.open(c,t,!0),i&&Object.entries(i).forEach(d=>{let[p,f]=d;typeof f!="undefined"&&!Array.isArray(f)&&l.setRequestHeader(p,f)}),l.responseType="text",ti(s,()=>{h=!0,l.abort(),a(new ke)}),l.onload=()=>{if(l.status!=200)a(new Error(`Error ${l.status}: ${l.statusText}`));else{let d={method:c,url:t,data:e,headers:i||void 0,signal:s,onProgress:o},p=l.getAllResponseHeaders().trim().split(/[\r\n]+/),f={};p.forEach(function(_){let v=_.split(": "),E=v.shift(),C=v.join(": ");E&&typeof E!="undefined"&&(f[E]=C)});let m=l.response,b=l.status;n({request:d,data:m,headers:f,status:b})}},l.onerror=d=>{h||a(new Xe(d))},o&&typeof o=="function"&&(l.upload.onprogress=d=>{d.lengthComputable?o({isComputable:!0,value:d.loaded/d.total}):o({isComputable:!1})}),e?l.send(e):l.send()});function ma(r,...t){return r}var ga=({name:r})=>r?[r]:[],ba=ma,_a=()=>new FormData,Bs=r=>!1,ri=r=>typeof Blob!="undefined"&&r instanceof Blob,si=r=>typeof File!="undefined"&&r instanceof File,oi=r=>!!r&&typeof r=="object"&&!Array.isArray(r)&&"uri"in r&&typeof r.uri=="string",Ke=r=>ri(r)||si(r)||Bs()||oi(r),va=r=>typeof r=="string"||typeof r=="number"||typeof r=="undefined",ya=r=>!!r&&typeof r=="object"&&!Array.isArray(r),wa=r=>!!r&&typeof r=="object"&&"data"in r&&Ke(r.data);function zs(r,t,e){if(Array.isArray(e))for(let i of e)zs(r,`${t}[]`,i);else if(wa(e)){let{name:i,contentType:s}=e,o=ba(e.data,i,s!=null?s:ii),n=ga({name:i,contentType:s});r.push([t,o,...n])}else if(ya(e))for(let[i,s]of Object.entries(e))typeof s!="undefined"&&r.push([`${t}[${i}]`,String(s)]);else va(e)&&e&&r.push([t,e.toString()])}function Ca(r){let t=[];for(let[e,i]of Object.entries(r))zs(t,e,i);return t}function ni(r){let t=_a(),e=Ca(r);for(let i of e){let[s,o,...n]=i;t.append(s,o,...n)}return t}var j=class r extends Ne{constructor(e,i,s,o,n){super();u(this,"code");u(this,"request");u(this,"response");u(this,"headers");this.name="UploadError",this.message=e,this.code=i,this.request=s,this.response=o,this.headers=n,Object.setPrototypeOf(this,r.prototype)}},Ea=r=>{let t=new URLSearchParams;for(let[e,i]of Object.entries(r))i&&typeof i=="object"&&!Array.isArray(i)?Object.entries(i).filter(s=>{var o;return(o=s[1])!=null?o:!1}).forEach(s=>t.set(`${e}[${s[0]}]`,String(s[1]))):Array.isArray(i)?i.forEach(s=>{t.append(`${e}[]`,s)}):typeof i=="string"&&i?t.set(e,i):typeof i=="number"&&t.set(e,i.toString());return t.toString()},we=(r,t,e)=>{let i=new URL(r);return i.pathname=(i.pathname+t).replace("//","/"),e&&(i.search=Ea(e)),i.toString()},Aa="6.18.0",xa="UploadcareUploadClient",Ta=Aa;function Be(r){return br({libraryName:xa,libraryVersion:Ta,...r})}var Sa="RequestThrottledError",Fs=15e3,Ia=1e3;function Oa(r){let{headers:t}=r||{};if(!t||typeof t["retry-after"]!="string")return Fs;let e=parseInt(t["retry-after"],10);return Number.isFinite(e)?e*1e3:Fs}function Le(r,t){let{retryThrottledRequestMaxTimes:e,retryNetworkErrorMaxTimes:i}=t;return pa(({attempt:s,retry:o})=>r().catch(n=>{if("response"in n&&(n==null?void 0:n.code)===Sa&&s<e)return o(Oa(n));if(n instanceof Xe&&s<i)return o((s+1)*Ia);throw n}))}var Hs=r=>{let t="";return(ri(r)||si(r)||oi(r))&&(t=r.type),t||ii},js=r=>{let t="";return si(r)&&r.name?t=r.name:ri(r)||Bs()?t="":oi(r)&&r.name&&(t=r.name),t||Ns};function _r(r){return typeof r=="undefined"||r==="auto"?"auto":r?"1":"0"}function ka(r,{publicKey:t,fileName:e,contentType:i,baseURL:s=I.baseURL,secureSignature:o,secureExpire:n,store:a,signal:l,onProgress:c,source:h="local",integration:d,userAgent:p,retryThrottledRequestMaxTimes:f=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:m=I.retryNetworkErrorMaxTimes,metadata:b}){return Le(()=>Me({method:"POST",url:we(s,"/base/",{jsonerrors:1}),headers:{"X-UC-User-Agent":Be({publicKey:t,integration:d,userAgent:p})},data:ni({file:{data:r,name:e||js(r),contentType:i||Hs(r)},UPLOADCARE_PUB_KEY:t,UPLOADCARE_STORE:_r(a),signature:o,expire:n,source:h,metadata:b}),signal:l,onProgress:c}).then(({data:_,headers:v,request:E})=>{let C=Ee(JSON.parse(_));if("error"in C)throw new j(C.error.content,C.error.errorCode,E,C,v);return C}),{retryNetworkErrorMaxTimes:m,retryThrottledRequestMaxTimes:f})}var pr;(function(r){r.Token="token",r.FileInfo="file_info"})(pr||(pr={}));function $a(r,{publicKey:t,baseURL:e=I.baseURL,store:i,fileName:s,checkForUrlDuplicates:o,saveUrlForRecurrentUploads:n,secureSignature:a,secureExpire:l,source:c="url",signal:h,integration:d,userAgent:p,retryThrottledRequestMaxTimes:f=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:m=I.retryNetworkErrorMaxTimes,metadata:b}){return Le(()=>Me({method:"POST",headers:{"X-UC-User-Agent":Be({publicKey:t,integration:d,userAgent:p})},url:we(e,"/from_url/",{jsonerrors:1,pub_key:t,source_url:r,store:_r(i),filename:s,check_URL_duplicates:o?1:void 0,save_URL_duplicates:n?1:void 0,signature:a,expire:l,source:c,metadata:b}),signal:h}).then(({data:_,headers:v,request:E})=>{let C=Ee(JSON.parse(_));if("error"in C)throw new j(C.error.content,C.error.errorCode,E,C,v);return C}),{retryNetworkErrorMaxTimes:m,retryThrottledRequestMaxTimes:f})}var J;(function(r){r.Unknown="unknown",r.Waiting="waiting",r.Progress="progress",r.Error="error",r.Success="success"})(J||(J={}));var Ma=r=>"status"in r&&r.status===J.Error;function La(r,{publicKey:t,baseURL:e=I.baseURL,signal:i,integration:s,userAgent:o,retryThrottledRequestMaxTimes:n=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:a=I.retryNetworkErrorMaxTimes}={}){return Le(()=>Me({method:"GET",headers:t?{"X-UC-User-Agent":Be({publicKey:t,integration:s,userAgent:o})}:void 0,url:we(e,"/from_url/status/",{jsonerrors:1,token:r}),signal:i}).then(({data:l,headers:c,request:h})=>{let d=Ee(JSON.parse(l));if("error"in d&&!Ma(d))throw new j(d.error.content,d.error.errorCode,h,d,c);return d}),{retryNetworkErrorMaxTimes:a,retryThrottledRequestMaxTimes:n})}function Ua(r,{publicKey:t,baseURL:e=I.baseURL,jsonpCallback:i,secureSignature:s,secureExpire:o,signal:n,source:a,integration:l,userAgent:c,retryThrottledRequestMaxTimes:h=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:d=I.retryNetworkErrorMaxTimes}){return Le(()=>Me({method:"POST",headers:{"X-UC-User-Agent":Be({publicKey:t,integration:l,userAgent:c})},url:we(e,"/group/",{jsonerrors:1}),data:ni({files:r,callback:i,pub_key:t,signature:s,expire:o,source:a}),signal:n}).then(({data:p,headers:f,request:m})=>{let b=Ee(JSON.parse(p));if("error"in b)throw new j(b.error.content,b.error.errorCode,m,b,f);return b}),{retryNetworkErrorMaxTimes:d,retryThrottledRequestMaxTimes:h})}function Gs(r,{publicKey:t,baseURL:e=I.baseURL,signal:i,source:s,integration:o,userAgent:n,retryThrottledRequestMaxTimes:a=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:l=I.retryNetworkErrorMaxTimes}){return Le(()=>Me({method:"GET",headers:{"X-UC-User-Agent":Be({publicKey:t,integration:o,userAgent:n})},url:we(e,"/info/",{jsonerrors:1,pub_key:t,file_id:r,source:s}),signal:i}).then(({data:c,headers:h,request:d})=>{let p=Ee(JSON.parse(c));if("error"in p)throw new j(p.error.content,p.error.errorCode,d,p,h);return p}),{retryThrottledRequestMaxTimes:a,retryNetworkErrorMaxTimes:l})}function Pa(r,{publicKey:t,contentType:e,fileName:i,multipartChunkSize:s=I.multipartChunkSize,baseURL:o="",secureSignature:n,secureExpire:a,store:l,signal:c,source:h="local",integration:d,userAgent:p,retryThrottledRequestMaxTimes:f=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:m=I.retryNetworkErrorMaxTimes,metadata:b}){return Le(()=>Me({method:"POST",url:we(o,"/multipart/start/",{jsonerrors:1}),headers:{"X-UC-User-Agent":Be({publicKey:t,integration:d,userAgent:p})},data:ni({filename:i||Ns,size:r,content_type:e||ii,part_size:s,UPLOADCARE_STORE:_r(l),UPLOADCARE_PUB_KEY:t,signature:n,expire:a,source:h,metadata:b}),signal:c}).then(({data:_,headers:v,request:E})=>{let C=Ee(JSON.parse(_));if("error"in C)throw new j(C.error.content,C.error.errorCode,E,C,v);return C.parts=Object.keys(C.parts).map(P=>C.parts[Number(P)]),C}),{retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m})}function Ra(r,t,{contentType:e,signal:i,onProgress:s,retryThrottledRequestMaxTimes:o=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:n=I.retryNetworkErrorMaxTimes}){return Le(()=>Me({method:"PUT",url:t,data:r,onProgress:s,signal:i,headers:{"Content-Type":e||ii}}).then(a=>(s&&s({isComputable:!0,value:1}),a)).then(({status:a})=>({code:a})),{retryThrottledRequestMaxTimes:o,retryNetworkErrorMaxTimes:n})}function Da(r,{publicKey:t,baseURL:e=I.baseURL,source:i="local",signal:s,integration:o,userAgent:n,retryThrottledRequestMaxTimes:a=I.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:l=I.retryNetworkErrorMaxTimes}){return Le(()=>Me({method:"POST",url:we(e,"/multipart/complete/",{jsonerrors:1}),headers:{"X-UC-User-Agent":Be({publicKey:t,integration:o,userAgent:n})},data:ni({uuid:r,UPLOADCARE_PUB_KEY:t,source:i}),signal:s}).then(({data:c,headers:h,request:d})=>{let p=Ee(JSON.parse(c));if("error"in p)throw new j(p.error.content,p.error.errorCode,d,p,h);return p}),{retryThrottledRequestMaxTimes:a,retryNetworkErrorMaxTimes:l})}function vr(r,{publicKey:t,baseURL:e,source:i,integration:s,userAgent:o,retryThrottledRequestMaxTimes:n,retryNetworkErrorMaxTimes:a,signal:l,onProgress:c}){return Vs({check:h=>Gs(r,{publicKey:t,baseURL:e,signal:h,source:i,integration:s,userAgent:o,retryThrottledRequestMaxTimes:n,retryNetworkErrorMaxTimes:a}).then(d=>d.isReady?d:(c&&c({isComputable:!0,value:1}),!1)),signal:l})}function Fa(r){return"defaultEffects"in r}var Ce=class{constructor(t,{baseCDN:e=I.baseCDN,fileName:i}={}){u(this,"uuid");u(this,"name");u(this,"size");u(this,"isStored");u(this,"isImage");u(this,"mimeType");u(this,"cdnUrl");u(this,"s3Url");u(this,"originalFilename");u(this,"imageInfo");u(this,"videoInfo");u(this,"contentInfo");u(this,"metadata");u(this,"s3Bucket");u(this,"defaultEffects",null);let{uuid:s,s3Bucket:o}=t,n=we(e,`${s}/`),a=o?we(`https://${o}.s3.amazonaws.com/`,`${s}/${t.filename}`):null;this.uuid=s,this.name=i||t.filename,this.size=t.size,this.isStored=t.isStored,this.isImage=t.isImage,this.mimeType=t.mimeType,this.cdnUrl=n,this.originalFilename=t.originalFilename,this.imageInfo=t.imageInfo,this.videoInfo=t.videoInfo,this.contentInfo=t.contentInfo,this.metadata=t.metadata||null,this.s3Bucket=o||null,this.s3Url=a,Fa(t)&&(this.defaultEffects=t.defaultEffects)}},Va=(r,{publicKey:t,fileName:e,baseURL:i,secureSignature:s,secureExpire:o,store:n,contentType:a,signal:l,onProgress:c,source:h,integration:d,userAgent:p,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m,baseCDN:b,metadata:_})=>ka(r,{publicKey:t,fileName:e,contentType:a,baseURL:i,secureSignature:s,secureExpire:o,store:n,signal:l,onProgress:c,source:h,integration:d,userAgent:p,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m,metadata:_}).then(({file:v})=>vr(v,{publicKey:t,baseURL:i,source:h,integration:d,userAgent:p,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m,onProgress:c,signal:l})).then(v=>new Ce(v,{baseCDN:b})),Na=(r,{publicKey:t,fileName:e,baseURL:i,signal:s,onProgress:o,source:n,integration:a,userAgent:l,retryThrottledRequestMaxTimes:c,retryNetworkErrorMaxTimes:h,baseCDN:d})=>Gs(r,{publicKey:t,baseURL:i,signal:s,source:n,integration:a,userAgent:l,retryThrottledRequestMaxTimes:c,retryNetworkErrorMaxTimes:h}).then(p=>new Ce(p,{baseCDN:d,fileName:e})).then(p=>(o&&o({isComputable:!0,value:1}),p)),Ba=(r,{signal:t}={})=>{let e=null,i=null,s=r.map(()=>new AbortController),o=n=>()=>{i=n,s.forEach((a,l)=>l!==n&&a.abort())};return ti(t,()=>{s.forEach(n=>n.abort())}),Promise.all(r.map((n,a)=>{let l=o(a);return Promise.resolve().then(()=>n({stopRace:l,signal:s[a].signal})).then(c=>(l(),c)).catch(c=>(e=c,null))})).then(n=>{if(i===null)throw e;return n[i]})},za=window.WebSocket,fr=class{constructor(){u(this,"events",Object.create({}))}emit(t,e){var i;(i=this.events[t])==null||i.forEach(s=>s(e))}on(t,e){this.events[t]=this.events[t]||[],this.events[t].push(e)}off(t,e){e?this.events[t]=this.events[t].filter(i=>i!==e):this.events[t]=[]}},Ha=(r,t)=>r==="success"?{status:J.Success,...t}:r==="progress"?{status:J.Progress,...t}:{status:J.Error,...t},mr=class{constructor(t,e=3e4){u(this,"key");u(this,"disconnectTime");u(this,"ws");u(this,"queue",[]);u(this,"isConnected",!1);u(this,"subscribers",0);u(this,"emmitter",new fr);u(this,"disconnectTimeoutId",null);this.key=t,this.disconnectTime=e}connect(){if(this.disconnectTimeoutId&&clearTimeout(this.disconnectTimeoutId),!this.isConnected&&!this.ws){let t=`wss://ws.pusherapp.com/app/${this.key}?protocol=5&client=js&version=1.12.2`;this.ws=new za(t),this.ws.addEventListener("error",e=>{this.emmitter.emit("error",new Error(e.message))}),this.emmitter.on("connected",()=>{this.isConnected=!0,this.queue.forEach(e=>this.send(e.event,e.data)),this.queue=[]}),this.ws.addEventListener("message",e=>{let i=JSON.parse(e.data.toString());switch(i.event){case"pusher:connection_established":{this.emmitter.emit("connected",void 0);break}case"pusher:ping":{this.send("pusher:pong",{});break}case"progress":case"success":case"fail":this.emmitter.emit(i.channel,Ha(i.event,JSON.parse(i.data)))}})}}disconnect(){let t=()=>{var e;(e=this.ws)==null||e.close(),this.ws=void 0,this.isConnected=!1};this.disconnectTime?this.disconnectTimeoutId=setTimeout(()=>{t()},this.disconnectTime):t()}send(t,e){var s;let i=JSON.stringify({event:t,data:e});(s=this.ws)==null||s.send(i)}subscribe(t,e){this.subscribers+=1,this.connect();let i=`task-status-${t}`,s={event:"pusher:subscribe",data:{channel:i}};this.emmitter.on(i,e),this.isConnected?this.send(s.event,s.data):this.queue.push(s)}unsubscribe(t){this.subscribers-=1;let e=`task-status-${t}`,i={event:"pusher:unsubscribe",data:{channel:e}};this.emmitter.off(e),this.isConnected?this.send(i.event,i.data):this.queue=this.queue.filter(s=>s.data.channel!==e),this.subscribers===0&&this.disconnect()}onError(t){return this.emmitter.on("error",t),()=>this.emmitter.off("error",t)}},dr=null,yr=r=>{if(!dr){let t=typeof window=="undefined"?0:3e4;dr=new mr(r,t)}return dr},ja=r=>{yr(r).connect()};function Ga({token:r,publicKey:t,baseURL:e,integration:i,userAgent:s,retryThrottledRequestMaxTimes:o,retryNetworkErrorMaxTimes:n,onProgress:a,signal:l}){return Vs({check:c=>La(r,{publicKey:t,baseURL:e,integration:i,userAgent:s,retryThrottledRequestMaxTimes:o,retryNetworkErrorMaxTimes:n,signal:c}).then(h=>{switch(h.status){case J.Error:return new j(h.error,h.errorCode);case J.Waiting:return!1;case J.Unknown:return new j(`Token "${r}" was not found.`);case J.Progress:return a&&(h.total==="unknown"?a({isComputable:!1}):a({isComputable:!0,value:h.done/h.total})),!1;case J.Success:return a&&a({isComputable:!0,value:h.done/h.total}),h;default:throw new Error("Unknown status")}}),signal:l})}var Wa=({token:r,pusherKey:t,signal:e,onProgress:i})=>new Promise((s,o)=>{let n=yr(t),a=n.onError(o),l=()=>{a(),n.unsubscribe(r)};ti(e,()=>{l(),o(new ke("pusher cancelled"))}),n.subscribe(r,c=>{switch(c.status){case J.Progress:{i&&(c.total==="unknown"?i({isComputable:!1}):i({isComputable:!0,value:c.done/c.total}));break}case J.Success:{l(),i&&i({isComputable:!0,value:c.done/c.total}),s(c);break}case J.Error:l(),o(new j(c.msg,c.error_code))}})}),qa=(r,{publicKey:t,fileName:e,baseURL:i,baseCDN:s,checkForUrlDuplicates:o,saveUrlForRecurrentUploads:n,secureSignature:a,secureExpire:l,store:c,signal:h,onProgress:d,source:p,integration:f,userAgent:m,retryThrottledRequestMaxTimes:b,pusherKey:_=I.pusherKey,metadata:v})=>Promise.resolve(ja(_)).then(()=>$a(r,{publicKey:t,fileName:e,baseURL:i,checkForUrlDuplicates:o,saveUrlForRecurrentUploads:n,secureSignature:a,secureExpire:l,store:c,signal:h,source:p,integration:f,userAgent:m,retryThrottledRequestMaxTimes:b,metadata:v})).catch(E=>{let C=yr(_);return C==null||C.disconnect(),Promise.reject(E)}).then(E=>E.type===pr.FileInfo?E:Ba([({signal:C})=>Ga({token:E.token,publicKey:t,baseURL:i,integration:f,userAgent:m,retryThrottledRequestMaxTimes:b,onProgress:d,signal:C}),({signal:C})=>Wa({token:E.token,pusherKey:_,signal:C,onProgress:d})],{signal:h})).then(E=>{if(E instanceof j)throw E;return E}).then(E=>vr(E.uuid,{publicKey:t,baseURL:i,integration:f,userAgent:m,retryThrottledRequestMaxTimes:b,onProgress:d,signal:h})).then(E=>new Ce(E,{baseCDN:s})),hr=new WeakMap,Xa=async r=>{if(hr.has(r))return hr.get(r);let t=await fetch(r.uri).then(e=>e.blob());return hr.set(r,t),t},Ws=async r=>{if(si(r)||ri(r))return r.size;if(oi(r))return(await Xa(r)).size;throw new Error("Unknown file type. Cannot determine file size.")},Ka=(r,t=I.multipartMinFileSize)=>r>=t,qs=r=>{let t="[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}",e=new RegExp(t);return!Ke(r)&&e.test(r)},wr=r=>{let t="^(?:\\w+:)?\\/\\/([^\\s\\.]+\\.\\S{2}|localhost[\\:?\\d]*)\\S*$",e=new RegExp(t);return!Ke(r)&&e.test(r)},Za=(r,t)=>new Promise((e,i)=>{let s=[],o=!1,n=t.length,a=[...t],l=()=>{let c=t.length-a.length,h=a.shift();h&&h().then(d=>{o||(s[c]=d,n-=1,n?l():e(s))}).catch(d=>{o=!0,i(d)})};for(let c=0;c<r;c++)l()}),Ya=(r,t,e,i)=>{let s=i*t,o=Math.min(s+i,e);return r.slice(s,o)},Qa=async(r,t,e)=>i=>Ya(r,i,t,e),Ja=(r,t,{publicKey:e,contentType:i,onProgress:s,signal:o,integration:n,retryThrottledRequestMaxTimes:a,retryNetworkErrorMaxTimes:l})=>Ra(r,t,{publicKey:e,contentType:i,onProgress:s,signal:o,integration:n,retryThrottledRequestMaxTimes:a,retryNetworkErrorMaxTimes:l}),el=async(r,{publicKey:t,fileName:e,fileSize:i,baseURL:s,secureSignature:o,secureExpire:n,store:a,signal:l,onProgress:c,source:h,integration:d,userAgent:p,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m,contentType:b,multipartChunkSize:_=I.multipartChunkSize,maxConcurrentRequests:v=I.maxConcurrentRequests,baseCDN:E,metadata:C})=>{let P=i!=null?i:await Ws(r),X,ne=(N,K)=>{if(!c)return;X||(X=Array(N).fill(0));let se=ae=>ae.reduce((ge,rr)=>ge+rr,0);return ae=>{ae.isComputable&&(X[K]=ae.value,c({isComputable:!0,value:se(X)/N}))}};return b||(b=Hs(r)),Pa(P,{publicKey:t,contentType:b,fileName:e||js(r),baseURL:s,secureSignature:o,secureExpire:n,store:a,signal:l,source:h,integration:d,userAgent:p,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m,metadata:C,multipartChunkSize:_}).then(async({uuid:N,parts:K})=>{let se=await Qa(r,P,_);return Promise.all([N,Za(v,K.map((ae,ge)=>()=>Ja(se(ge),ae,{publicKey:t,contentType:b,onProgress:ne(K.length,ge),signal:l,integration:d,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m})))])}).then(([N])=>Da(N,{publicKey:t,baseURL:s,source:h,integration:d,userAgent:p,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m})).then(N=>N.isReady?N:vr(N.uuid,{publicKey:t,baseURL:s,source:h,integration:d,userAgent:p,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:m,onProgress:c,signal:l})).then(N=>new Ce(N,{baseCDN:E}))};async function Cr(r,{publicKey:t,fileName:e,baseURL:i=I.baseURL,secureSignature:s,secureExpire:o,store:n,signal:a,onProgress:l,source:c,integration:h,userAgent:d,retryThrottledRequestMaxTimes:p,retryNetworkErrorMaxTimes:f,contentType:m,multipartMinFileSize:b,multipartChunkSize:_,maxConcurrentRequests:v,baseCDN:E=I.baseCDN,checkForUrlDuplicates:C,saveUrlForRecurrentUploads:P,pusherKey:X,metadata:ne}){if(Ke(r)){let N=await Ws(r);return Ka(N,b)?el(r,{publicKey:t,contentType:m,multipartChunkSize:_,fileSize:N,fileName:e,baseURL:i,secureSignature:s,secureExpire:o,store:n,signal:a,onProgress:l,source:c,integration:h,userAgent:d,maxConcurrentRequests:v,retryThrottledRequestMaxTimes:p,retryNetworkErrorMaxTimes:f,baseCDN:E,metadata:ne}):Va(r,{publicKey:t,fileName:e,contentType:m,baseURL:i,secureSignature:s,secureExpire:o,store:n,signal:a,onProgress:l,source:c,integration:h,userAgent:d,retryThrottledRequestMaxTimes:p,retryNetworkErrorMaxTimes:f,baseCDN:E,metadata:ne})}if(wr(r))return qa(r,{publicKey:t,fileName:e,baseURL:i,baseCDN:E,checkForUrlDuplicates:C,saveUrlForRecurrentUploads:P,secureSignature:s,secureExpire:o,store:n,signal:a,onProgress:l,source:c,integration:h,userAgent:d,retryThrottledRequestMaxTimes:p,retryNetworkErrorMaxTimes:f,pusherKey:X,metadata:ne});if(qs(r))return Na(r,{publicKey:t,fileName:e,baseURL:i,signal:a,onProgress:l,source:c,integration:h,userAgent:d,retryThrottledRequestMaxTimes:p,retryNetworkErrorMaxTimes:f,baseCDN:E});throw new TypeError(`File uploading from "${r}" is not supported`)}var gr=class{constructor(t,{baseCDN:e=I.baseCDN}={}){u(this,"uuid");u(this,"filesCount");u(this,"totalSize");u(this,"isStored");u(this,"isImage");u(this,"cdnUrl");u(this,"files");u(this,"createdAt");u(this,"storedAt",null);this.uuid=t.id,this.filesCount=t.filesCount;let i=t.files.filter(Boolean);this.totalSize=Object.values(i).reduce((s,o)=>s+o.size,0),this.isStored=!!t.datetimeStored,this.isImage=!!Object.values(i).filter(s=>s.isImage).length,this.cdnUrl=t.cdnUrl,this.files=i.map(s=>new Ce(s,{baseCDN:e})),this.createdAt=t.datetimeCreated,this.storedAt=t.datetimeStored}},tl=r=>{for(let t of r)if(!Ke(t))return!1;return!0},il=r=>{for(let t of r)if(!qs(t))return!1;return!0},rl=r=>{for(let t of r)if(!wr(t))return!1;return!0};function Xs(r,{publicKey:t,fileName:e,baseURL:i=I.baseURL,secureSignature:s,secureExpire:o,store:n,signal:a,onProgress:l,source:c,integration:h,userAgent:d,retryThrottledRequestMaxTimes:p,retryNetworkErrorMaxTimes:f,contentType:m,multipartChunkSize:b=I.multipartChunkSize,baseCDN:_=I.baseCDN,checkForUrlDuplicates:v,saveUrlForRecurrentUploads:E,jsonpCallback:C}){if(!tl(r)&&!rl(r)&&!il(r))throw new TypeError(`Group uploading from "${r}" is not supported`);let P,X=!0,ne=r.length,N=(K,se)=>{if(!l)return;P||(P=Array(K).fill(0));let ae=ge=>ge.reduce((rr,In)=>rr+In)/K;return ge=>{if(!ge.isComputable||!X){X=!1,l({isComputable:!1});return}P[se]=ge.value,l({isComputable:!0,value:ae(P)})}};return Promise.all(r.map((K,se)=>Ke(K)||wr(K)?Cr(K,{publicKey:t,fileName:e,baseURL:i,secureSignature:s,secureExpire:o,store:n,signal:a,onProgress:N(ne,se),source:c,integration:h,userAgent:d,retryThrottledRequestMaxTimes:p,retryNetworkErrorMaxTimes:f,contentType:m,multipartChunkSize:b,baseCDN:_,checkForUrlDuplicates:v,saveUrlForRecurrentUploads:E}).then(ae=>ae.uuid):K)).then(K=>Ua(K,{publicKey:t,baseURL:i,jsonpCallback:C,secureSignature:s,secureExpire:o,signal:a,source:c,integration:h,userAgent:d,retryThrottledRequestMaxTimes:p,retryNetworkErrorMaxTimes:f}).then(se=>new gr(se,{baseCDN:_})).then(se=>(l&&l({isComputable:!0,value:1}),se)))}var $e=class{constructor(t){u(this,"_concurrency",1);u(this,"_pending",[]);u(this,"_running",0);u(this,"_resolvers",new Map);u(this,"_rejectors",new Map);this._concurrency=t}run(){let t=this._concurrency-this._running;for(let e=0;e<t;e++){let i=this._pending.shift();if(!i)return;let s=this._resolvers.get(i),o=this._rejectors.get(i);if(!s||!o)throw new Error("Unexpected behavior: resolver or rejector is undefined");this._running+=1,i().finally(()=>{this._resolvers.delete(i),this._rejectors.delete(i),this._running-=1,this.run()}).then(n=>s(n)).catch(n=>o(n))}}add(t,{autoRun:e}={autoRun:!0}){return new Promise((i,s)=>{this._resolvers.set(t,i),this._rejectors.set(t,s),this._pending.push(t),e&&this.run()})}get pending(){return this._pending.length}get running(){return this._running}set concurrency(t){this._concurrency=t,this.run()}get concurrency(){return this._concurrency}};var Er=()=>({}),Ar=r=>({...Er(),"*currentActivity":null,"*currentActivityParams":{},"*history":[],"*historyBack":null,"*closeModal":()=>{r.modalManager.close(r.$["*currentActivity"]),r.set$({"*currentActivity":null})}}),ai=r=>({...Ar(r),"*commonProgress":0,"*uploadList":[],"*uploadQueue":new $e(1),"*collectionErrors":[],"*collectionState":null,"*groupInfo":null,"*uploadTrigger":new Set,"*secureUploadsManager":null});var mt={"locale-id":"en","social-source-lang":"en","upload-file":"Upload file","upload-files":"Upload files","choose-file":"Choose file","choose-files":"Choose files","drop-files-here":"Drop files here","select-file-source":"Select file source",selected:"Selected",upload:"Upload","add-more":"Add more",cancel:"Cancel","start-from-cancel":"Cancel",clear:"Clear","camera-shot":"Shot","upload-url":"Import","upload-url-placeholder":"Paste link here","edit-image":"Edit image","edit-detail":"Details",back:"Back",done:"Done",ok:"Ok","remove-from-list":"Remove",no:"No",yes:"Yes","confirm-your-action":"Confirm your action","are-you-sure":"Are you sure?","selected-count":"{{count}} of {{total}} selected","select-all":"Select all","deselect-all":"Deselect all","upload-error":"Upload error","validation-error":"Validation error","no-files":"No files selected",browse:"Browse","not-uploaded-yet":"Not uploaded yet...",file__one:"file",file__other:"files",error__one:"error",error__other:"errors","header-uploading":"Uploading {{count}} {{plural:file(count)}}","header-failed":"{{count}} {{plural:error(count)}}","header-succeed":"{{count}} {{plural:file(count)}} uploaded","header-total":"{{count}} {{plural:file(count)}} selected","src-type-local":"From device","src-type-from-url":"From link","src-type-camera":"Camera","src-type-mobile-video-camera":"Video","src-type-mobile-photo-camera":"Photo","src-type-draw":"Draw","src-type-facebook":"Facebook","src-type-dropbox":"Dropbox","src-type-gdrive":"Google Drive","src-type-ngdrive":"Google Drive","src-type-gphotos":"Google Photos","src-type-flickr":"Flickr","src-type-vk":"VK","src-type-evernote":"Evernote","src-type-box":"Box","src-type-onedrive":"OneDrive","src-type-huddle":"Huddle","src-type-other":"Other","caption-from-url":"Import from link","caption-camera":"Camera","caption-draw":"Draw","caption-edit-file":"Edit file","file-no-name":"No name...","toggle-fullscreen":"Toggle fullscreen","toggle-guides":"Toggle guides",rotate:"Rotate","flip-vertical":"Flip vertical","flip-horizontal":"Flip horizontal",apply:"Apply",brightness:"Brightness",contrast:"Contrast",saturation:"Saturation",exposure:"Exposure",gamma:"Gamma",vibrance:"Vibrance",warmth:"Warmth",enhance:"Enhance",original:"Original",resize:"Resize image",crop:"Crop","select-color":"Select color",text:"Text",draw:"Draw","cancel-edit":"Cancel edit","tab-view":"Preview","tab-details":"Details","file-name":"Name","file-size":"Size","cdn-url":"CDN URL","file-size-unknown":"Unknown","camera-permissions-denied":"Camera access denied","camera-permissions-prompt":"Please allow access to the camera","camera-permissions-request":"Request access","files-count-limit-error-title":"Files count limit overflow","files-count-limit-error-too-few":"You\u2019ve chosen {{total}} {{plural:file(total)}}. At least {{min}} {{plural:file(min)}} required.","files-count-limit-error-too-many":"You\u2019ve chosen too many files. {{max}} {{plural:file(max)}} is maximum.","files-max-size-limit-error":"File is too big. Max file size is {{maxFileSize}}.","has-validation-errors":"File validation error occurred. Please, check your files before upload.","images-only-accepted":"Only image files are accepted.","file-type-not-allowed":"Uploading of these file types is not allowed.","some-files-were-not-uploaded":"Some files were not uploaded.","file-item-edit-button":"Edit","file-item-remove-button":"Remove","a11y-editor-tab-filters":"Filters","a11y-editor-tab-tuning":"Tuning","a11y-editor-tab-crop":"Crop","a11y-activity-header-button-close":"Close",flip:"Flip",mirror:"Mirror","a11y-cloud-editor-apply-filter":"Apply {{name}} filter","a11y-cloud-editor-apply-crop":"Apply {{name}} operation","a11y-cloud-editor-apply-tuning":"Apply {{name}} tuning","a11y-cloud-editor-apply-aspect-ratio":"Apply operation {{name}} {{value}}",finished:"Finished",failed:"Failed",uploading:"Uploading",idle:"Idle","a11y-file-item-status":"File {{fileName}} in status {{status}}","waiting-for":"Waiting for {{source}}","queued-uploading":"Queued for upload","queued-validation":"Queued for validation",validation:"Validating","crop-to-shape":"Crop to {{value}}",custom:"Freeform","freeform-crop":"Freeform crop"};var li=new Map,xr=new Map,Ks=(r,t)=>{li.has(r)&&console.log(`Locale ${r} is already defined. Overwriting...`),li.set(r,{...mt,...t})},sl=(r,t)=>{xr.set(r,t)},Zs=(r,t)=>{typeof t=="function"?sl(r,t):Ks(r,t)},Ys=async r=>{if(!li.has(r)){if(!xr.has(r))throw new Error(`Locale ${r} is not defined`);let e=await xr.get(r)();Ks(r,e)}return li.get(r)};Zs("en",mt);var oe=r=>`*l10n/${r}`,ol="en",ci=class{constructor(t){u(this,"_blockInstance",null);u(this,"_localeName","");u(this,"_callbacks",new Set);u(this,"_boundBlocks",new Map);this._blockInstance=t;for(let[e,i]of Object.entries(mt)){let s=this._blockInstance.has(oe(e))?!this._blockInstance.$[oe(e)]:!0;this._blockInstance.add(oe(e),i,s)}setTimeout(()=>{t.subConfigValue("localeName",async e=>{var o;if(!this._blockInstance||!e)return;this._localeName=e;let i=await Ys(e);if(e!==ol&&this._localeName!==e)return;let s=(o=this._blockInstance.cfg.localeDefinitionOverride)==null?void 0:o[e];for(let[n,a]of Object.entries(i)){let l=s==null?void 0:s[n];this._blockInstance.add(oe(n),l!=null?l:a,!0);for(let c of this._callbacks)c()}}),t.subConfigValue("localeDefinitionOverride",e=>{var s;if(!e)return;let i=e[this._localeName];if(i)for(let[o,n]of Object.entries(i)){(s=this._blockInstance)==null||s.add(oe(o),n,!0);for(let a of this._callbacks)a()}})})}onLocaleChange(t){let e=$(t,0);return this._callbacks.add(e),()=>{this._callbacks.delete(e)}}bindL10n(t,e,i){var o,n,a;t.$[e]=i(),this._boundBlocks.has(t)||this._boundBlocks.set(t,new Map),(n=(o=this._boundBlocks.get(t))==null?void 0:o.get(e))==null||n();let s=this.onLocaleChange(()=>{t.$[e]=i()});(a=this._boundBlocks.get(t))==null||a.set(e,s)}destroyL10nBindings(t){let e=this._boundBlocks.get(t);if(e){for(let i of e.values())i();this._boundBlocks.delete(t)}}destroy(){this._callbacks.clear()}};function Qs(r,t){[...r.querySelectorAll("[l10n]")].forEach(e=>{let i=e.getAttribute("l10n");if(!i)return;let s=i.split(";");for(let o of s)o&&nl(e,o,t)})}var nl=(r,t,e)=>{let i="textContent",s=!1;if(t.includes(":")){let a=t.split(":");i=a[0],t=a[1],i.startsWith("@")&&(i=i.slice(1),s=!0)}let o=t;e.has(o)&&e.sub(o,a=>{if(!a)return;e.l10nProcessorSubs.has(o)||e.l10nProcessorSubs.set(o,new Set);let l=e.l10nProcessorSubs.get(o);l==null||l.forEach(d=>{d.remove(),l.delete(d),e.allSubs.delete(d)});let c=oe(a).replace("*","");e.nodeCtx.has(c)||e.nodeCtx.add(c,a);let h=e.nodeCtx.sub(c,()=>{r[i]=e.l10n(a)});l==null||l.add(h),e.allSubs.add(h),r.removeAttribute("l10n")});let n=oe(t);e.has(n)||e.add(n,""),e.sub(n,()=>{t=t,s?r.setAttribute(i,e.l10n(t)):r[i]=e.l10n(t)}),r.removeAttribute("l10n")};var G=r=>`*cfg/${r}`;function Js(r,t){let e=r.querySelectorAll("[data-testid]");if(e.length===0)return;let i=new WeakMap;for(let s of e){let o=s.getAttribute("data-testid");o&&i.set(s,o)}t.subConfigValue("testMode",s=>{if(!s){for(let n of e)n.removeAttribute("data-testid");return}let o=t.testId;for(let n of e){let a=i.get(n);a&&n.setAttribute("data-testid",`${o}--${a}`)}})}var al={button:["toolbar"],checkbox:["toolbar"],menuitem:["menu","menubar"],option:["listbox"],tab:["tablist"]};function gt(r,t){t.tabIndex=0,t.focus(),r.tabIndex=-1}function Tr(r){let t=r.role||r.type||r.tagName;if(!t)return null;let e=al[t.toLowerCase()];if(!e)return null;for(let i of e){let s=r.closest(`[role=${i}]`);if(s)return s}}function Sr(r,t){return t.role==="toolbar"?ll(t):t.querySelectorAll(`[role=${r.role}]`)}function ll(r){return[...r.querySelectorAll("*")].filter(e=>e.role==="button"||e.type==="button"||e.role==="checkbox"||e.type==="checkbox")}function cl(r){let t=r.getAttribute("aria-orientation");if(t==="vertical")return!1;if(t==="horizontal")return!0;let e=r.role;return e==="menubar"||e==="tablist"||e==="toolbar"}function eo(r){return t=>{let e=!1,i=(r==null?void 0:r.searchDelayMs)||300,s=0,o="";function n(d){let p=Tr(d.target);if(!p){a();return}let f=Sr(d.target,p),m=Array.from(f).indexOf(d.target),b="ArrowDown",_="ArrowUp";if(cl(p)&&(t.document.dir==="rtl"?(b="ArrowLeft",_="ArrowRight"):(b="ArrowRight",_="ArrowLeft")),d.key===b)d.preventDefault(),gt(d.target,f[m+1]||f[0]);else if(d.key===_)d.preventDefault(),gt(d.target,f[m-1]||f[f.length-1]);else if(d.key==="Home")d.preventDefault(),gt(d.target,f[0]);else if(d.key==="End")d.preventDefault(),gt(d.target,f[f.length-1]);else if(d.key.length===1&&p.role!=="tablist"){let v=Date.now();v-s<=i?o+=d.key.toLowerCase():o=d.key.toLowerCase(),s=v;let E=Array.from(f).find(C=>{var P,X,ne;return(ne=(X=(P=C.textContent)==null?void 0:P.trim())==null?void 0:X.toLowerCase())==null?void 0:ne.startsWith(o)});E&&(d.preventDefault(),gt(d.target,E))}}function a(){e=!1,t.removeEventListener("keydown",n)}function l(d){let p=Tr(d.target);if(p){e||(e=!0,t.addEventListener("keydown",n));let f=Sr(d.target,p);for(let m of f)m!==d.target&&m.setAttribute("tabindex",-1)}else e&&a()}function c(d){(!d.relatedTarget||d.relatedTarget===t.document)&&a()}function h(d){let p=Tr(d.target);if(p){let f=Sr(d.target,p);for(let m of f)m!==d.target&&m.setAttribute("tabindex",-1);d.target.setAttribute("tabindex",0)}}return t.addEventListener("click",h),t.addEventListener("focusin",l),t.addEventListener("focusout",c),()=>{a(),t.removeEventListener("click",h),t.removeEventListener("focusin",l),t.removeEventListener("focusout",c)}}}function to(){return r=>{let t,e;function i(o){if(o.target.getAttribute("aria-hidden")==="true"){t=o.target,t.setAttribute("aria-hidden","false"),e=t.hidden,e&&(t.hidden=!1);let n=o.target.querySelector('a, button, select, textarea, input:not([type=radio]), [type=radio]:checked, [tabindex]:not([tabindex="-1"])');n&&(n.tabIndex=0)}}function s(o){t&&t.contains(o.target)&&(!o.relatedTarget||!t.contains(o.relatedTarget))&&(o.target.tabIndex=-1,t.setAttribute("aria-hidden","true"),e&&(t.hidden=!0),t=null)}return r.addEventListener("keyuxJump",i),r.addEventListener("focusout",s),()=>{r.removeEventListener("keyuxJump",i),r.removeEventListener("focusout",s)}}}function io(){return r=>{let t=[];function e(l){let c=r.document.activeElement;c&&c!==r.document.body&&t.push(new WeakRef(c)),l.focus({focusVisible:!0})}function i(){let l=t.pop();if(!l){r.document.activeElement.blur();return}let c=l.deref();c&&c.isConnected?c.focus():i()}let s=0,o;function n(l){clearInterval(o);let c=l.getAttribute("aria-controls");o=setInterval(()=>{if(s++>50){clearInterval(o);return}let h=r.document.getElementById(c);if(h){let d=h.querySelector('a, button, select, textarea, input:not([type=radio]), [type=radio]:checked, [tabindex]:not([tabindex="-1"])');d&&(clearInterval(o),h.dispatchEvent(new r.CustomEvent("keyuxJump",{bubbles:!0})),e(d))}},50)}function a(l){l.target.getAttribute("aria-controls")&&l.key==="Enter"&&n(l.target),l.key==="Escape"&&i()}return r.addEventListener("keydown",a),()=>{r.removeEventListener("keydown",a)}}}function ro(r){let t,e=r.split(" "),i;function s(a){a.key==="Enter"&&(a.target.tagName==="BUTTON"||a.target.tagName==="A")&&(o(),a.target.classList.add(...e),t=a.target,i=a.target)}function o(){t&&t.classList.remove(...e),i=null}function n(a){a.clientX===0&&a.clientY===0&&i!==a.target&&(o(),a.target.classList.add(...e),t=a.target)}return a=>(a.addEventListener("click",n),a.addEventListener("keydown",s),a.addEventListener("keyup",o),()=>{a.removeEventListener("click",n),a.removeEventListener("keydown",s),a.removeEventListener("keyup",o)})}function so(r,t){let e=t.map(i=>i(r));return()=>{e.forEach(i=>i())}}var Ir=class{constructor(){u(this,"_listeners",new Map);u(this,"_scope",[])}addEventListener(t,e){let i=s=>{let o=s.target;o&&this._scope.some(n=>n===s.target||n.contains(o))&&e(s)};this._listeners.set(e,i),window.addEventListener(t,i)}removeEventListener(t,e){let i=this._listeners.get(e);i&&window.removeEventListener(t,i),this._listeners.delete(e)}get CustomEvent(){return window.CustomEvent}get document(){return window.document}get navigator(){return window.navigator}registerScope(t){this._scope.push(t)}destroy(){this._scope=[],this._listeners.forEach((t,e)=>{window.removeEventListener("keydown",t),window.removeEventListener("keyup",t),this._listeners.delete(e)})}},ui=class{constructor(){u(this,"_destroyKeyUX");u(this,"_scopedWindow");this._scopedWindow=new Ir,this._destroyKeyUX=so(this._scopedWindow,[eo(),ro("is-pressed"),io(),to()])}registerBlock(t){this._scopedWindow.registerScope(t)}destroy(){var t;(t=this._destroyKeyUX)==null||t.call(this),this._scopedWindow.destroy()}};var F=Object.freeze({ADD:"modal:add",DELETE:"modal:delete",OPEN:"modal:open",CLOSE:"modal:close",CLOSE_ALL:"modal:closeAll",DESTROY:"modal:destroy"}),di=class{constructor(t){u(this,"_modals",new Map);u(this,"_activeModals",new Set);u(this,"_subscribers",new Map);this._block=t}_debugPrint(...t){this._block.debugPrint("[modal-manager]",...t)}registerModal(t,e){this._modals.set(t,e),this._notify(F.ADD,{id:t,modal:e})}deleteModal(t){if(!this._modals.has(t))return!1;let e=this._modals.get(t);return this._modals.delete(t),this._activeModals.delete(t),this._notify(F.DELETE,{id:t,modal:e}),!0}open(t){if(!this._modals.has(t))return this._debugPrint(`Modal with ID "${t}" not found`),!1;let e=this._modals.get(t);return this._activeModals.add(t),this._notify(F.OPEN,{modal:e,id:t}),!0}close(t){if(!this._modals.has(t)||!this._activeModals.has(t))return this._debugPrint(`Modal with ID "${t}" not found or not active`),!1;let e=this._modals.get(t);return this._activeModals.delete(t),this._notify(F.CLOSE,{id:t,modal:e}),!0}toggle(t){return this._modals.has(t)?this._activeModals.has(t)?this.close(t):this.open(t):(this._debugPrint(`Modal with ID "${t}" not found`),!1)}get hasActiveModals(){return this._activeModals.size>0}back(){if(this._activeModals.size===0)return this._debugPrint("No active modals to go back from"),!1;let t=Array.from(this._activeModals).pop();return this.close(t)}closeAll(){let t=this._activeModals.size;return this._activeModals.clear(),this._notify(F.CLOSE_ALL,{}),t}subscribe(t,e){var i;return this._subscribers.has(t)||this._subscribers.set(t,new Set),(i=this._subscribers.get(t))==null||i.add(e),()=>this.unsubscribe(t,e)}unsubscribe(t,e){var i;this._subscribers.has(t)&&((i=this._subscribers.get(t))==null||i.delete(e))}_notify(t,e){var i;if(this._subscribers.has(t))for(let s of(i=this._subscribers.get(t))!=null?i:new Set)try{s(e)}catch(o){this._block.telemetryManager.sendEventError(o,"modal subscriber"),this._debugPrint("Error in modal subscriber:",o)}}destroy(){this.closeAll(),this._modals.clear(),this._subscribers.clear(),this._notify(F.DESTROY,{})}};function ul(r){return r.replace(/[A-Z]/g,t=>`_${t.toLowerCase()}`).replace(/__/g,"_")}function kr(r){return Array.isArray(r)?r.map(t=>typeof t=="object"&&t!==null?kr(t):t):typeof r!="object"||r===null?r:Object.fromEntries(Object.entries(r).map(([t,e])=>{let i=ul(t);return typeof e=="object"&&e!==null?[i,kr(e)]:[i,e]}))}function dl(r){return{ok:!0,value:r}}function Or(r){return{ok:!1,error:r}}var hl="https://tlm.uploadcare.com/api/",$r=class{constructor(t=hl){this.baseUrl=t}async base(t,e={}){let i=`${this.baseUrl}${t}`;try{let s=await fetch(i,e);if(!s.ok)return Or(new Error(`Got non-200 response from "${i}". Status: ${s.status.toString()}`));try{let o=await s.json();return dl(o)}catch(o){return Or(new Error(`Error parsing JSON from "${i}". Error: ${o}`))}}catch(s){return Or(new Error(`Error fetching data from "${i}". Error: ${s}`))}}async post(t,e,i={}){return await this.base(t,{...i,method:"POST",body:JSON.stringify(kr(e)),headers:{"Content-Type":"application/json",...i.headers||{}}})}async get(t,e={}){return await this.base(t,{method:"GET",...e})}},pl=async(r,t)=>({success:!0,data:t}),hi=class extends $r{constructor(){super()}async sendEvent(t,e){let i=await pl(void 0,t);if(!i.success)throw console.error("TelemetryAPIService: events: body is invalid",i.error),new Error("TelemetryAPIService: events: body is invalid");return this.post("v1/events",t,e)}};var Ue="blocks",Pe="1.23.1";var pi=class{constructor(t){u(this,"_sessionId",crypto.randomUUID());u(this,"_telemetryInstance",null);u(this,"_block",null);u(this,"_config",structuredClone(te));u(this,"_initialized",!1);u(this,"_lastPayload",null);u(this,"_queue",null);this._block=t,this._telemetryInstance=new hi,this._queue=new $e(10);for(let e of Object.keys(this._config))this._block.subConfigValue(e,i=>{var s;this._initialized&&this._config[e]!==i&&((s=this._block)==null||s.emit(w.CHANGE_CONFIG,void 0)),this._setConfig(e,i)})}_init(t){t===w.INIT_SOLUTION&&!this._initialized&&(this._initialized=!0)}_setConfig(t,e){this._config[t]!==e&&(this._config[t]=e)}_formattingPayload(t){var s,o;let e=t.payload?{...t.payload}:{};e.activity&&(e.activity=void 0);let i={...t};return(t.eventType===w.INIT_SOLUTION||t.eventType===w.CHANGE_CONFIG)&&(i.config=this._config),{...i,appVersion:Pe,appName:Ue,sessionId:this._sessionId,component:this._solution,activity:this._activity,projectPubkey:(s=this._config)==null?void 0:s.pubkey,userAgent:navigator.userAgent,eventType:(o=i.eventType)!=null?o:"",eventTimestamp:this._timestamp,payload:{...e}}}_excludedEvents(t){return!!(t&&[w.CHANGE,w.COMMON_UPLOAD_PROGRESS,w.FILE_ADDED,w.FILE_REMOVED,w.FILE_UPLOAD_START,w.FILE_UPLOAD_PROGRESS,w.FILE_UPLOAD_SUCCESS,w.FILE_UPLOAD_FAILED,w.FILE_URL_CHANGED,w.GROUP_CREATED].includes(t))}sendEvent(t){var o;let e=this._formattingPayload(t);if(this._init(t.eventType),this._excludedEvents(t.eventType)||this._lastPayload&&this._checkObj(this._lastPayload,e))return null;(o=this._queue)==null||o.add(async()=>{var n;this._lastPayload=e,await((n=this._telemetryInstance)==null?void 0:n.sendEvent(e))})}sendEventError(t,e="unknown"){this.sendEvent({payload:{metadata:{event:"error",text:`Error in ${e}`,error:t.message}}})}sendEventCloudImageEditor(t,e,i={}){var s;this.sendEvent({payload:{metadata:{tabId:e,node:(s=t.currentTarget)==null?void 0:s.tagName,event:t.type,...i}}})}_checkObj(t,e){if(JSON.stringify(t)===JSON.stringify(e))return!0;if(typeof t!="object"||typeof e!="object"||t==null||e==null)return!1;let i=Object.keys(t),s=Object.keys(e);if(i.length!==s.length)return!1;for(let o of i)if(!Object.prototype.hasOwnProperty.call(e,o)||!this._checkObj(t[o],e[o]))return!1;return!0}get _timestamp(){return Date.now()}get _solution(){var t,e;return(t=this._block)!=null&&t.has("*solution")?(e=this._block)==null?void 0:e.$["*solution"].toLowerCase():null}get _activity(){var t,e;return(t=this._block)!=null&&t.has("*currentActivity")?(e=this._block)==null?void 0:e.$["*currentActivity"]:null}};var fl="uc-",y=class extends Se{constructor(){super();u(this,"requireCtxName",!1);u(this,"activityType",null);u(this,"init$",Er());this.l10nProcessorSubs=new Map,this.addTemplateProcessor(Qs),this.addTemplateProcessor(Js)}l10n(e,i={}){if(!e)return"";let s=this.$[oe(e)]||e,o=Us(s);for(let a of o)i[a.variable]=this.pluralize(a.pluralKey,Number(i[a.countVariable]));return ft(s,i)}pluralize(e,i){let s=this.l10n("locale-id")||"en",o=ei(s,i);return this.l10n(`${e}__${o}`)}bindL10n(e,i){var s;(s=this.localeManager)==null||s.bindL10n(this,e,i)}emit(e,i,s){let o=this.has("*eventEmitter")&&this.$["*eventEmitter"];o&&(o.emit(e,i,s),this.telemetryManager.sendEvent({eventType:e,payload:typeof i=="function"?i():i}))}hasBlockInCtx(e){for(let i of this.blocksRegistry)if(e(i))return!0;return!1}setOrAddState(e,i){this.add$({[e]:i},!0)}connectedCallback(){this.constructor.styleAttrs.forEach(i=>{this.setAttribute(i,"")}),this.hasAttribute("retpl")&&(this.constructor.template=null,this.processInnerHtml=!0),this.requireCtxName?Ps({element:this,attribute:"ctx-name",onSuccess:()=>{super.connectedCallback()},onTimeout:()=>{console.error("Attribute `ctx-name` is required and it is not set.")}}):super.connectedCallback(),Ve.registerClient(this)}disconnectedCallback(){super.disconnectedCallback(),Ve.unregisterClient(this)}initCallback(){this.has("*blocksRegistry")||this.add("*blocksRegistry",new Set),this.$["*blocksRegistry"].add(this),this.has("*eventEmitter")||this.add("*eventEmitter",new Jt(this.debugPrint.bind(this))),this.has("*localeManager")||this.add("*localeManager",new ci(this)),this.cfg.qualityInsights&&!this.has("*telemetryManager")&&this.add("*telemetryManager",new pi(this)),this.has("*a11y")||this.add("*a11y",new ui),this.has("*modalManager")||this.add("*modalManager",new di(this)),this.sub(oe("locale-id"),i=>{let s=$s(i);this.style.direction=s==="ltr"?"":s}),this.subConfigValue("testMode",i=>{if(!i||!this.testId){this.removeAttribute("data-testid");return}this.setAttribute("data-testid",this.testId)})}get testId(){return window.customElements.getName(this.constructor)}get modalManager(){return this.has("*modalManager")&&this.$["*modalManager"]}get telemetryManager(){return this.cfg.qualityInsights?this.has("*telemetryManager")&&this.$["*telemetryManager"]:{sendEvent:()=>{},sendEventCloudImageEditor:()=>{},sendEventError:()=>{}}}get localeManager(){return this.has("*localeManager")?this.$["*localeManager"]:null}get a11y(){return this.has("*a11y")?this.$["*a11y"]:null}get blocksRegistry(){return this.$["*blocksRegistry"]}destroyCallback(){var i;super.destroyCallback();let e=this.blocksRegistry;e==null||e.delete(this),(i=this.localeManager)==null||i.destroyL10nBindings(this),this.l10nProcessorSubs=new Map,T.deleteCtx(this),(e==null?void 0:e.size)===0&&setTimeout(()=>{this.destroyCtxCallback()},0)}destroyCtxCallback(){var e,i;T.deleteCtx(this.ctxName),(e=this.localeManager)==null||e.destroy(),this.modalManager&&((i=this.modalManager)==null||i.destroy())}async proxyUrl(e){if(this.cfg.secureDeliveryProxy&&this.cfg.secureDeliveryProxyUrlResolver&&console.warn("Both secureDeliveryProxy and secureDeliveryProxyUrlResolver are set. The secureDeliveryProxyUrlResolver will be used."),this.cfg.secureDeliveryProxyUrlResolver)try{return await this.cfg.secureDeliveryProxyUrlResolver(e,{uuid:Yt(e),cdnUrlModifiers:ar(e),fileName:Zt(e)})}catch(i){return console.error("Failed to resolve secure delivery proxy URL. Falling back to the default URL.",i),this.telemetryManager.sendEventError(i,"secureDeliveryProxyUrlResolver. Failed to resolve secure delivery proxy URL. Falling back to the default URL."),e}return this.cfg.secureDeliveryProxy?ft(this.cfg.secureDeliveryProxy,{previewUrl:e},{transform:i=>window.encodeURIComponent(i)}):e}get cfg(){if(!this.__cfgProxy){let e=Object.create(null);this.__cfgProxy=new Proxy(e,{set:(i,s,o)=>{if(typeof s!="string")return!1;let n=G(s);return this.has(n)||this.add(n,te[s]),this.$[n]=o,!0},get:(i,s)=>{let o=G(s);return this.has(o)||this.add(o,te[s]),this.$[G(s)]}})}return this.__cfgProxy}subConfigValue(e,i){let s=G(e);this.has(s)||this.add(s,te[e]),this.sub(s,i)}debugPrint(...e){if(!this.cfg.debug)return;let i=e;if(typeof(e==null?void 0:e[0])=="function"){let s=e[0];i=s()}console.log(`[${this.ctxName}]`,...i)}static reg(e){if(!e){super.reg();return}e.startsWith(fl)&&super.reg(e)}};u(y,"StateConsumerScope",null),u(y,"styleAttrs",[]);var oo="<svg width='0' height='0' style='position:absolute'><symbol viewBox='0 0 24 24' id='uc-icon-about' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.152 14.12v.1h1.523v-.1c.007-.409.053-.752.138-1.028.086-.277.22-.517.405-.72.188-.202.434-.397.735-.586.32-.191.593-.412.82-.66.232-.249.41-.531.533-.847.125-.32.187-.678.187-1.076 0-.579-.137-1.085-.41-1.518a2.717 2.717 0 0 0-1.14-1.018c-.49-.245-1.062-.367-1.715-.367-.597 0-1.142.114-1.636.34-.49.228-.884.564-1.182 1.008-.299.44-.46.98-.485 1.619h1.62c.024-.377.118-.684.282-.922a1.48 1.48 0 0 1 .617-.532c.25-.114.51-.17.784-.17.301 0 .575.063.82.191.248.124.447.302.597.533.149.23.223.504.223.82 0 .263-.05.502-.149.72a1.91 1.91 0 0 1-.405.574 3.48 3.48 0 0 1-.575.453 4.22 4.22 0 0 0-.847.66c-.234.242-.415.558-.543.949-.125.39-.19.916-.197 1.577Zm.053 3.03c.21.206.46.31.75.31.196 0 .374-.049.534-.144a1.1 1.1 0 0 0 .383-.384c.1-.163.15-.343.15-.538a1 1 0 0 0-.32-.746 1.019 1.019 0 0 0-.746-.314c-.291 0-.542.105-.751.314-.21.206-.314.455-.314.746 0 .295.104.547.314.756ZM24 12c0 6.627-5.373 12-12 12S0 18.627 0 12 5.373 0 12 0s12 5.373 12 12Zm-1.5 0c0 5.799-4.701 10.5-10.5 10.5S1.5 17.799 1.5 12 6.201 1.5 12 1.5 22.5 6.201 22.5 12Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-add' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M12.75 21a.75.75 0 0 1-1.5 0v-8.25H3a.75.75 0 0 1 0-1.5h8.25V3a.75.75 0 0 1 1.5 0v8.25H21a.75.75 0 0 1 0 1.5h-8.25V21Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-arrow-down' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.5 23.03a.75.75 0 0 0 .999 0l9.29-8.276a.75.75 0 0 0-.998-1.12l-8.042 7.164V1.53a.75.75 0 0 0-1.5 0v19.267l-8.04-7.163a.75.75 0 0 0-.998 1.12z'/></symbol><symbol fill='none' viewBox='0 0 9 6' id='uc-icon-arrow-dropdown' xmlns='http://www.w3.org/2000/svg'><path stroke='currentColor' d='m1.5 1.667 3 2.666 3-2.666' opacity='.5'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-aspect-ratio' xmlns='http://www.w3.org/2000/svg'><path stroke='currentColor' d='M7.395 22.5H2.454v-5.25m14.824 5.25h4.94v-5.25m0-10.5V1.5h-4.94m-9.883 0H2.454v5.25'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-back' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M20.251 12a.75.75 0 0 1-.75.75H6.067l5.72 5.85a.75.75 0 1 1-1.072 1.05L4.136 12.92a1.292 1.292 0 0 1 0-1.842l6.579-6.728a.75.75 0 1 1 1.072 1.048l-5.72 5.851H19.5a.75.75 0 0 1 .75.75Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-badge-error' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M13.6 18.4a1.6 1.6 0 1 1-3.2 0 1.6 1.6 0 0 1 3.2 0zM12 4.5A1.5 1.5 0 0 1 13.5 6v7a1.5 1.5 0 0 1-3 0V6A1.5 1.5 0 0 1 12 4.5z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-badge-success' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='m10.5 18.204 7.6-8.183a1.5 1.5 0 0 0-2.2-2.042l-5.4 5.817-2.4-2.586a1.5 1.5 0 1 0-2.2 2.041l4.6 4.953Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-box' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M1.01 4.148a.75.75 0 0 1 .75.75v4.348a4.437 4.437 0 0 1 2.988-1.153c1.734 0 3.23.992 3.978 2.438a4.478 4.478 0 0 1 3.978-2.438c2.49 0 4.488 2.044 4.488 4.543 0 2.5-1.999 4.544-4.488 4.544a4.478 4.478 0 0 1-3.978-2.438 4.478 4.478 0 0 1-3.978 2.438C2.26 17.18.26 15.135.26 12.636V4.898a.75.75 0 0 1 .75-.75Zm.75 8.488c0 1.692 1.348 3.044 2.988 3.044s2.989-1.352 2.989-3.044c0-1.691-1.349-3.043-2.989-3.043S1.76 10.945 1.76 12.636Zm10.944-3.043c-1.64 0-2.988 1.352-2.988 3.043 0 1.692 1.348 3.044 2.988 3.044s2.988-1.352 2.988-3.044c0-1.69-1.348-3.043-2.988-3.043Zm4.328-1.23a.75.75 0 0 1 1.052.128l2.333 2.983 2.333-2.983a.75.75 0 0 1 1.181.924l-2.562 3.277 2.562 3.276a.75.75 0 1 1-1.181.924l-2.333-2.983-2.333 2.983a.75.75 0 1 1-1.181-.924l2.562-3.276-2.562-3.277a.75.75 0 0 1 .129-1.052Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-camera' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M7.65 2.55a.75.75 0 0 1 .6-.3h7.5a.75.75 0 0 1 .6.3l2.025 2.7H21a3 3 0 0 1 3 3v10.5a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V8.25a3 3 0 0 1 3-3h2.625zm.975 1.2L6.6 6.45a.75.75 0 0 1-.6.3H3a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h18a1.5 1.5 0 0 0 1.5-1.5V8.25a1.5 1.5 0 0 0-1.5-1.5h-3a.75.75 0 0 1-.6-.3l-2.025-2.7zm3.375 6a3.375 3.375 0 1 0 0 6.75 3.375 3.375 0 0 0 0-6.75zm-4.875 3.375a4.875 4.875 0 1 1 9.75 0 4.875 4.875 0 0 1-9.75 0z'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-camera-full' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' clip-rule='evenodd' d='M2 4.667a2 2 0 0 0-2 2V16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6.667a2 2 0 0 0-2-2h-2.667l-2-2.667H6.667l-2 2.667H2Zm8 10a3.667 3.667 0 1 0 0-7.334 3.667 3.667 0 0 0 0 7.334Z' fill='currentColor'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-close' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M4.604 4.604a.75.75 0 0 1 1.06 0L12 10.939l6.335-6.335a.75.75 0 1 1 1.061 1.06L13.061 12l6.335 6.335a.75.75 0 1 1-1.06 1.061L12 13.061l-6.335 6.335a.75.75 0 0 1-1.061-1.06L10.939 12 4.604 5.665a.75.75 0 0 1 0-1.061z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-collapse' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M3.116 12a.75.75 0 0 1 .75-.75h16.268a.75.75 0 0 1 0 1.5H3.866a.75.75 0 0 1-.75-.75Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-default' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.501.392a.75.75 0 0 1 .998 0l6.704 5.972a.75.75 0 0 1-.998 1.12l-5.455-4.86v13.439a.75.75 0 0 1-1.5 0V2.625l-5.454 4.86a.75.75 0 1 1-.998-1.12zM.857 16.73a.75.75 0 0 1 .75.75v4.914h20.786v-4.914a.75.75 0 0 1 1.5 0v5.664a.75.75 0 0 1-.75.75H.857a.75.75 0 0 1-.75-.75v-5.664a.75.75 0 0 1 .75-.75z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-dropbox' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M6.019 1.92a.75.75 0 0 1 .806 0L12 5.219l5.176-3.297a.75.75 0 0 1 .806 0l5.577 3.553a.75.75 0 0 1 0 1.265l-4.574 2.914 4.574 2.914a.75.75 0 0 1 0 1.265l-5.577 3.554a.75.75 0 0 1-.806 0L12 14.089l-5.175 3.297a.75.75 0 0 1-.806 0L.44 13.833a.75.75 0 0 1 0-1.266l4.575-2.914L.44 6.74a.75.75 0 0 1 0-1.265zm.403 8.616L2.24 13.2l4.182 2.664 4.181-2.664zm6.975 2.664 4.182 2.664L21.76 13.2l-4.181-2.664zm2.776-3.547L12 12.311 7.828 9.653 12 6.995zm1.406-.882 4.181-2.664-4.181-2.664-4.182 2.664zm-6.976-2.664L6.422 3.443 2.24 6.107 6.422 8.77zM5.791 18.544a.75.75 0 0 1 1.035-.23l5.175 3.297 5.175-3.297a.75.75 0 1 1 .806 1.265l-5.578 3.554a.75.75 0 0 1-.806 0L6.02 19.579a.75.75 0 0 1-.23-1.035z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-edit-file' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M18.558 2.804a.78.78 0 0 0-.557.235l-.008.007-2.472 2.46 3.847 3.848 2.46-2.473.004-.003a.78.78 0 0 0 0-1.108l-.004-.003-2.712-2.728a.78.78 0 0 0-.558-.235Zm-.248 7.613-3.852-3.852-8.93 8.887-1.516 5.41 5.41-1.515 8.888-8.93Zm-.636-8.934a2.28 2.28 0 0 1 2.512.505l2.702 2.717.002.002a2.278 2.278 0 0 1 0 3.234l-.002.002-12.541 12.602a.75.75 0 0 1-.33.193l-6.884 1.928a.75.75 0 0 1-.925-.924l1.928-6.885a.75.75 0 0 1 .193-.33l12.603-12.54a2.28 2.28 0 0 1 .742-.504Z' clip-rule='evenodd'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-error' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M13 13h-2V7h2m0 10h-2v-2h2M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-evernote' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M9.804 2.27v-.048c.055-.263.313-.562.85-.562h.44c.142 0 .325.014.526.033.066.009.124.023.267.06l.13.032h.002c.319.079.515.275.644.482a1.461 1.461 0 0 1 .16.356l.004.012a.75.75 0 0 0 .603.577l1.191.207a1988.512 1988.512 0 0 0 2.332.402c.512.083 1.1.178 1.665.442.64.3 1.19.795 1.376 1.77.548 2.931.657 5.829.621 8a39.233 39.233 0 0 1-.125 2.602 17.518 17.518 0 0 1-.092.849.735.735 0 0 0-.024.112c-.378 2.705-1.269 3.796-2.04 4.27-.746.457-1.53.451-2.217.447h-.192c-.46 0-1.073-.23-1.581-.635-.518-.412-.763-.87-.763-1.217 0-.45.188-.688.355-.786.161-.095.436-.137.796.087a.75.75 0 1 0 .792-1.274c-.766-.476-1.64-.52-2.345-.108-.7.409-1.098 1.188-1.098 2.08 0 .996.634 1.84 1.329 2.392.704.56 1.638.96 2.515.96l.185.002c.667.009 1.874.025 3.007-.67 1.283-.786 2.314-2.358 2.733-5.276a4.213 4.213 0 0 0 .056-.335c.023-.184.051-.445.079-.772.055-.655.111-1.585.13-2.704.037-2.234-.074-5.239-.647-8.301v-.002c-.294-1.544-1.233-2.391-2.215-2.85-.777-.363-1.623-.496-2.129-.576a8.872 8.872 0 0 1-.25-.041l-.006-.001-1.99-.345-.761-.132a2.93 2.93 0 0 0-.182-.338A2.532 2.532 0 0 0 12.379.329l-.091-.023a3.967 3.967 0 0 0-.493-.103L11.769.2a7.846 7.846 0 0 0-.675-.04h-.44c-.733 0-1.368.284-1.795.742L2.416 7.431c-.468.428-.751 1.071-.751 1.81 0 .02 0 .041.003.062l.003.034c.017.21.038.468.096.796.107.715.275 1.47.391 1.994.029.13.055.245.075.342l.002.008c.258 1.141.641 1.94.978 2.466.168.263.323.456.444.589a2.808 2.808 0 0 0 .192.194c1.536 1.562 3.713 2.196 5.731 2.08.13-.005.35-.032.537-.073a2.627 2.627 0 0 0 .652-.24c.425-.26.75-.661.992-1.046.184-.294.342-.61.473-.915a3.8 3.8 0 0 0 .627.493 5.022 5.022 0 0 0 1.97.709l.023.002.018.003.11.016c.088.014.205.035.325.058l.056.014c.088.022.164.04.235.061a1.736 1.736 0 0 1 .145.048l.03.014c.765.34 1.302 1.09 1.302 1.871a.75.75 0 0 0 1.5 0c0-1.456-.964-2.69-2.18-3.235a3.595 3.595 0 0 0-.679-.217l-.063-.015a10.616 10.616 0 0 0-.606-.105l-.02-.003-.03-.003h-.002a3.542 3.542 0 0 1-1.331-.485c-.471-.298-.788-.692-.828-1.234a.75.75 0 0 0-1.48-.106l-.001.003-.004.017a8.23 8.23 0 0 1-.092.352 9.963 9.963 0 0 1-.298.892c-.132.34-.29.68-.47.966-.174.276-.339.454-.478.549a1.178 1.178 0 0 1-.221.072 1.949 1.949 0 0 1-.241.036h-.013l-.032.002c-1.684.1-3.423-.437-4.604-1.65a.746.746 0 0 0-.053-.05L4.84 14.6a1.348 1.348 0 0 1-.07-.073 2.99 2.99 0 0 1-.293-.392c-.242-.379-.558-1.014-.778-1.985a54.1 54.1 0 0 0-.083-.376 27.494 27.494 0 0 1-.367-1.872l-.003-.02a6.791 6.791 0 0 1-.08-.67c.004-.277.086-.475.2-.609l.067-.067a.63.63 0 0 1 .292-.145h.05c.18 0 1.095.055 2.013.115l1.207.08.534.037a.747.747 0 0 0 .052.002c.782 0 1.349-.206 1.759-.585l.005-.005c.553-.52.622-1.225.622-1.76V6.24l-.026-.565A774.97 774.97 0 0 1 9.885 4.4c-.042-.961-.081-1.939-.081-2.13ZM4.995 6.953a251.126 251.126 0 0 1 2.102.137l.508.035c.48-.004.646-.122.715-.185.07-.068.146-.209.147-.649l-.024-.548a791.69 791.69 0 0 1-.095-2.187L4.995 6.953Zm16.122 9.996Zm-5.479-5.323a.75.75 0 0 0 1.014.31 2.04 2.04 0 0 1 .304-.089 1.84 1.84 0 0 1 .544-.039c.215.023.321.06.37.085.033.016.039.026.047.04a.75.75 0 0 0 1.289-.767c-.337-.567-.906-.783-1.552-.85a3.334 3.334 0 0 0-1.002.062c-.27.056-.531.14-.705.234a.75.75 0 0 0-.31 1.014Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-expand' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='m12 8.337-8.47 8.47a.75.75 0 0 1-1.06-1.06l8.605-8.606a1.29 1.29 0 0 1 1.85 0l8.605 8.605a.75.75 0 1 1-1.06 1.06L12 8.338Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-external-source-placeholder' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M6.341 3.27a10.5 10.5 0 0 1 5.834-1.77.75.75 0 0 0 0-1.5 12 12 0 1 0 12 12 .75.75 0 0 0-1.5 0A10.5 10.5 0 1 1 6.34 3.27Zm14.145 1.48a.75.75 0 1 0-1.06-1.062L9.925 13.19V7.95a.75.75 0 1 0-1.5 0V15c0 .414.336.75.75.75h7.05a.75.75 0 0 0 0-1.5h-5.24l9.501-9.5Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-facebook' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M12 1.5C6.201 1.5 1.5 6.201 1.5 12c0 4.943 3.416 9.089 8.016 10.204v-6.108H7.383a.75.75 0 0 1-.75-.75v-3.281a.75.75 0 0 1 .75-.75h2.133V9.393c0-.958.225-2.511 1.38-3.65 1.194-1.177 3.174-1.718 6.254-1.056a.75.75 0 0 1 .592.733v2.754a.75.75 0 0 1-.75.75c-.692 0-1.203.026-1.584.082-.387.057-.578.137-.675.202-.109.073-.237.205-.237 1.029v1.078h2.39a.75.75 0 0 1 .742.866l-.516 3.281a.75.75 0 0 1-.74.634h-1.876v6.106C19.09 21.082 22.5 16.939 22.5 12c0-5.799-4.701-10.5-10.5-10.5zM0 12C0 5.373 5.373 0 12 0s12 5.373 12 12c0 5.995-4.395 10.961-10.138 11.856a.75.75 0 0 1-.866-.74v-7.77a.75.75 0 0 1 .75-.75h1.984l.28-1.781h-2.264a.75.75 0 0 1-.75-.75v-1.828c0-.829.089-1.729.9-2.274.363-.244.807-.37 1.293-.441a9.623 9.623 0 0 1 1.053-.086V6.04c-2.41-.405-3.645.132-4.293.771-.737.728-.933 1.793-.933 2.582v2.672a.75.75 0 0 1-.75.75H8.133v1.78h2.133a.75.75 0 0 1 .75.75v7.772a.75.75 0 0 1-.865.741C4.4 22.968 0 18 0 12z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-file' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M2.895 1.201c0-.473.383-.857.857-.857h8.4c.227 0 .445.09.606.251l8.4 8.4c.16.16.25.379.25.606v13.2a.857.857 0 0 1-.856.857h-16.8a.857.857 0 0 1-.857-.857zm1.714.857v19.886h15.085V10.458h-7.542a.857.857 0 0 1-.858-.857V2.058zm8.4 1.213 5.473 5.473H13.01z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-flickr' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M5.959 7.926c-2.298 0-4.14 1.834-4.14 4.073 0 2.241 1.842 4.075 4.14 4.075 2.302 0 4.145-1.834 4.145-4.075 0-2.238-1.843-4.073-4.145-4.073Zm-5.64 4.073c0-3.086 2.533-5.573 5.64-5.573 3.11 0 5.645 2.486 5.645 5.573 0 3.089-2.535 5.575-5.645 5.575-3.107 0-5.64-2.487-5.64-5.575Zm18.07-4.073c-2.301 0-4.144 1.835-4.144 4.073 0 2.24 1.843 4.075 4.145 4.075 2.299 0 4.141-1.834 4.141-4.075 0-2.239-1.842-4.073-4.141-4.073Zm-5.644 4.073c0-3.087 2.535-5.573 5.645-5.573 3.108 0 5.641 2.487 5.641 5.573 0 3.088-2.533 5.575-5.641 5.575-3.11 0-5.645-2.486-5.645-5.575Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-gdrive' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M7.736 1.818a.75.75 0 0 1 .647-.37h7.587a.75.75 0 0 1 .655.383l7.233 12.946a.75.75 0 0 1-.003.737l-3.794 6.66a.75.75 0 0 1-.651.378H4.59a.75.75 0 0 1-.651-.378l-3.794-6.66a.75.75 0 0 1 .005-.75zm.64 1.876L1.663 15.148l2.93 5.145 6.655-11.581zm3.736 6.526-2.398 4.173H14.5zm4.116 4.173h5.697L15.53 2.947H9.677zm5.685 1.5H8.852l-2.966 5.16h13.088z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-gphotos' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M12.51 0c-.702 0-1.272.57-1.272 1.273V7.35A6.381 6.381 0 0 0 0 11.489c0 .703.57 1.273 1.273 1.273H7.35A6.381 6.381 0 0 0 11.488 24c.704 0 1.274-.57 1.274-1.273V16.65A6.381 6.381 0 0 0 24 12.51c0-.703-.57-1.273-1.273-1.273H16.65A6.381 6.381 0 0 0 12.511 0Zm.252 11.232V1.53a4.857 4.857 0 0 1 0 9.702Zm-1.53.006H1.53a4.857 4.857 0 0 1 9.702 0Zm1.536 1.524a4.857 4.857 0 0 0 9.702 0h-9.702Zm-6.136 4.857c0-2.598 2.04-4.72 4.606-4.85v9.7a4.857 4.857 0 0 1-4.606-4.85Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-huddle' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M6.204 2.002c-.252.23-.357.486-.357.67V21.07c0 .15.084.505.313.812.208.28.499.477.929.477.519 0 .796-.174.956-.365.178-.212.286-.535.286-.924v-.013l.117-6.58c.004-1.725 1.419-3.883 3.867-3.883 1.33 0 2.332.581 2.987 1.364.637.762.95 1.717.95 2.526v6.47c0 .392.11.751.305.995.175.22.468.41 1.008.41.52 0 .816-.198 1.002-.437.207-.266.31-.633.31-.969V14.04c0-2.81-1.943-5.108-4.136-5.422a5.971 5.971 0 0 0-3.183.41c-.912.393-1.538.96-1.81 1.489a.75.75 0 0 1-1.417-.344v-7.5c0-.587-.47-1.031-1.242-1.031-.315 0-.638.136-.885.36ZM5.194.892A2.844 2.844 0 0 1 7.09.142c1.328 0 2.742.867 2.742 2.53v5.607a6.358 6.358 0 0 1 1.133-.629 7.47 7.47 0 0 1 3.989-.516c3.056.436 5.425 3.482 5.425 6.906v6.914c0 .602-.177 1.313-.627 1.89-.47.605-1.204 1.016-2.186 1.016-.96 0-1.698-.37-2.179-.973-.46-.575-.633-1.294-.633-1.933v-6.469c0-.456-.19-1.071-.602-1.563-.394-.471-.986-.827-1.836-.827-1.447 0-2.367 1.304-2.367 2.39v.014l-.117 6.58c-.001.64-.177 1.333-.637 1.881-.48.57-1.2.9-2.105.9-.995 0-1.7-.5-2.132-1.081-.41-.552-.61-1.217-.61-1.708V2.672c0-.707.366-1.341.847-1.78Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-info' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11 9h2V7h-2m1 13c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-18A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m-1 15h2v-6h-2v6Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-local' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M3 3.75a1.5 1.5 0 0 0-1.5 1.5v13.5a1.5 1.5 0 0 0 1.5 1.5h18a1.5 1.5 0 0 0 1.5-1.5V9A1.5 1.5 0 0 0 21 7.5h-9a.75.75 0 0 1-.643-.364L9.325 3.75zm-3 1.5a3 3 0 0 1 3-3h6.75a.75.75 0 0 1 .643.364L12.425 6H21a3 3 0 0 1 3 3v9.75a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-microphone' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' clip-rule='evenodd' d='M7.5 4.781a4.5 4.5 0 0 1 9 0v6.469a4.5 4.5 0 1 1-9 0V4.781Zm4.5-3a3 3 0 0 0-3 3v6.469a3 3 0 1 0 6 0V4.781a3 3 0 0 0-3-3Zm-8.156 8.11a.75.75 0 0 1 .75.75 7.406 7.406 0 1 0 14.812 0 .75.75 0 0 1 1.5 0 8.907 8.907 0 0 1-8.156 8.875v2.703h3.258a.75.75 0 1 1 0 1.5H7.992a.75.75 0 0 1 0-1.5h3.258v-2.703a8.907 8.907 0 0 1-8.156-8.875.75.75 0 0 1 .75-.75Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-microphone-mute' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' clip-rule='evenodd' d='M7.5 4.781a4.5 4.5 0 0 1 9 0V6l3.524-3.524a.75.75 0 1 1 1.061 1.06L5.036 19.585a.75.75 0 0 1-1.06-1.06l1.656-1.657a8.88 8.88 0 0 1-2.538-6.227.75.75 0 0 1 1.5 0c0 2.009.8 3.83 2.1 5.166l1.771-1.772A4.483 4.483 0 0 1 7.5 11.25V4.781Zm2.037 8.182L15 7.5V4.781a3 3 0 1 0-6 0v6.469c0 .637.198 1.227.537 1.713Zm10.62-3.072a.75.75 0 0 1 .75.75 8.907 8.907 0 0 1-8.157 8.875v2.703h3.258a.75.75 0 1 1 0 1.5H7.992a.75.75 0 0 1 0-1.5h3.258v-2.703a8.855 8.855 0 0 1-3.035-.811.75.75 0 1 1 .638-1.358 7.406 7.406 0 0 0 10.553-6.707.75.75 0 0 1 .75-.75ZM15 10.81a.75.75 0 0 1 1.5 0v.439a4.5 4.5 0 0 1-5 4.473.75.75 0 1 1 .166-1.491A3 3 0 0 0 15 11.25v-.44Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-mobile-photo-camera' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M7.65 2.55a.75.75 0 0 1 .6-.3h7.5a.75.75 0 0 1 .6.3l2.025 2.7H21a3 3 0 0 1 3 3v10.5a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V8.25a3 3 0 0 1 3-3h2.625zm.975 1.2L6.6 6.45a.75.75 0 0 1-.6.3H3a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h18a1.5 1.5 0 0 0 1.5-1.5V8.25a1.5 1.5 0 0 0-1.5-1.5h-3a.75.75 0 0 1-.6-.3l-2.025-2.7zm3.375 6a3.375 3.375 0 1 0 0 6.75 3.375 3.375 0 0 0 0-6.75zm-4.875 3.375a4.875 4.875 0 1 1 9.75 0 4.875 4.875 0 0 1-9.75 0z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-mobile-video-camera' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' clip-rule='evenodd' d='M0 6.75a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v1.078L22.873 5A.75.75 0 0 1 24 5.648v12.704a.75.75 0 0 1-1.123.65L18 16.207v1.043a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V6.75Zm18 7.728 4.5 2.58V6.95L18 9.562v4.916ZM16.5 6.75a1.5 1.5 0 0 0-1.5-1.5H3a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h12a1.5 1.5 0 0 0 1.5-1.5V6.75Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-ngdrive' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M7.736 1.818a.75.75 0 0 1 .647-.37h7.587a.75.75 0 0 1 .655.383l7.233 12.946a.75.75 0 0 1-.003.737l-3.794 6.66a.75.75 0 0 1-.651.378H4.59a.75.75 0 0 1-.651-.378l-3.794-6.66a.75.75 0 0 1 .005-.75zm.64 1.876L1.663 15.148l2.93 5.145 6.655-11.581zm3.736 6.526-2.398 4.173H14.5zm4.116 4.173h5.697L15.53 2.947H9.677zm5.685 1.5H8.852l-2.966 5.16h13.088z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-onedrive' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M13.616 4.147a7.689 7.689 0 0 0-7.642 3.285A6.299 6.299 0 0 0 1.455 17.3c.684.894 2.473 2.658 5.17 2.658h12.141c.95 0 1.882-.256 2.697-.743.815-.486 1.514-1.247 1.964-2.083a5.26 5.26 0 0 0-3.713-7.612 7.69 7.69 0 0 0-6.098-5.373ZM3.34 17.15c.674.63 1.761 1.308 3.284 1.308h12.142a3.76 3.76 0 0 0 2.915-1.383l-7.494-4.489L3.34 17.15Zm10.875-6.25 2.47-1.038a5.239 5.239 0 0 1 1.427-.389 6.19 6.19 0 0 0-10.3-1.952 6.338 6.338 0 0 1 2.118.813l4.285 2.567Zm4.55.033c-.512 0-1.019.104-1.489.307l-.006.003-1.414.594 6.521 3.906a3.76 3.76 0 0 0-3.357-4.8l-.254-.01ZM4.097 9.617A4.799 4.799 0 0 1 6.558 8.9c.9 0 1.84.25 2.587.713l3.4 2.037-10.17 4.28a4.799 4.799 0 0 1 1.721-6.312Z'/></symbol><symbol fill='none' viewBox='0 0 10 10' id='uc-icon-pause' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' d='M1 0h2.5v10H1zM6.5 0H9v10H6.5z'/></symbol><symbol fill='none' viewBox='0 0 10 10' id='uc-icon-play' xmlns='http://www.w3.org/2000/svg'><path d='m1 0 9 5-9 5V0Z' fill='currentColor'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-remove-file' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.955 3.3A2.969 2.969 0 0 0 8.998 6h5.914a2.97 2.97 0 0 0-2.957-2.7zM16.416 6a4.47 4.47 0 0 0-8.922 0h-2.32a.755.755 0 0 0-.111.008H3.075a.75.75 0 1 0 0 1.5h1.35V19.35a2.85 2.85 0 0 0 2.85 2.85h9.45a2.85 2.85 0 0 0 2.85-2.85V7.508h1.35a.75.75 0 0 0 0-1.5h-1.989A.754.754 0 0 0 18.825 6zM5.925 7.508V19.35a1.35 1.35 0 0 0 1.35 1.35h9.45a1.35 1.35 0 0 0 1.35-1.35V7.508z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-select' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='m7 10 5 5 5-5H7Z'/></symbol><symbol fill='none' viewBox='0 0 20 20' id='uc-icon-square' xmlns='http://www.w3.org/2000/svg'><rect width='20' height='20' rx='4' fill='#fff'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-upload' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.501.392a.75.75 0 0 1 .998 0l6.704 5.972a.75.75 0 0 1-.998 1.12l-5.455-4.86v13.439a.75.75 0 0 1-1.5 0V2.625l-5.454 4.86a.75.75 0 1 1-.998-1.12zM.857 16.73a.75.75 0 0 1 .75.75v4.914h20.786v-4.914a.75.75 0 0 1 1.5 0v5.664a.75.75 0 0 1-.75.75H.857a.75.75 0 0 1-.75-.75v-5.664a.75.75 0 0 1 .75-.75z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-upload-error' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M13 13h-2V7h2m0 10h-2v-2h2M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-url' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M19.11 3.67c-1.71-1.709-4.578-1.682-6.408.148l-2.22 2.22a.75.75 0 0 1-1.062-1.06l2.222-2.221C14.018.381 17.836.276 20.17 2.61l1.22 1.22c2.335 2.334 2.23 6.153-.147 8.529l-2.22 2.22a.75.75 0 0 1-1.062-1.06l2.222-2.221c1.83-1.83 1.856-4.698.147-6.408zm-3.36 4.58a.75.75 0 0 1 0 1.06l-6.439 6.44a.75.75 0 0 1-1.06-1.06l6.439-6.44a.75.75 0 0 1 1.06 0zM6.04 9.42a.75.75 0 0 1 0 1.061l-2.222 2.222c-1.83 1.83-1.856 4.698-.147 6.407l1.22 1.22c1.71 1.71 4.578 1.683 6.408-.147l2.221-2.221a.75.75 0 1 1 1.06 1.06l-2.22 2.222c-2.377 2.376-6.195 2.481-8.53.147l-1.22-1.22c-2.334-2.334-2.228-6.153.148-8.53l2.221-2.22a.75.75 0 0 1 1.06 0z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-video-camera' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' clip-rule='evenodd' d='M0 6.75a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v1.078L22.873 5A.75.75 0 0 1 24 5.648v12.704a.75.75 0 0 1-1.123.65L18 16.207v1.043a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V6.75Zm18 7.728 4.5 2.58V6.95L18 9.562v4.916ZM16.5 6.75a1.5 1.5 0 0 0-1.5-1.5H3a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h12a1.5 1.5 0 0 0 1.5-1.5V6.75Z'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-video-camera-full' xmlns='http://www.w3.org/2000/svg'><path d='M2 3.333a2 2 0 0 0-2 2v9.334a2 2 0 0 0 2 2h10.938a2 2 0 0 0 2-2v-2.013L20 15.646V4.354l-5.063 3.03v-2.05a2 2 0 0 0-2-2H2Z' fill='currentColor'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-vk' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M6.341 3.27a10.5 10.5 0 0 1 5.834-1.77.75.75 0 0 0 0-1.5 12 12 0 1 0 12 12 .75.75 0 0 0-1.5 0A10.5 10.5 0 1 1 6.34 3.27Zm14.145 1.48a.75.75 0 1 0-1.06-1.062L9.925 13.19V7.95a.75.75 0 1 0-1.5 0V15c0 .414.336.75.75.75h7.05a.75.75 0 0 0 0-1.5h-5.24l9.501-9.5Z'/></symbol></svg>";var ce=class extends y{constructor(){super(...arguments);u(this,"requireCtxName",!0);u(this,"init$",ai(this));u(this,"_template",null)}initCallback(){var e;super.initCallback(),(e=this.a11y)==null||e.registerBlock(this)}static set template(e){this._template=oo+e+"<slot></slot>"}static get template(){return this._template}};u(ce,"styleAttrs",["uc-wgt-common"]);var no="active",bt="___ACTIVITY_IS_ACTIVE___",Ae=class Ae extends y{constructor(){super(...arguments);u(this,"historyTracked",!1);u(this,"init$",Ar(this));u(this,"_debouncedHistoryFlush",$(this._historyFlush.bind(this),10))}_deactivate(){var i;let e=Ae._activityCallbacks.get(this);this[bt]=!1,this.removeAttribute(no),(i=e==null?void 0:e.deactivateCallback)==null||i.call(e)}_activate(){var i;let e=Ae._activityCallbacks.get(this);this.$["*historyBack"]=this.historyBack.bind(this),this[bt]=!0,this.setAttribute(no,""),(i=e==null?void 0:e.activateCallback)==null||i.call(e),this._debouncedHistoryFlush(),this.emit(w.ACTIVITY_CHANGE,{activity:this.activityType})}initCallback(){super.initCallback(),this.activityType&&(this.hasAttribute("activity")||this.setAttribute("activity",this.activityType),this.sub("*currentActivity",e=>{var i;try{this.activityType!==e&&this[bt]?this._deactivate():this.activityType===e&&!this[bt]&&this._activate()}catch(s){this.telemetryManager.sendEventError(s,`activity "${this.activityType}"`),console.error(`Error in activity "${this.activityType}". `,s),this.$["*currentActivity"]=(i=this.$["*history"][this.$["*history"].length-1])!=null?i:null}e||(this.$["*history"]=[])}))}_historyFlush(){let e=this.$["*history"];e&&(e.length>10&&(e=e.slice(e.length-11,e.length-1)),this.historyTracked&&e[e.length-1]!==this.activityType&&e.push(this.activityType),this.$["*history"]=e)}_isActivityRegistered(){return this.activityType&&Ae._activityCallbacks.has(this)}get isActivityActive(){return this[bt]}get couldOpenActivity(){return!0}registerActivity(e,i={}){let{onActivate:s,onDeactivate:o}=i;Ae._activityCallbacks.set(this,{activateCallback:s,deactivateCallback:o})}unregisterActivity(){this.isActivityActive&&this._deactivate(),Ae._activityCallbacks.delete(this)}destroyCallback(){super.destroyCallback(),this._isActivityRegistered()&&this.unregisterActivity();let e=this.$["*currentActivity"];!![...this.blocksRegistry].find(s=>s instanceof Ae&&s.activityType===e)||(this.$["*currentActivity"]=null,this.modalManager.closeAll())}get activityKey(){return this.ctxName+this.activityType}get activityParams(){return this.$["*currentActivityParams"]}get initActivity(){return this.getCssData("--cfg-init-activity")}get doneActivity(){return this.getCssData("--cfg-done-activity")}historyBack(){var i;let e=this.$["*history"];if(e){let s=e.pop();for(;s===this.activityType;)s=e.pop();let o=!!s;if(s){let n=[...this.blocksRegistry].find(a=>a.activityType===s);o=(i=n==null?void 0:n.couldOpenActivity)!=null?i:!1}s=o?s:void 0,s&&this.modalManager.open(s),this.$["*currentActivity"]=s,this.$["*history"]=e,s||this.modalManager.closeAll()}}};u(Ae,"_activityCallbacks",new Map);var g=Ae;g.activities=Object.freeze({START_FROM:"start-from",CAMERA:"camera",DRAW:"draw",UPLOAD_LIST:"upload-list",URL:"url",CLOUD_IMG_EDIT:"cloud-image-edit",EXTERNAL:"external"});var _t=33.333333333333336,A=1,Mr=24,ao=6;function Re(r,t){for(let e in t)r.setAttributeNS(null,e,t[e].toString())}function W(r,t={}){let e=document.createElementNS("http://www.w3.org/2000/svg",r);return Re(e,t),e}function lo(r,t,e){let{x:i,y:s,width:o,height:n}=r,a=t.includes("w")?0:1,l=t.includes("n")?0:1,c=[-1,1][a],h=[-1,1][l],d=[i+a*o+1.5*c,s+l*n+1.5*h-24*e*h],p=[i+a*o+1.5*c,s+l*n+1.5*h],f=[i+a*o-24*e*c+1.5*c,s+l*n+1.5*h];return{d:`M ${d[0]} ${d[1]} L ${p[0]} ${p[1]} L ${f[0]} ${f[1]}`,center:p}}function co(r,t,e){let{x:i,y:s,width:o,height:n}=r,a=["n","s"].includes(t)?.5:{w:0,e:1}[t],l=["w","e"].includes(t)?.5:{n:0,s:1}[t],c=[-1,1][a],h=[-1,1][l],d,p;["n","s"].includes(t)?(d=[i+a*o-34*e/2,s+l*n+1.5*h],p=[i+a*o+34*e/2,s+l*n+1.5*h]):(d=[i+a*o+1.5*c,s+l*n-34*e/2],p=[i+a*o+1.5*c,s+l*n+34*e/2]);let f=`M ${d[0]} ${d[1]} L ${p[0]} ${p[1]}`,m=[p[0]-(p[0]-d[0])/2,p[1]-(p[1]-d[1])/2];return{d:f,center:m}}function uo(r){return r===""?"move":["e","w"].includes(r)?"ew-resize":["n","s"].includes(r)?"ns-resize":["nw","se"].includes(r)?"nwse-resize":"nesw-resize"}function ho({rect:r,delta:[t,e],imageBox:i}){return Ye({...r,x:r.x+t,y:r.y+e},i)}function Ye(r,t){let{x:e}=r,{y:i}=r;return r.x<t.x?e=t.x:r.x+r.width>t.x+t.width&&(e=t.x+t.width-r.width),r.y<t.y?i=t.y:r.y+r.height>t.y+t.height&&(i=t.y+t.height-r.height),{...r,x:e,y:i}}function ml({rect:r,delta:t,aspectRatio:e,imageBox:i}){let[,s]=t,{y:o,width:n,height:a}=r;o+=s,a-=s,e&&(n=a*e);let l=r.x+r.width/2-n/2;return o<=i.y&&(o=i.y,a=r.y+r.height-o,e&&(n=a*e,l=r.x+r.width/2-n/2)),l<=i.x&&(l=i.x,o=r.y+r.height-a),l+n>=i.x+i.width&&(l=Math.max(i.x,i.x+i.width-n),n=i.x+i.width-l,e&&(a=n/e),o=r.y+r.height-a),a<A&&(a=A,e&&(n=a*e,l=r.x+r.width/2-n/2),o=r.y+r.height-a),n<A&&(n=A,e&&(a=n/e,l=r.x+r.width/2-n/2),o=r.y+r.height-a),{x:l,y:o,width:n,height:a}}function gl({rect:r,delta:t,aspectRatio:e,imageBox:i}){let[s]=t,{x:o,width:n,height:a}=r;o+=s,n-=s,e&&(a=n/e);let l=r.y+r.height/2-a/2;return o<=i.x&&(o=i.x,n=r.x+r.width-o,e&&(a=n/e,l=r.y+r.height/2-a/2)),l<=i.y&&(l=i.y,o=r.x+r.width-n),l+a>=i.y+i.height&&(l=Math.max(i.y,i.y+i.height-a),a=i.y+i.height-l,e&&(n=a*e),o=r.x+r.width-n),a<A&&(a=A,e&&(n=a*e),l=r.y+r.height/2-a/2,o=r.x+r.width-n),n<A&&(n=A,e&&(a=n/e),l=r.y+r.height/2-a/2,o=r.x+r.width-n),{x:o,y:l,width:n,height:a}}function bl({rect:r,delta:t,aspectRatio:e,imageBox:i}){let[,s]=t,{y:o,width:n,height:a}=r;a+=s,e&&(n=a*e);let l=r.x+r.width/2-n/2;return o+a>=i.y+i.height&&(a=i.y+i.height-o,e&&(n=a*e),l=r.x+r.width/2-n/2),l<=i.x&&(l=i.x,o=r.y),l+n>=i.x+i.width&&(l=Math.max(i.x,i.x+i.width-n),n=i.x+i.width-l,e&&(a=n/e),o=r.y),a<A&&(a=A,e&&(n=a*e),l=r.x+r.width/2-n/2),n<A&&(n=A,e&&(a=n/e),l=r.x+r.width/2-n/2),{x:l,y:o,width:n,height:a}}function _l({rect:r,delta:t,aspectRatio:e,imageBox:i}){let[s]=t,{x:o,width:n,height:a}=r;n+=s,e&&(a=n/e);let l=r.y+r.height/2-a/2;return o+n>=i.x+i.width&&(n=i.x+i.width-o,e&&(a=n/e),l=r.y+r.height/2-a/2),l<=i.y&&(l=i.y,o=r.x),l+a>=i.y+i.height&&(l=Math.max(i.y,i.y+i.height-a),a=i.y+i.height-l,e&&(n=a*e),o=r.x),a<A&&(a=A,e&&(n=a*e),l=r.y+r.height/2-a/2),n<A&&(n=A,e&&(a=n/e),l=r.y+r.height/2-a/2),{x:o,y:l,width:n,height:a}}function vl({rect:r,delta:t,aspectRatio:e,imageBox:i}){let[s,o]=t,{x:n,y:a,width:l,height:c}=r;return n+s<i.x&&(s=i.x-n),a+o<i.y&&(o=i.y-a),n+=s,l-=s,a+=o,c-=o,e&&Math.abs(l/c)>e?(o=l/e-c,c+=o,a-=o,a<=i.y&&(c=c-(i.y-a),l=c*e,n=r.x+r.width-l,a=i.y)):e&&(s=c*e-l,l=l+s,n-=s,n<=i.x&&(l=l-(i.x-n),c=l/e,n=i.x,a=r.y+r.height-c)),c<A&&(c=A,e&&(l=c*e),n=r.x+r.width-l,a=r.y+r.height-c),l<A&&(l=A,e&&(c=l/e),n=r.x+r.width-l,a=r.y+r.height-c),{x:n,y:a,width:l,height:c}}function yl({rect:r,delta:t,aspectRatio:e,imageBox:i}){let[s,o]=t,{x:n,y:a,width:l,height:c}=r;return n+l+s>i.x+i.width&&(s=i.x+i.width-n-l),a+o<i.y&&(o=i.y-a),l+=s,a+=o,c-=o,e&&Math.abs(l/c)>e?(o=l/e-c,c+=o,a-=o,a<=i.y&&(c=c-(i.y-a),l=c*e,n=r.x,a=i.y)):e&&(s=c*e-l,l+=s,n+l>=i.x+i.width&&(l=i.x+i.width-n,c=l/e,n=i.x+i.width-l,a=r.y+r.height-c)),c<A&&(c=A,e&&(l=c*e),a=r.y+r.height-c),l<A&&(l=A,e&&(c=l/e),a=r.y+r.height-c),{x:n,y:a,width:l,height:c}}function wl({rect:r,delta:t,aspectRatio:e,imageBox:i}){let[s,o]=t,{x:n,y:a,width:l,height:c}=r;return n+s<i.x&&(s=i.x-n),a+c+o>i.y+i.height&&(o=i.y+i.height-a-c),n+=s,l-=s,c+=o,e&&Math.abs(l/c)>e?(o=l/e-c,c+=o,a+c>=i.y+i.height&&(c=i.y+i.height-a,l=c*e,n=r.x+r.width-l,a=i.y+i.height-c)):e&&(s=c*e-l,l+=s,n-=s,n<=i.x&&(l=l-(i.x-n),c=l/e,n=i.x,a=r.y)),c<A&&(c=A,e&&(l=c*e),n=r.x+r.width-l),l<A&&(l=A,e&&(c=l/e),n=r.x+r.width-l),{x:n,y:a,width:l,height:c}}function Cl({rect:r,delta:t,aspectRatio:e,imageBox:i}){let[s,o]=t,{x:n,y:a,width:l,height:c}=r;return n+l+s>i.x+i.width&&(s=i.x+i.width-n-l),a+c+o>i.y+i.height&&(o=i.y+i.height-a-c),l+=s,c+=o,e&&Math.abs(l/c)>e?(o=l/e-c,c+=o,a+c>=i.y+i.height&&(c=i.y+i.height-a,l=c*e,n=r.x,a=i.y+i.height-c)):e&&(s=c*e-l,l+=s,n+l>=i.x+i.width&&(l=i.x+i.width-n,c=l/e,n=i.x+i.width-l,a=r.y)),c<A&&(c=A,e&&(l=c*e)),l<A&&(l=A,e&&(c=l/e)),{x:n,y:a,width:l,height:c}}function po({direction:r,...t}){switch(r){case"n":return ml(t);case"w":return gl(t);case"s":return bl(t);case"e":return _l(t);case"nw":return vl(t);case"ne":return yl(t);case"sw":return wl(t);case"se":return Cl(t);default:return t.rect}}function fo(r,[t,e]){return r.x<=t&&t<=r.x+r.width&&r.y<=e&&e<=r.y+r.height}function mo(r,t){return r.x>=t.x&&r.y>=t.y&&r.x+r.width<=t.x+t.width&&r.y+r.height<=t.y+t.height}function go(r,t){return Math.abs(r.width/r.height-t)<.1}function Qe({width:r,height:t},e){let i=e/90%2!==0;return{width:i?t:r,height:i?r:t}}function bo(r,t,e){let i=r/t,s,o;i>e?(s=Math.round(t*e),o=t):(s=r,o=Math.round(r/e));let n=Math.round((r-s)/2),a=Math.round((t-o)/2);return n+s>r&&(s=r-n),a+o>t&&(o=t-a),{x:n,y:a,width:s,height:o}}function Je(r){return{x:Math.round(r.x),y:Math.round(r.y),width:Math.round(r.width),height:Math.round(r.height)}}function De(r,t,e){return Math.min(Math.max(r,t),e)}var vt=["free"],mi=r=>{let t=D(r);if(!(t!=null&&t.length))return[];let e=[];for(let i=0;i<t.length;i++){let s=t[i].trim();if(!s)continue;let o=s.indexOf(":");if(o===-1&&!vt.includes(s)){console.warn(`Invalid crop preset: ${s}`);continue}let n=Number(s.slice(0,o)),a=Number(s.slice(o+1));if((!Number.isFinite(n)||!Number.isFinite(a)||n<=0||a<=0)&&!vt.includes(s)){console.warn(`Invalid crop preset: ${s}`);continue}e.push({id:Te.generate(),type:"aspect-ratio",width:vt.includes(s)?0:n,height:vt.includes(s)?0:a,hasFreeform:vt.includes(s)})}return e},_o=(r,t,e,i=.1)=>{let s=r/t,o=null,n=1/0;for(let a of e){let[l,c]=[a.width,a.height],h=l/c,d=Math.abs(s-h);d<n&&(n=d,o=a)}if(o){let[a,l]=[o.width,o.height],c=a/l;if(Math.abs(s-c)/c>i)return null}return o};function vo(r){return br({...r,libraryName:Ue,libraryVersion:Pe})}var yo=r=>Math.floor(r/1e3),wo=(r,{threshold:t})=>{let{secureExpire:e}=r,i=yo(Date.now()),s=Number(e),o=yo(t);return i+o>=s};var gi=class{constructor(t){u(this,"_block");u(this,"_secureToken",null);this._block=t}_debugPrint(...t){this._block.debugPrint("[secure-uploads]",...t)}async getSecureToken(){let{secureSignature:t,secureExpire:e,secureUploadsSignatureResolver:i}=this._block.cfg;if((t||e)&&i&&console.warn("Both secureSignature/secureExpire and secureUploadsSignatureResolver are set. secureUploadsSignatureResolver will be used."),i){if(!this._secureToken||wo(this._secureToken,{threshold:this._block.cfg.secureUploadsExpireThreshold})){this._secureToken?this._debugPrint("Secure signature is expired. Resolving a new one..."):this._debugPrint("Secure signature is not set yet.");try{let s=await i();s?!s.secureSignature||!s.secureExpire?console.error("Secure signature resolver returned an invalid result:",s):(this._debugPrint("Secure signature resolved:",s),this._debugPrint("Secure signature will expire in",new Date(Number(s.secureExpire)*1e3).toISOString()),this._secureToken=s):(this._debugPrint("Secure signature resolver returned nothing."),this._secureToken=null)}catch(s){console.error("Secure signature resolving failed. Falling back to the previous one.",s),this._block.telemetryManager.sendEventError(s,"secureUploadsSignatureResolver. Secure signature resolving failed. Falling back to the previous one.")}}return this._secureToken}return t&&e?(this._debugPrint("Secure signature and expire are set. Using them...",{secureSignature:t,secureExpire:e}),{secureSignature:t,secureExpire:e}):null}};var Co="[Typed State] Wrong property name: ",El="[Typed State] Wrong property type: ",bi=class{constructor(t,e){this.__typedSchema=t,this.__ctxId=e||Te.generate(),this.__schema=Object.keys(t).reduce((i,s)=>(i[s]=t[s].value,i),{}),this.__data=T.registerCtx(this.__schema,this.__ctxId)}get uid(){return this.__ctxId}setValue(t,e){if(!this.__typedSchema.hasOwnProperty(t)){console.warn(Co+t);return}let i=this.__typedSchema[t],s=(e==null?void 0:e.constructor)===i.type,o=e instanceof i.type,n=i.nullable&&e===null;if(s||o||n){this.__data.pub(t,e);return}console.warn(El+t)}setMultipleValues(t){for(let[e,i]of Object.entries(t))this.setValue(e,i)}getValue(t){return this.__typedSchema.hasOwnProperty(t)||console.warn(Co+t),this.__data.read(t)}subscribe(t,e){return this.__data.sub(t,e)}remove(){T.deleteCtx(this.__ctxId)}};var _i=class{constructor(t){this.__typedSchema=t.typedSchema,this.__ctxId=t.ctxName||Te.generate(),this.__data=T.registerCtx({},this.__ctxId),this.__watchList=t.watchList||[],this.__subsMap=Object.create(null),this.__propertyObservers=new Set,this.__collectionObservers=new Set,this.__items=new Set,this.__removed=new Set,this.__added=new Set;let e=Object.create(null);this.__notifyObservers=(i,s)=>{this.__observeTimeout&&window.clearTimeout(this.__observeTimeout),e[i]||(e[i]=new Set),e[i].add(s),this.__observeTimeout=window.setTimeout(()=>{Object.keys(e).length!==0&&(this.__propertyObservers.forEach(o=>{o({...e})}),e=Object.create(null))})}}notify(){this.__notifyTimeout&&window.clearTimeout(this.__notifyTimeout),this.__notifyTimeout=window.setTimeout(()=>{let t=new Set(this.__added),e=new Set(this.__removed);this.__added.clear(),this.__removed.clear();for(let i of this.__collectionObservers)i==null||i([...this.__items],t,e)})}observeCollection(t){return this.__collectionObservers.add(t),this.__items.size>0&&this.notify(),()=>{this.unobserveCollection(t)}}unobserveCollection(t){var e;(e=this.__collectionObservers)==null||e.delete(t)}add(t){let e=new bi(this.__typedSchema);for(let[i,s]of Object.entries(t))e.setValue(i,s);return this.__items.add(e.uid),this.notify(),this.__data.add(e.uid,e),this.__added.add(e),this.__watchList.forEach(i=>{this.__subsMap[e.uid]||(this.__subsMap[e.uid]=[]),this.__subsMap[e.uid].push(e.subscribe(i,()=>{this.__notifyObservers(i,e.uid)}))}),e.uid}read(t){return this.__data.read(t)}readProp(t,e){let i=this.read(t);return i?i.getValue(e):(console.warn(`Item with id ${t} not found`),null)}publishProp(t,e,i){let s=this.read(t);if(!s){console.warn(`Item with id ${t} not found`);return}s.setValue(e,i)}remove(t){let e=this.read(t);e&&this.__removed.add(e),this.__items.delete(t),this.notify(),this.__data.pub(t,null),delete this.__subsMap[t]}clearAll(){this.__items.forEach(t=>{this.remove(t)})}observeProperties(t){return this.__propertyObservers.add(t),()=>{this.unobserveProperties(t)}}unobserveProperties(t){var e;(e=this.__propertyObservers)==null||e.delete(t)}findItems(t){let e=[];return this.__items.forEach(i=>{let s=this.read(i);s&&t(s)&&e.push(i)}),e}items(){return[...this.__items]}get size(){return this.__items.size}destroy(){T.deleteCtx(this.__ctxId),this.__propertyObservers=new Set,this.__collectionObservers=new Set;for(let t in this.__subsMap)this.__subsMap[t].forEach(e=>{e.remove()}),delete this.__subsMap[t]}};var S=Object.freeze({PHOTO:"photo",VIDEO:"video"}),ie=Object.freeze({IDLE:"idle",SHOT:"shot",PLAY:"play",PAUSE:"pause",RESUME:"resume",STOP:"stop",RETAKE:"retake",ACCEPT:"accept"});var Lr=r=>({isVideoRecordingEnabled:Q(r.cameraModes).includes(S.VIDEO),isPhotoEnabled:Q(r.cameraModes).includes(S.PHOTO)});var de=Object.freeze({FACEBOOK:"facebook",DROPBOX:"dropbox",GDRIVE:"gdrive",GPHOTOS:"gphotos",FLICKR:"flickr",VK:"vk",EVERNOTE:"evernote",BOX:"box",ONEDRIVE:"onedrive",HUDDLE:"huddle"}),Ur=Object.freeze({MOBILE_VIDEO_CAMERA:"mobile-video-camera",MOBILE_PHOTO_CAMERA:"mobile-photo-camera"}),U=Object.freeze({LOCAL:"local",DROP_AREA:"drop-area",CAMERA:"camera",EXTERNAL:"external",API:"js-api",URL:"url",DRAW:"draw",...Ur,...de});var Al=()=>{let r=navigator.userAgent;return/Macintosh|Windows/.test(r)&&/Version\/[\d\.]+.*Safari/.test(r)&&!/Chrome|Chromium|Edg|OPR/.test(r)},xl=()=>"capture"in document.createElement("input"),Tl=()=>({safariDesktop:Al()}),Sl=()=>({htmlMediaCapture:xl()}),Eo=Tl(),ze=Sl();var yt="image/*",Pr="video/*",Il=["image/heif","image/heif-sequence","image/heic","image/heic-sequence","image/avif","image/avif-sequence",".heif",".heifs",".heic",".heics",".avif",".avifs"],Ol=()=>Eo.safariDesktop?[yt]:[yt,...Il],wt=Ol(),vi=r=>r?r.filter(t=>typeof t=="string").map(t=>D(t)).flat():[],Rr=(r,t)=>t.some(e=>e.endsWith("*")?(e=e.replace("*",""),r.startsWith(e)):r===e),Ao=(r,t)=>t.some(e=>e.startsWith(".")?r.toLowerCase().endsWith(e.toLowerCase()):!1),xo=r=>{let t=r==null?void 0:r.type;return t?Rr(t,wt):!1};var kl=/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}/i,$l=new RegExp(`^/?(${kl.source})(?:/(-/(?:[^/]+/)+)?([^/]*))?$`,"i"),To=({url:r,cdnBase:t})=>{let e=new URL(t),i=new URL(pt),s=new URL(r);if(e.host!==s.host&&i.host!==s.host)return null;let[,o,n,a]=$l.exec(s.pathname);return{uuid:o,cdnUrlModifiers:n||"",filename:a||null}};var So=r=>{let t=new Map;return(...e)=>{let i=JSON.stringify(e);if(t.has(i))return t.get(i);let s=r(...e);return t.set(i,s),s}};var Io=new Set;function yi(r){Io.has(r)||(Io.add(r),console.warn(r))}function Ml(r){let t=!1;return setTimeout(()=>{t=!0},0),i=>(...s)=>(t&&yi(r),i(...s))}function Oo(r){let t={progress:()=>r.$["*commonProgress"],errors:()=>r.$["*collectionErrors"],group:()=>r.$["*groupInfo"],totalCount:()=>r.uploadCollection.size,failedCount:()=>e.failedEntries.length,successCount:()=>e.successEntries.length,uploadingCount:()=>e.uploadingEntries.length,status:()=>e.isFailed?"failed":e.isUploading?"uploading":e.isSuccess?"success":"idle",isSuccess:()=>e.allEntries.length>0&&e.errors.length===0&&e.successEntries.length===e.allEntries.length,isUploading:()=>e.allEntries.some(s=>s.status==="uploading"),isFailed:()=>e.errors.length>0||e.failedEntries.length>0,allEntries:()=>r.getOutputData(),successEntries:()=>e.allEntries.filter(s=>s.status==="success"),failedEntries:()=>e.allEntries.filter(s=>s.status==="failed"),uploadingEntries:()=>e.allEntries.filter(s=>s.status==="uploading"),idleEntries:()=>e.allEntries.filter(s=>s.status==="idle")},e={},i=Ml("You're trying to access the OutputCollectionState asynchronously. In this case, the data you retrieve will be newer than it was when the OutputCollectionState was created or when the event was dispatched. If you want to retain the state at a specific moment in time, you should use the spread operator like this: `{...outputCollectionState}` or `{...e.detail}`");for(let[s,o]of Object.entries(t)){let n=s,l=So(i(o));Object.defineProperty(e,n,{get:l,enumerable:!0})}return e}var wi=class{constructor(t){u(this,"_ctx");u(this,"addFileFromUrl",(t,{silent:e,fileName:i,source:s}={})=>{let o=this._uploadCollection.add({externalUrl:t,fileName:i!=null?i:null,silent:e!=null?e:!1,source:s!=null?s:U.API});return this.getOutputItem(o)});u(this,"addFileFromUuid",(t,{silent:e,fileName:i,source:s}={})=>{let o=this._uploadCollection.add({uuid:t,fileName:i!=null?i:null,silent:e!=null?e:!1,source:s!=null?s:U.API});return this.getOutputItem(o)});u(this,"addFileFromCdnUrl",(t,{silent:e,fileName:i,source:s}={})=>{var a;let o=To({url:t,cdnBase:this.cfg.cdnCname});if(!o)throw new Error("Invalid CDN URL");let n=this._uploadCollection.add({uuid:o.uuid,cdnUrl:t,cdnUrlModifiers:o.cdnUrlModifiers,fileName:(a=i!=null?i:o.filename)!=null?a:null,silent:e!=null?e:!1,source:s!=null?s:U.API});return this.getOutputItem(n)});u(this,"addFileFromObject",(t,{silent:e,fileName:i,source:s,fullPath:o}={})=>{let n=this._uploadCollection.add({file:t,isImage:xo(t),mimeType:t.type,fileName:i!=null?i:t.name,fileSize:t.size,silent:e!=null?e:!1,source:s!=null?s:U.API,fullPath:o!=null?o:null});return this.getOutputItem(n)});u(this,"removeFileByInternalId",t=>{if(!this._uploadCollection.read(t))throw new Error(`File with internalId ${t} not found`);this._uploadCollection.remove(t)});u(this,"uploadAll",()=>{let t=this._uploadCollection.items().filter(e=>{let i=this._uploadCollection.read(e);return i?!i.getValue("isRemoved")&&!i.getValue("isUploading")&&!i.getValue("fileInfo")&&i.getValue("errors").length===0&&!i.getValue("isValidationPending")&&!i.getValue("isQueuedForValidation"):!1});t.length!==0&&(this._ctx.$["*uploadTrigger"]=new Set(t),this._ctx.emit(w.COMMON_UPLOAD_START,this.getOutputCollectionState()))});u(this,"openSystemDialog",(t={})=>{var o;let e=ve(vi([(o=this.cfg.accept)!=null?o:"",...this.cfg.imgOnly?wt:[]])),i="uploadcare-file-input",s=document.createElement("input");if(s.setAttribute(i,""),ht(s,{opacity:0,height:0,width:0,visibility:"hidden",position:"absolute",top:0,left:0}),s.type="file",s.multiple=this.cfg.multiple,t.captureCamera){s.capture=this.cfg.cameraCapture;let{isPhotoEnabled:n,isVideoRecordingEnabled:a}=Lr(this.cfg);t.modeCamera===S.PHOTO&&n?s.accept=yt:t.modeCamera===S.VIDEO&&a?s.accept=Pr:s.accept=[yt,a&&Pr].filter(Boolean).join(",")}else s.accept=e;s.addEventListener("change",()=>{s.files&&([...s.files].forEach(n=>this.addFileFromObject(n,{source:t.captureCamera?U.CAMERA:U.LOCAL})),this._ctx.modalManager.open(g.activities.UPLOAD_LIST),this._ctx.$["*currentActivity"]=g.activities.UPLOAD_LIST,s.remove())},{once:!0}),document.querySelectorAll(`[${i}]`).forEach(n=>n.remove()),document.body.appendChild(s),s.dispatchEvent(new MouseEvent("click"))});u(this,"initFlow",(t=!1)=>{var e,i,s,o;if(this._uploadCollection.size>0&&!t)(e=this._ctx.modalManager)==null||e.open(g.activities.UPLOAD_LIST),this._ctx.set$({"*currentActivity":g.activities.UPLOAD_LIST});else if(((i=this._sourceList)==null?void 0:i.length)===1){let n=this._sourceList[0];if(n==="local"){this._ctx.$["*currentActivity"]=g.activities.UPLOAD_LIST,this.openSystemDialog();return}if(n==="camera"&&ze.htmlMediaCapture){let{isPhotoEnabled:h,isVideoRecordingEnabled:d}=Lr(this.cfg);if(h&&d){this._ctx.set$({"*currentActivity":g.activities.START_FROM});return}else if(h||d){this.openSystemDialog({captureCamera:!0,modeCamera:h?S.PHOTO:S.VIDEO});return}else this.openSystemDialog({captureCamera:!0,modeCamera:S.PHOTO})}let a=this._ctx.$["*blocksRegistry"],l=h=>"type"in h&&h.type===n,c=[...a].find(l);c==null||c.activate(),this._ctx.$["*currentActivity"]&&((s=this._ctx.modalManager)==null||s.open(this._ctx.$["*currentActivity"]))}else(o=this._ctx.modalManager)==null||o.open(g.activities.START_FROM),this._ctx.set$({"*currentActivity":g.activities.START_FROM})});u(this,"doneFlow",()=>{this._ctx.set$({"*currentActivity":this._ctx.doneActivity,"*history":this._ctx.doneActivity?[this._ctx.doneActivity]:[]}),this._ctx.$["*currentActivity"]||this._ctx.modalManager.closeAll()});u(this,"setCurrentActivity",(t,e=void 0)=>{if(this._ctx.hasBlockInCtx(i=>i.activityType===t)){this._ctx.set$({"*currentActivityParams":e!=null?e:{},"*currentActivity":t});return}console.warn(`Activity type "${t}" not found in the context`)});u(this,"getCurrentActivity",()=>this._ctx.$["*currentActivity"]);u(this,"setModalState",t=>{var e,i;if(t&&!this._ctx.$["*currentActivity"]){console.warn(`Can't open modal without current activity. Please use "setCurrentActivity" method first.`);return}t?(e=this._ctx.modalManager)==null||e.open(this._ctx.$["*currentActivity"]):((i=this._ctx.modalManager)==null||i.close(this._ctx.$["*currentActivity"]),this._ctx.$["*currentActivity"]=null)});this._ctx=t}get _uploadCollection(){return this._ctx.uploadCollection}get cfg(){return this._ctx.cfg}get l10n(){return this._ctx.l10n.bind(this._ctx)}removeAllFiles(){this._uploadCollection.clearAll()}getOutputItem(t){var n,a,l,c,h,d,p,f,m,b;let e=T.getCtx(t).store,i=e.fileInfo,s=e.isRemoved?"removed":e.errors.length>0?"failed":e.fileInfo?"success":e.isUploading?"uploading":"idle";return{uuid:(a=(n=i==null?void 0:i.uuid)!=null?n:e.uuid)!=null?a:null,internalId:t,name:(l=i==null?void 0:i.originalFilename)!=null?l:e.fileName,size:(c=i==null?void 0:i.size)!=null?c:e.fileSize,isImage:(h=i==null?void 0:i.isImage)!=null?h:e.isImage,mimeType:(d=i==null?void 0:i.mimeType)!=null?d:e.mimeType,file:e.file,externalUrl:e.externalUrl,cdnUrlModifiers:e.cdnUrlModifiers,cdnUrl:(f=(p=e.cdnUrl)!=null?p:i==null?void 0:i.cdnUrl)!=null?f:null,fullPath:e.fullPath,uploadProgress:e.uploadProgress,fileInfo:i!=null?i:null,metadata:(b=(m=e.metadata)!=null?m:i==null?void 0:i.metadata)!=null?b:null,isSuccess:s==="success",isUploading:s==="uploading",isFailed:s==="failed",isRemoved:s==="removed",isValidationPending:e.isValidationPending,errors:e.errors,status:s,source:e==null?void 0:e.source}}getOutputCollectionState(){return Oo(this._ctx)}get _sourceList(){let t=[];return this.cfg.sourceList&&(t=D(this.cfg.sourceList)),t}};var Dr=(r,t)=>{let e=t.cfg.imgOnly,i=r.isImage;if(!(!e||i)&&!(!r.fileInfo&&r.externalUrl)&&!(!r.fileInfo&&!r.mimeType))return{type:"NOT_AN_IMAGE",message:t.l10n("images-only-accepted"),payload:{entry:r}}};var Fr=(r,t)=>{let e=t.cfg.imgOnly,i=t.cfg.accept,s=vi([...e?wt:[],i]);if(!s.length)return;let o=r.mimeType,n=r.name;if(!o||!n)return;let a=Rr(o,s),l=Ao(n,s);if(!a&&!l)return{type:"FORBIDDEN_FILE_TYPE",message:t.l10n("file-type-not-allowed"),payload:{entry:r}}};var he=1e3,He=Object.freeze({AUTO:"auto",BYTE:"byte",KB:"kb",MB:"mb",GB:"gb",TB:"tb",PB:"pb"}),Ct=r=>Math.ceil(r*100)/100,ko=(r,t=He.AUTO)=>{let e=t===He.AUTO;if(t===He.BYTE||e&&r<he**1){let i=ei("en-US",r),s={one:"byte",other:"bytes"}[i];return`${r} ${s}`}return t===He.KB||e&&r<he**2?`${Ct(r/he**1)} KB`:t===He.MB||e&&r<he**3?`${Ct(r/he**2)} MB`:t===He.GB||e&&r<he**4?`${Ct(r/he**3)} GB`:t===He.TB||e&&r<he**5?`${Ct(r/he**4)} TB`:`${Ct(r/he**5)} PB`};var Vr=(r,t)=>{let e=t.cfg.maxLocalFileSizeBytes,i=r.size;if(e&&i&&i>e)return{type:"FILE_SIZE_EXCEEDED",message:t.l10n("files-max-size-limit-error",{maxFileSize:ko(e)}),payload:{entry:r}}};var Nr=(r,t)=>{let{internalId:e}=r,i=t._uploadCollection.read(e),s=i==null?void 0:i.getValue("uploadError");if(!s)return;if(s instanceof j)return{type:"UPLOAD_ERROR",message:s.message,payload:{entry:r,error:s}};if(s instanceof Xe)return{type:"NETWORK_ERROR",message:s.message,payload:{entry:r,error:s}};let o=s instanceof Error?s:new Error("Unknown error",{cause:s});return{type:"UNKNOWN_ERROR",message:o.message,payload:{entry:r,error:o}}};var Br=(r,t)=>{if(r.failedCount>0)return{type:"SOME_FILES_HAS_ERRORS",message:t.l10n("some-files-were-not-uploaded")}};var zr=(r,t)=>{let e=r.totalCount,i=t.cfg.multiple?t.cfg.multipleMin:0,s=t.cfg.multiple?t.cfg.multipleMax:1;if(i&&e<i)return{type:"TOO_FEW_FILES",message:t.l10n("files-count-limit-error-too-few",{min:i,max:s,total:e}),payload:{total:e,min:i,max:s}};if(s&&e>s)return{type:"TOO_MANY_FILES",message:t.l10n("files-count-limit-error-too-many",{min:i,max:s,total:e}),payload:{total:e,min:i,max:s}}};var $o=()=>{let r,t;return{promise:new Promise((i,s)=>{r=i,t=s}),resolve:r,reject:t}};var et={FILE_VALIDATION_FAILED:"File validator execution has failed",FILE_VALIDATION_TIMEOUT:"File validator execution has timed out",COLLECTION_VALIDATION_FAILED:"Collection validator execution has failed",MISSING_ERROR_MESSAGE:"Missing message. We recommend adding message: value."},Ll=r=>typeof r=="function"?{runOn:"change",validator:r}:r,Ci=class{constructor(t){u(this,"_blockInstance");u(this,"_commonFileValidators",[Dr,Fr,Vr,Nr]);u(this,"_commonCollectionValidators",[zr,Br]);u(this,"_queue",new $e(20));u(this,"_runQueueDebounced",$(()=>{this._queue.run()},500));u(this,"_entryValidationState",new Map);this._blockInstance=t,this._uploadCollection=this._blockInstance.uploadCollection;let e=()=>{this.runFileValidators("change"),this.runCollectionValidators()};this._blockInstance.subConfigValue("maxLocalFileSizeBytes",e),this._blockInstance.subConfigValue("multipleMin",e),this._blockInstance.subConfigValue("multipleMax",e),this._blockInstance.subConfigValue("multiple",e),this._blockInstance.subConfigValue("imgOnly",e),this._blockInstance.subConfigValue("accept",e),this._blockInstance.subConfigValue("validationConcurrency",i=>{this._queue.concurrency=i})}runFileValidators(t,e){let i=e!=null?e:this._uploadCollection.items();for(let s of i){let o=this._uploadCollection.read(s);o&&this._runFileValidatorsForEntry(o,t)}}runCollectionValidators(){let t=this._blockInstance.api.getOutputCollectionState(),e=[];for(let i of[...this._commonCollectionValidators,...this._blockInstance.cfg.collectionValidators])try{let s=i(t,this._blockInstance.api);if(!s)continue;s&&(e.push(this._addCustomTypeToValidationError(s)),s.message||console.warn(et.MISSING_ERROR_MESSAGE))}catch(s){console.warn(et.COLLECTION_VALIDATION_FAILED,s)}this._blockInstance.$["*collectionErrors"]=e,e.length>0&&this._blockInstance.emit(w.COMMON_UPLOAD_FAILED,()=>this._blockInstance.api.getOutputCollectionState(),{debounce:!0})}cleanupValidationForEntry(t){var i;let e=this._entryValidationState.get(t.uid);e&&((i=e.abortController)==null||i.abort(),this._entryValidationState.delete(t.uid))}async _runFileValidatorsForEntry(t,e){let i=this._getValidatorDescriptorsForEntry(t,e);if(i.length===0)return;t.setMultipleValues({isQueuedForValidation:!0,isValidationPending:!0});let s=this._blockInstance.api.getOutputItem(t.uid),o=this._getEntryValidationState(t);o.promise&&await o.promise;let{promise:n,resolve:a}=$o();o.promise=n;let l=new AbortController;o.abortController=l;let c=this._blockInstance.cfg.validationTimeout,h=this._getValidatorDescriptors(),d=new Set(i.map(m=>m.validator)),p=[];for(let m of h)if(!d.has(m.validator)){let b=o.lastErrorThrownByValidator.get(m.validator);b&&p.push(b)}let f=i.map(m=>async()=>{if(!this._blockInstance.isConnected)return;let b=setTimeout(()=>{o.skippedValidators.add(m.validator),l.abort(),console.warn(et.FILE_VALIDATION_TIMEOUT)},c);try{let _=await m.validator(s,this._blockInstance.api,{signal:l.signal});if(!_||l.signal.aborted){o.lastErrorThrownByValidator.set(m.validator,void 0);return}let v=this._addCustomTypeToValidationError(_);o.lastErrorThrownByValidator.set(m.validator,v),p.push(v),_.message||console.warn(et.MISSING_ERROR_MESSAGE)}catch(_){l.signal.aborted||(o.skippedValidators.add(m.validator),console.warn(et.FILE_VALIDATION_FAILED,_),this._blockInstance.telemetryManager.sendEventError(_,`file validator. ${et.FILE_VALIDATION_FAILED}`))}finally{clearTimeout(b),m.runOn!=="change"&&o.skippedValidators.add(m.validator)}});if(this._runQueueDebounced(),await this._queue.add(async()=>{t.setValue("isQueuedForValidation",!1),await Promise.all(f.map(m=>m())).catch(()=>{})},{autoRun:!1}),l.signal.aborted){t.setMultipleValues({isQueuedForValidation:!1,isValidationPending:!1}),a();return}t.setMultipleValues({isValidationPending:!1,isQueuedForValidation:!1,errors:p}),a()}_addCustomTypeToValidationError(t){var e;return{...t,type:(e=t.type)!=null?e:"CUSTOM_ERROR"}}_getEntryValidationState(t){let e=this._entryValidationState.get(t.uid);if(e)return e;let i={abortController:void 0,skippedValidators:new WeakSet,promise:void 0,lastErrorThrownByValidator:new WeakMap};return this._entryValidationState.set(t.uid,i),i}_getValidatorDescriptors(){return[...this._commonFileValidators,...this._blockInstance.cfg.fileValidators].map(Ll)}_getValidatorDescriptorsForEntry(t,e){let i=this._getEntryValidationState(t);return this._getValidatorDescriptors().filter(s=>!i.skippedValidators.has(s.validator)).filter(s=>s.runOn===e)}};var Mo=Object.freeze({file:Object.freeze({type:File,value:null,nullable:!0}),externalUrl:Object.freeze({type:String,value:null,nullable:!0}),fileName:Object.freeze({type:String,value:null,nullable:!0}),fileSize:Object.freeze({type:Number,value:null,nullable:!0}),lastModified:Object.freeze({type:Number,value:Date.now()}),uploadProgress:Object.freeze({type:Number,value:0}),uuid:Object.freeze({type:String,value:null,nullable:!0}),isImage:Object.freeze({type:Boolean,value:!1}),mimeType:Object.freeze({type:String,value:null,nullable:!0}),ctxName:Object.freeze({type:String,value:null,nullable:!0}),cdnUrl:Object.freeze({type:String,value:null,nullable:!0}),cdnUrlModifiers:Object.freeze({type:String,value:null,nullable:!0}),fileInfo:Object.freeze({type:Ce,value:null,nullable:!0}),isUploading:Object.freeze({type:Boolean,value:!1}),abortController:Object.freeze({type:AbortController,value:null,nullable:!0}),thumbUrl:Object.freeze({type:String,value:null,nullable:!0}),silent:Object.freeze({type:Boolean,value:!1}),source:Object.freeze({type:String,value:null,nullable:!0}),fullPath:Object.freeze({type:String,value:null,nullable:!0}),metadata:Object.freeze({type:Object,value:null,nullable:!0}),errors:Object.freeze({type:Array,value:[]}),uploadError:Object.freeze({type:Error,value:null,nullable:!0}),isRemoved:Object.freeze({type:Boolean,value:!1}),isQueuedForUploading:Object.freeze({type:Boolean,value:!1}),isValidationPending:Object.freeze({type:Boolean,value:!1}),isQueuedForValidation:Object.freeze({type:Boolean,value:!1})});var k=class r extends g{constructor(){super(...arguments);u(this,"couldBeCtxOwner",!1);u(this,"isCtxOwner",!1);u(this,"init$",ai(this));u(this,"_flushOutputItems",$(async()=>{if(this.getOutputData().length!==this.uploadCollection.size)return;let i=this.api.getOutputCollectionState();this.$["*collectionState"]=i,this.emit(w.CHANGE,()=>this.api.getOutputCollectionState(),{debounce:!0}),this.cfg.groupOutput&&i.totalCount>0&&i.status==="success"&&this._createGroup(i)},300));u(this,"_handleCollectionUpdate",(e,i,s)=>{var o;(i.size||s.size)&&(this.$["*groupInfo"]=null),this.validationManager.runFileValidators("add",[...i].map(n=>n.uid));for(let n of i)n.getValue("silent")||this.emit(w.FILE_ADDED,this.api.getOutputItem(n.uid));this.validationManager.runCollectionValidators();for(let n of s){this.$["*uploadTrigger"].delete(n.uid),this.validationManager.cleanupValidationForEntry(n),(o=n.getValue("abortController"))==null||o.abort(),n.setMultipleValues({isRemoved:!0,abortController:null,isUploading:!1,uploadProgress:0});let a=n==null?void 0:n.getValue("thumbUrl");a&&URL.revokeObjectURL(a),this.emit(w.FILE_REMOVED,this.api.getOutputItem(n.uid))}this.$["*uploadList"]=e.map(n=>({uid:n})),this._flushCommonUploadProgress(),this._flushOutputItems()});u(this,"_handleCollectionPropertiesUpdate",e=>{this._flushOutputItems();let i=this.uploadCollection,s=[...new Set(Object.entries(e).filter(([o])=>["uploadError","fileInfo","cdnUrl","cdnUrlModifiers"].includes(o)).map(([,o])=>[...o]).flat())];if(s.length>0&&setTimeout(()=>{let o=s.filter(n=>{var a;return((a=e.fileInfo)==null?void 0:a.has(n))&&!!T.getCtx(n).store.fileInfo});o.length>0&&this.validationManager.runFileValidators("upload",o),this.validationManager.runFileValidators("change",s)}),e.uploadProgress){for(let o of e.uploadProgress){let{isUploading:n,silent:a}=T.getCtx(o).store;n&&!a&&this.emit(w.FILE_UPLOAD_PROGRESS,this.api.getOutputItem(o))}this._flushCommonUploadProgress()}if(e.isUploading)for(let o of e.isUploading){let{isUploading:n,silent:a}=T.getCtx(o).store;n&&!a&&this.emit(w.FILE_UPLOAD_START,this.api.getOutputItem(o))}if(e.fileInfo){for(let o of e.fileInfo){let{fileInfo:n,silent:a}=T.getCtx(o).store;n&&!a&&this.emit(w.FILE_UPLOAD_SUCCESS,this.api.getOutputItem(o))}this.cfg.cropPreset&&this.setInitialCrop(),this.cfg.cloudImageEditorAutoOpen&&this.openCloudImageEditor()}if(e.errors){this.validationManager.runCollectionValidators();for(let a of e.errors){let{errors:l}=T.getCtx(a).store;l.length>0&&(this.emit(w.FILE_UPLOAD_FAILED,this.api.getOutputItem(a)),this.emit(w.COMMON_UPLOAD_FAILED,()=>this.api.getOutputCollectionState(),{debounce:!0}))}let o=i.findItems(a=>!!a.getValue("fileInfo")),n=i.findItems(a=>a.getValue("errors").length>0);i.size>0&&n.length===0&&i.size===o.length&&this.$["*collectionErrors"].length===0&&this.emit(w.COMMON_UPLOAD_SUCCESS,this.api.getOutputCollectionState())}e.cdnUrl&&([...e.cdnUrl].filter(n=>{var a;return!!((a=this.uploadCollection.read(n))!=null&&a.getValue("cdnUrl"))}).forEach(n=>{this.emit(w.FILE_URL_CHANGED,this.api.getOutputItem(n))}),this.$["*groupInfo"]=null)});u(this,"_flushCommonUploadProgress",()=>{let e=0,s=[...this.$["*uploadTrigger"]].filter(n=>!!this.uploadCollection.read(n));s.forEach(n=>{let a=this.uploadCollection.readProp(n,"uploadProgress");typeof a=="number"&&(e+=a)});let o=s.length?Math.round(e/s.length):0;this.$["*commonProgress"]!==o&&(this.$["*commonProgress"]=o,this.emit(w.COMMON_UPLOAD_PROGRESS,this.api.getOutputCollectionState()))})}get hasCtxOwner(){return this.hasBlockInCtx(e=>e instanceof r?e.isCtxOwner&&e.isConnected&&e!==this:!1)}initCallback(){if(super.initCallback(),!this.has("*uploadCollection")){let e=new _i({typedSchema:Mo,watchList:["uploadProgress","uploadError","fileInfo","errors","cdnUrl","isUploading","isValidationPending"]});this.add("*uploadCollection",e)}this.has("*publicApi")||this.add("*publicApi",new wi(this)),this.has("*validationManager")||this.add("*validationManager",new Ci(this)),!this.hasCtxOwner&&this.couldBeCtxOwner&&this._initCtxOwner()}get validationManager(){if(!this.has("*validationManager"))throw new Error("Unexpected error: ValidationManager is not initialized");return this.$["*validationManager"]}get api(){if(!this.has("*publicApi"))throw new Error("Unexpected error: UploaderPublicApi is not initialized");return this.$["*publicApi"]}getAPI(){return this.api}get uploadCollection(){if(!this.has("*uploadCollection"))throw new Error("Unexpected error: TypedCollection is not initialized");return this.$["*uploadCollection"]}destroyCtxCallback(){this.uploadCollection.destroy(),this.$["*uploadCollection"]=null,super.destroyCtxCallback()}disconnectedCallback(){super.disconnectedCallback(),this.isCtxOwner&&this._unobserveUploadCollection()}connectedCallback(){super.connectedCallback(),this.isCtxOwner&&this._observeUploadCollection()}destroyCallback(){super.destroyCallback(),this._flushOutputItems.cancel()}_initCtxOwner(){this.isCtxOwner=!0,this._observeUploadCollection(),this.subConfigValue("maxConcurrentRequests",e=>{this.$["*uploadQueue"].concurrency=Number(e)||1}),this.$["*secureUploadsManager"]||(this.$["*secureUploadsManager"]=new gi(this))}_observeUploadCollection(){this._unobserveUploadCollection(),this._unobserveCollection=this.uploadCollection.observeCollection(this._handleCollectionUpdate),this._unobserveCollectionProperties=this.uploadCollection.observeProperties(this._handleCollectionPropertiesUpdate)}_unobserveUploadCollection(){var e,i;(e=this._unobserveCollectionProperties)==null||e.call(this),(i=this._unobserveCollection)==null||i.call(this),this._unobserveCollectionProperties=void 0,this._unobserveCollection=void 0}async _createGroup(e){let i=await this.getUploadClientOptions(),s=e.allEntries.map(l=>l.uuid+(l.cdnUrlModifiers?`/${l.cdnUrlModifiers}`:"")),o=new AbortController,n=await Xs(s,{...i,signal:o.signal});if(this.$["*collectionState"]!==e){o.abort();return}this.$["*groupInfo"]=n;let a=this.api.getOutputCollectionState();this.emit(w.GROUP_CREATED,a),this.emit(w.CHANGE,()=>this.api.getOutputCollectionState(),{debounce:!0}),this.$["*collectionState"]=a}openCloudImageEditor(){let[e]=this.uploadCollection.findItems(i=>!!i.getValue("fileInfo")&&i.getValue("isImage")).map(i=>this.uploadCollection.read(i));e&&this.uploadCollection.size===1&&this.cfg.useCloudImageEditor&&this.hasBlockInCtx(i=>i.activityType===g.activities.CLOUD_IMG_EDIT)&&(this.$["*currentActivityParams"]={internalId:e.uid},this.$["*currentActivity"]=g.activities.CLOUD_IMG_EDIT,this.modalManager.open(g.activities.CLOUD_IMG_EDIT))}setInitialCrop(){let e=mi(this.cfg.cropPreset);if(e){let[i]=e,s=this.uploadCollection.findItems(o=>{var n;return!!o.getValue("fileInfo")&&o.getValue("isImage")&&!((n=o.getValue("cdnUrlModifiers"))!=null&&n.includes("/crop/"))}).map(o=>this.uploadCollection.read(o)).filter(Boolean);for(let o of s){let n=o.getValue("fileInfo");if(!n||!n.imageInfo){console.warn("Failed to get image info for entry",o.uid);continue}let{width:a,height:l}=n.imageInfo,c=typeof(i==null?void 0:i.width)=="number"&&typeof(i==null?void 0:i.height)=="number"&&i.width>0&&i.height>0?i.width/i.height:1,h=bo(a,l,c),d=H(`crop/${h.width}x${h.height}/${h.x},${h.y}`,"preview"),p=o.getValue("cdnUrl");if(!p){console.warn("Failed to get cdnUrl for entry",o.uid);continue}o.setMultipleValues({cdnUrlModifiers:d,cdnUrl:R(p,d)}),this.uploadCollection.size===1&&this.cfg.useCloudImageEditor&&this.hasBlockInCtx(f=>f.activityType===g.activities.CLOUD_IMG_EDIT)&&(this.$["*currentActivityParams"]={internalId:o.uid},this.$["*currentActivity"]=g.activities.CLOUD_IMG_EDIT,this.modalManager.open(g.activities.CLOUD_IMG_EDIT))}}}async getMetadataFor(e){let i=this.cfg.metadata||void 0;if(typeof i=="function"){let s=this.api.getOutputItem(e);return await i(s)}return i}async getUploadClientOptions(){let i=await this.$["*secureUploadsManager"].getSecureToken().catch(()=>null);return{store:this.cfg.store,publicKey:this.cfg.pubkey,baseCDN:this.cfg.cdnCname,baseURL:this.cfg.baseUrl,userAgent:vo,integration:this.cfg.userAgentIntegration,secureSignature:i==null?void 0:i.secureSignature,secureExpire:i==null?void 0:i.secureExpire,retryThrottledRequestMaxTimes:this.cfg.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:this.cfg.retryNetworkErrorMaxTimes,multipartMinFileSize:this.cfg.multipartMinFileSize,multipartChunkSize:this.cfg.multipartChunkSize,maxConcurrentRequests:this.cfg.multipartMaxConcurrentRequests,multipartMaxAttempts:this.cfg.multipartMaxAttempts,checkForUrlDuplicates:!!this.cfg.checkForUrlDuplicates,saveUrlForRecurrentUploads:!!this.cfg.saveUrlForRecurrentUploads}}getOutputData(){return this.uploadCollection.items().map(s=>this.api.getOutputItem(s))}};k.extSrcList=Object.freeze({...de});k.sourceTypes=Object.freeze({...U});var Et=r=>{var t;return(t=r.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g))==null?void 0:t.map(e=>e.toLowerCase()).join("-")};var L=r=>String(r),z=r=>{let t=Number(r);if(Number.isNaN(t))throw new Error(`Invalid number: "${r}"`);return t},O=r=>{if(typeof r=="undefined"||r===null)return!1;if(typeof r=="boolean")return r;if(r==="true"||r==="")return!0;if(r==="false")return!1;throw new Error(`Invalid boolean: "${r}"`)},Lo=r=>r==="auto"?r:O(r),Uo=r=>{let t=L(r);if(t!=="user"&&t!=="environment"&&t!=="")throw new Error(`Invalid value: "${t}"`);return t},Po=r=>{let t=L(r);if(!Object.values(S).includes(t))throw new Error(`Invalid value: "${t}"`);return t},Ro=r=>{let t=L(r),e=Q(t);if(e.some(i=>!Object.values(S).includes(i)))throw new Error(`Invalid value: "${JSON.stringify(e)}"`);return t},Do=r=>{if(typeof r=="object"&&!Array.isArray(r)||typeof r=="function")return r;throw new Error("Invalid metadata value. Must be an object or function.")},Hr=r=>{if(typeof r=="object")return r;throw new Error("Invalid value. Must be an object.")},Ei=r=>{if(typeof r=="function")return r;throw new Error("Invalid value. Must be a function.")},jr=r=>{if(Array.isArray(r))return r;throw new Error("Must be an array.")},Fo=r=>{let t=L(r);if(["grid","list"].includes(t))return t;throw new Error(`Invalid value: "${t}"`)};var Ul={pubkey:L,multiple:O,multipleMin:z,multipleMax:z,confirmUpload:O,imgOnly:O,accept:L,externalSourcesPreferredTypes:L,externalSourcesEmbedCss:L,store:Lo,cameraMirror:O,cameraCapture:Uo,sourceList:L,topLevelOrigin:L,maxLocalFileSizeBytes:z,thumbSize:z,showEmptyList:O,useLocalImageEditor:O,useCloudImageEditor:O,cloudImageEditorTabs:L,removeCopyright:O,cropPreset:L,imageShrink:L,modalScrollLock:O,modalBackdropStrokes:O,sourceListWrap:O,remoteTabSessionKey:L,cdnCname:L,cdnCnamePrefixed:L,baseUrl:L,socialBaseUrl:L,secureSignature:L,secureExpire:L,secureDeliveryProxy:L,retryThrottledRequestMaxTimes:z,retryNetworkErrorMaxTimes:z,multipartMinFileSize:z,multipartChunkSize:z,maxConcurrentRequests:z,multipartMaxConcurrentRequests:z,multipartMaxAttempts:z,checkForUrlDuplicates:O,saveUrlForRecurrentUploads:O,groupOutput:O,userAgentIntegration:L,debug:O,localeName:L,metadata:Do,secureUploadsExpireThreshold:z,localeDefinitionOverride:Hr,secureUploadsSignatureResolver:Ei,secureDeliveryProxyUrlResolver:Ei,iconHrefResolver:Ei,fileValidators:jr,collectionValidators:jr,validationTimeout:z,validationConcurrency:z,cameraModes:Ro,defaultCameraMode:Po,enableAudioRecording:O,enableVideoRecording:O,mediaRecorderOptions:Hr,maxVideoRecordingDuration:z,filesViewMode:Fo,gridShowFileNames:O,cloudImageEditorAutoOpen:O,cloudImageEditorMaskHref:L,testMode:O,qualityInsights:O},Vo=(r,t)=>{if(!(typeof t=="undefined"||t===null))try{return Ul[r](t)}catch(e){return console.error(`Invalid value for config key "${r}".`,e),te[r]}};var Pl=[{test:r=>r.accept&&!!r.imgOnly,message:"There could be a mistake.\nBoth `accept` and `imgOnly` parameters are set.\nThe value of `accept` will be concatenated with the internal image mime types list."},{test:r=>r.enableVideoRecording!==null,message:"The `enableVideoRecording` parameter is deprecated and will be removed in the next major release.\nPlease use the `cameraModes` parameter instead."},{test:r=>r.defaultCameraMode!==null,message:"The `defaultCameraMode` parameter is deprecated and will be removed in the next major release.\nPlease use the `cameraModes` parameter instead."}],No=$(r=>{for(let{test:t,message:e}of Pl)t(r)&&yi(e)},0);var Bo=(r,t)=>{let e=new URL(t);return e.hostname=`${r}.${e.hostname}`,e.toString().replace(/\/$/,"")},Rl="0123456789abcdefghijklmnopqrstuvwxyz",zo=r=>{if(r<=BigInt(0))return"0";let t="";for(;r>BigInt(0);){let e=r%BigInt(36);t=Rl[Number(e)]+t,r=r/BigInt(36)}return t},Gr=(r,t)=>{try{let e=new URL(r),i=new URL(t);return e.hostname.endsWith(i.hostname)}catch{return!1}};var Dl=async r=>{let t=new TextEncoder().encode(r),e=await window.crypto.subtle.digest("SHA-256",t),i=Array.from(new Uint8Array(e)).map(s=>s.toString(16).padStart(2,"0")).join("");return BigInt(`0x${i}`)},Fl=10,Vl=async r=>{let t=await Dl(r);return zo(t).slice(0,Fl)},Ho=async(r,t)=>{let e=await Vl(r);return Bo(e,t)};var jo=r=>r instanceof Promise||!!(r&&typeof r=="object"&&"then"in r&&typeof r.then=="function");var Nl=[{key:"cameraModes",deps:["enableVideoRecording"],fn:({cameraModes:r,enableVideoRecording:t})=>{if(t===null)return r;let e=Q(r);return t&&!e.includes("video")?e=e.concat("video"):t||(e=e.filter(i=>i!=="video")),ve(e)}},{key:"cameraModes",deps:["defaultCameraMode"],fn:({cameraModes:r,defaultCameraMode:t})=>{if(t===null)return r;let e=Q(r);return e=e.sort((i,s)=>i===t?-1:s===t?1:0),ve(e)}},{key:"cdnCname",deps:["pubkey","cdnCnamePrefixed"],fn:({pubkey:r,cdnCname:t,cdnCnamePrefixed:e})=>r&&(t===pt||Gr(t,e))?Ho(r,e):t}],Wr=({key:r,setValue:t,getValue:e})=>{for(let i of Nl)if(i.deps.includes(r)){let s={[i.key]:e(i.key),...i.deps.reduce((n,a)=>({...n,[a]:e(a)}),{})},o=i.fn(s);if(jo(o)){let n=e(i.key);o.then(a=>{e(i.key)===n&&t(i.key,a)}).catch(a=>{console.error(`Failed to compute value for "${i.key}"`,a)})}else t(i.key,o)}};var qr=[...new Set(["debug",...Object.keys(te)])],Bl=["metadata","localeDefinitionOverride","secureUploadsSignatureResolver","secureDeliveryProxyUrlResolver","iconHrefResolver","fileValidators","collectionValidators","mediaRecorderOptions"],zl=r=>Bl.includes(r),tt=qr.filter(r=>!zl(r)),Hl={...Object.fromEntries(tt.map(r=>[Et(r),r])),...Object.fromEntries(tt.map(r=>[r.toLowerCase(),r]))},jl={...Object.fromEntries(tt.map(r=>[Et(r),G(r)])),...Object.fromEntries(tt.map(r=>[r.toLowerCase(),G(r)]))},Go=r=>"__"+r,At=class extends y{constructor(){super();u(this,"requireCtxName",!0);this.init$={...this.init$,...Object.fromEntries(Object.entries(te).map(([e,i])=>[G(e),i]))}}_flushValueToAttribute(e,i){if(tt.includes(e)){let s=[...new Set([Et(e),e.toLowerCase()])];for(let o of s)typeof i=="undefined"||i===null?this.removeAttribute(o):this.getAttribute(o)!==i.toString()&&this.setAttribute(o,i.toString())}}_flushValueToState(e,i){this.$[G(e)]!==i&&(typeof i=="undefined"||i===null?this.$[G(e)]=te[e]:this.$[G(e)]=i)}_setValue(e,i){let s=this,o=Vo(e,i),n=Go(e);s[n]!==o&&(this._assertSameValueDifferentReference(e,s[n],o),s[n]=o,this._flushValueToAttribute(e,o),this._flushValueToState(e,o),this.debugPrint(`[uc-config] "${e}"`,o),No(this.cfg),Wr({key:e,setValue:this._setValue.bind(this),getValue:this._getValue.bind(this)}))}_getValue(e){var o;let i=this,s=Go(e);return(o=i[s])!=null?o:this.$[G(e)]}_assertSameValueDifferentReference(e,i,s){this.cfg.debug&&s!==i&&typeof s=="object"&&typeof i=="object"&&JSON.stringify(s)===JSON.stringify(i)&&(console.warn(`[uc-config] Option "${e}" value is the same as the previous one but the reference is different`),console.warn("[uc-config] You should avoid changing the reference of the object to prevent unnecessary calculations"),console.warn(`[uc-config] "${e}" previous value:`,i),console.warn(`[uc-config] "${e}" new value:`,s))}initCallback(){var i;super.initCallback();let e=this;for(let s of tt)this.sub(G(s),o=>{this._setValue(s,o)},!1);for(let s of qr){let o=(i=e[s])!=null?i:this.$[G(s)];o!==te[s]&&this._setValue(s,o),Object.defineProperty(this,s,{set:n=>{this._setValue(s,n)},get:()=>this._getValue(s)}),Wr({key:s,setValue:this._setValue.bind(this),getValue:this._getValue.bind(this)})}}attributeChangedCallback(e,i,s){if(i===s)return;let o=this,n=Hl[e];o[n]=s}};At.bindAttributes(jl);for(let r of qr)At.prototype[r]=void 0;var Gl=At;var xt=class extends y{constructor(){super(),this.init$={...this.init$,name:"",href:""}}initCallback(){super.initCallback(),this.sub("name",t=>{if(!t)return;let e=`#uc-icon-${t}`;this.subConfigValue("iconHrefResolver",i=>{if(i){let s=i(t);e=s!=null?s:e}this.$.href=e})}),this.setAttribute("aria-hidden","true")}};xt.template=`<svg ref="svg" xmlns="http://www.w3.org/2000/svg"><use set="@href: href;"></use></svg>`;xt.bindAttributes({name:"name"});var Wo=r=>[...new Set(r)];var qo=r=>Object.entries(r).filter(([t,e])=>e!==void 0&&e!=="").map(([t,e])=>t==="cdn-operations"||t==="analytics"?e:`${t}/${e}`);var Wl="https://ucarecdn.com",Tt=Object.freeze({"dev-mode":{},pubkey:{},uuid:{},src:{},lazy:{default:1},intersection:{},breakpoints:{},"cdn-cname":{default:Wl},"proxy-cname":{},"secure-delivery-proxy":{},"hi-res-support":{default:1},"ultra-res-support":{},format:{},"cdn-operations":{},progressive:{},quality:{},"is-background-for":{},"is-preview-blur":{default:1}});var it="--uc-img-",Xr="unresolved";var Kr=!window.location.host.trim()||window.location.host.includes(":")||window.location.hostname.includes("localhost"),Zr=3e3,Yr=5e3,Qr=Object.freeze({PREVIEW:"PREVIEW",MAIN:"MAIN"});var Ko=Object.create(null),Xo;for(let r in Tt)Ko[it+r]=((Xo=Tt[r])==null?void 0:Xo.default)||"";var Ai=class extends Se{constructor(){super(...arguments);u(this,"cssInit$",Ko)}$$(e){return this.$[it+e]}set$$(e){for(let i in e)this.$[it+i]=e[i]}sub$$(e,i){this.sub(it+e,s=>{s===null||s===""||i(s)})}analyticsParams(){return`-/@clib/${Ue}/${Pe}/uc-img/`}initAttributes(e){[...this.attributes].forEach(i=>{Tt[i.name]||e.setAttribute(i.name,i.value)})}initIntersection(e,i){let s={root:null,rootMargin:"0px"};this._isnObserver=new IntersectionObserver(o=>{o.forEach(n=>{n.isIntersecting&&(i(),this._isnObserver.unobserve(e))})},s),this._isnObserver.observe(e),this._observed||(this._observed=new Set),this._observed.add(e)}destroyCallback(){super.destroyCallback(),this._isnObserver&&(this._observed.forEach(e=>{this._isnObserver.unobserve(e)}),this._isnObserver=null),T.deleteCtx(this)}static get observedAttributes(){return Object.keys(Tt)}attributeChangedCallback(e,i,s){window.setTimeout(()=>{this.$[it+e]=s})}};var Si=class extends Ai{constructor(){super(...arguments);u(this,"_img",new Image);u(this,"_imgPreview",new Image)}_fmtAbs(e){return!e.includes("//")&&!Kr&&(e=new URL(e,document.baseURI).href),e}_validateSize(e){if((e==null?void 0:e.trim())!==""){let i=e.match(/\d+/)[0],s=e.match(/[a-zA-Z]+/)[0],o=parseInt(i,10);if(Number(o)>Yr&&this.hasFormatJPG)return Yr+s;if(Number(o)>Zr&&!this.hasFormatJPG)return Zr+s}return e}_getCdnModifiers(e,i){let s={format:this.$$("format"),quality:this.$$("quality"),resize:this._validateSize(e),blur:i,"cdn-operations":this.$$("cdn-operations"),analytics:this.analyticsParams()};return H(...qo(s))}_getUrlBase(e="",i=""){if(this.$$("src").startsWith("data:")||this.$$("src").startsWith("blob:"))return this.$$("src");if(Kr&&this.$$("src")&&!this.$$("src").includes("//"))return this._proxyUrl(this.$$("src"));let s=this._getCdnModifiers(e,i);if(this.$$("src").startsWith(this.$$("cdn-cname")))return R(this.$$("src"),s);if(this.$$("cdn-cname")&&this.$$("uuid"))return this._proxyUrl(R(Ie(this.$$("cdn-cname"),this.$$("uuid")),s));if(this.$$("uuid"))return this._proxyUrl(R(Ie(this.$$("cdn-cname"),this.$$("uuid")),s));if(this.$$("proxy-cname"))return this._proxyUrl(R(this.$$("proxy-cname"),s,this._fmtAbs(this.$$("src"))));if(this.$$("pubkey"))return this._proxyUrl(R(`https://${this.$$("pubkey")}.ucr.io/`,s,this._fmtAbs(this.$$("src"))))}_proxyUrl(e){return this.$$("secure-delivery-proxy")?ft(this.$$("secure-delivery-proxy"),{previewUrl:e},{transform:s=>window.encodeURIComponent(s)}):e}_getElSize(e,i=1,s=!0){let o=e.getBoundingClientRect(),n=i*Math.round(o.width),a=s?"":i*Math.round(o.height);return n||a?`${n||""}x${a||""}`:null}_setupEventProxy(e){let i=o=>{o.stopPropagation();let n=new Event(o.type,o);this.dispatchEvent(n)},s=["load","error"];for(let o of s)e.addEventListener(o,i)}get img(){return this.hasPreviewImage||(this._setupConfigForImage({elNode:this._img}),this.appendChild(this._img)),this._img}get currentImg(){return this.hasPreviewImage?{type:Qr.PREVIEW,img:this._imgPreview}:{type:Qr.MAIN,img:this.img}}get hasPreviewImage(){return this.$$("is-preview-blur")}get bgSelector(){return this.$$("is-background-for")}get breakpoints(){if(this.$$("breakpoints")){let e=D(this.$$("breakpoints"));return Wo(e.map(i=>parseInt(i,10)))}else return null}get hasFormatJPG(){return this.$$("format").toLowerCase()==="jpeg"}renderBg(e){let i=new Set;i.add(`url("${this._getUrlBase(this._getElSize(e))}") 1x`),this.$$("hi-res-support")&&i.add(`url("${this._getUrlBase(this._getElSize(e,2))}") ${2}x`),this.$$("ultra-res-support")&&i.add(`url("${this._getUrlBase(this._getElSize(e,3))}") ${3}x`);let s=`image-set(${[...i].join(", ")})`;e.style.setProperty("background-image",s),e.style.setProperty("background-image","-webkit-"+s)}getSrcset(){let e=new Set;return this.breakpoints?this.breakpoints.forEach(i=>{e.add(this._getUrlBase(i+"x")+` ${this._validateSize(i+"w")}`),this.$$("hi-res-support")&&e.add(this._getUrlBase(i*2+"x")+` ${this._validateSize(i*2+"w")}`),this.$$("ultra-res-support")&&e.add(this._getUrlBase(i*3+"x")+` ${this._validateSize(i*3+"w")}`)}):(e.add(this._getUrlBase(this._getElSize(this.currentImg.img))+" 1x"),this.$$("hi-res-support")&&e.add(this._getUrlBase(this._getElSize(this.currentImg.img,2))+" 2x"),this.$$("ultra-res-support")&&e.add(this._getUrlBase(this._getElSize(this.currentImg.img,3))+" 3x")),[...e].join()}getSrc(){return this._getUrlBase()}get srcUrlPreview(){return this._getUrlBase("100x","100")}renderBackground(){[...document.querySelectorAll(this.bgSelector)].forEach(e=>{this.$$("intersection")?this.initIntersection(e,()=>{this.renderBg(e)}):this.renderBg(e)})}_appendURL({elNode:e,src:i,srcset:s}){i&&(e.src=i),s&&(e.srcset=s)}_setupConfigForImage({elNode:e}){this._setupEventProxy(e),this.initAttributes(e)}loaderImage({src:e,srcset:i,elNode:s}){return new Promise((o,n)=>{this._setupConfigForImage({elNode:s}),s.setAttribute(Xr,""),s.addEventListener("load",()=>{s.removeAttribute(Xr),o(s)}),s.addEventListener("error",()=>{n(!1)}),this._appendURL({elNode:s,src:e,srcset:i})})}async renderImage(){var e,i;if(this.$$("intersection")){this.hasPreviewImage&&(this._setupConfigForImage({elNode:this._imgPreview}),this.appendChild(this._imgPreview)),this.initIntersection(this.currentImg.img,async()=>{var s;this.hasPreviewImage&&(this._imgPreview.src=this.srcUrlPreview);try{await this.loaderImage({src:this.getSrc(),srcset:this.getSrcset(),elNode:this._img}),this.hasPreviewImage&&await this._imgPreview.remove(),this.appendChild(this._img)}catch{this.hasPreviewImage&&await((s=this._imgPreview)==null?void 0:s.remove()),this.appendChild(this._img)}});return}try{this.hasPreviewImage&&(await this.loaderImage({src:this.srcUrlPreview,elNode:this._imgPreview}),this.appendChild(this._imgPreview)),await this.loaderImage({src:this.getSrc(),srcset:this.getSrcset(),elNode:this._img}),this.hasPreviewImage&&await((e=this._imgPreview)==null?void 0:e.remove()),this.appendChild(this._img)}catch{this.hasPreviewImage&&await((i=this._imgPreview)==null?void 0:i.remove()),this.appendChild(this._img)}}init(){this.bgSelector?this.renderBackground():this.renderImage()}};var Jr=class extends Si{initCallback(){super.initCallback(),this.sub$$("src",()=>{this.init()}),this.sub$$("uuid",()=>{this.init()}),this.sub$$("lazy",t=>{!this.$$("is-background-for")&&!this.$$("is-preview-blur")&&(this.img.loading=t?"lazy":"eager")})}};var St=class St extends k{constructor(){super();u(this,"couldBeCtxOwner",!0);this.init$={...this.init$,withDropZone:!0,onClick:()=>{this.api.initFlow()},"button-text":""}}initCallback(){super.initCallback(),this.defineAccessor("dropzone",e=>{typeof e!="undefined"&&(this.$.withDropZone=O(e))}),this.subConfigValue("multiple",e=>{this.$["button-text"]=e?"upload-files":"upload-file"})}};u(St,"styleAttrs",[...Z(St,St,"styleAttrs"),"uc-simple-btn"]);var It=St;It.template=`<uc-drop-area set="@disabled: !withDropZone"><button type="button" set="onclick: onClick"><uc-icon name="upload"></uc-icon><span l10n="button-text"></span><slot></slot><div class="uc-visual-drop-area" l10n="drop-files-here"></div></button></uc-drop-area>`;It.bindAttributes({dropzone:null});var Ii=class extends g{constructor(){super(...arguments);u(this,"historyTracked",!0);u(this,"activityType",g.activities.START_FROM)}initCallback(){super.initCallback(),this.registerActivity(this.activityType)}};Ii.template='<div class="uc-content"><slot></slot></div>';function ql(r){return new Promise(t=>{typeof window.FileReader!="function"&&t(!1);try{let e=new FileReader;e.onerror=()=>{t(!0)};let i=s=>{s.type!=="loadend"&&e.abort(),t(!1)};e.onloadend=i,e.onprogress=i,e.readAsDataURL(r)}catch{t(!1)}})}function Xl(r,t){return new Promise(e=>{let i=0,s=[],o=a=>{a||(console.warn("Unexpectedly received empty content entry",{scope:"drag-and-drop"}),e(null)),a.isFile?(i++,a.file(l=>{i--;let c=new File([l],l.name,{type:l.type||t});s.push({type:"file",file:c,fullPath:a.fullPath}),i===0&&e(s)})):a.isDirectory&&n(a.createReader())},n=a=>{i++,a.readEntries(l=>{i--;for(let c of l)o(c);i===0&&e(s)})};o(r)})}function Zo(r){let t=[],e=[];for(let i=0;i<r.items.length;i++){let s=r.items[i];if(s)if(s.kind==="file"){let o=s.type;if(typeof s.webkitGetAsEntry=="function"||typeof s.getAsEntry=="function"){let a=typeof s.webkitGetAsEntry=="function"?s.webkitGetAsEntry():s.getAsEntry();e.push(Xl(a,o).then(l=>{l&&t.push(...l)}));continue}let n=s.getAsFile();n&&e.push(ql(n).then(a=>{a||t.push({type:"file",file:n})}))}else s.kind==="string"&&s.type.match("^text/uri-list")&&e.push(new Promise(o=>{s.getAsString(n=>{t.push({type:"url",url:n}),o(void 0)})}))}return Promise.all(e).then(()=>t)}var q={ACTIVE:0,INACTIVE:1,NEAR:2,OVER:3},Yo=["focus"],Kl=100,es=new Map;function Zl(r,t){let e=Math.max(Math.min(r[0],t.x+t.width),t.x),i=Math.max(Math.min(r[1],t.y+t.height),t.y);return Math.sqrt((r[0]-e)*(r[0]-e)+(r[1]-i)*(r[1]-i))}function ts(r){let t=0,e=document.body,i=new Set,s=m=>i.add(m),o=q.INACTIVE,n=m=>{r.shouldIgnore()&&m!==q.INACTIVE||(o!==m&&i.forEach(b=>b(m)),o=m)},a=()=>t>0;s(m=>r.onChange(m));let l=()=>{t=0,n(q.INACTIVE)},c=()=>{t+=1,o===q.INACTIVE&&n(q.ACTIVE)},h=()=>{t-=1,a()||n(q.INACTIVE)},d=m=>{m.preventDefault(),t=0,n(q.INACTIVE)},p=m=>{if(r.shouldIgnore())return;a()||(t+=1);let b=[m.x,m.y],_=r.element.getBoundingClientRect(),v=Math.floor(Zl(b,_)),E=v<Kl,C=m.composedPath().includes(r.element);es.set(r.element,v);let P=Math.min(...es.values())===v;C&&P?(m.preventDefault(),n(q.OVER)):n(E&&P?q.NEAR:q.ACTIVE)},f=async m=>{if(r.shouldIgnore())return;m.preventDefault();let b=await Zo(m.dataTransfer);r.onItems(b),n(q.INACTIVE)};return e.addEventListener("drop",d),e.addEventListener("dragleave",h),e.addEventListener("dragenter",c),e.addEventListener("dragover",p),r.element.addEventListener("drop",f),Yo.forEach(m=>{window.addEventListener(m,l)}),()=>{es.delete(r.element),e.removeEventListener("drop",d),e.removeEventListener("dragleave",h),e.removeEventListener("dragenter",c),e.removeEventListener("dragover",p),r.element.removeEventListener("drop",f),Yo.forEach(m=>{window.removeEventListener(m,l)})}}var Qo="uc-drop-area",rt=`${Qo}/registry`,Ot=class Ot extends k{constructor(){super(),this.init$={...this.init$,state:q.INACTIVE,withIcon:!1,isClickable:!1,isFullscreen:!1,isEnabled:!0,isVisible:!0,isInitFlow:!1,text:"",[rt]:null}}isActive(){if(!this.$.isEnabled)return!1;let t=this.getBoundingClientRect(),e=t.width>0&&t.height>0,i=t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth),s=window.getComputedStyle(this),o=s.visibility!=="hidden"&&s.display!=="none";return e&&o&&i}initCallback(){super.initCallback(),this.bindL10n("text",()=>this.l10n("drop-files-here")),this.$[rt]||(this.$[rt]=new Set),this.$[rt].add(this),this.defineAccessor("disabled",e=>{this.set$({isEnabled:!O(e)})}),this.defineAccessor("clickable",e=>{this.set$({isClickable:O(e)})}),this.defineAccessor("initflow",e=>{this.set$({isInitFlow:O(e)})}),this.defineAccessor("with-icon",e=>{this.set$({withIcon:O(e)})}),this.defineAccessor("fullscreen",e=>{this.set$({isFullscreen:O(e)})}),this.defineAccessor("text",e=>{typeof e=="string"?this.bindL10n("text",()=>this.l10n(e)||e):this.bindL10n("text",()=>this.l10n("drop-files-here"))}),this._destroyDropzone=ts({element:this,shouldIgnore:()=>this._shouldIgnore(),onChange:e=>{this.$.state=e},onItems:e=>{e.length&&(e.forEach(i=>{i.type==="url"?this.api.addFileFromUrl(i.url,{source:U.DROP_AREA}):i.type==="file"&&this.api.addFileFromObject(i.file,{source:U.DROP_AREA,fullPath:i.fullPath})}),this.uploadCollection.size&&(this.modalManager.open(g.activities.UPLOAD_LIST),this.set$({"*currentActivity":g.activities.UPLOAD_LIST})))}});let t=this.ref["content-wrapper"];t&&(this._destroyContentWrapperDropzone=ts({element:t,onChange:e=>{var s;let i=(s=Object.entries(q).find(([,o])=>o===e))==null?void 0:s[0].toLowerCase();i&&t.setAttribute("drag-state",i)},onItems:()=>{},shouldIgnore:()=>this._shouldIgnore()})),this.sub("state",e=>{var s;let i=(s=Object.entries(q).find(([,o])=>o===e))==null?void 0:s[0].toLowerCase();i&&this.setAttribute("drag-state",i)}),this.subConfigValue("sourceList",e=>{let i=D(e);this.$.isEnabled=i.includes(U.LOCAL),this.$.isVisible=this.$.isEnabled||!this.querySelector("[data-default-slot]")}),this.sub("isVisible",e=>{this.toggleAttribute("hidden",!e)}),this.sub("isClickable",e=>{this.toggleAttribute("clickable",e)}),this.$.isClickable&&(this._onAreaClicked=e=>{if(e.type==="keydown"){if(e.code==="Space"||e.code==="Enter"){if(this.$.isInitFlow){this.api.initFlow();return}this.api.openSystemDialog()}}else if(e.type==="click"){if(this.$.isInitFlow){this.api.initFlow();return}this.api.openSystemDialog()}},this.addEventListener("keydown",this._onAreaClicked),this.addEventListener("click",this._onAreaClicked))}_shouldIgnore(){return!this.$.isEnabled||!this._couldHandleFiles()?!0:this.$.isFullscreen?[...this.$[rt]].filter(i=>i!==this).filter(i=>i.isActive()).length>0:!1}_couldHandleFiles(){let t=this.cfg.multiple,e=this.cfg.multipleMax,i=this.uploadCollection.size;return!(t&&e&&i>=e||!t&&i>0)}destroyCallback(){var e,i;super.destroyCallback();let t=this.$[rt];t&&(t.delete(this),t.size===0&&T.deleteCtx(Qo)),(e=this._destroyDropzone)==null||e.call(this),(i=this._destroyContentWrapperDropzone)==null||i.call(this),this._onAreaClicked&&(this.removeEventListener("keydown",this._onAreaClicked),this.removeEventListener("click",this._onAreaClicked))}};u(Ot,"styleAttrs",[...Z(Ot,Ot,"styleAttrs"),"uc-drop-area"]);var kt=Ot;kt.template=`<slot><div data-default-slot hidden></div><div ref="content-wrapper" class="uc-content-wrapper" set="@hidden: !isVisible"><div class="uc-icon-container" set="@hidden: !withIcon"><uc-icon name="default"></uc-icon><uc-icon name="arrow-down"></uc-icon></div><span class="uc-text">{{text}}</span></div></slot>`;kt.bindAttributes({"with-icon":null,clickable:null,text:null,fullscreen:null,disabled:null,initflow:null});var Yl="src-type-",$t=class extends k{constructor(){super();u(this,"couldBeCtxOwner",!0);u(this,"type");u(this,"_registeredTypes",{});this.init$={...this.init$,iconName:"default","src-type":""}}initTypes(){this.registerType({type:U.LOCAL,activate:()=>(this.api.openSystemDialog(),!1)}),this.registerType({type:U.URL,activity:g.activities.URL,textKey:"from-url"}),this.registerType({type:U.CAMERA,activity:g.activities.CAMERA,activate:()=>{let e=ze.htmlMediaCapture;return e&&this.api.openSystemDialog({captureCamera:!0}),!e}}),this.registerType({type:"draw",activity:g.activities.DRAW,icon:"edit-draw"});for(let e of Object.values(Ur))this.registerType({type:e,activity:g.activities.CAMERA,activate:()=>{let i=ze.htmlMediaCapture;return i&&this.api.openSystemDialog({captureCamera:!0,modeCamera:e==="mobile-photo-camera"?S.PHOTO:S.VIDEO}),!i}});for(let e of Object.values(de))this.registerType({type:e,activity:g.activities.EXTERNAL,activityParams:{externalSourceType:e}})}initCallback(){super.initCallback(),this.initTypes(),this.defineAccessor("type",e=>{e&&this.applyType(e)})}registerType(e){this._registeredTypes[e.type]=e}getType(e){return this._registeredTypes[e]}activate(){if(!this.type)return;let e=this._registeredTypes[this.type],{activity:i,activate:s,activityParams:o={}}=e;(s?s():!!i)&&(this.modalManager.open(i),this.set$({"*currentActivityParams":o,"*currentActivity":i}))}applyType(e){let i=this._registeredTypes[e];if(!i){console.warn("Unsupported source type: "+e);return}let{textKey:s=e,icon:o=e}=i;this.$["src-type"]=`${Yl}${s}`,this.$.iconName=o,this.onclick=()=>{this.activate()}}};$t.template=`<button type="button"><uc-icon set="@name: iconName"></uc-icon><div class="uc-txt" l10n="src-type"></div></button>`;$t.bindAttributes({type:null});var is=class extends y{initCallback(){super.initCallback(),this.subConfigValue("sourceList",t=>{let e=D(t),i="";e.forEach(s=>{if(s==="instagram"){console.error("Instagram source was removed because the Instagram Basic Display API hasn't been available since December 4, 2024. Official statement, see here:https://developers.facebook.com/blog/post/2024/09/04/update-on-instagram-basic-display-api/?locale=en_US");return}if(s==="camera"&&ze.htmlMediaCapture){this.subConfigValue("cameraModes",o=>{let n=Q(o);n.forEach(a=>{i+=`<uc-source-btn role="listitem" type="mobile-${a}-camera"></uc-source-btn>`}),n.length===0&&(i+='<uc-source-btn role="listitem" type="mobile-photo-camera"></uc-source-btn>')});return}i+=`<uc-source-btn role="listitem" type="${s}"></uc-source-btn>`}),this.cfg.sourceListWrap?this.innerHTML=i:this.outerHTML=i})}};var ki=()=>{let r=[];return{stack:r,promiseReadJpegChunks:e=>new Promise((i,s)=>{let o=2,n=(c,h)=>{let d=new FileReader;d.addEventListener("load",()=>{h(new DataView(d.result))}),d.addEventListener("error",p=>{s(`Reader error: ${p}`)}),d.readAsArrayBuffer(c)},a=()=>n(e.slice(o,o+128),c=>{let h,d,p;for(h=d=0,p=c.byteLength;p>=0?d<p:d>p;h=p>=0?++d:--d)if(c.getUint8(h)===255){o+=h;break}l()}),l=()=>{let c=o;return n(e.slice(o,o+=4),h=>{if(h.byteLength!==4||h.getUint8(0)!==255){s("Corrupted");return}let d=h.getUint8(1);if(d===218){i(!0);return}let p=h.getUint16(2)-2;return n(e.slice(o,o+=p),f=>{if(f.byteLength!==p){s("Corrupted");return}r.push({startPos:c,length:p,marker:d,view:f}),a()})})};FileReader&&DataView||s("Not Support"),n(e.slice(0,2),c=>{c.getUint16(0)!==65496&&s("Not jpeg"),a()})})}},Ql=async r=>{let t=[],{promiseReadJpegChunks:e,stack:i}=ki();return await e(r),i.forEach(({marker:s,view:o})=>{s===226&&o.getUint32(0)===1229144927&&o.getUint32(4)===1347571526&&o.getUint32(8)===1229735168&&t.push(o)}),t},en=async(r,t,e)=>{{let i=[],s=[],{promiseReadJpegChunks:o,stack:n}=ki();await o(r),n.forEach(c=>{if(c.marker===t)return i.push(c.startPos),s.push(c.length)});let a=[r.slice(0,2)];for(let c of e){let h=new DataView(new ArrayBuffer(4));h.setUint16(0,65280+t),h.setUint16(2,c.byteLength+2),a.push(h.buffer),a.push(c)}let l=2;for(let c=0;c<i.length;c++)i[c]>l&&a.push(r.slice(l,i[c])),l=i[c]+s[c]+4;return a.push(r.slice(l,r.size)),new Blob(a,{type:r.type})}};var tn=(r,t)=>en(r,226,t.map(e=>e.buffer)),Jl=async r=>{try{return await tn(r,[])}catch(t){throw new Error(`Failed to strip ICC profile: ${t}`)}},ec=(r,t,e)=>new Promise((i,s)=>{let o=n=>{if(!n){s("Failed to convert canvas to blob");return}i(n)};r.toBlob(o,t,e),r.width=r.height=1}),Mt=()=>{let r=document.createElement("canvas"),t=r.getContext("2d");return{canvas:r,ctx:t}},tc=r=>{let{ctx:e,canvas:i}=Mt();i.width=i.height=50,e.drawImage(r,0,0,50,50);let s=e.getImageData(0,0,50,50).data;i.width=i.height=1;for(let o=3;o<s.length;o+=4)if(s[o]<254)return!0;return!1},ic=async r=>{let t=null,{promiseReadJpegChunks:e,stack:i}=ki();return await e(r),i.forEach(({marker:s,view:o})=>{if(!t&&s===225&&o.byteLength>=14&&o.getUint32(0)===1165519206&&o.getUint16(4)===0){t=o;return}}),t},rc="data:image/jpg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4QA6RXhpZgAATU0AKgAAAAgAAwESAAMAAAABAAYAAAEoAAMAAAABAAIAAAITAAMAAAABAAEAAAAAAAD/2wBDAP//////////////////////////////////////////////////////////////////////////////////////wAALCAABAAIBASIA/8QAJgABAAAAAAAAAAAAAAAAAAAAAxABAAAAAAAAAAAAAAAAAAAAAP/aAAgBAQAAPwBH/9k=",Oi,sc=()=>new Promise(r=>{if(Oi!==void 0)r(Oi);else{let t=new Image;t.addEventListener("load",()=>{Oi=t.naturalWidth<t.naturalHeight,t.src="//:0",r(Oi)}),t.src=rc}}),oc=(r,t)=>{let e,i,s,o;if(!r||r.byteLength<14||r.getUint32(0)!==1165519206||r.getUint16(4)!==0)return;if(r.getUint16(6)===18761)i=!0;else if(r.getUint16(6)===19789)i=!1;else return;if(r.getUint16(8,i)!==42)return;s=8+r.getUint32(10,i);let n=r.getUint16(s-2,i);for(e=0,o=n;o>=0?e<o:e>o;o>=0?++e:--e){if(r.byteLength<s+10)return;r.getUint16(s,i)===274&&t(s+8,i),s+=12}},nc=(r,t)=>{oc(r,(e,i)=>r.setUint16(e,t,i))},ac=async(r,t,e)=>(e&&nc(t,1),en(r,225,[t.buffer])),lc=(r,t)=>new Promise((e,i)=>{t&&(r.src=t),r.complete?e(r):(r.addEventListener("load",()=>{e(r)}),r.addEventListener("error",()=>{i(new Error("Failed to load image. Probably not an image."))}))}),cc=r=>lc(new Image,r),uc=[1,3],dc=[192,193,194,195,197,198,199,201,202,203,205,206,207],Jo={squareSide:[Math.floor(Math.sqrt(5*1e3*1e3)),4096,8192,11180,10836,11402,14188,16384],dimension:[4096,8192,16384,32767,65535]},hc=async r=>{let t=!1,{promiseReadJpegChunks:e,stack:i}=ki();return await e(r).then(()=>(i.forEach(({marker:s,view:o})=>{if(!t&&dc.indexOf(s)>=0){let n=o.getUint8(5);uc.indexOf(n)<0&&(t=!0)}}),t)).catch(()=>t)},rn=(r,t)=>{let e={};return(...i)=>{let s=t(i,e);return s in e?e[s]:e[s]=r(...i)}},sn=(r,t)=>{let[e]=r,i=Object.keys(t).map(s=>parseInt(s,10)).sort((s,o)=>s-o);for(let s=0;s<i.length;s++){let o=i[s],n=!!t[o];if(o>e&&n||o<e&&!n)return o}return e},Fe={R:55,G:110,B:165,A:255},pc=`rgba(${Fe.R}, ${Fe.G}, ${Fe.B}, ${Fe.A/255})`,on=(r,t)=>{try{let e=[r-1,t-1,1,1],{canvas:i,ctx:s}=Mt();i.width=1,i.height=1;let{canvas:o,ctx:n}=Mt();o.width=r,o.height=t,n&&(n.fillStyle=pc,n.fillRect(...e),s.drawImage(o,r-1,t-1,1,1,0,0,1,1));let a=s&&s.getImageData(0,0,1,1).data,l=!1;return a&&(l=a[0]===Fe.R&&a[1]===Fe.G&&a[2]===Fe.B&&a[3]===Fe.A),o.width=o.height=1,l}catch{return console.error(`Failed to test for max canvas size of ${r}x${t}.`),!1}};function nn(r){return(...t)=>new Promise(e=>{setTimeout(()=>{let i=r(...t);e(i)},0)})}var fc=nn(rn(on,sn)),mc=nn(rn(on,sn)),an=async(r,t)=>{let e=Jo.squareSide.find(n=>n*n>=r*t),i=Jo.dimension.find(n=>n>=r&&n>=t);if(!e||!i)throw new Error("Not supported");let[s,o]=await Promise.all([fc(e,e),mc(i,1)]);if(s&&o)return!0;throw new Error("Not supported")},ln=async(r,t,e)=>{try{let{ctx:i,canvas:s}=Mt();return s.width=t,s.height=e,i.imageSmoothingQuality="high",i.drawImage(r,0,0,t,e),r instanceof HTMLImageElement&&(r.src="//:0"),r instanceof HTMLCanvasElement&&(r.width=r.height=1),s}catch(i){throw new Error("Canvas resize error",{cause:i})}},gc=({img:r,targetW:t,targetH:e})=>ln(r,t,e),bc=function({sourceW:r,targetW:t,targetH:e,step:i}){let s=[],o=t,n=e;do s.push([o,n]),o=Math.round(o/i),n=Math.round(n/i);while(o<r*i);return s.reverse()},_c=({img:r,sourceW:t,targetW:e,targetH:i,step:s})=>{let o=bc({sourceW:t,targetW:e,targetH:i,step:s});return o.reduce((n,[a,l],c)=>n.then(h=>an(a,l).then(()=>ln(h,a,l)).catch(()=>{if(c===o.length-1)throw new Error("Not supported");return h})),Promise.resolve(r))},vc=()=>/iPad|iPhone|iPod/.test(navigator.platform)?!0:navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&/MacIntel/.test(navigator.platform),yc=navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&/MacIntel/.test(navigator.platform),rs=.71,wc=(r,t)=>{if(r.width*rs*r.height*rs<t.size)throw new Error("Not required");let e=r.width,i=r.height,s=e/i,o=Math.floor(Math.sqrt(t.size*s)),n=Math.floor(t.size/Math.sqrt(t.size*s));return an(o,n).then(()=>{let{ctx:a}=Mt();return"imageSmoothingQuality"in a&&!vc()&&!yc?gc({img:r,targetW:o,targetH:n}):_c({img:r,sourceW:e,targetW:o,targetH:n,step:rs})}).catch(()=>Promise.reject("Not supported"))},cn=async(r,t)=>{try{if(await hc(r))throw new Error("Should skipped");let i=await Promise.allSettled([ic(r),sc(),Ql(r)]),o=!i.some(b=>b.status==="rejected"),[n,a,l]=i,c=await Jl(r).catch(()=>r),h=await cc(URL.createObjectURL(c));URL.revokeObjectURL(h.src);let d=await wc(h,t),p="image/jpeg",f=(t==null?void 0:t.quality)||.8;!o&&tc(d)&&(p="image/png",f=void 0);let m=await ec(d,p,f);if(o&&n.status==="fulfilled"&&n.value){let b=n.value,_=a.status==="fulfilled"?a.value:!1;m=await ac(m,b,_)}return o&&l.status==="fulfilled"&&l.value.length>0&&(m=await tn(m,l.value)),m}catch(e){let i;throw e instanceof Error&&(i=e.message),typeof e=="string"&&(i=e),new Error(`Failed to shrink image. ${i?`Message: "${i}".`:""}`,{cause:e})}};var Cc=/^([0-9]+)x([0-9]+)(?:\s+(\d{1,2}|100)%)?$/i,un=r=>{let t=Cc.exec(r==null?void 0:r.toLocaleLowerCase())||[];if(!t.length)return!1;let e=t[1]*t[2],i=16384*16384;return e>i?(console.warn(`Shrinked size can not be larger than ${Math.floor(i/1e3/1e3)}MP. You have set ${t[1]}x${t[2]} (${Math.ceil(e/1e3/100)/10}MP).`),!1):{quality:t[3]?t[3]/100:void 0,size:e}};var st=(r,t)=>{let e,i,s,o=(...n)=>{e?(clearTimeout(i),i=setTimeout(()=>{Date.now()-s>=t&&(r(...n),s=Date.now())},Math.max(t-(Date.now()-s),0))):(r(...n),s=Date.now(),e=!0)};return Object.defineProperty(o,"cancel",{configurable:!1,writable:!1,enumerable:!1,value:()=>{clearTimeout(i)}}),o};var ot=class extends k{constructor(){super(...arguments);u(this,"_entrySubs",new Set);u(this,"_entry",null)}_withEntry(e){return(...s)=>{let o=this._entry;if(!o){console.warn("No entry found");return}return e(o,...s)}}_subEntry(e,i){return this._withEntry((s,o,n)=>{let a=s.subscribe(o,l=>{this.isConnected&&n(l)});this._entrySubs.add(a)})(e,i)}_reset(){for(let e of this._entrySubs)e.remove();this._entrySubs=new Set,this._entry=null}disconnectedCallback(){super.disconnectedCallback(),this._entrySubs=new Set}};var V=Object.freeze({FINISHED:Symbol("FINISHED"),FAILED:Symbol("FAILED"),UPLOADING:Symbol("UPLOADING"),VALIDATION:Symbol("VALIDATION"),QUEUED_UPLOADING:Symbol("QUEUED-UPLOADING"),QUEUED_VALIDATION:Symbol("QUEUED-VALIDATION"),IDLE:Symbol("IDLE")}),Lt=class r extends ot{constructor(){super();u(this,"couldBeCtxOwner",!0);u(this,"pauseRender",!0);u(this,"_renderedOnce",!1);u(this,"_calculateState",this._withEntry(e=>{let i=V.IDLE;e.getValue("errors").length>0?i=V.FAILED:e.getValue("isQueuedForUploading")?i=V.QUEUED_UPLOADING:e.getValue("isQueuedForValidation")?i=V.QUEUED_VALIDATION:e.getValue("isValidationPending")?i=V.VALIDATION:e.getValue("isUploading")?i=V.UPLOADING:e.getValue("fileInfo")&&(i=V.FINISHED),this.$.state=i}));u(this,"_debouncedCalculateState",$(this._calculateState.bind(this),100));u(this,"_updateHintAndProgress",this._withEntry(st((e,i)=>{var f,m,b,_;let s=(m=(f=e.getValue("errors"))==null?void 0:f[0])==null?void 0:m.message,o=e.getValue("source"),n=e.getValue("externalUrl"),a=i===V.UPLOADING,l=i===V.QUEUED_UPLOADING,c=i===V.QUEUED_VALIDATION,h=i===V.VALIDATION,d=e.getValue("fileName"),p="";s?p="":n&&o&&Object.values(de).includes(o)&&(p=this.l10n("waiting-for",{source:this.l10n(`src-type-${o}`)})),this.set$({hint:p,errorText:s,progressVisible:a||l||c||h,progressValue:c||h?0:e.getValue("uploadProgress"),ariaLabelStatusFile:d&&this.l10n("a11y-file-item-status",{fileName:d,status:this.l10n((_=(b=i==null?void 0:i.description)==null?void 0:b.toLocaleLowerCase())!=null?_:"").toLocaleLowerCase()})})},100)));u(this,"_handleState",this._withEntry((e,i)=>{i===V.FAILED?this.$.badgeIcon="badge-error":i===V.FINISHED&&(this.$.badgeIcon="badge-success"),i===V.UPLOADING&&(this.$.isFocused=!1),this.set$({isFailed:i===V.FAILED,isUploading:i===V.UPLOADING,isFinished:i===V.FINISHED,isEditable:this.cfg.useCloudImageEditor&&e.getValue("isImage")&&e.getValue("cdnUrl")}),this._updateHintAndProgress(i)}));u(this,"upload",this._withEntry(async e=>{var s,o,n,a,l,c,h;if(!this.uploadCollection.read(e.uid)||e.getValue("fileInfo")||e.getValue("isUploading")||e.getValue("errors").length>0||e.getValue("isValidationPending"))return;let i=this.cfg.multiple?this.cfg.multipleMax:1;if(!(i&&this.uploadCollection.size>i)){e.setMultipleValues({isUploading:!0,errors:[],isQueuedForUploading:!0}),this._debouncedCalculateState();try{let d=new AbortController;e.setValue("abortController",d);let p=async()=>{var E,C;e.setValue("isQueuedForUploading",!1);let m=e.getValue("file");m&&this.cfg.imageShrink&&(m=await this._processShrink(m).catch(()=>m));let b=m||e.getValue("externalUrl")||e.getValue("uuid");if(!b)throw new Error("No file input");let v={...await this.getUploadClientOptions(),fileName:(E=e.getValue("fileName"))!=null?E:void 0,source:(C=e.getValue("source"))!=null?C:void 0,onProgress:P=>{if(P.isComputable){let X=P.value*100;e.setValue("uploadProgress",X)}},signal:d.signal,metadata:await this.getMetadataFor(e.uid)};return this.debugPrint("upload options",b,v),Cr(b,v)},f=await this.$["*uploadQueue"].add(p);e.setMultipleValues({fileInfo:f,isQueuedForUploading:!1,isUploading:!1,fileName:f.originalFilename,fileSize:f.size,isImage:(s=f.isImage)!=null?s:!1,mimeType:(a=(n=(o=f.contentInfo)==null?void 0:o.mime)==null?void 0:n.mime)!=null?a:f.mimeType,uuid:f.uuid,cdnUrl:(l=e.getValue("cdnUrl"))!=null?l:f.cdnUrl,cdnUrlModifiers:(c=e.getValue("cdnUrlModifiers"))!=null?c:"",uploadProgress:100,source:(h=e.getValue("source"))!=null?h:null}),e===this._entry&&this._debouncedCalculateState()}catch(d){this.telemetryManager.sendEventError(d,"file upload. Failed to upload file"),d instanceof ke&&d.isCancel?e.setMultipleValues({isUploading:!1,uploadProgress:0}):d instanceof Ne?e.setMultipleValues({isUploading:!1,uploadProgress:0,uploadError:d}):(console.error("Unknown upload error",d),e.setMultipleValues({isUploading:!1,uploadProgress:0,uploadError:new Error("Something went wrong",{cause:d})})),e===this._entry&&this._debouncedCalculateState()}}}));this.init$={...this.init$,uid:"",itemName:"",errorText:"",hint:"",thumbUrl:"",progressValue:0,progressVisible:!1,badgeIcon:"",isFinished:!1,isFailed:!1,isUploading:!1,isFocused:!1,isEditable:!1,showFileNames:!1,state:V.IDLE,ariaLabelStatusFile:"",onEdit:this._withEntry(e=>{this.telemetryManager.sendEvent({payload:{metadata:{event:"edit-file",node:this.tagName}}}),this.$["*currentActivityParams"]={internalId:e.uid},this.modalManager.open(g.activities.CLOUD_IMG_EDIT),this.$["*currentActivity"]=g.activities.CLOUD_IMG_EDIT}),onRemove:()=>{this.telemetryManager.sendEvent({payload:{metadata:{event:"remove-file",node:this.tagName}}}),this.uploadCollection.remove(this.$.uid)},onUpload:()=>{this.upload()}}}_reset(){super._reset(),this._debouncedCalculateState.cancel()}_observerCallback(e){let[i]=e;this._isIntersecting=i.isIntersecting,this._thumbRect=i.boundingClientRect,i.isIntersecting&&!this._renderedOnce&&(this.render(),this._renderedOnce=!0)}_handleEntryId(e){var s;this._reset();let i=(s=this.uploadCollection)==null?void 0:s.read(e);this._entry=i,i&&(this._subEntry("isQueuedForValidation",()=>{this._debouncedCalculateState()}),this._subEntry("isValidationPending",()=>{this._debouncedCalculateState()}),this._subEntry("uploadProgress",()=>{this._debouncedCalculateState()}),this._subEntry("isQueuedForUploading",()=>{this._debouncedCalculateState()}),this._subEntry("fileName",o=>{this.$.itemName=o||i.getValue("externalUrl")||this.l10n("file-no-name"),this._debouncedCalculateState()}),this._subEntry("externalUrl",o=>{this.$.itemName=i.getValue("fileName")||o||this.l10n("file-no-name")}),this._subEntry("fileInfo",()=>{this._debouncedCalculateState()}),this._subEntry("errors",()=>this._debouncedCalculateState()),this._subEntry("isUploading",()=>this._debouncedCalculateState()),this._subEntry("fileSize",()=>this._debouncedCalculateState()),this._subEntry("mimeType",()=>this._debouncedCalculateState()),this._subEntry("isImage",()=>this._debouncedCalculateState()))}_updateShowFileNames(e){if(this.cfg.filesViewMode==="list"){this.$.showFileNames=!0;return}this.$.showFileNames=e}initCallback(){super.initCallback(),this.sub("uid",e=>{this._handleEntryId(e)}),this.sub("state",e=>{this._handleState(e)}),this.subConfigValue("useCloudImageEditor",()=>this._debouncedCalculateState()),this.subConfigValue("filesViewMode",e=>{this._updateShowFileNames(this.cfg.gridShowFileNames),this.setAttribute("mode",e)}),this.subConfigValue("gridShowFileNames",e=>{this._updateShowFileNames(e)}),this.onclick=()=>{r.activeInstances.forEach(e=>{e===this?e.setAttribute("focused",""):e.removeAttribute("focused")})},this.sub("*uploadTrigger",e=>{this._entry&&!e.has(this._entry.uid)||setTimeout(()=>this.isConnected&&this.upload())}),r.activeInstances.add(this)}destroyCallback(){super.destroyCallback(),r.activeInstances.delete(this),this._reset()}connectedCallback(){super.connectedCallback(),this._observer=new window.IntersectionObserver(this._observerCallback.bind(this),{threshold:[0,1]}),this._observer.observe(this)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this._observer)==null||e.disconnect()}_settingsOfShrink(){return un(this.cfg.imageShrink)}_processShrink(e){return cn(e,this._settingsOfShrink())}};Lt.template=`<div class="uc-inner" set="@finished: isFinished; @uploading: isUploading; @failed: isFailed; @focused: isFocused"><uc-thumb set="uid:uid;badgeIcon:badgeIcon"></uc-thumb><div aria-atomic="true" aria-live="polite" class="uc-file-name-wrapper" set="@aria-label:ariaLabelStatusFile;"><span class="uc-file-name" set="@hidden: !showFileNames">{{itemName}}</span><span class="uc-file-error" set="@hidden: !errorText;">{{errorText}}</span><span class="uc-file-hint" set="@hidden: !hint">{{hint}}</span></div><div class="uc-file-actions"><button type="button" l10n="@title:file-item-edit-button;@aria-label:file-item-edit-button" class="uc-edit-btn uc-mini-btn" set="onclick: onEdit; @hidden: !isEditable" ><uc-icon name="edit-file"></uc-icon></button><button type="button" l10n="@title:file-item-remove-button;@aria-label:file-item-remove-button" class="uc-remove-btn uc-mini-btn" set="onclick: onRemove;" ><uc-icon name="remove-file"></uc-icon></button><button type="button" class="uc-upload-btn uc-mini-btn" set="onclick: onUpload;"><uc-icon name="upload"></uc-icon></button></div><uc-progress-bar class="uc-progress-bar" set="value: progressValue; visible: progressVisible; @hasFileName: showFileNames;" ></uc-progress-bar></div>`;Lt.activeInstances=new Set;var ss=null,nt=class nt extends y{constructor(){super();u(this,"_handleBackdropClick",()=>{this._closeDialog()});u(this,"_closeDialog",()=>{var e;(e=this.modalManager)==null||e.close(this.id),this.modalManager.hasActiveModals||(document.body.style.overflow="")});u(this,"_handleDialogClose",()=>{this._closeDialog()});u(this,"_handleDialogMouseDown",e=>{this._mouseDownTarget=e.target});u(this,"_handleDialogMouseUp",e=>{e.target===this.ref.dialog&&e.target===this._mouseDownTarget&&this._closeDialog()});this.init$={...this.init$,closeClicked:this._handleDialogClose}}show(){this.ref.dialog.showModal?(this.setAttribute("aria-modal","true"),this.ref.dialog.showModal()):this.ref.dialog.setAttribute("open",""),this.cfg.modalScrollLock&&(document.body.style.overflow="hidden")}hide(){this.ref.dialog.close?(this.setAttribute("aria-modal","false"),this.ref.dialog.close()):this.ref.dialog.removeAttribute("open")}_handleModalOpen({id:e}){e===this.id?(ss=e,this.show(),this.emit(w.MODAL_OPEN,{modalId:e},{debounce:!0})):this.hide()}_handleModalClose({id:e}){e===this.id&&(this.hide(),this.emit(w.MODAL_CLOSE,{modalId:e,hasActiveModals:this.modalManager.hasActiveModals},{debounce:!0}))}_handleModalCloseAll(){this.hide(),ss===this.id&&this.emit(w.MODAL_CLOSE,{modalId:ss,hasActiveModals:this.modalManager.hasActiveModals},{debounce:!0})}initCallback(){var e;super.initCallback(),(e=this.modalManager)==null||e.registerModal(this.id,this),this.ref.dialog.addEventListener("close",this._handleDialogClose),this.ref.dialog.addEventListener("mousedown",this._handleDialogMouseDown),this.ref.dialog.addEventListener("mouseup",this._handleDialogMouseUp),this.subConfigValue("modalBackdropStrokes",i=>{i?this.setAttribute("strokes",""):this.removeAttribute("strokes")}),this.handleModalOpen=this._handleModalOpen.bind(this),this.handleModalClose=this._handleModalClose.bind(this),this.handleModalCloseAll=this._handleModalCloseAll.bind(this),this.modalManager.subscribe(F.OPEN,this.handleModalOpen),this.modalManager.subscribe(F.CLOSE,this.handleModalClose),this.modalManager.subscribe(F.CLOSE_ALL,this.handleModalCloseAll)}destroyCallback(){super.destroyCallback(),document.body.style.overflow="",this._mouseDownTarget=void 0,this.ref.dialog.removeEventListener("close",this._handleDialogClose),this.ref.dialog.removeEventListener("mousedown",this._handleDialogMouseDown),this.ref.dialog.removeEventListener("mouseup",this._handleDialogMouseUp),this.modalManager.unsubscribe(F.OPEN,this.handleModalOpen),this.modalManager.unsubscribe(F.CLOSE,this.handleModalClose),this.modalManager.unsubscribe(F.CLOSE_ALL,this.handleModalCloseAll)}};u(nt,"styleAttrs",[...Z(nt,nt,"styleAttrs"),"uc-modal"]),u(nt,"StateConsumerScope","modal");var $i=nt;$i.template=`<dialog ref="dialog"><slot></slot></dialog>`;var Mi=class extends k{constructor(){super();u(this,"couldBeCtxOwner",!0);u(this,"historyTracked",!0);u(this,"activityType",g.activities.UPLOAD_LIST);u(this,"_throttledHandleCollectionUpdate",st(()=>{this.isConnected&&(this._updateUploadsState(),!this.couldOpenActivity&&this.$["*currentActivity"]===this.activityType&&this.historyBack(),this.cfg.confirmUpload||this.api.uploadAll())},300));this.init$={...this.init$,doneBtnVisible:!1,doneBtnEnabled:!1,uploadBtnVisible:!1,addMoreBtnVisible:!1,addMoreBtnEnabled:!1,headerText:"",commonErrorMessage:"",hasFiles:!1,onAdd:()=>{this.api.initFlow(!0)},onUpload:()=>{this.emit(w.UPLOAD_CLICK),this.api.uploadAll(),this._throttledHandleCollectionUpdate()},onDone:()=>{this.emit(w.DONE_CLICK,this.api.getOutputCollectionState()),this.api.doneFlow()},onCancel:()=>{this.uploadCollection.clearAll()}}}_updateUploadsState(){let e=this.api.getOutputCollectionState(),i={total:e.totalCount,succeed:e.successCount,uploading:e.uploadingCount,failed:e.failedCount,validatingBeforeUploading:e.idleEntries.filter(f=>f.isValidationPending).length},s=!e.errors.some(f=>f.type==="TOO_MANY_FILES"||f.type==="TOO_FEW_FILES"),o=e.errors.some(f=>f.type==="TOO_MANY_FILES"),n=e.totalCount===(this.cfg.multiple?this.cfg.multipleMax:1),a=e.allEntries.some(f=>f.isValidationPending),l=i.failed===0&&e.errors.length===0&&!a,c=!1,h=!1,d=!1;if(i.total-i.succeed-i.uploading-i.failed>0&&s&&l)c=!0;else{h=!0;let f=this.cfg.groupOutput?!!e.group:!0;d=i.total===i.succeed&&s&&l&&f}this.set$({doneBtnVisible:h,doneBtnEnabled:d,uploadBtnVisible:c,addMoreBtnEnabled:i.total===0||!o&&!n,addMoreBtnVisible:!n||this.cfg.multiple,hasFiles:i.total>0}),this.bindL10n("headerText",()=>this._getHeaderText(i))}_getHeaderText(e){let i=s=>{let o=e[s];return s==="uploading"&&(o+=e.validatingBeforeUploading),this.l10n(`header-${s}`,{count:o})};return e.uploading>0||e.validatingBeforeUploading>0?i("uploading"):e.failed>0?i("failed"):e.succeed>0?i("succeed"):i("total")}get couldOpenActivity(){return this.cfg.showEmptyList||this.uploadCollection.size>0}initCallback(){super.initCallback(),this.registerActivity(this.activityType),this.subConfigValue("multiple",this._throttledHandleCollectionUpdate),this.subConfigValue("multipleMin",this._throttledHandleCollectionUpdate),this.subConfigValue("multipleMax",this._throttledHandleCollectionUpdate),this.sub("*groupInfo",e=>{e&&this._throttledHandleCollectionUpdate()}),this.subConfigValue("filesViewMode",e=>{this.setAttribute("mode",e)}),this.sub("*currentActivity",e=>{!this.couldOpenActivity&&e===this.activityType&&(this.$["*currentActivity"]=this.initActivity)}),this.uploadCollection.observeProperties(this._throttledHandleCollectionUpdate),this.uploadCollection.observeCollection(this._throttledHandleCollectionUpdate),this.sub("*collectionErrors",e=>{let i=e.filter(s=>s.type!=="SOME_FILES_HAS_ERRORS")[0];if(!i){this.set$({commonErrorMessage:null});return}this.set$({commonErrorMessage:i.message})})}destroyCallback(){super.destroyCallback(),this.uploadCollection.unobserveProperties(this._throttledHandleCollectionUpdate),this.uploadCollection.unobserveCollection(this._throttledHandleCollectionUpdate)}};Mi.template=`<uc-activity-header><span aria-live="polite" class="uc-header-text">{{headerText}}</span><button type="button" class="uc-mini-btn uc-close-btn" set="onclick: *closeModal" l10n="@title:a11y-activity-header-button-close;@aria-label:a11y-activity-header-button-close" ><uc-icon name="close"></uc-icon></button></uc-activity-header><div class="uc-no-files" set="@hidden: hasFiles"><slot name="empty"><span l10n="no-files"></span></slot></div><div class="uc-files"><div class="uc-files-wrapper" repeat="*uploadList" repeat-item-tag="uc-file-item"></div><button type="button" class="uc-add-more-btn uc-secondary-btn" set="onclick: onAdd; @disabled: !addMoreBtnEnabled; @hidden: !addMoreBtnVisible" ><uc-icon name="add"></uc-icon><span l10n="add-more"></span></button></div><div class="uc-common-error" set="@hidden: !commonErrorMessage; textContent: commonErrorMessage;"></div><div class="uc-toolbar"><button type="button" class="uc-cancel-btn uc-secondary-btn" set="onclick: onCancel;" l10n="clear"></button><div class="uc-toolbar-spacer"></div><button type="button" class="uc-add-more-btn uc-secondary-btn" set="onclick: onAdd; @disabled: !addMoreBtnEnabled; @hidden: !addMoreBtnVisible" ><uc-icon name="add"></uc-icon><span l10n="add-more"></span></button><button type="button" class="uc-upload-btn uc-primary-btn" set="@hidden: !uploadBtnVisible; onclick: onUpload;" l10n="upload" ></button><button type="button" class="uc-done-btn uc-primary-btn" set="@hidden: !doneBtnVisible; onclick: onDone; @disabled: !doneBtnEnabled" l10n="done" ></button></div><uc-drop-area ghost></uc-drop-area>`;var Li=class extends k{constructor(){super(...arguments);u(this,"couldBeCtxOwner",!0);u(this,"activityType",g.activities.URL);u(this,"init$",{...this.init$,importDisabled:!0,onUpload:e=>{e.preventDefault();let i=this.ref.input.value;this.api.addFileFromUrl(i,{source:U.URL}),this.modalManager.open(g.activities.UPLOAD_LIST),this.$["*currentActivity"]=g.activities.UPLOAD_LIST},onCancel:()=>{this.historyBack()},onInput:e=>{let i=e.target.value;this.set$({importDisabled:!i})}})}initCallback(){super.initCallback(),this.registerActivity(this.activityType,{onActivate:()=>{this.ref.input.value="",this.ref.input.focus()}})}};Li.template=`<uc-activity-header><button type="button" class="uc-mini-btn" set="onclick: *historyBack" l10n="@title:back;@aria-label:back"><uc-icon name="back"></uc-icon></button><div><uc-icon name="url"></uc-icon><span l10n="caption-from-url"></span></div><button type="button" class="uc-mini-btn uc-close-btn" set="onclick: *closeModal" l10n="@title:a11y-activity-header-button-close;@aria-label:a11y-activity-header-button-close" ><uc-icon name="close"></uc-icon></button></uc-activity-header><form class="uc-content"><label><input placeholder="https://" class="uc-url-input" type="text" ref="input" set="oninput: onInput" /></label><button type="submit" class="uc-url-upload-btn uc-primary-btn" set="onclick: onUpload; @disabled: importDisabled" l10n="upload-url" ></button></form>`;var dn=()=>typeof navigator.permissions!="undefined";var Ec={width:{ideal:1920},height:{ideal:1080},frameRate:{ideal:30}},hn=["camera","microphone"];function Ui(r){let t=Math.floor(r/60).toString().padStart(2,"0"),e=Math.floor(r%60).toString().padStart(2,"0");return`${t}:${e}`}var pn="image/jpeg",fn="video/webm",Pi=class extends k{constructor(){super();u(this,"couldBeCtxOwner",!0);u(this,"activityType",g.activities.CAMERA);u(this,"_unsubPermissions",null);u(this,"_chunks",[]);u(this,"_mediaRecorder",null);u(this,"_stream",null);u(this,"_selectedAudioId",null);u(this,"_selectedCameraId",null);u(this,"_chooseActionWithCamera",()=>{var e;if(this._activeTab===S.PHOTO&&this._shot(),this._activeTab===S.VIDEO){if(((e=this._mediaRecorder)==null?void 0:e.state)==="recording"){this._stopRecording();return}this._startRecording()}});u(this,"_updateTimer",()=>{let e=Math.floor((performance.now()-this.$._startTime+this.$._elapsedTime)/1e3);if(typeof this.cfg.maxVideoRecordingDuration=="number"&&this.cfg.maxVideoRecordingDuration>0){let i=this.cfg.maxVideoRecordingDuration-e;if(i<=0){this.ref.timer.textContent=Ui(i),this._stopRecording();return}this.ref.timer.textContent=Ui(i)}else this.ref.timer.textContent=Ui(e);this._animationFrameId=requestAnimationFrame(this._updateTimer)});u(this,"_startTimer",()=>{this.$._startTime=performance.now(),this.$._elapsedTime=0,this._updateTimer()});u(this,"_stopTimer",()=>{this._animationFrameId&&cancelAnimationFrame(this._animationFrameId)});u(this,"_startTimeline",()=>{let e=this.ref.video.currentTime,i=this.ref.video.duration;this.ref.line.style.transform=`scaleX(${e/i})`,this.ref.timer.textContent=Ui(e),this._animationFrameId=requestAnimationFrame(this._startTimeline)});u(this,"_stopTimeline",()=>{this._animationFrameId&&cancelAnimationFrame(this._animationFrameId)});u(this,"_startRecording",()=>{try{this._chunks=[],this._options={...this.cfg.mediaRecorderOptions};let{mimeType:e}=this.cfg.mediaRecorderOptions||{};e&&MediaRecorder.isTypeSupported(e)?this._options.mimeType=e:MediaRecorder.isTypeSupported(fn)?this._options.mimeType=fn:this._options.mimeType="video/mp4",this._stream&&(this._mediaRecorder=new MediaRecorder(this._stream,this._options),this._mediaRecorder.start(),this._mediaRecorder.addEventListener("dataavailable",i=>{this._chunks.push(i.data)}),this._startTimer(),this.classList.add("uc-recording"),this._setCameraState(ie.PLAY))}catch(e){console.error("Failed to start recording",e),this.telemetryManager.sendEventError(e,"camera recording. Failed to start recording")}});u(this,"_stopRecording",()=>{var e,i;(e=this._mediaRecorder)==null||e.addEventListener("stop",()=>{this._previewVideo(),this._stopTimer(),this._setCameraState(ie.STOP)}),(i=this._mediaRecorder)==null||i.stop(),this.classList.remove("uc-recording")});u(this,"_toggleRecording",()=>{var e;((e=this._mediaRecorder)==null?void 0:e.state)!=="recording"&&(!this.ref.video.paused&&!this.ref.video.ended&&this.ref.video.readyState>2?this.ref.video.pause():this.ref.video.paused&&this.ref.video.play())});u(this,"_toggleEnableAudio",()=>{var e;(e=this._stream)==null||e.getAudioTracks().forEach(i=>{i.enabled=!i.enabled,this.$.toggleMicrophoneIcon=i.enabled?"microphone":"microphone-mute",this.$.audioSelectDisabled=!i.enabled})});u(this,"_previewVideo",()=>{var e;try{let i=new Blob(this._chunks,{type:(e=this._mediaRecorder)==null?void 0:e.mimeType}),s=URL.createObjectURL(i);this.ref.video.muted=!1,this.ref.video.volume=1,this.$.video=null,this.ref.video.src=s,this.ref.video.addEventListener("play",()=>{this._startTimeline(),this.set$({currentTimelineIcon:"pause"})}),this.ref.video.addEventListener("pause",()=>{this.set$({currentTimelineIcon:"play"}),this._stopTimeline()})}catch(i){console.error("Failed to preview video",i),this.telemetryManager.sendEventError(i,"camera previewing. Failed to preview video")}});u(this,"_retake",()=>{this._setCameraState(ie.RETAKE),this._activeTab===S.VIDEO&&(this.$.video=this._stream,this.ref.video.muted=!0),this.ref.video.play()});u(this,"_accept",()=>{var o,n,a;if(this._setCameraState(ie.ACCEPT),this._activeTab===S.PHOTO){(o=this._canvas)==null||o.toBlob(l=>{let c=this._createFile("camera","jpeg",pn,l);this._toSend(c)},pn);return}let e=new Blob(this._chunks,{type:(n=this._mediaRecorder)==null?void 0:n.mimeType}),i=this._guessExtensionByMime((a=this._mediaRecorder)==null?void 0:a.mimeType),s=this._createFile("video",i,`video/${i}`,e);this._toSend(s),this._chunks=[]});u(this,"_handlePhoto",e=>{e===ie.SHOT&&this.set$({tabVideoHidden:!0,cameraHidden:!0,tabCameraHidden:!0,cameraActionsHidden:!1,cameraSelectHidden:!0}),(e===ie.RETAKE||e===ie.ACCEPT)&&this.set$({tabVideoHidden:!this._cameraModes.includes(S.VIDEO),tabCameraHidden:!this._cameraModes.includes(S.PHOTO),cameraHidden:!1,cameraActionsHidden:!0,cameraSelectHidden:this._cameraDevices.length<=1})});u(this,"_handleVideo",e=>{e===ie.PLAY&&this.set$({timerHidden:!1,tabCameraHidden:!0,cameraSelectHidden:!0,audioSelectHidden:!0,currentTimelineIcon:"pause",currentIcon:"square",mutableClassButton:"uc-shot-btn uc-camera-action uc-stop-record"}),e===ie.STOP&&this.set$({timerHidden:!1,cameraHidden:!0,audioToggleMicrophoneHidden:!0,cameraActionsHidden:!1}),(e===ie.RETAKE||e===ie.ACCEPT)&&this.set$({timerHidden:!0,tabVideoHidden:!this._cameraModes.includes(S.VIDEO),tabCameraHidden:!this._cameraModes.includes(S.PHOTO),cameraHidden:!1,cameraActionsHidden:!0,audioToggleMicrophoneHidden:!this.cfg.enableAudioRecording,currentIcon:"video-camera-full",mutableClassButton:"uc-shot-btn uc-camera-action",audioSelectHidden:!this.cfg.enableAudioRecording||this._audioDevices.length<=1,cameraSelectHidden:this._cameraDevices.length<=1})});u(this,"_setCameraState",e=>{this._activeTab===S.PHOTO&&(e==="shot"||e==="retake"||e==="accept")&&this._handlePhoto(e),this._activeTab===S.VIDEO&&(e==="play"||e==="stop"||e==="retake"||e==="accept"||e==="pause"||e==="resume")&&this._handleVideo(e)});u(this,"_handleActiveTab",e=>{this.ref.switcher.querySelectorAll("button").forEach(i=>{i.classList.toggle("uc-active",i.getAttribute("data-id")===e)}),e===S.PHOTO&&this.set$({currentIcon:"camera-full",audioSelectHidden:!0,audioToggleMicrophoneHidden:!0}),e===S.VIDEO&&this.set$({currentTimelineIcon:"play",currentIcon:"video-camera-full",audioSelectHidden:!this.cfg.enableAudioRecording||this._audioDevices.length<=1,audioToggleMicrophoneHidden:!this.cfg.enableAudioRecording}),this._activeTab=e});u(this,"_createFile",(e,i,s,o)=>{let n=Date.now(),a=`${e}-${n}.${i}`;return new File([o],a,{lastModified:n,type:s})});u(this,"_toSend",e=>{this.api.addFileFromObject(e,{source:U.CAMERA}),this.set$({"*currentActivity":g.activities.UPLOAD_LIST}),this.modalManager.open(g.activities.UPLOAD_LIST)});u(this,"_setPermissionsState",$(e=>{this.classList.toggle("uc-initialized",e==="granted");let i=this._activeTab===S.VIDEO&&this.cfg.enableAudioRecording,s=this._activeTab===S.PHOTO?"camera-full":"video-camera-full";e==="granted"?this.set$({videoHidden:!1,cameraHidden:!1,tabCameraHidden:!this._cameraModes.includes(S.PHOTO),tabVideoHidden:!this._cameraModes.includes(S.VIDEO),messageHidden:!0,timerHidden:!0,currentIcon:s,audioToggleMicrophoneHidden:!i,audioSelectHidden:!i}):e==="prompt"?(this.$.l10nMessage="camera-permissions-prompt",this.set$({videoHidden:!0,cameraHidden:!0,tabCameraHidden:!0,messageHidden:!1}),this._stopCapture()):(this.$.l10nMessage="camera-permissions-denied",this.set$({videoHidden:!0,messageHidden:!1,tabCameraHidden:!this._cameraModes.includes(S.PHOTO),tabVideoHidden:!this._cameraModes.includes(S.VIDEO),cameraActionsHidden:!0,mutableClassButton:"uc-shot-btn uc-camera-action"}),this._stopCapture())},300));u(this,"_makeStreamInactive",()=>{var s,o;if(!this._stream)return!1;let e=(s=this._stream)==null?void 0:s.getAudioTracks(),i=(o=this._stream)==null?void 0:o.getVideoTracks();e.forEach(n=>n.stop()),i.forEach(n=>n.stop())});u(this,"_stopCapture",()=>{var e;this._capturing&&(this.ref.video.volume=0,(e=this.$.video)==null||e.getTracks()[0].stop(),this.$.video=null,this._makeStreamInactive(),this._stopTimer(),this._capturing=!1)});u(this,"_capture",async()=>{let e={video:Ec,audio:this.cfg.enableAudioRecording?{}:!1};this._selectedCameraId&&(e.video={deviceId:{exact:this._selectedCameraId}}),this._selectedAudioId&&this.cfg.enableAudioRecording&&(e.audio={deviceId:{exact:this._selectedAudioId}}),this.ref.video.volume=0;try{this._setPermissionsState("prompt"),this._stream=await navigator.mediaDevices.getUserMedia(e),this._stream.addEventListener("inactive",()=>{this._setPermissionsState("denied")}),this.$.video=this._stream,this._capturing=!0,this._setPermissionsState("granted")}catch(i){this._setPermissionsState("denied"),console.log("Failed to capture camera",i),this.telemetryManager.sendEventError(i,"camera capturing. Failed to capture camera")}});u(this,"_handlePermissionsChange",()=>{this._capture()});u(this,"_permissionAccess",async()=>{try{for(let e of hn)this[`${e}Response`]=await navigator.permissions.query({name:e}),this[`${e}Response`].addEventListener("change",this._handlePermissionsChange)}catch(e){console.log("Failed to use permissions API. Fallback to manual request mode.",e),this.telemetryManager.sendEventError(e,"camera permissions. Failed to use permissions API"),this._capture()}});u(this,"_getPermission",()=>{});u(this,"_requestDeviceAccess",async()=>{try{await navigator.mediaDevices.getUserMedia({video:!0,audio:this.cfg.enableAudioRecording}),await this._getDevices(),navigator.mediaDevices.addEventListener("devicechange",this._getDevices)}catch(e){this.telemetryManager.sendEventError(e,"camera devices. Failed to get user media"),console.log("Failed to get user media",e)}});u(this,"_getDevices",async()=>{var e,i;try{let s=await navigator.mediaDevices.enumerateDevices();this._cameraDevices=s.filter(o=>o.kind==="videoinput").map((o,n)=>({text:o.label.trim()||`${this.l10n("caption-camera")} ${n+1}`,value:o.deviceId})),this._audioDevices=this.cfg.enableAudioRecording&&s.filter(o=>o.kind==="audioinput").map(o=>({text:o.label.trim(),value:o.deviceId})),this._cameraDevices.length>1&&this.set$({cameraSelectOptions:this._cameraDevices,cameraSelectHidden:!1}),this._selectedCameraId=(e=this._cameraDevices[0])==null?void 0:e.value,this._audioDevices.length>1&&this.set$({audioSelectOptions:this._audioDevices,audioSelectHidden:!1}),this._selectedAudioId=(i=this._audioDevices[0])==null?void 0:i.value}catch(s){this.telemetryManager.sendEventError(s,"camera devices. Failed to get devices"),console.log("Failed to get devices",s)}});u(this,"_onActivate",async()=>{await this._permissionAccess(),await this._requestDeviceAccess(),await this._capture(),this._handleCameraModes(this._cameraModes)});u(this,"_onDeactivate",async()=>{this._unsubPermissions&&this._unsubPermissions(),!!window.chrome||this._setPermissionsState("denied"),this._stopCapture()});u(this,"_handleCameraModes",e=>{this.$.tabVideoHidden=!e.includes(S.VIDEO),this.$.tabCameraHidden=!e.includes(S.PHOTO);let i=e[0];(!this._activeTab||!e.includes(this._activeTab))&&this._handleActiveTab(i)});this.init$={...this.init$,video:null,videoTransformCss:null,videoHidden:!0,messageHidden:!0,requestBtnHidden:dn(),cameraSelectOptions:null,cameraSelectHidden:!0,l10nMessage:"",switcher:null,panels:null,timer:null,timerHidden:!0,cameraHidden:!0,cameraActionsHidden:!0,audioSelectOptions:null,audioSelectHidden:!0,audioSelectDisabled:!0,audioToggleMicrophoneHidden:!0,tabCameraHidden:!0,tabVideoHidden:!0,currentIcon:"camera-full",currentTimelineIcon:"play",toggleMicrophoneIcon:"microphone",_startTime:0,_elapsedTime:0,_animationFrameId:null,mutableClassButton:"uc-shot-btn uc-camera-action",onCameraSelectChange:e=>{this._selectedCameraId=e.target.value,this._capture()},onAudioSelectChange:e=>{this._selectedAudioId=e.target.value,this._capture()},onCancel:()=>{this.historyBack()},onShot:()=>this._shot(),onRequestPermissions:()=>this._capture(),onStartCamera:()=>this._chooseActionWithCamera(),onStartRecording:()=>this._startRecording(),onStopRecording:()=>this._stopRecording(),onToggleRecording:()=>this._toggleRecording(),onToggleAudio:()=>this._toggleEnableAudio(),onRetake:()=>this._retake(),onAccept:()=>this._accept(),onClickTab:e=>{let i=e.currentTarget.getAttribute("data-id");i&&this._handleActiveTab(i)}}}_shot(){if(this._setCameraState("shot"),this._canvas=document.createElement("canvas"),this._ctx=this._canvas.getContext("2d"),!this._ctx)throw new Error("Failed to get canvas context");this._canvas.height=this.ref.video.videoHeight,this._canvas.width=this.ref.video.videoWidth,this.cfg.cameraMirror&&(this._ctx.translate(this._canvas.width,0),this._ctx.scale(-1,1)),this._ctx.drawImage(this.ref.video,0,0),this.ref.video.pause()}_guessExtensionByMime(e){let i={mp4:"mp4",ogg:"ogg",webm:"webm",quicktime:"mov","x-matroska":"mkv"};if(e==="")return"webm";if(e&&(e=e.split("/"),(e==null?void 0:e[0])==="video")){e=e.slice(1).join("/");let s=e==null?void 0:e.split(";")[0];if(i[s])return i[s]}return"avi"}get _cameraModes(){return D(this.cfg.cameraModes)}initCallback(){super.initCallback(),this.registerActivity(this.activityType,{onActivate:this._onActivate,onDeactivate:this._onDeactivate}),this.subConfigValue("cameraMirror",e=>{this.$.videoTransformCss=e?"scaleX(-1)":null}),this.subConfigValue("enableAudioRecording",e=>{this.$.audioToggleMicrophoneHidden=!e,this.$.audioSelectDisabled=!e}),this.subConfigValue("cameraModes",e=>{if(!this.isActivityActive)return;let i=Q(e);this._handleCameraModes(i)})}_destroy(){var e,i;for(let s of hn)(e=this[`${s}Response`])==null||e.removeEventListener("change",this._handlePermissionsChange);(i=navigator.mediaDevices)==null||i.removeEventListener("devicechange",this._getDevices)}async destroyCallback(){super.destroyCallback(),this._destroy()}};Pi.template=`<uc-activity-header><button type="button" class="uc-mini-btn" set="onclick: *historyBack" l10n="@title:back"><uc-icon name="back"></uc-icon></button><div set="@hidden: !cameraSelectHidden"><uc-icon name="camera"></uc-icon><span l10n="caption-camera"></span></div><uc-select class="uc-camera-select" set="$.options: cameraSelectOptions; @hidden: cameraSelectHidden; onchange: onCameraSelectChange" ></uc-select><button type="button" class="uc-mini-btn uc-close-btn" set="onclick: *closeModal" l10n="@title:a11y-activity-header-button-close;@aria-label:a11y-activity-header-button-close" ><uc-icon name="close"></uc-icon></button></uc-activity-header><div class="uc-content"><video muted autoplay playsinline set="srcObject: video; style.transform: videoTransformCss; @hidden: videoHidden" ref="video" ></video><div class="uc-message-box" set="@hidden: messageHidden"><span l10n="l10nMessage"></span><button type="button" set="onclick: onRequestPermissions; @hidden: requestBtnHidden" l10n="camera-permissions-request" ></button></div></div><div class="uc-controls"><div ref="switcher" class="uc-switcher" set="@hidden:!timerHidden"><button data-id="photo" type="button" class="uc-switch uc-mini-btn" set="onclick: onClickTab; @hidden: tabCameraHidden" ><uc-icon name="camera"></uc-icon></button><button data-id="video" type="button" class="uc-switch uc-mini-btn" set="onclick: onClickTab; @hidden: tabVideoHidden" ><uc-icon name="video-camera"></uc-icon></button></div><button class="uc-secondary-btn uc-recording-timer" set="@hidden:timerHidden; onclick: onToggleRecording"><uc-icon set="@name: currentTimelineIcon"></uc-icon><span ref="timer"> 00:00 </span><span ref="line" class="uc-line"></span></button><div class="uc-camera-actions uc-camera-action" set="@hidden: cameraActionsHidden"><button type="button" class="uc-secondary-btn" set="onclick: onRetake">Retake</button><button type="button" class="uc-primary-btn" set="onclick: onAccept" data-testid="accept">Accept</button></div><button type="button" class="uc-shot-btn uc-camera-action" data-testid="shot" set="onclick: onStartCamera; @class: mutableClassButton; @hidden: cameraHidden;" ><uc-icon set="@name: currentIcon"></uc-icon></button><div class="uc-select"><button class="uc-mini-btn uc-btn-microphone" set="onclick: onToggleAudio; @hidden: audioToggleMicrophoneHidden;"><uc-icon set="@name:toggleMicrophoneIcon"></uc-icon></button><uc-select class="uc-audio-select" set="$.options: audioSelectOptions; onchange: onAudioSelectChange; @hidden: audioSelectHidden; @disabled: audioSelectDisabled" ></uc-select></div></div>`;var Ut=class extends k{constructor(){super(...arguments);u(this,"requireCtxName",!0)}initCallback(){super.initCallback(),this.$["*eventEmitter"].bindTarget(this)}destroyCallback(){super.destroyCallback(),this.$["*eventEmitter"].unbindTarget(this)}};u(Ut,"styleAttrs",["uc-wgt-common"]);Ut.EventType=w;var Ac=Ut;var Ri=class extends k{constructor(){super(...arguments);u(this,"init$",{...this.init$,visible:!1,value:0,"*commonProgress":0})}initCallback(){super.initCallback(),this._unobserveCollection=this.uploadCollection.observeProperties(()=>{let e=this.uploadCollection.items().some(i=>this.uploadCollection.read(i).getValue("isUploading"));this.$.visible=e}),this.sub("visible",e=>{e?this.setAttribute("active",""):this.removeAttribute("active")}),this.sub("*commonProgress",e=>{this.$.value=e})}destroyCallback(){var e;super.destroyCallback(),(e=this._unobserveCollection)==null||e.call(this)}};Ri.template='<uc-progress-bar set="visible: visible; value: value"></uc-progress-bar>';var Di=class extends y{constructor(){super();u(this,"_value",0);u(this,"_prevValue",0);u(this,"_visible",!0);this.init$={...this.init$,width:0,opacity:0}}initCallback(){super.initCallback();let e=()=>{let i=this.ref.fakeProgressLine;if(!this._visible){i.classList.add("uc-fake-progress--hidden");return}this._value>0&&i.classList.add("uc-fake-progress--hidden")};this.ref.fakeProgressLine.addEventListener("animationiteration",e),this.defineAccessor("value",i=>{i!=null&&(this._prevValue=this._value,this._value=i,this._visible&&this.style.setProperty("--l-progress-value",this._value.toString()))}),this.defineAccessor("visible",i=>{this._visible=i,this.classList.toggle("uc-progress-bar--hidden",!i)})}};Di.template=`<div ref="fakeProgressLine" class="uc-fake-progress"></div><div ref="realProgressLine" class="uc-progress"></div>`;var pe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=";function mn(...r){return r.reduce((t,e)=>{if(typeof e=="string")return t[e]=!0,t;for(let i of Object.keys(e))t[i]=e[i];return t},{})}function B(...r){let t=mn(...r);return Object.keys(t).reduce((e,i)=>(t[i]&&e.push(i),e),[]).join(" ")}function gn(r,...t){let e=mn(...t);for(let i of Object.keys(e))r.classList.toggle(i,e[i])}var bn=r=>{if(!r)return Y;let t=Q(r).filter(e=>Y.includes(e));return t.length===0?Y:t};function _n(r){return{"*originalUrl":null,"*faderEl":null,"*cropperEl":null,"*imgEl":null,"*imgContainerEl":null,"*networkProblems":!1,"*imageSize":null,"*editorTransformations":{},"*cropPresetList":[],"*currentAspectRatio":null,"*tabList":Y,"*tabId":M.CROP,entry:null,extension:null,editorMode:!1,modalCaption:"",isImage:!1,msg:"",src:pe,fileType:"",showLoader:!1,uuid:null,cdnUrl:null,cropPreset:"",tabs:ve(Y),"presence.networkProblems":!1,"presence.modalCaption":!0,"presence.editorToolbar":!1,"presence.viewerToolbar":!0,"*on.retryNetwork":()=>{let t=r.querySelectorAll("img");for(let e of t){let i=e.src;e.src=pe,e.src=i}r.$["*networkProblems"]=!1},"*on.apply":t=>{if(!t)return;let e=r.$["*originalUrl"],i=H(Oe(t),"preview"),s=R(e,i),o={originalUrl:e,cdnUrlModifiers:i,cdnUrl:s,transformations:t};r.dispatchEvent(new CustomEvent("apply",{detail:o,bubbles:!0,composed:!0})),r.remove()},"*on.cancel":()=>{r.remove(),r.dispatchEvent(new CustomEvent("cancel",{bubbles:!0,composed:!0}))}}}var vn="<svg width='0' height='0' style='position:absolute'><symbol fill='none' viewBox='0 0 9 6' id='uc-icon-arrow-dropdown' xmlns='http://www.w3.org/2000/svg'><path stroke='currentColor' d='m1.5 1.667 3 2.666 3-2.666' opacity='.5'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-aspect-ratio' xmlns='http://www.w3.org/2000/svg'/><symbol viewBox='0 0 20 20' id='uc-icon-brightness' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M15 10a5 5 0 0 1-5 5m5-5a5 5 0 0 0-5-5m5 5h-5m0 5a5 5 0 0 1 0-10m0 10V5m0 15v-3M2.93 2.929 5.05 5.05M0 10h3m-.07 7.071 2.12-2.121M10 0v3m7.07 14.071-2.12-2.121M20 10h-3m.07-7.071L14.95 5.05m-.626 2.45H10m4.324 5H10'/></symbol><symbol fill='currentColor' viewBox='0 0 20 20' id='uc-icon-closeMax' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M8.232 10 3.585 5.353l1.768-1.768L10 8.232l4.648-4.647 1.767 1.768L11.768 10l4.647 4.648-1.767 1.767L10 11.768l-4.647 4.647-1.768-1.767L8.232 10Z' clip-rule='evenodd'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-contrast' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M2 10a8 8 0 1 0 16 0 8 8 0 1 0-16 0m8-8v16m8-8h-8m7.598 2.5H10m6.24 2.5H10m7.6-7.5H10M16.242 5H10'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-crop' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M20 14H7.005C6.45 14 6 13.55 6 12.995V0M0 6h13.067c.515 0 .933.418.933.933V20M14.5.4 13 2l1.5 1.6M13 2h2a3 3 0 0 1 3 3v2M5.5 19.6 7 18l-1.5-1.6M7 18H5a3 3 0 0 1-3-3v-2'/></symbol><symbol fill='currentColor' viewBox='0 0 20 20' id='uc-icon-done' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='m18.057 6.333-9.365 9.125a1.25 1.25 0 0 1-1.768-.023L1.92 10.296l1.791-1.744 4.132 4.243 8.47-8.253 1.744 1.79Z' clip-rule='evenodd'/></symbol><symbol fill='currentColor' viewBox='0 0 25 24' id='uc-icon-edit-file' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M18.558 2.804a.78.78 0 0 0-.557.235l-.008.007-2.472 2.46 3.847 3.848 2.46-2.473.004-.003a.78.78 0 0 0 0-1.108l-.004-.003-2.712-2.728a.78.78 0 0 0-.558-.235Zm-.248 7.613-3.852-3.852-8.93 8.887-1.516 5.41 5.41-1.515 8.888-8.93Zm-.636-8.934a2.28 2.28 0 0 1 2.512.505l2.702 2.717.002.002a2.278 2.278 0 0 1 0 3.234l-.002.002-12.541 12.602a.75.75 0 0 1-.33.193l-6.884 1.928a.75.75 0 0 1-.925-.924l1.928-6.885a.75.75 0 0 1 .193-.33l12.603-12.54a2.28 2.28 0 0 1 .742-.504Z' clip-rule='evenodd'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-enhance' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M19 13h-2m0 0a4 4 0 0 1-4-4m4 4a4 4 0 0 0-4 4m0-8V7m0 2a4 4 0 0 1-4 4m-2 0h2m0 0a4 4 0 0 1 4 4m0 0v2M8 8.5H6.5m0 0a2 2 0 0 1-2-2m2 2a2 2 0 0 0-2 2m0-4V5m0 1.5a2 2 0 0 1-2 2M1 8.5h1.5m0 0a2 2 0 0 1 2 2m0 0V12M12 3h-1m0 0a1 1 0 0 1-1-1m1 1a1 1 0 0 0-1 1m0-2V1m0 1a1 1 0 0 1-1 1M8 3h1m0 0a1 1 0 0 1 1 1m0 0v1'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-exposure' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M10 20v-3M2.93 2.929 5.05 5.05M0 10h3m-.07 7.071 2.12-2.121M10 0v3m7.07 14.071-2.12-2.121M20 10h-3m.07-7.071L14.95 5.05M5 10a5 5 0 1 0 10 0 5 5 0 1 0-10 0'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-filters' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M4.5 6.5a5.5 5.5 0 1 0 11 0 5.5 5.5 0 1 0-11 0m-3.5 6a5.5 5.5 0 1 0 11 0 5.5 5.5 0 1 0-11 0m7 0a5.5 5.5 0 1 0 11 0 5.5 5.5 0 1 0-11 0'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-flip' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M19.6 5 18 3.5 16.4 5m3.2 10L18 16.5 16.4 15M18 3.523v12.954M3.3 8.5h10.654c.301 0 .415-.395.159-.554L3.459 1.286A.3.3 0 0 0 3 1.542V8.2a.3.3 0 0 0 .3.3zm0 3h10.654c.301 0 .415.395.159.554l-10.654 6.66A.3.3 0 0 1 3 18.458v-6.66a.3.3 0 0 1 .3-.3z'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-gamma' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M17 3C9 6 2.5 11.5 2.5 17.5m0 0h1m-1 0v-1m14 1h1m-3 0h1m-3 0h1m-3 0h1m-3 0h1m-3 0h1m-3 0h1m-3-14v-1m0 3v-1m0 3v-1m0 3v-1m0 3v-1m0 3v-1m0 3v-1'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-mirror' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M5 .4 3.5 2 5 3.6M15 .4 16.5 2 15 3.6M3.52 2h12.957M8.5 16.7V6.046c0-.301-.394-.415-.554-.159L1.287 16.541a.3.3 0 0 0 .255.459H8.2a.3.3 0 0 0 .3-.3zm3 0V6.046c0-.301.395-.415.555-.159l6.659 10.654a.3.3 0 0 1-.255.459H11.8a.3.3 0 0 1-.3-.3z'/></symbol><symbol viewBox='0 0 40 40' id='uc-icon-original' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.5' d='M0 40 40 0'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-rotate' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M13.5.4 12 2l1.5 1.6M12.023 2H14.4A3.6 3.6 0 0 1 18 5.6V8M4 17h9a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v9a1 1 0 0 0 1 1z'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-sad' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M2 17c4.418-4 11.582-4 16 0M16.5 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-11 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-saturation' xmlns='http://www.w3.org/2000/svg'><defs><linearGradient id='ruc-icon-id__a' x1='10.001' y1='1' x2='10.001' y2='19' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient></defs><circle cx='10.001' cy='10' r='9' transform='rotate(90 10 10)' fill='url(#ruc-icon-id__a)'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-slider' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M0 10h11m0 0a2 2 0 1 0 4 0m-4 0a2 2 0 1 1 4 0m0 0h5'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-tuning' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M8 10h11M1 10h4M1 4.5h11m3 0h4m-18 11h11m3 0h4m-7-11a1.5 1.5 0 1 0 3 0 1.5 1.5 0 1 0-3 0M5 10a1.5 1.5 0 1 0 3 0 1.5 1.5 0 1 0-3 0m7 5.5a1.5 1.5 0 1 0 3 0 1.5 1.5 0 1 0-3 0'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-vibrance' xmlns='http://www.w3.org/2000/svg'><path d='M2.125 5.64A8.96 8.96 0 0 0 1.001 10a8.96 8.96 0 0 0 1.124 4.36V5.64z' fill='url(#uuc-icon-id__a)'/><path d='M2.875 15.499V4.502a9.053 9.053 0 0 1 1.75-1.72v14.437a9.05 9.05 0 0 1-1.75-1.72z' fill='url(#uuc-icon-id__b)'/><path d='M5.375 17.722c.548.33 1.134.601 1.75.809V1.469a8.956 8.956 0 0 0-1.75.81v15.443z' fill='url(#uuc-icon-id__c)'/><path d='M7.875 1.253v17.495c.564.136 1.15.22 1.75.244V1.008a9 9 0 0 0-1.75.245z' fill='url(#uuc-icon-id__d)'/><path d='M10.375 1.008v17.984a9 9 0 0 0 1.75-.244V1.252a9 9 0 0 0-1.75-.244z' fill='url(#uuc-icon-id__e)'/><path d='M12.875 1.469V18.53a8.957 8.957 0 0 0 1.75-.808V2.277a8.957 8.957 0 0 0-1.75-.808z' fill='url(#uuc-icon-id__f)'/><path d='M15.375 2.78v14.44a9.053 9.053 0 0 0 1.75-1.72v-11a9.054 9.054 0 0 0-1.75-1.72z' fill='url(#uuc-icon-id__g)'/><path d='M17.875 5.638v8.724A8.959 8.959 0 0 0 19.001 10a8.96 8.96 0 0 0-1.126-4.362z' fill='url(#uuc-icon-id__h)'/><defs><linearGradient id='uuc-icon-id__a' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__b' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__c' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__d' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__e' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__f' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__g' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__h' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient></defs></symbol><symbol viewBox='0 0 20 20' id='uc-icon-warmth' xmlns='http://www.w3.org/2000/svg'><path d='m7.5 13.05.429.42.171-.175v-.244h-.6zm5 0h-.6v.245l.172.175.428-.42zM8.1 3.5c0-1.05.85-1.9 1.9-1.9V.4a3.1 3.1 0 0 0-3.1 3.1h1.2zm0 9.55V3.5H6.9v9.55h1.2zm-1 2.45c0-.79.315-1.506.829-2.03l-.858-.84A4.088 4.088 0 0 0 5.9 15.5h1.2zm2.9 2.9a2.9 2.9 0 0 1-2.9-2.9H5.9a4.1 4.1 0 0 0 4.1 4.1v-1.2zm2.9-2.9a2.9 2.9 0 0 1-2.9 2.9v1.2a4.1 4.1 0 0 0 4.1-4.1h-1.2zm-.829-2.03c.514.524.829 1.24.829 2.03h1.2c0-1.117-.447-2.13-1.171-2.87l-.858.84zM11.9 3.5v9.55h1.2V3.5h-1.2zM10 1.6c1.05 0 1.9.85 1.9 1.9h1.2A3.1 3.1 0 0 0 10 .4v1.2z' fill='currentColor'/><path d='M10 14V8' stroke='currentColor' stroke-width='1.2' stroke-linecap='round'/><path d='M14 3h3m-3 3h3m-3 3h3m-8 6.5a1 1 0 1 0 2 0 1 1 0 1 0-2 0' stroke='currentColor' stroke-width='1.2'/></symbol></svg>";var yn=`${vn} <div class="uc-wrapper uc-wrapper_desktop"><uc-presence-toggle class="uc-network_problems_splash" set="visible: presence.networkProblems;"><div class="uc-network_problems_content"><div class="uc-network_problems_icon"><uc-icon name="sad"></uc-icon></div><div class="uc-network_problems_text">Network error</div></div><div class="uc-network_problems_footer"><uc-btn-ui theme="primary" text="Retry" set="onclick: *on.retryNetwork"></uc-btn-ui></div></uc-presence-toggle><div class="uc-viewport"><div class="uc-file_type_outer"><div class="uc-file_type">{{fileType}}</div></div><div class="uc-image_container" ref="img-container-el"><img src="${pe}" class="uc-image uc-image_visible_from_editor" ref="img-el" /><uc-editor-image-cropper ref="cropper-el"></uc-editor-image-cropper><uc-editor-image-fader ref="fader-el"></uc-editor-image-fader></div><div class="uc-info_pan">{{msg}}</div></div><div class="uc-toolbar"><uc-line-loader-ui set="active: showLoader"></uc-line-loader-ui><div class="uc-toolbar_content uc-toolbar_content__editor"><uc-editor-toolbar></uc-editor-toolbar></div></div></div>`;var fe=class extends y{constructor(){super();u(this,"ctxOwner",!0);u(this,"_debouncedShowLoader",$(this._showLoader.bind(this),300));this.init$={...this.init$,..._n(this)}}_showLoader(e){this.$.showLoader=e}_waitForSize(){return new Promise((i,s)=>{let o=setTimeout(()=>{s(new Error("[cloud-image-editor] timeout waiting for non-zero container size"))},3e3),n=new ResizeObserver(([a])=>{a.contentRect.width>0&&a.contentRect.height>0&&(clearTimeout(o),n.disconnect(),setTimeout(()=>i(),0))});n.observe(this)})}initCallback(){super.initCallback(),this.$["*faderEl"]=this.ref["fader-el"],this.$["*cropperEl"]=this.ref["cropper-el"],this.$["*imgContainerEl"]=this.ref["img-container-el"],this.initEditor()}async updateImage(){if(this.isConnected){if(await this._waitForSize(),this.$.cdnUrl){let e=Yt(this.$.cdnUrl),i=Ie(this.$.cdnUrl,e);if(i===this.$["*originalUrl"])return;this.$["*originalUrl"]=i;let s=lr(this.$.cdnUrl),o=cr(s);this.$["*editorTransformations"]=o}else if(this.$.uuid){let e=Ie(this.cfg.cdnCname,this.$.uuid);if(e===this.$["*originalUrl"])return;this.$["*originalUrl"]=e,this.$["*editorTransformations"]={}}else throw new Error("No UUID nor CDN URL provided");this.$["*tabId"]===M.CROP?this.$["*cropperEl"].deactivate({reset:!0}):this.$["*faderEl"].deactivate();try{let e=await this.proxyUrl(R(this.$["*originalUrl"],H("json"))),i=await fetch(e).then(n=>n.json()),{width:s,height:o}=i;this.$["*imageSize"]={width:s,height:o},this.$["*tabId"]===M.CROP?this.$["*cropperEl"].activate(this.$["*imageSize"]):this.$["*faderEl"].activate({url:this.$["*originalUrl"]})}catch(e){e&&(this.telemetryManager.sendEventError(e,"cloud editor image. Failed to load image info"),console.error("Failed to load image info",e))}}}async initEditor(){try{await this._waitForSize()}catch(e){this.isConnected&&console.error(e.message);return}this.ref["img-el"].addEventListener("load",()=>{this._imgLoading=!1,this._debouncedShowLoader(!1),this.$.src!==pe&&(this.$["*networkProblems"]=!1)}),this.ref["img-el"].addEventListener("error",()=>{this._imgLoading=!1,this._debouncedShowLoader(!1),this.$["*networkProblems"]=!0}),this.sub("src",e=>{let i=this.ref["img-el"];i.src!==e&&(this._imgLoading=!0,i.src=e||pe)}),this.sub("tabs",e=>{this.$["*tabList"]=bn(e)}),this.sub("*tabId",e=>{this.ref["img-el"].className=B("uc-image",{"uc-image_hidden_to_cropper":e===M.CROP,"uc-image_hidden_effects":e!==M.CROP})}),this.classList.add("uc-editor_ON"),this.sub("*networkProblems",e=>{this.$["presence.networkProblems"]=e,this.$["presence.modalCaption"]=!e}),this.sub("*editorTransformations",e=>{if(Object.keys(e).length===0)return;let i=this.$["*originalUrl"],s=H(Oe(e),"preview"),o=R(i,s),n={originalUrl:i,cdnUrlModifiers:s,cdnUrl:o,transformations:e};this.dispatchEvent(new CustomEvent("change",{detail:n,bubbles:!0,composed:!0}))},!1),this.sub("uuid",e=>e&&this.updateImage()),this.sub("cdnUrl",e=>e&&this.updateImage()),this.sub("cropPreset",e=>{var o,n,a;let i=mi(e),s=null;if(this.$.cdnUrl){let l=lr(this.$.cdnUrl),c=cr(l);if(Array.isArray((o=c==null?void 0:c.crop)==null?void 0:o.dimensions)){let[h,d]=(n=c==null?void 0:c.crop)==null?void 0:n.dimensions;s=_o(h,d,i,.1)}}this.$["*cropPresetList"]=i,this.$["*currentAspectRatio"]=(a=s!=null?s:i==null?void 0:i[0])!=null?a:null})}};u(fe,"styleAttrs",["uc-cloud-image-editor"]);fe.template=yn;fe.bindAttributes({uuid:"uuid","cdn-url":"cdnUrl","crop-preset":"cropPreset",tabs:"tabs"});var Fi=class extends y{constructor(){super(),this.init$={...this.init$,dragging:!1},this._handlePointerUp=this._handlePointerUp_.bind(this),this._handlePointerMove=this._handlePointerMove_.bind(this),this._handleSvgPointerMove=this._handleSvgPointerMove_.bind(this)}_shouldThumbBeDisabled(t){let e=this.$["*imageBox"];if(!e)return;if(t===""&&e.height<=A&&e.width<=A)return!0;let i=e.height<=A&&(t.includes("n")||t.includes("s")),s=e.width<=A&&(t.includes("e")||t.includes("w"));return i||s}_createBackdrop(){let t=this.$["*cropBox"];if(!t)return;let{x:e,y:i,width:s,height:o}=t,n=this.ref["svg-el"],a=W("mask",{id:"backdrop-mask"}),l=W("rect",{x:0,y:0,width:"100%",height:"100%",fill:"white"}),c=W("rect",{x:e,y:i,width:s,height:o,fill:"black"});a.appendChild(l),a.appendChild(c);let h=W("rect",{x:0,y:0,width:"100%",height:"100%",fill:"var(--color-image-background)","fill-opacity":.85,mask:"url(#backdrop-mask)"});n.appendChild(h),n.appendChild(a),this._backdropMask=a,this._backdropMaskInner=c}_resizeBackdrop(){this._backdropMask&&(this._backdropMask.style.display="none",window.requestAnimationFrame(()=>{this._backdropMask&&(this._backdropMask.style.display="block")}))}_updateBackdrop(){let t=this.$["*cropBox"];if(!t)return;let{x:e,y:i,width:s,height:o}=t;this._backdropMaskInner&&Re(this._backdropMaskInner,{x:e,y:i,width:s,height:o})}_updateFrame(){let t=this.$["*cropBox"];if(!(!t||!this._frameGuides||!this._frameThumbs)){for(let e of Object.values(this._frameThumbs)){let{direction:i,pathNode:s,interactionNode:o,groupNode:n}=e,a=i==="",l=i.length===2,{x:c,y:h,width:d,height:p}=t;if(a)Re(o,{x:c,y:h,width:d,height:p});else{let m=De(Math.min(d,p)/(24*2+34)/2,0,1),{d:b,center:_}=l?lo(t,i,m):co(t,i,m),v=Math.max(Mr*De(Math.min(d,p)/Mr/3,0,1),ao);Re(o,{x:_[0]-v,y:_[1]-v,width:v*2,height:v*2}),Re(s,{d:b})}let f=this._shouldThumbBeDisabled(i);n.setAttribute("class",B("uc-thumb",{"uc-thumb--hidden":f,"uc-thumb--visible":!f}))}Re(this._frameGuides,{x:t.x-1*.5,y:t.y-1*.5,width:t.width+1,height:t.height+1})}}_createThumb(t,e){let i=W("g");i.classList.add("uc-thumb"),i.setAttribute("with-effects","");let s=W("rect",{fill:"transparent"}),o=W("path",{stroke:"currentColor",fill:"none","stroke-width":3});i.appendChild(o),i.appendChild(s),t[e]={direction:e,pathNode:o,interactionNode:s,groupNode:i},e===""&&(i.style.cursor="move"),s.addEventListener("pointerdown",this._handlePointerDown.bind(this,e))}_createThumbs(){let t={};for(let e=0;e<3;e++)for(let i=0;i<3;i++){let s=`${["n","","s"][e]}${["w","","e"][i]}`;s!==""&&this._createThumb(t,s)}return this._createThumb(t,""),t}_createGuides(){let t=W("svg"),e=W("rect",{x:0,y:0,width:"100%",height:"100%",fill:"none",stroke:"currentColor","stroke-width":1,"stroke-opacity":.5});t.appendChild(e);for(let i=1;i<=2;i++){let s=W("line",{x1:`${_t*i}%`,y1:"0%",x2:`${_t*i}%`,y2:"100%",stroke:"currentColor","stroke-width":1,"stroke-opacity":.3});t.appendChild(s)}for(let i=1;i<=2;i++){let s=W("line",{x1:"0%",y1:`${_t*i}%`,x2:"100%",y2:`${_t*i}%`,stroke:"currentColor","stroke-width":1,"stroke-opacity":.3});t.appendChild(s)}return t.classList.add("uc-guides","uc-guides--semi-hidden"),t}_createFrame(){let t=this.ref["svg-el"],e=document.createDocumentFragment(),i=this._createGuides();e.appendChild(i);let s=this._createThumbs();for(let{groupNode:o}of Object.values(s))e.appendChild(o);t.appendChild(e),this._frameThumbs=s,this._frameGuides=i}_handlePointerDown(t,e){if(!this._frameThumbs)return;let i=this._frameThumbs[t];if(this._shouldThumbBeDisabled(t))return;let s=this.$["*cropBox"],{x:o,y:n}=this.ref["svg-el"].getBoundingClientRect(),a=e.x-o,l=e.y-n;this.$.dragging=!0,this._draggingThumb=i,this._dragStartPoint=[a,l],this._dragStartCrop={...s}}_handlePointerUp_(t){this._updateCursor(),this.$.dragging&&(t.stopPropagation(),t.preventDefault(),this.$.dragging=!1)}_handlePointerMove_(t){if(!this.$.dragging||!this._dragStartPoint||!this._draggingThumb)return;t.stopPropagation(),t.preventDefault();let e=this.ref["svg-el"],{x:i,y:s}=e.getBoundingClientRect(),o=t.x-i,n=t.y-s,a=o-this._dragStartPoint[0],l=n-this._dragStartPoint[1],{direction:c}=this._draggingThumb,h=this._calcCropBox(c,[a,l]);h&&(this.$["*cropBox"]=h)}_calcCropBox(t,e){var c;let[i,s]=e,o=this.$["*imageBox"],n=(c=this._dragStartCrop)!=null?c:this.$["*cropBox"],a=this.$["*currentAspectRatio"],l=a?a.width/a.height:void 0;if(t===""?n=ho({rect:n,delta:[i,s],imageBox:o}):n=po({rect:n,delta:[i,s],direction:t,aspectRatio:l,imageBox:o}),!Object.values(n).every(h=>Number.isFinite(h)&&h>=0)){console.error("CropFrame is trying to create invalid rectangle",{payload:n});return}return Ye(Je(n),this.$["*imageBox"])}_handleSvgPointerMove_(t){if(!this._frameThumbs)return;let e=Object.values(this._frameThumbs).find(i=>{if(this._shouldThumbBeDisabled(i.direction))return!1;let o=i.interactionNode.getBoundingClientRect(),n={x:o.x,y:o.y,width:o.width,height:o.height};return fo(n,[t.x,t.y])});this._hoverThumb=e,this._updateCursor()}_updateCursor(){let t=this._hoverThumb;this.ref["svg-el"].style.cursor=t?uo(t.direction):"initial"}_createMask(t){if(this._frameImage){this._frameImage.setAttribute("href",t);return}let e=this.ref["svg-el"],i=document.createDocumentFragment(),s=W("image",{href:t});s.setAttribute("class","uc-cloud-mask"),i.appendChild(s),e.appendChild(i),this._frameImage=s}_updateMask(){let t=this.$["*cropBox"];if(!t||!this._frameImage)return;let{x:e,y:i,width:s,height:o}=t;Re(this._frameImage,{x:e,y:i,height:o,width:s})}_render(){this._updateBackdrop(),this._updateFrame(),this._updateMask()}toggleThumbs(t){this._frameThumbs&&Object.values(this._frameThumbs).map(({groupNode:e})=>e).forEach(e=>{e.setAttribute("class",B("uc-thumb",{"uc-thumb--hidden":!t,"uc-thumb--visible":t}))})}initCallback(){super.initCallback(),this._createBackdrop(),this._createFrame(),this.sub("*imageBox",t=>{this._resizeBackdrop(),window.requestAnimationFrame(()=>{this._render()})}),this.sub("*cropBox",t=>{t&&(this._guidesHidden=t.height<=A||t.width<=A,window.requestAnimationFrame(()=>{this._render()}))}),this.subConfigValue("cloudImageEditorMaskHref",t=>{t&&this._createMask(t)}),this.sub("dragging",t=>{this._frameGuides&&this._frameGuides.setAttribute("class",B({"uc-guides--hidden":this._guidesHidden,"uc-guides--visible":!this._guidesHidden&&t,"uc-guides--semi-hidden":!this._guidesHidden&&!t}))}),this.ref["svg-el"].addEventListener("pointermove",this._handleSvgPointerMove,!0),document.addEventListener("pointermove",this._handlePointerMove,!0),document.addEventListener("pointerup",this._handlePointerUp,!0)}destroyCallback(){super.destroyCallback(),document.removeEventListener("pointermove",this._handlePointerMove),document.removeEventListener("pointerup",this._handlePointerUp)}};Fi.template='<svg class="uc-svg" ref="svg-el" xmlns="http://www.w3.org/2000/svg"></svg>';var re=class extends y{constructor(){super(...arguments);u(this,"init$",{...this.init$,active:!1,title:"",icon:"","on.click":null,"title-prop":""})}initCallback(){super.initCallback(),this._titleEl=this.ref["title-el"],this._iconEl=this.ref["icon-el"],this.sub("title",e=>{this._titleEl&&(this._titleEl.style.display=e?"block":"none")}),this.sub("active",e=>{this.className=B({"uc-active":e,"uc-not_active":!e})}),this.sub("on.click",e=>{this.onclick=e})}};re.template=`<button role="option" type="button" set="@aria-label:title-prop;" l10n="@title:title-prop;"><uc-icon ref="icon-el" set="@name: icon;"></uc-icon><div class="uc-title" ref="title-el">{{title}}</div></button>`;function Tc(r){let t=r+90;return t=t>=360?0:t,t}function Sc(r,t){return r==="rotate"?Tc(t):["mirror","flip"].includes(r)?!t:null}var Pt=class extends re{initCallback(){super.initCallback(),this.defineAccessor("operation",t=>{t&&(this._operation=t,this.$.icon=t,this.bindL10n("title-prop",()=>this.l10n("a11y-cloud-editor-apply-crop",{name:this.l10n(t).toLowerCase()})))}),this.$["on.click"]=t=>{let e=this.$["*cropperEl"].getValue(this._operation),i=Sc(this._operation,e);this.telemetryManager.sendEventCloudImageEditor(t,this.$["*tabId"],{operation:this._operation,next:i,prev:e}),this.$["*cropperEl"].setValue(this._operation,i)}}};var Vi=12,wn=16,Ic=r=>{let t=12,e=12;return r.width/r.height>=1?(t=Vi,e=Math.round(Vi*r.height/r.width)):(e=Vi,t=Math.round(Vi*r.width/r.height)),{width:t,height:e}},at=class extends re{constructor(){super()}initCallback(){super.initCallback(),this.$.icon="arrow-dropdown",this.$["on.click"]=this.handleClick.bind(this),this.sub("*currentAspectRatio",t=>{this.$.title=t.hasFreeform?this.l10n("freeform-crop"):this.l10n("crop-to-shape",{value:`${t.width}:${t.height}`}),this.bindL10n("title-prop",()=>this.$.title)})}handleClick(){this.$["*showListAspectRatio"]=!0}};at.template=`<button role="option" type="button" set="@aria-label:title-prop;" l10n="@title:title-prop;"><div class="uc-title" ref="title-el">{{title}}</div><uc-icon ref="icon-el" set="@name: icon;"></uc-icon></button>`;var Rt=class extends re{constructor(){super(),this.init$={...this.init$,active:!1,once:!1}}initCallback(){super.initCallback(),this.defineAccessor("aspectRatio",t=>{if(!t)return;let e=!!t.hasFreeform;this.$.title=e?this.l10n("custom"):`${t.width}:${t.height}`,e||this._renderRectBasedOnAspectRatio(t),e&&this.setAttribute("uc-aspect-ratio-freeform",""),this._aspectRatio=t,this.bindL10n("title-prop",()=>this.l10n("a11y-cloud-editor-apply-aspect-ratio",{name:e?this.l10n("custom").toLowerCase():this.l10n("crop-to-shape",{value:`${t.width}:${t.height}`}).toLowerCase(),value:""}))}),this.sub("*currentAspectRatio",t=>{var e,i,s;this.$.active=t&&t.id===((e=this._aspectRatio)==null?void 0:e.id)||(t==null?void 0:t.width)===((i=this._aspectRatio)==null?void 0:i.width)&&(t==null?void 0:t.height)===((s=this._aspectRatio)==null?void 0:s.height)}),this.$["on.click"]=this.handleClick.bind(this)}handleClick(){var t,e;((t=this.$["*currentAspectRatio"])==null?void 0:t.id)!==((e=this._aspectRatio)==null?void 0:e.id)&&(this.$["*currentAspectRatio"]=this._aspectRatio)}_renderRectBasedOnAspectRatio(t){var n,a;let{width:e,height:i}=Ic(t),s=W("rect",{"stroke-linejoin":"round",fill:"none",stroke:"currentColor","stroke-width":1.2,"fill-rule":"evenodd",x:(wn-e)/2,y:(wn-i)/2,rx:2,width:e,height:i}),o=(a=(n=this.ref["icon-el"])==null?void 0:n.ref)==null?void 0:a.svg;o&&(o.innerHTML="",o.appendChild(s))}};var Dt={FILTER:"filter",COLOR_OPERATION:"color_operation"},me="original",Ni=class extends y{constructor(){super(...arguments);u(this,"init$",{...this.init$,disabled:!1,min:0,max:100,value:0,defaultValue:0,zero:0,"on.input":e=>{this.$["*faderEl"].set(e),this.$.value=e}})}setOperation(e,i){this._controlType=e==="filter"?Dt.FILTER:Dt.COLOR_OPERATION,this._operation=e,this._iconName=e,this._title=e.toUpperCase(),this._filter=i,this._initializeValues(),this.$["*faderEl"].activate({url:this.$["*originalUrl"],operation:this._operation,value:this._filter===me?void 0:this.$.value,filter:this._filter===me?void 0:this._filter,fromViewer:!1})}_initializeValues(){let{range:e,zero:i}=le[this._operation],[s,o]=e;this.$.min=s,this.$.max=o,this.$.zero=i;let n=this.$["*editorTransformations"][this._operation];if(this._controlType===Dt.FILTER){let a=o;if(n){let{name:l,amount:c}=n;a=l===this._filter?c:o}this.$.value=a,this.$.defaultValue=a}if(this._controlType===Dt.COLOR_OPERATION){let a=typeof n!="undefined"?n:i;this.$.value=a,this.$.defaultValue=a}}apply(){let e;this._controlType===Dt.FILTER?this._filter===me?e=null:e={name:this._filter,amount:this.$.value}:e=this.$.value;let i={...this.$["*editorTransformations"],[this._operation]:e};this.$["*editorTransformations"]=i}cancel(){this.$["*faderEl"].deactivate({hide:!1})}initCallback(){super.initCallback(),this.sub("*originalUrl",e=>{this._originalUrl=e}),this.sub("value",e=>{let i=`${this._filter||this._operation} ${e}`;this.$["*operationTooltip"]=i})}};Ni.template=`<uc-slider-ui ref="slider-el" set="disabled: disabled; min: min; max: max; defaultValue: defaultValue; zero: zero; onInput: on.input;" ></uc-slider-ui>`;function Ge(r){let t=new Image;return{promise:new Promise((s,o)=>{t.src=r,t.onload=s,t.onerror=o}),image:t,cancel:()=>{t.naturalWidth===0&&(t.src=pe)}}}function Ft(r){let t=[];for(let o of r){let n=Ge(o);t.push(n)}let e=t.map(o=>o.image);return{promise:Promise.allSettled(t.map(o=>o.promise)),images:e,cancel:()=>{t.forEach(o=>{o.cancel()})}}}function lt(r){let t=r.match(/^(\w+)\s+(\d+)$/);return t?{filter:t[1],value:Number(t[2])}:null}var ct=class extends re{constructor(){super(),this.init$={...this.init$,active:!1,title:"",icon:"",isOriginal:!1,iconSize:"20","on.click":null}}_previewSrc(){let t=parseInt(window.getComputedStyle(this).getPropertyValue("--l-base-min-width"),10),e=window.devicePixelRatio,i=Math.ceil(e*t),s=e>=2?"lightest":"normal",o=100,n={...this.$["*editorTransformations"]};return n[this._operation]=this._filter!==me?{name:this._filter,amount:o}:void 0,R(this._originalUrl,H(Qt,Oe(n),`quality/${s}`,`scale_crop/${i}x${i}/center`))}async _observerCallback(t,e){var s;if(t[0].isIntersecting){let o=await this.proxyUrl(this._previewSrc()),n=this.ref["preview-el"],{promise:a,cancel:l}=Ge(o);this._cancelPreload=l,a.catch(c=>{this.$["*networkProblems"]=!0,console.error("Failed to load image",{error:c})}).finally(()=>{n.style.backgroundImage=`url(${o})`,n.setAttribute("loaded",""),e.unobserve(this)})}else(s=this._cancelPreload)==null||s.call(this)}initCallback(){super.initCallback(),this.$["on.click"]=e=>{this.$.active?this.$.isOriginal||(this.$["*sliderEl"].setOperation(this._operation,this._filter),this.$["*showSlider"]=!0):(this.$["*sliderEl"].setOperation(this._operation,this._filter),this.$["*sliderEl"].apply()),this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{operation:lt(this.$["*operationTooltip"])}),this.$["*currentFilter"]=this._filter},this.defineAccessor("filter",e=>{this._operation="filter",this._filter=e,this.$.isOriginal=e===me,this.$.icon=this.$.isOriginal?"original":"slider",this.bindL10n("title-prop",()=>this.l10n("a11y-cloud-editor-apply-filter",{name:e.toLowerCase()}))}),this._observer=new window.IntersectionObserver(this._observerCallback.bind(this),{threshold:[0,1]});let t=this.$["*originalUrl"];this._originalUrl=t,this.$.isOriginal?this.ref["icon-el"].classList.add("uc-original-icon"):this._observer.observe(this),this.sub("*currentFilter",e=>{this.$.active=e&&e===this._filter}),this.sub("isOriginal",e=>{this.$.iconSize=e?40:20}),this.sub("active",e=>{if(this.$.isOriginal)return;let i=this.ref["icon-el"];i.style.opacity=e?"1":"0";let s=this.ref["preview-el"];e?s.style.opacity="0":s.style.backgroundImage&&(s.style.opacity="1")}),this.sub("*networkProblems",async e=>{if(!e){let i=await this.proxyUrl(this._previewSrc()),s=this.ref["preview-el"];s.style.backgroundImage&&(s.style.backgroundImage="none",s.style.backgroundImage=`url(${i})`)}})}destroyCallback(){var t,e;super.destroyCallback(),(t=this._observer)==null||t.disconnect(),(e=this._cancelPreload)==null||e.call(this)}};ct.template=`<button type="button" role="option" l10n="@title:title-prop;@aria-label:title-prop"><div class="uc-preview" ref="preview-el"></div><uc-icon ref="icon-el" set="@name: icon; @size: iconSize;"></uc-icon></button>`;var Vt=class extends re{constructor(){super(...arguments);u(this,"_operation","")}initCallback(){super.initCallback(),this.$["on.click"]=e=>{this.$["*sliderEl"].setOperation(this._operation),this.$["*showSlider"]=!0,this.$["*currentOperation"]=this._operation,this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{operation:lt(this.$["*operationTooltip"])})},this.defineAccessor("operation",e=>{e&&(this._operation=e,this.$.icon=e,this.bindL10n("title-prop",()=>this.l10n("a11y-cloud-editor-apply-tuning",{name:this.l10n(e).toLowerCase()})),this.bindL10n("title",()=>this.l10n(e)))}),this.sub("*editorTransformations",e=>{if(!this._operation)return;let{zero:i}=le[this._operation],s=e[this._operation],o=typeof s!="undefined"?s!==i:!1;this.$.active=o})}};function Cn(r,t){let e={};for(let i of t){let s=r[i];(r.hasOwnProperty(i)||s!==void 0)&&(e[i]=s)}return e}function ut(r,t,e){let s=window.devicePixelRatio,o=Math.min(Math.ceil(t*s),3e3),n=s>=2?"lightest":"normal";return R(r,H(Qt,Oe(e),`quality/${n}`,`stretch/off/-/resize/${o}x`,`@clib/${Ue}/${Pe}/uc-cloud-image-editor/`))}function Oc(r){return r?[({dimensions:e,coords:i})=>[...e,...i].every(s=>Number.isInteger(s)&&Number.isFinite(s)),({dimensions:e,coords:i})=>e.every(s=>s>0)&&i.every(s=>s>=0)].every(e=>e(r)):!0}var Bi=class extends y{constructor(){super();u(this,"ctxOwner",!0);this.init$={...this.init$,image:null,"*padding":20,"*operations":{rotate:0,mirror:!1,flip:!1},"*imageBox":{x:0,y:0,width:0,height:0},"*cropBox":{x:0,y:0,width:0,height:0}},this._commitDebounced=$(this._commit.bind(this),300),this._handleResizeThrottled=st(this._handleResize.bind(this),100),this._imageSize={width:0,height:0}}_handleResize(){!this.isConnected||!this._isActive||(this._initCanvas(),this._syncTransformations(),this._alignImage(),this._alignCrop(),this._draw())}_syncTransformations(){let e=this.$["*editorTransformations"],i=Cn(e,Object.keys(this.$["*operations"])),s={...this.$["*operations"],...i};this.$["*operations"]=s}_initCanvas(){let e=this.ref["canvas-el"],i=e.getContext("2d"),s=this.offsetWidth,o=this.offsetHeight,n=window.devicePixelRatio;e.style.width=`${s}px`,e.style.height=`${o}px`,e.width=s*n,e.height=o*n,i==null||i.scale(n,n),this._canvas=e,this._ctx=i}_alignImage(){if(!this._isActive||!this.$.image)return;let e=this.$.image,i=this.$["*padding"],s=this.$["*operations"],{rotate:o}=s,n={width:this.offsetWidth,height:this.offsetHeight},a=Qe({width:e.naturalWidth,height:e.naturalHeight},o),l;if(a.width>n.width-i*2||a.height>n.height-i*2){let c=a.width/a.height,h=n.width/n.height;if(c>h){let d=n.width-i*2,p=d/c,f=0+i,m=i+(n.height-i*2)/2-p/2;l={x:f,y:m,width:d,height:p}}else{let d=n.height-i*2,p=d*c,f=i+(n.width-i*2)/2-p/2,m=0+i;l={x:f,y:m,width:p,height:d}}}else{let{width:c,height:h}=a,d=i+(n.width-i*2)/2-c/2,p=i+(n.height-i*2)/2-h/2;l={x:d,y:p,width:c,height:h}}this.$["*imageBox"]=Je(l)}_alignCrop(){let e=this.$["*cropBox"],i=this.$["*imageBox"],s=this.$["*operations"],{rotate:o}=s,n=this.$["*editorTransformations"].crop,{width:a,x:l,y:c}=this.$["*imageBox"];if(n){let{dimensions:[p,f],coords:[m,b]}=n,{width:_}=Qe(this._imageSize,o),v=a/_;e=Ye(Je({x:l+m*v,y:c+b*v,width:p*v,height:f*v}),this.$["*imageBox"])}let h=this.$["*currentAspectRatio"],d=h?h.width/h.height:void 0;if(!mo(e,i)||d&&!go(e,d)){let p=i.width/i.height,f=i.width,m=i.height;d&&(p>d?f=Math.min(i.height*d,i.width):m=Math.min(i.width/d,i.height)),e={x:i.x+i.width/2-f/2,y:i.y+i.height/2-m/2,width:f,height:m}}this.$["*cropBox"]=Ye(Je(e),this.$["*imageBox"])}_drawImage(){let e=this._ctx;if(!e)return;let i=this.$.image,s=this.$["*imageBox"],o=this.$["*operations"],{mirror:n,flip:a,rotate:l}=o,c=Qe({width:s.width,height:s.height},l);e.save(),e.translate(s.x+s.width/2,s.y+s.height/2),e.rotate(l*Math.PI*-1/180),e.scale(n?-1:1,a?-1:1),e.drawImage(i,-c.width/2,-c.height/2,c.width,c.height),e.restore()}_draw(){if(!this._isActive||!this.$.image||!this._canvas||!this._ctx)return;let e=this._canvas;this._ctx.clearRect(0,0,e.width,e.height),this._drawImage()}_animateIn({fromViewer:e}){this.$.image&&(this.ref["frame-el"].toggleThumbs(!0),this._transitionToImage(),setTimeout(()=>{this.className=B({"uc-active_from_viewer":e,"uc-active_from_editor":!e,"uc-inactive_to_editor":!1})}))}_getCropDimensions(){let e=this.$["*cropBox"],i=this.$["*imageBox"],s=this.$["*operations"],{rotate:o}=s,{width:n,height:a}=i,{width:l,height:c}=Qe(this._imageSize,o),{width:h,height:d}=e,p=n/l,f=a/c;return[De(Math.round(h/p),1,l),De(Math.round(d/f),1,c)]}_getCropTransformation(){let e=this.$["*cropBox"],i=this.$["*imageBox"],s=this.$["*operations"],{rotate:o}=s,{width:n,height:a,x:l,y:c}=i,{width:h,height:d}=Qe(this._imageSize,o),{x:p,y:f}=e,m=n/h,b=a/d,_=this._getCropDimensions(),v={dimensions:_,coords:[De(Math.round((p-l)/m),0,h-_[0]),De(Math.round((f-c)/b),0,d-_[1])]};if(!Oc(v)){console.error("Cropper is trying to create invalid crop object",{payload:v});return}if(!(_[0]===h&&_[1]===d))return v}_commit(){if(!this.isConnected||!this._imageSize)return;let e=this.$["*operations"],{rotate:i,mirror:s,flip:o}=e,n=this._getCropTransformation(),l={...this.$["*editorTransformations"],crop:n,rotate:i,mirror:s,flip:o};this.$["*editorTransformations"]=l}setValue(e,i){this.$["*operations"]={...this.$["*operations"],[e]:i},this._isActive&&(this._alignImage(),this._alignCrop(),this._draw())}getValue(e){return this.$["*operations"][e]}async activate(e,{fromViewer:i}={}){if(!this._isActive){this._isActive=!0,this._imageSize=e,this.removeEventListener("transitionend",this._reset);try{this.$.image=await this._waitForImage(this.$["*originalUrl"],this.$["*editorTransformations"]),this._syncTransformations(),this._animateIn({fromViewer:i})}catch(s){console.error("Failed to activate cropper",{error:s}),this.telemetryManager.sendEventError(s,"cloud editor image. Failed to activate cropper")}this._observer=new ResizeObserver(([s])=>{s.contentRect.width>0&&s.contentRect.height>0&&this._isActive&&this.$.image&&this._handleResizeThrottled()}),this._observer.observe(this)}}deactivate({reset:e=!1}={}){var i;this._isActive&&(!e&&this._commit(),this._isActive=!1,this._transitionToCrop(),this.className=B({"uc-active_from_viewer":!1,"uc-active_from_editor":!1,"uc-inactive_to_editor":!0}),this.ref["frame-el"].toggleThumbs(!1),this.addEventListener("transitionend",this._reset,{once:!0}),(i=this._observer)==null||i.disconnect())}_transitionToCrop(){let e=this._getCropDimensions(),i=Math.min(this.offsetWidth,e[0])/this.$["*cropBox"].width,s=Math.min(this.offsetHeight,e[1])/this.$["*cropBox"].height,o=Math.min(i,s),n=this.$["*cropBox"].x+this.$["*cropBox"].width/2,a=this.$["*cropBox"].y+this.$["*cropBox"].height/2;this.style.transform=`scale(${o}) translate(${(this.offsetWidth/2-n)/o}px, ${(this.offsetHeight/2-a)/o}px)`,this.style.transformOrigin=`${n}px ${a}px`}_transitionToImage(){let e=this.$["*cropBox"].x+this.$["*cropBox"].width/2,i=this.$["*cropBox"].y+this.$["*cropBox"].height/2;this.style.transform="scale(1)",this.style.transformOrigin=`${e}px ${i}px`}_reset(){this._isActive||(this.$.image=null)}async _waitForImage(e,i){var h;let s=this.offsetWidth;i={...i,crop:void 0,rotate:void 0,flip:void 0,mirror:void 0};let o=await this.proxyUrl(ut(e,s,i)),{promise:n,cancel:a,image:l}=Ge(o),c=this._handleImageLoading(o);return l.addEventListener("load",c,{once:!0}),l.addEventListener("error",c,{once:!0}),(h=this._cancelPreload)==null||h.call(this),this._cancelPreload=a,n.then(()=>l).catch(d=>(console.error("Failed to load image",{error:d}),this.$["*networkProblems"]=!0,Promise.resolve(l)))}_handleImageLoading(e){let i="crop",s=this.$["*loadingOperations"];return s.get(i)||s.set(i,new Map),s.get(i).get(e)||(s.set(i,s.get(i).set(e,!0)),this.$["*loadingOperations"]=s),()=>{var o;(o=s==null?void 0:s.get(i))!=null&&o.has(e)&&(s.get(i).delete(e),this.$["*loadingOperations"]=s)}}initCallback(){super.initCallback(),this.sub("*imageBox",()=>{this._draw()}),this.sub("*cropBox",()=>{this.$.image&&this._commitDebounced()}),this.sub("*currentAspectRatio",()=>{this._alignCrop()}),setTimeout(()=>{this.sub("*networkProblems",e=>{e||this._isActive&&this.activate(this._imageSize,{fromViewer:!1})})},0)}destroyCallback(){var e;super.destroyCallback(),(e=this._observer)==null||e.disconnect()}};Bi.template=`<canvas class="uc-canvas" ref="canvas-el"></canvas><uc-crop-frame ref="frame-el"></uc-crop-frame>`;function os(r,t,e){let i=Array(e);e--;for(let s=e;s>=0;s--)i[s]=Math.ceil((s*t+(e-s)*r)/e);return i}function kc(r){return r.reduce((t,e,i)=>i<r.length-1?[...t,[e,r[i+1]]]:t,[])}function $c(r,t,e){let i=kc(r).find(([s,o])=>s<=t&&t<=o);return r.map(s=>{let o=Math.abs(i[0]-i[1]),n=Math.abs(t-i[0])/o;return i[0]===s?t>e?1:1-n:i[1]===s?t>=e?n:1:0})}function Mc(r,t){return r.map((e,i)=>e<t?r.length-i:i)}function En(r,t){let e=le[r].keypointsNumber,{range:i,zero:s}=le[r];return[...new Set([...os(i[0],s,e+1),...os(s,i[1],e+1),s,t])].sort((o,n)=>o-n)}var ns=class extends y{constructor(){super(),this._isActive=!1,this._hidden=!0,this._addKeypointDebounced=$(this._addKeypoint.bind(this),600),this.classList.add("uc-inactive_to_cropper")}_handleImageLoading(t){let e=this._operation,i=this.$["*loadingOperations"];return i.get(e)||i.set(e,new Map),i.get(e).get(t)||(i.set(e,i.get(e).set(t,!0)),this.$["*loadingOperations"]=i),()=>{var s;(s=i==null?void 0:i.get(e))!=null&&s.has(t)&&(i.get(e).delete(t),this.$["*loadingOperations"]=i)}}_flush(){window.cancelAnimationFrame(this._raf),this._raf=window.requestAnimationFrame(()=>{for(let t of this._keypoints){let{image:e}=t;e&&(e.style.opacity=t.opacity.toString(),e.style.zIndex=t.zIndex.toString())}})}async _imageSrc({url:t=this._url,filter:e=this._filter,operation:i,value:s}={}){let o={...this._transformations};i&&(o[i]=e?{name:e,amount:s}:s);let n=this.offsetWidth;return await this.proxyUrl(ut(t,n,o))}async _constructKeypoint(t,e){return{src:await this._imageSrc({operation:t,value:e}),image:null,opacity:0,zIndex:0,value:e}}_isSame(t,e){return this._operation===t&&this._filter===e}async _addKeypoint(t,e,i){let s=()=>!this._isSame(t,e)||this._value!==i||!!this._keypoints.find(l=>l.value===i);if(s())return;let o=await this._constructKeypoint(t,i),n=new Image;n.src=o.src;let a=this._handleImageLoading(o.src);n.addEventListener("load",a,{once:!0}),n.addEventListener("error",a,{once:!0}),o.image=n,n.classList.add("uc-fader-image"),n.addEventListener("load",()=>{if(s())return;let l=this._keypoints,c=l.findIndex(d=>d.value>i),h=c<l.length?l[c].image:null;!this._container||h&&!this._container.contains(h)||(l.splice(c,0,o),this._container.insertBefore(n,h),this._update(t,i))},{once:!0}),n.addEventListener("error",()=>{this.$["*networkProblems"]=!0},{once:!0})}set(t){t=typeof t=="string"?parseInt(t,10):t,this._update(this._operation,t),this._addKeypointDebounced(this._operation,this._filter,t)}_update(t,e){this._operation=t,this._value=e;let{zero:i}=le[t],s=this._keypoints.map(a=>a.value),o=$c(s,e,i),n=Mc(s,i);for(let[a,l]of Object.entries(this._keypoints))l.opacity=o[a],l.zIndex=n[a];this._flush()}_createPreviewImage(){let t=new Image;return t.classList.add("uc-fader-image","uc-fader-image--preview"),t.style.opacity="0",t}async _initNodes(){let t=document.createDocumentFragment();this._previewImage=this._previewImage||this._createPreviewImage(),!this.contains(this._previewImage)&&t.appendChild(this._previewImage);let e=document.createElement("div");t.appendChild(e);let i=this._keypoints.map(c=>c.src),{images:s,promise:o,cancel:n}=Ft(i);s.forEach(c=>{let h=this._handleImageLoading(c.src);c.addEventListener("load",h),c.addEventListener("error",h)}),this._cancelLastImages=()=>{n(),this._cancelLastImages=void 0};let a=this._operation,l=this._filter;await o,this._isActive&&this._isSame(a,l)&&(this._container&&this._container.remove(),this._container=e,this._keypoints.forEach((c,h)=>{let d=s[h];d.classList.add("uc-fader-image"),c.image=d,this._container.appendChild(d)}),this.appendChild(t),this._flush())}async setTransformations(t){if(this._transformations=t,this._previewImage){let e=await this._imageSrc(),i=this._handleImageLoading(e);this._previewImage.src=e,this._previewImage.addEventListener("load",i,{once:!0}),this._previewImage.addEventListener("error",i,{once:!0}),this._previewImage.style.opacity="1",this._previewImage.addEventListener("error",()=>{this.$["*networkProblems"]=!0},{once:!0})}}async preload({url:t,filter:e,operation:i,value:s}){this._cancelBatchPreload&&this._cancelBatchPreload();let o=En(i,s),n=await Promise.all(o.map(l=>this._imageSrc({url:t,filter:e,operation:i,value:l}))),{cancel:a}=Ft(n);this._cancelBatchPreload=a}_setOriginalSrc(t){let e=this._previewImage||this._createPreviewImage();if(!this.contains(e)&&this.appendChild(e),this._previewImage=e,e.src===t){e.style.opacity="1",e.style.transform="scale(1)",this.className=B({"uc-active_from_viewer":this._fromViewer,"uc-active_from_cropper":!this._fromViewer,"uc-inactive_to_cropper":!1});return}e.style.opacity="0";let i=this._handleImageLoading(t);e.addEventListener("error",i,{once:!0}),e.src=t,e.addEventListener("load",()=>{i(),e&&(e.style.opacity="1",e.style.transform="scale(1)",this.className=B({"uc-active_from_viewer":this._fromViewer,"uc-active_from_cropper":!this._fromViewer,"uc-inactive_to_cropper":!1}))},{once:!0}),e.addEventListener("error",()=>{this.$["*networkProblems"]=!0},{once:!0})}async activate({url:t,operation:e,value:i,filter:s,fromViewer:o}){if(this._isActive=!0,this._hidden=!1,this._url=t,this._operation=e||"initial",this._value=i,this._filter=s,this._fromViewer=o,typeof i!="number"&&!s){let a=await this._imageSrc({operation:e,value:i});this._setOriginalSrc(a),this._container&&this._container.remove();return}this._keypoints=await Promise.all(En(e,i).map(a=>this._constructKeypoint(e,a))),this._update(e,i),this._initNodes()}deactivate({hide:t=!0}={}){this._isActive=!1,this._cancelLastImages&&this._cancelLastImages(),this._cancelBatchPreload&&this._cancelBatchPreload(),t&&!this._hidden?(this._hidden=!0,this._previewImage&&(this._previewImage.style.transform="scale(1)"),this.className=B({"uc-active_from_viewer":!1,"uc-active_from_cropper":!1,"uc-inactive_to_cropper":!0}),this.addEventListener("transitionend",()=>{this._container&&this._container.remove()},{once:!0})):this._container&&this._container.remove()}};var Lc=1,zi=class extends y{initCallback(){super.initCallback(),this.addEventListener("wheel",t=>{t.preventDefault();let{deltaY:e,deltaX:i}=t;Math.abs(i)>Lc?this.scrollLeft+=i:this.scrollLeft+=e},{passive:!1}),this.addEventListener("scroll",()=>{},{passive:!0})}};zi.template=" <slot></slot> ";function Uc(r){return`<uc-presence-toggle class="uc-tab-toggle" set="visible: presence.tabToggle.${r}; styles: presence.tabToggleStyles;" ><uc-btn-ui theme="tab" ref="tab-toggle-${r}" data-id="${r}" icon="${r}" set="onclick: on.clickTab; aria-role:tab_role; aria-controls:tab_${r}; title-prop: a11y-editor-tab-${r}" ></uc-btn-ui></uc-presence-toggle>`}function Pc(r){return`<uc-presence-toggle id="tab_${r}" class="uc-tab-content" set="visible: presence.tabContent.${r}; styles: presence.tabContentStyles" ><uc-editor-scroller hidden-scrollbar><div class="uc-controls-list_align"><div role="listbox" aria-orientation="horizontal" class="uc-controls-list_inner" ref="controls-list-${r}" ></div></div></uc-editor-scroller></uc-presence-toggle>`}var Hi=class extends y{constructor(){super();u(this,"_updateInfoTooltip",$(()=>{var n,a;let e=this.$["*editorTransformations"],i=this.$["*currentOperation"],s="",o=!1;if(this.$["*tabId"]===M.FILTERS)if(o=!0,this.$["*currentFilter"]&&((n=e==null?void 0:e.filter)==null?void 0:n.name)===this.$["*currentFilter"]){let l=((a=e==null?void 0:e.filter)==null?void 0:a.amount)||100;s=this.$["*currentFilter"]+" "+l}else s=this.l10n(me);else if(this.$["*tabId"]===M.TUNING&&i){o=!0;let l=(e==null?void 0:e[i])||le[i].zero;s=this.l10n(i)+" "+l}o&&(this.$["*operationTooltip"]=s),this.ref["tooltip-el"].classList.toggle("uc-info-tooltip_visible",o)},0));this.init$={...this.init$,"*sliderEl":null,"*listAspectRatioEl":null,"*loadingOperations":new Map,"*showSlider":!1,"*showListAspectRatio":!1,hideSliderOrList:!1,"*currentFilter":me,"*currentOperation":null,showLoader:!1,filters:Is,colorOperations:Ss,cropOperations:Os,"*operationTooltip":null,"presence.mainToolbar":!0,"presence.subToolbar":!1,"presence.tabToggles":!0,"presence.tabContent.crop":!1,"presence.tabContent.tuning":!1,"presence.tabContent.filters":!1,"presence.tabToggle.crop":!0,"presence.tabToggle.tuning":!0,"presence.tabToggle.filters":!0,"presence.subTopToolbarStyles":{hidden:"uc-sub-toolbar--top-hidden",visible:"uc-sub-toolbar--visible"},"presence.subBottomToolbarStyles":{hidden:"uc-sub-toolbar--bottom-hidden",visible:"uc-sub-toolbar--visible"},"presence.tabContentStyles":{hidden:"uc-tab-content--hidden",visible:"uc-tab-content--visible"},"presence.tabToggleStyles":{hidden:"uc-tab-toggle--hidden",visible:"uc-tab-toggle--visible"},"presence.tabTogglesStyles":{hidden:"uc-tab-toggles--hidden",visible:"uc-tab-toggles--visible"},"on.cancel":e=>{var i;this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{action:"cancel"}),(i=this._cancelPreload)==null||i.call(this),this.$["*on.cancel"]()},"on.apply":e=>{this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{action:"apply"}),this.$["*on.apply"](this.$["*editorTransformations"])},"on.applySlider":e=>{this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{action:"apply-slider",operation:lt(this.$["*operationTooltip"])}),this.ref["slider-el"].apply(),this._onSliderClose()},"on.cancelSlider":e=>{this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{action:"cancel-slider"}),this.ref["slider-el"].cancel(),this._onSliderClose()},"on.clickTab":e=>{let i=e.currentTarget.getAttribute("data-id");i&&(this.telemetryManager.sendEventCloudImageEditor(e,i),this._activateTab(i,{fromViewer:!1}))},tab_role:"tab",[`tab_${M.TUNING}`]:`tab_${M.TUNING}`,[`tab_${M.CROP}`]:`tab_${M.CROP}`,[`tab_${M.FILTERS}`]:`tab_${M.FILTERS}`,cancel:"cancel",apply:"apply","a11y-editor-tab-filters":"a11y-editor-tab-filters","a11y-editor-tab-tuning":"a11y-editor-tab-tuning","a11y-editor-tab-crop":"a11y-editor-tab-crop"},this._debouncedShowLoader=$(this._showLoader.bind(this),500)}_onSliderClose(){this.$["*showSlider"]=!1,this.$["*tabId"]===M.CROP&&(this.$["*showListAspectRatio"]=!1),this.$["*tabId"]===M.TUNING&&this.ref["tooltip-el"].classList.toggle("uc-info-tooltip_visible",!1)}_createOperationControl(e){let i=new Vt;return i.operation=e,i}_createFilterControl(e){let i=new ct;return i.filter=e,i}_createToggleControl(e){let i=new Pt;return i.operation=e,i}_createAspectRatioConrol(e){let i=new Rt;return i.aspectRatio=e,i}_createFreeformConrol(){return new at}_clearListAspectRatio(){this.$["*listAspectRatioEl"].innerHTML=""}_renderControlsList(e){let i=this.ref[`controls-list-${e}`],s=document.createDocumentFragment();if(this._clearListAspectRatio(),e===M.CROP){let o=this.$["*cropPresetList"].length>=3;if(o){let n=this._createFreeformConrol();s.appendChild(n)}this.$["*cropPresetList"].forEach(n=>{let a=this._createAspectRatioConrol(n);s.appendChild(a),o&&this.$["*listAspectRatioEl"].appendChild(a)}),this.$.cropOperations.forEach(n=>{let a=this._createToggleControl(n);s.appendChild(a)})}else e===M.FILTERS?[me,...this.$.filters].forEach(o=>{let n=this._createFilterControl(o);s.appendChild(n)}):e===M.TUNING&&this.$.colorOperations.forEach(o=>{let n=this._createOperationControl(o);s.appendChild(n)});[...s.children].forEach((o,n)=>{n===s.childNodes.length-1&&o.classList.add("uc-controls-list_last-item")}),i.innerHTML="",i.appendChild(s)}_activateTab(e,{fromViewer:i}){this.$["*tabId"]=e,e===M.CROP?(this.$["*faderEl"].deactivate(),this.$["*cropperEl"].activate(this.$["*imageSize"],{fromViewer:i})):(this.$["*faderEl"].activate({url:this.$["*originalUrl"],fromViewer:i}),this.$["*cropperEl"].deactivate());for(let s of Y){let o=s===e,n=this.ref[`tab-toggle-${s}`];n.active=o,o?(this._renderControlsList(e),this._syncTabIndicator()):this._unmountTabControls(s),this.$[`presence.tabContent.${s}`]=o}}_unmountTabControls(e){let i=this.ref[`controls-list-${e}`];i&&(i.innerHTML="")}_syncTabIndicator(){let e=this.ref[`tab-toggle-${this.$["*tabId"]}`],i=this.ref["tabs-indicator"];i.style.transform=`translateX(${e.offsetLeft}px)`}async _preloadEditedImage(){var e;if(this.$["*imgContainerEl"]&&this.$["*originalUrl"]){let i=this.$["*imgContainerEl"].offsetWidth,s=await this.proxyUrl(ut(this.$["*originalUrl"],i,this.$["*editorTransformations"]));(e=this._cancelPreload)==null||e.call(this);let{cancel:o}=Ft([s]);this._cancelPreload=()=>{o(),this._cancelPreload=void 0}}}_showLoader(e){this.$.showLoader=e}initCallback(){super.initCallback(),this.$["*sliderEl"]=this.ref["slider-el"],this.$["*listAspectRatioEl"]=this.ref["list-el"],this.sub("*imageSize",e=>{e&&setTimeout(()=>{this._activateTab(this.$["*tabId"],{fromViewer:!0})},0)}),this.sub("*editorTransformations",e=>{var s;let i=(s=e==null?void 0:e.filter)==null?void 0:s.name;this.$["*currentFilter"]!==i&&(this.$["*currentFilter"]=i)}),this.sub("*currentFilter",()=>{this._updateInfoTooltip()}),this.sub("*currentOperation",()=>{this._updateInfoTooltip()}),this.sub("*tabId",()=>{this._updateInfoTooltip()}),this.sub("*originalUrl",()=>{this.$["*faderEl"]&&this.$["*faderEl"].deactivate()}),this.sub("*editorTransformations",e=>{this._preloadEditedImage(),this.$["*faderEl"]&&this.$["*faderEl"].setTransformations(e)}),this.sub("*loadingOperations",e=>{let i=!1;for(let[,s]of e.entries()){if(i)break;for(let[,o]of s.entries())if(o){i=!0;break}}this._debouncedShowLoader(i)}),this.sub("*showSlider",e=>{this.$["presence.subToolbar"]=e,this.$["presence.mainToolbar"]=!e,this.$.hideSliderOrList=!0}),this.sub("*showListAspectRatio",e=>{this.$["presence.subToolbar"]=e,this.$["presence.mainToolbar"]=!e,this.$.hideSliderOrList=!1}),this.sub("*tabList",e=>{this.$["presence.tabToggles"]=e.length>1;for(let i of Y){this.$[`presence.tabToggle.${i}`]=e.includes(i);let s=this.ref[`tab-toggle-${i}`];s.style.gridColumn=e.indexOf(i)+1}e.includes(this.$["*tabId"])||this._activateTab(e[0],{fromViewer:!1})}),this._updateInfoTooltip()}destroyCallback(){this.$["*showSlider"]=!1,this.$["*showListAspectRatio"]=!1}};Hi.template=`<uc-line-loader-ui set="active: showLoader"></uc-line-loader-ui><div class="uc-info-tooltip_container"><div class="uc-info-tooltip_wrapper"><div ref="tooltip-el" class="uc-info-tooltip uc-info-tooltip_hidden">{{*operationTooltip}}</div></div></div><div class="uc-toolbar-container"><uc-presence-toggle role="tablist" class="uc-sub-toolbar" set="visible: presence.mainToolbar; styles: presence.subTopToolbarStyles" ><div class="uc-tab-content-row">${Y.map(Pc).join("")}</div><div class="uc-controls-row"><uc-presence-toggle class="uc-tab-toggles" set="visible: presence.tabToggles; styles: presence.tabTogglesStyles" ><div ref="tabs-indicator" class="uc-tab-toggles_indicator"></div> ${Y.map(Uc).join("")} </uc-presence-toggle><uc-btn-ui style="order: -1" theme="secondary-icon" icon="closeMax" set="onclick: on.cancel; title-prop:cancel"></uc-btn-ui><uc-btn-ui theme="primary-icon" icon="done" set="onclick: on.apply; title-prop:apply"></uc-btn-ui></div></uc-presence-toggle><uc-presence-toggle class="uc-sub-toolbar" set="visible: presence.subToolbar; styles: presence.subBottomToolbarStyles" ><div class="uc-slider" set="@hidden:!hideSliderOrList"><uc-editor-slider ref="slider-el"></uc-editor-slider></div><div set="@hidden:hideSliderOrList" class="uc-list-aspect-ratio-container"><div class="uc-list-aspect-ratio" ref="list-el"></div></div><div class="uc-controls-row"><uc-btn-ui theme="secondary" set="onclick: on.cancelSlider" l10n="@text:cancel"></uc-btn-ui><uc-btn-ui theme="primary" set="onclick: on.applySlider" l10n="@text:apply"></uc-btn-ui></div></uc-presence-toggle></div>`;var Nt=class extends y{constructor(){super(),this._iconReversed=!1,this._iconSingle=!1,this._iconHidden=!1,this.init$={...this.init$,text:"",icon:"",iconCss:this._iconCss(),theme:null,"aria-role":"","aria-controls":"","title-prop":""},this.defineAccessor("active",t=>{t?this.setAttribute("active",""):this.removeAttribute("active")})}_iconCss(){return B("uc-icon",{"uc-icon_left":!this._iconReversed,"uc-icon_right":this._iconReversed,"uc-icon_hidden":this._iconHidden,"uc-icon_single":this._iconSingle})}initCallback(){super.initCallback(),this.sub("icon",t=>{this._iconSingle=!this.$.text,this._iconHidden=!t,this.$.iconCss=this._iconCss()}),this.sub("theme",t=>{t!=="custom"&&(this.className=`uc-${t}`)}),this.sub("text",t=>{this._iconSingle=!1}),this.hasAttribute("theme")||this.setAttribute("theme","default"),this.defineAccessor("aria-role",t=>{this.$["aria-role"]=t||""}),this.defineAccessor("aria-controls",t=>{this.$["aria-controls"]=t||""}),this.defineAccessor("title-prop",t=>{this.$["title-prop"]=t||""})}set reverse(t){this.hasAttribute("reverse")?(this.style.flexDirection="row-reverse",this._iconReversed=!0):(this._iconReversed=!1,this.style.flexDirection=null)}};Nt.bindAttributes({text:"text",icon:"icon",reverse:"reverse",theme:"theme"});Nt.template=`<button type="button" set="@role:aria-role; @aria-controls: aria-controls; @aria-label:title-prop" l10n="@title:title-prop;" ><uc-icon set="className: iconCss; @name: icon; @hidden: !icon"></uc-icon><div class="uc-text">{{text}}</div></button>`;var ji=class extends y{constructor(){super(),this._active=!1,this._handleTransitionEndRight=()=>{let t=this.ref["line-el"];t.style.transition="initial",t.style.opacity="0",t.style.transform="translateX(-101%)",this._active&&this._start()}}initCallback(){super.initCallback(),this.defineAccessor("active",t=>{typeof t=="boolean"&&(t?this._start():this._stop())})}_start(){this._active=!0;let{width:t}=this.getBoundingClientRect(),e=this.ref["line-el"];e.style.transition="transform 1s",e.style.opacity="1",e.style.transform=`translateX(${t}px)`,e.addEventListener("transitionend",this._handleTransitionEndRight,{once:!0})}_stop(){this._active=!1}};ji.template=`<div class="uc-inner"><div class="uc-line" ref="line-el"></div></div>`;var Gi={transition:"uc-transition",visible:"uc-visible",hidden:"uc-hidden"},Wi=class extends y{constructor(){super(),this._visible=!1,this._visibleStyle=Gi.visible,this._hiddenStyle=Gi.hidden,this._externalTransitions=!1,this.defineAccessor("styles",t=>{t&&(this._externalTransitions=!0,this._visibleStyle=t.visible,this._hiddenStyle=t.hidden)}),this.defineAccessor("visible",t=>{typeof t=="boolean"&&(this._visible=t,this._handleVisible())})}_handleVisible(){this.style.visibility=this._visible?"inherit":"hidden",gn(this,{[Gi.transition]:!this._externalTransitions,[this._visibleStyle]:this._visible,[this._hiddenStyle]:!this._visible}),this.setAttribute("aria-hidden",this._visible?"false":"true")}initCallback(){super.initCallback(),this.classList.toggle("uc-initial",!0),this._externalTransitions||this.classList.add(Gi.transition),this._handleVisible(),setTimeout(()=>{this.classList.toggle("uc-initial",!1)},0)}};Wi.template="<slot></slot> ";var qi=class extends y{constructor(){super();u(this,"init$",{...this.init$,disabled:!1,min:0,max:100,onInput:null,onChange:null,defaultValue:null,"on.sliderInput":()=>{let e=parseInt(this.ref["input-el"].value,10);this._updateValue(e),this.$.onInput&&this.$.onInput(e)},"on.sliderChange":()=>{let e=parseInt(this.ref["input-el"].value,10);this.$.onChange&&this.$.onChange(e)}});this.setAttribute("with-effects","")}initCallback(){super.initCallback(),this.defineAccessor("disabled",i=>{this.$.disabled=i}),this.defineAccessor("min",i=>{this.$.min=i}),this.defineAccessor("max",i=>{this.$.max=i}),this.defineAccessor("defaultValue",i=>{this.$.defaultValue=i,this.ref["input-el"].value=i,this._updateValue(i)}),this.defineAccessor("zero",i=>{this._zero=i}),this.defineAccessor("onInput",i=>{i&&(this.$.onInput=i)}),this.defineAccessor("onChange",i=>{i&&(this.$.onChange=i)}),this._updateSteps(),this._observer=new ResizeObserver(()=>{this._updateSteps();let i=parseInt(this.ref["input-el"].value,10);this._updateValue(i)}),this._observer.observe(this),this._thumbSize=parseInt(window.getComputedStyle(this).getPropertyValue("--l-thumb-size"),10),setTimeout(()=>{let i=parseInt(this.ref["input-el"].value,10);this._updateValue(i)},0),this.sub("disabled",i=>{let s=this.ref["input-el"];i?s.setAttribute("disabled","disabled"):s.removeAttribute("disabled")});let e=this.ref["input-el"];e.addEventListener("focus",()=>{this.style.setProperty("--color-effect","var(--hover-color-rgb)")}),e.addEventListener("blur",()=>{this.style.setProperty("--color-effect","var(--idle-color-rgb)")})}_updateValue(e){this._updateZeroDot(e);let{width:i}=this.getBoundingClientRect(),n=100/(this.$.max-this.$.min)*(e-this.$.min)*(i-this._thumbSize)/100;window.requestAnimationFrame(()=>{this.ref["thumb-el"].style.transform=`translateX(${n}px)`})}_updateZeroDot(e){if(!this._zeroDotEl)return;e===this._zero?this._zeroDotEl.style.opacity="0":this._zeroDotEl.style.opacity="1";let{width:i}=this.getBoundingClientRect(),n=100/(this.$.max-this.$.min)*(this._zero-this.$.min)*(i-this._thumbSize)/100;window.requestAnimationFrame(()=>{this._zeroDotEl.style.transform=`translateX(${n}px)`})}_updateSteps(){let i=this.ref["steps-el"],{width:s}=i.getBoundingClientRect(),o=Math.ceil(s/2),n=Math.ceil(o/15)-2;if(this._stepsCount===n)return;let a=document.createDocumentFragment(),l=document.createElement("div"),c=document.createElement("div");l.className="uc-minor-step",c.className="uc-border-step",a.appendChild(c);for(let d=0;d<n;d++)a.appendChild(l.cloneNode());a.appendChild(c.cloneNode());for(let d=0;d<n;d++)a.appendChild(l.cloneNode());a.appendChild(c.cloneNode());let h=document.createElement("div");h.className="uc-zero-dot",a.appendChild(h),this._zeroDotEl=h,i.innerHTML="",i.appendChild(a),this._stepsCount=n}destroyCallback(){var e;super.destroyCallback(),(e=this._observer)==null||e.disconnect()}};qi.template=`<div class="uc-steps" ref="steps-el"></div><div ref="thumb-el" class="uc-thumb"></div><input class="uc-input" type="range" ref="input-el" set="oninput: on.sliderInput; onchange: on.sliderChange; @min: min; @max: max; @value: defaultValue;" />`;var as=class extends k{constructor(){super(...arguments);u(this,"couldBeCtxOwner",!0);u(this,"activityType",g.activities.CLOUD_IMG_EDIT);u(this,"_entry");u(this,"_instance")}get activityParams(){let e=super.activityParams;if("internalId"in e)return e;throw new Error("Cloud Image Editor activity params not found")}initCallback(){super.initCallback(),this.registerActivity(this.activityType,{onActivate:()=>this.mountEditor(),onDeactivate:()=>this.unmountEditor()}),this.subConfigValue("cropPreset",e=>{this._instance&&this._instance.getAttribute("crop-preset")!==e&&this._instance.setAttribute("crop-preset",e)}),this.subConfigValue("cloudImageEditorTabs",e=>{this._instance&&this._instance.getAttribute("tabs")!==e&&this._instance.setAttribute("tabs",e)})}handleApply(e){if(!this._entry)return;let i=e.detail;this._entry.setMultipleValues({cdnUrl:i.cdnUrl,cdnUrlModifiers:i.cdnUrlModifiers}),this.modalManager.close(g.activities.CLOUD_IMG_EDIT),this.historyBack()}handleCancel(){this.modalManager.close(g.activities.CLOUD_IMG_EDIT),this.historyBack()}mountEditor(){let{internalId:e}=this.activityParams,i=this.uploadCollection.read(e);if(!i)throw new Error(`Entry with internalId "${e}" not found`);this._entry=i;let s=this._entry.getValue("cdnUrl");if(!s)throw new Error(`Entry with internalId "${e}" hasn't uploaded yet`);let o=new fe,n=this.cfg.cropPreset,a=this.cfg.cloudImageEditorTabs;o.setAttribute("ctx-name",this.ctxName),o.setAttribute("cdn-url",s),n&&o.setAttribute("crop-preset",n),a&&o.setAttribute("tabs",a),o.addEventListener("apply",l=>{let c=l;this.handleApply(c),this.debugPrint('editor event "apply"',c.detail)}),o.addEventListener("cancel",l=>{let c=l;this.handleCancel(),this.debugPrint('editor event "cancel"',c.detail)}),o.addEventListener("change",l=>{let c=l;this.debugPrint('editor event "change"',c.detail)}),this.innerHTML="",this.appendChild(o),this._instance=o}unmountEditor(){this._instance=void 0,this._entry=void 0,this.innerHTML=""}};var An=()=>{var t,e;let r=(e=(t=globalThis.top)!=null?t:globalThis.parent)!=null?e:globalThis.self;try{return r.location.origin}catch(i){return console.warn("Unable to access top-level window location:",i),globalThis.location.origin}};var Rc=function(r){return r.replace(/[\\-\\[]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},xn=function(r,t="i"){let e=r.split("*").map(Rc);return new RegExp("^"+e.join(".+")+"$",t)};function Dc(r,t){return window.getComputedStyle(r).getPropertyValue(t).trim()}var Fc=["--uc-font-family","--uc-font-size","--uc-line-height","--uc-button-size","--uc-preview-size","--uc-input-size","--uc-padding","--uc-radius","--uc-transition","--uc-background","--uc-foreground","--uc-primary","--uc-primary-hover","--uc-primary-transparent","--uc-primary-foreground","--uc-secondary","--uc-secondary-hover","--uc-secondary-foreground","--uc-muted","--uc-muted-foreground","--uc-destructive","--uc-destructive-foreground","--uc-border"];function Tn(r){return Fc.reduce((t,e)=>{let i=Dc(r,e);return i&&(t[e]=i),t},{})}var Vc=["selected-files-change","toolbar-state-change"],Nc=r=>!r||typeof r!="object"?!1:"type"in r&&Vc.includes(r.type),Xi=class{constructor(t){u(this,"_handlerMap",new Map);u(this,"_context");u(this,"_handleMessage",t=>{if(t.source!==this._context)return;let e=t.data;if(!Nc(e))return;let i=this._handlerMap.get(e.type);if(i)for(let s of i)s(e)});this._context=t,window.addEventListener("message",this._handleMessage)}on(t,e){var s;let i=(s=this._handlerMap.get(t))!=null?s:new Set;this._handlerMap.has(t)||this._handlerMap.set(t,i),i.add(e)}send(t){this._context.postMessage(t,"*")}destroy(){window.removeEventListener("message",this._handleMessage)}};function Sn(r){let t=[];for(let[e,i]of Object.entries(r))i==null||typeof i=="string"&&i.length===0||t.push(`${e}=${encodeURIComponent(i)}`);return t.join("&")}var Bc={[de.GDRIVE]:"ngdrive"},Ki=class extends k{constructor(){super();u(this,"couldBeCtxOwner",!0);u(this,"activityType",g.activities.EXTERNAL);this.init$={...this.init$,activityIcon:"",activityCaption:"",selectedList:[],total:0,isSelectionReady:!1,isDoneBtnEnabled:!1,couldSelectAll:!1,couldDeselectAll:!1,showSelectionStatus:!1,showDoneBtn:!1,counterText:"",doneBtnTextClass:"uc-hidden",toolbarVisible:!0,onDone:()=>{for(let e of this.$.selectedList){let i=this.extractUrlFromSelectedFile(e),{filename:s}=e,{externalSourceType:o}=this.activityParams;this.api.addFileFromUrl(i,{fileName:s,source:o})}this.$["*currentActivity"]=g.activities.UPLOAD_LIST,this.modalManager.open(g.activities.UPLOAD_LIST)},onCancel:()=>{this.historyBack()},onSelectAll:()=>{var e;(e=this._messageBridge)==null||e.send({type:"select-all"})},onDeselectAll:()=>{var e;(e=this._messageBridge)==null||e.send({type:"deselect-all"})}}}get activityParams(){let e=super.activityParams;if("externalSourceType"in e)return e;throw new Error("External Source activity params not found")}initCallback(){super.initCallback(),this.registerActivity(this.activityType,{onActivate:()=>{let{externalSourceType:e}=this.activityParams;if(!e){this.modalManager.close(this.$["*currentActivity"]),this.$["*currentActivity"]=null,console.error(`Param "externalSourceType" is required for activity "${this.activityType}"`);return}this.set$({activityCaption:`${e==null?void 0:e[0].toUpperCase()}${e==null?void 0:e.slice(1)}`,activityIcon:e}),this.mountIframe()}}),this.sub("*currentActivityParams",e=>{this.isActivityActive&&(this.unmountIframe(),this.mountIframe())}),this.sub("*currentActivity",e=>{e!==this.activityType&&this.unmountIframe()}),this.subConfigValue("multiple",e=>{this.$.showSelectionStatus=e}),this.subConfigValue("localeName",e=>{this.setupL10n()}),this.subConfigValue("externalSourcesEmbedCss",e=>{this.applyEmbedCss(e)})}extractUrlFromSelectedFile(e){if(e.alternatives){let i=D(this.cfg.externalSourcesPreferredTypes);for(let s of i){let o=xn(s);for(let[n,a]of Object.entries(e.alternatives))if(o.test(n))return a}}return e.url}handleToolbarStateChange(e){this.set$({toolbarVisible:e.isVisible})}async handleSelectedFilesChange(e){if(this.cfg.multiple!==e.isMultipleMode){console.error("Multiple mode mismatch");return}this.bindL10n("counterText",()=>this.l10n("selected-count",{count:e.selectedCount,total:e.total})),this.set$({doneBtnTextClass:e.isReady?"":"uc-hidden",isSelectionReady:e.isReady,isDoneBtnEnabled:e.isReady&&e.selectedFiles.length>0,showSelectionStatus:e.isMultipleMode&&e.total>0,couldSelectAll:e.selectedCount<e.total,couldDeselectAll:e.selectedCount===e.total,selectedList:e.selectedFiles}),!this.$.showDoneBtn&&e.isReady&&(this.$.showDoneBtn=!0)}handleIframeLoad(){this.applyEmbedCss(this.cfg.externalSourcesEmbedCss),this.applyTheme(),this.setupL10n()}applyTheme(){var e;(e=this._messageBridge)==null||e.send({type:"set-theme-definition",theme:Tn(this)})}applyEmbedCss(e){var i;(i=this._messageBridge)==null||i.send({type:"set-embed-css",css:e})}setupL10n(){var e;(e=this._messageBridge)==null||e.send({type:"set-locale-definition",localeDefinition:this.cfg.localeName})}remoteUrl(){var d,p,f;let{pubkey:e,remoteTabSessionKey:i,socialBaseUrl:s,multiple:o}=this.cfg,{externalSourceType:n}=this.activityParams,a=(d=Bc[n])!=null?d:n,c={lang:((f=(p=this.l10n("social-source-lang"))==null?void 0:p.split("-"))==null?void 0:f[0])||"en",public_key:e,images_only:"false",session_key:i,wait_for_theme:!0,multiple:o.toString(),origin:this.cfg.topLevelOrigin||An(),debug:this.cfg.debug},h=new URL(`/window4/${a}`,s);return h.search=Sn(c),h.toString()}mountIframe(){var i;let e=nr({tag:"iframe",attributes:{src:this.remoteUrl(),marginheight:0,marginwidth:0,frameborder:0,allowTransparency:!0}});e.addEventListener("load",this.handleIframeLoad.bind(this)),this.ref.iframeWrapper.innerHTML="",this.ref.iframeWrapper.appendChild(e),e.contentWindow&&((i=this._messageBridge)==null||i.destroy(),this._messageBridge=new Xi(e.contentWindow),this._messageBridge.on("selected-files-change",this.handleSelectedFilesChange.bind(this)),this._messageBridge.on("toolbar-state-change",this.handleToolbarStateChange.bind(this)),this.resetSelectionStatus())}unmountIframe(){var e;(e=this._messageBridge)==null||e.destroy(),this._messageBridge=void 0,this.ref.iframeWrapper.innerHTML="",this.resetSelectionStatus()}resetSelectionStatus(){this.set$({selectedList:[],total:0,isDoneBtnEnabled:!1,couldSelectAll:!1,couldDeselectAll:!1,showSelectionStatus:!1,showDoneBtn:!1})}};Ki.template=`<uc-activity-header><button type="button" class="uc-mini-btn uc-close-btn" set="onclick: *historyBack" l10n="@title:a11y-activity-header-button-close;@aria-label:a11y-activity-header-button-close" ><uc-icon name="close"></uc-icon></button></uc-activity-header><div class="uc-content"><div ref="iframeWrapper" class="uc-iframe-wrapper"></div><div class="uc-toolbar" set="@hidden: !toolbarVisible"><button type="button" class="uc-cancel-btn uc-secondary-btn" set="onclick: onCancel" l10n="cancel"></button><div set="@hidden: !showSelectionStatus" class="uc-selection-status-box"><span>{{counterText}}</span><button type="button" set="onclick: onSelectAll; @hidden: !couldSelectAll" l10n="select-all"></button><button type="button" set="onclick: onDeselectAll; @hidden: !couldDeselectAll" l10n="deselect-all"></button></div><button type="button" class="uc-done-btn uc-primary-btn" set="onclick: onDone; @disabled: !isDoneBtnEnabled; @hidden: !showDoneBtn" ><uc-spinner set="@hidden: isSelectionReady"></uc-spinner><span l10n="done" set="@class: doneBtnTextClass"></span></button></div></div>`;var ls=class extends k{constructor(){super(...arguments);u(this,"requireCtxName",!0)}_createValidationInput(){let e=document.createElement("input");return e.type="text",e.name=this.ctxName,e.required=this.cfg.multipleMin>0,e.tabIndex=-1,ht(e,{opacity:0,height:0,width:0}),e}initCallback(){super.initCallback(),this._validationInputElement=this._createValidationInput(),this.appendChild(this._validationInputElement),this.sub("*collectionState",e=>{var i;{if(this._dynamicInputsContainer||(this._dynamicInputsContainer=document.createElement("div"),this.appendChild(this._dynamicInputsContainer)),!this._validationInputElement){let a=this._createValidationInput();this.appendChild(a),this._validationInputElement=a}if(this._dynamicInputsContainer.innerHTML="",e.status==="uploading"||e.status==="idle"){this._validationInputElement.value="",this._validationInputElement.setCustomValidity("");return}if(e.status==="failed"){let a=(i=e.errors[0])==null?void 0:i.message;this._validationInputElement.value="",this._validationInputElement.setCustomValidity(a);return}let s=e.group?e.group:null;if(s){this._validationInputElement.value=s.cdnUrl,this._validationInputElement.setCustomValidity("");return}let o=e.allEntries.map(a=>a.cdnUrl);if(!this.cfg.multiple&&o.length===1){this._validationInputElement.value=o[0],this._validationInputElement.setCustomValidity("");return}this._validationInputElement.remove(),this._validationInputElement=null;let n=new DocumentFragment;for(let a of o){let l=document.createElement("input");l.type="hidden",l.name=`${this.ctxName}[]`,l.value=a,n.appendChild(l)}this._dynamicInputsContainer.replaceChildren(n)}},!1)}};var cs=class extends g{};var Zi=class extends y{constructor(){super(...arguments);u(this,"init$",{...this.init$,currentText:"",options:[],selectHtml:"",onSelect:e=>{var i;e.preventDefault(),e.stopPropagation(),this.value=this.ref.select.value,this.$.currentText=((i=this.$.options.find(s=>s.value==this.value))==null?void 0:i.text)||"",this.dispatchEvent(new Event("change"))}})}initCallback(){super.initCallback(),this.sub("options",e=>{var s;this.$.currentText=((s=e==null?void 0:e[0])==null?void 0:s.text)||"";let i="";e==null||e.forEach(o=>{i+=`<option value="${o.value}">${o.text}</option>`}),this.$.selectHtml=i})}};Zi.template='<select ref="select" set="innerHTML: selectHtml; onchange: onSelect"></select>';var Yi=class extends y{initCallback(){super.initCallback(),this.subConfigValue("removeCopyright",t=>{this.toggleAttribute("hidden",!!t)})}};u(Yi,"template",`<a href="https://uploadcare.com/?utm_source=copyright&utm_medium=referral&utm_campaign=v4" target="_blank noopener" class="uc-credits" >Powered by Uploadcare</a >`);var Qi=class extends Se{};Qi.template='<div class="uc-spinner"></div>';function zc(r){let t=new Blob([r],{type:"image/svg+xml"});return URL.createObjectURL(t)}function Ji(r="hsl(209, 21%, 65%)",t=32,e=32){return zc(`<svg width="${t}" height="${e}" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" fill="${r}" d="M9.68848 8.70068C9.68848 8.42454 9.91233 8.20068 10.1885 8.20068H15.0885C15.2211 8.20068 15.3483 8.25336 15.442 8.34713L20.342 13.2471C20.4358 13.3409 20.4885 13.4681 20.4885 13.6007V21.3007C20.4885 21.5768 20.2646 21.8007 19.9885 21.8007H10.1885C9.91233 21.8007 9.68848 21.5768 9.68848 21.3007V8.70068ZM10.6885 9.20068V20.8007H19.4885V14.1007L15.0885 14.1007C14.8123 14.1007 14.5885 13.8768 14.5885 13.6007L14.5885 9.20068H10.6885ZM15.5885 9.90779L18.7814 13.1007L15.5885 13.1007L15.5885 9.90779Z"/></svg>`)}function us(r,t=40){if(r.type==="image/svg+xml")return URL.createObjectURL(r);let e=document.createElement("canvas"),i=e.getContext("2d"),s=new Image,o=new Promise((n,a)=>{s.onload=()=>{let l=s.height/s.width;l>1?(e.width=t,e.height=t*l):(e.height=t,e.width=t/l),i.fillStyle="rgb(240, 240, 240)",i.fillRect(0,0,e.width,e.height),i.drawImage(s,0,0,e.width,e.height),e.toBlob(c=>{if(!c){a();return}let h=URL.createObjectURL(c);n(h)})},s.onerror=l=>{a(l)}});return s.src=URL.createObjectURL(r),o}var Hc=3e3,Bt=class extends ot{constructor(){super();u(this,"_renderedGridOnce",!1);u(this,"_thumbRect",null);u(this,"_isIntersecting",!1);u(this,"_firstViewMode",this.cfg.filesViewMode);u(this,"_generateThumbnail",this._withEntry(async(e,i=!1)=>{let s=e.getValue("fileInfo"),o=e.getValue("isImage"),n=e.getValue("uuid"),a=e.getValue("thumbUrl"),l=this._calculateThumbSize(i);if(s&&o&&n){let h=await this.proxyUrl(R(Ie(this.cfg.cdnCname,n),H(e.getValue("cdnUrlModifiers"),"stretch/off",`scale_crop/${l}x${l}/center`)));if(a===h)return;let{promise:d}=Ge(h);d.then(()=>{e.setValue("thumbUrl",h),a!=null&&a.startsWith("blob:")&&URL.revokeObjectURL(a)}).catch(async()=>{if(!(a!=null&&a.startsWith("blob:")))try{let p=e.getValue("file");if(!p)return;let f=await us(p,l);e.setValue("thumbUrl",f)}catch(p){this.telemetryManager.sendEventError(p,"thumbnail generation. Failed to generate thumb from file");let f=window.getComputedStyle(this).getPropertyValue("--uc-muted-foreground");e.setValue("thumbUrl",Ji(f))}});return}if(e.getValue("thumbUrl"))return;let c=e.getValue("file");if(c!=null&&c.type.includes("image"))try{let h=await us(c,l);e.setValue("thumbUrl",h)}catch(h){this.telemetryManager.sendEventError(h,"thumbnail generation. Failed to generate thumb from file");let d=window.getComputedStyle(this).getPropertyValue("--uc-muted-foreground");e.setValue("thumbUrl",Ji(d))}else{let h=window.getComputedStyle(this).getPropertyValue("--uc-muted-foreground");e.setValue("thumbUrl",Ji(h))}}));u(this,"_debouncedGenerateThumb",$(this._generateThumbnail.bind(this),100));this.init$={...this.init$,thumbUrl:"",badgeIcon:"",uid:""}}_calculateThumbSize(e=!1){var s,o;e&&(this._thumbRect=this.getBoundingClientRect());let i=Math.max(parseInt(String(((s=this==null?void 0:this._thumbRect)==null?void 0:s.height)||0)),parseInt(String(((o=this==null?void 0:this._thumbRect)==null?void 0:o.width)||0)),this.cfg.thumbSize);return window.devicePixelRatio>1&&(i*=window.devicePixelRatio),Math.min(i,Hc)}_observerCallback(e){var s;let[i]=e;this._isIntersecting=i.isIntersecting,i.isIntersecting&&(this._thumbRect=i.boundingClientRect,this._debouncedGenerateThumb(),(s=this._observer)==null||s.disconnect()),i.intersectionRatio===0&&this._debouncedGenerateThumb.cancel()}_reset(){super._reset(),this._debouncedGenerateThumb.cancel()}_handleEntryId(e){var s;this._reset();let i=(s=this.uploadCollection)==null?void 0:s.read(e);this._entry=i,i&&(this._subEntry("fileInfo",o=>{o!=null&&o.isImage&&this._isIntersecting&&this._debouncedGenerateThumb()}),this._subEntry("thumbUrl",o=>{this.$.thumbUrl=o?`url(${o})`:""}),this._subEntry("cdnUrlModifiers",()=>{this._isIntersecting&&this._debouncedGenerateThumb()}),this._isIntersecting&&this._debouncedGenerateThumb())}initCallback(){super.initCallback(),this.defineAccessor("badgeIcon",e=>this.$.badgeIcon=e),this.defineAccessor("uid",e=>{this.set$({uid:e})}),this.sub("uid",e=>{this._handleEntryId(e)}),this.subConfigValue("filesViewMode",e=>{e==="grid"&&!this._renderedGridOnce&&(this._firstViewMode==="list"&&this._debouncedGenerateThumb(!0),this._renderedGridOnce=!0)}),this.setAttribute("role","img")}connectedCallback(){super.connectedCallback(),this._observer=new window.IntersectionObserver(this._observerCallback.bind(this),{threshold:.1}),this._observer.observe(this)}disconnectedCallback(){var e;super.disconnectedCallback(),this._entrySubs=new Set,this._debouncedGenerateThumb.cancel(),(e=this._observer)==null||e.disconnect()}};Bt.template=`<div class="uc-thumb" set="style.backgroundImage: thumbUrl"><div class="uc-badge"><uc-icon set="@name: badgeIcon"></uc-icon></div></div>`;Bt.bindAttributes({badgeIcon:null,uid:null});var zt=class zt extends ce{constructor(){super(),this.init$={...this.init$,isHidden:!1,"*solution":this.tagName}}initCallback(){super.initCallback(),this.emit(ye.INIT_SOLUTION,void 0),this.defineAccessor("headless",t=>{this.set$({isHidden:O(t)})})}};u(zt,"styleAttrs",[...Z(zt,zt,"styleAttrs"),"uc-file-uploader-regular"]);var Ht=zt;Ht.template=`<uc-simple-btn set="@hidden: isHidden"></uc-simple-btn><uc-modal id="start-from" strokes block-body-scrolling><uc-start-from><uc-drop-area with-icon clickable></uc-drop-area><uc-source-list role="list" wrap></uc-source-list><button type="button" l10n="start-from-cancel" class="uc-secondary-btn" set="onclick: *historyBack"></button><uc-copyright></uc-copyright></uc-start-from></uc-modal><uc-modal id="upload-list" strokes block-body-scrolling><uc-upload-list></uc-upload-list></uc-modal><uc-modal id="camera" strokes block-body-scrolling><uc-camera-source></uc-camera-source></uc-modal><uc-modal id="url" strokes block-body-scrolling><uc-url-source></uc-url-source></uc-modal><uc-modal id="external" strokes block-body-scrolling><uc-external-source></uc-external-source></uc-modal><uc-modal id="cloud-image-edit" strokes block-body-scrolling><uc-cloud-image-editor-activity></uc-cloud-image-editor-activity></uc-modal>`;Ht.bindAttributes({headless:null});var ds="active",er="",jt=class jt extends ce{constructor(){super(),this.init$={...this.init$,singleUpload:!1,isHiddenStartFrom:!1,classUploadList:er,classStartFrom:er,"*solution":this.tagName}}_handleModalOpen(t){var e;t.id===g.activities.CLOUD_IMG_EDIT&&this.set$({classUploadList:ds}),this.$["*currentActivity"]===g.activities.UPLOAD_LIST&&this.set$({classUploadList:ds,isHiddenStartFrom:!0}),((e=this.$["*uploadList"])==null?void 0:e.length)<=0&&this.set$({classStartFrom:ds})}_handleModalClose(t){t.id===this.$["*currentActivity"]&&(this.$["*currentActivity"]=g.activities.UPLOAD_LIST,this.set$({isHiddenStartFrom:!1})),t.id===g.activities.CLOUD_IMG_EDIT&&(this.$["*currentActivity"]=g.activities.UPLOAD_LIST)}initCallback(){super.initCallback(),this.emit(ye.INIT_SOLUTION,void 0);let t=this.ref.uBlock;this.sub("*currentActivity",e=>{e===g.activities.UPLOAD_LIST&&this.modalManager.closeAll(),e||(this.$["*currentActivity"]=t.initActivity||g.activities.START_FROM)}),this.sub("*uploadList",e=>{(e==null?void 0:e.length)>0?(this.$["*currentActivity"]=g.activities.UPLOAD_LIST,this.set$({classStartFrom:er})):(this.set$({classUploadList:er,isHiddenStartFrom:!1}),this.$["*currentActivity"]=t.initActivity||g.activities.START_FROM)}),this.subConfigValue("confirmUpload",e=>{e!==!1&&(this.cfg.confirmUpload=!1)}),this.subConfigValue("filesViewMode",e=>{this.setAttribute("mode",e),this.subConfigValue("multiple",i=>{e==="grid"?(i?this.style.removeProperty("--uc-grid-col"):this.style.setProperty("--uc-grid-col","1"),this.$.singleUpload=!i):(this.style.removeProperty("--uc-grid-col"),this.$.singleUpload=!1)})}),this.handleModalOpen=this._handleModalOpen.bind(this),this.handleModalClose=this._handleModalClose.bind(this),this.modalManager.subscribe(F.OPEN,this.handleModalOpen),this.modalManager.subscribe(F.CLOSE,this.handleModalClose)}destroyCallback(){super.destroyCallback(),this.modalManager.unsubscribe(F.OPEN,this.handleModalOpen),this.modalManager.unsubscribe(F.CLOSE,this.handleModalClose)}};u(jt,"styleAttrs",[...Z(jt,jt,"styleAttrs"),"uc-file-uploader-minimal"]);var tr=jt;tr.template=`<uc-start-from set="@hidden: isHiddenStartFrom; @class:classStartFrom"><uc-drop-area set="@single:singleUpload;" initflow clickable tabindex="0" l10n="choose-file"></uc-drop-area><uc-copyright></uc-copyright></uc-start-from><uc-upload-list set="@class:classUploadList" ref="uBlock"></uc-upload-list><uc-modal id="start-from" strokes block-body-scrolling><uc-start-from><uc-drop-area with-icon clickable></uc-drop-area><uc-source-list role="list" wrap></uc-source-list><button type="button" l10n="start-from-cancel" class="uc-secondary-btn" set="onclick: *historyBack"></button></uc-start-from></uc-modal><uc-modal id="camera" strokes block-body-scrolling><uc-camera-source></uc-camera-source></uc-modal><uc-modal id="url" strokes block-body-scrolling><uc-url-source></uc-url-source></uc-modal><uc-modal id="external" strokes block-body-scrolling><uc-external-source></uc-external-source></uc-modal><uc-modal id="cloud-image-edit" strokes block-body-scrolling><uc-cloud-image-editor-activity></uc-cloud-image-editor-activity></uc-modal>`;var Gt=class Gt extends ce{constructor(){super(),this.init$={...this.init$,couldCancel:!1,"*solution":this.tagName,cancel:()=>{this.couldHistoryBack?this.$["*historyBack"]():this.couldShowList&&(this.$["*currentActivity"]=g.activities.UPLOAD_LIST)}}}get couldHistoryBack(){let t=this.$["*history"];return t.length>1&&t[t.length-1]!==g.activities.START_FROM}get couldShowList(){return this.cfg.showEmptyList||this.$["*uploadList"].length>0}initCallback(){super.initCallback(),this.emit(ye.INIT_SOLUTION,void 0);let t=this.ref.uBlock;this.sub("*currentActivity",e=>{e||(this.$["*currentActivity"]=t.initActivity||g.activities.START_FROM)}),this.sub("*uploadList",e=>{(e==null?void 0:e.length)>0&&this.$["*currentActivity"]===(t.initActivity||g.activities.START_FROM)&&(this.$["*currentActivity"]=g.activities.UPLOAD_LIST)}),this.sub("*history",()=>{this.$.couldCancel=this.couldHistoryBack||this.couldShowList})}};u(Gt,"styleAttrs",[...Z(Gt,Gt,"styleAttrs"),"uc-file-uploader-inline"]);var ir=Gt;ir.template=`<uc-start-from><uc-drop-area with-icon clickable></uc-drop-area><uc-source-list role="list" wrap></uc-source-list><button type="button" l10n="start-from-cancel" class="uc-cancel-btn uc-secondary-btn" set="onclick: cancel; @hidden: !couldCancel" ></button><uc-copyright></uc-copyright></uc-start-from><uc-upload-list ref="uBlock"></uc-upload-list><uc-camera-source></uc-camera-source><uc-url-source></uc-url-source><uc-external-source></uc-external-source><uc-cloud-image-editor-activity></uc-cloud-image-editor-activity>`;var Wt=class Wt extends fe{constructor(){super(),this.init$={...this.init$,"*solution":this.tagName}}initCallback(){var t;super.initCallback(),this.emit(ye.INIT_SOLUTION,void 0),(t=this.a11y)==null||t.registerBlock(this)}};u(Wt,"styleAttrs",[...Z(Wt,Wt,"styleAttrs"),"uc-wgt-common"]);var hs=Wt;function ps(r){for(let t in r){let e=[...t].reduce((i,s)=>(s.toUpperCase()===s&&(s="-"+s.toLowerCase()),i+=s),"");e.startsWith("-")&&(e=e.replace("-","")),e.startsWith("uc-")||(e="uc-"+e),r[t].reg&&r[t].reg(e)}}var fs="UC";async function jc(r,t=!1){return new Promise((e,i)=>{if(typeof document!="object"){e(null);return}if(typeof window=="object"&&window[fs]){e(window[fs]);return}let s=document.createElement("script");s.async=!0,s.src=r,s.onerror=()=>{i()},s.onload=()=>{let o=window[fs];t&&ps(o),e(o)},document.head.appendChild(s)})}export{g as ActivityBlock,cs as ActivityHeader,Se as BaseComponent,y as Block,Nt as BtnUi,Pi as CameraSource,hs as CloudImageEditor,as as CloudImageEditorActivity,fe as CloudImageEditorBlock,Gl as Config,Yi as Copyright,Fi as CropFrame,T as Data,kt as DropArea,Rt as EditorAspectRatioButtonControl,Pt as EditorCropButtonControl,ct as EditorFilterControl,at as EditorFreeformButtonControl,Bi as EditorImageCropper,ns as EditorImageFader,Vt as EditorOperationControl,zi as EditorScroller,Ni as EditorSlider,Hi as EditorToolbar,Ki as ExternalSource,de as ExternalUploadSource,Lt as FileItem,ir as FileUploaderInline,tr as FileUploaderMinimal,Ht as FileUploaderRegular,ls as FormInput,xt as Icon,Jr as Img,ji as LineLoaderUi,$i as Modal,F as ModalEvents,Ue as PACKAGE_NAME,Pe as PACKAGE_VERSION,Wi as PresenceToggle,Di as ProgressBar,Ri as ProgressBarCommon,Zi as Select,It as SimpleBtn,qi as SliderUi,ce as SolutionBlock,$t as SourceBtn,is as SourceList,Qi as Spinner,Ii as StartFrom,Bt as Thumb,Te as UID,Ac as UploadCtxProvider,Mi as UploadList,U as UploadSource,k as UploaderBlock,Li as UrlSource,ps as defineComponents,Zs as defineLocale,jc as loadFileUploaderFrom,Et as toKebabCase};
|