@mlightcad/libredwg-converter 3.15.23 → 3.15.25

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.
@@ -1,29 +1,29 @@
1
- var io=Object.defineProperty;var so=(a,t,i)=>t in a?io(a,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):a[t]=i;var bt=(a,t,i)=>so(a,typeof t!="symbol"?t+"":t,i);var _o="DwgConverterLicenseError",lo=["evaluation of @mlightcad/dwg-converter has expired"],co=["invalid @mlightcad/dwg-converter license key"];function uo(a){return a==="license_expired"||a==="license_invalid"}function ur(a){var t=a.toLowerCase();if(lo.some(function(i){return t.includes(i)}))return"license_expired";if(co.some(function(i){return t.includes(i)}))return"license_invalid"}function Eo(a){var t;return(t=ur(a))!==null&&t!==void 0?t:"license_invalid"}var fo=function(a,t,i,n){function d(_){return _ instanceof i?_:new i(function(u){u(_)})}return new(i||(i=Promise))(function(_,u){function f(P){try{A(n.next(P))}catch(p){u(p)}}function h(P){try{A(n.throw(P))}catch(p){u(p)}}function A(P){P.done?_(P.value):d(P.value).then(f,h)}A((n=n.apply(a,t||[])).next())})},ho=function(a,t){var i={label:0,sent:function(){if(_[0]&1)throw _[1];return _[1]},trys:[],ops:[]},n,d,_,u;return u={next:f(0),throw:f(1),return:f(2)},typeof Symbol=="function"&&(u[Symbol.iterator]=function(){return this}),u;function f(A){return function(P){return h([A,P])}}function h(A){if(n)throw new TypeError("Generator is already executing.");for(;u&&(u=0,A[0]&&(i=0)),i;)try{if(n=1,d&&(_=A[0]&2?d.return:A[0]?d.throw||((_=d.return)&&_.call(d),0):d.next)&&!(_=_.call(d,A[1])).done)return _;switch(d=0,_&&(A=[A[0]&2,_.value]),A[0]){case 0:case 1:_=A;break;case 4:return i.label++,{value:A[1],done:!1};case 5:i.label++,d=A[1],A=[0];continue;case 7:A=i.ops.pop(),i.trys.pop();continue;default:if(_=i.trys,!(_=_.length>0&&_[_.length-1])&&(A[0]===6||A[0]===2)){i=0;continue}if(A[0]===3&&(!_||A[1]>_[0]&&A[1]<_[3])){i.label=A[1];break}if(A[0]===6&&i.label<_[1]){i.label=_[1],_=A;break}if(_&&i.label<_[2]){i.label=_[2],i.ops.push(A);break}_[2]&&i.ops.pop(),i.trys.pop();continue}A=t.call(a,i)}catch(P){A=[6,P],d=0}finally{n=_=0}if(A[0]&5)throw A[1];return{value:A[0]?A[1]:void 0,done:!0}}},go=["out of memory","data cannot be cloned","allocation failed","memory access out of bounds"];function Ao(a){var t=a.toLowerCase();return go.some(function(i){return t.includes(i)})}function mn(){var a=globalThis;if(typeof a.postMessage!="function")throw new Error("Worker messaging is not available in this runtime");return a}var To=(function(){function a(){this.setupMessageHandler()}return a.prototype.setupMessageHandler=function(){var t=this;mn().onmessage=function(i){return fo(t,void 0,void 0,function(){var n,d,_,u,f,h,A;return ho(this,function(P){switch(P.label){case 0:n=i,d=n.data,_=d.id,u=d.input,P.label=1;case 1:return P.trys.push([1,3,,4]),[4,this.executeTask(u)];case 2:return f=P.sent(),this.sendResponse(_,!0,f),[3,4];case 3:return h=P.sent(),A=h instanceof Error?h.message:String(h),this.sendResponse(_,!1,void 0,A,this.classifyTaskError(h,A)),[3,4];case 4:return[2]}})})}},a.prototype.sendResponse=function(t,i,n,d,_){var u={id:t,success:i,data:n,error:d,errorCode:_};try{mn().postMessage(u)}catch(h){var f=h instanceof Error?h.message:String(h);mn().postMessage({id:t,success:!1,error:f,errorCode:this.classifyPostMessageError(f)})}},a.prototype.classifyTaskError=function(t,i){if(t instanceof Error){var n=t.code;if(uo(n))return n;if(t.name===_o)return Eo(i)}var d=ur(i);return d||this.classifyPostMessageError(i)},a.prototype.classifyPostMessageError=function(t){return Ao(t)?"worker_oom":t.toLowerCase().includes("timed out")?"worker_timeout":"worker_error"},a})();const Po="modulepreload",yo=function(a,t){return new URL(a,t).href},nr={},po=function(t,i,n){let d=Promise.resolve();if(i&&i.length>0){let u=function(P){return Promise.all(P.map(p=>Promise.resolve(p).then(v=>({status:"fulfilled",value:v}),v=>({status:"rejected",reason:v}))))};const f=document.getElementsByTagName("link"),h=document.querySelector("meta[property=csp-nonce]"),A=(h==null?void 0:h.nonce)||(h==null?void 0:h.getAttribute("nonce"));d=u(i.map(P=>{if(P=yo(P,n),P in nr)return;nr[P]=!0;const p=P.endsWith(".css"),v=p?'[rel="stylesheet"]':"";if(!!n)for(let w=f.length-1;w>=0;w--){const m=f[w];if(m.href===P&&(!p||m.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${P}"]${v}`))return;const D=document.createElement("link");if(D.rel=p?"stylesheet":Po,p||(D.as="script"),D.crossOrigin="",D.href=P,A&&D.setAttribute("nonce",A),document.head.appendChild(D),p)return new Promise((w,m)=>{D.addEventListener("load",w),D.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${P}`)))})}))}function _(u){const f=new Event("vite:preloadError",{cancelable:!0});if(f.payload=u,window.dispatchEvent(f),!f.defaultPrevented)throw u}return d.then(u=>{for(const f of u||[])f.status==="rejected"&&_(f.reason);return t().catch(_)})};var rr=(()=>{var a=import.meta.url;return(async function(t={}){var i,n=t,d,_,u=new Promise((e,r)=>{d=e,_=r}),f=typeof window=="object",h=typeof WorkerGlobalScope<"u",A=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer";if(A){const{createRequire:e}=await po(()=>Promise.resolve().then(()=>jo),void 0,import.meta.url);var P=e(import.meta.url)}var p=Object.assign({},n),v="./this.program",I="";function D(e){return n.locateFile?n.locateFile(e,I):I+e}var w,m;if(A){var S=P("fs"),G=P("path");import.meta.url.startsWith("data:")||(I=G.dirname(P("url").fileURLToPath(import.meta.url))+"/"),m=e=>{e=Tt(e)?new URL(e):e;var r=S.readFileSync(e);return r},w=async(e,r=!0)=>{e=Tt(e)?new URL(e):e;var o=S.readFileSync(e,r?void 0:"utf8");return o},!n.thisProgram&&process.argv.length>1&&(v=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2)}else(f||h)&&(h?I=self.location.href:typeof document<"u"&&document.currentScript&&(I=document.currentScript.src),a&&(I=a),I.startsWith("blob:")?I="":I=I.slice(0,I.replace(/[?#].*/,"").lastIndexOf("/")+1),h&&(m=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),w=async e=>{if(Tt(e))return new Promise((o,s)=>{var c=new XMLHttpRequest;c.open("GET",e,!0),c.responseType="arraybuffer",c.onload=()=>{if(c.status==200||c.status==0&&c.response){o(c.response);return}s(c.status)},c.onerror=s,c.send(null)});var r=await fetch(e,{credentials:"same-origin"});if(r.ok)return r.arrayBuffer();throw new Error(r.status+" : "+r.url)});var M=n.print||(()=>{}).bind(console),b=n.printErr||(()=>{}).bind(console);Object.assign(n,p),p=null,n.arguments&&n.arguments,n.thisProgram&&(v=n.thisProgram);var k=n.wasmBinary,$,q=!1,U,Z,rt,dt,Y,F,ct,it,Yt,mt,Tt=e=>e.startsWith("file://");function wt(){var e=$.buffer;n.HEAP8=U=new Int8Array(e),n.HEAP16=rt=new Int16Array(e),n.HEAPU8=Z=new Uint8Array(e),n.HEAPU16=dt=new Uint16Array(e),n.HEAP32=Y=new Int32Array(e),n.HEAPU32=F=new Uint32Array(e),n.HEAPF32=ct=new Float32Array(e),n.HEAPF64=mt=new Float64Array(e),n.HEAP64=it=new BigInt64Array(e),n.HEAPU64=Yt=new BigUint64Array(e)}function xt(){if(n.preRun)for(typeof n.preRun=="function"&&(n.preRun=[n.preRun]);n.preRun.length;)Ne(n.preRun.shift());$t(he)}function Ct(){!n.noFSInit&&!l.initialized&&l.init(),X.__wasm_call_ctors(),l.ignorePermissions=!1}function kt(){if(n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;)Ht(n.postRun.shift());$t(oe)}var ft=0,Dt=null;function zt(e){var r;ft++,(r=n.monitorRunDependencies)==null||r.call(n,ft)}function Ot(e){var o;if(ft--,(o=n.monitorRunDependencies)==null||o.call(n,ft),ft==0&&Dt){var r=Dt;Dt=null,r()}}function Nt(e){var o;(o=n.onAbort)==null||o.call(n,e),e="Aborted("+e+")",b(e),q=!0,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw _(r),r}var Bt;function Ft(){return n.locateFile?D("libredwg-web.wasm"):new URL(""+new URL("libredwg-web.wasm",import.meta.url).href,import.meta.url).href}function ne(e){if(e==Bt&&k)return new Uint8Array(k);if(m)return m(e);throw"both async and sync fetching of the wasm failed"}async function re(e){if(!k)try{var r=await w(e);return new Uint8Array(r)}catch{}return ne(e)}async function ae(e,r){try{var o=await re(e),s=await WebAssembly.instantiate(o,r);return s}catch(c){b(`failed to asynchronously prepare wasm: ${c}`),Nt(c)}}async function Ut(e,r,o){if(!e&&typeof WebAssembly.instantiateStreaming=="function"&&!Tt(r)&&!A)try{var s=fetch(r,{credentials:"same-origin"}),c=await WebAssembly.instantiateStreaming(s,o);return c}catch(E){b(`wasm streaming compile failed: ${E}`),b("falling back to ArrayBuffer instantiation")}return ae(r,o)}function Q(){return{env:tr,wasi_snapshot_preview1:tr}}async function V(){function e(E,g){return X=E.exports,X=oo(X),$=X.memory,wt(),Bn=X.__indirect_function_table,Ot(),X}zt();function r(E){return e(E.instance)}var o=Q();if(n.instantiateWasm)return new Promise((E,g)=>{n.instantiateWasm(o,(T,y)=>{e(T),E(T.exports)})});Bt??(Bt=Ft());try{var s=await Ut(k,Bt,o),c=r(s);return c}catch(E){return _(E),Promise.reject(E)}}var $t=e=>{for(;e.length>0;)e.shift()(n)},oe=[],Ht=e=>oe.unshift(e),he=[],Ne=e=>he.unshift(e);n.noExitRuntime;function Ge(e,r,o="i8"){switch(o.endsWith("*")&&(o="*"),o){case"i1":U[e>>>0]=r;break;case"i8":U[e>>>0]=r;break;case"i16":rt[e>>>1>>>0]=r;break;case"i32":Y[e>>>2>>>0]=r;break;case"i64":it[e>>>3]=BigInt(r);break;case"float":ct[e>>>2>>>0]=r;break;case"double":mt[e>>>3>>>0]=r;break;case"*":F[e>>>2>>>0]=r;break;default:Nt(`invalid type for setValue: ${o}`)}}var We=e=>no(e),Me=()=>ao();class be{constructor(r){this.excPtr=r,this.ptr=r-24}set_type(r){F[this.ptr+4>>>2>>>0]=r}get_type(){return F[this.ptr+4>>>2>>>0]}set_destructor(r){F[this.ptr+8>>>2>>>0]=r}get_destructor(){return F[this.ptr+8>>>2>>>0]}set_caught(r){r=r?1:0,U[this.ptr+12>>>0]=r}get_caught(){return U[this.ptr+12>>>0]!=0}set_rethrown(r){r=r?1:0,U[this.ptr+13>>>0]=r}get_rethrown(){return U[this.ptr+13>>>0]!=0}init(r,o){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(o)}set_adjusted_ptr(r){F[this.ptr+16>>>2>>>0]=r}get_adjusted_ptr(){return F[this.ptr+16>>>2>>>0]}}var ge=0,Ae=9007199254740992,Te=-9007199254740992,Pe=e=>e<Te||e>Ae?NaN:Number(e);function xe(e,r,o){e>>>=0,r>>>=0,o>>>=0;var s=new be(e);throw s.init(r,o),ge=e,ge}var Jt=()=>{var e=Y[+et.varargs>>>2>>>0];return et.varargs+=4,e},Gt=Jt,z={isAbs:e=>e.charAt(0)==="/",splitPath:e=>{var r=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return r.exec(e).slice(1)},normalizeArray:(e,r)=>{for(var o=0,s=e.length-1;s>=0;s--){var c=e[s];c==="."?e.splice(s,1):c===".."?(e.splice(s,1),o++):o&&(e.splice(s,1),o--)}if(r)for(;o;o--)e.unshift("..");return e},normalize:e=>{var r=z.isAbs(e),o=e.slice(-1)==="/";return e=z.normalizeArray(e.split("/").filter(s=>!!s),!r).join("/"),!e&&!r&&(e="."),e&&o&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=z.splitPath(e),o=r[0],s=r[1];return!o&&!s?".":(s&&(s=s.slice(0,-1)),o+s)},basename:e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],join:(...e)=>z.normalize(e.join("/")),join2:(e,r)=>z.normalize(e+"/"+r)},ye=()=>{if(A){var e=P("crypto");return r=>e.randomFillSync(r)}return r=>crypto.getRandomValues(r)},Zt=e=>{(Zt=ye())(e)},Rt={resolve:(...e)=>{for(var r="",o=!1,s=e.length-1;s>=-1&&!o;s--){var c=s>=0?e[s]:l.cwd();if(typeof c!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!c)return"";r=c+"/"+r,o=z.isAbs(c)}return r=z.normalizeArray(r.split("/").filter(E=>!!E),!o).join("/"),(o?"/":"")+r||"."},relative:(e,r)=>{e=Rt.resolve(e).slice(1),r=Rt.resolve(r).slice(1);function o(C){for(var R=0;R<C.length&&C[R]==="";R++);for(var N=C.length-1;N>=0&&C[N]==="";N--);return R>N?[]:C.slice(R,N-R+1)}for(var s=o(e.split("/")),c=o(r.split("/")),E=Math.min(s.length,c.length),g=E,T=0;T<E;T++)if(s[T]!==c[T]){g=T;break}for(var y=[],T=g;T<s.length;T++)y.push("..");return y=y.concat(c.slice(g)),y.join("/")}},ie=typeof TextDecoder<"u"?new TextDecoder:void 0,St=(e,r=0,o=NaN)=>{r>>>=0;for(var s=r+o,c=r;e[c]&&!(c>=s);)++c;if(c-r>16&&e.buffer&&ie)return ie.decode(e.subarray(r,c));for(var E="";r<c;){var g=e[r++];if(!(g&128)){E+=String.fromCharCode(g);continue}var T=e[r++]&63;if((g&224)==192){E+=String.fromCharCode((g&31)<<6|T);continue}var y=e[r++]&63;if((g&240)==224?g=(g&15)<<12|T<<6|y:g=(g&7)<<18|T<<12|y<<6|e[r++]&63,g<65536)E+=String.fromCharCode(g);else{var C=g-65536;E+=String.fromCharCode(55296|C>>10,56320|C&1023)}}return E},qt=[],Wt=e=>{for(var r=0,o=0;o<e.length;++o){var s=e.charCodeAt(o);s<=127?r++:s<=2047?r+=2:s>=55296&&s<=57343?(r+=4,++o):r+=3}return r},Qt=(e,r,o,s)=>{if(o>>>=0,!(s>0))return 0;for(var c=o,E=o+s-1,g=0;g<e.length;++g){var T=e.charCodeAt(g);if(T>=55296&&T<=57343){var y=e.charCodeAt(++g);T=65536+((T&1023)<<10)|y&1023}if(T<=127){if(o>=E)break;r[o++>>>0]=T}else if(T<=2047){if(o+1>=E)break;r[o++>>>0]=192|T>>6,r[o++>>>0]=128|T&63}else if(T<=65535){if(o+2>=E)break;r[o++>>>0]=224|T>>12,r[o++>>>0]=128|T>>6&63,r[o++>>>0]=128|T&63}else{if(o+3>=E)break;r[o++>>>0]=240|T>>18,r[o++>>>0]=128|T>>12&63,r[o++>>>0]=128|T>>6&63,r[o++>>>0]=128|T&63}}return r[o>>>0]=0,o-c},se=(e,r,o)=>{var s=Wt(e)+1,c=new Array(s),E=Qt(e,c,0,c.length);return c.length=E,c},pe=()=>{if(!qt.length){var e=null;if(A){var r=256,o=Buffer.alloc(r),s=0,c=process.stdin.fd;try{s=S.readSync(c,o,0,r)}catch(E){if(E.toString().includes("EOF"))s=0;else throw E}s>0&&(e=o.slice(0,s).toString("utf-8"))}else typeof window<"u"&&typeof window.prompt=="function"&&(e=window.prompt("Input: "),e!==null&&(e+=`
2
- `));if(!e)return null;qt=se(e)}return qt.shift()},Pt={ttys:[],init(){},shutdown(){},register(e,r){Pt.ttys[e]={input:[],output:[],ops:r},l.registerDevice(e,Pt.stream_ops)},stream_ops:{open(e){var r=Pt.ttys[e.node.rdev];if(!r)throw new l.ErrnoError(43);e.tty=r,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,r,o,s,c){if(!e.tty||!e.tty.ops.get_char)throw new l.ErrnoError(60);for(var E=0,g=0;g<s;g++){var T;try{T=e.tty.ops.get_char(e.tty)}catch{throw new l.ErrnoError(29)}if(T===void 0&&E===0)throw new l.ErrnoError(6);if(T==null)break;E++,r[o+g]=T}return E&&(e.node.atime=Date.now()),E},write(e,r,o,s,c){if(!e.tty||!e.tty.ops.put_char)throw new l.ErrnoError(60);try{for(var E=0;E<s;E++)e.tty.ops.put_char(e.tty,r[o+E])}catch{throw new l.ErrnoError(29)}return s&&(e.node.mtime=e.node.ctime=Date.now()),E}},default_tty_ops:{get_char(e){return pe()},put_char(e,r){r===null||r===10?(M(St(e.output)),e.output=[]):r!=0&&e.output.push(r)},fsync(e){var r;((r=e.output)==null?void 0:r.length)>0&&(M(St(e.output)),e.output=[])},ioctl_tcgets(e){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(e,r,o){return 0},ioctl_tiocgwinsz(e){return[24,80]}},default_tty1_ops:{put_char(e,r){r===null||r===10?(b(St(e.output)),e.output=[]):r!=0&&e.output.push(r)},fsync(e){var r;((r=e.output)==null?void 0:r.length)>0&&(b(St(e.output)),e.output=[])}}},ve=(e,r)=>Math.ceil(e/r)*r,_e=e=>{Nt()},B={ops_table:null,mount(e){return B.createNode(null,"/",16895,0)},createNode(e,r,o,s){if(l.isBlkdev(o)||l.isFIFO(o))throw new l.ErrnoError(63);B.ops_table||(B.ops_table={dir:{node:{getattr:B.node_ops.getattr,setattr:B.node_ops.setattr,lookup:B.node_ops.lookup,mknod:B.node_ops.mknod,rename:B.node_ops.rename,unlink:B.node_ops.unlink,rmdir:B.node_ops.rmdir,readdir:B.node_ops.readdir,symlink:B.node_ops.symlink},stream:{llseek:B.stream_ops.llseek}},file:{node:{getattr:B.node_ops.getattr,setattr:B.node_ops.setattr},stream:{llseek:B.stream_ops.llseek,read:B.stream_ops.read,write:B.stream_ops.write,allocate:B.stream_ops.allocate,mmap:B.stream_ops.mmap,msync:B.stream_ops.msync}},link:{node:{getattr:B.node_ops.getattr,setattr:B.node_ops.setattr,readlink:B.node_ops.readlink},stream:{}},chrdev:{node:{getattr:B.node_ops.getattr,setattr:B.node_ops.setattr},stream:l.chrdev_stream_ops}});var c=l.createNode(e,r,o,s);return l.isDir(c.mode)?(c.node_ops=B.ops_table.dir.node,c.stream_ops=B.ops_table.dir.stream,c.contents={}):l.isFile(c.mode)?(c.node_ops=B.ops_table.file.node,c.stream_ops=B.ops_table.file.stream,c.usedBytes=0,c.contents=null):l.isLink(c.mode)?(c.node_ops=B.ops_table.link.node,c.stream_ops=B.ops_table.link.stream):l.isChrdev(c.mode)&&(c.node_ops=B.ops_table.chrdev.node,c.stream_ops=B.ops_table.chrdev.stream),c.atime=c.mtime=c.ctime=Date.now(),e&&(e.contents[r]=c,e.atime=e.mtime=e.ctime=c.atime),c},getFileDataAsTypedArray(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage(e,r){var o=e.contents?e.contents.length:0;if(!(o>=r)){var s=1024*1024;r=Math.max(r,o*(o<s?2:1.125)>>>0),o!=0&&(r=Math.max(r,256));var c=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(c.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,r){if(e.usedBytes!=r)if(r==0)e.contents=null,e.usedBytes=0;else{var o=e.contents;e.contents=new Uint8Array(r),o&&e.contents.set(o.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr(e){var r={};return r.dev=l.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,l.isDir(e.mode)?r.size=4096:l.isFile(e.mode)?r.size=e.usedBytes:l.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.atime),r.mtime=new Date(e.mtime),r.ctime=new Date(e.ctime),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr(e,r){for(const o of["mode","atime","mtime","ctime"])r[o]!=null&&(e[o]=r[o]);r.size!==void 0&&B.resizeFileStorage(e,r.size)},lookup(e,r){throw B.doesNotExistError},mknod(e,r,o,s){return B.createNode(e,r,o,s)},rename(e,r,o){var s;try{s=l.lookupNode(r,o)}catch{}if(s){if(l.isDir(e.mode))for(var c in s.contents)throw new l.ErrnoError(55);l.hashRemoveNode(s)}delete e.parent.contents[e.name],r.contents[o]=e,e.name=o,r.ctime=r.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,r){delete e.contents[r],e.ctime=e.mtime=Date.now()},rmdir(e,r){var o=l.lookupNode(e,r);for(var s in o.contents)throw new l.ErrnoError(55);delete e.contents[r],e.ctime=e.mtime=Date.now()},readdir(e){return[".","..",...Object.keys(e.contents)]},symlink(e,r,o){var s=B.createNode(e,r,41471,0);return s.link=o,s},readlink(e){if(!l.isLink(e.mode))throw new l.ErrnoError(28);return e.link}},stream_ops:{read(e,r,o,s,c){var E=e.node.contents;if(c>=e.node.usedBytes)return 0;var g=Math.min(e.node.usedBytes-c,s);if(g>8&&E.subarray)r.set(E.subarray(c,c+g),o);else for(var T=0;T<g;T++)r[o+T]=E[c+T];return g},write(e,r,o,s,c,E){if(r.buffer===U.buffer&&(E=!1),!s)return 0;var g=e.node;if(g.mtime=g.ctime=Date.now(),r.subarray&&(!g.contents||g.contents.subarray)){if(E)return g.contents=r.subarray(o,o+s),g.usedBytes=s,s;if(g.usedBytes===0&&c===0)return g.contents=r.slice(o,o+s),g.usedBytes=s,s;if(c+s<=g.usedBytes)return g.contents.set(r.subarray(o,o+s),c),s}if(B.expandFileStorage(g,c+s),g.contents.subarray&&r.subarray)g.contents.set(r.subarray(o,o+s),c);else for(var T=0;T<s;T++)g.contents[c+T]=r[o+T];return g.usedBytes=Math.max(g.usedBytes,c+s),s},llseek(e,r,o){var s=r;if(o===1?s+=e.position:o===2&&l.isFile(e.node.mode)&&(s+=e.node.usedBytes),s<0)throw new l.ErrnoError(28);return s},allocate(e,r,o){B.expandFileStorage(e.node,r+o),e.node.usedBytes=Math.max(e.node.usedBytes,r+o)},mmap(e,r,o,s,c){if(!l.isFile(e.node.mode))throw new l.ErrnoError(43);var E,g,T=e.node.contents;if(!(c&2)&&T&&T.buffer===U.buffer)g=!1,E=T.byteOffset;else{if(g=!0,E=_e(),!E)throw new l.ErrnoError(48);T&&((o>0||o+r<T.length)&&(T.subarray?T=T.subarray(o,o+r):T=Array.prototype.slice.call(T,o,o+r)),U.set(T,E>>>0))}return{ptr:E,allocated:g}},msync(e,r,o,s,c){return B.stream_ops.write(e,r,0,s,o,!1),0}}},Ie=async e=>{var r=await w(e);return new Uint8Array(r)},me=(e,r,o,s,c,E)=>{l.createDataFile(e,r,o,s,c,E)},we=n.preloadPlugins||[],Ce=(e,r,o,s)=>{typeof Browser<"u"&&Browser.init();var c=!1;return we.forEach(E=>{c||E.canHandle(r)&&(E.handle(e,r,o,s),c=!0)}),c},ze=(e,r,o,s,c,E,g,T,y,C)=>{var R=r?Rt.resolve(z.join2(e,r)):e;function N(O){function W(x){C==null||C(),T||me(e,r,x,s,c,y),E==null||E(),Ot()}Ce(O,R,W,()=>{g==null||g(),Ot()})||W(O)}zt(),typeof o=="string"?Ie(o).then(N,g):N(o)},Je=e=>{var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},o=r[e];if(typeof o>"u")throw new Error(`Unknown file open mode: ${e}`);return o},De=(e,r)=>{var o=0;return e&&(o|=365),r&&(o|=146),o},l={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(e){bt(this,"name","ErrnoError");this.errno=e}},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{constructor(){bt(this,"shared",{})}get object(){return this.node}set object(e){this.node=e}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(e){this.shared.flags=e}get position(){return this.shared.position}set position(e){this.shared.position=e}},FSNode:class{constructor(e,r,o,s){bt(this,"node_ops",{});bt(this,"stream_ops",{});bt(this,"readMode",365);bt(this,"writeMode",146);bt(this,"mounted",null);e||(e=this),this.parent=e,this.mount=e.mount,this.id=l.nextInode++,this.name=r,this.mode=o,this.rdev=s,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return l.isDir(this.mode)}get isDevice(){return l.isChrdev(this.mode)}},lookupPath(e,r={}){if(!e)throw new l.ErrnoError(44);r.follow_mount??(r.follow_mount=!0),z.isAbs(e)||(e=l.cwd()+"/"+e);t:for(var o=0;o<40;o++){for(var s=e.split("/").filter(C=>!!C),c=l.root,E="/",g=0;g<s.length;g++){var T=g===s.length-1;if(T&&r.parent)break;if(s[g]!=="."){if(s[g]===".."){E=z.dirname(E),c=c.parent;continue}E=z.join2(E,s[g]);try{c=l.lookupNode(c,s[g])}catch(C){if((C==null?void 0:C.errno)===44&&T&&r.noent_okay)return{path:E};throw C}if(l.isMountpoint(c)&&(!T||r.follow_mount)&&(c=c.mounted.root),l.isLink(c.mode)&&(!T||r.follow)){if(!c.node_ops.readlink)throw new l.ErrnoError(52);var y=c.node_ops.readlink(c);z.isAbs(y)||(y=z.dirname(E)+"/"+y),e=y+"/"+s.slice(g+1).join("/");continue t}}}return{path:E,node:c}}throw new l.ErrnoError(32)},getPath(e){for(var r;;){if(l.isRoot(e)){var o=e.mount.mountpoint;return r?o[o.length-1]!=="/"?`${o}/${r}`:o+r:o}r=r?`${e.name}/${r}`:e.name,e=e.parent}},hashName(e,r){for(var o=0,s=0;s<r.length;s++)o=(o<<5)-o+r.charCodeAt(s)|0;return(e+o>>>0)%l.nameTable.length},hashAddNode(e){var r=l.hashName(e.parent.id,e.name);e.name_next=l.nameTable[r],l.nameTable[r]=e},hashRemoveNode(e){var r=l.hashName(e.parent.id,e.name);if(l.nameTable[r]===e)l.nameTable[r]=e.name_next;else for(var o=l.nameTable[r];o;){if(o.name_next===e){o.name_next=e.name_next;break}o=o.name_next}},lookupNode(e,r){var o=l.mayLookup(e);if(o)throw new l.ErrnoError(o);for(var s=l.hashName(e.id,r),c=l.nameTable[s];c;c=c.name_next){var E=c.name;if(c.parent.id===e.id&&E===r)return c}return l.lookup(e,r)},createNode(e,r,o,s){var c=new l.FSNode(e,r,o,s);return l.hashAddNode(c),c},destroyNode(e){l.hashRemoveNode(e)},isRoot(e){return e===e.parent},isMountpoint(e){return!!e.mounted},isFile(e){return(e&61440)===32768},isDir(e){return(e&61440)===16384},isLink(e){return(e&61440)===40960},isChrdev(e){return(e&61440)===8192},isBlkdev(e){return(e&61440)===24576},isFIFO(e){return(e&61440)===4096},isSocket(e){return(e&49152)===49152},flagsToPermissionString(e){var r=["r","w","rw"][e&3];return e&512&&(r+="w"),r},nodePermissions(e,r){return l.ignorePermissions?0:r.includes("r")&&!(e.mode&292)||r.includes("w")&&!(e.mode&146)||r.includes("x")&&!(e.mode&73)?2:0},mayLookup(e){if(!l.isDir(e.mode))return 54;var r=l.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate(e,r){if(!l.isDir(e.mode))return 54;try{var o=l.lookupNode(e,r);return 20}catch{}return l.nodePermissions(e,"wx")},mayDelete(e,r,o){var s;try{s=l.lookupNode(e,r)}catch(E){return E.errno}var c=l.nodePermissions(e,"wx");if(c)return c;if(o){if(!l.isDir(s.mode))return 54;if(l.isRoot(s)||l.getPath(s)===l.cwd())return 10}else if(l.isDir(s.mode))return 31;return 0},mayOpen(e,r){return e?l.isLink(e.mode)?32:l.isDir(e.mode)&&(l.flagsToPermissionString(r)!=="r"||r&576)?31:l.nodePermissions(e,l.flagsToPermissionString(r)):44},checkOpExists(e,r){if(!e)throw new l.ErrnoError(r);return e},MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=l.MAX_OPEN_FDS;e++)if(!l.streams[e])return e;throw new l.ErrnoError(33)},getStreamChecked(e){var r=l.getStream(e);if(!r)throw new l.ErrnoError(8);return r},getStream:e=>l.streams[e],createStream(e,r=-1){return e=Object.assign(new l.FSStream,e),r==-1&&(r=l.nextfd()),e.fd=r,l.streams[r]=e,e},closeStream(e){l.streams[e]=null},dupStream(e,r=-1){var s,c;var o=l.createStream(e,r);return(c=(s=o.stream_ops)==null?void 0:s.dup)==null||c.call(s,o),o},doSetAttr(e,r,o){var s=e==null?void 0:e.stream_ops.setattr,c=s?e:r;s??(s=r.node_ops.setattr),l.checkOpExists(s,63),s(c,o)},chrdev_stream_ops:{open(e){var o,s;var r=l.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,(s=(o=e.stream_ops).open)==null||s.call(o,e)},llseek(){throw new l.ErrnoError(70)}},major:e=>e>>8,minor:e=>e&255,makedev:(e,r)=>e<<8|r,registerDevice(e,r){l.devices[e]={stream_ops:r}},getDevice:e=>l.devices[e],getMounts(e){for(var r=[],o=[e];o.length;){var s=o.pop();r.push(s),o.push(...s.mounts)}return r},syncfs(e,r){typeof e=="function"&&(r=e,e=!1),l.syncFSRequests++,l.syncFSRequests>1&&b(`warning: ${l.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var o=l.getMounts(l.root.mount),s=0;function c(g){return l.syncFSRequests--,r(g)}function E(g){if(g)return E.errored?void 0:(E.errored=!0,c(g));++s>=o.length&&c(null)}o.forEach(g=>{if(!g.type.syncfs)return E(null);g.type.syncfs(g,e,E)})},mount(e,r,o){var s=o==="/",c=!o,E;if(s&&l.root)throw new l.ErrnoError(10);if(!s&&!c){var g=l.lookupPath(o,{follow_mount:!1});if(o=g.path,E=g.node,l.isMountpoint(E))throw new l.ErrnoError(10);if(!l.isDir(E.mode))throw new l.ErrnoError(54)}var T={type:e,opts:r,mountpoint:o,mounts:[]},y=e.mount(T);return y.mount=T,T.root=y,s?l.root=y:E&&(E.mounted=T,E.mount&&E.mount.mounts.push(T)),y},unmount(e){var r=l.lookupPath(e,{follow_mount:!1});if(!l.isMountpoint(r.node))throw new l.ErrnoError(28);var o=r.node,s=o.mounted,c=l.getMounts(s);Object.keys(l.nameTable).forEach(g=>{for(var T=l.nameTable[g];T;){var y=T.name_next;c.includes(T.mount)&&l.destroyNode(T),T=y}}),o.mounted=null;var E=o.mount.mounts.indexOf(s);o.mount.mounts.splice(E,1)},lookup(e,r){return e.node_ops.lookup(e,r)},mknod(e,r,o){var s=l.lookupPath(e,{parent:!0}),c=s.node,E=z.basename(e);if(!E)throw new l.ErrnoError(28);if(E==="."||E==="..")throw new l.ErrnoError(20);var g=l.mayCreate(c,E);if(g)throw new l.ErrnoError(g);if(!c.node_ops.mknod)throw new l.ErrnoError(63);return c.node_ops.mknod(c,E,r,o)},statfs(e){return l.statfsNode(l.lookupPath(e,{follow:!0}).node)},statfsStream(e){return l.statfsNode(e.node)},statfsNode(e){var r={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:l.nextInode,ffree:l.nextInode-1,fsid:42,flags:2,namelen:255};return e.node_ops.statfs&&Object.assign(r,e.node_ops.statfs(e.mount.opts.root)),r},create(e,r=438){return r&=4095,r|=32768,l.mknod(e,r,0)},mkdir(e,r=511){return r&=1023,r|=16384,l.mknod(e,r,0)},mkdirTree(e,r){for(var o=e.split("/"),s="",c=0;c<o.length;++c)if(o[c]){s+="/"+o[c];try{l.mkdir(s,r)}catch(E){if(E.errno!=20)throw E}}},mkdev(e,r,o){return typeof o>"u"&&(o=r,r=438),r|=8192,l.mknod(e,r,o)},symlink(e,r){if(!Rt.resolve(e))throw new l.ErrnoError(44);var o=l.lookupPath(r,{parent:!0}),s=o.node;if(!s)throw new l.ErrnoError(44);var c=z.basename(r),E=l.mayCreate(s,c);if(E)throw new l.ErrnoError(E);if(!s.node_ops.symlink)throw new l.ErrnoError(63);return s.node_ops.symlink(s,c,e)},rename(e,r){var o=z.dirname(e),s=z.dirname(r),c=z.basename(e),E=z.basename(r),g,T,y;if(g=l.lookupPath(e,{parent:!0}),T=g.node,g=l.lookupPath(r,{parent:!0}),y=g.node,!T||!y)throw new l.ErrnoError(44);if(T.mount!==y.mount)throw new l.ErrnoError(75);var C=l.lookupNode(T,c),R=Rt.relative(e,s);if(R.charAt(0)!==".")throw new l.ErrnoError(28);if(R=Rt.relative(r,o),R.charAt(0)!==".")throw new l.ErrnoError(55);var N;try{N=l.lookupNode(y,E)}catch{}if(C!==N){var O=l.isDir(C.mode),W=l.mayDelete(T,c,O);if(W)throw new l.ErrnoError(W);if(W=N?l.mayDelete(y,E,O):l.mayCreate(y,E),W)throw new l.ErrnoError(W);if(!T.node_ops.rename)throw new l.ErrnoError(63);if(l.isMountpoint(C)||N&&l.isMountpoint(N))throw new l.ErrnoError(10);if(y!==T&&(W=l.nodePermissions(T,"w"),W))throw new l.ErrnoError(W);l.hashRemoveNode(C);try{T.node_ops.rename(C,y,E),C.parent=y}catch(x){throw x}finally{l.hashAddNode(C)}}},rmdir(e){var r=l.lookupPath(e,{parent:!0}),o=r.node,s=z.basename(e),c=l.lookupNode(o,s),E=l.mayDelete(o,s,!0);if(E)throw new l.ErrnoError(E);if(!o.node_ops.rmdir)throw new l.ErrnoError(63);if(l.isMountpoint(c))throw new l.ErrnoError(10);o.node_ops.rmdir(o,s),l.destroyNode(c)},readdir(e){var r=l.lookupPath(e,{follow:!0}),o=r.node,s=l.checkOpExists(o.node_ops.readdir,54);return s(o)},unlink(e){var r=l.lookupPath(e,{parent:!0}),o=r.node;if(!o)throw new l.ErrnoError(44);var s=z.basename(e),c=l.lookupNode(o,s),E=l.mayDelete(o,s,!1);if(E)throw new l.ErrnoError(E);if(!o.node_ops.unlink)throw new l.ErrnoError(63);if(l.isMountpoint(c))throw new l.ErrnoError(10);o.node_ops.unlink(o,s),l.destroyNode(c)},readlink(e){var r=l.lookupPath(e),o=r.node;if(!o)throw new l.ErrnoError(44);if(!o.node_ops.readlink)throw new l.ErrnoError(28);return o.node_ops.readlink(o)},stat(e,r){var o=l.lookupPath(e,{follow:!r}),s=o.node,c=l.checkOpExists(s.node_ops.getattr,63);return c(s)},fstat(e){var r=l.getStreamChecked(e),o=r.node,s=r.stream_ops.getattr,c=s?r:o;return s??(s=o.node_ops.getattr),l.checkOpExists(s,63),s(c)},lstat(e){return l.stat(e,!0)},doChmod(e,r,o,s){l.doSetAttr(e,r,{mode:o&4095|r.mode&-4096,ctime:Date.now(),dontFollow:s})},chmod(e,r,o){var s;if(typeof e=="string"){var c=l.lookupPath(e,{follow:!o});s=c.node}else s=e;l.doChmod(null,s,r,o)},lchmod(e,r){l.chmod(e,r,!0)},fchmod(e,r){var o=l.getStreamChecked(e);l.doChmod(o,o.node,r,!1)},doChown(e,r,o){l.doSetAttr(e,r,{timestamp:Date.now(),dontFollow:o})},chown(e,r,o,s){var c;if(typeof e=="string"){var E=l.lookupPath(e,{follow:!s});c=E.node}else c=e;l.doChown(null,c,s)},lchown(e,r,o){l.chown(e,r,o,!0)},fchown(e,r,o){var s=l.getStreamChecked(e);l.doChown(s,s.node,!1)},doTruncate(e,r,o){if(l.isDir(r.mode))throw new l.ErrnoError(31);if(!l.isFile(r.mode))throw new l.ErrnoError(28);var s=l.nodePermissions(r,"w");if(s)throw new l.ErrnoError(s);l.doSetAttr(e,r,{size:o,timestamp:Date.now()})},truncate(e,r){if(r<0)throw new l.ErrnoError(28);var o;if(typeof e=="string"){var s=l.lookupPath(e,{follow:!0});o=s.node}else o=e;l.doTruncate(null,o,r)},ftruncate(e,r){var o=l.getStreamChecked(e);if(r<0||(o.flags&2097155)===0)throw new l.ErrnoError(28);l.doTruncate(o,o.node,r)},utime(e,r,o){var s=l.lookupPath(e,{follow:!0}),c=s.node,E=l.checkOpExists(c.node_ops.setattr,63);E(c,{atime:r,mtime:o})},open(e,r,o=438){if(e==="")throw new l.ErrnoError(44);r=typeof r=="string"?Je(r):r,r&64?o=o&4095|32768:o=0;var s,c;if(typeof e=="object")s=e;else{c=e.endsWith("/");var E=l.lookupPath(e,{follow:!(r&131072),noent_okay:!0});s=E.node,e=E.path}var g=!1;if(r&64)if(s){if(r&128)throw new l.ErrnoError(20)}else{if(c)throw new l.ErrnoError(31);s=l.mknod(e,o|511,0),g=!0}if(!s)throw new l.ErrnoError(44);if(l.isChrdev(s.mode)&&(r&=-513),r&65536&&!l.isDir(s.mode))throw new l.ErrnoError(54);if(!g){var T=l.mayOpen(s,r);if(T)throw new l.ErrnoError(T)}r&512&&!g&&l.truncate(s,0),r&=-131713;var y=l.createStream({node:s,path:l.getPath(s),flags:r,seekable:!0,position:0,stream_ops:s.stream_ops,ungotten:[],error:!1});return y.stream_ops.open&&y.stream_ops.open(y),g&&l.chmod(s,o&511),n.logReadFiles&&!(r&1)&&(e in l.readFiles||(l.readFiles[e]=1)),y},close(e){if(l.isClosed(e))throw new l.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(r){throw r}finally{l.closeStream(e.fd)}e.fd=null},isClosed(e){return e.fd===null},llseek(e,r,o){if(l.isClosed(e))throw new l.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new l.ErrnoError(70);if(o!=0&&o!=1&&o!=2)throw new l.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,o),e.ungotten=[],e.position},read(e,r,o,s,c){if(s<0||c<0)throw new l.ErrnoError(28);if(l.isClosed(e))throw new l.ErrnoError(8);if((e.flags&2097155)===1)throw new l.ErrnoError(8);if(l.isDir(e.node.mode))throw new l.ErrnoError(31);if(!e.stream_ops.read)throw new l.ErrnoError(28);var E=typeof c<"u";if(!E)c=e.position;else if(!e.seekable)throw new l.ErrnoError(70);var g=e.stream_ops.read(e,r,o,s,c);return E||(e.position+=g),g},write(e,r,o,s,c,E){if(s<0||c<0)throw new l.ErrnoError(28);if(l.isClosed(e))throw new l.ErrnoError(8);if((e.flags&2097155)===0)throw new l.ErrnoError(8);if(l.isDir(e.node.mode))throw new l.ErrnoError(31);if(!e.stream_ops.write)throw new l.ErrnoError(28);e.seekable&&e.flags&1024&&l.llseek(e,0,2);var g=typeof c<"u";if(!g)c=e.position;else if(!e.seekable)throw new l.ErrnoError(70);var T=e.stream_ops.write(e,r,o,s,c,E);return g||(e.position+=T),T},allocate(e,r,o){if(l.isClosed(e))throw new l.ErrnoError(8);if(r<0||o<=0)throw new l.ErrnoError(28);if((e.flags&2097155)===0)throw new l.ErrnoError(8);if(!l.isFile(e.node.mode)&&!l.isDir(e.node.mode))throw new l.ErrnoError(43);if(!e.stream_ops.allocate)throw new l.ErrnoError(138);e.stream_ops.allocate(e,r,o)},mmap(e,r,o,s,c){if((s&2)!==0&&(c&2)===0&&(e.flags&2097155)!==2)throw new l.ErrnoError(2);if((e.flags&2097155)===1)throw new l.ErrnoError(2);if(!e.stream_ops.mmap)throw new l.ErrnoError(43);if(!r)throw new l.ErrnoError(28);return e.stream_ops.mmap(e,r,o,s,c)},msync(e,r,o,s,c){return e.stream_ops.msync?e.stream_ops.msync(e,r,o,s,c):0},ioctl(e,r,o){if(!e.stream_ops.ioctl)throw new l.ErrnoError(59);return e.stream_ops.ioctl(e,r,o)},readFile(e,r={}){if(r.flags=r.flags||0,r.encoding=r.encoding||"binary",r.encoding!=="utf8"&&r.encoding!=="binary")throw new Error(`Invalid encoding type "${r.encoding}"`);var o,s=l.open(e,r.flags),c=l.stat(e),E=c.size,g=new Uint8Array(E);return l.read(s,g,0,E,0),r.encoding==="utf8"?o=St(g):r.encoding==="binary"&&(o=g),l.close(s),o},writeFile(e,r,o={}){o.flags=o.flags||577;var s=l.open(e,o.flags,o.mode);if(typeof r=="string"){var c=new Uint8Array(Wt(r)+1),E=Qt(r,c,0,c.length);l.write(s,c,0,E,void 0,o.canOwn)}else if(ArrayBuffer.isView(r))l.write(s,r,0,r.byteLength,void 0,o.canOwn);else throw new Error("Unsupported data type");l.close(s)},cwd:()=>l.currentPath,chdir(e){var r=l.lookupPath(e,{follow:!0});if(r.node===null)throw new l.ErrnoError(44);if(!l.isDir(r.node.mode))throw new l.ErrnoError(54);var o=l.nodePermissions(r.node,"x");if(o)throw new l.ErrnoError(o);l.currentPath=r.path},createDefaultDirectories(){l.mkdir("/tmp"),l.mkdir("/home"),l.mkdir("/home/web_user")},createDefaultDevices(){l.mkdir("/dev"),l.registerDevice(l.makedev(1,3),{read:()=>0,write:(s,c,E,g,T)=>g,llseek:()=>0}),l.mkdev("/dev/null",l.makedev(1,3)),Pt.register(l.makedev(5,0),Pt.default_tty_ops),Pt.register(l.makedev(6,0),Pt.default_tty1_ops),l.mkdev("/dev/tty",l.makedev(5,0)),l.mkdev("/dev/tty1",l.makedev(6,0));var e=new Uint8Array(1024),r=0,o=()=>(r===0&&(Zt(e),r=e.byteLength),e[--r]);l.createDevice("/dev","random",o),l.createDevice("/dev","urandom",o),l.mkdir("/dev/shm"),l.mkdir("/dev/shm/tmp")},createSpecialDirectories(){l.mkdir("/proc");var e=l.mkdir("/proc/self");l.mkdir("/proc/self/fd"),l.mount({mount(){var r=l.createNode(e,"fd",16895,73);return r.stream_ops={llseek:B.stream_ops.llseek},r.node_ops={lookup(o,s){var c=+s,E=l.getStreamChecked(c),g={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>E.path},id:c+1};return g.parent=g,g},readdir(){return Array.from(l.streams.entries()).filter(([o,s])=>s).map(([o,s])=>o.toString())}},r}},{},"/proc/self/fd")},createStandardStreams(e,r,o){e?l.createDevice("/dev","stdin",e):l.symlink("/dev/tty","/dev/stdin"),r?l.createDevice("/dev","stdout",null,r):l.symlink("/dev/tty","/dev/stdout"),o?l.createDevice("/dev","stderr",null,o):l.symlink("/dev/tty1","/dev/stderr"),l.open("/dev/stdin",0),l.open("/dev/stdout",1),l.open("/dev/stderr",1)},staticInit(){l.nameTable=new Array(4096),l.mount(B,{},"/"),l.createDefaultDirectories(),l.createDefaultDevices(),l.createSpecialDirectories(),l.filesystems={MEMFS:B}},init(e,r,o){l.initialized=!0,e??(e=n.stdin),r??(r=n.stdout),o??(o=n.stderr),l.createStandardStreams(e,r,o)},quit(){l.initialized=!1;for(var e=0;e<l.streams.length;e++){var r=l.streams[e];r&&l.close(r)}},findObject(e,r){var o=l.analyzePath(e,r);return o.exists?o.object:null},analyzePath(e,r){try{var o=l.lookupPath(e,{follow:!r});e=o.path}catch{}var s={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var o=l.lookupPath(e,{parent:!0});s.parentExists=!0,s.parentPath=o.path,s.parentObject=o.node,s.name=z.basename(e),o=l.lookupPath(e,{follow:!r}),s.exists=!0,s.path=o.path,s.object=o.node,s.name=o.node.name,s.isRoot=o.path==="/"}catch(c){s.error=c.errno}return s},createPath(e,r,o,s){e=typeof e=="string"?e:l.getPath(e);for(var c=r.split("/").reverse();c.length;){var E=c.pop();if(E){var g=z.join2(e,E);try{l.mkdir(g)}catch{}e=g}}return g},createFile(e,r,o,s,c){var E=z.join2(typeof e=="string"?e:l.getPath(e),r),g=De(s,c);return l.create(E,g)},createDataFile(e,r,o,s,c,E){var g=r;e&&(e=typeof e=="string"?e:l.getPath(e),g=r?z.join2(e,r):e);var T=De(s,c),y=l.create(g,T);if(o){if(typeof o=="string"){for(var C=new Array(o.length),R=0,N=o.length;R<N;++R)C[R]=o.charCodeAt(R);o=C}l.chmod(y,T|146);var O=l.open(y,577);l.write(O,o,0,o.length,0,E),l.close(O),l.chmod(y,T)}},createDevice(e,r,o,s){var T;var c=z.join2(typeof e=="string"?e:l.getPath(e),r),E=De(!!o,!!s);(T=l.createDevice).major??(T.major=64);var g=l.makedev(l.createDevice.major++,0);return l.registerDevice(g,{open(y){y.seekable=!1},close(y){var C;(C=s==null?void 0:s.buffer)!=null&&C.length&&s(10)},read(y,C,R,N,O){for(var W=0,x=0;x<N;x++){var K;try{K=o()}catch{throw new l.ErrnoError(29)}if(K===void 0&&W===0)throw new l.ErrnoError(6);if(K==null)break;W++,C[R+x]=K}return W&&(y.node.atime=Date.now()),W},write(y,C,R,N,O){for(var W=0;W<N;W++)try{s(C[R+W])}catch{throw new l.ErrnoError(29)}return N&&(y.node.mtime=y.node.ctime=Date.now()),W}}),l.mkdev(c,E,g)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if(typeof XMLHttpRequest<"u")throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");try{e.contents=m(e.url),e.usedBytes=e.contents.length}catch{throw new l.ErrnoError(29)}},createLazyFile(e,r,o,s,c){class E{constructor(){bt(this,"lengthKnown",!1);bt(this,"chunks",[])}get(W){if(!(W>this.length-1||W<0)){var x=W%this.chunkSize,K=W/this.chunkSize|0;return this.getter(K)[x]}}setDataGetter(W){this.getter=W}cacheLength(){var W=new XMLHttpRequest;if(W.open("HEAD",o,!1),W.send(null),!(W.status>=200&&W.status<300||W.status===304))throw new Error("Couldn't load "+o+". Status: "+W.status);var x=Number(W.getResponseHeader("Content-length")),K,_t=(K=W.getResponseHeader("Accept-Ranges"))&&K==="bytes",at=(K=W.getResponseHeader("Content-Encoding"))&&K==="gzip",lt=1024*1024;_t||(lt=x);var tt=(At,Kt)=>{if(At>Kt)throw new Error("invalid range ("+At+", "+Kt+") or no bytes requested!");if(Kt>x-1)throw new Error("only "+x+" bytes available! programmer error!");var ot=new XMLHttpRequest;if(ot.open("GET",o,!1),x!==lt&&ot.setRequestHeader("Range","bytes="+At+"-"+Kt),ot.responseType="arraybuffer",ot.overrideMimeType&&ot.overrideMimeType("text/plain; charset=x-user-defined"),ot.send(null),!(ot.status>=200&&ot.status<300||ot.status===304))throw new Error("Couldn't load "+o+". Status: "+ot.status);return ot.response!==void 0?new Uint8Array(ot.response||[]):se(ot.responseText||"")},ue=this;ue.setDataGetter(At=>{var Kt=At*lt,ot=(At+1)*lt-1;if(ot=Math.min(ot,x-1),typeof ue.chunks[At]>"u"&&(ue.chunks[At]=tt(Kt,ot)),typeof ue.chunks[At]>"u")throw new Error("doXHR failed!");return ue.chunks[At]}),(at||!x)&&(lt=x=1,x=this.getter(0).length,lt=x,M("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=x,this._chunkSize=lt,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(typeof XMLHttpRequest<"u"){if(!h)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var g=new E,T={isDevice:!1,contents:g}}else var T={isDevice:!1,url:o};var y=l.createFile(e,r,T,s,c);T.contents?y.contents=T.contents:T.url&&(y.contents=null,y.url=T.url),Object.defineProperties(y,{usedBytes:{get:function(){return this.contents.length}}});var C={},R=Object.keys(y.stream_ops);R.forEach(O=>{var W=y.stream_ops[O];C[O]=(...x)=>(l.forceLoadFile(y),W(...x))});function N(O,W,x,K,_t){var at=O.node.contents;if(_t>=at.length)return 0;var lt=Math.min(at.length-_t,K);if(at.slice)for(var tt=0;tt<lt;tt++)W[x+tt]=at[_t+tt];else for(var tt=0;tt<lt;tt++)W[x+tt]=at.get(_t+tt);return lt}return C.read=(O,W,x,K,_t)=>(l.forceLoadFile(y),N(O,W,x,K,_t)),C.mmap=(O,W,x,K,_t)=>{l.forceLoadFile(y);var at=_e();if(!at)throw new l.ErrnoError(48);return N(O,U,at,W,x),{ptr:at,allocated:!0}},y.stream_ops=C,y}},de=(e,r)=>(e>>>=0,e?St(Z,e,r):""),et={DEFAULT_POLLMASK:5,calculateAt(e,r,o){if(z.isAbs(r))return r;var s;if(e===-100)s=l.cwd();else{var c=et.getStreamFromFD(e);s=c.path}if(r.length==0){if(!o)throw new l.ErrnoError(44);return s}return s+"/"+r},writeStat(e,r){Y[e>>>2>>>0]=r.dev,Y[e+4>>>2>>>0]=r.mode,F[e+8>>>2>>>0]=r.nlink,Y[e+12>>>2>>>0]=r.uid,Y[e+16>>>2>>>0]=r.gid,Y[e+20>>>2>>>0]=r.rdev,it[e+24>>>3]=BigInt(r.size),Y[e+32>>>2>>>0]=4096,Y[e+36>>>2>>>0]=r.blocks;var o=r.atime.getTime(),s=r.mtime.getTime(),c=r.ctime.getTime();return it[e+40>>>3]=BigInt(Math.floor(o/1e3)),F[e+48>>>2>>>0]=o%1e3*1e3*1e3,it[e+56>>>3]=BigInt(Math.floor(s/1e3)),F[e+64>>>2>>>0]=s%1e3*1e3*1e3,it[e+72>>>3]=BigInt(Math.floor(c/1e3)),F[e+80>>>2>>>0]=c%1e3*1e3*1e3,it[e+88>>>3]=BigInt(r.ino),0},writeStatFs(e,r){Y[e+4>>>2>>>0]=r.bsize,Y[e+40>>>2>>>0]=r.bsize,Y[e+8>>>2>>>0]=r.blocks,Y[e+12>>>2>>>0]=r.bfree,Y[e+16>>>2>>>0]=r.bavail,Y[e+20>>>2>>>0]=r.files,Y[e+24>>>2>>>0]=r.ffree,Y[e+28>>>2>>>0]=r.fsid,Y[e+44>>>2>>>0]=r.flags,Y[e+36>>>2>>>0]=r.namelen},doMsync(e,r,o,s,c){if(!l.isFile(r.node.mode))throw new l.ErrnoError(43);if(s&2)return 0;var E=Z.slice(e,e+o);l.msync(r,E,c,o,s)},getStreamFromFD(e){var r=l.getStreamChecked(e);return r},varargs:void 0,getStr(e){var r=de(e);return r}};function cn(e,r,o){o>>>=0,et.varargs=o;try{var s=et.getStreamFromFD(e);switch(r){case 0:{var c=Jt();if(c<0)return-28;for(;l.streams[c];)c++;var E;return E=l.dupStream(s,c),E.fd}case 1:case 2:return 0;case 3:return s.flags;case 4:{var c=Jt();return s.flags|=c,0}case 12:{var c=Gt(),g=0;return rt[c+g>>>1>>>0]=2,0}case 13:case 14:return 0}return-28}catch(T){if(typeof l>"u"||T.name!=="ErrnoError")throw T;return-T.errno}}function Ze(e,r){r>>>=0;try{return et.writeStat(r,l.fstat(e))}catch(o){if(typeof l>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}function ke(e,r,o){o>>>=0,et.varargs=o;try{var s=et.getStreamFromFD(e);switch(r){case 21509:return s.tty?0:-59;case 21505:{if(!s.tty)return-59;if(s.tty.ops.ioctl_tcgets){var c=s.tty.ops.ioctl_tcgets(s),E=Gt();Y[E>>>2>>>0]=c.c_iflag||0,Y[E+4>>>2>>>0]=c.c_oflag||0,Y[E+8>>>2>>>0]=c.c_cflag||0,Y[E+12>>>2>>>0]=c.c_lflag||0;for(var g=0;g<32;g++)U[E+g+17>>>0]=c.c_cc[g]||0;return 0}return 0}case 21510:case 21511:case 21512:return s.tty?0:-59;case 21506:case 21507:case 21508:{if(!s.tty)return-59;if(s.tty.ops.ioctl_tcsets){for(var E=Gt(),T=Y[E>>>2>>>0],y=Y[E+4>>>2>>>0],C=Y[E+8>>>2>>>0],R=Y[E+12>>>2>>>0],N=[],g=0;g<32;g++)N.push(U[E+g+17>>>0]);return s.tty.ops.ioctl_tcsets(s.tty,r,{c_iflag:T,c_oflag:y,c_cflag:C,c_lflag:R,c_cc:N})}return 0}case 21519:{if(!s.tty)return-59;var E=Gt();return Y[E>>>2>>>0]=0,0}case 21520:return s.tty?-28:-59;case 21531:{var E=Gt();return l.ioctl(s,r,E)}case 21523:{if(!s.tty)return-59;if(s.tty.ops.ioctl_tiocgwinsz){var O=s.tty.ops.ioctl_tiocgwinsz(s.tty),E=Gt();rt[E>>>1>>>0]=O[0],rt[E+2>>>1>>>0]=O[1]}return 0}case 21524:return s.tty?0:-59;case 21515:return s.tty?0:-59;default:return-28}}catch(W){if(typeof l>"u"||W.name!=="ErrnoError")throw W;return-W.errno}}function J(e,r){e>>>=0,r>>>=0;try{return e=et.getStr(e),et.writeStat(r,l.lstat(e))}catch(o){if(typeof l>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}function j(e,r,o,s){r>>>=0,o>>>=0;try{r=et.getStr(r);var c=s&256,E=s&4096;return s=s&-6401,r=et.calculateAt(e,r,E),et.writeStat(o,c?l.lstat(r):l.stat(r))}catch(g){if(typeof l>"u"||g.name!=="ErrnoError")throw g;return-g.errno}}function jt(e,r,o,s){r>>>=0,s>>>=0,et.varargs=s;try{r=et.getStr(r),r=et.calculateAt(e,r);var c=s?Jt():0;return l.open(r,o,c).fd}catch(E){if(typeof l>"u"||E.name!=="ErrnoError")throw E;return-E.errno}}function qe(e,r){e>>>=0,r>>>=0;try{return e=et.getStr(e),et.writeStat(r,l.stat(e))}catch(o){if(typeof l>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}var un=()=>Nt(""),Re=e=>{if(e===null)return"null";var r=typeof e;return r==="object"||r==="array"||r==="function"?e.toString():""+e},Oe=()=>{for(var e=new Array(256),r=0;r<256;++r)e[r]=String.fromCharCode(r);Qe=e},Qe,st=e=>{for(var r="",o=e;Z[o>>>0];)r+=Qe[Z[o++>>>0]];return r},Vt={},ut={},ht={},te,H=e=>{throw new te(e)},je,Se=e=>{throw new je(e)},Le=(e,r,o)=>{e.forEach(T=>ht[T]=r);function s(T){var y=o(T);y.length!==e.length&&Se("Mismatched type converter count");for(var C=0;C<e.length;++C)Et(e[C],y[C])}var c=new Array(r.length),E=[],g=0;r.forEach((T,y)=>{ut.hasOwnProperty(T)?c[y]=ut[T]:(E.push(T),Vt.hasOwnProperty(T)||(Vt[T]=[]),Vt[T].push(()=>{c[y]=ut[T],++g,g===E.length&&s(c)}))}),E.length===0&&s(c)};function Be(e,r,o={}){var s=r.name;if(e||H(`type "${s}" must have a positive integer typeid pointer`),ut.hasOwnProperty(e)){if(o.ignoreDuplicateRegistrations)return;H(`Cannot register type '${s}' twice`)}if(ut[e]=r,delete ht[e],Vt.hasOwnProperty(e)){var c=Vt[e];delete Vt[e],c.forEach(E=>E())}}function Et(e,r,o={}){return Be(e,r,o)}var Fe=(e,r,o)=>{switch(r){case 1:return o?s=>U[s>>>0]:s=>Z[s>>>0];case 2:return o?s=>rt[s>>>1>>>0]:s=>dt[s>>>1>>>0];case 4:return o?s=>Y[s>>>2>>>0]:s=>F[s>>>2>>>0];case 8:return o?s=>it[s>>>3]:s=>Yt[s>>>3];default:throw new TypeError(`invalid integer width (${r}): ${e}`)}};function yr(e,r,o,s,c){e>>>=0,r>>>=0,o>>>=0,r=st(r);var E=r.indexOf("u")!=-1;Et(e,{name:r,fromWireType:g=>g,toWireType:function(g,T){if(typeof T!="bigint"&&typeof T!="number")throw new TypeError(`Cannot convert "${Re(T)}" to ${this.name}`);return typeof T=="number"&&(T=BigInt(T)),T},argPackAdvance:Mt,readValueFromPointer:Fe(r,o,!E),destructorFunction:null})}var Mt=8;function pr(e,r,o,s){e>>>=0,r>>>=0,r=st(r),Et(e,{name:r,fromWireType:function(c){return!!c},toWireType:function(c,E){return E?o:s},argPackAdvance:Mt,readValueFromPointer:function(c){return this.fromWireType(Z[c>>>0])},destructorFunction:null})}var vr=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),En=e=>{function r(o){return o.$$.ptrType.registeredClass.name}H(r(e)+" instance already deleted")},fn=!1,Mn=e=>{},Ir=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},bn=e=>{e.count.value-=1;var r=e.count.value===0;r&&Ir(e)},xn=(e,r,o)=>{if(r===o)return e;if(o.baseClass===void 0)return null;var s=xn(e,r,o.baseClass);return s===null?null:o.downcast(s)},kn={},mr={},wr=(e,r)=>{for(r===void 0&&H("ptr should not be undefined");e.baseClass;)r=e.upcast(r),e=e.baseClass;return r},Cr=(e,r)=>(r=wr(e,r),mr[r]),tn=(e,r)=>{(!r.ptrType||!r.ptr)&&Se("makeClassHandle requires ptr and ptrType");var o=!!r.smartPtrType,s=!!r.smartPtr;return o!==s&&Se("Both smartPtrType and smartPtr must be specified"),r.count={value:1},Ue(Object.create(e,{$$:{value:r,writable:!0}}))};function Dr(e){var r=this.getPointee(e);if(!r)return this.destructor(e),null;var o=Cr(this.registeredClass,r);if(o!==void 0){if(o.$$.count.value===0)return o.$$.ptr=r,o.$$.smartPtr=e,o.clone();var s=o.clone();return this.destructor(e),s}function c(){return this.isSmartPointer?tn(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:r,smartPtrType:this,smartPtr:e}):tn(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var E=this.registeredClass.getActualType(r),g=kn[E];if(!g)return c.call(this);var T;this.isConst?T=g.constPointerType:T=g.pointerType;var y=xn(r,this.registeredClass,T.registeredClass);return y===null?c.call(this):this.isSmartPointer?tn(T.registeredClass.instancePrototype,{ptrType:T,ptr:y,smartPtrType:this,smartPtr:e}):tn(T.registeredClass.instancePrototype,{ptrType:T,ptr:y})}var Ue=e=>typeof FinalizationRegistry>"u"?(Ue=r=>r,e):(fn=new FinalizationRegistry(r=>{bn(r.$$)}),Ue=r=>{var o=r.$$,s=!!o.smartPtr;if(s){var c={$$:o};fn.register(r,c,r)}return r},Mn=r=>fn.unregister(r),Ue(e)),Rr=()=>{Object.assign(en.prototype,{isAliasOf(e){if(!(this instanceof en)||!(e instanceof en))return!1;var r=this.$$.ptrType.registeredClass,o=this.$$.ptr;e.$$=e.$$;for(var s=e.$$.ptrType.registeredClass,c=e.$$.ptr;r.baseClass;)o=r.upcast(o),r=r.baseClass;for(;s.baseClass;)c=s.upcast(c),s=s.baseClass;return r===s&&o===c},clone(){if(this.$$.ptr||En(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=Ue(Object.create(Object.getPrototypeOf(this),{$$:{value:vr(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||En(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&H("Object already scheduled for deletion"),Mn(this),bn(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||En(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&H("Object already scheduled for deletion"),this.$$.deleteScheduled=!0,this}})};function en(){}var Ye=(e,r)=>Object.defineProperty(r,"name",{value:e}),Sr=(e,r,o)=>{if(e[r].overloadTable===void 0){var s=e[r];e[r]=function(...c){return e[r].overloadTable.hasOwnProperty(c.length)||H(`Function '${o}' called with an invalid number of arguments (${c.length}) - expects one of (${e[r].overloadTable})!`),e[r].overloadTable[c.length].apply(this,c)},e[r].overloadTable=[],e[r].overloadTable[s.argCount]=s}},hn=(e,r,o)=>{n.hasOwnProperty(e)?((o===void 0||n[e].overloadTable!==void 0&&n[e].overloadTable[o]!==void 0)&&H(`Cannot register public name '${e}' twice`),Sr(n,e,e),n[e].overloadTable.hasOwnProperty(o)&&H(`Cannot register multiple overloads of a function with the same number of arguments (${o})!`),n[e].overloadTable[o]=r):(n[e]=r,n[e].argCount=o)},Lr=48,Yr=57,Nr=e=>{e=e.replace(/[^a-zA-Z0-9_]/g,"$");var r=e.charCodeAt(0);return r>=Lr&&r<=Yr?`_${e}`:e};function Gr(e,r,o,s,c,E,g,T){this.name=e,this.constructor=r,this.instancePrototype=o,this.rawDestructor=s,this.baseClass=c,this.getActualType=E,this.upcast=g,this.downcast=T,this.pureVirtualFunctions=[]}var nn=(e,r,o)=>{for(;r!==o;)r.upcast||H(`Expected null or instance of ${o.name}, got an instance of ${r.name}`),e=r.upcast(e),r=r.baseClass;return e};function Wr(e,r){if(r===null)return this.isReference&&H(`null is not a valid ${this.name}`),0;r.$$||H(`Cannot pass "${Re(r)}" as a ${this.name}`),r.$$.ptr||H(`Cannot pass deleted object as a pointer of type ${this.name}`);var o=r.$$.ptrType.registeredClass,s=nn(r.$$.ptr,o,this.registeredClass);return s}function Mr(e,r){var o;if(r===null)return this.isReference&&H(`null is not a valid ${this.name}`),this.isSmartPointer?(o=this.rawConstructor(),e!==null&&e.push(this.rawDestructor,o),o):0;(!r||!r.$$)&&H(`Cannot pass "${Re(r)}" as a ${this.name}`),r.$$.ptr||H(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&r.$$.ptrType.isConst&&H(`Cannot convert argument of type ${r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name} to parameter type ${this.name}`);var s=r.$$.ptrType.registeredClass;if(o=nn(r.$$.ptr,s,this.registeredClass),this.isSmartPointer)switch(r.$$.smartPtr===void 0&&H("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:r.$$.smartPtrType===this?o=r.$$.smartPtr:H(`Cannot convert argument of type ${r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:o=r.$$.smartPtr;break;case 2:if(r.$$.smartPtrType===this)o=r.$$.smartPtr;else{var c=r.clone();o=this.rawShare(o,gt.toHandle(()=>c.delete())),e!==null&&e.push(this.rawDestructor,o)}break;default:H("Unsupporting sharing policy")}return o}function br(e,r){if(r===null)return this.isReference&&H(`null is not a valid ${this.name}`),0;r.$$||H(`Cannot pass "${Re(r)}" as a ${this.name}`),r.$$.ptr||H(`Cannot pass deleted object as a pointer of type ${this.name}`),r.$$.ptrType.isConst&&H(`Cannot convert argument of type ${r.$$.ptrType.name} to parameter type ${this.name}`);var o=r.$$.ptrType.registeredClass,s=nn(r.$$.ptr,o,this.registeredClass);return s}function rn(e){return this.fromWireType(F[e>>>2>>>0])}var xr=()=>{Object.assign(an.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){var r;(r=this.rawDestructor)==null||r.call(this,e)},argPackAdvance:Mt,readValueFromPointer:rn,fromWireType:Dr})};function an(e,r,o,s,c,E,g,T,y,C,R){this.name=e,this.registeredClass=r,this.isReference=o,this.isConst=s,this.isSmartPointer=c,this.pointeeType=E,this.sharingPolicy=g,this.rawGetPointee=T,this.rawConstructor=y,this.rawShare=C,this.rawDestructor=R,!c&&r.baseClass===void 0?s?(this.toWireType=Wr,this.destructorFunction=null):(this.toWireType=br,this.destructorFunction=null):this.toWireType=Mr}var On=(e,r,o)=>{n.hasOwnProperty(e)||Se("Replacing nonexistent public symbol"),n[e].overloadTable!==void 0&&o!==void 0?n[e].overloadTable[o]=r:(n[e]=r,n[e].argCount=o)},on=[],Bn,Fn=e=>{var r=on[e];return r||(e>=on.length&&(on.length=e+1),on[e]=r=Bn.get(e)),r},kr=(e,r,o=[])=>{var s=Fn(r)(...o);return e[0]=="p"?s>>>0:s},Or=(e,r)=>(...o)=>kr(e,r,o),le=(e,r)=>{e=st(e);function o(){return e.includes("p")?Or(e,r):Fn(r)}var s=o();return typeof s!="function"&&H(`unknown function pointer with signature ${e}: ${r}`),s},Br=(e,r)=>{var o=Ye(r,function(s){this.name=r,this.message=s;var c=new Error(s).stack;c!==void 0&&(this.stack=this.toString()+`
3
- `+c.replace(/^Error(:[^\n]*)?\n/,""))});return o.prototype=Object.create(e.prototype),o.prototype.constructor=o,o.prototype.toString=function(){return this.message===void 0?this.name:`${this.name}: ${this.message}`},o},Un,$n=e=>{var r=eo(e),o=st(r);return ee(r),o},sn=(e,r)=>{var o=[],s={};function c(E){if(!s[E]&&!ut[E]){if(ht[E]){ht[E].forEach(c);return}o.push(E),s[E]=!0}}throw r.forEach(c),new Un(`${e}: `+o.map($n).join([", "]))};function Fr(e,r,o,s,c,E,g,T,y,C,R,N,O){e>>>=0,r>>>=0,o>>>=0,s>>>=0,c>>>=0,E>>>=0,g>>>=0,T>>>=0,y>>>=0,C>>>=0,R>>>=0,N>>>=0,O>>>=0,R=st(R),E=le(c,E),T&&(T=le(g,T)),C&&(C=le(y,C)),O=le(N,O);var W=Nr(R);hn(W,function(){sn(`Cannot construct ${R} due to unbound types`,[s])}),Le([e,r,o],s?[s]:[],x=>{var ot;x=x[0];var K,_t;s?(K=x.registeredClass,_t=K.instancePrototype):_t=en.prototype;var at=Ye(R,function(...In){if(Object.getPrototypeOf(this)!==lt)throw new te("Use 'new' to construct "+R);if(tt.constructor_body===void 0)throw new te(R+" has no accessible constructor");var er=tt.constructor_body[In.length];if(er===void 0)throw new te(`Tried to invoke ctor of ${R} with invalid number of parameters (${In.length}) - expected (${Object.keys(tt.constructor_body).toString()}) parameters instead!`);return er.apply(this,In)}),lt=Object.create(_t,{constructor:{value:at}});at.prototype=lt;var tt=new Gr(R,at,lt,O,K,E,T,C);tt.baseClass&&((ot=tt.baseClass).__derivedClasses??(ot.__derivedClasses=[]),tt.baseClass.__derivedClasses.push(tt));var ue=new an(R,tt,!0,!1,!1),At=new an(R+"*",tt,!1,!1,!1),Kt=new an(R+" const*",tt,!1,!0,!1);return kn[e]={pointerType:At,constPointerType:Kt},On(W,at),[ue,At,Kt]})}var gn=e=>{for(;e.length;){var r=e.pop(),o=e.pop();o(r)}},Hn=(e,r,o)=>(e instanceof Object||H(`${o} with invalid "this": ${e}`),e instanceof r.registeredClass.constructor||H(`${o} incompatible with "this" of type ${e.constructor.name}`),e.$$.ptr||H(`cannot call emscripten binding method ${o} on deleted object`),nn(e.$$.ptr,e.$$.ptrType.registeredClass,r.registeredClass)),Ur=function(e,r,o,s,c,E,g,T,y,C){e>>>=0,r>>>=0,o>>>=0,s>>>=0,c>>>=0,E>>>=0,g>>>=0,T>>>=0,y>>>=0,C>>>=0,r=st(r),c=le(s,c),Le([],[e],R=>{R=R[0];var N=`${R.name}.${r}`,O={get(){sn(`Cannot access ${N} due to unbound types`,[o,g])},enumerable:!0,configurable:!0};return y?O.set=()=>sn(`Cannot access ${N} due to unbound types`,[o,g]):O.set=W=>H(N+" is a read-only property"),Object.defineProperty(R.registeredClass.instancePrototype,r,O),Le([],y?[o,g]:[o],W=>{var x=W[0],K={get(){var at=Hn(this,R,N+" getter");return x.fromWireType(c(E,at))},enumerable:!0};if(y){y=le(T,y);var _t=W[1];K.set=function(at){var lt=Hn(this,R,N+" setter"),tt=[];y(C,lt,_t.toWireType(tt,at)),gn(tt)}}return Object.defineProperty(R.registeredClass.instancePrototype,r,K),[]}),[]})},An=[],Xt=[];function Tn(e){e>>>=0,e>9&&--Xt[e+1]===0&&(Xt[e]=void 0,An.push(e))}var $r=()=>Xt.length/2-5-An.length,Hr=()=>{Xt.push(0,1,void 0,1,null,1,!0,1,!1,1),n.count_emval_handles=$r},gt={toValue:e=>(e||H("Cannot use deleted val. handle = "+e),Xt[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const r=An.pop()||Xt.length;return Xt[r]=e,Xt[r+1]=1,r}}}},Vr={name:"emscripten::val",fromWireType:e=>{var r=gt.toValue(e);return Tn(e),r},toWireType:(e,r)=>gt.toHandle(r),argPackAdvance:Mt,readValueFromPointer:rn,destructorFunction:null};function Xr(e){return e>>>=0,Et(e,Vr)}var Kr=(e,r,o)=>{switch(r){case 1:return o?function(s){return this.fromWireType(U[s>>>0])}:function(s){return this.fromWireType(Z[s>>>0])};case 2:return o?function(s){return this.fromWireType(rt[s>>>1>>>0])}:function(s){return this.fromWireType(dt[s>>>1>>>0])};case 4:return o?function(s){return this.fromWireType(Y[s>>>2>>>0])}:function(s){return this.fromWireType(F[s>>>2>>>0])};default:throw new TypeError(`invalid integer width (${r}): ${e}`)}};function zr(e,r,o,s){e>>>=0,r>>>=0,o>>>=0,r=st(r);function c(){}c.values={},Et(e,{name:r,constructor:c,fromWireType:function(E){return this.constructor.values[E]},toWireType:(E,g)=>g.value,argPackAdvance:Mt,readValueFromPointer:Kr(r,o,s),destructorFunction:null}),hn(r,c)}var Pn=(e,r)=>{var o=ut[e];return o===void 0&&H(`${r} has unknown type ${$n(e)}`),o};function Jr(e,r,o){e>>>=0,r>>>=0;var s=Pn(e,"enum");r=st(r);var c=s.constructor,E=Object.create(s.constructor.prototype,{value:{value:o},constructor:{value:Ye(`${s.name}_${r}`,function(){})}});c.values[o]=E,c[r]=E}var Zr=(e,r)=>{switch(r){case 4:return function(o){return this.fromWireType(ct[o>>>2>>>0])};case 8:return function(o){return this.fromWireType(mt[o>>>3>>>0])};default:throw new TypeError(`invalid float width (${r}): ${e}`)}},qr=function(e,r,o){e>>>=0,r>>>=0,o>>>=0,r=st(r),Et(e,{name:r,fromWireType:s=>s,toWireType:(s,c)=>c,argPackAdvance:Mt,readValueFromPointer:Zr(r,o),destructorFunction:null})};function Vn(e){for(var r=1;r<e.length;++r)if(e[r]!==null&&e[r].destructorFunction===void 0)return!0;return!1}function Xn(e,r){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var o=Ye(e.name||"unknownFunctionName",function(){});o.prototype=e.prototype;var s=new o,c=e.apply(s,r);return c instanceof Object?c:s}function Qr(e,r,o,s){for(var c=Vn(e),E=e.length-2,g=[],T=["fn"],y=0;y<E;++y)g.push(`arg${y}`),T.push(`arg${y}Wired`);g=g.join(","),T=T.join(",");var C=`return function (${g}) {
1
+ var io=Object.defineProperty;var so=(a,t,i)=>t in a?io(a,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):a[t]=i;var bt=(a,t,i)=>so(a,typeof t!="symbol"?t+"":t,i);var _o="DwgConverterLicenseError",lo=["evaluation of @mlightcad/dwg-converter has expired"],co=["invalid @mlightcad/dwg-converter license key"];function uo(a){return a==="license_expired"||a==="license_invalid"}function ur(a){var t=a.toLowerCase();if(lo.some(function(i){return t.includes(i)}))return"license_expired";if(co.some(function(i){return t.includes(i)}))return"license_invalid"}function Eo(a){var t;return(t=ur(a))!==null&&t!==void 0?t:"license_invalid"}var fo=function(a,t,i,n){function d(_){return _ instanceof i?_:new i(function(u){u(_)})}return new(i||(i=Promise))(function(_,u){function f(y){try{A(n.next(y))}catch(v){u(v)}}function h(y){try{A(n.throw(y))}catch(v){u(v)}}function A(y){y.done?_(y.value):d(y.value).then(f,h)}A((n=n.apply(a,t||[])).next())})},ho=function(a,t){var i={label:0,sent:function(){if(_[0]&1)throw _[1];return _[1]},trys:[],ops:[]},n,d,_,u;return u={next:f(0),throw:f(1),return:f(2)},typeof Symbol=="function"&&(u[Symbol.iterator]=function(){return this}),u;function f(A){return function(y){return h([A,y])}}function h(A){if(n)throw new TypeError("Generator is already executing.");for(;u&&(u=0,A[0]&&(i=0)),i;)try{if(n=1,d&&(_=A[0]&2?d.return:A[0]?d.throw||((_=d.return)&&_.call(d),0):d.next)&&!(_=_.call(d,A[1])).done)return _;switch(d=0,_&&(A=[A[0]&2,_.value]),A[0]){case 0:case 1:_=A;break;case 4:return i.label++,{value:A[1],done:!1};case 5:i.label++,d=A[1],A=[0];continue;case 7:A=i.ops.pop(),i.trys.pop();continue;default:if(_=i.trys,!(_=_.length>0&&_[_.length-1])&&(A[0]===6||A[0]===2)){i=0;continue}if(A[0]===3&&(!_||A[1]>_[0]&&A[1]<_[3])){i.label=A[1];break}if(A[0]===6&&i.label<_[1]){i.label=_[1],_=A;break}if(_&&i.label<_[2]){i.label=_[2],i.ops.push(A);break}_[2]&&i.ops.pop(),i.trys.pop();continue}A=t.call(a,i)}catch(y){A=[6,y],d=0}finally{n=_=0}if(A[0]&5)throw A[1];return{value:A[0]?A[1]:void 0,done:!0}}},go=["out of memory","data cannot be cloned","allocation failed","memory access out of bounds"];function Ao(a){var t=a.toLowerCase();return go.some(function(i){return t.includes(i)})}function In(){var a=globalThis;if(typeof a.postMessage!="function")throw new Error("Worker messaging is not available in this runtime");return a}var To=(function(){function a(){this.setupMessageHandler()}return a.prototype.setupMessageHandler=function(){var t=this;In().onmessage=function(i){return fo(t,void 0,void 0,function(){var n,d,_,u,f,h,A;return ho(this,function(y){switch(y.label){case 0:n=i,d=n.data,_=d.id,u=d.input,y.label=1;case 1:return y.trys.push([1,3,,4]),[4,this.executeTask(u)];case 2:return f=y.sent(),this.sendResponse(_,!0,f),[3,4];case 3:return h=y.sent(),A=h instanceof Error?h.message:String(h),this.sendResponse(_,!1,void 0,A,this.classifyTaskError(h,A)),[3,4];case 4:return[2]}})})}},a.prototype.sendResponse=function(t,i,n,d,_){var u={id:t,success:i,data:n,error:d,errorCode:_};try{In().postMessage(u)}catch(h){var f=h instanceof Error?h.message:String(h);In().postMessage({id:t,success:!1,error:f,errorCode:this.classifyPostMessageError(f)})}},a.prototype.classifyTaskError=function(t,i){if(t instanceof Error){var n=t.code;if(uo(n))return n;if(t.name===_o)return Eo(i)}var d=ur(i);return d||this.classifyPostMessageError(i)},a.prototype.classifyPostMessageError=function(t){return Ao(t)?"worker_oom":t.toLowerCase().includes("timed out")?"worker_timeout":"worker_error"},a})();const yo="modulepreload",Po=function(a,t){return new URL(a,t).href},nr={},po=function(t,i,n){let d=Promise.resolve();if(i&&i.length>0){let u=function(y){return Promise.all(y.map(v=>Promise.resolve(v).then(p=>({status:"fulfilled",value:p}),p=>({status:"rejected",reason:p}))))};const f=document.getElementsByTagName("link"),h=document.querySelector("meta[property=csp-nonce]"),A=(h==null?void 0:h.nonce)||(h==null?void 0:h.getAttribute("nonce"));d=u(i.map(y=>{if(y=Po(y,n),y in nr)return;nr[y]=!0;const v=y.endsWith(".css"),p=v?'[rel="stylesheet"]':"";if(!!n)for(let w=f.length-1;w>=0;w--){const I=f[w];if(I.href===y&&(!v||I.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${y}"]${p}`))return;const D=document.createElement("link");if(D.rel=v?"stylesheet":yo,v||(D.as="script"),D.crossOrigin="",D.href=y,A&&D.setAttribute("nonce",A),document.head.appendChild(D),v)return new Promise((w,I)=>{D.addEventListener("load",w),D.addEventListener("error",()=>I(new Error(`Unable to preload CSS for ${y}`)))})}))}function _(u){const f=new Event("vite:preloadError",{cancelable:!0});if(f.payload=u,window.dispatchEvent(f),!f.defaultPrevented)throw u}return d.then(u=>{for(const f of u||[])f.status==="rejected"&&_(f.reason);return t().catch(_)})};var rr=(()=>{var a=import.meta.url;return(async function(t={}){var i,n=t,d,_,u=new Promise((e,r)=>{d=e,_=r}),f=typeof window=="object",h=typeof WorkerGlobalScope<"u",A=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer";if(A){const{createRequire:e}=await po(()=>Promise.resolve().then(()=>jo),void 0,import.meta.url);var y=e(import.meta.url)}var v=Object.assign({},n),p="./this.program",m="";function D(e){return n.locateFile?n.locateFile(e,m):m+e}var w,I;if(A){var S=y("fs"),G=y("path");import.meta.url.startsWith("data:")||(m=G.dirname(y("url").fileURLToPath(import.meta.url))+"/"),I=e=>{e=yt(e)?new URL(e):e;var r=S.readFileSync(e);return r},w=async(e,r=!0)=>{e=yt(e)?new URL(e):e;var o=S.readFileSync(e,r?void 0:"utf8");return o},!n.thisProgram&&process.argv.length>1&&(p=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2)}else(f||h)&&(h?m=self.location.href:typeof document<"u"&&document.currentScript&&(m=document.currentScript.src),a&&(m=a),m.startsWith("blob:")?m="":m=m.slice(0,m.replace(/[?#].*/,"").lastIndexOf("/")+1),h&&(I=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),w=async e=>{if(yt(e))return new Promise((o,s)=>{var c=new XMLHttpRequest;c.open("GET",e,!0),c.responseType="arraybuffer",c.onload=()=>{if(c.status==200||c.status==0&&c.response){o(c.response);return}s(c.status)},c.onerror=s,c.send(null)});var r=await fetch(e,{credentials:"same-origin"});if(r.ok)return r.arrayBuffer();throw new Error(r.status+" : "+r.url)});var M=n.print||(()=>{}).bind(console),b=n.printErr||(()=>{}).bind(console);Object.assign(n,v),v=null,n.arguments&&n.arguments,n.thisProgram&&(p=n.thisProgram);var k=n.wasmBinary,$,q=!1,U,Z,rt,dt,Y,F,ct,it,Yt,It,yt=e=>e.startsWith("file://");function wt(){var e=$.buffer;n.HEAP8=U=new Int8Array(e),n.HEAP16=rt=new Int16Array(e),n.HEAPU8=Z=new Uint8Array(e),n.HEAPU16=dt=new Uint16Array(e),n.HEAP32=Y=new Int32Array(e),n.HEAPU32=F=new Uint32Array(e),n.HEAPF32=ct=new Float32Array(e),n.HEAPF64=It=new Float64Array(e),n.HEAP64=it=new BigInt64Array(e),n.HEAPU64=Yt=new BigUint64Array(e)}function xt(){if(n.preRun)for(typeof n.preRun=="function"&&(n.preRun=[n.preRun]);n.preRun.length;)Ne(n.preRun.shift());$t(he)}function Ct(){!n.noFSInit&&!l.initialized&&l.init(),X.__wasm_call_ctors(),l.ignorePermissions=!1}function kt(){if(n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;)Ht(n.postRun.shift());$t(oe)}var ft=0,Dt=null;function zt(e){var r;ft++,(r=n.monitorRunDependencies)==null||r.call(n,ft)}function Ot(e){var o;if(ft--,(o=n.monitorRunDependencies)==null||o.call(n,ft),ft==0&&Dt){var r=Dt;Dt=null,r()}}function Nt(e){var o;(o=n.onAbort)==null||o.call(n,e),e="Aborted("+e+")",b(e),q=!0,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw _(r),r}var Bt;function Ft(){return n.locateFile?D("libredwg-web.wasm"):new URL(""+new URL("libredwg-web.wasm",import.meta.url).href,import.meta.url).href}function ne(e){if(e==Bt&&k)return new Uint8Array(k);if(I)return I(e);throw"both async and sync fetching of the wasm failed"}async function re(e){if(!k)try{var r=await w(e);return new Uint8Array(r)}catch{}return ne(e)}async function ae(e,r){try{var o=await re(e),s=await WebAssembly.instantiate(o,r);return s}catch(c){b(`failed to asynchronously prepare wasm: ${c}`),Nt(c)}}async function Ut(e,r,o){if(!e&&typeof WebAssembly.instantiateStreaming=="function"&&!yt(r)&&!A)try{var s=fetch(r,{credentials:"same-origin"}),c=await WebAssembly.instantiateStreaming(s,o);return c}catch(E){b(`wasm streaming compile failed: ${E}`),b("falling back to ArrayBuffer instantiation")}return ae(r,o)}function Q(){return{env:tr,wasi_snapshot_preview1:tr}}async function V(){function e(E,g){return X=E.exports,X=oo(X),$=X.memory,wt(),Bn=X.__indirect_function_table,Ot(),X}zt();function r(E){return e(E.instance)}var o=Q();if(n.instantiateWasm)return new Promise((E,g)=>{n.instantiateWasm(o,(T,P)=>{e(T),E(T.exports)})});Bt??(Bt=Ft());try{var s=await Ut(k,Bt,o),c=r(s);return c}catch(E){return _(E),Promise.reject(E)}}var $t=e=>{for(;e.length>0;)e.shift()(n)},oe=[],Ht=e=>oe.unshift(e),he=[],Ne=e=>he.unshift(e);n.noExitRuntime;function Ge(e,r,o="i8"){switch(o.endsWith("*")&&(o="*"),o){case"i1":U[e>>>0]=r;break;case"i8":U[e>>>0]=r;break;case"i16":rt[e>>>1>>>0]=r;break;case"i32":Y[e>>>2>>>0]=r;break;case"i64":it[e>>>3]=BigInt(r);break;case"float":ct[e>>>2>>>0]=r;break;case"double":It[e>>>3>>>0]=r;break;case"*":F[e>>>2>>>0]=r;break;default:Nt(`invalid type for setValue: ${o}`)}}var We=e=>no(e),Me=()=>ao();class be{constructor(r){this.excPtr=r,this.ptr=r-24}set_type(r){F[this.ptr+4>>>2>>>0]=r}get_type(){return F[this.ptr+4>>>2>>>0]}set_destructor(r){F[this.ptr+8>>>2>>>0]=r}get_destructor(){return F[this.ptr+8>>>2>>>0]}set_caught(r){r=r?1:0,U[this.ptr+12>>>0]=r}get_caught(){return U[this.ptr+12>>>0]!=0}set_rethrown(r){r=r?1:0,U[this.ptr+13>>>0]=r}get_rethrown(){return U[this.ptr+13>>>0]!=0}init(r,o){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(o)}set_adjusted_ptr(r){F[this.ptr+16>>>2>>>0]=r}get_adjusted_ptr(){return F[this.ptr+16>>>2>>>0]}}var ge=0,Ae=9007199254740992,Te=-9007199254740992,ye=e=>e<Te||e>Ae?NaN:Number(e);function xe(e,r,o){e>>>=0,r>>>=0,o>>>=0;var s=new be(e);throw s.init(r,o),ge=e,ge}var Jt=()=>{var e=Y[+et.varargs>>>2>>>0];return et.varargs+=4,e},Gt=Jt,z={isAbs:e=>e.charAt(0)==="/",splitPath:e=>{var r=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return r.exec(e).slice(1)},normalizeArray:(e,r)=>{for(var o=0,s=e.length-1;s>=0;s--){var c=e[s];c==="."?e.splice(s,1):c===".."?(e.splice(s,1),o++):o&&(e.splice(s,1),o--)}if(r)for(;o;o--)e.unshift("..");return e},normalize:e=>{var r=z.isAbs(e),o=e.slice(-1)==="/";return e=z.normalizeArray(e.split("/").filter(s=>!!s),!r).join("/"),!e&&!r&&(e="."),e&&o&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=z.splitPath(e),o=r[0],s=r[1];return!o&&!s?".":(s&&(s=s.slice(0,-1)),o+s)},basename:e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],join:(...e)=>z.normalize(e.join("/")),join2:(e,r)=>z.normalize(e+"/"+r)},Pe=()=>{if(A){var e=y("crypto");return r=>e.randomFillSync(r)}return r=>crypto.getRandomValues(r)},Zt=e=>{(Zt=Pe())(e)},Rt={resolve:(...e)=>{for(var r="",o=!1,s=e.length-1;s>=-1&&!o;s--){var c=s>=0?e[s]:l.cwd();if(typeof c!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!c)return"";r=c+"/"+r,o=z.isAbs(c)}return r=z.normalizeArray(r.split("/").filter(E=>!!E),!o).join("/"),(o?"/":"")+r||"."},relative:(e,r)=>{e=Rt.resolve(e).slice(1),r=Rt.resolve(r).slice(1);function o(C){for(var R=0;R<C.length&&C[R]==="";R++);for(var N=C.length-1;N>=0&&C[N]==="";N--);return R>N?[]:C.slice(R,N-R+1)}for(var s=o(e.split("/")),c=o(r.split("/")),E=Math.min(s.length,c.length),g=E,T=0;T<E;T++)if(s[T]!==c[T]){g=T;break}for(var P=[],T=g;T<s.length;T++)P.push("..");return P=P.concat(c.slice(g)),P.join("/")}},ie=typeof TextDecoder<"u"?new TextDecoder:void 0,St=(e,r=0,o=NaN)=>{r>>>=0;for(var s=r+o,c=r;e[c]&&!(c>=s);)++c;if(c-r>16&&e.buffer&&ie)return ie.decode(e.subarray(r,c));for(var E="";r<c;){var g=e[r++];if(!(g&128)){E+=String.fromCharCode(g);continue}var T=e[r++]&63;if((g&224)==192){E+=String.fromCharCode((g&31)<<6|T);continue}var P=e[r++]&63;if((g&240)==224?g=(g&15)<<12|T<<6|P:g=(g&7)<<18|T<<12|P<<6|e[r++]&63,g<65536)E+=String.fromCharCode(g);else{var C=g-65536;E+=String.fromCharCode(55296|C>>10,56320|C&1023)}}return E},qt=[],Wt=e=>{for(var r=0,o=0;o<e.length;++o){var s=e.charCodeAt(o);s<=127?r++:s<=2047?r+=2:s>=55296&&s<=57343?(r+=4,++o):r+=3}return r},Qt=(e,r,o,s)=>{if(o>>>=0,!(s>0))return 0;for(var c=o,E=o+s-1,g=0;g<e.length;++g){var T=e.charCodeAt(g);if(T>=55296&&T<=57343){var P=e.charCodeAt(++g);T=65536+((T&1023)<<10)|P&1023}if(T<=127){if(o>=E)break;r[o++>>>0]=T}else if(T<=2047){if(o+1>=E)break;r[o++>>>0]=192|T>>6,r[o++>>>0]=128|T&63}else if(T<=65535){if(o+2>=E)break;r[o++>>>0]=224|T>>12,r[o++>>>0]=128|T>>6&63,r[o++>>>0]=128|T&63}else{if(o+3>=E)break;r[o++>>>0]=240|T>>18,r[o++>>>0]=128|T>>12&63,r[o++>>>0]=128|T>>6&63,r[o++>>>0]=128|T&63}}return r[o>>>0]=0,o-c},se=(e,r,o)=>{var s=Wt(e)+1,c=new Array(s),E=Qt(e,c,0,c.length);return c.length=E,c},pe=()=>{if(!qt.length){var e=null;if(A){var r=256,o=Buffer.alloc(r),s=0,c=process.stdin.fd;try{s=S.readSync(c,o,0,r)}catch(E){if(E.toString().includes("EOF"))s=0;else throw E}s>0&&(e=o.slice(0,s).toString("utf-8"))}else typeof window<"u"&&typeof window.prompt=="function"&&(e=window.prompt("Input: "),e!==null&&(e+=`
2
+ `));if(!e)return null;qt=se(e)}return qt.shift()},Pt={ttys:[],init(){},shutdown(){},register(e,r){Pt.ttys[e]={input:[],output:[],ops:r},l.registerDevice(e,Pt.stream_ops)},stream_ops:{open(e){var r=Pt.ttys[e.node.rdev];if(!r)throw new l.ErrnoError(43);e.tty=r,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,r,o,s,c){if(!e.tty||!e.tty.ops.get_char)throw new l.ErrnoError(60);for(var E=0,g=0;g<s;g++){var T;try{T=e.tty.ops.get_char(e.tty)}catch{throw new l.ErrnoError(29)}if(T===void 0&&E===0)throw new l.ErrnoError(6);if(T==null)break;E++,r[o+g]=T}return E&&(e.node.atime=Date.now()),E},write(e,r,o,s,c){if(!e.tty||!e.tty.ops.put_char)throw new l.ErrnoError(60);try{for(var E=0;E<s;E++)e.tty.ops.put_char(e.tty,r[o+E])}catch{throw new l.ErrnoError(29)}return s&&(e.node.mtime=e.node.ctime=Date.now()),E}},default_tty_ops:{get_char(e){return pe()},put_char(e,r){r===null||r===10?(M(St(e.output)),e.output=[]):r!=0&&e.output.push(r)},fsync(e){var r;((r=e.output)==null?void 0:r.length)>0&&(M(St(e.output)),e.output=[])},ioctl_tcgets(e){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(e,r,o){return 0},ioctl_tiocgwinsz(e){return[24,80]}},default_tty1_ops:{put_char(e,r){r===null||r===10?(b(St(e.output)),e.output=[]):r!=0&&e.output.push(r)},fsync(e){var r;((r=e.output)==null?void 0:r.length)>0&&(b(St(e.output)),e.output=[])}}},ve=(e,r)=>Math.ceil(e/r)*r,_e=e=>{Nt()},B={ops_table:null,mount(e){return B.createNode(null,"/",16895,0)},createNode(e,r,o,s){if(l.isBlkdev(o)||l.isFIFO(o))throw new l.ErrnoError(63);B.ops_table||(B.ops_table={dir:{node:{getattr:B.node_ops.getattr,setattr:B.node_ops.setattr,lookup:B.node_ops.lookup,mknod:B.node_ops.mknod,rename:B.node_ops.rename,unlink:B.node_ops.unlink,rmdir:B.node_ops.rmdir,readdir:B.node_ops.readdir,symlink:B.node_ops.symlink},stream:{llseek:B.stream_ops.llseek}},file:{node:{getattr:B.node_ops.getattr,setattr:B.node_ops.setattr},stream:{llseek:B.stream_ops.llseek,read:B.stream_ops.read,write:B.stream_ops.write,allocate:B.stream_ops.allocate,mmap:B.stream_ops.mmap,msync:B.stream_ops.msync}},link:{node:{getattr:B.node_ops.getattr,setattr:B.node_ops.setattr,readlink:B.node_ops.readlink},stream:{}},chrdev:{node:{getattr:B.node_ops.getattr,setattr:B.node_ops.setattr},stream:l.chrdev_stream_ops}});var c=l.createNode(e,r,o,s);return l.isDir(c.mode)?(c.node_ops=B.ops_table.dir.node,c.stream_ops=B.ops_table.dir.stream,c.contents={}):l.isFile(c.mode)?(c.node_ops=B.ops_table.file.node,c.stream_ops=B.ops_table.file.stream,c.usedBytes=0,c.contents=null):l.isLink(c.mode)?(c.node_ops=B.ops_table.link.node,c.stream_ops=B.ops_table.link.stream):l.isChrdev(c.mode)&&(c.node_ops=B.ops_table.chrdev.node,c.stream_ops=B.ops_table.chrdev.stream),c.atime=c.mtime=c.ctime=Date.now(),e&&(e.contents[r]=c,e.atime=e.mtime=e.ctime=c.atime),c},getFileDataAsTypedArray(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage(e,r){var o=e.contents?e.contents.length:0;if(!(o>=r)){var s=1024*1024;r=Math.max(r,o*(o<s?2:1.125)>>>0),o!=0&&(r=Math.max(r,256));var c=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(c.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,r){if(e.usedBytes!=r)if(r==0)e.contents=null,e.usedBytes=0;else{var o=e.contents;e.contents=new Uint8Array(r),o&&e.contents.set(o.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr(e){var r={};return r.dev=l.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,l.isDir(e.mode)?r.size=4096:l.isFile(e.mode)?r.size=e.usedBytes:l.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.atime),r.mtime=new Date(e.mtime),r.ctime=new Date(e.ctime),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr(e,r){for(const o of["mode","atime","mtime","ctime"])r[o]!=null&&(e[o]=r[o]);r.size!==void 0&&B.resizeFileStorage(e,r.size)},lookup(e,r){throw B.doesNotExistError},mknod(e,r,o,s){return B.createNode(e,r,o,s)},rename(e,r,o){var s;try{s=l.lookupNode(r,o)}catch{}if(s){if(l.isDir(e.mode))for(var c in s.contents)throw new l.ErrnoError(55);l.hashRemoveNode(s)}delete e.parent.contents[e.name],r.contents[o]=e,e.name=o,r.ctime=r.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,r){delete e.contents[r],e.ctime=e.mtime=Date.now()},rmdir(e,r){var o=l.lookupNode(e,r);for(var s in o.contents)throw new l.ErrnoError(55);delete e.contents[r],e.ctime=e.mtime=Date.now()},readdir(e){return[".","..",...Object.keys(e.contents)]},symlink(e,r,o){var s=B.createNode(e,r,41471,0);return s.link=o,s},readlink(e){if(!l.isLink(e.mode))throw new l.ErrnoError(28);return e.link}},stream_ops:{read(e,r,o,s,c){var E=e.node.contents;if(c>=e.node.usedBytes)return 0;var g=Math.min(e.node.usedBytes-c,s);if(g>8&&E.subarray)r.set(E.subarray(c,c+g),o);else for(var T=0;T<g;T++)r[o+T]=E[c+T];return g},write(e,r,o,s,c,E){if(r.buffer===U.buffer&&(E=!1),!s)return 0;var g=e.node;if(g.mtime=g.ctime=Date.now(),r.subarray&&(!g.contents||g.contents.subarray)){if(E)return g.contents=r.subarray(o,o+s),g.usedBytes=s,s;if(g.usedBytes===0&&c===0)return g.contents=r.slice(o,o+s),g.usedBytes=s,s;if(c+s<=g.usedBytes)return g.contents.set(r.subarray(o,o+s),c),s}if(B.expandFileStorage(g,c+s),g.contents.subarray&&r.subarray)g.contents.set(r.subarray(o,o+s),c);else for(var T=0;T<s;T++)g.contents[c+T]=r[o+T];return g.usedBytes=Math.max(g.usedBytes,c+s),s},llseek(e,r,o){var s=r;if(o===1?s+=e.position:o===2&&l.isFile(e.node.mode)&&(s+=e.node.usedBytes),s<0)throw new l.ErrnoError(28);return s},allocate(e,r,o){B.expandFileStorage(e.node,r+o),e.node.usedBytes=Math.max(e.node.usedBytes,r+o)},mmap(e,r,o,s,c){if(!l.isFile(e.node.mode))throw new l.ErrnoError(43);var E,g,T=e.node.contents;if(!(c&2)&&T&&T.buffer===U.buffer)g=!1,E=T.byteOffset;else{if(g=!0,E=_e(),!E)throw new l.ErrnoError(48);T&&((o>0||o+r<T.length)&&(T.subarray?T=T.subarray(o,o+r):T=Array.prototype.slice.call(T,o,o+r)),U.set(T,E>>>0))}return{ptr:E,allocated:g}},msync(e,r,o,s,c){return B.stream_ops.write(e,r,0,s,o,!1),0}}},me=async e=>{var r=await w(e);return new Uint8Array(r)},Ie=(e,r,o,s,c,E)=>{l.createDataFile(e,r,o,s,c,E)},we=n.preloadPlugins||[],Ce=(e,r,o,s)=>{typeof Browser<"u"&&Browser.init();var c=!1;return we.forEach(E=>{c||E.canHandle(r)&&(E.handle(e,r,o,s),c=!0)}),c},ze=(e,r,o,s,c,E,g,T,P,C)=>{var R=r?Rt.resolve(z.join2(e,r)):e;function N(O){function W(x){C==null||C(),T||Ie(e,r,x,s,c,P),E==null||E(),Ot()}Ce(O,R,W,()=>{g==null||g(),Ot()})||W(O)}zt(),typeof o=="string"?me(o).then(N,g):N(o)},Je=e=>{var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},o=r[e];if(typeof o>"u")throw new Error(`Unknown file open mode: ${e}`);return o},De=(e,r)=>{var o=0;return e&&(o|=365),r&&(o|=146),o},l={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(e){bt(this,"name","ErrnoError");this.errno=e}},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{constructor(){bt(this,"shared",{})}get object(){return this.node}set object(e){this.node=e}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(e){this.shared.flags=e}get position(){return this.shared.position}set position(e){this.shared.position=e}},FSNode:class{constructor(e,r,o,s){bt(this,"node_ops",{});bt(this,"stream_ops",{});bt(this,"readMode",365);bt(this,"writeMode",146);bt(this,"mounted",null);e||(e=this),this.parent=e,this.mount=e.mount,this.id=l.nextInode++,this.name=r,this.mode=o,this.rdev=s,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return l.isDir(this.mode)}get isDevice(){return l.isChrdev(this.mode)}},lookupPath(e,r={}){if(!e)throw new l.ErrnoError(44);r.follow_mount??(r.follow_mount=!0),z.isAbs(e)||(e=l.cwd()+"/"+e);t:for(var o=0;o<40;o++){for(var s=e.split("/").filter(C=>!!C),c=l.root,E="/",g=0;g<s.length;g++){var T=g===s.length-1;if(T&&r.parent)break;if(s[g]!=="."){if(s[g]===".."){E=z.dirname(E),c=c.parent;continue}E=z.join2(E,s[g]);try{c=l.lookupNode(c,s[g])}catch(C){if((C==null?void 0:C.errno)===44&&T&&r.noent_okay)return{path:E};throw C}if(l.isMountpoint(c)&&(!T||r.follow_mount)&&(c=c.mounted.root),l.isLink(c.mode)&&(!T||r.follow)){if(!c.node_ops.readlink)throw new l.ErrnoError(52);var P=c.node_ops.readlink(c);z.isAbs(P)||(P=z.dirname(E)+"/"+P),e=P+"/"+s.slice(g+1).join("/");continue t}}}return{path:E,node:c}}throw new l.ErrnoError(32)},getPath(e){for(var r;;){if(l.isRoot(e)){var o=e.mount.mountpoint;return r?o[o.length-1]!=="/"?`${o}/${r}`:o+r:o}r=r?`${e.name}/${r}`:e.name,e=e.parent}},hashName(e,r){for(var o=0,s=0;s<r.length;s++)o=(o<<5)-o+r.charCodeAt(s)|0;return(e+o>>>0)%l.nameTable.length},hashAddNode(e){var r=l.hashName(e.parent.id,e.name);e.name_next=l.nameTable[r],l.nameTable[r]=e},hashRemoveNode(e){var r=l.hashName(e.parent.id,e.name);if(l.nameTable[r]===e)l.nameTable[r]=e.name_next;else for(var o=l.nameTable[r];o;){if(o.name_next===e){o.name_next=e.name_next;break}o=o.name_next}},lookupNode(e,r){var o=l.mayLookup(e);if(o)throw new l.ErrnoError(o);for(var s=l.hashName(e.id,r),c=l.nameTable[s];c;c=c.name_next){var E=c.name;if(c.parent.id===e.id&&E===r)return c}return l.lookup(e,r)},createNode(e,r,o,s){var c=new l.FSNode(e,r,o,s);return l.hashAddNode(c),c},destroyNode(e){l.hashRemoveNode(e)},isRoot(e){return e===e.parent},isMountpoint(e){return!!e.mounted},isFile(e){return(e&61440)===32768},isDir(e){return(e&61440)===16384},isLink(e){return(e&61440)===40960},isChrdev(e){return(e&61440)===8192},isBlkdev(e){return(e&61440)===24576},isFIFO(e){return(e&61440)===4096},isSocket(e){return(e&49152)===49152},flagsToPermissionString(e){var r=["r","w","rw"][e&3];return e&512&&(r+="w"),r},nodePermissions(e,r){return l.ignorePermissions?0:r.includes("r")&&!(e.mode&292)||r.includes("w")&&!(e.mode&146)||r.includes("x")&&!(e.mode&73)?2:0},mayLookup(e){if(!l.isDir(e.mode))return 54;var r=l.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate(e,r){if(!l.isDir(e.mode))return 54;try{var o=l.lookupNode(e,r);return 20}catch{}return l.nodePermissions(e,"wx")},mayDelete(e,r,o){var s;try{s=l.lookupNode(e,r)}catch(E){return E.errno}var c=l.nodePermissions(e,"wx");if(c)return c;if(o){if(!l.isDir(s.mode))return 54;if(l.isRoot(s)||l.getPath(s)===l.cwd())return 10}else if(l.isDir(s.mode))return 31;return 0},mayOpen(e,r){return e?l.isLink(e.mode)?32:l.isDir(e.mode)&&(l.flagsToPermissionString(r)!=="r"||r&576)?31:l.nodePermissions(e,l.flagsToPermissionString(r)):44},checkOpExists(e,r){if(!e)throw new l.ErrnoError(r);return e},MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=l.MAX_OPEN_FDS;e++)if(!l.streams[e])return e;throw new l.ErrnoError(33)},getStreamChecked(e){var r=l.getStream(e);if(!r)throw new l.ErrnoError(8);return r},getStream:e=>l.streams[e],createStream(e,r=-1){return e=Object.assign(new l.FSStream,e),r==-1&&(r=l.nextfd()),e.fd=r,l.streams[r]=e,e},closeStream(e){l.streams[e]=null},dupStream(e,r=-1){var s,c;var o=l.createStream(e,r);return(c=(s=o.stream_ops)==null?void 0:s.dup)==null||c.call(s,o),o},doSetAttr(e,r,o){var s=e==null?void 0:e.stream_ops.setattr,c=s?e:r;s??(s=r.node_ops.setattr),l.checkOpExists(s,63),s(c,o)},chrdev_stream_ops:{open(e){var o,s;var r=l.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,(s=(o=e.stream_ops).open)==null||s.call(o,e)},llseek(){throw new l.ErrnoError(70)}},major:e=>e>>8,minor:e=>e&255,makedev:(e,r)=>e<<8|r,registerDevice(e,r){l.devices[e]={stream_ops:r}},getDevice:e=>l.devices[e],getMounts(e){for(var r=[],o=[e];o.length;){var s=o.pop();r.push(s),o.push(...s.mounts)}return r},syncfs(e,r){typeof e=="function"&&(r=e,e=!1),l.syncFSRequests++,l.syncFSRequests>1&&b(`warning: ${l.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var o=l.getMounts(l.root.mount),s=0;function c(g){return l.syncFSRequests--,r(g)}function E(g){if(g)return E.errored?void 0:(E.errored=!0,c(g));++s>=o.length&&c(null)}o.forEach(g=>{if(!g.type.syncfs)return E(null);g.type.syncfs(g,e,E)})},mount(e,r,o){var s=o==="/",c=!o,E;if(s&&l.root)throw new l.ErrnoError(10);if(!s&&!c){var g=l.lookupPath(o,{follow_mount:!1});if(o=g.path,E=g.node,l.isMountpoint(E))throw new l.ErrnoError(10);if(!l.isDir(E.mode))throw new l.ErrnoError(54)}var T={type:e,opts:r,mountpoint:o,mounts:[]},P=e.mount(T);return P.mount=T,T.root=P,s?l.root=P:E&&(E.mounted=T,E.mount&&E.mount.mounts.push(T)),P},unmount(e){var r=l.lookupPath(e,{follow_mount:!1});if(!l.isMountpoint(r.node))throw new l.ErrnoError(28);var o=r.node,s=o.mounted,c=l.getMounts(s);Object.keys(l.nameTable).forEach(g=>{for(var T=l.nameTable[g];T;){var P=T.name_next;c.includes(T.mount)&&l.destroyNode(T),T=P}}),o.mounted=null;var E=o.mount.mounts.indexOf(s);o.mount.mounts.splice(E,1)},lookup(e,r){return e.node_ops.lookup(e,r)},mknod(e,r,o){var s=l.lookupPath(e,{parent:!0}),c=s.node,E=z.basename(e);if(!E)throw new l.ErrnoError(28);if(E==="."||E==="..")throw new l.ErrnoError(20);var g=l.mayCreate(c,E);if(g)throw new l.ErrnoError(g);if(!c.node_ops.mknod)throw new l.ErrnoError(63);return c.node_ops.mknod(c,E,r,o)},statfs(e){return l.statfsNode(l.lookupPath(e,{follow:!0}).node)},statfsStream(e){return l.statfsNode(e.node)},statfsNode(e){var r={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:l.nextInode,ffree:l.nextInode-1,fsid:42,flags:2,namelen:255};return e.node_ops.statfs&&Object.assign(r,e.node_ops.statfs(e.mount.opts.root)),r},create(e,r=438){return r&=4095,r|=32768,l.mknod(e,r,0)},mkdir(e,r=511){return r&=1023,r|=16384,l.mknod(e,r,0)},mkdirTree(e,r){for(var o=e.split("/"),s="",c=0;c<o.length;++c)if(o[c]){s+="/"+o[c];try{l.mkdir(s,r)}catch(E){if(E.errno!=20)throw E}}},mkdev(e,r,o){return typeof o>"u"&&(o=r,r=438),r|=8192,l.mknod(e,r,o)},symlink(e,r){if(!Rt.resolve(e))throw new l.ErrnoError(44);var o=l.lookupPath(r,{parent:!0}),s=o.node;if(!s)throw new l.ErrnoError(44);var c=z.basename(r),E=l.mayCreate(s,c);if(E)throw new l.ErrnoError(E);if(!s.node_ops.symlink)throw new l.ErrnoError(63);return s.node_ops.symlink(s,c,e)},rename(e,r){var o=z.dirname(e),s=z.dirname(r),c=z.basename(e),E=z.basename(r),g,T,P;if(g=l.lookupPath(e,{parent:!0}),T=g.node,g=l.lookupPath(r,{parent:!0}),P=g.node,!T||!P)throw new l.ErrnoError(44);if(T.mount!==P.mount)throw new l.ErrnoError(75);var C=l.lookupNode(T,c),R=Rt.relative(e,s);if(R.charAt(0)!==".")throw new l.ErrnoError(28);if(R=Rt.relative(r,o),R.charAt(0)!==".")throw new l.ErrnoError(55);var N;try{N=l.lookupNode(P,E)}catch{}if(C!==N){var O=l.isDir(C.mode),W=l.mayDelete(T,c,O);if(W)throw new l.ErrnoError(W);if(W=N?l.mayDelete(P,E,O):l.mayCreate(P,E),W)throw new l.ErrnoError(W);if(!T.node_ops.rename)throw new l.ErrnoError(63);if(l.isMountpoint(C)||N&&l.isMountpoint(N))throw new l.ErrnoError(10);if(P!==T&&(W=l.nodePermissions(T,"w"),W))throw new l.ErrnoError(W);l.hashRemoveNode(C);try{T.node_ops.rename(C,P,E),C.parent=P}catch(x){throw x}finally{l.hashAddNode(C)}}},rmdir(e){var r=l.lookupPath(e,{parent:!0}),o=r.node,s=z.basename(e),c=l.lookupNode(o,s),E=l.mayDelete(o,s,!0);if(E)throw new l.ErrnoError(E);if(!o.node_ops.rmdir)throw new l.ErrnoError(63);if(l.isMountpoint(c))throw new l.ErrnoError(10);o.node_ops.rmdir(o,s),l.destroyNode(c)},readdir(e){var r=l.lookupPath(e,{follow:!0}),o=r.node,s=l.checkOpExists(o.node_ops.readdir,54);return s(o)},unlink(e){var r=l.lookupPath(e,{parent:!0}),o=r.node;if(!o)throw new l.ErrnoError(44);var s=z.basename(e),c=l.lookupNode(o,s),E=l.mayDelete(o,s,!1);if(E)throw new l.ErrnoError(E);if(!o.node_ops.unlink)throw new l.ErrnoError(63);if(l.isMountpoint(c))throw new l.ErrnoError(10);o.node_ops.unlink(o,s),l.destroyNode(c)},readlink(e){var r=l.lookupPath(e),o=r.node;if(!o)throw new l.ErrnoError(44);if(!o.node_ops.readlink)throw new l.ErrnoError(28);return o.node_ops.readlink(o)},stat(e,r){var o=l.lookupPath(e,{follow:!r}),s=o.node,c=l.checkOpExists(s.node_ops.getattr,63);return c(s)},fstat(e){var r=l.getStreamChecked(e),o=r.node,s=r.stream_ops.getattr,c=s?r:o;return s??(s=o.node_ops.getattr),l.checkOpExists(s,63),s(c)},lstat(e){return l.stat(e,!0)},doChmod(e,r,o,s){l.doSetAttr(e,r,{mode:o&4095|r.mode&-4096,ctime:Date.now(),dontFollow:s})},chmod(e,r,o){var s;if(typeof e=="string"){var c=l.lookupPath(e,{follow:!o});s=c.node}else s=e;l.doChmod(null,s,r,o)},lchmod(e,r){l.chmod(e,r,!0)},fchmod(e,r){var o=l.getStreamChecked(e);l.doChmod(o,o.node,r,!1)},doChown(e,r,o){l.doSetAttr(e,r,{timestamp:Date.now(),dontFollow:o})},chown(e,r,o,s){var c;if(typeof e=="string"){var E=l.lookupPath(e,{follow:!s});c=E.node}else c=e;l.doChown(null,c,s)},lchown(e,r,o){l.chown(e,r,o,!0)},fchown(e,r,o){var s=l.getStreamChecked(e);l.doChown(s,s.node,!1)},doTruncate(e,r,o){if(l.isDir(r.mode))throw new l.ErrnoError(31);if(!l.isFile(r.mode))throw new l.ErrnoError(28);var s=l.nodePermissions(r,"w");if(s)throw new l.ErrnoError(s);l.doSetAttr(e,r,{size:o,timestamp:Date.now()})},truncate(e,r){if(r<0)throw new l.ErrnoError(28);var o;if(typeof e=="string"){var s=l.lookupPath(e,{follow:!0});o=s.node}else o=e;l.doTruncate(null,o,r)},ftruncate(e,r){var o=l.getStreamChecked(e);if(r<0||(o.flags&2097155)===0)throw new l.ErrnoError(28);l.doTruncate(o,o.node,r)},utime(e,r,o){var s=l.lookupPath(e,{follow:!0}),c=s.node,E=l.checkOpExists(c.node_ops.setattr,63);E(c,{atime:r,mtime:o})},open(e,r,o=438){if(e==="")throw new l.ErrnoError(44);r=typeof r=="string"?Je(r):r,r&64?o=o&4095|32768:o=0;var s,c;if(typeof e=="object")s=e;else{c=e.endsWith("/");var E=l.lookupPath(e,{follow:!(r&131072),noent_okay:!0});s=E.node,e=E.path}var g=!1;if(r&64)if(s){if(r&128)throw new l.ErrnoError(20)}else{if(c)throw new l.ErrnoError(31);s=l.mknod(e,o|511,0),g=!0}if(!s)throw new l.ErrnoError(44);if(l.isChrdev(s.mode)&&(r&=-513),r&65536&&!l.isDir(s.mode))throw new l.ErrnoError(54);if(!g){var T=l.mayOpen(s,r);if(T)throw new l.ErrnoError(T)}r&512&&!g&&l.truncate(s,0),r&=-131713;var P=l.createStream({node:s,path:l.getPath(s),flags:r,seekable:!0,position:0,stream_ops:s.stream_ops,ungotten:[],error:!1});return P.stream_ops.open&&P.stream_ops.open(P),g&&l.chmod(s,o&511),n.logReadFiles&&!(r&1)&&(e in l.readFiles||(l.readFiles[e]=1)),P},close(e){if(l.isClosed(e))throw new l.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(r){throw r}finally{l.closeStream(e.fd)}e.fd=null},isClosed(e){return e.fd===null},llseek(e,r,o){if(l.isClosed(e))throw new l.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new l.ErrnoError(70);if(o!=0&&o!=1&&o!=2)throw new l.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,o),e.ungotten=[],e.position},read(e,r,o,s,c){if(s<0||c<0)throw new l.ErrnoError(28);if(l.isClosed(e))throw new l.ErrnoError(8);if((e.flags&2097155)===1)throw new l.ErrnoError(8);if(l.isDir(e.node.mode))throw new l.ErrnoError(31);if(!e.stream_ops.read)throw new l.ErrnoError(28);var E=typeof c<"u";if(!E)c=e.position;else if(!e.seekable)throw new l.ErrnoError(70);var g=e.stream_ops.read(e,r,o,s,c);return E||(e.position+=g),g},write(e,r,o,s,c,E){if(s<0||c<0)throw new l.ErrnoError(28);if(l.isClosed(e))throw new l.ErrnoError(8);if((e.flags&2097155)===0)throw new l.ErrnoError(8);if(l.isDir(e.node.mode))throw new l.ErrnoError(31);if(!e.stream_ops.write)throw new l.ErrnoError(28);e.seekable&&e.flags&1024&&l.llseek(e,0,2);var g=typeof c<"u";if(!g)c=e.position;else if(!e.seekable)throw new l.ErrnoError(70);var T=e.stream_ops.write(e,r,o,s,c,E);return g||(e.position+=T),T},allocate(e,r,o){if(l.isClosed(e))throw new l.ErrnoError(8);if(r<0||o<=0)throw new l.ErrnoError(28);if((e.flags&2097155)===0)throw new l.ErrnoError(8);if(!l.isFile(e.node.mode)&&!l.isDir(e.node.mode))throw new l.ErrnoError(43);if(!e.stream_ops.allocate)throw new l.ErrnoError(138);e.stream_ops.allocate(e,r,o)},mmap(e,r,o,s,c){if((s&2)!==0&&(c&2)===0&&(e.flags&2097155)!==2)throw new l.ErrnoError(2);if((e.flags&2097155)===1)throw new l.ErrnoError(2);if(!e.stream_ops.mmap)throw new l.ErrnoError(43);if(!r)throw new l.ErrnoError(28);return e.stream_ops.mmap(e,r,o,s,c)},msync(e,r,o,s,c){return e.stream_ops.msync?e.stream_ops.msync(e,r,o,s,c):0},ioctl(e,r,o){if(!e.stream_ops.ioctl)throw new l.ErrnoError(59);return e.stream_ops.ioctl(e,r,o)},readFile(e,r={}){if(r.flags=r.flags||0,r.encoding=r.encoding||"binary",r.encoding!=="utf8"&&r.encoding!=="binary")throw new Error(`Invalid encoding type "${r.encoding}"`);var o,s=l.open(e,r.flags),c=l.stat(e),E=c.size,g=new Uint8Array(E);return l.read(s,g,0,E,0),r.encoding==="utf8"?o=St(g):r.encoding==="binary"&&(o=g),l.close(s),o},writeFile(e,r,o={}){o.flags=o.flags||577;var s=l.open(e,o.flags,o.mode);if(typeof r=="string"){var c=new Uint8Array(Wt(r)+1),E=Qt(r,c,0,c.length);l.write(s,c,0,E,void 0,o.canOwn)}else if(ArrayBuffer.isView(r))l.write(s,r,0,r.byteLength,void 0,o.canOwn);else throw new Error("Unsupported data type");l.close(s)},cwd:()=>l.currentPath,chdir(e){var r=l.lookupPath(e,{follow:!0});if(r.node===null)throw new l.ErrnoError(44);if(!l.isDir(r.node.mode))throw new l.ErrnoError(54);var o=l.nodePermissions(r.node,"x");if(o)throw new l.ErrnoError(o);l.currentPath=r.path},createDefaultDirectories(){l.mkdir("/tmp"),l.mkdir("/home"),l.mkdir("/home/web_user")},createDefaultDevices(){l.mkdir("/dev"),l.registerDevice(l.makedev(1,3),{read:()=>0,write:(s,c,E,g,T)=>g,llseek:()=>0}),l.mkdev("/dev/null",l.makedev(1,3)),Pt.register(l.makedev(5,0),Pt.default_tty_ops),Pt.register(l.makedev(6,0),Pt.default_tty1_ops),l.mkdev("/dev/tty",l.makedev(5,0)),l.mkdev("/dev/tty1",l.makedev(6,0));var e=new Uint8Array(1024),r=0,o=()=>(r===0&&(Zt(e),r=e.byteLength),e[--r]);l.createDevice("/dev","random",o),l.createDevice("/dev","urandom",o),l.mkdir("/dev/shm"),l.mkdir("/dev/shm/tmp")},createSpecialDirectories(){l.mkdir("/proc");var e=l.mkdir("/proc/self");l.mkdir("/proc/self/fd"),l.mount({mount(){var r=l.createNode(e,"fd",16895,73);return r.stream_ops={llseek:B.stream_ops.llseek},r.node_ops={lookup(o,s){var c=+s,E=l.getStreamChecked(c),g={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>E.path},id:c+1};return g.parent=g,g},readdir(){return Array.from(l.streams.entries()).filter(([o,s])=>s).map(([o,s])=>o.toString())}},r}},{},"/proc/self/fd")},createStandardStreams(e,r,o){e?l.createDevice("/dev","stdin",e):l.symlink("/dev/tty","/dev/stdin"),r?l.createDevice("/dev","stdout",null,r):l.symlink("/dev/tty","/dev/stdout"),o?l.createDevice("/dev","stderr",null,o):l.symlink("/dev/tty1","/dev/stderr"),l.open("/dev/stdin",0),l.open("/dev/stdout",1),l.open("/dev/stderr",1)},staticInit(){l.nameTable=new Array(4096),l.mount(B,{},"/"),l.createDefaultDirectories(),l.createDefaultDevices(),l.createSpecialDirectories(),l.filesystems={MEMFS:B}},init(e,r,o){l.initialized=!0,e??(e=n.stdin),r??(r=n.stdout),o??(o=n.stderr),l.createStandardStreams(e,r,o)},quit(){l.initialized=!1;for(var e=0;e<l.streams.length;e++){var r=l.streams[e];r&&l.close(r)}},findObject(e,r){var o=l.analyzePath(e,r);return o.exists?o.object:null},analyzePath(e,r){try{var o=l.lookupPath(e,{follow:!r});e=o.path}catch{}var s={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var o=l.lookupPath(e,{parent:!0});s.parentExists=!0,s.parentPath=o.path,s.parentObject=o.node,s.name=z.basename(e),o=l.lookupPath(e,{follow:!r}),s.exists=!0,s.path=o.path,s.object=o.node,s.name=o.node.name,s.isRoot=o.path==="/"}catch(c){s.error=c.errno}return s},createPath(e,r,o,s){e=typeof e=="string"?e:l.getPath(e);for(var c=r.split("/").reverse();c.length;){var E=c.pop();if(E){var g=z.join2(e,E);try{l.mkdir(g)}catch{}e=g}}return g},createFile(e,r,o,s,c){var E=z.join2(typeof e=="string"?e:l.getPath(e),r),g=De(s,c);return l.create(E,g)},createDataFile(e,r,o,s,c,E){var g=r;e&&(e=typeof e=="string"?e:l.getPath(e),g=r?z.join2(e,r):e);var T=De(s,c),P=l.create(g,T);if(o){if(typeof o=="string"){for(var C=new Array(o.length),R=0,N=o.length;R<N;++R)C[R]=o.charCodeAt(R);o=C}l.chmod(P,T|146);var O=l.open(P,577);l.write(O,o,0,o.length,0,E),l.close(O),l.chmod(P,T)}},createDevice(e,r,o,s){var T;var c=z.join2(typeof e=="string"?e:l.getPath(e),r),E=De(!!o,!!s);(T=l.createDevice).major??(T.major=64);var g=l.makedev(l.createDevice.major++,0);return l.registerDevice(g,{open(P){P.seekable=!1},close(P){var C;(C=s==null?void 0:s.buffer)!=null&&C.length&&s(10)},read(P,C,R,N,O){for(var W=0,x=0;x<N;x++){var K;try{K=o()}catch{throw new l.ErrnoError(29)}if(K===void 0&&W===0)throw new l.ErrnoError(6);if(K==null)break;W++,C[R+x]=K}return W&&(P.node.atime=Date.now()),W},write(P,C,R,N,O){for(var W=0;W<N;W++)try{s(C[R+W])}catch{throw new l.ErrnoError(29)}return N&&(P.node.mtime=P.node.ctime=Date.now()),W}}),l.mkdev(c,E,g)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if(typeof XMLHttpRequest<"u")throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");try{e.contents=I(e.url),e.usedBytes=e.contents.length}catch{throw new l.ErrnoError(29)}},createLazyFile(e,r,o,s,c){class E{constructor(){bt(this,"lengthKnown",!1);bt(this,"chunks",[])}get(W){if(!(W>this.length-1||W<0)){var x=W%this.chunkSize,K=W/this.chunkSize|0;return this.getter(K)[x]}}setDataGetter(W){this.getter=W}cacheLength(){var W=new XMLHttpRequest;if(W.open("HEAD",o,!1),W.send(null),!(W.status>=200&&W.status<300||W.status===304))throw new Error("Couldn't load "+o+". Status: "+W.status);var x=Number(W.getResponseHeader("Content-length")),K,_t=(K=W.getResponseHeader("Accept-Ranges"))&&K==="bytes",at=(K=W.getResponseHeader("Content-Encoding"))&&K==="gzip",lt=1024*1024;_t||(lt=x);var tt=(At,Kt)=>{if(At>Kt)throw new Error("invalid range ("+At+", "+Kt+") or no bytes requested!");if(Kt>x-1)throw new Error("only "+x+" bytes available! programmer error!");var ot=new XMLHttpRequest;if(ot.open("GET",o,!1),x!==lt&&ot.setRequestHeader("Range","bytes="+At+"-"+Kt),ot.responseType="arraybuffer",ot.overrideMimeType&&ot.overrideMimeType("text/plain; charset=x-user-defined"),ot.send(null),!(ot.status>=200&&ot.status<300||ot.status===304))throw new Error("Couldn't load "+o+". Status: "+ot.status);return ot.response!==void 0?new Uint8Array(ot.response||[]):se(ot.responseText||"")},ue=this;ue.setDataGetter(At=>{var Kt=At*lt,ot=(At+1)*lt-1;if(ot=Math.min(ot,x-1),typeof ue.chunks[At]>"u"&&(ue.chunks[At]=tt(Kt,ot)),typeof ue.chunks[At]>"u")throw new Error("doXHR failed!");return ue.chunks[At]}),(at||!x)&&(lt=x=1,x=this.getter(0).length,lt=x,M("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=x,this._chunkSize=lt,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(typeof XMLHttpRequest<"u"){if(!h)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var g=new E,T={isDevice:!1,contents:g}}else var T={isDevice:!1,url:o};var P=l.createFile(e,r,T,s,c);T.contents?P.contents=T.contents:T.url&&(P.contents=null,P.url=T.url),Object.defineProperties(P,{usedBytes:{get:function(){return this.contents.length}}});var C={},R=Object.keys(P.stream_ops);R.forEach(O=>{var W=P.stream_ops[O];C[O]=(...x)=>(l.forceLoadFile(P),W(...x))});function N(O,W,x,K,_t){var at=O.node.contents;if(_t>=at.length)return 0;var lt=Math.min(at.length-_t,K);if(at.slice)for(var tt=0;tt<lt;tt++)W[x+tt]=at[_t+tt];else for(var tt=0;tt<lt;tt++)W[x+tt]=at.get(_t+tt);return lt}return C.read=(O,W,x,K,_t)=>(l.forceLoadFile(P),N(O,W,x,K,_t)),C.mmap=(O,W,x,K,_t)=>{l.forceLoadFile(P);var at=_e();if(!at)throw new l.ErrnoError(48);return N(O,U,at,W,x),{ptr:at,allocated:!0}},P.stream_ops=C,P}},de=(e,r)=>(e>>>=0,e?St(Z,e,r):""),et={DEFAULT_POLLMASK:5,calculateAt(e,r,o){if(z.isAbs(r))return r;var s;if(e===-100)s=l.cwd();else{var c=et.getStreamFromFD(e);s=c.path}if(r.length==0){if(!o)throw new l.ErrnoError(44);return s}return s+"/"+r},writeStat(e,r){Y[e>>>2>>>0]=r.dev,Y[e+4>>>2>>>0]=r.mode,F[e+8>>>2>>>0]=r.nlink,Y[e+12>>>2>>>0]=r.uid,Y[e+16>>>2>>>0]=r.gid,Y[e+20>>>2>>>0]=r.rdev,it[e+24>>>3]=BigInt(r.size),Y[e+32>>>2>>>0]=4096,Y[e+36>>>2>>>0]=r.blocks;var o=r.atime.getTime(),s=r.mtime.getTime(),c=r.ctime.getTime();return it[e+40>>>3]=BigInt(Math.floor(o/1e3)),F[e+48>>>2>>>0]=o%1e3*1e3*1e3,it[e+56>>>3]=BigInt(Math.floor(s/1e3)),F[e+64>>>2>>>0]=s%1e3*1e3*1e3,it[e+72>>>3]=BigInt(Math.floor(c/1e3)),F[e+80>>>2>>>0]=c%1e3*1e3*1e3,it[e+88>>>3]=BigInt(r.ino),0},writeStatFs(e,r){Y[e+4>>>2>>>0]=r.bsize,Y[e+40>>>2>>>0]=r.bsize,Y[e+8>>>2>>>0]=r.blocks,Y[e+12>>>2>>>0]=r.bfree,Y[e+16>>>2>>>0]=r.bavail,Y[e+20>>>2>>>0]=r.files,Y[e+24>>>2>>>0]=r.ffree,Y[e+28>>>2>>>0]=r.fsid,Y[e+44>>>2>>>0]=r.flags,Y[e+36>>>2>>>0]=r.namelen},doMsync(e,r,o,s,c){if(!l.isFile(r.node.mode))throw new l.ErrnoError(43);if(s&2)return 0;var E=Z.slice(e,e+o);l.msync(r,E,c,o,s)},getStreamFromFD(e){var r=l.getStreamChecked(e);return r},varargs:void 0,getStr(e){var r=de(e);return r}};function cn(e,r,o){o>>>=0,et.varargs=o;try{var s=et.getStreamFromFD(e);switch(r){case 0:{var c=Jt();if(c<0)return-28;for(;l.streams[c];)c++;var E;return E=l.dupStream(s,c),E.fd}case 1:case 2:return 0;case 3:return s.flags;case 4:{var c=Jt();return s.flags|=c,0}case 12:{var c=Gt(),g=0;return rt[c+g>>>1>>>0]=2,0}case 13:case 14:return 0}return-28}catch(T){if(typeof l>"u"||T.name!=="ErrnoError")throw T;return-T.errno}}function Ze(e,r){r>>>=0;try{return et.writeStat(r,l.fstat(e))}catch(o){if(typeof l>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}function ke(e,r,o){o>>>=0,et.varargs=o;try{var s=et.getStreamFromFD(e);switch(r){case 21509:return s.tty?0:-59;case 21505:{if(!s.tty)return-59;if(s.tty.ops.ioctl_tcgets){var c=s.tty.ops.ioctl_tcgets(s),E=Gt();Y[E>>>2>>>0]=c.c_iflag||0,Y[E+4>>>2>>>0]=c.c_oflag||0,Y[E+8>>>2>>>0]=c.c_cflag||0,Y[E+12>>>2>>>0]=c.c_lflag||0;for(var g=0;g<32;g++)U[E+g+17>>>0]=c.c_cc[g]||0;return 0}return 0}case 21510:case 21511:case 21512:return s.tty?0:-59;case 21506:case 21507:case 21508:{if(!s.tty)return-59;if(s.tty.ops.ioctl_tcsets){for(var E=Gt(),T=Y[E>>>2>>>0],P=Y[E+4>>>2>>>0],C=Y[E+8>>>2>>>0],R=Y[E+12>>>2>>>0],N=[],g=0;g<32;g++)N.push(U[E+g+17>>>0]);return s.tty.ops.ioctl_tcsets(s.tty,r,{c_iflag:T,c_oflag:P,c_cflag:C,c_lflag:R,c_cc:N})}return 0}case 21519:{if(!s.tty)return-59;var E=Gt();return Y[E>>>2>>>0]=0,0}case 21520:return s.tty?-28:-59;case 21531:{var E=Gt();return l.ioctl(s,r,E)}case 21523:{if(!s.tty)return-59;if(s.tty.ops.ioctl_tiocgwinsz){var O=s.tty.ops.ioctl_tiocgwinsz(s.tty),E=Gt();rt[E>>>1>>>0]=O[0],rt[E+2>>>1>>>0]=O[1]}return 0}case 21524:return s.tty?0:-59;case 21515:return s.tty?0:-59;default:return-28}}catch(W){if(typeof l>"u"||W.name!=="ErrnoError")throw W;return-W.errno}}function J(e,r){e>>>=0,r>>>=0;try{return e=et.getStr(e),et.writeStat(r,l.lstat(e))}catch(o){if(typeof l>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}function j(e,r,o,s){r>>>=0,o>>>=0;try{r=et.getStr(r);var c=s&256,E=s&4096;return s=s&-6401,r=et.calculateAt(e,r,E),et.writeStat(o,c?l.lstat(r):l.stat(r))}catch(g){if(typeof l>"u"||g.name!=="ErrnoError")throw g;return-g.errno}}function jt(e,r,o,s){r>>>=0,s>>>=0,et.varargs=s;try{r=et.getStr(r),r=et.calculateAt(e,r);var c=s?Jt():0;return l.open(r,o,c).fd}catch(E){if(typeof l>"u"||E.name!=="ErrnoError")throw E;return-E.errno}}function qe(e,r){e>>>=0,r>>>=0;try{return e=et.getStr(e),et.writeStat(r,l.stat(e))}catch(o){if(typeof l>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}var un=()=>Nt(""),Re=e=>{if(e===null)return"null";var r=typeof e;return r==="object"||r==="array"||r==="function"?e.toString():""+e},Oe=()=>{for(var e=new Array(256),r=0;r<256;++r)e[r]=String.fromCharCode(r);Qe=e},Qe,st=e=>{for(var r="",o=e;Z[o>>>0];)r+=Qe[Z[o++>>>0]];return r},Vt={},ut={},ht={},te,H=e=>{throw new te(e)},je,Se=e=>{throw new je(e)},Le=(e,r,o)=>{e.forEach(T=>ht[T]=r);function s(T){var P=o(T);P.length!==e.length&&Se("Mismatched type converter count");for(var C=0;C<e.length;++C)Et(e[C],P[C])}var c=new Array(r.length),E=[],g=0;r.forEach((T,P)=>{ut.hasOwnProperty(T)?c[P]=ut[T]:(E.push(T),Vt.hasOwnProperty(T)||(Vt[T]=[]),Vt[T].push(()=>{c[P]=ut[T],++g,g===E.length&&s(c)}))}),E.length===0&&s(c)};function Be(e,r,o={}){var s=r.name;if(e||H(`type "${s}" must have a positive integer typeid pointer`),ut.hasOwnProperty(e)){if(o.ignoreDuplicateRegistrations)return;H(`Cannot register type '${s}' twice`)}if(ut[e]=r,delete ht[e],Vt.hasOwnProperty(e)){var c=Vt[e];delete Vt[e],c.forEach(E=>E())}}function Et(e,r,o={}){return Be(e,r,o)}var Fe=(e,r,o)=>{switch(r){case 1:return o?s=>U[s>>>0]:s=>Z[s>>>0];case 2:return o?s=>rt[s>>>1>>>0]:s=>dt[s>>>1>>>0];case 4:return o?s=>Y[s>>>2>>>0]:s=>F[s>>>2>>>0];case 8:return o?s=>it[s>>>3]:s=>Yt[s>>>3];default:throw new TypeError(`invalid integer width (${r}): ${e}`)}};function Pr(e,r,o,s,c){e>>>=0,r>>>=0,o>>>=0,r=st(r);var E=r.indexOf("u")!=-1;Et(e,{name:r,fromWireType:g=>g,toWireType:function(g,T){if(typeof T!="bigint"&&typeof T!="number")throw new TypeError(`Cannot convert "${Re(T)}" to ${this.name}`);return typeof T=="number"&&(T=BigInt(T)),T},argPackAdvance:Mt,readValueFromPointer:Fe(r,o,!E),destructorFunction:null})}var Mt=8;function pr(e,r,o,s){e>>>=0,r>>>=0,r=st(r),Et(e,{name:r,fromWireType:function(c){return!!c},toWireType:function(c,E){return E?o:s},argPackAdvance:Mt,readValueFromPointer:function(c){return this.fromWireType(Z[c>>>0])},destructorFunction:null})}var vr=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),En=e=>{function r(o){return o.$$.ptrType.registeredClass.name}H(r(e)+" instance already deleted")},fn=!1,Mn=e=>{},mr=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},bn=e=>{e.count.value-=1;var r=e.count.value===0;r&&mr(e)},xn=(e,r,o)=>{if(r===o)return e;if(o.baseClass===void 0)return null;var s=xn(e,r,o.baseClass);return s===null?null:o.downcast(s)},kn={},Ir={},wr=(e,r)=>{for(r===void 0&&H("ptr should not be undefined");e.baseClass;)r=e.upcast(r),e=e.baseClass;return r},Cr=(e,r)=>(r=wr(e,r),Ir[r]),tn=(e,r)=>{(!r.ptrType||!r.ptr)&&Se("makeClassHandle requires ptr and ptrType");var o=!!r.smartPtrType,s=!!r.smartPtr;return o!==s&&Se("Both smartPtrType and smartPtr must be specified"),r.count={value:1},Ue(Object.create(e,{$$:{value:r,writable:!0}}))};function Dr(e){var r=this.getPointee(e);if(!r)return this.destructor(e),null;var o=Cr(this.registeredClass,r);if(o!==void 0){if(o.$$.count.value===0)return o.$$.ptr=r,o.$$.smartPtr=e,o.clone();var s=o.clone();return this.destructor(e),s}function c(){return this.isSmartPointer?tn(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:r,smartPtrType:this,smartPtr:e}):tn(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var E=this.registeredClass.getActualType(r),g=kn[E];if(!g)return c.call(this);var T;this.isConst?T=g.constPointerType:T=g.pointerType;var P=xn(r,this.registeredClass,T.registeredClass);return P===null?c.call(this):this.isSmartPointer?tn(T.registeredClass.instancePrototype,{ptrType:T,ptr:P,smartPtrType:this,smartPtr:e}):tn(T.registeredClass.instancePrototype,{ptrType:T,ptr:P})}var Ue=e=>typeof FinalizationRegistry>"u"?(Ue=r=>r,e):(fn=new FinalizationRegistry(r=>{bn(r.$$)}),Ue=r=>{var o=r.$$,s=!!o.smartPtr;if(s){var c={$$:o};fn.register(r,c,r)}return r},Mn=r=>fn.unregister(r),Ue(e)),Rr=()=>{Object.assign(en.prototype,{isAliasOf(e){if(!(this instanceof en)||!(e instanceof en))return!1;var r=this.$$.ptrType.registeredClass,o=this.$$.ptr;e.$$=e.$$;for(var s=e.$$.ptrType.registeredClass,c=e.$$.ptr;r.baseClass;)o=r.upcast(o),r=r.baseClass;for(;s.baseClass;)c=s.upcast(c),s=s.baseClass;return r===s&&o===c},clone(){if(this.$$.ptr||En(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=Ue(Object.create(Object.getPrototypeOf(this),{$$:{value:vr(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||En(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&H("Object already scheduled for deletion"),Mn(this),bn(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||En(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&H("Object already scheduled for deletion"),this.$$.deleteScheduled=!0,this}})};function en(){}var Ye=(e,r)=>Object.defineProperty(r,"name",{value:e}),Sr=(e,r,o)=>{if(e[r].overloadTable===void 0){var s=e[r];e[r]=function(...c){return e[r].overloadTable.hasOwnProperty(c.length)||H(`Function '${o}' called with an invalid number of arguments (${c.length}) - expects one of (${e[r].overloadTable})!`),e[r].overloadTable[c.length].apply(this,c)},e[r].overloadTable=[],e[r].overloadTable[s.argCount]=s}},hn=(e,r,o)=>{n.hasOwnProperty(e)?((o===void 0||n[e].overloadTable!==void 0&&n[e].overloadTable[o]!==void 0)&&H(`Cannot register public name '${e}' twice`),Sr(n,e,e),n[e].overloadTable.hasOwnProperty(o)&&H(`Cannot register multiple overloads of a function with the same number of arguments (${o})!`),n[e].overloadTable[o]=r):(n[e]=r,n[e].argCount=o)},Lr=48,Yr=57,Nr=e=>{e=e.replace(/[^a-zA-Z0-9_]/g,"$");var r=e.charCodeAt(0);return r>=Lr&&r<=Yr?`_${e}`:e};function Gr(e,r,o,s,c,E,g,T){this.name=e,this.constructor=r,this.instancePrototype=o,this.rawDestructor=s,this.baseClass=c,this.getActualType=E,this.upcast=g,this.downcast=T,this.pureVirtualFunctions=[]}var nn=(e,r,o)=>{for(;r!==o;)r.upcast||H(`Expected null or instance of ${o.name}, got an instance of ${r.name}`),e=r.upcast(e),r=r.baseClass;return e};function Wr(e,r){if(r===null)return this.isReference&&H(`null is not a valid ${this.name}`),0;r.$$||H(`Cannot pass "${Re(r)}" as a ${this.name}`),r.$$.ptr||H(`Cannot pass deleted object as a pointer of type ${this.name}`);var o=r.$$.ptrType.registeredClass,s=nn(r.$$.ptr,o,this.registeredClass);return s}function Mr(e,r){var o;if(r===null)return this.isReference&&H(`null is not a valid ${this.name}`),this.isSmartPointer?(o=this.rawConstructor(),e!==null&&e.push(this.rawDestructor,o),o):0;(!r||!r.$$)&&H(`Cannot pass "${Re(r)}" as a ${this.name}`),r.$$.ptr||H(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&r.$$.ptrType.isConst&&H(`Cannot convert argument of type ${r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name} to parameter type ${this.name}`);var s=r.$$.ptrType.registeredClass;if(o=nn(r.$$.ptr,s,this.registeredClass),this.isSmartPointer)switch(r.$$.smartPtr===void 0&&H("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:r.$$.smartPtrType===this?o=r.$$.smartPtr:H(`Cannot convert argument of type ${r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:o=r.$$.smartPtr;break;case 2:if(r.$$.smartPtrType===this)o=r.$$.smartPtr;else{var c=r.clone();o=this.rawShare(o,gt.toHandle(()=>c.delete())),e!==null&&e.push(this.rawDestructor,o)}break;default:H("Unsupporting sharing policy")}return o}function br(e,r){if(r===null)return this.isReference&&H(`null is not a valid ${this.name}`),0;r.$$||H(`Cannot pass "${Re(r)}" as a ${this.name}`),r.$$.ptr||H(`Cannot pass deleted object as a pointer of type ${this.name}`),r.$$.ptrType.isConst&&H(`Cannot convert argument of type ${r.$$.ptrType.name} to parameter type ${this.name}`);var o=r.$$.ptrType.registeredClass,s=nn(r.$$.ptr,o,this.registeredClass);return s}function rn(e){return this.fromWireType(F[e>>>2>>>0])}var xr=()=>{Object.assign(an.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){var r;(r=this.rawDestructor)==null||r.call(this,e)},argPackAdvance:Mt,readValueFromPointer:rn,fromWireType:Dr})};function an(e,r,o,s,c,E,g,T,P,C,R){this.name=e,this.registeredClass=r,this.isReference=o,this.isConst=s,this.isSmartPointer=c,this.pointeeType=E,this.sharingPolicy=g,this.rawGetPointee=T,this.rawConstructor=P,this.rawShare=C,this.rawDestructor=R,!c&&r.baseClass===void 0?s?(this.toWireType=Wr,this.destructorFunction=null):(this.toWireType=br,this.destructorFunction=null):this.toWireType=Mr}var On=(e,r,o)=>{n.hasOwnProperty(e)||Se("Replacing nonexistent public symbol"),n[e].overloadTable!==void 0&&o!==void 0?n[e].overloadTable[o]=r:(n[e]=r,n[e].argCount=o)},on=[],Bn,Fn=e=>{var r=on[e];return r||(e>=on.length&&(on.length=e+1),on[e]=r=Bn.get(e)),r},kr=(e,r,o=[])=>{var s=Fn(r)(...o);return e[0]=="p"?s>>>0:s},Or=(e,r)=>(...o)=>kr(e,r,o),le=(e,r)=>{e=st(e);function o(){return e.includes("p")?Or(e,r):Fn(r)}var s=o();return typeof s!="function"&&H(`unknown function pointer with signature ${e}: ${r}`),s},Br=(e,r)=>{var o=Ye(r,function(s){this.name=r,this.message=s;var c=new Error(s).stack;c!==void 0&&(this.stack=this.toString()+`
3
+ `+c.replace(/^Error(:[^\n]*)?\n/,""))});return o.prototype=Object.create(e.prototype),o.prototype.constructor=o,o.prototype.toString=function(){return this.message===void 0?this.name:`${this.name}: ${this.message}`},o},Un,$n=e=>{var r=eo(e),o=st(r);return ee(r),o},sn=(e,r)=>{var o=[],s={};function c(E){if(!s[E]&&!ut[E]){if(ht[E]){ht[E].forEach(c);return}o.push(E),s[E]=!0}}throw r.forEach(c),new Un(`${e}: `+o.map($n).join([", "]))};function Fr(e,r,o,s,c,E,g,T,P,C,R,N,O){e>>>=0,r>>>=0,o>>>=0,s>>>=0,c>>>=0,E>>>=0,g>>>=0,T>>>=0,P>>>=0,C>>>=0,R>>>=0,N>>>=0,O>>>=0,R=st(R),E=le(c,E),T&&(T=le(g,T)),C&&(C=le(P,C)),O=le(N,O);var W=Nr(R);hn(W,function(){sn(`Cannot construct ${R} due to unbound types`,[s])}),Le([e,r,o],s?[s]:[],x=>{var ot;x=x[0];var K,_t;s?(K=x.registeredClass,_t=K.instancePrototype):_t=en.prototype;var at=Ye(R,function(...mn){if(Object.getPrototypeOf(this)!==lt)throw new te("Use 'new' to construct "+R);if(tt.constructor_body===void 0)throw new te(R+" has no accessible constructor");var er=tt.constructor_body[mn.length];if(er===void 0)throw new te(`Tried to invoke ctor of ${R} with invalid number of parameters (${mn.length}) - expected (${Object.keys(tt.constructor_body).toString()}) parameters instead!`);return er.apply(this,mn)}),lt=Object.create(_t,{constructor:{value:at}});at.prototype=lt;var tt=new Gr(R,at,lt,O,K,E,T,C);tt.baseClass&&((ot=tt.baseClass).__derivedClasses??(ot.__derivedClasses=[]),tt.baseClass.__derivedClasses.push(tt));var ue=new an(R,tt,!0,!1,!1),At=new an(R+"*",tt,!1,!1,!1),Kt=new an(R+" const*",tt,!1,!0,!1);return kn[e]={pointerType:At,constPointerType:Kt},On(W,at),[ue,At,Kt]})}var gn=e=>{for(;e.length;){var r=e.pop(),o=e.pop();o(r)}},Hn=(e,r,o)=>(e instanceof Object||H(`${o} with invalid "this": ${e}`),e instanceof r.registeredClass.constructor||H(`${o} incompatible with "this" of type ${e.constructor.name}`),e.$$.ptr||H(`cannot call emscripten binding method ${o} on deleted object`),nn(e.$$.ptr,e.$$.ptrType.registeredClass,r.registeredClass)),Ur=function(e,r,o,s,c,E,g,T,P,C){e>>>=0,r>>>=0,o>>>=0,s>>>=0,c>>>=0,E>>>=0,g>>>=0,T>>>=0,P>>>=0,C>>>=0,r=st(r),c=le(s,c),Le([],[e],R=>{R=R[0];var N=`${R.name}.${r}`,O={get(){sn(`Cannot access ${N} due to unbound types`,[o,g])},enumerable:!0,configurable:!0};return P?O.set=()=>sn(`Cannot access ${N} due to unbound types`,[o,g]):O.set=W=>H(N+" is a read-only property"),Object.defineProperty(R.registeredClass.instancePrototype,r,O),Le([],P?[o,g]:[o],W=>{var x=W[0],K={get(){var at=Hn(this,R,N+" getter");return x.fromWireType(c(E,at))},enumerable:!0};if(P){P=le(T,P);var _t=W[1];K.set=function(at){var lt=Hn(this,R,N+" setter"),tt=[];P(C,lt,_t.toWireType(tt,at)),gn(tt)}}return Object.defineProperty(R.registeredClass.instancePrototype,r,K),[]}),[]})},An=[],Xt=[];function Tn(e){e>>>=0,e>9&&--Xt[e+1]===0&&(Xt[e]=void 0,An.push(e))}var $r=()=>Xt.length/2-5-An.length,Hr=()=>{Xt.push(0,1,void 0,1,null,1,!0,1,!1,1),n.count_emval_handles=$r},gt={toValue:e=>(e||H("Cannot use deleted val. handle = "+e),Xt[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const r=An.pop()||Xt.length;return Xt[r]=e,Xt[r+1]=1,r}}}},Vr={name:"emscripten::val",fromWireType:e=>{var r=gt.toValue(e);return Tn(e),r},toWireType:(e,r)=>gt.toHandle(r),argPackAdvance:Mt,readValueFromPointer:rn,destructorFunction:null};function Xr(e){return e>>>=0,Et(e,Vr)}var Kr=(e,r,o)=>{switch(r){case 1:return o?function(s){return this.fromWireType(U[s>>>0])}:function(s){return this.fromWireType(Z[s>>>0])};case 2:return o?function(s){return this.fromWireType(rt[s>>>1>>>0])}:function(s){return this.fromWireType(dt[s>>>1>>>0])};case 4:return o?function(s){return this.fromWireType(Y[s>>>2>>>0])}:function(s){return this.fromWireType(F[s>>>2>>>0])};default:throw new TypeError(`invalid integer width (${r}): ${e}`)}};function zr(e,r,o,s){e>>>=0,r>>>=0,o>>>=0,r=st(r);function c(){}c.values={},Et(e,{name:r,constructor:c,fromWireType:function(E){return this.constructor.values[E]},toWireType:(E,g)=>g.value,argPackAdvance:Mt,readValueFromPointer:Kr(r,o,s),destructorFunction:null}),hn(r,c)}var yn=(e,r)=>{var o=ut[e];return o===void 0&&H(`${r} has unknown type ${$n(e)}`),o};function Jr(e,r,o){e>>>=0,r>>>=0;var s=yn(e,"enum");r=st(r);var c=s.constructor,E=Object.create(s.constructor.prototype,{value:{value:o},constructor:{value:Ye(`${s.name}_${r}`,function(){})}});c.values[o]=E,c[r]=E}var Zr=(e,r)=>{switch(r){case 4:return function(o){return this.fromWireType(ct[o>>>2>>>0])};case 8:return function(o){return this.fromWireType(It[o>>>3>>>0])};default:throw new TypeError(`invalid float width (${r}): ${e}`)}},qr=function(e,r,o){e>>>=0,r>>>=0,o>>>=0,r=st(r),Et(e,{name:r,fromWireType:s=>s,toWireType:(s,c)=>c,argPackAdvance:Mt,readValueFromPointer:Zr(r,o),destructorFunction:null})};function Vn(e){for(var r=1;r<e.length;++r)if(e[r]!==null&&e[r].destructorFunction===void 0)return!0;return!1}function Xn(e,r){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var o=Ye(e.name||"unknownFunctionName",function(){});o.prototype=e.prototype;var s=new o,c=e.apply(s,r);return c instanceof Object?c:s}function Qr(e,r,o,s){for(var c=Vn(e),E=e.length-2,g=[],T=["fn"],P=0;P<E;++P)g.push(`arg${P}`),T.push(`arg${P}Wired`);g=g.join(","),T=T.join(",");var C=`return function (${g}) {
4
4
  `;c&&(C+=`var destructors = [];
5
- `);for(var R=c?"destructors":"null",N=["humanName","throwBindingError","invoker","fn","runDestructors","retType","classParam"],y=0;y<E;++y)C+=`var arg${y}Wired = argType${y}['toWireType'](${R}, arg${y});
6
- `,N.push(`argType${y}`);if(C+=(o||s?"var rv = ":"")+`invoker(${T});
5
+ `);for(var R=c?"destructors":"null",N=["humanName","throwBindingError","invoker","fn","runDestructors","retType","classParam"],P=0;P<E;++P)C+=`var arg${P}Wired = argType${P}['toWireType'](${R}, arg${P});
6
+ `,N.push(`argType${P}`);if(C+=(o||s?"var rv = ":"")+`invoker(${T});
7
7
  `,c)C+=`runDestructors(destructors);
8
- `;else for(var y=2;y<e.length;++y){var O=y===1?"thisWired":"arg"+(y-2)+"Wired";e[y].destructorFunction!==null&&(C+=`${O}_dtor(${O});
8
+ `;else for(var P=2;P<e.length;++P){var O=P===1?"thisWired":"arg"+(P-2)+"Wired";e[P].destructorFunction!==null&&(C+=`${O}_dtor(${O});
9
9
  `,N.push(`${O}_dtor`))}return o&&(C+=`var ret = retType['fromWireType'](rv);
10
10
  return ret;
11
11
  `),C+=`}
12
- `,[N,C]}function jr(e,r,o,s,c,E){var g=r.length;g<2&&H("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var T=r[1]!==null&&o!==null,y=Vn(r),C=r[0].name!=="void",R=[e,H,s,c,gn,r[0],r[1]],N=0;N<g-2;++N)R.push(r[N+2]);if(!y)for(var N=2;N<r.length;++N)r[N].destructorFunction!==null&&R.push(r[N].destructorFunction);let[O,W]=Qr(r,T,C,E);O.push(W);var x=Xn(Function,O)(...R);return Ye(e,x)}var ta=(e,r)=>{for(var o=[],s=0;s<e;s++)o.push(F[r+s*4>>>2>>>0]);return o},ea=e=>{e=e.trim();const r=e.indexOf("(");return r===-1?e:e.slice(0,r)};function na(e,r,o,s,c,E,g,T){e>>>=0,o>>>=0,s>>>=0,c>>>=0,E>>>=0;var y=ta(r,o);e=st(e),e=ea(e),c=le(s,c),hn(e,function(){sn(`Cannot call ${e} due to unbound types`,y)},r-1),Le([],y,C=>{var R=[C[0],null].concat(C.slice(1));return On(e,jr(e,R,null,c,E,g),r-1),[]})}function ra(e,r,o,s,c){e>>>=0,r>>>=0,o>>>=0,r=st(r);var E=R=>R;if(s===0){var g=32-8*o;E=R=>R<<g>>>g}var T=r.includes("unsigned"),y=(R,N)=>{},C;T?C=function(R,N){return y(N,this.name),N>>>0}:C=function(R,N){return y(N,this.name),N},Et(e,{name:r,fromWireType:E,toWireType:C,argPackAdvance:Mt,readValueFromPointer:Fe(r,o,s!==0),destructorFunction:null})}function aa(e,r,o){e>>>=0,o>>>=0;var s=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array],c=s[r];function E(g){var T=F[g>>>2>>>0],y=F[g+4>>>2>>>0];return new c(U.buffer,y,T)}o=st(o),Et(e,{name:o,fromWireType:E,argPackAdvance:Mt,readValueFromPointer:E},{ignoreDuplicateRegistrations:!0})}var ce=(e,r,o)=>Qt(e,Z,r,o);function oa(e,r){e>>>=0,r>>>=0,r=st(r),Et(e,{name:r,fromWireType(o){for(var s=F[o>>>2>>>0],c=o+4,E,g,T=c,g=0;g<=s;++g){var y=c+g;if(g==s||Z[y>>>0]==0){var C=y-T,R=de(T,C);E===void 0?E=R:(E+="\0",E+=R),T=y+1}}return ee(o),E},toWireType(o,s){s instanceof ArrayBuffer&&(s=new Uint8Array(s));var c,E=typeof s=="string";E||s instanceof Uint8Array||s instanceof Uint8ClampedArray||s instanceof Int8Array||H("Cannot pass non-string to std::string"),E?c=Wt(s):c=s.length;var g=pn(4+c+1),T=g+4;if(F[g>>>2>>>0]=c,E)ce(s,T,c+1);else if(E)for(var y=0;y<c;++y){var C=s.charCodeAt(y);C>255&&(ee(g),H("String has UTF-16 code units that do not fit in 8 bits")),Z[T+y>>>0]=C}else for(var y=0;y<c;++y)Z[T+y>>>0]=s[y];return o!==null&&o.push(ee,g),g},argPackAdvance:Mt,readValueFromPointer:rn,destructorFunction(o){ee(o)}})}var Kn=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0,ia=(e,r)=>{for(var o=e,s=o>>1,c=s+r/2;!(s>=c)&&dt[s>>>0];)++s;if(o=s<<1,o-e>32&&Kn)return Kn.decode(Z.subarray(e>>>0,o>>>0));for(var E="",g=0;!(g>=r/2);++g){var T=rt[e+g*2>>>1>>>0];if(T==0)break;E+=String.fromCharCode(T)}return E},sa=(e,r,o)=>{if(o??(o=2147483647),o<2)return 0;o-=2;for(var s=r,c=o<e.length*2?o/2:e.length,E=0;E<c;++E){var g=e.charCodeAt(E);rt[r>>>1>>>0]=g,r+=2}return rt[r>>>1>>>0]=0,r-s},_a=e=>e.length*2,da=(e,r)=>{for(var o=0,s="";!(o>=r/4);){var c=Y[e+o*4>>>2>>>0];if(c==0)break;if(++o,c>=65536){var E=c-65536;s+=String.fromCharCode(55296|E>>10,56320|E&1023)}else s+=String.fromCharCode(c)}return s},la=(e,r,o)=>{if(r>>>=0,o??(o=2147483647),o<4)return 0;for(var s=r,c=s+o-4,E=0;E<e.length;++E){var g=e.charCodeAt(E);if(g>=55296&&g<=57343){var T=e.charCodeAt(++E);g=65536+((g&1023)<<10)|T&1023}if(Y[r>>>2>>>0]=g,r+=4,r+4>c)break}return Y[r>>>2>>>0]=0,r-s},ca=e=>{for(var r=0,o=0;o<e.length;++o){var s=e.charCodeAt(o);s>=55296&&s<=57343&&++o,r+=4}return r},ua=function(e,r,o){e>>>=0,r>>>=0,o>>>=0,o=st(o);var s,c,E,g;r===2?(s=ia,c=sa,g=_a,E=T=>dt[T>>>1>>>0]):r===4&&(s=da,c=la,g=ca,E=T=>F[T>>>2>>>0]),Et(e,{name:o,fromWireType:T=>{for(var y=F[T>>>2>>>0],C,R=T+4,N=0;N<=y;++N){var O=T+4+N*r;if(N==y||E(O)==0){var W=O-R,x=s(R,W);C===void 0?C=x:(C+="\0",C+=x),R=O+r}}return ee(T),C},toWireType:(T,y)=>{typeof y!="string"&&H(`Cannot pass non-string to C++ string type ${o}`);var C=g(y),R=pn(4+C+r);return F[R>>>2>>>0]=C/r,c(y,R+4,C+r),T!==null&&T.push(ee,R),R},argPackAdvance:Mt,readValueFromPointer:rn,destructorFunction(T){ee(T)}})},Ea=function(e,r){e>>>=0,r>>>=0,r=st(r),Et(e,{isVoid:!0,name:r,argPackAdvance:0,fromWireType:()=>{},toWireType:(o,s)=>{}})},fa={},zn=e=>{var r=fa[e];return r===void 0?st(e):r},yn=[];function ha(e,r,o,s,c){return e>>>=0,r>>>=0,o>>>=0,s>>>=0,c>>>=0,e=yn[e],r=gt.toValue(r),o=zn(o),e(r,r[o],s,c)}var ga=e=>{var r=yn.length;return yn.push(e),r},Aa=(e,r)=>{for(var o=new Array(e),s=0;s<e;++s)o[s]=Pn(F[r+s*4>>>2>>>0],"parameter "+s);return o},Ta=(e,r,o)=>{var s=[],c=e.toWireType(s,o);return s.length&&(F[r>>>2>>>0]=gt.toHandle(s)),c};function Pa(e,r,o){r>>>=0;var s=Aa(e,r),c=s.shift();e--;var E=`return function (obj, func, destructorsRef, args) {
13
- `,g=0,T=[];o===0&&T.push("obj");for(var y=["retType"],C=[c],R=0;R<e;++R)T.push("arg"+R),y.push("argType"+R),C.push(s[R]),E+=` var arg${R} = argType${R}.readValueFromPointer(args${g?"+"+g:""});
12
+ `,[N,C]}function jr(e,r,o,s,c,E){var g=r.length;g<2&&H("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var T=r[1]!==null&&o!==null,P=Vn(r),C=r[0].name!=="void",R=[e,H,s,c,gn,r[0],r[1]],N=0;N<g-2;++N)R.push(r[N+2]);if(!P)for(var N=2;N<r.length;++N)r[N].destructorFunction!==null&&R.push(r[N].destructorFunction);let[O,W]=Qr(r,T,C,E);O.push(W);var x=Xn(Function,O)(...R);return Ye(e,x)}var ta=(e,r)=>{for(var o=[],s=0;s<e;s++)o.push(F[r+s*4>>>2>>>0]);return o},ea=e=>{e=e.trim();const r=e.indexOf("(");return r===-1?e:e.slice(0,r)};function na(e,r,o,s,c,E,g,T){e>>>=0,o>>>=0,s>>>=0,c>>>=0,E>>>=0;var P=ta(r,o);e=st(e),e=ea(e),c=le(s,c),hn(e,function(){sn(`Cannot call ${e} due to unbound types`,P)},r-1),Le([],P,C=>{var R=[C[0],null].concat(C.slice(1));return On(e,jr(e,R,null,c,E,g),r-1),[]})}function ra(e,r,o,s,c){e>>>=0,r>>>=0,o>>>=0,r=st(r);var E=R=>R;if(s===0){var g=32-8*o;E=R=>R<<g>>>g}var T=r.includes("unsigned"),P=(R,N)=>{},C;T?C=function(R,N){return P(N,this.name),N>>>0}:C=function(R,N){return P(N,this.name),N},Et(e,{name:r,fromWireType:E,toWireType:C,argPackAdvance:Mt,readValueFromPointer:Fe(r,o,s!==0),destructorFunction:null})}function aa(e,r,o){e>>>=0,o>>>=0;var s=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array],c=s[r];function E(g){var T=F[g>>>2>>>0],P=F[g+4>>>2>>>0];return new c(U.buffer,P,T)}o=st(o),Et(e,{name:o,fromWireType:E,argPackAdvance:Mt,readValueFromPointer:E},{ignoreDuplicateRegistrations:!0})}var ce=(e,r,o)=>Qt(e,Z,r,o);function oa(e,r){e>>>=0,r>>>=0,r=st(r),Et(e,{name:r,fromWireType(o){for(var s=F[o>>>2>>>0],c=o+4,E,g,T=c,g=0;g<=s;++g){var P=c+g;if(g==s||Z[P>>>0]==0){var C=P-T,R=de(T,C);E===void 0?E=R:(E+="\0",E+=R),T=P+1}}return ee(o),E},toWireType(o,s){s instanceof ArrayBuffer&&(s=new Uint8Array(s));var c,E=typeof s=="string";E||s instanceof Uint8Array||s instanceof Uint8ClampedArray||s instanceof Int8Array||H("Cannot pass non-string to std::string"),E?c=Wt(s):c=s.length;var g=pn(4+c+1),T=g+4;if(F[g>>>2>>>0]=c,E)ce(s,T,c+1);else if(E)for(var P=0;P<c;++P){var C=s.charCodeAt(P);C>255&&(ee(g),H("String has UTF-16 code units that do not fit in 8 bits")),Z[T+P>>>0]=C}else for(var P=0;P<c;++P)Z[T+P>>>0]=s[P];return o!==null&&o.push(ee,g),g},argPackAdvance:Mt,readValueFromPointer:rn,destructorFunction(o){ee(o)}})}var Kn=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0,ia=(e,r)=>{for(var o=e,s=o>>1,c=s+r/2;!(s>=c)&&dt[s>>>0];)++s;if(o=s<<1,o-e>32&&Kn)return Kn.decode(Z.subarray(e>>>0,o>>>0));for(var E="",g=0;!(g>=r/2);++g){var T=rt[e+g*2>>>1>>>0];if(T==0)break;E+=String.fromCharCode(T)}return E},sa=(e,r,o)=>{if(o??(o=2147483647),o<2)return 0;o-=2;for(var s=r,c=o<e.length*2?o/2:e.length,E=0;E<c;++E){var g=e.charCodeAt(E);rt[r>>>1>>>0]=g,r+=2}return rt[r>>>1>>>0]=0,r-s},_a=e=>e.length*2,da=(e,r)=>{for(var o=0,s="";!(o>=r/4);){var c=Y[e+o*4>>>2>>>0];if(c==0)break;if(++o,c>=65536){var E=c-65536;s+=String.fromCharCode(55296|E>>10,56320|E&1023)}else s+=String.fromCharCode(c)}return s},la=(e,r,o)=>{if(r>>>=0,o??(o=2147483647),o<4)return 0;for(var s=r,c=s+o-4,E=0;E<e.length;++E){var g=e.charCodeAt(E);if(g>=55296&&g<=57343){var T=e.charCodeAt(++E);g=65536+((g&1023)<<10)|T&1023}if(Y[r>>>2>>>0]=g,r+=4,r+4>c)break}return Y[r>>>2>>>0]=0,r-s},ca=e=>{for(var r=0,o=0;o<e.length;++o){var s=e.charCodeAt(o);s>=55296&&s<=57343&&++o,r+=4}return r},ua=function(e,r,o){e>>>=0,r>>>=0,o>>>=0,o=st(o);var s,c,E,g;r===2?(s=ia,c=sa,g=_a,E=T=>dt[T>>>1>>>0]):r===4&&(s=da,c=la,g=ca,E=T=>F[T>>>2>>>0]),Et(e,{name:o,fromWireType:T=>{for(var P=F[T>>>2>>>0],C,R=T+4,N=0;N<=P;++N){var O=T+4+N*r;if(N==P||E(O)==0){var W=O-R,x=s(R,W);C===void 0?C=x:(C+="\0",C+=x),R=O+r}}return ee(T),C},toWireType:(T,P)=>{typeof P!="string"&&H(`Cannot pass non-string to C++ string type ${o}`);var C=g(P),R=pn(4+C+r);return F[R>>>2>>>0]=C/r,c(P,R+4,C+r),T!==null&&T.push(ee,R),R},argPackAdvance:Mt,readValueFromPointer:rn,destructorFunction(T){ee(T)}})},Ea=function(e,r){e>>>=0,r>>>=0,r=st(r),Et(e,{isVoid:!0,name:r,argPackAdvance:0,fromWireType:()=>{},toWireType:(o,s)=>{}})},fa={},zn=e=>{var r=fa[e];return r===void 0?st(e):r},Pn=[];function ha(e,r,o,s,c){return e>>>=0,r>>>=0,o>>>=0,s>>>=0,c>>>=0,e=Pn[e],r=gt.toValue(r),o=zn(o),e(r,r[o],s,c)}var ga=e=>{var r=Pn.length;return Pn.push(e),r},Aa=(e,r)=>{for(var o=new Array(e),s=0;s<e;++s)o[s]=yn(F[r+s*4>>>2>>>0],"parameter "+s);return o},Ta=(e,r,o)=>{var s=[],c=e.toWireType(s,o);return s.length&&(F[r>>>2>>>0]=gt.toHandle(s)),c};function ya(e,r,o){r>>>=0;var s=Aa(e,r),c=s.shift();e--;var E=`return function (obj, func, destructorsRef, args) {
13
+ `,g=0,T=[];o===0&&T.push("obj");for(var P=["retType"],C=[c],R=0;R<e;++R)T.push("arg"+R),P.push("argType"+R),C.push(s[R]),E+=` var arg${R} = argType${R}.readValueFromPointer(args${g?"+"+g:""});
14
14
  `,g+=s[R].argPackAdvance;var N=o===1?"new func":"func.call";E+=` var rv = ${N}(${T.join(", ")});
15
- `,c.isVoid||(y.push("emval_returnValue"),C.push(Ta),E+=` return emval_returnValue(retType, destructorsRef, rv);
15
+ `,c.isVoid||(P.push("emval_returnValue"),C.push(Ta),E+=` return emval_returnValue(retType, destructorsRef, rv);
16
16
  `),E+=`};
17
- `,y.push(E);var O=Xn(Function,y)(...C),W=`methodCaller<(${s.map(x=>x.name).join(", ")}) => ${c.name}>`;return ga(Ye(W,O))}function ya(e){e>>>=0,e>9&&(Xt[e+1]+=1)}function pa(){return gt.toHandle([])}function va(e){return e>>>=0,gt.toHandle(zn(e))}function Ia(){return gt.toHandle({})}function ma(e){e>>>=0;var r=gt.toValue(e);gn(r),Tn(e)}function wa(e,r,o){e>>>=0,r>>>=0,o>>>=0,e=gt.toValue(e),r=gt.toValue(r),o=gt.toValue(o),e[r]=o}function Ca(e,r){e>>>=0,r>>>=0,e=Pn(e,"_emval_take_value");var o=e.readValueFromPointer(r);return gt.toHandle(o)}function Da(e,r){e=Pe(e),r>>>=0;var o=new Date(e*1e3);Y[r>>>2>>>0]=o.getUTCSeconds(),Y[r+4>>>2>>>0]=o.getUTCMinutes(),Y[r+8>>>2>>>0]=o.getUTCHours(),Y[r+12>>>2>>>0]=o.getUTCDate(),Y[r+16>>>2>>>0]=o.getUTCMonth(),Y[r+20>>>2>>>0]=o.getUTCFullYear()-1900,Y[r+24>>>2>>>0]=o.getUTCDay();var s=Date.UTC(o.getUTCFullYear(),0,1,0,0,0,0),c=(o.getTime()-s)/(1e3*60*60*24)|0;Y[r+28>>>2>>>0]=c}var Ra=e=>e%4===0&&(e%100!==0||e%400===0),Sa=[0,31,60,91,121,152,182,213,244,274,305,335],La=[0,31,59,90,120,151,181,212,243,273,304,334],Ya=e=>{var r=Ra(e.getFullYear()),o=r?Sa:La,s=o[e.getMonth()]+e.getDate()-1;return s},Na=function(e){e>>>=0;var r=(()=>{var o=new Date(Y[e+20>>>2>>>0]+1900,Y[e+16>>>2>>>0],Y[e+12>>>2>>>0],Y[e+8>>>2>>>0],Y[e+4>>>2>>>0],Y[e>>>2>>>0],0),s=Y[e+32>>>2>>>0],c=o.getTimezoneOffset(),E=new Date(o.getFullYear(),0,1),g=new Date(o.getFullYear(),6,1).getTimezoneOffset(),T=E.getTimezoneOffset(),y=Math.min(T,g);if(s<0)Y[e+32>>>2>>>0]=+(g!=T&&y==c);else if(s>0!=(y==c)){var C=Math.max(T,g),R=s>0?y:C;o.setTime(o.getTime()+(R-c)*6e4)}Y[e+24>>>2>>>0]=o.getDay();var N=Ya(o)|0;Y[e+28>>>2>>>0]=N,Y[e>>>2>>>0]=o.getSeconds(),Y[e+4>>>2>>>0]=o.getMinutes(),Y[e+8>>>2>>>0]=o.getHours(),Y[e+12>>>2>>>0]=o.getDate(),Y[e+16>>>2>>>0]=o.getMonth(),Y[e+20>>>2>>>0]=o.getYear();var O=o.getTime();return isNaN(O)?-1:O/1e3})();return BigInt(r)},Ga=function(e,r,o,s){e>>>=0,r>>>=0,o>>>=0,s>>>=0;var c=new Date().getFullYear(),E=new Date(c,0,1),g=new Date(c,6,1),T=E.getTimezoneOffset(),y=g.getTimezoneOffset(),C=Math.max(T,y);F[e>>>2>>>0]=C*60,Y[r>>>2>>>0]=+(T!=y);var R=W=>{var x=W>=0?"-":"+",K=Math.abs(W),_t=String(Math.floor(K/60)).padStart(2,"0"),at=String(K%60).padStart(2,"0");return`UTC${x}${_t}${at}`},N=R(T),O=R(y);y<T?(ce(N,o,17),ce(O,s,17)):(ce(N,s,17),ce(O,o,17))},Jn=()=>performance.now(),Zn=()=>Date.now(),Wa=e=>e>=0&&e<=3;function Ma(e,r,o){if(o>>>=0,!Wa(e))return 28;var s;e===0?s=Zn():s=Jn();var c=Math.round(s*1e3*1e3);return it[o>>>3]=BigInt(c),0}function ba(e){return e>>>=0,b(de(e))}var xa=()=>4294901760,ka=e=>{var r=$.buffer,o=(e-r.byteLength+65535)/65536|0;try{return $.grow(o),wt(),1}catch{}};function Oa(e){e>>>=0;var r=Z.length,o=xa();if(e>o)return!1;for(var s=1;s<=4;s*=2){var c=r*(1+.2/s);c=Math.min(c,e+100663296);var E=Math.min(o,ve(Math.max(e,c),65536)),g=ka(E);if(g)return!0}return!1}var _n={},Ba=()=>v||"./this.program",$e=()=>{if(!$e.strings){var e=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:e,_:Ba()};for(var o in _n)_n[o]===void 0?delete r[o]:r[o]=_n[o];var s=[];for(var o in r)s.push(`${o}=${r[o]}`);$e.strings=s}return $e.strings},Fa=(e,r)=>{for(var o=0;o<e.length;++o)U[r++>>>0]=e.charCodeAt(o);U[r>>>0]=0},Ua=function(e,r){e>>>=0,r>>>=0;var o=0;return $e().forEach((s,c)=>{var E=r+o;F[e+c*4>>>2>>>0]=E,Fa(s,E),o+=s.length+1}),0},$a=function(e,r){e>>>=0,r>>>=0;var o=$e();F[e>>>2>>>0]=o.length;var s=0;return o.forEach(c=>s+=c.length+1),F[r>>>2>>>0]=s,0};function Ha(e){try{var r=et.getStreamFromFD(e);return l.close(r),0}catch(o){if(typeof l>"u"||o.name!=="ErrnoError")throw o;return o.errno}}var Va=(e,r,o,s)=>{for(var c=0,E=0;E<o;E++){var g=F[r>>>2>>>0],T=F[r+4>>>2>>>0];r+=8;var y=l.read(e,U,g,T,s);if(y<0)return-1;if(c+=y,y<T)break}return c};function Xa(e,r,o,s){r>>>=0,o>>>=0,s>>>=0;try{var c=et.getStreamFromFD(e),E=Va(c,r,o);return F[s>>>2>>>0]=E,0}catch(g){if(typeof l>"u"||g.name!=="ErrnoError")throw g;return g.errno}}function Ka(e,r,o,s){r=Pe(r),s>>>=0;try{if(isNaN(r))return 61;var c=et.getStreamFromFD(e);return l.llseek(c,r,o),it[s>>>3]=BigInt(c.position),c.getdents&&r===0&&o===0&&(c.getdents=null),0}catch(E){if(typeof l>"u"||E.name!=="ErrnoError")throw E;return E.errno}}var za=(e,r,o,s)=>{for(var c=0,E=0;E<o;E++){var g=F[r>>>2>>>0],T=F[r+4>>>2>>>0];r+=8;var y=l.write(e,U,g,T,s);if(y<0)return-1;if(c+=y,y<T)break}return c};function Ja(e,r,o,s){r>>>=0,o>>>=0,s>>>=0;try{var c=et.getStreamFromFD(e),E=za(c,r,o);return F[s>>>2>>>0]=E,0}catch(g){if(typeof l>"u"||g.name!=="ErrnoError")throw g;return g.errno}}function Za(e,r){e>>>=0,r>>>=0;try{return Zt(Z.subarray(e>>>0,e+r>>>0)),0}catch(o){if(typeof l>"u"||o.name!=="ErrnoError")throw o;return o.errno}}var qn=e=>{var r=n["_"+e];return r},qa=(e,r)=>{U.set(e,r>>>0)},Qn=e=>ro(e),Qa=e=>{var r=Wt(e)+1,o=Qn(r);return ce(e,o,r),o},jn=(e,r,o,s,c)=>{var E={string:x=>{var K=0;return x!=null&&x!==0&&(K=Qa(x)),K},array:x=>{var K=Qn(x.length);return qa(x,K),K}};function g(x){return r==="string"?de(x):r==="boolean"?!!x:x}var T=qn(e),y=[],C=0;if(s)for(var R=0;R<s.length;R++){var N=E[o[R]];N?(C===0&&(C=Me()),y[R]=N(s[R])):y[R]=s[R]}var O=T(...y);function W(x){return C!==0&&We(C),g(x)}return O=W(O),O},ja=(e,r,o,s)=>{var c=!o||o.every(g=>g==="number"||g==="boolean"),E=r!=="string";return E&&c&&!s?qn(e):(...g)=>jn(e,r,o,g)},to=e=>{var r=Wt(e)+1,o=pn(r);return o&&ce(e,o,r),o};l.createPreloadedFile=ze,l.staticInit(),B.doesNotExistError=new l.ErrnoError(44),B.doesNotExistError.stack="<generic error, no stack>",Oe(),te=n.BindingError=class extends Error{constructor(r){super(r),this.name="BindingError"}},je=n.InternalError=class extends Error{constructor(r){super(r),this.name="InternalError"}},Rr(),xr(),Un=n.UnboundTypeError=Br(Error,"UnboundTypeError"),Hr();var tr={__cxa_throw:xe,__syscall_fcntl64:cn,__syscall_fstat64:Ze,__syscall_ioctl:ke,__syscall_lstat64:J,__syscall_newfstatat:j,__syscall_openat:jt,__syscall_stat64:qe,_abort_js:un,_embind_register_bigint:yr,_embind_register_bool:pr,_embind_register_class:Fr,_embind_register_class_property:Ur,_embind_register_emval:Xr,_embind_register_enum:zr,_embind_register_enum_value:Jr,_embind_register_float:qr,_embind_register_function:na,_embind_register_integer:ra,_embind_register_memory_view:aa,_embind_register_std_string:oa,_embind_register_std_wstring:ua,_embind_register_void:Ea,_emval_call_method:ha,_emval_decref:Tn,_emval_get_method_caller:Pa,_emval_incref:ya,_emval_new_array:pa,_emval_new_cstring:va,_emval_new_object:Ia,_emval_run_destructors:ma,_emval_set_property:wa,_emval_take_value:Ca,_gmtime_js:Da,_mktime_js:Na,_tzset_js:Ga,clock_time_get:Ma,emscripten_date_now:Zn,emscripten_err:ba,emscripten_get_now:Jn,emscripten_resize_heap:Oa,environ_get:Ua,environ_sizes_get:$a,fd_close:Ha,fd_read:Xa,fd_seek:Ka,fd_write:Ja,random_get:Za},X=await V();X.__wasm_call_ctors,n.__ZdlPvm=X._ZdlPvm;var pn=X.malloc,ee=X.free;X.calloc,X.realloc;var eo=X.__getTypeName;n._strndup=X.strndup,n.__ZdaPv=X._ZdaPv,n.__ZdaPvm=X._ZdaPvm,n.__ZdlPv=X._ZdlPv,n._emscripten_builtin_malloc=X.emscripten_builtin_malloc,n.__Znaj=X._Znaj,n.__ZnajSt11align_val_t=X._ZnajSt11align_val_t,n.__Znwj=X._Znwj,n.__ZnwjSt11align_val_t=X._ZnwjSt11align_val_t,n.___libc_calloc=X.__libc_calloc,n.___libc_free=X.__libc_free,n.___libc_malloc=X.__libc_malloc,n.___libc_realloc=X.__libc_realloc,n._emscripten_builtin_calloc=X.emscripten_builtin_calloc,n._emscripten_builtin_free=X.emscripten_builtin_free,n._emscripten_builtin_realloc=X.emscripten_builtin_realloc,n._malloc_size=X.malloc_size,n._malloc_usable_size=X.malloc_usable_size,n._reallocf=X.reallocf;var no=X._emscripten_stack_restore,ro=X._emscripten_stack_alloc,ao=X.emscripten_stack_get_current;function oo(e){e=Object.assign({},e);var r=c=>E=>c(E)>>>0,o=c=>(E,g)=>c(E,g)>>>0,s=c=>()=>c()>>>0;return e.malloc=r(e.malloc),e.calloc=o(e.calloc),e.__getTypeName=r(e.__getTypeName),e.emscripten_builtin_malloc=r(e.emscripten_builtin_malloc),e.emscripten_builtin_calloc=o(e.emscripten_builtin_calloc),e._emscripten_stack_alloc=r(e._emscripten_stack_alloc),e.emscripten_stack_get_current=s(e.emscripten_stack_get_current),e}n.ENV=_n,n.ccall=jn,n.cwrap=ja,n.setValue=Ge,n.UTF8ToString=de,n.stringToNewUTF8=to,n.FS=l;function vn(){if(ft>0){Dt=vn;return}if(xt(),ft>0){Dt=vn;return}function e(){var r;n.calledRun=!0,!q&&(Ct(),d(n),(r=n.onRuntimeInitialized)==null||r.call(n),kt())}n.setStatus?(n.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>n.setStatus(""),1),e()},1)):e()}if(n.preInit)for(typeof n.preInit=="function"&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();return vn(),i=u,i})})(),vo=Object.defineProperty,Io=(a,t,i)=>t in a?vo(a,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):a[t]=i,nt=(a,t,i)=>Io(a,typeof t!="symbol"?t+"":t,i);const mo=["utf-8","utf-8","iso-8859-1","iso-8859-2","iso-8859-3","iso-8859-4","iso-8859-5","iso-8859-6","iso-8859-7","iso-8859-8","iso-8859-9","utf-8","utf-8","utf-8","utf-8","utf-8","utf-8","utf-8","utf-8","utf-8","utf-8","utf-8","shift-jis","macintosh","big5","euc-kr","utf-8","ibm866","windows-1250","windows-1251","windows-1252","gbk","windows-1253","windows-1254","windows-1255","windows-1256","windows-1257","windows-874","shift-jis","gbk","euc-kr","big5","utf-8","utf-16le","windows-1258"],ar=a=>mo[a];var Ee=(a=>(a[a.TopLeft=1]="TopLeft",a[a.TopCenter=2]="TopCenter",a[a.TopRight=3]="TopRight",a[a.MiddleLeft=4]="MiddleLeft",a[a.MiddleCenter=5]="MiddleCenter",a[a.MiddleRight=6]="MiddleRight",a[a.BottomLeft=7]="BottomLeft",a[a.BottomCenter=8]="BottomCenter",a[a.BottomRight=9]="BottomRight",a))(Ee||{}),Dn=(a=>(a[a.PatternFill=0]="PatternFill",a[a.SolidFill=1]="SolidFill",a))(Dn||{}),Rn=(a=>(a[a.NonAssociative=0]="NonAssociative",a[a.Associative=1]="Associative",a))(Rn||{}),Er=(a=>(a[a.Solid=0]="Solid",a[a.Gradient=1]="Gradient",a))(Er||{}),Sn=(a=>(a[a.TwoColor=0]="TwoColor",a[a.OneColor=1]="OneColor",a))(Sn||{}),Ve=(a=>(a[a.Line=1]="Line",a[a.Circular=2]="Circular",a[a.Elliptic=3]="Elliptic",a[a.Spline=4]="Spline",a))(Ve||{}),Ln=(a=>(a[a.LEFT=0]="LEFT",a[a.CENTER=1]="CENTER",a[a.RIGHT=2]="RIGHT",a[a.ALIGNED=3]="ALIGNED",a[a.MIDDLE=4]="MIDDLE",a[a.FIT=5]="FIT",a))(Ln||{});const wo=Object.freeze(["ACADMAINTVER","ACADVER","ANGBASE","ANGDIR","ATTMODE","AUNITS","AUPREC","CECOLOR","CELTSCALE","CELTYPE","CELWEIGHT","CEPSNID","CEPSNTYPE","CHAMFERA","CHAMFERB","CHAMFERC","CHAMFERD","CLAYER","CMLJUST","CMLSCALE","CMLSTYLE","CSHADOW","DIMADEC","DIMALT","DIMALTD","DIMALTF","DIMALTRND","DIMALTTD","DIMALTTZ","DIMALTU","DIMALTZ","DIMAPOST","DIMASO","DIMASSOC","DIMASZ","DIMATFIT","DIMAUNIT","DIMAZIN","DIMBLK","DIMBLK1","DIMBLK2","DIMCEN","DIMCLRD","DIMCLRE","DIMCLRT","DIMDEC","DIMDLE","DIMDLI","DIMDSEP","DIMEXE","DIMEXO","DIMFAC","DIMGAP","DIMJUST","DIMLDRBLK","DIMLFAC","DIMLIM","DIMLUNIT","DIMLWD","DIMLWE","DIMPOST","DIMRND","DIMSAH","DIMSCALE","DIMSD1","DIMSD2","DIMSE1","DIMSE2","DIMSHO","DIMSOXD","DIMSTYLE","DIMTAD","DIMTDEC","DIMTFAC","DIMTIH","DIMTIX","DIMTM","DIMTMOVE","DIMTOFL","DIMTOH","DIMTOL","DIMTOLJ","DIMTP","DIMTSZ","DIMTVP","DIMTXSTY","DIMTXT","DIMTZIN","DIMUPT","DIMZIN","DISPSILH","DRAGVS","DWGCODEPAGE","ELEVATION","ENDCAPS","EXTMAX","EXTMIN","EXTNAMES","FILLETRAD","FILLMODE","FINGERPRINTGUID","HALOGAP","HANDSEED","HIDETEXT","HYPERLINKBASE","INDEXCTL","INSBASE","INSUNITS","INTERFERECOLOR","INTERFEREOBJVS","INTERFEREVPVS","INTERSECTIONCOLOR","INTERSECTIONDISPLAY","JOINSTYLE","LIMCHECK","LIMMAX","LIMMIN","LTSCALE","LUNITS","LUPREC","LWDISPLAY","MAXACTVP","MEASUREMENT","MENU","MIRRTEXT","OBSCOLOR","OBSLTYPE","ORTHOMODE","PDMODE","PDSIZE","PELEVATION","PEXTMAX","PEXTMIN","PINSBASE","PLIMCHECK","PLIMMAX","PLIMMIN","PLINEGEN","PLINEWID","PROJECTNAME","PROXYGRAPHICS","PSLTSCALE","PSTYLEMODE","PSVPSCALE","PUCSBASE","PUCSNAME","PUCSORG","PUCSORGBACK","PUCSORGBOTTOM","PUCSORGFRONT","PUCSORGLEFT","PUCSORGRIGHT","PUCSORGTOP","PUCSORTHOREF","PUCSORTHOVIEW","PUCSXDIR","PUCSYDIR","QTEXTMODE","REGENMODE","SHADEDGE","SHADEDIF","SHADOWPLANELOCATION","SKETCHINC","SKPOLY","SORTENTS","SPLINESEGS","SPLINETYPE","SURFTAB1","SURFTAB2","SURFTYPE","SURFU","SURFV","TDCREATE","TDINDWG","TDUCREATE","TDUPDATE","TDUSRTIMER","TDUUPDATE","TEXTSIZE","TEXTSTYLE","THICKNESS","TILEMODE","TRACEWID","TREEDEPTH","UCSBASE","UCSNAME","UCSORG","UCSORGBACK","UCSORGBOTTOM","UCSORGFRONT","UCSORGLEFT","UCSORGRIGHT","UCSORGTOP","UCSORTHOREF","UCSORTHOVIEW","UCSXDIR","UCSYDIR","UNITMODE","USERI1","USERI2","USERI3","USERI4","USERI5","USERR1","USERR2","USERR3","USERR4","USERR5","USRTIMER","VERSIONGUID","VISRETAIN","WORLDVIEW","XCLIPFRAME","XEDIT"]),Co=/\\U\+([0-9A-Fa-f]{4})/g;function or(a){return!a||!a.includes("\\U+")?a:a.replace(Co,(t,i)=>String.fromCharCode(parseInt(i,16)))}const Do=[{type:"invalid",hdr:"INVALI",description:"No DWG",version:0},{type:"r1.1",hdr:"MC0.0",description:"MicroCAD Release 1.1",version:0},{type:"r1.2",hdr:"AC1.2",description:"AutoCAD Release 1.2",version:0},{type:"r1.3",hdr:"AC1.3",description:"AutoCAD Release 1.3",version:1},{type:"r1.4",hdr:"AC1.40",description:"AutoCAD Release 1.4",version:2},{type:"r2.0b",hdr:"AC1.50",description:"AutoCAD 2.0 beta",version:3},{type:"r2.0",hdr:"AC1.50",description:"AutoCAD Release 2.0",version:4},{type:"r2.10",hdr:"AC2.10",description:"AutoCAD Release 2.10",version:5},{type:"r2.21",hdr:"AC2.21",description:"AutoCAD Release 2.21",version:6},{type:"r2.22",hdr:"AC2.22",description:"AutoCAD Release 2.22",version:7},{type:"r2.4",hdr:"AC1001",description:"AutoCAD Release 2.4",version:8},{type:"r2.5",hdr:"AC1002",description:"AutoCAD Release 2.5",version:9},{type:"r2.6",hdr:"AC1003",description:"AutoCAD Release 2.6",version:10},{type:"r9",hdr:"AC1004",description:"AutoCAD Release 9",version:11},{type:"r9c1",hdr:"AC1005",description:"AutoCAD Release 9c1",version:12},{type:"r10",hdr:"AC1006",description:"AutoCAD Release 10",version:13},{type:"r11b1",hdr:"AC1007",description:"AutoCAD 11 beta 1",version:14},{type:"r11b2",hdr:"AC1008",description:"AutoCAD 11 beta 2",version:15},{type:"r11",hdr:"AC1009",description:"AutoCAD Release 11/12 (LT R1/R2)",version:16},{type:"r13b1",hdr:"AC1010",description:"AutoCAD pre-R13 a",version:17},{type:"r13b2",hdr:"AC1011",description:"AutoCAD pre-R13 b",version:18},{type:"r13",hdr:"AC1012",description:"AutoCAD Release 13",version:19},{type:"r13c3",hdr:"AC1013",description:"AutoCAD Release 13c3",version:20},{type:"r14",hdr:"AC1014",description:"AutoCAD Release 14",version:21},{type:"r2000b",hdr:"AC1500",description:"AutoCAD 2000 beta",version:22},{type:"r2000",hdr:"AC1015",description:"AutoCAD Release 2000",version:23},{type:"r2000i",hdr:"AC1016",description:"AutoCAD Release 2000i",version:23},{type:"r2002",hdr:"AC1017",description:"AutoCAD Release 2002",version:23},{type:"r2004a",hdr:"AC402a",description:"AutoCAD 2004 alpha a",version:24},{type:"r2004b",hdr:"AC402b",description:"AutoCAD 2004 alpha b",version:24},{type:"r2004c",hdr:"AC1018",description:"AutoCAD 2004 beta",version:24},{type:"r2004",hdr:"AC1018",description:"AutoCAD Release 2004",version:25},{type:"r2007a",hdr:"AC701a",description:"AutoCAD 2007 alpha",version:26},{type:"r2007b",hdr:"AC1021",description:"AutoCAD 2007 beta",version:26},{type:"r2007",hdr:"AC1021",description:"AutoCAD Release 2007",version:27},{type:"r2010b",hdr:"AC1024",description:"AutoCAD 2010 beta",version:28},{type:"r2010",hdr:"AC1024",description:"AutoCAD Release 2010",version:29},{type:"r2013b",hdr:"AC1027",description:"AutoCAD 2013 beta",version:30},{type:"r2013",hdr:"AC1027",description:"AutoCAD Release 2013",version:31},{type:"r2018b",hdr:"AC1032",description:"AutoCAD 2018 beta",version:32},{type:"r2018",hdr:"AC1032",description:"AutoCAD Release 2018",version:33},{type:"r2022b",hdr:"AC103-4",description:"AutoCAD 2022 beta",version:36},{type:"r>2022",hdr:"",description:"AutoCAD Release >2022",version:0}];var Yn=(a=>(a[a.DWG_SUPERTYPE_ENTITY=0]="DWG_SUPERTYPE_ENTITY",a[a.DWG_SUPERTYPE_OBJECT=1]="DWG_SUPERTYPE_OBJECT",a))(Yn||{}),Nn=(a=>(a[a.WRONGCRC=1]="WRONGCRC",a[a.NOTYETSUPPORTED=2]="NOTYETSUPPORTED",a[a.UNHANDLEDCLASS=4]="UNHANDLEDCLASS",a[a.INVALIDTYPE=8]="INVALIDTYPE",a[a.INVALIDHANDLE=16]="INVALIDHANDLE",a[a.INVALIDEED=32]="INVALIDEED",a[a.VALUEOUTOFBOUNDS=64]="VALUEOUTOFBOUNDS",a[a.CLASSESNOTFOUND=128]="CLASSESNOTFOUND",a[a.SECTIONNOTFOUND=256]="SECTIONNOTFOUND",a[a.PAGENOTFOUND=512]="PAGENOTFOUND",a[a.INTERNALERROR=1024]="INTERNALERROR",a[a.INVALIDDWG=2048]="INVALIDDWG",a[a.IOERROR=4096]="IOERROR",a[a.OUTOFMEM=8192]="OUTOFMEM",a))(Nn||{}),L=(a=>(a[a.DWG_TYPE_UNUSED=0]="DWG_TYPE_UNUSED",a[a.DWG_TYPE_TEXT=1]="DWG_TYPE_TEXT",a[a.DWG_TYPE_ATTRIB=2]="DWG_TYPE_ATTRIB",a[a.DWG_TYPE_ATTDEF=3]="DWG_TYPE_ATTDEF",a[a.DWG_TYPE_BLOCK=4]="DWG_TYPE_BLOCK",a[a.DWG_TYPE_ENDBLK=5]="DWG_TYPE_ENDBLK",a[a.DWG_TYPE_SEQEND=6]="DWG_TYPE_SEQEND",a[a.DWG_TYPE_INSERT=7]="DWG_TYPE_INSERT",a[a.DWG_TYPE_MINSERT=8]="DWG_TYPE_MINSERT",a[a.DWG_TYPE_VERTEX_2D=10]="DWG_TYPE_VERTEX_2D",a[a.DWG_TYPE_VERTEX_3D=11]="DWG_TYPE_VERTEX_3D",a[a.DWG_TYPE_VERTEX_MESH=12]="DWG_TYPE_VERTEX_MESH",a[a.DWG_TYPE_VERTEX_PFACE=13]="DWG_TYPE_VERTEX_PFACE",a[a.DWG_TYPE_VERTEX_PFACE_FACE=14]="DWG_TYPE_VERTEX_PFACE_FACE",a[a.DWG_TYPE_POLYLINE_2D=15]="DWG_TYPE_POLYLINE_2D",a[a.DWG_TYPE_POLYLINE_3D=16]="DWG_TYPE_POLYLINE_3D",a[a.DWG_TYPE_ARC=17]="DWG_TYPE_ARC",a[a.DWG_TYPE_CIRCLE=18]="DWG_TYPE_CIRCLE",a[a.DWG_TYPE_LINE=19]="DWG_TYPE_LINE",a[a.DWG_TYPE_DIMENSION_ORDINATE=20]="DWG_TYPE_DIMENSION_ORDINATE",a[a.DWG_TYPE_DIMENSION_LINEAR=21]="DWG_TYPE_DIMENSION_LINEAR",a[a.DWG_TYPE_DIMENSION_ALIGNED=22]="DWG_TYPE_DIMENSION_ALIGNED",a[a.DWG_TYPE_DIMENSION_ANG3PT=23]="DWG_TYPE_DIMENSION_ANG3PT",a[a.DWG_TYPE_DIMENSION_ANG2LN=24]="DWG_TYPE_DIMENSION_ANG2LN",a[a.DWG_TYPE_DIMENSION_RADIUS=25]="DWG_TYPE_DIMENSION_RADIUS",a[a.DWG_TYPE_DIMENSION_DIAMETER=26]="DWG_TYPE_DIMENSION_DIAMETER",a[a.DWG_TYPE_POINT=27]="DWG_TYPE_POINT",a[a.DWG_TYPE_3DFACE=28]="DWG_TYPE_3DFACE",a[a.DWG_TYPE_POLYLINE_PFACE=29]="DWG_TYPE_POLYLINE_PFACE",a[a.DWG_TYPE_POLYLINE_MESH=30]="DWG_TYPE_POLYLINE_MESH",a[a.DWG_TYPE_SOLID=31]="DWG_TYPE_SOLID",a[a.DWG_TYPE_TRACE=32]="DWG_TYPE_TRACE",a[a.DWG_TYPE_SHAPE=33]="DWG_TYPE_SHAPE",a[a.DWG_TYPE_VIEWPORT=34]="DWG_TYPE_VIEWPORT",a[a.DWG_TYPE_ELLIPSE=35]="DWG_TYPE_ELLIPSE",a[a.DWG_TYPE_SPLINE=36]="DWG_TYPE_SPLINE",a[a.DWG_TYPE_REGION=37]="DWG_TYPE_REGION",a[a.DWG_TYPE_3DSOLID=38]="DWG_TYPE_3DSOLID",a[a.DWG_TYPE_BODY=39]="DWG_TYPE_BODY",a[a.DWG_TYPE_RAY=40]="DWG_TYPE_RAY",a[a.DWG_TYPE_XLINE=41]="DWG_TYPE_XLINE",a[a.DWG_TYPE_DICTIONARY=42]="DWG_TYPE_DICTIONARY",a[a.DWG_TYPE_OLEFRAME=43]="DWG_TYPE_OLEFRAME",a[a.DWG_TYPE_MTEXT=44]="DWG_TYPE_MTEXT",a[a.DWG_TYPE_LEADER=45]="DWG_TYPE_LEADER",a[a.DWG_TYPE_TOLERANCE=46]="DWG_TYPE_TOLERANCE",a[a.DWG_TYPE_MLINE=47]="DWG_TYPE_MLINE",a[a.DWG_TYPE_BLOCK_CONTROL=48]="DWG_TYPE_BLOCK_CONTROL",a[a.DWG_TYPE_BLOCK_HEADER=49]="DWG_TYPE_BLOCK_HEADER",a[a.DWG_TYPE_LAYER_CONTROL=50]="DWG_TYPE_LAYER_CONTROL",a[a.DWG_TYPE_LAYER=51]="DWG_TYPE_LAYER",a[a.DWG_TYPE_STYLE_CONTROL=52]="DWG_TYPE_STYLE_CONTROL",a[a.DWG_TYPE_STYLE=53]="DWG_TYPE_STYLE",a[a.DWG_TYPE_LTYPE_CONTROL=56]="DWG_TYPE_LTYPE_CONTROL",a[a.DWG_TYPE_LTYPE=57]="DWG_TYPE_LTYPE",a[a.DWG_TYPE_VIEW_CONTROL=60]="DWG_TYPE_VIEW_CONTROL",a[a.DWG_TYPE_VIEW=61]="DWG_TYPE_VIEW",a[a.DWG_TYPE_UCS_CONTROL=62]="DWG_TYPE_UCS_CONTROL",a[a.DWG_TYPE_UCS=63]="DWG_TYPE_UCS",a[a.DWG_TYPE_VPORT_CONTROL=64]="DWG_TYPE_VPORT_CONTROL",a[a.DWG_TYPE_VPORT=65]="DWG_TYPE_VPORT",a[a.DWG_TYPE_APPID_CONTROL=66]="DWG_TYPE_APPID_CONTROL",a[a.DWG_TYPE_APPID=67]="DWG_TYPE_APPID",a[a.DWG_TYPE_DIMSTYLE_CONTROL=68]="DWG_TYPE_DIMSTYLE_CONTROL",a[a.DWG_TYPE_DIMSTYLE=69]="DWG_TYPE_DIMSTYLE",a[a.DWG_TYPE_VX_CONTROL=70]="DWG_TYPE_VX_CONTROL",a[a.DWG_TYPE_VX_TABLE_RECORD=71]="DWG_TYPE_VX_TABLE_RECORD",a[a.DWG_TYPE_GROUP=72]="DWG_TYPE_GROUP",a[a.DWG_TYPE_MLINESTYLE=73]="DWG_TYPE_MLINESTYLE",a[a.DWG_TYPE_OLE2FRAME=74]="DWG_TYPE_OLE2FRAME",a[a.DWG_TYPE_DUMMY=75]="DWG_TYPE_DUMMY",a[a.DWG_TYPE_LONG_TRANSACTION=76]="DWG_TYPE_LONG_TRANSACTION",a[a.DWG_TYPE_LWPOLYLINE=77]="DWG_TYPE_LWPOLYLINE",a[a.DWG_TYPE_HATCH=78]="DWG_TYPE_HATCH",a[a.DWG_TYPE_XRECORD=79]="DWG_TYPE_XRECORD",a[a.DWG_TYPE_PLACEHOLDER=80]="DWG_TYPE_PLACEHOLDER",a[a.DWG_TYPE_VBA_PROJECT=81]="DWG_TYPE_VBA_PROJECT",a[a.DWG_TYPE_LAYOUT=82]="DWG_TYPE_LAYOUT",a[a.DWG_TYPE_PROXY_ENTITY=498]="DWG_TYPE_PROXY_ENTITY",a[a.DWG_TYPE_PROXY_OBJECT=499]="DWG_TYPE_PROXY_OBJECT",a[a.DWG_TYPE_ACDSRECORD=500]="DWG_TYPE_ACDSRECORD",a[a.DWG_TYPE_ACDSSCHEMA=501]="DWG_TYPE_ACDSSCHEMA",a[a.DWG_TYPE_ACMECOMMANDHISTORY=502]="DWG_TYPE_ACMECOMMANDHISTORY",a[a.DWG_TYPE_ACMESCOPE=503]="DWG_TYPE_ACMESCOPE",a[a.DWG_TYPE_ACMESTATEMGR=504]="DWG_TYPE_ACMESTATEMGR",a[a.DWG_TYPE_ACSH_BOOLEAN_CLASS=505]="DWG_TYPE_ACSH_BOOLEAN_CLASS",a[a.DWG_TYPE_ACSH_BOX_CLASS=506]="DWG_TYPE_ACSH_BOX_CLASS",a[a.DWG_TYPE_ACSH_BREP_CLASS=507]="DWG_TYPE_ACSH_BREP_CLASS",a[a.DWG_TYPE_ACSH_CHAMFER_CLASS=508]="DWG_TYPE_ACSH_CHAMFER_CLASS",a[a.DWG_TYPE_ACSH_CONE_CLASS=509]="DWG_TYPE_ACSH_CONE_CLASS",a[a.DWG_TYPE_ACSH_CYLINDER_CLASS=510]="DWG_TYPE_ACSH_CYLINDER_CLASS",a[a.DWG_TYPE_ACSH_EXTRUSION_CLASS=511]="DWG_TYPE_ACSH_EXTRUSION_CLASS",a[a.DWG_TYPE_ACSH_FILLET_CLASS=512]="DWG_TYPE_ACSH_FILLET_CLASS",a[a.DWG_TYPE_ACSH_HISTORY_CLASS=513]="DWG_TYPE_ACSH_HISTORY_CLASS",a[a.DWG_TYPE_ACSH_LOFT_CLASS=514]="DWG_TYPE_ACSH_LOFT_CLASS",a[a.DWG_TYPE_ACSH_PYRAMID_CLASS=515]="DWG_TYPE_ACSH_PYRAMID_CLASS",a[a.DWG_TYPE_ACSH_REVOLVE_CLASS=516]="DWG_TYPE_ACSH_REVOLVE_CLASS",a[a.DWG_TYPE_ACSH_SPHERE_CLASS=517]="DWG_TYPE_ACSH_SPHERE_CLASS",a[a.DWG_TYPE_ACSH_SWEEP_CLASS=518]="DWG_TYPE_ACSH_SWEEP_CLASS",a[a.DWG_TYPE_ACSH_TORUS_CLASS=519]="DWG_TYPE_ACSH_TORUS_CLASS",a[a.DWG_TYPE_ACSH_WEDGE_CLASS=520]="DWG_TYPE_ACSH_WEDGE_CLASS",a[a.DWG_TYPE_ALDIMOBJECTCONTEXTDATA=521]="DWG_TYPE_ALDIMOBJECTCONTEXTDATA",a[a.DWG_TYPE_ALIGNMENTPARAMETERENTITY=522]="DWG_TYPE_ALIGNMENTPARAMETERENTITY",a[a.DWG_TYPE_ANGDIMOBJECTCONTEXTDATA=523]="DWG_TYPE_ANGDIMOBJECTCONTEXTDATA",a[a.DWG_TYPE_ANNOTSCALEOBJECTCONTEXTDATA=524]="DWG_TYPE_ANNOTSCALEOBJECTCONTEXTDATA",a[a.DWG_TYPE_ARCALIGNEDTEXT=525]="DWG_TYPE_ARCALIGNEDTEXT",a[a.DWG_TYPE_ARC_DIMENSION=526]="DWG_TYPE_ARC_DIMENSION",a[a.DWG_TYPE_ASSOC2DCONSTRAINTGROUP=527]="DWG_TYPE_ASSOC2DCONSTRAINTGROUP",a[a.DWG_TYPE_ASSOC3POINTANGULARDIMACTIONBODY=528]="DWG_TYPE_ASSOC3POINTANGULARDIMACTIONBODY",a[a.DWG_TYPE_ASSOCACTION=529]="DWG_TYPE_ASSOCACTION",a[a.DWG_TYPE_ASSOCACTIONPARAM=530]="DWG_TYPE_ASSOCACTIONPARAM",a[a.DWG_TYPE_ASSOCALIGNEDDIMACTIONBODY=531]="DWG_TYPE_ASSOCALIGNEDDIMACTIONBODY",a[a.DWG_TYPE_ASSOCARRAYACTIONBODY=532]="DWG_TYPE_ASSOCARRAYACTIONBODY",a[a.DWG_TYPE_ASSOCARRAYMODIFYACTIONBODY=533]="DWG_TYPE_ASSOCARRAYMODIFYACTIONBODY",a[a.DWG_TYPE_ASSOCARRAYMODIFYPARAMETERS=534]="DWG_TYPE_ASSOCARRAYMODIFYPARAMETERS",a[a.DWG_TYPE_ASSOCARRAYPATHPARAMETERS=535]="DWG_TYPE_ASSOCARRAYPATHPARAMETERS",a[a.DWG_TYPE_ASSOCARRAYPOLARPARAMETERS=536]="DWG_TYPE_ASSOCARRAYPOLARPARAMETERS",a[a.DWG_TYPE_ASSOCARRAYRECTANGULARPARAMETERS=537]="DWG_TYPE_ASSOCARRAYRECTANGULARPARAMETERS",a[a.DWG_TYPE_ASSOCASMBODYACTIONPARAM=538]="DWG_TYPE_ASSOCASMBODYACTIONPARAM",a[a.DWG_TYPE_ASSOCBLENDSURFACEACTIONBODY=539]="DWG_TYPE_ASSOCBLENDSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCCOMPOUNDACTIONPARAM=540]="DWG_TYPE_ASSOCCOMPOUNDACTIONPARAM",a[a.DWG_TYPE_ASSOCDEPENDENCY=541]="DWG_TYPE_ASSOCDEPENDENCY",a[a.DWG_TYPE_ASSOCDIMDEPENDENCYBODY=542]="DWG_TYPE_ASSOCDIMDEPENDENCYBODY",a[a.DWG_TYPE_ASSOCEDGEACTIONPARAM=543]="DWG_TYPE_ASSOCEDGEACTIONPARAM",a[a.DWG_TYPE_ASSOCEDGECHAMFERACTIONBODY=544]="DWG_TYPE_ASSOCEDGECHAMFERACTIONBODY",a[a.DWG_TYPE_ASSOCEDGEFILLETACTIONBODY=545]="DWG_TYPE_ASSOCEDGEFILLETACTIONBODY",a[a.DWG_TYPE_ASSOCEXTENDSURFACEACTIONBODY=546]="DWG_TYPE_ASSOCEXTENDSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCEXTRUDEDSURFACEACTIONBODY=547]="DWG_TYPE_ASSOCEXTRUDEDSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCFACEACTIONPARAM=548]="DWG_TYPE_ASSOCFACEACTIONPARAM",a[a.DWG_TYPE_ASSOCFILLETSURFACEACTIONBODY=549]="DWG_TYPE_ASSOCFILLETSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCGEOMDEPENDENCY=550]="DWG_TYPE_ASSOCGEOMDEPENDENCY",a[a.DWG_TYPE_ASSOCLOFTEDSURFACEACTIONBODY=551]="DWG_TYPE_ASSOCLOFTEDSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCMLEADERACTIONBODY=552]="DWG_TYPE_ASSOCMLEADERACTIONBODY",a[a.DWG_TYPE_ASSOCNETWORK=553]="DWG_TYPE_ASSOCNETWORK",a[a.DWG_TYPE_ASSOCNETWORKSURFACEACTIONBODY=554]="DWG_TYPE_ASSOCNETWORKSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCOBJECTACTIONPARAM=555]="DWG_TYPE_ASSOCOBJECTACTIONPARAM",a[a.DWG_TYPE_ASSOCOFFSETSURFACEACTIONBODY=556]="DWG_TYPE_ASSOCOFFSETSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCORDINATEDIMACTIONBODY=557]="DWG_TYPE_ASSOCORDINATEDIMACTIONBODY",a[a.DWG_TYPE_ASSOCOSNAPPOINTREFACTIONPARAM=558]="DWG_TYPE_ASSOCOSNAPPOINTREFACTIONPARAM",a[a.DWG_TYPE_ASSOCPATCHSURFACEACTIONBODY=559]="DWG_TYPE_ASSOCPATCHSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCPATHACTIONPARAM=560]="DWG_TYPE_ASSOCPATHACTIONPARAM",a[a.DWG_TYPE_ASSOCPERSSUBENTMANAGER=561]="DWG_TYPE_ASSOCPERSSUBENTMANAGER",a[a.DWG_TYPE_ASSOCPLANESURFACEACTIONBODY=562]="DWG_TYPE_ASSOCPLANESURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCPOINTREFACTIONPARAM=563]="DWG_TYPE_ASSOCPOINTREFACTIONPARAM",a[a.DWG_TYPE_ASSOCRESTOREENTITYSTATEACTIONBODY=564]="DWG_TYPE_ASSOCRESTOREENTITYSTATEACTIONBODY",a[a.DWG_TYPE_ASSOCREVOLVEDSURFACEACTIONBODY=565]="DWG_TYPE_ASSOCREVOLVEDSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCROTATEDDIMACTIONBODY=566]="DWG_TYPE_ASSOCROTATEDDIMACTIONBODY",a[a.DWG_TYPE_ASSOCSWEPTSURFACEACTIONBODY=567]="DWG_TYPE_ASSOCSWEPTSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCTRIMSURFACEACTIONBODY=568]="DWG_TYPE_ASSOCTRIMSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCVALUEDEPENDENCY=569]="DWG_TYPE_ASSOCVALUEDEPENDENCY",a[a.DWG_TYPE_ASSOCVARIABLE=570]="DWG_TYPE_ASSOCVARIABLE",a[a.DWG_TYPE_ASSOCVERTEXACTIONPARAM=571]="DWG_TYPE_ASSOCVERTEXACTIONPARAM",a[a.DWG_TYPE_BASEPOINTPARAMETERENTITY=572]="DWG_TYPE_BASEPOINTPARAMETERENTITY",a[a.DWG_TYPE_BLKREFOBJECTCONTEXTDATA=573]="DWG_TYPE_BLKREFOBJECTCONTEXTDATA",a[a.DWG_TYPE_BLOCKALIGNEDCONSTRAINTPARAMETER=574]="DWG_TYPE_BLOCKALIGNEDCONSTRAINTPARAMETER",a[a.DWG_TYPE_BLOCKALIGNMENTGRIP=575]="DWG_TYPE_BLOCKALIGNMENTGRIP",a[a.DWG_TYPE_BLOCKALIGNMENTPARAMETER=576]="DWG_TYPE_BLOCKALIGNMENTPARAMETER",a[a.DWG_TYPE_BLOCKANGULARCONSTRAINTPARAMETER=577]="DWG_TYPE_BLOCKANGULARCONSTRAINTPARAMETER",a[a.DWG_TYPE_BLOCKARRAYACTION=578]="DWG_TYPE_BLOCKARRAYACTION",a[a.DWG_TYPE_BLOCKBASEPOINTPARAMETER=579]="DWG_TYPE_BLOCKBASEPOINTPARAMETER",a[a.DWG_TYPE_BLOCKDIAMETRICCONSTRAINTPARAMETER=580]="DWG_TYPE_BLOCKDIAMETRICCONSTRAINTPARAMETER",a[a.DWG_TYPE_BLOCKFLIPACTION=581]="DWG_TYPE_BLOCKFLIPACTION",a[a.DWG_TYPE_BLOCKFLIPGRIP=582]="DWG_TYPE_BLOCKFLIPGRIP",a[a.DWG_TYPE_BLOCKFLIPPARAMETER=583]="DWG_TYPE_BLOCKFLIPPARAMETER",a[a.DWG_TYPE_BLOCKGRIPLOCATIONCOMPONENT=584]="DWG_TYPE_BLOCKGRIPLOCATIONCOMPONENT",a[a.DWG_TYPE_BLOCKHORIZONTALCONSTRAINTPARAMETER=585]="DWG_TYPE_BLOCKHORIZONTALCONSTRAINTPARAMETER",a[a.DWG_TYPE_BLOCKLINEARCONSTRAINTPARAMETER=586]="DWG_TYPE_BLOCKLINEARCONSTRAINTPARAMETER",a[a.DWG_TYPE_BLOCKLINEARGRIP=587]="DWG_TYPE_BLOCKLINEARGRIP",a[a.DWG_TYPE_BLOCKLINEARPARAMETER=588]="DWG_TYPE_BLOCKLINEARPARAMETER",a[a.DWG_TYPE_BLOCKLOOKUPACTION=589]="DWG_TYPE_BLOCKLOOKUPACTION",a[a.DWG_TYPE_BLOCKLOOKUPGRIP=590]="DWG_TYPE_BLOCKLOOKUPGRIP",a[a.DWG_TYPE_BLOCKLOOKUPPARAMETER=591]="DWG_TYPE_BLOCKLOOKUPPARAMETER",a[a.DWG_TYPE_BLOCKMOVEACTION=592]="DWG_TYPE_BLOCKMOVEACTION",a[a.DWG_TYPE_BLOCKPARAMDEPENDENCYBODY=593]="DWG_TYPE_BLOCKPARAMDEPENDENCYBODY",a[a.DWG_TYPE_BLOCKPOINTPARAMETER=594]="DWG_TYPE_BLOCKPOINTPARAMETER",a[a.DWG_TYPE_BLOCKPOLARGRIP=595]="DWG_TYPE_BLOCKPOLARGRIP",a[a.DWG_TYPE_BLOCKPOLARPARAMETER=596]="DWG_TYPE_BLOCKPOLARPARAMETER",a[a.DWG_TYPE_BLOCKPOLARSTRETCHACTION=597]="DWG_TYPE_BLOCKPOLARSTRETCHACTION",a[a.DWG_TYPE_BLOCKPROPERTIESTABLE=598]="DWG_TYPE_BLOCKPROPERTIESTABLE",a[a.DWG_TYPE_BLOCKPROPERTIESTABLEGRIP=599]="DWG_TYPE_BLOCKPROPERTIESTABLEGRIP",a[a.DWG_TYPE_BLOCKRADIALCONSTRAINTPARAMETER=600]="DWG_TYPE_BLOCKRADIALCONSTRAINTPARAMETER",a[a.DWG_TYPE_BLOCKREPRESENTATION=601]="DWG_TYPE_BLOCKREPRESENTATION",a[a.DWG_TYPE_BLOCKROTATEACTION=602]="DWG_TYPE_BLOCKROTATEACTION",a[a.DWG_TYPE_BLOCKROTATIONGRIP=603]="DWG_TYPE_BLOCKROTATIONGRIP",a[a.DWG_TYPE_BLOCKROTATIONPARAMETER=604]="DWG_TYPE_BLOCKROTATIONPARAMETER",a[a.DWG_TYPE_BLOCKSCALEACTION=605]="DWG_TYPE_BLOCKSCALEACTION",a[a.DWG_TYPE_BLOCKSTRETCHACTION=606]="DWG_TYPE_BLOCKSTRETCHACTION",a[a.DWG_TYPE_BLOCKUSERPARAMETER=607]="DWG_TYPE_BLOCKUSERPARAMETER",a[a.DWG_TYPE_BLOCKVERTICALCONSTRAINTPARAMETER=608]="DWG_TYPE_BLOCKVERTICALCONSTRAINTPARAMETER",a[a.DWG_TYPE_BLOCKVISIBILITYGRIP=609]="DWG_TYPE_BLOCKVISIBILITYGRIP",a[a.DWG_TYPE_BLOCKVISIBILITYPARAMETER=610]="DWG_TYPE_BLOCKVISIBILITYPARAMETER",a[a.DWG_TYPE_BLOCKXYGRIP=611]="DWG_TYPE_BLOCKXYGRIP",a[a.DWG_TYPE_BLOCKXYPARAMETER=612]="DWG_TYPE_BLOCKXYPARAMETER",a[a.DWG_TYPE_CAMERA=613]="DWG_TYPE_CAMERA",a[a.DWG_TYPE_CELLSTYLEMAP=614]="DWG_TYPE_CELLSTYLEMAP",a[a.DWG_TYPE_CONTEXTDATAMANAGER=615]="DWG_TYPE_CONTEXTDATAMANAGER",a[a.DWG_TYPE_CSACDOCUMENTOPTIONS=616]="DWG_TYPE_CSACDOCUMENTOPTIONS",a[a.DWG_TYPE_CURVEPATH=617]="DWG_TYPE_CURVEPATH",a[a.DWG_TYPE_DATALINK=618]="DWG_TYPE_DATALINK",a[a.DWG_TYPE_DATATABLE=619]="DWG_TYPE_DATATABLE",a[a.DWG_TYPE_DBCOLOR=620]="DWG_TYPE_DBCOLOR",a[a.DWG_TYPE_DETAILVIEWSTYLE=621]="DWG_TYPE_DETAILVIEWSTYLE",a[a.DWG_TYPE_DGNDEFINITION=622]="DWG_TYPE_DGNDEFINITION",a[a.DWG_TYPE_DGNUNDERLAY=623]="DWG_TYPE_DGNUNDERLAY",a[a.DWG_TYPE_DICTIONARYVAR=624]="DWG_TYPE_DICTIONARYVAR",a[a.DWG_TYPE_DICTIONARYWDFLT=625]="DWG_TYPE_DICTIONARYWDFLT",a[a.DWG_TYPE_DIMASSOC=626]="DWG_TYPE_DIMASSOC",a[a.DWG_TYPE_DMDIMOBJECTCONTEXTDATA=627]="DWG_TYPE_DMDIMOBJECTCONTEXTDATA",a[a.DWG_TYPE_DWFDEFINITION=628]="DWG_TYPE_DWFDEFINITION",a[a.DWG_TYPE_DWFUNDERLAY=629]="DWG_TYPE_DWFUNDERLAY",a[a.DWG_TYPE_DYNAMICBLOCKPROXYNODE=630]="DWG_TYPE_DYNAMICBLOCKPROXYNODE",a[a.DWG_TYPE_DYNAMICBLOCKPURGEPREVENTER=631]="DWG_TYPE_DYNAMICBLOCKPURGEPREVENTER",a[a.DWG_TYPE_EVALUATION_GRAPH=632]="DWG_TYPE_EVALUATION_GRAPH",a[a.DWG_TYPE_EXTRUDEDSURFACE=633]="DWG_TYPE_EXTRUDEDSURFACE",a[a.DWG_TYPE_FCFOBJECTCONTEXTDATA=634]="DWG_TYPE_FCFOBJECTCONTEXTDATA",a[a.DWG_TYPE_FIELD=635]="DWG_TYPE_FIELD",a[a.DWG_TYPE_FIELDLIST=636]="DWG_TYPE_FIELDLIST",a[a.DWG_TYPE_FLIPPARAMETERENTITY=637]="DWG_TYPE_FLIPPARAMETERENTITY",a[a.DWG_TYPE_FLIPACTIONENTITY=638]="DWG_TYPE_FLIPACTIONENTITY",a[a.DWG_TYPE_GEODATA=639]="DWG_TYPE_GEODATA",a[a.DWG_TYPE_GEOMAPIMAGE=640]="DWG_TYPE_GEOMAPIMAGE",a[a.DWG_TYPE_GEOPOSITIONMARKER=641]="DWG_TYPE_GEOPOSITIONMARKER",a[a.DWG_TYPE_GRADIENT_BACKGROUND=642]="DWG_TYPE_GRADIENT_BACKGROUND",a[a.DWG_TYPE_GROUND_PLANE_BACKGROUND=643]="DWG_TYPE_GROUND_PLANE_BACKGROUND",a[a.DWG_TYPE_HELIX=644]="DWG_TYPE_HELIX",a[a.DWG_TYPE_IBL_BACKGROUND=645]="DWG_TYPE_IBL_BACKGROUND",a[a.DWG_TYPE_IDBUFFER=646]="DWG_TYPE_IDBUFFER",a[a.DWG_TYPE_IMAGE=647]="DWG_TYPE_IMAGE",a[a.DWG_TYPE_IMAGEDEF=648]="DWG_TYPE_IMAGEDEF",a[a.DWG_TYPE_IMAGEDEF_REACTOR=649]="DWG_TYPE_IMAGEDEF_REACTOR",a[a.DWG_TYPE_IMAGE_BACKGROUND=650]="DWG_TYPE_IMAGE_BACKGROUND",a[a.DWG_TYPE_INDEX=651]="DWG_TYPE_INDEX",a[a.DWG_TYPE_LARGE_RADIAL_DIMENSION=652]="DWG_TYPE_LARGE_RADIAL_DIMENSION",a[a.DWG_TYPE_LAYERFILTER=653]="DWG_TYPE_LAYERFILTER",a[a.DWG_TYPE_LAYER_INDEX=654]="DWG_TYPE_LAYER_INDEX",a[a.DWG_TYPE_LAYOUTPRINTCONFIG=655]="DWG_TYPE_LAYOUTPRINTCONFIG",a[a.DWG_TYPE_LEADEROBJECTCONTEXTDATA=656]="DWG_TYPE_LEADEROBJECTCONTEXTDATA",a[a.DWG_TYPE_LIGHT=657]="DWG_TYPE_LIGHT",a[a.DWG_TYPE_LIGHTLIST=658]="DWG_TYPE_LIGHTLIST",a[a.DWG_TYPE_LINEARPARAMETERENTITY=659]="DWG_TYPE_LINEARPARAMETERENTITY",a[a.DWG_TYPE_LOFTEDSURFACE=660]="DWG_TYPE_LOFTEDSURFACE",a[a.DWG_TYPE_MATERIAL=661]="DWG_TYPE_MATERIAL",a[a.DWG_TYPE_MENTALRAYRENDERSETTINGS=662]="DWG_TYPE_MENTALRAYRENDERSETTINGS",a[a.DWG_TYPE_MESH=663]="DWG_TYPE_MESH",a[a.DWG_TYPE_MLEADEROBJECTCONTEXTDATA=664]="DWG_TYPE_MLEADEROBJECTCONTEXTDATA",a[a.DWG_TYPE_MLEADERSTYLE=665]="DWG_TYPE_MLEADERSTYLE",a[a.DWG_TYPE_MOVEACTIONENTITY=666]="DWG_TYPE_MOVEACTIONENTITY",a[a.DWG_TYPE_MOTIONPATH=667]="DWG_TYPE_MOTIONPATH",a[a.DWG_TYPE_MPOLYGON=668]="DWG_TYPE_MPOLYGON",a[a.DWG_TYPE_MTEXTATTRIBUTEOBJECTCONTEXTDATA=669]="DWG_TYPE_MTEXTATTRIBUTEOBJECTCONTEXTDATA",a[a.DWG_TYPE_MTEXTOBJECTCONTEXTDATA=670]="DWG_TYPE_MTEXTOBJECTCONTEXTDATA",a[a.DWG_TYPE_MULTILEADER=671]="DWG_TYPE_MULTILEADER",a[a.DWG_TYPE_NAVISWORKSMODEL=672]="DWG_TYPE_NAVISWORKSMODEL",a[a.DWG_TYPE_NAVISWORKSMODELDEF=673]="DWG_TYPE_NAVISWORKSMODELDEF",a[a.DWG_TYPE_NPOCOLLECTION=674]="DWG_TYPE_NPOCOLLECTION",a[a.DWG_TYPE_NURBSURFACE=675]="DWG_TYPE_NURBSURFACE",a[a.DWG_TYPE_OBJECT_PTR=676]="DWG_TYPE_OBJECT_PTR",a[a.DWG_TYPE_ORDDIMOBJECTCONTEXTDATA=677]="DWG_TYPE_ORDDIMOBJECTCONTEXTDATA",a[a.DWG_TYPE_PARTIAL_VIEWING_INDEX=678]="DWG_TYPE_PARTIAL_VIEWING_INDEX",a[a.DWG_TYPE_PDFDEFINITION=679]="DWG_TYPE_PDFDEFINITION",a[a.DWG_TYPE_PDFUNDERLAY=680]="DWG_TYPE_PDFUNDERLAY",a[a.DWG_TYPE_PERSUBENTMGR=681]="DWG_TYPE_PERSUBENTMGR",a[a.DWG_TYPE_PLANESURFACE=682]="DWG_TYPE_PLANESURFACE",a[a.DWG_TYPE_PLOTSETTINGS=683]="DWG_TYPE_PLOTSETTINGS",a[a.DWG_TYPE_POINTCLOUD=684]="DWG_TYPE_POINTCLOUD",a[a.DWG_TYPE_POINTCLOUDCOLORMAP=685]="DWG_TYPE_POINTCLOUDCOLORMAP",a[a.DWG_TYPE_POINTCLOUDDEF=686]="DWG_TYPE_POINTCLOUDDEF",a[a.DWG_TYPE_POINTCLOUDDEFEX=687]="DWG_TYPE_POINTCLOUDDEFEX",a[a.DWG_TYPE_POINTCLOUDDEF_REACTOR=688]="DWG_TYPE_POINTCLOUDDEF_REACTOR",a[a.DWG_TYPE_POINTCLOUDDEF_REACTOR_EX=689]="DWG_TYPE_POINTCLOUDDEF_REACTOR_EX",a[a.DWG_TYPE_POINTCLOUDEX=690]="DWG_TYPE_POINTCLOUDEX",a[a.DWG_TYPE_POINTPARAMETERENTITY=691]="DWG_TYPE_POINTPARAMETERENTITY",a[a.DWG_TYPE_POINTPATH=692]="DWG_TYPE_POINTPATH",a[a.DWG_TYPE_POLARGRIPENTITY=693]="DWG_TYPE_POLARGRIPENTITY",a[a.DWG_TYPE_RADIMLGOBJECTCONTEXTDATA=694]="DWG_TYPE_RADIMLGOBJECTCONTEXTDATA",a[a.DWG_TYPE_RADIMOBJECTCONTEXTDATA=695]="DWG_TYPE_RADIMOBJECTCONTEXTDATA",a[a.DWG_TYPE_RAPIDRTRENDERSETTINGS=696]="DWG_TYPE_RAPIDRTRENDERSETTINGS",a[a.DWG_TYPE_RASTERVARIABLES=697]="DWG_TYPE_RASTERVARIABLES",a[a.DWG_TYPE_RENDERENTRY=698]="DWG_TYPE_RENDERENTRY",a[a.DWG_TYPE_RENDERENVIRONMENT=699]="DWG_TYPE_RENDERENVIRONMENT",a[a.DWG_TYPE_RENDERGLOBAL=700]="DWG_TYPE_RENDERGLOBAL",a[a.DWG_TYPE_RENDERSETTINGS=701]="DWG_TYPE_RENDERSETTINGS",a[a.DWG_TYPE_REVOLVEDSURFACE=702]="DWG_TYPE_REVOLVEDSURFACE",a[a.DWG_TYPE_ROTATIONPARAMETERENTITY=703]="DWG_TYPE_ROTATIONPARAMETERENTITY",a[a.DWG_TYPE_ROTATEACTIONENTITY=704]="DWG_TYPE_ROTATEACTIONENTITY",a[a.DWG_TYPE_RTEXT=705]="DWG_TYPE_RTEXT",a[a.DWG_TYPE_SCALE=706]="DWG_TYPE_SCALE",a[a.DWG_TYPE_SCALEACTIONENTITY=707]="DWG_TYPE_SCALEACTIONENTITY",a[a.DWG_TYPE_SECTIONOBJECT=708]="DWG_TYPE_SECTIONOBJECT",a[a.DWG_TYPE_SECTIONVIEWSTYLE=709]="DWG_TYPE_SECTIONVIEWSTYLE",a[a.DWG_TYPE_SECTION_MANAGER=710]="DWG_TYPE_SECTION_MANAGER",a[a.DWG_TYPE_SECTION_SETTINGS=711]="DWG_TYPE_SECTION_SETTINGS",a[a.DWG_TYPE_SKYLIGHT_BACKGROUND=712]="DWG_TYPE_SKYLIGHT_BACKGROUND",a[a.DWG_TYPE_SOLID_BACKGROUND=713]="DWG_TYPE_SOLID_BACKGROUND",a[a.DWG_TYPE_SORTENTSTABLE=714]="DWG_TYPE_SORTENTSTABLE",a[a.DWG_TYPE_SPATIAL_FILTER=715]="DWG_TYPE_SPATIAL_FILTER",a[a.DWG_TYPE_SPATIAL_INDEX=716]="DWG_TYPE_SPATIAL_INDEX",a[a.DWG_TYPE_STRETCHACTIONENTITY=717]="DWG_TYPE_STRETCHACTIONENTITY",a[a.DWG_TYPE_SUN=718]="DWG_TYPE_SUN",a[a.DWG_TYPE_SUNSTUDY=719]="DWG_TYPE_SUNSTUDY",a[a.DWG_TYPE_SWEPTSURFACE=720]="DWG_TYPE_SWEPTSURFACE",a[a.DWG_TYPE_TABLE=721]="DWG_TYPE_TABLE",a[a.DWG_TYPE_TABLECONTENT=722]="DWG_TYPE_TABLECONTENT",a[a.DWG_TYPE_TABLEGEOMETRY=723]="DWG_TYPE_TABLEGEOMETRY",a[a.DWG_TYPE_TABLESTYLE=724]="DWG_TYPE_TABLESTYLE",a[a.DWG_TYPE_TEXTOBJECTCONTEXTDATA=725]="DWG_TYPE_TEXTOBJECTCONTEXTDATA",a[a.DWG_TYPE_TVDEVICEPROPERTIES=726]="DWG_TYPE_TVDEVICEPROPERTIES",a[a.DWG_TYPE_VISIBILITYGRIPENTITY=727]="DWG_TYPE_VISIBILITYGRIPENTITY",a[a.DWG_TYPE_VISIBILITYPARAMETERENTITY=728]="DWG_TYPE_VISIBILITYPARAMETERENTITY",a[a.DWG_TYPE_VISUALSTYLE=729]="DWG_TYPE_VISUALSTYLE",a[a.DWG_TYPE_WIPEOUT=730]="DWG_TYPE_WIPEOUT",a[a.DWG_TYPE_WIPEOUTVARIABLES=731]="DWG_TYPE_WIPEOUTVARIABLES",a[a.DWG_TYPE_XREFPANELOBJECT=732]="DWG_TYPE_XREFPANELOBJECT",a[a.DWG_TYPE_XYPARAMETERENTITY=733]="DWG_TYPE_XYPARAMETERENTITY",a[a.DWG_TYPE_BREAKDATA=734]="DWG_TYPE_BREAKDATA",a[a.DWG_TYPE_BREAKPOINTREF=735]="DWG_TYPE_BREAKPOINTREF",a[a.DWG_TYPE_FLIPGRIPENTITY=736]="DWG_TYPE_FLIPGRIPENTITY",a[a.DWG_TYPE_LINEARGRIPENTITY=737]="DWG_TYPE_LINEARGRIPENTITY",a[a.DWG_TYPE_ROTATIONGRIPENTITY=738]="DWG_TYPE_ROTATIONGRIPENTITY",a[a.DWG_TYPE_XYGRIPENTITY=739]="DWG_TYPE_XYGRIPENTITY",a[a.DWG_TYPE__3DLINE=740]="DWG_TYPE__3DLINE",a[a.DWG_TYPE_REPEAT=741]="DWG_TYPE_REPEAT",a[a.DWG_TYPE_ENDREP=742]="DWG_TYPE_ENDREP",a[a.DWG_TYPE_JUMP=743]="DWG_TYPE_JUMP",a[a.DWG_TYPE_LOAD=744]="DWG_TYPE_LOAD",a[a.DWG_TYPE_FREED=65533]="DWG_TYPE_FREED",a[a.DWG_TYPE_UNKNOWN_ENT=65534]="DWG_TYPE_UNKNOWN_ENT",a[a.DWG_TYPE_UNKNOWN_OBJ=65535]="DWG_TYPE_UNKNOWN_OBJ",a))(L||{});Object.fromEntries(Object.entries(L).map(([a,t])=>[t,a]));var Lt=(a=>(a[a.DWG=0]="DWG",a[a.DXF=1]="DXF",a))(Lt||{}),Xe=(a=>(a[a.Line=1]="Line",a[a.CircularArc=2]="CircularArc",a[a.EllipticArc=3]="EllipticArc",a[a.Spline=4]="Spline",a))(Xe||{}),pt=(a=>(a[a.ByLayer=192]="ByLayer",a[a.ByBlock=193]="ByBlock",a[a.Entities=194]="Entities",a[a.TrueColor=195]="TrueColor",a[a.ForegroundColor=197]="ForegroundColor",a[a.None=200]="None",a))(pt||{});const ir=192,sr=193,Ro=194,wn=195,_r=200;function fr(a){if(a==null)return;const t=a.method,i=a.method!=null&&t!==0?t:a.rgb>>>24&255,n=a.index;if(a.rgb!=null&&i>=ir&&i<=_r&&(a.rgb>>>24&255)===i)return a.rgb>>0;if(i===pt.ByLayer||n===256)return ir<<24>>0;if(i===pt.ByBlock||n===0)return sr<<24>>0;if(i===pt.None)return _r<<24>>0;if(i===pt.TrueColor){const d=a.rgb!=null?a.rgb&16777215:void 0;if(d!=null)return(Ro<<24|d)>>0}return i===pt.ForegroundColor?(wn<<24|7)>>0:i===pt.Entities&&n>0&&n<256||n>0&&n<256?(wn<<24|n&255)>>0:sr<<24>>0}function So(a){if(a==null)return;const t=a.method,i=a.method!=null&&t!==0?t:a.rgb>>>24&255,n=a.index;if(!(i===pt.ByLayer||i===pt.ByBlock||i===pt.None||n===256)){if(i===pt.ForegroundColor)return 7;if(i===pt.TrueColor)return a.rgb==null?void 0:a.rgb&16777215;if(n>=1&&n<=255)return n;if(n!==0&&a.rgb!=null){const d=a.rgb&16777215;if(d!==0)return d}}}const Lo="*MODEL_SPACE",Yo="*PAPER_SPACE",Gn=a=>a&&a.toUpperCase()==Lo,No=a=>a&&a.toUpperCase().startsWith(Yo),vt=a=>a.toString(16).toUpperCase(),Ke=a=>{const t=new Array(a.length);for(let i=0;i<a.length;i++)t[i]=a[i].toString(16).toUpperCase().padStart(2,"0");return t.join("")},Go=a=>{if(!a||a.length<98)return null;const t=new DataView(a.buffer,a.byteOffset,a.byteLength),i=_=>({x:t.getFloat64(_,!0),y:t.getFloat64(_+8,!0),z:t.getFloat64(_+16,!0)}),n=i(2),d=i(50);return[n.x,n.y,n.z,d.x,d.y,d.z].every(Number.isFinite)?{upperLeft:n,lowerRight:d}:null};class Wo{constructor(t){nt(this,"libredwg"),nt(this,"layers",new Map),nt(this,"ltypes",new Map),nt(this,"classes",[]),nt(this,"unknownEntityCount"),this.libredwg=t,this.unknownEntityCount=0}prepare(t,i=!1){(i||this.layers.size==0)&&(this.layers.clear(),t.tables.LAYER.entries.forEach(n=>{this.layers.set(n.handle,n.name)})),(i||this.ltypes.size==0)&&(this.ltypes.clear(),t.tables.LTYPE.entries.forEach(n=>{this.ltypes.set(n.handle,n.name)})),this.classes=t.classes,this.unknownEntityCount=0}setClasses(t){this.classes=t}clear(){this.layers.clear(),this.ltypes.clear(),this.classes=[],this.unknownEntityCount=0}convert(t){const i=this.libredwg,n=i.dwg_object_to_entity(t),d=i.dwg_object_to_entity_tio(t);if(n&&d){const _=this.getCommonAttrs(n),u=i.dwg_object_get_fixedtype(t);if(u==L.DWG_TYPE_3DFACE)return this.convert3dFace(d,_);if(u==L.DWG_TYPE_3DSOLID)return this.convert3dSolid(d,_);if(u==L.DWG_TYPE_ARC)return this.convertArc(d,_);if(u==L.DWG_TYPE_ARCALIGNEDTEXT)return this.convertArcAlignedText(d,_);if(u==L.DWG_TYPE_ATTDEF)return this.convertAttdef(d,_);if(u==L.DWG_TYPE_CIRCLE)return this.convertCircle(d,_);if(u==L.DWG_TYPE_DIMENSION_ALIGNED||u==L.DWG_TYPE_DIMENSION_LINEAR)return this.convertAlignedDimension(d,_);if(u==L.DWG_TYPE_DIMENSION_ANG3PT)return this.convert3PointAngularDimension(d,_);if(u==L.DWG_TYPE_DIMENSION_ANG2LN)return this.convert2LineAngularDimension(d,_);if(u==L.DWG_TYPE_DIMENSION_DIAMETER)return this.convertDiameterDimension(d,_);if(u==L.DWG_TYPE_DIMENSION_ORDINATE)return this.convertOrdinateDimension(d,_);if(u==L.DWG_TYPE_DIMENSION_RADIUS)return this.convertRadiusDimension(d,_);if(u==L.DWG_TYPE_ELLIPSE)return this.convertEllise(d,_);if(u==L.DWG_TYPE_HATCH)return this.convertHatch(d,_);if(u==L.DWG_TYPE_IMAGE)return this.convertImage(d,_);if(u==L.DWG_TYPE_INSERT)return this.convertInsert(d,_);if(u==L.DWG_TYPE_LEADER)return this.convertLeader(d,_);if(u==L.DWG_TYPE_LINE)return this.convertLine(d,_);if(u==L.DWG_TYPE_LWPOLYLINE)return this.convertLWPolyline(d,_);if(u==L.DWG_TYPE_MLINE)return this.convertMLine(d,_);if(u==L.DWG_TYPE_MULTILEADER)return this.convertMultiLeader(d,_);if(u==L.DWG_TYPE_MTEXT)return this.convertMText(d,_);if(u==L.DWG_TYPE_OLE2FRAME)return this.convertOle2Frame(d,_);if(u==L.DWG_TYPE_OLEFRAME)return this.convertOleFrame(d,_);if(u==L.DWG_TYPE_POINT)return this.convertPoint(d,_);if(u==L.DWG_TYPE_POLYLINE_2D)return this.convertPolyline2d(d,_,t);if(u==L.DWG_TYPE_POLYLINE_3D)return this.convertPolyline3d(d,_,t);if(u==L.DWG_TYPE_PROXY_ENTITY)return this.convertProxyEntity(d,_,t);if(u==L.DWG_TYPE_RAY)return this.convertRay(d,_);if(u==L.DWG_TYPE_SECTIONOBJECT)return this.convertSection(d,_);if(u==L.DWG_TYPE_SHAPE)return this.convertShape(d,_);if(u==L.DWG_TYPE_SOLID)return this.convertSolid(d,_);if(u==L.DWG_TYPE_TRACE)return this.convertTrace(d,_);if(u==L.DWG_TYPE_SPLINE)return this.convertSpline(d,_);if(u==L.DWG_TYPE_TABLE)return this.convertTable(d,_);if(u==L.DWG_TYPE_TEXT)return this.convertText(d,_);if(u==L.DWG_TYPE_TOLERANCE)return this.convertTolerance(d,_);if(u==L.DWG_TYPE_VIEWPORT)return this.convertViewport(d,_);if(u==L.DWG_TYPE_WIPEOUT)return this.convertWipeout(d,_);if(u==L.DWG_TYPE_XLINE)return this.convertXline(d,_);u===L.DWG_TYPE_UNKNOWN_ENT&&this.unknownEntityCount++}}convert3dFace(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"corner1"),_=n.dwg_dynapi_entity_data(t,"corner2"),u=n.dwg_dynapi_entity_data(t,"corner3"),f=n.dwg_dynapi_entity_data(t,"corner4"),h=n.dwg_dynapi_entity_data(t,"invis_flags");return{type:"3DFACE",...i,corner1:d,corner2:_,corner3:u,corner4:f,flag:h}}convert3dSolid(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"version"),_=n.dwg_dynapi_entity_data(t,"acis_empty"),u=n.dwg_dynapi_entity_data(t,"acis_data"),f=n.dwg_dynapi_entity_data(t,"has_revision_guid"),h=n.dwg_dynapi_entity_data(t,"history_id"),A=n.dwg_ref_get_id(h),P={type:"3DSOLID",subclassMarker:"AcDb3dSolid",...i};if(d&&(P.version=d),P.satCache=_,u&&(P.data=u),f){const p=n.dwg_dynapi_entity_field_offset(t,"revision_guid");if(p>=0){const v=n.UTF8ToString(t+p,38);v&&(P.guid=v)}}return A&&(P.historyObjectSoftId=A),P}convertArc(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"center"),_=n.dwg_dynapi_entity_data(t,"radius"),u=n.dwg_dynapi_entity_data(t,"thickness"),f=n.dwg_dynapi_entity_data(t,"extrusion"),h=n.dwg_dynapi_entity_data(t,"start_angle"),A=n.dwg_dynapi_entity_data(t,"end_angle");return{type:"ARC",...i,thickness:u,center:d,radius:_,startAngle:h,endAngle:A,extrusionDirection:f}}convertArcAlignedText(t,i){const n=this.libredwg,d=(A,P=0)=>{const p=n.dwg_dynapi_entity_data(t,A);if(typeof p=="number"&&Number.isFinite(p))return p;if(typeof p=="string"&&p.trim()!==""){const v=Number(p);if(Number.isFinite(v))return v}return P},_=n.dwg_dynapi_entity_data(t,"center"),u=n.dwg_dynapi_entity_data(t,"extrusion"),f=n.dwg_dynapi_entity_data(t,"arc_handle"),h=d("xscale",1);return{type:"ARCALIGNEDTEXT",...i,text:n.dwg_dynapi_entity_data(t,"text_value")??"",textSize:d("text_size"),xScale:h>0?h:1,characterSpacing:d("char_spacing"),styleName:n.dwg_dynapi_entity_data(t,"style")??"",fontName:n.dwg_dynapi_entity_data(t,"font_name")??"",bigFontName:n.dwg_dynapi_entity_data(t,"bigfont_name")??"",offsetFromArc:d("offset_from_arc"),rightOffset:d("right_offset"),leftOffset:d("left_offset"),center:_??{x:0,y:0,z:0},radius:n.dwg_dynapi_entity_data(t,"radius")??0,startAngle:n.dwg_dynapi_entity_data(t,"start_angle")??0,endAngle:n.dwg_dynapi_entity_data(t,"end_angle")??0,extrusionDirection:u??{x:0,y:0,z:1},rawTextColor:n.dwg_dynapi_entity_data(t,"color")??256,characterSet:n.dwg_dynapi_entity_data(t,"character_set")??0,pitchAndFamily:n.dwg_dynapi_entity_data(t,"pitch_and_family")??0,isShx:(n.dwg_dynapi_entity_data(t,"is_shx")??0)!==0,isBold:(n.dwg_dynapi_entity_data(t,"is_bold")??0)!==0,isItalic:(n.dwg_dynapi_entity_data(t,"is_italic")??0)!==0,isUnderlined:(n.dwg_dynapi_entity_data(t,"is_underlined")??0)!==0,alignment:n.dwg_dynapi_entity_data(t,"alignment")??0,isReverse:(n.dwg_dynapi_entity_data(t,"is_reverse")??0)!==0,wizardFlag:n.dwg_dynapi_entity_data(t,"wizard_flag")??0,textPosition:n.dwg_dynapi_entity_data(t,"text_position")??1,textDirection:n.dwg_dynapi_entity_data(t,"text_direction")??1,arcHandle:f?n.dwg_ref_get_id(f)??"":""}}convertEmbeddedMText(t,i){const n=this.libredwg,d=n.dwg_dynapi_subclass_data(t,i,"attachment"),_=n.dwg_dynapi_subclass_data(t,i,"ins_pt"),u=n.dwg_dynapi_subclass_data(t,i,"x_axis_dir"),f=n.dwg_dynapi_subclass_data(t,i,"rect_height"),h=n.dwg_dynapi_subclass_data(t,i,"rect_width"),A=n.dwg_dynapi_subclass_data(t,i,"extents_height"),P=n.dwg_dynapi_subclass_data(t,i,"extents_width");return{insertionPoint:_,rectHeight:f,rectWidth:h,extentsHeight:A,extentsWidth:P,attachmentPoint:d,direction:u}}convertAttdef(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"default_value"),_=this.convertTextBase(t);_.text=d;const u=n.dwg_dynapi_entity_data(t,"prompt"),f=n.dwg_dynapi_entity_data(t,"tag"),h=n.dwg_dynapi_entity_data(t,"flags"),A=n.dwg_dynapi_entity_data(t,"field_length"),P=n.dwg_dynapi_entity_data(t,"lock_position_flag"),p=n.dwg_dynapi_entity_data(t,"keep_duplicate_records"),v=n.dwg_dynapi_entity_data(t,"is_really_locked"),I=n.dwg_dynapi_entity_data(t,"mtext_type"),D=n.dwg_dynapi_entity_data(t,"alignment_pt");return{type:"ATTDEF",...i,text:this.convertTextBase(t),prompt:u,tag:f,flags:h,fieldLength:A,lockPositionFlag:P>0,duplicateRecordCloningFlag:p>0,mtextFlag:I,isReallyLocked:v>0,alignmentPoint:D,annotationScale:1,attrTag:"",mtext:this.convertEmbeddedMText(t,"ATTDEF_mtext")}}convertAttrib(t,i){const n=this.libredwg,d=this.convertTextBase(t),_=n.dwg_dynapi_entity_data(t,"tag"),u=n.dwg_dynapi_entity_data(t,"flags"),f=n.dwg_dynapi_entity_data(t,"field_length"),h=n.dwg_dynapi_entity_data(t,"lock_position_flag"),A=n.dwg_dynapi_entity_data(t,"keep_duplicate_records"),P=n.dwg_dynapi_entity_data(t,"mtext_type"),p=n.dwg_dynapi_entity_data(t,"is_really_locked"),v=n.dwg_dynapi_entity_data(t,"alignment_pt");return{type:"ATTRIB",...i,text:d,tag:_,flags:u,fieldLength:f,lockPositionFlag:!!h,duplicateRecordCloningFlag:!!A,mtextFlag:P,isReallyLocked:!!p,numberOfSecondaryAttrs:0,secondaryAttrsHardId:"0",alignmentPoint:{...v,z:0},annotationScale:1,attrTag:"",mtext:this.convertEmbeddedMText(t,"ATTDEF_mtext")}}convertCircle(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"center"),_=n.dwg_dynapi_entity_data(t,"radius"),u=n.dwg_dynapi_entity_data(t,"thickness"),f=n.dwg_dynapi_entity_data(t,"extrusion");return{type:"CIRCLE",...i,thickness:u,center:d,radius:_,extrusionDirection:f}}convertAlignedDimension(t,i){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"clone_ins_pt"),u=n.dwg_dynapi_entity_data(t,"xline1_pt"),f=n.dwg_dynapi_entity_data(t,"xline2_pt"),h=n.dwg_dynapi_entity_data(t,"ins_rotation"),A=n.dwg_dynapi_entity_data(t,"oblique_angle");return{subclassMarker:"AcDbAlignedDimension",...i,...d,insertionPoint:_,subDefinitionPoint1:u,subDefinitionPoint2:f,rotationAngle:h??0,obliqueAngle:A}}convert3PointAngularDimension(t,i){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"xline1_pt"),u=n.dwg_dynapi_entity_data(t,"xline2_pt"),f=n.dwg_dynapi_entity_data(t,"center_pt"),h=n.dwg_dynapi_entity_data(t,"xline2end_pt");return{subclassMarker:"AcDb3PointAngularDimension",...i,...d,subDefinitionPoint1:_,subDefinitionPoint2:u,centerPoint:f,arcPoint:h}}convert2LineAngularDimension(t,i){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"xline1start_pt"),u=n.dwg_dynapi_entity_data(t,"xline1end_pt"),f=n.dwg_dynapi_entity_data(t,"xline2start_pt"),h=n.dwg_dynapi_entity_data(t,"xline2end_pt"),A=n.dwg_dynapi_entity_data(t,"def_pt");return h&&(d.definitionPoint=h),{subclassMarker:"AcDb2LineAngularDimension",...i,...d,subDefinitionPoint1:_??u??A??h,subDefinitionPoint2:f??h??A??u,centerPoint:A??f??u??h,arcPoint:h??d.definitionPoint}}convertDiameterDimension(t,i){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"first_arc_pt"),u=n.dwg_dynapi_entity_data(t,"leader_len");return{subclassMarker:"AcDbDiametricDimension",...i,...d,centerPoint:_,leaderLength:u}}convertOrdinateDimension(t,i){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"feature_location_pt"),u=n.dwg_dynapi_entity_data(t,"leader_endpt");return{subclassMarker:"AcDbOrdinateDimension",...i,...d,subDefinitionPoint1:_,subDefinitionPoint2:u}}convertRadiusDimension(t,i){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"first_arc_pt"),u=n.dwg_dynapi_entity_data(t,"leader_len");return{subclassMarker:"AcDbRadialDimension",...i,...d,centerPoint:_,leaderLength:u}}convertEllise(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"center"),_=n.dwg_dynapi_entity_data(t,"sm_axis"),u=n.dwg_dynapi_entity_data(t,"extrusion"),f=n.dwg_dynapi_entity_data(t,"axis_ratio"),h=n.dwg_dynapi_entity_data(t,"start_angle"),A=n.dwg_dynapi_entity_data(t,"end_angle");return{type:"ELLIPSE",...i,center:d,majorAxisEndPoint:_,extrusionDirection:u,axisRatio:f,startAngle:h,endAngle:A}}convertHatch(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"extrusion"),_=n.dwg_dynapi_entity_data(t,"name"),u=n.dwg_dynapi_entity_data(t,"is_solid_fill"),f=n.dwg_dynapi_entity_data(t,"is_associative"),h=n.dwg_dynapi_entity_data(t,"num_paths"),A=n.dwg_dynapi_entity_data(t,"paths"),P=n.dwg_ptr_to_hatch_path_array(A,h),p=n.dwg_dynapi_entity_data(t,"style"),v=n.dwg_dynapi_entity_data(t,"pattern_type"),I=n.dwg_dynapi_entity_data(t,"angle"),D=n.dwg_dynapi_entity_data(t,"scale_spacing"),w=n.dwg_dynapi_entity_data(t,"num_deflines"),m=n.dwg_dynapi_entity_data(t,"deflines"),S=n.dwg_ptr_to_hatch_defline_array(m,w),G=n.dwg_dynapi_entity_data(t,"pixel_size"),M=n.dwg_dynapi_entity_data(t,"num_seeds"),b=n.dwg_dynapi_entity_data(t,"seeds"),k=n.dwg_ptr_to_point2d_array(b,M),$={...i,extrusionDirection:d,patternName:_,solidFill:u?Dn.SolidFill:Dn.PatternFill,associativity:f?Rn.Associative:Rn.NonAssociative,numberOfBoundaryPaths:h,boundaryPaths:this.convertHatchBoundaryPaths(P),hatchStyle:p,patternType:v,patternAngle:I,patternScale:D,numberOfDefinitionLines:w,definitionLines:S.map(U=>({angle:U.angle,base:U.pt0,offset:U.offset,numberOfDashLengths:U.dashes.length,dashLengths:U.dashes})),pixelSize:G,numberOfSeedPoints:M,seedPoints:k};if(n.dwg_dynapi_entity_data(t,"is_gradient_fill")>0){const U=n.dwg_dynapi_entity_data(t,"gradient_name"),Z=n.dwg_dynapi_entity_data(t,"gradient_angle"),rt=n.dwg_dynapi_entity_data(t,"gradient_shift"),dt=n.dwg_dynapi_entity_data(t,"gradient_tint"),Y=n.dwg_dynapi_entity_data(t,"single_color_gradient"),F=n.dwg_dynapi_entity_data(t,"colors"),ct=n.dwg_ptr_to_hatch_gradient_color_array(F,Y==1?1:2);return{type:"HATCH",...$,gradientFlag:Er.Gradient,gradientColorFlag:Y==1?Sn.OneColor:Sn.TwoColor,gradientName:U,gradientRotation:Z,gradientDefinition:rt,colorTint:dt,gradientColors:ct}}else return{type:"HATCH",...$}}convertHatchBoundaryPaths(t){return t.filter(n=>n.num_segs_or_paths>0).map(n=>{const d={boundaryPathTypeFlag:n.flag};if(n.flag&2)return{...d,hasBulge:n.bulges_present,isClosed:n.closed,numberOfVertices:n.num_segs_or_paths,vertices:n.polyline_paths.map(_=>({x:_.point.x,y:_.point.y,bulge:_.bulge}))};{const _=n.segs.map(u=>{if(u.curve_type==Xe.Line)return{type:Ve.Line,start:u.first_endpoint,end:u.second_endpoint};if(u.curve_type==Xe.CircularArc)return{type:Ve.Circular,center:u.center,radius:u.radius,startAngle:u.start_angle,endAngle:u.end_angle,isCCW:u.is_ccw};if(u.curve_type==Xe.EllipticArc)return{type:Ve.Elliptic,center:u.center,end:u.endpoint,lengthOfMinorAxis:u.minor_major_ratio,startAngle:u.start_angle,endAngle:u.end_angle,isCCW:u.is_ccw};if(u.curve_type==Xe.Spline)return{type:Ve.Spline,degree:u.degree,isRational:u.is_rational,isPeriodic:u.is_periodic,numberOfKnots:u.num_knots,numberOfControlPoints:u.num_control_points,knots:u.knots,controlPoints:u.control_points,numberOfFitData:u.num_fitpts,fitDatum:u.fitpts,startTangent:u.start_tangent,endTangent:u.end_tangent}}).filter(u=>u!=null);return{...d,numberOfEdges:_.length,edges:_}}})}convertImage(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"class_version"),_=n.dwg_dynapi_entity_data(t,"pt0"),u=n.dwg_dynapi_entity_data(t,"uvec"),f=n.dwg_dynapi_entity_data(t,"vvec"),h=n.dwg_dynapi_entity_data(t,"image_size"),A=n.dwg_dynapi_entity_data(t,"display_props"),P=n.dwg_dynapi_entity_data(t,"clipping"),p=n.dwg_dynapi_entity_data(t,"brightness"),v=n.dwg_dynapi_entity_data(t,"contrast"),I=n.dwg_dynapi_entity_data(t,"fade"),D=n.dwg_dynapi_entity_data(t,"clip_mode"),w=n.dwg_dynapi_entity_data(t,"clip_boundary_type"),m=n.dwg_dynapi_entity_data(t,"num_clip_verts"),S=n.dwg_dynapi_entity_data(t,"clip_verts"),G=n.dwg_ptr_to_point3d_array(S,m),M=n.dwg_dynapi_entity_data(t,"imagedef"),b=n.dwg_ref_get_id(M)??"",k=n.dwg_dynapi_entity_data(t,"imagedefreactor"),$=n.dwg_ref_get_id(k)??"";return{type:"IMAGE",...i,version:d,position:_,uPixel:u,vPixel:f,imageSize:h,imageDefHandle:b,flags:A,clipping:P,brightness:p,contrast:v,fade:I,imageDefReactorHandle:$,clippingBoundaryType:w,countBoundaryPoints:m,clippingBoundaryPath:G,clipMode:D}}convertInsert(t,i){const n=this.libredwg;let d="";const _=n.dwg_dynapi_entity_data(t,"block_header");if(_){const m=n.dwg_ref_get_object(_);if(m){const S=n.dwg_object_to_object_tio(m);S&&(d=n.dwg_entity_block_header_get_block(S).name)}}d||(d=n.dwg_dynapi_entity_data(t,"block_name"));const u=n.dwg_dynapi_entity_data(t,"ins_pt"),f=n.dwg_dynapi_entity_data(t,"scale"),h=n.dwg_dynapi_entity_data(t,"rotation"),A=n.dwg_dynapi_entity_data(t,"num_cols"),P=n.dwg_dynapi_entity_data(t,"num_rows"),p=n.dwg_dynapi_entity_data(t,"col_spacing"),v=n.dwg_dynapi_entity_data(t,"row_spacing"),I=n.dwg_dynapi_entity_data(t,"extrusion"),D=n.dwg_entity_insert_get_attribs(t),w=[];return D.forEach(m=>{const S=n.dwg_object_to_entity(m),G=n.dwg_object_to_entity_tio(m);if(S&&G){const M=this.getCommonAttrs(S);n.dwg_object_get_fixedtype(m)==L.DWG_TYPE_ATTRIB&&w.push(this.convertAttrib(G,M))}}),{type:"INSERT",...i,name:d,insertionPoint:u,xScale:f?f.x:1,yScale:f?f.y:1,zScale:f?f.z:1,rotation:h,columnCount:A,rowCount:P,columnSpacing:p,rowSpacing:v,extrusionDirection:I,attribs:w}}convertLeader(t,i){const n=this.libredwg;let d="";try{d=n.dwg_entity_get_dimstyle_name(t)||""}catch{d=""}const u=n.dwg_dynapi_entity_data(t,"arrowhead_on")>0,f=n.dwg_dynapi_entity_data(t,"path_type"),h=n.dwg_dynapi_entity_data(t,"annot_type"),A=n.dwg_dynapi_entity_data(t,"hookline_dir"),P=n.dwg_dynapi_entity_data(t,"hookline_on"),p=n.dwg_dynapi_entity_data(t,"box_height"),v=n.dwg_dynapi_entity_data(t,"box_width"),I=n.dwg_dynapi_entity_data(t,"num_points"),D=n.dwg_dynapi_entity_data(t,"points"),w=I>0?n.dwg_ptr_to_point3d_array(D,I):[],m=n.dwg_dynapi_entity_data(t,"byblock_color"),S=n.dwg_dynapi_entity_data(t,"extrusion"),G=n.dwg_dynapi_entity_data(t,"x_direction"),M=n.dwg_dynapi_entity_data(t,"inspt_offset"),b=n.dwg_dynapi_entity_data(t,"endptproj");return{type:"LEADER",...i,styleName:d,isArrowheadEnabled:u,isSpline:f>0,leaderCreationFlag:h,isHooklineSameDirection:A>0,isHooklineExists:P>0,textHeight:p,textWidth:v,numberOfVertices:I,vertices:w,byBlockColor:m,normal:S,horizontalDirection:G,offsetFromBlock:M,offsetFromAnnotation:b}}convertLine(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"start"),_=n.dwg_dynapi_entity_data(t,"end"),u=n.dwg_dynapi_entity_data(t,"thickness"),f=n.dwg_dynapi_entity_data(t,"extrusion");return{type:"LINE",...i,thickness:u,startPoint:d,endPoint:_,extrusionDirection:f}}convertLWPolyline(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"num_points"),_=n.dwg_dynapi_entity_data(t,"flag"),u=n.dwg_dynapi_entity_data(t,"const_width"),f=n.dwg_dynapi_entity_data(t,"elevation"),h=n.dwg_dynapi_entity_data(t,"thickness"),A=n.dwg_dynapi_entity_data(t,"extrusion"),P=[],p=n.dwg_dynapi_entity_data(t,"num_points"),v=n.dwg_dynapi_entity_data(t,"points"),I=n.dwg_ptr_to_point2d_array(v,p),D=n.dwg_dynapi_entity_data(t,"num_bulges"),w=n.dwg_dynapi_entity_data(t,"bulges"),m=n.dwg_ptr_to_double_array(w,D),S=n.dwg_dynapi_entity_data(t,"num_widths")??0,G=n.dwg_dynapi_entity_data(t,"widths"),M=S>0&&G?n.dwg_ptr_to_double_array(G,S*2):[];return I.forEach((b,k)=>{const $={id:k,x:b.x,y:b.y,bulge:m.length>k?m[k]:0};k<S&&M.length>=(k+1)*2&&($.startWidth=M[k*2],$.endWidth=M[k*2+1]),P.push($)}),{type:"LWPOLYLINE",...i,numberOfVertices:d,flag:_,constantWidth:u,elevation:f,thickness:h,extrusionDirection:A,vertices:P}}convertMLine(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"scale"),_=n.dwg_dynapi_entity_data(t,"flags"),u=n.dwg_dynapi_entity_data(t,"justification"),f=n.dwg_dynapi_entity_data(t,"base_point"),h=n.dwg_dynapi_entity_data(t,"extrusion"),A=n.dwg_dynapi_entity_data(t,"num_lines"),P=n.dwg_dynapi_entity_data(t,"num_verts"),p=n.dwg_dynapi_entity_data(t,"verts"),v=n.dwg_ptr_to_mline_vertex_array(p,P),I=[];return v.forEach(D=>{I.push({vertex:D.vertex,vertexDirection:D.vertex_direction,miterDirection:D.miter_direction,numberOfLines:D.num_lines,lines:D.lines.map(w=>({numberOfSegmentParams:w.num_segparms,segmentParams:w.segparms,numberOfAreaFillParams:w.num_areafillparms,areaFillParams:w.areafillparms}))})}),{type:"MLINE",...i,scale:d,flags:_,justification:u,startPoint:f,extrusionDirection:h,numberOfLines:A,numberOfVertices:P,vertices:I,mlineStyle:""}}convertMultiLeader(t,i){const n=this.libredwg,d=J=>n.dwg_dynapi_entity_data(t,J),_=(J,j,jt)=>n.dwg_dynapi_subclass_data(J,j,jt),u=J=>n.dwg_ref_get_id(J),f=J=>J>0,h=J=>J!=null?fr(J):void 0,A=d("class_version"),P=u(d("mleaderstyle")),p=d("flags"),v=d("type"),I=h(d("line_color")),D=u(d("line_ltype")),w=d("line_linewt"),m=f(d("has_landing")),S=f(d("has_dogleg")),G=d("landing_dist"),M=u(d("arrow_handle")),b=d("arrow_size"),k=d("style_content"),$=u(d("text_style")),q=d("text_left"),U=d("text_right"),Z=d("text_angletype"),rt=d("text_alignment"),dt=h(d("text_color")),Y=f(d("has_text_frame")),F=u(d("block_style")),ct=h(d("block_color")),it=d("block_scale"),Yt=d("block_rotation"),mt=d("style_attachment"),Tt=f(d("is_annotative")),wt=f(d("is_neg_textdir")),xt=d("ipe_alignment");let Ct=d("justification");const kt=d("attach_dir"),ft=d("attach_bottom"),Dt=d("attach_top"),zt=d("scale_factor"),Ot=d("num_arrowheads"),Nt=d("arrowheads"),Bt=n.dwg_dynapi_subclass_size("LEADER_ArrowHead"),Ft=[];for(let J=0;J<Ot;J++){const j=Nt+J*Bt;Ft.push({index:_(j,"LEADER_ArrowHead","is_default"),handle:u(_(j,"LEADER_ArrowHead","arrowhead"))??""})}const ne=d("num_blocklabels"),re=d("blocklabels"),ae=n.dwg_dynapi_subclass_size("LEADER_BlockLabel"),Ut=[];for(let J=0;J<ne;J++){const j=re+J*ae;Ut.push({id:u(_(j,"LEADER_BlockLabel","attdef")),index:_(j,"LEADER_BlockLabel","ui_index"),width:_(j,"LEADER_BlockLabel","width"),text:_(j,"LEADER_BlockLabel","label_text")})}const Q=t+n.dwg_dynapi_entity_field_offset(t,"ctx"),V=Q+n.dwg_dynapi_subclass_field_offset("MLEADER_AnnotContext","content"),$t=_(Q,"MLEADER_AnnotContext","scale_factor"),oe=_(Q,"MLEADER_AnnotContext","content_base"),Ht=_(Q,"MLEADER_AnnotContext","landing_gap"),he=_(Q,"MLEADER_AnnotContext","attach_dir"),Ne=_(Q,"MLEADER_AnnotContext","text_height"),Ge=_(Q,"MLEADER_AnnotContext","arrow_size"),We=_(Q,"MLEADER_AnnotContext","text_left"),Me=_(Q,"MLEADER_AnnotContext","text_right"),be=_(Q,"MLEADER_AnnotContext","text_angletype"),ge=_(Q,"MLEADER_AnnotContext","text_alignment"),Ae=f(_(Q,"MLEADER_AnnotContext","has_content_txt")),Te=f(_(Q,"MLEADER_AnnotContext","has_content_blk")),Pe=_(Q,"MLEADER_AnnotContext","base"),xe=_(Q,"MLEADER_AnnotContext","base_dir"),Jt=_(Q,"MLEADER_AnnotContext","base_vert"),Gt=f(_(Q,"MLEADER_AnnotContext","is_normal_reversed"));let z,ye,Zt,Rt,ie,St,qt,Wt,Qt,se,pe,Pt,ve,_e,B,Ie,me,we,Ce,ze,Je;if(Ae){const J=_(V,"MLEADER_Content_MText","alignment");J!=null&&J!==0&&(Ct=J),ye=_(V,"MLEADER_Content_MText","normal"),qt=_(V,"MLEADER_Content_MText","location"),Zt=_(V,"MLEADER_Content_MText","rotation"),Wt=_(V,"MLEADER_Content_MText","direction"),Rt=_(V,"MLEADER_Content_MText","width"),ie=_(V,"MLEADER_Content_MText","line_spacing_factor"),St=_(V,"MLEADER_Content_MText","line_spacing_style"),z=_(V,"MLEADER_Content_MText","flow"),Qt=h(_(V,"MLEADER_Content_MText","bg_color")),se=_(V,"MLEADER_Content_MText","bg_scale"),pe=_(V,"MLEADER_Content_MText","bg_transparency"),ve=f(_(V,"MLEADER_Content_MText","is_bg_fill")),Pt=f(_(V,"MLEADER_Content_MText","is_bg_mask_fill")),_e=_(V,"MLEADER_Content_MText","col_type"),B=f(_(V,"MLEADER_Content_MText","is_height_auto")),Ie=_(V,"MLEADER_Content_MText","col_width"),me=_(V,"MLEADER_Content_MText","col_gutter"),we=f(_(V,"MLEADER_Content_MText","is_col_flow_reversed"));const j=_(V,"MLEADER_Content_MText","num_col_sizes"),jt=_(V,"MLEADER_Content_MText","col_sizes");j>0&&(Ce=n.dwg_ptr_to_double_array(jt,j)[0]),ze=f(_(V,"MLEADER_Content_MText","word_break")),Je=_(V,"MLEADER_Content_MText","default_text")}let De;if(Te){const J=_(V,"MLEADER_Content_Block","transform");De={blockContentId:u(_(V,"MLEADER_Content_Block","block_table")),normal:_(V,"MLEADER_Content_Block","normal"),position:_(V,"MLEADER_Content_Block","location"),scale:_(V,"MLEADER_Content_Block","scale"),rotation:_(V,"MLEADER_Content_Block","rotation"),color:h(_(V,"MLEADER_Content_Block","color")),transformationMatrix:J?n.dwg_ptr_to_double_array(J,16):void 0}}const l=_(Q,"MLEADER_AnnotContext","num_leaders"),de=_(Q,"MLEADER_AnnotContext","leaders"),et=n.dwg_dynapi_subclass_size("LEADER_Node"),cn=n.dwg_dynapi_subclass_size("LEADER_Line"),Ze=n.dwg_dynapi_subclass_size("LEADER_Break"),ke=[];for(let J=0;J<l;J++){const j=de+J*et,jt=f(_(j,"LEADER_Node","has_lastleaderlinepoint")),qe=f(_(j,"LEADER_Node","has_dogleg")),un=_(j,"LEADER_Node","num_breaks"),Re=_(j,"LEADER_Node","breaks"),Oe=[];for(let ut=0;ut<un;ut++){const ht=Re+ut*Ze;Oe.push({start:_(ht,"LEADER_Break","start"),end:_(ht,"LEADER_Break","end")})}const Qe=_(j,"LEADER_Node","num_lines"),st=_(j,"LEADER_Node","lines"),Vt=[];for(let ut=0;ut<Qe;ut++){const ht=st+ut*cn,te=_(ht,"LEADER_Line","num_points"),H=_(ht,"LEADER_Line","points"),je=te>0?n.dwg_ptr_to_point3d_array(H,te):[],Se=_(ht,"LEADER_Line","num_breaks"),Le=_(ht,"LEADER_Line","breaks"),Be=[];for(let Et=0;Et<Se;Et++){const Fe=Le+Et*Ze;Be.push({start:_(Fe,"LEADER_Break","start"),end:_(Fe,"LEADER_Break","end")})}Vt.push({vertices:je,leaderLineIndex:_(ht,"LEADER_Line","line_index"),breaks:Be.length>0?Be:void 0})}ke.push({lastLeaderLinePoint:jt?_(j,"LEADER_Node","lastleaderlinepoint"):void 0,lastLeaderLinePointSet:jt,doglegVector:qe?_(j,"LEADER_Node","dogleg_vector"):void 0,doglegVectorSet:qe,doglegLength:_(j,"LEADER_Node","dogleg_length"),breaks:Oe.length>0?Oe:void 0,leaderBranchIndex:_(j,"LEADER_Node","branch_index"),leaderLines:Vt})}return{type:"MULTILEADER",...i,subclassMarker:"AcDbMLeader",version:A,leaderStyleId:P,propertyOverrideFlag:p,leaderLineType:v,leaderLineColor:I,leaderLineTypeId:D,leaderLineWeight:w,landingEnabled:m,doglegEnabled:S,doglegLength:G,arrowheadId:M,arrowheadSize:b||Ge,contentType:k,textStyleId:$,textLeftAttachmentType:q||We,textRightAttachmentType:U||Me,textAngleType:Z||be,textAlignmentType:rt||ge,textColor:dt,textFrameEnabled:Y,landingGap:Ht,textAttachment:he,textFlowDirection:z,blockContentId:F,blockContentColor:ct,blockContentScale:it,blockContentRotation:Yt,blockContentConnectionType:mt,annotativeScaleEnabled:Tt,arrowheadOverrides:Ft.length>0?Ft:void 0,blockAttributes:Ut.length>0?Ut:void 0,textDirectionNegative:wt,textAlignInIPE:xt,textAttachmentPoint:Ct,textAttachmentDirection:kt,bottomTextAttachmentDirection:ft,topTextAttachmentDirection:Dt,contentScale:zt||$t,contentBasePosition:oe,normal:ye,textHeight:Ne,textRotation:Zt,textWidth:Rt,textLineSpacingFactor:ie,textLineSpacingStyle:St,textAnchor:qt,textDirection:Wt,textBackgroundColor:Qt,textBackgroundScaleFactor:se,textBackgroundTransparency:pe,textBackgroundColorOn:Pt,textFillOn:ve,textColumnType:_e,textUseAutoHeight:B,textColumnWidth:Ie,textColumnGutterWidth:me,textColumnFlowReversed:we,textColumnHeight:Ce,textUseWordBreak:ze,textContent:Je,hasMText:Ae,hasBlock:Te,blockContent:De,planeOrigin:Pe,planeXAxisDirection:xe,planeYAxisDirection:Jt,planeNormalReversed:Gt,leaderSections:ke.length>0?ke:void 0}}convertOle2Frame(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"oleversion"),_=n.dwg_dynapi_entity_data(t,"oleclient"),u=n.dwg_dynapi_entity_data(t,"data_size");let f=n.dwg_dynapi_entity_data(t,"pt1"),h=n.dwg_dynapi_entity_data(t,"pt2");const A=n.dwg_dynapi_entity_data(t,"lock_aspect"),P=n.dwg_dynapi_entity_data(t,"type"),p=n.dwg_dynapi_entity_data(t,"mode"),v=n.dwg_entity_ole2frame_get_data(t),I=v?Ke(v):"";if(v){const D=Go(v);D&&(f=D.upperLeft,h=D.lowerRight)}return{type:"OLE2FRAME",...i,oleVersion:d,oleClient:_,dataSize:u,leftUpPoint:f,rightDownPoint:h,lockAspect:A,oleObjectType:P,tileModeDescriptor:p,binaryData:I}}convertOleFrame(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"flag"),_=n.dwg_dynapi_entity_data(t,"mode"),u=n.dwg_dynapi_entity_data(t,"data_size"),f=n.dwg_entity_oleframe_get_data(t),h=f?Ke(f):"";return{type:"OLEFRAME",...i,flag:d,mode:_,dataSize:u,binaryData:h}}convertMText(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"ins_pt"),_=n.dwg_dynapi_entity_data(t,"text_height"),u=n.dwg_dynapi_entity_data(t,"rect_height"),f=n.dwg_dynapi_entity_data(t,"rect_width"),h=n.dwg_dynapi_entity_data(t,"extents_width"),A=n.dwg_dynapi_entity_data(t,"extents_height"),P=n.dwg_dynapi_entity_data(t,"attachment"),p=n.dwg_dynapi_entity_data(t,"flow_dir"),v=n.dwg_dynapi_entity_data(t,"text"),I=n.dwg_entity_mtext_get_style_name(t),D=n.dwg_dynapi_entity_data(t,"extrusion"),w=n.dwg_dynapi_entity_data(t,"x_axis_dir"),m=n.dwg_dynapi_entity_data(t,"linespace_style"),S=n.dwg_dynapi_entity_data(t,"linespace_factor"),G=n.dwg_dynapi_entity_data(t,"bg_fill_flag"),M=n.dwg_dynapi_entity_data(t,"bg_fill_scale"),b=n.dwg_dynapi_entity_data(t,"bg_fill_color"),k=n.dwg_dynapi_entity_data(t,"bg_fill_trans"),$=G===1?So(b):void 0,q=n.dwg_dynapi_entity_data(t,"column_type"),U=n.dwg_dynapi_entity_data(t,"flow_reversed"),Z=n.dwg_dynapi_entity_data(t,"auto_height"),rt=n.dwg_dynapi_entity_data(t,"column_width"),dt=n.dwg_dynapi_entity_data(t,"gutter"),Y=n.dwg_dynapi_entity_data(t,"num_column_heights"),F=n.dwg_dynapi_entity_data(t,"column_heights"),ct=n.dwg_ptr_to_double_array(F,Y);return{type:"MTEXT",...i,insertionPoint:d,textHeight:_,rectHeight:u,rectWidth:f,extentsHeight:A,extentsWidth:h,attachmentPoint:P,drawingDirection:p,text:v,styleName:I,extrusionDirection:D,direction:w,rotation:0,lineSpacingStyle:m,lineSpacing:S,backgroundFill:G,fillBoxScale:M,...$!==void 0?{backgroundFillColor:$}:{},backgroundFillTransparency:k,columnType:q,columnFlowReversed:U,columnAutoHeight:Z,columnWidth:rt,columnGutter:dt,columnHeightCount:Y,columnHeights:ct}}convertPoint(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"x"),_=n.dwg_dynapi_entity_data(t,"y"),u=n.dwg_dynapi_entity_data(t,"z"),f=n.dwg_dynapi_entity_data(t,"thickness"),h=n.dwg_dynapi_entity_data(t,"extrusion"),A=n.dwg_dynapi_entity_data(t,"x_ang");return{type:"POINT",...i,position:{x:d,y:_,z:u},thickness:f,extrusionDirection:h,angle:A}}convertPolyline2d(t,i,n){const d=this.libredwg,_=d.dwg_dynapi_entity_data(t,"flag"),u=d.dwg_dynapi_entity_data(t,"curve_type"),f=d.dwg_dynapi_entity_data(t,"start_width"),h=d.dwg_dynapi_entity_data(t,"end_width"),A=d.dwg_dynapi_entity_data(t,"elevation"),P=d.dwg_dynapi_entity_data(t,"thickness"),p=d.dwg_dynapi_entity_data(t,"extrusion"),v=d.dwg_entity_polyline_2d_get_vertices(n)??[];return{type:"POLYLINE2D",...i,flag:_,smoothType:u,startWidth:f,endWidth:h,elevation:A,thickness:P,extrusionDirection:p,vertices:v.map(I=>({x:I.point.x,y:I.point.y,z:I.point.z,startWidth:I.start_width,endWidth:I.end_width,bulge:I.bulge,flag:I.flag,tangentDirection:I.tangent_dir})),meshMVertexCount:0,meshNVertexCount:0,surfaceMDensity:0,surfaceNDensity:0}}convertPolyline3d(t,i,n){const d=this.libredwg,_=d.dwg_dynapi_entity_data(t,"flag"),u=d.dwg_dynapi_entity_data(t,"curve_type"),f=d.dwg_dynapi_entity_data(t,"start_width"),h=d.dwg_dynapi_entity_data(t,"end_width"),A=d.dwg_dynapi_entity_data(t,"extrusion"),P=d.dwg_entity_polyline_3d_get_vertices(n)??[];return{type:"POLYLINE3D",...i,flag:_,smoothType:u,startWidth:f,endWidth:h,extrusionDirection:A,vertices:P.map(p=>({x:p.point.x,y:p.point.y,z:p.point.z,flag:p.flag}))}}convertProxyEntity(t,i,n){const d=this.libredwg,_=d.dwg_dynapi_entity_data(t,"proxy_id"),u=d.dwg_dynapi_entity_data(t,"class_id"),f=d.dwg_dynapi_entity_data(t,"data_numbits"),h=d.dwg_dynapi_entity_data(t,"version"),A=d.dwg_dynapi_entity_data(t,"from_dxf"),P=d.dwg_dynapi_entity_data(t,"num_objids"),p=d.dwg_entity_get_preview(n),v=(p==null?void 0:p.length)??0,I=d.dwg_entity_proxy_entity_get_entity_data(t),D=p?Ke(p):void 0,w=I?Ke(I):void 0;let m;if(P>0){const M=d.dwg_dynapi_entity_data(t,"objids");M&&(m=d.dwg_ptr_to_object_ref_array(M,P).map(k=>vt(k.absolute_ref)))}const S=this.getOriginalDxfName(u),G={type:"ACAD_PROXY_ENTITY",subclassMarker:"AcDbProxyEntity",...i,proxyEntityClassId:_||498,applicationEntityClassId:u};return S&&(G.originalDxfName=S),v>0&&(G.graphicsDataSize=v),D&&(G.graphicsData=D),f>0&&(G.entityDataSize=f),w&&(G.entityData=w),m&&m.length>0&&(G.linkedObjectIds=m),h&&(G.objectDrawingFormat=h),(A===0||A===1)&&(G.originalDataFormat=A),G}getOriginalDxfName(t){if(this.classes.length===0||t<0)return;const i=t>=500?t-500:t;if(i>=0&&i<this.classes.length)return this.classes[i].dxfName}convertRay(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"point"),_=n.dwg_dynapi_entity_data(t,"vector");return{type:"RAY",...i,firstPoint:d,unitDirection:_}}convertSection(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"state"),_=n.dwg_dynapi_entity_data(t,"flag"),u=n.dwg_dynapi_entity_data(t,"name"),f=n.dwg_dynapi_entity_data(t,"vert_dir"),h=n.dwg_dynapi_entity_data(t,"top_height"),A=n.dwg_dynapi_entity_data(t,"bottom_height"),P=n.dwg_dynapi_entity_data(t,"indicator_alpha"),p=n.dwg_dynapi_entity_data(t,"indicator_color"),v=n.dwg_dynapi_entity_data(t,"num_verts"),I=n.dwg_dynapi_entity_data(t,"verts"),D=v>0?n.dwg_ptr_to_point3d_array(I,v):[],w=n.dwg_dynapi_entity_data(t,"num_blverts"),m=n.dwg_dynapi_entity_data(t,"blverts"),S=w>0?n.dwg_ptr_to_point3d_array(m,w):[],G=n.dwg_dynapi_entity_data(t,"geometrySettingHardId"),M=n.dwg_ref_get_handle_absolute_ref(G)??0n;return{type:"SECTION",...i,state:d,flags:_,name:u,verticalDirection:f,topHeight:h,bottomHeight:A,indicatorTransparency:P,indicatorColor:p.rgb,numberOfVertices:v,vertices:D,numberOfBackLineVertices:w,backLineVertices:S,geometrySettingHardId:M}}convertShape(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"ins_pt"),_=n.dwg_dynapi_entity_data(t,"scale"),u=n.dwg_dynapi_entity_data(t,"rotation"),f=n.dwg_dynapi_entity_data(t,"width_factor"),h=n.dwg_dynapi_entity_data(t,"oblique_angle"),A=n.dwg_dynapi_entity_data(t,"thickness"),P=n.dwg_dynapi_entity_data(t,"extrusion"),p=n.dwg_dynapi_entity_data(t,"style_id"),v=n.dwg_entity_text_get_style_name(t);return{type:"SHAPE",subclassMarker:"AcDbShape",...i,thickness:A,insertionPoint:d,size:_,shapeNumber:p,styleName:v,rotation:u,xScale:f,obliqueAngle:h,extrusionDirection:P}}convertSolid(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"corner1"),_=n.dwg_dynapi_entity_data(t,"corner2"),u=n.dwg_dynapi_entity_data(t,"corner3"),f=n.dwg_dynapi_entity_data(t,"corner4"),h=n.dwg_dynapi_entity_data(t,"thickness"),A=n.dwg_dynapi_entity_data(t,"extrusion");return{type:"SOLID",...i,corner1:d,corner2:_,corner3:u,corner4:f,thickness:h,extrusionDirection:A}}convertTrace(t,i){return{...this.convertSolid(t,i),type:"TRACE"}}convertSpline(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"splineflags"),_=n.dwg_dynapi_entity_data(t,"degree"),u=n.dwg_dynapi_entity_data(t,"knot_tol"),f=n.dwg_dynapi_entity_data(t,"num_knots"),h=n.dwg_dynapi_entity_data(t,"knots"),A=n.dwg_ptr_to_double_array(h,f),P=n.dwg_dynapi_entity_data(t,"fit_tol"),p=n.dwg_dynapi_entity_data(t,"num_fit_pts"),v=n.dwg_dynapi_entity_data(t,"fit_pts"),I=n.dwg_ptr_to_point3d_array(v,p),D=n.dwg_dynapi_entity_data(t,"weighted"),w=n.dwg_dynapi_entity_data(t,"ctrl_tol"),m=n.dwg_dynapi_entity_data(t,"num_ctrl_pts"),S=n.dwg_dynapi_entity_data(t,"ctrl_pts"),G=n.dwg_ptr_to_point4d_array(S,m),M=n.dwg_dynapi_entity_data(t,"beg_tan_vec"),b=n.dwg_dynapi_entity_data(t,"end_tan_vec");return{type:"SPLINE",...i,flag:d,degree:_,numberOfKnots:f,numberOfControlPoints:m,numberOfFitPoints:p,knotTolerance:u,controlTolerance:w,fitTolerance:P,startTangent:M,endTangent:b,knots:A,weights:D?G.map(k=>k.w):void 0,controlPoints:G.map(k=>({x:k.x,y:k.y,z:k.z})),fitPoints:I}}convertTable(t,i){const n=this.libredwg,d=n.dwg_dynapi_subclass_data(t,"ldata","name"),_=n.dwg_dynapi_entity_data(t,"ins_pt"),u=n.dwg_dynapi_entity_data(t,"horiz_direction"),f=n.dwg_dynapi_entity_data(t,"flag_for_table_value"),h=n.dwg_dynapi_entity_data(t,"num_rows"),A=n.dwg_dynapi_entity_data(t,"num_cols"),P=n.dwg_dynapi_entity_data(t,"row_heights"),p=n.dwg_ptr_to_double_array(P,h),v=n.dwg_dynapi_entity_data(t,"col_widths"),I=n.dwg_ptr_to_double_array(v,A),D=n.dwg_dynapi_entity_data(t,"tablestyle"),w=n.dwg_ref_get_id(D)??"",m=n.dwg_dynapi_entity_data(t,"block_header"),S=n.dwg_ref_get_id(m)??"",G=n.dwg_dynapi_entity_data(t,"table_flag_override"),M=n.dwg_dynapi_entity_data(t,"border_color_overrides_flag"),b=n.dwg_dynapi_entity_data(t,"border_lineweight_overrides_flag"),k=n.dwg_dynapi_entity_data(t,"border_visibility_overrides_flag"),$=n.dwg_dynapi_entity_data(t,"num_cells"),q=n.dwg_dynapi_entity_data(t,"cells"),U=n.dwg_ptr_to_table_cell_array(q,$);return{type:"ACAD_TABLE",...i,name:d,startPoint:_,directionVector:u,tableValue:f,rowCount:h,columnCount:A,overrideFlag:G,borderColorOverrideFlag:M,borderLineWeightOverrideFlag:b,borderVisibilityOverrideFlag:k,rowHeightArr:p,columnWidthArr:I,tableStyleId:w,blockRecordHandle:S,cells:this.convertTableCells(U),bmpPreview:""}}convertTableCells(t){return t.map(i=>{var n,d;return{text:i.text_value,attachmentPoint:i.cell_alignment,textStyle:i.text_style?String(i.text_style):void 0,rotation:i.rotation,cellType:i.type,flagValue:i.flags,mergedValue:i.is_merged_value,autoFit:i.is_autofit_flag,topBorderVisibility:!!i.top_visibility,bottomBorderVisibility:!!i.bottom_visibility,leftBorderVisibility:!!i.left_visibility,rightBorderVisibility:!!i.right_visibility,overrideFlag:i.cell_flag_override,virtualEdgeFlag:i.virtual_edge_flag,blockTableRecordId:i.block_handle?String(i.block_handle.absolute_ref??""):void 0,blockScale:i.block_scale,blockAttrNum:((n=i.attr_defs)==null?void 0:n.length)??0,attrDefineId:(d=i.attr_defs)==null?void 0:d.map(_=>{var u;return String(((u=_.attdef)==null?void 0:u.absolute_ref)??"")}),textHeight:i.text_height??0,extendedCellFlags:i.additional_data_flag}})}convertTextBase(t){const i=this.libredwg,n=i.dwg_dynapi_entity_data(t,"text_value"),d=i.dwg_dynapi_entity_data(t,"thickness"),_=i.dwg_dynapi_entity_data(t,"ins_pt"),u=i.dwg_dynapi_entity_data(t,"alignment_pt"),f=i.dwg_dynapi_entity_data(t,"rotation"),h=i.dwg_dynapi_entity_data(t,"height"),A=i.dwg_dynapi_entity_data(t,"width_factor"),P=i.dwg_dynapi_entity_data(t,"oblique_angle"),p=i.dwg_entity_text_get_style_name(t),v=i.dwg_dynapi_entity_data(t,"generation"),I=i.dwg_dynapi_entity_data(t,"horiz_alignment"),D=i.dwg_dynapi_entity_data(t,"vert_alignment"),w=i.dwg_dynapi_entity_data(t,"elevation"),m=i.dwg_dynapi_entity_data(t,"extrusion");return{text:n,thickness:d,startPoint:_,endPoint:u,textHeight:h,rotation:f,xScale:A,obliqueAngle:P,styleName:p,generationFlag:v,halign:I,valign:D,elevation:w,extrusionDirection:m}}convertText(t,i){return{type:"TEXT",...i,...this.convertTextBase(t)}}convertTolerance(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"ins_pt"),_=n.dwg_dynapi_entity_data(t,"text_value"),u=n.dwg_dynapi_entity_data(t,"x_direction"),f=n.dwg_dynapi_entity_data(t,"extrusion"),h=n.dwg_entity_get_dimstyle_name(t);return{type:"TOLERANCE",...i,styleName:h,insertionPoint:d,text:_,extrusionDirection:f,xAxisDirection:u}}convertViewport(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"center"),_=n.dwg_dynapi_entity_data(t,"width"),u=n.dwg_dynapi_entity_data(t,"height"),f=n.dwg_dynapi_entity_data(t,"on_off"),h=n.dwg_dynapi_entity_data(t,"VIEWCTR"),A=n.dwg_dynapi_entity_data(t,"SNAPBASE"),P=n.dwg_dynapi_entity_data(t,"SNAPUNIT"),p=n.dwg_dynapi_entity_data(t,"GRIDUNIT"),v=n.dwg_dynapi_entity_data(t,"VIEWDIR"),I=n.dwg_dynapi_entity_data(t,"view_target"),D=n.dwg_dynapi_entity_data(t,"lens_length"),w=n.dwg_dynapi_entity_data(t,"front_clip_z"),m=n.dwg_dynapi_entity_data(t,"back_clip_z"),S=n.dwg_dynapi_entity_data(t,"VIEWSIZE"),G=n.dwg_dynapi_entity_data(t,"SNAPANG"),M=n.dwg_dynapi_entity_data(t,"twist_angle"),b=n.dwg_dynapi_entity_data(t,"circle_zoom"),k=n.dwg_dynapi_entity_data(t,"num_frozen_layers");let $;if(k>0){const $t=n.dwg_dynapi_entity_data(t,"frozen_layers");$t&&($=n.dwg_ptr_to_object_ref_ptr_array($t,k).map(Ht=>n.dwg_ref_get_id(Ht)).filter(Ht=>!!Ht))}const q=n.dwg_dynapi_entity_data(t,"status_flag"),U=n.dwg_dynapi_entity_data(t,"clip_boundary"),Z=n.dwg_ref_get_id(U),rt=n.dwg_dynapi_entity_data(t,"style_sheet"),dt=n.dwg_dynapi_entity_data(t,"render_mode"),Y=n.dwg_dynapi_entity_data(t,"UCSVP"),F=n.dwg_dynapi_entity_data(t,"ucsorg"),ct=n.dwg_dynapi_entity_data(t,"ucsxdir"),it=n.dwg_dynapi_entity_data(t,"ucsydir"),Yt=n.dwg_dynapi_entity_data(t,"named_ucs"),mt=n.dwg_ref_get_id(Yt),Tt=n.dwg_dynapi_entity_data(t,"base_ucs"),wt=n.dwg_ref_get_id(Tt),xt=n.dwg_dynapi_entity_data(t,"UCSORTHOVIEW"),Ct=n.dwg_dynapi_entity_data(t,"ucs_elevation"),kt=n.dwg_dynapi_entity_data(t,"shadeplot_mode"),ft=n.dwg_dynapi_entity_data(t,"use_default_lights"),Dt=n.dwg_dynapi_entity_data(t,"default_lighting_type"),zt=n.dwg_dynapi_entity_data(t,"brightness"),Ot=n.dwg_dynapi_entity_data(t,"contrast"),Nt=n.dwg_dynapi_entity_data(t,"grid_major"),Bt=n.dwg_dynapi_entity_data(t,"background"),Ft=n.dwg_ref_get_id(Bt),ne=n.dwg_dynapi_entity_data(t,"shadeplot"),re=n.dwg_ref_get_id(ne),ae=n.dwg_dynapi_entity_data(t,"visualstyle"),Ut=n.dwg_ref_get_id(ae),Q=n.dwg_dynapi_entity_data(t,"sun"),V=n.dwg_ref_get_id(Q);return{type:"VIEWPORT",...i,viewportCenter:d,width:_,height:u,status:f,viewportId:0,displayCenter:h,snapBase:A,snapSpacing:P,gridSpacing:p,viewDirection:v,targetPoint:I,perspectiveLensLength:D,frontClipZ:w,backClipZ:m,viewHeight:S,snapAngle:G,viewTwistAngle:M,circleZoomPercent:b,frozenLayerIds:$,statusBitFlags:q,clippingBoundaryId:Z,sheetName:rt,renderMode:dt,ucsPerViewport:Y,ucsOrigin:F,ucsXAxis:ct,ucsYAxis:it,ucsId:mt??"",ucsBaseId:wt??"",orthographicType:xt,elevation:Ct,shadePlotMode:kt,majorGridFrequency:Nt,backgroundId:Ft??"",shadePlotId:re??"",visualStyleId:Ut??"",isDefaultLighting:!!ft,defaultLightingType:Dt,brightness:zt,contrast:Ot,sunId:V??""}}convertWipeout(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"class_version"),_=n.dwg_dynapi_entity_data(t,"pt0"),u=n.dwg_dynapi_entity_data(t,"uvec"),f=n.dwg_dynapi_entity_data(t,"vvec"),h=n.dwg_dynapi_entity_data(t,"image_size"),A=n.dwg_dynapi_entity_data(t,"display_props"),P=n.dwg_dynapi_entity_data(t,"clipping"),p=n.dwg_dynapi_entity_data(t,"brightness"),v=n.dwg_dynapi_entity_data(t,"contrast"),I=n.dwg_dynapi_entity_data(t,"fade"),D=n.dwg_dynapi_entity_data(t,"clip_mode"),w=n.dwg_dynapi_entity_data(t,"clip_boundary_type"),m=n.dwg_dynapi_entity_data(t,"num_clip_verts"),S=n.dwg_dynapi_entity_data(t,"clip_verts"),G=n.dwg_ptr_to_point2d_array(S,m),M=n.dwg_dynapi_entity_data(t,"imagedef"),b=n.dwg_ref_get_absref(M)??0,k=n.dwg_dynapi_entity_data(t,"imagedefreactor"),$=n.dwg_ref_get_absref(k)??0;return{type:"WIPEOUT",...i,version:d,position:_,uPixel:u,vPixel:f,imageSize:h,imageDefHandle:b,flags:A,clipping:P,brightness:p,contrast:v,fade:I,imageDefReactorHandle:$,clippingBoundaryType:w,countBoundaryPoints:m,clippingBoundaryPath:G,clipMode:D}}convertXline(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"point"),_=n.dwg_dynapi_entity_data(t,"vector");return{type:"XLINE",...i,firstPoint:d,unitDirection:_}}getDimensionCommonAttrs(t){const i=this.libredwg,n=i.dwg_dynapi_entity_data(t,"class_version"),d=i.dwg_entity_get_block_name(t,"block"),_=i.dwg_dynapi_entity_data(t,"def_pt"),u=i.dwg_dynapi_entity_data(t,"text_midpt"),f=i.dwg_dynapi_entity_data(t,"attachmentPoint"),h=i.dwg_dynapi_entity_data(t,"flag"),A=i.dwg_dynapi_entity_data(t,"lspace_factor"),P=i.dwg_dynapi_entity_data(t,"lspace_factor"),p=i.dwg_dynapi_entity_data(t,"act_measurement"),v=i.dwg_dynapi_entity_data(t,"user_text"),I=i.dwg_dynapi_entity_data(t,"text_rotation"),D=i.dwg_dynapi_entity_data(t,"ins_rotation"),w=i.dwg_dynapi_entity_data(t,"extrusion"),m=i.dwg_entity_get_dimstyle_name(t);return{type:"DIMENSION",version:n,name:d,definitionPoint:_,textPoint:u,dimensionType:h,attachmentPoint:f,textLineSpacingStyle:A,textLineSpacingFactor:P||1,measurement:p,text:v,textRotation:I,ocsRotation:D,extrusionDirection:w,styleName:m}}getCommonAttrs(t){const i=this.libredwg,n=i.dwg_object_entity_get_color_object(t),d=n.method,_=n.index;let u;(d==194||(n.rgb>>>24&255)===194)&&(u=n.rgb&16777215);const f=this.getLayerName(t),h=i.dwg_object_entity_get_handle_object(t),A=i.dwg_object_entity_get_ownerhandle_object(t),P=i.dwg_object_entity_get_xdicobjhandle_object(t),p=this.getLtypeName(t),v=i.dwg_object_entity_get_line_weight(t),I=i.dwg_object_entity_get_ltype_scale(t),D=!i.dwg_object_entity_get_invisible(t),w=i.dwg_object_entity_get_xdata(t);return{handle:vt(h.value),ownerDictionaryHardId:vt(P.absolute_ref),ownerBlockRecordSoftId:vt(A.absolute_ref),layer:f,color:u,colorIndex:_,colorName:n.name,lineType:p,lineweight:v,lineTypeScale:I,isVisible:D,transparency:n.alpha,transparencyType:n.alpha_type,xdata:w}}getLayerName(t){const n=this.libredwg.dwg_object_entity_get_layer_object_ref(t);return this.layers.get(vt(n.handleref.value))??"0"}getLtypeName(t){const n=this.libredwg.dwg_object_entity_get_ltype_object_ref(t);return this.ltypes.get(vt(n.handleref.value))??""}}class dr{constructor(t){nt(this,"libredwg"),nt(this,"entityConverter"),nt(this,"orphanEntitiesByBlock",null),nt(this,"ownerlessOrphanIndices",null),nt(this,"orphanIndexDataPtr",null),this.libredwg=t,this.entityConverter=new Wo(t)}convert(t){var i;this.entityConverter.clear(),this.orphanEntitiesByBlock=null,this.ownerlessOrphanIndices=null,this.orphanIndexDataPtr=t;const n={tables:{APPID:{entries:[]},BLOCK_RECORD:{entries:[]},DIMSTYLE:{entries:[]},LAYER:{entries:[]},LTYPE:{entries:[]},STYLE:{entries:[]},VPORT:{entries:[]}},objects:{DICTIONARY:[],IMAGEDEF:[],LAYER_FILTER:[],LAYER_INDEX:[],LAYOUT:[],MLEADERSTYLE:[],SPATIAL_FILTER:[],XRECORD:[]},header:{},entities:[],classes:[]},d=this.libredwg;this.convertHeader(t,n.header),this.convertClasses(t,n.classes),this.entityConverter.setClasses(n.classes);const _=d.dwg_get_num_objects(t);for(let h=0;h<_;h++){const A=d.dwg_get_object(t,h);if(A){const P=this.safeObjectTio(A);if(P)switch(d.dwg_object_get_fixedtype(A)){case L.DWG_TYPE_LAYER:{const v=this.convertLayer(P,A);n.tables.LAYER.entries.push(v),this.entityConverter.layers.set(v.handle,v.name)}break;case L.DWG_TYPE_LTYPE:{const v=this.convertLineType(P,A);n.tables.LTYPE.entries.push(v),this.entityConverter.ltypes.set(v.handle,v.name)}break}}}for(let h=0;h<_;h++){const A=d.dwg_get_object(t,h);if(A){const P=this.safeObjectTio(A);if(P)switch(d.dwg_object_get_fixedtype(A)){case L.DWG_TYPE_APPID:n.tables.APPID.entries.push(this.convertAppId(P));break;case L.DWG_TYPE_BLOCK_HEADER:{const v=this.convertBlockRecord(P,A);n.tables.BLOCK_RECORD.entries.push(v),(Gn(v.name)||No(v.name))&&v.entities.forEach(I=>{n.entities.push(I),I.type==="INSERT"&&I.attribs.forEach(D=>{n.entities.push(D)})})}break;case L.DWG_TYPE_DIMSTYLE:n.tables.DIMSTYLE.entries.push(this.convertDimStyle(P,A));break;case L.DWG_TYPE_STYLE:n.tables.STYLE.entries.push(this.convertStyle(P,A));break;case L.DWG_TYPE_VPORT:n.tables.VPORT.entries.push(this.convertViewport(P,A));break;case L.DWG_TYPE_DICTIONARY:n.objects.DICTIONARY.push(this.convertDictionary(P,A));break;case L.DWG_TYPE_IMAGEDEF:n.objects.IMAGEDEF.push(this.convertImageDef(P,A));break;case L.DWG_TYPE_LAYERFILTER:n.objects.LAYER_FILTER.push(this.convertLayerFilter(P,A));break;case L.DWG_TYPE_LAYER_INDEX:n.objects.LAYER_INDEX.push(this.convertLayerIndex(P,A));break;case L.DWG_TYPE_LAYOUT:n.objects.LAYOUT.push(this.convertLayout(P,A));break;case L.DWG_TYPE_MLEADERSTYLE:n.objects.MLEADERSTYLE.push(this.convertMLeaderStyle(P,A));break;case L.DWG_TYPE_SPATIAL_FILTER:n.objects.SPATIAL_FILTER.push(this.convertSpatialFilter(P,A));break;case L.DWG_TYPE_XRECORD:n.objects.XRECORD.push(this.convertXRecord(P,A));break}}}const u=n.entities.filter(h=>h.type==="VIEWPORT");u.sort((h,A)=>{const P=parseInt(h.handle,16),p=parseInt(A.handle,16);return P-p}),u.forEach((h,A)=>{h.viewportId=A+1});const f=d.dwg_bmp(t);return(i=f==null?void 0:f.data)!=null&&i.length&&(n.thumbnailImage=f.data),n}getConversionStats(){return{unknownEntityCount:this.entityConverter.unknownEntityCount}}safeObjectTio(t){const i=this.libredwg;try{if(i.dwg_object_get_supertype(t)!=Yn.DWG_SUPERTYPE_OBJECT)return null;const n=i.dwg_object_to_object_tio(t);return n||null}catch{return null}}convertHeader(t,i){const n=this.libredwg;wo.forEach(d=>{let _=d;(d=="DIMBLK"||d=="DIMBLK1"||d=="DIMBLK2")&&(_=_+"_T");let u=n.dwg_dynapi_header_data(t,_);d=="CELTYPE"||d=="CLAYER"||d=="CLAYER"||d=="DIMSTYLE"||d=="DIMTXSTY"||d=="TEXTSTYLE"?u=u?n.dwg_ref_get_object_name(u):"":d=="DRAGVS"&&(u=u?n.dwg_ref_get_absref(u)??2:2),i[d]=u})}convertClasses(t,i){const n=this.libredwg,d=n.dwg_get_num_classes(t);for(let _=0;_<d;_++){const u=n.dwg_get_class(t,_);i.push({dxfName:u.dxfname,cppName:u.cppname,appName:u.appname,capabilitiesFlag:u.proxyflag,instanceCount:u.num_instances,wasAProxyFlag:u.s_zombie,isAnEntityFlag:u.item_class_id===498})}}convertAppId(t){const i=this.libredwg,n=i.dwg_dynapi_entity_data(t,"name"),d=i.dwg_dynapi_entity_data(t,"flag");return{name:n,standardFlag:d}}convertBlockRecord(t,i){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,i),_=n.dwg_entity_block_header_get_block(t);_.name&&(d.name=_.name);const u=n.dwg_dynapi_entity_data(t,"num_owned"),f=n.dwg_dynapi_entity_data(t,"flag"),h=n.dwg_dynapi_entity_data(t,"description"),A=n.dwg_dynapi_entity_data(t,"base_pt"),P=n.dwg_dynapi_entity_data(t,"insert_units"),p=n.dwg_dynapi_entity_data(t,"explodable"),v=n.dwg_dynapi_entity_data(t,"block_scaling"),I=n.dwg_dynapi_entity_data(t,"layout"),D=n.dwg_ref_get_id(I)??"";let w;const m=n.dwg_entity_block_header_get_preview(t);m&&m.length>0&&(w=Ke(m));let S=this.convertEntities(i,d.handle);if(!S||S.length==0){S=[];const G=n.dwg_dynapi_entity_data(t,"entities");if(G){const M=n.dwg_ptr_to_object_ref_ptr_array(G,u),b=this.entityConverter;for(let k=0;k<u;k++){const $=n.dwg_ref_get_object(M[k]),q=b.convert($);q&&(q.ownerBlockRecordSoftId=d.handle,S.push(q))}}}if(this.orphanIndexDataPtr!=null){const G=this.convertOrphanOwnedEntities(this.orphanIndexDataPtr,i,d.handle,Gn(d.name)===!0);if(G.length)if(S.length===0)S=G;else{const M=new Set(S.map(b=>b.handle));for(const b of G)M.has(b.handle)||S.push(b)}}return{...d,flags:f,description:h,basePoint:A,layout:D,insertionUnits:P,explodability:p,scalability:v,bmpPreview:w,entities:S}}convertEntities(t,i){const n=this.libredwg,d=this.entityConverter,_=[];let u=n.get_first_owned_entity(t);for(;u;){const f=d.convert(u);f&&(f.ownerBlockRecordSoftId=i,_.push(f)),u=n.get_next_owned_entity(t,u)}return _}convertOrphanOwnedEntities(t,i,n,d){this.ensureOrphanEntityIndex(t);const u=(this.orphanEntitiesByBlock??new Map).get(i)??[],f=d&&this.ownerlessOrphanIndices?this.ownerlessOrphanIndices:[],h=u.length&&f.length?u.concat(f):u.length?u:f;if(h.length===0)return[];const A=this.libredwg,P=this.entityConverter,p=[];for(const v of h){const I=A.dwg_get_object(t,v),D=P.convert(I);D&&(D.ownerBlockRecordSoftId=n,p.push(D))}return p}ensureOrphanEntityIndex(t){if(this.orphanEntitiesByBlock)return;const i=this.libredwg,n=i.dwg_get_num_objects(t),d=new Map,_=[],u=[],f=new Map;for(let p=0;p<n;p++){const v=i.dwg_get_object(t,p);if(v){if(i.dwg_object_get_supertype(v)===Yn.DWG_SUPERTYPE_ENTITY)_.push(p),d.set(v,p);else if(i.dwg_object_get_fixedtype(v)===L.DWG_TYPE_BLOCK_HEADER){u.push(v);const I=i.dwg_object_to_object_tio(v);I&&f.set(I,v)}}}const h=new Set;for(const p of u){let v=i.get_first_owned_entity(p),I=0;for(;v&&I++<=_.length;){const D=d.get(v);if(D===void 0||h.has(D))break;h.add(D),v=i.get_next_owned_entity(p,v)}}const A=new Map,P=[];for(const p of _){if(h.has(p))continue;const v=i.dwg_get_object(t,p),I=v?i.dwg_object_to_entity_tio(v):0,D=I?i.dwg_entity_owner(I):0,w=D?f.get(D)??0:0;if(w){const m=A.get(w);m?m.push(p):A.set(w,[p])}else P.push(p)}this.orphanEntitiesByBlock=A,this.ownerlessOrphanIndices=P}convertDimStyle(t,i){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,i),_=n.dwg_dynapi_entity_data(t,"DIMTOL"),u=n.dwg_dynapi_entity_data(t,"DIMLIM"),f=n.dwg_dynapi_entity_data(t,"DIMTIH"),h=n.dwg_dynapi_entity_data(t,"DIMTOH"),A=n.dwg_dynapi_entity_data(t,"DIMSE1"),P=n.dwg_dynapi_entity_data(t,"DIMSE2"),p=n.dwg_dynapi_entity_data(t,"DIMALT"),v=n.dwg_dynapi_entity_data(t,"DIMTOFL"),I=n.dwg_dynapi_entity_data(t,"DIMSAH"),D=n.dwg_dynapi_entity_data(t,"DIMTIX"),w=n.dwg_dynapi_entity_data(t,"DIMSOXD"),m=n.dwg_dynapi_entity_data(t,"DIMALTD"),S=n.dwg_dynapi_entity_data(t,"DIMZIN"),G=n.dwg_dynapi_entity_data(t,"DIMSD1"),M=n.dwg_dynapi_entity_data(t,"DIMSD2"),b=n.dwg_dynapi_entity_data(t,"DIMTOLJ"),k=n.dwg_dynapi_entity_data(t,"DIMJUST"),$=n.dwg_dynapi_entity_data(t,"DIMFIT"),q=n.dwg_dynapi_entity_data(t,"DIMUPT"),U=n.dwg_dynapi_entity_data(t,"DIMTZIN"),Z=n.dwg_dynapi_entity_data(t,"DIMALTZ"),rt=n.dwg_dynapi_entity_data(t,"DIMALTTZ"),dt=n.dwg_dynapi_entity_data(t,"DIMTAD"),Y=n.dwg_dynapi_entity_data(t,"DIMUNIT"),F=n.dwg_dynapi_entity_data(t,"DIMAUNIT"),ct=n.dwg_dynapi_entity_data(t,"DIMDEC"),it=n.dwg_dynapi_entity_data(t,"DIMTDEC"),Yt=n.dwg_dynapi_entity_data(t,"DIMALTU"),mt=n.dwg_dynapi_entity_data(t,"DIMALTTD"),Tt=n.dwg_dynapi_entity_data(t,"DIMSCALE"),wt=n.dwg_dynapi_entity_data(t,"DIMASZ"),xt=n.dwg_dynapi_entity_data(t,"DIMEXO"),Ct=n.dwg_dynapi_entity_data(t,"DIMDLI"),kt=n.dwg_dynapi_entity_data(t,"DIMEXE"),ft=n.dwg_dynapi_entity_data(t,"DIMRND"),Dt=n.dwg_dynapi_entity_data(t,"DIMDLE"),zt=n.dwg_dynapi_entity_data(t,"DIMTP"),Ot=n.dwg_dynapi_entity_data(t,"DIMTM"),Nt=n.dwg_dynapi_entity_data(t,"DIMFXL"),Bt=n.dwg_dynapi_entity_data(t,"DIMJOGANG"),Ft=n.dwg_dynapi_entity_data(t,"DIMTFILL"),ne=n.dwg_dynapi_entity_data(t,"DIMTFILLCLR"),re=n.dwg_dynapi_entity_data(t,"DIMAZIN"),ae=n.dwg_dynapi_entity_data(t,"DIMARCSYM"),Ut=n.dwg_dynapi_entity_data(t,"DIMTXT"),Q=n.dwg_dynapi_entity_data(t,"DIMCEN"),V=n.dwg_dynapi_entity_data(t,"DIMTSZ"),$t=n.dwg_dynapi_entity_data(t,"DIMALTF"),oe=n.dwg_dynapi_entity_data(t,"DIMLFAC"),Ht=n.dwg_dynapi_entity_data(t,"DIMTVP"),he=n.dwg_dynapi_entity_data(t,"DIMTFAC"),Ne=n.dwg_dynapi_entity_data(t,"DIMGAP"),Ge=n.dwg_dynapi_entity_data(t,"DIMPOST"),We=n.dwg_dynapi_entity_data(t,"DIMAPOST"),Me=n.dwg_dynapi_entity_data(t,"DIMBLK_T"),be=n.dwg_dynapi_entity_data(t,"DIMBLK1_T"),ge=n.dwg_dynapi_entity_data(t,"DIMBLK2_T"),Ae=n.dwg_dynapi_entity_data(t,"DIMALTRND"),Te=n.dwg_dynapi_entity_data(t,"DIMCLRD_N"),Pe=n.dwg_dynapi_entity_data(t,"DIMCLRE_N"),xe=n.dwg_dynapi_entity_data(t,"DIMCLRT_N"),Jt=n.dwg_dynapi_entity_data(t,"DIMCLRD"),Gt=n.dwg_dynapi_entity_data(t,"DIMCLRE"),z=n.dwg_dynapi_entity_data(t,"DIMCLRT"),ye=n.dwg_dynapi_entity_data(t,"DIMADEC"),Zt=n.dwg_dynapi_entity_data(t,"DIMFRAC"),Rt=n.dwg_dynapi_entity_data(t,"DIMLUNIT"),ie=n.dwg_dynapi_entity_data(t,"DIMDSEP"),St=n.dwg_dynapi_entity_data(t,"DIMTMOVE"),qt=n.dwg_dynapi_entity_data(t,"DIMATFIT"),Wt=n.dwg_dynapi_entity_data(t,"DIMFXLON"),Qt=n.dwg_dynapi_entity_data(t,"DIMTXTDIRECTION"),se=n.dwg_dynapi_entity_data(t,"DIMALTMZF"),pe=n.dwg_dynapi_entity_data(t,"DIMALTMZS"),Pt=n.dwg_dynapi_entity_data(t,"DIMMZF"),ve=n.dwg_dynapi_entity_data(t,"DIMMZS"),_e=n.dwg_dynapi_entity_data(t,"DIMLWD"),B=n.dwg_dynapi_entity_data(t,"DIMLWE"),Ie=n.dwg_dynapi_entity_data(t,"DIMTXSTY"),me=n.dwg_ref_get_absref(Ie)??void 0,we=n.dwg_dynapi_entity_data(t,"DIMLDRBLK"),Ce=n.dwg_ref_get_absref(we)??void 0;return{...d,DIMPOST:Ge,DIMAPOST:We,DIMBLK:Me,DIMBLK1:be,DIMBLK2:ge,DIMSCALE:Tt,DIMASZ:wt,DIMEXO:xt,DIMDLI:Ct,DIMEXE:kt,DIMRND:ft,DIMDLE:Dt,DIMTP:zt,DIMTM:Ot,DIMTXT:Ut,DIMCEN:Q,DIMTSZ:V,DIMALTF:$t,DIMLFAC:oe,DIMTVP:Ht,DIMTFAC:he,DIMGAP:Ne,DIMALTRND:Ae,DIMTOL:_,DIMLIM:u,DIMTIH:f,DIMTOH:h,DIMSE1:A,DIMSE2:P,DIMTAD:dt,DIMZIN:S,DIMAZIN:re,DIMALT:p,DIMALTD:m,DIMTOFL:v,DIMSAH:I,DIMTIX:D,DIMSOXD:w,DIMCLRD:Jt,DIMCLRE:Gt,DIMCLRT:z,DIMADEC:ye,DIMUNIT:Y,DIMDEC:ct,DIMTDEC:it,DIMALTU:Yt,DIMALTTD:mt,DIMAUNIT:F,DIMFRAC:Zt,DIMLUNIT:Rt,DIMDSEP:String.fromCharCode(ie),DIMTMOVE:St,DIMJUST:k,DIMSD1:G,DIMSD2:M,DIMTOLJ:b,DIMTZIN:U,DIMALTZ:Z,DIMALTTZ:rt,DIMFIT:$,DIMUPT:q,DIMATFIT:qt,DIMTXSTY:me,DIMLDRBLK:Ce,DIMLWD:_e,DIMLWE:B,DIMFXL:Nt,DIMJOGANG:Bt,DIMTFILL:Ft,DIMTFILLCLR:ne,DIMARCSYM:ae,DIMCLRD_N:Te,DIMCLRE_N:Pe,DIMCLRT_N:xe,DIMFXLON:Wt,DIMTXTDIRECTION:Qt,DIMALTMZF:se,DIMALTMZS:pe,DIMMZF:Pt,DIMMZS:ve}}convertLayer(t,i){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,i),_=n.dwg_dynapi_entity_data(t,"flag"),u=n.dwg_dynapi_entity_data(t,"frozen"),f=n.dwg_dynapi_entity_data(t,"off"),h=n.dwg_dynapi_entity_data(t,"frozen_in_new"),A=n.dwg_dynapi_entity_data(t,"plotflockedlag"),P=n.dwg_dynapi_entity_data(t,"plotflag"),p=n.dwg_dynapi_entity_data(t,"linewt"),v=n.dwg_dynapi_entity_data(t,"color"),I=n.dwg_dynapi_entity_data(t,"ltype");let D="Continuous";if(I)try{D=n.dwg_ref_get_object_name(I)}catch{}const w=v.method;let m=256,S=16777215;return w===195||(v.rgb>>>24&255)===195?m=v.rgb&255:w==194||(v.rgb>>>24&255)===194?S=v.rgb&16777215:v.index>=1&&v.index<=255&&(m=v.index),{...d,standardFlag:_,colorIndex:m,color:S,colorName:v.name,transparency:v.alpha,lineType:D,frozen:u!=0,off:f!=0,frozenInNew:h!=0,locked:A!=0,plotFlag:P,lineweight:p,plotStyleNameObjectId:"",materialObjectId:""}}convertLineType(t,i){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,i),_=n.dwg_dynapi_entity_data(t,"flag"),u=n.dwg_dynapi_entity_data(t,"description"),f=n.dwg_dynapi_entity_data(t,"numdashes"),h=n.dwg_dynapi_entity_data(t,"pattern_len"),A=n.dwg_dynapi_entity_data(t,"dashes"),P=A?n.dwg_ptr_to_ltype_dash_array(A,f):[];return{...d,description:u,standardFlag:_,numberOfLineTypes:f,totalPatternLength:h,pattern:this.convertLineTypePattern(P)}}convertLineTypePattern(t){const i=[];return t.forEach(n=>{i.push({elementLength:n.length||0,elementTypeFlag:n.shape_flag||0,shapeNumber:n.complex_shapecode,scale:n.scale,rotation:n.rotation,offsetX:n.x_offset,offsetY:n.y_offset,text:n.text})}),i}convertStyle(t,i){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,i),_=n.dwg_dynapi_entity_data(t,"flag"),u=n.dwg_dynapi_entity_data(t,"width_factor"),f=n.dwg_dynapi_entity_data(t,"oblique_angle"),h=n.dwg_dynapi_entity_data(t,"generation"),A=n.dwg_dynapi_entity_data(t,"last_height"),P=n.dwg_dynapi_entity_data(t,"font_file"),p=n.dwg_dynapi_entity_data(t,"bigfont_file");return{...d,standardFlag:_,fixedTextHeight:0,widthFactor:u,obliqueAngle:f,textGenerationFlag:h,lastHeight:A,font:P,bigFont:p}}convertViewport(t,i){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,i),_=n.dwg_dynapi_entity_data(t,"flag"),u=n.dwg_dynapi_entity_data(t,"VIEWSIZE"),f=n.dwg_dynapi_entity_data(t,"aspect_ratio"),h=n.dwg_dynapi_entity_data(t,"VIEWCTR"),A=n.dwg_dynapi_entity_data(t,"view_target"),P=n.dwg_dynapi_entity_data(t,"VIEWDIR"),p=n.dwg_dynapi_entity_data(t,"view_twist"),v=n.dwg_dynapi_entity_data(t,"lens_length"),I=n.dwg_dynapi_entity_data(t,"front_clip_z"),D=n.dwg_dynapi_entity_data(t,"back_clip_z"),w=n.dwg_dynapi_entity_data(t,"VIEWMODE"),m=n.dwg_dynapi_entity_data(t,"render_mode"),S=n.dwg_dynapi_entity_data(t,"use_default_lights")!=0,G=n.dwg_dynapi_entity_data(t,"default_lightning_type"),M=n.dwg_dynapi_entity_data(t,"brightness"),b=n.dwg_dynapi_entity_data(t,"contrast"),k=n.dwg_dynapi_entity_data(t,"ambient_color"),$=n.dwg_dynapi_entity_data(t,"lower_left"),q=n.dwg_dynapi_entity_data(t,"upper_right"),U=n.dwg_dynapi_entity_data(t,"circle_zoom"),Z=n.dwg_dynapi_entity_data(t,"UCSICON"),rt=n.dwg_dynapi_entity_data(t,"GRIDUNIT"),dt=n.dwg_dynapi_entity_data(t,"SNAPANG"),Y=n.dwg_dynapi_entity_data(t,"SNAPBASE"),F=n.dwg_dynapi_entity_data(t,"SNAPUNIT"),ct=n.dwg_dynapi_entity_data(t,"ucsorg"),it=n.dwg_dynapi_entity_data(t,"ucsxdir"),Yt=n.dwg_dynapi_entity_data(t,"ucsydir"),mt=n.dwg_dynapi_entity_data(t,"ucs_elevation"),Tt=n.dwg_dynapi_entity_data(t,"grid_major"),wt=n.dwg_dynapi_entity_data(t,"background"),xt=wt?n.dwg_ref_get_id(wt)??"":void 0,Ct=n.dwg_dynapi_entity_data(t,"visualstyle"),kt=Ct?n.dwg_ref_get_id(Ct)??"":void 0;return{...d,standardFlag:_,lowerLeftCorner:$,upperRightCorner:q,center:h,snapBasePoint:Y,snapSpacing:F,gridSpacing:rt,viewDirectionFromTarget:P,viewTarget:A,lensLength:v,frontClippingPlane:I,backClippingPlane:D,viewHeight:u,aspectRatio:f,snapRotationAngle:dt,viewTwistAngle:p,circleSides:U,frozenLayers:[],styleSheet:"",renderMode:m,viewMode:w,ucsIconSetting:Z,ucsOrigin:ct,ucsXAxis:it,ucsYAxis:Yt,orthographicType:0,elevation:mt,shadePlotSetting:0,majorGridLines:Tt,backgroundObjectId:xt,visualStyleObjectId:kt,isDefaultLightingOn:S,defaultLightingType:G,brightness:M,contrast:b,ambientColor:k.index}}getCommonTableEntryAttrs(t,i){const n=this.libredwg,d=n.dwg_object_get_tio(i),_=n.dwg_object_object_get_ownerhandle_object(d),u=n.dwg_object_get_handle_object(i);return{handle:vt(u.value),ownerHandle:vt(_.absolute_ref),name:n.dwg_dynapi_entity_data(t,"name")}}convertDictionary(t,i){const n=this.libredwg,d=this.getCommonObjectAttrs(i),_=n.dwg_dynapi_entity_data(t,"is_hardowner"),u=n.dwg_dynapi_entity_data(t,"cloning"),f=n.dwg_dynapi_entity_data(t,"numitems"),h=n.dwg_dynapi_entity_data(t,"itemhandles"),A=n.dwg_ptr_to_object_ref_array(h,f),P=n.dwg_object_dictionary_get_texts(i),p={};return A.forEach((v,I)=>p[P[I]]=vt(v.absolute_ref)),{...d,isHardOwner:!!_,cloningFlag:u,entries:p}}convertImageDef(t,i){const n=this.libredwg,d=this.getCommonObjectAttrs(i),_=n.dwg_dynapi_entity_data(t,"image_size"),u=n.dwg_dynapi_entity_data(t,"file_path"),f=n.dwg_dynapi_entity_data(t,"is_loaded"),h=n.dwg_dynapi_entity_data(t,"pixel_size"),A=n.dwg_dynapi_entity_data(t,"resunits");return{...d,fileName:u,size:_,sizeOfOnePixel:h,isLoaded:f,resolutionUnits:A}}convertLayerFilter(t,i){const n=this.libredwg,d=this.getCommonObjectAttrs(i),_=n.dwg_dynapi_entity_data(t,"num_names")??0,u=n.dwg_dynapi_entity_data(t,"names"),f=u&&_>0?n.dwg_ptr_to_wchar_string_array(u,_).filter(h=>h!=null&&h!==""):[];return{...d,...f.length?{layerNames:f}:{}}}convertLayerIndex(t,i){const n=this.libredwg,d=this.getCommonObjectAttrs(i),_=n.dwg_dynapi_entity_data(t,"last_updated"),u=n.dwg_dynapi_entity_data(t,"num_entries")??0,f=n.dwg_dynapi_entity_data(t,"entries"),h=n.dwg_dynapi_subclass_size("LAYER_entry"),A=[],P=[],p=[];if(f&&h>0)for(let v=0;v<u;v++){const I=f+v*h,D=n.dwg_dynapi_subclass_data(I,"LAYER_entry","name");A.push(D??"");const w=n.dwg_dynapi_subclass_data(I,"LAYER_entry","handle");P.push(w?n.dwg_ref_get_id(w)??"":""),p.push(n.dwg_dynapi_subclass_data(I,"LAYER_entry","numlayers")??0)}return{...d,..._!=null?{timeStamp:_}:{},...A.length?{layerNames:A}:{},...P.length?{idBufferIds:P}:{},...p.length?{idBufferEntryCounts:p}:{}}}convertLayout(t,i){const n=this.libredwg,d=this.getCommonObjectAttrs(i),_=n.dwg_dynapi_entity_data(t,"layout_name"),u=n.dwg_dynapi_entity_data(t,"tab_order"),f=n.dwg_dynapi_entity_data(t,"layout_flags"),h=n.dwg_dynapi_entity_data(t,"INSBASE"),A=n.dwg_dynapi_entity_data(t,"LIMMIN"),P=n.dwg_dynapi_entity_data(t,"LIMMAX"),p=n.dwg_dynapi_entity_data(t,"UCSORG"),v=n.dwg_dynapi_entity_data(t,"UCSXDIR"),I=n.dwg_dynapi_entity_data(t,"UCSYDIR"),D=n.dwg_dynapi_entity_data(t,"UCSORTHOVIEW"),w=n.dwg_dynapi_entity_data(t,"EXTMIN"),m=n.dwg_dynapi_entity_data(t,"EXTMAX"),S=n.dwg_dynapi_entity_data(t,"ucs_elevation"),G=n.dwg_dynapi_entity_data(t,"block_header"),M=n.dwg_ref_get_id(G)??"",b=n.dwg_dynapi_entity_data(t,"active_viewport"),k=n.dwg_ref_get_id(b)??"",$=n.dwg_dynapi_entity_data(t,"named_ucs"),q=$?n.dwg_ref_get_id($)??"":void 0;return{...d,layoutName:_,controlFlag:f,tabOrder:u,minLimit:A,maxLimit:P,insertionPoint:h,minExtent:w,maxExtent:m,elevation:S,ucsOrigin:p,ucsXAxis:v,ucsYAxis:I,orthographicType:D,paperSpaceTableId:M,viewportId:k,namedUcsId:q,shadePlotId:""}}convertMLeaderStyle(t,i){const n=this.libredwg,d=this.getCommonObjectAttrs(i),_=A=>n.dwg_dynapi_entity_data(t,A),u=A=>n.dwg_ref_get_id(A),f=A=>A>0,h=A=>A!=null?fr(A):void 0;return{...d,subclassMarker:"AcDbMLeaderStyle",unknown1:_("class_version"),contentType:_("content_type"),drawMLeaderOrderType:_("mleader_order"),drawLeaderOrderType:_("leader_order"),maxLeaderSegmentPoints:_("max_points"),firstSegmentAngleConstraint:_("first_seg_angle"),secondSegmentAngleConstraint:_("second_seg_angle"),leaderLineType:_("type"),leaderLineColor:h(_("line_color")),leaderLineTypeId:u(_("line_type")),leaderLineWeight:_("linewt"),landingEnabled:f(_("has_landing")),landingGap:_("landing_gap"),doglegEnabled:f(_("has_dogleg")),doglegLength:_("landing_dist"),description:_("description"),arrowheadId:u(_("arrow_head")),arrowheadSize:_("arrow_head_size"),defaultMTextContents:_("text_default"),textStyleId:u(_("text_style")),textLeftAttachmentType:_("attach_left"),textAngleType:_("text_angle_type"),textAlignmentType:_("text_align_type"),textRightAttachmentType:_("attach_right"),textColor:h(_("text_color")),textHeight:_("text_height"),textFrameEnabled:f(_("has_text_frame")),textAlignAlwaysLeft:f(_("text_always_left")),alignSpace:_("align_space"),blockContentId:u(_("block")),blockContentColor:h(_("block_color")),blockContentScale:_("block_scale"),blockContentScaleEnabled:f(_("use_block_scale")),blockContentRotation:_("block_rotation"),blockContentRotationEnabled:f(_("use_block_rotation")),blockContentConnectionType:_("block_connection"),scale:_("scale"),overwritePropertyValue:f(_("is_changed")),annotative:f(_("is_annotative")),breakGapSize:_("break_size"),textAttachmentDirection:_("attach_dir"),bottomTextAttachmentDirection:_("attach_bottom"),topTextAttachmentDirection:_("attach_top"),unknown2:f(_("text_extended"))}}convertSpatialFilter(t,i){const n=this.libredwg,d=this.getCommonObjectAttrs(i),_=n.dwg_dynapi_entity_data(t,"origin"),u=n.dwg_dynapi_entity_data(t,"num_clip_verts"),f=n.dwg_dynapi_entity_data(t,"clip_verts"),h=n.dwg_ptr_to_point2d_array(f,u),A=n.dwg_dynapi_entity_data(t,"extrusion"),P=n.dwg_dynapi_entity_data(t,"display_boundary_on"),p=n.dwg_dynapi_entity_data(t,"front_clip_on"),v=n.dwg_dynapi_entity_data(t,"front_clip_z"),I=n.dwg_dynapi_entity_data(t,"back_clip_on"),D=n.dwg_dynapi_entity_data(t,"back_clip_z"),w=n.dwg_dynapi_entity_data(t,"transform"),m=n.dwg_ptr_to_double_array(w,12),S=n.dwg_dynapi_entity_data(t,"inverse_transform"),G=n.dwg_ptr_to_double_array(S,12);return{...d,origin:_,numberOfPointsOnClipBoundary:u,vertices:h,extrusionDirection:A,clipBoundaryVisible:!!P,frontClippingPlaneFlag:!!p,frontClippingPlaneDistance:v,backClippingPlaneFlag:!!I,backClippingPlaneDistance:D,matrix:m,invertBlockMatrix:G}}convertXRecord(t,i){const n=this.libredwg,d=this.getCommonObjectAttrs(i),_=n.dwg_dynapi_entity_data(t,"cloning"),u=n.dwg_object_xrecord_get_xdata(t)??[],f=n.dwg_object_get_tio(i),h=f?n.dwg_object_object_get_xdicobjhandle_object(f):null,A=h&&h.absolute_ref?vt(h.absolute_ref):void 0;return{...d,..._!=null?{cloning:_}:{},...A?{extensionDictionary:A}:{},data:u}}getCommonObjectAttrs(t){const i=this.libredwg,n=i.dwg_object_get_tio(t),d=i.dwg_object_object_get_ownerhandle_object(n),_=i.dwg_object_get_handle_object(t);return{handle:vt(_.value),ownerHandle:vt(d.absolute_ref)}}}class yt{constructor(){nt(this,"min"),nt(this,"max"),nt(this,"valid"),this.min={x:1/0,y:1/0},this.max={x:-1/0,y:-1/0},this.valid=!1}expandByPoint(t){return this.min.x=Math.min(this.min.x,t.x),this.min.y=Math.min(this.min.y,t.y),this.max.x=Math.max(this.max.x,t.x),this.max.y=Math.max(this.max.y,t.y),this.valid=!0,this}transform(t,i){const n=this.getCorners().map(d=>({x:d.x*t.x+i.x,y:d.y*t.y+i.y}));this.reset();for(const d of n)this.expandByPoint(d);return this}rotate(t,i){const n=Math.cos(t),d=Math.sin(t),_=this.getCorners().map(u=>{const f=u.x-i.x,h=u.y-i.y;return{x:i.x+f*n-h*d,y:i.y+f*d+h*n}});this.reset();for(const u of _)this.expandByPoint(u);return this}clone(){const t=new yt;return t.min={x:this.min.x,y:this.min.y},t.max={x:this.max.x,y:this.max.y},t.valid=this.valid,t}reset(){this.min={x:1/0,y:1/0},this.max={x:-1/0,y:-1/0},this.valid=!1}getCorners(){return[{x:this.min.x,y:this.min.y},{x:this.min.x,y:this.max.y},{x:this.max.x,y:this.min.y},{x:this.max.x,y:this.max.y}]}}function Mo(a,t,i,n,d){const _=i.length;if(_===0)throw new Error("points must not be empty");const u=i[0].length;if(a<0||a>1)throw new Error(`t out of bounds [0,1]: ${a}`);if(t<1)throw new Error("degree must be at least 1 (linear)");if(t>_-1)throw new Error("degree must be less than or equal to point count - 1");const f=d??new Array(_).fill(1),h=n??(()=>{const w=[];for(let m=0;m<_+t+1;m++)w.push(m);return w})();if(h.length!==_+t+1)throw new Error("bad knot vector length");const A=[t,h.length-1-t],P=h[A[0]],p=h[A[1]];a=a*(p-P)+P,a=Math.max(a,P),a=Math.min(a,p);let v=A[0];for(;v<A[1]&&!(a>=h[v]&&a<=h[v+1]);v++);const I=new Array(_);for(let w=0;w<_;w++){I[w]=new Array(u+1);for(let m=0;m<u;m++)I[w][m]=i[w][m]*f[w];I[w][u]=f[w]}for(let w=1;w<=t+1;w++)for(let m=v;m>v-t-1+w;m--){const S=h[m+t+1-w]-h[m],G=S===0?0:(a-h[m])/S;for(let M=0;M<u+1;M++)I[m][M]=(1-G)*I[m-1][M]+G*I[m][M]}const D=new Array(u);for(let w=0;w<u;w++)D[w]=bo(I[v][w]/I[v][u],-9);return D}function bo(a,t){if(isNaN(a)||!Number.isInteger(t))return NaN;const[i,n="0"]=a.toString().split("e"),d=Math.round(+`${i}e${+n-t}`),[_,u="0"]=d.toString().split("e");return+`${_}e${+u+t}`}const dn={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},Cn=[0,16711680,16776960,65280,65535,255,16711935,16777215,8421504,12632256,16711680,16744319,13369344,13395558,10027008,10046540,8323072,8339263,4980736,4990502,16727808,16752511,13382400,13401958,10036736,10051404,8331008,8343359,4985600,4992806,16744192,16760703,13395456,13408614,10046464,10056268,8339200,8347455,4990464,4995366,16760576,16768895,13408512,13415014,10056192,10061132,8347392,8351551,4995328,4997670,16776960,16777087,13421568,13421670,10000384,10000460,8355584,8355647,5000192,5000230,12582656,14679935,10079232,11717734,7510016,8755276,6258432,7307071,3755008,4344870,8388352,12582783,6736896,10079334,5019648,7510092,4161280,6258495,2509824,3755046,4194048,10485631,3394560,8375398,2529280,6264908,2064128,5209919,1264640,3099686,65280,8388479,52224,6736998,38912,5019724,32512,4161343,19456,2509862,65343,8388511,52275,6737023,38950,5019743,32543,4161359,19475,2509871,65407,8388543,52326,6737049,38988,5019762,32575,4161375,19494,2509881,65471,8388575,52377,6737074,39026,5019781,32607,4161391,19513,2509890,65535,8388607,52428,6737100,39064,5019800,32639,4161407,19532,2509900,49151,8380415,39372,6730444,29336,5014936,24447,4157311,14668,2507340,32767,8372223,26316,6724044,19608,5010072,16255,4153215,9804,2505036,16383,8364031,13260,6717388,9880,5005208,8063,4149119,4940,2502476,255,8355839,204,6710988,152,5000344,127,4145023,76,2500172,4129023,10452991,3342540,8349388,2490520,6245528,2031743,5193599,1245260,3089996,8323327,12550143,6684876,10053324,4980888,7490712,4128895,6242175,2490444,3745356,12517631,14647295,10027212,11691724,7471256,8735896,6226047,7290751,3735628,4335180,16711935,16744447,13369548,13395660,9961624,9981080,8323199,8339327,4980812,4990540,16711871,16744415,13369497,13395634,9961586,9981061,8323167,8339311,4980793,4990530,16711807,16744383,13369446,13395609,9961548,9981042,8323135,8339295,4980774,4990521,16711743,16744351,13369395,13395583,9961510,9981023,8323103,8339279,4980755,4990511,3355443,5987163,8684676,11382189,14079702,16777215,0];function He(a,t,i){return Math.max(t,Math.min(i,a))}const hr=class gr{constructor(){nt(this,"_colorIndex"),nt(this,"_color"),nt(this,"_colorName"),this._colorIndex=256,this._color=null,this._colorName=null}get color(){return this._color}set color(t){t==null?this._color=null:(this._color=Math.round(He(t,0,256*256*256-1)),this._colorIndex=this.getColorIndexByValue(this._color),this._colorName=this.getColorNameByValue(this._color))}get hexColor(){if(this._color&&this._color>0&&this._color<=16777215){let t=this._color.toString(16).toUpperCase();for(;t.length<6;)t="0"+t;return`0x${t}`}return""}get cssColor(){return`rgb(${this.red},${this.green},${this.blue})`}get red(){return this.color!=null?this.color>>16&255:null}get green(){return this.color!=null?this.color>>8&255:null}get blue(){return this.color!=null?this.color&255:null}get colorIndex(){return this._colorIndex}set colorIndex(t){t==null?this._colorIndex=null:(this._colorIndex=He(t,0,256),this._color=Cn[t],this._colorName=this.getColorNameByValue(this._color))}get colorName(){return this._colorName}set colorName(t){if(t){const i=dn[t.toLowerCase()];i!==void 0&&(this._colorName=t,this._color=i,this._colorIndex=this.getColorIndexByValue(this._color))}else this._colorName=null}get hasColorName(){return this._colorName==null}get hasColorIndex(){return this._colorIndex==null}get isByLayer(){return this.colorIndex==256}setByLayer(){return this.colorIndex=256,this}get isByBlock(){return this.colorIndex==0}setByBlock(){return this.colorIndex=0,this}setScalar(t){return this.setRGB(t,t,t),this}setRGB(t,i,n){const d=Math.round(He(t,0,255)),_=Math.round(He(i,0,255)),u=Math.round(He(n,0,255));return this.color=(d<<16)+(_<<8)+u,this}setColorName(t){const i=dn[t.toLowerCase()];return i!==void 0&&(this.color=i),this}clone(){const t=new gr;return t.colorIndex=this.colorIndex,t.color=this.color,t._colorName=this._colorName,this}copy(t){return this.colorIndex=t.colorIndex,this.color=t.color,this._colorName=t._colorName,this}equals(t){return t.color==this.color&&t.colorIndex==this.colorIndex&&t._colorName==this._colorName}toString(){return this.isByLayer?"ByLayer":this.isByBlock?"ByBlock":this.colorName?this.colorName:this.hexColor}getColorNameByValue(t){for(const[i,n]of Object.entries(dn))if(n===t)return i;return null}getColorIndexByValue(t){const i=Cn.length-1;for(let n=1;n<i;++n)if(Cn[n]===t)return n;return null}};nt(hr,"NAMES",dn);let xo=hr;class It{constructor(t,i){nt(this,"x"),nt(this,"y"),this.x=t,this.y=i}add(t){return new It(this.x+t.x,this.y+t.y)}sub(t){return new It(this.x-t.x,this.y-t.y)}multiply(t){return new It(this.x*t,this.y*t)}length(){return Math.sqrt(this.x**2+this.y**2)}norm(){const t=this.length();return t===0?new It(0,0):new It(this.x/t,this.y/t)}}function ko(a,t,i,n=5){let d,_,u;i<0?(d=Math.atan(-i)*4,_=new It(a.x,a.y),u=new It(t.x,t.y)):(d=Math.atan(i)*4,_=new It(t.x,t.y),u=new It(a.x,a.y));const f=u.sub(_),h=f.length(),A=_.add(f.multiply(.5)),P=Math.abs(h/2/Math.tan(d/2)),p=f.norm(),v=new It(p.x*Math.cos(Math.PI/2)-p.y*Math.sin(Math.PI/2),p.y*Math.cos(Math.PI/2)+p.x*Math.sin(Math.PI/2)),I=d<Math.PI?A.add(v.multiply(-P)):A.add(v.multiply(P)),D=Math.atan2(u.y-I.y,u.x-I.x)/Math.PI*180;let w=Math.atan2(_.y-I.y,_.x-I.x)/Math.PI*180;w<D&&(w+=360);const m=u.sub(I).length(),S=Math.floor(D/n)*n+n,G=Math.ceil(w/n)*n-n,M=[];for(let b=S;b<=G;b+=n){const k=b/180*Math.PI,$=I.add(new It(Math.cos(k)*m,Math.sin(k)*m));M.push($)}return i<0&&M.reverse(),M}function Oo(a,t=!1){let i=[];const n=a.vertices.map(d=>({x:d.x,y:d.y,bulge:d.bulge}));t&&n.push(n[0]);for(let d=0,_=n.length;d<_-1;++d){const u=n[d],f=n[d+1];i.push(u),n[d].bulge&&(i=i.concat(ko(u,f,a.vertices[d].bulge))),d===_-2&&i.push(f)}return i}class Bo{constructor(){nt(this,"blockMap",new Map)}rotate(t,i){const n=Math.cos(i),d=Math.sin(i);return{x:t.x*n-t.y*d,y:t.x*d+t.y*n}}interpolateBSpline(t,i,n,d=25,_){const u=[],f=t.map(P=>[P.x,P.y]),h=[n[i]],A=[n[i],n[n.length-1-i]];for(let P=i+1;P<n.length-i;++P)h[h.length-1]!==n[P]&&h.push(n[P]);for(let P=1;P<h.length;++P){const p=h[P-1],v=h[P];for(let I=0;I<=d;++I){let w=(I/d*(v-p)+p-A[0])/(A[1]-A[0]);w=Math.max(0,Math.min(1,w));const m=Mo(w,i,f,n,_);u.push({x:m[0],y:m[1]})}}return u}addFlipXIfApplicable(t,{bbox:i,element:n}){return"extrusionDirection"in t&&t.extrusionDirection.z===-1?{bbox:new yt().expandByPoint({x:-i.min.x,y:i.min.y}).expandByPoint({x:-i.max.x,y:i.max.y}),element:`<g transform="matrix(-1 0 0 1 0 0)">${n}</g>`}:{bbox:i,element:n}}line(t){const i=new yt().expandByPoint({x:t.startPoint.x,y:t.startPoint.y}).expandByPoint({x:t.endPoint.x,y:t.endPoint.y}),n=`<line x1="${t.startPoint.x}" y1="${t.startPoint.y}" x2="${t.endPoint.x}" y2="${t.endPoint.y}" />`;return{bbox:i,element:n}}ray(t){const n=t.firstPoint,d={x:n.x+t.unitDirection.x*1e4,y:n.y+t.unitDirection.y*1e4},_=new yt().expandByPoint(n).expandByPoint(d),u=`<line x1="${n.x}" y1="${n.y}" x2="${d.x}" y2="${d.y}" />`;return{bbox:_,element:u}}xline(t){const n={x:t.firstPoint.x-t.unitDirection.x*1e4,y:t.firstPoint.y-t.unitDirection.y*1e4},d={x:t.firstPoint.x+t.unitDirection.x*1e4,y:t.firstPoint.y+t.unitDirection.y*1e4},_=new yt().expandByPoint(n).expandByPoint(d),u=`<line x1="${n.x}" y1="${n.y}" x2="${d.x}" y2="${d.y}" />`;return{bbox:_,element:u}}extractMTextLines(t){return t.replace(/\\U\+([0-9A-Fa-f]{4})/g,(i,n)=>String.fromCharCode(parseInt(n,16))).replace(/\\P/g,`
17
+ `,P.push(E);var O=Xn(Function,P)(...C),W=`methodCaller<(${s.map(x=>x.name).join(", ")}) => ${c.name}>`;return ga(Ye(W,O))}function Pa(e){e>>>=0,e>9&&(Xt[e+1]+=1)}function pa(){return gt.toHandle([])}function va(e){return e>>>=0,gt.toHandle(zn(e))}function ma(){return gt.toHandle({})}function Ia(e){e>>>=0;var r=gt.toValue(e);gn(r),Tn(e)}function wa(e,r,o){e>>>=0,r>>>=0,o>>>=0,e=gt.toValue(e),r=gt.toValue(r),o=gt.toValue(o),e[r]=o}function Ca(e,r){e>>>=0,r>>>=0,e=yn(e,"_emval_take_value");var o=e.readValueFromPointer(r);return gt.toHandle(o)}function Da(e,r){e=ye(e),r>>>=0;var o=new Date(e*1e3);Y[r>>>2>>>0]=o.getUTCSeconds(),Y[r+4>>>2>>>0]=o.getUTCMinutes(),Y[r+8>>>2>>>0]=o.getUTCHours(),Y[r+12>>>2>>>0]=o.getUTCDate(),Y[r+16>>>2>>>0]=o.getUTCMonth(),Y[r+20>>>2>>>0]=o.getUTCFullYear()-1900,Y[r+24>>>2>>>0]=o.getUTCDay();var s=Date.UTC(o.getUTCFullYear(),0,1,0,0,0,0),c=(o.getTime()-s)/(1e3*60*60*24)|0;Y[r+28>>>2>>>0]=c}var Ra=e=>e%4===0&&(e%100!==0||e%400===0),Sa=[0,31,60,91,121,152,182,213,244,274,305,335],La=[0,31,59,90,120,151,181,212,243,273,304,334],Ya=e=>{var r=Ra(e.getFullYear()),o=r?Sa:La,s=o[e.getMonth()]+e.getDate()-1;return s},Na=function(e){e>>>=0;var r=(()=>{var o=new Date(Y[e+20>>>2>>>0]+1900,Y[e+16>>>2>>>0],Y[e+12>>>2>>>0],Y[e+8>>>2>>>0],Y[e+4>>>2>>>0],Y[e>>>2>>>0],0),s=Y[e+32>>>2>>>0],c=o.getTimezoneOffset(),E=new Date(o.getFullYear(),0,1),g=new Date(o.getFullYear(),6,1).getTimezoneOffset(),T=E.getTimezoneOffset(),P=Math.min(T,g);if(s<0)Y[e+32>>>2>>>0]=+(g!=T&&P==c);else if(s>0!=(P==c)){var C=Math.max(T,g),R=s>0?P:C;o.setTime(o.getTime()+(R-c)*6e4)}Y[e+24>>>2>>>0]=o.getDay();var N=Ya(o)|0;Y[e+28>>>2>>>0]=N,Y[e>>>2>>>0]=o.getSeconds(),Y[e+4>>>2>>>0]=o.getMinutes(),Y[e+8>>>2>>>0]=o.getHours(),Y[e+12>>>2>>>0]=o.getDate(),Y[e+16>>>2>>>0]=o.getMonth(),Y[e+20>>>2>>>0]=o.getYear();var O=o.getTime();return isNaN(O)?-1:O/1e3})();return BigInt(r)},Ga=function(e,r,o,s){e>>>=0,r>>>=0,o>>>=0,s>>>=0;var c=new Date().getFullYear(),E=new Date(c,0,1),g=new Date(c,6,1),T=E.getTimezoneOffset(),P=g.getTimezoneOffset(),C=Math.max(T,P);F[e>>>2>>>0]=C*60,Y[r>>>2>>>0]=+(T!=P);var R=W=>{var x=W>=0?"-":"+",K=Math.abs(W),_t=String(Math.floor(K/60)).padStart(2,"0"),at=String(K%60).padStart(2,"0");return`UTC${x}${_t}${at}`},N=R(T),O=R(P);P<T?(ce(N,o,17),ce(O,s,17)):(ce(N,s,17),ce(O,o,17))},Jn=()=>performance.now(),Zn=()=>Date.now(),Wa=e=>e>=0&&e<=3;function Ma(e,r,o){if(o>>>=0,!Wa(e))return 28;var s;e===0?s=Zn():s=Jn();var c=Math.round(s*1e3*1e3);return it[o>>>3]=BigInt(c),0}function ba(e){return e>>>=0,b(de(e))}var xa=()=>4294901760,ka=e=>{var r=$.buffer,o=(e-r.byteLength+65535)/65536|0;try{return $.grow(o),wt(),1}catch{}};function Oa(e){e>>>=0;var r=Z.length,o=xa();if(e>o)return!1;for(var s=1;s<=4;s*=2){var c=r*(1+.2/s);c=Math.min(c,e+100663296);var E=Math.min(o,ve(Math.max(e,c),65536)),g=ka(E);if(g)return!0}return!1}var _n={},Ba=()=>p||"./this.program",$e=()=>{if(!$e.strings){var e=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:e,_:Ba()};for(var o in _n)_n[o]===void 0?delete r[o]:r[o]=_n[o];var s=[];for(var o in r)s.push(`${o}=${r[o]}`);$e.strings=s}return $e.strings},Fa=(e,r)=>{for(var o=0;o<e.length;++o)U[r++>>>0]=e.charCodeAt(o);U[r>>>0]=0},Ua=function(e,r){e>>>=0,r>>>=0;var o=0;return $e().forEach((s,c)=>{var E=r+o;F[e+c*4>>>2>>>0]=E,Fa(s,E),o+=s.length+1}),0},$a=function(e,r){e>>>=0,r>>>=0;var o=$e();F[e>>>2>>>0]=o.length;var s=0;return o.forEach(c=>s+=c.length+1),F[r>>>2>>>0]=s,0};function Ha(e){try{var r=et.getStreamFromFD(e);return l.close(r),0}catch(o){if(typeof l>"u"||o.name!=="ErrnoError")throw o;return o.errno}}var Va=(e,r,o,s)=>{for(var c=0,E=0;E<o;E++){var g=F[r>>>2>>>0],T=F[r+4>>>2>>>0];r+=8;var P=l.read(e,U,g,T,s);if(P<0)return-1;if(c+=P,P<T)break}return c};function Xa(e,r,o,s){r>>>=0,o>>>=0,s>>>=0;try{var c=et.getStreamFromFD(e),E=Va(c,r,o);return F[s>>>2>>>0]=E,0}catch(g){if(typeof l>"u"||g.name!=="ErrnoError")throw g;return g.errno}}function Ka(e,r,o,s){r=ye(r),s>>>=0;try{if(isNaN(r))return 61;var c=et.getStreamFromFD(e);return l.llseek(c,r,o),it[s>>>3]=BigInt(c.position),c.getdents&&r===0&&o===0&&(c.getdents=null),0}catch(E){if(typeof l>"u"||E.name!=="ErrnoError")throw E;return E.errno}}var za=(e,r,o,s)=>{for(var c=0,E=0;E<o;E++){var g=F[r>>>2>>>0],T=F[r+4>>>2>>>0];r+=8;var P=l.write(e,U,g,T,s);if(P<0)return-1;if(c+=P,P<T)break}return c};function Ja(e,r,o,s){r>>>=0,o>>>=0,s>>>=0;try{var c=et.getStreamFromFD(e),E=za(c,r,o);return F[s>>>2>>>0]=E,0}catch(g){if(typeof l>"u"||g.name!=="ErrnoError")throw g;return g.errno}}function Za(e,r){e>>>=0,r>>>=0;try{return Zt(Z.subarray(e>>>0,e+r>>>0)),0}catch(o){if(typeof l>"u"||o.name!=="ErrnoError")throw o;return o.errno}}var qn=e=>{var r=n["_"+e];return r},qa=(e,r)=>{U.set(e,r>>>0)},Qn=e=>ro(e),Qa=e=>{var r=Wt(e)+1,o=Qn(r);return ce(e,o,r),o},jn=(e,r,o,s,c)=>{var E={string:x=>{var K=0;return x!=null&&x!==0&&(K=Qa(x)),K},array:x=>{var K=Qn(x.length);return qa(x,K),K}};function g(x){return r==="string"?de(x):r==="boolean"?!!x:x}var T=qn(e),P=[],C=0;if(s)for(var R=0;R<s.length;R++){var N=E[o[R]];N?(C===0&&(C=Me()),P[R]=N(s[R])):P[R]=s[R]}var O=T(...P);function W(x){return C!==0&&We(C),g(x)}return O=W(O),O},ja=(e,r,o,s)=>{var c=!o||o.every(g=>g==="number"||g==="boolean"),E=r!=="string";return E&&c&&!s?qn(e):(...g)=>jn(e,r,o,g)},to=e=>{var r=Wt(e)+1,o=pn(r);return o&&ce(e,o,r),o};l.createPreloadedFile=ze,l.staticInit(),B.doesNotExistError=new l.ErrnoError(44),B.doesNotExistError.stack="<generic error, no stack>",Oe(),te=n.BindingError=class extends Error{constructor(r){super(r),this.name="BindingError"}},je=n.InternalError=class extends Error{constructor(r){super(r),this.name="InternalError"}},Rr(),xr(),Un=n.UnboundTypeError=Br(Error,"UnboundTypeError"),Hr();var tr={__cxa_throw:xe,__syscall_fcntl64:cn,__syscall_fstat64:Ze,__syscall_ioctl:ke,__syscall_lstat64:J,__syscall_newfstatat:j,__syscall_openat:jt,__syscall_stat64:qe,_abort_js:un,_embind_register_bigint:Pr,_embind_register_bool:pr,_embind_register_class:Fr,_embind_register_class_property:Ur,_embind_register_emval:Xr,_embind_register_enum:zr,_embind_register_enum_value:Jr,_embind_register_float:qr,_embind_register_function:na,_embind_register_integer:ra,_embind_register_memory_view:aa,_embind_register_std_string:oa,_embind_register_std_wstring:ua,_embind_register_void:Ea,_emval_call_method:ha,_emval_decref:Tn,_emval_get_method_caller:ya,_emval_incref:Pa,_emval_new_array:pa,_emval_new_cstring:va,_emval_new_object:ma,_emval_run_destructors:Ia,_emval_set_property:wa,_emval_take_value:Ca,_gmtime_js:Da,_mktime_js:Na,_tzset_js:Ga,clock_time_get:Ma,emscripten_date_now:Zn,emscripten_err:ba,emscripten_get_now:Jn,emscripten_resize_heap:Oa,environ_get:Ua,environ_sizes_get:$a,fd_close:Ha,fd_read:Xa,fd_seek:Ka,fd_write:Ja,random_get:Za},X=await V();X.__wasm_call_ctors,n.__ZdlPvm=X._ZdlPvm;var pn=X.malloc,ee=X.free;X.calloc,X.realloc;var eo=X.__getTypeName;n._strndup=X.strndup,n.__ZdaPv=X._ZdaPv,n.__ZdaPvm=X._ZdaPvm,n.__ZdlPv=X._ZdlPv,n._emscripten_builtin_malloc=X.emscripten_builtin_malloc,n.__Znaj=X._Znaj,n.__ZnajSt11align_val_t=X._ZnajSt11align_val_t,n.__Znwj=X._Znwj,n.__ZnwjSt11align_val_t=X._ZnwjSt11align_val_t,n.___libc_calloc=X.__libc_calloc,n.___libc_free=X.__libc_free,n.___libc_malloc=X.__libc_malloc,n.___libc_realloc=X.__libc_realloc,n._emscripten_builtin_calloc=X.emscripten_builtin_calloc,n._emscripten_builtin_free=X.emscripten_builtin_free,n._emscripten_builtin_realloc=X.emscripten_builtin_realloc,n._malloc_size=X.malloc_size,n._malloc_usable_size=X.malloc_usable_size,n._reallocf=X.reallocf;var no=X._emscripten_stack_restore,ro=X._emscripten_stack_alloc,ao=X.emscripten_stack_get_current;function oo(e){e=Object.assign({},e);var r=c=>E=>c(E)>>>0,o=c=>(E,g)=>c(E,g)>>>0,s=c=>()=>c()>>>0;return e.malloc=r(e.malloc),e.calloc=o(e.calloc),e.__getTypeName=r(e.__getTypeName),e.emscripten_builtin_malloc=r(e.emscripten_builtin_malloc),e.emscripten_builtin_calloc=o(e.emscripten_builtin_calloc),e._emscripten_stack_alloc=r(e._emscripten_stack_alloc),e.emscripten_stack_get_current=s(e.emscripten_stack_get_current),e}n.ENV=_n,n.ccall=jn,n.cwrap=ja,n.setValue=Ge,n.UTF8ToString=de,n.stringToNewUTF8=to,n.FS=l;function vn(){if(ft>0){Dt=vn;return}if(xt(),ft>0){Dt=vn;return}function e(){var r;n.calledRun=!0,!q&&(Ct(),d(n),(r=n.onRuntimeInitialized)==null||r.call(n),kt())}n.setStatus?(n.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>n.setStatus(""),1),e()},1)):e()}if(n.preInit)for(typeof n.preInit=="function"&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();return vn(),i=u,i})})(),vo=Object.defineProperty,mo=(a,t,i)=>t in a?vo(a,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):a[t]=i,nt=(a,t,i)=>mo(a,typeof t!="symbol"?t+"":t,i);const Io=["utf-8","utf-8","iso-8859-1","iso-8859-2","iso-8859-3","iso-8859-4","iso-8859-5","iso-8859-6","iso-8859-7","iso-8859-8","iso-8859-9","utf-8","utf-8","utf-8","utf-8","utf-8","utf-8","utf-8","utf-8","utf-8","utf-8","utf-8","shift-jis","macintosh","big5","euc-kr","utf-8","ibm866","windows-1250","windows-1251","windows-1252","gbk","windows-1253","windows-1254","windows-1255","windows-1256","windows-1257","windows-874","shift-jis","gbk","euc-kr","big5","utf-8","utf-16le","windows-1258"],ar=a=>Io[a];var Ee=(a=>(a[a.TopLeft=1]="TopLeft",a[a.TopCenter=2]="TopCenter",a[a.TopRight=3]="TopRight",a[a.MiddleLeft=4]="MiddleLeft",a[a.MiddleCenter=5]="MiddleCenter",a[a.MiddleRight=6]="MiddleRight",a[a.BottomLeft=7]="BottomLeft",a[a.BottomCenter=8]="BottomCenter",a[a.BottomRight=9]="BottomRight",a))(Ee||{}),Dn=(a=>(a[a.PatternFill=0]="PatternFill",a[a.SolidFill=1]="SolidFill",a))(Dn||{}),Rn=(a=>(a[a.NonAssociative=0]="NonAssociative",a[a.Associative=1]="Associative",a))(Rn||{}),Er=(a=>(a[a.Solid=0]="Solid",a[a.Gradient=1]="Gradient",a))(Er||{}),Sn=(a=>(a[a.TwoColor=0]="TwoColor",a[a.OneColor=1]="OneColor",a))(Sn||{}),Ve=(a=>(a[a.Line=1]="Line",a[a.Circular=2]="Circular",a[a.Elliptic=3]="Elliptic",a[a.Spline=4]="Spline",a))(Ve||{}),Ln=(a=>(a[a.LEFT=0]="LEFT",a[a.CENTER=1]="CENTER",a[a.RIGHT=2]="RIGHT",a[a.ALIGNED=3]="ALIGNED",a[a.MIDDLE=4]="MIDDLE",a[a.FIT=5]="FIT",a))(Ln||{});const wo=Object.freeze(["ACADMAINTVER","ACADVER","ANGBASE","ANGDIR","ATTMODE","AUNITS","AUPREC","CECOLOR","CELTSCALE","CELTYPE","CELWEIGHT","CEPSNID","CEPSNTYPE","CHAMFERA","CHAMFERB","CHAMFERC","CHAMFERD","CLAYER","CMLJUST","CMLSCALE","CMLSTYLE","CSHADOW","DIMADEC","DIMALT","DIMALTD","DIMALTF","DIMALTRND","DIMALTTD","DIMALTTZ","DIMALTU","DIMALTZ","DIMAPOST","DIMASO","DIMASSOC","DIMASZ","DIMATFIT","DIMAUNIT","DIMAZIN","DIMBLK","DIMBLK1","DIMBLK2","DIMCEN","DIMCLRD","DIMCLRE","DIMCLRT","DIMDEC","DIMDLE","DIMDLI","DIMDSEP","DIMEXE","DIMEXO","DIMFAC","DIMGAP","DIMJUST","DIMLDRBLK","DIMLFAC","DIMLIM","DIMLUNIT","DIMLWD","DIMLWE","DIMPOST","DIMRND","DIMSAH","DIMSCALE","DIMSD1","DIMSD2","DIMSE1","DIMSE2","DIMSHO","DIMSOXD","DIMSTYLE","DIMTAD","DIMTDEC","DIMTFAC","DIMTIH","DIMTIX","DIMTM","DIMTMOVE","DIMTOFL","DIMTOH","DIMTOL","DIMTOLJ","DIMTP","DIMTSZ","DIMTVP","DIMTXSTY","DIMTXT","DIMTZIN","DIMUPT","DIMZIN","DISPSILH","DRAGVS","DWGCODEPAGE","ELEVATION","ENDCAPS","EXTMAX","EXTMIN","EXTNAMES","FILLETRAD","FILLMODE","FINGERPRINTGUID","HALOGAP","HANDSEED","HIDETEXT","HYPERLINKBASE","INDEXCTL","INSBASE","INSUNITS","INTERFERECOLOR","INTERFEREOBJVS","INTERFEREVPVS","INTERSECTIONCOLOR","INTERSECTIONDISPLAY","JOINSTYLE","LIMCHECK","LIMMAX","LIMMIN","LTSCALE","LUNITS","LUPREC","LWDISPLAY","MAXACTVP","MEASUREMENT","MENU","MIRRTEXT","OBSCOLOR","OBSLTYPE","ORTHOMODE","PDMODE","PDSIZE","PELEVATION","PEXTMAX","PEXTMIN","PINSBASE","PLIMCHECK","PLIMMAX","PLIMMIN","PLINEGEN","PLINEWID","PROJECTNAME","PROXYGRAPHICS","PSLTSCALE","PSTYLEMODE","PSVPSCALE","PUCSBASE","PUCSNAME","PUCSORG","PUCSORGBACK","PUCSORGBOTTOM","PUCSORGFRONT","PUCSORGLEFT","PUCSORGRIGHT","PUCSORGTOP","PUCSORTHOREF","PUCSORTHOVIEW","PUCSXDIR","PUCSYDIR","QTEXTMODE","REGENMODE","SHADEDGE","SHADEDIF","SHADOWPLANELOCATION","SKETCHINC","SKPOLY","SORTENTS","SPLINESEGS","SPLINETYPE","SURFTAB1","SURFTAB2","SURFTYPE","SURFU","SURFV","TDCREATE","TDINDWG","TDUCREATE","TDUPDATE","TDUSRTIMER","TDUUPDATE","TEXTSIZE","TEXTSTYLE","THICKNESS","TILEMODE","TRACEWID","TREEDEPTH","UCSBASE","UCSNAME","UCSORG","UCSORGBACK","UCSORGBOTTOM","UCSORGFRONT","UCSORGLEFT","UCSORGRIGHT","UCSORGTOP","UCSORTHOREF","UCSORTHOVIEW","UCSXDIR","UCSYDIR","UNITMODE","USERI1","USERI2","USERI3","USERI4","USERI5","USERR1","USERR2","USERR3","USERR4","USERR5","USRTIMER","VERSIONGUID","VISRETAIN","WORLDVIEW","XCLIPFRAME","XEDIT"]),Co=/\\U\+([0-9A-Fa-f]{4})/g;function or(a){return!a||!a.includes("\\U+")?a:a.replace(Co,(t,i)=>String.fromCharCode(parseInt(i,16)))}const Do=[{type:"invalid",hdr:"INVALI",description:"No DWG",version:0},{type:"r1.1",hdr:"MC0.0",description:"MicroCAD Release 1.1",version:0},{type:"r1.2",hdr:"AC1.2",description:"AutoCAD Release 1.2",version:0},{type:"r1.3",hdr:"AC1.3",description:"AutoCAD Release 1.3",version:1},{type:"r1.4",hdr:"AC1.40",description:"AutoCAD Release 1.4",version:2},{type:"r2.0b",hdr:"AC1.50",description:"AutoCAD 2.0 beta",version:3},{type:"r2.0",hdr:"AC1.50",description:"AutoCAD Release 2.0",version:4},{type:"r2.10",hdr:"AC2.10",description:"AutoCAD Release 2.10",version:5},{type:"r2.21",hdr:"AC2.21",description:"AutoCAD Release 2.21",version:6},{type:"r2.22",hdr:"AC2.22",description:"AutoCAD Release 2.22",version:7},{type:"r2.4",hdr:"AC1001",description:"AutoCAD Release 2.4",version:8},{type:"r2.5",hdr:"AC1002",description:"AutoCAD Release 2.5",version:9},{type:"r2.6",hdr:"AC1003",description:"AutoCAD Release 2.6",version:10},{type:"r9",hdr:"AC1004",description:"AutoCAD Release 9",version:11},{type:"r9c1",hdr:"AC1005",description:"AutoCAD Release 9c1",version:12},{type:"r10",hdr:"AC1006",description:"AutoCAD Release 10",version:13},{type:"r11b1",hdr:"AC1007",description:"AutoCAD 11 beta 1",version:14},{type:"r11b2",hdr:"AC1008",description:"AutoCAD 11 beta 2",version:15},{type:"r11",hdr:"AC1009",description:"AutoCAD Release 11/12 (LT R1/R2)",version:16},{type:"r13b1",hdr:"AC1010",description:"AutoCAD pre-R13 a",version:17},{type:"r13b2",hdr:"AC1011",description:"AutoCAD pre-R13 b",version:18},{type:"r13",hdr:"AC1012",description:"AutoCAD Release 13",version:19},{type:"r13c3",hdr:"AC1013",description:"AutoCAD Release 13c3",version:20},{type:"r14",hdr:"AC1014",description:"AutoCAD Release 14",version:21},{type:"r2000b",hdr:"AC1500",description:"AutoCAD 2000 beta",version:22},{type:"r2000",hdr:"AC1015",description:"AutoCAD Release 2000",version:23},{type:"r2000i",hdr:"AC1016",description:"AutoCAD Release 2000i",version:23},{type:"r2002",hdr:"AC1017",description:"AutoCAD Release 2002",version:23},{type:"r2004a",hdr:"AC402a",description:"AutoCAD 2004 alpha a",version:24},{type:"r2004b",hdr:"AC402b",description:"AutoCAD 2004 alpha b",version:24},{type:"r2004c",hdr:"AC1018",description:"AutoCAD 2004 beta",version:24},{type:"r2004",hdr:"AC1018",description:"AutoCAD Release 2004",version:25},{type:"r2007a",hdr:"AC701a",description:"AutoCAD 2007 alpha",version:26},{type:"r2007b",hdr:"AC1021",description:"AutoCAD 2007 beta",version:26},{type:"r2007",hdr:"AC1021",description:"AutoCAD Release 2007",version:27},{type:"r2010b",hdr:"AC1024",description:"AutoCAD 2010 beta",version:28},{type:"r2010",hdr:"AC1024",description:"AutoCAD Release 2010",version:29},{type:"r2013b",hdr:"AC1027",description:"AutoCAD 2013 beta",version:30},{type:"r2013",hdr:"AC1027",description:"AutoCAD Release 2013",version:31},{type:"r2018b",hdr:"AC1032",description:"AutoCAD 2018 beta",version:32},{type:"r2018",hdr:"AC1032",description:"AutoCAD Release 2018",version:33},{type:"r2022b",hdr:"AC103-4",description:"AutoCAD 2022 beta",version:36},{type:"r>2022",hdr:"",description:"AutoCAD Release >2022",version:0}];var Yn=(a=>(a[a.DWG_SUPERTYPE_ENTITY=0]="DWG_SUPERTYPE_ENTITY",a[a.DWG_SUPERTYPE_OBJECT=1]="DWG_SUPERTYPE_OBJECT",a))(Yn||{}),Nn=(a=>(a[a.WRONGCRC=1]="WRONGCRC",a[a.NOTYETSUPPORTED=2]="NOTYETSUPPORTED",a[a.UNHANDLEDCLASS=4]="UNHANDLEDCLASS",a[a.INVALIDTYPE=8]="INVALIDTYPE",a[a.INVALIDHANDLE=16]="INVALIDHANDLE",a[a.INVALIDEED=32]="INVALIDEED",a[a.VALUEOUTOFBOUNDS=64]="VALUEOUTOFBOUNDS",a[a.CLASSESNOTFOUND=128]="CLASSESNOTFOUND",a[a.SECTIONNOTFOUND=256]="SECTIONNOTFOUND",a[a.PAGENOTFOUND=512]="PAGENOTFOUND",a[a.INTERNALERROR=1024]="INTERNALERROR",a[a.INVALIDDWG=2048]="INVALIDDWG",a[a.IOERROR=4096]="IOERROR",a[a.OUTOFMEM=8192]="OUTOFMEM",a))(Nn||{}),L=(a=>(a[a.DWG_TYPE_UNUSED=0]="DWG_TYPE_UNUSED",a[a.DWG_TYPE_TEXT=1]="DWG_TYPE_TEXT",a[a.DWG_TYPE_ATTRIB=2]="DWG_TYPE_ATTRIB",a[a.DWG_TYPE_ATTDEF=3]="DWG_TYPE_ATTDEF",a[a.DWG_TYPE_BLOCK=4]="DWG_TYPE_BLOCK",a[a.DWG_TYPE_ENDBLK=5]="DWG_TYPE_ENDBLK",a[a.DWG_TYPE_SEQEND=6]="DWG_TYPE_SEQEND",a[a.DWG_TYPE_INSERT=7]="DWG_TYPE_INSERT",a[a.DWG_TYPE_MINSERT=8]="DWG_TYPE_MINSERT",a[a.DWG_TYPE_VERTEX_2D=10]="DWG_TYPE_VERTEX_2D",a[a.DWG_TYPE_VERTEX_3D=11]="DWG_TYPE_VERTEX_3D",a[a.DWG_TYPE_VERTEX_MESH=12]="DWG_TYPE_VERTEX_MESH",a[a.DWG_TYPE_VERTEX_PFACE=13]="DWG_TYPE_VERTEX_PFACE",a[a.DWG_TYPE_VERTEX_PFACE_FACE=14]="DWG_TYPE_VERTEX_PFACE_FACE",a[a.DWG_TYPE_POLYLINE_2D=15]="DWG_TYPE_POLYLINE_2D",a[a.DWG_TYPE_POLYLINE_3D=16]="DWG_TYPE_POLYLINE_3D",a[a.DWG_TYPE_ARC=17]="DWG_TYPE_ARC",a[a.DWG_TYPE_CIRCLE=18]="DWG_TYPE_CIRCLE",a[a.DWG_TYPE_LINE=19]="DWG_TYPE_LINE",a[a.DWG_TYPE_DIMENSION_ORDINATE=20]="DWG_TYPE_DIMENSION_ORDINATE",a[a.DWG_TYPE_DIMENSION_LINEAR=21]="DWG_TYPE_DIMENSION_LINEAR",a[a.DWG_TYPE_DIMENSION_ALIGNED=22]="DWG_TYPE_DIMENSION_ALIGNED",a[a.DWG_TYPE_DIMENSION_ANG3PT=23]="DWG_TYPE_DIMENSION_ANG3PT",a[a.DWG_TYPE_DIMENSION_ANG2LN=24]="DWG_TYPE_DIMENSION_ANG2LN",a[a.DWG_TYPE_DIMENSION_RADIUS=25]="DWG_TYPE_DIMENSION_RADIUS",a[a.DWG_TYPE_DIMENSION_DIAMETER=26]="DWG_TYPE_DIMENSION_DIAMETER",a[a.DWG_TYPE_POINT=27]="DWG_TYPE_POINT",a[a.DWG_TYPE_3DFACE=28]="DWG_TYPE_3DFACE",a[a.DWG_TYPE_POLYLINE_PFACE=29]="DWG_TYPE_POLYLINE_PFACE",a[a.DWG_TYPE_POLYLINE_MESH=30]="DWG_TYPE_POLYLINE_MESH",a[a.DWG_TYPE_SOLID=31]="DWG_TYPE_SOLID",a[a.DWG_TYPE_TRACE=32]="DWG_TYPE_TRACE",a[a.DWG_TYPE_SHAPE=33]="DWG_TYPE_SHAPE",a[a.DWG_TYPE_VIEWPORT=34]="DWG_TYPE_VIEWPORT",a[a.DWG_TYPE_ELLIPSE=35]="DWG_TYPE_ELLIPSE",a[a.DWG_TYPE_SPLINE=36]="DWG_TYPE_SPLINE",a[a.DWG_TYPE_REGION=37]="DWG_TYPE_REGION",a[a.DWG_TYPE_3DSOLID=38]="DWG_TYPE_3DSOLID",a[a.DWG_TYPE_BODY=39]="DWG_TYPE_BODY",a[a.DWG_TYPE_RAY=40]="DWG_TYPE_RAY",a[a.DWG_TYPE_XLINE=41]="DWG_TYPE_XLINE",a[a.DWG_TYPE_DICTIONARY=42]="DWG_TYPE_DICTIONARY",a[a.DWG_TYPE_OLEFRAME=43]="DWG_TYPE_OLEFRAME",a[a.DWG_TYPE_MTEXT=44]="DWG_TYPE_MTEXT",a[a.DWG_TYPE_LEADER=45]="DWG_TYPE_LEADER",a[a.DWG_TYPE_TOLERANCE=46]="DWG_TYPE_TOLERANCE",a[a.DWG_TYPE_MLINE=47]="DWG_TYPE_MLINE",a[a.DWG_TYPE_BLOCK_CONTROL=48]="DWG_TYPE_BLOCK_CONTROL",a[a.DWG_TYPE_BLOCK_HEADER=49]="DWG_TYPE_BLOCK_HEADER",a[a.DWG_TYPE_LAYER_CONTROL=50]="DWG_TYPE_LAYER_CONTROL",a[a.DWG_TYPE_LAYER=51]="DWG_TYPE_LAYER",a[a.DWG_TYPE_STYLE_CONTROL=52]="DWG_TYPE_STYLE_CONTROL",a[a.DWG_TYPE_STYLE=53]="DWG_TYPE_STYLE",a[a.DWG_TYPE_LTYPE_CONTROL=56]="DWG_TYPE_LTYPE_CONTROL",a[a.DWG_TYPE_LTYPE=57]="DWG_TYPE_LTYPE",a[a.DWG_TYPE_VIEW_CONTROL=60]="DWG_TYPE_VIEW_CONTROL",a[a.DWG_TYPE_VIEW=61]="DWG_TYPE_VIEW",a[a.DWG_TYPE_UCS_CONTROL=62]="DWG_TYPE_UCS_CONTROL",a[a.DWG_TYPE_UCS=63]="DWG_TYPE_UCS",a[a.DWG_TYPE_VPORT_CONTROL=64]="DWG_TYPE_VPORT_CONTROL",a[a.DWG_TYPE_VPORT=65]="DWG_TYPE_VPORT",a[a.DWG_TYPE_APPID_CONTROL=66]="DWG_TYPE_APPID_CONTROL",a[a.DWG_TYPE_APPID=67]="DWG_TYPE_APPID",a[a.DWG_TYPE_DIMSTYLE_CONTROL=68]="DWG_TYPE_DIMSTYLE_CONTROL",a[a.DWG_TYPE_DIMSTYLE=69]="DWG_TYPE_DIMSTYLE",a[a.DWG_TYPE_VX_CONTROL=70]="DWG_TYPE_VX_CONTROL",a[a.DWG_TYPE_VX_TABLE_RECORD=71]="DWG_TYPE_VX_TABLE_RECORD",a[a.DWG_TYPE_GROUP=72]="DWG_TYPE_GROUP",a[a.DWG_TYPE_MLINESTYLE=73]="DWG_TYPE_MLINESTYLE",a[a.DWG_TYPE_OLE2FRAME=74]="DWG_TYPE_OLE2FRAME",a[a.DWG_TYPE_DUMMY=75]="DWG_TYPE_DUMMY",a[a.DWG_TYPE_LONG_TRANSACTION=76]="DWG_TYPE_LONG_TRANSACTION",a[a.DWG_TYPE_LWPOLYLINE=77]="DWG_TYPE_LWPOLYLINE",a[a.DWG_TYPE_HATCH=78]="DWG_TYPE_HATCH",a[a.DWG_TYPE_XRECORD=79]="DWG_TYPE_XRECORD",a[a.DWG_TYPE_PLACEHOLDER=80]="DWG_TYPE_PLACEHOLDER",a[a.DWG_TYPE_VBA_PROJECT=81]="DWG_TYPE_VBA_PROJECT",a[a.DWG_TYPE_LAYOUT=82]="DWG_TYPE_LAYOUT",a[a.DWG_TYPE_PROXY_ENTITY=498]="DWG_TYPE_PROXY_ENTITY",a[a.DWG_TYPE_PROXY_OBJECT=499]="DWG_TYPE_PROXY_OBJECT",a[a.DWG_TYPE_ACDSRECORD=500]="DWG_TYPE_ACDSRECORD",a[a.DWG_TYPE_ACDSSCHEMA=501]="DWG_TYPE_ACDSSCHEMA",a[a.DWG_TYPE_ACMECOMMANDHISTORY=502]="DWG_TYPE_ACMECOMMANDHISTORY",a[a.DWG_TYPE_ACMESCOPE=503]="DWG_TYPE_ACMESCOPE",a[a.DWG_TYPE_ACMESTATEMGR=504]="DWG_TYPE_ACMESTATEMGR",a[a.DWG_TYPE_ACSH_BOOLEAN_CLASS=505]="DWG_TYPE_ACSH_BOOLEAN_CLASS",a[a.DWG_TYPE_ACSH_BOX_CLASS=506]="DWG_TYPE_ACSH_BOX_CLASS",a[a.DWG_TYPE_ACSH_BREP_CLASS=507]="DWG_TYPE_ACSH_BREP_CLASS",a[a.DWG_TYPE_ACSH_CHAMFER_CLASS=508]="DWG_TYPE_ACSH_CHAMFER_CLASS",a[a.DWG_TYPE_ACSH_CONE_CLASS=509]="DWG_TYPE_ACSH_CONE_CLASS",a[a.DWG_TYPE_ACSH_CYLINDER_CLASS=510]="DWG_TYPE_ACSH_CYLINDER_CLASS",a[a.DWG_TYPE_ACSH_EXTRUSION_CLASS=511]="DWG_TYPE_ACSH_EXTRUSION_CLASS",a[a.DWG_TYPE_ACSH_FILLET_CLASS=512]="DWG_TYPE_ACSH_FILLET_CLASS",a[a.DWG_TYPE_ACSH_HISTORY_CLASS=513]="DWG_TYPE_ACSH_HISTORY_CLASS",a[a.DWG_TYPE_ACSH_LOFT_CLASS=514]="DWG_TYPE_ACSH_LOFT_CLASS",a[a.DWG_TYPE_ACSH_PYRAMID_CLASS=515]="DWG_TYPE_ACSH_PYRAMID_CLASS",a[a.DWG_TYPE_ACSH_REVOLVE_CLASS=516]="DWG_TYPE_ACSH_REVOLVE_CLASS",a[a.DWG_TYPE_ACSH_SPHERE_CLASS=517]="DWG_TYPE_ACSH_SPHERE_CLASS",a[a.DWG_TYPE_ACSH_SWEEP_CLASS=518]="DWG_TYPE_ACSH_SWEEP_CLASS",a[a.DWG_TYPE_ACSH_TORUS_CLASS=519]="DWG_TYPE_ACSH_TORUS_CLASS",a[a.DWG_TYPE_ACSH_WEDGE_CLASS=520]="DWG_TYPE_ACSH_WEDGE_CLASS",a[a.DWG_TYPE_ALDIMOBJECTCONTEXTDATA=521]="DWG_TYPE_ALDIMOBJECTCONTEXTDATA",a[a.DWG_TYPE_ALIGNMENTPARAMETERENTITY=522]="DWG_TYPE_ALIGNMENTPARAMETERENTITY",a[a.DWG_TYPE_ANGDIMOBJECTCONTEXTDATA=523]="DWG_TYPE_ANGDIMOBJECTCONTEXTDATA",a[a.DWG_TYPE_ANNOTSCALEOBJECTCONTEXTDATA=524]="DWG_TYPE_ANNOTSCALEOBJECTCONTEXTDATA",a[a.DWG_TYPE_ARCALIGNEDTEXT=525]="DWG_TYPE_ARCALIGNEDTEXT",a[a.DWG_TYPE_ARC_DIMENSION=526]="DWG_TYPE_ARC_DIMENSION",a[a.DWG_TYPE_ASSOC2DCONSTRAINTGROUP=527]="DWG_TYPE_ASSOC2DCONSTRAINTGROUP",a[a.DWG_TYPE_ASSOC3POINTANGULARDIMACTIONBODY=528]="DWG_TYPE_ASSOC3POINTANGULARDIMACTIONBODY",a[a.DWG_TYPE_ASSOCACTION=529]="DWG_TYPE_ASSOCACTION",a[a.DWG_TYPE_ASSOCACTIONPARAM=530]="DWG_TYPE_ASSOCACTIONPARAM",a[a.DWG_TYPE_ASSOCALIGNEDDIMACTIONBODY=531]="DWG_TYPE_ASSOCALIGNEDDIMACTIONBODY",a[a.DWG_TYPE_ASSOCARRAYACTIONBODY=532]="DWG_TYPE_ASSOCARRAYACTIONBODY",a[a.DWG_TYPE_ASSOCARRAYMODIFYACTIONBODY=533]="DWG_TYPE_ASSOCARRAYMODIFYACTIONBODY",a[a.DWG_TYPE_ASSOCARRAYMODIFYPARAMETERS=534]="DWG_TYPE_ASSOCARRAYMODIFYPARAMETERS",a[a.DWG_TYPE_ASSOCARRAYPATHPARAMETERS=535]="DWG_TYPE_ASSOCARRAYPATHPARAMETERS",a[a.DWG_TYPE_ASSOCARRAYPOLARPARAMETERS=536]="DWG_TYPE_ASSOCARRAYPOLARPARAMETERS",a[a.DWG_TYPE_ASSOCARRAYRECTANGULARPARAMETERS=537]="DWG_TYPE_ASSOCARRAYRECTANGULARPARAMETERS",a[a.DWG_TYPE_ASSOCASMBODYACTIONPARAM=538]="DWG_TYPE_ASSOCASMBODYACTIONPARAM",a[a.DWG_TYPE_ASSOCBLENDSURFACEACTIONBODY=539]="DWG_TYPE_ASSOCBLENDSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCCOMPOUNDACTIONPARAM=540]="DWG_TYPE_ASSOCCOMPOUNDACTIONPARAM",a[a.DWG_TYPE_ASSOCDEPENDENCY=541]="DWG_TYPE_ASSOCDEPENDENCY",a[a.DWG_TYPE_ASSOCDIMDEPENDENCYBODY=542]="DWG_TYPE_ASSOCDIMDEPENDENCYBODY",a[a.DWG_TYPE_ASSOCEDGEACTIONPARAM=543]="DWG_TYPE_ASSOCEDGEACTIONPARAM",a[a.DWG_TYPE_ASSOCEDGECHAMFERACTIONBODY=544]="DWG_TYPE_ASSOCEDGECHAMFERACTIONBODY",a[a.DWG_TYPE_ASSOCEDGEFILLETACTIONBODY=545]="DWG_TYPE_ASSOCEDGEFILLETACTIONBODY",a[a.DWG_TYPE_ASSOCEXTENDSURFACEACTIONBODY=546]="DWG_TYPE_ASSOCEXTENDSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCEXTRUDEDSURFACEACTIONBODY=547]="DWG_TYPE_ASSOCEXTRUDEDSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCFACEACTIONPARAM=548]="DWG_TYPE_ASSOCFACEACTIONPARAM",a[a.DWG_TYPE_ASSOCFILLETSURFACEACTIONBODY=549]="DWG_TYPE_ASSOCFILLETSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCGEOMDEPENDENCY=550]="DWG_TYPE_ASSOCGEOMDEPENDENCY",a[a.DWG_TYPE_ASSOCLOFTEDSURFACEACTIONBODY=551]="DWG_TYPE_ASSOCLOFTEDSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCMLEADERACTIONBODY=552]="DWG_TYPE_ASSOCMLEADERACTIONBODY",a[a.DWG_TYPE_ASSOCNETWORK=553]="DWG_TYPE_ASSOCNETWORK",a[a.DWG_TYPE_ASSOCNETWORKSURFACEACTIONBODY=554]="DWG_TYPE_ASSOCNETWORKSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCOBJECTACTIONPARAM=555]="DWG_TYPE_ASSOCOBJECTACTIONPARAM",a[a.DWG_TYPE_ASSOCOFFSETSURFACEACTIONBODY=556]="DWG_TYPE_ASSOCOFFSETSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCORDINATEDIMACTIONBODY=557]="DWG_TYPE_ASSOCORDINATEDIMACTIONBODY",a[a.DWG_TYPE_ASSOCOSNAPPOINTREFACTIONPARAM=558]="DWG_TYPE_ASSOCOSNAPPOINTREFACTIONPARAM",a[a.DWG_TYPE_ASSOCPATCHSURFACEACTIONBODY=559]="DWG_TYPE_ASSOCPATCHSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCPATHACTIONPARAM=560]="DWG_TYPE_ASSOCPATHACTIONPARAM",a[a.DWG_TYPE_ASSOCPERSSUBENTMANAGER=561]="DWG_TYPE_ASSOCPERSSUBENTMANAGER",a[a.DWG_TYPE_ASSOCPLANESURFACEACTIONBODY=562]="DWG_TYPE_ASSOCPLANESURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCPOINTREFACTIONPARAM=563]="DWG_TYPE_ASSOCPOINTREFACTIONPARAM",a[a.DWG_TYPE_ASSOCRESTOREENTITYSTATEACTIONBODY=564]="DWG_TYPE_ASSOCRESTOREENTITYSTATEACTIONBODY",a[a.DWG_TYPE_ASSOCREVOLVEDSURFACEACTIONBODY=565]="DWG_TYPE_ASSOCREVOLVEDSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCROTATEDDIMACTIONBODY=566]="DWG_TYPE_ASSOCROTATEDDIMACTIONBODY",a[a.DWG_TYPE_ASSOCSWEPTSURFACEACTIONBODY=567]="DWG_TYPE_ASSOCSWEPTSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCTRIMSURFACEACTIONBODY=568]="DWG_TYPE_ASSOCTRIMSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCVALUEDEPENDENCY=569]="DWG_TYPE_ASSOCVALUEDEPENDENCY",a[a.DWG_TYPE_ASSOCVARIABLE=570]="DWG_TYPE_ASSOCVARIABLE",a[a.DWG_TYPE_ASSOCVERTEXACTIONPARAM=571]="DWG_TYPE_ASSOCVERTEXACTIONPARAM",a[a.DWG_TYPE_BASEPOINTPARAMETERENTITY=572]="DWG_TYPE_BASEPOINTPARAMETERENTITY",a[a.DWG_TYPE_BLKREFOBJECTCONTEXTDATA=573]="DWG_TYPE_BLKREFOBJECTCONTEXTDATA",a[a.DWG_TYPE_BLOCKALIGNEDCONSTRAINTPARAMETER=574]="DWG_TYPE_BLOCKALIGNEDCONSTRAINTPARAMETER",a[a.DWG_TYPE_BLOCKALIGNMENTGRIP=575]="DWG_TYPE_BLOCKALIGNMENTGRIP",a[a.DWG_TYPE_BLOCKALIGNMENTPARAMETER=576]="DWG_TYPE_BLOCKALIGNMENTPARAMETER",a[a.DWG_TYPE_BLOCKANGULARCONSTRAINTPARAMETER=577]="DWG_TYPE_BLOCKANGULARCONSTRAINTPARAMETER",a[a.DWG_TYPE_BLOCKARRAYACTION=578]="DWG_TYPE_BLOCKARRAYACTION",a[a.DWG_TYPE_BLOCKBASEPOINTPARAMETER=579]="DWG_TYPE_BLOCKBASEPOINTPARAMETER",a[a.DWG_TYPE_BLOCKDIAMETRICCONSTRAINTPARAMETER=580]="DWG_TYPE_BLOCKDIAMETRICCONSTRAINTPARAMETER",a[a.DWG_TYPE_BLOCKFLIPACTION=581]="DWG_TYPE_BLOCKFLIPACTION",a[a.DWG_TYPE_BLOCKFLIPGRIP=582]="DWG_TYPE_BLOCKFLIPGRIP",a[a.DWG_TYPE_BLOCKFLIPPARAMETER=583]="DWG_TYPE_BLOCKFLIPPARAMETER",a[a.DWG_TYPE_BLOCKGRIPLOCATIONCOMPONENT=584]="DWG_TYPE_BLOCKGRIPLOCATIONCOMPONENT",a[a.DWG_TYPE_BLOCKHORIZONTALCONSTRAINTPARAMETER=585]="DWG_TYPE_BLOCKHORIZONTALCONSTRAINTPARAMETER",a[a.DWG_TYPE_BLOCKLINEARCONSTRAINTPARAMETER=586]="DWG_TYPE_BLOCKLINEARCONSTRAINTPARAMETER",a[a.DWG_TYPE_BLOCKLINEARGRIP=587]="DWG_TYPE_BLOCKLINEARGRIP",a[a.DWG_TYPE_BLOCKLINEARPARAMETER=588]="DWG_TYPE_BLOCKLINEARPARAMETER",a[a.DWG_TYPE_BLOCKLOOKUPACTION=589]="DWG_TYPE_BLOCKLOOKUPACTION",a[a.DWG_TYPE_BLOCKLOOKUPGRIP=590]="DWG_TYPE_BLOCKLOOKUPGRIP",a[a.DWG_TYPE_BLOCKLOOKUPPARAMETER=591]="DWG_TYPE_BLOCKLOOKUPPARAMETER",a[a.DWG_TYPE_BLOCKMOVEACTION=592]="DWG_TYPE_BLOCKMOVEACTION",a[a.DWG_TYPE_BLOCKPARAMDEPENDENCYBODY=593]="DWG_TYPE_BLOCKPARAMDEPENDENCYBODY",a[a.DWG_TYPE_BLOCKPOINTPARAMETER=594]="DWG_TYPE_BLOCKPOINTPARAMETER",a[a.DWG_TYPE_BLOCKPOLARGRIP=595]="DWG_TYPE_BLOCKPOLARGRIP",a[a.DWG_TYPE_BLOCKPOLARPARAMETER=596]="DWG_TYPE_BLOCKPOLARPARAMETER",a[a.DWG_TYPE_BLOCKPOLARSTRETCHACTION=597]="DWG_TYPE_BLOCKPOLARSTRETCHACTION",a[a.DWG_TYPE_BLOCKPROPERTIESTABLE=598]="DWG_TYPE_BLOCKPROPERTIESTABLE",a[a.DWG_TYPE_BLOCKPROPERTIESTABLEGRIP=599]="DWG_TYPE_BLOCKPROPERTIESTABLEGRIP",a[a.DWG_TYPE_BLOCKRADIALCONSTRAINTPARAMETER=600]="DWG_TYPE_BLOCKRADIALCONSTRAINTPARAMETER",a[a.DWG_TYPE_BLOCKREPRESENTATION=601]="DWG_TYPE_BLOCKREPRESENTATION",a[a.DWG_TYPE_BLOCKROTATEACTION=602]="DWG_TYPE_BLOCKROTATEACTION",a[a.DWG_TYPE_BLOCKROTATIONGRIP=603]="DWG_TYPE_BLOCKROTATIONGRIP",a[a.DWG_TYPE_BLOCKROTATIONPARAMETER=604]="DWG_TYPE_BLOCKROTATIONPARAMETER",a[a.DWG_TYPE_BLOCKSCALEACTION=605]="DWG_TYPE_BLOCKSCALEACTION",a[a.DWG_TYPE_BLOCKSTRETCHACTION=606]="DWG_TYPE_BLOCKSTRETCHACTION",a[a.DWG_TYPE_BLOCKUSERPARAMETER=607]="DWG_TYPE_BLOCKUSERPARAMETER",a[a.DWG_TYPE_BLOCKVERTICALCONSTRAINTPARAMETER=608]="DWG_TYPE_BLOCKVERTICALCONSTRAINTPARAMETER",a[a.DWG_TYPE_BLOCKVISIBILITYGRIP=609]="DWG_TYPE_BLOCKVISIBILITYGRIP",a[a.DWG_TYPE_BLOCKVISIBILITYPARAMETER=610]="DWG_TYPE_BLOCKVISIBILITYPARAMETER",a[a.DWG_TYPE_BLOCKXYGRIP=611]="DWG_TYPE_BLOCKXYGRIP",a[a.DWG_TYPE_BLOCKXYPARAMETER=612]="DWG_TYPE_BLOCKXYPARAMETER",a[a.DWG_TYPE_CAMERA=613]="DWG_TYPE_CAMERA",a[a.DWG_TYPE_CELLSTYLEMAP=614]="DWG_TYPE_CELLSTYLEMAP",a[a.DWG_TYPE_CONTEXTDATAMANAGER=615]="DWG_TYPE_CONTEXTDATAMANAGER",a[a.DWG_TYPE_CSACDOCUMENTOPTIONS=616]="DWG_TYPE_CSACDOCUMENTOPTIONS",a[a.DWG_TYPE_CURVEPATH=617]="DWG_TYPE_CURVEPATH",a[a.DWG_TYPE_DATALINK=618]="DWG_TYPE_DATALINK",a[a.DWG_TYPE_DATATABLE=619]="DWG_TYPE_DATATABLE",a[a.DWG_TYPE_DBCOLOR=620]="DWG_TYPE_DBCOLOR",a[a.DWG_TYPE_DETAILVIEWSTYLE=621]="DWG_TYPE_DETAILVIEWSTYLE",a[a.DWG_TYPE_DGNDEFINITION=622]="DWG_TYPE_DGNDEFINITION",a[a.DWG_TYPE_DGNUNDERLAY=623]="DWG_TYPE_DGNUNDERLAY",a[a.DWG_TYPE_DICTIONARYVAR=624]="DWG_TYPE_DICTIONARYVAR",a[a.DWG_TYPE_DICTIONARYWDFLT=625]="DWG_TYPE_DICTIONARYWDFLT",a[a.DWG_TYPE_DIMASSOC=626]="DWG_TYPE_DIMASSOC",a[a.DWG_TYPE_DMDIMOBJECTCONTEXTDATA=627]="DWG_TYPE_DMDIMOBJECTCONTEXTDATA",a[a.DWG_TYPE_DWFDEFINITION=628]="DWG_TYPE_DWFDEFINITION",a[a.DWG_TYPE_DWFUNDERLAY=629]="DWG_TYPE_DWFUNDERLAY",a[a.DWG_TYPE_DYNAMICBLOCKPROXYNODE=630]="DWG_TYPE_DYNAMICBLOCKPROXYNODE",a[a.DWG_TYPE_DYNAMICBLOCKPURGEPREVENTER=631]="DWG_TYPE_DYNAMICBLOCKPURGEPREVENTER",a[a.DWG_TYPE_EVALUATION_GRAPH=632]="DWG_TYPE_EVALUATION_GRAPH",a[a.DWG_TYPE_EXTRUDEDSURFACE=633]="DWG_TYPE_EXTRUDEDSURFACE",a[a.DWG_TYPE_FCFOBJECTCONTEXTDATA=634]="DWG_TYPE_FCFOBJECTCONTEXTDATA",a[a.DWG_TYPE_FIELD=635]="DWG_TYPE_FIELD",a[a.DWG_TYPE_FIELDLIST=636]="DWG_TYPE_FIELDLIST",a[a.DWG_TYPE_FLIPPARAMETERENTITY=637]="DWG_TYPE_FLIPPARAMETERENTITY",a[a.DWG_TYPE_FLIPACTIONENTITY=638]="DWG_TYPE_FLIPACTIONENTITY",a[a.DWG_TYPE_GEODATA=639]="DWG_TYPE_GEODATA",a[a.DWG_TYPE_GEOMAPIMAGE=640]="DWG_TYPE_GEOMAPIMAGE",a[a.DWG_TYPE_GEOPOSITIONMARKER=641]="DWG_TYPE_GEOPOSITIONMARKER",a[a.DWG_TYPE_GRADIENT_BACKGROUND=642]="DWG_TYPE_GRADIENT_BACKGROUND",a[a.DWG_TYPE_GROUND_PLANE_BACKGROUND=643]="DWG_TYPE_GROUND_PLANE_BACKGROUND",a[a.DWG_TYPE_HELIX=644]="DWG_TYPE_HELIX",a[a.DWG_TYPE_IBL_BACKGROUND=645]="DWG_TYPE_IBL_BACKGROUND",a[a.DWG_TYPE_IDBUFFER=646]="DWG_TYPE_IDBUFFER",a[a.DWG_TYPE_IMAGE=647]="DWG_TYPE_IMAGE",a[a.DWG_TYPE_IMAGEDEF=648]="DWG_TYPE_IMAGEDEF",a[a.DWG_TYPE_IMAGEDEF_REACTOR=649]="DWG_TYPE_IMAGEDEF_REACTOR",a[a.DWG_TYPE_IMAGE_BACKGROUND=650]="DWG_TYPE_IMAGE_BACKGROUND",a[a.DWG_TYPE_INDEX=651]="DWG_TYPE_INDEX",a[a.DWG_TYPE_LARGE_RADIAL_DIMENSION=652]="DWG_TYPE_LARGE_RADIAL_DIMENSION",a[a.DWG_TYPE_LAYERFILTER=653]="DWG_TYPE_LAYERFILTER",a[a.DWG_TYPE_LAYER_INDEX=654]="DWG_TYPE_LAYER_INDEX",a[a.DWG_TYPE_LAYOUTPRINTCONFIG=655]="DWG_TYPE_LAYOUTPRINTCONFIG",a[a.DWG_TYPE_LEADEROBJECTCONTEXTDATA=656]="DWG_TYPE_LEADEROBJECTCONTEXTDATA",a[a.DWG_TYPE_LIGHT=657]="DWG_TYPE_LIGHT",a[a.DWG_TYPE_LIGHTLIST=658]="DWG_TYPE_LIGHTLIST",a[a.DWG_TYPE_LINEARPARAMETERENTITY=659]="DWG_TYPE_LINEARPARAMETERENTITY",a[a.DWG_TYPE_LOFTEDSURFACE=660]="DWG_TYPE_LOFTEDSURFACE",a[a.DWG_TYPE_MATERIAL=661]="DWG_TYPE_MATERIAL",a[a.DWG_TYPE_MENTALRAYRENDERSETTINGS=662]="DWG_TYPE_MENTALRAYRENDERSETTINGS",a[a.DWG_TYPE_MESH=663]="DWG_TYPE_MESH",a[a.DWG_TYPE_MLEADEROBJECTCONTEXTDATA=664]="DWG_TYPE_MLEADEROBJECTCONTEXTDATA",a[a.DWG_TYPE_MLEADERSTYLE=665]="DWG_TYPE_MLEADERSTYLE",a[a.DWG_TYPE_MOVEACTIONENTITY=666]="DWG_TYPE_MOVEACTIONENTITY",a[a.DWG_TYPE_MOTIONPATH=667]="DWG_TYPE_MOTIONPATH",a[a.DWG_TYPE_MPOLYGON=668]="DWG_TYPE_MPOLYGON",a[a.DWG_TYPE_MTEXTATTRIBUTEOBJECTCONTEXTDATA=669]="DWG_TYPE_MTEXTATTRIBUTEOBJECTCONTEXTDATA",a[a.DWG_TYPE_MTEXTOBJECTCONTEXTDATA=670]="DWG_TYPE_MTEXTOBJECTCONTEXTDATA",a[a.DWG_TYPE_MULTILEADER=671]="DWG_TYPE_MULTILEADER",a[a.DWG_TYPE_NAVISWORKSMODEL=672]="DWG_TYPE_NAVISWORKSMODEL",a[a.DWG_TYPE_NAVISWORKSMODELDEF=673]="DWG_TYPE_NAVISWORKSMODELDEF",a[a.DWG_TYPE_NPOCOLLECTION=674]="DWG_TYPE_NPOCOLLECTION",a[a.DWG_TYPE_NURBSURFACE=675]="DWG_TYPE_NURBSURFACE",a[a.DWG_TYPE_OBJECT_PTR=676]="DWG_TYPE_OBJECT_PTR",a[a.DWG_TYPE_ORDDIMOBJECTCONTEXTDATA=677]="DWG_TYPE_ORDDIMOBJECTCONTEXTDATA",a[a.DWG_TYPE_PARTIAL_VIEWING_INDEX=678]="DWG_TYPE_PARTIAL_VIEWING_INDEX",a[a.DWG_TYPE_PDFDEFINITION=679]="DWG_TYPE_PDFDEFINITION",a[a.DWG_TYPE_PDFUNDERLAY=680]="DWG_TYPE_PDFUNDERLAY",a[a.DWG_TYPE_PERSUBENTMGR=681]="DWG_TYPE_PERSUBENTMGR",a[a.DWG_TYPE_PLANESURFACE=682]="DWG_TYPE_PLANESURFACE",a[a.DWG_TYPE_PLOTSETTINGS=683]="DWG_TYPE_PLOTSETTINGS",a[a.DWG_TYPE_POINTCLOUD=684]="DWG_TYPE_POINTCLOUD",a[a.DWG_TYPE_POINTCLOUDCOLORMAP=685]="DWG_TYPE_POINTCLOUDCOLORMAP",a[a.DWG_TYPE_POINTCLOUDDEF=686]="DWG_TYPE_POINTCLOUDDEF",a[a.DWG_TYPE_POINTCLOUDDEFEX=687]="DWG_TYPE_POINTCLOUDDEFEX",a[a.DWG_TYPE_POINTCLOUDDEF_REACTOR=688]="DWG_TYPE_POINTCLOUDDEF_REACTOR",a[a.DWG_TYPE_POINTCLOUDDEF_REACTOR_EX=689]="DWG_TYPE_POINTCLOUDDEF_REACTOR_EX",a[a.DWG_TYPE_POINTCLOUDEX=690]="DWG_TYPE_POINTCLOUDEX",a[a.DWG_TYPE_POINTPARAMETERENTITY=691]="DWG_TYPE_POINTPARAMETERENTITY",a[a.DWG_TYPE_POINTPATH=692]="DWG_TYPE_POINTPATH",a[a.DWG_TYPE_POLARGRIPENTITY=693]="DWG_TYPE_POLARGRIPENTITY",a[a.DWG_TYPE_RADIMLGOBJECTCONTEXTDATA=694]="DWG_TYPE_RADIMLGOBJECTCONTEXTDATA",a[a.DWG_TYPE_RADIMOBJECTCONTEXTDATA=695]="DWG_TYPE_RADIMOBJECTCONTEXTDATA",a[a.DWG_TYPE_RAPIDRTRENDERSETTINGS=696]="DWG_TYPE_RAPIDRTRENDERSETTINGS",a[a.DWG_TYPE_RASTERVARIABLES=697]="DWG_TYPE_RASTERVARIABLES",a[a.DWG_TYPE_RENDERENTRY=698]="DWG_TYPE_RENDERENTRY",a[a.DWG_TYPE_RENDERENVIRONMENT=699]="DWG_TYPE_RENDERENVIRONMENT",a[a.DWG_TYPE_RENDERGLOBAL=700]="DWG_TYPE_RENDERGLOBAL",a[a.DWG_TYPE_RENDERSETTINGS=701]="DWG_TYPE_RENDERSETTINGS",a[a.DWG_TYPE_REVOLVEDSURFACE=702]="DWG_TYPE_REVOLVEDSURFACE",a[a.DWG_TYPE_ROTATIONPARAMETERENTITY=703]="DWG_TYPE_ROTATIONPARAMETERENTITY",a[a.DWG_TYPE_ROTATEACTIONENTITY=704]="DWG_TYPE_ROTATEACTIONENTITY",a[a.DWG_TYPE_RTEXT=705]="DWG_TYPE_RTEXT",a[a.DWG_TYPE_SCALE=706]="DWG_TYPE_SCALE",a[a.DWG_TYPE_SCALEACTIONENTITY=707]="DWG_TYPE_SCALEACTIONENTITY",a[a.DWG_TYPE_SECTIONOBJECT=708]="DWG_TYPE_SECTIONOBJECT",a[a.DWG_TYPE_SECTIONVIEWSTYLE=709]="DWG_TYPE_SECTIONVIEWSTYLE",a[a.DWG_TYPE_SECTION_MANAGER=710]="DWG_TYPE_SECTION_MANAGER",a[a.DWG_TYPE_SECTION_SETTINGS=711]="DWG_TYPE_SECTION_SETTINGS",a[a.DWG_TYPE_SKYLIGHT_BACKGROUND=712]="DWG_TYPE_SKYLIGHT_BACKGROUND",a[a.DWG_TYPE_SOLID_BACKGROUND=713]="DWG_TYPE_SOLID_BACKGROUND",a[a.DWG_TYPE_SORTENTSTABLE=714]="DWG_TYPE_SORTENTSTABLE",a[a.DWG_TYPE_SPATIAL_FILTER=715]="DWG_TYPE_SPATIAL_FILTER",a[a.DWG_TYPE_SPATIAL_INDEX=716]="DWG_TYPE_SPATIAL_INDEX",a[a.DWG_TYPE_STRETCHACTIONENTITY=717]="DWG_TYPE_STRETCHACTIONENTITY",a[a.DWG_TYPE_SUN=718]="DWG_TYPE_SUN",a[a.DWG_TYPE_SUNSTUDY=719]="DWG_TYPE_SUNSTUDY",a[a.DWG_TYPE_SWEPTSURFACE=720]="DWG_TYPE_SWEPTSURFACE",a[a.DWG_TYPE_TABLE=721]="DWG_TYPE_TABLE",a[a.DWG_TYPE_TABLECONTENT=722]="DWG_TYPE_TABLECONTENT",a[a.DWG_TYPE_TABLEGEOMETRY=723]="DWG_TYPE_TABLEGEOMETRY",a[a.DWG_TYPE_TABLESTYLE=724]="DWG_TYPE_TABLESTYLE",a[a.DWG_TYPE_TEXTOBJECTCONTEXTDATA=725]="DWG_TYPE_TEXTOBJECTCONTEXTDATA",a[a.DWG_TYPE_TVDEVICEPROPERTIES=726]="DWG_TYPE_TVDEVICEPROPERTIES",a[a.DWG_TYPE_VISIBILITYGRIPENTITY=727]="DWG_TYPE_VISIBILITYGRIPENTITY",a[a.DWG_TYPE_VISIBILITYPARAMETERENTITY=728]="DWG_TYPE_VISIBILITYPARAMETERENTITY",a[a.DWG_TYPE_VISUALSTYLE=729]="DWG_TYPE_VISUALSTYLE",a[a.DWG_TYPE_WIPEOUT=730]="DWG_TYPE_WIPEOUT",a[a.DWG_TYPE_WIPEOUTVARIABLES=731]="DWG_TYPE_WIPEOUTVARIABLES",a[a.DWG_TYPE_XREFPANELOBJECT=732]="DWG_TYPE_XREFPANELOBJECT",a[a.DWG_TYPE_XYPARAMETERENTITY=733]="DWG_TYPE_XYPARAMETERENTITY",a[a.DWG_TYPE_BREAKDATA=734]="DWG_TYPE_BREAKDATA",a[a.DWG_TYPE_BREAKPOINTREF=735]="DWG_TYPE_BREAKPOINTREF",a[a.DWG_TYPE_FLIPGRIPENTITY=736]="DWG_TYPE_FLIPGRIPENTITY",a[a.DWG_TYPE_LINEARGRIPENTITY=737]="DWG_TYPE_LINEARGRIPENTITY",a[a.DWG_TYPE_ROTATIONGRIPENTITY=738]="DWG_TYPE_ROTATIONGRIPENTITY",a[a.DWG_TYPE_XYGRIPENTITY=739]="DWG_TYPE_XYGRIPENTITY",a[a.DWG_TYPE__3DLINE=740]="DWG_TYPE__3DLINE",a[a.DWG_TYPE_REPEAT=741]="DWG_TYPE_REPEAT",a[a.DWG_TYPE_ENDREP=742]="DWG_TYPE_ENDREP",a[a.DWG_TYPE_JUMP=743]="DWG_TYPE_JUMP",a[a.DWG_TYPE_LOAD=744]="DWG_TYPE_LOAD",a[a.DWG_TYPE_FREED=65533]="DWG_TYPE_FREED",a[a.DWG_TYPE_UNKNOWN_ENT=65534]="DWG_TYPE_UNKNOWN_ENT",a[a.DWG_TYPE_UNKNOWN_OBJ=65535]="DWG_TYPE_UNKNOWN_OBJ",a))(L||{});Object.fromEntries(Object.entries(L).map(([a,t])=>[t,a]));var Lt=(a=>(a[a.DWG=0]="DWG",a[a.DXF=1]="DXF",a))(Lt||{}),Xe=(a=>(a[a.Line=1]="Line",a[a.CircularArc=2]="CircularArc",a[a.EllipticArc=3]="EllipticArc",a[a.Spline=4]="Spline",a))(Xe||{}),vt=(a=>(a[a.ByLayer=192]="ByLayer",a[a.ByBlock=193]="ByBlock",a[a.Entities=194]="Entities",a[a.TrueColor=195]="TrueColor",a[a.ForegroundColor=197]="ForegroundColor",a[a.None=200]="None",a))(vt||{});const ir=192,sr=193,Ro=194,wn=195,_r=200;function fr(a){if(a==null)return;const t=a.method,i=a.method!=null&&t!==0?t:a.rgb>>>24&255,n=a.index;if(a.rgb!=null&&i>=ir&&i<=_r&&(a.rgb>>>24&255)===i)return a.rgb>>0;if(i===vt.ByLayer||n===256)return ir<<24>>0;if(i===vt.ByBlock||n===0)return sr<<24>>0;if(i===vt.None)return _r<<24>>0;if(i===vt.TrueColor){const d=a.rgb!=null?a.rgb&16777215:void 0;if(d!=null)return(Ro<<24|d)>>0}return i===vt.ForegroundColor?(wn<<24|7)>>0:i===vt.Entities&&n>0&&n<256||n>0&&n<256?(wn<<24|n&255)>>0:sr<<24>>0}function So(a){if(a==null)return;const t=a.method,i=a.method!=null&&t!==0?t:a.rgb>>>24&255,n=a.index;if(!(i===vt.ByLayer||i===vt.ByBlock||i===vt.None||n===256)){if(i===vt.ForegroundColor)return 7;if(i===vt.TrueColor)return a.rgb==null?void 0:a.rgb&16777215;if(n>=1&&n<=255)return n;if(n!==0&&a.rgb!=null){const d=a.rgb&16777215;if(d!==0)return d}}}const Lo="*MODEL_SPACE",Yo="*PAPER_SPACE",Gn=a=>a&&a.toUpperCase()==Lo,No=a=>a&&a.toUpperCase().startsWith(Yo),Tt=a=>a.toString(16).toUpperCase(),Ke=a=>{const t=new Array(a.length);for(let i=0;i<a.length;i++)t[i]=a[i].toString(16).toUpperCase().padStart(2,"0");return t.join("")},Go=a=>{if(!a||a.length<98)return null;const t=new DataView(a.buffer,a.byteOffset,a.byteLength),i=_=>({x:t.getFloat64(_,!0),y:t.getFloat64(_+8,!0),z:t.getFloat64(_+16,!0)}),n=i(2),d=i(50);return[n.x,n.y,n.z,d.x,d.y,d.z].every(Number.isFinite)?{upperLeft:n,lowerRight:d}:null};class Wo{constructor(t){nt(this,"libredwg"),nt(this,"layers",new Map),nt(this,"ltypes",new Map),nt(this,"classes",[]),nt(this,"unknownEntityCount"),this.libredwg=t,this.unknownEntityCount=0}prepare(t,i=!1){(i||this.layers.size==0)&&(this.layers.clear(),t.tables.LAYER.entries.forEach(n=>{this.layers.set(n.handle,n.name)})),(i||this.ltypes.size==0)&&(this.ltypes.clear(),t.tables.LTYPE.entries.forEach(n=>{this.ltypes.set(n.handle,n.name)})),this.classes=t.classes,this.unknownEntityCount=0}setClasses(t){this.classes=t}clear(){this.layers.clear(),this.ltypes.clear(),this.classes=[],this.unknownEntityCount=0}convert(t){const i=this.libredwg,n=i.dwg_object_to_entity(t),d=i.dwg_object_to_entity_tio(t);if(n&&d){const _=this.getCommonAttrs(n),u=i.dwg_object_get_fixedtype(t);if(u==L.DWG_TYPE_3DFACE)return this.convert3dFace(d,_);if(u==L.DWG_TYPE_3DSOLID)return this.convert3dSolid(d,_);if(u==L.DWG_TYPE_ARC)return this.convertArc(d,_);if(u==L.DWG_TYPE_ARCALIGNEDTEXT)return this.convertArcAlignedText(d,_);if(u==L.DWG_TYPE_ATTDEF)return this.convertAttdef(d,_);if(u==L.DWG_TYPE_CIRCLE)return this.convertCircle(d,_);if(u==L.DWG_TYPE_DIMENSION_ALIGNED||u==L.DWG_TYPE_DIMENSION_LINEAR)return this.convertAlignedDimension(d,_);if(u==L.DWG_TYPE_DIMENSION_ANG3PT)return this.convert3PointAngularDimension(d,_);if(u==L.DWG_TYPE_DIMENSION_ANG2LN)return this.convert2LineAngularDimension(d,_);if(u==L.DWG_TYPE_DIMENSION_DIAMETER)return this.convertDiameterDimension(d,_);if(u==L.DWG_TYPE_DIMENSION_ORDINATE)return this.convertOrdinateDimension(d,_);if(u==L.DWG_TYPE_DIMENSION_RADIUS)return this.convertRadiusDimension(d,_);if(u==L.DWG_TYPE_ELLIPSE)return this.convertEllise(d,_);if(u==L.DWG_TYPE_HATCH)return this.convertHatch(d,_);if(u==L.DWG_TYPE_IMAGE)return this.convertImage(d,_);if(u==L.DWG_TYPE_INSERT)return this.convertInsert(d,_);if(u==L.DWG_TYPE_LEADER)return this.convertLeader(d,_);if(u==L.DWG_TYPE_LINE)return this.convertLine(d,_);if(u==L.DWG_TYPE_LWPOLYLINE)return this.convertLWPolyline(d,_);if(u==L.DWG_TYPE_MLINE)return this.convertMLine(d,_);if(u==L.DWG_TYPE_MULTILEADER)return this.convertMultiLeader(d,_);if(u==L.DWG_TYPE_MTEXT)return this.convertMText(d,_);if(u==L.DWG_TYPE_OLE2FRAME)return this.convertOle2Frame(d,_);if(u==L.DWG_TYPE_OLEFRAME)return this.convertOleFrame(d,_);if(u==L.DWG_TYPE_POINT)return this.convertPoint(d,_);if(u==L.DWG_TYPE_POLYLINE_2D)return this.convertPolyline2d(d,_,t);if(u==L.DWG_TYPE_POLYLINE_3D)return this.convertPolyline3d(d,_,t);if(u==L.DWG_TYPE_PROXY_ENTITY)return this.convertProxyEntity(d,_,t);if(u==L.DWG_TYPE_RAY)return this.convertRay(d,_);if(u==L.DWG_TYPE_SECTIONOBJECT)return this.convertSection(d,_);if(u==L.DWG_TYPE_SHAPE)return this.convertShape(d,_);if(u==L.DWG_TYPE_SOLID)return this.convertSolid(d,_);if(u==L.DWG_TYPE_TRACE)return this.convertTrace(d,_);if(u==L.DWG_TYPE_SPLINE)return this.convertSpline(d,_);if(u==L.DWG_TYPE_TABLE)return this.convertTable(d,_);if(u==L.DWG_TYPE_TEXT)return this.convertText(d,_);if(u==L.DWG_TYPE_TOLERANCE)return this.convertTolerance(d,_);if(u==L.DWG_TYPE_VIEWPORT)return this.convertViewport(d,_);if(u==L.DWG_TYPE_WIPEOUT)return this.convertWipeout(d,_);if(u==L.DWG_TYPE_XLINE)return this.convertXline(d,_);u===L.DWG_TYPE_UNKNOWN_ENT&&this.unknownEntityCount++}}convert3dFace(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"corner1"),_=n.dwg_dynapi_entity_data(t,"corner2"),u=n.dwg_dynapi_entity_data(t,"corner3"),f=n.dwg_dynapi_entity_data(t,"corner4"),h=n.dwg_dynapi_entity_data(t,"invis_flags");return{type:"3DFACE",...i,corner1:d,corner2:_,corner3:u,corner4:f,flag:h}}convert3dSolid(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"version"),_=n.dwg_dynapi_entity_data(t,"acis_empty"),u=n.dwg_dynapi_entity_data(t,"acis_data"),f=n.dwg_dynapi_entity_data(t,"has_revision_guid"),h=n.dwg_dynapi_entity_data(t,"history_id"),A=n.dwg_ref_get_id(h),y={type:"3DSOLID",subclassMarker:"AcDb3dSolid",...i};if(d&&(y.version=d),y.satCache=_,u&&(y.data=u),f){const v=n.dwg_dynapi_entity_field_offset(t,"revision_guid");if(v>=0){const p=n.UTF8ToString(t+v,38);p&&(y.guid=p)}}return A&&(y.historyObjectSoftId=A),y}convertArc(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"center"),_=n.dwg_dynapi_entity_data(t,"radius"),u=n.dwg_dynapi_entity_data(t,"thickness"),f=n.dwg_dynapi_entity_data(t,"extrusion"),h=n.dwg_dynapi_entity_data(t,"start_angle"),A=n.dwg_dynapi_entity_data(t,"end_angle");return{type:"ARC",...i,thickness:u,center:d,radius:_,startAngle:h,endAngle:A,extrusionDirection:f}}convertArcAlignedText(t,i){const n=this.libredwg,d=(A,y=0)=>{const v=n.dwg_dynapi_entity_data(t,A);if(typeof v=="number"&&Number.isFinite(v))return v;if(typeof v=="string"&&v.trim()!==""){const p=Number(v);if(Number.isFinite(p))return p}return y},_=n.dwg_dynapi_entity_data(t,"center"),u=n.dwg_dynapi_entity_data(t,"extrusion"),f=n.dwg_dynapi_entity_data(t,"arc_handle"),h=d("xscale",1);return{type:"ARCALIGNEDTEXT",...i,text:n.dwg_dynapi_entity_data(t,"text_value")??"",textSize:d("text_size"),xScale:h>0?h:1,characterSpacing:d("char_spacing"),styleName:n.dwg_dynapi_entity_data(t,"style")??"",fontName:n.dwg_dynapi_entity_data(t,"font_name")??"",bigFontName:n.dwg_dynapi_entity_data(t,"bigfont_name")??"",offsetFromArc:d("offset_from_arc"),rightOffset:d("right_offset"),leftOffset:d("left_offset"),center:_??{x:0,y:0,z:0},radius:n.dwg_dynapi_entity_data(t,"radius")??0,startAngle:n.dwg_dynapi_entity_data(t,"start_angle")??0,endAngle:n.dwg_dynapi_entity_data(t,"end_angle")??0,extrusionDirection:u??{x:0,y:0,z:1},rawTextColor:n.dwg_dynapi_entity_data(t,"color")??256,characterSet:n.dwg_dynapi_entity_data(t,"character_set")??0,pitchAndFamily:n.dwg_dynapi_entity_data(t,"pitch_and_family")??0,isShx:(n.dwg_dynapi_entity_data(t,"is_shx")??0)!==0,isBold:(n.dwg_dynapi_entity_data(t,"is_bold")??0)!==0,isItalic:(n.dwg_dynapi_entity_data(t,"is_italic")??0)!==0,isUnderlined:(n.dwg_dynapi_entity_data(t,"is_underlined")??0)!==0,alignment:n.dwg_dynapi_entity_data(t,"alignment")??0,isReverse:(n.dwg_dynapi_entity_data(t,"is_reverse")??0)!==0,wizardFlag:n.dwg_dynapi_entity_data(t,"wizard_flag")??0,textPosition:n.dwg_dynapi_entity_data(t,"text_position")??1,textDirection:n.dwg_dynapi_entity_data(t,"text_direction")??1,arcHandle:f?n.dwg_ref_get_id(f)??"":""}}convertEmbeddedMText(t,i){const n=this.libredwg,d=n.dwg_dynapi_subclass_data(t,i,"attachment"),_=n.dwg_dynapi_subclass_data(t,i,"ins_pt"),u=n.dwg_dynapi_subclass_data(t,i,"x_axis_dir"),f=n.dwg_dynapi_subclass_data(t,i,"rect_height"),h=n.dwg_dynapi_subclass_data(t,i,"rect_width"),A=n.dwg_dynapi_subclass_data(t,i,"extents_height"),y=n.dwg_dynapi_subclass_data(t,i,"extents_width");return{insertionPoint:_,rectHeight:f,rectWidth:h,extentsHeight:A,extentsWidth:y,attachmentPoint:d,direction:u}}convertAttdef(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"default_value"),_=this.convertTextBase(t);_.text=d;const u=n.dwg_dynapi_entity_data(t,"prompt"),f=n.dwg_dynapi_entity_data(t,"tag"),h=n.dwg_dynapi_entity_data(t,"flags"),A=n.dwg_dynapi_entity_data(t,"field_length"),y=n.dwg_dynapi_entity_data(t,"lock_position_flag"),v=n.dwg_dynapi_entity_data(t,"keep_duplicate_records"),p=n.dwg_dynapi_entity_data(t,"is_really_locked"),m=n.dwg_dynapi_entity_data(t,"mtext_type"),D=n.dwg_dynapi_entity_data(t,"alignment_pt");return{type:"ATTDEF",...i,text:this.convertTextBase(t),prompt:u,tag:f,flags:h,fieldLength:A,lockPositionFlag:y>0,duplicateRecordCloningFlag:v>0,mtextFlag:m,isReallyLocked:p>0,alignmentPoint:D,annotationScale:1,attrTag:"",mtext:this.convertEmbeddedMText(t,"ATTDEF_mtext")}}convertAttrib(t,i){const n=this.libredwg,d=this.convertTextBase(t),_=n.dwg_dynapi_entity_data(t,"tag"),u=n.dwg_dynapi_entity_data(t,"flags"),f=n.dwg_dynapi_entity_data(t,"field_length"),h=n.dwg_dynapi_entity_data(t,"lock_position_flag"),A=n.dwg_dynapi_entity_data(t,"keep_duplicate_records"),y=n.dwg_dynapi_entity_data(t,"mtext_type"),v=n.dwg_dynapi_entity_data(t,"is_really_locked"),p=n.dwg_dynapi_entity_data(t,"alignment_pt");return{type:"ATTRIB",...i,text:d,tag:_,flags:u,fieldLength:f,lockPositionFlag:!!h,duplicateRecordCloningFlag:!!A,mtextFlag:y,isReallyLocked:!!v,numberOfSecondaryAttrs:0,secondaryAttrsHardId:"0",alignmentPoint:{...p,z:0},annotationScale:1,attrTag:"",mtext:this.convertEmbeddedMText(t,"ATTDEF_mtext")}}convertCircle(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"center"),_=n.dwg_dynapi_entity_data(t,"radius"),u=n.dwg_dynapi_entity_data(t,"thickness"),f=n.dwg_dynapi_entity_data(t,"extrusion");return{type:"CIRCLE",...i,thickness:u,center:d,radius:_,extrusionDirection:f}}convertAlignedDimension(t,i){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"clone_ins_pt"),u=n.dwg_dynapi_entity_data(t,"xline1_pt"),f=n.dwg_dynapi_entity_data(t,"xline2_pt"),h=n.dwg_dynapi_entity_data(t,"ins_rotation"),A=n.dwg_dynapi_entity_data(t,"oblique_angle");return{subclassMarker:"AcDbAlignedDimension",...i,...d,insertionPoint:_,subDefinitionPoint1:u,subDefinitionPoint2:f,rotationAngle:h??0,obliqueAngle:A}}convert3PointAngularDimension(t,i){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"xline1_pt"),u=n.dwg_dynapi_entity_data(t,"xline2_pt"),f=n.dwg_dynapi_entity_data(t,"center_pt"),h=n.dwg_dynapi_entity_data(t,"xline2end_pt");return{subclassMarker:"AcDb3PointAngularDimension",...i,...d,subDefinitionPoint1:_,subDefinitionPoint2:u,centerPoint:f,arcPoint:h}}convert2LineAngularDimension(t,i){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"xline1start_pt"),u=n.dwg_dynapi_entity_data(t,"xline1end_pt"),f=n.dwg_dynapi_entity_data(t,"xline2start_pt"),h=n.dwg_dynapi_entity_data(t,"xline2end_pt"),A=n.dwg_dynapi_entity_data(t,"def_pt");return h&&(d.definitionPoint=h),{subclassMarker:"AcDb2LineAngularDimension",...i,...d,subDefinitionPoint1:_??u??A??h,subDefinitionPoint2:f??h??A??u,centerPoint:A??f??u??h,arcPoint:h??d.definitionPoint}}convertDiameterDimension(t,i){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"first_arc_pt"),u=n.dwg_dynapi_entity_data(t,"leader_len");return{subclassMarker:"AcDbDiametricDimension",...i,...d,centerPoint:_,leaderLength:u}}convertOrdinateDimension(t,i){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"feature_location_pt"),u=n.dwg_dynapi_entity_data(t,"leader_endpt");return{subclassMarker:"AcDbOrdinateDimension",...i,...d,subDefinitionPoint1:_,subDefinitionPoint2:u}}convertRadiusDimension(t,i){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"first_arc_pt"),u=n.dwg_dynapi_entity_data(t,"leader_len");return{subclassMarker:"AcDbRadialDimension",...i,...d,centerPoint:_,leaderLength:u}}convertEllise(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"center"),_=n.dwg_dynapi_entity_data(t,"sm_axis"),u=n.dwg_dynapi_entity_data(t,"extrusion"),f=n.dwg_dynapi_entity_data(t,"axis_ratio"),h=n.dwg_dynapi_entity_data(t,"start_angle"),A=n.dwg_dynapi_entity_data(t,"end_angle");return{type:"ELLIPSE",...i,center:d,majorAxisEndPoint:_,extrusionDirection:u,axisRatio:f,startAngle:h,endAngle:A}}convertHatch(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"extrusion"),_=n.dwg_dynapi_entity_data(t,"name"),u=n.dwg_dynapi_entity_data(t,"is_solid_fill"),f=n.dwg_dynapi_entity_data(t,"is_associative"),h=n.dwg_dynapi_entity_data(t,"num_paths"),A=n.dwg_dynapi_entity_data(t,"paths"),y=n.dwg_ptr_to_hatch_path_array(A,h),v=n.dwg_dynapi_entity_data(t,"style"),p=n.dwg_dynapi_entity_data(t,"pattern_type"),m=n.dwg_dynapi_entity_data(t,"angle"),D=n.dwg_dynapi_entity_data(t,"scale_spacing"),w=n.dwg_dynapi_entity_data(t,"num_deflines"),I=n.dwg_dynapi_entity_data(t,"deflines"),S=n.dwg_ptr_to_hatch_defline_array(I,w),G=n.dwg_dynapi_entity_data(t,"pixel_size"),M=n.dwg_dynapi_entity_data(t,"num_seeds"),b=n.dwg_dynapi_entity_data(t,"seeds"),k=n.dwg_ptr_to_point2d_array(b,M),$={...i,extrusionDirection:d,patternName:_,solidFill:u?Dn.SolidFill:Dn.PatternFill,associativity:f?Rn.Associative:Rn.NonAssociative,numberOfBoundaryPaths:h,boundaryPaths:this.convertHatchBoundaryPaths(y),hatchStyle:v,patternType:p,patternAngle:m,patternScale:D,numberOfDefinitionLines:w,definitionLines:S.map(U=>({angle:U.angle,base:U.pt0,offset:U.offset,numberOfDashLengths:U.dashes.length,dashLengths:U.dashes})),pixelSize:G,numberOfSeedPoints:M,seedPoints:k};if(n.dwg_dynapi_entity_data(t,"is_gradient_fill")>0){const U=n.dwg_dynapi_entity_data(t,"gradient_name"),Z=n.dwg_dynapi_entity_data(t,"gradient_angle"),rt=n.dwg_dynapi_entity_data(t,"gradient_shift"),dt=n.dwg_dynapi_entity_data(t,"gradient_tint"),Y=n.dwg_dynapi_entity_data(t,"single_color_gradient"),F=n.dwg_dynapi_entity_data(t,"colors"),ct=n.dwg_ptr_to_hatch_gradient_color_array(F,Y==1?1:2);return{type:"HATCH",...$,gradientFlag:Er.Gradient,gradientColorFlag:Y==1?Sn.OneColor:Sn.TwoColor,gradientName:U,gradientRotation:Z,gradientDefinition:rt,colorTint:dt,gradientColors:ct}}else return{type:"HATCH",...$}}convertHatchBoundaryPaths(t){return t.filter(n=>n.num_segs_or_paths>0).map(n=>{const d={boundaryPathTypeFlag:n.flag};if(n.flag&2)return{...d,hasBulge:n.bulges_present,isClosed:n.closed,numberOfVertices:n.num_segs_or_paths,vertices:n.polyline_paths.map(_=>({x:_.point.x,y:_.point.y,bulge:_.bulge}))};{const _=n.segs.map(u=>{if(u.curve_type==Xe.Line)return{type:Ve.Line,start:u.first_endpoint,end:u.second_endpoint};if(u.curve_type==Xe.CircularArc)return{type:Ve.Circular,center:u.center,radius:u.radius,startAngle:u.start_angle,endAngle:u.end_angle,isCCW:u.is_ccw};if(u.curve_type==Xe.EllipticArc)return{type:Ve.Elliptic,center:u.center,end:u.endpoint,lengthOfMinorAxis:u.minor_major_ratio,startAngle:u.start_angle,endAngle:u.end_angle,isCCW:u.is_ccw};if(u.curve_type==Xe.Spline)return{type:Ve.Spline,degree:u.degree,isRational:u.is_rational,isPeriodic:u.is_periodic,numberOfKnots:u.num_knots,numberOfControlPoints:u.num_control_points,knots:u.knots,controlPoints:u.control_points,numberOfFitData:u.num_fitpts,fitDatum:u.fitpts,startTangent:u.start_tangent,endTangent:u.end_tangent}}).filter(u=>u!=null);return{...d,numberOfEdges:_.length,edges:_}}})}convertImage(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"class_version"),_=n.dwg_dynapi_entity_data(t,"pt0"),u=n.dwg_dynapi_entity_data(t,"uvec"),f=n.dwg_dynapi_entity_data(t,"vvec"),h=n.dwg_dynapi_entity_data(t,"image_size"),A=n.dwg_dynapi_entity_data(t,"display_props"),y=n.dwg_dynapi_entity_data(t,"clipping"),v=n.dwg_dynapi_entity_data(t,"brightness"),p=n.dwg_dynapi_entity_data(t,"contrast"),m=n.dwg_dynapi_entity_data(t,"fade"),D=n.dwg_dynapi_entity_data(t,"clip_mode"),w=n.dwg_dynapi_entity_data(t,"clip_boundary_type"),I=n.dwg_dynapi_entity_data(t,"num_clip_verts"),S=n.dwg_dynapi_entity_data(t,"clip_verts"),G=n.dwg_ptr_to_point3d_array(S,I),M=n.dwg_dynapi_entity_data(t,"imagedef"),b=n.dwg_ref_get_id(M)??"",k=n.dwg_dynapi_entity_data(t,"imagedefreactor"),$=n.dwg_ref_get_id(k)??"";return{type:"IMAGE",...i,version:d,position:_,uPixel:u,vPixel:f,imageSize:h,imageDefHandle:b,flags:A,clipping:y,brightness:v,contrast:p,fade:m,imageDefReactorHandle:$,clippingBoundaryType:w,countBoundaryPoints:I,clippingBoundaryPath:G,clipMode:D}}convertInsert(t,i){const n=this.libredwg;let d="";const _=n.dwg_dynapi_entity_data(t,"block_header");if(_){const I=n.dwg_ref_get_object(_);if(I){const S=n.dwg_object_to_object_tio(I);S&&(d=n.dwg_entity_block_header_get_block(S).name)}}d||(d=n.dwg_dynapi_entity_data(t,"block_name"));const u=n.dwg_dynapi_entity_data(t,"ins_pt"),f=n.dwg_dynapi_entity_data(t,"scale"),h=n.dwg_dynapi_entity_data(t,"rotation"),A=n.dwg_dynapi_entity_data(t,"num_cols"),y=n.dwg_dynapi_entity_data(t,"num_rows"),v=n.dwg_dynapi_entity_data(t,"col_spacing"),p=n.dwg_dynapi_entity_data(t,"row_spacing"),m=n.dwg_dynapi_entity_data(t,"extrusion"),D=n.dwg_entity_insert_get_attribs(t),w=[];return D.forEach(I=>{const S=n.dwg_object_to_entity(I),G=n.dwg_object_to_entity_tio(I);if(S&&G){const M=this.getCommonAttrs(S);n.dwg_object_get_fixedtype(I)==L.DWG_TYPE_ATTRIB&&w.push(this.convertAttrib(G,M))}}),{type:"INSERT",...i,name:d,insertionPoint:u,xScale:f?f.x:1,yScale:f?f.y:1,zScale:f?f.z:1,rotation:h,columnCount:A,rowCount:y,columnSpacing:v,rowSpacing:p,extrusionDirection:m,attribs:w}}convertLeader(t,i){const n=this.libredwg;let d="";try{d=n.dwg_entity_get_dimstyle_name(t)||""}catch{d=""}const u=n.dwg_dynapi_entity_data(t,"arrowhead_on")>0,f=n.dwg_dynapi_entity_data(t,"path_type"),h=n.dwg_dynapi_entity_data(t,"annot_type"),A=n.dwg_dynapi_entity_data(t,"hookline_dir"),y=n.dwg_dynapi_entity_data(t,"hookline_on"),v=n.dwg_dynapi_entity_data(t,"box_height"),p=n.dwg_dynapi_entity_data(t,"box_width"),m=n.dwg_dynapi_entity_data(t,"num_points"),D=n.dwg_dynapi_entity_data(t,"points"),w=m>0?n.dwg_ptr_to_point3d_array(D,m):[],I=n.dwg_dynapi_entity_data(t,"byblock_color"),S=n.dwg_dynapi_entity_data(t,"extrusion"),G=n.dwg_dynapi_entity_data(t,"x_direction"),M=n.dwg_dynapi_entity_data(t,"inspt_offset"),b=n.dwg_dynapi_entity_data(t,"endptproj");return{type:"LEADER",...i,styleName:d,isArrowheadEnabled:u,isSpline:f>0,leaderCreationFlag:h,isHooklineSameDirection:A>0,isHooklineExists:y>0,textHeight:v,textWidth:p,numberOfVertices:m,vertices:w,byBlockColor:I,normal:S,horizontalDirection:G,offsetFromBlock:M,offsetFromAnnotation:b}}convertLine(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"start"),_=n.dwg_dynapi_entity_data(t,"end"),u=n.dwg_dynapi_entity_data(t,"thickness"),f=n.dwg_dynapi_entity_data(t,"extrusion");return{type:"LINE",...i,thickness:u,startPoint:d,endPoint:_,extrusionDirection:f}}convertLWPolyline(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"num_points"),_=n.dwg_dynapi_entity_data(t,"flag"),u=n.dwg_dynapi_entity_data(t,"const_width"),f=n.dwg_dynapi_entity_data(t,"elevation"),h=n.dwg_dynapi_entity_data(t,"thickness"),A=n.dwg_dynapi_entity_data(t,"extrusion"),y=[],v=n.dwg_dynapi_entity_data(t,"num_points"),p=n.dwg_dynapi_entity_data(t,"points"),m=n.dwg_ptr_to_point2d_array(p,v),D=n.dwg_dynapi_entity_data(t,"num_bulges"),w=n.dwg_dynapi_entity_data(t,"bulges"),I=n.dwg_ptr_to_double_array(w,D),S=n.dwg_dynapi_entity_data(t,"num_widths")??0,G=n.dwg_dynapi_entity_data(t,"widths"),M=S>0&&G?n.dwg_ptr_to_double_array(G,S*2):[];return m.forEach((b,k)=>{const $={id:k,x:b.x,y:b.y,bulge:I.length>k?I[k]:0};k<S&&M.length>=(k+1)*2&&($.startWidth=M[k*2],$.endWidth=M[k*2+1]),y.push($)}),{type:"LWPOLYLINE",...i,numberOfVertices:d,flag:_,constantWidth:u,elevation:f,thickness:h,extrusionDirection:A,vertices:y}}convertMLine(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"scale"),_=n.dwg_dynapi_entity_data(t,"flags"),u=n.dwg_dynapi_entity_data(t,"justification"),f=n.dwg_dynapi_entity_data(t,"base_point"),h=n.dwg_dynapi_entity_data(t,"extrusion"),A=n.dwg_dynapi_entity_data(t,"num_lines"),y=n.dwg_dynapi_entity_data(t,"num_verts"),v=n.dwg_dynapi_entity_data(t,"verts"),p=n.dwg_ptr_to_mline_vertex_array(v,y),m=[];return p.forEach(D=>{m.push({vertex:D.vertex,vertexDirection:D.vertex_direction,miterDirection:D.miter_direction,numberOfLines:D.num_lines,lines:D.lines.map(w=>({numberOfSegmentParams:w.num_segparms,segmentParams:w.segparms,numberOfAreaFillParams:w.num_areafillparms,areaFillParams:w.areafillparms}))})}),{type:"MLINE",...i,scale:d,flags:_,justification:u,startPoint:f,extrusionDirection:h,numberOfLines:A,numberOfVertices:y,vertices:m,mlineStyle:""}}convertMultiLeader(t,i){const n=this.libredwg,d=J=>n.dwg_dynapi_entity_data(t,J),_=(J,j,jt)=>n.dwg_dynapi_subclass_data(J,j,jt),u=J=>n.dwg_ref_get_id(J),f=J=>J>0,h=J=>J!=null?fr(J):void 0,A=d("class_version"),y=u(d("mleaderstyle")),v=d("flags"),p=d("type"),m=h(d("line_color")),D=u(d("line_ltype")),w=d("line_linewt"),I=f(d("has_landing")),S=f(d("has_dogleg")),G=d("landing_dist"),M=u(d("arrow_handle")),b=d("arrow_size"),k=d("style_content"),$=u(d("text_style")),q=d("text_left"),U=d("text_right"),Z=d("text_angletype"),rt=d("text_alignment"),dt=h(d("text_color")),Y=f(d("has_text_frame")),F=u(d("block_style")),ct=h(d("block_color")),it=d("block_scale"),Yt=d("block_rotation"),It=d("style_attachment"),yt=f(d("is_annotative")),wt=f(d("is_neg_textdir")),xt=d("ipe_alignment");let Ct=d("justification");const kt=d("attach_dir"),ft=d("attach_bottom"),Dt=d("attach_top"),zt=d("scale_factor"),Ot=d("num_arrowheads"),Nt=d("arrowheads"),Bt=n.dwg_dynapi_subclass_size("LEADER_ArrowHead"),Ft=[];for(let J=0;J<Ot;J++){const j=Nt+J*Bt;Ft.push({index:_(j,"LEADER_ArrowHead","is_default"),handle:u(_(j,"LEADER_ArrowHead","arrowhead"))??""})}const ne=d("num_blocklabels"),re=d("blocklabels"),ae=n.dwg_dynapi_subclass_size("LEADER_BlockLabel"),Ut=[];for(let J=0;J<ne;J++){const j=re+J*ae;Ut.push({id:u(_(j,"LEADER_BlockLabel","attdef")),index:_(j,"LEADER_BlockLabel","ui_index"),width:_(j,"LEADER_BlockLabel","width"),text:_(j,"LEADER_BlockLabel","label_text")})}const Q=t+n.dwg_dynapi_entity_field_offset(t,"ctx"),V=Q+n.dwg_dynapi_subclass_field_offset("MLEADER_AnnotContext","content"),$t=_(Q,"MLEADER_AnnotContext","scale_factor"),oe=_(Q,"MLEADER_AnnotContext","content_base"),Ht=_(Q,"MLEADER_AnnotContext","landing_gap"),he=_(Q,"MLEADER_AnnotContext","attach_dir"),Ne=_(Q,"MLEADER_AnnotContext","text_height"),Ge=_(Q,"MLEADER_AnnotContext","arrow_size"),We=_(Q,"MLEADER_AnnotContext","text_left"),Me=_(Q,"MLEADER_AnnotContext","text_right"),be=_(Q,"MLEADER_AnnotContext","text_angletype"),ge=_(Q,"MLEADER_AnnotContext","text_alignment"),Ae=f(_(Q,"MLEADER_AnnotContext","has_content_txt")),Te=f(_(Q,"MLEADER_AnnotContext","has_content_blk")),ye=_(Q,"MLEADER_AnnotContext","base"),xe=_(Q,"MLEADER_AnnotContext","base_dir"),Jt=_(Q,"MLEADER_AnnotContext","base_vert"),Gt=f(_(Q,"MLEADER_AnnotContext","is_normal_reversed"));let z,Pe,Zt,Rt,ie,St,qt,Wt,Qt,se,pe,Pt,ve,_e,B,me,Ie,we,Ce,ze,Je;if(Ae){const J=_(V,"MLEADER_Content_MText","alignment");J!=null&&J!==0&&(Ct=J),Pe=_(V,"MLEADER_Content_MText","normal"),qt=_(V,"MLEADER_Content_MText","location"),Zt=_(V,"MLEADER_Content_MText","rotation"),Wt=_(V,"MLEADER_Content_MText","direction"),Rt=_(V,"MLEADER_Content_MText","width"),ie=_(V,"MLEADER_Content_MText","line_spacing_factor"),St=_(V,"MLEADER_Content_MText","line_spacing_style"),z=_(V,"MLEADER_Content_MText","flow"),Qt=h(_(V,"MLEADER_Content_MText","bg_color")),se=_(V,"MLEADER_Content_MText","bg_scale"),pe=_(V,"MLEADER_Content_MText","bg_transparency"),ve=f(_(V,"MLEADER_Content_MText","is_bg_fill")),Pt=f(_(V,"MLEADER_Content_MText","is_bg_mask_fill")),_e=_(V,"MLEADER_Content_MText","col_type"),B=f(_(V,"MLEADER_Content_MText","is_height_auto")),me=_(V,"MLEADER_Content_MText","col_width"),Ie=_(V,"MLEADER_Content_MText","col_gutter"),we=f(_(V,"MLEADER_Content_MText","is_col_flow_reversed"));const j=_(V,"MLEADER_Content_MText","num_col_sizes"),jt=_(V,"MLEADER_Content_MText","col_sizes");j>0&&(Ce=n.dwg_ptr_to_double_array(jt,j)[0]),ze=f(_(V,"MLEADER_Content_MText","word_break")),Je=_(V,"MLEADER_Content_MText","default_text")}let De;if(Te){const J=_(V,"MLEADER_Content_Block","transform");De={blockContentId:u(_(V,"MLEADER_Content_Block","block_table")),normal:_(V,"MLEADER_Content_Block","normal"),position:_(V,"MLEADER_Content_Block","location"),scale:_(V,"MLEADER_Content_Block","scale"),rotation:_(V,"MLEADER_Content_Block","rotation"),color:h(_(V,"MLEADER_Content_Block","color")),transformationMatrix:J?n.dwg_ptr_to_double_array(J,16):void 0}}const l=_(Q,"MLEADER_AnnotContext","num_leaders"),de=_(Q,"MLEADER_AnnotContext","leaders"),et=n.dwg_dynapi_subclass_size("LEADER_Node"),cn=n.dwg_dynapi_subclass_size("LEADER_Line"),Ze=n.dwg_dynapi_subclass_size("LEADER_Break"),ke=[];for(let J=0;J<l;J++){const j=de+J*et,jt=f(_(j,"LEADER_Node","has_lastleaderlinepoint")),qe=f(_(j,"LEADER_Node","has_dogleg")),un=_(j,"LEADER_Node","num_breaks"),Re=_(j,"LEADER_Node","breaks"),Oe=[];for(let ut=0;ut<un;ut++){const ht=Re+ut*Ze;Oe.push({start:_(ht,"LEADER_Break","start"),end:_(ht,"LEADER_Break","end")})}const Qe=_(j,"LEADER_Node","num_lines"),st=_(j,"LEADER_Node","lines"),Vt=[];for(let ut=0;ut<Qe;ut++){const ht=st+ut*cn,te=_(ht,"LEADER_Line","num_points"),H=_(ht,"LEADER_Line","points"),je=te>0?n.dwg_ptr_to_point3d_array(H,te):[],Se=_(ht,"LEADER_Line","num_breaks"),Le=_(ht,"LEADER_Line","breaks"),Be=[];for(let Et=0;Et<Se;Et++){const Fe=Le+Et*Ze;Be.push({start:_(Fe,"LEADER_Break","start"),end:_(Fe,"LEADER_Break","end")})}Vt.push({vertices:je,leaderLineIndex:_(ht,"LEADER_Line","line_index"),breaks:Be.length>0?Be:void 0})}ke.push({lastLeaderLinePoint:jt?_(j,"LEADER_Node","lastleaderlinepoint"):void 0,lastLeaderLinePointSet:jt,doglegVector:qe?_(j,"LEADER_Node","dogleg_vector"):void 0,doglegVectorSet:qe,doglegLength:_(j,"LEADER_Node","dogleg_length"),breaks:Oe.length>0?Oe:void 0,leaderBranchIndex:_(j,"LEADER_Node","branch_index"),leaderLines:Vt})}return{type:"MULTILEADER",...i,subclassMarker:"AcDbMLeader",version:A,leaderStyleId:y,propertyOverrideFlag:v,leaderLineType:p,leaderLineColor:m,leaderLineTypeId:D,leaderLineWeight:w,landingEnabled:I,doglegEnabled:S,doglegLength:G,arrowheadId:M,arrowheadSize:b||Ge,contentType:k,textStyleId:$,textLeftAttachmentType:q||We,textRightAttachmentType:U||Me,textAngleType:Z||be,textAlignmentType:rt||ge,textColor:dt,textFrameEnabled:Y,landingGap:Ht,textAttachment:he,textFlowDirection:z,blockContentId:F,blockContentColor:ct,blockContentScale:it,blockContentRotation:Yt,blockContentConnectionType:It,annotativeScaleEnabled:yt,arrowheadOverrides:Ft.length>0?Ft:void 0,blockAttributes:Ut.length>0?Ut:void 0,textDirectionNegative:wt,textAlignInIPE:xt,textAttachmentPoint:Ct,textAttachmentDirection:kt,bottomTextAttachmentDirection:ft,topTextAttachmentDirection:Dt,contentScale:zt||$t,contentBasePosition:oe,normal:Pe,textHeight:Ne,textRotation:Zt,textWidth:Rt,textLineSpacingFactor:ie,textLineSpacingStyle:St,textAnchor:qt,textDirection:Wt,textBackgroundColor:Qt,textBackgroundScaleFactor:se,textBackgroundTransparency:pe,textBackgroundColorOn:Pt,textFillOn:ve,textColumnType:_e,textUseAutoHeight:B,textColumnWidth:me,textColumnGutterWidth:Ie,textColumnFlowReversed:we,textColumnHeight:Ce,textUseWordBreak:ze,textContent:Je,hasMText:Ae,hasBlock:Te,blockContent:De,planeOrigin:ye,planeXAxisDirection:xe,planeYAxisDirection:Jt,planeNormalReversed:Gt,leaderSections:ke.length>0?ke:void 0}}convertOle2Frame(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"oleversion"),_=n.dwg_dynapi_entity_data(t,"oleclient"),u=n.dwg_dynapi_entity_data(t,"data_size");let f=n.dwg_dynapi_entity_data(t,"pt1"),h=n.dwg_dynapi_entity_data(t,"pt2");const A=n.dwg_dynapi_entity_data(t,"lock_aspect"),y=n.dwg_dynapi_entity_data(t,"type"),v=n.dwg_dynapi_entity_data(t,"mode"),p=n.dwg_entity_ole2frame_get_data(t),m=p?Ke(p):"";if(p){const D=Go(p);D&&(f=D.upperLeft,h=D.lowerRight)}return{type:"OLE2FRAME",...i,oleVersion:d,oleClient:_,dataSize:u,leftUpPoint:f,rightDownPoint:h,lockAspect:A,oleObjectType:y,tileModeDescriptor:v,binaryData:m}}convertOleFrame(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"flag"),_=n.dwg_dynapi_entity_data(t,"mode"),u=n.dwg_dynapi_entity_data(t,"data_size"),f=n.dwg_entity_oleframe_get_data(t),h=f?Ke(f):"";return{type:"OLEFRAME",...i,flag:d,mode:_,dataSize:u,binaryData:h}}convertMText(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"ins_pt"),_=n.dwg_dynapi_entity_data(t,"text_height"),u=n.dwg_dynapi_entity_data(t,"rect_height"),f=n.dwg_dynapi_entity_data(t,"rect_width"),h=n.dwg_dynapi_entity_data(t,"extents_width"),A=n.dwg_dynapi_entity_data(t,"extents_height"),y=n.dwg_dynapi_entity_data(t,"attachment"),v=n.dwg_dynapi_entity_data(t,"flow_dir"),p=n.dwg_dynapi_entity_data(t,"text"),m=n.dwg_entity_mtext_get_style_name(t),D=n.dwg_dynapi_entity_data(t,"extrusion"),w=n.dwg_dynapi_entity_data(t,"x_axis_dir"),I=n.dwg_dynapi_entity_data(t,"linespace_style"),S=n.dwg_dynapi_entity_data(t,"linespace_factor"),G=n.dwg_dynapi_entity_data(t,"bg_fill_flag"),M=n.dwg_dynapi_entity_data(t,"bg_fill_scale"),b=n.dwg_dynapi_entity_data(t,"bg_fill_color"),k=n.dwg_dynapi_entity_data(t,"bg_fill_trans"),$=G===1?So(b):void 0,q=n.dwg_dynapi_entity_data(t,"column_type"),U=n.dwg_dynapi_entity_data(t,"flow_reversed"),Z=n.dwg_dynapi_entity_data(t,"auto_height"),rt=n.dwg_dynapi_entity_data(t,"column_width"),dt=n.dwg_dynapi_entity_data(t,"gutter"),Y=n.dwg_dynapi_entity_data(t,"num_column_heights"),F=n.dwg_dynapi_entity_data(t,"column_heights"),ct=n.dwg_ptr_to_double_array(F,Y);return{type:"MTEXT",...i,insertionPoint:d,textHeight:_,rectHeight:u,rectWidth:f,extentsHeight:A,extentsWidth:h,attachmentPoint:y,drawingDirection:v,text:p,styleName:m,extrusionDirection:D,direction:w,rotation:0,lineSpacingStyle:I,lineSpacing:S,backgroundFill:G,fillBoxScale:M,...$!==void 0?{backgroundFillColor:$}:{},backgroundFillTransparency:k,columnType:q,columnFlowReversed:U,columnAutoHeight:Z,columnWidth:rt,columnGutter:dt,columnHeightCount:Y,columnHeights:ct}}convertPoint(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"x"),_=n.dwg_dynapi_entity_data(t,"y"),u=n.dwg_dynapi_entity_data(t,"z"),f=n.dwg_dynapi_entity_data(t,"thickness"),h=n.dwg_dynapi_entity_data(t,"extrusion"),A=n.dwg_dynapi_entity_data(t,"x_ang");return{type:"POINT",...i,position:{x:d,y:_,z:u},thickness:f,extrusionDirection:h,angle:A}}convertPolyline2d(t,i,n){const d=this.libredwg,_=d.dwg_dynapi_entity_data(t,"flag"),u=d.dwg_dynapi_entity_data(t,"curve_type"),f=d.dwg_dynapi_entity_data(t,"start_width"),h=d.dwg_dynapi_entity_data(t,"end_width"),A=d.dwg_dynapi_entity_data(t,"elevation"),y=d.dwg_dynapi_entity_data(t,"thickness"),v=d.dwg_dynapi_entity_data(t,"extrusion"),p=d.dwg_entity_polyline_2d_get_vertices(n)??[];return{type:"POLYLINE2D",...i,flag:_,smoothType:u,startWidth:f,endWidth:h,elevation:A,thickness:y,extrusionDirection:v,vertices:p.map(m=>({x:m.point.x,y:m.point.y,z:m.point.z,startWidth:m.start_width,endWidth:m.end_width,bulge:m.bulge,flag:m.flag,tangentDirection:m.tangent_dir})),meshMVertexCount:0,meshNVertexCount:0,surfaceMDensity:0,surfaceNDensity:0}}convertPolyline3d(t,i,n){const d=this.libredwg,_=d.dwg_dynapi_entity_data(t,"flag"),u=d.dwg_dynapi_entity_data(t,"curve_type"),f=d.dwg_dynapi_entity_data(t,"start_width"),h=d.dwg_dynapi_entity_data(t,"end_width"),A=d.dwg_dynapi_entity_data(t,"extrusion"),y=d.dwg_entity_polyline_3d_get_vertices(n)??[];return{type:"POLYLINE3D",...i,flag:_,smoothType:u,startWidth:f,endWidth:h,extrusionDirection:A,vertices:y.map(v=>({x:v.point.x,y:v.point.y,z:v.point.z,flag:v.flag}))}}convertProxyEntity(t,i,n){const d=this.libredwg,_=d.dwg_dynapi_entity_data(t,"proxy_id"),u=d.dwg_dynapi_entity_data(t,"class_id"),f=d.dwg_dynapi_entity_data(t,"data_numbits"),h=d.dwg_dynapi_entity_data(t,"version"),A=d.dwg_dynapi_entity_data(t,"from_dxf"),y=d.dwg_dynapi_entity_data(t,"num_objids"),v=d.dwg_entity_get_preview(n),p=(v==null?void 0:v.length)??0,m=d.dwg_entity_proxy_entity_get_entity_data(t),D=v?Ke(v):void 0,w=m?Ke(m):void 0;let I;if(y>0){const M=d.dwg_dynapi_entity_data(t,"objids");M&&(I=d.dwg_ptr_to_object_ref_array(M,y).map(k=>Tt(k.absolute_ref)))}const S=this.getOriginalDxfName(u),G={type:"ACAD_PROXY_ENTITY",subclassMarker:"AcDbProxyEntity",...i,proxyEntityClassId:_||498,applicationEntityClassId:u};return S&&(G.originalDxfName=S),p>0&&(G.graphicsDataSize=p),D&&(G.graphicsData=D),f>0&&(G.entityDataSize=f),w&&(G.entityData=w),I&&I.length>0&&(G.linkedObjectIds=I),h&&(G.objectDrawingFormat=h),(A===0||A===1)&&(G.originalDataFormat=A),G}getOriginalDxfName(t){if(this.classes.length===0||t<0)return;const i=t>=500?t-500:t;if(i>=0&&i<this.classes.length)return this.classes[i].dxfName}convertRay(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"point"),_=n.dwg_dynapi_entity_data(t,"vector");return{type:"RAY",...i,firstPoint:d,unitDirection:_}}convertSection(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"state"),_=n.dwg_dynapi_entity_data(t,"flag"),u=n.dwg_dynapi_entity_data(t,"name"),f=n.dwg_dynapi_entity_data(t,"vert_dir"),h=n.dwg_dynapi_entity_data(t,"top_height"),A=n.dwg_dynapi_entity_data(t,"bottom_height"),y=n.dwg_dynapi_entity_data(t,"indicator_alpha"),v=n.dwg_dynapi_entity_data(t,"indicator_color"),p=n.dwg_dynapi_entity_data(t,"num_verts"),m=n.dwg_dynapi_entity_data(t,"verts"),D=p>0?n.dwg_ptr_to_point3d_array(m,p):[],w=n.dwg_dynapi_entity_data(t,"num_blverts"),I=n.dwg_dynapi_entity_data(t,"blverts"),S=w>0?n.dwg_ptr_to_point3d_array(I,w):[],G=n.dwg_dynapi_entity_data(t,"geometrySettingHardId"),M=n.dwg_ref_get_handle_absolute_ref(G)??0n;return{type:"SECTION",...i,state:d,flags:_,name:u,verticalDirection:f,topHeight:h,bottomHeight:A,indicatorTransparency:y,indicatorColor:v.rgb,numberOfVertices:p,vertices:D,numberOfBackLineVertices:w,backLineVertices:S,geometrySettingHardId:M}}convertShape(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"ins_pt"),_=n.dwg_dynapi_entity_data(t,"scale"),u=n.dwg_dynapi_entity_data(t,"rotation"),f=n.dwg_dynapi_entity_data(t,"width_factor"),h=n.dwg_dynapi_entity_data(t,"oblique_angle"),A=n.dwg_dynapi_entity_data(t,"thickness"),y=n.dwg_dynapi_entity_data(t,"extrusion"),v=n.dwg_dynapi_entity_data(t,"style_id"),p=n.dwg_entity_text_get_style_name(t);return{type:"SHAPE",subclassMarker:"AcDbShape",...i,thickness:A,insertionPoint:d,size:_,shapeNumber:v,styleName:p,rotation:u,xScale:f,obliqueAngle:h,extrusionDirection:y}}convertSolid(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"corner1"),_=n.dwg_dynapi_entity_data(t,"corner2"),u=n.dwg_dynapi_entity_data(t,"corner3"),f=n.dwg_dynapi_entity_data(t,"corner4"),h=n.dwg_dynapi_entity_data(t,"thickness"),A=n.dwg_dynapi_entity_data(t,"extrusion");return{type:"SOLID",...i,corner1:d,corner2:_,corner3:u,corner4:f,thickness:h,extrusionDirection:A}}convertTrace(t,i){return{...this.convertSolid(t,i),type:"TRACE"}}convertSpline(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"splineflags"),_=n.dwg_dynapi_entity_data(t,"degree"),u=n.dwg_dynapi_entity_data(t,"knot_tol"),f=n.dwg_dynapi_entity_data(t,"num_knots"),h=n.dwg_dynapi_entity_data(t,"knots"),A=n.dwg_ptr_to_double_array(h,f),y=n.dwg_dynapi_entity_data(t,"fit_tol"),v=n.dwg_dynapi_entity_data(t,"num_fit_pts"),p=n.dwg_dynapi_entity_data(t,"fit_pts"),m=n.dwg_ptr_to_point3d_array(p,v),D=n.dwg_dynapi_entity_data(t,"weighted"),w=n.dwg_dynapi_entity_data(t,"ctrl_tol"),I=n.dwg_dynapi_entity_data(t,"num_ctrl_pts"),S=n.dwg_dynapi_entity_data(t,"ctrl_pts"),G=n.dwg_ptr_to_point4d_array(S,I),M=n.dwg_dynapi_entity_data(t,"beg_tan_vec"),b=n.dwg_dynapi_entity_data(t,"end_tan_vec");return{type:"SPLINE",...i,flag:d,degree:_,numberOfKnots:f,numberOfControlPoints:I,numberOfFitPoints:v,knotTolerance:u,controlTolerance:w,fitTolerance:y,startTangent:M,endTangent:b,knots:A,weights:D?G.map(k=>k.w):void 0,controlPoints:G.map(k=>({x:k.x,y:k.y,z:k.z})),fitPoints:m}}convertTable(t,i){const n=this.libredwg,d=n.dwg_dynapi_subclass_data(t,"ldata","name"),_=n.dwg_dynapi_entity_data(t,"ins_pt"),u=n.dwg_dynapi_entity_data(t,"horiz_direction"),f=n.dwg_dynapi_entity_data(t,"flag_for_table_value"),h=n.dwg_dynapi_entity_data(t,"num_rows"),A=n.dwg_dynapi_entity_data(t,"num_cols"),y=n.dwg_dynapi_entity_data(t,"row_heights"),v=n.dwg_ptr_to_double_array(y,h),p=n.dwg_dynapi_entity_data(t,"col_widths"),m=n.dwg_ptr_to_double_array(p,A),D=n.dwg_dynapi_entity_data(t,"tablestyle"),w=n.dwg_ref_get_id(D)??"",I=n.dwg_dynapi_entity_data(t,"block_header"),S=n.dwg_ref_get_id(I)??"",G=n.dwg_dynapi_entity_data(t,"table_flag_override"),M=n.dwg_dynapi_entity_data(t,"border_color_overrides_flag"),b=n.dwg_dynapi_entity_data(t,"border_lineweight_overrides_flag"),k=n.dwg_dynapi_entity_data(t,"border_visibility_overrides_flag"),$=n.dwg_dynapi_entity_data(t,"num_cells"),q=n.dwg_dynapi_entity_data(t,"cells"),U=n.dwg_ptr_to_table_cell_array(q,$);return{type:"ACAD_TABLE",...i,name:d,startPoint:_,directionVector:u,tableValue:f,rowCount:h,columnCount:A,overrideFlag:G,borderColorOverrideFlag:M,borderLineWeightOverrideFlag:b,borderVisibilityOverrideFlag:k,rowHeightArr:v,columnWidthArr:m,tableStyleId:w,blockRecordHandle:S,cells:this.convertTableCells(U),bmpPreview:""}}convertTableCells(t){return t.map(i=>{var n,d;return{text:i.text_value,attachmentPoint:i.cell_alignment,textStyle:i.text_style?String(i.text_style):void 0,rotation:i.rotation,cellType:i.type,flagValue:i.flags,mergedValue:i.is_merged_value,autoFit:i.is_autofit_flag,topBorderVisibility:!!i.top_visibility,bottomBorderVisibility:!!i.bottom_visibility,leftBorderVisibility:!!i.left_visibility,rightBorderVisibility:!!i.right_visibility,overrideFlag:i.cell_flag_override,virtualEdgeFlag:i.virtual_edge_flag,blockTableRecordId:i.block_handle?String(i.block_handle.absolute_ref??""):void 0,blockScale:i.block_scale,blockAttrNum:((n=i.attr_defs)==null?void 0:n.length)??0,attrDefineId:(d=i.attr_defs)==null?void 0:d.map(_=>{var u;return String(((u=_.attdef)==null?void 0:u.absolute_ref)??"")}),textHeight:i.text_height??0,extendedCellFlags:i.additional_data_flag}})}convertTextBase(t){const i=this.libredwg,n=i.dwg_dynapi_entity_data(t,"text_value"),d=i.dwg_dynapi_entity_data(t,"thickness"),_=i.dwg_dynapi_entity_data(t,"ins_pt"),u=i.dwg_dynapi_entity_data(t,"alignment_pt"),f=i.dwg_dynapi_entity_data(t,"rotation"),h=i.dwg_dynapi_entity_data(t,"height"),A=i.dwg_dynapi_entity_data(t,"width_factor"),y=i.dwg_dynapi_entity_data(t,"oblique_angle"),v=i.dwg_entity_text_get_style_name(t),p=i.dwg_dynapi_entity_data(t,"generation"),m=i.dwg_dynapi_entity_data(t,"horiz_alignment"),D=i.dwg_dynapi_entity_data(t,"vert_alignment"),w=i.dwg_dynapi_entity_data(t,"elevation"),I=i.dwg_dynapi_entity_data(t,"extrusion");return{text:n,thickness:d,startPoint:_,endPoint:u,textHeight:h,rotation:f,xScale:A,obliqueAngle:y,styleName:v,generationFlag:p,halign:m,valign:D,elevation:w,extrusionDirection:I}}convertText(t,i){return{type:"TEXT",...i,...this.convertTextBase(t)}}convertTolerance(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"ins_pt"),_=n.dwg_dynapi_entity_data(t,"text_value"),u=n.dwg_dynapi_entity_data(t,"x_direction"),f=n.dwg_dynapi_entity_data(t,"extrusion"),h=n.dwg_entity_get_dimstyle_name(t);return{type:"TOLERANCE",...i,styleName:h,insertionPoint:d,text:_,extrusionDirection:f,xAxisDirection:u}}convertViewport(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"center"),_=n.dwg_dynapi_entity_data(t,"width"),u=n.dwg_dynapi_entity_data(t,"height"),f=n.dwg_dynapi_entity_data(t,"on_off"),h=n.dwg_dynapi_entity_data(t,"VIEWCTR"),A=n.dwg_dynapi_entity_data(t,"SNAPBASE"),y=n.dwg_dynapi_entity_data(t,"SNAPUNIT"),v=n.dwg_dynapi_entity_data(t,"GRIDUNIT"),p=n.dwg_dynapi_entity_data(t,"VIEWDIR"),m=n.dwg_dynapi_entity_data(t,"view_target"),D=n.dwg_dynapi_entity_data(t,"lens_length"),w=n.dwg_dynapi_entity_data(t,"front_clip_z"),I=n.dwg_dynapi_entity_data(t,"back_clip_z"),S=n.dwg_dynapi_entity_data(t,"VIEWSIZE"),G=n.dwg_dynapi_entity_data(t,"SNAPANG"),M=n.dwg_dynapi_entity_data(t,"twist_angle"),b=n.dwg_dynapi_entity_data(t,"circle_zoom"),k=n.dwg_dynapi_entity_data(t,"num_frozen_layers");let $;if(k>0){const $t=n.dwg_dynapi_entity_data(t,"frozen_layers");$t&&($=n.dwg_ptr_to_object_ref_ptr_array($t,k).map(Ht=>n.dwg_ref_get_id(Ht)).filter(Ht=>!!Ht))}const q=n.dwg_dynapi_entity_data(t,"status_flag"),U=n.dwg_dynapi_entity_data(t,"clip_boundary"),Z=n.dwg_ref_get_id(U),rt=n.dwg_dynapi_entity_data(t,"style_sheet"),dt=n.dwg_dynapi_entity_data(t,"render_mode"),Y=n.dwg_dynapi_entity_data(t,"UCSVP"),F=n.dwg_dynapi_entity_data(t,"ucsorg"),ct=n.dwg_dynapi_entity_data(t,"ucsxdir"),it=n.dwg_dynapi_entity_data(t,"ucsydir"),Yt=n.dwg_dynapi_entity_data(t,"named_ucs"),It=n.dwg_ref_get_id(Yt),yt=n.dwg_dynapi_entity_data(t,"base_ucs"),wt=n.dwg_ref_get_id(yt),xt=n.dwg_dynapi_entity_data(t,"UCSORTHOVIEW"),Ct=n.dwg_dynapi_entity_data(t,"ucs_elevation"),kt=n.dwg_dynapi_entity_data(t,"shadeplot_mode"),ft=n.dwg_dynapi_entity_data(t,"use_default_lights"),Dt=n.dwg_dynapi_entity_data(t,"default_lighting_type"),zt=n.dwg_dynapi_entity_data(t,"brightness"),Ot=n.dwg_dynapi_entity_data(t,"contrast"),Nt=n.dwg_dynapi_entity_data(t,"grid_major"),Bt=n.dwg_dynapi_entity_data(t,"background"),Ft=n.dwg_ref_get_id(Bt),ne=n.dwg_dynapi_entity_data(t,"shadeplot"),re=n.dwg_ref_get_id(ne),ae=n.dwg_dynapi_entity_data(t,"visualstyle"),Ut=n.dwg_ref_get_id(ae),Q=n.dwg_dynapi_entity_data(t,"sun"),V=n.dwg_ref_get_id(Q);return{type:"VIEWPORT",...i,viewportCenter:d,width:_,height:u,status:f,viewportId:0,displayCenter:h,snapBase:A,snapSpacing:y,gridSpacing:v,viewDirection:p,targetPoint:m,perspectiveLensLength:D,frontClipZ:w,backClipZ:I,viewHeight:S,snapAngle:G,viewTwistAngle:M,circleZoomPercent:b,frozenLayerIds:$,statusBitFlags:q,clippingBoundaryId:Z,sheetName:rt,renderMode:dt,ucsPerViewport:Y,ucsOrigin:F,ucsXAxis:ct,ucsYAxis:it,ucsId:It??"",ucsBaseId:wt??"",orthographicType:xt,elevation:Ct,shadePlotMode:kt,majorGridFrequency:Nt,backgroundId:Ft??"",shadePlotId:re??"",visualStyleId:Ut??"",isDefaultLighting:!!ft,defaultLightingType:Dt,brightness:zt,contrast:Ot,sunId:V??""}}convertWipeout(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"class_version"),_=n.dwg_dynapi_entity_data(t,"pt0"),u=n.dwg_dynapi_entity_data(t,"uvec"),f=n.dwg_dynapi_entity_data(t,"vvec"),h=n.dwg_dynapi_entity_data(t,"image_size"),A=n.dwg_dynapi_entity_data(t,"display_props"),y=n.dwg_dynapi_entity_data(t,"clipping"),v=n.dwg_dynapi_entity_data(t,"brightness"),p=n.dwg_dynapi_entity_data(t,"contrast"),m=n.dwg_dynapi_entity_data(t,"fade"),D=n.dwg_dynapi_entity_data(t,"clip_mode"),w=n.dwg_dynapi_entity_data(t,"clip_boundary_type"),I=n.dwg_dynapi_entity_data(t,"num_clip_verts"),S=n.dwg_dynapi_entity_data(t,"clip_verts"),G=n.dwg_ptr_to_point2d_array(S,I),M=n.dwg_dynapi_entity_data(t,"imagedef"),b=n.dwg_ref_get_absref(M)??0,k=n.dwg_dynapi_entity_data(t,"imagedefreactor"),$=n.dwg_ref_get_absref(k)??0;return{type:"WIPEOUT",...i,version:d,position:_,uPixel:u,vPixel:f,imageSize:h,imageDefHandle:b,flags:A,clipping:y,brightness:v,contrast:p,fade:m,imageDefReactorHandle:$,clippingBoundaryType:w,countBoundaryPoints:I,clippingBoundaryPath:G,clipMode:D}}convertXline(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"point"),_=n.dwg_dynapi_entity_data(t,"vector");return{type:"XLINE",...i,firstPoint:d,unitDirection:_}}getDimensionCommonAttrs(t){const i=this.libredwg,n=i.dwg_dynapi_entity_data(t,"class_version"),d=i.dwg_entity_get_block_name(t,"block"),_=i.dwg_dynapi_entity_data(t,"def_pt"),u=i.dwg_dynapi_entity_data(t,"text_midpt"),f=i.dwg_dynapi_entity_data(t,"attachmentPoint"),h=i.dwg_dynapi_entity_data(t,"flag"),A=i.dwg_dynapi_entity_data(t,"lspace_factor"),y=i.dwg_dynapi_entity_data(t,"lspace_factor"),v=i.dwg_dynapi_entity_data(t,"act_measurement"),p=i.dwg_dynapi_entity_data(t,"user_text"),m=i.dwg_dynapi_entity_data(t,"text_rotation"),D=i.dwg_dynapi_entity_data(t,"ins_rotation"),w=i.dwg_dynapi_entity_data(t,"extrusion"),I=i.dwg_entity_get_dimstyle_name(t);return{type:"DIMENSION",version:n,name:d,definitionPoint:_,textPoint:u,dimensionType:h,attachmentPoint:f,textLineSpacingStyle:A,textLineSpacingFactor:y||1,measurement:v,text:p,textRotation:m,ocsRotation:D,extrusionDirection:w,styleName:I}}getCommonAttrs(t){const i=this.libredwg,n=i.dwg_object_entity_get_color_object(t),d=n.method,_=n.index;let u;(d==194||(n.rgb>>>24&255)===194)&&(u=n.rgb&16777215);const f=this.getLayerName(t),h=i.dwg_object_entity_get_handle_object(t),A=i.dwg_object_entity_get_ownerhandle_object(t),y=i.dwg_object_entity_get_xdicobjhandle_object(t),v=this.getLtypeName(t),p=i.dwg_object_entity_get_line_weight(t),m=i.dwg_object_entity_get_ltype_scale(t),D=!i.dwg_object_entity_get_invisible(t),w=i.dwg_object_entity_get_xdata(t);return{handle:Tt(h.value),ownerDictionaryHardId:Tt(y.absolute_ref),ownerBlockRecordSoftId:Tt(A.absolute_ref),layer:f,color:u,colorIndex:_,colorName:n.name,lineType:v,lineweight:p,lineTypeScale:m,isVisible:D,transparency:n.alpha,transparencyType:n.alpha_type,xdata:w}}getLayerName(t){const n=this.libredwg.dwg_object_entity_get_layer_object_ref(t);return this.layers.get(Tt(n.handleref.value))??"0"}getLtypeName(t){const n=this.libredwg.dwg_object_entity_get_ltype_object_ref(t);return this.ltypes.get(Tt(n.handleref.value))??""}}class dr{constructor(t){nt(this,"libredwg"),nt(this,"entityConverter"),nt(this,"orphanEntitiesByBlock",null),nt(this,"ownerlessOrphanIndices",null),nt(this,"orphanIndexDataPtr",null),this.libredwg=t,this.entityConverter=new Wo(t)}convert(t){var i;this.entityConverter.clear(),this.orphanEntitiesByBlock=null,this.ownerlessOrphanIndices=null,this.orphanIndexDataPtr=t;const n={tables:{APPID:{entries:[]},BLOCK_RECORD:{entries:[]},DIMSTYLE:{entries:[]},LAYER:{entries:[]},LTYPE:{entries:[]},STYLE:{entries:[]},VPORT:{entries:[]}},objects:{DICTIONARY:[],GROUP:[],IMAGEDEF:[],LAYER_FILTER:[],LAYER_INDEX:[],LAYOUT:[],MLEADERSTYLE:[],SPATIAL_FILTER:[],XRECORD:[]},header:{},entities:[],classes:[]},d=this.libredwg;this.convertHeader(t,n.header),this.convertClasses(t,n.classes),this.entityConverter.setClasses(n.classes);const _=d.dwg_get_num_objects(t);for(let h=0;h<_;h++){const A=d.dwg_get_object(t,h);if(A){const y=this.safeObjectTio(A);if(y)switch(d.dwg_object_get_fixedtype(A)){case L.DWG_TYPE_LAYER:{const p=this.convertLayer(y,A);n.tables.LAYER.entries.push(p),this.entityConverter.layers.set(p.handle,p.name)}break;case L.DWG_TYPE_LTYPE:{const p=this.convertLineType(y,A);n.tables.LTYPE.entries.push(p),this.entityConverter.ltypes.set(p.handle,p.name)}break}}}for(let h=0;h<_;h++){const A=d.dwg_get_object(t,h);if(A){const y=this.safeObjectTio(A);if(y)switch(d.dwg_object_get_fixedtype(A)){case L.DWG_TYPE_APPID:n.tables.APPID.entries.push(this.convertAppId(y));break;case L.DWG_TYPE_BLOCK_HEADER:{const p=this.convertBlockRecord(y,A);n.tables.BLOCK_RECORD.entries.push(p),(Gn(p.name)||No(p.name))&&p.entities.forEach(m=>{n.entities.push(m),m.type==="INSERT"&&m.attribs.forEach(D=>{n.entities.push(D)})})}break;case L.DWG_TYPE_DIMSTYLE:n.tables.DIMSTYLE.entries.push(this.convertDimStyle(y,A));break;case L.DWG_TYPE_STYLE:n.tables.STYLE.entries.push(this.convertStyle(y,A));break;case L.DWG_TYPE_VPORT:n.tables.VPORT.entries.push(this.convertViewport(y,A));break;case L.DWG_TYPE_DICTIONARY:n.objects.DICTIONARY.push(this.convertDictionary(y,A));break;case L.DWG_TYPE_GROUP:n.objects.GROUP.push(this.convertGroup(y,A));break;case L.DWG_TYPE_IMAGEDEF:n.objects.IMAGEDEF.push(this.convertImageDef(y,A));break;case L.DWG_TYPE_LAYERFILTER:n.objects.LAYER_FILTER.push(this.convertLayerFilter(y,A));break;case L.DWG_TYPE_LAYER_INDEX:n.objects.LAYER_INDEX.push(this.convertLayerIndex(y,A));break;case L.DWG_TYPE_LAYOUT:n.objects.LAYOUT.push(this.convertLayout(y,A));break;case L.DWG_TYPE_MLEADERSTYLE:n.objects.MLEADERSTYLE.push(this.convertMLeaderStyle(y,A));break;case L.DWG_TYPE_SPATIAL_FILTER:n.objects.SPATIAL_FILTER.push(this.convertSpatialFilter(y,A));break;case L.DWG_TYPE_XRECORD:n.objects.XRECORD.push(this.convertXRecord(y,A));break}}}const u=n.entities.filter(h=>h.type==="VIEWPORT");u.sort((h,A)=>{const y=parseInt(h.handle,16),v=parseInt(A.handle,16);return y-v}),u.forEach((h,A)=>{h.viewportId=A+1});const f=d.dwg_bmp(t);return(i=f==null?void 0:f.data)!=null&&i.length&&(n.thumbnailImage=f.data),n}getConversionStats(){return{unknownEntityCount:this.entityConverter.unknownEntityCount}}safeObjectTio(t){const i=this.libredwg;try{if(i.dwg_object_get_supertype(t)!=Yn.DWG_SUPERTYPE_OBJECT)return null;const n=i.dwg_object_to_object_tio(t);return n||null}catch{return null}}convertHeader(t,i){const n=this.libredwg;wo.forEach(d=>{let _=d;(d=="DIMBLK"||d=="DIMBLK1"||d=="DIMBLK2")&&(_=_+"_T");let u=n.dwg_dynapi_header_data(t,_);d=="CELTYPE"||d=="CLAYER"||d=="CLAYER"||d=="DIMSTYLE"||d=="DIMTXSTY"||d=="TEXTSTYLE"?u=u?n.dwg_ref_get_object_name(u):"":d=="DRAGVS"&&(u=u?n.dwg_ref_get_absref(u)??2:2),i[d]=u})}convertClasses(t,i){const n=this.libredwg,d=n.dwg_get_num_classes(t);for(let _=0;_<d;_++){const u=n.dwg_get_class(t,_);i.push({dxfName:u.dxfname,cppName:u.cppname,appName:u.appname,capabilitiesFlag:u.proxyflag,instanceCount:u.num_instances,wasAProxyFlag:u.s_zombie,isAnEntityFlag:u.item_class_id===498})}}convertAppId(t){const i=this.libredwg,n=i.dwg_dynapi_entity_data(t,"name"),d=i.dwg_dynapi_entity_data(t,"flag");return{name:n,standardFlag:d}}convertBlockRecord(t,i){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,i),_=n.dwg_entity_block_header_get_block(t);_.name&&(d.name=_.name);const u=n.dwg_dynapi_entity_data(t,"num_owned"),f=n.dwg_dynapi_entity_data(t,"flag"),h=n.dwg_dynapi_entity_data(t,"description"),A=n.dwg_dynapi_entity_data(t,"base_pt"),y=n.dwg_dynapi_entity_data(t,"insert_units"),v=n.dwg_dynapi_entity_data(t,"explodable"),p=n.dwg_dynapi_entity_data(t,"block_scaling"),m=n.dwg_dynapi_entity_data(t,"layout"),D=n.dwg_ref_get_id(m)??"";let w;const I=n.dwg_entity_block_header_get_preview(t);I&&I.length>0&&(w=Ke(I));let S=this.convertEntities(i,d.handle);if(!S||S.length==0){S=[];const G=n.dwg_dynapi_entity_data(t,"entities");if(G){const M=n.dwg_ptr_to_object_ref_ptr_array(G,u),b=this.entityConverter;for(let k=0;k<u;k++){const $=n.dwg_ref_get_object(M[k]),q=b.convert($);q&&(q.ownerBlockRecordSoftId=d.handle,S.push(q))}}}if(this.orphanIndexDataPtr!=null){const G=this.convertOrphanOwnedEntities(this.orphanIndexDataPtr,i,d.handle,Gn(d.name)===!0);if(G.length)if(S.length===0)S=G;else{const M=new Set(S.map(b=>b.handle));for(const b of G)M.has(b.handle)||S.push(b)}}return{...d,flags:f,description:h,basePoint:A,layout:D,insertionUnits:y,explodability:v,scalability:p,bmpPreview:w,entities:S}}convertEntities(t,i){const n=this.libredwg,d=this.entityConverter,_=[];let u=n.get_first_owned_entity(t);for(;u;){const f=d.convert(u);f&&(f.ownerBlockRecordSoftId=i,_.push(f)),u=n.get_next_owned_entity(t,u)}return _}convertOrphanOwnedEntities(t,i,n,d){this.ensureOrphanEntityIndex(t);const u=(this.orphanEntitiesByBlock??new Map).get(i)??[],f=d&&this.ownerlessOrphanIndices?this.ownerlessOrphanIndices:[],h=u.length&&f.length?u.concat(f):u.length?u:f;if(h.length===0)return[];const A=this.libredwg,y=this.entityConverter,v=[];for(const p of h){const m=A.dwg_get_object(t,p),D=y.convert(m);D&&(D.ownerBlockRecordSoftId=n,v.push(D))}return v}isOwnedByMissingBlock(t,i){if(!i)return!1;const n=this.libredwg;try{const d=n.dwg_dynapi_common_value(i,"entmode");if(!d.success||Number(d.data)!==0)return!1;const _=n.dwg_dynapi_common_value(i,"ownerhandle");if(!_.success||!_.data)return!1;const u=n.dwg_ref_get_absref(_.data);return u==null?!1:!n.dwg_resolve_handle_silent(t,BigInt(u))}catch{return!1}}ensureOrphanEntityIndex(t){if(this.orphanEntitiesByBlock)return;const i=this.libredwg,n=i.dwg_get_num_objects(t),d=new Map,_=[],u=[],f=new Map;for(let v=0;v<n;v++){const p=i.dwg_get_object(t,v);if(p){if(i.dwg_object_get_supertype(p)===Yn.DWG_SUPERTYPE_ENTITY)_.push(v),d.set(p,v);else if(i.dwg_object_get_fixedtype(p)===L.DWG_TYPE_BLOCK_HEADER){u.push(p);const m=i.dwg_object_to_object_tio(p);m&&f.set(m,p)}}}const h=new Set;for(const v of u){let p=i.get_first_owned_entity(v),m=0;for(;p&&m++<=_.length;){const D=d.get(p);if(D===void 0||h.has(D))break;h.add(D),p=i.get_next_owned_entity(v,p)}}const A=new Map,y=[];for(const v of _){if(h.has(v))continue;const p=i.dwg_get_object(t,v),m=p?i.dwg_object_to_entity_tio(p):0,D=m?i.dwg_entity_owner(m):0,w=D?f.get(D)??0:0;if(w){const I=A.get(w);I?I.push(v):A.set(w,[v])}else this.isOwnedByMissingBlock(t,m)||y.push(v)}this.orphanEntitiesByBlock=A,this.ownerlessOrphanIndices=y}convertDimStyle(t,i){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,i),_=n.dwg_dynapi_entity_data(t,"DIMTOL"),u=n.dwg_dynapi_entity_data(t,"DIMLIM"),f=n.dwg_dynapi_entity_data(t,"DIMTIH"),h=n.dwg_dynapi_entity_data(t,"DIMTOH"),A=n.dwg_dynapi_entity_data(t,"DIMSE1"),y=n.dwg_dynapi_entity_data(t,"DIMSE2"),v=n.dwg_dynapi_entity_data(t,"DIMALT"),p=n.dwg_dynapi_entity_data(t,"DIMTOFL"),m=n.dwg_dynapi_entity_data(t,"DIMSAH"),D=n.dwg_dynapi_entity_data(t,"DIMTIX"),w=n.dwg_dynapi_entity_data(t,"DIMSOXD"),I=n.dwg_dynapi_entity_data(t,"DIMALTD"),S=n.dwg_dynapi_entity_data(t,"DIMZIN"),G=n.dwg_dynapi_entity_data(t,"DIMSD1"),M=n.dwg_dynapi_entity_data(t,"DIMSD2"),b=n.dwg_dynapi_entity_data(t,"DIMTOLJ"),k=n.dwg_dynapi_entity_data(t,"DIMJUST"),$=n.dwg_dynapi_entity_data(t,"DIMFIT"),q=n.dwg_dynapi_entity_data(t,"DIMUPT"),U=n.dwg_dynapi_entity_data(t,"DIMTZIN"),Z=n.dwg_dynapi_entity_data(t,"DIMALTZ"),rt=n.dwg_dynapi_entity_data(t,"DIMALTTZ"),dt=n.dwg_dynapi_entity_data(t,"DIMTAD"),Y=n.dwg_dynapi_entity_data(t,"DIMUNIT"),F=n.dwg_dynapi_entity_data(t,"DIMAUNIT"),ct=n.dwg_dynapi_entity_data(t,"DIMDEC"),it=n.dwg_dynapi_entity_data(t,"DIMTDEC"),Yt=n.dwg_dynapi_entity_data(t,"DIMALTU"),It=n.dwg_dynapi_entity_data(t,"DIMALTTD"),yt=n.dwg_dynapi_entity_data(t,"DIMSCALE"),wt=n.dwg_dynapi_entity_data(t,"DIMASZ"),xt=n.dwg_dynapi_entity_data(t,"DIMEXO"),Ct=n.dwg_dynapi_entity_data(t,"DIMDLI"),kt=n.dwg_dynapi_entity_data(t,"DIMEXE"),ft=n.dwg_dynapi_entity_data(t,"DIMRND"),Dt=n.dwg_dynapi_entity_data(t,"DIMDLE"),zt=n.dwg_dynapi_entity_data(t,"DIMTP"),Ot=n.dwg_dynapi_entity_data(t,"DIMTM"),Nt=n.dwg_dynapi_entity_data(t,"DIMFXL"),Bt=n.dwg_dynapi_entity_data(t,"DIMJOGANG"),Ft=n.dwg_dynapi_entity_data(t,"DIMTFILL"),ne=n.dwg_dynapi_entity_data(t,"DIMTFILLCLR"),re=n.dwg_dynapi_entity_data(t,"DIMAZIN"),ae=n.dwg_dynapi_entity_data(t,"DIMARCSYM"),Ut=n.dwg_dynapi_entity_data(t,"DIMTXT"),Q=n.dwg_dynapi_entity_data(t,"DIMCEN"),V=n.dwg_dynapi_entity_data(t,"DIMTSZ"),$t=n.dwg_dynapi_entity_data(t,"DIMALTF"),oe=n.dwg_dynapi_entity_data(t,"DIMLFAC"),Ht=n.dwg_dynapi_entity_data(t,"DIMTVP"),he=n.dwg_dynapi_entity_data(t,"DIMTFAC"),Ne=n.dwg_dynapi_entity_data(t,"DIMGAP"),Ge=n.dwg_dynapi_entity_data(t,"DIMPOST"),We=n.dwg_dynapi_entity_data(t,"DIMAPOST"),Me=n.dwg_dynapi_entity_data(t,"DIMBLK_T"),be=n.dwg_dynapi_entity_data(t,"DIMBLK1_T"),ge=n.dwg_dynapi_entity_data(t,"DIMBLK2_T"),Ae=n.dwg_dynapi_entity_data(t,"DIMALTRND"),Te=n.dwg_dynapi_entity_data(t,"DIMCLRD_N"),ye=n.dwg_dynapi_entity_data(t,"DIMCLRE_N"),xe=n.dwg_dynapi_entity_data(t,"DIMCLRT_N"),Jt=n.dwg_dynapi_entity_data(t,"DIMCLRD"),Gt=n.dwg_dynapi_entity_data(t,"DIMCLRE"),z=n.dwg_dynapi_entity_data(t,"DIMCLRT"),Pe=n.dwg_dynapi_entity_data(t,"DIMADEC"),Zt=n.dwg_dynapi_entity_data(t,"DIMFRAC"),Rt=n.dwg_dynapi_entity_data(t,"DIMLUNIT"),ie=n.dwg_dynapi_entity_data(t,"DIMDSEP"),St=n.dwg_dynapi_entity_data(t,"DIMTMOVE"),qt=n.dwg_dynapi_entity_data(t,"DIMATFIT"),Wt=n.dwg_dynapi_entity_data(t,"DIMFXLON"),Qt=n.dwg_dynapi_entity_data(t,"DIMTXTDIRECTION"),se=n.dwg_dynapi_entity_data(t,"DIMALTMZF"),pe=n.dwg_dynapi_entity_data(t,"DIMALTMZS"),Pt=n.dwg_dynapi_entity_data(t,"DIMMZF"),ve=n.dwg_dynapi_entity_data(t,"DIMMZS"),_e=n.dwg_dynapi_entity_data(t,"DIMLWD"),B=n.dwg_dynapi_entity_data(t,"DIMLWE"),me=n.dwg_dynapi_entity_data(t,"DIMTXSTY"),Ie=n.dwg_ref_get_absref(me)??void 0,we=n.dwg_dynapi_entity_data(t,"DIMLDRBLK"),Ce=n.dwg_ref_get_absref(we)??void 0;return{...d,DIMPOST:Ge,DIMAPOST:We,DIMBLK:Me,DIMBLK1:be,DIMBLK2:ge,DIMSCALE:yt,DIMASZ:wt,DIMEXO:xt,DIMDLI:Ct,DIMEXE:kt,DIMRND:ft,DIMDLE:Dt,DIMTP:zt,DIMTM:Ot,DIMTXT:Ut,DIMCEN:Q,DIMTSZ:V,DIMALTF:$t,DIMLFAC:oe,DIMTVP:Ht,DIMTFAC:he,DIMGAP:Ne,DIMALTRND:Ae,DIMTOL:_,DIMLIM:u,DIMTIH:f,DIMTOH:h,DIMSE1:A,DIMSE2:y,DIMTAD:dt,DIMZIN:S,DIMAZIN:re,DIMALT:v,DIMALTD:I,DIMTOFL:p,DIMSAH:m,DIMTIX:D,DIMSOXD:w,DIMCLRD:Jt,DIMCLRE:Gt,DIMCLRT:z,DIMADEC:Pe,DIMUNIT:Y,DIMDEC:ct,DIMTDEC:it,DIMALTU:Yt,DIMALTTD:It,DIMAUNIT:F,DIMFRAC:Zt,DIMLUNIT:Rt,DIMDSEP:String.fromCharCode(ie),DIMTMOVE:St,DIMJUST:k,DIMSD1:G,DIMSD2:M,DIMTOLJ:b,DIMTZIN:U,DIMALTZ:Z,DIMALTTZ:rt,DIMFIT:$,DIMUPT:q,DIMATFIT:qt,DIMTXSTY:Ie,DIMLDRBLK:Ce,DIMLWD:_e,DIMLWE:B,DIMFXL:Nt,DIMJOGANG:Bt,DIMTFILL:Ft,DIMTFILLCLR:ne,DIMARCSYM:ae,DIMCLRD_N:Te,DIMCLRE_N:ye,DIMCLRT_N:xe,DIMFXLON:Wt,DIMTXTDIRECTION:Qt,DIMALTMZF:se,DIMALTMZS:pe,DIMMZF:Pt,DIMMZS:ve}}convertLayer(t,i){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,i),_=n.dwg_dynapi_entity_data(t,"flag"),u=n.dwg_dynapi_entity_data(t,"frozen"),f=n.dwg_dynapi_entity_data(t,"off"),h=n.dwg_dynapi_entity_data(t,"frozen_in_new"),A=n.dwg_dynapi_entity_data(t,"plotflockedlag"),y=n.dwg_dynapi_entity_data(t,"plotflag"),v=n.dwg_dynapi_entity_data(t,"linewt"),p=n.dwg_dynapi_entity_data(t,"color"),m=n.dwg_dynapi_entity_data(t,"ltype");let D="Continuous";if(m)try{D=n.dwg_ref_get_object_name(m)}catch{}const w=p.method;let I=256,S=16777215;return w===195||(p.rgb>>>24&255)===195?I=p.rgb&255:w==194||(p.rgb>>>24&255)===194?S=p.rgb&16777215:p.index>=1&&p.index<=255&&(I=p.index),{...d,standardFlag:_,colorIndex:I,color:S,colorName:p.name,transparency:p.alpha,lineType:D,frozen:u!=0,off:f!=0,frozenInNew:h!=0,locked:A!=0,plotFlag:y,lineweight:v,plotStyleNameObjectId:"",materialObjectId:""}}convertLineType(t,i){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,i),_=n.dwg_dynapi_entity_data(t,"flag"),u=n.dwg_dynapi_entity_data(t,"description"),f=n.dwg_dynapi_entity_data(t,"numdashes"),h=n.dwg_dynapi_entity_data(t,"pattern_len"),A=n.dwg_dynapi_entity_data(t,"dashes"),y=A?n.dwg_ptr_to_ltype_dash_array(A,f):[];return{...d,description:u,standardFlag:_,numberOfLineTypes:f,totalPatternLength:h,pattern:this.convertLineTypePattern(y)}}convertLineTypePattern(t){const i=[];return t.forEach(n=>{i.push({elementLength:n.length||0,elementTypeFlag:n.shape_flag||0,shapeNumber:n.complex_shapecode,scale:n.scale,rotation:n.rotation,offsetX:n.x_offset,offsetY:n.y_offset,text:n.text})}),i}convertStyle(t,i){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,i),_=n.dwg_dynapi_entity_data(t,"flag"),u=n.dwg_dynapi_entity_data(t,"width_factor"),f=n.dwg_dynapi_entity_data(t,"oblique_angle"),h=n.dwg_dynapi_entity_data(t,"generation"),A=n.dwg_dynapi_entity_data(t,"last_height"),y=n.dwg_dynapi_entity_data(t,"font_file"),v=n.dwg_dynapi_entity_data(t,"bigfont_file");return{...d,standardFlag:_,fixedTextHeight:0,widthFactor:u,obliqueAngle:f,textGenerationFlag:h,lastHeight:A,font:y,bigFont:v}}convertViewport(t,i){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,i),_=n.dwg_dynapi_entity_data(t,"flag"),u=n.dwg_dynapi_entity_data(t,"VIEWSIZE"),f=n.dwg_dynapi_entity_data(t,"aspect_ratio"),h=n.dwg_dynapi_entity_data(t,"VIEWCTR"),A=n.dwg_dynapi_entity_data(t,"view_target"),y=n.dwg_dynapi_entity_data(t,"VIEWDIR"),v=n.dwg_dynapi_entity_data(t,"view_twist"),p=n.dwg_dynapi_entity_data(t,"lens_length"),m=n.dwg_dynapi_entity_data(t,"front_clip_z"),D=n.dwg_dynapi_entity_data(t,"back_clip_z"),w=n.dwg_dynapi_entity_data(t,"VIEWMODE"),I=n.dwg_dynapi_entity_data(t,"render_mode"),S=n.dwg_dynapi_entity_data(t,"use_default_lights")!=0,G=n.dwg_dynapi_entity_data(t,"default_lightning_type"),M=n.dwg_dynapi_entity_data(t,"brightness"),b=n.dwg_dynapi_entity_data(t,"contrast"),k=n.dwg_dynapi_entity_data(t,"ambient_color"),$=n.dwg_dynapi_entity_data(t,"lower_left"),q=n.dwg_dynapi_entity_data(t,"upper_right"),U=n.dwg_dynapi_entity_data(t,"circle_zoom"),Z=n.dwg_dynapi_entity_data(t,"UCSICON"),rt=n.dwg_dynapi_entity_data(t,"GRIDUNIT"),dt=n.dwg_dynapi_entity_data(t,"SNAPANG"),Y=n.dwg_dynapi_entity_data(t,"SNAPBASE"),F=n.dwg_dynapi_entity_data(t,"SNAPUNIT"),ct=n.dwg_dynapi_entity_data(t,"ucsorg"),it=n.dwg_dynapi_entity_data(t,"ucsxdir"),Yt=n.dwg_dynapi_entity_data(t,"ucsydir"),It=n.dwg_dynapi_entity_data(t,"ucs_elevation"),yt=n.dwg_dynapi_entity_data(t,"grid_major"),wt=n.dwg_dynapi_entity_data(t,"background"),xt=wt?n.dwg_ref_get_id(wt)??"":void 0,Ct=n.dwg_dynapi_entity_data(t,"visualstyle"),kt=Ct?n.dwg_ref_get_id(Ct)??"":void 0;return{...d,standardFlag:_,lowerLeftCorner:$,upperRightCorner:q,center:h,snapBasePoint:Y,snapSpacing:F,gridSpacing:rt,viewDirectionFromTarget:y,viewTarget:A,lensLength:p,frontClippingPlane:m,backClippingPlane:D,viewHeight:u,aspectRatio:f,snapRotationAngle:dt,viewTwistAngle:v,circleSides:U,frozenLayers:[],styleSheet:"",renderMode:I,viewMode:w,ucsIconSetting:Z,ucsOrigin:ct,ucsXAxis:it,ucsYAxis:Yt,orthographicType:0,elevation:It,shadePlotSetting:0,majorGridLines:yt,backgroundObjectId:xt,visualStyleObjectId:kt,isDefaultLightingOn:S,defaultLightingType:G,brightness:M,contrast:b,ambientColor:k.index}}getCommonTableEntryAttrs(t,i){const n=this.libredwg,d=n.dwg_object_get_tio(i),_=n.dwg_object_object_get_ownerhandle_object(d),u=n.dwg_object_get_handle_object(i);return{handle:Tt(u.value),ownerHandle:Tt(_.absolute_ref),name:n.dwg_dynapi_entity_data(t,"name")}}convertDictionary(t,i){const n=this.libredwg,d=this.getCommonObjectAttrs(i),_=n.dwg_dynapi_entity_data(t,"is_hardowner"),u=n.dwg_dynapi_entity_data(t,"cloning"),f=n.dwg_dynapi_entity_data(t,"numitems"),h=n.dwg_dynapi_entity_data(t,"itemhandles"),A=n.dwg_ptr_to_object_ref_array(h,f),y=n.dwg_object_dictionary_get_texts(i),v={};return A.forEach((p,m)=>v[y[m]]=Tt(p.absolute_ref)),{...d,isHardOwner:!!_,cloningFlag:u,entries:v}}convertImageDef(t,i){const n=this.libredwg,d=this.getCommonObjectAttrs(i),_=n.dwg_dynapi_entity_data(t,"image_size"),u=n.dwg_dynapi_entity_data(t,"file_path"),f=n.dwg_dynapi_entity_data(t,"is_loaded"),h=n.dwg_dynapi_entity_data(t,"pixel_size"),A=n.dwg_dynapi_entity_data(t,"resunits");return{...d,fileName:u,size:_,sizeOfOnePixel:h,isLoaded:f,resolutionUnits:A}}convertLayerFilter(t,i){const n=this.libredwg,d=this.getCommonObjectAttrs(i),_=n.dwg_dynapi_entity_data(t,"num_names")??0,u=n.dwg_dynapi_entity_data(t,"names"),f=u&&_>0?n.dwg_ptr_to_wchar_string_array(u,_).filter(h=>h!=null&&h!==""):[];return{...d,...f.length?{layerNames:f}:{}}}convertLayerIndex(t,i){const n=this.libredwg,d=this.getCommonObjectAttrs(i),_=n.dwg_dynapi_entity_data(t,"last_updated"),u=n.dwg_dynapi_entity_data(t,"num_entries")??0,f=n.dwg_dynapi_entity_data(t,"entries"),h=n.dwg_dynapi_subclass_size("LAYER_entry"),A=[],y=[],v=[];if(f&&h>0)for(let p=0;p<u;p++){const m=f+p*h,D=n.dwg_dynapi_subclass_data(m,"LAYER_entry","name");A.push(D??"");const w=n.dwg_dynapi_subclass_data(m,"LAYER_entry","handle");y.push(w?n.dwg_ref_get_id(w)??"":""),v.push(n.dwg_dynapi_subclass_data(m,"LAYER_entry","numlayers")??0)}return{...d,..._!=null?{timeStamp:_}:{},...A.length?{layerNames:A}:{},...y.length?{idBufferIds:y}:{},...v.length?{idBufferEntryCounts:v}:{}}}convertLayout(t,i){const n=this.libredwg,d=this.getCommonObjectAttrs(i),_=n.dwg_dynapi_entity_data(t,"layout_name"),u=n.dwg_dynapi_entity_data(t,"tab_order"),f=n.dwg_dynapi_entity_data(t,"layout_flags"),h=n.dwg_dynapi_entity_data(t,"INSBASE"),A=n.dwg_dynapi_entity_data(t,"LIMMIN"),y=n.dwg_dynapi_entity_data(t,"LIMMAX"),v=n.dwg_dynapi_entity_data(t,"UCSORG"),p=n.dwg_dynapi_entity_data(t,"UCSXDIR"),m=n.dwg_dynapi_entity_data(t,"UCSYDIR"),D=n.dwg_dynapi_entity_data(t,"UCSORTHOVIEW"),w=n.dwg_dynapi_entity_data(t,"EXTMIN"),I=n.dwg_dynapi_entity_data(t,"EXTMAX"),S=n.dwg_dynapi_entity_data(t,"ucs_elevation"),G=n.dwg_dynapi_entity_data(t,"block_header"),M=n.dwg_ref_get_id(G)??"",b=n.dwg_dynapi_entity_data(t,"active_viewport"),k=n.dwg_ref_get_id(b)??"",$=n.dwg_dynapi_entity_data(t,"named_ucs"),q=$?n.dwg_ref_get_id($)??"":void 0;return{...d,layoutName:_,controlFlag:f,tabOrder:u,minLimit:A,maxLimit:y,insertionPoint:h,minExtent:w,maxExtent:I,elevation:S,ucsOrigin:v,ucsXAxis:p,ucsYAxis:m,orthographicType:D,paperSpaceTableId:M,viewportId:k,namedUcsId:q,shadePlotId:""}}convertMLeaderStyle(t,i){const n=this.libredwg,d=this.getCommonObjectAttrs(i),_=A=>n.dwg_dynapi_entity_data(t,A),u=A=>n.dwg_ref_get_id(A),f=A=>A>0,h=A=>A!=null?fr(A):void 0;return{...d,subclassMarker:"AcDbMLeaderStyle",unknown1:_("class_version"),contentType:_("content_type"),drawMLeaderOrderType:_("mleader_order"),drawLeaderOrderType:_("leader_order"),maxLeaderSegmentPoints:_("max_points"),firstSegmentAngleConstraint:_("first_seg_angle"),secondSegmentAngleConstraint:_("second_seg_angle"),leaderLineType:_("type"),leaderLineColor:h(_("line_color")),leaderLineTypeId:u(_("line_type")),leaderLineWeight:_("linewt"),landingEnabled:f(_("has_landing")),landingGap:_("landing_gap"),doglegEnabled:f(_("has_dogleg")),doglegLength:_("landing_dist"),description:_("description"),arrowheadId:u(_("arrow_head")),arrowheadSize:_("arrow_head_size"),defaultMTextContents:_("text_default"),textStyleId:u(_("text_style")),textLeftAttachmentType:_("attach_left"),textAngleType:_("text_angle_type"),textAlignmentType:_("text_align_type"),textRightAttachmentType:_("attach_right"),textColor:h(_("text_color")),textHeight:_("text_height"),textFrameEnabled:f(_("has_text_frame")),textAlignAlwaysLeft:f(_("text_always_left")),alignSpace:_("align_space"),blockContentId:u(_("block")),blockContentColor:h(_("block_color")),blockContentScale:_("block_scale"),blockContentScaleEnabled:f(_("use_block_scale")),blockContentRotation:_("block_rotation"),blockContentRotationEnabled:f(_("use_block_rotation")),blockContentConnectionType:_("block_connection"),scale:_("scale"),overwritePropertyValue:f(_("is_changed")),annotative:f(_("is_annotative")),breakGapSize:_("break_size"),textAttachmentDirection:_("attach_dir"),bottomTextAttachmentDirection:_("attach_bottom"),topTextAttachmentDirection:_("attach_top"),unknown2:f(_("text_extended"))}}convertSpatialFilter(t,i){const n=this.libredwg,d=this.getCommonObjectAttrs(i),_=n.dwg_dynapi_entity_data(t,"origin"),u=n.dwg_dynapi_entity_data(t,"num_clip_verts"),f=n.dwg_dynapi_entity_data(t,"clip_verts"),h=n.dwg_ptr_to_point2d_array(f,u),A=n.dwg_dynapi_entity_data(t,"extrusion"),y=n.dwg_dynapi_entity_data(t,"display_boundary_on"),v=n.dwg_dynapi_entity_data(t,"front_clip_on"),p=n.dwg_dynapi_entity_data(t,"front_clip_z"),m=n.dwg_dynapi_entity_data(t,"back_clip_on"),D=n.dwg_dynapi_entity_data(t,"back_clip_z"),w=n.dwg_dynapi_entity_data(t,"transform"),I=n.dwg_ptr_to_double_array(w,12),S=n.dwg_dynapi_entity_data(t,"inverse_transform"),G=n.dwg_ptr_to_double_array(S,12);return{...d,origin:_,numberOfPointsOnClipBoundary:u,vertices:h,extrusionDirection:A,clipBoundaryVisible:!!y,frontClippingPlaneFlag:!!v,frontClippingPlaneDistance:p,backClippingPlaneFlag:!!m,backClippingPlaneDistance:D,matrix:I,invertBlockMatrix:G}}convertGroup(t,i){const n=this.libredwg,d=this.getCommonObjectAttrs(i),_=n.dwg_dynapi_entity_data(t,"name")??"",u=!!n.dwg_dynapi_entity_data(t,"unnamed"),f=n.dwg_dynapi_entity_data(t,"selectable"),h=f!=null?!!f:!0,A=n.dwg_dynapi_entity_data(t,"num_groups")??0,y=n.dwg_dynapi_entity_data(t,"groups")??0,p=(A>0&&y?n.dwg_ptr_to_object_ref_array(y,A):[]).map(m=>Tt(m.absolute_ref));return{...d,description:_,unnamed:u,selectable:h,objectHandles:p}}convertXRecord(t,i){const n=this.libredwg,d=this.getCommonObjectAttrs(i),_=n.dwg_dynapi_entity_data(t,"cloning"),u=n.dwg_object_xrecord_get_xdata(t)??[],f=n.dwg_object_get_tio(i),h=f?n.dwg_object_object_get_xdicobjhandle_object(f):null,A=h&&h.absolute_ref?Tt(h.absolute_ref):void 0;return{...d,..._!=null?{cloning:_}:{},...A?{extensionDictionary:A}:{},data:u}}getCommonObjectAttrs(t){const i=this.libredwg,n=i.dwg_object_get_tio(t),d=i.dwg_object_object_get_ownerhandle_object(n),_=i.dwg_object_get_handle_object(t);return{handle:Tt(_.value),ownerHandle:Tt(d.absolute_ref)}}}class pt{constructor(){nt(this,"min"),nt(this,"max"),nt(this,"valid"),this.min={x:1/0,y:1/0},this.max={x:-1/0,y:-1/0},this.valid=!1}expandByPoint(t){return this.min.x=Math.min(this.min.x,t.x),this.min.y=Math.min(this.min.y,t.y),this.max.x=Math.max(this.max.x,t.x),this.max.y=Math.max(this.max.y,t.y),this.valid=!0,this}transform(t,i){const n=this.getCorners().map(d=>({x:d.x*t.x+i.x,y:d.y*t.y+i.y}));this.reset();for(const d of n)this.expandByPoint(d);return this}rotate(t,i){const n=Math.cos(t),d=Math.sin(t),_=this.getCorners().map(u=>{const f=u.x-i.x,h=u.y-i.y;return{x:i.x+f*n-h*d,y:i.y+f*d+h*n}});this.reset();for(const u of _)this.expandByPoint(u);return this}clone(){const t=new pt;return t.min={x:this.min.x,y:this.min.y},t.max={x:this.max.x,y:this.max.y},t.valid=this.valid,t}reset(){this.min={x:1/0,y:1/0},this.max={x:-1/0,y:-1/0},this.valid=!1}getCorners(){return[{x:this.min.x,y:this.min.y},{x:this.min.x,y:this.max.y},{x:this.max.x,y:this.min.y},{x:this.max.x,y:this.max.y}]}}function Mo(a,t,i,n,d){const _=i.length;if(_===0)throw new Error("points must not be empty");const u=i[0].length;if(a<0||a>1)throw new Error(`t out of bounds [0,1]: ${a}`);if(t<1)throw new Error("degree must be at least 1 (linear)");if(t>_-1)throw new Error("degree must be less than or equal to point count - 1");const f=d??new Array(_).fill(1),h=n??(()=>{const w=[];for(let I=0;I<_+t+1;I++)w.push(I);return w})();if(h.length!==_+t+1)throw new Error("bad knot vector length");const A=[t,h.length-1-t],y=h[A[0]],v=h[A[1]];a=a*(v-y)+y,a=Math.max(a,y),a=Math.min(a,v);let p=A[0];for(;p<A[1]&&!(a>=h[p]&&a<=h[p+1]);p++);const m=new Array(_);for(let w=0;w<_;w++){m[w]=new Array(u+1);for(let I=0;I<u;I++)m[w][I]=i[w][I]*f[w];m[w][u]=f[w]}for(let w=1;w<=t+1;w++)for(let I=p;I>p-t-1+w;I--){const S=h[I+t+1-w]-h[I],G=S===0?0:(a-h[I])/S;for(let M=0;M<u+1;M++)m[I][M]=(1-G)*m[I-1][M]+G*m[I][M]}const D=new Array(u);for(let w=0;w<u;w++)D[w]=bo(m[p][w]/m[p][u],-9);return D}function bo(a,t){if(isNaN(a)||!Number.isInteger(t))return NaN;const[i,n="0"]=a.toString().split("e"),d=Math.round(+`${i}e${+n-t}`),[_,u="0"]=d.toString().split("e");return+`${_}e${+u+t}`}const dn={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},Cn=[0,16711680,16776960,65280,65535,255,16711935,16777215,8421504,12632256,16711680,16744319,13369344,13395558,10027008,10046540,8323072,8339263,4980736,4990502,16727808,16752511,13382400,13401958,10036736,10051404,8331008,8343359,4985600,4992806,16744192,16760703,13395456,13408614,10046464,10056268,8339200,8347455,4990464,4995366,16760576,16768895,13408512,13415014,10056192,10061132,8347392,8351551,4995328,4997670,16776960,16777087,13421568,13421670,10000384,10000460,8355584,8355647,5000192,5000230,12582656,14679935,10079232,11717734,7510016,8755276,6258432,7307071,3755008,4344870,8388352,12582783,6736896,10079334,5019648,7510092,4161280,6258495,2509824,3755046,4194048,10485631,3394560,8375398,2529280,6264908,2064128,5209919,1264640,3099686,65280,8388479,52224,6736998,38912,5019724,32512,4161343,19456,2509862,65343,8388511,52275,6737023,38950,5019743,32543,4161359,19475,2509871,65407,8388543,52326,6737049,38988,5019762,32575,4161375,19494,2509881,65471,8388575,52377,6737074,39026,5019781,32607,4161391,19513,2509890,65535,8388607,52428,6737100,39064,5019800,32639,4161407,19532,2509900,49151,8380415,39372,6730444,29336,5014936,24447,4157311,14668,2507340,32767,8372223,26316,6724044,19608,5010072,16255,4153215,9804,2505036,16383,8364031,13260,6717388,9880,5005208,8063,4149119,4940,2502476,255,8355839,204,6710988,152,5000344,127,4145023,76,2500172,4129023,10452991,3342540,8349388,2490520,6245528,2031743,5193599,1245260,3089996,8323327,12550143,6684876,10053324,4980888,7490712,4128895,6242175,2490444,3745356,12517631,14647295,10027212,11691724,7471256,8735896,6226047,7290751,3735628,4335180,16711935,16744447,13369548,13395660,9961624,9981080,8323199,8339327,4980812,4990540,16711871,16744415,13369497,13395634,9961586,9981061,8323167,8339311,4980793,4990530,16711807,16744383,13369446,13395609,9961548,9981042,8323135,8339295,4980774,4990521,16711743,16744351,13369395,13395583,9961510,9981023,8323103,8339279,4980755,4990511,3355443,5987163,8684676,11382189,14079702,16777215,0];function He(a,t,i){return Math.max(t,Math.min(i,a))}const hr=class gr{constructor(){nt(this,"_colorIndex"),nt(this,"_color"),nt(this,"_colorName"),this._colorIndex=256,this._color=null,this._colorName=null}get color(){return this._color}set color(t){t==null?this._color=null:(this._color=Math.round(He(t,0,256*256*256-1)),this._colorIndex=this.getColorIndexByValue(this._color),this._colorName=this.getColorNameByValue(this._color))}get hexColor(){if(this._color&&this._color>0&&this._color<=16777215){let t=this._color.toString(16).toUpperCase();for(;t.length<6;)t="0"+t;return`0x${t}`}return""}get cssColor(){return`rgb(${this.red},${this.green},${this.blue})`}get red(){return this.color!=null?this.color>>16&255:null}get green(){return this.color!=null?this.color>>8&255:null}get blue(){return this.color!=null?this.color&255:null}get colorIndex(){return this._colorIndex}set colorIndex(t){t==null?this._colorIndex=null:(this._colorIndex=He(t,0,256),this._color=Cn[t],this._colorName=this.getColorNameByValue(this._color))}get colorName(){return this._colorName}set colorName(t){if(t){const i=dn[t.toLowerCase()];i!==void 0&&(this._colorName=t,this._color=i,this._colorIndex=this.getColorIndexByValue(this._color))}else this._colorName=null}get hasColorName(){return this._colorName==null}get hasColorIndex(){return this._colorIndex==null}get isByLayer(){return this.colorIndex==256}setByLayer(){return this.colorIndex=256,this}get isByBlock(){return this.colorIndex==0}setByBlock(){return this.colorIndex=0,this}setScalar(t){return this.setRGB(t,t,t),this}setRGB(t,i,n){const d=Math.round(He(t,0,255)),_=Math.round(He(i,0,255)),u=Math.round(He(n,0,255));return this.color=(d<<16)+(_<<8)+u,this}setColorName(t){const i=dn[t.toLowerCase()];return i!==void 0&&(this.color=i),this}clone(){const t=new gr;return t.colorIndex=this.colorIndex,t.color=this.color,t._colorName=this._colorName,this}copy(t){return this.colorIndex=t.colorIndex,this.color=t.color,this._colorName=t._colorName,this}equals(t){return t.color==this.color&&t.colorIndex==this.colorIndex&&t._colorName==this._colorName}toString(){return this.isByLayer?"ByLayer":this.isByBlock?"ByBlock":this.colorName?this.colorName:this.hexColor}getColorNameByValue(t){for(const[i,n]of Object.entries(dn))if(n===t)return i;return null}getColorIndexByValue(t){const i=Cn.length-1;for(let n=1;n<i;++n)if(Cn[n]===t)return n;return null}};nt(hr,"NAMES",dn);let xo=hr;class mt{constructor(t,i){nt(this,"x"),nt(this,"y"),this.x=t,this.y=i}add(t){return new mt(this.x+t.x,this.y+t.y)}sub(t){return new mt(this.x-t.x,this.y-t.y)}multiply(t){return new mt(this.x*t,this.y*t)}length(){return Math.sqrt(this.x**2+this.y**2)}norm(){const t=this.length();return t===0?new mt(0,0):new mt(this.x/t,this.y/t)}}function ko(a,t,i,n=5){let d,_,u;i<0?(d=Math.atan(-i)*4,_=new mt(a.x,a.y),u=new mt(t.x,t.y)):(d=Math.atan(i)*4,_=new mt(t.x,t.y),u=new mt(a.x,a.y));const f=u.sub(_),h=f.length(),A=_.add(f.multiply(.5)),y=Math.abs(h/2/Math.tan(d/2)),v=f.norm(),p=new mt(v.x*Math.cos(Math.PI/2)-v.y*Math.sin(Math.PI/2),v.y*Math.cos(Math.PI/2)+v.x*Math.sin(Math.PI/2)),m=d<Math.PI?A.add(p.multiply(-y)):A.add(p.multiply(y)),D=Math.atan2(u.y-m.y,u.x-m.x)/Math.PI*180;let w=Math.atan2(_.y-m.y,_.x-m.x)/Math.PI*180;w<D&&(w+=360);const I=u.sub(m).length(),S=Math.floor(D/n)*n+n,G=Math.ceil(w/n)*n-n,M=[];for(let b=S;b<=G;b+=n){const k=b/180*Math.PI,$=m.add(new mt(Math.cos(k)*I,Math.sin(k)*I));M.push($)}return i<0&&M.reverse(),M}function Oo(a,t=!1){let i=[];const n=a.vertices.map(d=>({x:d.x,y:d.y,bulge:d.bulge}));t&&n.push(n[0]);for(let d=0,_=n.length;d<_-1;++d){const u=n[d],f=n[d+1];i.push(u),n[d].bulge&&(i=i.concat(ko(u,f,a.vertices[d].bulge))),d===_-2&&i.push(f)}return i}class Bo{constructor(){nt(this,"blockMap",new Map)}rotate(t,i){const n=Math.cos(i),d=Math.sin(i);return{x:t.x*n-t.y*d,y:t.x*d+t.y*n}}interpolateBSpline(t,i,n,d=25,_){const u=[],f=t.map(y=>[y.x,y.y]),h=[n[i]],A=[n[i],n[n.length-1-i]];for(let y=i+1;y<n.length-i;++y)h[h.length-1]!==n[y]&&h.push(n[y]);for(let y=1;y<h.length;++y){const v=h[y-1],p=h[y];for(let m=0;m<=d;++m){let w=(m/d*(p-v)+v-A[0])/(A[1]-A[0]);w=Math.max(0,Math.min(1,w));const I=Mo(w,i,f,n,_);u.push({x:I[0],y:I[1]})}}return u}addFlipXIfApplicable(t,{bbox:i,element:n}){return"extrusionDirection"in t&&t.extrusionDirection.z===-1?{bbox:new pt().expandByPoint({x:-i.min.x,y:i.min.y}).expandByPoint({x:-i.max.x,y:i.max.y}),element:`<g transform="matrix(-1 0 0 1 0 0)">${n}</g>`}:{bbox:i,element:n}}line(t){const i=new pt().expandByPoint({x:t.startPoint.x,y:t.startPoint.y}).expandByPoint({x:t.endPoint.x,y:t.endPoint.y}),n=`<line x1="${t.startPoint.x}" y1="${t.startPoint.y}" x2="${t.endPoint.x}" y2="${t.endPoint.y}" />`;return{bbox:i,element:n}}ray(t){const n=t.firstPoint,d={x:n.x+t.unitDirection.x*1e4,y:n.y+t.unitDirection.y*1e4},_=new pt().expandByPoint(n).expandByPoint(d),u=`<line x1="${n.x}" y1="${n.y}" x2="${d.x}" y2="${d.y}" />`;return{bbox:_,element:u}}xline(t){const n={x:t.firstPoint.x-t.unitDirection.x*1e4,y:t.firstPoint.y-t.unitDirection.y*1e4},d={x:t.firstPoint.x+t.unitDirection.x*1e4,y:t.firstPoint.y+t.unitDirection.y*1e4},_=new pt().expandByPoint(n).expandByPoint(d),u=`<line x1="${n.x}" y1="${n.y}" x2="${d.x}" y2="${d.y}" />`;return{bbox:_,element:u}}extractMTextLines(t){return t.replace(/\\U\+([0-9A-Fa-f]{4})/g,(i,n)=>String.fromCharCode(parseInt(n,16))).replace(/\\P/g,`
18
18
  `).replace(/\\[LOlo]/g,"").replace(/\\[Ff][^;\\]*?(?:\|[^;\\]*)*;/g,"").replace(/\\[KkCcHhWwTtAa][^;\\]*;?/g,"").replace(/\\[a-zA-Z]+;?/g,"").replace(/%%(d|p|c|%)/gi,"").replace(/\\\\/g,"\\").replace(/\\~/g," ").replace(/[{}]/g,"").split(`
19
- `).map(i=>i.trim()).filter(i=>i.length>0)}lines(t,i,n,d,_="start"){const u=new yt().expandByPoint({x:n.x,y:n.y}).expandByPoint({x:n.x+d,y:n.y-t.length*i*1.5}),f=t.map((h,A)=>{const P=n.x,p=n.y-A*i*1.5,v=`translate(${P},${p}) scale(1,-1) translate(${-P},${-p})`;return`<text x="${P}" y="${p}" font-size="${i}" text-anchor="${_}" transform="${v}">${h}</text>`});return{bbox:u,element:f.join(`
20
- `)}}mtext(t){const i=t.textHeight,n=t.insertionPoint,d=this.extractMTextLines(t.text),_=t.attachmentPoint;let u="start";return _==Ee.BottomCenter||_==Ee.MiddleCenter||_==Ee.TopCenter?u="middle":(_==Ee.BottomRight||_==Ee.MiddleRight||_==Ee.TopRight)&&(u="end"),this.lines(d,i,n,t.extentsWidth,u)}table(t){const{rowCount:i,columnCount:n,rowHeightArr:d,columnWidthArr:_,startPoint:u,cells:f}=t,h=u.x,A=u.y,P=[];for(let m=0,S=A;m<i;m++){const G=d[m];let M=h;for(let b=0;b<n;b++){const k=m*n+b,$=f[k],q=_[b];P.push({x:M,y:S,width:q,height:G,cell:$,row:m,col:b}),M+=q}S+=G}const p=P.map(({x:m,y:S,width:G,height:M,cell:b})=>{const k=[];b.topBorderVisibility&&k.push(`<line x1="${m}" y1="${S}" x2="${m+G}" y2="${S}" stroke="black" />`),b.bottomBorderVisibility&&k.push(`<line x1="${m}" y1="${S+M}" x2="${m+G}" y2="${S+M}" stroke="black" />`),b.leftBorderVisibility&&k.push(`<line x1="${m}" y1="${S}" x2="${m}" y2="${S+M}" stroke="black" />`),b.rightBorderVisibility&&k.push(`<line x1="${m+G}" y1="${S}" x2="${m+G}" y2="${S+M}" stroke="black" />`);const $=m+G/2,q=S+M/2+b.textHeight/3,U=`<text x="${$}" y="${q}" font-size="${b.textHeight}" text-anchor="middle" dominant-baseline="middle">${b.text}</text>`;return[...k,U].join(`
19
+ `).map(i=>i.trim()).filter(i=>i.length>0)}lines(t,i,n,d,_="start"){const u=new pt().expandByPoint({x:n.x,y:n.y}).expandByPoint({x:n.x+d,y:n.y-t.length*i*1.5}),f=t.map((h,A)=>{const y=n.x,v=n.y-A*i*1.5,p=`translate(${y},${v}) scale(1,-1) translate(${-y},${-v})`;return`<text x="${y}" y="${v}" font-size="${i}" text-anchor="${_}" transform="${p}">${h}</text>`});return{bbox:u,element:f.join(`
20
+ `)}}mtext(t){const i=t.textHeight,n=t.insertionPoint,d=this.extractMTextLines(t.text),_=t.attachmentPoint;let u="start";return _==Ee.BottomCenter||_==Ee.MiddleCenter||_==Ee.TopCenter?u="middle":(_==Ee.BottomRight||_==Ee.MiddleRight||_==Ee.TopRight)&&(u="end"),this.lines(d,i,n,t.extentsWidth,u)}table(t){const{rowCount:i,columnCount:n,rowHeightArr:d,columnWidthArr:_,startPoint:u,cells:f}=t,h=u.x,A=u.y,y=[];for(let I=0,S=A;I<i;I++){const G=d[I];let M=h;for(let b=0;b<n;b++){const k=I*n+b,$=f[k],q=_[b];y.push({x:M,y:S,width:q,height:G,cell:$,row:I,col:b}),M+=q}S+=G}const v=y.map(({x:I,y:S,width:G,height:M,cell:b})=>{const k=[];b.topBorderVisibility&&k.push(`<line x1="${I}" y1="${S}" x2="${I+G}" y2="${S}" stroke="black" />`),b.bottomBorderVisibility&&k.push(`<line x1="${I}" y1="${S+M}" x2="${I+G}" y2="${S+M}" stroke="black" />`),b.leftBorderVisibility&&k.push(`<line x1="${I}" y1="${S}" x2="${I}" y2="${S+M}" stroke="black" />`),b.rightBorderVisibility&&k.push(`<line x1="${I+G}" y1="${S}" x2="${I+G}" y2="${S+M}" stroke="black" />`);const $=I+G/2,q=S+M/2+b.textHeight/3,U=`<text x="${$}" y="${q}" font-size="${b.textHeight}" text-anchor="middle" dominant-baseline="middle">${b.text}</text>`;return[...k,U].join(`
21
21
  `)}).join(`
22
- `),v=_.reduce((m,S)=>m+S,0),I=d.reduce((m,S)=>m+S,0),D=new yt().expandByPoint({x:h,y:A}).expandByPoint({x:h+v,y:A+I}),w=`
23
- <svg xmlns="http://www.w3.org/2000/svg" width="${v}" height="${I}" viewBox="${h} ${A} ${v} ${I}">
24
- ${p}
22
+ `),p=_.reduce((I,S)=>I+S,0),m=d.reduce((I,S)=>I+S,0),D=new pt().expandByPoint({x:h,y:A}).expandByPoint({x:h+p,y:A+m}),w=`
23
+ <svg xmlns="http://www.w3.org/2000/svg" width="${p}" height="${m}" viewBox="${h} ${A} ${p} ${m}">
24
+ ${v}
25
25
  </svg>
26
- `.trim();return{bbox:D,element:w}}text(t){const i=t.textHeight,n=t.startPoint,d=[t.text];let _=t.endPoint.x-t.endPoint.x;t.halign==0&&(_=t.text.length*i+t.startPoint.x);let u="start";return t.halign==Ln.CENTER?u="middle":t.halign==Ln.RIGHT&&(u="end"),this.lines(d,i,n,_,u)}vertices(t,i=!1){const n=t.reduce((_,u)=>_.expandByPoint(u),new yt);let d=t.reduce((_,u,f)=>(_+=f===0?"M":"L",_+=u.x+","+u.y,_),"");return i&&(d+="Z"),{bbox:n,element:`<path d="${d}" />`}}circle(t){const i=new yt().expandByPoint({x:t.center.x+t.radius,y:t.center.y+t.radius}).expandByPoint({x:t.center.x-t.radius,y:t.center.y-t.radius}),n=`<circle cx="${t.center.x}" cy="${t.center.y}" r="${t.radius}" />`;return{bbox:i,element:n}}ellipseOrArc(t,i,n,d,_,u,f){const h=Math.sqrt(n*n+d*d),A=_*h,P=-Math.atan2(-d,n),p=this.bboxEllipseOrArc(t,i,n,d,_,u,f);if(Math.abs(u-f)<1e-9||Math.abs(u-f+Math.PI*2)<1e-9){const v=`<g transform="rotate(${P/Math.PI*180} ${t}, ${i})"><ellipse cx="${t}" cy="${i}" rx="${h}" ry="${A}" /></g>`;return{bbox:p,element:v}}else{const v=this.rotate({x:Math.cos(u)*h,y:Math.sin(u)*A},P),I={x:t+v.x,y:i+v.y},D=this.rotate({x:Math.cos(f)*h,y:Math.sin(f)*A},P),w={x:t+D.x,y:i+D.y},S=(f<u?f+Math.PI*2:f)-u<Math.PI?0:1,M=`<path d="${`M ${I.x} ${I.y} A ${h} ${A} ${P/Math.PI*180} ${S} 1 ${w.x} ${w.y}`}" />`;return{bbox:p,element:M}}}bboxEllipseOrArc(t,i,n,d,_,u,f){for(;u<0;)u+=Math.PI*2;for(;f<=u;)f+=Math.PI*2;const h=[];if(Math.abs(n)<1e-12||Math.abs(d)<1e-12)for(let I=0;I<4;I++)h.push(I/2*Math.PI);else h[0]=Math.atan(-d*_/n)-Math.PI,h[1]=Math.atan(n*_/d)-Math.PI,h[2]=h[0]-Math.PI,h[3]=h[1]-Math.PI;for(let I=4;I>=0;I--){for(;h[I]<u;)h[I]+=Math.PI*2;h[I]>f&&h.splice(I,1)}h.push(u),h.push(f);const A=h.map(I=>({x:Math.cos(I),y:Math.sin(I)})),P=[[n,-d*_],[d,n*_]];return A.map(I=>({x:I.x*P[0][0]+I.y*P[0][1]+t,y:I.x*P[1][0]+I.y*P[1][1]+i})).reduce((I,D)=>(I.expandByPoint(D),I),new yt)}ellipse(t){const{bbox:i,element:n}=this.ellipseOrArc(t.center.x,t.center.y,t.majorAxisEndPoint.x,t.majorAxisEndPoint.y,t.axisRatio,t.startAngle,t.endAngle);return{bbox:i,element:n}}arc(t){const{bbox:i,element:n}=this.ellipseOrArc(t.center.x,t.center.y,t.radius,0,1,t.startAngle,t.endAngle);return{bbox:i,element:n}}dimension(t){const i=this.blockMap.get(t.name);return i?{bbox:i.bbox,element:`<use href="#${t.name}" />`}:null}insert(t){const i=this.blockMap.get(t.name);if(i){const n=t.insertionPoint,d=t.rotation*(180/Math.PI),_=`translate(${n.x},${n.y}) rotate(${d}) scale(${t.xScale},${t.yScale})`;return{bbox:i.bbox.clone().transform({x:t.xScale,y:t.yScale},{x:n.x,y:n.y}).rotate(t.rotation,n),element:`<use href="#${t.name}" transform="${_}" />`}}return null}block(t,i){const n=t.entities,{bbox:d,elements:_}=n.reduce((u,f)=>{const h=this.entityToBoundsAndElement(f);if(h){const{bbox:A,element:P}=h;A.valid&&(u.bbox.expandByPoint(A.min),u.bbox.expandByPoint(A.max));const p=this.getEntityColor(i.tables.LAYER.entries,f),v=f.type=="TEXT"||f.type=="MTEXT"?p.cssColor:"none";p.isByBlock?u.elements.push(`<g id="${f.handle}">${P}</g>`):u.elements.push(`<g id="${f.handle}" stroke="${p.cssColor}" fill="${v}">${P}</g>`)}return u},{bbox:new yt,elements:[]});return d.valid?{bbox:d,element:`<g id="${t.name}">${_.join(`
26
+ `.trim();return{bbox:D,element:w}}text(t){const i=t.textHeight,n=t.startPoint,d=[t.text];let _=t.endPoint.x-t.endPoint.x;t.halign==0&&(_=t.text.length*i+t.startPoint.x);let u="start";return t.halign==Ln.CENTER?u="middle":t.halign==Ln.RIGHT&&(u="end"),this.lines(d,i,n,_,u)}vertices(t,i=!1){const n=t.reduce((_,u)=>_.expandByPoint(u),new pt);let d=t.reduce((_,u,f)=>(_+=f===0?"M":"L",_+=u.x+","+u.y,_),"");return i&&(d+="Z"),{bbox:n,element:`<path d="${d}" />`}}circle(t){const i=new pt().expandByPoint({x:t.center.x+t.radius,y:t.center.y+t.radius}).expandByPoint({x:t.center.x-t.radius,y:t.center.y-t.radius}),n=`<circle cx="${t.center.x}" cy="${t.center.y}" r="${t.radius}" />`;return{bbox:i,element:n}}ellipseOrArc(t,i,n,d,_,u,f){const h=Math.sqrt(n*n+d*d),A=_*h,y=-Math.atan2(-d,n),v=this.bboxEllipseOrArc(t,i,n,d,_,u,f);if(Math.abs(u-f)<1e-9||Math.abs(u-f+Math.PI*2)<1e-9){const p=`<g transform="rotate(${y/Math.PI*180} ${t}, ${i})"><ellipse cx="${t}" cy="${i}" rx="${h}" ry="${A}" /></g>`;return{bbox:v,element:p}}else{const p=this.rotate({x:Math.cos(u)*h,y:Math.sin(u)*A},y),m={x:t+p.x,y:i+p.y},D=this.rotate({x:Math.cos(f)*h,y:Math.sin(f)*A},y),w={x:t+D.x,y:i+D.y},S=(f<u?f+Math.PI*2:f)-u<Math.PI?0:1,M=`<path d="${`M ${m.x} ${m.y} A ${h} ${A} ${y/Math.PI*180} ${S} 1 ${w.x} ${w.y}`}" />`;return{bbox:v,element:M}}}bboxEllipseOrArc(t,i,n,d,_,u,f){for(;u<0;)u+=Math.PI*2;for(;f<=u;)f+=Math.PI*2;const h=[];if(Math.abs(n)<1e-12||Math.abs(d)<1e-12)for(let m=0;m<4;m++)h.push(m/2*Math.PI);else h[0]=Math.atan(-d*_/n)-Math.PI,h[1]=Math.atan(n*_/d)-Math.PI,h[2]=h[0]-Math.PI,h[3]=h[1]-Math.PI;for(let m=4;m>=0;m--){for(;h[m]<u;)h[m]+=Math.PI*2;h[m]>f&&h.splice(m,1)}h.push(u),h.push(f);const A=h.map(m=>({x:Math.cos(m),y:Math.sin(m)})),y=[[n,-d*_],[d,n*_]];return A.map(m=>({x:m.x*y[0][0]+m.y*y[0][1]+t,y:m.x*y[1][0]+m.y*y[1][1]+i})).reduce((m,D)=>(m.expandByPoint(D),m),new pt)}ellipse(t){const{bbox:i,element:n}=this.ellipseOrArc(t.center.x,t.center.y,t.majorAxisEndPoint.x,t.majorAxisEndPoint.y,t.axisRatio,t.startAngle,t.endAngle);return{bbox:i,element:n}}arc(t){const{bbox:i,element:n}=this.ellipseOrArc(t.center.x,t.center.y,t.radius,0,1,t.startAngle,t.endAngle);return{bbox:i,element:n}}dimension(t){const i=this.blockMap.get(t.name);return i?{bbox:i.bbox,element:`<use href="#${t.name}" />`}:null}insert(t){const i=this.blockMap.get(t.name);if(i){const n=t.insertionPoint,d=t.rotation*(180/Math.PI),_=`translate(${n.x},${n.y}) rotate(${d}) scale(${t.xScale},${t.yScale})`;return{bbox:i.bbox.clone().transform({x:t.xScale,y:t.yScale},{x:n.x,y:n.y}).rotate(t.rotation,n),element:`<use href="#${t.name}" transform="${_}" />`}}return null}block(t,i){const n=t.entities,{bbox:d,elements:_}=n.reduce((u,f)=>{const h=this.entityToBoundsAndElement(f);if(h){const{bbox:A,element:y}=h;A.valid&&(u.bbox.expandByPoint(A.min),u.bbox.expandByPoint(A.max));const v=this.getEntityColor(i.tables.LAYER.entries,f),p=f.type=="TEXT"||f.type=="MTEXT"?v.cssColor:"none";v.isByBlock?u.elements.push(`<g id="${f.handle}">${y}</g>`):u.elements.push(`<g id="${f.handle}" stroke="${v.cssColor}" fill="${p}">${y}</g>`)}return u},{bbox:new pt,elements:[]});return d.valid?{bbox:d,element:`<g id="${t.name}">${_.join(`
27
27
  `)}</g>`}:null}entityToBoundsAndElement(t){let i=null;switch(t.type){case"ARC":i=this.arc(t);break;case"CIRCLE":i=this.circle(t);break;case"DIMENSION":i=this.dimension(t);break;case"ELLIPSE":i=this.ellipse(t);break;case"INSERT":i=this.insert(t);break;case"LINE":i=this.line(t);break;case"LWPOLYLINE":{const n=t,d=!!(n.flag&512),_=Oo(n,d);i=this.vertices(_,d);break}case"MTEXT":i=this.mtext(t);break;case"SPLINE":{const n=t;i=this.vertices(this.interpolateBSpline(n.controlPoints,n.degree,n.knots,25,n.weights));break}case"POLYLINE":break;case"RAY":i=this.ray(t);break;case"TABLE":case"ACAD_TABLE":i=this.table(t);break;case"TEXT":i=this.text(t);break;case"XLINE":i=this.xline(t);break;default:i=null;break}return i?this.addFlipXIfApplicable(t,i):null}getEntityColor(t,i){const n=new xo;if(i.colorIndex!=null?n.colorIndex=i.colorIndex:i.colorName?n.colorName=i.colorName:i.color!=null&&(n.color=i.color),n.colorIndex==7&&(n.colorIndex=256),n.isByLayer){const d=t.find(_=>_.name===i.layer);d!=null&&(n.colorIndex=d.colorIndex)}return n.color==null&&(n.color=16777215),n}convert(t){let i=null;this.blockMap.clear();let n="";t.tables.BLOCK_RECORD.entries.forEach(u=>{if(Gn(u.name))i=u;else{const f=this.block(u,t);f&&(n+=f.element,this.blockMap.set(u.name,f))}});const d=this.block(i,t),_=d&&d.bbox.valid?{x:d.bbox.min.x,y:-d.bbox.max.y,width:d.bbox.max.x-d.bbox.min.x,height:d.bbox.max.y-d.bbox.min.y}:{x:0,y:0,width:0,height:0};return`<?xml version="1.0"?>
28
28
  <svg
29
29
  xmlns="http://www.w3.org/2000/svg"
@@ -36,4 +36,4 @@ return ret;
36
36
  <g stroke="#000000" stroke-width="0.1%" fill="none" transform="matrix(1,0,0,-1,0,0)">
37
37
  ${d?d.element:""}
38
38
  </g>
39
- </svg>`}}const Ar=class Tr{constructor(t){return nt(this,"wasmInstance"),nt(this,"decoder"),this.wasmInstance=t,new Proxy(this,{get:(i,n,d)=>n in i?Reflect.get(i,n,d):Reflect.get(i.wasmInstance,n,d)})}dwg_read_data(t,i){const n=typeof t=="string"?new TextEncoder().encode(t):new Uint8Array(t);if(i==Lt.DWG){const d="tmp.dwg";try{this.wasmInstance.FS.writeFile(d,n);const _=this.wasmInstance.dwg_read_file(d);if(_.error&Nn.OUTOFMEM)throw this.wasmInstance.dwg_abandon(_.data),new Error("Failed to decode DWG: out of WASM memory. Rebuild with pnpm build:wasm (INITIAL_MEMORY=1GB) or use a smaller file.");return _.error!=0,_.data}finally{this.wasmInstance.FS.analyzePath(d,!1).exists&&this.wasmInstance.FS.unlink(d)}}else if(i==Lt.DXF){const d="tmp.dxf";try{this.wasmInstance.FS.writeFile(d,n);const _=this.wasmInstance.dxf_read_file(d);if(_.error&Nn.OUTOFMEM)throw this.wasmInstance.dwg_abandon(_.data),new Error("Failed to decode DXF: out of WASM memory. Rebuild with pnpm build:wasm (INITIAL_MEMORY=1GB) or use a smaller file.");return _.error!=0,_.data?_.data:void 0}finally{this.wasmInstance.FS.analyzePath(d,!1).exists&&this.wasmInstance.FS.unlink(d)}}}dwg_write_dxf(t){const i="tmp.dwg",n="tmp.dxf";try{return this.wasmInstance.FS.writeFile(i,new Uint8Array(t)),this.wasmInstance.dwg_write_dxf(i,n)!=0?null:this.wasmInstance.FS.readFile(n)}finally{this.wasmInstance.FS.analyzePath(i,!1).exists&&this.wasmInstance.FS.unlink(i),this.wasmInstance.FS.analyzePath(n,!1).exists&&this.wasmInstance.FS.unlink(n)}}dwg_get_version_type(t){const i=this.wasmInstance.dwg_get_version_type(t);return Do[i]}dwg_get_codepage(t){return this.wasmInstance.dwg_get_codepage(t)}dwg_bmp(t){return this.wasmInstance.dwg_bmp(t)}dwg_get_num_classes(t){return this.wasmInstance.dwg_get_num_classes(t)}dwg_get_class(t,i){return this.wasmInstance.dwg_get_class(t,i)}convert(t){const i=this.dwg_get_codepage(t),n=ar(i);return this.decoder=new TextDecoder(n),new dr(this).convert(t)}convertEx(t){const i=this.dwg_get_codepage(t),n=ar(i);this.decoder=new TextDecoder(n);const d=new dr(this);return{database:d.convert(t),stats:d.getConversionStats()}}dwg_to_svg(t){return new Bo().convert(t)}dwg_free(t){if(t)try{this.wasmInstance.dwg_free(t)}catch{try{this.wasmInstance.dwg_abandon(t)}catch{}}}dwg_free_object(t){this.wasmInstance.dwg_free_object(t)}dwg_ref_object(t,i){return this.wasmInstance.dwg_ref_object(t,i)}dwg_ref_object_silent(t,i){return this.wasmInstance.dwg_ref_object_silent(t,i)}dwg_ref_object_relative(t,i,n){return this.wasmInstance.dwg_ref_object_relative(t,i,n)}dwg_resolve_handle(t,i){return this.wasmInstance.dwg_resolve_handle(t,i)}dwg_resolve_handle_silent(t,i){return this.wasmInstance.dwg_resolve_handle_silent(t,i)}dwg_resolve_handleref(t,i){return this.wasmInstance.dwg_resolve_handleref(t,i)}dwg_ref_get_absref(t){if(!t)return null;const i=this.wasmInstance.dwg_ref_get_absref(t);return i===0?null:i}dwg_ref_get_handle_value(t){if(!t)return null;const i=this.wasmInstance.dwg_ref_get_handle_value(t);return i===0n?null:i}dwg_ref_get_handle_absolute_ref(t){if(!t)return null;const i=this.wasmInstance.dwg_ref_get_handle_absolute_ref(t);return i===0n?null:i}dwg_obj_get_handle_value(t){if(!t)return null;const i=this.wasmInstance.dwg_obj_get_handle_value(t);return i===0n?null:i}dwg_ref_get_id(t){const i=this.dwg_ref_get_absref(t);return i==null?void 0:i.toString(16).toUpperCase()}dwg_ref_get_object_name(t){const i=this.wasmInstance,n=i.dwg_ref_get_object(t),d=i.dwg_object_to_object_tio(n);return this.dwg_dynapi_entity_data(d,"name")}dwg_obj_obj_to_object(t){return this.wasmInstance.dwg_obj_obj_to_object(t)}dwg_obj_generic_to_object(t){return this.wasmInstance.dwg_obj_generic_to_object(t)}dwg_object_to_object(t){return this.wasmInstance.dwg_object_to_object(t)}dwg_object_to_object_tio(t){return this.wasmInstance.dwg_object_to_object_tio(t)}dwg_object_to_entity(t){return this.wasmInstance.dwg_object_to_entity(t)}dwg_object_to_entity_tio(t){return this.wasmInstance.dwg_object_to_entity_tio(t)}dwg_getall_entities_in_model_space(t){const i=this.wasmInstance,n=i.dwg_model_space_object(t),d=[];let _=i.get_first_owned_entity(n);for(;_;)d.push(_),_=i.get_next_owned_entity(n,_);return d}dwg_getall_object_by_type(t,i){const n=this.wasmInstance,d=n.dwg_get_num_objects(t),_=[];for(let u=0;u<d;u++){const f=n.dwg_get_object(t,u),h=n.dwg_object_to_object_tio(f);h&&n.dwg_object_get_fixedtype(f)==i&&_.push(h)}return _}dwg_getall_entity_by_type(t,i){const n=this.wasmInstance,d=n.dwg_get_num_objects(t),_=[];for(let u=0;u<d;u++){const f=n.dwg_get_object(t,u),h=n.dwg_object_to_entity_tio(f);h&&n.dwg_object_get_fixedtype(f)==i&&_.push(h)}return _}dwg_getall_LAYER(t){return this.dwg_getall_object_by_type(t,L.DWG_TYPE_LAYER)}dwg_getall_LTYPE(t){return this.dwg_getall_object_by_type(t,L.DWG_TYPE_LTYPE)}dwg_getall_STYLE(t){return this.dwg_getall_object_by_type(t,L.DWG_TYPE_STYLE)}dwg_getall_DIMSTYLE(t){return this.dwg_getall_object_by_type(t,L.DWG_TYPE_DIMSTYLE)}dwg_getall_VPORT(t){return this.dwg_getall_object_by_type(t,L.DWG_TYPE_VPORT)}dwg_getall_LAYOUT(t){return this.dwg_getall_object_by_type(t,L.DWG_TYPE_LAYOUT)}dwg_getall_BLOCK(t){return this.dwg_getall_object_by_type(t,L.DWG_TYPE_BLOCK)}dwg_getall_BLOCK_HEADER(t){return this.dwg_getall_object_by_type(t,L.DWG_TYPE_BLOCK_HEADER)}dwg_getall_IMAGEDEF(t){return this.dwg_getall_object_by_type(t,L.DWG_TYPE_IMAGEDEF)}dwg_getall_VERTEX_2D(t){return this.dwg_getall_entity_by_type(t,L.DWG_TYPE_VERTEX_2D)}dwg_getall_VERTEX_3D(t){return this.dwg_getall_entity_by_type(t,L.DWG_TYPE_VERTEX_3D)}dwg_getall_POLYLINE_2D(t){return this.dwg_getall_entity_by_type(t,L.DWG_TYPE_POLYLINE_2D)}dwg_getall_POLYLINE_3D(t){return this.dwg_getall_entity_by_type(t,L.DWG_TYPE_POLYLINE_3D)}dwg_getall_IMAGE(t){return this.dwg_getall_entity_by_type(t,L.DWG_TYPE_IMAGE)}dwg_getall_LWPOLYLINE(t){return this.dwg_getall_entity_by_type(t,L.DWG_TYPE_LWPOLYLINE)}dwg_ptr_to_object_ref_array(t,i){return this.wasmInstance.dwg_ptr_to_object_ref_array(t,i)}dwg_ptr_to_object_ref_ptr_array(t,i){return this.wasmInstance.dwg_ptr_to_object_ref_ptr_array(t,i)}dwg_ptr_to_wchar_string_array(t,i){return this.wasmInstance.dwg_ptr_to_wchar_string_array(t,i)}dwg_ptr_to_unsigned_char_array(t,i){return this.wasmInstance.dwg_ptr_to_unsigned_char_array(t,i)}dwg_ptr_to_signed_char_array(t,i){return this.wasmInstance.dwg_ptr_to_signed_char_array(t,i)}dwg_ptr_to_uint16_t_array(t,i){return this.wasmInstance.dwg_ptr_to_uint16_t_array(t,i)}dwg_ptr_to_int16_t_array(t,i){return this.wasmInstance.dwg_ptr_to_int16_t_array(t,i)}dwg_ptr_to_uint32_t_array(t,i){return this.wasmInstance.dwg_ptr_to_uint32_t_array(t,i)}dwg_ptr_to_int32_t_array(t,i){return this.wasmInstance.dwg_ptr_to_int32_t_array(t,i)}dwg_ptr_to_uint64_t_array(t,i){return this.wasmInstance.dwg_ptr_to_uint64_t_array(t,i)}dwg_ptr_to_int64_t_array(t,i){return this.wasmInstance.dwg_ptr_to_int64_t_array(t,i)}dwg_ptr_to_double_array(t,i){return this.wasmInstance.dwg_ptr_to_double_array(t,i)}dwg_ptr_to_point2d_array(t,i){return this.wasmInstance.dwg_ptr_to_point2d_array(t,i)}dwg_ptr_to_point3d_array(t,i){return this.wasmInstance.dwg_ptr_to_point3d_array(t,i)}dwg_ptr_to_point4d_array(t,i){return this.wasmInstance.dwg_ptr_to_point4d_array(t,i)}dwg_ptr_to_ltype_dash_array(t,i){return this.wasmInstance.dwg_ptr_to_ltype_dash_array(t,i)}dwg_ptr_to_table_cell_array(t,i){return this.wasmInstance.dwg_ptr_to_table_cell_array(t,i)}dwg_ptr_to_hatch_defline_array(t,i){return this.wasmInstance.dwg_ptr_to_hatch_defline_array(t,i)}dwg_ptr_to_hatch_path_array(t,i){return this.wasmInstance.dwg_ptr_to_hatch_path_array(t,i)}dwg_ptr_to_hatch_gradient_color_array(t,i){return this.wasmInstance.dwg_ptr_to_hatch_gradient_color_array(t,i)}dwg_ptr_to_mline_vertex_array(t,i){return this.wasmInstance.dwg_ptr_to_mline_vertex_array(t,i)}dwg_dynapi_entity_value(t,i){const n=this.wasmInstance.dwg_dynapi_entity_value(t,i);return n.bin&&this.decoder&&(n.data=this.decoder.decode(n.bin)),typeof n.data=="string"&&(n.data=or(n.data)),n}dwg_dynapi_entity_data(t,i){return this.dwg_dynapi_entity_value(t,i).data}dwg_dynapi_header_value(t,i){return this.wasmInstance.dwg_dynapi_header_value(t,i)}dwg_dynapi_header_data(t,i){return this.dwg_dynapi_header_value(t,i).data}dwg_dynapi_common_value(t,i){return this.wasmInstance.dwg_dynapi_common_value(t,i)}dwg_dynapi_common_data(t,i){return this.dwg_dynapi_common_value(t,i).data}dwg_dynapi_subclass_value(t,i,n){const d=this.wasmInstance.dwg_dynapi_subclass_value(t,i,n);return d.bin&&this.decoder&&(d.data=this.decoder.decode(d.bin)),typeof d.data=="string"&&(d.data=or(d.data)),d}dwg_dynapi_subclass_data(t,i,n){return this.dwg_dynapi_subclass_value(t,i,n).data}dwg_dynapi_subclass_size(t){return this.wasmInstance.dwg_dynapi_subclass_size(t)}dwg_dynapi_entity_field_offset(t,i){return this.wasmInstance.dwg_dynapi_entity_field_offset(t,i)}dwg_dynapi_subclass_field_offset(t,i){return this.wasmInstance.dwg_dynapi_subclass_field_offset(t,i)}dwg_object_get_handle_object(t){return this.wasmInstance.dwg_object_get_handle_object(t)}dwg_object_object_get_handle_object(t){return this.wasmInstance.dwg_object_object_get_handle_object(t)}dwg_object_object_get_ownerhandle_object(t){return this.wasmInstance.dwg_object_object_get_ownerhandle_object(t)}dwg_object_entity_get_handle_object(t){return this.wasmInstance.dwg_object_entity_get_handle_object(t)}dwg_object_entity_get_ownerhandle_object(t){return this.wasmInstance.dwg_object_entity_get_ownerhandle_object(t)}dwg_object_entity_get_xdicobjhandle_object(t){return this.wasmInstance.dwg_object_entity_get_xdicobjhandle_object(t)}dwg_object_entity_get_layer_object_ref(t){return this.wasmInstance.dwg_object_entity_get_layer_object_ref(t)}dwg_object_entity_get_ltype_object_ref(t){return this.wasmInstance.dwg_object_entity_get_ltype_object_ref(t)}dwg_object_entity_get_color_object(t){return this.wasmInstance.dwg_object_entity_get_color_object(t)}dwg_object_entity_get_xdata(t){return this.wasmInstance.dwg_object_entity_get_xdata(t)}dwg_object_object_get_xdicobjhandle_object(t){return this.wasmInstance.dwg_object_object_get_xdicobjhandle_object(t)}dwg_object_xrecord_get_xdata(t){return this.wasmInstance.dwg_object_xrecord_get_xdata(t)??[]}dwg_entity_owner(t){return this.wasmInstance.dwg_entity_owner(t)}dwg_entity_get_block_name(t,i){const n=this.wasmInstance,d=this.dwg_dynapi_entity_data(t,i),_=n.dwg_ref_get_object(d),u=n.dwg_object_to_object_tio(_);return this.dwg_entity_block_header_get_block(u).name}dwg_entity_get_dimstyle_name(t,i="dimstyle"){const n=this.wasmInstance,d=this.dwg_dynapi_entity_data(t,i),_=n.dwg_ref_get_object(d),u=n.dwg_object_to_object_tio(_);return this.dwg_dynapi_entity_data(u,"name")}dwg_entity_block_header_get_block(t){const i=this.wasmInstance,n=this.dwg_dynapi_entity_data(t,"block_entity"),d=i.dwg_ref_get_object(n),_=i.dwg_object_to_entity_tio(d),u=this.dwg_dynapi_entity_data(_,"name"),f=this.dwg_dynapi_entity_data(_,"base_pt");return{name:u,base_pt:f}}dwg_entity_block_header_get_preview(t){const i=this.wasmInstance;if(typeof i.dwg_entity_block_header_get_preview!="function")return null;const n=i.dwg_entity_block_header_get_preview(t);return(n==null?void 0:n.data)??null}dwg_entity_get_preview(t){const i=this.wasmInstance;if(typeof i.dwg_entity_get_preview!="function")return null;const n=i.dwg_entity_get_preview(t);return(n==null?void 0:n.data)??null}dwg_entity_proxy_entity_get_entity_data(t){const i=this.wasmInstance;if(typeof i.dwg_entity_proxy_entity_get_entity_data!="function")return null;const n=i.dwg_entity_proxy_entity_get_entity_data(t);return(n==null?void 0:n.data)??null}dwg_entity_ole2frame_get_data(t){const i=this.wasmInstance;if(typeof i.dwg_entity_ole2frame_get_data!="function")return null;const n=i.dwg_entity_ole2frame_get_data(t);return(n==null?void 0:n.data)??null}dwg_entity_oleframe_get_data(t){const i=this.wasmInstance;if(typeof i.dwg_entity_oleframe_get_data!="function")return null;const n=i.dwg_entity_oleframe_get_data(t);return(n==null?void 0:n.data)??null}get_first_owned_entity(t){return this.wasmInstance.get_first_owned_entity(t)}get_next_owned_entity(t,i){return this.wasmInstance.get_next_owned_entity(t,i)}dwg_entity_mtext_get_style_name(t){const i=this.wasmInstance,n=this.dwg_dynapi_entity_data(t,"style"),d=i.dwg_ref_get_object(n),_=i.dwg_object_to_object_tio(d);return this.dwg_dynapi_entity_data(_,"name")}dwg_entity_text_get_style_name(t){return this.dwg_entity_mtext_get_style_name(t)}dwg_entity_polyline_2d_get_numpoints(t){return this.wasmInstance.dwg_entity_polyline_2d_get_numpoints(t).data}dwg_entity_polyline_2d_get_points(t){return this.wasmInstance.dwg_entity_polyline_2d_get_points(t).data}dwg_entity_polyline_2d_get_vertices(t){return this.wasmInstance.dwg_entity_polyline_2d_get_vertices(t).data}dwg_entity_polyline_3d_get_numpoints(t){return this.wasmInstance.dwg_entity_polyline_3d_get_numpoints(t).data}dwg_entity_polyline_3d_get_points(t){return this.wasmInstance.dwg_entity_polyline_3d_get_points(t).data}dwg_entity_polyline_3d_get_vertices(t){return this.wasmInstance.dwg_entity_polyline_3d_get_vertices(t).data}dwg_entity_insert_get_attribs(t){return this.wasmInstance.dwg_entity_insert_get_attribs(t).data}dwg_object_dictionary_get_texts(t){return this.wasmInstance.dwg_object_dictionary_get_texts(t).data}static createByWasmInstance(t){return this.instance==null?new Tr(t):this.instance}static async create(t){const i=t==null?await rr():await rr({locateFile:n=>`${t}/${n}`});return this.createByWasmInstance(i)}};nt(Ar,"instance");let Fo=Ar;const ln=new Uint8Array([31,37,109,7,212,54,40,40,157,87,202,63,157,68,16,43]);function Uo(a){if(a.length<17)return;const t=new DataView(a.buffer,a.byteOffset,a.byteLength).getUint32(13,!0),i=lr(a,t);if(i)return i;const n=Math.min(a.length,1024*1024);for(let d=0;d+ln.length<=n;d++){if(!Pr(a,d,ln)||d===t)continue;const _=lr(a,d);if(_)return _}}function $o(a,t){var n;if((n=a.thumbnailImage)!=null&&n.length)return;const i=Uo(t);i!=null&&i.length&&(a.thumbnailImage=i)}function lr(a,t){if(t<=0||t>=a.length||!Pr(a,t,ln))return;let i=t+ln.length;if(i+5>a.length)return;const n=new DataView(a.buffer,a.byteOffset,a.byteLength);n.getInt32(i,!0),i+=4;const d=a[i];if(i+=1,d<=0||d>16)return;const _=[];for(let h=0;h<d;h++){if(i+9>a.length)return;const A=a[i];i+=1;const P=n.getInt32(i,!0);i+=4;const p=n.getInt32(i,!0);i+=4,_.push({code:A,start:P,size:p})}const u=i,f=cr(a,_,"absolute");return f||cr(a,_,"sequential",u)}function cr(a,t,i,n=0){let d,_=n;for(const u of t){const f=i==="absolute"?u.start:_;if(i==="sequential"&&(_+=Math.max(0,u.size)),u.code!==2&&u.code!==6)continue;const h=Ho(a,f,u.size);if(h!=null&&h.length){if(u.code===6)return h.slice();d||(d=h.slice())}}return d}function Ho(a,t,i){if(!(t<0||i<=0)&&!(t+i>a.length))return a.subarray(t,t+i)}function Pr(a,t,i){if(t+i.length>a.length)return!1;for(let n=0;n<i.length;n++)if(a[t+n]!==i[n])return!1;return!0}function Vo(a){if(typeof a=="string"){const d=a.slice(0,64);return/AutoCAD Binary DXF/i.test(d),Lt.DXF}const t=a instanceof Uint8Array?a:new Uint8Array(a),i=new TextDecoder("latin1").decode(t.subarray(0,22));if(i.startsWith("AutoCAD Binary DXF"))return Lt.DXF;if(i.startsWith("AC1")||i.startsWith("AC2"))return Lt.DWG;const n=new TextDecoder("utf-8").decode(t.subarray(0,64));return/^\s*(0|999)\b/.test(n)?Lt.DXF:Lt.DWG}async function Xo(a,t){const i=await Fo.create();if(i==null)throw new Error("libredwg is not loaded!");const n=Vo(a),d=i.dwg_read_data(a,n);if(d==null)throw new Error(n===Lt.DXF?"Failed to read dxf data!":"Failed to read dwg data!");const _=i.convertEx(d);return Ko(i,d,_.database),i.dwg_free(d),n===Lt.DWG&&typeof a!="string"&&$o(_.database,new Uint8Array(a)),_}function Ko(a,t,i){var f;const n={},d=new Map,_=new Map;for(const h of i.objects.DICTIONARY??[]){const A=fe(h.handle);A&&_.set(A,h)}const u=((f=i.tables.BLOCK_RECORD)==null?void 0:f.entries)??[];for(const h of u)for(const A of h.entities??[]){if(A.type!=="DIMENSION")continue;const P=A.styleName;if(!P||n[P]!=null)continue;const p=zo(a,t,A,_,d);p!=null&&p>0&&(n[P]=p)}Object.keys(n).length>0&&(i.dimStyleAnnotationScales=n)}function zo(a,t,i,n,d){var P,p;const _=n.get(fe(i.ownerDictionaryHardId)),u=n.get(fe((P=_==null?void 0:_.entries)==null?void 0:P.AcDbContextDataManager)),f=n.get(fe((p=u==null?void 0:u.entries)==null?void 0:p.ACDB_ANNOTATIONSCALES)),h=f==null?void 0:f.entries;if(!h)return;let A;for(const v of Object.values(h)){const I=Zo(a,t,fe(v),d);if(I==null)continue;if(Jo(a,t,fe(v)))return I;A??(A=I)}return A}function Jo(a,t,i){const n=Wn(a,t,i);if(!n)return!1;try{const d=a.dwg_dynapi_entity_value(n,"is_default");return!!(d!=null&&d.success)&&Number(d.data)===1}catch{return!1}}function Zo(a,t,i,n){const d=Wn(a,t,i);if(d)try{const _=a.dwg_dynapi_entity_value(d,"scale");if(!(_!=null&&_.success)||_.data==null)return;const u=fe(a.dwg_ref_get_id(_.data));if(!u)return;const f=n.get(u);if(f!=null)return f;const h=Wn(a,t,u);if(!h)return;const A=a.dwg_dynapi_entity_value(h,"paper_units"),P=a.dwg_dynapi_entity_value(h,"drawing_units");if(!(A!=null&&A.success)||!(P!=null&&P.success))return;const p=Number(A.data),v=Number(P.data);if(!(p>0)||!(v>0))return;const I=v/p;return n.set(u,I),I}catch{return}}function Wn(a,t,i){if(!(!i||!/^[0-9A-F]+$/i.test(i)))try{const n=a.dwg_resolve_handle(t,BigInt("0x"+i));return n?a.dwg_object_to_object_tio(n):void 0}catch{return}}function fe(a){return a==null||a===""||a===!1||a===0?"":String(a).trim().toUpperCase()}class qo extends To{async executeTask(t){const i=await Xo(t);return{model:i.database,data:i.stats}}}new qo;const Qo={},jo=Object.freeze(Object.defineProperty({__proto__:null,default:Qo},Symbol.toStringTag,{value:"Module"}));
39
+ </svg>`}}const Ar=class Tr{constructor(t){return nt(this,"wasmInstance"),nt(this,"decoder"),this.wasmInstance=t,new Proxy(this,{get:(i,n,d)=>n in i?Reflect.get(i,n,d):Reflect.get(i.wasmInstance,n,d)})}dwg_read_data(t,i){const n=typeof t=="string"?new TextEncoder().encode(t):new Uint8Array(t);if(i==Lt.DWG){const d="tmp.dwg";try{this.wasmInstance.FS.writeFile(d,n);const _=this.wasmInstance.dwg_read_file(d);if(_.error&Nn.OUTOFMEM)throw this.wasmInstance.dwg_abandon(_.data),new Error("Failed to decode DWG: out of WASM memory. Rebuild with pnpm build:wasm (INITIAL_MEMORY=1GB) or use a smaller file.");return _.error!=0,_.data}finally{this.wasmInstance.FS.analyzePath(d,!1).exists&&this.wasmInstance.FS.unlink(d)}}else if(i==Lt.DXF){const d="tmp.dxf";try{this.wasmInstance.FS.writeFile(d,n);const _=this.wasmInstance.dxf_read_file(d);if(_.error&Nn.OUTOFMEM)throw this.wasmInstance.dwg_abandon(_.data),new Error("Failed to decode DXF: out of WASM memory. Rebuild with pnpm build:wasm (INITIAL_MEMORY=1GB) or use a smaller file.");return _.error!=0,_.data?_.data:void 0}finally{this.wasmInstance.FS.analyzePath(d,!1).exists&&this.wasmInstance.FS.unlink(d)}}}dwg_write_dxf(t){const i="tmp.dwg",n="tmp.dxf";try{return this.wasmInstance.FS.writeFile(i,new Uint8Array(t)),this.wasmInstance.dwg_write_dxf(i,n)!=0?null:this.wasmInstance.FS.readFile(n)}finally{this.wasmInstance.FS.analyzePath(i,!1).exists&&this.wasmInstance.FS.unlink(i),this.wasmInstance.FS.analyzePath(n,!1).exists&&this.wasmInstance.FS.unlink(n)}}dwg_get_version_type(t){const i=this.wasmInstance.dwg_get_version_type(t);return Do[i]}dwg_get_codepage(t){return this.wasmInstance.dwg_get_codepage(t)}dwg_bmp(t){return this.wasmInstance.dwg_bmp(t)}dwg_get_num_classes(t){return this.wasmInstance.dwg_get_num_classes(t)}dwg_get_class(t,i){return this.wasmInstance.dwg_get_class(t,i)}convert(t){const i=this.dwg_get_codepage(t),n=ar(i);return this.decoder=new TextDecoder(n),new dr(this).convert(t)}convertEx(t){const i=this.dwg_get_codepage(t),n=ar(i);this.decoder=new TextDecoder(n);const d=new dr(this);return{database:d.convert(t),stats:d.getConversionStats()}}dwg_to_svg(t){return new Bo().convert(t)}dwg_free(t){if(t)try{this.wasmInstance.dwg_free(t)}catch{try{this.wasmInstance.dwg_abandon(t)}catch{}}}dwg_free_object(t){this.wasmInstance.dwg_free_object(t)}dwg_ref_object(t,i){return this.wasmInstance.dwg_ref_object(t,i)}dwg_ref_object_silent(t,i){return this.wasmInstance.dwg_ref_object_silent(t,i)}dwg_ref_object_relative(t,i,n){return this.wasmInstance.dwg_ref_object_relative(t,i,n)}dwg_resolve_handle(t,i){return this.wasmInstance.dwg_resolve_handle(t,i)}dwg_resolve_handle_silent(t,i){return this.wasmInstance.dwg_resolve_handle_silent(t,i)}dwg_resolve_handleref(t,i){return this.wasmInstance.dwg_resolve_handleref(t,i)}dwg_ref_get_absref(t){if(!t)return null;const i=this.wasmInstance.dwg_ref_get_absref(t);return i===0?null:i}dwg_ref_get_handle_value(t){if(!t)return null;const i=this.wasmInstance.dwg_ref_get_handle_value(t);return i===0n?null:i}dwg_ref_get_handle_absolute_ref(t){if(!t)return null;const i=this.wasmInstance.dwg_ref_get_handle_absolute_ref(t);return i===0n?null:i}dwg_obj_get_handle_value(t){if(!t)return null;const i=this.wasmInstance.dwg_obj_get_handle_value(t);return i===0n?null:i}dwg_ref_get_id(t){const i=this.dwg_ref_get_absref(t);return i==null?void 0:i.toString(16).toUpperCase()}dwg_ref_get_object_name(t){const i=this.wasmInstance,n=i.dwg_ref_get_object(t),d=i.dwg_object_to_object_tio(n);return this.dwg_dynapi_entity_data(d,"name")}dwg_obj_obj_to_object(t){return this.wasmInstance.dwg_obj_obj_to_object(t)}dwg_obj_generic_to_object(t){return this.wasmInstance.dwg_obj_generic_to_object(t)}dwg_object_to_object(t){return this.wasmInstance.dwg_object_to_object(t)}dwg_object_to_object_tio(t){return this.wasmInstance.dwg_object_to_object_tio(t)}dwg_object_to_entity(t){return this.wasmInstance.dwg_object_to_entity(t)}dwg_object_to_entity_tio(t){return this.wasmInstance.dwg_object_to_entity_tio(t)}dwg_getall_entities_in_model_space(t){const i=this.wasmInstance,n=i.dwg_model_space_object(t),d=[];let _=i.get_first_owned_entity(n);for(;_;)d.push(_),_=i.get_next_owned_entity(n,_);return d}dwg_getall_object_by_type(t,i){const n=this.wasmInstance,d=n.dwg_get_num_objects(t),_=[];for(let u=0;u<d;u++){const f=n.dwg_get_object(t,u),h=n.dwg_object_to_object_tio(f);h&&n.dwg_object_get_fixedtype(f)==i&&_.push(h)}return _}dwg_getall_entity_by_type(t,i){const n=this.wasmInstance,d=n.dwg_get_num_objects(t),_=[];for(let u=0;u<d;u++){const f=n.dwg_get_object(t,u),h=n.dwg_object_to_entity_tio(f);h&&n.dwg_object_get_fixedtype(f)==i&&_.push(h)}return _}dwg_getall_LAYER(t){return this.dwg_getall_object_by_type(t,L.DWG_TYPE_LAYER)}dwg_getall_LTYPE(t){return this.dwg_getall_object_by_type(t,L.DWG_TYPE_LTYPE)}dwg_getall_STYLE(t){return this.dwg_getall_object_by_type(t,L.DWG_TYPE_STYLE)}dwg_getall_DIMSTYLE(t){return this.dwg_getall_object_by_type(t,L.DWG_TYPE_DIMSTYLE)}dwg_getall_VPORT(t){return this.dwg_getall_object_by_type(t,L.DWG_TYPE_VPORT)}dwg_getall_LAYOUT(t){return this.dwg_getall_object_by_type(t,L.DWG_TYPE_LAYOUT)}dwg_getall_BLOCK(t){return this.dwg_getall_object_by_type(t,L.DWG_TYPE_BLOCK)}dwg_getall_BLOCK_HEADER(t){return this.dwg_getall_object_by_type(t,L.DWG_TYPE_BLOCK_HEADER)}dwg_getall_IMAGEDEF(t){return this.dwg_getall_object_by_type(t,L.DWG_TYPE_IMAGEDEF)}dwg_getall_VERTEX_2D(t){return this.dwg_getall_entity_by_type(t,L.DWG_TYPE_VERTEX_2D)}dwg_getall_VERTEX_3D(t){return this.dwg_getall_entity_by_type(t,L.DWG_TYPE_VERTEX_3D)}dwg_getall_POLYLINE_2D(t){return this.dwg_getall_entity_by_type(t,L.DWG_TYPE_POLYLINE_2D)}dwg_getall_POLYLINE_3D(t){return this.dwg_getall_entity_by_type(t,L.DWG_TYPE_POLYLINE_3D)}dwg_getall_IMAGE(t){return this.dwg_getall_entity_by_type(t,L.DWG_TYPE_IMAGE)}dwg_getall_LWPOLYLINE(t){return this.dwg_getall_entity_by_type(t,L.DWG_TYPE_LWPOLYLINE)}dwg_ptr_to_object_ref_array(t,i){return this.wasmInstance.dwg_ptr_to_object_ref_array(t,i)}dwg_ptr_to_object_ref_ptr_array(t,i){return this.wasmInstance.dwg_ptr_to_object_ref_ptr_array(t,i)}dwg_ptr_to_wchar_string_array(t,i){return this.wasmInstance.dwg_ptr_to_wchar_string_array(t,i)}dwg_ptr_to_unsigned_char_array(t,i){return this.wasmInstance.dwg_ptr_to_unsigned_char_array(t,i)}dwg_ptr_to_signed_char_array(t,i){return this.wasmInstance.dwg_ptr_to_signed_char_array(t,i)}dwg_ptr_to_uint16_t_array(t,i){return this.wasmInstance.dwg_ptr_to_uint16_t_array(t,i)}dwg_ptr_to_int16_t_array(t,i){return this.wasmInstance.dwg_ptr_to_int16_t_array(t,i)}dwg_ptr_to_uint32_t_array(t,i){return this.wasmInstance.dwg_ptr_to_uint32_t_array(t,i)}dwg_ptr_to_int32_t_array(t,i){return this.wasmInstance.dwg_ptr_to_int32_t_array(t,i)}dwg_ptr_to_uint64_t_array(t,i){return this.wasmInstance.dwg_ptr_to_uint64_t_array(t,i)}dwg_ptr_to_int64_t_array(t,i){return this.wasmInstance.dwg_ptr_to_int64_t_array(t,i)}dwg_ptr_to_double_array(t,i){return this.wasmInstance.dwg_ptr_to_double_array(t,i)}dwg_ptr_to_point2d_array(t,i){return this.wasmInstance.dwg_ptr_to_point2d_array(t,i)}dwg_ptr_to_point3d_array(t,i){return this.wasmInstance.dwg_ptr_to_point3d_array(t,i)}dwg_ptr_to_point4d_array(t,i){return this.wasmInstance.dwg_ptr_to_point4d_array(t,i)}dwg_ptr_to_ltype_dash_array(t,i){return this.wasmInstance.dwg_ptr_to_ltype_dash_array(t,i)}dwg_ptr_to_table_cell_array(t,i){return this.wasmInstance.dwg_ptr_to_table_cell_array(t,i)}dwg_ptr_to_hatch_defline_array(t,i){return this.wasmInstance.dwg_ptr_to_hatch_defline_array(t,i)}dwg_ptr_to_hatch_path_array(t,i){return this.wasmInstance.dwg_ptr_to_hatch_path_array(t,i)}dwg_ptr_to_hatch_gradient_color_array(t,i){return this.wasmInstance.dwg_ptr_to_hatch_gradient_color_array(t,i)}dwg_ptr_to_mline_vertex_array(t,i){return this.wasmInstance.dwg_ptr_to_mline_vertex_array(t,i)}dwg_dynapi_entity_value(t,i){const n=this.wasmInstance.dwg_dynapi_entity_value(t,i);return n.bin&&this.decoder&&(n.data=this.decoder.decode(n.bin)),typeof n.data=="string"&&(n.data=or(n.data)),n}dwg_dynapi_entity_data(t,i){return this.dwg_dynapi_entity_value(t,i).data}dwg_dynapi_header_value(t,i){return this.wasmInstance.dwg_dynapi_header_value(t,i)}dwg_dynapi_header_data(t,i){return this.dwg_dynapi_header_value(t,i).data}dwg_dynapi_common_value(t,i){return this.wasmInstance.dwg_dynapi_common_value(t,i)}dwg_dynapi_common_data(t,i){return this.dwg_dynapi_common_value(t,i).data}dwg_dynapi_subclass_value(t,i,n){const d=this.wasmInstance.dwg_dynapi_subclass_value(t,i,n);return d.bin&&this.decoder&&(d.data=this.decoder.decode(d.bin)),typeof d.data=="string"&&(d.data=or(d.data)),d}dwg_dynapi_subclass_data(t,i,n){return this.dwg_dynapi_subclass_value(t,i,n).data}dwg_dynapi_subclass_size(t){return this.wasmInstance.dwg_dynapi_subclass_size(t)}dwg_dynapi_entity_field_offset(t,i){return this.wasmInstance.dwg_dynapi_entity_field_offset(t,i)}dwg_dynapi_subclass_field_offset(t,i){return this.wasmInstance.dwg_dynapi_subclass_field_offset(t,i)}dwg_object_get_handle_object(t){return this.wasmInstance.dwg_object_get_handle_object(t)}dwg_object_object_get_handle_object(t){return this.wasmInstance.dwg_object_object_get_handle_object(t)}dwg_object_object_get_ownerhandle_object(t){return this.wasmInstance.dwg_object_object_get_ownerhandle_object(t)}dwg_object_entity_get_handle_object(t){return this.wasmInstance.dwg_object_entity_get_handle_object(t)}dwg_object_entity_get_ownerhandle_object(t){return this.wasmInstance.dwg_object_entity_get_ownerhandle_object(t)}dwg_object_entity_get_xdicobjhandle_object(t){return this.wasmInstance.dwg_object_entity_get_xdicobjhandle_object(t)}dwg_object_entity_get_layer_object_ref(t){return this.wasmInstance.dwg_object_entity_get_layer_object_ref(t)}dwg_object_entity_get_ltype_object_ref(t){return this.wasmInstance.dwg_object_entity_get_ltype_object_ref(t)}dwg_object_entity_get_color_object(t){return this.wasmInstance.dwg_object_entity_get_color_object(t)}dwg_object_entity_get_xdata(t){return this.wasmInstance.dwg_object_entity_get_xdata(t)}dwg_object_object_get_xdicobjhandle_object(t){return this.wasmInstance.dwg_object_object_get_xdicobjhandle_object(t)}dwg_object_xrecord_get_xdata(t){return this.wasmInstance.dwg_object_xrecord_get_xdata(t)??[]}dwg_entity_owner(t){return this.wasmInstance.dwg_entity_owner(t)}dwg_entity_get_block_name(t,i){const n=this.wasmInstance,d=this.dwg_dynapi_entity_data(t,i),_=n.dwg_ref_get_object(d),u=n.dwg_object_to_object_tio(_);return this.dwg_entity_block_header_get_block(u).name}dwg_entity_get_dimstyle_name(t,i="dimstyle"){const n=this.wasmInstance,d=this.dwg_dynapi_entity_data(t,i),_=n.dwg_ref_get_object(d),u=n.dwg_object_to_object_tio(_);return this.dwg_dynapi_entity_data(u,"name")}dwg_entity_block_header_get_block(t){const i=this.wasmInstance,n=this.dwg_dynapi_entity_data(t,"block_entity"),d=i.dwg_ref_get_object(n),_=i.dwg_object_to_entity_tio(d),u=this.dwg_dynapi_entity_data(_,"name"),f=this.dwg_dynapi_entity_data(_,"base_pt");return{name:u,base_pt:f}}dwg_entity_block_header_get_preview(t){const i=this.wasmInstance;if(typeof i.dwg_entity_block_header_get_preview!="function")return null;const n=i.dwg_entity_block_header_get_preview(t);return(n==null?void 0:n.data)??null}dwg_entity_get_preview(t){const i=this.wasmInstance;if(typeof i.dwg_entity_get_preview!="function")return null;const n=i.dwg_entity_get_preview(t);return(n==null?void 0:n.data)??null}dwg_entity_proxy_entity_get_entity_data(t){const i=this.wasmInstance;if(typeof i.dwg_entity_proxy_entity_get_entity_data!="function")return null;const n=i.dwg_entity_proxy_entity_get_entity_data(t);return(n==null?void 0:n.data)??null}dwg_entity_ole2frame_get_data(t){const i=this.wasmInstance;if(typeof i.dwg_entity_ole2frame_get_data!="function")return null;const n=i.dwg_entity_ole2frame_get_data(t);return(n==null?void 0:n.data)??null}dwg_entity_oleframe_get_data(t){const i=this.wasmInstance;if(typeof i.dwg_entity_oleframe_get_data!="function")return null;const n=i.dwg_entity_oleframe_get_data(t);return(n==null?void 0:n.data)??null}get_first_owned_entity(t){return this.wasmInstance.get_first_owned_entity(t)}get_next_owned_entity(t,i){return this.wasmInstance.get_next_owned_entity(t,i)}dwg_entity_mtext_get_style_name(t){const i=this.wasmInstance,n=this.dwg_dynapi_entity_data(t,"style"),d=i.dwg_ref_get_object(n),_=i.dwg_object_to_object_tio(d);return this.dwg_dynapi_entity_data(_,"name")}dwg_entity_text_get_style_name(t){return this.dwg_entity_mtext_get_style_name(t)}dwg_entity_polyline_2d_get_numpoints(t){return this.wasmInstance.dwg_entity_polyline_2d_get_numpoints(t).data}dwg_entity_polyline_2d_get_points(t){return this.wasmInstance.dwg_entity_polyline_2d_get_points(t).data}dwg_entity_polyline_2d_get_vertices(t){return this.wasmInstance.dwg_entity_polyline_2d_get_vertices(t).data}dwg_entity_polyline_3d_get_numpoints(t){return this.wasmInstance.dwg_entity_polyline_3d_get_numpoints(t).data}dwg_entity_polyline_3d_get_points(t){return this.wasmInstance.dwg_entity_polyline_3d_get_points(t).data}dwg_entity_polyline_3d_get_vertices(t){return this.wasmInstance.dwg_entity_polyline_3d_get_vertices(t).data}dwg_entity_insert_get_attribs(t){return this.wasmInstance.dwg_entity_insert_get_attribs(t).data}dwg_object_dictionary_get_texts(t){return this.wasmInstance.dwg_object_dictionary_get_texts(t).data}static createByWasmInstance(t){return this.instance==null?new Tr(t):this.instance}static async create(t){const i=t==null?await rr():await rr({locateFile:n=>`${t}/${n}`});return this.createByWasmInstance(i)}};nt(Ar,"instance");let Fo=Ar;const ln=new Uint8Array([31,37,109,7,212,54,40,40,157,87,202,63,157,68,16,43]);function Uo(a){if(a.length<17)return;const t=new DataView(a.buffer,a.byteOffset,a.byteLength).getUint32(13,!0),i=lr(a,t);if(i)return i;const n=Math.min(a.length,1024*1024);for(let d=0;d+ln.length<=n;d++){if(!yr(a,d,ln)||d===t)continue;const _=lr(a,d);if(_)return _}}function $o(a,t){var n;if((n=a.thumbnailImage)!=null&&n.length)return;const i=Uo(t);i!=null&&i.length&&(a.thumbnailImage=i)}function lr(a,t){if(t<=0||t>=a.length||!yr(a,t,ln))return;let i=t+ln.length;if(i+5>a.length)return;const n=new DataView(a.buffer,a.byteOffset,a.byteLength);n.getInt32(i,!0),i+=4;const d=a[i];if(i+=1,d<=0||d>16)return;const _=[];for(let h=0;h<d;h++){if(i+9>a.length)return;const A=a[i];i+=1;const y=n.getInt32(i,!0);i+=4;const v=n.getInt32(i,!0);i+=4,_.push({code:A,start:y,size:v})}const u=i,f=cr(a,_,"absolute");return f||cr(a,_,"sequential",u)}function cr(a,t,i,n=0){let d,_=n;for(const u of t){const f=i==="absolute"?u.start:_;if(i==="sequential"&&(_+=Math.max(0,u.size)),u.code!==2&&u.code!==6)continue;const h=Ho(a,f,u.size);if(h!=null&&h.length){if(u.code===6)return h.slice();d||(d=h.slice())}}return d}function Ho(a,t,i){if(!(t<0||i<=0)&&!(t+i>a.length))return a.subarray(t,t+i)}function yr(a,t,i){if(t+i.length>a.length)return!1;for(let n=0;n<i.length;n++)if(a[t+n]!==i[n])return!1;return!0}function Vo(a){if(typeof a=="string"){const d=a.slice(0,64);return/AutoCAD Binary DXF/i.test(d),Lt.DXF}const t=a instanceof Uint8Array?a:new Uint8Array(a),i=new TextDecoder("latin1").decode(t.subarray(0,22));if(i.startsWith("AutoCAD Binary DXF"))return Lt.DXF;if(i.startsWith("AC1")||i.startsWith("AC2"))return Lt.DWG;const n=new TextDecoder("utf-8").decode(t.subarray(0,64));return/^\s*(0|999)\b/.test(n)?Lt.DXF:Lt.DWG}async function Xo(a,t){const i=await Fo.create();if(i==null)throw new Error("libredwg is not loaded!");const n=Vo(a),d=i.dwg_read_data(a,n);if(d==null)throw new Error(n===Lt.DXF?"Failed to read dxf data!":"Failed to read dwg data!");const _=i.convertEx(d);return Ko(i,d,_.database),i.dwg_free(d),n===Lt.DWG&&typeof a!="string"&&$o(_.database,new Uint8Array(a)),_}function Ko(a,t,i){var f;const n={},d=new Map,_=new Map;for(const h of i.objects.DICTIONARY??[]){const A=fe(h.handle);A&&_.set(A,h)}const u=((f=i.tables.BLOCK_RECORD)==null?void 0:f.entries)??[];for(const h of u)for(const A of h.entities??[]){if(A.type!=="DIMENSION")continue;const y=A.styleName;if(!y||n[y]!=null)continue;const v=zo(a,t,A,_,d);v!=null&&v>0&&(n[y]=v)}Object.keys(n).length>0&&(i.dimStyleAnnotationScales=n)}function zo(a,t,i,n,d){var y,v;const _=n.get(fe(i.ownerDictionaryHardId)),u=n.get(fe((y=_==null?void 0:_.entries)==null?void 0:y.AcDbContextDataManager)),f=n.get(fe((v=u==null?void 0:u.entries)==null?void 0:v.ACDB_ANNOTATIONSCALES)),h=f==null?void 0:f.entries;if(!h)return;let A;for(const p of Object.values(h)){const m=Zo(a,t,fe(p),d);if(m==null)continue;if(Jo(a,t,fe(p)))return m;A??(A=m)}return A}function Jo(a,t,i){const n=Wn(a,t,i);if(!n)return!1;try{const d=a.dwg_dynapi_entity_value(n,"is_default");return!!(d!=null&&d.success)&&Number(d.data)===1}catch{return!1}}function Zo(a,t,i,n){const d=Wn(a,t,i);if(d)try{const _=a.dwg_dynapi_entity_value(d,"scale");if(!(_!=null&&_.success)||_.data==null)return;const u=fe(a.dwg_ref_get_id(_.data));if(!u)return;const f=n.get(u);if(f!=null)return f;const h=Wn(a,t,u);if(!h)return;const A=a.dwg_dynapi_entity_value(h,"paper_units"),y=a.dwg_dynapi_entity_value(h,"drawing_units");if(!(A!=null&&A.success)||!(y!=null&&y.success))return;const v=Number(A.data),p=Number(y.data);if(!(v>0)||!(p>0))return;const m=p/v;return n.set(u,m),m}catch{return}}function Wn(a,t,i){if(!(!i||!/^[0-9A-F]+$/i.test(i)))try{const n=a.dwg_resolve_handle(t,BigInt("0x"+i));return n?a.dwg_object_to_object_tio(n):void 0}catch{return}}function fe(a){return a==null||a===""||a===!1||a===0?"":String(a).trim().toUpperCase()}class qo extends To{async executeTask(t){const i=await Xo(t);return{model:i.database,data:i.stats}}}new qo;const Qo={},jo=Object.freeze(Object.defineProperty({__proto__:null,default:Qo},Symbol.toStringTag,{value:"Module"}));