@100mslive/hms-whiteboard 0.0.4 → 0.0.5-alpha.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/dist/Whiteboard.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import './index.css';
|
|
3
3
|
export interface WhiteboardProps {
|
|
4
4
|
endpoint?: string;
|
|
5
|
-
token
|
|
5
|
+
token: string;
|
|
6
6
|
zoomToContent?: boolean;
|
|
7
7
|
transparentCanvas?: boolean;
|
|
8
8
|
onMount?: (args: {
|
|
@@ -10,4 +10,4 @@ export interface WhiteboardProps {
|
|
|
10
10
|
editor?: unknown;
|
|
11
11
|
}) => void;
|
|
12
12
|
}
|
|
13
|
-
export declare function Whiteboard({
|
|
13
|
+
export declare function Whiteboard({ endpoint, token, zoomToContent, transparentCanvas, onMount }: WhiteboardProps): React.JSX.Element;
|
package/dist/Whiteboard.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import o,{useState as t}from"react";import{Tldraw as n}from"@tldraw/tldraw";import{ErrorFallback as e}from"./ErrorFallback.js";import{useCollaboration as r}from"./hooks/useCollaboration.js";function a({
|
|
1
|
+
import o,{useState as t}from"react";import{Tldraw as n}from"@tldraw/tldraw";import{ErrorFallback as e}from"./ErrorFallback.js";import{useCollaboration as r}from"./hooks/useCollaboration.js";function a({endpoint:a,token:i,zoomToContent:l,transparentCanvas:s,onMount:d}){var c,m;const[u,p]=t(),v=r({endpoint:a,token:i,editor:u,zoomToContent:l});return o.createElement(n,{className:s?"transparent-canvas":"",autoFocus:!0,store:v,onMount:o=>{p(o),window.editor=o,null==d||d({store:v.store,editor:o})},components:{ErrorFallback:e},hideUi:null===(c=null==u?void 0:u.getInstanceState())||void 0===c?void 0:c.isReadonly,initialState:(null===(m=null==u?void 0:u.getInstanceState())||void 0===m?void 0:m.isReadonly)?"hand":"select"})}export{a as Whiteboard};
|
|
2
2
|
//# sourceMappingURL=Whiteboard.js.map
|
package/dist/Whiteboard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Whiteboard.js","sources":["../src/Whiteboard.tsx"],"sourcesContent":[null],"names":["Whiteboard","
|
|
1
|
+
{"version":3,"file":"Whiteboard.js","sources":["../src/Whiteboard.tsx"],"sourcesContent":[null],"names":["Whiteboard","endpoint","token","zoomToContent","transparentCanvas","onMount","editor","setEditor","useState","store","useCollaboration","React","createElement","Tldraw","className","autoFocus","window","components","ErrorFallback","hideUi","_a","getInstanceState","isReadonly","initialState","_b"],"mappings":"8LAagB,SAAAA,GAAWC,SAAEA,EAAAC,MAAUA,gBAAOC,EAAeC,kBAAAA,EAAAC,QAAmBA,YAC9E,MAAOC,EAAQC,GAAaC,IACtBC,EAAQC,EAAiB,CAC7BT,WACAC,QACAI,SACAH,kBAWA,OAAAQ,EAAAC,cAACC,EAAM,CACLC,UAAWV,EAAoB,qBAAuB,GACtDW,WAAS,EACTN,QACAJ,QAZiBC,IACnBC,EAAUD,GAEVU,OAAOV,OAASA,EAChBD,SAAAA,EAAU,CAAEI,MAAOA,EAAMA,MAAOH,OAAAA,GAAQ,EAStCW,WAAY,CAAEC,iBACdC,OAAkC,QAA1BC,EAAAd,aAAM,EAANA,EAAQe,0BAAkB,IAAAD,OAAA,EAAAA,EAAEE,WACpCC,cAAwC,QAA1BC,EAAAlB,aAAA,EAAAA,EAAQe,0BAAkB,IAAAG,OAAA,EAAAA,EAAEF,YAAa,OAAS,UAGtE"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useMemo as r}from"react";import{SessionStore as
|
|
1
|
+
import{useMemo as r}from"react";import{SessionStore as t}from"./StoreClient.js";import o from"../utils.js";const n=({token:n,endpoint:e="https://store-prod-in3-grpc.100ms.live",handleError:i})=>r((()=>{try{o(n)}catch(r){return i(r)}if(!e||!n)return i(new Error("Missing GRPC endpoint or token"));const r=new t(e,n);return window.sessionStore=r,r}),[e,n,i]);export{n as useSessionStore};
|
|
2
2
|
//# sourceMappingURL=useSessionStore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSessionStore.js","sources":["../../src/hooks/useSessionStore.ts"],"sourcesContent":[null],"names":["useSessionStore","token","endpoint","handleError","useMemo","decodeJWT","err","Error","sessionStore","SessionStore","window"],"mappings":"2GAKO,MAAMA,EAAkB,EAC7BC,QACAC,
|
|
1
|
+
{"version":3,"file":"useSessionStore.js","sources":["../../src/hooks/useSessionStore.ts"],"sourcesContent":[null],"names":["useSessionStore","token","endpoint","handleError","useMemo","decodeJWT","err","Error","sessionStore","SessionStore","window"],"mappings":"2GAKO,MAAMA,EAAkB,EAC7BC,QACAC,WAAW,yCACXC,iBAMqBC,GAAQ,KACvB,IACFC,EAAUJ,SACHK,GACP,OAAOH,EAAYG,EACrB,CACI,IAACJ,IAAaD,EAChB,OAAOE,EAAY,IAAII,MAAM,mCAG/B,MAAMC,EAAe,IAAIC,EAAuBP,EAAUD,GAGnDO,OADPE,OAAOF,aAAeA,EACfA,CAAAA,GACN,CAACN,EAAUD,EAAOE"}
|
package/dist/index.cjs.js
CHANGED
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
Copyright (c) 2018 Jed Watson.
|
|
4
4
|
Licensed under the MIT License (MIT), see
|
|
5
5
|
http://jedwatson.github.io/classnames
|
|
6
|
-
*/O=B,function(){var e={}.hasOwnProperty;function t(){for(var e="",t=0;t<arguments.length;t++){var s=arguments[t];s&&(e=r(e,n(s)))}return e}function n(n){if("string"==typeof n||"number"==typeof n)return n;if("object"!=typeof n)return"";if(Array.isArray(n))return t.apply(null,n);if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]"))return n.toString();var s="";for(var a in n)e.call(n,a)&&n[a]&&(s=r(s,a));return s}function r(e,t){return t?e?e+" "+t:e+t:e}O.exports?(t.default=t,O.exports=t):window.classNames=t}();var I=B.exports;const P=({error:n,editor:r})=>{const s=e.useRef(null),[a,l]=e.useState("production"!==process.env.NODE_ENV),[c,d]=e.useState(!1),[u,h]=e.useState(!1),p=n instanceof Error?n.message:String(n),f=n instanceof Error?n.stack:null,g=x("isDarkMode",(()=>{try{if(r)return r.user.isDarkMode}catch(e){}return null}),[r]),[y,m]=e.useState(null);e.useLayoutEffect((()=>{var e;null!==g&&m(g);let t=null===(e=s.current)||void 0===e?void 0:e.parentElement,n=!1;for(;t;){if(t.classList.contains("tl-theme__dark")||t.classList.contains("tl-theme__light")){n=!0;break}t=t.parentElement}m(n?null:window.matchMedia("(prefers-color-scheme: dark)").matches)}),[g]),e.useEffect((()=>{if(c){const e=setTimeout((()=>{d(!1)}),2e3);return()=>clearTimeout(e)}}),[c]);return i.default.createElement("div",{ref:s,className:I("tl-container tl-error-boundary",null===y?"":y?"tl-theme__dark":"tl-theme__light")},i.default.createElement("div",{className:"tl-error-boundary__overlay"}),i.default.createElement("div",{className:I("tl-modal","tl-error-boundary__content",{"tl-error-boundary__content__expanded":a&&!u})},u?i.default.createElement(i.default.Fragment,null,i.default.createElement("h2",null,"Are you sure?"),i.default.createElement("p",null,"Resetting your data will delete your drawing and cannot be undone."),i.default.createElement("div",{className:"tl-error-boundary__content__actions"},i.default.createElement("button",{onClick:()=>h(!1)},"Cancel"),i.default.createElement("button",{className:"tl-error-boundary__reset",onClick:()=>o(void 0,void 0,void 0,(function*(){t.hardResetEditor()}))},"Reset data"))):i.default.createElement(i.default.Fragment,null,i.default.createElement("h2",null,"Something's gone wrong."),i.default.createElement("p",null,"Sorry, we encountered an error. Please refresh the page to continue. If you keep seeing this error, you can ",i.default.createElement("a",{href:"https://discord.gg/pTge2BwDBq"},"ask for help on Discord"),"."),a&&i.default.createElement("div",{className:"tl-error-boundary__content__error"},i.default.createElement("pre",null,i.default.createElement("code",null,null!=f?f:p)),i.default.createElement("button",{onClick:()=>{const e=document.createElement("textarea");e.value=null!=f?f:p,document.body.appendChild(e),e.select(),document.execCommand("copy"),e.remove(),d(!0)}},c?"Copied!":"Copy")),i.default.createElement("div",{className:"tl-error-boundary__content__actions"},i.default.createElement("button",{onClick:()=>l(!a)},a?"Hide details":"Show details"),i.default.createElement("div",{className:"tl-error-boundary__content__actions__group"},i.default.createElement("button",{className:"tl-error-boundary__reset",onClick:()=>h(!0)},"Reset data"),i.default.createElement("button",{className:"tl-error-boundary__refresh",onClick:()=>{t.refreshPage()}},"Refresh Page"))))))},M={store:{"document:document":{gridSize:10,name:"",meta:{},id:"document:document",typeName:"document"},"pointer:pointer":{id:"pointer:pointer",typeName:"pointer",x:0,y:0,lastActivityTimestamp:0,meta:{}},"page:page":{meta:{},id:"page:page",name:"Page 1",index:"a1",typeName:"page"},"camera:page:page":{x:0,y:0,z:1,meta:{},id:"camera:page:page",typeName:"camera"},"instance_page_state:page:page":{editingShapeId:null,croppingShapeId:null,selectedShapeIds:[],hoveredShapeId:null,erasingShapeIds:[],hintingShapeIds:[],focusedGroupId:null,meta:{},id:"instance_page_state:page:page",pageId:"page:page",typeName:"instance_page_state"},"instance:instance":{followingUserId:null,opacityForNextShape:1,stylesForNextShape:{},brush:null,scribble:null,cursor:{type:"default",rotation:0},isFocusMode:!1,exportBackground:!0,isDebugMode:!1,isToolLocked:!1,screenBounds:{x:0,y:0,w:720,h:400},zoomBrush:null,isGridMode:!1,isPenMode:!1,chatMessage:"",isChatting:!1,highlightedUserIds:[],canMoveCamera:!0,isFocused:!0,devicePixelRatio:2,isCoarsePointer:!1,isHoveringCanvas:!1,openMenus:[],isChangingStyle:!1,isReadonly:!1,meta:{},id:"instance:instance",currentPageId:"page:page",typeName:"instance"}},schema:{schemaVersion:1,storeVersion:4,recordVersions:{asset:{version:1,subTypeKey:"type",subTypeVersions:{image:2,video:2,bookmark:0}},camera:{version:1},document:{version:2},instance:{version:21},instance_page_state:{version:5},page:{version:1},shape:{version:3,subTypeKey:"type",subTypeVersions:{group:0,text:1,bookmark:1,draw:1,geo:7,note:4,line:1,frame:0,arrow:1,highlight:0,embed:4,image:2,video:1}},instance_presence:{version:5},pointer:{version:1}}}};var L,$;($=L||(L={}))[$.NONE=0]="NONE",$[$.BYTES=1]="BYTES",$[$.STRING=2]="STRING",$[$.INTEGER=3]="INTEGER",$[$.FLOAT=4]="FLOAT";class D extends r.MessageType{constructor(){super("sessionstorepb.HelloRequest",[{no:1,name:"name",kind:"scalar",T:9}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.name="",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();if(1===t)a.name=e.string();else{let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.name&&t.tag(1,r.WireType.LengthDelimited).string(e.name);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const j=new D;class H extends r.MessageType{constructor(){super("sessionstorepb.HelloResponse",[{no:1,name:"response",kind:"scalar",T:9}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.response="",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();if(1===t)a.response=e.string();else{let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.response&&t.tag(1,r.WireType.LengthDelimited).string(e.response);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const A=new H;class K extends r.MessageType{constructor(){super("sessionstorepb.SubscribeRequest",[{no:1,name:"name",kind:"scalar",T:9},{no:2,name:"offset",kind:"scalar",T:3}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.name="",t.offset="0",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();switch(t){case 1:a.name=e.string();break;case 2:a.offset=e.int64().toString();break;default:let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.name&&t.tag(1,r.WireType.LengthDelimited).string(e.name),"0"!==e.offset&&t.tag(2,r.WireType.Varint).int64(e.offset);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const q=new K;class z extends r.MessageType{constructor(){super("sessionstorepb.Event",[{no:1,name:"message",kind:"scalar",T:9},{no:2,name:"sequence",kind:"scalar",T:3}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.message="",t.sequence="0",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();switch(t){case 1:a.message=e.string();break;case 2:a.sequence=e.int64().toString();break;default:let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.message&&t.tag(1,r.WireType.LengthDelimited).string(e.message),"0"!==e.sequence&&t.tag(2,r.WireType.Varint).int64(e.sequence);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const V=new z;class G extends r.MessageType{constructor(){super("sessionstorepb.Value",[{no:1,name:"type",kind:"enum",T:()=>["sessionstorepb.Value.Type",L]},{no:2,name:"number",kind:"scalar",oneof:"data",T:3},{no:3,name:"float",kind:"scalar",oneof:"data",T:2},{no:4,name:"str",kind:"scalar",oneof:"data",T:9},{no:5,name:"raw_bytes",kind:"scalar",oneof:"data",T:12}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.type=0,t.data={oneofKind:void 0},void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();switch(t){case 1:a.type=e.int32();break;case 2:a.data={oneofKind:"number",number:e.int64().toString()};break;case 3:a.data={oneofKind:"float",float:e.float()};break;case 4:a.data={oneofKind:"str",str:e.string()};break;case 5:a.data={oneofKind:"rawBytes",rawBytes:e.bytes()};break;default:let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){0!==e.type&&t.tag(1,r.WireType.Varint).int32(e.type),"number"===e.data.oneofKind&&t.tag(2,r.WireType.Varint).int64(e.data.number),"float"===e.data.oneofKind&&t.tag(3,r.WireType.Bit32).float(e.data.float),"str"===e.data.oneofKind&&t.tag(4,r.WireType.LengthDelimited).string(e.data.str),"rawBytes"===e.data.oneofKind&&t.tag(5,r.WireType.LengthDelimited).bytes(e.data.rawBytes);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const J=new G;class Y extends r.MessageType{constructor(){super("sessionstorepb.GetRequest",[{no:1,name:"key",kind:"scalar",T:9}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.key="",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();if(1===t)a.key=e.string();else{let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.key&&t.tag(1,r.WireType.LengthDelimited).string(e.key);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const Z=new Y;class Q extends r.MessageType{constructor(){super("sessionstorepb.GetResponse",[{no:1,name:"key",kind:"scalar",T:9},{no:2,name:"namespace",kind:"scalar",T:9},{no:3,name:"value",kind:"message",T:()=>J}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.key="",t.namespace="",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();switch(t){case 1:a.key=e.string();break;case 2:a.namespace=e.string();break;case 3:a.value=J.internalBinaryRead(e,e.uint32(),n,a.value);break;default:let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.key&&t.tag(1,r.WireType.LengthDelimited).string(e.key),""!==e.namespace&&t.tag(2,r.WireType.LengthDelimited).string(e.namespace),e.value&&J.internalBinaryWrite(e.value,t.tag(3,r.WireType.LengthDelimited).fork(),n).join();let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const X=new Q;class ee extends r.MessageType{constructor(){super("sessionstorepb.DeleteRequest",[{no:1,name:"key",kind:"scalar",T:9}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.key="",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();if(1===t)a.key=e.string();else{let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.key&&t.tag(1,r.WireType.LengthDelimited).string(e.key);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const te=new ee;class ne extends r.MessageType{constructor(){super("sessionstorepb.DeleteResponse",[])}create(e){const t=globalThis.Object.create(this.messagePrototype);return void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,r){return null!=r?r:this.create()}internalBinaryWrite(e,t,n){let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const re=new ne;class se extends r.MessageType{constructor(){super("sessionstorepb.SetRequest",[{no:1,name:"key",kind:"scalar",T:9},{no:3,name:"value",kind:"message",T:()=>J}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.key="",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();switch(t){case 1:a.key=e.string();break;case 3:a.value=J.internalBinaryRead(e,e.uint32(),n,a.value);break;default:let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.key&&t.tag(1,r.WireType.LengthDelimited).string(e.key),e.value&&J.internalBinaryWrite(e.value,t.tag(3,r.WireType.LengthDelimited).fork(),n).join();let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const ae=new se;class ie extends r.MessageType{constructor(){super("sessionstorepb.SetResponse",[])}create(e){const t=globalThis.Object.create(this.messagePrototype);return void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,r){return null!=r?r:this.create()}internalBinaryWrite(e,t,n){let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const oe=new ie;class le extends r.MessageType{constructor(){super("sessionstorepb.ChangeStream",[{no:1,name:"change_id",kind:"scalar",T:9},{no:2,name:"key",kind:"scalar",T:9},{no:3,name:"namespace",kind:"scalar",T:9},{no:4,name:"value",kind:"message",T:()=>J},{no:5,name:"from_id",kind:"scalar",T:9}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.changeId="",t.key="",t.namespace="",t.fromId="",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();switch(t){case 1:a.changeId=e.string();break;case 2:a.key=e.string();break;case 3:a.namespace=e.string();break;case 4:a.value=J.internalBinaryRead(e,e.uint32(),n,a.value);break;case 5:a.fromId=e.string();break;default:let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.changeId&&t.tag(1,r.WireType.LengthDelimited).string(e.changeId),""!==e.key&&t.tag(2,r.WireType.LengthDelimited).string(e.key),""!==e.namespace&&t.tag(3,r.WireType.LengthDelimited).string(e.namespace),e.value&&J.internalBinaryWrite(e.value,t.tag(4,r.WireType.LengthDelimited).fork(),n).join(),""!==e.fromId&&t.tag(5,r.WireType.LengthDelimited).string(e.fromId);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const ce=new le;class de extends r.MessageType{constructor(){super("sessionstorepb.Select",[{no:1,name:"all",kind:"scalar",oneof:"match",T:9},{no:2,name:"key",kind:"scalar",oneof:"match",T:9},{no:3,name:"prefix",kind:"scalar",oneof:"match",T:9},{no:4,name:"suffix",kind:"scalar",oneof:"match",T:9}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.match={oneofKind:void 0},void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();switch(t){case 1:a.match={oneofKind:"all",all:e.string()};break;case 2:a.match={oneofKind:"key",key:e.string()};break;case 3:a.match={oneofKind:"prefix",prefix:e.string()};break;case 4:a.match={oneofKind:"suffix",suffix:e.string()};break;default:let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){"all"===e.match.oneofKind&&t.tag(1,r.WireType.LengthDelimited).string(e.match.all),"key"===e.match.oneofKind&&t.tag(2,r.WireType.LengthDelimited).string(e.match.key),"prefix"===e.match.oneofKind&&t.tag(3,r.WireType.LengthDelimited).string(e.match.prefix),"suffix"===e.match.oneofKind&&t.tag(4,r.WireType.LengthDelimited).string(e.match.suffix);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const ue=new de;class he extends r.MessageType{constructor(){super("sessionstorepb.OpenRequest",[{no:1,name:"change_id",kind:"scalar",T:9},{no:3,name:"select",kind:"message",repeat:1,T:()=>ue}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.changeId="",t.select=[],void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();switch(t){case 1:a.changeId=e.string();break;case 3:a.select.push(ue.internalBinaryRead(e,e.uint32(),n));break;default:let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.changeId&&t.tag(1,r.WireType.LengthDelimited).string(e.changeId);for(let s=0;s<e.select.length;s++)ue.internalBinaryWrite(e.select[s],t.tag(3,r.WireType.LengthDelimited).fork(),n).join();let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const pe=new he;class fe extends r.MessageType{constructor(){super("sessionstorepb.CountRequest",[])}create(e){const t=globalThis.Object.create(this.messagePrototype);return void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,r){return null!=r?r:this.create()}internalBinaryWrite(e,t,n){let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const ge=new fe;class ye extends r.MessageType{constructor(){super("sessionstorepb.CountResponse",[{no:1,name:"count",kind:"scalar",T:3}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.count="0",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();if(1===t)a.count=e.int64().toString();else{let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){"0"!==e.count&&t.tag(1,r.WireType.Varint).int64(e.count);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const me=new ye;new s.ServiceType("sessionstorepb.Api",[{name:"Hello",options:{},I:j,O:A},{name:"Subscribe",serverStreaming:!0,options:{},I:q,O:V}]);const we=new s.ServiceType("sessionstorepb.Store",[{name:"open",serverStreaming:!0,options:{},I:pe,O:ce},{name:"get",options:{},I:Z,O:X},{name:"set",options:{},I:ae,O:oe},{name:"delete",options:{},I:te,O:re},{name:"count",options:{},I:ge,O:me}]);class ke{constructor(e){this._transport=e,this.typeName=we.typeName,this.methods=we.methods,this.options=we.options}open(e,t){const n=this.methods[0],r=this._transport.mergeOptions(t);return s.stackIntercept("serverStreaming",this._transport,n,r,e)}get(e,t){const n=this.methods[1],r=this._transport.mergeOptions(t);return s.stackIntercept("unary",this._transport,n,r,e)}set(e,t){const n=this.methods[2],r=this._transport.mergeOptions(t);return s.stackIntercept("unary",this._transport,n,r,e)}delete(e,t){const n=this.methods[3],r=this._transport.mergeOptions(t);return s.stackIntercept("unary",this._transport,n,r,e)}count(e,t){const n=this.methods[4],r=this._transport.mergeOptions(t);return s.stackIntercept("unary",this._transport,n,r,e)}}function be(e){if(!e||0===e.length)throw Error("Token cannot be an empty string or undefined or null");const t=e.split(".");if(3!==t.length)throw Error("Expected 3 '.' separate fields - header, payload and signature respectively");const n=atob(t[1]);try{return JSON.parse(n)}catch(e){throw Error(`couldn't parse to json - ${e.message}`)}}const ve="currentPage",Te=11,Ee=200;class _e{constructor(e,t){this.abortController=new AbortController;const r=new n.GrpcWebFetchTransport({baseUrl:e,meta:{Authorization:`Bearer ${t}`}});this.storeClient=new ke(r)}open(e){return o(this,arguments,void 0,(function*({handleOpen:e,handleChange:t,handleError:n}){const r=this.storeClient.open({changeId:"",select:[]},{abort:this.abortController.signal}),s=[];let a=!1;return setTimeout((()=>{e(s),a=!0}),1e3),r.responses.onMessage((e=>{var n;if(e.value){if("str"===(null===(n=e.value)||void 0===n?void 0:n.data.oneofKind)){const n=JSON.parse(e.value.data.str);a?t(e.key,n):s.push(n)}}else t(e.key)})),r.responses.onError((e=>{e.message.includes("abort")||n(e)})),()=>{this.abortController.abort("client whiteboard abort")}}))}set(e,t){const n=t?JSON.stringify(t):void 0;return this.storeClient.set({key:e,value:n?{data:{str:n,oneofKind:"str"},type:L.STRING}:{data:{oneofKind:void 0},type:L.NONE}})}get(e){return o(this,void 0,void 0,(function*(){var t;const{response:n}=yield this.storeClient.get({key:e});if("str"===(null===(t=n.value)||void 0===t?void 0:t.data.oneofKind))return JSON.parse(n.value.data.str)}))}getKeysCount(){return o(this,void 0,void 0,(function*(){const{response:e}=yield this.storeClient.count({});return Number(e.count)}))}delete(e){return this.storeClient.delete({key:e})}}const Se=({token:t,endpoint:n,handleError:r})=>e.useMemo((()=>{try{be(t)}catch(e){return r(e)}if(!n||!t)return r(new Error("Missing GRPC endpoint or token"));const e=new _e(n,t);return window.sessionStore=e,e}),[n,t,r]),Ne=({token:t,editor:n,zoomToContent:r=!1,handleError:s})=>{const{permissions:a}=e.useMemo((()=>{try{return be(t)}catch(e){return s(e),{}}}),[t,s]);return e.useEffect((()=>{if(null==n||n.updateInstanceState({canMoveCamera:!!r}),!a)return;const e=!a.includes("write");null==n||n.updateInstanceState({isReadonly:e})}),[a,r,n]),a},Ue=["camera","document","instance","instance_page_state","page"];exports.Whiteboard=function({onMount:n,endpoint:r,token:s,zoomToContent:a,transparentCanvas:o}){var l,c;const[d,u]=e.useState(),h=function({endpoint:n,token:r,editor:s,shapeUtils:a=[],zoomToContent:i=!1}){const[o]=e.useState((()=>{const e=t.createTLStore({shapeUtils:[...t.defaultShapeUtils,...a]});return e.loadSnapshot(M),e})),[l,c]=e.useState(null==s?void 0:s.getCurrentPage()),[d,u]=e.useState({status:"loading"}),h=e.useCallback((e=>{u({status:"error",error:e})}),[]),p=Se({token:r,endpoint:n,handleError:h}),f=Ne({token:r,editor:s,zoomToContent:i,handleError:h}),g=e.useCallback((e=>{if(p){if(Ue.every((t=>e.filter((e=>e.typeName===t)).length>0)))t.transact((()=>{o.clear(),o.put(e)}));else for(const e of o.allRecords())p.set(e.id,e);u({store:o,status:"synced-remote",connectionStatus:"online"})}}),[o,p]),y=e.useCallback(((e,n)=>{o.mergeRemoteChanges((()=>{if(!n)return o.remove([e]);e===ve?c(n):t.transact((()=>{o.put([n]),e===t.TLINSTANCE_ID&&o.put([Object.assign(Object.assign({},n),{canMoveCamera:!!i,isReadonly:!f.includes("write")})])}))}))}),[o,f,i]);return e.useEffect((()=>{if(!p)return;u({status:"loading"});const e=[];return p.open({handleOpen:g,handleChange:y,handleError:h}).then((t=>e.push(t))),e.push(o.listen(t.throttle((function({changes:e}){Object.values(e.added).forEach((e=>{p.set(e.id,e)})),Object.values(e.updated).forEach((([,e])=>{p.set(e.id,e)})),Object.values(e.removed).forEach((e=>{p.delete(e.id)}))}),Te),{source:"user",scope:"document"})),()=>{e.forEach((e=>e())),e.length=0}}),[o,p,y,g,h]),e.useEffect((()=>{if(!s||!p)return;const e=[];return e.push(o.listen(t.debounce((({changes:e})=>{Object.keys(e.updated).forEach((e=>{if(!e.includes("instance"))return;const n=null==s?void 0:s.getCurrentPage();(null==n?void 0:n.id)!==(null==l?void 0:l.id)&&(p.get(t.TLINSTANCE_ID).then((e=>{e&&(null==p||p.set(e.id,Object.assign(Object.assign({},e),{currentPageId:null==n?void 0:n.id})))})),c(n))}))}),Ee),{source:"user",scope:"session"})),()=>{e.forEach((e=>e())),e.length=0}}),[l,s,p,o]),e.useEffect((()=>{var e;s&&(null===(e=s.getInstanceState())||void 0===e?void 0:e.isReadonly)&&i&&o.listen((()=>{s.zoomToFit()}),{source:"remote",scope:"document"})}),[s,o,i]),d}({endpoint:r,token:s,editor:d,zoomToContent:a});return i.default.createElement(t.Tldraw,{className:o?"transparent-canvas":"",autoFocus:!0,store:h,onMount:e=>{u(e),window.editor=e,null==n||n({store:h.store,editor:e})},components:{ErrorFallback:P},hideUi:null===(l=null==d?void 0:d.getInstanceState())||void 0===l?void 0:l.isReadonly,initialState:(null===(c=null==d?void 0:d.getInstanceState())||void 0===c?void 0:c.isReadonly)?"hand":"select"})};
|
|
6
|
+
*/O=B,function(){var e={}.hasOwnProperty;function t(){for(var e="",t=0;t<arguments.length;t++){var s=arguments[t];s&&(e=r(e,n(s)))}return e}function n(n){if("string"==typeof n||"number"==typeof n)return n;if("object"!=typeof n)return"";if(Array.isArray(n))return t.apply(null,n);if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]"))return n.toString();var s="";for(var a in n)e.call(n,a)&&n[a]&&(s=r(s,a));return s}function r(e,t){return t?e?e+" "+t:e+t:e}O.exports?(t.default=t,O.exports=t):window.classNames=t}();var I=B.exports;const P=({error:n,editor:r})=>{const s=e.useRef(null),[a,l]=e.useState("production"!==process.env.NODE_ENV),[c,d]=e.useState(!1),[u,h]=e.useState(!1),p=n instanceof Error?n.message:String(n),f=n instanceof Error?n.stack:null,g=x("isDarkMode",(()=>{try{if(r)return r.user.isDarkMode}catch(e){}return null}),[r]),[y,m]=e.useState(null);e.useLayoutEffect((()=>{var e;null!==g&&m(g);let t=null===(e=s.current)||void 0===e?void 0:e.parentElement,n=!1;for(;t;){if(t.classList.contains("tl-theme__dark")||t.classList.contains("tl-theme__light")){n=!0;break}t=t.parentElement}m(n?null:window.matchMedia("(prefers-color-scheme: dark)").matches)}),[g]),e.useEffect((()=>{if(c){const e=setTimeout((()=>{d(!1)}),2e3);return()=>clearTimeout(e)}}),[c]);return i.default.createElement("div",{ref:s,className:I("tl-container tl-error-boundary",null===y?"":y?"tl-theme__dark":"tl-theme__light")},i.default.createElement("div",{className:"tl-error-boundary__overlay"}),i.default.createElement("div",{className:I("tl-modal","tl-error-boundary__content",{"tl-error-boundary__content__expanded":a&&!u})},u?i.default.createElement(i.default.Fragment,null,i.default.createElement("h2",null,"Are you sure?"),i.default.createElement("p",null,"Resetting your data will delete your drawing and cannot be undone."),i.default.createElement("div",{className:"tl-error-boundary__content__actions"},i.default.createElement("button",{onClick:()=>h(!1)},"Cancel"),i.default.createElement("button",{className:"tl-error-boundary__reset",onClick:()=>o(void 0,void 0,void 0,(function*(){t.hardResetEditor()}))},"Reset data"))):i.default.createElement(i.default.Fragment,null,i.default.createElement("h2",null,"Something's gone wrong."),i.default.createElement("p",null,"Sorry, we encountered an error. Please refresh the page to continue. If you keep seeing this error, you can ",i.default.createElement("a",{href:"https://discord.gg/pTge2BwDBq"},"ask for help on Discord"),"."),a&&i.default.createElement("div",{className:"tl-error-boundary__content__error"},i.default.createElement("pre",null,i.default.createElement("code",null,null!=f?f:p)),i.default.createElement("button",{onClick:()=>{const e=document.createElement("textarea");e.value=null!=f?f:p,document.body.appendChild(e),e.select(),document.execCommand("copy"),e.remove(),d(!0)}},c?"Copied!":"Copy")),i.default.createElement("div",{className:"tl-error-boundary__content__actions"},i.default.createElement("button",{onClick:()=>l(!a)},a?"Hide details":"Show details"),i.default.createElement("div",{className:"tl-error-boundary__content__actions__group"},i.default.createElement("button",{className:"tl-error-boundary__reset",onClick:()=>h(!0)},"Reset data"),i.default.createElement("button",{className:"tl-error-boundary__refresh",onClick:()=>{t.refreshPage()}},"Refresh Page"))))))},M={store:{"document:document":{gridSize:10,name:"",meta:{},id:"document:document",typeName:"document"},"pointer:pointer":{id:"pointer:pointer",typeName:"pointer",x:0,y:0,lastActivityTimestamp:0,meta:{}},"page:page":{meta:{},id:"page:page",name:"Page 1",index:"a1",typeName:"page"},"camera:page:page":{x:0,y:0,z:1,meta:{},id:"camera:page:page",typeName:"camera"},"instance_page_state:page:page":{editingShapeId:null,croppingShapeId:null,selectedShapeIds:[],hoveredShapeId:null,erasingShapeIds:[],hintingShapeIds:[],focusedGroupId:null,meta:{},id:"instance_page_state:page:page",pageId:"page:page",typeName:"instance_page_state"},"instance:instance":{followingUserId:null,opacityForNextShape:1,stylesForNextShape:{},brush:null,scribble:null,cursor:{type:"default",rotation:0},isFocusMode:!1,exportBackground:!0,isDebugMode:!1,isToolLocked:!1,screenBounds:{x:0,y:0,w:720,h:400},zoomBrush:null,isGridMode:!1,isPenMode:!1,chatMessage:"",isChatting:!1,highlightedUserIds:[],canMoveCamera:!0,isFocused:!0,devicePixelRatio:2,isCoarsePointer:!1,isHoveringCanvas:!1,openMenus:[],isChangingStyle:!1,isReadonly:!1,meta:{},id:"instance:instance",currentPageId:"page:page",typeName:"instance"}},schema:{schemaVersion:1,storeVersion:4,recordVersions:{asset:{version:1,subTypeKey:"type",subTypeVersions:{image:2,video:2,bookmark:0}},camera:{version:1},document:{version:2},instance:{version:21},instance_page_state:{version:5},page:{version:1},shape:{version:3,subTypeKey:"type",subTypeVersions:{group:0,text:1,bookmark:1,draw:1,geo:7,note:4,line:1,frame:0,arrow:1,highlight:0,embed:4,image:2,video:1}},instance_presence:{version:5},pointer:{version:1}}}};var L,$;($=L||(L={}))[$.NONE=0]="NONE",$[$.BYTES=1]="BYTES",$[$.STRING=2]="STRING",$[$.INTEGER=3]="INTEGER",$[$.FLOAT=4]="FLOAT";class D extends r.MessageType{constructor(){super("sessionstorepb.HelloRequest",[{no:1,name:"name",kind:"scalar",T:9}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.name="",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();if(1===t)a.name=e.string();else{let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.name&&t.tag(1,r.WireType.LengthDelimited).string(e.name);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const j=new D;class H extends r.MessageType{constructor(){super("sessionstorepb.HelloResponse",[{no:1,name:"response",kind:"scalar",T:9}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.response="",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();if(1===t)a.response=e.string();else{let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.response&&t.tag(1,r.WireType.LengthDelimited).string(e.response);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const A=new H;class K extends r.MessageType{constructor(){super("sessionstorepb.SubscribeRequest",[{no:1,name:"name",kind:"scalar",T:9},{no:2,name:"offset",kind:"scalar",T:3}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.name="",t.offset="0",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();switch(t){case 1:a.name=e.string();break;case 2:a.offset=e.int64().toString();break;default:let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.name&&t.tag(1,r.WireType.LengthDelimited).string(e.name),"0"!==e.offset&&t.tag(2,r.WireType.Varint).int64(e.offset);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const q=new K;class z extends r.MessageType{constructor(){super("sessionstorepb.Event",[{no:1,name:"message",kind:"scalar",T:9},{no:2,name:"sequence",kind:"scalar",T:3}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.message="",t.sequence="0",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();switch(t){case 1:a.message=e.string();break;case 2:a.sequence=e.int64().toString();break;default:let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.message&&t.tag(1,r.WireType.LengthDelimited).string(e.message),"0"!==e.sequence&&t.tag(2,r.WireType.Varint).int64(e.sequence);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const V=new z;class G extends r.MessageType{constructor(){super("sessionstorepb.Value",[{no:1,name:"type",kind:"enum",T:()=>["sessionstorepb.Value.Type",L]},{no:2,name:"number",kind:"scalar",oneof:"data",T:3},{no:3,name:"float",kind:"scalar",oneof:"data",T:2},{no:4,name:"str",kind:"scalar",oneof:"data",T:9},{no:5,name:"raw_bytes",kind:"scalar",oneof:"data",T:12}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.type=0,t.data={oneofKind:void 0},void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();switch(t){case 1:a.type=e.int32();break;case 2:a.data={oneofKind:"number",number:e.int64().toString()};break;case 3:a.data={oneofKind:"float",float:e.float()};break;case 4:a.data={oneofKind:"str",str:e.string()};break;case 5:a.data={oneofKind:"rawBytes",rawBytes:e.bytes()};break;default:let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){0!==e.type&&t.tag(1,r.WireType.Varint).int32(e.type),"number"===e.data.oneofKind&&t.tag(2,r.WireType.Varint).int64(e.data.number),"float"===e.data.oneofKind&&t.tag(3,r.WireType.Bit32).float(e.data.float),"str"===e.data.oneofKind&&t.tag(4,r.WireType.LengthDelimited).string(e.data.str),"rawBytes"===e.data.oneofKind&&t.tag(5,r.WireType.LengthDelimited).bytes(e.data.rawBytes);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const J=new G;class Y extends r.MessageType{constructor(){super("sessionstorepb.GetRequest",[{no:1,name:"key",kind:"scalar",T:9}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.key="",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();if(1===t)a.key=e.string();else{let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.key&&t.tag(1,r.WireType.LengthDelimited).string(e.key);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const Z=new Y;class Q extends r.MessageType{constructor(){super("sessionstorepb.GetResponse",[{no:1,name:"key",kind:"scalar",T:9},{no:2,name:"namespace",kind:"scalar",T:9},{no:3,name:"value",kind:"message",T:()=>J}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.key="",t.namespace="",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();switch(t){case 1:a.key=e.string();break;case 2:a.namespace=e.string();break;case 3:a.value=J.internalBinaryRead(e,e.uint32(),n,a.value);break;default:let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.key&&t.tag(1,r.WireType.LengthDelimited).string(e.key),""!==e.namespace&&t.tag(2,r.WireType.LengthDelimited).string(e.namespace),e.value&&J.internalBinaryWrite(e.value,t.tag(3,r.WireType.LengthDelimited).fork(),n).join();let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const X=new Q;class ee extends r.MessageType{constructor(){super("sessionstorepb.DeleteRequest",[{no:1,name:"key",kind:"scalar",T:9}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.key="",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();if(1===t)a.key=e.string();else{let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.key&&t.tag(1,r.WireType.LengthDelimited).string(e.key);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const te=new ee;class ne extends r.MessageType{constructor(){super("sessionstorepb.DeleteResponse",[])}create(e){const t=globalThis.Object.create(this.messagePrototype);return void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,r){return null!=r?r:this.create()}internalBinaryWrite(e,t,n){let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const re=new ne;class se extends r.MessageType{constructor(){super("sessionstorepb.SetRequest",[{no:1,name:"key",kind:"scalar",T:9},{no:3,name:"value",kind:"message",T:()=>J}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.key="",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();switch(t){case 1:a.key=e.string();break;case 3:a.value=J.internalBinaryRead(e,e.uint32(),n,a.value);break;default:let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.key&&t.tag(1,r.WireType.LengthDelimited).string(e.key),e.value&&J.internalBinaryWrite(e.value,t.tag(3,r.WireType.LengthDelimited).fork(),n).join();let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const ae=new se;class ie extends r.MessageType{constructor(){super("sessionstorepb.SetResponse",[])}create(e){const t=globalThis.Object.create(this.messagePrototype);return void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,r){return null!=r?r:this.create()}internalBinaryWrite(e,t,n){let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const oe=new ie;class le extends r.MessageType{constructor(){super("sessionstorepb.ChangeStream",[{no:1,name:"change_id",kind:"scalar",T:9},{no:2,name:"key",kind:"scalar",T:9},{no:3,name:"namespace",kind:"scalar",T:9},{no:4,name:"value",kind:"message",T:()=>J},{no:5,name:"from_id",kind:"scalar",T:9}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.changeId="",t.key="",t.namespace="",t.fromId="",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();switch(t){case 1:a.changeId=e.string();break;case 2:a.key=e.string();break;case 3:a.namespace=e.string();break;case 4:a.value=J.internalBinaryRead(e,e.uint32(),n,a.value);break;case 5:a.fromId=e.string();break;default:let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.changeId&&t.tag(1,r.WireType.LengthDelimited).string(e.changeId),""!==e.key&&t.tag(2,r.WireType.LengthDelimited).string(e.key),""!==e.namespace&&t.tag(3,r.WireType.LengthDelimited).string(e.namespace),e.value&&J.internalBinaryWrite(e.value,t.tag(4,r.WireType.LengthDelimited).fork(),n).join(),""!==e.fromId&&t.tag(5,r.WireType.LengthDelimited).string(e.fromId);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const ce=new le;class de extends r.MessageType{constructor(){super("sessionstorepb.Select",[{no:1,name:"all",kind:"scalar",oneof:"match",T:9},{no:2,name:"key",kind:"scalar",oneof:"match",T:9},{no:3,name:"prefix",kind:"scalar",oneof:"match",T:9},{no:4,name:"suffix",kind:"scalar",oneof:"match",T:9}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.match={oneofKind:void 0},void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();switch(t){case 1:a.match={oneofKind:"all",all:e.string()};break;case 2:a.match={oneofKind:"key",key:e.string()};break;case 3:a.match={oneofKind:"prefix",prefix:e.string()};break;case 4:a.match={oneofKind:"suffix",suffix:e.string()};break;default:let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){"all"===e.match.oneofKind&&t.tag(1,r.WireType.LengthDelimited).string(e.match.all),"key"===e.match.oneofKind&&t.tag(2,r.WireType.LengthDelimited).string(e.match.key),"prefix"===e.match.oneofKind&&t.tag(3,r.WireType.LengthDelimited).string(e.match.prefix),"suffix"===e.match.oneofKind&&t.tag(4,r.WireType.LengthDelimited).string(e.match.suffix);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const ue=new de;class he extends r.MessageType{constructor(){super("sessionstorepb.OpenRequest",[{no:1,name:"change_id",kind:"scalar",T:9},{no:3,name:"select",kind:"message",repeat:1,T:()=>ue}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.changeId="",t.select=[],void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();switch(t){case 1:a.changeId=e.string();break;case 3:a.select.push(ue.internalBinaryRead(e,e.uint32(),n));break;default:let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.changeId&&t.tag(1,r.WireType.LengthDelimited).string(e.changeId);for(let s=0;s<e.select.length;s++)ue.internalBinaryWrite(e.select[s],t.tag(3,r.WireType.LengthDelimited).fork(),n).join();let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const pe=new he;class fe extends r.MessageType{constructor(){super("sessionstorepb.CountRequest",[])}create(e){const t=globalThis.Object.create(this.messagePrototype);return void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,r){return null!=r?r:this.create()}internalBinaryWrite(e,t,n){let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const ge=new fe;class ye extends r.MessageType{constructor(){super("sessionstorepb.CountResponse",[{no:1,name:"count",kind:"scalar",T:3}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.count="0",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();if(1===t)a.count=e.int64().toString();else{let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){"0"!==e.count&&t.tag(1,r.WireType.Varint).int64(e.count);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const me=new ye;new s.ServiceType("sessionstorepb.Api",[{name:"Hello",options:{},I:j,O:A},{name:"Subscribe",serverStreaming:!0,options:{},I:q,O:V}]);const we=new s.ServiceType("sessionstorepb.Store",[{name:"open",serverStreaming:!0,options:{},I:pe,O:ce},{name:"get",options:{},I:Z,O:X},{name:"set",options:{},I:ae,O:oe},{name:"delete",options:{},I:te,O:re},{name:"count",options:{},I:ge,O:me}]);class ke{constructor(e){this._transport=e,this.typeName=we.typeName,this.methods=we.methods,this.options=we.options}open(e,t){const n=this.methods[0],r=this._transport.mergeOptions(t);return s.stackIntercept("serverStreaming",this._transport,n,r,e)}get(e,t){const n=this.methods[1],r=this._transport.mergeOptions(t);return s.stackIntercept("unary",this._transport,n,r,e)}set(e,t){const n=this.methods[2],r=this._transport.mergeOptions(t);return s.stackIntercept("unary",this._transport,n,r,e)}delete(e,t){const n=this.methods[3],r=this._transport.mergeOptions(t);return s.stackIntercept("unary",this._transport,n,r,e)}count(e,t){const n=this.methods[4],r=this._transport.mergeOptions(t);return s.stackIntercept("unary",this._transport,n,r,e)}}function be(e){if(!e||0===e.length)throw Error("Token cannot be an empty string or undefined or null");const t=e.split(".");if(3!==t.length)throw Error("Expected 3 '.' separate fields - header, payload and signature respectively");const n=atob(t[1]);try{return JSON.parse(n)}catch(e){throw Error(`couldn't parse to json - ${e.message}`)}}const ve="currentPage",Te=11,Ee=200;class _e{constructor(e,t){this.abortController=new AbortController;const r=new n.GrpcWebFetchTransport({baseUrl:e,meta:{Authorization:`Bearer ${t}`}});this.storeClient=new ke(r)}open(e){return o(this,arguments,void 0,(function*({handleOpen:e,handleChange:t,handleError:n}){const r=this.storeClient.open({changeId:"",select:[]},{abort:this.abortController.signal}),s=[];let a=!1;return setTimeout((()=>{e(s),a=!0}),1e3),r.responses.onMessage((e=>{var n;if(e.value){if("str"===(null===(n=e.value)||void 0===n?void 0:n.data.oneofKind)){const n=JSON.parse(e.value.data.str);a?t(e.key,n):s.push(n)}}else t(e.key)})),r.responses.onError((e=>{e.message.includes("abort")||n(e)})),()=>{this.abortController.abort("client whiteboard abort")}}))}set(e,t){const n=t?JSON.stringify(t):void 0;return this.storeClient.set({key:e,value:n?{data:{str:n,oneofKind:"str"},type:L.STRING}:{data:{oneofKind:void 0},type:L.NONE}})}get(e){return o(this,void 0,void 0,(function*(){var t;const{response:n}=yield this.storeClient.get({key:e});if("str"===(null===(t=n.value)||void 0===t?void 0:t.data.oneofKind))return JSON.parse(n.value.data.str)}))}getKeysCount(){return o(this,void 0,void 0,(function*(){const{response:e}=yield this.storeClient.count({});return Number(e.count)}))}delete(e){return this.storeClient.delete({key:e})}}const Se=({token:t,endpoint:n="https://store-prod-in3-grpc.100ms.live",handleError:r})=>e.useMemo((()=>{try{be(t)}catch(e){return r(e)}if(!n||!t)return r(new Error("Missing GRPC endpoint or token"));const e=new _e(n,t);return window.sessionStore=e,e}),[n,t,r]),Ne=({token:t,editor:n,zoomToContent:r=!1,handleError:s})=>{const{permissions:a}=e.useMemo((()=>{try{return be(t)}catch(e){return s(e),{}}}),[t,s]);return e.useEffect((()=>{if(null==n||n.updateInstanceState({canMoveCamera:!!r}),!a)return;const e=!a.includes("write");null==n||n.updateInstanceState({isReadonly:e})}),[a,r,n]),a},Ue=["camera","document","instance","instance_page_state","page"];exports.Whiteboard=function({endpoint:n,token:r,zoomToContent:s,transparentCanvas:a,onMount:o}){var l,c;const[d,u]=e.useState(),h=function({endpoint:n,token:r,editor:s,shapeUtils:a=[],zoomToContent:i=!1}){const[o]=e.useState((()=>{const e=t.createTLStore({shapeUtils:[...t.defaultShapeUtils,...a]});return e.loadSnapshot(M),e})),[l,c]=e.useState(null==s?void 0:s.getCurrentPage()),[d,u]=e.useState({status:"loading"}),h=e.useCallback((e=>{u({status:"error",error:e})}),[]),p=Se({token:r,endpoint:n,handleError:h}),f=Ne({token:r,editor:s,zoomToContent:i,handleError:h}),g=e.useCallback((e=>{if(p){if(Ue.every((t=>e.filter((e=>e.typeName===t)).length>0)))t.transact((()=>{o.clear(),o.put(e)}));else for(const e of o.allRecords())p.set(e.id,e);u({store:o,status:"synced-remote",connectionStatus:"online"})}}),[o,p]),y=e.useCallback(((e,n)=>{o.mergeRemoteChanges((()=>{if(!n)return o.remove([e]);e===ve?c(n):t.transact((()=>{o.put([n]),e===t.TLINSTANCE_ID&&o.put([Object.assign(Object.assign({},n),{canMoveCamera:!!i,isReadonly:!f.includes("write")})])}))}))}),[o,f,i]);return e.useEffect((()=>{if(!p)return;u({status:"loading"});const e=[];return p.open({handleOpen:g,handleChange:y,handleError:h}).then((t=>e.push(t))),e.push(o.listen(t.throttle((function({changes:e}){Object.values(e.added).forEach((e=>{p.set(e.id,e)})),Object.values(e.updated).forEach((([,e])=>{p.set(e.id,e)})),Object.values(e.removed).forEach((e=>{p.delete(e.id)}))}),Te),{source:"user",scope:"document"})),()=>{e.forEach((e=>e())),e.length=0}}),[o,p,y,g,h]),e.useEffect((()=>{if(!s||!p)return;const e=[];return e.push(o.listen(t.debounce((({changes:e})=>{Object.keys(e.updated).forEach((e=>{if(!e.includes("instance"))return;const n=null==s?void 0:s.getCurrentPage();(null==n?void 0:n.id)!==(null==l?void 0:l.id)&&(p.get(t.TLINSTANCE_ID).then((e=>{e&&(null==p||p.set(e.id,Object.assign(Object.assign({},e),{currentPageId:null==n?void 0:n.id})))})),c(n))}))}),Ee),{source:"user",scope:"session"})),()=>{e.forEach((e=>e())),e.length=0}}),[l,s,p,o]),e.useEffect((()=>{var e;s&&(null===(e=s.getInstanceState())||void 0===e?void 0:e.isReadonly)&&i&&o.listen((()=>{s.zoomToFit()}),{source:"remote",scope:"document"})}),[s,o,i]),d}({endpoint:n,token:r,editor:d,zoomToContent:s});return i.default.createElement(t.Tldraw,{className:a?"transparent-canvas":"",autoFocus:!0,store:h,onMount:e=>{u(e),window.editor=e,null==o||o({store:h.store,editor:e})},components:{ErrorFallback:P},hideUi:null===(l=null==d?void 0:d.getInstanceState())||void 0===l?void 0:l.isReadonly,initialState:(null===(c=null==d?void 0:d.getInstanceState())||void 0===c?void 0:c.isReadonly)?"hand":"select"})};
|
|
7
7
|
//# sourceMappingURL=index.cjs.js.map
|
package/dist/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/ArraySet.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/types.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/HistoryBuffer.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/helpers.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/capture.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/constants.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/transactions.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/warnings.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/Computed.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/EffectScheduler.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/react/useValue.mjs","../../../node_modules/classnames/index.js","../src/ErrorFallback.tsx","../src/hooks/default_store.ts","../src/grpc/sessionstore.ts","../src/grpc/sessionstore.client.ts","../src/utils.ts","../src/hooks/StoreClient.ts","../src/hooks/useSessionStore.ts","../src/hooks/useSetEditorPermissions.tsx","../src/hooks/useCollaboration.ts","../src/Whiteboard.tsx"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","const ARRAY_SIZE_THRESHOLD = 8;\nclass ArraySet {\n arraySize = 0;\n array = Array(ARRAY_SIZE_THRESHOLD);\n set = null;\n /**\n * Get whether this ArraySet has any elements.\n *\n * @returns True if this ArraySet has any elements, false otherwise.\n */\n // eslint-disable-next-line no-restricted-syntax\n get isEmpty() {\n if (this.array) {\n return this.arraySize === 0;\n }\n if (this.set) {\n return this.set.size === 0;\n }\n throw new Error(\"no set or array\");\n }\n /**\n * Add an item to the ArraySet if it is not already present.\n *\n * @param elem - The element to add.\n */\n add(elem) {\n if (this.array) {\n const idx = this.array.indexOf(elem);\n if (idx !== -1) {\n return false;\n }\n if (this.arraySize < ARRAY_SIZE_THRESHOLD) {\n this.array[this.arraySize] = elem;\n this.arraySize++;\n return true;\n } else {\n this.set = new Set(this.array);\n this.array = null;\n this.set.add(elem);\n return true;\n }\n }\n if (this.set) {\n if (this.set.has(elem)) {\n return false;\n }\n this.set.add(elem);\n return true;\n }\n throw new Error(\"no set or array\");\n }\n /**\n * Remove an item from the ArraySet if it is present.\n *\n * @param elem - The element to remove\n */\n remove(elem) {\n if (this.array) {\n const idx = this.array.indexOf(elem);\n if (idx === -1) {\n return false;\n }\n this.array[idx] = void 0;\n this.arraySize--;\n if (idx !== this.arraySize) {\n this.array[idx] = this.array[this.arraySize];\n this.array[this.arraySize] = void 0;\n }\n return true;\n }\n if (this.set) {\n if (!this.set.has(elem)) {\n return false;\n }\n this.set.delete(elem);\n return true;\n }\n throw new Error(\"no set or array\");\n }\n /**\n * Run a callback for each element in the ArraySet.\n *\n * @param visitor - The callback to run for each element.\n */\n visit(visitor) {\n if (this.array) {\n for (let i = 0; i < this.arraySize; i++) {\n const elem = this.array[i];\n if (typeof elem !== \"undefined\") {\n visitor(elem);\n }\n }\n return;\n }\n if (this.set) {\n this.set.forEach(visitor);\n return;\n }\n throw new Error(\"no set or array\");\n }\n}\nexport {\n ARRAY_SIZE_THRESHOLD,\n ArraySet\n};\n//# sourceMappingURL=ArraySet.mjs.map\n","const RESET_VALUE = Symbol(\"RESET_VALUE\");\nexport {\n RESET_VALUE\n};\n//# sourceMappingURL=types.mjs.map\n","import { RESET_VALUE } from \"./types.mjs\";\nclass HistoryBuffer {\n constructor(capacity) {\n this.capacity = capacity;\n this.buffer = new Array(capacity);\n }\n index = 0;\n // use a wrap around buffer to store the last N values\n buffer;\n /**\n * Add a diff to the history buffer.\n *\n * @param lastComputedEpoch - The epoch when the diff was computed.\n * @param currentEpoch - The current epoch.\n * @param diff - The diff to add, or else a reset value.\n */\n pushEntry(lastComputedEpoch, currentEpoch, diff) {\n if (diff === void 0) {\n return;\n }\n if (diff === RESET_VALUE) {\n this.clear();\n return;\n }\n this.buffer[this.index] = [lastComputedEpoch, currentEpoch, diff];\n this.index = (this.index + 1) % this.capacity;\n }\n /**\n * Clear the history buffer.\n */\n clear() {\n this.index = 0;\n this.buffer.fill(void 0);\n }\n /**\n * Get the diffs since the given epoch.\n *\n * @param epoch - The epoch to get diffs since.\n * @returns An array of diffs or a flag to reset the history buffer.\n */\n getChangesSince(sinceEpoch) {\n const { index, capacity, buffer } = this;\n for (let i = 0; i < capacity; i++) {\n const offset = (index - 1 + capacity - i) % capacity;\n const elem = buffer[offset];\n if (!elem) {\n return RESET_VALUE;\n }\n const [fromEpoch, toEpoch] = elem;\n if (i === 0 && sinceEpoch >= toEpoch) {\n return [];\n }\n if (fromEpoch <= sinceEpoch && sinceEpoch < toEpoch) {\n const len = i + 1;\n const result = new Array(len);\n for (let j = 0; j < len; j++) {\n result[j] = buffer[(offset + j) % capacity][2];\n }\n return result;\n }\n }\n return RESET_VALUE;\n }\n}\nexport {\n HistoryBuffer\n};\n//# sourceMappingURL=HistoryBuffer.mjs.map\n","function isChild(x) {\n return x && typeof x === \"object\" && \"parents\" in x;\n}\nfunction haveParentsChanged(child) {\n for (let i = 0, n = child.parents.length; i < n; i++) {\n child.parents[i].__unsafe__getWithoutCapture();\n if (child.parents[i].lastChangedEpoch !== child.parentEpochs[i]) {\n return true;\n }\n }\n return false;\n}\nconst detach = (parent, child) => {\n if (!parent.children.remove(child)) {\n return;\n }\n if (parent.children.isEmpty && isChild(parent)) {\n for (let i = 0, n = parent.parents.length; i < n; i++) {\n detach(parent.parents[i], parent);\n }\n }\n};\nconst attach = (parent, child) => {\n if (!parent.children.add(child)) {\n return;\n }\n if (isChild(parent)) {\n for (let i = 0, n = parent.parents.length; i < n; i++) {\n attach(parent.parents[i], parent);\n }\n }\n};\nfunction equals(a, b) {\n const shallowEquals = a === b || Object.is(a, b) || Boolean(a && b && typeof a.equals === \"function\" && a.equals(b));\n return shallowEquals;\n}\nconst EMPTY_ARRAY = Object.freeze([]);\nexport {\n EMPTY_ARRAY,\n attach,\n detach,\n equals,\n haveParentsChanged\n};\n//# sourceMappingURL=helpers.mjs.map\n","import { attach, detach } from \"./helpers.mjs\";\nconst tldrawStateGlobalKey = Symbol.for(\"__@tldraw/state__\");\nconst tldrawStateGlobal = globalThis;\nif (tldrawStateGlobal[tldrawStateGlobalKey]) {\n console.error(\n 'Multiple versions of @tldraw/state detected. This will cause unexpected behavior. Please add \"resolutions\" (yarn/pnpm) or \"overrides\" (npm) in your package.json to ensure only one version of @tldraw/state is loaded.'\n );\n} else {\n tldrawStateGlobal[tldrawStateGlobalKey] = true;\n}\nclass CaptureStackFrame {\n constructor(below, child) {\n this.below = below;\n this.child = child;\n }\n offset = 0;\n numNewParents = 0;\n maybeRemoved;\n}\nlet stack = null;\nfunction unsafe__withoutCapture(fn) {\n const oldStack = stack;\n stack = null;\n try {\n return fn();\n } finally {\n stack = oldStack;\n }\n}\nfunction startCapturingParents(child) {\n stack = new CaptureStackFrame(stack, child);\n}\nfunction stopCapturingParents() {\n const frame = stack;\n stack = frame.below;\n const didParentsChange = frame.numNewParents > 0 || frame.offset !== frame.child.parents.length;\n if (!didParentsChange) {\n return;\n }\n for (let i = frame.offset; i < frame.child.parents.length; i++) {\n const p = frame.child.parents[i];\n const parentWasRemoved = frame.child.parents.indexOf(p) >= frame.offset;\n if (parentWasRemoved) {\n detach(p, frame.child);\n }\n }\n frame.child.parents.length = frame.offset;\n frame.child.parentEpochs.length = frame.offset;\n if (stack?.maybeRemoved) {\n for (let i = 0; i < stack.maybeRemoved.length; i++) {\n const maybeRemovedParent = stack.maybeRemoved[i];\n if (frame.child.parents.indexOf(maybeRemovedParent) === -1) {\n detach(maybeRemovedParent, frame.child);\n }\n }\n }\n}\nfunction maybeCaptureParent(p) {\n if (stack) {\n const idx = stack.child.parents.indexOf(p);\n if (idx < 0) {\n stack.numNewParents++;\n if (stack.child.isActivelyListening) {\n attach(p, stack.child);\n }\n }\n if (idx < 0 || idx >= stack.offset) {\n if (idx !== stack.offset && idx > 0) {\n const maybeRemovedParent = stack.child.parents[stack.offset];\n if (!stack.maybeRemoved) {\n stack.maybeRemoved = [maybeRemovedParent];\n } else if (stack.maybeRemoved.indexOf(maybeRemovedParent) === -1) {\n stack.maybeRemoved.push(maybeRemovedParent);\n }\n }\n stack.child.parents[stack.offset] = p;\n stack.child.parentEpochs[stack.offset] = p.lastChangedEpoch;\n stack.offset++;\n }\n }\n}\nfunction whyAmIRunning() {\n const child = stack?.child;\n if (!child) {\n throw new Error(\"whyAmIRunning() called outside of a reactive context\");\n }\n const changedParents = [];\n for (let i = 0; i < child.parents.length; i++) {\n const parent = child.parents[i];\n if (parent.lastChangedEpoch > child.parentEpochs[i]) {\n changedParents.push(parent);\n }\n }\n if (changedParents.length === 0) {\n console.log(child.name, \"is running but none of the parents changed\");\n } else {\n console.log(child.name, \"is running because:\");\n for (const changedParent of changedParents) {\n console.log(\n \"\t\",\n changedParent.name,\n \"changed =>\",\n changedParent.__unsafe__getWithoutCapture()\n );\n }\n }\n}\nexport {\n maybeCaptureParent,\n startCapturingParents,\n stopCapturingParents,\n unsafe__withoutCapture,\n whyAmIRunning\n};\n//# sourceMappingURL=capture.mjs.map\n","const GLOBAL_START_EPOCH = -1;\nexport {\n GLOBAL_START_EPOCH\n};\n//# sourceMappingURL=constants.mjs.map\n","import { GLOBAL_START_EPOCH } from \"./constants.mjs\";\nlet globalEpoch = GLOBAL_START_EPOCH + 1;\nlet globalIsReacting = false;\nfunction advanceGlobalEpoch() {\n globalEpoch++;\n}\nclass Transaction {\n constructor(parent) {\n this.parent = parent;\n }\n initialAtomValues = /* @__PURE__ */ new Map();\n /**\n * Get whether this transaction is a root (no parents).\n *\n * @public\n */\n // eslint-disable-next-line no-restricted-syntax\n get isRoot() {\n return this.parent === null;\n }\n /**\n * Commit the transaction's changes.\n *\n * @public\n */\n commit() {\n if (this.isRoot) {\n const atoms = this.initialAtomValues;\n this.initialAtomValues = /* @__PURE__ */ new Map();\n flushChanges(atoms.keys());\n } else {\n this.initialAtomValues.forEach((value, atom) => {\n if (!this.parent.initialAtomValues.has(atom)) {\n this.parent.initialAtomValues.set(atom, value);\n }\n });\n }\n }\n /**\n * Abort the transaction.\n *\n * @public\n */\n abort() {\n globalEpoch++;\n this.initialAtomValues.forEach((value, atom) => {\n atom.set(value);\n atom.historyBuffer?.clear();\n });\n this.commit();\n }\n}\nfunction flushChanges(atoms) {\n if (globalIsReacting) {\n throw new Error(\"cannot change atoms during reaction cycle\");\n }\n try {\n globalIsReacting = true;\n const reactors = /* @__PURE__ */ new Set();\n const traverse = (node) => {\n if (node.lastTraversedEpoch === globalEpoch) {\n return;\n }\n node.lastTraversedEpoch = globalEpoch;\n if (\"maybeScheduleEffect\" in node) {\n reactors.add(node);\n } else {\n ;\n node.children.visit(traverse);\n }\n };\n for (const atom of atoms) {\n atom.children.visit(traverse);\n }\n for (const r of reactors) {\n r.maybeScheduleEffect();\n }\n } finally {\n globalIsReacting = false;\n }\n}\nfunction atomDidChange(atom, previousValue) {\n if (!currentTransaction) {\n flushChanges([atom]);\n } else if (!currentTransaction.initialAtomValues.has(atom)) {\n currentTransaction.initialAtomValues.set(atom, previousValue);\n }\n}\nlet currentTransaction = null;\nfunction transaction(fn) {\n const txn = new Transaction(currentTransaction);\n currentTransaction = txn;\n try {\n let rollback = false;\n const result = fn(() => rollback = true);\n if (rollback) {\n txn.abort();\n } else {\n txn.commit();\n }\n return result;\n } catch (e) {\n txn.abort();\n throw e;\n } finally {\n currentTransaction = currentTransaction.parent;\n }\n}\nfunction transact(fn) {\n if (currentTransaction) {\n return fn();\n }\n return transaction(fn);\n}\nexport {\n advanceGlobalEpoch,\n atomDidChange,\n currentTransaction,\n globalEpoch,\n transact,\n transaction\n};\n//# sourceMappingURL=transactions.mjs.map\n","let didWarnDotValue = false;\nfunction logDotValueWarning() {\n if (didWarnDotValue)\n return;\n didWarnDotValue = true;\n console.warn(\n \"Using Signal.value is deprecated and will be removed in the near future. Please use Signal.get() instead.\"\n );\n}\nlet didWarnComputedGetter = false;\nfunction logComputedGetterWarning() {\n if (didWarnComputedGetter)\n return;\n didWarnComputedGetter = true;\n console.warn(\n `Using \\`@computed\\` as a decorator for getters is deprecated and will be removed in the near future. Please refactor to use \\`@computed\\` as a decorator for methods.\n\n// Before\n@computed\nget foo() {\n\treturn 'foo'\n}\n\n// After\n@computed\ngetFoo() {\n\treturn 'foo'\n}\n`\n );\n}\nexport {\n logComputedGetterWarning,\n logDotValueWarning\n};\n//# sourceMappingURL=warnings.mjs.map\n","import { ArraySet } from \"./ArraySet.mjs\";\nimport { HistoryBuffer } from \"./HistoryBuffer.mjs\";\nimport { maybeCaptureParent, startCapturingParents, stopCapturingParents } from \"./capture.mjs\";\nimport { GLOBAL_START_EPOCH } from \"./constants.mjs\";\nimport { EMPTY_ARRAY, equals, haveParentsChanged } from \"./helpers.mjs\";\nimport { globalEpoch } from \"./transactions.mjs\";\nimport { RESET_VALUE } from \"./types.mjs\";\nimport { logComputedGetterWarning, logDotValueWarning } from \"./warnings.mjs\";\nconst UNINITIALIZED = Symbol(\"UNINITIALIZED\");\nconst isUninitialized = (value) => {\n return value === UNINITIALIZED;\n};\nclass WithDiff {\n constructor(value, diff) {\n this.value = value;\n this.diff = diff;\n }\n}\nfunction withDiff(value, diff) {\n return new WithDiff(value, diff);\n}\nclass _Computed {\n constructor(name, derive, options) {\n this.name = name;\n this.derive = derive;\n if (options?.historyLength) {\n this.historyBuffer = new HistoryBuffer(options.historyLength);\n }\n this.computeDiff = options?.computeDiff;\n this.isEqual = options?.isEqual ?? equals;\n }\n lastChangedEpoch = GLOBAL_START_EPOCH;\n lastTraversedEpoch = GLOBAL_START_EPOCH;\n /**\n * The epoch when the reactor was last checked.\n */\n lastCheckedEpoch = GLOBAL_START_EPOCH;\n parents = [];\n parentEpochs = [];\n children = new ArraySet();\n // eslint-disable-next-line no-restricted-syntax\n get isActivelyListening() {\n return !this.children.isEmpty;\n }\n historyBuffer;\n // The last-computed value of this signal.\n state = UNINITIALIZED;\n computeDiff;\n isEqual;\n __unsafe__getWithoutCapture() {\n const isNew = this.lastChangedEpoch === GLOBAL_START_EPOCH;\n if (!isNew && (this.lastCheckedEpoch === globalEpoch || !haveParentsChanged(this))) {\n this.lastCheckedEpoch = globalEpoch;\n return this.state;\n }\n try {\n startCapturingParents(this);\n const result = this.derive(this.state, this.lastCheckedEpoch);\n const newState = result instanceof WithDiff ? result.value : result;\n if (this.state === UNINITIALIZED || !this.isEqual(newState, this.state)) {\n if (this.historyBuffer && !isNew) {\n const diff = result instanceof WithDiff ? result.diff : void 0;\n this.historyBuffer.pushEntry(\n this.lastChangedEpoch,\n globalEpoch,\n diff ?? this.computeDiff?.(this.state, newState, this.lastCheckedEpoch, globalEpoch) ?? RESET_VALUE\n );\n }\n this.lastChangedEpoch = globalEpoch;\n this.state = newState;\n }\n this.lastCheckedEpoch = globalEpoch;\n return this.state;\n } finally {\n stopCapturingParents();\n }\n }\n get() {\n const value = this.__unsafe__getWithoutCapture();\n maybeCaptureParent(this);\n return value;\n }\n /**\n * @deprecated Use [[get]] instead.\n */\n // eslint-disable-next-line no-restricted-syntax\n get value() {\n logDotValueWarning();\n return this.get();\n }\n getDiffSince(epoch) {\n this.get();\n if (epoch >= this.lastChangedEpoch) {\n return EMPTY_ARRAY;\n }\n return this.historyBuffer?.getChangesSince(epoch) ?? RESET_VALUE;\n }\n}\nfunction computedMethodAnnotation(options = {}, _target, key, descriptor) {\n const originalMethod = descriptor.value;\n const derivationKey = Symbol.for(\"__@tldraw/state__computed__\" + key);\n descriptor.value = function() {\n let d = this[derivationKey];\n if (!d) {\n d = new _Computed(key, originalMethod.bind(this), options);\n Object.defineProperty(this, derivationKey, {\n enumerable: false,\n configurable: false,\n writable: false,\n value: d\n });\n }\n return d.get();\n };\n descriptor.value[isComputedMethodKey] = true;\n return descriptor;\n}\nfunction computedAnnotation(options = {}, _target, key, descriptor) {\n if (descriptor.get) {\n logComputedGetterWarning();\n return computedGetterAnnotation(options, _target, key, descriptor);\n } else {\n return computedMethodAnnotation(options, _target, key, descriptor);\n }\n}\nfunction computedGetterAnnotation(options = {}, _target, key, descriptor) {\n const originalMethod = descriptor.get;\n const derivationKey = Symbol.for(\"__@tldraw/state__computed__\" + key);\n descriptor.get = function() {\n let d = this[derivationKey];\n if (!d) {\n d = new _Computed(key, originalMethod.bind(this), options);\n Object.defineProperty(this, derivationKey, {\n enumerable: false,\n configurable: false,\n writable: false,\n value: d\n });\n }\n return d.get();\n };\n return descriptor;\n}\nconst isComputedMethodKey = \"@@__isComputedMethod__@@\";\nfunction getComputedInstance(obj, propertyName) {\n const key = Symbol.for(\"__@tldraw/state__computed__\" + propertyName.toString());\n let inst = obj[key];\n if (!inst) {\n const val = obj[propertyName];\n if (typeof val === \"function\" && val[isComputedMethodKey]) {\n val.call(obj);\n }\n inst = obj[key];\n }\n return inst;\n}\nfunction computed() {\n if (arguments.length === 1) {\n const options = arguments[0];\n return (target, key, descriptor) => computedAnnotation(options, target, key, descriptor);\n } else if (typeof arguments[0] === \"string\") {\n return new _Computed(arguments[0], arguments[1], arguments[2]);\n } else {\n return computedAnnotation(void 0, arguments[0], arguments[1], arguments[2]);\n }\n}\nfunction isComputed(value) {\n return value && value instanceof _Computed;\n}\nexport {\n _Computed,\n computed,\n getComputedInstance,\n isComputed,\n isUninitialized,\n withDiff\n};\n//# sourceMappingURL=Computed.mjs.map\n","import { startCapturingParents, stopCapturingParents } from \"./capture.mjs\";\nimport { GLOBAL_START_EPOCH } from \"./constants.mjs\";\nimport { attach, detach, haveParentsChanged } from \"./helpers.mjs\";\nimport { globalEpoch } from \"./transactions.mjs\";\nclass EffectScheduler {\n constructor(name, runEffect, options) {\n this.name = name;\n this.runEffect = runEffect;\n this._scheduleEffect = options?.scheduleEffect;\n }\n _isActivelyListening = false;\n /**\n * Whether this scheduler is attached and actively listening to its parents.\n * @public\n */\n // eslint-disable-next-line no-restricted-syntax\n get isActivelyListening() {\n return this._isActivelyListening;\n }\n /** @internal */\n lastTraversedEpoch = GLOBAL_START_EPOCH;\n lastReactedEpoch = GLOBAL_START_EPOCH;\n _scheduleCount = 0;\n /**\n * The number of times this effect has been scheduled.\n * @public\n */\n // eslint-disable-next-line no-restricted-syntax\n get scheduleCount() {\n return this._scheduleCount;\n }\n /** @internal */\n parentEpochs = [];\n /** @internal */\n parents = [];\n _scheduleEffect;\n /** @internal */\n maybeScheduleEffect() {\n if (!this._isActivelyListening)\n return;\n if (this.lastReactedEpoch === globalEpoch)\n return;\n if (this.parents.length && !haveParentsChanged(this)) {\n this.lastReactedEpoch = globalEpoch;\n return;\n }\n this.scheduleEffect();\n }\n /** @internal */\n scheduleEffect() {\n this._scheduleCount++;\n if (this._scheduleEffect) {\n this._scheduleEffect(this.maybeExecute);\n } else {\n this.execute();\n }\n }\n maybeExecute = () => {\n if (!this._isActivelyListening)\n return;\n this.execute();\n };\n /**\n * Makes this scheduler become 'actively listening' to its parents.\n * If it has been executed before it will immediately become eligible to receive 'maybeScheduleEffect' calls.\n * If it has not executed before it will need to be manually executed once to become eligible for scheduling, i.e. by calling [[EffectScheduler.execute]].\n * @public\n */\n attach() {\n this._isActivelyListening = true;\n for (let i = 0, n = this.parents.length; i < n; i++) {\n attach(this.parents[i], this);\n }\n }\n /**\n * Makes this scheduler stop 'actively listening' to its parents.\n * It will no longer be eligible to receive 'maybeScheduleEffect' calls until [[EffectScheduler.attach]] is called again.\n */\n detach() {\n this._isActivelyListening = false;\n for (let i = 0, n = this.parents.length; i < n; i++) {\n detach(this.parents[i], this);\n }\n }\n /**\n * Executes the effect immediately and returns the result.\n * @returns The result of the effect.\n */\n execute() {\n try {\n startCapturingParents(this);\n const result = this.runEffect(this.lastReactedEpoch);\n this.lastReactedEpoch = globalEpoch;\n return result;\n } finally {\n stopCapturingParents();\n }\n }\n}\nfunction react(name, fn, options) {\n const scheduler = new EffectScheduler(name, fn, options);\n scheduler.attach();\n scheduler.scheduleEffect();\n return () => {\n scheduler.detach();\n };\n}\nfunction reactor(name, fn, options) {\n const scheduler = new EffectScheduler(name, fn, options);\n return {\n scheduler,\n start: (options2) => {\n const force = options2?.force ?? false;\n scheduler.attach();\n if (force) {\n scheduler.scheduleEffect();\n } else {\n scheduler.maybeScheduleEffect();\n }\n },\n stop: () => {\n scheduler.detach();\n }\n };\n}\nexport {\n EffectScheduler,\n react,\n reactor\n};\n//# sourceMappingURL=EffectScheduler.mjs.map\n","import { useMemo, useRef, useSyncExternalStore } from \"react\";\nimport { computed, react } from \"../core/index.mjs\";\nfunction useValue() {\n const args = arguments;\n const deps = args.length === 3 ? args[2] : [args[0]];\n const name = args.length === 3 ? args[0] : `useValue(${args[0].name})`;\n const isInRender = useRef(true);\n isInRender.current = true;\n const $val = useMemo(() => {\n if (args.length === 1) {\n return args[0];\n }\n return computed(name, () => {\n if (isInRender.current) {\n return args[1]();\n } else {\n try {\n return args[1]();\n } catch {\n return {};\n }\n }\n });\n }, deps);\n try {\n const { subscribe, getSnapshot } = useMemo(() => {\n return {\n subscribe: (listen) => {\n return react(`useValue(${name})`, () => {\n $val.get();\n listen();\n });\n },\n getSnapshot: () => $val.get()\n };\n }, [$val]);\n return useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n } finally {\n isInRender.current = false;\n }\n}\nexport {\n useValue\n};\n//# sourceMappingURL=useValue.mjs.map\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n",null,null,null,null,null,null,null,null,null,null],"names":["__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","SuppressedError","ArraySet","arraySize","array","Array","set","isEmpty","this","size","Error","add","elem","indexOf","Set","has","remove","idx","delete","visit","visitor","i","forEach","RESET_VALUE","Symbol","HistoryBuffer","constructor","capacity","buffer","index","pushEntry","lastComputedEpoch","currentEpoch","diff","clear","fill","getChangesSince","sinceEpoch","offset","fromEpoch","toEpoch","len","j","isChild","x","haveParentsChanged","child","n","parents","length","__unsafe__getWithoutCapture","lastChangedEpoch","parentEpochs","detach","parent","children","attach","equals","a","b","Object","is","Boolean","EMPTY_ARRAY","freeze","tldrawStateGlobalKey","for","tldrawStateGlobal","globalThis","console","error","CaptureStackFrame","below","numNewParents","maybeRemoved","stack","startCapturingParents","stopCapturingParents","frame","p","maybeRemovedParent","GLOBAL_START_EPOCH","didWarnDotValue","didWarnComputedGetter","UNINITIALIZED","WithDiff","_Computed","name","derive","options","historyLength","historyBuffer","computeDiff","isEqual","lastTraversedEpoch","lastCheckedEpoch","isActivelyListening","state","isNew","newState","get","push","maybeCaptureParent","warn","getDiffSince","epoch","computedAnnotation","_target","key","descriptor","originalMethod","derivationKey","d","bind","defineProperty","enumerable","configurable","writable","computedGetterAnnotation","isComputedMethodKey","computedMethodAnnotation","EffectScheduler","runEffect","_scheduleEffect","scheduleEffect","_isActivelyListening","lastReactedEpoch","_scheduleCount","scheduleCount","maybeScheduleEffect","maybeExecute","execute","useValue","args","arguments","deps","isInRender","useRef","current","$val","useMemo","target","computed","subscribe","getSnapshot","listen","fn","scheduler","react","useSyncExternalStore","hasOwn","hasOwnProperty","classNames","classes","arg","appendClass","parseValue","isArray","toString","prototype","includes","call","newClass","module","exports","default","window","ErrorFallback","editor","containerRef","shouldShowError","setShouldShowError","useState","process","env","NODE_ENV","didCopy","setDidCopy","shouldShowResetConfirmation","setShouldShowResetConfirmation","errorMessage","message","String","errorStack","isDarkModeFromApp","user","isDarkMode","_a","setIsDarkMode","useLayoutEffect","parentElement","foundParentThemeClass","classList","contains","matchMedia","matches","useEffect","timeout","setTimeout","clearTimeout","React","createElement","ref","className","Fragment","onClick","href","textarea","document","body","appendChild","select","execCommand","DEFAULT_STORE","store","gridSize","meta","id","typeName","y","lastActivityTimestamp","z","editingShapeId","croppingShapeId","selectedShapeIds","hoveredShapeId","erasingShapeIds","hintingShapeIds","focusedGroupId","pageId","followingUserId","opacityForNextShape","stylesForNextShape","brush","scribble","cursor","type","rotation","isFocusMode","exportBackground","isDebugMode","isToolLocked","screenBounds","w","h","zoomBrush","isGridMode","isPenMode","chatMessage","isChatting","highlightedUserIds","canMoveCamera","isFocused","devicePixelRatio","isCoarsePointer","isHoveringCanvas","openMenus","isChangingStyle","isReadonly","currentPageId","schema","schemaVersion","storeVersion","recordVersions","asset","version","subTypeKey","subTypeVersions","image","video","bookmark","camera","instance","instance_page_state","page","shape","group","text","draw","geo","note","line","arrow","highlight","embed","instance_presence","pointer","Value_Type","HelloRequest$Type","MessageType","super","no","kind","T","create","messagePrototype","reflectionMergePartial","internalBinaryRead","reader","end","pos","fieldNo","wireType","tag","string","u","readUnknownField","skip","UnknownFieldHandler","onRead","internalBinaryWrite","writer","WireType","LengthDelimited","writeUnknownFields","onWrite","HelloRequest","HelloResponse$Type","response","HelloResponse","SubscribeRequest$Type","int64","Varint","SubscribeRequest","Event$Type","sequence","Event","Value$Type","oneof","data","oneofKind","int32","number","float","str","rawBytes","bytes","Bit32","Value","GetRequest$Type","GetRequest","GetResponse$Type","namespace","uint32","fork","join","GetResponse","DeleteRequest$Type","DeleteRequest","DeleteResponse$Type","DeleteResponse","SetRequest$Type","SetRequest","SetResponse$Type","SetResponse","ChangeStream$Type","changeId","fromId","ChangeStream","Select$Type","match","all","prefix","suffix","Select","OpenRequest$Type","repeat","OpenRequest","CountRequest$Type","CountRequest","CountResponse$Type","count","CountResponse","ServiceType","I","O","serverStreaming","Store","StoreClient","_transport","methods","open","input","method","opt","mergeOptions","stackIntercept","decodeJWT","token","parts","split","payloadStr","atob","JSON","parse","err","CURRENT_PAGE_KEY","SHAPES_THROTTLE_TIME","PAGES_DEBOUNCE_TIME","SessionStore","endpoint","abortController","AbortController","transport","GrpcWebFetchTransport","baseUrl","Authorization","storeClient","handleOpen","handleChange","handleError","abort","signal","initialValues","initialised","responses","onMessage","record","onError","valueStr","stringify","STRING","NONE","getKeysCount","Number","useSessionStore","sessionStore","useSetEditorPermissions","zoomToContent","permissions","updateInstanceState","FULL_SYNC_REQUIRED_RECORD_TYPES","onMount","transparentCanvas","setEditor","shapeUtils","createTLStore","defaultShapeUtils","loadSnapshot","currentPage","setCurrentPage","getCurrentPage","storeWithStatus","setStoreWithStatus","status","useCallback","initialRecords","every","filter","transact","put","allRecords","connectionStatus","mergeRemoteChanges","TLINSTANCE_ID","assign","unsubs","unsub","throttle","changes","values","added","updated","removed","source","scope","debounce","keys","newPage","getInstanceState","zoomToFit","useCollaboration","Tldraw","autoFocus","components","hideUi","initialState","_b"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/ArraySet.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/types.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/HistoryBuffer.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/helpers.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/capture.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/constants.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/transactions.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/warnings.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/Computed.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/EffectScheduler.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/react/useValue.mjs","../../../node_modules/classnames/index.js","../src/ErrorFallback.tsx","../src/hooks/default_store.ts","../src/grpc/sessionstore.ts","../src/grpc/sessionstore.client.ts","../src/utils.ts","../src/hooks/StoreClient.ts","../src/hooks/useSessionStore.ts","../src/hooks/useSetEditorPermissions.tsx","../src/hooks/useCollaboration.ts","../src/Whiteboard.tsx"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","const ARRAY_SIZE_THRESHOLD = 8;\nclass ArraySet {\n arraySize = 0;\n array = Array(ARRAY_SIZE_THRESHOLD);\n set = null;\n /**\n * Get whether this ArraySet has any elements.\n *\n * @returns True if this ArraySet has any elements, false otherwise.\n */\n // eslint-disable-next-line no-restricted-syntax\n get isEmpty() {\n if (this.array) {\n return this.arraySize === 0;\n }\n if (this.set) {\n return this.set.size === 0;\n }\n throw new Error(\"no set or array\");\n }\n /**\n * Add an item to the ArraySet if it is not already present.\n *\n * @param elem - The element to add.\n */\n add(elem) {\n if (this.array) {\n const idx = this.array.indexOf(elem);\n if (idx !== -1) {\n return false;\n }\n if (this.arraySize < ARRAY_SIZE_THRESHOLD) {\n this.array[this.arraySize] = elem;\n this.arraySize++;\n return true;\n } else {\n this.set = new Set(this.array);\n this.array = null;\n this.set.add(elem);\n return true;\n }\n }\n if (this.set) {\n if (this.set.has(elem)) {\n return false;\n }\n this.set.add(elem);\n return true;\n }\n throw new Error(\"no set or array\");\n }\n /**\n * Remove an item from the ArraySet if it is present.\n *\n * @param elem - The element to remove\n */\n remove(elem) {\n if (this.array) {\n const idx = this.array.indexOf(elem);\n if (idx === -1) {\n return false;\n }\n this.array[idx] = void 0;\n this.arraySize--;\n if (idx !== this.arraySize) {\n this.array[idx] = this.array[this.arraySize];\n this.array[this.arraySize] = void 0;\n }\n return true;\n }\n if (this.set) {\n if (!this.set.has(elem)) {\n return false;\n }\n this.set.delete(elem);\n return true;\n }\n throw new Error(\"no set or array\");\n }\n /**\n * Run a callback for each element in the ArraySet.\n *\n * @param visitor - The callback to run for each element.\n */\n visit(visitor) {\n if (this.array) {\n for (let i = 0; i < this.arraySize; i++) {\n const elem = this.array[i];\n if (typeof elem !== \"undefined\") {\n visitor(elem);\n }\n }\n return;\n }\n if (this.set) {\n this.set.forEach(visitor);\n return;\n }\n throw new Error(\"no set or array\");\n }\n}\nexport {\n ARRAY_SIZE_THRESHOLD,\n ArraySet\n};\n//# sourceMappingURL=ArraySet.mjs.map\n","const RESET_VALUE = Symbol(\"RESET_VALUE\");\nexport {\n RESET_VALUE\n};\n//# sourceMappingURL=types.mjs.map\n","import { RESET_VALUE } from \"./types.mjs\";\nclass HistoryBuffer {\n constructor(capacity) {\n this.capacity = capacity;\n this.buffer = new Array(capacity);\n }\n index = 0;\n // use a wrap around buffer to store the last N values\n buffer;\n /**\n * Add a diff to the history buffer.\n *\n * @param lastComputedEpoch - The epoch when the diff was computed.\n * @param currentEpoch - The current epoch.\n * @param diff - The diff to add, or else a reset value.\n */\n pushEntry(lastComputedEpoch, currentEpoch, diff) {\n if (diff === void 0) {\n return;\n }\n if (diff === RESET_VALUE) {\n this.clear();\n return;\n }\n this.buffer[this.index] = [lastComputedEpoch, currentEpoch, diff];\n this.index = (this.index + 1) % this.capacity;\n }\n /**\n * Clear the history buffer.\n */\n clear() {\n this.index = 0;\n this.buffer.fill(void 0);\n }\n /**\n * Get the diffs since the given epoch.\n *\n * @param epoch - The epoch to get diffs since.\n * @returns An array of diffs or a flag to reset the history buffer.\n */\n getChangesSince(sinceEpoch) {\n const { index, capacity, buffer } = this;\n for (let i = 0; i < capacity; i++) {\n const offset = (index - 1 + capacity - i) % capacity;\n const elem = buffer[offset];\n if (!elem) {\n return RESET_VALUE;\n }\n const [fromEpoch, toEpoch] = elem;\n if (i === 0 && sinceEpoch >= toEpoch) {\n return [];\n }\n if (fromEpoch <= sinceEpoch && sinceEpoch < toEpoch) {\n const len = i + 1;\n const result = new Array(len);\n for (let j = 0; j < len; j++) {\n result[j] = buffer[(offset + j) % capacity][2];\n }\n return result;\n }\n }\n return RESET_VALUE;\n }\n}\nexport {\n HistoryBuffer\n};\n//# sourceMappingURL=HistoryBuffer.mjs.map\n","function isChild(x) {\n return x && typeof x === \"object\" && \"parents\" in x;\n}\nfunction haveParentsChanged(child) {\n for (let i = 0, n = child.parents.length; i < n; i++) {\n child.parents[i].__unsafe__getWithoutCapture();\n if (child.parents[i].lastChangedEpoch !== child.parentEpochs[i]) {\n return true;\n }\n }\n return false;\n}\nconst detach = (parent, child) => {\n if (!parent.children.remove(child)) {\n return;\n }\n if (parent.children.isEmpty && isChild(parent)) {\n for (let i = 0, n = parent.parents.length; i < n; i++) {\n detach(parent.parents[i], parent);\n }\n }\n};\nconst attach = (parent, child) => {\n if (!parent.children.add(child)) {\n return;\n }\n if (isChild(parent)) {\n for (let i = 0, n = parent.parents.length; i < n; i++) {\n attach(parent.parents[i], parent);\n }\n }\n};\nfunction equals(a, b) {\n const shallowEquals = a === b || Object.is(a, b) || Boolean(a && b && typeof a.equals === \"function\" && a.equals(b));\n return shallowEquals;\n}\nconst EMPTY_ARRAY = Object.freeze([]);\nexport {\n EMPTY_ARRAY,\n attach,\n detach,\n equals,\n haveParentsChanged\n};\n//# sourceMappingURL=helpers.mjs.map\n","import { attach, detach } from \"./helpers.mjs\";\nconst tldrawStateGlobalKey = Symbol.for(\"__@tldraw/state__\");\nconst tldrawStateGlobal = globalThis;\nif (tldrawStateGlobal[tldrawStateGlobalKey]) {\n console.error(\n 'Multiple versions of @tldraw/state detected. This will cause unexpected behavior. Please add \"resolutions\" (yarn/pnpm) or \"overrides\" (npm) in your package.json to ensure only one version of @tldraw/state is loaded.'\n );\n} else {\n tldrawStateGlobal[tldrawStateGlobalKey] = true;\n}\nclass CaptureStackFrame {\n constructor(below, child) {\n this.below = below;\n this.child = child;\n }\n offset = 0;\n numNewParents = 0;\n maybeRemoved;\n}\nlet stack = null;\nfunction unsafe__withoutCapture(fn) {\n const oldStack = stack;\n stack = null;\n try {\n return fn();\n } finally {\n stack = oldStack;\n }\n}\nfunction startCapturingParents(child) {\n stack = new CaptureStackFrame(stack, child);\n}\nfunction stopCapturingParents() {\n const frame = stack;\n stack = frame.below;\n const didParentsChange = frame.numNewParents > 0 || frame.offset !== frame.child.parents.length;\n if (!didParentsChange) {\n return;\n }\n for (let i = frame.offset; i < frame.child.parents.length; i++) {\n const p = frame.child.parents[i];\n const parentWasRemoved = frame.child.parents.indexOf(p) >= frame.offset;\n if (parentWasRemoved) {\n detach(p, frame.child);\n }\n }\n frame.child.parents.length = frame.offset;\n frame.child.parentEpochs.length = frame.offset;\n if (stack?.maybeRemoved) {\n for (let i = 0; i < stack.maybeRemoved.length; i++) {\n const maybeRemovedParent = stack.maybeRemoved[i];\n if (frame.child.parents.indexOf(maybeRemovedParent) === -1) {\n detach(maybeRemovedParent, frame.child);\n }\n }\n }\n}\nfunction maybeCaptureParent(p) {\n if (stack) {\n const idx = stack.child.parents.indexOf(p);\n if (idx < 0) {\n stack.numNewParents++;\n if (stack.child.isActivelyListening) {\n attach(p, stack.child);\n }\n }\n if (idx < 0 || idx >= stack.offset) {\n if (idx !== stack.offset && idx > 0) {\n const maybeRemovedParent = stack.child.parents[stack.offset];\n if (!stack.maybeRemoved) {\n stack.maybeRemoved = [maybeRemovedParent];\n } else if (stack.maybeRemoved.indexOf(maybeRemovedParent) === -1) {\n stack.maybeRemoved.push(maybeRemovedParent);\n }\n }\n stack.child.parents[stack.offset] = p;\n stack.child.parentEpochs[stack.offset] = p.lastChangedEpoch;\n stack.offset++;\n }\n }\n}\nfunction whyAmIRunning() {\n const child = stack?.child;\n if (!child) {\n throw new Error(\"whyAmIRunning() called outside of a reactive context\");\n }\n const changedParents = [];\n for (let i = 0; i < child.parents.length; i++) {\n const parent = child.parents[i];\n if (parent.lastChangedEpoch > child.parentEpochs[i]) {\n changedParents.push(parent);\n }\n }\n if (changedParents.length === 0) {\n console.log(child.name, \"is running but none of the parents changed\");\n } else {\n console.log(child.name, \"is running because:\");\n for (const changedParent of changedParents) {\n console.log(\n \"\t\",\n changedParent.name,\n \"changed =>\",\n changedParent.__unsafe__getWithoutCapture()\n );\n }\n }\n}\nexport {\n maybeCaptureParent,\n startCapturingParents,\n stopCapturingParents,\n unsafe__withoutCapture,\n whyAmIRunning\n};\n//# sourceMappingURL=capture.mjs.map\n","const GLOBAL_START_EPOCH = -1;\nexport {\n GLOBAL_START_EPOCH\n};\n//# sourceMappingURL=constants.mjs.map\n","import { GLOBAL_START_EPOCH } from \"./constants.mjs\";\nlet globalEpoch = GLOBAL_START_EPOCH + 1;\nlet globalIsReacting = false;\nfunction advanceGlobalEpoch() {\n globalEpoch++;\n}\nclass Transaction {\n constructor(parent) {\n this.parent = parent;\n }\n initialAtomValues = /* @__PURE__ */ new Map();\n /**\n * Get whether this transaction is a root (no parents).\n *\n * @public\n */\n // eslint-disable-next-line no-restricted-syntax\n get isRoot() {\n return this.parent === null;\n }\n /**\n * Commit the transaction's changes.\n *\n * @public\n */\n commit() {\n if (this.isRoot) {\n const atoms = this.initialAtomValues;\n this.initialAtomValues = /* @__PURE__ */ new Map();\n flushChanges(atoms.keys());\n } else {\n this.initialAtomValues.forEach((value, atom) => {\n if (!this.parent.initialAtomValues.has(atom)) {\n this.parent.initialAtomValues.set(atom, value);\n }\n });\n }\n }\n /**\n * Abort the transaction.\n *\n * @public\n */\n abort() {\n globalEpoch++;\n this.initialAtomValues.forEach((value, atom) => {\n atom.set(value);\n atom.historyBuffer?.clear();\n });\n this.commit();\n }\n}\nfunction flushChanges(atoms) {\n if (globalIsReacting) {\n throw new Error(\"cannot change atoms during reaction cycle\");\n }\n try {\n globalIsReacting = true;\n const reactors = /* @__PURE__ */ new Set();\n const traverse = (node) => {\n if (node.lastTraversedEpoch === globalEpoch) {\n return;\n }\n node.lastTraversedEpoch = globalEpoch;\n if (\"maybeScheduleEffect\" in node) {\n reactors.add(node);\n } else {\n ;\n node.children.visit(traverse);\n }\n };\n for (const atom of atoms) {\n atom.children.visit(traverse);\n }\n for (const r of reactors) {\n r.maybeScheduleEffect();\n }\n } finally {\n globalIsReacting = false;\n }\n}\nfunction atomDidChange(atom, previousValue) {\n if (!currentTransaction) {\n flushChanges([atom]);\n } else if (!currentTransaction.initialAtomValues.has(atom)) {\n currentTransaction.initialAtomValues.set(atom, previousValue);\n }\n}\nlet currentTransaction = null;\nfunction transaction(fn) {\n const txn = new Transaction(currentTransaction);\n currentTransaction = txn;\n try {\n let rollback = false;\n const result = fn(() => rollback = true);\n if (rollback) {\n txn.abort();\n } else {\n txn.commit();\n }\n return result;\n } catch (e) {\n txn.abort();\n throw e;\n } finally {\n currentTransaction = currentTransaction.parent;\n }\n}\nfunction transact(fn) {\n if (currentTransaction) {\n return fn();\n }\n return transaction(fn);\n}\nexport {\n advanceGlobalEpoch,\n atomDidChange,\n currentTransaction,\n globalEpoch,\n transact,\n transaction\n};\n//# sourceMappingURL=transactions.mjs.map\n","let didWarnDotValue = false;\nfunction logDotValueWarning() {\n if (didWarnDotValue)\n return;\n didWarnDotValue = true;\n console.warn(\n \"Using Signal.value is deprecated and will be removed in the near future. Please use Signal.get() instead.\"\n );\n}\nlet didWarnComputedGetter = false;\nfunction logComputedGetterWarning() {\n if (didWarnComputedGetter)\n return;\n didWarnComputedGetter = true;\n console.warn(\n `Using \\`@computed\\` as a decorator for getters is deprecated and will be removed in the near future. Please refactor to use \\`@computed\\` as a decorator for methods.\n\n// Before\n@computed\nget foo() {\n\treturn 'foo'\n}\n\n// After\n@computed\ngetFoo() {\n\treturn 'foo'\n}\n`\n );\n}\nexport {\n logComputedGetterWarning,\n logDotValueWarning\n};\n//# sourceMappingURL=warnings.mjs.map\n","import { ArraySet } from \"./ArraySet.mjs\";\nimport { HistoryBuffer } from \"./HistoryBuffer.mjs\";\nimport { maybeCaptureParent, startCapturingParents, stopCapturingParents } from \"./capture.mjs\";\nimport { GLOBAL_START_EPOCH } from \"./constants.mjs\";\nimport { EMPTY_ARRAY, equals, haveParentsChanged } from \"./helpers.mjs\";\nimport { globalEpoch } from \"./transactions.mjs\";\nimport { RESET_VALUE } from \"./types.mjs\";\nimport { logComputedGetterWarning, logDotValueWarning } from \"./warnings.mjs\";\nconst UNINITIALIZED = Symbol(\"UNINITIALIZED\");\nconst isUninitialized = (value) => {\n return value === UNINITIALIZED;\n};\nclass WithDiff {\n constructor(value, diff) {\n this.value = value;\n this.diff = diff;\n }\n}\nfunction withDiff(value, diff) {\n return new WithDiff(value, diff);\n}\nclass _Computed {\n constructor(name, derive, options) {\n this.name = name;\n this.derive = derive;\n if (options?.historyLength) {\n this.historyBuffer = new HistoryBuffer(options.historyLength);\n }\n this.computeDiff = options?.computeDiff;\n this.isEqual = options?.isEqual ?? equals;\n }\n lastChangedEpoch = GLOBAL_START_EPOCH;\n lastTraversedEpoch = GLOBAL_START_EPOCH;\n /**\n * The epoch when the reactor was last checked.\n */\n lastCheckedEpoch = GLOBAL_START_EPOCH;\n parents = [];\n parentEpochs = [];\n children = new ArraySet();\n // eslint-disable-next-line no-restricted-syntax\n get isActivelyListening() {\n return !this.children.isEmpty;\n }\n historyBuffer;\n // The last-computed value of this signal.\n state = UNINITIALIZED;\n computeDiff;\n isEqual;\n __unsafe__getWithoutCapture() {\n const isNew = this.lastChangedEpoch === GLOBAL_START_EPOCH;\n if (!isNew && (this.lastCheckedEpoch === globalEpoch || !haveParentsChanged(this))) {\n this.lastCheckedEpoch = globalEpoch;\n return this.state;\n }\n try {\n startCapturingParents(this);\n const result = this.derive(this.state, this.lastCheckedEpoch);\n const newState = result instanceof WithDiff ? result.value : result;\n if (this.state === UNINITIALIZED || !this.isEqual(newState, this.state)) {\n if (this.historyBuffer && !isNew) {\n const diff = result instanceof WithDiff ? result.diff : void 0;\n this.historyBuffer.pushEntry(\n this.lastChangedEpoch,\n globalEpoch,\n diff ?? this.computeDiff?.(this.state, newState, this.lastCheckedEpoch, globalEpoch) ?? RESET_VALUE\n );\n }\n this.lastChangedEpoch = globalEpoch;\n this.state = newState;\n }\n this.lastCheckedEpoch = globalEpoch;\n return this.state;\n } finally {\n stopCapturingParents();\n }\n }\n get() {\n const value = this.__unsafe__getWithoutCapture();\n maybeCaptureParent(this);\n return value;\n }\n /**\n * @deprecated Use [[get]] instead.\n */\n // eslint-disable-next-line no-restricted-syntax\n get value() {\n logDotValueWarning();\n return this.get();\n }\n getDiffSince(epoch) {\n this.get();\n if (epoch >= this.lastChangedEpoch) {\n return EMPTY_ARRAY;\n }\n return this.historyBuffer?.getChangesSince(epoch) ?? RESET_VALUE;\n }\n}\nfunction computedMethodAnnotation(options = {}, _target, key, descriptor) {\n const originalMethod = descriptor.value;\n const derivationKey = Symbol.for(\"__@tldraw/state__computed__\" + key);\n descriptor.value = function() {\n let d = this[derivationKey];\n if (!d) {\n d = new _Computed(key, originalMethod.bind(this), options);\n Object.defineProperty(this, derivationKey, {\n enumerable: false,\n configurable: false,\n writable: false,\n value: d\n });\n }\n return d.get();\n };\n descriptor.value[isComputedMethodKey] = true;\n return descriptor;\n}\nfunction computedAnnotation(options = {}, _target, key, descriptor) {\n if (descriptor.get) {\n logComputedGetterWarning();\n return computedGetterAnnotation(options, _target, key, descriptor);\n } else {\n return computedMethodAnnotation(options, _target, key, descriptor);\n }\n}\nfunction computedGetterAnnotation(options = {}, _target, key, descriptor) {\n const originalMethod = descriptor.get;\n const derivationKey = Symbol.for(\"__@tldraw/state__computed__\" + key);\n descriptor.get = function() {\n let d = this[derivationKey];\n if (!d) {\n d = new _Computed(key, originalMethod.bind(this), options);\n Object.defineProperty(this, derivationKey, {\n enumerable: false,\n configurable: false,\n writable: false,\n value: d\n });\n }\n return d.get();\n };\n return descriptor;\n}\nconst isComputedMethodKey = \"@@__isComputedMethod__@@\";\nfunction getComputedInstance(obj, propertyName) {\n const key = Symbol.for(\"__@tldraw/state__computed__\" + propertyName.toString());\n let inst = obj[key];\n if (!inst) {\n const val = obj[propertyName];\n if (typeof val === \"function\" && val[isComputedMethodKey]) {\n val.call(obj);\n }\n inst = obj[key];\n }\n return inst;\n}\nfunction computed() {\n if (arguments.length === 1) {\n const options = arguments[0];\n return (target, key, descriptor) => computedAnnotation(options, target, key, descriptor);\n } else if (typeof arguments[0] === \"string\") {\n return new _Computed(arguments[0], arguments[1], arguments[2]);\n } else {\n return computedAnnotation(void 0, arguments[0], arguments[1], arguments[2]);\n }\n}\nfunction isComputed(value) {\n return value && value instanceof _Computed;\n}\nexport {\n _Computed,\n computed,\n getComputedInstance,\n isComputed,\n isUninitialized,\n withDiff\n};\n//# sourceMappingURL=Computed.mjs.map\n","import { startCapturingParents, stopCapturingParents } from \"./capture.mjs\";\nimport { GLOBAL_START_EPOCH } from \"./constants.mjs\";\nimport { attach, detach, haveParentsChanged } from \"./helpers.mjs\";\nimport { globalEpoch } from \"./transactions.mjs\";\nclass EffectScheduler {\n constructor(name, runEffect, options) {\n this.name = name;\n this.runEffect = runEffect;\n this._scheduleEffect = options?.scheduleEffect;\n }\n _isActivelyListening = false;\n /**\n * Whether this scheduler is attached and actively listening to its parents.\n * @public\n */\n // eslint-disable-next-line no-restricted-syntax\n get isActivelyListening() {\n return this._isActivelyListening;\n }\n /** @internal */\n lastTraversedEpoch = GLOBAL_START_EPOCH;\n lastReactedEpoch = GLOBAL_START_EPOCH;\n _scheduleCount = 0;\n /**\n * The number of times this effect has been scheduled.\n * @public\n */\n // eslint-disable-next-line no-restricted-syntax\n get scheduleCount() {\n return this._scheduleCount;\n }\n /** @internal */\n parentEpochs = [];\n /** @internal */\n parents = [];\n _scheduleEffect;\n /** @internal */\n maybeScheduleEffect() {\n if (!this._isActivelyListening)\n return;\n if (this.lastReactedEpoch === globalEpoch)\n return;\n if (this.parents.length && !haveParentsChanged(this)) {\n this.lastReactedEpoch = globalEpoch;\n return;\n }\n this.scheduleEffect();\n }\n /** @internal */\n scheduleEffect() {\n this._scheduleCount++;\n if (this._scheduleEffect) {\n this._scheduleEffect(this.maybeExecute);\n } else {\n this.execute();\n }\n }\n maybeExecute = () => {\n if (!this._isActivelyListening)\n return;\n this.execute();\n };\n /**\n * Makes this scheduler become 'actively listening' to its parents.\n * If it has been executed before it will immediately become eligible to receive 'maybeScheduleEffect' calls.\n * If it has not executed before it will need to be manually executed once to become eligible for scheduling, i.e. by calling [[EffectScheduler.execute]].\n * @public\n */\n attach() {\n this._isActivelyListening = true;\n for (let i = 0, n = this.parents.length; i < n; i++) {\n attach(this.parents[i], this);\n }\n }\n /**\n * Makes this scheduler stop 'actively listening' to its parents.\n * It will no longer be eligible to receive 'maybeScheduleEffect' calls until [[EffectScheduler.attach]] is called again.\n */\n detach() {\n this._isActivelyListening = false;\n for (let i = 0, n = this.parents.length; i < n; i++) {\n detach(this.parents[i], this);\n }\n }\n /**\n * Executes the effect immediately and returns the result.\n * @returns The result of the effect.\n */\n execute() {\n try {\n startCapturingParents(this);\n const result = this.runEffect(this.lastReactedEpoch);\n this.lastReactedEpoch = globalEpoch;\n return result;\n } finally {\n stopCapturingParents();\n }\n }\n}\nfunction react(name, fn, options) {\n const scheduler = new EffectScheduler(name, fn, options);\n scheduler.attach();\n scheduler.scheduleEffect();\n return () => {\n scheduler.detach();\n };\n}\nfunction reactor(name, fn, options) {\n const scheduler = new EffectScheduler(name, fn, options);\n return {\n scheduler,\n start: (options2) => {\n const force = options2?.force ?? false;\n scheduler.attach();\n if (force) {\n scheduler.scheduleEffect();\n } else {\n scheduler.maybeScheduleEffect();\n }\n },\n stop: () => {\n scheduler.detach();\n }\n };\n}\nexport {\n EffectScheduler,\n react,\n reactor\n};\n//# sourceMappingURL=EffectScheduler.mjs.map\n","import { useMemo, useRef, useSyncExternalStore } from \"react\";\nimport { computed, react } from \"../core/index.mjs\";\nfunction useValue() {\n const args = arguments;\n const deps = args.length === 3 ? args[2] : [args[0]];\n const name = args.length === 3 ? args[0] : `useValue(${args[0].name})`;\n const isInRender = useRef(true);\n isInRender.current = true;\n const $val = useMemo(() => {\n if (args.length === 1) {\n return args[0];\n }\n return computed(name, () => {\n if (isInRender.current) {\n return args[1]();\n } else {\n try {\n return args[1]();\n } catch {\n return {};\n }\n }\n });\n }, deps);\n try {\n const { subscribe, getSnapshot } = useMemo(() => {\n return {\n subscribe: (listen) => {\n return react(`useValue(${name})`, () => {\n $val.get();\n listen();\n });\n },\n getSnapshot: () => $val.get()\n };\n }, [$val]);\n return useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n } finally {\n isInRender.current = false;\n }\n}\nexport {\n useValue\n};\n//# sourceMappingURL=useValue.mjs.map\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n",null,null,null,null,null,null,null,null,null,null],"names":["__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","SuppressedError","ArraySet","arraySize","array","Array","set","isEmpty","this","size","Error","add","elem","indexOf","Set","has","remove","idx","delete","visit","visitor","i","forEach","RESET_VALUE","Symbol","HistoryBuffer","constructor","capacity","buffer","index","pushEntry","lastComputedEpoch","currentEpoch","diff","clear","fill","getChangesSince","sinceEpoch","offset","fromEpoch","toEpoch","len","j","isChild","x","haveParentsChanged","child","n","parents","length","__unsafe__getWithoutCapture","lastChangedEpoch","parentEpochs","detach","parent","children","attach","equals","a","b","Object","is","Boolean","EMPTY_ARRAY","freeze","tldrawStateGlobalKey","for","tldrawStateGlobal","globalThis","console","error","CaptureStackFrame","below","numNewParents","maybeRemoved","stack","startCapturingParents","stopCapturingParents","frame","p","maybeRemovedParent","GLOBAL_START_EPOCH","didWarnDotValue","didWarnComputedGetter","UNINITIALIZED","WithDiff","_Computed","name","derive","options","historyLength","historyBuffer","computeDiff","isEqual","lastTraversedEpoch","lastCheckedEpoch","isActivelyListening","state","isNew","newState","get","push","maybeCaptureParent","warn","getDiffSince","epoch","computedAnnotation","_target","key","descriptor","originalMethod","derivationKey","d","bind","defineProperty","enumerable","configurable","writable","computedGetterAnnotation","isComputedMethodKey","computedMethodAnnotation","EffectScheduler","runEffect","_scheduleEffect","scheduleEffect","_isActivelyListening","lastReactedEpoch","_scheduleCount","scheduleCount","maybeScheduleEffect","maybeExecute","execute","useValue","args","arguments","deps","isInRender","useRef","current","$val","useMemo","target","computed","subscribe","getSnapshot","listen","fn","scheduler","react","useSyncExternalStore","hasOwn","hasOwnProperty","classNames","classes","arg","appendClass","parseValue","isArray","toString","prototype","includes","call","newClass","module","exports","default","window","ErrorFallback","editor","containerRef","shouldShowError","setShouldShowError","useState","process","env","NODE_ENV","didCopy","setDidCopy","shouldShowResetConfirmation","setShouldShowResetConfirmation","errorMessage","message","String","errorStack","isDarkModeFromApp","user","isDarkMode","_a","setIsDarkMode","useLayoutEffect","parentElement","foundParentThemeClass","classList","contains","matchMedia","matches","useEffect","timeout","setTimeout","clearTimeout","React","createElement","ref","className","Fragment","onClick","href","textarea","document","body","appendChild","select","execCommand","DEFAULT_STORE","store","gridSize","meta","id","typeName","y","lastActivityTimestamp","z","editingShapeId","croppingShapeId","selectedShapeIds","hoveredShapeId","erasingShapeIds","hintingShapeIds","focusedGroupId","pageId","followingUserId","opacityForNextShape","stylesForNextShape","brush","scribble","cursor","type","rotation","isFocusMode","exportBackground","isDebugMode","isToolLocked","screenBounds","w","h","zoomBrush","isGridMode","isPenMode","chatMessage","isChatting","highlightedUserIds","canMoveCamera","isFocused","devicePixelRatio","isCoarsePointer","isHoveringCanvas","openMenus","isChangingStyle","isReadonly","currentPageId","schema","schemaVersion","storeVersion","recordVersions","asset","version","subTypeKey","subTypeVersions","image","video","bookmark","camera","instance","instance_page_state","page","shape","group","text","draw","geo","note","line","arrow","highlight","embed","instance_presence","pointer","Value_Type","HelloRequest$Type","MessageType","super","no","kind","T","create","messagePrototype","reflectionMergePartial","internalBinaryRead","reader","end","pos","fieldNo","wireType","tag","string","u","readUnknownField","skip","UnknownFieldHandler","onRead","internalBinaryWrite","writer","WireType","LengthDelimited","writeUnknownFields","onWrite","HelloRequest","HelloResponse$Type","response","HelloResponse","SubscribeRequest$Type","int64","Varint","SubscribeRequest","Event$Type","sequence","Event","Value$Type","oneof","data","oneofKind","int32","number","float","str","rawBytes","bytes","Bit32","Value","GetRequest$Type","GetRequest","GetResponse$Type","namespace","uint32","fork","join","GetResponse","DeleteRequest$Type","DeleteRequest","DeleteResponse$Type","DeleteResponse","SetRequest$Type","SetRequest","SetResponse$Type","SetResponse","ChangeStream$Type","changeId","fromId","ChangeStream","Select$Type","match","all","prefix","suffix","Select","OpenRequest$Type","repeat","OpenRequest","CountRequest$Type","CountRequest","CountResponse$Type","count","CountResponse","ServiceType","I","O","serverStreaming","Store","StoreClient","_transport","methods","open","input","method","opt","mergeOptions","stackIntercept","decodeJWT","token","parts","split","payloadStr","atob","JSON","parse","err","CURRENT_PAGE_KEY","SHAPES_THROTTLE_TIME","PAGES_DEBOUNCE_TIME","SessionStore","endpoint","abortController","AbortController","transport","GrpcWebFetchTransport","baseUrl","Authorization","storeClient","handleOpen","handleChange","handleError","abort","signal","initialValues","initialised","responses","onMessage","record","onError","valueStr","stringify","STRING","NONE","getKeysCount","Number","useSessionStore","sessionStore","useSetEditorPermissions","zoomToContent","permissions","updateInstanceState","FULL_SYNC_REQUIRED_RECORD_TYPES","transparentCanvas","onMount","setEditor","shapeUtils","createTLStore","defaultShapeUtils","loadSnapshot","currentPage","setCurrentPage","getCurrentPage","storeWithStatus","setStoreWithStatus","status","useCallback","initialRecords","every","filter","transact","put","allRecords","connectionStatus","mergeRemoteChanges","TLINSTANCE_ID","assign","unsubs","unsub","throttle","changes","values","added","updated","removed","source","scope","debounce","keys","newPage","getInstanceState","zoomToFit","useCollaboration","Tldraw","autoFocus","components","hideUi","initialState","_b"],"mappings":"8TAkHO,SAASA,EAAUC,EAASC,EAAYC,EAAGC,GAEhD,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,GAAQ,CAAG,MAAOG,GAAKL,EAAOK,GAAO,CAC3F,SAASC,EAASJ,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,GAAU,CAAC,MAAOG,GAAKL,EAAOK,GAAO,CAC9F,SAASF,EAAKI,GAJlB,IAAeL,EAIaK,EAAOC,KAAOT,EAAQQ,EAAOL,QAJ1CA,EAIyDK,EAAOL,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,EAAO,KAIhBO,KAAKR,EAAWK,EAAY,CAC9GH,GAAMN,EAAYA,EAAUa,MAAMhB,EAASC,GAAc,KAAKS,OACpE,GACA,CAiMkD,mBAApBO,iBAAiCA,gBC1T/D,MAAMC,EACJC,UAAY,EACZC,MAAQC,MAHmB,GAI3BC,IAAM,KAON,WAAIC,GACF,GAAIC,KAAKJ,MACP,OAA0B,IAAnBI,KAAKL,UAEd,GAAIK,KAAKF,IACP,OAAyB,IAAlBE,KAAKF,IAAIG,KAElB,MAAM,IAAIC,MAAM,kBACjB,CAMD,GAAAC,CAAIC,GACF,GAAIJ,KAAKJ,MAAO,CAEd,OAAa,IADDI,KAAKJ,MAAMS,QAAQD,KAI3BJ,KAAKL,UA/Bc,GAgCrBK,KAAKJ,MAAMI,KAAKL,WAAaS,EAC7BJ,KAAKL,aACE,IAEPK,KAAKF,IAAM,IAAIQ,IAAIN,KAAKJ,OACxBI,KAAKJ,MAAQ,KACbI,KAAKF,IAAIK,IAAIC,IACN,GAEV,CACD,GAAIJ,KAAKF,IACP,OAAIE,KAAKF,IAAIS,IAAIH,KAGjBJ,KAAKF,IAAIK,IAAIC,IACN,GAET,MAAM,IAAIF,MAAM,kBACjB,CAMD,MAAAM,CAAOJ,GACL,GAAIJ,KAAKJ,MAAO,CACd,MAAMa,EAAMT,KAAKJ,MAAMS,QAAQD,GAC/B,OAAa,IAATK,IAGJT,KAAKJ,MAAMa,QAAO,EAClBT,KAAKL,YACDc,IAAQT,KAAKL,YACfK,KAAKJ,MAAMa,GAAOT,KAAKJ,MAAMI,KAAKL,WAClCK,KAAKJ,MAAMI,KAAKL,gBAAa,IAExB,EACR,CACD,GAAIK,KAAKF,IACP,QAAKE,KAAKF,IAAIS,IAAIH,KAGlBJ,KAAKF,IAAIY,OAAON,IACT,GAET,MAAM,IAAIF,MAAM,kBACjB,CAMD,KAAAS,CAAMC,GACJ,GAAIZ,KAAKJ,MACP,IAAK,IAAIiB,EAAI,EAAGA,EAAIb,KAAKL,UAAWkB,IAAK,CACvC,MAAMT,EAAOJ,KAAKJ,MAAMiB,QACJ,IAATT,GACTQ,EAAQR,EAEX,KANH,CASA,IAAIJ,KAAKF,IAIT,MAAM,IAAII,MAAM,mBAHdF,KAAKF,IAAIgB,QAAQF,EAFlB,CAMF,ECnGH,MAAMG,EAAcC,OAAO,eCC3B,MAAMC,EACJ,WAAAC,CAAYC,GACVnB,KAAKmB,SAAWA,EAChBnB,KAAKoB,OAAS,IAAIvB,MAAMsB,EACzB,CACDE,MAAQ,EAERD,OAQA,SAAAE,CAAUC,EAAmBC,EAAcC,QAC5B,IAATA,IAGAA,IAASV,GAIbf,KAAKoB,OAAOpB,KAAKqB,OAAS,CAACE,EAAmBC,EAAcC,GAC5DzB,KAAKqB,OAASrB,KAAKqB,MAAQ,GAAKrB,KAAKmB,UAJnCnB,KAAK0B,QAKR,CAID,KAAAA,GACE1B,KAAKqB,MAAQ,EACbrB,KAAKoB,OAAOO,UAAK,EAClB,CAOD,eAAAC,CAAgBC,GACd,MAAMR,MAAEA,EAAKF,SAAEA,EAAQC,OAAEA,GAAWpB,KACpC,IAAK,IAAIa,EAAI,EAAGA,EAAIM,EAAUN,IAAK,CACjC,MAAMiB,GAAUT,EAAQ,EAAIF,EAAWN,GAAKM,EACtCf,EAAOgB,EAAOU,GACpB,IAAK1B,EACH,OAAOW,EAET,MAAOgB,EAAWC,GAAW5B,EAC7B,GAAU,IAANS,GAAWgB,GAAcG,EAC3B,MAAO,GAET,GAAID,GAAaF,GAAcA,EAAaG,EAAS,CACnD,MAAMC,EAAMpB,EAAI,EACVxB,EAAS,IAAIQ,MAAMoC,GACzB,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAKC,IACvB7C,EAAO6C,GAAKd,GAAQU,EAASI,GAAKf,GAAU,GAE9C,OAAO9B,CACR,CACF,CACD,OAAO0B,CACR,EC9DH,SAASoB,EAAQC,GACf,OAAOA,GAAkB,iBAANA,GAAkB,YAAaA,CACpD,CACA,SAASC,EAAmBC,GAC1B,IAAK,IAAIzB,EAAI,EAAG0B,EAAID,EAAME,QAAQC,OAAQ5B,EAAI0B,EAAG1B,IAE/C,GADAyB,EAAME,QAAQ3B,GAAG6B,8BACbJ,EAAME,QAAQ3B,GAAG8B,mBAAqBL,EAAMM,aAAa/B,GAC3D,OAAO,EAGX,OAAO,CACT,CACA,MAAMgC,EAAS,CAACC,EAAQR,KACtB,GAAKQ,EAAOC,SAASvC,OAAO8B,IAGxBQ,EAAOC,SAAShD,SAAWoC,EAAQW,GACrC,IAAK,IAAIjC,EAAI,EAAG0B,EAAIO,EAAON,QAAQC,OAAQ5B,EAAI0B,EAAG1B,IAChDgC,EAAOC,EAAON,QAAQ3B,GAAIiC,EAE7B,EAEGE,EAAS,CAACF,EAAQR,KACtB,GAAKQ,EAAOC,SAAS5C,IAAImC,IAGrBH,EAAQW,GACV,IAAK,IAAIjC,EAAI,EAAG0B,EAAIO,EAAON,QAAQC,OAAQ5B,EAAI0B,EAAG1B,IAChDmC,EAAOF,EAAON,QAAQ3B,GAAIiC,EAE7B,EAEH,SAASG,EAAOC,EAAGC,GAEjB,OADsBD,IAAMC,GAAKC,OAAOC,GAAGH,EAAGC,IAAMG,QAAQJ,GAAKC,GAAyB,mBAAbD,EAAED,QAAyBC,EAAED,OAAOE,GAEnH,CACA,MAAMI,EAAcH,OAAOI,OAAO,ICnC5BC,EAAuBzC,OAAO0C,IAAI,qBAClCC,EAAoBC,WACtBD,EAAkBF,GACpBI,QAAQC,MACN,2NAGFH,EAAkBF,IAAwB,EAE5C,MAAMM,EACJ,WAAA7C,CAAY8C,EAAO1B,GACjBtC,KAAKgE,MAAQA,EACbhE,KAAKsC,MAAQA,CACd,CACDR,OAAS,EACTmC,cAAgB,EAChBC,aAEF,IAAIC,EAAQ,KAUZ,SAASC,EAAsB9B,GAC7B6B,EAAQ,IAAIJ,EAAkBI,EAAO7B,EACvC,CACA,SAAS+B,IACP,MAAMC,EAAQH,EACdA,EAAQG,EAAMN,MAEd,GADyBM,EAAML,cAAgB,GAAKK,EAAMxC,SAAWwC,EAAMhC,MAAME,QAAQC,OACzF,CAGA,IAAK,IAAI5B,EAAIyD,EAAMxC,OAAQjB,EAAIyD,EAAMhC,MAAME,QAAQC,OAAQ5B,IAAK,CAC9D,MAAM0D,EAAID,EAAMhC,MAAME,QAAQ3B,GACLyD,EAAMhC,MAAME,QAAQnC,QAAQkE,IAAMD,EAAMxC,QAE/De,EAAO0B,EAAGD,EAAMhC,MAEnB,CAGD,GAFAgC,EAAMhC,MAAME,QAAQC,OAAS6B,EAAMxC,OACnCwC,EAAMhC,MAAMM,aAAaH,OAAS6B,EAAMxC,OACpCqC,GAAOD,aACT,IAAK,IAAIrD,EAAI,EAAGA,EAAIsD,EAAMD,aAAazB,OAAQ5B,IAAK,CAClD,MAAM2D,EAAqBL,EAAMD,aAAarD,IACW,IAArDyD,EAAMhC,MAAME,QAAQnC,QAAQmE,IAC9B3B,EAAO2B,EAAoBF,EAAMhC,MAEpC,CAhBF,CAkBH,CCxDA,MAAMmC,GAAsB,ECC5B,ICDIC,GAAkB,EAStB,IAAIC,GAAwB,ECD5B,MAAMC,EAAgB5D,OAAO,iBAI7B,MAAM6D,EACJ,WAAA3D,CAAYlC,EAAOyC,GACjBzB,KAAKhB,MAAQA,EACbgB,KAAKyB,KAAOA,CACb,EAKH,MAAMqD,EACJ,WAAA5D,CAAY6D,EAAMC,EAAQC,GACxBjF,KAAK+E,KAAOA,EACZ/E,KAAKgF,OAASA,EACVC,GAASC,gBACXlF,KAAKmF,cAAgB,IAAIlE,EAAcgE,EAAQC,gBAEjDlF,KAAKoF,YAAcH,GAASG,YAC5BpF,KAAKqF,QAAUJ,GAASI,SAAWpC,CACpC,CACDN,iBAAmB8B,EACnBa,mBAAqBb,EAIrBc,iBAAmBd,EACnBjC,QAAU,GACVI,aAAe,GACfG,SAAW,IAAIrD,EAEf,uBAAI8F,GACF,OAAQxF,KAAK+C,SAAShD,OACvB,CACDoF,cAEAM,MAAQb,EACRQ,YACAC,QACA,2BAAA3C,GACE,MAAMgD,EAAQ1F,KAAK2C,mBAAqB8B,EACxC,KAAKiB,GFlDSjB,IEkDCzE,KAAKuF,kBAAqClD,EAAmBrC,OAE1E,OADAA,KAAKuF,iBFnDOd,EEoDLzE,KAAKyF,MAEd,IACErB,EAAsBpE,MACtB,MAAMX,EAASW,KAAKgF,OAAOhF,KAAKyF,MAAOzF,KAAKuF,kBACtCI,EAAWtG,aAAkBwF,EAAWxF,EAAOL,MAAQK,EAC7D,GAAIW,KAAKyF,QAAUb,IAAkB5E,KAAKqF,QAAQM,EAAU3F,KAAKyF,OAAQ,CACvE,GAAIzF,KAAKmF,gBAAkBO,EAAO,CAChC,MAAMjE,EAAOpC,aAAkBwF,EAAWxF,EAAOoC,UAAO,EACxDzB,KAAKmF,cAAc7D,UACjBtB,KAAK2C,iBF9DC8B,EEgENhD,GAAQzB,KAAKoF,cAAcpF,KAAKyF,MAAOE,EAAU3F,KAAKuF,iBFhEhDd,IEgEkF1D,EAE3F,CACDf,KAAK2C,iBFnEK8B,EEoEVzE,KAAKyF,MAAQE,CACd,CAED,OADA3F,KAAKuF,iBFtEOd,EEuELzE,KAAKyF,KAClB,CAAc,QACRpB,GACD,CACF,CACD,GAAAuB,GACE,MAAM5G,EAAQgB,KAAK0C,8BAEnB,OJvBJ,SAA4B6B,GAC1B,GAAIJ,EAAO,CACT,MAAM1D,EAAM0D,EAAM7B,MAAME,QAAQnC,QAAQkE,GAOxC,GANI9D,EAAM,IACR0D,EAAMF,gBACFE,EAAM7B,MAAMkD,qBACdxC,EAAOuB,EAAGJ,EAAM7B,QAGhB7B,EAAM,GAAKA,GAAO0D,EAAMrC,OAAQ,CAClC,GAAIrB,IAAQ0D,EAAMrC,QAAUrB,EAAM,EAAG,CACnC,MAAM+D,EAAqBL,EAAM7B,MAAME,QAAQ2B,EAAMrC,QAChDqC,EAAMD,cAEoD,IAApDC,EAAMD,aAAa7D,QAAQmE,IACpCL,EAAMD,aAAa2B,KAAKrB,GAFxBL,EAAMD,aAAe,CAACM,EAIzB,CACDL,EAAM7B,MAAME,QAAQ2B,EAAMrC,QAAUyC,EACpCJ,EAAM7B,MAAMM,aAAauB,EAAMrC,QAAUyC,EAAE5B,iBAC3CwB,EAAMrC,QACP,CACF,CACH,CIDIgE,CAAmB9F,MACZhB,CACR,CAKD,SAAIA,GAEF,ODtFE0F,IAEJA,GAAkB,EAClBb,QAAQkC,KACN,8GCkFO/F,KAAK4F,KACb,CACD,YAAAI,CAAaC,GAEX,OADAjG,KAAK4F,MACDK,GAASjG,KAAK2C,iBACTY,EAEFvD,KAAKmF,eAAevD,gBAAgBqE,IAAUlF,CACtD,EAqBH,SAASmF,EAAmBjB,EAAU,CAAA,EAAIkB,EAASC,EAAKC,GACtD,OAAIA,EAAWT,KD3GXjB,IAEJA,GAAwB,EACxBd,QAAQkC,KACN,sRC8GJ,SAAkCd,EAAU,CAAA,EAAIkB,EAASC,EAAKC,GAC5D,MAAMC,EAAiBD,EAAWT,IAC5BW,EAAgBvF,OAAO0C,IAAI,8BAAgC0C,GAcjE,OAbAC,EAAWT,IAAM,WACf,IAAIY,EAAIxG,KAAKuG,GAUb,OATKC,IACHA,EAAI,IAAI1B,EAAUsB,EAAKE,EAAeG,KAAKzG,MAAOiF,GAClD7B,OAAOsD,eAAe1G,KAAMuG,EAAe,CACzCI,YAAY,EACZC,cAAc,EACdC,UAAU,EACV7H,MAAOwH,KAGJA,EAAEZ,KACb,EACSS,CACT,CAtBWS,CAAyB7B,EAASkB,EAASC,EAAKC,IAtB3D,SAAkCpB,EAAU,CAAA,EAAIkB,EAASC,EAAKC,GAC5D,MAAMC,EAAiBD,EAAWrH,MAC5BuH,EAAgBvF,OAAO0C,IAAI,8BAAgC0C,GAejE,OAdAC,EAAWrH,MAAQ,WACjB,IAAIwH,EAAIxG,KAAKuG,GAUb,OATKC,IACHA,EAAI,IAAI1B,EAAUsB,EAAKE,EAAeG,KAAKzG,MAAOiF,GAClD7B,OAAOsD,eAAe1G,KAAMuG,EAAe,CACzCI,YAAY,EACZC,cAAc,EACdC,UAAU,EACV7H,MAAOwH,KAGJA,EAAEZ,KACb,EACES,EAAWrH,MAAM+H,IAAuB,EACjCV,CACT,CAMWW,CAAyB/B,EAASkB,EAASC,EAAKC,EAE3D,CAmBA,MAAMU,EAAsB,2BC3I5B,MAAME,EACJ,WAAA/F,CAAY6D,EAAMmC,EAAWjC,GAC3BjF,KAAK+E,KAAOA,EACZ/E,KAAKkH,UAAYA,EACjBlH,KAAKmH,gBAAkBlC,GAASmC,cACjC,CACDC,sBAAuB,EAMvB,uBAAI7B,GACF,OAAOxF,KAAKqH,oBACb,CAED/B,mBAAqBb,EACrB6C,iBAAmB7C,EACnB8C,eAAiB,EAMjB,iBAAIC,GACF,OAAOxH,KAAKuH,cACb,CAED3E,aAAe,GAEfJ,QAAU,GACV2E,gBAEA,mBAAAM,GACOzH,KAAKqH,sBHrCI5C,IGuCVzE,KAAKsH,oBAELtH,KAAKwC,QAAQC,QAAWJ,EAAmBrC,MAI/CA,KAAKoH,iBAHHpH,KAAKsH,iBH1CO7C,EG8Cf,CAED,cAAA2C,GACEpH,KAAKuH,iBACDvH,KAAKmH,gBACPnH,KAAKmH,gBAAgBnH,KAAK0H,cAE1B1H,KAAK2H,SAER,CACDD,aAAe,KACR1H,KAAKqH,sBAEVrH,KAAK2H,SAAS,EAQhB,MAAA3E,GACEhD,KAAKqH,sBAAuB,EAC5B,IAAK,IAAIxG,EAAI,EAAG0B,EAAIvC,KAAKwC,QAAQC,OAAQ5B,EAAI0B,EAAG1B,IAC9CmC,EAAOhD,KAAKwC,QAAQ3B,GAAIb,KAE3B,CAKD,MAAA6C,GACE7C,KAAKqH,sBAAuB,EAC5B,IAAK,IAAIxG,EAAI,EAAG0B,EAAIvC,KAAKwC,QAAQC,OAAQ5B,EAAI0B,EAAG1B,IAC9CgC,EAAO7C,KAAKwC,QAAQ3B,GAAIb,KAE3B,CAKD,OAAA2H,GACE,IACEvD,EAAsBpE,MACtB,MAAMX,EAASW,KAAKkH,UAAUlH,KAAKsH,kBAEnC,OADAtH,KAAKsH,iBH3FO7C,EG4FLpF,CACb,CAAc,QACRgF,GACD,CACF,EC/FH,SAASuD,IACP,MAAMC,EAAOC,UACPC,EAAuB,IAAhBF,EAAKpF,OAAeoF,EAAK,GAAK,CAACA,EAAK,IAC3C9C,EAAuB,IAAhB8C,EAAKpF,OAAeoF,EAAK,GAAK,YAAYA,EAAK,GAAG9C,QACzDiD,EAAaC,UAAO,GAC1BD,EAAWE,SAAU,EACrB,MAAMC,EAAOC,EAAAA,SAAQ,IACC,IAAhBP,EAAKpF,OACAoF,EAAK,GFkJlB,WACE,GAAyB,IAArBC,UAAUrF,OAAc,CAC1B,MAAMwC,EAAU6C,UAAU,GAC1B,MAAO,CAACO,EAAQjC,EAAKC,IAAeH,EAAmBjB,EAASoD,EAAQjC,EAAKC,EAC9E,CAAM,MAA4B,iBAAjByB,UAAU,GACnB,IAAIhD,EAAUgD,UAAU,GAAIA,UAAU,GAAIA,UAAU,IAEpD5B,OAAmB,EAAQ4B,EAAcA,UAAU,GAAIA,UAAU,GAE5E,CEzJWQ,CAASvD,GAAM,KACpB,GAAIiD,EAAWE,QACb,OAAOL,EAAK,KAEZ,IACE,OAAOA,EAAK,IACtB,CAAU,MACA,MAAO,EACR,CACF,KAEFE,GACH,IACE,MAAMQ,UAAEA,EAASC,YAAEA,GAAgBJ,EAAOA,SAAC,KAClC,CACLG,UAAYE,GDwEpB,SAAe1D,EAAM2D,EAAIzD,GACvB,MAAM0D,EAAY,IAAI1B,EAAgBlC,EAAM2D,EAAIzD,GAGhD,OAFA0D,EAAU3F,SACV2F,EAAUvB,iBACH,KACLuB,EAAU9F,QAAQ,CAEtB,CC9EiB+F,CAAM,YAAY7D,MAAS,KAChCoD,EAAKvC,MACL6C,GAAQ,IAGZD,YAAa,IAAML,EAAKvC,SAEzB,CAACuC,IACJ,OAAOU,uBAAqBN,EAAWC,EAAaA,EACxD,CAAY,QACRR,EAAWE,SAAU,CACtB,CACH;;;;;MCjCC,WAGA,IAAIY,EAAS,CAAE,EAACC,eAEhB,SAASC,IAGR,IAFA,IAAIC,EAAU,GAELpI,EAAI,EAAGA,EAAIiH,UAAUrF,OAAQ5B,IAAK,CAC1C,IAAIqI,EAAMpB,UAAUjH,GAChBqI,IACHD,EAAUE,EAAYF,EAASG,EAAWF,IAE3C,CAED,OAAOD,CACP,CAED,SAASG,EAAYF,GACpB,GAAmB,iBAARA,GAAmC,iBAARA,EACrC,OAAOA,EAGR,GAAmB,iBAARA,EACV,MAAO,GAGR,GAAIrJ,MAAMwJ,QAAQH,GACjB,OAAOF,EAAWxJ,MAAM,KAAM0J,GAG/B,GAAIA,EAAII,WAAalG,OAAOmG,UAAUD,WAAaJ,EAAII,SAASA,WAAWE,SAAS,iBACnF,OAAON,EAAII,WAGZ,IAAIL,EAAU,GAEd,IAAK,IAAI7C,KAAO8C,EACXJ,EAAOW,KAAKP,EAAK9C,IAAQ8C,EAAI9C,KAChC6C,EAAUE,EAAYF,EAAS7C,IAIjC,OAAO6C,CACP,CAED,SAASE,EAAanK,EAAO0K,GAC5B,OAAKA,EAID1K,EACIA,EAAQ,IAAM0K,EAGf1K,EAAQ0K,EAPP1K,CAQR,CAEoC2K,EAAOC,SAC3CZ,EAAWa,QAAUb,EACrBW,EAAAC,QAAiBZ,GAOjBc,OAAOd,WAAaA,CAEtB,CArEA,mBCFA,MAOae,EAA0C,EAAGjG,QAAOkG,aACzD,MAAAC,EAAehC,SAAuB,OACrCiC,EAAiBC,GAAsBC,EAAAA,SAAkC,eAAzBC,QAAQC,IAAIC,WAC5DC,EAASC,GAAcL,YAAS,IAChCM,EAA6BC,GAAkCP,YAAS,GAEzEQ,EAAe9G,aAAiB5D,MAAQ4D,EAAM+G,QAAUC,OAAOhH,GAC/DiH,EAAajH,aAAiB5D,MAAQ4D,EAAMK,MAAQ,KAEpD6G,EAAoBpD,EACxB,cACA,KACM,IACF,GAAIoC,EACF,OAAOA,EAAOiB,KAAKC,iBAErBC,GAGF,CACO,OAAA,IAAA,GAET,CAACnB,KAEIkB,EAAYE,GAAiBhB,WAAyB,MAC7DiB,EAAAA,iBAAgB,WAEY,OAAtBL,GACFI,EAAcJ,GAKZ,IAAAlI,EAA6B,QAApBqI,EAAAlB,EAAa/B,eAAO,IAAAiD,OAAA,EAAAA,EAAEG,cAC/BC,GAAwB,EAC5B,KAAOzI,GAAQ,CACT,GAAAA,EAAO0I,UAAUC,SAAS,mBAAqB3I,EAAO0I,UAAUC,SAAS,mBAAoB,CACvEF,GAAA,EACxB,KACF,CACAzI,EAASA,EAAOwI,aAClB,CAEEF,EADEG,EACY,KAMFzB,OAAO4B,WAAW,gCAAgCC,QAAO,GACtE,CAACX,IAEJY,EAAAA,WAAU,KACR,GAAIpB,EAAS,CACL,MAAAqB,EAAUC,YAAW,KACzBrB,GAAW,EAAK,GACf,KACI,MAAA,IAAMsB,aAAaF,EAC5B,IACC,CAACrB,IAoBJ,OACEwB,EACE,QAAAC,cAAA,MAAA,CAAAC,IAAKjC,EACLkC,UAAWnD,EACT,iCAIe,OAAfkC,EAAsB,GAAKA,EAAa,iBAAmB,oBAG7Dc,EAAAA,QAAKC,cAAA,MAAA,CAAAE,UAAU,+BAgBfH,UAAAC,cAAA,MAAA,CACEE,UAAWnD,EAAW,WAAY,6BAA8B,CAC9D,uCAAwCkB,IAAoBQ,KAG7DA,EACCsB,EAAAA,QAAAC,cAAAD,EAAAA,QAAAI,SAAA,KACEJ,EAAAA,QAAsBC,cAAA,KAAA,KAAA,iBACtBD,EAAAA,QAAyEC,cAAA,IAAA,KAAA,sEACzED,EAAAA,QAAKC,cAAA,MAAA,CAAAE,UAAU,uCACbH,UAAQC,cAAA,SAAA,CAAAI,QAAS,IAAM1B,GAA+B,IAAuB,UAC7EqB,UAAAC,cAAA,SAAA,CAAQE,UAAU,2BAA2BE,QA1CjC,IAAW9N,OAAA,OAAA,OAAA,GAAA,oCA4Cd,gBAIbyN,EAAA,QAAAC,cAAAD,EAAAA,QAAAI,SAAA,KACEJ,EAAAA,QAAqCC,cAAA,KAAA,KAAA,2BACrCD,EAAAA,QAAAC,cAAA,IAAA,oHAEMD,UAAGC,cAAA,IAAA,CAAAK,KAtID,iCAsI+C,2BACnD,KACHpC,GACC8B,EAAK,QAAAC,cAAA,MAAA,CAAAE,UAAU,qCACbH,EAAAA,QAAAC,cAAA,MAAA,KACED,EAAAA,QAAOC,cAAA,OAAA,KAAAlB,QAAAA,EAAcH,IAEvBoB,UAAAC,cAAA,SAAA,CAAQI,QAzEJ,KACV,MAAAE,EAAWC,SAASP,cAAc,YACxCM,EAASvN,MAAQ+L,QAAAA,EAAcH,EACtB4B,SAAAC,KAAKC,YAAYH,GAC1BA,EAASI,SACTH,SAASI,YAAY,QACrBL,EAAS/L,SACTiK,GAAW,EAAI,GAkE0BD,EAAU,UAAY,SAGvDwB,EAAAA,QAAKC,cAAA,MAAA,CAAAE,UAAU,uCACbH,EAAAA,QAAQC,cAAA,SAAA,CAAAI,QAAS,IAAMlC,GAAoBD,IACxCA,EAAkB,eAAiB,gBAEtC8B,EAAAA,QAAKC,cAAA,MAAA,CAAAE,UAAU,8CACbH,EAAAA,QAAAC,cAAA,SAAA,CAAQE,UAAU,2BAA2BE,QAAS,IAAM1B,GAA+B,IAElF,cACTqB,UAAAC,cAAA,SAAA,CAAQE,UAAU,6BAA6BE,QA1E7C,uBA4EO,oBAKb,ECpKCQ,EAAgB,CAC3BC,MAAO,CACL,oBAAqB,CACnBC,SAAU,GACVhI,KAAM,GACNiI,KAAM,CAAE,EACRC,GAAI,oBACJC,SAAU,YAEZ,kBAAmB,CACjBD,GAAI,kBACJC,SAAU,UACV9K,EAAG,EACH+K,EAAG,EACHC,sBAAuB,EACvBJ,KAAM,CAAE,GAEV,YAAa,CACXA,KAAM,CAAE,EACRC,GAAI,YACJlI,KAAM,SACN1D,MAAO,KACP6L,SAAU,QAEZ,mBAAoB,CAClB9K,EAAG,EACH+K,EAAG,EACHE,EAAG,EACHL,KAAM,CAAE,EACRC,GAAI,mBACJC,SAAU,UAEZ,gCAAiC,CAC/BI,eAAgB,KAChBC,gBAAiB,KACjBC,iBAAkB,GAClBC,eAAgB,KAChBC,gBAAiB,GACjBC,gBAAiB,GACjBC,eAAgB,KAChBZ,KAAM,CAAE,EACRC,GAAI,gCACJY,OAAQ,YACRX,SAAU,uBAEZ,oBAAqB,CACnBY,gBAAiB,KACjBC,oBAAqB,EACrBC,mBAAoB,CAAE,EACtBC,MAAO,KACPC,SAAU,KACVC,OAAQ,CACNC,KAAM,UACNC,SAAU,GAEZC,aAAa,EACbC,kBAAkB,EAClBC,aAAa,EACbC,cAAc,EACdC,aAAc,CACZtM,EAAG,EACH+K,EAAG,EACHwB,EAAG,IACHC,EAAG,KAELC,UAAW,KACXC,YAAY,EACZC,WAAW,EACXC,YAAa,GACbC,YAAY,EACZC,mBAAoB,GACpBC,eAAe,EACfC,WAAW,EACXC,iBAAkB,EAClBC,iBAAiB,EACjBC,kBAAkB,EAClBC,UAAW,GACXC,iBAAiB,EACjBC,YAAY,EACZ1C,KAAM,CAAE,EACRC,GAAI,oBACJ0C,cAAe,YACfzC,SAAU,aAGd0C,OAAQ,CACNC,cAAe,EACfC,aAAc,EACdC,eAAgB,CACdC,MAAO,CACLC,QAAS,EACTC,WAAY,OACZC,gBAAiB,CACfC,MAAO,EACPC,MAAO,EACPC,SAAU,IAGdC,OAAQ,CACNN,QAAS,GAEXzD,SAAU,CACRyD,QAAS,GAEXO,SAAU,CACRP,QAAS,IAEXQ,oBAAqB,CACnBR,QAAS,GAEXS,KAAM,CACJT,QAAS,GAEXU,MAAO,CACLV,QAAS,EACTC,WAAY,OACZC,gBAAiB,CACfS,MAAO,EACPC,KAAM,EACNP,SAAU,EACVQ,KAAM,EACNC,IAAK,EACLC,KAAM,EACNC,KAAM,EACN3M,MAAO,EACP4M,MAAO,EACPC,UAAW,EACXC,MAAO,EACPhB,MAAO,EACPC,MAAO,IAGXgB,kBAAmB,CACjBpB,QAAS,GAEXqB,QAAS,CACPrB,QAAS,MC9BjB,IAAYsB,EAAAA,KAAAA,IAAAA,EAqBX,CAAA,IAjBCA,EAAA,KAAA,GAAA,OAIAA,EAAAA,EAAA,MAAA,GAAA,QAIAA,EAAAA,EAAA,OAAA,GAAA,SAIAA,EAAAA,EAAA,QAAA,GAAA,UAIAA,EAAAA,EAAA,MAAA,GAAA,QAwJF,MAAMC,UAA0BC,EAAAA,YAC9B,WAAAvQ,GACEwQ,MAAM,8BAA+B,CAAC,CAAEC,GAAI,EAAG5M,KAAM,OAAQ6M,KAAM,SAAUC,EAAG,IAClF,CACA,MAAAC,CAAO9S,GACL,MAAM6L,EAAUjH,WAAWR,OAAO0O,OAAO9R,KAAK+R,kBAGvC,OAFPlH,EAAQ9F,KAAO,QACD,IAAV/F,GAA0DgT,EAAAA,uBAAAhS,KAAM6K,EAAS7L,GACtE6L,CACT,CACA,kBAAAoH,CACEC,EACAzP,EACAwC,EACAoD,GAEI,IAAAwC,EAAUxC,QAAAA,EAAUrI,KAAK8R,SAC3BK,EAAMD,EAAOE,IAAM3P,EACd,KAAAyP,EAAOE,IAAMD,GAAK,CACvB,IAAKE,EAASC,GAAYJ,EAAOK,MACjC,GACyB,IADjBF,EAEIxH,EAAA9F,KAAOmN,EAAOM,aAExB,CACE,IAAIC,EAAIxN,EAAQyN,iBAChB,GAAU,UAAND,EACI,MAAA,IAAI7O,WAAW1D,MAAM,iBAAiBmS,gBAAsBC,UAAiBtS,KAAKkN,YACtF,IAAA1G,EAAI0L,EAAOS,KAAKL,IACV,IAANG,KAAoB,IAANA,EAAaG,EAAAA,oBAAoBC,OAASJ,GAAGzS,KAAKkN,SAAUrC,EAASwH,EAASC,EAAU9L,EAAC,CAEjH,CACO,OAAAqE,CACT,CACA,mBAAAiI,CAAoBjI,EAAuBkI,EAAuB9N,GAE3C,KAAjB4F,EAAQ9F,MAAagO,EAAOR,IAAI,EAAGS,EAAAA,SAASC,iBAAiBT,OAAO3H,EAAQ9F,MAChF,IAAI0N,EAAIxN,EAAQiO,mBAET,OADG,IAANT,IAAmB,GAALA,EAAYG,EAAAA,oBAAoBO,QAAUV,GAAGzS,KAAKkN,SAAUrC,EAASkI,GAChFA,CACT,EAKK,MAAMK,EAAe,IAAI5B,EAEhC,MAAM6B,UAA2B5B,EAAAA,YAC/B,WAAAvQ,GACEwQ,MAAM,+BAAgC,CAAC,CAAEC,GAAI,EAAG5M,KAAM,WAAY6M,KAAM,SAAUC,EAAG,IACvF,CACA,MAAAC,CAAO9S,GACL,MAAM6L,EAAUjH,WAAWR,OAAO0O,OAAO9R,KAAK+R,kBAGvC,OAFPlH,EAAQyI,SAAW,QACL,IAAVtU,GAA2DgT,EAAAA,uBAAAhS,KAAM6K,EAAS7L,GACvE6L,CACT,CACA,kBAAAoH,CACEC,EACAzP,EACAwC,EACAoD,GAEI,IAAAwC,EAAUxC,QAAAA,EAAUrI,KAAK8R,SAC3BK,EAAMD,EAAOE,IAAM3P,EACd,KAAAyP,EAAOE,IAAMD,GAAK,CACvB,IAAKE,EAASC,GAAYJ,EAAOK,MACjC,GAC6B,IADrBF,EAEIxH,EAAAyI,SAAWpB,EAAOM,aAE5B,CACE,IAAIC,EAAIxN,EAAQyN,iBAChB,GAAU,UAAND,EACI,MAAA,IAAI7O,WAAW1D,MAAM,iBAAiBmS,gBAAsBC,UAAiBtS,KAAKkN,YACtF,IAAA1G,EAAI0L,EAAOS,KAAKL,IACV,IAANG,KAAoB,IAANA,EAAaG,EAAAA,oBAAoBC,OAASJ,GAAGzS,KAAKkN,SAAUrC,EAASwH,EAASC,EAAU9L,EAAC,CAEjH,CACO,OAAAqE,CACT,CACA,mBAAAiI,CAAoBjI,EAAwBkI,EAAuB9N,GAExC,KAArB4F,EAAQyI,UAAiBP,EAAOR,IAAI,EAAGS,EAAAA,SAASC,iBAAiBT,OAAO3H,EAAQyI,UACpF,IAAIb,EAAIxN,EAAQiO,mBAET,OADG,IAANT,IAAmB,GAALA,EAAYG,EAAAA,oBAAoBO,QAAUV,GAAGzS,KAAKkN,SAAUrC,EAASkI,GAChFA,CACT,EAKK,MAAMQ,EAAgB,IAAIF,EAEjC,MAAMG,UAA8B/B,EAAAA,YAClC,WAAAvQ,GACEwQ,MAAM,kCAAmC,CACvC,CAAEC,GAAI,EAAG5M,KAAM,OAAQ6M,KAAM,SAAUC,EAAG,GAC1C,CAAEF,GAAI,EAAG5M,KAAM,SAAU6M,KAAM,SAAUC,EAAG,IAEhD,CACA,MAAAC,CAAO9S,GACL,MAAM6L,EAAUjH,WAAWR,OAAO0O,OAAO9R,KAAK+R,kBAIvC,OAHPlH,EAAQ9F,KAAO,GACf8F,EAAQ/I,OAAS,SACH,IAAV9C,GAA8DgT,EAAAA,uBAAAhS,KAAM6K,EAAS7L,GAC1E6L,CACT,CACA,kBAAAoH,CACEC,EACAzP,EACAwC,EACAoD,GAEI,IAAAwC,EAAUxC,QAAAA,EAAUrI,KAAK8R,SAC3BK,EAAMD,EAAOE,IAAM3P,EACd,KAAAyP,EAAOE,IAAMD,GAAK,CACvB,IAAKE,EAASC,GAAYJ,EAAOK,MACjC,OAAQF,GACN,KAAuB,EACbxH,EAAA9F,KAAOmN,EAAOM,SACtB,MACF,KAAwB,EACtB3H,EAAQ/I,OAASoQ,EAAOuB,QAAQnK,WAChC,MACF,QACE,IAAImJ,EAAIxN,EAAQyN,iBAChB,GAAU,UAAND,EACI,MAAA,IAAI7O,WAAW1D,MAAM,iBAAiBmS,gBAAsBC,UAAiBtS,KAAKkN,YACtF,IAAA1G,EAAI0L,EAAOS,KAAKL,IACV,IAANG,KAAoB,IAANA,EAAaG,EAAAA,oBAAoBC,OAASJ,GAAGzS,KAAKkN,SAAUrC,EAASwH,EAASC,EAAU9L,GAEhH,CACO,OAAAqE,CACT,CACA,mBAAAiI,CAAoBjI,EAA2BkI,EAAuB9N,GAE/C,KAAjB4F,EAAQ9F,MAAagO,EAAOR,IAAI,EAAGS,EAAAA,SAASC,iBAAiBT,OAAO3H,EAAQ9F,MAEzD,MAAnB8F,EAAQ/I,QAAgBiR,EAAOR,IAAI,EAAGS,EAAAA,SAASU,QAAQD,MAAM5I,EAAQ/I,QACzE,IAAI2Q,EAAIxN,EAAQiO,mBAET,OADG,IAANT,IAAmB,GAALA,EAAYG,EAAAA,oBAAoBO,QAAUV,GAAGzS,KAAKkN,SAAUrC,EAASkI,GAChFA,CACT,EAKK,MAAMY,EAAmB,IAAIH,EAEpC,MAAMI,UAAmBnC,EAAAA,YACvB,WAAAvQ,GACEwQ,MAAM,uBAAwB,CAC5B,CAAEC,GAAI,EAAG5M,KAAM,UAAW6M,KAAM,SAAUC,EAAG,GAC7C,CAAEF,GAAI,EAAG5M,KAAM,WAAY6M,KAAM,SAAUC,EAAG,IAElD,CACA,MAAAC,CAAO9S,GACL,MAAM6L,EAAUjH,WAAWR,OAAO0O,OAAO9R,KAAK+R,kBAIvC,OAHPlH,EAAQA,QAAU,GAClBA,EAAQgJ,SAAW,SACL,IAAV7U,GAAmDgT,EAAAA,uBAAAhS,KAAM6K,EAAS7L,GAC/D6L,CACT,CACA,kBAAAoH,CAAmBC,EAAuBzP,EAAgBwC,EAA4BoD,GAChF,IAAAwC,EAAUxC,QAAAA,EAAUrI,KAAK8R,SAC3BK,EAAMD,EAAOE,IAAM3P,EACd,KAAAyP,EAAOE,IAAMD,GAAK,CACvB,IAAKE,EAASC,GAAYJ,EAAOK,MACjC,OAAQF,GACN,KAA0B,EAChBxH,EAAAA,QAAUqH,EAAOM,SACzB,MACF,KAA0B,EACxB3H,EAAQgJ,SAAW3B,EAAOuB,QAAQnK,WAClC,MACF,QACE,IAAImJ,EAAIxN,EAAQyN,iBAChB,GAAU,UAAND,EACI,MAAA,IAAI7O,WAAW1D,MAAM,iBAAiBmS,gBAAsBC,UAAiBtS,KAAKkN,YACtF,IAAA1G,EAAI0L,EAAOS,KAAKL,IACV,IAANG,KAAoB,IAANA,EAAaG,EAAAA,oBAAoBC,OAASJ,GAAGzS,KAAKkN,SAAUrC,EAASwH,EAASC,EAAU9L,GAEhH,CACO,OAAAqE,CACT,CACA,mBAAAiI,CAAoBjI,EAAgBkI,EAAuB9N,GAEjC,KAApB4F,EAAQA,SAAgBkI,EAAOR,IAAI,EAAGS,EAAAA,SAASC,iBAAiBT,OAAO3H,EAAQA,SAE1D,MAArBA,EAAQgJ,UAAkBd,EAAOR,IAAI,EAAGS,EAAAA,SAASU,QAAQD,MAAM5I,EAAQgJ,UAC3E,IAAIpB,EAAIxN,EAAQiO,mBAET,OADG,IAANT,IAAmB,GAALA,EAAYG,EAAAA,oBAAoBO,QAAUV,GAAGzS,KAAKkN,SAAUrC,EAASkI,GAChFA,CACT,EAKK,MAAMe,EAAQ,IAAIF,EAEzB,MAAMG,UAAmBtC,EAAAA,YACvB,WAAAvQ,GACEwQ,MAAM,uBAAwB,CAC5B,CAAEC,GAAI,EAAG5M,KAAM,OAAQ6M,KAAM,OAAQC,EAAG,IAAM,CAAC,4BAA6BN,IAC5E,CAAEI,GAAI,EAAG5M,KAAM,SAAU6M,KAAM,SAAUoC,MAAO,OAAQnC,EAAG,GAC3D,CAAEF,GAAI,EAAG5M,KAAM,QAAS6M,KAAM,SAAUoC,MAAO,OAAQnC,EAAG,GAC1D,CAAEF,GAAI,EAAG5M,KAAM,MAAO6M,KAAM,SAAUoC,MAAO,OAAQnC,EAAG,GACxD,CAAEF,GAAI,EAAG5M,KAAM,YAAa6M,KAAM,SAAUoC,MAAO,OAAQnC,EAAG,KAElE,CACA,MAAAC,CAAO9S,GACL,MAAM6L,EAAUjH,WAAWR,OAAO0O,OAAO9R,KAAK+R,kBAIvC,OAHPlH,EAAQuD,KAAO,EACPvD,EAAAoJ,KAAO,CAAEC,eAAW,QACd,IAAVlV,GAAmDgT,EAAAA,uBAAAhS,KAAM6K,EAAS7L,GAC/D6L,CACT,CACA,kBAAAoH,CAAmBC,EAAuBzP,EAAgBwC,EAA4BoD,GAChF,IAAAwC,EAAUxC,QAAAA,EAAUrI,KAAK8R,SAC3BK,EAAMD,EAAOE,IAAM3P,EACd,KAAAyP,EAAOE,IAAMD,GAAK,CACvB,IAAKE,EAASC,GAAYJ,EAAOK,MACjC,OAAQF,GACN,KAA0C,EAChCxH,EAAAuD,KAAO8D,EAAOiC,QACtB,MACF,KAAwB,EACtBtJ,EAAQoJ,KAAO,CACbC,UAAW,SACXE,OAAQlC,EAAOuB,QAAQnK,YAEzB,MACF,KAAuB,EACrBuB,EAAQoJ,KAAO,CACbC,UAAW,QACXG,MAAOnC,EAAOmC,SAEhB,MACF,KAAsB,EACpBxJ,EAAQoJ,KAAO,CACbC,UAAW,MACXI,IAAKpC,EAAOM,UAEd,MACF,KAA2B,EACzB3H,EAAQoJ,KAAO,CACbC,UAAW,WACXK,SAAUrC,EAAOsC,SAEnB,MACF,QACE,IAAI/B,EAAIxN,EAAQyN,iBAChB,GAAU,UAAND,EACI,MAAA,IAAI7O,WAAW1D,MAAM,iBAAiBmS,gBAAsBC,UAAiBtS,KAAKkN,YACtF,IAAA1G,EAAI0L,EAAOS,KAAKL,IACV,IAANG,KAAoB,IAANA,EAAaG,EAAAA,oBAAoBC,OAASJ,GAAGzS,KAAKkN,SAAUrC,EAASwH,EAASC,EAAU9L,GAEhH,CACO,OAAAqE,CACT,CACA,mBAAAiI,CAAoBjI,EAAgBkI,EAAuB9N,GAEpC,IAAjB4F,EAAQuD,MAAY2E,EAAOR,IAAI,EAAGS,EAAAA,SAASU,QAAQS,MAAMtJ,EAAQuD,MAEtC,WAA3BvD,EAAQoJ,KAAKC,WAA+BnB,EAAAR,IAAI,EAAGS,WAASU,QAAQD,MAAM5I,EAAQoJ,KAAKG,QAE5D,UAA3BvJ,EAAQoJ,KAAKC,WAA8BnB,EAAAR,IAAI,EAAGS,WAASyB,OAAOJ,MAAMxJ,EAAQoJ,KAAKI,OAE1D,QAA3BxJ,EAAQoJ,KAAKC,WAA4BnB,EAAAR,IAAI,EAAGS,WAASC,iBAAiBT,OAAO3H,EAAQoJ,KAAKK,KAEnE,aAA3BzJ,EAAQoJ,KAAKC,WAAiCnB,EAAAR,IAAI,EAAGS,WAASC,iBAAiBuB,MAAM3J,EAAQoJ,KAAKM,UACtG,IAAI9B,EAAIxN,EAAQiO,mBAET,OADG,IAANT,IAAmB,GAALA,EAAYG,EAAAA,oBAAoBO,QAAUV,GAAGzS,KAAKkN,SAAUrC,EAASkI,GAChFA,CACT,EAKK,MAAM2B,EAAQ,IAAIX,EAEzB,MAAMY,UAAwBlD,EAAAA,YAC5B,WAAAvQ,GACEwQ,MAAM,4BAA6B,CAAC,CAAEC,GAAI,EAAG5M,KAAM,MAAO6M,KAAM,SAAUC,EAAG,IAC/E,CACA,MAAAC,CAAO9S,GACL,MAAM6L,EAAUjH,WAAWR,OAAO0O,OAAO9R,KAAK+R,kBAGvC,OAFPlH,EAAQzE,IAAM,QACA,IAAVpH,GAAwDgT,EAAAA,uBAAAhS,KAAM6K,EAAS7L,GACpE6L,CACT,CACA,kBAAAoH,CACEC,EACAzP,EACAwC,EACAoD,GAEI,IAAAwC,EAAUxC,QAAAA,EAAUrI,KAAK8R,SAC3BK,EAAMD,EAAOE,IAAM3P,EACd,KAAAyP,EAAOE,IAAMD,GAAK,CACvB,IAAKE,EAASC,GAAYJ,EAAOK,MACjC,GACwB,IADhBF,EAEIxH,EAAAzE,IAAM8L,EAAOM,aAEvB,CACE,IAAIC,EAAIxN,EAAQyN,iBAChB,GAAU,UAAND,EACI,MAAA,IAAI7O,WAAW1D,MAAM,iBAAiBmS,gBAAsBC,UAAiBtS,KAAKkN,YACtF,IAAA1G,EAAI0L,EAAOS,KAAKL,IACV,IAANG,KAAoB,IAANA,EAAaG,EAAAA,oBAAoBC,OAASJ,GAAGzS,KAAKkN,SAAUrC,EAASwH,EAASC,EAAU9L,EAAC,CAEjH,CACO,OAAAqE,CACT,CACA,mBAAAiI,CAAoBjI,EAAqBkI,EAAuB9N,GAE1C,KAAhB4F,EAAQzE,KAAY2M,EAAOR,IAAI,EAAGS,EAAAA,SAASC,iBAAiBT,OAAO3H,EAAQzE,KAC/E,IAAIqM,EAAIxN,EAAQiO,mBAET,OADG,IAANT,IAAmB,GAALA,EAAYG,EAAAA,oBAAoBO,QAAUV,GAAGzS,KAAKkN,SAAUrC,EAASkI,GAChFA,CACT,EAKK,MAAM6B,EAAa,IAAID,EAE9B,MAAME,UAAyBpD,EAAAA,YAC7B,WAAAvQ,GACEwQ,MAAM,6BAA8B,CAClC,CAAEC,GAAI,EAAG5M,KAAM,MAAO6M,KAAM,SAAUC,EAAG,GACzC,CAAEF,GAAI,EAAG5M,KAAM,YAAa6M,KAAM,SAAUC,EAAG,GAC/C,CAAEF,GAAI,EAAG5M,KAAM,QAAS6M,KAAM,UAAWC,EAAG,IAAM6C,IAEtD,CACA,MAAA5C,CAAO9S,GACL,MAAM6L,EAAUjH,WAAWR,OAAO0O,OAAO9R,KAAK+R,kBAIvC,OAHPlH,EAAQzE,IAAM,GACdyE,EAAQiK,UAAY,QACN,IAAV9V,GAAyDgT,EAAAA,uBAAAhS,KAAM6K,EAAS7L,GACrE6L,CACT,CACA,kBAAAoH,CACEC,EACAzP,EACAwC,EACAoD,GAEI,IAAAwC,EAAUxC,QAAAA,EAAUrI,KAAK8R,SAC3BK,EAAMD,EAAOE,IAAM3P,EACd,KAAAyP,EAAOE,IAAMD,GAAK,CACvB,IAAKE,EAASC,GAAYJ,EAAOK,MACjC,OAAQF,GACN,KAAsB,EACZxH,EAAAzE,IAAM8L,EAAOM,SACrB,MACF,KAA4B,EAClB3H,EAAAiK,UAAY5C,EAAOM,SAC3B,MACF,KAAsC,EAC5B3H,EAAA7L,MAAQ0V,EAAMzC,mBAAmBC,EAAQA,EAAO6C,SAAU9P,EAAS4F,EAAQ7L,OACnF,MACF,QACE,IAAIyT,EAAIxN,EAAQyN,iBAChB,GAAU,UAAND,EACI,MAAA,IAAI7O,WAAW1D,MAAM,iBAAiBmS,gBAAsBC,UAAiBtS,KAAKkN,YACtF,IAAA1G,EAAI0L,EAAOS,KAAKL,IACV,IAANG,KAAoB,IAANA,EAAaG,EAAAA,oBAAoBC,OAASJ,GAAGzS,KAAKkN,SAAUrC,EAASwH,EAASC,EAAU9L,GAEhH,CACO,OAAAqE,CACT,CACA,mBAAAiI,CAAoBjI,EAAsBkI,EAAuB9N,GAE3C,KAAhB4F,EAAQzE,KAAY2M,EAAOR,IAAI,EAAGS,EAAAA,SAASC,iBAAiBT,OAAO3H,EAAQzE,KAErD,KAAtByE,EAAQiK,WAAkB/B,EAAOR,IAAI,EAAGS,EAAAA,SAASC,iBAAiBT,OAAO3H,EAAQiK,WAEjFjK,EAAQ7L,OACV0V,EAAM5B,oBAAoBjI,EAAQ7L,MAAO+T,EAAOR,IAAI,EAAGS,EAAAA,SAASC,iBAAiB+B,OAAQ/P,GAASgQ,OACpG,IAAIxC,EAAIxN,EAAQiO,mBAET,OADG,IAANT,IAAmB,GAALA,EAAYG,EAAAA,oBAAoBO,QAAUV,GAAGzS,KAAKkN,SAAUrC,EAASkI,GAChFA,CACT,EAKK,MAAMmC,EAAc,IAAIL,EAE/B,MAAMM,WAA2B1D,EAAAA,YAC/B,WAAAvQ,GACEwQ,MAAM,+BAAgC,CAAC,CAAEC,GAAI,EAAG5M,KAAM,MAAO6M,KAAM,SAAUC,EAAG,IAClF,CACA,MAAAC,CAAO9S,GACL,MAAM6L,EAAUjH,WAAWR,OAAO0O,OAAO9R,KAAK+R,kBAGvC,OAFPlH,EAAQzE,IAAM,QACA,IAAVpH,GAA2DgT,EAAAA,uBAAAhS,KAAM6K,EAAS7L,GACvE6L,CACT,CACA,kBAAAoH,CACEC,EACAzP,EACAwC,EACAoD,GAEI,IAAAwC,EAAUxC,QAAAA,EAAUrI,KAAK8R,SAC3BK,EAAMD,EAAOE,IAAM3P,EACd,KAAAyP,EAAOE,IAAMD,GAAK,CACvB,IAAKE,EAASC,GAAYJ,EAAOK,MACjC,GACwB,IADhBF,EAEIxH,EAAAzE,IAAM8L,EAAOM,aAEvB,CACE,IAAIC,EAAIxN,EAAQyN,iBAChB,GAAU,UAAND,EACI,MAAA,IAAI7O,WAAW1D,MAAM,iBAAiBmS,gBAAsBC,UAAiBtS,KAAKkN,YACtF,IAAA1G,EAAI0L,EAAOS,KAAKL,IACV,IAANG,KAAoB,IAANA,EAAaG,EAAAA,oBAAoBC,OAASJ,GAAGzS,KAAKkN,SAAUrC,EAASwH,EAASC,EAAU9L,EAAC,CAEjH,CACO,OAAAqE,CACT,CACA,mBAAAiI,CAAoBjI,EAAwBkI,EAAuB9N,GAE7C,KAAhB4F,EAAQzE,KAAY2M,EAAOR,IAAI,EAAGS,EAAAA,SAASC,iBAAiBT,OAAO3H,EAAQzE,KAC/E,IAAIqM,EAAIxN,EAAQiO,mBAET,OADG,IAANT,IAAmB,GAALA,EAAYG,EAAAA,oBAAoBO,QAAUV,GAAGzS,KAAKkN,SAAUrC,EAASkI,GAChFA,CACT,EAKK,MAAMqC,GAAgB,IAAID,GAEjC,MAAME,WAA4B5D,EAAAA,YAChC,WAAAvQ,GACQwQ,MAAA,gCAAiC,GACzC,CACA,MAAAI,CAAO9S,GACL,MAAM6L,EAAUjH,WAAWR,OAAO0O,OAAO9R,KAAK+R,kBAEvC,YADO,IAAV/S,GAA4DgT,EAAAA,uBAAAhS,KAAM6K,EAAS7L,GACxE6L,CACT,CACA,kBAAAoH,CACEC,EACAzP,EACAwC,EACAoD,GAEA,OAAOA,QAAAA,EAAUrI,KAAK8R,QACxB,CACA,mBAAAgB,CAAoBjI,EAAyBkI,EAAuB9N,GAClE,IAAIwN,EAAIxN,EAAQiO,mBAET,OADG,IAANT,IAAmB,GAALA,EAAYG,EAAAA,oBAAoBO,QAAUV,GAAGzS,KAAKkN,SAAUrC,EAASkI,GAChFA,CACT,EAKK,MAAMuC,GAAiB,IAAID,GAElC,MAAME,WAAwB9D,EAAAA,YAC5B,WAAAvQ,GACEwQ,MAAM,4BAA6B,CACjC,CAAEC,GAAI,EAAG5M,KAAM,MAAO6M,KAAM,SAAUC,EAAG,GACzC,CAAEF,GAAI,EAAG5M,KAAM,QAAS6M,KAAM,UAAWC,EAAG,IAAM6C,IAEtD,CACA,MAAA5C,CAAO9S,GACL,MAAM6L,EAAUjH,WAAWR,OAAO0O,OAAO9R,KAAK+R,kBAGvC,OAFPlH,EAAQzE,IAAM,QACA,IAAVpH,GAAwDgT,EAAAA,uBAAAhS,KAAM6K,EAAS7L,GACpE6L,CACT,CACA,kBAAAoH,CACEC,EACAzP,EACAwC,EACAoD,GAEI,IAAAwC,EAAUxC,QAAAA,EAAUrI,KAAK8R,SAC3BK,EAAMD,EAAOE,IAAM3P,EACd,KAAAyP,EAAOE,IAAMD,GAAK,CACvB,IAAKE,EAASC,GAAYJ,EAAOK,MACjC,OAAQF,GACN,KAAsB,EACZxH,EAAAzE,IAAM8L,EAAOM,SACrB,MACF,KAAsC,EAC5B3H,EAAA7L,MAAQ0V,EAAMzC,mBAAmBC,EAAQA,EAAO6C,SAAU9P,EAAS4F,EAAQ7L,OACnF,MACF,QACE,IAAIyT,EAAIxN,EAAQyN,iBAChB,GAAU,UAAND,EACI,MAAA,IAAI7O,WAAW1D,MAAM,iBAAiBmS,gBAAsBC,UAAiBtS,KAAKkN,YACtF,IAAA1G,EAAI0L,EAAOS,KAAKL,IACV,IAANG,KAAoB,IAANA,EAAaG,EAAAA,oBAAoBC,OAASJ,GAAGzS,KAAKkN,SAAUrC,EAASwH,EAASC,EAAU9L,GAEhH,CACO,OAAAqE,CACT,CACA,mBAAAiI,CAAoBjI,EAAqBkI,EAAuB9N,GAE1C,KAAhB4F,EAAQzE,KAAY2M,EAAOR,IAAI,EAAGS,EAAAA,SAASC,iBAAiBT,OAAO3H,EAAQzE,KAE3EyE,EAAQ7L,OACV0V,EAAM5B,oBAAoBjI,EAAQ7L,MAAO+T,EAAOR,IAAI,EAAGS,EAAAA,SAASC,iBAAiB+B,OAAQ/P,GAASgQ,OACpG,IAAIxC,EAAIxN,EAAQiO,mBAET,OADG,IAANT,IAAmB,GAALA,EAAYG,EAAAA,oBAAoBO,QAAUV,GAAGzS,KAAKkN,SAAUrC,EAASkI,GAChFA,CACT,EAKK,MAAMyC,GAAa,IAAID,GAE9B,MAAME,WAAyBhE,EAAAA,YAC7B,WAAAvQ,GACQwQ,MAAA,6BAA8B,GACtC,CACA,MAAAI,CAAO9S,GACL,MAAM6L,EAAUjH,WAAWR,OAAO0O,OAAO9R,KAAK+R,kBAEvC,YADO,IAAV/S,GAAyDgT,EAAAA,uBAAAhS,KAAM6K,EAAS7L,GACrE6L,CACT,CACA,kBAAAoH,CACEC,EACAzP,EACAwC,EACAoD,GAEA,OAAOA,QAAAA,EAAUrI,KAAK8R,QACxB,CACA,mBAAAgB,CAAoBjI,EAAsBkI,EAAuB9N,GAC/D,IAAIwN,EAAIxN,EAAQiO,mBAET,OADG,IAANT,IAAmB,GAALA,EAAYG,EAAAA,oBAAoBO,QAAUV,GAAGzS,KAAKkN,SAAUrC,EAASkI,GAChFA,CACT,EAKK,MAAM2C,GAAc,IAAID,GAE/B,MAAME,WAA0BlE,EAAAA,YAC9B,WAAAvQ,GACEwQ,MAAM,8BAA+B,CACnC,CAAEC,GAAI,EAAG5M,KAAM,YAAa6M,KAAM,SAAUC,EAAG,GAC/C,CAAEF,GAAI,EAAG5M,KAAM,MAAO6M,KAAM,SAAUC,EAAG,GACzC,CAAEF,GAAI,EAAG5M,KAAM,YAAa6M,KAAM,SAAUC,EAAG,GAC/C,CAAEF,GAAI,EAAG5M,KAAM,QAAS6M,KAAM,UAAWC,EAAG,IAAM6C,GAClD,CAAE/C,GAAI,EAAG5M,KAAM,UAAW6M,KAAM,SAAUC,EAAG,IAEjD,CACA,MAAAC,CAAO9S,GACL,MAAM6L,EAAUjH,WAAWR,OAAO0O,OAAO9R,KAAK+R,kBAMvC,OALPlH,EAAQ+K,SAAW,GACnB/K,EAAQzE,IAAM,GACdyE,EAAQiK,UAAY,GACpBjK,EAAQgL,OAAS,QACH,IAAV7W,GAA0DgT,EAAAA,uBAAAhS,KAAM6K,EAAS7L,GACtE6L,CACT,CACA,kBAAAoH,CACEC,EACAzP,EACAwC,EACAoD,GAEI,IAAAwC,EAAUxC,QAAAA,EAAUrI,KAAK8R,SAC3BK,EAAMD,EAAOE,IAAM3P,EACd,KAAAyP,EAAOE,IAAMD,GAAK,CACvB,IAAKE,EAASC,GAAYJ,EAAOK,MACjC,OAAQF,GACN,KAA4B,EAClBxH,EAAA+K,SAAW1D,EAAOM,SAC1B,MACF,KAAsB,EACZ3H,EAAAzE,IAAM8L,EAAOM,SACrB,MACF,KAA4B,EAClB3H,EAAAiK,UAAY5C,EAAOM,SAC3B,MACF,KAAsC,EAC5B3H,EAAA7L,MAAQ0V,EAAMzC,mBAAmBC,EAAQA,EAAO6C,SAAU9P,EAAS4F,EAAQ7L,OACnF,MACF,KAA0B,EAChB6L,EAAAgL,OAAS3D,EAAOM,SACxB,MACF,QACE,IAAIC,EAAIxN,EAAQyN,iBAChB,GAAU,UAAND,EACI,MAAA,IAAI7O,WAAW1D,MAAM,iBAAiBmS,gBAAsBC,UAAiBtS,KAAKkN,YACtF,IAAA1G,EAAI0L,EAAOS,KAAKL,IACV,IAANG,KAAoB,IAANA,EAAaG,EAAAA,oBAAoBC,OAASJ,GAAGzS,KAAKkN,SAAUrC,EAASwH,EAASC,EAAU9L,GAEhH,CACO,OAAAqE,CACT,CACA,mBAAAiI,CAAoBjI,EAAuBkI,EAAuB9N,GAEvC,KAArB4F,EAAQ+K,UAAiB7C,EAAOR,IAAI,EAAGS,EAAAA,SAASC,iBAAiBT,OAAO3H,EAAQ+K,UAEhE,KAAhB/K,EAAQzE,KAAY2M,EAAOR,IAAI,EAAGS,EAAAA,SAASC,iBAAiBT,OAAO3H,EAAQzE,KAErD,KAAtByE,EAAQiK,WAAkB/B,EAAOR,IAAI,EAAGS,EAAAA,SAASC,iBAAiBT,OAAO3H,EAAQiK,WAEjFjK,EAAQ7L,OACV0V,EAAM5B,oBAAoBjI,EAAQ7L,MAAO+T,EAAOR,IAAI,EAAGS,EAAAA,SAASC,iBAAiB+B,OAAQ/P,GAASgQ,OAE7E,KAAnBpK,EAAQgL,QAAe9C,EAAOR,IAAI,EAAGS,EAAAA,SAASC,iBAAiBT,OAAO3H,EAAQgL,QAClF,IAAIpD,EAAIxN,EAAQiO,mBAET,OADG,IAANT,IAAmB,GAALA,EAAYG,EAAAA,oBAAoBO,QAAUV,GAAGzS,KAAKkN,SAAUrC,EAASkI,GAChFA,CACT,EAKK,MAAM+C,GAAe,IAAIH,GAEhC,MAAMI,WAAoBtE,EAAAA,YACxB,WAAAvQ,GACEwQ,MAAM,wBAAyB,CAC7B,CAAEC,GAAI,EAAG5M,KAAM,MAAO6M,KAAM,SAAUoC,MAAO,QAASnC,EAAG,GACzD,CAAEF,GAAI,EAAG5M,KAAM,MAAO6M,KAAM,SAAUoC,MAAO,QAASnC,EAAG,GACzD,CAAEF,GAAI,EAAG5M,KAAM,SAAU6M,KAAM,SAAUoC,MAAO,QAASnC,EAAG,GAC5D,CAAEF,GAAI,EAAG5M,KAAM,SAAU6M,KAAM,SAAUoC,MAAO,QAASnC,EAAG,IAEhE,CACA,MAAAC,CAAO9S,GACL,MAAM6L,EAAUjH,WAAWR,OAAO0O,OAAO9R,KAAK+R,kBAGvC,OAFClH,EAAAmL,MAAQ,CAAE9B,eAAW,QACf,IAAVlV,GAAoDgT,EAAAA,uBAAAhS,KAAM6K,EAAS7L,GAChE6L,CACT,CACA,kBAAAoH,CAAmBC,EAAuBzP,EAAgBwC,EAA4BoD,GAChF,IAAAwC,EAAUxC,QAAAA,EAAUrI,KAAK8R,SAC3BK,EAAMD,EAAOE,IAAM3P,EACd,KAAAyP,EAAOE,IAAMD,GAAK,CACvB,IAAKE,EAASC,GAAYJ,EAAOK,MACjC,OAAQF,GACN,KAAsB,EACpBxH,EAAQmL,MAAQ,CACd9B,UAAW,MACX+B,IAAK/D,EAAOM,UAEd,MACF,KAAsB,EACpB3H,EAAQmL,MAAQ,CACd9B,UAAW,MACX9N,IAAK8L,EAAOM,UAEd,MACF,KAAyB,EACvB3H,EAAQmL,MAAQ,CACd9B,UAAW,SACXgC,OAAQhE,EAAOM,UAEjB,MACF,KAAyB,EACvB3H,EAAQmL,MAAQ,CACd9B,UAAW,SACXiC,OAAQjE,EAAOM,UAEjB,MACF,QACE,IAAIC,EAAIxN,EAAQyN,iBAChB,GAAU,UAAND,EACI,MAAA,IAAI7O,WAAW1D,MAAM,iBAAiBmS,gBAAsBC,UAAiBtS,KAAKkN,YACtF,IAAA1G,EAAI0L,EAAOS,KAAKL,IACV,IAANG,KAAoB,IAANA,EAAaG,EAAAA,oBAAoBC,OAASJ,GAAGzS,KAAKkN,SAAUrC,EAASwH,EAASC,EAAU9L,GAEhH,CACO,OAAAqE,CACT,CACA,mBAAAiI,CAAoBjI,EAAiBkI,EAAuB9N,GAE1B,QAA5B4F,EAAQmL,MAAM9B,WAA4BnB,EAAAR,IAAI,EAAGS,WAASC,iBAAiBT,OAAO3H,EAAQmL,MAAMC,KAEpE,QAA5BpL,EAAQmL,MAAM9B,WAA4BnB,EAAAR,IAAI,EAAGS,WAASC,iBAAiBT,OAAO3H,EAAQmL,MAAM5P,KAEpE,WAA5ByE,EAAQmL,MAAM9B,WAA+BnB,EAAAR,IAAI,EAAGS,WAASC,iBAAiBT,OAAO3H,EAAQmL,MAAME,QAEvE,WAA5BrL,EAAQmL,MAAM9B,WAA+BnB,EAAAR,IAAI,EAAGS,WAASC,iBAAiBT,OAAO3H,EAAQmL,MAAMG,QACvG,IAAI1D,EAAIxN,EAAQiO,mBAET,OADG,IAANT,IAAmB,GAALA,EAAYG,EAAAA,oBAAoBO,QAAUV,GAAGzS,KAAKkN,SAAUrC,EAASkI,GAChFA,CACT,EAKK,MAAMqD,GAAS,IAAIL,GAE1B,MAAMM,WAAyB5E,EAAAA,YAC7B,WAAAvQ,GACEwQ,MAAM,6BAA8B,CAClC,CAAEC,GAAI,EAAG5M,KAAM,YAAa6M,KAAM,SAAUC,EAAG,GAC/C,CAAEF,GAAI,EAAG5M,KAAM,SAAU6M,KAAM,UAAW0E,OAAQ,EAAyBzE,EAAG,IAAMuE,KAExF,CACA,MAAAtE,CAAO9S,GACL,MAAM6L,EAAUjH,WAAWR,OAAO0O,OAAO9R,KAAK+R,kBAIvC,OAHPlH,EAAQ+K,SAAW,GACnB/K,EAAQ8B,OAAS,QACH,IAAV3N,GAAyDgT,EAAAA,uBAAAhS,KAAM6K,EAAS7L,GACrE6L,CACT,CACA,kBAAAoH,CACEC,EACAzP,EACAwC,EACAoD,GAEI,IAAAwC,EAAUxC,QAAAA,EAAUrI,KAAK8R,SAC3BK,EAAMD,EAAOE,IAAM3P,EACd,KAAAyP,EAAOE,IAAMD,GAAK,CACvB,IAAKE,EAASC,GAAYJ,EAAOK,MACjC,OAAQF,GACN,KAA4B,EAClBxH,EAAA+K,SAAW1D,EAAOM,SAC1B,MACF,KAAiD,EACvC3H,EAAA8B,OAAO9G,KAAKuQ,GAAOnE,mBAAmBC,EAAQA,EAAO6C,SAAU9P,IACvE,MACF,QACE,IAAIwN,EAAIxN,EAAQyN,iBAChB,GAAU,UAAND,EACI,MAAA,IAAI7O,WAAW1D,MAAM,iBAAiBmS,gBAAsBC,UAAiBtS,KAAKkN,YACtF,IAAA1G,EAAI0L,EAAOS,KAAKL,IACV,IAANG,KAAoB,IAANA,EAAaG,EAAAA,oBAAoBC,OAASJ,GAAGzS,KAAKkN,SAAUrC,EAASwH,EAASC,EAAU9L,GAEhH,CACO,OAAAqE,CACT,CACA,mBAAAiI,CAAoBjI,EAAsBkI,EAAuB9N,GAEtC,KAArB4F,EAAQ+K,UAAiB7C,EAAOR,IAAI,EAAGS,EAAAA,SAASC,iBAAiBT,OAAO3H,EAAQ+K,UAEpF,IAAA,IAAS/U,EAAI,EAAGA,EAAIgK,EAAQ8B,OAAOlK,OAAQ5B,IACzCuV,GAAOtD,oBAAoBjI,EAAQ8B,OAAO9L,GAAIkS,EAAOR,IAAI,EAAGS,EAAAA,SAASC,iBAAiB+B,OAAQ/P,GAASgQ,OACzG,IAAIxC,EAAIxN,EAAQiO,mBAET,OADG,IAANT,IAAmB,GAALA,EAAYG,EAAAA,oBAAoBO,QAAUV,GAAGzS,KAAKkN,SAAUrC,EAASkI,GAChFA,CACT,EAKK,MAAMwD,GAAc,IAAIF,GAE/B,MAAMG,WAA0B/E,EAAAA,YAC9B,WAAAvQ,GACQwQ,MAAA,8BAA+B,GACvC,CACA,MAAAI,CAAO9S,GACL,MAAM6L,EAAUjH,WAAWR,OAAO0O,OAAO9R,KAAK+R,kBAEvC,YADO,IAAV/S,GAA0DgT,EAAAA,uBAAAhS,KAAM6K,EAAS7L,GACtE6L,CACT,CACA,kBAAAoH,CACEC,EACAzP,EACAwC,EACAoD,GAEA,OAAOA,QAAAA,EAAUrI,KAAK8R,QACxB,CACA,mBAAAgB,CAAoBjI,EAAuBkI,EAAuB9N,GAChE,IAAIwN,EAAIxN,EAAQiO,mBAET,OADG,IAANT,IAAmB,GAALA,EAAYG,EAAAA,oBAAoBO,QAAUV,GAAGzS,KAAKkN,SAAUrC,EAASkI,GAChFA,CACT,EAKK,MAAM0D,GAAe,IAAID,GAEhC,MAAME,WAA2BjF,EAAAA,YAC/B,WAAAvQ,GACEwQ,MAAM,+BAAgC,CAAC,CAAEC,GAAI,EAAG5M,KAAM,QAAS6M,KAAM,SAAUC,EAAG,IACpF,CACA,MAAAC,CAAO9S,GACL,MAAM6L,EAAUjH,WAAWR,OAAO0O,OAAO9R,KAAK+R,kBAGvC,OAFPlH,EAAQ8L,MAAQ,SACF,IAAV3X,GAA2DgT,EAAAA,uBAAAhS,KAAM6K,EAAS7L,GACvE6L,CACT,CACA,kBAAAoH,CACEC,EACAzP,EACAwC,EACAoD,GAEI,IAAAwC,EAAUxC,QAAAA,EAAUrI,KAAK8R,SAC3BK,EAAMD,EAAOE,IAAM3P,EACd,KAAAyP,EAAOE,IAAMD,GAAK,CACvB,IAAKE,EAASC,GAAYJ,EAAOK,MACjC,GACyB,IADjBF,EAEJxH,EAAQ8L,MAAQzE,EAAOuB,QAAQnK,eAEjC,CACE,IAAImJ,EAAIxN,EAAQyN,iBAChB,GAAU,UAAND,EACI,MAAA,IAAI7O,WAAW1D,MAAM,iBAAiBmS,gBAAsBC,UAAiBtS,KAAKkN,YACtF,IAAA1G,EAAI0L,EAAOS,KAAKL,IACV,IAANG,KAAoB,IAANA,EAAaG,EAAAA,oBAAoBC,OAASJ,GAAGzS,KAAKkN,SAAUrC,EAASwH,EAASC,EAAU9L,EAAC,CAEjH,CACO,OAAAqE,CACT,CACA,mBAAAiI,CAAoBjI,EAAwBkI,EAAuB9N,GAE3C,MAAlB4F,EAAQ8L,OAAe5D,EAAOR,IAAI,EAAGS,EAAAA,SAASU,QAAQD,MAAM5I,EAAQ8L,OACxE,IAAIlE,EAAIxN,EAAQiO,mBAET,OADG,IAANT,IAAmB,GAALA,EAAYG,EAAAA,oBAAoBO,QAAUV,GAAGzS,KAAKkN,SAAUrC,EAASkI,GAChFA,CACT,EAKK,MAAM6D,GAAgB,IAAIF,GAId,IAAIG,EAAAA,YAAY,qBAAsB,CACvD,CAAE9R,KAAM,QAASE,QAAS,CAAA,EAAI6R,EAAG1D,EAAc2D,EAAGxD,GAClD,CAAExO,KAAM,YAAaiS,iBAAiB,EAAM/R,QAAS,CAAI,EAAA6R,EAAGnD,EAAkBoD,EAAGjD,KAK5E,MAAMmD,GAAQ,IAAIJ,EAAAA,YAAY,uBAAwB,CAC3D,CAAE9R,KAAM,OAAQiS,iBAAiB,EAAM/R,QAAS,CAAI,EAAA6R,EAAGP,GAAaQ,EAAGjB,IACvE,CAAE/Q,KAAM,MAAOE,QAAS,CAAA,EAAI6R,EAAGlC,EAAYmC,EAAG7B,GAC9C,CAAEnQ,KAAM,MAAOE,QAAS,CAAA,EAAI6R,EAAGtB,GAAYuB,EAAGrB,IAC9C,CAAE3Q,KAAM,SAAUE,QAAS,CAAA,EAAI6R,EAAG1B,GAAe2B,EAAGzB,IACpD,CAAEvQ,KAAM,QAASE,QAAS,CAAA,EAAI6R,EAAGL,GAAcM,EAAGH,YCj/BvCM,GAIX,WAAAhW,CAA6BiW,GAAAnX,KAAUmX,WAAVA,EAH7BnX,KAAAkN,SAAW+J,GAAM/J,SACjBlN,KAAAoX,QAAUH,GAAMG,QAChBpX,KAAAiF,QAAUgS,GAAMhS,OACwC,CAOxD,IAAAoS,CAAKC,EAAoBrS,GACjB,MAAAsS,EAASvX,KAAKoX,QAAQ,GAC1BI,EAAMxX,KAAKmX,WAAWM,aAAaxS,GACrC,OAAOyS,EAAAA,eAA0C,kBAAmB1X,KAAKmX,WAAYI,EAAQC,EAAKF,EACpG,CAMA,GAAA1R,CAAI0R,EAAmBrS,GACf,MAAAsS,EAASvX,KAAKoX,QAAQ,GAC1BI,EAAMxX,KAAKmX,WAAWM,aAAaxS,GACrC,OAAOyS,EAAAA,eAAwC,QAAS1X,KAAKmX,WAAYI,EAAQC,EAAKF,EACxF,CAMA,GAAAxX,CAAIwX,EAAmBrS,GACf,MAAAsS,EAASvX,KAAKoX,QAAQ,GAC1BI,EAAMxX,KAAKmX,WAAWM,aAAaxS,GACrC,OAAOyS,EAAAA,eAAwC,QAAS1X,KAAKmX,WAAYI,EAAQC,EAAKF,EACxF,CAMA,OAAOA,EAAsBrS,GACrB,MAAAsS,EAASvX,KAAKoX,QAAQ,GAC1BI,EAAMxX,KAAKmX,WAAWM,aAAaxS,GACrC,OAAOyS,EAAAA,eAA8C,QAAS1X,KAAKmX,WAAYI,EAAQC,EAAKF,EAC9F,CAMA,KAAAX,CAAMW,EAAqBrS,GACnB,MAAAsS,EAASvX,KAAKoX,QAAQ,GAC1BI,EAAMxX,KAAKmX,WAAWM,aAAaxS,GACrC,OAAOyS,EAAAA,eAA4C,QAAS1X,KAAKmX,WAAYI,EAAQC,EAAKF,EAC5F,EC5KsB,SAAjBK,GAA2BC,GAChC,IAAKA,GAA0B,IAAjBA,EAAMnV,OAClB,MAAMvC,MAAM,wDAGR,MAAA2X,EAAQD,EAAME,MAAM,KACtB,GAAiB,IAAjBD,EAAMpV,OACR,MAAMvC,MAAM,+EAGd,MAAM6X,EAAaC,KAAKH,EAAM,IAC1B,IACK,OAAAI,KAAKC,MAAMH,SACXI,GACP,MAAMjY,MAAM,4BAA6BiY,EAActN,UACzD,CACF,CAEO,MAAMuN,GAAmB,cACnBC,GAAuB,GACvBC,GAAsB,UCPtBC,GAIX,WAAArX,CAAYsX,EAAkBZ,GAFtB5X,KAAAyY,gBAAkB,IAAIC,gBAGtB,MAAAC,EAAY,IAAIC,wBAAsB,CAC1CC,QAASL,EACTxL,KAAM,CAAE8L,cAAe,UAAUlB,OAG9B5X,KAAA+Y,YAAc,IAAI7B,GAAYyB,EACrC,CAEM,IAAAtB,CAAIlM,GAAC,OAAA5M,EAAAyB,KAAA8H,eAAA,GAAA,WAAAkR,WAAEA,EAAAC,aAAYA,EAAcC,YAAAA,IAC/B,MAAAzP,EAAOzJ,KAAK+Y,YAAY1B,KAC5B,CACEzB,SAAU,GACVjJ,OAAQ,IAEV,CAAEwM,MAAOnZ,KAAKyY,gBAAgBW,SAE1BC,EAAqB,GAC3B,IAAIC,GAAc,EA6BlB,OA1BAxN,YAAW,KACTkN,EAAWK,GACGC,GAAA,CAAA,GDnBa,KCsBxB7P,EAAA8P,UAAUC,WAAoB3O,UACjC,GAAIA,EAAQ7L,OACNmM,GAAkC,SAArB,QAAbA,EAAAN,EAAQ7L,aAAK,IAAAmM,OAAA,EAAAA,EAAE8I,KAAKC,WAAqB,CAC3C,MAAMuF,EAASxB,KAAKC,MAAMrN,EAAQ7L,MAAMiV,KAAKK,KACzCgF,EACWL,EAAApO,EAAQzE,IAAKqT,GAE1BJ,EAAcxT,KAAK4T,EAEvB,OAEAR,EAAapO,EAAQzE,IACvB,IAGGqD,EAAA8P,UAAUG,SAAgB5V,IACxBA,EAAM+G,QAAQrB,SAAS,UAC1B0P,EAAYpV,EACd,IAGK,KACA9D,KAAAyY,gBAAgBU,MAtDM,0BAsDwB,CACrD,GACD,CAED,GAAArZ,CAAIsG,EAAapH,GACf,MAAM2a,EAAW3a,EAAQiZ,KAAK2B,UAAU5a,QAAS,EAC1C,OAAAgB,KAAK+Y,YAAYjZ,IAAI,CAC1BsG,MACApH,MAAO2a,EACH,CACE1F,KAAM,CAAEK,IAAKqF,EAAUzF,UAAW,OAClC9F,KAAMmD,EAAWsI,QAEnB,CACE5F,KAAM,CAAEC,eAAW,GACnB9F,KAAMmD,EAAWuI,OAG3B,CAEM,GAAAlU,CAAIQ,kDACF,MAAAkN,SAAEA,SAAmBtT,KAAK+Y,YAAYnT,IAAI,CAAEQ,QAE9C,GAAmC,SAArB,QAAd+E,EAAAmI,EAAStU,aAAK,IAAAmM,OAAA,EAAAA,EAAE8I,KAAKC,WACvB,OAAO+D,KAAKC,MAAM5E,EAAStU,MAAMiV,KAAKK,IACxC,GACD,CAEK,YAAAyF,4CACE,MAAAzG,SAAEA,SAAmBtT,KAAK+Y,YAAYpC,MAAM,CAAA,GAC3C,OAAAqD,OAAO1G,EAASqD,MAAK,GAC7B,CAED,OAAOvQ,GACL,OAAOpG,KAAK+Y,YAAYrY,OAAO,CAAE0F,OACnC,EC/FK,MAAM6T,GAAkB,EAC7BrC,QACAY,WAAW,yCACXU,iBAMqB9Q,EAAAA,SAAQ,KACvB,IACFuP,GAAUC,SACHO,GACP,OAAOe,EAAYf,EACrB,CACI,IAACK,IAAaZ,EAChB,OAAOsB,EAAY,IAAIhZ,MAAM,mCAG/B,MAAMga,EAAe,IAAI3B,GAAuBC,EAAUZ,GAGnDsC,OADPpQ,OAAOoQ,aAAeA,EACfA,CAAAA,GACN,CAAC1B,EAAUZ,EAAOsB,ICxBViB,GAA0B,EACrCvC,QACA5N,SACAoQ,iBAAgB,EAChBlB,kBAOA,MAAMmB,YAAEA,GAAgBjS,EAAAA,SAAQ,KAC1B,IACF,OAAOuP,GAAUC,SACVO,GAEP,OADAe,EAAYf,GACL,EACT,IACC,CAACP,EAAOsB,IAcJ,OAZPtN,EAAAA,WAAU,KAIR,GAFA5B,SAAAA,EAAQsQ,oBAAoB,CAAEnL,gBAAiBiL,KAE1CC,EACH,OAGF,MAAM3K,GAAc2K,EAAY7Q,SAAS,SACnCQ,SAANA,EAAQsQ,oBAAoB,CAAE5K,cAAY,GACzC,CAAC2K,EAAaD,EAAepQ,IAEzBqQ,CAAA,ECdHE,GAA0D,CAC9D,SACA,WACA,WACA,sBACA,2BCdc,UAAW/B,SAAEA,EAAAZ,MAAUA,gBAAOwC,EAAeI,kBAAAA,EAAAC,QAAmBA,YAC9E,MAAOzQ,EAAQ0Q,GAAatQ,aACtB0C,YDeyB0L,SAC/BA,EAAAZ,MACAA,EACA5N,OAAAA,EAAA2Q,WACAA,EAAa,GAAAP,cACbA,GAAgB,IAQhB,MAAOtN,GAAS1C,EAAAA,UAAS,KACvB,MAAM0C,EAAQ8N,EAAAA,cAAc,CAC1BD,WAAY,IAAIE,uBAAsBF,KAGjC7N,OADPA,EAAMgO,aAAajO,GACZC,CAAAA,KAGFiO,EAAaC,GAAkB5Q,EAA6BA,SAAAJ,aAAA,EAAAA,EAAQiR,mBAEpEC,EAAiBC,GAAsB/Q,WAA4B,CACxEgR,OAAQ,YAGJlC,EAAcmC,eAAavX,IACZqX,EAAA,CACjBC,OAAQ,QACRtX,SACD,GACA,IAEGoW,EAAeD,GAAgB,CAAErC,QAAOY,WAAUU,gBAClDmB,EAAcF,GAAwB,CAAEvC,QAAO5N,SAAQoQ,gBAAelB,gBAEtEF,EAAaqC,eAChBC,IACC,GAAKpB,EAAL,CASA,GAH+BK,GAAgCgB,OAC7DnN,GAAQkN,EAAeE,QAAiB/B,GAAAA,EAAOvM,WAAakB,IAAM3L,OAAS,IAI3EgZ,EAAAA,UAAS,KAEP3O,EAAMpL,QACNoL,EAAM4O,IAAIJ,EAAc,SAKf,IAAA,MAAA7B,KAAU3M,EAAM6O,aACZzB,EAAApa,IAAI2Z,EAAOxM,GAAIwM,GAGb0B,EAAA,CACjBrO,QACAsO,OAAQ,gBACRQ,iBAAkB,UAxBpB,CAyBC,GAEH,CAAC9O,EAAOoN,IAGJjB,EAAeoC,EAAAA,aACnB,CAACjV,EAAapH,KAEZ8N,EAAM+O,oBAAmB,KACvB,IAAK7c,EACH,OAAO8N,EAAMtM,OAAO,CAAC4F,IAEnBA,IAAQgS,GACV4C,EAAehc,GAEfyc,EAAAA,UAAS,KACD3O,EAAA4O,IAAI,CAAC1c,IACPoH,IAAQ0V,EAAAA,eACVhP,EAAM4O,IAAI,CACRtY,OAAA2Y,OAAA3Y,OAAA2Y,OAAA,CAAA,EAAK/c,GAAO,CAAAmQ,gBAAiBiL,EAAe1K,YAAa2K,EAAY7Q,SAAS,YAElF,GAEJ,GACD,GAEH,CAACsD,EAAOuN,EAAaD,IA0HhB,OAvHPxO,EAAAA,WAAU,KACR,IAAKsO,EAAc,OAEAiB,EAAA,CAAEC,OAAQ,YAE7B,MAAMY,EAAyB,GA6D/B,OA1DA9B,EACG7C,KAAK,CACJ2B,aACAC,eACAC,gBAED3Z,SAAcyc,EAAOnW,KAAKoW,KAGtBD,EAAAnW,KACLiH,EAAMrE,OACJyT,EAAAA,UAAS,UAAkCC,QAAEA,IAC3C/Y,OAAOgZ,OAAOD,EAAQE,OAAOvb,SAAiB2Y,IAC/BS,EAAApa,IAAI2Z,EAAOxM,GAAIwM,EAAM,IAG7BrW,OAAAgZ,OAAOD,EAAQG,SAASxb,SAAQ,EAAI,CAAA2Y,MAC5BS,EAAApa,IAAI2Z,EAAOxM,GAAIwM,EAAM,IAGpCrW,OAAOgZ,OAAOD,EAAQI,SAASzb,SAAiB2Y,IACjCS,EAAAxZ,OAAO+Y,EAAOxM,GAAE,GAC9B,GACAoL,IACH,CAAEmE,OAAQ,OAAQC,MAAO,cAkCtB,KACET,EAAAlb,SAAc4H,GAAAA,MACrBsT,EAAOvZ,OAAS,CAAA,CAClB,GACC,CAACqK,EAAOoN,EAAcjB,EAAcD,EAAYE,IAEnDtN,EAAAA,WAAU,KACJ,IAAC5B,IAAWkQ,EAAc,OAE9B,MAAM8B,EAAyB,GA0B/B,OAxBAA,EAAOnW,KACLiH,EAAMrE,OACJiU,EAAAA,UAAS,EAAGP,cACV/Y,OAAOuZ,KAAKR,EAAQG,SAASxb,SAAcsF,IAEzC,IAAKA,EAAIoD,SAAS,YAChB,OAEF,MAAMoT,EAAU5S,eAAAA,EAAQiR,kBAEpB2B,aAAA,EAAAA,EAAS3P,OAAO8N,aAAA,EAAAA,EAAa9N,MAC/BiN,EAAatU,IAAIkW,EAAAA,eAAevc,MAAgBiR,IAC1CA,IACU0J,SAAZA,EAAcpa,IAAI0Q,EAASvD,GAAI7J,OAAA2Y,OAAA3Y,OAAA2Y,OAAA,GAAKvL,GAAU,CAAAb,cAAeiN,aAAA,EAAAA,EAAS3P,MACxE,IAEF+N,EAAe4B,GACjB,GACD,GACAtE,IACH,CAAEkE,OAAQ,OAAQC,MAAO,aAItB,KACET,EAAAlb,SAAc4H,GAAAA,MACrBsT,EAAOvZ,OAAS,CAAA,CAClB,GACC,CAACsY,EAAa/Q,EAAQkQ,EAAcpN,IAGvClB,EAAAA,WAAU,WACH5B,IAAsC,QAA3BmB,EAAAnB,EAAO6S,0BAAoB,IAAA1R,OAAA,EAAAA,EAAAuE,aAAe0K,GAE1DtN,EAAMrE,QACJ,KACEuB,EAAO8S,WAAS,GAElB,CAAEN,OAAQ,SAAUC,MAAO,YAAY,GAExC,CAACzS,EAAQ8C,EAAOsN,IAEZc,CACT,CCtOgB6B,CAAiB,CAC7BvE,WACAZ,QACA5N,SACAoQ,kBAWA,OAAApO,EAAA,QAAAC,cAAC+Q,SAAM,CACL7Q,UAAWqO,EAAoB,qBAAuB,GACtDyC,WAAS,EACTnQ,QACA2N,QAZiBzQ,IACnB0Q,EAAU1Q,GAEVF,OAAOE,OAASA,EAChByQ,SAAAA,EAAU,CAAE3N,MAAOA,EAAMA,MAAO9C,OAAAA,GAAQ,EAStCkT,WAAY,CAAEnT,iBACdoT,OAAkC,QAA1BhS,EAAAnB,aAAM,EAANA,EAAQ6S,0BAAkB,IAAA1R,OAAA,EAAAA,EAAEuE,WACpC0N,cAAwC,QAA1BC,EAAArT,aAAA,EAAAA,EAAQ6S,0BAAkB,IAAAQ,OAAA,EAAAA,EAAE3N,YAAa,OAAS,UAGtE"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@100mslive/hms-whiteboard",
|
|
3
3
|
"author": "100ms",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "0.0.
|
|
5
|
+
"version": "0.0.5-alpha.1",
|
|
6
6
|
"main": "dist/index.cjs.js",
|
|
7
7
|
"module": "dist/index.js",
|
|
8
8
|
"types": "dist/index.d.ts",
|
|
@@ -58,5 +58,5 @@
|
|
|
58
58
|
"rollup-plugin-terser": "^7.0.2",
|
|
59
59
|
"typescript": "^5.2.2"
|
|
60
60
|
},
|
|
61
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "d841ae70e97bfd176bcfc86b44f6ad939832fe13"
|
|
62
62
|
}
|