"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[521],{81404:(t,e,r)=>{r.d(e,{IT:()=>tf,Mp:()=>tn,QQ:()=>ti,SF:()=>tc,Wo:()=>tu,YV:()=>td,ZQ:()=>eR,eg:()=>Z,xC:()=>tr});var n=r(73364),i=r(85022),l=r(30963),s=r(61105),o=r(22448),c=r(96284),h=r(6874),d=r(59590),a=r(7065),u=r(32492),g=r(77473),f=r(75423),p=r(74781),w=r(38469),_=(r(1704),r(77751)),k=r(17918),m=r(37441);n.W;class b{constructor(t,e){this.clock=t,this.len=e}}class y{constructor(){this.clients=new Map}}let S=(t,e,r)=>e.clients.forEach((e,n)=>{let i=t.doc.store.clients.get(n);for(let n=0;n{let r=0,n=t.length-1;for(;r<=n;){let i=l.RI((r+n)/2),s=t[i],o=s.clock;if(o<=e){if(e{let r=t.clients.get(e.client);return void 0!==r&&null!==C(r,e.clock)},E=t=>{t.clients.forEach(t=>{let e,r;for(t.sort((t,e)=>t.clock-e.clock),e=1,r=1;e=i.clock?n.len=l.T9(n.len,i.clock+i.len-n.clock):(r{let e=new y;for(let r=0;r{if(!e.clients.has(l)){let s=n.slice();for(let e=r+1;e{s._4(t.clients,e,()=>[]).push(new b(r,n))},A=(t,e)=>{o.zd(t.restEncoder,e.clients.size),i.HT(e.clients.entries()).sort((t,e)=>e[0]-t[0]).forEach(([e,r])=>{t.resetDsCurVal(),o.zd(t.restEncoder,e);let n=r.length;o.zd(t.restEncoder,n);for(let e=0;e{let e=new y,r=decoding.readVarUint(t.restDecoder);for(let n=0;n0){let i=map.setIfUndefined(e.clients,r,()=>[]);for(let e=0;e{let n=new y,i=decoding.readVarUint(t.restDecoder);for(let l=0;l0){let t=new z;return encoding.writeVarUint(t.restEncoder,0),A(t,n),t.toUint8Array()}return null},L=h.S8;class T extends n.W{constructor({guid:t=h.gZ(),collectionid:e=null,gc:r=!0,gcFilter:n=()=>!0,meta:i=null,autoLoad:l=!1,shouldLoad:s=!0}={}){super(),this.gc=r,this.gcFilter=n,this.clientID=L(),this.guid=t,this.collectionid=e,this.share=new Map,this.store=new tk,this._transaction=null,this._transactionCleanups=[],this.subdocs=new Set,this._item=null,this.shouldLoad=s,this.autoLoad=l,this.meta=i,this.isLoaded=!1,this.isSynced=!1,this.isDestroyed=!1,this.whenLoaded=d.vt(t=>{this.on("load",()=>{this.isLoaded=!0,t(this)})});let o=()=>d.vt(t=>{let e=r=>{(void 0===r||!0===r)&&(this.off("sync",e),t())};this.on("sync",e)});this.on("sync",t=>{!1===t&&this.isSynced&&(this.whenSynced=o()),this.isSynced=void 0===t||!0===t,this.isSynced&&!this.isLoaded&&this.emit("load",[this])}),this.whenSynced=o()}load(){let t=this._item;null===t||this.shouldLoad||tV(t.parent.doc,t=>{t.subdocsLoaded.add(this)},null,!0),this.shouldLoad=!0}getSubdocs(){return this.subdocs}getSubdocGuids(){return new Set(i.HT(this.subdocs).map(t=>t.guid))}transact(t,e=null){return tV(this,t,e)}get(t,e=t8){let r=s._4(this.share,t,()=>{let t=new e;return t._integrate(this,null),t}),n=r.constructor;if(e!==t8&&n!==e)if(n===t8){let n=new e;n._map=r._map,r._map.forEach(t=>{for(;null!==t;t=t.left)t.parent=n}),n._start=r._start;for(let t=n._start;null!==t;t=t.right)t.parent=n;return n._length=r._length,this.share.set(t,n),n._integrate(this,null),n}else throw Error(`Type with the name ${t} has already been defined with a different constructor`);return r}getArray(t=""){return this.get(t,eu)}getText(t=""){return this.get(t,eL)}getMap(t=""){return this.get(t,ef)}getXmlElement(t=""){return this.get(t,eN)}getXmlFragment(t=""){return this.get(t,eO)}toJSON(){let t={};return this.share.forEach((e,r)=>{t[r]=e.toJSON()}),t}destroy(){this.isDestroyed=!0,i.HT(this.subdocs).forEach(t=>t.destroy());let t=this._item;if(null!==t){this._item=null;let e=t.content;e.doc=new T({guid:this.guid,...e.opts,shouldLoad:!1}),e.doc._item=t,tV(t.parent.doc,r=>{let n=e.doc;t.deleted||r.subdocsAdded.add(n),r.subdocsRemoved.add(this)},null,!0)}this.emit("destroyed",[!0]),this.emit("destroy",[this]),super.destroy()}}class O{constructor(t){this.dsCurrVal=0,this.restDecoder=t}resetDsCurVal(){this.dsCurrVal=0}readDsClock(){return this.dsCurrVal+=c.cw(this.restDecoder),this.dsCurrVal}readDsLen(){let t=c.cw(this.restDecoder)+1;return this.dsCurrVal+=t,t}}class N extends O{constructor(t){super(t),this.keys=[],c.cw(t),this.keyClockDecoder=new c.xK(c.bo(t)),this.clientDecoder=new c.VQ(c.bo(t)),this.leftClockDecoder=new c.xK(c.bo(t)),this.rightClockDecoder=new c.xK(c.bo(t)),this.infoDecoder=new c.cQ(c.bo(t),c.xh),this.stringDecoder=new c.Ib(c.bo(t)),this.parentInfoDecoder=new c.cQ(c.bo(t),c.xh),this.typeRefDecoder=new c.VQ(c.bo(t)),this.lenDecoder=new c.VQ(c.bo(t))}readLeftID(){return new Y(this.clientDecoder.read(),this.leftClockDecoder.read())}readRightID(){return new Y(this.clientDecoder.read(),this.rightClockDecoder.read())}readClient(){return this.clientDecoder.read()}readInfo(){return this.infoDecoder.read()}readString(){return this.stringDecoder.read()}readParentInfo(){return 1===this.parentInfoDecoder.read()}readTypeRef(){return this.typeRefDecoder.read()}readLen(){return this.lenDecoder.read()}readAny(){return c.Jg(this.restDecoder)}readBuf(){return c.bo(this.restDecoder)}readJSON(){return c.Jg(this.restDecoder)}readKey(){let t=this.keyClockDecoder.read();if(t{n=l.T9(n,e[0].id.clock);let i=tS(e,n);o.zd(t.restEncoder,e.length-i),t.writeClient(r),o.zd(t.restEncoder,n);let s=e[i];s.write(t,n-s.id.clock);for(let r=i+1;r{let n=new Map;r.forEach((t,r)=>{tb(e,r)>t&&n.set(r,t)}),tm(e).forEach((t,e)=>{r.has(e)||n.set(e,0)}),o.zd(t.restEncoder,n.size),i.HT(n.entries()).sort((t,e)=>e[0]-t[0]).forEach(([r,n])=>{J(t,e.clients.get(r),r,n)})},F=(t,e)=>{let r=map.create(),n=decoding.readVarUint(t.restDecoder);for(let i=0;i{let n=[],i=array.from(r.keys()).sort((t,e)=>t-e);if(0===i.length)return null;let l=()=>{if(0===i.length)return null;let t=r.get(i[i.length-1]);for(;t.refs.length===t.i;){if(i.pop(),!(i.length>0))return null;t=r.get(i[i.length-1])}return t},s=l();if(null===s)return null;let o=new tk,c=new Map,h=(t,e)=>{let r=c.get(t);(null==r||r>e)&&c.set(t,e)},d=s.refs[s.i++],a=new Map,u=()=>{for(let t of n){let e=t.id.client,n=r.get(e);n?(n.i--,o.clients.set(e,n.refs.slice(n.i)),r.delete(e),n.i=0,n.refs=[]):o.clients.set(e,[t]),i=i.filter(t=>t!==e)}n.length=0};for(;;){if(d.constructor!==rn){let i=map.setIfUndefined(a,d.id.client,()=>tb(e,d.id.client))-d.id.clock;if(i<0)n.push(d),h(d.id.client,d.id.clock-1),u();else{let l=d.getMissing(t,e);if(null!==l){n.push(d);let t=r.get(l)||{refs:[],i:0};if(t.refs.length===t.i)h(l,tb(e,l)),u();else{d=t.refs[t.i++];continue}}else(0===i||i0)d=n.pop();else if(null!==s&&s.i0){let t=new z;return B(t,o,new Map),encoding.writeVarUint(t.restEncoder,0),{missing:c,update:t.toUint8Array()}}return null},W=(t,e)=>B(t,e.doc.store,e.beforeState),H=(t,e,r,n=new N(t))=>tV(e,t=>{t.local=!1;let e=!1,r=t.doc,i=r.store,l=j(t,i,F(n,r)),s=i.pendingStructs;if(s){for(let[t,r]of s.missing)if(re)&&s.missing.set(t,e)}s.update=tB([s.update,l.update])}}else i.pendingStructs=l;let o=M(n,t,i);if(i.pendingDs){let e=new N(decoding.createDecoder(i.pendingDs));decoding.readVarUint(e.restDecoder);let r=M(e,t,i);o&&r?i.pendingDs=tB([o,r]):i.pendingDs=o||r}else i.pendingDs=o;if(e){let e=i.pendingStructs.update;i.pendingStructs=null,Q(t.doc,e)}},r,!1),Q=(t,e,r,n=N)=>{let i=decoding.createDecoder(e);H(i,t,r,new n(i))};class K{constructor(){this.l=[]}}let $=()=>new K,q=(t,e)=>t.l.push(e),G=(t,e)=>{let r=t.l,n=r.length;t.l=r.filter(t=>e!==t),n===t.l.length&&console.error("[yjs] Tried to remove event handler that doesn't exist.")},P=(t,e,r)=>g.OK(t.l,[e,r]);class Y{constructor(t,e){this.client=t,this.clock=e}}let X=(t,e)=>t===e||null!==t&&null!==e&&t.client===e.client&&t.clock===e.clock,Z=(t,e)=>new Y(t,e),tt=(t,e)=>{o.zd(t,e.client),o.zd(t,e.clock)},te=t=>Z(c.cw(t),c.cw(t)),tr=t=>{for(let[e,r]of t.doc.share.entries())if(r===t)return e;throw a.Mq()},tn=(t,e)=>{for(;null!==e;){if(e.parent===t)return!0;e=e.parent._item}return!1};class ti{constructor(t,e,r,n=0){this.type=t,this.tname=e,this.item=r,this.assoc=n}}class tl{constructor(t,e,r=0){this.type=t,this.index=e,this.assoc=r}}let ts=(t,e,r=0)=>new tl(t,e,r),to=(t,e,r)=>{let n=null,i=null;return null===t._item?i=tr(t):n=Z(t._item.id.client,t._item.id.clock),new ti(n,i,e,r)},tc=(t,e,r=0)=>{let n=t._start;if(r<0){if(0===e)return to(t,null,r);e--}for(;null!==n;){if(!n.deleted&&n.countable){if(n.length>e)return to(t,Z(n.id.client,n.id.clock+e),r);e-=n.length}if(null===n.right&&r<0)return to(t,n.lastId,r);n=n.right}return to(t,null,r)},th=(t,e)=>{let{type:r,tname:n,item:i,assoc:l}=e;if(null!==i)o.zd(t,0),tt(t,i);else if(null!==n)o.QJ(t,1),o.Qj(t,n);else if(null!==r)o.QJ(t,2),tt(t,r);else throw a.Mq();return o.Sj(t,l),t},td=t=>{let e=o.xv();return th(e,t),o.Fo(e)},ta=t=>{let e=null,r=null,n=null;switch(c.cw(t)){case 0:n=te(t);break;case 1:r=c.t3(t);break;case 2:e=te(t)}return new ti(e,r,n,c.ov(t)?c.pT(t):0)},tu=t=>ta(c.$C(t)),tg=(t,e)=>{let r=tC(t,e),n=e.clock-r.id.clock;return{item:r,diff:n}},tf=(t,e,r=!0)=>{let n=e.store,i=t.item,l=t.type,s=t.tname,o=t.assoc,c=null,h=0;if(null!==i){if(tb(n,i.client)<=i.clock)return null;let t=r?e2(n,i):tg(n,i),e=t.item;if(!(e instanceof rt))return null;if(null===(c=e.parent)._item||!c._item.deleted){h=e.deleted||!e.countable?0:t.diff+(o>=0?0:1);let r=e.left;for(;null!==r;)!r.deleted&&r.countable&&(h+=r.length),r=r.left}}else{if(null!==s)c=e.get(s);else if(null!==l){if(tb(n,l.client)<=l.clock)return null;let{item:t}=r?e2(n,l):{item:tC(n,l)};if(!(t instanceof rt)||!(t.content instanceof e7))return null;c=t.content.type}else throw a.Mq();h=o>=0?c._length:0}return ts(c,h,t.assoc)};class tp{constructor(t,e){this.ds=t,this.sv=e}}new tp(new y,new Map);let tw=(t,e)=>void 0===e?!t.deleted:e.sv.has(t.id.client)&&(e.sv.get(t.id.client)||0)>t.id.clock&&!D(e.ds,t.id),t_=(t,e)=>{let r=s._4(t.meta,t_,f.vt),n=t.doc.store;r.has(e)||(e.sv.forEach((e,r)=>{e{}),r.add(e))};class tk{constructor(){this.clients=new Map,this.pendingStructs=null,this.pendingDs=null}}let tm=t=>{let e=new Map;return t.clients.forEach((t,r)=>{let n=t[t.length-1];e.set(r,n.id.clock+n.length)}),e},tb=(t,e)=>{let r=t.clients.get(e);if(void 0===r)return 0;let n=r[r.length-1];return n.id.clock+n.length},ty=(t,e)=>{let r=t.clients.get(e.id.client);if(void 0===r)r=[],t.clients.set(e.id.client,r);else{let t=r[r.length-1];if(t.id.clock+t.length!==e.id.clock)throw a.Mq()}r.push(e)},tS=(t,e)=>{let r=0,n=t.length-1,i=t[n],s=i.id.clock;if(s===e)return n;let o=l.RI(e/(s+i.length-1)*n);for(;r<=n;){if((s=(i=t[o]).id.clock)<=e){if(e{let r=t.clients.get(e.client);return r[tS(r,e.clock)]},tD=(t,e,r)=>{let n=tS(e,r),i=e[n];return i.id.clock{let r=t.doc.store.clients.get(e.client);return r[tD(t,r,e.clock)]},tv=(t,e,r)=>{let n=e.clients.get(r.client),i=tS(n,r.clock),l=n[i];return r.clock!==l.id.clock+l.length-1&&l.constructor!==eJ&&n.splice(i+1,0,e6(t,l,r.clock-l.id.clock+1)),l},tI=(t,e,r)=>{let n=t.clients.get(e.id.client);n[tS(n,e.id.clock)]=r},tA=(t,e,r,n,i)=>{let l;if(0===n)return;let s=r+n,o=tD(t,e,r);do s<(l=e[o++]).id.clock+l.length&&tD(t,e,s),i(l);while(o(0!==e.deleteSet.clients.size||!!s.bz(e.afterState,(t,r)=>e.beforeState.get(r)!==t))&&(E(e.deleteSet),W(t,e),A(t,e.deleteSet),!0),tL=(t,e,r)=>{let n=e._item;(null===n||n.id.clock<(t.beforeState.get(n.id.client)||0)&&!n.deleted)&&s._4(t.changed,e,f.vt).add(r)},tT=(t,e)=>{let r=t[e],n=t[e-1],i=e;for(;i>0;r=n,n=t[--i-1]){if(n.deleted===r.deleted&&n.constructor===r.constructor&&n.mergeWith(r)){r instanceof rt&&null!==r.parentSub&&r.parent._map.get(r.parentSub)===r&&r.parent._map.set(r.parentSub,n);continue}break}let l=e-i;return l&&t.splice(e+1-l,l),l},tO=(t,e,r)=>{for(let[n,i]of t.clients.entries()){let t=e.clients.get(n);for(let n=i.length-1;n>=0;n--){let l=i[n],s=l.clock+l.len;for(let n=tS(t,l.clock),i=t[n];n{t.clients.forEach((t,r)=>{let n=e.clients.get(r);for(let e=t.length-1;e>=0;e--){let r=t[e],i=l.jk(n.length-1,1+tS(n,r.clock+r.len-1));for(let t=i,e=n[t];t>0&&e.id.clock>=r.clock;e=n[t])t-=1+tT(n,t)}})},tU=(t,e)=>{if(et.push(()=>{null!==n._item&&n._item.deleted||n._callObserver(r,e)})),t.push(()=>{r.changedParentTypes.forEach((t,e)=>{e._dEH.l.length>0&&(null===e._item||!e._item.deleted)&&((t=t.filter(t=>null===t.target._item||!t.target._item.deleted)).forEach(t=>{t.currentTarget=e,t._path=null}),t.sort((t,e)=>t.path.length-e.path.length),P(e._dEH,t,r))})}),t.push(()=>n.emit("afterTransaction",[r,n])),(0,g.OK)(t,[]),r._needFormattingCleanup&&eA(r)}finally{n.gc&&tO(s,i,n.gcFilter),tN(s,i),r.afterState.forEach((t,e)=>{let n=r.beforeState.get(e)||0;if(n!==t){let t=i.clients.get(e),r=l.T9(tS(t,n),1);for(let e=t.length-1;e>=r;)e-=1+tT(t,e)}});for(let t=o.length-1;t>=0;t--){let{client:e,clock:r}=o[t].id,n=i.clients.get(e),l=tS(n,r);!(l+11)&&l>0&&tT(n,l)}if(r.local||r.afterState.get(n.clientID)===r.beforeState.get(n.clientID)||(p.yy(w.hN,w.Y,"[yjs] ",w.Ny,w.UH,"Changed the client-id because another client seems to be using it."),n.clientID=L()),n.emit("afterTransactionCleanup",[r,n]),n._observers.has("update")){let t=new V;tM(t,r)&&n.emit("update",[t.toUint8Array(),r.origin,n,r])}if(n._observers.has("updateV2")){let t=new z;tM(t,r)&&n.emit("updateV2",[t.toUint8Array(),r.origin,n,r])}let{subdocsAdded:c,subdocsLoaded:h,subdocsRemoved:d}=r;(c.size>0||d.size>0||h.size>0)&&(c.forEach(t=>{t.clientID=n.clientID,null==t.collectionid&&(t.collectionid=n.collectionid),n.subdocs.add(t)}),d.forEach(t=>n.subdocs.delete(t)),n.emit("subdocs",[{loaded:h,added:c,removed:d},n,r]),d.forEach(t=>t.destroy())),t.length<=e+1?(n._transactionCleanups=[],n.emit("afterAllTransactions",[n,t])):tU(t,e+1)}}},tV=(t,e,r=null,n=!0)=>{let i=t._transactionCleanups,l=!1,s=null;null===t._transaction&&(l=!0,t._transaction=new tx(t,r,n),i.push(t._transaction),1===i.length&&t.emit("beforeAllTransactions",[t]),t.emit("beforeTransaction",[t._transaction,t]));try{s=e(t._transaction)}finally{if(l){let e=t._transaction===i[0];t._transaction=null,e&&tU(i,0)}}return s};n.W;class tR{constructor(t,e){this.gen=function*(t){let e=decoding.readVarUint(t.restDecoder);for(let r=0;r{if(t.constructor===eJ){let{client:r,clock:n}=t.id;return new eJ(Z(r,n+e),t.length-e)}if(t.constructor===rn){let{client:r,clock:n}=t.id;return new rn(Z(r,n+e),t.length-e)}{let{client:r,clock:n}=t.id;return new rt(Z(r,n+e),null,Z(r,n+e-1),null,t.rightOrigin,t.parent,t.parentSub,t.content.splice(e))}},tB=(t,e=N,r=z)=>{if(1===t.length)return t[0];let n=t.map(t=>new e(decoding.createDecoder(t))),i=n.map(t=>new tR(t,!0)),l=null,s=new r,o=new tz(s);for(;(i=i.filter(t=>null!==t.curr)).sort((t,e)=>{if(t.curr.id.client!==e.curr.id.client)return e.curr.id.client-t.curr.id.client;{let r=t.curr.id.clock-e.curr.id.clock;return 0===r?t.curr.constructor===e.curr.constructor?0:t.curr.constructor===rn?1:-1:r}}),0!==i.length;){let t=i[0],e=t.curr.id.client;if(null!==l){let r=t.curr,n=!1;for(;null!==r&&r.id.clock+r.length<=l.struct.id.clock+l.struct.length&&r.id.client>=l.struct.id.client;)r=t.next(),n=!0;if(null===r||r.id.client!==e||n&&r.id.clock>l.struct.id.clock+l.struct.length)continue;if(e!==l.struct.id.client)tj(o,l.struct,l.offset),l={struct:r,offset:0},t.next();else if(l.struct.id.clock+l.struct.length0&&(l.struct.constructor===rn?l.struct.length-=e:r=tJ(r,e)),l.struct.mergeWith(r)||(tj(o,l.struct,l.offset),l={struct:r,offset:0},t.next())}}else l={struct:t.curr,offset:0},t.next();for(let r=t.curr;null!==r&&r.id.client===e&&r.id.clock===l.struct.id.clock+l.struct.length&&r.constructor!==rn;r=t.next())tj(o,l.struct,l.offset),l={struct:r,offset:0}}return null!==l&&(tj(o,l.struct,l.offset),l=null),tW(o),A(s,v(n.map(t=>x(t)))),s.toUint8Array()},tF=t=>{t.written>0&&(t.clientStructs.push({written:t.written,restEncoder:encoding.toUint8Array(t.encoder.restEncoder)}),t.encoder.restEncoder=encoding.createEncoder(),t.written=0)},tj=(t,e,r)=>{t.written>0&&t.currClient!==e.id.client&&tF(t),0===t.written&&(t.currClient=e.id.client,t.encoder.writeClient(e.id.client),encoding.writeVarUint(t.encoder.restEncoder,e.id.clock+r)),e.write(t.encoder,r),t.written++},tW=t=>{tF(t);let e=t.encoder.restEncoder;encoding.writeVarUint(e,t.clientStructs.length);for(let r=0;r{if(null!==r){let n,l,s=e._map.get(r);if(this.adds(s)){let t=s.left;for(;null!==t&&this.adds(t);)t=t.left;if(this.deletes(s))if(!(null!==t&&this.deletes(t)))return;else n="delete",l=i.HV(t.content.getContent());else null!==t&&this.deletes(t)?(n="update",l=i.HV(t.content.getContent())):(n="add",l=void 0)}else{if(!this.deletes(s))return;n="delete",l=i.HV(s.content.getContent())}t.set(r,{action:n,oldValue:l})}}),this._keys=t}return this._keys}get delta(){return this.changes.delta}adds(t){return t.id.clock>=(this.transaction.beforeState.get(t.id.client)||0)}get changes(){let t=this._changes;if(null===t){if(0===this.transaction.doc._transactionCleanups.length)throw a.vt(tH);let e=this.target,r=f.vt(),n=f.vt(),i=[];if(t={added:r,deleted:n,delta:i,keys:this.keys},this.transaction.changed.get(e).has(null)){let t=null,l=()=>{t&&i.push(t)};for(let i=e._start;null!==i;i=i.right)i.deleted?this.deletes(i)&&!this.adds(i)&&((null===t||void 0===t.delete)&&(l(),t={delete:0}),t.delete+=i.length,n.add(i)):this.adds(i)?((null===t||void 0===t.insert)&&(l(),t={insert:[]}),t.insert=t.insert.concat(i.content.getContent()),r.add(i)):((null===t||void 0===t.retain)&&(l(),t={retain:0}),t.retain+=i.length);null!==t&&void 0===t.retain&&l()}this._changes=t}return t}}let tK=(t,e)=>{let r=[];for(;null!==e._item&&e!==t;){if(null!==e._item.parentSub)r.unshift(e._item.parentSub);else{let t=0,n=e._item.parent._start;for(;n!==e._item&&null!==n;)!n.deleted&&n.countable&&(t+=n.length),n=n.right;r.unshift(t)}e=e._item.parent}return r},t$=()=>{p.R8("Invalid access: Add Yjs type to a document before reading data.")},tq=0;class tG{constructor(t,e){t.marker=!0,this.p=t,this.index=e,this.timestamp=tq++}}let tP=t=>{t.timestamp=tq++},tY=(t,e,r)=>{t.p.marker=!1,t.p=e,e.marker=!0,t.index=r,t.timestamp=tq++},tX=(t,e,r)=>{if(t.length>=80){let n=t.reduce((t,e)=>t.timestamp{if(null===t._start||0===e||null===t._searchMarker)return null;let r=0===t._searchMarker.length?null:t._searchMarker.reduce((t,r)=>l.tn(e-t.index)e;)!(n=n.left).deleted&&n.countable&&(i-=n.length);for(;null!==n.left&&n.left.id.client===n.id.client&&n.left.id.clock+n.left.length===n.id.clock;)!(n=n.left).deleted&&n.countable&&(i-=n.length);return null!==r&&l.tn(r.index-i){for(let n=t.length-1;n>=0;n--){let i=t[n];if(r>0){let e=i.p;for(e.marker=!1;e&&(e.deleted||!e.countable);)(e=e.left)&&!e.deleted&&e.countable&&(i.index-=e.length);if(null===e||!0===e.marker){t.splice(n,1);continue}i.p=e,e.marker=!0}(e0&&e===i.index)&&(i.index=l.T9(e,i.index+r))}},t1=(t,e,r)=>{let n=t,i=e.changedParentTypes;for(;s._4(i,t,()=>[]).push(r),null!==t._item;)t=t._item.parent;P(n._eH,r,e)};class t8{constructor(){this._item=null,this._map=new Map,this._start=null,this.doc=null,this._length=0,this._eH=$(),this._dEH=$(),this._searchMarker=null}get parent(){return this._item?this._item.parent:null}_integrate(t,e){this.doc=t,this._item=e}_copy(){throw a.bD()}clone(){throw a.bD()}_write(t){}get _first(){let t=this._start;for(;null!==t&&t.deleted;)t=t.right;return t}_callObserver(t,e){!t.local&&this._searchMarker&&(this._searchMarker.length=0)}observe(t){q(this._eH,t)}observeDeep(t){q(this._dEH,t)}unobserve(t){G(this._eH,t)}unobserveDeep(t){G(this._dEH,t)}toJSON(){}}let t4=(t,e,r)=>{t.doc??t$(),e<0&&(e=t._length+e),r<0&&(r=t._length+r);let n=r-e,i=[],l=t._start;for(;null!==l&&n>0;){if(l.countable&&!l.deleted){let t=l.content.getContent();if(t.length<=e)e-=t.length;else{for(let r=e;r0;r++)i.push(t[r]),n--;e=0}}l=l.right}return i},t7=t=>{t.doc??t$();let e=[],r=t._start;for(;null!==r;){if(r.countable&&!r.deleted){let t=r.content.getContent();for(let r=0;r{let r=0,n=t._start;for(t.doc??t$();null!==n;){if(n.countable&&!n.deleted){let i=n.content.getContent();for(let n=0;n{let r=[];return t2(t,(n,i)=>{r.push(e(n,i,t))}),r},t6=t=>{let e=t._start,r=null,n=0;return{[Symbol.iterator](){return this},next:()=>{if(null===r){for(;null!==e&&e.deleted;)e=e.right;if(null===e)return{done:!0,value:void 0};r=e.content.getContent(),n=0,e=e.right}let t=r[n++];return r.length<=n&&(r=null),{done:!1,value:t}}}},t3=(t,e)=>{t.doc??t$();let r=tZ(t,e),n=t._start;for(null!==r&&(n=r.p,e-=r.index);null!==n;n=n.right)if(!n.deleted&&n.countable){if(e{let i=r,l=t.doc,s=l.clientID,o=l.store,c=null===r?e._start:r.right,h=[],d=()=>{h.length>0&&((i=new rt(Z(s,tb(o,s)),i,i&&i.lastId,c,c&&c.id,e,null,new eq(h))).integrate(t,0),h=[])};n.forEach(r=>{if(null===r)h.push(r);else switch(r.constructor){case Number:case Object:case Boolean:case Array:case String:h.push(r);break;default:switch(d(),r.constructor){case Uint8Array:case ArrayBuffer:(i=new rt(Z(s,tb(o,s)),i,i&&i.lastId,c,c&&c.id,e,null,new eB(new Uint8Array(r)))).integrate(t,0);break;case T:(i=new rt(Z(s,tb(o,s)),i,i&&i.lastId,c,c&&c.id,e,null,new eW(r))).integrate(t,0);break;default:if(r instanceof t8)(i=new rt(Z(s,tb(o,s)),i,i&&i.lastId,c,c&&c.id,e,null,new e7(r))).integrate(t,0);else throw Error("Unexpected content type in insert operation")}}}),d()},et=()=>a.vt("Length exceeded!"),ee=(t,e,r,n)=>{if(r>e._length)throw et();if(0===r)return e._searchMarker&&t0(e._searchMarker,r,n.length),t9(t,e,null,n);let i=r,l=tZ(e,r),s=e._start;for(null!==l&&(s=l.p,0==(r-=l.index)&&(r+=(s=s.prev)&&s.countable&&!s.deleted?s.length:0));null!==s;s=s.right)if(!s.deleted&&s.countable){if(r<=s.length){r{let n=(e._searchMarker||[]).reduce((t,e)=>e.index>t.index?e:t,{index:0,p:e._start}).p;if(n)for(;n.right;)n=n.right;return t9(t,e,n,r)},en=(t,e,r,n)=>{if(0===n)return;let i=r,l=n,s=tZ(e,r),o=e._start;for(null!==s&&(o=s.p,r-=s.index);null!==o&&r>0;o=o.right)!o.deleted&&o.countable&&(r0&&null!==o;)o.deleted||(n0)throw et();e._searchMarker&&t0(e._searchMarker,i,-l+n)},ei=(t,e,r)=>{let n=e._map.get(r);void 0!==n&&n.delete(t)},el=(t,e,r,n)=>{let i,l=e._map.get(r)||null,s=t.doc,o=s.clientID;if(null==n)i=new eq([n]);else switch(n.constructor){case Number:case Object:case Boolean:case Array:case String:i=new eq([n]);break;case Uint8Array:i=new eB(n);break;case T:i=new eW(n);break;default:if(n instanceof t8)i=new e7(n);else throw Error("Unexpected content type")}new rt(Z(o,tb(s.store,o)),l,l&&l.lastId,null,null,e,r,i).integrate(t,0)},es=(t,e)=>{t.doc??t$();let r=t._map.get(e);return void 0===r||r.deleted?void 0:r.content.getContent()[r.length-1]},eo=t=>{let e={};return t.doc??t$(),t._map.forEach((t,r)=>{t.deleted||(e[r]=t.content.getContent()[t.length-1])}),e},ec=(t,e)=>{t.doc??t$();let r=t._map.get(e);return void 0!==r&&!r.deleted},eh=(t,e)=>{let r={};return t._map.forEach((t,n)=>{let i=t;for(;null!==i&&(!e.sv.has(i.id.client)||i.id.clock>=(e.sv.get(i.id.client)||0));)i=i.left;null!==i&&tw(i,e)&&(r[n]=i.content.getContent()[i.length-1])}),r},ed=t=>(t.doc??t$(),_.$5(t._map.entries(),t=>!t[1].deleted));class ea extends tQ{}class eu extends t8{constructor(){super(),this._prelimContent=[],this._searchMarker=[]}static from(t){let e=new eu;return e.push(t),e}_integrate(t,e){super._integrate(t,e),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new eu}clone(){let t=new eu;return t.insert(0,this.toArray().map(t=>t instanceof t8?t.clone():t)),t}get length(){return this.doc??t$(),this._length}_callObserver(t,e){super._callObserver(t,e),t1(this,t,new ea(this,t))}insert(t,e){null!==this.doc?tV(this.doc,r=>{ee(r,this,t,e)}):this._prelimContent.splice(t,0,...e)}push(t){null!==this.doc?tV(this.doc,e=>{er(e,this,t)}):this._prelimContent.push(...t)}unshift(t){this.insert(0,t)}delete(t,e=1){null!==this.doc?tV(this.doc,r=>{en(r,this,t,e)}):this._prelimContent.splice(t,e)}get(t){return t3(this,t)}toArray(){return t7(this)}slice(t=0,e=this.length){return t4(this,t,e)}toJSON(){return this.map(t=>t instanceof t8?t.toJSON():t)}map(t){return t5(this,t)}forEach(t){t2(this,t)}[Symbol.iterator](){return t6(this)}_write(t){t.writeTypeRef(eY)}}class eg extends tQ{constructor(t,e,r){super(t,e),this.keysChanged=r}}class ef extends t8{constructor(t){super(),this._prelimContent=null,void 0===t?this._prelimContent=new Map:this._prelimContent=new Map(t)}_integrate(t,e){super._integrate(t,e),this._prelimContent.forEach((t,e)=>{this.set(e,t)}),this._prelimContent=null}_copy(){return new ef}clone(){let t=new ef;return this.forEach((e,r)=>{t.set(r,e instanceof t8?e.clone():e)}),t}_callObserver(t,e){t1(this,t,new eg(this,t,e))}toJSON(){this.doc??t$();let t={};return this._map.forEach((e,r)=>{if(!e.deleted){let n=e.content.getContent()[e.length-1];t[r]=n instanceof t8?n.toJSON():n}}),t}get size(){return[...ed(this)].length}keys(){return _.n(ed(this),t=>t[0])}values(){return _.n(ed(this),t=>t[1].content.getContent()[t[1].length-1])}entries(){return _.n(ed(this),t=>[t[0],t[1].content.getContent()[t[1].length-1]])}forEach(t){this.doc??t$(),this._map.forEach((e,r)=>{e.deleted||t(e.content.getContent()[e.length-1],r,this)})}[Symbol.iterator](){return this.entries()}delete(t){null!==this.doc?tV(this.doc,e=>{ei(e,this,t)}):this._prelimContent.delete(t)}set(t,e){return null!==this.doc?tV(this.doc,r=>{el(r,this,t,e)}):this._prelimContent.set(t,e),e}get(t){return es(this,t)}has(t){return ec(this,t)}clear(){null!==this.doc?tV(this.doc,t=>{this.forEach(function(e,r,n){ei(t,n,r)})}):this._prelimContent.clear()}_write(t){t.writeTypeRef(eX)}}let ep=(t,e)=>t===e||"object"==typeof t&&"object"==typeof e&&t&&e&&k.SQ(t,e);class ew{constructor(t,e,r,n){this.left=t,this.right=e,this.index=r,this.currentAttributes=n}forward(){null===this.right&&a.Mq(),this.right.content.constructor===eQ?this.right.deleted||eb(this.currentAttributes,this.right.content):this.right.deleted||(this.index+=this.right.length),this.left=this.right,this.right=this.right.right}}let e_=(t,e,r)=>{for(;null!==e.right&&r>0;)e.right.content.constructor===eQ?e.right.deleted||eb(e.currentAttributes,e.right.content):e.right.deleted||(r{let i=new Map,l=n?tZ(e,r):null;return l?e_(t,new ew(l.p.left,l.p,l.index,i),r-l.index):e_(t,new ew(null,e._start,0,i),r)},em=(t,e,r,n)=>{for(;null!==r.right&&(!0===r.right.deleted||r.right.content.constructor===eQ&&ep(n.get(r.right.content.key),r.right.content.value));)r.right.deleted||n.delete(r.right.content.key),r.forward();let i=t.doc,l=i.clientID;n.forEach((n,s)=>{let o=r.left,c=r.right,h=new rt(Z(l,tb(i.store,l)),o,o&&o.lastId,c,c&&c.id,e,null,new eQ(s,n));h.integrate(t,0),r.right=h,r.forward()})},eb=(t,e)=>{let{key:r,value:n}=e;null===n?t.delete(r):t.set(r,n)},ey=(t,e)=>{for(;null!==t.right&&(t.right.deleted||t.right.content.constructor===eQ&&ep(e[t.right.content.key]??null,t.right.content.value));){;t.forward()}},eS=(t,e,r,n)=>{let i=t.doc,l=i.clientID,s=new Map;for(let o in n){let c=n[o],h=r.currentAttributes.get(o)??null;if(!ep(h,c)){s.set(o,h);let{left:n,right:d}=r;r.right=new rt(Z(l,tb(i.store,l)),n,n&&n.lastId,d,d&&d.id,e,null,new eQ(o,c)),r.right.integrate(t,0),r.forward()}}return s},eC=(t,e,r,n,i)=>{r.currentAttributes.forEach((t,e)=>{void 0===i[e]&&(i[e]=null)});let l=t.doc,s=l.clientID;ey(r,i);let o=eS(t,e,r,i),c=n.constructor===String?new eG(n):n instanceof t8?new e7(n):new eH(n),{left:h,right:d,index:a}=r;e._searchMarker&&t0(e._searchMarker,r.index,c.getLength()),(d=new rt(Z(s,tb(l.store,s)),h,h&&h.lastId,d,d&&d.id,e,null,c)).integrate(t,0),r.right=d,r.index=a,r.forward(),em(t,e,r,o)},eD=(t,e,r,n,i)=>{let l=t.doc,s=l.clientID;ey(r,i);let o=eS(t,e,r,i);for(;null!==r.right&&(n>0||o.size>0&&(r.right.deleted||r.right.content.constructor===eQ));){if(!r.right.deleted)if(r.right.content.constructor===eQ){let{key:e,value:l}=r.right.content,s=i[e];if(void 0!==s){if(ep(s,l))o.delete(e);else{if(0===n)break;o.set(e,l)}r.right.delete(t)}else r.currentAttributes.set(e,l)}else n0){let i="";for(;n>0;n--)i+="\n";r.right=new rt(Z(s,tb(l.store,s)),r.left,r.left&&r.left.lastId,r.right,r.right&&r.right.id,e,null,new eG(i)),r.right.integrate(t,0),r.forward()}em(t,e,r,o)},eE=(t,e,r,n,i)=>{let l=e,o=s.vt();for(;l&&(!l.countable||l.deleted);){if(!l.deleted&&l.content.constructor===eQ){let t=l.content;o.set(t.key,t)}l=l.right}let c=0,h=!1;for(;e!==l;){if(r===e&&(h=!0),!e.deleted){let r=e.content;if(r.constructor===eQ){let{key:l,value:s}=r,d=n.get(l)??null;(o.get(l)!==r||d===s)&&(e.delete(t),c++,h||(i.get(l)??null)!==s||d===s||(null===d?i.delete(l):i.set(l,d))),h||e.deleted||eb(i,r)}}e=e.right}return c},ev=(t,e)=>{for(;e&&e.right&&(e.right.deleted||!e.right.countable);)e=e.right;let r=new Set;for(;e&&(e.deleted||!e.countable);){if(!e.deleted&&e.content.constructor===eQ){let n=e.content.key;r.has(n)?e.delete(t):r.add(n)}e=e.left}},eI=t=>{let e=0;return tV(t.doc,r=>{let n=t._start,i=t._start,l=s.vt(),o=s.C(l);for(;i;)!1===i.deleted&&(i.content.constructor===eQ?eb(o,i.content):(e+=eE(r,n,i,l,o),l=s.C(o),n=i)),i=i.right}),e},eA=t=>{let e=new Set,r=t.doc;for(let[n,i]of t.afterState.entries()){let l=t.beforeState.get(n)||0;i!==l&&tA(t,r.store.clients.get(n),l,i,t=>{t.deleted||t.content.constructor!==eQ||t.constructor===eJ||e.add(t.parent)})}tV(r,r=>{for(let n of(S(t,t.deleteSet,t=>{if(t instanceof eJ||!t.parent._hasFormatting||e.has(t.parent))return;let n=t.parent;t.content.constructor===eQ?e.add(n):ev(r,t)}),e))eI(n)})},ex=(t,e,r)=>{let n=r,i=s.C(e.currentAttributes),l=e.right;for(;r>0&&null!==e.right;){if(!1===e.right.deleted)switch(e.right.content.constructor){case e7:case eH:case eG:r{null===t?this.childListChanged=!0:this.keysChanged.add(t)})}get changes(){if(null===this._changes){let t={keys:this.keys,delta:this.delta,added:new Set,deleted:new Set};this._changes=t}return this._changes}get delta(){if(null===this._delta){let t=this.target.doc,e=[];tV(t,t=>{let r=new Map,n=new Map,i=this.target._start,l=null,s={},o="",c=0,h=0,d=()=>{if(null!==l){let t=null;switch(l){case"delete":h>0&&(t={delete:h}),h=0;break;case"insert":("object"==typeof o||o.length>0)&&(t={insert:o},r.size>0&&(t.attributes={},r.forEach((e,r)=>{null!==e&&(t.attributes[r]=e)}))),o="";break;case"retain":c>0&&(t={retain:c},k.Im(s)||(t.attributes=k.kp({},s))),c=0}t&&e.push(t),l=null}};for(;null!==i;){switch(i.content.constructor){case e7:case eH:this.adds(i)?this.deletes(i)||(d(),l="insert",o=i.content.getContent()[0],d()):this.deletes(i)?("delete"!==l&&(d(),l="delete"),h+=1):i.deleted||("retain"!==l&&(d(),l="retain"),c+=1);break;case eG:this.adds(i)?this.deletes(i)||("insert"!==l&&(d(),l="insert"),o+=i.content.str):this.deletes(i)?("delete"!==l&&(d(),l="delete"),h+=i.length):i.deleted||("retain"!==l&&(d(),l="retain"),c+=i.length);break;case eQ:{let{key:e,value:o}=i.content;if(this.adds(i))this.deletes(i)||(ep(r.get(e)??null,o)?null!==o&&i.delete(t):("retain"===l&&d(),ep(o,n.get(e)??null)?delete s[e]:s[e]=o));else if(this.deletes(i)){n.set(e,o);let t=r.get(e)??null;ep(t,o)||("retain"===l&&d(),s[e]=t)}else if(!i.deleted){n.set(e,o);let r=s[e];void 0!==r&&(ep(r,o)?null!==r&&i.delete(t):("retain"===l&&d(),null===o?delete s[e]:s[e]=o))}i.deleted||("insert"===l&&d(),eb(r,i.content))}}i=i.right}for(d();e.length>0;){let t=e[e.length-1];if(void 0!==t.retain&&void 0===t.attributes)e.pop();else break}}),this._delta=e}return this._delta}}class eL extends t8{constructor(t){super(),this._pending=void 0!==t?[()=>this.insert(0,t)]:[],this._searchMarker=[],this._hasFormatting=!1}get length(){return this.doc??t$(),this._length}_integrate(t,e){super._integrate(t,e);try{this._pending.forEach(t=>t())}catch(t){console.error(t)}this._pending=null}_copy(){return new eL}clone(){let t=new eL;return t.applyDelta(this.toDelta()),t}_callObserver(t,e){super._callObserver(t,e);let r=new eM(this,t,e);t1(this,t,r),!t.local&&this._hasFormatting&&(t._needFormattingCleanup=!0)}toString(){this.doc??t$();let t="",e=this._start;for(;null!==e;)!e.deleted&&e.countable&&e.content.constructor===eG&&(t+=e.content.str),e=e.right;return t}toJSON(){return this.toString()}applyDelta(t,{sanitize:e=!0}={}){null!==this.doc?tV(this.doc,r=>{let n=new ew(null,this._start,0,new Map);for(let i=0;i0)&&eC(r,this,n,s,l.attributes||{})}else void 0!==l.retain?eD(r,this,n,l.retain,l.attributes||{}):void 0!==l.delete&&ex(r,n,l.delete)}}):this._pending.push(()=>this.applyDelta(t))}toDelta(t,e,r){this.doc??t$();let n=[],i=new Map,l=this.doc,s="",o=this._start;function c(){if(s.length>0){let t={},e=!1;i.forEach((r,n)=>{e=!0,t[n]=r});let r={insert:s};e&&(r.attributes=t),n.push(r),s=""}}let h=()=>{for(;null!==o;){if(tw(o,t)||void 0!==e&&tw(o,e))switch(o.content.constructor){case eG:{let n=i.get("ychange");void 0===t||tw(o,t)?void 0===e||tw(o,e)?void 0!==n&&(c(),i.delete("ychange")):(void 0===n||n.user!==o.id.client||"added"!==n.type)&&(c(),i.set("ychange",r?r("added",o.id):{type:"added"})):(void 0===n||n.user!==o.id.client||"removed"!==n.type)&&(c(),i.set("ychange",r?r("removed",o.id):{type:"removed"})),s+=o.content.str;break}case e7:case eH:{c();let t={insert:o.content.getContent()[0]};if(i.size>0){let e={};t.attributes=e,i.forEach((t,r)=>{e[r]=t})}n.push(t);break}case eQ:tw(o,t)&&(c(),eb(i,o.content))}o=o.right}c()};return t||e?tV(l,r=>{t&&t_(r,t),e&&t_(r,e),h()},"cleanup"):h(),n}insert(t,e,r){if(e.length<=0)return;let n=this.doc;null!==n?tV(n,n=>{let i=ek(n,this,t,!r);r||(r={},i.currentAttributes.forEach((t,e)=>{r[e]=t})),eC(n,this,i,e,r)}):this._pending.push(()=>this.insert(t,e,r))}insertEmbed(t,e,r){let n=this.doc;null!==n?tV(n,n=>{let i=ek(n,this,t,!r);eC(n,this,i,e,r||{})}):this._pending.push(()=>this.insertEmbed(t,e,r||{}))}delete(t,e){if(0===e)return;let r=this.doc;null!==r?tV(r,r=>{ex(r,ek(r,this,t,!0),e)}):this._pending.push(()=>this.delete(t,e))}format(t,e,r){if(0===e)return;let n=this.doc;null!==n?tV(n,n=>{let i=ek(n,this,t,!1);null!==i.right&&eD(n,this,i,e,r)}):this._pending.push(()=>this.format(t,e,r))}removeAttribute(t){null!==this.doc?tV(this.doc,e=>{ei(e,this,t)}):this._pending.push(()=>this.removeAttribute(t))}setAttribute(t,e){null!==this.doc?tV(this.doc,r=>{el(r,this,t,e)}):this._pending.push(()=>this.setAttribute(t,e))}getAttribute(t){return es(this,t)}getAttributes(){return eo(this)}_write(t){t.writeTypeRef(eZ)}}class eT{constructor(t,e=()=>!0){this._filter=e,this._root=t,this._currentNode=t._start,this._firstCall=!0,t.doc??t$()}[Symbol.iterator](){return this}next(){let t=this._currentNode,e=t&&t.content&&t.content.type;if(null!==t&&(!this._firstCall||t.deleted||!this._filter(e)))do if(e=t.content.type,t.deleted||e.constructor!==eN&&e.constructor!==eO||null===e._start)for(;null!==t;){let e=t.next;if(null!==e){t=e;break}t=t.parent===this._root?null:t.parent._item}else t=e._start;while(null!==t&&(t.deleted||!this._filter(t.content.type)));return(this._firstCall=!1,null===t)?{value:void 0,done:!0}:(this._currentNode=t,{value:t.content.type,done:!1})}}class eO extends t8{constructor(){super(),this._prelimContent=[]}get firstChild(){let t=this._first;return t?t.content.getContent()[0]:null}_integrate(t,e){super._integrate(t,e),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new eO}clone(){let t=new eO;return t.insert(0,this.toArray().map(t=>t instanceof t8?t.clone():t)),t}get length(){return this.doc??t$(),null===this._prelimContent?this._length:this._prelimContent.length}createTreeWalker(t){return new eT(this,t)}querySelector(t){t=t.toUpperCase();let e=new eT(this,e=>e.nodeName&&e.nodeName.toUpperCase()===t).next();return e.done?null:e.value}querySelectorAll(t){return t=t.toUpperCase(),i.HT(new eT(this,e=>e.nodeName&&e.nodeName.toUpperCase()===t))}_callObserver(t,e){t1(this,t,new eU(this,e,t))}toString(){return t5(this,t=>t.toString()).join("")}toJSON(){return this.toString()}toDOM(t=document,e={},r){let n=t.createDocumentFragment();return void 0!==r&&r._createAssociation(n,this),t2(this,i=>{n.insertBefore(i.toDOM(t,e,r),null)}),n}insert(t,e){null!==this.doc?tV(this.doc,r=>{ee(r,this,t,e)}):this._prelimContent.splice(t,0,...e)}insertAfter(t,e){if(null!==this.doc)tV(this.doc,r=>{t9(r,this,t&&t instanceof t8?t._item:t,e)});else{let r=this._prelimContent,n=null===t?0:r.findIndex(e=>e===t)+1;if(0===n&&null!==t)throw a.vt("Reference item not found");r.splice(n,0,...e)}}delete(t,e=1){null!==this.doc?tV(this.doc,r=>{en(r,this,t,e)}):this._prelimContent.splice(t,e)}toArray(){return t7(this)}push(t){this.insert(this.length,t)}unshift(t){this.insert(0,t)}get(t){return t3(this,t)}slice(t=0,e=this.length){return t4(this,t,e)}forEach(t){t2(this,t)}_write(t){t.writeTypeRef(e1)}}class eN extends eO{constructor(t="UNDEFINED"){super(),this.nodeName=t,this._prelimAttrs=new Map}get nextSibling(){let t=this._item?this._item.next:null;return t?t.content.type:null}get prevSibling(){let t=this._item?this._item.prev:null;return t?t.content.type:null}_integrate(t,e){super._integrate(t,e),this._prelimAttrs.forEach((t,e)=>{this.setAttribute(e,t)}),this._prelimAttrs=null}_copy(){return new eN(this.nodeName)}clone(){let t=new eN(this.nodeName),e=this.getAttributes();return k.jJ(e,(e,r)=>{"string"==typeof e&&t.setAttribute(r,e)}),t.insert(0,this.toArray().map(t=>t instanceof t8?t.clone():t)),t}toString(){let t=this.getAttributes(),e=[],r=[];for(let e in t)r.push(e);r.sort();let n=r.length;for(let i=0;i0?" "+e.join(" "):"";return`<${i}${l}>${super.toString()}`}removeAttribute(t){null!==this.doc?tV(this.doc,e=>{ei(e,this,t)}):this._prelimAttrs.delete(t)}setAttribute(t,e){null!==this.doc?tV(this.doc,r=>{el(r,this,t,e)}):this._prelimAttrs.set(t,e)}getAttribute(t){return es(this,t)}hasAttribute(t){return ec(this,t)}getAttributes(t){return t?eh(this,t):eo(this)}toDOM(t=document,e={},r){let n=t.createElement(this.nodeName),i=this.getAttributes();for(let t in i){let e=i[t];"string"==typeof e&&n.setAttribute(t,e)}return t2(this,i=>{n.appendChild(i.toDOM(t,e,r))}),void 0!==r&&r._createAssociation(n,this),n}_write(t){t.writeTypeRef(e0),t.writeKey(this.nodeName)}}class eU extends tQ{constructor(t,e,r){super(t,r),this.childListChanged=!1,this.attributesChanged=new Set,e.forEach(t=>{null===t?this.childListChanged=!0:this.attributesChanged.add(t)})}}class eV extends ef{constructor(t){super(),this.hookName=t}_copy(){return new eV(this.hookName)}clone(){let t=new eV(this.hookName);return this.forEach((e,r)=>{t.set(r,e)}),t}toDOM(t=document,e={},r){let n,i=e[this.hookName];return(n=void 0!==i?i.createDom(this):document.createElement(this.hookName)).setAttribute("data-yjs-hook",this.hookName),void 0!==r&&r._createAssociation(n,this),n}_write(t){t.writeTypeRef(e8),t.writeKey(this.hookName)}}class eR extends eL{get nextSibling(){let t=this._item?this._item.next:null;return t?t.content.type:null}get prevSibling(){let t=this._item?this._item.prev:null;return t?t.content.type:null}_copy(){return new eR}clone(){let t=new eR;return t.applyDelta(this.toDelta()),t}toDOM(t=document,e,r){let n=t.createTextNode(this.toString());return void 0!==r&&r._createAssociation(n,this),n}toString(){return this.toDelta().map(t=>{let e=[];for(let r in t.attributes){let n=[];for(let e in t.attributes[r])n.push({key:e,value:t.attributes[r][e]});n.sort((t,e)=>t.keyt.nodeName=0;t--)r+=``;return r}).join("")}toJSON(){return this.toString()}_write(t){t.writeTypeRef(e4)}}class ez{constructor(t,e){this.id=t,this.length=e}get deleted(){throw a.bD()}mergeWith(t){return!1}write(t,e,r){throw a.bD()}integrate(t,e){throw a.bD()}}class eJ extends ez{get deleted(){return!0}delete(){}mergeWith(t){return this.constructor===t.constructor&&(this.length+=t.length,!0)}integrate(t,e){e>0&&(this.id.clock+=e,this.length-=e),ty(t.doc.store,this)}write(t,e){t.writeInfo(0),t.writeLen(this.length-e)}getMissing(t,e){return null}}class eB{constructor(t){this.content=t}getLength(){return 1}getContent(){return[this.content]}isCountable(){return!0}copy(){return new eB(this.content)}splice(t){throw a.bD()}mergeWith(t){return!1}integrate(t,e){}delete(t){}gc(t){}write(t,e){t.writeBuf(this.content)}getRef(){return 3}}class eF{constructor(t){this.len=t}getLength(){return this.len}getContent(){return[]}isCountable(){return!1}copy(){return new eF(this.len)}splice(t){let e=new eF(this.len-t);return this.len=t,e}mergeWith(t){return this.len+=t.len,!0}integrate(t,e){I(t.deleteSet,e.id.client,e.id.clock,this.len),e.markDeleted()}delete(t){}gc(t){}write(t,e){t.writeLen(this.len-e)}getRef(){return 1}}let ej=(t,e)=>new T({guid:t,...e,shouldLoad:e.shouldLoad||e.autoLoad||!1});class eW{constructor(t){t._item&&console.error("This document was already integrated as a sub-document. You should create a second instance instead with the same guid."),this.doc=t;let e={};this.opts=e,t.gc||(e.gc=!1),t.autoLoad&&(e.autoLoad=!0),null!==t.meta&&(e.meta=t.meta)}getLength(){return 1}getContent(){return[this.doc]}isCountable(){return!0}copy(){return new eW(ej(this.doc.guid,this.opts))}splice(t){throw a.bD()}mergeWith(t){return!1}integrate(t,e){this.doc._item=e,t.subdocsAdded.add(this.doc),this.doc.shouldLoad&&t.subdocsLoaded.add(this.doc)}delete(t){t.subdocsAdded.has(this.doc)?t.subdocsAdded.delete(this.doc):t.subdocsRemoved.add(this.doc)}gc(t){}write(t,e){t.writeString(this.doc.guid),t.writeAny(this.opts)}getRef(){return 9}}class eH{constructor(t){this.embed=t}getLength(){return 1}getContent(){return[this.embed]}isCountable(){return!0}copy(){return new eH(this.embed)}splice(t){throw a.bD()}mergeWith(t){return!1}integrate(t,e){}delete(t){}gc(t){}write(t,e){t.writeJSON(this.embed)}getRef(){return 5}}class eQ{constructor(t,e){this.key=t,this.value=e}getLength(){return 1}getContent(){return[]}isCountable(){return!1}copy(){return new eQ(this.key,this.value)}splice(t){throw a.bD()}mergeWith(t){return!1}integrate(t,e){let r=e.parent;r._searchMarker=null,r._hasFormatting=!0}delete(t){}gc(t){}write(t,e){t.writeKey(this.key),t.writeJSON(this.value)}getRef(){return 6}}class eK{constructor(t){this.arr=t}getLength(){return this.arr.length}getContent(){return this.arr}isCountable(){return!0}copy(){return new eK(this.arr)}splice(t){let e=new eK(this.arr.slice(t));return this.arr=this.arr.slice(0,t),e}mergeWith(t){return this.arr=this.arr.concat(t.arr),!0}integrate(t,e){}delete(t){}gc(t){}write(t,e){let r=this.arr.length;t.writeLen(r-e);for(let n=e;n=55296&&r<=56319&&(this.str=this.str.slice(0,t-1)+"�",e.str="�"+e.str.slice(1)),e}mergeWith(t){return this.str+=t.str,!0}integrate(t,e){}delete(t){}gc(t){}write(t,e){t.writeString(0===e?this.str:this.str.slice(e))}getRef(){return 4}}let eP=[t=>new eu,t=>new ef,t=>new eL,t=>new eN(t.readKey()),t=>new eO,t=>new eV(t.readKey()),t=>new eR],eY=0,eX=1,eZ=2,e0=3,e1=4,e8=5,e4=6;class e7{constructor(t){this.type=t}getLength(){return 1}getContent(){return[this.type]}isCountable(){return!0}copy(){return new e7(this.type._copy())}splice(t){throw a.bD()}mergeWith(t){return!1}integrate(t,e){this.type._integrate(t.doc,e)}delete(t){let e=this.type._start;for(;null!==e;)e.deleted?e.id.clock<(t.beforeState.get(e.id.client)||0)&&t._mergeStructs.push(e):e.delete(t),e=e.right;this.type._map.forEach(e=>{e.deleted?e.id.clock<(t.beforeState.get(e.id.client)||0)&&t._mergeStructs.push(e):e.delete(t)}),t.changed.delete(this.type)}gc(t){let e=this.type._start;for(;null!==e;)e.gc(t,!0),e=e.right;this.type._start=null,this.type._map.forEach(e=>{for(;null!==e;)e.gc(t,!0),e=e.left}),this.type._map=new Map}write(t,e){this.type._write(t)}getRef(){return 7}}let e2=(t,e)=>{let r,n=e,i=0;do i>0&&(n=Z(n.client,n.clock+i)),r=tC(t,n),i=n.clock-r.id.clock,n=r.redone;while(null!==n&&r instanceof rt);return{item:r,diff:i}},e5=(t,e)=>{for(;null!==t&&t.keep!==e;)t.keep=e,t=t.parent._item},e6=(t,e,r)=>{let{client:n,clock:i}=e.id,l=new rt(Z(n,i+r),e,Z(n,i+r-1),e.right,e.rightOrigin,e.parent,e.parentSub,e.content.splice(r));return e.deleted&&l.markDeleted(),e.keep&&(l.keep=!0),null!==e.redone&&(l.redone=Z(e.redone.client,e.redone.clock+r)),e.right=l,null!==l.right&&(l.right.left=l),t._mergeStructs.push(l),null!==l.parentSub&&null===l.right&&l.parent._map.set(l.parentSub,l),e.length=r,l},e3=(t,e)=>i.zN(t,t=>D(t.deletions,e)),e9=(t,e,r,n,i,l)=>{let s,o=t.doc,c=o.store,h=o.clientID,d=e.redone;if(null!==d)return tE(t,d);let a=e.parent._item,u=null;if(null!==a&&!0===a.deleted){if(null===a.redone&&(!r.has(a)||null===e9(t,a,r,n,i,l)))return null;for(;null!==a.redone;)a=tE(t,a.redone)}let g=null===a?e.parent:a.content.type;if(null===e.parentSub){for(u=e.left,s=e;null!==u;){let e=u;for(;null!==e&&e.parent._item!==a;)e=null===e.redone?null:tE(t,e.redone);if(null!==e&&e.parent._item===a){u=e;break}u=u.left}for(;null!==s;){let e=s;for(;null!==e&&e.parent._item!==a;)e=null===e.redone?null:tE(t,e.redone);if(null!==e&&e.parent._item===a){s=e;break}s=s.right}}else if(s=null,e.right&&!i){for(u=e;null!==u&&null!==u.right&&(u.right.redone||D(n,u.right.id)||e3(l.undoStack,u.right.id)||e3(l.redoStack,u.right.id));)for(u=u.right;u.redone;)u=tE(t,u.redone);if(u&&null!==u.right)return null}else u=g._map.get(e.parentSub)||null;let f=tb(c,h),p=Z(h,f),w=new rt(p,u,u&&u.lastId,s,s&&s.id,g,e.parentSub,e.content.copy());return e.redone=p,e5(w,!0),w.integrate(t,0),w};class rt extends ez{constructor(t,e,r,n,i,l,s,o){super(t,o.getLength()),this.origin=r,this.left=e,this.right=n,this.rightOrigin=i,this.parent=l,this.parentSub=s,this.redone=null,this.content=o,this.info=this.content.isCountable()?u.KD:0}set marker(t){(this.info&u.wn)>0!==t&&(this.info^=u.wn)}get marker(){return(this.info&u.wn)>0}get keep(){return(this.info&u.Dk)>0}set keep(t){this.keep!==t&&(this.info^=u.Dk)}get countable(){return(this.info&u.KD)>0}get deleted(){return(this.info&u.D1)>0}set deleted(t){this.deleted!==t&&(this.info^=u.D1)}markDeleted(){this.info|=u.D1}getMissing(t,e){if(this.origin&&this.origin.client!==this.id.client&&this.origin.clock>=tb(e,this.origin.client))return this.origin.client;if(this.rightOrigin&&this.rightOrigin.client!==this.id.client&&this.rightOrigin.clock>=tb(e,this.rightOrigin.client))return this.rightOrigin.client;if(this.parent&&this.parent.constructor===Y&&this.id.client!==this.parent.client&&this.parent.clock>=tb(e,this.parent.client))return this.parent.client;if(this.origin&&(this.left=tv(t,e,this.origin),this.origin=this.left.lastId),this.rightOrigin&&(this.right=tE(t,this.rightOrigin),this.rightOrigin=this.right.id),this.left&&this.left.constructor===eJ||this.right&&this.right.constructor===eJ)this.parent=null;else if(this.parent){if(this.parent.constructor===Y){let t=tC(e,this.parent);t.constructor===eJ?this.parent=null:this.parent=t.content.type}}else this.left&&this.left.constructor===rt?(this.parent=this.left.parent,this.parentSub=this.left.parentSub):this.right&&this.right.constructor===rt&&(this.parent=this.right.parent,this.parentSub=this.right.parentSub);return null}integrate(t,e){if(e>0&&(this.id.clock+=e,this.left=tv(t,t.doc.store,Z(this.id.client,this.id.clock-1)),this.origin=this.left.lastId,this.content=this.content.splice(e),this.length-=e),this.parent){if(!this.left&&(!this.right||null!==this.right.left)||this.left&&this.left.right!==this.right){let e,r=this.left;if(null!==r)e=r.right;else if(null!==this.parentSub)for(e=this.parent._map.get(this.parentSub)||null;null!==e&&null!==e.left;)e=e.left;else e=this.parent._start;let n=new Set,i=new Set;for(;null!==e&&e!==this.right;){if(i.add(e),n.add(e),X(this.origin,e.origin)){if(e.id.client{e.p===t&&(e.p=this,!this.deleted&&this.countable&&(e.index-=this.length))}),t.keep&&(this.keep=!0),this.right=t.right,null!==this.right&&(this.right.left=this),this.length+=t.length,!0}return!1}delete(t){if(!this.deleted){let e=this.parent;this.countable&&null===this.parentSub&&(e._length-=this.length),this.markDeleted(),I(t.deleteSet,this.id.client,this.id.clock,this.length),tL(t,e,this.parentSub),this.content.delete(t)}}gc(t,e){if(!this.deleted)throw a.Mq();this.content.gc(t),e?tI(t,this,new eJ(this.id,this.length)):this.content=new eF(this.length)}write(t,e){let r=e>0?Z(this.id.client,this.id.clock+e-1):this.origin,n=this.rightOrigin,i=this.parentSub,l=this.content.getRef()&u.WY|(null===r?0:u.wt)|(null===n?0:u.D7)|(null===i?0:u.KJ);if(t.writeInfo(l),null!==r&&t.writeLeftID(r),null!==n&&t.writeRightID(n),null===r&&null===n){let e=this.parent;if(void 0!==e._item){let r=e._item;if(null===r){let r=tr(e);t.writeParentInfo(!0),t.writeString(r)}else t.writeParentInfo(!1),t.writeLeftID(r.id)}else e.constructor===String?(t.writeParentInfo(!0),t.writeString(e)):e.constructor===Y?(t.writeParentInfo(!1),t.writeLeftID(e)):a.Mq();null!==i&&t.writeString(i)}this.content.write(t,e)}}let re=(t,e)=>rr[e&binary.BITS5](t),rr=[()=>{a.Mq()},t=>new eF(t.readLen()),t=>{let e=t.readLen(),r=[];for(let n=0;nnew eB(t.readBuf()),t=>new eG(t.readString()),t=>new eH(t.readJSON()),t=>new eQ(t.readKey(),t.readJSON()),t=>new e7(eP[t.readTypeRef()](t)),t=>{let e=t.readLen(),r=[];for(let n=0;nnew eW(ej(t.readString(),t.readAny())),()=>{a.Mq()}];class rn extends null{get deleted(){return!0}delete(){}mergeWith(t){return this.constructor===t.constructor&&(this.length+=t.length,!0)}integrate(t,e){error.unexpectedCase()}write(t,e){t.writeInfo(10),encoding.writeVarUint(t.restEncoder,this.length-e)}getMissing(t,e){return null}}let ri="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},rl="__ $YJS$ __";!0===ri[rl]&&console.error("Yjs was already imported. This breaks constructor checks and will lead to issues! - https://github.com/yjs/yjs/issues/438"),ri[rl]=!0}}]); //# sourceMappingURL=4979d384-e81d282da1b4ee13.js.map