@univerjs/core 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/index.js +1 -1
- package/lib/es/index.js +1 -1
- package/lib/umd/index.js +1 -1
- package/package.json +2 -2
package/lib/umd/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
`):"",this.name="UnsubscriptionError",this.errors=n}});function Hr(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var Fr=function(){function t(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return t.prototype.unsubscribe=function(){var e,n,s,r,i;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var l=yr(o),a=l.next();!a.done;a=l.next()){var h=a.value;h.remove(this)}}catch(R){e={error:R}}finally{try{a&&!a.done&&(n=l.return)&&n.call(l)}finally{if(e)throw e.error}}else o.remove(this);var d=this.initialTeardown;if(Ve(d))try{d()}catch(R){i=R instanceof Gn?R.errors:[R]}var c=this._finalizers;if(c){this._finalizers=null;try{for(var f=yr(c),_=f.next();!_.done;_=f.next()){var E=_.value;try{$r(E)}catch(R){i=i!=null?i:[],R instanceof Gn?i=kr(kr([],Pr(i)),Pr(R.errors)):i.push(R)}}}catch(R){s={error:R}}finally{try{_&&!_.done&&(r=f.return)&&r.call(f)}finally{if(s)throw s.error}}}if(i)throw new Gn(i)}},t.prototype.add=function(e){var n;if(e&&e!==this)if(this.closed)$r(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(e)}},t.prototype._hasParent=function(e){var n=this._parentage;return n===e||Array.isArray(n)&&n.includes(e)},t.prototype._addParent=function(e){var n=this._parentage;this._parentage=Array.isArray(n)?(n.push(e),n):n?[n,e]:e},t.prototype._removeParent=function(e){var n=this._parentage;n===e?this._parentage=null:Array.isArray(n)&&Hr(n,e)},t.prototype.remove=function(e){var n=this._finalizers;n&&Hr(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=function(){var e=new t;return e.closed=!0,e}(),t}();Fr.EMPTY;function bl(t){return t instanceof Fr||t&&"closed"in t&&Ve(t.remove)&&Ve(t.add)&&Ve(t.unsubscribe)}function $r(t){Ve(t)?t():t.unsubscribe()}function At(t){let e=!1;return t?bl(t)?{dispose:()=>t.unsubscribe()}:typeof t=="function"?{dispose:()=>{e||(e=!0,t())}}:t:At(()=>{})}function vl(t){return At(()=>{t.unsubscribe()})}class xn{constructor(){g(this,"_disposables",new Set)}add(e){const n=At(e);return this._disposables.add(n),{dispose:()=>{n.dispose(),this._disposables.delete(n)}}}dispose(){this._disposables.forEach(e=>{e.dispose()}),this._disposables.clear()}}class yt{constructor(){g(this,"_disposed",!1);g(this,"_collection",new xn)}disposeWithMe(e){return this._collection.add(e)}ensureNotDisposed(){if(this._disposed)throw new Error("[Disposable]: object is disposed!")}dispose(){this._disposed||(this._disposed=!0,this._collection.dispose())}}class wl extends yt{constructor(){super(...arguments);g(this,"dispose$",new V.Subject)}dispose(){super.dispose(),this.dispose$.next(),this.dispose$.complete()}}class Ke{static hasLength(e,n){return e.length===n}static getValueType(e){return Object.prototype.toString.apply(e)}static isObject(e){return this.getValueType(e)==="[object Object]"}static isIterable(e){return e[Symbol.iterator]!=null}static isNumber(e){return this.getValueType(e)==="[object Number]"}}function En(t,e){const n=t.indexOf(e);return n>-1?(t.splice(n,1),!0):!1}function Tl(t){const e=new Set,n=[];for(const s of t)e.has(s)||(e.add(s),n.push(s));return n}function Ml(t,e){for(let n=t.length-1;n>-1;n--){const s=t[n];if(e(s,n))return s}return null}function Ul(t,e){if(t.length===0)return t;const n=e%t.length;return t.slice(n).concat(t.slice(0,n))}function Ll(t,e){const n=new Map;return t.forEach(s=>{const r=e(s);let i=n.get(r);n.has(r)||(i=[],n.set(r,i)),i.push(s)}),n}function Dl(t){return Array.isArray(t)?t:[t]}const ht=Symbol("newer"),Mt=Symbol("older");class Wr{constructor(e){g(this,"entry");this.entry=e}[Symbol.iterator](){return this}next(){const e=this.entry;return e?(this.entry=e[ht],{done:!1,value:e.key}):{done:!0,value:void 0}}}class Br{constructor(e){g(this,"entry");this.entry=e}[Symbol.iterator](){return this}next(){const e=this.entry;return e?(this.entry=e[ht],{done:!1,value:e.value}):{done:!0,value:void 0}}}class Gr{constructor(e){g(this,"entry");this.entry=e}[Symbol.iterator](){return this}next(){const e=this.entry;return e?(this.entry=e[ht],{done:!1,value:[e.key,e.value]}):{done:!0,value:void 0}}}Io=ht,po=Mt;class jn{constructor(e,n){g(this,"key");g(this,"value");g(this,Io);g(this,po);this.key=e,this.value=n,this[ht]=void 0,this[Mt]=void 0}toJSON(){return{key:this.key,value:this.value}}}class xr{constructor(...e){g(this,"_keymap");g(this,"size",0);g(this,"limit");g(this,"oldest");g(this,"newest");g(this,"_onShiftListeners",[]);if(Ke.hasLength(e,1)){if(Ke.isNumber(e[0])){const n=e[0];this._initialize(n,void 0);return}if(Ke.isIterable(e[0])){const n=e[0];this._initialize(0,n);return}return}if(Ke.hasLength(e,2)){const n=e[0],s=e[1];this._initialize(n,s)}}onShift(e){if(this._onShiftListeners.indexOf(e)===-1)return this._onShiftListeners.push(e),At(()=>En(this._onShiftListeners,e));throw new Error("[LRUMap]: the listener has been registered!")}_initialize(e,n){this.oldest=void 0,this.newest=void 0,this.size=0,this.limit=e,this._keymap=new Map,n&&(this.assign(n),e<1&&(this.limit=this.size))}_markEntryAsUsed(e){e!==this.newest&&(e[ht]&&(e===this.oldest&&(this.oldest=e[ht]),e[ht][Mt]=e[Mt]),e[Mt]&&(e[Mt][ht]=e[ht]),e[ht]=void 0,e[Mt]=this.newest,this.newest&&(this.newest[ht]=e),this.newest=e)}assign(e){let n,s=this.limit||Number.MAX_VALUE;this._keymap.clear();const r=e[Symbol.iterator]();for(let i=r.next();!i.done;i=r.next()){const o=new jn(i.value[0],i.value[1]);if(this._keymap.set(o.key,o),n?(n[ht]=o,o[Mt]=n):this.oldest=o,n=o,s--===0)throw new Error("overflow")}this.newest=n,this.size=this._keymap.size}set(e,n){let s=this._keymap.get(e);return s?(s.value=n,this._markEntryAsUsed(s),this):(this._keymap.set(e,s=new jn(e,n)),this.newest?(this.newest[ht]=s,s[Mt]=this.newest):this.oldest=s,this.newest=s,++this.size,this.size>this.limit&&this.shift(),this)}shift(){const e=this.oldest;if(e)return this.oldest&&this.oldest[ht]?(this.oldest=this.oldest[ht],this.oldest[Mt]=void 0):(this.oldest=void 0,this.newest=void 0),e[ht]=e[Mt]=void 0,this._keymap.delete(e.key),--this.size,this._onShiftListeners.forEach(n=>n(e)),[e.key,e.value]}get(e){const n=this._keymap.get(e);if(n)return this._markEntryAsUsed(n),n.value}has(e){return this._keymap.has(e)}find(e){const n=this._keymap.get(e);return n?n.value:void 0}delete(e){const n=this._keymap.get(e);if(n)return this._keymap.delete(n.key),n[ht]&&n[Mt]?(n[Mt][ht]=n[ht],n[ht][Mt]=n[Mt]):n[ht]?(n[ht][Mt]=void 0,this.oldest=n[ht]):n[Mt]?(n[Mt][ht]=void 0,this.newest=n[Mt]):this.oldest=this.newest=void 0,this.size--,n.value}clear(){this.oldest=void 0,this.newest=void 0,this.size=0,this._keymap.clear()}keys(){return new Wr(this.oldest)}values(){return new Br(this.oldest)}entries(){return this[Symbol.iterator]()}[Symbol.iterator](){return new Gr(this.oldest)}forEach(e,n){typeof n!="object"&&(n=this);let s=this.oldest;for(;s;)e.call(n,s.value,s.key,this),s=s[ht]}toJSON(){const e=new Array(this.size);let n=0,s=this.oldest;for(;s;)e[n++]={key:s.key,value:s.value},s=s[ht];return e}toString(){let e="",n=this.oldest;for(;n;)e+=`${String(n.key)}:${n.value}`,n=n[ht],n&&(e+=" < ");return e}}function ge(t){let e=0;const n=Object.keys(t);for(const s of n){const r=Number(s);e=Math.max(e,r)}return e+1}function Vn(t,e,n){const s=ge(n),r=n;for(let i=s-1;i>=t;i--)r[i+1]=r[i];r[t]=e}function Kn(t,e,n){const s=Object.keys(n).reduce((r,i)=>Math.max(r,Number.parseInt(i)),0)+1;for(let r=t;r<s;r++)r<t+e?delete n[r]:n[r]!==void 0&&(n[r-e]=n[r],delete n[r])}function yl(t,e){const n=t,s=Object.keys(n),r=s.length,i=e,o=Object.keys(i),l=o.length,a={};let h=0;for(let d=0;d<r;d++,h++){const c=s[d];a[h]=n[c]}for(let d=0;d<l;d++,h++){const c=o[d];a[h]=i[c]}return a}function Pl(t,e,n){const s=n;if(ge(n)>0){const i={};let o=0;for(let l=t;l<=e;l++)s[l]&&(i[o]=s[l],o++);return i}return{}}function Yn(t,e,n,s){const r=t>n;if(!r&&t+e>n)throw new Error("Invalid move operation");r?kl(t,e,n,s):Hl(t,e,n,s)}function kl(t,e,n,s){const r=s,i=[];for(let o=t;o<t+e;o++)i.push(r[o]);for(let o=t-1;o>=n;o--){const l=r[o];r[o+e]=l,l===void 0&&delete r[o+e]}i.forEach((o,l)=>{r[n+l]=o,o===void 0&&delete r[n+l]})}function Hl(t,e,n,s){const r=s,i=[];for(let o=t;o<t+e;o++)i.push(r[o]);for(let o=t+e;o<n;o++){const l=r[o];r[o-e]=l,l===void 0&&delete r[o-e]}i.forEach((o,l)=>{r[n+l-e]=o,o===void 0&&delete r[n+l-e]})}class Zt{constructor(e={}){g(this,"_matrix");this._setOriginValue(e)}static MakeObjectMatrixSize(e){return new Zt({[e-1]:{}})}getMatrix(){return this._matrix}forEach(e){const n=this._matrix,s=Object.keys(n);for(const r of s){const i=Number(r),o=n[i];if(e(i,o)===!1)return this}return this}forRow(e){const n=this._matrix,s=Object.keys(n);for(const r of s){const i=Number(r),o=n[i];if(e(i,Object.keys(o).map(a=>Number(a)))===!1)return this}return this}forValue(e){const n=this._matrix,s=Object.keys(n);for(const r of s){const i=Number(r),o=n[i];if(!o)continue;const l=Object.keys(o);for(const a of l){const h=Number(a),d=o[Number(a)];if(e(i,h,d)===!1)return this}}return this}swapRow(e,n){const s=this._matrix[e],r=this._matrix[n];this._matrix[e]=r,this._matrix[n]=s}getRow(e){return this._matrix[e]}getRowOrCreate(e){let n=this.getRow(e);return n==null&&(n={},this._matrix[e]=n),n}reset(){this._setOriginValue({})}hasValue(){const e=this._matrix,n=Object.keys(e);if(n.length===0)return!1;for(const s of n){const r=Number(s),i=e[r];if(Object.keys(i).length>0)return!0}return!1}getValue(e,n){var s,r;return(r=(s=this._matrix)==null?void 0:s[e])==null?void 0:r[n]}setValue(e,n,s){const r=this.getRowOrCreate(e);r[n]=s}deleteValue(e,n){var s,r;(r=(s=this._matrix)==null?void 0:s[e])==null||delete r[n]}realDeleteValue(e,n){var s,r,i;if((r=(s=this._matrix)==null?void 0:s[e])==null||delete r[n],this.getRow(e)){const o=this.getRow(e);if(o==null)return;Object.keys(o).length===0&&((i=this._matrix)==null||delete i[e])}}setRow(e,n){this._matrix[e]=n}moveRows(e,n,s){Yn(e,n,s,this._matrix)}moveColumns(e,n,s){this.forEach((r,i)=>{Yn(e,n,s,i)})}insertRows(e,n){for(let s=e;s<e+n;s++)Vn(s,{},this._matrix)}insertColumns(e,n){for(let s=e;s<e+n;s++)this.forEach((r,i)=>{i&&Vn(s,void 0,i)})}removeRows(e,n){Kn(e,n,this._matrix)}removeColumns(e,n){this.forEach((s,r)=>{r&&Kn(e,n,r)})}getFragment(e,n,s,r){const i=new Zt;let o=0;for(let l=e;l<=n;l++){const a={};let h=0;for(let d=s;d<=r;d++){const c=this.getValue(l,d);a[h]=c,h++}i.setRow(o,a),o++}return i}getSlice(e,n,s,r){const i=new Zt;for(let o=e;o<=n;o++)for(let l=s;l<=r;l++){const a=this.getValue(o,l);a&&i.setValue(o,l,y.deepClone(a))}return i}getSizeOf(){return Object.keys(this._matrix).length}getLength(){return ge(this._matrix)}getRange(){const s=this.getLength()-1;let r=0;const i=this.getLength();for(let o=0;o<i;o++){const l=this.getRow(o);if(l){const a=ge(l)-1;r=a>r?a:r}}return{startRow:0,startColumn:0,endRow:s,endColumn:r}}toNativeArray(){const e=new Array;return this.forValue((n,s,r)=>{e.push(r)}),e}toArray(){const e=[];return this.forRow((n,s)=>{e[n]==null&&(e[n]=[]),s.forEach(r=>{e[n][r]=this.getValue(n,r)})}),e}toFullArray(){const e=this.getRange(),{endColumn:n,endRow:s}=e,r=[];for(let i=0;i<=s;i++){const o=Array(n+1).fill(void 0);r.push(o)}return this.forValue((i,o,l)=>{r[i][o]=l}),r}toJSON(){return this._matrix}clone(){const e=JSON.stringify(this._matrix);return JSON.parse(e)}getData(){const e=JSON.stringify(this._matrix);return JSON.parse(e)}getArrayData(){let e=0,n=0,s=!1,r=!1;const i=new Zt;return this.forEach((o,l)=>{s||(s=!0,e=o),Object.keys(l).forEach(a=>{const h=Number(a);r?h<n&&(n=h):(r=!0,n=h);const d=this.getValue(o,h);i.setValue(o-e,h-n,d)})}),i.getData()}getDataRange(){let e=0,n=0,s=0,r=-1,i=!1,o=!1;return this.forEach((l,a)=>{if(i||(i=!0,e=l),a==null)return;const h=ge(a)-1;h>s&&(s=h),Object.keys(a).forEach(d=>{const c=Number(d);o?c<n&&(n=c):(o=!0,n=c)}),l>r&&(r=l)}),{startRow:e,startColumn:n,endRow:r,endColumn:s}}getDiscreteRanges(){const e=[];return this.forEach((n,s)=>{Object.keys(s).forEach(r=>{const i=Number(r);let o=!1;for(const l of e)if(n>=l.startRow&&n<=l.endRow+1&&i>=l.startColumn&&i<=l.endColumn+1){l.endRow=Math.max(n,l.endRow),l.endColumn=Math.max(i,l.endColumn),o=!0;break}o||e.push({startRow:n,endRow:n,startColumn:i,endColumn:i})})}),e}merge(e){this.forValue((n,s)=>{const r=e.getValue(n,s);r!=null&&this.setValue(n,s,r)})}_setOriginValue(e={}){this._matrix=e}}const ae=class ae{static clone(e){return e.rangeType!==void 0?{startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn,rangeType:e.rangeType}:{startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn}}static equals(e,n){return e==null||n==null?!1:e.endRow===n.endRow&&e.endColumn===n.endColumn&&e.startRow===n.startRow&&e.startColumn===n.startColumn&&(e.rangeType===n.rangeType||e.rangeType===void 0&&n.rangeType===ot.NORMAL||n.rangeType===void 0&&e.rangeType===ot.NORMAL)}static intersects(e,n){if(e.rangeType===ot.ROW&&n.rangeType===ot.COLUMN||e.rangeType===ot.COLUMN&&n.rangeType===ot.ROW)return!0;if(e.rangeType===ot.ROW&&n.rangeType===ot.ROW)return e.startRow<=n.endRow&&e.endRow>=n.startRow;if(e.rangeType===ot.COLUMN&&n.rangeType===ot.COLUMN)return e.startColumn<=n.endColumn&&e.endColumn>=n.startColumn;const s=Math.floor(Number.MAX_SAFE_INTEGER/10),r=Number.isNaN(e.startRow)?0:e.startRow,i=Number.isNaN(e.endRow)?s:e.endRow,o=Number.isNaN(e.startColumn)?0:e.startColumn,l=Number.isNaN(e.endColumn)?s:e.endColumn,a=Number.isNaN(n.startRow)?0:n.startRow,h=Number.isNaN(n.endRow)?s:n.endRow,d=Number.isNaN(n.startColumn)?0:n.startColumn,c=Number.isNaN(n.endColumn)?s:n.endColumn,f=Math.abs(o+l-d-c),_=Math.abs(o-l)+Math.abs(d-c),E=Math.abs(r+i-a-h),R=Math.abs(r-i)+Math.abs(a-h);return f<=_&&E<=R}static getIntersects(e,n){const s=e.startRow,r=e.endRow,i=e.startColumn,o=e.endColumn,l=n.startRow,a=n.endRow,h=n.startColumn,d=n.endColumn;let c,f,_,E;if(l<=r)l>=s?f=l:f=s;else return null;if(a>=s)a>=r?E=r:E=a;else return null;if(h<=o)h>i?c=h:c=i;else return null;if(d>=i)d>=o?_=o:_=d;else return null;return{startRow:f,endRow:E,startColumn:c,endColumn:_,rangeType:ot.NORMAL}}static contains(e,n){return e.startRow<=n.startRow&&e.endRow>=n.endRow&&e.startColumn<=n.startColumn&&e.endColumn>=n.endColumn}static realContain(e,n){return ae.contains(e,n)&&(e.startRow<n.startRow||e.endRow>n.endRow||e.startColumn<n.startColumn||e.endColumn>n.endColumn)}static union(...e){return e.reduce((n,s)=>({startRow:Math.min(n.startRow,s.startRow),startColumn:Math.min(n.startColumn,s.startColumn),endRow:Math.max(n.endRow,s.endRow),endColumn:Math.max(n.endColumn,s.endColumn),rangeType:ot.NORMAL}),e[0])}static realUnion(...e){const n=e.some(i=>i.rangeType===ot.COLUMN),s=e.some(i=>i.rangeType===ot.ROW),r=ae.union(...e);return{startColumn:s?Number.NaN:r.startColumn,endColumn:s?Number.NaN:r.endColumn,startRow:n?Number.NaN:r.startRow,endRow:n?Number.NaN:r.endRow,rangeType:s?ot.ROW:n?ot.COLUMN:ot.NORMAL}}static subtract(e,n){if(n.startRow>e.endRow||n.endRow<e.startRow||n.startColumn>e.endColumn||n.endColumn<e.startColumn)return[e];const s=[];n.startRow>=e.startRow&&s.push({startRow:e.startRow,startColumn:e.startColumn,endRow:n.startRow-1,endColumn:e.endColumn}),n.endRow<=e.endRow&&s.push({startRow:n.endRow+1,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn});const r=Math.max(e.startRow,n.startRow),i=Math.min(e.endRow,n.endRow);return n.startColumn>=e.startColumn&&s.push({startRow:r,startColumn:e.startColumn,endRow:i,endColumn:n.startColumn-1}),n.endColumn<=e.endColumn&&s.push({startRow:r,startColumn:n.endColumn+1,endRow:i,endColumn:e.endColumn}),s.filter(l=>l.startRow<=l.endRow&&l.startColumn<=l.endColumn)}static hasIntersectionBetweenTwoRect(e,n){return!(e.left>n.right||e.right<n.left||e.top>n.bottom||e.bottom<n.top)}static getIntersectionBetweenTwoRect(e,n){const s=Math.max(e.left,n.left),r=Math.min(e.right,n.right),i=Math.max(e.top,n.top),o=Math.min(e.bottom,n.bottom);return r<=s||o<=i?null:{left:s,right:r,top:i,bottom:o,width:r-s,height:o-i}}};g(ae,"getRelativeRange",(e,n)=>({startRow:e.startRow-n.startRow,endRow:e.endRow-e.startRow,startColumn:e.startColumn-n.startColumn,endColumn:e.endColumn-e.startColumn})),g(ae,"getPositionRange",(e,n,s)=>({...s||{},startRow:s&&[Nt.ROW,Nt.ALL].includes(s.startAbsoluteRefType||0)?s.startRow:e.startRow+n.startRow,endRow:s&&[Nt.ROW,Nt.ALL].includes(s.endAbsoluteRefType||0)?s.endRow:e.endRow+e.startRow+n.startRow,startColumn:s&&[Nt.COLUMN,Nt.ALL].includes(s.startAbsoluteRefType||0)?s.startColumn:e.startColumn+n.startColumn,endColumn:s&&[Nt.COLUMN,Nt.ALL].includes(s.endAbsoluteRefType||0)?s.endColumn:e.endColumn+e.startColumn+n.startColumn})),g(ae,"moveHorizontal",(e,n=0,s=0)=>({...e,startColumn:e.startColumn+n,endColumn:e.endColumn+n+s})),g(ae,"moveVertical",(e,n=0,s=0)=>({...e,startRow:e.startRow+n,endRow:e.endRow+n+s})),g(ae,"moveOffset",(e,n,s)=>({...e,startRow:e.startRow+s,endRow:e.endRow+s,startColumn:e.startColumn+n,endColumn:e.endColumn+n}));let me=ae;class Fl{constructor(e,n){g(this,"_values",[]);g(this,"_keys",[]);g(this,"_keyMaps",new Map);this._values=e,this._keys=n,e.forEach(s=>{this._initKeyMap(s)})}_initKeyMap(e){this._keys.forEach(n=>{const s=e[n],r=this._keyMaps.get(n)||new Map;r.set(s,e),this._keyMaps.set(n,r)})}getValue(e,n){const s=n||this._keys;for(let r=0;r<s.length;r++){const i=this._keyMaps.get(s[r]);if(i!=null&&i.has(e))return i.get(e)}return null}hasValue(e){for(let n=0;n<this._keys.length;n++){const s=this._keyMaps.get(this._keys[n]);if(s!=null&&s.has(e))return!0}return!1}addValue(e){this._values.push(e),this._initKeyMap(e)}setValue(e,n,s){const r=this.getValue(e);r&&Object.keys(r).includes(n)&&(r[n]=s)}deleteValue(e){const n=this.getValue(e);if(n){this._keys.forEach(r=>{const i=this._keyMaps.get(r),o=n[r];i==null||i.delete(o)});const s=this._values.findIndex(r=>r===n);this._values.splice(s,1)}}getValues(){return this._values}getKeyMap(e){var n;return[...((n=this._keyMaps.get(e))==null?void 0:n.keys())||[]]}clear(){this._values=[],this._keys=[],this._keyMaps.clear()}}function zn(t,e,n,s){return{forEach(r){for(let i=t;i<=e;i++)for(let o=n;o<=s;o++)r(i,o)}}}function $l(t){if(t==null||t.length===0)return Number.NaN;const e=t.toLowerCase().split(""),n=e.length,s=o=>o.charCodeAt(0)-96;let r=0,i=0;for(let o=0;o<n;o++)i=s(e[o]),r+=i*26**(n-o-1);return r===0?Number.NaN:r-1}const Rn=65,jr=90,Wl=97;function Bl(t){const e=jr-Rn+1;let n="";for(;t>=0;)n=String.fromCharCode(t%e+Rn)+n,t=Math.floor(t/e)-1;return n}function Vr(t,e){let n="";for(;e>0;)n+=t,e--;return n}function Gl(t,e=!1){const n=jr-Rn+1;let s=Wl;e&&(s=Rn);const r=String.fromCharCode(t%n+s),i=Math.floor(t/n)+1;return Vr(r,i)}function xl(t,e){return t.zIndex>e.zIndex?1:t.zIndex===e.zIndex?0:-1}function jl(t,e){return t.zIndex>e.zIndex?-1:t.zIndex===e.zIndex?0:1}function Ae(t="index",e=1){return(n,s)=>n[t]>s[t]?e:n[t]===s[t]?0:-e}function Vl(t,e){let n;function s(...r){const i=this,o=function(){n=null,t.apply(i,r)};clearTimeout(n),n=setTimeout(o,e)}return Object.defineProperty(s,"cancel",{value:()=>{clearTimeout(n)},enumerable:!1,writable:!1}),s}function Cn(t,e,n){const{dataStream:s,textRuns:r=[]}=t;let i=e;const o=[];for(const l of r){const{st:a,ed:h}=l;y.hasIntersectionBetweenTwoRanges(e,n,a,h)&&(a>i?(o.push(s.slice(i,a)),o.push(Xn(s,{...l,ed:Math.min(h,n)}))):o.push(Xn(s,{...l,st:i,ed:Math.min(h,n)}))),i=Math.max(e,Math.min(h,n))}return i!==n&&o.push(s.slice(i,n)),o.join("")}function Kl(t,e=!0){var n;if(e&&((n=t.paragraphs)!=null&&n.length)){const{dataStream:s,paragraphs:r=[]}=t;let i="",o=-1;for(const l of r){const{startIndex:a,paragraphStyle:h={}}=l,{spaceAbove:d,spaceBelow:c,lineSpacing:f}=h,_=[];d!=null&&(typeof d=="number"?_.push(`margin-top: ${d}px`):_.push(`margin-top: ${d.v}px`)),c!=null&&(typeof c=="number"?_.push(`margin-bottom: ${c}px`):_.push(`margin-bottom: ${c.v}px`)),f!=null&&_.push(`line-height: ${f}`),a>o+1?i+=`<p class="UniverNormal" ${_.length?`style="${_.join("; ")};"`:""}>${Cn(t,o+1,a)}</p>`:i+=`<p class="UniverNormal" ${_.length?`style="${_.join("; ")};"`:""}></p>`,o=a}return o!==s.length&&(i+=Cn(t,o,s.length)),i}else return Cn(t,0,t.dataStream.length)}function Xn(t,e){const{st:n,ed:s,ts:r={}}=e,{ff:i,fs:o,it:l,bl:a,ul:h,st:d,ol:c,bg:f,cl:_,va:E}=r;let R=t.slice(n,s);const H=[];return l===Y.TRUE&&(R=`<i>${R}</i>`),E===Pe.SUPERSCRIPT?R=`<sup>${R}</sup>`:E===Pe.SUBSCRIPT&&(R=`<sub>${R}</sub>`),(h==null?void 0:h.s)===Y.TRUE&&(R=`<u>${R}</u>`),(d==null?void 0:d.s)===Y.TRUE&&(R=`<s>${R}</s>`),a===Y.TRUE&&(R=`<strong>${R}</strong>`),i&&H.push(`font-family: ${i}`),_&&H.push(`color: ${_.rgb}`),o&&H.push(`font-size: ${o}pt`),c&&H.push("text-decoration: overline"),f&&H.push(`background: ${f.rgb}`),H.length?`<span style="${H.join("; ")};">${R}</span>`:R}const Yl={sheetId:"",range:{startRow:-1,endRow:-1,startColumn:-1,endColumn:-1}},zl={startRow:-1,startColumn:-1,endRow:-1,endColumn:-1},Xl={startRow:0,startColumn:0,endRow:0,endColumn:0},ql={row:0,column:0},pn={ff:"Arial",fs:11,it:Y.FALSE,bl:Y.FALSE,ul:{s:Y.FALSE},st:{s:Y.FALSE},ol:{s:Y.FALSE},tr:{a:0,v:Y.FALSE},td:xe.UNSPECIFIED,cl:{rgb:"#000"},bg:{rgb:"#fff"},ht:Oe.UNSPECIFIED,vt:De.UNSPECIFIED,tb:ye.UNSPECIFIED,pd:{t:0,r:0,b:0,l:0}},Kr={id:"default_slide",title:"defaultSlide",pageSize:{width:300,height:300}};var Yr=(t=>(t.ARRAY_CONVERTOR="ARRAY_CONVERTOR",t.MATRIX_CONVERTOR="MATRIX_CONVERTOR",t))(Yr||{});function In(t,e){const{textRuns:n=[]}=e;let s=0;for(const i of n){const{ts:o={},st:l,ed:a}=i;if(o[t]==null)return Y.FALSE;switch(t){case"bl":case"it":{if(o[t]===Y.FALSE)return Y.FALSE;break}case"ul":case"st":{if(o[t].s===Y.FALSE)return Y.FALSE;break}default:throw new Error(`unknown style key: ${t} in IStyleBase`)}s+=a-l}return e.dataStream.indexOf(`\r
|
|
4
4
|
`)===s?Y.TRUE:Y.FALSE}const nn=class nn{constructor(e,n,s){g(this,"_range");g(this,"_worksheet");this._deps=s,this._range=n,this._worksheet=e}static foreach(e,n){const{startRow:s,startColumn:r,endRow:i,endColumn:o}=e;for(let l=s;l<=i;l++)for(let a=r;a<=o;a++)n(l,a)}getRangeData(){return this._range}getValue(){return this.getValues()[0][0]}getValues(){const{startRow:e,endRow:n,startColumn:s,endColumn:r}=this._range,i=[];for(let o=e;o<=n;o++){const l=[];for(let a=s;a<=r;a++)l.push(this.getMatrix().getValue(o,a)||null);i.push(l)}return i}getMatrix(){const{startRow:e,endRow:n,startColumn:s,endColumn:r}=this._range,i=this._worksheet.getCellMatrix(),o=new Zt;for(let l=e;l<=n;l++)for(let a=s;a<=r;a++)o.setValue(l,a,i.getValue(l,a)||null);return o}getMatrixObject(){const{startRow:e,endRow:n,startColumn:s,endColumn:r}=this._range,i=this._worksheet.getCellMatrix(),o=new Zt;for(let l=e;l<=n;l++)for(let a=s;a<=r;a++)o.setValue(l-e,a-s,i.getValue(l,a)||{});return o}getA1Notation(){const{startRow:e,endRow:n,startColumn:s,endColumn:r}=this._range;let i,o;return s<r?(i=y.numToWord(s+1)+(e+1),o=y.numToWord(r+1)+(n+1)):(i=y.numToWord(r+1)+(n+1),o=y.numToWord(s+1)+(e+1)),i===o?`${i}`:`${i}:${o}`}getBackground(){return this.getBackgrounds()[0][0]}getBackgrounds(){const e=this._deps.getStyles();return this.getValues().map(n=>n.map(s=>{var i;const r=e.getStyleByCell(s);return((i=r==null?void 0:r.bg)==null?void 0:i.rgb)||pn.bg.rgb}))}getCell(e,n){const{startRow:s,endRow:r,startColumn:i,endColumn:o}=this._range,l={startRow:s+e,endRow:s+e,startColumn:i+n,endColumn:i+n};return new nn(this._worksheet,l,this._deps)}getColumn(){return this._range.startColumn}getObjectValue(e={}){return this.getObjectValues(e)[0][0]}getObjectValues(e={}){var l;const{startRow:n,endRow:s,startColumn:r,endColumn:i}=this._range,o=this._worksheet.getCellMatrix().getFragment(n,s,r,i).getData();if(e.isIncludeStyle){const a=this._deps.getStyles();for(let h=0;h<=s-n;h++)for(let d=0;d<=i-r;d++){if(o==null||((l=o==null?void 0:o[h])==null?void 0:l[d])==null)continue;const c=o[h][d].s;c&&(o[h][d].s=a.get(c))}}return o}getFontColor(){return this.getFontColors()[0][0]}getFontColors(){const e=this._deps.getStyles();return this.getValues().map(n=>n.map(s=>{var i;const r=e.getStyleByCell(s);return((i=r==null?void 0:r.cl)==null?void 0:i.rgb)||pn.cl.rgb}))}getFontFamilies(){return this._getStyles("ff")}getFontFamily(){return this.getFontFamilies()[0][0]}getUnderlines(){return this._getStyles("ul")}getUnderline(){var n,s;const{p:e}=(n=this.getValue())!=null?n:{};return e&&Array.isArray((s=e.body)==null?void 0:s.textRuns)&&e.body.textRuns.length>0?In("ul",e.body)===Y.TRUE?{s:Y.TRUE}:{s:Y.FALSE}:this.getUnderlines()[0][0]}getOverlines(){return this._getStyles("ol")}getOverline(){return this.getOverlines()[0][0]}getStrikeThrough(){var n,s;const{p:e}=(n=this.getValue())!=null?n:{};return e&&Array.isArray((s=e.body)==null?void 0:s.textRuns)&&e.body.textRuns.length>0?In("st",e.body)===Y.TRUE?{s:Y.TRUE}:{s:Y.FALSE}:this.getStrikeThroughs()[0][0]}getStrikeThroughs(){return this._getStyles("st")}getFontSize(){var n,s;const e=((n=this.getValue())==null?void 0:n.p)||{};return e&&Array.isArray((s=e.body)==null?void 0:s.textRuns)&&e.body.textRuns.length>0?e.body.textRuns.some(r=>{var i;return((i=r==null?void 0:r.ts)==null?void 0:i.fs)!=null})?Math.max(...e.body.textRuns.map(r=>{var i;return((i=r==null?void 0:r.ts)==null?void 0:i.fs)||0})):this.getFontSizes()[0][0]:this.getFontSizes()[0][0]}getFontSizes(){return this._getStyles("fs")}getBorder(){return this.getBorders()[0][0]}getBorders(){return this._getStyles("bd")}getFontStyle(){var n,s;const{p:e}=(n=this.getValue())!=null?n:{};return e&&Array.isArray((s=e.body)==null?void 0:s.textRuns)&&e.body.textRuns.length>0?In("it",e.body)===Y.TRUE?an.ITALIC:an.NORMAL:this._getFontStyles()[0][0]}_getFontStyles(){return this._getStyles("it")}getFontWeight(){var n,s;const{p:e}=(n=this.getValue())!=null?n:{};return e&&Array.isArray((s=e.body)==null?void 0:s.textRuns)&&e.body.textRuns.length>0?In("bl",e.body)===Y.TRUE?un.BOLD:un.NORMAL:this._getFontWeights()[0][0]}_getFontWeights(){return this._getStyles("bl")}getGridId(){return this._worksheet.getSheetId()}getHeight(){const{_range:e,_worksheet:n}=this,{startRow:s,endRow:r}=e;let i=0;for(let o=0;o<=r-s;o++){const l=n.getRowHeight(o);i+=l}return i}getHorizontalAlignment(){return this.getHorizontalAlignments()[0][0]}getHorizontalAlignments(){return this._getStyles("ht")}getLastColumn(){return this._range.endColumn}getLastRow(){return this._range.endRow}getNumColumns(){const{startColumn:e,endColumn:n}=this._range;return n-e+1}getNumRows(){const{startRow:e,endRow:n}=this._range;return n-e+1}getRichTextValue(){return this.getRichTextValues()[0][0]}getRichTextValues(){return this.getValues().map(e=>e.map(n=>(n==null?void 0:n.p)||""))}getRowIndex(){return this._range.startRow}getSheet(){return this._worksheet}getTextDirection(){return this.getTextDirections()[0][0]}getTextDirections(){return this._getStyles("td")}getTextRotation(){return this.getTextRotations()[0][0]}getTextRotations(){return this._getStyles("tr")}getTextStyle(){return this.getTextStyles()[0][0]}getTextStyles(){const e=this._deps.getStyles();return this.getValues().map(n=>n.map(s=>e.getStyleByCell(s)))}getVerticalAlignment(){return this.getVerticalAlignments()[0][0]}getVerticalAlignments(){return this._getStyles("vt")}getWidth(){const{_range:e,_worksheet:n}=this,{startColumn:s,endColumn:r}=e;let i=0;for(let o=0;o<=r-s;o++)i+=n.getColumnWidth(o);return i}getWrap(){return this.getWrapStrategy()===ye.WRAP?Y.TRUE:Y.FALSE}getWrapStrategies(){return this._getStyles("tb")}getWrapStrategy(){return this.getWrapStrategies()[0][0]}forEach(e){nn.foreach(this._range,e)}_getStyles(e){const n=this._deps.getStyles();return this.getValues().map(s=>s.map(r=>{const i=n&&n.getStyleByCell(r);return i&&i[e]||pn[e]}))}};g(nn,"transformRange",(e,n)=>e.rangeType===ot.ALL?{startColumn:0,startRow:0,endColumn:n.getMaxColumns()-1,endRow:n.getMaxRows()-1}:e.rangeType===ot.COLUMN?{startRow:0,endRow:n.getMaxRows()-1,startColumn:e.startColumn,endColumn:e.endColumn}:e.rangeType===ot.ROW?{startColumn:0,endColumn:n.getMaxColumns()-1,startRow:e.startRow,endRow:e.endRow}:e);let ke=nn;function Jl(t,e){if(t.length===0||t[0].length===0)return null;const n=new Array(t[0].length).fill(0);let s=0,r=null;for(let i=0;i<t.length;i++){for(let l=0;l<t[0].length;l++)n[l]=e(t[i][l])?n[l]+1:0;const o=Zl(n);o.area>s&&(s=o.area,r={startColumn:o.start,startRow:i-o.height+1,endColumn:o.end,endRow:i})}return r}function Zl(t){const e=[];let n=0,s={area:0,height:0,start:0,end:0},r=0;for(;r<t.length;)if(e.length===0||t[r]>=t[e[e.length-1]])e.push(r++);else{const i=t[e.pop()],o=e.length===0?r:r-e[e.length-1]-1;i*o>n&&(n=i*o,s={area:n,height:i,start:e.length===0?0:e[e.length-1]+1,end:r-1})}for(;e.length>0;){const i=t[e.pop()],o=e.length===0?r:r-e[e.length-1]-1;i*o>n&&(n=i*o,s={area:n,height:i,start:e.length===0?0:e[e.length-1]+1,end:r-1})}return s}function Ql(t,e){ke.foreach(e,(n,s)=>{t[n][s]=void 0})}function ta(t,e){const n=t.toFullArray(),s=[];for(;;){const r=Jl(n,e);if(!r)break;s.push(r),Ql(n,r)}return s}function ea(t,e,n,s=!1){let r={...t};const i=r.startAbsoluteRefType||Nt.NONE,o=r.endAbsoluteRefType||Nt.NONE;return!s&&i===Nt.ALL&&o===Nt.ALL?r:s||i===Nt.NONE&&o===Nt.NONE?me.moveOffset(r,e,n):(i===Nt.NONE?r={...r,startRow:r.startRow+n,startColumn:r.startColumn+e}:i===Nt.COLUMN?r={...r,startRow:r.startRow+n}:i===Nt.ROW&&(r={...r,startColumn:r.startColumn+e}),o===Nt.NONE?r={...r,endRow:r.endRow+n,endColumn:r.endColumn+e}:o===Nt.COLUMN?r={...r,endRow:r.endRow+n}:o===Nt.ROW&&(r={...r,endColumn:r.endColumn+e}),r)}async function zr(t){for(const[e,n]of t.entries())try{if(!await n())return{index:e,result:!1}}catch(s){return{index:e,result:!1,error:s}}return{result:!0,index:-1}}function Xr(t){for(const[e,n]of t.entries())try{if(!n())return{index:e,result:!1}}catch(s){return{index:e,result:!1,error:s}}return{result:!0,index:-1}}const Ye=ut.createIdentifier("univer.context-service");class qr extends yt{constructor(){super(...arguments);g(this,"_contextChanged$",new V.Subject);g(this,"contextChanged$",this._contextChanged$.asObservable());g(this,"_contextMap",new Map)}dispose(){super.dispose(),this._contextChanged$.complete()}getContextValue(n){var s;return(s=this._contextMap.get(n))!=null?s:!1}setContextValue(n,s){this._contextMap.set(n,s),this._contextChanged$.next({[n]:s})}subscribeContextValue$(n){return new V.Observable(s=>{const r=this._contextChanged$.pipe(V.filter(i=>typeof i[n]<"u")).subscribe(i=>s.next(i[n]));return this._contextMap.has(n)&&s.next(this._contextMap.get(n)),()=>r.unsubscribe()})}}var Jr=(t=>(t[t.SILENT=0]="SILENT",t[t.ERROR=1]="ERROR",t[t.WARN=2]="WARN",t[t.INFO=3]="INFO",t[t.VERBOSE=4]="VERBOSE",t))(Jr||{});const Ee=ut.createIdentifier("univer.log");class Zr extends yt{constructor(){super(...arguments);g(this,"_logLevel",3)}debug(...n){this._logLevel>=4&&this._log(console.debug,...n)}log(...n){this._logLevel>=3&&this._log(console.log,...n)}warn(...n){this._logLevel>=2&&this._log(console.warn,...n)}error(...n){this._logLevel>=1&&this._log(console.error,...n)}setLogLevel(n){this._logLevel=n}_log(n,...s){const r=s[0];/^\[(.*?)\]/g.test(r)?n(`\x1B[97;104m${r}\x1B[0m`,...s.slice(1)):n(...s)}}var na=Object.defineProperty,sa=Object.getOwnPropertyDescriptor,ra=(t,e,n,s)=>{for(var r=s>1?void 0:s?sa(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(r=(s?o(e,n,r):o(r))||r);return s&&r&&na(e,n,r),r},Qr=(t,e)=>(n,s)=>e(n,s,t),ze=(t=>(t[t.COMMAND=0]="COMMAND",t[t.OPERATION=1]="OPERATION",t[t.MUTATION=2]="MUTATION",t))(ze||{});const Xe=ut.createIdentifier("anywhere.command-service");class ia{constructor(){g(this,"_commands",new Map);g(this,"_commandTypes",new Map)}registerCommand(e){if(this._commands.has(e.id))throw new Error(`[CommandRegistry]: command "${e.id}" has been registered before.`);return this._commands.set(e.id,e),this._commandTypes.set(e.id,e.type),At(()=>{var n;this._commands.delete(e.id),this._commandTypes.delete(e.id),(n=e.onDispose)==null||n.call(e)})}hasCommand(e){return this._commands.has(e)}getCommand(e){return this._commands.has(e)?[this._commands.get(e)]:null}getCommandType(e){return this._commandTypes.get(e)}}const ti={id:"nil",type:0,handler:()=>!0};u.CommandService=class{constructor(e,n){g(this,"_commandRegistry");g(this,"_beforeCommandExecutionListeners",[]);g(this,"_commandExecutedListeners",[]);g(this,"_multiCommandDisposables",new Map);g(this,"_commandExecutingLevel",0);g(this,"_commandExecutionStack",[]);this._injector=e,this._logService=n,this._commandRegistry=new ia,this._registerCommand(ti)}hasCommand(e){return this._commandRegistry.hasCommand(e)}registerCommand(e){return this._registerCommand(e)}registerMultipleCommand(e){return this._registerMultiCommand(e)}beforeCommandExecuted(e){if(this._beforeCommandExecutionListeners.indexOf(e)===-1)return this._beforeCommandExecutionListeners.push(e),At(()=>{const n=this._beforeCommandExecutionListeners.indexOf(e);this._beforeCommandExecutionListeners.splice(n,1)});throw new Error("[CommandService]: could not add a listener twice.")}onCommandExecuted(e){if(this._commandExecutedListeners.indexOf(e)===-1)return this._commandExecutedListeners.push(e),At(()=>{const n=this._commandExecutedListeners.indexOf(e);this._commandExecutedListeners.splice(n,1)});throw new Error("[CommandService]: could not add a listener twice.")}async executeCommand(e,n,s){try{const r=this._commandRegistry.getCommand(e);if(r){const[i]=r,o={id:i.id,type:i.type,params:n},l=this._pushCommandExecutionStack(o);this._beforeCommandExecutionListeners.forEach(h=>h(o,s));const a=await this._execute(i,n,s);return this._commandExecutedListeners.forEach(h=>h(o,s)),l.dispose(),a}throw new Error(`[CommandService]: command "${e}" is not registered.`)}catch(r){throw this._logService.error(r),r}}syncExecuteCommand(e,n,s){var i;const r=this._commandRegistry.getCommand(e);if(r){const[o]=r,l={id:o.id,type:o.type,params:n};if(o.type===2){const d=Ml(this._commandExecutionStack,c=>c.type===0);d&&(l.params=(i=l.params)!=null?i:{},l.params.trigger=d.id)}const a=this._pushCommandExecutionStack(l);this._beforeCommandExecutionListeners.forEach(d=>d(l,s));const h=this._syncExecute(o,n,s);return this._commandExecutedListeners.forEach(d=>d(l,s)),a.dispose(),h}throw new Error(`[CommandService]: command "${e}" is not registered.`)}_pushCommandExecutionStack(e){return this._commandExecutionStack.push(e),At(()=>En(this._commandExecutionStack,e))}_registerCommand(e){return this._commandRegistry.registerCommand(e)}_registerMultiCommand(e){const n=this._commandRegistry.getCommand(e.id);let s;if(n){if(n[0].multi!==!0)throw new Error("Command has registered as a single command.");s=n[0]}else{const i=new xn;s=new oa(e.id),i.add(this._commandRegistry.registerCommand(s)),i.add(At(()=>{this._multiCommandDisposables.delete(e.id)})),this._multiCommandDisposables.set(e.id,i)}const r=s.registerImplementation(e);return At(()=>{var i;r.dispose(),s.hasImplementations()||(i=this._multiCommandDisposables.get(e.id))==null||i.dispose()})}async _execute(e,n,s){this._logService.debug("[CommandService]",`${"|-".repeat(Math.max(this._commandExecutingLevel,0))}executing command "${e.id}"`),this._commandExecutingLevel++;let r;try{r=await this._injector.invoke(e.handler,n,s),this._commandExecutingLevel--}catch(i){throw r=!1,this._commandExecutingLevel=0,i}return r}_syncExecute(e,n,s){this._logService.debug("[CommandService]",`${"|-".repeat(Math.max(0,this._commandExecutingLevel))}executing command "${e.id}".`),this._commandExecutingLevel++;let r;try{if(r=this._injector.invoke(e.handler,n,s),r instanceof Promise)throw new TypeError("[CommandService]: Command handler should not return a promise.");this._commandExecutingLevel--}catch(i){throw r=!1,this._commandExecutingLevel=0,i}return r}},u.CommandService=ra([Qr(0,ut.Inject(ut.Injector)),Qr(1,Ee)],u.CommandService);class oa{constructor(e){g(this,"name");g(this,"multi",!0);g(this,"type",0);g(this,"priority",0);g(this,"_implementations",[]);g(this,"handler",async(e,n)=>{if(!this._implementations.length)return!1;const s=e.get(Ee),r=e.get(Ye),i=e.get(ut.Injector);for(const o of this._implementations){const l=o.command.preconditions;if((!l||l&&l(r))&&(s.debug("[MultiCommand]",`executing implementation "${o.command.name}".`),await i.invoke(o.command.handler,n)))return!0}return!1});this.id=e,this.name=e}registerImplementation(e){const n={command:e};return this._implementations.push(n),this._implementations.sort((s,r)=>r.command.priority-s.command.priority),At(()=>{var r;const s=this._implementations.indexOf(n);this._implementations.splice(s,1),(r=e.onDispose)==null||r.call(e)})}hasImplementations(){return this._implementations.length>0}}function qn(t,e,n){const s=t.map(r=>()=>e.syncExecuteCommand(r.id,r.params,n));return Xr(s)}function la(t,e,n){const s=t.map(r=>()=>e.executeCommand(r.id,r.params,n));return zr(s)}function ei(t){return new V.Observable(e=>{const n=t((...s)=>e.next(s));return()=>n==null?void 0:n.dispose()})}const aa=t=>new Promise(e=>{V.merge(ei(t.onCommandExecuted.bind(t)).pipe(oe.filter(([n])=>n.type===ze.MUTATION)),V.timer(300)).pipe(oe.debounceTime(16),oe.first()).subscribe(()=>{e()})});var Vt=(t=>(t[t.UNDEFINED=0]="UNDEFINED",t[t.OK=1]="OK",t[t.INTERNAL_ERROR=2]="INTERNAL_ERROR",t[t.PERMISSION_DENIED=3]="PERMISSION_DENIED",t[t.NOT_FOUND=4]="NOT_FOUND",t[t.UNAUTHENTICATED=5]="UNAUTHENTICATED",t[t.ALREADY_EXISTS=6]="ALREADY_EXISTS",t[t.INVALID_ARGUMENT=7]="INVALID_ARGUMENT",t[t.TOO_MANY_REQUESTS=8]="TOO_MANY_REQUESTS",t[t.COMPLETION_FINISHED=9]="COMPLETION_FINISHED",t[t.CHANGESET_REVISION_CONFILICT=5001]="CHANGESET_REVISION_CONFILICT",t[t.SNAPSHOT_INVALID_SNAPSHOT=6001]="SNAPSHOT_INVALID_SNAPSHOT",t[t.SNAPSHOT_HAS_BEEN_REMOVED=6002]="SNAPSHOT_HAS_BEEN_REMOVED",t[t.APPLY_REJECT=7001]="APPLY_REJECT",t[t.APPLY_NON_SEQUENTIAL_REVISION=7002]="APPLY_NON_SEQUENTIAL_REVISION",t[t.APPLY_REVISION_CONFILICT=7003]="APPLY_REVISION_CONFILICT",t[t.APPLY_PERMISSION_DENIED=7004]="APPLY_PERMISSION_DENIED",t[t.CONNECTOR_DATA_TOO_LARGE=8001]="CONNECTOR_DATA_TOO_LARGE",t[t.LICENSE_MAX_UNITS_EXCEEDED=9001]="LICENSE_MAX_UNITS_EXCEEDED",t[t.LICENSE_MAX_MEMBERS_PER_UNIT_EXCEEDED=9002]="LICENSE_MAX_MEMBERS_PER_UNIT_EXCEEDED",t[t.LICENSE_IMPORT_SIZE_EXCEEDED=9003]="LICENSE_IMPORT_SIZE_EXCEEDED",t[t.LICENSE_EXPORT_SIZE_EXCEEDED=9004]="LICENSE_EXPORT_SIZE_EXCEEDED",t[t.LICENSE_DISTRO_REJECTED=9005]="LICENSE_DISTRO_REJECTED",t[t.YUUMI_UNABLE_LOAD_URL=10001]="YUUMI_UNABLE_LOAD_URL",t[t.YUUMI_URL_COL_OUT_OF_RANGE=10002]="YUUMI_URL_COL_OUT_OF_RANGE",t[t.UNRECOGNIZED=-1]="UNRECOGNIZED",t))(Vt||{});function ni(t){return!!(t&&t.code&&t.code!==Vt.OK&&t.code!=="OK")}var Q=(t=>(t[t.UNIVER_UNKNOWN=0]="UNIVER_UNKNOWN",t[t.UNIVER_DOC=1]="UNIVER_DOC",t[t.UNIVER_SHEET=2]="UNIVER_SHEET",t[t.UNIVER_SLIDE=3]="UNIVER_SLIDE",t[t.UNRECOGNIZED=-1]="UNRECOGNIZED",t))(Q||{}),Wt=(t=>(t[t.Reader=0]="Reader",t[t.Editor=1]="Editor",t[t.Owner=2]="Owner",t[t.UNRECOGNIZED=-1]="UNRECOGNIZED",t))(Wt||{}),On=(t=>(t[t.Unkonwn=0]="Unkonwn",t[t.Workbook=1]="Workbook",t[t.Worksheet=2]="Worksheet",t[t.SelectRange=3]="SelectRange",t[t.Document=4]="Document",t[t.Slide=5]="Slide",t[t.UNRECOGNIZED=-1]="UNRECOGNIZED",t))(On||{});class Sn extends yt{}class Jn{constructor(){g(this,"_data",[])}static create(){return new Jn}add(e){this._data.indexOf(e)>-1||this._data.push(e)}delete(e){const n=this._data.indexOf(e);this._data.splice(n,1)}getData(){return this._data}}class Zn{constructor(){g(this,"_data",new Map)}static create(){return new Zn}add(e,n){this._data.has(e)||this._data.set(e,n)}delete(e){this._data.delete(e)}getData(){return this._data}}var si=(t=>(t[t.PARAGRAPH=0]="PARAGRAPH",t[t.SECTION_BREAK=1]="SECTION_BREAK",t[t.TABLE=2]="TABLE",t[t.TABLE_ROW=3]="TABLE_ROW",t[t.TABLE_CELL=4]="TABLE_CELL",t[t.CUSTOM_BLOCK=5]="CUSTOM_BLOCK",t))(si||{}),le=(t=>(t.PARAGRAPH="\r",t.SECTION_BREAK=`
|
|
5
5
|
`,t.TABLE_START="",t.TABLE_ROW_START="\x1B",t.TABLE_CELL_START="",t.TABLE_CELL_END="",t.TABLE_ROW_END="*",t.TABLE_END="+",t.CUSTOM_RANGE_START="",t.CUSTOM_RANGE_END="",t.COLUMN_BREAK="\v",t.PAGE_BREAK="\f",t.DOCS_END="\0",t.TAB=" ",t.CUSTOM_BLOCK="\b",t.LETTER="",t.SPACE=" ",t))(le||{}),Nn=(t=>(t.BULLET_LIST="BULLET_LIST",t.ORDER_LIST="ORDER_LIST",t))(Nn||{});const ua={BULLET_LIST:{listType:"BULLET_LIST",nestingLevel:[{bulletAlignment:fe.START,glyphFormat:" %0",textStyle:{fs:12},startNumber:0,glyphSymbol:"●",hanging:21,indentStart:21},{bulletAlignment:fe.START,glyphFormat:" %1",textStyle:{fs:12},startNumber:0,glyphSymbol:"■",hanging:21,indentStart:42},{bulletAlignment:fe.START,glyphFormat:" %1",textStyle:{fs:12},startNumber:0,glyphSymbol:"◆",hanging:21,indentStart:63}]},ORDER_LIST:{listType:"ORDER_LIST",nestingLevel:[{bulletAlignment:fe.START,glyphFormat:" %1.",textStyle:{fs:12},startNumber:0,glyphType:je.DECIMAL,hanging:21,indentStart:21},{bulletAlignment:fe.START,glyphFormat:" %1.%2)",textStyle:{fs:12},startNumber:0,glyphType:je.DECIMAL,hanging:21,indentStart:42},{bulletAlignment:fe.START,glyphFormat:" %1.%2.%3.",textStyle:{fs:12},startNumber:0,glyphType:je.DECIMAL,hanging:21,indentStart:63}]}};function Qn(t){const e=[];for(const n of t){const{ed:s,ts:r}=n;if(n.sId===void 0&&delete n.sId,y.isEmptyObject(r)&&n.sId==null)continue;if(e.length===0){e.push(n);continue}const i=e.pop();Mr(n,i)&&y.hasIntersectionBetweenTwoRanges(i.st,i.ed,n.st,n.ed)?e.push({...n,st:i.st,ed:s}):e.push(i,n)}return e}function ri(t,e,n,s){var h;const{textRuns:r}=t;if(r==null)return;const i=[],o=r.length;let l=!1;const a=(h=e.textRuns)!=null?h:[];if(a.length)for(const d of a)d.st+=s,d.ed+=s;for(let d=0;d<o;d++){const c=r[d],f=r[d+1],{st:_,ed:E}=c;if(E<s)i.push(c);else if(s>=_&&s<=E){if(f&&f.st===f.ed&&s===f.st){i.push(c);continue}if(l)c.st+=n,c.ed+=n,i.push(c);else{l=!0,c.ed+=n;const R=[];if(a.length){const H={...c,st:_,ed:a[0].st};H.ed>H.st&&R.push(H),R.push(...a);const k=a[a.length-1],et={...c,st:k.ed,ed:E+n};et.ed>et.st&&R.push(et)}else R.push(c);i.push(...R)}}else c.st+=n,c.ed+=n,l||(l=!0,i.push(...a)),i.push(c)}l||(l=!0,i.push(...a)),t.textRuns=Qn(i)}function ts(t,e,n,s){const{paragraphs:r}=t;if(r==null)return;const{paragraphs:i,dataStream:o}=e,l=[];let a=-1;for(let d=0,c=r.length;d<c;d++){const f=r[d],{startIndex:_}=f;_>=s&&(f.startIndex+=n),a===-1&&_>=s&&(a=d),l.push(f.startIndex)}let h=-1;if(i){for(let d=0,c=i.length;d<c;d++){const f=i[d];f.startIndex+=s;const _=f.startIndex;h=l.indexOf(_)}if(o===le.PARAGRAPH&&i.length===1){const d=r[a],c=i[0],f=d.paragraphStyle,_=d.bullet;d.paragraphStyle=c.paragraphStyle,d.bullet=c.bullet,c.paragraphStyle=f,c.bullet=_}h!==-1&&r.splice(h,1),r.push(...i),r.sort(Ae("startIndex"))}}function ca(t,e,n,s){const{sectionBreaks:r}=t;if(r==null)return;for(let o=0,l=r.length;o<l;o++){const a=r[o],{startIndex:h}=a;h>=s&&(a.startIndex+=n)}const i=e.sectionBreaks;if(i){for(let o=0,l=i.length;o<l;o++){const a=i[o];a.startIndex+=s}r.push(...i),r.sort(Ae("startIndex"))}}function ii(t,e,n,s){const{customBlocks:r}=t;if(r==null)return;for(let o=0,l=r.length;o<l;o++){const a=r[o],{startIndex:h}=a;h>=s&&(a.startIndex+=n)}const i=e.customBlocks;if(i){for(let o=0,l=i.length;o<l;o++){const a=i[o];a.startIndex+=s}r.push(...i),r.sort(Ae("startIndex"))}}function oi(t,e,n,s){const{tables:r}=t;if(r==null)return;for(let o=0,l=r.length;o<l;o++){const a=r[o],{startIndex:h,endIndex:d}=a;h>s?(a.startIndex+=n,a.endIndex+=n):d>=s-1&&(a.endIndex+=n)}const i=e.tables;if(i){for(let o=0,l=i.length;o<l;o++){const a=i[o];a.startIndex+=s,a.endIndex+=s}r.push(...i),r.sort(Ae("startIndex"))}}function li(t,e,n,s){t.customRanges||(t.customRanges=[]);const{customRanges:r}=t,i={};for(let l=0,a=r.length;l<a;l++){const h=r[l];i[h.rangeId]=h;const{startIndex:d,endIndex:c}=h;d>=s?(h.startIndex+=n,h.endIndex+=n):c>s-1&&(h.endIndex+=n)}const o=[];if(e.customRanges){for(let l=0,a=e.customRanges.length;l<a;l++){const h=e.customRanges[l],d=i[h.rangeId];if(h.startIndex+=s,h.endIndex+=s,d){if(d.startIndex<=h.startIndex&&d.endIndex>=h.endIndex)continue;if(t.dataStream[d.startIndex]===le.CUSTOM_RANGE_START&&t.dataStream[d.endIndex]===le.CUSTOM_RANGE_END){o.push(h);continue}if(t.dataStream[d.startIndex]===le.CUSTOM_RANGE_START){d.endIndex=h.endIndex;continue}if(t.dataStream[d.endIndex]===le.CUSTOM_RANGE_END){d.startIndex=h.startIndex;continue}}o.push(h)}r.push(...o),r.sort(Ae("startIndex"))}}function ha(t){t.sort((s,r)=>s.startIndex-r.startIndex);const e=[];let n=t[0];for(let s=1;s<t.length;s++)n.endIndex+1>=t[s].startIndex?n.endIndex=Math.max(n.endIndex,t[s].endIndex):(e.push(n),n=t[s]);return e.push(n),e}function da(t){const e={};for(let n=0,s=t.length;n<s;n++){const r=t[n],i=e[r.id];e[r.id]=[...i!=null?i:[],r]}return Object.keys(e).forEach(n=>{const s=e[n],r=ha(s);e[n]=r}),Object.values(e).flat()}function ai(t,e,n,s){t.customDecorations||(t.customDecorations=[]);const{customDecorations:r}=t;if(n>0)for(let i=0,o=r.length;i<o;i++){const l=r[i],{startIndex:a,endIndex:h}=l;a>=s?(l.startIndex+=n,l.endIndex+=n):h>s-1&&(l.endIndex+=n)}if(e.customDecorations){const i=[];for(let o=0,l=e.customDecorations.length;o<l;o++){const a=e.customDecorations[o];i.push(a),a.startIndex+=s,a.endIndex+=s}r.push(...i),t.customDecorations=da(r),t.customDecorations.sort(Ae("startIndex"))}}function ui(t,e,n){var l;const{textRuns:s}=t,r=n,i=n+e,o=[];if(r===i&&(s!=null&&s.find(a=>a.st===n&&a.ed===n))){const a=s.find(h=>h.st===n&&h.ed===n);return o.push({...a,st:a.st-n,ed:a.ed-n}),t.textRuns=(l=t.textRuns)==null?void 0:l.filter(h=>h!==a),o}if(s){const a=[];for(let h=0,d=s.length;h<d;h++){const c=s[h],{st:f,ed:_}=c;if(r<=f&&i>=_){o.push({...c,st:f-r,ed:_-r});continue}else f<=r&&_>=i?(o.push({...c,st:r-r,ed:i-r}),c.ed-=e):r>=f&&r<_?(o.push({...c,st:r-r,ed:_-r}),c.ed=r):i>f&&i<=_?(o.push({...c,st:f-r,ed:i-r}),c.st=i-e,c.ed-=e):f>=i&&(c.st-=e,c.ed-=e);a.push(c)}t.textRuns=a}return o.length===0&&o.push({st:0,ed:e,ts:{}}),o}function ci(t,e,n){const{paragraphs:s}=t,r=n,i=n+e,o=[];if(s){const l=[];for(let a=0,h=s.length;a<h;a++){const d=s[a],{startIndex:c}=d;if(c>=r&&c<i){o.push({...d,startIndex:c-n});continue}else c>=i&&(d.startIndex-=e);l.push(d)}t.paragraphs=l}return o}function hi(t,e,n){const{sectionBreaks:s}=t,r=n,i=n+e-1,o=[];if(s){const l=[];for(let a=0,h=s.length;a<h;a++){const d=s[a],{startIndex:c}=d;if(c>=r&&c<=i){o.push({...d,startIndex:c-n});continue}else c>i&&(d.startIndex-=e);l.push(d)}t.sectionBreaks=l}return o}function di(t,e,n){const{customBlocks:s}=t,r=n,i=n+e-1,o=[];if(s){const l=[];for(let a=0,h=s.length;a<h;a++){const d=s[a],{startIndex:c}=d;if(c>=r&&c<=i){o.push({...d,startIndex:c-n});continue}else c>i&&(d.startIndex-=e);l.push(d)}t.customBlocks=l}return o}function fi(t,e,n){const{tables:s}=t,r=n,i=n+e-1,o=[];if(s){const l=[];for(let a=0,h=s.length;a<h;a++){const d=s[a],{startIndex:c,endIndex:f}=d;if(r<=c&&i>=f){o.push({...d,startIndex:c-n,endIndex:f-n});continue}else if(c<=r&&f>=i){const _=mn(c,f,r,i);d.startIndex=_[0],d.endIndex=_[1]}else i<c&&(d.startIndex-=e,d.endIndex-=e);l.push(d)}t.tables=l}return o}function _i(t,e,n){const{customRanges:s}=t,r=n,i=n+e-1,o=[];if(s){const l=[];for(let a=0,h=s.length;a<h;a++){const d=s[a],{startIndex:c,endIndex:f}=d;if(r<=c&&i>=c){o.push({...d,startIndex:c-n,endIndex:f-n});continue}else if(c<=r&&f>=i){const _=mn(c,f,r,i);d.startIndex=_[0],d.endIndex=_[1]}else i<c&&(d.startIndex-=e,d.endIndex-=e);l.push(d)}t.customRanges=l}return o}function gi(t,e,n,s=!0){const{customDecorations:r}=t,i=n,o=n+e-1,l=[];if(r){const a=[];for(let h=0,d=r.length;h<d;h++){const c=r[h],{startIndex:f,endIndex:_}=c;if(f>=i&&_<=o){l.push(c);continue}else if(Math.max(i,f)<=Math.min(o,_)){const E=mn(f,_,i,o);c.startIndex=E[0],c.endIndex=E[1]}else o<f&&s&&(c.startIndex-=e,c.endIndex-=e);a.push(c)}t.customDecorations=a}return l}function fa(t,e,n,s,r){const i=_a(t,e,n,s,r),o=ga(t,e,n,s,r),l=ma(t,e,n,s,r),a=Ea(t,e,n,s,r),h=Ra(t,e,n,s,r),d=Ca(t,e,n,s,r),c=pa(t,e,n,s,r);return{dataStream:"",textRuns:i,paragraphs:o,sectionBreaks:l,customBlocks:a,tables:h,customRanges:d,customDecorations:c}}function _a(t,e,n,s,r){const{textRuns:i}=t,{textRuns:o}=e;if(i==null||o==null)return;const l=ui(t,n,s);if(r!==kt.REPLACE){const a=mi(o,l,r);e.textRuns=a}return ri(t,e,n,s),l}function mi(t,e,n){if(e.length===0)return t;t=y.deepClone(t),e=y.deepClone(e);const s=[],r=t.length,i=e.length;let o=0,l=0,a=null;function h(){return a?(s.push(a),a=null,!0):!1}for(;o<r&&l<i;){const{st:_,ed:E,ts:R}=t[o],{st:H,ed:k,ts:et,sId:mt}=e[l];let ft;if(n===kt.COVER?ft={...et,...R}:ft={...R,...et},E<H)h()||s.push(t[o]),o++;else if(k<_)h()||s.push(e[l]),l++;else{const C={st:Math.min(_,H),ed:Math.max(_,H),ts:_<H?{...R}:{...et},sId:_<H?void 0:mt};C.ed>C.st&&s.push(C),s.push({st:Math.max(_,H),ed:Math.min(E,k),ts:ft,sId:mt}),E<k?(o++,e[l].st=E,e[l].st===e[l].ed&&l++):(l++,t[o].st=k,t[o].st===t[o].ed&&o++);const S={st:Math.min(E,k),ed:Math.max(E,k),ts:E<k?{...et}:{...R},sId:E<k?mt:void 0};a=S.ed>S.st?S:null}}h();const d=s[s.length-1],c=t[r-1],f=e[i-1];return d.ed!==Math.max(c.ed,f.ed)&&(c.ed>f.ed?s.push(c):s.push(f)),Qn(s)}function ga(t,e,n,s,r){const{paragraphs:i}=t,{paragraphs:o}=e;if(i==null||o==null)return;const l=ci(t,n,s);if(r!==kt.REPLACE){const a=[];for(const h of o){const{startIndex:d,paragraphStyle:c,bullet:f}=h;let _=[];for(const E of l){const{startIndex:R,paragraphStyle:H,bullet:k}=E;let et,mt;if(r===kt.COVER?(et={...H,...c},mt={listId:"",listType:Nn.BULLET_LIST,nestingLevel:0,textStyle:{},...k,...f}):(et={...c,...H},mt={listId:"",listType:Nn.BULLET_LIST,nestingLevel:0,textStyle:{},...f,...k}),d===R){_.push({startIndex:d,paragraphStyle:et,bullet:mt});break}}a.push(..._),_=[]}e.paragraphs=a}return ts(t,e,n,s),l}function ma(t,e,n,s,r){const{sectionBreaks:i}=t,{sectionBreaks:o}=e;if(i==null||o==null)return;const l=hi(t,n,s);if(r!==kt.REPLACE){const a=[];for(const h of o){const{startIndex:d}=h;let c=[];for(const f of l){const{startIndex:_}=f;if(d===_){r===kt.COVER?c.push({...f,...h}):c.push({...h,...f});break}}a.push(...c),c=[]}e.sectionBreaks=a}return ts(t,e,n,s),l}function Ea(t,e,n,s,r){const{customBlocks:i}=t,{customBlocks:o}=e;if(i==null||o==null)return;const l=di(t,n,s);if(r!==kt.REPLACE){const a=[];for(const h of o){const{startIndex:d}=h;let c=[];for(const f of l){const{startIndex:_}=f;if(d===_){r===kt.COVER?c.push({...f,...h}):c.push({...h,...f});break}}a.push(...c),c=[]}e.customBlocks=a}return ii(t,e,n,s),l}function Ra(t,e,n,s,r){const{tables:i}=t,{tables:o}=e;if(i==null||o==null)return;const l=fi(t,n,s);if(r!==kt.REPLACE){const a=[];for(const h of o){const{startIndex:d,endIndex:c}=h;let f=[];for(const _ of l){const{startIndex:E,endIndex:R}=_;if(E>=d&&R<=c){r===kt.COVER?f.push({..._,...h}):f.push({...h,..._});break}}a.push(...f),f=[]}e.tables=a}return oi(t,e,n,s),l}function Ca(t,e,n,s,r){t.customRanges||(t.customRanges=[]);const{customRanges:i}=t,{customRanges:o}=e;if(i==null||o==null)return;let l=[];return r===kt.REPLACE&&(l=_i(t,n,s)),li(t,e,0,s),l}function pa(t,e,n,s,r){t.customDecorations||(t.customDecorations=[]);let i=[];return r===kt.REPLACE&&(i=gi(t,n,s,!1)),ai(t,e,0,s),i}function qe(t,e,n,s=!1){const{dataStream:r,textRuns:i=[],paragraphs:o=[]}=t,l={dataStream:r.slice(e,n)},a=[];for(const c of i){const f=y.deepClone(c),{st:_,ed:E}=f;y.hasIntersectionBetweenTwoRanges(_,E,e,n)&&(e>=_&&e<=E?a.push({...f,st:e,ed:Math.min(n,E)}):n>=_&&n<=E?a.push({...f,st:Math.max(e,_),ed:n}):a.push(f))}a.length?l.textRuns=a.map(c=>{const{st:f,ed:_}=c;return{...c,st:f-e,ed:_-e}}):s&&(l.textRuns=[{st:0,ed:n-e,ts:{}}]);const h=[];for(const c of o){const{startIndex:f}=c;f>=e&&f<=n&&h.push(y.deepClone(c))}h.length&&(l.paragraphs=h.map(c=>({...c,startIndex:c.startIndex-e}))),l.customDecorations=Ri(t,e,n);const{customRanges:d}=Ei(t,e,n);return l.customRanges=d,l}function Ia(t){const{dataStream:e,textRuns:n,paragraphs:s,customRanges:r,customDecorations:i}=t;let o=0,l=0;r==null||r.forEach(h=>{h.startIndex<0&&(o=Math.max(o,-h.startIndex)),h.endIndex>e.length-1&&(l=Math.max(l,h.endIndex-e.length+1))});const a=`${le.CUSTOM_RANGE_START.repeat(o)}${e}${le.CUSTOM_RANGE_END.repeat(l)}`;return n&&(n[0]&&(n[0].st=n[0].st-o),n[n.length-1]&&(n[n.length-1].ed=n[n.length-1].ed+l)),n==null||n.forEach(h=>{h.st+=o,h.ed+=o}),s==null||s.forEach(h=>{h.startIndex+=o}),r==null||r.forEach(h=>{h.startIndex+=o,h.endIndex+=o}),i==null||i.forEach(h=>{h.startIndex+=o,h.endIndex+=l}),{...t,dataStream:a,textRuns:n,paragraphs:s,customRanges:r,customDecorations:i}}function Ei(t,e,n){const{customRanges:s=[]}=t;let r=0,i=0;const o=s.filter(l=>Math.max(l.startIndex,e)<=Math.min(l.endIndex,n-1)).map(l=>({...l,startIndex:l.startIndex,endIndex:l.endIndex}));if(o.length){o.forEach(l=>{l.startIndex<e&&(r+=1),l.endIndex>n-1&&(i+=1)});for(let l=0;l<r;l++){const a=o[l];a.startIndex=e-r+l}if(i){const l=[...o].sort((a,h)=>h.endIndex-a.endIndex);for(let a=0;a<i;a++){const h=l[a];h.endIndex=n+i-a-1}}}return{customRanges:o.map(l=>({...l,startIndex:l.startIndex-e,endIndex:l.endIndex-e})),leftOffset:r,rightOffset:i}}function Ri(t,e,n){const{customDecorations:s=[]}=t,r=[];return s.forEach(i=>{if(Math.max(i.startIndex,e)<=Math.min(i.endIndex,n-1)){const o=y.deepClone(i);r.push({...o,startIndex:Math.max(o.startIndex-e,0),endIndex:Math.min(o.endIndex,n)-e})}}),r}function es(t,e,n=kt.COVER){if(e.dataStream!=="")throw new Error("Cannot compose other body with non-empty dataStream");const s={dataStream:t.dataStream},{textRuns:r=[],paragraphs:i=[]}=t,{textRuns:o=[],paragraphs:l=[]}=e,a=mi(o,r,n);a.length&&(s.textRuns=a);const h=[];let d=0,c=0;for(;d<i.length&&c<l.length;){const f=i[d],_=l[c],{startIndex:E}=f,{startIndex:R}=_;E===R?(h.push(y.deepMerge(f,_)),d++,c++):E<R?(h.push(y.deepClone(f)),d++):(h.push(y.deepClone(_)),c++)}return d<i.length&&h.push(...i.slice(d)),c<l.length&&h.push(...l.slice(c)),h.length&&(s.paragraphs=h),s}function Oa(t){const{body:e}=t;if(e==null)return!0;const{textRuns:n=[],paragraphs:s=[]}=e;return n.length===0&&s.length===0}function Sa(t=y.generateRandomId(6),e=Ie.EN_US,n=""){return{id:t,locale:e,title:n,body:{dataStream:`\r
|
|
6
|
-
`,textRuns:[],paragraphs:[{startIndex:0,paragraphStyle:{spaceAbove:5,lineSpacing:1,spaceBelow:0}}],sectionBreaks:[{startIndex:1}]},documentStyle:{pageSize:{width:793.3333333333334,height:1122.6666666666667},marginTop:50,marginBottom:50,marginRight:40,marginLeft:40,renderConfig:{vertexAngle:0,centerAngle:0}},settings:{}}}var Bt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Na(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Gt={},Ci={},ns={};Object.defineProperty(ns,"__esModule",{value:!0});function Aa(t,e){if(Array.isArray(e))return!1;for(let n in t)if(!ss(t[n],e[n]))return!1;for(let n in e)if(t[n]===void 0)return!1;return!0}function ba(t,e){if(!Array.isArray(e)||t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(!ss(t[n],e[n]))return!1;return!0}function ss(t,e){return t===e?!0:t===null||e===null||typeof t!="object"||typeof e!="object"?!1:Array.isArray(t)?ba(t,e):Aa(t,e)}ns.default=ss;var rs={};Object.defineProperty(rs,"__esModule",{value:!0});function is(t){if(t===null)return null;if(Array.isArray(t))return t.map(is);if(typeof t=="object"){const e={};for(let n in t)e[n]=is(t[n]);return e}else return t}rs.default=is;var os={};(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.eachChildOf=t.advancer=t.readCursor=t.writeCursor=t.WriteCursor=t.ReadCursor=t.isValidPathItem=void 0;function e(d,c){if(!d)throw new Error(c)}const n=d=>d!=null&&typeof d=="object"&&!Array.isArray(d),s=(d,c)=>typeof d==typeof c?d>c:typeof d=="string"&&typeof c=="number";function r(d,c){for(let f in d){const _=f;c.write(_,d[_])}}t.isValidPathItem=d=>typeof d=="number"||typeof d=="string"&&d!=="__proto__";class i{constructor(c=null){this.parents=[],this.indexes=[],this.lcIdx=-1,this.idx=-1,this.container=c}ascend(){e(this.parents.length===this.indexes.length/2),this.idx===0?this.parents.length?(this.lcIdx=this.indexes.pop(),this.container=this.parents.pop(),this.idx=this.indexes.pop()):(this.lcIdx=0,this.idx=-1):(e(this.idx>0),this.idx--,n(this.container[this.idx])&&this.idx--)}getPath(){const c=[];let f=this.container,_=this.parents.length-1,E=this.idx;for(;E>=0;)c.unshift(f[E]),E===0?(E=this.indexes[_*2],f=this.parents[_--]):E-=n(f[E-1])?2:1;return c}}class o extends i{get(){return this.container?this.container.slice(this.idx+1):null}getKey(){return e(this.container!=null,"Invalid call to getKey before cursor descended"),this.container[this.idx]}getComponent(){let c;return this.container&&this.container.length>this.idx+1&&n(c=this.container[this.idx+1])?c:null}descendFirst(){let c=this.idx+1;if(!this.container||c>=this.container.length||n(this.container[c])&&c+1>=this.container.length)return!1;n(this.container[c])&&c++;const f=this.container[c];return Array.isArray(f)?(this.indexes.push(this.idx),this.parents.push(this.container),this.indexes.push(c),this.idx=0,this.container=f):this.idx=c,!0}nextSibling(){if(e(this.parents.length===this.indexes.length/2),this.idx>0||this.parents.length===0)return!1;const c=this.indexes[this.indexes.length-1]+1,f=this.parents[this.parents.length-1];return c>=f.length?!1:(e(!isNaN(c)),this.indexes[this.indexes.length-1]=c,this.container=f[c],!0)}_init(c,f,_,E){this.container=c,this.idx=f,this.parents=_.slice(),this.indexes=E.slice()}clone(){const c=new o;return c._init(this.container,this.idx,this.parents,this.indexes),c}*[Symbol.iterator](){if(this.descendFirst()){do yield this.getKey();while(this.nextSibling());this.ascend()}}traverse(c,f){const _=this.getComponent();_&&f(_,c);for(const E of this)c&&c.descend(E),this.traverse(c,f),c&&c.ascend()}eachPick(c,f){this.traverse(c,(_,E)=>{_.p!=null&&f(_.p,E)})}eachDrop(c,f){this.traverse(c,(_,E)=>{_.d!=null&&f(_.d,E)})}}t.ReadCursor=o;class l extends i{constructor(c=null){super(c),this.pendingDescent=[],this._op=c}flushDescent(){e(this.parents.length===this.indexes.length/2),this.container===null&&(this._op=this.container=[]);for(let c=0;c<this.pendingDescent.length;c++){const f=this.pendingDescent[c];let _=this.idx+1;if(_<this.container.length&&n(this.container[_])&&_++,e(_===this.container.length||!n(this.container[_])),_===this.container.length)this.container.push(f),this.idx=_;else if(this.container[_]===f)this.idx=_;else{if(!Array.isArray(this.container[_])){const E=this.container.splice(_,this.container.length-_);this.container.push(E),this.lcIdx>-1&&(this.lcIdx=_)}for(this.indexes.push(this.idx),this.parents.push(this.container),this.lcIdx!==-1&&(e(s(f,this.container[this.lcIdx][0])),_=this.lcIdx+1,this.lcIdx=-1);_<this.container.length&&s(f,this.container[_][0]);)_++;if(this.indexes.push(_),this.idx=0,_<this.container.length&&this.container[_][0]===f)this.container=this.container[_];else{const E=[f];this.container.splice(_,0,E),this.container=E}}}this.pendingDescent.length=0}reset(){this.lcIdx=-1}getComponent(){this.flushDescent();const c=this.idx+1;if(c<this.container.length&&n(this.container[c]))return this.container[c];{const f={};return this.container.splice(c,0,f),f}}write(c,f){const _=this.getComponent();e(_[c]==null||_[c]===f,"Internal consistency error: Overwritten component. File a bug"),_[c]=f}get(){return this._op}descend(c){if(!t.isValidPathItem(c))throw Error("Invalid JSON key");this.pendingDescent.push(c)}descendPath(c){return this.pendingDescent.push(...c),this}ascend(){this.pendingDescent.length?this.pendingDescent.pop():super.ascend()}mergeTree(c,f=r){if(c===null)return;if(e(Array.isArray(c)),c===this._op)throw Error("Cannot merge into my own tree");const _=this.lcIdx,E=this.parents.length;let R=0;for(let H=0;H<c.length;H++){const k=c[H];typeof k=="string"||typeof k=="number"?(R++,this.descend(k)):Array.isArray(k)?this.mergeTree(k,f):typeof k=="object"&&f(k,this)}for(;R--;)this.ascend();this.lcIdx=this.parents.length===E?_:-1}at(c,f){this.descendPath(c),f(this);for(let _=0;_<c.length;_++)this.ascend();return this}writeAtPath(c,f,_){return this.at(c,()=>this.write(f,_)),this.reset(),this}writeMove(c,f,_=0){return this.writeAtPath(c,"p",_).writeAtPath(f,"d",_)}getPath(){const c=super.getPath();return c.push(...this.pendingDescent),c}}t.WriteCursor=l,t.writeCursor=()=>new l,t.readCursor=d=>new o(d);function a(d,c,f){let _,E;E=_=d?d.descendFirst():!1;function R(H){let k;for(;E;){const et=k=d.getKey();if(H!=null){let mt=!1;if(c&&typeof et=="number"&&(k=c(et,d.getComponent()),k<0&&(k=~k,mt=!0)),s(k,H))return null;if(k===H&&!mt)return d}f&&typeof k=="number"&&f(k,d.getComponent()),E=d.nextSibling()}return null}return R.end=()=>{_&&d.ascend()},R}t.advancer=a;function h(d,c,f){let _,E,R,H;for(_=E=d&&d.descendFirst(),R=H=c&&c.descendFirst();_||R;){let k=_?d.getKey():null,et=R?c.getKey():null;k!==null&&et!==null&&(s(et,k)?et=null:k!==et&&(k=null)),f(k==null?et:k,k!=null?d:null,et!=null?c:null),k!=null&&_&&(_=d.nextSibling()),et!=null&&R&&(R=c.nextSibling())}E&&d.ascend(),H&&c.ascend()}t.eachChildOf=h})(os);var ls={};(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ConflictType=void 0,function(e){e[e.RM_UNEXPECTED_CONTENT=1]="RM_UNEXPECTED_CONTENT",e[e.DROP_COLLISION=2]="DROP_COLLISION",e[e.BLACKHOLE=3]="BLACKHOLE"}(t.ConflictType||(t.ConflictType={}))})(ls);var as={},be={},pi;function us(){return pi||(pi=1,Object.defineProperty(be,"__esModule",{value:!0}),be.uniToStrPos=be.strPosToUni=void 0,be.strPosToUni=(t,e=t.length)=>{let n=0,s=0;for(;s<e;s++){const r=t.charCodeAt(s);r>=55296&&r<=57343&&(n++,s++)}if(s!==e)throw Error("Invalid offset - splits unicode bytes");return s-n},be.uniToStrPos=(t,e)=>{let n=0;for(;e>0;e--){const s=t.charCodeAt(n);n+=s>=55296&&s<=57343?2:1}return n}),be}var cs={},Ii;function hs(){return Ii||(Ii=1,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.uniSlice=t.dlen=t.eachOp=void 0;const e=us(),n=C=>{if(!Array.isArray(C))throw Error("Op must be an array of components");let S=null;for(let w=0;w<C.length;w++){const q=C[w];switch(typeof q){case"object":if(typeof q.d!="number"&&typeof q.d!="string")throw Error("Delete must be number or string");if(t.dlen(q.d)<=0)throw Error("Deletes must not be empty");break;case"string":if(!(q.length>0))throw Error("Inserts cannot be empty");break;case"number":if(!(q>0))throw Error("Skip components must be >0");if(typeof S=="number")throw Error("Adjacent skip components should be combined");break}S=q}if(typeof S=="number")throw Error("Op has a trailing skip")};function s(C,S){let w=0,q=0;for(let st=0;st<C.length;st++){const J=C[st];switch(S(J,w,q),typeof J){case"object":w+=t.dlen(J.d);break;case"string":q+=e.strPosToUni(J);break;case"number":w+=J,q+=J;break}}}t.eachOp=s;function r(C,S){const w=[],q=l(w);return s(C,(st,J,Yt)=>{q(S(st,J,Yt))}),c(w)}const i=C=>C,o=C=>r(C,i);t.dlen=C=>typeof C=="number"?C:e.strPosToUni(C);const l=C=>S=>{if(!(!S||S.d===0||S.d===""))if(C.length===0)C.push(S);else if(typeof S==typeof C[C.length-1])if(typeof S=="object"){const w=C[C.length-1];w.d=typeof w.d=="string"&&typeof S.d=="string"?w.d+S.d:t.dlen(w.d)+t.dlen(S.d)}else C[C.length-1]+=S;else C.push(S)},a=C=>typeof C=="number"?C:typeof C=="string"?e.strPosToUni(C):typeof C.d=="number"?C.d:e.strPosToUni(C.d);t.uniSlice=(C,S,w)=>{const q=e.uniToStrPos(C,S),st=w==null?1/0:e.uniToStrPos(C,w);return C.slice(q,st)};const h=(C,S,w)=>typeof C=="number"?w==null?C-S:Math.min(C,w)-S:t.uniSlice(C,S,w),d=C=>{let S=0,w=0;return{take:(J,Yt)=>{if(S===C.length)return J===-1?null:J;const bt=C[S];let _t;if(typeof bt=="number")return J===-1||bt-w<=J?(_t=bt-w,++S,w=0,_t):(w+=J,J);if(typeof bt=="string"){if(J===-1||Yt==="i"||e.strPosToUni(bt.slice(w))<=J)return _t=bt.slice(w),++S,w=0,_t;{const Ot=w+e.uniToStrPos(bt.slice(w),J);return _t=bt.slice(w,Ot),w=Ot,_t}}else{if(J===-1||Yt==="d"||t.dlen(bt.d)-w<=J)return _t={d:h(bt.d,w)},++S,w=0,_t;{let Ot=h(bt.d,w,w+J);return w+=J,{d:Ot}}}},peek:()=>C[S]}},c=C=>(C.length>0&&typeof C[C.length-1]=="number"&&C.pop(),C);function f(C,S,w){if(w!=="left"&&w!=="right")throw Error("side ("+w+") must be 'left' or 'right'");n(C),n(S);const q=[],st=l(q),{take:J,peek:Yt}=d(C);for(let _t=0;_t<S.length;_t++){const Ot=S[_t];let Ut,zt;switch(typeof Ot){case"number":for(Ut=Ot;Ut>0;)zt=J(Ut,"i"),st(zt),typeof zt!="string"&&(Ut-=a(zt));break;case"string":w==="left"&&typeof Yt()=="string"&&st(J(-1)),st(e.strPosToUni(Ot));break;case"object":for(Ut=t.dlen(Ot.d);Ut>0;)switch(zt=J(Ut,"i"),typeof zt){case"number":Ut-=zt;break;case"string":st(zt);break;case"object":Ut-=t.dlen(zt.d)}break}}let bt;for(;bt=J(-1);)st(bt);return c(q)}function _(C,S){n(C),n(S);const w=[],q=l(w),{take:st}=d(C);for(let Yt=0;Yt<S.length;Yt++){const bt=S[Yt];let _t,Ot;switch(typeof bt){case"number":for(_t=bt;_t>0;)Ot=st(_t,"d"),q(Ot),typeof Ot!="object"&&(_t-=a(Ot));break;case"string":q(bt);break;case"object":_t=t.dlen(bt.d);let Ut=0;for(;Ut<_t;)switch(Ot=st(_t-Ut,"d"),typeof Ot){case"number":q({d:h(bt.d,Ut,Ut+Ot)}),Ut+=Ot;break;case"string":Ut+=e.strPosToUni(Ot);break;case"object":q(Ot)}break}}let J;for(;J=st(-1);)q(J);return c(w)}const E=(C,S)=>{let w=0;for(let q=0;q<S.length&&C>w;q++){const st=S[q];switch(typeof st){case"number":{w+=st;break}case"string":const J=e.strPosToUni(st);w+=J,C+=J;break;case"object":C-=Math.min(t.dlen(st.d),C-w);break}}return C},R=(C,S)=>typeof C=="number"?E(C,S):C.map(w=>E(w,S));function H(C,S,w){return r(C,(q,st)=>typeof q=="object"&&typeof q.d=="number"?{d:w.slice(S,st,st+q.d)}:q)}function k(C){return r(C,S=>{switch(typeof S){case"object":if(typeof S.d=="number")throw Error("Cannot invert text op: Deleted characters missing from operation. makeInvertible must be called first.");return S.d;case"string":return{d:S};case"number":return S}})}function et(C){return r(C,S=>typeof S=="object"&&typeof S.d=="string"?{d:e.strPosToUni(S.d)}:S)}function mt(C){let S=!0;return s(C,w=>{typeof w=="object"&&typeof w.d=="number"&&(S=!1)}),S}function ft(C){return{name:"text-unicode",uri:"http://sharejs.org/types/text-unicode",trim:c,normalize:o,checkOp:n,create(S=""){if(typeof S!="string")throw Error("Initial data must be a string");return C.create(S)},apply(S,w){n(w);const q=C.builder(S);for(let st=0;st<w.length;st++){const J=w[st];switch(typeof J){case"number":q.skip(J);break;case"string":q.append(J);break;case"object":q.del(t.dlen(J.d));break}}return q.build()},transform:f,compose:_,transformPosition:E,transformSelection:R,isInvertible:mt,makeInvertible(S,w){return H(S,w,C)},stripInvertible:et,invert:k,invertWithDoc(S,w){return k(H(S,w,C))},isNoop:S=>S.length===0}}t.default=ft}(cs)),cs}var An={},Oi;function va(){if(Oi)return An;Oi=1,Object.defineProperty(An,"__esModule",{value:!0});const t=hs(),e=us();function n(s,r){return{get:s,getLength(){return s().length},insert(i,o,l){const a=e.strPosToUni(s(),i);return r([a,o],l)},remove(i,o,l){const a=e.strPosToUni(s(),i);return r([a,{d:o}],l)},_onOp(i){t.eachOp(i,(o,l,a)=>{switch(typeof o){case"string":this.onInsert&&this.onInsert(a,o);break;case"object":const h=t.dlen(o.d);this.onRemove&&this.onRemove(a,h)}})},onInsert:null,onRemove:null}}return An.default=n,n.provides={text:!0},An}var Si;function wa(){return Si||(Si=1,function(t){var e=Bt&&Bt.__createBinding||(Object.create?function(f,_,E,R){R===void 0&&(R=E),Object.defineProperty(f,R,{enumerable:!0,get:function(){return _[E]}})}:function(f,_,E,R){R===void 0&&(R=E),f[R]=_[E]}),n=Bt&&Bt.__setModuleDefault||(Object.create?function(f,_){Object.defineProperty(f,"default",{enumerable:!0,value:_})}:function(f,_){f.default=_}),s=Bt&&Bt.__importStar||function(f){if(f&&f.__esModule)return f;var _={};if(f!=null)for(var E in f)Object.hasOwnProperty.call(f,E)&&e(_,f,E);return n(_,f),_},r=Bt&&Bt.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(t,"__esModule",{value:!0}),t.type=t.remove=t.insert=void 0;const i=us(),o=s(hs()),l=r(va()),a={create(f){return f},toString(f){return f},builder(f){if(typeof f!="string")throw Error("Invalid document snapshot: "+f);const _=[];return{skip(E){let R=i.uniToStrPos(f,E);if(R>f.length)throw Error("The op is too long for this document");_.push(f.slice(0,R)),f=f.slice(R)},append(E){_.push(E)},del(E){f=f.slice(i.uniToStrPos(f,E))},build(){return _.join("")+f}}},slice:o.uniSlice},h=o.default(a),d=Object.assign(Object.assign({},h),{api:l.default});t.type=d,t.insert=(f,_)=>_.length===0?[]:f===0?[_]:[f,_],t.remove=(f,_)=>o.dlen(_)===0?[]:f===0?[{d:_}]:[f,{d:_}];var c=hs();Object.defineProperty(t,"makeType",{enumerable:!0,get:function(){return c.default}})}(as)),as}(function(t){var e=Bt&&Bt.__importDefault||function(m){return m&&m.__esModule?m:{default:m}};Object.defineProperty(t,"__esModule",{value:!0}),t.editOp=t.replaceOp=t.insertOp=t.moveOp=t.removeOp=t.type=void 0;const n=e(ns),s=e(rs),r=os,i=ls;function o(m,p){if(!m)throw new Error(p)}t.type={name:"json1",uri:"http://sharejs.org/types/JSONv1",readCursor:r.readCursor,writeCursor:r.writeCursor,create:m=>m,isNoop:m=>m==null,setDebug(m){},registerSubtype:k,checkValidOp:st,normalize:J,apply:Yt,transformPosition:bt,compose:_t,tryTransform:ws,transform:ac,makeInvertible:zt,invert:Ot,invertWithDoc:lc,RM_UNEXPECTED_CONTENT:i.ConflictType.RM_UNEXPECTED_CONTENT,DROP_COLLISION:i.ConflictType.DROP_COLLISION,BLACKHOLE:i.ConflictType.BLACKHOLE,transformNoConflict:(m,p,A)=>So(()=>!0,m,p,A),typeAllowingConflictsPred:m=>Object.assign(Object.assign({},t.type),{transform:(p,A,U)=>So(m,p,A,U)})};const l=m=>m?m.getComponent():null;function a(m){return m&&typeof m=="object"&&!Array.isArray(m)}const h=m=>Array.isArray(m)?m.slice():m!==null&&typeof m=="object"?Object.assign({},m):m,d=m=>m&&(m.p!=null||m.r!==void 0),c=m=>m&&(m.d!=null||m.i!==void 0);function f(m,p){return o(m!=null),typeof p=="number"?(o(Array.isArray(m),"Invalid key - child is not an array"),(m=m.slice()).splice(p,1)):(o(a(m),"Invalid key - child is not an object"),delete(m=Object.assign({},m))[p]),m}function _(m,p,A){return typeof p=="number"?(o(m!=null,"Container is missing for key"),o(Array.isArray(m),"Cannot use numerical key for object container"),o(m.length>=p,"Cannot insert into out of bounds index"),m.splice(p,0,A)):(o(a(m),"Cannot insert into missing item"),o(m[p]===void 0,"Trying to overwrite value at key. Your op needs to remove it first"),m[p]=A),A}t.removeOp=(m,p=!0)=>r.writeCursor().writeAtPath(m,"r",p).get(),t.moveOp=(m,p)=>r.writeCursor().writeMove(m,p).get(),t.insertOp=(m,p)=>r.writeCursor().writeAtPath(m,"i",p).get(),t.replaceOp=(m,p,A)=>r.writeCursor().at(m,U=>{U.write("r",p),U.write("i",A)}).get(),t.editOp=(m,p,A,U=!1)=>r.writeCursor().at(m,b=>S(b,p,A,U)).get();const E=(m,p)=>m!=null&&(typeof p=="number"?Array.isArray(m):typeof m=="object"),R=(m,p)=>E(m,p)?m[p]:void 0,H={};function k(m){let p=m.type?m.type:m;p.name&&(H[p.name]=p),p.uri&&(H[p.uri]=p)}const et=m=>{const p=H[m];if(p)return p;throw Error("Missing type: "+m)};k(wa());const mt=(m,p)=>m+p;k({name:"number",apply:mt,compose:mt,invert:m=>-m,transform:m=>m});const ft=m=>m==null?null:m.et?et(m.et):m.es?H["text-unicode"]:m.ena!=null?H.number:null,C=m=>m.es?m.es:m.ena!=null?m.ena:m.e,S=(m,p,A,U=!1)=>{const[b,M]=typeof p=="string"?[et(p),p]:[p,p.name];!U&&b.isNoop&&b.isNoop(A)||(M==="number"?m.write("ena",A):M==="text-unicode"?m.write("es",A):(m.write("et",M),m.write("e",A)))};function w(m){o(typeof m=="number"),o(m>=0),o(m===(0|m))}function q(m){typeof m=="number"?w(m):o(typeof m=="string")}function st(m){if(m===null)return;const p=new Set,A=new Set,U=M=>{let j=!0,G=!1;for(let I in M){const N=M[I];if(j=!1,o(I==="p"||I==="r"||I==="d"||I==="i"||I==="e"||I==="es"||I==="ena"||I==="et","Invalid component item '"+I+"'"),I==="p")w(N),o(!p.has(N)),p.add(N),o(M.r===void 0);else if(I==="d")w(N),o(!A.has(N)),A.add(N),o(M.i===void 0);else if(I==="e"||I==="es"||I==="ena"){o(!G),G=!0;const v=ft(M);o(v,"Missing type in edit"),v.checkValidOp&&v.checkValidOp(C(M))}}o(!j)},b=(M,j,G)=>{if(!Array.isArray(M))throw Error("Op must be null or a list");if(M.length===0)throw Error("Empty descent");j||q(M[0]);let I=1,N=0,v=0;for(let T=0;T<M.length;T++){const x=M[T];if(o(x!=null),Array.isArray(x)){const K=b(x,!1);if(N){const O=typeof v,$=typeof K;O===$?o(v<K,"descent keys are not in order"):o(O==="number"&&$==="string")}v=K,N++,I=3}else typeof x=="object"?(o(I===1,`Prev not scalar - instead ${I}`),U(x),I=2):(o(I!==3),q(x),o(r.isValidPathItem(x),"Invalid path key"),I=1)}return o(N!==1,"Operation makes multiple descents. Remove some []"),o(I===2||I===3),M[0]};b(m,!0),o(p.size===A.size,"Mismatched picks and drops in op");for(let M=0;M<p.size;M++)o(p.has(M)),o(A.has(M))}function J(m){let p=0,A=[];const U=r.writeCursor();return U.mergeTree(m,(b,M)=>{const j=ft(b);if(j){const I=C(b);S(M,j,j.normalize?j.normalize(I):I)}for(const I of["r","p","i","d"])if(b[I]!==void 0){const N=I==="p"||I==="d"?(G=b[I],A[G]==null&&(A[G]=p++),A[G]):b[I];M.write(I,N)}var G}),U.get()}function Yt(m,p){if(st(p),p===null)return m;const A=[];return function U(b,M){let j=b,G=0,I={root:b},N=0,v=I,T="root";function x(){for(;N<G;N++){let K=M[N];typeof K!="object"&&(o(E(v,T)),v=v[T]=h(v[T]),T=K)}}for(;G<M.length;G++){const K=M[G];if(Array.isArray(K)){const O=U(j,K);O!==j&&O!==void 0&&(x(),j=v[T]=O)}else if(typeof K=="object"){K.d!=null?(x(),j=_(v,T,A[K.d])):K.i!==void 0&&(x(),j=_(v,T,K.i));const O=ft(K);if(O)x(),j=v[T]=O.apply(j,C(K));else if(K.e!==void 0)throw Error("Subtype "+K.et+" undefined")}else j=R(j,K)}return I.root}(m=function U(b,M){const j=[];let G=0;for(;G<M.length;G++){const T=M[G];if(Array.isArray(T))break;typeof T!="object"&&(j.push(b),b=R(b,T))}for(let T=M.length-1;T>=G;T--)b=U(b,M[T]);for(--G;G>=0;G--){const T=M[G];if(typeof T!="object"){const x=j.pop();b=b===R(x,T)?x:b===void 0?f(x,T):(N=T,v=b,(I=h(I=x))[N]=v,I)}else d(T)&&(o(b!==void 0,"Cannot pick up or remove undefined"),T.p!=null&&(A[T.p]=b),b=void 0)}var I,N,v;return b}(m,p),p)}function bt(m,p){m=m.slice(),st(p);const A=r.readCursor(p);let U,b,M=!1;const j=[];for(let I=0;;I++){const N=m[I],v=A.getComponent();if(v&&(v.r!==void 0?M=!0:v.p!=null&&(M=!1,U=v.p,b=I)),I>=m.length)break;let T=0;const x=r.advancer(A,void 0,(O,$)=>{d($)&&T++});j.unshift(x);const K=x(N);if(typeof N=="number"&&(m[I]-=T),!K)break}if(j.forEach(I=>I.end()),M)return null;const G=()=>{let I=0;if(U!=null){const N=A.getPath();I=N.length,m=N.concat(m.slice(b))}for(;I<m.length;I++){const N=m[I],v=l(A),T=ft(v);if(T){const O=C(v);T.transformPosition&&(m[I]=T.transformPosition(m[I],O));break}let x=0;const K=r.advancer(A,(O,$)=>c($)?~(O-x):O-x,(O,$)=>{c($)&&x++})(N);if(typeof N=="number"&&(m[I]+=x),!K)break}};return U!=null?A.eachDrop(null,I=>{I===U&&G()}):G(),m}function _t(m,p){if(st(m),st(p),m==null)return p;if(p==null)return m;let A=0;const U=r.readCursor(m),b=r.readCursor(p),M=r.writeCursor(),j=[],G=[],I=[],N=[],v=[],T=[],x=new Set;U.traverse(null,O=>{O.p!=null&&(I[O.p]=U.clone())}),b.traverse(null,O=>{O.d!=null&&(N[O.d]=b.clone())});const K=r.writeCursor();return function O($,gt,ct,Z,Rt,ue,Ht,Lt){o(gt||ct);const Ct=l(gt),Xt=l(ct),Qt=!!Xt&&Xt.r!==void 0,Te=!!Ct&&Ct.i!==void 0,qt=Ct?Ct.d:null,xt=Xt?Xt.p:null,ce=(ue||Qt)&&xt==null;if(xt!=null)Z=N[xt],Ht=G[xt]=new r.WriteCursor;else if(Xt&&Xt.r!==void 0)Z=null;else{const D=l(Z);D&&D.d!=null&&(Z=null)}const lt=l(Z);if(qt!=null)if($=I[qt],Lt=j[qt]=new r.WriteCursor,ce)ue&&!Qt&&Lt.write("r",!0);else{const D=v[qt]=A++;Ht.write("d",D)}else if(Ct&&Ct.i!==void 0)$=null;else{const D=l($);D&&D.p!=null&&($=null)}let P;Te?(o(Rt===void 0),P=Ct.i):P=Rt;const z=(xt==null?!Te||ue||Qt:P===void 0)?null:Ht.getComponent();if(xt!=null){if(!(Rt!==void 0||Te)){const D=qt!=null?v[qt]:A++;T[xt]=D,Lt.write("p",D)}}else Qt&&(Te||Rt!==void 0||(Xt.r,Lt.write("r",Xt.r)));const F=ce?null:ft(Ct),L=ft(lt);if((F||L)&&(F&&F.name,L&&L.name),F&&L){o(F===L);const D=C(Ct),X=C(lt),Tt=F.compose(D,X);S(Ht,F,Tt),x.add(lt)}else F?S(Ht,F,C(Ct)):L&&(S(Ht,L,C(lt)),x.add(lt));const W=typeof P=="object"&&P!=null;let rt=!1,it=0,at=0,wt=0,vt=0,pt=0;const Pt=r.advancer(Z,(D,X)=>c(X)?vt-D-1:D-vt,(D,X)=>{c(X)&&vt++}),nt=r.advancer($,(D,X)=>d(X)?it-D-1:D-it,(D,X)=>{d(X)&&it++});if(r.eachChildOf(gt,ct,(D,X,Tt)=>{let Ft,he,Me=D,te=D,rn=D;if(typeof D=="number"){let Dt=D+wt;he=Pt(Dt),te=Dt+vt;let St=D+at;Ft=nt(St),c(l(he))&&(Ft=null),Me=St+it,rn=D+pt,o(Me>=0,"p1PickKey is negative"),o(te>=0,"p2DropKey is negative");const ee=c(l(X)),de=d(l(Tt));(ee||de&&!ce)&&pt--,ee&&at--,de&&wt--}else Ft=nt(D),he=Pt(D);Lt.descend(Me),Ht.descend(te);const We=W&&!c(l(X))?P[rn]:void 0,re=O(Ft,X,Tt,he,We,ce,Ht,Lt);var ie,B,Et;W&&!ce?We!==re&&(rt||(P=Array.isArray(P)?P.slice():Object.assign({},P),rt=!0),ie=P,Et=re,typeof(B=rn)=="number"?(o(Array.isArray(ie)),o(B<ie.length)):(o(!Array.isArray(ie)),o(ie[B]!==void 0)),Et===void 0?typeof B=="number"?ie.splice(B,1):delete ie[B]:ie[B]=Et):o(re===void 0),Ht.ascend(),Lt.ascend()}),nt.end(),Pt.end(),z!=null)z.i=P;else if(!ue&&!Qt&&xt==null)return P}(U,U.clone(),b,b.clone(),void 0,!1,M,K),M.reset(),M.mergeTree(K.get()),M.reset(),M.get(),j.map(O=>O.get()),G.map(O=>O.get()),U.traverse(M,(O,$)=>{const gt=O.p;if(gt!=null){const ct=v[gt];ct!=null&&$.write("p",ct);const Z=j[gt];Z&&Z.get(),Z&&$.mergeTree(Z.get())}else O.r!==void 0&&$.write("r",O.r)}),M.reset(),M.get(),b.traverse(M,(O,$)=>{const gt=O.d;if(gt!=null){const Z=T[gt];Z!=null&&$.write("d",Z);const Rt=G[gt];Rt&&$.mergeTree(Rt.get())}else O.i!==void 0&&$.write("i",O.i);const ct=ft(O);ct&&!x.has(O)&&S($,ct,C(O))}),M.get()}function Ot(m){if(m==null)return null;const p=new r.ReadCursor(m),A=new r.WriteCursor;let U;const b=[],M=[];return function j(G,I,N){const v=G.getComponent();let T,x=!1;if(v){v.p!=null&&(I.write("d",v.p),b[v.p]=G.clone()),v.r!==void 0&&I.write("i",v.r),v.d!=null&&(I.write("p",v.d),N=void 0),v.i!==void 0&&(N=T=v.i);const O=ft(v);O&&(N===void 0?(U||(U=new Set),U.add(v)):(C(v),N=O.apply(N,C(v)),x=!0))}let K=0;for(const O of G){I.descend(O);const $=typeof O=="number"?O-K:O,gt=R(N,$);c(G.getComponent())&&K++;const ct=j(G,I,gt);if(N!==void 0&&ct!==void 0){if(x||(x=!0,N=h(N)),!E(N,$))throw Error("Cannot modify child - invalid operation");N[$]=ct}I.ascend()}if(T===void 0)return x?N:void 0;I.write("r",N)}(p,A,void 0),U&&(A.reset(),function j(G,I,N){const v=I.getComponent();if(v){const O=v.d;if(O!=null&&(G=b[O],N=M[O]=r.writeCursor()),U.has(v)){const $=ft(v);if(!$.invert)throw Error(`Cannot invert subtype ${$.name}`);S(N,$,$.invert(C(v)))}}let T=0,x=0;const K=r.advancer(G,(O,$)=>d($)?T-O-1:O-T,(O,$)=>{d($)&&T++});for(const O of I)if(typeof O=="number"){const $=O-x,gt=K($),ct=$+T;N.descend(ct),j(gt,I,N),c(I.getComponent())&&x++,N.ascend()}else N.descend(O),j(K(O),I,N),N.ascend();K.end()}(p.clone(),p,A),M.length&&(A.reset(),p.traverse(A,(j,G)=>{const I=j.p;if(I!=null){const N=M[I];N&&N.get(),N&&G.mergeTree(N.get())}}))),A.get()}const Ut=(m,p)=>m.some(A=>typeof A=="object"&&(Array.isArray(A)?Ut(A,p):p(A)));function zt(m,p){if(m==null||!Ut(m,I=>{var N;return I.r!==void 0||((N=ft(I))===null||N===void 0?void 0:N.makeInvertible)!=null}))return m;const A=new r.ReadCursor(m),U=new r.WriteCursor;let b=!1;const M=[],j=[],G=(I,N,v)=>{const T=I.getComponent();let x=!1;if(T){T.d!=null&&N.write("d",T.d),T.i!==void 0&&N.write("i",T.i);const O=T.p;if(O!=null&&(M[O]=I.clone(),o(v!==void 0,"Operation picks up at an invalid key"),j[O]=v,N.write("p",T.p)),T.r!==void 0&&v===void 0)throw Error("Invalid doc / op in makeInvertible: removed item missing from doc");const $=ft(T);$&&($.makeInvertible?b=!0:S(N,$,C(T),!0))}let K=0;for(const O of I){N.descend(O);const $=typeof O=="number"?O-K:O,gt=R(v,$),ct=G(I,N,gt);gt!==ct&&(x||(x=!0,v=h(v)),ct===void 0?(v=f(v,$),typeof O=="number"&&K++):v[$]=ct),N.ascend()}return T&&(T.r!==void 0?(N.write("r",s.default(v)),v=void 0):T.p!=null&&(v=void 0)),v};return G(A,U,p),U.get(),b&&(U.reset(),function I(N,v,T,x,K){const O=v.getComponent();if(O){O.i!==void 0?(x=O.i,K=!0):O.d!=null&&(x=j[O.d],N=M[O.d],K=!1,O.d);let Z=ft(O);if(Z&&Z.makeInvertible){const Rt=C(O);S(T,Z,Z.makeInvertible(Rt,x),!0)}}let $=0,gt=0;const ct=r.advancer(N,(Z,Rt)=>d(Rt)?$-Z-1:Z-$,(Z,Rt)=>{d(Rt)&&$++});for(const Z of v)if(typeof Z=="number"){const Rt=Z-gt,ue=ct(Rt),Ht=Rt+$,Lt=R(x,K?Rt:Ht);T.descend(Z),I(ue,v,T,Lt,K),c(v.getComponent())&>++,T.ascend()}else{const Rt=R(x,Z);T.descend(Z),I(ct(Z),v,T,Rt,K),T.ascend()}ct.end()}(A.clone(),A,U,p,!1)),U.get()}function lc(m,p){return Ot(zt(m,p))}const vs=m=>{if(m==null)return null;const p=m.slice();for(let A=0;A<m.length;A++){const U=p[A];Array.isArray(U)&&(p[A]=vs(U))}return p};function ws(m,p,A){o(A==="left"||A==="right","Direction must be left or right");const U=A==="left"?0:1;if(p==null)return{ok:!0,result:m};st(m),st(p);let b=null;const M=[],j=[],G=[],I=[],N=[],v=[],T=[],x=[],K=[],O=[],$=[],gt=[],ct=[],Z=[],Rt=[];let ue=0;const Ht=r.readCursor(m),Lt=r.readCursor(p),Ct=r.writeCursor();if(function lt(P,z=null,F){const L=l(z);L&&(L.r!==void 0?F=z.clone():L.p!=null&&(F=null,v[L.p]=P.clone()));const W=P.getComponent();let rt;W&&(rt=W.p)!=null&&(N[rt]=z?z.clone():null,G[rt]=P.clone(),F&&(O[rt]=!0,K[rt]=F),L&&L.p!=null&&(Z[rt]=L.p));const it=r.advancer(z);for(const at of P)lt(P,it(at),F);it.end()}(Lt,Ht,null),function lt(P,z,F,L,W){const rt=F.getComponent();let it,at=!1;rt&&((it=rt.d)!=null?(I[it]=F.clone(),L!=null&&(Rt[L]==null&&(Rt[L]=[]),Rt[L].push(it)),P=N[it]||null,z=G[it]||null,O[it]?(W&&($[it]=!0),W=K[it]||null):!W||U!==1&&Z[it]!=null||b==null&&(b={type:i.ConflictType.RM_UNEXPECTED_CONTENT,op1:t.removeOp(W.getPath()),op2:t.moveOp(z.getPath(),F.getPath())}),at=!0):rt.i!==void 0&&(P=z=null,at=!0,W&&b==null&&(b={type:i.ConflictType.RM_UNEXPECTED_CONTENT,op1:t.removeOp(W.getPath()),op2:t.insertOp(F.getPath(),rt.i)})));const wt=l(P);wt&&(wt.r!==void 0?W=P.clone():wt.p!=null&&(wt.p,L=wt.p,W=null));const vt=ft(rt);vt&&W&&b==null&&(b={type:i.ConflictType.RM_UNEXPECTED_CONTENT,op1:t.removeOp(W.getPath()),op2:t.editOp(F.getPath(),vt,C(rt),!0)});let pt=0,Pt=0;const nt=r.advancer(z,(X,Tt)=>d(Tt)?pt-X-1:X-pt,(X,Tt)=>{d(Tt)&&pt++}),D=r.advancer(P);for(const X of F)if(typeof X=="number"){const Tt=X-Pt,Ft=nt(Tt);Pt+=+lt(D(Tt+pt),Ft,F,L,W)}else{const Tt=nt(X);lt(D(X),Tt,F,L,W)}return nt.end(),D.end(),at}(Ht,Lt,Lt.clone(),null,null),I.map(lt=>lt&<.get()),b)return{ok:!1,conflict:b};$.map(lt=>!!lt);const Xt=[];let Qt=null;(function lt(P,z,F,L,W){let rt=!1;const it=l(z);if(d(it)){const nt=it.p;nt!=null?(F=I[nt],L=gt[nt]=r.writeCursor(),rt=!0,W=null):(F=null,W=z.clone())}else c(l(F))&&(F=null);const at=P.getComponent();if(at){const nt=at.p;nt!=null?(W&&(x[nt]=W),Xt[nt]=W||U===1&&rt?null:L.getComponent(),M[nt]=P.clone(),F&&(T[nt]=F.clone())):at.r!==void 0&&(W||L.write("r",!0),(W||rt)&&(Qt==null&&(Qt=new Set),Qt.add(at)))}let wt=0,vt=0;const pt=r.advancer(z,void 0,(nt,D)=>{d(D)&&wt++}),Pt=r.advancer(F,(nt,D)=>c(D)?~(nt-vt):nt-vt,(nt,D)=>{c(D)&&vt++});if(P)for(const nt of P)if(typeof nt=="string"){const D=pt(nt),X=Pt(nt);L.descend(nt),lt(P,D,X,L,W),L.ascend()}else{const D=pt(nt),X=nt-wt,Tt=d(l(D))?null:Pt(X),Ft=X+vt;o(Ft>=0),L.descend(Ft),lt(P,D,Tt,L,W),L.ascend()}pt.end(),Pt.end()})(Ht,Lt,Lt.clone(),Ct,null),Ct.reset();let Te=[];if(function lt(P,z,F,L,W,rt){o(z);const it=z.getComponent();let at=l(L),wt=!1;const vt=(B,Et,Dt)=>B?t.moveOp(B.getPath(),Et.getPath()):t.insertOp(Et.getPath(),Dt.i);if(c(it)){const B=it.d;B!=null&&(j[B]=z.clone());const Et=B!=null?Xt[B]:null;let Dt=!1;if(it.i!==void 0||B!=null&&Et){let St;at&&(at.i!==void 0||(St=at.d)!=null&&!O[St])&&(Dt=St!=null?B!=null&&B===Z[St]:n.default(at.i,it.i),Dt||St!=null&&U!==1&&Z[St]!=null||b==null&&(b={type:i.ConflictType.DROP_COLLISION,op1:vt(B!=null?M[B]:null,z,it),op2:vt(St!=null?G[St]:null,L,at)})),Dt||(rt?b==null&&(b={type:i.ConflictType.RM_UNEXPECTED_CONTENT,op1:vt(B!=null?M[B]:null,z,it),op2:t.removeOp(rt.getPath())}):(B!=null?(Te[ue]=B,W.write("d",Et.p=ue++)):W.write("i",s.default(it.i)),wt=!0))}else if(B!=null&&!Et){const St=x[B];St&&(rt=St.clone())}B!=null?(P=M[B],F=v[B],L=T[B]):it.i!==void 0&&(P=F=null,Dt||(L=null))}else d(l(P))&&(P=F=L=null);const pt=l(P),Pt=l(F);if(d(Pt)){const B=Pt.p;Pt.r!==void 0&&(!pt||pt.r===void 0)||O[B]?(L=null,rt=F.clone()):B!=null&&(L=I[B],U!==1&&Z[B]!=null||((W=ct[B])||(W=ct[B]=r.writeCursor()),W.reset(),rt=null))}else!c(it)&&c(at)&&(L=null);at=L!=null?L.getComponent():null;const nt=ft(it);if(nt){const B=C(it);if(rt)b==null&&(b={type:i.ConflictType.RM_UNEXPECTED_CONTENT,op1:t.editOp(z.getPath(),nt,B,!0),op2:t.removeOp(rt.getPath())});else{const Et=ft(at);let Dt;if(Et){if(nt!==Et)throw Error("Transforming incompatible types");const St=C(at);Dt=nt.transform(B,St,A)}else Dt=s.default(B);S(W,nt,Dt)}}let D=0,X=0,Tt=0,Ft=0,he=0,Me=0,te=P!=null&&P.descendFirst(),rn=te;const We=r.advancer(F,void 0,(B,Et)=>{d(Et)&&Tt++});let re=L!=null&&L.descendFirst(),ie=re;for(const B of z)if(typeof B=="number"){let Et;const Dt=c(z.getComponent()),St=B-X;{let pe;for(;te&&typeof(pe=P.getKey())=="number";){pe+=D;const ne=P.getComponent(),Be=d(ne);if(pe>St||pe===St&&(!Be||U===0&&Dt))break;if(Be){D--;const Ue=ne.p;Z.includes(Ue),ne.d,l(ct[ne.d]),d(l(ct[ne.d])),(ne.r===void 0||Qt&&Qt.has(ne))&&(Ue==null||!Xt[Ue]||U!==1&&Z.includes(Ue))||he--}te=P.nextSibling()}Et=te&&pe===St?P:null}const ee=St-D;let de=We(ee);const Ts=ee-Tt;let kn=null;{let pe,ne;for(;re&&typeof(pe=L.getKey())=="number";){ne=pe-Ft;const Be=L.getComponent(),Ue=c(Be);if(ne>Ts)break;if(ne===Ts){if(!Ue){kn=L;break}{if(U===0&&Dt){kn=L;break}const Le=de&&d(de.getComponent());if(U===0&&Le)break}}if(Ue){const Le=Be.d;Z[Le],Be.i===void 0&&(O[Le]||Z[Le]!=null&&U!==1)?(O[Le]||Z[Le]!=null&&U===0)&&(Ft++,Me--):Ft++}re=L.nextSibling()}}const No=Ts+Ft+he+Me;o(No>=0,"trying to descend to a negative index"),W.descend(No),Dt&&(Et=de=kn=null,X++),lt(Et,z,de,kn,W,rt)&&Me++,W.ascend()}else{let Et;for(;te&&(Et=P.getKey(),typeof Et!="string"||!(Et>B||Et===B));)te=P.nextSibling();const Dt=te&&Et===B?P:null,St=We(B);let ee;for(;re&&(ee=L.getKey(),typeof ee!="string"||!(ee>B||ee===B));)re=L.nextSibling();const de=re&&ee===B?L:null;W.descend(B),lt(Dt,z,St,de,W,rt),W.ascend()}return We.end(),rn&&P.ascend(),ie&&L.ascend(),wt}(Ht,Ht.clone(),Lt,Lt.clone(),Ct,null),b)return{ok:!1,conflict:b};Ct.reset();const qt=(lt,P,z)=>lt.traverse(P,(F,L)=>{F.d!=null&&z(F.d,lt,L)});(O.length||gt.length)&&(qt(Lt,Ct,(lt,P,z)=>{O[lt]&&!$[lt]&&z.write("r",!0),gt[lt]&&z.mergeTree(gt[lt].get())}),Ct.reset());const xt=[],ce=[];if((ct.length||O.length)&&!b){const lt=r.readCursor(vs(Ct.get()));if(qt(lt,null,(P,z)=>{xt[P]=z.clone()}),ct.forEach(P=>{P&&qt(r.readCursor(P.get()),null,(z,F)=>{xt[z]=F.clone()})}),function P(z,F,L,W,rt,it){const at=l(F);if(at&&d(at))if(at.p!=null){const D=at.p;xt[D].getPath(),L=xt[D],W=ce[D]=r.writeCursor()}else at.r!==void 0&&(L=null);else c(l(L))&&(L=null);const wt=z.getComponent();if(wt){let D;if((D=wt.d)!=null){const X=ct[D];X&&(X.get(),W.mergeTree(X.get()),L=r.readCursor(X.get()))}}let vt=0,pt=0;const Pt=r.advancer(F,void 0,(D,X)=>{d(X)&&vt--}),nt=r.advancer(L,(D,X)=>c(X)?-(D-pt)-1:D-pt,(D,X)=>{c(X)&&pt++});for(const D of z)if(typeof D=="number"){const X=Pt(D),Tt=D+vt,Ft=nt(Tt),he=Tt+pt;W.descend(he),P(z,X,Ft,W),W.ascend()}else W.descend(D),P(z,Pt(D),nt(D),W),W.ascend();Pt.end(),nt.end()}(Lt,lt,lt.clone(),Ct),Ct.reset(),b)return{ok:!1,conflict:b};if(Ct.get(),ce.length){const P=ce.map(F=>F?F.get():null),z=r.readCursor(vs(Ct.get()));if(qt(z,Ct,(F,L,W)=>{const rt=P[F];rt&&(W.mergeTree(rt),P[F]=null)}),P.find(F=>F)){const F=r.writeCursor(),L=r.writeCursor();let W=0,rt=0;P.forEach(it=>{it!=null&&qt(r.readCursor(it),null,at=>{const wt=Te[at];F.writeMove(M[wt].getPath(),j[wt].getPath(),W++);const vt=Rt[wt];vt&&vt.forEach(pt=>{O[pt]||U!==1&&Z[pt]!=null||L.writeMove(G[pt].getPath(),I[pt].getPath(),rt++)})})}),b={type:i.ConflictType.BLACKHOLE,op1:F.get(),op2:L.get()}}}}return b?{ok:!1,conflict:b}:{ok:!0,result:Ct.get()}}const Oo=m=>{const p=new Error("Transform detected write conflict");throw p.conflict=m,p.type=p.name="writeConflict",p};function ac(m,p,A){const U=ws(m,p,A);if(U.ok)return U.result;Oo(U.conflict)}const $e=m=>{const p=r.writeCursor();return r.readCursor(m).traverse(p,(A,U)=>{(c(A)||ft(A))&&U.write("r",!0)}),p.get()},uc=(m,p)=>{const{type:A,op1:U,op2:b}=m;switch(A){case i.ConflictType.DROP_COLLISION:return p==="left"?[null,$e(b)]:[$e(U),null];case i.ConflictType.RM_UNEXPECTED_CONTENT:let M=!1;return r.readCursor(U).traverse(null,j=>{j.r!==void 0&&(M=!0)}),M?[null,$e(b)]:[$e(U),null];case i.ConflictType.BLACKHOLE:return[$e(U),$e(b)];default:throw Error("Unrecognised conflict: "+A)}};function So(m,p,A,U){let b=null;for(;;){const M=ws(p,A,U);if(M.ok)return _t(b,M.result);{const{conflict:j}=M;m(j)||Oo(j);const[G,I]=uc(j,U);p=_t(J(p),G),A=_t(J(A),I),b=_t(b,I)}}}})(Ci),function(t){var e=Bt&&Bt.__createBinding||(Object.create?function(i,o,l,a){a===void 0&&(a=l),Object.defineProperty(i,a,{enumerable:!0,get:function(){return o[l]}})}:function(i,o,l,a){a===void 0&&(a=l),i[a]=o[l]}),n=Bt&&Bt.__exportStar||function(i,o){for(var l in i)l!=="default"&&!o.hasOwnProperty(l)&&e(o,i,l)};Object.defineProperty(t,"__esModule",{value:!0}),n(Ci,t);var s=os;Object.defineProperty(t,"ReadCursor",{enumerable:!0,get:function(){return s.ReadCursor}}),Object.defineProperty(t,"WriteCursor",{enumerable:!0,get:function(){return s.WriteCursor}});var r=ls;Object.defineProperty(t,"ConflictType",{enumerable:!0,get:function(){return r.ConflictType}})}(Gt);const Ta=Ao({__proto__:null,default:Na(Gt)},[Gt]);var tt=(t=>(t.RETAIN="r",t.INSERT="i",t.DELETE="d",t))(tt||{});class ds{constructor(e){g(this,"_index",0);g(this,"_offset",0);this._actions=e}hasNext(){return this.peekLength()<Number.POSITIVE_INFINITY}next(e){e||(e=Number.POSITIVE_INFINITY);const n=this._actions[this._index];if(n){const s=this._offset,r=n.len;return e>=r-s?(e=r-s,this._index+=1,this._offset=0):this._offset+=e,n.t===tt.DELETE||n.t===tt.RETAIN&&n.body==null?y.deepClone({...n,len:e}):y.deepClone({...n,len:e,body:qe(n.body,s,s+e)})}else return{t:tt.RETAIN,len:Number.POSITIVE_INFINITY}}peek(){return this._actions[this._index]}peekLength(){return this._actions[this._index]?this._actions[this._index].len-this._offset:Number.POSITIVE_INFINITY}peekType(){const e=this._actions[this._index];return e?e.t:tt.RETAIN}rest(){if(this.hasNext()){if(this._offset===0)return this._actions.slice(this._index);{const e=this._offset,n=this._index,s=this.next(),r=this._actions.slice(this._index);return this._offset=e,this._index=n,[s].concat(r)}}else return[]}}class Ni{constructor(){g(this,"cursor",0)}reset(){return this.cursor=0,this}moveCursor(e){this.cursor+=e}moveCursorTo(e){this.cursor=e}}function Ai(t,e,n){const{dataStream:s}=t,r=n,i=n+e,o=ui(t,e,n),l=ci(t,e,n),a=hi(t,e,n),h=di(t,e,n),d=fi(t,e,n),c=_i(t,e,n),f=gi(t,e,n);let _="";return s&&(t.dataStream=Dr(s,r,i),_=s.slice(r,i)),{dataStream:_,textRuns:o,paragraphs:l,sectionBreaks:a,customBlocks:h,tables:d,customRanges:c,customDecorations:f}}function bi(t,e,n,s){t.dataStream=Lr(t.dataStream,s,e.dataStream),ri(t,e,n,s),ts(t,e,n,s),ca(t,e,n,s),ii(t,e,n,s),oi(t,e,n,s),li(t,e,n,s),ai(t,e,n,s)}function Ma(t,e,n,s,r=kt.COVER){return fa(t,e,n,s,r)}function Ua(t,e,n){return e<=0?{dataStream:""}:Ai(t,e,n)}function La(t,e,n,s){n!==0&&bi(t,e,n,s)}function Da(t,e){const n=new Ni;return n.reset(),e.forEach(s=>{switch(s=y.deepClone(s),s.t){case tt.RETAIN:{const{coverType:r,body:i,len:o}=s;i!=null&&Ma(t,i,o,n.cursor,r),n.moveCursor(o);break}case tt.INSERT:{const{body:r,len:i}=s;La(t,r,i,n.cursor),n.moveCursor(i);break}case tt.DELETE:{const{len:r}=s;Ua(t,r,n.cursor);break}default:throw new Error(`Unknown action type for action: ${s}.`)}}),t}function vi(t){return Object.keys(t).length===1}const sn=class sn{constructor(){g(this,"_actions",[])}static apply(e,n){return Da(e,n)}static compose(e,n){const s=new ds(e),r=new ds(n),i=new sn;for(;s.hasNext()||r.hasNext();)if(r.peekType()===tt.INSERT)i.push(r.next());else if(s.peekType()===tt.DELETE)i.push(s.next());else{const o=Math.min(s.peekLength(),r.peekLength()),l=s.next(o),a=r.next(o);l.t===tt.INSERT&&a.t===tt.RETAIN?a.body==null?i.push(l):i.push({...l,body:es(l.body,a.body,a.coverType)}):l.t===tt.RETAIN&&a.t===tt.RETAIN?l.body==null&&a.body==null?i.push(l.len!==Number.POSITIVE_INFINITY?l:a):l.body&&a.body?i.push({...l,body:es(l.body,a.body,a.coverType)}):i.push(l.body?l:a):l.t===tt.RETAIN&&a.t===tt.DELETE?i.push(a):l.t===tt.INSERT&&(a.t,tt.DELETE)}return i.trimEndUselessRetainAction(),i.serialize()}static transform(e,n,s){throw new Error("transform is not implemented in TextX")}static isNoop(e){return e.length===0}static invert(e){const n=[];for(const s of e)if(s.t===tt.INSERT)n.push({t:tt.DELETE,len:s.len,line:0,body:s.body,segmentId:s.segmentId});else if(s.t===tt.DELETE){if(s.body==null)throw new Error("Can not invert DELETE action without body property, makeInvertible must be called first.");n.push({t:tt.INSERT,body:s.body,len:s.len,line:0,segmentId:s.segmentId})}else if(s.body!=null){if(s.oldBody==null)throw new Error("Can not invert RETAIN action without oldBody property, makeInvertible must be called first.");n.push({t:tt.RETAIN,body:s.oldBody,oldBody:s.body,len:s.len,coverType:kt.REPLACE,segmentId:s.segmentId})}else n.push(s);return n}static makeInvertible(e,n){const s=[];let r=0;for(const i of e){if(i.t===tt.DELETE&&i.body==null){const o=qe(n,r,r+i.len,!1);i.len=o.dataStream.length,i.body=o}if(i.t===tt.RETAIN&&i.body!=null){const o=qe(n,r,r+i.len,!0);i.oldBody={...o,dataStream:""},i.len=o.dataStream.length}s.push(i),i.t!==tt.INSERT&&(r+=i.len)}return s}insert(e,n,s=""){const r={t:tt.INSERT,body:n,len:e,line:0,segmentId:s};return this.push(r),this}retain(e,n="",s,r){const i={t:tt.RETAIN,len:e,segmentId:n};return s!=null&&(i.body=s),r!=null&&(i.coverType=r),this.push(i),this}delete(e,n=""){const s={t:tt.DELETE,len:e,line:0,segmentId:n};return this.push(s),this}serialize(){return this._actions}push(...e){if(e.length>1){for(const i of e)this.push(i);return this}let n=this._actions.length,s=this._actions[n-1];const r=y.deepClone(e[0]);if(r.t===tt.RETAIN&&r.len===0&&r.body==null)return this;if(typeof s=="object"){if(s.t===tt.DELETE&&r.t===tt.DELETE)return s.len+=r.len,this;if(s.t===tt.DELETE&&r.t===tt.INSERT&&(n-=1,s=this._actions[n-1],s==null))return this._actions.unshift(r),this;if(s.t===tt.RETAIN&&r.t===tt.RETAIN&&s.body==null&&r.body==null)return s.len+=r.len,this;if(s.t===tt.INSERT&&vi(s.body)&&r.t===tt.INSERT&&vi(r.body))return s.len+=r.len,s.body.dataStream+=r.body.dataStream,this}return n===this._actions.length?this._actions.push(r):this._actions.splice(n,0,r),this}trimEndUselessRetainAction(){let e=this._actions[this._actions.length-1];for(;e&&e.t===tt.RETAIN&&Oa(e);)this._actions.pop(),e=this._actions[this._actions.length-1];return this}};g(sn,"id","text-x"),g(sn,"uri","https://github.com/dream-num/univer#text-x");let Re=sn;Object.defineProperty(Re,"name",{value:"text-x"});const Fe=class Fe{static registerSubtype(e){var n;this._subTypes.has(e.name)&&((n=this._subTypes.get(e.name))==null?void 0:n.id)!==Re.id||(this._subTypes.set(e.name,e),Gt.type.registerSubtype(e))}static apply(e,n){if(!Gt.type.isNoop(n))return Gt.type.apply(e,n)}static compose(e,n){return Gt.type.compose(e,n)}static transform(e,n,s){throw new Error("transform is not implemented in JsonX")}static invertWithDoc(e,n){return Gt.type.invertWithDoc(e,n)}static isNoop(e){return Gt.type.isNoop(e)}static getInstance(){return this._instance==null&&(this._instance=new Fe),this._instance}removeOp(e,n){return Gt.removeOp(e,n)}moveOp(e,n){return Gt.moveOp(e,n)}insertOp(e,n){return Gt.insertOp(e,n)}replaceOp(e,n,s){return Gt.replaceOp(e,n,s)}editOp(e,n=["body"]){return Gt.editOp(n,Re.name,e)}};g(Fe,"uri","https://github.com/dream-num/univer#json-x"),g(Fe,"_subTypes",new Map),g(Fe,"_instance",null);let ve=Fe;ve.registerSubtype(Re);const fs={id:"default_doc",documentStyle:{}};class ya extends Sn{constructor(n){super();g(this,"type",Q.UNIVER_DOC);g(this,"snapshot");this.snapshot={...fs,...n}}getUnitId(){throw new Error("Method not implemented.")}get drawings(){return this.snapshot.drawings}get documentStyle(){return this.snapshot.documentStyle}get lists(){return this.snapshot.lists}get zoomRatio(){var n;return((n=this.snapshot.settings)==null?void 0:n.zoomRatio)||1}resetDrawing(n,s){this.snapshot.drawings=n,this.snapshot.drawingsOrder=s}getBody(){return this.snapshot.body}getShouldRenderLoopImmediately(){return this.snapshot.shouldStartRenderingImmediately!==!1}getContainer(){return this.snapshot.container}getSnapshot(){return this.snapshot}updateDocumentId(n){this.snapshot.id=n}updateDocumentRenderConfig(n){const{documentStyle:s}=this.snapshot;s.renderConfig==null?s.renderConfig=n:s.renderConfig={...s.renderConfig,...n}}updateDocumentStyle(n){this.snapshot.documentStyle==null?this.snapshot.documentStyle=n:this.snapshot.documentStyle={...this.snapshot.documentStyle,...n}}updateDocumentDataMargin(n){const{t:s,l:r,b:i,r:o}=n,{documentStyle:l}=this.snapshot;s!=null&&(l.marginTop=s),r!=null&&(l.marginLeft=r),i!=null&&(l.marginBottom=i),o!=null&&(l.marginRight=o)}updateDocumentDataPageSize(n,s){const{documentStyle:r}=this.snapshot;if(!r.pageSize){n=n!=null?n:Number.POSITIVE_INFINITY,s=s!=null?s:Number.POSITIVE_INFINITY,r.pageSize={width:n,height:s};return}n!==void 0&&(r.pageSize.width=n),s!==void 0&&(r.pageSize.height=s)}updateDrawing(n,s){const{drawings:r}=this,{width:i,height:o,left:l,top:a}=s,h=r==null?void 0:r[n];if(!h)return;const d=h.docTransform;d.size.width=i,d.size.height=o,d.positionH.posOffset=l,d.positionV.posOffset=a}setZoomRatio(n=1){this.snapshot.settings==null?this.snapshot.settings={zoomRatio:n}:this.snapshot.settings.zoomRatio=1}}class we extends ya{constructor(n){var r;super(y.isEmptyObject(n)?Sa():n);g(this,"_unitId");g(this,"headerModelMap",new Map);g(this,"footerModelMap",new Map);const s=6;this._unitId=(r=this.snapshot.id)!=null?r:y.generateRandomId(s),this._initializeHeaderFooterModel()}dispose(){this.headerModelMap.forEach(n=>{n.dispose()}),this.footerModelMap.forEach(n=>{n.dispose()})}getDrawings(){return this.snapshot.drawings}getDrawingsOrder(){return this.snapshot.drawingsOrder}getCustomRanges(){var n;return(n=this.snapshot.body)==null?void 0:n.customRanges}getCustomDecorations(){var n;return(n=this.snapshot.body)==null?void 0:n.customDecorations}getRev(){var n;return(n=this.snapshot.rev)!=null?n:1}incrementRev(){this.snapshot.rev=this.getRev()+1}getSettings(){return this.snapshot.settings}reset(n){if(n.id&&n.id!==this._unitId)throw new Error("Cannot reset a document model with a different unit id!");this.snapshot={...fs,...n},this._initializeHeaderFooterModel()}getSelfOrHeaderFooterModel(n){if(n!=null){if(this.headerModelMap.has(n))return this.headerModelMap.get(n);if(this.footerModelMap.has(n))return this.footerModelMap.get(n)}return this}getUnitId(){return this._unitId}apply(n){if(!ve.isNoop(n))return this.snapshot=ve.apply(this.snapshot,n),n!=null&&n.some(s=>Array.isArray(s)&&((s==null?void 0:s[0])==="headers"||(s==null?void 0:s[0])==="footers"))&&(this.headerModelMap.clear(),this.footerModelMap.clear(),this._initializeHeaderFooterModel()),this.snapshot}sliceBody(n,s){const r=this.getBody();if(r!=null)return qe(r,n,s)}_initializeHeaderFooterModel(){const{headers:n,footers:s}=this.getSnapshot();if(n)for(const r in n){const i=n[r];this.headerModelMap.set(r,new we(i))}if(s)for(const r in s){const i=s[r];this.footerModelMap.set(r,new we(i))}}updateDocumentId(n){super.updateDocumentId(n),this._unitId=n}}const wi=ut.createIdentifier("univer.config-service");class Ti{constructor(){g(this,"_config",new Map)}getConfig(e){return this._config.get(e)}setConfig(e,n){this._config.set(e,n)}deleteConfig(e){this._config.delete(e)}}class Mi extends yt{constructor(){super(...arguments);g(this,"_error$",new V.Subject);g(this,"error$",this._error$.asObservable())}dispose(){this._error$.complete()}emit(n){this._error$.next({errorKey:n})}}class Ui{constructor(e={}){g(this,"_styles");g(this,"_cacheMap",new xr(1e5));this._styles=e,this._generateCacheMap()}each(e){return Object.entries(this._styles).forEach(e),this}search(e,n){if(this._cacheMap.has(n))return this._cacheMap.get(n);const s=this._getExistingStyleId(e);return s||"-1"}get(e){return typeof e!="string"?e:(e=String(e),this._styles[e])}add(e,n){const s=y.generateRandomId(6);return this._styles[s]=e,this._cacheMap.set(n,s),s}setValue(e){if(e==null)return;const n=JSON.stringify(e),s=this.search(e,n);return s!=="-1"?s:this.add(e,n)}toJSON(){return this._styles}getStyleByCell(e){let n;e&&y.isObject(e.s)?n=e.s:n=(e==null?void 0:e.s)&&this.get(e.s);const s=e==null?void 0:e.interceptorStyle;return s?{...n,...s}:n}_generateCacheMap(){const{_styles:e,_cacheMap:n}=this;for(const s in e){const r=JSON.stringify(e[s]);n.set(r,s)}}_getExistingStyleId(e){const{_styles:n}=this;for(const s in n)if(y.diffValue(n[s],e))return s;return null}}class Pa{constructor(e,n){g(this,"_columnData",{});this._config=e,this._columnData=n}getColumnData(){return this._columnData}getColVisible(e){const{_columnData:n}=this,s=n[e];return s?s.hd!==Y.TRUE:!0}getHiddenCols(e=0,n=this.getSize()-1){const s=[];let r=!1,i=-1;for(let o=e;o<=n;o++){const l=this.getColVisible(o);r&&l?(r=!1,s.push({rangeType:ot.COLUMN,startColumn:i,endColumn:o-1,startRow:0,endRow:0})):!r&&!l&&(r=!0,i=o)}return r&&s.push({startRow:0,endRow:0,startColumn:i,endColumn:n,rangeType:ot.COLUMN}),s}getVisibleCols(e=0,n=this.getSize()-1){const s=[];let r=!1,i=-1;for(let o=e;o<=n;o++){const l=this.getColVisible(o);r&&!l?(r=!1,s.push({rangeType:ot.COLUMN,startColumn:i,endColumn:o-1,startRow:0,endRow:0})):!r&&l&&(r=!0,i=o)}return r&&s.push({startRow:0,endRow:0,startColumn:i,endColumn:n,rangeType:ot.COLUMN}),s}getColumnDatas(e,n){const s={};let r=0;for(let i=e;i<e+n;i++){const o=this.getColumnOrCreate(i);s[r]=o,r++}return s}getSize(){return ge(this._columnData)}getColumnWidth(e){const{_columnData:n}=this,s=this._config;let r=0;return r=(n[e]||{hd:Y.FALSE,w:s.defaultColumnWidth}).w||s.defaultColumnWidth,r}getColumn(e){const n=this._columnData[e];if(n)return n}getColumnOrCreate(e){const{_columnData:n}=this,s=this._config,r=n[e];if(r)return r;const i={w:s.defaultColumnWidth,hd:Y.FALSE};return this._columnData[e]=i,i}}class ka{constructor(e,n,s){g(this,"_rowData");this._config=e,this._viewModel=n,this._rowData=s}getRowData(){return this._rowData}getRowDatas(e,n){const s={};let r=0;for(let i=e;i<e+n;i++){const o=this.getRowOrCreate(i);s[r]=o,r++}return s}getRowHeight(e,n=1){const{_rowData:s}=this,r=this._config;let i=0;for(let o=0;o<n;o++){const l=s[o+e]||{hd:Y.FALSE,h:r.defaultRowHeight},{ia:a,ah:h,h:d=r.defaultRowHeight}=l;i+=(a==null||a===Y.TRUE)&&typeof h=="number"?h:d}return i}getRow(e){return this._rowData[e]}getRowOrCreate(e){const{_rowData:n}=this,s=n[e];if(s)return s;const r=this._config,i={hd:Y.FALSE,h:r.defaultRowHeight};return n[e]=i,i}getHiddenRows(e=0,n=this.getSize()-1){const s=[];let r=!1,i=-1;for(let o=e;o<=n;o++){const l=this.getRowRawVisible(o);r&&l?(r=!1,s.push({startRow:i,endRow:o-1,startColumn:0,endColumn:0,rangeType:ot.ROW})):!r&&!l&&(r=!0,i=o)}return r&&s.push({startRow:i,endRow:n,startColumn:0,endColumn:0,rangeType:ot.ROW}),s}getVisibleRows(e=0,n=this.getSize()-1){const s=[];let r=!1,i=-1;for(let o=e;o<=n;o++){const l=this.getRowRawVisible(o);r&&!l?(r=!1,s.push({startRow:i,endRow:o-1,startColumn:0,endColumn:0,rangeType:ot.ROW})):!r&&l&&(r=!0,i=o)}return r&&s.push({startRow:i,endRow:n,startColumn:0,endColumn:0,rangeType:ot.ROW}),s}getRowRawVisible(e){const n=this.getRow(e);return n?n.hd!==Y.TRUE:!0}getSize(){return ge(this._rowData)}}const Ha="DEFAULT_WORKSHEET_ROW_COUNT",Li=1e3,Fa="DEFAULT_WORKSHEET_COLUMN_COUNT",Di=20,$a="DEFAULT_WORKSHEET_ROW_HEIGHT",yi=24,Wa="DEFAULT_WORKSHEET_COLUMN_WIDTH",Pi=88,Ba="DEFAULT_WORKSHEET_ROW_TITLE_WIDTH",ki=46,Ga="DEFAULT_WORKSHEET_COLUMN_TITLE_HEIGHT",Hi=20;function Fi(t){const e={name:"Sheet1",id:"sheet-01",tabColor:"",hidden:Y.FALSE,rowCount:Li,columnCount:Di,zoomRatio:1,freeze:{xSplit:0,ySplit:0,startRow:-1,startColumn:-1},scrollTop:0,scrollLeft:0,defaultColumnWidth:Pi,defaultRowHeight:yi,mergeData:[],cellData:{},rowData:{},columnData:{},showGridlines:Y.TRUE,rowHeader:{width:ki,hidden:Y.FALSE},columnHeader:{height:Hi,hidden:Y.FALSE},selections:["A1"],rightToLeft:Y.FALSE};return Object.keys(e).forEach(n=>{const s=n;typeof t[s]>"u"&&(t[s]=e[s])}),t}class $i extends yt{constructor(n){super();g(this,"_cellContentInterceptor",null);g(this,"_rowFilteredInterceptor",null);this.getRawCell=n}dispose(){super.dispose(),this._cellContentInterceptor=null,this._rowFilteredInterceptor=null}getCell(n,s){return this._cellContentInterceptor?this._cellContentInterceptor.getCell(n,s):this.getRawCell(n,s)}getRowFiltered(n){var s,r;return(r=(s=this._rowFilteredInterceptor)==null?void 0:s.getRowFiltered(n))!=null?r:!1}registerCellContentInterceptor(n){if(this._cellContentInterceptor)throw new Error("[SheetViewModel]: Interceptor already registered.");return this._cellContentInterceptor=n,At(()=>this._cellContentInterceptor=null)}registerRowFilteredInterceptor(n){if(this._rowFilteredInterceptor)throw new Error("[SheetViewModel]: Interceptor already registered.");return this._rowFilteredInterceptor=n,At(()=>this._rowFilteredInterceptor=null)}}class Je{constructor(e,n,s){g(this,"_sheetId");g(this,"_snapshot");g(this,"_cellData");g(this,"_rowManager");g(this,"_columnManager");g(this,"_viewModel");var l;this.unitId=e,this._styles=s,this._snapshot=Fi(n);const{columnData:r,rowData:i,cellData:o}=this._snapshot;this._sheetId=(l=this._snapshot.id)!=null?l:y.generateRandomId(6),this._cellData=new Zt(o),this._viewModel=new $i((a,h)=>this.getCellRaw(a,h)),this._rowManager=new ka(this._snapshot,this._viewModel,i),this._columnManager=new Pa(this._snapshot,r)}__interceptViewModel(e){e(this._viewModel)}getSnapshot(){return this._snapshot}getCellMatrix(){return this._cellData}getCellMatrixPrintRange(){const e=this.getCellMatrix(),n=this.getMergeData();let s=-1,r=-1,i=-1,o=-1,l=!1,a=!1;return e.forEach((h,d)=>{Object.keys(d).forEach(c=>{const f=+c,_=e.getValue(h,f),E=_!=null&&_.s?this._styles.get(_.s):null,R=(E==null?void 0:E.bd)&&(E.bd.b||E.bd.l||E.bd.r||E.bd.t||E.bd.bc_tr||E.bd.bl_tr||E.bd.ml_tr||E.bd.tl_bc||E.bd.tl_br||E.bd.tl_mr);(_&&(_.v||_.p)||E!=null&&E.bg||R)&&(l?s=Math.min(s,h):(s=h,l=!0),r=Math.max(r,h),a?i=Math.min(i,f):(a=!0,i=f),o=Math.max(o,f))})}),n.forEach(h=>{l?s=Math.min(s,h.startRow):(s=h.startRow,l=!0),r=Math.max(r,h.endRow),a?i=Math.min(i,h.startColumn):(i=h.startColumn,l=!0),o=Math.max(o,h.endColumn)}),!l||!a?null:{startColumn:i,startRow:s,endColumn:o,endRow:r}}getRowManager(){return this._rowManager}getUnitId(){return this.unitId}getSheetId(){return this._sheetId}getColumnManager(){return this._columnManager}getName(){return this._snapshot.name}clone(){const{_snapshot:e}=this,n=y.deepClone(e);return new Je(this.unitId,n,this._styles)}getMergeData(){return this._snapshot.mergeData}getMergedCell(e,n){const s=this._snapshot.mergeData;for(let r=0;r<s.length;r++){const i=s[r];if(me.intersects({startRow:e,startColumn:n,endRow:e,endColumn:n},i))return i}return null}getCell(e,n){return e<0||n<0?null:this._viewModel.getCell(e,n)}getCellRaw(e,n){return this.getCellMatrix().getValue(e,n)}getRowFiltered(e){return this._viewModel.getRowFiltered(e)}getMatrixWithMergedCells(e,n,s,r,i=!1){const o=this.getCellMatrix(),l=this._snapshot.mergeData.filter(h=>me.intersects({startRow:e,startColumn:n,endRow:s,endColumn:r},h)),a=new Zt;return zn(e,s,n,r).forEach((h,d)=>{const c=i?this.getCellRaw(h,d):this.getCell(h,d);c&&a.setValue(h,d,c)}),l.forEach(h=>{const{startColumn:d,startRow:c,endColumn:f,endRow:_}=h;zn(c,_,d,f).forEach((E,R)=>{E===c&&R===d&&a.setValue(E,R,{...o.getValue(E,R),rowSpan:_-c+1,colSpan:f-d+1}),(E!==c||R!==d)&&a.realDeleteValue(E,R)})}),a}getRange(e,n,s,r){return typeof e=="object"?new ke(this,e,{getStyles:()=>this._styles}):new ke(this,{startRow:e,startColumn:n,endColumn:r||n,endRow:s||e},{getStyles:()=>this._styles})}getScrollLeftTopFromSnapshot(){return{scrollLeft:this._snapshot.scrollLeft,scrollTop:this._snapshot.scrollTop}}getZoomRatio(){return this._snapshot.zoomRatio||1}getConfig(){return this._snapshot}getFreeze(){return this._snapshot.freeze}getMaxColumns(){const{_snapshot:e}=this,{columnCount:n}=e;return n}getMaxRows(){const{_snapshot:e}=this,{rowCount:n}=e;return n}getRowCount(){return this._snapshot.rowCount}setRowCount(e){this._snapshot.rowCount=e}getColumnCount(){return this._snapshot.columnCount}setColumnCount(e){this._snapshot.columnCount=e}isSheetHidden(){return this._snapshot.hidden}hasHiddenGridlines(){const{_snapshot:e}=this,{showGridlines:n}=e;return n===0}getTabColor(){const{_snapshot:e}=this,{tabColor:n}=e;return n}getColumnWidth(e){return this.getColumnManager().getColumnWidth(e)}getRowHeight(e){return this._viewModel.getRowFiltered(e)?0:this.getRowManager().getRowHeight(e)}getRowVisible(e){return this._viewModel.getRowFiltered(e)?!1:this.getRowRawVisible(e)}getRowRawVisible(e){return this.getRowManager().getRowRawVisible(e)}getHiddenRows(e,n){const s=this.getMaxColumns()-1,r=this._rowManager.getHiddenRows(e,n);return r.forEach(i=>i.endColumn=s),r}getColVisible(e){return this._columnManager.getColVisible(e)}getHiddenCols(e,n){const s=this.getMaxRows()-1,r=this._columnManager.getHiddenCols(e,n);return r.forEach(i=>i.endRow=s),r}getVisibleRows(){const e=this.getRowCount();return this._rowManager.getVisibleRows(0,e-1)}getVisibleCols(){const e=this.getColumnCount();return this._columnManager.getVisibleCols(0,e-1)}isRightToLeft(){const{_snapshot:e}=this,{rightToLeft:n}=e;return n}getLastRowWithContent(){return this._cellData.getLength()-1}getLastColumnWithContent(){return this._cellData.getRange().endColumn}cellHasValue(e){return e&&(e.v!==void 0||e.f!==void 0||e.p!==void 0)}iterateByRow(e,n=!0){const{startRow:s,startColumn:r,endRow:i,endColumn:o}=e,l=this;return{[Symbol.iterator]:()=>{let a=s,h=r;return{next(){for(;;){if(h>o&&(a+=1,h=r),a>i)return{done:!0,value:void 0};const d=l.getCell(a,h),c=!d,f=l.getMergedCell(a,h);if(f){if(a!==f.startRow||h!==f.startColumn){h=f.endColumn+1;continue}if(c&&n){h=f.endColumn+1;continue}const E={row:a,col:h,value:d};return E.colSpan=f.endColumn-f.startColumn+1,E.rowSpan=f.endRow-f.startRow+1,h=f.endColumn+1,{done:!1,value:E}}if(c&&n)h+=1;else{const _={row:a,col:h,value:d};return h+=1,{done:!1,value:_}}}}}}}}iterateByColumn(e,n=!0,s=!0){const{startRow:r,startColumn:i,endRow:o,endColumn:l}=e,a=this;return{[Symbol.iterator]:()=>{let h=r,d=i;return{next(){for(;;){if(h>o&&(d+=1,h=r),d>l)return{done:!0,value:void 0};const c=a.getMergedCell(h,d);if(c){const E=h!==c.startRow,R=E||d!==c.startColumn;if(s&&R||!s&&E){h=c.endRow+1;continue}const H=a.getCell(c.startRow,c.startColumn);if(!H&&n){h=c.endRow+1;continue}const et={row:h,col:c.startColumn,value:H};return et.colSpan=c.endColumn-c.startColumn+1,et.rowSpan=c.endRow-c.startRow+1,h=c.endRow+1,{done:!1,value:et}}const f=a.getCell(h,d);if(!f&&n)h+=1;else{const E={row:h,col:d,value:f};return h+=1,{done:!1,value:E}}}}}}}}}function xa(t){var s,r;if(!t)return"";const e=(r=(s=t.p)==null?void 0:s.body)==null?void 0:r.dataStream;if(e)return e;const n=t.v;return typeof n=="string"?t.t===Se.BOOLEAN?n.toUpperCase():n.replace(/[\r\n]/g,""):typeof n=="number"?t.t===Se.BOOLEAN?n?"TRUE":"FALSE":n.toString():typeof n=="boolean"?n?"TRUE":"FALSE":""}const ja="0.2.0";function Va(t="",e=Ie.ZH_CN,n=""){return{id:t,sheetOrder:[],name:n,appVersion:ja,locale:e,styles:{},sheets:{},resources:[]}}var Ka=Object.defineProperty,Ya=Object.getOwnPropertyDescriptor,za=(t,e,n,s)=>{for(var r=s>1?void 0:s?Ya(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(r=(s?o(e,n,r):o(r))||r);return s&&r&&Ka(e,n,r),r},Xa=(t,e)=>(n,s)=>e(n,s,t);function qa(t,e){return`${t.getUnitId()}|${e.getSheetId()}`}u.Workbook=class extends Sn{constructor(n={},s){super();g(this,"type",Q.UNIVER_SHEET);g(this,"_sheetCreated$",new V.Subject);g(this,"sheetCreated$",this._sheetCreated$.asObservable());g(this,"_sheetDisposed$",new V.Subject);g(this,"sheetDisposed$",this._sheetDisposed$.asObservable());g(this,"_activeSheet$",new V.BehaviorSubject(null));g(this,"activeSheet$",this._activeSheet$.asObservable());g(this,"_worksheets");g(this,"_styles");g(this,"_snapshot");g(this,"_unitId");g(this,"_count");g(this,"_name$");g(this,"name$");this._logService=s;const r=Va();y.isEmptyObject(n)?this._snapshot=r:this._snapshot=y.commonExtend(r,n);const{styles:i}=this._snapshot;(this._snapshot.id==null||this._snapshot.id.length===0)&&(this._snapshot.id=y.generateRandomId(6)),this._unitId=this._snapshot.id,this._styles=new Ui(i),this._count=1,this._worksheets=new Map,this._name$=new V.BehaviorSubject(n.name||""),this.name$=this._name$.asObservable(),this._passWorksheetSnapshots()}get _activeSheet(){return this._activeSheet$.getValue()}get name(){return this._name$.getValue()}dispose(){super.dispose(),this._sheetCreated$.complete(),this._sheetDisposed$.complete(),this._activeSheet$.complete(),this._name$.complete()}save(){return y.deepClone(this._snapshot)}static isIRangeType(n){return typeof n=="string"||"startRow"in n||"row"in n}getSnapshot(){return this._snapshot}getName(){return this._snapshot.name}setName(n){this._name$.next(n),this._snapshot.name=n}getUnitId(){return this._unitId}getRev(){var n;return(n=this._snapshot.rev)!=null?n:1}incrementRev(){this._snapshot.rev=this.getRev()+1}getShouldRenderLoopImmediately(){return this._snapshot.shouldStartRenderingImmediately!==!1}getContainer(){return this._snapshot.container}addWorksheet(n,s,r){const{sheets:i,sheetOrder:o}=this._snapshot;if(i[n])return!1;i[n]=r,o.splice(s,0,n);const l=new Je(this._unitId,r,this._styles);return this._worksheets.set(n,l),this._sheetCreated$.next(l),!0}getSheetOrders(){return this._snapshot.sheetOrder}getWorksheets(){return this._worksheets}getActiveSpreadsheet(){return this}getStyles(){return this._styles}getConfig(){return this._snapshot}getIndexBySheetId(n){const{sheetOrder:s}=this._snapshot;return s.findIndex(r=>r===n)}getActiveSheet(){return this._activeSheet}ensureActiveSheet(){const n=this.getActiveSheet();if(n)return n;const s=this._snapshot.sheetOrder;for(let i=0,o=s.length;i<o;i++){const l=this._worksheets.get(s[i]);if(l&&l.isSheetHidden()!==Y.TRUE)return this.setActiveSheet(l),l}const r=this._worksheets.get(s[0]);return this.setActiveSheet(r),r}setActiveSheet(n){this._activeSheet$.next(n)}removeSheet(n){var r;const s=this._worksheets.get(n);return s?(((r=this._activeSheet)==null?void 0:r.getSheetId())===n&&this.setActiveSheet(null),this._worksheets.delete(n),this._snapshot.sheetOrder.splice(this._snapshot.sheetOrder.indexOf(n),1),delete this._snapshot.sheets[n],this._sheetDisposed$.next(s),!0):!1}getActiveSheetIndex(){const{sheetOrder:n}=this._snapshot;return n.findIndex(s=>this._worksheets.get(s)===this._activeSheet)}getSheetSize(){return this._snapshot.sheetOrder.length}getSheets(){const{sheetOrder:n}=this._snapshot;return n.map(s=>this._worksheets.get(s))}getSheetsName(){const{sheetOrder:n}=this._snapshot,s=[];return n.forEach(r=>{const i=this._worksheets.get(r);i&&s.push(i.getName())}),s}getSheetIndex(n){const{sheetOrder:s}=this._snapshot;return s.findIndex(r=>n.getSheetId()===r)}getSheetBySheetName(n){const{sheetOrder:s}=this._snapshot,r=s.find(i=>this._worksheets.get(i).getName()===n);return this._worksheets.get(r)}getSheetBySheetId(n){return this._worksheets.get(n)}getSheetByIndex(n){const{sheetOrder:s}=this._snapshot;return this._worksheets.get(s[n])}getHiddenWorksheets(){return this.getSheets().filter(n=>n.getConfig().hidden===Y.TRUE).map(n=>n.getConfig().id)}getUnhiddenWorksheets(){return this.getSheets().filter(n=>n.getConfig().hidden!==Y.TRUE).map(n=>n.getConfig().id)}load(n){this._snapshot=n}checkSheetName(n){return this.getSheetsName().includes(n)}uniqueSheetName(n="Sheet1"){let s=n;for(;this.checkSheetName(s);)s=n+this._count,this._count++;return s}generateNewSheetName(n){let s=n+this._count;for(;this.checkSheetName(s);)s=n+this._count,this._count++;return s}_passWorksheetSnapshots(){const{_snapshot:n,_worksheets:s}=this,{sheets:r,sheetOrder:i}=n;if(y.isEmptyObject(r)){const o=y.generateRandomId();r[o]={id:o}}for(const o in r){const l=r[o],{name:a}=l;l.name=this.uniqueSheetName(a),l.name!==a&&this._logService.debug("[Workbook]",`The worksheet name ${a} is duplicated, we changed it to ${l.name}. Please fix the problem in your snapshot.`);const h=new Je(this._unitId,l,this._styles);s.set(o,h),i.includes(o)||i.push(o)}this.ensureActiveSheet()}},u.Workbook=za([Xa(1,Ee)],u.Workbook);class _s extends Sn{constructor(n){var s;super();g(this,"type",Q.UNIVER_SLIDE);g(this,"_snapshot");g(this,"_unitId");this._snapshot={...Kr,...n},this._unitId=(s=this._snapshot.id)!=null?s:y.generateRandomId(6)}getContainer(){return this._snapshot.container}getSnapshot(){return this._snapshot}getUnitId(){return this._unitId}getPages(){var n;return(n=this._snapshot.body)==null?void 0:n.pages}getPageOrder(){var n;return(n=this._snapshot.body)==null?void 0:n.pageOrder}getPage(n){const s=this.getPages();return s==null?void 0:s[n]}getElementsByPage(n){var s;return(s=this.getPage(n))==null?void 0:s.pageElements}getElement(n,s){var r;return(r=this.getElementsByPage(n))==null?void 0:r[s]}getPageSize(){return this._snapshot.pageSize}addPage(){return{id:"cover_1",pageType:Wn.SLIDE,zIndex:1,title:"cover",description:"this is first page, cover",pageBackgroundFill:{rgb:"rgb(255,255,255)"},pageElements:{}}}}const Ze="FOCUSING_SHEET",bn="FOCUSING_DOC",vn="FOCUSING_SLIDE",Ja="FOCUSING_EDITOR_BUT_HIDDEN",Wi="EDITOR_ACTIVATED",Za="FOCUSING_EDITOR_INPUT_FORMULA",Bi="FOCUSING_FORMULA_EDITOR",Qa="FOCUSING_UNIVER_EDITOR",tu="FOCUSING_EDITOR_INPUT_FORMULA",eu="FOCUSING_UNIVER_EDITOR_STANDALONE_SINGLE_MODE",nu="FOCUSING_COMMON_DRAWINGS";var su=Object.defineProperty,ru=Object.getOwnPropertyDescriptor,iu=(t,e,n,s)=>{for(var r=s>1?void 0:s?ru(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(r=(s?o(e,n,r):o(r))||r);return s&&r&&su(e,n,r),r},Gi=(t,e)=>(n,s)=>e(n,s,t);const He=ut.createIdentifier("univer.current");u.UniverInstanceService=class extends yt{constructor(n,s){super();g(this,"_unitsByType",new Map);g(this,"_createHandler");g(this,"_ctorByType",new Map);g(this,"_currentUnits",new Map);g(this,"_currentUnits$",new V.BehaviorSubject(this._currentUnits));g(this,"currentUnits$",this._currentUnits$.asObservable());g(this,"_unitAdded$",new V.Subject);g(this,"unitAdded$",this._unitAdded$.asObservable());g(this,"_unitDisposed$",new V.Subject);g(this,"unitDisposed$",this._unitDisposed$.asObservable());g(this,"_focused$",new V.BehaviorSubject(null));g(this,"focused$",this._focused$.asObservable());this._injector=n,this._contextService=s}dispose(){super.dispose(),this._focused$.complete()}__setCreateHandler(n){this._createHandler=n}createUnit(n,s){return this._createHandler(n,s,this._ctorByType.get(n))}registerCtorForType(n,s){return this._ctorByType.set(n,s),{dispose:()=>{this._ctorByType.delete(n)}}}getCurrentTypeOfUnit$(n){return this.currentUnits$.pipe(V.map(s=>{var r;return(r=s.get(n))!=null?r:null}),V.distinctUntilChanged())}getCurrentUnitForType(n){return this._currentUnits.get(n)}setCurrentUnitForType(n){const s=this._getUnitById(n);if(!s)throw new Error(`[UniverInstanceService]: no document with unitId ${n}!`);this._currentUnits.set(s[1],s[0]),this._currentUnits$.next(this._currentUnits)}_removeCurrentUnitForType(n){this._currentUnits.set(n,null),this._currentUnits$.next(this._currentUnits)}getTypeOfUnitAdded$(n){return this._unitAdded$.pipe(V.filter(s=>s.type===n))}__addUnit(n){const s=n.type;this._unitsByType.has(s)||this._unitsByType.set(s,[]),this._unitsByType.get(s).push(n),this._unitAdded$.next(n),this.setCurrentUnitForType(n.getUnitId())}getTypeOfUnitDisposed$(n){return this.unitDisposed$.pipe(V.filter(s=>s.type===n))}getUnit(n,s){var i;const r=(i=this._getUnitById(n))==null?void 0:i[0];return s&&(r==null?void 0:r.type)!==s?null:r}getCurrentUniverDocInstance(){return this.getCurrentUnitForType(Q.UNIVER_DOC)}getUniverDocInstance(n){return this.getUnit(n,Q.UNIVER_DOC)}getUniverSheetInstance(n){return this.getUnit(n,Q.UNIVER_SHEET)}getAllUnitsForType(n){var s;return(s=this._unitsByType.get(n))!=null?s:[]}changeDoc(n,s){const r=this.getAllUnitsForType(Q.UNIVER_DOC),i=r.find(o=>o.getUnitId()===n);if(i!=null){const o=r.indexOf(i);r.splice(o,1)}this.__addUnit(s)}get focused(){var s;const n=this._focused$.getValue();return n?(s=this._getUnitById(n))==null?void 0:s[0]:null}focusUnit(n){this._focused$.next(n),this.focused instanceof u.Workbook?(this._contextService.setContextValue(bn,!1),this._contextService.setContextValue(Ze,!0),this._contextService.setContextValue(vn,!1)):this.focused instanceof we?(this._contextService.setContextValue(bn,!0),this._contextService.setContextValue(Ze,!1),this._contextService.setContextValue(vn,!1)):this.focused instanceof _s&&(this._contextService.setContextValue(bn,!1),this._contextService.setContextValue(Ze,!1),this._contextService.setContextValue(vn,!0))}getFocusedUnit(){return this.focused}getUnitType(n){const s=this._getUnitById(n);if(!s)throw new Error(`[UniverInstanceService]: No document with unitId ${n}`);return s[1]}disposeUnit(n){const s=this._getUnitById(n);if(!s)return!1;const[r,i]=s,o=this._unitsByType.get(i),l=o.indexOf(r);return o.splice(l,1),this._removeCurrentUnitForType(i),this._focused$.next(null),this._unitDisposed$.next(r),!0}_getUnitById(n){for(const[s,r]of this._unitsByType){const i=r.find(o=>o.getUnitId()===n);if(i)return[i,s]}}},u.UniverInstanceService=iu([Gi(0,ut.Inject(ut.Injector)),Gi(1,Ye)],u.UniverInstanceService);var It=(t=>(t[t.Starting=0]="Starting",t[t.Ready=1]="Ready",t[t.Rendered=2]="Rendered",t[t.Steady=3]="Steady",t))(It||{});const ou={0:"Starting",1:"Ready",2:"Rendered",3:"Steady"},wn=new Map;function xi(t,e){return function(r){Tn(t,e)}}function Tn(t,e){wn.has(t)||wn.set(t,[]),wn.get(t).push(e)}var lu=Object.defineProperty,au=Object.getOwnPropertyDescriptor,ji=(t,e,n,s)=>{for(var r=s>1?void 0:s?au(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(r=(s?o(e,n,r):o(r))||r);return s&&r&&lu(e,n,r),r},gs=(t,e)=>(n,s)=>e(n,s,t);u.LifecycleService=class extends yt{constructor(n){super();g(this,"_lifecycle$",new V.BehaviorSubject(It.Starting));g(this,"lifecycle$",this._lifecycle$.asObservable());g(this,"_lock",!1);this._logService=n,this._reportProgress(It.Starting)}get stage(){return this._lifecycle$.getValue()}set stage(n){if(n<this.stage)throw new Error("[LifecycleService]: lifecycle stage cannot go backward!");if(n!==this.stage){if(this._lock)throw new Error("[LifecycleService]: cannot set new stage when related logic is all handled!");this._lock=!0,this._reportProgress(n),this._lifecycle$.next(n),this._lock=!1}}dispose(){this._lifecycle$.complete(),super.dispose()}subscribeWithPrevious(){return new V.Observable(n=>{this.stage===It.Starting||(this.stage===It.Ready?n.next(It.Starting):this.stage===It.Rendered?(n.next(It.Starting),n.next(It.Ready)):(n.next(It.Starting),n.next(It.Ready),n.next(It.Rendered))),this._lifecycle$.subscribe(s=>{n.next(s),s===It.Steady&&n.complete()})})}_reportProgress(n){this._logService.debug("[LifecycleService]",`lifecycle progressed to "${ou[n]}".`)}},u.LifecycleService=ji([gs(0,Ee)],u.LifecycleService),u.LifecycleInitializerService=class extends yt{constructor(n,s){super();g(this,"_seenTokens",new Set);this._lifecycleService=n,this._injector=s}initModulesOnStage(n){var s;(s=wn.get(n))==null||s.forEach(r=>{this._injector.has(r)&&!this._seenTokens.has(r)&&(this._injector.get(r),this._seenTokens.add(r))})}},u.LifecycleInitializerService=ji([gs(0,ut.Inject(u.LifecycleService)),gs(1,ut.Inject(ut.Injector))],u.LifecycleInitializerService);class Qe extends yt{constructor(){super();g(this,"_currentLocale$",new V.BehaviorSubject(Ie.ZH_CN));g(this,"currentLocale$",this._currentLocale$.asObservable());g(this,"_locales",null);g(this,"localeChanged$",new V.Subject);g(this,"t",(n,...s)=>{if(!this._locales)throw new Error("[LocaleService]: Locale not initialized");const r=n.split("."),i=this.resolveKeyPath(this._locales[this._currentLocale],r);if(typeof i=="string"){let o=i;return s.forEach((l,a)=>{o=o.replace(`{${a}}`,l)}),o}else return n});this.disposeWithMe(At(()=>this.localeChanged$.complete()))}get _currentLocale(){return this._currentLocale$.value}load(n){var s;this._locales=y.deepMerge((s=this._locales)!=null?s:{},n)}setLocale(n){this._currentLocale$.next(n),this.localeChanged$.next()}getLocales(){var n;return(n=this._locales)==null?void 0:n[this._currentLocale]}getCurrentLocale(){return this._currentLocale}resolveKeyPath(n,s){const r=s.shift();if(r&&n&&r in n){const i=n[r];return s.length>0&&(typeof i=="object"||Array.isArray(i))?this.resolveKeyPath(i,s):i}return null}}var ms=(t=>(t.INIT="init",t.FETCHING="fetching",t.DONE="done",t))(ms||{});const Es=ut.createIdentifier("univer.permission-service");Tn(It.Starting,Es);class Vi extends yt{constructor(){super(...arguments);g(this,"_permissionPointMap",new Map);g(this,"_permissionPointUpdate$",new V.Subject);g(this,"permissionPointUpdate$",this._permissionPointUpdate$.asObservable())}deletePermissionPoint(n){const s=this._permissionPointMap.get(n);s&&(s.complete(),this._permissionPointMap.delete(n))}addPermissionPoint(n){const s=n instanceof V.BehaviorSubject,r=s?n.getValue():n;if(!r.id)return!1;if(this._permissionPointMap.get(r.id))throw new Error(`${r.id} PermissionPoint already exists`);return this._permissionPointMap.set(r.id,s?n:new V.BehaviorSubject(r)),this._permissionPointUpdate$.next(r),!0}updatePermissionPoint(n,s){const r=this._permissionPointMap.get(n);if(!r)return;const i=r.getValue();i.value=s,i.status=ms.DONE,r.next({...i}),this._permissionPointUpdate$.next(i)}clearPermissionMap(){this._permissionPointMap.clear()}getPermissionPoint(n){const s=this._permissionPointMap.get(n);if(s)return s.getValue()}getPermissionPoint$(n){const s=this._permissionPointMap.get(n);if(s)return s}composePermission$(n){const s=n.map(r=>{var o;const i=(o=this._permissionPointMap)==null?void 0:o.get(r);if(!i)throw new Error(`[PermissionService]: ${r} permissionPoint does not exist!`);return i.asObservable()});return V.combineLatest(s).pipe(oe.map(r=>r))}composePermission(n){return n.map(r=>{var o;const i=(o=this._permissionPointMap)==null?void 0:o.get(r);if(!i)throw new Error(`[PermissionService]: ${r} permissionPoint does not exist!`);return i.getValue()})}getAllPermissionPoint(){const n=new Map;return this._permissionPointMap.forEach((s,r)=>{n.set(r,s)}),n}}class Ki extends yt{constructor(){super(...arguments);g(this,"_resourceMap",new Map);g(this,"_register$",new V.Subject);g(this,"register$",this._register$.asObservable())}getAllResourceHooks(){return[...this._resourceMap.values()]}getResources(n){return this.getAllResourceHooks().map(i=>{const o=i.toJson(n);return{name:i.pluginName,data:o}})}getResourcesByType(n,s){return this.getAllResourceHooks().filter(o=>o.businesses.includes(s)).map(o=>{const l=o.toJson(n);return{name:o.pluginName,data:l}})}registerPluginResource(n){const s=n.pluginName;if(this._resourceMap.has(s))throw new Error(`the pluginName is registered {${s}}`);return this._resourceMap.set(s,n),this._register$.next(n),At(()=>this._resourceMap.delete(s))}disposePluginResource(n){this._resourceMap.delete(n)}loadResources(n,s){this.getAllResourceHooks().forEach(r=>{var o;const i=(o=s==null?void 0:s.find(l=>l.name===r.pluginName))==null?void 0:o.data;if(i)try{const l=r.parseJson(i);r.onLoad(n,l)}catch{console.error("LoadResources Error!")}})}unloadResources(n){this.getAllResourceHooks().forEach(s=>{s.onUnLoad(n)})}dispose(){this._register$.complete(),this._resourceMap.clear()}}const Mn=ut.createIdentifier("resource-manager-service");var uu=Object.defineProperty,cu=Object.getOwnPropertyDescriptor,hu=(t,e,n,s)=>{for(var r=s>1?void 0:s?cu(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(r=(s?o(e,n,r):o(r))||r);return s&&r&&uu(e,n,r),r},Yi=(t,e)=>(n,s)=>e(n,s,t);let Rs=class extends yt{constructor(e,n){super();g(this,"saveWorkbook",e=>{const n=e.getUnitId(),s=this._resourceManagerService.getResources(n)||[],r=e.getSnapshot();return r.resources=s,r});this._resourceManagerService=e,this._univerInstanceService=n,this._init()}_init(){const e=s=>{s.businesses.forEach(r=>{switch(r){case Q.UNRECOGNIZED:case Q.UNIVER_UNKNOWN:case Q.UNIVER_SLIDE:case Q.UNIVER_DOC:{this._univerInstanceService.getAllUnitsForType(Q.UNIVER_DOC).forEach(i=>{const l=(i.getSnapshot().resources||[]).find(a=>a.name===s.pluginName);if(l)try{const a=s.parseJson(l.data);s.onLoad(i.getUnitId(),a)}catch{console.error(`Load Document{${i.getUnitId()}} Resources{${s.pluginName}} Data Error.`)}});break}case Q.UNIVER_SHEET:this._univerInstanceService.getAllUnitsForType(Q.UNIVER_SHEET).forEach(i=>{const l=(i.getSnapshot().resources||[]).find(a=>a.name===s.pluginName);if(l)try{const a=s.parseJson(l.data);s.onLoad(i.getUnitId(),a)}catch{console.error(`Load Workbook{${i.getUnitId()}} Resources{${s.pluginName}} Data Error.`)}})}})};this._resourceManagerService.getAllResourceHooks().forEach(s=>{e(s)}),this.disposeWithMe(this._resourceManagerService.register$.subscribe(s=>{e(s)})),this.disposeWithMe(At(this._univerInstanceService.getTypeOfUnitAdded$(Q.UNIVER_SHEET).subscribe(s=>{this._resourceManagerService.loadResources(s.getUnitId(),s.getSnapshot().resources)}))),this.disposeWithMe(At(this._univerInstanceService.getTypeOfUnitDisposed$(Q.UNIVER_SHEET).subscribe(s=>{this._resourceManagerService.unloadResources(s.getUnitId())})))}saveDoc(e){const n=e.getUnitId(),s=this._resourceManagerService.getResourcesByType(n,Q.UNIVER_DOC)||[],r=e.getSnapshot();return r.resources=s,r}};Rs=hu([Yi(0,ut.Inject(Mn)),Yi(1,ut.Inject(He))],Rs);const Cs=ut.createIdentifier("resource-loader-service");Tn(It.Ready,Cs);class ps extends yt{constructor(){super();g(this,"_currentTheme");g(this,"_currentTheme$",new V.BehaviorSubject({}));g(this,"currentTheme$",this._currentTheme$.asObservable());this.disposeWithMe(At(()=>this._currentTheme$.complete()))}getCurrentTheme(){if(!this._currentTheme)throw new Error("[ThemeService]: current theme is not set!");return this._currentTheme}setTheme(n){this._currentTheme=n,this._currentTheme$.next(n)}}const Un="__INTERNAL_EDITOR__",zi=`${Un}DOCS_NORMAL`,Xi=`${Un}DOCS_FORMULA_BAR`,du=`\r
|
|
6
|
+
`,textRuns:[],paragraphs:[{startIndex:0,paragraphStyle:{spaceAbove:5,lineSpacing:1,spaceBelow:0}}],sectionBreaks:[{startIndex:1}]},documentStyle:{pageSize:{width:793.3333333333334,height:1122.6666666666667},marginTop:50,marginBottom:50,marginRight:40,marginLeft:40,renderConfig:{vertexAngle:0,centerAngle:0}},settings:{}}}var Bt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Na(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Gt={},Ci={},ns={};Object.defineProperty(ns,"__esModule",{value:!0});function Aa(t,e){if(Array.isArray(e))return!1;for(let n in t)if(!ss(t[n],e[n]))return!1;for(let n in e)if(t[n]===void 0)return!1;return!0}function ba(t,e){if(!Array.isArray(e)||t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(!ss(t[n],e[n]))return!1;return!0}function ss(t,e){return t===e?!0:t===null||e===null||typeof t!="object"||typeof e!="object"?!1:Array.isArray(t)?ba(t,e):Aa(t,e)}ns.default=ss;var rs={};Object.defineProperty(rs,"__esModule",{value:!0});function is(t){if(t===null)return null;if(Array.isArray(t))return t.map(is);if(typeof t=="object"){const e={};for(let n in t)e[n]=is(t[n]);return e}else return t}rs.default=is;var os={};(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.eachChildOf=t.advancer=t.readCursor=t.writeCursor=t.WriteCursor=t.ReadCursor=t.isValidPathItem=void 0;function e(d,c){if(!d)throw new Error(c)}const n=d=>d!=null&&typeof d=="object"&&!Array.isArray(d),s=(d,c)=>typeof d==typeof c?d>c:typeof d=="string"&&typeof c=="number";function r(d,c){for(let f in d){const _=f;c.write(_,d[_])}}t.isValidPathItem=d=>typeof d=="number"||typeof d=="string"&&d!=="__proto__";class i{constructor(c=null){this.parents=[],this.indexes=[],this.lcIdx=-1,this.idx=-1,this.container=c}ascend(){e(this.parents.length===this.indexes.length/2),this.idx===0?this.parents.length?(this.lcIdx=this.indexes.pop(),this.container=this.parents.pop(),this.idx=this.indexes.pop()):(this.lcIdx=0,this.idx=-1):(e(this.idx>0),this.idx--,n(this.container[this.idx])&&this.idx--)}getPath(){const c=[];let f=this.container,_=this.parents.length-1,E=this.idx;for(;E>=0;)c.unshift(f[E]),E===0?(E=this.indexes[_*2],f=this.parents[_--]):E-=n(f[E-1])?2:1;return c}}class o extends i{get(){return this.container?this.container.slice(this.idx+1):null}getKey(){return e(this.container!=null,"Invalid call to getKey before cursor descended"),this.container[this.idx]}getComponent(){let c;return this.container&&this.container.length>this.idx+1&&n(c=this.container[this.idx+1])?c:null}descendFirst(){let c=this.idx+1;if(!this.container||c>=this.container.length||n(this.container[c])&&c+1>=this.container.length)return!1;n(this.container[c])&&c++;const f=this.container[c];return Array.isArray(f)?(this.indexes.push(this.idx),this.parents.push(this.container),this.indexes.push(c),this.idx=0,this.container=f):this.idx=c,!0}nextSibling(){if(e(this.parents.length===this.indexes.length/2),this.idx>0||this.parents.length===0)return!1;const c=this.indexes[this.indexes.length-1]+1,f=this.parents[this.parents.length-1];return c>=f.length?!1:(e(!isNaN(c)),this.indexes[this.indexes.length-1]=c,this.container=f[c],!0)}_init(c,f,_,E){this.container=c,this.idx=f,this.parents=_.slice(),this.indexes=E.slice()}clone(){const c=new o;return c._init(this.container,this.idx,this.parents,this.indexes),c}*[Symbol.iterator](){if(this.descendFirst()){do yield this.getKey();while(this.nextSibling());this.ascend()}}traverse(c,f){const _=this.getComponent();_&&f(_,c);for(const E of this)c&&c.descend(E),this.traverse(c,f),c&&c.ascend()}eachPick(c,f){this.traverse(c,(_,E)=>{_.p!=null&&f(_.p,E)})}eachDrop(c,f){this.traverse(c,(_,E)=>{_.d!=null&&f(_.d,E)})}}t.ReadCursor=o;class l extends i{constructor(c=null){super(c),this.pendingDescent=[],this._op=c}flushDescent(){e(this.parents.length===this.indexes.length/2),this.container===null&&(this._op=this.container=[]);for(let c=0;c<this.pendingDescent.length;c++){const f=this.pendingDescent[c];let _=this.idx+1;if(_<this.container.length&&n(this.container[_])&&_++,e(_===this.container.length||!n(this.container[_])),_===this.container.length)this.container.push(f),this.idx=_;else if(this.container[_]===f)this.idx=_;else{if(!Array.isArray(this.container[_])){const E=this.container.splice(_,this.container.length-_);this.container.push(E),this.lcIdx>-1&&(this.lcIdx=_)}for(this.indexes.push(this.idx),this.parents.push(this.container),this.lcIdx!==-1&&(e(s(f,this.container[this.lcIdx][0])),_=this.lcIdx+1,this.lcIdx=-1);_<this.container.length&&s(f,this.container[_][0]);)_++;if(this.indexes.push(_),this.idx=0,_<this.container.length&&this.container[_][0]===f)this.container=this.container[_];else{const E=[f];this.container.splice(_,0,E),this.container=E}}}this.pendingDescent.length=0}reset(){this.lcIdx=-1}getComponent(){this.flushDescent();const c=this.idx+1;if(c<this.container.length&&n(this.container[c]))return this.container[c];{const f={};return this.container.splice(c,0,f),f}}write(c,f){const _=this.getComponent();e(_[c]==null||_[c]===f,"Internal consistency error: Overwritten component. File a bug"),_[c]=f}get(){return this._op}descend(c){if(!t.isValidPathItem(c))throw Error("Invalid JSON key");this.pendingDescent.push(c)}descendPath(c){return this.pendingDescent.push(...c),this}ascend(){this.pendingDescent.length?this.pendingDescent.pop():super.ascend()}mergeTree(c,f=r){if(c===null)return;if(e(Array.isArray(c)),c===this._op)throw Error("Cannot merge into my own tree");const _=this.lcIdx,E=this.parents.length;let R=0;for(let H=0;H<c.length;H++){const k=c[H];typeof k=="string"||typeof k=="number"?(R++,this.descend(k)):Array.isArray(k)?this.mergeTree(k,f):typeof k=="object"&&f(k,this)}for(;R--;)this.ascend();this.lcIdx=this.parents.length===E?_:-1}at(c,f){this.descendPath(c),f(this);for(let _=0;_<c.length;_++)this.ascend();return this}writeAtPath(c,f,_){return this.at(c,()=>this.write(f,_)),this.reset(),this}writeMove(c,f,_=0){return this.writeAtPath(c,"p",_).writeAtPath(f,"d",_)}getPath(){const c=super.getPath();return c.push(...this.pendingDescent),c}}t.WriteCursor=l,t.writeCursor=()=>new l,t.readCursor=d=>new o(d);function a(d,c,f){let _,E;E=_=d?d.descendFirst():!1;function R(H){let k;for(;E;){const et=k=d.getKey();if(H!=null){let mt=!1;if(c&&typeof et=="number"&&(k=c(et,d.getComponent()),k<0&&(k=~k,mt=!0)),s(k,H))return null;if(k===H&&!mt)return d}f&&typeof k=="number"&&f(k,d.getComponent()),E=d.nextSibling()}return null}return R.end=()=>{_&&d.ascend()},R}t.advancer=a;function h(d,c,f){let _,E,R,H;for(_=E=d&&d.descendFirst(),R=H=c&&c.descendFirst();_||R;){let k=_?d.getKey():null,et=R?c.getKey():null;k!==null&&et!==null&&(s(et,k)?et=null:k!==et&&(k=null)),f(k==null?et:k,k!=null?d:null,et!=null?c:null),k!=null&&_&&(_=d.nextSibling()),et!=null&&R&&(R=c.nextSibling())}E&&d.ascend(),H&&c.ascend()}t.eachChildOf=h})(os);var ls={};(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ConflictType=void 0,function(e){e[e.RM_UNEXPECTED_CONTENT=1]="RM_UNEXPECTED_CONTENT",e[e.DROP_COLLISION=2]="DROP_COLLISION",e[e.BLACKHOLE=3]="BLACKHOLE"}(t.ConflictType||(t.ConflictType={}))})(ls);var as={},be={},pi;function us(){return pi||(pi=1,Object.defineProperty(be,"__esModule",{value:!0}),be.uniToStrPos=be.strPosToUni=void 0,be.strPosToUni=(t,e=t.length)=>{let n=0,s=0;for(;s<e;s++){const r=t.charCodeAt(s);r>=55296&&r<=57343&&(n++,s++)}if(s!==e)throw Error("Invalid offset - splits unicode bytes");return s-n},be.uniToStrPos=(t,e)=>{let n=0;for(;e>0;e--){const s=t.charCodeAt(n);n+=s>=55296&&s<=57343?2:1}return n}),be}var cs={},Ii;function hs(){return Ii||(Ii=1,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.uniSlice=t.dlen=t.eachOp=void 0;const e=us(),n=C=>{if(!Array.isArray(C))throw Error("Op must be an array of components");let S=null;for(let w=0;w<C.length;w++){const q=C[w];switch(typeof q){case"object":if(typeof q.d!="number"&&typeof q.d!="string")throw Error("Delete must be number or string");if(t.dlen(q.d)<=0)throw Error("Deletes must not be empty");break;case"string":if(!(q.length>0))throw Error("Inserts cannot be empty");break;case"number":if(!(q>0))throw Error("Skip components must be >0");if(typeof S=="number")throw Error("Adjacent skip components should be combined");break}S=q}if(typeof S=="number")throw Error("Op has a trailing skip")};function s(C,S){let w=0,q=0;for(let st=0;st<C.length;st++){const J=C[st];switch(S(J,w,q),typeof J){case"object":w+=t.dlen(J.d);break;case"string":q+=e.strPosToUni(J);break;case"number":w+=J,q+=J;break}}}t.eachOp=s;function r(C,S){const w=[],q=l(w);return s(C,(st,J,Yt)=>{q(S(st,J,Yt))}),c(w)}const i=C=>C,o=C=>r(C,i);t.dlen=C=>typeof C=="number"?C:e.strPosToUni(C);const l=C=>S=>{if(!(!S||S.d===0||S.d===""))if(C.length===0)C.push(S);else if(typeof S==typeof C[C.length-1])if(typeof S=="object"){const w=C[C.length-1];w.d=typeof w.d=="string"&&typeof S.d=="string"?w.d+S.d:t.dlen(w.d)+t.dlen(S.d)}else C[C.length-1]+=S;else C.push(S)},a=C=>typeof C=="number"?C:typeof C=="string"?e.strPosToUni(C):typeof C.d=="number"?C.d:e.strPosToUni(C.d);t.uniSlice=(C,S,w)=>{const q=e.uniToStrPos(C,S),st=w==null?1/0:e.uniToStrPos(C,w);return C.slice(q,st)};const h=(C,S,w)=>typeof C=="number"?w==null?C-S:Math.min(C,w)-S:t.uniSlice(C,S,w),d=C=>{let S=0,w=0;return{take:(J,Yt)=>{if(S===C.length)return J===-1?null:J;const bt=C[S];let _t;if(typeof bt=="number")return J===-1||bt-w<=J?(_t=bt-w,++S,w=0,_t):(w+=J,J);if(typeof bt=="string"){if(J===-1||Yt==="i"||e.strPosToUni(bt.slice(w))<=J)return _t=bt.slice(w),++S,w=0,_t;{const Ot=w+e.uniToStrPos(bt.slice(w),J);return _t=bt.slice(w,Ot),w=Ot,_t}}else{if(J===-1||Yt==="d"||t.dlen(bt.d)-w<=J)return _t={d:h(bt.d,w)},++S,w=0,_t;{let Ot=h(bt.d,w,w+J);return w+=J,{d:Ot}}}},peek:()=>C[S]}},c=C=>(C.length>0&&typeof C[C.length-1]=="number"&&C.pop(),C);function f(C,S,w){if(w!=="left"&&w!=="right")throw Error("side ("+w+") must be 'left' or 'right'");n(C),n(S);const q=[],st=l(q),{take:J,peek:Yt}=d(C);for(let _t=0;_t<S.length;_t++){const Ot=S[_t];let Ut,zt;switch(typeof Ot){case"number":for(Ut=Ot;Ut>0;)zt=J(Ut,"i"),st(zt),typeof zt!="string"&&(Ut-=a(zt));break;case"string":w==="left"&&typeof Yt()=="string"&&st(J(-1)),st(e.strPosToUni(Ot));break;case"object":for(Ut=t.dlen(Ot.d);Ut>0;)switch(zt=J(Ut,"i"),typeof zt){case"number":Ut-=zt;break;case"string":st(zt);break;case"object":Ut-=t.dlen(zt.d)}break}}let bt;for(;bt=J(-1);)st(bt);return c(q)}function _(C,S){n(C),n(S);const w=[],q=l(w),{take:st}=d(C);for(let Yt=0;Yt<S.length;Yt++){const bt=S[Yt];let _t,Ot;switch(typeof bt){case"number":for(_t=bt;_t>0;)Ot=st(_t,"d"),q(Ot),typeof Ot!="object"&&(_t-=a(Ot));break;case"string":q(bt);break;case"object":_t=t.dlen(bt.d);let Ut=0;for(;Ut<_t;)switch(Ot=st(_t-Ut,"d"),typeof Ot){case"number":q({d:h(bt.d,Ut,Ut+Ot)}),Ut+=Ot;break;case"string":Ut+=e.strPosToUni(Ot);break;case"object":q(Ot)}break}}let J;for(;J=st(-1);)q(J);return c(w)}const E=(C,S)=>{let w=0;for(let q=0;q<S.length&&C>w;q++){const st=S[q];switch(typeof st){case"number":{w+=st;break}case"string":const J=e.strPosToUni(st);w+=J,C+=J;break;case"object":C-=Math.min(t.dlen(st.d),C-w);break}}return C},R=(C,S)=>typeof C=="number"?E(C,S):C.map(w=>E(w,S));function H(C,S,w){return r(C,(q,st)=>typeof q=="object"&&typeof q.d=="number"?{d:w.slice(S,st,st+q.d)}:q)}function k(C){return r(C,S=>{switch(typeof S){case"object":if(typeof S.d=="number")throw Error("Cannot invert text op: Deleted characters missing from operation. makeInvertible must be called first.");return S.d;case"string":return{d:S};case"number":return S}})}function et(C){return r(C,S=>typeof S=="object"&&typeof S.d=="string"?{d:e.strPosToUni(S.d)}:S)}function mt(C){let S=!0;return s(C,w=>{typeof w=="object"&&typeof w.d=="number"&&(S=!1)}),S}function ft(C){return{name:"text-unicode",uri:"http://sharejs.org/types/text-unicode",trim:c,normalize:o,checkOp:n,create(S=""){if(typeof S!="string")throw Error("Initial data must be a string");return C.create(S)},apply(S,w){n(w);const q=C.builder(S);for(let st=0;st<w.length;st++){const J=w[st];switch(typeof J){case"number":q.skip(J);break;case"string":q.append(J);break;case"object":q.del(t.dlen(J.d));break}}return q.build()},transform:f,compose:_,transformPosition:E,transformSelection:R,isInvertible:mt,makeInvertible(S,w){return H(S,w,C)},stripInvertible:et,invert:k,invertWithDoc(S,w){return k(H(S,w,C))},isNoop:S=>S.length===0}}t.default=ft}(cs)),cs}var An={},Oi;function va(){if(Oi)return An;Oi=1,Object.defineProperty(An,"__esModule",{value:!0});const t=hs(),e=us();function n(s,r){return{get:s,getLength(){return s().length},insert(i,o,l){const a=e.strPosToUni(s(),i);return r([a,o],l)},remove(i,o,l){const a=e.strPosToUni(s(),i);return r([a,{d:o}],l)},_onOp(i){t.eachOp(i,(o,l,a)=>{switch(typeof o){case"string":this.onInsert&&this.onInsert(a,o);break;case"object":const h=t.dlen(o.d);this.onRemove&&this.onRemove(a,h)}})},onInsert:null,onRemove:null}}return An.default=n,n.provides={text:!0},An}var Si;function wa(){return Si||(Si=1,function(t){var e=Bt&&Bt.__createBinding||(Object.create?function(f,_,E,R){R===void 0&&(R=E),Object.defineProperty(f,R,{enumerable:!0,get:function(){return _[E]}})}:function(f,_,E,R){R===void 0&&(R=E),f[R]=_[E]}),n=Bt&&Bt.__setModuleDefault||(Object.create?function(f,_){Object.defineProperty(f,"default",{enumerable:!0,value:_})}:function(f,_){f.default=_}),s=Bt&&Bt.__importStar||function(f){if(f&&f.__esModule)return f;var _={};if(f!=null)for(var E in f)Object.hasOwnProperty.call(f,E)&&e(_,f,E);return n(_,f),_},r=Bt&&Bt.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(t,"__esModule",{value:!0}),t.type=t.remove=t.insert=void 0;const i=us(),o=s(hs()),l=r(va()),a={create(f){return f},toString(f){return f},builder(f){if(typeof f!="string")throw Error("Invalid document snapshot: "+f);const _=[];return{skip(E){let R=i.uniToStrPos(f,E);if(R>f.length)throw Error("The op is too long for this document");_.push(f.slice(0,R)),f=f.slice(R)},append(E){_.push(E)},del(E){f=f.slice(i.uniToStrPos(f,E))},build(){return _.join("")+f}}},slice:o.uniSlice},h=o.default(a),d=Object.assign(Object.assign({},h),{api:l.default});t.type=d,t.insert=(f,_)=>_.length===0?[]:f===0?[_]:[f,_],t.remove=(f,_)=>o.dlen(_)===0?[]:f===0?[{d:_}]:[f,{d:_}];var c=hs();Object.defineProperty(t,"makeType",{enumerable:!0,get:function(){return c.default}})}(as)),as}(function(t){var e=Bt&&Bt.__importDefault||function(m){return m&&m.__esModule?m:{default:m}};Object.defineProperty(t,"__esModule",{value:!0}),t.editOp=t.replaceOp=t.insertOp=t.moveOp=t.removeOp=t.type=void 0;const n=e(ns),s=e(rs),r=os,i=ls;function o(m,p){if(!m)throw new Error(p)}t.type={name:"json1",uri:"http://sharejs.org/types/JSONv1",readCursor:r.readCursor,writeCursor:r.writeCursor,create:m=>m,isNoop:m=>m==null,setDebug(m){},registerSubtype:k,checkValidOp:st,normalize:J,apply:Yt,transformPosition:bt,compose:_t,tryTransform:ws,transform:ac,makeInvertible:zt,invert:Ot,invertWithDoc:lc,RM_UNEXPECTED_CONTENT:i.ConflictType.RM_UNEXPECTED_CONTENT,DROP_COLLISION:i.ConflictType.DROP_COLLISION,BLACKHOLE:i.ConflictType.BLACKHOLE,transformNoConflict:(m,p,A)=>So(()=>!0,m,p,A),typeAllowingConflictsPred:m=>Object.assign(Object.assign({},t.type),{transform:(p,A,U)=>So(m,p,A,U)})};const l=m=>m?m.getComponent():null;function a(m){return m&&typeof m=="object"&&!Array.isArray(m)}const h=m=>Array.isArray(m)?m.slice():m!==null&&typeof m=="object"?Object.assign({},m):m,d=m=>m&&(m.p!=null||m.r!==void 0),c=m=>m&&(m.d!=null||m.i!==void 0);function f(m,p){return o(m!=null),typeof p=="number"?(o(Array.isArray(m),"Invalid key - child is not an array"),(m=m.slice()).splice(p,1)):(o(a(m),"Invalid key - child is not an object"),delete(m=Object.assign({},m))[p]),m}function _(m,p,A){return typeof p=="number"?(o(m!=null,"Container is missing for key"),o(Array.isArray(m),"Cannot use numerical key for object container"),o(m.length>=p,"Cannot insert into out of bounds index"),m.splice(p,0,A)):(o(a(m),"Cannot insert into missing item"),o(m[p]===void 0,"Trying to overwrite value at key. Your op needs to remove it first"),m[p]=A),A}t.removeOp=(m,p=!0)=>r.writeCursor().writeAtPath(m,"r",p).get(),t.moveOp=(m,p)=>r.writeCursor().writeMove(m,p).get(),t.insertOp=(m,p)=>r.writeCursor().writeAtPath(m,"i",p).get(),t.replaceOp=(m,p,A)=>r.writeCursor().at(m,U=>{U.write("r",p),U.write("i",A)}).get(),t.editOp=(m,p,A,U=!1)=>r.writeCursor().at(m,b=>S(b,p,A,U)).get();const E=(m,p)=>m!=null&&(typeof p=="number"?Array.isArray(m):typeof m=="object"),R=(m,p)=>E(m,p)?m[p]:void 0,H={};function k(m){let p=m.type?m.type:m;p.name&&(H[p.name]=p),p.uri&&(H[p.uri]=p)}const et=m=>{const p=H[m];if(p)return p;throw Error("Missing type: "+m)};k(wa());const mt=(m,p)=>m+p;k({name:"number",apply:mt,compose:mt,invert:m=>-m,transform:m=>m});const ft=m=>m==null?null:m.et?et(m.et):m.es?H["text-unicode"]:m.ena!=null?H.number:null,C=m=>m.es?m.es:m.ena!=null?m.ena:m.e,S=(m,p,A,U=!1)=>{const[b,M]=typeof p=="string"?[et(p),p]:[p,p.name];!U&&b.isNoop&&b.isNoop(A)||(M==="number"?m.write("ena",A):M==="text-unicode"?m.write("es",A):(m.write("et",M),m.write("e",A)))};function w(m){o(typeof m=="number"),o(m>=0),o(m===(0|m))}function q(m){typeof m=="number"?w(m):o(typeof m=="string")}function st(m){if(m===null)return;const p=new Set,A=new Set,U=M=>{let j=!0,G=!1;for(let I in M){const N=M[I];if(j=!1,o(I==="p"||I==="r"||I==="d"||I==="i"||I==="e"||I==="es"||I==="ena"||I==="et","Invalid component item '"+I+"'"),I==="p")w(N),o(!p.has(N)),p.add(N),o(M.r===void 0);else if(I==="d")w(N),o(!A.has(N)),A.add(N),o(M.i===void 0);else if(I==="e"||I==="es"||I==="ena"){o(!G),G=!0;const v=ft(M);o(v,"Missing type in edit"),v.checkValidOp&&v.checkValidOp(C(M))}}o(!j)},b=(M,j,G)=>{if(!Array.isArray(M))throw Error("Op must be null or a list");if(M.length===0)throw Error("Empty descent");j||q(M[0]);let I=1,N=0,v=0;for(let T=0;T<M.length;T++){const x=M[T];if(o(x!=null),Array.isArray(x)){const K=b(x,!1);if(N){const O=typeof v,$=typeof K;O===$?o(v<K,"descent keys are not in order"):o(O==="number"&&$==="string")}v=K,N++,I=3}else typeof x=="object"?(o(I===1,`Prev not scalar - instead ${I}`),U(x),I=2):(o(I!==3),q(x),o(r.isValidPathItem(x),"Invalid path key"),I=1)}return o(N!==1,"Operation makes multiple descents. Remove some []"),o(I===2||I===3),M[0]};b(m,!0),o(p.size===A.size,"Mismatched picks and drops in op");for(let M=0;M<p.size;M++)o(p.has(M)),o(A.has(M))}function J(m){let p=0,A=[];const U=r.writeCursor();return U.mergeTree(m,(b,M)=>{const j=ft(b);if(j){const I=C(b);S(M,j,j.normalize?j.normalize(I):I)}for(const I of["r","p","i","d"])if(b[I]!==void 0){const N=I==="p"||I==="d"?(G=b[I],A[G]==null&&(A[G]=p++),A[G]):b[I];M.write(I,N)}var G}),U.get()}function Yt(m,p){if(st(p),p===null)return m;const A=[];return function U(b,M){let j=b,G=0,I={root:b},N=0,v=I,T="root";function x(){for(;N<G;N++){let K=M[N];typeof K!="object"&&(o(E(v,T)),v=v[T]=h(v[T]),T=K)}}for(;G<M.length;G++){const K=M[G];if(Array.isArray(K)){const O=U(j,K);O!==j&&O!==void 0&&(x(),j=v[T]=O)}else if(typeof K=="object"){K.d!=null?(x(),j=_(v,T,A[K.d])):K.i!==void 0&&(x(),j=_(v,T,K.i));const O=ft(K);if(O)x(),j=v[T]=O.apply(j,C(K));else if(K.e!==void 0)throw Error("Subtype "+K.et+" undefined")}else j=R(j,K)}return I.root}(m=function U(b,M){const j=[];let G=0;for(;G<M.length;G++){const T=M[G];if(Array.isArray(T))break;typeof T!="object"&&(j.push(b),b=R(b,T))}for(let T=M.length-1;T>=G;T--)b=U(b,M[T]);for(--G;G>=0;G--){const T=M[G];if(typeof T!="object"){const x=j.pop();b=b===R(x,T)?x:b===void 0?f(x,T):(N=T,v=b,(I=h(I=x))[N]=v,I)}else d(T)&&(o(b!==void 0,"Cannot pick up or remove undefined"),T.p!=null&&(A[T.p]=b),b=void 0)}var I,N,v;return b}(m,p),p)}function bt(m,p){m=m.slice(),st(p);const A=r.readCursor(p);let U,b,M=!1;const j=[];for(let I=0;;I++){const N=m[I],v=A.getComponent();if(v&&(v.r!==void 0?M=!0:v.p!=null&&(M=!1,U=v.p,b=I)),I>=m.length)break;let T=0;const x=r.advancer(A,void 0,(O,$)=>{d($)&&T++});j.unshift(x);const K=x(N);if(typeof N=="number"&&(m[I]-=T),!K)break}if(j.forEach(I=>I.end()),M)return null;const G=()=>{let I=0;if(U!=null){const N=A.getPath();I=N.length,m=N.concat(m.slice(b))}for(;I<m.length;I++){const N=m[I],v=l(A),T=ft(v);if(T){const O=C(v);T.transformPosition&&(m[I]=T.transformPosition(m[I],O));break}let x=0;const K=r.advancer(A,(O,$)=>c($)?~(O-x):O-x,(O,$)=>{c($)&&x++})(N);if(typeof N=="number"&&(m[I]+=x),!K)break}};return U!=null?A.eachDrop(null,I=>{I===U&&G()}):G(),m}function _t(m,p){if(st(m),st(p),m==null)return p;if(p==null)return m;let A=0;const U=r.readCursor(m),b=r.readCursor(p),M=r.writeCursor(),j=[],G=[],I=[],N=[],v=[],T=[],x=new Set;U.traverse(null,O=>{O.p!=null&&(I[O.p]=U.clone())}),b.traverse(null,O=>{O.d!=null&&(N[O.d]=b.clone())});const K=r.writeCursor();return function O($,gt,ct,Z,Rt,ue,Ht,Lt){o(gt||ct);const Ct=l(gt),Xt=l(ct),Qt=!!Xt&&Xt.r!==void 0,Te=!!Ct&&Ct.i!==void 0,qt=Ct?Ct.d:null,xt=Xt?Xt.p:null,ce=(ue||Qt)&&xt==null;if(xt!=null)Z=N[xt],Ht=G[xt]=new r.WriteCursor;else if(Xt&&Xt.r!==void 0)Z=null;else{const D=l(Z);D&&D.d!=null&&(Z=null)}const lt=l(Z);if(qt!=null)if($=I[qt],Lt=j[qt]=new r.WriteCursor,ce)ue&&!Qt&&Lt.write("r",!0);else{const D=v[qt]=A++;Ht.write("d",D)}else if(Ct&&Ct.i!==void 0)$=null;else{const D=l($);D&&D.p!=null&&($=null)}let P;Te?(o(Rt===void 0),P=Ct.i):P=Rt;const z=(xt==null?!Te||ue||Qt:P===void 0)?null:Ht.getComponent();if(xt!=null){if(!(Rt!==void 0||Te)){const D=qt!=null?v[qt]:A++;T[xt]=D,Lt.write("p",D)}}else Qt&&(Te||Rt!==void 0||(Xt.r,Lt.write("r",Xt.r)));const F=ce?null:ft(Ct),L=ft(lt);if((F||L)&&(F&&F.name,L&&L.name),F&&L){o(F===L);const D=C(Ct),X=C(lt),Tt=F.compose(D,X);S(Ht,F,Tt),x.add(lt)}else F?S(Ht,F,C(Ct)):L&&(S(Ht,L,C(lt)),x.add(lt));const W=typeof P=="object"&&P!=null;let rt=!1,it=0,at=0,wt=0,vt=0,pt=0;const Pt=r.advancer(Z,(D,X)=>c(X)?vt-D-1:D-vt,(D,X)=>{c(X)&&vt++}),nt=r.advancer($,(D,X)=>d(X)?it-D-1:D-it,(D,X)=>{d(X)&&it++});if(r.eachChildOf(gt,ct,(D,X,Tt)=>{let Ft,he,Me=D,te=D,rn=D;if(typeof D=="number"){let Dt=D+wt;he=Pt(Dt),te=Dt+vt;let St=D+at;Ft=nt(St),c(l(he))&&(Ft=null),Me=St+it,rn=D+pt,o(Me>=0,"p1PickKey is negative"),o(te>=0,"p2DropKey is negative");const ee=c(l(X)),de=d(l(Tt));(ee||de&&!ce)&&pt--,ee&&at--,de&&wt--}else Ft=nt(D),he=Pt(D);Lt.descend(Me),Ht.descend(te);const We=W&&!c(l(X))?P[rn]:void 0,re=O(Ft,X,Tt,he,We,ce,Ht,Lt);var ie,B,Et;W&&!ce?We!==re&&(rt||(P=Array.isArray(P)?P.slice():Object.assign({},P),rt=!0),ie=P,Et=re,typeof(B=rn)=="number"?(o(Array.isArray(ie)),o(B<ie.length)):(o(!Array.isArray(ie)),o(ie[B]!==void 0)),Et===void 0?typeof B=="number"?ie.splice(B,1):delete ie[B]:ie[B]=Et):o(re===void 0),Ht.ascend(),Lt.ascend()}),nt.end(),Pt.end(),z!=null)z.i=P;else if(!ue&&!Qt&&xt==null)return P}(U,U.clone(),b,b.clone(),void 0,!1,M,K),M.reset(),M.mergeTree(K.get()),M.reset(),M.get(),j.map(O=>O.get()),G.map(O=>O.get()),U.traverse(M,(O,$)=>{const gt=O.p;if(gt!=null){const ct=v[gt];ct!=null&&$.write("p",ct);const Z=j[gt];Z&&Z.get(),Z&&$.mergeTree(Z.get())}else O.r!==void 0&&$.write("r",O.r)}),M.reset(),M.get(),b.traverse(M,(O,$)=>{const gt=O.d;if(gt!=null){const Z=T[gt];Z!=null&&$.write("d",Z);const Rt=G[gt];Rt&&$.mergeTree(Rt.get())}else O.i!==void 0&&$.write("i",O.i);const ct=ft(O);ct&&!x.has(O)&&S($,ct,C(O))}),M.get()}function Ot(m){if(m==null)return null;const p=new r.ReadCursor(m),A=new r.WriteCursor;let U;const b=[],M=[];return function j(G,I,N){const v=G.getComponent();let T,x=!1;if(v){v.p!=null&&(I.write("d",v.p),b[v.p]=G.clone()),v.r!==void 0&&I.write("i",v.r),v.d!=null&&(I.write("p",v.d),N=void 0),v.i!==void 0&&(N=T=v.i);const O=ft(v);O&&(N===void 0?(U||(U=new Set),U.add(v)):(C(v),N=O.apply(N,C(v)),x=!0))}let K=0;for(const O of G){I.descend(O);const $=typeof O=="number"?O-K:O,gt=R(N,$);c(G.getComponent())&&K++;const ct=j(G,I,gt);if(N!==void 0&&ct!==void 0){if(x||(x=!0,N=h(N)),!E(N,$))throw Error("Cannot modify child - invalid operation");N[$]=ct}I.ascend()}if(T===void 0)return x?N:void 0;I.write("r",N)}(p,A,void 0),U&&(A.reset(),function j(G,I,N){const v=I.getComponent();if(v){const O=v.d;if(O!=null&&(G=b[O],N=M[O]=r.writeCursor()),U.has(v)){const $=ft(v);if(!$.invert)throw Error(`Cannot invert subtype ${$.name}`);S(N,$,$.invert(C(v)))}}let T=0,x=0;const K=r.advancer(G,(O,$)=>d($)?T-O-1:O-T,(O,$)=>{d($)&&T++});for(const O of I)if(typeof O=="number"){const $=O-x,gt=K($),ct=$+T;N.descend(ct),j(gt,I,N),c(I.getComponent())&&x++,N.ascend()}else N.descend(O),j(K(O),I,N),N.ascend();K.end()}(p.clone(),p,A),M.length&&(A.reset(),p.traverse(A,(j,G)=>{const I=j.p;if(I!=null){const N=M[I];N&&N.get(),N&&G.mergeTree(N.get())}}))),A.get()}const Ut=(m,p)=>m.some(A=>typeof A=="object"&&(Array.isArray(A)?Ut(A,p):p(A)));function zt(m,p){if(m==null||!Ut(m,I=>{var N;return I.r!==void 0||((N=ft(I))===null||N===void 0?void 0:N.makeInvertible)!=null}))return m;const A=new r.ReadCursor(m),U=new r.WriteCursor;let b=!1;const M=[],j=[],G=(I,N,v)=>{const T=I.getComponent();let x=!1;if(T){T.d!=null&&N.write("d",T.d),T.i!==void 0&&N.write("i",T.i);const O=T.p;if(O!=null&&(M[O]=I.clone(),o(v!==void 0,"Operation picks up at an invalid key"),j[O]=v,N.write("p",T.p)),T.r!==void 0&&v===void 0)throw Error("Invalid doc / op in makeInvertible: removed item missing from doc");const $=ft(T);$&&($.makeInvertible?b=!0:S(N,$,C(T),!0))}let K=0;for(const O of I){N.descend(O);const $=typeof O=="number"?O-K:O,gt=R(v,$),ct=G(I,N,gt);gt!==ct&&(x||(x=!0,v=h(v)),ct===void 0?(v=f(v,$),typeof O=="number"&&K++):v[$]=ct),N.ascend()}return T&&(T.r!==void 0?(N.write("r",s.default(v)),v=void 0):T.p!=null&&(v=void 0)),v};return G(A,U,p),U.get(),b&&(U.reset(),function I(N,v,T,x,K){const O=v.getComponent();if(O){O.i!==void 0?(x=O.i,K=!0):O.d!=null&&(x=j[O.d],N=M[O.d],K=!1,O.d);let Z=ft(O);if(Z&&Z.makeInvertible){const Rt=C(O);S(T,Z,Z.makeInvertible(Rt,x),!0)}}let $=0,gt=0;const ct=r.advancer(N,(Z,Rt)=>d(Rt)?$-Z-1:Z-$,(Z,Rt)=>{d(Rt)&&$++});for(const Z of v)if(typeof Z=="number"){const Rt=Z-gt,ue=ct(Rt),Ht=Rt+$,Lt=R(x,K?Rt:Ht);T.descend(Z),I(ue,v,T,Lt,K),c(v.getComponent())&>++,T.ascend()}else{const Rt=R(x,Z);T.descend(Z),I(ct(Z),v,T,Rt,K),T.ascend()}ct.end()}(A.clone(),A,U,p,!1)),U.get()}function lc(m,p){return Ot(zt(m,p))}const vs=m=>{if(m==null)return null;const p=m.slice();for(let A=0;A<m.length;A++){const U=p[A];Array.isArray(U)&&(p[A]=vs(U))}return p};function ws(m,p,A){o(A==="left"||A==="right","Direction must be left or right");const U=A==="left"?0:1;if(p==null)return{ok:!0,result:m};st(m),st(p);let b=null;const M=[],j=[],G=[],I=[],N=[],v=[],T=[],x=[],K=[],O=[],$=[],gt=[],ct=[],Z=[],Rt=[];let ue=0;const Ht=r.readCursor(m),Lt=r.readCursor(p),Ct=r.writeCursor();if(function lt(P,z=null,F){const L=l(z);L&&(L.r!==void 0?F=z.clone():L.p!=null&&(F=null,v[L.p]=P.clone()));const W=P.getComponent();let rt;W&&(rt=W.p)!=null&&(N[rt]=z?z.clone():null,G[rt]=P.clone(),F&&(O[rt]=!0,K[rt]=F),L&&L.p!=null&&(Z[rt]=L.p));const it=r.advancer(z);for(const at of P)lt(P,it(at),F);it.end()}(Lt,Ht,null),function lt(P,z,F,L,W){const rt=F.getComponent();let it,at=!1;rt&&((it=rt.d)!=null?(I[it]=F.clone(),L!=null&&(Rt[L]==null&&(Rt[L]=[]),Rt[L].push(it)),P=N[it]||null,z=G[it]||null,O[it]?(W&&($[it]=!0),W=K[it]||null):!W||U!==1&&Z[it]!=null||b==null&&(b={type:i.ConflictType.RM_UNEXPECTED_CONTENT,op1:t.removeOp(W.getPath()),op2:t.moveOp(z.getPath(),F.getPath())}),at=!0):rt.i!==void 0&&(P=z=null,at=!0,W&&b==null&&(b={type:i.ConflictType.RM_UNEXPECTED_CONTENT,op1:t.removeOp(W.getPath()),op2:t.insertOp(F.getPath(),rt.i)})));const wt=l(P);wt&&(wt.r!==void 0?W=P.clone():wt.p!=null&&(wt.p,L=wt.p,W=null));const vt=ft(rt);vt&&W&&b==null&&(b={type:i.ConflictType.RM_UNEXPECTED_CONTENT,op1:t.removeOp(W.getPath()),op2:t.editOp(F.getPath(),vt,C(rt),!0)});let pt=0,Pt=0;const nt=r.advancer(z,(X,Tt)=>d(Tt)?pt-X-1:X-pt,(X,Tt)=>{d(Tt)&&pt++}),D=r.advancer(P);for(const X of F)if(typeof X=="number"){const Tt=X-Pt,Ft=nt(Tt);Pt+=+lt(D(Tt+pt),Ft,F,L,W)}else{const Tt=nt(X);lt(D(X),Tt,F,L,W)}return nt.end(),D.end(),at}(Ht,Lt,Lt.clone(),null,null),I.map(lt=>lt&<.get()),b)return{ok:!1,conflict:b};$.map(lt=>!!lt);const Xt=[];let Qt=null;(function lt(P,z,F,L,W){let rt=!1;const it=l(z);if(d(it)){const nt=it.p;nt!=null?(F=I[nt],L=gt[nt]=r.writeCursor(),rt=!0,W=null):(F=null,W=z.clone())}else c(l(F))&&(F=null);const at=P.getComponent();if(at){const nt=at.p;nt!=null?(W&&(x[nt]=W),Xt[nt]=W||U===1&&rt?null:L.getComponent(),M[nt]=P.clone(),F&&(T[nt]=F.clone())):at.r!==void 0&&(W||L.write("r",!0),(W||rt)&&(Qt==null&&(Qt=new Set),Qt.add(at)))}let wt=0,vt=0;const pt=r.advancer(z,void 0,(nt,D)=>{d(D)&&wt++}),Pt=r.advancer(F,(nt,D)=>c(D)?~(nt-vt):nt-vt,(nt,D)=>{c(D)&&vt++});if(P)for(const nt of P)if(typeof nt=="string"){const D=pt(nt),X=Pt(nt);L.descend(nt),lt(P,D,X,L,W),L.ascend()}else{const D=pt(nt),X=nt-wt,Tt=d(l(D))?null:Pt(X),Ft=X+vt;o(Ft>=0),L.descend(Ft),lt(P,D,Tt,L,W),L.ascend()}pt.end(),Pt.end()})(Ht,Lt,Lt.clone(),Ct,null),Ct.reset();let Te=[];if(function lt(P,z,F,L,W,rt){o(z);const it=z.getComponent();let at=l(L),wt=!1;const vt=(B,Et,Dt)=>B?t.moveOp(B.getPath(),Et.getPath()):t.insertOp(Et.getPath(),Dt.i);if(c(it)){const B=it.d;B!=null&&(j[B]=z.clone());const Et=B!=null?Xt[B]:null;let Dt=!1;if(it.i!==void 0||B!=null&&Et){let St;at&&(at.i!==void 0||(St=at.d)!=null&&!O[St])&&(Dt=St!=null?B!=null&&B===Z[St]:n.default(at.i,it.i),Dt||St!=null&&U!==1&&Z[St]!=null||b==null&&(b={type:i.ConflictType.DROP_COLLISION,op1:vt(B!=null?M[B]:null,z,it),op2:vt(St!=null?G[St]:null,L,at)})),Dt||(rt?b==null&&(b={type:i.ConflictType.RM_UNEXPECTED_CONTENT,op1:vt(B!=null?M[B]:null,z,it),op2:t.removeOp(rt.getPath())}):(B!=null?(Te[ue]=B,W.write("d",Et.p=ue++)):W.write("i",s.default(it.i)),wt=!0))}else if(B!=null&&!Et){const St=x[B];St&&(rt=St.clone())}B!=null?(P=M[B],F=v[B],L=T[B]):it.i!==void 0&&(P=F=null,Dt||(L=null))}else d(l(P))&&(P=F=L=null);const pt=l(P),Pt=l(F);if(d(Pt)){const B=Pt.p;Pt.r!==void 0&&(!pt||pt.r===void 0)||O[B]?(L=null,rt=F.clone()):B!=null&&(L=I[B],U!==1&&Z[B]!=null||((W=ct[B])||(W=ct[B]=r.writeCursor()),W.reset(),rt=null))}else!c(it)&&c(at)&&(L=null);at=L!=null?L.getComponent():null;const nt=ft(it);if(nt){const B=C(it);if(rt)b==null&&(b={type:i.ConflictType.RM_UNEXPECTED_CONTENT,op1:t.editOp(z.getPath(),nt,B,!0),op2:t.removeOp(rt.getPath())});else{const Et=ft(at);let Dt;if(Et){if(nt!==Et)throw Error("Transforming incompatible types");const St=C(at);Dt=nt.transform(B,St,A)}else Dt=s.default(B);S(W,nt,Dt)}}let D=0,X=0,Tt=0,Ft=0,he=0,Me=0,te=P!=null&&P.descendFirst(),rn=te;const We=r.advancer(F,void 0,(B,Et)=>{d(Et)&&Tt++});let re=L!=null&&L.descendFirst(),ie=re;for(const B of z)if(typeof B=="number"){let Et;const Dt=c(z.getComponent()),St=B-X;{let pe;for(;te&&typeof(pe=P.getKey())=="number";){pe+=D;const ne=P.getComponent(),Be=d(ne);if(pe>St||pe===St&&(!Be||U===0&&Dt))break;if(Be){D--;const Ue=ne.p;Z.includes(Ue),ne.d,l(ct[ne.d]),d(l(ct[ne.d])),(ne.r===void 0||Qt&&Qt.has(ne))&&(Ue==null||!Xt[Ue]||U!==1&&Z.includes(Ue))||he--}te=P.nextSibling()}Et=te&&pe===St?P:null}const ee=St-D;let de=We(ee);const Ts=ee-Tt;let kn=null;{let pe,ne;for(;re&&typeof(pe=L.getKey())=="number";){ne=pe-Ft;const Be=L.getComponent(),Ue=c(Be);if(ne>Ts)break;if(ne===Ts){if(!Ue){kn=L;break}{if(U===0&&Dt){kn=L;break}const Le=de&&d(de.getComponent());if(U===0&&Le)break}}if(Ue){const Le=Be.d;Z[Le],Be.i===void 0&&(O[Le]||Z[Le]!=null&&U!==1)?(O[Le]||Z[Le]!=null&&U===0)&&(Ft++,Me--):Ft++}re=L.nextSibling()}}const No=Ts+Ft+he+Me;o(No>=0,"trying to descend to a negative index"),W.descend(No),Dt&&(Et=de=kn=null,X++),lt(Et,z,de,kn,W,rt)&&Me++,W.ascend()}else{let Et;for(;te&&(Et=P.getKey(),typeof Et!="string"||!(Et>B||Et===B));)te=P.nextSibling();const Dt=te&&Et===B?P:null,St=We(B);let ee;for(;re&&(ee=L.getKey(),typeof ee!="string"||!(ee>B||ee===B));)re=L.nextSibling();const de=re&&ee===B?L:null;W.descend(B),lt(Dt,z,St,de,W,rt),W.ascend()}return We.end(),rn&&P.ascend(),ie&&L.ascend(),wt}(Ht,Ht.clone(),Lt,Lt.clone(),Ct,null),b)return{ok:!1,conflict:b};Ct.reset();const qt=(lt,P,z)=>lt.traverse(P,(F,L)=>{F.d!=null&&z(F.d,lt,L)});(O.length||gt.length)&&(qt(Lt,Ct,(lt,P,z)=>{O[lt]&&!$[lt]&&z.write("r",!0),gt[lt]&&z.mergeTree(gt[lt].get())}),Ct.reset());const xt=[],ce=[];if((ct.length||O.length)&&!b){const lt=r.readCursor(vs(Ct.get()));if(qt(lt,null,(P,z)=>{xt[P]=z.clone()}),ct.forEach(P=>{P&&qt(r.readCursor(P.get()),null,(z,F)=>{xt[z]=F.clone()})}),function P(z,F,L,W,rt,it){const at=l(F);if(at&&d(at))if(at.p!=null){const D=at.p;xt[D].getPath(),L=xt[D],W=ce[D]=r.writeCursor()}else at.r!==void 0&&(L=null);else c(l(L))&&(L=null);const wt=z.getComponent();if(wt){let D;if((D=wt.d)!=null){const X=ct[D];X&&(X.get(),W.mergeTree(X.get()),L=r.readCursor(X.get()))}}let vt=0,pt=0;const Pt=r.advancer(F,void 0,(D,X)=>{d(X)&&vt--}),nt=r.advancer(L,(D,X)=>c(X)?-(D-pt)-1:D-pt,(D,X)=>{c(X)&&pt++});for(const D of z)if(typeof D=="number"){const X=Pt(D),Tt=D+vt,Ft=nt(Tt),he=Tt+pt;W.descend(he),P(z,X,Ft,W),W.ascend()}else W.descend(D),P(z,Pt(D),nt(D),W),W.ascend();Pt.end(),nt.end()}(Lt,lt,lt.clone(),Ct),Ct.reset(),b)return{ok:!1,conflict:b};if(Ct.get(),ce.length){const P=ce.map(F=>F?F.get():null),z=r.readCursor(vs(Ct.get()));if(qt(z,Ct,(F,L,W)=>{const rt=P[F];rt&&(W.mergeTree(rt),P[F]=null)}),P.find(F=>F)){const F=r.writeCursor(),L=r.writeCursor();let W=0,rt=0;P.forEach(it=>{it!=null&&qt(r.readCursor(it),null,at=>{const wt=Te[at];F.writeMove(M[wt].getPath(),j[wt].getPath(),W++);const vt=Rt[wt];vt&&vt.forEach(pt=>{O[pt]||U!==1&&Z[pt]!=null||L.writeMove(G[pt].getPath(),I[pt].getPath(),rt++)})})}),b={type:i.ConflictType.BLACKHOLE,op1:F.get(),op2:L.get()}}}}return b?{ok:!1,conflict:b}:{ok:!0,result:Ct.get()}}const Oo=m=>{const p=new Error("Transform detected write conflict");throw p.conflict=m,p.type=p.name="writeConflict",p};function ac(m,p,A){const U=ws(m,p,A);if(U.ok)return U.result;Oo(U.conflict)}const $e=m=>{const p=r.writeCursor();return r.readCursor(m).traverse(p,(A,U)=>{(c(A)||ft(A))&&U.write("r",!0)}),p.get()},uc=(m,p)=>{const{type:A,op1:U,op2:b}=m;switch(A){case i.ConflictType.DROP_COLLISION:return p==="left"?[null,$e(b)]:[$e(U),null];case i.ConflictType.RM_UNEXPECTED_CONTENT:let M=!1;return r.readCursor(U).traverse(null,j=>{j.r!==void 0&&(M=!0)}),M?[null,$e(b)]:[$e(U),null];case i.ConflictType.BLACKHOLE:return[$e(U),$e(b)];default:throw Error("Unrecognised conflict: "+A)}};function So(m,p,A,U){let b=null;for(;;){const M=ws(p,A,U);if(M.ok)return _t(b,M.result);{const{conflict:j}=M;m(j)||Oo(j);const[G,I]=uc(j,U);p=_t(J(p),G),A=_t(J(A),I),b=_t(b,I)}}}})(Ci),function(t){var e=Bt&&Bt.__createBinding||(Object.create?function(i,o,l,a){a===void 0&&(a=l),Object.defineProperty(i,a,{enumerable:!0,get:function(){return o[l]}})}:function(i,o,l,a){a===void 0&&(a=l),i[a]=o[l]}),n=Bt&&Bt.__exportStar||function(i,o){for(var l in i)l!=="default"&&!o.hasOwnProperty(l)&&e(o,i,l)};Object.defineProperty(t,"__esModule",{value:!0}),n(Ci,t);var s=os;Object.defineProperty(t,"ReadCursor",{enumerable:!0,get:function(){return s.ReadCursor}}),Object.defineProperty(t,"WriteCursor",{enumerable:!0,get:function(){return s.WriteCursor}});var r=ls;Object.defineProperty(t,"ConflictType",{enumerable:!0,get:function(){return r.ConflictType}})}(Gt);const Ta=Ao({__proto__:null,default:Na(Gt)},[Gt]);var tt=(t=>(t.RETAIN="r",t.INSERT="i",t.DELETE="d",t))(tt||{});class ds{constructor(e){g(this,"_index",0);g(this,"_offset",0);this._actions=e}hasNext(){return this.peekLength()<Number.POSITIVE_INFINITY}next(e){e||(e=Number.POSITIVE_INFINITY);const n=this._actions[this._index];if(n){const s=this._offset,r=n.len;return e>=r-s?(e=r-s,this._index+=1,this._offset=0):this._offset+=e,n.t===tt.DELETE||n.t===tt.RETAIN&&n.body==null?y.deepClone({...n,len:e}):y.deepClone({...n,len:e,body:qe(n.body,s,s+e)})}else return{t:tt.RETAIN,len:Number.POSITIVE_INFINITY}}peek(){return this._actions[this._index]}peekLength(){return this._actions[this._index]?this._actions[this._index].len-this._offset:Number.POSITIVE_INFINITY}peekType(){const e=this._actions[this._index];return e?e.t:tt.RETAIN}rest(){if(this.hasNext()){if(this._offset===0)return this._actions.slice(this._index);{const e=this._offset,n=this._index,s=this.next(),r=this._actions.slice(this._index);return this._offset=e,this._index=n,[s].concat(r)}}else return[]}}class Ni{constructor(){g(this,"cursor",0)}reset(){return this.cursor=0,this}moveCursor(e){this.cursor+=e}moveCursorTo(e){this.cursor=e}}function Ai(t,e,n){const{dataStream:s}=t,r=n,i=n+e,o=ui(t,e,n),l=ci(t,e,n),a=hi(t,e,n),h=di(t,e,n),d=fi(t,e,n),c=_i(t,e,n),f=gi(t,e,n);let _="";return s&&(t.dataStream=Dr(s,r,i),_=s.slice(r,i)),{dataStream:_,textRuns:o,paragraphs:l,sectionBreaks:a,customBlocks:h,tables:d,customRanges:c,customDecorations:f}}function bi(t,e,n,s){t.dataStream=Lr(t.dataStream,s,e.dataStream),ri(t,e,n,s),ts(t,e,n,s),ca(t,e,n,s),ii(t,e,n,s),oi(t,e,n,s),li(t,e,n,s),ai(t,e,n,s)}function Ma(t,e,n,s,r=kt.COVER){return fa(t,e,n,s,r)}function Ua(t,e,n){return e<=0?{dataStream:""}:Ai(t,e,n)}function La(t,e,n,s){n!==0&&bi(t,e,n,s)}function Da(t,e){const n=new Ni;return n.reset(),e.forEach(s=>{switch(s=y.deepClone(s),s.t){case tt.RETAIN:{const{coverType:r,body:i,len:o}=s;i!=null&&Ma(t,i,o,n.cursor,r),n.moveCursor(o);break}case tt.INSERT:{const{body:r,len:i}=s;La(t,r,i,n.cursor),n.moveCursor(i);break}case tt.DELETE:{const{len:r}=s;Ua(t,r,n.cursor);break}default:throw new Error(`Unknown action type for action: ${s}.`)}}),t}function vi(t){return Object.keys(t).length===1}const sn=class sn{constructor(){g(this,"_actions",[])}static apply(e,n){return Da(e,n)}static compose(e,n){const s=new ds(e),r=new ds(n),i=new sn;for(;s.hasNext()||r.hasNext();)if(r.peekType()===tt.INSERT)i.push(r.next());else if(s.peekType()===tt.DELETE)i.push(s.next());else{const o=Math.min(s.peekLength(),r.peekLength()),l=s.next(o),a=r.next(o);l.t===tt.INSERT&&a.t===tt.RETAIN?a.body==null?i.push(l):i.push({...l,body:es(l.body,a.body,a.coverType)}):l.t===tt.RETAIN&&a.t===tt.RETAIN?l.body==null&&a.body==null?i.push(l.len!==Number.POSITIVE_INFINITY?l:a):l.body&&a.body?i.push({...l,body:es(l.body,a.body,a.coverType)}):i.push(l.body?l:a):l.t===tt.RETAIN&&a.t===tt.DELETE?i.push(a):l.t===tt.INSERT&&(a.t,tt.DELETE)}return i.trimEndUselessRetainAction(),i.serialize()}static transform(e,n,s){throw new Error("transform is not implemented in TextX")}static isNoop(e){return e.length===0}static invert(e){const n=[];for(const s of e)if(s.t===tt.INSERT)n.push({t:tt.DELETE,len:s.len,line:0,body:s.body,segmentId:s.segmentId});else if(s.t===tt.DELETE){if(s.body==null)throw new Error("Can not invert DELETE action without body property, makeInvertible must be called first.");n.push({t:tt.INSERT,body:s.body,len:s.len,line:0,segmentId:s.segmentId})}else if(s.body!=null){if(s.oldBody==null)throw new Error("Can not invert RETAIN action without oldBody property, makeInvertible must be called first.");n.push({t:tt.RETAIN,body:s.oldBody,oldBody:s.body,len:s.len,coverType:kt.REPLACE,segmentId:s.segmentId})}else n.push(s);return n}static makeInvertible(e,n){const s=[];let r=0;for(const i of e){if(i.t===tt.DELETE&&i.body==null){const o=qe(n,r,r+i.len,!1);i.len=o.dataStream.length,i.body=o}if(i.t===tt.RETAIN&&i.body!=null){const o=qe(n,r,r+i.len,!0);i.oldBody={...o,dataStream:""},i.len=o.dataStream.length}s.push(i),i.t!==tt.INSERT&&(r+=i.len)}return s}insert(e,n,s=""){const r={t:tt.INSERT,body:n,len:e,line:0,segmentId:s};return this.push(r),this}retain(e,n="",s,r){const i={t:tt.RETAIN,len:e,segmentId:n};return s!=null&&(i.body=s),r!=null&&(i.coverType=r),this.push(i),this}delete(e,n=""){const s={t:tt.DELETE,len:e,line:0,segmentId:n};return this.push(s),this}serialize(){return this._actions}push(...e){if(e.length>1){for(const i of e)this.push(i);return this}let n=this._actions.length,s=this._actions[n-1];const r=y.deepClone(e[0]);if(r.t===tt.RETAIN&&r.len===0&&r.body==null)return this;if(typeof s=="object"){if(s.t===tt.DELETE&&r.t===tt.DELETE)return s.len+=r.len,this;if(s.t===tt.DELETE&&r.t===tt.INSERT&&(n-=1,s=this._actions[n-1],s==null))return this._actions.unshift(r),this;if(s.t===tt.RETAIN&&r.t===tt.RETAIN&&s.body==null&&r.body==null)return s.len+=r.len,this;if(s.t===tt.INSERT&&vi(s.body)&&r.t===tt.INSERT&&vi(r.body))return s.len+=r.len,s.body.dataStream+=r.body.dataStream,this}return n===this._actions.length?this._actions.push(r):this._actions.splice(n,0,r),this}trimEndUselessRetainAction(){let e=this._actions[this._actions.length-1];for(;e&&e.t===tt.RETAIN&&Oa(e);)this._actions.pop(),e=this._actions[this._actions.length-1];return this}};g(sn,"id","text-x"),g(sn,"uri","https://github.com/dream-num/univer#text-x");let Re=sn;Object.defineProperty(Re,"name",{value:"text-x"});const Fe=class Fe{static registerSubtype(e){var n;this._subTypes.has(e.name)&&((n=this._subTypes.get(e.name))==null?void 0:n.id)!==Re.id||(this._subTypes.set(e.name,e),Gt.type.registerSubtype(e))}static apply(e,n){if(!Gt.type.isNoop(n))return Gt.type.apply(e,n)}static compose(e,n){return Gt.type.compose(e,n)}static transform(e,n,s){throw new Error("transform is not implemented in JsonX")}static invertWithDoc(e,n){return Gt.type.invertWithDoc(e,n)}static isNoop(e){return Gt.type.isNoop(e)}static getInstance(){return this._instance==null&&(this._instance=new Fe),this._instance}removeOp(e,n){return Gt.removeOp(e,n)}moveOp(e,n){return Gt.moveOp(e,n)}insertOp(e,n){return Gt.insertOp(e,n)}replaceOp(e,n,s){return Gt.replaceOp(e,n,s)}editOp(e,n=["body"]){return Gt.editOp(n,Re.name,e)}};g(Fe,"uri","https://github.com/dream-num/univer#json-x"),g(Fe,"_subTypes",new Map),g(Fe,"_instance",null);let ve=Fe;ve.registerSubtype(Re);const fs={id:"default_doc",documentStyle:{}};class ya extends Sn{constructor(n){super();g(this,"type",Q.UNIVER_DOC);g(this,"snapshot");this.snapshot={...fs,...n}}getUnitId(){throw new Error("Method not implemented.")}get drawings(){return this.snapshot.drawings}get documentStyle(){return this.snapshot.documentStyle}get lists(){return this.snapshot.lists}get zoomRatio(){var n;return((n=this.snapshot.settings)==null?void 0:n.zoomRatio)||1}resetDrawing(n,s){this.snapshot.drawings=n,this.snapshot.drawingsOrder=s}getBody(){return this.snapshot.body}getShouldRenderLoopImmediately(){return this.snapshot.shouldStartRenderingImmediately!==!1}getContainer(){return this.snapshot.container}getSnapshot(){return this.snapshot}updateDocumentId(n){this.snapshot.id=n}updateDocumentRenderConfig(n){const{documentStyle:s}=this.snapshot;s.renderConfig==null?s.renderConfig=n:s.renderConfig={...s.renderConfig,...n}}updateDocumentStyle(n){this.snapshot.documentStyle==null?this.snapshot.documentStyle=n:this.snapshot.documentStyle={...this.snapshot.documentStyle,...n}}updateDocumentDataMargin(n){const{t:s,l:r,b:i,r:o}=n,{documentStyle:l}=this.snapshot;s!=null&&(l.marginTop=s),r!=null&&(l.marginLeft=r),i!=null&&(l.marginBottom=i),o!=null&&(l.marginRight=o)}updateDocumentDataPageSize(n,s){const{documentStyle:r}=this.snapshot;if(!r.pageSize){n=n!=null?n:Number.POSITIVE_INFINITY,s=s!=null?s:Number.POSITIVE_INFINITY,r.pageSize={width:n,height:s};return}n!==void 0&&(r.pageSize.width=n),s!==void 0&&(r.pageSize.height=s)}updateDrawing(n,s){const{drawings:r}=this,{width:i,height:o,left:l,top:a}=s,h=r==null?void 0:r[n];if(!h)return;const d=h.docTransform;d.size.width=i,d.size.height=o,d.positionH.posOffset=l,d.positionV.posOffset=a}setZoomRatio(n=1){this.snapshot.settings==null?this.snapshot.settings={zoomRatio:n}:this.snapshot.settings.zoomRatio=1}}class we extends ya{constructor(n){var r;super(y.isEmptyObject(n)?Sa():n);g(this,"_unitId");g(this,"headerModelMap",new Map);g(this,"footerModelMap",new Map);const s=6;this._unitId=(r=this.snapshot.id)!=null?r:y.generateRandomId(s),this._initializeHeaderFooterModel()}dispose(){this.headerModelMap.forEach(n=>{n.dispose()}),this.footerModelMap.forEach(n=>{n.dispose()})}getDrawings(){return this.snapshot.drawings}getDrawingsOrder(){return this.snapshot.drawingsOrder}getCustomRanges(){var n;return(n=this.snapshot.body)==null?void 0:n.customRanges}getCustomDecorations(){var n;return(n=this.snapshot.body)==null?void 0:n.customDecorations}getRev(){var n;return(n=this.snapshot.rev)!=null?n:1}incrementRev(){this.snapshot.rev=this.getRev()+1}getSettings(){return this.snapshot.settings}reset(n){if(n.id&&n.id!==this._unitId)throw new Error("Cannot reset a document model with a different unit id!");this.snapshot={...fs,...n},this._initializeHeaderFooterModel()}getSelfOrHeaderFooterModel(n){if(n!=null){if(this.headerModelMap.has(n))return this.headerModelMap.get(n);if(this.footerModelMap.has(n))return this.footerModelMap.get(n)}return this}getUnitId(){return this._unitId}apply(n){if(!ve.isNoop(n))return this.snapshot=ve.apply(this.snapshot,n),n!=null&&n.some(s=>Array.isArray(s)&&((s==null?void 0:s[0])==="headers"||(s==null?void 0:s[0])==="footers"))&&(this.headerModelMap.clear(),this.footerModelMap.clear(),this._initializeHeaderFooterModel()),this.snapshot}sliceBody(n,s){const r=this.getBody();if(r!=null)return qe(r,n,s)}_initializeHeaderFooterModel(){const{headers:n,footers:s}=this.getSnapshot();if(n)for(const r in n){const i=n[r];this.headerModelMap.set(r,new we(i))}if(s)for(const r in s){const i=s[r];this.footerModelMap.set(r,new we(i))}}updateDocumentId(n){super.updateDocumentId(n),this._unitId=n}}const wi=ut.createIdentifier("univer.config-service");class Ti{constructor(){g(this,"_config",new Map)}getConfig(e){return this._config.get(e)}setConfig(e,n){this._config.set(e,n)}deleteConfig(e){this._config.delete(e)}}class Mi extends yt{constructor(){super(...arguments);g(this,"_error$",new V.Subject);g(this,"error$",this._error$.asObservable())}dispose(){this._error$.complete()}emit(n){this._error$.next({errorKey:n})}}class Ui{constructor(e={}){g(this,"_styles");g(this,"_cacheMap",new xr(1e5));this._styles=e,this._generateCacheMap()}each(e){return Object.entries(this._styles).forEach(e),this}search(e,n){if(this._cacheMap.has(n))return this._cacheMap.get(n);const s=this._getExistingStyleId(e);return s||"-1"}get(e){return typeof e!="string"?e:(e=String(e),this._styles[e])}add(e,n){const s=y.generateRandomId(6);return this._styles[s]=e,this._cacheMap.set(n,s),s}setValue(e){if(e==null)return;const n=JSON.stringify(e),s=this.search(e,n);return s!=="-1"?s:this.add(e,n)}toJSON(){return this._styles}getStyleByCell(e){let n;e&&y.isObject(e.s)?n=e.s:n=(e==null?void 0:e.s)&&this.get(e.s);const s=e==null?void 0:e.interceptorStyle;return s?{...n,...s}:n}_generateCacheMap(){const{_styles:e,_cacheMap:n}=this;for(const s in e){const r=JSON.stringify(e[s]);n.set(r,s)}}_getExistingStyleId(e){const{_styles:n}=this;for(const s in n)if(y.diffValue(n[s],e))return s;return null}}class Pa{constructor(e,n){g(this,"_columnData",{});this._config=e,this._columnData=n}getColumnData(){return this._columnData}getColVisible(e){const{_columnData:n}=this,s=n[e];return s?s.hd!==Y.TRUE:!0}getHiddenCols(e=0,n=this.getSize()-1){const s=[];let r=!1,i=-1;for(let o=e;o<=n;o++){const l=this.getColVisible(o);r&&l?(r=!1,s.push({rangeType:ot.COLUMN,startColumn:i,endColumn:o-1,startRow:0,endRow:0})):!r&&!l&&(r=!0,i=o)}return r&&s.push({startRow:0,endRow:0,startColumn:i,endColumn:n,rangeType:ot.COLUMN}),s}getVisibleCols(e=0,n=this.getSize()-1){const s=[];let r=!1,i=-1;for(let o=e;o<=n;o++){const l=this.getColVisible(o);r&&!l?(r=!1,s.push({rangeType:ot.COLUMN,startColumn:i,endColumn:o-1,startRow:0,endRow:0})):!r&&l&&(r=!0,i=o)}return r&&s.push({startRow:0,endRow:0,startColumn:i,endColumn:n,rangeType:ot.COLUMN}),s}getColumnDatas(e,n){const s={};let r=0;for(let i=e;i<e+n;i++){const o=this.getColumnOrCreate(i);s[r]=o,r++}return s}getSize(){return ge(this._columnData)}getColumnWidth(e){const{_columnData:n}=this,s=this._config;let r=0;return r=(n[e]||{hd:Y.FALSE,w:s.defaultColumnWidth}).w||s.defaultColumnWidth,r}getColumn(e){const n=this._columnData[e];if(n)return n}getColumnOrCreate(e){const{_columnData:n}=this,s=this._config,r=n[e];if(r)return r;const i={w:s.defaultColumnWidth,hd:Y.FALSE};return this._columnData[e]=i,i}}class ka{constructor(e,n,s){g(this,"_rowData");this._config=e,this._viewModel=n,this._rowData=s}getRowData(){return this._rowData}getRowDatas(e,n){const s={};let r=0;for(let i=e;i<e+n;i++){const o=this.getRowOrCreate(i);s[r]=o,r++}return s}getRowHeight(e,n=1){const{_rowData:s}=this,r=this._config;let i=0;for(let o=0;o<n;o++){const l=s[o+e]||{hd:Y.FALSE,h:r.defaultRowHeight},{ia:a,ah:h,h:d=r.defaultRowHeight}=l;i+=(a==null||a===Y.TRUE)&&typeof h=="number"?h:d}return i}getRow(e){return this._rowData[e]}getRowOrCreate(e){const{_rowData:n}=this,s=n[e];if(s)return s;const r=this._config,i={hd:Y.FALSE,h:r.defaultRowHeight};return n[e]=i,i}getHiddenRows(e=0,n=this.getSize()-1){const s=[];let r=!1,i=-1;for(let o=e;o<=n;o++){const l=this.getRowRawVisible(o);r&&l?(r=!1,s.push({startRow:i,endRow:o-1,startColumn:0,endColumn:0,rangeType:ot.ROW})):!r&&!l&&(r=!0,i=o)}return r&&s.push({startRow:i,endRow:n,startColumn:0,endColumn:0,rangeType:ot.ROW}),s}getVisibleRows(e=0,n=this.getSize()-1){const s=[];let r=!1,i=-1;for(let o=e;o<=n;o++){const l=this.getRowRawVisible(o);r&&!l?(r=!1,s.push({startRow:i,endRow:o-1,startColumn:0,endColumn:0,rangeType:ot.ROW})):!r&&l&&(r=!0,i=o)}return r&&s.push({startRow:i,endRow:n,startColumn:0,endColumn:0,rangeType:ot.ROW}),s}getRowRawVisible(e){const n=this.getRow(e);return n?n.hd!==Y.TRUE:!0}getSize(){return ge(this._rowData)}}const Ha="DEFAULT_WORKSHEET_ROW_COUNT",Li=1e3,Fa="DEFAULT_WORKSHEET_COLUMN_COUNT",Di=20,$a="DEFAULT_WORKSHEET_ROW_HEIGHT",yi=24,Wa="DEFAULT_WORKSHEET_COLUMN_WIDTH",Pi=88,Ba="DEFAULT_WORKSHEET_ROW_TITLE_WIDTH",ki=46,Ga="DEFAULT_WORKSHEET_COLUMN_TITLE_HEIGHT",Hi=20;function Fi(t){const e={name:"Sheet1",id:"sheet-01",tabColor:"",hidden:Y.FALSE,rowCount:Li,columnCount:Di,zoomRatio:1,freeze:{xSplit:0,ySplit:0,startRow:-1,startColumn:-1},scrollTop:0,scrollLeft:0,defaultColumnWidth:Pi,defaultRowHeight:yi,mergeData:[],cellData:{},rowData:{},columnData:{},showGridlines:Y.TRUE,rowHeader:{width:ki,hidden:Y.FALSE},columnHeader:{height:Hi,hidden:Y.FALSE},selections:["A1"],rightToLeft:Y.FALSE};return Object.keys(e).forEach(n=>{const s=n;typeof t[s]>"u"&&(t[s]=e[s])}),t}class $i extends yt{constructor(n){super();g(this,"_cellContentInterceptor",null);g(this,"_rowFilteredInterceptor",null);this.getRawCell=n}dispose(){super.dispose(),this._cellContentInterceptor=null,this._rowFilteredInterceptor=null}getCell(n,s){return this._cellContentInterceptor?this._cellContentInterceptor.getCell(n,s):this.getRawCell(n,s)}getRowFiltered(n){var s,r;return(r=(s=this._rowFilteredInterceptor)==null?void 0:s.getRowFiltered(n))!=null?r:!1}registerCellContentInterceptor(n){if(this._cellContentInterceptor)throw new Error("[SheetViewModel]: Interceptor already registered.");return this._cellContentInterceptor=n,At(()=>this._cellContentInterceptor=null)}registerRowFilteredInterceptor(n){if(this._rowFilteredInterceptor)throw new Error("[SheetViewModel]: Interceptor already registered.");return this._rowFilteredInterceptor=n,At(()=>this._rowFilteredInterceptor=null)}}class Je{constructor(e,n,s){g(this,"_sheetId");g(this,"_snapshot");g(this,"_cellData");g(this,"_rowManager");g(this,"_columnManager");g(this,"_viewModel");var l;this.unitId=e,this._styles=s,this._snapshot=Fi(n);const{columnData:r,rowData:i,cellData:o}=this._snapshot;this._sheetId=(l=this._snapshot.id)!=null?l:y.generateRandomId(6),this._cellData=new Zt(o),this._viewModel=new $i((a,h)=>this.getCellRaw(a,h)),this._rowManager=new ka(this._snapshot,this._viewModel,i),this._columnManager=new Pa(this._snapshot,r)}__interceptViewModel(e){e(this._viewModel)}getSnapshot(){return this._snapshot}getCellMatrix(){return this._cellData}getCellMatrixPrintRange(){const e=this.getCellMatrix(),n=this.getMergeData();let s=-1,r=-1,i=-1,o=-1,l=!1,a=!1;return e.forEach((h,d)=>{Object.keys(d).forEach(c=>{const f=+c,_=e.getValue(h,f),E=_!=null&&_.s?this._styles.get(_.s):null,R=(E==null?void 0:E.bd)&&(E.bd.b||E.bd.l||E.bd.r||E.bd.t||E.bd.bc_tr||E.bd.bl_tr||E.bd.ml_tr||E.bd.tl_bc||E.bd.tl_br||E.bd.tl_mr);(_&&(_.v||_.p)||E!=null&&E.bg||R)&&(l?s=Math.min(s,h):(s=h,l=!0),r=Math.max(r,h),a?i=Math.min(i,f):(a=!0,i=f),o=Math.max(o,f))})}),n.forEach(h=>{l?s=Math.min(s,h.startRow):(s=h.startRow,l=!0),r=Math.max(r,h.endRow),a?i=Math.min(i,h.startColumn):(i=h.startColumn,l=!0),o=Math.max(o,h.endColumn)}),!l||!a?null:{startColumn:i,startRow:s,endColumn:o,endRow:r}}getRowManager(){return this._rowManager}getUnitId(){return this.unitId}getSheetId(){return this._sheetId}getColumnManager(){return this._columnManager}getName(){return this._snapshot.name}clone(){const{_snapshot:e}=this,n=y.deepClone(e);return new Je(this.unitId,n,this._styles)}getMergeData(){return this._snapshot.mergeData}getMergedCell(e,n){const s=this._snapshot.mergeData;for(let r=0;r<s.length;r++){const i=s[r];if(me.intersects({startRow:e,startColumn:n,endRow:e,endColumn:n},i))return i}return null}getCell(e,n){return e<0||n<0?null:this._viewModel.getCell(e,n)}getCellRaw(e,n){return this.getCellMatrix().getValue(e,n)}getRowFiltered(e){return this._viewModel.getRowFiltered(e)}getMatrixWithMergedCells(e,n,s,r,i=!1){const o=this.getCellMatrix(),l=this._snapshot.mergeData.filter(h=>me.intersects({startRow:e,startColumn:n,endRow:s,endColumn:r},h)),a=new Zt;return zn(e,s,n,r).forEach((h,d)=>{const c=i?this.getCellRaw(h,d):this.getCell(h,d);c&&a.setValue(h,d,c)}),l.forEach(h=>{const{startColumn:d,startRow:c,endColumn:f,endRow:_}=h;zn(c,_,d,f).forEach((E,R)=>{E===c&&R===d&&a.setValue(E,R,{...o.getValue(E,R),rowSpan:_-c+1,colSpan:f-d+1}),(E!==c||R!==d)&&a.realDeleteValue(E,R)})}),a}getRange(e,n,s,r){return typeof e=="object"?new ke(this,e,{getStyles:()=>this._styles}):new ke(this,{startRow:e,startColumn:n,endColumn:r||n,endRow:s||e},{getStyles:()=>this._styles})}getScrollLeftTopFromSnapshot(){return{scrollLeft:this._snapshot.scrollLeft,scrollTop:this._snapshot.scrollTop}}getZoomRatio(){return this._snapshot.zoomRatio||1}getConfig(){return this._snapshot}getFreeze(){return this._snapshot.freeze}getMaxColumns(){const{_snapshot:e}=this,{columnCount:n}=e;return n}getMaxRows(){const{_snapshot:e}=this,{rowCount:n}=e;return n}getRowCount(){return this._snapshot.rowCount}setRowCount(e){this._snapshot.rowCount=e}getColumnCount(){return this._snapshot.columnCount}setColumnCount(e){this._snapshot.columnCount=e}isSheetHidden(){return this._snapshot.hidden}hasHiddenGridlines(){const{_snapshot:e}=this,{showGridlines:n}=e;return n===0}getTabColor(){const{_snapshot:e}=this,{tabColor:n}=e;return n}getColumnWidth(e){return this.getColumnManager().getColumnWidth(e)}getRowHeight(e){return this._viewModel.getRowFiltered(e)?0:this.getRowManager().getRowHeight(e)}getRowVisible(e){return this._viewModel.getRowFiltered(e)?!1:this.getRowRawVisible(e)}getRowRawVisible(e){return this.getRowManager().getRowRawVisible(e)}getHiddenRows(e,n){const s=this.getMaxColumns()-1,r=this._rowManager.getHiddenRows(e,n);return r.forEach(i=>i.endColumn=s),r}getColVisible(e){return this._columnManager.getColVisible(e)}getHiddenCols(e,n){const s=this.getMaxRows()-1,r=this._columnManager.getHiddenCols(e,n);return r.forEach(i=>i.endRow=s),r}getVisibleRows(){const e=this.getRowCount();return this._rowManager.getVisibleRows(0,e-1)}getVisibleCols(){const e=this.getColumnCount();return this._columnManager.getVisibleCols(0,e-1)}isRightToLeft(){const{_snapshot:e}=this,{rightToLeft:n}=e;return n}getLastRowWithContent(){return this._cellData.getLength()-1}getLastColumnWithContent(){return this._cellData.getRange().endColumn}cellHasValue(e){return e&&(e.v!==void 0||e.f!==void 0||e.p!==void 0)}iterateByRow(e,n=!0){const{startRow:s,startColumn:r,endRow:i,endColumn:o}=e,l=this;return{[Symbol.iterator]:()=>{let a=s,h=r;return{next(){for(;;){if(h>o&&(a+=1,h=r),a>i)return{done:!0,value:void 0};const d=l.getCell(a,h),c=!d,f=l.getMergedCell(a,h);if(f){if(a!==f.startRow||h!==f.startColumn){h=f.endColumn+1;continue}if(c&&n){h=f.endColumn+1;continue}const E={row:a,col:h,value:d};return E.colSpan=f.endColumn-f.startColumn+1,E.rowSpan=f.endRow-f.startRow+1,h=f.endColumn+1,{done:!1,value:E}}if(c&&n)h+=1;else{const _={row:a,col:h,value:d};return h+=1,{done:!1,value:_}}}}}}}}iterateByColumn(e,n=!0,s=!0){const{startRow:r,startColumn:i,endRow:o,endColumn:l}=e,a=this;return{[Symbol.iterator]:()=>{let h=r,d=i;return{next(){for(;;){if(h>o&&(d+=1,h=r),d>l)return{done:!0,value:void 0};const c=a.getMergedCell(h,d);if(c){const E=h!==c.startRow,R=E||d!==c.startColumn;if(s&&R||!s&&E){h=c.endRow+1;continue}const H=a.getCell(c.startRow,c.startColumn);if(!H&&n){h=c.endRow+1;continue}const et={row:h,col:c.startColumn,value:H};return et.colSpan=c.endColumn-c.startColumn+1,et.rowSpan=c.endRow-c.startRow+1,h=c.endRow+1,{done:!1,value:et}}const f=a.getCell(h,d);if(!f&&n)h+=1;else{const E={row:h,col:d,value:f};return h+=1,{done:!1,value:E}}}}}}}}}function xa(t){var s,r;if(!t)return"";const e=(r=(s=t.p)==null?void 0:s.body)==null?void 0:r.dataStream;if(e)return e;const n=t.v;return typeof n=="string"?t.t===Se.BOOLEAN?n.toUpperCase():n.replace(/[\r\n]/g,""):typeof n=="number"?t.t===Se.BOOLEAN?n?"TRUE":"FALSE":n.toString():typeof n=="boolean"?n?"TRUE":"FALSE":""}const ja="0.2.1";function Va(t="",e=Ie.ZH_CN,n=""){return{id:t,sheetOrder:[],name:n,appVersion:ja,locale:e,styles:{},sheets:{},resources:[]}}var Ka=Object.defineProperty,Ya=Object.getOwnPropertyDescriptor,za=(t,e,n,s)=>{for(var r=s>1?void 0:s?Ya(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(r=(s?o(e,n,r):o(r))||r);return s&&r&&Ka(e,n,r),r},Xa=(t,e)=>(n,s)=>e(n,s,t);function qa(t,e){return`${t.getUnitId()}|${e.getSheetId()}`}u.Workbook=class extends Sn{constructor(n={},s){super();g(this,"type",Q.UNIVER_SHEET);g(this,"_sheetCreated$",new V.Subject);g(this,"sheetCreated$",this._sheetCreated$.asObservable());g(this,"_sheetDisposed$",new V.Subject);g(this,"sheetDisposed$",this._sheetDisposed$.asObservable());g(this,"_activeSheet$",new V.BehaviorSubject(null));g(this,"activeSheet$",this._activeSheet$.asObservable());g(this,"_worksheets");g(this,"_styles");g(this,"_snapshot");g(this,"_unitId");g(this,"_count");g(this,"_name$");g(this,"name$");this._logService=s;const r=Va();y.isEmptyObject(n)?this._snapshot=r:this._snapshot=y.commonExtend(r,n);const{styles:i}=this._snapshot;(this._snapshot.id==null||this._snapshot.id.length===0)&&(this._snapshot.id=y.generateRandomId(6)),this._unitId=this._snapshot.id,this._styles=new Ui(i),this._count=1,this._worksheets=new Map,this._name$=new V.BehaviorSubject(n.name||""),this.name$=this._name$.asObservable(),this._passWorksheetSnapshots()}get _activeSheet(){return this._activeSheet$.getValue()}get name(){return this._name$.getValue()}dispose(){super.dispose(),this._sheetCreated$.complete(),this._sheetDisposed$.complete(),this._activeSheet$.complete(),this._name$.complete()}save(){return y.deepClone(this._snapshot)}static isIRangeType(n){return typeof n=="string"||"startRow"in n||"row"in n}getSnapshot(){return this._snapshot}getName(){return this._snapshot.name}setName(n){this._name$.next(n),this._snapshot.name=n}getUnitId(){return this._unitId}getRev(){var n;return(n=this._snapshot.rev)!=null?n:1}incrementRev(){this._snapshot.rev=this.getRev()+1}getShouldRenderLoopImmediately(){return this._snapshot.shouldStartRenderingImmediately!==!1}getContainer(){return this._snapshot.container}addWorksheet(n,s,r){const{sheets:i,sheetOrder:o}=this._snapshot;if(i[n])return!1;i[n]=r,o.splice(s,0,n);const l=new Je(this._unitId,r,this._styles);return this._worksheets.set(n,l),this._sheetCreated$.next(l),!0}getSheetOrders(){return this._snapshot.sheetOrder}getWorksheets(){return this._worksheets}getActiveSpreadsheet(){return this}getStyles(){return this._styles}getConfig(){return this._snapshot}getIndexBySheetId(n){const{sheetOrder:s}=this._snapshot;return s.findIndex(r=>r===n)}getActiveSheet(){return this._activeSheet}ensureActiveSheet(){const n=this.getActiveSheet();if(n)return n;const s=this._snapshot.sheetOrder;for(let i=0,o=s.length;i<o;i++){const l=this._worksheets.get(s[i]);if(l&&l.isSheetHidden()!==Y.TRUE)return this.setActiveSheet(l),l}const r=this._worksheets.get(s[0]);return this.setActiveSheet(r),r}setActiveSheet(n){this._activeSheet$.next(n)}removeSheet(n){var r;const s=this._worksheets.get(n);return s?(((r=this._activeSheet)==null?void 0:r.getSheetId())===n&&this.setActiveSheet(null),this._worksheets.delete(n),this._snapshot.sheetOrder.splice(this._snapshot.sheetOrder.indexOf(n),1),delete this._snapshot.sheets[n],this._sheetDisposed$.next(s),!0):!1}getActiveSheetIndex(){const{sheetOrder:n}=this._snapshot;return n.findIndex(s=>this._worksheets.get(s)===this._activeSheet)}getSheetSize(){return this._snapshot.sheetOrder.length}getSheets(){const{sheetOrder:n}=this._snapshot;return n.map(s=>this._worksheets.get(s))}getSheetsName(){const{sheetOrder:n}=this._snapshot,s=[];return n.forEach(r=>{const i=this._worksheets.get(r);i&&s.push(i.getName())}),s}getSheetIndex(n){const{sheetOrder:s}=this._snapshot;return s.findIndex(r=>n.getSheetId()===r)}getSheetBySheetName(n){const{sheetOrder:s}=this._snapshot,r=s.find(i=>this._worksheets.get(i).getName()===n);return this._worksheets.get(r)}getSheetBySheetId(n){return this._worksheets.get(n)}getSheetByIndex(n){const{sheetOrder:s}=this._snapshot;return this._worksheets.get(s[n])}getHiddenWorksheets(){return this.getSheets().filter(n=>n.getConfig().hidden===Y.TRUE).map(n=>n.getConfig().id)}getUnhiddenWorksheets(){return this.getSheets().filter(n=>n.getConfig().hidden!==Y.TRUE).map(n=>n.getConfig().id)}load(n){this._snapshot=n}checkSheetName(n){return this.getSheetsName().includes(n)}uniqueSheetName(n="Sheet1"){let s=n;for(;this.checkSheetName(s);)s=n+this._count,this._count++;return s}generateNewSheetName(n){let s=n+this._count;for(;this.checkSheetName(s);)s=n+this._count,this._count++;return s}_passWorksheetSnapshots(){const{_snapshot:n,_worksheets:s}=this,{sheets:r,sheetOrder:i}=n;if(y.isEmptyObject(r)){const o=y.generateRandomId();r[o]={id:o}}for(const o in r){const l=r[o],{name:a}=l;l.name=this.uniqueSheetName(a),l.name!==a&&this._logService.debug("[Workbook]",`The worksheet name ${a} is duplicated, we changed it to ${l.name}. Please fix the problem in your snapshot.`);const h=new Je(this._unitId,l,this._styles);s.set(o,h),i.includes(o)||i.push(o)}this.ensureActiveSheet()}},u.Workbook=za([Xa(1,Ee)],u.Workbook);class _s extends Sn{constructor(n){var s;super();g(this,"type",Q.UNIVER_SLIDE);g(this,"_snapshot");g(this,"_unitId");this._snapshot={...Kr,...n},this._unitId=(s=this._snapshot.id)!=null?s:y.generateRandomId(6)}getContainer(){return this._snapshot.container}getSnapshot(){return this._snapshot}getUnitId(){return this._unitId}getPages(){var n;return(n=this._snapshot.body)==null?void 0:n.pages}getPageOrder(){var n;return(n=this._snapshot.body)==null?void 0:n.pageOrder}getPage(n){const s=this.getPages();return s==null?void 0:s[n]}getElementsByPage(n){var s;return(s=this.getPage(n))==null?void 0:s.pageElements}getElement(n,s){var r;return(r=this.getElementsByPage(n))==null?void 0:r[s]}getPageSize(){return this._snapshot.pageSize}addPage(){return{id:"cover_1",pageType:Wn.SLIDE,zIndex:1,title:"cover",description:"this is first page, cover",pageBackgroundFill:{rgb:"rgb(255,255,255)"},pageElements:{}}}}const Ze="FOCUSING_SHEET",bn="FOCUSING_DOC",vn="FOCUSING_SLIDE",Ja="FOCUSING_EDITOR_BUT_HIDDEN",Wi="EDITOR_ACTIVATED",Za="FOCUSING_EDITOR_INPUT_FORMULA",Bi="FOCUSING_FORMULA_EDITOR",Qa="FOCUSING_UNIVER_EDITOR",tu="FOCUSING_EDITOR_INPUT_FORMULA",eu="FOCUSING_UNIVER_EDITOR_STANDALONE_SINGLE_MODE",nu="FOCUSING_COMMON_DRAWINGS";var su=Object.defineProperty,ru=Object.getOwnPropertyDescriptor,iu=(t,e,n,s)=>{for(var r=s>1?void 0:s?ru(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(r=(s?o(e,n,r):o(r))||r);return s&&r&&su(e,n,r),r},Gi=(t,e)=>(n,s)=>e(n,s,t);const He=ut.createIdentifier("univer.current");u.UniverInstanceService=class extends yt{constructor(n,s){super();g(this,"_unitsByType",new Map);g(this,"_createHandler");g(this,"_ctorByType",new Map);g(this,"_currentUnits",new Map);g(this,"_currentUnits$",new V.BehaviorSubject(this._currentUnits));g(this,"currentUnits$",this._currentUnits$.asObservable());g(this,"_unitAdded$",new V.Subject);g(this,"unitAdded$",this._unitAdded$.asObservable());g(this,"_unitDisposed$",new V.Subject);g(this,"unitDisposed$",this._unitDisposed$.asObservable());g(this,"_focused$",new V.BehaviorSubject(null));g(this,"focused$",this._focused$.asObservable());this._injector=n,this._contextService=s}dispose(){super.dispose(),this._focused$.complete()}__setCreateHandler(n){this._createHandler=n}createUnit(n,s){return this._createHandler(n,s,this._ctorByType.get(n))}registerCtorForType(n,s){return this._ctorByType.set(n,s),{dispose:()=>{this._ctorByType.delete(n)}}}getCurrentTypeOfUnit$(n){return this.currentUnits$.pipe(V.map(s=>{var r;return(r=s.get(n))!=null?r:null}),V.distinctUntilChanged())}getCurrentUnitForType(n){return this._currentUnits.get(n)}setCurrentUnitForType(n){const s=this._getUnitById(n);if(!s)throw new Error(`[UniverInstanceService]: no document with unitId ${n}!`);this._currentUnits.set(s[1],s[0]),this._currentUnits$.next(this._currentUnits)}_removeCurrentUnitForType(n){this._currentUnits.set(n,null),this._currentUnits$.next(this._currentUnits)}getTypeOfUnitAdded$(n){return this._unitAdded$.pipe(V.filter(s=>s.type===n))}__addUnit(n){const s=n.type;this._unitsByType.has(s)||this._unitsByType.set(s,[]),this._unitsByType.get(s).push(n),this._unitAdded$.next(n),this.setCurrentUnitForType(n.getUnitId())}getTypeOfUnitDisposed$(n){return this.unitDisposed$.pipe(V.filter(s=>s.type===n))}getUnit(n,s){var i;const r=(i=this._getUnitById(n))==null?void 0:i[0];return s&&(r==null?void 0:r.type)!==s?null:r}getCurrentUniverDocInstance(){return this.getCurrentUnitForType(Q.UNIVER_DOC)}getUniverDocInstance(n){return this.getUnit(n,Q.UNIVER_DOC)}getUniverSheetInstance(n){return this.getUnit(n,Q.UNIVER_SHEET)}getAllUnitsForType(n){var s;return(s=this._unitsByType.get(n))!=null?s:[]}changeDoc(n,s){const r=this.getAllUnitsForType(Q.UNIVER_DOC),i=r.find(o=>o.getUnitId()===n);if(i!=null){const o=r.indexOf(i);r.splice(o,1)}this.__addUnit(s)}get focused(){var s;const n=this._focused$.getValue();return n?(s=this._getUnitById(n))==null?void 0:s[0]:null}focusUnit(n){this._focused$.next(n),this.focused instanceof u.Workbook?(this._contextService.setContextValue(bn,!1),this._contextService.setContextValue(Ze,!0),this._contextService.setContextValue(vn,!1)):this.focused instanceof we?(this._contextService.setContextValue(bn,!0),this._contextService.setContextValue(Ze,!1),this._contextService.setContextValue(vn,!1)):this.focused instanceof _s&&(this._contextService.setContextValue(bn,!1),this._contextService.setContextValue(Ze,!1),this._contextService.setContextValue(vn,!0))}getFocusedUnit(){return this.focused}getUnitType(n){const s=this._getUnitById(n);if(!s)throw new Error(`[UniverInstanceService]: No document with unitId ${n}`);return s[1]}disposeUnit(n){const s=this._getUnitById(n);if(!s)return!1;const[r,i]=s,o=this._unitsByType.get(i),l=o.indexOf(r);return o.splice(l,1),this._removeCurrentUnitForType(i),this._focused$.next(null),this._unitDisposed$.next(r),!0}_getUnitById(n){for(const[s,r]of this._unitsByType){const i=r.find(o=>o.getUnitId()===n);if(i)return[i,s]}}},u.UniverInstanceService=iu([Gi(0,ut.Inject(ut.Injector)),Gi(1,Ye)],u.UniverInstanceService);var It=(t=>(t[t.Starting=0]="Starting",t[t.Ready=1]="Ready",t[t.Rendered=2]="Rendered",t[t.Steady=3]="Steady",t))(It||{});const ou={0:"Starting",1:"Ready",2:"Rendered",3:"Steady"},wn=new Map;function xi(t,e){return function(r){Tn(t,e)}}function Tn(t,e){wn.has(t)||wn.set(t,[]),wn.get(t).push(e)}var lu=Object.defineProperty,au=Object.getOwnPropertyDescriptor,ji=(t,e,n,s)=>{for(var r=s>1?void 0:s?au(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(r=(s?o(e,n,r):o(r))||r);return s&&r&&lu(e,n,r),r},gs=(t,e)=>(n,s)=>e(n,s,t);u.LifecycleService=class extends yt{constructor(n){super();g(this,"_lifecycle$",new V.BehaviorSubject(It.Starting));g(this,"lifecycle$",this._lifecycle$.asObservable());g(this,"_lock",!1);this._logService=n,this._reportProgress(It.Starting)}get stage(){return this._lifecycle$.getValue()}set stage(n){if(n<this.stage)throw new Error("[LifecycleService]: lifecycle stage cannot go backward!");if(n!==this.stage){if(this._lock)throw new Error("[LifecycleService]: cannot set new stage when related logic is all handled!");this._lock=!0,this._reportProgress(n),this._lifecycle$.next(n),this._lock=!1}}dispose(){this._lifecycle$.complete(),super.dispose()}subscribeWithPrevious(){return new V.Observable(n=>{this.stage===It.Starting||(this.stage===It.Ready?n.next(It.Starting):this.stage===It.Rendered?(n.next(It.Starting),n.next(It.Ready)):(n.next(It.Starting),n.next(It.Ready),n.next(It.Rendered))),this._lifecycle$.subscribe(s=>{n.next(s),s===It.Steady&&n.complete()})})}_reportProgress(n){this._logService.debug("[LifecycleService]",`lifecycle progressed to "${ou[n]}".`)}},u.LifecycleService=ji([gs(0,Ee)],u.LifecycleService),u.LifecycleInitializerService=class extends yt{constructor(n,s){super();g(this,"_seenTokens",new Set);this._lifecycleService=n,this._injector=s}initModulesOnStage(n){var s;(s=wn.get(n))==null||s.forEach(r=>{this._injector.has(r)&&!this._seenTokens.has(r)&&(this._injector.get(r),this._seenTokens.add(r))})}},u.LifecycleInitializerService=ji([gs(0,ut.Inject(u.LifecycleService)),gs(1,ut.Inject(ut.Injector))],u.LifecycleInitializerService);class Qe extends yt{constructor(){super();g(this,"_currentLocale$",new V.BehaviorSubject(Ie.ZH_CN));g(this,"currentLocale$",this._currentLocale$.asObservable());g(this,"_locales",null);g(this,"localeChanged$",new V.Subject);g(this,"t",(n,...s)=>{if(!this._locales)throw new Error("[LocaleService]: Locale not initialized");const r=n.split("."),i=this.resolveKeyPath(this._locales[this._currentLocale],r);if(typeof i=="string"){let o=i;return s.forEach((l,a)=>{o=o.replace(`{${a}}`,l)}),o}else return n});this.disposeWithMe(At(()=>this.localeChanged$.complete()))}get _currentLocale(){return this._currentLocale$.value}load(n){var s;this._locales=y.deepMerge((s=this._locales)!=null?s:{},n)}setLocale(n){this._currentLocale$.next(n),this.localeChanged$.next()}getLocales(){var n;return(n=this._locales)==null?void 0:n[this._currentLocale]}getCurrentLocale(){return this._currentLocale}resolveKeyPath(n,s){const r=s.shift();if(r&&n&&r in n){const i=n[r];return s.length>0&&(typeof i=="object"||Array.isArray(i))?this.resolveKeyPath(i,s):i}return null}}var ms=(t=>(t.INIT="init",t.FETCHING="fetching",t.DONE="done",t))(ms||{});const Es=ut.createIdentifier("univer.permission-service");Tn(It.Starting,Es);class Vi extends yt{constructor(){super(...arguments);g(this,"_permissionPointMap",new Map);g(this,"_permissionPointUpdate$",new V.Subject);g(this,"permissionPointUpdate$",this._permissionPointUpdate$.asObservable())}deletePermissionPoint(n){const s=this._permissionPointMap.get(n);s&&(s.complete(),this._permissionPointMap.delete(n))}addPermissionPoint(n){const s=n instanceof V.BehaviorSubject,r=s?n.getValue():n;if(!r.id)return!1;if(this._permissionPointMap.get(r.id))throw new Error(`${r.id} PermissionPoint already exists`);return this._permissionPointMap.set(r.id,s?n:new V.BehaviorSubject(r)),this._permissionPointUpdate$.next(r),!0}updatePermissionPoint(n,s){const r=this._permissionPointMap.get(n);if(!r)return;const i=r.getValue();i.value=s,i.status=ms.DONE,r.next({...i}),this._permissionPointUpdate$.next(i)}clearPermissionMap(){this._permissionPointMap.clear()}getPermissionPoint(n){const s=this._permissionPointMap.get(n);if(s)return s.getValue()}getPermissionPoint$(n){const s=this._permissionPointMap.get(n);if(s)return s}composePermission$(n){const s=n.map(r=>{var o;const i=(o=this._permissionPointMap)==null?void 0:o.get(r);if(!i)throw new Error(`[PermissionService]: ${r} permissionPoint does not exist!`);return i.asObservable()});return V.combineLatest(s).pipe(oe.map(r=>r))}composePermission(n){return n.map(r=>{var o;const i=(o=this._permissionPointMap)==null?void 0:o.get(r);if(!i)throw new Error(`[PermissionService]: ${r} permissionPoint does not exist!`);return i.getValue()})}getAllPermissionPoint(){const n=new Map;return this._permissionPointMap.forEach((s,r)=>{n.set(r,s)}),n}}class Ki extends yt{constructor(){super(...arguments);g(this,"_resourceMap",new Map);g(this,"_register$",new V.Subject);g(this,"register$",this._register$.asObservable())}getAllResourceHooks(){return[...this._resourceMap.values()]}getResources(n){return this.getAllResourceHooks().map(i=>{const o=i.toJson(n);return{name:i.pluginName,data:o}})}getResourcesByType(n,s){return this.getAllResourceHooks().filter(o=>o.businesses.includes(s)).map(o=>{const l=o.toJson(n);return{name:o.pluginName,data:l}})}registerPluginResource(n){const s=n.pluginName;if(this._resourceMap.has(s))throw new Error(`the pluginName is registered {${s}}`);return this._resourceMap.set(s,n),this._register$.next(n),At(()=>this._resourceMap.delete(s))}disposePluginResource(n){this._resourceMap.delete(n)}loadResources(n,s){this.getAllResourceHooks().forEach(r=>{var o;const i=(o=s==null?void 0:s.find(l=>l.name===r.pluginName))==null?void 0:o.data;if(i)try{const l=r.parseJson(i);r.onLoad(n,l)}catch{console.error("LoadResources Error!")}})}unloadResources(n){this.getAllResourceHooks().forEach(s=>{s.onUnLoad(n)})}dispose(){this._register$.complete(),this._resourceMap.clear()}}const Mn=ut.createIdentifier("resource-manager-service");var uu=Object.defineProperty,cu=Object.getOwnPropertyDescriptor,hu=(t,e,n,s)=>{for(var r=s>1?void 0:s?cu(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(r=(s?o(e,n,r):o(r))||r);return s&&r&&uu(e,n,r),r},Yi=(t,e)=>(n,s)=>e(n,s,t);let Rs=class extends yt{constructor(e,n){super();g(this,"saveWorkbook",e=>{const n=e.getUnitId(),s=this._resourceManagerService.getResources(n)||[],r=e.getSnapshot();return r.resources=s,r});this._resourceManagerService=e,this._univerInstanceService=n,this._init()}_init(){const e=s=>{s.businesses.forEach(r=>{switch(r){case Q.UNRECOGNIZED:case Q.UNIVER_UNKNOWN:case Q.UNIVER_SLIDE:case Q.UNIVER_DOC:{this._univerInstanceService.getAllUnitsForType(Q.UNIVER_DOC).forEach(i=>{const l=(i.getSnapshot().resources||[]).find(a=>a.name===s.pluginName);if(l)try{const a=s.parseJson(l.data);s.onLoad(i.getUnitId(),a)}catch{console.error(`Load Document{${i.getUnitId()}} Resources{${s.pluginName}} Data Error.`)}});break}case Q.UNIVER_SHEET:this._univerInstanceService.getAllUnitsForType(Q.UNIVER_SHEET).forEach(i=>{const l=(i.getSnapshot().resources||[]).find(a=>a.name===s.pluginName);if(l)try{const a=s.parseJson(l.data);s.onLoad(i.getUnitId(),a)}catch{console.error(`Load Workbook{${i.getUnitId()}} Resources{${s.pluginName}} Data Error.`)}})}})};this._resourceManagerService.getAllResourceHooks().forEach(s=>{e(s)}),this.disposeWithMe(this._resourceManagerService.register$.subscribe(s=>{e(s)})),this.disposeWithMe(At(this._univerInstanceService.getTypeOfUnitAdded$(Q.UNIVER_SHEET).subscribe(s=>{this._resourceManagerService.loadResources(s.getUnitId(),s.getSnapshot().resources)}))),this.disposeWithMe(At(this._univerInstanceService.getTypeOfUnitDisposed$(Q.UNIVER_SHEET).subscribe(s=>{this._resourceManagerService.unloadResources(s.getUnitId())})))}saveDoc(e){const n=e.getUnitId(),s=this._resourceManagerService.getResourcesByType(n,Q.UNIVER_DOC)||[],r=e.getSnapshot();return r.resources=s,r}};Rs=hu([Yi(0,ut.Inject(Mn)),Yi(1,ut.Inject(He))],Rs);const Cs=ut.createIdentifier("resource-loader-service");Tn(It.Ready,Cs);class ps extends yt{constructor(){super();g(this,"_currentTheme");g(this,"_currentTheme$",new V.BehaviorSubject({}));g(this,"currentTheme$",this._currentTheme$.asObservable());this.disposeWithMe(At(()=>this._currentTheme$.complete()))}getCurrentTheme(){if(!this._currentTheme)throw new Error("[ThemeService]: current theme is not set!");return this._currentTheme}setTheme(n){this._currentTheme=n,this._currentTheme$.next(n)}}const Un="__INTERNAL_EDITOR__",zi=`${Un}DOCS_NORMAL`,Xi=`${Un}DOCS_FORMULA_BAR`,du=`\r
|
|
7
7
|
`;function fu(t){return`${Un}${t}`}function _u(t){return t.startsWith(Un)}var gu=Object.defineProperty,mu=Object.getOwnPropertyDescriptor,Eu=(t,e,n,s)=>{for(var r=s>1?void 0:s?mu(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(r=(s?o(e,n,r):o(r))||r);return s&&r&&gu(e,n,r),r},Is=(t,e)=>(n,s)=>e(n,s,t);const Ln=ut.createIdentifier("univer.undo-redo.service"),Ru=20;class qi{dispose(){}async dispatchToHandlers(){return!1}}const Ji="univer.command.redo",Zi="univer.command.undo",Qi=new class extends qi{constructor(){super(...arguments);g(this,"type",ze.COMMAND);g(this,"id",Zi)}async handler(e){const n=e.get(Ln),s=n.pitchTopUndoElement();if(!s)return!1;const r=e.get(Xe);return qn(s.undoMutations,r)?(n.popUndoToRedo(),!0):!1}},to=new class extends qi{constructor(){super(...arguments);g(this,"type",ze.COMMAND);g(this,"id",Ji)}async handler(e){const n=e.get(Ln),s=n.pitchTopRedoElement();if(!s)return!1;const r=e.get(Xe);return qn(s.redoMutations,r)?(n.popRedoToUndo(),!0):!1}};u.LocalUndoRedoService=class extends yt{constructor(n,s,r){super();g(this,"undoRedoStatus$");g(this,"_undoRedoStatus$",new V.BehaviorSubject({undos:0,redos:0}));g(this,"_undoStacks",new Map);g(this,"_redoStacks",new Map);g(this,"_batchingStatus",new Map);this._univerInstanceService=n,this._commandService=s,this._contextService=r,this.undoRedoStatus$=this._undoRedoStatus$.asObservable(),this.disposeWithMe(this._commandService.registerCommand(Qi)),this.disposeWithMe(this._commandService.registerCommand(to)),this.disposeWithMe(At(()=>this._undoRedoStatus$.complete())),this.disposeWithMe(At(this._univerInstanceService.focused$.subscribe(()=>this._updateStatus())))}pushUndoRedo(n){const{unitID:s}=n,r=this._getRedoStack(s,!0),i=this._getUndoStack(s,!0);if(r.length=0,this._batchingStatus.has(n.unitID)){const l=this._batchingStatus.get(n.unitID),a=this._pitchUndoElement(n.unitID);l===0||!a?(o(n),this._batchingStatus.set(n.unitID,1)):this._tryBatchingElements(a,n)}else o(n);function o(l){i.push(l),i.length>Ru&&i.splice(0,1)}this._updateStatus()}clearUndoRedo(n){const s=this._getRedoStack(n);s&&(s.length=0);const r=this._getUndoStack(n);r&&(r.length=0),this._updateStatus()}pitchTopUndoElement(){const n=this._getFocusedUnitId();return this._pitchUndoElement(n)}pitchTopRedoElement(){const n=this._getFocusedUnitId();return this._pitchRedoElement(n)}_pitchUndoElement(n){const s=this._getUndoStack(n);return s!=null&&s.length?s[s.length-1]:null}_pitchRedoElement(n){const s=this._getRedoStack(n);return s!=null&&s.length?s[s.length-1]:null}popUndoToRedo(){const s=this._getUndoStackForFocused().pop();s&&(this._getRedoStackForFocused().push(s),this._updateStatus())}popRedoToUndo(){const s=this._getRedoStackForFocused().pop();s&&(this._getUndoStackForFocused().push(s),this._updateStatus())}__tempBatchingUndoRedo(n){if(this._batchingStatus.has(n))throw new Error("[LocalUndoRedoService]: cannot batching undo redo twice at the same time!");return this._batchingStatus.set(n,0),At(()=>this._batchingStatus.delete(n))}_updateStatus(){var i,o;const n=this._getFocusedUnitId(),s=n&&((i=this._undoStacks.get(n))==null?void 0:i.length)||0,r=n&&((o=this._redoStacks.get(n))==null?void 0:o.length)||0;this._undoRedoStatus$.next({undos:s,redos:r})}_getUndoStack(n,s=!1){let r=this._undoStacks.get(n);return!r&&s&&(r=[],this._undoStacks.set(n,r)),r||null}_getRedoStack(n,s=!1){let r=this._redoStacks.get(n);return!r&&s&&(r=[],this._redoStacks.set(n,r)),r||null}_getUndoStackForFocused(){const n=this._getFocusedUnitId();if(!n)throw new Error("No focused univer instance!");return this._getUndoStack(n,!0)}_getRedoStackForFocused(){const n=this._getFocusedUnitId();if(!n)throw new Error("No focused univer instance!");return this._getRedoStack(n,!0)}_tryBatchingElements(n,s){n.redoMutations.push(...s.redoMutations),n.undoMutations.push(...s.undoMutations)}_getFocusedUnitId(){var o,l,a,h;let n="";const s=this._contextService.getContextValue(Ze),r=this._contextService.getContextValue(Bi),i=this._contextService.getContextValue(Wi);return s?r?n=Xi:i?n=zi:n=(l=(o=this._univerInstanceService.getFocusedUnit())==null?void 0:o.getUnitId())!=null?l:"":n=(h=(a=this._univerInstanceService.getFocusedUnit())==null?void 0:a.getUnitId())!=null?h:"",n}},u.LocalUndoRedoService=Eu([Is(0,He),Is(1,Xe),Is(2,Ye)],u.LocalUndoRedoService);const eo=Symbol("DependentOn");class Os extends yt{onStarting(e){}onReady(){}onRendered(){}onSteady(){}getUniverInstanceType(){return this.constructor.type}getPluginName(){return this.constructor.pluginName}}g(Os,"pluginName"),g(Os,"type",Q.UNIVER_UNKNOWN);class Cu{constructor(){g(this,"_plugins",[])}addPlugin(e){this._plugins.push(e)}removePlugins(){const e=this._plugins.slice();return this._plugins.length=0,e}forEachPlugin(e){this._plugins.forEach(e)}}class pu{constructor(){g(this,"_pluginsRegistered",[])}registerPlugin(e,n){this._pluginsRegistered.push({plugin:e,options:n})}getRegisterPlugins(){return this._pluginsRegistered.slice()}removePlugins(){this._pluginsRegistered=[]}}var Iu=Object.defineProperty,Ou=Object.getOwnPropertyDescriptor,no=(t,e,n,s)=>{for(var r=s>1?void 0:s?Ou(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(r=(s?o(e,n,r):o(r))||r);return s&&r&&Iu(e,n,r),r},tn=(t,e)=>(n,s)=>e(n,s,t);const Su=4;function Nu(...t){return function(e){e[eo]=t}}u.PluginService=class{constructor(e){g(this,"_pluginHolderForUniver");g(this,"_pluginHoldersForTypes",new Map);g(this,"_seenPlugins",new Set);g(this,"_flushTimer");this._injector=e,this._pluginHolderForUniver=this._injector.createInstance(Dn,this._checkPluginSeen.bind(this),this._immediateInitPlugin.bind(this)),this._pluginHolderForUniver.start()}dispose(){this._clearFlushTimer();for(const e of this._pluginHoldersForTypes.values())e.dispose();this._pluginHolderForUniver.dispose()}registerPlugin(e,n){this._assertPluginValid(e),this._scheduleInitPlugin();const{type:s}=e;s===Q.UNIVER_UNKNOWN?(this._pluginHolderForUniver.register(e,n),this._pluginHolderForUniver.flush()):this._ensurePluginHolderForType(s).register(e,n)}startPluginForType(e){this._ensurePluginHolderForType(e).start()}_ensurePluginHolderForType(e){if(!this._pluginHoldersForTypes.has(e)){const n=this._injector.createInstance(Dn,this._checkPluginSeen.bind(this),this._immediateInitPlugin.bind(this));return this._pluginHoldersForTypes.set(e,n),n}return this._pluginHoldersForTypes.get(e)}_immediateInitPlugin(e){this._seenPlugins.add(e.pluginName),this._ensurePluginHolderForType(e.type).immediateInitPlugin(e)}_checkPluginSeen(e){return this._seenPlugins.has(e.pluginName)}_assertPluginValid(e){const{type:n,pluginName:s}=e;if(n===Q.UNRECOGNIZED)throw new Error(`[PluginService]: invalid plugin type for ${e}. Please assign a "type" to your plugin.`);if(s==="")throw new Error(`[PluginService]: no plugin name for ${e}. Please assign a "pluginName" to your plugin.`);if(this._seenPlugins.has(s))throw new Error(`[PluginService]: duplicated plugin name for "${s}". Maybe a plugin that dependents on "${s} has already registered it. In that case please register "${s}" before the that plugin.`);this._seenPlugins.add(e.pluginName)}_scheduleInitPlugin(){this._flushTimer===void 0&&(this._flushTimer=setTimeout(()=>{this._pluginHolderForUniver.started||this._pluginHolderForUniver.start(),this._flushPlugins(),this._clearFlushTimer()},Su))}_clearFlushTimer(){this._flushTimer&&(clearTimeout(this._flushTimer),this._flushTimer=void 0)}_flushPlugins(){this._pluginHolderForUniver.flush();for(const[e,n]of this._pluginHoldersForTypes)n.started&&n.flush()}},u.PluginService=no([tn(0,ut.Inject(ut.Injector))],u.PluginService);let Dn=class extends yt{constructor(e,n,s,r,i,o){super();g(this,"_started",!1);g(this,"_pluginRegistry",new pu);g(this,"_pluginStore",new Cu);this._checkPluginRegistered=e,this._registerPlugin=n,this._logService=s,this._injector=r,this._lifecycleService=i,this._lifecycleInitializerService=o}get started(){return this._started}dispose(){super.dispose(),this._pluginStore.forEachPlugin(e=>e.dispose()),this._pluginStore.removePlugins(),this._pluginRegistry.removePlugins()}register(e,n){this._pluginRegistry.registerPlugin(e,n)}immediateInitPlugin(e){const n=this._initPlugin(e,void 0);this._pluginsRunLifecycle([n])}start(){this._started||(this._started=!0,this.flush())}flush(){if(!this._started)return;const e=this._pluginRegistry.getRegisterPlugins().map(({plugin:n,options:s})=>this._initPlugin(n,s));this._pluginsRunLifecycle(e),this._pluginRegistry.removePlugins()}_initPlugin(e,n){const s=e[eo];if(s){const i=()=>{const o=s.find(l=>!this._checkPluginRegistered(l));return o?(this._logService.warn("[PluginService]",`plugin "${e.pluginName}" depends on "${o.pluginName}" which is not registered. Univer will automatically register it with default configuration.`),this._registerPlugin(o,void 0),!0):!1};for(;i(););}const r=this._injector.createInstance(e,n);return this._pluginStore.addPlugin(r),r}_pluginsRunLifecycle(e){const n=r=>{e.forEach(i=>{switch(r){case It.Starting:i.onStarting(this._injector);break;case It.Ready:i.onReady();break;case It.Rendered:i.onRendered();break;case It.Steady:i.onSteady();break}this._lifecycleInitializerService.initModulesOnStage(r)})},s=this.disposeWithMe(this._lifecycleService.subscribeWithPrevious().pipe(V.finalize(()=>{Promise.resolve().then(()=>s.dispose())})).subscribe(r=>{n(r)}))}};Dn=no([tn(2,Ee),tn(3,ut.Inject(ut.Injector)),tn(4,ut.Inject(u.LifecycleService)),tn(5,ut.Inject(u.LifecycleInitializerService))],Dn);function so(t,e){if(!e)return t;const n=[];for(const s of t){const r=e.find(([i])=>i===s[0]);if(r){if(r[1]===null)continue;n.push([s[0],r[1]])}else n.push(s)}return n}const Ss={[Wt.Editor]:"Editor",[Wt.Owner]:"Owner",[Wt.Reader]:"Reader",[Wt.UNRECOGNIZED]:"UNRECOGNIZED"},yn=t=>t?{userID:`${Ss[t]}_${y.generateRandomId(8)}`,name:Ss[t],avatar:""}:{userID:"",name:"",avatar:"",anonymous:!0,canBindAnonymous:!1},Ns=(t,e)=>t.startsWith(Ss[e]);var Au=Object.defineProperty,bu=Object.getOwnPropertyDescriptor,vu=(t,e,n,s)=>{for(var r=s>1?void 0:s?bu(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(r=(s?o(e,n,r):o(r))||r);return s&&r&&Au(e,n,r),r};u.UserManagerService=class{constructor(){g(this,"_model",new Map);g(this,"_userChange$",new V.Subject);g(this,"userChange$",this._userChange$.asObservable());g(this,"_currentUser$",new V.BehaviorSubject(yn()));g(this,"currentUser$",this._currentUser$.asObservable())}getCurrentUser(){return this._currentUser$.getValue()}setCurrentUser(e){this.addUser(e),this._currentUser$.next(e)}addUser(e){this._model.set(e.userID,e),this._userChange$.next({type:"add",user:e})}getUser(e,n){const s=this._model.get(e);if(s)return s;n&&n()}delete(e){const n=this.getUser(e);this._model.delete(e),n&&this._userChange$.next({type:"delete",user:n})}clear(){this._model.clear(),this._userChange$.next({type:"clear"})}},u.UserManagerService=vu([xi(It.Starting,u.UserManagerService)],u.UserManagerService);var wu=Object.defineProperty,Tu=Object.getOwnPropertyDescriptor,Mu=(t,e,n,s)=>{for(var r=s>1?void 0:s?Tu(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(r=(s?o(e,n,r):o(r))||r);return s&&r&&wu(e,n,r),r},ro=(t,e)=>(n,s)=>e(n,s,t);u.AuthzIoLocalService=class{constructor(e,n){g(this,"_permissionMap",new Map([]));this._resourceManagerService=e,this._userManagerService=n,this._initSnapshot(),n.setCurrentUser(yn(Wt.Owner))}_getRole(e){const n=this._userManagerService.getCurrentUser();return n?Ns(n.userID,e):!1}_initSnapshot(){this._resourceManagerService.registerPluginResource({toJson:e=>{const n=[...this._permissionMap.keys()].reduce((s,r)=>{const i=this._permissionMap.get(r);return s[r]=i,s},{});return JSON.stringify(n)},parseJson:e=>JSON.parse(e),pluginName:"SHEET_AuthzIoMockService_PLUGIN",businesses:[Q.UNIVER_SHEET,Q.UNIVER_DOC,Q.UNIVER_SLIDE],onLoad:(e,n)=>{for(const s in n)this._permissionMap.set(s,n[s])},onUnLoad:()=>{this._permissionMap.clear()}})}async create(e){const n=y.generateRandomId(8);switch(e.objectType){case On.SelectRange:{const s=e.selectRangeObject;this._permissionMap.set(n,{...s,objectType:e.objectType});break}case On.Worksheet:{const s=e.worksheetObject;this._permissionMap.set(n,{...s,objectType:e.objectType})}}return n}async allowed(e){var n;if(this._permissionMap.has(e.objectID)){const s=this._permissionMap.get(e.objectID);if(s&&s.objectType===On.Worksheet)return(n=s==null?void 0:s.strategies)==null?void 0:n.map(r=>({action:r.action,allowed:r.role===Wt.Editor}))}return e.actions.map(s=>({action:s,allowed:this._getRole(Wt.Owner)||this._getRole(Wt.Editor)}))}async batchAllowed(e){const n=this._userManagerService.getCurrentUser(),s=e.map(r=>({unitID:r.unitID,objectID:r.objectID,actions:r.actions.map(i=>({action:i,allowed:!1}))}));return n&&(Ns(n.userID,Wt.Owner)||Ns(n.userID,Wt.Editor))?e.map(r=>({unitID:r.unitID,objectID:r.objectID,actions:r.actions.map(i=>({action:i,allowed:!0}))})):s}async list(e){const n=[];return e.objectIDs.forEach(s=>{const r=this._permissionMap.get(s);if(r){const i={objectID:s,unitID:e.unitID,objectType:r.objectType,name:r.name,shareOn:!1,shareRole:Wt.Owner,shareScope:-1,creator:yn(Wt.Owner),strategies:[],actions:e.actions.map(o=>({action:o,allowed:this._getRole(Wt.Owner)||this._getRole(Wt.Editor)}))};n.push(i)}}),n}async listCollaborators(){return[]}async listRoles(){return{roles:[],actions:[]}}async deleteCollaborator(){}async update(e){}async updateCollaborator(){}async createCollaborator(){}async putCollaborators(e){}},u.AuthzIoLocalService=Mu([ro(0,Mn),ro(1,ut.Inject(u.UserManagerService))],u.AuthzIoLocalService);const io=ut.createIdentifier("IAuthzIoIoService");class Uu{constructor(e={},n){g(this,"_startedTypes",new Set);g(this,"_injector");const s=this._injector=Lu(n,e==null?void 0:e.override),{theme:r,locale:i,locales:o,logLevel:l}=e;r&&this._injector.get(ps).setTheme(r),o&&this._injector.get(Qe).load(o),i&&this._injector.get(Qe).setLocale(i),l&&this._injector.get(Ee).setLogLevel(l),this._init(s)}get _univerInstanceService(){return this._injector.get(He)}get _pluginService(){return this._injector.get(u.PluginService)}__getInjector(){return this._injector}dispose(){this._injector.dispose()}setLocale(e){this._injector.get(Qe).setLocale(e)}createUnit(e,n){return this._univerInstanceService.createUnit(e,n)}createUniverSheet(e){return this._univerInstanceService.createUnit(Q.UNIVER_SHEET,e)}createUniverDoc(e){return this._univerInstanceService.createUnit(Q.UNIVER_DOC,e)}createUniverSlide(e){return this._univerInstanceService.createUnit(Q.UNIVER_SLIDE,e)}_init(e){this._univerInstanceService.registerCtorForType(Q.UNIVER_SHEET,u.Workbook),this._univerInstanceService.registerCtorForType(Q.UNIVER_DOC,we),this._univerInstanceService.registerCtorForType(Q.UNIVER_SLIDE,_s);const n=e.get(He);n.__setCreateHandler((s,r,i)=>{if(!this._startedTypes.has(s)){this._pluginService.startPluginForType(s),this._startedTypes.add(s);const l=e.createInstance(i,r);return n.__addUnit(l),this._tryProgressToReady(),l}const o=e.createInstance(i,r);return n.__addUnit(o),o})}_tryProgressToReady(){this._injector.get(u.LifecycleService).stage<It.Ready&&(this._injector.get(u.LifecycleService).stage=It.Ready)}registerPlugin(e,n){this._pluginService.registerPlugin(e,n)}}function Lu(t,e){const n=so([[Mi],[Qe],[ps],[u.LifecycleService],[u.LifecycleInitializerService],[u.PluginService],[u.UserManagerService],[He,{useClass:u.UniverInstanceService}],[Es,{useClass:Vi}],[Ee,{useClass:Zr,lazy:!0}],[Xe,{useClass:u.CommandService}],[Ln,{useClass:u.LocalUndoRedoService,lazy:!0}],[wi,{useClass:Ti}],[Ye,{useClass:qr}],[Mn,{useClass:Ki,lazy:!0}],[Cs,{useClass:Rs,lazy:!0}],[io,{useClass:u.AuthzIoLocalService,lazy:!0}]],e);return t?t.createChild(n):new ut.Injector(n)}const Du=(t,e)=>e.length===t.length&&!t.some(n=>e.some(s=>!me.equals(s,n))),yu=(t,e)=>e.length===t.length&&t.every((n,s)=>{const r=e[s];return r.unitId===n.unitId&&r.sheetId===n.sheetId&&me.equals(n.range,r.range)});function Pu(t,e){if(Object.is(t,e))return!0;if(typeof t!="object"||!t||typeof e!="object"||!e)return!1;const n=Object.keys(t),s=Object.keys(e);if(n.length!==s.length)return!1;const r=Object.prototype.hasOwnProperty.bind(e);for(let i=0;i<n.length;i++){const o=n[i];if(!r(o))return!1;const l=t[o],a=e[o];if(l!==a)return!1}return!0}function oo(t){return/^-?\d+(\.\d+)?$/.test(t)}function ku(t){return oo(t)?Number(t)<=Number.MAX_SAFE_INTEGER:!1}function Hu(t){return["true","false"].includes(t.toLowerCase())}function Fu(t,e){return e.forEach(n=>t.add(n)),t}function $u(t,e=16){let n=0,s=null;return function(...i){const o=Date.now();o-n<e?(s&&clearTimeout(s),s=setTimeout(()=>{n=o,t.apply(this,i)},e)):(n=o,t.apply(this,i))}}function Wu(t){const e=new MessageChannel;let n=!1;return e.port1.onmessage=()=>{n||t()},e.port2.postMessage(null),()=>{n=!0,e.port1.onmessage=null,e.port1.close(),e.port2.close()}}var lo=(t=>(t[t.TEXT=0]="TEXT",t[t.ARROW=1]="ARROW",t[t.CUSTOM=2]="CUSTOM",t))(lo||{});function Bu(t,e,n){if(e==="")return t;const s={id:"mock-id",body:t,documentStyle:{}},r=new we(s),i=e.length;let o;for(;(o=r.getBody().dataStream.indexOf(e))>=0;){const a=new Re,h=ve.getInstance();if(o>0&&a.retain(o),n.length>0){const d=r.sliceBody(o,o+i),c={dataStream:n};Array.isArray(d==null?void 0:d.textRuns)&&d.textRuns.length&&(c.textRuns=[{...d.textRuns[0],st:0,ed:n.length}]),a.insert(n.length,c)}a.delete(i),r.apply(h.editOp(a.serialize()))}const l=r.getBody();return r.dispose(),l}class ao{constructor(){g(this,"skipNextObservers",!1);g(this,"lastReturnValue");g(this,"isStopPropagation",!1)}stopPropagation(){this.isStopPropagation=!0}}class Gu extends V.Subject{constructor(){super(...arguments);g(this,"_sortedObservers",[])}subscribe(){throw new Error("[EventSubject]: please use `subscribeEvent` instead of `subscribe` method for `EventSubject`.")}next(){throw new Error("[EventSubject]: please use `emitEvent` instead of `next` method for `EventSubject`.")}unsubscribe(){super.unsubscribe(),this._sortedObservers.length=0}complete(){super.complete(),this._sortedObservers.length=0}subscribeEvent(n){let s;typeof n=="function"?s={next:([i,o])=>n(i,o)}:s=n;const r=super.subscribe(s);return this._sortedObservers.push(s),this._sortedObservers.sort((i,o)=>{var l,a;return((l=i.priority)!=null?l:0)-((a=o.priority)!=null?a:0)}),r.add(()=>this._sortedObservers=this._sortedObservers.filter(i=>i!==s)),r}clearObservers(){this._sortedObservers.forEach(n=>{var s;return(s=n.complete)==null?void 0:s.call(n)}),this._sortedObservers.length=0}emitEvent(n){var s;if(!this.closed){const r=new ao;r.lastReturnValue=n;for(const i of this._sortedObservers){const o=(s=i.next)==null?void 0:s.call(i,[n,r]);if(r.lastReturnValue=o,r.skipNextObservers)return{handled:!0,lastReturnValue:r.lastReturnValue,stopPropagation:r.isStopPropagation}}return{handled:this._sortedObservers.length>0,lastReturnValue:r.lastReturnValue,stopPropagation:r.isStopPropagation}}throw new Error("[EventSubject]: cannot emit event on a closed subject.")}}const xu=ut.createIdentifier("ILocalStorageService");function ju(t){return`sheet_interceptor_${t}`}const uo=t=>function(e,n){let s=-1;function r(i,o){if(i<=s)throw new Error("[SheetInterceptorService]: next() called multiple times!");return s=i,i===t.length?o:t[i].handler(o,n,r.bind(null,i+1))}return r(0,e)};class Vu{constructor(e){g(this,"_interceptorsByName",new Map);g(this,"_interceptorPoints");this._interceptorPoints=e}fetchThroughInterceptors(e){const n=e,s=this._interceptorsByName.get(n);return uo(s||[])}intercept(e,n){const s=e;this._interceptorsByName.has(s)||this._interceptorsByName.set(s,[]);const r=this._interceptorsByName.get(s);return r.push(n),this._interceptorsByName.set(s,r.sort((i,o)=>{var l,a;return((l=o.priority)!=null?l:0)-((a=i.priority)!=null?a:0)})),()=>En(this._interceptorsByName.get(s),n)}getInterceptPoints(){return this._interceptorPoints}}const Ku=ut.createIdentifier("univer.snapshot-server-service");class Yu{constructor(){g(this,"_sheetBlockCache",new Map)}getUnitOnRev(e,n){return Promise.resolve({snapshot:{unitID:"",type:Q.UNIVER_SHEET,rev:0,workbook:void 0,doc:void 0},changesets:[],error:{code:Vt.OK,message:""}})}getSheetBlock(e,n){const s=this._sheetBlockCache.get(n.blockID);return Promise.resolve({block:s,error:{code:Vt.OK,message:""}})}fetchMissingChangesets(e,n){return Promise.resolve({changesets:[],error:{code:Vt.OK,message:""}})}getResourcesRequest(e,n){return Promise.resolve({resources:{},error:{code:Vt.OK,message:""}})}saveSnapshot(e,n){return Promise.resolve({error:{code:Vt.OK,message:""}})}saveSheetBlock(e,n){const{block:s}=n;return s?(this._sheetBlockCache.set(s.id,s),Promise.resolve({error:{code:Vt.OK,message:""},blockID:s.id})):Promise.resolve({error:{code:Vt.UNDEFINED,message:"block is required"},blockID:""})}saveChangeset(e,n){return Promise.resolve({error:{code:Vt.OK,message:""},concurrent:[]})}}function zu(t){return btoa(encodeURIComponent(t).replace(/%([0-9A-F]{2})/g,(e,n)=>String.fromCharCode(Number.parseInt(n,16))))}function As(t){return decodeURIComponent(Array.prototype.map.call(atob(t),e=>`%${`00${e.charCodeAt(0).toString(16)}`.slice(-2)}`).join(""))}const en=new TextEncoder,Pn=new TextDecoder;function co(t){const e=y.deepClone(t);return delete e.id,delete e.name,delete e.rowCount,delete e.columnCount,delete e.cellData,en.encode(JSON.stringify(e))}function ho(t){const e=y.deepClone(t);return delete e.id,delete e.rev,delete e.name,delete e.sheetOrder,delete e.sheets,en.encode(JSON.stringify(e))}function Xu(t){const e=y.deepClone(t);return delete e.id,delete e.rev,delete e.title,delete e.resources,en.encode(JSON.stringify(e))}function fo(t){return JSON.parse(Pn.decode(t))}function qu(t){return JSON.parse(typeof t=="string"?As(t):Pn.decode(t))}function Ju(t){return JSON.parse(typeof t=="string"?As(t):Pn.decode(t))}const bs=256*20;function _o(t,e){const n=new Zt(t),s=n.getLength(),r=[];let i=0;for(;i<s;){const o=Math.min(i+bs,s-1),l=n.getSlice(i,Math.min(i+bs,s-1),0,e),a=Zu(l);r.push({id:y.generateRandomId(19,"0123456789"),startRow:i,endRow:o,data:a}),i+=bs}return r}function Zu(t){const e=t.getData();return en.encode(JSON.stringify(e))}async function Qu(t,e,n,s,r){const i={},o={};if(!await Promise.all(Object.entries(e.sheets).map(async([c,f])=>{const _={id:f.id,type:ln.GRID,name:f.name,rowCount:f.rowCount,columnCount:f.columnCount,originalMeta:co(f)};if(o[c]=_,f.cellData){const E=_o(f.cellData,f.rowCount),R=await Promise.all(E.map(H=>r.saveSheetBlock(t,{unitID:n,type:Q.UNIVER_SHEET,block:H})));if(R.some(H=>{var k;return((k=H.error)==null?void 0:k.code)!==Vt.OK}))return!1;i[c]={sheetID:c,blocks:R.map(H=>H.blockID)}}return!0})))throw new Error("[transformWorkbookDataToSnapshot()]: Failed to save sheet blocks.");const a=ho(e),h={unitID:e.id,rev:s,creator:"",name:e.name,sheetOrder:e.sheetOrder,sheets:o,blockMeta:i,resources:e.resources||[],originalMeta:a};return{snapshotRes:{unitID:n,rev:h.rev,type:Q.UNIVER_SHEET,workbook:h,doc:void 0}}}async function tc(t,e,n,s,r){var f,_;const i={},o={};if(!await Promise.all(Object.entries(e.sheets).map(async([E,R])=>{const H={id:R.id,type:ln.GRID,name:R.name,rowCount:R.rowCount,columnCount:R.columnCount,originalMeta:co(R)};if(o[E]=H,R.cellData){const k=_o(R.cellData,R.rowCount),et=await Promise.all(k.map(mt=>r.saveSheetBlock(t,{unitID:n,type:Q.UNIVER_SHEET,block:mt})));if(et.some(mt=>{var ft;return((ft=mt.error)==null?void 0:ft.code)!==Vt.OK}))return!1;i[E]={sheetID:E,blocks:et.map(mt=>mt.blockID)}}return!0})))throw new Error("[transformWorkbookDataToSnapshot()]: Failed to save sheet blocks.");const a=ho(e),h={unitID:e.id,rev:s,creator:"",name:e.name,sheetOrder:e.sheetOrder,sheets:o,blockMeta:i,resources:e.resources||[],originalMeta:a},d={unitID:n,rev:h.rev,type:Q.UNIVER_SHEET,workbook:h,doc:void 0},c=await r.saveSnapshot(t,{unitID:n,type:Q.UNIVER_SHEET,snapshot:d});if(ni(c.error))throw new Error(`transformWorkbookDataToSnapshot(): Failed to save snapshot.
|
|
8
8
|
ErrorCode: ${(f=c.error)==null?void 0:f.code}:${(_=c.error)==null?void 0:_.message}`);return{snapshot:d}}function ec(t,e,n){const s=t.workbook;if(!s)throw new Error("");const r={};Object.entries(s.sheets).forEach(([a,h])=>{const d=fo(h.originalMeta);r[a]={id:h.id,name:h.name,rowCount:h.rowCount,columnCount:h.columnCount,...d}});const i=new Map;e.forEach(a=>{i.set(a.id,a)}),s.blockMeta&&Object.entries(s.blockMeta).forEach(([a,h])=>{var f;const d=r[a];d.cellData={};const c=[];(f=h.blocks)==null||f.forEach(_=>{const E=i.get(_);if(E)c.push(E);else throw new Error("")}),c.forEach(_=>{const E=qu(_.data);Object.entries(E).forEach(([R,H])=>{const k=d.cellData[+R]={};Object.entries(H).forEach(([et,mt])=>{k[+et]=mt})})})});const o=fo(s.originalMeta);return{id:t.unitID,rev:s.rev,name:s.name,sheetOrder:s.sheetOrder,appVersion:"",locale:Ie.EN_US,sheets:r,styles:{},resources:s.resources||[],...o}}function nc(t){const e=t.doc;if(e==null)throw new Error("transformSnapshotToDocumentData(): snapshot.doc is undefined.");const{unitID:n,rev:s,name:r,originalMeta:i}=e,{body:o,documentStyle:l={},settings:a={}}=Ju(i);return{id:n,rev:s,locale:Ie.EN_US,title:r,body:o,documentStyle:l,settings:a}}async function sc(t,e,n,s,r){var a,h,d;const i={unitID:e.id,rev:s,creator:"",name:(a=e.title)!=null?a:"",resources:e.resources||[],originalMeta:Xu(e)},o={unitID:n,rev:i.rev,type:Q.UNIVER_DOC,workbook:void 0,doc:i},l=await r.saveSnapshot(t,{unitID:n,type:Q.UNIVER_DOC,snapshot:o});if(ni(l.error))throw new Error(`transformDocumentDataToSnapshot(): Failed to save snapshot.
|
|
9
9
|
ErrorCode: ${(h=l.error)==null?void 0:h.code}:${(d=l.error)==null?void 0:d.message}`);return{snapshot:o}}async function rc(t,e){const n=t.workbook;if(!n)throw new Error("Workbook metadata is not available");const s=[],r=[];return Object.entries(n.blockMeta).forEach(([i,o])=>{const l=o.blocks.map(async a=>{const h={unitID:n.unitID,type:Q.UNIVER_SHEET,blockID:a},{block:d}=await e.getSheetBlock({},h);if(d)s.push(d);else throw new Error("Block not found")});r.push(...l)}),await Promise.all(r),s}var go=(t=>(t[t.INFO=0]="INFO",t[t.STOP=1]="STOP",t[t.WARNING=2]="WARNING",t))(go||{}),mo=(t=>(t[t.DISABLED=0]="DISABLED",t[t.FULL_ALPHA=1]="FULL_ALPHA",t[t.FULL_HANGUL=2]="FULL_HANGUL",t[t.FULL_KATAKANA=3]="FULL_KATAKANA",t[t.HALF_ALPHA=4]="HALF_ALPHA",t[t.HALF_HANGUL=5]="HALF_HANGUL",t[t.HALF_KATAKANA=6]="HALF_KATAKANA",t[t.HIRAGANA=7]="HIRAGANA",t[t.NO_CONTROL=8]="NO_CONTROL",t[t.OFF=9]="OFF",t[t.ON=10]="ON",t))(mo||{}),Eo=(t=>(t.BETWEEN="between",t.EQUAL="equal",t.GREATER_THAN="greaterThan",t.GREATER_THAN_OR_EQUAL="greaterThanOrEqual",t.LESS_THAN="lessThan",t.LESS_THAN_OR_EQUAL="lessThanOrEqual",t.NOT_BETWEEN="notBetween",t.NOT_EQUAL="notEqual",t))(Eo||{}),Ro=(t=>(t.CUSTOM="custom",t.LIST="list",t.LIST_MULTIPLE="listMultiple",t.NONE="none",t.TEXT_LENGTH="textLength",t.DATE="date",t.TIME="time",t.WHOLE="whole",t.DECIMAL="decimal",t.CHECKBOX="checkbox",t))(Ro||{}),Co=(t=>(t.VALID="valid",t.INVALID="invalid",t.VALIDATING="validating",t))(Co||{});const ic=["script","style","meta","comment","link"];function oc(t){return!(t.length===0||t.length>31||t.startsWith("'")||t.endsWith("'")||/[:\\\/\?\*\[\]]/.test(t))}bo(),u.ABCToNumber=$l,u.AbsoluteRefType=Nt,u.ActionIterator=ds,u.AlignTypeH=Ir,u.AlignTypeV=Or,u.ArrangeTypeEnum=Ar,u.ArrowsAndMarkersShapes=Ks,u.AutoFillSeries=Ds,u.BaselineOffset=Pe,u.BasicShapes=Vs,u.BlockType=nr,u.BooleanNumber=Y,u.BorderStyleTypes=dt,u.BorderType=ys,u.BulletAlignment=fe,u.COLORS=Hn,u.CellValueType=Se,u.ClientSnapshotServerService=Yu,u.Color=Ne,u.ColorBuilder=hn,u.ColorKit=Jt,u.ColorType=jt,u.ColumnSeparatorType=or,u.CommandType=ze,u.CommonHideTypes=Ps,u.ConfigService=Ti,u.ContentAlignment=mr,u.ContextService=qr,u.CopyPasteType=ks,u.CustomDecorationType=er,u.CustomRangeType=tr,u.DEFAULT_CELL=ql,u.DEFAULT_DOC=fs,u.DEFAULT_DOCUMENT_SUB_COMPONENT_ID=wo,u.DEFAULT_EMPTY_DOCUMENT_VALUE=du,u.DEFAULT_RANGE=zl,u.DEFAULT_RANGE_ARRAY=Yl,u.DEFAULT_SELECTION=Xl,u.DEFAULT_SLIDE=Kr,u.DEFAULT_STYLES=pn,u.DEFAULT_WORKSHEET_COLUMN_COUNT=Di,u.DEFAULT_WORKSHEET_COLUMN_COUNT_KEY=Fa,u.DEFAULT_WORKSHEET_COLUMN_TITLE_HEIGHT=Hi,u.DEFAULT_WORKSHEET_COLUMN_TITLE_HEIGHT_KEY=Ga,u.DEFAULT_WORKSHEET_COLUMN_WIDTH=Pi,u.DEFAULT_WORKSHEET_COLUMN_WIDTH_KEY=Wa,u.DEFAULT_WORKSHEET_ROW_COUNT=Li,u.DEFAULT_WORKSHEET_ROW_COUNT_KEY=Ha,u.DEFAULT_WORKSHEET_ROW_HEIGHT=yi,u.DEFAULT_WORKSHEET_ROW_HEIGHT_KEY=$a,u.DEFAULT_WORKSHEET_ROW_TITLE_WIDTH=ki,u.DEFAULT_WORKSHEET_ROW_TITLE_WIDTH_KEY=Ba,u.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY=Xi,u.DOCS_NORMAL_EDITOR_UNIT_ID_KEY=zi,u.DashStyleType=fr,u.DataStreamTreeNodeType=si,u.DataStreamTreeTokenType=le,u.DataValidationErrorStyle=go,u.DataValidationImeMode=mo,u.DataValidationOperator=Eo,u.DataValidationRenderMode=lo,u.DataValidationStatus=Co,u.DataValidationType=Ro,u.DependentOn=Nu,u.DesktopLogService=Zr,u.DeveloperMetadataVisibility=Hs,u.Dimension=Fs,u.Direction=$s,u.Disposable=yt,u.DisposableCollection=xn,u.DocStyleType=Zs,u.DocumentDataModel=we,u.DocumentFlavor=sr,u.DrawingTypeEnum=br,u.EDITOR_ACTIVATED=Wi,u.EXTENSION_NAMES=Yr,u.Entry=jn,u.EntryIterator=Gr,u.ErrorService=Mi,u.EventState=ao,u.EventSubject=Gu,u.FOCUSING_COMMON_DRAWINGS=nu,u.FOCUSING_DOC=bn,u.FOCUSING_EDITOR_BUT_HIDDEN=Ja,u.FOCUSING_EDITOR_INPUT_FORMULA=Za,u.FOCUSING_EDITOR_STANDALONE=tu,u.FOCUSING_FORMULA_EDITOR=Bi,u.FOCUSING_SHEET=Ze,u.FOCUSING_SLIDE=vn,u.FOCUSING_UNIVER_EDITOR=Qa,u.FOCUSING_UNIVER_EDITOR_STANDALONE_SINGLE_MODE=eu,u.FollowNumberWithType=Qs,u.FontItalic=an,u.FontStyleType=Er,u.FontWeight=un,u.FormatType=Ws,u.GlyphType=je,u.GridType=rr,u.HLSColor=qs,u.HorizontalAlign=Oe,u.IAuthzIoService=io,u.ICommandService=Xe,u.IConfigService=wi,u.IContextService=Ye,u.ILocalStorageService=xu,u.ILogService=Ee,u.IPermissionService=Es,u.IResourceLoaderService=Cs,u.IResourceManagerService=Mn,u.ISnapshotServerService=Ku,u.IUndoRedoService=Ln,u.IUniverInstanceService=He,u.InterceptorManager=Vu,u.InterpolationPointType=Bs,u.JSON1=Ta,u.JSONX=ve,u.KeyIterator=Wr,u.LRUHelper=Ke,u.LRUMap=xr,u.LifecycleStages=It,u.LocaleService=Qe,u.LocaleType=Ie,u.LogLevel=Jr,u.MOVE_BUFFER_VALUE=Ge,u.MemoryCursor=Ni,u.NamedStyleType=hr,u.NilCommand=ti,u.NumberUnitType=pr,u.ObjectMatrix=Zt,u.ObjectRelativeFromH=Rr,u.ObjectRelativeFromV=Cr,u.OnLifecycle=xi,u.OtherShapes=Ys,u.PRESET_LIST_TYPE=ua,u.PageElementType=vr,u.PageOrientType=Nr,u.PageType=Wn,u.ParagraphElementType=ar,u.PermissionService=Vi,u.PermissionStatus=ms,u.Plugin=Os,u.PositionedObjectLayoutType=cr,u.PresetListType=Nn,u.ProtectionType=Gs,u.RANGE_TYPE=ot,u.RGBA_PAREN=yo,u.RGB_PAREN=Do,u.ROTATE_BUFFER_VALUE=Ms,u.Range=ke,u.Rectangle=me,u.RedoCommand=to,u.RedoCommandId=Ji,u.RefAlias=Fl,u.Registry=Jn,u.RegistryAsMap=Zn,u.RelativeDate=xs,u.RelativeSlideLink=wr,u.ResourceManagerService=Ki,u.RgbColor=dn,u.RxDisposable=wl,u.SectionType=ir,u.SheetTypes=ln,u.SheetViewModel=$i,u.SlideDataModel=_s,u.SpacingRule=dr,u.SpecialShapes=zs,u.Styles=Ui,u.THEME_COLORS=Xs,u.TabStopAlignment=_r,u.TextDecoration=js,u.TextDirection=xe,u.TextDirectionType=lr,u.TextX=Re,u.TextXActionType=tt,u.ThemeColor=fn,u.ThemeColorType=$t,u.ThemeColors=cn,u.ThemeService=ps,u.Tools=y,u.UndoCommand=Qi,u.UndoCommandId=Zi,u.UnitModel=Sn,u.Univer=Uu,u.UniverInstanceType=Q,u.UpdateDocsAttributeType=kt,u.ValueIterator=Br,u.VerticalAlign=De,u.WidthType=gr,u.Worksheet=Je,u.WrapStrategy=ye,u.WrapTextType=ur,u.afterInitApply=aa,u.b64DecodeUnicode=As,u.b64EncodeUnicode=zu,u.binarySearchArray=Us,u.cellToRange=Cl,u.characterSpacingControlType=Sr,u.checkForSubstrings=pl,u.checkIfMove=To,u.checkParagraphHasBullet=Il,u.checkParagraphHasIndent=Ol,u.checkParagraphHasIndentByStyle=Ur,u.codeToBlob=Uo,u.composeBody=es,u.composeInterceptors=uo,u.concatMatrixArray=yl,u.convertBodyToHtml=Kl,u.covertTextRunToHtml=Xn,u.createDefaultUser=yn,u.createInterceptorKey=ju,u.createInternalEditorID=fu,u.createRowColIter=zn,u.debounce=Vl,u.dedupe=Tl,u.deepCompare=Bn,u.deleteContent=Dr,u.extractPureTextFromCell=xa,u.fromCallback=ei,u.fromObservable=vl,u.generateTemporarySnap=Qu,u.getArrayLength=ge,u.getBodySlice=qe,u.getBodySliceHtml=Cn,u.getBorderStyleType=ml,u.getCellInfoInMergeData=Qo,u.getCellValueType=Xo,u.getColorStyle=se,u.getCustomDecorationSlice=Ri,u.getCustomRangeSlice=Ei,u.getDocsUpdateBody=El,u.getReverseDirection=Lo,u.getSheetBlocksFromSnapshot=rc,u.getWorksheetUID=qa,u.groupBy=Ll,u.handleStyleToString=gl,u.hashAlgorithm=Nl,u.horizontalLineSegmentsSubtraction=mn,u.insertMatrixArray=Vn,u.insertTextToContent=Lr,u.isBlackColor=Ko,u.isBooleanString=Hu,u.isCellCoverable=dl,u.isCellV=Jo,u.isEmptyCell=Tr,u.isFormulaId=_l,u.isFormulaString=fl,u.isICellData=zo,u.isInternalEditorID=_u,u.isNullCell=qo,u.isNumeric=oo,u.isRangesEqual=Du,u.isRealNum=Sl,u.isSafeNumeric=ku,u.isSameStyleTextRun=Mr,u.isUnitRangesEqual=yu,u.isValidRange=Rl,u.isWhiteColor=Yo,u.makeArray=Dl,u.makeCellRangeToRangeData=hl,u.makeCellToSelection=cl,u.mergeOverrideWithDependencies=so,u.mergeSets=Fu,u.mergeWorksheetSnapshotWithDefault=Fi,u.moveMatrixArray=Yn,u.moveRangeByOffset=ea,u.nameCharacterCheck=oc,u.normalizeBody=Ia,u.normalizeTextRuns=Qn,u.numberToABC=Bl,u.numberToListABC=Gl,u.orderSearchArray=Ls,u.queryObjectMatrix=ta,u.remove=En,u.repeatStringNumTimes=Vr,u.replaceInDocumentBody=Bu,u.requestImmediateMacroTask=Wu,u.rotate=Ul,u.runOnLifecycle=Tn,u.searchArray=Mo,u.selectionToArray=Zo,u.sequence=Xr,u.sequenceAsync=zr,u.sequenceExecute=qn,u.sequenceExecuteAsync=la,u.shallowEqual=Pu,u.skipParseTagNames=ic,u.sliceMatrixArray=Pl,u.sortRules=xl,u.sortRulesByDesc=jl,u.sortRulesFactory=Ae,u.spliceArray=Kn,u.textDecoder=Pn,u.textEncoder=en,u.throttle=$u,u.toDisposable=At,u.transformDocumentDataToSnapshot=sc,u.transformSnapshotToDocumentData=nc,u.transformSnapshotToWorkbookData=ec,u.transformWorkbookDataToSnapshot=tc,u.updateAttributeByDelete=Ai,u.updateAttributeByInsert=bi,Object.defineProperty(u,Symbol.toStringTag,{value:"Module"})});
|