@emailmaker/emailmaker 1.1.85-dev.6 → 1.1.85-dev.8

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.
Files changed (79) hide show
  1. package/README.md +17 -5
  2. package/{emailmaker-core.fd7c3ffe.js → emailmaker-core.2047dd1a.js} +42 -42
  3. package/emailmaker-esm.js +10 -10
  4. package/{emailmaker-po.fd7c3ffe.js → emailmaker-po.2047dd1a.js} +1 -1
  5. package/emailmaker.d.ts +33 -6
  6. package/emailmaker.js +12 -12
  7. package/iframe/.vite/manifest.json +4 -4
  8. package/iframe/js/{discussHandlers.Clc2uPQ5.js → discussHandlers.DEF7Kx48.js} +5 -5
  9. package/iframe/js/iframe-eblock.body.js +1 -1
  10. package/iframe/js/iframe-eblock.js +1 -1
  11. package/iframe/js/iframe.body.js +2 -2
  12. package/iframe/js/iframe.js +1 -1
  13. package/node_modules/@emailmaker/ui-kit/es/components/Custom/FormPanel/FormSection/index.js +1 -1
  14. package/node_modules/@emailmaker/ui-kit/es/components/Custom/Inputs/ColorPickerInput/index.js +1 -1
  15. package/node_modules/@emailmaker/ui-kit/es/components/Custom/Inputs/ControlFontFamily/index.js +1 -1
  16. package/node_modules/@emailmaker/ui-kit/es/components/Custom/Inputs/InputSelect/index.js +34 -31
  17. package/node_modules/@emailmaker/ui-kit/es/components/Custom/PanelForm/index.js +1 -1
  18. package/node_modules/@emailmaker/ui-kit/es/components/DataDisplay/Card/index.js +1 -1
  19. package/node_modules/@emailmaker/ui-kit/es/components/DataDisplay/Skeleton/index.js +1 -1
  20. package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/Cascader/index.js +1 -1
  21. package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/Checkbox/index.js +1 -1
  22. package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/ColorPicker/index.js +1 -1
  23. package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/DatePicker/index.js +1 -1
  24. package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/Form/index.js +1 -1
  25. package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/Input/index.js +1 -1
  26. package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/InputNumber/index.js +1 -1
  27. package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/InputOTP/index.js +1 -1
  28. package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/Password/index.js +1 -1
  29. package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/Radio/index.js +1 -1
  30. package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/SearchInput/index.js +1 -1
  31. package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/Switch/index.js +2 -2
  32. package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/TextArea/index.js +1 -1
  33. package/node_modules/@emailmaker/ui-kit/es/components/Feedback/Alert/index.js +1 -1
  34. package/node_modules/@emailmaker/ui-kit/es/components/Feedback/Popconfirm/index.js +1 -1
  35. package/node_modules/@emailmaker/ui-kit/es/components/Feedback/Spin/index.js +1 -1
  36. package/node_modules/@emailmaker/ui-kit/es/components/Feedback/Tooltip/index.js +1 -1
  37. package/node_modules/@emailmaker/ui-kit/es/components/General/Button/index.js +1 -1
  38. package/node_modules/@emailmaker/ui-kit/es/components/Layout/Divider/index.js +1 -1
  39. package/node_modules/@emailmaker/ui-kit/es/components/Layout/Row/index.js +1 -1
  40. package/node_modules/@emailmaker/ui-kit/es/components/Layout/Space/index.js +1 -1
  41. package/node_modules/@emailmaker/ui-kit/es/components/Navigation/FloatButton/index.js +1 -1
  42. package/node_modules/@emailmaker/ui-kit/es/components/Navigation/Segmented/index.js +1 -1
  43. package/node_modules/@emailmaker/ui-kit/es/components/Navigation/Tabs/index.js +1 -1
  44. package/node_modules/@emailmaker/ui-kit/package.json +1 -1
  45. package/package.json +2 -2
  46. package/runtime/react/index.js +1 -1
  47. package/static/core/{dc224a5b.js → 134673be.js} +1 -1
  48. package/static/core/{f0138633.js → 13cb7458.js} +1 -1
  49. package/static/core/{baf39a20.js → 20510a35.js} +1 -1
  50. package/static/core/{ceff9046.js → 3364944b.js} +1 -1
  51. package/static/core/{af5819b6.js → 357b2101.js} +1 -1
  52. package/static/core/{922df02d.js → 3608ef89.js} +1 -1
  53. package/static/core/{1cb0ff80.js → 384f52ae.js} +1 -1
  54. package/static/core/{dd291b53.js → 38ea40d5.js} +1 -1
  55. package/static/core/{1c31ec91.js → 49417e0f.js} +1 -1
  56. package/static/core/{48270509.js → 4a69e61b.js} +2 -2
  57. package/static/core/{afb434bd.js → 4ce7d544.js} +1 -1
  58. package/static/core/{7b8ce310.js → 4ed7c44e.js} +1 -1
  59. package/static/core/{7010b77d.js → 4eec44be.js} +1 -1
  60. package/static/core/{d240cf62.js → 52727b3c.js} +2 -2
  61. package/static/core/{6a5804ca.js → 6dd8d273.js} +1 -1
  62. package/static/core/{72c8c438.js → a259d477.js} +1 -1
  63. package/static/core/{adf163ad.js → a6d4a170.js} +1 -1
  64. package/static/core/{422d6166.js → bb9b0659.js} +1 -1
  65. package/static/core/{9ce867fe.js → bfb41946.js} +1 -1
  66. package/static/core/{8130abb3.js → c463cfc9.js} +1 -1
  67. package/static/core/{dbb931dd.js → c70ac7ca.js} +1 -1
  68. package/static/core/{9bc03055.js → d1a1a5b2.js} +1 -1
  69. package/static/core/{7cc4b0e9.js → e7c35a6b.js} +1 -1
  70. package/static/core/{c54e9dcb.js → f220d2ff.js} +1 -1
  71. package/static/core/{ad7afbf4.js → fc16423f.js} +8 -8
  72. package/static/esm/e1e55006.js +1 -0
  73. package/static/umd-runtime/runtime.js +1 -1
  74. package/static/umd-runtime/ui-kit.js +2 -2
  75. package/vite/index.cjs +38 -0
  76. package/vite/index.js +38 -0
  77. package/static/esm/6e6cc619.js +0 -1
  78. /package/iframe/{iframe-eblock.fd7c3ffe.html → iframe-eblock.2047dd1a.html} +0 -0
  79. /package/iframe/{iframe.fd7c3ffe.html → iframe.2047dd1a.html} +0 -0
package/emailmaker-esm.js CHANGED
@@ -1,4 +1,4 @@
1
- import{t as si}from"./static/esm/50fbfdf6.js";import{$ as Zo,A as es,At as le,B as ts,C as ns,Ct as rs,D as is,Dt as os,E as ss,Et as q,F as We,G as ai,H as Ye,I as as,J as ls,K as ds,L as cs,M as us,Mt as fs,N as Ze,Nt as Z,O as li,Ot as ft,P as ps,Q as di,R as ms,S as hs,St as gs,T as vs,Tt as bn,V as $n,W as bs,X as Es,Y as ci,Z as Pe,_ as pt,_t as pe,a as ys,at as oe,b as _s,bt as ws,c as Ss,ct as Is,d as bt,dt as Ts,et as we,f as As,ft as Cs,g as ui,gt as Ce,h as Rs,ht as En,i as Ps,it as fi,j as Ds,jt as Os,k as xs,kt as x,l as k,lt as Ls,m as yn,mt as pi,n as Ms,nt as De,o as Le,ot as Xt,p as ks,pt as F,q as _n,r as Ns,rt as Et,s as Fs,st as me,t as ce,tt as N,u as js,ut as zn,v as Bs,vt as Us,w as wn,wt as Q,x as Vn,xt as Kn,y as Hs,yt as Jt,z as Te}from"./static/esm/6e6cc619.js";(function(){"use strict";var e=window.__emailmaker__=window.__emailmaker__||{};e.__facadeSentinel="@shared-runtime:init-complete",e.publicPath||(e.publicPath=(function(){var m=(function(){if(typeof document<"u"&&document.querySelector)try{var _=document.querySelector('script[src*="emailmaker-esm.js"]')||document.querySelector('script[src*="emailmaker.js"]');if(_&&_.src)return _.src.substring(0,_.src.lastIndexOf("/")+1)}catch{}try{var T=import.meta.url;if(T)return T.substring(0,T.lastIndexOf("/")+1)}catch{}return"./"})();m||(m="./");try{var c=String(m);if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(c)||c.indexOf("//")===0)return c.charAt(c.length-1)==="/"?c:c+"/";var a=typeof document<"u"&&document.baseURI?document.baseURI:typeof window<"u"&&window.location?window.location.href:"",p=a?new URL(c,a).href:c;return p.charAt(p.length-1)==="/"?p:p+"/"}catch{var h=String(m);return h.charAt(h.length-1)==="/"?h:h+"/"}})()),typeof e.setPublicPath!="function"&&(e.setPublicPath=function(m){return e.publicPath=(function(){var c=m==null?"":String(m);c||(c="./");try{var a=String(c);if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(a)||a.indexOf("//")===0)return a.charAt(a.length-1)==="/"?a:a+"/";var p=typeof document<"u"&&document.baseURI?document.baseURI:typeof window<"u"&&window.location?window.location.href:"",h=p?new URL(a,p).href:a;return h.charAt(h.length-1)==="/"?h:h+"/"}catch{var _=String(c);return _.charAt(_.length-1)==="/"?_:_+"/"}})(),e.publicPath}),e.__publicPathDiagnosticsLogged||(e.__publicPathDiagnosticsLogged=!0,(function(){var m=String(e.publicPath||"");if(m.indexOf("file:")!==0&&!(m&&m!=="./")){var c="";try{if(typeof window<"u"){for(var a in window)if(!(a==="__emailmaker__"||!/^__[^_].*__$/.test(a))){var p;try{p=window[a]}catch{continue}if(p&&typeof p=="object"&&p.publicPath){c=" Another product namespace ("+a+") has publicPath set — verify the host bundler plugin matches the installed npm brand.";break}}}}catch{}}})()),e.assetUrl||(e.assetUrl=function(m){function c(C){try{var P=typeof document<"u"&&document.baseURI?document.baseURI:typeof window<"u"&&window.location?window.location.href:"";return P?new URL(String(C||""),P).href:String(C||"")}catch{return String(C||"")}}var a=String(m||"");if(!a)return"";if(/^(?:data:|blob:)/.test(a))return a;if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(a)||a.indexOf("//")===0||a.charAt(0)==="/")return c(a);var p=a.replace(/^\.\/+/,"").replace(/^\/+/,""),h="static/media".replace(/^\.\/+/,"").replace(/^\/+/,"").replace(/\/+$/,""),_=h&&p.indexOf(h+"/")!==0?h+"/"+p:p,T=e.publicPath||"./";try{return new URL(_,T).href}catch{return T.slice(-1)!=="/"&&(T+="/"),c(T+_)}}),e.version||(e.version="1.1.85-dev.6");var t=e.modules=Object.create(null);if(typeof e.define!="function"){var n=`/**
1
+ import{t as fi}from"./static/esm/50fbfdf6.js";import{$ as ss,A as as,At as L,B as ls,C as ds,Ct as cs,D as us,Dt as $,E as fs,Et as pt,F as Ye,G as pi,H as Xe,I as ps,J as ms,K as hs,L as gs,M as vs,Mt as bs,N as tt,Nt as Es,O as mi,Ot as ys,P as _s,Pt as ee,Q as hi,R as ws,S as Ss,St as Is,T as Ts,Tt as Tn,V as Zn,W as As,X as Cs,Y as gi,Z as Pe,_ as mt,_t as pe,a as Rs,at as se,b as Ps,bt as Ds,c as Os,ct as xs,d as yt,dt as Ls,et as we,f as Ms,ft as ks,g as vi,gt as Ce,h as Ns,ht as An,i as Fs,it as bi,j as js,jt as ce,k as Bs,kt as ht,l as F,lt as Us,m as Cn,mt as Rn,n as Hs,nt as De,o as Le,ot as tn,p as Gs,pt as B,q as Pn,r as qs,rt as _t,s as $s,st as me,t as le,tt as j,u as zs,ut as er,v as Vs,vt as Ks,w as Dn,wt as Z,x as tr,xt as nr,y as Ws,yt as nn,z as Te}from"./static/esm/e1e55006.js";(function(){"use strict";var e=window.__emailmaker__=window.__emailmaker__||{};e.__facadeSentinel="@shared-runtime:init-complete",e.publicPath||(e.publicPath=(function(){var m=(function(){if(typeof document<"u"&&document.querySelector)try{var w=document.querySelector('script[src*="emailmaker-esm.js"]')||document.querySelector('script[src*="emailmaker.js"]');if(w&&w.src)return w.src.substring(0,w.src.lastIndexOf("/")+1)}catch{}try{var T=import.meta.url;if(T)return T.substring(0,T.lastIndexOf("/")+1)}catch{}return"./"})();m||(m="./");try{var c=String(m);if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(c)||c.indexOf("//")===0)return c.charAt(c.length-1)==="/"?c:c+"/";var l=typeof document<"u"&&document.baseURI?document.baseURI:typeof window<"u"&&window.location?window.location.href:"",p=l?new URL(c,l).href:c;return p.charAt(p.length-1)==="/"?p:p+"/"}catch{var h=String(m);return h.charAt(h.length-1)==="/"?h:h+"/"}})()),typeof e.setPublicPath!="function"&&(e.setPublicPath=function(m){return e.publicPath=(function(){var c=m==null?"":String(m);c||(c="./");try{var l=String(c);if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(l)||l.indexOf("//")===0)return l.charAt(l.length-1)==="/"?l:l+"/";var p=typeof document<"u"&&document.baseURI?document.baseURI:typeof window<"u"&&window.location?window.location.href:"",h=p?new URL(l,p).href:l;return h.charAt(h.length-1)==="/"?h:h+"/"}catch{var w=String(c);return w.charAt(w.length-1)==="/"?w:w+"/"}})(),e.publicPath}),e.__publicPathDiagnosticsLogged||(e.__publicPathDiagnosticsLogged=!0,(function(){var m=String(e.publicPath||"");if(m.indexOf("file:")!==0&&!(m&&m!=="./")){var c="";try{if(typeof window<"u"){for(var l in window)if(!(l==="__emailmaker__"||!/^__[^_].*__$/.test(l))){var p;try{p=window[l]}catch{continue}if(p&&typeof p=="object"&&p.publicPath){c=" Another product namespace ("+l+") has publicPath set — verify the host bundler plugin matches the installed npm brand.";break}}}}catch{}}})()),e.assetUrl||(e.assetUrl=function(m){function c(O){try{var k=typeof document<"u"&&document.baseURI?document.baseURI:typeof window<"u"&&window.location?window.location.href:"";return k?new URL(String(O||""),k).href:String(O||"")}catch{return String(O||"")}}var l=String(m||"");if(!l)return"";if(/^(?:data:|blob:)/.test(l))return l;if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(l)||l.indexOf("//")===0||l.charAt(0)==="/")return c(l);var p=l.replace(/^\.\/+/,"").replace(/^\/+/,""),h="static/media".replace(/^\.\/+/,"").replace(/^\/+/,"").replace(/\/+$/,""),w=h&&p.indexOf(h+"/")!==0?h+"/"+p:p,T=e.publicPath||"./";try{return new URL(w,T).href}catch{return T.slice(-1)!=="/"&&(T+="/"),c(T+w)}}),e.version||(e.version="1.1.85-dev.8");var t=e.modules=Object.create(null);if(typeof e.define!="function"){var n=`/**
2
2
  * Async AMD Loader (IIFE version for injection)
3
3
  *
4
4
  * This file is injected at the beginning of iframe entry points.
@@ -993,14 +993,14 @@ import{t as si}from"./static/esm/50fbfdf6.js";import{$ as Zo,A as es,At as le,B
993
993
  __amdEnv.syncRequire = syncRequire;
994
994
  __amdEnv.diagnosticsBuffer = diagBuffer;
995
995
  })();
996
- `,r=new Function("__amdEnv",n);r(e),typeof e.require=="function"&&typeof e.require.config=="function"&&e.require.config({baseUrl:"./",paths:{core:"emailmaker-core.fd7c3ffe.js",po:"emailmaker-po.fd7c3ffe.js",monaco:"static/monaco/index.js"}})}e.define("__delivery__/libs",[],function(){return import("./static/esm/delivery-libs.js")});var i=function(m){var c,a=function(){return c||(c=Promise.resolve().then(m))};return{then:function(p,h){return a().then(p,h)},catch:function(p){return a().catch(p)},finally:function(p){return a().finally(p)}}},o=i(function(){return e.require(["__delivery__/libs"]).then(function(m){return m[0]})});t.React=i(function(){return o.then(function(m){return m.React})}),t.ReactDom=i(function(){return o.then(function(m){return m.ReactDom})}),t.ReactDomClient=i(function(){return o.then(function(m){return m.ReactDomClient})}),t.ReactJsxRuntime=i(function(){return o.then(function(m){return m.ReactJsxRuntime})}),t.ReactJsxDevRuntime=i(function(){return o.then(function(m){return m.ReactJsxDevRuntime})}),t.AntDesignIconBase=i(function(){return o.then(function(m){return m.AntDesignIconBase})}),t.AntDesignCssinjs=i(function(){return o.then(function(m){return m.AntDesignCssinjs})}),t.Classnames=i(function(){return o.then(function(m){return m.Classnames})}),t.Dayjs=i(function(){return o.then(function(m){return m.Dayjs})});var s=i(function(){return Promise.all([o]).then(function(m){var c=m[0]||Object.create(null),a=Object.create(null);for(var p in c)Object.prototype.hasOwnProperty.call(c,p)&&(a[p]=c[p]);for(var h in a)Object.prototype.hasOwnProperty.call(a,h)&&(t[h]=a[h]);return a})}),d={},l={Antd:"[runtime] `antd` is not available: the compatibility layer for global plugins is not enabled. Add `import '@emailmaker/emailmaker/compat-globals';` before creating the editor, or turn on the `compatGlobals` option of the bundler plugin. ESM builds omit this layer by default so that plugin compatibility is not paid for by every integrator.",AntDesignIcons:"[runtime] `@ant-design/icons` is not available: the compatibility layer for global plugins is not enabled. Add `import '@emailmaker/emailmaker/compat-globals';` before creating the editor, or turn on the `compatGlobals` option of the bundler plugin. ESM builds omit this layer by default so that plugin compatibility is not paid for by every integrator."},f={Antd:"[runtime] `antd` is served from the host runtime for backward compatibility. Rebuild the plugin with the current CLI to bundle it from its own copy of the package. This compatibility layer is deprecated.",AntDesignIcons:"[runtime] `@ant-design/icons` is served from the host runtime for backward compatibility. Rebuild the plugin with the current CLI to bundle it from its own copy of the package. This compatibility layer is deprecated."},u=Object.create(null);if(e.registerCompat=function(m){if(!(!m||typeof m!="object"))for(var c in m)Object.prototype.hasOwnProperty.call(m,c)&&(u[c]=m[c])},e.__compatPending){for(var v=0;v<e.__compatPending.length;v+=1)e.registerCompat(e.__compatPending[v]);e.__compatPending=void 0}for(var b in l)Object.prototype.hasOwnProperty.call(l,b)&&(function(m,c,a){var p=!1,h=function(){if(!(m in u))throw new Error(c);return u[m]};Object.defineProperty(t,m,{configurable:!0,enumerable:!0,get:function(){var _=h();return p||(p=!0),_},set:function(_){u[m]=_}}),Object.defineProperty(d,m,{configurable:!0,enumerable:!0,get:h,set:function(_){u[m]=_}})})(b,l[b],f[b]);var E=t;for(var I in d)Object.prototype.hasOwnProperty.call(d,I)&&(E===t&&(E=Object.create(t)),Object.defineProperty(E,I,Object.getOwnPropertyDescriptor(d,I)));var g=s,y=[],w=function(){for(var m=[],c=0;c<y.length;c+=1)(function(a){var p=t[a];p&&typeof p.then=="function"&&m.push(Promise.resolve(p).then(function(h){t[a]=h}))})(y[c]);return Promise.all(m)},S=typeof e.prefetch=="function"?e.prefetch:void 0;if(e.prefetch=function(){return s.then(w).then(function(){if(typeof S=="function")return S.call(e)})},typeof e.define=="function"){let m=function(c){if(!c||typeof c!="object"&&typeof c!="function"||c.__esModule)return c;if(A){var a=A.get(c);if(a)return a}var p=Object.create(null);Object.defineProperties(p,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});for(var h=Reflect.ownKeys(c),_=0;_<h.length;_++){var T=h[_];if(T!=="__esModule"){var C=Object.getOwnPropertyDescriptor(c,T);C&&Object.defineProperty(p,T,C)}}return Object.prototype.hasOwnProperty.call(p,"default")||Object.defineProperty(p,"default",{enumerable:!0,value:c,writable:!1}),A&&A.set(c,p),p};var A=typeof WeakMap<"u"?new WeakMap:null;e.define("react",[],function(){var c=E.React;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.React)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.React;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/react",[],function(){var c=E.React;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.React)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.React;return m(p)})}),e.define("react-dom",[],function(){var c=E.ReactDom;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.ReactDom)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.ReactDom;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/react-dom",[],function(){var c=E.ReactDom;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.ReactDom)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.ReactDom;return m(p)})}),e.define("react-dom/client",[],function(){var c=E.ReactDomClient;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.ReactDomClient)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.ReactDomClient;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/react-dom/client",[],function(){var c=E.ReactDomClient;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.ReactDomClient)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.ReactDomClient;return m(p)})}),e.define("react/jsx-runtime",[],function(){var c=E.ReactJsxRuntime;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.ReactJsxRuntime)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.ReactJsxRuntime;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/react/jsx-runtime",[],function(){var c=E.ReactJsxRuntime;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.ReactJsxRuntime)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.ReactJsxRuntime;return m(p)})}),e.define("react/jsx-dev-runtime",[],function(){var c=E.ReactJsxDevRuntime;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.ReactJsxDevRuntime)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.ReactJsxDevRuntime;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/react/jsx-dev-runtime",[],function(){var c=E.ReactJsxDevRuntime;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.ReactJsxDevRuntime)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.ReactJsxDevRuntime;return m(p)})}),e.define("antd",[],function(){var c=E.Antd;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.Antd)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.Antd;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/antd",[],function(){var c=E.Antd;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.Antd)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.Antd;return m(p)})}),e.define("@ant-design/icons/es/components/AntdIcon",[],function(){var c=E.AntDesignIconBase;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.AntDesignIconBase)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.AntDesignIconBase;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/@ant-design/icons/es/components/AntdIcon",[],function(){var c=E.AntDesignIconBase;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.AntDesignIconBase)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.AntDesignIconBase;return m(p)})}),e.define("@ant-design/icons",[],function(){var c=E.AntDesignIcons;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.AntDesignIcons)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.AntDesignIcons;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/@ant-design/icons",[],function(){var c=E.AntDesignIcons;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.AntDesignIcons)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.AntDesignIcons;return m(p)})}),e.define("@ant-design/cssinjs",[],function(){var c=E.AntDesignCssinjs;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.AntDesignCssinjs)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.AntDesignCssinjs;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/@ant-design/cssinjs",[],function(){var c=E.AntDesignCssinjs;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.AntDesignCssinjs)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.AntDesignCssinjs;return m(p)})}),e.define("classnames",[],function(){var c=E.Classnames;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.Classnames)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.Classnames;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/classnames",[],function(){var c=E.Classnames;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.Classnames)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.Classnames;return m(p)})}),e.define("dayjs",[],function(){var c=E.Dayjs;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.Dayjs)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.Dayjs;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/dayjs",[],function(){var c=E.Dayjs;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.Dayjs)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.Dayjs;return m(p)})}),e.define("@emailmaker/ui-kit",[],function(){var c=E.UiKit;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.UiKit)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.UiKit;return m(p)})}),e.define("@emailmaker/emailmaker/ui-kit",[],function(){var c=E.UiKit;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.UiKit)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.UiKit;return m(p)})}),e.define("@emailmaker/emailmaker/ui-kit/icons",[],function(){var c=E.UiKitIcons;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.UiKitIcons)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.UiKitIcons;return m(p)})}),e.define("@emailmaker/ui-kit/icons",[],function(){var c=E.UiKitIcons;return c&&typeof c.then=="function"?c.then(function(a){return a===void 0?g.then(function(p){return m(p.UiKitIcons)}):m(a)}):c!==void 0?m(c):g.then(function(a){var p=a.UiKitIcons;return m(p)})})}globalThis.__SHARED_RUNTIME_INIT_SENTINEL__="@shared-runtime:init-complete"})();var Gs=new Function("url","return import(url)");function qs(e){if(typeof e!="function")return!1;try{return Reflect.construct(String,[],e),!0}catch{return!1}}function $s(e){return typeof e=="object"&&e!==null&&"type"in e&&"url"in e}function zs(e){return e.type==="umd"||e.resolve==="registry"}var Vs=class{_context;_pluginRegistry;_options;_map=new Map;_optionsMap=new Map;_readyMap=new Map;_resolveMap=new Map;_initializingPlugins=new Map;_creatingPlugins=new Set;_initializedPlugins=new Set;_creationOrder=[];_lifecycleListeners=new Set;_activated=!1;constructor(e,t,n={}){this._context=e,this._pluginRegistry=t,this._options=n}activate(){return this._activated=!0,this._startPluginsBatch(Array.from(this._map.values()))}activateSync(){this._activated=!0,this._startPluginsBatch(Array.from(this._map.values()))}onLifecycle(e){return this._lifecycleListeners.add(e),{dispose:()=>this._lifecycleListeners.delete(e)}}_emitLifecycle(e){for(const t of Array.from(this._lifecycleListeners))try{t(e)}catch{}}async _resolveEntry(e){if(typeof e=="string"||typeof e=="symbol"){const t=await this._pluginRegistry.getAsync(e);if(!t)throw new Error(`Plugin "${String(e)}" not registered.`);return{ctor:t}}if(typeof e=="function")return e.length===0?{ctor:await e()}:{ctor:e};if(Array.isArray(e)){const[t,n]=e;if(typeof t=="function")return{ctor:t,options:n};const r=await this._pluginRegistry.getAsync(t);if(!r)throw new Error(`Plugin "${String(t)}" not registered.`);return{ctor:r,options:n}}if($s(e))return this._resolveDescriptor(e);throw new Error(`Unknown plugin entry format: ${JSON.stringify(e)}`)}async _resolveDescriptor(e){const t=e.resolve??(e.type==="umd"?"window":"module");if(zs(e)&&await this._options.ensureHostRuntimeReady?.(e),e.type==="esm"){const n=await Gs(e.url);if(t==="module")return{ctor:n.default??n};if(t==="registry"&&e.name){const r=await this._pluginRegistry.getAsync(e.name);if(!r)throw new Error(`Plugin "${e.name}" not found in registry after ESM load`);return{ctor:r}}}if(e.type==="umd"){if(await this._loadScript(e.url),t==="window"&&e.name){const n=globalThis[e.name];if(!n)throw new Error(`Plugin "${e.name}" not found on window after script load`);return{ctor:n}}if(t==="registry"&&e.name){const n=await this._pluginRegistry.getAsync(e.name);if(!n)throw new Error(`Plugin "${e.name}" not found in registry after script load`);return{ctor:n}}}throw new Error(`Cannot resolve descriptor: type=${e.type}, resolve=${t}, name=${e.name??"none"}`)}_loadScript(e){return new Promise((t,n)=>{if(typeof document>"u"){n(new Error("Cannot load UMD script in non-browser environment"));return}const r=document.createElement("script");r.src=e,r.onload=()=>t(),r.onerror=()=>n(new Error(`Failed to load script: ${e}`)),document.head.appendChild(r)})}initSync(e){const t=[];for(const n of e){const r=this._getOrCreate(n,void 0);t.push(r)}this._activated=!0,this._startPluginsBatch(t)}async init(e){const t=[],n=new Set;for(const r of e){const{ctor:i,options:o}=await this._resolveEntry(r),s=this._getOrCreate(i,o);n.has(s)||(n.add(s),t.push(s))}this._activated=!0,await this._startPluginsBatch(t)}async setPlugins(e){const t=new Set,n=[];for(const s of e){const d=await this._resolveEntry(s);t.add(d.ctor),n.push(d)}const r=[];this._map.forEach((s,d)=>{t.has(d)||r.push({key:d,plugin:s})});for(let s=r.length-1;s>=0;s--){const{key:d,plugin:l}=r[s];await this._initializingPlugins.get(l),await this._disposePlugin(l,l.constructor.name),this._map.delete(d),this._optionsMap.delete(d),this._readyMap.delete(l),this._resolveMap.delete(l),this._initializingPlugins.delete(l),this._initializedPlugins.delete(l);const f=this._creationOrder.indexOf(l);f>=0&&this._creationOrder.splice(f,1)}const i=[],o=new Set;for(const{ctor:s,options:d}of n){const l=this._getOrCreate(s,d);o.has(l)||(o.add(l),i.push(l))}this._activated&&await this._startPluginsBatch(i)}isReady(e){return this._initializedPlugins.has(e)}ready(e){return this._initializingPlugins.get(e)??this._readyMap.get(e)??Promise.resolve()}async waitFor(e,t){if(this._pluginRegistry.has(e))return this.useByKeyAsync(e);const{timeout:n}=t??{};return await new Promise((r,i)=>{let o,s=!1;const d=()=>{s||(s=!0,o&&clearTimeout(o),this._pluginRegistry.off(e,d),r())};this._pluginRegistry.on(e,d),n!==void 0&&n>0&&(o=setTimeout(()=>{s||(s=!0,this._pluginRegistry.off(e,d),i(new Error(`waitFor("${String(e)}") timed out after ${n}ms`)))},n))}),this.useByKeyAsync(e)}useByKey(e){const t=this._pluginRegistry.get(e);if(!t)throw new Error(`Plugin "${String(e)}" not registered or not loaded yet. Use useByKeyAsync() for async plugins.`);const n=this._getOrCreate(t);return this._activated&&this._startPluginsBatch([n]),n}async useByKeyAsync(e){const t=await this._pluginRegistry.getAsync(e);if(!t)throw new Error(`Plugin "${String(e)}" not registered.`);const n=this._getOrCreate(t);return this._activated&&await this._startPluginsBatch([n]),n}useByCtor(e,t){const n=this._getOrCreate(e,t);return this._activated&&this._startPluginsBatch([n]),n}use(e){return typeof e=="function"?this.useByCtor(e):this.useByKey(e)}async useAsync(e){const{ctor:t,options:n}=await this._resolveEntry(e),r=this._getOrCreate(t,n);return this._activated&&await this._startPluginsBatch([r]),r}_getOrCreate(e,t){const n=e;if(!this._map.has(n)){t!==void 0&&this._optionsMap.set(n,t);const r=this._optionsMap.get(n),i=this._createPluginInstance(e,r),o=i.constructor.name;this._emitLifecycle({type:"created",plugin:i,name:o}),i.required?.(),this._map.set(n,i),this._creationOrder.push(i),this._setupReadyPromise(i)}return this._map.get(n)}_createPluginInstance(e,t){const n=e;if(this._creatingPlugins.has(n))throw new Error(`Cyclic dependency for plugin ${e.name}`);this._creatingPlugins.add(n);try{return qs(e)?new e(this._context,t):e(this._context,t)||{}}finally{this._creatingPlugins.delete(n)}}_setupReadyPromise(e){const t=new Promise(n=>{this._resolveMap.set(e,n)});this._readyMap.set(e,t)}async _startPluginsBatch(e){const t=Array.from(new Set(e)),n=new Set,r=[];for(const i of t){if(this._initializedPlugins.has(i))continue;const o=this._initializingPlugins.get(i);if(o){n.add(o);continue}r.push(i)}if(r.length>0){const i=this._runBatchLifecycle(r);for(const o of r)this._initializingPlugins.set(o,i);n.add(i),i.finally(()=>{for(const o of r)this._initializingPlugins.get(o)===i&&this._initializingPlugins.delete(o)})}await Promise.all(n)}async _runBatchLifecycle(e){const t=[];for(const n of e){const r=n.constructor.name;this._emitLifecycle({type:"init:start",plugin:n,name:r});try{await n.init?.(),this._emitLifecycle({type:"init:success",plugin:n,name:r}),t.push(n)}catch(i){this._emitLifecycle({type:"init:error",plugin:n,name:r,error:i})}}for(const n of t){const r=n.constructor.name;this._emitLifecycle({type:"afterInit:start",plugin:n,name:r});try{await n.afterInit?.(),this._emitLifecycle({type:"afterInit:success",plugin:n,name:r})}catch(i){this._emitLifecycle({type:"afterInit:error",plugin:n,name:r,error:i})}}for(const n of e)this._initializedPlugins.add(n),this._resolveMap.get(n)?.(),this._resolveMap.delete(n)}async _disposePlugin(e,t){this._emitLifecycle({type:"dispose:start",plugin:e,name:t});try{await e.dispose?.(),this._emitLifecycle({type:"dispose:success",plugin:e,name:t})}catch(n){this._emitLifecycle({type:"dispose:error",plugin:e,name:t,error:n})}}async dispose(){for(let e=this._creationOrder.length-1;e>=0;e--){const t=this._creationOrder[e];await this._initializingPlugins.get(t),await this._disposePlugin(t,t.constructor.name)}this._map.clear(),this._optionsMap.clear(),this._readyMap.clear(),this._resolveMap.clear(),this._initializingPlugins.clear(),this._initializedPlugins.clear(),this._creationOrder.length=0,this._lifecycleListeners.clear()}getStatus(){return Array.from(this._map.values()).map(e=>({name:e.constructor.name,initialized:this._initializedPlugins.has(e)}))}},Ks=class{_plugins=new Map;_listeners=new Map;_getOrCreateEntry(e){let t=this._plugins.get(e);return t||(t={overrides:[]},this._plugins.set(e,t)),t}_applyOverrides(e,t){const n=this._plugins.get(e);if(n?.overrides)for(const r of n.overrides)t=r(t)||t;return t}_notifyListeners(e,t){const n=this._listeners.get(e);if(!n||n.length===0)return;for(const i of n)try{i.callback(t)}catch{}const r=n.filter(i=>!i.once);r.length>0?this._listeners.set(e,r):this._listeners.delete(e)}get(e){const t=this._plugins.get(e);if(t?.ctor)return this._applyOverrides(e,t.ctor)}async getAsync(e){const t=this._plugins.get(e);if(t?.ctor)return this._applyOverrides(e,t.ctor);if(t?.loading){const n=await t.loading;return this._applyOverrides(e,n)}if(t?.factory){const n=Promise.resolve(t.factory()).then(i=>(t.ctor=i,t.loading=void 0,this._notifyListeners(e,i),i));t.loading=n;const r=await n;return this._applyOverrides(e,r)}return new Promise(n=>{this.on(e,r=>n(this._applyOverrides(e,r)))})}add(e,t){const n=this._getOrCreateEntry(e);n.ctor=t,this._notifyListeners(e,t)}addAll(e){for(const t of Object.keys(e)){const n=e[t];n!==void 0&&this.add(t,n)}}addAsync(e,t){const n=this._getOrCreateEntry(e);return n.factory=t,{dispose:()=>{n.ctor||(n.factory=void 0)}}}has(e){const t=this._plugins.get(e);return!!(t?.ctor||t?.factory)}isLoaded(e){return!!this._plugins.get(e)?.ctor}override(e,t){const n=this._getOrCreateEntry(e);return n.overrides.push(t),{dispose:()=>{const r=n.overrides.indexOf(t);r>=0&&n.overrides.splice(r,1)}}}on(e,t){const n=this.get(e);n&&t(n);let r=this._listeners.get(e);r||(r=[],this._listeners.set(e,r));const i={callback:t,once:!1};return r.push(i),{dispose:()=>this._removeListener(e,t)}}once(e,t){const n=this.get(e);if(n)return t(n),{dispose:()=>{}};let r=this._listeners.get(e);r||(r=[],this._listeners.set(e,r));const i={callback:t,once:!0};return r.push(i),{dispose:()=>this._removeListener(e,t)}}off(e,t){this._removeListener(e,t)}_removeListener(e,t){const n=this._listeners.get(e);if(n){const r=n.findIndex(i=>i.callback===t);r>=0&&n.splice(r,1),n.length===0&&this._listeners.delete(e)}}keys(){return Array.from(this._plugins.keys())}forContext(){const e=this;return{add(t,n){e.add(t,n)}}}},Ws=class{resolveRegistry;constructor(e){this.resolveRegistry=e}target(){return this.resolveRegistry()}get(e){return this.target().get(e)}getAsync(e){return this.target().getAsync(e)}add(e,t){return this.target().add(e,t)}addAll(e){return this.target().addAll(e)}addAsync(e,t){return this.target().addAsync(e,t)}has(e){return this.target().has(e)}isLoaded(e){return this.target().isLoaded(e)}override(e,t){return this.target().override(e,t)}on(e,t){return this.target().on(e,t)}once(e,t){return this.target().once(e,t)}off(e,t){return this.target().off(e,t)}keys(){return this.target().keys()}forContext(){return this.target().forContext()}},Wn=class{capacity;items=[];constructor(e){this.capacity=e}push(e){this.items.length>=this.capacity&&this.items.shift(),this.items.push(e)}snapshot(){return this.items.slice()}size(){return this.items.length}clear(){this.items=[]}};function Ys(e,t){return t+e}function Xs(){return typeof performance>"u"?Date.now():Ys(performance.now(),performance.timeOrigin)}var Js="emailmaker:diagnostics",Qs="diagnostics",Zs="diagnostics";function Yn(e,t){return t?`${e}${e.includes("?")?"&":"?"}${Zs}=1`:e}var At;function ea(){try{const e=new URLSearchParams(window.location.search).get(Qs);return e===null?void 0:e!=="0"}catch{return}}function ta(){const e=window.__DIAGNOSTICS__;return typeof e=="boolean"?e:void 0}function na(){try{const e=window.localStorage.getItem(Js);return e===null?void 0:e==="1"}catch{return}}function qe(){return At===void 0&&(At=typeof window>"u"?!1:ea()??ta()??na()??!1),At}function ra(e){return`__${(e||"emailmaker").toLowerCase().replaceAll("-","")}__`}var J={initStart:"loader:init:start",coreReady:"loader:core:ready",initEnd:"loader:init:end",chunksLoaded:"app:chunks:loaded",showStart:"show:start",showEnd:"show:end",canvasCreated:"canvas:created",canvasLoaded:"canvas:loaded",canvasPainted:"canvas:painted",appVisible:"app:visible",editorVisible:"editor:visible",canvasSettled:"canvas:settled"},Eh=Object.values(J),yh=[J.canvasPainted,J.canvasSettled,J.appVisible,J.editorVisible],ia=5e3,oa=3e3,Xn="diagnosticsStore",et,Ne;function Jn(){return{marks:new Wn(ia),resources:new Wn(oa)}}function mi(){if(Ne)return Ne;const e=Sn();return e?(Ne=e[Xn]??et??Jn(),e[Xn]=Ne,et=void 0,Ne):(et??=Jn(),et)}function $(e,t){qe()&&mi().marks.push({phase:e,at:Xs(),...t})}function Sn(){if(typeof window.__emailmaker__<"u"&&window.__emailmaker__)return window.__emailmaker__;if(typeof window>"u")return;const e=window[ra()];return e!==null&&typeof e=="object"?e:void 0}function sa(e){const t=e.length,n=mi();return e.forEach(r=>n.marks.push(r)),e.length=0,t}function aa(){const e=Sn();return!e||!Array.isArray(e.diagnosticsBuffer)?0:sa(e.diagnosticsBuffer)}var la="Editor instance was destroyed and cannot be reused. A fresh instance will be created instead.";function In(){const e=new Error(la);return e.name="DestroyedInstanceError",e}function Qt(e,t){if(e===t)return!0;if(!e||!t||typeof e!="object"||typeof t!="object")return!1;const n=Array.isArray(e);if(n!==Array.isArray(t))return!1;if(n){const o=e,s=t;return o.length===s.length&&o.every((d,l)=>Qt(d,s[l]))}const r=Object.keys(e),i=Object.keys(t);return r.length!==i.length?!1:r.every(o=>Object.prototype.hasOwnProperty.call(t,o)&&Qt(e[o],t[o]))}function hi(e,t){const n={watch(r){let i,o=!1;return e.watch(s=>{const d=t(s);o&&Qt(i,d)||(i=d,o=!0,r(d))})},select(r){return hi(n,r)}};return n}function Me(...e){let t=e[0],n=e.length>0;const r=new Set,i={get(){return n?t:void 0},set(o){t=o,n=!0;for(const s of Array.from(r))s(o)},watch(o){return r.add(o),n&&o(t),{dispose:()=>r.delete(o)}},select(o){return hi(i,o)}};return i}var gi=class{http;constructor(e){this.http=e}app_init_create=(e,t={})=>this.http.request({path:"/app/v1/app_init",method:"POST",body:e,type:Es.UrlEncoded,...t})},vi=class{http;constructor(e){this.http=e}get_translations2=({file:e,...t},n={})=>this.http.request({path:`/translations/v1/${e}`,method:"GET",...n});get_translations3=({id:e,file:t,...n},r={})=>this.http.request({path:`/translations/v1/${t}/${e}`,method:"GET",...r})};function da(e){return String(e||"").trim()||void 0}var ca=class extends Z{deps;_app;_baseUrl;_appInit;_restBaseUrl;_prevApp;constructor(e){super(),this.deps=e,this.addDisposable(e.options.select(t=>this._slice(t)).watch(t=>this._start(t)))}get app(){return this._app}_slice(e){return Object.prototype.hasOwnProperty.call(e,"baseUrl")&&(this._baseUrl=da(e.baseUrl)),Object.prototype.hasOwnProperty.call(e,"appInit")&&(this._appInit=e.appInit),{appInit:this._appInit,user:e.user,project:e.project,baseUrl:this._baseUrl,restBaseUrl:this.deps.resolveRestBaseUrl(this._baseUrl),standalone:this.deps.isStandalone()}}_start(e){if(this._restBaseUrl!==e.restBaseUrl&&(this._restBaseUrl=e.restBaseUrl,this.deps.setRestBaseUrl(e.restBaseUrl)),e.standalone)return;const t=e.appInit||this.deps.fallbackAppInit,n=Promise.resolve(t({baseUrl:e.baseUrl,user:e.user,project:e.project,prevApp:this._prevApp}));this._app=n,n.then(r=>{this._app===n&&(this._prevApp=r)},()=>{}),this.deps.publish(n)}},Tn=x("AppInitService");function ua(e){return async()=>{const t=await e();return(await new gi(t).app_init_create({})).data}}function fa(e){e.injectFactory(Tn,()=>{const t=new ca({options:e.getInstance(oe),isStandalone:()=>!!e.getInstance(me),resolveRestBaseUrl:n=>n?Vn(n):Vn()||void 0,setRestBaseUrl:n=>{e.getInstance(Bs)?.setOptions(n?{baseUrl:n}:{})},fallbackAppInit:ua(()=>e.getInstanceAsync(ls)),publish:n=>{e.inject(Pe,n)}});return e.getInstance(N)?.addDisposable(t),t},!0)}var An=x("documentSession.emailDocuments");function Ct(e){return e?.getInstance(An)}var pa=x("RevisionServiceFlag");function ma(e){return e.getOrCreateInstance(pa,()=>{let t=!1;return{isEnabled:()=>t,set:n=>{t=n}}})}function bi(e){return ma(e).isEnabled()}var ha=x("EmailRightsResolver");function ga(e,t){const n=e.getInstance(ha);return n?n(t):!0}var Ei=x("EmailHistoryAvailabilityResolver");function va(e){return e.getInstance(Ei)!==void 0}async function ba(e){const t=e.getInstance(Ei);if(!t)return!0;try{return await t()}catch{return!1}}var Cn={INIT_START:5e3,SET_ENTITY:12e3,PREHEADER:5e3,SUBJECT:5e3,INITED:5e3,UPDATE_ENTITY:5e3},yi=["INIT_START","SET_ENTITY","PREHEADER","SUBJECT","INITED"],_i=2e4,Ea=yi.reduce((e,t)=>e+Cn[t],0),wi=_i+Ea+3e3;function ya(e){return yi.reduce((t,n)=>t+Si(n,e),0)}function Si(e,t){const n=t?.[e];return typeof n=="number"&&n>0?n:Cn[e]}function Ii(e){const t=e?.contentReady;return typeof t=="number"&&t>0?t:wi}function Ti(e){const t=e?.sandboxReady;return typeof t=="number"&&t>0?t:_i}function Ai(e=wi){return e+3e3}var _a=()=>Ai();function wa(e,t){let n;return Promise.race([e,new Promise(r=>{n=setTimeout(()=>{r()},t)})]).finally(()=>{n!==void 0&&clearTimeout(n)})}function Sa(e){return t=>wa(e.getOrCreateInstance(F.BEFORE_SAVE_EMAIL,()=>new pe).fire(t),_a())}function Ia(e){return e!=null&&e!==""}var Ta;function yt(e,t){return Ta?.capture(e,t)}function Aa(e=""){let t=e;return{read:()=>t,write:n=>{t=n},dispose:()=>{t=""}}}function tt(e){return e.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}var re=class{oldPosition;oldText;newPosition;newText;get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(e,t,n,r){this.oldPosition=e,this.oldText=t,this.newPosition=n,this.newText=r}toString(){return this.oldText.length===0?`(insert@${this.oldPosition} "${tt(this.newText)}")`:this.newText.length===0?`(delete@${this.oldPosition} "${tt(this.oldText)}")`:`(replace@${this.oldPosition} "${tt(this.oldText)}" with "${tt(this.newText)}")`}};function Qn(e,t){return e===null||e.length===0?t:new Ca(e,t).compress()}var Ca=class se{_prevEdits;_currEdits;_result;_resultLen;_prevLen;_prevDeltaOffset;_currLen;_currDeltaOffset;constructor(t,n){this._prevEdits=t,this._currEdits=n,this._result=[],this._resultLen=0,this._prevLen=this._prevEdits.length,this._prevDeltaOffset=0,this._currLen=this._currEdits.length,this._currDeltaOffset=0}compress(){let t=0,n=0,r=this._getPrev(t),i=this._getCurr(n);for(;t<this._prevLen||n<this._currLen;){if(r===null){if(i===null)break;this._acceptCurr(i),i=this._getCurr(++n);continue}if(i===null){this._acceptPrev(r),r=this._getPrev(++t);continue}if(i.oldEnd<=r.newPosition){this._acceptCurr(i),i=this._getCurr(++n);continue}if(r.newEnd<=i.oldPosition){this._acceptPrev(r),r=this._getPrev(++t);continue}if(i.oldPosition<r.newPosition){const[l,f]=se._splitCurr(i,r.newPosition-i.oldPosition);this._acceptCurr(l),i=f;continue}if(r.newPosition<i.oldPosition){const[l,f]=se._splitPrev(r,i.oldPosition-r.newPosition);this._acceptPrev(l),r=f;continue}let s,d;if(i.oldEnd===r.newEnd)s=r,d=i,r=this._getPrev(++t),i=this._getCurr(++n);else if(i.oldEnd<r.newEnd){const[l,f]=se._splitPrev(r,i.oldLength);s=l,d=i,r=f,i=this._getCurr(++n)}else{const[l,f]=se._splitCurr(i,r.newLength);s=r,d=l,r=this._getPrev(++t),i=f}this._result[this._resultLen++]=new re(s.oldPosition,s.oldText,d.newPosition,d.newText),this._prevDeltaOffset+=s.newLength-s.oldLength,this._currDeltaOffset+=d.newLength-d.oldLength}const o=se._merge(this._result);return se._removeNoOps(o)}_acceptCurr(t){this._result[this._resultLen++]=se._rebaseCurr(this._prevDeltaOffset,t),this._currDeltaOffset+=t.newLength-t.oldLength}_getCurr(t){return t<this._currLen?this._currEdits[t]:null}_acceptPrev(t){this._result[this._resultLen++]=se._rebasePrev(this._currDeltaOffset,t),this._prevDeltaOffset+=t.newLength-t.oldLength}_getPrev(t){return t<this._prevLen?this._prevEdits[t]:null}static _rebaseCurr(t,n){return new re(n.oldPosition-t,n.oldText,n.newPosition,n.newText)}static _rebasePrev(t,n){return new re(n.oldPosition,n.oldText,n.newPosition+t,n.newText)}static _splitPrev(t,n){const r=t.newText.substr(0,n),i=t.newText.substr(n);return[new re(t.oldPosition,t.oldText,t.newPosition,r),new re(t.oldEnd,"",t.newPosition+n,i)]}static _splitCurr(t,n){const r=t.oldText.substr(0,n),i=t.oldText.substr(n);return[new re(t.oldPosition,r,t.newPosition,t.newText),new re(t.oldPosition+n,i,t.newEnd,"")]}static _merge(t){if(t.length===0)return t;const n=[];let r=0,i=t[0];for(let o=1;o<t.length;o++){const s=t[o];i.oldEnd===s.oldPosition?i=new re(i.oldPosition,i.oldText+s.oldText,i.newPosition,i.newText+s.newText):(n[r++]=i,i=s)}return n[r++]=i,n}static _removeNoOps(t){if(t.length===0)return t;const n=[];let r=0;for(let i=0;i<t.length;i++){const o=t[i];o.oldText!==o.newText&&(n[r++]=o)}return n}};function Ra(e){return new re(e.newPosition,e.newText,e.oldPosition,e.oldText)}function Pa(e){return e.map(Ra)}function Zn(e,t){return t.every(n=>e.slice(n.oldPosition,n.oldEnd)===n.oldText)}function Da(e,t){let n=e;for(let r=t.length-1;r>=0;r-=1){const i=t[r];n=n.slice(0,i.oldPosition)+i.newText+n.slice(i.oldEnd)}return n}function Oa(e,t,n){let r=0;const i=e.start===e.end;for(const o of t){const s=o.newLength-o.oldLength;if(o.oldLength===0){const d=o.oldPosition;if(i&&d===e.start)r+=n==="after"?s:0;else{if(e.start<d&&d<e.end)return null;d<=e.start&&(r+=s)}continue}if(i){if(e.start>=o.oldEnd)r+=s;else if(e.start>o.oldPosition)return null;continue}if(e.start>=o.oldEnd)r+=s;else if(e.end>o.oldPosition)return null}return{start:e.start+r,end:e.end+r}}var mt=class extends Error{reason;constructor(e){super("Открытие документа не удалось"),this.reason=e,this.name="DocumentOpenFailedError"}},er=0,xa=Math.random().toString(36).slice(2,8);function La(){return er+=1,`doc-${xa}-${er}`}function Ma(e){const t=e.createBuffer(),n=e.docId??La();let r=e.serverId??null,i=0,o=null,s=e.attributes??{};const d=new Set;let l=!1,f=!1,u;const v=new Set;let b=null;const E=()=>(b?.version!==i&&(b={version:i,value:t.read()}),b.value),I=g=>Object.entries(g).some(([y,w])=>s[y]!==w);return{get:()=>({docId:n,serverId:r,version:i,savedVersion:o,attributes:s}),getContent:E,mutate(g,{source:y}){if(l)return i;const w=g.changes?.length?g.changes:void 0,S=w?Da(E(),w):g.content!==void 0?g.content:void 0,A=S!==void 0&&S!==E(),m=g.attributes!==void 0&&I(g.attributes);if(!A&&!m)return i;const c=!(i>(o??-1));return A&&t.write(S),m&&(s={...s,...g.attributes}),i+=1,y!=="user"&&c&&(o=i),d.forEach(a=>a({source:y,version:i,changes:w})),i},markSaved(g,y){const w={serverId:r,savedVersion:o};y!==void 0&&(r=y),(o===null||g>o)&&(o=g),(w.serverId!==r||w.savedVersion!==o)&&d.forEach(S=>S({source:"system",version:i}))},markReady(){f||u!==void 0||(f=!0,v.forEach(g=>g.resolve()),v.clear(),d.forEach(g=>g({source:"system",version:i})))},isReady:()=>f,markFailed(g){f||u!==void 0||l||(u=g,v.forEach(y=>y.reject(new mt(g))),v.clear(),d.forEach(y=>y({source:"system",version:i})))},failure:()=>u,whenReady(){return f?Promise.resolve():u!==void 0?Promise.reject(new mt(u)):l?Promise.reject(new Error("Документ закрыт до того, как наполнение закончилось")):new Promise((g,y)=>{v.add({resolve:g,reject:y})})},subscribe(g){return d.add(g),()=>d.delete(g)},isNew:()=>r===null,isDirty:()=>i>(o??-1),isDisposed:()=>l,dispose(){l=!0,v.forEach(g=>g.reject(new Error("Документ закрыт до того, как наполнение закончилось"))),v.clear(),d.clear(),t.dispose()}}}var ka=500,Na=100,Rt=0;function Fa(e,t={}){const n=t.groupIntervalMs??ka,r=t.maxSteps??Na,i=t.now??(()=>0);let o=[],s=0,d=Rt+=1,l=null,f=!1,u=!1,v=!1;const b=new Set,E=()=>b.forEach(a=>a()),I=(a,p)=>{if(a.length){u=!0;try{e.mutate({changes:a},{source:p})}finally{u=!1}}},g=a=>I(a,"user"),y=a=>{const p=i();f&&l!==null&&p-l<n?o[s-1]=Qn(o[s-1],a):(o=o.slice(0,s),o.push(a),s=o.length,f=!0,o.length>r&&(o=o.slice(o.length-r),s=o.length,d=Rt+=1)),l=p,E()},w=()=>{f=!1,l=null},S=a=>{if(!a.length)return;const p=o.length>s;p&&(o=o.slice(0,s)),s>0&&(o[s-1]=Qn(o[s-1],a)),w(),p&&E()},A=e.subscribe(({source:a,changes:p})=>{if(!(v||u||!p?.length)){if(a==="remote"){m();return}if(a!=="user"){S(p);return}y(p)}}),m=()=>{o=[],s=0,w(),d=Rt+=1,E()},c=()=>{if(s===0)return!1;const a=Pa(o[s-1]);return Zn(e.getContent(),a)?(g(a),s-=1,w(),!0):(o=o.slice(0,s-1),s=o.length,w(),E(),!1)};return{canUndo:()=>s>0,canRedo:()=>s<o.length,undo(){c()&&E()},redo(){if(!(s>=o.length)){if(!Zn(e.getContent(),o[s])){o=o.slice(0,s),w(),E();return}g(o[s]),s+=1,w(),E()}},clear:m,applyWithoutHistory(a){const p=e.get().version;if(I(a,"system"),e.get().version===p){w();return}S(a)},getPast:a=>o.slice(0,s).reverse().slice(0,a),getFuture:a=>o.slice(s).reverse().slice(0,a),createSnapshot:()=>({stackId:d,index:s}),restoreSnapshot(a){if(a.stackId!==d||a.index>s)return!1;for(;s>a.index;)if(!c())return E(),!1;return E(),!0},subscribe(a){return b.add(a),()=>b.delete(a)},dispose(){v=!0,A(),b.clear(),o=[],s=0}}}var ja=["edit","move","resize","insert"];function Pt(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0?e:null}function Ba(e){return typeof e=="string"?e:null}function Ua(e){return!Array.isArray(e)||!e.every(t=>typeof t=="string")?null:e}function Ha(e){return ja.includes(e)?e:null}function Ga(e){const t=typeof e=="object"&&e!==null?e:{},n={originId:Ba(t.originId),changeId:Pt(t.changeId),rev:Pt(t.rev),baseRev:Pt(t.baseRev),expected:Ua(t.expected),intent:Ha(t.intent)};return{...n,legacy:Object.values(n).every(r=>r===null)}}var tr=class extends Error{reason;constructor(e){super(`сохранение не состоялось: ${e}`),this.name="SaveRefusedError",this.reason=e}},Ci="draft";function Fe(e){return e==null||e===""?Ci:String(e)}function qa(e){return e==null||e===""?`${Zt}${Ci}`:`${Zt}${String(e)}`}var Zt="block:";function he(e){return e?.startsWith(Zt)===!0}function je(e){return he(e.sessionKey())?void 0:e.current()}function Ue(e,t,n){const r=typeof performance<"u"?performance.now():Date.now();return $(`show:gate:${e}`,{kind:"wait"}),t.then(i=>($(`show:gate:${e}:end`,{kind:"wait"}),i),i=>{const o=Math.round((typeof performance<"u"?performance.now():Date.now())-r);throw`${e}`,{error:String(i),...n},i})}function Ri(e){return e?.length?[...e].sort((t,n)=>Date.parse(n.modified)-Date.parse(t.modified))[0]:null}function Pi(e,{freshSince:t}={}){return!(!e?.slug?.includes("autosave")||!e?.html?.trim()||t!==void 0&&Date.parse(e.modified)<t-5e3)}function $a(e,t={}){const n=Ri((e??[]).filter(r=>r?.html?.trim()));return Pi(n,t)?n:null}function za(e){const t=Date.parse(Ri(e)?.modified??"");return{autosave:$a(e),...Number.isFinite(t)?{latestAt:t}:{}}}function Va({hasUnsavedUserEdit:e}){return e?"skip":"apply"}var Di=e=>e.replace(/\r\n?/g,`
997
- `),nr=["recovery","plugin","rest"],Ka=["subject","preheader"];function Wa(e){let t={},n;for(let i=nr.length-1;i>=0;i--){const o=e.get(nr[i]);o&&(o.attributes&&(t={...t,...o.attributes}),o.content!==void 0&&(n=o.content))}const r=e.get("plugin")?.attributes;for(const i of Ka){const o=r?.[i];typeof o=="string"&&o!==""&&(t={...t,[i]:o})}return n!==void 0?{content:n,attributes:t}:{attributes:t}}function Oi(e,t){if(!e||!t)return;const n=e.getContent(),r=t.content!==void 0?Di(t.content):void 0,i=r!==void 0&&r!==n;e.get().docId,Object.keys(t.attributes??{}),e.mutate({attributes:t.attributes??{},...i?{changes:[new re(0,n,0,r)]}:{}},{source:"remote"})}var rr=e=>typeof e=="string"?e.trim():"";function Ya(e,t,n){const{version:r,attributes:i}=e.get(),o=i,s=rr(o.title)||rr(o.subject);return{version:r,payload:{html:e.getContent(),title:s,subject:o.subject,preheader:o.preheader,description:o.description,common_styles:o.common_styles||"",meta:o.meta,utm_parameters:o.utm_parameters,parent_email:o.parent_email,is_template:o.is_template||!1,is_inited:o.is_inited,tags:o.tags,emailtags:o.emailtags,group:o.group,renderGuid:e.get().docId,project:t.project??o.project,folder:t.folder,...n?.emailtags?{emailtags:n.emailtags}:{},...n?.group?{group:n.group}:{},source:t.source}}}async function Xa(e,t,n,r,i){if(n==="materialize"||n==="publish"&&r==null)return e.createEmail(i);if(r==null)throw new Error("Письмо ещё не создано на сервере");return n==="publish"?e.updateEmail(r,i):t.saveAutosave(r,i)}function ge(e,t=!1){const n={};for(const r of Object.keys(e)){let i=e[r];i!==void 0&&!(typeof i=="number"&&Number.isNaN(i))&&(t&&typeof i=="object"&&i!==null&&(i=ge(i)),n[r]=i)}return n}var Ja=new Set(["html","id","renderGuid","showToken","showId","isNew"]);function xi(e){return e?Object.fromEntries(Object.entries(e).filter(([t])=>!Ja.has(t))):{}}function ht(e,t,n={}){e&&e.mutate({attributes:Qa(e.get().attributes,t)},{source:n.source??"user"})}function Qa(e,t){return t.subject===void 0||t.title!==void 0?t:(e.title??"")===(e.subject??"")?{...t,title:t.subject}:t}function Rn(e,t){return e===void 0&&Object.keys(t).length===0?null:{...e!==void 0?{content:e}:{},attributes:t}}function Za(e){return typeof e=="string"&&e.startsWith("{")?e:"{}"}function Li(e){if(!e)return null;const t=xi(e);return e.common_styles!==void 0&&(t.common_styles=Za(e.common_styles)),Rn(e.html,t)}function Mi(e){return e?Rn(e.html,ge(xi(e))):null}var el=["common_styles","subject","preheader","meta"];function ir(e){if(!e?.html?.trim())return null;const t={};for(const n of el)tl(n,e[n])&&(t[n]=e[n]);return Rn(e.html,t)}function tl(e,t){return e==="common_styles"?typeof t=="string"&&t.startsWith("{"):e==="meta"?typeof t=="object"&&t!==null&&!Array.isArray(t):typeof t=="string"}var nl=10,rl=(e,t)=>e.key===t.key&&il(e.serverId,t.serverId),il=(e,t)=>e==null||e===t;function ol(e){return typeof e?.then=="function"}var or=e=>{e.timer!==void 0&&(clearTimeout(e.timer),e.timer=void 0)},ki=e=>{e.request.serverId!=null&&e.document.markSaved(e.document.get().version)},sl=e=>{Oi(e.document,Wa(e.reports)),ki(e)},Dt=(e,t)=>{if(!e.ready){sl(e);return}Oi(e.document,t)},al=e=>{const{attributes:t,serverId:n,docId:r}=e.document.get();return{...t,html:e.document.getContent(),id:n??void 0,isNew:n==null,renderGuid:r}};function ll(e){const{resolveAdapters:t,timeoutMs:n,resolveWritePort:r,resolveHistoryPort:i,resolveTerms:o,canEdit:s,notifyBeforeSave:d,onAdapterError:l,onTimeout:f}=e;let u;const v=new Set,b=new Set,E=()=>v.forEach(h=>h()),I=(h,_)=>{if(!(h.closed||h.ready)){if(h.error!==void 0){h.document.markFailed(h.error),h.document.get().docId;return}ki(h),h.ready=!0,h.document.markReady(),h.document.get().docId,[...h.reports.keys()]}},g=(h,_,T)=>{l?.(_.id,T),!(!_.required||h.closed)&&(h.error=T,h.document.get().docId,_.id,E())},y=(h,_)=>{const T=new Set(_.map(R=>R.id));_.forEach(R=>{R.watch&&h.watchers.push(R.watch(O=>h.closed?!1:h.ready&&O?.content!==void 0&&Va({hasUnsavedUserEdit:h.document.isDirty()})==="skip"?(h.document.get().docId,R.id,!1):(O&&h.reports.set(R.id,O),Dt(h,O),!0)))});const C=(R,O)=>{h.closed||(O&&h.reports.set(R.id,O),Dt(h,O))},P=()=>{T.size>0||h.closed||(or(h),I(h,[]))},j=[];if(_.forEach(R=>{let O;try{O=R.load()}catch(z){g(h,R,z),T.delete(R.id);return}if(ol(O)){j.push({id:R.id,required:R.required,load:()=>O});return}C(R,O),T.delete(R.id)}),j.length===0){P();return}h.timer=setTimeout(()=>{h.timer=void 0,f?.([...T]),h.document.get().docId,[...T],I(h,[...T])},n),h.timer.unref?.(),j.forEach(R=>{R.load().then(O=>C(R,O)).catch(O=>{g(h,R,O)}).finally(()=>{T.delete(R.id),P()})})},w=async(h,_,T)=>{if(T==="snapshot"||T==="anchor")return;const C=o?.();if(C)return C.resolve({project:_.project??h.project,tags:(h.tags??[]).map(P=>({name:P}))})},S=h=>{if(h.lock===!0&&s?.(h)===!1)return new tr("locked");const _=h.tags?.length??0,T=h.emailtags?.length??0;if(Math.max(_,T)>nl)return new tr("too-many-tags")},A=async(h,_,T)=>{try{await h.document.whenReady()}catch(O){return h.saveError=O,h.saveFailures+=1,h.saveFailures,!1}if(h.closed)return!1;const C=S(h.document.get().attributes);if(C)return h.saveError=C,h.saveFailures+=1,C.reason,E(),!1;if(d&&(await d(al(h)).catch(()=>{}),h.closed))return!1;let P;try{P=await w(h.document.get().attributes,T,_)}catch(O){return h.saveError=O,h.saveFailures+=1,h.saveFailures,E(),!1}if(h.closed)return!1;const{payload:j,version:R}=Ya(h.document,T,P);h.document.get().docId;try{const O=h.document.get().serverId!=null,z=await Xa(r(),i(h.request.key),_,h.document.get().serverId,j);if(h.closed)return!0;let B;if(_==="snapshot"||_==="anchor"){const L=z?.modified!=null?Date.parse(z.modified):NaN;B=Number.isFinite(L)?L:Date.now(),h.snapshotVersion=R,h.lastRevisionAt=B}else h.document.markSaved(R,z?.id!=null?String(z.id):void 0);const W=h.document.get().serverId;!O&&W!=null&&(h.recoveryFacts={emailId:W,historyLoaded:!0,isRecovering:!1}),h.saveError=void 0,h.saveFailures=0,h.document.get().serverId,E();const de={intent:_,serverId:h.document.get().serverId,created:!O,...B!==void 0?{revisionAt:B}:{}};return b.forEach(L=>L(de)),!0}catch(O){return h.saveError=O,h.saveFailures+=1,h.saveFailures,E(),!1}},m=()=>{u&&(u.closed=!0,u.watchers.forEach(h=>h()),u.watchers=[],or(u),u.history.dispose(),u.document.dispose(),u=void 0)},c=(h,_,T)=>{let C=!1;_.show&&(h.show?.id!==_.show.id||h.show.token!==_.show.token)&&(h.show=_.show,C=!0,{docId:h.document.get().docId,..._.show});const P=T==="show"?Mi(_.patch):null;P&&(h.reports.set("plugin",P),Dt(h,P)),C&&E()},a=(h,_={})=>{const T=u;return!T||T.closed?Promise.resolve(!1):T.saving?h==="snapshot"?Promise.resolve(!1):(T.inFlight??Promise.resolve(!1)).then(()=>a(h,_)):(T.saving=!0,T.inFlight=A(T,h,_).finally(()=>{T.saving=!1,T.inFlight=void 0}),T.inFlight)},p=(h,_="open")=>{if(u&&!u.closed&&_!=="new"&&rl(u.request,h))return c(u,h,_),u.document;m();const T=Ma({createBuffer:()=>Aa(""),serverId:h.serverId??null}),C={request:h,show:h.show,document:T,history:Fa(T,{now:Date.now}),watchers:[],saveFailures:0,saving:!1,reports:new Map,ready:!1,closed:!1};return u=C,T.get().docId,h.serverId,y(C,t(h,{publishRecoveryFacts(P){C.closed||(C.recoveryFacts=P,E())},readShownContent:()=>C.closed?null:C.document.getContent()})),E(),T};return{openWith:p,open:(h,_={})=>p({key:Fe(h),serverId:h,email:_.email,patch:_.patch,show:_.show},"open"),openDraft:(h,_={})=>p({key:Fe(void 0),serverId:null,email:h,patch:_.patch,show:_.show},"open"),startNewDraft:(h,_={})=>p({key:Fe(void 0),serverId:null,email:h,patch:_.patch,show:_.show},"new"),reload:(h,_={})=>p({key:Fe(h),serverId:h,email:_.email,patch:_.patch,show:_.show},"new"),openBlock:(h,_)=>p({key:he(h)?h:qa(h),serverId:_?.id!=null?String(_.id):null,email:_},"open"),show:(h,_)=>{const T=u;if(!(!T||T.closed))return p({...T.request,patch:h,show:_},"show")},current:()=>u?.document,save:a,saveState:()=>({error:u?.saveError,failures:u?.saveFailures??0,saving:u?.saving===!0}),revisionFacts(){if(!u)return;const h=u.revisionFactsSnapshot;return h&&h.snapshotVersion===u.snapshotVersion&&h.lastRevisionAt===u.lastRevisionAt?h:(u.revisionFactsSnapshot={snapshotVersion:u.snapshotVersion,lastRevisionAt:u.lastRevisionAt},u.revisionFactsSnapshot)},recoveryFacts:()=>u?.recoveryFacts,history:()=>u?.history,forcedHeaders:()=>u?.forcedHeaders,beginForcedHeaders(h){u&&!u.closed&&(u.forcedHeaders=h)},endForcedHeaders(){u&&(u.forcedHeaders=void 0)},onSaved(h){return b.add(h),()=>b.delete(h)},showFacts:()=>u?.show,sessionKey:()=>u?.request.key,openError:()=>u?.error,subscribe(h){return v.add(h),()=>v.delete(h)},close(){u&&(m(),E())}}}var Ni=class extends Error{reason;constructor(e,t){super(`письмо не открылось: ${e}`),this.name="EmailOpenFailedError",this.reason=e,this.cause=t}};function Fi(e){if(e instanceof Ni)return e.reason;if(e instanceof mt)return Fi(e.reason)}function dl(e,t){return{id:"rest",required:!0,load:async()=>{const n=await e.readEmail(t);if(!n)throw new Ni("not-found");return Li(n)}}}var ji=x("EmailPort");function cl(e){return e.getInstance(ji)}function ul(e,t){e.inject(ji,t)}var Bi=x("documentSession.restEmailPortFactories");function Ui(e){return e.getInstance(Bi)!==void 0}function Se(e){const t=e.getInstance(Bi);if(!t)throw new Error("[documentSession] порты поверх REST ещё не загружены — работа с сервером начинается с init()");return t}var fl=x("EmailTermsResolver");function pl(e){return e.getInstance(fl)}var Hi=x("EmailHistoryPort"),ml=x("BlockHistoryPort");function Gi(e){return e.getInstance(ml)}function qi(e){return e.getInstance(Hi)}function hl(e,t){e.inject(Hi,t)}var gl="em_autosave_pending";function gt(e){return`${gl}_${e}`}function vl(e,t){try{sessionStorage.setItem(gt(e),JSON.stringify(t))}catch{}}function bl(e){try{const t=sessionStorage.getItem(gt(e));if(!t)return null;const n=JSON.parse(t);return Date.now()-n.sentAt>6e4?(sessionStorage.removeItem(gt(e)),null):n}catch{return null}}function nt(e){try{sessionStorage.removeItem(gt(e))}catch{}}var El=2e3,yl=5e3,_l=5,wl=5e3,Sl=4;function Il(){return typeof performance<"u"&&typeof performance.timeOrigin=="number"?performance.timeOrigin:Date.now()}function Tl(e,t){return e==null||t==null?!1:e.replaceAll(`\r
996
+ `,r=new Function("__amdEnv",n);r(e),typeof e.require=="function"&&typeof e.require.config=="function"&&e.require.config({baseUrl:"./",paths:{core:"emailmaker-core.2047dd1a.js",po:"emailmaker-po.2047dd1a.js",monaco:"static/monaco/index.js"}})}e.define("__delivery__/libs",[],function(){return import("./static/esm/delivery-libs.js")});var i=function(m){var c,l=function(){return c||(c=Promise.resolve().then(m))};return{then:function(p,h){return l().then(p,h)},catch:function(p){return l().catch(p)},finally:function(p){return l().finally(p)}}},o=i(function(){return e.require(["__delivery__/libs"]).then(function(m){return m[0]})});t.React=i(function(){return o.then(function(m){return m.React})}),t.ReactDom=i(function(){return o.then(function(m){return m.ReactDom})}),t.ReactDomClient=i(function(){return o.then(function(m){return m.ReactDomClient})}),t.ReactJsxRuntime=i(function(){return o.then(function(m){return m.ReactJsxRuntime})}),t.ReactJsxDevRuntime=i(function(){return o.then(function(m){return m.ReactJsxDevRuntime})}),t.AntDesignIconBase=i(function(){return o.then(function(m){return m.AntDesignIconBase})}),t.AntDesignCssinjs=i(function(){return o.then(function(m){return m.AntDesignCssinjs})}),t.Classnames=i(function(){return o.then(function(m){return m.Classnames})}),t.Dayjs=i(function(){return o.then(function(m){return m.Dayjs})});var s=i(function(){return Promise.all([o]).then(function(m){var c=m[0]||Object.create(null),l=Object.create(null);for(var p in c)Object.prototype.hasOwnProperty.call(c,p)&&(l[p]=c[p]);for(var h in l)Object.prototype.hasOwnProperty.call(l,h)&&(t[h]=l[h]);return l})}),d={},a={Antd:"[runtime] `antd` is not available: the compatibility layer for global plugins is not enabled. Add `import '@emailmaker/emailmaker/compat-globals';` before creating the editor, or turn on the `compatGlobals` option of the bundler plugin. ESM builds omit this layer by default so that plugin compatibility is not paid for by every integrator.",AntDesignIcons:"[runtime] `@ant-design/icons` is not available: the compatibility layer for global plugins is not enabled. Add `import '@emailmaker/emailmaker/compat-globals';` before creating the editor, or turn on the `compatGlobals` option of the bundler plugin. ESM builds omit this layer by default so that plugin compatibility is not paid for by every integrator."},f={Antd:"[runtime] `antd` is served from the host runtime for backward compatibility. Rebuild the plugin with the current CLI to bundle it from its own copy of the package. This compatibility layer is deprecated.",AntDesignIcons:"[runtime] `@ant-design/icons` is served from the host runtime for backward compatibility. Rebuild the plugin with the current CLI to bundle it from its own copy of the package. This compatibility layer is deprecated."},u=Object.create(null);if(e.registerCompat=function(m){if(!(!m||typeof m!="object"))for(var c in m)Object.prototype.hasOwnProperty.call(m,c)&&(u[c]=m[c])},e.__compatPending){for(var v=0;v<e.__compatPending.length;v+=1)e.registerCompat(e.__compatPending[v]);e.__compatPending=void 0}for(var b in a)Object.prototype.hasOwnProperty.call(a,b)&&(function(m,c,l){var p=!1,h=function(){if(!(m in u))throw new Error(c);return u[m]};Object.defineProperty(t,m,{configurable:!0,enumerable:!0,get:function(){var w=h();return p||(p=!0),w},set:function(w){u[m]=w}}),Object.defineProperty(d,m,{configurable:!0,enumerable:!0,get:h,set:function(w){u[m]=w}})})(b,a[b],f[b]);var E=t;for(var I in d)Object.prototype.hasOwnProperty.call(d,I)&&(E===t&&(E=Object.create(t)),Object.defineProperty(E,I,Object.getOwnPropertyDescriptor(d,I)));var g=s,y=[],_=function(){for(var m=[],c=0;c<y.length;c+=1)(function(l){var p=t[l];p&&typeof p.then=="function"&&m.push(Promise.resolve(p).then(function(h){t[l]=h}))})(y[c]);return Promise.all(m)},S=typeof e.prefetch=="function"?e.prefetch:void 0;if(e.prefetch=function(){return s.then(_).then(function(){if(typeof S=="function")return S.call(e)})},typeof e.define=="function"){let m=function(c){if(!c||typeof c!="object"&&typeof c!="function"||c.__esModule)return c;if(A){var l=A.get(c);if(l)return l}var p=Object.create(null);Object.defineProperties(p,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});for(var h=Reflect.ownKeys(c),w=0;w<h.length;w++){var T=h[w];if(T!=="__esModule"){var O=Object.getOwnPropertyDescriptor(c,T);O&&Object.defineProperty(p,T,O)}}return Object.prototype.hasOwnProperty.call(p,"default")||Object.defineProperty(p,"default",{enumerable:!0,value:c,writable:!1}),A&&A.set(c,p),p};var A=typeof WeakMap<"u"?new WeakMap:null;e.define("react",[],function(){var c=E.React;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.React)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.React;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/react",[],function(){var c=E.React;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.React)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.React;return m(p)})}),e.define("react-dom",[],function(){var c=E.ReactDom;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.ReactDom)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.ReactDom;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/react-dom",[],function(){var c=E.ReactDom;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.ReactDom)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.ReactDom;return m(p)})}),e.define("react-dom/client",[],function(){var c=E.ReactDomClient;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.ReactDomClient)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.ReactDomClient;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/react-dom/client",[],function(){var c=E.ReactDomClient;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.ReactDomClient)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.ReactDomClient;return m(p)})}),e.define("react/jsx-runtime",[],function(){var c=E.ReactJsxRuntime;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.ReactJsxRuntime)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.ReactJsxRuntime;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/react/jsx-runtime",[],function(){var c=E.ReactJsxRuntime;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.ReactJsxRuntime)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.ReactJsxRuntime;return m(p)})}),e.define("react/jsx-dev-runtime",[],function(){var c=E.ReactJsxDevRuntime;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.ReactJsxDevRuntime)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.ReactJsxDevRuntime;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/react/jsx-dev-runtime",[],function(){var c=E.ReactJsxDevRuntime;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.ReactJsxDevRuntime)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.ReactJsxDevRuntime;return m(p)})}),e.define("antd",[],function(){var c=E.Antd;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.Antd)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.Antd;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/antd",[],function(){var c=E.Antd;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.Antd)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.Antd;return m(p)})}),e.define("@ant-design/icons/es/components/AntdIcon",[],function(){var c=E.AntDesignIconBase;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.AntDesignIconBase)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.AntDesignIconBase;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/@ant-design/icons/es/components/AntdIcon",[],function(){var c=E.AntDesignIconBase;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.AntDesignIconBase)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.AntDesignIconBase;return m(p)})}),e.define("@ant-design/icons",[],function(){var c=E.AntDesignIcons;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.AntDesignIcons)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.AntDesignIcons;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/@ant-design/icons",[],function(){var c=E.AntDesignIcons;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.AntDesignIcons)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.AntDesignIcons;return m(p)})}),e.define("@ant-design/cssinjs",[],function(){var c=E.AntDesignCssinjs;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.AntDesignCssinjs)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.AntDesignCssinjs;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/@ant-design/cssinjs",[],function(){var c=E.AntDesignCssinjs;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.AntDesignCssinjs)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.AntDesignCssinjs;return m(p)})}),e.define("classnames",[],function(){var c=E.Classnames;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.Classnames)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.Classnames;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/classnames",[],function(){var c=E.Classnames;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.Classnames)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.Classnames;return m(p)})}),e.define("dayjs",[],function(){var c=E.Dayjs;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.Dayjs)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.Dayjs;return m(p)})}),e.define("@emailmaker/emailmaker/runtime/dayjs",[],function(){var c=E.Dayjs;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.Dayjs)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.Dayjs;return m(p)})}),e.define("@emailmaker/ui-kit",[],function(){var c=E.UiKit;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.UiKit)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.UiKit;return m(p)})}),e.define("@emailmaker/emailmaker/ui-kit",[],function(){var c=E.UiKit;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.UiKit)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.UiKit;return m(p)})}),e.define("@emailmaker/emailmaker/ui-kit/icons",[],function(){var c=E.UiKitIcons;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.UiKitIcons)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.UiKitIcons;return m(p)})}),e.define("@emailmaker/ui-kit/icons",[],function(){var c=E.UiKitIcons;return c&&typeof c.then=="function"?c.then(function(l){return l===void 0?g.then(function(p){return m(p.UiKitIcons)}):m(l)}):c!==void 0?m(c):g.then(function(l){var p=l.UiKitIcons;return m(p)})})}globalThis.__SHARED_RUNTIME_INIT_SENTINEL__="@shared-runtime:init-complete"})();var Ys=new Function("url","return import(url)");function Xs(e){if(typeof e!="function")return!1;try{return Reflect.construct(String,[],e),!0}catch{return!1}}function Js(e){return typeof e=="object"&&e!==null&&"type"in e&&"url"in e}function Qs(e){return e.type==="umd"||e.resolve==="registry"}var Zs=class{_context;_pluginRegistry;_options;_map=new Map;_optionsMap=new Map;_readyMap=new Map;_resolveMap=new Map;_initializingPlugins=new Map;_creatingPlugins=new Set;_initializedPlugins=new Set;_creationOrder=[];_lifecycleListeners=new Set;_activated=!1;constructor(e,t,n={}){this._context=e,this._pluginRegistry=t,this._options=n}activate(){return this._activated=!0,this._startPluginsBatch(Array.from(this._map.values()))}activateSync(){this._activated=!0,this._startPluginsBatch(Array.from(this._map.values()))}onLifecycle(e){return this._lifecycleListeners.add(e),{dispose:()=>this._lifecycleListeners.delete(e)}}_emitLifecycle(e){for(const t of Array.from(this._lifecycleListeners))try{t(e)}catch{}}async _resolveEntry(e){if(typeof e=="string"||typeof e=="symbol"){const t=await this._pluginRegistry.getAsync(e);if(!t)throw new Error(`Plugin "${String(e)}" not registered.`);return{ctor:t}}if(typeof e=="function")return e.length===0?{ctor:await e()}:{ctor:e};if(Array.isArray(e)){const[t,n]=e;if(typeof t=="function")return{ctor:t,options:n};const r=await this._pluginRegistry.getAsync(t);if(!r)throw new Error(`Plugin "${String(t)}" not registered.`);return{ctor:r,options:n}}if(Js(e))return this._resolveDescriptor(e);throw new Error(`Unknown plugin entry format: ${JSON.stringify(e)}`)}async _resolveDescriptor(e){const t=e.resolve??(e.type==="umd"?"window":"module");if(Qs(e)&&await this._options.ensureHostRuntimeReady?.(e),e.type==="esm"){const n=await Ys(e.url);if(t==="module")return{ctor:n.default??n};if(t==="registry"&&e.name){const r=await this._pluginRegistry.getAsync(e.name);if(!r)throw new Error(`Plugin "${e.name}" not found in registry after ESM load`);return{ctor:r}}}if(e.type==="umd"){if(await this._loadScript(e.url),t==="window"&&e.name){const n=globalThis[e.name];if(!n)throw new Error(`Plugin "${e.name}" not found on window after script load`);return{ctor:n}}if(t==="registry"&&e.name){const n=await this._pluginRegistry.getAsync(e.name);if(!n)throw new Error(`Plugin "${e.name}" not found in registry after script load`);return{ctor:n}}}throw new Error(`Cannot resolve descriptor: type=${e.type}, resolve=${t}, name=${e.name??"none"}`)}_loadScript(e){return new Promise((t,n)=>{if(typeof document>"u"){n(new Error("Cannot load UMD script in non-browser environment"));return}const r=document.createElement("script");r.src=e,r.onload=()=>t(),r.onerror=()=>n(new Error(`Failed to load script: ${e}`)),document.head.appendChild(r)})}initSync(e){const t=[];for(const n of e){const r=this._getOrCreate(n,void 0);t.push(r)}this._activated=!0,this._startPluginsBatch(t)}async init(e){const t=[],n=new Set;for(const r of e){const{ctor:i,options:o}=await this._resolveEntry(r),s=this._getOrCreate(i,o);n.has(s)||(n.add(s),t.push(s))}this._activated=!0,await this._startPluginsBatch(t)}async setPlugins(e){const t=new Set,n=[];for(const s of e){const d=await this._resolveEntry(s);t.add(d.ctor),n.push(d)}const r=[];this._map.forEach((s,d)=>{t.has(d)||r.push({key:d,plugin:s})});for(let s=r.length-1;s>=0;s--){const{key:d,plugin:a}=r[s];await this._initializingPlugins.get(a),await this._disposePlugin(a,a.constructor.name),this._map.delete(d),this._optionsMap.delete(d),this._readyMap.delete(a),this._resolveMap.delete(a),this._initializingPlugins.delete(a),this._initializedPlugins.delete(a);const f=this._creationOrder.indexOf(a);f>=0&&this._creationOrder.splice(f,1)}const i=[],o=new Set;for(const{ctor:s,options:d}of n){const a=this._getOrCreate(s,d);o.has(a)||(o.add(a),i.push(a))}this._activated&&await this._startPluginsBatch(i)}isReady(e){return this._initializedPlugins.has(e)}ready(e){return this._initializingPlugins.get(e)??this._readyMap.get(e)??Promise.resolve()}async waitFor(e,t){if(this._pluginRegistry.has(e))return this.useByKeyAsync(e);const{timeout:n}=t??{};return await new Promise((r,i)=>{let o,s=!1;const d=()=>{s||(s=!0,o&&clearTimeout(o),this._pluginRegistry.off(e,d),r())};this._pluginRegistry.on(e,d),n!==void 0&&n>0&&(o=setTimeout(()=>{s||(s=!0,this._pluginRegistry.off(e,d),i(new Error(`waitFor("${String(e)}") timed out after ${n}ms`)))},n))}),this.useByKeyAsync(e)}useByKey(e){const t=this._pluginRegistry.get(e);if(!t)throw new Error(`Plugin "${String(e)}" not registered or not loaded yet. Use useByKeyAsync() for async plugins.`);const n=this._getOrCreate(t);return this._activated&&this._startPluginsBatch([n]),n}async useByKeyAsync(e){const t=await this._pluginRegistry.getAsync(e);if(!t)throw new Error(`Plugin "${String(e)}" not registered.`);const n=this._getOrCreate(t);return this._activated&&await this._startPluginsBatch([n]),n}useByCtor(e,t){const n=this._getOrCreate(e,t);return this._activated&&this._startPluginsBatch([n]),n}use(e){return typeof e=="function"?this.useByCtor(e):this.useByKey(e)}async useAsync(e){const{ctor:t,options:n}=await this._resolveEntry(e),r=this._getOrCreate(t,n);return this._activated&&await this._startPluginsBatch([r]),r}_getOrCreate(e,t){const n=e;if(!this._map.has(n)){t!==void 0&&this._optionsMap.set(n,t);const r=this._optionsMap.get(n),i=this._createPluginInstance(e,r),o=i.constructor.name;this._emitLifecycle({type:"created",plugin:i,name:o}),i.required?.(),this._map.set(n,i),this._creationOrder.push(i),this._setupReadyPromise(i)}return this._map.get(n)}_createPluginInstance(e,t){const n=e;if(this._creatingPlugins.has(n))throw new Error(`Cyclic dependency for plugin ${e.name}`);this._creatingPlugins.add(n);try{return Xs(e)?new e(this._context,t):e(this._context,t)||{}}finally{this._creatingPlugins.delete(n)}}_setupReadyPromise(e){const t=new Promise(n=>{this._resolveMap.set(e,n)});this._readyMap.set(e,t)}async _startPluginsBatch(e){const t=Array.from(new Set(e)),n=new Set,r=[];for(const i of t){if(this._initializedPlugins.has(i))continue;const o=this._initializingPlugins.get(i);if(o){n.add(o);continue}r.push(i)}if(r.length>0){const i=this._runBatchLifecycle(r);for(const o of r)this._initializingPlugins.set(o,i);n.add(i),i.finally(()=>{for(const o of r)this._initializingPlugins.get(o)===i&&this._initializingPlugins.delete(o)})}await Promise.all(n)}async _runBatchLifecycle(e){const t=[];for(const n of e){const r=n.constructor.name;this._emitLifecycle({type:"init:start",plugin:n,name:r});try{await n.init?.(),this._emitLifecycle({type:"init:success",plugin:n,name:r}),t.push(n)}catch(i){this._emitLifecycle({type:"init:error",plugin:n,name:r,error:i})}}for(const n of t){const r=n.constructor.name;this._emitLifecycle({type:"afterInit:start",plugin:n,name:r});try{await n.afterInit?.(),this._emitLifecycle({type:"afterInit:success",plugin:n,name:r})}catch(i){this._emitLifecycle({type:"afterInit:error",plugin:n,name:r,error:i})}}for(const n of e)this._initializedPlugins.add(n),this._resolveMap.get(n)?.(),this._resolveMap.delete(n)}async _disposePlugin(e,t){this._emitLifecycle({type:"dispose:start",plugin:e,name:t});try{await e.dispose?.(),this._emitLifecycle({type:"dispose:success",plugin:e,name:t})}catch(n){this._emitLifecycle({type:"dispose:error",plugin:e,name:t,error:n})}}async dispose(){for(let e=this._creationOrder.length-1;e>=0;e--){const t=this._creationOrder[e];await this._initializingPlugins.get(t),await this._disposePlugin(t,t.constructor.name)}this._map.clear(),this._optionsMap.clear(),this._readyMap.clear(),this._resolveMap.clear(),this._initializingPlugins.clear(),this._initializedPlugins.clear(),this._creationOrder.length=0,this._lifecycleListeners.clear()}getStatus(){return Array.from(this._map.values()).map(e=>({name:e.constructor.name,initialized:this._initializedPlugins.has(e)}))}},ea=class{_plugins=new Map;_listeners=new Map;_getOrCreateEntry(e){let t=this._plugins.get(e);return t||(t={overrides:[]},this._plugins.set(e,t)),t}_applyOverrides(e,t){const n=this._plugins.get(e);if(n?.overrides)for(const r of n.overrides)t=r(t)||t;return t}_notifyListeners(e,t){const n=this._listeners.get(e);if(!n||n.length===0)return;for(const i of n)try{i.callback(t)}catch{}const r=n.filter(i=>!i.once);r.length>0?this._listeners.set(e,r):this._listeners.delete(e)}get(e){const t=this._plugins.get(e);if(t?.ctor)return this._applyOverrides(e,t.ctor)}async getAsync(e){const t=this._plugins.get(e);if(t?.ctor)return this._applyOverrides(e,t.ctor);if(t?.loading){const n=await t.loading;return this._applyOverrides(e,n)}if(t?.factory){const n=Promise.resolve(t.factory()).then(i=>(t.ctor=i,t.loading=void 0,this._notifyListeners(e,i),i));t.loading=n;const r=await n;return this._applyOverrides(e,r)}return new Promise(n=>{this.on(e,r=>n(this._applyOverrides(e,r)))})}add(e,t){const n=this._getOrCreateEntry(e);n.ctor=t,this._notifyListeners(e,t)}addAll(e){for(const t of Object.keys(e)){const n=e[t];n!==void 0&&this.add(t,n)}}addAsync(e,t){const n=this._getOrCreateEntry(e);return n.factory=t,{dispose:()=>{n.ctor||(n.factory=void 0)}}}has(e){const t=this._plugins.get(e);return!!(t?.ctor||t?.factory)}isLoaded(e){return!!this._plugins.get(e)?.ctor}override(e,t){const n=this._getOrCreateEntry(e);return n.overrides.push(t),{dispose:()=>{const r=n.overrides.indexOf(t);r>=0&&n.overrides.splice(r,1)}}}on(e,t){const n=this.get(e);n&&t(n);let r=this._listeners.get(e);r||(r=[],this._listeners.set(e,r));const i={callback:t,once:!1};return r.push(i),{dispose:()=>this._removeListener(e,t)}}once(e,t){const n=this.get(e);if(n)return t(n),{dispose:()=>{}};let r=this._listeners.get(e);r||(r=[],this._listeners.set(e,r));const i={callback:t,once:!0};return r.push(i),{dispose:()=>this._removeListener(e,t)}}off(e,t){this._removeListener(e,t)}_removeListener(e,t){const n=this._listeners.get(e);if(n){const r=n.findIndex(i=>i.callback===t);r>=0&&n.splice(r,1),n.length===0&&this._listeners.delete(e)}}keys(){return Array.from(this._plugins.keys())}forContext(){const e=this;return{add(t,n){e.add(t,n)}}}},ta=class{resolveRegistry;constructor(e){this.resolveRegistry=e}target(){return this.resolveRegistry()}get(e){return this.target().get(e)}getAsync(e){return this.target().getAsync(e)}add(e,t){return this.target().add(e,t)}addAll(e){return this.target().addAll(e)}addAsync(e,t){return this.target().addAsync(e,t)}has(e){return this.target().has(e)}isLoaded(e){return this.target().isLoaded(e)}override(e,t){return this.target().override(e,t)}on(e,t){return this.target().on(e,t)}once(e,t){return this.target().once(e,t)}off(e,t){return this.target().off(e,t)}keys(){return this.target().keys()}forContext(){return this.target().forContext()}},rr=class{capacity;items=[];constructor(e){this.capacity=e}push(e){this.items.length>=this.capacity&&this.items.shift(),this.items.push(e)}snapshot(){return this.items.slice()}size(){return this.items.length}clear(){this.items=[]}};function na(e,t){return t+e}function ra(){return typeof performance>"u"?Date.now():na(performance.now(),performance.timeOrigin)}var ia="emailmaker:diagnostics",oa="diagnostics",sa="diagnostics";function ir(e,t){return t?`${e}${e.includes("?")?"&":"?"}${sa}=1`:e}var Rt;function aa(){try{const e=new URLSearchParams(window.location.search).get(oa);return e===null?void 0:e!=="0"}catch{return}}function la(){const e=window.__DIAGNOSTICS__;return typeof e=="boolean"?e:void 0}function da(){try{const e=window.localStorage.getItem(ia);return e===null?void 0:e==="1"}catch{return}}function $e(){return Rt===void 0&&(Rt=typeof window>"u"?!1:aa()??la()??da()??!1),Rt}function ca(e){return`__${(e||"emailmaker").toLowerCase().replaceAll("-","")}__`}var Q={initStart:"loader:init:start",coreReady:"loader:core:ready",initEnd:"loader:init:end",chunksLoaded:"app:chunks:loaded",showStart:"show:start",showEnd:"show:end",canvasCreated:"canvas:created",canvasLoaded:"canvas:loaded",canvasPainted:"canvas:painted",appVisible:"app:visible",editorVisible:"editor:visible",canvasSettled:"canvas:settled"},Lh=Object.values(Q),Mh=[Q.canvasPainted,Q.canvasSettled,Q.appVisible,Q.editorVisible],ua=5e3,fa=3e3,or="diagnosticsStore",nt,Ne;function sr(){return{marks:new rr(ua),resources:new rr(fa)}}function Ei(){if(Ne)return Ne;const e=On();return e?(Ne=e[or]??nt??sr(),e[or]=Ne,nt=void 0,Ne):(nt??=sr(),nt)}function z(e,t){$e()&&Ei().marks.push({phase:e,at:ra(),...t})}function On(){if(typeof window.__emailmaker__<"u"&&window.__emailmaker__)return window.__emailmaker__;if(typeof window>"u")return;const e=window[ca()];return e!==null&&typeof e=="object"?e:void 0}function pa(e){const t=e.length,n=Ei();return e.forEach(r=>n.marks.push(r)),e.length=0,t}function ma(){const e=On();return!e||!Array.isArray(e.diagnosticsBuffer)?0:pa(e.diagnosticsBuffer)}var ha="Editor instance was destroyed and cannot be reused. A fresh instance will be created instead.";function xn(){const e=new Error(ha);return e.name="DestroyedInstanceError",e}function rn(e,t){if(e===t)return!0;if(!e||!t||typeof e!="object"||typeof t!="object")return!1;const n=Array.isArray(e);if(n!==Array.isArray(t))return!1;if(n){const o=e,s=t;return o.length===s.length&&o.every((d,a)=>rn(d,s[a]))}const r=Object.keys(e),i=Object.keys(t);return r.length!==i.length?!1:r.every(o=>Object.prototype.hasOwnProperty.call(t,o)&&rn(e[o],t[o]))}function yi(e,t){const n={watch(r){let i,o=!1;return e.watch(s=>{const d=t(s);o&&rn(i,d)||(i=d,o=!0,r(d))})},select(r){return yi(n,r)}};return n}function Me(...e){let t=e[0],n=e.length>0;const r=new Set,i={get(){return n?t:void 0},set(o){t=o,n=!0;for(const s of Array.from(r))s(o)},watch(o){return r.add(o),n&&o(t),{dispose:()=>r.delete(o)}},select(o){return yi(i,o)}};return i}var _i=class{http;constructor(e){this.http=e}app_init_create=(e,t={})=>this.http.request({path:"/app/v1/app_init",method:"POST",body:e,type:Cs.UrlEncoded,...t})},wi=class{http;constructor(e){this.http=e}get_translations2=({file:e,...t},n={})=>this.http.request({path:`/translations/v1/${e}`,method:"GET",...n});get_translations3=({id:e,file:t,...n},r={})=>this.http.request({path:`/translations/v1/${t}/${e}`,method:"GET",...r})};function ga(e){return String(e||"").trim()||void 0}var va=class extends ee{deps;_app;_baseUrl;_appInit;_restBaseUrl;_prevApp;constructor(e){super(),this.deps=e,this.addDisposable(e.options.select(t=>this._slice(t)).watch(t=>this._start(t)))}get app(){return this._app}_slice(e){return Object.prototype.hasOwnProperty.call(e,"baseUrl")&&(this._baseUrl=ga(e.baseUrl)),Object.prototype.hasOwnProperty.call(e,"appInit")&&(this._appInit=e.appInit),{appInit:this._appInit,user:e.user,project:e.project,baseUrl:this._baseUrl,restBaseUrl:this.deps.resolveRestBaseUrl(this._baseUrl),standalone:this.deps.isStandalone()}}_start(e){if(this._restBaseUrl!==e.restBaseUrl&&(this._restBaseUrl=e.restBaseUrl,this.deps.setRestBaseUrl(e.restBaseUrl)),e.standalone)return;const t=e.appInit||this.deps.fallbackAppInit,n=Promise.resolve(t({baseUrl:e.baseUrl,user:e.user,project:e.project,prevApp:this._prevApp}));this._app=n,n.then(r=>{this._app===n&&(this._prevApp=r)},()=>{}),this.deps.publish(n)}},Ln=L("AppInitService");function ba(e){return async()=>{const t=await e();return(await new _i(t).app_init_create({})).data}}function Ea(e){e.injectFactory(Ln,()=>{const t=new va({options:e.getInstance(se),isStandalone:()=>!!e.getInstance(me),resolveRestBaseUrl:n=>n?tr(n):tr()||void 0,setRestBaseUrl:n=>{e.getInstance(Vs)?.setOptions(n?{baseUrl:n}:{})},fallbackAppInit:ba(()=>e.getInstanceAsync(ms)),publish:n=>{e.inject(Pe,n)}});return e.getInstance(j)?.addDisposable(t),t},!0)}var Mn=L("documentSession.emailDocuments");function Pt(e){return e?.getInstance(Mn)}var ya=L("RevisionServiceFlag");function _a(e){return e.getOrCreateInstance(ya,()=>{let t=!1;return{isEnabled:()=>t,set:n=>{t=n}}})}function Si(e){return _a(e).isEnabled()}var wa=L("EmailRightsResolver");function Sa(e,t){const n=e.getInstance(wa);return n?n(t):!0}var Ii=L("EmailHistoryAvailabilityResolver");function Ia(e){return e.getInstance(Ii)!==void 0}async function Ta(e){const t=e.getInstance(Ii);if(!t)return!0;try{return await t()}catch{return!1}}var kn={INIT_START:5e3,SET_ENTITY:12e3,PREHEADER:5e3,SUBJECT:5e3,INITED:5e3,UPDATE_ENTITY:5e3},Ti=["INIT_START","SET_ENTITY","PREHEADER","SUBJECT","INITED"],Ai=2e4,Aa=Ti.reduce((e,t)=>e+kn[t],0),Ci=Ai+Aa+3e3;function Ca(e){return Ti.reduce((t,n)=>t+Ri(n,e),0)}function Ri(e,t){const n=t?.[e];return typeof n=="number"&&n>0?n:kn[e]}function Pi(e){const t=e?.contentReady;return typeof t=="number"&&t>0?t:Ci}function Di(e){const t=e?.sandboxReady;return typeof t=="number"&&t>0?t:Ai}function Oi(e=Ci){return e+3e3}function xi(e){return e instanceof Error?`${e.name}: ${e.message}`:typeof e=="string"?e:JSON.stringify(e)??"undefined"}var Ra=()=>Oi();function Pa(e,t){let n;return Promise.race([e,new Promise(r=>{n=setTimeout(()=>{r()},t)})]).finally(()=>{n!==void 0&&clearTimeout(n)})}function Da(e){return t=>Pa(e.getOrCreateInstance(B.BEFORE_SAVE_EMAIL,()=>new pe).fire(t),Ra())}function Oa(e){return e!=null&&e!==""}var xa;function wt(e,t){return xa?.capture(e,t)}function La(e=""){let t=e;return{read:()=>t,write:n=>{t=n},dispose:()=>{t=""}}}function rt(e){return e.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}var ie=class{oldPosition;oldText;newPosition;newText;get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(e,t,n,r){this.oldPosition=e,this.oldText=t,this.newPosition=n,this.newText=r}toString(){return this.oldText.length===0?`(insert@${this.oldPosition} "${rt(this.newText)}")`:this.newText.length===0?`(delete@${this.oldPosition} "${rt(this.oldText)}")`:`(replace@${this.oldPosition} "${rt(this.oldText)}" with "${rt(this.newText)}")`}};function ar(e,t){return e===null||e.length===0?t:new Ma(e,t).compress()}var Ma=class ae{_prevEdits;_currEdits;_result;_resultLen;_prevLen;_prevDeltaOffset;_currLen;_currDeltaOffset;constructor(t,n){this._prevEdits=t,this._currEdits=n,this._result=[],this._resultLen=0,this._prevLen=this._prevEdits.length,this._prevDeltaOffset=0,this._currLen=this._currEdits.length,this._currDeltaOffset=0}compress(){let t=0,n=0,r=this._getPrev(t),i=this._getCurr(n);for(;t<this._prevLen||n<this._currLen;){if(r===null){if(i===null)break;this._acceptCurr(i),i=this._getCurr(++n);continue}if(i===null){this._acceptPrev(r),r=this._getPrev(++t);continue}if(i.oldEnd<=r.newPosition){this._acceptCurr(i),i=this._getCurr(++n);continue}if(r.newEnd<=i.oldPosition){this._acceptPrev(r),r=this._getPrev(++t);continue}if(i.oldPosition<r.newPosition){const[a,f]=ae._splitCurr(i,r.newPosition-i.oldPosition);this._acceptCurr(a),i=f;continue}if(r.newPosition<i.oldPosition){const[a,f]=ae._splitPrev(r,i.oldPosition-r.newPosition);this._acceptPrev(a),r=f;continue}let s,d;if(i.oldEnd===r.newEnd)s=r,d=i,r=this._getPrev(++t),i=this._getCurr(++n);else if(i.oldEnd<r.newEnd){const[a,f]=ae._splitPrev(r,i.oldLength);s=a,d=i,r=f,i=this._getCurr(++n)}else{const[a,f]=ae._splitCurr(i,r.newLength);s=r,d=a,r=this._getPrev(++t),i=f}this._result[this._resultLen++]=new ie(s.oldPosition,s.oldText,d.newPosition,d.newText),this._prevDeltaOffset+=s.newLength-s.oldLength,this._currDeltaOffset+=d.newLength-d.oldLength}const o=ae._merge(this._result);return ae._removeNoOps(o)}_acceptCurr(t){this._result[this._resultLen++]=ae._rebaseCurr(this._prevDeltaOffset,t),this._currDeltaOffset+=t.newLength-t.oldLength}_getCurr(t){return t<this._currLen?this._currEdits[t]:null}_acceptPrev(t){this._result[this._resultLen++]=ae._rebasePrev(this._currDeltaOffset,t),this._prevDeltaOffset+=t.newLength-t.oldLength}_getPrev(t){return t<this._prevLen?this._prevEdits[t]:null}static _rebaseCurr(t,n){return new ie(n.oldPosition-t,n.oldText,n.newPosition,n.newText)}static _rebasePrev(t,n){return new ie(n.oldPosition,n.oldText,n.newPosition+t,n.newText)}static _splitPrev(t,n){const r=t.newText.substr(0,n),i=t.newText.substr(n);return[new ie(t.oldPosition,t.oldText,t.newPosition,r),new ie(t.oldEnd,"",t.newPosition+n,i)]}static _splitCurr(t,n){const r=t.oldText.substr(0,n),i=t.oldText.substr(n);return[new ie(t.oldPosition,r,t.newPosition,t.newText),new ie(t.oldPosition+n,i,t.newEnd,"")]}static _merge(t){if(t.length===0)return t;const n=[];let r=0,i=t[0];for(let o=1;o<t.length;o++){const s=t[o];i.oldEnd===s.oldPosition?i=new ie(i.oldPosition,i.oldText+s.oldText,i.newPosition,i.newText+s.newText):(n[r++]=i,i=s)}return n[r++]=i,n}static _removeNoOps(t){if(t.length===0)return t;const n=[];let r=0;for(let i=0;i<t.length;i++){const o=t[i];o.oldText!==o.newText&&(n[r++]=o)}return n}};function ka(e){return new ie(e.newPosition,e.newText,e.oldPosition,e.oldText)}function Na(e){return e.map(ka)}function lr(e,t){return t.every(n=>e.slice(n.oldPosition,n.oldEnd)===n.oldText)}function Fa(e,t){let n=e;for(let r=t.length-1;r>=0;r-=1){const i=t[r];n=n.slice(0,i.oldPosition)+i.newText+n.slice(i.oldEnd)}return n}function ja(e,t,n){let r=0;const i=e.start===e.end;for(const o of t){const s=o.newLength-o.oldLength;if(o.oldLength===0){const d=o.oldPosition;if(i&&d===e.start)r+=n==="after"?s:0;else{if(e.start<d&&d<e.end)return null;d<=e.start&&(r+=s)}continue}if(i){if(e.start>=o.oldEnd)r+=s;else if(e.start>o.oldPosition)return null;continue}if(e.start>=o.oldEnd)r+=s;else if(e.end>o.oldPosition)return null}return{start:e.start+r,end:e.end+r}}var gt=class extends Error{reason;constructor(e){super("Открытие документа не удалось"),this.reason=e,this.name="DocumentOpenFailedError"}},dr=0,Ba=Math.random().toString(36).slice(2,8);function Ua(){return dr+=1,`doc-${Ba}-${dr}`}function Ha(e){const t=e.createBuffer(),n=e.docId??Ua();let r=e.serverId??null,i=0,o=null,s=e.attributes??{};const d=new Set;let a=!1,f=!1,u;const v=new Set;let b=null;const E=()=>(b?.version!==i&&(b={version:i,value:t.read()}),b.value),I=g=>Object.entries(g).some(([y,_])=>s[y]!==_);return{get:()=>({docId:n,serverId:r,version:i,savedVersion:o,attributes:s}),getContent:E,mutate(g,{source:y}){if(a)return i;const _=g.changes?.length?g.changes:void 0,S=_?Fa(E(),_):g.content!==void 0?g.content:void 0,A=S!==void 0&&S!==E(),m=g.attributes!==void 0&&I(g.attributes);if(!A&&!m)return i;const c=!(i>(o??-1));return A&&t.write(S),m&&(s={...s,...g.attributes}),i+=1,y!=="user"&&c&&(o=i),d.forEach(l=>l({source:y,version:i,changes:_})),i},markSaved(g,y){const _={serverId:r,savedVersion:o};y!==void 0&&(r=y),(o===null||g>o)&&(o=g),(_.serverId!==r||_.savedVersion!==o)&&d.forEach(S=>S({source:"system",version:i}))},markReady(){f||u!==void 0||(f=!0,v.forEach(g=>g.resolve()),v.clear(),d.forEach(g=>g({source:"system",version:i})))},isReady:()=>f,markFailed(g){f||u!==void 0||a||(u=g,v.forEach(y=>y.reject(new gt(g))),v.clear(),d.forEach(y=>y({source:"system",version:i})))},failure:()=>u,whenReady(){return f?Promise.resolve():u!==void 0?Promise.reject(new gt(u)):a?Promise.reject(new Error("Документ закрыт до того, как наполнение закончилось")):new Promise((g,y)=>{v.add({resolve:g,reject:y})})},subscribe(g){return d.add(g),()=>d.delete(g)},isNew:()=>r===null,isDirty:()=>i>(o??-1),isDisposed:()=>a,dispose(){a=!0,v.forEach(g=>g.reject(new Error("Документ закрыт до того, как наполнение закончилось"))),v.clear(),d.clear(),t.dispose()}}}var Ga=500,qa=100,Dt=0;function $a(e,t={}){const n=t.groupIntervalMs??Ga,r=t.maxSteps??qa,i=t.now??(()=>0);let o=[],s=0,d=Dt+=1,a=null,f=!1,u=!1,v=!1;const b=new Set,E=()=>b.forEach(l=>l()),I=(l,p)=>{if(l.length){u=!0;try{e.mutate({changes:l},{source:p})}finally{u=!1}}},g=l=>I(l,"user"),y=l=>{const p=i();f&&a!==null&&p-a<n?o[s-1]=ar(o[s-1],l):(o=o.slice(0,s),o.push(l),s=o.length,f=!0,o.length>r&&(o=o.slice(o.length-r),s=o.length,d=Dt+=1)),a=p,E()},_=()=>{f=!1,a=null},S=l=>{if(!l.length)return;const p=o.length>s;p&&(o=o.slice(0,s)),s>0&&(o[s-1]=ar(o[s-1],l)),_(),p&&E()},A=e.subscribe(({source:l,changes:p})=>{if(!(v||u||!p?.length)){if(l==="remote"){m();return}if(l!=="user"){S(p);return}y(p)}}),m=()=>{o=[],s=0,_(),d=Dt+=1,E()},c=()=>{if(s===0)return!1;const l=Na(o[s-1]);return lr(e.getContent(),l)?(g(l),s-=1,_(),!0):(o=o.slice(0,s-1),s=o.length,_(),E(),!1)};return{canUndo:()=>s>0,canRedo:()=>s<o.length,undo(){c()&&E()},redo(){if(!(s>=o.length)){if(!lr(e.getContent(),o[s])){o=o.slice(0,s),_(),E();return}g(o[s]),s+=1,_(),E()}},clear:m,applyWithoutHistory(l){const p=e.get().version;if(I(l,"system"),e.get().version===p){_();return}S(l)},getPast:l=>o.slice(0,s).reverse().slice(0,l),getFuture:l=>o.slice(s).reverse().slice(0,l),createSnapshot:()=>({stackId:d,index:s}),restoreSnapshot(l){if(l.stackId!==d||l.index>s)return!1;for(;s>l.index;)if(!c())return E(),!1;return E(),!0},subscribe(l){return b.add(l),()=>b.delete(l)},dispose(){v=!0,A(),b.clear(),o=[],s=0}}}var za=["edit","move","resize","insert"];function Ot(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0?e:null}function Va(e){return typeof e=="string"?e:null}function Ka(e){return!Array.isArray(e)||!e.every(t=>typeof t=="string")?null:e}function Wa(e){return za.includes(e)?e:null}function Ya(e){const t=typeof e=="object"&&e!==null?e:{},n={originId:Va(t.originId),changeId:Ot(t.changeId),rev:Ot(t.rev),baseRev:Ot(t.baseRev),expected:Ka(t.expected),intent:Wa(t.intent)};return{...n,legacy:Object.values(n).every(r=>r===null)}}var cr=class extends Error{reason;constructor(e){super(`сохранение не состоялось: ${e}`),this.name="SaveRefusedError",this.reason=e}},Li="draft";function je(e){return e==null||e===""?Li:String(e)}function Xa(e){return e==null||e===""?`${on}${Li}`:`${on}${String(e)}`}var on="block:";function he(e){return e?.startsWith(on)===!0}function Be(e){return he(e.sessionKey())?void 0:e.current()}function He(e,t,n){const r=typeof performance<"u"?performance.now():Date.now();return z(`show:gate:${e}`,{kind:"wait"}),t.then(i=>(z(`show:gate:${e}:end`,{kind:"wait"}),i),i=>{const o=Math.round((typeof performance<"u"?performance.now():Date.now())-r);throw Tn(i)?(`${e}`,{...n}):(`${e}`,{error:xi(i),...n},void 0),i})}function Mi(e){return e?.length?[...e].sort((t,n)=>Date.parse(n.modified)-Date.parse(t.modified))[0]:null}function ki(e,{freshSince:t}={}){return!(!e?.slug?.includes("autosave")||!e?.html?.trim()||t!==void 0&&Date.parse(e.modified)<t-5e3)}function Ja(e,t={}){const n=Mi((e??[]).filter(r=>r?.html?.trim()));return ki(n,t)?n:null}function Qa(e){const t=Date.parse(Mi(e)?.modified??"");return{autosave:Ja(e),...Number.isFinite(t)?{latestAt:t}:{}}}function Za({hasUnsavedUserEdit:e}){return e?"skip":"apply"}var Ni=e=>e.replace(/\r\n?/g,`
997
+ `),ur=["recovery","plugin","rest"],el=["subject","preheader"];function tl(e){let t={},n;for(let i=ur.length-1;i>=0;i--){const o=e.get(ur[i]);o&&(o.attributes&&(t={...t,...o.attributes}),o.content!==void 0&&(n=o.content))}const r=e.get("plugin")?.attributes;for(const i of el){const o=r?.[i];typeof o=="string"&&o!==""&&(t={...t,[i]:o})}return n!==void 0?{content:n,attributes:t}:{attributes:t}}function Fi(e,t){if(!e||!t)return;const n=e.getContent(),r=t.content!==void 0?Ni(t.content):void 0,i=r!==void 0&&r!==n;e.get().docId,Object.keys(t.attributes??{}),e.mutate({attributes:t.attributes??{},...i?{changes:[new ie(0,n,0,r)]}:{}},{source:"remote"})}var fr=e=>typeof e=="string"?e.trim():"";function nl(e,t,n){const{version:r,attributes:i}=e.get(),o=i,s=fr(o.title)||fr(o.subject);return{version:r,payload:{html:e.getContent(),title:s,subject:o.subject,preheader:o.preheader,description:o.description,common_styles:o.common_styles||"",meta:o.meta,utm_parameters:o.utm_parameters,parent_email:o.parent_email,is_template:o.is_template||!1,is_inited:o.is_inited,tags:o.tags,emailtags:o.emailtags,group:o.group,renderGuid:e.get().docId,project:t.project??o.project,folder:t.folder,...n?.emailtags?{emailtags:n.emailtags}:{},...n?.group?{group:n.group}:{},source:t.source}}}async function rl(e,t,n,r,i){if(n==="materialize"||n==="publish"&&r==null)return e.createEmail(i);if(r==null)throw new Error("Письмо ещё не создано на сервере");return n==="publish"?e.updateEmail(r,i):t.saveAutosave(r,i)}function ge(e,t=!1){const n={};for(const r of Object.keys(e)){let i=e[r];i!==void 0&&!(typeof i=="number"&&Number.isNaN(i))&&(t&&typeof i=="object"&&i!==null&&(i=ge(i)),n[r]=i)}return n}var il=new Set(["html","id","renderGuid","showToken","showId","isNew"]);function ji(e){return e?Object.fromEntries(Object.entries(e).filter(([t])=>!il.has(t))):{}}function vt(e,t,n={}){e&&e.mutate({attributes:ol(e.get().attributes,t)},{source:n.source??"user"})}function ol(e,t){return t.subject===void 0||t.title!==void 0?t:(e.title??"")===(e.subject??"")?{...t,title:t.subject}:t}function Nn(e,t){return e===void 0&&Object.keys(t).length===0?null:{...e!==void 0?{content:e}:{},attributes:t}}function sl(e){return typeof e=="string"&&e.startsWith("{")?e:"{}"}function Bi(e){if(!e)return null;const t=ji(e);return e.common_styles!==void 0&&(t.common_styles=sl(e.common_styles)),Nn(e.html,t)}function Ui(e){return e?Nn(e.html,ge(ji(e))):null}var al=["common_styles","subject","preheader","meta"];function pr(e){if(!e?.html?.trim())return null;const t={};for(const n of al)ll(n,e[n])&&(t[n]=e[n]);return Nn(e.html,t)}function ll(e,t){return e==="common_styles"?typeof t=="string"&&t.startsWith("{"):e==="meta"?typeof t=="object"&&t!==null&&!Array.isArray(t):typeof t=="string"}var dl=10,cl=(e,t)=>e.key===t.key&&ul(e.serverId,t.serverId),ul=(e,t)=>e==null||e===t;function fl(e){return typeof e?.then=="function"}var mr=e=>{e.timer!==void 0&&(clearTimeout(e.timer),e.timer=void 0)},Hi=e=>{e.request.serverId!=null&&e.document.markSaved(e.document.get().version)},pl=e=>{Fi(e.document,tl(e.reports)),Hi(e)},xt=(e,t)=>{if(!e.ready){pl(e);return}Fi(e.document,t)},ml=e=>{const{attributes:t,serverId:n,docId:r}=e.document.get();return{...t,html:e.document.getContent(),id:n??void 0,isNew:n==null,renderGuid:r}};function hl(e){const{resolveAdapters:t,timeoutMs:n,resolveWritePort:r,resolveHistoryPort:i,resolveTerms:o,canEdit:s,notifyBeforeSave:d,onAdapterError:a,onTimeout:f}=e;let u;const v=new Set,b=new Set,E=()=>v.forEach(h=>h()),I=(h,w)=>{if(!(h.closed||h.ready)){if(h.error!==void 0){h.document.markFailed(h.error),h.document.get().docId;return}Hi(h),h.ready=!0,h.document.markReady(),h.document.get().docId,[...h.reports.keys()]}},g=(h,w,T)=>{a?.(w.id,T),!(!w.required||h.closed)&&(h.error=T,h.document.get().docId,w.id,E())},y=(h,w)=>{const T=new Set(w.map(R=>R.id));w.forEach(R=>{R.watch&&h.watchers.push(R.watch(C=>h.closed?!1:h.ready&&C?.content!==void 0&&Za({hasUnsavedUserEdit:h.document.isDirty()})==="skip"?(h.document.get().docId,R.id,!1):(C&&h.reports.set(R.id,C),xt(h,C),!0)))});const O=(R,C)=>{h.closed||(C&&h.reports.set(R.id,C),xt(h,C))},k=()=>{T.size>0||h.closed||(mr(h),I(h,[]))},W=[];if(w.forEach(R=>{let C;try{C=R.load()}catch(D){g(h,R,D),T.delete(R.id);return}if(fl(C)){W.push({id:R.id,required:R.required,load:()=>C});return}O(R,C),T.delete(R.id)}),W.length===0){k();return}h.timer=setTimeout(()=>{h.timer=void 0,f?.([...T]),h.document.get().docId,[...T],I(h,[...T])},n),h.timer.unref?.(),W.forEach(R=>{R.load().then(C=>O(R,C)).catch(C=>{g(h,R,C)}).finally(()=>{T.delete(R.id),k()})})},_=async(h,w,T)=>{if(T==="snapshot"||T==="anchor")return;const O=o?.();if(O)return O.resolve({project:w.project??h.project,tags:(h.tags??[]).map(k=>({name:k}))})},S=h=>{if(h.lock===!0&&s?.(h)===!1)return new cr("locked");const w=h.tags?.length??0,T=h.emailtags?.length??0;if(Math.max(w,T)>dl)return new cr("too-many-tags")},A=async(h,w,T)=>{try{await h.document.whenReady()}catch(C){return h.saveError=C,h.saveFailures+=1,h.saveFailures,!1}if(h.closed)return!1;const O=S(h.document.get().attributes);if(O)return h.saveError=O,h.saveFailures+=1,O.reason,E(),!1;if(d&&(await d(ml(h)).catch(()=>{}),h.closed))return!1;let k;try{k=await _(h.document.get().attributes,T,w)}catch(C){return h.saveError=C,h.saveFailures+=1,h.saveFailures,E(),!1}if(h.closed)return!1;const{payload:W,version:R}=nl(h.document,T,k);h.document.get().docId;try{const C=h.document.get().serverId!=null,D=await rl(r(),i(h.request.key),w,h.document.get().serverId,W);if(h.closed)return!0;let x;if(w==="snapshot"||w==="anchor"){const M=D?.modified!=null?Date.parse(D.modified):NaN;x=Number.isFinite(M)?M:Date.now(),h.snapshotVersion=R,h.lastRevisionAt=x}else h.document.markSaved(R,D?.id!=null?String(D.id):void 0);const U=h.document.get().serverId;!C&&U!=null&&(h.recoveryFacts={emailId:U,historyLoaded:!0,isRecovering:!1}),h.saveError=void 0,h.saveFailures=0,h.document.get().serverId,E();const J={intent:w,serverId:h.document.get().serverId,created:!C,...x!==void 0?{revisionAt:x}:{}};return b.forEach(M=>M(J)),!0}catch(C){return h.saveError=C,h.saveFailures+=1,h.saveFailures,E(),!1}},m=()=>{u&&(u.closed=!0,u.watchers.forEach(h=>h()),u.watchers=[],mr(u),u.history.dispose(),u.document.dispose(),u=void 0)},c=(h,w,T)=>{let O=!1;w.show&&(h.show?.id!==w.show.id||h.show.token!==w.show.token)&&(h.show=w.show,O=!0,{docId:h.document.get().docId,...w.show});const k=T==="show"?Ui(w.patch):null;k&&(h.reports.set("plugin",k),xt(h,k)),O&&E()},l=(h,w={})=>{const T=u;return!T||T.closed?Promise.resolve(!1):T.saving?h==="snapshot"?Promise.resolve(!1):(T.inFlight??Promise.resolve(!1)).then(()=>l(h,w)):(T.saving=!0,T.inFlight=A(T,h,w).finally(()=>{T.saving=!1,T.inFlight=void 0}),T.inFlight)},p=(h,w="open")=>{if(u&&!u.closed&&w!=="new"&&cl(u.request,h))return c(u,h,w),u.document;m();const T=Ha({createBuffer:()=>La(""),serverId:h.serverId??null}),O={request:h,show:h.show,document:T,history:$a(T,{now:Date.now}),watchers:[],saveFailures:0,saving:!1,reports:new Map,ready:!1,closed:!1};return u=O,T.get().docId,h.serverId,y(O,t(h,{publishRecoveryFacts(k){O.closed||(O.recoveryFacts=k,E())},readShownContent:()=>O.closed?null:O.document.getContent()})),E(),T};return{openWith:p,open:(h,w={})=>p({key:je(h),serverId:h,email:w.email,patch:w.patch,show:w.show},"open"),openDraft:(h,w={})=>p({key:je(void 0),serverId:null,email:h,patch:w.patch,show:w.show},"open"),startNewDraft:(h,w={})=>p({key:je(void 0),serverId:null,email:h,patch:w.patch,show:w.show},"new"),reload:(h,w={})=>p({key:je(h),serverId:h,email:w.email,patch:w.patch,show:w.show},"new"),openBlock:(h,w)=>p({key:he(h)?h:Xa(h),serverId:w?.id!=null?String(w.id):null,email:w},"open"),show:(h,w)=>{const T=u;if(!(!T||T.closed))return p({...T.request,patch:h,show:w},"show")},current:()=>u?.document,save:l,saveState:()=>({error:u?.saveError,failures:u?.saveFailures??0,saving:u?.saving===!0}),revisionFacts(){if(!u)return;const h=u.revisionFactsSnapshot;return h&&h.snapshotVersion===u.snapshotVersion&&h.lastRevisionAt===u.lastRevisionAt?h:(u.revisionFactsSnapshot={snapshotVersion:u.snapshotVersion,lastRevisionAt:u.lastRevisionAt},u.revisionFactsSnapshot)},recoveryFacts:()=>u?.recoveryFacts,history:()=>u?.history,forcedHeaders:()=>u?.forcedHeaders,beginForcedHeaders(h){u&&!u.closed&&(u.forcedHeaders=h)},endForcedHeaders(){u&&(u.forcedHeaders=void 0)},onSaved(h){return b.add(h),()=>b.delete(h)},showFacts:()=>u?.show,sessionKey:()=>u?.request.key,openError:()=>u?.error,subscribe(h){return v.add(h),()=>v.delete(h)},close(){u&&(m(),E())}}}var Gi=class extends Error{reason;constructor(e,t){super(`письмо не открылось: ${e}`),this.name="EmailOpenFailedError",this.reason=e,this.cause=t}};function qi(e){if(e instanceof Gi)return e.reason;if(e instanceof gt)return qi(e.reason)}function gl(e,t){return{id:"rest",required:!0,load:async()=>{const n=await e.readEmail(t);if(!n)throw new Gi("not-found");return Bi(n)}}}var $i=L("EmailPort");function vl(e){return e.getInstance($i)}function bl(e,t){e.inject($i,t)}var zi=L("documentSession.restEmailPortFactories");function Vi(e){return e.getInstance(zi)!==void 0}function Se(e){const t=e.getInstance(zi);if(!t)throw new Error("[documentSession] порты поверх REST ещё не загружены — работа с сервером начинается с init()");return t}var El=L("EmailTermsResolver");function yl(e){return e.getInstance(El)}var Ki=L("EmailHistoryPort"),_l=L("BlockHistoryPort");function Wi(e){return e.getInstance(_l)}function Yi(e){return e.getInstance(Ki)}function wl(e,t){e.inject(Ki,t)}var Sl="em_autosave_pending";function bt(e){return`${Sl}_${e}`}function Il(e,t){try{sessionStorage.setItem(bt(e),JSON.stringify(t))}catch{}}function Tl(e){try{const t=sessionStorage.getItem(bt(e));if(!t)return null;const n=JSON.parse(t);return Date.now()-n.sentAt>6e4?(sessionStorage.removeItem(bt(e)),null):n}catch{return null}}function it(e){try{sessionStorage.removeItem(bt(e))}catch{}}var Al=2e3,Cl=5e3,Rl=5,Pl=5e3,Dl=4;function Ol(){return typeof performance<"u"&&typeof performance.timeOrigin=="number"?performance.timeOrigin:Date.now()}function xl(e,t){return e==null||t==null?!1:e.replaceAll(`\r
998
998
  `,`
999
999
  `)===t.replaceAll(`\r
1000
1000
  `,`
1001
- `)}function Al({emailId:e,readAutosave:t,revisionServiceEnabled:n,isHistoryAvailable:r,readShownContent:i,onFacts:o,onLate:s,onError:d,pageLoadTs:l=Il()}){let f=null,u=!1,v=!1,b=0,E={emailId:e,historyLoaded:!1,isRecovering:!1},I=null;const g=new Promise(R=>{I=R}),y=R=>{E={...E,...R},o(E)},w=R=>{b+=1,y({applied:{phase:R,seq:b}})},S=()=>{f?.timer&&clearTimeout(f.timer),f=null},A=R=>{if(!v){if(I){const O=I;I=null,O(R),R.revision&&w(R.phase);return}s(R)&&R.revision&&w(R.phase)}},m=()=>{if(!f||v)return;const R=f.phase==="fast",O=R?El:wl,z=R?_l:Sl;f.timer=setTimeout(()=>{const B=f;if(!(!B||v)){if(B.attempts+=1,_(),R&&B.attempts>=z){const{pending:W}=B;nt(e),y({isRecovering:!1}),A({revision:{html:W.html,common_styles:W.common_styles,subject:W.subject,preheader:W.preheader},phase:"timeout"}),u=!0,B.phase="bg",B.attempts=0,m();return}if(!R&&B.attempts>=z){nt(e),S(),y({isRecovering:!1}),u=!0;return}m()}},O),f.timer.unref?.()},c=R=>{f={phase:"fast",attempts:0,pending:R,timer:null},y({isRecovering:!0}),m()},a=(R,O)=>Pi(R.autosave,O===void 0?{}:{freshSince:O})?R.autosave:null,p=R=>{if(v)return;if(y({historyLoaded:!0,latestRevisionAt:R.latestAt!==void 0&&Number.isFinite(R.latestAt)?R.latestAt:void 0}),n&&f){const B=a(R,f.pending.sentAt);if(!B)return;const W=f.phase==="fast"?"found":"bg";nt(e),S(),y({isRecovering:!1}),u=!0,A({revision:B,phase:W});return}if(u)return;const O=n?bl(e):null,z=O&&(O.sentAt<l||!Tl(O.html,i()))?O:null;if(z){const B=a(R,z.sentAt);if(B){nt(e),u=!0,A({revision:B,phase:"found"});return}c(z);return}u=!0,A({revision:a(R),phase:"normal"})},h=R=>{v||(d?.(R),E.historyLoaded||(y({historyLoaded:!1,latestRevisionAt:void 0}),P()),!f&&A({revision:null,phase:"normal"}))},_=()=>t(e).then(p).catch(h);let T,C=!1;const P=()=>{C||f||v||(C=!0,T=setTimeout(()=>{T=void 0,!v&&!E.historyLoaded&&_()},yl))},j=()=>{v||(y({historyLoaded:!1,latestRevisionAt:void 0}),A({revision:null,phase:"normal"}))};return r?r().then(R=>R?_():j()):_(),{verdict:()=>g,dispose(){v=!0,T!==void 0&&(clearTimeout(T),T=void 0),S()}}}function Cl({port:e,revisionServiceEnabled:t,isHistoryAvailable:n,emailId:r,readShownContent:i,onFacts:o}){let s=null;const d=Al({emailId:r,readAutosave:l=>e.readAutosave(l),revisionServiceEnabled:t,...n?{isHistoryAvailable:n}:{},readShownContent:i,onFacts:o,onLate:({revision:l,phase:f})=>{const u=ir(l);return s?.(u)??!1},onError:l=>{l instanceof Error&&l.message}});return{id:"recovery",load:()=>d.verdict().then(({revision:l})=>ir(l)),watch(l){return s=l,()=>{s=null,d.dispose()}}}}function $i(e,t){return{readRevisions:(n,r)=>t.readRevisions(n,r),readAutosave:n=>t.readAutosave(n),async saveAutosave(n,r){vl(n,{sentAt:Date.now(),html:r.html??"",common_styles:r.common_styles??"",subject:r.subject,preheader:r.preheader});const i=await t.saveAutosave(n,r);return await e.saveAutosave(n,r),i}}}function Rl(e,t){return{readEmail:n=>e.readEmail(n),createEmail:n=>e.createEmail(n),async updateEmail(n,r){const i=await t.updateEmail(n,r);return await e.updateEmail(n,r),i}}}var zi=x("CurrentUser"),Vi={};function Ki(e){return e.getOrCreateInstance(zi,()=>Me(Vi))}function Wi(e){return e?.getInstance(zi)?.get()??Vi}function Yi(e){return e?.getInstance(we)?.get()??{}}var Pl=1.5;function Dl(e){return!e.isEnabled||e.isUserBusy||!e.isReady||!e.isInited?"none":e.isNew?"create":!e.isDirty||e.isSnapshotSent||!e.isHistoryLoaded||e.latestRevisionAgeMs!==void 0&&e.latestRevisionAgeMs<=Pl*e.autosaveTimeoutMs?"none":"revision"}var Ol=4;function xl(e){const{readDocument:t,readEnvironment:n,onCreate:r,onRevision:i}=e,o=e.readFailures??(()=>0),s=()=>n().autosaveTimeoutMs*2**Math.min(o(),Ol),d=()=>{const w=t();if(!w||w.isDisposed())return"none";const{latestRevisionAt:S,snapshotVersion:A,...m}=n();return Dl({...m,isDirty:w.isDirty(),isNew:w.isNew(),isReady:w.isReady(),latestRevisionAgeMs:S!=null?Date.now()-S:void 0,isSnapshotSent:A!=null&&A===w.get().version})},l=()=>{const w=t();if(!w||w.isDisposed())return!1;if(!w.isDirty())return w.isNew();const{snapshotVersion:S}=n();return!(S!=null&&S===w.get().version)};let f,u,v,b,E=!1;const I=()=>{u=void 0;const w=t();if(!w||w.isDisposed())return;if(w.get().docId!==f){g();return}const S=d();S==="create"?r():S==="revision"?i():l()&&(f=w.get().docId,u=setTimeout(I,s()))},g=()=>{const w=t();E||!w||u!==void 0||d()==="none"&&!l()||(f=w.get().docId,u=setTimeout(I,s()))},y=()=>{const w=t();w!==v&&(b?.(),v=w,b=w?.subscribe(g),u!==void 0&&(clearTimeout(u),u=void 0))};return y(),g(),{refresh:()=>{E||(y(),g())},stop:()=>{E=!0,b?.(),b=void 0,v=void 0,u!==void 0&&(clearTimeout(u),u=void 0)}}}var Xi=x("documentSession.autosaveUiFacts"),Ji={isUserBusy:!1,saveContext:{}};function Ll(e){return e.getOrCreateInstance(Xi,()=>Me(Ji))}function sr(e){return e?.getInstance(Xi)?.get()??Ji}var Ml=1e4;function kl(e,t){const n=()=>{const l=t.current(),f=l?.get().serverId??void 0,u=he(t.sessionKey()),v=t.recoveryFacts(),b=v?.emailId===f?v:void 0,E=t.revisionFacts(),I=b?.latestRevisionAt,g=E?.lastRevisionAt,y=Wi(e).profile;return{isInited:u||l?.get().attributes.is_inited===!0,isEnabled:!!y?.autosaves,isHistoryLoaded:b?.historyLoaded===!0,isUserBusy:sr(e).isUserBusy,autosaveTimeoutMs:Yi(e).autosaveTimeout||Ml,latestRevisionAt:I!==void 0||g!==void 0?Math.max(I??0,g??0):void 0,snapshotVersion:E?.snapshotVersion}},r=()=>{const l=sr(e).saveContext;return{...l,project:l.project??t.current()?.get().attributes.project}},i=xl({readDocument:()=>t.current(),readEnvironment:n,readFailures:()=>t.saveState().failures,onCreate:()=>{he(t.sessionKey())||t.save("materialize",r())},onRevision:()=>{t.save("snapshot",{project:r().project})}}),o=t.subscribe(i.refresh),s=Ki(e).watch(()=>i.refresh()),d=Ll(e).watch(()=>i.refresh());return()=>{o(),s.dispose(),d.dispose(),i.stop()}}var ar=12e3;function ve(e){return e.getOrCreateInstance(An,()=>{const t=ll({resolveAdapters:(r,i)=>jl(r,e,i),resolveWritePort:()=>Qi(e),resolveHistoryPort:r=>he(r)?eo(e):Zi(e),resolveTerms:()=>pl(e),canEdit:r=>ga(e,r),notifyBeforeSave:Sa(e),timeoutMs:ar,onAdapterError:(r,i)=>{i instanceof Error&&i.message,yt(i,{origin:"email-source-adapter",tags:{source:r}})},onTimeout:r=>{}}),n=kl(e,t);return e.getInstance(N)?.addDispose(n),t})}function Pn(e){return e?.getInstance(An)}function Qi(e){const t=cl(e);return t?Dn(e)?Rl(t,Se(e).email(e)):t:Se(e).email(e)}function Nl(e){return qi(e)!==void 0||Ui(e)}function Zi(e){const t=qi(e);return t?Dn(e)?($("port:history:server-backed"),$i(t,Se(e).history(e))):($("port:history:integrator"),t):($("port:history:rest (порт не зарегистрирован)"),Se(e).history(e))}function eo(e){const t=Gi(e);return t?Dn(e)?($("port:block-history:server-backed"),$i(t,Se(e).blockHistory(e))):($("port:block-history:integrator"),t):($("port:block-history:rest (порт не зарегистрирован)"),Se(e).blockHistory(e))}function Fl(e){return Gi(e)!==void 0||Ui(e)}function Dn(e){return bi(e)}function jl({email:e,patch:t,serverId:n,key:r},i,o){const s=[];e?s.push({id:"rest",load:()=>Li(e),required:!0}):n&&s.push(dl(Qi(i),n)),t&&s.push({id:"plugin",load:()=>Mi(t)});const d=he(r);return Ia(n)&&(d?Fl(i):Nl(i))&&s.push(Cl({port:d?eo(i):Zi(i),revisionServiceEnabled:bi(i),...!d&&va(i)?{isHistoryAvailable:()=>ba(i)}:{},emailId:n,readShownContent:()=>o.readShownContent(),onFacts:l=>o.publishRecoveryFacts(l)})),s}function X(e){return e.getOrCreateInstance(We,()=>new Ye)}var to=new WeakMap,en=new WeakMap;function ue(e){return to.get(e)??0}function no(e,t){let n=en.get(e);return n||(n=new Set,en.set(e,n)),n.add(t),()=>{n?.delete(t)}}function Bl(e){to.set(e,ue(e)+1),en.get(e)?.forEach(t=>t())}function Ul(e){const t=ve(e),n=X(e).addListener(k.APPLICATION_HAS_AMP,r=>{je(t)?.mutate({attributes:{isAmp:r}},{source:"remote"})});e.getInstance(N)?.addDispose(()=>n.dispose())}function Hl(e){return e.size>0&&(e.type===""||e.type.startsWith("image/"))}function Gl(e){const t=e.fetchImpl??((o,s)=>fetch(o,s)),n=e.pageHost??(()=>window.location.hostname),r=new Set,i=o=>{try{const s=new URL(o,window.location.href);return s.protocol!=="https:"&&s.protocol!=="http:"?!1:s.hostname===n()||e.sourceHosts().includes(s.hostname)}catch{return!1}};return{accepts:i,async load(o){if(!i(o))return;const s=!r.has(o);r.add(o);try{const d=await t(o,{mode:"cors",credentials:"omit",cache:s?"no-cache":"default"});if(!d.ok)return;const l=await d.blob();return Hl(l)?l:void 0}catch{return}}}}var _e={maxBytes:67108864,maxImageBytes:4194304,ttlMs:18e5};function ql(e){const t={maxBytes:e.maxBytes??_e.maxBytes,maxImageBytes:e.maxImageBytes??_e.maxImageBytes,ttlMs:e.ttlMs??_e.ttlMs},n=e.now??(()=>Date.now()),r=new Map,i=new Map,o={hits:0,loads:0,failures:0};let s=0;const d=v=>{const b=r.get(v);b&&(s-=b.bytes,r.delete(v))},l=v=>t.ttlMs<=0||n()-v.storedAt<t.ttlMs,f=()=>{if(s<=t.maxBytes)return;const v=[...r.entries()].sort((b,E)=>b[1].usedAt-E[1].usedAt);for(const[b]of v){if(s<=t.maxBytes)return;d(b)}},u=(v,b)=>{b.size>t.maxImageBytes||(r.set(v,{blob:b,bytes:b.size,storedAt:n(),usedAt:n()}),s+=b.size,f())};return{async get(v){const b=r.get(v);if(b&&l(b))return b.usedAt=n(),o.hits+=1,b.blob;b&&d(v);const E=i.get(v);if(E!==void 0)return E;o.loads+=1;const I=(async()=>{try{const g=await e.load(v);return g?u(v,g):o.failures+=1,g}catch{o.failures+=1;return}finally{i.delete(v)}})();return i.set(v,I),I},forget(v){d(v),i.delete(v)},clear(){r.clear(),i.clear(),s=0},stats(){return{entries:r.size,bytes:s,...o}}}}var $l=["emcdn.ru","scr.emcdn.ru"];function zl(e){const t=String(e??"").trim();if(!t)return"";try{return new URL(t.includes("//")?t:`https://${t}`).hostname}catch{return t.split("/")[0].split(":")[0]}}function Vl(e,t){const n=(r,i)=>{const o=new Set(i?t:[]);for(const s of r){const d=zl(s);d&&o.add(d)}return[...o]};return e?Array.isArray(e)?n(e,!0):n(e.value??[],e.replace!==!0):[...t]}function lr(e){const t=e??{},n=t.isPlugin!==!0?$l:[],r=t.canvasImageCache;if(r===!1)return{enabled:!1,sourceHosts:[],..._e};const i=r===!0||r===void 0?{}:r;return{enabled:i.enabled!==!1,sourceHosts:Vl(i.sourceHosts,n),maxBytes:i.maxBytes??_e.maxBytes,maxImageBytes:i.maxImageBytes??_e.maxImageBytes,ttlMs:i.ttlMs??_e.ttlMs}}function Kl(e){const t=X(e),n=e.getInstance(we);let r=lr(n?.get());const i=Gl({sourceHosts:()=>r.sourceHosts}),o=ql({load:I=>i.load(I),maxBytes:r.maxBytes,maxImageBytes:r.maxImageBytes,ttlMs:r.ttlMs}),s=()=>{t.send(k.SANDBOX_CANVAS_IMAGE_CACHE_SETUP,{enabled:r.enabled,sourceHosts:[...r.sourceHosts]})},d=t.onInit(()=>s()),l=n?.watch(()=>{const I=lr(n.get()),g=JSON.stringify(I)!==JSON.stringify(r);r=I,I.enabled||o.clear(),g&&t.isInited()&&s()}),f={asked:0,served:0,refused:0},u=[],v=(I,g)=>(f.refused+=1,u.push({url:I,reason:g}),u.length>20&&u.shift(),{refused:!0}),b=Object.assign(globalThis,{__emmCanvasImages__:()=>({settings:r,counters:{...f},refusals:[...u],store:o.stats()})}),E=t.addListenerAsync(k.APPLICATION_CANVAS_IMAGE_GET,async I=>{const g=I?.url??"";if(f.asked+=1,!r.enabled||!g)return v(g,"disabled");if(!i.accepts(g))return v(g,"host");I.fresh&&o.forget(g);const y=await o.get(g);return y?(f.served+=1,{blob:y}):v(g,"load-failed")});e.getInstance(N)?.addDispose(()=>{d.dispose(),l?.dispose(),E.dispose(),o.clear(),delete b.__emmCanvasImages__})}var Wl=2e3;function Yl(e){const t=X(e),n=new Set,r=()=>{const s=t.getTarget();if(!s||t.hasPort(s))return;const d=new MessageChannel;let l=!1;const f=v=>{v.data?.operationId==="em:port-ready"&&(l=!0,d.port1.removeEventListener("message",f),t.drainWindow(s))};d.port1.addEventListener("message",f),t.sendPort(s,d.port2),t.usePort(d.port1,!1,s);const u=setTimeout(()=>{n.delete(u),!l&&(yt(new Error("canvas port did not come up, staying on window messaging"),{origin:"canvas-channel"}),d.port1.removeEventListener("message",f),t.useWindow(s))},Wl);n.add(u)},i=Object.assign(globalThis,{__emmCanvasPort__:()=>{const s=t.getTarget();return{usesPort:t.usesPort,windowDrained:s?t.isWindowDrained(s):!1}}}),o=t.onInit(()=>r());e.getInstance(N)?.addDispose(()=>{for(const s of n)clearTimeout(s);o.dispose(),delete i.__emmCanvasPort__})}var Xl=/^[a-zA-Z][a-zA-Z\d+\-.]*:/;function Jl(e){return Xl.test(e)||e.indexOf("//")===0}function rt(e){return e&&(e.endsWith("/")?e:`${e}/`)}function Ql(){return typeof document<"u"&&document.baseURI?document.baseURI:typeof window<"u"&&window.location?window.location.href:""}function dr(e,t){const n=e==null||e===""?"./":String(e);if(Jl(n))return rt(n);const r=t??Ql();if(!r)return rt(n);try{return rt(new URL(n,r).href)}catch{return rt(n)}}function Zl(){return typeof window.__emailmaker__<"u"&&window.__emailmaker__?.publicPath?dr(window.__emailmaker__.publicPath):dr("/")}var ed=()=>"",td=()=>"fd7c3ffe";function ro(e){const t=e?"iframe-eblock":"iframe",n=ed();if(n){const o=n.replace(/\/?$/,"/");return Yn(`${o}${t}.html`,qe())}const r=td(),i=`${Zl().replace(/\/?$/,"/")}iframe/`;return Yn(`${i}${t}${r?`.${r}`:""}.html`,qe())}var cr="allow-top-navigation allow-scripts allow-popups allow-popups-to-escape-sandbox";function tn(e){return/^file:/i.test(String(e||"").trim())}function nd(e){return tn(e)?`${cr} allow-same-origin`:cr}var rd="em:module-body-ack";function id(e,t,n){try{const r=new URL("./",new URL(t,n)).href,i=new URL(e,r).href;return i.startsWith(r)?i:void 0}catch{return}}function On(e){const t=e.split(/[?#]/)[0].split("/").pop()??"",n=/^(.+?)(?:\.[0-9a-f]{6,})?\.html$/.exec(t);return n?`js/${n[1]}.body.js`:void 0}function od(e,t){const n=On(t)?.replace(/^js\/|\.body\.js$/g,""),r=n?e[`${n}.html`]:void 0;return r?(r.imports??[]).map(i=>e[i]?.file).filter(i=>!!i):[]}function sd(e,t){const n=On(t)?.replace(/\.body\.js$/,".js");if(!n||!(n in e))return[];const r=new Set([n]),i=[n],o=[];for(;i.length>0;)for(const s of e[i.shift()]??[])r.has(s)||(r.add(s),o.push(s),i.push(s));return o}async function ad(e){try{const t=await fetch(e);return t.ok?await t.blob():void 0}catch{return}}function ld(e){const t=new Map,n=r=>{const i=id(r,e.canvasSrc,e.origin);if(!i)return;const o=t.get(i);if(o!==void 0)return o;const s=e.fetchBody(i);return t.set(i,s),s};return{take(r){return n(r)??Promise.resolve(void 0)},warm(r){for(const i of r)n(i)},reset(){t.clear()},get size(){return t.size}}}async function dd(e,t,n){try{const r=new URL(".vite/manifest.json",new URL("./",new URL(e,t))).href,i=await fetch(r);if(!i.ok)return;const o=await i.json();n(od(o,e))}catch{}}function cd(e){try{return tn(new URL(e,window.location.href).href)}catch{return tn(window.location.href)}}function ud(e){X(e);const t=ro(!1);if(cd(t))return;const n=ld({canvasSrc:t,origin:window.location.href,fetchBody:ad}),r=On(t);r&&n.warm([r]);const i={"js/iframe-eblock.js":["js/discussHandlers.Clc2uPQ5.js","js/typograf.all.B0pVhMV_.js"],"js/iframe.js":["js/rolldown-runtime.qcwTIabA.js","js/discussHandlers.Clc2uPQ5.js"],"js/darkreader.CLd5EML2.js":[],"js/discussHandlers.Clc2uPQ5.js":["js/rolldown-runtime.qcwTIabA.js"],"js/rolldown-runtime.qcwTIabA.js":[],"js/rules.CnnzdMsj.js":[],"js/typograf.all.B0pVhMV_.js":["js/rolldown-runtime.qcwTIabA.js"]};i?n.warm(sd(i,t)):dd(t,window.location.href,s=>n.warm(s));const o=s=>{const d=s.data;if(!d||d.operationId!=="em:module-body"||!d.result)return;const l=s.source;l&&(l.postMessage({operationId:rd,for:d.result},"*"),n.take(d.data?.url??"").then(f=>{l.postMessage({operationId:d.result,data:f??null},"*")}))};window.addEventListener("message",o),e.getInstance(N)?.addDispose(()=>{window.removeEventListener("message",o),n.reset()})}var Ae=/<script\b(?=[^>]*(?:\bbis_use(?:=|\s)|\bdata-bis-config(?:=|\s)|\bdata-dynamic-id(?:=|\s)|local\.adguard\.org|(?:chrome-extension|moz-extension|safari-extension):\/\/))[^>]*>[\s\S]*?<\/script>/gi,fd=/\s(?:bis_[a-z0-9_-]+|data-bis-config|data-dynamic-id)=(["'])(?:(?!\1).)*\1/gi,Oe=/<style\b[^>]*>[\s\S]*?<\/style>/gi,ur=/display:\s*none\s*!important/gi,pd=/((?:html\s*,\s*body|body\s*,\s*html)\s*\{)([^}]*)(\})/gi,md=/\s*height\s*:\s*100%\s*!important\s*;?/gi,hd=/height\s*:\s*100%\s*!important/i,gd=[".socialshare,",".advertisment,",".adHolder,",".adsbygoogle-noablate","#ab_adblock","#popmechanic-snippet","filter_ads_by_classname","clever-core-ads","--gn-ov-ad-height","pub_728x90.text-ad.textAd","html-load.com/player","content-loader.com/player",".adblock","#advblock","body { overflow: visible!important; }"];function vd(e){return ur.lastIndex=0,(e.match(ur)||[]).length}function io(e){const t=e.trim(),n=vd(t);if(n===0)return!1;if(t.includes(".advertisment,")&&t.includes(".adHolder,")&&(t.includes(".socialshare,")||n>=3||t.length>2e3))return!0;const r=gd.filter(i=>t.includes(i)).length;return r>=1&&(n>=3||t.length>2e3)||n>=5&&r>=1?!0:n>=20&&/\b(?:\.ad(?:s|vert|vertisment|Holder|banner|box|Container|Wrapper)?[,{]|#ad[-_]|ins\.adsbygoogle)/i.test(t)}function bd(e){Oe.lastIndex=0;for(const t of e.matchAll(Oe))if(io(t[0].replace(/^<style\b[^>]*>/i,"").replace(/<\/style>$/i,"")))return!0;return!1}function Ed(e){let t=!1;return Oe.lastIndex=0,{html:e.replace(Oe,n=>io(n.replace(/^<style\b[^>]*>/i,"").replace(/<\/style>$/i,""))?(t=!0,""):n),found:t}}function yd(e){return Ae.lastIndex=0,Ae.test(e)||/\sbis_[a-z0-9_-]+\s*=/.test(e)||/\sdata-bis-config\s*=/.test(e)||bd(e)}function _d(e){if(!yd(e))return{html:e,found:!1};let t=!1,n=e;Ae.lastIndex=0,Ae.test(n)&&(Ae.lastIndex=0,n=n.replace(Ae,""),t=!0),(/\sbis_[a-z0-9_-]+\s*=/.test(n)||/\sdata-bis-config\s*=/.test(n))&&(n=n.replace(fd,""),t=!0);const r=Ed(n);return n=r.html,t=t||r.found,{html:n,found:t}}function wd(e){return!e||!hd.test(e)?e:(Oe.lastIndex=0,e.replace(Oe,t=>t.replace(pd,(n,r,i,o)=>`${r}${i.replace(md,"")}${o}`)))}function oo(e){const t=_d(e.replaceAll(`\r
1001
+ `)}function Ll({emailId:e,readAutosave:t,revisionServiceEnabled:n,isHistoryAvailable:r,readShownContent:i,onFacts:o,onLate:s,onError:d,pageLoadTs:a=Ol()}){let f=null,u=!1,v=!1,b=0,E={emailId:e,historyLoaded:!1,isRecovering:!1},I=null;const g=new Promise(R=>{I=R}),y=R=>{E={...E,...R},o(E)},_=R=>{b+=1,y({applied:{phase:R,seq:b}})},S=()=>{f?.timer&&clearTimeout(f.timer),f=null},A=R=>{if(!v){if(I){const C=I;I=null,C(R),R.revision&&_(R.phase);return}s(R)&&R.revision&&_(R.phase)}},m=()=>{if(!f||v)return;const R=f.phase==="fast",C=R?Al:Pl,D=R?Rl:Dl;f.timer=setTimeout(()=>{const x=f;if(!(!x||v)){if(x.attempts+=1,w(),R&&x.attempts>=D){const{pending:U}=x;it(e),y({isRecovering:!1}),A({revision:{html:U.html,common_styles:U.common_styles,subject:U.subject,preheader:U.preheader},phase:"timeout"}),u=!0,x.phase="bg",x.attempts=0,m();return}if(!R&&x.attempts>=D){it(e),S(),y({isRecovering:!1}),u=!0;return}m()}},C),f.timer.unref?.()},c=R=>{f={phase:"fast",attempts:0,pending:R,timer:null},y({isRecovering:!0}),m()},l=(R,C)=>ki(R.autosave,C===void 0?{}:{freshSince:C})?R.autosave:null,p=R=>{if(v)return;if(y({historyLoaded:!0,latestRevisionAt:R.latestAt!==void 0&&Number.isFinite(R.latestAt)?R.latestAt:void 0}),n&&f){const x=l(R,f.pending.sentAt);if(!x)return;const U=f.phase==="fast"?"found":"bg";it(e),S(),y({isRecovering:!1}),u=!0,A({revision:x,phase:U});return}if(u)return;const C=n?Tl(e):null,D=C&&(C.sentAt<a||!xl(C.html,i()))?C:null;if(D){const x=l(R,D.sentAt);if(x){it(e),u=!0,A({revision:x,phase:"found"});return}c(D);return}u=!0,A({revision:l(R),phase:"normal"})},h=R=>{v||(d?.(R),E.historyLoaded||(y({historyLoaded:!1,latestRevisionAt:void 0}),k()),!f&&A({revision:null,phase:"normal"}))},w=()=>t(e).then(p).catch(h);let T,O=!1;const k=()=>{O||f||v||(O=!0,T=setTimeout(()=>{T=void 0,!v&&!E.historyLoaded&&w()},Cl))},W=()=>{v||(y({historyLoaded:!1,latestRevisionAt:void 0}),A({revision:null,phase:"normal"}))};return r?r().then(R=>R?w():W()):w(),{verdict:()=>g,dispose(){v=!0,T!==void 0&&(clearTimeout(T),T=void 0),S()}}}function Ml({port:e,revisionServiceEnabled:t,isHistoryAvailable:n,emailId:r,readShownContent:i,onFacts:o}){let s=null;const d=Ll({emailId:r,readAutosave:a=>e.readAutosave(a),revisionServiceEnabled:t,...n?{isHistoryAvailable:n}:{},readShownContent:i,onFacts:o,onLate:({revision:a,phase:f})=>{const u=pr(a);return s?.(u)??!1},onError:a=>{a instanceof Error&&a.message}});return{id:"recovery",load:()=>d.verdict().then(({revision:a})=>pr(a)),watch(a){return s=a,()=>{s=null,d.dispose()}}}}function Xi(e,t){return{readRevisions:(n,r)=>t.readRevisions(n,r),readAutosave:n=>t.readAutosave(n),async saveAutosave(n,r){Il(n,{sentAt:Date.now(),html:r.html??"",common_styles:r.common_styles??"",subject:r.subject,preheader:r.preheader});const i=await t.saveAutosave(n,r);return await e.saveAutosave(n,r),i}}}function kl(e,t){return{readEmail:n=>e.readEmail(n),createEmail:n=>e.createEmail(n),async updateEmail(n,r){const i=await t.updateEmail(n,r);return await e.updateEmail(n,r),i}}}var Ji=L("CurrentUser"),Qi={};function Zi(e){return e.getOrCreateInstance(Ji,()=>Me(Qi))}function eo(e){return e?.getInstance(Ji)?.get()??Qi}function to(e){return e?.getInstance(we)?.get()??{}}var Nl=1.5;function Fl(e){return!e.isEnabled||e.isUserBusy||!e.isReady||!e.isInited?"none":e.isNew?"create":!e.isDirty||e.isSnapshotSent||!e.isHistoryLoaded||e.latestRevisionAgeMs!==void 0&&e.latestRevisionAgeMs<=Nl*e.autosaveTimeoutMs?"none":"revision"}var jl=4;function Bl(e){const{readDocument:t,readEnvironment:n,onCreate:r,onRevision:i}=e,o=e.readFailures??(()=>0),s=()=>n().autosaveTimeoutMs*2**Math.min(o(),jl),d=()=>{const _=t();if(!_||_.isDisposed())return"none";const{latestRevisionAt:S,snapshotVersion:A,...m}=n();return Fl({...m,isDirty:_.isDirty(),isNew:_.isNew(),isReady:_.isReady(),latestRevisionAgeMs:S!=null?Date.now()-S:void 0,isSnapshotSent:A!=null&&A===_.get().version})},a=()=>{const _=t();if(!_||_.isDisposed())return!1;if(!_.isDirty())return _.isNew();const{snapshotVersion:S}=n();return!(S!=null&&S===_.get().version)};let f,u,v,b,E=!1;const I=()=>{u=void 0;const _=t();if(!_||_.isDisposed())return;if(_.get().docId!==f){g();return}const S=d();S==="create"?r():S==="revision"?i():a()&&(f=_.get().docId,u=setTimeout(I,s()))},g=()=>{const _=t();E||!_||u!==void 0||d()==="none"&&!a()||(f=_.get().docId,u=setTimeout(I,s()))},y=()=>{const _=t();_!==v&&(b?.(),v=_,b=_?.subscribe(g),u!==void 0&&(clearTimeout(u),u=void 0))};return y(),g(),{refresh:()=>{E||(y(),g())},stop:()=>{E=!0,b?.(),b=void 0,v=void 0,u!==void 0&&(clearTimeout(u),u=void 0)}}}var no=L("documentSession.autosaveUiFacts"),ro={isUserBusy:!1,saveContext:{}};function Ul(e){return e.getOrCreateInstance(no,()=>Me(ro))}function hr(e){return e?.getInstance(no)?.get()??ro}var Hl=1e4;function Gl(e,t){const n=()=>{const a=t.current(),f=a?.get().serverId??void 0,u=he(t.sessionKey()),v=t.recoveryFacts(),b=v?.emailId===f?v:void 0,E=t.revisionFacts(),I=b?.latestRevisionAt,g=E?.lastRevisionAt,y=eo(e).profile;return{isInited:u||a?.get().attributes.is_inited===!0,isEnabled:!!y?.autosaves,isHistoryLoaded:b?.historyLoaded===!0,isUserBusy:hr(e).isUserBusy,autosaveTimeoutMs:to(e).autosaveTimeout||Hl,latestRevisionAt:I!==void 0||g!==void 0?Math.max(I??0,g??0):void 0,snapshotVersion:E?.snapshotVersion}},r=()=>{const a=hr(e).saveContext;return{...a,project:a.project??t.current()?.get().attributes.project}},i=Bl({readDocument:()=>t.current(),readEnvironment:n,readFailures:()=>t.saveState().failures,onCreate:()=>{he(t.sessionKey())||t.save("materialize",r())},onRevision:()=>{t.save("snapshot",{project:r().project})}}),o=t.subscribe(i.refresh),s=Zi(e).watch(()=>i.refresh()),d=Ul(e).watch(()=>i.refresh());return()=>{o(),s.dispose(),d.dispose(),i.stop()}}var gr=12e3;function ve(e){return e.getOrCreateInstance(Mn,()=>{const t=hl({resolveAdapters:(r,i)=>zl(r,e,i),resolveWritePort:()=>io(e),resolveHistoryPort:r=>he(r)?so(e):oo(e),resolveTerms:()=>yl(e),canEdit:r=>Sa(e,r),notifyBeforeSave:Da(e),timeoutMs:gr,onAdapterError:(r,i)=>{i instanceof Error&&i.message,wt(i,{origin:"email-source-adapter",tags:{source:r}})},onTimeout:r=>{}}),n=Gl(e,t);return e.getInstance(j)?.addDispose(n),t})}function Fn(e){return e?.getInstance(Mn)}function io(e){const t=vl(e);return t?jn(e)?kl(t,Se(e).email(e)):t:Se(e).email(e)}function ql(e){return Yi(e)!==void 0||Vi(e)}function oo(e){const t=Yi(e);return t?jn(e)?(z("port:history:server-backed"),Xi(t,Se(e).history(e))):(z("port:history:integrator"),t):(z("port:history:rest (порт не зарегистрирован)"),Se(e).history(e))}function so(e){const t=Wi(e);return t?jn(e)?(z("port:block-history:server-backed"),Xi(t,Se(e).blockHistory(e))):(z("port:block-history:integrator"),t):(z("port:block-history:rest (порт не зарегистрирован)"),Se(e).blockHistory(e))}function $l(e){return Wi(e)!==void 0||Vi(e)}function jn(e){return Si(e)}function zl({email:e,patch:t,serverId:n,key:r},i,o){const s=[];e?s.push({id:"rest",load:()=>Bi(e),required:!0}):n&&s.push(gl(io(i),n)),t&&s.push({id:"plugin",load:()=>Ui(t)});const d=he(r);return Oa(n)&&(d?$l(i):ql(i))&&s.push(Ml({port:d?so(i):oo(i),revisionServiceEnabled:Si(i),...!d&&Ia(i)?{isHistoryAvailable:()=>Ta(i)}:{},emailId:n,readShownContent:()=>o.readShownContent(),onFacts:a=>o.publishRecoveryFacts(a)})),s}function X(e){return e.getOrCreateInstance(Ye,()=>new Xe)}var ao=new WeakMap,sn=new WeakMap;function ue(e){return ao.get(e)??0}function lo(e,t){let n=sn.get(e);return n||(n=new Set,sn.set(e,n)),n.add(t),()=>{n?.delete(t)}}function Vl(e){ao.set(e,ue(e)+1),sn.get(e)?.forEach(t=>t())}function Kl(e){const t=ve(e),n=X(e).addListener(F.APPLICATION_HAS_AMP,r=>{Be(t)?.mutate({attributes:{isAmp:r}},{source:"remote"})});e.getInstance(j)?.addDispose(()=>n.dispose())}function Wl(e){return e.size>0&&(e.type===""||e.type.startsWith("image/"))}function Yl(e){const t=e.fetchImpl??((o,s)=>fetch(o,s)),n=e.pageHost??(()=>window.location.hostname),r=new Set,i=o=>{try{const s=new URL(o,window.location.href);return s.protocol!=="https:"&&s.protocol!=="http:"?!1:s.hostname===n()||e.sourceHosts().includes(s.hostname)}catch{return!1}};return{accepts:i,async load(o){if(!i(o))return;const s=!r.has(o);r.add(o);try{const d=await t(o,{mode:"cors",credentials:"omit",cache:s?"no-cache":"default"});if(!d.ok)return;const a=await d.blob();return Wl(a)?a:void 0}catch{return}}}}var _e={maxBytes:67108864,maxImageBytes:4194304,ttlMs:18e5};function Xl(e){const t={maxBytes:e.maxBytes??_e.maxBytes,maxImageBytes:e.maxImageBytes??_e.maxImageBytes,ttlMs:e.ttlMs??_e.ttlMs},n=e.now??(()=>Date.now()),r=new Map,i=new Map,o={hits:0,loads:0,failures:0};let s=0;const d=v=>{const b=r.get(v);b&&(s-=b.bytes,r.delete(v))},a=v=>t.ttlMs<=0||n()-v.storedAt<t.ttlMs,f=()=>{if(s<=t.maxBytes)return;const v=[...r.entries()].sort((b,E)=>b[1].usedAt-E[1].usedAt);for(const[b]of v){if(s<=t.maxBytes)return;d(b)}},u=(v,b)=>{b.size>t.maxImageBytes||(r.set(v,{blob:b,bytes:b.size,storedAt:n(),usedAt:n()}),s+=b.size,f())};return{async get(v){const b=r.get(v);if(b&&a(b))return b.usedAt=n(),o.hits+=1,b.blob;b&&d(v);const E=i.get(v);if(E!==void 0)return E;o.loads+=1;const I=(async()=>{try{const g=await e.load(v);return g?u(v,g):o.failures+=1,g}catch{o.failures+=1;return}finally{i.delete(v)}})();return i.set(v,I),I},forget(v){d(v),i.delete(v)},clear(){r.clear(),i.clear(),s=0},stats(){return{entries:r.size,bytes:s,...o}}}}var Jl=["emcdn.ru","scr.emcdn.ru"];function Ql(e){const t=String(e??"").trim();if(!t)return"";try{return new URL(t.includes("//")?t:`https://${t}`).hostname}catch{return t.split("/")[0].split(":")[0]}}function Zl(e,t){const n=(r,i)=>{const o=new Set(i?t:[]);for(const s of r){const d=Ql(s);d&&o.add(d)}return[...o]};return e?Array.isArray(e)?n(e,!0):n(e.value??[],e.replace!==!0):[...t]}function vr(e){const t=e??{},n=t.isPlugin!==!0?Jl:[],r=t.canvasImageCache;if(r===!1)return{enabled:!1,sourceHosts:[],..._e};const i=r===!0||r===void 0?{}:r;return{enabled:i.enabled!==!1,sourceHosts:Zl(i.sourceHosts,n),maxBytes:i.maxBytes??_e.maxBytes,maxImageBytes:i.maxImageBytes??_e.maxImageBytes,ttlMs:i.ttlMs??_e.ttlMs}}function ed(e){const t=X(e),n=e.getInstance(we);let r=vr(n?.get());const i=Yl({sourceHosts:()=>r.sourceHosts}),o=Xl({load:I=>i.load(I),maxBytes:r.maxBytes,maxImageBytes:r.maxImageBytes,ttlMs:r.ttlMs}),s=()=>{t.send(F.SANDBOX_CANVAS_IMAGE_CACHE_SETUP,{enabled:r.enabled,sourceHosts:[...r.sourceHosts]})},d=t.onInit(()=>s()),a=n?.watch(()=>{const I=vr(n.get()),g=JSON.stringify(I)!==JSON.stringify(r);r=I,I.enabled||o.clear(),g&&t.isInited()&&s()}),f={asked:0,served:0,refused:0},u=[],v=(I,g)=>(f.refused+=1,u.push({url:I,reason:g}),u.length>20&&u.shift(),{refused:!0}),b=Object.assign(globalThis,{__emmCanvasImages__:()=>({settings:r,counters:{...f},refusals:[...u],store:o.stats()})}),E=t.addListenerAsync(F.APPLICATION_CANVAS_IMAGE_GET,async I=>{const g=I?.url??"";if(f.asked+=1,!r.enabled||!g)return v(g,"disabled");if(!i.accepts(g))return v(g,"host");I.fresh&&o.forget(g);const y=await o.get(g);return y?(f.served+=1,{blob:y}):v(g,"load-failed")});e.getInstance(j)?.addDispose(()=>{d.dispose(),a?.dispose(),E.dispose(),o.clear(),delete b.__emmCanvasImages__})}var td=2e3;function nd(e){const t=X(e),n=new Set,r=()=>{const s=t.getTarget();if(!s||t.hasPort(s))return;const d=new MessageChannel;let a=!1;const f=v=>{v.data?.operationId==="em:port-ready"&&(a=!0,d.port1.removeEventListener("message",f),t.drainWindow(s))};d.port1.addEventListener("message",f),t.sendPort(s,d.port2),t.usePort(d.port1,!1,s);const u=setTimeout(()=>{n.delete(u),!a&&(wt(new Error("canvas port did not come up, staying on window messaging"),{origin:"canvas-channel"}),d.port1.removeEventListener("message",f),t.useWindow(s))},td);n.add(u)},i=Object.assign(globalThis,{__emmCanvasPort__:()=>{const s=t.getTarget();return{usesPort:t.usesPort,windowDrained:s?t.isWindowDrained(s):!1}}}),o=t.onInit(()=>r());e.getInstance(j)?.addDispose(()=>{for(const s of n)clearTimeout(s);o.dispose(),delete i.__emmCanvasPort__})}var rd=/^[a-zA-Z][a-zA-Z\d+\-.]*:/;function id(e){return rd.test(e)||e.indexOf("//")===0}function ot(e){return e&&(e.endsWith("/")?e:`${e}/`)}function od(){return typeof document<"u"&&document.baseURI?document.baseURI:typeof window<"u"&&window.location?window.location.href:""}function br(e,t){const n=e==null||e===""?"./":String(e);if(id(n))return ot(n);const r=t??od();if(!r)return ot(n);try{return ot(new URL(n,r).href)}catch{return ot(n)}}function sd(){return typeof window.__emailmaker__<"u"&&window.__emailmaker__?.publicPath?br(window.__emailmaker__.publicPath):br("/")}var ad=()=>"",ld=()=>"2047dd1a";function co(e){const t=e?"iframe-eblock":"iframe",n=ad();if(n){const o=n.replace(/\/?$/,"/");return ir(`${o}${t}.html`,$e())}const r=ld(),i=`${sd().replace(/\/?$/,"/")}iframe/`;return ir(`${i}${t}${r?`.${r}`:""}.html`,$e())}var Er="allow-top-navigation allow-scripts allow-popups allow-popups-to-escape-sandbox";function an(e){return/^file:/i.test(String(e||"").trim())}function dd(e){return an(e)?`${Er} allow-same-origin`:Er}var cd="em:module-body-ack";function ud(e,t,n){try{const r=new URL("./",new URL(t,n)).href,i=new URL(e,r).href;return i.startsWith(r)?i:void 0}catch{return}}function Bn(e){const t=e.split(/[?#]/)[0].split("/").pop()??"",n=/^(.+?)(?:\.[0-9a-f]{6,})?\.html$/.exec(t);return n?`js/${n[1]}.body.js`:void 0}function fd(e,t){const n=Bn(t)?.replace(/^js\/|\.body\.js$/g,""),r=n?e[`${n}.html`]:void 0;return r?(r.imports??[]).map(i=>e[i]?.file).filter(i=>!!i):[]}function pd(e,t){const n=Bn(t)?.replace(/\.body\.js$/,".js");if(!n||!(n in e))return[];const r=new Set([n]),i=[n],o=[];for(;i.length>0;)for(const s of e[i.shift()]??[])r.has(s)||(r.add(s),o.push(s),i.push(s));return o}async function md(e){try{const t=await fetch(e);return t.ok?await t.blob():void 0}catch{return}}function hd(e){const t=new Map,n=r=>{const i=ud(r,e.canvasSrc,e.origin);if(!i)return;const o=t.get(i);if(o!==void 0)return o;const s=e.fetchBody(i);return t.set(i,s),s};return{take(r){return n(r)??Promise.resolve(void 0)},warm(r){for(const i of r)n(i)},reset(){t.clear()},get size(){return t.size}}}async function gd(e,t,n){try{const r=new URL(".vite/manifest.json",new URL("./",new URL(e,t))).href,i=await fetch(r);if(!i.ok)return;const o=await i.json();n(fd(o,e))}catch{}}function vd(e){try{return an(new URL(e,window.location.href).href)}catch{return an(window.location.href)}}function bd(e){X(e);const t=co(!1);if(vd(t))return;const n=hd({canvasSrc:t,origin:window.location.href,fetchBody:md}),r=Bn(t);r&&n.warm([r]);const i={"js/iframe-eblock.js":["js/discussHandlers.DEF7Kx48.js","js/typograf.all.B0pVhMV_.js"],"js/iframe.js":["js/rolldown-runtime.qcwTIabA.js","js/discussHandlers.DEF7Kx48.js"],"js/darkreader.CLd5EML2.js":[],"js/discussHandlers.DEF7Kx48.js":["js/rolldown-runtime.qcwTIabA.js"],"js/rolldown-runtime.qcwTIabA.js":[],"js/rules.CnnzdMsj.js":[],"js/typograf.all.B0pVhMV_.js":["js/rolldown-runtime.qcwTIabA.js"]};i?n.warm(pd(i,t)):gd(t,window.location.href,s=>n.warm(s));const o=s=>{const d=s.data;if(!d||d.operationId!=="em:module-body"||!d.result)return;const a=s.source;a&&(a.postMessage({operationId:cd,for:d.result},"*"),n.take(d.data?.url??"").then(f=>{a.postMessage({operationId:d.result,data:f??null},"*")}))};window.addEventListener("message",o),e.getInstance(j)?.addDispose(()=>{window.removeEventListener("message",o),n.reset()})}var Ae=/<script\b(?=[^>]*(?:\bbis_use(?:=|\s)|\bdata-bis-config(?:=|\s)|\bdata-dynamic-id(?:=|\s)|local\.adguard\.org|(?:chrome-extension|moz-extension|safari-extension):\/\/))[^>]*>[\s\S]*?<\/script>/gi,Ed=/\s(?:bis_[a-z0-9_-]+|data-bis-config|data-dynamic-id)=(["'])(?:(?!\1).)*\1/gi,Oe=/<style\b[^>]*>[\s\S]*?<\/style>/gi,yr=/display:\s*none\s*!important/gi,yd=/((?:html\s*,\s*body|body\s*,\s*html)\s*\{)([^}]*)(\})/gi,_d=/\s*height\s*:\s*100%\s*!important\s*;?/gi,wd=/height\s*:\s*100%\s*!important/i,Sd=[".socialshare,",".advertisment,",".adHolder,",".adsbygoogle-noablate","#ab_adblock","#popmechanic-snippet","filter_ads_by_classname","clever-core-ads","--gn-ov-ad-height","pub_728x90.text-ad.textAd","html-load.com/player","content-loader.com/player",".adblock","#advblock","body { overflow: visible!important; }"];function Id(e){return yr.lastIndex=0,(e.match(yr)||[]).length}function uo(e){const t=e.trim(),n=Id(t);if(n===0)return!1;if(t.includes(".advertisment,")&&t.includes(".adHolder,")&&(t.includes(".socialshare,")||n>=3||t.length>2e3))return!0;const r=Sd.filter(i=>t.includes(i)).length;return r>=1&&(n>=3||t.length>2e3)||n>=5&&r>=1?!0:n>=20&&/\b(?:\.ad(?:s|vert|vertisment|Holder|banner|box|Container|Wrapper)?[,{]|#ad[-_]|ins\.adsbygoogle)/i.test(t)}function Td(e){Oe.lastIndex=0;for(const t of e.matchAll(Oe))if(uo(t[0].replace(/^<style\b[^>]*>/i,"").replace(/<\/style>$/i,"")))return!0;return!1}function Ad(e){let t=!1;return Oe.lastIndex=0,{html:e.replace(Oe,n=>uo(n.replace(/^<style\b[^>]*>/i,"").replace(/<\/style>$/i,""))?(t=!0,""):n),found:t}}function Cd(e){return Ae.lastIndex=0,Ae.test(e)||/\sbis_[a-z0-9_-]+\s*=/.test(e)||/\sdata-bis-config\s*=/.test(e)||Td(e)}function Rd(e){if(!Cd(e))return{html:e,found:!1};let t=!1,n=e;Ae.lastIndex=0,Ae.test(n)&&(Ae.lastIndex=0,n=n.replace(Ae,""),t=!0),(/\sbis_[a-z0-9_-]+\s*=/.test(n)||/\sdata-bis-config\s*=/.test(n))&&(n=n.replace(Ed,""),t=!0);const r=Ad(n);return n=r.html,t=t||r.found,{html:n,found:t}}function Pd(e){return!e||!wd.test(e)?e:(Oe.lastIndex=0,e.replace(Oe,t=>t.replace(yd,(n,r,i,o)=>`${r}${i.replace(_d,"")}${o}`)))}function fo(e){const t=Rd(e.replaceAll(`\r
1002
1002
  `,`
1003
- `));return{html:wd(t.html),hasBrowserExtensionArtifacts:t.found}}function nn(e){return e?.getContent()??""}function so(e,t){e?.mutate({content:Di(t)},{source:"remote"})}function ao(e){return x(e)}function ie(e,t){return e.getOrCreateInstance(t,()=>new pe)}function K(e,t){return e.getOrCreateInstance(t,()=>new pe).event}function rn(e,t,n,r){return{html:e,guid:t,...Object.keys(n).length>0?{templateDirectivesPolicy:n}:{},...r!==void 0?{rev:r}:{}}}var Sd=class extends Error{showId;constructor(e,t){super(`[emailmaker] show() timed out after ${t}ms waiting for editor init (showId=${e}). Check earlier console errors: wrong host-plugin publicPath (chunks return HTML), mount element removed without destroy(), or sandbox init never completed. Search for [show-pipeline] and [AMD] messages.`),this.name="ShowPipelineTimeoutError",this.showId=e}},Id=class{_activeRequest=null;_pending=new Map;_listeners=new Set;getActiveShowRequest(){return this._activeRequest}onShowRequested(e){return this._listeners.add(e),()=>{this._listeners.delete(e)}}requestShow(e,t,n){return this._rejectPending(Q("Superseded by newer show()")),n.aborted?Promise.reject(Q(n.reason)):(this._activeRequest=e,new Promise((r,i)=>{const o=setTimeout(()=>{this._settle(e.showId,()=>{i(new Sd(e.showId,t))})},t);o.unref?.();const s=()=>{this._settle(e.showId,()=>{i(Q(n.reason))})};n.addEventListener("abort",s,{once:!0});const d=()=>{clearTimeout(o),n.removeEventListener("abort",s)};this._pending.set(e.showId,{request:e,resolve:r,reject:i,timeoutId:o,dispose:d});for(const l of this._listeners)l(e)}))}completeShow(e){this._settle(e,t=>{t.resolve()})}hasPendingShow(e){return this._pending.has(e)}failShow(e,t){this._settle(e,n=>{n.reject(t)})}rejectAll(e){this._rejectPending(e),this._activeRequest=null}_settle(e,t){const n=this._pending.get(e);n&&(n.dispose(),this._pending.delete(e),this._activeRequest?.showId===e&&(this._activeRequest=null),t(n))}_rejectPending(e){for(const[,t]of this._pending)t.dispose(),t.reject(e);this._pending.clear()}};function Td(e,t){return{contentReady:t.contentReady??e?.contentReady,sandboxReady:t.sandboxReady??e?.sandboxReady,sandbox:t.sandbox?{...e?.sandbox,...t.sandbox}:e?.sandbox}}function Ad(e){if(!e||!(e.contentReady!==void 0||e.sandboxReady!==void 0||e.sandbox!==void 0))return;const t=Ii(e),n=Ti(e),r=ya(e.sandbox);t<n+r}var lo=class{_controller=new AbortController;_externalSignalDisposable=new Z;_sessionChangeListeners=new Set;_showRegistry=new Id;_timeouts;_generation=0;_sessionStarted=!1;get signal(){return this._controller.signal}get generation(){return this._generation}get contentReadyTimeoutMs(){return Ii(this._timeouts)}getSandboxTimeoutMs(e){return Si(e,this._timeouts?.sandbox)}getSandboxReadyTimeoutMs(){return Ti(this._timeouts)}bumpGeneration(){this._generation+=1}getActiveShowRequest(){return this._showRegistry.getActiveShowRequest()}onShowRequested(e){return this._showRegistry.onShowRequested(e)}requestShow(e){return this._showRegistry.requestShow(e,this.contentReadyTimeoutMs,this._controller.signal)}completeShow(e){this._showRegistry.completeShow(e)}hasPendingShow(e){return this._showRegistry.hasPendingShow(e)}failShow(e,t){this._showRegistry.failShow(e,t)}rejectAllPendingShows(e){this._showRegistry.rejectAll(e)}onSessionReplaced(e){return this._sessionChangeListeners.add(e),()=>{this._sessionChangeListeners.delete(e)}}configure(e){e.timeouts!==void 0&&(this._timeouts=Td(this._timeouts,e.timeouts),Ad(this._timeouts));const t=e.replaceSession===!0||!this._sessionStarted||e.timeouts!==void 0||e.signal!==void 0;this._sessionStarted=!0,t&&(this._replaceSessionController(),this.bumpGeneration()),(e.signal!==void 0||t)&&this._linkExternalSignal(e.signal)}abort(e){const t=e??Q("Editor instance destroyed");this._showRegistry.rejectAll(t),this._controller.signal.aborted||(this._controller.abort(t),this.bumpGeneration()),this._externalSignalDisposable.dispose(),this._externalSignalDisposable=new Z}_replaceSessionController(){this._externalSignalDisposable.dispose(),this._externalSignalDisposable=new Z,this._showRegistry.rejectAll(Q("Init session replaced")),this._controller.signal.aborted||this._controller.abort(Q("Init session replaced")),this._controller=new AbortController,this._emitSessionReplaced()}_emitSessionReplaced(){for(const e of this._sessionChangeListeners)e()}_linkExternalSignal(e){if(!e)return;if(e.aborted){this._controller.signal.aborted||(this._controller.abort(e.reason??Q()),this.bumpGeneration());return}const t=()=>{this._controller.signal.aborted||(this._controller.abort(e.reason??Q()),this.bumpGeneration())};e.addEventListener("abort",t),this._externalSignalDisposable.addDispose(()=>{e.removeEventListener("abort",t)})}},xn=(()=>{const e=new lo;return e.configure({}),e})(),Cd=class extends Error{label;timeoutMs;constructor(e){super(`[sandbox:ready] iframe handshake timed out after ${e}ms`),this.name="SandboxReadyTimeoutError",this.label="sandbox:ready",this.timeoutMs=e}};function Rd(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.isInited=="function"&&typeof t.getTarget=="function"&&typeof t.onInit=="function"}function Pd(e,t,n){return e.isInited()&&e.getTarget()?Promise.resolve():(q(n),new Promise((r,i)=>{let o=!1,s,d;const l=u=>{o||(o=!0,s!==void 0&&(clearTimeout(s),s=void 0),d?.dispose(),n?.removeEventListener("abort",f),u())},f=()=>{l(()=>i(Q(n?.reason)))};if(d=e.onInit(()=>{e.isInited()&&e.getTarget()&&l(()=>r())}),e.isInited()&&e.getTarget()){l(()=>r());return}t>0&&(s=setTimeout(()=>{l(()=>i(new Cd(t)))},t)),n?.addEventListener("abort",f)}))}var Dd=class extends Error{label;timeoutMs;constructor(e,t){super(`[${e}] timed out after ${t}ms`),this.name="OperationTimeoutError",this.label=e,this.timeoutMs=t}};function Od(e,t,n){return t<=0?e:new Promise((r,i)=>{let o=!1,s;const d=l=>{o||(o=!0,s!==void 0&&(clearTimeout(s),s=void 0),l())};s=setTimeout(()=>{d(()=>i(new Dd(n,t)))},t),e.then(l=>{d(()=>r(l))},l=>{d(()=>i(l))})})}var xd=2,it=Symbol("sandbox:frame-replaced");function ae(e,t,n,r,i,o,s){const d=`sandbox:${t}`,l=o?.getSandboxTimeoutMs(t)??Cn[t],f=()=>{let I=Od(e.sendAsync(n,r),l,d);return I=bn(I,o?.signal),Ue(d,I,i)};if(t==="INIT_START"&&Rd(e)){const I=o?.getSandboxReadyTimeoutMs()??2e4,g=e,y=w=>{const S=Pd(g,I,o?.signal);return Ue("sandbox:INIT_START:ready-wait",S,i).then(()=>{if(!s||w<=0)return f();const A=s.getGeneration();let m;const c=new Promise((p,h)=>{m=s.onChange(()=>{s.getGeneration()!==A&&h(it)})}),a=f();return a.catch(()=>{}),Promise.race([a,c]).finally(()=>m?.()).catch(p=>{if(p!==it)throw p;return{...i},y(w-1)})})};return y(xd)}if(!s)return f();const u=s.getGeneration();let v;const b=new Promise((I,g)=>{v=s.onChange(()=>{s.getGeneration()!==u&&g(it)})}),E=f();return E.catch(()=>{}),Promise.race([E,b]).finally(()=>v?.()).catch(I=>{throw I===it&&{...i},I})}var Ld=[["brace-percent",/<!--\{%/],["brace-hash",/<!--\{#/],["proscript",/<!--\[%/],["getresponse",/<!--\[\[(?:if|else\]\]|endif\]\])/i],["mailchimp",/<!--\*\|/],["expert-sender",/<!--<\/?(?:if|else|var)/i]],Md=200;function kd(e=new Set){const t=new Set;return(n,r)=>{if(!Ld.some(([o,s])=>!e.has(o)&&s.test(n)))return;const i=r??`new:${n.length}:${n.slice(0,200)}`;t.has(i)||(t.size>=Md&&t.clear(),t.add(i))}}function Nd(){return{isConfigured:()=>!1,toEditorForm:e=>e,toOutputForm:e=>e,keepWrappedOnOutput:new Set,editorPolicy:{},warnAboutUnconfiguredInput:kd()}}var Fd=Nd();function ke(e){return e?.getInstance(Ds)??Fd}function jd(e){const t=ve(e),n=X(e),r=()=>e.getInstance(De)??xn;let i,o,s=!1,d=!1;const l=async(S,A,m)=>{const c=m.generation,a=()=>m.generation!==c||m.signal.aborted||t.current()!==S||d,p=ue(n);s=!0;try{if(await ae(n,"INIT_START",k.SANDBOX_INIT_START,{guid:A},void 0,m),a())return;const{html:h,hasBrowserExtensionArtifacts:_}=oo(nn(S));if(_&&ie(e,F.ON_BROWSER_EXTENSION_DETECTED_ID).fire(),so(S,h),await ae(n,"SET_ENTITY",k.SANDBOX_SET_ENTITY,rn(nn(S),A,ke(e).editorPolicy,S.get().version),void 0,m),a())return;await ae(n,"INITED",k.SANDBOX_INITED,{guid:A},void 0,m),i=A,o=p}finally{s=!1}},f=()=>he(t.sessionKey())?t.current():void 0,u=()=>{if(d||s)return;const S=f(),A=S?.get().docId;if(!S||!A||i===A&&o===ue(n)||!S.isReady())return;const m=r();m.signal.aborted||l(S,A,m).catch(()=>{})};let v=!1;const b=()=>{v||d||(v=!0,queueMicrotask(()=>{v=!1,u()}))};let E,I;const g=()=>{const S=f(),A=S?.get().docId;A!==I&&(E?.(),I=A,E=S?.subscribe(b)),b()},y=t.subscribe(g),w=no(n,b);g(),e.getInstance(N)?.addDispose(()=>{d=!0,w(),E?.(),y()})}var Bd=200;function Ud({startVersion:e,limit:t=Bd}){let n=[],r=e;const i=o=>{n=n.filter(s=>s.version>o),r=Math.max(r,o)};return{record(o){!o.changes?.length&&!o.contentReplaced||(n.push(o),n.length>t&&i(n[n.length-t-1].version))},rebase(o,s){if(s<r)return null;const d=n.filter(f=>f.version>s);i(s);let l=o;for(const f of d){if(f.fromCanvas||f.contentReplaced||!f.changes)return null;const u=f.changes,v=[];for(const b of l){const E=Oa(b.range,u,"after");if(!E)return null;v.push({range:E,text:b.text})}l=v}return l}}}function Hd(e,t){let n=0;return e.map(({start:r,end:i,text:o})=>{const s=new re(r,t.slice(r,i),r+n,o);return n+=o.length-(i-r),s})}function Gd(e,t){const n=[...e].sort((r,i)=>r.range.start-i.range.start);return Hd(n.map(({range:r,text:i})=>({start:r.start,end:r.end,text:i})),t)}function qd(e){return[...e].sort((t,n)=>n.oldPosition-t.oldPosition).map(t=>({range:{start:t.oldPosition,end:t.oldEnd},text:t.newText}))}var Ln=x("canvas.sandboxFill");function co(e){return e.getInstance(Ln)?.pipeline.isEventsLocked()===!0}function Ot(e){yt(e,{origin:"canvas-channel"})}function $d(e){const t=ve(e),n=X(e);let r;const i=(l,f)=>{const u=l.get().docId;let v=!1,b=null,E=null;const I=Ud({startVersion:l.get().version});let g=l.getContent();const y=async(c,a)=>{if(E){E.push({edits:c,rev:a});return}E=[{edits:c,rev:a}];try{do{const p=E.splice(0,E.length);await n.sendAsync(k.SANDBOX_UPDATE_ENTITY,{edits:p.map(h=>h.edits),guid:u,rev:p[p.length-1].rev})}while(E.length)}finally{E=null}},w=(c,a)=>{const p=E?.splice(0,E.length)??[];p.length&&n.sendAsync(k.SANDBOX_UPDATE_ENTITY,{edits:p.map(h=>h.edits),guid:u,rev:p[p.length-1].rev}).catch(Ot),n.sendAsync(k.SANDBOX_UPDATE_ENTITY,{edits:[c],guid:u,rev:l.get().version,...a!==null?{changeId:a}:{}}).catch(Ot)},S=c=>{const{guid:a,pushUndoStop:p}=c;if(a!==u)return;const h=Ga(c);let{edits:_}=c;if(h.baseRev!==null){const C=I.rebase(_,h.baseRev);if(!C){yt(new Error("canvas batch conflicts with newer document changes"),{origin:"canvas-channel"}),w([],h.changeId);return}_=C}const T=l.get().version;try{v=!0,b=h.changeId;const C=Gd(_,l.getContent());p===!1?f.applyWithoutHistory(C):l.mutate({changes:C},{source:co(e)?"system":"user"})}finally{v=!1,b=null}l.get().version===T&&h.baseRev!==null&&w([],h.changeId)},A=l.subscribe(({changes:c,version:a})=>{const p=l.getContent(),h=!c?.length&&p!==g;if(g=p,I.record({version:a,changes:c,contentReplaced:h,fromCanvas:v}),!c?.length)return;const _=qd(c);v?w(_,b):y(_,a).catch(Ot)}),m=n.addListener(k.APPLICATION_UPDATE_ENTITY,S);return()=>{A(),m.dispose()}};let o;const s=()=>{const l=t.current(),f=t.history(),u=l?.get().docId;u!==o&&(r?.(),r=void 0,o=u,l&&f&&(r=i(l,f)))},d=t.subscribe(s);s(),e.getInstance(N)?.addDispose(()=>{r?.(),d()})}var zd=300,Vd=15e3,fr="em-canvas-busy-style";function Kd(){if(document.getElementById(fr))return;const e=document.createElement("style");e.id=fr,e.textContent="@keyframes em-canvas-busy-spin{to{transform:rotate(360deg)}}",document.head.appendChild(e)}function Wd(e){const t=e.getBoundingClientRect(),n=document.createElement("div");return n.setAttribute("aria-busy","true"),Object.assign(n.style,{position:"fixed",left:`${t.left}px`,top:`${t.top}px`,width:`${t.width}px`,height:`${t.height}px`,cursor:"progress",display:"flex",alignItems:"center",justifyContent:"center"}),e.appendChild(n),{showSpinner(){Kd(),n.style.background="rgba(128, 128, 128, 0.15)";const r=document.createElement("div");Object.assign(r.style,{width:"32px",height:"32px",borderRadius:"50%",border:"3px solid rgba(128, 128, 128, 0.35)",borderTopColor:"rgba(80, 80, 80, 0.9)",animation:"em-canvas-busy-spin 0.8s linear infinite"}),n.appendChild(r)},remove:()=>n.remove()}}var Yd=8e3;function Xd(){return{element:document.createElement("iframe"),ready:()=>Promise.reject(new Error("[canvas] нет элемента монтирования")),reload:()=>Promise.resolve(),reloadQuietly:()=>Promise.resolve(),scrollBy:()=>{},shown:!1,whenShown:()=>Promise.resolve(),alignTo:()=>{},resize:()=>{},dispose:()=>{}}}var Jd=e=>{for(let t=e?.parentElement??null;t;t=t.parentElement){const n=getComputedStyle(t).overflowY;if(n==="auto"||n==="scroll"||n==="hidden")return t}return null};function Qd(e,t,n,r,i){const o=n.readyTimeoutMs??Yd,s=document.createElement("div");s.dataset.canvasHost=e,r&&(s.dataset.canvasPlace=r),s.style.position="fixed",s.style.overflow="hidden",s.style.visibility="hidden";const d=n.resolveSrc(e),l=document.createElement("iframe");l.setAttribute("sandbox",n.resolveSandbox(d)),l.setAttribute("allow","clipboard-read; clipboard-write"),l.setAttribute("title","Email content"),l.style.width="100%",l.style.border="0",l.style.display="block",l.style.minHeight="600px",l.src=d,s.appendChild(l),t.appendChild(s),n.mark?.("created"),i||n.onCreated?.(l);const f=new Z;let u=!1,v=!1,b,E,I,g;const y=()=>{clearTimeout(g),g=setTimeout(()=>{v||(v=!0,E?.(new Error(`[canvas] ${e}: документ не загрузился за ${o} мс`)))},o)},w=()=>u?(I=Promise.resolve(),v=!0,I):(v=!1,I=new Promise((L,H)=>{b=L,E=H}),y(),I),S=()=>{if(clearTimeout(g),u=!0,v){I=Promise.resolve();return}v=!0,n.mark?.("loaded"),b?.()};l.addEventListener("load",S),f.addDispose(()=>{clearTimeout(g),l.removeEventListener("load",S)});let A;const m=()=>{A??=n.bindResizer?.(l)};let c=null,a=null,p;const h=()=>{if(!c){s.style.visibility="hidden",l.removeAttribute("id");return}n.elementId&&(l.id=n.elementId);const L=c.getBoundingClientRect(),H=a?.isConnected?a:Jd(c),U=H?H.getBoundingClientRect():null,Y=U?Math.max(L.top,U.top):L.top,be=U?Math.min(L.bottom,U.bottom):L.bottom,Qe=Math.max(0,be-Y);s.style.visibility=Qe>0?"visible":"hidden",s.style.left=`${L.left}px`,s.style.top=`${Y}px`,s.style.width=`${L.width}px`,s.style.height=`${Qe}px`,l.style.transform=`translateY(${L.top-Y}px)`};let _="",T="",C=0,P;const j=()=>{if(!c){P=void 0;return}P=window.requestAnimationFrame(j);const L=c.getBoundingClientRect(),H=a?.isConnected?a.getBoundingClientRect():void 0,U=`${Math.round(L.left)}:${Math.round(L.top)}:${Math.round(L.width)}:${Math.round(L.height)}:${H?`${Math.round(H.top)}:${Math.round(H.height)}`:"-"}`;U!==_&&(_=U,h());const Y=l.getBoundingClientRect().height;Y>0&&Y!==C&&(C=Y,c.style.height=`${Y}px`);const be=getComputedStyle(c).pointerEvents;be!==T&&(T=be,s.style.pointerEvents=be)},R=()=>{P===void 0&&c&&(P=window.requestAnimationFrame(j))},O=()=>{P!==void 0&&(window.cancelAnimationFrame(P),P=void 0)},z=()=>h();let B=[];const W=(L,H)=>{if(a=H,L&&B.length>0){const U=B;B=[],U.forEach(Y=>Y())}if(L===c){h();return}if(p?.disconnect(),p=void 0,c&&c.style.removeProperty("height"),_="",C=0,T="",c=L,!L){O(),h();return}n.onShown?.(l);try{if(typeof ResizeObserver=="function"){const U=new ResizeObserver(h);typeof U.observe=="function"&&(p=U,p.observe(L))}}catch{p=void 0}h(),m(),R()};window.addEventListener("scroll",z,!0),window.addEventListener("resize",z),f.addDispose(()=>{p?.disconnect(),P!==void 0&&window.cancelAnimationFrame(P),window.removeEventListener("scroll",z,!0),window.removeEventListener("resize",z)});const de=L=>{u=!1,L&&n.onReload?.(l);let H;v||I===void 0?H=w():(y(),H=I);try{l.contentWindow?.location.reload()}catch{l.src=d}return H};return{element:l,ready(){return I??w()},reload:()=>de(!0),reloadQuietly:()=>de(!1),get shown(){return c!==null},whenShown(){return c!==null?Promise.resolve():new Promise(L=>{B.push(L)})},alignTo(L,H){W(L,H??null)},scrollBy(L,H){for(let U=c?.parentElement??null;U;U=U.parentElement){const Y=getComputedStyle(U);if((Y.overflowY==="auto"||Y.overflowY==="scroll")&&U.scrollHeight>U.clientHeight){U.scrollBy({left:L,top:H,behavior:"instant"});return}}window.scrollBy({left:L,top:H,behavior:"instant"})},resize(){A?.resize()},dispose(){W(null,null),A?.dispose(),f.dispose(),s.remove()}}}function Zd(e){const t=new Map;let n="a";const r=()=>n==="a"?"b":"a",i=(u,v)=>u==="email"?`email:${v??n}`:u;let o,s=[];const d=()=>{s.forEach(u=>clearTimeout(u)),s=[],o?.remove(),o=void 0},l=new Map,f=(u,v,b)=>{const E=i(u,v),I=t.get(E);if(I)return I;const g=e.resolveMount();if(!g)return Xd();const y=Qd(u,g,e,u==="email"?v??n:void 0,b);return t.set(E,y),y};return{get:u=>f(u),current:u=>f(u),peek:u=>t.get(i(u)),spare:()=>t.get(i("email",r())),ensureSpare:()=>f("email",r(),!0),promote(){const u=t.get(i("email",r()));if(!u)return;const v=t.get(i("email"));n=r();const b=l.get("email");u.alignTo(b?.slot??null,b?.clip??null),v?.alignTo(null)},alignSurface(u,v,b){l.set(u,{slot:v,clip:b??null}),(v?f(u):t.get(i(u)))?.alignTo(v,b??null)},visible(){for(const u of t.values())if(u.shown)return u},byWindow(u){if(u){for(const v of t.values())if(v.element.contentWindow===u)return v}},busy(u){d();const v=u?e.resolveMount():void 0;if(!v)return;const b=Wd(v);o=b,s=[setTimeout(()=>b.showSpinner(),zd),setTimeout(d,Vd)]},dispose(){d(),t.forEach(u=>u.dispose()),t.clear(),l.clear(),n="a"}}}var ec=x("canvas.resizerBinder"),on=x("canvas.service"),tc={created:J.canvasCreated,loaded:J.canvasLoaded};function nc(e,t){if(e.getInstance(on))return;const n=Zd({resolveMount:()=>t.resolveMount(),resolveSrc:i=>t.resolveSrc(i),resolveSandbox:nd,elementId:t.elementId,bindResizer:i=>e.getInstance(ec)?.(i),onCreated:i=>ct(e,i,"fresh"),onReload:i=>ct(e,i,"fresh"),onShown:i=>ct(e,i,"switch"),mark:i=>t.mark?.(tc[i])}),r=X(e).addListener(k.SANDBOX_WHEEL,i=>{n.visible()?.scrollBy(i?.deltaX??0,i?.deltaY??0)});e.inject(on,n),e.getInstance(N)?.addDispose(()=>{r.dispose(),n.dispose()})}function ct(e,t,n){const r=X(e),i=t.contentWindow;if(!i)return;const o=r.getTarget()===i;o&&n==="switch"||(n==="fresh"&&(r.forget(i),o&&r.setTarget(void 0)),r.setTarget(i),Bl(r))}function rc(e,t){ct(e,t,"promote")}function ic(e,t){const n=t.contentWindow;n&&X(e).greet(n)}function oc(e,t){const n=t.contentWindow;n&&X(e).forget(n)}function fe(e){return e.getInstance(on)}function sc(e){const t=X(e),n=()=>fe(e)?.byWindow(t.getTarget()),r=t.addListenerAsync(k.RELOAD,async()=>{await n()?.reload()}),i=t.addListener(s=>{s.data?.operation===k.SANDBOX_RESIZED&&n()?.resize()}),o=K(e,F.ON_EMAIL_INIT_ID)(()=>{n()?.resize()});e.getInstance(N)?.addDispose(()=>{r.dispose(),i.dispose(),o.dispose()})}var _h=x("HeadlessMode"),ac=x("HiddenMount");function lc(e){return e.getOrCreateInstance(ac,()=>Me(!1))}function pr(){const e=document.createElement("div");return e.dataset.canvasOffscreen="true",e.style.position="absolute",e.style.left="-10000px",e.style.top="-10000px",e.style.width="1600px",e.style.height="1000px",document.body.appendChild(e),e}function dc(e){const t=e.getInstance(oe);let n,r;e.getInstance(N)?.addDispose(()=>{r?.remove(),r=void 0}),nc(e,{resolveMount:()=>n,resolveSrc:o=>ro(o==="block"),elementId:"email_iframe",mark:o=>$(o)}),t?.watch(o=>{if(n)return;const s=o?.element;if(s instanceof HTMLElement)n=s;else if(o!==void 0)n=r??=pr();else return;fe(e)?.get("email")});let i;e.getInstance(N)?.addDispose(()=>{i?.remove(),i=void 0}),lc(e).watch(o=>{const s=fe(e);if(s){if(o){i??=pr(),s.alignSurface("email",i,i);return}i&&(s.alignSurface("email",null),i.remove(),i=void 0)}})}var uo=x("canvas.headerFlow"),mr=["subject","preheader"],cc=3e3,uc={subject:k.SANDBOX_SUBJECT_UPDATE,preheader:k.SANDBOX_PREHEADER_UPDATE};function fc(e){const t=ve(e),n=X(e),r=g=>g?"remote":co(e)?"system":"user",i=(g,{guid:y,value:w,forced:S})=>{const A=je(t);if(!A||typeof w!="string"||y&&y!==A.get().docId)return;const m=t.forcedHeaders();if(m?.[g]&&!S&&w!==m[g])return;S&&t.endForcedHeaders();const c=A.get().attributes[g]??"";d=!0;try{ht(A,{[g]:w},{source:r(S)})}finally{d=!1}o[g]=w,ie(e,F.ON_HEADER_APPLIED_ID).fire({field:g,value:w,forced:!!S,isGenerated:w!==c&&!!w})};let o={},s,d=!1,l=Promise.resolve();const f=(g,y,w)=>{l=n.sendAsync(uc[g],{value:y,guid:je(t)?.get().docId,...w?{force:!0,echo:!0}:{}}).catch(S=>{})};let u;e.inject(uo,{whenDelivered:async()=>{await l},reassert:g=>{const y=je(t),w=mr.filter(S=>g[S]);if(!(!y||w.length===0)){d=!0;try{ht(y,Object.fromEntries(w.map(S=>[S,g[S]])),{source:"system"})}finally{d=!1}t.beginForcedHeaders({subject:g.subject??"",preheader:g.preheader??""}),clearTimeout(u),u=setTimeout(()=>t.endForcedHeaders(),cc);for(const S of w)o[S]=g[S],f(S,g[S],!0)}}});const v=()=>{s?.(),s=void 0;const g=je(t);if(!g){o={};return}const y=g.get().attributes;o={subject:y.subject,preheader:y.preheader},s=g.subscribe(({source:w})=>{if(d)return;const S=g.get().attributes,A=t.forcedHeaders();for(const m of mr){const c=S[m];c!==o[m]&&(o[m]=c,f(m,c??"",w==="system"&&A?.[m]!==void 0))}})};v();const b=t.subscribe(v),E=n.addListenerAsync(k.APPLICATION_SUBJECT_UPDATE,g=>i("subject",g)),I=n.addListenerAsync(k.APPLICATION_PREHEADER_UPDATE,g=>i("preheader",g));e.getInstance(N)?.addDispose(()=>{E.dispose(),I.dispose(),b(),s?.(),clearTimeout(u)})}function hr(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function sn(e,t){const n={...e};for(const r of Object.keys(t)){const i=t[r],o=e[r];hr(i)&&hr(o)?n[r]=sn(o,i):i!==void 0&&(n[r]=i)}return n}function pc(e,t){const n=yn;if(typeof e=="string"){const r=e.trim();if(r.startsWith("{"))try{const i=JSON.parse(r);if(i&&typeof i=="object"&&!Array.isArray(i)&&Object.keys(i).length>0)return sn(n,i)}catch{}}return t&&typeof t=="object"&&!Array.isArray(t)?sn(n,t):n}function mc(){const e=window.localStorage.getItem(bt.em_color_scheme),t=matchMedia("(prefers-color-scheme: dark)").matches?Ss:js;return e&&e!=="system"?e:t}function hc(){const e=window.localStorage.getItem(bt.em_code_mode_settings);if(!e)return!1;try{const t=JSON.parse(e);return!!(t?.isCodeMode&&(t.codeModeDirection==="left"||t.codeModeDirection==="right"))}catch{return!1}}function gc(e){const{config:t}=e;return{operation:k.UPDATE_PREVIEW,theme:e.theme,commonStyles:pc(e.emailCommonStyles,e.defaultCommonStyles),pathEnabled:t.pathEnabled,copyPasteEnabled:t.copyPasteEnabled,saveBlockEnabled:t.saveBlockEnabled,editImageControlEnabled:t.editImageControlEnabled,codeMode:e.codeMode,elementAIimageEnabled:t.elementAIimageEnabled,imageCenterStockEnabled:t.imageCenterStockEnabled,imageCenterGifEnabled:t.imageCenterGifEnabled,imageCenterEditorEnabled:t.imageCenterEditorEnabled,blocksAddPanelEnabled:t.blocksAddPanelEnabled!==!1&&t.blocksSectionsShow!==!1,lockEditor:t.lockEditor,appName:e.appName}}function vc(e){const t=X(e),n=e.getInstance(we),r=e.getInstance(oe),i=ve(e);let o,s="";const d=()=>{const w=n?.get()??{},S=gc({config:w,emailCommonStyles:i.current()?.get().attributes?.common_styles,defaultCommonStyles:o,theme:mc(),codeMode:hc(),appName:"emailmaker"}),A=JSON.stringify(S);A!==s&&(s=A,t.send(S))},l=t.onInit(()=>{s="",d()}),f=()=>{t.isInited()&&d()},u=n?.watch(f),v=r?.watch(w=>{o=w?.commonStyles,f()});let b;const E=()=>{b?.(),b=i.current()?.subscribe(f),f()};E();const I=i.subscribe(E),g=matchMedia(As),y=()=>f();g.addEventListener("change",y),e.getInstance(N)?.addDispose(()=>{l.dispose(),u?.dispose(),v?.dispose(),b?.(),I(),g.removeEventListener("change",y)})}var an;(function(e){function t(i,o,s=(d,l)=>d===l){if(i===o)return!0;if(i.length!==o.length)return!1;for(let d=0;d<i.length;d++)if(!s(i[d],o[d]))return!1;return!0}e.isEqual=t;function n(i,o=s=>s){const s=new Set;return i.filter(d=>{const l=o(d);return s.has(l)?!1:(s.add(l),!0)})}e.unique=n;function r(i=[],o=[],s=(d,l)=>d===l){const d=[],l=[],f=[];for(const u of i){const v=o.find(b=>s(u,b));v?f.push({prev:u,next:v}):l.push(u)}for(const u of o)i.find(v=>s(u,v))||d.push(u);return{added:d,removed:l,exists:f}}e.diff=r})(an||(an={}));function bc(e,t){return e.type===t.type&&e.key===t.key}function Ec(e){const t=X(e),n=()=>e.getServices(Te)??[];let r=[];const i=t.onInit(()=>{r=n(),t.send(k.SANDBOX_ADD_EXTENSIONS,r)}),o=fs(Te),s=e.onInject(d=>{if(d!==o)return;const l=n();if(!t.isInited()){r=l;return}const{added:f,removed:u}=an.diff(r,l,bc);if(r=l,u.length){if(u.some(v=>v.type==="script")){t.send(k.RELOAD);return}t.send(k.SANDBOX_REMOVE_EXTENSIONS,u.map(v=>v.key))}f.length&&t.send(k.SANDBOX_ADD_EXTENSIONS,f)});e.getInstance(N)?.addDispose(()=>{i.dispose(),s?.dispose()})}var yc=x("prewarm.editorVisible");function _c(e){if(typeof requestAnimationFrame!="function"){setTimeout(e,0);return}requestAnimationFrame(()=>requestAnimationFrame(e))}function wc(e={}){const t=e.paint??_c;let n=!1,r=!1,i=!1,o=!1,s=!1;const d=[],l=()=>{s||o||!n||!r||!i||(o=!0,t(()=>{s=!0,$(J.editorVisible);for(const f of d.splice(0))f()}))};return{noteShellVisible(){n=!0,l()},notePagePainted(){r=!0,l()},noteContentShown(){i=!0,l()},whenVisible(f){if(s){f();return}d.push(f)},contentShown:()=>i}}function Sc(e){return e.getOrCreateInstance(yc,()=>wc())}var Ic=500,Tc=500,Ac=5e3;function Cc(e){const t=e.quietMs??Ic,n=e.floorMs??Tc,r=e.ceilingMs??Ac;let i,o,s=0;const d=()=>{clearTimeout(i),clearTimeout(o),i=void 0,o=void 0},l=()=>{d(),e.run()},f=()=>{clearTimeout(i);const u=n-(Date.now()-s);i=setTimeout(l,Math.max(t,u))};return{start(){d(),s=Date.now(),o=setTimeout(l,r),f()},notify(){i!==void 0&&f()},cancel:d}}function Rc({attributes:e,readContent:t,docId:n,hasSession:r,serverId:i,show:o}){if(!r)return;const s={id:i??void 0,renderGuid:n,showId:o?.id,isNew:i==null,showToken:o?.token},d={...e,...s};return Object.defineProperty(d,"html",{get:()=>t()??"",enumerable:!0,configurable:!0}),d}var fo="self-init:";function Pc(e){return e.startsWith(fo)}function po(e,t){const n=e.getActiveShowRequest();return Pc(t)?n===null:n?.showId===t&&e.hasPendingShow(t)}function Dc(e){const t=()=>e.initPipeline(),n=e.messageService,r=()=>e.waitScope?.()??t();let i="";const o=()=>e.readDocument()?nn(e.readDocument()):i,s=()=>ke(e.container).editorPolicy,d=()=>e.readEmail(),l=()=>{const f=d();return{...f,id:e.isTemplate()||f.isNew?void 0:f.id,html:o()}};return{readContent:o,publicEmail:l,sendInitStart:()=>ae(n,"INIT_START",k.SANDBOX_INIT_START,{guid:d().renderGuid},void 0,r()),sendInited:()=>ae(n,"INITED",k.SANDBOX_INITED,{guid:d().renderGuid},void 0,r()),async sendContent(){const f=d(),{html:u,hasBrowserExtensionArtifacts:v}=oo(f?.html||"");v&&e.events.browserExtensionDetected(),so(e.readDocument(),u),i=u,await ae(n,"SET_ENTITY",k.SANDBOX_SET_ENTITY,rn(o(),f.renderGuid,s(),e.readDocument()?.get().version),{guid:f.renderGuid,emailId:f.id??null},r())},refreshContent:()=>ae(n,"SET_ENTITY",k.SANDBOX_SET_ENTITY,rn(o(),d().renderGuid,s(),e.readDocument()?.get().version),void 0,r()),sendPreheader:async()=>{const f=d();if(f.preheader!==void 0)return ae(n,"PREHEADER",k.SANDBOX_PREHEADER_UPDATE,{value:f.preheader,guid:f.renderGuid,force:!0},void 0,r())},sendSubject:async()=>{const f=d();if(f.subject!==void 0)return ae(n,"SUBJECT",k.SANDBOX_SUBJECT_UPDATE,{value:f.subject,guid:f.renderGuid,force:!0},void 0,r())},revealFilled:()=>e.revealFilled?.()??Promise.resolve(),showFilled:f=>e.showFilled?.(f),readTarget:()=>e.readTarget?.(),fireWillInit:()=>e.events.willInit(l()),fireInit(f,u){if(!po(t(),f)){t().getActiveShowRequest()?.showId;return}const v=d();v.id,v.renderGuid,t().completeShow(f),ht(e.readDocument(),{is_inited:!0},{source:"system"});const b=l();return u&&(b.reset=!0),e.events.inited(b)},fireEmailChanged(){e.events.emailChanged(l())},fireContentChanged(){e.events.contentChanged(o())}}}function Oc(e){const t=()=>e.initPipeline();let n=!1,r,i,o,s=0,d;const l=Dc({...e,waitScope:()=>({getSandboxTimeoutMs:y=>t().getSandboxTimeoutMs(y),getSandboxReadyTimeoutMs:()=>t().getSandboxReadyTimeoutMs(),signal:d?.signal??t().signal})});let f;const u=(y,w)=>{if(f===y)return;f=y;const S=s;setTimeout(()=>{s!==S||t().signal.aborted||I(y,w).catch(()=>{})},0)},v=()=>{d?.abort(),d=void 0};let b;const E=()=>{const y=t().signal;y!==b&&(b?.removeEventListener("abort",v),b=y,y.addEventListener("abort",v))};async function I(y,w){const S=++s;v(),d=new AbortController,E();const A=()=>s!==S,m=l.readTarget(),c=t().generation,a=()=>c===t().generation&&!t().signal.aborted,p=w?"init:reset-":"init:";if(!w){const T=l.publicEmail();T?.id,T?.renderGuid,T?.preheader}let h=!1,_=!1;try{n=!0,await l.sendInitStart(),l.fireWillInit(),await(w?l.refreshContent():l.sendContent()),h=!0,w||l.publicEmail()?.id;try{await l.sendPreheader()}catch(T){`${p}`,String(T)}try{await l.sendSubject()}catch(T){`${p}`,String(T)}if(A()||l.showFilled(m),await l.sendInited(),_=!0,i===y){const T=e.readSandboxGeneration?.()??o;T!==void 0&&(r=T)}await l.revealFilled()}catch(T){throw A()||(`${p}`,{...e.describeSurface?.(),error:String(T)},void 0),!A()&&po(t(),y)&&t().failShow(y,T),T}finally{g(y,w,p,{superseded:A(),sessionGeneration:c,contentApplied:h,sandboxInitedAcked:_,commit:a()})}}function g(y,w,S,A){const{superseded:m,contentApplied:c,sandboxInitedAcked:a}=A;if(m){`${S}`;return}a&&A.commit?l.fireInit(y,w||void 0):a?(`${S}`,A.sessionGeneration,t().generation,t().signal.aborted,void 0):c?(`${S}`,void 0):(`${S}`,void 0),n=!1,d=void 0,!a&&i===y&&(i=void 0,r===o&&(r=void 0)),!a&&c&&u(y,w)}return{channel:l,isEventsLocked:()=>n,filledGeneration:()=>r,markFilled:y=>{r=y},lastCorrelation:()=>i,markCorrelation:y=>{i=y},bumpRunSeq:()=>{s+=1},noteSandboxGeneration:y=>{o=y},fill:y=>I(y,!1),refill:y=>I(y,!0),stop:()=>{s+=1,v(),n=!1,b?.removeEventListener("abort",v),b=void 0}}}function xc(e,t,n){if(!e?.renderGuid||!e.showId||e.showId!==t.showId)return!1;if(t.isNew)return e.id==null;const r=t.emailId??t.navId;return r!=null&&String(e.id??"")!==String(r)?!1:mo(e,n)}function mo(e,t){return t?e?.id==null?!1:String(e.id)===String(t):!0}function Lc(e){const{pipeline:t,readEmail:n,readDocument:r,readRouteEmailId:i,readSandboxGeneration:o}=e,s=u=>{const v=n(),b=i();if(!xc(v,u,b)){u.showId,u.navId,u.emailId,v?.id,v?.showId,v?.renderGuid;return}u.showId,v?.id,v?.renderGuid,t.markFilled(o()),t.markCorrelation(u.showId),t.fill(u.showId).catch(()=>{})};return{showRequested:u=>{s(u)},showRequestIdentityChanged:()=>{const u=e.initPipeline().getActiveShowRequest();u&&s(u)},selfInitChanged:()=>{if(e.initPipeline().getActiveShowRequest())return;const u=o();if(t.filledGeneration()===u)return;const v=n(),b=i();if(!v?.renderGuid||!mo(v,b))return;const E=`${fo}${v.renderGuid}`;t.markFilled(u),t.markCorrelation(E);const I=r()?.isReady()===!0;v.id,v.renderGuid,(I?g=>t.refill(g):g=>t.fill(g))(E).catch(()=>{t.lastCorrelation()===E&&t.markFilled(void 0)})},saasChanged:()=>{const u=n();u?.renderGuid,u?.showToken,u?.id}}}function Mc(e){return e??""}function kc(e,t,n,r){return[e??"",t??"",n==null?"":String(n),r??""].join("|")}function Nc(e){const t=ve(e),n=X(e),r=()=>he(t.sessionKey())?void 0:t.current(),i=()=>{const D=r();return Rc({attributes:D?.get().attributes??{},readContent:()=>D?.getContent(),docId:D?.get().docId,hasSession:!!D,serverId:D?.get().serverId,show:t.showFacts()})},o=()=>e.getInstance(De)??xn;let s={},d=!1;const l=e.getInstance(oe)?.watch(D=>{d=!!D?.element});let f=!1,u=!1,v=!1,b=0;const E=()=>{const D=fe(e);if(!D)return;const V=++b,G=D.spare();return G&&oc(e,G.element),(G?G.reloadQuietly():D.ensureSpare()?.ready())?.then(()=>{if(V!==b)return;f=!0;const ne=D.spare();ne&&ic(e,ne.element),v&&(v=!1,T(),W())})},I=Cc({run:()=>{v||E()?.catch(()=>{})}}),g=()=>{Sc(e).noteContentShown(),!f&&!v&&I.start()};let y=!1;const A=Oc({container:e,messageService:n,initPipeline:o,readDocument:r,readEmail:i,revealFilled:()=>{const D=fe(e);return y&&D&&(y=!1,I.start()),d?D?.current("email").whenShown()??Promise.resolve():Promise.resolve()},showFilled:D=>{const V=fe(e),G=V?.spare()?.element.contentWindow;u&&V&&G&&D===G&&(u=!1,V.promote(),V.busy(!1),y=!0)},readTarget:()=>n.getTarget(),isTemplate:()=>!!s.isTemplate,readSandboxGeneration:()=>ue(n),describeSurface:()=>({canvasPath:_,promoted:u,spareClean:f,handshake:n.isInited(),generation:ue(n)}),events:{willInit:D=>{ie(e,F.WILL_EMAIL_INIT_ID).fire(D)},inited:D=>{g(),ie(e,F.ON_EMAIL_INIT_ID).fire(D)},contentChanged:D=>{ie(e,F.ON_CONTENT_CHANGED_ID).fire(D)},emailChanged:D=>{ie(e,F.ON_EMAIL_CHANGED_ID).fire(D)},browserExtensionDetected:()=>{ie(e,F.ON_BROWSER_EXTENSION_DETECTED_ID).fire()}}}),m=Lc({pipeline:A,initPipeline:o,readEmail:i,readDocument:r,readRouteEmailId:()=>s.emailId,readSandboxGeneration:()=>ue(n)});let c="",a="",p="";const h=D=>D.length>0;let _="none";const T=()=>{const D=fe(e)?.spare();D&&(n.send({operation:k.SANDBOX_LOCK_EDIT,data:!0}),f=!1,u=!0,rc(e,D.element))},C=(D,V)=>{const G=fe(e);if(!G)return!0;const ne=G.spare(),Ee=ne&&f?"spare":"prepare";if(_=Ee,G.busy(!0),ne&&f)return T(),!0;I.cancel(),n.send({operation:k.SANDBOX_LOCK_EDIT,data:!0});const ye=E();if(ye===void 0)return _="reload",G.busy(!1),G.peek("email")?.reload(),!0;v=!0;const Tt=b;return ye.catch(()=>{!v||Tt!==b||(v=!1,_="reload",G.busy(!1),G.peek("email")?.reload())}),!1},P=()=>{be(),A.noteSandboxGeneration(ue(n));const D=i(),V=kc(D?.renderGuid,D?.showId,D?.id,s.emailId),G=Mc(D?.renderGuid);if(G!==a){const ye=h(a),Tt=a;a=G,ye&&C(Tt,G)}if(v)return;V!==c&&(c=V,m.showRequestIdentityChanged());const ne=r(),Ee=`${V}|${ne?.get().docId??""}|${ue(n)}`;Ee!==p&&ne?.isReady()===!0&&(p=Ee,m.selfInitChanged()),m.saasChanged(),z()};let j=!1,R="",O="";const z=()=>{const D=i();if(!D?.renderGuid)return;const V=A.channel.readContent(),G=JSON.stringify([D.preheader,D.common_styles,D.meta,D.subject,D.utm_parameters?.utm_campaign??"",D.utm_parameters?.utm_content??"",D.utm_parameters?.utm_medium??"",D.utm_parameters?.utm_source??"",D.utm_parameters?.utm_term??""]),ne=j&&V!==O,Ee=j&&G!==R;if(j=!0,O=V,R=G,A.isEventsLocked())return;const ye={...D,id:s.isTemplate||D.isNew?void 0:D.id,html:V};if(ne){ie(e,F.ON_CONTENT_CHANGED_ID).fire(V),ie(e,F.ON_EMAIL_CHANGED_ID).fire(ye);return}Ee&&D.is_inited&&ie(e,F.ON_EMAIL_CHANGED_ID).fire(ye)};let B=!1;const W=()=>{B||(B=!0,queueMicrotask(()=>{B=!1,P()}))};e.inject(Ln,{pipeline:A,setRoute:D=>{D.emailId===s.emailId&&!!D.isTemplate==!!s.isTemplate||(s=D,W())}});let de,L;const H=()=>{const D=r()?.get().docId;D!==L&&(de?.(),L=D,de=r()?.subscribe(W)),W()};let U,Y;const be=()=>{const D=e.getInstance(De);!D||D===U||(Y?.(),U=D,Y=D.onShowRequested(V=>m.showRequested(V)))},Qe=n.addListener(D=>{D.data?.operation===k.SANDBOX_RESIZED&&I.notify()}),Jo=t.subscribe(H),Qo=no(n,W);H(),e.getInstance(N)?.addDispose(()=>{l?.dispose(),Y?.(),Qo(),Jo(),de?.(),Qe.dispose(),I.cancel(),A.stop()})}function Fc(){return ks!=="emailmaker"}var gr={config:{mode:"freeUserBlocks",autosaveTimeout:5e3,autosaveRetryMaxAttempts:5,autosaveRetryIntervalMs:3e4,theme:"",themes:{},mergeTagsShow:!0,styles:"",revisionService:!1,headerShow:!0,headerTitleVisible:!0,headerPreheaderVisible:!0,headerArrowBackVisible:!0,historyEnabled:!0,codeEnabled:!0,codeSideEnabled:!0,previewIconEnabled:!0,previewModeEnabled:!0,livePreviewEnabled:!0,sendTestEnabled:!0,sharePreviewEnabled:!0,webversionEnabled:!0,commonStylesEnabled:!0,emailResponsiveControlEnabled:!0,templateNotEmAlertShow:!1,beeFreeConverterEnabled:!1,stripoConverterEnabled:!0,aiLayoutConverterEnabled:!1,emailDropdownMenuEnabled:!0,emailDropdownMenuClone:!0,emailDropdownMenuImport:!0,emailDropdownMenuConvert:!0,emailDropdownMenuLock:!0,emailDropdownMenuRemove:!0,emailExportEnabled:!0,exportHtmlEnabled:!0,exportZipEnabled:!0,exportTextEnabled:!0,exportMarkdownEnabled:!0,exportClipboardEnabled:!0,exportWebHookEnabled:!0,exportOutlookEnabled:!0,exportPdfEnabled:!0,exportPngEnabled:!0,nextButtonEnabled:!1,nextButtonText:"",saveButtonEnabled:!0,saveButtonText:"",commandButtonsEnabled:!0,emailIdShow:!1,sidePanelFloating:!0,desktopMobileSwitchRule:!0,desktopMobileSwitchPanel:!1,onlyCodeModeInMobile:!1,pathEnabled:!0,copyPasteEnabled:!0,saveBlockEnabled:!0,globalBlockCheckboxEnabled:!0,editImageControlEnabled:!0,lockEditor:!1,lockPreheaderAndTitle:!1,disableSideMenu:!1,menuDirection:"right",defaultBuildPanel:"",commentsEnabled:!0,aiAssistentEnabled:!0,optimizeEnabled:!0,optimizeLinksEnabled:!0,optimizeImagesEnabled:!0,optimizeSpamAssassinEnabled:!0,optimizeCheckCodeEnabled:!0,settingsEnabled:!0,settingsTabEnabled:!0,UTMEnabled:!0,annotationsEnabled:!1,subjectEnabled:!0,preheaderEnabled:!0,descriptionEnabled:!0,tagsEnabled:!0,isTemplateEnabled:!0,switchDesktopMobilePropsEnabled:!0,stepToOtherElementEnabled:!0,deleteButtonEnabled:!0,toggleSidePanel:!0,blocksSectionsShow:!0,blocksEmptyEnabled:!0,blocksSavedEnabled:!0,blocksCommonEnabled:!0,blocksTemplateEnabled:!0,blocksSearchEnabled:!0,blocksAddPanelEnabled:!0,imagePathDropdownEnabled:!0,formFieldImageTitleEnabled:!0,formFieldBorderEnabled:!0,formFieldBorderRadiusEnabled:!0,formFieldBoxShadowEnabled:!0,formFieldVisibilityEnabled:!0,formFieldExportAsPictureEnabled:!0,emailPaneDesktopSize:0,formButtonFieldInsertImageEnabled:!0,formButtonFieldVerticalAlignEnabled:!0,formButtonFieldTextAlignEnabled:!0,formButtonFieldBackgroundImageEnabled:!0,formButtonFieldPaddingsEnabled:!0,formCellFieldVerticalAlignEnabled:!0,formCellFieldBackgroundImageEnabled:!0,formCellFieldPaddingsEnabled:!0,formCellFieldSizeEnabled:!0,formButtonFieldReplacerEnabled:!0,formLinkFieldInsertImageEnabled:!0,formTableFieldBackgroundImageEnabled:!0,formDivFieldBackgroundImageEnabled:!0,formImageFieldVerticalAlignEnabled:!0,formImageFieldReplacerEnabled:!0,formImageFieldHeightEnabled:!0,formTextFieldTypografEnabled:!0,formTextFieldReplacerEnabled:!0,formEmailFieldBackgroundImageEnabled:!0,elementImageEnabled:!0,elementTextEnabled:!0,elementHeaderEnabled:!0,elementButtonEnabled:!0,elementListULEnabled:!0,elementListOLEnabled:!0,elementDividerEnabled:!0,elementSpacerEnabled:!0,elementSocialEnabled:!0,elementTableEnabled:!1,elementCountdownEnabled:!0,elementVideoEnabled:!0,elementAIimageEnabled:!0,elementAItextEnabled:!0,elementCarouselEnabled:!0,elementAccordionEnabled:!0,elementFormEnabled:!1,preventSendDataToEM:!1,imageInfoToolUrl:"",resourceProxy:void 0,resourceProxyPolicy:void 0,imageCenterFileManagerView:!1,imageCenterLocalUploadEnabled:!0,imageCenterStockEnabled:!0,imageCenterGifEnabled:!0,imageCenterIconStockEnabled:!0,imageCenterEditorEnabled:!0,compressMaxSize:1,compressMaxWidthOrHeight:2e3,ampExportEnabled:!0,formFieldAmpVisibilityEnabled:!0,testEmails:[],pushToGTM:!0,activeNextButton:!0,iconStrokeWidth:1.4},project:void 0},ho={config:{mode:"pro",autosaveTimeout:5e3,autosaveRetryMaxAttempts:5,autosaveRetryIntervalMs:3e4,theme:"",themes:{},mergeTagsShow:!0,styles:"",revisionService:!1,headerShow:!0,headerTitleVisible:!0,headerPreheaderVisible:!0,headerArrowBackVisible:!0,historyEnabled:!0,codeEnabled:!0,codeSideEnabled:!0,previewIconEnabled:!0,previewModeEnabled:!0,livePreviewEnabled:!0,sendTestEnabled:!0,sharePreviewEnabled:!0,webversionEnabled:!0,commonStylesEnabled:!0,emailResponsiveControlEnabled:!0,templateNotEmAlertShow:!1,beeFreeConverterEnabled:!0,stripoConverterEnabled:!0,aiLayoutConverterEnabled:!1,emailDropdownMenuEnabled:!0,emailDropdownMenuClone:!0,emailDropdownMenuImport:!0,emailDropdownMenuImportButton:!1,emailDropdownMenuConvert:!0,emailDropdownMenuLock:!0,emailDropdownMenuRemove:!0,emailExportEnabled:!0,exportHtmlEnabled:!0,exportZipEnabled:!0,exportTextEnabled:!0,exportMarkdownEnabled:!0,exportClipboardEnabled:!0,exportWebHookEnabled:!0,exportOutlookEnabled:!0,exportPdfEnabled:!0,exportPngEnabled:!0,nextButtonEnabled:!1,nextButtonText:"",saveButtonEnabled:!0,saveButtonText:"",commandButtonsEnabled:!0,emailIdShow:!1,sidePanelFloating:!0,desktopMobileSwitchRule:!0,desktopMobileSwitchPanel:!1,onlyCodeModeInMobile:!1,pathEnabled:!0,copyPasteEnabled:!0,saveBlockEnabled:!0,globalBlockCheckboxEnabled:!0,editImageControlEnabled:!0,lockEditor:!1,lockPreheaderAndTitle:!1,disableSideMenu:!1,menuDirection:"right",defaultBuildPanel:"",commentsEnabled:!0,aiAssistentEnabled:!0,optimizeEnabled:!0,optimizeLinksEnabled:!0,optimizeImagesEnabled:!0,optimizeSpamAssassinEnabled:!0,optimizeCheckCodeEnabled:!0,settingsEnabled:!0,settingsTabEnabled:!0,UTMEnabled:!0,annotationsEnabled:!0,subjectEnabled:!0,preheaderEnabled:!0,descriptionEnabled:!0,tagsEnabled:!0,isTemplateEnabled:!0,switchDesktopMobilePropsEnabled:!0,stepToOtherElementEnabled:!0,deleteButtonEnabled:!0,toggleSidePanel:!0,blocksSectionsShow:!0,blocksEmptyEnabled:!0,blocksSavedEnabled:!0,blocksCommonEnabled:!0,blocksTemplateEnabled:!0,blocksSearchEnabled:!0,blocksAddPanelEnabled:!0,imagePathDropdownEnabled:!0,formFieldImageTitleEnabled:!0,formFieldBorderEnabled:!0,formFieldBorderRadiusEnabled:!0,formFieldBoxShadowEnabled:!0,formFieldVisibilityEnabled:!0,formFieldExportAsPictureEnabled:!0,emailPaneDesktopSize:0,formButtonFieldInsertImageEnabled:!0,formButtonFieldVerticalAlignEnabled:!0,formButtonFieldTextAlignEnabled:!0,formButtonFieldBackgroundImageEnabled:!0,formButtonFieldPaddingsEnabled:!0,formButtonFieldReplacerEnabled:!0,formCellFieldVerticalAlignEnabled:!0,formCellFieldBackgroundImageEnabled:!0,formCellFieldPaddingsEnabled:!0,formCellFieldSizeEnabled:!0,formLinkFieldInsertImageEnabled:!0,formTableFieldBackgroundImageEnabled:!0,formDivFieldBackgroundImageEnabled:!0,formImageFieldVerticalAlignEnabled:!0,formImageFieldReplacerEnabled:!0,formImageFieldHeightEnabled:!0,formTextFieldTypografEnabled:!0,formTextFieldReplacerEnabled:!0,formEmailFieldBackgroundImageEnabled:!0,elementImageEnabled:!0,elementTextEnabled:!0,elementHeaderEnabled:!0,elementButtonEnabled:!0,elementListULEnabled:!0,elementListOLEnabled:!0,elementDividerEnabled:!0,elementSpacerEnabled:!0,elementSocialEnabled:!0,elementTableEnabled:!0,elementCountdownEnabled:!0,elementVideoEnabled:!0,elementAIimageEnabled:!0,elementAItextEnabled:!0,elementCarouselEnabled:!0,elementAccordionEnabled:!0,elementFormEnabled:!1,preventSendDataToEM:!1,imageInfoToolUrl:"",resourceProxy:void 0,resourceProxyPolicy:void 0,imageCenterFileManagerView:!0,imageCenterLocalUploadEnabled:!0,imageCenterStockEnabled:!0,imageCenterGifEnabled:!0,imageCenterIconStockEnabled:!0,imageCenterEditorEnabled:!0,compressMaxSize:1,compressMaxWidthOrHeight:2e3,ampExportEnabled:!0,formFieldAmpVisibilityEnabled:!0,testEmails:[],pushToGTM:!0,activeNextButton:!0,iconStrokeWidth:1.4,fileManager:{defaultFolderName:"",enableMoveFolder:!0,enableEdit:!0,enableTrash:!0,enableCopyFile:!0}},project:void 0,page:{isNew:!0,type:"email",project:0,id:"",showToken:0}},vr=ho,jc=["pro"],go={};function Bc(e){go=e}var vo=e=>jc.includes(e)?vr:go[e]??vr,ln={config:{mode:"simple",autosaveTimeout:5e3,autosaveRetryMaxAttempts:5,autosaveRetryIntervalMs:3e4,theme:"",themes:{},mergeTagsShow:!1,styles:"",headerShow:!0,headerTitleVisible:!0,headerPreheaderVisible:!0,headerArrowBackVisible:!0,historyEnabled:!0,codeEnabled:!0,codeSideEnabled:!0,previewIconEnabled:!0,previewModeEnabled:!0,livePreviewEnabled:!0,sendTestEnabled:!0,sharePreviewEnabled:!0,webversionEnabled:!1,commonStylesEnabled:!1,emailResponsiveControlEnabled:!1,templateNotEmAlertShow:!1,beeFreeConverterEnabled:!1,stripoConverterEnabled:!0,aiLayoutConverterEnabled:!1,emailDropdownMenuEnabled:!0,emailDropdownMenuClone:!0,emailDropdownMenuImport:!0,emailDropdownMenuImportButton:!1,emailDropdownMenuConvert:!0,emailDropdownMenuLock:!0,emailDropdownMenuRemove:!0,emailExportEnabled:!0,exportHtmlEnabled:!0,exportZipEnabled:!0,exportTextEnabled:!0,exportMarkdownEnabled:!0,exportClipboardEnabled:!0,exportWebHookEnabled:!0,exportOutlookEnabled:!1,exportPdfEnabled:!0,exportPngEnabled:!0,nextButtonEnabled:!1,nextButtonText:"",saveButtonEnabled:!0,saveButtonText:"",commandButtonsEnabled:!0,emailIdShow:!1,sidePanelFloating:!0,desktopMobileSwitchRule:!0,desktopMobileSwitchPanel:!1,onlyCodeModeInMobile:!1,pathEnabled:!0,copyPasteEnabled:!0,saveBlockEnabled:!0,globalBlockCheckboxEnabled:!0,editImageControlEnabled:!0,lockEditor:!1,lockPreheaderAndTitle:!1,disableSideMenu:!1,menuDirection:"right",defaultBuildPanel:"",commentsEnabled:!0,aiAssistentEnabled:!0,optimizeEnabled:!0,optimizeLinksEnabled:!0,optimizeImagesEnabled:!0,optimizeSpamAssassinEnabled:!0,optimizeCheckCodeEnabled:!0,settingsEnabled:!0,settingsTabEnabled:!0,UTMEnabled:!1,annotationsEnabled:!1,subjectEnabled:!0,preheaderEnabled:!0,descriptionEnabled:!0,tagsEnabled:!0,isTemplateEnabled:!0,switchDesktopMobilePropsEnabled:!0,stepToOtherElementEnabled:!0,deleteButtonEnabled:!0,toggleSidePanel:!0,blocksSectionsShow:!0,blocksEmptyEnabled:!0,blocksSavedEnabled:!0,blocksCommonEnabled:!0,blocksTemplateEnabled:!0,blocksSearchEnabled:!0,blocksAddPanelEnabled:!0,imagePathDropdownEnabled:!0,formFieldImageTitleEnabled:!0,formFieldBorderEnabled:!1,formFieldBorderRadiusEnabled:!1,formFieldBoxShadowEnabled:!1,formFieldVisibilityEnabled:!1,formFieldExportAsPictureEnabled:!1,emailPaneDesktopSize:0,formButtonFieldInsertImageEnabled:!0,formButtonFieldVerticalAlignEnabled:!0,formButtonFieldTextAlignEnabled:!0,formButtonFieldBackgroundImageEnabled:!0,formButtonFieldPaddingsEnabled:!0,formButtonFieldReplacerEnabled:!1,formCellFieldVerticalAlignEnabled:!0,formCellFieldBackgroundImageEnabled:!0,formCellFieldPaddingsEnabled:!0,formCellFieldSizeEnabled:!1,formLinkFieldInsertImageEnabled:!0,formTableFieldBackgroundImageEnabled:!0,formDivFieldBackgroundImageEnabled:!0,formImageFieldVerticalAlignEnabled:!1,formImageFieldReplacerEnabled:!1,formImageFieldHeightEnabled:!1,formTextFieldTypografEnabled:!1,formTextFieldReplacerEnabled:!1,formEmailFieldBackgroundImageEnabled:!0,elementImageEnabled:!0,elementTextEnabled:!0,elementHeaderEnabled:!0,elementButtonEnabled:!0,elementListULEnabled:!0,elementListOLEnabled:!0,elementDividerEnabled:!0,elementSpacerEnabled:!0,elementSocialEnabled:!0,elementTableEnabled:!1,elementCountdownEnabled:!1,elementVideoEnabled:!1,elementAIimageEnabled:!0,elementAItextEnabled:!1,elementCarouselEnabled:!1,elementAccordionEnabled:!1,elementFormEnabled:!1,preventSendDataToEM:!1,imageInfoToolUrl:"",resourceProxy:void 0,resourceProxyPolicy:void 0,imageCenterFileManagerView:!0,imageCenterLocalUploadEnabled:!0,imageCenterStockEnabled:!0,imageCenterGifEnabled:!0,imageCenterIconStockEnabled:!0,imageCenterEditorEnabled:!0,compressMaxSize:1,compressMaxWidthOrHeight:2e3,ampExportEnabled:!1,formFieldAmpVisibilityEnabled:!1,testEmails:[],pushToGTM:!0,activeNextButton:!0,iconStrokeWidth:1.4,fileManager:{defaultFolderName:"",enableMoveFolder:!0,enableEdit:!0,enableTrash:!0}},project:void 0},Uc={config:{mode:"editor",autosaveTimeout:5e3,autosaveRetryMaxAttempts:5,autosaveRetryIntervalMs:3e4,theme:"",themes:{},mergeTagsShow:!1,styles:"",headerShow:!0,headerTitleVisible:!0,headerPreheaderVisible:!0,headerArrowBackVisible:!0,historyEnabled:!0,codeEnabled:!1,codeSideEnabled:!0,previewIconEnabled:!0,previewModeEnabled:!0,livePreviewEnabled:!0,sendTestEnabled:!0,sharePreviewEnabled:!1,webversionEnabled:!1,commonStylesEnabled:!1,emailResponsiveControlEnabled:!1,templateNotEmAlertShow:!1,beeFreeConverterEnabled:!0,stripoConverterEnabled:!0,aiLayoutConverterEnabled:!1,emailDropdownMenuEnabled:!1,emailDropdownMenuClone:!0,emailDropdownMenuImport:!1,emailDropdownMenuImportButton:!1,emailDropdownMenuConvert:!0,emailDropdownMenuLock:!0,emailDropdownMenuRemove:!0,emailExportEnabled:!0,exportHtmlEnabled:!0,exportTextEnabled:!1,exportMarkdownEnabled:!1,exportZipEnabled:!0,exportClipboardEnabled:!1,exportWebHookEnabled:!1,exportOutlookEnabled:!0,exportPdfEnabled:!0,exportPngEnabled:!0,nextButtonEnabled:!1,nextButtonText:"",saveButtonEnabled:!0,saveButtonText:"",commandButtonsEnabled:!0,emailIdShow:!1,sidePanelFloating:!0,desktopMobileSwitchRule:!0,desktopMobileSwitchPanel:!1,onlyCodeModeInMobile:!1,pathEnabled:!0,copyPasteEnabled:!1,saveBlockEnabled:!0,globalBlockCheckboxEnabled:!0,editImageControlEnabled:!0,lockEditor:!1,lockPreheaderAndTitle:!1,disableSideMenu:!1,menuDirection:"right",defaultBuildPanel:"",commentsEnabled:!1,aiAssistentEnabled:!1,optimizeEnabled:!1,optimizeLinksEnabled:!0,optimizeImagesEnabled:!0,optimizeSpamAssassinEnabled:!0,optimizeCheckCodeEnabled:!0,settingsEnabled:!0,settingsTabEnabled:!0,UTMEnabled:!1,annotationsEnabled:!1,subjectEnabled:!0,preheaderEnabled:!0,descriptionEnabled:!1,tagsEnabled:!0,isTemplateEnabled:!1,switchDesktopMobilePropsEnabled:!0,stepToOtherElementEnabled:!1,deleteButtonEnabled:!0,toggleSidePanel:!1,blocksSectionsShow:!0,blocksEmptyEnabled:!0,blocksSavedEnabled:!0,blocksCommonEnabled:!0,blocksTemplateEnabled:!0,blocksSearchEnabled:!0,blocksAddPanelEnabled:!0,imagePathDropdownEnabled:!1,formFieldImageTitleEnabled:!1,formFieldBorderEnabled:!1,formFieldBorderRadiusEnabled:!1,formFieldBoxShadowEnabled:!1,formFieldVisibilityEnabled:!1,formFieldExportAsPictureEnabled:!1,emailPaneDesktopSize:0,formButtonFieldInsertImageEnabled:!1,formButtonFieldVerticalAlignEnabled:!0,formButtonFieldTextAlignEnabled:!1,formButtonFieldBackgroundImageEnabled:!0,formButtonFieldPaddingsEnabled:!1,formButtonFieldReplacerEnabled:!1,formCellFieldVerticalAlignEnabled:!1,formCellFieldBackgroundImageEnabled:!0,formCellFieldPaddingsEnabled:!0,formCellFieldSizeEnabled:!1,formLinkFieldInsertImageEnabled:!0,formTableFieldBackgroundImageEnabled:!0,formDivFieldBackgroundImageEnabled:!0,formImageFieldVerticalAlignEnabled:!1,formImageFieldReplacerEnabled:!1,formImageFieldHeightEnabled:!1,formTextFieldTypografEnabled:!1,formTextFieldReplacerEnabled:!1,formEmailFieldBackgroundImageEnabled:!0,elementImageEnabled:!0,elementTextEnabled:!0,elementHeaderEnabled:!0,elementButtonEnabled:!0,elementListULEnabled:!0,elementListOLEnabled:!0,elementDividerEnabled:!0,elementSpacerEnabled:!0,elementSocialEnabled:!0,elementTableEnabled:!0,elementCountdownEnabled:!0,elementVideoEnabled:!1,elementAIimageEnabled:!0,elementAItextEnabled:!1,elementCarouselEnabled:!1,elementAccordionEnabled:!1,elementFormEnabled:!1,preventSendDataToEM:!1,imageInfoToolUrl:"",resourceProxy:void 0,resourceProxyPolicy:void 0,imageCenterFileManagerView:!0,imageCenterLocalUploadEnabled:!0,imageCenterStockEnabled:!0,imageCenterGifEnabled:!0,imageCenterIconStockEnabled:!0,imageCenterEditorEnabled:!0,compressMaxSize:1,compressMaxWidthOrHeight:2e3,ampExportEnabled:!1,formFieldAmpVisibilityEnabled:!1,testEmails:[],pushToGTM:!0,activeNextButton:!0,iconStrokeWidth:1.4},project:void 0},Hc={...ln,config:{...ln.config,imageCenterFileManagerView:!1}};Bc({pro:ho,editor:Uc,simple:Fc()?ln:Hc,freeUserBlocks:gr,blocks:gr});var br=new Set;function Gc(){return window.localStorage.getItem(bt.em_color_scheme)??void 0}function qc(e){return br.add(e),e(Gc()),{dispose(){br.delete(e)}}}function Mn(e,t){return e.user.mode||e.serverSide.mode||t||"pro"}function $c(e,t){return t.modeDefaults(Mn(e,t.fallbackMode))}function zc(e,t){const n=Mn(e,t);return e.serverSide.advancedConfigs?.[n]||{}}function Vc(e,t){const n=Mn(e,t),r=e.user?.advancedConfigs?.[n],i=r!==void 0?r:e.user?.advancedConfigs?.pro;return{...e.advancedConfigs?.[n],...i}}function Kc(e){let t;for(const n of e)n?.fileManager&&(t={...t,...n.fileManager});return t}function Wc(e){return ss(e.map(t=>t?.resourceProxy))}function Yc(e){return is(e.map(t=>t?.resourceProxyPolicy))}function Xc(e){return vs(e.map(t=>t?.backendProxy))}function Jc(e){return li(e.map(t=>t?.backendProxyPolicy||{}).filter(Boolean))}function Qc(e,t){return[e.base,$c(e,t),e.profile,e.serverSide,zc(e,t.fallbackMode),e.user,Vc(e,t.fallbackMode),e.local]}function xt(e,t){const n=Qc(e,t),r=li(n),i=Kc(n);i!==void 0&&(r.fileManager=i);const o=Wc(n);o!==void 0&&(r.resourceProxy=o);const s=Yc(n);s&&Object.keys(s).length>0&&(r.resourceProxyPolicy=s);const d=Xc(n);d!==void 0&&(r.backendProxy=d);const l=Jc(n);return l&&Object.keys(l).length>0&&(r.backendProxyPolicy=l),r}var Zc=["backendProxy","backendProxyPolicy","resourceProxy","resourceProxyPolicy"];function Er(e){return e==="server"?"serverSide":e}function eu({env:e,base:t={},budgetMs:n}){const r={base:t,profile:{},serverSide:{},user:{},local:{},advancedConfigs:{}},i=Me();let o={kind:"pending"},s;const d=new Promise(b=>{s=b}),l=n===void 0?void 0:setTimeout(()=>{u({kind:"absent",reason:`серверный слой не пришёл за ${n} мс`})},n);function f(){o.kind!=="pending"&&i.set(xt(r,e))}function u(b){if(o.kind!=="pending")return;clearTimeout(l),o=b;const E=xt(r,e);i.set(E),s(E)}function v(b,E){r[Er(b)]=E,b==="server"&&o.kind==="pending"?u({kind:"applied"}):f()}return{watch:b=>i.watch(b),select:b=>i.select(b),get:()=>i.get(),ready:()=>d,state:()=>o,layers:()=>({...r}),bootstrap(){const b=xt(r,e);return Object.fromEntries(Zc.map(E=>[E,b[E]]))},merge(b,E){v(E,{...r[Er(E)],...b})},replace(b,E){v(E,b)},setMode(b){r.user={...r.user,mode:b},f()},setAdvancedConfigs(b){r.advancedConfigs=b,f()},serverAbsent(b){u({kind:"absent",reason:b})},applyServerResponse(b){o.kind==="pending"&&v("server",{...r.serverSide,...b})},dispose(){clearTimeout(l)}}}var tu=5e3;function nu(){return{...vo("pro")?.config,mergeTags:void 0}}function ru(e,t){e.getInstance(oe)?.watch(n=>{t.setAdvancedConfigs({...n.advancedConfigs,...n.config?.advancedConfigs}),t.replace(n.config??{},"user")})}function iu(e,t){let n;Ki(e).watch(({profile:r})=>{const i=`${r?.theme??""}|${r?.locale??""}`;if(i===n)return;n=i;const o={};r?.theme&&(o.theme=r.theme),r?.locale&&(o.locale=r.locale),t.replace(o,"profile")})}function ou(e,t){let n=null;const r=qc(i=>{const o=typeof i=="string"&&i?i:void 0;o!==n&&(n=o,t.replace(o?{theme:o}:{},"local"))});e.getInstance(N)?.addDisposable(r)}async function su(e,t){if(e.getInstance(Tn)===void 0){t.serverAbsent("app_init не зарегистрирован");return}try{const n=await e.getInstanceAsync(Pe);t.applyServerResponse(n?.app_config??{})}catch(n){t.serverAbsent(`app_init не выполнился: ${String(n)}`)}}function au(e){e.injectFactory(we,(t,n)=>{if(n)return n;const r=eu({base:nu(),env:{modeDefaults:i=>vo(i)?.config||{},fallbackMode:localStorage.getItem("configSwither")||void 0},budgetMs:tu});return ru(e,r),iu(e,r),ou(e,r),su(e,r),e.getInstance(N)?.addDisposable(r),r},!0)}var Re=class extends Z{_event;_listener;_disposeEvent;constructor(e){super(),this._event=e}setListener(e){this._listener!==e&&(this._listener=e,this._disposeEvent&&this._disposeEvent(),e?this._disposeEvent=this._event(e):this._disposeEvent=void 0)}dispose(){this._disposeEvent&&this._disposeEvent(),super.dispose()}};function M(e,t,n){const r=rs(e);return(i,o,s)=>{const d=r(async l=>{const f=t?t(l):l;s&&i.bind(s);const u=await i(f);return n?n(u):u},o,s);return()=>d.dispose()}}var lu=class{deps;handleDestroy;constructor(e){this.deps=e;const t=new Jt;this.handleDestroy=M(t.event),e.lifetime.addDispose(()=>t.fire(e.getInstance()));const n=e.lifetime.addDisposable(new Re(this.handleDestroy));e.lifetime.addDisposable(t),e.lifetime.addDisposable(e.options.watch(({handleDestroy:r})=>n.setListener(r))),e.lifetime.addDispose(()=>e.release())}destroy(){if(!this.deps.lifetime.isDisposed())try{this.deps.lifetime.dispose()}catch{}}},kn=x("DestroyableService");function du(e){e.injectFactory(kn,()=>{const t=e.getInstance(N);if(!t)throw new Error("[plugin] время жизни экземпляра не зарегистрировано");return new lu({lifetime:t,options:e.getInstance(oe),getInstance:()=>e.getInstance(Et),release:()=>xs(e.getInstance(Cs)??e)})},!0)}function cu(e){const t=e.getInstance(kn);if(!t)throw new Error("[plugin] provideDestroyable не выполнен до сборки поверхности");return{handleDestroy:t.handleDestroy,destroy:()=>t.destroy()}}var uu=1e3;function bo(e,t,n=uu,r=0){if(r>n||e===t)return!0;if(typeof e!=typeof t||e===null||t===null)return!1;if(typeof e=="object"&&typeof t=="object"){if(Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;const i=Object.keys(e),o=Object.keys(t);if(i.length!==o.length)return!1;for(const s of i)if(!bo(e[s],t[s],n,r+1))return!1;return!0}return!1}function He(e,t){if(!e||typeof e!="object")return t;if(!t||typeof t!="object")return{};const n={};for(const r of Object.keys(t)){const i=t[r],o=e[r];bo(i,o)||(n[r]=i)}return n}var fu=class extends Error{timeoutMs;constructor(e){super(`[emailmaker] handleSaveEmail не ответил за ${e}ms — письмо не сохранено`),this.timeoutMs=e,this.name="IntegratorSaveTimeoutError"}},pu=({source:e,emailtags:t,group:n,tags:r,...i})=>i,mu=()=>Ai();async function hu({emails:e},t){const n=mu();let r;try{return await Promise.race([e.notifySave(t),new Promise((i,o)=>{r=setTimeout(()=>{const s=new fu(n);t.value.id,o(s)},n)})])}finally{r!==void 0&&clearTimeout(r)}}function gu(e){const{emails:t}=e,n=async(r,i)=>{const o=pu(i),s=r===void 0?void 0:await t.cache.getIfPresent(r),d=s?{...s,...o}:o,l=await hu(e,{prev:s,patch:s?He(s,o):o,value:d,source:i.source??""}),f=String(l.id??r??le()),u=l.id===void 0?{...l,id:f}:l;return await t.cache.addOrUpdate(f,()=>u)};return{async readEmail(r){return await t.get(r)??null},async createEmail(r){const i=await n(void 0,r);return i?.renderGuid?i:{...i,renderGuid:le()}},async updateEmail(r,i){return await n(r,i)}}}var Lt=20,vu=({source:e,emailtags:t,group:n,tags:r,...i})=>i;function bu({revisions:e,revisionsByEmail:t}){const n=async(r,i)=>(t.clear(),await t.get(r,{page:i}),(await e.cache.values()??[]).filter(o=>String(o?.parent)===String(r)));return{async readRevisions(r,i=1){const o=await n(r,i);return{revisions:o.slice(Lt*(i-1),Lt*i),page:i,hasMore:o.length>Lt*i}},async readAutosave(r){return za(await n(r,1))},async saveAutosave(r,i){const o=vu(i);return await e.create({...o,parent:r,modified:new Date().toString()})}}}var Eu=class extends Us{async execute([e],t){for(const n of t){const r=await n(e);r&&(r.id===void 0&&(r.id=e.value.id),e.value=r)}return e.value}},yu=class extends pe{};var yr=class extends Z{_items=new Map;_onChangeEmitter=new ws;async _getOrCreate(e,t){const n=this._items;let r;if(n.has(e))try{r=await n.get(e)}catch{t&&(r=await t())}else t&&(r=await t(),r&&this._onChangeEmitter.fire());return r}async _addOrUpdate(e,t){let n;const r=this._items;if(r.has(e))try{n=await r.get(e)}catch{}const i=await t(n);return pt(n,i)||this._onChangeEmitter.fire(),i}entries(){return Promise.all([...this._items.entries()].map(([e,t])=>t.then(n=>[e,n]))).then(e=>e.filter(([t,n])=>!!n))}values(){return Promise.all([...this._items.values()].map(e=>e).filter(e=>!!e))}getOrCreate(e,t){const n=this._getOrCreate(e,()=>t(e));return this._items.set(e,n),n}addOrUpdate(e,t){const n=this._addOrUpdate(e,t);return this._items.set(e,n),n}async getIfPresent(e){if(this._items.has(e))try{return await this._items.get(e)}catch{return}}add(e,t){const n=Promise.resolve(t);return this._items.set(e,n),n}remove(e){if(this._items.has(e)){const t=this._items.get(e);return this._items.delete(e),this._onChangeEmitter.fire(),t}return Promise.resolve(void 0)}async setAll(e){try{this.suspendChange();const t=[],n=new Set(Array.from(e).map(([i,o])=>i)),r=(await this.entries()).filter(([i,o])=>!n.has(i));for(const[i,o]of e)t.push(this.addOrUpdate(i,()=>o)),n.add(i);for(const[i]of r)t.push(this.remove(i));return await Promise.all(t),r}finally{this.resumeChange()}}clear(){this._items.clear(),this._onChangeEmitter.fire()}suspendChange(){this._onChangeEmitter.suspend()}resumeChange(){this._onChangeEmitter.resume()}onChange=this._onChangeEmitter.event};function _u(e,{filter:t,order:n="asc",orderBy:r,page:i,pageSize:o=20}={}){const s=e.length;let d=e.length;if(t!==void 0){const l=Object.keys(t);e=e.filter(f=>{for(const u of l){const v=f[u],b=t[u];return u==="id"||typeof v!="string"?v===b:typeof b=="string"&&v.startsWith(b)}return!0}),d=e.length}return r&&(e=e.sort((l,f)=>(l[r]>f[r]?1:f[r]>l[r]?-1:0)*(n==="asc"?1:-1))),i!==void 0&&(e=e.slice(o*(i-1),o*i)),{data:e,filteredTotal:d,total:s,totalPages:Math.ceil(d/o)}}function wu(e=[]){if(e=e.filter(n=>n),e.length<=1)return e[0];const t=new Map;for(const n of e)for(const r of n)if(r.id!==void 0){const i=t.get(r.id)||{};t.set(r.id,{...i,...r})}return[...t].map(([n,r])=>r)}function Su(e,t){return _r(e)&&_r(t)?String(e)===String(t):e===t}function _r(e){return typeof e=="string"||typeof e=="number"}var Iu=class extends Z{_cache=new yr;_readEmitter=new pe;_saveEmitter=this.addDisposable(new Eu);_removeEmitter=this.addDisposable(new yu);_foreignCache=Object.create(null);async get(e){return this._cache.getOrCreate(e,async t=>Object.assign({id:e},...(await this._readEmitter.fire(e)).filter(n=>!!n)))}get cache(){return this._cache}byForeignKey(e){let t=this._foreignCache[e];if(!t){const n=this.addDisposable(new Z);n.addDispose(()=>delete this._foreignCache[e]);const r=n.addDisposable(new yr),i=n.addDisposable(new pe);t=this._foreignCache[e]={get:async(o,s={})=>{await r.getOrCreate(o,async()=>{try{const l=wu(await i.fire(o))||[];for(const f of l)f[e]=o,await this._cache.add(f.id,f);return l}catch{return[]}});const d=(await this._cache.values()||[]).filter(l=>{const f=l[e];return f==null||Su(f,o)});return _u(d,s)},first(o,s={}){return t.get(o,{...s,page:1,pageSize:1}).then(({data:d})=>d[0])},handleRead:i.event,clear(){r.clear()},dispose(){n.dispose()}}}return t}async create(e,{source:t="",silent:n}={}){let r=e;return n||(r=await this._saveEmitter.fire({prev:void 0,patch:e,value:r,source:t})),r.id===void 0&&(r.id=le()),await this._cache.addOrUpdate(r.id,()=>r)}notifySave(e){return this._saveEmitter.fire(e)}async update(e,t,{source:n="",silent:r}={}){return this._cache.addOrUpdate(e,async i=>{const o=i?{...i,...t}:t;if(!r)return t=i?He(i,t):t,await this._saveEmitter.fire({prev:i,patch:t,value:o,source:n})})}async remove(e,{source:t="",silent:n}={}){const r=await this._cache.remove(e);return n||await this._removeEmitter.fire({value:r,source:t}),r}refresh(){this._cache.clear();for(const e of Object.values(this._foreignCache))e.clear()}suspendChange(){this._cache.suspendChange()}resumeChange(){this._cache.resumeChange()}handlerRead=this._readEmitter.event;onSave=this._saveEmitter.event;onRemove=this._removeEmitter.event;onChange=this._cache.onChange};function Xe(e){const t=x(e);return n=>n.getOrCreateInstance(t,()=>new Iu)}function Tu(e){const t=e.getInstance(N);if(!t)throw new Error("Failed");return t}function wr(e){return Object.prototype.hasOwnProperty.call(e,"meta")}function Au(e,t,n){return e&&!wr(t)&&wr(e)?{...n,meta:e.meta}:n}var Eo=Xe("plugin.dataSource.emails"),yo=Xe("plugin.dataSource.emailRevisions"),Sr=x("emailDocuments.provided");function Cu(e){const t=Eo(e),n=yo(e),r=n.byForeignKey("parent");return e.getInstance(Sr)?{emails:t,emailRevisions:n}:(e.inject(Sr,!0),ul(e,gu({emails:t})),hl(e,bu({revisions:n,revisionsByEmail:r})),Tu(e).addDisposable(t.onSave(({prev:i,patch:o,value:s})=>Au(i,o,s),Number.MIN_VALUE)),{emails:t,emailRevisions:n})}function Ir(e,t){return!e?.data||!t||e.id!==t.locale?!1:t.contentHash?e.hash===t.contentHash:t.updatedAt>0&&t.updatedAt<=e.time}function Ru(e){try{return localStorage.getItem(e)===null?!1:(localStorage.removeItem(e),!0)}catch{return!1}}var Pu="po",ot=null;function Du(){const e=typeof window.__emailmaker__<"u"?window.__emailmaker__?.require:void 0;return typeof e!="function"?Promise.reject(new Error("[loadPoParser] AMD loader is unavailable")):new Promise((t,n)=>{e([Pu],r=>t(r),r=>n(r instanceof Error?r:new Error("[loadPoParser] Failed to require po module")))})}function Ou(){return ot===null&&(ot=Du().catch(e=>{throw ot=null,e})),ot}async function _o(e){if(typeof e=="object")return Nn(e);if(typeof e!="string")return;const t=e.trim();if(t)return t.startsWith("{")||t.startsWith("[")?xu(t):Lu(t)}function Nn(e){if(!(e==null||typeof e!="object"||Array.isArray(e)))return e}function xu(e){try{return Nn(JSON.parse(e))}catch{return}}var Tr=!1;async function Lu(e){try{return Nn((await Ou()).parsePoCatalog(e))}catch{Tr||(Tr=!0);return}}var Mu="em_locale",ku="em_ant_locale",Nu="locale",Fu="ant_locale";function Fn(e){try{return JSON.parse(localStorage.getItem(e)||"")}catch{return null}}function wo(e,t){const n=Fn(e);if(!n)return null;try{localStorage.removeItem(e),localStorage.setItem(t,JSON.stringify(n))}catch{}return n}function ju(){return Fn("em_locale")??wo(Nu,"em_locale")}function Ar(e){try{localStorage.setItem(Mu,JSON.stringify(e))}catch{}}function Bu(){return Fn("em_ant_locale")??wo(Fu,"em_ant_locale")}function Uu(e,t){try{localStorage.setItem(ku,JSON.stringify({id:e,data:t}))}catch{}}var Hu=8e3;function Gu(e,t){const n=e,r=t,i=Object.keys(n).filter(o=>o!=="");return i.length!==Object.keys(r).filter(o=>o!=="").length?!1:i.every(o=>JSON.stringify(n[o])===JSON.stringify(r[o]))}function qu(e){const t=ju(),n=Bu();let r={ready:!1},i;const o=Me(r);let s=0;const d=y=>{r={...r,...y},o.set(r)},l=()=>{r.ready||d({ready:!0})},f=setTimeout(l,e.unlockAfterMs??Hu),u=y=>y!==s;let v;async function b(y,w){if(n?.id===y&&n.data&&d({antd:n.data}),!v)return;const S=await v(y).catch(()=>{});!S||u(w)||(d({antd:S}),Uu(y,S))}async function E(y,w){const S=await e.askHost(y).catch(()=>null);if(u(w))return!0;if(S==null)return!1;const A=await _o(S);return u(w)||(A&&d({catalog:A}),l()),!0}async function I(y,w){const S=await e.readList();if(u(w))return;if("error"in S){d({failure:{kind:"GET_LOCALES_ERROR",error:S.error}}),l();return}const A=S.data.find(c=>c.locale===y);if(!A){Ru("em_locale")&&d({catalog:void 0}),l();return}if(Ir(t,A)&&(!i||i.catalog===t?.data)){l();return}if(i?.entry&&r.catalog===i.catalog&&Ir(i.entry,A)){Ar(i.entry),l();return}const m=await e.readCatalog(y);if(!u(w)){if("error"in m){d({failure:{kind:"GET_LOCALE_ERROR",error:m.error}}),l();return}m.data&&(i?.id===y&&r.catalog===i.catalog&&Gu(i.catalog,m.data)||d({catalog:m.data}),Ar({id:y,time:A.updatedAt||Math.floor(Date.now()/1e3),hash:A.contentHash,data:m.data})),l()}}async function g(y,w){if(!await E(y,w)){if(!u(w)&&(i?.id===y&&r.catalog===i.catalog||y==="en_US")&&l(),e.canUseNetwork&&!e.canUseNetwork()){l();return}await I(y,w)}}return{set(y){if(!y||y===r.id)return;const w=s+=1;d({id:y,failure:void 0});const S=i?.id===y&&r.catalog===i.catalog;(i&&!S&&r.catalog===i.catalog||y==="en_US"&&r.catalog)&&d({catalog:void 0}),t?.id===y&&t.data&&(d({catalog:t.data}),l()),b(y,w),g(y,w)},prime(y,w,S){r.id||r.catalog||!w||(i=t?.id===y&&t.data&&(!S||t.time>=S.time)?{id:y,catalog:t.data}:{id:y,catalog:w,entry:S?{id:y,time:S.time,hash:S.hash,data:w}:void 0},d({catalog:i.catalog}))},useAntdLoader(y){v=y,r.id&&b(r.id,s)},state:o,snapshot:()=>r,dispose:()=>clearTimeout(f)}}var $u=class{http;constructor(e){this.http=e}jsonList=({locale:e},t={})=>this.http.request({path:`/translations/${e}.json`,method:"GET",format:"json",...t});getTranslations=({locale:e},t={})=>this.http.request({path:`/translations/${e}.po`,method:"GET",...t});localesList=(e={})=>this.http.request({path:"/translations/locales",method:"GET",format:"json",...e})},zu=class{baseUrl="/api/v2";securityData=null;securityWorker;abortControllers=new Map;customFetch=(...e)=>fetch(...e);baseApiParams={credentials:"same-origin",headers:{},redirect:"follow",referrerPolicy:"no-referrer"};constructor(e={}){Object.assign(this,e)}setSecurityData=e=>{this.securityData=e};encodeQueryParam(e,t){return`${encodeURIComponent(e)}=${encodeURIComponent(typeof t=="number"?t:`${t}`)}`}addQueryParam(e,t){return this.encodeQueryParam(t,e[t])}addArrayQueryParam(e,t){return e[t].map(n=>this.encodeQueryParam(t,n)).join("&")}toQueryString(e){const t=e||{};return Object.keys(t).filter(n=>typeof t[n]<"u").map(n=>Array.isArray(t[n])?this.addArrayQueryParam(t,n):this.addQueryParam(t,n)).join("&")}addQueryParams(e){const t=this.toQueryString(e);return t?`?${t}`:""}contentFormatters={"application/json":e=>e!==null&&(typeof e=="object"||typeof e=="string")?JSON.stringify(e):e,"application/vnd.api+json":e=>e!==null&&(typeof e=="object"||typeof e=="string")?JSON.stringify(e):e,"text/plain":e=>e!==null&&typeof e!="string"?JSON.stringify(e):e,"multipart/form-data":e=>e instanceof FormData?e:Object.keys(e||{}).reduce((t,n)=>{const r=e[n];return t.append(n,r instanceof Blob?r:typeof r=="object"&&r!==null?JSON.stringify(r):`${r}`),t},new FormData),"application/x-www-form-urlencoded":e=>this.toQueryString(e)};mergeRequestParams(e,t){return{...this.baseApiParams,...e,...t||{},headers:{...this.baseApiParams.headers||{},...e.headers||{},...t&&t.headers||{}}}}createAbortSignal=e=>{if(this.abortControllers.has(e)){const n=this.abortControllers.get(e);return n?n.signal:void 0}const t=new AbortController;return this.abortControllers.set(e,t),t.signal};abortRequest=e=>{const t=this.abortControllers.get(e);t&&(t.abort(),this.abortControllers.delete(e))};request=async({body:e,secure:t,path:n,type:r,query:i,format:o,baseUrl:s,cancelToken:d,...l})=>{const f=(typeof t=="boolean"?t:this.baseApiParams.secure)&&this.securityWorker&&await this.securityWorker(this.securityData)||{},u=this.mergeRequestParams(l,f),v=i&&this.toQueryString(i),b=this.contentFormatters[r||"application/json"],E=o||u.format;return this.customFetch(`${s||this.baseUrl||""}${n}${v?`?${v}`:""}`,{...u,headers:{...u.headers||{},...r&&r!=="multipart/form-data"?{"Content-Type":r}:{}},signal:(d?this.createAbortSignal(d):u.signal)||null,body:typeof e>"u"||e===null?null:b(e)}).then(async I=>{const g=I;g.data=null,g.error=null;const y=E?I.clone():I,w=E?await y[E]().then(S=>(g.ok?g.data=S:g.error=S,g)).catch(S=>(g.error=S,g)):g;return d&&this.abortControllers.delete(d),w})}},Vu=x("rest.v2.transport"),Cr=Symbol("rest.v2.secureRequest");function Ku(e){return e.getOrCreateInstance(Vu,()=>{const t=e.getInstance(ai)?.execute||fetch;return new zu({baseUrl:"https://app.emailmaker.ru/api/v2",securityWorker:()=>({[Cr]:!0}),customFetch:(n,r={})=>{const{[Cr]:i,...o}=r;return t(n,{...o,[ds]:i!==!0})}})})}function Wu(e,t){const n=Ku(e);return Object.assign({},...t.map(r=>new r(n)))}function Rr(e,t){if(e!=null&&typeof e=="object"){const n=e[t];if(typeof n=="string"&&n!=="")return n}}function So(e){const t=e.error,n=t?.error;return n&&typeof n=="object"?{status:e.status,data:{code:Rr(n.details,"wp_code")??n.code,message:Rr(n.details,"wp_message")??n.message,details:n.details}}:t&&typeof t=="object"?{status:e.status,data:t}:{status:e.status,data:{message:e.statusText||"request failed"}}}function Io(e){return!e.ok||!!e.error}function Yu(e){try{const t=localStorage.getItem(e);if(t==="true")return!0;if(t==="false")return!1}catch{}}function To(){return Yu(bt.em_translations_v2)??!0}function Xu(e){return typeof e=="number"&&Number.isFinite(e)?e:0}function Ju(e){const t=e?Date.parse(e):NaN;return Number.isNaN(t)?0:Math.floor(t/1e3)}function Qu(e){return Array.isArray(e)?e.reduce((t,n)=>{const r=Array.isArray(n)?n:[],i=r[0];return typeof i=="string"&&i!==""&&t.push({locale:i,updatedAt:Xu(r[1])}),t},[]):[]}function Zu(e){return(e?.items??[]).reduce((t,n)=>(n.locale&&t.push({locale:n.locale,updatedAt:Ju(n.updated_at),contentHash:n.content_hash}),t),[])}function Ao(e){return Wu(e,[$u])}function vt(e){return{error:{status:"FETCH_ERROR",error:e instanceof Error?e.message:"locale request failed"}}}function dn(e){return!e.ok||e.error!=null}function cn(e){const t=e.error;return{error:{status:e.status,data:t?.data??e.error}}}async function Mt(e){return{data:await _o(e)??null}}async function ef(e){if(To())try{const n=await Ao(e).localesList();return Io(n)?{error:So(n)}:{data:Zu(n.data)}}catch(n){return vt(n)}const t=ci(e,[vi]);try{const n=await t.get_translations2({file:"react_app"});return dn(n)?cn(n):{data:Qu(n.data)}}catch(n){return vt(n)}}async function tf(e,t){if(To())try{const r=await Ao(e).jsonList({locale:t});return Io(r)?{error:So(r)}:Mt(r.data)}catch(r){return vt(r)}const n=ci(e,[vi]);try{const r=await n.get_translations3({id:t,file:"react_app"});return dn(r)?cn(r):Mt(r.data)}catch{try{const r=await n.get_translations3({id:"en_US",file:"react_app"});return dn(r)?cn(r):Mt(r.data)}catch(r){return vt(r)}}}var $e=x("locale.service");function nf(e){if(e.getInstance($e))return;const t=qu({readList:()=>ef(e),readCatalog:n=>tf(e,n),askHost:async n=>(await ie(e,F.READ_LOCALE).fire(n))[0],canUseNetwork:()=>!e.getInstance(me)});e.inject($e,t),e.getInstance(N)?.addDispose(()=>t.dispose())}function rf(e){const t=e.getInstance(we);if(!t)return;const n=e.getInstance($e);if(!n)return;const r=t.select(i=>i.locale).watch(i=>n.set(i));e.getInstance(N)?.addDisposable(r)}var of="user_id",sf="project_id",Pr=x("rest.identityHeadersProvided");function af(e){if(e.getInstance(Pr))return;e.inject(Pr,!0);let t;e.getInstance(oe)?.watch(n=>{t=n}),e.addService(_n,{execute(n,r){if(r?.public)return;const i=t?.user?.id??Wi(e).profile?.id;i!=null&&i!==""&&n.headers.set(of,String(i));const o=t?.project;o!=null&&o!==""&&n.headers.set(sf,String(o))}})}function lf(e){if(!e)return!1;try{return e.getInstance(me)!==void 0}catch{return!1}}var df="Invalid standaloneKey.",wh=x("StandaloneMockGuard");function cf(){const e=new Error(df);return e.name="InvalidStandaloneKeyError",e}function uf(e){e.addService(_n,{execute:()=>{if(lf(e))throw cf()}})}function ff(e){_s(e),uf(e)}function pf(e){const t=new lo;e.inject(De,t);let n;const r=e.getInstance(oe)?.watch(o=>{o&&(o.signal!==void 0&&(n=o.signal),t.configure({replaceSession:!0,...o.timeouts!==void 0?{timeouts:o.timeouts}:{},...n!==void 0?{signal:n}:{}}))}),i=e.getInstance(N);r&&i?.addDisposable(r),i?.addDispose(()=>{t.abort()})}var mf=Xe("plugin.dataSource.blocks"),hf=Xe("plugin.dataSource.blockRevisions"),gf=Xe("plugin.dataSource.comments"),vf=ao(),bf=ao(),Co=`<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
1003
+ `));return{html:Pd(t.html),hasBrowserExtensionArtifacts:t.found}}function ln(e){return e?.getContent()??""}function po(e,t){e?.mutate({content:Ni(t)},{source:"remote"})}function mo(e){return L(e)}function oe(e,t){return e.getOrCreateInstance(t,()=>new pe)}function K(e,t){return e.getOrCreateInstance(t,()=>new pe).event}function dn(e,t,n,r){return{html:e,guid:t,...Object.keys(n).length>0?{templateDirectivesPolicy:n}:{},...r!==void 0?{rev:r}:{}}}var Dd=class extends Error{showId;constructor(e,t){super(`[emailmaker] show() timed out after ${t}ms waiting for editor init (showId=${e}). Check earlier console errors: wrong host-plugin publicPath (chunks return HTML), mount element removed without destroy(), or sandbox init never completed. Search for [show-pipeline] and [AMD] messages.`),this.name="ShowPipelineTimeoutError",this.showId=e}},Od=class{_activeRequest=null;_pending=new Map;_listeners=new Set;getActiveShowRequest(){return this._activeRequest}onShowRequested(e){return this._listeners.add(e),()=>{this._listeners.delete(e)}}requestShow(e,t,n){return this._rejectPending(Z("Superseded by newer show()")),n.aborted?Promise.reject(Z(n.reason)):(this._activeRequest=e,new Promise((r,i)=>{const o=setTimeout(()=>{this._settle(e.showId,()=>{i(new Dd(e.showId,t))})},t);o.unref?.();const s=()=>{this._settle(e.showId,()=>{i(Z(n.reason))})};n.addEventListener("abort",s,{once:!0});const d=()=>{clearTimeout(o),n.removeEventListener("abort",s)};this._pending.set(e.showId,{request:e,resolve:r,reject:i,timeoutId:o,dispose:d});for(const a of this._listeners)a(e)}))}completeShow(e){this._settle(e,t=>{t.resolve()})}hasPendingShow(e){return this._pending.has(e)}failShow(e,t){this._settle(e,n=>{n.reject(t)})}rejectAll(e){this._rejectPending(e),this._activeRequest=null}_settle(e,t){const n=this._pending.get(e);n&&(n.dispose(),this._pending.delete(e),this._activeRequest?.showId===e&&(this._activeRequest=null),t(n))}_rejectPending(e){for(const[,t]of this._pending)t.dispose(),t.reject(e);this._pending.clear()}};function xd(e,t){return{contentReady:t.contentReady??e?.contentReady,sandboxReady:t.sandboxReady??e?.sandboxReady,sandbox:t.sandbox?{...e?.sandbox,...t.sandbox}:e?.sandbox}}function Ld(e){if(!e||!(e.contentReady!==void 0||e.sandboxReady!==void 0||e.sandbox!==void 0))return;const t=Pi(e),n=Di(e),r=Ca(e.sandbox);t<n+r}var ho=class{_controller=new AbortController;_externalSignalDisposable=new ee;_sessionChangeListeners=new Set;_showRegistry=new Od;_timeouts;_generation=0;_sessionStarted=!1;get signal(){return this._controller.signal}get generation(){return this._generation}get contentReadyTimeoutMs(){return Pi(this._timeouts)}getSandboxTimeoutMs(e){return Ri(e,this._timeouts?.sandbox)}getSandboxReadyTimeoutMs(){return Di(this._timeouts)}bumpGeneration(){this._generation+=1}getActiveShowRequest(){return this._showRegistry.getActiveShowRequest()}onShowRequested(e){return this._showRegistry.onShowRequested(e)}requestShow(e){return this._showRegistry.requestShow(e,this.contentReadyTimeoutMs,this._controller.signal)}completeShow(e){this._showRegistry.completeShow(e)}hasPendingShow(e){return this._showRegistry.hasPendingShow(e)}failShow(e,t){this._showRegistry.failShow(e,t)}rejectAllPendingShows(e){this._showRegistry.rejectAll(e)}onSessionReplaced(e){return this._sessionChangeListeners.add(e),()=>{this._sessionChangeListeners.delete(e)}}configure(e){e.timeouts!==void 0&&(this._timeouts=xd(this._timeouts,e.timeouts),Ld(this._timeouts));const t=e.replaceSession===!0||!this._sessionStarted||e.timeouts!==void 0||e.signal!==void 0;this._sessionStarted=!0,t&&(this._replaceSessionController(),this.bumpGeneration()),(e.signal!==void 0||t)&&this._linkExternalSignal(e.signal)}abort(e){const t=e??Z("Editor instance destroyed");this._showRegistry.rejectAll(t),this._controller.signal.aborted||(this._controller.abort(t),this.bumpGeneration()),this._externalSignalDisposable.dispose(),this._externalSignalDisposable=new ee}_replaceSessionController(){this._externalSignalDisposable.dispose(),this._externalSignalDisposable=new ee,this._showRegistry.rejectAll(Z("Init session replaced")),this._controller.signal.aborted||this._controller.abort(Z("Init session replaced")),this._controller=new AbortController,this._emitSessionReplaced()}_emitSessionReplaced(){for(const e of this._sessionChangeListeners)e()}_linkExternalSignal(e){if(!e)return;if(e.aborted){this._controller.signal.aborted||(this._controller.abort(e.reason??Z()),this.bumpGeneration());return}const t=()=>{this._controller.signal.aborted||(this._controller.abort(e.reason??Z()),this.bumpGeneration())};e.addEventListener("abort",t),this._externalSignalDisposable.addDispose(()=>{e.removeEventListener("abort",t)})}},Un=(()=>{const e=new ho;return e.configure({}),e})(),Md=class extends Error{label;timeoutMs;constructor(e){super(`[sandbox:ready] iframe handshake timed out after ${e}ms`),this.name="SandboxReadyTimeoutError",this.label="sandbox:ready",this.timeoutMs=e}};function kd(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.isInited=="function"&&typeof t.getTarget=="function"&&typeof t.onInit=="function"}function Nd(e,t,n){return e.isInited()&&e.getTarget()?Promise.resolve():($(n),new Promise((r,i)=>{let o=!1,s,d;const a=u=>{o||(o=!0,s!==void 0&&(clearTimeout(s),s=void 0),d?.dispose(),n?.removeEventListener("abort",f),u())},f=()=>{a(()=>i(Z(n?.reason)))};if(d=e.onInit(()=>{e.isInited()&&e.getTarget()&&a(()=>r())}),e.isInited()&&e.getTarget()){a(()=>r());return}t>0&&(s=setTimeout(()=>{a(()=>i(new Md(t)))},t)),n?.addEventListener("abort",f)}))}var Fd=class extends Error{label;timeoutMs;constructor(e,t){super(`[${e}] timed out after ${t}ms`),this.name="OperationTimeoutError",this.label=e,this.timeoutMs=t}};function jd(e,t,n){return t<=0?e:new Promise((r,i)=>{let o=!1,s;const d=a=>{o||(o=!0,s!==void 0&&(clearTimeout(s),s=void 0),a())};s=setTimeout(()=>{d(()=>i(new Fd(n,t)))},t),e.then(a=>{d(()=>r(a))},a=>{d(()=>i(a))})})}var Bd=2,st=Symbol("sandbox:frame-replaced");function de(e,t,n,r,i,o,s){const d=`sandbox:${t}`,a=o?.getSandboxTimeoutMs(t)??kn[t],f=()=>{let I=jd(e.sendAsync(n,r),a,d);return I=pt(I,o?.signal),He(d,I,i)};if(t==="INIT_START"&&kd(e)){const I=o?.getSandboxReadyTimeoutMs()??2e4,g=e,y=_=>{const S=Nd(g,I,o?.signal);return He("sandbox:INIT_START:ready-wait",S,i).then(()=>{if(!s||_<=0)return f();const A=s.getGeneration();let m;const c=new Promise((p,h)=>{m=s.onChange(()=>{s.getGeneration()!==A&&h(st)})}),l=f();return l.catch(()=>{}),Promise.race([l,c]).finally(()=>m?.()).catch(p=>{if(p!==st)throw p;return{...i},y(_-1)})})};return y(Bd)}if(!s)return f();const u=s.getGeneration();let v;const b=new Promise((I,g)=>{v=s.onChange(()=>{s.getGeneration()!==u&&g(st)})}),E=f();return E.catch(()=>{}),Promise.race([E,b]).finally(()=>v?.()).catch(I=>{throw I===st&&{...i},I})}var Ud=[["brace-percent",/<!--\{%/],["brace-hash",/<!--\{#/],["proscript",/<!--\[%/],["getresponse",/<!--\[\[(?:if|else\]\]|endif\]\])/i],["mailchimp",/<!--\*\|/],["expert-sender",/<!--<\/?(?:if|else|var)/i]],Hd=200;function Gd(e=new Set){const t=new Set;return(n,r)=>{if(!Ud.some(([o,s])=>!e.has(o)&&s.test(n)))return;const i=r??`new:${n.length}:${n.slice(0,200)}`;t.has(i)||(t.size>=Hd&&t.clear(),t.add(i))}}function qd(){return{isConfigured:()=>!1,toEditorForm:e=>e,toOutputForm:e=>e,keepWrappedOnOutput:new Set,editorPolicy:{},warnAboutUnconfiguredInput:Gd()}}var $d=qd();function ke(e){return e?.getInstance(js)??$d}function zd(e){const t=ve(e),n=X(e),r=()=>e.getInstance(De)??Un;let i,o,s=!1,d=!1;const a=async(S,A,m)=>{const c=m.generation,l=()=>m.generation!==c||m.signal.aborted||t.current()!==S||d,p=ue(n);s=!0;try{if(await de(n,"INIT_START",F.SANDBOX_INIT_START,{guid:A},void 0,m),l())return;const{html:h,hasBrowserExtensionArtifacts:w}=fo(ln(S));if(w&&oe(e,B.ON_BROWSER_EXTENSION_DETECTED_ID).fire(),po(S,h),await de(n,"SET_ENTITY",F.SANDBOX_SET_ENTITY,dn(ln(S),A,ke(e).editorPolicy,S.get().version),void 0,m),l())return;await de(n,"INITED",F.SANDBOX_INITED,{guid:A},void 0,m),i=A,o=p}finally{s=!1}},f=()=>he(t.sessionKey())?t.current():void 0,u=()=>{if(d||s)return;const S=f(),A=S?.get().docId;if(!S||!A||i===A&&o===ue(n)||!S.isReady())return;const m=r();m.signal.aborted||a(S,A,m).catch(()=>{})};let v=!1;const b=()=>{v||d||(v=!0,queueMicrotask(()=>{v=!1,u()}))};let E,I;const g=()=>{const S=f(),A=S?.get().docId;A!==I&&(E?.(),I=A,E=S?.subscribe(b)),b()},y=t.subscribe(g),_=lo(n,b);g(),e.getInstance(j)?.addDispose(()=>{d=!0,_(),E?.(),y()})}var Vd=200;function Kd({startVersion:e,limit:t=Vd}){let n=[],r=e;const i=o=>{n=n.filter(s=>s.version>o),r=Math.max(r,o)};return{record(o){!o.changes?.length&&!o.contentReplaced||(n.push(o),n.length>t&&i(n[n.length-t-1].version))},rebase(o,s){if(s<r)return null;const d=n.filter(f=>f.version>s);i(s);let a=o;for(const f of d){if(f.fromCanvas||f.contentReplaced||!f.changes)return null;const u=f.changes,v=[];for(const b of a){const E=ja(b.range,u,"after");if(!E)return null;v.push({range:E,text:b.text})}a=v}return a}}}function Wd(e,t){let n=0;return e.map(({start:r,end:i,text:o})=>{const s=new ie(r,t.slice(r,i),r+n,o);return n+=o.length-(i-r),s})}function Yd(e,t){const n=[...e].sort((r,i)=>r.range.start-i.range.start);return Wd(n.map(({range:r,text:i})=>({start:r.start,end:r.end,text:i})),t)}function Xd(e){return[...e].sort((t,n)=>n.oldPosition-t.oldPosition).map(t=>({range:{start:t.oldPosition,end:t.oldEnd},text:t.newText}))}var Hn=L("canvas.sandboxFill");function go(e){return e.getInstance(Hn)?.pipeline.isEventsLocked()===!0}function Lt(e){wt(e,{origin:"canvas-channel"})}function Jd(e){const t=ve(e),n=X(e);let r;const i=(a,f)=>{const u=a.get().docId;let v=!1,b=null,E=null;const I=Kd({startVersion:a.get().version});let g=a.getContent();const y=async(c,l)=>{if(E){E.push({edits:c,rev:l});return}E=[{edits:c,rev:l}];try{do{const p=E.splice(0,E.length);await n.sendAsync(F.SANDBOX_UPDATE_ENTITY,{edits:p.map(h=>h.edits),guid:u,rev:p[p.length-1].rev})}while(E.length)}finally{E=null}},_=(c,l)=>{const p=E?.splice(0,E.length)??[];p.length&&n.sendAsync(F.SANDBOX_UPDATE_ENTITY,{edits:p.map(h=>h.edits),guid:u,rev:p[p.length-1].rev}).catch(Lt),n.sendAsync(F.SANDBOX_UPDATE_ENTITY,{edits:[c],guid:u,rev:a.get().version,...l!==null?{changeId:l}:{}}).catch(Lt)},S=c=>{const{guid:l,pushUndoStop:p}=c;if(l!==u)return;const h=Ya(c);let{edits:w}=c;if(h.baseRev!==null){const O=I.rebase(w,h.baseRev);if(!O){wt(new Error("canvas batch conflicts with newer document changes"),{origin:"canvas-channel"}),_([],h.changeId);return}w=O}const T=a.get().version;try{v=!0,b=h.changeId;const O=Yd(w,a.getContent());p===!1?f.applyWithoutHistory(O):a.mutate({changes:O},{source:go(e)?"system":"user"})}finally{v=!1,b=null}a.get().version===T&&h.baseRev!==null&&_([],h.changeId)},A=a.subscribe(({changes:c,version:l})=>{const p=a.getContent(),h=!c?.length&&p!==g;if(g=p,I.record({version:l,changes:c,contentReplaced:h,fromCanvas:v}),!c?.length)return;const w=Xd(c);v?_(w,b):y(w,l).catch(Lt)}),m=n.addListener(F.APPLICATION_UPDATE_ENTITY,S);return()=>{A(),m.dispose()}};let o;const s=()=>{const a=t.current(),f=t.history(),u=a?.get().docId;u!==o&&(r?.(),r=void 0,o=u,a&&f&&(r=i(a,f)))},d=t.subscribe(s);s(),e.getInstance(j)?.addDispose(()=>{r?.(),d()})}var Qd=300,Zd=15e3,_r="em-canvas-busy-style";function ec(){if(document.getElementById(_r))return;const e=document.createElement("style");e.id=_r,e.textContent="@keyframes em-canvas-busy-spin{to{transform:rotate(360deg)}}",document.head.appendChild(e)}function tc(e){const t=e.getBoundingClientRect(),n=document.createElement("div");return n.setAttribute("aria-busy","true"),Object.assign(n.style,{position:"fixed",left:`${t.left}px`,top:`${t.top}px`,width:`${t.width}px`,height:`${t.height}px`,cursor:"progress",display:"flex",alignItems:"center",justifyContent:"center"}),e.appendChild(n),{showSpinner(){ec(),n.style.background="rgba(128, 128, 128, 0.15)";const r=document.createElement("div");Object.assign(r.style,{width:"32px",height:"32px",borderRadius:"50%",border:"3px solid rgba(128, 128, 128, 0.35)",borderTopColor:"rgba(80, 80, 80, 0.9)",animation:"em-canvas-busy-spin 0.8s linear infinite"}),n.appendChild(r)},remove:()=>n.remove()}}var nc=8e3;function rc(){return{element:document.createElement("iframe"),ready:()=>Promise.reject(new Error("[canvas] нет элемента монтирования")),reload:()=>Promise.resolve(),reloadQuietly:()=>Promise.resolve(),scrollBy:()=>{},shown:!1,whenShown:()=>Promise.resolve(),alignTo:()=>{},resize:()=>{},dispose:()=>{}}}var ic=e=>{for(let t=e?.parentElement??null;t;t=t.parentElement){const n=getComputedStyle(t).overflowY;if(n==="auto"||n==="scroll"||n==="hidden")return t}return null};function oc(e,t,n,r,i){const o=n.readyTimeoutMs??nc,s=document.createElement("div");s.dataset.canvasHost=e,r&&(s.dataset.canvasPlace=r),s.style.position="fixed",s.style.overflow="hidden",s.style.visibility="hidden";const d=n.resolveSrc(e),a=document.createElement("iframe");a.setAttribute("sandbox",n.resolveSandbox(d)),a.setAttribute("allow","clipboard-read; clipboard-write"),a.setAttribute("title","Email content"),a.style.width="100%",a.style.border="0",a.style.display="block",a.style.minHeight="600px",a.src=d,s.appendChild(a),t.appendChild(s),n.mark?.("created"),i||n.onCreated?.(a);const f=new ee;let u=!1,v=!1,b,E,I,g;const y=()=>{clearTimeout(g),g=setTimeout(()=>{v||(v=!0,E?.(new Error(`[canvas] ${e}: документ не загрузился за ${o} мс`)))},o)},_=()=>u?(I=Promise.resolve(),v=!0,I):(v=!1,I=new Promise((M,G)=>{b=M,E=G}),y(),I),S=()=>{if(clearTimeout(g),u=!0,v){I=Promise.resolve();return}v=!0,n.mark?.("loaded"),b?.()};a.addEventListener("load",S),f.addDispose(()=>{clearTimeout(g),a.removeEventListener("load",S)});let A;const m=()=>{A??=n.bindResizer?.(a)};let c=null,l=null,p;const h=()=>{if(!c){s.style.visibility="hidden",a.removeAttribute("id");return}n.elementId&&(a.id=n.elementId);const M=c.getBoundingClientRect(),G=l?.isConnected?l:ic(c),H=G?G.getBoundingClientRect():null,Y=H?Math.max(M.top,H.top):M.top,be=H?Math.min(M.bottom,H.bottom):M.bottom,et=Math.max(0,be-Y);s.style.visibility=et>0?"visible":"hidden",s.style.left=`${M.left}px`,s.style.top=`${Y}px`,s.style.width=`${M.width}px`,s.style.height=`${et}px`,a.style.transform=`translateY(${M.top-Y}px)`};let w="",T="",O=0,k;const W=()=>{if(!c){k=void 0;return}k=window.requestAnimationFrame(W);const M=c.getBoundingClientRect(),G=l?.isConnected?l.getBoundingClientRect():void 0,H=`${Math.round(M.left)}:${Math.round(M.top)}:${Math.round(M.width)}:${Math.round(M.height)}:${G?`${Math.round(G.top)}:${Math.round(G.height)}`:"-"}`;H!==w&&(w=H,h());const Y=a.getBoundingClientRect().height;Y>0&&Y!==O&&(O=Y,c.style.height=`${Y}px`);const be=getComputedStyle(c).pointerEvents;be!==T&&(T=be,s.style.pointerEvents=be)},R=()=>{k===void 0&&c&&(k=window.requestAnimationFrame(W))},C=()=>{k!==void 0&&(window.cancelAnimationFrame(k),k=void 0)},D=()=>h();let x=[];const U=(M,G)=>{if(l=G,M&&x.length>0){const H=x;x=[],H.forEach(Y=>Y())}if(M===c){h();return}if(p?.disconnect(),p=void 0,c&&c.style.removeProperty("height"),w="",O=0,T="",c=M,!M){C(),h();return}n.onShown?.(a);try{if(typeof ResizeObserver=="function"){const H=new ResizeObserver(h);typeof H.observe=="function"&&(p=H,p.observe(M))}}catch{p=void 0}h(),m(),R()};window.addEventListener("scroll",D,!0),window.addEventListener("resize",D),f.addDispose(()=>{p?.disconnect(),k!==void 0&&window.cancelAnimationFrame(k),window.removeEventListener("scroll",D,!0),window.removeEventListener("resize",D)});const J=M=>{u=!1,M&&n.onReload?.(a);let G;v||I===void 0?G=_():(y(),G=I);try{a.contentWindow?.location.reload()}catch{a.src=d}return G};return{element:a,ready(){return I??_()},reload:()=>J(!0),reloadQuietly:()=>J(!1),get shown(){return c!==null},whenShown(){return c!==null?Promise.resolve():new Promise(M=>{x.push(M)})},alignTo(M,G){U(M,G??null)},scrollBy(M,G){for(let H=c?.parentElement??null;H;H=H.parentElement){const Y=getComputedStyle(H);if((Y.overflowY==="auto"||Y.overflowY==="scroll")&&H.scrollHeight>H.clientHeight){H.scrollBy({left:M,top:G,behavior:"instant"});return}}window.scrollBy({left:M,top:G,behavior:"instant"})},resize(){A?.resize()},dispose(){U(null,null),A?.dispose(),f.dispose(),s.remove()}}}function sc(e){const t=new Map;let n="a";const r=()=>n==="a"?"b":"a",i=(u,v)=>u==="email"?`email:${v??n}`:u;let o,s=[];const d=()=>{s.forEach(u=>clearTimeout(u)),s=[],o?.remove(),o=void 0},a=new Map,f=(u,v,b)=>{const E=i(u,v),I=t.get(E);if(I)return I;const g=e.resolveMount();if(!g)return rc();const y=oc(u,g,e,u==="email"?v??n:void 0,b);return t.set(E,y),y};return{get:u=>f(u),current:u=>f(u),peek:u=>t.get(i(u)),spare:()=>t.get(i("email",r())),ensureSpare:()=>f("email",r(),!0),promote(){const u=t.get(i("email",r()));if(!u)return;const v=t.get(i("email"));n=r();const b=a.get("email");u.alignTo(b?.slot??null,b?.clip??null),v?.alignTo(null)},alignSurface(u,v,b){a.set(u,{slot:v,clip:b??null}),(v?f(u):t.get(i(u)))?.alignTo(v,b??null)},visible(){for(const u of t.values())if(u.shown)return u},byWindow(u){if(u){for(const v of t.values())if(v.element.contentWindow===u)return v}},busy(u){d();const v=u?e.resolveMount():void 0;if(!v)return;const b=tc(v);o=b,s=[setTimeout(()=>b.showSpinner(),Qd),setTimeout(d,Zd)]},dispose(){d(),t.forEach(u=>u.dispose()),t.clear(),a.clear(),n="a"}}}var ac=L("canvas.resizerBinder"),cn=L("canvas.service"),lc={created:Q.canvasCreated,loaded:Q.canvasLoaded};function dc(e,t){if(e.getInstance(cn))return;const n=sc({resolveMount:()=>t.resolveMount(),resolveSrc:i=>t.resolveSrc(i),resolveSandbox:dd,elementId:t.elementId,bindResizer:i=>e.getInstance(ac)?.(i),onCreated:i=>ut(e,i,"fresh"),onReload:i=>ut(e,i,"fresh"),onShown:i=>ut(e,i,"switch"),mark:i=>t.mark?.(lc[i])}),r=X(e).addListener(F.SANDBOX_WHEEL,i=>{n.visible()?.scrollBy(i?.deltaX??0,i?.deltaY??0)});e.inject(cn,n),e.getInstance(j)?.addDispose(()=>{r.dispose(),n.dispose()})}function ut(e,t,n){const r=X(e),i=t.contentWindow;if(!i)return;const o=r.getTarget()===i;o&&n==="switch"||(n==="fresh"&&(r.forget(i),o&&r.setTarget(void 0)),r.setTarget(i),Vl(r))}function cc(e,t){ut(e,t,"promote")}function uc(e,t){const n=t.contentWindow;n&&X(e).greet(n)}function fc(e,t){const n=t.contentWindow;n&&X(e).forget(n)}function fe(e){return e.getInstance(cn)}function pc(e){const t=X(e),n=()=>fe(e)?.byWindow(t.getTarget()),r=t.addListenerAsync(F.RELOAD,async()=>{await n()?.reload()}),i=t.addListener(s=>{s.data?.operation===F.SANDBOX_RESIZED&&n()?.resize()}),o=K(e,B.ON_EMAIL_INIT_ID)(()=>{n()?.resize()});e.getInstance(j)?.addDispose(()=>{r.dispose(),i.dispose(),o.dispose()})}var kh=L("HeadlessMode"),mc=L("HiddenMount");function hc(e){return e.getOrCreateInstance(mc,()=>Me(!1))}function wr(){const e=document.createElement("div");return e.dataset.canvasOffscreen="true",e.style.position="absolute",e.style.left="-10000px",e.style.top="-10000px",e.style.width="1600px",e.style.height="1000px",document.body.appendChild(e),e}function gc(e){const t=e.getInstance(se);let n,r;e.getInstance(j)?.addDispose(()=>{r?.remove(),r=void 0}),dc(e,{resolveMount:()=>n,resolveSrc:o=>co(o==="block"),elementId:"email_iframe",mark:o=>z(o)}),t?.watch(o=>{if(n)return;const s=o?.element;if(s instanceof HTMLElement)n=s;else if(o!==void 0)n=r??=wr();else return;fe(e)?.get("email")});let i;e.getInstance(j)?.addDispose(()=>{i?.remove(),i=void 0}),hc(e).watch(o=>{const s=fe(e);if(s){if(o){i??=wr(),s.alignSurface("email",i,i);return}i&&(s.alignSurface("email",null),i.remove(),i=void 0)}})}var vo=L("canvas.headerFlow"),Sr=["subject","preheader"],vc=3e3,bc={subject:F.SANDBOX_SUBJECT_UPDATE,preheader:F.SANDBOX_PREHEADER_UPDATE};function Ec(e){const t=ve(e),n=X(e),r=g=>g?"remote":go(e)?"system":"user",i=(g,{guid:y,value:_,forced:S})=>{const A=Be(t);if(!A||typeof _!="string"||y&&y!==A.get().docId)return;const m=t.forcedHeaders();if(m?.[g]&&!S&&_!==m[g])return;S&&t.endForcedHeaders();const c=A.get().attributes[g]??"";d=!0;try{vt(A,{[g]:_},{source:r(S)})}finally{d=!1}o[g]=_,oe(e,B.ON_HEADER_APPLIED_ID).fire({field:g,value:_,forced:!!S,isGenerated:_!==c&&!!_})};let o={},s,d=!1,a=Promise.resolve();const f=(g,y,_)=>{a=n.sendAsync(bc[g],{value:y,guid:Be(t)?.get().docId,..._?{force:!0,echo:!0}:{}}).catch(S=>{})};let u;e.inject(vo,{whenDelivered:async()=>{await a},reassert:g=>{const y=Be(t),_=Sr.filter(S=>g[S]);if(!(!y||_.length===0)){d=!0;try{vt(y,Object.fromEntries(_.map(S=>[S,g[S]])),{source:"system"})}finally{d=!1}t.beginForcedHeaders({subject:g.subject??"",preheader:g.preheader??""}),clearTimeout(u),u=setTimeout(()=>t.endForcedHeaders(),vc);for(const S of _)o[S]=g[S],f(S,g[S],!0)}}});const v=()=>{s?.(),s=void 0;const g=Be(t);if(!g){o={};return}const y=g.get().attributes;o={subject:y.subject,preheader:y.preheader},s=g.subscribe(({source:_})=>{if(d)return;const S=g.get().attributes,A=t.forcedHeaders();for(const m of Sr){const c=S[m];c!==o[m]&&(o[m]=c,f(m,c??"",_==="system"&&A?.[m]!==void 0))}})};v();const b=t.subscribe(v),E=n.addListenerAsync(F.APPLICATION_SUBJECT_UPDATE,g=>i("subject",g)),I=n.addListenerAsync(F.APPLICATION_PREHEADER_UPDATE,g=>i("preheader",g));e.getInstance(j)?.addDispose(()=>{E.dispose(),I.dispose(),b(),s?.(),clearTimeout(u)})}function Ir(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function un(e,t){const n={...e};for(const r of Object.keys(t)){const i=t[r],o=e[r];Ir(i)&&Ir(o)?n[r]=un(o,i):i!==void 0&&(n[r]=i)}return n}function yc(e,t){const n=Cn;if(typeof e=="string"){const r=e.trim();if(r.startsWith("{"))try{const i=JSON.parse(r);if(i&&typeof i=="object"&&!Array.isArray(i)&&Object.keys(i).length>0)return un(n,i)}catch{}}return t&&typeof t=="object"&&!Array.isArray(t)?un(n,t):n}function _c(){const e=window.localStorage.getItem(yt.em_color_scheme),t=matchMedia("(prefers-color-scheme: dark)").matches?Os:zs;return e&&e!=="system"?e:t}function wc(){const e=window.localStorage.getItem(yt.em_code_mode_settings);if(!e)return!1;try{const t=JSON.parse(e);return!!(t?.isCodeMode&&(t.codeModeDirection==="left"||t.codeModeDirection==="right"))}catch{return!1}}function Sc(e){const{config:t}=e;return{operation:F.UPDATE_PREVIEW,theme:e.theme,commonStyles:yc(e.emailCommonStyles,e.defaultCommonStyles),pathEnabled:t.pathEnabled,copyPasteEnabled:t.copyPasteEnabled,saveBlockEnabled:t.saveBlockEnabled,editImageControlEnabled:t.editImageControlEnabled,codeMode:e.codeMode,elementAIimageEnabled:t.elementAIimageEnabled,imageCenterStockEnabled:t.imageCenterStockEnabled,imageCenterGifEnabled:t.imageCenterGifEnabled,imageCenterEditorEnabled:t.imageCenterEditorEnabled,blocksAddPanelEnabled:t.blocksAddPanelEnabled!==!1&&t.blocksSectionsShow!==!1,lockEditor:t.lockEditor,appName:e.appName}}function Ic(e){const t=X(e),n=e.getInstance(we),r=e.getInstance(se),i=ve(e);let o,s="";const d=()=>{const _=n?.get()??{},S=Sc({config:_,emailCommonStyles:i.current()?.get().attributes?.common_styles,defaultCommonStyles:o,theme:_c(),codeMode:wc(),appName:"emailmaker"}),A=JSON.stringify(S);A!==s&&(s=A,t.send(S))},a=t.onInit(()=>{s="",d()}),f=()=>{t.isInited()&&d()},u=n?.watch(f),v=r?.watch(_=>{o=_?.commonStyles,f()});let b;const E=()=>{b?.(),b=i.current()?.subscribe(f),f()};E();const I=i.subscribe(E),g=matchMedia(Ms),y=()=>f();g.addEventListener("change",y),e.getInstance(j)?.addDispose(()=>{a.dispose(),u?.dispose(),v?.dispose(),b?.(),I(),g.removeEventListener("change",y)})}var fn;(function(e){function t(i,o,s=(d,a)=>d===a){if(i===o)return!0;if(i.length!==o.length)return!1;for(let d=0;d<i.length;d++)if(!s(i[d],o[d]))return!1;return!0}e.isEqual=t;function n(i,o=s=>s){const s=new Set;return i.filter(d=>{const a=o(d);return s.has(a)?!1:(s.add(a),!0)})}e.unique=n;function r(i=[],o=[],s=(d,a)=>d===a){const d=[],a=[],f=[];for(const u of i){const v=o.find(b=>s(u,b));v?f.push({prev:u,next:v}):a.push(u)}for(const u of o)i.find(v=>s(u,v))||d.push(u);return{added:d,removed:a,exists:f}}e.diff=r})(fn||(fn={}));function Tc(e,t){return e.type===t.type&&e.key===t.key}function Ac(e){const t=X(e),n=()=>e.getServices(Te)??[];let r=[];const i=t.onInit(()=>{r=n(),t.send(F.SANDBOX_ADD_EXTENSIONS,r)}),o=Es(Te),s=e.onInject(d=>{if(d!==o)return;const a=n();if(!t.isInited()){r=a;return}const{added:f,removed:u}=fn.diff(r,a,Tc);if(r=a,u.length){if(u.some(v=>v.type==="script")){t.send(F.RELOAD);return}t.send(F.SANDBOX_REMOVE_EXTENSIONS,u.map(v=>v.key))}f.length&&t.send(F.SANDBOX_ADD_EXTENSIONS,f)});e.getInstance(j)?.addDispose(()=>{i.dispose(),s?.dispose()})}var Cc=L("prewarm.editorVisible");function Rc(e){if(typeof requestAnimationFrame!="function"){setTimeout(e,0);return}requestAnimationFrame(()=>requestAnimationFrame(e))}function Pc(e={}){const t=e.paint??Rc;let n=!1,r=!1,i=!1,o=!1,s=!1;const d=[],a=()=>{s||o||!n||!r||!i||(o=!0,t(()=>{s=!0,z(Q.editorVisible);for(const f of d.splice(0))f()}))};return{noteShellVisible(){n=!0,a()},notePagePainted(){r=!0,a()},noteContentShown(){i=!0,a()},whenVisible(f){if(s){f();return}d.push(f)},contentShown:()=>i}}function Dc(e){return e.getOrCreateInstance(Cc,()=>Pc())}var Oc=500,xc=500,Lc=5e3;function Mc(e){const t=e.quietMs??Oc,n=e.floorMs??xc,r=e.ceilingMs??Lc;let i,o,s=0;const d=()=>{clearTimeout(i),clearTimeout(o),i=void 0,o=void 0},a=()=>{d(),e.run()},f=()=>{clearTimeout(i);const u=n-(Date.now()-s);i=setTimeout(a,Math.max(t,u))};return{start(){d(),s=Date.now(),o=setTimeout(a,r),f()},notify(){i!==void 0&&f()},cancel:d}}function kc({attributes:e,readContent:t,docId:n,hasSession:r,serverId:i,show:o}){if(!r)return;const s={id:i??void 0,renderGuid:n,showId:o?.id,isNew:i==null,showToken:o?.token},d={...e,...s};return Object.defineProperty(d,"html",{get:()=>t()??"",enumerable:!0,configurable:!0}),d}var bo="self-init:";function Nc(e){return e.startsWith(bo)}function Eo(e,t){const n=e.getActiveShowRequest();return Nc(t)?n===null:n?.showId===t&&e.hasPendingShow(t)}function Fc(e){const t=()=>e.initPipeline(),n=e.messageService,r=()=>e.waitScope?.()??t();let i="";const o=()=>e.readDocument()?ln(e.readDocument()):i,s=()=>ke(e.container).editorPolicy,d=()=>e.readEmail(),a=()=>{const f=d();return{...f,id:e.isTemplate()||f.isNew?void 0:f.id,html:o()}};return{readContent:o,publicEmail:a,sendInitStart:()=>de(n,"INIT_START",F.SANDBOX_INIT_START,{guid:d().renderGuid},void 0,r()),sendInited:()=>de(n,"INITED",F.SANDBOX_INITED,{guid:d().renderGuid},void 0,r()),async sendContent(){const f=d(),{html:u,hasBrowserExtensionArtifacts:v}=fo(f?.html||"");v&&e.events.browserExtensionDetected(),po(e.readDocument(),u),i=u,await de(n,"SET_ENTITY",F.SANDBOX_SET_ENTITY,dn(o(),f.renderGuid,s(),e.readDocument()?.get().version),{guid:f.renderGuid,emailId:f.id??null},r())},refreshContent:()=>de(n,"SET_ENTITY",F.SANDBOX_SET_ENTITY,dn(o(),d().renderGuid,s(),e.readDocument()?.get().version),void 0,r()),sendPreheader:async()=>{const f=d();if(f.preheader!==void 0)return de(n,"PREHEADER",F.SANDBOX_PREHEADER_UPDATE,{value:f.preheader,guid:f.renderGuid,force:!0},void 0,r())},sendSubject:async()=>{const f=d();if(f.subject!==void 0)return de(n,"SUBJECT",F.SANDBOX_SUBJECT_UPDATE,{value:f.subject,guid:f.renderGuid,force:!0},void 0,r())},revealFilled:()=>e.revealFilled?.()??Promise.resolve(),showFilled:f=>e.showFilled?.(f),readTarget:()=>e.readTarget?.(),fireWillInit:()=>e.events.willInit(a()),fireInit(f,u){if(!Eo(t(),f)){t().getActiveShowRequest()?.showId;return}const v=d();v.id,v.renderGuid,t().completeShow(f),vt(e.readDocument(),{is_inited:!0},{source:"system"});const b=a();return u&&(b.reset=!0),e.events.inited(b)},fireEmailChanged(){e.events.emailChanged(a())},fireContentChanged(){e.events.contentChanged(o())}}}function jc(e){const t=()=>e.initPipeline();let n=!1,r,i,o,s=0,d;const a=Fc({...e,waitScope:()=>({getSandboxTimeoutMs:y=>t().getSandboxTimeoutMs(y),getSandboxReadyTimeoutMs:()=>t().getSandboxReadyTimeoutMs(),signal:d?.signal??t().signal})});let f;const u=(y,_)=>{if(f===y)return;f=y;const S=s;setTimeout(()=>{s!==S||t().signal.aborted||I(y,_).catch(()=>{})},0)},v=()=>{d?.abort(),d=void 0};let b;const E=()=>{const y=t().signal;y!==b&&(b?.removeEventListener("abort",v),b=y,y.addEventListener("abort",v))};async function I(y,_){const S=++s;v(),d=new AbortController,E();const A=()=>s!==S,m=a.readTarget(),c=t().generation,l=()=>c===t().generation&&!t().signal.aborted,p=_?"init:reset-":"init:";if(!_){const T=a.publicEmail();T?.id,T?.renderGuid,T?.preheader}let h=!1,w=!1;try{n=!0,await a.sendInitStart(),a.fireWillInit(),await(_?a.refreshContent():a.sendContent()),h=!0,_||a.publicEmail()?.id;try{await a.sendPreheader()}catch(T){`${p}`,String(T)}try{await a.sendSubject()}catch(T){`${p}`,String(T)}if(A()||a.showFilled(m),await a.sendInited(),w=!0,i===y){const T=e.readSandboxGeneration?.()??o;T!==void 0&&(r=T)}await a.revealFilled()}catch(T){throw A()||(`${p}`,{...e.describeSurface?.(),error:String(T)},void 0),!A()&&Eo(t(),y)&&t().failShow(y,T),T}finally{g(y,_,p,{superseded:A(),sessionGeneration:c,contentApplied:h,sandboxInitedAcked:w,commit:l()})}}function g(y,_,S,A){const{superseded:m,contentApplied:c,sandboxInitedAcked:l}=A;if(m){`${S}`;return}l&&A.commit?a.fireInit(y,_||void 0):l?(`${S}`,A.sessionGeneration,t().generation,t().signal.aborted,void 0):c?(`${S}`,void 0):(`${S}`,void 0),n=!1,d=void 0,!l&&i===y&&(i=void 0,r===o&&(r=void 0)),!l&&c&&u(y,_)}return{channel:a,isEventsLocked:()=>n,filledGeneration:()=>r,markFilled:y=>{r=y},lastCorrelation:()=>i,markCorrelation:y=>{i=y},bumpRunSeq:()=>{s+=1},noteSandboxGeneration:y=>{o=y},fill:y=>I(y,!1),refill:y=>I(y,!0),stop:()=>{s+=1,v(),n=!1,b?.removeEventListener("abort",v),b=void 0}}}function Bc(e,t,n){if(!e?.renderGuid||!e.showId||e.showId!==t.showId)return!1;if(t.isNew)return e.id==null;const r=t.emailId??t.navId;return r!=null&&String(e.id??"")!==String(r)?!1:yo(e,n)}function yo(e,t){return t?e?.id==null?!1:String(e.id)===String(t):!0}function Uc(e){const{pipeline:t,readEmail:n,readDocument:r,readRouteEmailId:i,readSandboxGeneration:o}=e,s=u=>{const v=n(),b=i();if(!Bc(v,u,b)){u.showId,u.navId,u.emailId,v?.id,v?.showId,v?.renderGuid;return}u.showId,v?.id,v?.renderGuid,t.markFilled(o()),t.markCorrelation(u.showId),t.fill(u.showId).catch(()=>{})};return{showRequested:u=>{s(u)},showRequestIdentityChanged:()=>{const u=e.initPipeline().getActiveShowRequest();u&&s(u)},selfInitChanged:()=>{if(e.initPipeline().getActiveShowRequest())return;const u=o();if(t.filledGeneration()===u)return;const v=n(),b=i();if(!v?.renderGuid||!yo(v,b))return;const E=`${bo}${v.renderGuid}`;t.markFilled(u),t.markCorrelation(E);const I=r()?.isReady()===!0;v.id,v.renderGuid,(I?g=>t.refill(g):g=>t.fill(g))(E).catch(()=>{t.lastCorrelation()===E&&t.markFilled(void 0)})},saasChanged:()=>{const u=n();u?.renderGuid,u?.showToken,u?.id}}}function Hc(e){return e??""}function Gc(e,t,n,r){return[e??"",t??"",n==null?"":String(n),r??""].join("|")}function qc(e){const t=ve(e),n=X(e),r=()=>he(t.sessionKey())?void 0:t.current(),i=()=>{const P=r();return kc({attributes:P?.get().attributes??{},readContent:()=>P?.getContent(),docId:P?.get().docId,hasSession:!!P,serverId:P?.get().serverId,show:t.showFacts()})},o=()=>e.getInstance(De)??Un;let s={},d=!1;const a=e.getInstance(se)?.watch(P=>{d=!!P?.element});let f=!1,u=!1,v=!1,b=0;const E=()=>{const P=fe(e);if(!P)return;const V=++b,q=P.spare();return q&&fc(e,q.element),(q?q.reloadQuietly():P.ensureSpare()?.ready())?.then(()=>{if(V!==b)return;f=!0;const re=P.spare();re&&uc(e,re.element),v&&(v=!1,T(),U())})},I=Mc({run:()=>{v||E()?.catch(()=>{})}}),g=()=>{Dc(e).noteContentShown(),!f&&!v&&I.start()};let y=!1;const A=jc({container:e,messageService:n,initPipeline:o,readDocument:r,readEmail:i,revealFilled:()=>{const P=fe(e);return y&&P&&(y=!1,I.start()),d?P?.current("email").whenShown()??Promise.resolve():Promise.resolve()},showFilled:P=>{const V=fe(e),q=V?.spare()?.element.contentWindow;u&&V&&q&&P===q&&(u=!1,V.promote(),V.busy(!1),y=!0)},readTarget:()=>n.getTarget(),isTemplate:()=>!!s.isTemplate,readSandboxGeneration:()=>ue(n),describeSurface:()=>({canvasPath:w,promoted:u,spareClean:f,handshake:n.isInited(),generation:ue(n)}),events:{willInit:P=>{oe(e,B.WILL_EMAIL_INIT_ID).fire(P)},inited:P=>{g(),oe(e,B.ON_EMAIL_INIT_ID).fire(P)},contentChanged:P=>{oe(e,B.ON_CONTENT_CHANGED_ID).fire(P)},emailChanged:P=>{oe(e,B.ON_EMAIL_CHANGED_ID).fire(P)},browserExtensionDetected:()=>{oe(e,B.ON_BROWSER_EXTENSION_DETECTED_ID).fire()}}}),m=Uc({pipeline:A,initPipeline:o,readEmail:i,readDocument:r,readRouteEmailId:()=>s.emailId,readSandboxGeneration:()=>ue(n)});let c="",l="",p="";const h=P=>P.length>0;let w="none";const T=()=>{const P=fe(e)?.spare();P&&(n.sendNow({operation:F.SANDBOX_LOCK_EDIT,data:!0}),f=!1,u=!0,cc(e,P.element))},O=(P,V)=>{const q=fe(e);if(!q)return!0;const re=q.spare(),Ee=re&&f?"spare":"prepare";if(w=Ee,q.busy(!0),re&&f)return T(),!0;I.cancel(),n.sendNow({operation:F.SANDBOX_LOCK_EDIT,data:!0});const ye=E();if(ye===void 0)return w="reload",q.busy(!1),q.peek("email")?.reload(),!0;v=!0;const Ct=b;return ye.catch(()=>{!v||Ct!==b||(v=!1,w="reload",q.busy(!1),q.peek("email")?.reload())}),!1},k=()=>{be(),A.noteSandboxGeneration(ue(n));const P=i(),V=Gc(P?.renderGuid,P?.showId,P?.id,s.emailId),q=Hc(P?.renderGuid);if(q!==l){const ye=h(l),Ct=l;l=q,ye&&O(Ct,q)}if(v)return;V!==c&&(c=V,m.showRequestIdentityChanged());const re=r(),Ee=`${V}|${re?.get().docId??""}|${ue(n)}`;Ee!==p&&re?.isReady()===!0&&(p=Ee,m.selfInitChanged()),m.saasChanged(),D()};let W=!1,R="",C="";const D=()=>{const P=i();if(!P?.renderGuid)return;const V=A.channel.readContent(),q=JSON.stringify([P.preheader,P.common_styles,P.meta,P.subject,P.utm_parameters?.utm_campaign??"",P.utm_parameters?.utm_content??"",P.utm_parameters?.utm_medium??"",P.utm_parameters?.utm_source??"",P.utm_parameters?.utm_term??""]),re=W&&V!==C,Ee=W&&q!==R;if(W=!0,C=V,R=q,A.isEventsLocked())return;const ye={...P,id:s.isTemplate||P.isNew?void 0:P.id,html:V};if(re){oe(e,B.ON_CONTENT_CHANGED_ID).fire(V),oe(e,B.ON_EMAIL_CHANGED_ID).fire(ye);return}Ee&&P.is_inited&&oe(e,B.ON_EMAIL_CHANGED_ID).fire(ye)};let x=!1;const U=()=>{x||(x=!0,queueMicrotask(()=>{x=!1,k()}))};e.inject(Hn,{pipeline:A,setRoute:P=>{P.emailId===s.emailId&&!!P.isTemplate==!!s.isTemplate||(s=P,U())}});let J,M;const G=()=>{const P=r()?.get().docId;P!==M&&(J?.(),M=P,J=r()?.subscribe(U)),U()};let H,Y;const be=()=>{const P=e.getInstance(De);!P||P===H||(Y?.(),H=P,Y=P.onShowRequested(V=>m.showRequested(V)))},et=n.addListener(P=>{P.data?.operation===F.SANDBOX_RESIZED&&I.notify()}),is=t.subscribe(G),os=lo(n,U);G(),e.getInstance(j)?.addDispose(()=>{a?.dispose(),Y?.(),os(),is(),J?.(),et.dispose(),I.cancel(),A.stop()})}function $c(){return Gs!=="emailmaker"}var Tr={config:{mode:"freeUserBlocks",autosaveTimeout:5e3,autosaveRetryMaxAttempts:5,autosaveRetryIntervalMs:3e4,theme:"",themes:{},mergeTagsShow:!0,styles:"",revisionService:!1,headerShow:!0,headerTitleVisible:!0,headerPreheaderVisible:!0,headerArrowBackVisible:!0,historyEnabled:!0,codeEnabled:!0,codeSideEnabled:!0,previewIconEnabled:!0,previewModeEnabled:!0,livePreviewEnabled:!0,sendTestEnabled:!0,sharePreviewEnabled:!0,webversionEnabled:!0,commonStylesEnabled:!0,emailResponsiveControlEnabled:!0,templateNotEmAlertShow:!1,beeFreeConverterEnabled:!1,stripoConverterEnabled:!0,aiLayoutConverterEnabled:!1,emailDropdownMenuEnabled:!0,emailDropdownMenuClone:!0,emailDropdownMenuImport:!0,emailDropdownMenuConvert:!0,emailDropdownMenuLock:!0,emailDropdownMenuRemove:!0,emailExportEnabled:!0,exportHtmlEnabled:!0,exportZipEnabled:!0,exportTextEnabled:!0,exportMarkdownEnabled:!0,exportClipboardEnabled:!0,exportWebHookEnabled:!0,exportOutlookEnabled:!0,exportPdfEnabled:!0,exportPngEnabled:!0,nextButtonEnabled:!1,nextButtonText:"",saveButtonEnabled:!0,saveButtonText:"",commandButtonsEnabled:!0,emailIdShow:!1,sidePanelFloating:!0,desktopMobileSwitchRule:!0,desktopMobileSwitchPanel:!1,onlyCodeModeInMobile:!1,pathEnabled:!0,copyPasteEnabled:!0,saveBlockEnabled:!0,globalBlockCheckboxEnabled:!0,editImageControlEnabled:!0,lockEditor:!1,lockPreheaderAndTitle:!1,disableSideMenu:!1,menuDirection:"right",defaultBuildPanel:"",commentsEnabled:!0,aiAssistentEnabled:!0,optimizeEnabled:!0,optimizeLinksEnabled:!0,optimizeImagesEnabled:!0,optimizeSpamAssassinEnabled:!0,optimizeCheckCodeEnabled:!0,settingsEnabled:!0,settingsTabEnabled:!0,UTMEnabled:!0,annotationsEnabled:!1,subjectEnabled:!0,preheaderEnabled:!0,descriptionEnabled:!0,tagsEnabled:!0,isTemplateEnabled:!0,switchDesktopMobilePropsEnabled:!0,stepToOtherElementEnabled:!0,deleteButtonEnabled:!0,toggleSidePanel:!0,blocksSectionsShow:!0,blocksEmptyEnabled:!0,blocksSavedEnabled:!0,blocksCommonEnabled:!0,blocksTemplateEnabled:!0,blocksSearchEnabled:!0,blocksAddPanelEnabled:!0,imagePathDropdownEnabled:!0,formFieldImageTitleEnabled:!0,formFieldBorderEnabled:!0,formFieldBorderRadiusEnabled:!0,formFieldBoxShadowEnabled:!0,formFieldVisibilityEnabled:!0,formFieldExportAsPictureEnabled:!0,emailPaneDesktopSize:0,formButtonFieldInsertImageEnabled:!0,formButtonFieldVerticalAlignEnabled:!0,formButtonFieldTextAlignEnabled:!0,formButtonFieldBackgroundImageEnabled:!0,formButtonFieldPaddingsEnabled:!0,formCellFieldVerticalAlignEnabled:!0,formCellFieldBackgroundImageEnabled:!0,formCellFieldPaddingsEnabled:!0,formCellFieldSizeEnabled:!0,formButtonFieldReplacerEnabled:!0,formLinkFieldInsertImageEnabled:!0,formTableFieldBackgroundImageEnabled:!0,formDivFieldBackgroundImageEnabled:!0,formImageFieldVerticalAlignEnabled:!0,formImageFieldReplacerEnabled:!0,formImageFieldHeightEnabled:!0,formTextFieldTypografEnabled:!0,formTextFieldReplacerEnabled:!0,formEmailFieldBackgroundImageEnabled:!0,elementImageEnabled:!0,elementTextEnabled:!0,elementHeaderEnabled:!0,elementButtonEnabled:!0,elementListULEnabled:!0,elementListOLEnabled:!0,elementDividerEnabled:!0,elementSpacerEnabled:!0,elementSocialEnabled:!0,elementTableEnabled:!1,elementCountdownEnabled:!0,elementVideoEnabled:!0,elementAIimageEnabled:!0,elementAItextEnabled:!0,elementCarouselEnabled:!0,elementAccordionEnabled:!0,elementFormEnabled:!1,preventSendDataToEM:!1,imageInfoToolUrl:"",resourceProxy:void 0,resourceProxyPolicy:void 0,imageCenterFileManagerView:!1,imageCenterLocalUploadEnabled:!0,imageCenterStockEnabled:!0,imageCenterGifEnabled:!0,imageCenterIconStockEnabled:!0,imageCenterEditorEnabled:!0,compressMaxSize:1,compressMaxWidthOrHeight:2e3,ampExportEnabled:!0,formFieldAmpVisibilityEnabled:!0,testEmails:[],pushToGTM:!0,activeNextButton:!0,iconStrokeWidth:1.4},project:void 0},_o={config:{mode:"pro",autosaveTimeout:5e3,autosaveRetryMaxAttempts:5,autosaveRetryIntervalMs:3e4,theme:"",themes:{},mergeTagsShow:!0,styles:"",revisionService:!1,headerShow:!0,headerTitleVisible:!0,headerPreheaderVisible:!0,headerArrowBackVisible:!0,historyEnabled:!0,codeEnabled:!0,codeSideEnabled:!0,previewIconEnabled:!0,previewModeEnabled:!0,livePreviewEnabled:!0,sendTestEnabled:!0,sharePreviewEnabled:!0,webversionEnabled:!0,commonStylesEnabled:!0,emailResponsiveControlEnabled:!0,templateNotEmAlertShow:!1,beeFreeConverterEnabled:!0,stripoConverterEnabled:!0,aiLayoutConverterEnabled:!1,emailDropdownMenuEnabled:!0,emailDropdownMenuClone:!0,emailDropdownMenuImport:!0,emailDropdownMenuImportButton:!1,emailDropdownMenuConvert:!0,emailDropdownMenuLock:!0,emailDropdownMenuRemove:!0,emailExportEnabled:!0,exportHtmlEnabled:!0,exportZipEnabled:!0,exportTextEnabled:!0,exportMarkdownEnabled:!0,exportClipboardEnabled:!0,exportWebHookEnabled:!0,exportOutlookEnabled:!0,exportPdfEnabled:!0,exportPngEnabled:!0,nextButtonEnabled:!1,nextButtonText:"",saveButtonEnabled:!0,saveButtonText:"",commandButtonsEnabled:!0,emailIdShow:!1,sidePanelFloating:!0,desktopMobileSwitchRule:!0,desktopMobileSwitchPanel:!1,onlyCodeModeInMobile:!1,pathEnabled:!0,copyPasteEnabled:!0,saveBlockEnabled:!0,globalBlockCheckboxEnabled:!0,editImageControlEnabled:!0,lockEditor:!1,lockPreheaderAndTitle:!1,disableSideMenu:!1,menuDirection:"right",defaultBuildPanel:"",commentsEnabled:!0,aiAssistentEnabled:!0,optimizeEnabled:!0,optimizeLinksEnabled:!0,optimizeImagesEnabled:!0,optimizeSpamAssassinEnabled:!0,optimizeCheckCodeEnabled:!0,settingsEnabled:!0,settingsTabEnabled:!0,UTMEnabled:!0,annotationsEnabled:!0,subjectEnabled:!0,preheaderEnabled:!0,descriptionEnabled:!0,tagsEnabled:!0,isTemplateEnabled:!0,switchDesktopMobilePropsEnabled:!0,stepToOtherElementEnabled:!0,deleteButtonEnabled:!0,toggleSidePanel:!0,blocksSectionsShow:!0,blocksEmptyEnabled:!0,blocksSavedEnabled:!0,blocksCommonEnabled:!0,blocksTemplateEnabled:!0,blocksSearchEnabled:!0,blocksAddPanelEnabled:!0,imagePathDropdownEnabled:!0,formFieldImageTitleEnabled:!0,formFieldBorderEnabled:!0,formFieldBorderRadiusEnabled:!0,formFieldBoxShadowEnabled:!0,formFieldVisibilityEnabled:!0,formFieldExportAsPictureEnabled:!0,emailPaneDesktopSize:0,formButtonFieldInsertImageEnabled:!0,formButtonFieldVerticalAlignEnabled:!0,formButtonFieldTextAlignEnabled:!0,formButtonFieldBackgroundImageEnabled:!0,formButtonFieldPaddingsEnabled:!0,formButtonFieldReplacerEnabled:!0,formCellFieldVerticalAlignEnabled:!0,formCellFieldBackgroundImageEnabled:!0,formCellFieldPaddingsEnabled:!0,formCellFieldSizeEnabled:!0,formLinkFieldInsertImageEnabled:!0,formTableFieldBackgroundImageEnabled:!0,formDivFieldBackgroundImageEnabled:!0,formImageFieldVerticalAlignEnabled:!0,formImageFieldReplacerEnabled:!0,formImageFieldHeightEnabled:!0,formTextFieldTypografEnabled:!0,formTextFieldReplacerEnabled:!0,formEmailFieldBackgroundImageEnabled:!0,elementImageEnabled:!0,elementTextEnabled:!0,elementHeaderEnabled:!0,elementButtonEnabled:!0,elementListULEnabled:!0,elementListOLEnabled:!0,elementDividerEnabled:!0,elementSpacerEnabled:!0,elementSocialEnabled:!0,elementTableEnabled:!0,elementCountdownEnabled:!0,elementVideoEnabled:!0,elementAIimageEnabled:!0,elementAItextEnabled:!0,elementCarouselEnabled:!0,elementAccordionEnabled:!0,elementFormEnabled:!1,preventSendDataToEM:!1,imageInfoToolUrl:"",resourceProxy:void 0,resourceProxyPolicy:void 0,imageCenterFileManagerView:!0,imageCenterLocalUploadEnabled:!0,imageCenterStockEnabled:!0,imageCenterGifEnabled:!0,imageCenterIconStockEnabled:!0,imageCenterEditorEnabled:!0,compressMaxSize:1,compressMaxWidthOrHeight:2e3,ampExportEnabled:!0,formFieldAmpVisibilityEnabled:!0,testEmails:[],pushToGTM:!0,activeNextButton:!0,iconStrokeWidth:1.4,fileManager:{defaultFolderName:"",enableMoveFolder:!0,enableEdit:!0,enableTrash:!0,enableCopyFile:!0}},project:void 0,page:{isNew:!0,type:"email",project:0,id:"",showToken:0}},Ar=_o,zc=["pro"],wo={};function Vc(e){wo=e}var So=e=>zc.includes(e)?Ar:wo[e]??Ar,pn={config:{mode:"simple",autosaveTimeout:5e3,autosaveRetryMaxAttempts:5,autosaveRetryIntervalMs:3e4,theme:"",themes:{},mergeTagsShow:!1,styles:"",headerShow:!0,headerTitleVisible:!0,headerPreheaderVisible:!0,headerArrowBackVisible:!0,historyEnabled:!0,codeEnabled:!0,codeSideEnabled:!0,previewIconEnabled:!0,previewModeEnabled:!0,livePreviewEnabled:!0,sendTestEnabled:!0,sharePreviewEnabled:!0,webversionEnabled:!1,commonStylesEnabled:!1,emailResponsiveControlEnabled:!1,templateNotEmAlertShow:!1,beeFreeConverterEnabled:!1,stripoConverterEnabled:!0,aiLayoutConverterEnabled:!1,emailDropdownMenuEnabled:!0,emailDropdownMenuClone:!0,emailDropdownMenuImport:!0,emailDropdownMenuImportButton:!1,emailDropdownMenuConvert:!0,emailDropdownMenuLock:!0,emailDropdownMenuRemove:!0,emailExportEnabled:!0,exportHtmlEnabled:!0,exportZipEnabled:!0,exportTextEnabled:!0,exportMarkdownEnabled:!0,exportClipboardEnabled:!0,exportWebHookEnabled:!0,exportOutlookEnabled:!1,exportPdfEnabled:!0,exportPngEnabled:!0,nextButtonEnabled:!1,nextButtonText:"",saveButtonEnabled:!0,saveButtonText:"",commandButtonsEnabled:!0,emailIdShow:!1,sidePanelFloating:!0,desktopMobileSwitchRule:!0,desktopMobileSwitchPanel:!1,onlyCodeModeInMobile:!1,pathEnabled:!0,copyPasteEnabled:!0,saveBlockEnabled:!0,globalBlockCheckboxEnabled:!0,editImageControlEnabled:!0,lockEditor:!1,lockPreheaderAndTitle:!1,disableSideMenu:!1,menuDirection:"right",defaultBuildPanel:"",commentsEnabled:!0,aiAssistentEnabled:!0,optimizeEnabled:!0,optimizeLinksEnabled:!0,optimizeImagesEnabled:!0,optimizeSpamAssassinEnabled:!0,optimizeCheckCodeEnabled:!0,settingsEnabled:!0,settingsTabEnabled:!0,UTMEnabled:!1,annotationsEnabled:!1,subjectEnabled:!0,preheaderEnabled:!0,descriptionEnabled:!0,tagsEnabled:!0,isTemplateEnabled:!0,switchDesktopMobilePropsEnabled:!0,stepToOtherElementEnabled:!0,deleteButtonEnabled:!0,toggleSidePanel:!0,blocksSectionsShow:!0,blocksEmptyEnabled:!0,blocksSavedEnabled:!0,blocksCommonEnabled:!0,blocksTemplateEnabled:!0,blocksSearchEnabled:!0,blocksAddPanelEnabled:!0,imagePathDropdownEnabled:!0,formFieldImageTitleEnabled:!0,formFieldBorderEnabled:!1,formFieldBorderRadiusEnabled:!1,formFieldBoxShadowEnabled:!1,formFieldVisibilityEnabled:!1,formFieldExportAsPictureEnabled:!1,emailPaneDesktopSize:0,formButtonFieldInsertImageEnabled:!0,formButtonFieldVerticalAlignEnabled:!0,formButtonFieldTextAlignEnabled:!0,formButtonFieldBackgroundImageEnabled:!0,formButtonFieldPaddingsEnabled:!0,formButtonFieldReplacerEnabled:!1,formCellFieldVerticalAlignEnabled:!0,formCellFieldBackgroundImageEnabled:!0,formCellFieldPaddingsEnabled:!0,formCellFieldSizeEnabled:!1,formLinkFieldInsertImageEnabled:!0,formTableFieldBackgroundImageEnabled:!0,formDivFieldBackgroundImageEnabled:!0,formImageFieldVerticalAlignEnabled:!1,formImageFieldReplacerEnabled:!1,formImageFieldHeightEnabled:!1,formTextFieldTypografEnabled:!1,formTextFieldReplacerEnabled:!1,formEmailFieldBackgroundImageEnabled:!0,elementImageEnabled:!0,elementTextEnabled:!0,elementHeaderEnabled:!0,elementButtonEnabled:!0,elementListULEnabled:!0,elementListOLEnabled:!0,elementDividerEnabled:!0,elementSpacerEnabled:!0,elementSocialEnabled:!0,elementTableEnabled:!1,elementCountdownEnabled:!1,elementVideoEnabled:!1,elementAIimageEnabled:!0,elementAItextEnabled:!1,elementCarouselEnabled:!1,elementAccordionEnabled:!1,elementFormEnabled:!1,preventSendDataToEM:!1,imageInfoToolUrl:"",resourceProxy:void 0,resourceProxyPolicy:void 0,imageCenterFileManagerView:!0,imageCenterLocalUploadEnabled:!0,imageCenterStockEnabled:!0,imageCenterGifEnabled:!0,imageCenterIconStockEnabled:!0,imageCenterEditorEnabled:!0,compressMaxSize:1,compressMaxWidthOrHeight:2e3,ampExportEnabled:!1,formFieldAmpVisibilityEnabled:!1,testEmails:[],pushToGTM:!0,activeNextButton:!0,iconStrokeWidth:1.4,fileManager:{defaultFolderName:"",enableMoveFolder:!0,enableEdit:!0,enableTrash:!0}},project:void 0},Kc={config:{mode:"editor",autosaveTimeout:5e3,autosaveRetryMaxAttempts:5,autosaveRetryIntervalMs:3e4,theme:"",themes:{},mergeTagsShow:!1,styles:"",headerShow:!0,headerTitleVisible:!0,headerPreheaderVisible:!0,headerArrowBackVisible:!0,historyEnabled:!0,codeEnabled:!1,codeSideEnabled:!0,previewIconEnabled:!0,previewModeEnabled:!0,livePreviewEnabled:!0,sendTestEnabled:!0,sharePreviewEnabled:!1,webversionEnabled:!1,commonStylesEnabled:!1,emailResponsiveControlEnabled:!1,templateNotEmAlertShow:!1,beeFreeConverterEnabled:!0,stripoConverterEnabled:!0,aiLayoutConverterEnabled:!1,emailDropdownMenuEnabled:!1,emailDropdownMenuClone:!0,emailDropdownMenuImport:!1,emailDropdownMenuImportButton:!1,emailDropdownMenuConvert:!0,emailDropdownMenuLock:!0,emailDropdownMenuRemove:!0,emailExportEnabled:!0,exportHtmlEnabled:!0,exportTextEnabled:!1,exportMarkdownEnabled:!1,exportZipEnabled:!0,exportClipboardEnabled:!1,exportWebHookEnabled:!1,exportOutlookEnabled:!0,exportPdfEnabled:!0,exportPngEnabled:!0,nextButtonEnabled:!1,nextButtonText:"",saveButtonEnabled:!0,saveButtonText:"",commandButtonsEnabled:!0,emailIdShow:!1,sidePanelFloating:!0,desktopMobileSwitchRule:!0,desktopMobileSwitchPanel:!1,onlyCodeModeInMobile:!1,pathEnabled:!0,copyPasteEnabled:!1,saveBlockEnabled:!0,globalBlockCheckboxEnabled:!0,editImageControlEnabled:!0,lockEditor:!1,lockPreheaderAndTitle:!1,disableSideMenu:!1,menuDirection:"right",defaultBuildPanel:"",commentsEnabled:!1,aiAssistentEnabled:!1,optimizeEnabled:!1,optimizeLinksEnabled:!0,optimizeImagesEnabled:!0,optimizeSpamAssassinEnabled:!0,optimizeCheckCodeEnabled:!0,settingsEnabled:!0,settingsTabEnabled:!0,UTMEnabled:!1,annotationsEnabled:!1,subjectEnabled:!0,preheaderEnabled:!0,descriptionEnabled:!1,tagsEnabled:!0,isTemplateEnabled:!1,switchDesktopMobilePropsEnabled:!0,stepToOtherElementEnabled:!1,deleteButtonEnabled:!0,toggleSidePanel:!1,blocksSectionsShow:!0,blocksEmptyEnabled:!0,blocksSavedEnabled:!0,blocksCommonEnabled:!0,blocksTemplateEnabled:!0,blocksSearchEnabled:!0,blocksAddPanelEnabled:!0,imagePathDropdownEnabled:!1,formFieldImageTitleEnabled:!1,formFieldBorderEnabled:!1,formFieldBorderRadiusEnabled:!1,formFieldBoxShadowEnabled:!1,formFieldVisibilityEnabled:!1,formFieldExportAsPictureEnabled:!1,emailPaneDesktopSize:0,formButtonFieldInsertImageEnabled:!1,formButtonFieldVerticalAlignEnabled:!0,formButtonFieldTextAlignEnabled:!1,formButtonFieldBackgroundImageEnabled:!0,formButtonFieldPaddingsEnabled:!1,formButtonFieldReplacerEnabled:!1,formCellFieldVerticalAlignEnabled:!1,formCellFieldBackgroundImageEnabled:!0,formCellFieldPaddingsEnabled:!0,formCellFieldSizeEnabled:!1,formLinkFieldInsertImageEnabled:!0,formTableFieldBackgroundImageEnabled:!0,formDivFieldBackgroundImageEnabled:!0,formImageFieldVerticalAlignEnabled:!1,formImageFieldReplacerEnabled:!1,formImageFieldHeightEnabled:!1,formTextFieldTypografEnabled:!1,formTextFieldReplacerEnabled:!1,formEmailFieldBackgroundImageEnabled:!0,elementImageEnabled:!0,elementTextEnabled:!0,elementHeaderEnabled:!0,elementButtonEnabled:!0,elementListULEnabled:!0,elementListOLEnabled:!0,elementDividerEnabled:!0,elementSpacerEnabled:!0,elementSocialEnabled:!0,elementTableEnabled:!0,elementCountdownEnabled:!0,elementVideoEnabled:!1,elementAIimageEnabled:!0,elementAItextEnabled:!1,elementCarouselEnabled:!1,elementAccordionEnabled:!1,elementFormEnabled:!1,preventSendDataToEM:!1,imageInfoToolUrl:"",resourceProxy:void 0,resourceProxyPolicy:void 0,imageCenterFileManagerView:!0,imageCenterLocalUploadEnabled:!0,imageCenterStockEnabled:!0,imageCenterGifEnabled:!0,imageCenterIconStockEnabled:!0,imageCenterEditorEnabled:!0,compressMaxSize:1,compressMaxWidthOrHeight:2e3,ampExportEnabled:!1,formFieldAmpVisibilityEnabled:!1,testEmails:[],pushToGTM:!0,activeNextButton:!0,iconStrokeWidth:1.4},project:void 0},Wc={...pn,config:{...pn.config,imageCenterFileManagerView:!1}};Vc({pro:_o,editor:Kc,simple:$c()?pn:Wc,freeUserBlocks:Tr,blocks:Tr});var Cr=new Set;function Yc(){return window.localStorage.getItem(yt.em_color_scheme)??void 0}function Xc(e){return Cr.add(e),e(Yc()),{dispose(){Cr.delete(e)}}}function Gn(e,t){return e.user.mode||e.serverSide.mode||t||"pro"}function Jc(e,t){return t.modeDefaults(Gn(e,t.fallbackMode))}function Qc(e,t){const n=Gn(e,t);return e.serverSide.advancedConfigs?.[n]||{}}function Zc(e,t){const n=Gn(e,t),r=e.user?.advancedConfigs?.[n],i=r!==void 0?r:e.user?.advancedConfigs?.pro;return{...e.advancedConfigs?.[n],...i}}function eu(e){let t;for(const n of e)n?.fileManager&&(t={...t,...n.fileManager});return t}function tu(e){return fs(e.map(t=>t?.resourceProxy))}function nu(e){return us(e.map(t=>t?.resourceProxyPolicy))}function ru(e){return Ts(e.map(t=>t?.backendProxy))}function iu(e){return mi(e.map(t=>t?.backendProxyPolicy||{}).filter(Boolean))}function ou(e,t){return[e.base,Jc(e,t),e.profile,e.serverSide,Qc(e,t.fallbackMode),e.user,Zc(e,t.fallbackMode),e.local]}function Mt(e,t){const n=ou(e,t),r=mi(n),i=eu(n);i!==void 0&&(r.fileManager=i);const o=tu(n);o!==void 0&&(r.resourceProxy=o);const s=nu(n);s&&Object.keys(s).length>0&&(r.resourceProxyPolicy=s);const d=ru(n);d!==void 0&&(r.backendProxy=d);const a=iu(n);return a&&Object.keys(a).length>0&&(r.backendProxyPolicy=a),r}var su=["backendProxy","backendProxyPolicy","resourceProxy","resourceProxyPolicy"];function Rr(e){return e==="server"?"serverSide":e}function au({env:e,base:t={},budgetMs:n}){const r={base:t,profile:{},serverSide:{},user:{},local:{},advancedConfigs:{}},i=Me();let o={kind:"pending"},s;const d=new Promise(b=>{s=b}),a=n===void 0?void 0:setTimeout(()=>{u({kind:"absent",reason:`серверный слой не пришёл за ${n} мс`})},n);function f(){o.kind!=="pending"&&i.set(Mt(r,e))}function u(b){if(o.kind!=="pending")return;clearTimeout(a),o=b;const E=Mt(r,e);i.set(E),s(E)}function v(b,E){r[Rr(b)]=E,b==="server"&&o.kind==="pending"?u({kind:"applied"}):f()}return{watch:b=>i.watch(b),select:b=>i.select(b),get:()=>i.get(),ready:()=>d,state:()=>o,layers:()=>({...r}),bootstrap(){const b=Mt(r,e);return Object.fromEntries(su.map(E=>[E,b[E]]))},merge(b,E){v(E,{...r[Rr(E)],...b})},replace(b,E){v(E,b)},setMode(b){r.user={...r.user,mode:b},f()},setAdvancedConfigs(b){r.advancedConfigs=b,f()},serverAbsent(b){u({kind:"absent",reason:b})},applyServerResponse(b){o.kind==="pending"&&v("server",{...r.serverSide,...b})},dispose(){clearTimeout(a)}}}var lu=5e3;function du(){return{...So("pro")?.config,mergeTags:void 0}}function cu(e,t){e.getInstance(se)?.watch(n=>{t.setAdvancedConfigs({...n.advancedConfigs,...n.config?.advancedConfigs}),t.replace(n.config??{},"user")})}function uu(e,t){let n;Zi(e).watch(({profile:r})=>{const i=`${r?.theme??""}|${r?.locale??""}`;if(i===n)return;n=i;const o={};r?.theme&&(o.theme=r.theme),r?.locale&&(o.locale=r.locale),t.replace(o,"profile")})}function fu(e,t){let n=null;const r=Xc(i=>{const o=typeof i=="string"&&i?i:void 0;o!==n&&(n=o,t.replace(o?{theme:o}:{},"local"))});e.getInstance(j)?.addDisposable(r)}async function pu(e,t){if(e.getInstance(Ln)===void 0){t.serverAbsent("app_init не зарегистрирован");return}try{const n=await e.getInstanceAsync(Pe);t.applyServerResponse(n?.app_config??{})}catch(n){t.serverAbsent(`app_init не выполнился: ${String(n)}`)}}function mu(e){e.injectFactory(we,(t,n)=>{if(n)return n;const r=au({base:du(),env:{modeDefaults:i=>So(i)?.config||{},fallbackMode:localStorage.getItem("configSwither")||void 0},budgetMs:lu});return cu(e,r),uu(e,r),fu(e,r),pu(e,r),e.getInstance(j)?.addDisposable(r),r},!0)}var Re=class extends ee{_event;_listener;_disposeEvent;constructor(e){super(),this._event=e}setListener(e){this._listener!==e&&(this._listener=e,this._disposeEvent&&this._disposeEvent(),e?this._disposeEvent=this._event(e):this._disposeEvent=void 0)}dispose(){this._disposeEvent&&this._disposeEvent(),super.dispose()}};function N(e,t,n){const r=cs(e);return(i,o,s)=>{const d=r(async a=>{const f=t?t(a):a;s&&i.bind(s);const u=await i(f);return n?n(u):u},o,s);return()=>d.dispose()}}var hu=class{deps;handleDestroy;constructor(e){this.deps=e;const t=new nn;this.handleDestroy=N(t.event),e.lifetime.addDispose(()=>t.fire(e.getInstance()));const n=e.lifetime.addDisposable(new Re(this.handleDestroy));e.lifetime.addDisposable(t),e.lifetime.addDisposable(e.options.watch(({handleDestroy:r})=>n.setListener(r))),e.lifetime.addDispose(()=>e.release())}destroy(){if(!this.deps.lifetime.isDisposed())try{this.deps.lifetime.dispose()}catch{}}},qn=L("DestroyableService");function gu(e){e.injectFactory(qn,()=>{const t=e.getInstance(j);if(!t)throw new Error("[plugin] время жизни экземпляра не зарегистрировано");return new hu({lifetime:t,options:e.getInstance(se),getInstance:()=>e.getInstance(_t),release:()=>Bs(e.getInstance(ks)??e)})},!0)}function vu(e){const t=e.getInstance(qn);if(!t)throw new Error("[plugin] provideDestroyable не выполнен до сборки поверхности");return{handleDestroy:t.handleDestroy,destroy:()=>t.destroy()}}var bu=1e3;function Io(e,t,n=bu,r=0){if(r>n||e===t)return!0;if(typeof e!=typeof t||e===null||t===null)return!1;if(typeof e=="object"&&typeof t=="object"){if(Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;const i=Object.keys(e),o=Object.keys(t);if(i.length!==o.length)return!1;for(const s of i)if(!Io(e[s],t[s],n,r+1))return!1;return!0}return!1}function Ge(e,t){if(!e||typeof e!="object")return t;if(!t||typeof t!="object")return{};const n={};for(const r of Object.keys(t)){const i=t[r],o=e[r];Io(i,o)||(n[r]=i)}return n}var Eu=class extends Error{timeoutMs;constructor(e){super(`[emailmaker] handleSaveEmail не ответил за ${e}ms — письмо не сохранено`),this.timeoutMs=e,this.name="IntegratorSaveTimeoutError"}},yu=({source:e,emailtags:t,group:n,tags:r,...i})=>i,_u=()=>Oi();async function wu({emails:e},t){const n=_u();let r;try{return await Promise.race([e.notifySave(t),new Promise((i,o)=>{r=setTimeout(()=>{const s=new Eu(n);t.value.id,o(s)},n)})])}finally{r!==void 0&&clearTimeout(r)}}function Su(e){const{emails:t}=e,n=async(r,i)=>{const o=yu(i),s=r===void 0?void 0:await t.cache.getIfPresent(r),d=s?{...s,...o}:o,a=await wu(e,{prev:s,patch:s?Ge(s,o):o,value:d,source:i.source??""}),f=String(a.id??r??ce()),u=a.id===void 0?{...a,id:f}:a;return await t.cache.addOrUpdate(f,()=>u)};return{async readEmail(r){return await t.get(r)??null},async createEmail(r){const i=await n(void 0,r);return i?.renderGuid?i:{...i,renderGuid:ce()}},async updateEmail(r,i){return await n(r,i)}}}var kt=20,Iu=({source:e,emailtags:t,group:n,tags:r,...i})=>i;function Tu({revisions:e,revisionsByEmail:t}){const n=async(r,i)=>(t.clear(),await t.get(r,{page:i}),(await e.cache.values()??[]).filter(o=>String(o?.parent)===String(r)));return{async readRevisions(r,i=1){const o=await n(r,i);return{revisions:o.slice(kt*(i-1),kt*i),page:i,hasMore:o.length>kt*i}},async readAutosave(r){return Qa(await n(r,1))},async saveAutosave(r,i){const o=Iu(i);return await e.create({...o,parent:r,modified:new Date().toString()})}}}var Au=class extends Ks{async execute([e],t){for(const n of t){const r=await n(e);r&&(r.id===void 0&&(r.id=e.value.id),e.value=r)}return e.value}},Cu=class extends pe{};var Pr=class extends ee{_items=new Map;_onChangeEmitter=new Ds;async _getOrCreate(e,t){const n=this._items;let r;if(n.has(e))try{r=await n.get(e)}catch{t&&(r=await t())}else t&&(r=await t(),r&&this._onChangeEmitter.fire());return r}async _addOrUpdate(e,t){let n;const r=this._items;if(r.has(e))try{n=await r.get(e)}catch{}const i=await t(n);return mt(n,i)||this._onChangeEmitter.fire(),i}entries(){return Promise.all([...this._items.entries()].map(([e,t])=>t.then(n=>[e,n]))).then(e=>e.filter(([t,n])=>!!n))}values(){return Promise.all([...this._items.values()].map(e=>e).filter(e=>!!e))}getOrCreate(e,t){const n=this._getOrCreate(e,()=>t(e));return this._items.set(e,n),n}addOrUpdate(e,t){const n=this._addOrUpdate(e,t);return this._items.set(e,n),n}async getIfPresent(e){if(this._items.has(e))try{return await this._items.get(e)}catch{return}}add(e,t){const n=Promise.resolve(t);return this._items.set(e,n),n}remove(e){if(this._items.has(e)){const t=this._items.get(e);return this._items.delete(e),this._onChangeEmitter.fire(),t}return Promise.resolve(void 0)}async setAll(e){try{this.suspendChange();const t=[],n=new Set(Array.from(e).map(([i,o])=>i)),r=(await this.entries()).filter(([i,o])=>!n.has(i));for(const[i,o]of e)t.push(this.addOrUpdate(i,()=>o)),n.add(i);for(const[i]of r)t.push(this.remove(i));return await Promise.all(t),r}finally{this.resumeChange()}}clear(){this._items.clear(),this._onChangeEmitter.fire()}suspendChange(){this._onChangeEmitter.suspend()}resumeChange(){this._onChangeEmitter.resume()}onChange=this._onChangeEmitter.event};function Ru(e,{filter:t,order:n="asc",orderBy:r,page:i,pageSize:o=20}={}){const s=e.length;let d=e.length;if(t!==void 0){const a=Object.keys(t);e=e.filter(f=>{for(const u of a){const v=f[u],b=t[u];return u==="id"||typeof v!="string"?v===b:typeof b=="string"&&v.startsWith(b)}return!0}),d=e.length}return r&&(e=e.sort((a,f)=>(a[r]>f[r]?1:f[r]>a[r]?-1:0)*(n==="asc"?1:-1))),i!==void 0&&(e=e.slice(o*(i-1),o*i)),{data:e,filteredTotal:d,total:s,totalPages:Math.ceil(d/o)}}function Pu(e=[]){if(e=e.filter(n=>n),e.length<=1)return e[0];const t=new Map;for(const n of e)for(const r of n)if(r.id!==void 0){const i=t.get(r.id)||{};t.set(r.id,{...i,...r})}return[...t].map(([n,r])=>r)}function Du(e,t){return Dr(e)&&Dr(t)?String(e)===String(t):e===t}function Dr(e){return typeof e=="string"||typeof e=="number"}var Ou=class extends ee{_cache=new Pr;_readEmitter=new pe;_saveEmitter=this.addDisposable(new Au);_removeEmitter=this.addDisposable(new Cu);_foreignCache=Object.create(null);async get(e){return this._cache.getOrCreate(e,async t=>Object.assign({id:e},...(await this._readEmitter.fire(e)).filter(n=>!!n)))}get cache(){return this._cache}byForeignKey(e){let t=this._foreignCache[e];if(!t){const n=this.addDisposable(new ee);n.addDispose(()=>delete this._foreignCache[e]);const r=n.addDisposable(new Pr),i=n.addDisposable(new pe);t=this._foreignCache[e]={get:async(o,s={})=>{await r.getOrCreate(o,async()=>{try{const a=Pu(await i.fire(o))||[];for(const f of a)f[e]=o,await this._cache.add(f.id,f);return a}catch{return[]}});const d=(await this._cache.values()||[]).filter(a=>{const f=a[e];return f==null||Du(f,o)});return Ru(d,s)},first(o,s={}){return t.get(o,{...s,page:1,pageSize:1}).then(({data:d})=>d[0])},handleRead:i.event,clear(){r.clear()},dispose(){n.dispose()}}}return t}async create(e,{source:t="",silent:n}={}){let r=e;return n||(r=await this._saveEmitter.fire({prev:void 0,patch:e,value:r,source:t})),r.id===void 0&&(r.id=ce()),await this._cache.addOrUpdate(r.id,()=>r)}notifySave(e){return this._saveEmitter.fire(e)}async update(e,t,{source:n="",silent:r}={}){return this._cache.addOrUpdate(e,async i=>{const o=i?{...i,...t}:t;if(!r)return t=i?Ge(i,t):t,await this._saveEmitter.fire({prev:i,patch:t,value:o,source:n})})}async remove(e,{source:t="",silent:n}={}){const r=await this._cache.remove(e);return n||await this._removeEmitter.fire({value:r,source:t}),r}refresh(){this._cache.clear();for(const e of Object.values(this._foreignCache))e.clear()}suspendChange(){this._cache.suspendChange()}resumeChange(){this._cache.resumeChange()}handlerRead=this._readEmitter.event;onSave=this._saveEmitter.event;onRemove=this._removeEmitter.event;onChange=this._cache.onChange};function Je(e){const t=L(e);return n=>n.getOrCreateInstance(t,()=>new Ou)}function xu(e){const t=e.getInstance(j);if(!t)throw new Error("Failed");return t}function Or(e){return Object.prototype.hasOwnProperty.call(e,"meta")}function Lu(e,t,n){return e&&!Or(t)&&Or(e)?{...n,meta:e.meta}:n}var To=Je("plugin.dataSource.emails"),Ao=Je("plugin.dataSource.emailRevisions"),xr=L("emailDocuments.provided");function Mu(e){const t=To(e),n=Ao(e),r=n.byForeignKey("parent");return e.getInstance(xr)?{emails:t,emailRevisions:n}:(e.inject(xr,!0),bl(e,Su({emails:t})),wl(e,Tu({revisions:n,revisionsByEmail:r})),xu(e).addDisposable(t.onSave(({prev:i,patch:o,value:s})=>Lu(i,o,s),Number.MIN_VALUE)),{emails:t,emailRevisions:n})}function Lr(e,t){return!e?.data||!t||e.id!==t.locale?!1:t.contentHash?e.hash===t.contentHash:t.updatedAt>0&&t.updatedAt<=e.time}function ku(e){try{return localStorage.getItem(e)===null?!1:(localStorage.removeItem(e),!0)}catch{return!1}}var Nu="po",at=null;function Fu(){const e=typeof window.__emailmaker__<"u"?window.__emailmaker__?.require:void 0;return typeof e!="function"?Promise.reject(new Error("[loadPoParser] AMD loader is unavailable")):new Promise((t,n)=>{e([Nu],r=>t(r),r=>n(r instanceof Error?r:new Error("[loadPoParser] Failed to require po module")))})}function ju(){return at===null&&(at=Fu().catch(e=>{throw at=null,e})),at}async function Co(e){if(typeof e=="object")return $n(e);if(typeof e!="string")return;const t=e.trim();if(t)return t.startsWith("{")||t.startsWith("[")?Bu(t):Uu(t)}function $n(e){if(!(e==null||typeof e!="object"||Array.isArray(e)))return e}function Bu(e){try{return $n(JSON.parse(e))}catch{return}}var Mr=!1;async function Uu(e){try{return $n((await ju()).parsePoCatalog(e))}catch{Mr||(Mr=!0);return}}var Hu="em_locale",Gu="em_ant_locale",qu="locale",$u="ant_locale";function zn(e){try{return JSON.parse(localStorage.getItem(e)||"")}catch{return null}}function Ro(e,t){const n=zn(e);if(!n)return null;try{localStorage.removeItem(e),localStorage.setItem(t,JSON.stringify(n))}catch{}return n}function zu(){return zn("em_locale")??Ro(qu,"em_locale")}function kr(e){try{localStorage.setItem(Hu,JSON.stringify(e))}catch{}}function Vu(){return zn("em_ant_locale")??Ro($u,"em_ant_locale")}function Ku(e,t){try{localStorage.setItem(Gu,JSON.stringify({id:e,data:t}))}catch{}}var Wu=8e3;function Yu(e,t){const n=e,r=t,i=Object.keys(n).filter(o=>o!=="");return i.length!==Object.keys(r).filter(o=>o!=="").length?!1:i.every(o=>JSON.stringify(n[o])===JSON.stringify(r[o]))}function Xu(e){const t=zu(),n=Vu();let r={ready:!1},i;const o=Me(r);let s=0;const d=y=>{r={...r,...y},o.set(r)},a=()=>{r.ready||d({ready:!0})},f=setTimeout(a,e.unlockAfterMs??Wu),u=y=>y!==s;let v;async function b(y,_){if(n?.id===y&&n.data&&d({antd:n.data}),!v)return;const S=await v(y).catch(()=>{});!S||u(_)||(d({antd:S}),Ku(y,S))}async function E(y,_){const S=await e.askHost(y).catch(()=>null);if(u(_))return!0;if(S==null)return!1;const A=await Co(S);return u(_)||(A&&d({catalog:A}),a()),!0}async function I(y,_){const S=await e.readList();if(u(_))return;if("error"in S){d({failure:{kind:"GET_LOCALES_ERROR",error:S.error}}),a();return}const A=S.data.find(c=>c.locale===y);if(!A){ku("em_locale")&&d({catalog:void 0}),a();return}if(Lr(t,A)&&(!i||i.catalog===t?.data)){a();return}if(i?.entry&&r.catalog===i.catalog&&Lr(i.entry,A)){kr(i.entry),a();return}const m=await e.readCatalog(y);if(!u(_)){if("error"in m){d({failure:{kind:"GET_LOCALE_ERROR",error:m.error}}),a();return}m.data&&(i?.id===y&&r.catalog===i.catalog&&Yu(i.catalog,m.data)||d({catalog:m.data}),kr({id:y,time:A.updatedAt||Math.floor(Date.now()/1e3),hash:A.contentHash,data:m.data})),a()}}async function g(y,_){if(!await E(y,_)){if(!u(_)&&(i?.id===y&&r.catalog===i.catalog||y==="en_US")&&a(),e.canUseNetwork&&!e.canUseNetwork()){a();return}await I(y,_)}}return{set(y){if(!y||y===r.id)return;const _=s+=1;d({id:y,failure:void 0});const S=i?.id===y&&r.catalog===i.catalog;(i&&!S&&r.catalog===i.catalog||y==="en_US"&&r.catalog)&&d({catalog:void 0}),t?.id===y&&t.data&&(d({catalog:t.data}),a()),b(y,_),g(y,_)},prime(y,_,S){r.id||r.catalog||!_||(i=t?.id===y&&t.data&&(!S||t.time>=S.time)?{id:y,catalog:t.data}:{id:y,catalog:_,entry:S?{id:y,time:S.time,hash:S.hash,data:_}:void 0},d({catalog:i.catalog}))},useAntdLoader(y){v=y,r.id&&b(r.id,s)},state:o,snapshot:()=>r,dispose:()=>clearTimeout(f)}}var Ju=class{http;constructor(e){this.http=e}jsonList=({locale:e},t={})=>this.http.request({path:`/translations/${e}.json`,method:"GET",format:"json",...t});getTranslations=({locale:e},t={})=>this.http.request({path:`/translations/${e}.po`,method:"GET",...t});localesList=(e={})=>this.http.request({path:"/translations/locales",method:"GET",format:"json",...e})},Qu=class{baseUrl="/api/v2";securityData=null;securityWorker;abortControllers=new Map;customFetch=(...e)=>fetch(...e);baseApiParams={credentials:"same-origin",headers:{},redirect:"follow",referrerPolicy:"no-referrer"};constructor(e={}){Object.assign(this,e)}setSecurityData=e=>{this.securityData=e};encodeQueryParam(e,t){return`${encodeURIComponent(e)}=${encodeURIComponent(typeof t=="number"?t:`${t}`)}`}addQueryParam(e,t){return this.encodeQueryParam(t,e[t])}addArrayQueryParam(e,t){return e[t].map(n=>this.encodeQueryParam(t,n)).join("&")}toQueryString(e){const t=e||{};return Object.keys(t).filter(n=>typeof t[n]<"u").map(n=>Array.isArray(t[n])?this.addArrayQueryParam(t,n):this.addQueryParam(t,n)).join("&")}addQueryParams(e){const t=this.toQueryString(e);return t?`?${t}`:""}contentFormatters={"application/json":e=>e!==null&&(typeof e=="object"||typeof e=="string")?JSON.stringify(e):e,"application/vnd.api+json":e=>e!==null&&(typeof e=="object"||typeof e=="string")?JSON.stringify(e):e,"text/plain":e=>e!==null&&typeof e!="string"?JSON.stringify(e):e,"multipart/form-data":e=>e instanceof FormData?e:Object.keys(e||{}).reduce((t,n)=>{const r=e[n];return t.append(n,r instanceof Blob?r:typeof r=="object"&&r!==null?JSON.stringify(r):`${r}`),t},new FormData),"application/x-www-form-urlencoded":e=>this.toQueryString(e)};mergeRequestParams(e,t){return{...this.baseApiParams,...e,...t||{},headers:{...this.baseApiParams.headers||{},...e.headers||{},...t&&t.headers||{}}}}createAbortSignal=e=>{if(this.abortControllers.has(e)){const n=this.abortControllers.get(e);return n?n.signal:void 0}const t=new AbortController;return this.abortControllers.set(e,t),t.signal};abortRequest=e=>{const t=this.abortControllers.get(e);t&&(t.abort(),this.abortControllers.delete(e))};request=async({body:e,secure:t,path:n,type:r,query:i,format:o,baseUrl:s,cancelToken:d,...a})=>{const f=(typeof t=="boolean"?t:this.baseApiParams.secure)&&this.securityWorker&&await this.securityWorker(this.securityData)||{},u=this.mergeRequestParams(a,f),v=i&&this.toQueryString(i),b=this.contentFormatters[r||"application/json"],E=o||u.format;return this.customFetch(`${s||this.baseUrl||""}${n}${v?`?${v}`:""}`,{...u,headers:{...u.headers||{},...r&&r!=="multipart/form-data"?{"Content-Type":r}:{}},signal:(d?this.createAbortSignal(d):u.signal)||null,body:typeof e>"u"||e===null?null:b(e)}).then(async I=>{const g=I;g.data=null,g.error=null;const y=E?I.clone():I,_=E?await y[E]().then(S=>(g.ok?g.data=S:g.error=S,g)).catch(S=>(g.error=S,g)):g;return d&&this.abortControllers.delete(d),_})}},Zu=L("rest.v2.transport"),Nr=Symbol("rest.v2.secureRequest");function ef(e){return e.getOrCreateInstance(Zu,()=>{const t=e.getInstance(pi)?.execute||fetch;return new Qu({baseUrl:"https://app.emailmaker.ru/api/v2",securityWorker:()=>({[Nr]:!0}),customFetch:(n,r={})=>{const{[Nr]:i,...o}=r;return t(n,{...o,[hs]:i!==!0})}})})}function tf(e,t){const n=ef(e);return Object.assign({},...t.map(r=>new r(n)))}function Fr(e,t){if(e!=null&&typeof e=="object"){const n=e[t];if(typeof n=="string"&&n!=="")return n}}function Po(e){const t=e.error,n=t?.error;return n&&typeof n=="object"?{status:e.status,data:{code:Fr(n.details,"wp_code")??n.code,message:Fr(n.details,"wp_message")??n.message,details:n.details}}:t&&typeof t=="object"?{status:e.status,data:t}:{status:e.status,data:{message:e.statusText||"request failed"}}}function Do(e){return!e.ok||!!e.error}function nf(e){try{const t=localStorage.getItem(e);if(t==="true")return!0;if(t==="false")return!1}catch{}}function Oo(){return nf(yt.em_translations_v2)??!0}function rf(e){return typeof e=="number"&&Number.isFinite(e)?e:0}function of(e){const t=e?Date.parse(e):NaN;return Number.isNaN(t)?0:Math.floor(t/1e3)}function sf(e){return Array.isArray(e)?e.reduce((t,n)=>{const r=Array.isArray(n)?n:[],i=r[0];return typeof i=="string"&&i!==""&&t.push({locale:i,updatedAt:rf(r[1])}),t},[]):[]}function af(e){return(e?.items??[]).reduce((t,n)=>(n.locale&&t.push({locale:n.locale,updatedAt:of(n.updated_at),contentHash:n.content_hash}),t),[])}function xo(e){return tf(e,[Ju])}function Et(e){return{error:{status:"FETCH_ERROR",error:e instanceof Error?e.message:"locale request failed"}}}function mn(e){return!e.ok||e.error!=null}function hn(e){const t=e.error;return{error:{status:e.status,data:t?.data??e.error}}}async function Nt(e){return{data:await Co(e)??null}}async function lf(e){if(Oo())try{const n=await xo(e).localesList();return Do(n)?{error:Po(n)}:{data:af(n.data)}}catch(n){return Et(n)}const t=gi(e,[wi]);try{const n=await t.get_translations2({file:"react_app"});return mn(n)?hn(n):{data:sf(n.data)}}catch(n){return Et(n)}}async function df(e,t){if(Oo())try{const r=await xo(e).jsonList({locale:t});return Do(r)?{error:Po(r)}:Nt(r.data)}catch(r){return Et(r)}const n=gi(e,[wi]);try{const r=await n.get_translations3({id:t,file:"react_app"});return mn(r)?hn(r):Nt(r.data)}catch{try{const r=await n.get_translations3({id:"en_US",file:"react_app"});return mn(r)?hn(r):Nt(r.data)}catch(r){return Et(r)}}}var ze=L("locale.service");function cf(e){if(e.getInstance(ze))return;const t=Xu({readList:()=>lf(e),readCatalog:n=>df(e,n),askHost:async n=>(await oe(e,B.READ_LOCALE).fire(n))[0],canUseNetwork:()=>!e.getInstance(me)});e.inject(ze,t),e.getInstance(j)?.addDispose(()=>t.dispose())}function uf(e){const t=e.getInstance(we);if(!t)return;const n=e.getInstance(ze);if(!n)return;const r=t.select(i=>i.locale).watch(i=>n.set(i));e.getInstance(j)?.addDisposable(r)}var ff="user_id",pf="project_id",jr=L("rest.identityHeadersProvided");function mf(e){if(e.getInstance(jr))return;e.inject(jr,!0);let t;e.getInstance(se)?.watch(n=>{t=n}),e.addService(Pn,{execute(n,r){if(r?.public)return;const i=t?.user?.id??eo(e).profile?.id;i!=null&&i!==""&&n.headers.set(ff,String(i));const o=t?.project;o!=null&&o!==""&&n.headers.set(pf,String(o))}})}function hf(e){if(!e)return!1;try{return e.getInstance(me)!==void 0}catch{return!1}}var gf="Invalid standaloneKey.",Nh=L("StandaloneMockGuard");function vf(){const e=new Error(gf);return e.name="InvalidStandaloneKeyError",e}function bf(e){e.addService(Pn,{execute:()=>{if(hf(e))throw vf()}})}function Ef(e){Ps(e),bf(e)}function yf(e){const t=new ho;e.inject(De,t);let n;const r=e.getInstance(se)?.watch(o=>{o&&(o.signal!==void 0&&(n=o.signal),t.configure({replaceSession:!0,...o.timeouts!==void 0?{timeouts:o.timeouts}:{},...n!==void 0?{signal:n}:{}}))}),i=e.getInstance(j);r&&i?.addDisposable(r),i?.addDispose(()=>{t.abort()})}var _f=Je("plugin.dataSource.blocks"),wf=Je("plugin.dataSource.blockRevisions"),Sf=Je("plugin.dataSource.comments"),If=mo(),Tf=mo(),Lo=`<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
1004
1004
  <html>
1005
1005
  <head>
1006
1006
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
@@ -1041,10 +1041,10 @@ import{t as si}from"./static/esm/50fbfdf6.js";import{$ as Zo,A as es,At as le,B
1041
1041
  </tr>
1042
1042
  </table>
1043
1043
  </body>
1044
- </html>`;function Ef(e){return{isNew:!0,is_inited:!1,subject:void 0,preheader:void 0,description:"",html:Co,project:e?.id,project_title:e?.title??"",tags:[],utm_parameters:{utm_source:"",utm_medium:"",utm_campaign:"",utm_term:"",utm_content:""},parent_email:null,common_styles:"{}",title:"",emailtags:[],isAmp:!1}}var yf=x("CurrentProject"),_f={};function _t(e){return e?.getInstance(yf)?.get()??_f}function Ro(e){const t=_t(e).card?.id,n=Number(t);return t!=null&&t!==""&&Number.isFinite(n)?n:void 0}var Po=new Set(["email","block","blocks","autosaves","revisions","comments","templateId","reload"]);function wf(e){return!Object.keys(e).some(t=>Po.has(t))}function Sf(e){const t={},n={};for(const[r,i]of Object.entries(e))Po.has(r)?t[r]=i:n[r]=i;return{showOptions:t,misplacedEmailFields:n}}function Dr(e){const t=e.id;if(!(t===null||typeof t=="string"&&t.trim()===""))return e;const n={...e};return delete n.id,n}function wt(e){return{emails:Eo(e),blocks:mf(e),emailRevisions:yo(e),blocksRevision:hf(e),comments:gf(e)}}function If(e){const t=Object.values(wt(e));return{suspendChange(){t.forEach(n=>n.suspendChange())},resumeChange(){t.forEach(n=>n.resumeChange())}}}function jn(e,t=!0){if(typeof e=="string")return{email:{code:e}};if(wf(e))return{email:Dr(e)};{const{showOptions:n,misplacedEmailFields:r}=Sf(e),i=Object.keys(r);t&&i.length>0&&void 0;const o=typeof e.email=="string"?{code:e.email}:e.email;return{...n,email:Dr({...r,...o})}}}function Do(e){return Pn(e)?.current()}function ut(e){return Do(e)?.getContent()}function Tf(e,t){const n=t??Ef(),r=Do(e)?.get();return r?{...n,...r.attributes,id:r.serverId??void 0,isNew:r.serverId===null,html:ut(e)??n.html}:n}async function kt(e){return(await e.getInstanceAsync(Pe))?.project}function xe({code:e,project:t,...n},r){const i=ge(n),o=Ro(r),s=ke(r);return e&&s.warnAboutUnconfiguredInput(e,n.id),{...i,...e?{html:s.toEditorForm(e)}:{},...o===void 0?{}:{project:o},utm_parameters:i.utm_parameters||{},_embedded:void 0}}function ee({html:e,renderGuid:t,showToken:n,showId:r,...i},o){const{requested:s}=_t(o),d=Yi(o);return ge({...i,code:ke(o).toOutputForm(e),project:s===void 0?i.project:s,utm_parameters:d.UTMEnabled?i.utm_parameters:void 0,tags:void 0,template:void 0,guid:void 0,emailtags:void 0,project_title:void 0,project_author:void 0,is_template:void 0,is_inited:void 0})}function un(e){return e==null?"":e.replaceAll(`\r
1044
+ </html>`;function Af(e){return{isNew:!0,is_inited:!1,subject:void 0,preheader:void 0,description:"",html:Lo,project:e?.id,project_title:e?.title??"",tags:[],utm_parameters:{utm_source:"",utm_medium:"",utm_campaign:"",utm_term:"",utm_content:""},parent_email:null,common_styles:"{}",title:"",emailtags:[],isAmp:!1}}var Cf=L("CurrentProject"),Rf={};function St(e){return e?.getInstance(Cf)?.get()??Rf}function Mo(e){const t=St(e).card?.id,n=Number(t);return t!=null&&t!==""&&Number.isFinite(n)?n:void 0}var ko=new Set(["email","block","blocks","autosaves","revisions","comments","templateId","reload"]);function Pf(e){return!Object.keys(e).some(t=>ko.has(t))}function Df(e){const t={},n={};for(const[r,i]of Object.entries(e))ko.has(r)?t[r]=i:n[r]=i;return{showOptions:t,misplacedEmailFields:n}}function Br(e){const t=e.id;if(!(t===null||typeof t=="string"&&t.trim()===""))return e;const n={...e};return delete n.id,n}function It(e){return{emails:To(e),blocks:_f(e),emailRevisions:Ao(e),blocksRevision:wf(e),comments:Sf(e)}}function Of(e){const t=Object.values(It(e));return{suspendChange(){t.forEach(n=>n.suspendChange())},resumeChange(){t.forEach(n=>n.resumeChange())}}}function Vn(e,t=!0){if(typeof e=="string")return{email:{code:e}};if(Pf(e))return{email:Br(e)};{const{showOptions:n,misplacedEmailFields:r}=Df(e),i=Object.keys(r);t&&i.length>0&&void 0;const o=typeof e.email=="string"?{code:e.email}:e.email;return{...n,email:Br({...r,...o})}}}function No(e){return Fn(e)?.current()}function ft(e){return No(e)?.getContent()}function xf(e,t){const n=t??Af(),r=No(e)?.get();return r?{...n,...r.attributes,id:r.serverId??void 0,isNew:r.serverId===null,html:ft(e)??n.html}:n}async function Ft(e){return(await e.getInstanceAsync(Pe))?.project}function xe({code:e,project:t,...n},r){const i=ge(n),o=Mo(r),s=ke(r);return e&&s.warnAboutUnconfiguredInput(e,n.id),{...i,...e?{html:s.toEditorForm(e)}:{},...o===void 0?{}:{project:o},utm_parameters:i.utm_parameters||{},_embedded:void 0}}function te({html:e,renderGuid:t,showToken:n,showId:r,...i},o){const{requested:s}=St(o),d=to(o);return ge({...i,code:ke(o).toOutputForm(e),project:s===void 0?i.project:s,utm_parameters:d.UTMEnabled?i.utm_parameters:void 0,tags:void 0,template:void 0,guid:void 0,emailtags:void 0,project_title:void 0,project_author:void 0,is_template:void 0,is_inited:void 0})}function gn(e){return e==null?"":e.replaceAll(`\r
1045
1045
  `,`
1046
- `)}function Or(e){return e.replace(/<title[^>]*>[\s\S]*?<\/title>/gi,"")}function Af(e,t,n,r){const i=Cf(e,t,n,r);return i===void 0}function Cf(e,t,n,r){const{email:i}=jn(t,!1),o=xe(i,e),s=o.id;if(s===void 0)return"no-id";if(r!==void 0&&r!==s)return"other-id-shown";const d=Pn(e)?.current();if(!d)return"no-session";const l=d.get(),f=l.attributes;if(l.serverId!==s)return"document-id";if(f.is_inited!==!0)return"not-inited";const u=Or(un(n??d.getContent()));if(o.html!==void 0&&Or(un(o.html))!==u)return"html";if(o.subject!==void 0&&o.subject!==f.subject)return"subject";if(o.preheader!==void 0&&o.preheader!==f.preheader)return"preheader";if(o.common_styles!==void 0&&o.common_styles!==f.common_styles)return"common_styles"}function xr(e,t){const{email:n}=jn(t,!1),r=xe(n,e);if(r.id!==void 0)return JSON.stringify([r.id,r.html===void 0?null:un(r.html),r.subject??null,r.preheader??null,r.common_styles??null])}function Rf(e,t){const n={...e};return delete n.id,{...n,...t}}function Pf(e){return e.html?e:{...e,html:Co}}function Be({code:e,project:t,...n},r,i){const o=i??Ro(r);return{...n,...e?{html:ke(r).toEditorForm(e)}:{},renderGuid:le(),...o===void 0?{}:{project:o}}}function st({html:e,renderGuid:t,...n},r){const{requested:i}=_t(r);return ge({...n,code:ke(r).toOutputForm(e),project:i===void 0?n.project:i,guid:void 0,link:void 0,status:void 0,slug:void 0,password:void 0,comment_status:void 0,template:void 0,blocktags:void 0,project_title:void 0,ping_status:void 0,lock:void 0,tag:void 0,is_template:void 0})}function Oo(e){return Pn(e)?.current()?.get().serverId??void 0}function fn(e,t,n){return n===void 0&&(n=e.post===void 0?Oo(t):e.post),{...e,content:e.content?`<p>${e.content}</p>`:"",post:n}}function at(e,t){return ge({...e,link:void 0,comment_status:void 0})}function pn({code:e,...t},n,r){return r===void 0&&(r=t.parent===void 0?Oo(n):t.parent),{...t,...e?{html:e}:{},parent:r}}function Lr({html:e,...t},n){return ge({...t,code:e,guid:void 0,compiled:ge({html:e,ampHtml:e&&""})})}var Df=x("emailTemplate.reads");async function Of(e,t){try{return await Se(e).email(e).readEmail(t)??void 0}catch(n){n instanceof Error&&n.message;return}}function xf(e,t){const n=e.getOrCreateInstance(Df,()=>new Map),r=n.get(t);if(r!==void 0)return r;const i=Of(e,t).then(o=>(o===void 0&&n.delete(t),o));return n.set(t,i),i}var Lf="EXTERNAL";function Mf(e){return e instanceof Error?e:new Error(typeof e=="string"?e:"сохранение не состоялось")}var kf="email_id",Nf=class extends Z{_container;_prevCommand;_lastShow;_showToken=0;_showRequests=0;_dataSources;_eventLock;_queue=Fs();_currentEmail;constructor(e){super(),this._container=e;const t=e;this._dataSources=wt(t),this._eventLock=If(t);const n=K(e,F.ON_EMAIL_CHANGED_ID);this.addDisposable(n(r=>{this._currentEmail=r})),this.addDisposable(e.addService(_n,{execute:(r,i)=>{!i?.public&&this._currentEmail?.id&&!this._currentEmail.isNew&&r.headers.append(kf,this._currentEmail.id)}}))}_getInitPipeline(){return this._container?.getInstance(De)??xn}_throwIfDestroyed(){if(this.isDisposed())throw In()}async getTemplateEmail(e){const t=await xf(this._container,String(e));if(!t)return;const n={...t,lock:!1,parent_email:String(e)};return delete n.id,n}async setBlocks(e=[]){const{cache:t}=this._dataSources.blocks,n=await kt(this._container);await t.setAll(e.filter(r=>r.id!==void 0).map(r=>[r.id,Be(r,this._container,n)]))}async setEmailRevisions(e,t){if(e===void 0)return;const{cache:n}=this._dataSources.emailRevisions,r=e.filter(i=>i.id!==void 0).map(i=>[i.id,pn(i,this._container,t)]);await n.setAll(r)}async setComments(e=[],t){const{cache:n}=this._dataSources.comments,r=e.filter(i=>i.id!==void 0).map(i=>[i.id,fn(i,this._container,t)]);await n.setAll(r)}async setEmail(e,t,n,r,i){const o=this._dataSources.emails,s=o.cache,d=await kt(this._container),l=r??this._showToken;e=typeof e=="string"?{code:e}:{...e};let f=xe(e,this._container);const u=f.id;let v=u;if(u!==void 0){const b=await o.get(u);f={...b??{},...f,renderGuid:b?.renderGuid??le(),...l>0?{showToken:l}:{},...i?{showId:i}:{},project:d}}else{v=n??le();const b=await o.get(v);f={...f,renderGuid:b?.renderGuid??le(),...l>0?{showToken:l}:{},...i?{showId:i}:{},project:d},delete f.project}if(t){const b=await this.getTemplateEmail(String(t));b&&(f=Rf(b,f))}return u===void 0&&(f=Pf(f)),await s.addOrUpdate(v,()=>f),f}_rememberShow(e){this._prevCommand=e}_isRepeatOfLastShow(e){const t=this._lastShow;if(!t||t.signature!==xr(this._container,e))return!1;const n=ut(this._container);return n===void 0||n===t.html}_rememberShownContent(e){const t=xr(this._container,e);this._lastShow=t===void 0?void 0:{signature:t,html:ut(this._container)??""}}async _show(e,t){if(this._throwIfDestroyed(),t!==void 0&&t!==this._showRequests){this._showRequests;return}if(!e)return;const n=this._getInitPipeline();if(q(n.signal),Af(this._container,e,ut(this._container),this._prevCommand?.id)||this._isRepeatOfLastShow(e))return;const r=jn(e);r.email.id,this._prevCommand?.id;let i,o="",s=0,d=!1,l,f=Promise.resolve(),u,v=!1;try{this._eventLock.suspendChange();const{email:b,blocks:E,autosaves:I,comments:g,templateId:y,reload:w}=r;i=b.id;const S=xe(b,this._container),A=S.id,m=A??le(),c=await Ue("getProject",kt(this._container));q(n.signal),o=le();const a={isNew:A===void 0,id:String(m),project:c},p=w===!0&&A!==void 0;p&&(await this._dataSources.emails.remove(String(A),{silent:!0}),String(A)),s=++this._showToken,String(m);const h=[];h.push(this.setBlocks(E)),b.id!==void 0&&(h.push(this.setComments(g)),h.push(this.setEmailRevisions(I,String(b.id)))),h.push(this.setEmail(b,Number(y),A===void 0?String(m):void 0,s,o)),await Ue("setEmail+blocks+revisions",Promise.all(h),{emailId:A??String(m),showId:o,targetShowToken:s}),q(n.signal);const _=await this._dataSources.emails.get(String(m)),T=ve(this._container),C={id:o,token:s};A===void 0?u=T.startNewDraft(_??S,{patch:S,show:C}):p?u=T.reload(A,{email:_??S,patch:S,show:C}):T.sessionKey()===Fe(A)?u=T.show(S,C):u=T.open(A,{email:_??S,patch:S,show:C});const P=!!this._prevCommand&&pt(this._prevCommand,a);a.id,!this._prevCommand||pt(this._prevCommand,a),this._prevCommand?.id,this._rememberShow(a),f=n.requestShow({showId:o,navId:String(m),emailId:A,isNew:A===void 0}),v=!0,String(m),d=!0}catch(b){l=b,v&&o&&n.failShow(o,b),String(b)}finally{this._eventLock.resumeChange()}if(!d)throw l instanceof Error?l:new Error(`[emailmaker] show() setup failed: ${String(l??"unknown error")}`);return Ue("show-init-deferred",Promise.all([f,u?.whenReady().catch(b=>{if(b instanceof mt){const E=Fi(b);throw E?new Error(`[emailmaker] show(): email open failed (${E})`,{cause:b}):b}})??Promise.resolve()]).then(()=>{}),{showId:o,emailId:i??null}).then(()=>{this._rememberShownContent(e)})}async _save(){this._throwIfDestroyed();const e=this._getInitPipeline();q(e.signal);const t=ve(this._container),n=await t.save("publish",{source:Lf});if(q(e.signal),!n)throw Mf(t.saveState().error);return ee(Tf(this._container,this._currentEmail),this._container)}_queuedShow=this._queue.decorate((e,t)=>this._show(e,t),this);show=e=>{const t=this._showRequests+=1;return this._queuedShow(e,t)};save=this._queue.decorate(this._save,this)};function Ff(e){return String(e).replace(/"/g,"&quot;")}function jf(e=new Date){const t=n=>String(n).padStart(2,"0");return String(e.getFullYear())+t(e.getMonth()+1)+t(e.getDate())+t(e.getHours())+t(e.getMinutes())+t(e.getSeconds())}function Bf(e){const t=/<(table|tr|div)(\s[^>]*)>/gi;let n;for(;(n=t.exec(e))!==null;){const r=n[2]??"";if(/\bem\s*=\s*["']block["']/i.test(r))return{full:n[0],index:n.index}}return null}function Mr(e,t,n){const r=new RegExp(`\\b${t}\\s*=\\s*["'][^"']*["']`,"i"),i=Ff(n);return r.test(e)?e.replace(r,`${t}="${i}"`):e.replace(/>$/,` ${t}="${i}">`)}function Uf(e,t,n){if(!e?.trim()||!t)return e;const r=Bf(e);if(!r)return e;const i=String(t),o=jf(n??new Date);let{full:s,index:d}=r;const l=s.length;return/\bem-block-id\s*=/.test(s)||(s=Mr(s,"em-block-id",i)),s=Mr(s,"em-block-version",o),e.slice(0,d)+s+e.slice(d+l)}function Hf(e){if(e.meta!==void 0&&e.meta!==null&&typeof e.meta=="object")return e.meta;const t=e.catalogExtra?.meta;if(t!=null&&typeof t=="object")return t}function Gf(e,t){const n=e.insertFrom??t?.type,r=t?.blockId??(e.id!=null&&e.id!==""?String(e.id):void 0),i=t?.project??(e.project!==void 0&&e.project!==null?String(e.project):void 0);return{type:t?.type??n,insertFrom:n,name:t?.name??e.name,blockId:r,project:i,fragmentRole:e.fragmentRole,id:r,title:e.title??void 0,blockType:e.type,meta:Hf(e)}}function Nt(e,t){return t?Gf(t,e):{type:e.type,name:e.name,blockId:e.blockId,project:e.project,insertFrom:e.type}}var xo=["title","slug","type","tags","blocktags","modified","author","lock","subject","description","excerpt","status","is_template","link","renderGuid","date","date_gmt","modified_gmt","comment_status","ping_status","template","related_email","project_title","project_author","isAmp","meta"],qf=[...xo,"html","id","project","password"],Sh=new Set(["html",...xo,"global_block","project"]);function $f(e){if(!e||typeof e!="object")return{};const t={};e.id!=null&&e.id!==""&&(t.id=String(e.id)),e.title!=null&&e.title!==""&&(t.title=e.title),e.slug!=null&&e.slug!==""&&(t.slug=e.slug),e.type!=null&&e.type!==""&&(t.type=e.type),e.tags!=null&&(t.tags=e.tags),e.blocktags!=null&&(t.blocktags=e.blocktags),e.modified!=null&&e.modified!==""&&(t.modified=e.modified),e.author!=null&&e.author!==""&&(t.author=String(e.author)),e.lock!=null&&(t.lock=e.lock),e.subject!=null&&e.subject!==""&&(t.subject=e.subject),e.description!=null&&e.description!==""&&(t.description=e.description),e.excerpt!=null&&e.excerpt!==""&&(t.excerpt=e.excerpt),e.status!=null&&e.status!==""&&(t.status=e.status),e.is_template!=null&&(t.is_template=e.is_template),e.link!=null&&e.link!==""&&(t.link=e.link),e.renderGuid!=null&&e.renderGuid!==""&&(t.renderGuid=e.renderGuid),e.date!=null&&e.date!==""&&(t.date=e.date),e.date_gmt!=null&&e.date_gmt!==""&&(t.date_gmt=e.date_gmt),e.modified_gmt!=null&&e.modified_gmt!==""&&(t.modified_gmt=e.modified_gmt),e.comment_status!=null&&e.comment_status!==""&&(t.comment_status=e.comment_status),e.ping_status!=null&&e.ping_status!==""&&(t.ping_status=e.ping_status),e.template!=null&&e.template!==""&&(t.template=e.template),e.related_email!=null&&e.related_email!==""&&(t.related_email=e.related_email),e.project_title!=null&&e.project_title!==""&&(t.project_title=e.project_title),e.project_author!=null&&e.project_author!==""&&(t.project_author=e.project_author),e.isAmp!=null&&(t.isAmp=e.isAmp),e.meta!==void 0&&e.meta!==null&&typeof e.meta=="object"&&(t.meta=e.meta);const n=new Set(qf),r={};for(const i of Object.keys(e))n.has(i)||(r[i]=e[i]);return Object.keys(r).length>0&&(t.catalogExtra=r),t}function zf(e,t={}){return!e||typeof e!="object"?{html:"",insertFrom:t.type,name:t.name,project:t.project,id:t.blockId}:{...$f(e),html:typeof e.html=="string"?e.html:"",insertFrom:t.type,name:t.name,project:t.project??e.project,id:e.id!=null&&e.id!==""?String(e.id):t.blockId}}var mn=new WeakMap;function Vf(e){let t=mn.get(e);return t||(t={byId:new Map,fallback:[]},mn.set(e,t)),t}function Kf(e){mn.delete(e)}function Wf(e,t){const{byId:n,fallback:r}=Vf(t);if(e.blockId){const i=n.get(e.blockId);if(i){n.delete(e.blockId);const o=r.indexOf(i);return o>=0&&r.splice(o,1),i}return}for(let i=r.length-1;i>=0;i--){const o=r[i],s=e.name!=null&&e.name!==""&&o.name!=null&&o.name!==""&&o.name===e.name,d=e.type!=null&&e.type!==""&&o.insertFrom===e.type;if(s&&d)return r.splice(i,1),o.id!=null&&o.id!==""&&n.delete(String(o.id)),o}}async function Yf(e,t){const{blocks:n}=wt(e);return await n.cache.getIfPresent(t)??void 0}async function Xf(e,t){if(!t.blockId)return;const n=await Yf(e,t.blockId);if(n)return zf(n,t)}async function Jf(e,t){const n=Wf(e,t);if(n)return Nt(e,n);const r=await Xf(t,e);return r?Nt(e,r):Nt(e,void 0)}var Qf=bs("application_block_inserted"),Zf=-1e3,kr=new WeakSet;function ep(e){if(e===null||typeof e!="object")return!1;const t=e;return typeof t.type=="string"||typeof t.name=="string"||typeof t.blockId=="string"||typeof t.project=="string"||typeof t.project=="number"}function tp(e){if(!e||kr.has(e))return;kr.add(e);const t=new Z,n=X(e);return t.addDisposable(n.addListenerAsyncPipe(Qf,async(r,i)=>{const o=ep(r)?await Jf(r,e):r;return i?i(o):o},Zf)),t.addDisposable({dispose:()=>{Kf(e)}}),t}var Nr=100,np=class extends Z{_container;_events;constructor(e){super(),this._container=e;const t=tp(e);t&&this.addDisposable(t)}_get(){const e=this._container,{blocks:t,emails:n,comments:r,emailRevisions:i}=wt(e),o=K(e,F.ON_SHARE_ID),s=K(e,F.ON_SHOW_PREVIEW_ID),d=K(e,F.ON_EMAIL_CLONE_ID),l=K(e,F.ON_CODE_VALIDATE_ID),f=K(e,F.ON_SUBJECT_CHANGED_ID),u=K(e,F.ON_EMAIL_CHANGED_ID),v=K(e,F.ON_PREHEADER_CHANGED_ID),b=K(e,F.ON_SAVEBUTTON_CLICK_ID),E=K(e,F.ON_NEXTBUTTON_CLICK_ID),I=K(e,F.ON_SEND_LIVEPREVIEW_ID),g=K(e,F.ON_SEND_TESTEMAIL_ID),y=K(e,bf),w=K(e,F.ON_CONTENT_CHANGED_ID),S=K(e,vf),A=K(e,F.ON_PREVIOUSBUTTON_CLICK_ID),m=K(e,F.ON_SEND_EMAIL_MODAL_ID),c=gs(K(e,F.ON_EMAIL_INIT_ID),a=>!a.reset);return{handlePreheaderChanged:M(v),handleSubjectChanged:M(f),handleValidate:M(l),handleReadEmail:M(n.handlerRead,a=>a,a=>a&&xe(a,e)),handleSaveEmail:M(n.onSave,function({prev:a,patch:p,value:h,source:_}){const T=a?ee(a,e):void 0;return{prev:T,patch:He(T,ee(p,e)),value:ee(h,e),source:_}},a=>a?xe(a,e):void 0),handleRemoveEmail:M(n.onRemove,({value:a,source:p})=>({value:ee(a,e),source:p}),()=>{}),handleReadCommonBlocks:M(y,a=>a.project,a=>a?.map(p=>Be(p,e))),handleReadTemplateBlocks:M(S,a=>a,a=>a?.map(p=>Be(p,e))),handleReadBlocks:M(t.byForeignKey("project").handleRead,a=>_t(e).requested||String(a),a=>a?.map(p=>Be(p,e))),handleSaveBlock:M(t.onSave,function({prev:a,patch:p,value:h,source:_}){const T=h.global_block===!0&&h.id&&typeof h.html=="string"?{...h,html:Uf(h.html,String(h.id))}:h,C=a?st(a,e):void 0;return{prev:C,patch:He(C,st(p,e)),value:st(T,e),source:_}},a=>a?Be(a,e):void 0),handleRemoveBlock:M(t.onRemove,({value:a,source:p})=>({value:st(a,e),source:p}),()=>{}),handleReadComments:M(r.byForeignKey("post").handleRead,a=>a,a=>a?.map(p=>fn(p,e))),handleSaveComment:M(r.onSave,function({prev:a,patch:p,value:h,source:_}){const T=a?at(a,e):void 0;return{prev:T,patch:He(T,at(p,e)),value:at(h,e),source:_}},a=>a?fn(a,e):void 0),handleRemoveComment:M(r.onRemove,({value:a,source:p})=>({value:at(a,e),source:p}),()=>{}),handleReadEmailRevisions:M(i.byForeignKey("parent").handleRead,a=>a,a=>a?.map(p=>pn(p,e))),handleEmailAutosave:M(i.onSave,function({prev:a,patch:p,value:h,source:_}){return{value:Lr(h,e),source:_}},a=>a?pn(a,e):void 0),handleRemoveEmailAutoSave:M(i.onRemove,({value:a,source:p})=>({value:Lr(a,e),source:p}),()=>{}),handleEmailChanged:M(Kn(u,Nr),a=>ee(a,e)),handleEmailInit:M(c,a=>ee(a,e)),handlePreviousButtonClick:M(A,a=>ee(a,e)),handleNextButtonClick:M(E,a=>ee(a,e)),handleSaveButtonClick:M(b,a=>ee(a,e)),handleHtmlChanged:M(Kn(w,Nr)),handleTestEmailSend:M(g,({html:a,...p})=>({...p,code:a,compiled:{html:a,ampHtml:""}})),handleTestEmailModal:M(m,a=>ee(a,e)),handleCloneEmail:M(d,a=>ee(a,e)),handleShareEmail:M(o),handlePreviewEmail:M(s),handleLivePreviewEmail:M(I)}}get(){return this._events||(this._events=this._get())}_listenersUpdaters;setOptions(e={}){const t=this.get();let n=this._listenersUpdaters;if(!n){n=this._listenersUpdaters={};for(const r of Object.keys(t))n[r]=this.addDisposable(new Re(t[r]))}for(const r of Object.keys(t))n[r].setListener(e[r])}},rp=x("DataController"),ip=x("DataEvents");function Lo(e){return e.getOrCreateInstance(rp,()=>{const t=new Nf(e);return e.getInstance(N)?.addDisposable(t),t})}function Mo(e){return e.getOrCreateInstance(ip,()=>new np(e))}var op=x("plugin.startupShow");function sp(e){const t=Lo(e),n=Mo(e),r=e.getInstance(oe),i=e.getInstance(N),o={current:Promise.resolve()};e.inject(op,o);const s=r?.watch(l=>{l&&n.setOptions(l)}),d=r?.select(l=>l?.content).watch(l=>{l!==void 0&&($(J.showStart),o.current=(async()=>{try{await t.show(l)}catch{}finally{$(J.showEnd)}})())});s&&i?.addDisposable(s),d&&i?.addDisposable(d)}function ap(e){const t=Lo(e);return{...Mo(e).get(),show(n){return $(J.showStart),t.show(n).finally(()=>$(J.showEnd))},save(){return t.save()}}}var lp=[{name:"rest.client",setup:ff},{name:"auth.oauth",setup:Rs},{name:"rest.identityHeaders",setup:af},{name:"lifetime.destroyable",provides:[kn],setup:du},{name:"appInit",provides:[Pe,Tn],setup:fa},{name:"config",provides:[we],setup:au},{name:"email.documents",setup:Cu},{name:"show.initPipeline",provides:[De],setup:pf},{name:"show",setup:sp},{name:"locale.service",provides:[$e],setup:nf},{name:"locale.fromConfig",awaits:{services:[we,$e]},setup:rf},{name:"canvas.early",setup:dc},{name:"canvas.previewSettings",setup:vc},{name:"canvas.sandboxExtensions",setup:Ec},{name:"canvas.headerSync",provides:[uo],setup:fc},{name:"canvas.ampSync",setup:Ul},{name:"canvas.moduleBridge",setup:ud},{name:"canvas.port",setup:Yl},{name:"canvas.images",setup:Kl},{name:"canvas.edits",setup:$d},{name:"canvas.blockContent",setup:jd},{name:"canvas.sandboxFill",provides:[Ln],setup:Nc},{name:"canvas.reactions",setup:sc}],dp=class extends Error{cycle;constructor(e){super(`[units] цикл в зависимостях: ${e.join(" → ")}`),this.cycle=e}};function cp(e){const t=new Map;for(const n of e)for(const r of n.provides??[]){const i=t.get(r)??[];i.push(n),t.set(r,i)}return t}function up(e,t){const n=[];for(const r of e.awaits?.services??[])for(const i of t.get(r)??[])i!==e&&n.push(i);return n}function ko(e){const t=cp(e),n=[],r=new Set,i=[],o=new Set,s=d=>{if(!r.has(d)){if(o.has(d)){const l=i.indexOf(d);throw new dp([...i.slice(l),d].map(f=>f.name))}o.add(d),i.push(d);for(const l of up(d,t))s(l);i.pop(),o.delete(d),r.add(d),n.push(d)}};for(const d of e)s(d);return n}var Fr;function Bn(e){const t=e.getInstance(oe);if(t)return t;e.getInstance(N)||e.inject(N,new Z);const n=Me();e.inject(oe,n),Fr??=ko(lp);for(const r of Fr)r.setup(e);return n}function fp(e){}var pp=[{name:"save.previewFollow",setup:fp}],jr=x("plugin.lateUnitsInstalled");function mp(e){if(!e.getInstance(jr)){e.inject(jr,!0);for(const t of ko(pp))t.setup(e)}}function hp(e,t){return{project:Number(e),app_id:t?.app_id||0,app_config:t?.app_config||{},user:t?.user}}function gp(e){if(!e)return;const t=ui(e)?.data,n=t?.data?.scope??t?.scope;return(Array.isArray(n)?n.flatMap(r=>typeof r=="string"?r.split(/\s+/):[]):typeof n=="string"?n.split(/\s+/):[]).find(r=>/^project_\d+$/.test(r))?.replace(/^project_/,"")||void 0}var vp=Le(e=>{let t,n,r;return{async setOptions(i){const o=r!==i.getAuthToken,s=!pt(t,i.user),d=n!==i.project;if(r=i.getAuthToken,t=i.user,n=i.project,!(!e.getInstance(me)||!i.getAuthToken)&&!(!o&&!s&&!d))try{const l=await i.getAuthToken(i.user,i.project);e.inject(Ls,Promise.resolve(l||""));const f=gp(l);if(!f)return;e.inject(Ts,f);const u=e.getInstance(Pe),v=u?await u.catch(()=>{}):void 0;e.inject(Pe,Promise.resolve(hp(f,v)))}catch{}}}});function bp(e,t){if(e.getInstance(zn))return;e.inject(zn,!0);const n=En(e,F.FILE_PROXY_EVENT_ID);t.addDisposable(n(async({url:r})=>(await fetch(r)).blob(),Number.MIN_VALUE))}function Ep(e){e.getInstance(Is)||e.inject(me,void 0)}function St(e){return String(e.standaloneKey||"").trim()||void 0}function yp(e){return e.standaloneOnAuthFailure===!0?!0:e.config?.standaloneOnAuthFailure===!0}function Un(e){return yp(e)?!!St(e):!1}function It(e){return!!St(e)&&!Un(e)}var _p=Le(e=>{let t,n=!1;return{setOptions(r){const i=n;if(n=!0,!It(r)){t&&(Ep(e),Un(r)),t=void 0;return}const o=St(r);if(!o||t===o&&e.getInstance(me))return;t=o,e.inject(me,o);const s=e.getInstance(N);s&&bp(e,s)}}}),wp=Le(e=>{const t=e.getInstance(N),n=En(e,di),r=M(n),i=t.addDisposable(new Re(r));return{setOptions({handleLoad:o}){i.setListener(o)},instance:{handleLoad:r},dispose:()=>t.dispose()}}),Sp=Le(e=>{const t=e.getInstance(N),n=t.addDisposable(new pe),r=t.addDisposable(new pe),i=pi(e,Zo),o=M(n.event),s=M(r.event),d=M(i.event),l=t.addDisposable(new Re(o)),f=t.addDisposable(new Re(s)),u=t.addDisposable(new Re(d));return{instance:{handleSetOptions:o,handleOptionsChanged:s,handleConfigChanged:d},async setOptions(v){l.setListener(v.handleSetOptions),f.setListener(v.handleOptionsChanged),u.setListener(v.handleConfigChanged),await n.fire(v),await r.fire(v)},dispose(){}}}),Ft,No="core";function Ip(){const e=window.__emailmaker__?.require;return typeof e!="function"?Promise.reject(new Error("[loadCore] AMD loader is unavailable")):new Promise((t,n)=>{e([No],r=>t(r),r=>n(r instanceof Error?r:new Error("[loadCore] Failed to require core module")))})}function Tp(e){const t=window.__emailmaker__?.require?.warm;return typeof t!="function"?Je().then(()=>{}):t([No],e)}function Je(){return Ft===void 0&&(Ft=Ip().then(e=>(qe()&&e.installDiagnostics().catch(t=>{}),e))),Ft}var jt=null,Bt=null;async function Ap(e){typeof e?.prefetch=="function"&&await e.prefetch()}function Hn(){return jt||(jt=Je().then(()=>{})),jt}function Fo(e){return Bt||(Bt=Ap(e)),Bt}function Cp(){return Fo(typeof window.__emailmaker__<"u"?window.__emailmaker__:void 0)}function Rp(e){return Promise.all([Hn(),Fo(e)]).then(()=>{})}function Pp(e){const t=e?.preload?.start??e?.startupPrefetchMode;return t==="eager"||t==="idle"||t==="manual"||t==="off"?t:"idle"}function Br(e,t){const n=e?.preload?.execute!==!1;Promise.resolve().then(()=>Tp(t?{priority:t}:void 0)).then(()=>n?Hn():void 0).catch(()=>{})}function Dp(e){const t=Pp(e);if(t==="eager")Br(e);else if(t==="idle"){const n=()=>Br(e,"low");document.readyState==="complete"?n():window.addEventListener("load",n,{once:!0})}}var jo="PluginRegistry";function Op(e=Os()){return e.getOrCreateInstance(jo,()=>new Ks)}var xp=new Ws(()=>Op()),Lp=Le(e=>{let t;function n(){if(!t)throw new Error("PluginCollection not initialized. Call init() first.");return t}return{async setOptions(r){const i=e.getInstance(Et),o=e.getInstance(jo);t||(t=new Vs(i,o,{ensureHostRuntimeReady:Cp}),e.inject(Xt,t));const s=r?.plugins||[];i&&await t.setPlugins(s)},instance:{use(r){return typeof r=="function"?n().useByCtor(r):n().useByKey(r)},useAsync(r){return n().useAsync(r)},waitPlugin(r){return n().waitFor(r)}},dispose(){t?.dispose(),t=void 0}}}),Bo=class{_listeners=[];add(e,t=0,n){const r={fn:n?e.bind(n):e,priority:t};return this._listeners.push(r),{dispose:()=>{const i=this._listeners.indexOf(r);i>=0&&this._listeners.splice(i,1)}}}async run(e){const t=[...this._listeners].sort((n,r)=>r.priority-n.priority);for(const{fn:n}of t){const r=await n(e);r!==null&&typeof r=="object"&&!Array.isArray(r)&&!(r instanceof Date)&&!(r instanceof RegExp)&&Object.assign(e,r)}return e}},Mp=x("ELEMENT_INSERT_HTML_PIPELINE"),kp=x("BLOCK_INSERT_HTML_PIPELINE"),Np="application_block_inserted",Fp=class{_context;constructor(e){this._context=e}get _container(){return this._context.container}handleBeforeInject(e,t,n){return this._container.getOrCreateInstance(kp,()=>new Bo).add(e,t??0,n)}handleInject(e,t,n){const r=this._container.getOrCreateInstance(We,()=>new Ye),i=n?e.bind(n):e;return r.addListener(Np,i,t)}},jp=x("ComponentRegistry"),Ur;function ze(e,t=jp){const n=ft.getInstance(t);if(n)return n;if(!Ur)throw new Error("[extensions] component registry is not loaded yet — UI work starts at init()");return ft.getOrCreateInstance(t,Ur)}var Bp=class{_context;constructor(e){this._context=e}get _container(){return this._context.container}getNames(){return new Promise(e=>{const t=this._container.addService(Ze,{execute:n=>{t.dispose(),e(n.value.map(r=>({name:r.name,html:r.html})))}})})}update(e,t){const n=this._container,r=ze(n);return n.addService(Ze,{execute:i=>{const o=i.value.find(s=>s.name===e);if(o){const{icon:s,title:d,fallbackTooltip:l,...f}=t;s&&(o.icon=r.getReactNode(s)),d&&(o.title=r.getReactNode(d)),l&&(o.fallbackTooltip=r.getReactNode(l)),Object.assign(o,f)}}})}delete(e){this._container.addService(Ze,{execute:t=>{const n=t.value.findIndex(r=>r.name===e);n>=0&&t.value.splice(n,1)}})}insert(e,t){const n=this._container,r=ze(n);return n.addService(Ze,{execute:i=>{i.value.splice(t??i.value.length,0,{...e,title:r.getReactNode(e.title),icon:r.getReactNode(e.icon),fallbackTooltip:r.getReactNode(e.fallbackTooltip)})}})}handleBeforeInject(e,t,n){return this._container.getOrCreateInstance(Mp,()=>new Bo).add(e,t??0,n)}handleInject(e,t,n){return Ce(this._container,ps).event(r=>{e({name:r.name,className:r.className||"",html:r.html})},t,n)}},Up=class{_messageService;constructor(e){this._messageService=e.container.getOrCreateInstance(We,()=>new Ye)}send(e,t,n){this._messageService.send(e,t,n)}sendAsync(e,t,n=!0){return this._messageService.sendAsync(e,t,n)}addListener(e,t,n){return this._messageService.addListener(e,t,n)}addListenerAsync(e,t,n=0){return this._messageService.addListenerAsync(e,t,n)}onInit(e,t=!0,n=0){return this._messageService.onInit(e,t,n)}isInited(){return this._messageService.isInited()}};function Hp(e){return Object.fromEntries(Object.entries(e).filter(([t,n])=>n!==void 0))}var Gp=class{_context;_showModalEmitter;_closeModalEmitter;_updateModalEmitter;constructor(e){this._context=e;const t=e.container;this._showModalEmitter=Ce(t,cs),this._closeModalEmitter=Ce(t,as),this._updateModalEmitter=Ce(t,ms)}get _container(){return this._context.container}show(e){const t=ze(this._container),n=`modal_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,r=e.modalProps;return this._showModalEmitter.fire({...e,content:t.getReactNode(e.content),title:t.getReactNode(e.title),id:n,modalProps:r?{...r,footer:t.getReactNode(r.footer),okText:t.getReactNode(r.okText),cancelText:t.getReactNode(r.cancelText),closeIcon:t.getReactNode(r.closeIcon)}:void 0}),n}close(e){this._closeModalEmitter.fire(e)}closeAll(){this._closeModalEmitter.fire()}update(e,t){const n=ze(this._container),r=t.modalProps;this._updateModalEmitter.fire(Hp({...t,content:n.getReactNode(t.content),title:n.getReactNode(t.title),id:e,modalProps:r?{...r,footer:n.getReactNode(r.footer),okText:n.getReactNode(r.okText),cancelText:n.getReactNode(r.cancelText),closeIcon:n.getReactNode(r.closeIcon)}:void 0}))}},qp=class{_registration;_loadedDisposable;loaded;ready;_loadedSettled=!1;_readySettled=!1;constructor(e,t){this._registration=e,this._loadedDisposable=t,this.loaded=new Promise((n,r)=>{const i=()=>this._loadedDisposable.dispose(),o=()=>{this._loadedSettled||(this._loadedSettled=!0,this._readySettled&&i(),n())},s=d=>{this._loadedSettled||(this._loadedSettled=!0,this._readySettled&&i(),r(d))};this._resolveLoaded=o,this._rejectLoaded=s}),this.ready=new Promise((n,r)=>{const i=()=>this._loadedDisposable.dispose(),o=()=>{this._readySettled||(this._readySettled=!0,this._loadedSettled&&i(),n())},s=d=>{this._readySettled||(this._readySettled=!0,this._loadedSettled&&i(),r(d))};this._resolveReady=o,this._rejectReady=s})}_resolveLoaded=()=>{};_rejectLoaded=()=>{};_resolveReady=()=>{};_rejectReady=()=>{};resolveLoaded(){this._resolveLoaded()}resolveReady(){this._resolveReady()}rejectLoad(e){this._rejectLoaded(e),this._rejectReady(e)}rejectReady(e){this._rejectReady(e)}dispose(){this._registration.dispose();const e=new Error("Sandbox script registration disposed before completion.");this.rejectLoad(e),this.rejectReady(e)}},$p=class{_context;constructor(e){this._context=e}get _container(){return this._context.container}get _messageService(){return this._container.getOrCreateInstance(We,()=>new Ye)}_createScriptHandle(e,t){const n=this._messageService.addListener(ts,i=>{if(i.key===e){if(i.phase==="load"&&i.status==="success"){r.resolveLoaded();return}if(i.phase==="ready"&&i.status==="success"){r.resolveReady();return}if(i.phase==="load"){r.rejectLoad(new Error(i.error||`Sandbox script "${e}" failed to load.`));return}r.rejectReady(new Error(i.error||`Sandbox script "${e}" failed to initialize.`))}}),r=new qp(t,n);return r}registerSandboxCSS(e){return this._container.addService(Te,{type:"link",key:e,parent:"head",attributes:{rel:"stylesheet",type:"text/css",href:e}})}registerSandboxCSSCode(e,t){return this._container.addService(Te,{type:"style",key:e,parent:"head",attributes:{type:"text/css"},innerHTML:t})}registerSandboxScript(e){const t=this._container.addService(Te,{type:"script",key:e,parent:"head",attributes:{src:e,type:"text/javascript"}});return this._createScriptHandle(e,t)}registerSandboxScriptCode(e,t){const n=this._container.addService(Te,{type:"script",key:e,parent:"head",attributes:{type:"text/javascript"},innerHTML:t});return this._createScriptHandle(e,n)}},zp=new Set([Symbol.for("react.element"),Symbol.for("react.transitional.element")]);function hn(e){if(typeof e!="object"||e===null)return!1;const t=e.$$typeof;return typeof t=="symbol"&&zp.has(t)}function Uo(){const e=globalThis.crypto;if(e&&typeof e.randomUUID=="function")return e.randomUUID();if(e&&typeof e.getRandomValues=="function"){const t=new Uint8Array(16);return e.getRandomValues(t),Array.from(t,n=>n.toString(16).padStart(2,"0")).join("")}return`nohwcrypto-${Date.now()}`}function Ut(){return`__settingsPanel:${Uo()}`}function Ht(e,t){return{type:e,props:t}}function Vp(e){return typeof e=="object"&&e!==null&&"type"in e&&"props"in e&&!hn(e)}function Hr(e,t,n){if(t==null||typeof t=="number"||typeof t=="boolean"||typeof t=="string")return t;if(hn(t)){const r=Ut();return n(e.add(r,t)),Ht(r,{})}if(typeof t=="function"){const r=Ut();return n(e.add(r,t)),Ht(r,{})}if(Vp(t)){const r=t.type;if(typeof r=="string")return t;if(hn(r)||typeof r=="function"){const i=Ut();return n(e.add(i,r)),Ht(i,t.props)}return t}return t}var Kp=class{_context;_panelRegistrationDisposables=[];constructor(e){this._context=e}get _container(){return this._context.container}_clearPanelRegistrations(){for(const e of this._panelRegistrationDisposables)e.dispose();this._panelRegistrationDisposables.length=0}_trackRegistration(e){this._panelRegistrationDisposables.push(e)}showSettingsPanel(e){this._clearPanelRegistrations();const t=ze(this._container),n=s=>this._trackRegistration(s),r=Hr(t,e.content,n),i=e.advancedTabs?.map(s=>({...s,content:Hr(t,s.content,n)})),o=e.instanceKey??Uo();Ce(this._container,$n).fire({...e,content:r,advancedTabs:i,instanceKey:o,type:us})}closeSettingsPanel(){this._clearPanelRegistrations(),Ce(this._container,$n).fire(null)}},Ho={SandboxScriptApi:$p,ElementsApi:Bp,BlocksApi:Fp,MessageService:Up,SettingsPanelApi:Kp,ModalApi:Gp};function Gt(e,t,n,r={}){const i=Object.assign({},e);for(const[o,s]of Object.entries(t))if(s!==void 0)if(n.includes(o)&&typeof s=="object"&&s!==null){const d=i[o],l=r[o]??{};i[o]=Object.assign({},typeof d=="object"&&d!==null?d:l,s)}else i[o]=s;return i}var te={border:{all:null,top:null,right:null,bottom:null,left:null},borderRadius:{all:5,topLeft:null,topRight:null,bottomRight:null,bottomLeft:null},borderRadiusCards:{all:10,topLeft:null,topRight:null,bottomRight:null,bottomLeft:null},padding:{all:null,top:null,right:null,bottom:null,left:null}},Wp={fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif"],fontSize:16,fontSizeDim:"px",lineHeight:21,lineHeightDim:"px",color:"#5a5a5a",contrastColor:"#FFFFFF",textAlign:"left",paddingBottom:10,paddingBottomDim:"px"},qt={fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif"],fontSize:24,fontSizeDim:"px",lineHeight:32,lineHeightDim:"px",color:"#333333",contrastColor:"#FFFFFF",textAlign:"left",paddingTop:20,paddingTopDim:"px",paddingBottom:20,paddingBottomDim:"px",letterSpacing:0,letterSpacingDim:"px",bold:!0,italic:!1},Gr={color:"#1C52DC",contrastColor:"#FFFFFF",underline:!0},Ie={fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif"],fontSize:16,fontSizeDim:"px",letterSpacing:0,letterSpacingDim:"px",color:"#FFFFFF",contrastColor:"#1C52DC",bold:!1,italic:!1,backgroundColor:"#1C52DC",contrastBackgroundColor:"#FFFFFF",marginTop:10,marginTopDim:"px",marginBottom:10,marginBottomDim:"px",border:te.border,borderRadius:te.borderRadius,textAlign:"center",padding:te.padding},qr={backgroundColor:"#FFFFFF",contrastBackgroundColor:"#1C52DC",padding:te.padding},$t={contrastBackgroundColor:"#1C52DC",contrastTextColor:"#FFFFFF",baseBackgroundColor:"#F8F8F8",baseTextColor:"#333333",border:te.border,borderRadius:te.borderRadiusCards};function Yp(e){return{...Wp,...e}}function Xp(e){return{...qt,...e,bold:e?.bold??qt.bold,italic:e?.italic??qt.italic}}function Jp(e){return{...Gr,...e,underline:e?.underline??Gr.underline}}function Qp(e){return{...Ie,...e,bold:e?.bold??Ie.bold,italic:e?.italic??Ie.italic,border:{...Ie.border,...e?.border},borderRadius:{...Ie.borderRadius,...e?.borderRadius},padding:{...Ie.padding,...e?.padding}}}function Zp(e){return{...qr,...e,padding:{...qr.padding,...e?.padding}}}function em(e){return{...$t,...e,border:{...$t.border,...e?.border},borderRadius:{...$t.borderRadius,...e?.borderRadius}}}function zt(e={}){return{backgroundColor:e.backgroundColor||"",backgroundImage:(e.backgroundImage||[]).map(t=>({type:"url",value:t?.value||""})),backgroundPositionX:e.backgroundPositionX||"",backgroundPositionY:e.backgroundPositionY||"",backgroundRepeat:e.backgroundRepeat||"",backgroundSize:e.backgroundSize||"",backgroundColorContent:e.backgroundColorContent||"",textStrong:e.textStrong||!1,textItalic:e.textItalic||!1,textUnderline:e.textUnderline||!1,width:e.width,responsive:e.responsive}}function $r(e){let t={...yn};try{e&&e!=="{}"&&(t=JSON.parse(e))}catch{}return t}function Vt(e){return{text:Yp(e.text),headings:Xp(e.headings),links:Jp(e.links),buttons:Qp(e.buttons),block:Zp(e.block),cards:em(e.cards)}}var zr=x("EmailSettingsPort"),tm=1e4,Go=class{_editor;_layoutSettingsChanged=new Jt;_contentStylesChanged=new Jt;_messageSubscription;_messageSubscriptionPromise;_prevLayoutSnapshot;_prevContentSnapshot;constructor(e){this._editor=e}onChangeEmailLayoutSettings(e){const t=this._layoutSettingsChanged.event(e);return this._ensureMessageSubscription(),{dispose:()=>{t.dispose(),this._disposeMessageSubscriptionIfUnused()}}}onChangeEmailContentStyles(e){const t=this._contentStylesChanged.event(e);return this._ensureMessageSubscription(),{dispose:()=>{t.dispose(),this._disposeMessageSubscriptionIfUnused()}}}_disposeMessageSubscriptionIfUnused(){this._layoutSettingsChanged.hasListeners()||this._contentStylesChanged.hasListeners()||(this._messageSubscription?.dispose(),this._messageSubscription=void 0)}_settings(e=this._editor.container){const t=e.getInstance(zr);if(!t)throw new Error("[extensions] настройки письма ещё не загружены — работа с UI начинается с init()");return t}_getCurrentLayoutSettings(){return zt(this._settings().read())}_getCurrentContentStyles(){const e=Ct(this._editor.container)?.current()?.get().attributes.common_styles;return Vt($r(e))}_getLayoutSnapshot(e){return JSON.stringify(e)}_getContentSnapshot(e){return JSON.stringify(e)}async _ensureMessageSubscription(){if(!this._messageSubscription){if(this._messageSubscriptionPromise)return this._messageSubscriptionPromise;this._messageSubscriptionPromise=(async()=>{if(await this._editor.container.getInstanceAsync(zr),this._messageSubscription)return;const e=this._editor.container.getOrCreateInstance(We,()=>new Ye),t=this._getCurrentLayoutSettings(),n=this._getCurrentContentStyles();this._prevLayoutSnapshot=this._getLayoutSnapshot(t),this._prevContentSnapshot=this._getContentSnapshot(n),this._messageSubscription=e.addListener(r=>{const i=r?.data,o=i?.operation;if(o===k.APPLICATION_EMAIL_SETTINGS_SET){const l=zt(i?.settings),f=this._getLayoutSnapshot(l);f!==this._prevLayoutSnapshot&&(this._prevLayoutSnapshot=f,this._layoutSettingsChanged.fire(l));return}if(o!==k.APPLICATION_COMMON_STYLES_UPDATE)return;const s=Vt(r.data?.settings?.commonStyles??{...yn}),d=this._getContentSnapshot(s);d!==this._prevContentSnapshot&&(this._prevContentSnapshot=d,this._contentStylesChanged.fire(s))})})();try{await this._messageSubscriptionPromise}finally{this._messageSubscriptionPromise=void 0}}}async getEmailLayoutSettings(){return await this._waitForEmailSettingsFromIframe(),this._getCurrentLayoutSettings()}async setEmailLayoutSettings(e){await this._waitForEmailSettingsFromIframe();const t=this._settings(),n={...t.read(),...e};t.write(n);const r=zt(n);this._prevLayoutSnapshot=this._getLayoutSnapshot(r),this._layoutSettingsChanged.fire(r)}async _waitForEmailSettingsFromIframe(e=tm){const t=Ct(this._editor.container)?.current()?.get().attributes.is_inited,n=this._settings().read();if(t&&n&&Object.keys(n).length>0&&(n.backgroundColor||n.backgroundImage?.[0]?.value||n.width?.value||n.responsive!==void 0)||t)return;const r=this._editor.container,i=En(r,F.ON_EMAIL_INIT_ID);return new Promise(o=>{let s=!1,d;const l=()=>{d&&(clearTimeout(d),d=void 0)},f=i(()=>{s||(s=!0,l(),f.dispose(),o())});d=setTimeout(()=>{s||(s=!0,f.dispose(),o())},e)})}async getEmailContentStyles(){return this._getCurrentContentStyles()}async setEmailContentStyles(e){const t=Ct(this._editor.container)?.current();if(!t)return;const n=$r(t.get().attributes.common_styles);e.text!==void 0&&(n.text={...n.text||{},...e.text}),e.headings!==void 0&&(n.headings={...n.headings||{},...e.headings}),e.links!==void 0&&(n.links={...n.links||{},...e.links}),e.buttons!==void 0&&(n.buttons=Gt(n.buttons||{},e.buttons,["border","borderRadius","padding"],{border:te.border,borderRadius:te.borderRadius,padding:te.padding})),e.block!==void 0&&(n.block=Gt(n.block||{},e.block,["padding"],{padding:te.padding})),e.cards!==void 0&&(n.cards=Gt(n.cards||{},e.cards,["border","borderRadius"],{border:te.border,borderRadius:te.borderRadiusCards}));const r=JSON.stringify(n);ht(t,{common_styles:r}),this._settings().markAppearanceChanged();const i=Vt(n);this._prevContentSnapshot=this._getContentSnapshot(i),this._contentStylesChanged.fire(i)}},nm={...Ho,EmailSettingsApi:Go},rm={...Ho},Ih={...rm,EmailSettingsApi:Go},im={...nm};function om(){xp.addAll(im)}var sm=[Le(()=>{om()}),wp,Sp,_p,Ps,vp,Ns];async function am(){return(await Je()).asyncMixins}var lm=Lp,dm=e=>{let t=null,n=!1;return{instance:{},async setOptions(r){if(!t&&!n){let i;try{i=await am()}catch(s){throw e.failPendingWaits(s),s}t=i(e);const o=await e.getInstanceAsync(Et);Object.assign(o,t.instance||{});for(const s of e.getInstance(fi)??[])s()}t&&await t.setOptions(r)},dispose(){t?.dispose(),n=!0}}},cm=ys([...sm]);function Kt(){let e,t=!1;const n=new Map,r=new Map;function i(){for(const o of r.values())o();r.clear()}return{event(o,s,d){const l=Symbol("subscription");return t||(n.set(l,{listener:o,priority:s,thisArg:d}),e&&r.set(l,e(o,s,d))),()=>{n.delete(l),r.get(l)?.(),r.delete(l)}},attach(o){i(),e=o;for(const[s,{listener:d,priority:l,thisArg:f}]of n)r.set(s,o(d,l,f))},dispose(){t=!0,i(),n.clear(),e=void 0}}}var Vr=x("NotificationService");function um(e){const t=Kt(),n=Kt(),r=Kt();return e.getInstance(N)?.addDispose(()=>{t.dispose(),n.dispose(),r.dispose()}),e.getInstanceAsync(Vr).then(i=>{t.attach(i.onNotify),n.attach(i.onError),r.attach(i.onSuccess)},()=>{}),{handleNotify:t.event,handleError:n.event,handleSuccess:r.event,notify(i){const o=e.getInstance(Vr);if(!o)throw new Error("[plugin] notify() вызван до загрузки редактора");o.notify(i)}}}var fm=[cu,ap,um];function pm(e,t=fm){const n=Bn(e);mp(e);const r=cm(e),i=lm(e),o=dm(e),s={...r.instance,...i.instance,...o.instance};for(const l of t)Object.assign(s,l(e));let d=!0;return{instance:s,async setOptions(l){await r.setOptions(l);const f=d&&n.get()===l;d=!1,f||n.set(l),await i.setOptions(l),await o.setOptions(l)}}}var mm=class{_storage=Object.create(null);get(e){const t=this._storage[e];return t&&(!t.expires||t.expires<Date.now())?t.value:""}set(e,t,n){this._storage[e]={value:t,expires:n.expires?n.expires*1e3+Date.now():void 0}}remove(e){delete this._storage[e]}},hm="editor-runtime.react.copies",Wt=8;function Ve(e){return e&&typeof e=="object"?e:void 0}function Kr(e){const t=Ve(e);if(!t)return;if(typeof t.useState=="function")return t.useState;const n=Ve(t.default);return n&&typeof n.useState=="function"?n.useState:void 0}function gm(e){const t=Ve(e),n=t&&typeof t.version=="string"?t.version:void 0,r=Ve(t?.default),i=r&&typeof r.version=="string"?r.version:void 0;return n??i??"unknown"}function vm(e,t,n){return e.package===t&&e.version===n}function bm({ourReact:e,entries:t,packageName:n,version:r}){const i=Kr(e);if(!i||!Array.isArray(t))return[];const o=[],s=new Set;for(const d of t){const l=Ve(d);if(!l||!vm(l,n,r))continue;const f=Kr(l.react);!f||f===i||s.has(f)||(s.add(f),o.push({package:n,version:r,reactVersion:gm(l.react),react:l.react}))}return o}function Em({packageName:e,copies:t}){const n=[`[${e}] A second copy of React is on this page (singleton invariant broken).`,`The editor runs on its own React, the plugin got another one from ${e}/runtime/react.`,`This shows up as "Cannot read properties of null (reading 'useState')" and takes down the whole`,"editor, not just the plugin panel: plugin components render inside the editor tree.","","Found:"];for(const r of t.slice(0,Wt))n.push(` • React ${r.reactVersion}, loaded through ${r.package}@${r.version}/runtime/react`);return t.length>Wt&&n.push(` …and ${t.length-Wt} more`),n.push("","Likely root cause: the editor is loaded from its UMD entry (a <script> on the page), while the","plugin was built as an ESM package by the host bundler. Those two never share a React.","","Fix it either way:"," • build the plugin on globals — it then takes React from the page registry, or"," • load the editor from its ESM entry and build both with the same bundler."),n.join(`
1047
- `)}var Wr=new Set;function ym({packageName:e="@emailmaker/emailmaker",version:t="1.1.85-dev.6",log:n=r=>{}}={}){const r=i=>{try{const o=globalThis[Symbol.for(hm)],s=bm({ourReact:i,entries:o,packageName:e,version:t}).filter(d=>!Wr.has(d.react));if(!s.length)return;s.forEach(d=>Wr.add(d.react)),n(Em({packageName:e,copies:s}))}catch{}};try{const i=Sn()?.modules?.React;if(i&&typeof i.then=="function"){i.then(r,()=>{});return}r(i)}catch{}}async function _m(e,t,n){q(e.signal);const r=t??ft.createChild();Bn(r);const i=r.getInstance(N);async function o(){r.inject(es,new mm),ym();const s=pm(r),d={...s.instance,container:r,async reset(l){if(q(l.signal),i.isDisposed())throw In();return await s.setOptions(l),d}};r.inject(Et,d);try{if(n?.onInstance?.(d),await s.setOptions(e),q(e.signal),i.isDisposed()||await r.getInstance(Xt)?.activate(),e.devTools)try{const l=r.getInstance(Xt);l&&await(await Je()).initDevTools(r,l)}catch{}return q(e.signal),pi(r,di).fire(d),d}catch(l){throw i.dispose(),l}}try{return await bn(o(),e.signal)}catch(s){throw i.isDisposed()||i.dispose(),s}}var Ke=new WeakMap;function wm(e){return e?Ke.get(e):void 0}function qo(e){try{e.getInstance(N)?.dispose()}catch{}try{e.dispose()}catch{}}function Sm(e,t){if(!e)return;const n=Ke.get(e);n&&n!==t&&qo(n),Ke.set(e,t)}function Im(e,t){e&&Ke.get(e)===t&&Ke.delete(e)}function Tm(e){const t=ft.createChild();return It(e)&&t.inject(me,St(e)),t}var Ge=new WeakMap,Am="data-emailmaker-config-styles";function Cm(e){return typeof e=="string"?e.trim():""}function Yr(e,t){if(e.firstChild){e.insertBefore(t,e.firstChild);return}e.appendChild(t)}function Rm(e,t,n){if(!e||typeof document>"u")return null;const r=Cm(t),i=Ge.get(e),o=n||e;if(!r)return i&&(i.remove(),Ge.delete(e)),null;if(i)return i.textContent!==r&&(i.textContent=r),(i.parentNode!==o||i!==o.firstChild)&&Yr(o,i),i;const s=document.createElement("style");return s.setAttribute(Am,"true"),s.textContent=r,Yr(o,s),Ge.set(e,s),s}function Pm(e){if(!e)return;const t=Ge.get(e);t&&(t.remove(),Ge.delete(e))}function $o(){return!1}var Dm=`
1046
+ `)}function Ur(e){return e.replace(/<title[^>]*>[\s\S]*?<\/title>/gi,"")}function Lf(e,t,n,r){const i=Mf(e,t,n,r);return i===void 0}function Mf(e,t,n,r){const{email:i}=Vn(t,!1),o=xe(i,e),s=o.id;if(s===void 0)return"no-id";if(r!==void 0&&r!==s)return"other-id-shown";const d=Fn(e)?.current();if(!d)return"no-session";const a=d.get(),f=a.attributes;if(a.serverId!==s)return"document-id";if(f.is_inited!==!0)return"not-inited";const u=Ur(gn(n??d.getContent()));if(o.html!==void 0&&Ur(gn(o.html))!==u)return"html";if(o.subject!==void 0&&o.subject!==f.subject)return"subject";if(o.preheader!==void 0&&o.preheader!==f.preheader)return"preheader";if(o.common_styles!==void 0&&o.common_styles!==f.common_styles)return"common_styles"}function Hr(e,t){const{email:n}=Vn(t,!1),r=xe(n,e);if(r.id!==void 0)return JSON.stringify([r.id,r.html===void 0?null:gn(r.html),r.subject??null,r.preheader??null,r.common_styles??null])}function kf(e,t){const n={...e};return delete n.id,{...n,...t}}function Nf(e){return e.html?e:{...e,html:Lo}}function Ue({code:e,project:t,...n},r,i){const o=i??Mo(r);return{...n,...e?{html:ke(r).toEditorForm(e)}:{},renderGuid:ce(),...o===void 0?{}:{project:o}}}function lt({html:e,renderGuid:t,...n},r){const{requested:i}=St(r);return ge({...n,code:ke(r).toOutputForm(e),project:i===void 0?n.project:i,guid:void 0,link:void 0,status:void 0,slug:void 0,password:void 0,comment_status:void 0,template:void 0,blocktags:void 0,project_title:void 0,ping_status:void 0,lock:void 0,tag:void 0,is_template:void 0})}function Fo(e){return Fn(e)?.current()?.get().serverId??void 0}function vn(e,t,n){return n===void 0&&(n=e.post===void 0?Fo(t):e.post),{...e,content:e.content?`<p>${e.content}</p>`:"",post:n}}function dt(e,t){return ge({...e,link:void 0,comment_status:void 0})}function bn({code:e,...t},n,r){return r===void 0&&(r=t.parent===void 0?Fo(n):t.parent),{...t,...e?{html:e}:{},parent:r}}function Gr({html:e,...t},n){return ge({...t,code:e,guid:void 0,compiled:ge({html:e,ampHtml:e&&""})})}var En=L("NotificationService"),Ff=L("emailTemplate.reads");async function jf(e,t){try{return await Se(e).email(e).readEmail(t)??void 0}catch(n){n instanceof Error&&n.message,Uf(e,t,n);return}}var Bf=L("emailTemplate.notifiedFailures");function Uf(e,t,n){if(n instanceof DOMException&&n.name==="AbortError")return;const r=e.getOrCreateInstance(Bf,()=>new Set);r.has(t)||(r.add(t),e.getInstanceAsync(En).then(()=>{Rn(e,B.ON_NOTIFICATION).fire({type:"error",id:"TEMPLATE_READ_ERROR",data:{templateId:t},innerException:n})},()=>{}))}function Hf(e,t){const n=e.getOrCreateInstance(Ff,()=>new Map),r=n.get(t);if(r!==void 0)return r;const i=jf(e,t).then(o=>(o===void 0&&n.delete(t),o));return n.set(t,i),i}var Gf="EXTERNAL";function qf(e){return e instanceof Error?e:new Error(typeof e=="string"?e:"сохранение не состоялось")}var $f="email_id",zf=class extends ee{_container;_prevCommand;_lastShow;_showToken=0;_showRequests=0;_dataSources;_eventLock;_queue=$s();_currentEmail;constructor(e){super(),this._container=e;const t=e;this._dataSources=It(t),this._eventLock=Of(t);const n=K(e,B.ON_EMAIL_CHANGED_ID);this.addDisposable(n(r=>{this._currentEmail=r})),this.addDisposable(e.addService(Pn,{execute:(r,i)=>{!i?.public&&this._currentEmail?.id&&!this._currentEmail.isNew&&r.headers.append($f,this._currentEmail.id)}}))}_getInitPipeline(){return this._container?.getInstance(De)??Un}_throwIfDestroyed(){if(this.isDisposed())throw xn()}async getTemplateEmail(e){const t=await Hf(this._container,String(e));if(!t)return;const n={...t,lock:!1,parent_email:String(e)};return delete n.id,n}async setBlocks(e=[]){const{cache:t}=this._dataSources.blocks,n=await Ft(this._container);await t.setAll(e.filter(r=>r.id!==void 0).map(r=>[r.id,Ue(r,this._container,n)]))}async setEmailRevisions(e,t){if(e===void 0)return;const{cache:n}=this._dataSources.emailRevisions,r=e.filter(i=>i.id!==void 0).map(i=>[i.id,bn(i,this._container,t)]);await n.setAll(r)}async setComments(e=[],t){const{cache:n}=this._dataSources.comments,r=e.filter(i=>i.id!==void 0).map(i=>[i.id,vn(i,this._container,t)]);await n.setAll(r)}async setEmail(e,t,n,r,i){const o=this._dataSources.emails,s=o.cache,d=await Ft(this._container),a=r??this._showToken;e=typeof e=="string"?{code:e}:{...e};let f=xe(e,this._container);const u=f.id;let v=u;if(u!==void 0){const b=await o.get(u);f={...b??{},...f,renderGuid:b?.renderGuid??ce(),...a>0?{showToken:a}:{},...i?{showId:i}:{},project:d}}else{v=n??ce();const b=await o.get(v);f={...f,renderGuid:b?.renderGuid??ce(),...a>0?{showToken:a}:{},...i?{showId:i}:{},project:d},delete f.project}if(t){const b=await this.getTemplateEmail(String(t));b&&(f=kf(b,f))}return u===void 0&&(f=Nf(f)),await s.addOrUpdate(v,()=>f),f}_rememberShow(e){this._prevCommand=e}_isRepeatOfLastShow(e){const t=this._lastShow;if(!t||t.signature!==Hr(this._container,e))return!1;const n=ft(this._container);return n===void 0||n===t.html}_rememberShownContent(e){const t=Hr(this._container,e);this._lastShow=t===void 0?void 0:{signature:t,html:ft(this._container)??""}}async _show(e,t){if(this._throwIfDestroyed(),t!==void 0&&t!==this._showRequests){this._showRequests;return}if(!e)return;const n=this._getInitPipeline();if($(n.signal),Lf(this._container,e,ft(this._container),this._prevCommand?.id)||this._isRepeatOfLastShow(e))return;const r=Vn(e);r.email.id,this._prevCommand?.id;let i,o="",s=0,d=!1,a,f=Promise.resolve(),u,v=!1;try{this._eventLock.suspendChange();const{email:b,blocks:E,autosaves:I,comments:g,templateId:y,reload:_}=r;i=b.id;const S=xe(b,this._container),A=S.id,m=A??ce(),c=await He("getProject",Ft(this._container));$(n.signal),o=ce();const l={isNew:A===void 0,id:String(m),project:c},p=_===!0&&A!==void 0;p&&(await this._dataSources.emails.remove(String(A),{silent:!0}),String(A)),s=++this._showToken,String(m);const h=[];h.push(this.setBlocks(E)),b.id!==void 0&&(h.push(this.setComments(g)),h.push(this.setEmailRevisions(I,String(b.id)))),h.push(this.setEmail(b,Number(y),A===void 0?String(m):void 0,s,o)),await He("setEmail+blocks+revisions",Promise.all(h),{emailId:A??String(m),showId:o,targetShowToken:s}),$(n.signal);const w=await this._dataSources.emails.get(String(m)),T=ve(this._container),O={id:o,token:s};A===void 0?u=T.startNewDraft(w??S,{patch:S,show:O}):p?u=T.reload(A,{email:w??S,patch:S,show:O}):T.sessionKey()===je(A)?u=T.show(S,O):u=T.open(A,{email:w??S,patch:S,show:O});const k=!!this._prevCommand&&mt(this._prevCommand,l);l.id,!this._prevCommand||mt(this._prevCommand,l),this._prevCommand?.id,this._rememberShow(l),f=n.requestShow({showId:o,navId:String(m),emailId:A,isNew:A===void 0}),v=!0,String(m),d=!0}catch(b){a=b,v&&o&&n.failShow(o,b),Tn(b)||(xi(b),void 0)}finally{this._eventLock.resumeChange()}if(!d)throw a instanceof Error?a:new Error(`[emailmaker] show() setup failed: ${String(a??"unknown error")}`);return He("show-init-deferred",Promise.all([f,u?.whenReady().catch(b=>{if(b instanceof gt){const E=qi(b);throw E?new Error(`[emailmaker] show(): email open failed (${E})`,{cause:b}):b}})??Promise.resolve()]).then(()=>{}),{showId:o,emailId:i??null}).then(()=>{this._rememberShownContent(e)})}async _save(){this._throwIfDestroyed();const e=this._getInitPipeline();$(e.signal);const t=ve(this._container),n=await t.save("publish",{source:Gf});if($(e.signal),!n)throw qf(t.saveState().error);return te(xf(this._container,this._currentEmail),this._container)}_queuedShow=this._queue.decorate((e,t)=>this._show(e,t),this);show=e=>{const t=this._showRequests+=1;return this._queuedShow(e,t)};save=this._queue.decorate(this._save,this)};function Vf(e){return String(e).replace(/"/g,"&quot;")}function Kf(e=new Date){const t=n=>String(n).padStart(2,"0");return String(e.getFullYear())+t(e.getMonth()+1)+t(e.getDate())+t(e.getHours())+t(e.getMinutes())+t(e.getSeconds())}function Wf(e){const t=/<(table|tr|div)(\s[^>]*)>/gi;let n;for(;(n=t.exec(e))!==null;){const r=n[2]??"";if(/\bem\s*=\s*["']block["']/i.test(r))return{full:n[0],index:n.index}}return null}function qr(e,t,n){const r=new RegExp(`\\b${t}\\s*=\\s*["'][^"']*["']`,"i"),i=Vf(n);return r.test(e)?e.replace(r,`${t}="${i}"`):e.replace(/>$/,` ${t}="${i}">`)}function Yf(e,t,n){if(!e?.trim()||!t)return e;const r=Wf(e);if(!r)return e;const i=String(t),o=Kf(n??new Date);let{full:s,index:d}=r;const a=s.length;return/\bem-block-id\s*=/.test(s)||(s=qr(s,"em-block-id",i)),s=qr(s,"em-block-version",o),e.slice(0,d)+s+e.slice(d+a)}function Xf(e){if(e.meta!==void 0&&e.meta!==null&&typeof e.meta=="object")return e.meta;const t=e.catalogExtra?.meta;if(t!=null&&typeof t=="object")return t}function Jf(e,t){const n=e.insertFrom??t?.type,r=t?.blockId??(e.id!=null&&e.id!==""?String(e.id):void 0),i=t?.project??(e.project!==void 0&&e.project!==null?String(e.project):void 0);return{type:t?.type??n,insertFrom:n,name:t?.name??e.name,blockId:r,project:i,fragmentRole:e.fragmentRole,id:r,title:e.title??void 0,blockType:e.type,meta:Xf(e)}}function jt(e,t){return t?Jf(t,e):{type:e.type,name:e.name,blockId:e.blockId,project:e.project,insertFrom:e.type}}var jo=["title","slug","type","tags","blocktags","modified","author","lock","subject","description","excerpt","status","is_template","link","renderGuid","date","date_gmt","modified_gmt","comment_status","ping_status","template","related_email","project_title","project_author","isAmp","meta"],Qf=[...jo,"html","id","project","password"],Fh=new Set(["html",...jo,"global_block","project"]);function Zf(e){if(!e||typeof e!="object")return{};const t={};e.id!=null&&e.id!==""&&(t.id=String(e.id)),e.title!=null&&e.title!==""&&(t.title=e.title),e.slug!=null&&e.slug!==""&&(t.slug=e.slug),e.type!=null&&e.type!==""&&(t.type=e.type),e.tags!=null&&(t.tags=e.tags),e.blocktags!=null&&(t.blocktags=e.blocktags),e.modified!=null&&e.modified!==""&&(t.modified=e.modified),e.author!=null&&e.author!==""&&(t.author=String(e.author)),e.lock!=null&&(t.lock=e.lock),e.subject!=null&&e.subject!==""&&(t.subject=e.subject),e.description!=null&&e.description!==""&&(t.description=e.description),e.excerpt!=null&&e.excerpt!==""&&(t.excerpt=e.excerpt),e.status!=null&&e.status!==""&&(t.status=e.status),e.is_template!=null&&(t.is_template=e.is_template),e.link!=null&&e.link!==""&&(t.link=e.link),e.renderGuid!=null&&e.renderGuid!==""&&(t.renderGuid=e.renderGuid),e.date!=null&&e.date!==""&&(t.date=e.date),e.date_gmt!=null&&e.date_gmt!==""&&(t.date_gmt=e.date_gmt),e.modified_gmt!=null&&e.modified_gmt!==""&&(t.modified_gmt=e.modified_gmt),e.comment_status!=null&&e.comment_status!==""&&(t.comment_status=e.comment_status),e.ping_status!=null&&e.ping_status!==""&&(t.ping_status=e.ping_status),e.template!=null&&e.template!==""&&(t.template=e.template),e.related_email!=null&&e.related_email!==""&&(t.related_email=e.related_email),e.project_title!=null&&e.project_title!==""&&(t.project_title=e.project_title),e.project_author!=null&&e.project_author!==""&&(t.project_author=e.project_author),e.isAmp!=null&&(t.isAmp=e.isAmp),e.meta!==void 0&&e.meta!==null&&typeof e.meta=="object"&&(t.meta=e.meta);const n=new Set(Qf),r={};for(const i of Object.keys(e))n.has(i)||(r[i]=e[i]);return Object.keys(r).length>0&&(t.catalogExtra=r),t}function ep(e,t={}){return!e||typeof e!="object"?{html:"",insertFrom:t.type,name:t.name,project:t.project,id:t.blockId}:{...Zf(e),html:typeof e.html=="string"?e.html:"",insertFrom:t.type,name:t.name,project:t.project??e.project,id:e.id!=null&&e.id!==""?String(e.id):t.blockId}}var yn=new WeakMap;function tp(e){let t=yn.get(e);return t||(t={byId:new Map,fallback:[]},yn.set(e,t)),t}function np(e){yn.delete(e)}function rp(e,t){const{byId:n,fallback:r}=tp(t);if(e.blockId){const i=n.get(e.blockId);if(i){n.delete(e.blockId);const o=r.indexOf(i);return o>=0&&r.splice(o,1),i}return}for(let i=r.length-1;i>=0;i--){const o=r[i],s=e.name!=null&&e.name!==""&&o.name!=null&&o.name!==""&&o.name===e.name,d=e.type!=null&&e.type!==""&&o.insertFrom===e.type;if(s&&d)return r.splice(i,1),o.id!=null&&o.id!==""&&n.delete(String(o.id)),o}}async function ip(e,t){const{blocks:n}=It(e);return await n.cache.getIfPresent(t)??void 0}async function op(e,t){if(!t.blockId)return;const n=await ip(e,t.blockId);if(n)return ep(n,t)}async function sp(e,t){const n=rp(e,t);if(n)return jt(e,n);const r=await op(t,e);return r?jt(e,r):jt(e,void 0)}var ap=As("application_block_inserted"),lp=-1e3,$r=new WeakSet;function dp(e){if(e===null||typeof e!="object")return!1;const t=e;return typeof t.type=="string"||typeof t.name=="string"||typeof t.blockId=="string"||typeof t.project=="string"||typeof t.project=="number"}function cp(e){if(!e||$r.has(e))return;$r.add(e);const t=new ee,n=X(e);return t.addDisposable(n.addListenerAsyncPipe(ap,async(r,i)=>{const o=dp(r)?await sp(r,e):r;return i?i(o):o},lp)),t.addDisposable({dispose:()=>{np(e)}}),t}var zr=100,up=class extends ee{_container;_events;constructor(e){super(),this._container=e;const t=cp(e);t&&this.addDisposable(t)}_get(){const e=this._container,{blocks:t,emails:n,comments:r,emailRevisions:i}=It(e),o=K(e,B.ON_SHARE_ID),s=K(e,B.ON_SHOW_PREVIEW_ID),d=K(e,B.ON_EMAIL_CLONE_ID),a=K(e,B.ON_CODE_VALIDATE_ID),f=K(e,B.ON_SUBJECT_CHANGED_ID),u=K(e,B.ON_EMAIL_CHANGED_ID),v=K(e,B.ON_PREHEADER_CHANGED_ID),b=K(e,B.ON_SAVEBUTTON_CLICK_ID),E=K(e,B.ON_NEXTBUTTON_CLICK_ID),I=K(e,B.ON_SEND_LIVEPREVIEW_ID),g=K(e,B.ON_SEND_TESTEMAIL_ID),y=K(e,Tf),_=K(e,B.ON_CONTENT_CHANGED_ID),S=K(e,If),A=K(e,B.ON_PREVIOUSBUTTON_CLICK_ID),m=K(e,B.ON_SEND_EMAIL_MODAL_ID),c=Is(K(e,B.ON_EMAIL_INIT_ID),l=>!l.reset);return{handlePreheaderChanged:N(v),handleSubjectChanged:N(f),handleValidate:N(a),handleReadEmail:N(n.handlerRead,l=>l,l=>l&&xe(l,e)),handleSaveEmail:N(n.onSave,function({prev:l,patch:p,value:h,source:w}){const T=l?te(l,e):void 0;return{prev:T,patch:Ge(T,te(p,e)),value:te(h,e),source:w}},l=>l?xe(l,e):void 0),handleRemoveEmail:N(n.onRemove,({value:l,source:p})=>({value:te(l,e),source:p}),()=>{}),handleReadCommonBlocks:N(y,l=>l.project,l=>l?.map(p=>Ue(p,e))),handleReadTemplateBlocks:N(S,l=>l,l=>l?.map(p=>Ue(p,e))),handleReadBlocks:N(t.byForeignKey("project").handleRead,l=>St(e).requested||String(l),l=>l?.map(p=>Ue(p,e))),handleSaveBlock:N(t.onSave,function({prev:l,patch:p,value:h,source:w}){const T=h.global_block===!0&&h.id&&typeof h.html=="string"?{...h,html:Yf(h.html,String(h.id))}:h,O=l?lt(l,e):void 0;return{prev:O,patch:Ge(O,lt(p,e)),value:lt(T,e),source:w}},l=>l?Ue(l,e):void 0),handleRemoveBlock:N(t.onRemove,({value:l,source:p})=>({value:lt(l,e),source:p}),()=>{}),handleReadComments:N(r.byForeignKey("post").handleRead,l=>l,l=>l?.map(p=>vn(p,e))),handleSaveComment:N(r.onSave,function({prev:l,patch:p,value:h,source:w}){const T=l?dt(l,e):void 0;return{prev:T,patch:Ge(T,dt(p,e)),value:dt(h,e),source:w}},l=>l?vn(l,e):void 0),handleRemoveComment:N(r.onRemove,({value:l,source:p})=>({value:dt(l,e),source:p}),()=>{}),handleReadEmailRevisions:N(i.byForeignKey("parent").handleRead,l=>l,l=>l?.map(p=>bn(p,e))),handleEmailAutosave:N(i.onSave,function({prev:l,patch:p,value:h,source:w}){return{value:Gr(h,e),source:w}},l=>l?bn(l,e):void 0),handleRemoveEmailAutoSave:N(i.onRemove,({value:l,source:p})=>({value:Gr(l,e),source:p}),()=>{}),handleEmailChanged:N(nr(u,zr),l=>te(l,e)),handleEmailInit:N(c,l=>te(l,e)),handlePreviousButtonClick:N(A,l=>te(l,e)),handleNextButtonClick:N(E,l=>te(l,e)),handleSaveButtonClick:N(b,l=>te(l,e)),handleHtmlChanged:N(nr(_,zr)),handleTestEmailSend:N(g,({html:l,...p})=>({...p,code:l,compiled:{html:l,ampHtml:""}})),handleTestEmailModal:N(m,l=>te(l,e)),handleCloneEmail:N(d,l=>te(l,e)),handleShareEmail:N(o),handlePreviewEmail:N(s),handleLivePreviewEmail:N(I)}}get(){return this._events||(this._events=this._get())}_listenersUpdaters;setOptions(e={}){const t=this.get();let n=this._listenersUpdaters;if(!n){n=this._listenersUpdaters={};for(const r of Object.keys(t))n[r]=this.addDisposable(new Re(t[r]))}for(const r of Object.keys(t))n[r].setListener(e[r])}},fp=L("DataController"),pp=L("DataEvents");function Bo(e){return e.getOrCreateInstance(fp,()=>{const t=new zf(e);return e.getInstance(j)?.addDisposable(t),t})}function Uo(e){return e.getOrCreateInstance(pp,()=>new up(e))}var mp=L("plugin.startupShow");function hp(e){const t=Bo(e),n=Uo(e),r=e.getInstance(se),i=e.getInstance(j),o={current:Promise.resolve()};e.inject(mp,o);const s=r?.watch(a=>{a&&n.setOptions(a)}),d=r?.select(a=>a?.content).watch(a=>{a!==void 0&&(z(Q.showStart),o.current=(async()=>{try{await t.show(a)}catch{}finally{z(Q.showEnd)}})())});s&&i?.addDisposable(s),d&&i?.addDisposable(d)}function gp(e){const t=Bo(e);return{...Uo(e).get(),show(n){return z(Q.showStart),t.show(n).finally(()=>z(Q.showEnd))},save(){return t.save()}}}var vp=[{name:"rest.client",setup:Ef},{name:"auth.oauth",setup:Ns},{name:"rest.identityHeaders",setup:mf},{name:"lifetime.destroyable",provides:[qn],setup:gu},{name:"appInit",provides:[Pe,Ln],setup:Ea},{name:"config",provides:[we],setup:mu},{name:"email.documents",setup:Mu},{name:"show.initPipeline",provides:[De],setup:yf},{name:"show",setup:hp},{name:"locale.service",provides:[ze],setup:cf},{name:"locale.fromConfig",awaits:{services:[we,ze]},setup:uf},{name:"canvas.early",setup:gc},{name:"canvas.previewSettings",setup:Ic},{name:"canvas.sandboxExtensions",setup:Ac},{name:"canvas.headerSync",provides:[vo],setup:Ec},{name:"canvas.ampSync",setup:Kl},{name:"canvas.moduleBridge",setup:bd},{name:"canvas.port",setup:nd},{name:"canvas.images",setup:ed},{name:"canvas.edits",setup:Jd},{name:"canvas.blockContent",setup:zd},{name:"canvas.sandboxFill",provides:[Hn],setup:qc},{name:"canvas.reactions",setup:pc}],bp=class extends Error{cycle;constructor(e){super(`[units] цикл в зависимостях: ${e.join(" → ")}`),this.cycle=e}};function Ep(e){const t=new Map;for(const n of e)for(const r of n.provides??[]){const i=t.get(r)??[];i.push(n),t.set(r,i)}return t}function yp(e,t){const n=[];for(const r of e.awaits?.services??[])for(const i of t.get(r)??[])i!==e&&n.push(i);return n}function Ho(e){const t=Ep(e),n=[],r=new Set,i=[],o=new Set,s=d=>{if(!r.has(d)){if(o.has(d)){const a=i.indexOf(d);throw new bp([...i.slice(a),d].map(f=>f.name))}o.add(d),i.push(d);for(const a of yp(d,t))s(a);i.pop(),o.delete(d),r.add(d),n.push(d)}};for(const d of e)s(d);return n}var Vr;function Kn(e){const t=e.getInstance(se);if(t)return t;e.getInstance(j)||e.inject(j,new ee);const n=Me();e.inject(se,n),Vr??=Ho(vp);for(const r of Vr)r.setup(e);return n}function _p(e){}var wp=[{name:"save.previewFollow",setup:_p}],Kr=L("plugin.lateUnitsInstalled");function Sp(e){if(!e.getInstance(Kr)){e.inject(Kr,!0);for(const t of Ho(wp))t.setup(e)}}function Ip(e,t){return{project:Number(e),app_id:t?.app_id||0,app_config:t?.app_config||{},user:t?.user}}function Tp(e){if(!e)return;const t=vi(e)?.data,n=t?.data?.scope??t?.scope;return(Array.isArray(n)?n.flatMap(r=>typeof r=="string"?r.split(/\s+/):[]):typeof n=="string"?n.split(/\s+/):[]).find(r=>/^project_\d+$/.test(r))?.replace(/^project_/,"")||void 0}var Ap=Le(e=>{let t,n,r;return{async setOptions(i){const o=r!==i.getAuthToken,s=!mt(t,i.user),d=n!==i.project;if(r=i.getAuthToken,t=i.user,n=i.project,!(!e.getInstance(me)||!i.getAuthToken)&&!(!o&&!s&&!d))try{const a=await i.getAuthToken(i.user,i.project);e.inject(Us,Promise.resolve(a||""));const f=Tp(a);if(!f)return;e.inject(Ls,f);const u=e.getInstance(Pe),v=u?await u.catch(()=>{}):void 0;e.inject(Pe,Promise.resolve(Ip(f,v)))}catch{}}}});function Cp(e,t){if(e.getInstance(er))return;e.inject(er,!0);const n=An(e,B.FILE_PROXY_EVENT_ID);t.addDisposable(n(async({url:r})=>(await fetch(r)).blob(),Number.MIN_VALUE))}function Rp(e){e.getInstance(xs)||e.inject(me,void 0)}function Tt(e){return String(e.standaloneKey||"").trim()||void 0}function Pp(e){return e.standaloneOnAuthFailure===!0?!0:e.config?.standaloneOnAuthFailure===!0}function Wn(e){return Pp(e)?!!Tt(e):!1}function At(e){return!!Tt(e)&&!Wn(e)}var Dp=Le(e=>{let t,n=!1;return{setOptions(r){const i=n;if(n=!0,!At(r)){t&&(Rp(e),Wn(r)),t=void 0;return}const o=Tt(r);if(!o||t===o&&e.getInstance(me))return;t=o,e.inject(me,o);const s=e.getInstance(j);s&&Cp(e,s)}}}),Op=Le(e=>{const t=e.getInstance(j),n=An(e,hi),r=N(n),i=t.addDisposable(new Re(r));return{setOptions({handleLoad:o}){i.setListener(o)},instance:{handleLoad:r},dispose:()=>t.dispose()}}),xp=Le(e=>{const t=e.getInstance(j),n=t.addDisposable(new pe),r=t.addDisposable(new pe),i=Rn(e,ss),o=N(n.event),s=N(r.event),d=N(i.event),a=t.addDisposable(new Re(o)),f=t.addDisposable(new Re(s)),u=t.addDisposable(new Re(d));return{instance:{handleSetOptions:o,handleOptionsChanged:s,handleConfigChanged:d},async setOptions(v){a.setListener(v.handleSetOptions),f.setListener(v.handleOptionsChanged),u.setListener(v.handleConfigChanged),await n.fire(v),await r.fire(v)},dispose(){}}}),Bt,Go="core";function Lp(){const e=window.__emailmaker__?.require;return typeof e!="function"?Promise.reject(new Error("[loadCore] AMD loader is unavailable")):new Promise((t,n)=>{e([Go],r=>t(r),r=>n(r instanceof Error?r:new Error("[loadCore] Failed to require core module")))})}function Mp(e){const t=window.__emailmaker__?.require?.warm;return typeof t!="function"?Qe().then(()=>{}):t([Go],e)}function Qe(){return Bt===void 0&&(Bt=Lp().then(e=>($e()&&e.installDiagnostics().catch(t=>{}),e))),Bt}var Ut=null,Ht=null;async function kp(e){typeof e?.prefetch=="function"&&await e.prefetch()}function Yn(){return Ut||(Ut=Qe().then(()=>{})),Ut}function qo(e){return Ht||(Ht=kp(e)),Ht}function Np(){return qo(typeof window.__emailmaker__<"u"?window.__emailmaker__:void 0)}function Fp(e){return Promise.all([Yn(),qo(e)]).then(()=>{})}function jp(e){const t=e?.preload?.start??e?.startupPrefetchMode;return t==="eager"||t==="idle"||t==="manual"||t==="off"?t:"idle"}function Wr(e,t){const n=e?.preload?.execute!==!1;Promise.resolve().then(()=>Mp(t?{priority:t}:void 0)).then(()=>n?Yn():void 0).catch(()=>{})}function Bp(e){const t=jp(e);if(t==="eager")Wr(e);else if(t==="idle"){const n=()=>Wr(e,"low");document.readyState==="complete"?n():window.addEventListener("load",n,{once:!0})}}var $o="PluginRegistry";function Up(e=bs()){return e.getOrCreateInstance($o,()=>new ea)}var Hp=new ta(()=>Up()),Gp=Le(e=>{let t;function n(){if(!t)throw new Error("PluginCollection not initialized. Call init() first.");return t}return{async setOptions(r){const i=e.getInstance(_t),o=e.getInstance($o);t||(t=new Zs(i,o,{ensureHostRuntimeReady:Np}),e.inject(tn,t));const s=r?.plugins||[];i&&await t.setPlugins(s)},instance:{use(r){return typeof r=="function"?n().useByCtor(r):n().useByKey(r)},useAsync(r){return n().useAsync(r)},waitPlugin(r){return n().waitFor(r)}},dispose(){t?.dispose(),t=void 0}}}),zo=class{_listeners=[];add(e,t=0,n){const r={fn:n?e.bind(n):e,priority:t};return this._listeners.push(r),{dispose:()=>{const i=this._listeners.indexOf(r);i>=0&&this._listeners.splice(i,1)}}}async run(e){const t=[...this._listeners].sort((n,r)=>r.priority-n.priority);for(const{fn:n}of t){const r=await n(e);r!==null&&typeof r=="object"&&!Array.isArray(r)&&!(r instanceof Date)&&!(r instanceof RegExp)&&Object.assign(e,r)}return e}},qp=L("ELEMENT_INSERT_HTML_PIPELINE"),$p=L("BLOCK_INSERT_HTML_PIPELINE"),zp="application_block_inserted",Vp=class{_context;constructor(e){this._context=e}get _container(){return this._context.container}handleBeforeInject(e,t,n){return this._container.getOrCreateInstance($p,()=>new zo).add(e,t??0,n)}handleInject(e,t,n){const r=this._container.getOrCreateInstance(Ye,()=>new Xe),i=n?e.bind(n):e;return r.addListener(zp,i,t)}},Kp=L("ComponentRegistry"),Yr;function Ve(e,t=Kp){const n=ht.getInstance(t);if(n)return n;if(!Yr)throw new Error("[extensions] component registry is not loaded yet — UI work starts at init()");return ht.getOrCreateInstance(t,Yr)}var Wp=class{_context;constructor(e){this._context=e}get _container(){return this._context.container}getNames(){return new Promise(e=>{const t=this._container.addService(tt,{execute:n=>{t.dispose(),e(n.value.map(r=>({name:r.name,html:r.html})))}})})}update(e,t){const n=this._container,r=Ve(n);return n.addService(tt,{execute:i=>{const o=i.value.find(s=>s.name===e);if(o){const{icon:s,title:d,fallbackTooltip:a,...f}=t;s&&(o.icon=r.getReactNode(s)),d&&(o.title=r.getReactNode(d)),a&&(o.fallbackTooltip=r.getReactNode(a)),Object.assign(o,f)}}})}delete(e){this._container.addService(tt,{execute:t=>{const n=t.value.findIndex(r=>r.name===e);n>=0&&t.value.splice(n,1)}})}insert(e,t){const n=this._container,r=Ve(n);return n.addService(tt,{execute:i=>{i.value.splice(t??i.value.length,0,{...e,title:r.getReactNode(e.title),icon:r.getReactNode(e.icon),fallbackTooltip:r.getReactNode(e.fallbackTooltip)})}})}handleBeforeInject(e,t,n){return this._container.getOrCreateInstance(qp,()=>new zo).add(e,t??0,n)}handleInject(e,t,n){return Ce(this._container,_s).event(r=>{e({name:r.name,className:r.className||"",html:r.html})},t,n)}},Yp=class{_messageService;constructor(e){this._messageService=e.container.getOrCreateInstance(Ye,()=>new Xe)}send(e,t,n){this._messageService.send(e,t,n)}sendAsync(e,t,n=!0){return this._messageService.sendAsync(e,t,n)}addListener(e,t,n){return this._messageService.addListener(e,t,n)}addListenerAsync(e,t,n=0){return this._messageService.addListenerAsync(e,t,n)}onInit(e,t=!0,n=0){return this._messageService.onInit(e,t,n)}isInited(){return this._messageService.isInited()}};function Xp(e){return Object.fromEntries(Object.entries(e).filter(([t,n])=>n!==void 0))}var Jp=class{_context;_showModalEmitter;_closeModalEmitter;_updateModalEmitter;constructor(e){this._context=e;const t=e.container;this._showModalEmitter=Ce(t,gs),this._closeModalEmitter=Ce(t,ps),this._updateModalEmitter=Ce(t,ws)}get _container(){return this._context.container}show(e){const t=Ve(this._container),n=`modal_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,r=e.modalProps;return this._showModalEmitter.fire({...e,content:t.getReactNode(e.content),title:t.getReactNode(e.title),id:n,modalProps:r?{...r,footer:t.getReactNode(r.footer),okText:t.getReactNode(r.okText),cancelText:t.getReactNode(r.cancelText),closeIcon:t.getReactNode(r.closeIcon)}:void 0}),n}close(e){this._closeModalEmitter.fire(e)}closeAll(){this._closeModalEmitter.fire()}update(e,t){const n=Ve(this._container),r=t.modalProps;this._updateModalEmitter.fire(Xp({...t,content:n.getReactNode(t.content),title:n.getReactNode(t.title),id:e,modalProps:r?{...r,footer:n.getReactNode(r.footer),okText:n.getReactNode(r.okText),cancelText:n.getReactNode(r.cancelText),closeIcon:n.getReactNode(r.closeIcon)}:void 0}))}},Qp=class{_registration;_loadedDisposable;loaded;ready;_loadedSettled=!1;_readySettled=!1;constructor(e,t){this._registration=e,this._loadedDisposable=t,this.loaded=new Promise((n,r)=>{const i=()=>this._loadedDisposable.dispose(),o=()=>{this._loadedSettled||(this._loadedSettled=!0,this._readySettled&&i(),n())},s=d=>{this._loadedSettled||(this._loadedSettled=!0,this._readySettled&&i(),r(d))};this._resolveLoaded=o,this._rejectLoaded=s}),this.ready=new Promise((n,r)=>{const i=()=>this._loadedDisposable.dispose(),o=()=>{this._readySettled||(this._readySettled=!0,this._loadedSettled&&i(),n())},s=d=>{this._readySettled||(this._readySettled=!0,this._loadedSettled&&i(),r(d))};this._resolveReady=o,this._rejectReady=s})}_resolveLoaded=()=>{};_rejectLoaded=()=>{};_resolveReady=()=>{};_rejectReady=()=>{};resolveLoaded(){this._resolveLoaded()}resolveReady(){this._resolveReady()}rejectLoad(e){this._rejectLoaded(e),this._rejectReady(e)}rejectReady(e){this._rejectReady(e)}dispose(){this._registration.dispose();const e=new Error("Sandbox script registration disposed before completion.");this.rejectLoad(e),this.rejectReady(e)}},Zp=class{_context;constructor(e){this._context=e}get _container(){return this._context.container}get _messageService(){return this._container.getOrCreateInstance(Ye,()=>new Xe)}_createScriptHandle(e,t){const n=this._messageService.addListener(ls,i=>{if(i.key===e){if(i.phase==="load"&&i.status==="success"){r.resolveLoaded();return}if(i.phase==="ready"&&i.status==="success"){r.resolveReady();return}if(i.phase==="load"){r.rejectLoad(new Error(i.error||`Sandbox script "${e}" failed to load.`));return}r.rejectReady(new Error(i.error||`Sandbox script "${e}" failed to initialize.`))}}),r=new Qp(t,n);return r}registerSandboxCSS(e){return this._container.addService(Te,{type:"link",key:e,parent:"head",attributes:{rel:"stylesheet",type:"text/css",href:e}})}registerSandboxCSSCode(e,t){return this._container.addService(Te,{type:"style",key:e,parent:"head",attributes:{type:"text/css"},innerHTML:t})}registerSandboxScript(e){const t=this._container.addService(Te,{type:"script",key:e,parent:"head",attributes:{src:e,type:"text/javascript"}});return this._createScriptHandle(e,t)}registerSandboxScriptCode(e,t){const n=this._container.addService(Te,{type:"script",key:e,parent:"head",attributes:{type:"text/javascript"},innerHTML:t});return this._createScriptHandle(e,n)}},em=new Set([Symbol.for("react.element"),Symbol.for("react.transitional.element")]);function _n(e){if(typeof e!="object"||e===null)return!1;const t=e.$$typeof;return typeof t=="symbol"&&em.has(t)}function Vo(){const e=globalThis.crypto;if(e&&typeof e.randomUUID=="function")return e.randomUUID();if(e&&typeof e.getRandomValues=="function"){const t=new Uint8Array(16);return e.getRandomValues(t),Array.from(t,n=>n.toString(16).padStart(2,"0")).join("")}return`nohwcrypto-${Date.now()}`}function Gt(){return`__settingsPanel:${Vo()}`}function qt(e,t){return{type:e,props:t}}function tm(e){return typeof e=="object"&&e!==null&&"type"in e&&"props"in e&&!_n(e)}function Xr(e,t,n){if(t==null||typeof t=="number"||typeof t=="boolean"||typeof t=="string")return t;if(_n(t)){const r=Gt();return n(e.add(r,t)),qt(r,{})}if(typeof t=="function"){const r=Gt();return n(e.add(r,t)),qt(r,{})}if(tm(t)){const r=t.type;if(typeof r=="string")return t;if(_n(r)||typeof r=="function"){const i=Gt();return n(e.add(i,r)),qt(i,t.props)}return t}return t}var nm=class{_context;_panelRegistrationDisposables=[];constructor(e){this._context=e}get _container(){return this._context.container}_clearPanelRegistrations(){for(const e of this._panelRegistrationDisposables)e.dispose();this._panelRegistrationDisposables.length=0}_trackRegistration(e){this._panelRegistrationDisposables.push(e)}showSettingsPanel(e){this._clearPanelRegistrations();const t=Ve(this._container),n=s=>this._trackRegistration(s),r=Xr(t,e.content,n),i=e.advancedTabs?.map(s=>({...s,content:Xr(t,s.content,n)})),o=e.instanceKey??Vo();Ce(this._container,Zn).fire({...e,content:r,advancedTabs:i,instanceKey:o,type:vs})}closeSettingsPanel(){this._clearPanelRegistrations(),Ce(this._container,Zn).fire(null)}},Ko={SandboxScriptApi:Zp,ElementsApi:Wp,BlocksApi:Vp,MessageService:Yp,SettingsPanelApi:nm,ModalApi:Jp};function $t(e,t,n,r={}){const i=Object.assign({},e);for(const[o,s]of Object.entries(t))if(s!==void 0)if(n.includes(o)&&typeof s=="object"&&s!==null){const d=i[o],a=r[o]??{};i[o]=Object.assign({},typeof d=="object"&&d!==null?d:a,s)}else i[o]=s;return i}var ne={border:{all:null,top:null,right:null,bottom:null,left:null},borderRadius:{all:5,topLeft:null,topRight:null,bottomRight:null,bottomLeft:null},borderRadiusCards:{all:10,topLeft:null,topRight:null,bottomRight:null,bottomLeft:null},padding:{all:null,top:null,right:null,bottom:null,left:null}},rm={fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif"],fontSize:16,fontSizeDim:"px",lineHeight:21,lineHeightDim:"px",color:"#5a5a5a",contrastColor:"#FFFFFF",textAlign:"left",paddingBottom:10,paddingBottomDim:"px"},zt={fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif"],fontSize:24,fontSizeDim:"px",lineHeight:32,lineHeightDim:"px",color:"#333333",contrastColor:"#FFFFFF",textAlign:"left",paddingTop:20,paddingTopDim:"px",paddingBottom:20,paddingBottomDim:"px",letterSpacing:0,letterSpacingDim:"px",bold:!0,italic:!1},Jr={color:"#1C52DC",contrastColor:"#FFFFFF",underline:!0},Ie={fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif"],fontSize:16,fontSizeDim:"px",letterSpacing:0,letterSpacingDim:"px",color:"#FFFFFF",contrastColor:"#1C52DC",bold:!1,italic:!1,backgroundColor:"#1C52DC",contrastBackgroundColor:"#FFFFFF",marginTop:10,marginTopDim:"px",marginBottom:10,marginBottomDim:"px",border:ne.border,borderRadius:ne.borderRadius,textAlign:"center",padding:ne.padding},Qr={backgroundColor:"#FFFFFF",contrastBackgroundColor:"#1C52DC",padding:ne.padding},Vt={contrastBackgroundColor:"#1C52DC",contrastTextColor:"#FFFFFF",baseBackgroundColor:"#F8F8F8",baseTextColor:"#333333",border:ne.border,borderRadius:ne.borderRadiusCards};function im(e){return{...rm,...e}}function om(e){return{...zt,...e,bold:e?.bold??zt.bold,italic:e?.italic??zt.italic}}function sm(e){return{...Jr,...e,underline:e?.underline??Jr.underline}}function am(e){return{...Ie,...e,bold:e?.bold??Ie.bold,italic:e?.italic??Ie.italic,border:{...Ie.border,...e?.border},borderRadius:{...Ie.borderRadius,...e?.borderRadius},padding:{...Ie.padding,...e?.padding}}}function lm(e){return{...Qr,...e,padding:{...Qr.padding,...e?.padding}}}function dm(e){return{...Vt,...e,border:{...Vt.border,...e?.border},borderRadius:{...Vt.borderRadius,...e?.borderRadius}}}function Kt(e={}){return{backgroundColor:e.backgroundColor||"",backgroundImage:(e.backgroundImage||[]).map(t=>({type:"url",value:t?.value||""})),backgroundPositionX:e.backgroundPositionX||"",backgroundPositionY:e.backgroundPositionY||"",backgroundRepeat:e.backgroundRepeat||"",backgroundSize:e.backgroundSize||"",backgroundColorContent:e.backgroundColorContent||"",textStrong:e.textStrong||!1,textItalic:e.textItalic||!1,textUnderline:e.textUnderline||!1,width:e.width,responsive:e.responsive}}function Zr(e){let t={...Cn};try{e&&e!=="{}"&&(t=JSON.parse(e))}catch{}return t}function Wt(e){return{text:im(e.text),headings:om(e.headings),links:sm(e.links),buttons:am(e.buttons),block:lm(e.block),cards:dm(e.cards)}}var ei=L("EmailSettingsPort"),cm=1e4,Wo=class{_editor;_layoutSettingsChanged=new nn;_contentStylesChanged=new nn;_messageSubscription;_messageSubscriptionPromise;_prevLayoutSnapshot;_prevContentSnapshot;constructor(e){this._editor=e}onChangeEmailLayoutSettings(e){const t=this._layoutSettingsChanged.event(e);return this._ensureMessageSubscription(),{dispose:()=>{t.dispose(),this._disposeMessageSubscriptionIfUnused()}}}onChangeEmailContentStyles(e){const t=this._contentStylesChanged.event(e);return this._ensureMessageSubscription(),{dispose:()=>{t.dispose(),this._disposeMessageSubscriptionIfUnused()}}}_disposeMessageSubscriptionIfUnused(){this._layoutSettingsChanged.hasListeners()||this._contentStylesChanged.hasListeners()||(this._messageSubscription?.dispose(),this._messageSubscription=void 0)}_settings(e=this._editor.container){const t=e.getInstance(ei);if(!t)throw new Error("[extensions] настройки письма ещё не загружены — работа с UI начинается с init()");return t}_getCurrentLayoutSettings(){return Kt(this._settings().read())}_getCurrentContentStyles(){const e=Pt(this._editor.container)?.current()?.get().attributes.common_styles;return Wt(Zr(e))}_getLayoutSnapshot(e){return JSON.stringify(e)}_getContentSnapshot(e){return JSON.stringify(e)}async _ensureMessageSubscription(){if(!this._messageSubscription){if(this._messageSubscriptionPromise)return this._messageSubscriptionPromise;this._messageSubscriptionPromise=(async()=>{if(await this._editor.container.getInstanceAsync(ei),this._messageSubscription)return;const e=this._editor.container.getOrCreateInstance(Ye,()=>new Xe),t=this._getCurrentLayoutSettings(),n=this._getCurrentContentStyles();this._prevLayoutSnapshot=this._getLayoutSnapshot(t),this._prevContentSnapshot=this._getContentSnapshot(n),this._messageSubscription=e.addListener(r=>{const i=r?.data,o=i?.operation;if(o===F.APPLICATION_EMAIL_SETTINGS_SET){const a=Kt(i?.settings),f=this._getLayoutSnapshot(a);f!==this._prevLayoutSnapshot&&(this._prevLayoutSnapshot=f,this._layoutSettingsChanged.fire(a));return}if(o!==F.APPLICATION_COMMON_STYLES_UPDATE)return;const s=Wt(r.data?.settings?.commonStyles??{...Cn}),d=this._getContentSnapshot(s);d!==this._prevContentSnapshot&&(this._prevContentSnapshot=d,this._contentStylesChanged.fire(s))})})();try{await this._messageSubscriptionPromise}finally{this._messageSubscriptionPromise=void 0}}}async getEmailLayoutSettings(){return await this._waitForEmailSettingsFromIframe(),this._getCurrentLayoutSettings()}async setEmailLayoutSettings(e){await this._waitForEmailSettingsFromIframe();const t=this._settings(),n={...t.read(),...e};t.write(n);const r=Kt(n);this._prevLayoutSnapshot=this._getLayoutSnapshot(r),this._layoutSettingsChanged.fire(r)}async _waitForEmailSettingsFromIframe(e=cm){const t=Pt(this._editor.container)?.current()?.get().attributes.is_inited,n=this._settings().read();if(t&&n&&Object.keys(n).length>0&&(n.backgroundColor||n.backgroundImage?.[0]?.value||n.width?.value||n.responsive!==void 0)||t)return;const r=this._editor.container,i=An(r,B.ON_EMAIL_INIT_ID);return new Promise(o=>{let s=!1,d;const a=()=>{d&&(clearTimeout(d),d=void 0)},f=i(()=>{s||(s=!0,a(),f.dispose(),o())});d=setTimeout(()=>{s||(s=!0,f.dispose(),o())},e)})}async getEmailContentStyles(){return this._getCurrentContentStyles()}async setEmailContentStyles(e){const t=Pt(this._editor.container)?.current();if(!t)return;const n=Zr(t.get().attributes.common_styles);e.text!==void 0&&(n.text={...n.text||{},...e.text}),e.headings!==void 0&&(n.headings={...n.headings||{},...e.headings}),e.links!==void 0&&(n.links={...n.links||{},...e.links}),e.buttons!==void 0&&(n.buttons=$t(n.buttons||{},e.buttons,["border","borderRadius","padding"],{border:ne.border,borderRadius:ne.borderRadius,padding:ne.padding})),e.block!==void 0&&(n.block=$t(n.block||{},e.block,["padding"],{padding:ne.padding})),e.cards!==void 0&&(n.cards=$t(n.cards||{},e.cards,["border","borderRadius"],{border:ne.border,borderRadius:ne.borderRadiusCards}));const r=JSON.stringify(n);vt(t,{common_styles:r}),this._settings().markAppearanceChanged();const i=Wt(n);this._prevContentSnapshot=this._getContentSnapshot(i),this._contentStylesChanged.fire(i)}},um={...Ko,EmailSettingsApi:Wo},fm={...Ko},jh={...fm,EmailSettingsApi:Wo},pm={...um};function mm(){Hp.addAll(pm)}var hm=[Le(()=>{mm()}),Op,xp,Dp,Fs,Ap,qs];async function gm(){return(await Qe()).asyncMixins}var vm=Gp,bm=e=>{let t=null,n=!1;return{instance:{},async setOptions(r){if(!t&&!n){let i;try{i=await gm()}catch(s){throw e.failPendingWaits(s),s}t=i(e);const o=await e.getInstanceAsync(_t);Object.assign(o,t.instance||{});for(const s of e.getInstance(bi)??[])s()}t&&await t.setOptions(r)},dispose(){t?.dispose(),n=!0}}},Em=Rs([...hm]);function Yt(){let e,t=!1;const n=new Map,r=new Map;function i(){for(const o of r.values())o();r.clear()}return{event(o,s,d){const a=Symbol("subscription");return t||(n.set(a,{listener:o,priority:s,thisArg:d}),e&&r.set(a,e(o,s,d))),()=>{n.delete(a),r.get(a)?.(),r.delete(a)}},attach(o){i(),e=o;for(const[s,{listener:d,priority:a,thisArg:f}]of n)r.set(s,o(d,a,f))},dispose(){t=!0,i(),n.clear(),e=void 0}}}function ym(e){const t=Yt(),n=Yt(),r=Yt();return e.getInstance(j)?.addDispose(()=>{t.dispose(),n.dispose(),r.dispose()}),e.getInstanceAsync(En).then(i=>{t.attach(i.onNotify),n.attach(i.onError),r.attach(i.onSuccess)},()=>{}),{handleNotify:t.event,handleError:n.event,handleSuccess:r.event,notify(i){const o=e.getInstance(En);if(!o)throw new Error("[plugin] notify() вызван до загрузки редактора");o.notify(i)}}}var _m=[vu,gp,ym];function wm(e,t=_m){const n=Kn(e);Sp(e);const r=Em(e),i=vm(e),o=bm(e),s={...r.instance,...i.instance,...o.instance};for(const a of t)Object.assign(s,a(e));let d=!0;return{instance:s,async setOptions(a){await r.setOptions(a);const f=d&&n.get()===a;d=!1,f||n.set(a),await i.setOptions(a),await o.setOptions(a)}}}var Sm=class{_storage=Object.create(null);get(e){const t=this._storage[e];return t&&(!t.expires||t.expires<Date.now())?t.value:""}set(e,t,n){this._storage[e]={value:t,expires:n.expires?n.expires*1e3+Date.now():void 0}}remove(e){delete this._storage[e]}},Im="editor-runtime.react.copies",Xt=8;function Ke(e){return e&&typeof e=="object"?e:void 0}function ti(e){const t=Ke(e);if(!t)return;if(typeof t.useState=="function")return t.useState;const n=Ke(t.default);return n&&typeof n.useState=="function"?n.useState:void 0}function Tm(e){const t=Ke(e),n=t&&typeof t.version=="string"?t.version:void 0,r=Ke(t?.default),i=r&&typeof r.version=="string"?r.version:void 0;return n??i??"unknown"}function Am(e,t,n){return e.package===t&&e.version===n}function Cm({ourReact:e,entries:t,packageName:n,version:r}){const i=ti(e);if(!i||!Array.isArray(t))return[];const o=[],s=new Set;for(const d of t){const a=Ke(d);if(!a||!Am(a,n,r))continue;const f=ti(a.react);!f||f===i||s.has(f)||(s.add(f),o.push({package:n,version:r,reactVersion:Tm(a.react),react:a.react}))}return o}function Rm({packageName:e,copies:t}){const n=[`[${e}] A second copy of React is on this page (singleton invariant broken).`,`The editor runs on its own React, the plugin got another one from ${e}/runtime/react.`,`This shows up as "Cannot read properties of null (reading 'useState')" and takes down the whole`,"editor, not just the plugin panel: plugin components render inside the editor tree.","","Found:"];for(const r of t.slice(0,Xt))n.push(` • React ${r.reactVersion}, loaded through ${r.package}@${r.version}/runtime/react`);return t.length>Xt&&n.push(` …and ${t.length-Xt} more`),n.push("","Likely root cause: the editor is loaded from its UMD entry (a <script> on the page), while the","plugin was built as an ESM package by the host bundler. Those two never share a React.","","Fix it either way:"," • build the plugin on globals — it then takes React from the page registry, or"," • load the editor from its ESM entry and build both with the same bundler."),n.join(`
1047
+ `)}var ni=new Set;function Pm({packageName:e="@emailmaker/emailmaker",version:t="1.1.85-dev.8",log:n=r=>{}}={}){const r=i=>{try{const o=globalThis[Symbol.for(Im)],s=Cm({ourReact:i,entries:o,packageName:e,version:t}).filter(d=>!ni.has(d.react));if(!s.length)return;s.forEach(d=>ni.add(d.react)),n(Rm({packageName:e,copies:s}))}catch{}};try{const i=On()?.modules?.React;if(i&&typeof i.then=="function"){i.then(r,()=>{});return}r(i)}catch{}}async function Dm(e,t,n){$(e.signal);const r=t??ht.createChild();Kn(r);const i=r.getInstance(j);async function o(){r.inject(as,new Sm),Pm();const s=wm(r),d={...s.instance,container:r,async reset(a){if($(a.signal),i.isDisposed())throw xn();return await s.setOptions(a),d}};r.inject(_t,d);try{if(n?.onInstance?.(d),await s.setOptions(e),$(e.signal),i.isDisposed()||await r.getInstance(tn)?.activate(),e.devTools)try{const a=r.getInstance(tn);a&&await(await Qe()).initDevTools(r,a)}catch{}return $(e.signal),Rn(r,hi).fire(d),d}catch(a){throw i.dispose(),a}}try{return await pt(o(),e.signal)}catch(s){throw i.isDisposed()||i.dispose(),s}}var We=new WeakMap;function Om(e){return e?We.get(e):void 0}function Yo(e){try{e.getInstance(j)?.dispose()}catch{}try{e.dispose()}catch{}}function xm(e,t){if(!e)return;const n=We.get(e);n&&n!==t&&Yo(n),We.set(e,t)}function Lm(e,t){e&&We.get(e)===t&&We.delete(e)}function Mm(e){const t=ht.createChild();return At(e)&&t.inject(me,Tt(e)),t}var qe=new WeakMap,km="data-emailmaker-config-styles";function Nm(e){return typeof e=="string"?e.trim():""}function ri(e,t){if(e.firstChild){e.insertBefore(t,e.firstChild);return}e.appendChild(t)}function Fm(e,t,n){if(!e||typeof document>"u")return null;const r=Nm(t),i=qe.get(e),o=n||e;if(!r)return i&&(i.remove(),qe.delete(e)),null;if(i)return i.textContent!==r&&(i.textContent=r),(i.parentNode!==o||i!==o.firstChild)&&ri(o,i),i;const s=document.createElement("style");return s.setAttribute(km,"true"),s.textContent=r,ri(o,s),qe.set(e,s),s}function jm(e){if(!e)return;const t=qe.get(e);t&&(t.remove(),qe.delete(e))}function Xo(){return!1}var Bm=`
1048
1048
  .blocks-app-initial-spinner-wrapper {
1049
1049
  width: 100%;
1050
1050
  height: 100%;
@@ -1073,7 +1073,7 @@ import{t as si}from"./static/esm/50fbfdf6.js";import{$ as Zo,A as es,At as le,B
1073
1073
  100% {
1074
1074
  transform: rotate(360deg);
1075
1075
  }
1076
- }`;function Om(){return()=>{}}function xm(e,t){if(!$o()||!e||typeof document>"u")return Om();e.querySelectorAll(".blocks-app-initial-spinner-wrapper").forEach(s=>{s.remove()});const n=document.createElement("div");n.classList.add("blocks-app-initial-spinner-wrapper");const r=document.createElement("div");r.classList.add("blocks-app-initial-spinner"),n.appendChild(r);const i=document.createElement("style");i.setAttribute(t,"true"),i.textContent=Dm,document.head?.appendChild(i),e.appendChild(n);let o=!1;return()=>{o||(o=!0,n.remove(),i.remove())}}function Lm(e){if(!(e instanceof Error))return!1;const t=e;return t.terminal===!0||t.status===403||t.status===404}function Mm({report:e}={}){const t=new Map,n=new Set,r=e??(i=>{});return{run(i,o){const s=t.get(i);if(s!==void 0)return s;const d=o().catch(l=>{throw n.has(i)||(n.add(i),r(l)),Lm(l)||t.delete(i),l});return t.set(i,d),d},clear(){t.clear(),n.clear()},size(){return t.size}}}var Gn=Mm();function zo(){Gn.clear()}ns(()=>Gn.clear());var Xr=new WeakMap,Jr=new WeakMap;function km(e,t){let n=Jr.get(t);n||(n=new Map,Jr.set(t,n));const r=n.get(e);if(r!==void 0)return r;const i=t.getInstance(ai),o=Hs({baseUrl:e,customFetch:i?.execute??fetch},t);return n.set(e,o),o}function qn(e){return hs(e)}function Nm(e,t){const n=new Error(`[Loader] appInit request failed: ${e} ${t}`);return n.status=e,n}function Fm(){const e=new Error("[Loader] appInit skipped: empty auth token");return e.terminal=!0,e}async function jm(e){if(!e.getAuthToken)return;const t=await e.getAuthToken(e.user,e.project,void 0),n=String(t||"").trim();return n?`Bearer ${n}`:void 0}function Bm(e,t){return async({baseUrl:n})=>{const r=qn(n);if(!r)throw new Error("[Loader] appInit requires baseUrl or REACT_APP_OPENAPI_BASE_URL");const i=new Headers({Accept:"application/json"});if(e.getAuthToken&&!await jm(e))throw Fm();const o=t();if(!o)throw new Error("[Loader] appInit requires the instance container");const s=new gi(km(r,o)),d={headers:Object.fromEntries(i.entries()),credentials:"same-origin",failoverAttemptTimeout:Un(e)||void 0},l=await s.app_init_create({},d);if(!l.ok)throw Nm(l.status,l.statusText);return l.data}}function Um(e){return JSON.stringify({baseUrl:qn(e.baseUrl)||"",project:e.project??"",userId:e.user?.id??""})}function Hm(e){return e.appInit?!0:!(e.jwtAuth&&!e.getAuthToken)}function Gm(e){return t=>Gn.run(Um(t),()=>($("appInit:start",{kind:"network"}),Promise.resolve(e(t)).finally(()=>$("appInit:end",{kind:"network"}))))}function qm(e,t){if(It(e)||!e.appInit&&!qn(e.baseUrl)||!Hm(e))return e;const n=e.appInit??Bm(e,t);let r=Xr.get(n);return r||(r=Gm(n),Xr.set(n,r)),{...e,appInit:r}}var Vo=0;function $m(){return Vo}function zm(){Vo+=1,zo()}var Qr=new WeakMap,Zr=new WeakMap,Vm=3e4;function Km(e,t){return JSON.stringify({userId:e?.id??"",project:t??""})}function Wm(e,t){try{const n=ui(e)?.exp;if(typeof n=="number"&&Number.isFinite(n)&&n>0)return n*1e3}catch{}return t+Vm}function Ym(e){const t=new Map,n=new Map;return async(r,i,o)=>{const s=Km(r,i);if(o)return n.delete(s),t.delete(s),zo(),e(r,i,o);const d=n.get(s);if(d&&!t.has(s)){if(d.expiresAtMs>Date.now())return d.token;n.delete(s)}let l=t.get(s);return l===void 0&&($("authToken:start",{kind:"network"}),l=Promise.resolve(e(r,i,o)).then(f=>{const u=String(f||"").trim();return u&&n.set(s,{token:f,expiresAtMs:Wm(u,Date.now())}),f}).finally(()=>{$("authToken:end",{kind:"network"}),t.delete(s)}),t.set(s,l)),l}}function Xm(e){if(It(e))return e;const t=e.getAuthToken;if(!t)return e;let n=Qr.get(t);const r=$m();return(!n||Zr.get(t)!==r)&&(n=Ym(t),Qr.set(t,n),Zr.set(t,r)),Promise.resolve(n(e.user,e.project,void 0)).catch(i=>{}),{...e,getAuthToken:n}}var gn=new WeakMap;function ei(e){const t=(gn.get(e)??0)+1;return gn.set(e,t),t}function Jm(e,t){return gn.get(e)===t}var Qm=new Set(["setConfig","updateConfig","show","save","getEmailSnapshot","getEmail","compileEmail","getBlocks","getEmailRevisions","getComments","validateCode","reset","useAsync"]),Zm=new Set(["setEmailMeta","setBlockMeta","notify"]),Ko=new Map([["getConfig","await `ready` first"],["use","use `useAsync()` or await `ready` first"],["container","await `ready` first"],["undoRedoService","await `ready` first"]]);function ti(e){if(/^handle[A-Z]/.test(e))return"event";if(Qm.has(e))return"async";if(Zm.has(e))return"queued";if(e==="getElement")return"element";if(e==="getCodeErrors")return"codeErrors";if(Ko.has(e))return"notReady"}function eh(e){return Ko.get(e)??"await `ready` first"}function ni(e){return new Error(`[emailmaker] \`${e}\` is not available on this editor`)}function th(e,t){let n,r=0,i="pending",o,s,d;const l=new Set,f=[];let u,v;const b=new Promise((C,P)=>{u=C,v=P});b.catch(()=>{});const E=C=>n?.[C],I=C=>{const P=E(C.name);C.dispose||typeof P!="function"||(C.dispose=P(...C.args))},g=()=>l.forEach(I),y=()=>{for(const C of l)C.dispose?.(),C.dispose=void 0},w=()=>g(),S=()=>{d?.delete(w),d=void 0},A=()=>{y(),l.clear(),S(),f.length=0,n=void 0},m=()=>i==="failed"?o:In(),c=(C,P,j)=>{if(i==="failed"||i==="destroyed")throw m();const R=E(C);if(typeof R!="function")throw ni(C);return R.apply(j,P)},a=()=>i==="ready"?Promise.resolve():i==="pending"?b:Promise.reject(m()),p=(C,P)=>{if(i==="failed"||i==="destroyed")throw m();if(i==="ready"&&typeof E(C)!="function")throw ni(C);const j={name:C,args:P};return l.add(j),I(j),()=>{l.delete(j),j.dispose?.(),j.dispose=void 0}},h=()=>{const C=e.element;return C!==void 0&&typeof C!="string"?C:void 0},_=new Proxy({},{get(C,P,j){if(typeof P!="string"||P==="then")return;const R=ti(P);if(R==="event")return(...O)=>p(P,O);if(n&&P in n)return Reflect.get(n,P,j);switch(R){case"async":return(...O)=>a().then(()=>c(P,O,j));case"queued":return(...O)=>{if(i!=="pending")return c(P,O,j);f.push({name:P,args:O})};case"element":return h;case"codeErrors":return()=>[];case"notReady":throw new Error(`[emailmaker] \`${P}\` is not available before the editor is ready: ${eh(P)}`);default:return P in Object.prototype?Reflect.get(Object.prototype,P,j):void 0}},has(C,P){return typeof P!="string"?!1:n!==void 0&&P in n||ti(P)!==void 0}}),T=Object.create(_);return Object.defineProperty(T,"ready",{get:()=>s,enumerable:!0}),Object.defineProperty(T,"destroy",{enumerable:!0,value:()=>{if(i==="destroyed"||i==="failed")return;if(i==="pending"){i="destroyed",s?.catch(()=>{}),t(Q("[emailmaker] editor was destroyed before it was ready"));return}const C=n!==void 0&&Jm(n,r),P=n;i="destroyed",A(),C&&P?.destroy()}}),{handle:T,bind:C=>{n!==C&&(y(),S(),n=C,g(),i==="pending"&&(d=C.container.getOrCreateInstance(fi,()=>new Set),d.add(w)))},settle:()=>{const C=n;if(i==="destroyed"){A(),C&&(ei(C),C.destroy());const P=Q("[emailmaker] editor was destroyed before it was ready");throw o=P,v(P),P}C&&(r=ei(C)),i="ready",S();for(const P of f.splice(0))try{c(P.name,P.args,T)}catch(j){queueMicrotask(()=>{throw j})}u()},fail:C=>{i!=="destroyed"&&(i="failed",o=C),A(),v(C)},setReady:C=>{s=C}}}var Wo="Editor mount element was removed from the document. Call instance.destroy() on host unmount.";function nh(){return Q(Wo)}function rh(e){return!(e instanceof DOMException)||e.name!=="AbortError"?!1:e.message===Wo}function ih(e,t,n){if(typeof document>"u")return;let r=!1,i;const o=()=>{r=!0,i?.disconnect(),i=void 0},s=()=>{r||(o(),t())};if(n.addDispose(o),!e.isConnected){queueMicrotask(s);return}i=new MutationObserver(()=>{e.isConnected||s()});let d=e.parentNode;for(;d;)i.observe(d,{childList:!0}),d=d.parentNode}function oh(e){const{hostElementOption:t,resolvedElement:n,externalSignal:r,disposable:i}=e;if(t===void 0||!(n instanceof Element))return r;const o=new AbortController;return ih(n,()=>{n.id,o.abort(nh())},i),wn(r,o.signal)}var Yo="Superseded by newer init() on the same mount element";function ri(){return Q(Yo)}function sh(e){return!(e instanceof DOMException)||e.name!=="AbortError"?!1:e.message===Yo}var lt=new Map,dt=new WeakMap;function ah(e){if(e instanceof Element){const t=e.id?.trim();if(t)return`#${t}`}}function lh(e){if(!e)return{release:()=>{}};const t=ah(e);dt.get(e)?.abort(ri()),t&&lt.get(t)?.abort(ri());const n=new AbortController;return dt.set(e,n),t&&lt.set(t,n),{signal:n.signal,release:()=>{dt.get(e)===n&&dt.delete(e),t&&lt.get(t)===n&&lt.delete(t)}}}var Th=si({FileManagerApiError:()=>dh}),dh=class Xo extends Error{code;status;details;get httpStatus(){return this.status}constructor(t,n,r,i){super(t),this.name="FileManagerApiError",this.code=n,this.status=r,this.details=i,Error.captureStackTrace&&Error.captureStackTrace(this,Xo)}},Ah=si({mapHttpStatusToErrorCode:()=>os});function ch(e,t){return{...e,element:t}}function vn(){return()=>{}}function uh(e){const t=e.element;return!t||typeof t=="string"||typeof document>"u"?vn():(Rm(t,e.config?.styles,t),()=>{Pm(t)})}function fh(e){if(!$o()||e.initialSpinner===!1||typeof document>"u")return{options:e,cleanup:vn()};const t=e.element;if(!t||typeof t=="string")return{options:e,cleanup:vn()};t.querySelectorAll(".blocks-app-initial-spinner-wrapper").forEach(i=>{i.remove()});const n=xm(t,"data-emailmaker"),r=e.handleChunkLoaded;return{options:{...e,handleChunkLoaded:()=>{n(),r?.()}},cleanup:n}}function ii(e){return e instanceof DOMException&&e.name==="AbortError"}function oi(e){try{e.destroy()}catch{}}function Yt(e,...t){const n=ce.get(e);t.some(r=>r!==void 0&&r===n)&&ce.delete(e)}var Ch="1.1.85-dev.6";async function Rh(e){await Rp(typeof window.__emailmaker__<"u"?window.__emailmaker__:void 0)}async function Ph(e){return ph(e).ready}function ph(e){$(J.initStart);const t=new AbortController,n=wn(e.signal,t.signal),r=th(e,o=>t.abort(o)),i=mh({...e,signal:n},r.bind).then(()=>($(J.initEnd),r.settle(),r.handle),o=>{throw r.fail(o),o});return r.setReady(i),r.handle}async function mh(e,t){q(e.signal);const n=new Z;let r;try{const i=await Ms(e.element,n,e.signal),o=oh({hostElementOption:e.element,resolvedElement:i,externalSignal:e.signal,disposable:n}),s=lh(i);r=s.release;const d=wn(o,s.signal);return q(d),await bn(hh(e,i,t,d),d)}finally{r?.(),n.dispose()}}async function hh(e,t,n,r){q(r),zm();const i=ch(e,t),o=Xm(i);let s;const d=qm(o,()=>s),l=r!=null?{...d,signal:r}:d;if(t){const E=ce.get(t);if(E){let I;try{I=await E,q(r)}catch(g){if(q(r),Yt(t,E),ii(g))throw g;I=void 0}if(I)if(I.getElement()===t)try{return s=wm(t),n(I),await I.reset(l)}catch(g){if(q(r),sh(g)||rh(g)||ii(g)&&r?.aborted)throw g;Yt(t,E,I),oi(I)}else Yt(t,E,I),oi(I)}}q(r);const f=uh(d),u=fh(d),v=r!=null?{...u.options,signal:r}:u.options;let b;try{s=Tm(v),Sm(t,s),Bn(s).set(v),await Hn(),$(J.coreReady),q(r),q(r),b=_m(v,s,{onInstance:n}),t&&ce.set(t,b);const E=await b;if(r?.aborted&&(E.destroy(),q(r)),t)if(ce.get(t)===b)ce.set(t,E);else throw E.destroy(),q(r),Q(r?.reason);return E}catch(E){throw f(),u.cleanup(),s&&(qo(s),Im(t,s)),t&&b&&ce.get(t)===b&&ce.delete(t),E}}async function Dh(e){return(await Je()).parseAMP(e)}typeof window<"u"&&(qe()&&aa(),Dp(typeof window.__emailmaker__<"u"?window.__emailmaker__:void 0));export{Wo as ELEMENT_DETACHED_ABORT_MESSAGE,Yo as SUPERSEDED_INIT_ABORT_MESSAGE,ph as create,Th as errors,Ah as helpers,Ph as init,rh as isElementDetachedError,sh as isSupersededInitError,Dh as parseAMP,xp as pluginRegistry,Rh as preload,Ch as version};
1076
+ }`;function Um(){return()=>{}}function Hm(e,t){if(!Xo()||!e||typeof document>"u")return Um();e.querySelectorAll(".blocks-app-initial-spinner-wrapper").forEach(s=>{s.remove()});const n=document.createElement("div");n.classList.add("blocks-app-initial-spinner-wrapper");const r=document.createElement("div");r.classList.add("blocks-app-initial-spinner"),n.appendChild(r);const i=document.createElement("style");i.setAttribute(t,"true"),i.textContent=Bm,document.head?.appendChild(i),e.appendChild(n);let o=!1;return()=>{o||(o=!0,n.remove(),i.remove())}}function Gm(e){if(!(e instanceof Error))return!1;const t=e;return t.terminal===!0||t.status===403||t.status===404}function qm({report:e}={}){const t=new Map,n=new Set,r=e??(i=>{});return{run(i,o){const s=t.get(i);if(s!==void 0)return s;const d=o().catch(a=>{throw n.has(i)||(n.add(i),r(a)),Gm(a)||t.delete(i),a});return t.set(i,d),d},clear(){t.clear(),n.clear()},size(){return t.size}}}var Xn=qm();function Jo(){Xn.clear()}ds(()=>Xn.clear());var ii=new WeakMap,oi=new WeakMap;function $m(e,t){let n=oi.get(t);n||(n=new Map,oi.set(t,n));const r=n.get(e);if(r!==void 0)return r;const i=t.getInstance(pi),o=Ws({baseUrl:e,customFetch:i?.execute??fetch},t);return n.set(e,o),o}function Jn(e){return Ss(e)}function zm(e,t){const n=new Error(`[Loader] appInit request failed: ${e} ${t}`);return n.status=e,n}function Vm(){const e=new Error("[Loader] appInit skipped: empty auth token");return e.terminal=!0,e}async function Km(e){if(!e.getAuthToken)return;const t=await e.getAuthToken(e.user,e.project,void 0),n=String(t||"").trim();return n?`Bearer ${n}`:void 0}var Qn=new WeakMap;function Jt(e,t){Qn.set(e,t)}function Wm(e){return Qn.get(e)}function Ym(e,t){return async({baseUrl:n})=>{const r=t();if(!r)throw new Error("[Loader] appInit requires the instance container");const i=Qn.get(r)??e,o=Jn(n);if(!o)throw new Error("[Loader] appInit requires baseUrl or REACT_APP_OPENAPI_BASE_URL");const s=new Headers({Accept:"application/json"});if(i.getAuthToken&&!await Km(i))throw Vm();const d=new _i($m(o,r)),a={headers:Object.fromEntries(s.entries()),credentials:"same-origin",failoverAttemptTimeout:Wn(i)||void 0},f=await d.app_init_create({},a);if(!f.ok)throw zm(f.status,f.statusText);return f.data}}function Xm(e){return JSON.stringify({baseUrl:Jn(e.baseUrl)||"",project:e.project??"",userId:e.user?.id??""})}function Jm(e){return e.appInit?!0:!(e.jwtAuth&&!e.getAuthToken)}function Qm(e){return t=>Xn.run(Xm(t),()=>(z("appInit:start",{kind:"network"}),Promise.resolve(e(t)).finally(()=>z("appInit:end",{kind:"network"}))))}function Zm(e,t){if(At(e)||!e.appInit&&!Jn(e.baseUrl)||!Jm(e))return e;const n=e.appInit??Ym(e,t);let r=ii.get(n);return r||(r=Qm(n),ii.set(n,r)),{...e,appInit:r}}var Qo=0;function eh(){return Qo}function th(){Qo+=1,Jo()}var si=new WeakMap,ai=new WeakMap,nh=3e4;function rh(e,t){return JSON.stringify({userId:e?.id??"",project:t??""})}function ih(e,t){try{const n=vi(e)?.exp;if(typeof n=="number"&&Number.isFinite(n)&&n>0)return n*1e3}catch{}return t+nh}function oh(e){const t=new Map,n=new Map;return async(r,i,o)=>{const s=rh(r,i);if(o)return n.delete(s),t.delete(s),Jo(),e(r,i,o);const d=n.get(s);if(d&&!t.has(s)){if(d.expiresAtMs>Date.now())return d.token;n.delete(s)}let a=t.get(s);return a===void 0&&(z("authToken:start",{kind:"network"}),a=Promise.resolve(e(r,i,o)).then(f=>{const u=String(f||"").trim();return u&&n.set(s,{token:f,expiresAtMs:ih(u,Date.now())}),f}).finally(()=>{z("authToken:end",{kind:"network"}),t.delete(s)}),t.set(s,a)),a}}function sh(e){if(At(e))return e;const t=e.getAuthToken;if(!t)return e;let n=si.get(t);const r=eh();return(!n||ai.get(t)!==r)&&(n=oh(t),si.set(t,n),ai.set(t,r)),Promise.resolve(n(e.user,e.project,void 0)).catch(i=>{}),{...e,getAuthToken:n}}var Ze=new WeakMap,wn=new WeakMap;function Zo(e,t){Ze.set(e,t),wn.get(e)?.forEach(n=>n())}function ah(e,t){const n=wn.get(e)??new Set;return n.add(t),wn.set(e,n),()=>n.delete(t)}function Qt(e){const t=(Ze.get(e)??0)+1;return Zo(e,t),t}var Sn=new WeakMap;function lh(e,t){const n=Sn.get(e)??new Set;n.add(t),Sn.set(e,n)}function dh(e,t,n){return Ze.get(e)!==t?!0:Sn.get(e)?.has(n)?!1:(Zo(e,n),!0)}function Zt(e,t){return Ze.get(e)===t}function li(e){return Ze.get(e)??0}var ch=new Set(["setConfig","updateConfig","show","save","getEmailSnapshot","getEmail","compileEmail","getBlocks","getEmailRevisions","getComments","validateCode","reset","useAsync"]),uh=new Set(["setEmailMeta","setBlockMeta","notify"]),es=new Map([["getConfig","await `ready` first"],["use","use `useAsync()` or await `ready` first"],["container","await `ready` first"],["undoRedoService","await `ready` first"]]);function di(e){if(/^handle[A-Z]/.test(e))return"event";if(ch.has(e))return"async";if(uh.has(e))return"queued";if(e==="getElement")return"element";if(e==="getCodeErrors")return"codeErrors";if(es.has(e))return"notReady"}function fh(e){return es.get(e)??"await `ready` first"}function ci(e){return new Error(`[emailmaker] \`${e}\` is not available on this editor`)}function ph(e,t){let n,r=0,i,o="pending",s,d,a,f;const u=new Set,v=[];let b,E;const I=new Promise((C,D)=>{b=C,E=D});I.catch(()=>{});const g=C=>n?.[C],y=()=>o==="pending"||n!==void 0&&Zt(n,r),_=C=>{const D=g(C.name);C.dispose||typeof D!="function"||!y()||(C.dispose=D(...C.args))},S=()=>u.forEach(_),A=()=>{for(const C of u)C.dispose?.(),C.dispose=void 0},m=()=>S(),c=()=>{o==="ready"&&(y()?S():A())},l=()=>{a?.delete(m),a=void 0},p=()=>{f?.(),f=void 0,A(),u.clear(),l(),v.length=0,n=void 0},h=()=>o==="failed"?s:xn(),w=(C,D,x)=>{if(o==="failed"||o==="destroyed")throw h();const U=g(C);if(typeof U!="function")throw ci(C);return U.apply(x,D)},T=()=>o==="ready"?Promise.resolve():o==="pending"?I:Promise.reject(h()),O=(C,D)=>{if(o==="failed"||o==="destroyed")throw h();if(o==="ready"&&typeof g(C)!="function")throw ci(C);const x={name:C,args:D};return u.add(x),_(x),()=>{u.delete(x),x.dispose?.(),x.dispose=void 0}},k=()=>{const C=e.element;return C!==void 0&&typeof C!="string"?C:void 0},W=new Proxy({},{get(C,D,x){if(typeof D!="string"||D==="then")return;const U=di(D);if(U==="event")return(...J)=>O(D,J);if(n&&D in n)return Reflect.get(n,D,x);switch(U){case"async":return(...J)=>T().then(()=>w(D,J,x));case"queued":return(...J)=>{if(o!=="pending")return w(D,J,x);v.push({name:D,args:J})};case"element":return k;case"codeErrors":return()=>[];case"notReady":throw new Error(`[emailmaker] \`${D}\` is not available before the editor is ready: ${fh(D)}`);default:return D in Object.prototype?Reflect.get(Object.prototype,D,x):void 0}},has(C,D){return typeof D!="string"?!1:n!==void 0&&D in n||di(D)!==void 0}}),R=Object.create(W);return Object.defineProperty(R,"ready",{get:()=>d,enumerable:!0}),Object.defineProperty(R,"destroy",{enumerable:!0,value:()=>{if(o==="destroyed"||o==="failed")return;if(o==="pending"){const x=i!==void 0&&n!==void 0&&Zt(n,r),U=n;o="destroyed",d?.catch(()=>{}),t(Z("[emailmaker] editor was destroyed before it was ready")),x&&(p(),U?.destroy());return}const C=n!==void 0&&Zt(n,r),D=n;o="destroyed",p(),C?D?.destroy():D&&lh(D,r)}}),{handle:R,bind:(C,D)=>{D?.adopt&&o==="pending"&&i===void 0?(i=li(C),r=Qt(C)):!D?.adopt&&n!==C&&(i=void 0),n!==C&&(A(),l(),n=C,S(),o==="pending"&&(a=C.container.getOrCreateInstance(bi,()=>new Set),a.add(m)))},settle:()=>{const C=n;if(o==="destroyed"){p(),C&&(Qt(C),C.destroy());const D=Z("[emailmaker] editor was destroyed before it was ready");throw s=D,E(D),D}C&&i===void 0&&li(C)===0&&(r=Qt(C)),o="ready",C&&(f=ah(C,c),c()),l();for(const D of v.splice(0))try{w(D.name,D.args,R)}catch(x){queueMicrotask(()=>{throw x})}b()},fail:C=>{o!=="destroyed"&&(o="failed",s=C,n&&i!==void 0&&!dh(n,r,i)&&n.destroy()),p(),E(C)},setReady:C=>{d=C}}}var ts="Editor mount element was removed from the document. Call instance.destroy() on host unmount.";function mh(){return Z(ts)}function hh(e){return!(e instanceof DOMException)||e.name!=="AbortError"?!1:e.message===ts}function gh(e,t,n){if(typeof document>"u")return;let r=!1,i;const o=()=>{r=!0,i?.disconnect(),i=void 0},s=()=>{r||(o(),t())};if(n.addDispose(o),!e.isConnected){queueMicrotask(s);return}i=new MutationObserver(()=>{e.isConnected||s()});let d=e.parentNode;for(;d;)i.observe(d,{childList:!0}),d=d.parentNode}function vh(e){const{hostElementOption:t,resolvedElement:n,externalSignal:r,disposable:i}=e;if(t===void 0||!(n instanceof Element))return r;const o=new AbortController;return gh(n,()=>{n.id,o.abort(mh())},i),Dn(r,o.signal)}var ns="Superseded by newer init() on the same mount element";function bh(){return Z(ns)}function Eh(e){return!(e instanceof DOMException)||e.name!=="AbortError"?!1:e.message===ns}var Fe=new Map,ct=new WeakMap;function yh(e){if(e instanceof Element){const t=e.id?.trim();if(t)return`#${t}`}}function _h(e){if(!e)return{previous:Promise.resolve(),release:()=>{}};const t=yh(e);(t?Fe.get(t):void 0)?.forEach(a=>{a.element!==e&&a.controller.abort(bh())});const n=ct.get(e)??Promise.resolve();let r;const i=new Promise(a=>{r=a}),o=n.then(()=>i);ct.set(e,o),o.then(()=>{ct.get(e)===o&&ct.delete(e)});const s=new AbortController,d={element:e,controller:s};if(t){const a=Fe.get(t)??new Set;a.add(d),Fe.set(t,a)}return{signal:s.signal,previous:n,release:()=>{r();const a=t?Fe.get(t):void 0;t&&a?.delete(d)&&a.size===0&&Fe.delete(t)}}}var Bh=fi({FileManagerApiError:()=>wh}),wh=class rs extends Error{code;status;details;get httpStatus(){return this.status}constructor(t,n,r,i){super(t),this.name="FileManagerApiError",this.code=n,this.status=r,this.details=i,Error.captureStackTrace&&Error.captureStackTrace(this,rs)}},Uh=fi({mapHttpStatusToErrorCode:()=>ys});function Sh(e,t){return{...e,element:t}}function In(){return()=>{}}function Ih(e){const t=e.element;return!t||typeof t=="string"||typeof document>"u"?In():(Fm(t,e.config?.styles,t),()=>{jm(t)})}function Th(e){if(!Xo()||e.initialSpinner===!1||typeof document>"u")return{options:e,cleanup:In()};const t=e.element;if(!t||typeof t=="string")return{options:e,cleanup:In()};t.querySelectorAll(".blocks-app-initial-spinner-wrapper").forEach(i=>{i.remove()});const n=Hm(t,"data-emailmaker"),r=e.handleChunkLoaded;return{options:{...e,handleChunkLoaded:()=>{n(),r?.()}},cleanup:n}}function Ah(e,t){if(e.appInit||!("appInit"in t))return t;const n={...t};return delete n.appInit,n}function ui(e){try{e.destroy()}catch{}}function en(e,...t){const n=le.get(e);t.some(r=>r!==void 0&&r===n)&&le.delete(e)}var Hh="1.1.85-dev.8";async function Gh(e){await Fp(typeof window.__emailmaker__<"u"?window.__emailmaker__:void 0)}async function qh(e){return Ch(e).ready}function Ch(e){z(Q.initStart);const t=new AbortController,n=Dn(e.signal,t.signal),r=ph(e,o=>t.abort(o)),i=Rh({...e,signal:n},r.bind).then(()=>(z(Q.initEnd),r.settle(),r.handle),o=>{throw r.fail(o),o});return r.setReady(i),r.handle}async function Rh(e,t){$(e.signal);const n=new ee;let r,i;try{const o=await Hs(e.element,n,e.signal),s=vh({hostElementOption:e.element,resolvedElement:o,externalSignal:e.signal,disposable:n}),d=_h(o);r=d.release;const a=Dn(s,d.signal);return $(a),await pt(d.previous,a),i=Ph(e,o,t,a),await pt(i,a)}finally{const o=r;i!==void 0&&o?i.then(o,o):o?.(),n.dispose()}}async function Ph(e,t,n,r){$(r),th();const i=Sh(e,t),o=sh(i);let s;const d=Zm(o,()=>s),a=r!=null?{...d,signal:r}:d;if(t){const E=le.get(t);if(E){let I;try{I=await E,$(r)}catch{$(r),en(t,E),I=void 0}if(I)if(I.getElement()===t){const g=Om(t);s=g;const y=g&&Wm(g);try{g&&Jt(g,d),n(I,{adopt:!0});const _=await I.reset(Ah(e,a));return le.set(t,I),_}catch(_){if(g&&y&&Jt(g,y),$(r),Eh(_)||hh(_)||Tn(_)&&r?.aborted)throw _;en(t,E,I),ui(I)}}else en(t,E,I),ui(I)}}$(r);const f=Ih(d),u=Th(d),v=r!=null?{...u.options,signal:r}:u.options;let b;try{s=Mm(v),xm(t,s),Jt(s,d),Kn(s).set(v),await Yn(),z(Q.coreReady),$(r),$(r),b=Dm(v,s,{onInstance:n}),t&&le.set(t,b);const E=await b;if(r?.aborted&&(E.destroy(),$(r)),t)if(le.get(t)===b)le.set(t,E);else throw E.destroy(),$(r),Z(r?.reason);return E}catch(E){throw f(),u.cleanup(),s&&(Yo(s),Lm(t,s)),t&&b&&le.get(t)===b&&le.delete(t),E}}async function $h(e){return(await Qe()).parseAMP(e)}typeof window<"u"&&($e()&&ma(),Bp(typeof window.__emailmaker__<"u"?window.__emailmaker__:void 0));export{ts as ELEMENT_DETACHED_ABORT_MESSAGE,ns as SUPERSEDED_INIT_ABORT_MESSAGE,Ch as create,Bh as errors,Uh as helpers,qh as init,hh as isElementDetachedError,Eh as isSupersededInitError,$h as parseAMP,Hp as pluginRegistry,Gh as preload,Hh as version};
1077
1077
 
1078
1078
 
1079
- window.__emailmaker__.require.config({"graph":{"core":["__delivery__/libs"],"static/core/0cb54b92.js":[],"static/core/15ea858c.js":[],"static/core/1922419a.js":[],"static/core/1c31ec91.js":["static/core/dd291b53.js","static/core/8130abb3.js","static/core/422d6166.js"],"static/core/1cb0ff80.js":[],"static/core/370f04c3.js":[],"static/core/422d6166.js":["static/core/8130abb3.js"],"static/core/43a8b244.js":[],"static/core/48270509.js":["static/core/d240cf62.js","static/core/ad7afbf4.js","__delivery__/libs","static/core/b262f9ad.js"],"static/core/6933d533.js":[],"static/core/6a5804ca.js":[],"static/core/7010b77d.js":["static/core/ad7afbf4.js","__delivery__/libs"],"static/core/72c8c438.js":["static/core/dd291b53.js"],"static/core/7b8ce310.js":[],"static/core/7c0a1f19.js":[],"static/core/7cc4b0e9.js":[],"static/core/8130abb3.js":[],"static/core/8927fdd0.js":["static/core/e6f6edff.js","static/core/b262f9ad.js","__delivery__/libs"],"static/core/8a5b1c18.js":[],"static/core/8bf56b5b.js":[],"static/core/918c30e2.js":[],"static/core/922df02d.js":["static/core/f0138633.js","static/core/b262f9ad.js","__delivery__/libs"],"static/core/9bc03055.js":["static/core/370f04c3.js","__delivery__/libs","monaco"],"static/core/9ce867fe.js":[],"static/core/9f7f5230.js":["static/core/e6f6edff.js"],"static/core/ad7afbf4.js":["__delivery__/libs"],"static/core/adf163ad.js":[],"static/core/af5819b6.js":["static/core/f0138633.js","static/core/b262f9ad.js","static/core/d240cf62.js","static/core/7010b77d.js","__delivery__/libs"],"static/core/afb434bd.js":[],"static/core/b262f9ad.js":["static/core/e6f6edff.js","__delivery__/libs"],"static/core/baf39a20.js":[],"static/core/c54e9dcb.js":["static/core/8130abb3.js"],"static/core/ceff9046.js":[],"static/core/d240cf62.js":["static/core/b262f9ad.js","__delivery__/libs"],"static/core/dbb931dd.js":[],"static/core/dc224a5b.js":[],"static/core/dd291b53.js":[],"static/core/e6f6edff.js":[],"static/core/f0138633.js":[],"static/monaco/editor.api-DqgksfDR.js":[],"monaco":["static/monaco/editor.api-DqgksfDR.js","static/monaco/lspLanguageFeatures-BnvITcKb.js"],"static/monaco/lspLanguageFeatures-BnvITcKb.js":["static/monaco/editor.api-DqgksfDR.js"],"compat-globals.js":["static/esm/50fbfdf6.js"],"emailmaker-esm.js":["static/esm/50fbfdf6.js","static/esm/6e6cc619.js"],"static/esm/delivery-libs.js":[],"static/esm/50fbfdf6.js":[],"static/esm/6e6cc619.js":[]},"bundles":{"static/core/ad7afbf4.js":["static/core/49caf02a.js","static/core/243fc7ac.js","static/core/5ff8810d.js","static/core/de7377ec.js"],"static/core/72c8c438.js":["static/core/a54d9b28.js"],"static/core/8927fdd0.js":["static/core/be880f91.js"],"static/core/7010b77d.js":["static/core/61378c9e.js"],"static/core/48270509.js":["static/core/1dc142a7.js"],"core":["static/core/5dc34752.js","static/core/af34343f.js","static/core/5f7f72e9.js","static/core/92c24b83.js","static/core/639e22b1.js"]}});
1079
+ window.__emailmaker__.require.config({"graph":{"core":["__delivery__/libs"],"static/core/0cb54b92.js":[],"static/core/134673be.js":[],"static/core/13cb7458.js":[],"static/core/15ea858c.js":[],"static/core/1922419a.js":[],"static/core/20510a35.js":[],"static/core/3364944b.js":[],"static/core/357b2101.js":["static/core/13cb7458.js","static/core/b262f9ad.js","static/core/52727b3c.js","static/core/4eec44be.js","__delivery__/libs"],"static/core/3608ef89.js":["static/core/13cb7458.js","static/core/b262f9ad.js","__delivery__/libs"],"static/core/370f04c3.js":[],"static/core/384f52ae.js":[],"static/core/38ea40d5.js":[],"static/core/43a8b244.js":[],"static/core/49417e0f.js":["static/core/38ea40d5.js","static/core/c463cfc9.js","static/core/bb9b0659.js"],"static/core/4a69e61b.js":["static/core/52727b3c.js","static/core/fc16423f.js","__delivery__/libs","static/core/b262f9ad.js"],"static/core/4ce7d544.js":[],"static/core/4ed7c44e.js":[],"static/core/4eec44be.js":["static/core/fc16423f.js","__delivery__/libs"],"static/core/52727b3c.js":["static/core/b262f9ad.js","__delivery__/libs"],"static/core/6933d533.js":[],"static/core/6dd8d273.js":[],"static/core/7c0a1f19.js":[],"static/core/8927fdd0.js":["static/core/e6f6edff.js","static/core/b262f9ad.js","__delivery__/libs"],"static/core/8a5b1c18.js":[],"static/core/8bf56b5b.js":[],"static/core/918c30e2.js":[],"static/core/9f7f5230.js":["static/core/e6f6edff.js"],"static/core/a259d477.js":["static/core/38ea40d5.js"],"static/core/a6d4a170.js":[],"static/core/b262f9ad.js":["static/core/e6f6edff.js","__delivery__/libs"],"static/core/bb9b0659.js":["static/core/c463cfc9.js"],"static/core/bfb41946.js":[],"static/core/c463cfc9.js":[],"static/core/c70ac7ca.js":[],"static/core/d1a1a5b2.js":["static/core/370f04c3.js","__delivery__/libs","monaco"],"static/core/e6f6edff.js":[],"static/core/e7c35a6b.js":[],"static/core/f220d2ff.js":["static/core/c463cfc9.js"],"static/core/fc16423f.js":["__delivery__/libs"],"static/monaco/editor.api-DqgksfDR.js":[],"monaco":["static/monaco/editor.api-DqgksfDR.js","static/monaco/lspLanguageFeatures-BnvITcKb.js"],"static/monaco/lspLanguageFeatures-BnvITcKb.js":["static/monaco/editor.api-DqgksfDR.js"],"compat-globals.js":["static/esm/50fbfdf6.js"],"emailmaker-esm.js":["static/esm/50fbfdf6.js","static/esm/e1e55006.js"],"static/esm/delivery-libs.js":[],"static/esm/50fbfdf6.js":[],"static/esm/e1e55006.js":[]},"bundles":{"static/core/fc16423f.js":["static/core/73ae5cc7.js","static/core/a10f05f2.js","static/core/a1fd90a9.js","static/core/cf200359.js"],"static/core/a259d477.js":["static/core/a54d9b28.js"],"static/core/8927fdd0.js":["static/core/be880f91.js"],"static/core/4eec44be.js":["static/core/61378c9e.js"],"static/core/4a69e61b.js":["static/core/b5255877.js"],"core":["static/core/5dc34752.js","static/core/42f90c4f.js","static/core/ce7ec7e9.js","static/core/b5a1ad75.js","static/core/a996fff4.js"]}});