@mlightcad/libredwg-converter 3.15.13 → 3.15.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/dist/libredwg-converter.umd.cjs +1 -1
- package/dist/libredwg-parser-worker.js +18 -18
- package/lib/AcDbEntitiyConverter.d.ts.map +1 -1
- package/lib/AcDbEntitiyConverter.js +7 -0
- package/lib/AcDbEntitiyConverter.js.map +1 -1
- package/lib/AcDbLibreDwgConverter.d.ts +16 -0
- package/lib/AcDbLibreDwgConverter.d.ts.map +1 -1
- package/lib/AcDbLibreDwgConverter.js +361 -43
- package/lib/AcDbLibreDwgConverter.js.map +1 -1
- package/lib/AcDbLibreDwgConverterUtil.d.ts +2 -1
- package/lib/AcDbLibreDwgConverterUtil.d.ts.map +1 -1
- package/lib/AcDbLibreDwgConverterUtil.js +172 -1
- package/lib/AcDbLibreDwgConverterUtil.js.map +1 -1
- package/lib/AcDbLibreDwgMainThreadConverter.d.ts +1 -1
- package/lib/AcDbLibreDwgMainThreadConverter.d.ts.map +1 -1
- package/lib/AcDbLibreDwgMainThreadConverter.js +2 -2
- package/lib/AcDbLibreDwgMainThreadConverter.js.map +1 -1
- package/lib/AcDbLibreDwgParserWorker.js +1 -1
- package/lib/AcDbLibreDwgParserWorker.js.map +1 -1
- package/lib/AcDbObjectConverter.d.ts +99 -1
- package/lib/AcDbObjectConverter.d.ts.map +1 -1
- package/lib/AcDbObjectConverter.js +136 -1
- package/lib/AcDbObjectConverter.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/node.d.ts +1 -1
- package/lib/node.d.ts.map +1 -1
- package/lib/node.js +1 -1
- package/lib/node.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
var Qa=Object.defineProperty;var ja=(a,t,i)=>t in a?Qa(a,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):a[t]=i;var Nt=(a,t,i)=>ja(a,typeof t!="symbol"?t+"":t,i);var ti="DwgConverterLicenseError",ei=["evaluation of @mlightcad/dwg-converter has expired"],ni=["invalid @mlightcad/dwg-converter license key"];function ri(a){return a==="license_expired"||a==="license_invalid"}function Er(a){var t=a.toLowerCase();if(ei.some(function(i){return t.includes(i)}))return"license_expired";if(ni.some(function(i){return t.includes(i)}))return"license_invalid"}function ai(a){var t;return(t=Er(a))!==null&&t!==void 0?t:"license_invalid"}var ii=function(a,t,i,n){function d(_){return _ instanceof i?_:new i(function(E){E(_)})}return new(i||(i=Promise))(function(_,E){function f(P){try{A(n.next(P))}catch(I){E(I)}}function g(P){try{A(n.throw(P))}catch(I){E(I)}}function A(P){P.done?_(P.value):d(P.value).then(f,g)}A((n=n.apply(a,t||[])).next())})},oi=function(a,t){var i={label:0,sent:function(){if(_[0]&1)throw _[1];return _[1]},trys:[],ops:[]},n,d,_,E;return E={next:f(0),throw:f(1),return:f(2)},typeof Symbol=="function"&&(E[Symbol.iterator]=function(){return this}),E;function f(A){return function(P){return g([A,P])}}function g(A){if(n)throw new TypeError("Generator is already executing.");for(;E&&(E=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}}},si=["out of memory","data cannot be cloned","allocation failed","memory access out of bounds"];function _i(a){var t=a.toLowerCase();return si.some(function(i){return t.includes(i)})}function yn(){var a=globalThis;if(typeof a.postMessage!="function")throw new Error("Worker messaging is not available in this runtime");return a}var di=(function(){function a(){this.setupMessageHandler()}return a.prototype.setupMessageHandler=function(){var t=this;yn().onmessage=function(i){return ii(t,void 0,void 0,function(){var n,d,_,E,f,g,A;return oi(this,function(P){switch(P.label){case 0:n=i,d=n.data,_=d.id,E=d.input,P.label=1;case 1:return P.trys.push([1,3,,4]),[4,this.executeTask(E)];case 2:return f=P.sent(),this.sendResponse(_,!0,f),[3,4];case 3:return g=P.sent(),A=g instanceof Error?g.message:String(g),this.sendResponse(_,!1,void 0,A,this.classifyTaskError(g,A)),[3,4];case 4:return[2]}})})}},a.prototype.sendResponse=function(t,i,n,d,_){var E={id:t,success:i,data:n,error:d,errorCode:_};try{yn().postMessage(E)}catch(g){var f=g instanceof Error?g.message:String(g);yn().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(ri(n))return n;if(t.name===ti)return ai(i)}var d=Er(i);return d||this.classifyPostMessageError(i)},a.prototype.classifyPostMessageError=function(t){return _i(t)?"worker_oom":t.toLowerCase().includes("timed out")?"worker_timeout":"worker_error"},a})();const li="modulepreload",ci=function(a,t){return new URL(a,t).href},nr={},Ei=function(t,i,n){let d=Promise.resolve();if(i&&i.length>0){let E=function(P){return Promise.all(P.map(I=>Promise.resolve(I).then(p=>({status:"fulfilled",value:p}),p=>({status:"rejected",reason:p}))))};const f=document.getElementsByTagName("link"),g=document.querySelector("meta[property=csp-nonce]"),A=(g==null?void 0:g.nonce)||(g==null?void 0:g.getAttribute("nonce"));d=E(i.map(P=>{if(P=ci(P,n),P in nr)return;nr[P]=!0;const I=P.endsWith(".css"),p=I?'[rel="stylesheet"]':"";if(!!n)for(let C=f.length-1;C>=0;C--){const m=f[C];if(m.href===P&&(!I||m.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${P}"]${p}`))return;const D=document.createElement("link");if(D.rel=I?"stylesheet":li,I||(D.as="script"),D.crossOrigin="",D.href=P,A&&D.setAttribute("nonce",A),document.head.appendChild(D),I)return new Promise((C,m)=>{D.addEventListener("load",C),D.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${P}`)))})}))}function _(E){const f=new Event("vite:preloadError",{cancelable:!0});if(f.payload=E,window.dispatchEvent(f),!f.defaultPrevented)throw E}return d.then(E=>{for(const f of E||[])f.status==="rejected"&&_(f.reason);return t().catch(_)})};async function rr(a={}){var qn,Qn,jn;var t,i=a,n=!!globalThis.window,d=!!globalThis.WorkerGlobalScope,_=((Qn=(qn=globalThis.process)==null?void 0:qn.versions)==null?void 0:Qn.node)&&((jn=globalThis.process)==null?void 0:jn.type)!="renderer";if(_){const{createRequire:e}=await Ei(()=>Promise.resolve().then(()=>ki),void 0,import.meta.url);var E=e(import.meta.url)}var f="./this.program",g=import.meta.url,A="";function P(e){return i.locateFile?i.locateFile(e,A):A+e}var I,p;if(_){var v=E("node:fs");g.startsWith("file:")&&(A=E("node:path").dirname(E("node:url").fileURLToPath(g))+"/"),p=e=>{e=N(e)?new URL(e):e;var r=v.readFileSync(e);return r},I=async(e,r=!0)=>{e=N(e)?new URL(e):e;var o=v.readFileSync(e,r?void 0:"utf8");return o},process.argv.length>1&&(f=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2)}else if(n||d){try{A=new URL(".",g).href}catch{}d&&(p=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),I=async e=>{if(N(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 D=(()=>{}).bind(console),C=(()=>{}).bind(console),m,S=!1,N=e=>e.startsWith("file://"),G,b,k=!1;function U(){var e=an.buffer;z=new Int8Array(e),dt=new Int16Array(e),lt=new Uint8Array(e),gt=new Uint16Array(e),O=new Int32Array(e),B=new Uint32Array(e),xt=new Float32Array(e),kt=new Float64Array(e),tt=new BigInt64Array(e),$t=new BigUint64Array(e)}function J(){if(i.preRun)for(typeof i.preRun=="function"&&(i.preRun=[i.preRun]);i.preRun.length;)Ot(i.preRun.shift());Dt(Ht)}function et(){k=!0,!i.noFSInit&&!l.initialized&&l.init(),Ee.__wasm_call_ctors(),l.ignorePermissions=!1}function ft(){if(i.postRun)for(typeof i.postRun=="function"&&(i.postRun=[i.postRun]);i.postRun.length;)ae(i.postRun.shift());Dt(Vt)}function Z(e){var o;(o=i.onAbort)==null||o.call(i,e),e=`Aborted(${e})`,C(e),S=!0,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw b==null||b(r),r}var Et;function ut(){return i.locateFile?P("libredwg-web.wasm"):new URL(""+new URL("libredwg-web.wasm",import.meta.url).href,import.meta.url).href}function ht(e){if(e==Et&&m)return new Uint8Array(m);if(p)return p(e);throw"both async and sync fetching of the wasm failed"}async function mt(e){if(!m)try{var r=await I(e);return new Uint8Array(r)}catch{}return ht(e)}async function Gt(e,r){try{var o=await mt(e),s=await WebAssembly.instantiate(o,r);return s}catch(c){C(`failed to asynchronously prepare wasm: ${c}`),Z(c)}}async function Wt(e,r,o){if(!e&&!N(r)&&!_)try{var s=fetch(r,{credentials:"same-origin"}),c=await WebAssembly.instantiateStreaming(s,o);return c}catch(u){C(`wasm streaming compile failed: ${u}`),C("falling back to ArrayBuffer instantiation")}return Gt(r,o)}function Mt(){var e={env:Zn,wasi_snapshot_preview1:Zn};return e}async function bt(){function e(u,h){return Ee=u.exports,Ee=qa(Ee),Za(Ee),U(),Ee}function r(u){return e(u.instance)}var o=Mt();if(i.instantiateWasm)return new Promise((u,h)=>{i.instantiateWasm(o,(T,y)=>{u(e(T))})});Et??(Et=ut());var s=await Wt(m,Et,o),c=r(s);return c}var dt,O,tt,z,xt,kt,gt,B,$t,lt,Dt=e=>{for(;e.length>0;)e.shift()(i)},Vt=[],ae=e=>Vt.push(e),Ht=[],Ot=e=>Ht.push(e);function q(e,r,o="i8"){switch(o.endsWith("*")&&(o="*"),o){case"i1":z[e>>>0]=r;break;case"i8":z[e>>>0]=r;break;case"i16":dt[e>>>1>>>0]=r;break;case"i32":O[e>>>2>>>0]=r;break;case"i64":tt[e>>>3>>>0]=BigInt(r);break;case"float":xt[e>>>2>>>0]=r;break;case"double":kt[e>>>3>>>0]=r;break;case"*":B[e>>>2>>>0]=r;break;default:Z(`invalid type for setValue: ${o}`)}}var V=e=>Xn(e),Xt=()=>zn();class he{constructor(r){this.excPtr=r,this.ptr=r-24}set_type(r){B[this.ptr+4>>>2>>>0]=r}get_type(){return B[this.ptr+4>>>2>>>0]}set_destructor(r){B[this.ptr+8>>>2>>>0]=r}get_destructor(){return B[this.ptr+8>>>2>>>0]}set_caught(r){r=r?1:0,z[this.ptr+12>>>0]=r}get_caught(){return z[this.ptr+12>>>0]!=0}set_rethrown(r){r=r?1:0,z[this.ptr+13>>>0]=r}get_rethrown(){return z[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){B[this.ptr+16>>>2>>>0]=r}get_adjusted_ptr(){return B[this.ptr+16>>>2>>>0]}}var Bt=9007199254740992,Re=-9007199254740992,ge=e=>e<Re||e>Bt?NaN:Number(e);function Se(e,r,o){e>>>=0,r>>>=0,o>>>=0;var s=new he(e);s.init(r,o),Z()}var Kt=()=>{var e=O[+Q.varargs>>>2>>>0];return Q.varargs+=4,e},Rt=Kt,X={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=X.isAbs(e),o=e.slice(-1)==="/";return e=X.normalizeArray(e.split("/").filter(s=>!!s),!r).join("/"),!e&&!r&&(e="."),e&&o&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=X.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)=>X.normalize(e.join("/")),join2:(e,r)=>X.normalize(e+"/"+r)},Le=()=>{if(_){var e=E("node:crypto");return r=>e.randomFillSync(r)}return r=>(crypto.getRandomValues(r),0)},zt=e=>(zt=Le())(e),Ct={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=X.isAbs(c)}return r=X.normalizeArray(r.split("/").filter(u=>!!u),!o).join("/"),(o?"/":"")+r||"."},relative:(e,r)=>{e=Ct.resolve(e).slice(1),r=Ct.resolve(r).slice(1);function o(w){for(var R=0;R<w.length&&w[R]==="";R++);for(var W=w.length-1;W>=0&&w[W]==="";W--);return R>W?[]:w.slice(R,W-R+1)}for(var s=o(e.split("/")),c=o(r.split("/")),u=Math.min(s.length,c.length),h=u,T=0;T<u;T++)if(s[T]!==c[T]){h=T;break}for(var y=[],T=h;T<s.length;T++)y.push("..");return y=y.concat(c.slice(h)),y.join("/")}},Ae=globalThis.TextDecoder&&new TextDecoder,Te=(e,r,o,s)=>{var c=r+o;if(s)return c;for(;e[r]&&!(r>=c);)++r;return r},St=(e,r=0,o,s)=>{r>>>=0;var c=Te(e,r,o,s);if(c-r>16&&e.buffer&&Ae)return Ae.decode(e.subarray(r,c));for(var u="";r<c;){var h=e[r++];if(!(h&128)){u+=String.fromCharCode(h);continue}var T=e[r++]&63;if((h&224)==192){u+=String.fromCharCode((h&31)<<6|T);continue}var y=e[r++]&63;if((h&240)==224?h=(h&15)<<12|T<<6|y:h=(h&7)<<18|T<<12|y<<6|e[r++]&63,h<65536)u+=String.fromCharCode(h);else{var w=h-65536;u+=String.fromCharCode(55296|w>>10,56320|w&1023)}}return u},ie=[],Lt=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},oe=(e,r,o,s)=>{if(o>>>=0,!(s>0))return 0;for(var c=o,u=o+s-1,h=0;h<e.length;++h){var T=e.codePointAt(h);if(T<=127){if(o>=u)break;r[o++>>>0]=T}else if(T<=2047){if(o+1>=u)break;r[o++>>>0]=192|T>>6,r[o++>>>0]=128|T&63}else if(T<=65535){if(o+2>=u)break;r[o++>>>0]=224|T>>12,r[o++>>>0]=128|T>>6&63,r[o++>>>0]=128|T&63}else{if(o+3>=u)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,h++}}return r[o>>>0]=0,o-c},Jt=(e,r,o)=>{var s=Lt(e)+1,c=new Array(s),u=oe(e,c,0,c.length);return c.length=u,c},Pe=()=>{var u;if(!ie.length){var e=null;if(_){var r=256,o=Buffer.alloc(r),s=0,c=process.stdin.fd;try{s=v.readSync(c,o,0,r)}catch(h){if(h.toString().includes("EOF"))s=0;else throw h}s>0&&(e=o.slice(0,s).toString("utf-8"))}else(u=globalThis.window)!=null&&u.prompt&&(e=window.prompt("Input: "),e!==null&&(e+=`
|
|
2
|
-
`));if(!e)return null;ie=Jt(e)}return ie.shift()},At={ttys:[],init(){},shutdown(){},register(e,r){At.ttys[e]={input:[],output:[],ops:r},l.registerDevice(e,At.stream_ops)},stream_ops:{open(e){var r=At.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 u=0,h=0;h<s;h++){var T;try{T=e.tty.ops.get_char(e.tty)}catch{throw new l.ErrnoError(29)}if(T===void 0&&u===0)throw new l.ErrnoError(6);if(T==null)break;u++,r[o+h]=T}return u&&(e.node.atime=Date.now()),u},write(e,r,o,s,c){if(!e.tty||!e.tty.ops.put_char)throw new l.ErrnoError(60);try{for(var u=0;u<s;u++)e.tty.ops.put_char(e.tty,r[o+u])}catch{throw new l.ErrnoError(29)}return s&&(e.node.mtime=e.node.ctime=Date.now()),u}},default_tty_ops:{get_char(e){return Pe()},put_char(e,r){r===null||r===10?(D(St(e.output)),e.output=[]):r!=0&&e.output.push(r)},fsync(e){var r;((r=e.output)==null?void 0:r.length)>0&&(D(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?(C(St(e.output)),e.output=[]):r!=0&&e.output.push(r)},fsync(e){var r;((r=e.output)==null?void 0:r.length)>0&&(C(St(e.output)),e.output=[])}}},se=e=>{Z()},x={ops_table:null,mount(e){return x.createNode(null,"/",16895,0)},createNode(e,r,o,s){if(l.isBlkdev(o)||l.isFIFO(o))throw new l.ErrnoError(63);x.ops_table||(x.ops_table={dir:{node:{getattr:x.node_ops.getattr,setattr:x.node_ops.setattr,lookup:x.node_ops.lookup,mknod:x.node_ops.mknod,rename:x.node_ops.rename,unlink:x.node_ops.unlink,rmdir:x.node_ops.rmdir,readdir:x.node_ops.readdir,symlink:x.node_ops.symlink},stream:{llseek:x.stream_ops.llseek}},file:{node:{getattr:x.node_ops.getattr,setattr:x.node_ops.setattr},stream:{llseek:x.stream_ops.llseek,read:x.stream_ops.read,write:x.stream_ops.write,mmap:x.stream_ops.mmap,msync:x.stream_ops.msync}},link:{node:{getattr:x.node_ops.getattr,setattr:x.node_ops.setattr,readlink:x.node_ops.readlink},stream:{}},chrdev:{node:{getattr:x.node_ops.getattr,setattr:x.node_ops.setattr},stream:l.chrdev_stream_ops}});var c=l.createNode(e,r,o,s);return l.isDir(c.mode)?(c.node_ops=x.ops_table.dir.node,c.stream_ops=x.ops_table.dir.stream,c.contents={}):l.isFile(c.mode)?(c.node_ops=x.ops_table.file.node,c.stream_ops=x.ops_table.file.stream,c.usedBytes=0,c.contents=x.emptyFileContents??(x.emptyFileContents=new Uint8Array(0))):l.isLink(c.mode)?(c.node_ops=x.ops_table.link.node,c.stream_ops=x.ops_table.link.stream):l.isChrdev(c.mode)&&(c.node_ops=x.ops_table.chrdev.node,c.stream_ops=x.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.subarray(0,e.usedBytes)},expandFileStorage(e,r){var o=e.contents.length;if(!(o>=r)){var s=1024*1024;r=Math.max(r,o*(o<s?2:1.125)>>>0),o&&(r=Math.max(r,256));var c=x.getFileDataAsTypedArray(e);e.contents=new Uint8Array(r),e.contents.set(c)}},resizeFileStorage(e,r){if(e.usedBytes!=r){var o=e.contents;e.contents=new Uint8Array(r),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&&x.resizeFileStorage(e,r.size)},lookup(e,r){throw x.doesNotExistError||(x.doesNotExistError=new l.ErrnoError(44),x.doesNotExistError.stack="<generic error, no stack>"),x.doesNotExistError},mknod(e,r,o,s){return x.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=x.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 u=e.node.contents;if(c>=e.node.usedBytes)return 0;var h=Math.min(e.node.usedBytes-c,s);return r.set(u.subarray(c,c+h),o),h},write(e,r,o,s,c,u){if(r.buffer===z.buffer&&(u=!1),!s)return 0;var h=e.node;return h.mtime=h.ctime=Date.now(),u?(h.contents=r.subarray(o,o+s),h.usedBytes=s):h.usedBytes===0&&c===0?(h.contents=r.slice(o,o+s),h.usedBytes=s):(x.expandFileStorage(h,c+s),h.contents.set(r.subarray(o,o+s),c),h.usedBytes=Math.max(h.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},mmap(e,r,o,s,c){if(!l.isFile(e.node.mode))throw new l.ErrnoError(43);var u,h,T=e.node.contents;if(!(c&2)&&T.buffer===z.buffer)h=!1,u=T.byteOffset;else{if(h=!0,u=se(),!u)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)),z.set(T,u>>>0))}return{ptr:u,allocated:h}},msync(e,r,o,s,c){return x.stream_ops.write(e,r,0,s,o,!1),0}}},ye=e=>{if(typeof e!="string")return 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},_e=e=>(typeof e=="string"&&(e=Jt(e)),e.subarray||(e=new Uint8Array(e)),e),Zt=(e,r)=>{var o=0;return e&&(o|=365),r&&(o|=146),o},pe=async e=>{var r=await I(e);return new Uint8Array(r)},Ie=(...e)=>l.createDataFile(...e),Tt=0,Yt=null,ve=e=>{var o;if(Tt--,(o=i.monitorRunDependencies)==null||o.call(i,Tt),Tt==0&&Yt){var r=Yt;Yt=null,r()}},me=e=>{var r;Tt++,(r=i.monitorRunDependencies)==null||r.call(i,Tt)},de=[],Ce=async(e,r)=>{typeof Browser<"u"&&Browser.init();for(var o of de)if(o.canHandle(r))return o.handle(e,r);return e},le=async(e,r,o,s,c,u,h,T)=>{var y=r?Ct.resolve(X.join2(e,r)):e;me();try{var w=o;typeof o=="string"&&(w=await pe(o)),w=await Ce(w,y),T==null||T(),u||Ie(e,r,w,s,c,h)}finally{ve()}},$e=(e,r,o,s,c,u,h,T,y,w)=>{le(e,r,o,s,c,T,y,w).then(u).catch(h)},l={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,filesystems:null,syncFSRequests:0,ErrnoError:class{constructor(e){Nt(this,"name","ErrnoError");this.errno=e}},FSStream:class{constructor(){Nt(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){Nt(this,"node_ops",{});Nt(this,"stream_ops",{});Nt(this,"readMode",365);Nt(this,"writeMode",146);Nt(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),X.isAbs(e)||(e=l.cwd()+"/"+e);t:for(var o=0;o<40;o++){for(var s=e.split("/").filter(w=>!!w),c=l.root,u="/",h=0;h<s.length;h++){var T=h===s.length-1;if(T&&r.parent)break;if(s[h]!=="."){if(s[h]===".."){if(u=X.dirname(u),l.isRoot(c)){e=u+"/"+s.slice(h+1).join("/"),o--;continue t}else c=c.parent;continue}u=X.join2(u,s[h]);try{c=l.lookupNode(c,s[h])}catch(w){if((w==null?void 0:w.errno)===44&&T&&r.noent_okay)return{path:u};throw w}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);X.isAbs(y)||(y=X.dirname(u)+"/"+y),e=y+"/"+s.slice(h+1).join("/");continue t}}}return{path:u,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 u=c.name;if(c.parent.id===e.id&&u===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(u){return u.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){if(!e)return 44;if(l.isLink(e.mode))return 32;var o=l.flagsToPermissionString(r);return l.isDir(e.mode)&&(o!=="r"||r&576)?31:l.nodePermissions(e,o)},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);try{s(c,o)}catch(u){throw u instanceof RangeError?new l.ErrnoError(22):u}},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&&C(`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(T){return l.syncFSRequests--,r(T)}function u(T){if(T)return u.errored?void 0:(u.errored=!0,c(T));++s>=o.length&&c(null)}for(var h of o)h.type.syncfs?h.type.syncfs(h,e,u):u(null)},mount(e,r,o){var s=o==="/",c=!o,u;if(s&&l.root)throw new l.ErrnoError(10);if(!s&&!c){var h=l.lookupPath(o,{follow_mount:!1});if(o=h.path,u=h.node,l.isMountpoint(u))throw new l.ErrnoError(10);if(!l.isDir(u.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:u&&(u.mounted=T,u.mount&&u.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);for(var[u,h]of Object.entries(l.nameTable))for(;h;){var T=h.name_next;c.includes(h.mount)&&l.destroyNode(h),h=T}o.mounted=null;var y=o.mount.mounts.indexOf(s);o.mount.mounts.splice(y,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,u=X.basename(e);if(!u)throw new l.ErrnoError(28);if(u==="."||u==="..")throw new l.ErrnoError(20);var h=l.mayCreate(c,u);if(h)throw new l.ErrnoError(h);if(!c.node_ops.mknod)throw new l.ErrnoError(63);return c.node_ops.mknod(c,u,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){var o=e.split("/"),s="";for(var c of o)if(c){(s||X.isAbs(e))&&(s+="/"),s+=c;try{l.mkdir(s,r)}catch(u){if(u.errno!=20)throw u}}},mkdev(e,r,o){return typeof o>"u"&&(o=r,r=438),r|=8192,l.mknod(e,r,o)},symlink(e,r){if(!Ct.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=X.basename(r),u=l.mayCreate(s,c);if(u)throw new l.ErrnoError(u);if(!s.node_ops.symlink)throw new l.ErrnoError(63);return s.node_ops.symlink(s,c,e)},rename(e,r){var o=X.dirname(e),s=X.dirname(r),c=X.basename(e),u=X.basename(r),h,T,y;if(h=l.lookupPath(e,{parent:!0}),T=h.node,h=l.lookupPath(r,{parent:!0}),y=h.node,!T||!y)throw new l.ErrnoError(44);if(T.mount!==y.mount)throw new l.ErrnoError(75);var w=l.lookupNode(T,c),R=Ct.relative(e,s);if(R.charAt(0)!==".")throw new l.ErrnoError(28);if(R=Ct.relative(r,o),R.charAt(0)!==".")throw new l.ErrnoError(55);var W;try{W=l.lookupNode(y,u)}catch{}if(w!==W){var M=l.isDir(w.mode),L=l.mayDelete(T,c,M);if(L)throw new l.ErrnoError(L);if(L=W?l.mayDelete(y,u,M):l.mayCreate(y,u),L)throw new l.ErrnoError(L);if(!T.node_ops.rename)throw new l.ErrnoError(63);if(l.isMountpoint(w)||W&&l.isMountpoint(W))throw new l.ErrnoError(10);if(y!==T&&(L=l.nodePermissions(T,"w"),L))throw new l.ErrnoError(L);l.hashRemoveNode(w);try{T.node_ops.rename(w,y,u),w.parent=y}catch(F){throw F}finally{l.hashAddNode(w)}}},rmdir(e){var r=l.lookupPath(e,{parent:!0}),o=r.node,s=X.basename(e),c=l.lookupNode(o,s),u=l.mayDelete(o,s,!0);if(u)throw new l.ErrnoError(u);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=X.basename(e),c=l.lookupNode(o,s),u=l.mayDelete(o,s,!1);if(u)throw new l.ErrnoError(u);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 u=l.lookupPath(e,{follow:!s});c=u.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,u=l.checkOpExists(c.node_ops.setattr,63);u(c,{atime:r,mtime:o})},open(e,r,o=438){if(e==="")throw new l.ErrnoError(44);r=ye(r),r&64?o=o&4095|32768:o=0;var s,c;if(typeof e=="object")s=e;else{c=e.endsWith("/");var u=l.lookupPath(e,{follow:!(r&131072),noent_okay:!0});s=u.node,e=u.path}var h=!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),h=!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(!h){var T=l.mayOpen(s,r);if(T)throw new l.ErrnoError(T)}r&512&&!h&&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),h&&l.chmod(s,o&511),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 u=typeof c<"u";if(!u)c=e.position;else if(!e.seekable)throw new l.ErrnoError(70);var h=e.stream_ops.read(e,r,o,s,c);return u||(e.position+=h),h},write(e,r,o,s,c,u){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 h=typeof c<"u";if(!h)c=e.position;else if(!e.seekable)throw new l.ErrnoError(70);var T=e.stream_ops.write(e,r,o,s,c,u);return h||(e.position+=T),T},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={}){r.flags=r.flags??0,r.encoding=r.encoding??"binary",r.encoding!=="utf8"&&r.encoding!=="binary"&&Z(`Invalid encoding type "${r.encoding}"`);var o=l.open(e,r.flags),s=l.stat(e),c=s.size,u=new Uint8Array(c);return l.read(o,u,0,c,0),r.encoding==="utf8"&&(u=St(u)),l.close(o),u},writeFile(e,r,o={}){o.flags=o.flags??577;var s=l.open(e,o.flags,o.mode);r=_e(r),l.write(s,r,0,r.byteLength,void 0,o.canOwn),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,u,h,T)=>h,llseek:()=>0}),l.mkdev("/dev/null",l.makedev(1,3)),At.register(l.makedev(5,0),At.default_tty_ops),At.register(l.makedev(6,0),At.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:x.stream_ops.llseek},r.node_ops={lookup(o,s){var c=+s,u=l.getStreamChecked(c),h={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>u.path},id:c+1};return h.parent=h,h},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(x,{},"/"),l.createDefaultDirectories(),l.createDefaultDevices(),l.createSpecialDirectories(),l.filesystems={MEMFS:x}},init(e,r,o){l.initialized=!0,e??(e=i.stdin),r??(r=i.stdout),o??(o=i.stderr),l.createStandardStreams(e,r,o)},quit(){l.initialized=!1;for(var e of l.streams)e&&l.close(e)},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=X.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 u=c.pop();if(u){var h=X.join2(e,u);try{l.mkdir(h)}catch(T){if(T.errno!=20)throw T}e=h}}return h},createFile(e,r,o,s,c){var u=X.join2(typeof e=="string"?e:l.getPath(e),r),h=Zt(s,c);return l.create(u,h)},createDataFile(e,r,o,s,c,u){var h=r;e&&(e=typeof e=="string"?e:l.getPath(e),h=r?X.join2(e,r):e);var T=Zt(s,c),y=l.create(h,T);if(o){o=_e(o),l.chmod(y,T|146);var w=l.open(y,577);l.write(w,o,0,o.length,0,u),l.close(w),l.chmod(y,T)}},createDevice(e,r,o,s){var T;var c=X.join2(typeof e=="string"?e:l.getPath(e),r),u=Zt(!!o,!!s);(T=l.createDevice).major??(T.major=64);var h=l.makedev(l.createDevice.major++,0);return l.registerDevice(h,{open(y){y.seekable=!1},close(y){var w;(w=s==null?void 0:s.buffer)!=null&&w.length&&s(10)},read(y,w,R,W,M){for(var L=0,F=0;F<W;F++){var H;try{H=o()}catch{throw new l.ErrnoError(29)}if(H===void 0&&L===0)throw new l.ErrnoError(6);if(H==null)break;L++,w[R+F]=H}return L&&(y.node.atime=Date.now()),L},write(y,w,R,W,M){for(var L=0;L<W;L++)try{s(w[R+L])}catch{throw new l.ErrnoError(29)}return W&&(y.node.mtime=y.node.ctime=Date.now()),L}}),l.mkdev(c,u,h)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if(globalThis.XMLHttpRequest)Z("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.");else try{e.contents=p(e.url)}catch{throw new l.ErrnoError(29)}},createLazyFile(e,r,o,s,c){class u{constructor(){Nt(this,"lengthKnown",!1);Nt(this,"chunks",[])}get(M){if(!(M>this.length-1||M<0)){var L=M%this.chunkSize,F=M/this.chunkSize|0;return this.getter(F)[L]}}setDataGetter(M){this.getter=M}cacheLength(){var M=new XMLHttpRequest;M.open("HEAD",o,!1),M.send(null),M.status>=200&&M.status<300||M.status===304||Z("Couldn't load "+o+". Status: "+M.status);var L=Number(M.getResponseHeader("Content-length")),F,H=(F=M.getResponseHeader("Accept-Ranges"))&&F==="bytes",rt=(F=M.getResponseHeader("Content-Encoding"))&&F==="gzip",at=1024*1024;H||(at=L);var ct=(yt,Ut)=>{yt>Ut&&Z(`invalid range (${yt}, ${Ut}) or no bytes requested!`),Ut>L-1&&Z(`only ${L} bytes available! programmer error!`);var ot=new XMLHttpRequest;return ot.open("GET",o,!1),L!==at&&ot.setRequestHeader("Range","bytes="+yt+"-"+Ut),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||Z("Couldn't load "+o+". Status: "+ot.status),ot.response!==void 0?new Uint8Array(ot.response||[]):Jt(ot.responseText??"")},_t=this;_t.setDataGetter(yt=>{var Ut=yt*at,ot=(yt+1)*at-1;return ot=Math.min(ot,L-1),typeof _t.chunks[yt]>"u"&&(_t.chunks[yt]=ct(Ut,ot)),typeof _t.chunks[yt]>"u"&&Z("doXHR failed!"),_t.chunks[yt]}),(rt||!L)&&(at=L=1,L=this.getter(0).length,at=L,D("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=L,this._chunkSize=at,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(globalThis.XMLHttpRequest){d||Z("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");var h=new u,T={isDevice:!1,contents:h}}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 w={};for(const[W,M]of Object.entries(y.stream_ops))w[W]=(...L)=>(l.forceLoadFile(y),M(...L));function R(W,M,L,F,H){var rt=W.node.contents;if(H>=rt.length)return 0;var at=Math.min(rt.length-H,F);if(rt.slice)for(var ct=0;ct<at;ct++)M[L+ct]=rt[H+ct];else for(var ct=0;ct<at;ct++)M[L+ct]=rt.get(H+ct);return at}return w.read=(W,M,L,F,H)=>(l.forceLoadFile(y),R(W,M,L,F,H)),w.mmap=(W,M,L,F,H)=>{l.forceLoadFile(y);var rt=se();if(!rt)throw new l.ErrnoError(48);return R(W,z,rt,M,L),{ptr:rt,allocated:!0}},y.stream_ops=w,y}},qt=(e,r,o)=>(e>>>=0,e?St(lt,e,r,o):""),Q={currentUmask:18,calculateAt(e,r,o){if(X.isAbs(r))return r;var s;if(e===-100)s=l.cwd();else{var c=Q.getStreamFromFD(e);s=c.path}if(r.length==0){if(!o)throw new l.ErrnoError(44);return s}return s+"/"+r},writeStat(e,r){B[e>>>2>>>0]=r.dev,B[e+4>>>2>>>0]=r.mode,B[e+8>>>2>>>0]=r.nlink,B[e+12>>>2>>>0]=r.uid,B[e+16>>>2>>>0]=r.gid,B[e+20>>>2>>>0]=r.rdev,tt[e+24>>>3>>>0]=BigInt(r.size),O[e+32>>>2>>>0]=4096,O[e+36>>>2>>>0]=r.blocks;var o=r.atime.getTime(),s=r.mtime.getTime(),c=r.ctime.getTime();return tt[e+40>>>3>>>0]=BigInt(Math.floor(o/1e3)),B[e+48>>>2>>>0]=o%1e3*1e3*1e3,tt[e+56>>>3>>>0]=BigInt(Math.floor(s/1e3)),B[e+64>>>2>>>0]=s%1e3*1e3*1e3,tt[e+72>>>3>>>0]=BigInt(Math.floor(c/1e3)),B[e+80>>>2>>>0]=c%1e3*1e3*1e3,tt[e+88>>>3>>>0]=BigInt(r.ino),0},writeStatFs(e,r){B[e+4>>>2>>>0]=r.bsize,B[e+60>>>2>>>0]=r.bsize,tt[e+8>>>3>>>0]=BigInt(r.blocks),tt[e+16>>>3>>>0]=BigInt(r.bfree),tt[e+24>>>3>>>0]=BigInt(r.bavail),tt[e+32>>>3>>>0]=BigInt(r.files),tt[e+40>>>3>>>0]=BigInt(r.ffree),B[e+48>>>2>>>0]=r.fsid,B[e+64>>>2>>>0]=r.flags,B[e+56>>>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 u=lt.slice(e,e+o);l.msync(r,u,c,o,s)},getStreamFromFD(e){var r=l.getStreamChecked(e);return r},varargs:void 0,getStr(e){var r=qt(e);return r}};function _n(e,r,o){o>>>=0,Q.varargs=o;try{var s=Q.getStreamFromFD(e);switch(r){case 0:{var c=Kt();if(c<0)return-28;for(;l.streams[c];)c++;var u;return u=l.dupStream(s,c),u.fd}case 1:case 2:return 0;case 3:return s.flags;case 4:{var c=Kt(),h=289792;return s.flags=s.flags&~h|c&h,0}case 12:{var c=Rt(),T=0;return dt[c+T>>>1>>>0]=2,0}case 13:case 14:return 0}return-28}catch(y){if(typeof l>"u"||y.name!=="ErrnoError")throw y;return-y.errno}}function dn(e,r){r>>>=0;try{return Q.writeStat(r,l.fstat(e))}catch(o){if(typeof l>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}function ln(e,r,o){o>>>=0,Q.varargs=o;try{var s=Q.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),u=Rt();O[u>>>2>>>0]=c.c_iflag||0,O[u+4>>>2>>>0]=c.c_oflag||0,O[u+8>>>2>>>0]=c.c_cflag||0,O[u+12>>>2>>>0]=c.c_lflag||0;for(var h=0;h<32;h++)z[u+h+17>>>0]=c.c_cc[h]||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 u=Rt(),T=O[u>>>2>>>0],y=O[u+4>>>2>>>0],w=O[u+8>>>2>>>0],R=O[u+12>>>2>>>0],W=[],h=0;h<32;h++)W.push(z[u+h+17>>>0]);return s.tty.ops.ioctl_tcsets(s.tty,r,{c_iflag:T,c_oflag:y,c_cflag:w,c_lflag:R,c_cc:W})}return 0}case 21519:{if(!s.tty)return-59;var u=Rt();return O[u>>>2>>>0]=0,0}case 21520:return s.tty?-28:-59;case 21537:case 21531:{var u=Rt();return l.ioctl(s,r,u)}case 21523:{if(!s.tty)return-59;if(s.tty.ops.ioctl_tiocgwinsz){var M=s.tty.ops.ioctl_tiocgwinsz(s.tty),u=Rt();dt[u>>>1>>>0]=M[0],dt[u+2>>>1>>>0]=M[1]}return 0}case 21524:return s.tty?0:-59;case 21515:return s.tty?0:-59;default:return-28}}catch(L){if(typeof l>"u"||L.name!=="ErrnoError")throw L;return-L.errno}}function Ve(e,r){e>>>=0,r>>>=0;try{return e=Q.getStr(e),Q.writeStat(r,l.lstat(e))}catch(o){if(typeof l>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}function Ye(e,r,o,s){r>>>=0,o>>>=0;try{r=Q.getStr(r);var c=s&256,u=s&4096;return s=s&-6401,r=Q.calculateAt(e,r,u),Q.writeStat(o,c?l.lstat(r):l.stat(r))}catch(h){if(typeof l>"u"||h.name!=="ErrnoError")throw h;return-h.errno}}function K(e,r,o,s){r>>>=0,s>>>=0,Q.varargs=s;try{r=Q.getStr(r),r=Q.calculateAt(e,r);var c=s?Kt():0;return o&64&&(c&=~Q.currentUmask),l.open(r,o,c).fd}catch(u){if(typeof l>"u"||u.name!=="ErrnoError")throw u;return-u.errno}}function j(e,r){e>>>=0,r>>>=0;try{return e=Q.getStr(e),Q.writeStat(r,l.stat(e))}catch(o){if(typeof l>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}var Qt=()=>Z(""),st=e=>{e>>>=0;for(var r="";;){var o=lt[e++>>>0];if(!o)return r;r+=String.fromCharCode(o)}},jt={},Ft={},te={},we=class extends Error{constructor(r){super(r),this.name="BindingError"}},$=e=>{throw new we(e)};function He(e,r,o={}){var s=r.name;if(e||$(`type "${s}" must have a positive integer typeid pointer`),Ft.hasOwnProperty(e)){if(o.ignoreDuplicateRegistrations)return;$(`Cannot register type '${s}' twice`)}if(Ft[e]=r,delete te[e],jt.hasOwnProperty(e)){var c=jt[e];delete jt[e],c.forEach(u=>u())}}function it(e,r,o={}){return He(e,r,o)}var wt=(e,r,o)=>{switch(r){case 1:return o?s=>z[s>>>0]:s=>lt[s>>>0];case 2:return o?s=>dt[s>>>1>>>0]:s=>gt[s>>>1>>>0];case 4:return o?s=>O[s>>>2>>>0]:s=>B[s>>>2>>>0];case 8:return o?s=>tt[s>>>3>>>0]:s=>$t[s>>>3>>>0];default:throw new TypeError(`invalid integer width (${r}): ${e}`)}},Xe=function(e,r,o,s,c){e>>>=0,r>>>=0,o>>>=0,r=st(r);const u=s===0n;let h=T=>T;if(u){const T=o*8;h=y=>BigInt.asUintN(T,y),c=h(c)}it(e,{name:r,fromWireType:h,toWireType:(T,y)=>(typeof y=="number"&&(y=BigInt(y)),y),readValueFromPointer:wt(r,o,!u),destructorFunction:null})};function cn(e,r,o,s){e>>>=0,r>>>=0,r=st(r),it(e,{name:r,fromWireType:function(c){return!!c},toWireType:function(c,u){return u?o:s},readValueFromPointer:function(c){return this.fromWireType(lt[c>>>0])},destructorFunction:null})}var En=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),Ne=e=>{function r(o){return o.$$.ptrType.registeredClass.name}$(r(e)+" instance already deleted")},Ge=!1,De=e=>{},We=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},Me=e=>{e.count.value-=1;var r=e.count.value===0;r&&We(e)},be=e=>globalThis.FinalizationRegistry?(Ge=new FinalizationRegistry(r=>{Me(r.$$)}),be=r=>{var o=r.$$,s=!!o.smartPtr;if(s){var c={$$:o};Ge.register(r,c,r)}return r},De=r=>Ge.unregister(r),be(e)):(be=r=>r,e),pr=()=>{let e=Ke.prototype;Object.assign(e,{isAliasOf(o){if(!(this instanceof Ke)||!(o instanceof Ke))return!1;var s=this.$$.ptrType.registeredClass,c=this.$$.ptr;o.$$=o.$$;for(var u=o.$$.ptrType.registeredClass,h=o.$$.ptr;s.baseClass;)c=s.upcast(c),s=s.baseClass;for(;u.baseClass;)h=u.upcast(h),u=u.baseClass;return s===u&&c===h},clone(){if(this.$$.ptr||Ne(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var o=be(Object.create(Object.getPrototypeOf(this),{$$:{value:En(this.$$)}}));return o.$$.count.value+=1,o.$$.deleteScheduled=!1,o},delete(){this.$$.ptr||Ne(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&$("Object already scheduled for deletion"),De(this),Me(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Ne(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&$("Object already scheduled for deletion"),this.$$.deleteScheduled=!0,this}});const r=Symbol.dispose;r&&(e[r]=e.delete)};function Ke(){}var ze=(e,r)=>Object.defineProperty(r,"name",{value:e}),Ln={},Ir=(e,r,o)=>{if(e[r].overloadTable===void 0){var s=e[r];e[r]=function(...c){return e[r].overloadTable.hasOwnProperty(c.length)||$(`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}},xe=(e,r,o)=>{i.hasOwnProperty(e)?((o===void 0||i[e].overloadTable!==void 0&&i[e].overloadTable[o]!==void 0)&&$(`Cannot register public name '${e}' twice`),Ir(i,e,e),i[e].overloadTable.hasOwnProperty(o)&&$(`Cannot register multiple overloads of a function with the same number of arguments (${o})!`),i[e].overloadTable[o]=r):(i[e]=r,i[e].argCount=o)},vr=48,mr=57,Cr=e=>{e=e.replace(/[^a-zA-Z0-9_]/g,"$");var r=e.charCodeAt(0);return r>=vr&&r<=mr?`_${e}`:e};function wr(e,r,o,s,c,u,h,T){this.name=e,this.constructor=r,this.instancePrototype=o,this.rawDestructor=s,this.baseClass=c,this.getActualType=u,this.upcast=h,this.downcast=T,this.pureVirtualFunctions=[]}var Je=(e,r,o)=>{for(;r!==o;)r.upcast||$(`Expected null or instance of ${o.name}, got an instance of ${r.name}`),e=r.upcast(e),r=r.baseClass;return e},un=e=>{if(e===null)return"null";var r=typeof e;return r==="object"||r==="array"||r==="function"?e.toString():""+e};function Dr(e,r){if(r===null)return this.isReference&&$(`null is not a valid ${this.name}`),0;r.$$||$(`Cannot pass "${un(r)}" as a ${this.name}`),r.$$.ptr||$(`Cannot pass deleted object as a pointer of type ${this.name}`);var o=r.$$.ptrType.registeredClass,s=Je(r.$$.ptr,o,this.registeredClass);return s}function Rr(e,r){var o;if(r===null)return this.isReference&&$(`null is not a valid ${this.name}`),this.isSmartPointer?(o=this.rawConstructor(),e!==null&&e.push(this.rawDestructor,o),o):0;(!r||!r.$$)&&$(`Cannot pass "${un(r)}" as a ${this.name}`),r.$$.ptr||$(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&r.$$.ptrType.isConst&&$(`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=Je(r.$$.ptr,s,this.registeredClass),this.isSmartPointer)switch(r.$$.smartPtr===void 0&&$("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:r.$$.smartPtrType===this?o=r.$$.smartPtr:$(`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,Pt.toHandle(()=>c.delete())),e!==null&&e.push(this.rawDestructor,o)}break;default:$("Unsupported sharing policy")}return o}function Sr(e,r){if(r===null)return this.isReference&&$(`null is not a valid ${this.name}`),0;r.$$||$(`Cannot pass "${un(r)}" as a ${this.name}`),r.$$.ptr||$(`Cannot pass deleted object as a pointer of type ${this.name}`),r.$$.ptrType.isConst&&$(`Cannot convert argument of type ${r.$$.ptrType.name} to parameter type ${this.name}`);var o=r.$$.ptrType.registeredClass,s=Je(r.$$.ptr,o,this.registeredClass);return s}function Ze(e){return this.fromWireType(B[e>>>2>>>0])}var Yn=(e,r,o)=>{if(r===o)return e;if(o.baseClass===void 0)return null;var s=Yn(e,r,o.baseClass);return s===null?null:o.downcast(s)},Lr={},Yr=(e,r)=>{for(r===void 0&&$("ptr should not be undefined");e.baseClass;)r=e.upcast(r),e=e.baseClass;return r},Nr=(e,r)=>(r=Yr(e,r),Lr[r]),Gr=class extends Error{constructor(r){super(r),this.name="InternalError"}},qe=e=>{throw new Gr(e)},Qe=(e,r)=>{(!r.ptrType||!r.ptr)&&qe("makeClassHandle requires ptr and ptrType");var o=!!r.smartPtrType,s=!!r.smartPtr;return o!==s&&qe("Both smartPtrType and smartPtr must be specified"),r.count={value:1},be(Object.create(e,{$$:{value:r,writable:!0}}))};function Wr(e){var r=this.getPointee(e);if(!r)return this.destructor(e),null;var o=Nr(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?Qe(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:r,smartPtrType:this,smartPtr:e}):Qe(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var u=this.registeredClass.getActualType(r),h=Ln[u];if(!h)return c.call(this);var T;this.isConst?T=h.constPointerType:T=h.pointerType;var y=Yn(r,this.registeredClass,T.registeredClass);return y===null?c.call(this):this.isSmartPointer?Qe(T.registeredClass.instancePrototype,{ptrType:T,ptr:y,smartPtrType:this,smartPtr:e}):Qe(T.registeredClass.instancePrototype,{ptrType:T,ptr:y})}var Mr=()=>{Object.assign(je.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){var r;(r=this.rawDestructor)==null||r.call(this,e)},readValueFromPointer:Ze,fromWireType:Wr})};function je(e,r,o,s,c,u,h,T,y,w,R){this.name=e,this.registeredClass=r,this.isReference=o,this.isConst=s,this.isSmartPointer=c,this.pointeeType=u,this.sharingPolicy=h,this.rawGetPointee=T,this.rawConstructor=y,this.rawShare=w,this.rawDestructor=R,!c&&r.baseClass===void 0?s?(this.toWireType=Dr,this.destructorFunction=null):(this.toWireType=Sr,this.destructorFunction=null):this.toWireType=Rr}var Nn=(e,r,o)=>{i.hasOwnProperty(e)||qe("Replacing nonexistent public symbol"),i[e].overloadTable!==void 0&&o!==void 0?i[e].overloadTable[o]=r:(i[e]=r,i[e].argCount=o)},Gn=[],Wn=e=>{var r=Gn[e];return r||(Gn[e]=r=Jn.get(e)),r},br=(e,r,o=[],s=!1)=>{var c=Wn(r),u=c(...o);function h(T){return e[0]=="p"?T>>>0:T}return h(u)},xr=(e,r,o=!1)=>(...s)=>br(e,r,s,o),ce=(e,r,o=!1)=>{e=st(e);function s(){if(e.includes("p"))return xr(e,r,o);var u=Wn(r);return u}var c=s();return typeof c!="function"&&$(`unknown function pointer with signature ${e}: ${r}`),c};class kr extends Error{}var Mn=e=>{var r=Hn(e),o=st(r);return re(r),o},tn=(e,r)=>{var o=[],s={};function c(u){if(!s[u]&&!Ft[u]){if(te[u]){te[u].forEach(c);return}o.push(u),s[u]=!0}}throw r.forEach(c),new kr(`${e}: `+o.map(Mn).join([", "]))},en=(e,r,o)=>{e.forEach(T=>te[T]=r);function s(T){var y=o(T);y.length!==e.length&&qe("Mismatched type converter count");for(var w=0;w<e.length;++w)it(e[w],y[w])}var c=new Array(r.length),u=[],h=0;for(let[T,y]of r.entries())Ft.hasOwnProperty(y)?c[T]=Ft[y]:(u.push(y),jt.hasOwnProperty(y)||(jt[y]=[]),jt[y].push(()=>{c[T]=Ft[y],++h,h===u.length&&s(c)}));u.length===0&&s(c)};function Or(e,r,o,s,c,u,h,T,y,w,R,W,M){e>>>=0,r>>>=0,o>>>=0,s>>>=0,c>>>=0,u>>>=0,h>>>=0,T>>>=0,y>>>=0,w>>>=0,R>>>=0,W>>>=0,M>>>=0,R=st(R),u=ce(c,u),T&&(T=ce(h,T)),w&&(w=ce(y,w)),M=ce(W,M);var L=Cr(R);xe(L,function(){tn(`Cannot construct ${R} due to unbound types`,[s])}),en([e,r,o],s?[s]:[],F=>{var tr;F=F[0];var H,rt;s?(H=F.registeredClass,rt=H.instancePrototype):rt=Ke.prototype;var at=ze(R,function(...Pn){if(Object.getPrototypeOf(this)!==ct)throw new we(`Use 'new' to construct ${R}`);if(_t.constructor_body===void 0)throw new we(`${R} has no accessible constructor`);var er=_t.constructor_body[Pn.length];if(er===void 0)throw new we(`Tried to invoke ctor of ${R} with invalid number of parameters (${Pn.length}) - expected (${Object.keys(_t.constructor_body).toString()}) parameters instead!`);return er.apply(this,Pn)}),ct=Object.create(rt,{constructor:{value:at}});at.prototype=ct;var _t=new wr(R,at,ct,M,H,u,T,w);_t.baseClass&&((tr=_t.baseClass).__derivedClasses??(tr.__derivedClasses=[]),_t.baseClass.__derivedClasses.push(_t));var yt=new je(R,_t,!0,!1,!1),Ut=new je(R+"*",_t,!1,!1,!1),ot=new je(R+" const*",_t,!1,!0,!1);return Ln[e]={pointerType:Ut,constPointerType:ot},Nn(L,at),[yt,Ut,ot]})}var fn=e=>{for(;e.length;){var r=e.pop(),o=e.pop();o(r)}},bn=(e,r,o)=>(e instanceof Object||$(`${o} with invalid "this": ${e}`),e instanceof r.registeredClass.constructor||$(`${o} incompatible with "this" of type ${e.constructor.name}`),e.$$.ptr||$(`cannot call emscripten binding method ${o} on deleted object`),Je(e.$$.ptr,e.$$.ptrType.registeredClass,r.registeredClass)),Br=function(e,r,o,s,c,u,h,T,y,w){e>>>=0,r>>>=0,o>>>=0,s>>>=0,c>>>=0,u>>>=0,h>>>=0,T>>>=0,y>>>=0,w>>>=0,r=st(r),c=ce(s,c),en([],[e],R=>{R=R[0];var W=`${R.name}.${r}`,M={get(){tn(`Cannot access ${W} due to unbound types`,[o,h])},enumerable:!0,configurable:!0};return y?M.set=()=>tn(`Cannot access ${W} due to unbound types`,[o,h]):M.set=L=>$(W+" is a read-only property"),Object.defineProperty(R.registeredClass.instancePrototype,r,M),en([],y?[o,h]:[o],L=>{var F=L[0],H={get(){var at=bn(this,R,W+" getter");return F.fromWireType(c(u,at))},enumerable:!0};if(y){y=ce(T,y);var rt=L[1];H.set=function(at){var ct=bn(this,R,W+" setter"),_t=[];y(w,ct,rt.toWireType(_t,at)),fn(_t)}}return Object.defineProperty(R.registeredClass.instancePrototype,r,H),[]}),[]})},xn=[],ee=[0,1,,1,null,1,!0,1,!1,1];function hn(e){e>>>=0,e>9&&--ee[e+1]===0&&(ee[e],ee[e]=void 0,xn.push(e))}var Pt={toValue:e=>(e||$(`Cannot use deleted val. handle = ${e}`),ee[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=xn.pop()||ee.length;return ee[r]=e,ee[r+1]=1,r}}}},Fr={name:"emscripten::val",fromWireType:e=>{var r=Pt.toValue(e);return hn(e),r},toWireType:(e,r)=>Pt.toHandle(r),readValueFromPointer:Ze,destructorFunction:null};function Ur(e){return e>>>=0,it(e,Fr)}var gn=(e,r,o)=>{switch(r){case 1:return o?function(s){return this.fromWireType(z[s>>>0])}:function(s){return this.fromWireType(lt[s>>>0])};case 2:return o?function(s){return this.fromWireType(dt[s>>>1>>>0])}:function(s){return this.fromWireType(gt[s>>>1>>>0])};case 4:return o?function(s){return this.fromWireType(O[s>>>2>>>0])}:function(s){return this.fromWireType(B[s>>>2>>>0])};default:throw new TypeError(`invalid integer width (${r}): ${e}`)}};function $r(e){return e===0?"object":e===1?"number":"string"}function Vr(e,r,o,s,c){e>>>=0,r>>>=0,o>>>=0,r=st(r);const u=$r(c);switch(u){case"object":{let w=function(){};w.values={},it(e,{name:r,constructor:w,valueType:u,fromWireType:function(R){return this.constructor.values[R]},toWireType:(R,W)=>W.value,readValueFromPointer:gn(r,o,s),destructorFunction:null}),xe(r,w);break}case"number":{var h={};it(e,{name:r,keysMap:h,valueType:u,fromWireType:w=>w,toWireType:(w,R)=>R,readValueFromPointer:gn(r,o,s),destructorFunction:null}),xe(r,h),delete i[r].argCount;break}case"string":{var T={},y={},h={};it(e,{name:r,valuesMap:T,reverseMap:y,keysMap:h,valueType:u,fromWireType:function(R){return this.reverseMap[R]},toWireType:function(R,W){return this.valuesMap[W]},readValueFromPointer:gn(r,o,s),destructorFunction:null}),xe(r,h),delete i[r].argCount;break}}}var kn=(e,r)=>{var o=Ft[e];return o===void 0&&$(`${r} has unknown type ${Mn(e)}`),o};function Hr(e,r,o){e>>>=0,r>>>=0;var s=kn(e,"enum");switch(r=st(r),s.valueType){case"object":{var c=s.constructor,u=Object.create(s.constructor.prototype,{value:{value:o},constructor:{value:ze(`${s.name}_${r}`,function(){})}});c.values[o]=u,c[r]=u;break}case"number":{s.keysMap[r]=o;break}case"string":{s.valuesMap[r]=o,s.reverseMap[o]=r,s.keysMap[r]=r;break}}}var Xr=(e,r)=>{switch(r){case 4:return function(o){return this.fromWireType(xt[o>>>2>>>0])};case 8:return function(o){return this.fromWireType(kt[o>>>3>>>0])};default:throw new TypeError(`invalid float width (${r}): ${e}`)}},Kr=function(e,r,o){e>>>=0,r>>>=0,o>>>=0,r=st(r),it(e,{name:r,fromWireType:s=>s,toWireType:(s,c)=>c,readValueFromPointer:Xr(r,o),destructorFunction:null})};function On(e){for(var r=1;r<e.length;++r)if(e[r]!==null&&e[r].destructorFunction===void 0)return!0;return!1}function zr(e,r,o,s){for(var c=On(e),u=e.length-2,h=[],T=["fn"],y=0;y<u;++y)h.push(`arg${y}`),T.push(`arg${y}Wired`);h=h.join(","),T=T.join(",");var w=`return function (${h}) {
|
|
3
|
-
`;
|
|
4
|
-
`);for(var R=
|
|
5
|
-
`,W.push(M)}if(
|
|
6
|
-
`,
|
|
7
|
-
`;else for(var y=2;y<e.length;++y){var L=y===1?"thisWired":"arg"+(y-2)+"Wired";e[y].destructorFunction!==null&&(
|
|
8
|
-
`,W.push(`${L}_dtor`))}return
|
|
1
|
+
var to=Object.defineProperty;var eo=(r,t,o)=>t in r?to(r,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):r[t]=o;var Nt=(r,t,o)=>eo(r,typeof t!="symbol"?t+"":t,o);var no="DwgConverterLicenseError",ro=["evaluation of @mlightcad/dwg-converter has expired"],ao=["invalid @mlightcad/dwg-converter license key"];function oo(r){return r==="license_expired"||r==="license_invalid"}function fr(r){var t=r.toLowerCase();if(ro.some(function(o){return t.includes(o)}))return"license_expired";if(ao.some(function(o){return t.includes(o)}))return"license_invalid"}function io(r){var t;return(t=fr(r))!==null&&t!==void 0?t:"license_invalid"}var so=function(r,t,o,n){function d(_){return _ instanceof o?_:new o(function(c){c(_)})}return new(o||(o=Promise))(function(_,c){function f(T){try{A(n.next(T))}catch(I){c(I)}}function h(T){try{A(n.throw(T))}catch(I){c(I)}}function A(T){T.done?_(T.value):d(T.value).then(f,h)}A((n=n.apply(r,t||[])).next())})},_o=function(r,t){var o={label:0,sent:function(){if(_[0]&1)throw _[1];return _[1]},trys:[],ops:[]},n,d,_,c;return c={next:f(0),throw:f(1),return:f(2)},typeof Symbol=="function"&&(c[Symbol.iterator]=function(){return this}),c;function f(A){return function(T){return h([A,T])}}function h(A){if(n)throw new TypeError("Generator is already executing.");for(;c&&(c=0,A[0]&&(o=0)),o;)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 o.label++,{value:A[1],done:!1};case 5:o.label++,d=A[1],A=[0];continue;case 7:A=o.ops.pop(),o.trys.pop();continue;default:if(_=o.trys,!(_=_.length>0&&_[_.length-1])&&(A[0]===6||A[0]===2)){o=0;continue}if(A[0]===3&&(!_||A[1]>_[0]&&A[1]<_[3])){o.label=A[1];break}if(A[0]===6&&o.label<_[1]){o.label=_[1],_=A;break}if(_&&o.label<_[2]){o.label=_[2],o.ops.push(A);break}_[2]&&o.ops.pop(),o.trys.pop();continue}A=t.call(r,o)}catch(T){A=[6,T],d=0}finally{n=_=0}if(A[0]&5)throw A[1];return{value:A[0]?A[1]:void 0,done:!0}}},lo=["out of memory","data cannot be cloned","allocation failed","memory access out of bounds"];function co(r){var t=r.toLowerCase();return lo.some(function(o){return t.includes(o)})}function pn(){var r=globalThis;if(typeof r.postMessage!="function")throw new Error("Worker messaging is not available in this runtime");return r}var uo=(function(){function r(){this.setupMessageHandler()}return r.prototype.setupMessageHandler=function(){var t=this;pn().onmessage=function(o){return so(t,void 0,void 0,function(){var n,d,_,c,f,h,A;return _o(this,function(T){switch(T.label){case 0:n=o,d=n.data,_=d.id,c=d.input,T.label=1;case 1:return T.trys.push([1,3,,4]),[4,this.executeTask(c)];case 2:return f=T.sent(),this.sendResponse(_,!0,f),[3,4];case 3:return h=T.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]}})})}},r.prototype.sendResponse=function(t,o,n,d,_){var c={id:t,success:o,data:n,error:d,errorCode:_};try{pn().postMessage(c)}catch(h){var f=h instanceof Error?h.message:String(h);pn().postMessage({id:t,success:!1,error:f,errorCode:this.classifyPostMessageError(f)})}},r.prototype.classifyTaskError=function(t,o){if(t instanceof Error){var n=t.code;if(oo(n))return n;if(t.name===no)return io(o)}var d=fr(o);return d||this.classifyPostMessageError(o)},r.prototype.classifyPostMessageError=function(t){return co(t)?"worker_oom":t.toLowerCase().includes("timed out")?"worker_timeout":"worker_error"},r})();const Eo="modulepreload",fo=function(r,t){return new URL(r,t).href},ar={},ho=function(t,o,n){let d=Promise.resolve();if(o&&o.length>0){let c=function(T){return Promise.all(T.map(I=>Promise.resolve(I).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=c(o.map(T=>{if(T=fo(T,n),T in ar)return;ar[T]=!0;const I=T.endsWith(".css"),p=I?'[rel="stylesheet"]':"";if(!!n)for(let C=f.length-1;C>=0;C--){const m=f[C];if(m.href===T&&(!I||m.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${T}"]${p}`))return;const w=document.createElement("link");if(w.rel=I?"stylesheet":Eo,I||(w.as="script"),w.crossOrigin="",w.href=T,A&&w.setAttribute("nonce",A),document.head.appendChild(w),I)return new Promise((C,m)=>{w.addEventListener("load",C),w.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${T}`)))})}))}function _(c){const f=new Event("vite:preloadError",{cancelable:!0});if(f.payload=c,window.dispatchEvent(f),!f.defaultPrevented)throw c}return d.then(c=>{for(const f of c||[])f.status==="rejected"&&_(f.reason);return t().catch(_)})};async function or(r={}){var jn,tr,er;var t,o=r,n=!!globalThis.window,d=!!globalThis.WorkerGlobalScope,_=((tr=(jn=globalThis.process)==null?void 0:jn.versions)==null?void 0:tr.node)&&((er=globalThis.process)==null?void 0:er.type)!="renderer";if(_){const{createRequire:e}=await ho(()=>Promise.resolve().then(()=>Ho),void 0,import.meta.url);var c=e(import.meta.url)}var f="./this.program",h=import.meta.url,A="";function T(e){return o.locateFile?o.locateFile(e,A):A+e}var I,p;if(_){var v=c("node:fs");h.startsWith("file:")&&(A=c("node:path").dirname(c("node:url").fileURLToPath(h))+"/"),p=e=>{e=N(e)?new URL(e):e;var a=v.readFileSync(e);return a},I=async(e,a=!0)=>{e=N(e)?new URL(e):e;var i=v.readFileSync(e,a?void 0:"utf8");return i},process.argv.length>1&&(f=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2)}else if(n||d){try{A=new URL(".",h).href}catch{}d&&(p=e=>{var a=new XMLHttpRequest;return a.open("GET",e,!1),a.responseType="arraybuffer",a.send(null),new Uint8Array(a.response)}),I=async e=>{if(N(e))return new Promise((i,s)=>{var u=new XMLHttpRequest;u.open("GET",e,!0),u.responseType="arraybuffer",u.onload=()=>{if(u.status==200||u.status==0&&u.response){i(u.response);return}s(u.status)},u.onerror=s,u.send(null)});var a=await fetch(e,{credentials:"same-origin"});if(a.ok)return a.arrayBuffer();throw new Error(a.status+" : "+a.url)}}var w=(()=>{}).bind(console),C=(()=>{}).bind(console),m,S=!1,N=e=>e.startsWith("file://"),G,b,k=!1;function U(){var e=on.buffer;z=new Int8Array(e),dt=new Int16Array(e),lt=new Uint8Array(e),gt=new Uint16Array(e),O=new Int32Array(e),B=new Uint32Array(e),xt=new Float32Array(e),kt=new Float64Array(e),tt=new BigInt64Array(e),$t=new BigUint64Array(e)}function J(){if(o.preRun)for(typeof o.preRun=="function"&&(o.preRun=[o.preRun]);o.preRun.length;)Ot(o.preRun.shift());Dt(Ht)}function et(){k=!0,!o.noFSInit&&!l.initialized&&l.init(),ue.__wasm_call_ctors(),l.ignorePermissions=!1}function ft(){if(o.postRun)for(typeof o.postRun=="function"&&(o.postRun=[o.postRun]);o.postRun.length;)ae(o.postRun.shift());Dt(Vt)}function Z(e){var i;(i=o.onAbort)==null||i.call(o,e),e=`Aborted(${e})`,C(e),S=!0,e+=". Build with -sASSERTIONS for more info.";var a=new WebAssembly.RuntimeError(e);throw b==null||b(a),a}var ut;function Et(){return o.locateFile?T("libredwg-web.wasm"):new URL(""+new URL("libredwg-web.wasm",import.meta.url).href,import.meta.url).href}function ht(e){if(e==ut&&m)return new Uint8Array(m);if(p)return p(e);throw"both async and sync fetching of the wasm failed"}async function mt(e){if(!m)try{var a=await I(e);return new Uint8Array(a)}catch{}return ht(e)}async function Gt(e,a){try{var i=await mt(e),s=await WebAssembly.instantiate(i,a);return s}catch(u){C(`failed to asynchronously prepare wasm: ${u}`),Z(u)}}async function Wt(e,a,i){if(!e&&!N(a)&&!_)try{var s=fetch(a,{credentials:"same-origin"}),u=await WebAssembly.instantiateStreaming(s,i);return u}catch(E){C(`wasm streaming compile failed: ${E}`),C("falling back to ArrayBuffer instantiation")}return Gt(a,i)}function Mt(){var e={env:Qn,wasi_snapshot_preview1:Qn};return e}async function bt(){function e(E,g){return ue=E.exports,ue=ja(ue),Qa(ue),U(),ue}function a(E){return e(E.instance)}var i=Mt();if(o.instantiateWasm)return new Promise((E,g)=>{o.instantiateWasm(i,(P,y)=>{E(e(P))})});ut??(ut=Et());var s=await Wt(m,ut,i),u=a(s);return u}var dt,O,tt,z,xt,kt,gt,B,$t,lt,Dt=e=>{for(;e.length>0;)e.shift()(o)},Vt=[],ae=e=>Vt.push(e),Ht=[],Ot=e=>Ht.push(e);function q(e,a,i="i8"){switch(i.endsWith("*")&&(i="*"),i){case"i1":z[e>>>0]=a;break;case"i8":z[e>>>0]=a;break;case"i16":dt[e>>>1>>>0]=a;break;case"i32":O[e>>>2>>>0]=a;break;case"i64":tt[e>>>3>>>0]=BigInt(a);break;case"float":xt[e>>>2>>>0]=a;break;case"double":kt[e>>>3>>>0]=a;break;case"*":B[e>>>2>>>0]=a;break;default:Z(`invalid type for setValue: ${i}`)}}var V=e=>zn(e),Xt=()=>Zn();class ge{constructor(a){this.excPtr=a,this.ptr=a-24}set_type(a){B[this.ptr+4>>>2>>>0]=a}get_type(){return B[this.ptr+4>>>2>>>0]}set_destructor(a){B[this.ptr+8>>>2>>>0]=a}get_destructor(){return B[this.ptr+8>>>2>>>0]}set_caught(a){a=a?1:0,z[this.ptr+12>>>0]=a}get_caught(){return z[this.ptr+12>>>0]!=0}set_rethrown(a){a=a?1:0,z[this.ptr+13>>>0]=a}get_rethrown(){return z[this.ptr+13>>>0]!=0}init(a,i){this.set_adjusted_ptr(0),this.set_type(a),this.set_destructor(i)}set_adjusted_ptr(a){B[this.ptr+16>>>2>>>0]=a}get_adjusted_ptr(){return B[this.ptr+16>>>2>>>0]}}var Bt=9007199254740992,Se=-9007199254740992,Ae=e=>e<Se||e>Bt?NaN:Number(e);function Le(e,a,i){e>>>=0,a>>>=0,i>>>=0;var s=new ge(e);s.init(a,i),Z()}var Kt=()=>{var e=O[+Q.varargs>>>2>>>0];return Q.varargs+=4,e},Rt=Kt,X={isAbs:e=>e.charAt(0)==="/",splitPath:e=>{var a=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return a.exec(e).slice(1)},normalizeArray:(e,a)=>{for(var i=0,s=e.length-1;s>=0;s--){var u=e[s];u==="."?e.splice(s,1):u===".."?(e.splice(s,1),i++):i&&(e.splice(s,1),i--)}if(a)for(;i;i--)e.unshift("..");return e},normalize:e=>{var a=X.isAbs(e),i=e.slice(-1)==="/";return e=X.normalizeArray(e.split("/").filter(s=>!!s),!a).join("/"),!e&&!a&&(e="."),e&&i&&(e+="/"),(a?"/":"")+e},dirname:e=>{var a=X.splitPath(e),i=a[0],s=a[1];return!i&&!s?".":(s&&(s=s.slice(0,-1)),i+s)},basename:e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],join:(...e)=>X.normalize(e.join("/")),join2:(e,a)=>X.normalize(e+"/"+a)},Ye=()=>{if(_){var e=c("node:crypto");return a=>e.randomFillSync(a)}return a=>(crypto.getRandomValues(a),0)},zt=e=>(zt=Ye())(e),Ct={resolve:(...e)=>{for(var a="",i=!1,s=e.length-1;s>=-1&&!i;s--){var u=s>=0?e[s]:l.cwd();if(typeof u!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!u)return"";a=u+"/"+a,i=X.isAbs(u)}return a=X.normalizeArray(a.split("/").filter(E=>!!E),!i).join("/"),(i?"/":"")+a||"."},relative:(e,a)=>{e=Ct.resolve(e).slice(1),a=Ct.resolve(a).slice(1);function i(D){for(var R=0;R<D.length&&D[R]==="";R++);for(var W=D.length-1;W>=0&&D[W]==="";W--);return R>W?[]:D.slice(R,W-R+1)}for(var s=i(e.split("/")),u=i(a.split("/")),E=Math.min(s.length,u.length),g=E,P=0;P<E;P++)if(s[P]!==u[P]){g=P;break}for(var y=[],P=g;P<s.length;P++)y.push("..");return y=y.concat(u.slice(g)),y.join("/")}},Te=globalThis.TextDecoder&&new TextDecoder,Pe=(e,a,i,s)=>{var u=a+i;if(s)return u;for(;e[a]&&!(a>=u);)++a;return a},St=(e,a=0,i,s)=>{a>>>=0;var u=Pe(e,a,i,s);if(u-a>16&&e.buffer&&Te)return Te.decode(e.subarray(a,u));for(var E="";a<u;){var g=e[a++];if(!(g&128)){E+=String.fromCharCode(g);continue}var P=e[a++]&63;if((g&224)==192){E+=String.fromCharCode((g&31)<<6|P);continue}var y=e[a++]&63;if((g&240)==224?g=(g&15)<<12|P<<6|y:g=(g&7)<<18|P<<12|y<<6|e[a++]&63,g<65536)E+=String.fromCharCode(g);else{var D=g-65536;E+=String.fromCharCode(55296|D>>10,56320|D&1023)}}return E},oe=[],Lt=e=>{for(var a=0,i=0;i<e.length;++i){var s=e.charCodeAt(i);s<=127?a++:s<=2047?a+=2:s>=55296&&s<=57343?(a+=4,++i):a+=3}return a},ie=(e,a,i,s)=>{if(i>>>=0,!(s>0))return 0;for(var u=i,E=i+s-1,g=0;g<e.length;++g){var P=e.codePointAt(g);if(P<=127){if(i>=E)break;a[i++>>>0]=P}else if(P<=2047){if(i+1>=E)break;a[i++>>>0]=192|P>>6,a[i++>>>0]=128|P&63}else if(P<=65535){if(i+2>=E)break;a[i++>>>0]=224|P>>12,a[i++>>>0]=128|P>>6&63,a[i++>>>0]=128|P&63}else{if(i+3>=E)break;a[i++>>>0]=240|P>>18,a[i++>>>0]=128|P>>12&63,a[i++>>>0]=128|P>>6&63,a[i++>>>0]=128|P&63,g++}}return a[i>>>0]=0,i-u},Jt=(e,a,i)=>{var s=Lt(e)+1,u=new Array(s),E=ie(e,u,0,u.length);return u.length=E,u},ye=()=>{var E;if(!oe.length){var e=null;if(_){var a=256,i=Buffer.alloc(a),s=0,u=process.stdin.fd;try{s=v.readSync(u,i,0,a)}catch(g){if(g.toString().includes("EOF"))s=0;else throw g}s>0&&(e=i.slice(0,s).toString("utf-8"))}else(E=globalThis.window)!=null&&E.prompt&&(e=window.prompt("Input: "),e!==null&&(e+=`
|
|
2
|
+
`));if(!e)return null;oe=Jt(e)}return oe.shift()},At={ttys:[],init(){},shutdown(){},register(e,a){At.ttys[e]={input:[],output:[],ops:a},l.registerDevice(e,At.stream_ops)},stream_ops:{open(e){var a=At.ttys[e.node.rdev];if(!a)throw new l.ErrnoError(43);e.tty=a,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,a,i,s,u){if(!e.tty||!e.tty.ops.get_char)throw new l.ErrnoError(60);for(var E=0,g=0;g<s;g++){var P;try{P=e.tty.ops.get_char(e.tty)}catch{throw new l.ErrnoError(29)}if(P===void 0&&E===0)throw new l.ErrnoError(6);if(P==null)break;E++,a[i+g]=P}return E&&(e.node.atime=Date.now()),E},write(e,a,i,s,u){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,a[i+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 ye()},put_char(e,a){a===null||a===10?(w(St(e.output)),e.output=[]):a!=0&&e.output.push(a)},fsync(e){var a;((a=e.output)==null?void 0:a.length)>0&&(w(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,a,i){return 0},ioctl_tiocgwinsz(e){return[24,80]}},default_tty1_ops:{put_char(e,a){a===null||a===10?(C(St(e.output)),e.output=[]):a!=0&&e.output.push(a)},fsync(e){var a;((a=e.output)==null?void 0:a.length)>0&&(C(St(e.output)),e.output=[])}}},se=e=>{Z()},x={ops_table:null,mount(e){return x.createNode(null,"/",16895,0)},createNode(e,a,i,s){if(l.isBlkdev(i)||l.isFIFO(i))throw new l.ErrnoError(63);x.ops_table||(x.ops_table={dir:{node:{getattr:x.node_ops.getattr,setattr:x.node_ops.setattr,lookup:x.node_ops.lookup,mknod:x.node_ops.mknod,rename:x.node_ops.rename,unlink:x.node_ops.unlink,rmdir:x.node_ops.rmdir,readdir:x.node_ops.readdir,symlink:x.node_ops.symlink},stream:{llseek:x.stream_ops.llseek}},file:{node:{getattr:x.node_ops.getattr,setattr:x.node_ops.setattr},stream:{llseek:x.stream_ops.llseek,read:x.stream_ops.read,write:x.stream_ops.write,mmap:x.stream_ops.mmap,msync:x.stream_ops.msync}},link:{node:{getattr:x.node_ops.getattr,setattr:x.node_ops.setattr,readlink:x.node_ops.readlink},stream:{}},chrdev:{node:{getattr:x.node_ops.getattr,setattr:x.node_ops.setattr},stream:l.chrdev_stream_ops}});var u=l.createNode(e,a,i,s);return l.isDir(u.mode)?(u.node_ops=x.ops_table.dir.node,u.stream_ops=x.ops_table.dir.stream,u.contents={}):l.isFile(u.mode)?(u.node_ops=x.ops_table.file.node,u.stream_ops=x.ops_table.file.stream,u.usedBytes=0,u.contents=x.emptyFileContents??(x.emptyFileContents=new Uint8Array(0))):l.isLink(u.mode)?(u.node_ops=x.ops_table.link.node,u.stream_ops=x.ops_table.link.stream):l.isChrdev(u.mode)&&(u.node_ops=x.ops_table.chrdev.node,u.stream_ops=x.ops_table.chrdev.stream),u.atime=u.mtime=u.ctime=Date.now(),e&&(e.contents[a]=u,e.atime=e.mtime=e.ctime=u.atime),u},getFileDataAsTypedArray(e){return e.contents.subarray(0,e.usedBytes)},expandFileStorage(e,a){var i=e.contents.length;if(!(i>=a)){var s=1024*1024;a=Math.max(a,i*(i<s?2:1.125)>>>0),i&&(a=Math.max(a,256));var u=x.getFileDataAsTypedArray(e);e.contents=new Uint8Array(a),e.contents.set(u)}},resizeFileStorage(e,a){if(e.usedBytes!=a){var i=e.contents;e.contents=new Uint8Array(a),e.contents.set(i.subarray(0,Math.min(a,e.usedBytes))),e.usedBytes=a}},node_ops:{getattr(e){var a={};return a.dev=l.isChrdev(e.mode)?e.id:1,a.ino=e.id,a.mode=e.mode,a.nlink=1,a.uid=0,a.gid=0,a.rdev=e.rdev,l.isDir(e.mode)?a.size=4096:l.isFile(e.mode)?a.size=e.usedBytes:l.isLink(e.mode)?a.size=e.link.length:a.size=0,a.atime=new Date(e.atime),a.mtime=new Date(e.mtime),a.ctime=new Date(e.ctime),a.blksize=4096,a.blocks=Math.ceil(a.size/a.blksize),a},setattr(e,a){for(const i of["mode","atime","mtime","ctime"])a[i]!=null&&(e[i]=a[i]);a.size!==void 0&&x.resizeFileStorage(e,a.size)},lookup(e,a){throw x.doesNotExistError||(x.doesNotExistError=new l.ErrnoError(44),x.doesNotExistError.stack="<generic error, no stack>"),x.doesNotExistError},mknod(e,a,i,s){return x.createNode(e,a,i,s)},rename(e,a,i){var s;try{s=l.lookupNode(a,i)}catch{}if(s){if(l.isDir(e.mode))for(var u in s.contents)throw new l.ErrnoError(55);l.hashRemoveNode(s)}delete e.parent.contents[e.name],a.contents[i]=e,e.name=i,a.ctime=a.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,a){delete e.contents[a],e.ctime=e.mtime=Date.now()},rmdir(e,a){var i=l.lookupNode(e,a);for(var s in i.contents)throw new l.ErrnoError(55);delete e.contents[a],e.ctime=e.mtime=Date.now()},readdir(e){return[".","..",...Object.keys(e.contents)]},symlink(e,a,i){var s=x.createNode(e,a,41471,0);return s.link=i,s},readlink(e){if(!l.isLink(e.mode))throw new l.ErrnoError(28);return e.link}},stream_ops:{read(e,a,i,s,u){var E=e.node.contents;if(u>=e.node.usedBytes)return 0;var g=Math.min(e.node.usedBytes-u,s);return a.set(E.subarray(u,u+g),i),g},write(e,a,i,s,u,E){if(a.buffer===z.buffer&&(E=!1),!s)return 0;var g=e.node;return g.mtime=g.ctime=Date.now(),E?(g.contents=a.subarray(i,i+s),g.usedBytes=s):g.usedBytes===0&&u===0?(g.contents=a.slice(i,i+s),g.usedBytes=s):(x.expandFileStorage(g,u+s),g.contents.set(a.subarray(i,i+s),u),g.usedBytes=Math.max(g.usedBytes,u+s)),s},llseek(e,a,i){var s=a;if(i===1?s+=e.position:i===2&&l.isFile(e.node.mode)&&(s+=e.node.usedBytes),s<0)throw new l.ErrnoError(28);return s},mmap(e,a,i,s,u){if(!l.isFile(e.node.mode))throw new l.ErrnoError(43);var E,g,P=e.node.contents;if(!(u&2)&&P.buffer===z.buffer)g=!1,E=P.byteOffset;else{if(g=!0,E=se(),!E)throw new l.ErrnoError(48);P&&((i>0||i+a<P.length)&&(P.subarray?P=P.subarray(i,i+a):P=Array.prototype.slice.call(P,i,i+a)),z.set(P,E>>>0))}return{ptr:E,allocated:g}},msync(e,a,i,s,u){return x.stream_ops.write(e,a,0,s,i,!1),0}}},pe=e=>{if(typeof e!="string")return e;var a={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},i=a[e];if(typeof i>"u")throw new Error(`Unknown file open mode: ${e}`);return i},_e=e=>(typeof e=="string"&&(e=Jt(e)),e.subarray||(e=new Uint8Array(e)),e),Zt=(e,a)=>{var i=0;return e&&(i|=365),a&&(i|=146),i},Ie=async e=>{var a=await I(e);return new Uint8Array(a)},ve=(...e)=>l.createDataFile(...e),Tt=0,Yt=null,me=e=>{var i;if(Tt--,(i=o.monitorRunDependencies)==null||i.call(o,Tt),Tt==0&&Yt){var a=Yt;Yt=null,a()}},Ce=e=>{var a;Tt++,(a=o.monitorRunDependencies)==null||a.call(o,Tt)},de=[],we=async(e,a)=>{typeof Browser<"u"&&Browser.init();for(var i of de)if(i.canHandle(a))return i.handle(e,a);return e},le=async(e,a,i,s,u,E,g,P)=>{var y=a?Ct.resolve(X.join2(e,a)):e;Ce();try{var D=i;typeof i=="string"&&(D=await Ie(i)),D=await we(D,y),P==null||P(),E||ve(e,a,D,s,u,g)}finally{me()}},Ve=(e,a,i,s,u,E,g,P,y,D)=>{le(e,a,i,s,u,P,y,D).then(E).catch(g)},l={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,filesystems:null,syncFSRequests:0,ErrnoError:class{constructor(e){Nt(this,"name","ErrnoError");this.errno=e}},FSStream:class{constructor(){Nt(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,a,i,s){Nt(this,"node_ops",{});Nt(this,"stream_ops",{});Nt(this,"readMode",365);Nt(this,"writeMode",146);Nt(this,"mounted",null);e||(e=this),this.parent=e,this.mount=e.mount,this.id=l.nextInode++,this.name=a,this.mode=i,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,a={}){if(!e)throw new l.ErrnoError(44);a.follow_mount??(a.follow_mount=!0),X.isAbs(e)||(e=l.cwd()+"/"+e);t:for(var i=0;i<40;i++){for(var s=e.split("/").filter(D=>!!D),u=l.root,E="/",g=0;g<s.length;g++){var P=g===s.length-1;if(P&&a.parent)break;if(s[g]!=="."){if(s[g]===".."){if(E=X.dirname(E),l.isRoot(u)){e=E+"/"+s.slice(g+1).join("/"),i--;continue t}else u=u.parent;continue}E=X.join2(E,s[g]);try{u=l.lookupNode(u,s[g])}catch(D){if((D==null?void 0:D.errno)===44&&P&&a.noent_okay)return{path:E};throw D}if(l.isMountpoint(u)&&(!P||a.follow_mount)&&(u=u.mounted.root),l.isLink(u.mode)&&(!P||a.follow)){if(!u.node_ops.readlink)throw new l.ErrnoError(52);var y=u.node_ops.readlink(u);X.isAbs(y)||(y=X.dirname(E)+"/"+y),e=y+"/"+s.slice(g+1).join("/");continue t}}}return{path:E,node:u}}throw new l.ErrnoError(32)},getPath(e){for(var a;;){if(l.isRoot(e)){var i=e.mount.mountpoint;return a?i[i.length-1]!=="/"?`${i}/${a}`:i+a:i}a=a?`${e.name}/${a}`:e.name,e=e.parent}},hashName(e,a){for(var i=0,s=0;s<a.length;s++)i=(i<<5)-i+a.charCodeAt(s)|0;return(e+i>>>0)%l.nameTable.length},hashAddNode(e){var a=l.hashName(e.parent.id,e.name);e.name_next=l.nameTable[a],l.nameTable[a]=e},hashRemoveNode(e){var a=l.hashName(e.parent.id,e.name);if(l.nameTable[a]===e)l.nameTable[a]=e.name_next;else for(var i=l.nameTable[a];i;){if(i.name_next===e){i.name_next=e.name_next;break}i=i.name_next}},lookupNode(e,a){var i=l.mayLookup(e);if(i)throw new l.ErrnoError(i);for(var s=l.hashName(e.id,a),u=l.nameTable[s];u;u=u.name_next){var E=u.name;if(u.parent.id===e.id&&E===a)return u}return l.lookup(e,a)},createNode(e,a,i,s){var u=new l.FSNode(e,a,i,s);return l.hashAddNode(u),u},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 a=["r","w","rw"][e&3];return e&512&&(a+="w"),a},nodePermissions(e,a){return l.ignorePermissions?0:a.includes("r")&&!(e.mode&292)||a.includes("w")&&!(e.mode&146)||a.includes("x")&&!(e.mode&73)?2:0},mayLookup(e){if(!l.isDir(e.mode))return 54;var a=l.nodePermissions(e,"x");return a||(e.node_ops.lookup?0:2)},mayCreate(e,a){if(!l.isDir(e.mode))return 54;try{var i=l.lookupNode(e,a);return 20}catch{}return l.nodePermissions(e,"wx")},mayDelete(e,a,i){var s;try{s=l.lookupNode(e,a)}catch(E){return E.errno}var u=l.nodePermissions(e,"wx");if(u)return u;if(i){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,a){if(!e)return 44;if(l.isLink(e.mode))return 32;var i=l.flagsToPermissionString(a);return l.isDir(e.mode)&&(i!=="r"||a&576)?31:l.nodePermissions(e,i)},checkOpExists(e,a){if(!e)throw new l.ErrnoError(a);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 a=l.getStream(e);if(!a)throw new l.ErrnoError(8);return a},getStream:e=>l.streams[e],createStream(e,a=-1){return e=Object.assign(new l.FSStream,e),a==-1&&(a=l.nextfd()),e.fd=a,l.streams[a]=e,e},closeStream(e){l.streams[e]=null},dupStream(e,a=-1){var s,u;var i=l.createStream(e,a);return(u=(s=i.stream_ops)==null?void 0:s.dup)==null||u.call(s,i),i},doSetAttr(e,a,i){var s=e==null?void 0:e.stream_ops.setattr,u=s?e:a;s??(s=a.node_ops.setattr),l.checkOpExists(s,63);try{s(u,i)}catch(E){throw E instanceof RangeError?new l.ErrnoError(22):E}},chrdev_stream_ops:{open(e){var i,s;var a=l.getDevice(e.node.rdev);e.stream_ops=a.stream_ops,(s=(i=e.stream_ops).open)==null||s.call(i,e)},llseek(){throw new l.ErrnoError(70)}},major:e=>e>>8,minor:e=>e&255,makedev:(e,a)=>e<<8|a,registerDevice(e,a){l.devices[e]={stream_ops:a}},getDevice:e=>l.devices[e],getMounts(e){for(var a=[],i=[e];i.length;){var s=i.pop();a.push(s),i.push(...s.mounts)}return a},syncfs(e,a){typeof e=="function"&&(a=e,e=!1),l.syncFSRequests++,l.syncFSRequests>1&&C(`warning: ${l.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var i=l.getMounts(l.root.mount),s=0;function u(P){return l.syncFSRequests--,a(P)}function E(P){if(P)return E.errored?void 0:(E.errored=!0,u(P));++s>=i.length&&u(null)}for(var g of i)g.type.syncfs?g.type.syncfs(g,e,E):E(null)},mount(e,a,i){var s=i==="/",u=!i,E;if(s&&l.root)throw new l.ErrnoError(10);if(!s&&!u){var g=l.lookupPath(i,{follow_mount:!1});if(i=g.path,E=g.node,l.isMountpoint(E))throw new l.ErrnoError(10);if(!l.isDir(E.mode))throw new l.ErrnoError(54)}var P={type:e,opts:a,mountpoint:i,mounts:[]},y=e.mount(P);return y.mount=P,P.root=y,s?l.root=y:E&&(E.mounted=P,E.mount&&E.mount.mounts.push(P)),y},unmount(e){var a=l.lookupPath(e,{follow_mount:!1});if(!l.isMountpoint(a.node))throw new l.ErrnoError(28);var i=a.node,s=i.mounted,u=l.getMounts(s);for(var[E,g]of Object.entries(l.nameTable))for(;g;){var P=g.name_next;u.includes(g.mount)&&l.destroyNode(g),g=P}i.mounted=null;var y=i.mount.mounts.indexOf(s);i.mount.mounts.splice(y,1)},lookup(e,a){return e.node_ops.lookup(e,a)},mknod(e,a,i){var s=l.lookupPath(e,{parent:!0}),u=s.node,E=X.basename(e);if(!E)throw new l.ErrnoError(28);if(E==="."||E==="..")throw new l.ErrnoError(20);var g=l.mayCreate(u,E);if(g)throw new l.ErrnoError(g);if(!u.node_ops.mknod)throw new l.ErrnoError(63);return u.node_ops.mknod(u,E,a,i)},statfs(e){return l.statfsNode(l.lookupPath(e,{follow:!0}).node)},statfsStream(e){return l.statfsNode(e.node)},statfsNode(e){var a={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(a,e.node_ops.statfs(e.mount.opts.root)),a},create(e,a=438){return a&=4095,a|=32768,l.mknod(e,a,0)},mkdir(e,a=511){return a&=1023,a|=16384,l.mknod(e,a,0)},mkdirTree(e,a){var i=e.split("/"),s="";for(var u of i)if(u){(s||X.isAbs(e))&&(s+="/"),s+=u;try{l.mkdir(s,a)}catch(E){if(E.errno!=20)throw E}}},mkdev(e,a,i){return typeof i>"u"&&(i=a,a=438),a|=8192,l.mknod(e,a,i)},symlink(e,a){if(!Ct.resolve(e))throw new l.ErrnoError(44);var i=l.lookupPath(a,{parent:!0}),s=i.node;if(!s)throw new l.ErrnoError(44);var u=X.basename(a),E=l.mayCreate(s,u);if(E)throw new l.ErrnoError(E);if(!s.node_ops.symlink)throw new l.ErrnoError(63);return s.node_ops.symlink(s,u,e)},rename(e,a){var i=X.dirname(e),s=X.dirname(a),u=X.basename(e),E=X.basename(a),g,P,y;if(g=l.lookupPath(e,{parent:!0}),P=g.node,g=l.lookupPath(a,{parent:!0}),y=g.node,!P||!y)throw new l.ErrnoError(44);if(P.mount!==y.mount)throw new l.ErrnoError(75);var D=l.lookupNode(P,u),R=Ct.relative(e,s);if(R.charAt(0)!==".")throw new l.ErrnoError(28);if(R=Ct.relative(a,i),R.charAt(0)!==".")throw new l.ErrnoError(55);var W;try{W=l.lookupNode(y,E)}catch{}if(D!==W){var M=l.isDir(D.mode),L=l.mayDelete(P,u,M);if(L)throw new l.ErrnoError(L);if(L=W?l.mayDelete(y,E,M):l.mayCreate(y,E),L)throw new l.ErrnoError(L);if(!P.node_ops.rename)throw new l.ErrnoError(63);if(l.isMountpoint(D)||W&&l.isMountpoint(W))throw new l.ErrnoError(10);if(y!==P&&(L=l.nodePermissions(P,"w"),L))throw new l.ErrnoError(L);l.hashRemoveNode(D);try{P.node_ops.rename(D,y,E),D.parent=y}catch(F){throw F}finally{l.hashAddNode(D)}}},rmdir(e){var a=l.lookupPath(e,{parent:!0}),i=a.node,s=X.basename(e),u=l.lookupNode(i,s),E=l.mayDelete(i,s,!0);if(E)throw new l.ErrnoError(E);if(!i.node_ops.rmdir)throw new l.ErrnoError(63);if(l.isMountpoint(u))throw new l.ErrnoError(10);i.node_ops.rmdir(i,s),l.destroyNode(u)},readdir(e){var a=l.lookupPath(e,{follow:!0}),i=a.node,s=l.checkOpExists(i.node_ops.readdir,54);return s(i)},unlink(e){var a=l.lookupPath(e,{parent:!0}),i=a.node;if(!i)throw new l.ErrnoError(44);var s=X.basename(e),u=l.lookupNode(i,s),E=l.mayDelete(i,s,!1);if(E)throw new l.ErrnoError(E);if(!i.node_ops.unlink)throw new l.ErrnoError(63);if(l.isMountpoint(u))throw new l.ErrnoError(10);i.node_ops.unlink(i,s),l.destroyNode(u)},readlink(e){var a=l.lookupPath(e),i=a.node;if(!i)throw new l.ErrnoError(44);if(!i.node_ops.readlink)throw new l.ErrnoError(28);return i.node_ops.readlink(i)},stat(e,a){var i=l.lookupPath(e,{follow:!a}),s=i.node,u=l.checkOpExists(s.node_ops.getattr,63);return u(s)},fstat(e){var a=l.getStreamChecked(e),i=a.node,s=a.stream_ops.getattr,u=s?a:i;return s??(s=i.node_ops.getattr),l.checkOpExists(s,63),s(u)},lstat(e){return l.stat(e,!0)},doChmod(e,a,i,s){l.doSetAttr(e,a,{mode:i&4095|a.mode&-4096,ctime:Date.now(),dontFollow:s})},chmod(e,a,i){var s;if(typeof e=="string"){var u=l.lookupPath(e,{follow:!i});s=u.node}else s=e;l.doChmod(null,s,a,i)},lchmod(e,a){l.chmod(e,a,!0)},fchmod(e,a){var i=l.getStreamChecked(e);l.doChmod(i,i.node,a,!1)},doChown(e,a,i){l.doSetAttr(e,a,{timestamp:Date.now(),dontFollow:i})},chown(e,a,i,s){var u;if(typeof e=="string"){var E=l.lookupPath(e,{follow:!s});u=E.node}else u=e;l.doChown(null,u,s)},lchown(e,a,i){l.chown(e,a,i,!0)},fchown(e,a,i){var s=l.getStreamChecked(e);l.doChown(s,s.node,!1)},doTruncate(e,a,i){if(l.isDir(a.mode))throw new l.ErrnoError(31);if(!l.isFile(a.mode))throw new l.ErrnoError(28);var s=l.nodePermissions(a,"w");if(s)throw new l.ErrnoError(s);l.doSetAttr(e,a,{size:i,timestamp:Date.now()})},truncate(e,a){if(a<0)throw new l.ErrnoError(28);var i;if(typeof e=="string"){var s=l.lookupPath(e,{follow:!0});i=s.node}else i=e;l.doTruncate(null,i,a)},ftruncate(e,a){var i=l.getStreamChecked(e);if(a<0||(i.flags&2097155)===0)throw new l.ErrnoError(28);l.doTruncate(i,i.node,a)},utime(e,a,i){var s=l.lookupPath(e,{follow:!0}),u=s.node,E=l.checkOpExists(u.node_ops.setattr,63);E(u,{atime:a,mtime:i})},open(e,a,i=438){if(e==="")throw new l.ErrnoError(44);a=pe(a),a&64?i=i&4095|32768:i=0;var s,u;if(typeof e=="object")s=e;else{u=e.endsWith("/");var E=l.lookupPath(e,{follow:!(a&131072),noent_okay:!0});s=E.node,e=E.path}var g=!1;if(a&64)if(s){if(a&128)throw new l.ErrnoError(20)}else{if(u)throw new l.ErrnoError(31);s=l.mknod(e,i|511,0),g=!0}if(!s)throw new l.ErrnoError(44);if(l.isChrdev(s.mode)&&(a&=-513),a&65536&&!l.isDir(s.mode))throw new l.ErrnoError(54);if(!g){var P=l.mayOpen(s,a);if(P)throw new l.ErrnoError(P)}a&512&&!g&&l.truncate(s,0),a&=-131713;var y=l.createStream({node:s,path:l.getPath(s),flags:a,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,i&511),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(a){throw a}finally{l.closeStream(e.fd)}e.fd=null},isClosed(e){return e.fd===null},llseek(e,a,i){if(l.isClosed(e))throw new l.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new l.ErrnoError(70);if(i!=0&&i!=1&&i!=2)throw new l.ErrnoError(28);return e.position=e.stream_ops.llseek(e,a,i),e.ungotten=[],e.position},read(e,a,i,s,u){if(s<0||u<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 u<"u";if(!E)u=e.position;else if(!e.seekable)throw new l.ErrnoError(70);var g=e.stream_ops.read(e,a,i,s,u);return E||(e.position+=g),g},write(e,a,i,s,u,E){if(s<0||u<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 u<"u";if(!g)u=e.position;else if(!e.seekable)throw new l.ErrnoError(70);var P=e.stream_ops.write(e,a,i,s,u,E);return g||(e.position+=P),P},mmap(e,a,i,s,u){if((s&2)!==0&&(u&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(!a)throw new l.ErrnoError(28);return e.stream_ops.mmap(e,a,i,s,u)},msync(e,a,i,s,u){return e.stream_ops.msync?e.stream_ops.msync(e,a,i,s,u):0},ioctl(e,a,i){if(!e.stream_ops.ioctl)throw new l.ErrnoError(59);return e.stream_ops.ioctl(e,a,i)},readFile(e,a={}){a.flags=a.flags??0,a.encoding=a.encoding??"binary",a.encoding!=="utf8"&&a.encoding!=="binary"&&Z(`Invalid encoding type "${a.encoding}"`);var i=l.open(e,a.flags),s=l.stat(e),u=s.size,E=new Uint8Array(u);return l.read(i,E,0,u,0),a.encoding==="utf8"&&(E=St(E)),l.close(i),E},writeFile(e,a,i={}){i.flags=i.flags??577;var s=l.open(e,i.flags,i.mode);a=_e(a),l.write(s,a,0,a.byteLength,void 0,i.canOwn),l.close(s)},cwd:()=>l.currentPath,chdir(e){var a=l.lookupPath(e,{follow:!0});if(a.node===null)throw new l.ErrnoError(44);if(!l.isDir(a.node.mode))throw new l.ErrnoError(54);var i=l.nodePermissions(a.node,"x");if(i)throw new l.ErrnoError(i);l.currentPath=a.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,u,E,g,P)=>g,llseek:()=>0}),l.mkdev("/dev/null",l.makedev(1,3)),At.register(l.makedev(5,0),At.default_tty_ops),At.register(l.makedev(6,0),At.default_tty1_ops),l.mkdev("/dev/tty",l.makedev(5,0)),l.mkdev("/dev/tty1",l.makedev(6,0));var e=new Uint8Array(1024),a=0,i=()=>(a===0&&(zt(e),a=e.byteLength),e[--a]);l.createDevice("/dev","random",i),l.createDevice("/dev","urandom",i),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 a=l.createNode(e,"fd",16895,73);return a.stream_ops={llseek:x.stream_ops.llseek},a.node_ops={lookup(i,s){var u=+s,E=l.getStreamChecked(u),g={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>E.path},id:u+1};return g.parent=g,g},readdir(){return Array.from(l.streams.entries()).filter(([i,s])=>s).map(([i,s])=>i.toString())}},a}},{},"/proc/self/fd")},createStandardStreams(e,a,i){e?l.createDevice("/dev","stdin",e):l.symlink("/dev/tty","/dev/stdin"),a?l.createDevice("/dev","stdout",null,a):l.symlink("/dev/tty","/dev/stdout"),i?l.createDevice("/dev","stderr",null,i):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(x,{},"/"),l.createDefaultDirectories(),l.createDefaultDevices(),l.createSpecialDirectories(),l.filesystems={MEMFS:x}},init(e,a,i){l.initialized=!0,e??(e=o.stdin),a??(a=o.stdout),i??(i=o.stderr),l.createStandardStreams(e,a,i)},quit(){l.initialized=!1;for(var e of l.streams)e&&l.close(e)},findObject(e,a){var i=l.analyzePath(e,a);return i.exists?i.object:null},analyzePath(e,a){try{var i=l.lookupPath(e,{follow:!a});e=i.path}catch{}var s={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var i=l.lookupPath(e,{parent:!0});s.parentExists=!0,s.parentPath=i.path,s.parentObject=i.node,s.name=X.basename(e),i=l.lookupPath(e,{follow:!a}),s.exists=!0,s.path=i.path,s.object=i.node,s.name=i.node.name,s.isRoot=i.path==="/"}catch(u){s.error=u.errno}return s},createPath(e,a,i,s){e=typeof e=="string"?e:l.getPath(e);for(var u=a.split("/").reverse();u.length;){var E=u.pop();if(E){var g=X.join2(e,E);try{l.mkdir(g)}catch(P){if(P.errno!=20)throw P}e=g}}return g},createFile(e,a,i,s,u){var E=X.join2(typeof e=="string"?e:l.getPath(e),a),g=Zt(s,u);return l.create(E,g)},createDataFile(e,a,i,s,u,E){var g=a;e&&(e=typeof e=="string"?e:l.getPath(e),g=a?X.join2(e,a):e);var P=Zt(s,u),y=l.create(g,P);if(i){i=_e(i),l.chmod(y,P|146);var D=l.open(y,577);l.write(D,i,0,i.length,0,E),l.close(D),l.chmod(y,P)}},createDevice(e,a,i,s){var P;var u=X.join2(typeof e=="string"?e:l.getPath(e),a),E=Zt(!!i,!!s);(P=l.createDevice).major??(P.major=64);var g=l.makedev(l.createDevice.major++,0);return l.registerDevice(g,{open(y){y.seekable=!1},close(y){var D;(D=s==null?void 0:s.buffer)!=null&&D.length&&s(10)},read(y,D,R,W,M){for(var L=0,F=0;F<W;F++){var H;try{H=i()}catch{throw new l.ErrnoError(29)}if(H===void 0&&L===0)throw new l.ErrnoError(6);if(H==null)break;L++,D[R+F]=H}return L&&(y.node.atime=Date.now()),L},write(y,D,R,W,M){for(var L=0;L<W;L++)try{s(D[R+L])}catch{throw new l.ErrnoError(29)}return W&&(y.node.mtime=y.node.ctime=Date.now()),L}}),l.mkdev(u,E,g)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if(globalThis.XMLHttpRequest)Z("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.");else try{e.contents=p(e.url)}catch{throw new l.ErrnoError(29)}},createLazyFile(e,a,i,s,u){class E{constructor(){Nt(this,"lengthKnown",!1);Nt(this,"chunks",[])}get(M){if(!(M>this.length-1||M<0)){var L=M%this.chunkSize,F=M/this.chunkSize|0;return this.getter(F)[L]}}setDataGetter(M){this.getter=M}cacheLength(){var M=new XMLHttpRequest;M.open("HEAD",i,!1),M.send(null),M.status>=200&&M.status<300||M.status===304||Z("Couldn't load "+i+". Status: "+M.status);var L=Number(M.getResponseHeader("Content-length")),F,H=(F=M.getResponseHeader("Accept-Ranges"))&&F==="bytes",rt=(F=M.getResponseHeader("Content-Encoding"))&&F==="gzip",at=1024*1024;H||(at=L);var ct=(yt,Ut)=>{yt>Ut&&Z(`invalid range (${yt}, ${Ut}) or no bytes requested!`),Ut>L-1&&Z(`only ${L} bytes available! programmer error!`);var it=new XMLHttpRequest;return it.open("GET",i,!1),L!==at&&it.setRequestHeader("Range","bytes="+yt+"-"+Ut),it.responseType="arraybuffer",it.overrideMimeType&&it.overrideMimeType("text/plain; charset=x-user-defined"),it.send(null),it.status>=200&&it.status<300||it.status===304||Z("Couldn't load "+i+". Status: "+it.status),it.response!==void 0?new Uint8Array(it.response||[]):Jt(it.responseText??"")},_t=this;_t.setDataGetter(yt=>{var Ut=yt*at,it=(yt+1)*at-1;return it=Math.min(it,L-1),typeof _t.chunks[yt]>"u"&&(_t.chunks[yt]=ct(Ut,it)),typeof _t.chunks[yt]>"u"&&Z("doXHR failed!"),_t.chunks[yt]}),(rt||!L)&&(at=L=1,L=this.getter(0).length,at=L,w("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=L,this._chunkSize=at,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(globalThis.XMLHttpRequest){d||Z("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");var g=new E,P={isDevice:!1,contents:g}}else var P={isDevice:!1,url:i};var y=l.createFile(e,a,P,s,u);P.contents?y.contents=P.contents:P.url&&(y.contents=null,y.url=P.url),Object.defineProperties(y,{usedBytes:{get:function(){return this.contents.length}}});var D={};for(const[W,M]of Object.entries(y.stream_ops))D[W]=(...L)=>(l.forceLoadFile(y),M(...L));function R(W,M,L,F,H){var rt=W.node.contents;if(H>=rt.length)return 0;var at=Math.min(rt.length-H,F);if(rt.slice)for(var ct=0;ct<at;ct++)M[L+ct]=rt[H+ct];else for(var ct=0;ct<at;ct++)M[L+ct]=rt.get(H+ct);return at}return D.read=(W,M,L,F,H)=>(l.forceLoadFile(y),R(W,M,L,F,H)),D.mmap=(W,M,L,F,H)=>{l.forceLoadFile(y);var rt=se();if(!rt)throw new l.ErrnoError(48);return R(W,z,rt,M,L),{ptr:rt,allocated:!0}},y.stream_ops=D,y}},qt=(e,a,i)=>(e>>>=0,e?St(lt,e,a,i):""),Q={currentUmask:18,calculateAt(e,a,i){if(X.isAbs(a))return a;var s;if(e===-100)s=l.cwd();else{var u=Q.getStreamFromFD(e);s=u.path}if(a.length==0){if(!i)throw new l.ErrnoError(44);return s}return s+"/"+a},writeStat(e,a){B[e>>>2>>>0]=a.dev,B[e+4>>>2>>>0]=a.mode,B[e+8>>>2>>>0]=a.nlink,B[e+12>>>2>>>0]=a.uid,B[e+16>>>2>>>0]=a.gid,B[e+20>>>2>>>0]=a.rdev,tt[e+24>>>3>>>0]=BigInt(a.size),O[e+32>>>2>>>0]=4096,O[e+36>>>2>>>0]=a.blocks;var i=a.atime.getTime(),s=a.mtime.getTime(),u=a.ctime.getTime();return tt[e+40>>>3>>>0]=BigInt(Math.floor(i/1e3)),B[e+48>>>2>>>0]=i%1e3*1e3*1e3,tt[e+56>>>3>>>0]=BigInt(Math.floor(s/1e3)),B[e+64>>>2>>>0]=s%1e3*1e3*1e3,tt[e+72>>>3>>>0]=BigInt(Math.floor(u/1e3)),B[e+80>>>2>>>0]=u%1e3*1e3*1e3,tt[e+88>>>3>>>0]=BigInt(a.ino),0},writeStatFs(e,a){B[e+4>>>2>>>0]=a.bsize,B[e+60>>>2>>>0]=a.bsize,tt[e+8>>>3>>>0]=BigInt(a.blocks),tt[e+16>>>3>>>0]=BigInt(a.bfree),tt[e+24>>>3>>>0]=BigInt(a.bavail),tt[e+32>>>3>>>0]=BigInt(a.files),tt[e+40>>>3>>>0]=BigInt(a.ffree),B[e+48>>>2>>>0]=a.fsid,B[e+64>>>2>>>0]=a.flags,B[e+56>>>2>>>0]=a.namelen},doMsync(e,a,i,s,u){if(!l.isFile(a.node.mode))throw new l.ErrnoError(43);if(s&2)return 0;var E=lt.slice(e,e+i);l.msync(a,E,u,i,s)},getStreamFromFD(e){var a=l.getStreamChecked(e);return a},varargs:void 0,getStr(e){var a=qt(e);return a}};function dn(e,a,i){i>>>=0,Q.varargs=i;try{var s=Q.getStreamFromFD(e);switch(a){case 0:{var u=Kt();if(u<0)return-28;for(;l.streams[u];)u++;var E;return E=l.dupStream(s,u),E.fd}case 1:case 2:return 0;case 3:return s.flags;case 4:{var u=Kt(),g=289792;return s.flags=s.flags&~g|u&g,0}case 12:{var u=Rt(),P=0;return dt[u+P>>>1>>>0]=2,0}case 13:case 14:return 0}return-28}catch(y){if(typeof l>"u"||y.name!=="ErrnoError")throw y;return-y.errno}}function ln(e,a){a>>>=0;try{return Q.writeStat(a,l.fstat(e))}catch(i){if(typeof l>"u"||i.name!=="ErrnoError")throw i;return-i.errno}}function cn(e,a,i){i>>>=0,Q.varargs=i;try{var s=Q.getStreamFromFD(e);switch(a){case 21509:return s.tty?0:-59;case 21505:{if(!s.tty)return-59;if(s.tty.ops.ioctl_tcgets){var u=s.tty.ops.ioctl_tcgets(s),E=Rt();O[E>>>2>>>0]=u.c_iflag||0,O[E+4>>>2>>>0]=u.c_oflag||0,O[E+8>>>2>>>0]=u.c_cflag||0,O[E+12>>>2>>>0]=u.c_lflag||0;for(var g=0;g<32;g++)z[E+g+17>>>0]=u.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=Rt(),P=O[E>>>2>>>0],y=O[E+4>>>2>>>0],D=O[E+8>>>2>>>0],R=O[E+12>>>2>>>0],W=[],g=0;g<32;g++)W.push(z[E+g+17>>>0]);return s.tty.ops.ioctl_tcsets(s.tty,a,{c_iflag:P,c_oflag:y,c_cflag:D,c_lflag:R,c_cc:W})}return 0}case 21519:{if(!s.tty)return-59;var E=Rt();return O[E>>>2>>>0]=0,0}case 21520:return s.tty?-28:-59;case 21537:case 21531:{var E=Rt();return l.ioctl(s,a,E)}case 21523:{if(!s.tty)return-59;if(s.tty.ops.ioctl_tiocgwinsz){var M=s.tty.ops.ioctl_tiocgwinsz(s.tty),E=Rt();dt[E>>>1>>>0]=M[0],dt[E+2>>>1>>>0]=M[1]}return 0}case 21524:return s.tty?0:-59;case 21515:return s.tty?0:-59;default:return-28}}catch(L){if(typeof l>"u"||L.name!=="ErrnoError")throw L;return-L.errno}}function He(e,a){e>>>=0,a>>>=0;try{return e=Q.getStr(e),Q.writeStat(a,l.lstat(e))}catch(i){if(typeof l>"u"||i.name!=="ErrnoError")throw i;return-i.errno}}function Ne(e,a,i,s){a>>>=0,i>>>=0;try{a=Q.getStr(a);var u=s&256,E=s&4096;return s=s&-6401,a=Q.calculateAt(e,a,E),Q.writeStat(i,u?l.lstat(a):l.stat(a))}catch(g){if(typeof l>"u"||g.name!=="ErrnoError")throw g;return-g.errno}}function K(e,a,i,s){a>>>=0,s>>>=0,Q.varargs=s;try{a=Q.getStr(a),a=Q.calculateAt(e,a);var u=s?Kt():0;return i&64&&(u&=~Q.currentUmask),l.open(a,i,u).fd}catch(E){if(typeof l>"u"||E.name!=="ErrnoError")throw E;return-E.errno}}function j(e,a){e>>>=0,a>>>=0;try{return e=Q.getStr(e),Q.writeStat(a,l.stat(e))}catch(i){if(typeof l>"u"||i.name!=="ErrnoError")throw i;return-i.errno}}var Qt=()=>Z(""),st=e=>{e>>>=0;for(var a="";;){var i=lt[e++>>>0];if(!i)return a;a+=String.fromCharCode(i)}},jt={},Ft={},te={},De=class extends Error{constructor(a){super(a),this.name="BindingError"}},$=e=>{throw new De(e)};function Xe(e,a,i={}){var s=a.name;if(e||$(`type "${s}" must have a positive integer typeid pointer`),Ft.hasOwnProperty(e)){if(i.ignoreDuplicateRegistrations)return;$(`Cannot register type '${s}' twice`)}if(Ft[e]=a,delete te[e],jt.hasOwnProperty(e)){var u=jt[e];delete jt[e],u.forEach(E=>E())}}function ot(e,a,i={}){return Xe(e,a,i)}var wt=(e,a,i)=>{switch(a){case 1:return i?s=>z[s>>>0]:s=>lt[s>>>0];case 2:return i?s=>dt[s>>>1>>>0]:s=>gt[s>>>1>>>0];case 4:return i?s=>O[s>>>2>>>0]:s=>B[s>>>2>>>0];case 8:return i?s=>tt[s>>>3>>>0]:s=>$t[s>>>3>>>0];default:throw new TypeError(`invalid integer width (${a}): ${e}`)}},Ke=function(e,a,i,s,u){e>>>=0,a>>>=0,i>>>=0,a=st(a);const E=s===0n;let g=P=>P;if(E){const P=i*8;g=y=>BigInt.asUintN(P,y),u=g(u)}ot(e,{name:a,fromWireType:g,toWireType:(P,y)=>(typeof y=="number"&&(y=BigInt(y)),y),readValueFromPointer:wt(a,i,!E),destructorFunction:null})};function un(e,a,i,s){e>>>=0,a>>>=0,a=st(a),ot(e,{name:a,fromWireType:function(u){return!!u},toWireType:function(u,E){return E?i:s},readValueFromPointer:function(u){return this.fromWireType(lt[u>>>0])},destructorFunction:null})}var En=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),Ge=e=>{function a(i){return i.$$.ptrType.registeredClass.name}$(a(e)+" instance already deleted")},We=!1,Re=e=>{},Me=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},be=e=>{e.count.value-=1;var a=e.count.value===0;a&&Me(e)},xe=e=>globalThis.FinalizationRegistry?(We=new FinalizationRegistry(a=>{be(a.$$)}),xe=a=>{var i=a.$$,s=!!i.smartPtr;if(s){var u={$$:i};We.register(a,u,a)}return a},Re=a=>We.unregister(a),xe(e)):(xe=a=>a,e),vr=()=>{let e=ze.prototype;Object.assign(e,{isAliasOf(i){if(!(this instanceof ze)||!(i instanceof ze))return!1;var s=this.$$.ptrType.registeredClass,u=this.$$.ptr;i.$$=i.$$;for(var E=i.$$.ptrType.registeredClass,g=i.$$.ptr;s.baseClass;)u=s.upcast(u),s=s.baseClass;for(;E.baseClass;)g=E.upcast(g),E=E.baseClass;return s===E&&u===g},clone(){if(this.$$.ptr||Ge(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var i=xe(Object.create(Object.getPrototypeOf(this),{$$:{value:En(this.$$)}}));return i.$$.count.value+=1,i.$$.deleteScheduled=!1,i},delete(){this.$$.ptr||Ge(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&$("Object already scheduled for deletion"),Re(this),be(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Ge(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&$("Object already scheduled for deletion"),this.$$.deleteScheduled=!0,this}});const a=Symbol.dispose;a&&(e[a]=e.delete)};function ze(){}var Je=(e,a)=>Object.defineProperty(a,"name",{value:e}),Nn={},mr=(e,a,i)=>{if(e[a].overloadTable===void 0){var s=e[a];e[a]=function(...u){return e[a].overloadTable.hasOwnProperty(u.length)||$(`Function '${i}' called with an invalid number of arguments (${u.length}) - expects one of (${e[a].overloadTable})!`),e[a].overloadTable[u.length].apply(this,u)},e[a].overloadTable=[],e[a].overloadTable[s.argCount]=s}},ke=(e,a,i)=>{o.hasOwnProperty(e)?((i===void 0||o[e].overloadTable!==void 0&&o[e].overloadTable[i]!==void 0)&&$(`Cannot register public name '${e}' twice`),mr(o,e,e),o[e].overloadTable.hasOwnProperty(i)&&$(`Cannot register multiple overloads of a function with the same number of arguments (${i})!`),o[e].overloadTable[i]=a):(o[e]=a,o[e].argCount=i)},Cr=48,wr=57,Dr=e=>{e=e.replace(/[^a-zA-Z0-9_]/g,"$");var a=e.charCodeAt(0);return a>=Cr&&a<=wr?`_${e}`:e};function Rr(e,a,i,s,u,E,g,P){this.name=e,this.constructor=a,this.instancePrototype=i,this.rawDestructor=s,this.baseClass=u,this.getActualType=E,this.upcast=g,this.downcast=P,this.pureVirtualFunctions=[]}var Ze=(e,a,i)=>{for(;a!==i;)a.upcast||$(`Expected null or instance of ${i.name}, got an instance of ${a.name}`),e=a.upcast(e),a=a.baseClass;return e},fn=e=>{if(e===null)return"null";var a=typeof e;return a==="object"||a==="array"||a==="function"?e.toString():""+e};function Sr(e,a){if(a===null)return this.isReference&&$(`null is not a valid ${this.name}`),0;a.$$||$(`Cannot pass "${fn(a)}" as a ${this.name}`),a.$$.ptr||$(`Cannot pass deleted object as a pointer of type ${this.name}`);var i=a.$$.ptrType.registeredClass,s=Ze(a.$$.ptr,i,this.registeredClass);return s}function Lr(e,a){var i;if(a===null)return this.isReference&&$(`null is not a valid ${this.name}`),this.isSmartPointer?(i=this.rawConstructor(),e!==null&&e.push(this.rawDestructor,i),i):0;(!a||!a.$$)&&$(`Cannot pass "${fn(a)}" as a ${this.name}`),a.$$.ptr||$(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&a.$$.ptrType.isConst&&$(`Cannot convert argument of type ${a.$$.smartPtrType?a.$$.smartPtrType.name:a.$$.ptrType.name} to parameter type ${this.name}`);var s=a.$$.ptrType.registeredClass;if(i=Ze(a.$$.ptr,s,this.registeredClass),this.isSmartPointer)switch(a.$$.smartPtr===void 0&&$("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:a.$$.smartPtrType===this?i=a.$$.smartPtr:$(`Cannot convert argument of type ${a.$$.smartPtrType?a.$$.smartPtrType.name:a.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:i=a.$$.smartPtr;break;case 2:if(a.$$.smartPtrType===this)i=a.$$.smartPtr;else{var u=a.clone();i=this.rawShare(i,Pt.toHandle(()=>u.delete())),e!==null&&e.push(this.rawDestructor,i)}break;default:$("Unsupported sharing policy")}return i}function Yr(e,a){if(a===null)return this.isReference&&$(`null is not a valid ${this.name}`),0;a.$$||$(`Cannot pass "${fn(a)}" as a ${this.name}`),a.$$.ptr||$(`Cannot pass deleted object as a pointer of type ${this.name}`),a.$$.ptrType.isConst&&$(`Cannot convert argument of type ${a.$$.ptrType.name} to parameter type ${this.name}`);var i=a.$$.ptrType.registeredClass,s=Ze(a.$$.ptr,i,this.registeredClass);return s}function qe(e){return this.fromWireType(B[e>>>2>>>0])}var Gn=(e,a,i)=>{if(a===i)return e;if(i.baseClass===void 0)return null;var s=Gn(e,a,i.baseClass);return s===null?null:i.downcast(s)},Nr={},Gr=(e,a)=>{for(a===void 0&&$("ptr should not be undefined");e.baseClass;)a=e.upcast(a),e=e.baseClass;return a},Wr=(e,a)=>(a=Gr(e,a),Nr[a]),Mr=class extends Error{constructor(a){super(a),this.name="InternalError"}},Qe=e=>{throw new Mr(e)},je=(e,a)=>{(!a.ptrType||!a.ptr)&&Qe("makeClassHandle requires ptr and ptrType");var i=!!a.smartPtrType,s=!!a.smartPtr;return i!==s&&Qe("Both smartPtrType and smartPtr must be specified"),a.count={value:1},xe(Object.create(e,{$$:{value:a,writable:!0}}))};function br(e){var a=this.getPointee(e);if(!a)return this.destructor(e),null;var i=Wr(this.registeredClass,a);if(i!==void 0){if(i.$$.count.value===0)return i.$$.ptr=a,i.$$.smartPtr=e,i.clone();var s=i.clone();return this.destructor(e),s}function u(){return this.isSmartPointer?je(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:a,smartPtrType:this,smartPtr:e}):je(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var E=this.registeredClass.getActualType(a),g=Nn[E];if(!g)return u.call(this);var P;this.isConst?P=g.constPointerType:P=g.pointerType;var y=Gn(a,this.registeredClass,P.registeredClass);return y===null?u.call(this):this.isSmartPointer?je(P.registeredClass.instancePrototype,{ptrType:P,ptr:y,smartPtrType:this,smartPtr:e}):je(P.registeredClass.instancePrototype,{ptrType:P,ptr:y})}var xr=()=>{Object.assign(tn.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){var a;(a=this.rawDestructor)==null||a.call(this,e)},readValueFromPointer:qe,fromWireType:br})};function tn(e,a,i,s,u,E,g,P,y,D,R){this.name=e,this.registeredClass=a,this.isReference=i,this.isConst=s,this.isSmartPointer=u,this.pointeeType=E,this.sharingPolicy=g,this.rawGetPointee=P,this.rawConstructor=y,this.rawShare=D,this.rawDestructor=R,!u&&a.baseClass===void 0?s?(this.toWireType=Sr,this.destructorFunction=null):(this.toWireType=Yr,this.destructorFunction=null):this.toWireType=Lr}var Wn=(e,a,i)=>{o.hasOwnProperty(e)||Qe("Replacing nonexistent public symbol"),o[e].overloadTable!==void 0&&i!==void 0?o[e].overloadTable[i]=a:(o[e]=a,o[e].argCount=i)},Mn=[],bn=e=>{var a=Mn[e];return a||(Mn[e]=a=qn.get(e)),a},kr=(e,a,i=[],s=!1)=>{var u=bn(a),E=u(...i);function g(P){return e[0]=="p"?P>>>0:P}return g(E)},Or=(e,a,i=!1)=>(...s)=>kr(e,a,s,i),ce=(e,a,i=!1)=>{e=st(e);function s(){if(e.includes("p"))return Or(e,a,i);var E=bn(a);return E}var u=s();return typeof u!="function"&&$(`unknown function pointer with signature ${e}: ${a}`),u};class Br extends Error{}var xn=e=>{var a=Kn(e),i=st(a);return re(a),i},en=(e,a)=>{var i=[],s={};function u(E){if(!s[E]&&!Ft[E]){if(te[E]){te[E].forEach(u);return}i.push(E),s[E]=!0}}throw a.forEach(u),new Br(`${e}: `+i.map(xn).join([", "]))},nn=(e,a,i)=>{e.forEach(P=>te[P]=a);function s(P){var y=i(P);y.length!==e.length&&Qe("Mismatched type converter count");for(var D=0;D<e.length;++D)ot(e[D],y[D])}var u=new Array(a.length),E=[],g=0;for(let[P,y]of a.entries())Ft.hasOwnProperty(y)?u[P]=Ft[y]:(E.push(y),jt.hasOwnProperty(y)||(jt[y]=[]),jt[y].push(()=>{u[P]=Ft[y],++g,g===E.length&&s(u)}));E.length===0&&s(u)};function Fr(e,a,i,s,u,E,g,P,y,D,R,W,M){e>>>=0,a>>>=0,i>>>=0,s>>>=0,u>>>=0,E>>>=0,g>>>=0,P>>>=0,y>>>=0,D>>>=0,R>>>=0,W>>>=0,M>>>=0,R=st(R),E=ce(u,E),P&&(P=ce(g,P)),D&&(D=ce(y,D)),M=ce(W,M);var L=Dr(R);ke(L,function(){en(`Cannot construct ${R} due to unbound types`,[s])}),nn([e,a,i],s?[s]:[],F=>{var nr;F=F[0];var H,rt;s?(H=F.registeredClass,rt=H.instancePrototype):rt=ze.prototype;var at=Je(R,function(...yn){if(Object.getPrototypeOf(this)!==ct)throw new De(`Use 'new' to construct ${R}`);if(_t.constructor_body===void 0)throw new De(`${R} has no accessible constructor`);var rr=_t.constructor_body[yn.length];if(rr===void 0)throw new De(`Tried to invoke ctor of ${R} with invalid number of parameters (${yn.length}) - expected (${Object.keys(_t.constructor_body).toString()}) parameters instead!`);return rr.apply(this,yn)}),ct=Object.create(rt,{constructor:{value:at}});at.prototype=ct;var _t=new Rr(R,at,ct,M,H,E,P,D);_t.baseClass&&((nr=_t.baseClass).__derivedClasses??(nr.__derivedClasses=[]),_t.baseClass.__derivedClasses.push(_t));var yt=new tn(R,_t,!0,!1,!1),Ut=new tn(R+"*",_t,!1,!1,!1),it=new tn(R+" const*",_t,!1,!0,!1);return Nn[e]={pointerType:Ut,constPointerType:it},Wn(L,at),[yt,Ut,it]})}var hn=e=>{for(;e.length;){var a=e.pop(),i=e.pop();i(a)}},kn=(e,a,i)=>(e instanceof Object||$(`${i} with invalid "this": ${e}`),e instanceof a.registeredClass.constructor||$(`${i} incompatible with "this" of type ${e.constructor.name}`),e.$$.ptr||$(`cannot call emscripten binding method ${i} on deleted object`),Ze(e.$$.ptr,e.$$.ptrType.registeredClass,a.registeredClass)),Ur=function(e,a,i,s,u,E,g,P,y,D){e>>>=0,a>>>=0,i>>>=0,s>>>=0,u>>>=0,E>>>=0,g>>>=0,P>>>=0,y>>>=0,D>>>=0,a=st(a),u=ce(s,u),nn([],[e],R=>{R=R[0];var W=`${R.name}.${a}`,M={get(){en(`Cannot access ${W} due to unbound types`,[i,g])},enumerable:!0,configurable:!0};return y?M.set=()=>en(`Cannot access ${W} due to unbound types`,[i,g]):M.set=L=>$(W+" is a read-only property"),Object.defineProperty(R.registeredClass.instancePrototype,a,M),nn([],y?[i,g]:[i],L=>{var F=L[0],H={get(){var at=kn(this,R,W+" getter");return F.fromWireType(u(E,at))},enumerable:!0};if(y){y=ce(P,y);var rt=L[1];H.set=function(at){var ct=kn(this,R,W+" setter"),_t=[];y(D,ct,rt.toWireType(_t,at)),hn(_t)}}return Object.defineProperty(R.registeredClass.instancePrototype,a,H),[]}),[]})},On=[],ee=[0,1,,1,null,1,!0,1,!1,1];function gn(e){e>>>=0,e>9&&--ee[e+1]===0&&(ee[e],ee[e]=void 0,On.push(e))}var Pt={toValue:e=>(e||$(`Cannot use deleted val. handle = ${e}`),ee[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const a=On.pop()||ee.length;return ee[a]=e,ee[a+1]=1,a}}}},$r={name:"emscripten::val",fromWireType:e=>{var a=Pt.toValue(e);return gn(e),a},toWireType:(e,a)=>Pt.toHandle(a),readValueFromPointer:qe,destructorFunction:null};function Vr(e){return e>>>=0,ot(e,$r)}var An=(e,a,i)=>{switch(a){case 1:return i?function(s){return this.fromWireType(z[s>>>0])}:function(s){return this.fromWireType(lt[s>>>0])};case 2:return i?function(s){return this.fromWireType(dt[s>>>1>>>0])}:function(s){return this.fromWireType(gt[s>>>1>>>0])};case 4:return i?function(s){return this.fromWireType(O[s>>>2>>>0])}:function(s){return this.fromWireType(B[s>>>2>>>0])};default:throw new TypeError(`invalid integer width (${a}): ${e}`)}};function Hr(e){return e===0?"object":e===1?"number":"string"}function Xr(e,a,i,s,u){e>>>=0,a>>>=0,i>>>=0,a=st(a);const E=Hr(u);switch(E){case"object":{let D=function(){};D.values={},ot(e,{name:a,constructor:D,valueType:E,fromWireType:function(R){return this.constructor.values[R]},toWireType:(R,W)=>W.value,readValueFromPointer:An(a,i,s),destructorFunction:null}),ke(a,D);break}case"number":{var g={};ot(e,{name:a,keysMap:g,valueType:E,fromWireType:D=>D,toWireType:(D,R)=>R,readValueFromPointer:An(a,i,s),destructorFunction:null}),ke(a,g),delete o[a].argCount;break}case"string":{var P={},y={},g={};ot(e,{name:a,valuesMap:P,reverseMap:y,keysMap:g,valueType:E,fromWireType:function(R){return this.reverseMap[R]},toWireType:function(R,W){return this.valuesMap[W]},readValueFromPointer:An(a,i,s),destructorFunction:null}),ke(a,g),delete o[a].argCount;break}}}var Bn=(e,a)=>{var i=Ft[e];return i===void 0&&$(`${a} has unknown type ${xn(e)}`),i};function Kr(e,a,i){e>>>=0,a>>>=0;var s=Bn(e,"enum");switch(a=st(a),s.valueType){case"object":{var u=s.constructor,E=Object.create(s.constructor.prototype,{value:{value:i},constructor:{value:Je(`${s.name}_${a}`,function(){})}});u.values[i]=E,u[a]=E;break}case"number":{s.keysMap[a]=i;break}case"string":{s.valuesMap[a]=i,s.reverseMap[i]=a,s.keysMap[a]=a;break}}}var zr=(e,a)=>{switch(a){case 4:return function(i){return this.fromWireType(xt[i>>>2>>>0])};case 8:return function(i){return this.fromWireType(kt[i>>>3>>>0])};default:throw new TypeError(`invalid float width (${a}): ${e}`)}},Jr=function(e,a,i){e>>>=0,a>>>=0,i>>>=0,a=st(a),ot(e,{name:a,fromWireType:s=>s,toWireType:(s,u)=>u,readValueFromPointer:zr(a,i),destructorFunction:null})};function Fn(e){for(var a=1;a<e.length;++a)if(e[a]!==null&&e[a].destructorFunction===void 0)return!0;return!1}function Zr(e,a,i,s){for(var u=Fn(e),E=e.length-2,g=[],P=["fn"],y=0;y<E;++y)g.push(`arg${y}`),P.push(`arg${y}Wired`);g=g.join(","),P=P.join(",");var D=`return function (${g}) {
|
|
3
|
+
`;u&&(D+=`var destructors = [];
|
|
4
|
+
`);for(var R=u?"destructors":"null",W=["humanName","throwBindingError","invoker","fn","runDestructors","fromRetWire","toClassParamWire"],y=0;y<E;++y){var M=`toArg${y}Wire`;D+=`var arg${y}Wired = ${M}(${R}, arg${y});
|
|
5
|
+
`,W.push(M)}if(D+=(i||s?"var rv = ":"")+`invoker(${P});
|
|
6
|
+
`,u)D+=`runDestructors(destructors);
|
|
7
|
+
`;else for(var y=2;y<e.length;++y){var L=y===1?"thisWired":"arg"+(y-2)+"Wired";e[y].destructorFunction!==null&&(D+=`${L}_dtor(${L});
|
|
8
|
+
`,W.push(`${L}_dtor`))}return i&&(D+=`var ret = fromRetWire(rv);
|
|
9
9
|
return ret;
|
|
10
|
-
`),
|
|
11
|
-
`,new Function(W,
|
|
10
|
+
`),D+=`}
|
|
11
|
+
`,new Function(W,D)}function qr(e,a,i,s,u,E){var g=a.length;g<2&&$("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var P=a[1]!==null&&i!==null,y=Fn(a),D=!a[0].isVoid,R=a[0],W=a[1],M=[e,$,s,u,hn,R.fromWireType.bind(R),W==null?void 0:W.toWireType.bind(W)],L=2;L<g;++L){var F=a[L];M.push(F.toWireType.bind(F))}if(!y)for(var L=2;L<a.length;++L)a[L].destructorFunction!==null&&M.push(a[L].destructorFunction);var rt=Zr(a,P,D,E)(...M);return Je(e,rt)}var Qr=(e,a)=>{for(var i=[],s=0;s<e;s++)i.push(B[a+s*4>>>2>>>0]);return i},jr=e=>{e=e.trim();const a=e.indexOf("(");return a===-1?e:e.slice(0,a)};function ta(e,a,i,s,u,E,g,P){e>>>=0,i>>>=0,s>>>=0,u>>>=0,E>>>=0;var y=Qr(a,i);e=st(e),e=jr(e),u=ce(s,u,g),ke(e,function(){en(`Cannot call ${e} due to unbound types`,y)},a-1),nn([],y,D=>{var R=[D[0],null].concat(D.slice(1));return Wn(e,qr(e,R,null,u,E,g),a-1),[]})}var ea=function(e,a,i,s,u){e>>>=0,a>>>=0,i>>>=0,a=st(a);const E=s===0;let g=y=>y;if(E){var P=32-8*i;g=y=>y<<P>>>P,u=g(u)}ot(e,{name:a,fromWireType:g,toWireType:(y,D)=>D,readValueFromPointer:wt(a,i,s!==0),destructorFunction:null})};function na(e,a,i){e>>>=0,i>>>=0;var s=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array],u=s[a];function E(g){var P=B[g>>>2>>>0],y=B[g+4>>>2>>>0];return new u(z.buffer,y,P)}i=st(i),ot(e,{name:i,fromWireType:E,readValueFromPointer:E},{ignoreDuplicateRegistrations:!0})}var ne=(e,a,i)=>ie(e,lt,a,i);function ra(e,a){e>>>=0,a>>>=0,a=st(a),ot(e,{name:a,fromWireType(i){var s=B[i>>>2>>>0],u=i+4,E;return E=qt(u,s,!0),re(i),E},toWireType(i,s){s instanceof ArrayBuffer&&(s=new Uint8Array(s));var u,E=typeof s=="string";E||ArrayBuffer.isView(s)&&s.BYTES_PER_ELEMENT==1||$("Cannot pass non-string to std::string"),E?u=Lt(s):u=s.length;var g=an(4+u+1),P=g+4;return B[g>>>2>>>0]=u,E?ne(s,P,u+1):lt.set(s,P>>>0),i!==null&&i.push(re,g),g},readValueFromPointer:qe,destructorFunction(i){re(i)}})}var Un=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,aa=(e,a,i)=>{var s=e>>>1,u=Pe(gt,s,a/2,i);if(u-s>16&&Un)return Un.decode(gt.subarray(s>>>0,u>>>0));for(var E="",g=s;g<u;++g){var P=gt[g>>>0];E+=String.fromCharCode(P)}return E},oa=(e,a,i)=>{if(i??(i=2147483647),i<2)return 0;i-=2;for(var s=a,u=i<e.length*2?i/2:e.length,E=0;E<u;++E){var g=e.charCodeAt(E);dt[a>>>1>>>0]=g,a+=2}return dt[a>>>1>>>0]=0,a-s},ia=e=>e.length*2,sa=(e,a,i)=>{for(var s="",u=e>>>2,E=0;!(E>=a/4);E++){var g=B[u+E>>>0];if(!g&&!i)break;s+=String.fromCodePoint(g)}return s},_a=(e,a,i)=>{if(a>>>=0,i??(i=2147483647),i<4)return 0;for(var s=a,u=s+i-4,E=0;E<e.length;++E){var g=e.codePointAt(E);if(g>65535&&E++,O[a>>>2>>>0]=g,a+=4,a+4>u)break}return O[a>>>2>>>0]=0,a-s},da=e=>{for(var a=0,i=0;i<e.length;++i){var s=e.codePointAt(i);s>65535&&i++,a+=4}return a};function la(e,a,i){e>>>=0,a>>>=0,i>>>=0,i=st(i);var s,u,E;a===2?(s=aa,u=oa,E=ia):(s=sa,u=_a,E=da),ot(e,{name:i,fromWireType:g=>{var P=B[g>>>2>>>0],y=s(g+4,P*a,!0);return re(g),y},toWireType:(g,P)=>{typeof P!="string"&&$(`Cannot pass non-string to C++ string type ${i}`);var y=E(P),D=an(4+y+a);return B[D>>>2>>>0]=y/a,u(P,D+4,y+a),g!==null&&g.push(re,D),D},readValueFromPointer:qe,destructorFunction(g){re(g)}})}var ca=function(e,a){e>>>=0,a>>>=0,a=st(a),ot(e,{isVoid:!0,name:a,fromWireType:()=>{},toWireType:(i,s)=>{}})},Tn=[],ua=e=>{var a=Tn.length;return Tn.push(e),a},Ea=(e,a)=>{for(var i=new Array(e),s=0;s<e;++s)i[s]=Bn(B[a+s*4>>>2>>>0],`parameter ${s}`);return i},fa=(e,a,i)=>{var s=[],u=e(s,i);return s.length&&(B[a>>>2>>>0]=Pt.toHandle(s)),u},ha={},$n=e=>{var a=ha[e];return a===void 0?st(e):a},ga=function(e,a,i){a>>>=0;var s=8,[u,...E]=Ea(e,a),g=u.toWireType.bind(u),P=E.map(L=>L.readValueFromPointer.bind(L));e--;var y={toValue:Pt.toValue},D=P.map((L,F)=>{var H=`argFromPtr${F}`;return y[H]=L,`${H}(args${F?"+"+F*s:""})`}),R;switch(i){case 0:R="toValue(handle)";break;case 2:R="new (toValue(handle))";break;case 3:R="";break;case 1:y.getStringOrSymbol=$n,R="toValue(handle)[getStringOrSymbol(methodName)]";break}R+=`(${D})`,u.isVoid||(y.toReturnWire=g,y.emval_returnValue=fa,R=`return emval_returnValue(toReturnWire, destructorsRef, ${R})`),R=`return function (handle, methodName, destructorsRef, args) {
|
|
12
12
|
${R}
|
|
13
|
-
}`;var W=new Function(Object.keys(y),R)(...Object.values(y)),M=`methodCaller<(${u.map(L=>L.name)}) => ${c.name}>`;return la(ze(M,W))};function ha(e){e>>>=0,e>9&&(ee[e+1]+=1)}function ga(e,r,o,s,c){return e>>>=0,r>>>=0,o>>>=0,s>>>=0,c>>>=0,An[e](r,o,s,c)}function Aa(){return Pt.toHandle([])}function Ta(e){return e>>>=0,Pt.toHandle(Fn(e))}function Pa(){return Pt.toHandle({})}function ya(e){e>>>=0;var r=Pt.toValue(e);fn(r),hn(e)}function pa(e,r,o){e>>>=0,r>>>=0,o>>>=0,e=Pt.toValue(e),r=Pt.toValue(r),o=Pt.toValue(o),e[r]=o}function Ia(e,r){e=ge(e),r>>>=0;var o=new Date(e*1e3);O[r>>>2>>>0]=o.getUTCSeconds(),O[r+4>>>2>>>0]=o.getUTCMinutes(),O[r+8>>>2>>>0]=o.getUTCHours(),O[r+12>>>2>>>0]=o.getUTCDate(),O[r+16>>>2>>>0]=o.getUTCMonth(),O[r+20>>>2>>>0]=o.getUTCFullYear()-1900,O[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;O[r+28>>>2>>>0]=c}var va=e=>e%4===0&&(e%100!==0||e%400===0),ma=[0,31,60,91,121,152,182,213,244,274,305,335],Ca=[0,31,59,90,120,151,181,212,243,273,304,334],wa=e=>{var r=va(e.getFullYear()),o=r?ma:Ca,s=o[e.getMonth()]+e.getDate()-1;return s},Da=function(e){e>>>=0;var r=(()=>{var o=new Date(O[e+20>>>2>>>0]+1900,O[e+16>>>2>>>0],O[e+12>>>2>>>0],O[e+8>>>2>>>0],O[e+4>>>2>>>0],O[e>>>2>>>0],0);if(isNaN(o.getTime()))return-1;var s=O[e+32>>>2>>>0],c=o.getTimezoneOffset(),u=new Date(o.getFullYear(),0,1),h=new Date(o.getFullYear(),6,1).getTimezoneOffset(),T=u.getTimezoneOffset(),y=Math.min(T,h);if(s<0)O[e+32>>>2>>>0]=+(h!=T&&y==c);else if(s>0!=(y==c)){var w=Math.max(T,h),R=s>0?y:w;o.setTime(o.getTime()+(R-c)*6e4)}O[e+24>>>2>>>0]=o.getDay();var W=wa(o)|0;return O[e+28>>>2>>>0]=W,O[e>>>2>>>0]=o.getSeconds(),O[e+4>>>2>>>0]=o.getMinutes(),O[e+8>>>2>>>0]=o.getHours(),O[e+12>>>2>>>0]=o.getDate(),O[e+16>>>2>>>0]=o.getMonth(),O[e+20>>>2>>>0]=o.getYear(),o.getTime()/1e3})();return BigInt(r)},Ra=function(e,r,o,s){e>>>=0,r>>>=0,o>>>=0,s>>>=0;var c=new Date().getFullYear(),u=new Date(c,0,1),h=new Date(c,6,1),T=u.getTimezoneOffset(),y=h.getTimezoneOffset(),w=Math.max(T,y);B[e>>>2>>>0]=w*60,O[r>>>2>>>0]=+(T!=y);var R=L=>{var F=L>=0?"-":"+",H=Math.abs(L),rt=String(Math.floor(H/60)).padStart(2,"0"),at=String(H%60).padStart(2,"0");return`UTC${F}${rt}${at}`},W=R(T),M=R(y);y<T?(ne(W,o,17),ne(M,s,17)):(ne(W,s,17),ne(M,o,17))},Sa=()=>Date.now();function La(e){return e>>>=0,C(qt(e))}var Ya=()=>performance.now(),Na=()=>4294901760,Ga=(e,r)=>Math.ceil(e/r)*r,Wa=e=>{var r=an.buffer.byteLength,o=(e-r+65535)/65536|0;try{return an.grow(o),U(),1}catch{}};function Ma(e){e>>>=0;var r=lt.length,o=Na();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 u=Math.min(o,Ga(Math.max(e,c),65536)),h=Wa(u);if(h)return!0}return!1}var nn={},ba=()=>f,ke=()=>{var c;if(!ke.strings){var e=(((c=globalThis.navigator)==null?void 0:c.language)??"C").replace("-","_")+".UTF-8",r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:e,_:ba()};for(var o in nn)nn[o]===void 0?delete r[o]:r[o]=nn[o];var s=[];for(var o in r)s.push(`${o}=${r[o]}`);ke.strings=s}return ke.strings};function xa(e,r){e>>>=0,r>>>=0;var o=0,s=0;for(var c of ke()){var u=r+o;B[e+s>>>2>>>0]=u,o+=ne(c,u,1/0)+1,s+=4}return 0}function ka(e,r){e>>>=0,r>>>=0;var o=ke();B[e>>>2>>>0]=o.length;var s=0;for(var c of o)s+=Lt(c)+1;return B[r>>>2>>>0]=s,0}function Oa(e){try{var r=Q.getStreamFromFD(e);return l.close(r),0}catch(o){if(typeof l>"u"||o.name!=="ErrnoError")throw o;return o.errno}}var Ba=(e,r,o,s)=>{for(var c=0,u=0;u<o;u++){var h=B[r>>>2>>>0],T=B[r+4>>>2>>>0];r+=8;var y=l.read(e,z,h,T,s);if(y<0)return-1;if(c+=y,y<T)break}return c};function Fa(e,r,o,s){r>>>=0,o>>>=0,s>>>=0;try{var c=Q.getStreamFromFD(e),u=Ba(c,r,o);return B[s>>>2>>>0]=u,0}catch(h){if(typeof l>"u"||h.name!=="ErrnoError")throw h;return h.errno}}function Ua(e,r,o,s){r=ge(r),s>>>=0;try{if(isNaN(r))return 22;var c=Q.getStreamFromFD(e);return l.llseek(c,r,o),tt[s>>>3>>>0]=BigInt(c.position),c.getdents&&r===0&&o===0&&(c.getdents=null),0}catch(u){if(typeof l>"u"||u.name!=="ErrnoError")throw u;return u.errno}}var $a=(e,r,o,s)=>{for(var c=0,u=0;u<o;u++){var h=B[r>>>2>>>0],T=B[r+4>>>2>>>0];r+=8;var y=l.write(e,z,h,T,s);if(y<0)return-1;if(c+=y,y<T)break}return c};function Va(e,r,o,s){r>>>=0,o>>>=0,s>>>=0;try{var c=Q.getStreamFromFD(e),u=$a(c,r,o);return B[s>>>2>>>0]=u,0}catch(h){if(typeof l>"u"||h.name!=="ErrnoError")throw h;return h.errno}}function Ha(e,r){return e>>>=0,r>>>=0,zt(lt.subarray(e>>>0,e+r>>>0))}var Un=e=>{var r=i["_"+e];return r},Xa=(e,r)=>{z.set(e,r>>>0)},$n=e=>Kn(e),Ka=e=>{var r=Lt(e)+1,o=$n(r);return ne(e,o,r),o},Vn=(e,r,o,s,c)=>{var u={string:F=>{var H=0;return F!=null&&F!==0&&(H=Ka(F)),H},array:F=>{var H=$n(F.length);return Xa(F,H),H}};function h(F){return r==="string"?qt(F):r==="pointer"?F>>>0:r==="boolean"?!!F:F}var T=Un(e),y=[],w=0;if(s)for(var R=0;R<s.length;R++){var W=u[o[R]];W?(w===0&&(w=Xt()),y[R]=W(s[R])):y[R]=s[R]}var M=T(...y);function L(F){return w!==0&&V(w),h(F)}return M=L(M),M},za=(e,r,o,s)=>{var c=!o||o.every(h=>h==="number"||h==="boolean"),u=r!=="string";return u&&c&&!s?Un(e):(...h)=>Vn(e,r,o,h)},Ja=e=>{var r=Lt(e)+1,o=rn(r);return o&&ne(e,o,r),o};if(l.createPreloadedFile=$e,l.preloadFile=le,l.staticInit(),pr(),Mr(),i.noExitRuntime&&i.noExitRuntime,i.preloadPlugins&&(de=i.preloadPlugins),i.print&&(D=i.print),i.printErr&&(C=i.printErr),i.wasmBinary&&(m=i.wasmBinary),i.arguments&&i.arguments,i.thisProgram&&(f=i.thisProgram),i.preInit)for(typeof i.preInit=="function"&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.shift()();i.ENV=nn,i.ccall=Vn,i.cwrap=za,i.setValue=q,i.UTF8ToString=qt,i.stringToNewUTF8=Ja,i.FS=l;var re,rn,Hn,Xn,Kn,zn,an,Jn;function Za(e){i.__Znwm=e._Znwm,i.__ZdlPvm=e._ZdlPvm,re=e.free,rn=e.malloc,e.calloc,e.realloc,Hn=e.__getTypeName,i._strndup=e.strndup,i.__ZdaPv=e._ZdaPv,i.__ZdaPvm=e._ZdaPvm,i.__ZdlPv=e._ZdlPv,i._emscripten_builtin_malloc=e.emscripten_builtin_malloc,i.__Znam=e._Znam,i.__ZnamSt11align_val_t=e._ZnamSt11align_val_t,i.__ZnwmSt11align_val_t=e._ZnwmSt11align_val_t,i.___libc_calloc=e.__libc_calloc,i.___libc_free=e.__libc_free,i.___libc_malloc=e.__libc_malloc,i.___libc_realloc=e.__libc_realloc,i._emscripten_builtin_calloc=e.emscripten_builtin_calloc,i._emscripten_builtin_free=e.emscripten_builtin_free,i._emscripten_builtin_realloc=e.emscripten_builtin_realloc,i._malloc_size=e.malloc_size,i._malloc_usable_size=e.malloc_usable_size,i._reallocf=e.reallocf,Xn=e._emscripten_stack_restore,Kn=e._emscripten_stack_alloc,zn=e.emscripten_stack_get_current,an=e.memory,Jn=e.__indirect_function_table}var Zn={__cxa_throw:Se,__syscall_fcntl64:_n,__syscall_fstat64:dn,__syscall_ioctl:ln,__syscall_lstat64:Ve,__syscall_newfstatat:Ye,__syscall_openat:K,__syscall_stat64:j,_abort_js:Qt,_embind_register_bigint:Xe,_embind_register_bool:cn,_embind_register_class:Or,_embind_register_class_property:Br,_embind_register_emval:Ur,_embind_register_enum:Vr,_embind_register_enum_value:Hr,_embind_register_float:Kr,_embind_register_function:Qr,_embind_register_integer:jr,_embind_register_memory_view:ta,_embind_register_std_string:ea,_embind_register_std_wstring:_a,_embind_register_void:da,_emval_create_invoker:fa,_emval_decref:hn,_emval_incref:ha,_emval_invoke:ga,_emval_new_array:Aa,_emval_new_cstring:Ta,_emval_new_object:Pa,_emval_run_destructors:ya,_emval_set_property:pa,_gmtime_js:Ia,_mktime_js:Da,_tzset_js:Ra,emscripten_date_now:Sa,emscripten_err:La,emscripten_get_now:Ya,emscripten_resize_heap:Ma,environ_get:xa,environ_sizes_get:ka,fd_close:Oa,fd_read:Fa,fd_seek:Ua,fd_write:Va,random_get:Ha};function qa(e){e=Object.assign({},e);var r=c=>u=>c(u)>>>0,o=c=>(u,h)=>c(u,h)>>>0,s=c=>()=>c()>>>0;return e.malloc=r(e.malloc),e.calloc=o(e.calloc),e.realloc=o(e.realloc),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}function Tn(){if(Tt>0){Yt=Tn;return}if(J(),Tt>0){Yt=Tn;return}function e(){var r;i.calledRun=!0,!S&&(et(),G==null||G(i),(r=i.onRuntimeInitialized)==null||r.call(i),ft())}i.setStatus?(i.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>i.setStatus(""),1),e()},1)):e()}var Ee;return Ee=await bt(),Tn(),k?t=i:t=new Promise((e,r)=>{G=e,b=r}),t}var ui=Object.defineProperty,fi=(a,t,i)=>t in a?ui(a,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):a[t]=i,nt=(a,t,i)=>fi(a,typeof t!="symbol"?t+"":t,i);const hi=["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=>hi[a];var ue=(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))(ue||{}),vn=(a=>(a[a.PatternFill=0]="PatternFill",a[a.SolidFill=1]="SolidFill",a))(vn||{}),mn=(a=>(a[a.NonAssociative=0]="NonAssociative",a[a.Associative=1]="Associative",a))(mn||{}),ur=(a=>(a[a.Solid=0]="Solid",a[a.Gradient=1]="Gradient",a))(ur||{}),Cn=(a=>(a[a.TwoColor=0]="TwoColor",a[a.OneColor=1]="OneColor",a))(Cn||{}),Be=(a=>(a[a.Line=1]="Line",a[a.Circular=2]="Circular",a[a.Elliptic=3]="Elliptic",a[a.Spline=4]="Spline",a))(Be||{}),wn=(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))(wn||{});const gi=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"]),Ai=/\\U\+([0-9A-Fa-f]{4})/g;function ir(a){return!a||!a.includes("\\U+")?a:a.replace(Ai,(t,i)=>String.fromCharCode(parseInt(i,16)))}const Ti=[{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 Dn=(a=>(a[a.DWG_SUPERTYPE_ENTITY=0]="DWG_SUPERTYPE_ENTITY",a[a.DWG_SUPERTYPE_OBJECT=1]="DWG_SUPERTYPE_OBJECT",a))(Dn||{}),fr=(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))(fr||{}),Y=(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))(Y||{});Object.fromEntries(Object.entries(Y).map(([a,t])=>[t,a]));var Sn=(a=>(a[a.DWG=0]="DWG",a[a.DXF=1]="DXF",a))(Sn||{}),Fe=(a=>(a[a.Line=1]="Line",a[a.CircularArc=2]="CircularArc",a[a.EllipticArc=3]="EllipticArc",a[a.Spline=4]="Spline",a))(Fe||{}),fe=(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))(fe||{});const or=192,sr=193,Pi=194,pn=195,_r=200;function hr(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>=or&&i<=_r&&(a.rgb>>>24&255)===i)return a.rgb>>0;if(i===fe.ByLayer||n===256)return or<<24>>0;if(i===fe.ByBlock||n===0)return sr<<24>>0;if(i===fe.None)return _r<<24>>0;if(i===fe.TrueColor){const d=a.rgb!=null?a.rgb&16777215:void 0;if(d!=null)return(Pi<<24|d)>>0}return i===fe.ForegroundColor?(pn<<24|7)>>0:i===fe.Entities&&n>0&&n<256||n>0&&n<256?(pn<<24|n&255)>>0:sr<<24>>0}const yi="*MODEL_SPACE",pi="*PAPER_SPACE",Rn=a=>a&&a.toUpperCase()==yi,Ii=a=>a&&a.toUpperCase().startsWith(pi),It=a=>a.toString(16).toUpperCase(),Ue=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("")},vi=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 mi{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),E=i.dwg_object_get_fixedtype(t);if(E==Y.DWG_TYPE_3DFACE)return this.convert3dFace(d,_);if(E==Y.DWG_TYPE_3DSOLID)return this.convert3dSolid(d,_);if(E==Y.DWG_TYPE_ARC)return this.convertArc(d,_);if(E==Y.DWG_TYPE_ARCALIGNEDTEXT)return this.convertArcAlignedText(d,_);if(E==Y.DWG_TYPE_ATTDEF)return this.convertAttdef(d,_);if(E==Y.DWG_TYPE_CIRCLE)return this.convertCircle(d,_);if(E==Y.DWG_TYPE_DIMENSION_ALIGNED||E==Y.DWG_TYPE_DIMENSION_LINEAR)return this.convertAlignedDimension(d,_);if(E==Y.DWG_TYPE_DIMENSION_ANG3PT)return this.convert3PointAngularDimension(d,_);if(E==Y.DWG_TYPE_DIMENSION_ANG2LN)return this.convert2LineAngularDimension(d,_);if(E==Y.DWG_TYPE_DIMENSION_DIAMETER)return this.convertDiameterDimension(d,_);if(E==Y.DWG_TYPE_DIMENSION_ORDINATE)return this.convertOrdinateDimension(d,_);if(E==Y.DWG_TYPE_DIMENSION_RADIUS)return this.convertRadiusDimension(d,_);if(E==Y.DWG_TYPE_ELLIPSE)return this.convertEllise(d,_);if(E==Y.DWG_TYPE_HATCH)return this.convertHatch(d,_);if(E==Y.DWG_TYPE_IMAGE)return this.convertImage(d,_);if(E==Y.DWG_TYPE_INSERT)return this.convertInsert(d,_);if(E==Y.DWG_TYPE_LEADER)return this.convertLeader(d,_);if(E==Y.DWG_TYPE_LINE)return this.convertLine(d,_);if(E==Y.DWG_TYPE_LWPOLYLINE)return this.convertLWPolyline(d,_);if(E==Y.DWG_TYPE_MLINE)return this.convertMLine(d,_);if(E==Y.DWG_TYPE_MULTILEADER)return this.convertMultiLeader(d,_);if(E==Y.DWG_TYPE_MTEXT)return this.convertMText(d,_);if(E==Y.DWG_TYPE_OLE2FRAME)return this.convertOle2Frame(d,_);if(E==Y.DWG_TYPE_OLEFRAME)return this.convertOleFrame(d,_);if(E==Y.DWG_TYPE_POINT)return this.convertPoint(d,_);if(E==Y.DWG_TYPE_POLYLINE_2D)return this.convertPolyline2d(d,_,t);if(E==Y.DWG_TYPE_POLYLINE_3D)return this.convertPolyline3d(d,_,t);if(E==Y.DWG_TYPE_PROXY_ENTITY)return this.convertProxyEntity(d,_,t);if(E==Y.DWG_TYPE_RAY)return this.convertRay(d,_);if(E==Y.DWG_TYPE_SECTIONOBJECT)return this.convertSection(d,_);if(E==Y.DWG_TYPE_SHAPE)return this.convertShape(d,_);if(E==Y.DWG_TYPE_SOLID)return this.convertSolid(d,_);if(E==Y.DWG_TYPE_TRACE)return this.convertTrace(d,_);if(E==Y.DWG_TYPE_SPLINE)return this.convertSpline(d,_);if(E==Y.DWG_TYPE_TABLE)return this.convertTable(d,_);if(E==Y.DWG_TYPE_TEXT)return this.convertText(d,_);if(E==Y.DWG_TYPE_TOLERANCE)return this.convertTolerance(d,_);if(E==Y.DWG_TYPE_VIEWPORT)return this.convertViewport(d,_);if(E==Y.DWG_TYPE_WIPEOUT)return this.convertWipeout(d,_);if(E==Y.DWG_TYPE_XLINE)return this.convertXline(d,_);E===Y.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"),E=n.dwg_dynapi_entity_data(t,"corner3"),f=n.dwg_dynapi_entity_data(t,"corner4"),g=n.dwg_dynapi_entity_data(t,"invis_flags");return{type:"3DFACE",...i,corner1:d,corner2:_,corner3:E,corner4:f,flag:g}}convert3dSolid(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"version"),_=n.dwg_dynapi_entity_data(t,"acis_empty"),E=n.dwg_dynapi_entity_data(t,"acis_data"),f=n.dwg_dynapi_entity_data(t,"has_revision_guid"),g=n.dwg_dynapi_entity_data(t,"history_id"),A=n.dwg_ref_get_id(g),P={type:"3DSOLID",subclassMarker:"AcDb3dSolid",...i};if(d&&(P.version=d),P.satCache=_,E&&(P.data=E),f){const I=n.dwg_dynapi_entity_field_offset(t,"revision_guid");if(I>=0){const p=n.UTF8ToString(t+I,38);p&&(P.guid=p)}}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"),E=n.dwg_dynapi_entity_data(t,"thickness"),f=n.dwg_dynapi_entity_data(t,"extrusion"),g=n.dwg_dynapi_entity_data(t,"start_angle"),A=n.dwg_dynapi_entity_data(t,"end_angle");return{type:"ARC",...i,thickness:E,center:d,radius:_,startAngle:g,endAngle:A,extrusionDirection:f}}convertArcAlignedText(t,i){const n=this.libredwg,d=(A,P=0)=>{const I=n.dwg_dynapi_entity_data(t,A);if(typeof I=="number"&&Number.isFinite(I))return I;if(typeof I=="string"&&I.trim()!==""){const p=Number(I);if(Number.isFinite(p))return p}return P},_=n.dwg_dynapi_entity_data(t,"center"),E=n.dwg_dynapi_entity_data(t,"extrusion"),f=n.dwg_dynapi_entity_data(t,"arc_handle"),g=d("xscale",1);return{type:"ARCALIGNEDTEXT",...i,text:n.dwg_dynapi_entity_data(t,"text_value")??"",textSize:d("text_size"),xScale:g>0?g: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:E??{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"),E=n.dwg_dynapi_subclass_data(t,i,"x_axis_dir"),f=n.dwg_dynapi_subclass_data(t,i,"rect_height"),g=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:g,extentsHeight:A,extentsWidth:P,attachmentPoint:d,direction:E}}convertAttdef(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"default_value"),_=this.convertTextBase(t);_.text=d;const E=n.dwg_dynapi_entity_data(t,"prompt"),f=n.dwg_dynapi_entity_data(t,"tag"),g=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"),I=n.dwg_dynapi_entity_data(t,"keep_duplicate_records"),p=n.dwg_dynapi_entity_data(t,"is_really_locked"),v=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:E,tag:f,flags:g,fieldLength:A,lockPositionFlag:P>0,duplicateRecordCloningFlag:I>0,mtextFlag:v,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"),E=n.dwg_dynapi_entity_data(t,"flags"),f=n.dwg_dynapi_entity_data(t,"field_length"),g=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"),I=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:E,fieldLength:f,lockPositionFlag:!!g,duplicateRecordCloningFlag:!!A,mtextFlag:P,isReallyLocked:!!I,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"),E=n.dwg_dynapi_entity_data(t,"thickness"),f=n.dwg_dynapi_entity_data(t,"extrusion");return{type:"CIRCLE",...i,thickness:E,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"),E=n.dwg_dynapi_entity_data(t,"xline1_pt"),f=n.dwg_dynapi_entity_data(t,"xline2_pt"),g=n.dwg_dynapi_entity_data(t,"ins_rotation"),A=n.dwg_dynapi_entity_data(t,"oblique_angle");return{subclassMarker:"AcDbAlignedDimension",...i,...d,insertionPoint:_,subDefinitionPoint1:E,subDefinitionPoint2:f,rotationAngle:g??0,obliqueAngle:A}}convert3PointAngularDimension(t,i){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"xline1_pt"),E=n.dwg_dynapi_entity_data(t,"xline2_pt"),f=n.dwg_dynapi_entity_data(t,"center_pt"),g=n.dwg_dynapi_entity_data(t,"xline2end_pt");return{subclassMarker:"AcDb3PointAngularDimension",...i,...d,subDefinitionPoint1:_,subDefinitionPoint2:E,centerPoint:f,arcPoint:g}}convert2LineAngularDimension(t,i){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"xline1start_pt"),E=n.dwg_dynapi_entity_data(t,"xline1end_pt"),f=n.dwg_dynapi_entity_data(t,"xline2start_pt"),g=n.dwg_dynapi_entity_data(t,"xline2end_pt"),A=n.dwg_dynapi_entity_data(t,"def_pt");return g&&(d.definitionPoint=g),{subclassMarker:"AcDb2LineAngularDimension",...i,...d,subDefinitionPoint1:_??E??A??g,subDefinitionPoint2:f??g??A??E,centerPoint:A??f??E??g,arcPoint:g??d.definitionPoint}}convertDiameterDimension(t,i){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"first_arc_pt"),E=n.dwg_dynapi_entity_data(t,"leader_len");return{subclassMarker:"AcDbDiametricDimension",...i,...d,centerPoint:_,leaderLength:E}}convertOrdinateDimension(t,i){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"feature_location_pt"),E=n.dwg_dynapi_entity_data(t,"leader_endpt");return{subclassMarker:"AcDbOrdinateDimension",...i,...d,subDefinitionPoint1:_,subDefinitionPoint2:E}}convertRadiusDimension(t,i){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"first_arc_pt"),E=n.dwg_dynapi_entity_data(t,"leader_len");return{subclassMarker:"AcDbRadialDimension",...i,...d,centerPoint:_,leaderLength:E}}convertEllise(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"center"),_=n.dwg_dynapi_entity_data(t,"sm_axis"),E=n.dwg_dynapi_entity_data(t,"extrusion"),f=n.dwg_dynapi_entity_data(t,"axis_ratio"),g=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:E,axisRatio:f,startAngle:g,endAngle:A}}convertHatch(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"extrusion"),_=n.dwg_dynapi_entity_data(t,"name"),E=n.dwg_dynapi_entity_data(t,"is_solid_fill"),f=n.dwg_dynapi_entity_data(t,"is_associative"),g=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,g),I=n.dwg_dynapi_entity_data(t,"style"),p=n.dwg_dynapi_entity_data(t,"pattern_type"),v=n.dwg_dynapi_entity_data(t,"angle"),D=n.dwg_dynapi_entity_data(t,"scale_spacing"),C=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,C),N=n.dwg_dynapi_entity_data(t,"pixel_size"),G=n.dwg_dynapi_entity_data(t,"num_seeds"),b=n.dwg_dynapi_entity_data(t,"seeds"),k=n.dwg_ptr_to_point2d_array(b,G),U={...i,extrusionDirection:d,patternName:_,solidFill:E?vn.SolidFill:vn.PatternFill,associativity:f?mn.Associative:mn.NonAssociative,numberOfBoundaryPaths:g,boundaryPaths:this.convertHatchBoundaryPaths(P),hatchStyle:I,patternType:p,patternAngle:v,patternScale:D,numberOfDefinitionLines:C,definitionLines:S.map(et=>({angle:et.angle,base:et.pt0,offset:et.offset,numberOfDashLengths:et.dashes.length,dashLengths:et.dashes})),pixelSize:N,numberOfSeedPoints:G,seedPoints:k};if(n.dwg_dynapi_entity_data(t,"is_gradient_fill")>0){const et=n.dwg_dynapi_entity_data(t,"gradient_name"),ft=n.dwg_dynapi_entity_data(t,"gradient_angle"),Z=n.dwg_dynapi_entity_data(t,"gradient_shift"),Et=n.dwg_dynapi_entity_data(t,"gradient_tint"),ut=n.dwg_dynapi_entity_data(t,"single_color_gradient"),ht=n.dwg_dynapi_entity_data(t,"colors"),mt=n.dwg_ptr_to_hatch_gradient_color_array(ht,ut==1?1:2);return{type:"HATCH",...U,gradientFlag:ur.Gradient,gradientColorFlag:ut==1?Cn.OneColor:Cn.TwoColor,gradientName:et,gradientRotation:ft,gradientDefinition:Z,colorTint:Et,gradientColors:mt}}else return{type:"HATCH",...U}}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(E=>{if(E.curve_type==Fe.Line)return{type:Be.Line,start:E.first_endpoint,end:E.second_endpoint};if(E.curve_type==Fe.CircularArc)return{type:Be.Circular,center:E.center,radius:E.radius,startAngle:E.start_angle,endAngle:E.end_angle,isCCW:E.is_ccw};if(E.curve_type==Fe.EllipticArc)return{type:Be.Elliptic,center:E.center,end:E.endpoint,lengthOfMinorAxis:E.minor_major_ratio,startAngle:E.start_angle,endAngle:E.end_angle,isCCW:E.is_ccw};if(E.curve_type==Fe.Spline)return{type:Be.Spline,degree:E.degree,isRational:E.is_rational,isPeriodic:E.is_periodic,numberOfKnots:E.num_knots,numberOfControlPoints:E.num_control_points,knots:E.knots,controlPoints:E.control_points,numberOfFitData:E.num_fitpts,fitDatum:E.fitpts,startTangent:E.start_tangent,endTangent:E.end_tangent}}).filter(E=>E!=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"),E=n.dwg_dynapi_entity_data(t,"uvec"),f=n.dwg_dynapi_entity_data(t,"vvec"),g=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"),I=n.dwg_dynapi_entity_data(t,"brightness"),p=n.dwg_dynapi_entity_data(t,"contrast"),v=n.dwg_dynapi_entity_data(t,"fade"),D=n.dwg_dynapi_entity_data(t,"clip_mode"),C=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"),N=n.dwg_ptr_to_point3d_array(S,m),G=n.dwg_dynapi_entity_data(t,"imagedef"),b=n.dwg_ref_get_id(G)??"",k=n.dwg_dynapi_entity_data(t,"imagedefreactor"),U=n.dwg_ref_get_id(k)??"";return{type:"IMAGE",...i,version:d,position:_,uPixel:E,vPixel:f,imageSize:g,imageDefHandle:b,flags:A,clipping:P,brightness:I,contrast:p,fade:v,imageDefReactorHandle:U,clippingBoundaryType:C,countBoundaryPoints:m,clippingBoundaryPath:N,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 E=n.dwg_dynapi_entity_data(t,"ins_pt"),f=n.dwg_dynapi_entity_data(t,"scale"),g=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"),I=n.dwg_dynapi_entity_data(t,"col_spacing"),p=n.dwg_dynapi_entity_data(t,"row_spacing"),v=n.dwg_dynapi_entity_data(t,"extrusion"),D=n.dwg_entity_insert_get_attribs(t),C=[];return D.forEach(m=>{const S=n.dwg_object_to_entity(m),N=n.dwg_object_to_entity_tio(m);if(S&&N){const G=this.getCommonAttrs(S);n.dwg_object_get_fixedtype(m)==Y.DWG_TYPE_ATTRIB&&C.push(this.convertAttrib(N,G))}}),{type:"INSERT",...i,name:d,insertionPoint:E,xScale:f?f.x:1,yScale:f?f.y:1,zScale:f?f.z:1,rotation:g,columnCount:A,rowCount:P,columnSpacing:I,rowSpacing:p,extrusionDirection:v,attribs:C}}convertLeader(t,i){const n=this.libredwg,d=n.dwg_entity_mtext_get_style_name(t),_=n.dwg_dynapi_entity_data(t,"arrowhead_type"),E=n.dwg_dynapi_entity_data(t,"path_type"),f=n.dwg_dynapi_entity_data(t,"annot_type"),g=n.dwg_dynapi_entity_data(t,"hookline_dir"),A=n.dwg_dynapi_entity_data(t,"hookline_on"),P=n.dwg_dynapi_entity_data(t,"box_height"),I=n.dwg_dynapi_entity_data(t,"box_width"),p=n.dwg_dynapi_entity_data(t,"num_points"),v=n.dwg_dynapi_entity_data(t,"points"),D=p>0?n.dwg_ptr_to_point3d_array(v,p):[],C=n.dwg_dynapi_entity_data(t,"byblock_color"),m=n.dwg_dynapi_entity_data(t,"extrusion"),S=n.dwg_dynapi_entity_data(t,"x_direction"),N=n.dwg_dynapi_entity_data(t,"inspt_offset"),G=n.dwg_dynapi_entity_data(t,"endptproj");return{type:"LEADER",...i,styleName:d,isArrowheadEnabled:_>0,isSpline:E>0,leaderCreationFlag:f,isHooklineSameDirection:g>0,isHooklineExists:A>0,textHeight:P,textWidth:I,numberOfVertices:p,vertices:D,byBlockColor:C,normal:m,horizontalDirection:S,offsetFromBlock:N,offsetFromAnnotation:G}}convertLine(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"start"),_=n.dwg_dynapi_entity_data(t,"end"),E=n.dwg_dynapi_entity_data(t,"thickness"),f=n.dwg_dynapi_entity_data(t,"extrusion");return{type:"LINE",...i,thickness:E,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"),E=n.dwg_dynapi_entity_data(t,"const_width"),f=n.dwg_dynapi_entity_data(t,"elevation"),g=n.dwg_dynapi_entity_data(t,"thickness"),A=n.dwg_dynapi_entity_data(t,"extrusion"),P=[],I=n.dwg_dynapi_entity_data(t,"num_points"),p=n.dwg_dynapi_entity_data(t,"points"),v=n.dwg_ptr_to_point2d_array(p,I),D=n.dwg_dynapi_entity_data(t,"num_bulges"),C=n.dwg_dynapi_entity_data(t,"bulges"),m=n.dwg_ptr_to_double_array(C,D),S=n.dwg_dynapi_entity_data(t,"num_widths")??0,N=n.dwg_dynapi_entity_data(t,"widths"),G=S>0&&N?n.dwg_ptr_to_double_array(N,S*2):[];return v.forEach((b,k)=>{const U={id:k,x:b.x,y:b.y,bulge:m.length>k?m[k]:0};k<S&&G.length>=(k+1)*2&&(U.startWidth=G[k*2],U.endWidth=G[k*2+1]),P.push(U)}),{type:"LWPOLYLINE",...i,numberOfVertices:d,flag:_,constantWidth:E,elevation:f,thickness:g,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"),E=n.dwg_dynapi_entity_data(t,"justification"),f=n.dwg_dynapi_entity_data(t,"base_point"),g=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"),I=n.dwg_dynapi_entity_data(t,"verts"),p=n.dwg_ptr_to_mline_vertex_array(I,P),v=[];return p.forEach(D=>{v.push({vertex:D.vertex,vertexDirection:D.vertex_direction,miterDirection:D.miter_direction,numberOfLines:D.num_lines,lines:D.lines.map(C=>({numberOfSegmentParams:C.num_segparms,segmentParams:C.segparms,numberOfAreaFillParams:C.num_areafillparms,areaFillParams:C.areafillparms}))})}),{type:"MLINE",...i,scale:d,flags:_,justification:E,startPoint:f,extrusionDirection:g,numberOfLines:A,numberOfVertices:P,vertices:v,mlineStyle:""}}convertMultiLeader(t,i){const n=this.libredwg,d=K=>n.dwg_dynapi_entity_data(t,K),_=(K,j,Qt)=>n.dwg_dynapi_subclass_data(K,j,Qt),E=K=>n.dwg_ref_get_id(K),f=K=>K>0,g=K=>K!=null?hr(K):void 0,A=d("class_version"),P=E(d("mleaderstyle")),I=d("flags"),p=d("type"),v=g(d("line_color")),D=E(d("line_ltype")),C=d("line_linewt"),m=f(d("has_landing")),S=f(d("has_dogleg")),N=d("landing_dist"),G=E(d("arrow_handle")),b=d("arrow_size"),k=d("style_content"),U=E(d("text_style")),J=d("text_left"),et=d("text_right"),ft=d("text_angletype"),Z=d("text_alignment"),Et=g(d("text_color")),ut=f(d("has_text_frame")),ht=E(d("block_style")),mt=g(d("block_color")),Gt=d("block_scale"),Wt=d("block_rotation"),Mt=d("style_attachment"),bt=f(d("is_annotative")),dt=f(d("is_neg_textdir")),O=d("ipe_alignment");let tt=d("justification");const z=d("attach_dir"),xt=d("attach_bottom"),kt=d("attach_top"),gt=d("scale_factor"),B=d("num_arrowheads"),$t=d("arrowheads"),lt=n.dwg_dynapi_subclass_size("LEADER_ArrowHead"),Dt=[];for(let K=0;K<B;K++){const j=$t+K*lt;Dt.push({index:_(j,"LEADER_ArrowHead","is_default"),handle:E(_(j,"LEADER_ArrowHead","arrowhead"))??""})}const Vt=d("num_blocklabels"),ae=d("blocklabels"),Ht=n.dwg_dynapi_subclass_size("LEADER_BlockLabel"),Ot=[];for(let K=0;K<Vt;K++){const j=ae+K*Ht;Ot.push({id:E(_(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"),Xt=_(q,"MLEADER_AnnotContext","scale_factor"),he=_(q,"MLEADER_AnnotContext","content_base"),Bt=_(q,"MLEADER_AnnotContext","landing_gap"),Re=_(q,"MLEADER_AnnotContext","attach_dir"),ge=_(q,"MLEADER_AnnotContext","text_height"),Se=_(q,"MLEADER_AnnotContext","arrow_size"),Kt=_(q,"MLEADER_AnnotContext","text_left"),Rt=_(q,"MLEADER_AnnotContext","text_right"),X=_(q,"MLEADER_AnnotContext","text_angletype"),Le=_(q,"MLEADER_AnnotContext","text_alignment"),zt=f(_(q,"MLEADER_AnnotContext","has_content_txt")),Ct=f(_(q,"MLEADER_AnnotContext","has_content_blk")),Ae=_(q,"MLEADER_AnnotContext","base"),Te=_(q,"MLEADER_AnnotContext","base_dir"),St=_(q,"MLEADER_AnnotContext","base_vert"),ie=f(_(q,"MLEADER_AnnotContext","is_normal_reversed"));let Lt,oe,Jt,Pe,At,se,x,ye,_e,Zt,pe,Ie,Tt,Yt,ve,me,de,Ce,le,$e,l;if(zt){const K=_(V,"MLEADER_Content_MText","alignment");K!=null&&K!==0&&(tt=K),oe=_(V,"MLEADER_Content_MText","normal"),x=_(V,"MLEADER_Content_MText","location"),Jt=_(V,"MLEADER_Content_MText","rotation"),ye=_(V,"MLEADER_Content_MText","direction"),Pe=_(V,"MLEADER_Content_MText","width"),At=_(V,"MLEADER_Content_MText","line_spacing_factor"),se=_(V,"MLEADER_Content_MText","line_spacing_style"),Lt=_(V,"MLEADER_Content_MText","flow"),_e=g(_(V,"MLEADER_Content_MText","bg_color")),Zt=_(V,"MLEADER_Content_MText","bg_scale"),pe=_(V,"MLEADER_Content_MText","bg_transparency"),Tt=f(_(V,"MLEADER_Content_MText","is_bg_fill")),Ie=f(_(V,"MLEADER_Content_MText","is_bg_mask_fill")),Yt=_(V,"MLEADER_Content_MText","col_type"),ve=f(_(V,"MLEADER_Content_MText","is_height_auto")),me=_(V,"MLEADER_Content_MText","col_width"),de=_(V,"MLEADER_Content_MText","col_gutter"),Ce=f(_(V,"MLEADER_Content_MText","is_col_flow_reversed"));const j=_(V,"MLEADER_Content_MText","num_col_sizes"),Qt=_(V,"MLEADER_Content_MText","col_sizes");j>0&&(le=n.dwg_ptr_to_double_array(Qt,j)[0]),$e=f(_(V,"MLEADER_Content_MText","word_break")),l=_(V,"MLEADER_Content_MText","default_text")}let qt;if(Ct){const K=_(V,"MLEADER_Content_Block","transform");qt={blockContentId:E(_(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:g(_(V,"MLEADER_Content_Block","color")),transformationMatrix:K?n.dwg_ptr_to_double_array(K,16):void 0}}const Q=_(q,"MLEADER_AnnotContext","num_leaders"),_n=_(q,"MLEADER_AnnotContext","leaders"),dn=n.dwg_dynapi_subclass_size("LEADER_Node"),ln=n.dwg_dynapi_subclass_size("LEADER_Line"),Ve=n.dwg_dynapi_subclass_size("LEADER_Break"),Ye=[];for(let K=0;K<Q;K++){const j=_n+K*dn,Qt=f(_(j,"LEADER_Node","has_lastleaderlinepoint")),st=f(_(j,"LEADER_Node","has_dogleg")),jt=_(j,"LEADER_Node","num_breaks"),Ft=_(j,"LEADER_Node","breaks"),te=[];for(let it=0;it<jt;it++){const wt=Ft+it*Ve;te.push({start:_(wt,"LEADER_Break","start"),end:_(wt,"LEADER_Break","end")})}const we=_(j,"LEADER_Node","num_lines"),$=_(j,"LEADER_Node","lines"),He=[];for(let it=0;it<we;it++){const wt=$+it*ln,Xe=_(wt,"LEADER_Line","num_points"),cn=_(wt,"LEADER_Line","points"),En=Xe>0?n.dwg_ptr_to_point3d_array(cn,Xe):[],Ne=_(wt,"LEADER_Line","num_breaks"),Ge=_(wt,"LEADER_Line","breaks"),De=[];for(let We=0;We<Ne;We++){const Me=Ge+We*Ve;De.push({start:_(Me,"LEADER_Break","start"),end:_(Me,"LEADER_Break","end")})}He.push({vertices:En,leaderLineIndex:_(wt,"LEADER_Line","line_index"),breaks:De.length>0?De:void 0})}Ye.push({lastLeaderLinePoint:Qt?_(j,"LEADER_Node","lastleaderlinepoint"):void 0,lastLeaderLinePointSet:Qt,doglegVector:st?_(j,"LEADER_Node","dogleg_vector"):void 0,doglegVectorSet:st,doglegLength:_(j,"LEADER_Node","dogleg_length"),breaks:te.length>0?te:void 0,leaderBranchIndex:_(j,"LEADER_Node","branch_index"),leaderLines:He})}return{type:"MULTILEADER",...i,subclassMarker:"AcDbMLeader",version:A,leaderStyleId:P,propertyOverrideFlag:I,leaderLineType:p,leaderLineColor:v,leaderLineTypeId:D,leaderLineWeight:C,landingEnabled:m,doglegEnabled:S,doglegLength:N,arrowheadId:G,arrowheadSize:b||Se,contentType:k,textStyleId:U,textLeftAttachmentType:J||Kt,textRightAttachmentType:et||Rt,textAngleType:ft||X,textAlignmentType:Z||Le,textColor:Et,textFrameEnabled:ut,landingGap:Bt,textAttachment:Re,textFlowDirection:Lt,blockContentId:ht,blockContentColor:mt,blockContentScale:Gt,blockContentRotation:Wt,blockContentConnectionType:Mt,annotativeScaleEnabled:bt,arrowheadOverrides:Dt.length>0?Dt:void 0,blockAttributes:Ot.length>0?Ot:void 0,textDirectionNegative:dt,textAlignInIPE:O,textAttachmentPoint:tt,textAttachmentDirection:z,bottomTextAttachmentDirection:xt,topTextAttachmentDirection:kt,contentScale:gt||Xt,contentBasePosition:he,normal:oe,textHeight:ge,textRotation:Jt,textWidth:Pe,textLineSpacingFactor:At,textLineSpacingStyle:se,textAnchor:x,textDirection:ye,textBackgroundColor:_e,textBackgroundScaleFactor:Zt,textBackgroundTransparency:pe,textBackgroundColorOn:Ie,textFillOn:Tt,textColumnType:Yt,textUseAutoHeight:ve,textColumnWidth:me,textColumnGutterWidth:de,textColumnFlowReversed:Ce,textColumnHeight:le,textUseWordBreak:$e,textContent:l,hasMText:zt,hasBlock:Ct,blockContent:qt,planeOrigin:Ae,planeXAxisDirection:Te,planeYAxisDirection:St,planeNormalReversed:ie,leaderSections:Ye.length>0?Ye:void 0}}convertOle2Frame(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"oleversion"),_=n.dwg_dynapi_entity_data(t,"oleclient"),E=n.dwg_dynapi_entity_data(t,"data_size");let f=n.dwg_dynapi_entity_data(t,"pt1"),g=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"),I=n.dwg_dynapi_entity_data(t,"mode"),p=n.dwg_entity_ole2frame_get_data(t),v=p?Ue(p):"";if(p){const D=vi(p);D&&(f=D.upperLeft,g=D.lowerRight)}return{type:"OLE2FRAME",...i,oleVersion:d,oleClient:_,dataSize:E,leftUpPoint:f,rightDownPoint:g,lockAspect:A,oleObjectType:P,tileModeDescriptor:I,binaryData:v}}convertOleFrame(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"flag"),_=n.dwg_dynapi_entity_data(t,"mode"),E=n.dwg_dynapi_entity_data(t,"data_size"),f=n.dwg_entity_oleframe_get_data(t),g=f?Ue(f):"";return{type:"OLEFRAME",...i,flag:d,mode:_,dataSize:E,binaryData:g}}convertMText(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"ins_pt"),_=n.dwg_dynapi_entity_data(t,"text_height"),E=n.dwg_dynapi_entity_data(t,"rect_height"),f=n.dwg_dynapi_entity_data(t,"rect_width"),g=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"),I=n.dwg_dynapi_entity_data(t,"flow_dir"),p=n.dwg_dynapi_entity_data(t,"text"),v=n.dwg_entity_mtext_get_style_name(t),D=n.dwg_dynapi_entity_data(t,"extrusion"),C=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"),N=n.dwg_dynapi_entity_data(t,"bg_fill_flag"),G=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"),U=n.dwg_dynapi_entity_data(t,"column_type"),J=n.dwg_dynapi_entity_data(t,"flow_reversed"),et=n.dwg_dynapi_entity_data(t,"auto_height"),ft=n.dwg_dynapi_entity_data(t,"column_width"),Z=n.dwg_dynapi_entity_data(t,"gutter"),Et=n.dwg_dynapi_entity_data(t,"num_column_heights"),ut=n.dwg_dynapi_entity_data(t,"column_heights"),ht=n.dwg_ptr_to_double_array(ut,Et);return{type:"MTEXT",...i,insertionPoint:d,textHeight:_,rectHeight:E,rectWidth:f,extentsHeight:A,extentsWidth:g,attachmentPoint:P,drawingDirection:I,text:p,styleName:v,extrusionDirection:D,direction:C,rotation:0,lineSpacingStyle:m,lineSpacing:S,backgroundFill:N,fillBoxScale:G,backgroundFillColor:b.rgb,backgroundFillTransparency:k,columnType:U,columnFlowReversed:J,columnAutoHeight:et,columnWidth:ft,columnGutter:Z,columnHeightCount:Et,columnHeights:ht}}convertPoint(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"x"),_=n.dwg_dynapi_entity_data(t,"y"),E=n.dwg_dynapi_entity_data(t,"z"),f=n.dwg_dynapi_entity_data(t,"thickness"),g=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:E},thickness:f,extrusionDirection:g,angle:A}}convertPolyline2d(t,i,n){const d=this.libredwg,_=d.dwg_dynapi_entity_data(t,"flag"),E=d.dwg_dynapi_entity_data(t,"curve_type"),f=d.dwg_dynapi_entity_data(t,"start_width"),g=d.dwg_dynapi_entity_data(t,"end_width"),A=d.dwg_dynapi_entity_data(t,"elevation"),P=d.dwg_dynapi_entity_data(t,"thickness"),I=d.dwg_dynapi_entity_data(t,"extrusion"),p=d.dwg_entity_polyline_2d_get_vertices(n)??[];return{type:"POLYLINE2D",...i,flag:_,smoothType:E,startWidth:f,endWidth:g,elevation:A,thickness:P,extrusionDirection:I,vertices:p.map(v=>({x:v.point.x,y:v.point.y,z:v.point.z,startWidth:v.start_width,endWidth:v.end_width,bulge:v.bulge,flag:v.flag,tangentDirection:v.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"),E=d.dwg_dynapi_entity_data(t,"curve_type"),f=d.dwg_dynapi_entity_data(t,"start_width"),g=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:E,startWidth:f,endWidth:g,extrusionDirection:A,vertices:P.map(I=>({x:I.point.x,y:I.point.y,z:I.point.z,flag:I.flag}))}}convertProxyEntity(t,i,n){const d=this.libredwg,_=d.dwg_dynapi_entity_data(t,"proxy_id"),E=d.dwg_dynapi_entity_data(t,"class_id"),f=d.dwg_dynapi_entity_data(t,"data_numbits"),g=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"),I=d.dwg_entity_get_preview(n),p=(I==null?void 0:I.length)??0,v=d.dwg_entity_proxy_entity_get_entity_data(t),D=I?Ue(I):void 0,C=v?Ue(v):void 0;let m;if(P>0){const G=d.dwg_dynapi_entity_data(t,"objids");G&&(m=d.dwg_ptr_to_object_ref_array(G,P).map(k=>It(k.absolute_ref)))}const S=this.getOriginalDxfName(E),N={type:"ACAD_PROXY_ENTITY",subclassMarker:"AcDbProxyEntity",...i,proxyEntityClassId:_||498,applicationEntityClassId:E};return S&&(N.originalDxfName=S),p>0&&(N.graphicsDataSize=p),D&&(N.graphicsData=D),f>0&&(N.entityDataSize=f),C&&(N.entityData=C),m&&m.length>0&&(N.linkedObjectIds=m),g&&(N.objectDrawingFormat=g),(A===0||A===1)&&(N.originalDataFormat=A),N}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"),E=n.dwg_dynapi_entity_data(t,"name"),f=n.dwg_dynapi_entity_data(t,"vert_dir"),g=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"),I=n.dwg_dynapi_entity_data(t,"indicator_color"),p=n.dwg_dynapi_entity_data(t,"num_verts"),v=n.dwg_dynapi_entity_data(t,"verts"),D=p>0?n.dwg_ptr_to_point3d_array(v,p):[],C=n.dwg_dynapi_entity_data(t,"num_blverts"),m=n.dwg_dynapi_entity_data(t,"blverts"),S=C>0?n.dwg_ptr_to_point3d_array(m,C):[],N=n.dwg_dynapi_entity_data(t,"geometrySettingHardId"),G=n.dwg_ref_get_handle_absolute_ref(N)??0n;return{type:"SECTION",...i,state:d,flags:_,name:E,verticalDirection:f,topHeight:g,bottomHeight:A,indicatorTransparency:P,indicatorColor:I.rgb,numberOfVertices:p,vertices:D,numberOfBackLineVertices:C,backLineVertices:S,geometrySettingHardId:G}}convertShape(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"ins_pt"),_=n.dwg_dynapi_entity_data(t,"scale"),E=n.dwg_dynapi_entity_data(t,"rotation"),f=n.dwg_dynapi_entity_data(t,"width_factor"),g=n.dwg_dynapi_entity_data(t,"oblique_angle"),A=n.dwg_dynapi_entity_data(t,"thickness"),P=n.dwg_dynapi_entity_data(t,"extrusion"),I=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:I,styleName:p,rotation:E,xScale:f,obliqueAngle:g,extrusionDirection:P}}convertSolid(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"corner1"),_=n.dwg_dynapi_entity_data(t,"corner2"),E=n.dwg_dynapi_entity_data(t,"corner3"),f=n.dwg_dynapi_entity_data(t,"corner4"),g=n.dwg_dynapi_entity_data(t,"thickness"),A=n.dwg_dynapi_entity_data(t,"extrusion");return{type:"SOLID",...i,corner1:d,corner2:_,corner3:E,corner4:f,thickness:g,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"),E=n.dwg_dynapi_entity_data(t,"knot_tol"),f=n.dwg_dynapi_entity_data(t,"num_knots"),g=n.dwg_dynapi_entity_data(t,"knots"),A=n.dwg_ptr_to_double_array(g,f),P=n.dwg_dynapi_entity_data(t,"fit_tol"),I=n.dwg_dynapi_entity_data(t,"num_fit_pts"),p=n.dwg_dynapi_entity_data(t,"fit_pts"),v=n.dwg_ptr_to_point3d_array(p,I),D=n.dwg_dynapi_entity_data(t,"weighted"),C=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"),N=n.dwg_ptr_to_point4d_array(S,m),G=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:I,knotTolerance:E,controlTolerance:C,fitTolerance:P,startTangent:G,endTangent:b,knots:A,weights:D?N.map(k=>k.w):void 0,controlPoints:N.map(k=>({x:k.x,y:k.y,z:k.z})),fitPoints:v}}convertTable(t,i){const n=this.libredwg,d=n.dwg_dynapi_subclass_data(t,"ldata","name"),_=n.dwg_dynapi_entity_data(t,"ins_pt"),E=n.dwg_dynapi_entity_data(t,"horiz_direction"),f=n.dwg_dynapi_entity_data(t,"flag_for_table_value"),g=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"),I=n.dwg_ptr_to_double_array(P,g),p=n.dwg_dynapi_entity_data(t,"col_widths"),v=n.dwg_ptr_to_double_array(p,A),D=n.dwg_dynapi_entity_data(t,"tablestyle"),C=n.dwg_ref_get_id(D)??"",m=n.dwg_dynapi_entity_data(t,"block_header"),S=n.dwg_ref_get_id(m)??"",N=n.dwg_dynapi_entity_data(t,"table_flag_override"),G=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"),U=n.dwg_dynapi_entity_data(t,"num_cells"),J=n.dwg_dynapi_entity_data(t,"cells"),et=n.dwg_ptr_to_table_cell_array(J,U);return{type:"ACAD_TABLE",...i,name:d,startPoint:_,directionVector:E,tableValue:f,rowCount:g,columnCount:A,overrideFlag:N,borderColorOverrideFlag:G,borderLineWeightOverrideFlag:b,borderVisibilityOverrideFlag:k,rowHeightArr:I,columnWidthArr:v,tableStyleId:C,blockRecordHandle:S,cells:this.convertTableCells(et),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 E;return String(((E=_.attdef)==null?void 0:E.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"),E=i.dwg_dynapi_entity_data(t,"alignment_pt"),f=i.dwg_dynapi_entity_data(t,"rotation"),g=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"),I=i.dwg_entity_text_get_style_name(t),p=i.dwg_dynapi_entity_data(t,"generation"),v=i.dwg_dynapi_entity_data(t,"horiz_alignment"),D=i.dwg_dynapi_entity_data(t,"vert_alignment"),C=i.dwg_dynapi_entity_data(t,"extrusion");return{text:n,thickness:d,startPoint:_,endPoint:E,textHeight:g,rotation:f,xScale:A,obliqueAngle:P,styleName:I,generationFlag:p,halign:v,valign:D,extrusionDirection:C}}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"),E=n.dwg_dynapi_entity_data(t,"x_direction"),f=n.dwg_dynapi_entity_data(t,"extrusion"),g=n.dwg_entity_get_dimstyle_name(t);return{type:"TOLERANCE",...i,styleName:g,insertionPoint:d,text:_,extrusionDirection:f,xAxisDirection:E}}convertViewport(t,i){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"center"),_=n.dwg_dynapi_entity_data(t,"width"),E=n.dwg_dynapi_entity_data(t,"height"),f=n.dwg_dynapi_entity_data(t,"on_off"),g=n.dwg_dynapi_entity_data(t,"VIEWCTR"),A=n.dwg_dynapi_entity_data(t,"SNAPBASE"),P=n.dwg_dynapi_entity_data(t,"SNAPUNIT"),I=n.dwg_dynapi_entity_data(t,"GRIDUNIT"),p=n.dwg_dynapi_entity_data(t,"VIEWDIR"),v=n.dwg_dynapi_entity_data(t,"view_target"),D=n.dwg_dynapi_entity_data(t,"lens_length"),C=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"),N=n.dwg_dynapi_entity_data(t,"SNAPANG"),G=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 U;if(k>0){const Xt=n.dwg_dynapi_entity_data(t,"frozen_layers");Xt&&(U=n.dwg_ptr_to_object_ref_ptr_array(Xt,k).map(Bt=>n.dwg_ref_get_id(Bt)).filter(Bt=>!!Bt))}const J=n.dwg_dynapi_entity_data(t,"status_flag"),et=n.dwg_dynapi_entity_data(t,"clip_boundary"),ft=n.dwg_ref_get_id(et),Z=n.dwg_dynapi_entity_data(t,"style_sheet"),Et=n.dwg_dynapi_entity_data(t,"render_mode"),ut=n.dwg_dynapi_entity_data(t,"UCSVP"),ht=n.dwg_dynapi_entity_data(t,"ucsorg"),mt=n.dwg_dynapi_entity_data(t,"ucsxdir"),Gt=n.dwg_dynapi_entity_data(t,"ucsydir"),Wt=n.dwg_dynapi_entity_data(t,"named_ucs"),Mt=n.dwg_ref_get_id(Wt),bt=n.dwg_dynapi_entity_data(t,"base_ucs"),dt=n.dwg_ref_get_id(bt),O=n.dwg_dynapi_entity_data(t,"UCSORTHOVIEW"),tt=n.dwg_dynapi_entity_data(t,"ucs_elevation"),z=n.dwg_dynapi_entity_data(t,"shadeplot_mode"),xt=n.dwg_dynapi_entity_data(t,"use_default_lights"),kt=n.dwg_dynapi_entity_data(t,"default_lighting_type"),gt=n.dwg_dynapi_entity_data(t,"brightness"),B=n.dwg_dynapi_entity_data(t,"contrast"),$t=n.dwg_dynapi_entity_data(t,"grid_major"),lt=n.dwg_dynapi_entity_data(t,"background"),Dt=n.dwg_ref_get_id(lt),Vt=n.dwg_dynapi_entity_data(t,"shadeplot"),ae=n.dwg_ref_get_id(Vt),Ht=n.dwg_dynapi_entity_data(t,"visualstyle"),Ot=n.dwg_ref_get_id(Ht),q=n.dwg_dynapi_entity_data(t,"sun"),V=n.dwg_ref_get_id(q);return{type:"VIEWPORT",...i,viewportCenter:d,width:_,height:E,status:f,viewportId:0,displayCenter:g,snapBase:A,snapSpacing:P,gridSpacing:I,viewDirection:p,targetPoint:v,perspectiveLensLength:D,frontClipZ:C,backClipZ:m,viewHeight:S,snapAngle:N,viewTwistAngle:G,circleZoomPercent:b,frozenLayerIds:U,statusBitFlags:J,clippingBoundaryId:ft,sheetName:Z,renderMode:Et,ucsPerViewport:ut,ucsOrigin:ht,ucsXAxis:mt,ucsYAxis:Gt,ucsId:Mt??"",ucsBaseId:dt??"",orthographicType:O,elevation:tt,shadePlotMode:z,majorGridFrequency:$t,backgroundId:Dt??"",shadePlotId:ae??"",visualStyleId:Ot??"",isDefaultLighting:!!xt,defaultLightingType:kt,brightness:gt,contrast:B,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"),E=n.dwg_dynapi_entity_data(t,"uvec"),f=n.dwg_dynapi_entity_data(t,"vvec"),g=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"),I=n.dwg_dynapi_entity_data(t,"brightness"),p=n.dwg_dynapi_entity_data(t,"contrast"),v=n.dwg_dynapi_entity_data(t,"fade"),D=n.dwg_dynapi_entity_data(t,"clip_mode"),C=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"),N=n.dwg_ptr_to_point2d_array(S,m),G=n.dwg_dynapi_entity_data(t,"imagedef"),b=n.dwg_ref_get_absref(G)??0,k=n.dwg_dynapi_entity_data(t,"imagedefreactor"),U=n.dwg_ref_get_absref(k)??0;return{type:"WIPEOUT",...i,version:d,position:_,uPixel:E,vPixel:f,imageSize:g,imageDefHandle:b,flags:A,clipping:P,brightness:I,contrast:p,fade:v,imageDefReactorHandle:U,clippingBoundaryType:C,countBoundaryPoints:m,clippingBoundaryPath:N,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"),E=i.dwg_dynapi_entity_data(t,"text_midpt"),f=i.dwg_dynapi_entity_data(t,"attachmentPoint"),g=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"),I=i.dwg_dynapi_entity_data(t,"act_measurement"),p=i.dwg_dynapi_entity_data(t,"user_text"),v=i.dwg_dynapi_entity_data(t,"text_rotation"),D=i.dwg_dynapi_entity_data(t,"ins_rotation"),C=i.dwg_dynapi_entity_data(t,"extrusion"),m=i.dwg_entity_get_dimstyle_name(t);return{type:"DIMENSION",version:n,name:d,definitionPoint:_,textPoint:E,dimensionType:g,attachmentPoint:f,textLineSpacingStyle:A,textLineSpacingFactor:P||1,measurement:I,text:p,textRotation:v,ocsRotation:D,extrusionDirection:C,styleName:m}}getCommonAttrs(t){const i=this.libredwg,n=i.dwg_object_entity_get_color_object(t),d=n.method,_=n.index;let E;(d==194||(n.rgb>>>24&255)===194)&&(E=n.rgb&16777215);const f=this.getLayerName(t),g=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),I=this.getLtypeName(t),p=i.dwg_object_entity_get_line_weight(t),v=i.dwg_object_entity_get_ltype_scale(t),D=!i.dwg_object_entity_get_invisible(t),C=i.dwg_object_entity_get_xdata(t);return{handle:It(g.value),ownerDictionaryHardId:It(P.absolute_ref),ownerBlockRecordSoftId:It(A.absolute_ref),layer:f,color:E,colorIndex:_,colorName:n.name,lineType:I,lineweight:p,lineTypeScale:v,isVisible:D,transparency:n.alpha,transparencyType:n.alpha_type,xdata:C}}getLayerName(t){const n=this.libredwg.dwg_object_entity_get_layer_object_ref(t);return this.layers.get(It(n.handleref.value))??"0"}getLtypeName(t){const n=this.libredwg.dwg_object_entity_get_ltype_object_ref(t);return this.ltypes.get(It(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 mi(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 g=0;g<_;g++){const A=d.dwg_get_object(t,g);if(A){const P=this.safeObjectTio(A);if(P)switch(d.dwg_object_get_fixedtype(A)){case Y.DWG_TYPE_LAYER:{const p=this.convertLayer(P,A);n.tables.LAYER.entries.push(p),this.entityConverter.layers.set(p.handle,p.name)}break;case Y.DWG_TYPE_LTYPE:{const p=this.convertLineType(P,A);n.tables.LTYPE.entries.push(p),this.entityConverter.ltypes.set(p.handle,p.name)}break}}}for(let g=0;g<_;g++){const A=d.dwg_get_object(t,g);if(A){const P=this.safeObjectTio(A);if(P)switch(d.dwg_object_get_fixedtype(A)){case Y.DWG_TYPE_APPID:n.tables.APPID.entries.push(this.convertAppId(P));break;case Y.DWG_TYPE_BLOCK_HEADER:{const p=this.convertBlockRecord(P,A);n.tables.BLOCK_RECORD.entries.push(p),(Rn(p.name)||Ii(p.name))&&p.entities.forEach(v=>{n.entities.push(v),v.type==="INSERT"&&v.attribs.forEach(D=>{n.entities.push(D)})})}break;case Y.DWG_TYPE_DIMSTYLE:n.tables.DIMSTYLE.entries.push(this.convertDimStyle(P,A));break;case Y.DWG_TYPE_STYLE:n.tables.STYLE.entries.push(this.convertStyle(P,A));break;case Y.DWG_TYPE_VPORT:n.tables.VPORT.entries.push(this.convertViewport(P,A));break;case Y.DWG_TYPE_DICTIONARY:n.objects.DICTIONARY.push(this.convertDictionary(P,A));break;case Y.DWG_TYPE_IMAGEDEF:n.objects.IMAGEDEF.push(this.convertImageDef(P,A));break;case Y.DWG_TYPE_LAYERFILTER:n.objects.LAYER_FILTER.push(this.convertLayerFilter(P,A));break;case Y.DWG_TYPE_LAYER_INDEX:n.objects.LAYER_INDEX.push(this.convertLayerIndex(P,A));break;case Y.DWG_TYPE_LAYOUT:n.objects.LAYOUT.push(this.convertLayout(P,A));break;case Y.DWG_TYPE_MLEADERSTYLE:n.objects.MLEADERSTYLE.push(this.convertMLeaderStyle(P,A));break;case Y.DWG_TYPE_SPATIAL_FILTER:n.objects.SPATIAL_FILTER.push(this.convertSpatialFilter(P,A));break;case Y.DWG_TYPE_XRECORD:n.objects.XRECORD.push(this.convertXRecord(P,A));break}}}const E=n.entities.filter(g=>g.type==="VIEWPORT");E.sort((g,A)=>{const P=parseInt(g.handle,16),I=parseInt(A.handle,16);return P-I}),E.forEach((g,A)=>{g.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)!=Dn.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;gi.forEach(d=>{let _=d;(d=="DIMBLK"||d=="DIMBLK1"||d=="DIMBLK2")&&(_=_+"_T");let E=n.dwg_dynapi_header_data(t,_);d=="CELTYPE"||d=="CLAYER"||d=="CLAYER"||d=="DIMSTYLE"||d=="DIMTXSTY"||d=="TEXTSTYLE"?E=E?n.dwg_ref_get_object_name(E):"":d=="DRAGVS"&&(E=E?n.dwg_ref_get_absref(E)??2:2),i[d]=E})}convertClasses(t,i){const n=this.libredwg,d=n.dwg_get_num_classes(t);for(let _=0;_<d;_++){const E=n.dwg_get_class(t,_);i.push({dxfName:E.dxfname,cppName:E.cppname,appName:E.appname,capabilitiesFlag:E.proxyflag,instanceCount:E.num_instances,wasAProxyFlag:E.s_zombie,isAnEntityFlag:E.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 E=n.dwg_dynapi_entity_data(t,"num_owned"),f=n.dwg_dynapi_entity_data(t,"flag"),g=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"),I=n.dwg_dynapi_entity_data(t,"explodable"),p=n.dwg_dynapi_entity_data(t,"block_scaling"),v=n.dwg_dynapi_entity_data(t,"layout"),D=n.dwg_ref_get_id(v)??"";let C;const m=n.dwg_entity_block_header_get_preview(t);m&&m.length>0&&(C=Ue(m));let S=this.convertEntities(i,d.handle);if(!S||S.length==0){S=[];const N=n.dwg_dynapi_entity_data(t,"entities");if(N){const G=n.dwg_ptr_to_object_ref_ptr_array(N,E),b=this.entityConverter;for(let k=0;k<E;k++){const U=n.dwg_ref_get_object(G[k]),J=b.convert(U);J&&(J.ownerBlockRecordSoftId=d.handle,S.push(J))}}}if(this.orphanIndexDataPtr!=null){const N=this.convertOrphanOwnedEntities(this.orphanIndexDataPtr,i,d.handle,Rn(d.name)===!0);if(N.length)if(S.length===0)S=N;else{const G=new Set(S.map(b=>b.handle));for(const b of N)G.has(b.handle)||S.push(b)}}return{...d,flags:f,description:g,basePoint:A,layout:D,insertionUnits:P,explodability:I,scalability:p,bmpPreview:C,entities:S}}convertEntities(t,i){const n=this.libredwg,d=this.entityConverter,_=[];let E=n.get_first_owned_entity(t);for(;E;){const f=d.convert(E);f&&(f.ownerBlockRecordSoftId=i,_.push(f)),E=n.get_next_owned_entity(t,E)}return _}convertOrphanOwnedEntities(t,i,n,d){this.ensureOrphanEntityIndex(t);const E=(this.orphanEntitiesByBlock??new Map).get(i)??[],f=d&&this.ownerlessOrphanIndices?this.ownerlessOrphanIndices:[],g=E.length&&f.length?E.concat(f):E.length?E:f;if(g.length===0)return[];const A=this.libredwg,P=this.entityConverter,I=[];for(const p of g){const v=A.dwg_get_object(t,p),D=P.convert(v);D&&(D.ownerBlockRecordSoftId=n,I.push(D))}return I}ensureOrphanEntityIndex(t){if(this.orphanEntitiesByBlock)return;const i=this.libredwg,n=i.dwg_get_num_objects(t),d=new Map,_=[],E=[],f=new Map;for(let I=0;I<n;I++){const p=i.dwg_get_object(t,I);if(p){if(i.dwg_object_get_supertype(p)===Dn.DWG_SUPERTYPE_ENTITY)_.push(I),d.set(p,I);else if(i.dwg_object_get_fixedtype(p)===Y.DWG_TYPE_BLOCK_HEADER){E.push(p);const v=i.dwg_object_to_object_tio(p);v&&f.set(v,p)}}}const g=new Set;for(const I of E){let p=i.get_first_owned_entity(I),v=0;for(;p&&v++<=_.length;){const D=d.get(p);if(D===void 0||g.has(D))break;g.add(D),p=i.get_next_owned_entity(I,p)}}const A=new Map,P=[];for(const I of _){if(g.has(I))continue;const p=i.dwg_get_object(t,I),v=p?i.dwg_object_to_entity_tio(p):0,D=v?i.dwg_entity_owner(v):0,C=D?f.get(D)??0:0;if(C){const m=A.get(C);m?m.push(I):A.set(C,[I])}else P.push(I)}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"),E=n.dwg_dynapi_entity_data(t,"DIMLIM"),f=n.dwg_dynapi_entity_data(t,"DIMTIH"),g=n.dwg_dynapi_entity_data(t,"DIMTOH"),A=n.dwg_dynapi_entity_data(t,"DIMSE1"),P=n.dwg_dynapi_entity_data(t,"DIMSE2"),I=n.dwg_dynapi_entity_data(t,"DIMALT"),p=n.dwg_dynapi_entity_data(t,"DIMTOFL"),v=n.dwg_dynapi_entity_data(t,"DIMSAH"),D=n.dwg_dynapi_entity_data(t,"DIMTIX"),C=n.dwg_dynapi_entity_data(t,"DIMSOXD"),m=n.dwg_dynapi_entity_data(t,"DIMALTD"),S=n.dwg_dynapi_entity_data(t,"DIMZIN"),N=n.dwg_dynapi_entity_data(t,"DIMSD1"),G=n.dwg_dynapi_entity_data(t,"DIMSD2"),b=n.dwg_dynapi_entity_data(t,"DIMTOLJ"),k=n.dwg_dynapi_entity_data(t,"DIMJUST"),U=n.dwg_dynapi_entity_data(t,"DIMFIT"),J=n.dwg_dynapi_entity_data(t,"DIMUPT"),et=n.dwg_dynapi_entity_data(t,"DIMTZIN"),ft=n.dwg_dynapi_entity_data(t,"DIMALTZ"),Z=n.dwg_dynapi_entity_data(t,"DIMALTTZ"),Et=n.dwg_dynapi_entity_data(t,"DIMTAD"),ut=n.dwg_dynapi_entity_data(t,"DIMUNIT"),ht=n.dwg_dynapi_entity_data(t,"DIMAUNIT"),mt=n.dwg_dynapi_entity_data(t,"DIMDEC"),Gt=n.dwg_dynapi_entity_data(t,"DIMTDEC"),Wt=n.dwg_dynapi_entity_data(t,"DIMALTU"),Mt=n.dwg_dynapi_entity_data(t,"DIMALTTD"),bt=n.dwg_dynapi_entity_data(t,"DIMSCALE"),dt=n.dwg_dynapi_entity_data(t,"DIMASZ"),O=n.dwg_dynapi_entity_data(t,"DIMEXO"),tt=n.dwg_dynapi_entity_data(t,"DIMDLI"),z=n.dwg_dynapi_entity_data(t,"DIMEXE"),xt=n.dwg_dynapi_entity_data(t,"DIMRND"),kt=n.dwg_dynapi_entity_data(t,"DIMDLE"),gt=n.dwg_dynapi_entity_data(t,"DIMTP"),B=n.dwg_dynapi_entity_data(t,"DIMTM"),$t=n.dwg_dynapi_entity_data(t,"DIMFXL"),lt=n.dwg_dynapi_entity_data(t,"DIMJOGANG"),Dt=n.dwg_dynapi_entity_data(t,"DIMTFILL"),Vt=n.dwg_dynapi_entity_data(t,"DIMTFILLCLR"),ae=n.dwg_dynapi_entity_data(t,"DIMAZIN"),Ht=n.dwg_dynapi_entity_data(t,"DIMARCSYM"),Ot=n.dwg_dynapi_entity_data(t,"DIMTXT"),q=n.dwg_dynapi_entity_data(t,"DIMCEN"),V=n.dwg_dynapi_entity_data(t,"DIMTSZ"),Xt=n.dwg_dynapi_entity_data(t,"DIMALTF"),he=n.dwg_dynapi_entity_data(t,"DIMLFAC"),Bt=n.dwg_dynapi_entity_data(t,"DIMTVP"),Re=n.dwg_dynapi_entity_data(t,"DIMTFAC"),ge=n.dwg_dynapi_entity_data(t,"DIMGAP"),Se=n.dwg_dynapi_entity_data(t,"DIMPOST"),Kt=n.dwg_dynapi_entity_data(t,"DIMAPOST"),Rt=n.dwg_dynapi_entity_data(t,"DIMBLK_T"),X=n.dwg_dynapi_entity_data(t,"DIMBLK1_T"),Le=n.dwg_dynapi_entity_data(t,"DIMBLK2_T"),zt=n.dwg_dynapi_entity_data(t,"DIMALTRND"),Ct=n.dwg_dynapi_entity_data(t,"DIMCLRD_N"),Ae=n.dwg_dynapi_entity_data(t,"DIMCLRE_N"),Te=n.dwg_dynapi_entity_data(t,"DIMCLRT_N"),St=n.dwg_dynapi_entity_data(t,"DIMCLRD"),ie=n.dwg_dynapi_entity_data(t,"DIMCLRE"),Lt=n.dwg_dynapi_entity_data(t,"DIMCLRT"),oe=n.dwg_dynapi_entity_data(t,"DIMADEC"),Jt=n.dwg_dynapi_entity_data(t,"DIMFRAC"),Pe=n.dwg_dynapi_entity_data(t,"DIMLUNIT"),At=n.dwg_dynapi_entity_data(t,"DIMDSEP"),se=n.dwg_dynapi_entity_data(t,"DIMTMOVE"),x=n.dwg_dynapi_entity_data(t,"DIMATFIT"),ye=n.dwg_dynapi_entity_data(t,"DIMFXLON"),_e=n.dwg_dynapi_entity_data(t,"DIMTXTDIRECTION"),Zt=n.dwg_dynapi_entity_data(t,"DIMALTMZF"),pe=n.dwg_dynapi_entity_data(t,"DIMALTMZS"),Ie=n.dwg_dynapi_entity_data(t,"DIMMZF"),Tt=n.dwg_dynapi_entity_data(t,"DIMMZS"),Yt=n.dwg_dynapi_entity_data(t,"DIMLWD"),ve=n.dwg_dynapi_entity_data(t,"DIMLWE"),me=n.dwg_dynapi_entity_data(t,"DIMTXSTY"),de=n.dwg_ref_get_absref(me)??void 0,Ce=n.dwg_dynapi_entity_data(t,"DIMLDRBLK"),le=n.dwg_ref_get_absref(Ce)??void 0;return{...d,DIMPOST:Se,DIMAPOST:Kt,DIMBLK:Rt,DIMBLK1:X,DIMBLK2:Le,DIMSCALE:bt,DIMASZ:dt,DIMEXO:O,DIMDLI:tt,DIMEXE:z,DIMRND:xt,DIMDLE:kt,DIMTP:gt,DIMTM:B,DIMTXT:Ot,DIMCEN:q,DIMTSZ:V,DIMALTF:Xt,DIMLFAC:he,DIMTVP:Bt,DIMTFAC:Re,DIMGAP:ge,DIMALTRND:zt,DIMTOL:_,DIMLIM:E,DIMTIH:f,DIMTOH:g,DIMSE1:A,DIMSE2:P,DIMTAD:Et,DIMZIN:S,DIMAZIN:ae,DIMALT:I,DIMALTD:m,DIMTOFL:p,DIMSAH:v,DIMTIX:D,DIMSOXD:C,DIMCLRD:St,DIMCLRE:ie,DIMCLRT:Lt,DIMADEC:oe,DIMUNIT:ut,DIMDEC:mt,DIMTDEC:Gt,DIMALTU:Wt,DIMALTTD:Mt,DIMAUNIT:ht,DIMFRAC:Jt,DIMLUNIT:Pe,DIMDSEP:String.fromCharCode(At),DIMTMOVE:se,DIMJUST:k,DIMSD1:N,DIMSD2:G,DIMTOLJ:b,DIMTZIN:et,DIMALTZ:ft,DIMALTTZ:Z,DIMFIT:U,DIMUPT:J,DIMATFIT:x,DIMTXSTY:de,DIMLDRBLK:le,DIMLWD:Yt,DIMLWE:ve,DIMFXL:$t,DIMJOGANG:lt,DIMTFILL:Dt,DIMTFILLCLR:Vt,DIMARCSYM:Ht,DIMCLRD_N:Ct,DIMCLRE_N:Ae,DIMCLRT_N:Te,DIMFXLON:ye,DIMTXTDIRECTION:_e,DIMALTMZF:Zt,DIMALTMZS:pe,DIMMZF:Ie,DIMMZS:Tt}}convertLayer(t,i){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,i),_=n.dwg_dynapi_entity_data(t,"flag"),E=n.dwg_dynapi_entity_data(t,"frozen"),f=n.dwg_dynapi_entity_data(t,"off"),g=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"),I=n.dwg_dynapi_entity_data(t,"linewt"),p=n.dwg_dynapi_entity_data(t,"color"),v=n.dwg_dynapi_entity_data(t,"ltype");let D="Continuous";if(v)try{D=n.dwg_ref_get_object_name(v)}catch{}const C=p.method;let m=256,S=16777215;return C===195||(p.rgb>>>24&255)===195?m=p.rgb&255:C==194||(p.rgb>>>24&255)===194?S=p.rgb&16777215:p.index>=1&&p.index<=255&&(m=p.index),{...d,standardFlag:_,colorIndex:m,color:S,colorName:p.name,transparency:p.alpha,lineType:D,frozen:E!=0,off:f!=0,frozenInNew:g!=0,locked:A!=0,plotFlag:P,lineweight:I,plotStyleNameObjectId:"",materialObjectId:""}}convertLineType(t,i){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,i),_=n.dwg_dynapi_entity_data(t,"flag"),E=n.dwg_dynapi_entity_data(t,"description"),f=n.dwg_dynapi_entity_data(t,"numdashes"),g=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:E,standardFlag:_,numberOfLineTypes:f,totalPatternLength:g,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"),E=n.dwg_dynapi_entity_data(t,"width_factor"),f=n.dwg_dynapi_entity_data(t,"oblique_angle"),g=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"),I=n.dwg_dynapi_entity_data(t,"bigfont_file");return{...d,standardFlag:_,fixedTextHeight:0,widthFactor:E,obliqueAngle:f,textGenerationFlag:g,lastHeight:A,font:P,bigFont:I}}convertViewport(t,i){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,i),_=n.dwg_dynapi_entity_data(t,"flag"),E=n.dwg_dynapi_entity_data(t,"VIEWSIZE"),f=n.dwg_dynapi_entity_data(t,"aspect_ratio"),g=n.dwg_dynapi_entity_data(t,"VIEWCTR"),A=n.dwg_dynapi_entity_data(t,"view_target"),P=n.dwg_dynapi_entity_data(t,"VIEWDIR"),I=n.dwg_dynapi_entity_data(t,"view_twist"),p=n.dwg_dynapi_entity_data(t,"lens_length"),v=n.dwg_dynapi_entity_data(t,"front_clip_z"),D=n.dwg_dynapi_entity_data(t,"back_clip_z"),C=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,N=n.dwg_dynapi_entity_data(t,"default_lightning_type"),G=n.dwg_dynapi_entity_data(t,"brightness"),b=n.dwg_dynapi_entity_data(t,"contrast"),k=n.dwg_dynapi_entity_data(t,"ambient_color"),U=n.dwg_dynapi_entity_data(t,"lower_left"),J=n.dwg_dynapi_entity_data(t,"upper_right"),et=n.dwg_dynapi_entity_data(t,"circle_zoom"),ft=n.dwg_dynapi_entity_data(t,"UCSICON"),Z=n.dwg_dynapi_entity_data(t,"GRIDUNIT"),Et=n.dwg_dynapi_entity_data(t,"SNAPANG"),ut=n.dwg_dynapi_entity_data(t,"SNAPBASE"),ht=n.dwg_dynapi_entity_data(t,"SNAPUNIT"),mt=n.dwg_dynapi_entity_data(t,"ucsorg"),Gt=n.dwg_dynapi_entity_data(t,"ucsxdir"),Wt=n.dwg_dynapi_entity_data(t,"ucsydir"),Mt=n.dwg_dynapi_entity_data(t,"ucs_elevation"),bt=n.dwg_dynapi_entity_data(t,"grid_major"),dt=n.dwg_dynapi_entity_data(t,"background"),O=dt?n.dwg_ref_get_id(dt)??"":void 0,tt=n.dwg_dynapi_entity_data(t,"visualstyle"),z=tt?n.dwg_ref_get_id(tt)??"":void 0;return{...d,standardFlag:_,lowerLeftCorner:U,upperRightCorner:J,center:g,snapBasePoint:ut,snapSpacing:ht,gridSpacing:Z,viewDirectionFromTarget:P,viewTarget:A,lensLength:p,frontClippingPlane:v,backClippingPlane:D,viewHeight:E,aspectRatio:f,snapRotationAngle:Et,viewTwistAngle:I,circleSides:et,frozenLayers:[],styleSheet:"",renderMode:m,viewMode:C,ucsIconSetting:ft,ucsOrigin:mt,ucsXAxis:Gt,ucsYAxis:Wt,orthographicType:0,elevation:Mt,shadePlotSetting:0,majorGridLines:bt,backgroundObjectId:O,visualStyleObjectId:z,isDefaultLightingOn:S,defaultLightingType:N,brightness:G,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),E=n.dwg_object_get_handle_object(i);return{handle:It(E.value),ownerHandle:It(_.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"),E=n.dwg_dynapi_entity_data(t,"cloning"),f=n.dwg_dynapi_entity_data(t,"numitems"),g=n.dwg_dynapi_entity_data(t,"itemhandles"),A=n.dwg_ptr_to_object_ref_array(g,f),P=n.dwg_object_dictionary_get_texts(i),I={};return A.forEach((p,v)=>I[P[v]]=It(p.absolute_ref)),{...d,isHardOwner:!!_,cloningFlag:E,entries:I}}convertImageDef(t,i){const n=this.libredwg,d=this.getCommonObjectAttrs(i),_=n.dwg_dynapi_entity_data(t,"image_size"),E=n.dwg_dynapi_entity_data(t,"file_path"),f=n.dwg_dynapi_entity_data(t,"is_loaded"),g=n.dwg_dynapi_entity_data(t,"pixel_size"),A=n.dwg_dynapi_entity_data(t,"resunits");return{...d,fileName:E,size:_,sizeOfOnePixel:g,isLoaded:f,resolutionUnits:A}}convertLayerFilter(t,i){const n=this.libredwg,d=this.getCommonObjectAttrs(i),_=n.dwg_dynapi_entity_data(t,"num_names")??0,E=n.dwg_dynapi_entity_data(t,"names"),f=E&&_>0?n.dwg_ptr_to_wchar_string_array(E,_).filter(g=>g!=null&&g!==""):[];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"),E=n.dwg_dynapi_entity_data(t,"num_entries")??0,f=n.dwg_dynapi_entity_data(t,"entries"),g=n.dwg_dynapi_subclass_size("LAYER_entry"),A=[],P=[],I=[];if(f&&g>0)for(let p=0;p<E;p++){const v=f+p*g,D=n.dwg_dynapi_subclass_data(v,"LAYER_entry","name");A.push(D??"");const C=n.dwg_dynapi_subclass_data(v,"LAYER_entry","handle");P.push(C?n.dwg_ref_get_id(C)??"":""),I.push(n.dwg_dynapi_subclass_data(v,"LAYER_entry","numlayers")??0)}return{...d,..._!=null?{timeStamp:_}:{},...A.length?{layerNames:A}:{},...P.length?{idBufferIds:P}:{},...I.length?{idBufferEntryCounts:I}:{}}}convertLayout(t,i){const n=this.libredwg,d=this.getCommonObjectAttrs(i),_=n.dwg_dynapi_entity_data(t,"layout_name"),E=n.dwg_dynapi_entity_data(t,"tab_order"),f=n.dwg_dynapi_entity_data(t,"layout_flags"),g=n.dwg_dynapi_entity_data(t,"INSBASE"),A=n.dwg_dynapi_entity_data(t,"LIMMIN"),P=n.dwg_dynapi_entity_data(t,"LIMMAX"),I=n.dwg_dynapi_entity_data(t,"UCSORG"),p=n.dwg_dynapi_entity_data(t,"UCSXDIR"),v=n.dwg_dynapi_entity_data(t,"UCSYDIR"),D=n.dwg_dynapi_entity_data(t,"UCSORTHOVIEW"),C=n.dwg_dynapi_entity_data(t,"EXTMIN"),m=n.dwg_dynapi_entity_data(t,"EXTMAX"),S=n.dwg_dynapi_entity_data(t,"ucs_elevation"),N=n.dwg_dynapi_entity_data(t,"block_header"),G=n.dwg_ref_get_id(N)??"",b=n.dwg_dynapi_entity_data(t,"active_viewport"),k=n.dwg_ref_get_id(b)??"",U=n.dwg_dynapi_entity_data(t,"named_ucs"),J=U?n.dwg_ref_get_id(U)??"":void 0;return{...d,layoutName:_,controlFlag:f,tabOrder:E,minLimit:A,maxLimit:P,insertionPoint:g,minExtent:C,maxExtent:m,elevation:S,ucsOrigin:I,ucsXAxis:p,ucsYAxis:v,orthographicType:D,paperSpaceTableId:G,viewportId:k,namedUcsId:J,shadePlotId:""}}convertMLeaderStyle(t,i){const n=this.libredwg,d=this.getCommonObjectAttrs(i),_=A=>n.dwg_dynapi_entity_data(t,A),E=A=>n.dwg_ref_get_id(A),f=A=>A>0,g=A=>A!=null?hr(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:g(_("line_color")),leaderLineTypeId:E(_("line_type")),leaderLineWeight:_("linewt"),landingEnabled:f(_("has_landing")),landingGap:_("landing_gap"),doglegEnabled:f(_("has_dogleg")),doglegLength:_("landing_dist"),description:_("description"),arrowheadId:E(_("arrow_head")),arrowheadSize:_("arrow_head_size"),defaultMTextContents:_("text_default"),textStyleId:E(_("text_style")),textLeftAttachmentType:_("attach_left"),textAngleType:_("text_angle_type"),textAlignmentType:_("text_align_type"),textRightAttachmentType:_("attach_right"),textColor:g(_("text_color")),textHeight:_("text_height"),textFrameEnabled:f(_("has_text_frame")),textAlignAlwaysLeft:f(_("text_always_left")),alignSpace:_("align_space"),blockContentId:E(_("block")),blockContentColor:g(_("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"),E=n.dwg_dynapi_entity_data(t,"num_clip_verts"),f=n.dwg_dynapi_entity_data(t,"clip_verts"),g=n.dwg_ptr_to_point2d_array(f,E),A=n.dwg_dynapi_entity_data(t,"extrusion"),P=n.dwg_dynapi_entity_data(t,"display_boundary_on"),I=n.dwg_dynapi_entity_data(t,"front_clip_on"),p=n.dwg_dynapi_entity_data(t,"front_clip_z"),v=n.dwg_dynapi_entity_data(t,"back_clip_on"),D=n.dwg_dynapi_entity_data(t,"back_clip_z"),C=n.dwg_dynapi_entity_data(t,"transform"),m=n.dwg_ptr_to_double_array(C,12),S=n.dwg_dynapi_entity_data(t,"inverse_transform"),N=n.dwg_ptr_to_double_array(S,12);return{...d,origin:_,numberOfPointsOnClipBoundary:E,vertices:g,extrusionDirection:A,clipBoundaryVisible:!!P,frontClippingPlaneFlag:!!I,frontClippingPlaneDistance:p,backClippingPlaneFlag:!!v,backClippingPlaneDistance:D,matrix:m,invertBlockMatrix:N}}convertXRecord(t,i){const n=this.libredwg,d=this.getCommonObjectAttrs(i),_=n.dwg_dynapi_entity_data(t,"cloning"),E=n.dwg_object_xrecord_get_xdata(t)??[],f=n.dwg_object_get_tio(i),g=f?n.dwg_object_object_get_xdicobjhandle_object(f):null,A=g&&g.absolute_ref?It(g.absolute_ref):void 0;return{...d,..._!=null?{cloning:_}:{},...A?{extensionDictionary:A}:{},data:E}}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:It(_.value),ownerHandle:It(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(E=>{const f=E.x-i.x,g=E.y-i.y;return{x:i.x+f*n-g*d,y:i.y+f*d+g*n}});this.reset();for(const E of _)this.expandByPoint(E);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 Ci(a,t,i,n,d){const _=i.length;if(_===0)throw new Error("points must not be empty");const E=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),g=n??(()=>{const C=[];for(let m=0;m<_+t+1;m++)C.push(m);return C})();if(g.length!==_+t+1)throw new Error("bad knot vector length");const A=[t,g.length-1-t],P=g[A[0]],I=g[A[1]];a=a*(I-P)+P,a=Math.max(a,P),a=Math.min(a,I);let p=A[0];for(;p<A[1]&&!(a>=g[p]&&a<=g[p+1]);p++);const v=new Array(_);for(let C=0;C<_;C++){v[C]=new Array(E+1);for(let m=0;m<E;m++)v[C][m]=i[C][m]*f[C];v[C][E]=f[C]}for(let C=1;C<=t+1;C++)for(let m=p;m>p-t-1+C;m--){const S=g[m+t+1-C]-g[m],N=S===0?0:(a-g[m])/S;for(let G=0;G<E+1;G++)v[m][G]=(1-N)*v[m-1][G]+N*v[m][G]}const D=new Array(E);for(let C=0;C<E;C++)D[C]=wi(v[p][C]/v[p][E],-9);return D}function wi(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}`),[_,E="0"]=d.toString().split("e");return+`${_}e${+E+t}`}const on={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},In=[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 Oe(a,t,i){return Math.max(t,Math.min(i,a))}const gr=class Ar{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(Oe(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=Oe(t,0,256),this._color=In[t],this._colorName=this.getColorNameByValue(this._color))}get colorName(){return this._colorName}set colorName(t){if(t){const i=on[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(Oe(t,0,255)),_=Math.round(Oe(i,0,255)),E=Math.round(Oe(n,0,255));return this.color=(d<<16)+(_<<8)+E,this}setColorName(t){const i=on[t.toLowerCase()];return i!==void 0&&(this.color=i),this}clone(){const t=new Ar;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(on))if(n===t)return i;return null}getColorIndexByValue(t){const i=In.length-1;for(let n=1;n<i;++n)if(In[n]===t)return n;return null}};nt(gr,"NAMES",on);let Di=gr;class vt{constructor(t,i){nt(this,"x"),nt(this,"y"),this.x=t,this.y=i}add(t){return new vt(this.x+t.x,this.y+t.y)}sub(t){return new vt(this.x-t.x,this.y-t.y)}multiply(t){return new vt(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 vt(0,0):new vt(this.x/t,this.y/t)}}function Ri(a,t,i,n=5){let d,_,E;i<0?(d=Math.atan(-i)*4,_=new vt(a.x,a.y),E=new vt(t.x,t.y)):(d=Math.atan(i)*4,_=new vt(t.x,t.y),E=new vt(a.x,a.y));const f=E.sub(_),g=f.length(),A=_.add(f.multiply(.5)),P=Math.abs(g/2/Math.tan(d/2)),I=f.norm(),p=new vt(I.x*Math.cos(Math.PI/2)-I.y*Math.sin(Math.PI/2),I.y*Math.cos(Math.PI/2)+I.x*Math.sin(Math.PI/2)),v=d<Math.PI?A.add(p.multiply(-P)):A.add(p.multiply(P)),D=Math.atan2(E.y-v.y,E.x-v.x)/Math.PI*180;let C=Math.atan2(_.y-v.y,_.x-v.x)/Math.PI*180;C<D&&(C+=360);const m=E.sub(v).length(),S=Math.floor(D/n)*n+n,N=Math.ceil(C/n)*n-n,G=[];for(let b=S;b<=N;b+=n){const k=b/180*Math.PI,U=v.add(new vt(Math.cos(k)*m,Math.sin(k)*m));G.push(U)}return i<0&&G.reverse(),G}function Si(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 E=n[d],f=n[d+1];i.push(E),n[d].bulge&&(i=i.concat(Ri(E,f,a.vertices[d].bulge))),d===_-2&&i.push(f)}return i}class Li{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 E=[],f=t.map(P=>[P.x,P.y]),g=[n[i]],A=[n[i],n[n.length-1-i]];for(let P=i+1;P<n.length-i;++P)g[g.length-1]!==n[P]&&g.push(n[P]);for(let P=1;P<g.length;++P){const I=g[P-1],p=g[P];for(let v=0;v<=d;++v){let C=(v/d*(p-I)+I-A[0])/(A[1]-A[0]);C=Math.max(0,Math.min(1,C));const m=Ci(C,i,f,n,_);E.push({x:m[0],y:m[1]})}}return E}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),E=`<line x1="${n.x}" y1="${n.y}" x2="${d.x}" y2="${d.y}" />`;return{bbox:_,element:E}}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),E=`<line x1="${n.x}" y1="${n.y}" x2="${d.x}" y2="${d.y}" />`;return{bbox:_,element:E}}extractMTextLines(t){return t.replace(/\\U\+([0-9A-Fa-f]{4})/g,(i,n)=>String.fromCharCode(parseInt(n,16))).replace(/\\P/g,`
|
|
13
|
+
}`;var W=new Function(Object.keys(y),R)(...Object.values(y)),M=`methodCaller<(${E.map(L=>L.name)}) => ${u.name}>`;return ua(Je(M,W))};function Aa(e){e>>>=0,e>9&&(ee[e+1]+=1)}function Ta(e,a,i,s,u){return e>>>=0,a>>>=0,i>>>=0,s>>>=0,u>>>=0,Tn[e](a,i,s,u)}function Pa(){return Pt.toHandle([])}function ya(e){return e>>>=0,Pt.toHandle($n(e))}function pa(){return Pt.toHandle({})}function Ia(e){e>>>=0;var a=Pt.toValue(e);hn(a),gn(e)}function va(e,a,i){e>>>=0,a>>>=0,i>>>=0,e=Pt.toValue(e),a=Pt.toValue(a),i=Pt.toValue(i),e[a]=i}function ma(e,a){e=Ae(e),a>>>=0;var i=new Date(e*1e3);O[a>>>2>>>0]=i.getUTCSeconds(),O[a+4>>>2>>>0]=i.getUTCMinutes(),O[a+8>>>2>>>0]=i.getUTCHours(),O[a+12>>>2>>>0]=i.getUTCDate(),O[a+16>>>2>>>0]=i.getUTCMonth(),O[a+20>>>2>>>0]=i.getUTCFullYear()-1900,O[a+24>>>2>>>0]=i.getUTCDay();var s=Date.UTC(i.getUTCFullYear(),0,1,0,0,0,0),u=(i.getTime()-s)/(1e3*60*60*24)|0;O[a+28>>>2>>>0]=u}var Ca=e=>e%4===0&&(e%100!==0||e%400===0),wa=[0,31,60,91,121,152,182,213,244,274,305,335],Da=[0,31,59,90,120,151,181,212,243,273,304,334],Ra=e=>{var a=Ca(e.getFullYear()),i=a?wa:Da,s=i[e.getMonth()]+e.getDate()-1;return s},Sa=function(e){e>>>=0;var a=(()=>{var i=new Date(O[e+20>>>2>>>0]+1900,O[e+16>>>2>>>0],O[e+12>>>2>>>0],O[e+8>>>2>>>0],O[e+4>>>2>>>0],O[e>>>2>>>0],0);if(isNaN(i.getTime()))return-1;var s=O[e+32>>>2>>>0],u=i.getTimezoneOffset(),E=new Date(i.getFullYear(),0,1),g=new Date(i.getFullYear(),6,1).getTimezoneOffset(),P=E.getTimezoneOffset(),y=Math.min(P,g);if(s<0)O[e+32>>>2>>>0]=+(g!=P&&y==u);else if(s>0!=(y==u)){var D=Math.max(P,g),R=s>0?y:D;i.setTime(i.getTime()+(R-u)*6e4)}O[e+24>>>2>>>0]=i.getDay();var W=Ra(i)|0;return O[e+28>>>2>>>0]=W,O[e>>>2>>>0]=i.getSeconds(),O[e+4>>>2>>>0]=i.getMinutes(),O[e+8>>>2>>>0]=i.getHours(),O[e+12>>>2>>>0]=i.getDate(),O[e+16>>>2>>>0]=i.getMonth(),O[e+20>>>2>>>0]=i.getYear(),i.getTime()/1e3})();return BigInt(a)},La=function(e,a,i,s){e>>>=0,a>>>=0,i>>>=0,s>>>=0;var u=new Date().getFullYear(),E=new Date(u,0,1),g=new Date(u,6,1),P=E.getTimezoneOffset(),y=g.getTimezoneOffset(),D=Math.max(P,y);B[e>>>2>>>0]=D*60,O[a>>>2>>>0]=+(P!=y);var R=L=>{var F=L>=0?"-":"+",H=Math.abs(L),rt=String(Math.floor(H/60)).padStart(2,"0"),at=String(H%60).padStart(2,"0");return`UTC${F}${rt}${at}`},W=R(P),M=R(y);y<P?(ne(W,i,17),ne(M,s,17)):(ne(W,s,17),ne(M,i,17))},Ya=()=>Date.now();function Na(e){return e>>>=0,C(qt(e))}var Ga=()=>performance.now(),Wa=()=>4294901760,Ma=(e,a)=>Math.ceil(e/a)*a,ba=e=>{var a=on.buffer.byteLength,i=(e-a+65535)/65536|0;try{return on.grow(i),U(),1}catch{}};function xa(e){e>>>=0;var a=lt.length,i=Wa();if(e>i)return!1;for(var s=1;s<=4;s*=2){var u=a*(1+.2/s);u=Math.min(u,e+100663296);var E=Math.min(i,Ma(Math.max(e,u),65536)),g=ba(E);if(g)return!0}return!1}var rn={},ka=()=>f,Oe=()=>{var u;if(!Oe.strings){var e=(((u=globalThis.navigator)==null?void 0:u.language)??"C").replace("-","_")+".UTF-8",a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:e,_:ka()};for(var i in rn)rn[i]===void 0?delete a[i]:a[i]=rn[i];var s=[];for(var i in a)s.push(`${i}=${a[i]}`);Oe.strings=s}return Oe.strings};function Oa(e,a){e>>>=0,a>>>=0;var i=0,s=0;for(var u of Oe()){var E=a+i;B[e+s>>>2>>>0]=E,i+=ne(u,E,1/0)+1,s+=4}return 0}function Ba(e,a){e>>>=0,a>>>=0;var i=Oe();B[e>>>2>>>0]=i.length;var s=0;for(var u of i)s+=Lt(u)+1;return B[a>>>2>>>0]=s,0}function Fa(e){try{var a=Q.getStreamFromFD(e);return l.close(a),0}catch(i){if(typeof l>"u"||i.name!=="ErrnoError")throw i;return i.errno}}var Ua=(e,a,i,s)=>{for(var u=0,E=0;E<i;E++){var g=B[a>>>2>>>0],P=B[a+4>>>2>>>0];a+=8;var y=l.read(e,z,g,P,s);if(y<0)return-1;if(u+=y,y<P)break}return u};function $a(e,a,i,s){a>>>=0,i>>>=0,s>>>=0;try{var u=Q.getStreamFromFD(e),E=Ua(u,a,i);return B[s>>>2>>>0]=E,0}catch(g){if(typeof l>"u"||g.name!=="ErrnoError")throw g;return g.errno}}function Va(e,a,i,s){a=Ae(a),s>>>=0;try{if(isNaN(a))return 22;var u=Q.getStreamFromFD(e);return l.llseek(u,a,i),tt[s>>>3>>>0]=BigInt(u.position),u.getdents&&a===0&&i===0&&(u.getdents=null),0}catch(E){if(typeof l>"u"||E.name!=="ErrnoError")throw E;return E.errno}}var Ha=(e,a,i,s)=>{for(var u=0,E=0;E<i;E++){var g=B[a>>>2>>>0],P=B[a+4>>>2>>>0];a+=8;var y=l.write(e,z,g,P,s);if(y<0)return-1;if(u+=y,y<P)break}return u};function Xa(e,a,i,s){a>>>=0,i>>>=0,s>>>=0;try{var u=Q.getStreamFromFD(e),E=Ha(u,a,i);return B[s>>>2>>>0]=E,0}catch(g){if(typeof l>"u"||g.name!=="ErrnoError")throw g;return g.errno}}function Ka(e,a){return e>>>=0,a>>>=0,zt(lt.subarray(e>>>0,e+a>>>0))}var Vn=e=>{var a=o["_"+e];return a},za=(e,a)=>{z.set(e,a>>>0)},Hn=e=>Jn(e),Ja=e=>{var a=Lt(e)+1,i=Hn(a);return ne(e,i,a),i},Xn=(e,a,i,s,u)=>{var E={string:F=>{var H=0;return F!=null&&F!==0&&(H=Ja(F)),H},array:F=>{var H=Hn(F.length);return za(F,H),H}};function g(F){return a==="string"?qt(F):a==="pointer"?F>>>0:a==="boolean"?!!F:F}var P=Vn(e),y=[],D=0;if(s)for(var R=0;R<s.length;R++){var W=E[i[R]];W?(D===0&&(D=Xt()),y[R]=W(s[R])):y[R]=s[R]}var M=P(...y);function L(F){return D!==0&&V(D),g(F)}return M=L(M),M},Za=(e,a,i,s)=>{var u=!i||i.every(g=>g==="number"||g==="boolean"),E=a!=="string";return E&&u&&!s?Vn(e):(...g)=>Xn(e,a,i,g)},qa=e=>{var a=Lt(e)+1,i=an(a);return i&&ne(e,i,a),i};if(l.createPreloadedFile=Ve,l.preloadFile=le,l.staticInit(),vr(),xr(),o.noExitRuntime&&o.noExitRuntime,o.preloadPlugins&&(de=o.preloadPlugins),o.print&&(w=o.print),o.printErr&&(C=o.printErr),o.wasmBinary&&(m=o.wasmBinary),o.arguments&&o.arguments,o.thisProgram&&(f=o.thisProgram),o.preInit)for(typeof o.preInit=="function"&&(o.preInit=[o.preInit]);o.preInit.length>0;)o.preInit.shift()();o.ENV=rn,o.ccall=Xn,o.cwrap=Za,o.setValue=q,o.UTF8ToString=qt,o.stringToNewUTF8=qa,o.FS=l;var re,an,Kn,zn,Jn,Zn,on,qn;function Qa(e){o.__Znwm=e._Znwm,o.__ZdlPvm=e._ZdlPvm,re=e.free,an=e.malloc,e.calloc,e.realloc,Kn=e.__getTypeName,o._strndup=e.strndup,o.__ZdaPv=e._ZdaPv,o.__ZdaPvm=e._ZdaPvm,o.__ZdlPv=e._ZdlPv,o._emscripten_builtin_malloc=e.emscripten_builtin_malloc,o.__Znam=e._Znam,o.__ZnamSt11align_val_t=e._ZnamSt11align_val_t,o.__ZnwmSt11align_val_t=e._ZnwmSt11align_val_t,o.___libc_calloc=e.__libc_calloc,o.___libc_free=e.__libc_free,o.___libc_malloc=e.__libc_malloc,o.___libc_realloc=e.__libc_realloc,o._emscripten_builtin_calloc=e.emscripten_builtin_calloc,o._emscripten_builtin_free=e.emscripten_builtin_free,o._emscripten_builtin_realloc=e.emscripten_builtin_realloc,o._malloc_size=e.malloc_size,o._malloc_usable_size=e.malloc_usable_size,o._reallocf=e.reallocf,zn=e._emscripten_stack_restore,Jn=e._emscripten_stack_alloc,Zn=e.emscripten_stack_get_current,on=e.memory,qn=e.__indirect_function_table}var Qn={__cxa_throw:Le,__syscall_fcntl64:dn,__syscall_fstat64:ln,__syscall_ioctl:cn,__syscall_lstat64:He,__syscall_newfstatat:Ne,__syscall_openat:K,__syscall_stat64:j,_abort_js:Qt,_embind_register_bigint:Ke,_embind_register_bool:un,_embind_register_class:Fr,_embind_register_class_property:Ur,_embind_register_emval:Vr,_embind_register_enum:Xr,_embind_register_enum_value:Kr,_embind_register_float:Jr,_embind_register_function:ta,_embind_register_integer:ea,_embind_register_memory_view:na,_embind_register_std_string:ra,_embind_register_std_wstring:la,_embind_register_void:ca,_emval_create_invoker:ga,_emval_decref:gn,_emval_incref:Aa,_emval_invoke:Ta,_emval_new_array:Pa,_emval_new_cstring:ya,_emval_new_object:pa,_emval_run_destructors:Ia,_emval_set_property:va,_gmtime_js:ma,_mktime_js:Sa,_tzset_js:La,emscripten_date_now:Ya,emscripten_err:Na,emscripten_get_now:Ga,emscripten_resize_heap:xa,environ_get:Oa,environ_sizes_get:Ba,fd_close:Fa,fd_read:$a,fd_seek:Va,fd_write:Xa,random_get:Ka};function ja(e){e=Object.assign({},e);var a=u=>E=>u(E)>>>0,i=u=>(E,g)=>u(E,g)>>>0,s=u=>()=>u()>>>0;return e.malloc=a(e.malloc),e.calloc=i(e.calloc),e.realloc=i(e.realloc),e.__getTypeName=a(e.__getTypeName),e.emscripten_builtin_malloc=a(e.emscripten_builtin_malloc),e.emscripten_builtin_calloc=i(e.emscripten_builtin_calloc),e._emscripten_stack_alloc=a(e._emscripten_stack_alloc),e.emscripten_stack_get_current=s(e.emscripten_stack_get_current),e}function Pn(){if(Tt>0){Yt=Pn;return}if(J(),Tt>0){Yt=Pn;return}function e(){var a;o.calledRun=!0,!S&&(et(),G==null||G(o),(a=o.onRuntimeInitialized)==null||a.call(o),ft())}o.setStatus?(o.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>o.setStatus(""),1),e()},1)):e()}var ue;return ue=await bt(),Pn(),k?t=o:t=new Promise((e,a)=>{G=e,b=a}),t}var go=Object.defineProperty,Ao=(r,t,o)=>t in r?go(r,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):r[t]=o,nt=(r,t,o)=>Ao(r,typeof t!="symbol"?t+"":t,o);const To=["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"],ir=r=>To[r];var Ee=(r=>(r[r.TopLeft=1]="TopLeft",r[r.TopCenter=2]="TopCenter",r[r.TopRight=3]="TopRight",r[r.MiddleLeft=4]="MiddleLeft",r[r.MiddleCenter=5]="MiddleCenter",r[r.MiddleRight=6]="MiddleRight",r[r.BottomLeft=7]="BottomLeft",r[r.BottomCenter=8]="BottomCenter",r[r.BottomRight=9]="BottomRight",r))(Ee||{}),mn=(r=>(r[r.PatternFill=0]="PatternFill",r[r.SolidFill=1]="SolidFill",r))(mn||{}),Cn=(r=>(r[r.NonAssociative=0]="NonAssociative",r[r.Associative=1]="Associative",r))(Cn||{}),hr=(r=>(r[r.Solid=0]="Solid",r[r.Gradient=1]="Gradient",r))(hr||{}),wn=(r=>(r[r.TwoColor=0]="TwoColor",r[r.OneColor=1]="OneColor",r))(wn||{}),Fe=(r=>(r[r.Line=1]="Line",r[r.Circular=2]="Circular",r[r.Elliptic=3]="Elliptic",r[r.Spline=4]="Spline",r))(Fe||{}),Dn=(r=>(r[r.LEFT=0]="LEFT",r[r.CENTER=1]="CENTER",r[r.RIGHT=2]="RIGHT",r[r.ALIGNED=3]="ALIGNED",r[r.MIDDLE=4]="MIDDLE",r[r.FIT=5]="FIT",r))(Dn||{});const Po=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"]),yo=/\\U\+([0-9A-Fa-f]{4})/g;function sr(r){return!r||!r.includes("\\U+")?r:r.replace(yo,(t,o)=>String.fromCharCode(parseInt(o,16)))}const po=[{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 Rn=(r=>(r[r.DWG_SUPERTYPE_ENTITY=0]="DWG_SUPERTYPE_ENTITY",r[r.DWG_SUPERTYPE_OBJECT=1]="DWG_SUPERTYPE_OBJECT",r))(Rn||{}),gr=(r=>(r[r.WRONGCRC=1]="WRONGCRC",r[r.NOTYETSUPPORTED=2]="NOTYETSUPPORTED",r[r.UNHANDLEDCLASS=4]="UNHANDLEDCLASS",r[r.INVALIDTYPE=8]="INVALIDTYPE",r[r.INVALIDHANDLE=16]="INVALIDHANDLE",r[r.INVALIDEED=32]="INVALIDEED",r[r.VALUEOUTOFBOUNDS=64]="VALUEOUTOFBOUNDS",r[r.CLASSESNOTFOUND=128]="CLASSESNOTFOUND",r[r.SECTIONNOTFOUND=256]="SECTIONNOTFOUND",r[r.PAGENOTFOUND=512]="PAGENOTFOUND",r[r.INTERNALERROR=1024]="INTERNALERROR",r[r.INVALIDDWG=2048]="INVALIDDWG",r[r.IOERROR=4096]="IOERROR",r[r.OUTOFMEM=8192]="OUTOFMEM",r))(gr||{}),Y=(r=>(r[r.DWG_TYPE_UNUSED=0]="DWG_TYPE_UNUSED",r[r.DWG_TYPE_TEXT=1]="DWG_TYPE_TEXT",r[r.DWG_TYPE_ATTRIB=2]="DWG_TYPE_ATTRIB",r[r.DWG_TYPE_ATTDEF=3]="DWG_TYPE_ATTDEF",r[r.DWG_TYPE_BLOCK=4]="DWG_TYPE_BLOCK",r[r.DWG_TYPE_ENDBLK=5]="DWG_TYPE_ENDBLK",r[r.DWG_TYPE_SEQEND=6]="DWG_TYPE_SEQEND",r[r.DWG_TYPE_INSERT=7]="DWG_TYPE_INSERT",r[r.DWG_TYPE_MINSERT=8]="DWG_TYPE_MINSERT",r[r.DWG_TYPE_VERTEX_2D=10]="DWG_TYPE_VERTEX_2D",r[r.DWG_TYPE_VERTEX_3D=11]="DWG_TYPE_VERTEX_3D",r[r.DWG_TYPE_VERTEX_MESH=12]="DWG_TYPE_VERTEX_MESH",r[r.DWG_TYPE_VERTEX_PFACE=13]="DWG_TYPE_VERTEX_PFACE",r[r.DWG_TYPE_VERTEX_PFACE_FACE=14]="DWG_TYPE_VERTEX_PFACE_FACE",r[r.DWG_TYPE_POLYLINE_2D=15]="DWG_TYPE_POLYLINE_2D",r[r.DWG_TYPE_POLYLINE_3D=16]="DWG_TYPE_POLYLINE_3D",r[r.DWG_TYPE_ARC=17]="DWG_TYPE_ARC",r[r.DWG_TYPE_CIRCLE=18]="DWG_TYPE_CIRCLE",r[r.DWG_TYPE_LINE=19]="DWG_TYPE_LINE",r[r.DWG_TYPE_DIMENSION_ORDINATE=20]="DWG_TYPE_DIMENSION_ORDINATE",r[r.DWG_TYPE_DIMENSION_LINEAR=21]="DWG_TYPE_DIMENSION_LINEAR",r[r.DWG_TYPE_DIMENSION_ALIGNED=22]="DWG_TYPE_DIMENSION_ALIGNED",r[r.DWG_TYPE_DIMENSION_ANG3PT=23]="DWG_TYPE_DIMENSION_ANG3PT",r[r.DWG_TYPE_DIMENSION_ANG2LN=24]="DWG_TYPE_DIMENSION_ANG2LN",r[r.DWG_TYPE_DIMENSION_RADIUS=25]="DWG_TYPE_DIMENSION_RADIUS",r[r.DWG_TYPE_DIMENSION_DIAMETER=26]="DWG_TYPE_DIMENSION_DIAMETER",r[r.DWG_TYPE_POINT=27]="DWG_TYPE_POINT",r[r.DWG_TYPE_3DFACE=28]="DWG_TYPE_3DFACE",r[r.DWG_TYPE_POLYLINE_PFACE=29]="DWG_TYPE_POLYLINE_PFACE",r[r.DWG_TYPE_POLYLINE_MESH=30]="DWG_TYPE_POLYLINE_MESH",r[r.DWG_TYPE_SOLID=31]="DWG_TYPE_SOLID",r[r.DWG_TYPE_TRACE=32]="DWG_TYPE_TRACE",r[r.DWG_TYPE_SHAPE=33]="DWG_TYPE_SHAPE",r[r.DWG_TYPE_VIEWPORT=34]="DWG_TYPE_VIEWPORT",r[r.DWG_TYPE_ELLIPSE=35]="DWG_TYPE_ELLIPSE",r[r.DWG_TYPE_SPLINE=36]="DWG_TYPE_SPLINE",r[r.DWG_TYPE_REGION=37]="DWG_TYPE_REGION",r[r.DWG_TYPE_3DSOLID=38]="DWG_TYPE_3DSOLID",r[r.DWG_TYPE_BODY=39]="DWG_TYPE_BODY",r[r.DWG_TYPE_RAY=40]="DWG_TYPE_RAY",r[r.DWG_TYPE_XLINE=41]="DWG_TYPE_XLINE",r[r.DWG_TYPE_DICTIONARY=42]="DWG_TYPE_DICTIONARY",r[r.DWG_TYPE_OLEFRAME=43]="DWG_TYPE_OLEFRAME",r[r.DWG_TYPE_MTEXT=44]="DWG_TYPE_MTEXT",r[r.DWG_TYPE_LEADER=45]="DWG_TYPE_LEADER",r[r.DWG_TYPE_TOLERANCE=46]="DWG_TYPE_TOLERANCE",r[r.DWG_TYPE_MLINE=47]="DWG_TYPE_MLINE",r[r.DWG_TYPE_BLOCK_CONTROL=48]="DWG_TYPE_BLOCK_CONTROL",r[r.DWG_TYPE_BLOCK_HEADER=49]="DWG_TYPE_BLOCK_HEADER",r[r.DWG_TYPE_LAYER_CONTROL=50]="DWG_TYPE_LAYER_CONTROL",r[r.DWG_TYPE_LAYER=51]="DWG_TYPE_LAYER",r[r.DWG_TYPE_STYLE_CONTROL=52]="DWG_TYPE_STYLE_CONTROL",r[r.DWG_TYPE_STYLE=53]="DWG_TYPE_STYLE",r[r.DWG_TYPE_LTYPE_CONTROL=56]="DWG_TYPE_LTYPE_CONTROL",r[r.DWG_TYPE_LTYPE=57]="DWG_TYPE_LTYPE",r[r.DWG_TYPE_VIEW_CONTROL=60]="DWG_TYPE_VIEW_CONTROL",r[r.DWG_TYPE_VIEW=61]="DWG_TYPE_VIEW",r[r.DWG_TYPE_UCS_CONTROL=62]="DWG_TYPE_UCS_CONTROL",r[r.DWG_TYPE_UCS=63]="DWG_TYPE_UCS",r[r.DWG_TYPE_VPORT_CONTROL=64]="DWG_TYPE_VPORT_CONTROL",r[r.DWG_TYPE_VPORT=65]="DWG_TYPE_VPORT",r[r.DWG_TYPE_APPID_CONTROL=66]="DWG_TYPE_APPID_CONTROL",r[r.DWG_TYPE_APPID=67]="DWG_TYPE_APPID",r[r.DWG_TYPE_DIMSTYLE_CONTROL=68]="DWG_TYPE_DIMSTYLE_CONTROL",r[r.DWG_TYPE_DIMSTYLE=69]="DWG_TYPE_DIMSTYLE",r[r.DWG_TYPE_VX_CONTROL=70]="DWG_TYPE_VX_CONTROL",r[r.DWG_TYPE_VX_TABLE_RECORD=71]="DWG_TYPE_VX_TABLE_RECORD",r[r.DWG_TYPE_GROUP=72]="DWG_TYPE_GROUP",r[r.DWG_TYPE_MLINESTYLE=73]="DWG_TYPE_MLINESTYLE",r[r.DWG_TYPE_OLE2FRAME=74]="DWG_TYPE_OLE2FRAME",r[r.DWG_TYPE_DUMMY=75]="DWG_TYPE_DUMMY",r[r.DWG_TYPE_LONG_TRANSACTION=76]="DWG_TYPE_LONG_TRANSACTION",r[r.DWG_TYPE_LWPOLYLINE=77]="DWG_TYPE_LWPOLYLINE",r[r.DWG_TYPE_HATCH=78]="DWG_TYPE_HATCH",r[r.DWG_TYPE_XRECORD=79]="DWG_TYPE_XRECORD",r[r.DWG_TYPE_PLACEHOLDER=80]="DWG_TYPE_PLACEHOLDER",r[r.DWG_TYPE_VBA_PROJECT=81]="DWG_TYPE_VBA_PROJECT",r[r.DWG_TYPE_LAYOUT=82]="DWG_TYPE_LAYOUT",r[r.DWG_TYPE_PROXY_ENTITY=498]="DWG_TYPE_PROXY_ENTITY",r[r.DWG_TYPE_PROXY_OBJECT=499]="DWG_TYPE_PROXY_OBJECT",r[r.DWG_TYPE_ACDSRECORD=500]="DWG_TYPE_ACDSRECORD",r[r.DWG_TYPE_ACDSSCHEMA=501]="DWG_TYPE_ACDSSCHEMA",r[r.DWG_TYPE_ACMECOMMANDHISTORY=502]="DWG_TYPE_ACMECOMMANDHISTORY",r[r.DWG_TYPE_ACMESCOPE=503]="DWG_TYPE_ACMESCOPE",r[r.DWG_TYPE_ACMESTATEMGR=504]="DWG_TYPE_ACMESTATEMGR",r[r.DWG_TYPE_ACSH_BOOLEAN_CLASS=505]="DWG_TYPE_ACSH_BOOLEAN_CLASS",r[r.DWG_TYPE_ACSH_BOX_CLASS=506]="DWG_TYPE_ACSH_BOX_CLASS",r[r.DWG_TYPE_ACSH_BREP_CLASS=507]="DWG_TYPE_ACSH_BREP_CLASS",r[r.DWG_TYPE_ACSH_CHAMFER_CLASS=508]="DWG_TYPE_ACSH_CHAMFER_CLASS",r[r.DWG_TYPE_ACSH_CONE_CLASS=509]="DWG_TYPE_ACSH_CONE_CLASS",r[r.DWG_TYPE_ACSH_CYLINDER_CLASS=510]="DWG_TYPE_ACSH_CYLINDER_CLASS",r[r.DWG_TYPE_ACSH_EXTRUSION_CLASS=511]="DWG_TYPE_ACSH_EXTRUSION_CLASS",r[r.DWG_TYPE_ACSH_FILLET_CLASS=512]="DWG_TYPE_ACSH_FILLET_CLASS",r[r.DWG_TYPE_ACSH_HISTORY_CLASS=513]="DWG_TYPE_ACSH_HISTORY_CLASS",r[r.DWG_TYPE_ACSH_LOFT_CLASS=514]="DWG_TYPE_ACSH_LOFT_CLASS",r[r.DWG_TYPE_ACSH_PYRAMID_CLASS=515]="DWG_TYPE_ACSH_PYRAMID_CLASS",r[r.DWG_TYPE_ACSH_REVOLVE_CLASS=516]="DWG_TYPE_ACSH_REVOLVE_CLASS",r[r.DWG_TYPE_ACSH_SPHERE_CLASS=517]="DWG_TYPE_ACSH_SPHERE_CLASS",r[r.DWG_TYPE_ACSH_SWEEP_CLASS=518]="DWG_TYPE_ACSH_SWEEP_CLASS",r[r.DWG_TYPE_ACSH_TORUS_CLASS=519]="DWG_TYPE_ACSH_TORUS_CLASS",r[r.DWG_TYPE_ACSH_WEDGE_CLASS=520]="DWG_TYPE_ACSH_WEDGE_CLASS",r[r.DWG_TYPE_ALDIMOBJECTCONTEXTDATA=521]="DWG_TYPE_ALDIMOBJECTCONTEXTDATA",r[r.DWG_TYPE_ALIGNMENTPARAMETERENTITY=522]="DWG_TYPE_ALIGNMENTPARAMETERENTITY",r[r.DWG_TYPE_ANGDIMOBJECTCONTEXTDATA=523]="DWG_TYPE_ANGDIMOBJECTCONTEXTDATA",r[r.DWG_TYPE_ANNOTSCALEOBJECTCONTEXTDATA=524]="DWG_TYPE_ANNOTSCALEOBJECTCONTEXTDATA",r[r.DWG_TYPE_ARCALIGNEDTEXT=525]="DWG_TYPE_ARCALIGNEDTEXT",r[r.DWG_TYPE_ARC_DIMENSION=526]="DWG_TYPE_ARC_DIMENSION",r[r.DWG_TYPE_ASSOC2DCONSTRAINTGROUP=527]="DWG_TYPE_ASSOC2DCONSTRAINTGROUP",r[r.DWG_TYPE_ASSOC3POINTANGULARDIMACTIONBODY=528]="DWG_TYPE_ASSOC3POINTANGULARDIMACTIONBODY",r[r.DWG_TYPE_ASSOCACTION=529]="DWG_TYPE_ASSOCACTION",r[r.DWG_TYPE_ASSOCACTIONPARAM=530]="DWG_TYPE_ASSOCACTIONPARAM",r[r.DWG_TYPE_ASSOCALIGNEDDIMACTIONBODY=531]="DWG_TYPE_ASSOCALIGNEDDIMACTIONBODY",r[r.DWG_TYPE_ASSOCARRAYACTIONBODY=532]="DWG_TYPE_ASSOCARRAYACTIONBODY",r[r.DWG_TYPE_ASSOCARRAYMODIFYACTIONBODY=533]="DWG_TYPE_ASSOCARRAYMODIFYACTIONBODY",r[r.DWG_TYPE_ASSOCARRAYMODIFYPARAMETERS=534]="DWG_TYPE_ASSOCARRAYMODIFYPARAMETERS",r[r.DWG_TYPE_ASSOCARRAYPATHPARAMETERS=535]="DWG_TYPE_ASSOCARRAYPATHPARAMETERS",r[r.DWG_TYPE_ASSOCARRAYPOLARPARAMETERS=536]="DWG_TYPE_ASSOCARRAYPOLARPARAMETERS",r[r.DWG_TYPE_ASSOCARRAYRECTANGULARPARAMETERS=537]="DWG_TYPE_ASSOCARRAYRECTANGULARPARAMETERS",r[r.DWG_TYPE_ASSOCASMBODYACTIONPARAM=538]="DWG_TYPE_ASSOCASMBODYACTIONPARAM",r[r.DWG_TYPE_ASSOCBLENDSURFACEACTIONBODY=539]="DWG_TYPE_ASSOCBLENDSURFACEACTIONBODY",r[r.DWG_TYPE_ASSOCCOMPOUNDACTIONPARAM=540]="DWG_TYPE_ASSOCCOMPOUNDACTIONPARAM",r[r.DWG_TYPE_ASSOCDEPENDENCY=541]="DWG_TYPE_ASSOCDEPENDENCY",r[r.DWG_TYPE_ASSOCDIMDEPENDENCYBODY=542]="DWG_TYPE_ASSOCDIMDEPENDENCYBODY",r[r.DWG_TYPE_ASSOCEDGEACTIONPARAM=543]="DWG_TYPE_ASSOCEDGEACTIONPARAM",r[r.DWG_TYPE_ASSOCEDGECHAMFERACTIONBODY=544]="DWG_TYPE_ASSOCEDGECHAMFERACTIONBODY",r[r.DWG_TYPE_ASSOCEDGEFILLETACTIONBODY=545]="DWG_TYPE_ASSOCEDGEFILLETACTIONBODY",r[r.DWG_TYPE_ASSOCEXTENDSURFACEACTIONBODY=546]="DWG_TYPE_ASSOCEXTENDSURFACEACTIONBODY",r[r.DWG_TYPE_ASSOCEXTRUDEDSURFACEACTIONBODY=547]="DWG_TYPE_ASSOCEXTRUDEDSURFACEACTIONBODY",r[r.DWG_TYPE_ASSOCFACEACTIONPARAM=548]="DWG_TYPE_ASSOCFACEACTIONPARAM",r[r.DWG_TYPE_ASSOCFILLETSURFACEACTIONBODY=549]="DWG_TYPE_ASSOCFILLETSURFACEACTIONBODY",r[r.DWG_TYPE_ASSOCGEOMDEPENDENCY=550]="DWG_TYPE_ASSOCGEOMDEPENDENCY",r[r.DWG_TYPE_ASSOCLOFTEDSURFACEACTIONBODY=551]="DWG_TYPE_ASSOCLOFTEDSURFACEACTIONBODY",r[r.DWG_TYPE_ASSOCMLEADERACTIONBODY=552]="DWG_TYPE_ASSOCMLEADERACTIONBODY",r[r.DWG_TYPE_ASSOCNETWORK=553]="DWG_TYPE_ASSOCNETWORK",r[r.DWG_TYPE_ASSOCNETWORKSURFACEACTIONBODY=554]="DWG_TYPE_ASSOCNETWORKSURFACEACTIONBODY",r[r.DWG_TYPE_ASSOCOBJECTACTIONPARAM=555]="DWG_TYPE_ASSOCOBJECTACTIONPARAM",r[r.DWG_TYPE_ASSOCOFFSETSURFACEACTIONBODY=556]="DWG_TYPE_ASSOCOFFSETSURFACEACTIONBODY",r[r.DWG_TYPE_ASSOCORDINATEDIMACTIONBODY=557]="DWG_TYPE_ASSOCORDINATEDIMACTIONBODY",r[r.DWG_TYPE_ASSOCOSNAPPOINTREFACTIONPARAM=558]="DWG_TYPE_ASSOCOSNAPPOINTREFACTIONPARAM",r[r.DWG_TYPE_ASSOCPATCHSURFACEACTIONBODY=559]="DWG_TYPE_ASSOCPATCHSURFACEACTIONBODY",r[r.DWG_TYPE_ASSOCPATHACTIONPARAM=560]="DWG_TYPE_ASSOCPATHACTIONPARAM",r[r.DWG_TYPE_ASSOCPERSSUBENTMANAGER=561]="DWG_TYPE_ASSOCPERSSUBENTMANAGER",r[r.DWG_TYPE_ASSOCPLANESURFACEACTIONBODY=562]="DWG_TYPE_ASSOCPLANESURFACEACTIONBODY",r[r.DWG_TYPE_ASSOCPOINTREFACTIONPARAM=563]="DWG_TYPE_ASSOCPOINTREFACTIONPARAM",r[r.DWG_TYPE_ASSOCRESTOREENTITYSTATEACTIONBODY=564]="DWG_TYPE_ASSOCRESTOREENTITYSTATEACTIONBODY",r[r.DWG_TYPE_ASSOCREVOLVEDSURFACEACTIONBODY=565]="DWG_TYPE_ASSOCREVOLVEDSURFACEACTIONBODY",r[r.DWG_TYPE_ASSOCROTATEDDIMACTIONBODY=566]="DWG_TYPE_ASSOCROTATEDDIMACTIONBODY",r[r.DWG_TYPE_ASSOCSWEPTSURFACEACTIONBODY=567]="DWG_TYPE_ASSOCSWEPTSURFACEACTIONBODY",r[r.DWG_TYPE_ASSOCTRIMSURFACEACTIONBODY=568]="DWG_TYPE_ASSOCTRIMSURFACEACTIONBODY",r[r.DWG_TYPE_ASSOCVALUEDEPENDENCY=569]="DWG_TYPE_ASSOCVALUEDEPENDENCY",r[r.DWG_TYPE_ASSOCVARIABLE=570]="DWG_TYPE_ASSOCVARIABLE",r[r.DWG_TYPE_ASSOCVERTEXACTIONPARAM=571]="DWG_TYPE_ASSOCVERTEXACTIONPARAM",r[r.DWG_TYPE_BASEPOINTPARAMETERENTITY=572]="DWG_TYPE_BASEPOINTPARAMETERENTITY",r[r.DWG_TYPE_BLKREFOBJECTCONTEXTDATA=573]="DWG_TYPE_BLKREFOBJECTCONTEXTDATA",r[r.DWG_TYPE_BLOCKALIGNEDCONSTRAINTPARAMETER=574]="DWG_TYPE_BLOCKALIGNEDCONSTRAINTPARAMETER",r[r.DWG_TYPE_BLOCKALIGNMENTGRIP=575]="DWG_TYPE_BLOCKALIGNMENTGRIP",r[r.DWG_TYPE_BLOCKALIGNMENTPARAMETER=576]="DWG_TYPE_BLOCKALIGNMENTPARAMETER",r[r.DWG_TYPE_BLOCKANGULARCONSTRAINTPARAMETER=577]="DWG_TYPE_BLOCKANGULARCONSTRAINTPARAMETER",r[r.DWG_TYPE_BLOCKARRAYACTION=578]="DWG_TYPE_BLOCKARRAYACTION",r[r.DWG_TYPE_BLOCKBASEPOINTPARAMETER=579]="DWG_TYPE_BLOCKBASEPOINTPARAMETER",r[r.DWG_TYPE_BLOCKDIAMETRICCONSTRAINTPARAMETER=580]="DWG_TYPE_BLOCKDIAMETRICCONSTRAINTPARAMETER",r[r.DWG_TYPE_BLOCKFLIPACTION=581]="DWG_TYPE_BLOCKFLIPACTION",r[r.DWG_TYPE_BLOCKFLIPGRIP=582]="DWG_TYPE_BLOCKFLIPGRIP",r[r.DWG_TYPE_BLOCKFLIPPARAMETER=583]="DWG_TYPE_BLOCKFLIPPARAMETER",r[r.DWG_TYPE_BLOCKGRIPLOCATIONCOMPONENT=584]="DWG_TYPE_BLOCKGRIPLOCATIONCOMPONENT",r[r.DWG_TYPE_BLOCKHORIZONTALCONSTRAINTPARAMETER=585]="DWG_TYPE_BLOCKHORIZONTALCONSTRAINTPARAMETER",r[r.DWG_TYPE_BLOCKLINEARCONSTRAINTPARAMETER=586]="DWG_TYPE_BLOCKLINEARCONSTRAINTPARAMETER",r[r.DWG_TYPE_BLOCKLINEARGRIP=587]="DWG_TYPE_BLOCKLINEARGRIP",r[r.DWG_TYPE_BLOCKLINEARPARAMETER=588]="DWG_TYPE_BLOCKLINEARPARAMETER",r[r.DWG_TYPE_BLOCKLOOKUPACTION=589]="DWG_TYPE_BLOCKLOOKUPACTION",r[r.DWG_TYPE_BLOCKLOOKUPGRIP=590]="DWG_TYPE_BLOCKLOOKUPGRIP",r[r.DWG_TYPE_BLOCKLOOKUPPARAMETER=591]="DWG_TYPE_BLOCKLOOKUPPARAMETER",r[r.DWG_TYPE_BLOCKMOVEACTION=592]="DWG_TYPE_BLOCKMOVEACTION",r[r.DWG_TYPE_BLOCKPARAMDEPENDENCYBODY=593]="DWG_TYPE_BLOCKPARAMDEPENDENCYBODY",r[r.DWG_TYPE_BLOCKPOINTPARAMETER=594]="DWG_TYPE_BLOCKPOINTPARAMETER",r[r.DWG_TYPE_BLOCKPOLARGRIP=595]="DWG_TYPE_BLOCKPOLARGRIP",r[r.DWG_TYPE_BLOCKPOLARPARAMETER=596]="DWG_TYPE_BLOCKPOLARPARAMETER",r[r.DWG_TYPE_BLOCKPOLARSTRETCHACTION=597]="DWG_TYPE_BLOCKPOLARSTRETCHACTION",r[r.DWG_TYPE_BLOCKPROPERTIESTABLE=598]="DWG_TYPE_BLOCKPROPERTIESTABLE",r[r.DWG_TYPE_BLOCKPROPERTIESTABLEGRIP=599]="DWG_TYPE_BLOCKPROPERTIESTABLEGRIP",r[r.DWG_TYPE_BLOCKRADIALCONSTRAINTPARAMETER=600]="DWG_TYPE_BLOCKRADIALCONSTRAINTPARAMETER",r[r.DWG_TYPE_BLOCKREPRESENTATION=601]="DWG_TYPE_BLOCKREPRESENTATION",r[r.DWG_TYPE_BLOCKROTATEACTION=602]="DWG_TYPE_BLOCKROTATEACTION",r[r.DWG_TYPE_BLOCKROTATIONGRIP=603]="DWG_TYPE_BLOCKROTATIONGRIP",r[r.DWG_TYPE_BLOCKROTATIONPARAMETER=604]="DWG_TYPE_BLOCKROTATIONPARAMETER",r[r.DWG_TYPE_BLOCKSCALEACTION=605]="DWG_TYPE_BLOCKSCALEACTION",r[r.DWG_TYPE_BLOCKSTRETCHACTION=606]="DWG_TYPE_BLOCKSTRETCHACTION",r[r.DWG_TYPE_BLOCKUSERPARAMETER=607]="DWG_TYPE_BLOCKUSERPARAMETER",r[r.DWG_TYPE_BLOCKVERTICALCONSTRAINTPARAMETER=608]="DWG_TYPE_BLOCKVERTICALCONSTRAINTPARAMETER",r[r.DWG_TYPE_BLOCKVISIBILITYGRIP=609]="DWG_TYPE_BLOCKVISIBILITYGRIP",r[r.DWG_TYPE_BLOCKVISIBILITYPARAMETER=610]="DWG_TYPE_BLOCKVISIBILITYPARAMETER",r[r.DWG_TYPE_BLOCKXYGRIP=611]="DWG_TYPE_BLOCKXYGRIP",r[r.DWG_TYPE_BLOCKXYPARAMETER=612]="DWG_TYPE_BLOCKXYPARAMETER",r[r.DWG_TYPE_CAMERA=613]="DWG_TYPE_CAMERA",r[r.DWG_TYPE_CELLSTYLEMAP=614]="DWG_TYPE_CELLSTYLEMAP",r[r.DWG_TYPE_CONTEXTDATAMANAGER=615]="DWG_TYPE_CONTEXTDATAMANAGER",r[r.DWG_TYPE_CSACDOCUMENTOPTIONS=616]="DWG_TYPE_CSACDOCUMENTOPTIONS",r[r.DWG_TYPE_CURVEPATH=617]="DWG_TYPE_CURVEPATH",r[r.DWG_TYPE_DATALINK=618]="DWG_TYPE_DATALINK",r[r.DWG_TYPE_DATATABLE=619]="DWG_TYPE_DATATABLE",r[r.DWG_TYPE_DBCOLOR=620]="DWG_TYPE_DBCOLOR",r[r.DWG_TYPE_DETAILVIEWSTYLE=621]="DWG_TYPE_DETAILVIEWSTYLE",r[r.DWG_TYPE_DGNDEFINITION=622]="DWG_TYPE_DGNDEFINITION",r[r.DWG_TYPE_DGNUNDERLAY=623]="DWG_TYPE_DGNUNDERLAY",r[r.DWG_TYPE_DICTIONARYVAR=624]="DWG_TYPE_DICTIONARYVAR",r[r.DWG_TYPE_DICTIONARYWDFLT=625]="DWG_TYPE_DICTIONARYWDFLT",r[r.DWG_TYPE_DIMASSOC=626]="DWG_TYPE_DIMASSOC",r[r.DWG_TYPE_DMDIMOBJECTCONTEXTDATA=627]="DWG_TYPE_DMDIMOBJECTCONTEXTDATA",r[r.DWG_TYPE_DWFDEFINITION=628]="DWG_TYPE_DWFDEFINITION",r[r.DWG_TYPE_DWFUNDERLAY=629]="DWG_TYPE_DWFUNDERLAY",r[r.DWG_TYPE_DYNAMICBLOCKPROXYNODE=630]="DWG_TYPE_DYNAMICBLOCKPROXYNODE",r[r.DWG_TYPE_DYNAMICBLOCKPURGEPREVENTER=631]="DWG_TYPE_DYNAMICBLOCKPURGEPREVENTER",r[r.DWG_TYPE_EVALUATION_GRAPH=632]="DWG_TYPE_EVALUATION_GRAPH",r[r.DWG_TYPE_EXTRUDEDSURFACE=633]="DWG_TYPE_EXTRUDEDSURFACE",r[r.DWG_TYPE_FCFOBJECTCONTEXTDATA=634]="DWG_TYPE_FCFOBJECTCONTEXTDATA",r[r.DWG_TYPE_FIELD=635]="DWG_TYPE_FIELD",r[r.DWG_TYPE_FIELDLIST=636]="DWG_TYPE_FIELDLIST",r[r.DWG_TYPE_FLIPPARAMETERENTITY=637]="DWG_TYPE_FLIPPARAMETERENTITY",r[r.DWG_TYPE_FLIPACTIONENTITY=638]="DWG_TYPE_FLIPACTIONENTITY",r[r.DWG_TYPE_GEODATA=639]="DWG_TYPE_GEODATA",r[r.DWG_TYPE_GEOMAPIMAGE=640]="DWG_TYPE_GEOMAPIMAGE",r[r.DWG_TYPE_GEOPOSITIONMARKER=641]="DWG_TYPE_GEOPOSITIONMARKER",r[r.DWG_TYPE_GRADIENT_BACKGROUND=642]="DWG_TYPE_GRADIENT_BACKGROUND",r[r.DWG_TYPE_GROUND_PLANE_BACKGROUND=643]="DWG_TYPE_GROUND_PLANE_BACKGROUND",r[r.DWG_TYPE_HELIX=644]="DWG_TYPE_HELIX",r[r.DWG_TYPE_IBL_BACKGROUND=645]="DWG_TYPE_IBL_BACKGROUND",r[r.DWG_TYPE_IDBUFFER=646]="DWG_TYPE_IDBUFFER",r[r.DWG_TYPE_IMAGE=647]="DWG_TYPE_IMAGE",r[r.DWG_TYPE_IMAGEDEF=648]="DWG_TYPE_IMAGEDEF",r[r.DWG_TYPE_IMAGEDEF_REACTOR=649]="DWG_TYPE_IMAGEDEF_REACTOR",r[r.DWG_TYPE_IMAGE_BACKGROUND=650]="DWG_TYPE_IMAGE_BACKGROUND",r[r.DWG_TYPE_INDEX=651]="DWG_TYPE_INDEX",r[r.DWG_TYPE_LARGE_RADIAL_DIMENSION=652]="DWG_TYPE_LARGE_RADIAL_DIMENSION",r[r.DWG_TYPE_LAYERFILTER=653]="DWG_TYPE_LAYERFILTER",r[r.DWG_TYPE_LAYER_INDEX=654]="DWG_TYPE_LAYER_INDEX",r[r.DWG_TYPE_LAYOUTPRINTCONFIG=655]="DWG_TYPE_LAYOUTPRINTCONFIG",r[r.DWG_TYPE_LEADEROBJECTCONTEXTDATA=656]="DWG_TYPE_LEADEROBJECTCONTEXTDATA",r[r.DWG_TYPE_LIGHT=657]="DWG_TYPE_LIGHT",r[r.DWG_TYPE_LIGHTLIST=658]="DWG_TYPE_LIGHTLIST",r[r.DWG_TYPE_LINEARPARAMETERENTITY=659]="DWG_TYPE_LINEARPARAMETERENTITY",r[r.DWG_TYPE_LOFTEDSURFACE=660]="DWG_TYPE_LOFTEDSURFACE",r[r.DWG_TYPE_MATERIAL=661]="DWG_TYPE_MATERIAL",r[r.DWG_TYPE_MENTALRAYRENDERSETTINGS=662]="DWG_TYPE_MENTALRAYRENDERSETTINGS",r[r.DWG_TYPE_MESH=663]="DWG_TYPE_MESH",r[r.DWG_TYPE_MLEADEROBJECTCONTEXTDATA=664]="DWG_TYPE_MLEADEROBJECTCONTEXTDATA",r[r.DWG_TYPE_MLEADERSTYLE=665]="DWG_TYPE_MLEADERSTYLE",r[r.DWG_TYPE_MOVEACTIONENTITY=666]="DWG_TYPE_MOVEACTIONENTITY",r[r.DWG_TYPE_MOTIONPATH=667]="DWG_TYPE_MOTIONPATH",r[r.DWG_TYPE_MPOLYGON=668]="DWG_TYPE_MPOLYGON",r[r.DWG_TYPE_MTEXTATTRIBUTEOBJECTCONTEXTDATA=669]="DWG_TYPE_MTEXTATTRIBUTEOBJECTCONTEXTDATA",r[r.DWG_TYPE_MTEXTOBJECTCONTEXTDATA=670]="DWG_TYPE_MTEXTOBJECTCONTEXTDATA",r[r.DWG_TYPE_MULTILEADER=671]="DWG_TYPE_MULTILEADER",r[r.DWG_TYPE_NAVISWORKSMODEL=672]="DWG_TYPE_NAVISWORKSMODEL",r[r.DWG_TYPE_NAVISWORKSMODELDEF=673]="DWG_TYPE_NAVISWORKSMODELDEF",r[r.DWG_TYPE_NPOCOLLECTION=674]="DWG_TYPE_NPOCOLLECTION",r[r.DWG_TYPE_NURBSURFACE=675]="DWG_TYPE_NURBSURFACE",r[r.DWG_TYPE_OBJECT_PTR=676]="DWG_TYPE_OBJECT_PTR",r[r.DWG_TYPE_ORDDIMOBJECTCONTEXTDATA=677]="DWG_TYPE_ORDDIMOBJECTCONTEXTDATA",r[r.DWG_TYPE_PARTIAL_VIEWING_INDEX=678]="DWG_TYPE_PARTIAL_VIEWING_INDEX",r[r.DWG_TYPE_PDFDEFINITION=679]="DWG_TYPE_PDFDEFINITION",r[r.DWG_TYPE_PDFUNDERLAY=680]="DWG_TYPE_PDFUNDERLAY",r[r.DWG_TYPE_PERSUBENTMGR=681]="DWG_TYPE_PERSUBENTMGR",r[r.DWG_TYPE_PLANESURFACE=682]="DWG_TYPE_PLANESURFACE",r[r.DWG_TYPE_PLOTSETTINGS=683]="DWG_TYPE_PLOTSETTINGS",r[r.DWG_TYPE_POINTCLOUD=684]="DWG_TYPE_POINTCLOUD",r[r.DWG_TYPE_POINTCLOUDCOLORMAP=685]="DWG_TYPE_POINTCLOUDCOLORMAP",r[r.DWG_TYPE_POINTCLOUDDEF=686]="DWG_TYPE_POINTCLOUDDEF",r[r.DWG_TYPE_POINTCLOUDDEFEX=687]="DWG_TYPE_POINTCLOUDDEFEX",r[r.DWG_TYPE_POINTCLOUDDEF_REACTOR=688]="DWG_TYPE_POINTCLOUDDEF_REACTOR",r[r.DWG_TYPE_POINTCLOUDDEF_REACTOR_EX=689]="DWG_TYPE_POINTCLOUDDEF_REACTOR_EX",r[r.DWG_TYPE_POINTCLOUDEX=690]="DWG_TYPE_POINTCLOUDEX",r[r.DWG_TYPE_POINTPARAMETERENTITY=691]="DWG_TYPE_POINTPARAMETERENTITY",r[r.DWG_TYPE_POINTPATH=692]="DWG_TYPE_POINTPATH",r[r.DWG_TYPE_POLARGRIPENTITY=693]="DWG_TYPE_POLARGRIPENTITY",r[r.DWG_TYPE_RADIMLGOBJECTCONTEXTDATA=694]="DWG_TYPE_RADIMLGOBJECTCONTEXTDATA",r[r.DWG_TYPE_RADIMOBJECTCONTEXTDATA=695]="DWG_TYPE_RADIMOBJECTCONTEXTDATA",r[r.DWG_TYPE_RAPIDRTRENDERSETTINGS=696]="DWG_TYPE_RAPIDRTRENDERSETTINGS",r[r.DWG_TYPE_RASTERVARIABLES=697]="DWG_TYPE_RASTERVARIABLES",r[r.DWG_TYPE_RENDERENTRY=698]="DWG_TYPE_RENDERENTRY",r[r.DWG_TYPE_RENDERENVIRONMENT=699]="DWG_TYPE_RENDERENVIRONMENT",r[r.DWG_TYPE_RENDERGLOBAL=700]="DWG_TYPE_RENDERGLOBAL",r[r.DWG_TYPE_RENDERSETTINGS=701]="DWG_TYPE_RENDERSETTINGS",r[r.DWG_TYPE_REVOLVEDSURFACE=702]="DWG_TYPE_REVOLVEDSURFACE",r[r.DWG_TYPE_ROTATIONPARAMETERENTITY=703]="DWG_TYPE_ROTATIONPARAMETERENTITY",r[r.DWG_TYPE_ROTATEACTIONENTITY=704]="DWG_TYPE_ROTATEACTIONENTITY",r[r.DWG_TYPE_RTEXT=705]="DWG_TYPE_RTEXT",r[r.DWG_TYPE_SCALE=706]="DWG_TYPE_SCALE",r[r.DWG_TYPE_SCALEACTIONENTITY=707]="DWG_TYPE_SCALEACTIONENTITY",r[r.DWG_TYPE_SECTIONOBJECT=708]="DWG_TYPE_SECTIONOBJECT",r[r.DWG_TYPE_SECTIONVIEWSTYLE=709]="DWG_TYPE_SECTIONVIEWSTYLE",r[r.DWG_TYPE_SECTION_MANAGER=710]="DWG_TYPE_SECTION_MANAGER",r[r.DWG_TYPE_SECTION_SETTINGS=711]="DWG_TYPE_SECTION_SETTINGS",r[r.DWG_TYPE_SKYLIGHT_BACKGROUND=712]="DWG_TYPE_SKYLIGHT_BACKGROUND",r[r.DWG_TYPE_SOLID_BACKGROUND=713]="DWG_TYPE_SOLID_BACKGROUND",r[r.DWG_TYPE_SORTENTSTABLE=714]="DWG_TYPE_SORTENTSTABLE",r[r.DWG_TYPE_SPATIAL_FILTER=715]="DWG_TYPE_SPATIAL_FILTER",r[r.DWG_TYPE_SPATIAL_INDEX=716]="DWG_TYPE_SPATIAL_INDEX",r[r.DWG_TYPE_STRETCHACTIONENTITY=717]="DWG_TYPE_STRETCHACTIONENTITY",r[r.DWG_TYPE_SUN=718]="DWG_TYPE_SUN",r[r.DWG_TYPE_SUNSTUDY=719]="DWG_TYPE_SUNSTUDY",r[r.DWG_TYPE_SWEPTSURFACE=720]="DWG_TYPE_SWEPTSURFACE",r[r.DWG_TYPE_TABLE=721]="DWG_TYPE_TABLE",r[r.DWG_TYPE_TABLECONTENT=722]="DWG_TYPE_TABLECONTENT",r[r.DWG_TYPE_TABLEGEOMETRY=723]="DWG_TYPE_TABLEGEOMETRY",r[r.DWG_TYPE_TABLESTYLE=724]="DWG_TYPE_TABLESTYLE",r[r.DWG_TYPE_TEXTOBJECTCONTEXTDATA=725]="DWG_TYPE_TEXTOBJECTCONTEXTDATA",r[r.DWG_TYPE_TVDEVICEPROPERTIES=726]="DWG_TYPE_TVDEVICEPROPERTIES",r[r.DWG_TYPE_VISIBILITYGRIPENTITY=727]="DWG_TYPE_VISIBILITYGRIPENTITY",r[r.DWG_TYPE_VISIBILITYPARAMETERENTITY=728]="DWG_TYPE_VISIBILITYPARAMETERENTITY",r[r.DWG_TYPE_VISUALSTYLE=729]="DWG_TYPE_VISUALSTYLE",r[r.DWG_TYPE_WIPEOUT=730]="DWG_TYPE_WIPEOUT",r[r.DWG_TYPE_WIPEOUTVARIABLES=731]="DWG_TYPE_WIPEOUTVARIABLES",r[r.DWG_TYPE_XREFPANELOBJECT=732]="DWG_TYPE_XREFPANELOBJECT",r[r.DWG_TYPE_XYPARAMETERENTITY=733]="DWG_TYPE_XYPARAMETERENTITY",r[r.DWG_TYPE_BREAKDATA=734]="DWG_TYPE_BREAKDATA",r[r.DWG_TYPE_BREAKPOINTREF=735]="DWG_TYPE_BREAKPOINTREF",r[r.DWG_TYPE_FLIPGRIPENTITY=736]="DWG_TYPE_FLIPGRIPENTITY",r[r.DWG_TYPE_LINEARGRIPENTITY=737]="DWG_TYPE_LINEARGRIPENTITY",r[r.DWG_TYPE_ROTATIONGRIPENTITY=738]="DWG_TYPE_ROTATIONGRIPENTITY",r[r.DWG_TYPE_XYGRIPENTITY=739]="DWG_TYPE_XYGRIPENTITY",r[r.DWG_TYPE__3DLINE=740]="DWG_TYPE__3DLINE",r[r.DWG_TYPE_REPEAT=741]="DWG_TYPE_REPEAT",r[r.DWG_TYPE_ENDREP=742]="DWG_TYPE_ENDREP",r[r.DWG_TYPE_JUMP=743]="DWG_TYPE_JUMP",r[r.DWG_TYPE_LOAD=744]="DWG_TYPE_LOAD",r[r.DWG_TYPE_FREED=65533]="DWG_TYPE_FREED",r[r.DWG_TYPE_UNKNOWN_ENT=65534]="DWG_TYPE_UNKNOWN_ENT",r[r.DWG_TYPE_UNKNOWN_OBJ=65535]="DWG_TYPE_UNKNOWN_OBJ",r))(Y||{});Object.fromEntries(Object.entries(Y).map(([r,t])=>[t,r]));var Yn=(r=>(r[r.DWG=0]="DWG",r[r.DXF=1]="DXF",r))(Yn||{}),Ue=(r=>(r[r.Line=1]="Line",r[r.CircularArc=2]="CircularArc",r[r.EllipticArc=3]="EllipticArc",r[r.Spline=4]="Spline",r))(Ue||{}),fe=(r=>(r[r.ByLayer=192]="ByLayer",r[r.ByBlock=193]="ByBlock",r[r.Entities=194]="Entities",r[r.TrueColor=195]="TrueColor",r[r.ForegroundColor=197]="ForegroundColor",r[r.None=200]="None",r))(fe||{});const _r=192,dr=193,Io=194,In=195,lr=200;function Ar(r){if(r==null)return;const t=r.method,o=r.method!=null&&t!==0?t:r.rgb>>>24&255,n=r.index;if(r.rgb!=null&&o>=_r&&o<=lr&&(r.rgb>>>24&255)===o)return r.rgb>>0;if(o===fe.ByLayer||n===256)return _r<<24>>0;if(o===fe.ByBlock||n===0)return dr<<24>>0;if(o===fe.None)return lr<<24>>0;if(o===fe.TrueColor){const d=r.rgb!=null?r.rgb&16777215:void 0;if(d!=null)return(Io<<24|d)>>0}return o===fe.ForegroundColor?(In<<24|7)>>0:o===fe.Entities&&n>0&&n<256||n>0&&n<256?(In<<24|n&255)>>0:dr<<24>>0}const vo="*MODEL_SPACE",mo="*PAPER_SPACE",Sn=r=>r&&r.toUpperCase()==vo,Co=r=>r&&r.toUpperCase().startsWith(mo),It=r=>r.toString(16).toUpperCase(),$e=r=>{const t=new Array(r.length);for(let o=0;o<r.length;o++)t[o]=r[o].toString(16).toUpperCase().padStart(2,"0");return t.join("")},wo=r=>{if(!r||r.length<98)return null;const t=new DataView(r.buffer,r.byteOffset,r.byteLength),o=_=>({x:t.getFloat64(_,!0),y:t.getFloat64(_+8,!0),z:t.getFloat64(_+16,!0)}),n=o(2),d=o(50);return[n.x,n.y,n.z,d.x,d.y,d.z].every(Number.isFinite)?{upperLeft:n,lowerRight:d}:null};class Do{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,o=!1){(o||this.layers.size==0)&&(this.layers.clear(),t.tables.LAYER.entries.forEach(n=>{this.layers.set(n.handle,n.name)})),(o||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 o=this.libredwg,n=o.dwg_object_to_entity(t),d=o.dwg_object_to_entity_tio(t);if(n&&d){const _=this.getCommonAttrs(n),c=o.dwg_object_get_fixedtype(t);if(c==Y.DWG_TYPE_3DFACE)return this.convert3dFace(d,_);if(c==Y.DWG_TYPE_3DSOLID)return this.convert3dSolid(d,_);if(c==Y.DWG_TYPE_ARC)return this.convertArc(d,_);if(c==Y.DWG_TYPE_ARCALIGNEDTEXT)return this.convertArcAlignedText(d,_);if(c==Y.DWG_TYPE_ATTDEF)return this.convertAttdef(d,_);if(c==Y.DWG_TYPE_CIRCLE)return this.convertCircle(d,_);if(c==Y.DWG_TYPE_DIMENSION_ALIGNED||c==Y.DWG_TYPE_DIMENSION_LINEAR)return this.convertAlignedDimension(d,_);if(c==Y.DWG_TYPE_DIMENSION_ANG3PT)return this.convert3PointAngularDimension(d,_);if(c==Y.DWG_TYPE_DIMENSION_ANG2LN)return this.convert2LineAngularDimension(d,_);if(c==Y.DWG_TYPE_DIMENSION_DIAMETER)return this.convertDiameterDimension(d,_);if(c==Y.DWG_TYPE_DIMENSION_ORDINATE)return this.convertOrdinateDimension(d,_);if(c==Y.DWG_TYPE_DIMENSION_RADIUS)return this.convertRadiusDimension(d,_);if(c==Y.DWG_TYPE_ELLIPSE)return this.convertEllise(d,_);if(c==Y.DWG_TYPE_HATCH)return this.convertHatch(d,_);if(c==Y.DWG_TYPE_IMAGE)return this.convertImage(d,_);if(c==Y.DWG_TYPE_INSERT)return this.convertInsert(d,_);if(c==Y.DWG_TYPE_LEADER)return this.convertLeader(d,_);if(c==Y.DWG_TYPE_LINE)return this.convertLine(d,_);if(c==Y.DWG_TYPE_LWPOLYLINE)return this.convertLWPolyline(d,_);if(c==Y.DWG_TYPE_MLINE)return this.convertMLine(d,_);if(c==Y.DWG_TYPE_MULTILEADER)return this.convertMultiLeader(d,_);if(c==Y.DWG_TYPE_MTEXT)return this.convertMText(d,_);if(c==Y.DWG_TYPE_OLE2FRAME)return this.convertOle2Frame(d,_);if(c==Y.DWG_TYPE_OLEFRAME)return this.convertOleFrame(d,_);if(c==Y.DWG_TYPE_POINT)return this.convertPoint(d,_);if(c==Y.DWG_TYPE_POLYLINE_2D)return this.convertPolyline2d(d,_,t);if(c==Y.DWG_TYPE_POLYLINE_3D)return this.convertPolyline3d(d,_,t);if(c==Y.DWG_TYPE_PROXY_ENTITY)return this.convertProxyEntity(d,_,t);if(c==Y.DWG_TYPE_RAY)return this.convertRay(d,_);if(c==Y.DWG_TYPE_SECTIONOBJECT)return this.convertSection(d,_);if(c==Y.DWG_TYPE_SHAPE)return this.convertShape(d,_);if(c==Y.DWG_TYPE_SOLID)return this.convertSolid(d,_);if(c==Y.DWG_TYPE_TRACE)return this.convertTrace(d,_);if(c==Y.DWG_TYPE_SPLINE)return this.convertSpline(d,_);if(c==Y.DWG_TYPE_TABLE)return this.convertTable(d,_);if(c==Y.DWG_TYPE_TEXT)return this.convertText(d,_);if(c==Y.DWG_TYPE_TOLERANCE)return this.convertTolerance(d,_);if(c==Y.DWG_TYPE_VIEWPORT)return this.convertViewport(d,_);if(c==Y.DWG_TYPE_WIPEOUT)return this.convertWipeout(d,_);if(c==Y.DWG_TYPE_XLINE)return this.convertXline(d,_);c===Y.DWG_TYPE_UNKNOWN_ENT&&this.unknownEntityCount++}}convert3dFace(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"corner1"),_=n.dwg_dynapi_entity_data(t,"corner2"),c=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",...o,corner1:d,corner2:_,corner3:c,corner4:f,flag:h}}convert3dSolid(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"version"),_=n.dwg_dynapi_entity_data(t,"acis_empty"),c=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),T={type:"3DSOLID",subclassMarker:"AcDb3dSolid",...o};if(d&&(T.version=d),T.satCache=_,c&&(T.data=c),f){const I=n.dwg_dynapi_entity_field_offset(t,"revision_guid");if(I>=0){const p=n.UTF8ToString(t+I,38);p&&(T.guid=p)}}return A&&(T.historyObjectSoftId=A),T}convertArc(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"center"),_=n.dwg_dynapi_entity_data(t,"radius"),c=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",...o,thickness:c,center:d,radius:_,startAngle:h,endAngle:A,extrusionDirection:f}}convertArcAlignedText(t,o){const n=this.libredwg,d=(A,T=0)=>{const I=n.dwg_dynapi_entity_data(t,A);if(typeof I=="number"&&Number.isFinite(I))return I;if(typeof I=="string"&&I.trim()!==""){const p=Number(I);if(Number.isFinite(p))return p}return T},_=n.dwg_dynapi_entity_data(t,"center"),c=n.dwg_dynapi_entity_data(t,"extrusion"),f=n.dwg_dynapi_entity_data(t,"arc_handle"),h=d("xscale",1);return{type:"ARCALIGNEDTEXT",...o,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:c??{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,o){const n=this.libredwg,d=n.dwg_dynapi_subclass_data(t,o,"attachment"),_=n.dwg_dynapi_subclass_data(t,o,"ins_pt"),c=n.dwg_dynapi_subclass_data(t,o,"x_axis_dir"),f=n.dwg_dynapi_subclass_data(t,o,"rect_height"),h=n.dwg_dynapi_subclass_data(t,o,"rect_width"),A=n.dwg_dynapi_subclass_data(t,o,"extents_height"),T=n.dwg_dynapi_subclass_data(t,o,"extents_width");return{insertionPoint:_,rectHeight:f,rectWidth:h,extentsHeight:A,extentsWidth:T,attachmentPoint:d,direction:c}}convertAttdef(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"default_value"),_=this.convertTextBase(t);_.text=d;const c=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"),T=n.dwg_dynapi_entity_data(t,"lock_position_flag"),I=n.dwg_dynapi_entity_data(t,"keep_duplicate_records"),p=n.dwg_dynapi_entity_data(t,"is_really_locked"),v=n.dwg_dynapi_entity_data(t,"mtext_type"),w=n.dwg_dynapi_entity_data(t,"alignment_pt");return{type:"ATTDEF",...o,text:this.convertTextBase(t),prompt:c,tag:f,flags:h,fieldLength:A,lockPositionFlag:T>0,duplicateRecordCloningFlag:I>0,mtextFlag:v,isReallyLocked:p>0,alignmentPoint:w,annotationScale:1,attrTag:"",mtext:this.convertEmbeddedMText(t,"ATTDEF_mtext")}}convertAttrib(t,o){const n=this.libredwg,d=this.convertTextBase(t),_=n.dwg_dynapi_entity_data(t,"tag"),c=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"),T=n.dwg_dynapi_entity_data(t,"mtext_type"),I=n.dwg_dynapi_entity_data(t,"is_really_locked"),p=n.dwg_dynapi_entity_data(t,"alignment_pt");return{type:"ATTRIB",...o,text:d,tag:_,flags:c,fieldLength:f,lockPositionFlag:!!h,duplicateRecordCloningFlag:!!A,mtextFlag:T,isReallyLocked:!!I,numberOfSecondaryAttrs:0,secondaryAttrsHardId:"0",alignmentPoint:{...p,z:0},annotationScale:1,attrTag:"",mtext:this.convertEmbeddedMText(t,"ATTDEF_mtext")}}convertCircle(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"center"),_=n.dwg_dynapi_entity_data(t,"radius"),c=n.dwg_dynapi_entity_data(t,"thickness"),f=n.dwg_dynapi_entity_data(t,"extrusion");return{type:"CIRCLE",...o,thickness:c,center:d,radius:_,extrusionDirection:f}}convertAlignedDimension(t,o){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"clone_ins_pt"),c=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",...o,...d,insertionPoint:_,subDefinitionPoint1:c,subDefinitionPoint2:f,rotationAngle:h??0,obliqueAngle:A}}convert3PointAngularDimension(t,o){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"xline1_pt"),c=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",...o,...d,subDefinitionPoint1:_,subDefinitionPoint2:c,centerPoint:f,arcPoint:h}}convert2LineAngularDimension(t,o){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"xline1start_pt"),c=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",...o,...d,subDefinitionPoint1:_??c??A??h,subDefinitionPoint2:f??h??A??c,centerPoint:A??f??c??h,arcPoint:h??d.definitionPoint}}convertDiameterDimension(t,o){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"first_arc_pt"),c=n.dwg_dynapi_entity_data(t,"leader_len");return{subclassMarker:"AcDbDiametricDimension",...o,...d,centerPoint:_,leaderLength:c}}convertOrdinateDimension(t,o){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"feature_location_pt"),c=n.dwg_dynapi_entity_data(t,"leader_endpt");return{subclassMarker:"AcDbOrdinateDimension",...o,...d,subDefinitionPoint1:_,subDefinitionPoint2:c}}convertRadiusDimension(t,o){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"first_arc_pt"),c=n.dwg_dynapi_entity_data(t,"leader_len");return{subclassMarker:"AcDbRadialDimension",...o,...d,centerPoint:_,leaderLength:c}}convertEllise(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"center"),_=n.dwg_dynapi_entity_data(t,"sm_axis"),c=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",...o,center:d,majorAxisEndPoint:_,extrusionDirection:c,axisRatio:f,startAngle:h,endAngle:A}}convertHatch(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"extrusion"),_=n.dwg_dynapi_entity_data(t,"name"),c=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"),T=n.dwg_ptr_to_hatch_path_array(A,h),I=n.dwg_dynapi_entity_data(t,"style"),p=n.dwg_dynapi_entity_data(t,"pattern_type"),v=n.dwg_dynapi_entity_data(t,"angle"),w=n.dwg_dynapi_entity_data(t,"scale_spacing"),C=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,C),N=n.dwg_dynapi_entity_data(t,"pixel_size"),G=n.dwg_dynapi_entity_data(t,"num_seeds"),b=n.dwg_dynapi_entity_data(t,"seeds"),k=n.dwg_ptr_to_point2d_array(b,G),U={...o,extrusionDirection:d,patternName:_,solidFill:c?mn.SolidFill:mn.PatternFill,associativity:f?Cn.Associative:Cn.NonAssociative,numberOfBoundaryPaths:h,boundaryPaths:this.convertHatchBoundaryPaths(T),hatchStyle:I,patternType:p,patternAngle:v,patternScale:w,numberOfDefinitionLines:C,definitionLines:S.map(et=>({angle:et.angle,base:et.pt0,offset:et.offset,numberOfDashLengths:et.dashes.length,dashLengths:et.dashes})),pixelSize:N,numberOfSeedPoints:G,seedPoints:k};if(n.dwg_dynapi_entity_data(t,"is_gradient_fill")>0){const et=n.dwg_dynapi_entity_data(t,"gradient_name"),ft=n.dwg_dynapi_entity_data(t,"gradient_angle"),Z=n.dwg_dynapi_entity_data(t,"gradient_shift"),ut=n.dwg_dynapi_entity_data(t,"gradient_tint"),Et=n.dwg_dynapi_entity_data(t,"single_color_gradient"),ht=n.dwg_dynapi_entity_data(t,"colors"),mt=n.dwg_ptr_to_hatch_gradient_color_array(ht,Et==1?1:2);return{type:"HATCH",...U,gradientFlag:hr.Gradient,gradientColorFlag:Et==1?wn.OneColor:wn.TwoColor,gradientName:et,gradientRotation:ft,gradientDefinition:Z,colorTint:ut,gradientColors:mt}}else return{type:"HATCH",...U}}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(c=>{if(c.curve_type==Ue.Line)return{type:Fe.Line,start:c.first_endpoint,end:c.second_endpoint};if(c.curve_type==Ue.CircularArc)return{type:Fe.Circular,center:c.center,radius:c.radius,startAngle:c.start_angle,endAngle:c.end_angle,isCCW:c.is_ccw};if(c.curve_type==Ue.EllipticArc)return{type:Fe.Elliptic,center:c.center,end:c.endpoint,lengthOfMinorAxis:c.minor_major_ratio,startAngle:c.start_angle,endAngle:c.end_angle,isCCW:c.is_ccw};if(c.curve_type==Ue.Spline)return{type:Fe.Spline,degree:c.degree,isRational:c.is_rational,isPeriodic:c.is_periodic,numberOfKnots:c.num_knots,numberOfControlPoints:c.num_control_points,knots:c.knots,controlPoints:c.control_points,numberOfFitData:c.num_fitpts,fitDatum:c.fitpts,startTangent:c.start_tangent,endTangent:c.end_tangent}}).filter(c=>c!=null);return{...d,numberOfEdges:_.length,edges:_}}})}convertImage(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"class_version"),_=n.dwg_dynapi_entity_data(t,"pt0"),c=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"),T=n.dwg_dynapi_entity_data(t,"clipping"),I=n.dwg_dynapi_entity_data(t,"brightness"),p=n.dwg_dynapi_entity_data(t,"contrast"),v=n.dwg_dynapi_entity_data(t,"fade"),w=n.dwg_dynapi_entity_data(t,"clip_mode"),C=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"),N=n.dwg_ptr_to_point3d_array(S,m),G=n.dwg_dynapi_entity_data(t,"imagedef"),b=n.dwg_ref_get_id(G)??"",k=n.dwg_dynapi_entity_data(t,"imagedefreactor"),U=n.dwg_ref_get_id(k)??"";return{type:"IMAGE",...o,version:d,position:_,uPixel:c,vPixel:f,imageSize:h,imageDefHandle:b,flags:A,clipping:T,brightness:I,contrast:p,fade:v,imageDefReactorHandle:U,clippingBoundaryType:C,countBoundaryPoints:m,clippingBoundaryPath:N,clipMode:w}}convertInsert(t,o){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 c=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"),T=n.dwg_dynapi_entity_data(t,"num_rows"),I=n.dwg_dynapi_entity_data(t,"col_spacing"),p=n.dwg_dynapi_entity_data(t,"row_spacing"),v=n.dwg_dynapi_entity_data(t,"extrusion"),w=n.dwg_entity_insert_get_attribs(t),C=[];return w.forEach(m=>{const S=n.dwg_object_to_entity(m),N=n.dwg_object_to_entity_tio(m);if(S&&N){const G=this.getCommonAttrs(S);n.dwg_object_get_fixedtype(m)==Y.DWG_TYPE_ATTRIB&&C.push(this.convertAttrib(N,G))}}),{type:"INSERT",...o,name:d,insertionPoint:c,xScale:f?f.x:1,yScale:f?f.y:1,zScale:f?f.z:1,rotation:h,columnCount:A,rowCount:T,columnSpacing:I,rowSpacing:p,extrusionDirection:v,attribs:C}}convertLeader(t,o){const n=this.libredwg,d=n.dwg_entity_mtext_get_style_name(t),_=n.dwg_dynapi_entity_data(t,"arrowhead_type"),c=n.dwg_dynapi_entity_data(t,"path_type"),f=n.dwg_dynapi_entity_data(t,"annot_type"),h=n.dwg_dynapi_entity_data(t,"hookline_dir"),A=n.dwg_dynapi_entity_data(t,"hookline_on"),T=n.dwg_dynapi_entity_data(t,"box_height"),I=n.dwg_dynapi_entity_data(t,"box_width"),p=n.dwg_dynapi_entity_data(t,"num_points"),v=n.dwg_dynapi_entity_data(t,"points"),w=p>0?n.dwg_ptr_to_point3d_array(v,p):[],C=n.dwg_dynapi_entity_data(t,"byblock_color"),m=n.dwg_dynapi_entity_data(t,"extrusion"),S=n.dwg_dynapi_entity_data(t,"x_direction"),N=n.dwg_dynapi_entity_data(t,"inspt_offset"),G=n.dwg_dynapi_entity_data(t,"endptproj");return{type:"LEADER",...o,styleName:d,isArrowheadEnabled:_>0,isSpline:c>0,leaderCreationFlag:f,isHooklineSameDirection:h>0,isHooklineExists:A>0,textHeight:T,textWidth:I,numberOfVertices:p,vertices:w,byBlockColor:C,normal:m,horizontalDirection:S,offsetFromBlock:N,offsetFromAnnotation:G}}convertLine(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"start"),_=n.dwg_dynapi_entity_data(t,"end"),c=n.dwg_dynapi_entity_data(t,"thickness"),f=n.dwg_dynapi_entity_data(t,"extrusion");return{type:"LINE",...o,thickness:c,startPoint:d,endPoint:_,extrusionDirection:f}}convertLWPolyline(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"num_points"),_=n.dwg_dynapi_entity_data(t,"flag"),c=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"),T=[],I=n.dwg_dynapi_entity_data(t,"num_points"),p=n.dwg_dynapi_entity_data(t,"points"),v=n.dwg_ptr_to_point2d_array(p,I),w=n.dwg_dynapi_entity_data(t,"num_bulges"),C=n.dwg_dynapi_entity_data(t,"bulges"),m=n.dwg_ptr_to_double_array(C,w),S=n.dwg_dynapi_entity_data(t,"num_widths")??0,N=n.dwg_dynapi_entity_data(t,"widths"),G=S>0&&N?n.dwg_ptr_to_double_array(N,S*2):[];return v.forEach((b,k)=>{const U={id:k,x:b.x,y:b.y,bulge:m.length>k?m[k]:0};k<S&&G.length>=(k+1)*2&&(U.startWidth=G[k*2],U.endWidth=G[k*2+1]),T.push(U)}),{type:"LWPOLYLINE",...o,numberOfVertices:d,flag:_,constantWidth:c,elevation:f,thickness:h,extrusionDirection:A,vertices:T}}convertMLine(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"scale"),_=n.dwg_dynapi_entity_data(t,"flags"),c=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"),T=n.dwg_dynapi_entity_data(t,"num_verts"),I=n.dwg_dynapi_entity_data(t,"verts"),p=n.dwg_ptr_to_mline_vertex_array(I,T),v=[];return p.forEach(w=>{v.push({vertex:w.vertex,vertexDirection:w.vertex_direction,miterDirection:w.miter_direction,numberOfLines:w.num_lines,lines:w.lines.map(C=>({numberOfSegmentParams:C.num_segparms,segmentParams:C.segparms,numberOfAreaFillParams:C.num_areafillparms,areaFillParams:C.areafillparms}))})}),{type:"MLINE",...o,scale:d,flags:_,justification:c,startPoint:f,extrusionDirection:h,numberOfLines:A,numberOfVertices:T,vertices:v,mlineStyle:""}}convertMultiLeader(t,o){const n=this.libredwg,d=K=>n.dwg_dynapi_entity_data(t,K),_=(K,j,Qt)=>n.dwg_dynapi_subclass_data(K,j,Qt),c=K=>n.dwg_ref_get_id(K),f=K=>K>0,h=K=>K!=null?Ar(K):void 0,A=d("class_version"),T=c(d("mleaderstyle")),I=d("flags"),p=d("type"),v=h(d("line_color")),w=c(d("line_ltype")),C=d("line_linewt"),m=f(d("has_landing")),S=f(d("has_dogleg")),N=d("landing_dist"),G=c(d("arrow_handle")),b=d("arrow_size"),k=d("style_content"),U=c(d("text_style")),J=d("text_left"),et=d("text_right"),ft=d("text_angletype"),Z=d("text_alignment"),ut=h(d("text_color")),Et=f(d("has_text_frame")),ht=c(d("block_style")),mt=h(d("block_color")),Gt=d("block_scale"),Wt=d("block_rotation"),Mt=d("style_attachment"),bt=f(d("is_annotative")),dt=f(d("is_neg_textdir")),O=d("ipe_alignment");let tt=d("justification");const z=d("attach_dir"),xt=d("attach_bottom"),kt=d("attach_top"),gt=d("scale_factor"),B=d("num_arrowheads"),$t=d("arrowheads"),lt=n.dwg_dynapi_subclass_size("LEADER_ArrowHead"),Dt=[];for(let K=0;K<B;K++){const j=$t+K*lt;Dt.push({index:_(j,"LEADER_ArrowHead","is_default"),handle:c(_(j,"LEADER_ArrowHead","arrowhead"))??""})}const Vt=d("num_blocklabels"),ae=d("blocklabels"),Ht=n.dwg_dynapi_subclass_size("LEADER_BlockLabel"),Ot=[];for(let K=0;K<Vt;K++){const j=ae+K*Ht;Ot.push({id:c(_(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"),Xt=_(q,"MLEADER_AnnotContext","scale_factor"),ge=_(q,"MLEADER_AnnotContext","content_base"),Bt=_(q,"MLEADER_AnnotContext","landing_gap"),Se=_(q,"MLEADER_AnnotContext","attach_dir"),Ae=_(q,"MLEADER_AnnotContext","text_height"),Le=_(q,"MLEADER_AnnotContext","arrow_size"),Kt=_(q,"MLEADER_AnnotContext","text_left"),Rt=_(q,"MLEADER_AnnotContext","text_right"),X=_(q,"MLEADER_AnnotContext","text_angletype"),Ye=_(q,"MLEADER_AnnotContext","text_alignment"),zt=f(_(q,"MLEADER_AnnotContext","has_content_txt")),Ct=f(_(q,"MLEADER_AnnotContext","has_content_blk")),Te=_(q,"MLEADER_AnnotContext","base"),Pe=_(q,"MLEADER_AnnotContext","base_dir"),St=_(q,"MLEADER_AnnotContext","base_vert"),oe=f(_(q,"MLEADER_AnnotContext","is_normal_reversed"));let Lt,ie,Jt,ye,At,se,x,pe,_e,Zt,Ie,ve,Tt,Yt,me,Ce,de,we,le,Ve,l;if(zt){const K=_(V,"MLEADER_Content_MText","alignment");K!=null&&K!==0&&(tt=K),ie=_(V,"MLEADER_Content_MText","normal"),x=_(V,"MLEADER_Content_MText","location"),Jt=_(V,"MLEADER_Content_MText","rotation"),pe=_(V,"MLEADER_Content_MText","direction"),ye=_(V,"MLEADER_Content_MText","width"),At=_(V,"MLEADER_Content_MText","line_spacing_factor"),se=_(V,"MLEADER_Content_MText","line_spacing_style"),Lt=_(V,"MLEADER_Content_MText","flow"),_e=h(_(V,"MLEADER_Content_MText","bg_color")),Zt=_(V,"MLEADER_Content_MText","bg_scale"),Ie=_(V,"MLEADER_Content_MText","bg_transparency"),Tt=f(_(V,"MLEADER_Content_MText","is_bg_fill")),ve=f(_(V,"MLEADER_Content_MText","is_bg_mask_fill")),Yt=_(V,"MLEADER_Content_MText","col_type"),me=f(_(V,"MLEADER_Content_MText","is_height_auto")),Ce=_(V,"MLEADER_Content_MText","col_width"),de=_(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"),Qt=_(V,"MLEADER_Content_MText","col_sizes");j>0&&(le=n.dwg_ptr_to_double_array(Qt,j)[0]),Ve=f(_(V,"MLEADER_Content_MText","word_break")),l=_(V,"MLEADER_Content_MText","default_text")}let qt;if(Ct){const K=_(V,"MLEADER_Content_Block","transform");qt={blockContentId:c(_(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:K?n.dwg_ptr_to_double_array(K,16):void 0}}const Q=_(q,"MLEADER_AnnotContext","num_leaders"),dn=_(q,"MLEADER_AnnotContext","leaders"),ln=n.dwg_dynapi_subclass_size("LEADER_Node"),cn=n.dwg_dynapi_subclass_size("LEADER_Line"),He=n.dwg_dynapi_subclass_size("LEADER_Break"),Ne=[];for(let K=0;K<Q;K++){const j=dn+K*ln,Qt=f(_(j,"LEADER_Node","has_lastleaderlinepoint")),st=f(_(j,"LEADER_Node","has_dogleg")),jt=_(j,"LEADER_Node","num_breaks"),Ft=_(j,"LEADER_Node","breaks"),te=[];for(let ot=0;ot<jt;ot++){const wt=Ft+ot*He;te.push({start:_(wt,"LEADER_Break","start"),end:_(wt,"LEADER_Break","end")})}const De=_(j,"LEADER_Node","num_lines"),$=_(j,"LEADER_Node","lines"),Xe=[];for(let ot=0;ot<De;ot++){const wt=$+ot*cn,Ke=_(wt,"LEADER_Line","num_points"),un=_(wt,"LEADER_Line","points"),En=Ke>0?n.dwg_ptr_to_point3d_array(un,Ke):[],Ge=_(wt,"LEADER_Line","num_breaks"),We=_(wt,"LEADER_Line","breaks"),Re=[];for(let Me=0;Me<Ge;Me++){const be=We+Me*He;Re.push({start:_(be,"LEADER_Break","start"),end:_(be,"LEADER_Break","end")})}Xe.push({vertices:En,leaderLineIndex:_(wt,"LEADER_Line","line_index"),breaks:Re.length>0?Re:void 0})}Ne.push({lastLeaderLinePoint:Qt?_(j,"LEADER_Node","lastleaderlinepoint"):void 0,lastLeaderLinePointSet:Qt,doglegVector:st?_(j,"LEADER_Node","dogleg_vector"):void 0,doglegVectorSet:st,doglegLength:_(j,"LEADER_Node","dogleg_length"),breaks:te.length>0?te:void 0,leaderBranchIndex:_(j,"LEADER_Node","branch_index"),leaderLines:Xe})}return{type:"MULTILEADER",...o,subclassMarker:"AcDbMLeader",version:A,leaderStyleId:T,propertyOverrideFlag:I,leaderLineType:p,leaderLineColor:v,leaderLineTypeId:w,leaderLineWeight:C,landingEnabled:m,doglegEnabled:S,doglegLength:N,arrowheadId:G,arrowheadSize:b||Le,contentType:k,textStyleId:U,textLeftAttachmentType:J||Kt,textRightAttachmentType:et||Rt,textAngleType:ft||X,textAlignmentType:Z||Ye,textColor:ut,textFrameEnabled:Et,landingGap:Bt,textAttachment:Se,textFlowDirection:Lt,blockContentId:ht,blockContentColor:mt,blockContentScale:Gt,blockContentRotation:Wt,blockContentConnectionType:Mt,annotativeScaleEnabled:bt,arrowheadOverrides:Dt.length>0?Dt:void 0,blockAttributes:Ot.length>0?Ot:void 0,textDirectionNegative:dt,textAlignInIPE:O,textAttachmentPoint:tt,textAttachmentDirection:z,bottomTextAttachmentDirection:xt,topTextAttachmentDirection:kt,contentScale:gt||Xt,contentBasePosition:ge,normal:ie,textHeight:Ae,textRotation:Jt,textWidth:ye,textLineSpacingFactor:At,textLineSpacingStyle:se,textAnchor:x,textDirection:pe,textBackgroundColor:_e,textBackgroundScaleFactor:Zt,textBackgroundTransparency:Ie,textBackgroundColorOn:ve,textFillOn:Tt,textColumnType:Yt,textUseAutoHeight:me,textColumnWidth:Ce,textColumnGutterWidth:de,textColumnFlowReversed:we,textColumnHeight:le,textUseWordBreak:Ve,textContent:l,hasMText:zt,hasBlock:Ct,blockContent:qt,planeOrigin:Te,planeXAxisDirection:Pe,planeYAxisDirection:St,planeNormalReversed:oe,leaderSections:Ne.length>0?Ne:void 0}}convertOle2Frame(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"oleversion"),_=n.dwg_dynapi_entity_data(t,"oleclient"),c=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"),T=n.dwg_dynapi_entity_data(t,"type"),I=n.dwg_dynapi_entity_data(t,"mode"),p=n.dwg_entity_ole2frame_get_data(t),v=p?$e(p):"";if(p){const w=wo(p);w&&(f=w.upperLeft,h=w.lowerRight)}return{type:"OLE2FRAME",...o,oleVersion:d,oleClient:_,dataSize:c,leftUpPoint:f,rightDownPoint:h,lockAspect:A,oleObjectType:T,tileModeDescriptor:I,binaryData:v}}convertOleFrame(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"flag"),_=n.dwg_dynapi_entity_data(t,"mode"),c=n.dwg_dynapi_entity_data(t,"data_size"),f=n.dwg_entity_oleframe_get_data(t),h=f?$e(f):"";return{type:"OLEFRAME",...o,flag:d,mode:_,dataSize:c,binaryData:h}}convertMText(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"ins_pt"),_=n.dwg_dynapi_entity_data(t,"text_height"),c=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"),T=n.dwg_dynapi_entity_data(t,"attachment"),I=n.dwg_dynapi_entity_data(t,"flow_dir"),p=n.dwg_dynapi_entity_data(t,"text"),v=n.dwg_entity_mtext_get_style_name(t),w=n.dwg_dynapi_entity_data(t,"extrusion"),C=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"),N=n.dwg_dynapi_entity_data(t,"bg_fill_flag"),G=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"),U=n.dwg_dynapi_entity_data(t,"column_type"),J=n.dwg_dynapi_entity_data(t,"flow_reversed"),et=n.dwg_dynapi_entity_data(t,"auto_height"),ft=n.dwg_dynapi_entity_data(t,"column_width"),Z=n.dwg_dynapi_entity_data(t,"gutter"),ut=n.dwg_dynapi_entity_data(t,"num_column_heights"),Et=n.dwg_dynapi_entity_data(t,"column_heights"),ht=n.dwg_ptr_to_double_array(Et,ut);return{type:"MTEXT",...o,insertionPoint:d,textHeight:_,rectHeight:c,rectWidth:f,extentsHeight:A,extentsWidth:h,attachmentPoint:T,drawingDirection:I,text:p,styleName:v,extrusionDirection:w,direction:C,rotation:0,lineSpacingStyle:m,lineSpacing:S,backgroundFill:N,fillBoxScale:G,backgroundFillColor:b.rgb,backgroundFillTransparency:k,columnType:U,columnFlowReversed:J,columnAutoHeight:et,columnWidth:ft,columnGutter:Z,columnHeightCount:ut,columnHeights:ht}}convertPoint(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"x"),_=n.dwg_dynapi_entity_data(t,"y"),c=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",...o,position:{x:d,y:_,z:c},thickness:f,extrusionDirection:h,angle:A}}convertPolyline2d(t,o,n){const d=this.libredwg,_=d.dwg_dynapi_entity_data(t,"flag"),c=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"),T=d.dwg_dynapi_entity_data(t,"thickness"),I=d.dwg_dynapi_entity_data(t,"extrusion"),p=d.dwg_entity_polyline_2d_get_vertices(n)??[];return{type:"POLYLINE2D",...o,flag:_,smoothType:c,startWidth:f,endWidth:h,elevation:A,thickness:T,extrusionDirection:I,vertices:p.map(v=>({x:v.point.x,y:v.point.y,z:v.point.z,startWidth:v.start_width,endWidth:v.end_width,bulge:v.bulge,flag:v.flag,tangentDirection:v.tangent_dir})),meshMVertexCount:0,meshNVertexCount:0,surfaceMDensity:0,surfaceNDensity:0}}convertPolyline3d(t,o,n){const d=this.libredwg,_=d.dwg_dynapi_entity_data(t,"flag"),c=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"),T=d.dwg_entity_polyline_3d_get_vertices(n)??[];return{type:"POLYLINE3D",...o,flag:_,smoothType:c,startWidth:f,endWidth:h,extrusionDirection:A,vertices:T.map(I=>({x:I.point.x,y:I.point.y,z:I.point.z,flag:I.flag}))}}convertProxyEntity(t,o,n){const d=this.libredwg,_=d.dwg_dynapi_entity_data(t,"proxy_id"),c=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"),T=d.dwg_dynapi_entity_data(t,"num_objids"),I=d.dwg_entity_get_preview(n),p=(I==null?void 0:I.length)??0,v=d.dwg_entity_proxy_entity_get_entity_data(t),w=I?$e(I):void 0,C=v?$e(v):void 0;let m;if(T>0){const G=d.dwg_dynapi_entity_data(t,"objids");G&&(m=d.dwg_ptr_to_object_ref_array(G,T).map(k=>It(k.absolute_ref)))}const S=this.getOriginalDxfName(c),N={type:"ACAD_PROXY_ENTITY",subclassMarker:"AcDbProxyEntity",...o,proxyEntityClassId:_||498,applicationEntityClassId:c};return S&&(N.originalDxfName=S),p>0&&(N.graphicsDataSize=p),w&&(N.graphicsData=w),f>0&&(N.entityDataSize=f),C&&(N.entityData=C),m&&m.length>0&&(N.linkedObjectIds=m),h&&(N.objectDrawingFormat=h),(A===0||A===1)&&(N.originalDataFormat=A),N}getOriginalDxfName(t){if(this.classes.length===0||t<0)return;const o=t>=500?t-500:t;if(o>=0&&o<this.classes.length)return this.classes[o].dxfName}convertRay(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"point"),_=n.dwg_dynapi_entity_data(t,"vector");return{type:"RAY",...o,firstPoint:d,unitDirection:_}}convertSection(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"state"),_=n.dwg_dynapi_entity_data(t,"flag"),c=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"),T=n.dwg_dynapi_entity_data(t,"indicator_alpha"),I=n.dwg_dynapi_entity_data(t,"indicator_color"),p=n.dwg_dynapi_entity_data(t,"num_verts"),v=n.dwg_dynapi_entity_data(t,"verts"),w=p>0?n.dwg_ptr_to_point3d_array(v,p):[],C=n.dwg_dynapi_entity_data(t,"num_blverts"),m=n.dwg_dynapi_entity_data(t,"blverts"),S=C>0?n.dwg_ptr_to_point3d_array(m,C):[],N=n.dwg_dynapi_entity_data(t,"geometrySettingHardId"),G=n.dwg_ref_get_handle_absolute_ref(N)??0n;return{type:"SECTION",...o,state:d,flags:_,name:c,verticalDirection:f,topHeight:h,bottomHeight:A,indicatorTransparency:T,indicatorColor:I.rgb,numberOfVertices:p,vertices:w,numberOfBackLineVertices:C,backLineVertices:S,geometrySettingHardId:G}}convertShape(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"ins_pt"),_=n.dwg_dynapi_entity_data(t,"scale"),c=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"),T=n.dwg_dynapi_entity_data(t,"extrusion"),I=n.dwg_dynapi_entity_data(t,"style_id"),p=n.dwg_entity_text_get_style_name(t);return{type:"SHAPE",subclassMarker:"AcDbShape",...o,thickness:A,insertionPoint:d,size:_,shapeNumber:I,styleName:p,rotation:c,xScale:f,obliqueAngle:h,extrusionDirection:T}}convertSolid(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"corner1"),_=n.dwg_dynapi_entity_data(t,"corner2"),c=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",...o,corner1:d,corner2:_,corner3:c,corner4:f,thickness:h,extrusionDirection:A}}convertTrace(t,o){return{...this.convertSolid(t,o),type:"TRACE"}}convertSpline(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"splineflags"),_=n.dwg_dynapi_entity_data(t,"degree"),c=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),T=n.dwg_dynapi_entity_data(t,"fit_tol"),I=n.dwg_dynapi_entity_data(t,"num_fit_pts"),p=n.dwg_dynapi_entity_data(t,"fit_pts"),v=n.dwg_ptr_to_point3d_array(p,I),w=n.dwg_dynapi_entity_data(t,"weighted"),C=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"),N=n.dwg_ptr_to_point4d_array(S,m),G=n.dwg_dynapi_entity_data(t,"beg_tan_vec"),b=n.dwg_dynapi_entity_data(t,"end_tan_vec");return{type:"SPLINE",...o,flag:d,degree:_,numberOfKnots:f,numberOfControlPoints:m,numberOfFitPoints:I,knotTolerance:c,controlTolerance:C,fitTolerance:T,startTangent:G,endTangent:b,knots:A,weights:w?N.map(k=>k.w):void 0,controlPoints:N.map(k=>({x:k.x,y:k.y,z:k.z})),fitPoints:v}}convertTable(t,o){const n=this.libredwg,d=n.dwg_dynapi_subclass_data(t,"ldata","name"),_=n.dwg_dynapi_entity_data(t,"ins_pt"),c=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"),T=n.dwg_dynapi_entity_data(t,"row_heights"),I=n.dwg_ptr_to_double_array(T,h),p=n.dwg_dynapi_entity_data(t,"col_widths"),v=n.dwg_ptr_to_double_array(p,A),w=n.dwg_dynapi_entity_data(t,"tablestyle"),C=n.dwg_ref_get_id(w)??"",m=n.dwg_dynapi_entity_data(t,"block_header"),S=n.dwg_ref_get_id(m)??"",N=n.dwg_dynapi_entity_data(t,"table_flag_override"),G=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"),U=n.dwg_dynapi_entity_data(t,"num_cells"),J=n.dwg_dynapi_entity_data(t,"cells"),et=n.dwg_ptr_to_table_cell_array(J,U);return{type:"ACAD_TABLE",...o,name:d,startPoint:_,directionVector:c,tableValue:f,rowCount:h,columnCount:A,overrideFlag:N,borderColorOverrideFlag:G,borderLineWeightOverrideFlag:b,borderVisibilityOverrideFlag:k,rowHeightArr:I,columnWidthArr:v,tableStyleId:C,blockRecordHandle:S,cells:this.convertTableCells(et),bmpPreview:""}}convertTableCells(t){return t.map(o=>{var n,d;return{text:o.text_value,attachmentPoint:o.cell_alignment,textStyle:o.text_style?String(o.text_style):void 0,rotation:o.rotation,cellType:o.type,flagValue:o.flags,mergedValue:o.is_merged_value,autoFit:o.is_autofit_flag,topBorderVisibility:!!o.top_visibility,bottomBorderVisibility:!!o.bottom_visibility,leftBorderVisibility:!!o.left_visibility,rightBorderVisibility:!!o.right_visibility,overrideFlag:o.cell_flag_override,virtualEdgeFlag:o.virtual_edge_flag,blockTableRecordId:o.block_handle?String(o.block_handle.absolute_ref??""):void 0,blockScale:o.block_scale,blockAttrNum:((n=o.attr_defs)==null?void 0:n.length)??0,attrDefineId:(d=o.attr_defs)==null?void 0:d.map(_=>{var c;return String(((c=_.attdef)==null?void 0:c.absolute_ref)??"")}),textHeight:o.text_height??0,extendedCellFlags:o.additional_data_flag}})}convertTextBase(t){const o=this.libredwg,n=o.dwg_dynapi_entity_data(t,"text_value"),d=o.dwg_dynapi_entity_data(t,"thickness"),_=o.dwg_dynapi_entity_data(t,"ins_pt"),c=o.dwg_dynapi_entity_data(t,"alignment_pt"),f=o.dwg_dynapi_entity_data(t,"rotation"),h=o.dwg_dynapi_entity_data(t,"height"),A=o.dwg_dynapi_entity_data(t,"width_factor"),T=o.dwg_dynapi_entity_data(t,"oblique_angle"),I=o.dwg_entity_text_get_style_name(t),p=o.dwg_dynapi_entity_data(t,"generation"),v=o.dwg_dynapi_entity_data(t,"horiz_alignment"),w=o.dwg_dynapi_entity_data(t,"vert_alignment"),C=o.dwg_dynapi_entity_data(t,"extrusion");return{text:n,thickness:d,startPoint:_,endPoint:c,textHeight:h,rotation:f,xScale:A,obliqueAngle:T,styleName:I,generationFlag:p,halign:v,valign:w,extrusionDirection:C}}convertText(t,o){return{type:"TEXT",...o,...this.convertTextBase(t)}}convertTolerance(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"ins_pt"),_=n.dwg_dynapi_entity_data(t,"text_value"),c=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",...o,styleName:h,insertionPoint:d,text:_,extrusionDirection:f,xAxisDirection:c}}convertViewport(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"center"),_=n.dwg_dynapi_entity_data(t,"width"),c=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"),T=n.dwg_dynapi_entity_data(t,"SNAPUNIT"),I=n.dwg_dynapi_entity_data(t,"GRIDUNIT"),p=n.dwg_dynapi_entity_data(t,"VIEWDIR"),v=n.dwg_dynapi_entity_data(t,"view_target"),w=n.dwg_dynapi_entity_data(t,"lens_length"),C=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"),N=n.dwg_dynapi_entity_data(t,"SNAPANG"),G=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 U;if(k>0){const Xt=n.dwg_dynapi_entity_data(t,"frozen_layers");Xt&&(U=n.dwg_ptr_to_object_ref_ptr_array(Xt,k).map(Bt=>n.dwg_ref_get_id(Bt)).filter(Bt=>!!Bt))}const J=n.dwg_dynapi_entity_data(t,"status_flag"),et=n.dwg_dynapi_entity_data(t,"clip_boundary"),ft=n.dwg_ref_get_id(et),Z=n.dwg_dynapi_entity_data(t,"style_sheet"),ut=n.dwg_dynapi_entity_data(t,"render_mode"),Et=n.dwg_dynapi_entity_data(t,"UCSVP"),ht=n.dwg_dynapi_entity_data(t,"ucsorg"),mt=n.dwg_dynapi_entity_data(t,"ucsxdir"),Gt=n.dwg_dynapi_entity_data(t,"ucsydir"),Wt=n.dwg_dynapi_entity_data(t,"named_ucs"),Mt=n.dwg_ref_get_id(Wt),bt=n.dwg_dynapi_entity_data(t,"base_ucs"),dt=n.dwg_ref_get_id(bt),O=n.dwg_dynapi_entity_data(t,"UCSORTHOVIEW"),tt=n.dwg_dynapi_entity_data(t,"ucs_elevation"),z=n.dwg_dynapi_entity_data(t,"shadeplot_mode"),xt=n.dwg_dynapi_entity_data(t,"use_default_lights"),kt=n.dwg_dynapi_entity_data(t,"default_lighting_type"),gt=n.dwg_dynapi_entity_data(t,"brightness"),B=n.dwg_dynapi_entity_data(t,"contrast"),$t=n.dwg_dynapi_entity_data(t,"grid_major"),lt=n.dwg_dynapi_entity_data(t,"background"),Dt=n.dwg_ref_get_id(lt),Vt=n.dwg_dynapi_entity_data(t,"shadeplot"),ae=n.dwg_ref_get_id(Vt),Ht=n.dwg_dynapi_entity_data(t,"visualstyle"),Ot=n.dwg_ref_get_id(Ht),q=n.dwg_dynapi_entity_data(t,"sun"),V=n.dwg_ref_get_id(q);return{type:"VIEWPORT",...o,viewportCenter:d,width:_,height:c,status:f,viewportId:0,displayCenter:h,snapBase:A,snapSpacing:T,gridSpacing:I,viewDirection:p,targetPoint:v,perspectiveLensLength:w,frontClipZ:C,backClipZ:m,viewHeight:S,snapAngle:N,viewTwistAngle:G,circleZoomPercent:b,frozenLayerIds:U,statusBitFlags:J,clippingBoundaryId:ft,sheetName:Z,renderMode:ut,ucsPerViewport:Et,ucsOrigin:ht,ucsXAxis:mt,ucsYAxis:Gt,ucsId:Mt??"",ucsBaseId:dt??"",orthographicType:O,elevation:tt,shadePlotMode:z,majorGridFrequency:$t,backgroundId:Dt??"",shadePlotId:ae??"",visualStyleId:Ot??"",isDefaultLighting:!!xt,defaultLightingType:kt,brightness:gt,contrast:B,sunId:V??""}}convertWipeout(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"class_version"),_=n.dwg_dynapi_entity_data(t,"pt0"),c=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"),T=n.dwg_dynapi_entity_data(t,"clipping"),I=n.dwg_dynapi_entity_data(t,"brightness"),p=n.dwg_dynapi_entity_data(t,"contrast"),v=n.dwg_dynapi_entity_data(t,"fade"),w=n.dwg_dynapi_entity_data(t,"clip_mode"),C=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"),N=n.dwg_ptr_to_point2d_array(S,m),G=n.dwg_dynapi_entity_data(t,"imagedef"),b=n.dwg_ref_get_absref(G)??0,k=n.dwg_dynapi_entity_data(t,"imagedefreactor"),U=n.dwg_ref_get_absref(k)??0;return{type:"WIPEOUT",...o,version:d,position:_,uPixel:c,vPixel:f,imageSize:h,imageDefHandle:b,flags:A,clipping:T,brightness:I,contrast:p,fade:v,imageDefReactorHandle:U,clippingBoundaryType:C,countBoundaryPoints:m,clippingBoundaryPath:N,clipMode:w}}convertXline(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"point"),_=n.dwg_dynapi_entity_data(t,"vector");return{type:"XLINE",...o,firstPoint:d,unitDirection:_}}getDimensionCommonAttrs(t){const o=this.libredwg,n=o.dwg_dynapi_entity_data(t,"class_version"),d=o.dwg_entity_get_block_name(t,"block"),_=o.dwg_dynapi_entity_data(t,"def_pt"),c=o.dwg_dynapi_entity_data(t,"text_midpt"),f=o.dwg_dynapi_entity_data(t,"attachmentPoint"),h=o.dwg_dynapi_entity_data(t,"flag"),A=o.dwg_dynapi_entity_data(t,"lspace_factor"),T=o.dwg_dynapi_entity_data(t,"lspace_factor"),I=o.dwg_dynapi_entity_data(t,"act_measurement"),p=o.dwg_dynapi_entity_data(t,"user_text"),v=o.dwg_dynapi_entity_data(t,"text_rotation"),w=o.dwg_dynapi_entity_data(t,"ins_rotation"),C=o.dwg_dynapi_entity_data(t,"extrusion"),m=o.dwg_entity_get_dimstyle_name(t);return{type:"DIMENSION",version:n,name:d,definitionPoint:_,textPoint:c,dimensionType:h,attachmentPoint:f,textLineSpacingStyle:A,textLineSpacingFactor:T||1,measurement:I,text:p,textRotation:v,ocsRotation:w,extrusionDirection:C,styleName:m}}getCommonAttrs(t){const o=this.libredwg,n=o.dwg_object_entity_get_color_object(t),d=n.method,_=n.index;let c;(d==194||(n.rgb>>>24&255)===194)&&(c=n.rgb&16777215);const f=this.getLayerName(t),h=o.dwg_object_entity_get_handle_object(t),A=o.dwg_object_entity_get_ownerhandle_object(t),T=o.dwg_object_entity_get_xdicobjhandle_object(t),I=this.getLtypeName(t),p=o.dwg_object_entity_get_line_weight(t),v=o.dwg_object_entity_get_ltype_scale(t),w=!o.dwg_object_entity_get_invisible(t),C=o.dwg_object_entity_get_xdata(t);return{handle:It(h.value),ownerDictionaryHardId:It(T.absolute_ref),ownerBlockRecordSoftId:It(A.absolute_ref),layer:f,color:c,colorIndex:_,colorName:n.name,lineType:I,lineweight:p,lineTypeScale:v,isVisible:w,transparency:n.alpha,transparencyType:n.alpha_type,xdata:C}}getLayerName(t){const n=this.libredwg.dwg_object_entity_get_layer_object_ref(t);return this.layers.get(It(n.handleref.value))??"0"}getLtypeName(t){const n=this.libredwg.dwg_object_entity_get_ltype_object_ref(t);return this.ltypes.get(It(n.handleref.value))??""}}class cr{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 Do(t)}convert(t){var o;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 T=this.safeObjectTio(A);if(T)switch(d.dwg_object_get_fixedtype(A)){case Y.DWG_TYPE_LAYER:{const p=this.convertLayer(T,A);n.tables.LAYER.entries.push(p),this.entityConverter.layers.set(p.handle,p.name)}break;case Y.DWG_TYPE_LTYPE:{const p=this.convertLineType(T,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 T=this.safeObjectTio(A);if(T)switch(d.dwg_object_get_fixedtype(A)){case Y.DWG_TYPE_APPID:n.tables.APPID.entries.push(this.convertAppId(T));break;case Y.DWG_TYPE_BLOCK_HEADER:{const p=this.convertBlockRecord(T,A);n.tables.BLOCK_RECORD.entries.push(p),(Sn(p.name)||Co(p.name))&&p.entities.forEach(v=>{n.entities.push(v),v.type==="INSERT"&&v.attribs.forEach(w=>{n.entities.push(w)})})}break;case Y.DWG_TYPE_DIMSTYLE:n.tables.DIMSTYLE.entries.push(this.convertDimStyle(T,A));break;case Y.DWG_TYPE_STYLE:n.tables.STYLE.entries.push(this.convertStyle(T,A));break;case Y.DWG_TYPE_VPORT:n.tables.VPORT.entries.push(this.convertViewport(T,A));break;case Y.DWG_TYPE_DICTIONARY:n.objects.DICTIONARY.push(this.convertDictionary(T,A));break;case Y.DWG_TYPE_IMAGEDEF:n.objects.IMAGEDEF.push(this.convertImageDef(T,A));break;case Y.DWG_TYPE_LAYERFILTER:n.objects.LAYER_FILTER.push(this.convertLayerFilter(T,A));break;case Y.DWG_TYPE_LAYER_INDEX:n.objects.LAYER_INDEX.push(this.convertLayerIndex(T,A));break;case Y.DWG_TYPE_LAYOUT:n.objects.LAYOUT.push(this.convertLayout(T,A));break;case Y.DWG_TYPE_MLEADERSTYLE:n.objects.MLEADERSTYLE.push(this.convertMLeaderStyle(T,A));break;case Y.DWG_TYPE_SPATIAL_FILTER:n.objects.SPATIAL_FILTER.push(this.convertSpatialFilter(T,A));break;case Y.DWG_TYPE_XRECORD:n.objects.XRECORD.push(this.convertXRecord(T,A));break}}}const c=n.entities.filter(h=>h.type==="VIEWPORT");c.sort((h,A)=>{const T=parseInt(h.handle,16),I=parseInt(A.handle,16);return T-I}),c.forEach((h,A)=>{h.viewportId=A+1});const f=d.dwg_bmp(t);return(o=f==null?void 0:f.data)!=null&&o.length&&(n.thumbnailImage=f.data),n}getConversionStats(){return{unknownEntityCount:this.entityConverter.unknownEntityCount}}safeObjectTio(t){const o=this.libredwg;try{if(o.dwg_object_get_supertype(t)!=Rn.DWG_SUPERTYPE_OBJECT)return null;const n=o.dwg_object_to_object_tio(t);return n||null}catch{return null}}convertHeader(t,o){const n=this.libredwg;Po.forEach(d=>{let _=d;(d=="DIMBLK"||d=="DIMBLK1"||d=="DIMBLK2")&&(_=_+"_T");let c=n.dwg_dynapi_header_data(t,_);d=="CELTYPE"||d=="CLAYER"||d=="CLAYER"||d=="DIMSTYLE"||d=="DIMTXSTY"||d=="TEXTSTYLE"?c=c?n.dwg_ref_get_object_name(c):"":d=="DRAGVS"&&(c=c?n.dwg_ref_get_absref(c)??2:2),o[d]=c})}convertClasses(t,o){const n=this.libredwg,d=n.dwg_get_num_classes(t);for(let _=0;_<d;_++){const c=n.dwg_get_class(t,_);o.push({dxfName:c.dxfname,cppName:c.cppname,appName:c.appname,capabilitiesFlag:c.proxyflag,instanceCount:c.num_instances,wasAProxyFlag:c.s_zombie,isAnEntityFlag:c.item_class_id===498})}}convertAppId(t){const o=this.libredwg,n=o.dwg_dynapi_entity_data(t,"name"),d=o.dwg_dynapi_entity_data(t,"flag");return{name:n,standardFlag:d}}convertBlockRecord(t,o){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,o),_=n.dwg_entity_block_header_get_block(t);_.name&&(d.name=_.name);const c=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"),T=n.dwg_dynapi_entity_data(t,"insert_units"),I=n.dwg_dynapi_entity_data(t,"explodable"),p=n.dwg_dynapi_entity_data(t,"block_scaling"),v=n.dwg_dynapi_entity_data(t,"layout"),w=n.dwg_ref_get_id(v)??"";let C;const m=n.dwg_entity_block_header_get_preview(t);m&&m.length>0&&(C=$e(m));let S=this.convertEntities(o,d.handle);if(!S||S.length==0){S=[];const N=n.dwg_dynapi_entity_data(t,"entities");if(N){const G=n.dwg_ptr_to_object_ref_ptr_array(N,c),b=this.entityConverter;for(let k=0;k<c;k++){const U=n.dwg_ref_get_object(G[k]),J=b.convert(U);J&&(J.ownerBlockRecordSoftId=d.handle,S.push(J))}}}if(this.orphanIndexDataPtr!=null){const N=this.convertOrphanOwnedEntities(this.orphanIndexDataPtr,o,d.handle,Sn(d.name)===!0);if(N.length)if(S.length===0)S=N;else{const G=new Set(S.map(b=>b.handle));for(const b of N)G.has(b.handle)||S.push(b)}}return{...d,flags:f,description:h,basePoint:A,layout:w,insertionUnits:T,explodability:I,scalability:p,bmpPreview:C,entities:S}}convertEntities(t,o){const n=this.libredwg,d=this.entityConverter,_=[];let c=n.get_first_owned_entity(t);for(;c;){const f=d.convert(c);f&&(f.ownerBlockRecordSoftId=o,_.push(f)),c=n.get_next_owned_entity(t,c)}return _}convertOrphanOwnedEntities(t,o,n,d){this.ensureOrphanEntityIndex(t);const c=(this.orphanEntitiesByBlock??new Map).get(o)??[],f=d&&this.ownerlessOrphanIndices?this.ownerlessOrphanIndices:[],h=c.length&&f.length?c.concat(f):c.length?c:f;if(h.length===0)return[];const A=this.libredwg,T=this.entityConverter,I=[];for(const p of h){const v=A.dwg_get_object(t,p),w=T.convert(v);w&&(w.ownerBlockRecordSoftId=n,I.push(w))}return I}ensureOrphanEntityIndex(t){if(this.orphanEntitiesByBlock)return;const o=this.libredwg,n=o.dwg_get_num_objects(t),d=new Map,_=[],c=[],f=new Map;for(let I=0;I<n;I++){const p=o.dwg_get_object(t,I);if(p){if(o.dwg_object_get_supertype(p)===Rn.DWG_SUPERTYPE_ENTITY)_.push(I),d.set(p,I);else if(o.dwg_object_get_fixedtype(p)===Y.DWG_TYPE_BLOCK_HEADER){c.push(p);const v=o.dwg_object_to_object_tio(p);v&&f.set(v,p)}}}const h=new Set;for(const I of c){let p=o.get_first_owned_entity(I),v=0;for(;p&&v++<=_.length;){const w=d.get(p);if(w===void 0||h.has(w))break;h.add(w),p=o.get_next_owned_entity(I,p)}}const A=new Map,T=[];for(const I of _){if(h.has(I))continue;const p=o.dwg_get_object(t,I),v=p?o.dwg_object_to_entity_tio(p):0,w=v?o.dwg_entity_owner(v):0,C=w?f.get(w)??0:0;if(C){const m=A.get(C);m?m.push(I):A.set(C,[I])}else T.push(I)}this.orphanEntitiesByBlock=A,this.ownerlessOrphanIndices=T}convertDimStyle(t,o){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,o),_=n.dwg_dynapi_entity_data(t,"DIMTOL"),c=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"),T=n.dwg_dynapi_entity_data(t,"DIMSE2"),I=n.dwg_dynapi_entity_data(t,"DIMALT"),p=n.dwg_dynapi_entity_data(t,"DIMTOFL"),v=n.dwg_dynapi_entity_data(t,"DIMSAH"),w=n.dwg_dynapi_entity_data(t,"DIMTIX"),C=n.dwg_dynapi_entity_data(t,"DIMSOXD"),m=n.dwg_dynapi_entity_data(t,"DIMALTD"),S=n.dwg_dynapi_entity_data(t,"DIMZIN"),N=n.dwg_dynapi_entity_data(t,"DIMSD1"),G=n.dwg_dynapi_entity_data(t,"DIMSD2"),b=n.dwg_dynapi_entity_data(t,"DIMTOLJ"),k=n.dwg_dynapi_entity_data(t,"DIMJUST"),U=n.dwg_dynapi_entity_data(t,"DIMFIT"),J=n.dwg_dynapi_entity_data(t,"DIMUPT"),et=n.dwg_dynapi_entity_data(t,"DIMTZIN"),ft=n.dwg_dynapi_entity_data(t,"DIMALTZ"),Z=n.dwg_dynapi_entity_data(t,"DIMALTTZ"),ut=n.dwg_dynapi_entity_data(t,"DIMTAD"),Et=n.dwg_dynapi_entity_data(t,"DIMUNIT"),ht=n.dwg_dynapi_entity_data(t,"DIMAUNIT"),mt=n.dwg_dynapi_entity_data(t,"DIMDEC"),Gt=n.dwg_dynapi_entity_data(t,"DIMTDEC"),Wt=n.dwg_dynapi_entity_data(t,"DIMALTU"),Mt=n.dwg_dynapi_entity_data(t,"DIMALTTD"),bt=n.dwg_dynapi_entity_data(t,"DIMSCALE"),dt=n.dwg_dynapi_entity_data(t,"DIMASZ"),O=n.dwg_dynapi_entity_data(t,"DIMEXO"),tt=n.dwg_dynapi_entity_data(t,"DIMDLI"),z=n.dwg_dynapi_entity_data(t,"DIMEXE"),xt=n.dwg_dynapi_entity_data(t,"DIMRND"),kt=n.dwg_dynapi_entity_data(t,"DIMDLE"),gt=n.dwg_dynapi_entity_data(t,"DIMTP"),B=n.dwg_dynapi_entity_data(t,"DIMTM"),$t=n.dwg_dynapi_entity_data(t,"DIMFXL"),lt=n.dwg_dynapi_entity_data(t,"DIMJOGANG"),Dt=n.dwg_dynapi_entity_data(t,"DIMTFILL"),Vt=n.dwg_dynapi_entity_data(t,"DIMTFILLCLR"),ae=n.dwg_dynapi_entity_data(t,"DIMAZIN"),Ht=n.dwg_dynapi_entity_data(t,"DIMARCSYM"),Ot=n.dwg_dynapi_entity_data(t,"DIMTXT"),q=n.dwg_dynapi_entity_data(t,"DIMCEN"),V=n.dwg_dynapi_entity_data(t,"DIMTSZ"),Xt=n.dwg_dynapi_entity_data(t,"DIMALTF"),ge=n.dwg_dynapi_entity_data(t,"DIMLFAC"),Bt=n.dwg_dynapi_entity_data(t,"DIMTVP"),Se=n.dwg_dynapi_entity_data(t,"DIMTFAC"),Ae=n.dwg_dynapi_entity_data(t,"DIMGAP"),Le=n.dwg_dynapi_entity_data(t,"DIMPOST"),Kt=n.dwg_dynapi_entity_data(t,"DIMAPOST"),Rt=n.dwg_dynapi_entity_data(t,"DIMBLK_T"),X=n.dwg_dynapi_entity_data(t,"DIMBLK1_T"),Ye=n.dwg_dynapi_entity_data(t,"DIMBLK2_T"),zt=n.dwg_dynapi_entity_data(t,"DIMALTRND"),Ct=n.dwg_dynapi_entity_data(t,"DIMCLRD_N"),Te=n.dwg_dynapi_entity_data(t,"DIMCLRE_N"),Pe=n.dwg_dynapi_entity_data(t,"DIMCLRT_N"),St=n.dwg_dynapi_entity_data(t,"DIMCLRD"),oe=n.dwg_dynapi_entity_data(t,"DIMCLRE"),Lt=n.dwg_dynapi_entity_data(t,"DIMCLRT"),ie=n.dwg_dynapi_entity_data(t,"DIMADEC"),Jt=n.dwg_dynapi_entity_data(t,"DIMFRAC"),ye=n.dwg_dynapi_entity_data(t,"DIMLUNIT"),At=n.dwg_dynapi_entity_data(t,"DIMDSEP"),se=n.dwg_dynapi_entity_data(t,"DIMTMOVE"),x=n.dwg_dynapi_entity_data(t,"DIMATFIT"),pe=n.dwg_dynapi_entity_data(t,"DIMFXLON"),_e=n.dwg_dynapi_entity_data(t,"DIMTXTDIRECTION"),Zt=n.dwg_dynapi_entity_data(t,"DIMALTMZF"),Ie=n.dwg_dynapi_entity_data(t,"DIMALTMZS"),ve=n.dwg_dynapi_entity_data(t,"DIMMZF"),Tt=n.dwg_dynapi_entity_data(t,"DIMMZS"),Yt=n.dwg_dynapi_entity_data(t,"DIMLWD"),me=n.dwg_dynapi_entity_data(t,"DIMLWE"),Ce=n.dwg_dynapi_entity_data(t,"DIMTXSTY"),de=n.dwg_ref_get_absref(Ce)??void 0,we=n.dwg_dynapi_entity_data(t,"DIMLDRBLK"),le=n.dwg_ref_get_absref(we)??void 0;return{...d,DIMPOST:Le,DIMAPOST:Kt,DIMBLK:Rt,DIMBLK1:X,DIMBLK2:Ye,DIMSCALE:bt,DIMASZ:dt,DIMEXO:O,DIMDLI:tt,DIMEXE:z,DIMRND:xt,DIMDLE:kt,DIMTP:gt,DIMTM:B,DIMTXT:Ot,DIMCEN:q,DIMTSZ:V,DIMALTF:Xt,DIMLFAC:ge,DIMTVP:Bt,DIMTFAC:Se,DIMGAP:Ae,DIMALTRND:zt,DIMTOL:_,DIMLIM:c,DIMTIH:f,DIMTOH:h,DIMSE1:A,DIMSE2:T,DIMTAD:ut,DIMZIN:S,DIMAZIN:ae,DIMALT:I,DIMALTD:m,DIMTOFL:p,DIMSAH:v,DIMTIX:w,DIMSOXD:C,DIMCLRD:St,DIMCLRE:oe,DIMCLRT:Lt,DIMADEC:ie,DIMUNIT:Et,DIMDEC:mt,DIMTDEC:Gt,DIMALTU:Wt,DIMALTTD:Mt,DIMAUNIT:ht,DIMFRAC:Jt,DIMLUNIT:ye,DIMDSEP:String.fromCharCode(At),DIMTMOVE:se,DIMJUST:k,DIMSD1:N,DIMSD2:G,DIMTOLJ:b,DIMTZIN:et,DIMALTZ:ft,DIMALTTZ:Z,DIMFIT:U,DIMUPT:J,DIMATFIT:x,DIMTXSTY:de,DIMLDRBLK:le,DIMLWD:Yt,DIMLWE:me,DIMFXL:$t,DIMJOGANG:lt,DIMTFILL:Dt,DIMTFILLCLR:Vt,DIMARCSYM:Ht,DIMCLRD_N:Ct,DIMCLRE_N:Te,DIMCLRT_N:Pe,DIMFXLON:pe,DIMTXTDIRECTION:_e,DIMALTMZF:Zt,DIMALTMZS:Ie,DIMMZF:ve,DIMMZS:Tt}}convertLayer(t,o){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,o),_=n.dwg_dynapi_entity_data(t,"flag"),c=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"),T=n.dwg_dynapi_entity_data(t,"plotflag"),I=n.dwg_dynapi_entity_data(t,"linewt"),p=n.dwg_dynapi_entity_data(t,"color"),v=n.dwg_dynapi_entity_data(t,"ltype");let w="Continuous";if(v)try{w=n.dwg_ref_get_object_name(v)}catch{}const C=p.method;let m=256,S=16777215;return C===195||(p.rgb>>>24&255)===195?m=p.rgb&255:C==194||(p.rgb>>>24&255)===194?S=p.rgb&16777215:p.index>=1&&p.index<=255&&(m=p.index),{...d,standardFlag:_,colorIndex:m,color:S,colorName:p.name,transparency:p.alpha,lineType:w,frozen:c!=0,off:f!=0,frozenInNew:h!=0,locked:A!=0,plotFlag:T,lineweight:I,plotStyleNameObjectId:"",materialObjectId:""}}convertLineType(t,o){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,o),_=n.dwg_dynapi_entity_data(t,"flag"),c=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"),T=A?n.dwg_ptr_to_ltype_dash_array(A,f):[];return{...d,description:c,standardFlag:_,numberOfLineTypes:f,totalPatternLength:h,pattern:this.convertLineTypePattern(T)}}convertLineTypePattern(t){const o=[];return t.forEach(n=>{o.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})}),o}convertStyle(t,o){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,o),_=n.dwg_dynapi_entity_data(t,"flag"),c=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"),T=n.dwg_dynapi_entity_data(t,"font_file"),I=n.dwg_dynapi_entity_data(t,"bigfont_file");return{...d,standardFlag:_,fixedTextHeight:0,widthFactor:c,obliqueAngle:f,textGenerationFlag:h,lastHeight:A,font:T,bigFont:I}}convertViewport(t,o){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,o),_=n.dwg_dynapi_entity_data(t,"flag"),c=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"),T=n.dwg_dynapi_entity_data(t,"VIEWDIR"),I=n.dwg_dynapi_entity_data(t,"view_twist"),p=n.dwg_dynapi_entity_data(t,"lens_length"),v=n.dwg_dynapi_entity_data(t,"front_clip_z"),w=n.dwg_dynapi_entity_data(t,"back_clip_z"),C=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,N=n.dwg_dynapi_entity_data(t,"default_lightning_type"),G=n.dwg_dynapi_entity_data(t,"brightness"),b=n.dwg_dynapi_entity_data(t,"contrast"),k=n.dwg_dynapi_entity_data(t,"ambient_color"),U=n.dwg_dynapi_entity_data(t,"lower_left"),J=n.dwg_dynapi_entity_data(t,"upper_right"),et=n.dwg_dynapi_entity_data(t,"circle_zoom"),ft=n.dwg_dynapi_entity_data(t,"UCSICON"),Z=n.dwg_dynapi_entity_data(t,"GRIDUNIT"),ut=n.dwg_dynapi_entity_data(t,"SNAPANG"),Et=n.dwg_dynapi_entity_data(t,"SNAPBASE"),ht=n.dwg_dynapi_entity_data(t,"SNAPUNIT"),mt=n.dwg_dynapi_entity_data(t,"ucsorg"),Gt=n.dwg_dynapi_entity_data(t,"ucsxdir"),Wt=n.dwg_dynapi_entity_data(t,"ucsydir"),Mt=n.dwg_dynapi_entity_data(t,"ucs_elevation"),bt=n.dwg_dynapi_entity_data(t,"grid_major"),dt=n.dwg_dynapi_entity_data(t,"background"),O=dt?n.dwg_ref_get_id(dt)??"":void 0,tt=n.dwg_dynapi_entity_data(t,"visualstyle"),z=tt?n.dwg_ref_get_id(tt)??"":void 0;return{...d,standardFlag:_,lowerLeftCorner:U,upperRightCorner:J,center:h,snapBasePoint:Et,snapSpacing:ht,gridSpacing:Z,viewDirectionFromTarget:T,viewTarget:A,lensLength:p,frontClippingPlane:v,backClippingPlane:w,viewHeight:c,aspectRatio:f,snapRotationAngle:ut,viewTwistAngle:I,circleSides:et,frozenLayers:[],styleSheet:"",renderMode:m,viewMode:C,ucsIconSetting:ft,ucsOrigin:mt,ucsXAxis:Gt,ucsYAxis:Wt,orthographicType:0,elevation:Mt,shadePlotSetting:0,majorGridLines:bt,backgroundObjectId:O,visualStyleObjectId:z,isDefaultLightingOn:S,defaultLightingType:N,brightness:G,contrast:b,ambientColor:k.index}}getCommonTableEntryAttrs(t,o){const n=this.libredwg,d=n.dwg_object_get_tio(o),_=n.dwg_object_object_get_ownerhandle_object(d),c=n.dwg_object_get_handle_object(o);return{handle:It(c.value),ownerHandle:It(_.absolute_ref),name:n.dwg_dynapi_entity_data(t,"name")}}convertDictionary(t,o){const n=this.libredwg,d=this.getCommonObjectAttrs(o),_=n.dwg_dynapi_entity_data(t,"is_hardowner"),c=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),T=n.dwg_object_dictionary_get_texts(o),I={};return A.forEach((p,v)=>I[T[v]]=It(p.absolute_ref)),{...d,isHardOwner:!!_,cloningFlag:c,entries:I}}convertImageDef(t,o){const n=this.libredwg,d=this.getCommonObjectAttrs(o),_=n.dwg_dynapi_entity_data(t,"image_size"),c=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:c,size:_,sizeOfOnePixel:h,isLoaded:f,resolutionUnits:A}}convertLayerFilter(t,o){const n=this.libredwg,d=this.getCommonObjectAttrs(o),_=n.dwg_dynapi_entity_data(t,"num_names")??0,c=n.dwg_dynapi_entity_data(t,"names"),f=c&&_>0?n.dwg_ptr_to_wchar_string_array(c,_).filter(h=>h!=null&&h!==""):[];return{...d,...f.length?{layerNames:f}:{}}}convertLayerIndex(t,o){const n=this.libredwg,d=this.getCommonObjectAttrs(o),_=n.dwg_dynapi_entity_data(t,"last_updated"),c=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=[],T=[],I=[];if(f&&h>0)for(let p=0;p<c;p++){const v=f+p*h,w=n.dwg_dynapi_subclass_data(v,"LAYER_entry","name");A.push(w??"");const C=n.dwg_dynapi_subclass_data(v,"LAYER_entry","handle");T.push(C?n.dwg_ref_get_id(C)??"":""),I.push(n.dwg_dynapi_subclass_data(v,"LAYER_entry","numlayers")??0)}return{...d,..._!=null?{timeStamp:_}:{},...A.length?{layerNames:A}:{},...T.length?{idBufferIds:T}:{},...I.length?{idBufferEntryCounts:I}:{}}}convertLayout(t,o){const n=this.libredwg,d=this.getCommonObjectAttrs(o),_=n.dwg_dynapi_entity_data(t,"layout_name"),c=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"),T=n.dwg_dynapi_entity_data(t,"LIMMAX"),I=n.dwg_dynapi_entity_data(t,"UCSORG"),p=n.dwg_dynapi_entity_data(t,"UCSXDIR"),v=n.dwg_dynapi_entity_data(t,"UCSYDIR"),w=n.dwg_dynapi_entity_data(t,"UCSORTHOVIEW"),C=n.dwg_dynapi_entity_data(t,"EXTMIN"),m=n.dwg_dynapi_entity_data(t,"EXTMAX"),S=n.dwg_dynapi_entity_data(t,"ucs_elevation"),N=n.dwg_dynapi_entity_data(t,"block_header"),G=n.dwg_ref_get_id(N)??"",b=n.dwg_dynapi_entity_data(t,"active_viewport"),k=n.dwg_ref_get_id(b)??"",U=n.dwg_dynapi_entity_data(t,"named_ucs"),J=U?n.dwg_ref_get_id(U)??"":void 0;return{...d,layoutName:_,controlFlag:f,tabOrder:c,minLimit:A,maxLimit:T,insertionPoint:h,minExtent:C,maxExtent:m,elevation:S,ucsOrigin:I,ucsXAxis:p,ucsYAxis:v,orthographicType:w,paperSpaceTableId:G,viewportId:k,namedUcsId:J,shadePlotId:""}}convertMLeaderStyle(t,o){const n=this.libredwg,d=this.getCommonObjectAttrs(o),_=A=>n.dwg_dynapi_entity_data(t,A),c=A=>n.dwg_ref_get_id(A),f=A=>A>0,h=A=>A!=null?Ar(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:c(_("line_type")),leaderLineWeight:_("linewt"),landingEnabled:f(_("has_landing")),landingGap:_("landing_gap"),doglegEnabled:f(_("has_dogleg")),doglegLength:_("landing_dist"),description:_("description"),arrowheadId:c(_("arrow_head")),arrowheadSize:_("arrow_head_size"),defaultMTextContents:_("text_default"),textStyleId:c(_("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:c(_("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,o){const n=this.libredwg,d=this.getCommonObjectAttrs(o),_=n.dwg_dynapi_entity_data(t,"origin"),c=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,c),A=n.dwg_dynapi_entity_data(t,"extrusion"),T=n.dwg_dynapi_entity_data(t,"display_boundary_on"),I=n.dwg_dynapi_entity_data(t,"front_clip_on"),p=n.dwg_dynapi_entity_data(t,"front_clip_z"),v=n.dwg_dynapi_entity_data(t,"back_clip_on"),w=n.dwg_dynapi_entity_data(t,"back_clip_z"),C=n.dwg_dynapi_entity_data(t,"transform"),m=n.dwg_ptr_to_double_array(C,12),S=n.dwg_dynapi_entity_data(t,"inverse_transform"),N=n.dwg_ptr_to_double_array(S,12);return{...d,origin:_,numberOfPointsOnClipBoundary:c,vertices:h,extrusionDirection:A,clipBoundaryVisible:!!T,frontClippingPlaneFlag:!!I,frontClippingPlaneDistance:p,backClippingPlaneFlag:!!v,backClippingPlaneDistance:w,matrix:m,invertBlockMatrix:N}}convertXRecord(t,o){const n=this.libredwg,d=this.getCommonObjectAttrs(o),_=n.dwg_dynapi_entity_data(t,"cloning"),c=n.dwg_object_xrecord_get_xdata(t)??[],f=n.dwg_object_get_tio(o),h=f?n.dwg_object_object_get_xdicobjhandle_object(f):null,A=h&&h.absolute_ref?It(h.absolute_ref):void 0;return{...d,..._!=null?{cloning:_}:{},...A?{extensionDictionary:A}:{},data:c}}getCommonObjectAttrs(t){const o=this.libredwg,n=o.dwg_object_get_tio(t),d=o.dwg_object_object_get_ownerhandle_object(n),_=o.dwg_object_get_handle_object(t);return{handle:It(_.value),ownerHandle:It(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,o){const n=this.getCorners().map(d=>({x:d.x*t.x+o.x,y:d.y*t.y+o.y}));this.reset();for(const d of n)this.expandByPoint(d);return this}rotate(t,o){const n=Math.cos(t),d=Math.sin(t),_=this.getCorners().map(c=>{const f=c.x-o.x,h=c.y-o.y;return{x:o.x+f*n-h*d,y:o.y+f*d+h*n}});this.reset();for(const c of _)this.expandByPoint(c);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 Ro(r,t,o,n,d){const _=o.length;if(_===0)throw new Error("points must not be empty");const c=o[0].length;if(r<0||r>1)throw new Error(`t out of bounds [0,1]: ${r}`);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 C=[];for(let m=0;m<_+t+1;m++)C.push(m);return C})();if(h.length!==_+t+1)throw new Error("bad knot vector length");const A=[t,h.length-1-t],T=h[A[0]],I=h[A[1]];r=r*(I-T)+T,r=Math.max(r,T),r=Math.min(r,I);let p=A[0];for(;p<A[1]&&!(r>=h[p]&&r<=h[p+1]);p++);const v=new Array(_);for(let C=0;C<_;C++){v[C]=new Array(c+1);for(let m=0;m<c;m++)v[C][m]=o[C][m]*f[C];v[C][c]=f[C]}for(let C=1;C<=t+1;C++)for(let m=p;m>p-t-1+C;m--){const S=h[m+t+1-C]-h[m],N=S===0?0:(r-h[m])/S;for(let G=0;G<c+1;G++)v[m][G]=(1-N)*v[m-1][G]+N*v[m][G]}const w=new Array(c);for(let C=0;C<c;C++)w[C]=So(v[p][C]/v[p][c],-9);return w}function So(r,t){if(isNaN(r)||!Number.isInteger(t))return NaN;const[o,n="0"]=r.toString().split("e"),d=Math.round(+`${o}e${+n-t}`),[_,c="0"]=d.toString().split("e");return+`${_}e${+c+t}`}const sn={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},vn=[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 Be(r,t,o){return Math.max(t,Math.min(o,r))}const Tr=class Pr{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(Be(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=Be(t,0,256),this._color=vn[t],this._colorName=this.getColorNameByValue(this._color))}get colorName(){return this._colorName}set colorName(t){if(t){const o=sn[t.toLowerCase()];o!==void 0&&(this._colorName=t,this._color=o,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,o,n){const d=Math.round(Be(t,0,255)),_=Math.round(Be(o,0,255)),c=Math.round(Be(n,0,255));return this.color=(d<<16)+(_<<8)+c,this}setColorName(t){const o=sn[t.toLowerCase()];return o!==void 0&&(this.color=o),this}clone(){const t=new Pr;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[o,n]of Object.entries(sn))if(n===t)return o;return null}getColorIndexByValue(t){const o=vn.length-1;for(let n=1;n<o;++n)if(vn[n]===t)return n;return null}};nt(Tr,"NAMES",sn);let Lo=Tr;class vt{constructor(t,o){nt(this,"x"),nt(this,"y"),this.x=t,this.y=o}add(t){return new vt(this.x+t.x,this.y+t.y)}sub(t){return new vt(this.x-t.x,this.y-t.y)}multiply(t){return new vt(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 vt(0,0):new vt(this.x/t,this.y/t)}}function Yo(r,t,o,n=5){let d,_,c;o<0?(d=Math.atan(-o)*4,_=new vt(r.x,r.y),c=new vt(t.x,t.y)):(d=Math.atan(o)*4,_=new vt(t.x,t.y),c=new vt(r.x,r.y));const f=c.sub(_),h=f.length(),A=_.add(f.multiply(.5)),T=Math.abs(h/2/Math.tan(d/2)),I=f.norm(),p=new vt(I.x*Math.cos(Math.PI/2)-I.y*Math.sin(Math.PI/2),I.y*Math.cos(Math.PI/2)+I.x*Math.sin(Math.PI/2)),v=d<Math.PI?A.add(p.multiply(-T)):A.add(p.multiply(T)),w=Math.atan2(c.y-v.y,c.x-v.x)/Math.PI*180;let C=Math.atan2(_.y-v.y,_.x-v.x)/Math.PI*180;C<w&&(C+=360);const m=c.sub(v).length(),S=Math.floor(w/n)*n+n,N=Math.ceil(C/n)*n-n,G=[];for(let b=S;b<=N;b+=n){const k=b/180*Math.PI,U=v.add(new vt(Math.cos(k)*m,Math.sin(k)*m));G.push(U)}return o<0&&G.reverse(),G}function No(r,t=!1){let o=[];const n=r.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 c=n[d],f=n[d+1];o.push(c),n[d].bulge&&(o=o.concat(Yo(c,f,r.vertices[d].bulge))),d===_-2&&o.push(f)}return o}class Go{constructor(){nt(this,"blockMap",new Map)}rotate(t,o){const n=Math.cos(o),d=Math.sin(o);return{x:t.x*n-t.y*d,y:t.x*d+t.y*n}}interpolateBSpline(t,o,n,d=25,_){const c=[],f=t.map(T=>[T.x,T.y]),h=[n[o]],A=[n[o],n[n.length-1-o]];for(let T=o+1;T<n.length-o;++T)h[h.length-1]!==n[T]&&h.push(n[T]);for(let T=1;T<h.length;++T){const I=h[T-1],p=h[T];for(let v=0;v<=d;++v){let C=(v/d*(p-I)+I-A[0])/(A[1]-A[0]);C=Math.max(0,Math.min(1,C));const m=Ro(C,o,f,n,_);c.push({x:m[0],y:m[1]})}}return c}addFlipXIfApplicable(t,{bbox:o,element:n}){return"extrusionDirection"in t&&t.extrusionDirection.z===-1?{bbox:new pt().expandByPoint({x:-o.min.x,y:o.min.y}).expandByPoint({x:-o.max.x,y:o.max.y}),element:`<g transform="matrix(-1 0 0 1 0 0)">${n}</g>`}:{bbox:o,element:n}}line(t){const o=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:o,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),c=`<line x1="${n.x}" y1="${n.y}" x2="${d.x}" y2="${d.y}" />`;return{bbox:_,element:c}}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),c=`<line x1="${n.x}" y1="${n.y}" x2="${d.x}" y2="${d.y}" />`;return{bbox:_,element:c}}extractMTextLines(t){return t.replace(/\\U\+([0-9A-Fa-f]{4})/g,(o,n)=>String.fromCharCode(parseInt(n,16))).replace(/\\P/g,`
|
|
14
14
|
`).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(`
|
|
15
|
-
`).map(
|
|
16
|
-
`)}}mtext(t){const
|
|
15
|
+
`).map(o=>o.trim()).filter(o=>o.length>0)}lines(t,o,n,d,_="start"){const c=new pt().expandByPoint({x:n.x,y:n.y}).expandByPoint({x:n.x+d,y:n.y-t.length*o*1.5}),f=t.map((h,A)=>{const T=n.x,I=n.y-A*o*1.5,p=`translate(${T},${I}) scale(1,-1) translate(${-T},${-I})`;return`<text x="${T}" y="${I}" font-size="${o}" text-anchor="${_}" transform="${p}">${h}</text>`});return{bbox:c,element:f.join(`
|
|
16
|
+
`)}}mtext(t){const o=t.textHeight,n=t.insertionPoint,d=this.extractMTextLines(t.text),_=t.attachmentPoint;let c="start";return _==Ee.BottomCenter||_==Ee.MiddleCenter||_==Ee.TopCenter?c="middle":(_==Ee.BottomRight||_==Ee.MiddleRight||_==Ee.TopRight)&&(c="end"),this.lines(d,o,n,t.extentsWidth,c)}table(t){const{rowCount:o,columnCount:n,rowHeightArr:d,columnWidthArr:_,startPoint:c,cells:f}=t,h=c.x,A=c.y,T=[];for(let m=0,S=A;m<o;m++){const N=d[m];let G=h;for(let b=0;b<n;b++){const k=m*n+b,U=f[k],J=_[b];T.push({x:G,y:S,width:J,height:N,cell:U,row:m,col:b}),G+=J}S+=N}const I=T.map(({x:m,y:S,width:N,height:G,cell:b})=>{const k=[];b.topBorderVisibility&&k.push(`<line x1="${m}" y1="${S}" x2="${m+N}" y2="${S}" stroke="black" />`),b.bottomBorderVisibility&&k.push(`<line x1="${m}" y1="${S+G}" x2="${m+N}" y2="${S+G}" stroke="black" />`),b.leftBorderVisibility&&k.push(`<line x1="${m}" y1="${S}" x2="${m}" y2="${S+G}" stroke="black" />`),b.rightBorderVisibility&&k.push(`<line x1="${m+N}" y1="${S}" x2="${m+N}" y2="${S+G}" stroke="black" />`);const U=m+N/2,J=S+G/2+b.textHeight/3,et=`<text x="${U}" y="${J}" font-size="${b.textHeight}" text-anchor="middle" dominant-baseline="middle">${b.text}</text>`;return[...k,et].join(`
|
|
17
17
|
`)}).join(`
|
|
18
|
-
`),p=_.reduce((m,S)=>m+S,0),v=d.reduce((m,S)=>m+S,0),
|
|
19
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="${p}" height="${v}" viewBox="${
|
|
18
|
+
`),p=_.reduce((m,S)=>m+S,0),v=d.reduce((m,S)=>m+S,0),w=new pt().expandByPoint({x:h,y:A}).expandByPoint({x:h+p,y:A+v}),C=`
|
|
19
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="${p}" height="${v}" viewBox="${h} ${A} ${p} ${v}">
|
|
20
20
|
${I}
|
|
21
21
|
</svg>
|
|
22
|
-
`.trim();return{bbox:
|
|
23
|
-
`)}</g>`}:null}entityToBoundsAndElement(t){let
|
|
22
|
+
`.trim();return{bbox:w,element:C}}text(t){const o=t.textHeight,n=t.startPoint,d=[t.text];let _=t.endPoint.x-t.endPoint.x;t.halign==0&&(_=t.text.length*o+t.startPoint.x);let c="start";return t.halign==Dn.CENTER?c="middle":t.halign==Dn.RIGHT&&(c="end"),this.lines(d,o,n,_,c)}vertices(t,o=!1){const n=t.reduce((_,c)=>_.expandByPoint(c),new pt);let d=t.reduce((_,c,f)=>(_+=f===0?"M":"L",_+=c.x+","+c.y,_),"");return o&&(d+="Z"),{bbox:n,element:`<path d="${d}" />`}}circle(t){const o=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:o,element:n}}ellipseOrArc(t,o,n,d,_,c,f){const h=Math.sqrt(n*n+d*d),A=_*h,T=-Math.atan2(-d,n),I=this.bboxEllipseOrArc(t,o,n,d,_,c,f);if(Math.abs(c-f)<1e-9||Math.abs(c-f+Math.PI*2)<1e-9){const p=`<g transform="rotate(${T/Math.PI*180} ${t}, ${o})"><ellipse cx="${t}" cy="${o}" rx="${h}" ry="${A}" /></g>`;return{bbox:I,element:p}}else{const p=this.rotate({x:Math.cos(c)*h,y:Math.sin(c)*A},T),v={x:t+p.x,y:o+p.y},w=this.rotate({x:Math.cos(f)*h,y:Math.sin(f)*A},T),C={x:t+w.x,y:o+w.y},S=(f<c?f+Math.PI*2:f)-c<Math.PI?0:1,G=`<path d="${`M ${v.x} ${v.y} A ${h} ${A} ${T/Math.PI*180} ${S} 1 ${C.x} ${C.y}`}" />`;return{bbox:I,element:G}}}bboxEllipseOrArc(t,o,n,d,_,c,f){for(;c<0;)c+=Math.PI*2;for(;f<=c;)f+=Math.PI*2;const h=[];if(Math.abs(n)<1e-12||Math.abs(d)<1e-12)for(let v=0;v<4;v++)h.push(v/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 v=4;v>=0;v--){for(;h[v]<c;)h[v]+=Math.PI*2;h[v]>f&&h.splice(v,1)}h.push(c),h.push(f);const A=h.map(v=>({x:Math.cos(v),y:Math.sin(v)})),T=[[n,-d*_],[d,n*_]];return A.map(v=>({x:v.x*T[0][0]+v.y*T[0][1]+t,y:v.x*T[1][0]+v.y*T[1][1]+o})).reduce((v,w)=>(v.expandByPoint(w),v),new pt)}ellipse(t){const{bbox:o,element:n}=this.ellipseOrArc(t.center.x,t.center.y,t.majorAxisEndPoint.x,t.majorAxisEndPoint.y,t.axisRatio,t.startAngle,t.endAngle);return{bbox:o,element:n}}arc(t){const{bbox:o,element:n}=this.ellipseOrArc(t.center.x,t.center.y,t.radius,0,1,t.startAngle,t.endAngle);return{bbox:o,element:n}}dimension(t){const o=this.blockMap.get(t.name);return o?{bbox:o.bbox,element:`<use href="#${t.name}" />`}:null}insert(t){const o=this.blockMap.get(t.name);if(o){const n=t.insertionPoint,d=t.rotation*(180/Math.PI),_=`translate(${n.x},${n.y}) rotate(${d}) scale(${t.xScale},${t.yScale})`;return{bbox:o.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,o){const n=t.entities,{bbox:d,elements:_}=n.reduce((c,f)=>{const h=this.entityToBoundsAndElement(f);if(h){const{bbox:A,element:T}=h;A.valid&&(c.bbox.expandByPoint(A.min),c.bbox.expandByPoint(A.max));const I=this.getEntityColor(o.tables.LAYER.entries,f),p=f.type=="TEXT"||f.type=="MTEXT"?I.cssColor:"none";I.isByBlock?c.elements.push(`<g id="${f.handle}">${T}</g>`):c.elements.push(`<g id="${f.handle}" stroke="${I.cssColor}" fill="${p}">${T}</g>`)}return c},{bbox:new pt,elements:[]});return d.valid?{bbox:d,element:`<g id="${t.name}">${_.join(`
|
|
23
|
+
`)}</g>`}:null}entityToBoundsAndElement(t){let o=null;switch(t.type){case"ARC":o=this.arc(t);break;case"CIRCLE":o=this.circle(t);break;case"DIMENSION":o=this.dimension(t);break;case"ELLIPSE":o=this.ellipse(t);break;case"INSERT":o=this.insert(t);break;case"LINE":o=this.line(t);break;case"LWPOLYLINE":{const n=t,d=!!(n.flag&512),_=No(n,d);o=this.vertices(_,d);break}case"MTEXT":o=this.mtext(t);break;case"SPLINE":{const n=t;o=this.vertices(this.interpolateBSpline(n.controlPoints,n.degree,n.knots,25,n.weights));break}case"POLYLINE":break;case"RAY":o=this.ray(t);break;case"TABLE":case"ACAD_TABLE":o=this.table(t);break;case"TEXT":o=this.text(t);break;case"XLINE":o=this.xline(t);break;default:o=null;break}return o?this.addFlipXIfApplicable(t,o):null}getEntityColor(t,o){const n=new Lo;if(o.colorIndex!=null?n.colorIndex=o.colorIndex:o.colorName?n.colorName=o.colorName:o.color!=null&&(n.color=o.color),n.colorIndex==7&&(n.colorIndex=256),n.isByLayer){const d=t.find(_=>_.name===o.layer);d!=null&&(n.colorIndex=d.colorIndex)}return n.color==null&&(n.color=16777215),n}convert(t){let o=null;this.blockMap.clear();let n="";t.tables.BLOCK_RECORD.entries.forEach(c=>{if(Sn(c.name))o=c;else{const f=this.block(c,t);f&&(n+=f.element,this.blockMap.set(c.name,f))}});const d=this.block(o,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"?>
|
|
24
24
|
<svg
|
|
25
25
|
xmlns="http://www.w3.org/2000/svg"
|
|
26
26
|
xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"
|
|
@@ -32,4 +32,4 @@ ${R}
|
|
|
32
32
|
<g stroke="#000000" stroke-width="0.1%" fill="none" transform="matrix(1,0,0,-1,0,0)">
|
|
33
33
|
${d?d.element:""}
|
|
34
34
|
</g>
|
|
35
|
-
</svg>`}}const Tr=class Pr{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){if(i==Sn.DWG){const n="tmp.dwg";try{this.wasmInstance.FS.writeFile(n,new Uint8Array(t));const d=this.wasmInstance.dwg_read_file(n);if(d.error&fr.OUTOFMEM)throw this.wasmInstance.dwg_abandon(d.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 d.error!=0,d.data}finally{this.wasmInstance.FS.analyzePath(n,!1).exists&&this.wasmInstance.FS.unlink(n)}}}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 Ti[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 Li().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 E=0;E<d;E++){const f=n.dwg_get_object(t,E),g=n.dwg_object_to_object_tio(f);g&&n.dwg_object_get_fixedtype(f)==i&&_.push(g)}return _}dwg_getall_entity_by_type(t,i){const n=this.wasmInstance,d=n.dwg_get_num_objects(t),_=[];for(let E=0;E<d;E++){const f=n.dwg_get_object(t,E),g=n.dwg_object_to_entity_tio(f);g&&n.dwg_object_get_fixedtype(f)==i&&_.push(g)}return _}dwg_getall_LAYER(t){return this.dwg_getall_object_by_type(t,Y.DWG_TYPE_LAYER)}dwg_getall_LTYPE(t){return this.dwg_getall_object_by_type(t,Y.DWG_TYPE_LTYPE)}dwg_getall_STYLE(t){return this.dwg_getall_object_by_type(t,Y.DWG_TYPE_STYLE)}dwg_getall_DIMSTYLE(t){return this.dwg_getall_object_by_type(t,Y.DWG_TYPE_DIMSTYLE)}dwg_getall_VPORT(t){return this.dwg_getall_object_by_type(t,Y.DWG_TYPE_VPORT)}dwg_getall_LAYOUT(t){return this.dwg_getall_object_by_type(t,Y.DWG_TYPE_LAYOUT)}dwg_getall_BLOCK(t){return this.dwg_getall_object_by_type(t,Y.DWG_TYPE_BLOCK)}dwg_getall_BLOCK_HEADER(t){return this.dwg_getall_object_by_type(t,Y.DWG_TYPE_BLOCK_HEADER)}dwg_getall_IMAGEDEF(t){return this.dwg_getall_object_by_type(t,Y.DWG_TYPE_IMAGEDEF)}dwg_getall_VERTEX_2D(t){return this.dwg_getall_entity_by_type(t,Y.DWG_TYPE_VERTEX_2D)}dwg_getall_VERTEX_3D(t){return this.dwg_getall_entity_by_type(t,Y.DWG_TYPE_VERTEX_3D)}dwg_getall_POLYLINE_2D(t){return this.dwg_getall_entity_by_type(t,Y.DWG_TYPE_POLYLINE_2D)}dwg_getall_POLYLINE_3D(t){return this.dwg_getall_entity_by_type(t,Y.DWG_TYPE_POLYLINE_3D)}dwg_getall_IMAGE(t){return this.dwg_getall_entity_by_type(t,Y.DWG_TYPE_IMAGE)}dwg_getall_LWPOLYLINE(t){return this.dwg_getall_entity_by_type(t,Y.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=ir(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=ir(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),E=n.dwg_object_to_object_tio(_);return this.dwg_entity_block_header_get_block(E).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),E=n.dwg_object_to_object_tio(_);return this.dwg_dynapi_entity_data(E,"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),E=this.dwg_dynapi_entity_data(_,"name"),f=this.dwg_dynapi_entity_data(_,"base_pt");return{name:E,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 Pr(t):this.instance}static async create(t){const i=t==null?await rr():await rr({locateFile:n=>`${t}/${n}`});return this.createByWasmInstance(i)}};nt(Tr,"instance");let Yi=Tr;const sn=new Uint8Array([31,37,109,7,212,54,40,40,157,87,202,63,157,68,16,43]);function Ni(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+sn.length<=n;d++){if(!yr(a,d,sn)||d===t)continue;const _=lr(a,d);if(_)return _}}function Gi(a,t){var n;if((n=a.thumbnailImage)!=null&&n.length)return;const i=Ni(t);i!=null&&i.length&&(a.thumbnailImage=i)}function lr(a,t){if(t<=0||t>=a.length||!yr(a,t,sn))return;let i=t+sn.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 g=0;g<d;g++){if(i+9>a.length)return;const A=a[i];i+=1;const P=n.getInt32(i,!0);i+=4;const I=n.getInt32(i,!0);i+=4,_.push({code:A,start:P,size:I})}const E=i,f=cr(a,_,"absolute");return f||cr(a,_,"sequential",E)}function cr(a,t,i,n=0){let d,_=n;for(const E of t){const f=i==="absolute"?E.start:_;if(i==="sequential"&&(_+=Math.max(0,E.size)),E.code!==2&&E.code!==6)continue;const g=Wi(a,f,E.size);if(g!=null&&g.length){if(E.code===6)return g.slice();d||(d=g.slice())}}return d}function Wi(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}async function Mi(a){const t=await Yi.create();if(t==null)throw new Error("libredwg is not loaded!");const i=t.dwg_read_data(a,Sn.DWG);if(i==null)throw new Error("Failed to read dwg data!");const n=t.convertEx(i);t.dwg_free(i);const d=typeof a=="string"?void 0:new Uint8Array(a);return d&&Gi(n.database,d),n}class bi extends di{async executeTask(t){const i=await Mi(t);return{model:i.database,data:i.stats}}}new bi;const xi={},ki=Object.freeze(Object.defineProperty({__proto__:null,default:xi},Symbol.toStringTag,{value:"Module"}));
|
|
35
|
+
</svg>`}}const yr=class pr{constructor(t){return nt(this,"wasmInstance"),nt(this,"decoder"),this.wasmInstance=t,new Proxy(this,{get:(o,n,d)=>n in o?Reflect.get(o,n,d):Reflect.get(o.wasmInstance,n,d)})}dwg_read_data(t,o){if(o==Yn.DWG){const n="tmp.dwg";try{this.wasmInstance.FS.writeFile(n,new Uint8Array(t));const d=this.wasmInstance.dwg_read_file(n);if(d.error&gr.OUTOFMEM)throw this.wasmInstance.dwg_abandon(d.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 d.error!=0,d.data}finally{this.wasmInstance.FS.analyzePath(n,!1).exists&&this.wasmInstance.FS.unlink(n)}}}dwg_write_dxf(t){const o="tmp.dwg",n="tmp.dxf";try{return this.wasmInstance.FS.writeFile(o,new Uint8Array(t)),this.wasmInstance.dwg_write_dxf(o,n)!=0?null:this.wasmInstance.FS.readFile(n)}finally{this.wasmInstance.FS.analyzePath(o,!1).exists&&this.wasmInstance.FS.unlink(o),this.wasmInstance.FS.analyzePath(n,!1).exists&&this.wasmInstance.FS.unlink(n)}}dwg_get_version_type(t){const o=this.wasmInstance.dwg_get_version_type(t);return po[o]}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,o){return this.wasmInstance.dwg_get_class(t,o)}convert(t){const o=this.dwg_get_codepage(t),n=ir(o);return this.decoder=new TextDecoder(n),new cr(this).convert(t)}convertEx(t){const o=this.dwg_get_codepage(t),n=ir(o);this.decoder=new TextDecoder(n);const d=new cr(this);return{database:d.convert(t),stats:d.getConversionStats()}}dwg_to_svg(t){return new Go().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,o){return this.wasmInstance.dwg_ref_object(t,o)}dwg_ref_object_silent(t,o){return this.wasmInstance.dwg_ref_object_silent(t,o)}dwg_ref_object_relative(t,o,n){return this.wasmInstance.dwg_ref_object_relative(t,o,n)}dwg_resolve_handle(t,o){return this.wasmInstance.dwg_resolve_handle(t,o)}dwg_resolve_handle_silent(t,o){return this.wasmInstance.dwg_resolve_handle_silent(t,o)}dwg_resolve_handleref(t,o){return this.wasmInstance.dwg_resolve_handleref(t,o)}dwg_ref_get_absref(t){if(!t)return null;const o=this.wasmInstance.dwg_ref_get_absref(t);return o===0?null:o}dwg_ref_get_handle_value(t){if(!t)return null;const o=this.wasmInstance.dwg_ref_get_handle_value(t);return o===0n?null:o}dwg_ref_get_handle_absolute_ref(t){if(!t)return null;const o=this.wasmInstance.dwg_ref_get_handle_absolute_ref(t);return o===0n?null:o}dwg_obj_get_handle_value(t){if(!t)return null;const o=this.wasmInstance.dwg_obj_get_handle_value(t);return o===0n?null:o}dwg_ref_get_id(t){const o=this.dwg_ref_get_absref(t);return o==null?void 0:o.toString(16).toUpperCase()}dwg_ref_get_object_name(t){const o=this.wasmInstance,n=o.dwg_ref_get_object(t),d=o.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 o=this.wasmInstance,n=o.dwg_model_space_object(t),d=[];let _=o.get_first_owned_entity(n);for(;_;)d.push(_),_=o.get_next_owned_entity(n,_);return d}dwg_getall_object_by_type(t,o){const n=this.wasmInstance,d=n.dwg_get_num_objects(t),_=[];for(let c=0;c<d;c++){const f=n.dwg_get_object(t,c),h=n.dwg_object_to_object_tio(f);h&&n.dwg_object_get_fixedtype(f)==o&&_.push(h)}return _}dwg_getall_entity_by_type(t,o){const n=this.wasmInstance,d=n.dwg_get_num_objects(t),_=[];for(let c=0;c<d;c++){const f=n.dwg_get_object(t,c),h=n.dwg_object_to_entity_tio(f);h&&n.dwg_object_get_fixedtype(f)==o&&_.push(h)}return _}dwg_getall_LAYER(t){return this.dwg_getall_object_by_type(t,Y.DWG_TYPE_LAYER)}dwg_getall_LTYPE(t){return this.dwg_getall_object_by_type(t,Y.DWG_TYPE_LTYPE)}dwg_getall_STYLE(t){return this.dwg_getall_object_by_type(t,Y.DWG_TYPE_STYLE)}dwg_getall_DIMSTYLE(t){return this.dwg_getall_object_by_type(t,Y.DWG_TYPE_DIMSTYLE)}dwg_getall_VPORT(t){return this.dwg_getall_object_by_type(t,Y.DWG_TYPE_VPORT)}dwg_getall_LAYOUT(t){return this.dwg_getall_object_by_type(t,Y.DWG_TYPE_LAYOUT)}dwg_getall_BLOCK(t){return this.dwg_getall_object_by_type(t,Y.DWG_TYPE_BLOCK)}dwg_getall_BLOCK_HEADER(t){return this.dwg_getall_object_by_type(t,Y.DWG_TYPE_BLOCK_HEADER)}dwg_getall_IMAGEDEF(t){return this.dwg_getall_object_by_type(t,Y.DWG_TYPE_IMAGEDEF)}dwg_getall_VERTEX_2D(t){return this.dwg_getall_entity_by_type(t,Y.DWG_TYPE_VERTEX_2D)}dwg_getall_VERTEX_3D(t){return this.dwg_getall_entity_by_type(t,Y.DWG_TYPE_VERTEX_3D)}dwg_getall_POLYLINE_2D(t){return this.dwg_getall_entity_by_type(t,Y.DWG_TYPE_POLYLINE_2D)}dwg_getall_POLYLINE_3D(t){return this.dwg_getall_entity_by_type(t,Y.DWG_TYPE_POLYLINE_3D)}dwg_getall_IMAGE(t){return this.dwg_getall_entity_by_type(t,Y.DWG_TYPE_IMAGE)}dwg_getall_LWPOLYLINE(t){return this.dwg_getall_entity_by_type(t,Y.DWG_TYPE_LWPOLYLINE)}dwg_ptr_to_object_ref_array(t,o){return this.wasmInstance.dwg_ptr_to_object_ref_array(t,o)}dwg_ptr_to_object_ref_ptr_array(t,o){return this.wasmInstance.dwg_ptr_to_object_ref_ptr_array(t,o)}dwg_ptr_to_wchar_string_array(t,o){return this.wasmInstance.dwg_ptr_to_wchar_string_array(t,o)}dwg_ptr_to_unsigned_char_array(t,o){return this.wasmInstance.dwg_ptr_to_unsigned_char_array(t,o)}dwg_ptr_to_signed_char_array(t,o){return this.wasmInstance.dwg_ptr_to_signed_char_array(t,o)}dwg_ptr_to_uint16_t_array(t,o){return this.wasmInstance.dwg_ptr_to_uint16_t_array(t,o)}dwg_ptr_to_int16_t_array(t,o){return this.wasmInstance.dwg_ptr_to_int16_t_array(t,o)}dwg_ptr_to_uint32_t_array(t,o){return this.wasmInstance.dwg_ptr_to_uint32_t_array(t,o)}dwg_ptr_to_int32_t_array(t,o){return this.wasmInstance.dwg_ptr_to_int32_t_array(t,o)}dwg_ptr_to_uint64_t_array(t,o){return this.wasmInstance.dwg_ptr_to_uint64_t_array(t,o)}dwg_ptr_to_int64_t_array(t,o){return this.wasmInstance.dwg_ptr_to_int64_t_array(t,o)}dwg_ptr_to_double_array(t,o){return this.wasmInstance.dwg_ptr_to_double_array(t,o)}dwg_ptr_to_point2d_array(t,o){return this.wasmInstance.dwg_ptr_to_point2d_array(t,o)}dwg_ptr_to_point3d_array(t,o){return this.wasmInstance.dwg_ptr_to_point3d_array(t,o)}dwg_ptr_to_point4d_array(t,o){return this.wasmInstance.dwg_ptr_to_point4d_array(t,o)}dwg_ptr_to_ltype_dash_array(t,o){return this.wasmInstance.dwg_ptr_to_ltype_dash_array(t,o)}dwg_ptr_to_table_cell_array(t,o){return this.wasmInstance.dwg_ptr_to_table_cell_array(t,o)}dwg_ptr_to_hatch_defline_array(t,o){return this.wasmInstance.dwg_ptr_to_hatch_defline_array(t,o)}dwg_ptr_to_hatch_path_array(t,o){return this.wasmInstance.dwg_ptr_to_hatch_path_array(t,o)}dwg_ptr_to_hatch_gradient_color_array(t,o){return this.wasmInstance.dwg_ptr_to_hatch_gradient_color_array(t,o)}dwg_ptr_to_mline_vertex_array(t,o){return this.wasmInstance.dwg_ptr_to_mline_vertex_array(t,o)}dwg_dynapi_entity_value(t,o){const n=this.wasmInstance.dwg_dynapi_entity_value(t,o);return n.bin&&this.decoder&&(n.data=this.decoder.decode(n.bin)),typeof n.data=="string"&&(n.data=sr(n.data)),n}dwg_dynapi_entity_data(t,o){return this.dwg_dynapi_entity_value(t,o).data}dwg_dynapi_header_value(t,o){return this.wasmInstance.dwg_dynapi_header_value(t,o)}dwg_dynapi_header_data(t,o){return this.dwg_dynapi_header_value(t,o).data}dwg_dynapi_common_value(t,o){return this.wasmInstance.dwg_dynapi_common_value(t,o)}dwg_dynapi_common_data(t,o){return this.dwg_dynapi_common_value(t,o).data}dwg_dynapi_subclass_value(t,o,n){const d=this.wasmInstance.dwg_dynapi_subclass_value(t,o,n);return d.bin&&this.decoder&&(d.data=this.decoder.decode(d.bin)),typeof d.data=="string"&&(d.data=sr(d.data)),d}dwg_dynapi_subclass_data(t,o,n){return this.dwg_dynapi_subclass_value(t,o,n).data}dwg_dynapi_subclass_size(t){return this.wasmInstance.dwg_dynapi_subclass_size(t)}dwg_dynapi_entity_field_offset(t,o){return this.wasmInstance.dwg_dynapi_entity_field_offset(t,o)}dwg_dynapi_subclass_field_offset(t,o){return this.wasmInstance.dwg_dynapi_subclass_field_offset(t,o)}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,o){const n=this.wasmInstance,d=this.dwg_dynapi_entity_data(t,o),_=n.dwg_ref_get_object(d),c=n.dwg_object_to_object_tio(_);return this.dwg_entity_block_header_get_block(c).name}dwg_entity_get_dimstyle_name(t,o="dimstyle"){const n=this.wasmInstance,d=this.dwg_dynapi_entity_data(t,o),_=n.dwg_ref_get_object(d),c=n.dwg_object_to_object_tio(_);return this.dwg_dynapi_entity_data(c,"name")}dwg_entity_block_header_get_block(t){const o=this.wasmInstance,n=this.dwg_dynapi_entity_data(t,"block_entity"),d=o.dwg_ref_get_object(n),_=o.dwg_object_to_entity_tio(d),c=this.dwg_dynapi_entity_data(_,"name"),f=this.dwg_dynapi_entity_data(_,"base_pt");return{name:c,base_pt:f}}dwg_entity_block_header_get_preview(t){const o=this.wasmInstance;if(typeof o.dwg_entity_block_header_get_preview!="function")return null;const n=o.dwg_entity_block_header_get_preview(t);return(n==null?void 0:n.data)??null}dwg_entity_get_preview(t){const o=this.wasmInstance;if(typeof o.dwg_entity_get_preview!="function")return null;const n=o.dwg_entity_get_preview(t);return(n==null?void 0:n.data)??null}dwg_entity_proxy_entity_get_entity_data(t){const o=this.wasmInstance;if(typeof o.dwg_entity_proxy_entity_get_entity_data!="function")return null;const n=o.dwg_entity_proxy_entity_get_entity_data(t);return(n==null?void 0:n.data)??null}dwg_entity_ole2frame_get_data(t){const o=this.wasmInstance;if(typeof o.dwg_entity_ole2frame_get_data!="function")return null;const n=o.dwg_entity_ole2frame_get_data(t);return(n==null?void 0:n.data)??null}dwg_entity_oleframe_get_data(t){const o=this.wasmInstance;if(typeof o.dwg_entity_oleframe_get_data!="function")return null;const n=o.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,o){return this.wasmInstance.get_next_owned_entity(t,o)}dwg_entity_mtext_get_style_name(t){const o=this.wasmInstance,n=this.dwg_dynapi_entity_data(t,"style"),d=o.dwg_ref_get_object(n),_=o.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 pr(t):this.instance}static async create(t){const o=t==null?await or():await or({locateFile:n=>`${t}/${n}`});return this.createByWasmInstance(o)}};nt(yr,"instance");let Wo=yr;const _n=new Uint8Array([31,37,109,7,212,54,40,40,157,87,202,63,157,68,16,43]);function Mo(r){if(r.length<17)return;const t=new DataView(r.buffer,r.byteOffset,r.byteLength).getUint32(13,!0),o=ur(r,t);if(o)return o;const n=Math.min(r.length,1024*1024);for(let d=0;d+_n.length<=n;d++){if(!Ir(r,d,_n)||d===t)continue;const _=ur(r,d);if(_)return _}}function bo(r,t){var n;if((n=r.thumbnailImage)!=null&&n.length)return;const o=Mo(t);o!=null&&o.length&&(r.thumbnailImage=o)}function ur(r,t){if(t<=0||t>=r.length||!Ir(r,t,_n))return;let o=t+_n.length;if(o+5>r.length)return;const n=new DataView(r.buffer,r.byteOffset,r.byteLength);n.getInt32(o,!0),o+=4;const d=r[o];if(o+=1,d<=0||d>16)return;const _=[];for(let h=0;h<d;h++){if(o+9>r.length)return;const A=r[o];o+=1;const T=n.getInt32(o,!0);o+=4;const I=n.getInt32(o,!0);o+=4,_.push({code:A,start:T,size:I})}const c=o,f=Er(r,_,"absolute");return f||Er(r,_,"sequential",c)}function Er(r,t,o,n=0){let d,_=n;for(const c of t){const f=o==="absolute"?c.start:_;if(o==="sequential"&&(_+=Math.max(0,c.size)),c.code!==2&&c.code!==6)continue;const h=xo(r,f,c.size);if(h!=null&&h.length){if(c.code===6)return h.slice();d||(d=h.slice())}}return d}function xo(r,t,o){if(!(t<0||o<=0)&&!(t+o>r.length))return r.subarray(t,t+o)}function Ir(r,t,o){if(t+o.length>r.length)return!1;for(let n=0;n<o.length;n++)if(r[t+n]!==o[n])return!1;return!0}async function ko(r){const t=await Wo.create();if(t==null)throw new Error("libredwg is not loaded!");const o=t.dwg_read_data(r,Yn.DWG);if(o==null)throw new Error("Failed to read dwg data!");const n=t.convertEx(o);Oo(t,o,n.database),t.dwg_free(o);const d=typeof r=="string"?void 0:new Uint8Array(r);return d&&bo(n.database,d),n}function Oo(r,t,o){var f;const n={},d=new Map,_=new Map;for(const h of o.objects.DICTIONARY??[]){const A=he(h.handle);A&&_.set(A,h)}const c=((f=o.tables.BLOCK_RECORD)==null?void 0:f.entries)??[];for(const h of c)for(const A of h.entities??[]){if(A.type!=="DIMENSION")continue;const T=A.styleName;if(!T||n[T]!=null)continue;const I=Bo(r,t,A,_,d);I!=null&&I>0&&(n[T]=I)}Object.keys(n).length>0&&(o.dimStyleAnnotationScales=n)}function Bo(r,t,o,n,d){var T,I;const _=n.get(he(o.ownerDictionaryHardId)),c=n.get(he((T=_==null?void 0:_.entries)==null?void 0:T.AcDbContextDataManager)),f=n.get(he((I=c==null?void 0:c.entries)==null?void 0:I.ACDB_ANNOTATIONSCALES)),h=f==null?void 0:f.entries;if(!h)return;let A;for(const p of Object.values(h)){const v=Uo(r,t,he(p),d);if(v==null)continue;if(Fo(r,t,he(p)))return v;A??(A=v)}return A}function Fo(r,t,o){const n=Ln(r,t,o);if(!n)return!1;try{const d=r.dwg_dynapi_entity_value(n,"is_default");return!!(d!=null&&d.success)&&Number(d.data)===1}catch{return!1}}function Uo(r,t,o,n){const d=Ln(r,t,o);if(d)try{const _=r.dwg_dynapi_entity_value(d,"scale");if(!(_!=null&&_.success)||_.data==null)return;const c=he(r.dwg_ref_get_id(_.data));if(!c)return;const f=n.get(c);if(f!=null)return f;const h=Ln(r,t,c);if(!h)return;const A=r.dwg_dynapi_entity_value(h,"paper_units"),T=r.dwg_dynapi_entity_value(h,"drawing_units");if(!(A!=null&&A.success)||!(T!=null&&T.success))return;const I=Number(A.data),p=Number(T.data);if(!(I>0)||!(p>0))return;const v=p/I;return n.set(c,v),v}catch{return}}function Ln(r,t,o){if(!(!o||!/^[0-9A-F]+$/i.test(o)))try{const n=r.dwg_resolve_handle(t,BigInt("0x"+o));return n?r.dwg_object_to_object_tio(n):void 0}catch{return}}function he(r){return r==null||r===""||r===!1||r===0?"":String(r).trim().toUpperCase()}class $o extends uo{async executeTask(t){const o=await ko(t);return{model:o.database,data:o.stats}}}new $o;const Vo={},Ho=Object.freeze(Object.defineProperty({__proto__:null,default:Vo},Symbol.toStringTag,{value:"Module"}));
|