@ioai/robot_viewer 1.1.2 → 1.1.4
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 +16 -2
- package/bin/cli.js +93 -2
- package/dist/assets/js/PlotPanel-0ea747b2.js +1 -0
- package/dist/assets/js/index-8af8ce50.js +6 -0
- package/dist/assets/js/{mujoco_wasm-345a2576.js → mujoco_wasm-eda98632.js} +1 -1
- package/dist/camera-publish-worker.js +1 -1
- package/dist/heartbeat-worker.js +1 -1
- package/dist/index.html +2 -2
- package/package.json +1 -1
- package/server/static-server.js +19 -5
- package/dist/assets/js/PlotPanel-09f986c7.js +0 -1
- package/dist/assets/js/index-56e94ce5.js +0 -6
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{Ray as _0xa61c9e,Plane as _0x24bf3b,EventDispatcher as _0x352b44,Vector3 as _0x220444,MOUSE as _0xbfc824,TOUCH as _0x486cc7,Quaternion as _0x3c39ce,Spherical as _0x422297,Vector2 as _0x228015,MathUtils as _0x2be885,Matrix4 as _0x13cf24,Object3D as _0x5a57be,Matrix3 as _0x3461a1,BoxGeometry as _0x20eddb,Euler as _0x416b03,SphereGeometry as _0x2e733b,Raycaster as _0x173557,Color as _0x25d7bf,MeshPhongMaterial as _0xa4876a,SRGBColorSpace as _0x50e39a,Group as _0x135d71,CapsuleGeometry as _0x37c03a,CylinderGeometry as _0x181a2b,Mesh as _0x2c4c6c,MeshStandardMaterial as _0x19745e,HemisphereLight as _0x173c6f,DirectionalLight as _0x46bddf,PMREMGenerator as _0x105af1,Scene as _0x2eec37,EquirectangularReflectionMapping as _0x8fb2b4,DataTexture as _0x5e84a5,CubeTexture as _0x43a6dd,CubeReflectionMapping as _0x246c78,PlaneGeometry as _0x963183,ShadowMaterial as _0x50778e,DoubleSide as _0x3ea7cb,GridHelper as _0x8e3a38,Sphere as _0x5bf93c,MeshBasicMaterial as _0x2b5e49,BufferGeometry as _0x116076,BufferAttribute as _0x465d50,LineDashedMaterial as _0x3164b6,Line as _0x5b83e2,ConeGeometry as _0x1d50b7,EllipseCurve as _0x45d6ea,CatmullRomCurve3 as _0x298750,TubeGeometry as _0x2f3935,Box3 as _0x2e400f,LineBasicMaterial as _0x3b6936,CanvasTexture as _0x413a58,SpriteMaterial as _0x30f8a7,Sprite as _0x90fba4,PerspectiveCamera as _0x555d82,WebGLRenderer as _0x563f99,PCFSoftShadowMap as _0x2c8869,WireframeGeometry as _0x364fb3,LineSegments as _0x29cf62,ArrowHelper as _0x3c3717,ShaderMaterial as _0x496f57,OrthographicCamera as _0x43a6c8,HalfFloatType as _0x337bf6,UnsignedByteType as _0x3a3254,WebGLRenderTarget as _0x42cbb7,RGBAFormat as _0x414058,NearestFilter as _0x17a998}from'./three-9c891de0.js';import{s as _0x472736,h as _0x53e7ee,t as _0x31940c,z as _0xcc15d2,l as _0x450f6f,i as _0x4c0e59,d as _0x455253}from'./d3-2e308866.js';import{a as _0x1d6a2e,b as _0x1f153f,x as _0x5b0b45,E as _0x1516b9}from'./codemirror-c3cec7b3.js';import{g as _0x54af13,v as _0xc978ba}from'./codemirror-themes-e6995a6a.js';!(function(){const _0x22b649=document['createElement']('link')['relList'];if(!(_0x22b649&&_0x22b649['supports']&&_0x22b649['supports']('modulepreload'))){for(const _0x3341fd of document['querySelectorAll']('link[rel=\x22modulepreload\x22]'))_0x311767(_0x3341fd);new MutationObserver(_0x2b0b44=>{for(const _0x3d322b of _0x2b0b44)if('childList'===_0x3d322b['type'])for(const _0x27aab1 of _0x3d322b['addedNodes'])'LINK'===_0x27aab1['tagName']&&'modulepreload'===_0x27aab1['rel']&&_0x311767(_0x27aab1);})['observe'](document,{'childList':!0x0,'subtree':!0x0});}function _0x311767(_0x12a5a9){if(_0x12a5a9['ep'])return;_0x12a5a9['ep']=!0x0;const _0x23f1ad=function(_0x45185b){const _0x130e67={};return _0x45185b['integrity']&&(_0x130e67['integrity']=_0x45185b['integrity']),_0x45185b['referrerPolicy']&&(_0x130e67['referrerPolicy']=_0x45185b['referrerPolicy']),'use-credentials'===_0x45185b['crossOrigin']?_0x130e67['credentials']='include':'anonymous'===_0x45185b['crossOrigin']?_0x130e67['credentials']='omit':_0x130e67['credentials']='same-origin',_0x130e67;}(_0x12a5a9);fetch(_0x12a5a9['href'],_0x23f1ad);}}());const Se={},Ae=function(_0x50c235,_0x492dc5,_0x2ab6d3){if(!_0x492dc5||0x0===_0x492dc5['length'])return _0x50c235();const _0x35cd67=document['getElementsByTagName']('link');return Promise['all'](_0x492dc5['map'](_0x129b82=>{if(_0x129b82=function(_0x5d99f5,_0x27a3f5){return new URL(_0x5d99f5,_0x27a3f5)['href'];}(_0x129b82,_0x2ab6d3),_0x129b82 in Se)return;Se[_0x129b82]=!0x0;const _0x3e04de=_0x129b82['endsWith']('.css'),_0x576c18=_0x3e04de?'[rel=\x22stylesheet\x22]':'';if(!!_0x2ab6d3)for(let _0x499540=_0x35cd67['length']-0x1;_0x499540>=0x0;_0x499540--){const _0x464f6f=_0x35cd67[_0x499540];if(_0x464f6f['href']===_0x129b82&&(!_0x3e04de||'stylesheet'===_0x464f6f['rel']))return;}else if(document['querySelector']('link[href=\x22'+_0x129b82+'\x22]'+_0x576c18))return;const _0x486de7=document['createElement']('link');return _0x486de7['rel']=_0x3e04de?'stylesheet':'modulepreload',_0x3e04de||(_0x486de7['as']='script',_0x486de7['crossOrigin']=''),_0x486de7['href']=_0x129b82,document['head']['appendChild'](_0x486de7),_0x3e04de?new Promise((_0x2bfce2,_0x185e6b)=>{_0x486de7['addEventListener']('load',_0x2bfce2),_0x486de7['addEventListener']('error',()=>_0x185e6b(new Error('Unable\x20to\x20preload\x20CSS\x20for\x20'+_0x129b82)));}):void 0x0;}))['then'](()=>_0x50c235())['catch'](_0x436f11=>{const _0x2f80e7=new Event('vite:preloadError',{'cancelable':!0x0});if(_0x2f80e7['payload']=_0x436f11,window['dispatchEvent'](_0x2f80e7),!_0x2f80e7['defaultPrevented'])throw _0x436f11;});},Le={'type':'change'},Ee={'type':'start'},Ce={'type':'end'},je=new _0xa61c9e(),ke=new _0x24bf3b(),Te=Math['cos'](0x46*_0x2be885['DEG2RAD']);class Oe extends _0x352b44{constructor(_0x5c1f1c,_0x2ee243){super(),this['object']=_0x5c1f1c,this['domElement']=_0x2ee243,this['domElement']['style']['touchAction']='none',this['enabled']=!0x0,this['target']=new _0x220444(),this['cursor']=new _0x220444(),this['minDistance']=0x0,this['maxDistance']=0x1/0x0,this['minZoom']=0x0,this['maxZoom']=0x1/0x0,this['minTargetRadius']=0x0,this['maxTargetRadius']=0x1/0x0,this['minPolarAngle']=0x0,this['maxPolarAngle']=Math['PI'],this['minAzimuthAngle']=-0x1/0x0,this['maxAzimuthAngle']=0x1/0x0,this['enableDamping']=!0x1,this['dampingFactor']=0.05,this['enableZoom']=!0x0,this['zoomSpeed']=0x1,this['enableRotate']=!0x0,this['rotateSpeed']=0x1,this['enablePan']=!0x0,this['panSpeed']=0x1,this['screenSpacePanning']=!0x0,this['keyPanSpeed']=0x7,this['zoomToCursor']=!0x1,this['autoRotate']=!0x1,this['autoRotateSpeed']=0x2,this['keys']={'LEFT':'ArrowLeft','UP':'ArrowUp','RIGHT':'ArrowRight','BOTTOM':'ArrowDown'},this['mouseButtons']={'LEFT':_0xbfc824['ROTATE'],'MIDDLE':_0xbfc824['DOLLY'],'RIGHT':_0xbfc824['PAN']},this['touches']={'ONE':_0x486cc7['ROTATE'],'TWO':_0x486cc7['DOLLY_PAN']},this['target0']=this['target']['clone'](),this['position0']=this['object']['position']['clone'](),this['zoom0']=this['object']['zoom'],this['_domElementKeyEvents']=null,this['getPolarAngle']=function(){return _0x364dfe['phi'];},this['getAzimuthalAngle']=function(){return _0x364dfe['theta'];},this['getDistance']=function(){return this['object']['position']['distanceTo'](this['target']);},this['listenToKeyEvents']=function(_0x18c1b0){_0x18c1b0['addEventListener']('keydown',_0x4f8432),this['_domElementKeyEvents']=_0x18c1b0;},this['stopListenToKeyEvents']=function(){this['_domElementKeyEvents']['removeEventListener']('keydown',_0x4f8432),this['_domElementKeyEvents']=null;},this['saveState']=function(){_0x4fb1af['target0']['copy'](_0x4fb1af['target']),_0x4fb1af['position0']['copy'](_0x4fb1af['object']['position']),_0x4fb1af['zoom0']=_0x4fb1af['object']['zoom'];},this['reset']=function(){_0x4fb1af['target']['copy'](_0x4fb1af['target0']),_0x4fb1af['object']['position']['copy'](_0x4fb1af['position0']),_0x4fb1af['object']['zoom']=_0x4fb1af['zoom0'],_0x4fb1af['object']['updateProjectionMatrix'](),_0x4fb1af['dispatchEvent'](Le),_0x4fb1af['update'](),_0x2bbd02=_0x27558c['NONE'];},this['update']=(function(){const _0x5d2957=new _0x220444(),_0x1aded4=new _0x3c39ce()['setFromUnitVectors'](_0x5c1f1c['up'],new _0x220444(0x0,0x1,0x0)),_0x17da4a=_0x1aded4['clone']()['invert'](),_0x39c10a=new _0x220444(),_0x3ced8e=new _0x3c39ce(),_0x1ee8a4=new _0x220444(),_0x333c52=0x2*Math['PI'];return function(_0x1d58bc=null){const _0x2bdcf7=_0x4fb1af['object']['position'];_0x5d2957['copy'](_0x2bdcf7)['sub'](_0x4fb1af['target']),_0x5d2957['applyQuaternion'](_0x1aded4),_0x364dfe['setFromVector3'](_0x5d2957),_0x4fb1af['autoRotate']&&_0x2bbd02===_0x27558c['NONE']&&_0x4f4303(function(_0x3ed143){return null!==_0x3ed143?0x2*Math['PI']/0x3c*_0x4fb1af['autoRotateSpeed']*_0x3ed143:0x2*Math['PI']/0x3c/0x3c*_0x4fb1af['autoRotateSpeed'];}(_0x1d58bc)),_0x4fb1af['enableDamping']?(_0x364dfe['theta']+=_0x20bb59['theta']*_0x4fb1af['dampingFactor'],_0x364dfe['phi']+=_0x20bb59['phi']*_0x4fb1af['dampingFactor']):(_0x364dfe['theta']+=_0x20bb59['theta'],_0x364dfe['phi']+=_0x20bb59['phi']);let _0x3a9597=_0x4fb1af['minAzimuthAngle'],_0x34b3f1=_0x4fb1af['maxAzimuthAngle'];isFinite(_0x3a9597)&&isFinite(_0x34b3f1)&&(_0x3a9597<-Math['PI']?_0x3a9597+=_0x333c52:_0x3a9597>Math['PI']&&(_0x3a9597-=_0x333c52),_0x34b3f1<-Math['PI']?_0x34b3f1+=_0x333c52:_0x34b3f1>Math['PI']&&(_0x34b3f1-=_0x333c52),_0x364dfe['theta']=_0x3a9597<=_0x34b3f1?Math['max'](_0x3a9597,Math['min'](_0x34b3f1,_0x364dfe['theta'])):_0x364dfe['theta']>(_0x3a9597+_0x34b3f1)/0x2?Math['max'](_0x3a9597,_0x364dfe['theta']):Math['min'](_0x34b3f1,_0x364dfe['theta'])),_0x364dfe['phi']=Math['max'](_0x4fb1af['minPolarAngle'],Math['min'](_0x4fb1af['maxPolarAngle'],_0x364dfe['phi'])),_0x364dfe['makeSafe'](),!0x0===_0x4fb1af['enableDamping']?_0x4fb1af['target']['addScaledVector'](_0xd3daf,_0x4fb1af['dampingFactor']):_0x4fb1af['target']['add'](_0xd3daf),_0x4fb1af['target']['sub'](_0x4fb1af['cursor']),_0x4fb1af['target']['clampLength'](_0x4fb1af['minTargetRadius'],_0x4fb1af['maxTargetRadius']),_0x4fb1af['target']['add'](_0x4fb1af['cursor']);let _0x12fd64=!0x1;if(_0x4fb1af['zoomToCursor']&&_0x12eeab||_0x4fb1af['object']['isOrthographicCamera'])_0x364dfe['radius']=_0x379e18(_0x364dfe['radius']);else{const _0x4b8464=_0x364dfe['radius'];_0x364dfe['radius']=_0x379e18(_0x364dfe['radius']*_0x15ed4e),_0x12fd64=_0x4b8464!=_0x364dfe['radius'];}if(_0x5d2957['setFromSpherical'](_0x364dfe),_0x5d2957['applyQuaternion'](_0x17da4a),_0x2bdcf7['copy'](_0x4fb1af['target'])['add'](_0x5d2957),_0x4fb1af['object']['lookAt'](_0x4fb1af['target']),!0x0===_0x4fb1af['enableDamping']?(_0x20bb59['theta']*=0x1-_0x4fb1af['dampingFactor'],_0x20bb59['phi']*=0x1-_0x4fb1af['dampingFactor'],_0xd3daf['multiplyScalar'](0x1-_0x4fb1af['dampingFactor'])):(_0x20bb59['set'](0x0,0x0,0x0),_0xd3daf['set'](0x0,0x0,0x0)),_0x4fb1af['zoomToCursor']&&_0x12eeab){let _0xc202f2=null;if(_0x4fb1af['object']['isPerspectiveCamera']){const _0x24e594=_0x5d2957['length']();_0xc202f2=_0x379e18(_0x24e594*_0x15ed4e);const _0x1f0bbc=_0x24e594-_0xc202f2;_0x4fb1af['object']['position']['addScaledVector'](_0x3a8138,_0x1f0bbc),_0x4fb1af['object']['updateMatrixWorld'](),_0x12fd64=!!_0x1f0bbc;}else if(_0x4fb1af['object']['isOrthographicCamera']){const _0x44d7cf=new _0x220444(_0x2558ae['x'],_0x2558ae['y'],0x0);_0x44d7cf['unproject'](_0x4fb1af['object']);const _0xb19e75=_0x4fb1af['object']['zoom'];_0x4fb1af['object']['zoom']=Math['max'](_0x4fb1af['minZoom'],Math['min'](_0x4fb1af['maxZoom'],_0x4fb1af['object']['zoom']/_0x15ed4e)),_0x4fb1af['object']['updateProjectionMatrix'](),_0x12fd64=_0xb19e75!==_0x4fb1af['object']['zoom'];const _0x2df77e=new _0x220444(_0x2558ae['x'],_0x2558ae['y'],0x0);_0x2df77e['unproject'](_0x4fb1af['object']),_0x4fb1af['object']['position']['sub'](_0x2df77e)['add'](_0x44d7cf),_0x4fb1af['object']['updateMatrixWorld'](),_0xc202f2=_0x5d2957['length']();}else _0x4fb1af['zoomToCursor']=!0x1;null!==_0xc202f2&&(this['screenSpacePanning']?_0x4fb1af['target']['set'](0x0,0x0,-0x1)['transformDirection'](_0x4fb1af['object']['matrix'])['multiplyScalar'](_0xc202f2)['add'](_0x4fb1af['object']['position']):(je['origin']['copy'](_0x4fb1af['object']['position']),je['direction']['set'](0x0,0x0,-0x1)['transformDirection'](_0x4fb1af['object']['matrix']),Math['abs'](_0x4fb1af['object']['up']['dot'](je['direction']))<Te?_0x5c1f1c['lookAt'](_0x4fb1af['target']):(ke['setFromNormalAndCoplanarPoint'](_0x4fb1af['object']['up'],_0x4fb1af['target']),je['intersectPlane'](ke,_0x4fb1af['target']))));}else if(_0x4fb1af['object']['isOrthographicCamera']){const _0x47d415=_0x4fb1af['object']['zoom'];_0x4fb1af['object']['zoom']=Math['max'](_0x4fb1af['minZoom'],Math['min'](_0x4fb1af['maxZoom'],_0x4fb1af['object']['zoom']/_0x15ed4e)),_0x47d415!==_0x4fb1af['object']['zoom']&&(_0x4fb1af['object']['updateProjectionMatrix'](),_0x12fd64=!0x0);}return _0x15ed4e=0x1,_0x12eeab=!0x1,!!(_0x12fd64||_0x39c10a['distanceToSquared'](_0x4fb1af['object']['position'])>_0x5a9685||0x8*(0x1-_0x3ced8e['dot'](_0x4fb1af['object']['quaternion']))>_0x5a9685||_0x1ee8a4['distanceToSquared'](_0x4fb1af['target'])>_0x5a9685)&&(_0x4fb1af['dispatchEvent'](Le),_0x39c10a['copy'](_0x4fb1af['object']['position']),_0x3ced8e['copy'](_0x4fb1af['object']['quaternion']),_0x1ee8a4['copy'](_0x4fb1af['target']),!0x0);};}()),this['dispose']=function(){_0x4fb1af['domElement']['removeEventListener']('contextmenu',_0x203208),_0x4fb1af['domElement']['removeEventListener']('pointerdown',_0x5471ca),_0x4fb1af['domElement']['removeEventListener']('pointercancel',_0x41e648),_0x4fb1af['domElement']['removeEventListener']('wheel',_0x464e36),_0x4fb1af['domElement']['removeEventListener']('pointermove',_0x3d26e3),_0x4fb1af['domElement']['removeEventListener']('pointerup',_0x41e648);_0x4fb1af['domElement']['getRootNode']()['removeEventListener']('keydown',_0x23174b,{'capture':!0x0}),null!==_0x4fb1af['_domElementKeyEvents']&&(_0x4fb1af['_domElementKeyEvents']['removeEventListener']('keydown',_0x4f8432),_0x4fb1af['_domElementKeyEvents']=null);};const _0x4fb1af=this,_0x27558c={'NONE':-0x1,'ROTATE':0x0,'DOLLY':0x1,'PAN':0x2,'TOUCH_ROTATE':0x3,'TOUCH_PAN':0x4,'TOUCH_DOLLY_PAN':0x5,'TOUCH_DOLLY_ROTATE':0x6};let _0x2bbd02=_0x27558c['NONE'];const _0x5a9685=0.000001,_0x364dfe=new _0x422297(),_0x20bb59=new _0x422297();let _0x15ed4e=0x1;const _0xd3daf=new _0x220444(),_0x2ee560=new _0x228015(),_0x292666=new _0x228015(),_0x952868=new _0x228015(),_0x456631=new _0x228015(),_0x42341b=new _0x228015(),_0x1eb800=new _0x228015(),_0x46406d=new _0x228015(),_0x2060d9=new _0x228015(),_0x51ee21=new _0x228015(),_0x3a8138=new _0x220444(),_0x2558ae=new _0x228015();let _0x12eeab=!0x1;const _0x512037=[],_0x40b50b={};let _0x4664db=!0x1;function _0x3f4aa1(_0xa66a33){const _0x5f5d39=Math['abs'](0.01*_0xa66a33);return Math['pow'](0.95,_0x4fb1af['zoomSpeed']*_0x5f5d39);}function _0x4f4303(_0x1cf0d8){_0x20bb59['theta']-=_0x1cf0d8;}function _0x4358bd(_0x1117c1){_0x20bb59['phi']-=_0x1117c1;}const _0x2edeca=(function(){const _0x208d6d=new _0x220444();return function(_0x1984e2,_0xe30c78){_0x208d6d['setFromMatrixColumn'](_0xe30c78,0x0),_0x208d6d['multiplyScalar'](-_0x1984e2),_0xd3daf['add'](_0x208d6d);};}()),_0x369fe5=(function(){const _0x567658=new _0x220444();return function(_0x5c5c23,_0xb1edd9){!0x0===_0x4fb1af['screenSpacePanning']?_0x567658['setFromMatrixColumn'](_0xb1edd9,0x1):(_0x567658['setFromMatrixColumn'](_0xb1edd9,0x0),_0x567658['crossVectors'](_0x4fb1af['object']['up'],_0x567658)),_0x567658['multiplyScalar'](_0x5c5c23),_0xd3daf['add'](_0x567658);};}()),_0x3e297b=(function(){const _0x4ff85b=new _0x220444();return function(_0x6b2212,_0x3ee3f8){const _0x3e039f=_0x4fb1af['domElement'];if(_0x4fb1af['object']['isPerspectiveCamera']){const _0x3f12e8=_0x4fb1af['object']['position'];_0x4ff85b['copy'](_0x3f12e8)['sub'](_0x4fb1af['target']);let _0x273cbc=_0x4ff85b['length']();_0x273cbc*=Math['tan'](_0x4fb1af['object']['fov']/0x2*Math['PI']/0xb4),_0x2edeca(0x2*_0x6b2212*_0x273cbc/_0x3e039f['clientHeight'],_0x4fb1af['object']['matrix']),_0x369fe5(0x2*_0x3ee3f8*_0x273cbc/_0x3e039f['clientHeight'],_0x4fb1af['object']['matrix']);}else _0x4fb1af['object']['isOrthographicCamera']?(_0x2edeca(_0x6b2212*(_0x4fb1af['object']['right']-_0x4fb1af['object']['left'])/_0x4fb1af['object']['zoom']/_0x3e039f['clientWidth'],_0x4fb1af['object']['matrix']),_0x369fe5(_0x3ee3f8*(_0x4fb1af['object']['top']-_0x4fb1af['object']['bottom'])/_0x4fb1af['object']['zoom']/_0x3e039f['clientHeight'],_0x4fb1af['object']['matrix'])):_0x4fb1af['enablePan']=!0x1;};}());function _0x1e0be8(_0x2a863c){_0x4fb1af['object']['isPerspectiveCamera']||_0x4fb1af['object']['isOrthographicCamera']?_0x15ed4e/=_0x2a863c:_0x4fb1af['enableZoom']=!0x1;}function _0x53240b(_0x2015c3){_0x4fb1af['object']['isPerspectiveCamera']||_0x4fb1af['object']['isOrthographicCamera']?_0x15ed4e*=_0x2015c3:_0x4fb1af['enableZoom']=!0x1;}function _0x295f48(_0x4e65c1,_0x12748e){if(!_0x4fb1af['zoomToCursor'])return;_0x12eeab=!0x0;const _0x2ea5c6=_0x4fb1af['domElement']['getBoundingClientRect'](),_0x2f7952=_0x4e65c1-_0x2ea5c6['left'],_0x35eda6=_0x12748e-_0x2ea5c6['top'],_0x2fb8ce=_0x2ea5c6['width'],_0x276508=_0x2ea5c6['height'];_0x2558ae['x']=_0x2f7952/_0x2fb8ce*0x2-0x1,_0x2558ae['y']=-_0x35eda6/_0x276508*0x2+0x1,_0x3a8138['set'](_0x2558ae['x'],_0x2558ae['y'],0x1)['unproject'](_0x4fb1af['object'])['sub'](_0x4fb1af['object']['position'])['normalize']();}function _0x379e18(_0x4aee01){return Math['max'](_0x4fb1af['minDistance'],Math['min'](_0x4fb1af['maxDistance'],_0x4aee01));}function _0x30e113(_0x26e0c5){_0x2ee560['set'](_0x26e0c5['clientX'],_0x26e0c5['clientY']);}function _0x591d56(_0xe5f65c){_0x456631['set'](_0xe5f65c['clientX'],_0xe5f65c['clientY']);}function _0x562cdd(_0x2eda36){if(0x1===_0x512037['length'])_0x2ee560['set'](_0x2eda36['pageX'],_0x2eda36['pageY']);else{const _0x1acfdd=_0x2fa2f3(_0x2eda36),_0xb86765=0.5*(_0x2eda36['pageX']+_0x1acfdd['x']),_0xc76742=0.5*(_0x2eda36['pageY']+_0x1acfdd['y']);_0x2ee560['set'](_0xb86765,_0xc76742);}}function _0x135353(_0x482c6c){if(0x1===_0x512037['length'])_0x456631['set'](_0x482c6c['pageX'],_0x482c6c['pageY']);else{const _0x377baa=_0x2fa2f3(_0x482c6c),_0x2db70f=0.5*(_0x482c6c['pageX']+_0x377baa['x']),_0xee6fa0=0.5*(_0x482c6c['pageY']+_0x377baa['y']);_0x456631['set'](_0x2db70f,_0xee6fa0);}}function _0x1a753b(_0x50abcd){const _0x56a5f7=_0x2fa2f3(_0x50abcd),_0x5ed542=_0x50abcd['pageX']-_0x56a5f7['x'],_0x40687b=_0x50abcd['pageY']-_0x56a5f7['y'],_0xb31eb2=Math['sqrt'](_0x5ed542*_0x5ed542+_0x40687b*_0x40687b);_0x46406d['set'](0x0,_0xb31eb2);}function _0x5bfa24(_0x4555b9){if(0x1==_0x512037['length'])_0x292666['set'](_0x4555b9['pageX'],_0x4555b9['pageY']);else{const _0x37090c=_0x2fa2f3(_0x4555b9),_0x54571a=0.5*(_0x4555b9['pageX']+_0x37090c['x']),_0x26352f=0.5*(_0x4555b9['pageY']+_0x37090c['y']);_0x292666['set'](_0x54571a,_0x26352f);}_0x952868['subVectors'](_0x292666,_0x2ee560)['multiplyScalar'](_0x4fb1af['rotateSpeed']);const _0x2cf64c=_0x4fb1af['domElement'];_0x4f4303(0x2*Math['PI']*_0x952868['x']/_0x2cf64c['clientHeight']),_0x4358bd(0x2*Math['PI']*_0x952868['y']/_0x2cf64c['clientHeight']),_0x2ee560['copy'](_0x292666);}function _0xf0aa5(_0x36ba0a){if(0x1===_0x512037['length'])_0x42341b['set'](_0x36ba0a['pageX'],_0x36ba0a['pageY']);else{const _0x5ea9ea=_0x2fa2f3(_0x36ba0a),_0x23c398=0.5*(_0x36ba0a['pageX']+_0x5ea9ea['x']),_0x58a7ef=0.5*(_0x36ba0a['pageY']+_0x5ea9ea['y']);_0x42341b['set'](_0x23c398,_0x58a7ef);}_0x1eb800['subVectors'](_0x42341b,_0x456631)['multiplyScalar'](_0x4fb1af['panSpeed']),_0x3e297b(_0x1eb800['x'],_0x1eb800['y']),_0x456631['copy'](_0x42341b);}function _0x599da1(_0x1462ed){const _0x4d60d4=_0x2fa2f3(_0x1462ed),_0x38cfd8=_0x1462ed['pageX']-_0x4d60d4['x'],_0x180933=_0x1462ed['pageY']-_0x4d60d4['y'],_0x4bb6ad=Math['sqrt'](_0x38cfd8*_0x38cfd8+_0x180933*_0x180933);_0x2060d9['set'](0x0,_0x4bb6ad),_0x51ee21['set'](0x0,Math['pow'](_0x2060d9['y']/_0x46406d['y'],_0x4fb1af['zoomSpeed'])),_0x1e0be8(_0x51ee21['y']),_0x46406d['copy'](_0x2060d9);_0x295f48(0.5*(_0x1462ed['pageX']+_0x4d60d4['x']),0.5*(_0x1462ed['pageY']+_0x4d60d4['y']));}function _0x5471ca(_0x254f7d){!0x1!==_0x4fb1af['enabled']&&(0x0===_0x512037['length']&&(_0x4fb1af['domElement']['setPointerCapture'](_0x254f7d['pointerId']),_0x4fb1af['domElement']['addEventListener']('pointermove',_0x3d26e3),_0x4fb1af['domElement']['addEventListener']('pointerup',_0x41e648)),function(_0x592b85){for(let _0x2bf7d8=0x0;_0x2bf7d8<_0x512037['length'];_0x2bf7d8++)if(_0x512037[_0x2bf7d8]==_0x592b85['pointerId'])return!0x0;return!0x1;}(_0x254f7d)||(function(_0x41279b){_0x512037['push'](_0x41279b['pointerId']);}(_0x254f7d),'touch'===_0x254f7d['pointerType']?_0x2534b9(_0x254f7d):function(_0x40b06e){let _0x442436;switch(_0x40b06e['button']){case 0x0:_0x442436=_0x4fb1af['mouseButtons']['LEFT'];break;case 0x1:_0x442436=_0x4fb1af['mouseButtons']['MIDDLE'];break;case 0x2:_0x442436=_0x4fb1af['mouseButtons']['RIGHT'];break;default:_0x442436=-0x1;}switch(_0x442436){case _0xbfc824['DOLLY']:if(!0x1===_0x4fb1af['enableZoom'])return;!function(_0x23a7be){_0x295f48(_0x23a7be['clientX'],_0x23a7be['clientX']),_0x46406d['set'](_0x23a7be['clientX'],_0x23a7be['clientY']);}(_0x40b06e),_0x2bbd02=_0x27558c['DOLLY'];break;case _0xbfc824['ROTATE']:if(_0x40b06e['ctrlKey']||_0x40b06e['metaKey']||_0x40b06e['shiftKey']){if(!0x1===_0x4fb1af['enablePan'])return;_0x591d56(_0x40b06e),_0x2bbd02=_0x27558c['PAN'];}else{if(!0x1===_0x4fb1af['enableRotate'])return;_0x30e113(_0x40b06e),_0x2bbd02=_0x27558c['ROTATE'];}break;case _0xbfc824['PAN']:if(_0x40b06e['ctrlKey']||_0x40b06e['metaKey']||_0x40b06e['shiftKey']){if(!0x1===_0x4fb1af['enableRotate'])return;_0x30e113(_0x40b06e),_0x2bbd02=_0x27558c['ROTATE'];}else{if(!0x1===_0x4fb1af['enablePan'])return;_0x591d56(_0x40b06e),_0x2bbd02=_0x27558c['PAN'];}break;default:_0x2bbd02=_0x27558c['NONE'];}_0x2bbd02!==_0x27558c['NONE']&&_0x4fb1af['dispatchEvent'](Ee);}(_0x254f7d)));}function _0x3d26e3(_0x146ee8){!0x1!==_0x4fb1af['enabled']&&('touch'===_0x146ee8['pointerType']?function(_0x3c48fc){switch(_0x3442b9(_0x3c48fc),_0x2bbd02){case _0x27558c['TOUCH_ROTATE']:if(!0x1===_0x4fb1af['enableRotate'])return;_0x5bfa24(_0x3c48fc),_0x4fb1af['update']();break;case _0x27558c['TOUCH_PAN']:if(!0x1===_0x4fb1af['enablePan'])return;_0xf0aa5(_0x3c48fc),_0x4fb1af['update']();break;case _0x27558c['TOUCH_DOLLY_PAN']:if(!0x1===_0x4fb1af['enableZoom']&&!0x1===_0x4fb1af['enablePan'])return;!function(_0x476c38){_0x4fb1af['enableZoom']&&_0x599da1(_0x476c38),_0x4fb1af['enablePan']&&_0xf0aa5(_0x476c38);}(_0x3c48fc),_0x4fb1af['update']();break;case _0x27558c['TOUCH_DOLLY_ROTATE']:if(!0x1===_0x4fb1af['enableZoom']&&!0x1===_0x4fb1af['enableRotate'])return;!function(_0x2b9862){_0x4fb1af['enableZoom']&&_0x599da1(_0x2b9862),_0x4fb1af['enableRotate']&&_0x5bfa24(_0x2b9862);}(_0x3c48fc),_0x4fb1af['update']();break;default:_0x2bbd02=_0x27558c['NONE'];}}(_0x146ee8):function(_0x31636a){switch(_0x2bbd02){case _0x27558c['ROTATE']:if(!0x1===_0x4fb1af['enableRotate'])return;!function(_0x18d0ad){_0x292666['set'](_0x18d0ad['clientX'],_0x18d0ad['clientY']),_0x952868['subVectors'](_0x292666,_0x2ee560)['multiplyScalar'](_0x4fb1af['rotateSpeed']);const _0x4b3192=_0x4fb1af['domElement'];_0x4f4303(0x2*Math['PI']*_0x952868['x']/_0x4b3192['clientHeight']),_0x4358bd(0x2*Math['PI']*_0x952868['y']/_0x4b3192['clientHeight']),_0x2ee560['copy'](_0x292666),_0x4fb1af['update']();}(_0x31636a);break;case _0x27558c['DOLLY']:if(!0x1===_0x4fb1af['enableZoom'])return;!function(_0x1a5834){_0x2060d9['set'](_0x1a5834['clientX'],_0x1a5834['clientY']),_0x51ee21['subVectors'](_0x2060d9,_0x46406d),_0x51ee21['y']>0x0?_0x1e0be8(_0x3f4aa1(_0x51ee21['y'])):_0x51ee21['y']<0x0&&_0x53240b(_0x3f4aa1(_0x51ee21['y'])),_0x46406d['copy'](_0x2060d9),_0x4fb1af['update']();}(_0x31636a);break;case _0x27558c['PAN']:if(!0x1===_0x4fb1af['enablePan'])return;!function(_0x2d2998){_0x42341b['set'](_0x2d2998['clientX'],_0x2d2998['clientY']),_0x1eb800['subVectors'](_0x42341b,_0x456631)['multiplyScalar'](_0x4fb1af['panSpeed']),_0x3e297b(_0x1eb800['x'],_0x1eb800['y']),_0x456631['copy'](_0x42341b),_0x4fb1af['update']();}(_0x31636a);}}(_0x146ee8));}function _0x41e648(_0x212e23){switch(function(_0xe4ea9a){delete _0x40b50b[_0xe4ea9a['pointerId']];for(let _0x361163=0x0;_0x361163<_0x512037['length'];_0x361163++)if(_0x512037[_0x361163]==_0xe4ea9a['pointerId'])return void _0x512037['splice'](_0x361163,0x1);}(_0x212e23),_0x512037['length']){case 0x0:_0x4fb1af['domElement']['releasePointerCapture'](_0x212e23['pointerId']),_0x4fb1af['domElement']['removeEventListener']('pointermove',_0x3d26e3),_0x4fb1af['domElement']['removeEventListener']('pointerup',_0x41e648),_0x4fb1af['dispatchEvent'](Ce),_0x2bbd02=_0x27558c['NONE'];break;case 0x1:const _0x44bba1=_0x512037[0x0],_0x454eda=_0x40b50b[_0x44bba1];_0x2534b9({'pointerId':_0x44bba1,'pageX':_0x454eda['x'],'pageY':_0x454eda['y']});}}function _0x464e36(_0x1bb721){!0x1!==_0x4fb1af['enabled']&&!0x1!==_0x4fb1af['enableZoom']&&_0x2bbd02===_0x27558c['NONE']&&(_0x1bb721['preventDefault'](),_0x4fb1af['dispatchEvent'](Ee),function(_0x307d75){_0x295f48(_0x307d75['clientX'],_0x307d75['clientY']),_0x307d75['deltaY']<0x0?_0x53240b(_0x3f4aa1(_0x307d75['deltaY'])):_0x307d75['deltaY']>0x0&&_0x1e0be8(_0x3f4aa1(_0x307d75['deltaY'])),_0x4fb1af['update']();}(function(_0x31e9cc){const _0x358f66=_0x31e9cc['deltaMode'],_0x2c94fe={'clientX':_0x31e9cc['clientX'],'clientY':_0x31e9cc['clientY'],'deltaY':_0x31e9cc['deltaY']};switch(_0x358f66){case 0x1:_0x2c94fe['deltaY']*=0x10;break;case 0x2:_0x2c94fe['deltaY']*=0x64;}_0x31e9cc['ctrlKey']&&!_0x4664db&&(_0x2c94fe['deltaY']*=0xa);return _0x2c94fe;}(_0x1bb721)),_0x4fb1af['dispatchEvent'](Ce));}function _0x23174b(_0x3e59e7){if('Control'===_0x3e59e7['key']){_0x4664db=!0x0;_0x4fb1af['domElement']['getRootNode']()['addEventListener']('keyup',_0x5f4c50,{'passive':!0x0,'capture':!0x0});}}function _0x5f4c50(_0x1f11f0){if('Control'===_0x1f11f0['key']){_0x4664db=!0x1;_0x4fb1af['domElement']['getRootNode']()['removeEventListener']('keyup',_0x5f4c50,{'passive':!0x0,'capture':!0x0});}}function _0x4f8432(_0x56689c){!0x1!==_0x4fb1af['enabled']&&!0x1!==_0x4fb1af['enablePan']&&function(_0x4a0789){let _0x1c9133=!0x1;switch(_0x4a0789['code']){case _0x4fb1af['keys']['UP']:_0x4a0789['ctrlKey']||_0x4a0789['metaKey']||_0x4a0789['shiftKey']?_0x4358bd(0x2*Math['PI']*_0x4fb1af['rotateSpeed']/_0x4fb1af['domElement']['clientHeight']):_0x3e297b(0x0,_0x4fb1af['keyPanSpeed']),_0x1c9133=!0x0;break;case _0x4fb1af['keys']['BOTTOM']:_0x4a0789['ctrlKey']||_0x4a0789['metaKey']||_0x4a0789['shiftKey']?_0x4358bd(-0x2*Math['PI']*_0x4fb1af['rotateSpeed']/_0x4fb1af['domElement']['clientHeight']):_0x3e297b(0x0,-_0x4fb1af['keyPanSpeed']),_0x1c9133=!0x0;break;case _0x4fb1af['keys']['LEFT']:_0x4a0789['ctrlKey']||_0x4a0789['metaKey']||_0x4a0789['shiftKey']?_0x4f4303(0x2*Math['PI']*_0x4fb1af['rotateSpeed']/_0x4fb1af['domElement']['clientHeight']):_0x3e297b(_0x4fb1af['keyPanSpeed'],0x0),_0x1c9133=!0x0;break;case _0x4fb1af['keys']['RIGHT']:_0x4a0789['ctrlKey']||_0x4a0789['metaKey']||_0x4a0789['shiftKey']?_0x4f4303(-0x2*Math['PI']*_0x4fb1af['rotateSpeed']/_0x4fb1af['domElement']['clientHeight']):_0x3e297b(-_0x4fb1af['keyPanSpeed'],0x0),_0x1c9133=!0x0;}_0x1c9133&&(_0x4a0789['preventDefault'](),_0x4fb1af['update']());}(_0x56689c);}function _0x2534b9(_0x3ea821){switch(_0x3442b9(_0x3ea821),_0x512037['length']){case 0x1:switch(_0x4fb1af['touches']['ONE']){case _0x486cc7['ROTATE']:if(!0x1===_0x4fb1af['enableRotate'])return;_0x562cdd(_0x3ea821),_0x2bbd02=_0x27558c['TOUCH_ROTATE'];break;case _0x486cc7['PAN']:if(!0x1===_0x4fb1af['enablePan'])return;_0x135353(_0x3ea821),_0x2bbd02=_0x27558c['TOUCH_PAN'];break;default:_0x2bbd02=_0x27558c['NONE'];}break;case 0x2:switch(_0x4fb1af['touches']['TWO']){case _0x486cc7['DOLLY_PAN']:if(!0x1===_0x4fb1af['enableZoom']&&!0x1===_0x4fb1af['enablePan'])return;!function(_0x1c5d45){_0x4fb1af['enableZoom']&&_0x1a753b(_0x1c5d45),_0x4fb1af['enablePan']&&_0x135353(_0x1c5d45);}(_0x3ea821),_0x2bbd02=_0x27558c['TOUCH_DOLLY_PAN'];break;case _0x486cc7['DOLLY_ROTATE']:if(!0x1===_0x4fb1af['enableZoom']&&!0x1===_0x4fb1af['enableRotate'])return;!function(_0x40025a){_0x4fb1af['enableZoom']&&_0x1a753b(_0x40025a),_0x4fb1af['enableRotate']&&_0x562cdd(_0x40025a);}(_0x3ea821),_0x2bbd02=_0x27558c['TOUCH_DOLLY_ROTATE'];break;default:_0x2bbd02=_0x27558c['NONE'];}break;default:_0x2bbd02=_0x27558c['NONE'];}_0x2bbd02!==_0x27558c['NONE']&&_0x4fb1af['dispatchEvent'](Ee);}function _0x203208(_0x4e43b4){!0x1!==_0x4fb1af['enabled']&&_0x4e43b4['preventDefault']();}function _0x3442b9(_0x4666ff){let _0x48c9ce=_0x40b50b[_0x4666ff['pointerId']];void 0x0===_0x48c9ce&&(_0x48c9ce=new _0x228015(),_0x40b50b[_0x4666ff['pointerId']]=_0x48c9ce),_0x48c9ce['set'](_0x4666ff['pageX'],_0x4666ff['pageY']);}function _0x2fa2f3(_0x44783f){const _0x3aaabf=_0x44783f['pointerId']===_0x512037[0x0]?_0x512037[0x1]:_0x512037[0x0];return _0x40b50b[_0x3aaabf];}_0x4fb1af['domElement']['addEventListener']('contextmenu',_0x203208),_0x4fb1af['domElement']['addEventListener']('pointerdown',_0x5471ca),_0x4fb1af['domElement']['addEventListener']('pointercancel',_0x41e648),_0x4fb1af['domElement']['addEventListener']('wheel',_0x464e36,{'passive':!0x1});_0x4fb1af['domElement']['getRootNode']()['addEventListener']('keydown',_0x23174b,{'passive':!0x0,'capture':!0x0}),this['update']();}}class Fe extends _0x5a57be{constructor(_0x44dd39=document['createElement']('div')){super(),this['isCSS2DObject']=!0x0,this['element']=_0x44dd39,this['element']['style']['position']='absolute',this['element']['style']['userSelect']='none',this['element']['setAttribute']('draggable',!0x1),this['center']=new _0x228015(0.5,0.5),this['addEventListener']('removed',function(){this['traverse'](function(_0x442798){_0x442798['element']instanceof Element&&null!==_0x442798['element']['parentNode']&&_0x442798['element']['parentNode']['removeChild'](_0x442798['element']);});});}['copy'](_0x1bde0d,_0x261638){return super['copy'](_0x1bde0d,_0x261638),this['element']=_0x1bde0d['element']['cloneNode'](!0x0),this['center']=_0x1bde0d['center'],this;}}const De=new _0x220444(),Pe=new _0x13cf24(),Ie=new _0x13cf24(),Re=new _0x220444(),ze=new _0x220444();class Ne{constructor(_0x2ffd6e={}){const _0x32bf98=this;let _0x250467,_0x3dd960,_0x56bd36,_0xd0ff80;const _0x2d6e0c={'objects':new WeakMap()},_0x2a1ea8=void 0x0!==_0x2ffd6e['element']?_0x2ffd6e['element']:document['createElement']('div');function _0x2766fc(_0x1bdec6,_0x1c2068,_0xd4341a){if(_0x1bdec6['isCSS2DObject']){De['setFromMatrixPosition'](_0x1bdec6['matrixWorld']),De['applyMatrix4'](Ie);const _0x43a577=!0x0===_0x1bdec6['visible']&&De['z']>=-0x1&&De['z']<=0x1&&!0x0===_0x1bdec6['layers']['test'](_0xd4341a['layers']);if(_0x1bdec6['element']['style']['display']=!0x0===_0x43a577?'':'none',!0x0===_0x43a577){_0x1bdec6['onBeforeRender'](_0x32bf98,_0x1c2068,_0xd4341a);const _0x20906d=_0x1bdec6['element'];_0x20906d['style']['transform']='translate('+-0x64*_0x1bdec6['center']['x']+'%,'+-0x64*_0x1bdec6['center']['y']+'%)translate('+(De['x']*_0x56bd36+_0x56bd36)+'px,'+(-De['y']*_0xd0ff80+_0xd0ff80)+'px)',_0x20906d['parentNode']!==_0x2a1ea8&&_0x2a1ea8['appendChild'](_0x20906d),_0x1bdec6['onAfterRender'](_0x32bf98,_0x1c2068,_0xd4341a);}const _0x459110={'distanceToCameraSquared':_0x447fb4(_0xd4341a,_0x1bdec6)};_0x2d6e0c['objects']['set'](_0x1bdec6,_0x459110);}for(let _0x48aaca=0x0,_0x34024c=_0x1bdec6['children']['length'];_0x48aaca<_0x34024c;_0x48aaca++)_0x2766fc(_0x1bdec6['children'][_0x48aaca],_0x1c2068,_0xd4341a);}function _0x447fb4(_0x2c374b,_0x327e8d){return Re['setFromMatrixPosition'](_0x2c374b['matrixWorld']),ze['setFromMatrixPosition'](_0x327e8d['matrixWorld']),Re['distanceToSquared'](ze);}_0x2a1ea8['style']['overflow']='hidden',this['domElement']=_0x2a1ea8,this['getSize']=function(){return{'width':_0x250467,'height':_0x3dd960};},this['render']=function(_0x128eed,_0x405415){!0x0===_0x128eed['matrixWorldAutoUpdate']&&_0x128eed['updateMatrixWorld'](),null===_0x405415['parent']&&!0x0===_0x405415['matrixWorldAutoUpdate']&&_0x405415['updateMatrixWorld'](),Pe['copy'](_0x405415['matrixWorldInverse']),Ie['multiplyMatrices'](_0x405415['projectionMatrix'],Pe),_0x2766fc(_0x128eed,_0x128eed,_0x405415),function(_0x4acf14){const _0x1bc38c=function(_0x2beb6d){const _0x49df67=[];return _0x2beb6d['traverse'](function(_0x216410){_0x216410['isCSS2DObject']&&_0x49df67['push'](_0x216410);}),_0x49df67;}(_0x4acf14)['sort'](function(_0x1e99b8,_0x394532){if(_0x1e99b8['renderOrder']!==_0x394532['renderOrder'])return _0x394532['renderOrder']-_0x1e99b8['renderOrder'];return _0x2d6e0c['objects']['get'](_0x1e99b8)['distanceToCameraSquared']-_0x2d6e0c['objects']['get'](_0x394532)['distanceToCameraSquared'];}),_0x16aa1d=_0x1bc38c['length'];for(let _0x3c1897=0x0,_0x3cee0b=_0x1bc38c['length'];_0x3c1897<_0x3cee0b;_0x3c1897++)_0x1bc38c[_0x3c1897]['element']['style']['zIndex']=_0x16aa1d-_0x3c1897;}(_0x128eed);},this['setSize']=function(_0x1bc397,_0x3a2017){_0x250467=_0x1bc397,_0x3dd960=_0x3a2017,_0x56bd36=_0x250467/0x2,_0xd0ff80=_0x3dd960/0x2,_0x2a1ea8['style']['width']=_0x1bc397+'px',_0x2a1ea8['style']['height']=_0x3a2017+'px';};}}class Ue{static['computeEigenDecomposition3x3'](_0x50dbe4){const _0x4e3c46=_0x50dbe4['elements'];let _0x181728=_0x4e3c46[0x0],_0x580d44=_0x4e3c46[0x1],_0x24b800=_0x4e3c46[0x2],_0xf61e0a=_0x4e3c46[0x4],_0x1e41b0=_0x4e3c46[0x5],_0x4fc149=_0x4e3c46[0x8],_0x3e0e0c=0x1,_0xb478a0=0x0,_0xe25a38=0x0,_0x57ada7=0x0,_0x113607=0x1,_0x2759d3=0x0,_0x49cd1b=0x0,_0x2feda7=0x0,_0x2fb137=0x1;for(let _0xba3e2a=0x0;_0xba3e2a<0x32;_0xba3e2a++){let _0x21ccfc,_0x35ab27,_0x5b47d3,_0x7aca94=Math['abs'](_0x580d44),_0x1b86b7=0x0,_0xb63e78=0x1;if(Math['abs'](_0x24b800)>_0x7aca94&&(_0x7aca94=Math['abs'](_0x24b800),_0x1b86b7=0x0,_0xb63e78=0x2),Math['abs'](_0x1e41b0)>_0x7aca94&&(_0x7aca94=Math['abs'](_0x1e41b0),_0x1b86b7=0x1,_0xb63e78=0x2),_0x7aca94<1e-10)break;0x0===_0x1b86b7&&0x1===_0xb63e78?(_0x21ccfc=_0x580d44,_0x35ab27=_0x181728,_0x5b47d3=_0xf61e0a):0x0===_0x1b86b7&&0x2===_0xb63e78?(_0x21ccfc=_0x24b800,_0x35ab27=_0x181728,_0x5b47d3=_0x4fc149):(_0x21ccfc=_0x1e41b0,_0x35ab27=_0xf61e0a,_0x5b47d3=_0x4fc149);const _0x1b1373=(_0x5b47d3-_0x35ab27)/(0x2*_0x21ccfc),_0x25b7c8=Math['sign'](_0x1b1373)/(Math['abs'](_0x1b1373)+Math['sqrt'](0x1+_0x1b1373*_0x1b1373)),_0x215f1c=0x1/Math['sqrt'](0x1+_0x25b7c8*_0x25b7c8),_0x580a19=_0x25b7c8*_0x215f1c;if(0x0===_0x1b86b7&&0x1===_0xb63e78){const _0x4c0fab=_0x181728,_0x5ea951=_0x24b800;_0x181728=_0x215f1c*_0x215f1c*_0x4c0fab-0x2*_0x215f1c*_0x580a19*_0x580d44+_0x580a19*_0x580a19*_0xf61e0a,_0xf61e0a=_0x580a19*_0x580a19*_0x4c0fab+0x2*_0x215f1c*_0x580a19*_0x580d44+_0x215f1c*_0x215f1c*_0xf61e0a,_0x580d44=0x0,_0x24b800=_0x215f1c*_0x5ea951-_0x580a19*_0x1e41b0,_0x1e41b0=_0x580a19*_0x5ea951+_0x215f1c*_0x1e41b0;const _0x209a88=_0x3e0e0c,_0xf22e09=_0xb478a0,_0x2ef086=_0xe25a38;_0x3e0e0c=_0x215f1c*_0x209a88-_0x580a19*_0x57ada7,_0xb478a0=_0x215f1c*_0xf22e09-_0x580a19*_0x113607,_0xe25a38=_0x215f1c*_0x2ef086-_0x580a19*_0x2759d3,_0x57ada7=_0x580a19*_0x209a88+_0x215f1c*_0x57ada7,_0x113607=_0x580a19*_0xf22e09+_0x215f1c*_0x113607,_0x2759d3=_0x580a19*_0x2ef086+_0x215f1c*_0x2759d3;}else if(0x0===_0x1b86b7&&0x2===_0xb63e78){const _0x28f8bf=_0x181728,_0xb85209=_0x580d44;_0x181728=_0x215f1c*_0x215f1c*_0x28f8bf-0x2*_0x215f1c*_0x580a19*_0x24b800+_0x580a19*_0x580a19*_0x4fc149,_0x4fc149=_0x580a19*_0x580a19*_0x28f8bf+0x2*_0x215f1c*_0x580a19*_0x24b800+_0x215f1c*_0x215f1c*_0x4fc149,_0x24b800=0x0,_0x580d44=_0x215f1c*_0xb85209-_0x580a19*_0x1e41b0,_0x1e41b0=_0x580a19*_0xb85209+_0x215f1c*_0x1e41b0;const _0x179db1=_0x3e0e0c,_0x2aea05=_0xb478a0,_0x37efc1=_0xe25a38;_0x3e0e0c=_0x215f1c*_0x179db1-_0x580a19*_0x49cd1b,_0xb478a0=_0x215f1c*_0x2aea05-_0x580a19*_0x2feda7,_0xe25a38=_0x215f1c*_0x37efc1-_0x580a19*_0x2fb137,_0x49cd1b=_0x580a19*_0x179db1+_0x215f1c*_0x49cd1b,_0x2feda7=_0x580a19*_0x2aea05+_0x215f1c*_0x2feda7,_0x2fb137=_0x580a19*_0x37efc1+_0x215f1c*_0x2fb137;}else{const _0x4c3364=_0xf61e0a,_0x51d380=_0x580d44;_0xf61e0a=_0x215f1c*_0x215f1c*_0x4c3364-0x2*_0x215f1c*_0x580a19*_0x1e41b0+_0x580a19*_0x580a19*_0x4fc149,_0x4fc149=_0x580a19*_0x580a19*_0x4c3364+0x2*_0x215f1c*_0x580a19*_0x1e41b0+_0x215f1c*_0x215f1c*_0x4fc149,_0x1e41b0=0x0,_0x580d44=_0x215f1c*_0x51d380-_0x580a19*_0x24b800,_0x24b800=_0x580a19*_0x51d380+_0x215f1c*_0x24b800;const _0x58e691=_0x57ada7,_0x54eeaa=_0x113607,_0x3518bc=_0x2759d3;_0x57ada7=_0x215f1c*_0x58e691-_0x580a19*_0x49cd1b,_0x113607=_0x215f1c*_0x54eeaa-_0x580a19*_0x2feda7,_0x2759d3=_0x215f1c*_0x3518bc-_0x580a19*_0x2fb137,_0x49cd1b=_0x580a19*_0x58e691+_0x215f1c*_0x49cd1b,_0x2feda7=_0x580a19*_0x54eeaa+_0x215f1c*_0x2feda7,_0x2fb137=_0x580a19*_0x3518bc+_0x215f1c*_0x2fb137;}}return{'eigenvalues':[_0x181728,_0xf61e0a,_0x4fc149],'eigenvectors':[[_0x3e0e0c,_0xb478a0,_0xe25a38],[_0x57ada7,_0x113607,_0x2759d3],[_0x49cd1b,_0x2feda7,_0x2fb137]]};}static['computeEigenvalues3x3'](_0x57156d){const _0x3fb0cc=_0x57156d['elements'],_0x3fd7db=_0x3fb0cc[0x0];_0x3fb0cc[0x1],_0x3fb0cc[0x2],_0x3fb0cc[0x3];const _0x56f0d9=_0x3fb0cc[0x4];_0x3fb0cc[0x5],_0x3fb0cc[0x6],_0x3fb0cc[0x7];const _0x6e598e=_0x3fb0cc[0x8],_0x697d0b=[Math['abs'](_0x3fd7db),Math['abs'](_0x56f0d9),Math['abs'](_0x6e598e)];return _0x697d0b['sort']((_0x23559e,_0x2865aa)=>_0x2865aa-_0x23559e),_0x697d0b;}static['computeInertiaBox'](_0x1ce9bf){const _0x24e853=_0x1ce9bf['ixx']||0x0,_0x6d5fc0=_0x1ce9bf['iyy']||0x0,_0x41e3e4=_0x1ce9bf['izz']||0x0,_0x25df5a=_0x1ce9bf['ixy']||0x0,_0x1e495e=_0x1ce9bf['ixz']||0x0,_0x5cf105=_0x1ce9bf['iyz']||0x0,_0x2280df=_0x1ce9bf['mass']||0x1;if(_0x2280df<0.01){const _0x2b3e9f=(Math['abs'](_0x24e853)+Math['abs'](_0x6d5fc0)+Math['abs'](_0x41e3e4))/0x3;if(Math['sqrt'](_0x2b3e9f/_0x2280df)>0.05)return null;}const _0x541792=1e-9;if(Math['abs'](_0x24e853)<_0x541792&&Math['abs'](_0x6d5fc0)<_0x541792&&Math['abs'](_0x41e3e4)<_0x541792)return null;const _0x5598f3=Math['abs'](_0x25df5a)>1e-10||Math['abs'](_0x1e495e)>1e-10||Math['abs'](_0x5cf105)>1e-10;let _0x11c95e,_0x147056=new _0x3c39ce();if(_0x5598f3){const _0x46d5cf=new _0x3461a1();_0x46d5cf['set'](_0x24e853,_0x25df5a,_0x1e495e,_0x25df5a,_0x6d5fc0,_0x5cf105,_0x1e495e,_0x5cf105,_0x41e3e4);const _0x2d4e8c=this['computeEigenDecomposition3x3'](_0x46d5cf);_0x11c95e=_0x2d4e8c['eigenvalues'];const _0x47fc29=new _0x13cf24();_0x47fc29['set'](_0x2d4e8c['eigenvectors'][0x0][0x0],_0x2d4e8c['eigenvectors'][0x1][0x0],_0x2d4e8c['eigenvectors'][0x2][0x0],0x0,_0x2d4e8c['eigenvectors'][0x0][0x1],_0x2d4e8c['eigenvectors'][0x1][0x1],_0x2d4e8c['eigenvectors'][0x2][0x1],0x0,_0x2d4e8c['eigenvectors'][0x0][0x2],_0x2d4e8c['eigenvectors'][0x1][0x2],_0x2d4e8c['eigenvectors'][0x2][0x2],0x0,0x0,0x0,0x0,0x1),_0x147056['setFromRotationMatrix'](_0x47fc29);}else _0x11c95e=[_0x24e853,_0x6d5fc0,_0x41e3e4];const _0x2c700f=0x6/_0x2280df;let _0x29f1cb=Math['sqrt'](Math['abs'](_0x2c700f*(_0x11c95e[0x1]+_0x11c95e[0x2]-_0x11c95e[0x0]))),_0x3f6ce6=Math['sqrt'](Math['abs'](_0x2c700f*(_0x11c95e[0x0]+_0x11c95e[0x2]-_0x11c95e[0x1]))),_0x1e4b1b=Math['sqrt'](Math['abs'](_0x2c700f*(_0x11c95e[0x0]+_0x11c95e[0x1]-_0x11c95e[0x2])));const _0x5b1087=(Math['abs'](_0x11c95e[0x0])+Math['abs'](_0x11c95e[0x1])+Math['abs'](_0x11c95e[0x2]))/0x3;if(Math['sqrt'](_0x5b1087/_0x2280df)>(_0x29f1cb+_0x3f6ce6+_0x1e4b1b)/0x3)return null;if(_0x2280df/(_0x29f1cb*_0x3f6ce6*_0x1e4b1b)<0.0001)return null;const _0x46abee=0.01;return _0x29f1cb=Math['max'](_0x29f1cb,_0x46abee),_0x3f6ce6=Math['max'](_0x3f6ce6,_0x46abee),_0x1e4b1b=Math['max'](_0x1e4b1b,_0x46abee),_0x29f1cb<_0x46abee&&_0x3f6ce6<_0x46abee&&_0x1e4b1b<_0x46abee&&(_0x29f1cb=_0x3f6ce6=_0x1e4b1b=0.05),{'width':_0x29f1cb,'height':_0x3f6ce6,'depth':_0x1e4b1b,'rotation':_0x147056};}static['createInertiaBoxGeometry'](_0x59b02e,_0x4109dc,_0x1b5154){return new _0x20eddb(_0x59b02e,_0x4109dc,_0x1b5154);}static['computeInertiaEllipsoid'](_0x1dff08){const _0x33b99f=_0x1dff08['ixx']||0x0,_0x56a2f3=_0x1dff08['iyy']||0x0,_0x4d8628=_0x1dff08['izz']||0x0,_0x18c04b=_0x1dff08['ixy']||0x0,_0x36d615=_0x1dff08['ixz']||0x0,_0x176f03=_0x1dff08['iyz']||0x0,_0x3b6977=new _0x3461a1();_0x3b6977['set'](_0x33b99f,_0x18c04b,_0x36d615,_0x18c04b,_0x56a2f3,_0x176f03,_0x36d615,_0x176f03,_0x4d8628);const _0xdb28b3=this['computeEigenvalues3x3'](_0x3b6977),_0x47c12b=_0x1dff08['mass']||0x1,_0x982d0=0.1/Math['sqrt'](_0x47c12b),_0x1d65e1=[Math['sqrt'](Math['max'](_0xdb28b3[0x0],0x0))*_0x982d0,Math['sqrt'](Math['max'](_0xdb28b3[0x1],0x0))*_0x982d0,Math['sqrt'](Math['max'](_0xdb28b3[0x2],0x0))*_0x982d0];return _0x1d65e1['forEach']((_0x10878c,_0x4730d0)=>{_0x10878c<0.01&&(_0x1d65e1[_0x4730d0]=0.01);}),{'radii':_0x1d65e1,'rotation':new _0x416b03(0x0,0x0,0x0)};}static['createInertiaEllipsoidGeometry'](_0x426fd5){const _0x3b60a8=new _0x2e733b(0x1,0x20,0x20);return _0x3b60a8['scale'](_0x426fd5[0x0],_0x426fd5[0x1],_0x426fd5[0x2]),_0x3b60a8;}static['rpyToEuler'](_0x187f00){return _0x187f00&&0x3===_0x187f00['length']?new _0x416b03(_0x187f00[0x0],_0x187f00[0x1],_0x187f00[0x2],'XYZ'):new _0x416b03(0x0,0x0,0x0);}static['xyzToVector3'](_0x248026){return _0x248026&&0x3===_0x248026['length']?new _0x220444(_0x248026[0x0],_0x248026[0x1],_0x248026[0x2]):new _0x220444(0x0,0x0,0x0);}}function Ve(_0x46891c,_0x3d3255){if(!_0x3d3255||!_0x3d3255['threeObject'])return null;let _0x2efd41=_0x46891c;const _0x5c4586=_0x3d3255['threeObject'];for(;_0x2efd41;){if('URDFLink'===_0x2efd41['type']||_0x2efd41['isURDFLink']){const _0x150aa1=_0x2efd41['name'];if(_0x150aa1&&_0x3d3255['links']&&_0x3d3255['links']['has'](_0x150aa1)){return{'linkData':_0x3d3255['links']['get'](_0x150aa1),'threeObject':_0x2efd41,'name':_0x150aa1};}}if(_0x2efd41===_0x5c4586||!_0x2efd41['parent'])break;_0x2efd41=_0x2efd41['parent'];}return null;}const qe=new _0x220444(),Be=new _0x220444(),$e=new _0x220444(),Je=new _0x220444(),He=new _0x220444(),Ge=new _0x220444(),We=new _0x220444(),Xe=new _0x24bf3b();class Ye{constructor(_0x296f48,_0x43180c,_0xe0ebb2,_0x2f3233){this['enabled']=!0x0,this['scene']=_0x296f48,this['camera']=_0x43180c,this['domElement']=_0xe0ebb2,this['model']=_0x2f3233,this['raycaster']=new _0x173557(),this['raycaster']['layers']['enableAll'](),this['initialGrabPoint']=new _0x220444(),this['hitDistance']=-0x1,this['hovered']=null,this['manipulating']=null,this['renderer']=null;}['update'](){const {raycaster:_0x3efd38,hovered:_0x205b72,manipulating:_0x50cc8e}=this,_0x847583=this['model'];if(_0x50cc8e||!this['enabled']||!_0x847583||!_0x847583['threeObject'])return;let _0x1f53f2=null;const _0x517274=[];_0x847583['threeObject']['traverse'](_0x14d141=>{if(_0x14d141['isMesh']&&!_0x14d141['visible']){let _0x361a99=!0x1,_0x339ef8=_0x14d141;for(;_0x339ef8;){if(_0x339ef8['isURDFCollider']){_0x361a99=!0x0;break;}_0x339ef8=_0x339ef8['parent'];}_0x361a99||(_0x14d141['visible']=!0x0,_0x517274['push'](_0x14d141));}});const _0x3712d6=_0x3efd38['intersectObject'](_0x847583['threeObject'],!0x0);_0x517274['forEach'](_0x1aabe6=>{_0x1aabe6['visible']=!0x1;});const _0x45b4aa=_0x3712d6['filter'](_0x2cadfc=>{var _0x4a9c25,_0x38a87e;const _0xb7232=_0x2cadfc['object'];if(_0xb7232['isURDFCollider']||(null==(_0x4a9c25=_0xb7232['userData'])?void 0x0:_0x4a9c25['isCollision'])||(null==(_0x38a87e=_0xb7232['userData'])?void 0x0:_0x38a87e['isCollisionGeom']))return!0x1;let _0x30039b=!0x1,_0x406047=_0xb7232;for(;_0x406047;){if(_0x406047['isURDFCollider']){_0x30039b=!0x0;break;}_0x406047=_0x406047['parent'];}return!_0x30039b&&_0xb7232['isMesh'];});if(0x0!==_0x45b4aa['length']){const _0x1cd8d1=_0x45b4aa[0x0];_0x1f53f2=Ve(_0x1cd8d1['object'],_0x847583),_0x1f53f2&&(this['hitDistance']=_0x1cd8d1['distance'],this['initialGrabPoint']['copy'](_0x1cd8d1['point']));}((null==_0x1f53f2?void 0x0:_0x1f53f2['name'])||null)!==((null==_0x205b72?void 0x0:_0x205b72['name'])||null)?(_0x205b72&&this['onUnhover'](_0x205b72),this['hovered']=_0x1f53f2,_0x1f53f2&&this['onHover'](_0x1f53f2)):_0x1f53f2&&_0x205b72&&(this['hovered']=_0x1f53f2);}['updateJoint'](_0x117a89,_0x4533c8){this['onUpdateJoint']&&this['onUpdateJoint'](_0x117a89,_0x4533c8);}['onDragStart'](_0x4f941e){}['onDragEnd'](_0x2c0a7c){}['onHover'](_0x7ef40b){}['onUnhover'](_0x4264c3){}['getJointAxis'](_0x14f51f){return _0x14f51f['threeObject']&&_0x14f51f['threeObject']['axis']instanceof _0x220444?_0x14f51f['threeObject']['axis']['clone']():_0x14f51f['axis']&&_0x14f51f['axis']['xyz']?Ue['xyzToVector3'](_0x14f51f['axis']['xyz']):new _0x220444(0x0,0x0,0x1);}['getJointThreeObject'](_0x117a46){return _0x117a46['threeObject'];}['getJointCurrentValue'](_0xd42cfe){if(_0xd42cfe['threeObject']){if(void 0x0!==_0xd42cfe['threeObject']['angle'])return _0xd42cfe['threeObject']['angle'];if(_0xd42cfe['threeObject']['jointValue']&&_0xd42cfe['threeObject']['jointValue']['length']>0x0)return _0xd42cfe['threeObject']['jointValue'][0x0];}return void 0x0!==_0xd42cfe['currentValue']?_0xd42cfe['currentValue']:0x0;}['getRevoluteDelta'](_0x1ed696,_0x2fdf37,_0x7171be){const _0xa2fbc8=this['getJointThreeObject'](_0x1ed696);if(!_0xa2fbc8)return 0x0;const _0x45c5b1=this['getJointAxis'](_0x1ed696);Je['copy'](_0x45c5b1)['transformDirection'](_0xa2fbc8['matrixWorld'])['normalize'](),$e['set'](0x0,0x0,0x0)['applyMatrix4'](_0xa2fbc8['matrixWorld']),Xe['setFromNormalAndCoplanarPoint'](Je,$e),Xe['projectPoint'](_0x2fdf37,Ge),Xe['projectPoint'](_0x7171be,We),Ge['sub']($e),We['sub']($e),Je['crossVectors'](Ge,We);const _0x1d4618=Je['dot'](Xe['normal']);return Math['sign'](_0x1d4618)*We['angleTo'](Ge);}['getPrismaticDelta'](_0x7367f2,_0x46d64f,_0x2a6988){var _0x35af63;const _0x33eb99=this['getJointThreeObject'](_0x7367f2);if(!_0x33eb99)return 0x0;Je['subVectors'](_0x2a6988,_0x46d64f);const _0x3d93ab=this['getJointAxis'](_0x7367f2);return Xe['normal']['copy'](_0x3d93ab)['transformDirection']((null==(_0x35af63=_0x33eb99['parent'])?void 0x0:_0x35af63['matrixWorld'])||new _0x13cf24())['normalize'](),Je['dot'](Xe['normal']);}['moveRay'](_0x161fbc){var _0x3482da,_0x125e5f,_0x4ed55d,_0x3c6d8c,_0x266bf1;const {raycaster:_0x5cdf16,hitDistance:_0x2acc8a,manipulating:_0x52f6cb}=this,{ray:_0x45a671}=_0x5cdf16;if(_0x52f6cb){_0x45a671['at'](_0x2acc8a,qe),_0x161fbc['at'](_0x2acc8a,Be);let _0x4401ac=0x0;const _0x5d42e2=_0x52f6cb['type'];if('revolute'===_0x5d42e2||'continuous'===_0x5d42e2?_0x4401ac=this['getRevoluteDelta'](_0x52f6cb,qe,Be):'prismatic'===_0x5d42e2&&(_0x4401ac=this['getPrismaticDelta'](_0x52f6cb,qe,Be)),_0x4401ac){let _0x131374=this['getJointCurrentValue'](_0x52f6cb)+_0x4401ac;if(_0x52f6cb['limits']){(null==(_0x125e5f=null==(_0x3482da=this['model'])?void 0x0:_0x3482da['userData'])?void 0x0:_0x125e5f['ignoreLimits'])||(null==(_0x266bf1=null==(_0x3c6d8c=null==(_0x4ed55d=this['model'])?void 0x0:_0x4ed55d['threeObject'])?void 0x0:_0x3c6d8c['userData'])?void 0x0:_0x266bf1['ignoreLimits'])||!0x1||(_0x131374=Math['max'](_0x52f6cb['limits']['lower'],Math['min'](_0x52f6cb['limits']['upper'],_0x131374)));}this['updateJoint'](_0x52f6cb,_0x131374);}}this['raycaster']['ray']['copy'](_0x161fbc),this['update']();}['setGrabbed'](_0x29a0ac){const {hovered:_0x36782e,manipulating:_0x41ae58}=this;if(_0x29a0ac){if(null!==_0x41ae58||null===_0x36782e)return;const _0x35dd83=function(_0xcb1f5c,_0x2a7ecb){if(!_0xcb1f5c||!_0xcb1f5c['threeObject']||!_0x2a7ecb['joints'])return null;let _0xf8d185=_0xcb1f5c['threeObject'];for(;_0xf8d185;){const _0x2610a5=_0xf8d185['parent'];if(_0x2610a5&&('URDFJoint'===_0x2610a5['type']||_0x2610a5['isURDFJoint'])){const _0x40ed55=_0x2610a5['name'];if(_0x40ed55&&_0x2a7ecb['joints']['has'](_0x40ed55)){const _0x4c7038=_0x2a7ecb['joints']['get'](_0x40ed55);if('fixed'!==_0x4c7038['type'])return _0x4c7038;const _0x629c3e=_0x2610a5['parent'];if(_0x629c3e&&('URDFLink'===_0x629c3e['type']||_0x629c3e['isURDFLink'])){_0xf8d185=_0x629c3e;continue;}}}break;}return null;}(_0x36782e,this['model']);_0x35dd83?(this['manipulating']=_0x35dd83,this['manipulatingLink']=_0x36782e,this['onDragStart'](_0x36782e)):(this['manipulatingLink']=_0x36782e,this['onDragStart'](_0x36782e));}else{if(null===this['manipulating']&&!this['manipulatingLink'])return;this['onDragEnd'](this['manipulatingLink']||_0x36782e),this['manipulating']=null,this['manipulatingLink']=null,this['update']();}}}class Ze extends Ye{constructor(_0x20a7ed,_0x30b5de,_0x50c313,_0x4b30a5){super(_0x20a7ed,_0x30b5de,_0x50c313,_0x4b30a5),this['camera']=_0x30b5de,this['domElement']=_0x50c313;const _0x5a7e72=new _0x173557(),_0x109ad3=new _0x228015(),_0x4d9da9=_0x6b2077=>{const _0x2cbd6e=_0x50c313['getBoundingClientRect']();_0x109ad3['x']=(_0x6b2077['clientX']-_0x2cbd6e['left'])/_0x2cbd6e['width']*0x2-0x1,_0x109ad3['y']=-(_0x6b2077['clientY']-_0x2cbd6e['top'])/_0x2cbd6e['height']*0x2+0x1;};this['_mouseDown']=_0x5b55b5=>{if(0x0!==_0x5b55b5['button'])return;if(_0x4d9da9(_0x5b55b5),_0x5a7e72['setFromCamera'](_0x109ad3,this['camera']),!this['model']||!this['model']['threeObject'])return;const _0x3738ec=[];this['model']['threeObject']['traverse'](_0x5bfccd=>{if(_0x5bfccd['isMesh']&&!_0x5bfccd['visible']){let _0x184d40=!0x1,_0x429ea8=_0x5bfccd;for(;_0x429ea8;){if(_0x429ea8['isURDFCollider']){_0x184d40=!0x0;break;}_0x429ea8=_0x429ea8['parent'];}_0x184d40||(_0x5bfccd['visible']=!0x0,_0x3738ec['push'](_0x5bfccd));}});const _0x237b20=_0x5a7e72['intersectObject'](this['model']['threeObject'],!0x0);_0x3738ec['forEach'](_0x49ebb5=>{_0x49ebb5['visible']=!0x1;});const _0x5e2175=_0x237b20['filter'](_0x4004e0=>{var _0x166232,_0x56707e;const _0x4b5ce0=_0x4004e0['object'];if(_0x4b5ce0['isURDFCollider']||(null==(_0x166232=_0x4b5ce0['userData'])?void 0x0:_0x166232['isCollision'])||(null==(_0x56707e=_0x4b5ce0['userData'])?void 0x0:_0x56707e['isCollisionGeom']))return!0x1;let _0x375e57=!0x1,_0x37fa96=_0x4b5ce0;for(;_0x37fa96;){if(_0x37fa96['isURDFCollider']){_0x375e57=!0x0;break;}_0x37fa96=_0x37fa96['parent'];}return!_0x375e57&&_0x4b5ce0['isMesh'];});(_0x5e2175['length']>0x0?Ve(_0x5e2175[0x0]['object'],this['model']):null)&&(this['moveRay'](_0x5a7e72['ray']),this['setGrabbed'](!0x0));},this['_mouseMove']=_0x2ce265=>{_0x4d9da9(_0x2ce265),_0x5a7e72['setFromCamera'](_0x109ad3,this['camera']),this['moveRay'](_0x5a7e72['ray']);},this['_mouseUp']=_0xf54ce3=>{0x0===_0xf54ce3['button']&&(_0x4d9da9(_0xf54ce3),_0x5a7e72['setFromCamera'](_0x109ad3,this['camera']),this['moveRay'](_0x5a7e72['ray']),this['setGrabbed'](!0x1));},this['_mouseLeave']=()=>{this['manipulating']&&this['setGrabbed'](!0x1),this['hovered']&&(this['onUnhover'](this['hovered']),this['hovered']=null);},_0x50c313['addEventListener']('mousedown',this['_mouseDown']),_0x50c313['addEventListener']('mousemove',this['_mouseMove']),_0x50c313['addEventListener']('mouseup',this['_mouseUp']),_0x50c313['addEventListener']('mouseleave',this['_mouseLeave']);}['getRevoluteDelta'](_0x159205,_0x139691,_0x354f83){const {camera:_0x5c90ab,initialGrabPoint:_0x4fffb4}=this,_0xf5d084=this['getJointThreeObject'](_0x159205);if(!_0xf5d084)return 0x0;const _0x4963af=this['getJointAxis'](_0x159205);return Je['copy'](_0x4963af)['transformDirection'](_0xf5d084['matrixWorld'])['normalize'](),$e['set'](0x0,0x0,0x0)['applyMatrix4'](_0xf5d084['matrixWorld']),Xe['setFromNormalAndCoplanarPoint'](Je,$e),Je['copy'](_0x5c90ab['position'])['sub'](_0x4fffb4)['normalize'](),Math['abs'](Je['dot'](Xe['normal']))>0.3?super['getRevoluteDelta'](_0x159205,_0x139691,_0x354f83):(Je['set'](0x0,0x1,0x0)['transformDirection'](_0x5c90ab['matrixWorld']),Xe['projectPoint'](_0x139691,Ge),Xe['projectPoint'](_0x354f83,We),Je['set'](0x0,0x0,-0x1)['transformDirection'](_0x5c90ab['matrixWorld']),Je['cross'](Xe['normal']),He['subVectors'](_0x354f83,_0x139691),Je['dot'](He));}['dispose'](){const {domElement:_0x10637a}=this;_0x10637a['removeEventListener']('mousedown',this['_mouseDown']),_0x10637a['removeEventListener']('mousemove',this['_mouseMove']),_0x10637a['removeEventListener']('mouseup',this['_mouseUp']),_0x10637a['removeEventListener']('mouseleave',this['_mouseLeave']);}}class Qe{constructor(){this['name']='',this['links']=new Map(),this['joints']=new Map(),this['materials']=new Map(),this['constraints']=new Map(),this['rootLink']=null,this['threeObject']=null,this['baseOrientation']=[0x0,0x0,0x0,0x1];}['addLink'](_0x106497){this['links']['set'](_0x106497['name'],_0x106497);}['addJoint'](_0x4a05bc){this['joints']['set'](_0x4a05bc['name'],_0x4a05bc);}['addConstraint'](_0x4d676b){this['constraints']['set'](_0x4d676b['name'],_0x4d676b);}['getLink'](_0x5109c0){return this['links']['get'](_0x5109c0);}['getJoint'](_0x10e960){return this['joints']['get'](_0x10e960);}['getConstraint'](_0x5d8610){return this['constraints']['get'](_0x5d8610);}}class Ke{constructor(_0x223216){this['name']=_0x223216,this['visuals']=[],this['collisions']=[],this['inertial']=null,this['threeObject']=null,this['userData']={};}}class et{constructor(){this['name']='',this['origin']={'xyz':[0x0,0x0,0x0],'rpy':[0x0,0x0,0x0]},this['geometry']=null,this['material']=null,this['threeObject']=null;}}class tt{constructor(){this['name']='',this['origin']={'xyz':[0x0,0x0,0x0],'rpy':[0x0,0x0,0x0]},this['geometry']=null,this['threeObject']=null;}}class nt{constructor(_0x67eb45){this['type']=_0x67eb45,this['size']=null,this['filename']=null;}['clone'](){const _0x2e6c85=new nt(this['type']);return _0x2e6c85['size']=this['size']?{...this['size']}:null,_0x2e6c85['filename']=this['filename'],_0x2e6c85;}}class it{constructor(){this['mass']=0x0,this['origin']={'xyz':[0x0,0x0,0x0],'rpy':[0x0,0x0,0x0]},this['ixx']=0x0,this['iyy']=0x0,this['izz']=0x0,this['ixy']=0x0,this['ixz']=0x0,this['iyz']=0x0;}}class st{constructor(_0x4e1d87,_0xc98960){this['name']=_0x4e1d87,this['type']=_0xc98960,this['parent']=null,this['child']=null,this['origin']={'xyz':[0x0,0x0,0x0],'rpy':[0x0,0x0,0x0]},this['axis']={'xyz':[0x0,0x0,0x1]},this['limits']=null,this['currentValue']=0x0,this['threeObject']=null,this['mimic']=null;}}class rt{constructor(){this['lower']=-Math['PI'],this['upper']=Math['PI'],this['effort']=null,this['velocity']=null;}}class at{constructor(_0x39fbfd,_0x292eb1){this['name']=_0x39fbfd,this['type']=_0x292eb1,this['body1']=null,this['body2']=null,this['anchor']=null,this['torquescale']=null,this['joint1']=null,this['joint2']=null,this['polycoef']=null,this['threeObject']=null,this['userData']={};}}function ot(_0x31b868,_0x14b1a8,_0x500548){const _0x407808=lt(_0x14b1a8,'joint_index'),_0x49519b=lt(_0x14b1a8,'rest_j_pos');if(!_0x407808||!_0x49519b)return;const _0x595025=Math['min'](_0x407808['length'],_0x49519b['length']);for(let _0x58950a=0x0;_0x58950a<_0x595025;_0x58950a++){const _0x52fd95=_0x407808[_0x58950a];if(_0x52fd95<0x0)continue;const _0x13ca88=_0x500548[_0x52fd95];_0x13ca88&&_0x31b868['set'](_0x13ca88,_0x49519b[_0x58950a]);}}function lt(_0xac297e,_0x2b5da9){const _0xb24fb8=function(_0x2a1ece,_0x5a5cb5){const _0x111c2c=new RegExp('^\x5cs*-?\x5cs*'+_0x5a5cb5+':\x5cs*\x5c[([^\x5c]]+)\x5c]','m'),_0x1dcf06=_0x2a1ece['match'](_0x111c2c);if(_0x1dcf06){return _0x1dcf06[0x1]['split'](',')['map'](_0x7e6dd6=>parseFloat(_0x7e6dd6['trim']()))['filter'](_0x4626be=>!isNaN(_0x4626be));}return null;}(_0xac297e,_0x2b5da9);if(_0xb24fb8)return _0xb24fb8;const _0x153868=function(_0x40db66,_0x4321d3){const _0x2f8170=new RegExp('^\x5cs*'+_0x4321d3+':\x5cs*(-?\x5cd+(?:\x5c.\x5cd+)?)','m'),_0x5ba666=_0x40db66['match'](_0x2f8170);if(_0x5ba666){const _0x2325fc=parseFloat(_0x5ba666[0x1]);return isNaN(_0x2325fc)?null:_0x2325fc;}return null;}(_0xac297e,_0x2b5da9);return null!==_0x153868?[_0x153868]:null;}function ct(_0x3c38a9,_0x18a42e){const _0x1e5738=[],_0x4d063f=_0x3c38a9['split']('\x0a');let _0x1367fb=!0x1,_0xe09917=[],_0x2e4a31=-0x1;for(let _0x54acb1=0x0;_0x54acb1<_0x4d063f['length'];_0x54acb1++){const _0x439111=_0x4d063f[_0x54acb1],_0x4f4094=_0x439111['trimStart']();if(_0x4f4094['startsWith']('#')||0x0===_0x4f4094['length']){_0x1367fb&&_0xe09917['push'](_0x439111);continue;}const _0x199bf6=_0x439111['length']-_0x4f4094['length'];_0x4f4094===_0x18a42e+':'||_0x4f4094['startsWith'](_0x18a42e+':')?(_0x1367fb&&_0xe09917['length']>0x0&&_0x1e5738['push'](_0xe09917['join']('\x0a')),_0x1367fb=!0x0,_0x2e4a31=_0x199bf6,_0xe09917=[_0x439111]):_0x1367fb&&(_0x199bf6>_0x2e4a31||_0x199bf6===_0x2e4a31&&_0x4f4094['startsWith']('-')?_0xe09917['push'](_0x439111):(_0x1e5738['push'](_0xe09917['join']('\x0a')),_0x1367fb=!0x1,_0xe09917=[],_0x2e4a31=-0x1));}return _0x1367fb&&_0xe09917['length']>0x0&&_0x1e5738['push'](_0xe09917['join']('\x0a')),0x1===_0x1e5738['length']&&_0x1e5738[0x0]['includes']('-\x20')?function(_0x57337e){const _0x3536c5=[],_0x3912fd=_0x57337e['split']('\x0a');let _0x27294f=[],_0x231e50=-0x1;for(const _0x3c29f4 of _0x3912fd){const _0x242b0d=_0x3c29f4['trimStart']();if(_0x242b0d['startsWith']('#')||0x0===_0x242b0d['length'])continue;const _0x21ccfb=_0x3c29f4['length']-_0x242b0d['length'];_0x242b0d['startsWith']('-\x20')?(_0x27294f['length']>0x0&&_0x3536c5['push'](_0x27294f['join']('\x0a')),_0x27294f=[_0x3c29f4],_0x231e50=_0x21ccfb):_0x231e50>=0x0&&_0x21ccfb>_0x231e50?_0x27294f['push'](_0x3c29f4):_0x27294f['length']>0x0&&(_0x3536c5['push'](_0x27294f['join']('\x0a')),_0x27294f=[],_0x231e50=-0x1);}_0x27294f['length']>0x0&&_0x3536c5['push'](_0x27294f['join']('\x0a'));return _0x3536c5;}(_0x1e5738[0x0]):_0x1e5738;}function ht(_0x5b8f08){if(!_0x5b8f08||!_0x5b8f08['joints'])return[];const _0x24e0bb=new Map();_0x5b8f08['joints']['forEach'](_0x3065da=>{const _0x300e7e=_0x3065da['parent']||'__root__';_0x24e0bb['has'](_0x300e7e)||_0x24e0bb['set'](_0x300e7e,[]),_0x24e0bb['get'](_0x300e7e)['push'](_0x3065da);});const _0x2394a3=[];return function _0x34cf70(_0x5d11ef){(_0x24e0bb['get'](_0x5d11ef)||[])['forEach'](_0xf3c5fd=>{_0x2394a3['push'](_0xf3c5fd),_0x34cf70(_0xf3c5fd['child']);});}(_0x5b8f08['rootLink']||'__root__'),_0x5b8f08['joints']['forEach'](_0x4e0051=>{_0x2394a3['includes'](_0x4e0051)||_0x2394a3['push'](_0x4e0051);}),_0x2394a3;}class ut{static['convert'](_0x9723a4,_0x415a52=null,_0x39ada1={}){const _0x1aca8f=new Qe();if(_0x1aca8f['name']=_0x9723a4['name']||'robot',_0x1aca8f['threeObject']=_0x9723a4,_0x9723a4['userData']||(_0x9723a4['userData']={}),_0x9723a4['userData']['type']='urdf',!_0x9723a4['links']||!_0x9723a4['joints'])return _0x1aca8f;let _0x117306={};_0x415a52&&(_0x117306=this['parseInertialFromXML'](_0x415a52)),Object['values'](_0x9723a4['links'])['forEach'](_0x520f97=>{const _0x23e484=this['convertLink'](_0x520f97);!_0x23e484['inertial']&&_0x117306[_0x520f97['name']]&&(_0x23e484['inertial']=_0x117306[_0x520f97['name']]),_0x1aca8f['addLink'](_0x23e484);}),Object['values'](_0x9723a4['joints'])['forEach'](_0x2abf8b=>{const _0x15526e=this['convertJoint'](_0x2abf8b);_0x1aca8f['addJoint'](_0x15526e);}),_0x415a52&&this['supplementJointLimitsFromXML'](_0x1aca8f,_0x415a52);const _0x50fe3d=new Set(Array['from'](_0x1aca8f['joints']['values']())['map'](_0x2d09d9=>_0x2d09d9['child'])['filter'](_0x5a0c67=>_0x5a0c67)),_0x504c36=Array['from'](_0x1aca8f['links']['keys']())['filter'](_0x10b92e=>!_0x50fe3d['has'](_0x10b92e));return _0x504c36['length']>0x0&&(_0x1aca8f['rootLink']=_0x504c36[0x0]),_0x39ada1['vrConfigContent']&&this['applyVRConfigRestPositions'](_0x1aca8f,_0x39ada1['vrConfigContent']),this['enhanceMaterials'](_0x9723a4),_0x1aca8f;}static['enhanceMaterials'](_0x275c9e){_0x275c9e['traverse'](_0x3a7bab=>{_0x3a7bab['isMesh']&&_0x3a7bab['material']&&(Array['isArray'](_0x3a7bab['material'])?_0x3a7bab['material']=_0x3a7bab['material']['map'](_0x4f5d10=>this['enhanceSingleMaterial'](_0x4f5d10)):_0x3a7bab['material']=this['enhanceSingleMaterial'](_0x3a7bab['material']));});}static['enhanceSingleMaterial'](_0x2b87d7){var _0x324cdf,_0x74fc9c,_0x2d1ec5;if(_0x2b87d7['isMeshPhongMaterial']||_0x2b87d7['isMeshStandardMaterial']){if(void 0x0===_0x2b87d7['userData']['originalShininess'])if(_0x2b87d7['userData']['originalShininess']=void 0x0!==_0x2b87d7['shininess']?_0x2b87d7['shininess']:0x1e,!_0x2b87d7['userData']['originalColor']&&_0x2b87d7['color']&&(_0x2b87d7['userData']['originalColor']=_0x2b87d7['color']['clone']()),_0x2b87d7['specular'])if(_0x2b87d7['specular']['isColor']){const _0x27721e=_0x2b87d7['specular'];_0x27721e['r']<0.1&&_0x27721e['g']<0.1&&_0x27721e['b']<0.1?_0x2b87d7['userData']['originalSpecular']=null:_0x2b87d7['userData']['originalSpecular']=_0x27721e['clone']();}else'number'==typeof _0x2b87d7['specular']?0x111111===_0x2b87d7['specular']||_0x2b87d7['specular']<0x111111?_0x2b87d7['userData']['originalSpecular']=null:_0x2b87d7['userData']['originalSpecular']=new _0x25d7bf(_0x2b87d7['specular']):_0x2b87d7['userData']['originalSpecular']=null;else _0x2b87d7['userData']['originalSpecular']=null;return(void 0x0===_0x2b87d7['shininess']||_0x2b87d7['shininess']<0x32)&&(_0x2b87d7['shininess']=0x32),_0x2b87d7['specular']?_0x2b87d7['specular']['isColor']?(_0x2b87d7['specular']['r']<0.2||_0x2b87d7['specular']['g']<0.2||_0x2b87d7['specular']['b']<0.2)&&_0x2b87d7['specular']['setRGB'](0.3,0.3,0.3):'number'==typeof _0x2b87d7['specular']&&(_0x2b87d7['specular']<0x333333?_0x2b87d7['specular']=new _0x25d7bf(0.3,0.3,0.3):(_0x2b87d7['specular']=new _0x25d7bf(_0x2b87d7['specular']),_0x2b87d7['specular']['r']<0.2&&_0x2b87d7['specular']['setRGB'](0.3,0.3,0.3))):_0x2b87d7['specular']=new _0x25d7bf(0.3,0.3,0.3),_0x2b87d7['needsUpdate']=!0x0,_0x2b87d7;}if('MeshBasicMaterial'===_0x2b87d7['type']){const _0x222429=_0x2b87d7,_0x4691f1='undefined'!=typeof window&&(null==(_0x2d1ec5=null==(_0x74fc9c=null==(_0x324cdf=window['app'])?void 0x0:_0x324cdf['sceneManager'])?void 0x0:_0x74fc9c['environmentManager'])?void 0x0:_0x2d1ec5['getEnvironmentMap']()),_0x33f3b5=new _0xa4876a({'color':_0x222429['color'],'map':_0x222429['map'],'transparent':_0x222429['transparent'],'opacity':_0x222429['opacity'],'side':_0x222429['side'],'shininess':0x32,'specular':new _0x25d7bf(0.3,0.3,0.3),'envMap':_0x4691f1||null,'reflectivity':_0x4691f1?0.3:0x0});return _0x33f3b5['userData']['originalShininess']=0x1e,_0x33f3b5['userData']['originalSpecular']=null,_0x33f3b5;}return _0x2b87d7;}static['convertLink'](_0x153b42){const _0x47eef0=new Ke(_0x153b42['name']);return _0x47eef0['threeObject']=_0x153b42,_0x153b42['inertial']&&(_0x47eef0['inertial']=this['convertInertial'](_0x153b42['inertial'])),_0x47eef0;}static['convertJoint'](_0x254d68){var _0x36ca09;const _0x27e30c=_0x254d68['jointType']||_0x254d68['type']||'fixed',_0x2f0d5b=new st(_0x254d68['name'],_0x27e30c);if(_0x2f0d5b['parent']=(null==(_0x36ca09=_0x254d68['parent'])?void 0x0:_0x36ca09['name'])||null,_0x254d68['child']&&_0x254d68['child']['name'])_0x2f0d5b['child']=_0x254d68['child']['name'];else if(_0x254d68['children']&&_0x254d68['children']['length']>0x0){const _0x1a07fa=_0x254d68['children']['find'](_0x141b18=>_0x141b18['isURDFLink']||'URDFLink'===_0x141b18['type']);_0x1a07fa&&(_0x2f0d5b['child']=_0x1a07fa['name']);}return _0x2f0d5b['threeObject']=_0x254d68,_0x254d68['origin']&&(_0x2f0d5b['origin']={'xyz':_0x254d68['origin']['xyz']||[0x0,0x0,0x0],'rpy':_0x254d68['origin']['rpy']||[0x0,0x0,0x0]}),_0x254d68['axis']&&(_0x2f0d5b['axis']={'xyz':_0x254d68['axis']['xyz']||[0x0,0x0,0x1]}),_0x254d68['limit']&&(_0x2f0d5b['limits']=this['convertLimits'](_0x254d68['limit'])),void 0x0!==_0x254d68['angle']?_0x2f0d5b['currentValue']=_0x254d68['angle']:void 0x0!==_0x254d68['jointValue']&&(_0x2f0d5b['currentValue']=_0x254d68['jointValue']),_0x254d68['mimicJoint']&&(_0x2f0d5b['mimic']={'joint':_0x254d68['mimicJoint'],'multiplier':_0x254d68['multiplier']??0x1,'offset':_0x254d68['offset']??0x0}),_0x2f0d5b;}static['convertLimits'](_0x11be49){const _0x3ecc48=new rt();return void 0x0!==_0x11be49['lower']&&(_0x3ecc48['lower']=_0x11be49['lower']),void 0x0!==_0x11be49['upper']&&(_0x3ecc48['upper']=_0x11be49['upper']),void 0x0!==_0x11be49['effort']&&(_0x3ecc48['effort']=_0x11be49['effort']),void 0x0!==_0x11be49['velocity']&&(_0x3ecc48['velocity']=_0x11be49['velocity']),_0x3ecc48;}static['supplementJointLimitsFromXML'](_0x5f3275,_0x50bfc6){try{const _0x5e6f68=new DOMParser()['parseFromString'](_0x50bfc6,'text/xml');_0x5e6f68['querySelectorAll']('joint')['forEach'](_0x22e11a=>{const _0xd171d8=_0x22e11a['getAttribute']('name'),_0x4fae97=_0x5f3275['joints']['get'](_0xd171d8);if(_0x4fae97){const _0x368a8d=_0x22e11a['querySelector']('limit');if(_0x368a8d){_0x4fae97['limits']||(_0x4fae97['limits']=new rt());const _0x343973=_0x368a8d['getAttribute']('effort'),_0x5650e6=_0x368a8d['getAttribute']('velocity');null!==_0x343973&&(_0x4fae97['limits']['effort']=parseFloat(_0x343973)),null!==_0x5650e6&&(_0x4fae97['limits']['velocity']=parseFloat(_0x5650e6));const _0x558fb7=_0x368a8d['getAttribute']('lower'),_0x52a2de=_0x368a8d['getAttribute']('upper');null!==_0x558fb7&&(_0x4fae97['limits']['lower']=parseFloat(_0x558fb7)),null!==_0x52a2de&&(_0x4fae97['limits']['upper']=parseFloat(_0x52a2de));}}});}catch(_0x496ceb){}}static['convertInertial'](_0x11fca2){const _0x27a33b=new it();return void 0x0!==_0x11fca2['mass']&&(_0x27a33b['mass']=_0x11fca2['mass']),_0x11fca2['origin']&&(_0x27a33b['origin']={'xyz':_0x11fca2['origin']['xyz']||[0x0,0x0,0x0],'rpy':_0x11fca2['origin']['rpy']||[0x0,0x0,0x0]}),void 0x0!==_0x11fca2['ixx']&&(_0x27a33b['ixx']=_0x11fca2['ixx']),void 0x0!==_0x11fca2['iyy']&&(_0x27a33b['iyy']=_0x11fca2['iyy']),void 0x0!==_0x11fca2['izz']&&(_0x27a33b['izz']=_0x11fca2['izz']),void 0x0!==_0x11fca2['ixy']&&(_0x27a33b['ixy']=_0x11fca2['ixy']),void 0x0!==_0x11fca2['ixz']&&(_0x27a33b['ixz']=_0x11fca2['ixz']),void 0x0!==_0x11fca2['iyz']&&(_0x27a33b['iyz']=_0x11fca2['iyz']),_0x27a33b;}static['parseInertialFromXML'](_0x54eccf){const _0x4afce1={};try{const _0x4a7be7=new DOMParser(),_0x4bbb20=_0x4a7be7['parseFromString'](_0x54eccf,'text/xml')['getElementsByTagName']('link');for(let _0x26ea42=0x0;_0x26ea42<_0x4bbb20['length'];_0x26ea42++){const _0x37055c=_0x4bbb20[_0x26ea42],_0x34f7e0=_0x37055c['getAttribute']('name'),_0x1c16eb=_0x37055c['getElementsByTagName']('inertial')[0x0];if(!_0x1c16eb)continue;const _0x31cd26=new it(),_0x38ca0f=_0x1c16eb['getElementsByTagName']('mass')[0x0];_0x38ca0f&&(_0x31cd26['mass']=parseFloat(_0x38ca0f['getAttribute']('value')));const _0x203b0e=_0x1c16eb['getElementsByTagName']('origin')[0x0];if(_0x203b0e){const _0x2b02be=_0x203b0e['getAttribute']('xyz'),_0x3bddcc=_0x203b0e['getAttribute']('rpy');_0x31cd26['origin']={'xyz':_0x2b02be?_0x2b02be['split']('\x20')['map'](parseFloat):[0x0,0x0,0x0],'rpy':_0x3bddcc?_0x3bddcc['split']('\x20')['map'](parseFloat):[0x0,0x0,0x0]};}else _0x31cd26['origin']={'xyz':[0x0,0x0,0x0],'rpy':[0x0,0x0,0x0]};const _0xd6fee6=_0x1c16eb['getElementsByTagName']('inertia')[0x0];_0xd6fee6&&(_0x31cd26['ixx']=parseFloat(_0xd6fee6['getAttribute']('ixx'))||0x0,_0x31cd26['iyy']=parseFloat(_0xd6fee6['getAttribute']('iyy'))||0x0,_0x31cd26['izz']=parseFloat(_0xd6fee6['getAttribute']('izz'))||0x0,_0x31cd26['ixy']=parseFloat(_0xd6fee6['getAttribute']('ixy'))||0x0,_0x31cd26['ixz']=parseFloat(_0xd6fee6['getAttribute']('ixz'))||0x0,_0x31cd26['iyz']=parseFloat(_0xd6fee6['getAttribute']('iyz'))||0x0),_0x4afce1[_0x34f7e0]=_0x31cd26;}}catch(_0x3f821c){}return _0x4afce1;}static['applyVRConfigRestPositions'](_0x6b6288,_0xe10c20){try{const _0x117ce7=function(_0x3f89db,_0x49c5b4){const _0x4622e5=new Map();if(!_0x3f89db||!_0x49c5b4||!Array['isArray'](_0x49c5b4))return _0x4622e5;try{const _0x5f0fbe=ct(_0x3f89db,'arms');for(const _0x590142 of _0x5f0fbe)ot(_0x4622e5,_0x590142,_0x49c5b4);const _0x4dd9e9=ct(_0x3f89db,'waist')[0x0];_0x4dd9e9&&ot(_0x4622e5,_0x4dd9e9,_0x49c5b4);const _0xedd9d5=ct(_0x3f89db,'head')[0x0];_0xedd9d5&&ot(_0x4622e5,_0xedd9d5,_0x49c5b4);const _0x1240a8=ct(_0x3f89db,'dorsal')[0x0];_0x1240a8&&ot(_0x4622e5,_0x1240a8,_0x49c5b4);const _0x428e6b=ct(_0x3f89db,'folding_waist')[0x0];_0x428e6b&&ot(_0x4622e5,_0x428e6b,_0x49c5b4);}catch(_0x163eb0){}return _0x4622e5;}(_0xe10c20,ht(_0x6b6288)['map'](_0x5f3fb5=>_0x5f3fb5['name']));if(0x0===_0x117ce7['size'])return;let _0x5188e8=0x0;for(const [_0x3aeea9,_0x161828]of _0x117ce7['entries']()){const _0xb8f437=_0x6b6288['joints']['get'](_0x3aeea9);_0xb8f437&&'fixed'!==_0xb8f437['type']&&(_0x6b6288['userData']||(_0x6b6288['userData']={}),_0x6b6288['userData']['homePositions']||(_0x6b6288['userData']['homePositions']={}),_0x6b6288['userData']['homePositions'][_0x3aeea9]=_0x161828,this['setJointAngle'](_0xb8f437,_0x161828,!0x1),_0x5188e8++);}}catch(_0x35f084){}}static['setJointAngle'](_0x57abd9,_0x30e966,_0x1e3ed5=!0x1){if(_0x57abd9['currentValue']=_0x30e966,_0x57abd9['threeObject']){let _0x4ae780=null;if(_0x1e3ed5&&_0x57abd9['threeObject']['limit']&&(_0x4ae780={'lower':_0x57abd9['threeObject']['limit']['lower'],'upper':_0x57abd9['threeObject']['limit']['upper']},_0x57abd9['threeObject']['limit']['lower']=0x2*-Math['PI'],_0x57abd9['threeObject']['limit']['upper']=0x2*Math['PI']),'function'==typeof _0x57abd9['threeObject']['setJointValue'])return _0x57abd9['threeObject']['setJointValue'](_0x30e966),void(_0x4ae780&&_0x57abd9['threeObject']['limit']&&(_0x57abd9['threeObject']['limit']['lower']=_0x4ae780['lower'],_0x57abd9['threeObject']['limit']['upper']=_0x4ae780['upper']));if('function'==typeof _0x57abd9['threeObject']['setAngle'])return _0x57abd9['threeObject']['setAngle'](_0x30e966),void(_0x4ae780&&_0x57abd9['threeObject']['limit']&&(_0x57abd9['threeObject']['limit']['lower']=_0x4ae780['lower'],_0x57abd9['threeObject']['limit']['upper']=_0x4ae780['upper']));if(_0x4ae780&&_0x57abd9['threeObject']['limit']&&(_0x57abd9['threeObject']['limit']['lower']=_0x4ae780['lower'],_0x57abd9['threeObject']['limit']['upper']=_0x4ae780['upper']),'revolute'===_0x57abd9['type']||'continuous'===_0x57abd9['type']){const _0x2b0162=_0x57abd9['axis']?new _0x220444(..._0x57abd9['axis']['xyz'])['normalize']():new _0x220444(0x0,0x0,0x1);_0x57abd9['threeObject']['rotation']&&_0x57abd9['threeObject']['rotation']['setFromAxisAngle'](_0x2b0162,_0x30e966);}else if('prismatic'===_0x57abd9['type']){const _0x5d7004=_0x57abd9['axis']?new _0x220444(..._0x57abd9['axis']['xyz'])['normalize']():new _0x220444(0x1,0x0,0x0);_0x57abd9['threeObject']['position']&&_0x57abd9['threeObject']['position']['copy'](_0x5d7004['multiplyScalar'](_0x30e966));}}}}function dt(_0x3e570a){return new Promise((_0x10bb04,_0x426487)=>{const _0x383f43=new FileReader();_0x383f43['onload']=_0x2c9af1=>_0x10bb04(_0x2c9af1['target']['result']),_0x383f43['onerror']=_0x426487,_0x383f43['readAsText'](_0x3e570a);});}function pt(_0x47bc17){return new Promise((_0x20459e,_0x372df3)=>{_0x47bc17['file'](_0x20459e,_0x372df3);});}function mt(_0x28023c){return _0x28023c?_0x28023c['replace'](/\\/g,'/')['replace'](/^\/+/,'')['replace'](/\/+/g,'/'):'';}function gt(_0x2d2cca){return mt(_0x2d2cca)['split']('/')['reduce']((_0x4f31ca,_0x549dc3)=>_0x549dc3&&'.'!==_0x549dc3?'..'===_0x549dc3?(_0x4f31ca['pop'](),_0x4f31ca):(_0x4f31ca['push'](_0x549dc3),_0x4f31ca):_0x4f31ca,[])['join']('/');}function ft(_0x40bba4){if(!_0x40bba4||!_0x40bba4['startsWith']('blob:'))return _0x40bba4;const _0x2d58c1=_0x40bba4['match'](/^blob:https?:\/\/[^/]+\/(.+)$/);return(null==_0x2d58c1?void 0x0:_0x2d58c1[0x1])||_0x40bba4;}function yt(_0x5ce718,_0x36e1bd){if(!_0x36e1bd)return;const _0x2d9ced=ft(_0x36e1bd);[_0x36e1bd,_0x2d9ced,mt(_0x2d9ced),gt(_0x2d9ced)]['forEach'](_0x28535f=>{_0x28535f&&_0x5ce718['push'](_0x28535f);});}function vt(_0x13bb8c,_0x48a80c){let _0xba9099=null,_0x29d410=0x0;for(const [_0x2aa479,_0x141718]of _0x13bb8c['entries']())_0x48a80c(_0x2aa479)&&(_0xba9099=_0x141718,_0x29d410++);return 0x1===_0x29d410?_0xba9099:null;}function bt(_0x5a1d1b,_0x3138c7,_0x5e2b98={}){var _0x2f987a;if(!_0x5a1d1b||!_0x3138c7)return null;const _0x52b27c=_0x5e2b98['baseDir']||'',_0x33ae7c=[],_0x5cdfcc=ft(_0x5a1d1b);if(yt(_0x33ae7c,_0x5cdfcc),_0x5cdfcc['startsWith']('package://')){const _0x39cc6d=_0x5cdfcc['replace'](/^package:\/\//,'');yt(_0x33ae7c,_0x39cc6d);const _0x2ab5c0=_0x39cc6d['split']('/');_0x2ab5c0['length']>0x1&&yt(_0x33ae7c,_0x2ab5c0['slice'](0x1)['join']('/'));}const _0x5c216e=mt(_0x5cdfcc['replace'](/^package:\/\//,'')),_0x264146=_0x5c216e['split']('/');_0x264146['length']>0x1&&yt(_0x33ae7c,_0x264146['slice'](0x1)['join']('/')),_0x52b27c&&_0x5c216e&&!_0x5c216e['startsWith'](_0x52b27c)&&(yt(_0x33ae7c,_0x52b27c+_0x5c216e),_0x264146['length']>0x1&&yt(_0x33ae7c,_0x52b27c+_0x264146['slice'](0x1)['join']('/')));for(const _0x2b180e of _0x33ae7c)if(_0x3138c7['has'](_0x2b180e))return _0x3138c7['get'](_0x2b180e);const _0x3520d3=new Set(_0x33ae7c['map'](_0x35bd02=>gt(_0x35bd02))),_0x42abba=vt(_0x3138c7,_0x202485=>_0x3520d3['has'](gt(_0x202485)));if(_0x42abba)return _0x42abba;const _0x25c1b0=new Set(Array['from'](_0x3520d3,_0x522c43=>_0x522c43['toLowerCase']())),_0xecfd72=vt(_0x3138c7,_0x281cdb=>_0x25c1b0['has'](gt(_0x281cdb)['toLowerCase']()));if(_0xecfd72)return _0xecfd72;const _0x4d9dbf=vt(_0x3138c7,_0x136868=>{const _0x70e7b1=gt(_0x136868)['toLowerCase']();return Array['from'](_0x25c1b0)['some'](_0x97282f=>_0x97282f&&_0x70e7b1['endsWith']('/'+_0x97282f));});if(_0x4d9dbf)return _0x4d9dbf;const _0x38042f=null==(_0x2f987a=gt(_0x5cdfcc)['split']('/')['pop']())?void 0x0:_0x2f987a['toLowerCase']();return _0x38042f?vt(_0x3138c7,_0x1ce2ef=>{var _0x5cdf28;return(null==(_0x5cdf28=gt(_0x1ce2ef)['split']('/')['pop']())?void 0x0:_0x5cdf28['toLowerCase']())===_0x38042f;}):null;}let wt=null;async function xt(){if(!wt){const [{STLLoader:_0x10d481},{OBJLoader:_0x328173},{MTLLoader:_0x194609},{ColladaLoader:_0x379c95},{GLTFLoader:_0x4b844f}]=await Promise['all']([Ae(()=>import('./STLLoader-de0915d4.js'),["./STLLoader-de0915d4.js","./three-9c891de0.js"],import.meta.url),Ae(()=>import('./OBJLoader-7667aa01.js'),["./OBJLoader-7667aa01.js","./three-9c891de0.js"],import.meta.url),Ae(()=>import('./MTLLoader-b6ce88b7.js'),["./MTLLoader-b6ce88b7.js","./three-9c891de0.js"],import.meta.url),Ae(()=>import('./ColladaLoader-2a0c4638.js'),["./ColladaLoader-2a0c4638.js","./three-9c891de0.js"],import.meta.url),Ae(()=>import('./GLTFLoader-7a7f40d7.js'),["./GLTFLoader-7a7f40d7.js","./three-9c891de0.js"],import.meta.url)]);wt={'STLLoader':new _0x10d481(),'OBJLoader':new _0x328173(),'MTLLoader':new _0x194609(),'ColladaLoader':new _0x379c95(),'GLTFLoader':new _0x4b844f()};}return wt;}function Mt(_0x4ed797){_0x4ed797['traverse'](_0x49aacc=>{if(_0x49aacc['isMesh']&&_0x49aacc['material']){const _0x53c623=Array['isArray'](_0x49aacc['material'])?_0x49aacc['material']:[_0x49aacc['material']];_0x53c623['forEach']((_0x2ec3ed,_0x5cd25f)=>{var _0x23348f,_0x73c774,_0xde2971,_0x90f5ec,_0x558665,_0x5963fe,_0x47f180,_0x3c0d8f,_0x5953d6,_0x39e3c0,_0x3ace52,_0x20747c;if(_0x2ec3ed)if('MeshBasicMaterial'===_0x2ec3ed['type']||'MeshLambertMaterial'===_0x2ec3ed['type']){const _0x325208=_0x2ec3ed,_0x208a70='undefined'!=typeof window&&!0x1!==(null==(_0xde2971=null==(_0x73c774=null==(_0x23348f=window['app'])?void 0x0:_0x23348f['sceneManager'])?void 0x0:_0x73c774['visualizationManager'])?void 0x0:_0xde2971['showEnhancedLighting']),_0x1edf3d='undefined'!=typeof window&&(null==(_0x5963fe=null==(_0x558665=null==(_0x90f5ec=window['app'])?void 0x0:_0x90f5ec['sceneManager'])?void 0x0:_0x558665['environmentManager'])?void 0x0:_0x5963fe['getEnvironmentMap']()),_0x3337c2=new _0xa4876a({'color':_0x325208['color'],'map':_0x325208['map'],'transparent':_0x325208['transparent'],'opacity':_0x325208['opacity'],'side':_0x325208['side'],'shininess':_0x208a70?0x32:0x1e,'specular':_0x208a70?new _0x25d7bf(0.3,0.3,0.3):new _0x25d7bf(0x111111),'envMap':_0x1edf3d||null,'reflectivity':_0x1edf3d?0.3:0x0});_0x3337c2['userData']['originalShininess']=0x1e,_0x3337c2['userData']['originalSpecular']=null,_0x3337c2['map']&&(_0x3337c2['map']['colorSpace']=_0x50e39a),_0x53c623[_0x5cd25f]=_0x3337c2;}else if(_0x2ec3ed['isMeshPhongMaterial']||_0x2ec3ed['isMeshStandardMaterial']){if(void 0x0===_0x2ec3ed['userData']['originalShininess'])if(_0x2ec3ed['userData']['originalShininess']=void 0x0!==_0x2ec3ed['shininess']?_0x2ec3ed['shininess']:0x1e,_0x2ec3ed['specular'])if(_0x2ec3ed['specular']['isColor']){const _0x8f09cd=_0x2ec3ed['specular'];_0x8f09cd['r']<0.1&&_0x8f09cd['g']<0.1&&_0x8f09cd['b']<0.1?_0x2ec3ed['userData']['originalSpecular']=null:_0x2ec3ed['userData']['originalSpecular']=_0x8f09cd['clone']();}else'number'==typeof _0x2ec3ed['specular']?0x111111===_0x2ec3ed['specular']||_0x2ec3ed['specular']<0x111111?_0x2ec3ed['userData']['originalSpecular']=null:_0x2ec3ed['userData']['originalSpecular']=new _0x25d7bf(_0x2ec3ed['specular']):_0x2ec3ed['userData']['originalSpecular']=null;else _0x2ec3ed['userData']['originalSpecular']=null;const _0x43e65d='undefined'!=typeof window&&(null==(_0x5953d6=null==(_0x3c0d8f=null==(_0x47f180=window['app'])?void 0x0:_0x47f180['sceneManager'])?void 0x0:_0x3c0d8f['environmentManager'])?void 0x0:_0x5953d6['getEnvironmentMap']());_0x43e65d&&!_0x2ec3ed['envMap']&&(_0x2ec3ed['envMap']=_0x43e65d,void 0x0===_0x2ec3ed['reflectivity']&&(_0x2ec3ed['reflectivity']=0.3),_0x2ec3ed['needsUpdate']=!0x0);'undefined'!=typeof window&&!0x1!==(null==(_0x20747c=null==(_0x3ace52=null==(_0x39e3c0=window['app'])?void 0x0:_0x39e3c0['sceneManager'])?void 0x0:_0x3ace52['visualizationManager'])?void 0x0:_0x20747c['showEnhancedLighting'])&&((void 0x0===_0x2ec3ed['shininess']||_0x2ec3ed['shininess']<0x32)&&(_0x2ec3ed['shininess']=0x32),(!_0x2ec3ed['specular']||_0x2ec3ed['specular']['isColor']&&_0x2ec3ed['specular']['r']<0.2||'number'==typeof _0x2ec3ed['specular']&&_0x2ec3ed['specular']<0x333333)&&(_0x2ec3ed['specular']=new _0x25d7bf(0.3,0.3,0.3))),_0x2ec3ed['needsUpdate']=!0x0;}}),Array['isArray'](_0x49aacc['material'])?_0x49aacc['material']=_0x53c623:0x1===_0x53c623['length']&&(_0x49aacc['material']=_0x53c623[0x0]);}});}class _t{static async['processIncludes'](_0x5dbdf5,_0x1df829=null,_0x5dee1b=null){const _0x30660a=new DOMParser(),_0x5c3afa=_0x30660a['parseFromString'](_0x5dbdf5,'text/xml');if(_0x5c3afa['querySelector']('parsererror'))return _0x5dbdf5;const _0x25f986=_0x5c3afa['querySelectorAll']('include');if(0x0===_0x25f986['length'])return _0x5dbdf5;for(const _0x23f26d of _0x25f986){const _0x27457e=_0x23f26d['getAttribute']('file');if(!_0x27457e){_0x23f26d['remove']();continue;}let _0x1417e1=null;if(_0x1df829){const _0x187a8c=[_0x27457e,_0x5dee1b?_0x5dee1b+'/'+_0x27457e:_0x27457e,_0x27457e['startsWith']('/')?_0x27457e:'/'+_0x27457e];for(const _0x2abb6 of _0x187a8c){if(_0x1df829['has'](_0x2abb6)){const _0x303e8e=_0x1df829['get'](_0x2abb6);try{_0x1417e1=await _0x303e8e['text']();break;}catch(_0x3652df){}}for(const [_0x123118,_0x419477]of _0x1df829)if(_0x123118['toLowerCase']()===_0x2abb6['toLowerCase']())try{_0x1417e1=await _0x419477['text']();break;}catch(_0x30bee6){}if(_0x1417e1)break;}}if(!_0x1417e1){_0x23f26d['remove']();continue;}const _0x57dcee=_0x30660a['parseFromString'](_0x1417e1,'text/xml');if(_0x57dcee['querySelector']('parsererror')){_0x23f26d['remove']();continue;}const _0x2a168f=_0x57dcee['querySelector']('mujoco');if(!_0x2a168f){_0x23f26d['remove']();continue;}const _0x465993=Array['from'](_0x2a168f['childNodes']);for(const _0x612e07 of _0x465993){if(_0x612e07['nodeType']===Node['TEXT_NODE']||_0x612e07['nodeType']===Node['COMMENT_NODE']||_0x612e07['nodeType']===Node['PROCESSING_INSTRUCTION_NODE'])continue;const _0x117b56=_0x5c3afa['importNode'](_0x612e07,!0x0);_0x23f26d['parentNode']['insertBefore'](_0x117b56,_0x23f26d);}_0x23f26d['remove']();}return new XMLSerializer()['serializeToString'](_0x5c3afa);}static async['parse'](_0x37096d,_0x500f8e=null,_0x39cc02=null){const _0x5bd45f=await this['processIncludes'](_0x37096d,_0x500f8e,_0x39cc02),_0x281aac=new DOMParser()['parseFromString'](_0x5bd45f,'text/xml'),_0x1dd527=_0x281aac['querySelector']('parsererror');if(_0x1dd527)throw new Error('MJCF\x20XML\x20parsing\x20failed:\x20'+_0x1dd527['textContent']);const _0x42f958=new Qe();_0x42f958['name']='mujoco_model';const {classDefaults:_0x39d000,rootDefaults:_0x369c9d}=this['parseDefaults'](_0x281aac),_0x25fb99=this['parseAssets'](_0x281aac,_0x39d000,_0x369c9d),_0x43bdf0=this['parseMaterials'](_0x281aac),_0x410e47=_0x281aac['querySelector']('worldbody');if(!_0x410e47)throw new Error('MJCF\x20file\x20missing\x20worldbody\x20element');const _0x54330a=_0x410e47['querySelectorAll'](':scope\x20>\x20geom');if(_0x54330a['length']>0x0){const _0x48c5ae=new Ke('worldbody');_0x48c5ae['userData']['isWorldbody']=!0x0;const _0x34fcec=new Set();_0x54330a['forEach']((_0x510842,_0x3a234c)=>{const _0x44cdbf=this['getGeomInheritedProperties'](_0x510842,_0x39d000,_0x369c9d),_0x9bd0e2=_0x510842['getAttribute']('group'),_0x480ae0=null!==_0x9bd0e2?parseInt(_0x9bd0e2):null!==_0x44cdbf['group']?_0x44cdbf['group']:0x0,_0x50f0c4=(_0x510842['getAttribute']('name')||'')['toLowerCase'](),_0x4ced11=_0x510842['hasAttribute']('rgba')||null!==_0x44cdbf['rgba'],_0x31c8a7=_0x510842['getAttribute']('mesh'),_0x153b4a=_0x510842['getAttribute']('contype'),_0x24cc9f=_0x510842['getAttribute']('conaffinity'),_0x42a4d1=_0x510842['getAttribute']('density'),_0x4d5f9a=null!==_0x153b4a?parseInt(_0x153b4a):null!==_0x44cdbf['contype']?_0x44cdbf['contype']:null,_0x327288=null!==_0x24cc9f?parseInt(_0x24cc9f):null!==_0x44cdbf['conaffinity']?_0x44cdbf['conaffinity']:null;null!==_0x42a4d1?parseFloat(_0x42a4d1):null!==_0x44cdbf['density']&&_0x44cdbf['density'];let _0x514657=!0x1;if(_0x31c8a7)if(0x0===_0x4d5f9a&&0x0===_0x327288)_0x514657=!0x1;else if(0x3===_0x480ae0)_0x514657=!0x0;else if(0x2===_0x480ae0||0x1===_0x480ae0)_0x514657=!0x1;else if(_0x50f0c4['includes']('collision'))_0x514657=!0x0;else if(_0x34fcec['has'](_0x31c8a7)){if(_0x4ced11||0x0===_0x4d5f9a&&0x0===_0x327288)return;_0x514657=!0x0;}else _0x514657=!0x1;else _0x514657=!0x0;const _0x3e5079=this['parseGeom'](_0x510842,_0x25fb99);if(_0x3e5079)if(_0x514657){const _0x49103f=new tt();_0x49103f['geometry']=_0x3e5079,_0x49103f['name']=_0x510842['getAttribute']('name')||'worldbody_collision_'+_0x3a234c,_0x49103f['origin']=this['parseOrigin'](_0x510842),_0x48c5ae['collisions']['push'](_0x49103f);}else{_0x31c8a7&&_0x34fcec['add'](_0x31c8a7);const _0x2bc917=new et();_0x2bc917['geometry']=_0x3e5079,_0x2bc917['name']=_0x510842['getAttribute']('name')||'worldbody_geom_'+_0x3a234c,_0x2bc917['origin']=this['parseOrigin'](_0x510842);let _0x2b19a6=null;if(_0x510842['hasAttribute']('rgba')){const _0x16524f=_0x510842['getAttribute']('rgba')['split']('\x20')['map'](parseFloat);_0x16524f['length']>=0x3&&(_0x2b19a6={'r':_0x16524f[0x0],'g':_0x16524f[0x1],'b':_0x16524f[0x2],'a':_0x16524f['length']>=0x4?_0x16524f[0x3]:0x1});}else _0x44cdbf['rgba']&&(_0x2b19a6=_0x44cdbf['rgba']);_0x2bc917['userData']={'group':_0x480ae0,'hasRgba':_0x4ced11||!!_0x2b19a6,'rgba':_0x2b19a6,'meshRef':_0x31c8a7,'geomType':_0x510842['getAttribute']('type')||(_0x31c8a7?'mesh':'box')},_0x48c5ae['visuals']['push'](_0x2bc917);}}),(_0x48c5ae['visuals']['length']>0x0||_0x48c5ae['collisions']['length']>0x0)&&_0x42f958['addLink'](_0x48c5ae);}const _0x7d2c54=new Map();this['parseBodies'](_0x410e47,null,_0x7d2c54,_0x42f958,null,_0x25fb99,null,_0x43bdf0,_0x39d000,_0x369c9d),this['parseJoints'](_0x410e47,_0x7d2c54,_0x42f958,null,_0x39d000),this['parseEquality'](_0x281aac,_0x42f958);if(_0x42f958['links']['get']('worldbody'))_0x42f958['rootLink']='worldbody';else{const _0x2a614c=Array['from'](_0x42f958['links']['keys']())['filter'](_0x5c0b01=>!Array['from'](_0x42f958['joints']['values']())['some'](_0xa3bc2c=>_0xa3bc2c['child']===_0x5c0b01));_0x2a614c['length']>0x0?_0x42f958['rootLink']=_0x2a614c[0x0]:_0x42f958['links']['size']>0x0&&(_0x42f958['rootLink']=Array['from'](_0x42f958['links']['keys']())[0x0]);}return await this['createThreeObject'](_0x42f958,_0x500f8e,_0x25fb99),_0x42f958;}static['parseAssets'](_0x58b177,_0x2d20f9=null,_0x349d75=null){const _0x1d7110=new Map(),_0x5688af=_0x58b177['querySelector']('asset');if(!_0x5688af)return _0x1d7110;return _0x5688af['querySelectorAll']('mesh')['forEach']((_0x246699,_0x540f8a)=>{let _0x4d0737=_0x246699['getAttribute']('name');const _0x18ca7b=_0x246699['getAttribute']('file'),_0x423b17=_0x246699['getAttribute']('vertex'),_0x131ff3=_0x246699['getAttribute']('scale'),_0x2fa0c9=_0x246699['getAttribute']('class');let _0x4b2999=[0x1,0x1,0x1];if(_0x131ff3){const _0x113168=_0x131ff3['trim']()['split'](/\s+/)['map'](parseFloat);0x1===_0x113168['length']?_0x4b2999=[_0x113168[0x0],_0x113168[0x0],_0x113168[0x0]]:0x3===_0x113168['length']&&(_0x4b2999=_0x113168);}else if(_0x2fa0c9&&_0x2d20f9&&_0x2d20f9['has'](_0x2fa0c9)){const _0x35c96f=_0x2d20f9['get'](_0x2fa0c9);_0x35c96f['mesh']&&_0x35c96f['mesh']['scale']&&(_0x4b2999=_0x35c96f['mesh']['scale']);}else _0x349d75&&_0x349d75['mesh']&&_0x349d75['mesh']['scale']&&(_0x4b2999=_0x349d75['mesh']['scale']);if(_0x423b17){_0x4d0737||(_0x4d0737='inline_mesh_'+_0x540f8a);const _0x36db00=_0x423b17['trim']()['split'](/\s+/)['map'](parseFloat),_0x53af35=new Float32Array(_0x36db00);_0x1d7110['set'](_0x4d0737,{'type':'vertex','vertices':_0x53af35,'scale':_0x4b2999});}else{if(!_0x18ca7b)return;if(!_0x4d0737){_0x4d0737=_0x18ca7b['split']('/')['pop']()['split']('\x5c')['pop']()['split']('.')[0x0];}_0x1d7110['set'](_0x4d0737,{'type':'file','path':_0x18ca7b,'scale':_0x4b2999});}}),_0x1d7110;}static['parseMaterials'](_0x15aa3e){const _0x4b114d=new Map(),_0x1e496e=_0x15aa3e['querySelector']('asset');if(!_0x1e496e)return _0x4b114d;return _0x1e496e['querySelectorAll']('material')['forEach'](_0x6850f9=>{const _0x3770de=_0x6850f9['getAttribute']('name');if(!_0x3770de)return;const _0x23879b={},_0x912121=_0x6850f9['getAttribute']('rgba');if(_0x912121){const _0x55b8cf=_0x912121['split']('\x20')['map'](parseFloat);_0x55b8cf['length']>=0x3&&(_0x23879b['rgba']={'r':_0x55b8cf[0x0],'g':_0x55b8cf[0x1],'b':_0x55b8cf[0x2],'a':_0x55b8cf['length']>=0x4?_0x55b8cf[0x3]:0x1});}const _0x387023=_0x6850f9['getAttribute']('specular');if(_0x387023){const _0x3ffc79=_0x387023['split']('\x20')['map'](parseFloat);_0x23879b['specular']=_0x3ffc79[0x0]||0.5;}const _0x4450f1=_0x6850f9['getAttribute']('shininess');_0x4450f1&&(_0x23879b['shininess']=parseFloat(_0x4450f1)),_0x4b114d['set'](_0x3770de,_0x23879b);}),_0x4b114d;}static['parseDefaults'](_0xa584cd){const _0x1c14d0=new Map();let _0xc59dc3={};const _0x15edc7=(_0xd3bfd,_0xb4be22={})=>{const _0x3efe91=_0xd3bfd['getAttribute']('class'),_0x55a213=JSON['parse'](JSON['stringify'](_0xb4be22||{})),_0x573973=_0xd3bfd['querySelector'](':scope\x20>\x20mesh');if(_0x573973){_0x55a213['mesh']||(_0x55a213['mesh']={});const _0x55940a=_0x573973['getAttribute']('scale');if(_0x55940a){const _0x11280a=_0x55940a['trim']()['split'](/\s+/)['map'](parseFloat);0x1===_0x11280a['length']?_0x55a213['mesh']['scale']=[_0x11280a[0x0],_0x11280a[0x0],_0x11280a[0x0]]:0x3===_0x11280a['length']&&(_0x55a213['mesh']['scale']=_0x11280a);}}const _0x354262=_0xd3bfd['querySelector'](':scope\x20>\x20joint');if(_0x354262){_0x55a213['joint']||(_0x55a213['joint']={});const _0x48e779=_0x354262['getAttribute']('axis');if(_0x48e779){const _0x5aa154=_0x48e779['split']('\x20')['map'](parseFloat);_0x55a213['joint']['axis']=[_0x5aa154[0x0]||0x0,_0x5aa154[0x1]||0x0,_0x5aa154[0x2]||0x0];}const _0x29b295=_0x354262['getAttribute']('range');if(_0x29b295){const _0x2d252c=_0x29b295['split']('\x20')['map'](parseFloat);_0x55a213['joint']['range']=_0x2d252c;}const _0x2dbc44=_0x354262['getAttribute']('damping');_0x2dbc44&&(_0x55a213['joint']['damping']=parseFloat(_0x2dbc44));}const _0x10a2e8=_0xd3bfd['querySelector'](':scope\x20>\x20geom');if(_0x10a2e8){_0x55a213['geom']||(_0x55a213['geom']={});const _0x2c1b32=_0x10a2e8['getAttribute']('contype');null!==_0x2c1b32&&(_0x55a213['geom']['contype']=parseInt(_0x2c1b32));const _0x33d510=_0x10a2e8['getAttribute']('conaffinity');null!==_0x33d510&&(_0x55a213['geom']['conaffinity']=parseInt(_0x33d510));const _0x3f1f1e=_0x10a2e8['getAttribute']('group');null!==_0x3f1f1e&&(_0x55a213['geom']['group']=parseInt(_0x3f1f1e));const _0xe32f97=_0x10a2e8['getAttribute']('rgba');if(_0xe32f97){const _0x388027=_0xe32f97['split']('\x20')['map'](parseFloat);_0x388027['length']>=0x3&&(_0x55a213['geom']['rgba']={'r':_0x388027[0x0],'g':_0x388027[0x1],'b':_0x388027[0x2],'a':_0x388027['length']>=0x4?_0x388027[0x3]:0x1});}const _0xec6b49=_0x10a2e8['getAttribute']('material');_0xec6b49&&(_0x55a213['geom']['material']=_0xec6b49);const _0x444c29=_0x10a2e8['getAttribute']('type');_0x444c29&&(_0x55a213['geom']['type']=_0x444c29);const _0xc19d84=_0x10a2e8['getAttribute']('density');null!==_0xc19d84&&(_0x55a213['geom']['density']=parseFloat(_0xc19d84));}_0x3efe91?_0x1c14d0['set'](_0x3efe91,_0x55a213):Object['assign'](_0xc59dc3,_0x55a213);_0xd3bfd['querySelectorAll'](':scope\x20>\x20default')['forEach'](_0x4d13fa=>{_0x15edc7(_0x4d13fa,_0x55a213);});};return _0xa584cd['querySelectorAll']('mujoco\x20>\x20default')['forEach'](_0x3495a3=>{_0x15edc7(_0x3495a3);}),{'classDefaults':_0x1c14d0,'rootDefaults':_0xc59dc3};}static['getGeomInheritedProperties'](_0x1981a7,_0x40dab9,_0x362d74){const _0x4bbfa3={'contype':null,'conaffinity':null,'group':null,'rgba':null,'material':null,'type':null,'density':null};_0x362d74&&_0x362d74['geom']&&Object['assign'](_0x4bbfa3,_0x362d74['geom']);const _0x3de9d5=_0x1981a7['getAttribute']('class');if(_0x3de9d5&&_0x40dab9&&_0x40dab9['has'](_0x3de9d5)){const _0x3d8766=_0x40dab9['get'](_0x3de9d5);_0x3d8766['geom']&&Object['assign'](_0x4bbfa3,_0x3d8766['geom']);}return _0x4bbfa3;}static['parseBodies'](_0x1d3398,_0x14032a,_0x99db1d,_0x5c06b2,_0x53bccf=null,_0x2b522c=null,_0x320dd4=null,_0x204928=null,_0x41a2ed=null,_0x351c75=null){_0x320dd4||(_0x320dd4={'totalGeoms':0x0,'skippedCollisionGeoms':0x0,'visualGeoms':0x0});_0x1d3398['querySelectorAll'](':scope\x20>\x20body')['forEach'](_0x3d89fd=>{const _0x52217b=_0x3d89fd['getAttribute']('name')||'body_'+_0x99db1d['size'],_0x2409da=new Ke(_0x52217b);_0x14032a&&(_0x2409da['userData']['parentName']=_0x14032a);const _0x555ff5=this['parseOrigin'](_0x3d89fd);_0x2409da['userData']['bodyOrigin']=_0x555ff5;const _0x5059e3=_0x3d89fd['querySelectorAll'](':scope\x20>\x20geom'),_0x26c33b=new Set();_0x5059e3['forEach']((_0x5d5c03,_0x6b70a0)=>{_0x320dd4['totalGeoms']++;const _0x2e8e7f=this['getGeomInheritedProperties'](_0x5d5c03,_0x41a2ed,_0x351c75),_0x15fd03=_0x5d5c03['getAttribute']('group'),_0x26f812=null!==_0x15fd03?parseInt(_0x15fd03):null!==_0x2e8e7f['group']?_0x2e8e7f['group']:0x0,_0x4909c=(_0x5d5c03['getAttribute']('name')||'')['toLowerCase'](),_0x348bad=_0x5d5c03['hasAttribute']('rgba')||null!==_0x2e8e7f['rgba'],_0x3d8550=_0x5d5c03['getAttribute']('mesh'),_0x3b3159=_0x5d5c03['getAttribute']('type')||_0x2e8e7f['type']||(_0x3d8550?'mesh':'box'),_0x3031cf=_0x5d5c03['getAttribute']('contype'),_0x16c603=_0x5d5c03['getAttribute']('conaffinity'),_0x494190=_0x5d5c03['getAttribute']('density'),_0x492e42=null!==_0x3031cf?parseInt(_0x3031cf):null!==_0x2e8e7f['contype']?_0x2e8e7f['contype']:null,_0x23c9fc=null!==_0x16c603?parseInt(_0x16c603):null!==_0x2e8e7f['conaffinity']?_0x2e8e7f['conaffinity']:null;null!==_0x494190?parseFloat(_0x494190):null!==_0x2e8e7f['density']&&_0x2e8e7f['density'];let _0x376304=!0x1;if(_0x3d8550)if(0x0===_0x492e42&&0x0===_0x23c9fc)_0x376304=!0x1;else if(0x3===_0x26f812)_0x376304=!0x0;else if(0x2===_0x26f812||0x1===_0x26f812)_0x376304=!0x1;else if(_0x4909c['includes']('collision'))_0x376304=!0x0;else if(_0x26c33b['has'](_0x3d8550)){if(_0x348bad||0x0===_0x492e42&&0x0===_0x23c9fc)return void _0x320dd4['skippedCollisionGeoms']++;_0x376304=!0x0;}else _0x376304=!0x1;else _0x376304=!0x0;const _0x42a615=this['parseGeom'](_0x5d5c03,_0x2b522c);if(_0x42a615)if(_0x376304){const _0x5564d5=new tt();_0x5564d5['geometry']=_0x42a615,_0x5564d5['name']=_0x5d5c03['getAttribute']('name')||'collision_'+_0x6b70a0,_0x5564d5['origin']=this['parseOrigin'](_0x5d5c03),_0x2409da['collisions']['push'](_0x5564d5);}else{_0x320dd4['visualGeoms']++,_0x3d8550&&_0x26c33b['add'](_0x3d8550);const _0x13d184=new et();_0x13d184['geometry']=_0x42a615,_0x13d184['name']=_0x5d5c03['getAttribute']('name')||'geom_'+_0x6b70a0,_0x13d184['origin']=this['parseOrigin'](_0x5d5c03);let _0xe8926f=null,_0x365149=null;if(_0x5d5c03['hasAttribute']('rgba')){const _0x3882a9=_0x5d5c03['getAttribute']('rgba')['split']('\x20')['map'](parseFloat);_0x3882a9['length']>=0x3&&(_0xe8926f={'r':_0x3882a9[0x0],'g':_0x3882a9[0x1],'b':_0x3882a9[0x2],'a':_0x3882a9['length']>=0x4?_0x3882a9[0x3]:0x1});}if(!_0xe8926f&&_0x2e8e7f['rgba']&&(_0xe8926f=_0x2e8e7f['rgba']),!_0xe8926f&&_0x204928&&(_0x365149=_0x5d5c03['getAttribute']('material')||_0x2e8e7f['material'],_0x365149&&_0x204928['has'](_0x365149))){const _0x57e472=_0x204928['get'](_0x365149);_0x57e472['rgba']&&(_0xe8926f=_0x57e472['rgba']);}_0x13d184['userData']={'group':_0x26f812,'hasRgba':_0x348bad||!!_0xe8926f,'rgba':_0xe8926f,'materialName':_0x365149,'meshRef':_0x3d8550,'geomType':_0x3b3159},_0x2409da['visuals']['push'](_0x13d184);}});const _0x484b12=_0x3d89fd['querySelector'](':scope\x20>\x20inertial');_0x484b12&&(_0x2409da['inertial']=this['parseInertial'](_0x484b12)),_0x5c06b2['addLink'](_0x2409da),_0x99db1d['set'](_0x52217b,{'link':_0x2409da,'element':_0x3d89fd,'parentName':_0x14032a}),this['parseBodies'](_0x3d89fd,_0x52217b,_0x99db1d,_0x5c06b2,_0x2409da,_0x2b522c,_0x320dd4,_0x204928,_0x41a2ed,_0x351c75);});}static['parseGeom'](_0xbe588b,_0x483855=null){const _0x3489c3=_0xbe588b['getAttribute']('mesh');let _0x2673e5=_0xbe588b['getAttribute']('type');_0x3489c3&&!_0x2673e5&&(_0x2673e5='mesh'),_0x2673e5||(_0x2673e5='sphere');const _0x42017d=new nt(_0x2673e5);switch(_0x2673e5){case'box':const _0x405903=_0xbe588b['getAttribute']('size');if(_0x405903){const _0x3404c2=_0x405903['split']('\x20')['map'](parseFloat);_0x42017d['size']=0x1===_0x3404c2['length']?{'x':0x2*_0x3404c2[0x0],'y':0x2*_0x3404c2[0x0],'z':0x2*_0x3404c2[0x0]}:{'x':0x2*(_0x3404c2[0x0]||0.05),'y':0x2*(_0x3404c2[0x1]||0.05),'z':0x2*(_0x3404c2[0x2]||0.05)};}else _0x42017d['size']={'x':0.1,'y':0.1,'z':0.1};break;case'sphere':const _0x1eec9b=parseFloat(_0xbe588b['getAttribute']('size')||'0.1');_0x42017d['size']={'radius':_0x1eec9b};break;case'cylinder':case'capsule':const _0x49ee22=_0xbe588b['getAttribute']('fromto'),_0x1b52c0=_0xbe588b['getAttribute']('size');if(_0x49ee22){const _0x5b4388=_0x49ee22['split']('\x20')['map'](parseFloat);if(_0x5b4388['length']>=0x6){const _0xa63fdc=new _0x220444(_0x5b4388[0x0],_0x5b4388[0x1],_0x5b4388[0x2]),_0x4170b9=new _0x220444(_0x5b4388[0x3],_0x5b4388[0x4],_0x5b4388[0x5]),_0x37a6a7=new _0x220444()['addVectors'](_0xa63fdc,_0x4170b9)['multiplyScalar'](0.5),_0x495bbb=_0xa63fdc['distanceTo'](_0x4170b9),_0x15637c=new _0x220444()['subVectors'](_0x4170b9,_0xa63fdc)['normalize'](),_0x4eef45=new _0x220444(0x0,0x1,0x0),_0x4ba688=new _0x3c39ce()['setFromUnitVectors'](_0x4eef45,_0x15637c),_0x2db7c5=new _0x416b03()['setFromQuaternion'](_0x4ba688);_0x42017d['fromto']={'p1':[_0x5b4388[0x0],_0x5b4388[0x1],_0x5b4388[0x2]],'p2':[_0x5b4388[0x3],_0x5b4388[0x4],_0x5b4388[0x5]],'center':[_0x37a6a7['x'],_0x37a6a7['y'],_0x37a6a7['z']],'height':_0x495bbb,'rpy':[_0x2db7c5['x'],_0x2db7c5['y'],_0x2db7c5['z']]};const _0xb2a589=parseFloat(_0x1b52c0||'0.01');_0x42017d['size']={'radius':_0xb2a589,'height':_0x495bbb};}}else if(_0x1b52c0){const _0x3620eb=_0x1b52c0['split']('\x20')['map'](parseFloat);_0x42017d['size']={'radius':_0x3620eb[0x0]||0.1,'height':0x2*(_0x3620eb[0x1]||0.1)};}else _0x42017d['size']={'radius':0.01,'height':0.1};break;case'mesh':let _0x4f4aed=_0xbe588b['getAttribute']('mesh');if(_0x483855&&_0x483855['has'](_0x4f4aed)){const _0x468398=_0x483855['get'](_0x4f4aed);'file'===_0x468398['type']?(_0x42017d['filename']=_0x468398['path'],_0x468398['scale']&&(_0x42017d['meshScale']=_0x468398['scale'])):'vertex'===_0x468398['type']&&(_0x42017d['inlineVertices']=_0x468398['vertices'],_0x42017d['inlineScale']=_0x468398['scale']);}else _0x42017d['filename']=_0x4f4aed,_0x483855&&_0x483855['size'];_0x42017d['size']=null;}return _0x42017d;}static['parseOrigin'](_0x577455){const _0x2725a5={'xyz':[0x0,0x0,0x0],'rpy':[0x0,0x0,0x0]},_0xeaab09=_0x577455['getAttribute']('pos');if(_0xeaab09){const _0x3da935=_0xeaab09['split']('\x20')['map'](parseFloat);_0x2725a5['xyz']=[_0x3da935[0x0]||0x0,_0x3da935[0x1]||0x0,_0x3da935[0x2]||0x0];}const _0x4ce76e=_0x577455['getAttribute']('quat');if(_0x4ce76e){const _0x32bca8=_0x4ce76e['split']('\x20')['map'](parseFloat),_0x3a7944=_0x32bca8[0x0],_0x5cf2d6=_0x32bca8[0x1],_0x3495d1=_0x32bca8[0x2],_0x4c4477=_0x32bca8[0x3];_0x2725a5['quat']={'w':_0x3a7944,'x':_0x5cf2d6,'y':_0x3495d1,'z':_0x4c4477},_0x2725a5['rpy']=this['quaternionToEuler'](_0x3a7944,_0x5cf2d6,_0x3495d1,_0x4c4477);}else{const _0x25cd0c=_0x577455['getAttribute']('euler');if(_0x25cd0c){const _0x74dcf7=_0x25cd0c['split']('\x20')['map'](parseFloat);_0x2725a5['rpy']=[_0x74dcf7[0x0]||0x0,_0x74dcf7[0x1]||0x0,_0x74dcf7[0x2]||0x0];}}return _0x2725a5;}static['quaternionToEuler'](_0x937495,_0x14546c,_0x1dbac5,_0xb4ede1){const _0x40c91b=Math['sqrt'](_0x937495*_0x937495+_0x14546c*_0x14546c+_0x1dbac5*_0x1dbac5+_0xb4ede1*_0xb4ede1);_0x40c91b>0x0&&(_0x937495/=_0x40c91b,_0x14546c/=_0x40c91b,_0x1dbac5/=_0x40c91b,_0xb4ede1/=_0x40c91b);const _0x1e8c86=0x2*(_0x937495*_0x14546c+_0x1dbac5*_0xb4ede1),_0x1ce20d=0x1-0x2*(_0x14546c*_0x14546c+_0x1dbac5*_0x1dbac5),_0x414f7c=0x2*(_0x937495*_0x1dbac5-_0xb4ede1*_0x14546c),_0x25aabe=0x2*(_0x937495*_0xb4ede1+_0x14546c*_0x1dbac5),_0x585f1e=0x1-0x2*(_0x1dbac5*_0x1dbac5+_0xb4ede1*_0xb4ede1);return[Math['atan2'](_0x1e8c86,_0x1ce20d),Math['abs'](_0x414f7c)>=0x1?Math['sign'](_0x414f7c)*Math['PI']/0x2:Math['asin'](_0x414f7c),Math['atan2'](_0x25aabe,_0x585f1e)];}static['parseInertial'](_0xa3edbb){const _0x3a4574=new it(),_0x441916=_0xa3edbb['getAttribute']('mass');_0x441916&&(_0x3a4574['mass']=parseFloat(_0x441916));const _0x468dab=this['parseOrigin'](_0xa3edbb);_0x3a4574['origin']=_0x468dab;const _0x3df0ed=_0xa3edbb['getAttribute']('diaginertia'),_0xcd4da9=_0xa3edbb['getAttribute']('fullinertia');let _0x23bf6d=0x0,_0x532181=0x0,_0x4a785c=0x0,_0x4752bd=0x0,_0x37becc=0x0,_0x40ae8a=0x0;if(_0x3df0ed){const _0x239b20=_0x3df0ed['split']('\x20')['map'](parseFloat);_0x23bf6d=_0x239b20[0x0]||0x0,_0x532181=_0x239b20[0x1]||0x0,_0x4a785c=_0x239b20[0x2]||0x0;}if(_0xcd4da9){const _0x1f4f1c=_0xcd4da9['split']('\x20')['map'](parseFloat);_0x23bf6d=_0x1f4f1c[0x0]||0x0,_0x532181=_0x1f4f1c[0x1]||0x0,_0x4a785c=_0x1f4f1c[0x2]||0x0,_0x4752bd=_0x1f4f1c[0x3]||0x0,_0x37becc=_0x1f4f1c[0x4]||0x0,_0x40ae8a=_0x1f4f1c[0x5]||0x0;}if(_0x3a4574['diagonalInertia']={'ixx':_0x23bf6d,'iyy':_0x532181,'izz':_0x4a785c},_0x468dab['quat']){const _0x27eb5f=this['rotateInertiaTensor'](_0x23bf6d,_0x532181,_0x4a785c,_0x4752bd,_0x37becc,_0x40ae8a,_0x468dab['quat']);_0x23bf6d=_0x27eb5f['ixx'],_0x532181=_0x27eb5f['iyy'],_0x4a785c=_0x27eb5f['izz'],_0x4752bd=_0x27eb5f['ixy'],_0x37becc=_0x27eb5f['ixz'],_0x40ae8a=_0x27eb5f['iyz'];}const _0x341094=this['rotateInertiaAroundAxis'](_0x23bf6d,_0x532181,_0x4a785c,_0x4752bd,_0x37becc,_0x40ae8a,'Y',0x5a),_0x2b959c=this['rotateInertiaAroundAxis'](_0x341094['ixx'],_0x341094['iyy'],_0x341094['izz'],_0x341094['ixy'],_0x341094['ixz'],_0x341094['iyz'],'Y',0x5a);return _0x3a4574['ixx']=_0x2b959c['ixx'],_0x3a4574['iyy']=_0x2b959c['iyy'],_0x3a4574['izz']=_0x2b959c['izz'],_0x3a4574['ixy']=_0x2b959c['ixy'],_0x3a4574['ixz']=_0x2b959c['ixz'],_0x3a4574['iyz']=_0x2b959c['iyz'],_0x3a4574;}static['rotateInertiaAroundAxis'](_0x340616,_0x148569,_0x51d636,_0x5c8718,_0x4d944b,_0xb073d8,_0x14c8d1,_0x126a57){const _0x579f36=_0x126a57*Math['PI']/0xb4,_0x5d31bf=Math['cos'](_0x579f36),_0x279fd3=Math['sin'](_0x579f36);let _0x2de454;'X'===_0x14c8d1?_0x2de454=[[0x1,0x0,0x0],[0x0,_0x5d31bf,-_0x279fd3],[0x0,_0x279fd3,_0x5d31bf]]:'Y'===_0x14c8d1?_0x2de454=[[_0x5d31bf,0x0,_0x279fd3],[0x0,0x1,0x0],[-_0x279fd3,0x0,_0x5d31bf]]:'Z'===_0x14c8d1&&(_0x2de454=[[_0x5d31bf,-_0x279fd3,0x0],[_0x279fd3,_0x5d31bf,0x0],[0x0,0x0,0x1]]);const _0x3eabfc=[[_0x340616,_0x5c8718,_0x4d944b],[_0x5c8718,_0x148569,_0xb073d8],[_0x4d944b,_0xb073d8,_0x51d636]],_0x3c33e5=[[0x0,0x0,0x0],[0x0,0x0,0x0],[0x0,0x0,0x0]];for(let _0x4fb586=0x0;_0x4fb586<0x3;_0x4fb586++)for(let _0x7d2b5=0x0;_0x7d2b5<0x3;_0x7d2b5++)for(let _0x3aa8a2=0x0;_0x3aa8a2<0x3;_0x3aa8a2++)_0x3c33e5[_0x4fb586][_0x7d2b5]+=_0x2de454[_0x4fb586][_0x3aa8a2]*_0x3eabfc[_0x3aa8a2][_0x7d2b5];const _0x57a391=[[0x0,0x0,0x0],[0x0,0x0,0x0],[0x0,0x0,0x0]];for(let _0xfc7ad6=0x0;_0xfc7ad6<0x3;_0xfc7ad6++)for(let _0x34e4d0=0x0;_0x34e4d0<0x3;_0x34e4d0++)for(let _0x33ca32=0x0;_0x33ca32<0x3;_0x33ca32++)_0x57a391[_0xfc7ad6][_0x34e4d0]+=_0x3c33e5[_0xfc7ad6][_0x33ca32]*_0x2de454[_0x34e4d0][_0x33ca32];return{'ixx':_0x57a391[0x0][0x0],'iyy':_0x57a391[0x1][0x1],'izz':_0x57a391[0x2][0x2],'ixy':_0x57a391[0x0][0x1],'ixz':_0x57a391[0x0][0x2],'iyz':_0x57a391[0x1][0x2]};}static['rotateInertiaTensor'](_0x47ca54,_0x1c0605,_0x532d5e,_0x5751dd,_0x1ecb32,_0x2226df,_0x17faee){const {w:_0x376900,x:_0x16bc81,y:_0x237183,z:_0x1fc608}=_0x17faee,_0xf00f59=0x1-0x2*(_0x237183*_0x237183+_0x1fc608*_0x1fc608),_0x4b3df5=0x2*(_0x16bc81*_0x237183-_0x376900*_0x1fc608),_0x448ea0=0x2*(_0x16bc81*_0x1fc608+_0x376900*_0x237183),_0x2e073d=0x2*(_0x16bc81*_0x237183+_0x376900*_0x1fc608),_0x2a0721=0x1-0x2*(_0x16bc81*_0x16bc81+_0x1fc608*_0x1fc608),_0x4a7c81=0x2*(_0x237183*_0x1fc608-_0x376900*_0x16bc81),_0x18a856=0x2*(_0x16bc81*_0x1fc608-_0x376900*_0x237183),_0x517086=0x2*(_0x237183*_0x1fc608+_0x376900*_0x16bc81),_0xe6f922=0x1-0x2*(_0x16bc81*_0x16bc81+_0x237183*_0x237183),_0x185517=[[_0x47ca54,_0x5751dd,_0x1ecb32],[_0x5751dd,_0x1c0605,_0x2226df],[_0x1ecb32,_0x2226df,_0x532d5e]],_0x41d224=[[0x0,0x0,0x0],[0x0,0x0,0x0],[0x0,0x0,0x0]];_0x41d224[0x0][0x0]=_0xf00f59*_0x185517[0x0][0x0]+_0x4b3df5*_0x185517[0x1][0x0]+_0x448ea0*_0x185517[0x2][0x0],_0x41d224[0x0][0x1]=_0xf00f59*_0x185517[0x0][0x1]+_0x4b3df5*_0x185517[0x1][0x1]+_0x448ea0*_0x185517[0x2][0x1],_0x41d224[0x0][0x2]=_0xf00f59*_0x185517[0x0][0x2]+_0x4b3df5*_0x185517[0x1][0x2]+_0x448ea0*_0x185517[0x2][0x2],_0x41d224[0x1][0x0]=_0x2e073d*_0x185517[0x0][0x0]+_0x2a0721*_0x185517[0x1][0x0]+_0x4a7c81*_0x185517[0x2][0x0],_0x41d224[0x1][0x1]=_0x2e073d*_0x185517[0x0][0x1]+_0x2a0721*_0x185517[0x1][0x1]+_0x4a7c81*_0x185517[0x2][0x1],_0x41d224[0x1][0x2]=_0x2e073d*_0x185517[0x0][0x2]+_0x2a0721*_0x185517[0x1][0x2]+_0x4a7c81*_0x185517[0x2][0x2],_0x41d224[0x2][0x0]=_0x18a856*_0x185517[0x0][0x0]+_0x517086*_0x185517[0x1][0x0]+_0xe6f922*_0x185517[0x2][0x0],_0x41d224[0x2][0x1]=_0x18a856*_0x185517[0x0][0x1]+_0x517086*_0x185517[0x1][0x1]+_0xe6f922*_0x185517[0x2][0x1],_0x41d224[0x2][0x2]=_0x18a856*_0x185517[0x0][0x2]+_0x517086*_0x185517[0x1][0x2]+_0xe6f922*_0x185517[0x2][0x2];return{'ixx':_0x41d224[0x0][0x0]*_0xf00f59+_0x41d224[0x0][0x1]*_0x4b3df5+_0x41d224[0x0][0x2]*_0x448ea0,'iyy':_0x41d224[0x1][0x0]*_0x2e073d+_0x41d224[0x1][0x1]*_0x2a0721+_0x41d224[0x1][0x2]*_0x4a7c81,'izz':_0x41d224[0x2][0x0]*_0x18a856+_0x41d224[0x2][0x1]*_0x517086+_0x41d224[0x2][0x2]*_0xe6f922,'ixy':_0x41d224[0x0][0x0]*_0x2e073d+_0x41d224[0x0][0x1]*_0x2a0721+_0x41d224[0x0][0x2]*_0x4a7c81,'ixz':_0x41d224[0x0][0x0]*_0x18a856+_0x41d224[0x0][0x1]*_0x517086+_0x41d224[0x0][0x2]*_0xe6f922,'iyz':_0x41d224[0x1][0x0]*_0x18a856+_0x41d224[0x1][0x1]*_0x517086+_0x41d224[0x1][0x2]*_0xe6f922};}static['parseJoints'](_0x218d0c,_0x20690c,_0x5b8e8c,_0x409296=null,_0x220b03=null){_0x218d0c['querySelectorAll'](':scope\x20>\x20joint')['forEach'](_0x45fd0e=>{const _0x781c15=_0x45fd0e['getAttribute']('name')||'joint_'+_0x5b8e8c['joints']['size'],_0x16c0ca=_0x45fd0e['getAttribute']('type')||'hinge';let _0x126998='revolute';'slide'===_0x16c0ca?_0x126998='prismatic':'free'===_0x16c0ca?_0x126998='continuous':'ball'!==_0x16c0ca&&'hinge'!==_0x16c0ca||(_0x126998='revolute');const _0x5b68f2=new st(_0x781c15,_0x126998),_0x53f462=(['free','ball']['includes'](_0x16c0ca),_0x45fd0e['parentElement']),_0x5e6f01=_0x53f462['getAttribute']('name');_0x5b68f2['parent']=_0x409296||'worldbody',_0x5e6f01&&(_0x5b68f2['child']=_0x5e6f01);let _0x4d72fc=null;const _0x10fa23=_0x45fd0e['getAttribute']('axis');if(_0x10fa23)_0x4d72fc=_0x10fa23['split']('\x20')['map'](parseFloat);else{let _0x57f5b8=_0x45fd0e['getAttribute']('class');if(_0x57f5b8||(_0x57f5b8=_0x53f462['getAttribute']('childclass')),_0x57f5b8&&_0x220b03){const _0x349f04=_0x220b03['get'](_0x57f5b8);_0x349f04&&_0x349f04['joint']&&_0x349f04['joint']['axis']&&(_0x4d72fc=_0x349f04['joint']['axis']);}}_0x4d72fc&&(_0x5b68f2['axis']={'xyz':[_0x4d72fc[0x0]||0x0,_0x4d72fc[0x1]||0x0,_0x4d72fc[0x2]||0x0]});let _0x434fdf=null;const _0x5f0b87=_0x45fd0e['getAttribute']('range');if(_0x5f0b87)_0x434fdf=_0x5f0b87['split']('\x20')['map'](parseFloat);else{let _0x59513d=_0x45fd0e['getAttribute']('class');if(_0x59513d||(_0x59513d=_0x53f462['getAttribute']('childclass')),_0x59513d&&_0x220b03){const _0x37c901=_0x220b03['get'](_0x59513d);_0x37c901&&_0x37c901['joint']&&_0x37c901['joint']['range']&&(_0x434fdf=_0x37c901['joint']['range']);}}if(_0x434fdf&&_0x434fdf['length']>=0x2){const _0x573817=new rt();_0x573817['lower']=_0x434fdf[0x0],_0x573817['upper']=_0x434fdf[0x1],_0x5b68f2['limits']=_0x573817;}_0x5b68f2['origin']=this['parseOrigin'](_0x45fd0e),_0x5b8e8c['addJoint'](_0x5b68f2);});_0x218d0c['querySelectorAll'](':scope\x20>\x20freejoint')['forEach']((_0x1a3110,_0x4311b1)=>{const _0x21f8da=_0x1a3110['getAttribute']('name')||'freejoint_'+_0x5b8e8c['joints']['size'],_0x3006d3=new st(_0x21f8da,'continuous');_0x3006d3['type']='free';const _0x32f0fc=_0x1a3110['parentElement']['getAttribute']('name');_0x3006d3['parent']=_0x409296||'worldbody',_0x32f0fc&&(_0x3006d3['child']=_0x32f0fc),_0x3006d3['origin']=this['parseOrigin'](_0x1a3110),_0x5b8e8c['addJoint'](_0x3006d3);});const _0x196e82=_0x218d0c['querySelectorAll'](':scope\x20>\x20body'),_0x4a7dcc=_0x218d0c['getAttribute']('name');_0x196e82['forEach'](_0x5074bc=>{this['parseJoints'](_0x5074bc,_0x20690c,_0x5b8e8c,_0x4a7dcc||'worldbody',_0x220b03);});}static['parseEquality'](_0x1170a9,_0x86ac00){const _0x48e481=_0x1170a9['querySelector']('equality');if(!_0x48e481)return;_0x48e481['querySelectorAll']('connect')['forEach']((_0x35ac23,_0x1cd122)=>{const _0x47db6e=_0x35ac23['getAttribute']('name')||'connect_'+_0x1cd122,_0x518f45=new at(_0x47db6e,'connect');_0x518f45['body1']=_0x35ac23['getAttribute']('body1'),_0x518f45['body2']=_0x35ac23['getAttribute']('body2');const _0x135c8a=_0x35ac23['getAttribute']('anchor');_0x135c8a&&(_0x518f45['anchor']=_0x135c8a['trim']()['split'](/\s+/)['map'](parseFloat));const _0x33406a=_0x35ac23['getAttribute']('torquescale');_0x33406a&&(_0x518f45['torquescale']=parseFloat(_0x33406a)),_0x518f45['userData']={'body1':_0x518f45['body1'],'body2':_0x518f45['body2'],'anchor':_0x518f45['anchor']},_0x86ac00['addConstraint'](_0x518f45);});_0x48e481['querySelectorAll']('weld')['forEach']((_0x1f7e10,_0x34368c)=>{const _0x2a6e8b=_0x1f7e10['getAttribute']('name')||'weld_'+_0x34368c,_0x1e6d20=new at(_0x2a6e8b,'weld');_0x1e6d20['body1']=_0x1f7e10['getAttribute']('body1'),_0x1e6d20['body2']=_0x1f7e10['getAttribute']('body2');const _0x11bbdf=_0x1f7e10['getAttribute']('anchor');_0x11bbdf&&(_0x1e6d20['anchor']=_0x11bbdf['trim']()['split'](/\s+/)['map'](parseFloat));const _0x318aef=_0x1f7e10['getAttribute']('torquescale');_0x318aef&&(_0x1e6d20['torquescale']=parseFloat(_0x318aef)),_0x1e6d20['userData']={'body1':_0x1e6d20['body1'],'body2':_0x1e6d20['body2'],'anchor':_0x1e6d20['anchor']},_0x86ac00['addConstraint'](_0x1e6d20);});_0x48e481['querySelectorAll']('joint')['forEach']((_0x508dba,_0x188683)=>{const _0x4c4239=_0x508dba['getAttribute']('name')||'joint_constraint_'+_0x188683,_0x3c904b=new at(_0x4c4239,'joint');_0x3c904b['joint1']=_0x508dba['getAttribute']('joint1'),_0x3c904b['joint2']=_0x508dba['getAttribute']('joint2');const _0x595e2a=_0x508dba['getAttribute']('polycoef');_0x3c904b['polycoef']=_0x595e2a?_0x595e2a['trim']()['split'](/\s+/)['map'](parseFloat):[0x0,0x1],_0x3c904b['userData']={'joint1':_0x3c904b['joint1'],'joint2':_0x3c904b['joint2'],'polycoef':_0x3c904b['polycoef']},_0x86ac00['addConstraint'](_0x3c904b);});_0x48e481['querySelectorAll']('distance')['forEach']((_0x3eda5b,_0x4183df)=>{const _0x2788af=_0x3eda5b['getAttribute']('name')||'distance_'+_0x4183df,_0x38289b=new at(_0x2788af,'distance');_0x38289b['body1']=_0x3eda5b['getAttribute']('body1'),_0x38289b['body2']=_0x3eda5b['getAttribute']('body2'),_0x38289b['userData']={'body1':_0x38289b['body1'],'body2':_0x38289b['body2']},_0x86ac00['addConstraint'](_0x38289b);});}static async['createThreeObject'](_0x336a08,_0x27bd70=null,_0x25b76c=null){await xt();const _0x2208ec=new _0x135d71();_0x2208ec['name']=_0x336a08['name'];const _0x4c3ce4=new Map(),_0x2c703e=new Set();for(const [_0x52daf0,_0x1f3e0a]of _0x336a08['links'])for(const _0x4ae5c3 of _0x1f3e0a['visuals'])'mesh'===_0x4ae5c3['geometry']['type']&&_0x4ae5c3['geometry']['filename']&&_0x2c703e['add'](_0x4ae5c3['geometry']['filename']);const _0x521d54=Array['from'](_0x2c703e)['map'](_0x266dea=>this['loadMeshFile'](_0x266dea,_0x27bd70)['catch'](_0x32b757=>null)),_0x50973a=await Promise['all'](_0x521d54),_0x57a25a=new Map();let _0x2eeb86=0x0;for(const _0x3084cc of _0x2c703e){const _0x5089d8=_0x50973a[_0x2eeb86++];_0x57a25a['set'](_0x3084cc,_0x5089d8);}for(const [_0x198d71,_0x3a2a44]of _0x336a08['links']){const _0x541b10=new _0x135d71();_0x541b10['name']=_0x198d71,_0x541b10['isURDFLink']=!0x0,_0x541b10['type']='URDFLink';let _0x13c10a=0x0;for(const _0x5a6381 of _0x3a2a44['visuals']){const _0x1272c5=await this['createGeometryMesh'](_0x5a6381['geometry'],_0x27bd70,_0x57a25a);if(_0x1272c5){if(_0x5a6381['geometry']&&_0x5a6381['geometry']['fromto']){_0x1272c5['position']['set'](..._0x5a6381['geometry']['fromto']['center']);const _0x318da7=_0x5a6381['geometry']['fromto']['rpy'];_0x1272c5['rotation']['set'](_0x318da7[0x0]+_0x5a6381['origin']['rpy'][0x0],_0x318da7[0x1]+_0x5a6381['origin']['rpy'][0x1],_0x318da7[0x2]+_0x5a6381['origin']['rpy'][0x2]);}else _0x1272c5['position']['set'](..._0x5a6381['origin']['xyz']),_0x1272c5['rotation']['set'](..._0x5a6381['origin']['rpy']);if(_0x1272c5['name']=_0x5a6381['name']||'visual',_0x5a6381['userData']&&_0x5a6381['userData']['rgba']){const _0x38127b=_0x5a6381['userData']['rgba'],_0x4aa0e8=new _0x25d7bf(_0x38127b['r'],_0x38127b['g'],_0x38127b['b']);_0x1272c5['traverse'](_0x579a18=>{if(_0x579a18['isMesh']&&_0x579a18['material'])if(Array['isArray'](_0x579a18['material']))_0x579a18['material']=_0x579a18['material']['map'](_0x22ef4a=>{const _0x5586c2=_0x22ef4a['clone']();if(_0x5586c2['color']=_0x4aa0e8,_0x38127b['a']<0x1&&(_0x5586c2['transparent']=!0x0,_0x5586c2['opacity']=_0x38127b['a']),_0x5586c2['isMeshPhongMaterial']||_0x5586c2['isMeshStandardMaterial']){if(void 0x0===_0x5586c2['userData']['originalShininess'])if(_0x5586c2['userData']['originalShininess']=void 0x0!==_0x5586c2['shininess']?_0x5586c2['shininess']:0x1e,_0x5586c2['specular'])if(_0x5586c2['specular']['isColor']){const _0xeff37c=_0x5586c2['specular'];_0xeff37c['r']<0.1&&_0xeff37c['g']<0.1&&_0xeff37c['b']<0.1?_0x5586c2['userData']['originalSpecular']=null:_0x5586c2['userData']['originalSpecular']=_0xeff37c['clone']();}else'number'==typeof _0x5586c2['specular']?0x111111===_0x5586c2['specular']||_0x5586c2['specular']<0x111111?_0x5586c2['userData']['originalSpecular']=null:_0x5586c2['userData']['originalSpecular']=new _0x25d7bf(_0x5586c2['specular']):_0x5586c2['userData']['originalSpecular']=null;else _0x5586c2['userData']['originalSpecular']=null;(void 0x0===_0x5586c2['shininess']||_0x5586c2['shininess']<0x32)&&(_0x5586c2['shininess']=0x32),(!_0x5586c2['specular']||_0x5586c2['specular']['isColor']&&_0x5586c2['specular']['r']<0.2||'number'==typeof _0x5586c2['specular']&&_0x5586c2['specular']<0x333333)&&(_0x5586c2['specular']=new _0x25d7bf(0.3,0.3,0.3));}return _0x5586c2;});else if(_0x579a18['material']=_0x579a18['material']['clone'](),_0x579a18['material']['color']=_0x4aa0e8,_0x38127b['a']<0x1&&(_0x579a18['material']['transparent']=!0x0,_0x579a18['material']['opacity']=_0x38127b['a']),_0x579a18['material']['isMeshPhongMaterial']||_0x579a18['material']['isMeshStandardMaterial']){if(void 0x0===_0x579a18['material']['userData']['originalShininess'])if(_0x579a18['material']['userData']['originalShininess']=void 0x0!==_0x579a18['material']['shininess']?_0x579a18['material']['shininess']:0x1e,_0x579a18['material']['specular'])if(_0x579a18['material']['specular']['isColor']){const _0x44340f=_0x579a18['material']['specular'];_0x44340f['r']<0.1&&_0x44340f['g']<0.1&&_0x44340f['b']<0.1?_0x579a18['material']['userData']['originalSpecular']=null:_0x579a18['material']['userData']['originalSpecular']=_0x44340f['clone']();}else'number'==typeof _0x579a18['material']['specular']?0x111111===_0x579a18['material']['specular']||_0x579a18['material']['specular']<0x111111?_0x579a18['material']['userData']['originalSpecular']=null:_0x579a18['material']['userData']['originalSpecular']=new _0x25d7bf(_0x579a18['material']['specular']):_0x579a18['material']['userData']['originalSpecular']=null;else _0x579a18['material']['userData']['originalSpecular']=null;(void 0x0===_0x579a18['material']['shininess']||_0x579a18['material']['shininess']<0x32)&&(_0x579a18['material']['shininess']=0x32),(!_0x579a18['material']['specular']||_0x579a18['material']['specular']['isColor']&&_0x579a18['material']['specular']['r']<0.2||'number'==typeof _0x579a18['material']['specular']&&_0x579a18['material']['specular']<0x333333)&&(_0x579a18['material']['specular']=new _0x25d7bf(0.3,0.3,0.3));}});}_0x541b10['add'](_0x1272c5),_0x5a6381['threeObject']=_0x1272c5;}}for(const _0xcfa827 of _0x3a2a44['collisions']){const _0x44c9d0=await this['createGeometryMesh'](_0xcfa827['geometry'],_0x27bd70,_0x57a25a);if(_0x44c9d0){if(_0xcfa827['geometry']&&_0xcfa827['geometry']['fromto']){_0x44c9d0['position']['set'](..._0xcfa827['geometry']['fromto']['center']);const _0x2dbcd3=_0xcfa827['geometry']['fromto']['rpy'];_0x44c9d0['rotation']['set'](_0x2dbcd3[0x0]+_0xcfa827['origin']['rpy'][0x0],_0x2dbcd3[0x1]+_0xcfa827['origin']['rpy'][0x1],_0x2dbcd3[0x2]+_0xcfa827['origin']['rpy'][0x2]);}else _0x44c9d0['position']['set'](..._0xcfa827['origin']['xyz']),_0x44c9d0['rotation']['set'](..._0xcfa827['origin']['rpy']);_0x44c9d0['name']=_0xcfa827['name']||'collision';const _0x14e27f=new _0x135d71();_0x14e27f['name']=_0x198d71+'_collider_'+_0x13c10a,_0x14e27f['isURDFCollider']=!0x0,_0x14e27f['add'](_0x44c9d0),_0x541b10['add'](_0x14e27f),_0xcfa827['threeObject']=_0x14e27f,_0x13c10a++;}}_0x3a2a44['threeObject']=_0x541b10,_0x4c3ce4['set'](_0x198d71,_0x541b10);}const _0x42f2f7=new Map();for(const [_0x25a692,_0x5ccd2d]of _0x336a08['links'])_0x42f2f7['set'](_0x25a692,{'link':_0x5ccd2d,'parentName':_0x5ccd2d['userData']['parentName']});const _0x4b03cc=Array['from'](_0x336a08['links']['keys']())['filter'](_0x3e72c9=>!_0x42f2f7['get'](_0x3e72c9)['parentName']);function _0x38da3b(_0xa19bac,_0x519ac1){const _0x4fef79=_0x4c3ce4['get'](_0xa19bac);if(!_0x4fef79)return;_0x519ac1['add'](_0x4fef79);Array['from'](_0x336a08['joints']['values']())['filter'](_0x36803a=>_0x36803a['parent']===_0xa19bac&&_0x36803a['child'])['forEach'](_0x1c41c8=>{const _0x14366e=_0x1c41c8['child'];if(!_0x14366e)return;const _0x5b182f=_0x336a08['links']['get'](_0x14366e)['userData']['bodyOrigin']||{'xyz':[0x0,0x0,0x0],'rpy':[0x0,0x0,0x0]},_0x1a55ab=new _0x135d71();if(_0x1a55ab['name']=_0x1c41c8['name']||'joint_'+_0x14366e,_0x1a55ab['isURDFJoint']=!0x0,_0x1a55ab['type']='URDFJoint',_0x1a55ab['jointType']=_0x1c41c8['type'],_0x1c41c8['axis']&&_0x1c41c8['axis']['xyz']){const _0x1da9b2=_0x1c41c8['axis']['xyz'];_0x1a55ab['axis']=new _0x220444(_0x1da9b2[0x0],_0x1da9b2[0x1],_0x1da9b2[0x2])['normalize']();}else _0x1a55ab['axis']=new _0x220444(0x0,0x1,0x0);_0x1a55ab['position']['set'](_0x5b182f['xyz'][0x0]+_0x1c41c8['origin']['xyz'][0x0],_0x5b182f['xyz'][0x1]+_0x1c41c8['origin']['xyz'][0x1],_0x5b182f['xyz'][0x2]+_0x1c41c8['origin']['xyz'][0x2]),_0x1a55ab['rotation']['set'](..._0x5b182f['rpy']),_0x38da3b(_0x14366e,_0x1a55ab),_0x4fef79['add'](_0x1a55ab),_0x1c41c8['threeObject']=_0x1a55ab;});for(const [_0x228694,_0x47b851]of _0x42f2f7['entries']())if(_0x47b851['parentName']===_0xa19bac){if(!Array['from'](_0x336a08['joints']['values']())['some'](_0x5d673a=>_0x5d673a['parent']===_0xa19bac&&_0x5d673a['child']===_0x228694)){const _0x5a2014=_0x336a08['links']['get'](_0x228694),_0x2bf53a=_0x5a2014['userData']['bodyOrigin']||{'xyz':[0x0,0x0,0x0],'rpy':[0x0,0x0,0x0]};_0x5a2014['userData']['isFixedConnection']=!0x0;const _0x497f6a=new _0x135d71();_0x497f6a['position']['set'](..._0x2bf53a['xyz']),_0x497f6a['rotation']['set'](..._0x2bf53a['rpy']),_0x38da3b(_0x228694,_0x497f6a),_0x4fef79['add'](_0x497f6a);}}}if(_0x4b03cc['length']>0x0)_0x4b03cc['forEach'](_0x4f88e6=>{const _0x52887d=_0x336a08['links']['get'](_0x4f88e6),_0x2670c6=_0x4c3ce4['get'](_0x4f88e6);_0x52887d['userData']['bodyOrigin']&&(_0x2670c6['position']['set'](..._0x52887d['userData']['bodyOrigin']['xyz']),_0x2670c6['rotation']['set'](..._0x52887d['userData']['bodyOrigin']['rpy'])),_0x38da3b(_0x4f88e6,_0x2208ec);});else if(_0x336a08['links']['size']>0x0){const _0x1734ee=Array['from'](_0x336a08['links']['keys']())[0x0],_0x4a2eaa=_0x336a08['links']['get'](_0x1734ee),_0x376f6c=_0x4c3ce4['get'](_0x1734ee);_0x4a2eaa['userData']['bodyOrigin']&&(_0x376f6c['position']['set'](..._0x4a2eaa['userData']['bodyOrigin']['xyz']),_0x376f6c['rotation']['set'](..._0x4a2eaa['userData']['bodyOrigin']['rpy'])),_0x38da3b(_0x1734ee,_0x2208ec);}_0x336a08['threeObject']=_0x2208ec,_0x2208ec['userData']||(_0x2208ec['userData']={}),_0x2208ec['userData']['type']='mjcf',_0x336a08['userData']||(_0x336a08['userData']={}),_0x336a08['userData']['type']='mjcf';}static async['createGeometryMesh'](_0x234e4d,_0x129386=null,_0x41bf22=null){var _0x143dc1,_0x3ab4c8,_0x3a1c70;let _0x24d0ab=null;switch(_0x234e4d['type']){case'box':_0x234e4d['size']&&(_0x24d0ab=new _0x20eddb(_0x234e4d['size']['x'],_0x234e4d['size']['y'],_0x234e4d['size']['z']));break;case'sphere':_0x234e4d['size']&&_0x234e4d['size']['radius']&&(_0x24d0ab=new _0x2e733b(_0x234e4d['size']['radius'],0x20,0x20));break;case'cylinder':_0x234e4d['size']&&(_0x24d0ab=new _0x181a2b(_0x234e4d['size']['radius'],_0x234e4d['size']['radius'],_0x234e4d['size']['height'],0x20),_0x24d0ab['rotateX'](Math['PI']/0x2));break;case'capsule':if(_0x234e4d['size']){const {radius:_0x48ca32,height:_0x2251c2}=_0x234e4d['size'];if(void 0x0!==_0x37c03a)_0x24d0ab=new _0x37c03a(_0x48ca32,_0x2251c2,0x4,0x10),_0x24d0ab['rotateX'](Math['PI']/0x2);else{const _0x278290=Math['max'](0x0,_0x2251c2-0x2*_0x48ca32),_0x4fd72b=new _0x181a2b(_0x48ca32,_0x48ca32,_0x278290,0x10);_0x4fd72b['rotateX'](Math['PI']/0x2),_0x24d0ab=_0x4fd72b;}}break;case'mesh':if(!_0x234e4d['filename'])return null;{let _0x36e686=null;if(_0x41bf22&&_0x41bf22['has'](_0x234e4d['filename'])?_0x36e686=_0x41bf22['get'](_0x234e4d['filename']):_0x129386&&(_0x36e686=await this['loadMeshFile'](_0x234e4d['filename'],_0x129386)),!_0x36e686)return null;if(_0x36e686['isGroup']||_0x36e686['isObject3D']){if(_0x24d0ab=_0x36e686['clone'](!0x0),_0x234e4d['meshScale']){const [_0x16fa71,_0x435a13,_0x49104f]=_0x234e4d['meshScale'];_0x24d0ab['scale']['set'](_0x16fa71,_0x435a13,_0x49104f);}return _0x24d0ab['traverse'](_0x3ed500=>{_0x3ed500['isMesh']&&_0x3ed500['material'];}),Mt(_0x24d0ab),_0x24d0ab;}if(_0x234e4d['meshScale']){const [_0x5de611,_0x4c358e,_0x52bb4f]=_0x234e4d['meshScale'];_0x24d0ab=_0x36e686['clone'](),_0x24d0ab['scale'](_0x5de611,_0x4c358e,_0x52bb4f);}else _0x24d0ab=_0x36e686;}}if(!_0x24d0ab)return null;const _0x19fda8='undefined'!=typeof window&&(null==(_0x3a1c70=null==(_0x3ab4c8=null==(_0x143dc1=window['app'])?void 0x0:_0x143dc1['sceneManager'])?void 0x0:_0x3ab4c8['environmentManager'])?void 0x0:_0x3a1c70['getEnvironmentMap']()),_0x3647a2=new _0xa4876a({'color':0xf0f0f0,'shininess':0x32,'specular':new _0x25d7bf(0.3,0.3,0.3),'envMap':_0x19fda8||null,'reflectivity':_0x19fda8?0.3:0x0});return _0x3647a2['userData']['originalShininess']=0x1e,_0x3647a2['userData']['originalSpecular']=null,new _0x2c4c6c(_0x24d0ab,_0x3647a2);}static async['loadMeshFile'](_0x93b5ee,_0x3eb22a){return async function(_0x5d613b,_0x2059f7){try{let _0x57b19d=bt(_0x5d613b,_0x2059f7);const _0x5165fa=mt(_0x5d613b);if(!_0x57b19d&&!_0x5165fa['includes']('.')){const _0x2c23f0=['.stl','.obj','.dae','.gltf','.glb'];for(const _0x1c3e08 of _0x2c23f0)if(_0x57b19d=bt(_0x5165fa+_0x1c3e08,_0x2059f7),_0x57b19d)break;}if(!_0x57b19d)return null;const _0x5e1c2d=_0x57b19d['name']?_0x57b19d['name']['toLowerCase']()['split']('.')['pop']():_0x5d613b['toLowerCase']()['split']('.')['pop'](),_0x1c5b49=URL['createObjectURL'](_0x57b19d);try{const _0x18c229=await xt();let _0x5a8809=null;switch(_0x5e1c2d){case'stl':_0x5a8809=await new Promise((_0x2480de,_0x4aa4e5)=>{_0x18c229['STLLoader']['load'](_0x1c5b49,_0x2480de,void 0x0,_0x4aa4e5);});break;case'obj':const _0x2aaa03=_0x57b19d['name']['replace'](/\.obj$/i,'.mtl'),_0x2e27bb=Array['from'](_0x2059f7['values']())['find'](_0x19b07f=>_0x19b07f['name']&&_0x19b07f['name']['toLowerCase']()===_0x2aaa03['toLowerCase']());if(_0x2e27bb)try{const _0x10bebb=URL['createObjectURL'](_0x2e27bb),_0x157e79=await new Promise((_0x428651,_0x3bffeb)=>{_0x18c229['MTLLoader']['load'](_0x10bebb,_0x428651,void 0x0,_0x3bffeb);});URL['revokeObjectURL'](_0x10bebb),_0x157e79['preload'](),_0x18c229['OBJLoader']['setMaterials'](_0x157e79);}catch(_0xfdcf0b){}_0x5a8809=await new Promise((_0x40ee1d,_0x8f9d83)=>{_0x18c229['OBJLoader']['load'](_0x1c5b49,_0x40ee1d,void 0x0,_0x8f9d83);}),_0x18c229['OBJLoader']['setMaterials'](null);break;case'dae':const _0xc02bb4=await new Promise((_0x1e1ea4,_0x50012b)=>{_0x18c229['ColladaLoader']['load'](_0x1c5b49,_0x1e1ea4,void 0x0,_0x50012b);});_0x5a8809=_0xc02bb4?_0xc02bb4['scene']:null;break;case'gltf':case'glb':const _0x55c38f=await new Promise((_0x3929c9,_0x229c34)=>{_0x18c229['GLTFLoader']['load'](_0x1c5b49,_0x3929c9,void 0x0,_0x229c34);});_0x5a8809=_0x55c38f?_0x55c38f['scene']:null;break;default:return URL['revokeObjectURL'](_0x1c5b49),null;}return URL['revokeObjectURL'](_0x1c5b49),_0x5a8809&&(_0x5a8809['isGroup']||_0x5a8809['isObject3D']||_0x5a8809['isScene'])&&Mt(_0x5a8809),_0x5a8809;}catch(_0x4fb694){return URL['revokeObjectURL'](_0x1c5b49),null;}}catch(_0x463b9e){return null;}}(_0x93b5ee,_0x3eb22a);}static['setJointAngle'](_0x28c037,_0x98f7d3){if(_0x28c037['currentValue']=_0x98f7d3,_0x28c037['threeObject'])if('revolute'===_0x28c037['type']||'continuous'===_0x28c037['type']){let _0x124baa;if(_0x28c037['threeObject']['axis'])_0x124baa=_0x28c037['threeObject']['axis']['clone']()['normalize']();else{if(!_0x28c037['axis']||!_0x28c037['axis']['xyz'])return;{const _0x3327d5=_0x28c037['axis']['xyz'];_0x124baa=new _0x220444(_0x3327d5[0x0],_0x3327d5[0x2],-_0x3327d5[0x1])['normalize']();}}_0x28c037['threeObject']['userData']['initialQuaternion']||(_0x28c037['threeObject']['userData']['initialQuaternion']=_0x28c037['threeObject']['quaternion']['clone']());const _0x1aa08a=new _0x3c39ce();_0x1aa08a['setFromAxisAngle'](_0x124baa,_0x98f7d3),_0x28c037['threeObject']['quaternion']['copy'](_0x28c037['threeObject']['userData']['initialQuaternion']),_0x28c037['threeObject']['quaternion']['multiply'](_0x1aa08a),_0x28c037['threeObject']['updateMatrixWorld'](!0x0);}else if('prismatic'===_0x28c037['type']){let _0x33c5aa;if(_0x28c037['threeObject']['axis'])_0x33c5aa=_0x28c037['threeObject']['axis']['clone']()['normalize']();else{if(!_0x28c037['axis']||!_0x28c037['axis']['xyz'])return;{const _0x4505c1=_0x28c037['axis']['xyz'];_0x33c5aa=new _0x220444(_0x4505c1[0x0],_0x4505c1[0x2],-_0x4505c1[0x1])['normalize']();}}_0x28c037['threeObject']['userData']['initialPosition']||(_0x28c037['threeObject']['userData']['initialPosition']=_0x28c037['threeObject']['position']['clone']()),_0x28c037['threeObject']['position']['copy'](_0x28c037['threeObject']['userData']['initialPosition']),_0x28c037['threeObject']['position']['addScaledVector'](_0x33c5aa,_0x98f7d3),_0x28c037['threeObject']['updateMatrixWorld'](!0x0);}}}class St{static async['parse'](_0x7f18bc,_0x382c4b=null,_0x2c92f0=null,_0x28b284={}){if(!_0x28b284['usdViewerManager'])throw new Error('USD\x20viewer\x20not\x20initialized');return await this['parseWithWASM'](_0x2c92f0,_0x382c4b,_0x28b284['usdViewerManager']);}static async['parseWithWASM'](_0x42d786,_0x7db942=null,_0x10645c){try{if(_0x7db942&&_0x7db942['size']>0x1){const _0x285945={};for(const [_0x1e13d0,_0x2eba4f]of _0x7db942['entries']())_0x285945[_0x1e13d0]=_0x2eba4f;let _0x28b2f3=_0x42d786['name'];for(const [_0x4e332b,_0x572d1e]of _0x7db942['entries']())if(_0x4e332b['endsWith'](_0x42d786['name'])&&!_0x4e332b['includes']('/.thumbs/')&&!_0x4e332b['includes']('/Props/')){_0x28b2f3=_0x4e332b;break;}await _0x10645c['loadFromFilesMap'](_0x285945,_0x28b2f3);}else await _0x10645c['loadFromFile'](_0x42d786);const _0x5c5034=new Qe();return _0x5c5034['name']=_0x42d786['name']['replace'](/\.(usdz|usdc|usd|usda)$/i,''),_0x5c5034['userData']=_0x5c5034['userData']||{},_0x5c5034['userData']['isUSDWASM']=!0x0,_0x5c5034['userData']['usdViewerManager']=_0x10645c,_0x5c5034;}catch(_0x52b10f){throw _0x52b10f;}}static async['parseUSDZ_OLD'](_0x145ae6,_0x4f4a8e=null){const {USDZLoader:_0x3b0c06}=await Ae(()=>import('./USDZLoader-64197f74.js'),["./USDZLoader-64197f74.js","./three-9c891de0.js"],import.meta.url),_0xf0aa21=new _0x3b0c06(),_0x35a001=URL['createObjectURL'](_0x145ae6);try{const _0x325f40=await new Promise((_0xc60da9,_0x4e1022)=>{_0xf0aa21['load'](_0x35a001,_0x419212=>{_0xc60da9(_0x419212);},void 0x0,_0x396fc1=>{_0x4e1022(_0x396fc1);});});return URL['revokeObjectURL'](_0x35a001),this['convertThreeGroupToModel'](_0x325f40,_0x145ae6['name']);}catch(_0x269e01){throw URL['revokeObjectURL'](_0x35a001),_0x269e01;}}static['convertThreeGroupToModel'](_0x161d87,_0x1a484b){const _0x245344=new Qe();_0x245344['name']=_0x1a484b['replace'](/\.(usdz|usdc|usd|usda)$/i,''),_0x245344['threeObject']=_0x161d87;let _0x506c50=0x0;return _0x161d87['traverse'](_0x3250d8=>{if(_0x3250d8['isMesh']||_0x3250d8['isGroup']){const _0x26b978=_0x3250d8['name']||'link_'+_0x506c50++,_0x929e98=new Ke(_0x26b978);if(_0x929e98['threeObject']=_0x3250d8,_0x3250d8['isMesh']){const _0x23349c=new et();_0x23349c['name']=_0x3250d8['name']||_0x26b978,_0x23349c['threeObject']=_0x3250d8,_0x3250d8['geometry']&&(_0x23349c['geometry']=this['extractGeometryInfo'](_0x3250d8['geometry'])),_0x929e98['visuals']['push'](_0x23349c);}_0x245344['addLink'](_0x929e98);}}),_0x245344;}static['extractGeometryInfo'](_0x548a36){var _0xf42c33,_0x24bc85,_0x177540,_0x1833c6,_0xb61741,_0x1af5a7;const _0xdba147=new nt('mesh');return'BoxGeometry'===_0x548a36['type']?(_0xdba147['type']='box',_0xdba147['size']={'x':(null==(_0xf42c33=_0x548a36['parameters'])?void 0x0:_0xf42c33['width'])||0x1,'y':(null==(_0x24bc85=_0x548a36['parameters'])?void 0x0:_0x24bc85['height'])||0x1,'z':(null==(_0x177540=_0x548a36['parameters'])?void 0x0:_0x177540['depth'])||0x1}):'SphereGeometry'===_0x548a36['type']?(_0xdba147['type']='sphere',_0xdba147['size']={'radius':(null==(_0x1833c6=_0x548a36['parameters'])?void 0x0:_0x1833c6['radius'])||0.5}):'CylinderGeometry'===_0x548a36['type']&&(_0xdba147['type']='cylinder',_0xdba147['size']={'radius':(null==(_0xb61741=_0x548a36['parameters'])?void 0x0:_0xb61741['radiusTop'])||0.5,'height':(null==(_0x1af5a7=_0x548a36['parameters'])?void 0x0:_0x1af5a7['height'])||0x1}),_0xdba147;}static['parseASCIIUSD_DEPRECATED'](_0x2ce93b,_0x55b216=null){const _0x310db7=new Qe();_0x310db7['name']='usd_model',!_0x2ce93b['includes']('#usda')&&_0x2ce93b['includes']('def\x20');const _0x22fd9d=_0x2ce93b['split']('\x0a');let _0x5aa223=null,_0x29b954=[];for(let _0x3b43aa=0x0;_0x3b43aa<_0x22fd9d['length'];_0x3b43aa++){const _0xe39c08=_0x22fd9d[_0x3b43aa]['trim']();if(!_0xe39c08||_0xe39c08['startsWith']('#'))continue;const _0x4df9af=_0xe39c08['match'](/def\s+(\w+)\s+"([^"]+)"\s*\{/);if(_0x4df9af){const _0x2bd0d7=_0x4df9af[0x1],_0x424b3c=_0x4df9af[0x2];if('Xform'===_0x2bd0d7||'Mesh'===_0x2bd0d7||'Cube'===_0x2bd0d7||'Sphere'===_0x2bd0d7||'Cylinder'===_0x2bd0d7)if('Xform'!==_0x2bd0d7||_0x5aa223){if(_0x5aa223){const _0x21208a=new et();_0x21208a['name']=_0x424b3c,_0x21208a['geometry']=this['parseUSDGeometry'](_0x2bd0d7,_0x22fd9d,_0x3b43aa),_0x5aa223['visuals']['push'](_0x21208a),_0x29b954['push']({'type':'visual','obj':_0x21208a});}}else _0x5aa223=new Ke(_0x424b3c),_0x310db7['addLink'](_0x5aa223),_0x29b954['push']({'type':'link','obj':_0x5aa223});continue;}if(_0x5aa223&&_0xe39c08['includes']('=')){const _0x3329aa=_0xe39c08['match'](/(\w+)\s*=\s*(.+)/);if(_0x3329aa){const _0x1c5afa=_0x3329aa[0x1],_0x43bef7=_0x3329aa[0x2]['trim']();if('xformOp:translate'===_0x1c5afa){const _0x369cc3=this['parseUSDArray'](_0x43bef7);if(_0x369cc3['length']>=0x3){const _0x387a3b=_0x5aa223['visuals'][_0x5aa223['visuals']['length']-0x1];_0x387a3b&&(_0x387a3b['origin']['xyz']=_0x369cc3['slice'](0x0,0x3));}}}}if('}'===_0xe39c08&&_0x29b954['length']>0x0){'link'===_0x29b954['pop']()['type']&&(_0x5aa223=null);}}return this['createThreeObject'](_0x310db7),_0x310db7;}static['parseUSDGeometry'](_0x1c5fad,_0x4109da,_0x2655bb){const _0x330e8a=new nt(_0x1c5fad['toLowerCase']());for(let _0x845025=_0x2655bb;_0x845025<Math['min'](_0x2655bb+0x14,_0x4109da['length']);_0x845025++){const _0x1196cc=_0x4109da[_0x845025]['trim']();if('}'===_0x1196cc)break;const _0x1fcccb=_0x1196cc['match'](/(\w+)\s*=\s*(.+)/);if(_0x1fcccb){const _0x56b94b=_0x1fcccb[0x1],_0x115657=_0x1fcccb[0x2]['trim']();switch(_0x1c5fad){case'Cube':if('size'===_0x56b94b){const _0x14b958=parseFloat(_0x115657);_0x330e8a['size']={'x':_0x14b958,'y':_0x14b958,'z':_0x14b958};}break;case'Sphere':'radius'===_0x56b94b&&(_0x330e8a['size']={'radius':parseFloat(_0x115657)});break;case'Cylinder':if('radius'===_0x56b94b){const _0x34af39=parseFloat(_0x115657);_0x330e8a['size']={'radius':_0x34af39,'height':0x2*_0x34af39};}'height'===_0x56b94b&&(_0x330e8a['size']||(_0x330e8a['size']={}),_0x330e8a['size']['height']=parseFloat(_0x115657));}}}return _0x330e8a;}static['parseUSDArray'](_0x36c085){return(_0x36c085=_0x36c085['replace'](/[()]/g,'')['trim']())['split'](',')['map'](_0x5f372e=>parseFloat(_0x5f372e['trim']()))['filter'](_0xbb4073=>!isNaN(_0xbb4073));}static['createThreeObject'](_0x3094e4){const _0x48ea61=new _0x135d71();_0x48ea61['name']=_0x3094e4['name'],_0x3094e4['links']['forEach']((_0x12965a,_0x270f28)=>{const _0x28e17c=new _0x135d71();_0x28e17c['name']=_0x270f28,_0x12965a['visuals']['forEach'](_0x3027cb=>{const _0x4ea750=this['createGeometryMesh'](_0x3027cb['geometry']);_0x4ea750&&(_0x4ea750['position']['set'](..._0x3027cb['origin']['xyz']),_0x4ea750['rotation']['set'](..._0x3027cb['origin']['rpy']),_0x4ea750['name']=_0x3027cb['name'],_0x28e17c['add'](_0x4ea750),_0x3027cb['threeObject']=_0x4ea750);}),_0x12965a['threeObject']=_0x28e17c,_0x48ea61['add'](_0x28e17c);}),_0x3094e4['threeObject']=_0x48ea61;}static['createGeometryMesh'](_0x50ef4c){let _0x2da8c0=null;switch(_0x50ef4c['type']){case'cube':if(_0x50ef4c['size']){const _0x303a5d=_0x50ef4c['size']['x']||0.1;_0x2da8c0=new _0x20eddb(_0x303a5d,_0x303a5d,_0x303a5d);}break;case'sphere':_0x50ef4c['size']&&_0x50ef4c['size']['radius']&&(_0x2da8c0=new _0x2e733b(_0x50ef4c['size']['radius'],0x20,0x20));break;case'cylinder':_0x50ef4c['size']&&(_0x2da8c0=new _0x181a2b(_0x50ef4c['size']['radius']||0.1,_0x50ef4c['size']['radius']||0.1,_0x50ef4c['size']['height']||0.1,0x20));}if(!_0x2da8c0)return null;const _0x2e1a1f=new _0x19745e({'color':0x888888});return new _0x2c4c6c(_0x2da8c0,_0x2e1a1f);}static['setJointAngle'](_0x4f15a0,_0x29b3d3){if(_0x4f15a0['currentValue']=_0x29b3d3,_0x4f15a0['threeObject']&&('revolute'===_0x4f15a0['type']||'continuous'===_0x4f15a0['type'])){const _0x11b2bf=new _0x220444(..._0x4f15a0['axis']['xyz'])['normalize']();_0x4f15a0['threeObject']['rotation']['setFromAxisAngle'](_0x11b2bf,_0x29b3d3),_0x4f15a0['threeObject']['updateMatrixWorld'](!0x0);}}}function At(_0xa24406){const _0x4277c9=_0xa24406['split'](/[\\/]/g);return _0x4277c9['pop'](),0x0===_0x4277c9['length']?'./':_0x4277c9['join']('/')+'/';}function Lt(_0x800cfa,_0x5d643,_0x5cf03d=[]){_0x800cfa['tagName']===_0x5d643&&_0x5cf03d['push'](_0x800cfa);for(let _0x300b3f=0x0,_0x186a0e=_0x800cfa['children']['length'];_0x300b3f<_0x186a0e;_0x300b3f++){Lt(_0x800cfa['children'][_0x300b3f],_0x5d643,_0x5cf03d);}return _0x5cf03d;}function Et(_0x5b061f,_0x39820b){const _0x32f591=_0x5b061f['cloneNode'](),_0x18dd51=_0x5b061f['childNodes'];for(let _0x31e7a9=0x0,_0x1be3d1=_0x18dd51['length'];_0x31e7a9<_0x1be3d1;_0x31e7a9++){const _0x5be2db=_0x18dd51[_0x31e7a9],_0x37b882=_0x5be2db['tagName'];(!_0x39820b||'xacro:property'!==_0x37b882&&'xacro:macro'!==_0x37b882)&&_0x32f591['appendChild'](Et(_0x5be2db,_0x39820b));}return _0x32f591;}function Ct(_0x376bf1){for(;_0x376bf1['length']>0x0;){const _0x2a444c=_0x376bf1[_0x376bf1['length']-0x1];if(_0x2a444c['nodeType']===_0x2a444c['ELEMENT_NODE'])break;_0x376bf1['pop']();}}function jt(_0x1a2f73){return/^(('[^']*?')|("[^"]*?")|(`[^`]*?`))$/['test'](_0x1a2f73);}function kt(_0x192c0d){return!isNaN(Number(_0x192c0d))&&!isNaN(parseFloat(_0x192c0d));}const Tt=Symbol('parent');function Ot(..._0x19dd08){const _0x4129c2={};for(let _0x5d7cbb=0x0,_0x3098e7=_0x19dd08['length'];_0x5d7cbb<_0x3098e7;_0x5d7cbb++){const _0x14643d=_0x19dd08[_0x5d7cbb];for(const _0xae91ae in _0x14643d)_0x4129c2[_0xae91ae]=_0x14643d[_0xae91ae];Tt in _0x14643d&&(_0x4129c2[Tt]=_0x14643d[Tt]);}return _0x4129c2;}var Ft='INUMBER',Dt='IOP1',Pt='IOP2',It='IOP3',Rt='IVAR',zt='IVARNAME',Nt='IFUNCALL',Ut='IFUNDEF',Vt='IEXPR',qt='IEXPREVAL',Bt='IMEMBER',$t='IENDSTATEMENT',Jt='IARRAY';function Ht(_0x351879,_0x1e533d){this['type']=_0x351879,this['value']=null!=_0x1e533d?_0x1e533d:0x0;}function Gt(_0x4b0913){return new Ht(Dt,_0x4b0913);}function Wt(_0x39b7b7){return new Ht(Pt,_0x39b7b7);}function Xt(_0x27677b){return new Ht(It,_0x27677b);}function Yt(_0x1a594c,_0x143962,_0xd33228,_0x3b110f,_0x5a7ef6){for(var _0x22fc9e,_0x43d822,_0x3c3bcd,_0x33bce0,_0x71e2fa=[],_0x40f167=[],_0x1a33d2=0x0;_0x1a33d2<_0x1a594c['length'];_0x1a33d2++){var _0x13b8dc=_0x1a594c[_0x1a33d2],_0x3774f0=_0x13b8dc['type'];if(_0x3774f0===Ft||_0x3774f0===zt)Array['isArray'](_0x13b8dc['value'])?_0x71e2fa['push']['apply'](_0x71e2fa,Yt(_0x13b8dc['value']['map'](function(_0x59063a){return new Ht(Ft,_0x59063a);})['concat'](new Ht(Jt,_0x13b8dc['value']['length'])),_0x143962,_0xd33228,_0x3b110f,_0x5a7ef6)):_0x71e2fa['push'](_0x13b8dc);else if(_0x3774f0===Rt&&Object['hasOwn'](_0x5a7ef6,_0x13b8dc['value']))_0x13b8dc=new Ht(Ft,_0x5a7ef6[_0x13b8dc['value']]),_0x71e2fa['push'](_0x13b8dc);else if(_0x3774f0===Pt&&_0x71e2fa['length']>0x1)_0x43d822=_0x71e2fa['pop'](),_0x22fc9e=_0x71e2fa['pop'](),_0x33bce0=_0xd33228[_0x13b8dc['value']],_0x13b8dc=new Ht(Ft,_0x33bce0(_0x22fc9e['value'],_0x43d822['value'])),_0x71e2fa['push'](_0x13b8dc);else if(_0x3774f0===It&&_0x71e2fa['length']>0x2)_0x3c3bcd=_0x71e2fa['pop'](),_0x43d822=_0x71e2fa['pop'](),_0x22fc9e=_0x71e2fa['pop'](),'?'===_0x13b8dc['value']?_0x71e2fa['push'](_0x22fc9e['value']?_0x43d822['value']:_0x3c3bcd['value']):(_0x33bce0=_0x3b110f[_0x13b8dc['value']],_0x13b8dc=new Ht(Ft,_0x33bce0(_0x22fc9e['value'],_0x43d822['value'],_0x3c3bcd['value'])),_0x71e2fa['push'](_0x13b8dc));else if(_0x3774f0===Dt&&_0x71e2fa['length']>0x0)_0x22fc9e=_0x71e2fa['pop'](),_0x33bce0=_0x143962[_0x13b8dc['value']],_0x13b8dc=new Ht(Ft,_0x33bce0(_0x22fc9e['value'])),_0x71e2fa['push'](_0x13b8dc);else if(_0x3774f0===Vt){for(;_0x71e2fa['length']>0x0;)_0x40f167['push'](_0x71e2fa['shift']());_0x40f167['push'](new Ht(Vt,Yt(_0x13b8dc['value'],_0x143962,_0xd33228,_0x3b110f,_0x5a7ef6)));}else if(_0x3774f0===Bt&&_0x71e2fa['length']>0x0)_0x22fc9e=_0x71e2fa['pop'](),_0x71e2fa['push'](new Ht(Ft,_0x22fc9e['value'][_0x13b8dc['value']]));else{for(;_0x71e2fa['length']>0x0;)_0x40f167['push'](_0x71e2fa['shift']());_0x40f167['push'](_0x13b8dc);}}for(;_0x71e2fa['length']>0x0;)_0x40f167['push'](_0x71e2fa['shift']());return _0x40f167;}function Zt(_0x4de3ec,_0x4e5dce,_0x33d5fa){for(var _0xd13313=[],_0x2eed40=0x0;_0x2eed40<_0x4de3ec['length'];_0x2eed40++){var _0x3d2553=_0x4de3ec[_0x2eed40],_0x1cb197=_0x3d2553['type'];if(_0x1cb197===Rt&&_0x3d2553['value']===_0x4e5dce)for(var _0xee0abe=0x0;_0xee0abe<_0x33d5fa['tokens']['length'];_0xee0abe++){var _0x2241f4,_0x501852=_0x33d5fa['tokens'][_0xee0abe];_0x2241f4=_0x501852['type']===Dt?Gt(_0x501852['value']):_0x501852['type']===Pt?Wt(_0x501852['value']):_0x501852['type']===It?Xt(_0x501852['value']):new Ht(_0x501852['type'],_0x501852['value']),_0xd13313['push'](_0x2241f4);}else _0x1cb197===Vt?_0xd13313['push'](new Ht(Vt,Zt(_0x3d2553['value'],_0x4e5dce,_0x33d5fa))):_0xd13313['push'](_0x3d2553);}return _0xd13313;}function Qt(_0x5bb9f8,_0x5d9c0c,_0x301429){for(var _0x481d36 in _0x5d9c0c['functions'])if(_0x5d9c0c['functions'][_0x481d36]===_0x5bb9f8)return!0x0;if(_0x5bb9f8['__expr_eval_safe_def'])return!0x0;for(var _0x5af074 in _0x301429)if('object'==typeof _0x301429[_0x5af074]&&null!==_0x301429[_0x5af074])for(var _0x58307b in _0x301429[_0x5af074])if(_0x301429[_0x5af074][_0x58307b]===_0x5bb9f8)return!0x0;return!0x1;}function Kt(_0x298c6e,_0x17559d,_0x3deb29){var _0x471ea9,_0x134b9e,_0x1fd9df,_0x71f736,_0x52b83f,_0x181817,_0x33367d=[];if(tn(_0x298c6e))return nn(_0x298c6e,_0x3deb29);for(var _0xa537e7=_0x298c6e['length'],_0x3e399e=0x0;_0x3e399e<_0xa537e7;_0x3e399e++){var _0x156898=_0x298c6e[_0x3e399e],_0x5f4bfa=_0x156898['type'];if(_0x5f4bfa===Ft||_0x5f4bfa===zt)_0x33367d['push'](_0x156898['value']);else if(_0x5f4bfa===Pt)_0x134b9e=_0x33367d['pop'](),_0x471ea9=_0x33367d['pop'](),'and'===_0x156898['value']?_0x33367d['push'](!!_0x471ea9&&!!Kt(_0x134b9e,_0x17559d,_0x3deb29)):'or'===_0x156898['value']?_0x33367d['push'](!!_0x471ea9||!!Kt(_0x134b9e,_0x17559d,_0x3deb29)):'='===_0x156898['value']?(_0x71f736=_0x17559d['binaryOps'][_0x156898['value']],_0x33367d['push'](_0x71f736(_0x471ea9,Kt(_0x134b9e,_0x17559d,_0x3deb29),_0x3deb29))):(_0x71f736=_0x17559d['binaryOps'][_0x156898['value']],_0x33367d['push'](_0x71f736(nn(_0x471ea9,_0x3deb29),nn(_0x134b9e,_0x3deb29))));else if(_0x5f4bfa===It)_0x1fd9df=_0x33367d['pop'](),_0x134b9e=_0x33367d['pop'](),_0x471ea9=_0x33367d['pop'](),'?'===_0x156898['value']?_0x33367d['push'](Kt(_0x471ea9?_0x134b9e:_0x1fd9df,_0x17559d,_0x3deb29)):(_0x71f736=_0x17559d['ternaryOps'][_0x156898['value']],_0x33367d['push'](_0x71f736(nn(_0x471ea9,_0x3deb29),nn(_0x134b9e,_0x3deb29),nn(_0x1fd9df,_0x3deb29))));else if(_0x5f4bfa===Rt){if(/^__proto__|prototype|constructor$/['test'](_0x156898['value']))throw new Error('prototype\x20access\x20detected');if(_0x156898['value']in _0x17559d['functions'])_0x33367d['push'](_0x17559d['functions'][_0x156898['value']]);else if(_0x156898['value']in _0x17559d['unaryOps']&&_0x17559d['parser']['isOperatorEnabled'](_0x156898['value']))_0x33367d['push'](_0x17559d['unaryOps'][_0x156898['value']]);else{var _0x420a7c=_0x3deb29[_0x156898['value']];if(void 0x0===_0x420a7c)throw new Error('undefined\x20variable:\x20'+_0x156898['value']);if('function'==typeof _0x420a7c&&!Qt(_0x420a7c,_0x17559d,_0x3deb29))throw new Error('Variable\x20references\x20an\x20unallowed\x20function:\x20'+_0x156898['value']);_0x33367d['push'](_0x420a7c);}}else if(_0x5f4bfa===Dt)_0x471ea9=_0x33367d['pop'](),_0x71f736=_0x17559d['unaryOps'][_0x156898['value']],_0x33367d['push'](_0x71f736(nn(_0x471ea9,_0x3deb29)));else if(_0x5f4bfa===Nt){for(_0x181817=_0x156898['value'],_0x52b83f=[];_0x181817-->0x0;)_0x52b83f['unshift'](nn(_0x33367d['pop'](),_0x3deb29));if(!Qt(_0x71f736=_0x33367d['pop'](),_0x17559d,_0x3deb29))throw new Error('Is\x20not\x20an\x20allowed\x20function.');if(!_0x71f736['apply']||!_0x71f736['call'])throw new Error(_0x71f736+'\x20is\x20not\x20a\x20function');_0x33367d['push'](_0x71f736['apply'](void 0x0,_0x52b83f));}else if(_0x5f4bfa===Ut)_0x33367d['push']((function(){for(var _0x461793=_0x33367d['pop'](),_0x438e3b=[],_0xc3d3a5=_0x156898['value'];_0xc3d3a5-->0x0;)_0x438e3b['unshift'](_0x33367d['pop']());var _0xcc3e54=_0x33367d['pop'](),_0x15b245=function(){for(var _0x1998a5=Object['assign']({},_0x3deb29),_0x515c33=0x0,_0x2ec138=_0x438e3b['length'];_0x515c33<_0x2ec138;_0x515c33++)_0x1998a5[_0x438e3b[_0x515c33]]=arguments[_0x515c33];return Kt(_0x461793,_0x17559d,_0x1998a5);};return Object['defineProperty'](_0x15b245,'name',{'value':_0xcc3e54,'writable':!0x1}),Object['defineProperty'](_0x15b245,'__expr_eval_safe_def',{'value':!0x0,'writable':!0x1}),_0x3deb29[_0xcc3e54]=_0x15b245,_0x15b245;}()));else if(_0x5f4bfa===Vt)_0x33367d['push'](en(_0x156898,_0x17559d));else if(_0x5f4bfa===qt)_0x33367d['push'](_0x156898);else if(_0x5f4bfa===Bt)_0x471ea9=_0x33367d['pop'](),_0x33367d['push'](_0x471ea9[_0x156898['value']]);else if(_0x5f4bfa===$t)_0x33367d['pop']();else{if(_0x5f4bfa!==Jt)throw new Error('invalid\x20Expression');for(_0x181817=_0x156898['value'],_0x52b83f=[];_0x181817-->0x0;)_0x52b83f['unshift'](_0x33367d['pop']());_0x33367d['push'](_0x52b83f);}}if(_0x33367d['length']>0x1)throw new Error('invalid\x20Expression\x20(parity)');return 0x0===_0x33367d[0x0]?0x0:nn(_0x33367d[0x0],_0x3deb29);}function en(_0x23a067,_0x8a3a75,_0x1b15cf){return tn(_0x23a067)?_0x23a067:{'type':qt,'value':function(_0xd5c6d9){return Kt(_0x23a067['value'],_0x8a3a75,_0xd5c6d9);}};}function tn(_0x3513d8){return _0x3513d8&&_0x3513d8['type']===qt;}function nn(_0x3a5841,_0x50ca42){return tn(_0x3a5841)?_0x3a5841['value'](_0x50ca42):_0x3a5841;}function sn(_0x238e23,_0x306125){for(var _0x2cb2d2,_0x2646b3,_0x209e44,_0x2adfbe,_0x2fedbf,_0x22f9ce,_0x4734dd=[],_0xa14949=0x0;_0xa14949<_0x238e23['length'];_0xa14949++){var _0x386f07=_0x238e23[_0xa14949],_0x54e3e0=_0x386f07['type'];if(_0x54e3e0===Ft)'number'==typeof _0x386f07['value']&&_0x386f07['value']<0x0?_0x4734dd['push']('('+_0x386f07['value']+')'):Array['isArray'](_0x386f07['value'])?_0x4734dd['push']('['+_0x386f07['value']['map'](rn)['join'](',\x20')+']'):_0x4734dd['push'](rn(_0x386f07['value']));else if(_0x54e3e0===Pt)_0x2646b3=_0x4734dd['pop'](),_0x2cb2d2=_0x4734dd['pop'](),_0x2adfbe=_0x386f07['value'],_0x306125?'^'===_0x2adfbe?_0x4734dd['push']('Math.pow('+_0x2cb2d2+',\x20'+_0x2646b3+')'):'and'===_0x2adfbe?_0x4734dd['push']('(!!'+_0x2cb2d2+'\x20&&\x20!!'+_0x2646b3+')'):'or'===_0x2adfbe?_0x4734dd['push']('(!!'+_0x2cb2d2+'\x20||\x20!!'+_0x2646b3+')'):'||'===_0x2adfbe?_0x4734dd['push']('(function(a,b){\x20return\x20Array.isArray(a)\x20&&\x20Array.isArray(b)\x20?\x20a.concat(b)\x20:\x20String(a)\x20+\x20String(b);\x20}(('+_0x2cb2d2+'),('+_0x2646b3+')))'):'=='===_0x2adfbe?_0x4734dd['push']('('+_0x2cb2d2+'\x20===\x20'+_0x2646b3+')'):'!='===_0x2adfbe?_0x4734dd['push']('('+_0x2cb2d2+'\x20!==\x20'+_0x2646b3+')'):'['===_0x2adfbe?_0x4734dd['push'](_0x2cb2d2+'[('+_0x2646b3+')\x20|\x200]'):_0x4734dd['push']('('+_0x2cb2d2+'\x20'+_0x2adfbe+'\x20'+_0x2646b3+')'):'['===_0x2adfbe?_0x4734dd['push'](_0x2cb2d2+'['+_0x2646b3+']'):_0x4734dd['push']('('+_0x2cb2d2+'\x20'+_0x2adfbe+'\x20'+_0x2646b3+')');else if(_0x54e3e0===It){if(_0x209e44=_0x4734dd['pop'](),_0x2646b3=_0x4734dd['pop'](),_0x2cb2d2=_0x4734dd['pop'](),'?'!==(_0x2adfbe=_0x386f07['value']))throw new Error('invalid\x20Expression');_0x4734dd['push']('('+_0x2cb2d2+'\x20?\x20'+_0x2646b3+'\x20:\x20'+_0x209e44+')');}else if(_0x54e3e0===Rt||_0x54e3e0===zt)_0x4734dd['push'](_0x386f07['value']);else if(_0x54e3e0===Dt)_0x2cb2d2=_0x4734dd['pop'](),'-'===(_0x2adfbe=_0x386f07['value'])||'+'===_0x2adfbe?_0x4734dd['push']('('+_0x2adfbe+_0x2cb2d2+')'):_0x306125?'not'===_0x2adfbe?_0x4734dd['push']('(!'+_0x2cb2d2+')'):'!'===_0x2adfbe?_0x4734dd['push']('fac('+_0x2cb2d2+')'):_0x4734dd['push'](_0x2adfbe+'('+_0x2cb2d2+')'):'!'===_0x2adfbe?_0x4734dd['push']('('+_0x2cb2d2+'!)'):_0x4734dd['push']('('+_0x2adfbe+'\x20'+_0x2cb2d2+')');else if(_0x54e3e0===Nt){for(_0x22f9ce=_0x386f07['value'],_0x2fedbf=[];_0x22f9ce-->0x0;)_0x2fedbf['unshift'](_0x4734dd['pop']());_0x2adfbe=_0x4734dd['pop'](),_0x4734dd['push'](_0x2adfbe+'('+_0x2fedbf['join'](',\x20')+')');}else if(_0x54e3e0===Ut){for(_0x2646b3=_0x4734dd['pop'](),_0x22f9ce=_0x386f07['value'],_0x2fedbf=[];_0x22f9ce-->0x0;)_0x2fedbf['unshift'](_0x4734dd['pop']());_0x2cb2d2=_0x4734dd['pop'](),_0x306125?_0x4734dd['push']('('+_0x2cb2d2+'\x20=\x20function('+_0x2fedbf['join'](',\x20')+')\x20{\x20return\x20'+_0x2646b3+'\x20})'):_0x4734dd['push']('('+_0x2cb2d2+'('+_0x2fedbf['join'](',\x20')+')\x20=\x20'+_0x2646b3+')');}else if(_0x54e3e0===Bt)_0x2cb2d2=_0x4734dd['pop'](),_0x4734dd['push'](_0x2cb2d2+'.'+_0x386f07['value']);else if(_0x54e3e0===Jt){for(_0x22f9ce=_0x386f07['value'],_0x2fedbf=[];_0x22f9ce-->0x0;)_0x2fedbf['unshift'](_0x4734dd['pop']());_0x4734dd['push']('['+_0x2fedbf['join'](',\x20')+']');}else if(_0x54e3e0===Vt)_0x4734dd['push']('('+sn(_0x386f07['value'],_0x306125)+')');else if(_0x54e3e0!==$t)throw new Error('invalid\x20Expression');}return _0x4734dd['length']>0x1&&(_0x4734dd=_0x306125?[_0x4734dd['join'](',')]:[_0x4734dd['join'](';')]),String(_0x4734dd[0x0]);}function rn(_0xbfa03f){return'string'==typeof _0xbfa03f?JSON['stringify'](_0xbfa03f)['replace'](/\u2028/g,'\x5cu2028')['replace'](/\u2029/g,'\x5cu2029'):_0xbfa03f;}function an(_0x1e25c1,_0x1b667f){for(var _0x3f5a5e=0x0;_0x3f5a5e<_0x1e25c1['length'];_0x3f5a5e++)if(_0x1e25c1[_0x3f5a5e]===_0x1b667f)return!0x0;return!0x1;}function on(_0x2868a1,_0x5708e8,_0x2918b9){for(var _0x2321f8=!!(_0x2918b9=_0x2918b9||{})['withMembers'],_0x31128f=null,_0x3abc32=0x0;_0x3abc32<_0x2868a1['length'];_0x3abc32++){var _0x303a76=_0x2868a1[_0x3abc32];_0x303a76['type']===Rt||_0x303a76['type']===zt?_0x2321f8||an(_0x5708e8,_0x303a76['value'])?null!==_0x31128f?(an(_0x5708e8,_0x31128f)||_0x5708e8['push'](_0x31128f),_0x31128f=_0x303a76['value']):_0x31128f=_0x303a76['value']:_0x5708e8['push'](_0x303a76['value']):_0x303a76['type']===Bt&&_0x2321f8&&null!==_0x31128f?_0x31128f+='.'+_0x303a76['value']:_0x303a76['type']===Vt?on(_0x303a76['value'],_0x5708e8,_0x2918b9):null!==_0x31128f&&(an(_0x5708e8,_0x31128f)||_0x5708e8['push'](_0x31128f),_0x31128f=null);}null===_0x31128f||an(_0x5708e8,_0x31128f)||_0x5708e8['push'](_0x31128f);}function ln(_0x4872fe,_0x14768f){this['tokens']=_0x4872fe,this['parser']=_0x14768f,this['unaryOps']=_0x14768f['unaryOps'],this['binaryOps']=_0x14768f['binaryOps'],this['ternaryOps']=_0x14768f['ternaryOps'],this['functions']=_0x14768f['functions'];}Ht['prototype']['toString']=function(){switch(this['type']){case Ft:case Dt:case Pt:case It:case Rt:case zt:case $t:return this['value'];case Nt:return'CALL\x20'+this['value'];case Ut:return'DEF\x20'+this['value'];case Jt:return'ARRAY\x20'+this['value'];case Bt:return'.'+this['value'];default:return'Invalid\x20Instruction';}},ln['prototype']['simplify']=function(_0x554c89){return _0x554c89=_0x554c89||{},new ln(Yt(this['tokens'],this['unaryOps'],this['binaryOps'],this['ternaryOps'],_0x554c89),this['parser']);},ln['prototype']['substitute']=function(_0x168926,_0x5e2420){return _0x5e2420 instanceof ln||(_0x5e2420=this['parser']['parse'](String(_0x5e2420))),new ln(Zt(this['tokens'],_0x168926,_0x5e2420),this['parser']);},ln['prototype']['evaluate']=function(_0x5bd439){return _0x5bd439=_0x5bd439||{},Kt(this['tokens'],this,_0x5bd439);},ln['prototype']['toString']=function(){return sn(this['tokens'],!0x1);},ln['prototype']['symbols']=function(_0x45763a){_0x45763a=_0x45763a||{};var _0x446c4a=[];return on(this['tokens'],_0x446c4a,_0x45763a),_0x446c4a;},ln['prototype']['variables']=function(_0x167511){_0x167511=_0x167511||{};var _0x245a69=[];on(this['tokens'],_0x245a69,_0x167511);var _0x1b76dd=this['functions'];return _0x245a69['filter'](function(_0x42550b){return!(_0x42550b in _0x1b76dd);});},ln['prototype']['toJSFunction']=function(_0x1f1ef8,_0x2412ef){var _0x528c03=this,_0x1cb60d=new Function(_0x1f1ef8,'with(this.functions)\x20with\x20(this.ternaryOps)\x20with\x20(this.binaryOps)\x20with\x20(this.unaryOps)\x20{\x20return\x20'+sn(this['simplify'](_0x2412ef)['tokens'],!0x0)+';\x20}');return function(){return _0x1cb60d['apply'](_0x528c03,arguments);};};var cn='TEOF',hn='TOP',un='TNUMBER',dn='TSTRING',pn='TPAREN',mn='TBRACKET',gn='TCOMMA',fn='TNAME',yn='TSEMICOLON';function vn(_0x45976b,_0x5b20cb,_0x32fe35){this['type']=_0x45976b,this['value']=_0x5b20cb,this['index']=_0x32fe35;}function bn(_0x29899f,_0xd840db){this['pos']=0x0,this['current']=null,this['unaryOps']=_0x29899f['unaryOps'],this['binaryOps']=_0x29899f['binaryOps'],this['ternaryOps']=_0x29899f['ternaryOps'],this['consts']=_0x29899f['consts'],this['expression']=_0xd840db,this['savedPosition']=0x0,this['savedCurrent']=null,this['options']=_0x29899f['options'],this['parser']=_0x29899f;}vn['prototype']['toString']=function(){return this['type']+':\x20'+this['value'];},bn['prototype']['newToken']=function(_0x34a27c,_0x1d2511,_0x2a3133){return new vn(_0x34a27c,_0x1d2511,null!=_0x2a3133?_0x2a3133:this['pos']);},bn['prototype']['save']=function(){this['savedPosition']=this['pos'],this['savedCurrent']=this['current'];},bn['prototype']['restore']=function(){this['pos']=this['savedPosition'],this['current']=this['savedCurrent'];},bn['prototype']['next']=function(){return this['pos']>=this['expression']['length']?this['newToken'](cn,'EOF'):this['isWhitespace']()||this['isComment']()?this['next']():this['isRadixInteger']()||this['isNumber']()||this['isOperator']()||this['isString']()||this['isParen']()||this['isBracket']()||this['isComma']()||this['isSemicolon']()||this['isNamedOp']()||this['isConst']()||this['isName']()?this['current']:void this['parseError']('Unknown\x20character\x20\x22'+this['expression']['charAt'](this['pos'])+'\x22');},bn['prototype']['isString']=function(){var _0x54bf77=!0x1,_0x57b523=this['pos'],_0x5b0b7f=this['expression']['charAt'](_0x57b523);if('\x27'===_0x5b0b7f||'\x22'===_0x5b0b7f)for(var _0x51d563=this['expression']['indexOf'](_0x5b0b7f,_0x57b523+0x1);_0x51d563>=0x0&&this['pos']<this['expression']['length'];){if(this['pos']=_0x51d563+0x1,'\x5c'!==this['expression']['charAt'](_0x51d563-0x1)){var _0x525d8c=this['expression']['substring'](_0x57b523+0x1,_0x51d563);this['current']=this['newToken'](dn,this['unescape'](_0x525d8c),_0x57b523),_0x54bf77=!0x0;break;}_0x51d563=this['expression']['indexOf'](_0x5b0b7f,_0x51d563+0x1);}return _0x54bf77;},bn['prototype']['isParen']=function(){var _0x54aa78=this['expression']['charAt'](this['pos']);return('('===_0x54aa78||')'===_0x54aa78)&&(this['current']=this['newToken'](pn,_0x54aa78),this['pos']++,!0x0);},bn['prototype']['isBracket']=function(){var _0x3aa660=this['expression']['charAt'](this['pos']);return!('['!==_0x3aa660&&']'!==_0x3aa660||!this['isOperatorEnabled']('['))&&(this['current']=this['newToken'](mn,_0x3aa660),this['pos']++,!0x0);},bn['prototype']['isComma']=function(){return','===this['expression']['charAt'](this['pos'])&&(this['current']=this['newToken'](gn,','),this['pos']++,!0x0);},bn['prototype']['isSemicolon']=function(){return';'===this['expression']['charAt'](this['pos'])&&(this['current']=this['newToken'](yn,';'),this['pos']++,!0x0);},bn['prototype']['isConst']=function(){for(var _0x552e86=this['pos'],_0x22deda=_0x552e86;_0x22deda<this['expression']['length'];_0x22deda++){var _0x1ce50e=this['expression']['charAt'](_0x22deda);if(_0x1ce50e['toUpperCase']()===_0x1ce50e['toLowerCase']()&&(_0x22deda===this['pos']||'_'!==_0x1ce50e&&'.'!==_0x1ce50e&&(_0x1ce50e<'0'||_0x1ce50e>'9')))break;}if(_0x22deda>_0x552e86){var _0x4f6639=this['expression']['substring'](_0x552e86,_0x22deda);if(_0x4f6639 in this['consts'])return this['current']=this['newToken'](un,this['consts'][_0x4f6639]),this['pos']+=_0x4f6639['length'],!0x0;}return!0x1;},bn['prototype']['isNamedOp']=function(){for(var _0x1c47cf=this['pos'],_0x3536d4=_0x1c47cf;_0x3536d4<this['expression']['length'];_0x3536d4++){var _0x409763=this['expression']['charAt'](_0x3536d4);if(_0x409763['toUpperCase']()===_0x409763['toLowerCase']()&&(_0x3536d4===this['pos']||'_'!==_0x409763&&(_0x409763<'0'||_0x409763>'9')))break;}if(_0x3536d4>_0x1c47cf){var _0x4e6fe4=this['expression']['substring'](_0x1c47cf,_0x3536d4);if(this['isOperatorEnabled'](_0x4e6fe4)&&(_0x4e6fe4 in this['binaryOps']||_0x4e6fe4 in this['unaryOps']||_0x4e6fe4 in this['ternaryOps']))return this['current']=this['newToken'](hn,_0x4e6fe4),this['pos']+=_0x4e6fe4['length'],!0x0;}return!0x1;},bn['prototype']['isName']=function(){for(var _0x9a6087=this['pos'],_0x52a564=_0x9a6087,_0xf79011=!0x1;_0x52a564<this['expression']['length'];_0x52a564++){var _0x1179b9=this['expression']['charAt'](_0x52a564);if(_0x1179b9['toUpperCase']()===_0x1179b9['toLowerCase']()){if(_0x52a564===this['pos']&&('$'===_0x1179b9||'_'===_0x1179b9)){'_'===_0x1179b9&&(_0xf79011=!0x0);continue;}if(_0x52a564===this['pos']||!_0xf79011||'_'!==_0x1179b9&&(_0x1179b9<'0'||_0x1179b9>'9'))break;}else _0xf79011=!0x0;}if(_0xf79011){var _0x96afc4=this['expression']['substring'](_0x9a6087,_0x52a564);return this['current']=this['newToken'](fn,_0x96afc4),this['pos']+=_0x96afc4['length'],!0x0;}return!0x1;},bn['prototype']['isWhitespace']=function(){for(var _0x408449=!0x1,_0x41228e=this['expression']['charAt'](this['pos']);!('\x20'!==_0x41228e&&'\x09'!==_0x41228e&&'\x0a'!==_0x41228e&&'\x0d'!==_0x41228e||(_0x408449=!0x0,this['pos']++,this['pos']>=this['expression']['length']));)_0x41228e=this['expression']['charAt'](this['pos']);return _0x408449;};var wn=/^[0-9a-f]{4}$/i;function xn(_0x5ec22a,_0x37bda5,_0x3d110c){this['parser']=_0x5ec22a,this['tokens']=_0x37bda5,this['current']=null,this['nextToken']=null,this['next'](),this['savedCurrent']=null,this['savedNextToken']=null,this['allowMemberAccess']=!0x1!==_0x3d110c['allowMemberAccess'];}bn['prototype']['unescape']=function(_0x1bc422){var _0x496446=_0x1bc422['indexOf']('\x5c');if(_0x496446<0x0)return _0x1bc422;for(var _0x343528=_0x1bc422['substring'](0x0,_0x496446);_0x496446>=0x0;){var _0x27d07a=_0x1bc422['charAt'](++_0x496446);switch(_0x27d07a){case'\x27':_0x343528+='\x27';break;case'\x22':_0x343528+='\x22';break;case'\x5c':_0x343528+='\x5c';break;case'/':_0x343528+='/';break;case'b':_0x343528+='\x08';break;case'f':_0x343528+='\x0c';break;case'n':_0x343528+='\x0a';break;case'r':_0x343528+='\x0d';break;case't':_0x343528+='\x09';break;case'u':var _0x5343d9=_0x1bc422['substring'](_0x496446+0x1,_0x496446+0x5);wn['test'](_0x5343d9)||this['parseError']('Illegal\x20escape\x20sequence:\x20\x5cu'+_0x5343d9),_0x343528+=String['fromCharCode'](parseInt(_0x5343d9,0x10)),_0x496446+=0x4;break;default:throw this['parseError']('Illegal\x20escape\x20sequence:\x20\x22\x5c'+_0x27d07a+'\x22');}++_0x496446;var _0x2fd30a=_0x1bc422['indexOf']('\x5c',_0x496446);_0x343528+=_0x1bc422['substring'](_0x496446,_0x2fd30a<0x0?_0x1bc422['length']:_0x2fd30a),_0x496446=_0x2fd30a;}return _0x343528;},bn['prototype']['isComment']=function(){return'/'===this['expression']['charAt'](this['pos'])&&'*'===this['expression']['charAt'](this['pos']+0x1)&&(this['pos']=this['expression']['indexOf']('*/',this['pos'])+0x2,0x1===this['pos']&&(this['pos']=this['expression']['length']),!0x0);},bn['prototype']['isRadixInteger']=function(){var _0x41a6b5,_0x5efc00,_0x2e2eb1=this['pos'];if(_0x2e2eb1>=this['expression']['length']-0x2||'0'!==this['expression']['charAt'](_0x2e2eb1))return!0x1;if(++_0x2e2eb1,'x'===this['expression']['charAt'](_0x2e2eb1))_0x41a6b5=0x10,_0x5efc00=/^[0-9a-f]$/i,++_0x2e2eb1;else{if('b'!==this['expression']['charAt'](_0x2e2eb1))return!0x1;_0x41a6b5=0x2,_0x5efc00=/^[01]$/i,++_0x2e2eb1;}for(var _0x195d12=!0x1,_0x4944a8=_0x2e2eb1;_0x2e2eb1<this['expression']['length'];){var _0x4a4527=this['expression']['charAt'](_0x2e2eb1);if(!_0x5efc00['test'](_0x4a4527))break;_0x2e2eb1++,_0x195d12=!0x0;}return _0x195d12&&(this['current']=this['newToken'](un,parseInt(this['expression']['substring'](_0x4944a8,_0x2e2eb1),_0x41a6b5)),this['pos']=_0x2e2eb1),_0x195d12;},bn['prototype']['isNumber']=function(){for(var _0x55a3cb,_0x410282=!0x1,_0x48892d=this['pos'],_0x5f513b=_0x48892d,_0x13a7aa=_0x48892d,_0x5b2a9a=!0x1,_0x1e86f9=!0x1;_0x48892d<this['expression']['length']&&((_0x55a3cb=this['expression']['charAt'](_0x48892d))>='0'&&_0x55a3cb<='9'||!_0x5b2a9a&&'.'===_0x55a3cb);)'.'===_0x55a3cb?_0x5b2a9a=!0x0:_0x1e86f9=!0x0,_0x48892d++,_0x410282=_0x1e86f9;if(_0x410282&&(_0x13a7aa=_0x48892d),'e'===_0x55a3cb||'E'===_0x55a3cb){_0x48892d++;for(var _0x1b345c=!0x0,_0x1ad1da=!0x1;_0x48892d<this['expression']['length'];){if(_0x55a3cb=this['expression']['charAt'](_0x48892d),!_0x1b345c||'+'!==_0x55a3cb&&'-'!==_0x55a3cb){if(!(_0x55a3cb>='0'&&_0x55a3cb<='9'))break;_0x1ad1da=!0x0,_0x1b345c=!0x1;}else _0x1b345c=!0x1;_0x48892d++;}_0x1ad1da||(_0x48892d=_0x13a7aa);}return _0x410282?(this['current']=this['newToken'](un,parseFloat(this['expression']['substring'](_0x5f513b,_0x48892d))),this['pos']=_0x48892d):this['pos']=_0x13a7aa,_0x410282;},bn['prototype']['isOperator']=function(){var _0x2c9133=this['pos'],_0x4caa19=this['expression']['charAt'](this['pos']);if('+'===_0x4caa19||'-'===_0x4caa19||'*'===_0x4caa19||'/'===_0x4caa19||'%'===_0x4caa19||'^'===_0x4caa19||'?'===_0x4caa19||':'===_0x4caa19||'.'===_0x4caa19)this['current']=this['newToken'](hn,_0x4caa19);else if('∙'===_0x4caa19||'•'===_0x4caa19)this['current']=this['newToken'](hn,'*');else if('>'===_0x4caa19)'='===this['expression']['charAt'](this['pos']+0x1)?(this['current']=this['newToken'](hn,'>='),this['pos']++):this['current']=this['newToken'](hn,'>');else if('<'===_0x4caa19)'='===this['expression']['charAt'](this['pos']+0x1)?(this['current']=this['newToken'](hn,'<='),this['pos']++):this['current']=this['newToken'](hn,'<');else if('|'===_0x4caa19){if('|'!==this['expression']['charAt'](this['pos']+0x1))return!0x1;this['current']=this['newToken'](hn,'||'),this['pos']++;}else if('='===_0x4caa19)'='===this['expression']['charAt'](this['pos']+0x1)?(this['current']=this['newToken'](hn,'=='),this['pos']++):this['current']=this['newToken'](hn,_0x4caa19);else{if('!'!==_0x4caa19)return!0x1;'='===this['expression']['charAt'](this['pos']+0x1)?(this['current']=this['newToken'](hn,'!='),this['pos']++):this['current']=this['newToken'](hn,_0x4caa19);}return this['pos']++,!!this['isOperatorEnabled'](this['current']['value'])||(this['pos']=_0x2c9133,!0x1);},bn['prototype']['isOperatorEnabled']=function(_0x24b23b){return this['parser']['isOperatorEnabled'](_0x24b23b);},bn['prototype']['getCoordinates']=function(){var _0x3e9846,_0x33fd3e=0x0,_0x571045=-0x1;do{_0x33fd3e++,_0x3e9846=this['pos']-_0x571045,_0x571045=this['expression']['indexOf']('\x0a',_0x571045+0x1);}while(_0x571045>=0x0&&_0x571045<this['pos']);return{'line':_0x33fd3e,'column':_0x3e9846};},bn['prototype']['parseError']=function(_0x2f93e4){var _0x1c6067=this['getCoordinates']();throw new Error('parse\x20error\x20['+_0x1c6067['line']+':'+_0x1c6067['column']+']:\x20'+_0x2f93e4);},xn['prototype']['next']=function(){return this['current']=this['nextToken'],this['nextToken']=this['tokens']['next']();},xn['prototype']['tokenMatches']=function(_0x17a8fe,_0xcbc762){return void 0x0===_0xcbc762||(Array['isArray'](_0xcbc762)?an(_0xcbc762,_0x17a8fe['value']):'function'==typeof _0xcbc762?_0xcbc762(_0x17a8fe):_0x17a8fe['value']===_0xcbc762);},xn['prototype']['save']=function(){this['savedCurrent']=this['current'],this['savedNextToken']=this['nextToken'],this['tokens']['save']();},xn['prototype']['restore']=function(){this['tokens']['restore'](),this['current']=this['savedCurrent'],this['nextToken']=this['savedNextToken'];},xn['prototype']['accept']=function(_0xc5d56a,_0x3fa6e0){return!(this['nextToken']['type']!==_0xc5d56a||!this['tokenMatches'](this['nextToken'],_0x3fa6e0))&&(this['next'](),!0x0);},xn['prototype']['expect']=function(_0x585dca,_0xcb3188){if(!this['accept'](_0x585dca,_0xcb3188)){var _0x5664cc=this['tokens']['getCoordinates']();throw new Error('parse\x20error\x20['+_0x5664cc['line']+':'+_0x5664cc['column']+']:\x20Expected\x20'+(_0xcb3188||_0x585dca));}},xn['prototype']['parseAtom']=function(_0x1de298){var _0x38429a=this['tokens']['unaryOps'];if(this['accept'](fn)||this['accept'](hn,function(_0xaaa077){return _0xaaa077['value']in _0x38429a;}))_0x1de298['push'](new Ht(Rt,this['current']['value']));else if(this['accept'](un))_0x1de298['push'](new Ht(Ft,this['current']['value']));else if(this['accept'](dn))_0x1de298['push'](new Ht(Ft,this['current']['value']));else if(this['accept'](pn,'('))this['parseExpression'](_0x1de298),this['expect'](pn,')');else{if(!this['accept'](mn,'['))throw new Error('unexpected\x20'+this['nextToken']);if(this['accept'](mn,']'))_0x1de298['push'](new Ht(Jt,0x0));else{var _0x38731a=this['parseArrayList'](_0x1de298);_0x1de298['push'](new Ht(Jt,_0x38731a));}}},xn['prototype']['parseExpression']=function(_0x3c3f66){var _0x588f1a=[];this['parseUntilEndStatement'](_0x3c3f66,_0x588f1a)||(this['parseVariableAssignmentExpression'](_0x588f1a),this['parseUntilEndStatement'](_0x3c3f66,_0x588f1a)||this['pushExpression'](_0x3c3f66,_0x588f1a));},xn['prototype']['pushExpression']=function(_0x56ef0a,_0x1f3f7b){for(var _0x2fcffd=0x0,_0x5d1f49=_0x1f3f7b['length'];_0x2fcffd<_0x5d1f49;_0x2fcffd++)_0x56ef0a['push'](_0x1f3f7b[_0x2fcffd]);},xn['prototype']['parseUntilEndStatement']=function(_0x47b09e,_0x867131){return!!this['accept'](yn)&&(!this['nextToken']||this['nextToken']['type']===cn||this['nextToken']['type']===pn&&')'===this['nextToken']['value']||_0x867131['push'](new Ht($t)),this['nextToken']['type']!==cn&&this['parseExpression'](_0x867131),_0x47b09e['push'](new Ht(Vt,_0x867131)),!0x0);},xn['prototype']['parseArrayList']=function(_0x58ceff){for(var _0x411538=0x0;!this['accept'](mn,']');)for(this['parseExpression'](_0x58ceff),++_0x411538;this['accept'](gn);)this['parseExpression'](_0x58ceff),++_0x411538;return _0x411538;},xn['prototype']['parseVariableAssignmentExpression']=function(_0x9fda37){for(this['parseConditionalExpression'](_0x9fda37);this['accept'](hn,'=');){var _0x5414bd=_0x9fda37['pop'](),_0x36745f=[],_0x2858fe=_0x9fda37['length']-0x1;if(_0x5414bd['type']!==Nt){if(_0x5414bd['type']!==Rt&&_0x5414bd['type']!==Bt)throw new Error('expected\x20variable\x20for\x20assignment');this['parseVariableAssignmentExpression'](_0x36745f),_0x9fda37['push'](new Ht(zt,_0x5414bd['value'])),_0x9fda37['push'](new Ht(Vt,_0x36745f)),_0x9fda37['push'](Wt('='));}else{if(!this['tokens']['isOperatorEnabled']('()='))throw new Error('function\x20definition\x20is\x20not\x20permitted');for(var _0x38dc45=0x0,_0x33ef48=_0x5414bd['value']+0x1;_0x38dc45<_0x33ef48;_0x38dc45++){var _0x40ecf7=_0x2858fe-_0x38dc45;_0x9fda37[_0x40ecf7]['type']===Rt&&(_0x9fda37[_0x40ecf7]=new Ht(zt,_0x9fda37[_0x40ecf7]['value']));}this['parseVariableAssignmentExpression'](_0x36745f),_0x9fda37['push'](new Ht(Vt,_0x36745f)),_0x9fda37['push'](new Ht(Ut,_0x5414bd['value']));}}},xn['prototype']['parseConditionalExpression']=function(_0x38a1c3){for(this['parseOrExpression'](_0x38a1c3);this['accept'](hn,'?');){var _0x166867=[],_0x2ce8f2=[];this['parseConditionalExpression'](_0x166867),this['expect'](hn,':'),this['parseConditionalExpression'](_0x2ce8f2),_0x38a1c3['push'](new Ht(Vt,_0x166867)),_0x38a1c3['push'](new Ht(Vt,_0x2ce8f2)),_0x38a1c3['push'](Xt('?'));}},xn['prototype']['parseOrExpression']=function(_0x2dea55){for(this['parseAndExpression'](_0x2dea55);this['accept'](hn,'or');){var _0x55fba2=[];this['parseAndExpression'](_0x55fba2),_0x2dea55['push'](new Ht(Vt,_0x55fba2)),_0x2dea55['push'](Wt('or'));}},xn['prototype']['parseAndExpression']=function(_0x23dea9){for(this['parseComparison'](_0x23dea9);this['accept'](hn,'and');){var _0x2bcd25=[];this['parseComparison'](_0x2bcd25),_0x23dea9['push'](new Ht(Vt,_0x2bcd25)),_0x23dea9['push'](Wt('and'));}};var Mn=['==','!=','<','<=','>=','>','in'];xn['prototype']['parseComparison']=function(_0x4f7785){for(this['parseAddSub'](_0x4f7785);this['accept'](hn,Mn);){var _0x200374=this['current'];this['parseAddSub'](_0x4f7785),_0x4f7785['push'](Wt(_0x200374['value']));}};var _n=['+','-','||'];xn['prototype']['parseAddSub']=function(_0x1c52ec){for(this['parseTerm'](_0x1c52ec);this['accept'](hn,_n);){var _0x1a5f90=this['current'];this['parseTerm'](_0x1c52ec),_0x1c52ec['push'](Wt(_0x1a5f90['value']));}};var Sn=['*','/','%'];function An(_0x1186e4,_0x2c43a2){return Number(_0x1186e4)+Number(_0x2c43a2);}function Ln(_0x58e21c,_0x4d0680){return _0x58e21c-_0x4d0680;}function En(_0x2e6d6b,_0x446cc6){return _0x2e6d6b*_0x446cc6;}function Cn(_0x3f5057,_0x474b80){return _0x3f5057/_0x474b80;}function jn(_0xa5e31a,_0x16d413){return _0xa5e31a%_0x16d413;}function kn(_0x470302,_0x1453a5){return Array['isArray'](_0x470302)&&Array['isArray'](_0x1453a5)?_0x470302['concat'](_0x1453a5):''+_0x470302+_0x1453a5;}function Tn(_0xf694ed,_0x23e242){return _0xf694ed===_0x23e242;}function On(_0x300019,_0x3e1831){return _0x300019!==_0x3e1831;}function Fn(_0x4859f5,_0x12ba08){return _0x4859f5>_0x12ba08;}function Dn(_0x5ab9ab,_0x363599){return _0x5ab9ab<_0x363599;}function Pn(_0x372757,_0x382be1){return _0x372757>=_0x382be1;}function In(_0x4f20bd,_0x282d15){return _0x4f20bd<=_0x282d15;}function Rn(_0x5b6bfa,_0x325db6){return Boolean(_0x5b6bfa&&_0x325db6);}function zn(_0x58b5b6,_0x552d64){return Boolean(_0x58b5b6||_0x552d64);}function Nn(_0x2fc1b8,_0x16ce43){return an(_0x16ce43,_0x2fc1b8);}function Un(_0x4ebc45){return(Math['exp'](_0x4ebc45)-Math['exp'](-_0x4ebc45))/0x2;}function Vn(_0x49daab){return(Math['exp'](_0x49daab)+Math['exp'](-_0x49daab))/0x2;}function qn(_0x3c59d8){return _0x3c59d8===0x1/0x0?0x1:_0x3c59d8===-0x1/0x0?-0x1:(Math['exp'](_0x3c59d8)-Math['exp'](-_0x3c59d8))/(Math['exp'](_0x3c59d8)+Math['exp'](-_0x3c59d8));}function Bn(_0x5c22b5){return _0x5c22b5===-0x1/0x0?_0x5c22b5:Math['log'](_0x5c22b5+Math['sqrt'](_0x5c22b5*_0x5c22b5+0x1));}function $n(_0x51ce94){return Math['log'](_0x51ce94+Math['sqrt'](_0x51ce94*_0x51ce94-0x1));}function Jn(_0x386f28){return Math['log']((0x1+_0x386f28)/(0x1-_0x386f28))/0x2;}function Hn(_0x4ad0d2){return Math['log'](_0x4ad0d2)*Math['LOG10E'];}function Gn(_0xeb27c4){return-_0xeb27c4;}function Wn(_0x316199){return!_0x316199;}function Xn(_0x3b887f){return _0x3b887f<0x0?Math['ceil'](_0x3b887f):Math['floor'](_0x3b887f);}function Yn(_0x24e8aa){return Math['random']()*(_0x24e8aa||0x1);}function Zn(_0x585aa4){return ei(_0x585aa4+0x1);}xn['prototype']['parseTerm']=function(_0x427a99){for(this['parseFactor'](_0x427a99);this['accept'](hn,Sn);){var _0x51b054=this['current'];this['parseFactor'](_0x427a99),_0x427a99['push'](Wt(_0x51b054['value']));}},xn['prototype']['parseFactor']=function(_0x16cc5e){var _0x2809e7=this['tokens']['unaryOps'];if(this['save'](),this['accept'](hn,function(_0x481c6d){return _0x481c6d['value']in _0x2809e7;})){if('-'!==this['current']['value']&&'+'!==this['current']['value']){if(this['nextToken']['type']===pn&&'('===this['nextToken']['value'])return this['restore'](),void this['parseExponential'](_0x16cc5e);if(this['nextToken']['type']===yn||this['nextToken']['type']===gn||this['nextToken']['type']===cn||this['nextToken']['type']===pn&&')'===this['nextToken']['value'])return this['restore'](),void this['parseAtom'](_0x16cc5e);}var _0x522263=this['current'];this['parseFactor'](_0x16cc5e),_0x16cc5e['push'](Gt(_0x522263['value']));}else this['parseExponential'](_0x16cc5e);},xn['prototype']['parseExponential']=function(_0x35d022){for(this['parsePostfixExpression'](_0x35d022);this['accept'](hn,'^');)this['parseFactor'](_0x35d022),_0x35d022['push'](Wt('^'));},xn['prototype']['parsePostfixExpression']=function(_0x5d8482){for(this['parseFunctionCall'](_0x5d8482);this['accept'](hn,'!');)_0x5d8482['push'](Gt('!'));},xn['prototype']['parseFunctionCall']=function(_0x334939){var _0x1a6c45=this['tokens']['unaryOps'];if(this['accept'](hn,function(_0x502dbb){return _0x502dbb['value']in _0x1a6c45;})){var _0x5a189d=this['current'];this['parseAtom'](_0x334939),_0x334939['push'](Gt(_0x5a189d['value']));}else for(this['parseMemberExpression'](_0x334939);this['accept'](pn,'(');)if(this['accept'](pn,')'))_0x334939['push'](new Ht(Nt,0x0));else{var _0x18be6e=this['parseArgumentList'](_0x334939);_0x334939['push'](new Ht(Nt,_0x18be6e));}},xn['prototype']['parseArgumentList']=function(_0x2c7cb4){for(var _0x1b9714=0x0;!this['accept'](pn,')');)for(this['parseExpression'](_0x2c7cb4),++_0x1b9714;this['accept'](gn);)this['parseExpression'](_0x2c7cb4),++_0x1b9714;return _0x1b9714;},xn['prototype']['parseMemberExpression']=function(_0x10a569){for(this['parseAtom'](_0x10a569);this['accept'](hn,'.')||this['accept'](mn,'[');){var _0x81c4a1=this['current'];if('.'===_0x81c4a1['value']){if(!this['allowMemberAccess'])throw new Error('unexpected\x20\x22.\x22,\x20member\x20access\x20is\x20not\x20permitted');this['expect'](fn),_0x10a569['push'](new Ht(Bt,this['current']['value']));}else{if('['!==_0x81c4a1['value'])throw new Error('unexpected\x20symbol:\x20'+_0x81c4a1['value']);if(!this['tokens']['isOperatorEnabled']('['))throw new Error('unexpected\x20\x22[]\x22,\x20arrays\x20are\x20disabled');this['parseExpression'](_0x10a569),this['expect'](mn,']'),_0x10a569['push'](Wt('['));}}};var Qn=4.7421875,Kn=[0.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-0.4919138160976202,0.00003399464998481189,0.00004652362892704858,-0.00009837447530487956,0.0001580887032249125,-0.00021026444172410488,0.00021743961811521265,-0.0001643181065367639,0.00008441822398385275,-0.000026190838401581408,0.0000036899182659531625];function ei(_0x400bf8){var _0x134ad7,_0x1bd68a;if(function(_0x287725){return isFinite(_0x287725)&&_0x287725===Math['round'](_0x287725);}(_0x400bf8)){if(_0x400bf8<=0x0)return isFinite(_0x400bf8)?0x1/0x0:NaN;if(_0x400bf8>0xab)return 0x1/0x0;for(var _0x26609a=_0x400bf8-0x2,_0x21e0cf=_0x400bf8-0x1;_0x26609a>0x1;)_0x21e0cf*=_0x26609a,_0x26609a--;return 0x0===_0x21e0cf&&(_0x21e0cf=0x1),_0x21e0cf;}if(_0x400bf8<0.5)return Math['PI']/(Math['sin'](Math['PI']*_0x400bf8)*ei(0x1-_0x400bf8));if(_0x400bf8>=171.35)return 0x1/0x0;if(_0x400bf8>0x55){var _0x121c6c=_0x400bf8*_0x400bf8,_0x11b9e7=_0x121c6c*_0x400bf8,_0x5b716b=_0x11b9e7*_0x400bf8,_0x4b1e40=_0x5b716b*_0x400bf8;return Math['sqrt'](0x2*Math['PI']/_0x400bf8)*Math['pow'](_0x400bf8/Math['E'],_0x400bf8)*(0x1+0x1/(0xc*_0x400bf8)+0x1/(0x120*_0x121c6c)-0x8b/(0xca80*_0x11b9e7)-0x23b/(0x25f800*_0x5b716b)+0x28027/(0xc756000*_0x4b1e40)+0x500f63/(0x11850f0000*_0x4b1e40*_0x400bf8));}--_0x400bf8,_0x1bd68a=Kn[0x0];for(var _0x3f2592=0x1;_0x3f2592<Kn['length'];++_0x3f2592)_0x1bd68a+=Kn[_0x3f2592]/(_0x400bf8+_0x3f2592);return _0x134ad7=_0x400bf8+Qn+0.5,Math['sqrt'](0x2*Math['PI'])*Math['pow'](_0x134ad7,_0x400bf8+0.5)*Math['exp'](-_0x134ad7)*_0x1bd68a;}function ti(_0x441d57){return Array['isArray'](_0x441d57)?_0x441d57['length']:String(_0x441d57)['length'];}function ni(){for(var _0x102c43=0x0,_0x6b7806=0x0,_0x2d98e7=0x0;_0x2d98e7<arguments['length'];_0x2d98e7++){var _0x4a7948,_0x5c18ee=Math['abs'](arguments[_0x2d98e7]);_0x6b7806<_0x5c18ee?(_0x102c43=_0x102c43*(_0x4a7948=_0x6b7806/_0x5c18ee)*_0x4a7948+0x1,_0x6b7806=_0x5c18ee):_0x102c43+=_0x5c18ee>0x0?(_0x4a7948=_0x5c18ee/_0x6b7806)*_0x4a7948:_0x5c18ee;}return _0x6b7806===0x1/0x0?0x1/0x0:_0x6b7806*Math['sqrt'](_0x102c43);}function ii(_0x2c68da,_0x5dfcea,_0x528471){return _0x2c68da?_0x5dfcea:_0x528471;}function si(_0x5829fc,_0x5caa0c){return void 0x0===_0x5caa0c||0x0===+_0x5caa0c?Math['round'](_0x5829fc):(_0x5829fc=+_0x5829fc,_0x5caa0c=-+_0x5caa0c,isNaN(_0x5829fc)||'number'!=typeof _0x5caa0c||_0x5caa0c%0x1!=0x0?NaN:(_0x5829fc=_0x5829fc['toString']()['split']('e'),+((_0x5829fc=(_0x5829fc=Math['round'](+(_0x5829fc[0x0]+'e'+(_0x5829fc[0x1]?+_0x5829fc[0x1]-_0x5caa0c:-_0x5caa0c))))['toString']()['split']('e'))[0x0]+'e'+(_0x5829fc[0x1]?+_0x5829fc[0x1]+_0x5caa0c:_0x5caa0c))));}function ri(_0x32117a,_0x5535db,_0x445f58){return _0x445f58&&(_0x445f58[_0x32117a]=_0x5535db),_0x5535db;}function ai(_0x2bca96,_0x5f5c03){return _0x2bca96[0x0|_0x5f5c03];}function oi(_0x448f3a){return 0x1===arguments['length']&&Array['isArray'](_0x448f3a)?Math['max']['apply'](Math,_0x448f3a):Math['max']['apply'](Math,arguments);}function li(_0x2fac39){return 0x1===arguments['length']&&Array['isArray'](_0x2fac39)?Math['min']['apply'](Math,_0x2fac39):Math['min']['apply'](Math,arguments);}function ci(_0x15f0be,_0x3a8e8a){if('function'!=typeof _0x15f0be)throw new Error('First\x20argument\x20to\x20map\x20is\x20not\x20a\x20function');if(!Array['isArray'](_0x3a8e8a))throw new Error('Second\x20argument\x20to\x20map\x20is\x20not\x20an\x20array');return _0x3a8e8a['map'](function(_0x302c38,_0x1d007b){return _0x15f0be(_0x302c38,_0x1d007b);});}function hi(_0x199aa7,_0x48a1a0,_0x23af03){if('function'!=typeof _0x199aa7)throw new Error('First\x20argument\x20to\x20fold\x20is\x20not\x20a\x20function');if(!Array['isArray'](_0x23af03))throw new Error('Second\x20argument\x20to\x20fold\x20is\x20not\x20an\x20array');return _0x23af03['reduce'](function(_0xb5efec,_0x237685,_0x2b7e07){return _0x199aa7(_0xb5efec,_0x237685,_0x2b7e07);},_0x48a1a0);}function ui(_0x35669f,_0x565b1e){if('function'!=typeof _0x35669f)throw new Error('First\x20argument\x20to\x20filter\x20is\x20not\x20a\x20function');if(!Array['isArray'](_0x565b1e))throw new Error('Second\x20argument\x20to\x20filter\x20is\x20not\x20an\x20array');return _0x565b1e['filter'](function(_0x308468,_0x3e3c45){return _0x35669f(_0x308468,_0x3e3c45);});}function di(_0x598e86,_0x2575c6){if(!Array['isArray'](_0x2575c6)&&'string'!=typeof _0x2575c6)throw new Error('Second\x20argument\x20to\x20indexOf\x20is\x20not\x20a\x20string\x20or\x20array');return _0x2575c6['indexOf'](_0x598e86);}function pi(_0x4cf468,_0x2d0f6d){if(!Array['isArray'](_0x2d0f6d))throw new Error('Second\x20argument\x20to\x20join\x20is\x20not\x20an\x20array');return _0x2d0f6d['join'](_0x4cf468);}function mi(_0x580867){return(_0x580867>0x0)-(_0x580867<0x0)||+_0x580867;}var gi=0x1/0x3;function fi(_0x95a318){return _0x95a318<0x0?-Math['pow'](-_0x95a318,gi):Math['pow'](_0x95a318,gi);}function yi(_0x25222c){return Math['exp'](_0x25222c)-0x1;}function vi(_0xfe4004){return Math['log'](0x1+_0xfe4004);}function bi(_0x21938f){return Math['log'](_0x21938f)/Math['LN2'];}function wi(_0x2b051a){if(!Array['isArray'](_0x2b051a))throw new Error('Sum\x20argument\x20is\x20not\x20an\x20array');return _0x2b051a['reduce'](function(_0x144612,_0x20a55d){return _0x144612+Number(_0x20a55d);},0x0);}function xi(_0x40cee5){this['options']=_0x40cee5||{},this['unaryOps']={'sin':Math['sin'],'cos':Math['cos'],'tan':Math['tan'],'asin':Math['asin'],'acos':Math['acos'],'atan':Math['atan'],'sinh':Math['sinh']||Un,'cosh':Math['cosh']||Vn,'tanh':Math['tanh']||qn,'asinh':Math['asinh']||Bn,'acosh':Math['acosh']||$n,'atanh':Math['atanh']||Jn,'sqrt':Math['sqrt'],'cbrt':Math['cbrt']||fi,'log':Math['log'],'log2':Math['log2']||bi,'ln':Math['log'],'lg':Math['log10']||Hn,'log10':Math['log10']||Hn,'expm1':Math['expm1']||yi,'log1p':Math['log1p']||vi,'abs':Math['abs'],'ceil':Math['ceil'],'floor':Math['floor'],'round':Math['round'],'trunc':Math['trunc']||Xn,'-':Gn,'+':Number,'exp':Math['exp'],'not':Wn,'length':ti,'!':Zn,'sign':Math['sign']||mi},this['binaryOps']={'+':An,'-':Ln,'*':En,'/':Cn,'%':jn,'^':Math['pow'],'||':kn,'==':Tn,'!=':On,'>':Fn,'<':Dn,'>=':Pn,'<=':In,'and':Rn,'or':zn,'in':Nn,'=':ri,'[':ai},this['ternaryOps']={'?':ii},this['functions']={'random':Yn,'fac':Zn,'min':li,'max':oi,'hypot':Math['hypot']||ni,'pyt':Math['hypot']||ni,'pow':Math['pow'],'atan2':Math['atan2'],'if':ii,'gamma':ei,'roundTo':si,'map':ci,'fold':hi,'filter':ui,'indexOf':di,'join':pi,'sum':wi},this['consts']={'E':Math['E'],'PI':Math['PI'],'true':!0x0,'false':!0x1};}xi['prototype']['parse']=function(_0x2e963e){var _0x584638=[],_0x4a4a97=new xn(this,new bn(this,_0x2e963e),{'allowMemberAccess':this['options']['allowMemberAccess']});return _0x4a4a97['parseExpression'](_0x584638),_0x4a4a97['expect'](cn,'EOF'),new ln(_0x584638,this);},xi['prototype']['evaluate']=function(_0x2c4396,_0x35dd53){return this['parse'](_0x2c4396)['evaluate'](_0x35dd53);};var Mi=new xi();xi['parse']=function(_0x26da11){return Mi['parse'](_0x26da11);},xi['evaluate']=function(_0x3aad78,_0x13477f){return Mi['parse'](_0x3aad78)['evaluate'](_0x13477f);};var _i={'+':'add','-':'subtract','*':'multiply','/':'divide','%':'remainder','^':'power','!':'factorial','<':'comparison','>':'comparison','<=':'comparison','>=':'comparison','==':'comparison','!=':'comparison','||':'concatenate','and':'logical','or':'logical','not':'logical','?':'conditional',':':'conditional','=':'assignment','[':'array','()=':'fndef'};xi['prototype']['isOperatorEnabled']=function(_0x385b6f){var _0x309a95=function(_0x444a3a){return Object['hasOwn'](_i,_0x444a3a)?_i[_0x444a3a]:_0x444a3a;}(_0x385b6f),_0x1e2427=this['options']['operators']||{};return!(_0x309a95 in _0x1e2427)||!!_0x1e2427[_0x309a95];};class Si extends xi{constructor(..._0x48ed6c){super(..._0x48ed6c);const _0x4f8d66=this;_0x4f8d66['unaryOps']={'-':_0x4f8d66['unaryOps']['-'],'+':_0x4f8d66['unaryOps']['+'],'!':_0x4f8d66['unaryOps']['not'],'not':_0x4f8d66['unaryOps']['not']},_0x4f8d66['functions']={'sin':Math['sin'],'cos':Math['cos'],'tan':Math['tan'],'asin':Math['asin'],'acos':Math['acos'],'atan':Math['atan'],'log':Math['log'],'atan2':Math['atan2'],'pow':Math['pow'],'radians':_0x8e7ac9=>_0x8e7ac9*(Math['PI']/0xb4),'degrees':_0x217eda=>_0x217eda*(0xb4/Math['PI']),'__read_property__':(_0x4e7fb1,..._0x15d8de)=>{let _0xe7770e=_0x4e7fb1;for(let _0x42239c=0x0,_0x49f112=_0x15d8de['length'];_0x42239c<_0x49f112;_0x42239c++)_0xe7770e=_0xe7770e[_0x15d8de[_0x42239c]];return _0xe7770e;}},_0x4f8d66['binaryOps']={..._0x4f8d66['binaryOps'],'+':(_0x227d73,_0x3f6dc6)=>(kt(_0x227d73)&&(_0x227d73=Number(_0x227d73)),kt(_0x3f6dc6)&&(_0x3f6dc6=Number(_0x3f6dc6)),_0x227d73+_0x3f6dc6),'in':(_0x598c89,_0x45a0f9)=>Array['isArray'](_0x45a0f9)||'string'==typeof _0x45a0f9?_0x45a0f9['includes'](_0x598c89):_0x598c89 in _0x45a0f9,'||':(_0x2c7f5d,_0x39e519)=>Boolean(_0x2c7f5d||_0x39e519)},_0x4f8d66['consts']={..._0x4f8d66['consts'],'pi':Math['PI'],'tau':0x2*Math['PI'],'e':Math['E']};}}class Ai{constructor(){this['inOrder']=!0x0,this['requirePrefix']=!0x0,this['localProperties']=!0x0,this['rospackCommands']={},this['arguments']={},this['expressionParser']=new Si(),this['workingPath']='';}async['getFileContents'](_0x1b9de3){throw new Error('XacroParser:\x20getFileContents()\x20not\x20implemented.');}async['parse'](_0x373631){function _0x8689ea(_0x1b1e29,_0x6c492e,_0x41c6fe=!0x1){const _0x1eaa4f=[],_0xabbffc=Ot(_0x522c65,_0x6c492e);try{let _0xfc777a=function _0x259f24(_0x3d2787,_0x4c8592){if('string'!=typeof _0x3d2787)return _0x3d2787;const _0x51c2e3=_0x3d2787['split'](/(\$?\$\([^)]+\))|(\$?\${[^}]+})/g)['filter'](_0x3acae0=>!!_0x3acae0)['map'](_0x22c519=>{if(!/^\$[{(].+/['test'](_0x22c519))return _0x22c519;if(/^\$\$/['test'](_0x22c519))return _0x22c519;const _0x109028=/^\$\(/['test'](_0x22c519);let _0x34a318=_0x22c519['substring'](0x2,_0x22c519['length']-0x1);if(_0x34a318=_0x259f24(_0x34a318,_0x4c8592),/\[.+\]$/['test'](_0x34a318)&&(_0x34a318=_0x34a318['replace'](/([^[\s]+)(\[[^[]+\])+/g,(_0x10a1f7,..._0x4cefc6)=>{const _0x205154=_0x10a1f7['split'](/[[\]]+/g);return _0x205154['pop'](),'__read_property__(\x20'+_0x205154['join'](',')+'\x20)';})),!_0x109028){if(_0x1eaa4f['includes'](_0x34a318))throw new Error('XacroParser:\x20Cannot\x20evaluate\x20infinitely\x20recursive\x20expression:\x20'+_0x1eaa4f['join']('\x20>\x20')+'\x20>\x20'+_0x34a318);_0x1eaa4f['push'](_0x34a318);const _0xf579ce=/([()/*+!\-%|&=])+/g,_0x57c727=function(_0x5fcf75){return _0x5fcf75['replace'](/(('[^']*?')|("[^"]*?")|(`[^`]*?`)|([()/*+\-%|!&=]+?))/g,_0x22fb55=>'\x20'+_0x22fb55+'\x20')['trim']()['split'](/\s+/g);}(_0x34a318)['map'](_0x48ab38=>{if(_0xf579ce['lastIndex']=0x0,function(_0x54256d){return/^[()/*+\-%|&=[\]]+$/['test'](_0x54256d);}(_0x48ab38))return _0x48ab38;if(kt(_0x48ab38))return _0x48ab38;if(jt(_0x48ab38))return _0x48ab38;if(_0x48ab38 in _0x4c8592){const _0xc563ba=_0x259f24(_0x4c8592[_0x48ab38],_0x4c8592);return kt(_0xc563ba)||'object'==typeof _0xc563ba?_0xc563ba:'\x22'+_0xc563ba['toString']()['replace'](/\\/g,'\x5c\x5c')['replace'](/"/g,'\x5c\x22')+'\x22';}return _0x48ab38;})['map'](_0x1bb3d3=>(_0xf579ce['lastIndex']=0x0,/^[^0-9.]/['test'](_0x1bb3d3)&&!_0xf579ce['test'](_0x1bb3d3)?'\x20'+_0x1bb3d3+'\x20':_0x1bb3d3))['join']('');if(_0x1eaa4f['pop'](),jt(_0x57c727))return _0x57c727['substring'](0x1,_0x57c727['length']-0x1);if(kt(_0x57c727))return _0x57c727;{const _0x15ad7f=function(_0xd04227){return _0xd04227['replace'](/[-+]{2,}/,_0x53788d=>{let _0x364880=!0x0;for(let _0x4b7013=0x0,_0x4b8cd2=_0x53788d['length'];_0x4b7013<_0x4b8cd2;_0x4b7013++)'-'===_0x53788d[_0x4b7013]&&(_0x364880=!_0x364880);return _0x364880?'+':'-';});}(_0x57c727);return _0x249160['evaluate'](_0x15ad7f,_0x4c8592);}}{const _0x7eb34=_0x259f24(_0x34a318,_0x4c8592)['split'](/\s+/g),_0x47949f=_0x7eb34['shift']();try{return _0x593079(_0x47949f,..._0x7eb34);}catch(_0x300cfe){throw new Error('XacroParser:\x20Cannot\x20run\x20rospack\x20command\x20\x22'+_0x34a318+'\x22.\x0a'+_0x300cfe['message']);}}}),_0x347a0b=_0x51c2e3['filter'](_0x1f2670=>('string'==typeof _0x1f2670&&(_0x1f2670=_0x1f2670['trim']()),''!==_0x1f2670&&null!=_0x1f2670));return 0x1===_0x347a0b['length']?_0x347a0b[0x0]:_0x51c2e3['join']('');}(_0x1b1e29,_0xabbffc);return _0x41c6fe&&'string'==typeof _0xfc777a&&(_0xfc777a=_0xfc777a['replace'](/\${2}([({])/g,(_0x77b6bc,_0x2c96d6)=>'$'+_0x2c96d6)),_0xfc777a;}catch(_0x23eb54){throw new Error('XacroParser:\x20Failed\x20to\x20process\x20expression\x20\x22'+_0x1b1e29+'\x22.\x20\x0a'+_0x23eb54['message']);}}async function _0x266b42(_0x212837,_0x382540,_0x392506,_0x19671c){const _0xa5a6e4=_0x212837['tagName']['replace'](/^xacro:/,''),_0xd0d85c=_0x392506[_0xa5a6e4];if(!_0xd0d85c)throw new Error('XacroParser:\x20Cannot\x20find\x20macro\x20\x22'+_0xa5a6e4+'\x22');const _0x1a44ac=_0x382540,_0x12e303=_0x392506;_0x382540=function(_0x510122){const _0x6d412b=Ot(_0x510122);return _0x6d412b[Tt]=_0x510122,_0x6d412b;}(_0x382540),_0x392506=Ot(_0x392506);let _0x4c62eb=[];for(const _0x23053d of _0x212837['children'])await _0x4b2b94(_0x23053d,_0x1a44ac,_0x12e303,_0x4c62eb);_0x4c62eb=_0x4c62eb['filter'](_0x4b84a9=>_0x4b84a9['nodeType']===_0x4b84a9['ELEMENT_NODE']);let _0x478d13=0x0;for(const _0x34da05 in _0xd0d85c['params']){const _0x3888fc=_0xd0d85c['params'][_0x34da05];_0x212837['hasAttribute'](_0x34da05)?_0x382540[_0x34da05]=_0x8689ea(_0x212837['getAttribute'](_0x34da05),_0x1a44ac):'BLOCK'===_0x3888fc['type']?(_0x382540[_0x34da05]=[_0x4c62eb[_0x478d13]],_0x478d13++):'MULTI_BLOCK'===_0x3888fc['type']?_0x382540[_0x34da05]=[..._0x4c62eb['filter'](_0x43cf42=>_0x43cf42['tagName']===_0x34da05)[0x0]['childNodes']]:_0x382540[_0x34da05]=_0x8689ea(_0xd0d85c['params'][_0x34da05]['def'],_0x1a44ac);}const _0xb01f50=[..._0xd0d85c['node']['childNodes']];for(const _0x459e15 of _0xb01f50){const _0x30de67=[];await _0x4b2b94(_0x459e15,_0x382540,_0x392506,_0x30de67),_0x19671c['push'](..._0x30de67);}}function _0x4a42a6(_0x19905b){const _0x16aeb4=_0x19905b['getAttribute']('name')['replace'](/^xacro:/,''),_0x318b3a=_0x19905b['getAttribute']('params'),_0x1412a4={};if(_0x318b3a){const _0x5855fe=_0x318b3a['trim']()['match'](/[^\s']+('[^']*')?/g)['map'](_0x3b8c99=>function(_0x5e7c09){const _0x13f9bb={};if(/^\*\*/['test'](_0x5e7c09)?_0x13f9bb['type']='MULTI_BLOCK':/^\*/['test'](_0x5e7c09)?_0x13f9bb['type']='BLOCK':_0x13f9bb['type']='PARAM',_0x5e7c09=_0x5e7c09['replace'](/^\*{1,2}/g,''),/:?=/['test'](_0x5e7c09)){const [_0x27a3e4,_0x2dc33b]=_0x5e7c09['split'](/:?=/);if(/^\^/['test'](_0x2dc33b)||/\|/['test'](_0x2dc33b))throw new Error('XacroParser:\x20ROS\x20Jade\x20pass-through\x20notation\x20not\x20supported\x20in\x20macro\x20defaults:\x20'+_0x2dc33b);_0x13f9bb['name']=_0x27a3e4,_0x2dc33b['startsWith']('\x27')&&_0x2dc33b['endsWith']('\x27')?_0x13f9bb['def']=_0x2dc33b['substring'](0x1,_0x2dc33b['length']-0x1):_0x13f9bb['def']=_0x2dc33b;}else _0x13f9bb['name']=_0x5e7c09,_0x13f9bb['def']=null;return _0x13f9bb;}(_0x3b8c99));_0x5855fe['forEach'](_0x451f89=>{_0x1412a4[_0x451f89['name']]=_0x451f89;});}return{'name':_0x16aeb4,'node':Et(_0x19905b,!0x1),'params':_0x1412a4};}async function _0x4b2b94(_0x475342,_0x2a889e,_0x12b189,_0x105441=[]){if(_0x475342['nodeType']===_0x475342['TEXT_NODE']){const _0x5715d3=_0x475342['cloneNode']();return _0x5715d3['textContent']=_0x8689ea(_0x5715d3['textContent'],_0x2a889e,!0x0),void _0x105441['push'](_0x5715d3);}if(_0x475342['nodeType']!==_0x475342['ELEMENT_NODE'])return void _0x105441['push'](_0x475342['cloneNode']());let _0x32bc1e=_0x475342['tagName']['toLowerCase']();if(!_0xfac5ce)switch(_0x32bc1e){case'arg':case'property':case'macro':case'insert_block':case'if':case'unless':case'include':case'element':case'attribute':_0x32bc1e='xacro:'+_0x32bc1e;break;default:_0x32bc1e in _0x12b189&&(_0x32bc1e='xacro:'+_0x32bc1e);}switch(_0x32bc1e){case'xacro:property':{Ct(_0x105441);const _0xf1ee52=_0x475342['getAttribute']('name');let _0x13d446;if(_0x475342['hasAttribute']('value'))_0x13d446=_0x475342['getAttribute']('value');else if(_0x475342['hasAttribute']('default'))_0x13d446=_0x475342['getAttribute']('default');else{const _0x35b65a=[..._0x475342['childNodes']];_0x13d446=[];for(const _0x39768a of _0x35b65a)_0x13d446['push'](Et(_0x39768a,!0x1));}let _0x5b32f4='global';_0x6807ce&&(_0x5b32f4=_0x475342['getAttribute']('scope')||'local'),'local'!==_0x5b32f4&&(_0x13d446=_0x8689ea(_0x13d446,_0x2a889e)),'global'===_0x5b32f4?_0x522c65[_0xf1ee52]=_0x13d446:'parent'===_0x5b32f4?_0x2a889e[Tt][_0xf1ee52]=_0x13d446:_0x2a889e[_0xf1ee52]=_0x13d446;break;}case'xacro:macro':{Ct(_0x105441);const _0x3388e4=_0x4a42a6(_0x475342);_0x12b189[_0x3388e4['name']]=_0x3388e4;break;}case'xacro:insert_block':{Ct(_0x105441);const _0x3cd59e=_0x2a889e[_0x475342['getAttribute']('name')];for(const _0x503131 of _0x3cd59e)await _0x4b2b94(_0x503131,_0x2a889e,_0x12b189,_0x105441);return;}case'xacro:if':case'xacro:unless':{Ct(_0x105441);const _0x299114=_0x8689ea(_0x475342['getAttribute']('value'),_0x2a889e,!0x0);let _0x438884=null;if(_0x438884=isNaN(parseFloat(_0x299114))?'true'===_0x299114||'false'===_0x299114?'true'===_0x299114:_0x299114:!!parseFloat(_0x299114),'xacro:unless'===_0x32bc1e&&(_0x438884=!_0x438884),_0x438884){const _0x486343=[..._0x475342['childNodes']];for(const _0x1ec5f8 of _0x486343)await _0x4b2b94(_0x1ec5f8,_0x2a889e,_0x12b189,_0x105441);}return;}case'xacro:include':{if(Ct(_0x105441),_0x475342['hasAttribute']('ns'))throw new Error('XacroParser:\x20xacro:include\x20name\x20spaces\x20not\x20supported.');const _0x29e677=_0x8689ea(_0x475342['getAttribute']('filename'),_0x2a889e,!0x0),_0x7ea7ea=/^[/\\]/['test'](_0x29e677)||/^[a-zA-Z]+:[/\\]/['test'](_0x29e677)?_0x29e677:_0x2bd474+_0x29e677,_0x1e1ef7=_0x2bd474;_0x2bd474=At(_0x7ea7ea);const _0x36dd1a=[...(await _0x2a7eef(_0x7ea7ea))['children'][0x0]['childNodes']];for(const _0x1e37e6 of _0x36dd1a)await _0x4b2b94(_0x1e37e6,_0x2a889e,_0x12b189,_0x105441);return void(_0x2bd474=_0x1e1ef7);}case'xacro:arg':{const _0x4f12cf=_0x475342['getAttribute']('name');return void(_0x40b47f[_0x4f12cf]=_0x8689ea(_0x475342['getAttribute']('default'),_0x2a889e,!0x0));}case'xacro:attribute':case'xacro:element':throw new Error('XacroParser:\x20'+_0x32bc1e+'\x20tags\x20not\x20supported.');default:if(/^xacro:/['test'](_0x32bc1e)||_0x32bc1e in _0x12b189)return Ct(_0x105441),_0x266b42(_0x475342,_0x2a889e,_0x12b189,_0x105441);{const _0xd09945=_0x475342['cloneNode']();for(let _0x30d8f9=0x0,_0x144d76=_0xd09945['attributes']['length'];_0x30d8f9<_0x144d76;_0x30d8f9++){const _0xbb71e3=_0xd09945['attributes'][_0x30d8f9],_0x263c61=_0x8689ea(_0xbb71e3['value'],_0x2a889e,!0x0);_0xd09945['setAttribute'](_0xbb71e3['name'],_0x263c61);}const _0xd6f636=[..._0x475342['childNodes']],_0x45982e=[];for(let _0x3b0d62=0x0,_0x55c238=_0xd6f636['length'];_0x3b0d62<_0x55c238;_0x3b0d62++)await _0x4b2b94(_0xd6f636[_0x3b0d62],_0x2a889e,_0x12b189,_0x45982e);_0x45982e['forEach'](_0x22980a=>_0xd09945['appendChild'](_0x22980a)),_0x105441['push'](_0xd09945);}}}async function _0xf95859(_0x4927c4,_0x221427,_0x323467){const _0x546915=Lt(_0x4927c4,'xacro:property');_0xfac5ce||_0x546915['push'](...Lt(_0x4927c4,'property'));for(const _0x3dfe6a of _0x546915)await _0x4b2b94(_0x3dfe6a,_0x221427,_0x323467);const _0x5bbcfa=Lt(_0x4927c4,'xacro:macro');_0xfac5ce||_0x5bbcfa['push'](...Lt(_0x4927c4,'macro'));for(const _0x4aed55 of _0x5bbcfa)await _0x4b2b94(_0x4aed55,_0x221427,_0x323467);}async function _0x2a7eef(_0xfb79c){try{const _0x3336c0=await _0x55d666['getFileContents'](_0xfb79c);return new DOMParser()['parseFromString'](_0x3336c0,'text/xml');}catch(_0x1ecfc9){throw new Error('XacroParser:\x20Could\x20not\x20load\x20included\x20file:\x20'+_0xfb79c);}}async function _0x17541a(_0x75db0e,_0x38b44f,_0x43f597=[]){const _0x5bc41f=Lt(_0x75db0e,'xacro:include');_0xfac5ce||_0x5bc41f['push'](...Lt(_0x75db0e,'include'));const _0xadbea3=_0x5bc41f['map'](_0xebb55a=>{if(_0xebb55a['hasAttribute']('ns'))throw new Error('XacroParser:\x20xacro:include\x20name\x20spaces\x20not\x20supported.');const _0x4ff4ca=_0xebb55a['getAttribute']('filename'),_0x15c9a9=_0xebb55a['getAttribute']('ns')||null,_0x17f9ca=/^[/\\]/['test'](_0x4ff4ca)||/^[a-zA-Z]+:[/\\]/['test'](_0x4ff4ca)?_0x4ff4ca:_0x38b44f+_0x4ff4ca;return _0x2a7eef(_0x17f9ca)['then'](_0x3dad7a=>{_0x43f597['push']({'filename':_0x4ff4ca,'namespace':_0x15c9a9,'content':_0x3dad7a});return _0x17541a(_0x3dad7a,At(_0x17f9ca),_0x43f597);});});return await Promise['all'](_0xadbea3),_0x43f597;}const _0x55d666=this,_0x4484cf=this['inOrder'],_0x4e4dd3=this['workingPath']+(this['workingPath']&&!/[\\/]$/['test'](this['workingPath'])?'/':''),_0xfac5ce=this['requirePrefix'],_0x2f43f2=this['rospackCommands'],_0x4d1ad0={},_0x8444ff={},_0x40b47f={},_0x522c65={'True':0x1,'False':0x0};_0x522c65[Tt]=_0x522c65;const _0x593079=(_0x355cea,..._0x11f9bf)=>{let _0x17ee90;if(_0x2f43f2 instanceof Function&&(_0x17ee90=_0x2f43f2(_0x355cea,..._0x11f9bf)),null==_0x17ee90&&null!=_0x2f43f2&&'function'==typeof _0x2f43f2[_0x355cea]&&(_0x17ee90=_0x2f43f2[_0x355cea](..._0x11f9bf)),null==_0x17ee90&&'arg'===_0x355cea){const _0x1055c8=_0x11f9bf[0x0];if(void 0x0===_0x1055c8)throw new Error('XacroParser:\x20$(arg)\x20must\x20specify\x20a\x20variable\x20name');if(_0x17ee90=this['arguments'][_0x1055c8],null==_0x17ee90&&(_0x17ee90=_0x40b47f[_0x1055c8]),null==_0x17ee90)throw new Error('XacroParser:\x20Undefined\x20substitution\x20argument\x20'+_0x1055c8);}return _0x17ee90;},_0x249160=this['expressionParser'];let _0x6807ce=this['localProperties'],_0x2bd474=_0x4e4dd3,_0x52abc2=new DOMParser()['parseFromString'](_0x373631,'text/xml');_0x6807ce&&!_0x4484cf&&(_0x6807ce=!0x1);let _0x550e01=null;return _0x550e01=_0x4484cf?Promise['resolve']():(async function(){return await _0xf95859(_0x52abc2,_0x522c65,_0x4d1ad0),_0x52abc2=Et(_0x52abc2,!0x0),_0x17541a(_0x52abc2,_0x4e4dd3)['then'](_0x5fd68a=>{_0x5fd68a['forEach'](_0x19b4df=>{_0xf95859(_0x19b4df['content'],_0x522c65,_0x4d1ad0),_0x19b4df['content']=Et(_0x19b4df['content'],!0x0),_0x8444ff[_0x19b4df['filename']]=_0x19b4df['content'];});});}()),await _0x550e01,async function(_0x19487e,_0x3a40ef,_0x51f4eb){const _0x880849=_0x19487e['cloneNode']();for(let _0x300448=0x0,_0x2aa340=_0x19487e['children']['length'];_0x300448<_0x2aa340;_0x300448++){const _0x1375e3=[];await _0x4b2b94(_0x19487e['children'][_0x300448],_0x3a40ef,_0x51f4eb,_0x1375e3);const _0x2f79a9=_0x1375e3[0x0];_0x2f79a9['removeAttribute']('xmlns:xacro'),_0x880849['appendChild'](_0x2f79a9);}return _0x880849;}(_0x52abc2,_0x522c65,_0x4d1ad0);}}class Li{static async['parse'](_0x3bef3d,_0x22557d,_0x21e89e=null,_0x343bb8=null,_0x74c883={}){try{const _0x447c93=new Ai();_0x447c93['inOrder']=!0x0,_0x447c93['requirePrefix']=!0x0,_0x447c93['localProperties']=!0x0;const _0x36278f=_0x22557d['includes']('/')?_0x22557d['substring'](0x0,_0x22557d['lastIndexOf']('/')+0x1):'';_0x447c93['workingPath']=_0x36278f,_0x3bef3d=this['injectBooleanConstants'](_0x3bef3d);const _0x4be827=this['extractXacroArguments'](_0x3bef3d);_0x4be827['hasOwnProperty']('DEBUG')||(_0x4be827['DEBUG']='false'),_0x4be827['hasOwnProperty']('SELF_COLLIDE')||(_0x4be827['SELF_COLLIDE']='false'),_0x447c93['arguments']=_0x4be827,_0x21e89e&&(_0x447c93['getFileContents']=async _0x573603=>await this['loadFileFromMap'](_0x573603,_0x21e89e,_0x36278f));const _0x14c2db=await _0x447c93['parse'](_0x3bef3d),_0x503d2a=new XMLSerializer();let _0x4c1927=_0x503d2a['serializeToString'](_0x14c2db);_0x4c1927=_0x4c1927['replace'](/\sxmlns=""/g,'');const _0x515d70=new DOMParser()['parseFromString'](_0x4c1927,'text/xml'),_0x105b09=_0x515d70['querySelector']('parsererror');if(_0x105b09)throw new Error('Generated\x20URDF\x20has\x20invalid\x20XML:\x20'+_0x105b09['textContent']);_0x515d70['querySelectorAll']('gazebo')['forEach'](_0x5bf64f=>{var _0xe90849;return null==(_0xe90849=_0x5bf64f['parentNode'])?void 0x0:_0xe90849['removeChild'](_0x5bf64f);});_0x515d70['querySelectorAll']('transmission')['forEach'](_0x308cd6=>{var _0x25ed26;return null==(_0x25ed26=_0x308cd6['parentNode'])?void 0x0:_0x25ed26['removeChild'](_0x308cd6);}),this['removeEmptyGeometry'](_0x515d70),this['cleanXMLNodes'](_0x515d70['documentElement']);const _0x3ef335=_0x503d2a['serializeToString'](_0x515d70),_0x5731d5=await Ae(()=>import('./URDFLoader-a34b6917.js'),["./URDFLoader-a34b6917.js","./three-9c891de0.js","./STLLoader-de0915d4.js","./ColladaLoader-2a0c4638.js"],import.meta.url),_0x4d34d9=_0x5731d5['URDFLoader']||_0x5731d5['default']||_0x5731d5;return new Promise((_0x25a115,_0x4d2890)=>{const _0x3d3585=new _0x4d34d9();_0x3d3585['parseCollision']=!0x0;const _0x170a9b=_0x36278f;if(_0x21e89e){const _0x2ee482=this['extractPackagesFromURDF'](_0x3ef335),_0x3d59f2={};_0x2ee482['forEach'](_0x3bde91=>{_0x3d59f2[_0x3bde91]=_0x3bde91;}),_0x3d59f2['']='',_0x3d3585['packages']=_0x3d59f2;const _0x2d4ff4=_0x4e2a67=>{if(_0x4e2a67['startsWith']('blob:')){const _0x132d86=_0x4e2a67['match'](/^blob:https?:\/\/[^\/]+\/(.+)$/);if(!_0x132d86||!_0x132d86[0x1])return _0x4e2a67;{const _0x52ad8c=_0x132d86[0x1];if(!/\.(jpg|jpeg|png|gif|bmp|tga|tiff|webp|dae|stl|obj|gltf|glb)$/i['test'](_0x52ad8c))return _0x4e2a67;_0x4e2a67=_0x52ad8c;}}/\.(jpg|jpeg|png|gif|bmp|tga|tiff|webp)$/i['test'](_0x4e2a67),/\.(dae|stl|obj|gltf|glb)$/i['test'](_0x4e2a67);let _0x1a259f=_0x4e2a67;if(_0x1a259f['startsWith']('http://')||_0x1a259f['startsWith']('https://'))try{_0x1a259f=new URL(_0x1a259f)['pathname'],_0x1a259f['startsWith']('/')&&(_0x1a259f=_0x1a259f['substring'](0x1));}catch(_0x31a005){}const _0x42275e=bt(_0x1a259f,_0x21e89e,{'baseDir':_0x170a9b});if(_0x42275e){return URL['createObjectURL'](_0x42275e);}return _0x4e2a67;};_0x3d3585['manager']['setURLModifier'](_0x2d4ff4);const _0x59cd9c=_0x3d3585['loadMeshCb']||_0x3d3585['defaultMeshLoader']['bind'](_0x3d3585);_0x3d3585['loadMeshCb']=(_0x1cf2d4,_0x3390bf,_0x1df329)=>{this['findFileInMapByPath'](_0x1cf2d4,_0x21e89e,_0x170a9b)['then'](_0x516cb9=>{if(_0x516cb9){const _0x5a0c31=(_0x516cb9['name']||_0x1cf2d4)['toLowerCase']()['split']('.')['pop']();this['loadMeshFileAsync'](_0x516cb9,_0x5a0c31,_0x3390bf)['then'](_0x1dc88a=>{_0x1dc88a?_0x1df329(_0x1dc88a,null):_0x1df329(null,new Error('Failed\x20to\x20load\x20mesh\x20file:\x20'+_0x1cf2d4));})['catch'](_0x49ae3b=>{_0x1df329(null,_0x49ae3b);});}else _0x59cd9c(_0x1cf2d4,_0x3390bf,_0x1df329);})['catch'](_0x493d48=>{_0x59cd9c(_0x1cf2d4,_0x3390bf,_0x1df329);});};}const _0x239cb7=new Blob([_0x3ef335],{'type':'text/xml'}),_0x54f176=URL['createObjectURL'](_0x239cb7);_0x3d3585['load'](_0x54f176,_0x2df246=>{URL['revokeObjectURL'](_0x54f176);try{const _0x94c93=ut['convert'](_0x2df246,_0x3ef335,_0x74c883);_0x25a115(_0x94c93);}catch(_0xa0ec7c){_0x4d2890(new Error('URDF\x20conversion\x20failed:\x20'+_0xa0ec7c['message']));}},void 0x0,_0x35d640=>{URL['revokeObjectURL'](_0x54f176),_0x4d2890(new Error('URDF\x20loading\x20failed:\x20'+(_0x35d640['message']||_0x35d640)));});});}catch(_0x44cf0d){throw new Error('Xacro\x20parsing\x20failed:\x20'+_0x44cf0d['message']);}}static async['loadFileFromMap'](_0xfbf9ba,_0x431240,_0x39884b){let _0x155b74=_0xfbf9ba;_0x155b74['startsWith']('/')&&(_0x155b74=_0x155b74['substring'](0x1)),_0x155b74=_0x155b74['replace'](/^\.\//,'');const _0x406b7b=[_0x155b74,_0x39884b+_0x155b74,_0xfbf9ba,_0x39884b+_0xfbf9ba['replace'](/^\/+/,''),_0x155b74['includes']('/')?_0x155b74['substring'](_0x155b74['indexOf']('/')+0x1):_0x155b74];for(const _0x34e622 of _0x406b7b){const _0x2ba11c=_0x431240['get'](_0x34e622);if(_0x2ba11c){return await _0x2ba11c['text']();}}const _0x2862f8=_0x155b74['split']('/')['pop']();for(const [_0x3de024,_0x3d9c45]of _0x431240['entries']()){if(_0x3de024['split']('/')['pop']()===_0x2862f8){return await _0x3d9c45['text']();}}throw new Error('Cannot\x20find\x20included\x20file:\x20'+_0xfbf9ba);}static['removeEmptyGeometry'](_0xa7005b){_0xa7005b['querySelectorAll']('geometry')['forEach'](_0x1447be=>{if(!_0x1447be['children']||0x0===_0x1447be['children']['length']){let _0x30aed0=_0x1447be['parentNode'];if(_0x30aed0){const _0x275d49=_0x30aed0['parentNode'];_0x275d49&&('visual'!==_0x30aed0['nodeName']&&'collision'!==_0x30aed0['nodeName']||_0x275d49['removeChild'](_0x30aed0));}}});}static['cleanXMLNodes'](_0x5f0cf5){if(!_0x5f0cf5||!_0x5f0cf5['childNodes'])return;const _0x33bee2=[];for(let _0x519236=0x0;_0x519236<_0x5f0cf5['childNodes']['length'];_0x519236++){const _0x10c8e6=_0x5f0cf5['childNodes'][_0x519236];_0x10c8e6['nodeType']===Node['COMMENT_NODE']?_0x33bee2['push'](_0x10c8e6):_0x10c8e6['nodeType']===Node['TEXT_NODE']?_0x10c8e6['nodeValue']&&''!==_0x10c8e6['nodeValue']['trim']()||_0x33bee2['push'](_0x10c8e6):_0x10c8e6['nodeType']===Node['ELEMENT_NODE']&&this['cleanXMLNodes'](_0x10c8e6);}_0x33bee2['forEach'](_0x21dd8b=>{_0x5f0cf5['removeChild'](_0x21dd8b);});}static['extractPackagesFromURDF'](_0x5bc285){const _0xd90d35=new Set(),_0x4b073d=/package:\/\/([^\/]+)/g;let _0x338abe;for(;null!==(_0x338abe=_0x4b073d['exec'](_0x5bc285));)_0xd90d35['add'](_0x338abe[0x1]);return _0xd90d35;}static async['findFileInMapByPath'](_0x202c47,_0x389b73,_0x4db97e){return bt(_0x202c47,_0x389b73,{'baseDir':_0x4db97e});}static async['loadMeshFileAsync'](_0x48fbb4,_0x1c1b87,_0x11d044){const _0x3ebebb=await Ae(()=>import('./three-9c891de0.js'),[],import.meta.url),_0x4b8d19=URL['createObjectURL'](_0x48fbb4);try{let _0x461b6f=null;switch(_0x1c1b87){case'stl':{const {STLLoader:_0x2b22e9}=await Ae(()=>import('./STLLoader-de0915d4.js'),["./STLLoader-de0915d4.js","./three-9c891de0.js"],import.meta.url),_0x48d254=new _0x2b22e9(_0x11d044),_0x3c0775=await new Promise((_0x3ac339,_0x3f268f)=>{_0x48d254['load'](_0x4b8d19,_0x3ac339,void 0x0,_0x3f268f);}),_0xb80105=new _0x3ebebb['MeshPhongMaterial']();_0x461b6f=new _0x3ebebb['Mesh'](_0x3c0775,_0xb80105);break;}case'dae':{const {ColladaLoader:_0x52460b}=await Ae(()=>import('./ColladaLoader-2a0c4638.js'),["./ColladaLoader-2a0c4638.js","./three-9c891de0.js"],import.meta.url),_0x187aa8=new _0x52460b(_0x11d044);if(_0x461b6f=(await new Promise((_0x459b67,_0x3c2aba)=>{_0x187aa8['load'](_0x4b8d19,_0x459b67,void 0x0,_0x3c2aba);}))['scene'],_0x461b6f&&_0x461b6f['traverse']){const _0x49ea8f=[];_0x461b6f['traverse'](_0x2b4c17=>{_0x2b4c17['isLight']&&_0x49ea8f['push'](_0x2b4c17);}),_0x49ea8f['forEach'](_0x8622ee=>{_0x8622ee['parent']&&_0x8622ee['parent']['remove'](_0x8622ee);});}break;}case'obj':{const {OBJLoader:_0x346b47}=await Ae(()=>import('./OBJLoader-7667aa01.js'),["./OBJLoader-7667aa01.js","./three-9c891de0.js"],import.meta.url),_0x1310ff=new _0x346b47(_0x11d044);_0x461b6f=await new Promise((_0x52c3b9,_0x255d40)=>{_0x1310ff['load'](_0x4b8d19,_0x52c3b9,void 0x0,_0x255d40);});break;}case'gltf':case'glb':{const {GLTFLoader:_0xf39b62}=await Ae(()=>import('./GLTFLoader-7a7f40d7.js'),["./GLTFLoader-7a7f40d7.js","./three-9c891de0.js"],import.meta.url),_0x2cc3cd=new _0xf39b62(_0x11d044);_0x461b6f=(await new Promise((_0x377f52,_0xdaaf7a)=>{_0x2cc3cd['load'](_0x4b8d19,_0x377f52,void 0x0,_0xdaaf7a);}))['scene'];break;}default:return URL['revokeObjectURL'](_0x4b8d19),null;}return URL['revokeObjectURL'](_0x4b8d19),_0x461b6f;}catch(_0x597f59){throw URL['revokeObjectURL'](_0x4b8d19),_0x597f59;}}static['injectBooleanConstants'](_0x242810){const _0x4d1160=_0x242810['match'](/(<robot[^>]*>)/);if(!_0x4d1160)return _0x242810;const _0x76c298=_0x4d1160['index']+_0x4d1160[0x0]['length'];return _0x242810['substring'](0x0,_0x76c298)+'\x0a\x20\x20\x20\x20\x3c!--\x20Injected\x20by\x20XacroAdapter:\x20Python-style\x20boolean\x20constants\x20--\x3e\x0a\x20\x20\x20\x20<xacro:property\x20name=\x22True\x22\x20value=\x22True\x22/>\x0a\x20\x20\x20\x20<xacro:property\x20name=\x22False\x22\x20value=\x22False\x22/>\x0a'+_0x242810['substring'](_0x76c298);}static['extractXacroArguments'](_0x497f8b){const _0x5623f7={},_0x2cc369=/<(?:xacro:)?arg\s+name=["']([^"']+)["'](?:\s+default=["']([^"']*)["'])?/g;let _0x443ca9;for(;null!==(_0x443ca9=_0x2cc369['exec'](_0x497f8b));){const _0x6c50f9=_0x443ca9[0x1],_0x4b364b=_0x443ca9[0x2]||'false';_0x5623f7[_0x6c50f9]=_0x4b364b;}return _0x5623f7;}}class Ei{static['detectFileType'](_0xd48ee9,_0x422f8d){switch(_0xd48ee9['toLowerCase']()['split']('.')['pop']()){case'urdf':return'urdf';case'xacro':return'xacro';case'xml':return _0x422f8d&&this['isValidRobotMJCF'](_0x422f8d)?'mjcf':null;case'usd':case'usda':case'usdc':case'usdz':return'usd';default:return null;}}static['isValidRobotDescriptionXML'](_0x39d354){if(!_0x39d354||'string'!=typeof _0x39d354)return!0x1;const _0xece080=_0x39d354['trim']();return!(!_0xece080['startsWith']('<?xml')&&!_0xece080['startsWith']('<'))&&this['isValidRobotMJCF'](_0xece080);}static['isValidRobotMJCF'](_0x26b5e9){if(!_0x26b5e9||'string'!=typeof _0x26b5e9)return!0x1;if(!_0x26b5e9['includes']('<mujoco'))return!0x1;const _0x5182c0=_0x26b5e9['includes']('<joint'),_0x521582=_0x26b5e9['includes']('<actuator');return!(!_0x5182c0&&!_0x521582);}static async['loadModel'](_0x531860,_0x104b43,_0x41f6d1,_0x463497=null,_0x3ffe18=null,_0x5bec72={}){let _0x53aa70=null;if(_0x41f6d1){const _0x475831=Math['max'](_0x41f6d1['lastIndexOf']('/'),_0x41f6d1['lastIndexOf']('\x5c'));_0x475831>0x0&&(_0x53aa70=_0x41f6d1['substring'](0x0,_0x475831));}switch(_0x531860){case'urdf':return await this['loadURDF'](_0x104b43,_0x41f6d1,_0x463497,_0x3ffe18,_0x5bec72);case'xacro':return await this['loadXacro'](_0x104b43,_0x41f6d1,_0x463497,_0x3ffe18,_0x5bec72);case'mjcf':return await this['loadMJCF'](_0x104b43,_0x463497,_0x53aa70);case'usd':return await this['loadUSD'](_0x104b43,_0x463497,_0x3ffe18,_0x5bec72);default:throw new Error('Unsupported\x20file\x20type:\x20'+_0x531860);}}static async['loadURDF'](_0x12c97d,_0x339f26,_0x1c3916=null,_0x2f62f6=null,_0x78d0fb={}){let _0x453a00;try{const _0x1e1bbd=await Ae(()=>import('./URDFLoader-a34b6917.js'),["./URDFLoader-a34b6917.js","./three-9c891de0.js","./STLLoader-de0915d4.js","./ColladaLoader-2a0c4638.js"],import.meta.url);_0x453a00=_0x1e1bbd['URDFLoader']||_0x1e1bbd['default']||_0x1e1bbd;}catch(_0x4882aa){throw new Error('Failed\x20to\x20load\x20urdf-loader:\x20'+_0x4882aa['message']);}return new Promise((_0x3ad9a2,_0x7401c7)=>{const _0x58eb96=new _0x453a00();_0x58eb96['parseCollision']=!0x0;const _0x519e2e=_0x339f26['includes']('/')?_0x339f26['substring'](0x0,_0x339f26['lastIndexOf']('/')+0x1):'';if(_0x1c3916){const _0x26ee3f=this['extractPackagesFromURDF'](_0x12c97d),_0x252244={};_0x26ee3f['forEach'](_0x3b2049=>{_0x252244[_0x3b2049]=_0x3b2049;}),_0x252244['']='',_0x58eb96['packages']=_0x252244;const _0x3f37be=_0x2ad441=>{if(_0x2ad441['startsWith']('blob:')){const _0x5cafc4=_0x2ad441['match'](/^blob:https?:\/\/[^\/]+\/(.+)$/);if(!_0x5cafc4||!_0x5cafc4[0x1])return _0x2ad441;{const _0x541eb0=_0x5cafc4[0x1];if(!/\.(jpg|jpeg|png|gif|bmp|tga|tiff|webp|dae|stl|obj|gltf|glb)$/i['test'](_0x541eb0))return _0x2ad441;_0x2ad441=_0x541eb0;}}let _0x5779e6=_0x2ad441;if(_0x5779e6['startsWith']('http://')||_0x5779e6['startsWith']('https://'))try{_0x5779e6=new URL(_0x5779e6)['pathname'],_0x5779e6['startsWith']('/')&&(_0x5779e6=_0x5779e6['substring'](0x1));}catch(_0x551f74){}const _0xdfb6b8=bt(_0x5779e6,_0x1c3916,{'baseDir':_0x519e2e});if(_0xdfb6b8){return URL['createObjectURL'](_0xdfb6b8);}return _0x2ad441;};_0x58eb96['manager']['setURLModifier'](_0x3f37be);const _0x5e6c96=_0x58eb96['loadMeshCb']||_0x58eb96['defaultMeshLoader']['bind'](_0x58eb96);_0x58eb96['loadMeshCb']=(_0x17dd32,_0x5ecf10,_0x11941f)=>{this['findFileInMapByPath'](_0x17dd32,_0x1c3916,_0x519e2e)['then'](_0x3e9d3f=>{if(_0x3e9d3f){const _0x4286a8=(_0x3e9d3f['name']||_0x17dd32)['toLowerCase']()['split']('.')['pop']();this['loadMeshFileAsync'](_0x3e9d3f,_0x4286a8,_0x5ecf10)['then'](_0x5d101a=>{_0x5d101a?_0x11941f(_0x5d101a,null):_0x11941f(null,new Error('Failed\x20to\x20load\x20mesh\x20file:\x20'+_0x17dd32));})['catch'](_0x10ac80=>{_0x11941f(null,_0x10ac80);});}else _0x5e6c96(_0x17dd32,_0x5ecf10,_0x11941f);})['catch'](_0xd1295=>{_0x5e6c96(_0x17dd32,_0x5ecf10,_0x11941f);});};}const _0x3ad8d6=new Blob([_0x12c97d],{'type':'text/xml'}),_0xb89c15=URL['createObjectURL'](_0x3ad8d6);_0x58eb96['load'](_0xb89c15,_0x5aaa84=>{URL['revokeObjectURL'](_0xb89c15);try{const _0x2ed331=ut['convert'](_0x5aaa84,_0x12c97d,_0x78d0fb);_0x3ad9a2(_0x2ed331);}catch(_0x58a72c){_0x7401c7(new Error('URDF\x20conversion\x20failed:\x20'+_0x58a72c['message']));}},void 0x0,_0x34bbd2=>{URL['revokeObjectURL'](_0xb89c15),_0x7401c7(new Error('URDF\x20loading\x20failed:\x20'+(_0x34bbd2['message']||_0x34bbd2)));});});}static async['loadXacro'](_0x5c4a13,_0x3a39e2,_0x1669ac=null,_0x443ae9=null,_0x51f5cd={}){try{return await Li['parse'](_0x5c4a13,_0x3a39e2,_0x1669ac,_0x443ae9,_0x51f5cd);}catch(_0x428b7a){throw new Error('Xacro\x20parsing\x20failed:\x20'+_0x428b7a['message']);}}static['extractPackagesFromURDF'](_0x310e90){const _0x3ce457=new Set(),_0x273b15=/package:\/\/([^\/]+)/g;let _0x4c77e2;for(;null!==(_0x4c77e2=_0x273b15['exec'](_0x310e90));)_0x3ce457['add'](_0x4c77e2[0x1]);return _0x3ce457;}static async['resolveURDFPath'](_0x267ea7,_0x5449bd,_0x3d3f23,_0x1ff425){const _0xa8afb1=[];if(_0x5449bd){_0xa8afb1['push'](_0x5449bd+'/'+_0x267ea7),_0xa8afb1['push']('/'+_0x5449bd+'/'+_0x267ea7);const _0x40721a=_0x267ea7['split']('/')['pop']();_0xa8afb1['push'](_0x5449bd+'/'+_0x40721a),_0xa8afb1['push']('/'+_0x5449bd+'/'+_0x40721a),_0xa8afb1['push'](_0x5449bd+'/meshes/'+_0x40721a),_0xa8afb1['push']('/'+_0x5449bd+'/meshes/'+_0x40721a),_0xa8afb1['push'](_0x5449bd+'/urdf/'+_0x40721a),_0xa8afb1['push'](_0x5449bd+'/models/'+_0x40721a);const _0x54970e=_0x5449bd['toLowerCase']();for(const [_0x1d25ba]of _0x3d3f23['entries']()){const _0x5dabf3=_0x1d25ba['toLowerCase']();if(_0x5dabf3['includes'](_0x54970e)){const _0x2a4c07=_0x5dabf3['indexOf'](_0x54970e),_0x5ab194=_0x1d25ba['substring'](_0x2a4c07+_0x5449bd['length']),_0x53546f=_0x267ea7['split']('/')['pop']();(_0x5ab194['endsWith'](_0x267ea7)||_0x5ab194['endsWith']('/'+_0x267ea7)||_0x5ab194['endsWith'](_0x53546f)||_0x5ab194['endsWith']('/'+_0x53546f)||_0x5ab194['includes'](_0x53546f))&&_0xa8afb1['push'](_0x1d25ba);}}}const _0x308316=_0x1ff425['substring'](0x0,_0x1ff425['lastIndexOf']('/')+0x1);_0xa8afb1['push'](_0x267ea7),_0xa8afb1['push'](_0x308316+_0x267ea7);const _0x30094b=_0x267ea7['split']('/')['pop']();_0xa8afb1['push'](_0x30094b);for(const _0x556907 of _0xa8afb1){let _0x379141=_0x3d3f23['get'](_0x556907);if(_0x379141)return await _0x379141['arrayBuffer']();}const _0x2eb710=this['cleanFilePath'](_0x267ea7),_0x32d2b2=Array['from'](_0x3d3f23['keys']())['map'](_0x361572=>this['cleanFilePath'](_0x361572));for(const _0x2338d7 of _0x32d2b2){const _0x15c235=Math['min'](_0x2338d7['length'],_0x2eb710['length']);if(_0x2eb710['substr'](_0x2eb710['length']-_0x15c235)===_0x2338d7['substr'](_0x2338d7['length']-_0x15c235)){const _0x501f86=_0x3d3f23['get'](_0x2338d7);if(_0x501f86)return await _0x501f86['arrayBuffer']();}}return new ArrayBuffer(0x0);}static['cleanFilePath'](_0x26bd3e){return _0x26bd3e['replace'](/\\/g,'/')['split'](/\//g)['reduce']((_0x323218,_0x50db20)=>('..'===_0x50db20?_0x323218['pop']():'.'!==_0x50db20&&_0x323218['push'](_0x50db20),_0x323218),[])['join']('/');}static async['findFileInMapByPath'](_0x21e88b,_0x13c8ae,_0x31a5eb){return bt(_0x21e88b,_0x13c8ae,{'baseDir':_0x31a5eb});}static async['findFileInMap'](_0x16aa1a,_0x5b2e31,_0x143693){let _0x3ebdcb=_0x16aa1a['replace'](/^package:\/\//,'');_0x3ebdcb=_0x3ebdcb['replace'](/^\.\//,''),_0x3ebdcb=_0x3ebdcb['replace'](/^blob:[^\/]+\//,'');const _0x398e08=[],_0x1edab3=_0x3ebdcb['split']('/');if(_0x1edab3['length']>0x1){const _0x4fc7b9=_0x1edab3[0x0],_0x316a71=_0x1edab3['slice'](0x1)['join']('/'),_0x65b534=_0x316a71['split']('/')['pop']();_0x398e08['push'](_0x4fc7b9+'/'+_0x316a71),_0x398e08['push']('/'+_0x4fc7b9+'/'+_0x316a71),_0x398e08['push'](_0x4fc7b9+'/'+_0x65b534),_0x398e08['push']('/'+_0x4fc7b9+'/'+_0x65b534),_0x398e08['push'](_0x4fc7b9+'/meshes/'+_0x65b534),_0x398e08['push']('/'+_0x4fc7b9+'/meshes/'+_0x65b534);const _0x42a631=_0x4fc7b9['toLowerCase']();for(const [_0x4d6176]of _0x5b2e31['entries']()){const _0x347d56=_0x4d6176['toLowerCase']();if(_0x347d56['includes'](_0x42a631)){const _0x3b11de=_0x347d56['indexOf'](_0x42a631),_0x4671f2=_0x4d6176['substring'](_0x3b11de+_0x4fc7b9['length']);(_0x4671f2['endsWith'](_0x316a71)||_0x4671f2['endsWith']('/'+_0x316a71)||_0x4671f2['endsWith'](_0x65b534)||_0x4671f2['endsWith']('/'+_0x65b534)||_0x4671f2['includes'](_0x65b534))&&_0x398e08['push'](_0x4d6176);}}}_0x398e08['push'](_0x3ebdcb),_0x398e08['push']('/'+_0x3ebdcb),_0x398e08['push']('./'+_0x3ebdcb);const _0x5ddc6b=_0x143693['substring'](0x0,_0x143693['lastIndexOf']('/')+0x1);_0x398e08['push'](_0x5ddc6b+_0x3ebdcb);const _0x2eaf53=_0x3ebdcb['split']('/')['pop']();_0x398e08['push'](_0x2eaf53);for(const _0x155e94 of _0x398e08){const _0x2778f8=_0x5b2e31['get'](_0x155e94);if(_0x2778f8)return _0x2778f8;}const _0x29bd33=this['cleanFilePath'](_0x3ebdcb)['replace'](/^\.\//,'');for(const [_0x2d619c,_0x6c20a3]of _0x5b2e31['entries']()){if(this['cleanFilePath'](_0x2d619c)['replace'](/^\.\//,'')===_0x29bd33)return _0x6c20a3;}const _0x453360=this['cleanFilePath'](_0x3ebdcb),_0x6f60f8=Array['from'](_0x5b2e31['keys']())['map'](_0x2ab118=>this['cleanFilePath'](_0x2ab118));for(const _0xc359 of _0x6f60f8){const _0x20f6e9=Math['min'](_0xc359['length'],_0x453360['length']);if(_0x453360['substr'](_0x453360['length']-_0x20f6e9)===_0xc359['substr'](_0xc359['length']-_0x20f6e9)){const _0x2c49d9=_0x5b2e31['get'](_0xc359);if(_0x2c49d9)return _0x2c49d9;}}return null;}static async['loadMeshFileDirect'](_0x16dff1,_0x295408){const _0x41b7a2=_0x16dff1['name']?_0x16dff1['name']['toLowerCase']()['split']('.')['pop']():_0x295408['toLowerCase']()['split']('.')['pop'](),_0x5737fc=URL['createObjectURL'](_0x16dff1);try{let _0x23bb3c=null;switch(_0x41b7a2){case'stl':const {STLLoader:_0x37f496}=await Ae(()=>import('./STLLoader-de0915d4.js'),["./STLLoader-de0915d4.js","./three-9c891de0.js"],import.meta.url),_0x433c74=new _0x37f496(),_0x5a7ecd=await new Promise((_0x42df23,_0x549935)=>{_0x433c74['load'](_0x5737fc,_0x42df23,void 0x0,_0x549935);}),_0x1aa640=new _0x19745e({'color':0xcccccc});_0x23bb3c=new _0x2c4c6c(_0x5a7ecd,_0x1aa640);break;case'dae':const {ColladaLoader:_0x5856b8}=await Ae(()=>import('./ColladaLoader-2a0c4638.js'),["./ColladaLoader-2a0c4638.js","./three-9c891de0.js"],import.meta.url),_0x597e98=new _0x5856b8(),_0x5b2a49=await new Promise((_0x4302cc,_0x49e07f)=>{_0x597e98['load'](_0x5737fc,_0x4302cc,void 0x0,_0x49e07f);});if(_0x23bb3c=_0x5b2a49['scene']||_0x5b2a49,_0x23bb3c&&_0x23bb3c['traverse']){const _0x21deab=[];_0x23bb3c['traverse'](_0x67ad21=>{_0x67ad21['isLight']&&_0x21deab['push'](_0x67ad21);}),_0x21deab['forEach'](_0x2e7f54=>{_0x2e7f54['parent']&&_0x2e7f54['parent']['remove'](_0x2e7f54);});}break;case'obj':const {OBJLoader:_0x54dd00}=await Ae(()=>import('./OBJLoader-7667aa01.js'),["./OBJLoader-7667aa01.js","./three-9c891de0.js"],import.meta.url),_0x23fa06=new _0x54dd00();_0x23bb3c=await new Promise((_0x5c6e6c,_0x128692)=>{_0x23fa06['load'](_0x5737fc,_0x5c6e6c,void 0x0,_0x128692);});break;case'gltf':case'glb':const {GLTFLoader:_0x306a6b}=await Ae(()=>import('./GLTFLoader-7a7f40d7.js'),["./GLTFLoader-7a7f40d7.js","./three-9c891de0.js"],import.meta.url),_0x1b422f=new _0x306a6b(),_0x13d675=await new Promise((_0x437fd8,_0x140b1b)=>{_0x1b422f['load'](_0x5737fc,_0x437fd8,void 0x0,_0x140b1b);});_0x23bb3c=_0x13d675['scene']||_0x13d675;break;default:return URL['revokeObjectURL'](_0x5737fc),null;}return URL['revokeObjectURL'](_0x5737fc),_0x23bb3c;}catch(_0xdc343c){return URL['revokeObjectURL'](_0x5737fc),null;}}static async['loadMeshFileAsync'](_0x2a189a,_0x44e073,_0x4146e6){const _0x49f256=URL['createObjectURL'](_0x2a189a);try{let _0x20bffc=null;switch(_0x44e073){case'stl':{const {STLLoader:_0x41ea66}=await Ae(()=>import('./STLLoader-de0915d4.js'),["./STLLoader-de0915d4.js","./three-9c891de0.js"],import.meta.url),_0x2f62cf=new _0x41ea66(_0x4146e6),_0x42d7e1=await new Promise((_0x4525b3,_0x314922)=>{_0x2f62cf['load'](_0x49f256,_0x4525b3,void 0x0,_0x314922);}),_0x90c32=new _0xa4876a();_0x20bffc=new _0x2c4c6c(_0x42d7e1,_0x90c32);break;}case'dae':{const {ColladaLoader:_0x491a29}=await Ae(()=>import('./ColladaLoader-2a0c4638.js'),["./ColladaLoader-2a0c4638.js","./three-9c891de0.js"],import.meta.url),_0x468d2c=new _0x491a29(_0x4146e6);if(_0x20bffc=(await new Promise((_0x165026,_0x4c38d3)=>{_0x468d2c['load'](_0x49f256,_0x165026,void 0x0,_0x4c38d3);}))['scene'],_0x20bffc&&_0x20bffc['traverse']){const _0x5bc20d=[];_0x20bffc['traverse'](_0x46066f=>{_0x46066f['isLight']&&_0x5bc20d['push'](_0x46066f);}),_0x5bc20d['forEach'](_0x2f4937=>{_0x2f4937['parent']&&_0x2f4937['parent']['remove'](_0x2f4937);});}break;}case'obj':{const {OBJLoader:_0x33b25d}=await Ae(()=>import('./OBJLoader-7667aa01.js'),["./OBJLoader-7667aa01.js","./three-9c891de0.js"],import.meta.url),_0xe65276=new _0x33b25d(_0x4146e6);_0x20bffc=await new Promise((_0x3b5812,_0x4ba619)=>{_0xe65276['load'](_0x49f256,_0x3b5812,void 0x0,_0x4ba619);});break;}case'gltf':case'glb':{const {GLTFLoader:_0x347ba5}=await Ae(()=>import('./GLTFLoader-7a7f40d7.js'),["./GLTFLoader-7a7f40d7.js","./three-9c891de0.js"],import.meta.url),_0x462ee7=new _0x347ba5(_0x4146e6);_0x20bffc=(await new Promise((_0x10957c,_0x3c443c)=>{_0x462ee7['load'](_0x49f256,_0x10957c,void 0x0,_0x3c443c);}))['scene'];break;}default:return URL['revokeObjectURL'](_0x49f256),null;}return URL['revokeObjectURL'](_0x49f256),_0x20bffc;}catch(_0x224d28){throw URL['revokeObjectURL'](_0x49f256),_0x224d28;}}static async['loadURDFFromURL'](_0x111ffe){let _0x436974;try{const _0x15d5be=await Ae(()=>import('./URDFLoader-a34b6917.js'),["./URDFLoader-a34b6917.js","./three-9c891de0.js","./STLLoader-de0915d4.js","./ColladaLoader-2a0c4638.js"],import.meta.url);_0x436974=_0x15d5be['URDFLoader']||_0x15d5be['default']||_0x15d5be;}catch(_0x38585b){throw new Error('Failed\x20to\x20load\x20urdf-loader:\x20'+_0x38585b['message']);}const _0x23edf3=await fetch(_0x111ffe)['then'](_0x1a1ccd=>_0x1a1ccd['text']());return new Promise((_0x127ef0,_0x59b777)=>{const _0x332a1c=new _0x436974();_0x332a1c['parseCollision']=!0x0,_0x332a1c['load'](_0x111ffe,_0x4b51dd=>{try{const _0x4f78d5=ut['convert'](_0x4b51dd,_0x23edf3);_0x127ef0(_0x4f78d5);}catch(_0x80edba){_0x59b777(new Error('URDF\x20conversion\x20failed:\x20'+_0x80edba['message']));}},void 0x0,_0x311b93=>{_0x59b777(new Error('URDF\x20loading\x20failed:\x20'+(_0x311b93['message']||_0x311b93)));});});}static async['loadMJCF'](_0x339ce4,_0x5080e3=null,_0x81174d=null){try{return await _t['parse'](_0x339ce4,_0x5080e3,_0x81174d);}catch(_0x558337){throw new Error('MJCF\x20parsing\x20failed:\x20'+_0x558337['message']+(_0x558337['stack']?'\x0a'+_0x558337['stack']:''));}}static async['loadUSD'](_0x24a3b3,_0x105691=null,_0x55f5f7=null,_0x30adbf={}){try{return await St['parse'](_0x24a3b3,_0x105691,_0x55f5f7,_0x30adbf);}catch(_0x2628f2){throw new Error('USD\x20parsing\x20failed:\x20'+_0x2628f2['message']);}}static['setJointAngle'](_0x36d80f,_0x178409,_0x132b11,_0x422cf0=!0x1){const _0x2c24dd=_0x36d80f['getJoint'](_0x178409);_0x2c24dd&&(!_0x422cf0&&_0x36d80f['userData']&&_0x36d80f['userData']['ignoreLimits']&&(_0x422cf0=!0x0),!_0x2c24dd['threeObject']||'function'!=typeof _0x2c24dd['threeObject']['setJointValue']&&'function'!=typeof _0x2c24dd['threeObject']['setAngle']?_t['setJointAngle'](_0x2c24dd,_0x132b11):ut['setJointAngle'](_0x2c24dd,_0x132b11,_0x422cf0),_0x36d80f['threeObject']&&_0x36d80f['threeObject']['updateMatrixWorld'](!0x0));}}class Ci{constructor(_0x21d46f){this['scene']=_0x21d46f,this['lights']={},this['groundPlane']=null,this['globalAxes']=null,this['referenceGrid']=null,this['envMap']=null,this['pmremGenerator']=null;}['setupLights'](){this['lights']['ambient']=new _0x173c6f(0xffffff,0x444444,0.5),this['lights']['ambient']['position']['set'](0x0,0x1,0x0),this['scene']['add'](this['lights']['ambient']),this['lights']['directional']=new _0x46bddf(0xffffff,Math['PI']),this['lights']['directional']['position']['set'](0x4,0xa,0x1),this['lights']['directional']['castShadow']=!0x0,this['lights']['directional']['shadow']['mapSize']['width']=0x800,this['lights']['directional']['shadow']['mapSize']['height']=0x800,this['lights']['directional']['shadow']['camera']['near']=0.1,this['lights']['directional']['shadow']['camera']['far']=0x32,this['lights']['directional']['shadow']['normalBias']=0.001,this['lights']['directional']['shadow']['camera']['left']=-0x5,this['lights']['directional']['shadow']['camera']['right']=0x5,this['lights']['directional']['shadow']['camera']['top']=0x5,this['lights']['directional']['shadow']['camera']['bottom']=-0x5,this['scene']['add'](this['lights']['directional']),this['scene']['add'](this['lights']['directional']['target']),this['lights']['fill']=new _0x46bddf(0xffffff,0.3*Math['PI']),this['lights']['fill']['position']['set'](-0x2,0x2,-0x2),this['lights']['fill']['castShadow']=!0x1,this['scene']['add'](this['lights']['fill']),this['setupEnvironmentMap']();}['setupEnvironmentMap'](_0x249f86=null){if(_0x249f86){this['pmremGenerator']||(this['pmremGenerator']=new _0x105af1(_0x249f86),this['pmremGenerator']['compileEquirectangularShader']());const _0x3d8291=new _0x2eec37(),_0x5d5564=new _0x173c6f(0xffffff,0x444444,0x1);_0x3d8291['add'](_0x5d5564),this['envMap']=this['pmremGenerator']['fromScene'](_0x3d8291,0.04)['texture'],this['envMap']['mapping']=_0x8fb2b4,this['scene']['environment']=this['envMap'],this['scene']['background']=this['scene']['background']||new _0x25d7bf(0x505050);}else{const _0x2359f5=0x100,_0x3ba08c=new Uint8Array(_0x2359f5*_0x2359f5*0x4),_0x1b92b4=new _0x25d7bf(0xffffff);for(let _0x15ed80=0x0;_0x15ed80<_0x2359f5*_0x2359f5;_0x15ed80++){const _0x46b993=0x4*_0x15ed80;_0x3ba08c[_0x46b993]=Math['floor'](0xff*_0x1b92b4['r']),_0x3ba08c[_0x46b993+0x1]=Math['floor'](0xff*_0x1b92b4['g']),_0x3ba08c[_0x46b993+0x2]=Math['floor'](0xff*_0x1b92b4['b']),_0x3ba08c[_0x46b993+0x3]=0xff;}const _0x46ac5f=new _0x5e84a5(_0x3ba08c,_0x2359f5,_0x2359f5);_0x46ac5f['needsUpdate']=!0x0;const _0x1e265b=new _0x43a6dd([_0x46ac5f,_0x46ac5f,_0x46ac5f,_0x46ac5f,_0x46ac5f,_0x46ac5f]);_0x1e265b['needsUpdate']=!0x0,_0x1e265b['mapping']=_0x246c78,this['envMap']=_0x1e265b,this['scene']['environment']=this['envMap'];}}['initializeEnvironmentMap'](_0x46f042){_0x46f042&&!this['envMap']&&this['setupEnvironmentMap'](_0x46f042);}['regenerateEnvironmentMap'](_0x1cfa3e,_0xada93d=!0x1){var _0x5cee66,_0x5b369c;_0x1cfa3e&&(_0xada93d||(null==(_0x5cee66=this['pmremGenerator'])||_0x5cee66['dispose'](),null==(_0x5b369c=this['envMap'])||_0x5b369c['dispose']()),this['pmremGenerator']=null,this['envMap']=null,this['scene']['environment']=null,this['setupEnvironmentMap'](_0x1cfa3e));}['getEnvironmentMap'](){return this['envMap'];}['setupGroundPlane'](){const _0x5d2212=new _0x963183(0x28,0x28),_0x5f4960=new _0x50778e({'side':_0x3ea7cb,'transparent':!0x0,'opacity':0.25});this['groundPlane']=new _0x2c4c6c(_0x5d2212,_0x5f4960),this['groundPlane']['rotation']['x']=-Math['PI']/0x2,this['groundPlane']['position']['y']=0x0,this['groundPlane']['receiveShadow']=!0x0,this['groundPlane']['castShadow']=!0x1,this['groundPlane']['visible']=!0x0,this['groundPlane']['scale']['set'](0xa,0xa,0xa),this['groundPlane']['name']='groundPlane',this['scene']['add'](this['groundPlane']),this['createReferenceGrid']();}['createReferenceGrid'](){this['referenceGrid']=new _0x8e3a38(0xa,0x14,0xffffff,0xcccccc),this['referenceGrid']['name']='referenceGrid',this['referenceGrid']['position']['y']=0x0,this['referenceGrid']['material']['opacity']=0.7,this['referenceGrid']['material']['transparent']=!0x0,this['referenceGrid']['material']['depthWrite']=!0x1,this['referenceGrid']['renderOrder']=0x1,this['scene']['add'](this['referenceGrid']);}['updateGridColorForTheme'](_0x1d4c39){if(this['referenceGrid'])if('light'===_0x1d4c39){this['referenceGrid']['material']['color']['setHex'](0x0);const _0x57d647=this['referenceGrid']['geometry']['attributes']['color'];if(_0x57d647){for(let _0x47c196=0x0;_0x47c196<_0x57d647['count'];_0x47c196++)_0x57d647['setXYZ'](_0x47c196,0x0,0x0,0x0);_0x57d647['needsUpdate']=!0x0;}}else{this['referenceGrid']['material']['color']['setHex'](0xffffff);const _0x2f887f=this['referenceGrid']['geometry']['attributes']['color'];if(_0x2f887f){for(let _0x3cfa5c=0x0;_0x3cfa5c<_0x2f887f['count'];_0x3cfa5c++)_0x2f887f['setXYZ'](_0x3cfa5c,0x1,0x1,0x1);_0x2f887f['needsUpdate']=!0x0;}}}['updateShadowCamera'](_0x3c0b59){const _0x3cb3ca=this['lights']['directional'];if(!_0x3cb3ca||!_0x3cb3ca['castShadow'])return;const _0x19d4f7=_0x3c0b59['getBoundingSphere'](new _0x5bf93c())['radius'],_0x299489=_0x3cb3ca['shadow']['camera'];_0x299489['left']=_0x299489['bottom']=-_0x19d4f7,_0x299489['right']=_0x299489['top']=_0x19d4f7;const _0xa8f0f1=_0x3c0b59['getCenter'](new _0x220444()),_0x2f8f31=_0x3cb3ca['position']['clone']()['sub'](_0x3cb3ca['target']['position']);_0x3cb3ca['target']['position']['copy'](_0xa8f0f1),_0x3cb3ca['position']['copy'](_0xa8f0f1)['add'](_0x2f8f31),_0x299489['updateProjectionMatrix']();}['updateGroundPosition'](_0x160008){this['groundPlane']&&(this['groundPlane']['position']['y']=_0x160008),this['referenceGrid']&&(this['referenceGrid']['position']['y']=_0x160008);}['setGroundVisible'](_0x36bd8b){this['groundPlane']&&(this['groundPlane']['visible']=_0x36bd8b);}['setShadowEnabled'](_0x55a9d0,_0x252031){var _0x47ef20;_0x252031['shadowMap']['enabled']=_0x55a9d0,this['lights']['directional']&&(this['lights']['directional']['castShadow']=_0x55a9d0,!_0x55a9d0&&this['lights']['directional']['shadow']&&(null==(_0x47ef20=this['lights']['directional']['shadow']['map'])||_0x47ef20['dispose'](),this['lights']['directional']['shadow']['map']=null));}['getDirectionalLight'](){return this['lights']['directional'];}}class ji{constructor(_0x1b2879){this['sceneManager']=_0x1b2879,this['visualMeshes']=[],this['collisionMeshes']=[],this['colliders']=[],this['hiddenLinks']=new Set(),this['showVisual']=!0x0,this['showCollision']=!0x1,this['showShadow']=!0x0,this['showEnhancedLighting']=!0x0;}['extractVisualAndCollision'](_0x4bbb5b){const _0x37dfa1=0x0===this['visualMeshes']['length'];if(!_0x37dfa1)return this['processNewlyLoadedMeshes'](_0x4bbb5b);this['visualMeshes']=[],this['collisionMeshes']=[],this['colliders']=[],_0x4bbb5b['threeObject']&&(_0x4bbb5b['threeObject']['traverse'](_0x2406fc=>{if(_0x2406fc['isMesh']&&_0x2406fc['material']){const _0x59fa6a=Array['isArray'](_0x2406fc['material'])?_0x2406fc['material']:[_0x2406fc['material']],_0x57a9d6=[];_0x59fa6a['forEach']((_0xb7225c,_0x1162b3)=>{var _0x488934;if(_0xb7225c){if('MeshBasicMaterial'===_0xb7225c['type']||'MeshLambertMaterial'===_0xb7225c['type']){const _0x2bd8a9=_0xb7225c,_0x4d1c18=this['showEnhancedLighting'],_0x1162d4=null==(_0x488934=this['sceneManager']['environmentManager'])?void 0x0:_0x488934['getEnvironmentMap'](),_0x3bd1ed=new _0xa4876a({'color':_0x2bd8a9['color'],'map':_0x2bd8a9['map'],'transparent':_0x2bd8a9['transparent'],'opacity':_0x2bd8a9['opacity'],'side':_0x2bd8a9['side'],'shininess':_0x4d1c18?0x32:0x1e,'specular':_0x4d1c18?new _0x25d7bf(0.3,0.3,0.3):new _0x25d7bf(0x111111),'envMap':_0x1162d4||null,'reflectivity':_0x1162d4?0.3:0x0});_0x3bd1ed['userData']['originalShininess']=0x1e,_0x3bd1ed['userData']['originalSpecular']=null,_0x3bd1ed['map']&&(_0x3bd1ed['map']['colorSpace']=_0x50e39a),_0x57a9d6['push'](_0x3bd1ed),_0xb7225c=_0x3bd1ed;}else _0x57a9d6['push'](_0xb7225c);if(_0xb7225c&&(_0xb7225c['isMeshPhongMaterial']||_0xb7225c['isMeshStandardMaterial'])){if(void 0x0===_0xb7225c['userData']['originalShininess'])if(_0xb7225c['userData']['originalShininess']=void 0x0!==_0xb7225c['shininess']?_0xb7225c['shininess']:0x1e,_0xb7225c['specular'])if(_0xb7225c['specular']['isColor']){const _0xfdb7ee=_0xb7225c['specular'];_0xfdb7ee['r']<0.1&&_0xfdb7ee['g']<0.1&&_0xfdb7ee['b']<0.1?_0xb7225c['userData']['originalSpecular']=null:_0xb7225c['userData']['originalSpecular']=_0xfdb7ee['clone']();}else'number'==typeof _0xb7225c['specular']?0x111111===_0xb7225c['specular']||_0xb7225c['specular']<0x111111?_0xb7225c['userData']['originalSpecular']=null:_0xb7225c['userData']['originalSpecular']=new _0x25d7bf(_0xb7225c['specular']):_0xb7225c['userData']['originalSpecular']=null;else _0xb7225c['userData']['originalSpecular']=null;this['showEnhancedLighting']&&((void 0x0===_0xb7225c['shininess']||_0xb7225c['shininess']<0x32)&&(_0xb7225c['shininess']=0x32),(!_0xb7225c['specular']||_0xb7225c['specular']['isColor']&&_0xb7225c['specular']['r']<0.2||'number'==typeof _0xb7225c['specular']&&_0xb7225c['specular']<0x333333)&&(_0xb7225c['specular']=new _0x25d7bf(0.3,0.3,0.3)),_0xb7225c['needsUpdate']=!0x0);}}else _0x57a9d6['push'](null);}),Array['isArray'](_0x2406fc['material'])?_0x2406fc['material']=_0x57a9d6:0x1===_0x57a9d6['length']&&_0x57a9d6[0x0]&&(_0x2406fc['material']=_0x57a9d6[0x0]);}}),_0x37dfa1&&_0x4bbb5b['threeObject']['traverse'](_0x361534=>{_0x361534['isURDFCollider']&&(this['colliders']['push'](_0x361534),_0x361534['visible']=this['showCollision']);}),_0x37dfa1&&this['colliders']['forEach'](_0x52cbb8=>{_0x52cbb8['traverse'](_0x55996a=>{_0x55996a['isMesh']&&(_0x55996a['userData']['originalMaterial']||(_0x55996a['userData']['originalMaterial']=_0x55996a['material']),_0x55996a['material']=new _0xa4876a({'transparent':!0x0,'opacity':0.35,'shininess':2.5,'premultipliedAlpha':!0x0,'color':0xffbe38,'polygonOffset':!0x0,'polygonOffsetFactor':-0x1,'polygonOffsetUnits':-0x1}),_0x55996a['castShadow']=!0x1,_0x55996a['receiveShadow']=!0x1,_0x55996a['raycast']=()=>{},this['collisionMeshes']['push'](_0x55996a));});}),_0x4bbb5b['threeObject']['traverse'](_0x60f5ee=>{if(_0x60f5ee['isMesh']||'Mesh'===_0x60f5ee['type']){let _0x3a6911=!0x1,_0x575e1e=_0x60f5ee;for(;_0x575e1e;){if(_0x575e1e['isURDFCollider']){_0x3a6911=!0x0;break;}_0x575e1e=_0x575e1e['parent'];}_0x3a6911||(_0x60f5ee['castShadow']=this['showShadow'],_0x60f5ee['receiveShadow']=this['showShadow'],_0x60f5ee['visible']=this['showVisual'],this['visualMeshes']['push'](_0x60f5ee));}}));}['processNewlyLoadedMeshes'](_0x503eb6){_0x503eb6['threeObject']&&(_0x503eb6['threeObject']['traverse'](_0x2fe7fc=>{if(_0x2fe7fc['isMesh']&&_0x2fe7fc['material']){let _0x4e2cdc=!0x1,_0x394e0d=_0x2fe7fc;for(;_0x394e0d;){if(_0x394e0d['isURDFCollider']){_0x4e2cdc=!0x0;break;}_0x394e0d=_0x394e0d['parent'];}if(_0x4e2cdc)return;const _0x10f02d=Array['isArray'](_0x2fe7fc['material'])?_0x2fe7fc['material']:[_0x2fe7fc['material']],_0x148f1b=[];_0x10f02d['forEach']((_0x2880a8,_0x301943)=>{var _0x24317c,_0x2e0009;if(_0x2880a8){if('MeshBasicMaterial'===_0x2880a8['type']||'MeshLambertMaterial'===_0x2880a8['type']){const _0x22f124=_0x2880a8,_0x1f866e=this['showEnhancedLighting'],_0x53e7a4=null==(_0x24317c=this['sceneManager']['environmentManager'])?void 0x0:_0x24317c['getEnvironmentMap'](),_0x187ca9=new _0xa4876a({'color':_0x22f124['color'],'map':_0x22f124['map'],'transparent':_0x22f124['transparent'],'opacity':_0x22f124['opacity'],'side':_0x22f124['side'],'shininess':_0x1f866e?0x32:0x1e,'specular':_0x1f866e?new _0x25d7bf(0.3,0.3,0.3):new _0x25d7bf(0x111111),'envMap':_0x53e7a4||null,'reflectivity':_0x53e7a4?0.3:0x0});_0x187ca9['userData']['originalShininess']=0x1e,_0x187ca9['userData']['originalSpecular']=null,_0x187ca9['map']&&(_0x187ca9['map']['colorSpace']=_0x50e39a),_0x148f1b['push'](_0x187ca9),_0x2880a8=_0x187ca9;}else _0x148f1b['push'](_0x2880a8);if(_0x2880a8&&(_0x2880a8['isMeshPhongMaterial']||_0x2880a8['isMeshStandardMaterial'])){if(void 0x0===_0x2880a8['userData']['originalShininess'])if(_0x2880a8['userData']['originalShininess']=void 0x0!==_0x2880a8['shininess']?_0x2880a8['shininess']:0x1e,_0x2880a8['specular'])if(_0x2880a8['specular']['isColor']){const _0x103309=_0x2880a8['specular'];_0x103309['r']<0.1&&_0x103309['g']<0.1&&_0x103309['b']<0.1?_0x2880a8['userData']['originalSpecular']=null:_0x2880a8['userData']['originalSpecular']=_0x103309['clone']();}else'number'==typeof _0x2880a8['specular']?0x111111===_0x2880a8['specular']||_0x2880a8['specular']<0x111111?_0x2880a8['userData']['originalSpecular']=null:_0x2880a8['userData']['originalSpecular']=new _0x25d7bf(_0x2880a8['specular']):_0x2880a8['userData']['originalSpecular']=null;else _0x2880a8['userData']['originalSpecular']=null;const _0x42f172=null==(_0x2e0009=this['sceneManager']['environmentManager'])?void 0x0:_0x2e0009['getEnvironmentMap']();_0x42f172&&!_0x2880a8['envMap']&&(_0x2880a8['envMap']=_0x42f172,void 0x0===_0x2880a8['reflectivity']&&(_0x2880a8['reflectivity']=0.3),_0x2880a8['needsUpdate']=!0x0),this['showEnhancedLighting']&&((void 0x0===_0x2880a8['shininess']||_0x2880a8['shininess']<0x32)&&(_0x2880a8['shininess']=0x32),(!_0x2880a8['specular']||_0x2880a8['specular']['isColor']&&_0x2880a8['specular']['r']<0.2||'number'==typeof _0x2880a8['specular']&&_0x2880a8['specular']<0x333333)&&(_0x2880a8['specular']=new _0x25d7bf(0.3,0.3,0.3)),_0x2880a8['needsUpdate']=!0x0);}}else _0x148f1b['push'](null);}),Array['isArray'](_0x2fe7fc['material'])?_0x2fe7fc['material']=_0x148f1b:0x1===_0x148f1b['length']&&_0x148f1b[0x0]&&(_0x2fe7fc['material']=_0x148f1b[0x0]);}}),_0x503eb6['threeObject']['traverse'](_0x5f34ab=>{if((_0x5f34ab['isMesh']||'Mesh'===_0x5f34ab['type'])&&!this['visualMeshes']['includes'](_0x5f34ab)&&!this['collisionMeshes']['includes'](_0x5f34ab)){let _0x1674cf=!0x1,_0x4c82f2=_0x5f34ab;for(;_0x4c82f2;){if(_0x4c82f2['isURDFCollider']){_0x1674cf=!0x0;break;}_0x4c82f2=_0x4c82f2['parent'];}_0x1674cf?(_0x5f34ab['userData']['originalMaterial']||(_0x5f34ab['userData']['originalMaterial']=_0x5f34ab['material']),_0x5f34ab['material']=new _0xa4876a({'transparent':!0x0,'opacity':0.35,'shininess':2.5,'premultipliedAlpha':!0x0,'color':0xffbe38,'polygonOffset':!0x0,'polygonOffsetFactor':-0x1,'polygonOffsetUnits':-0x1}),_0x5f34ab['castShadow']=!0x1,_0x5f34ab['receiveShadow']=!0x1,_0x5f34ab['raycast']=()=>{},_0x5f34ab['visible']=this['showCollision'],this['collisionMeshes']['push'](_0x5f34ab)):(_0x5f34ab['castShadow']=this['showShadow'],_0x5f34ab['receiveShadow']=this['showShadow'],_0x5f34ab['visible']=this['showVisual'],this['visualMeshes']['push'](_0x5f34ab));}}));}['toggleVisual'](_0x8f7d7c,_0x53e8e2){this['showVisual']=_0x8f7d7c,_0x53e8e2&&_0x53e8e2['links']&&_0x53e8e2['links']['forEach']((_0x39cd14,_0x3dde6e)=>{if(_0x39cd14['threeObject']){const _0x5538e0=_0x8f7d7c&&!this['hiddenLinks']['has'](_0x3dde6e);this['setLinkVisibility'](_0x39cd14['threeObject'],_0x5538e0,_0x53e8e2);}});}['toggleCollision'](_0x5aee67){this['showCollision']=_0x5aee67,this['colliders']&&this['colliders']['forEach'](_0x127e9a=>{_0x127e9a['visible']=_0x5aee67;}),this['collisionMeshes']['forEach'](_0x1a37f3=>{_0x1a37f3['visible']=_0x5aee67;});}['toggleShadow'](_0x10e3ac,_0x405ad1,_0x44ad99){var _0x2482fd;this['showShadow']=_0x10e3ac,_0x405ad1['shadowMap']['enabled']=_0x10e3ac,_0x44ad99&&(_0x44ad99['castShadow']=_0x10e3ac),this['visualMeshes']['forEach'](_0x29c878=>{_0x29c878['castShadow']=_0x10e3ac,_0x29c878['receiveShadow']=_0x10e3ac;}),!_0x10e3ac&&_0x44ad99&&_0x44ad99['shadow']&&(null==(_0x2482fd=_0x44ad99['shadow']['map'])||_0x2482fd['dispose'](),_0x44ad99['shadow']['map']=null);}['toggleEnhancedLighting'](_0x4bb041){var _0x5dd78a;this['showEnhancedLighting']=_0x4bb041,this['sceneManager']&&this['sceneManager']['currentModel']&&this['sceneManager']['currentModel']['threeObject']&&this['sceneManager']['currentModel']['threeObject']['traverse'](_0x45a400=>{if(_0x45a400['isMesh']&&_0x45a400['material']&&!this['collisionMeshes']['includes'](_0x45a400)){const _0x24eb57=Array['isArray'](_0x45a400['material'])?_0x45a400['material']:[_0x45a400['material']];_0x24eb57['forEach']((_0x10f384,_0x166b76)=>{if(_0x10f384){if('MeshBasicMaterial'===_0x10f384['type']||'MeshLambertMaterial'===_0x10f384['type']){const _0x87af00=_0x10f384,_0x1e8cdd=new _0xa4876a({'color':_0x87af00['color'],'map':_0x87af00['map'],'transparent':_0x87af00['transparent'],'opacity':_0x87af00['opacity'],'side':_0x87af00['side'],'shininess':_0x4bb041?0x32:0x1e,'specular':_0x4bb041?new _0x25d7bf(0.3,0.3,0.3):new _0x25d7bf(0x111111)});_0x1e8cdd['userData']['originalShininess']=0x1e,_0x1e8cdd['userData']['originalSpecular']=null,_0x1e8cdd['map']&&(_0x1e8cdd['map']['colorSpace']=_0x50e39a),_0x24eb57[_0x166b76]=_0x1e8cdd,_0x10f384=_0x1e8cdd;}if(_0x10f384&&(_0x10f384['isMeshPhongMaterial']||_0x10f384['isMeshStandardMaterial'])){if(void 0x0===_0x10f384['userData']['originalShininess'])if(_0x10f384['userData']['originalShininess']=void 0x0!==_0x10f384['shininess']?_0x10f384['shininess']:0x1e,_0x10f384['specular'])if(_0x10f384['specular']['isColor']){const _0x41eb09=_0x10f384['specular'];_0x41eb09['r']<0.1&&_0x41eb09['g']<0.1&&_0x41eb09['b']<0.1?_0x10f384['userData']['originalSpecular']=null:_0x10f384['userData']['originalSpecular']=_0x41eb09['clone']();}else'number'==typeof _0x10f384['specular']?0x111111===_0x10f384['specular']||_0x10f384['specular']<0x111111?_0x10f384['userData']['originalSpecular']=null:_0x10f384['userData']['originalSpecular']=new _0x25d7bf(_0x10f384['specular']):_0x10f384['userData']['originalSpecular']=null;else _0x10f384['userData']['originalSpecular']=null;if(_0x4bb041)_0x10f384['shininess']=0x32,(!_0x10f384['specular']||_0x10f384['specular']['isColor']&&_0x10f384['specular']['r']<0.2||'number'==typeof _0x10f384['specular']&&_0x10f384['specular']<0x333333)&&(_0x10f384['specular']=new _0x25d7bf(0.3,0.3,0.3));else if(void 0x0!==_0x10f384['userData']['originalShininess']&&(_0x10f384['shininess']=_0x10f384['userData']['originalShininess']),null===_0x10f384['userData']['originalSpecular'])_0x10f384['specular']=new _0x25d7bf(0x111111);else if(_0x10f384['userData']['originalSpecular']){const _0x342dce=_0x10f384['userData']['originalSpecular'];_0x342dce['isColor']?_0x10f384['specular']=_0x342dce['clone']():_0x10f384['specular']=_0x342dce;}_0x10f384['needsUpdate']=!0x0;}}}),Array['isArray'](_0x45a400['material'])?(_0x45a400['material']=_0x24eb57,_0x24eb57['forEach'](_0x139379=>{_0x139379&&(_0x139379['needsUpdate']=!0x0);})):0x1===_0x24eb57['length']&&(_0x45a400['material']=_0x24eb57[0x0],_0x45a400['material']&&(_0x45a400['material']['needsUpdate']=!0x0));}}),this['visualMeshes']['forEach'](_0x128f23=>{if(_0x128f23['material']){const _0x414bcc=Array['isArray'](_0x128f23['material'])?_0x128f23['material']:[_0x128f23['material']];_0x414bcc['forEach']((_0x174997,_0x4387ce)=>{var _0x57ff83;if(_0x174997){if('MeshBasicMaterial'===_0x174997['type']||'MeshLambertMaterial'===_0x174997['type']){const _0x49880d=_0x174997,_0x3ecfc3=_0x4bb041,_0x159364=null==(_0x57ff83=this['sceneManager']['environmentManager'])?void 0x0:_0x57ff83['getEnvironmentMap'](),_0x2207dd=new _0xa4876a({'color':_0x49880d['color'],'map':_0x49880d['map'],'transparent':_0x49880d['transparent'],'opacity':_0x49880d['opacity'],'side':_0x49880d['side'],'shininess':_0x3ecfc3?0x32:0x1e,'specular':_0x3ecfc3?new _0x25d7bf(0.3,0.3,0.3):new _0x25d7bf(0x111111),'envMap':_0x159364||null,'reflectivity':_0x159364?0.3:0x0});_0x2207dd['userData']['originalShininess']=0x1e,_0x2207dd['userData']['originalSpecular']=null,_0x2207dd['map']&&(_0x2207dd['map']['colorSpace']=_0x50e39a),_0x414bcc[_0x4387ce]=_0x2207dd,_0x174997=_0x2207dd;}if(_0x174997&&(_0x174997['isMeshPhongMaterial']||_0x174997['isMeshStandardMaterial'])){if(void 0x0===_0x174997['userData']['originalShininess'])if(_0x174997['userData']['originalShininess']=void 0x0!==_0x174997['shininess']?_0x174997['shininess']:0x1e,_0x174997['specular'])if(_0x174997['specular']['isColor']){const _0x22c655=_0x174997['specular'];_0x22c655['r']<0.1&&_0x22c655['g']<0.1&&_0x22c655['b']<0.1?_0x174997['userData']['originalSpecular']=null:_0x174997['userData']['originalSpecular']=_0x22c655['clone']();}else'number'==typeof _0x174997['specular']?0x111111===_0x174997['specular']||_0x174997['specular']<0x111111?_0x174997['userData']['originalSpecular']=null:_0x174997['userData']['originalSpecular']=new _0x25d7bf(_0x174997['specular']):_0x174997['userData']['originalSpecular']=null;else _0x174997['userData']['originalSpecular']=null;if(_0x4bb041)_0x174997['shininess']=0x32,(!_0x174997['specular']||_0x174997['specular']['isColor']&&_0x174997['specular']['r']<0.2||'number'==typeof _0x174997['specular']&&_0x174997['specular']<0x333333)&&(_0x174997['specular']=new _0x25d7bf(0.3,0.3,0.3));else if(void 0x0!==_0x174997['userData']['originalShininess']&&(_0x174997['shininess']=_0x174997['userData']['originalShininess']),null===_0x174997['userData']['originalSpecular'])_0x174997['specular']=new _0x25d7bf(0x111111);else if(_0x174997['userData']['originalSpecular']){const _0x2912b0=_0x174997['userData']['originalSpecular'];_0x2912b0['isColor']?_0x174997['specular']=_0x2912b0['clone']():_0x174997['specular']=_0x2912b0;}_0x174997['needsUpdate']=!0x0;}}}),Array['isArray'](_0x128f23['material'])?(_0x128f23['material']=_0x414bcc,_0x414bcc['forEach'](_0xb4e0b=>{_0xb4e0b&&(_0xb4e0b['needsUpdate']=!0x0);})):0x1===_0x414bcc['length']&&(_0x128f23['material']=_0x414bcc[0x0],_0x128f23['material']&&(_0x128f23['material']['needsUpdate']=!0x0));}});const _0x39a3e0=null==(_0x5dd78a=window['app'])?void 0x0:_0x5dd78a['mujocoSimulationManager'];_0x39a3e0&&_0x39a3e0['mujocoRoot']&&_0x39a3e0['mujocoRoot']['traverse'](_0x5aa546=>{if(_0x5aa546['isMesh']&&_0x5aa546['material']){(Array['isArray'](_0x5aa546['material'])?_0x5aa546['material']:[_0x5aa546['material']])['forEach'](_0x3a5655=>{if(_0x3a5655['isMeshPhongMaterial']||_0x3a5655['isMeshStandardMaterial']){if(void 0x0===_0x3a5655['userData']['originalShininess'])if(_0x3a5655['userData']['originalShininess']=void 0x0!==_0x3a5655['shininess']?_0x3a5655['shininess']:0x1e,_0x3a5655['specular'])if(_0x3a5655['specular']['isColor']){const _0x4f6d97=_0x3a5655['specular'];_0x4f6d97['r']<0.1&&_0x4f6d97['g']<0.1&&_0x4f6d97['b']<0.1?_0x3a5655['userData']['originalSpecular']=null:_0x3a5655['userData']['originalSpecular']=_0x4f6d97['clone']();}else _0x3a5655['userData']['originalSpecular']=null;else _0x3a5655['userData']['originalSpecular']=null;if(_0x4bb041)_0x3a5655['shininess']=0x32,(!_0x3a5655['specular']||_0x3a5655['specular']['isColor']&&_0x3a5655['specular']['r']<0.2||'number'==typeof _0x3a5655['specular']&&_0x3a5655['specular']<0x333333)&&(_0x3a5655['specular']=new _0x25d7bf(0.3,0.3,0.3));else if(void 0x0!==_0x3a5655['userData']['originalShininess']&&(_0x3a5655['shininess']=_0x3a5655['userData']['originalShininess']),null===_0x3a5655['userData']['originalSpecular'])_0x3a5655['specular']=new _0x25d7bf(0x111111);else if(_0x3a5655['userData']['originalSpecular']){const _0x184ea0=_0x3a5655['userData']['originalSpecular'];_0x184ea0['isColor']?_0x3a5655['specular']=_0x184ea0['clone']():_0x3a5655['specular']=_0x184ea0;}_0x3a5655['needsUpdate']=!0x0;}});}});}['toggleLinkVisibility'](_0x254810,_0x50c005){if(!_0x50c005||!_0x50c005['links'])return!0x1;const _0x32edaa=_0x50c005['links']['get'](_0x254810);if(!_0x32edaa||!_0x32edaa['threeObject'])return!0x1;const _0x3b5073=this['hiddenLinks']['has'](_0x254810);_0x3b5073?this['hiddenLinks']['delete'](_0x254810):this['hiddenLinks']['add'](_0x254810);const _0x5e49b2=!!_0x3b5073;return this['setLinkVisibility'](_0x32edaa['threeObject'],_0x5e49b2,_0x50c005),_0x5e49b2;}['isLinkHidden'](_0x31e9af){return this['hiddenLinks']['has'](_0x31e9af);}['setLinkVisibility'](_0x5165dd,_0x4649c1,_0x1875a4){const _0x4cdcf7=(_0x2523f0,_0x4ce9b3=!0x1)=>{var _0xfc3b01,_0x569ad7,_0x53b3c3;if(_0x4ce9b3||'URDFLink'!==_0x2523f0['type']&&!_0x2523f0['isURDFLink']){if(_0x2523f0['isURDFJoint']||'URDFJoint'===_0x2523f0['type']){const _0x374852=_0x2523f0['name'];let _0x4e866b=!0x1;if(_0x374852&&(null==_0x1875a4?void 0x0:_0x1875a4['joints'])&&_0x1875a4['joints']['has'](_0x374852)){_0x4e866b='fixed'===_0x1875a4['joints']['get'](_0x374852)['type'];}if(_0x4e866b){for(const _0x5c41f0 of _0x2523f0['children'])_0x4cdcf7(_0x5c41f0,!0x1);return;}return;}if(!(this['isAuxiliaryVisualization'](_0x2523f0)||(null==(_0xfc3b01=_0x2523f0['userData'])?void 0x0:_0xfc3b01['isCenterOfMass'])||(null==(_0x569ad7=_0x2523f0['userData'])?void 0x0:_0x569ad7['isInertiaBox'])||_0x2523f0['name']&&_0x2523f0['name']['endsWith']('_axes'))){if('Mesh'===_0x2523f0['type']||_0x2523f0['isMesh']){let _0x5d2abb=!0x1,_0x2a9f66=_0x2523f0;for(;_0x2a9f66;){if(_0x2a9f66['isURDFCollider']){_0x5d2abb=!0x0;break;}_0x2a9f66=_0x2a9f66['parent'];}if(_0x5d2abb||(null==(_0x53b3c3=_0x2523f0['userData'])?void 0x0:_0x53b3c3['isCollision']))return;_0x2523f0['visible']=_0x4649c1&&this['showVisual'];}for(const _0x221b9f of _0x2523f0['children'])_0x4cdcf7(_0x221b9f,!0x1);}}};_0x4cdcf7(_0x5165dd,!0x0);}['isAuxiliaryVisualization'](_0x1ba62a){var _0x54365a,_0x39b9c8,_0x3e38f8;return!!(null==(_0x54365a=_0x1ba62a['userData'])?void 0x0:_0x54365a['isInertiaBox'])||(!!(null==(_0x39b9c8=_0x1ba62a['userData'])?void 0x0:_0x39b9c8['isCOMMarker'])||!!(null==(_0x3e38f8=_0x1ba62a['userData'])?void 0x0:_0x3e38f8['isCollision']));}['updateVisualTransparency'](_0x19dc45,_0x531d31,_0x1f9bf9,_0x1788e8){if(_0x1788e8)return;const _0x5c1e53=_0x19dc45||_0x531d31||_0x1f9bf9;this['visualMeshes']['forEach']((_0x3cbb7c,_0x72f37d)=>{ji['setMeshTransparency'](_0x3cbb7c,_0x5c1e53,_0x72f37d);});}static['setMeshTransparency'](_0x12badd,_0x43b1ec,_0x527751=-0x1){if(!_0x12badd['material'])return;(Array['isArray'](_0x12badd['material'])?_0x12badd['material']:[_0x12badd['material']])['forEach'](_0x276ed4=>{void 0x0===_0x276ed4['userData']['originalOpacity']&&(_0x276ed4['userData']['originalOpacity']=void 0x0!==_0x276ed4['opacity']?_0x276ed4['opacity']:0x1,_0x276ed4['userData']['originalTransparent']=_0x276ed4['transparent']||!0x1),_0x43b1ec?(_0x276ed4['transparent']=!0x0,_0x276ed4['opacity']=0.5,_0x276ed4['needsUpdate']=!0x0):void 0x0!==_0x276ed4['userData']['originalOpacity']&&(_0x276ed4['opacity']=_0x276ed4['userData']['originalOpacity'],_0x276ed4['transparent']=_0x276ed4['userData']['originalTransparent'],_0x276ed4['needsUpdate']=!0x0);});}['clear'](){this['visualMeshes']=[],this['collisionMeshes']=[],this['colliders']=[],this['hiddenLinks']['clear']();}}class ki{constructor(_0x7b3096){this['sceneManager']=_0x7b3096,this['comMarkers']=[],this['inertiaEllipsoids']=[],this['showCOM']=!0x1,this['showInertia']=!0x1;}static['createCOMGeometry'](_0x3145a1){const _0x4c8d55=new _0x135d71(),_0x58aaa5=new _0x2b5e49({'color':0xffffff,'side':_0x3ea7cb,'depthTest':!0x0,'depthWrite':!0x0}),_0x216501=new _0x2b5e49({'color':0x0,'side':_0x3ea7cb,'depthTest':!0x0,'depthWrite':!0x0});return[{'phiStart':0x0,'phiLength':Math['PI']/0x2,'thetaStart':0x0,'thetaLength':Math['PI']/0x2,'material':_0x58aaa5},{'phiStart':0x0,'phiLength':Math['PI']/0x2,'thetaStart':Math['PI']/0x2,'thetaLength':Math['PI']/0x2,'material':_0x216501},{'phiStart':Math['PI']/0x2,'phiLength':Math['PI']/0x2,'thetaStart':0x0,'thetaLength':Math['PI']/0x2,'material':_0x216501},{'phiStart':Math['PI']/0x2,'phiLength':Math['PI']/0x2,'thetaStart':Math['PI']/0x2,'thetaLength':Math['PI']/0x2,'material':_0x58aaa5},{'phiStart':Math['PI'],'phiLength':Math['PI']/0x2,'thetaStart':0x0,'thetaLength':Math['PI']/0x2,'material':_0x58aaa5},{'phiStart':Math['PI'],'phiLength':Math['PI']/0x2,'thetaStart':Math['PI']/0x2,'thetaLength':Math['PI']/0x2,'material':_0x216501},{'phiStart':1.5*Math['PI'],'phiLength':Math['PI']/0x2,'thetaStart':0x0,'thetaLength':Math['PI']/0x2,'material':_0x216501},{'phiStart':1.5*Math['PI'],'phiLength':Math['PI']/0x2,'thetaStart':Math['PI']/0x2,'thetaLength':Math['PI']/0x2,'material':_0x58aaa5}]['forEach'](_0x5b6a4a=>{const _0x12b144=new _0x2e733b(_0x3145a1,0x10,0x10,_0x5b6a4a['phiStart'],_0x5b6a4a['phiLength'],_0x5b6a4a['thetaStart'],_0x5b6a4a['thetaLength']),_0x41e302=new _0x2c4c6c(_0x12b144,_0x5b6a4a['material']);_0x41e302['castShadow']=!0x1,_0x41e302['receiveShadow']=!0x1,_0x4c8d55['add'](_0x41e302);}),_0x4c8d55;}['extractInertialProperties'](_0x51a723){this['comMarkers']['forEach'](_0x29b938=>{_0x29b938['parent']&&_0x29b938['parent']['remove'](_0x29b938);}),this['inertiaEllipsoids']['forEach'](_0x406515=>{_0x406515['parent']&&_0x406515['parent']['remove'](_0x406515);}),this['comMarkers']=[],this['inertiaEllipsoids']=[],_0x51a723['links']&&_0x51a723['links']['forEach']((_0x2109b0,_0x35804e)=>{if(!_0x2109b0['inertial'])return;const _0x1f8918=_0x2109b0['inertial'];let _0x42fecc;try{_0x42fecc=_0x1f8918['origin']&&_0x1f8918['origin']['xyz']?Ue['xyzToVector3'](_0x1f8918['origin']['xyz']):_0x1f8918['origin']?new _0x220444(_0x1f8918['origin'][0x0]||0x0,_0x1f8918['origin'][0x1]||0x0,_0x1f8918['origin'][0x2]||0x0):new _0x220444(0x0,0x0,0x0);}catch(_0x2fb33c){_0x42fecc=new _0x220444(0x0,0x0,0x0);}this['showCOM']&&void 0x0!==_0x1f8918['mass']&&_0x1f8918['mass']>0x0&&this['createCOMMarker'](_0x51a723,_0x2109b0,_0x42fecc),this['showInertia']&&(void 0x0!==_0x1f8918['ixx']||_0x1f8918['inertia'])&&this['createInertiaEllipsoid'](_0x51a723,_0x2109b0,_0x42fecc,_0x1f8918);});}['createCOMMarker'](_0x16ab34,_0x5af1ff,_0x2e99f4){const _0x553bb0=this['findLinkObject'](_0x16ab34['threeObject'],_0x5af1ff['name']);if(!_0x553bb0)return;const _0xbb9dc4=new _0x135d71(),_0x1c38c8=0.02,_0x1cb2b1=0x10,_0x42a6e9=new _0x2b5e49({'color':0xffffff,'side':_0x3ea7cb,'depthTest':!0x0,'depthWrite':!0x0}),_0x3b712b=new _0x2b5e49({'color':0x0,'side':_0x3ea7cb,'depthTest':!0x0,'depthWrite':!0x0}),_0x435692=new _0x2e733b(_0x1c38c8,_0x1cb2b1,_0x1cb2b1,0x0,Math['PI']/0x2,0x0,Math['PI']/0x2),_0x39e820=new _0x2c4c6c(_0x435692,_0x42a6e9),_0x39a1bb=new _0x2e733b(_0x1c38c8,_0x1cb2b1,_0x1cb2b1,0x0,Math['PI']/0x2,Math['PI']/0x2,Math['PI']/0x2),_0x36768e=new _0x2c4c6c(_0x39a1bb,_0x3b712b),_0x83fb3a=new _0x2e733b(_0x1c38c8,_0x1cb2b1,_0x1cb2b1,Math['PI']/0x2,Math['PI']/0x2,0x0,Math['PI']/0x2),_0x1e4678=new _0x2c4c6c(_0x83fb3a,_0x3b712b),_0x1a78e1=new _0x2e733b(_0x1c38c8,_0x1cb2b1,_0x1cb2b1,Math['PI']/0x2,Math['PI']/0x2,Math['PI']/0x2,Math['PI']/0x2),_0x5334e3=new _0x2c4c6c(_0x1a78e1,_0x42a6e9),_0x24d9ae=new _0x2e733b(_0x1c38c8,_0x1cb2b1,_0x1cb2b1,Math['PI'],Math['PI']/0x2,0x0,Math['PI']/0x2),_0x2436bf=new _0x2c4c6c(_0x24d9ae,_0x42a6e9),_0x51f222=new _0x2e733b(_0x1c38c8,_0x1cb2b1,_0x1cb2b1,Math['PI'],Math['PI']/0x2,Math['PI']/0x2,Math['PI']/0x2),_0x524d2d=new _0x2c4c6c(_0x51f222,_0x3b712b),_0x1eea8c=new _0x2e733b(_0x1c38c8,_0x1cb2b1,_0x1cb2b1,1.5*Math['PI'],Math['PI']/0x2,0x0,Math['PI']/0x2),_0x270e82=new _0x2c4c6c(_0x1eea8c,_0x3b712b),_0x156f29=new _0x2e733b(_0x1c38c8,_0x1cb2b1,_0x1cb2b1,1.5*Math['PI'],Math['PI']/0x2,Math['PI']/0x2,Math['PI']/0x2),_0x5cb73f=new _0x2c4c6c(_0x156f29,_0x42a6e9);_0xbb9dc4['add'](_0x39e820),_0xbb9dc4['add'](_0x36768e),_0xbb9dc4['add'](_0x1e4678),_0xbb9dc4['add'](_0x5334e3),_0xbb9dc4['add'](_0x2436bf),_0xbb9dc4['add'](_0x524d2d),_0xbb9dc4['add'](_0x270e82),_0xbb9dc4['add'](_0x5cb73f),_0xbb9dc4['userData']['isCenterOfMass']=!0x0,_0xbb9dc4['position']['copy'](_0x2e99f4),_0xbb9dc4['visible']=this['showCOM'],_0x553bb0['add'](_0xbb9dc4),this['comMarkers']['push'](_0xbb9dc4);}['createInertiaEllipsoid'](_0x202b5b,_0x570402,_0x783a6f,_0xd2c465){let _0xce5e1c;_0xce5e1c=_0xd2c465['diagonalInertia']?{'ixx':_0xd2c465['diagonalInertia']['ixx'],'iyy':_0xd2c465['diagonalInertia']['iyy'],'izz':_0xd2c465['diagonalInertia']['izz'],'ixy':0x0,'ixz':0x0,'iyz':0x0,'mass':_0xd2c465['mass']}:_0xd2c465;const _0x1eb600=Ue['computeInertiaBox'](_0xce5e1c);if(!_0x1eb600)return;const _0x577599=Ue['createInertiaBoxGeometry'](_0x1eb600['width'],_0x1eb600['height'],_0x1eb600['depth']),_0x2d1c38=new _0xa4876a({'transparent':!0x0,'opacity':0.35,'shininess':2.5,'premultipliedAlpha':!0x0,'color':0x4a9eff,'polygonOffset':!0x0,'polygonOffsetFactor':-0x1,'polygonOffsetUnits':-0x1}),_0x4ccaab=new _0x2c4c6c(_0x577599,_0x2d1c38);if(_0x4ccaab['position']['copy'](_0x783a6f),_0xd2c465['origin']&&_0xd2c465['origin']['quat']){const _0xf06e36=_0xd2c465['origin']['quat'],_0x5b90a2=new _0x3c39ce(_0xf06e36['x'],_0xf06e36['y'],_0xf06e36['z'],_0xf06e36['w']),_0x2c0425=new _0x3c39ce();_0x2c0425['setFromAxisAngle'](new _0x220444(0x0,0x1,0x0),Math['PI']);const _0x425cf9=new _0x3c39ce();_0x425cf9['multiplyQuaternions'](_0x5b90a2,_0x2c0425),_0x4ccaab['quaternion']['copy'](_0x425cf9);}else if(_0x1eb600['rotation']&&void 0x0!==_0x1eb600['rotation']['w'])_0x4ccaab['quaternion']['copy'](_0x1eb600['rotation']);else if(_0xd2c465['origin']&&_0xd2c465['origin']['rpy']){const _0x2a53a8=_0xd2c465['origin']['rpy'];_0x4ccaab['rotation']['set'](_0x2a53a8[0x0],_0x2a53a8[0x1],_0x2a53a8[0x2],'XYZ');}else _0x4ccaab['rotation']['set'](0x0,0x0,0x0);_0x4ccaab['visible']=this['showInertia'],_0x4ccaab['castShadow']=!0x1,_0x4ccaab['receiveShadow']=!0x1,_0x4ccaab['userData']['isInertiaBox']=!0x0;const _0x435856=this['findLinkObject'](_0x202b5b['threeObject'],_0x570402['name']);_0x435856?_0x435856['add'](_0x4ccaab):this['sceneManager']['scene']['add'](_0x4ccaab),this['inertiaEllipsoids']['push'](_0x4ccaab);}['findLinkObject'](_0x5cf40f,_0x344c4d){let _0x5473ac=null;return _0x5cf40f['traverse'](_0x4abe08=>{_0x4abe08['name']!==_0x344c4d&&_0x4abe08['name']!=='link_'+_0x344c4d&&_0x4abe08['name']!=='body_'+_0x344c4d||(_0x5473ac=_0x4abe08);}),_0x5473ac;}['toggleCenterOfMass'](_0x1f5238,_0x342b81){this['showCOM']=_0x1f5238,_0x1f5238&&0x0===this['comMarkers']['length']&&_0x342b81?this['extractInertialProperties'](_0x342b81):this['comMarkers']['forEach'](_0x1379f5=>{_0x1379f5['visible']=_0x1f5238;});}['toggleInertia'](_0xdff4b,_0x46f16a){this['showInertia']=_0xdff4b,_0xdff4b&&0x0===this['inertiaEllipsoids']['length']&&_0x46f16a?this['extractInertialProperties'](_0x46f16a):this['inertiaEllipsoids']['forEach'](_0x2ed333=>{_0x2ed333['visible']=_0xdff4b;});}['clear'](){this['comMarkers']['forEach'](_0x48a9b7=>{_0x48a9b7['parent']&&_0x48a9b7['parent']['remove'](_0x48a9b7);}),this['inertiaEllipsoids']['forEach'](_0x1dfcd2=>{_0x1dfcd2['parent']&&_0x1dfcd2['parent']['remove'](_0x1dfcd2);}),this['comMarkers']=[],this['inertiaEllipsoids']=[];}}class Ti{constructor(_0x5917a8){this['sceneManager']=_0x5917a8,this['constraintVisuals']=[],this['showConstraints']=!0x0;}['visualizeConstraints'](_0x373b8e,_0x161e24){this['constraintVisuals']['forEach'](_0x39f689=>{_0x39f689['parent']&&_0x39f689['parent']['remove'](_0x39f689);}),this['constraintVisuals']=[],_0x373b8e['constraints']&&0x0!==_0x373b8e['constraints']['size']&&_0x373b8e['constraints']['forEach']((_0x285920,_0x3abe9f)=>{try{'connect'===_0x285920['type']||'weld'===_0x285920['type']?this['visualizeBodyConstraint'](_0x373b8e,_0x285920,_0x161e24):'joint'===_0x285920['type']?this['visualizeJointConstraint'](_0x373b8e,_0x285920,_0x161e24):'distance'===_0x285920['type']&&this['visualizeDistanceConstraint'](_0x373b8e,_0x285920,_0x161e24);}catch(_0x5d5bd3){}});}['visualizeBodyConstraint'](_0x19f86c,_0x137463,_0x5ad7c8){const _0x570b41=this['findLinkObject'](_0x19f86c['threeObject'],_0x137463['body1']),_0x341a6f=this['findLinkObject'](_0x19f86c['threeObject'],_0x137463['body2']);if(!_0x570b41||!_0x341a6f)return;const _0xa8097a=new _0x116076(),_0x40cfa9=new Float32Array(0x6);_0x40cfa9[0x0]=0x0,_0x40cfa9[0x1]=0x0,_0x40cfa9[0x2]=0x0,_0x40cfa9[0x3]=0x0,_0x40cfa9[0x4]=0x0,_0x40cfa9[0x5]=0x0,_0xa8097a['setAttribute']('position',new _0x465d50(_0x40cfa9,0x3));const _0x2a739e='weld'===_0x137463['type']?0xff6600:0xffff,_0xe2aebe=new _0x3164b6({'color':_0x2a739e,'linewidth':0x2,'dashSize':0.05,'gapSize':0.03,'depthTest':!0x0,'transparent':!0x0,'opacity':0.8}),_0x440be7=new _0x5b83e2(_0xa8097a,_0xe2aebe);_0x440be7['computeLineDistances'](),_0x440be7['userData']['constraint']=_0x137463,_0x440be7['userData']['body1']=_0x570b41,_0x440be7['userData']['body2']=_0x341a6f,_0x440be7['userData']['isConstraintVisualization']=!0x0;(_0x5ad7c8||this['sceneManager']['scene'])['add'](_0x440be7),this['constraintVisuals']['push'](_0x440be7),_0x440be7['onBeforeRender']=()=>{if(!_0x440be7['userData']['body1']||!_0x440be7['userData']['body2'])return;const _0x195927=new _0x220444(),_0x358aa7=new _0x220444();if(_0x440be7['userData']['body1']['getWorldPosition'](_0x195927),_0x440be7['userData']['body2']['getWorldPosition'](_0x358aa7),_0x5ad7c8){const _0x25a9ec=new _0x13cf24();_0x25a9ec['copy'](_0x5ad7c8['matrixWorld'])['invert'](),_0x195927['applyMatrix4'](_0x25a9ec),_0x358aa7['applyMatrix4'](_0x25a9ec);}const _0x4b037c=_0x440be7['geometry']['attributes']['position']['array'];_0x4b037c[0x0]=_0x195927['x'],_0x4b037c[0x1]=_0x195927['y'],_0x4b037c[0x2]=_0x195927['z'],_0x4b037c[0x3]=_0x358aa7['x'],_0x4b037c[0x4]=_0x358aa7['y'],_0x4b037c[0x5]=_0x358aa7['z'],_0x440be7['geometry']['attributes']['position']['needsUpdate']=!0x0,_0x440be7['computeLineDistances']();};}['visualizeJointConstraint'](_0x440a25,_0x34f4da,_0x46c509){const _0x50ee95=_0x440a25['getJoint'](_0x34f4da['joint1']),_0x2b486a=_0x440a25['getJoint'](_0x34f4da['joint2']);if(!_0x50ee95||!_0x2b486a)return;const _0x3ccc1b=_0x50ee95['child']?this['findLinkObject'](_0x440a25['threeObject'],_0x50ee95['child']):null,_0x46a6cf=_0x2b486a['child']?this['findLinkObject'](_0x440a25['threeObject'],_0x2b486a['child']):null;if(!_0x3ccc1b||!_0x46a6cf)return;const _0x140158=new _0x116076(),_0x56251d=new Float32Array(0x6);_0x140158['setAttribute']('position',new _0x465d50(_0x56251d,0x3));const _0x364aa=new _0x3164b6({'color':0xffff00,'linewidth':0x2,'dashSize':0.03,'gapSize':0.02,'depthTest':!0x0,'transparent':!0x0,'opacity':0.7}),_0x4f8f76=new _0x5b83e2(_0x140158,_0x364aa);_0x4f8f76['computeLineDistances'](),_0x4f8f76['userData']['constraint']=_0x34f4da,_0x4f8f76['userData']['link1']=_0x3ccc1b,_0x4f8f76['userData']['link2']=_0x46a6cf,_0x4f8f76['userData']['isConstraintVisualization']=!0x0;(_0x46c509||this['sceneManager']['scene'])['add'](_0x4f8f76),this['constraintVisuals']['push'](_0x4f8f76),_0x4f8f76['onBeforeRender']=()=>{if(!_0x4f8f76['userData']['link1']||!_0x4f8f76['userData']['link2'])return;const _0xb9da8a=new _0x220444(),_0x541fe3=new _0x220444();if(_0x4f8f76['userData']['link1']['getWorldPosition'](_0xb9da8a),_0x4f8f76['userData']['link2']['getWorldPosition'](_0x541fe3),_0x46c509){const _0x559b27=new _0x13cf24();_0x559b27['copy'](_0x46c509['matrixWorld'])['invert'](),_0xb9da8a['applyMatrix4'](_0x559b27),_0x541fe3['applyMatrix4'](_0x559b27);}const _0x1fd943=_0x4f8f76['geometry']['attributes']['position']['array'];_0x1fd943[0x0]=_0xb9da8a['x'],_0x1fd943[0x1]=_0xb9da8a['y'],_0x1fd943[0x2]=_0xb9da8a['z'],_0x1fd943[0x3]=_0x541fe3['x'],_0x1fd943[0x4]=_0x541fe3['y'],_0x1fd943[0x5]=_0x541fe3['z'],_0x4f8f76['geometry']['attributes']['position']['needsUpdate']=!0x0,_0x4f8f76['computeLineDistances']();};}['visualizeDistanceConstraint'](_0x4e109b,_0x21e819,_0x358273){const _0x57dfe3=this['findLinkObject'](_0x4e109b['threeObject'],_0x21e819['body1']),_0x777d35=this['findLinkObject'](_0x4e109b['threeObject'],_0x21e819['body2']);if(!_0x57dfe3||!_0x777d35)return;const _0xff08a4=new _0x116076(),_0x5d4540=new Float32Array(0x6);_0xff08a4['setAttribute']('position',new _0x465d50(_0x5d4540,0x3));const _0x34ca27=new _0x3164b6({'color':0xff00ff,'linewidth':0x2,'dashSize':0.04,'gapSize':0.02,'depthTest':!0x0,'transparent':!0x0,'opacity':0.8}),_0x775cec=new _0x5b83e2(_0xff08a4,_0x34ca27);_0x775cec['computeLineDistances'](),_0x775cec['userData']['constraint']=_0x21e819,_0x775cec['userData']['body1']=_0x57dfe3,_0x775cec['userData']['body2']=_0x777d35,_0x775cec['userData']['isConstraintVisualization']=!0x0;(_0x358273||this['sceneManager']['scene'])['add'](_0x775cec),this['constraintVisuals']['push'](_0x775cec),_0x775cec['onBeforeRender']=()=>{if(!_0x775cec['userData']['body1']||!_0x775cec['userData']['body2'])return;const _0x2ae005=new _0x220444(),_0x29dab0=new _0x220444();if(_0x775cec['userData']['body1']['getWorldPosition'](_0x2ae005),_0x775cec['userData']['body2']['getWorldPosition'](_0x29dab0),_0x358273){const _0x58feb=new _0x13cf24();_0x58feb['copy'](_0x358273['matrixWorld'])['invert'](),_0x2ae005['applyMatrix4'](_0x58feb),_0x29dab0['applyMatrix4'](_0x58feb);}const _0x331071=_0x775cec['geometry']['attributes']['position']['array'];_0x331071[0x0]=_0x2ae005['x'],_0x331071[0x1]=_0x2ae005['y'],_0x331071[0x2]=_0x2ae005['z'],_0x331071[0x3]=_0x29dab0['x'],_0x331071[0x4]=_0x29dab0['y'],_0x331071[0x5]=_0x29dab0['z'],_0x775cec['geometry']['attributes']['position']['needsUpdate']=!0x0,_0x775cec['computeLineDistances']();};}['applyConstraints'](_0x301efb,_0x6dd9e0){_0x301efb['constraints']&&0x0!==_0x301efb['constraints']['size']&&_0x301efb['constraints']['forEach'](_0x5c84af=>{'connect'===_0x5c84af['type']&&this['solveConnectConstraint'](_0x301efb,_0x5c84af);});}['solveConnectConstraint'](_0x2fd120,_0x206514){const _0x22eee3=this['findLinkObject'](_0x2fd120['threeObject'],_0x206514['body1']),_0x3459eb=this['findLinkObject'](_0x2fd120['threeObject'],_0x206514['body2']);if(!_0x22eee3||!_0x3459eb)return;const _0x279dba=_0x206514['anchor']||[0x0,0x0,0x0],_0x232f8d=new _0x220444(_0x279dba[0x0],_0x279dba[0x1],_0x279dba[0x2]),_0x161f79=_0x232f8d['clone']();_0x22eee3['localToWorld'](_0x161f79);const _0x48fc2=_0x232f8d['clone']();_0x3459eb['localToWorld'](_0x48fc2);if(_0x161f79['distanceTo'](_0x48fc2)<0.001)return;const _0xb7732a=this['findJointsAffecting'](_0x2fd120,_0x206514['body2']);if(0x0===_0xb7732a['length'])return;const _0x26528c=0.05;for(let _0xb222a6=0x0;_0xb222a6<0x14;_0xb222a6++){_0x161f79['set'](_0x279dba[0x0],_0x279dba[0x1],_0x279dba[0x2]),_0x22eee3['localToWorld'](_0x161f79),_0x48fc2['set'](_0x279dba[0x0],_0x279dba[0x1],_0x279dba[0x2]),_0x3459eb['localToWorld'](_0x48fc2);const _0x2d372e=_0x161f79['distanceTo'](_0x48fc2);if(_0x2d372e<0.001)break;for(const _0x1e6706 of _0xb7732a){if('fixed'===_0x1e6706['type'])continue;const _0x49183f=_0x1e6706['currentValue']||0x0;Ei['setJointAngle'](_0x2fd120,_0x1e6706['name'],_0x49183f+_0x26528c),_0x2fd120['threeObject']['updateMatrixWorld'](!0x0),_0x161f79['set'](_0x279dba[0x0],_0x279dba[0x1],_0x279dba[0x2]),_0x22eee3['localToWorld'](_0x161f79),_0x48fc2['set'](_0x279dba[0x0],_0x279dba[0x1],_0x279dba[0x2]),_0x3459eb['localToWorld'](_0x48fc2);const _0x53efce=_0x161f79['distanceTo'](_0x48fc2);Ei['setJointAngle'](_0x2fd120,_0x1e6706['name'],_0x49183f-_0x26528c),_0x2fd120['threeObject']['updateMatrixWorld'](!0x0),_0x161f79['set'](_0x279dba[0x0],_0x279dba[0x1],_0x279dba[0x2]),_0x22eee3['localToWorld'](_0x161f79),_0x48fc2['set'](_0x279dba[0x0],_0x279dba[0x1],_0x279dba[0x2]),_0x3459eb['localToWorld'](_0x48fc2);const _0x1873b3=_0x161f79['distanceTo'](_0x48fc2);let _0xa51f73=_0x49183f;_0x53efce<_0x2d372e&&_0x53efce<_0x1873b3?_0xa51f73=_0x49183f+_0x26528c:_0x1873b3<_0x2d372e&&(_0xa51f73=_0x49183f-_0x26528c),Ei['setJointAngle'](_0x2fd120,_0x1e6706['name'],_0xa51f73),_0x1e6706['currentValue']=_0xa51f73;const _0x1c75ab=document['querySelector']('input.joint-slider[data-joint=\x22'+_0x1e6706['name']+'\x22]');if(_0x1c75ab){_0x1c75ab['value']=_0xa51f73;const _0x23096d=document['querySelector']('input[data-joint-input=\x22'+_0x1e6706['name']+'\x22]');if(_0x23096d){const _0x5359e7=document['querySelector']('#unit-deg.active')?'deg':'rad';_0x23096d['value']='deg'===_0x5359e7?(0xb4*_0xa51f73/Math['PI'])['toFixed'](0x2):_0xa51f73['toFixed'](0x2);}}}}_0x2fd120['threeObject']['updateMatrixWorld'](!0x0),_0x161f79['set'](_0x279dba[0x0],_0x279dba[0x1],_0x279dba[0x2]),_0x22eee3['localToWorld'](_0x161f79),_0x48fc2['set'](_0x279dba[0x0],_0x279dba[0x1],_0x279dba[0x2]),_0x3459eb['localToWorld'](_0x48fc2),_0x161f79['distanceTo'](_0x48fc2);}['findJointsAffecting'](_0x1864a5,_0x5f40fe){const _0x251a24=[],_0x29a2a2=new Set();let _0x18d2b7=_0x5f40fe;for(;_0x18d2b7&&!_0x29a2a2['has'](_0x18d2b7);){_0x29a2a2['add'](_0x18d2b7);let _0x4a47fb=null;if(_0x1864a5['joints']['forEach'](_0x3e9167=>{_0x3e9167['child']===_0x18d2b7&&(_0x4a47fb=_0x3e9167,_0x251a24['push'](_0x3e9167));}),!_0x4a47fb)break;_0x18d2b7=_0x4a47fb['parent'];}return _0x251a24['reverse']();}['findLinkObject'](_0x27a181,_0x11e919){let _0x2355d8=null;return _0x27a181['traverse'](_0x4d03aa=>{_0x4d03aa['name']!==_0x11e919&&_0x4d03aa['name']!=='link_'+_0x11e919&&_0x4d03aa['name']!=='body_'+_0x11e919||(_0x2355d8=_0x4d03aa);}),_0x2355d8;}['clear'](){this['constraintVisuals']['forEach'](_0x24a9c1=>{_0x24a9c1['parent']&&_0x24a9c1['parent']['remove'](_0x24a9c1);}),this['constraintVisuals']=[];}}class Oi{constructor(_0x34ecb1){this['sceneManager']=_0x34ecb1,this['linkAxesHelpers']=new Map(),this['jointAxesHelpers']=new Map(),this['axesScale']=0x1,this['modelSize']=0x1,this['showLabels']=!0x1,this['axesLabels']=new Map(),this['jointAxesLabels']=new Map(),this['selectedLinkName']=null,this['_isolatedJointName']=null,this['_tmpPos']=new _0x220444(),this['_tmpQuat']=new _0x3c39ce(),this['_tmpScale']=new _0x220444(0x1,0x1,0x1),this['_tmpMat']=new _0x13cf24(),this['_tmpMatLocal']=new _0x13cf24();}['hasVisibleLinkAxes'](){return Array['from'](this['linkAxesHelpers']['values']())['some'](_0xab7cbb=>_0xab7cbb['visible']);}['hasVisibleJointAxes'](){return Array['from'](this['jointAxesHelpers']['values']())['some'](_0x459939=>_0x459939['isAttached']);}static['createAxesGeometry'](_0x24e629){const _0x78d076=new _0x135d71();_0x78d076['userData']['excludeFromBBox']=!0x0;const _0x3df646=Math['max'](0.001,0.015*_0x24e629),_0x188aca=new _0x181a2b(_0x3df646,_0x3df646,_0x24e629,0x8),_0x3055c6=new _0x2c4c6c(_0x188aca,new _0xa4876a({'color':0xff0000,'shininess':0x1e,'depthTest':!0x0}));_0x3055c6['position']['x']=_0x24e629/0x2,_0x3055c6['rotation']['z']=-Math['PI']/0x2,_0x3055c6['castShadow']=!0x1,_0x3055c6['receiveShadow']=!0x1,_0x78d076['add'](_0x3055c6);const _0x4b1648=new _0x2c4c6c(_0x188aca,new _0xa4876a({'color':0xff00,'shininess':0x1e,'depthTest':!0x0}));_0x4b1648['position']['y']=_0x24e629/0x2,_0x4b1648['castShadow']=!0x1,_0x4b1648['receiveShadow']=!0x1,_0x78d076['add'](_0x4b1648);const _0x19fb05=new _0x2c4c6c(_0x188aca,new _0xa4876a({'color':0xff,'shininess':0x1e,'depthTest':!0x0}));return _0x19fb05['position']['z']=_0x24e629/0x2,_0x19fb05['rotation']['x']=Math['PI']/0x2,_0x19fb05['castShadow']=!0x1,_0x19fb05['receiveShadow']=!0x1,_0x78d076['add'](_0x19fb05),_0x78d076;}static['createJointArrowGeometry'](_0x565236){const _0x34caca=0.2*0.7,_0x505979=new _0x2b5e49({'color':0xff0000}),_0xb012e0=new _0x181a2b(0.004,0.004,_0x34caca,0x10,0x1),_0x63779f=new _0x2c4c6c(_0xb012e0,_0x505979);_0x63779f['position']['y']=_0x34caca/0x2;const _0x105b89=new _0x1d50b7(0.012,0.06,0x10),_0x475d0c=new _0x2c4c6c(_0x105b89,_0x505979);_0x475d0c['position']['y']=_0x34caca+0.03;const _0xdd35d6=new _0x135d71();_0xdd35d6['add'](_0x63779f),_0xdd35d6['add'](_0x475d0c);const _0x36f30d=new _0x220444(0x0,0x1,0x0),_0x37b550=new _0x3c39ce();_0x37b550['setFromUnitVectors'](_0x36f30d,_0x565236),_0xdd35d6['quaternion']['copy'](_0x37b550);const _0x327e3d=new _0x135d71();_0x327e3d['userData']['excludeFromBBox']=!0x0,_0x327e3d['add'](_0xdd35d6);const _0x2dff1a=Oi['createRotationIndicator'](_0x565236,0.2);return _0x327e3d['add'](_0x2dff1a),_0x327e3d;}static['createRotationIndicator'](_0x12cce1,_0x507334){const _0x5b4c3b=new _0x135d71(),_0x515a2d=0.25*_0x507334,_0x14c2ee=1.5*Math['PI'],_0x568e02=new _0x45d6ea(0x0,0x0,_0x515a2d,_0x515a2d,0x0,_0x14c2ee,!0x1,0x0)['getPoints'](0x32)['map'](_0x49c991=>new _0x220444(_0x49c991['x'],_0x49c991['y'],0x0)),_0x5a7940=new _0x298750(_0x568e02),_0x3a8471=new _0x2f3935(_0x5a7940,0x32,0.002,0x8,!0x1),_0x4ee326=new _0x2b5e49({'color':0xff00}),_0x1e4cc2=new _0x2c4c6c(_0x3a8471,_0x4ee326);_0x5b4c3b['add'](_0x1e4cc2);const _0x434ff7=new _0x1d50b7(0.008,0.016,0x8),_0x164114=new _0x2b5e49({'color':0xff00}),_0x351e7f=new _0x2c4c6c(_0x434ff7,_0x164114),_0x247a4b=_0x568e02[_0x568e02['length']-0x1],_0x44aaa3=_0x568e02[_0x568e02['length']-0x5],_0x54baa4=new _0x220444()['subVectors'](_0x247a4b,_0x44aaa3)['normalize']();_0x351e7f['position']['copy'](_0x247a4b),_0x351e7f['quaternion']['setFromUnitVectors'](new _0x220444(0x0,0x1,0x0),_0x54baa4),_0x5b4c3b['add'](_0x351e7f);const _0x439ae5=new _0x3c39ce();_0x439ae5['setFromUnitVectors'](new _0x220444(0x0,0x0,0x1),_0x12cce1),_0x5b4c3b['quaternion']['copy'](_0x439ae5);const _0x3c2cfd=_0x12cce1['clone']()['multiplyScalar'](0.85*_0x507334);return _0x5b4c3b['position']['copy'](_0x3c2cfd),_0x5b4c3b;}['createLinkAxes'](_0x1768f8,_0x2e7168,_0x45abe5=0x1){const _0x358e96=Math['max'](0.02,Math['min'](0.1*_0x45abe5,0.2))*this['axesScale'],_0x4454a3=new _0x135d71();_0x4454a3['name']=_0x2e7168+'_axes',_0x4454a3['userData']['excludeFromBBox']=!0x0;const _0x3d7de4=Math['max'](0.001,0.015*_0x358e96),_0x3f3d66=new _0x181a2b(_0x3d7de4,_0x3d7de4,_0x358e96,0x8),_0x2c5928=new _0xa4876a({'color':0xff0000,'shininess':0x1e,'depthTest':!0x0}),_0x3d133d=new _0x2c4c6c(_0x3f3d66,_0x2c5928);_0x3d133d['position']['x']=_0x358e96/0x2,_0x3d133d['rotation']['z']=-Math['PI']/0x2,_0x3d133d['castShadow']=!0x1,_0x3d133d['receiveShadow']=!0x1,_0x3d133d['userData']={'isAxis':!0x0,'linkName':_0x2e7168,'axisType':'x'},_0x4454a3['add'](_0x3d133d);const _0x2724f5=new _0xa4876a({'color':0xff00,'shininess':0x1e,'depthTest':!0x0}),_0x4a9510=new _0x2c4c6c(_0x3f3d66,_0x2724f5);_0x4a9510['position']['y']=_0x358e96/0x2,_0x4a9510['castShadow']=!0x1,_0x4a9510['receiveShadow']=!0x1,_0x4a9510['userData']={'isAxis':!0x0,'linkName':_0x2e7168,'axisType':'y'},_0x4454a3['add'](_0x4a9510);const _0x5dc57c=new _0xa4876a({'color':0xff,'shininess':0x1e,'depthTest':!0x0}),_0xc8c1d3=new _0x2c4c6c(_0x3f3d66,_0x5dc57c);return _0xc8c1d3['position']['z']=_0x358e96/0x2,_0xc8c1d3['rotation']['x']=Math['PI']/0x2,_0xc8c1d3['castShadow']=!0x1,_0xc8c1d3['receiveShadow']=!0x1,_0xc8c1d3['userData']={'isAxis':!0x0,'linkName':_0x2e7168,'axisType':'z'},_0x4454a3['add'](_0xc8c1d3),_0x1768f8['threeObject']&&_0x1768f8['threeObject']['add'](_0x4454a3),this['linkAxesHelpers']['set'](_0x2e7168,_0x4454a3),this['showLabels']&&this['createAxisLabel'](_0x2e7168,_0x4454a3,_0x358e96,!0x0),_0x4454a3['visible']=!0x1,_0x4454a3;}['createJointAxis'](_0x780611,_0x3d24a9){if(!_0x780611['threeObject']||'revolute'!==_0x780611['type']&&'continuous'!==_0x780611['type'])return null;const _0x5b0cc9=_0x780611['threeObject'],_0x5cb315=new _0x135d71();_0x5cb315['name']='jointAxis_'+_0x3d24a9,_0x5cb315['userData']['excludeFromBBox']=!0x0;let _0x2753c0=new _0x220444(0x0,0x0,0x1);_0x5b0cc9['axis']?_0x2753c0['copy'](_0x5b0cc9['axis'])['normalize']():_0x780611['axis']&&_0x780611['axis']['xyz']&&_0x2753c0['set'](_0x780611['axis']['xyz'][0x0]||0x0,_0x780611['axis']['xyz'][0x1]||0x0,void 0x0!==_0x780611['axis']['xyz'][0x2]?_0x780611['axis']['xyz'][0x2]:0x1)['normalize']();const _0x3837d8=0.2*this['axesScale'],_0x800f0f=0.7*_0x3837d8,_0x3650b4=0.3*_0x3837d8,_0x1e3128=0.004*this['axesScale'],_0xbdad2d=0.012*this['axesScale'],_0x22c6f3=new _0x2b5e49({'color':0xff0000}),_0x4b756f=new _0x181a2b(_0x1e3128,_0x1e3128,_0x800f0f,0x10,0x1),_0x3282cd=new _0x2c4c6c(_0x4b756f,_0x22c6f3);_0x3282cd['raycast']=()=>{};const _0x1e3b62=new _0x1d50b7(_0xbdad2d,_0x3650b4,0x20,0x1),_0xfe29f3=new _0x2c4c6c(_0x1e3b62,_0x22c6f3);_0xfe29f3['raycast']=()=>{};const _0x4a5343=new _0x135d71();_0x3282cd['position']['y']=_0x800f0f/0x2,_0x4a5343['add'](_0x3282cd),_0xfe29f3['position']['y']=_0x800f0f+_0x3650b4/0x2,_0x4a5343['add'](_0xfe29f3);const _0x27cbd3=new _0x220444(0x0,0x1,0x0),_0x3e9d54=new _0x3c39ce();_0x3e9d54['setFromUnitVectors'](_0x27cbd3,_0x2753c0),_0x4a5343['quaternion']['copy'](_0x3e9d54),_0x5cb315['add'](_0x4a5343);const _0x31d7dc=this['createRotationIndicator'](_0x2753c0,_0x3837d8);return _0x5cb315['add'](_0x31d7dc),this['jointAxesHelpers']['set'](_0x3d24a9,{'mesh':_0x5cb315,'parent':_0x5b0cc9,'joint':_0x780611,'isAttached':!0x1,'userVisible':!0x1}),this['showLabels']&&this['createAxisLabel'](_0x3d24a9,_0x5cb315,_0x3837d8,!0x1),this['_syncJointAxisAttachment'](_0x3d24a9),_0x5cb315;}['createRotationIndicator'](_0x22a6d4,_0x334070){const _0xf37fec=new _0x135d71(),_0x558894=0.25*_0x334070,_0x3ecf94=0.002*this['axesScale'],_0x35637d=0.008*this['axesScale'],_0x38980c=1.5*Math['PI'],_0x3062b4=new _0x45d6ea(0x0,0x0,_0x558894,_0x558894,0x0,_0x38980c,!0x1,0x0)['getPoints'](0x32)['map'](_0x39fb89=>new _0x220444(_0x39fb89['x'],_0x39fb89['y'],0x0)),_0x2b4864=new _0x298750(_0x3062b4),_0x57abf1=new _0x2f3935(_0x2b4864,0x32,_0x3ecf94,0x8,!0x1),_0x4c2005=new _0x2b5e49({'color':0xff00}),_0x50d70d=new _0x2c4c6c(_0x57abf1,_0x4c2005);_0x50d70d['raycast']=()=>{},_0xf37fec['add'](_0x50d70d);const _0x2d6152=new _0x1d50b7(_0x35637d,0x2*_0x35637d,0x8),_0x3c9474=new _0x2b5e49({'color':0xff00}),_0x54a43b=new _0x2c4c6c(_0x2d6152,_0x3c9474);_0x54a43b['raycast']=()=>{};const _0xc9b20e=_0x3062b4[_0x3062b4['length']-0x1],_0x141b5f=_0x3062b4[_0x3062b4['length']-0x5],_0x70404c=new _0x220444()['subVectors'](_0xc9b20e,_0x141b5f)['normalize']();_0x54a43b['position']['copy'](_0xc9b20e),_0x54a43b['quaternion']['setFromUnitVectors'](new _0x220444(0x0,0x1,0x0),_0x70404c),_0xf37fec['add'](_0x54a43b);const _0x538484=new _0x3c39ce();_0x538484['setFromUnitVectors'](new _0x220444(0x0,0x0,0x1),_0x22a6d4),_0xf37fec['quaternion']['copy'](_0x538484);const _0x42ddeb=_0x22a6d4['clone']()['multiplyScalar'](0.85*_0x334070);return _0xf37fec['position']['copy'](_0x42ddeb),_0xf37fec;}['showAllAxes'](){this['linkAxesHelpers']['forEach']((_0x424881,_0x3575d9)=>{_0x424881['visible']=!0x0;const _0x5ac1f8=this['axesLabels']['get'](_0x3575d9);_0x5ac1f8&&(_0x5ac1f8['visible']=this['showLabels']);}),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw']();}['hideAllAxes'](){this['linkAxesHelpers']['forEach']((_0x553b53,_0x1a657f)=>{_0x553b53['visible']=!0x1;const _0x44a4a4=this['axesLabels']['get'](_0x1a657f);_0x44a4a4&&(_0x44a4a4['visible']=!0x1);}),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw']();}['_syncJointAxisAttachment'](_0x474b8c){const _0x41bd68=this['jointAxesHelpers']['get'](_0x474b8c);if(!_0x41bd68||!_0x41bd68['parent'])return;const _0x35d48a=null!==this['_isolatedJointName']?_0x474b8c===this['_isolatedJointName']:_0x41bd68['userVisible'];_0x35d48a&&!_0x41bd68['isAttached']?(_0x41bd68['parent']['add'](_0x41bd68['mesh']),_0x41bd68['isAttached']=!0x0):!_0x35d48a&&_0x41bd68['isAttached']&&(_0x41bd68['parent']['remove'](_0x41bd68['mesh']),_0x41bd68['isAttached']=!0x1);const _0x4abd09=this['jointAxesLabels']['get'](_0x474b8c);_0x4abd09&&(_0x4abd09['visible']=_0x41bd68['isAttached']&&this['showLabels']);}['_syncAllJointAxesAttachment'](){this['jointAxesHelpers']['forEach']((_0x35971d,_0x5c83fe)=>{this['_syncJointAxisAttachment'](_0x5c83fe);});}['showAllJointAxes'](){this['_isolatedJointName']=null,this['jointAxesHelpers']['forEach'](_0x4403ae=>{_0x4403ae['userVisible']=!0x0;}),this['_syncAllJointAxesAttachment'](),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw']();}['hideAllJointAxes'](){this['_isolatedJointName']=null,this['jointAxesHelpers']['forEach'](_0x1fc6fe=>{_0x1fc6fe['userVisible']=!0x1;}),this['_syncAllJointAxesAttachment'](),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw']();}['showOnlyJointAxis'](_0x410497){let _0x2e5815=null;this['jointAxesHelpers']['forEach']((_0x20662b,_0x4c5c11)=>{_0x20662b['joint']===_0x410497&&(_0x2e5815=_0x4c5c11);}),this['_isolatedJointName']!==_0x2e5815&&(this['_isolatedJointName']=_0x2e5815,this['_syncAllJointAxesAttachment'](),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw']());}['restoreAllJointAxes'](){null!==this['_isolatedJointName']&&(this['_isolatedJointName']=null,this['_syncAllJointAxesAttachment'](),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw']());}['ensureAxesNoShadow'](){this['linkAxesHelpers']['forEach'](_0x29289f=>{_0x29289f['traverse'](_0x51f093=>{_0x51f093['isMesh']&&(_0x51f093['castShadow']=!0x1,_0x51f093['receiveShadow']=!0x1);});}),this['jointAxesHelpers']['forEach'](_0x339507=>{_0x339507['mesh']['traverse'](_0x2b5289=>{_0x2b5289['isMesh']&&(_0x2b5289['castShadow']=!0x1,_0x2b5289['receiveShadow']=!0x1);});});}['clearAllLinkAxes'](){this['axesLabels']['forEach'](_0x1abe94=>{_0x1abe94['parent']&&_0x1abe94['parent']['remove'](_0x1abe94);}),this['axesLabels']['clear'](),this['linkAxesHelpers']['forEach'](_0x3ccecd=>{_0x3ccecd['parent']&&_0x3ccecd['parent']['remove'](_0x3ccecd);}),this['linkAxesHelpers']['clear']();}['clearAllJointAxes'](){this['jointAxesLabels']['forEach'](_0x2b900b=>{_0x2b900b['parent']&&_0x2b900b['parent']['remove'](_0x2b900b);}),this['jointAxesLabels']['clear'](),this['jointAxesHelpers']['forEach'](_0x1c4426=>{_0x1c4426['isAttached']&&_0x1c4426['parent']&&_0x1c4426['parent']['remove'](_0x1c4426['mesh']);}),this['jointAxesHelpers']['clear'](),this['_isolatedJointName']=null;}['clear'](){this['clearAllLinkAxes'](),this['clearAllJointAxes'](),this['clearAllLabels']();}['setAllLinkAxesVisible'](_0x4b1944){_0x4b1944?this['showAllAxes']():this['hideAllAxes']();}['setAllJointAxesVisible'](_0x4982e6){_0x4982e6?this['showAllJointAxes']():this['hideAllJointAxes']();}['setAxesScale'](_0xea43af){this['axesScale']=Math['max'](0.1,Math['min'](_0xea43af,0x3));}['getAxesScale'](){return this['axesScale'];}['selectAxis'](_0x3da938){this['deselectAxis'](),this['linkAxesHelpers']['has'](_0x3da938)&&(this['selectedLinkName']=_0x3da938,this['sceneManager']['redraw']());}['deselectAxis'](){this['selectedLinkName']=null,this['sceneManager']['redraw']();}['getSelectedLinkName'](){return this['selectedLinkName'];}['getLinksWithAxes'](){const _0x5cfdb6=[];return this['linkAxesHelpers']['forEach']((_0x195761,_0x48e496)=>{_0x195761['visible']&&_0x5cfdb6['push'](_0x48e496);}),_0x5cfdb6;}['previewJointOriginRpy'](_0x5c0db7,_0x2ef78e,_0x2b82da){const _0xe24bb6=this['_computeJointRpy'](_0x5c0db7,_0x2ef78e,_0x2b82da);return!!_0xe24bb6&&(this['_applyLinkDeltaTransform'](_0xe24bb6['joint'],_0xe24bb6['rpy'],_0x5c0db7),this['sceneManager']['redraw'](),{'jointName':_0xe24bb6['joint']['name'],'rpy':_0xe24bb6['rpy']});}['applyJointOriginRpy'](_0x2c8f5e,_0x53256c,_0x9ac66b){let _0x5eb9f5=null;if(_0x2c8f5e['joints']['forEach'](_0x56cba3=>{_0x56cba3['child']===_0x53256c&&(_0x5eb9f5=_0x56cba3);}),!_0x5eb9f5)return!0x1;const _0x103283=_0x5eb9f5['_origRpy']||[0x0,0x0,0x0],_0x4b077f=Math['PI']/0x2,_0x40d6ba=0x2*Math['PI'],_0xc633b5=_0x9ac66b['map']((_0x30b491,_0x252564)=>{if(Math['abs'](_0x30b491-_0x103283[_0x252564])<0.01)return _0x103283[_0x252564];const _0x128452=Math['round']((_0x30b491-_0x103283[_0x252564])/_0x4b077f);let _0xfb3fe8=_0x103283[_0x252564]+_0x128452*_0x4b077f;return _0xfb3fe8%=_0x40d6ba,_0xfb3fe8>Math['PI']&&(_0xfb3fe8-=_0x40d6ba),_0xfb3fe8<=-Math['PI']&&(_0xfb3fe8+=_0x40d6ba),_0xfb3fe8;}),_0x4f01a1=new _0x3c39ce()['setFromEuler'](new _0x416b03(_0xc633b5[0x0],_0xc633b5[0x1],_0xc633b5[0x2],'ZYX'));_0x5eb9f5['threeObject']['quaternion']['copy'](_0x4f01a1);const _0x5103b5=_0x2c8f5e['links']['get'](_0x5eb9f5['child']);return _0x5103b5&&_0x5103b5['threeObject']&&(_0x5103b5['threeObject']['position']['set'](0x0,0x0,0x0),_0x5103b5['threeObject']['quaternion']['identity'](),_0x5103b5['threeObject']['scale']['set'](0x1,0x1,0x1)),_0x5eb9f5['origin']['rpy']=_0xc633b5,_0x5eb9f5['_origRpy']=[..._0xc633b5],_0x2c8f5e['threeObject']&&_0x2c8f5e['threeObject']['updateMatrixWorld'](!0x0),this['sceneManager']['redraw'](),{'jointName':_0x5eb9f5['name'],'rpy':_0xc633b5};}['_computeJointRpy'](_0x4446b0,_0x105a17,_0x2c037e){let _0x547e91=null;if(_0x4446b0['joints']['forEach'](_0x5cbd82=>{_0x5cbd82['child']===_0x105a17&&(_0x547e91=_0x5cbd82);}),!_0x547e91)return null;const _0x298055=_0x547e91['_origRpy']||[0x0,0x0,0x0],_0x105522=Math['PI']/0x2,_0x4e4627=0x2*Math['PI'],_0x2b6b05=_0x2c037e['map']((_0x36d594,_0x35b6c4)=>{return(_0x2615b8=>{let _0x2a898d=_0x2615b8%_0x4e4627;return _0x2a898d>Math['PI']&&(_0x2a898d-=_0x4e4627),_0x2a898d<=-Math['PI']&&(_0x2a898d+=_0x4e4627),_0x2a898d;})((_0x4a6540=_0x36d594,(_0x4348bf=_0x298055[_0x35b6c4])+Math['round']((_0x4a6540-_0x4348bf)/_0x105522)*_0x105522));var _0x4a6540,_0x4348bf;});return{'joint':_0x547e91,'rpy':_0x2b6b05,'linkName':_0x547e91['child']};}['_applyLinkDeltaTransform'](_0x20318c,_0x1c9f3a,_0x53d1cc){const _0x28321a=_0x20318c['child'],_0x1a7829=_0x53d1cc['links']['get'](_0x28321a);if(!_0x1a7829||!_0x1a7829['threeObject'])return;const _0x29bed0=_0x20318c['origin']&&_0x20318c['origin']['rpy']?_0x20318c['origin']['rpy']:[0x0,0x0,0x0],_0x1439e4=_0x20318c['_origXyz']||(_0x20318c['origin']?_0x20318c['origin']['xyz']:[0x0,0x0,0x0]),_0x5516b4=new _0x3c39ce()['setFromEuler'](new _0x416b03(_0x29bed0[0x0],_0x29bed0[0x1],_0x29bed0[0x2],'XYZ')),_0x172548=new _0x3c39ce()['setFromEuler'](new _0x416b03(_0x1c9f3a[0x0],_0x1c9f3a[0x1],_0x1c9f3a[0x2],'XYZ'));this['_tmpMat']['compose'](this['_tmpPos']['set'](_0x1439e4[0x0],_0x1439e4[0x1],_0x1439e4[0x2]),_0x5516b4,this['_tmpScale']['set'](0x1,0x1,0x1));const _0x2d8f9c=this['_tmpMat']['clone']();this['_tmpMat']['compose'](this['_tmpPos']['set'](_0x1439e4[0x0],_0x1439e4[0x1],_0x1439e4[0x2]),_0x172548,this['_tmpScale']['set'](0x1,0x1,0x1)),this['_tmpMatLocal']['copy'](_0x2d8f9c)['invert']()['multiply'](this['_tmpMat']),this['_tmpMatLocal']['decompose'](_0x1a7829['threeObject']['position'],_0x1a7829['threeObject']['quaternion'],this['_tmpScale']),_0x1a7829['threeObject']['scale']['set'](0x1,0x1,0x1),_0x53d1cc['threeObject']&&_0x53d1cc['threeObject']['updateMatrixWorld'](!0x0);}['showAxesByName'](_0x70c334,_0x20b620){var _0x42de2b,_0x3dc924,_0x559f21,_0x4154a7;let _0x45074b=this['linkAxesHelpers']['get'](_0x70c334);if(!_0x45074b&&_0x20b620){const _0x6ca771=null==(_0x559f21=null==(_0x3dc924=null==(_0x42de2b=this['sceneManager'])?void 0x0:_0x42de2b['currentModel'])?void 0x0:_0x3dc924['links'])?void 0x0:_0x559f21['get'](_0x70c334);if(_0x6ca771){let _0x4f8c60=0x1;const _0x39e331=null==(_0x4154a7=this['sceneManager'])?void 0x0:_0x4154a7['currentModel'];if(null==_0x39e331?void 0x0:_0x39e331['threeObject'])try{const _0x3e5594=new _0x2e400f()['setFromObject'](_0x39e331['threeObject']);if(!_0x3e5594['isEmpty']()){const _0x2cd0a4=_0x3e5594['getSize'](new _0x220444());_0x4f8c60=Math['max'](_0x2cd0a4['x'],_0x2cd0a4['y'],_0x2cd0a4['z']);}}catch(_0x1b70bc){}_0x45074b=this['createLinkAxes'](_0x6ca771,_0x70c334,_0x4f8c60);}}if(_0x45074b){_0x45074b['visible']=_0x20b620;const _0xefcebe=this['axesLabels']['get'](_0x70c334);_0xefcebe&&(_0xefcebe['visible']=_0x20b620&&this['showLabels']),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw']();}}['showJointAxisByName'](_0x22c29a,_0xa7579){const _0x31cf5e=this['jointAxesHelpers']['get'](_0x22c29a);_0x31cf5e&&(_0x31cf5e['userVisible']=_0xa7579,this['_isolatedJointName']=null,this['_syncAllJointAxesAttachment'](),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw']());}['setShowLabels'](_0x5a6ede){this['showLabels']=_0x5a6ede,_0x5a6ede&&(this['linkAxesHelpers']['forEach']((_0x4788ae,_0x42ccbf)=>{if(!this['axesLabels']['has'](_0x42ccbf)){const _0x48eb2b=this['getAxesDisplaySize'](_0x4788ae);this['createAxisLabel'](_0x42ccbf,_0x4788ae,_0x48eb2b,!0x0);}}),this['jointAxesHelpers']['forEach']((_0x16bad7,_0x57c9df)=>{if(!this['jointAxesLabels']['has'](_0x57c9df)){const _0x269f23=this['getAxesDisplaySize'](_0x16bad7['mesh']);this['createAxisLabel'](_0x57c9df,_0x16bad7['mesh'],_0x269f23,!0x1);}})),this['axesLabels']['forEach']((_0x2b0081,_0x4aaefb)=>{const _0x26846d=this['linkAxesHelpers']['get'](_0x4aaefb);_0x2b0081['visible']=_0x5a6ede&&_0x26846d&&_0x26846d['visible'];}),this['jointAxesLabels']['forEach']((_0xfba3ca,_0xe25417)=>{const _0x3e30d6=this['jointAxesHelpers']['get'](_0xe25417);_0xfba3ca['visible']=_0x5a6ede&&_0x3e30d6&&_0x3e30d6['isAttached'];}),this['sceneManager']['redraw']();}['getAxesDisplaySize'](_0x441de3){let _0x58bb72=0x0;return _0x441de3['traverse'](_0x50f5a0=>{_0x50f5a0['isCSS2DObject']||(_0x58bb72=Math['max'](_0x58bb72,Math['abs'](_0x50f5a0['position']['x']),Math['abs'](_0x50f5a0['position']['y']),Math['abs'](_0x50f5a0['position']['z'])));}),Math['max'](0x2*_0x58bb72,0.03*this['axesScale']);}['createAxisLabel'](_0xb8dfdc,_0x33d7fa,_0x318504,_0x47a8da){var _0x3035cc;const _0x387fa3=_0x47a8da?this['axesLabels']['get'](_0xb8dfdc):this['jointAxesLabels']['get'](_0xb8dfdc);if(_0x387fa3){_0x387fa3['parent']!==_0x33d7fa&&(null==(_0x3035cc=_0x387fa3['parent'])||_0x3035cc['remove'](_0x387fa3),_0x33d7fa['add'](_0x387fa3));const _0x4d1c61=Math['max'](0xa,Math['min'](0x10,0xc*this['axesScale']));_0x387fa3['element']['style']['fontSize']=_0x4d1c61+'px',_0x387fa3['element']['style']['whiteSpace']='nowrap';}const _0x487a31=document['createElement']('div');_0x487a31['className']='axis-label',_0x487a31['textContent']=_0xb8dfdc;const _0x5d6ed6=Math['max'](0xa,Math['min'](0x10,0xc*this['axesScale']));_0x487a31['style']['fontSize']=_0x5d6ed6+'px',_0x487a31['style']['whiteSpace']='nowrap';const _0x211348=new Fe(_0x487a31);return _0x211348['position']['set'](1.15*_0x318504,0x0,0x0),_0x211348['visible']=this['showLabels'],_0x33d7fa['add'](_0x211348),_0x47a8da?this['axesLabels']['set'](_0xb8dfdc,_0x211348):this['jointAxesLabels']['set'](_0xb8dfdc,_0x211348),_0x211348;}['clearAllLabels'](){this['axesLabels']['forEach']((_0x10afb4,_0x2def63)=>{const _0x4ff5ee=this['linkAxesHelpers']['get'](_0x2def63);_0x4ff5ee&&_0x4ff5ee['remove'](_0x10afb4);}),this['axesLabels']['clear'](),this['jointAxesLabels']['forEach']((_0x346575,_0xec8f86)=>{const _0x446eaa=this['jointAxesHelpers']['get'](_0xec8f86);_0x446eaa&&_0x446eaa['mesh']&&_0x446eaa['mesh']['remove'](_0x346575);}),this['jointAxesLabels']['clear']();}['getLinkNames'](){return Array['from'](this['linkAxesHelpers']['keys']());}['getJointNames'](){return Array['from'](this['jointAxesHelpers']['keys']());}['isLinkAxisVisible'](_0x33061c){const _0x40891f=this['linkAxesHelpers']['get'](_0x33061c);return!!_0x40891f&&_0x40891f['visible'];}['isJointAxisVisible'](_0x48a16f){const _0x267422=this['jointAxesHelpers']['get'](_0x48a16f);return!!_0x267422&&_0x267422['userVisible'];}}class Fi{constructor(_0x2257f6){this['sceneManager']=_0x2257f6,this['currentHighlightedLink']=null,this['highlightMaterial']=new _0xa4876a({'shininess':0xa,'color':0xffffff,'emissive':0xffffff,'emissiveIntensity':0.25});}['highlightLink'](_0x5b0b9e,_0x54859e){_0x5b0b9e&&(this['currentHighlightedLink']&&this['currentHighlightedLink']['name']===_0x5b0b9e['name']||(this['currentHighlightedLink']&&this['unhighlightLink'](this['currentHighlightedLink'],_0x54859e),this['currentHighlightedLink']=_0x5b0b9e,_0x5b0b9e['threeObject']&&this['highlightLinkGeometry'](_0x5b0b9e['threeObject'],_0x54859e),this['showHoverInfo'](_0x5b0b9e,_0x54859e),this['sceneManager']['redraw']()));}['unhighlightLink'](_0xae0ef3,_0x5b3c98){_0xae0ef3&&(this['currentHighlightedLink']&&this['currentHighlightedLink']['name']===_0xae0ef3['name']&&(this['currentHighlightedLink']=null),_0xae0ef3['threeObject']&&this['unhighlightLinkGeometry'](_0xae0ef3['threeObject'],_0x5b3c98),this['hideHoverInfo'](),this['sceneManager']['redraw']());}['highlightLinkGeometry'](_0x22e7b9,_0x1cfe8a){const _0x4e91b0=(_0x3363e2,_0x367e79=!0x1)=>{var _0x204d83,_0x3ddf73,_0x50ce14,_0x5875e0,_0x39f947;if(_0x367e79||'URDFLink'!==_0x3363e2['type']&&!_0x3363e2['isURDFLink']){if(_0x3363e2['isURDFJoint']||'URDFJoint'===_0x3363e2['type']){const _0x5dccce=_0x3363e2['name'];let _0x3d9d8f=!0x1;if(_0x5dccce&&(null==_0x1cfe8a?void 0x0:_0x1cfe8a['joints'])&&_0x1cfe8a['joints']['has'](_0x5dccce)){_0x3d9d8f='fixed'===_0x1cfe8a['joints']['get'](_0x5dccce)['type'];}if(_0x3d9d8f){for(const _0xee9f0e of _0x3363e2['children'])_0x4e91b0(_0xee9f0e,!0x1);return;}return;}if('Mesh'===_0x3363e2['type']||_0x3363e2['isMesh']){if(_0x3363e2['isURDFCollider'])return;_0x3363e2['__origMaterial']||(_0x3363e2['__origMaterial']=_0x3363e2['material']);const _0x6d8b5c=null==(_0x204d83=_0x3363e2['userData'])?void 0x0:_0x204d83['isInertiaBox'],_0x5193c3=(null==(_0x3ddf73=_0x3363e2['userData'])?void 0x0:_0x3ddf73['isCollision'])||(null==(_0x50ce14=_0x3363e2['userData'])?void 0x0:_0x50ce14['isCollisionGeom']),_0x497b4b=(null==(_0x5875e0=_0x3363e2['userData'])?void 0x0:_0x5875e0['isCenterOfMass'])||_0x3363e2['parent']&&(null==(_0x39f947=_0x3363e2['parent']['userData'])?void 0x0:_0x39f947['isCenterOfMass']);if(_0x6d8b5c||_0x5193c3){const _0x474259=_0x3363e2['__origMaterial'];_0x474259['isMeshPhongMaterial']&&(_0x3363e2['material']=new _0xa4876a({'transparent':!0x0,'opacity':Math['min']((_0x474259['opacity']||0.35)+0.15,0.7),'shininess':_0x474259['shininess'],'premultipliedAlpha':_0x474259['premultipliedAlpha'],'color':_0x474259['color']['clone'](),'emissive':_0x474259['color']['clone'](),'emissiveIntensity':0.2,'polygonOffset':_0x474259['polygonOffset'],'polygonOffsetFactor':_0x474259['polygonOffsetFactor'],'polygonOffsetUnits':_0x474259['polygonOffsetUnits']}));}else if(_0x497b4b){const _0x5a2bf2=_0x3363e2['__origMaterial'];if(_0x5a2bf2['isMeshBasicMaterial']){_0x3363e2['material']=new _0x2b5e49({'color':_0x5a2bf2['color']['clone'](),'side':_0x5a2bf2['side'],'depthTest':_0x5a2bf2['depthTest'],'depthWrite':_0x5a2bf2['depthWrite']});const _0x420605={};_0x3363e2['material']['color']['getHSL'](_0x420605),_0x3363e2['material']['color']['setHSL'](_0x420605['h'],_0x420605['s'],Math['min'](_0x420605['l']+0.3,0x1));}}else _0x3363e2['material']=this['highlightMaterial'];}for(const _0x5f2764 of _0x3363e2['children'])_0x4e91b0(_0x5f2764,!0x1);}};_0x4e91b0(_0x22e7b9,!0x0);}['unhighlightLinkGeometry'](_0x17f5c6,_0x5a68b7){const _0x2d1fc2=(_0x3f41ad,_0x3c85c7=!0x1)=>{if(_0x3c85c7||'URDFLink'!==_0x3f41ad['type']&&!_0x3f41ad['isURDFLink']){if(_0x3f41ad['isURDFJoint']||'URDFJoint'===_0x3f41ad['type']){const _0x25a116=_0x3f41ad['name'];let _0x562298=!0x1;if(_0x25a116&&(null==_0x5a68b7?void 0x0:_0x5a68b7['joints'])&&_0x5a68b7['joints']['has'](_0x25a116)){_0x562298='fixed'===_0x5a68b7['joints']['get'](_0x25a116)['type'];}if(_0x562298){for(const _0x112d86 of _0x3f41ad['children'])_0x2d1fc2(_0x112d86,!0x1);return;}return;}('Mesh'===_0x3f41ad['type']||_0x3f41ad['isMesh'])&&_0x3f41ad['__origMaterial']&&(_0x3f41ad['material']=_0x3f41ad['__origMaterial'],delete _0x3f41ad['__origMaterial']);for(const _0x3deeb1 of _0x3f41ad['children'])_0x2d1fc2(_0x3deeb1,!0x1);}};_0x2d1fc2(_0x17f5c6,!0x0);}['isAuxiliaryVisualization'](_0x1f43f3){var _0x55edd2,_0x916258,_0x3e2133,_0x3a674d;return!!(null==(_0x55edd2=_0x1f43f3['userData'])?void 0x0:_0x55edd2['isInertiaBox'])||(!!(null==(_0x916258=_0x1f43f3['userData'])?void 0x0:_0x916258['isCOMMarker'])||(!!(null==(_0x3e2133=_0x1f43f3['userData'])?void 0x0:_0x3e2133['isCenterOfMass'])||!!(null==(_0x3a674d=_0x1f43f3['userData'])?void 0x0:_0x3a674d['isCollision'])));}['showHoverInfo'](_0x13295a,_0x1ae4b3){const _0x11908e=document['getElementById']('hover-info'),_0x38588a=document['getElementById']('hover-joint-name'),_0x18a268=document['getElementById']('hover-link-name'),_0xcba12e=document['getElementById']('hover-link-mass'),_0x58bd2=document['getElementById']('hover-link-pose');if(!(_0x11908e&&_0x38588a&&_0x18a268&&_0xcba12e&&_0x58bd2))return;_0x18a268['textContent']='Link:\x20'+(_0x13295a['name']||'Unknown');let _0x1eb0a9='None\x20(Base\x20Link)',_0x354e26='',_0x5a5d5f=_0x13295a['threeObject'];for(;_0x5a5d5f;){const _0x56dc6e=_0x5a5d5f['parent'];if(_0x56dc6e&&('URDFJoint'===_0x56dc6e['type']||_0x56dc6e['isURDFJoint'])){const _0x55e874=_0x56dc6e['name'];if(_0x55e874&&(null==_0x1ae4b3?void 0x0:_0x1ae4b3['joints'])&&_0x1ae4b3['joints']['has'](_0x55e874)){const _0x351319=_0x1ae4b3['joints']['get'](_0x55e874);if('fixed'!==_0x351319['type']){_0x1eb0a9=_0x55e874,_0x354e26=_0x351319['type'];break;}const _0x3c54c8=_0x56dc6e['parent'];if(_0x3c54c8&&('URDFLink'===_0x3c54c8['type']||_0x3c54c8['isURDFLink'])){_0x5a5d5f=_0x3c54c8;continue;}}}break;}_0x38588a['textContent']=_0x354e26?'Joint:\x20'+_0x1eb0a9+'\x20('+_0x354e26+')':'Joint:\x20'+_0x1eb0a9;let _0x3a4cc7=0x0,_0x366d15=!0x1,_0x57bee4=[];const _0xee1fb8=(_0x1cd869,_0x305a51=!0x0)=>{const _0xf41e93=_0x1cd869['name'];if(_0xf41e93&&(null==_0x1ae4b3?void 0x0:_0x1ae4b3['links'])&&_0x1ae4b3['links']['has'](_0xf41e93)){const _0x585921=_0x1ae4b3['links']['get'](_0xf41e93);_0x305a51||_0x57bee4['push'](_0xf41e93),_0x585921['inertial']&&void 0x0!==_0x585921['inertial']['mass']&&_0x585921['inertial']['mass']>0x0&&(_0x3a4cc7+=_0x585921['inertial']['mass'],_0x366d15=!0x0);}for(const _0x185a67 of _0x1cd869['children'])if(_0x185a67['isURDFJoint']||'URDFJoint'===_0x185a67['type']){const _0x42abe3=_0x185a67['name'];if(_0x42abe3&&(null==_0x1ae4b3?void 0x0:_0x1ae4b3['joints'])&&_0x1ae4b3['joints']['has'](_0x42abe3)){if('fixed'===_0x1ae4b3['joints']['get'](_0x42abe3)['type'])for(const _0x12fd34 of _0x185a67['children'])('URDFLink'===_0x12fd34['type']||_0x12fd34['isURDFLink'])&&_0xee1fb8(_0x12fd34,!0x1);}}};_0xee1fb8(_0x13295a['threeObject'],!0x0),_0xcba12e['textContent']=_0x366d15?'Mass:\x20'+_0x3a4cc7['toFixed'](0x4)+'\x20kg':'Mass:\x20N/A';const _0x46e0b6=document['getElementById']('hover-merged-links');if(_0x46e0b6&&(_0x57bee4['length']>0x0?(_0x46e0b6['textContent']='Includes:\x20'+_0x57bee4['join'](',\x20'),_0x46e0b6['style']['display']='block'):_0x46e0b6['style']['display']='none'),_0x58bd2&&_0x13295a['threeObject']){const _0x3fab3b=new _0x220444(),_0x3f8290=new _0x3c39ce(),_0x192bdf=new _0x416b03();_0x13295a['threeObject']['getWorldPosition'](_0x3fab3b),_0x13295a['threeObject']['getWorldQuaternion'](_0x3f8290),_0x192bdf['setFromQuaternion'](_0x3f8290,'XYZ');const _0x240a46=0x4,_0x59bc58=_0x3f8290['x']['toFixed'](_0x240a46),_0x384b6e=_0x3f8290['y']['toFixed'](_0x240a46),_0x48f290=_0x3f8290['z']['toFixed'](_0x240a46),_0x98966c=_0x3f8290['w']['toFixed'](_0x240a46),_0x347a69=_0x192bdf['x']['toFixed'](_0x240a46),_0x4c3da0=_0x192bdf['y']['toFixed'](_0x240a46),_0x16647b=_0x192bdf['z']['toFixed'](_0x240a46),_0x3a59e3=_0x2be885['radToDeg'](_0x192bdf['x'])['toFixed'](_0x240a46),_0x334457=_0x2be885['radToDeg'](_0x192bdf['y'])['toFixed'](_0x240a46),_0x14b014=_0x2be885['radToDeg'](_0x192bdf['z'])['toFixed'](_0x240a46),_0x5ea530='Position\x20(world):\x0a-\x20x\x20=\x20'+_0x3fab3b['x']['toFixed'](_0x240a46)+'\x20m-\x20y\x20=\x20'+_0x3fab3b['y']['toFixed'](_0x240a46)+'\x20m-\x20z\x20=\x20'+_0x3fab3b['z']['toFixed'](_0x240a46)+'\x20m\x0a',_0x4fe96e='Orientation\x20(world):\x0a-\x20Quat:\x20x='+_0x59bc58+'\x20y='+_0x384b6e+'\x20z='+_0x48f290+'\x20w='+_0x98966c+'\x0a-\x20RPY\x20(rad):\x20r='+_0x347a69+'\x20p='+_0x4c3da0+'\x20y='+_0x16647b+'\x0a-\x20RPY\x20(deg):\x20r='+_0x3a59e3+'\x20p='+_0x334457+'\x20y='+_0x14b014+'\x0a';_0x58bd2['textContent']=_0x5ea530+_0x4fe96e,_0x58bd2['style']['display']='block';}else _0x58bd2&&(_0x58bd2['textContent']='Link\x20pose:\x20N/A',_0x58bd2['style']['display']='block');_0x11908e['classList']['add']('visible');}['hideHoverInfo'](){const _0x208d41=document['getElementById']('hover-info');_0x208d41&&_0x208d41['classList']['remove']('visible');}['clearHighlight'](){this['currentHighlightedLink']&&this['unhighlightLink'](this['currentHighlightedLink'],this['sceneManager']['currentModel']);}}class Di{constructor(_0x4f2b79){this['sceneManager']=_0x4f2b79,this['measurementHelper']=null;}['showMeasurement'](_0x2b3f85,_0x3f0b8a,_0x2b90c9,_0x2a8d1c,_0x183859,_0x250a68,_0x567ae4=!0x1){this['clearMeasurement']();const _0x4f29c2=new _0x135d71();_0x4f29c2['name']='measurementHelper';if(_0x567ae4){const _0x51c851=Math['abs'](_0x2b90c9['y']),_0x3cb7d0=new _0x116076()['setFromPoints']([_0x2b3f85,_0x3f0b8a]),_0x5f1967=new _0x3b6936({'color':0xff00,'linewidth':0x3,'depthTest':!0x1}),_0x4a8635=new _0x5b83e2(_0x3cb7d0,_0x5f1967);_0x4a8635['renderOrder']=0x3e7,_0x4f29c2['add'](_0x4a8635);const _0x5ddd74=new _0x220444()['addVectors'](_0x2b3f85,_0x3f0b8a)['multiplyScalar'](0.5),_0x55db9a=this['createLabel']('Δh\x20'+(0x3e8*_0x51c851)['toFixed'](0x1)+'mm',_0x5ddd74,'#00ff00');_0x4f29c2['add'](_0x55db9a);}else{const _0x4fd1d8=new _0x116076()['setFromPoints']([_0x2b3f85,_0x3f0b8a]),_0x2d3e6d=new _0x3164b6({'color':0xffff00,'dashSize':0.01,'gapSize':0.005,'linewidth':0x2,'depthTest':!0x1}),_0x1ffe21=new _0x5b83e2(_0x4fd1d8,_0x2d3e6d);_0x1ffe21['computeLineDistances'](),_0x1ffe21['renderOrder']=0x3e7,_0x4f29c2['add'](_0x1ffe21);const _0x456d92=new _0x220444()['addVectors'](_0x2b3f85,_0x3f0b8a)['multiplyScalar'](0.5),_0x14a5b6=this['createLabel']((0x3e8*_0x2a8d1c)['toFixed'](0x1)+'mm',_0x456d92,'#ffff00');if(_0x4f29c2['add'](_0x14a5b6),Math['abs'](_0x2b90c9['x'])>0.001){const _0x444342=new _0x220444(_0x2b3f85['x'],_0x2b3f85['y'],_0x2b3f85['z']),_0x4b0f33=new _0x220444(_0x3f0b8a['x'],_0x2b3f85['y'],_0x2b3f85['z']),_0x51d407=[_0x444342,_0x4b0f33],_0x28573e=new _0x116076()['setFromPoints'](_0x51d407),_0x3565f7=new _0x3b6936({'color':0xff0000,'linewidth':0x2,'depthTest':!0x1}),_0x37d7cc=new _0x5b83e2(_0x28573e,_0x3565f7);_0x37d7cc['renderOrder']=0x3e7,_0x4f29c2['add'](_0x37d7cc);const _0x2d9422=new _0x220444()['addVectors'](_0x444342,_0x4b0f33)['multiplyScalar'](0.5),_0x4d424f=this['createLabel']('ΔX\x20'+(0x3e8*_0x2b90c9['x'])['toFixed'](0x1)+'mm',_0x2d9422,'#ff0000');_0x4f29c2['add'](_0x4d424f);}if(Math['abs'](_0x2b90c9['y'])>0.001){const _0x24cf82=new _0x220444(_0x3f0b8a['x'],_0x2b3f85['y'],_0x2b3f85['z']),_0xfc37cd=new _0x220444(_0x3f0b8a['x'],_0x3f0b8a['y'],_0x2b3f85['z']),_0x17b0ed=[_0x24cf82,_0xfc37cd],_0x33dc8c=new _0x116076()['setFromPoints'](_0x17b0ed),_0x4137ba=new _0x3b6936({'color':0xff00,'linewidth':0x2,'depthTest':!0x1}),_0x15af25=new _0x5b83e2(_0x33dc8c,_0x4137ba);_0x15af25['renderOrder']=0x3e7,_0x4f29c2['add'](_0x15af25);const _0x3b3147=new _0x220444()['addVectors'](_0x24cf82,_0xfc37cd)['multiplyScalar'](0.5),_0x1583ea=this['createLabel']('ΔY\x20'+(0x3e8*_0x2b90c9['y'])['toFixed'](0x1)+'mm',_0x3b3147,'#00ff00');_0x4f29c2['add'](_0x1583ea);}if(Math['abs'](_0x2b90c9['z'])>0.001){const _0x10fa99=new _0x220444(_0x3f0b8a['x'],_0x3f0b8a['y'],_0x2b3f85['z']),_0x477142=new _0x220444(_0x3f0b8a['x'],_0x3f0b8a['y'],_0x3f0b8a['z']),_0x13c421=[_0x10fa99,_0x477142],_0x5e9986=new _0x116076()['setFromPoints'](_0x13c421),_0x5e1345=new _0x3b6936({'color':0xff,'linewidth':0x2,'depthTest':!0x1}),_0x3eb0d7=new _0x5b83e2(_0x5e9986,_0x5e1345);_0x3eb0d7['renderOrder']=0x3e7,_0x4f29c2['add'](_0x3eb0d7);const _0x396bb3=new _0x220444()['addVectors'](_0x10fa99,_0x477142)['multiplyScalar'](0.5),_0x12a0c0=this['createLabel']('ΔZ\x20'+(0x3e8*_0x2b90c9['z'])['toFixed'](0x1)+'mm',_0x396bb3,'#0000ff');_0x4f29c2['add'](_0x12a0c0);}}const _0x1bf942=new _0x2e733b(0.01,0x10,0x10),_0xfbca56=new _0x2b5e49({'color':0xffff00,'depthTest':!0x1}),_0x18281e=new _0x2c4c6c(_0x1bf942,_0xfbca56);_0x18281e['position']['copy'](_0x2b3f85),_0x18281e['renderOrder']=0x3e8,_0x4f29c2['add'](_0x18281e);const _0x27be1c=new _0x2c4c6c(_0x1bf942,_0xfbca56);_0x27be1c['position']['copy'](_0x3f0b8a),_0x27be1c['renderOrder']=0x3e8,_0x4f29c2['add'](_0x27be1c),this['sceneManager']['scene']['add'](_0x4f29c2),this['measurementHelper']=_0x4f29c2,this['sceneManager']['redraw']();}['createLabel'](_0x48779b,_0x2194c4,_0x56c0b3){const _0x42fd2f=document['createElement']('canvas'),_0x348734=_0x42fd2f['getContext']('2d');_0x42fd2f['width']=0x100,_0x42fd2f['height']=0x40,_0x348734['clearRect'](0x0,0x0,_0x42fd2f['width'],_0x42fd2f['height']),_0x348734['font']='Bold\x2032px\x20Arial',_0x348734['textAlign']='center',_0x348734['textBaseline']='middle',_0x348734['strokeStyle']='rgba(0,\x200,\x200,\x200.8)',_0x348734['lineWidth']=0x4,_0x348734['strokeText'](_0x48779b,0x80,0x20),_0x348734['fillStyle']=_0x56c0b3,_0x348734['fillText'](_0x48779b,0x80,0x20);const _0x554a1b=new _0x413a58(_0x42fd2f),_0x3f49f1=new _0x30f8a7({'map':_0x554a1b,'depthTest':!0x1,'depthWrite':!0x1,'transparent':!0x0}),_0x3e95b2=new _0x90fba4(_0x3f49f1);return _0x3e95b2['position']['copy'](_0x2194c4),_0x3e95b2['scale']['set'](0.18,0.045,0x1),_0x3e95b2['renderOrder']=0x3e8,_0x3e95b2;}['clearMeasurement'](){this['measurementHelper']&&(this['sceneManager']['scene']['remove'](this['measurementHelper']),this['measurementHelper']=null,this['sceneManager']['redraw']());}['clear'](){this['clearMeasurement']();}}class Pi{constructor(_0x21d9cd){this['canvas']=_0x21d9cd,this['scene']=new _0x2eec37(),this['_dirty']=!0x1,this['_pendingRender']=!0x1,this['_renderingPaused']=!0x1,this['_eventListeners']={};const _0x3c076c=_0x21d9cd['clientWidth'],_0x12c978=_0x21d9cd['clientHeight'];this['camera']=new _0x555d82(0x4b,_0x3c076c/_0x12c978,0.1,0x3e8),this['camera']['position']['set'](0x2,0x2,0x2),this['camera']['lookAt'](0x0,0x0,0x0),this['renderer']=new _0x563f99({'canvas':_0x21d9cd,'antialias':!0x0}),this['renderer']['setSize'](_0x3c076c,_0x12c978),this['renderer']['setPixelRatio'](window['devicePixelRatio']),this['renderer']['shadowMap']['enabled']=!0x0,this['renderer']['shadowMap']['type']=_0x2c8869,this['labelRenderer']=new Ne(),this['labelRenderer']['setSize'](_0x3c076c,_0x12c978),this['labelRenderer']['domElement']['style']['position']='absolute',this['labelRenderer']['domElement']['style']['top']='0',this['labelRenderer']['domElement']['style']['pointerEvents']='none',this['labelRenderer']['domElement']['style']['zIndex']='1',_0x21d9cd['parentElement']['appendChild'](this['labelRenderer']['domElement']),this['controls']=new Oe(this['camera'],_0x21d9cd),this['controls']['enableDamping']=!0x1,this['controls']['enablePan']=!0x0,this['controls']['panSpeed']=0x1,this['controls']['enableZoom']=!0x0,this['controls']['enableRotate']=!0x0,this['controls']['screenSpacePanning']=!0x0,this['controls']['target']['set'](0x0,0x0,0x0),this['controls']['addEventListener']('change',()=>this['redraw']()),this['controls']['mouseButtons']&&(this['controls']['mouseButtons']['LEFT']=_0xbfc824['ROTATE'],this['controls']['mouseButtons']['MIDDLE']=_0xbfc824['DOLLY'],this['controls']['mouseButtons']['RIGHT']=_0xbfc824['PAN']),this['updateBackgroundColor'](),this['setupThemeListener'](),this['environmentManager']=new Ci(this['scene']),this['environmentManager']['setupLights'](),this['environmentManager']['setupGroundPlane'](),this['environmentManager']['initializeEnvironmentMap'](this['renderer']),this['groundPlane']=this['environmentManager']['groundPlane'],this['referenceGrid']=this['environmentManager']['referenceGrid'],this['directionalLight']=this['environmentManager']['getDirectionalLight'](),this['ambientLight']=this['environmentManager']['lights']['ambient'],this['fillLight']=this['environmentManager']['lights']['fill'],this['visualizationManager']=new ji(this),this['inertialVisualization']=new ki(this),this['constraintManager']=new Ti(this),this['axesManager']=new Oi(this),this['highlightManager']=new Fi(this),this['measurementManager']=new Di(this),this['_renderScale']=0x1,this['currentModel']=null,this['ignoreLimits']=!0x1,this['baseOrientationGroup']=null,this['worldAxes']=null,this['dragControls']=null,this['setupResizeObserver'](),this['_contextLost']=!0x1,this['setupContextLossHandling'](),this['startRenderLoop'](),this['redraw']();}['startRenderLoop'](){const _0x530c5d=()=>{this['_dirty']&&!this['_contextLost']&&(this['renderer']['render'](this['scene'],this['camera']),this['labelRenderer']['render'](this['scene'],this['camera']),this['_dirty']=!0x1),this['_renderLoopId']=requestAnimationFrame(_0x530c5d);};_0x530c5d();}['stopRenderLoop'](){this['_renderLoopId']&&(cancelAnimationFrame(this['_renderLoopId']),this['_renderLoopId']=null),this['resizeObserver']&&(this['resizeObserver']['disconnect'](),this['resizeObserver']=null),this['_onContextLost']&&(this['canvas']['removeEventListener']('webglcontextlost',this['_onContextLost']),this['_onContextLost']=null),this['_onContextRestored']&&(this['canvas']['removeEventListener']('webglcontextrestored',this['_onContextRestored']),this['_onContextRestored']=null);}['setupContextLossHandling'](){this['_onContextLost']=_0x3da8e7=>{_0x3da8e7['preventDefault'](),this['_contextLost']=!0x0,this['_showContextLostOverlay'](),this['emit']('contextLost');},this['_onContextRestored']=()=>{if(this['_contextLost']=!0x1,this['environmentManager'])try{this['environmentManager']['regenerateEnvironmentMap'](this['renderer'],!0x0);}catch(_0x3dd83f){}this['renderer']['shadowMap']['enabled']&&(this['renderer']['shadowMap']['needsUpdate']=!0x0),this['_hideContextLostOverlay'](),this['redraw'](),this['emit']('contextRestored');},this['canvas']['addEventListener']('webglcontextlost',this['_onContextLost']),this['canvas']['addEventListener']('webglcontextrestored',this['_onContextRestored']);}['_showContextLostOverlay'](){if(this['_contextLostOverlay'])return;const _0x2a7738=(_0xadb257,_0x357f7c)=>window['i18n']&&'function'==typeof window['i18n']['t']&&window['i18n']['t'](_0xadb257)!==_0xadb257?window['i18n']['t'](_0xadb257):_0x357f7c,_0x1e8c85=document['createElement']('div');_0x1e8c85['id']='webgl-context-lost-overlay',_0x1e8c85['style']['cssText']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20position:\x20absolute;\x20inset:\x200;\x20z-index:\x2050;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x20flex-direction:\x20column;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20align-items:\x20center;\x20justify-content:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gap:\x2010px;\x20padding:\x2024px;\x20text-align:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20rgba(0,\x200,\x200,\x200.72);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20#fff;\x20font-size:\x2014px;\x20line-height:\x201.6;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20backdrop-filter:\x20blur(2px);\x0a\x20\x20\x20\x20\x20\x20\x20\x20';const _0x9115cf=document['createElement']('div');_0x9115cf['style']['cssText']='font-size:\x2016px;\x20font-weight:\x20600;',_0x9115cf['textContent']=_0x2a7738('webglContextLostTitle','3D\x20渲染已暂停');const _0x460d72=document['createElement']('div');_0x460d72['style']['cssText']='max-width:\x20420px;\x20opacity:\x200.85;',_0x460d72['textContent']=_0x2a7738('webglContextLostDetail','浏览器回收了\x20GPU\x20资源(通常发生在标签页长时间处于后台)。正在等待自动恢复,模型无需重新加载。'),_0x1e8c85['appendChild'](_0x9115cf),_0x1e8c85['appendChild'](_0x460d72),(this['canvas']['parentElement']||document['body'])['appendChild'](_0x1e8c85),this['_contextLostOverlay']=_0x1e8c85;}['_hideContextLostOverlay'](){var _0x1df188;(null==(_0x1df188=this['_contextLostOverlay'])?void 0x0:_0x1df188['parentNode'])&&this['_contextLostOverlay']['parentNode']['removeChild'](this['_contextLostOverlay']),this['_contextLostOverlay']=null;}['hasPendingRender'](){return this['_dirty'];}['redraw'](){this['_dirty']=!0x0;}['pauseRendering'](){this['_renderingPaused']=!0x0;}['resumeRendering'](){this['_renderingPaused']=!0x1;}['render'](){this['_renderingPaused']||(this['_contextLost']?this['_dirty']=!0x0:(this['renderer']['render'](this['scene'],this['camera']),this['labelRenderer']['render'](this['scene'],this['camera']),this['_dirty']=!0x1));}['addModel'](_0x4cdc5c){if(this['currentModel']&&this['currentModel']['threeObject']&&this['removeModel'](this['currentModel']),this['currentModel']=_0x4cdc5c,!_0x4cdc5c['threeObject'])return;const _0x5944a2=!_0x4cdc5c['joints']||0x0===_0x4cdc5c['joints']['size'];if(_0x5944a2)this['scene']['add'](_0x4cdc5c['threeObject']);else{this['world']||(this['world']=new _0x5a57be(),this['scene']['add'](this['world']),this['world']['rotation']['set'](-Math['PI']/0x2,0x0,0x0));const _0x54cc4a=document['getElementById']('up-select');if(_0x54cc4a&&this['setUp'](_0x54cc4a['value']||'+Z'),this['baseOrientationGroup']||(this['baseOrientationGroup']=new _0x135d71(),this['baseOrientationGroup']['name']='baseOrientationGroup'),this['baseOrientationGroup']['parent']!==this['world']&&this['world']['add'](this['baseOrientationGroup']),this['baseOrientationGroup']['add'](_0x4cdc5c['threeObject']),!this['worldAxes']){const _0x8b72a1=new _0x135d71();_0x8b72a1['name']='worldAxes',_0x8b72a1['visible']=!0x1;const _0x2558e9=1.5,_0x333cbb=0.02,_0xa8da40=new _0x181a2b(_0x333cbb,_0x333cbb,_0x2558e9,0x8),_0x10d63c=new _0x2b5e49({'color':0xff0000}),_0x18f375=new _0x2c4c6c(_0xa8da40,_0x10d63c);_0x18f375['position']['x']=_0x2558e9/0x2,_0x18f375['rotation']['z']=-Math['PI']/0x2,_0x8b72a1['add'](_0x18f375);const _0x389114=new _0x2b5e49({'color':0xff00}),_0x45cee2=new _0x2c4c6c(_0xa8da40,_0x389114);_0x45cee2['position']['y']=_0x2558e9/0x2,_0x8b72a1['add'](_0x45cee2);const _0x373e94=new _0x2b5e49({'color':0xff}),_0x57159a=new _0x2c4c6c(_0xa8da40,_0x373e94);_0x57159a['position']['z']=_0x2558e9/0x2,_0x57159a['rotation']['x']=Math['PI']/0x2,_0x8b72a1['add'](_0x57159a),_0x8b72a1['renderOrder']=0x3e7,_0x8b72a1['traverse'](_0x1f4cce=>{_0x1f4cce['material']&&(_0x1f4cce['material']['depthTest']=!0x1,_0x1f4cce['material']['depthWrite']=!0x1);}),this['worldAxes']=_0x8b72a1,this['world']['add'](this['worldAxes']);}}this['visualizationManager']['extractVisualAndCollision'](_0x4cdc5c);let _0x24eadc=0x1;try{if(_0x4cdc5c['threeObject']){const _0x237823=this['computeRobustBoundingBox'](_0x4cdc5c['threeObject']);if(!_0x237823['isEmpty']()){const _0x1bf62e=_0x237823['getSize'](new _0x220444());_0x24eadc=Math['max'](_0x1bf62e['x'],_0x1bf62e['y'],_0x1bf62e['z']);}}}catch(_0x332ba8){}this['axesManager']['clearAllLinkAxes'](),this['axesManager']['modelSize']=_0x24eadc,_0x4cdc5c['links']&&_0x4cdc5c['links']['forEach']((_0x3122ec,_0x2dcb38)=>{this['axesManager']['createLinkAxes'](_0x3122ec,_0x2dcb38,_0x24eadc);}),this['axesManager']['clearAllJointAxes'](),_0x4cdc5c['joints']&&_0x4cdc5c['joints']['forEach']((_0x5eedfc,_0x511ced)=>{this['axesManager']['createJointAxis'](_0x5eedfc,_0x511ced);}),this['inertialVisualization']['extractInertialProperties'](_0x4cdc5c),this['constraintManager']['visualizeConstraints'](_0x4cdc5c,this['world']),_0x4cdc5c['constraints']&&_0x4cdc5c['constraints']['size']>0x0&&this['constraintManager']['applyConstraints'](_0x4cdc5c,null),this['initDragControls'](_0x4cdc5c),this['updateEnvironment'](!0x1,!0x0),_0x5944a2?requestAnimationFrame(()=>{requestAnimationFrame(()=>{this['updateEnvironment'](!0x0,!0x0),this['emit']('modelReady',_0x4cdc5c);});}):(setTimeout(()=>{this['visualizationManager']['extractVisualAndCollision'](_0x4cdc5c);},0x64),setTimeout(()=>{this['visualizationManager']['extractVisualAndCollision'](_0x4cdc5c),this['updateEnvironment'](!0x0,!0x0),this['emit']('modelReady',_0x4cdc5c);},0x3e8),setTimeout(()=>{this['visualizationManager']['extractVisualAndCollision'](_0x4cdc5c),this['updateEnvironment'](!0x1,!0x0);},0x9c4));}['removeModel'](_0xf32be5){_0xf32be5&&_0xf32be5['threeObject']&&_0xf32be5['threeObject']['parent']&&_0xf32be5['threeObject']['parent']['remove'](_0xf32be5['threeObject']),this['baseOrientationGroup']&&this['baseOrientationGroup']['quaternion']['identity'](),this['axesManager']['clear'](),this['visualizationManager']['clear'](),this['inertialVisualization']['clear'](),this['constraintManager']['clear'](),this['measurementManager']['clear'](),this['highlightManager']['clearHighlight'](),this['dragControls']&&(this['dragControls']['dispose'](),this['dragControls']=null),this['currentModel']=null;}['addAuxiliaryModel'](_0x36edfa,_0x3af11b,_0xb1fe95={'x':0x0,'y':0x0,'z':0x0},_0x6dc481=null,_0x559c69=null){}['removeAuxiliaryModel'](_0x272640){}['getAuxiliaryModel'](_0x230a1d){return null;}['setAuxiliaryModelVisibility'](_0x2c6bf6,_0x24dd29){const _0xe4fa43=this['auxiliaryModels']['get'](_0x2c6bf6);_0xe4fa43&&_0xe4fa43['wrapper']&&(_0xe4fa43['wrapper']['visible']=_0x24dd29,this['redraw']());}['computeRobustBoundingBox'](_0x21016f){const _0x811f52=[];_0x21016f['updateMatrixWorld'](!0x0);const _0x4a67ee=_0x59d684=>{if(!_0x59d684['userData']||!_0x59d684['userData']['excludeFromBBox']){if(_0x59d684['isMesh']&&_0x59d684['geometry']){const _0x567727=new _0x2e400f()['setFromObject'](_0x59d684);if(!_0x567727['isEmpty']()){const _0x2dac00=_0x567727['getCenter'](new _0x220444());Number['isFinite'](_0x2dac00['x'])&&Number['isFinite'](_0x2dac00['y'])&&Number['isFinite'](_0x2dac00['z'])&&_0x811f52['push']({'box':_0x567727,'center':_0x2dac00});}}for(let _0x3e6e7b=0x0;_0x3e6e7b<_0x59d684['children']['length'];_0x3e6e7b++)_0x4a67ee(_0x59d684['children'][_0x3e6e7b]);}};_0x4a67ee(_0x21016f);const _0x4bf1ab=new _0x2e400f();if(0x0===_0x811f52['length'])return _0x4bf1ab;if(_0x811f52['length']<=0x2)return _0x811f52['forEach'](_0x5af481=>_0x4bf1ab['union'](_0x5af481['box'])),_0x4bf1ab;const _0x130077=_0x3b29fc=>{const _0x4d3557=[..._0x3b29fc]['sort']((_0x31ca69,_0x1ae600)=>_0x31ca69-_0x1ae600),_0x4f0a24=Math['floor'](_0x4d3557['length']/0x2);return _0x4d3557['length']%0x2?_0x4d3557[_0x4f0a24]:(_0x4d3557[_0x4f0a24-0x1]+_0x4d3557[_0x4f0a24])/0x2;},_0x32e970=new _0x220444(_0x130077(_0x811f52['map'](_0xe1514c=>_0xe1514c['center']['x'])),_0x130077(_0x811f52['map'](_0x554051=>_0x554051['center']['y'])),_0x130077(_0x811f52['map'](_0x343301=>_0x343301['center']['z']))),_0x4295af=_0x811f52['map'](_0x2f3231=>_0x2f3231['center']['distanceTo'](_0x32e970)),_0x11c099=_0x130077(_0x4295af),_0x10bc79=_0x130077(_0x4295af['map'](_0x579472=>Math['abs'](_0x579472-_0x11c099))),_0x5913cc=Math['max'](_0x11c099+0xa*(_0x10bc79>0.000001?_0x10bc79:Math['max'](_0x11c099,0.5)),0x1);let _0x5ae935=0x0;return _0x811f52['forEach']((_0x5bc851,_0x482224)=>{_0x4295af[_0x482224]<=_0x5913cc&&(_0x4bf1ab['union'](_0x5bc851['box']),_0x5ae935++);}),0x0===_0x5ae935&&_0x811f52['forEach'](_0xbe9e7=>_0x4bf1ab['union'](_0xbe9e7['box'])),_0x4bf1ab;}['updateEnvironment'](_0x385f08=!0x1,_0x513471=!0x1){const _0x54cbde=this['currentModel'];if(!_0x54cbde||!_0x54cbde['threeObject'])return;this['world']&&this['world']['updateMatrixWorld'](!0x0),_0x54cbde['threeObject']['updateMatrixWorld'](!0x0);const _0x41a16c=this['computeRobustBoundingBox'](_0x54cbde['threeObject']);if(_0x41a16c['isEmpty']())return;const _0x336759=_0x41a16c['getCenter'](new _0x220444()),_0x22e9ee=_0x41a16c['getSize'](new _0x220444()),_0x346cb6=_0x41a16c['min']['y'];let _0x24c173=!0x1;if(this['groundPlane']&&_0x513471){const _0x50980c=_0x346cb6,_0x2b5373=this['groundPlane']['position']['y'];this['groundPlane']['position']['y']=_0x50980c,this['referenceGrid']&&(this['referenceGrid']['position']['y']=_0x50980c,this['referenceGrid']['updateMatrixWorld'](!0x0)),Math['abs'](_0x2b5373-_0x50980c)>0.000001&&(_0x24c173=!0x0);}_0x385f08&&this['fitCameraToModel'](_0x41a16c,_0x336759,_0x22e9ee),_0x24c173&&this['onMeasurementUpdate']&&this['onMeasurementUpdate']();const _0x22e12b=this['directionalLight'];if(_0x22e12b&&_0x22e12b['castShadow']){const _0x484a37=_0x41a16c['getBoundingSphere'](new _0x5bf93c())['radius'],_0x170a4e=_0x22e12b['shadow']['camera'];_0x170a4e['left']=_0x170a4e['bottom']=-_0x484a37,_0x170a4e['right']=_0x170a4e['top']=_0x484a37;const _0x4b591e=_0x22e12b['position']['clone']()['sub'](_0x22e12b['target']['position']);_0x22e12b['target']['position']['copy'](_0x336759),_0x22e12b['position']['copy'](_0x336759)['add'](_0x4b591e),_0x170a4e['updateProjectionMatrix']();}this['redraw']();}['fitCameraToModel'](_0x3b6702,_0x46edf0,_0x88a01f){const _0x452c11=Math['max'](_0x88a01f['x'],_0x88a01f['y'],_0x88a01f['z']);if(_0x452c11<0.001)return;const _0xdab790=this['camera']['fov']*(Math['PI']/0xb4),_0x5e4749=!this['currentModel']||!this['currentModel']['joints']||0x0===this['currentModel']['joints']['size']?2.5:1.8,_0x2515ae=_0x452c11/(0x2*Math['tan'](_0xdab790/0x2))*_0x5e4749,_0x15cb88=0x3*Math['PI']/0x4,_0x5096c9=Math['PI']/0x6,_0x1f13e2=new _0x220444(_0x2515ae*Math['cos'](_0x5096c9)*Math['sin'](_0x15cb88),_0x2515ae*Math['sin'](_0x5096c9),-_0x2515ae*Math['cos'](_0x5096c9)*Math['cos'](_0x15cb88));this['camera']['position']['copy'](_0x46edf0)['add'](_0x1f13e2),this['controls']['target']['copy'](_0x46edf0),this['controls']['update'](),this['camera']['updateProjectionMatrix'](),this['redraw']();}['setUp'](_0xffed83){_0xffed83||(_0xffed83='+Z');const _0x3f1d3d=(_0xffed83=_0xffed83['toUpperCase']())['replace'](/[^-+]/g,'')[0x0]||'+',_0x22ea46=_0xffed83['replace'](/[^XYZ]/gi,'')[0x0]||'Z',_0x31cd7d=Math['PI'],_0x345aa3=_0x31cd7d/0x2;this['world']||(this['world']=new _0x5a57be(),this['scene']['add'](this['world']),this['currentModel']&&this['currentModel']['threeObject']&&this['currentModel']['threeObject']['parent']===this['scene']&&(this['scene']['remove'](this['currentModel']['threeObject']),this['baseOrientationGroup']||(this['baseOrientationGroup']=new _0x135d71(),this['baseOrientationGroup']['name']='baseOrientationGroup'),this['world']['add'](this['baseOrientationGroup']),this['baseOrientationGroup']['add'](this['currentModel']['threeObject']))),'X'===_0x22ea46?this['world']['rotation']['set'](0x0,0x0,'+'===_0x3f1d3d?_0x345aa3:-_0x345aa3):'Z'===_0x22ea46?this['world']['rotation']['set']('+'===_0x3f1d3d?-_0x345aa3:_0x345aa3,0x0,0x0):'Y'===_0x22ea46&&this['world']['rotation']['set']('+'===_0x3f1d3d?0x0:_0x31cd7d,0x0,0x0),this['world']['updateMatrixWorld'](!0x0),this['redraw']();}['setBaseOrientation'](_0x4b7fbb){this['baseOrientationGroup']&&Array['isArray'](_0x4b7fbb)&&0x4===_0x4b7fbb['length']&&(this['baseOrientationGroup']['quaternion']['set'](_0x4b7fbb[0x0],_0x4b7fbb[0x1],_0x4b7fbb[0x2],_0x4b7fbb[0x3]),this['redraw']());}['getBaseOrientation'](){if(!this['baseOrientationGroup'])return[0x0,0x0,0x0,0x1];const _0x336c74=this['baseOrientationGroup']['quaternion'];return[_0x336c74['x'],_0x336c74['y'],_0x336c74['z'],_0x336c74['w']];}['resetBaseOrientation'](){this['baseOrientationGroup']&&(this['baseOrientationGroup']['quaternion']['identity'](),this['redraw']());}['setWorldAxesVisible'](_0x110cb0){this['worldAxes']&&(this['worldAxes']['visible']=_0x110cb0,this['redraw']());}['isWorldAxesVisible'](){return!!this['worldAxes']&&this['worldAxes']['visible'];}['setGroundVisible'](_0xc02be7){this['groundPlane']&&(this['groundPlane']['visible']=_0xc02be7,this['redraw']());}['focusObject'](_0x44a8ef){if(!_0x44a8ef)return;const _0x2a993=new _0x2e400f()['setFromObject'](_0x44a8ef),_0x4dd026=_0x2a993['getCenter'](new _0x220444()),_0x244921=_0x2a993['getSize'](new _0x220444()),_0x5bb04f=Math['max'](_0x244921['x'],_0x244921['y'],_0x244921['z']),_0x3ddff7=this['camera']['fov']*(Math['PI']/0xb4);let _0x4df6fc=1.5*Math['abs'](_0x5bb04f/Math['sin'](_0x3ddff7/0x2));const _0x5eccb6=new _0x220444();this['camera']['getWorldDirection'](_0x5eccb6);const _0x3f8d94=_0x4dd026['clone']()['sub'](_0x5eccb6['multiplyScalar'](_0x4df6fc));this['camera']['position']['copy'](_0x3f8d94),this['controls']['target']['copy'](_0x4dd026),this['controls']['update'](),this['redraw']();}['initDragControls'](_0x13ce45){this['dragControls']&&this['dragControls']['dispose'](),this['dragControls']=new Ze(this['scene'],this['camera'],this['canvas'],_0x13ce45),this['dragControls']['renderer']=this['renderer'],_0x13ce45&&(_0x13ce45['userData']||(_0x13ce45['userData']={}),_0x13ce45['userData']['ignoreLimits']=this['ignoreLimits'],_0x13ce45['threeObject']&&(_0x13ce45['threeObject']['userData']||(_0x13ce45['threeObject']['userData']={}),_0x13ce45['threeObject']['userData']['ignoreLimits']=this['ignoreLimits'])),this['dragControls']['model']=_0x13ce45,this['dragControls']['onUpdateJoint']=(_0x18efbc,_0x1c0f3a)=>{!(this['ignoreLimits']||_0x13ce45&&_0x13ce45['userData']&&_0x13ce45['userData']['ignoreLimits']||this['dragControls']&&this['dragControls']['model']&&this['dragControls']['model']['userData']&&this['dragControls']['model']['userData']['ignoreLimits'])&&_0x18efbc['limits']&&(_0x1c0f3a=Math['max'](_0x18efbc['limits']['lower'],Math['min'](_0x18efbc['limits']['upper'],_0x1c0f3a))),Ei['setJointAngle'](_0x13ce45,_0x18efbc['name'],_0x1c0f3a),_0x18efbc['currentValue']=_0x1c0f3a,this['constraintManager']['applyConstraints'](_0x13ce45,_0x18efbc);const _0x17a156=document['querySelector']('input.joint-slider[data-joint=\x22'+_0x18efbc['name']+'\x22]');if(_0x17a156){_0x17a156['value']=_0x1c0f3a;const _0x352b4c=document['querySelector']('input[data-joint-input=\x22'+_0x18efbc['name']+'\x22]');if(_0x352b4c){const _0x5bf7e0=document['querySelector']('#unit-deg.active')?'deg':'rad';_0x352b4c['value']='deg'===_0x5bf7e0?(0xb4*_0x1c0f3a/Math['PI'])['toFixed'](0x2):_0x1c0f3a['toFixed'](0x2);}}this['redraw'](),this['onMeasurementUpdate']&&this['onMeasurementUpdate']();},this['dragControls']['onHover']=_0xa0708f=>{_0xa0708f&&this['highlightManager']['highlightLink'](_0xa0708f,this['currentModel']);},this['dragControls']['onUnhover']=_0x45381f=>{_0x45381f&&this['highlightManager']['unhighlightLink'](_0x45381f,this['currentModel']);},this['dragControls']['onDragStart']=_0x2b0f55=>{if(this['controls']['enabled']=!0x1,_0x2b0f55&&_0x2b0f55['threeObject']){let _0x4b8f7b=_0x2b0f55['threeObject'];for(;_0x4b8f7b;){const _0x415246=_0x4b8f7b['parent'];if(_0x415246&&('URDFJoint'===_0x415246['type']||_0x415246['isURDFJoint'])){const _0x54917c=_0x415246['name'];if(_0x54917c&&_0x13ce45['joints']&&_0x13ce45['joints']['has'](_0x54917c)){const _0x260e2d=_0x13ce45['joints']['get'](_0x54917c);if('fixed'!==_0x260e2d['type']){this['axesManager']['showOnlyJointAxis'](_0x260e2d);break;}}}_0x4b8f7b=_0x415246;}}},this['dragControls']['onDragEnd']=_0x3ec923=>{this['controls']['enabled']=!0x0,this['axesManager']['restoreAllJointAxes'](),this['updateEnvironment']();};}['setIgnoreLimits'](_0x1e3b9a){this['ignoreLimits']=_0x1e3b9a,this['currentModel']&&(this['currentModel']['userData']||(this['currentModel']['userData']={}),this['currentModel']['userData']['ignoreLimits']=_0x1e3b9a,this['currentModel']['threeObject']&&(this['currentModel']['threeObject']['userData']||(this['currentModel']['threeObject']['userData']={}),this['currentModel']['threeObject']['userData']['ignoreLimits']=_0x1e3b9a)),this['dragControls']&&this['dragControls']['model']&&(this['dragControls']['model']['userData']||(this['dragControls']['model']['userData']={}),this['dragControls']['model']['userData']['ignoreLimits']=_0x1e3b9a,this['dragControls']['model']['threeObject']&&(this['dragControls']['model']['threeObject']['userData']||(this['dragControls']['model']['threeObject']['userData']={}),this['dragControls']['model']['threeObject']['userData']['ignoreLimits']=_0x1e3b9a));}['showMeshCoordinateSystem'](_0x425497){if(!_0x425497)return;this['clearMeshHelper']();let _0x4460a4=null;if(_0x425497['traverse'](_0x2dd629=>{_0x2dd629['isMesh']&&!_0x4460a4&&(_0x4460a4=_0x2dd629);}),!_0x4460a4)return;_0x4460a4['geometry']['computeBoundingBox']();const _0x3a0b92=new _0x2e400f()['setFromObject'](_0x4460a4),_0x11c752=_0x3a0b92['getSize'](new _0x220444()),_0x386351=Math['max'](_0x11c752['x'],_0x11c752['y'],_0x11c752['z']);_0x3a0b92['getCenter'](new _0x220444());const _0x5bab3e=Math['max'](2.5*_0x386351,0.5),_0x3f733e=new _0x135d71();_0x3f733e['name']='meshCoordinateAxes';const _0x5d1fa1=Math['max'](0.02*_0x5bab3e,0.008),_0x3de5cc=new _0x181a2b(_0x5d1fa1,_0x5d1fa1,_0x5bab3e,0x10),_0x26f7cf=new _0xa4876a({'color':0xff0000,'shininess':0x1e,'depthTest':!0x0,'side':_0x3ea7cb}),_0x2c8157=new _0x2c4c6c(_0x3de5cc,_0x26f7cf);_0x2c8157['position']['x']=_0x5bab3e/0x2,_0x2c8157['rotation']['z']=-Math['PI']/0x2,_0x2c8157['castShadow']=!0x1,_0x2c8157['receiveShadow']=!0x1,_0x2c8157['name']='xAxis',_0x3f733e['add'](_0x2c8157);const _0x28cf40=new _0xa4876a({'color':0xff00,'shininess':0x1e,'depthTest':!0x0,'side':_0x3ea7cb}),_0x419453=new _0x2c4c6c(_0x3de5cc,_0x28cf40);_0x419453['position']['y']=_0x5bab3e/0x2,_0x419453['castShadow']=!0x1,_0x419453['receiveShadow']=!0x1,_0x419453['name']='yAxis',_0x3f733e['add'](_0x419453);const _0x414022=new _0xa4876a({'color':0xff,'shininess':0x1e,'depthTest':!0x0,'side':_0x3ea7cb}),_0x2f7a69=new _0x2c4c6c(_0x3de5cc,_0x414022);_0x2f7a69['position']['z']=_0x5bab3e/0x2,_0x2f7a69['rotation']['x']=Math['PI']/0x2,_0x2f7a69['castShadow']=!0x1,_0x2f7a69['receiveShadow']=!0x1,_0x2f7a69['name']='zAxis',_0x3f733e['add'](_0x2f7a69),_0x425497['add'](_0x3f733e);const _0x1902ea=new _0x364fb3(_0x4460a4['geometry']),_0x2233a7=new _0x3b6936({'color':0xff00,'linewidth':0x1,'transparent':!0x0,'opacity':0.6,'depthTest':!0x0}),_0x521fc9=new _0x29cf62(_0x1902ea,_0x2233a7);_0x521fc9['name']='meshWireframe',_0x4460a4['parent']&&(_0x521fc9['position']['copy'](_0x4460a4['position']),_0x521fc9['rotation']['copy'](_0x4460a4['rotation']),_0x521fc9['scale']['copy'](_0x4460a4['scale']),_0x4460a4['parent']['add'](_0x521fc9)),this['meshCoordinateAxes']=_0x3f733e,this['meshWireframe']=_0x521fc9,_0x3f733e['parent']&&_0x3f733e['parent']['updateMatrixWorld'](!0x0),_0x521fc9&&_0x521fc9['parent']&&_0x521fc9['parent']['updateMatrixWorld'](!0x0),this['redraw'](),this['render'](),requestAnimationFrame(()=>{this['redraw'](),this['render']();}),this['highlightManager']['clearHighlight'](),this['redraw']();}['clearMeshHelper'](){this['meshCoordinateAxes']&&(this['meshCoordinateAxes']['parent']&&this['meshCoordinateAxes']['parent']['remove'](this['meshCoordinateAxes']),this['meshCoordinateAxes']=null),this['meshWireframe']&&(this['meshWireframe']['parent']&&this['meshWireframe']['parent']['remove'](this['meshWireframe']),this['meshWireframe']=null),this['redraw']();}['updateVisualTransparency'](){const _0x64d656=!this['currentModel']||!this['currentModel']['joints']||0x0===this['currentModel']['joints']['size'];this['visualizationManager']['updateVisualTransparency'](this['inertialVisualization']['showCOM'],this['axesManager']['hasVisibleLinkAxes'](),this['axesManager']['hasVisibleJointAxes'](),_0x64d656);}['setupThemeListener'](){new MutationObserver(()=>{this['updateBackgroundColor']();})['observe'](document['documentElement'],{'attributes':!0x0,'attributeFilter':['data-theme']});}['updateBackgroundColor'](){const _0x5744ab=document['documentElement']['getAttribute']('data-theme')||'dark';this['scene']['background']=new _0x25d7bf('light'===_0x5744ab?0xffffff:0x2a2a2e),this['environmentManager']&&this['environmentManager']['updateGridColorForTheme'](_0x5744ab),this['redraw']();}['setupResizeObserver'](){const _0x567d87=this['canvas']['parentElement'];_0x567d87?(this['resizeObserver']=new ResizeObserver(_0xbe4ff6=>{for(const _0x5def08 of _0xbe4ff6)if(_0x5def08['contentBoxSize']){const _0x449948=Array['isArray'](_0x5def08['contentBoxSize'])?_0x5def08['contentBoxSize'][0x0]:_0x5def08['contentBoxSize'],_0x1251d9=_0x449948['inlineSize'],_0x4e0d32=_0x449948['blockSize'];this['handleResize'](_0x1251d9,_0x4e0d32);}else this['onWindowResize']();}),this['resizeObserver']['observe'](_0x567d87)):window['addEventListener']('resize',()=>this['onWindowResize']());}['_applyRendererSize'](_0x3bcc1a,_0x52a555){const _0x1b3aaf=_0x3bcc1a||this['canvas']['clientWidth']||this['canvas']['width'],_0x53382d=_0x52a555||this['canvas']['clientHeight']||this['canvas']['height'];_0x1b3aaf&&_0x53382d&&(this['renderer']['setPixelRatio'](window['devicePixelRatio']*this['_renderScale']),this['renderer']['setSize'](_0x1b3aaf,_0x53382d,!0x0),this['labelRenderer']['setSize'](_0x1b3aaf,_0x53382d));}['setRenderScale'](_0x2e8955){const _0x114541=Math['min'](0x1,Math['max'](0.25,Number(_0x2e8955)||0x1));_0x114541!==this['_renderScale']&&(this['_renderScale']=_0x114541,this['_applyRendererSize'](),this['redraw']());}['getRenderScale'](){return this['_renderScale'];}['handleResize'](_0x356d62,_0xde64c0){0x0!==_0x356d62&&0x0!==_0xde64c0&&isFinite(_0x356d62)&&isFinite(_0xde64c0)&&(this['camera']['aspect']=_0x356d62/_0xde64c0,this['camera']['updateProjectionMatrix'](),this['_applyRendererSize'](_0x356d62,_0xde64c0),this['render']());}['onWindowResize'](){const _0x4229a6=this['canvas']['clientWidth'],_0x43cdb4=this['canvas']['clientHeight'];0x0!==_0x4229a6&&0x0!==_0x43cdb4&&(this['camera']['aspect']=_0x4229a6/_0x43cdb4,this['camera']['updateProjectionMatrix'](),this['_applyRendererSize'](_0x4229a6,_0x43cdb4),this['render']());}['on'](_0x18d681,_0x3f4bd1){this['_eventListeners'][_0x18d681]||(this['_eventListeners'][_0x18d681]=[]),this['_eventListeners'][_0x18d681]['push'](_0x3f4bd1);}['off'](_0x500565,_0x251c3f){this['_eventListeners'][_0x500565]&&(this['_eventListeners'][_0x500565]=this['_eventListeners'][_0x500565]['filter'](_0x4ef240=>_0x4ef240!==_0x251c3f));}['emit'](_0xd8767,..._0x1aa92c){this['_eventListeners'][_0xd8767]&&this['_eventListeners'][_0xd8767]['forEach'](_0x5d3f7f=>_0x5d3f7f(..._0x1aa92c));}['update'](){this['controls']['update']();}}class Ii{constructor(_0x2144b6){this['sceneManager']=_0x2144b6,this['angleUnit']='rad';}['setupControlPanel'](){const _0x5cb93d=document['getElementById']('show-visual'),_0x39b3aa=document['getElementById']('show-collision'),_0x1cb1d1=document['getElementById']('show-com'),_0x4535d2=document['getElementById']('show-inertia'),_0x54102e=document['getElementById']('ignore-limits'),_0x136bc2=(_0x223685,_0x22f9b2)=>{if(!_0x223685)return;const _0x5d3a56=!_0x223685['classList']['contains']('active');_0x5d3a56?_0x223685['classList']['add']('active'):_0x223685['classList']['remove']('active'),_0x223685['setAttribute']('data-checked',_0x5d3a56['toString']()),_0x22f9b2&&_0x22f9b2(_0x5d3a56);};if(this['sceneManager']&&_0x5cb93d){const _0x323fd8=_0x5cb93d['classList']['contains']('active');this['sceneManager']['visualizationManager']['showVisual']=_0x323fd8;}this['sceneManager']&&_0x39b3aa&&(this['sceneManager']['visualizationManager']['showCollision']=_0x39b3aa['classList']['contains']('active')),this['sceneManager']&&_0x1cb1d1&&(this['sceneManager']['inertialVisualization']['showCOM']=_0x1cb1d1['classList']['contains']('active')),this['sceneManager']&&_0x4535d2&&(this['sceneManager']['inertialVisualization']['showInertia']=_0x4535d2['classList']['contains']('active')),this['sceneManager']&&_0x54102e&&(this['sceneManager']['ignoreLimits']=!_0x54102e['classList']['contains']('active')),_0x5cb93d&&_0x5cb93d['addEventListener']('click',()=>{_0x136bc2(_0x5cb93d,_0x488a9e=>{var _0x21eb4a;this['sceneManager']['visualizationManager']['toggleVisual'](_0x488a9e,this['sceneManager']['currentModel']);const _0x4511fe=null==(_0x21eb4a=window['app'])?void 0x0:_0x21eb4a['mujocoSimulationManager'];_0x4511fe&&_0x4511fe['hasScene']()&&_0x4511fe['toggleVisualDisplay'](_0x488a9e),this['sceneManager']['redraw'](),this['sceneManager']['render']();});}),_0x39b3aa&&_0x39b3aa['addEventListener']('click',()=>{_0x136bc2(_0x39b3aa,_0x4505a1=>{var _0x4ef2e0;this['sceneManager']['visualizationManager']['toggleCollision'](_0x4505a1);const _0x8f783c=null==(_0x4ef2e0=window['app'])?void 0x0:_0x4ef2e0['mujocoSimulationManager'];_0x8f783c&&_0x8f783c['hasScene']()&&_0x8f783c['toggleCollisionDisplay'](_0x4505a1),this['sceneManager']['redraw'](),this['sceneManager']['render']();});}),_0x1cb1d1&&_0x1cb1d1['addEventListener']('click',()=>{_0x136bc2(_0x1cb1d1,_0x3dad39=>{var _0x5c85e4;this['sceneManager']['inertialVisualization']['toggleCenterOfMass'](_0x3dad39,this['sceneManager']['currentModel']);const _0x117f85=null==(_0x5c85e4=window['app'])?void 0x0:_0x5c85e4['mujocoSimulationManager'];_0x117f85&&_0x117f85['hasScene']()&&_0x117f85['toggleCOMDisplay'](_0x3dad39),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw'](),this['sceneManager']['render']();});}),_0x4535d2&&_0x4535d2['addEventListener']('click',()=>{_0x136bc2(_0x4535d2,_0x1dd1a2=>{var _0xa77e49;this['sceneManager']['inertialVisualization']['toggleInertia'](_0x1dd1a2,this['sceneManager']['currentModel']);const _0x3deb9a=null==(_0xa77e49=window['app'])?void 0x0:_0xa77e49['mujocoSimulationManager'];_0x3deb9a&&_0x3deb9a['hasScene']()&&_0x3deb9a['toggleInertiaDisplay'](_0x1dd1a2),this['sceneManager']['redraw'](),this['sceneManager']['render']();});}),_0x54102e&&_0x54102e['addEventListener']('click',()=>{_0x136bc2(_0x54102e,_0x46fb8e=>{var _0x3ade44;this['sceneManager']['setIgnoreLimits'](!_0x46fb8e),null==(_0x3ade44=this['onIgnoreLimitsChanged'])||_0x3ade44['call'](this,!_0x46fb8e);});});const _0x33fc0a=document['getElementById']('up-select');_0x33fc0a&&_0x33fc0a['addEventListener']('change',_0x32af6c=>{this['sceneManager']['setUp'](_0x32af6c['target']['value']);});const _0x5afd59=document['getElementById']('unit-rad'),_0x29c5aa=document['getElementById']('unit-deg');_0x5afd59&&_0x5afd59['addEventListener']('click',()=>{var _0x15f519;this['angleUnit']='rad',_0x5afd59['classList']['add']('active'),_0x29c5aa&&_0x29c5aa['classList']['remove']('active'),null==(_0x15f519=this['onAngleUnitChanged'])||_0x15f519['call'](this,this['angleUnit']);}),_0x29c5aa&&_0x29c5aa['addEventListener']('click',()=>{var _0x317a78;this['angleUnit']='deg',_0x29c5aa['classList']['add']('active'),_0x5afd59&&_0x5afd59['classList']['remove']('active'),null==(_0x317a78=this['onAngleUnitChanged'])||_0x317a78['call'](this,this['angleUnit']);});const _0x186811=document['getElementById']('reset-joints-btn');_0x186811&&_0x186811['addEventListener']('click',()=>{var _0x727e06;null==(_0x727e06=this['onResetJoints'])||_0x727e06['call'](this);});const _0x5d9bb8=document['getElementById']('mujoco-reset-btn-bar');_0x5d9bb8&&_0x5d9bb8['addEventListener']('click',()=>{var _0x2e679f;null==(_0x2e679f=this['onMujocoReset'])||_0x2e679f['call'](this);});const _0x5a63c2=document['getElementById']('mujoco-simulate-btn-bar');_0x5a63c2&&_0x5a63c2['addEventListener']('click',async()=>{var _0x5857d0,_0x390f01;const _0x5af53b=await(null==(_0x5857d0=this['onMujocoToggleSimulate'])?void 0x0:_0x5857d0['call'](this));if(void 0x0!==_0x5af53b){_0x5a63c2['classList']['toggle']('active',_0x5af53b);const _0x5db893=_0x5a63c2['querySelector']('span');if(_0x5db893){const _0x504119=_0x5af53b?'mujocoPause':'mujocoSimulate';_0x5db893['textContent']=(null==(_0x390f01=window['i18n'])?void 0x0:_0x390f01['t'](_0x504119))||(_0x5af53b?'Pause':'Simulate'),_0x5db893['setAttribute']('data-i18n',_0x504119);}}});}['setupThemeToggle'](_0x50e434){const _0x4b063f=document['getElementById']('theme-toggle');if(!_0x4b063f)return;const _0x3a3c60=localStorage['getItem']('theme')||'dark';document['documentElement']['setAttribute']('data-theme',_0x3a3c60),this['updateThemeIcon'](_0x3a3c60),this['sceneManager']&&this['sceneManager']['updateBackgroundColor'](),_0x4b063f['addEventListener']('click',()=>{const _0x4da216='dark'===document['documentElement']['getAttribute']('data-theme')?'light':'dark';document['documentElement']['setAttribute']('data-theme',_0x4da216),localStorage['setItem']('theme',_0x4da216),this['updateThemeIcon'](_0x4da216),this['sceneManager']&&this['sceneManager']['updateBackgroundColor'](),null==_0x50e434||_0x50e434(_0x4da216);});}['setupLanguageToggle'](_0x46cb3e){var _0x5e1c77;const _0xce7f8c=document['getElementById']('language-toggle');if(!_0xce7f8c)return;const _0x1da3d0=(null==(_0x5e1c77=window['i18n'])?void 0x0:_0x5e1c77['getCurrentLanguage']())||'zh-CN';this['updateLanguageIcon'](_0x1da3d0),_0xce7f8c['addEventListener']('click',()=>{var _0x17c86e;const _0xd9b283='zh-CN'===((null==(_0x17c86e=window['i18n'])?void 0x0:_0x17c86e['getCurrentLanguage']())||'zh-CN')?'en-US':'zh-CN';null==_0x46cb3e||_0x46cb3e(_0xd9b283),this['updateLanguageIcon'](_0xd9b283);});}['updateLanguageIcon'](_0x2e6b73){const _0x5857bb=document['getElementById']('language-toggle'),_0x4066b5=null==_0x5857bb?void 0x0:_0x5857bb['querySelector']('.tool-button-text');_0x4066b5&&(_0x4066b5['textContent']='zh-CN'===_0x2e6b73?'Language':'语言');}['updateThemeIcon'](_0x38f779){const _0xe9e64e=document['getElementById']('theme-toggle'),_0x13d086=null==_0xe9e64e?void 0x0:_0xe9e64e['querySelector']('.tool-button-icon');_0x13d086&&(_0x13d086['textContent']='dark'===_0x38f779?'🌙':'☀️');}['setupPanelCloseButtons'](){const _0x4be84c={'floating-files-panel':'toggle-files-panel','floating-joints-panel':'toggle-joints-panel','floating-model-tree':'toggle-model-tree','floating-help-panel':'help-button','floating-ros-panel':'toggle-ros-panel','virtual-camera-panel':'toggle-virtual-camera-panel','floating-orientation-panel':'toggle-orientation-panel','mocap-control-panel':'toggle-mocap-panel','joint-info-panel':'toggle-joint-info-panel'};document['querySelectorAll']('.panel-close-btn')['forEach'](_0x5e6437=>{_0x5e6437['addEventListener']('click',_0xcc8531=>{_0xcc8531['stopPropagation']();const _0x4e267f=_0x5e6437['getAttribute']('data-panel'),_0x12e726=document['getElementById'](_0x4e267f),_0x5ecfde=_0x4be84c[_0x4e267f],_0x486c26=_0x5ecfde?document['getElementById'](_0x5ecfde):null;if(_0x12e726){'none'!==_0x12e726['style']['display']&&(_0x12e726['style']['transition']='opacity\x200.2s\x20ease,\x20transform\x200.2s\x20ease',_0x12e726['style']['opacity']='0',_0x12e726['style']['transform']='scale(0.95)',setTimeout(()=>{_0x12e726['style']['display']='none',_0x12e726['style']['opacity']='',_0x12e726['style']['transform']='','floating-orientation-panel'===_0x4e267f&&this['sceneManager']&&this['sceneManager']['setWorldAxesVisible'](!0x1);},0xc8),_0x486c26&&_0x486c26['classList']['remove']('active'));}});}),Object['entries'](_0x4be84c)['forEach'](([_0x534b49,_0x8a6503])=>{const _0x5cfdb8=document['getElementById'](_0x8a6503),_0x29551e=document['getElementById'](_0x534b49);_0x5cfdb8&&_0x29551e&&_0x5cfdb8['addEventListener']('click',()=>{'none'!==_0x29551e['style']['display']&&'none'!==getComputedStyle(_0x29551e)['display']?(_0x29551e['style']['transition']='opacity\x200.2s\x20ease,\x20transform\x200.2s\x20ease',_0x29551e['style']['opacity']='0',_0x29551e['style']['transform']='scale(0.95)',setTimeout(()=>{_0x29551e['style']['display']='none',_0x29551e['style']['opacity']='',_0x29551e['style']['transform']='','floating-orientation-panel'===_0x534b49&&this['sceneManager']&&this['sceneManager']['setWorldAxesVisible'](!0x1);},0xc8),_0x5cfdb8['classList']['remove']('active')):(_0x29551e['style']['display']='flex',_0x29551e['style']['opacity']='0',_0x29551e['style']['transform']='scale(0.95)',_0x29551e['offsetHeight'],_0x29551e['style']['transition']='opacity\x200.2s\x20ease,\x20transform\x200.2s\x20ease',_0x29551e['style']['opacity']='1',_0x29551e['style']['transform']='scale(1)',setTimeout(()=>{_0x29551e['style']['transition']='';},0xc8),_0x5cfdb8['classList']['add']('active'),'floating-orientation-panel'===_0x534b49&&this['sceneManager']&&this['sceneManager']['setWorldAxesVisible'](!0x0));});});}['setupAxesToggle'](){const _0x6979dd=document['getElementById']('toggle-axes-btn');_0x6979dd&&_0x6979dd['addEventListener']('click',()=>{window['app']&&window['app']['axesControlPanel']&&window['app']['axesControlPanel']['toggle']();});}['setupJointAxesToggle'](){const _0x246647=document['getElementById']('toggle-joint-axes-btn');_0x246647&&_0x246647['addEventListener']('click',()=>{window['app']&&window['app']['jointAxesControlPanel']&&window['app']['jointAxesControlPanel']['toggle']();});}['setupShadowToggle'](){const _0x15b806=document['getElementById']('toggle-shadow');_0x15b806&&_0x15b806['addEventListener']('click',()=>{const _0xcf4a56=!('true'===_0x15b806['getAttribute']('data-checked'));_0x15b806['setAttribute']('data-checked',_0xcf4a56['toString']()),_0xcf4a56?(_0x15b806['classList']['add']('active'),this['sceneManager']['visualizationManager']['toggleShadow'](!0x0,this['sceneManager']['renderer'],this['sceneManager']['directionalLight']),this['sceneManager']['axesManager']['ensureAxesNoShadow'](),this['sceneManager']['updateEnvironment'](),this['sceneManager']['redraw'](),this['sceneManager']['render']()):(_0x15b806['classList']['remove']('active'),this['sceneManager']['visualizationManager']['toggleShadow'](!0x1,this['sceneManager']['renderer'],this['sceneManager']['directionalLight']),this['sceneManager']['redraw'](),this['sceneManager']['render']());});}['setupLightingToggle'](){const _0x12389c=document['getElementById']('toggle-lighting');_0x12389c&&_0x12389c['addEventListener']('click',()=>{const _0x38ad97=!('true'===_0x12389c['getAttribute']('data-checked'));_0x12389c['setAttribute']('data-checked',_0x38ad97['toString']()),_0x38ad97?(_0x12389c['classList']['add']('active'),this['sceneManager']['visualizationManager']['toggleEnhancedLighting'](!0x0)):(_0x12389c['classList']['remove']('active'),this['sceneManager']['visualizationManager']['toggleEnhancedLighting'](!0x1)),this['sceneManager']['redraw'](),this['sceneManager']['render']();});}['setupAll'](_0x4606e4={}){this['onAngleUnitChanged']=_0x4606e4['onAngleUnitChanged'],this['onIgnoreLimitsChanged']=_0x4606e4['onIgnoreLimitsChanged'],this['onResetJoints']=_0x4606e4['onResetJoints'],this['onMujocoReset']=_0x4606e4['onMujocoReset'],this['onMujocoToggleSimulate']=_0x4606e4['onMujocoToggleSimulate'],this['onApplyAngles']=_0x4606e4['onApplyAngles'],this['onSetHome']=_0x4606e4['onSetHome'],this['onSelectAll']=_0x4606e4['onSelectAll'],this['onResetToHome']=_0x4606e4['onResetToHome'],this['onToggleShowMimic']=_0x4606e4['onToggleShowMimic'],this['setupControlPanel'](),this['setupThemeToggle'](_0x4606e4['onThemeChanged']),this['setupLanguageToggle'](_0x4606e4['onLanguageChanged']),this['setupPanelCloseButtons'](),this['setupAxesToggle'](),this['setupJointAxesToggle'](),this['setupShadowToggle'](),this['setupLightingToggle'](),this['setupBatchOperationButtons']();}['setupBatchOperationButtons'](){const _0x15e846=document['getElementById']('show-mimic-btn'),_0x320cef=document['querySelector']('.apply-angles-btn'),_0x423dd4=document['querySelector']('.set-home-btn'),_0x29d6fa=document['querySelector']('.reset-home-btn'),_0x45c754=document['getElementById']('select-all-btn');_0x15e846&&_0x15e846['addEventListener']('click',()=>{const _0x11aa7b=!_0x15e846['classList']['contains']('active');_0x15e846['classList']['toggle']('active',_0x11aa7b),this['onToggleShowMimic']&&this['onToggleShowMimic'](_0x11aa7b);}),_0x320cef&&this['onApplyAngles']&&_0x320cef['addEventListener']('click',()=>{this['onApplyAngles']();}),_0x423dd4&&this['onSetHome']&&_0x423dd4['addEventListener']('click',()=>{this['onSetHome']();}),_0x29d6fa&&this['onResetToHome']&&_0x29d6fa['addEventListener']('click',()=>{this['onResetToHome']();}),_0x45c754&&this['onSelectAll']&&_0x45c754['addEventListener']('click',()=>{this['onSelectAll']();});}['getAngleUnit'](){return this['angleUnit'];}}class Ri{constructor(){this['fileMap']=new Map(),this['availableModels']=[],this['currentModelFile']=null,this['onModelLoaded']=null,this['usdViewerManager']=null;}['setUSDViewerManager'](_0x58b13d){this['usdViewerManager']=_0x58b13d;}['setUSDViewerInitializer'](_0x5875d2){this['usdViewerInitializer']=_0x5875d2;}['setupFileDrop'](){const _0x305cfb=document['body'],_0x48ca12=_0x515761=>{_0x515761['preventDefault'](),_0x515761['stopPropagation']();};['dragenter','dragover','dragleave','drop']['forEach'](_0x15d35c=>{_0x305cfb['addEventListener'](_0x15d35c,_0x48ca12,!0x1);});let _0x24ba96=0x0;_0x305cfb['addEventListener']('dragenter',_0x21e4f2=>{_0x24ba96++;const _0x1cba25=document['getElementById']('drop-zone');_0x1cba25&&_0x1cba25['classList']['add']('drag-over');},!0x1),_0x305cfb['addEventListener']('dragleave',_0x39a198=>{if(_0x24ba96--,0x0===_0x24ba96){const _0x22ef0b=document['getElementById']('drop-zone');_0x22ef0b&&_0x22ef0b['classList']['remove']('drag-over');}},!0x1),_0x305cfb['addEventListener']('drop',_0x16f823=>{_0x24ba96=0x0;const _0x4cab02=document['getElementById']('drop-zone');_0x4cab02&&_0x4cab02['classList']['remove']('drag-over'),this['handleDrop'](_0x16f823);},!0x1);}async['handleDrop'](_0x2a130a){var _0x1c3019;const _0x15f84d=_0x2a130a['dataTransfer']['items'];if(!_0x15f84d||0x0===_0x15f84d['length'])return;this['fileMap']['clear']();const _0x57b00c=[];for(let _0x553211=0x0;_0x553211<_0x15f84d['length'];_0x553211++){const _0x228557=_0x15f84d[_0x553211];if(_0x228557['webkitGetAsEntry']){const _0x1acee5=_0x228557['webkitGetAsEntry']();_0x1acee5&&_0x57b00c['push'](_0x1acee5);}}if(_0x57b00c['length']>0x0)await this['processEntries'](_0x57b00c);else{const _0x3796fe=_0x2a130a['dataTransfer']['files'];if(_0x3796fe['length']>0x0){for(const _0x2db207 of _0x3796fe){const _0x90f2af=_0x2db207['webkitRelativePath']||_0x2db207['name'];this['fileMap']['set'](_0x90f2af,_0x2db207),_0x2db207['webkitRelativePath']||this['fileMap']['set'](_0x2db207['name'],_0x2db207);}const _0x57798e=await this['findAllLoadableFiles'](Array['from'](_0x3796fe));_0x57798e['length']>0x0&&(this['availableModels']=_0x57798e,null==(_0x1c3019=this['onFilesLoaded'])||_0x1c3019['call'](this,_0x57798e),await this['loadFileOrMesh'](_0x57798e[0x0]));}}}async['processEntries'](_0x4d921f){var _0x4f5915,_0x3a2a43;const _0x55e1af=[];for(const _0x5729b6 of _0x4d921f)if(_0x5729b6['isFile']){const _0x5d5e03=await pt(_0x5729b6),_0x26026c=_0x5729b6['fullPath']||_0x5729b6['name'];this['fileMap']['set'](_0x26026c,_0x5d5e03),_0x55e1af['push'](_0x5d5e03);}else if(_0x5729b6['isDirectory']){const _0xaa75c1=await this['readDirectory'](_0x5729b6);_0x55e1af['push'](..._0xaa75c1);}if(0x0===_0x55e1af['length'])return;const _0x4dbfb0=await this['findAllLoadableFiles'](_0x55e1af);0x0!==_0x4dbfb0['length']?(this['availableModels']=_0x4dbfb0,null==(_0x3a2a43=this['onFilesLoaded'])||_0x3a2a43['call'](this,_0x4dbfb0),_0x4dbfb0['length']>0x0&&await this['loadFileOrMesh'](_0x4dbfb0[0x0])):null==(_0x4f5915=this['onFilesLoaded'])||_0x4f5915['call'](this,[]);}async['readDirectory'](_0x7be4ca){const _0x567075=[];return new Promise((_0x5dc088,_0x5d97f4)=>{const _0x13ea88=_0x7be4ca['createReader'](),_0x4331f8=()=>{_0x13ea88['readEntries'](async _0x4bd694=>{if(0x0!==_0x4bd694['length']){for(const _0x21a1a9 of _0x4bd694)if(_0x21a1a9['isFile']){const _0x511a2e=await pt(_0x21a1a9),_0x4df8d3=_0x21a1a9['fullPath']||_0x21a1a9['name'];this['fileMap']['set'](_0x4df8d3,_0x511a2e),_0x567075['push'](_0x511a2e);}else if(_0x21a1a9['isDirectory']){const _0x443d3c=await this['readDirectory'](_0x21a1a9);_0x567075['push'](..._0x443d3c);}_0x4331f8();}else _0x5dc088(_0x567075);},_0x5d97f4);};_0x4331f8();});}async['findAllLoadableFiles'](_0x4b9506){const _0x1f3c18={'model':['urdf','xacro','xml','usd','usda','usdc','usdz'],'mesh':['dae','stl','obj','collada'],'config':['yml','yaml']},_0x502316=[],_0x43353c=_0x4b9506['map'](async _0x359f49=>{const _0x5f0062=_0x359f49['name']['toLowerCase']()['split']('.')['pop']();if(_0x1f3c18['model']['includes'](_0x5f0062)){if('xml'!==_0x5f0062){const _0x555ba2=function(_0x4ccbb9){return{'urdf':'urdf','xacro':'xacro','xml':'mjcf','usd':'usd','usda':'usd','usdc':'usd','usdz':'usd'}[_0x4ccbb9]||'unknown';}(_0x5f0062);return{'file':_0x359f49,'name':_0x359f49['name'],'type':_0x555ba2,'path':_0x359f49['webkitRelativePath']||_0x359f49['name'],'category':'model'};}try{const _0x52d995=await dt(_0x359f49),_0x18fe81=Ei['detectFileType'](_0x359f49['name'],_0x52d995);return _0x18fe81?{'file':_0x359f49,'name':_0x359f49['name'],'type':_0x18fe81,'path':_0x359f49['webkitRelativePath']||_0x359f49['name'],'category':'model'}:null;}catch(_0x2f6427){return null;}}else{if(_0x1f3c18['mesh']['includes'](_0x5f0062))return{'file':_0x359f49,'name':_0x359f49['name'],'type':'mesh','path':_0x359f49['webkitRelativePath']||_0x359f49['name'],'category':'mesh'};if(_0x1f3c18['config']['includes'](_0x5f0062))return{'file':_0x359f49,'name':_0x359f49['name'],'type':'config','path':_0x359f49['webkitRelativePath']||_0x359f49['name'],'category':'config'};}return null;});return(await Promise['all'](_0x43353c))['forEach'](_0x59a90b=>{_0x59a90b&&_0x502316['push'](_0x59a90b);}),_0x502316['sort']((_0x3874c6,_0x36fb6a)=>{const _0x4349f2={'model':0x0,'mesh':0x1,'config':0x2},_0x2cac7d=_0x4349f2[_0x3874c6['category']]??0x63,_0x5b338f=_0x4349f2[_0x36fb6a['category']]??0x63;return _0x2cac7d!==_0x5b338f?_0x2cac7d-_0x5b338f:_0x3874c6['name']['localeCompare'](_0x36fb6a['name']);}),_0x502316;}async['loadFileOrMesh'](_0x2c7f1a){'model'===_0x2c7f1a['category']?await this['loadFile'](_0x2c7f1a['file']):'mesh'===_0x2c7f1a['category']&&await this['loadMeshAsModel'](_0x2c7f1a['file'],_0x2c7f1a['name']);}async['loadFile'](_0x59528d){var _0x542217,_0x1ed6de,_0x5cc50a,_0xb7c523,_0x296e50,_0x36c73e;this['currentModelFile']=_0x59528d;try{const _0x5dea1c=_0x59528d['name']['toLowerCase']();let _0x2992bc=_0x59528d['name'];for(const [_0x52b039,_0x2f5107]of this['fileMap']['entries']())if(_0x2f5107===_0x59528d){_0x2992bc=_0x52b039;break;}let _0x3db0f7=null,_0xaa4a3a=null,_0x51ba8e=0x1/0x0,_0x3d9bd3=null;for(const [_0x11a020,_0x420e2f]of this['fileMap']['entries']())if('vr_configs.yml'===_0x420e2f['name']||_0x11a020['endsWith']('/vr_configs.yml')||'vr_configs.yml'===_0x11a020){const _0x1044a0=(_0x11a020['match'](/\//g)||[])['length'];_0x1044a0<_0x51ba8e&&(_0x51ba8e=_0x1044a0,_0xaa4a3a=_0x420e2f,_0x3d9bd3=_0x11a020);}if(_0xaa4a3a)try{_0x3db0f7=await dt(_0xaa4a3a);}catch(_0x32d4fb){}if(_0x5dea1c['endsWith']('.usd')||_0x5dea1c['endsWith']('.usda')||_0x5dea1c['endsWith']('.usdc')||_0x5dea1c['endsWith']('.usdz')){if(!this['usdViewerManager']&&this['usdViewerInitializer'])try{await this['usdViewerInitializer']();}catch(_0x58512f){return;}0x0===this['fileMap']['size']&&this['fileMap']['set'](_0x59528d['name'],_0x59528d);const _0x333da6=await Ei['loadModel']('usd',null,_0x2992bc,this['fileMap'],_0x59528d,{'usdViewerManager':this['usdViewerManager']});return null==(_0x542217=this['onModelLoaded'])||_0x542217['call'](this,_0x333da6,_0x59528d,!0x1,null),null==(_0x1ed6de=document['getElementById']('drop-zone'))||_0x1ed6de['classList']['remove']('show'),void(null==(_0x5cc50a=document['getElementById']('drop-zone'))||_0x5cc50a['classList']['remove']('drag-over'));}const _0xda0a5d=await dt(_0x59528d);if(this['isUSDCBinaryContent'](_0xda0a5d))return;const _0x196985=Ei['detectFileType'](_0x59528d['name'],_0xda0a5d);if(!_0x196985)return;0x0===this['fileMap']['size']&&this['fileMap']['set'](_0x59528d['name'],_0x59528d);const _0x4bbed1=await Ei['loadModel'](_0x196985,_0xda0a5d,_0x2992bc,this['fileMap'],_0x59528d,{'usdViewerManager':this['usdViewerManager'],'vrConfigContent':_0x3db0f7});null==(_0xb7c523=this['onModelLoaded'])||_0xb7c523['call'](this,_0x4bbed1,_0x59528d,!0x1,null),null==(_0x296e50=document['getElementById']('drop-zone'))||_0x296e50['classList']['remove']('show'),null==(_0x36c73e=document['getElementById']('drop-zone'))||_0x36c73e['classList']['remove']('drag-over');}catch(_0x1a30d4){_0x1a30d4['message']&&(_0x1a30d4['message']['includes']('USDC')||_0x1a30d4['message']['includes']('binary\x20format'));const _0x34d28c=document['getElementById']('canvas-snapshot');(null==_0x34d28c?void 0x0:_0x34d28c['parentNode'])&&_0x34d28c['parentNode']['removeChild'](_0x34d28c);}}['isUSDCBinaryContent'](_0x3ae0fd){if(!_0x3ae0fd||'string'!=typeof _0x3ae0fd)return!0x1;if(_0x3ae0fd['startsWith']('PXR-USDC'))return!0x0;if((_0x3ae0fd['substring'](0x0,0x64)['match'](/\x00/g)||[])['length']>0xa)return!0x0;if(_0x3ae0fd['includes']('#usda')||_0x3ae0fd['includes']('def\x20')&&_0x3ae0fd['includes']('{'))return!0x1;const _0x1060b4=_0x3ae0fd['charCodeAt'](0x0);return _0x1060b4<0x20&&0xa!==_0x1060b4&&0xd!==_0x1060b4&&0x9!==_0x1060b4&&0x20!==_0x1060b4;}['createLoadingSnapshot'](){const _0x5526db=document['getElementById']('canvas');if(!_0x5526db)return null;try{const _0x1637be=_0x5526db['toDataURL']('image/png'),_0x461160=document['createElement']('div');_0x461160['id']='canvas-snapshot',_0x461160['style']['cssText']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20position:\x20absolute;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20top:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20left:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width:\x20100%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height:\x20100%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background-image:\x20url('+_0x1637be+');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background-size:\x20cover;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background-position:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background-color:\x20var(--bg-primary);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background-repeat:\x20no-repeat;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20z-index:\x202;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pointer-events:\x20none;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20';const _0x2c5ee8=document['getElementById']('canvas-container');return _0x2c5ee8&&_0x2c5ee8['appendChild'](_0x461160),_0x461160;}catch(_0x10a083){return null;}}['removeLoadingSnapshot'](_0x14136b){_0x14136b&&_0x14136b['parentNode']&&(_0x14136b['style']['transition']='opacity\x200.3s\x20ease',_0x14136b['style']['opacity']='0',setTimeout(()=>{_0x14136b['parentNode']&&_0x14136b['parentNode']['removeChild'](_0x14136b);},0x12c));}async['loadMeshAsModel'](_0x18658e,_0x3f015d){var _0x26f272;try{const _0x467859=await Ei['loadMeshFileDirect'](_0x18658e,_0x3f015d);if(!_0x467859)throw new Error(window['i18n']['t']('cannotLoadMesh'));_0x467859['traverse'](_0x282538=>{var _0x316642;if(_0x282538['isMesh']){if('MeshBasicMaterial'===(null==(_0x316642=_0x282538['material'])?void 0x0:_0x316642['type'])){const _0x8115a7=_0x282538['material'];_0x282538['material']=new _0xa4876a({'color':_0x8115a7['color'],'map':_0x8115a7['map'],'transparent':_0x8115a7['transparent'],'opacity':_0x8115a7['opacity'],'side':_0x8115a7['side'],'shininess':0x1e}),_0x282538['material']['map']&&(_0x282538['material']['map']['colorSpace']=_0x50e39a);}_0x282538['castShadow']=!0x0,_0x282538['receiveShadow']=!0x0;}});const _0x138b10={'name':_0x3f015d,'rootLink':'mesh_root','links':new Map([['mesh_root',{'name':'mesh_root','threeObject':_0x467859,'visuals':[{'threeObject':_0x467859,'geometry':{'mesh':_0x3f015d}}],'inertial':null}]]),'joints':new Map(),'threeObject':_0x467859};this['currentModelFile']=_0x18658e,null==(_0x26f272=this['onModelLoaded'])||_0x26f272['call'](this,_0x138b10,_0x18658e,!0x0,null);}catch(_0x453e3e){const _0x4a95e7=document['getElementById']('canvas-snapshot');(null==_0x4a95e7?void 0x0:_0x4a95e7['parentNode'])&&_0x4a95e7['parentNode']['removeChild'](_0x4a95e7);}}['getFileMap'](){return this['fileMap'];}['getAvailableModels'](){return this['availableModels'];}['getCurrentModelFile'](){return this['currentModelFile'];}}class zi{static['updateURDFJointLimits'](_0x466506,_0x11eb6d,_0x4b4493){try{const _0x3c1340=new RegExp('<joint[^>]*name=\x22'+_0x11eb6d['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&')+'\x22[^>]*>([\x5cs\x5cS]*?)</joint>','g')['exec'](_0x466506);if(!_0x3c1340)return _0x466506;const _0xdc4bec=_0x3c1340[0x0];let _0x8d546=_0xdc4bec;const _0x332715=/<limit([^>]*)>/,_0x404382=_0x332715['exec'](_0xdc4bec);if(_0x404382){let _0x2cdb43=_0x404382[0x0];const _0x2273df=_0x404382[0x1];void 0x0!==_0x4b4493['lower']&&null!==_0x4b4493['lower']&&(_0x2cdb43=_0x2273df['includes']('lower=')?_0x2cdb43['replace'](/lower="[^"]*"/,'lower=\x22'+_0x4b4493['lower']+'\x22'):_0x2cdb43['replace'](/>$/,'\x20lower=\x22'+_0x4b4493['lower']+'\x22>')),void 0x0!==_0x4b4493['upper']&&null!==_0x4b4493['upper']&&(_0x2cdb43=_0x2273df['includes']('upper=')?_0x2cdb43['replace'](/upper="[^"]*"/,'upper=\x22'+_0x4b4493['upper']+'\x22'):_0x2cdb43['replace'](/>$/,'\x20upper=\x22'+_0x4b4493['upper']+'\x22>')),void 0x0!==_0x4b4493['effort']&&null!==_0x4b4493['effort']&&(_0x2cdb43=_0x2273df['includes']('effort=')?_0x2cdb43['replace'](/effort="[^"]*"/,'effort=\x22'+_0x4b4493['effort']+'\x22'):_0x2cdb43['replace'](/>$/,'\x20effort=\x22'+_0x4b4493['effort']+'\x22>')),void 0x0!==_0x4b4493['velocity']&&null!==_0x4b4493['velocity']&&(_0x2cdb43=_0x2273df['includes']('velocity=')?_0x2cdb43['replace'](/velocity="[^"]*"/,'velocity=\x22'+_0x4b4493['velocity']+'\x22'):_0x2cdb43['replace'](/>$/,'\x20velocity=\x22'+_0x4b4493['velocity']+'\x22>')),_0x8d546=_0xdc4bec['replace'](_0x332715,_0x2cdb43);}else{const _0x5ba33f=[];if(void 0x0!==_0x4b4493['lower']&&null!==_0x4b4493['lower']&&_0x5ba33f['push']('lower=\x22'+_0x4b4493['lower']+'\x22'),void 0x0!==_0x4b4493['upper']&&null!==_0x4b4493['upper']&&_0x5ba33f['push']('upper=\x22'+_0x4b4493['upper']+'\x22'),void 0x0!==_0x4b4493['effort']&&null!==_0x4b4493['effort']&&_0x5ba33f['push']('effort=\x22'+_0x4b4493['effort']+'\x22'),void 0x0!==_0x4b4493['velocity']&&null!==_0x4b4493['velocity']&&_0x5ba33f['push']('velocity=\x22'+_0x4b4493['velocity']+'\x22'),_0x5ba33f['length']>0x0){const _0x3d64d5='\x20\x20\x20\x20<limit\x20'+_0x5ba33f['join']('\x20')+'/>';_0x8d546=_0xdc4bec['replace']('</joint>',_0x3d64d5+'\x0a\x20\x20</joint>');}}return _0x466506['replace'](_0xdc4bec,_0x8d546);}catch(_0x876163){return _0x466506;}}static['updateMultipleJointLimits'](_0x579306,_0x532931){let _0x5e78b7=_0x579306;for(let [_0x3cf032,_0x5a247b]of _0x532931['entries']())_0x5e78b7=this['updateURDFJointLimits'](_0x5e78b7,_0x3cf032,_0x5a247b);return _0x5e78b7;}}class Ni{constructor(_0x508539){this['sceneManager']=_0x508539,this['angleUnit']='rad',this['initialJointValues']=new Map(),this['codeEditorManager']=null,this['isUpdatingFromEditor']=!0x1,this['onJointChange']=null,this['selectedJoints']=new Set(),this['currentModel']=null,this['_allSelected']=!0x1,this['showMimicJoints']=!0x1;}['setCodeEditorManager'](_0x187cb5){this['codeEditorManager']=_0x187cb5;}['updateEditorXML'](_0x4486b5,_0x507246){if(this['isUpdatingFromEditor'])return;if(!this['codeEditorManager'])return;const _0x5126d2=this['codeEditorManager']['getEditor']();if(!_0x5126d2)return;const _0x53c960=_0x5126d2['getValue']();if(_0x53c960&&0x0!==_0x53c960['trim']()['length']&&_0x53c960['includes']('<robot')){this['isUpdatingFromEditor']=!0x0;try{const _0x199830=zi['updateURDFJointLimits'](_0x53c960,_0x4486b5,_0x507246);if(_0x199830!==_0x53c960){const _0x1e3240=_0x5126d2['view']['state']['selection']['main']['head'];_0x5126d2['setValue'](_0x199830);try{const _0x5af1ce=_0x5126d2['view']['state']['doc']['length'],_0x61b198=Math['min'](_0x1e3240,_0x5af1ce);_0x5126d2['view']['dispatch']({'selection':{'anchor':_0x61b198,'head':_0x61b198}});}catch(_0x2324b6){}}}catch(_0x4de823){}finally{setTimeout(()=>{this['isUpdatingFromEditor']=!0x1;},0x64);}}}['setupJointControls'](_0x5394fe){const _0x427187=document['getElementById']('joint-controls');if(!_0x427187)return;if(_0x427187['innerHTML']='',this['selectedJoints']['clear'](),this['_allSelected']=!0x1,this['currentModel']=_0x5394fe,this['updateButtonStates'](),!_0x5394fe||!_0x5394fe['joints']||0x0===_0x5394fe['joints']['size']){const _0xefffa0=document['createElement']('div');return _0xefffa0['className']='empty-state',_0xefffa0['textContent']=window['i18n']['t']('noModel'),void _0x427187['appendChild'](_0xefffa0);}let _0x46c146=0x0;if(_0x5394fe['joints']['forEach'](_0x5c3423=>{'fixed'!==_0x5c3423['type']&&_0x46c146++;}),0x0===_0x46c146){const _0x4a7e38=document['createElement']('div');return _0x4a7e38['className']='empty-state',_0x4a7e38['textContent']=window['i18n']['t']('noControllableJoints'),void _0x427187['appendChild'](_0x4a7e38);}this['initialJointValues']['clear'](),_0x5394fe['joints']['forEach']((_0x428daf,_0x313355)=>{if('fixed'!==_0x428daf['type']){const _0x4633b6=_0x428daf['limits']||{},_0x2680fc=void 0x0!==_0x4633b6['lower']?_0x4633b6['lower']:-Math['PI'],_0x2bfc97=void 0x0!==_0x4633b6['upper']?_0x4633b6['upper']:Math['PI'],_0x3439f1=void 0x0!==_0x428daf['currentValue']?_0x428daf['currentValue']:(_0x2680fc+_0x2bfc97)/0x2;this['initialJointValues']['set'](_0x313355,_0x3439f1);}}),_0x5394fe['joints']['forEach'](_0x436d38=>{if('fixed'===_0x436d38['type'])return;if(_0x436d38['mimic']&&!this['showMimicJoints'])return;const _0x162ed4=this['createJointControl'](_0x436d38,_0x5394fe);_0x427187['appendChild'](_0x162ed4);});}['setShowMimicJoints'](_0x1f8909){this['showMimicJoints']=_0x1f8909,this['currentModel']&&this['setupJointControls'](this['currentModel']);}['createJointControl'](_0x165e47,_0x432339){var _0x43d9ce,_0x2eef97;const _0x5b15dd=document['createElement']('div');_0x5b15dd['className']='joint-control',_0x5b15dd['setAttribute']('data-joint-name',_0x165e47['name']);const _0x4cfa9d=this['createJointCheckbox'](_0x165e47['name']);_0x5b15dd['appendChild'](_0x4cfa9d);const _0xec9b8f=document['createElement']('div');_0xec9b8f['className']='joint-control-content';const _0x3e5d2f=document['createElement']('div');_0x3e5d2f['className']='joint-header';const _0x40677e=document['createElement']('div');if(_0x40677e['className']='joint-name',_0x40677e['textContent']=_0x165e47['name'],_0x40677e['title']=_0x165e47['name'],_0x3e5d2f['appendChild'](_0x40677e),_0x165e47['mimic']){const _0x427a22=document['createElement']('span');_0x427a22['className']='joint-mimic-badge',_0x427a22['textContent']='mimic',_0x427a22['title']='mimic:\x20'+_0x165e47['mimic']['joint']+'\x20(×'+_0x165e47['mimic']['multiplier']+'\x20+\x20'+_0x165e47['mimic']['offset']+')',_0x3e5d2f['appendChild'](_0x427a22);}const _0x10a927=document['createElement']('div');_0x10a927['className']='joint-slider-row';const _0x3e1792=_0x165e47['limits']||{};let _0xa47b2=void 0x0!==_0x3e1792['lower']?_0x3e1792['lower']:-Math['PI'],_0x499feb=void 0x0!==_0x3e1792['upper']?_0x3e1792['upper']:Math['PI'];'continuous'===_0x165e47['type']&&(_0xa47b2=-Math['PI'],_0x499feb=Math['PI']);const _0x381bd8=document['createElement']('input');_0x381bd8['type']='range',_0x381bd8['className']='joint-slider',_0x381bd8['setAttribute']('data-joint',_0x165e47['name']),_0x381bd8['min']=_0xa47b2,_0x381bd8['max']=_0x499feb;let _0x565c62=void 0x0!==_0x165e47['currentValue']?_0x165e47['currentValue']:(_0xa47b2+_0x499feb)/0x2;_0x381bd8['value']=_0x565c62,_0x381bd8['step']=(_0x499feb-_0xa47b2)/0x3e8,void 0x0===_0x165e47['currentValue']&&(_0x165e47['currentValue']=_0x565c62);const _0x2ba373=document['createElement']('input');_0x2ba373['type']='number',_0x2ba373['className']='joint-limit-min\x20editable-limit',_0x2ba373['step']='0.01',_0x2ba373['title']=window['i18n']['t']('clickToEditMin');const _0x2decfb=document['createElement']('input');_0x2decfb['type']='number',_0x2decfb['className']='joint-limit-max\x20editable-limit',_0x2decfb['step']='0.01',_0x2decfb['title']=window['i18n']['t']('clickToEditMax');const _0x381156=document['createElement']('input');_0x381156['type']='number',_0x381156['className']='joint-value-input',_0x381156['setAttribute']('data-joint-input',_0x165e47['name']),_0x381156['step']='0.01';const _0x55cd61=document['createElement']('span');_0x55cd61['className']='joint-value-unit',_0x55cd61['textContent']='deg'===this['angleUnit']?'°':'rad';const _0xce543e=()=>{const _0x29ea3a=parseFloat(_0x381bd8['min']),_0x4f8d63=parseFloat(_0x381bd8['max']);'deg'===this['angleUnit']?(_0x2ba373['value']=(0xb4*_0x29ea3a/Math['PI'])['toFixed'](0x1),_0x2decfb['value']=(0xb4*_0x4f8d63/Math['PI'])['toFixed'](0x1)):(_0x2ba373['value']=_0x29ea3a['toFixed'](0x2),_0x2decfb['value']=_0x4f8d63['toFixed'](0x2));},_0x520634=()=>{const _0x1a4586=parseFloat(_0x381bd8['value']);_0x381156['value']='deg'===this['angleUnit']?(0xb4*_0x1a4586/Math['PI'])['toFixed'](0x1):_0x1a4586['toFixed'](0x2);};_0xce543e(),_0x520634(),_0x2ba373['addEventListener']('change',()=>{let _0x176852=parseFloat(_0x2ba373['value']);if(isNaN(_0x176852))return void _0xce543e();let _0x4ea4c5='deg'===this['angleUnit']?_0x176852*Math['PI']/0xb4:_0x176852;if(_0x4ea4c5>=parseFloat(_0x381bd8['max']))return void _0xce543e();_0x381bd8['min']=_0x4ea4c5,_0x381bd8['step']=(_0x381bd8['max']-_0x381bd8['min'])/0x3e8,_0x165e47['limits']&&(_0x165e47['limits']['lower']=_0x4ea4c5),this['updateEditorXML'](_0x165e47['name'],{'lower':_0x4ea4c5});parseFloat(_0x381bd8['value'])<_0x4ea4c5&&(_0x381bd8['value']=_0x4ea4c5,Ei['setJointAngle'](_0x432339,_0x165e47['name'],_0x4ea4c5),_0x165e47['currentValue']=_0x4ea4c5,_0x520634(),this['sceneManager']['redraw'](),this['sceneManager']['render'](),this['sceneManager']['onMeasurementUpdate']&&this['sceneManager']['onMeasurementUpdate']()),_0xce543e();}),_0x2decfb['addEventListener']('change',()=>{let _0xa4faaf=parseFloat(_0x2decfb['value']);if(isNaN(_0xa4faaf))return void _0xce543e();let _0x22e9b7='deg'===this['angleUnit']?_0xa4faaf*Math['PI']/0xb4:_0xa4faaf;if(_0x22e9b7<=parseFloat(_0x381bd8['min']))return void _0xce543e();_0x381bd8['max']=_0x22e9b7,_0x381bd8['step']=(_0x381bd8['max']-_0x381bd8['min'])/0x3e8,_0x165e47['limits']&&(_0x165e47['limits']['upper']=_0x22e9b7),this['updateEditorXML'](_0x165e47['name'],{'upper':_0x22e9b7});parseFloat(_0x381bd8['value'])>_0x22e9b7&&(_0x381bd8['value']=_0x22e9b7,Ei['setJointAngle'](_0x432339,_0x165e47['name'],_0x22e9b7),_0x165e47['currentValue']=_0x22e9b7,_0x520634(),this['sceneManager']['redraw'](),this['sceneManager']['render'](),this['sceneManager']['onMeasurementUpdate']&&this['sceneManager']['onMeasurementUpdate']()),_0xce543e();});const _0x4bc8e2=document['createElement']('div');_0x4bc8e2['className']='joint-slider-container',_0x4bc8e2['appendChild'](_0x381bd8);const _0x3b9b14=document['createElement']('div');_0x3b9b14['className']='joint-value-input-container',_0x3b9b14['appendChild'](_0x381156),_0x3b9b14['appendChild'](_0x55cd61),_0x10a927['appendChild'](_0x2ba373),_0x10a927['appendChild'](_0x4bc8e2),_0x10a927['appendChild'](_0x2decfb),_0x10a927['appendChild'](_0x3b9b14);if('urdf'===((null==(_0x2eef97=null==(_0x43d9ce=_0x432339['threeObject'])?void 0x0:_0x43d9ce['userData'])?void 0x0:_0x2eef97['type'])||'urdf')){const _0x4bfbdb=document['createElement']('div');_0x4bfbdb['className']='joint-extra-field';const _0x3e7987=document['createElement']('label');_0x3e7987['textContent']='τ:',_0x3e7987['className']='joint-extra-label',_0x3e7987['title']='Effort\x20(max\x20force/torque)';const _0x319c94=document['createElement']('input');_0x319c94['type']='number',_0x319c94['className']='joint-extra-input',_0x319c94['step']='0.1';const _0x5896d4=null!==_0x3e1792['effort']&&void 0x0!==_0x3e1792['effort']?_0x3e1792['effort']:'';_0x319c94['value']=_0x5896d4,_0x319c94['placeholder']='-',_0x319c94['title']='Effort\x20(max\x20force/torque)',_0x4bfbdb['appendChild'](_0x3e7987),_0x4bfbdb['appendChild'](_0x319c94);const _0x453288=document['createElement']('div');_0x453288['className']='joint-extra-field';const _0x195029=document['createElement']('label');_0x195029['textContent']='v:',_0x195029['className']='joint-extra-label',_0x195029['title']='Velocity\x20(max\x20speed)';const _0x27c653=document['createElement']('input');_0x27c653['type']='number',_0x27c653['className']='joint-extra-input',_0x27c653['step']='0.1';const _0x417016=null!==_0x3e1792['velocity']&&void 0x0!==_0x3e1792['velocity']?_0x3e1792['velocity']:'';_0x27c653['value']=_0x417016,_0x27c653['placeholder']='-',_0x27c653['title']='Velocity\x20(max\x20speed)',_0x453288['appendChild'](_0x195029),_0x453288['appendChild'](_0x27c653),_0x3e5d2f['appendChild'](_0x4bfbdb),_0x3e5d2f['appendChild'](_0x453288),_0x319c94['addEventListener']('change',()=>{let _0x3aabca=parseFloat(_0x319c94['value']);isNaN(_0x3aabca)||''===_0x319c94['value']?_0x165e47['limits']?_0x165e47['limits']['effort']=null:_0x165e47['limits']={'lower':_0xa47b2,'upper':_0x499feb,'effort':null,'velocity':_0x3e1792['velocity']}:(_0x165e47['limits']?_0x165e47['limits']['effort']=_0x3aabca:_0x165e47['limits']={'lower':_0xa47b2,'upper':_0x499feb,'effort':_0x3aabca,'velocity':_0x3e1792['velocity']},this['updateEditorXML'](_0x165e47['name'],{'effort':_0x3aabca}));}),_0x27c653['addEventListener']('change',()=>{let _0x421543=parseFloat(_0x27c653['value']);isNaN(_0x421543)||''===_0x27c653['value']?_0x165e47['limits']?_0x165e47['limits']['velocity']=null:_0x165e47['limits']={'lower':_0xa47b2,'upper':_0x499feb,'effort':_0x3e1792['effort'],'velocity':null}:(_0x165e47['limits']?_0x165e47['limits']['velocity']=_0x421543:_0x165e47['limits']={'lower':_0xa47b2,'upper':_0x499feb,'effort':_0x3e1792['effort'],'velocity':_0x421543},this['updateEditorXML'](_0x165e47['name'],{'velocity':_0x421543}));});}return _0x381bd8['addEventListener']('mousedown',()=>{this['sceneManager']['axesManager']['showOnlyJointAxis'](_0x165e47);}),_0x381bd8['addEventListener']('mouseup',()=>{this['sceneManager']['axesManager']['restoreAllJointAxes']();}),_0xec9b8f['appendChild'](_0x3e5d2f),_0xec9b8f['appendChild'](_0x10a927),_0x5b15dd['appendChild'](_0xec9b8f),_0x381bd8['addEventListener']('input',()=>{const _0x155e62=parseFloat(_0x381bd8['value']);Ei['setJointAngle'](_0x432339,_0x165e47['name'],_0x155e62),_0x165e47['currentValue']=_0x155e62,_0x520634(),this['sceneManager']['constraintManager']&&this['sceneManager']['constraintManager']['applyConstraints'](_0x432339,_0x165e47),this['onJointChange']&&this['onJointChange'](_0x432339),_0x381bd8['_pendingRender']||(_0x381bd8['_pendingRender']=!0x0,requestAnimationFrame(()=>{this['sceneManager']['redraw'](),this['sceneManager']['render'](),this['sceneManager']['onMeasurementUpdate']&&this['sceneManager']['onMeasurementUpdate'](),_0x381bd8['_pendingRender']=!0x1;}));}),_0x381156['addEventListener']('change',()=>{let _0xb375a1=parseFloat(_0x381156['value']);if(isNaN(_0xb375a1))return void _0x520634();let _0x52f532='deg'===this['angleUnit']?_0xb375a1*Math['PI']/0xb4:_0xb375a1;const _0xcedf69=parseFloat(_0x381bd8['min']),_0x3c4bb9=parseFloat(_0x381bd8['max']);_0x52f532=Math['max'](_0xcedf69,Math['min'](_0x3c4bb9,_0x52f532)),_0x381bd8['value']=_0x52f532,Ei['setJointAngle'](_0x432339,_0x165e47['name'],_0x52f532),_0x165e47['currentValue']=_0x52f532,this['sceneManager']['constraintManager']&&this['sceneManager']['constraintManager']['applyConstraints'](_0x432339,_0x165e47),_0x520634(),this['sceneManager']['redraw'](),this['sceneManager']['render'](),this['sceneManager']['onMeasurementUpdate']&&this['sceneManager']['onMeasurementUpdate']();}),_0x5b15dd['_updateDisplay']=()=>{_0x520634(),_0xce543e(),_0x55cd61['textContent']='deg'===this['angleUnit']?'°':'rad';},_0x5b15dd;}['setAngleUnit'](_0x5133d1){this['angleUnit']=_0x5133d1;document['querySelectorAll']('.joint-control')['forEach'](_0x53cf16=>{_0x53cf16['_updateDisplay']&&_0x53cf16['_updateDisplay']();});}['resetAllJoints'](_0x3fb3f4){_0x3fb3f4&&_0x3fb3f4['joints']&&(_0x3fb3f4['joints']['forEach']((_0x184c57,_0x162750)=>{if('fixed'!==_0x184c57['type']){let _0x4b2ffa=this['initialJointValues']['get'](_0x162750);if(void 0x0===_0x4b2ffa){const _0x36d028=_0x184c57['limits']||{},_0x4e1d83=void 0x0!==_0x36d028['lower']?_0x36d028['lower']:-Math['PI'],_0x2db7c6=void 0x0!==_0x36d028['upper']?_0x36d028['upper']:Math['PI'];_0x4b2ffa=void 0x0!==_0x184c57['currentValue']?_0x184c57['currentValue']:(_0x4e1d83+_0x2db7c6)/0x2;}Ei['setJointAngle'](_0x3fb3f4,_0x162750,_0x4b2ffa,!0x0),_0x184c57['currentValue']=_0x4b2ffa;const _0x405cbf=document['querySelector']('input.joint-slider[data-joint=\x22'+_0x162750+'\x22]');_0x405cbf&&(_0x405cbf['value']=_0x4b2ffa);const _0x585e07=document['querySelector']('#unit-deg.active')?'deg':'rad',_0x58e76b=document['querySelector']('input[data-joint-input=\x22'+_0x162750+'\x22]');_0x58e76b&&(_0x58e76b['value']='deg'===_0x585e07?(0xb4*_0x4b2ffa/Math['PI'])['toFixed'](0x2):_0x4b2ffa['toFixed'](0x4));}}),this['sceneManager']['render'](),this['sceneManager']['onMeasurementUpdate']&&this['sceneManager']['onMeasurementUpdate']());}['updateAllSliderLimits'](_0x527758,_0x2356d0){_0x527758&&document['querySelectorAll']('.joint-slider')['forEach'](_0x43907f=>{const _0x223515=_0x43907f['getAttribute']('data-joint'),_0x2c8c1c=_0x527758['joints']['get'](_0x223515);if(_0x2c8c1c&&'fixed'!==_0x2c8c1c['type']){if(_0x2356d0)_0x43907f['min']=0x2*-Math['PI'],_0x43907f['max']=0x2*Math['PI'],_0x43907f['step']=0.01;else{const _0x54935e=_0x2c8c1c['limits']||{},_0x5a1dfe=void 0x0!==_0x54935e['lower']?_0x54935e['lower']:-Math['PI'],_0xbfce34=void 0x0!==_0x54935e['upper']?_0x54935e['upper']:Math['PI'];'continuous'===_0x2c8c1c['type']?(_0x43907f['min']=-Math['PI'],_0x43907f['max']=Math['PI']):(_0x43907f['min']=_0x5a1dfe,_0x43907f['max']=_0xbfce34),_0x43907f['step']=(_0x43907f['max']-_0x43907f['min'])/0x3e8;}const _0x1a7658=_0x43907f['closest']('.joint-control');_0x1a7658&&_0x1a7658['_updateDisplay']&&_0x1a7658['_updateDisplay']();}});}['createJointCheckbox'](_0x5e1532){const _0x299c98=document['createElement']('div');_0x299c98['className']='joint-checkbox-container';const _0x367d43=document['createElement']('input');return _0x367d43['type']='checkbox',_0x367d43['className']='joint-checkbox',_0x367d43['id']='checkbox-'+_0x5e1532,_0x367d43['setAttribute']('data-joint',_0x5e1532),_0x367d43['addEventListener']('change',_0x542c15=>{_0x542c15['target']['checked']?this['selectedJoints']['add'](_0x5e1532):this['selectedJoints']['delete'](_0x5e1532),this['_syncAllSelectedState'](),this['updateButtonStates']();}),_0x299c98['appendChild'](_0x367d43),_0x299c98;}['updateButtonStates'](){const _0x5be01f=document['querySelector']('.apply-angles-btn'),_0x4c2638=document['querySelector']('.set-home-btn'),_0x5441db=document['querySelector']('.reset-home-btn'),_0x194477=document['getElementById']('select-all-btn');if(_0x5be01f){const _0x403f54=this['selectedJoints']['size']>0x0;_0x5be01f['disabled']=!_0x403f54,_0x5be01f['title']=_0x403f54?window['i18n']['t']('applyAngles'):window['i18n']['t']('noJointsSelected');}const _0x1cc3df=this['currentModel']&&this['currentModel']['joints']&&this['currentModel']['joints']['size']>0x0;if(_0x4c2638&&(_0x4c2638['disabled']=!_0x1cc3df),_0x5441db&&(_0x5441db['disabled']=!_0x1cc3df),_0x194477){const _0x4bb5b4=this['_getControllableJointCount']();_0x194477['disabled']=!_0x1cc3df||0x0===_0x4bb5b4,this['_allSelected']?_0x194477['classList']['add']('active'):_0x194477['classList']['remove']('active');}}['_getControllableJointCount'](){if(!this['currentModel']||!this['currentModel']['joints'])return 0x0;let _0x2a312d=0x0;return this['currentModel']['joints']['forEach'](_0x1d6e33=>{'fixed'!==_0x1d6e33['type']&&_0x2a312d++;}),_0x2a312d;}['_syncAllSelectedState'](){const _0x4ec85e=document['querySelectorAll']('.joint-checkbox');if(0x0===_0x4ec85e['length'])return void(this['_allSelected']=!0x1);const _0x3dce82=Array['from'](_0x4ec85e)['every'](_0x11a80a=>_0x11a80a['checked']);this['_allSelected']=_0x3dce82;}['getSelectedJointsInOrder'](){const _0x2df818=[];return document['querySelectorAll']('.joint-control')['forEach'](_0x45c430=>{const _0x434cf0=_0x45c430['getAttribute']('data-joint-name');_0x434cf0&&this['selectedJoints']['has'](_0x434cf0)&&_0x2df818['push'](_0x434cf0);}),_0x2df818;}['handleApplyAngles'](){if(0x0===this['selectedJoints']['size'])return void this['showToast'](window['i18n']['t']('noJointsSelected'),'warning');if(!this['currentModel'])return void this['showToast'](window['i18n']['t']('noModel'),'error');const _0x12112f=this['getSelectedJointsInOrder'](),_0x1b448e=[];_0x12112f['forEach'](_0x5a1708=>{const _0x4611a9=document['querySelector']('input.joint-slider[data-joint=\x22'+_0x5a1708+'\x22]');if(_0x4611a9)_0x1b448e['push'](parseFloat(parseFloat(_0x4611a9['value'])['toFixed'](0x2)));else{const _0x9db5c3=this['currentModel']['joints']['get'](_0x5a1708);if(_0x9db5c3){const _0x467808=void 0x0!==_0x9db5c3['currentValue']?_0x9db5c3['currentValue']:0x0;_0x1b448e['push'](parseFloat(_0x467808['toFixed'](0x2)));}}}),this['showApplyDialog'](JSON['stringify'](_0x1b448e),_0x12112f['length']);}['handleSelectAll'](){const _0x111f9f=document['querySelectorAll']('.joint-checkbox');0x0!==_0x111f9f['length']&&(this['_allSelected']?(_0x111f9f['forEach'](_0x4cc752=>{_0x4cc752['checked']=!0x1;const _0x4b9c9b=_0x4cc752['getAttribute']('data-joint');_0x4b9c9b&&this['selectedJoints']['delete'](_0x4b9c9b);}),this['_allSelected']=!0x1):(_0x111f9f['forEach'](_0x4f2816=>{_0x4f2816['checked']=!0x0;const _0x1d62a4=_0x4f2816['getAttribute']('data-joint');_0x1d62a4&&this['selectedJoints']['add'](_0x1d62a4);}),this['_allSelected']=!0x0),this['updateButtonStates']());}['handleResetToHome'](){var _0x478674;if(!this['currentModel'])return;const _0xd50a51=(null==(_0x478674=this['currentModel']['userData'])?void 0x0:_0x478674['homePositions'])||{},_0x23f7a0=document['querySelector']('#unit-deg.active')?'deg':'rad';this['currentModel']['joints']['forEach']((_0x428727,_0x17e525)=>{if('fixed'===_0x428727['type'])return;const _0x146a1f=void 0x0!==_0xd50a51[_0x17e525]?_0xd50a51[_0x17e525]:0x0;Ei['setJointAngle'](this['currentModel'],_0x17e525,_0x146a1f),_0x428727['currentValue']=_0x146a1f;const _0x38d24c=document['querySelector']('input.joint-slider[data-joint=\x22'+_0x17e525+'\x22]');if(_0x38d24c){_0x38d24c['value']=_0x146a1f;const _0x1ffad9=parseFloat(_0x38d24c['min']),_0x2427fd=parseFloat(_0x38d24c['max']);_0x146a1f<_0x1ffad9&&(_0x38d24c['min']=_0x146a1f),_0x146a1f>_0x2427fd&&(_0x38d24c['max']=_0x146a1f);}const _0x3ae47b=document['querySelector']('input[data-joint-input=\x22'+_0x17e525+'\x22]');_0x3ae47b&&(_0x3ae47b['value']='deg'===_0x23f7a0?(0xb4*_0x146a1f/Math['PI'])['toFixed'](0x2):_0x146a1f['toFixed'](0x4));}),this['onJointChange']&&this['onJointChange'](this['currentModel']),requestAnimationFrame(()=>{this['sceneManager']['redraw'](),this['sceneManager']['render'](),this['sceneManager']['onMeasurementUpdate']&&this['sceneManager']['onMeasurementUpdate']();}),this['showToast'](window['i18n']['t']('resetToHomeSuccess'),'success');}['showApplyDialog'](_0x4d30ef,_0x1b105c){const _0x24532c=document['createElement']('div');_0x24532c['className']='apply-dialog-overlay';const _0x472758=document['createElement']('div');_0x472758['className']='apply-dialog';const _0x28c2b7=document['createElement']('div');_0x28c2b7['className']='apply-dialog-title',_0x28c2b7['textContent']=window['i18n']['t']('applyDialogTitle');const _0x4adf6b=document['createElement']('div');_0x4adf6b['className']='apply-dialog-hint',_0x4adf6b['textContent']=window['i18n']['t']('applyDialogHint');const _0x33bc57=document['createElement']('textarea');_0x33bc57['className']='apply-dialog-textarea',_0x33bc57['value']=_0x4d30ef,_0x33bc57['placeholder']='[0.0,\x200.0,\x200.0]';const _0x2fc75e=document['createElement']('div');_0x2fc75e['className']='apply-dialog-buttons';const _0x4853a1=document['createElement']('button');_0x4853a1['className']='apply-dialog-btn\x20secondary',_0x4853a1['textContent']=window['i18n']['t']('applyDialogCancel'),_0x4853a1['onclick']=()=>{document['body']['removeChild'](_0x24532c);};const _0x56873d=document['createElement']('button');_0x56873d['className']='apply-dialog-btn\x20primary',_0x56873d['textContent']=window['i18n']['t']('applyDialogApply'),_0x56873d['onclick']=()=>{const _0x471365=_0x33bc57['value']['trim']();this['applyAnglesFromText'](_0x471365,_0x1b105c)&&document['body']['removeChild'](_0x24532c);},_0x2fc75e['appendChild'](_0x4853a1),_0x2fc75e['appendChild'](_0x56873d),_0x472758['appendChild'](_0x28c2b7),_0x472758['appendChild'](_0x4adf6b),_0x472758['appendChild'](_0x33bc57),_0x472758['appendChild'](_0x2fc75e),_0x24532c['appendChild'](_0x472758),document['body']['appendChild'](_0x24532c),setTimeout(()=>{_0x33bc57['focus'](),_0x33bc57['select']();},0x64);const _0x48dcbe=_0x2e79b0=>{'Escape'===_0x2e79b0['key']&&(document['body']['contains'](_0x24532c)&&document['body']['removeChild'](_0x24532c),document['removeEventListener']('keydown',_0x48dcbe));};document['addEventListener']('keydown',_0x48dcbe),_0x24532c['addEventListener']('click',_0x3edee7=>{_0x3edee7['target']===_0x24532c&&(document['body']['removeChild'](_0x24532c),document['removeEventListener']('keydown',_0x48dcbe));});}['applyAnglesFromText'](_0xf4d83d,_0x31ab4c){if(!_0xf4d83d)return this['showToast'](window['i18n']['t']('invalidFormat'),'error'),!0x1;try{const _0x33457f=JSON['parse'](_0xf4d83d);if(!Array['isArray'](_0x33457f))return this['showToast'](window['i18n']['t']('invalidFormat'),'error'),!0x1;if(_0x33457f['length']!==_0x31ab4c){const _0x697821=window['i18n']['t']('countMismatch')['replace']('{expected}',_0x31ab4c)['replace']('{actual}',_0x33457f['length']);return this['showToast'](_0x697821,'error'),!0x1;}for(let _0x57c123=0x0;_0x57c123<_0x33457f['length'];_0x57c123++)if('number'!=typeof _0x33457f[_0x57c123]||isNaN(_0x33457f[_0x57c123]))return this['showToast'](window['i18n']['t']('invalidFormat'),'error'),!0x1;const _0x171d5b=this['getSelectedJointsInOrder']();_0x171d5b['forEach']((_0xdb734c,_0x259915)=>{const _0x404594=this['currentModel']['joints']['get'](_0xdb734c);if(_0x404594){const _0x6d5cbf=_0x33457f[_0x259915];Ei['setJointAngle'](this['currentModel'],_0xdb734c,_0x6d5cbf),_0x404594['currentValue']=_0x6d5cbf;const _0x39262f=document['querySelector']('input.joint-slider[data-joint=\x22'+_0xdb734c+'\x22]');_0x39262f&&(_0x39262f['value']=_0x6d5cbf);}}),this['sceneManager']['constraintManager']&&_0x171d5b['forEach'](_0xda1fbd=>{const _0x35a6ca=this['currentModel']['joints']['get'](_0xda1fbd);_0x35a6ca&&this['sceneManager']['constraintManager']['applyConstraints'](this['currentModel'],_0x35a6ca);});const _0x50cf50=document['querySelector']('#unit-deg.active')?'deg':'rad';_0x171d5b['forEach']((_0x3b30b4,_0x531553)=>{const _0x4f9528=this['currentModel']['joints']['get'](_0x3b30b4),_0x15d3ab=void 0x0!==(null==_0x4f9528?void 0x0:_0x4f9528['currentValue'])?_0x4f9528['currentValue']:_0x33457f[_0x531553],_0x2a4e15=document['querySelector']('input.joint-slider[data-joint=\x22'+_0x3b30b4+'\x22]');_0x2a4e15&&(_0x2a4e15['value']=_0x15d3ab);const _0x12d2bb=document['querySelector']('input[data-joint-input=\x22'+_0x3b30b4+'\x22]');_0x12d2bb&&(_0x12d2bb['value']='deg'===_0x50cf50?(0xb4*_0x15d3ab/Math['PI'])['toFixed'](0x2):_0x15d3ab['toFixed'](0x4));}),this['onJointChange']&&this['onJointChange'](this['currentModel']),requestAnimationFrame(()=>{this['sceneManager']['redraw'](),this['sceneManager']['render'](),this['sceneManager']['onMeasurementUpdate']&&this['sceneManager']['onMeasurementUpdate']();});const _0x16bcc4=window['i18n']['t']('applySuccess')['replace']('{count}',_0x33457f['length']);return this['showToast'](_0x16bcc4,'success'),!0x0;}catch(_0x134a93){return this['showToast'](window['i18n']['t']('invalidFormat'),'error'),!0x1;}}['showToast'](_0x451252,_0x31e47a='success'){const _0x3dc6de=document['createElement']('div');_0x3dc6de['className']='toast-notification\x20'+_0x31e47a,_0x3dc6de['textContent']=_0x451252,document['body']['appendChild'](_0x3dc6de),setTimeout(()=>{document['body']['contains'](_0x3dc6de)&&(_0x3dc6de['style']['animation']='slideInRight\x200.3s\x20ease-out\x20reverse',setTimeout(()=>{document['body']['contains'](_0x3dc6de)&&document['body']['removeChild'](_0x3dc6de);},0x12c));},0xbb8);}}class Ui{constructor(){this['panels']=new Map(),this['modelGraphOriginalTransform']=null,this['modelGraphView']=null;}['setModelGraphView'](_0x35f3de){this['modelGraphView']=_0x35f3de;}['registerPanel'](_0x317b46,_0x829175='.floating-panel-header'){const _0x2b9903=document['getElementById'](_0x317b46),_0x5e1b19=null==_0x2b9903?void 0x0:_0x2b9903['querySelector'](_0x829175);_0x2b9903&&_0x5e1b19&&(this['setupPanelDragAndResize'](_0x2b9903,_0x5e1b19),this['panels']['set'](_0x317b46,{'panel':_0x2b9903,'header':_0x5e1b19}));}['addCustomPanel'](_0x450f4b,_0x3ee803){const _0x38dbf1=document['getElementById']('floating-joints-panel');_0x38dbf1&&(_0x3ee803['id']=_0x450f4b,_0x3ee803['className']='floating-panel',_0x3ee803['style']['cssText']='position:\x20fixed;\x20top:\x20120px;\x20right:\x2020px;\x20width:\x20320px;\x20z-index:\x2051;',_0x38dbf1['parentNode']['insertBefore'](_0x3ee803,_0x38dbf1['nextSibling']),this['registerPanel'](_0x450f4b));}['setupPanelDragAndResize'](_0x8ec975,_0x47a91f){let _0x3373ef,_0x39aaf6,_0x5f016c,_0x3de619,_0x30872c,_0x3ce1c6,_0xe2fea3,_0x309006,_0x590423=!0x1,_0xf22ebb=!0x1,_0x34b5f2=null,_0x1f8a27=0x0,_0x2e06a2=0x0;const _0x2bfc78=()=>{const _0x1947db=document['querySelectorAll']('.floating-panel,\x20#code-editor-panel');let _0x27dce3=0x32;_0x1947db['forEach'](_0x1a58ac=>{const _0x293e3e=parseInt(window['getComputedStyle'](_0x1a58ac)['zIndex'])||0x32;_0x293e3e>_0x27dce3&&_0x1a58ac!==_0x8ec975&&(_0x27dce3=_0x293e3e);}),_0x8ec975['style']['zIndex']=_0x27dce3+0x1;};_0x8ec975['addEventListener']('mousemove',_0x291e4a=>{if(_0x590423||_0xf22ebb)return;const _0x1231d4=_0x8ec975['getBoundingClientRect'](),_0x5bc2c3=_0x291e4a['clientX']-_0x1231d4['left'],_0x1537a6=_0x291e4a['clientY']-_0x1231d4['top'];let _0x362d4e='default';_0x34b5f2=null;const _0x463027=_0x5bc2c3<0xc,_0x295aec=_0x5bc2c3>_0x1231d4['width']-0xc,_0x841204=_0x1537a6<0xc,_0x3b5a51=_0x1537a6>_0x1231d4['height']-0xc;_0x463027&&_0x841204?(_0x362d4e='nw-resize',_0x34b5f2='nw'):_0x295aec&&_0x841204?(_0x362d4e='ne-resize',_0x34b5f2='ne'):_0x463027&&_0x3b5a51?(_0x362d4e='sw-resize',_0x34b5f2='sw'):_0x295aec&&_0x3b5a51?(_0x362d4e='se-resize',_0x34b5f2='se'):_0x463027?(_0x362d4e='w-resize',_0x34b5f2='w'):_0x295aec?(_0x362d4e='e-resize',_0x34b5f2='e'):_0x841204?(_0x362d4e='n-resize',_0x34b5f2='n'):_0x3b5a51&&(_0x362d4e='s-resize',_0x34b5f2='s'),_0x8ec975['style']['cursor']=_0x362d4e;}),_0x8ec975['addEventListener']('mousedown',_0x32ca83=>{if(_0x2bfc78(),_0x32ca83['target']!==_0x47a91f&&!_0x47a91f['contains'](_0x32ca83['target'])&&_0x34b5f2){_0x32ca83['preventDefault'](),_0xf22ebb=!0x0,_0x8ec975['style']['transition']='none';const _0x53f9dc=_0x8ec975['getBoundingClientRect'](),_0x35550f=window['getComputedStyle'](_0x8ec975),_0x10de82=new DOMMatrixReadOnly(_0x35550f['transform']);_0x30872c=_0x53f9dc['width'],_0x3ce1c6=_0x53f9dc['height'],_0xe2fea3=_0x10de82['m41'],_0x309006=_0x10de82['m42'],_0x5f016c=_0x32ca83['clientX'],_0x3de619=_0x32ca83['clientY'],document['addEventListener']('mousemove',_0x5b92be),document['addEventListener']('mouseup',_0xec5f7b);}});const _0x29fa96=_0x60fc44=>{_0x590423&&(_0x60fc44['preventDefault'](),_0x3373ef=_0x60fc44['clientX']-_0x5f016c,_0x39aaf6=_0x60fc44['clientY']-_0x3de619,_0x1f8a27=_0x3373ef,_0x2e06a2=_0x39aaf6,_0x8ec975['style']['transform']='translate('+_0x3373ef+'px,\x20'+_0x39aaf6+'px)');},_0x5d441c=()=>{_0x590423=!0x1,_0x47a91f['style']['cursor']='move',_0x8ec975['style']['transition']='',document['removeEventListener']('mousemove',_0x29fa96),document['removeEventListener']('mouseup',_0x5d441c);},_0x5b92be=_0x5a7c65=>{_0xf22ebb&&(_0x5a7c65['preventDefault'](),_0x8ec975['_resizeFrame']||(_0x8ec975['_resizeFrame']=requestAnimationFrame(()=>{_0x8ec975['_resizeFrame']=null;const _0x41b01a=_0x5a7c65['clientX']-_0x5f016c,_0x1a6efd=_0x5a7c65['clientY']-_0x3de619;let _0x19c6b2=_0x30872c,_0x3055f2=_0x3ce1c6,_0x185337=_0xe2fea3,_0x2c8d76=_0x309006;if(_0x34b5f2['includes']('w')){const _0x335bd4=_0x30872c-_0x41b01a;_0x19c6b2=Math['max'](0x118,_0x335bd4),_0x185337=_0x335bd4>=0x118?_0xe2fea3+_0x41b01a:_0xe2fea3-(_0x30872c-0x118);}if(_0x34b5f2['includes']('e')&&(_0x19c6b2=Math['max'](0x118,_0x30872c+_0x41b01a),_0x185337=_0xe2fea3),_0x34b5f2['includes']('s')&&(_0x3055f2=Math['max'](0x64,_0x3ce1c6+_0x1a6efd),_0x2c8d76=_0x309006),_0x34b5f2['includes']('n')){const _0x30d532=_0x3ce1c6-_0x1a6efd;_0x3055f2=Math['max'](0x64,_0x30d532),_0x2c8d76=_0x30d532>=0x64?_0x309006+_0x1a6efd:_0x309006+(_0x3ce1c6-0x64);}_0x8ec975['style']['width']=_0x19c6b2+'px',_0x8ec975['style']['height']=_0x3055f2+'px',_0x8ec975['style']['transform']='translate('+_0x185337+'px,\x20'+_0x2c8d76+'px)',_0x1f8a27=_0x185337,_0x2e06a2=_0x2c8d76;})));},_0xec5f7b=()=>{_0xf22ebb=!0x1,_0x34b5f2=null,_0x8ec975['style']['cursor']='default',_0x8ec975['style']['transition']='',document['removeEventListener']('mousemove',_0x5b92be),document['removeEventListener']('mouseup',_0xec5f7b);};_0x47a91f['addEventListener']('mousedown',_0x30579f=>{_0x2bfc78();const _0x5b4ea2=_0x30579f['target'];'BUTTON'===_0x5b4ea2['tagName']||'SELECT'===_0x5b4ea2['tagName']||_0x5b4ea2['closest']('button')||_0x5b4ea2['closest']('.code-editor-actions')||(_0x5b4ea2===_0x47a91f||_0x47a91f['contains'](_0x5b4ea2))&&(_0x5f016c=_0x30579f['clientX']-_0x1f8a27,_0x3de619=_0x30579f['clientY']-_0x2e06a2,_0x590423=!0x0,_0x47a91f['style']['cursor']='grabbing',_0x8ec975['style']['transition']='none',document['addEventListener']('mousemove',_0x29fa96),document['addEventListener']('mouseup',_0x5d441c));});}['initAllPanels'](){this['registerPanel']('floating-files-panel'),this['registerPanel']('floating-joints-panel'),this['registerPanel']('floating-model-tree'),this['registerPanel']('floating-help-panel'),this['registerPanel']('code-editor-panel','.code-editor-header'),this['setupMaximizeButtons']();}['setupMaximizeButtons'](){document['querySelectorAll']('.panel-maximize-btn')['forEach'](_0x24bf7b=>{const _0x378e41=_0x24bf7b['getAttribute']('data-panel-id');if(!_0x378e41)return;const _0x171101=document['getElementById'](_0x378e41);_0x171101&&_0x24bf7b['addEventListener']('click',()=>{_0x171101['classList']['contains']('maximized')?(_0x171101['classList']['remove']('maximized'),_0x24bf7b['textContent']='⛶','floating-model-tree'===_0x378e41&&this['modelGraphView']&&setTimeout(()=>{this['restoreModelGraphView']();},0x1c2)):(_0x171101['classList']['add']('maximized'),_0x24bf7b['textContent']='❐','floating-model-tree'===_0x378e41&&this['modelGraphView']&&(this['saveModelGraphTransform'](),setTimeout(()=>{this['modelGraphView']['fitToView'](!0x0,0x258);},0x1c2)));});});}['saveModelGraphTransform'](){try{const _0x434f14=document['querySelector']('#model-graph-svg');if(!_0x434f14)return;const _0x31abbc=window['d3'];if(!_0x31abbc)return;_0x31abbc['select'](_0x434f14);const _0x1e300a=_0x31abbc['zoomTransform'](_0x434f14);_0x1e300a&&(this['modelGraphOriginalTransform']={'x':_0x1e300a['x'],'y':_0x1e300a['y'],'k':_0x1e300a['k']});}catch(_0xc08784){}}['restoreModelGraphView'](){try{const _0x27c488=document['querySelector']('#model-graph-svg');if(!_0x27c488)return;const _0x56c47a=window['d3'];if(!_0x56c47a)return;const _0x1717d8=_0x56c47a['select'](_0x27c488),_0x3f2dc9=_0x1717d8['select']('.zoom-container');if(_0x3f2dc9['empty']())return;if(this['modelGraphOriginalTransform']){const _0x25ad6d=_0x56c47a['zoom']()['scaleExtent']([0.1,0x4])['on']('zoom',_0x50cb4c=>{_0x3f2dc9['attr']('transform',_0x50cb4c['transform']);});_0x1717d8['call'](_0x25ad6d);const _0x366d51=_0x56c47a['zoomIdentity']['translate'](this['modelGraphOriginalTransform']['x'],this['modelGraphOriginalTransform']['y'])['scale'](this['modelGraphOriginalTransform']['k']);_0x1717d8['transition']()['duration'](0x258)['call'](_0x25ad6d['transform'],_0x366d51);}else this['modelGraphView']&&this['modelGraphView']['fitToView'](!0x0,0x258);}catch(_0x5a69cd){}}}class Vi{constructor(_0x38f744,_0x16c4f0=null){this['sceneManager']=_0x38f744,this['measurementController']=_0x16c4f0,this['codeEditorManager']=null,this['currentZoom']=null,this['currentSvg']=null,this['currentContainer']=null;}['drawModelGraph'](_0x1189ad){const _0x50ad54=_0x472736('#model-graph-svg'),_0x48e940=document['getElementById']('graph-empty-state');if(_0x50ad54['selectAll']('*:not(defs)')['remove'](),!_0x1189ad||!_0x1189ad['links']||0x0===_0x1189ad['links']['size'])return void(null==_0x48e940||_0x48e940['classList']['remove']('hidden'));null==_0x48e940||_0x48e940['classList']['add']('hidden');const _0x172daf='light'===(document['documentElement']['getAttribute']('data-theme')||'dark'),_0x1d1098=_0x172daf?{'bg':'rgba(240,\x20240,\x20245,\x200.95)','stroke':'rgba(0,\x200,\x200,\x200.15)','text':'#1a1a1a'}:{'bg':'rgba(42,\x2042,\x2046,\x200.95)','stroke':'rgba(255,\x20255,\x20255,\x200.12)','text':'#e0e0e0'},_0x24a661=this['buildHierarchy'](_0x1189ad['rootLink'],_0x1189ad);if(!_0x24a661)return void(null==_0x48e940||_0x48e940['classList']['remove']('hidden'));const _0x585ffc=_0x53e7ee(_0x24a661),_0x1908e6=_0x585ffc['descendants']()['length'],_0x7815ab=Math['max'](0x3e8,0x46*_0x1908e6),_0x5d1add=Math['max'](0x2bc,0x78*_0x585ffc['height']+0x64);_0x31940c()['size']([_0x7815ab-0x64,_0x5d1add-0x64])['separation']((_0x12c288,_0x19fff1)=>_0x12c288['parent']===_0x19fff1['parent']?0.8:1.2)(_0x585ffc);const _0x309c55=_0x50ad54['append']('g')['attr']('class','zoom-container'),_0x2d2002=_0xcc15d2()['scaleExtent']([0.1,0x4])['on']('zoom',_0x5a1e7=>{_0x309c55['attr']('transform',_0x5a1e7['transform']);});_0x50ad54['call'](_0x2d2002),this['currentZoom']=_0x2d2002,this['currentSvg']=_0x50ad54,this['currentContainer']=_0x309c55;let _0x3ec26d=null,_0x497e1a=0x0;_0x50ad54['on']('mousedown',function(_0x195b0f){_0x3ec26d={'x':_0x195b0f['clientX'],'y':_0x195b0f['clientY']},_0x497e1a=Date['now']();}),_0x50ad54['on']('mouseup',_0x36fc83=>{var _0x558eeb;if(!_0x3ec26d)return;const _0x493306=_0x36fc83['clientX']-_0x3ec26d['x'],_0x2cd823=_0x36fc83['clientY']-_0x3ec26d['y'],_0x14e9b2=Math['sqrt'](_0x493306*_0x493306+_0x2cd823*_0x2cd823),_0x39b208=Date['now']()-_0x497e1a;if(_0x14e9b2<0x5&&_0x39b208<0x12c){const _0x25aae7=_0x36fc83['target'],_0x319bb6=_0x25aae7['tagName']['toLowerCase']();('svg'===_0x319bb6||_0x25aae7===_0x50ad54['node']()||'g'===_0x319bb6&&(null==(_0x558eeb=_0x25aae7['classList'])?void 0x0:_0x558eeb['contains']('zoom-container')))&&(this['clearAllSelections'](_0x50ad54),this['measurementController']&&this['measurementController']['clearMeasurement'](),this['sceneManager']&&this['sceneManager']['highlightManager']['clearHighlight']());}_0x3ec26d=null;}),_0x309c55['on']('click',_0x36e650=>{var _0x1375c3,_0x61d350,_0x2ecd73,_0x7de225,_0x4aef69;const _0x1415d4=_0x36e650['target'],_0xc54a77=_0x1415d4['tagName']['toLowerCase']();('g'===_0xc54a77&&((null==(_0x1375c3=_0x1415d4['classList'])?void 0x0:_0x1375c3['contains']('zoom-container'))||(null==(_0x61d350=_0x1415d4['classList'])?void 0x0:_0x61d350['contains']('links'))||(null==(_0x2ecd73=_0x1415d4['classList'])?void 0x0:_0x2ecd73['contains']('joint-labels'))||(null==(_0x7de225=_0x1415d4['classList'])?void 0x0:_0x7de225['contains']('nodes')))||'path'===_0xc54a77&&(null==(_0x4aef69=_0x1415d4['classList'])?void 0x0:_0x4aef69['contains']('graph-link')))&&(this['clearAllSelections'](_0x50ad54),this['measurementController']&&this['measurementController']['clearMeasurement'](),this['sceneManager']&&this['sceneManager']['highlightManager']['clearHighlight']());}),this['setupDocumentClickHandler']();_0x309c55['append']('g')['attr']('class','links')['selectAll']('path')['data'](_0x585ffc['links']())['enter']()['append']('path')['attr']('class','graph-link')['attr']('d',_0x450f6f()['x'](_0x522332=>_0x522332['x']+0x32)['y'](_0x3119ef=>_0x3119ef['y']+0x32));const _0x659144=_0x309c55['append']('g')['attr']('class','joint-nodes')['selectAll']('g')['data'](_0x585ffc['links']()['filter'](_0x458219=>_0x458219['target']['data']['jointName']))['enter']()['append']('g')['attr']('class','graph-joint-group')['attr']('transform',_0x41add8=>'translate('+((_0x41add8['source']['x']+_0x41add8['target']['x'])/0x2+0x32)+',\x20'+((_0x41add8['source']['y']+_0x41add8['target']['y'])/0x2+0x32)+')')['style']('cursor','pointer');_0x659144['each'](function(_0x275ed4){const _0x1eb21b=_0x472736(this),_0x35c581=_0x1eb21b['append']('text')['attr']('class','joint-name-text')['attr']('dy',-0x4)['attr']('text-anchor','middle')['style']('font-size','12px')['style']('font-weight','500')['style']('fill',_0x1d1098['text'])['style']('user-select','none')['text'](_0x275ed4['target']['data']['jointName']),_0x4d8943=_0x1eb21b['append']('text')['attr']('class','joint-type-text')['attr']('dy',0xa)['attr']('text-anchor','middle')['style']('font-size','10px')['style']('font-weight','400')['style']('fill',_0x1d1098['text'])['style']('opacity',0.7)['style']('user-select','none')['text'](_0x275ed4['target']['data']['jointType']||'joint'),_0x1533bc=_0x35c581['node']()['getBBox'](),_0x521bd6=_0x4d8943['node']()['getBBox'](),_0x1b6465=Math['max'](_0x1533bc['width'],_0x521bd6['width'])+0x20;_0x1eb21b['insert']('rect','text')['attr']('class','joint-capsule-bg')['attr']('x',-_0x1b6465/0x2)['attr']('y',-0x16)['attr']('width',_0x1b6465)['attr']('height',0x2c)['attr']('rx',0x16)['style']('fill',_0x1d1098['bg'])['style']('stroke',_0x1d1098['stroke'])['style']('stroke-width','1.5'),_0x1eb21b['insert']('rect','.joint-capsule-bg')['attr']('class','joint-capsule-border')['attr']('x',-_0x1b6465/0x2-0x2)['attr']('y',-0x18)['attr']('width',_0x1b6465+0x4)['attr']('height',0x30)['attr']('rx',0x18)['style']('fill','none')['style']('stroke','transparent')['style']('stroke-width','2');}),_0x659144['on']('click',(_0x3fcb7a,_0x470650)=>{if(_0x3fcb7a['stopPropagation'](),!_0x470650['target']['data']['jointName'])return;const _0x2e72bd=_0x1189ad['joints']['get'](_0x470650['target']['data']['jointName']);_0x2e72bd&&(_0x3fcb7a['ctrlKey']||_0x3fcb7a['metaKey']?this['measurementController']&&this['measurementController']['handleSelection'](_0x2e72bd,_0x3fcb7a['currentTarget'],'joint'):(this['measurementController']&&this['measurementController']['clearMeasurement'](),this['clearAllSelections'](_0x50ad54),_0x472736(_0x3fcb7a['currentTarget'])['classed']('selected',!0x0),_0x472736(_0x3fcb7a['currentTarget'])['select']('.joint-capsule-border')['style']('stroke',_0x172daf?'var(--accent)':'#ff4a4a')['style']('stroke-width','3'),_0x472736(_0x3fcb7a['currentTarget'])['select']('.joint-capsule-bg')['style']('fill',_0x172daf?'rgba(30,\x20142,\x2062,\x200.15)':'#3a3a3a'),this['sceneManager']&&(this['sceneManager']['highlightManager']['clearHighlight'](),this['sceneManager']['axesManager']['showOnlyJointAxis'](_0x2e72bd)),this['codeEditorManager']&&_0x470650['target']['data']['jointName']&&this['codeEditorManager']['scrollToJoint'](_0x470650['target']['data']['jointName'])));}),_0x659144['on']('mouseenter',function(){const _0x5ad18f=_0x472736(this);_0x5ad18f['classed']('selected')||_0x5ad18f['select']('.joint-capsule-bg')['transition']()['duration'](0xc8)['style']('opacity',0.8);})['on']('mouseleave',function(){const _0x14e010=_0x472736(this);_0x14e010['classed']('selected')||_0x14e010['select']('.joint-capsule-bg')['transition']()['duration'](0xc8)['style']('opacity',0x1);}),_0x659144['append']('title')['text'](_0x6997b8=>_0x6997b8['target']['data']['jointName']+'\x20('+(_0x6997b8['target']['data']['jointType']||'joint')+')');const _0x5339a5=_0x309c55['append']('g')['attr']('class','nodes')['selectAll']('g')['data'](_0x585ffc['descendants']())['enter']()['append']('g')['attr']('class','graph-node')['attr']('transform',_0xe6c8f5=>'translate('+(_0xe6c8f5['x']+0x32)+',\x20'+(_0xe6c8f5['y']+0x32)+')')['style']('cursor','pointer');_0x5339a5['append']('text')['attr']('dy',0x6)['attr']('text-anchor','middle')['style']('font-size','18px')['style']('font-weight','500')['style']('fill',_0x1d1098['text'])['style']('user-select','none')['text'](_0x3830d5=>_0x3830d5['data']['name']),_0x5339a5['each'](function(){const _0xec92ed=_0x472736(this),_0xcf49cd=_0xec92ed['select']('text')['node']()['getBBox'](),_0x159a10=_0xcf49cd['width']+0x38,_0x3a7170=_0xcf49cd['height']+0x14+0x8;_0xec92ed['insert']('rect','text')['attr']('class','node-bg')['attr']('x',-_0x159a10/0x2)['attr']('y',-_0x3a7170/0x2)['attr']('width',_0x159a10)['attr']('height',_0x3a7170)['attr']('rx',0xc)['style']('fill',_0x1d1098['bg'])['style']('stroke',_0x1d1098['stroke'])['style']('stroke-width','1.5'),_0xec92ed['insert']('rect','.node-bg')['attr']('class','node-border')['attr']('x',-_0x159a10/0x2-0x2)['attr']('y',-_0x3a7170/0x2-0x2)['attr']('width',_0x159a10+0x4)['attr']('height',_0x3a7170+0x4)['attr']('rx',0xe)['style']('fill','none')['style']('stroke','transparent')['style']('stroke-width','3');}),_0x5339a5['on']('click',(_0x29fb9c,_0xfe4be)=>{_0x29fb9c['stopPropagation'](),_0x29fb9c['ctrlKey']||_0x29fb9c['metaKey']?_0xfe4be['data']['data']&&this['measurementController']&&this['measurementController']['handleSelection'](_0xfe4be['data']['data'],_0x29fb9c['currentTarget'],'link'):(this['measurementController']&&this['measurementController']['clearMeasurement'](),this['clearAllSelections'](_0x50ad54),_0x472736(_0x29fb9c['currentTarget'])['classed']('selected',!0x0),_0x472736(_0x29fb9c['currentTarget'])['select']('.node-border')['style']('stroke',_0x172daf?'var(--accent)':'#4a9eff')['style']('stroke-width','6'),_0x472736(_0x29fb9c['currentTarget'])['select']('.node-bg')['style']('fill',_0x172daf?'rgba(30,\x20142,\x2062,\x200.15)':'#3a3a3a'),_0xfe4be['data']['data']&&this['sceneManager']&&(this['sceneManager']['highlightManager']['clearHighlight'](),this['sceneManager']['highlightManager']['highlightLink'](_0xfe4be['data']['data'],this['sceneManager']['currentModel'])),this['codeEditorManager']&&_0xfe4be['data']['name']&&this['codeEditorManager']['scrollToLink'](_0xfe4be['data']['name']));}),_0x5339a5['on']('contextmenu',(_0x15bfea,_0x21a70b)=>{if(_0x15bfea['preventDefault'](),_0x15bfea['stopPropagation'](),!this['sceneManager']||!_0x21a70b['data']['data'])return;const _0x502822=_0x21a70b['data']['name'],_0x48cd40=this['sceneManager']['visualizationManager']['toggleLinkVisibility'](_0x502822,this['sceneManager']['currentModel']),_0x5f0197=_0x472736(_0x15bfea['currentTarget']);_0x48cd40?(_0x5f0197['classed']('hidden',!0x1),_0x5f0197['select']('.node-bg')['style']('fill',_0x1d1098['bg'])['style']('opacity','1'),_0x5f0197['select']('text')['style']('fill',_0x1d1098['text'])['style']('opacity','1')):(_0x5f0197['classed']('hidden',!0x0),_0x5f0197['select']('.node-bg')['style']('fill',_0x172daf?'rgba(0,\x200,\x200,\x200.1)':'#1a1a1a')['style']('opacity','0.5'),_0x5f0197['select']('text')['style']('fill',_0x172daf?'#999':'#666')['style']('opacity','0.6'));});const _0x2a979f=_0x585ffc['descendants']()[0x0],_0x195e72=_0x2a979f['x']+0x32,_0xc358d3=_0x2a979f['y']+0x32-0x50,_0x4aa2a0=_0x309c55['append']('g')['attr']('class','graph-node\x20ground-node')['attr']('transform','translate('+_0x195e72+',\x20'+_0xc358d3+')')['style']('cursor','pointer'),_0x1c2378=_0x4aa2a0['append']('text')['attr']('dy',0x6)['attr']('text-anchor','middle')['style']('font-size','18px')['style']('font-weight','500')['style']('fill',_0x1d1098['text'])['style']('user-select','none')['text']('Ground')['node']()['getBBox'](),_0x3941ef=_0x1c2378['width']+0x38,_0x1caed6=_0x1c2378['height']+0x14+0x8;if(_0x4aa2a0['insert']('rect','text')['attr']('class','node-bg')['attr']('x',-_0x3941ef/0x2)['attr']('y',-_0x1caed6/0x2)['attr']('width',_0x3941ef)['attr']('height',_0x1caed6)['attr']('rx',0xc)['style']('fill',_0x1d1098['bg'])['style']('stroke',_0x1d1098['stroke'])['style']('stroke-width','1.5'),_0x4aa2a0['insert']('rect','.node-bg')['attr']('class','node-border')['attr']('x',-_0x3941ef/0x2-0x2)['attr']('y',-_0x1caed6/0x2-0x2)['attr']('width',_0x3941ef+0x4)['attr']('height',_0x1caed6+0x4)['attr']('rx',0xe)['style']('fill','none')['style']('stroke','transparent')['style']('stroke-width','3'),_0x4aa2a0['append']('title')['text']('Ground'),_0x4aa2a0['on']('click',_0x52f8aa=>{_0x52f8aa['stopPropagation'](),_0x52f8aa['ctrlKey']||_0x52f8aa['metaKey']?this['measurementController']&&this['measurementController']['handleSelection']({'name':'ground'},_0x52f8aa['currentTarget'],'link'):(this['measurementController']&&this['measurementController']['clearMeasurement'](),this['clearAllSelections'](_0x50ad54),_0x472736(_0x52f8aa['currentTarget'])['classed']('selected',!0x0),_0x472736(_0x52f8aa['currentTarget'])['select']('.node-border')['style']('stroke','#4a9eff')['style']('stroke-width','6'),_0x472736(_0x52f8aa['currentTarget'])['select']('.node-bg')['style']('fill','#3a3a3a'));}),_0x1189ad['constraints']&&_0x1189ad['constraints']['size']>0x0){const _0x43bd29=_0x309c55['append']('g')['attr']('class','constraints');_0x1189ad['constraints']['forEach']((_0x11b9ab,_0x4680a9)=>{if('connect'===_0x11b9ab['type']||'weld'===_0x11b9ab['type']){const _0x18a979=_0x585ffc['descendants']()['find'](_0xa41ee3=>_0xa41ee3['data']['name']===_0x11b9ab['body1']),_0x4271c1=_0x585ffc['descendants']()['find'](_0x24f4dd=>_0x24f4dd['data']['name']===_0x11b9ab['body2']);if(_0x18a979&&_0x4271c1){const _0x48cf47=_0x18a979['x']+0x32,_0x19511f=_0x18a979['y']+0x32,_0x3072d1=_0x4271c1['x']+0x32,_0x5c01cb=_0x4271c1['y']+0x32,_0x4b6797='weld'===_0x11b9ab['type']?'#ff6600':'#00ffff';_0x43bd29['append']('line')['attr']('x1',_0x48cf47)['attr']('y1',_0x19511f)['attr']('x2',_0x3072d1)['attr']('y2',_0x5c01cb)['style']('stroke',_0x4b6797)['style']('stroke-width','2')['style']('stroke-dasharray','5,5')['style']('opacity','0.6')['append']('title')['text'](_0x11b9ab['type']+':\x20'+_0x11b9ab['body1']+'\x20↔\x20'+_0x11b9ab['body2']);}}else if('joint'===_0x11b9ab['type']){const _0x62279a=_0x1189ad['getJoint'](_0x11b9ab['joint1']),_0x1e9472=_0x1189ad['getJoint'](_0x11b9ab['joint2']);if(_0x62279a&&_0x1e9472){const _0x24609c=_0x585ffc['descendants']()['find'](_0x53b1ec=>_0x53b1ec['data']['name']===_0x62279a['child']),_0x22538f=_0x585ffc['descendants']()['find'](_0x5760ee=>_0x5760ee['data']['name']===_0x1e9472['child']);if(_0x24609c&&_0x22538f){const _0x4da313=_0x24609c['x']+0x32,_0x4210b8=_0x24609c['y']+0x32,_0x3ac71d=_0x22538f['x']+0x32,_0x5ab766=_0x22538f['y']+0x32;_0x43bd29['append']('line')['attr']('x1',_0x4da313)['attr']('y1',_0x4210b8)['attr']('x2',_0x3ac71d)['attr']('y2',_0x5ab766)['style']('stroke','#ffff00')['style']('stroke-width','2')['style']('stroke-dasharray','3,3')['style']('opacity','0.5')['append']('title')['text']('Joint\x20constraint:\x20'+_0x11b9ab['joint1']+'\x20↔\x20'+_0x11b9ab['joint2']);}}}});}setTimeout(()=>{this['fitToView'](!0x1);},0x32);}['buildHierarchy'](_0xb025b0,_0x2bc00c){const _0x3cb27d=_0x2bc00c['links']['get'](_0xb025b0);if(!_0x3cb27d)return null;const _0x560501={'name':_0xb025b0,'data':_0x3cb27d,'children':[]};return _0x2bc00c['joints']['forEach']((_0x550d3b,_0x68e8fc)=>{if(_0x550d3b['parent']===_0xb025b0&&_0x550d3b['child']){const _0x12a7e5=this['buildHierarchy'](_0x550d3b['child'],_0x2bc00c);_0x12a7e5&&(_0x12a7e5['jointName']=_0x68e8fc,_0x12a7e5['jointType']=_0x550d3b['type'],_0x560501['children']['push'](_0x12a7e5));}}),_0x2bc00c['links']['forEach']((_0x4a4148,_0x12a0e0)=>{if(!_0x560501['children']['some'](_0x60a2f2=>_0x60a2f2['name']===_0x12a0e0)&&_0x4a4148['userData']['parentName']===_0xb025b0){const _0x4fdf36=this['buildHierarchy'](_0x12a0e0,_0x2bc00c);_0x4fdf36&&(_0x4fdf36['jointName']=null,_0x4fdf36['jointType']='fixed',_0x4fdf36['isFixedConnection']=!0x0,_0x560501['children']['push'](_0x4fdf36));}}),_0x560501;}['setupDocumentClickHandler'](){window['graphClickHandler']&&document['removeEventListener']('click',window['graphClickHandler'],!0x0),window['graphClickHandler']=_0xa089ef=>{const _0x542915=document['getElementById']('floating-model-tree');if(!_0x542915||'none'===_0x542915['style']['display'])return;if(!_0x542915['contains'](_0xa089ef['target']))return;const _0xbeda6d=_0xa089ef['target'];_0xbeda6d['tagName']['toLowerCase']();const _0x2667c3=_0xbeda6d['closest']('.graph-node'),_0x184eba=_0xbeda6d['closest']('.graph-joint-group'),_0x23e80c=_0xbeda6d['closest']('.floating-panel-header');if(!_0x2667c3&&!_0x184eba&&!_0x23e80c){const _0x1c71b6=_0x472736('#model-graph-svg');this['clearAllSelections'](_0x1c71b6),this['measurementController']&&this['measurementController']['clearMeasurement'](),this['sceneManager']&&(this['sceneManager']['highlightManager']['clearHighlight'](),this['sceneManager']['measurementManager']['clearMeasurement']());}},document['addEventListener']('click',window['graphClickHandler'],!0x0);}['clearAllSelections'](_0x231518){const _0x169534='light'===(document['documentElement']['getAttribute']('data-theme')||'dark')?'rgba(255,\x20255,\x20255,\x200.95)':'rgba(42,\x2042,\x2046,\x200.95)';_0x231518['selectAll']('.graph-node')['classed']('selected',!0x1),_0x231518['selectAll']('.graph-node\x20.node-border')['style']('stroke','transparent'),_0x231518['selectAll']('.graph-node\x20.node-bg')['style']('fill',_0x169534),_0x231518['selectAll']('.graph-joint-group')['classed']('selected',!0x1),_0x231518['selectAll']('.graph-joint-group\x20.joint-capsule-border')['style']('stroke','transparent'),_0x231518['selectAll']('.graph-joint-group\x20.joint-capsule-bg')['style']('fill',_0x169534),_0x231518['selectAll']('.graph-node')['classed']('measurement-selected',!0x1),_0x231518['selectAll']('.graph-joint-group')['classed']('measurement-selected',!0x1),this['sceneManager']&&this['sceneManager']['axesManager']&&this['sceneManager']['axesManager']['restoreAllJointAxes']();}['setMeasurementController'](_0x14d507){this['measurementController']=_0x14d507;}['setCodeEditorManager'](_0x25b143){this['codeEditorManager']=_0x25b143;}['fitToView'](_0x1cee9b=!0x1,_0x79525=0x0){if(this['currentSvg']&&this['currentContainer']&&this['currentZoom'])try{const _0x48718e=this['currentSvg']['node']()['getBoundingClientRect']();let _0x41f68a;try{_0x41f68a=this['currentContainer']['node']()['getBBox']();}catch(_0x2ff236){return;}if(!_0x41f68a||0x0===_0x41f68a['width']||0x0===_0x41f68a['height'])return;const _0x420539=0x32,_0x5d76a9=(_0x48718e['width']-0x2*_0x420539)/_0x41f68a['width'],_0x5da129=(_0x48718e['height']-0x2*_0x420539)/_0x41f68a['height'];let _0x51daec=Math['min'](_0x5d76a9,_0x5da129);_0x51daec=Math['max'](0.1,Math['min'](_0x51daec,0x2));const _0x151eef=_0x48718e['width']/0x2-(_0x41f68a['x']+_0x41f68a['width']/0x2)*_0x51daec,_0x301930=_0x48718e['height']/0x2-(_0x41f68a['y']+_0x41f68a['height']/0x2)*_0x51daec,_0x47274a=_0x4c0e59['translate'](_0x151eef,_0x301930)['scale'](_0x51daec);_0x1cee9b&&_0x79525>0x0?this['currentSvg']['transition']()['duration'](_0x79525)['call'](this['currentZoom']['transform'],_0x47274a):this['currentSvg']['call'](this['currentZoom']['transform'],_0x47274a);}catch(_0x230267){}}}class qi{constructor(){this['availableModels']=[],this['onFileClick']=null;}['updateFileTree'](_0x4e4304,_0x1ae057,_0x9f8169=!0x1){this['availableModels']=_0x4e4304;const _0x675a9e=document['getElementById']('model-list');if(!_0x675a9e)return;const _0x1eb0bc=_0x9f8169?this['saveTreeState']():[];_0x675a9e['innerHTML']='',0x0!==_0x4e4304['length']?(this['buildFileTree'](_0x675a9e,_0x4e4304,_0x1ae057),_0x9f8169&&_0x1eb0bc['length']>0x0&&setTimeout(()=>this['restoreTreeState'](_0x1eb0bc),0x0)):this['showLoadButton'](_0x675a9e);}['showLoadButton'](_0x13dc45){var _0x5f3da6,_0x206c50,_0x2ba8be,_0x33d335;const _0x1b60c3=document['createElement']('div');_0x1b60c3['className']='file-tree-empty-container',_0x1b60c3['style']['cssText']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20flex-direction:\x20column;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20justify-content:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height:\x20100%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20min-height:\x20200px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x2020px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gap:\x2012px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20';const _0x2eb8cf=document['createElement']('div');_0x2eb8cf['className']='empty-state',_0x2eb8cf['style']['cssText']='margin:\x200;\x20padding:\x200;\x20text-align:\x20center;\x20line-height:\x201.6;';const _0x2fdf2c=document['createElement']('div');_0x2fdf2c['textContent']=(null==(_0x5f3da6=window['i18n'])?void 0x0:_0x5f3da6['t']('dropHint'))||'Drag\x20and\x20drop\x20robot\x20model\x20files\x20or\x20folders\x20anywhere',_0x2fdf2c['setAttribute']('data-i18n','dropHint');const _0x1ed77a=document['createElement']('div');_0x1ed77a['textContent']=(null==(_0x206c50=window['i18n'])?void 0x0:_0x206c50['t']('orClickButton'))||'or\x20click\x20button\x20to\x20load',_0x1ed77a['setAttribute']('data-i18n','orClickButton'),_0x1ed77a['style']['marginTop']='4px',_0x2eb8cf['appendChild'](_0x2fdf2c),_0x2eb8cf['appendChild'](_0x1ed77a);const _0x371770=document['createElement']('div');_0x371770['style']['cssText']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gap:\x208px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20margin-top:\x208px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20';const _0xb7c9bc=document['createElement']('button');_0xb7c9bc['className']='control-button\x20load-files-btn';const _0x5b1c50=document['createElement']('span');_0x5b1c50['textContent']=(null==(_0x2ba8be=window['i18n'])?void 0x0:_0x2ba8be['t']('loadFiles'))||'Load\x20Files',_0x5b1c50['setAttribute']('data-i18n','loadFiles'),_0xb7c9bc['appendChild'](_0x5b1c50),_0xb7c9bc['style']['cssText']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x208px\x2016px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2013px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20flex:\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20',_0xb7c9bc['title']='选择单个或多个文件',_0xb7c9bc['addEventListener']('click',_0xa81017=>{_0xa81017['preventDefault'](),_0xa81017['stopPropagation'](),this['triggerFileLoad'](!0x1);});const _0x119bb4=document['createElement']('button');_0x119bb4['className']='control-button\x20load-folder-btn';const _0x5bab01=document['createElement']('span');_0x5bab01['textContent']=(null==(_0x33d335=window['i18n'])?void 0x0:_0x33d335['t']('loadFolder'))||'Load\x20Folder',_0x5bab01['setAttribute']('data-i18n','loadFolder'),_0x119bb4['appendChild'](_0x5bab01),_0x119bb4['style']['cssText']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x208px\x2016px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2013px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20flex:\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20',_0x119bb4['title']='选择整个文件夹',_0x119bb4['addEventListener']('click',_0x15d941=>{_0x15d941['preventDefault'](),_0x15d941['stopPropagation'](),this['triggerFileLoad'](!0x0);}),_0x371770['appendChild'](_0xb7c9bc),_0x371770['appendChild'](_0x119bb4),_0x1b60c3['appendChild'](_0x2eb8cf),_0x1b60c3['appendChild'](_0x371770),_0x13dc45['appendChild'](_0x1b60c3);}['triggerFileLoad'](_0x2de68c=!0x1){const _0x569381=document['createElement']('input');_0x569381['type']='file',_0x569381['multiple']=!0x0,_0x569381['webkitdirectory']=_0x2de68c,_0x569381['style']['display']='none',_0x2de68c||_0x569381['setAttribute']('accept','.urdf,.xacro,.xml,.dae,.stl,.obj,.collada,.usd,.usda,.usdc,.usdz'),_0x569381['addEventListener']('change',_0x39f23c=>{const _0x3ee83f=Array['from'](_0x39f23c['target']['files']);if(_0x3ee83f&&_0x3ee83f['length']>0x0){const _0x29d406=new DataTransfer();_0x3ee83f['forEach'](_0x53e62d=>_0x29d406['items']['add'](_0x53e62d));const _0x3fa813=new DragEvent('drop',{'bubbles':!0x0,'cancelable':!0x0,'dataTransfer':_0x29d406});document['body']['dispatchEvent'](_0x3fa813);}document['body']['removeChild'](_0x569381);}),document['body']['appendChild'](_0x569381),_0x569381['click']();}['saveTreeState'](){const _0xa9b42e=[];return document['querySelectorAll']('.tree-item.folder:not(.collapsed)')['forEach'](_0x5e46d1=>{const _0x131840=_0x5e46d1['querySelector']('.name');_0x131840&&_0xa9b42e['push'](_0x131840['textContent']);}),_0xa9b42e;}['restoreTreeState'](_0x1ca54d){_0x1ca54d&&0x0!==_0x1ca54d['length']&&document['querySelectorAll']('.tree-item.folder')['forEach'](_0x58081a=>{const _0x567420=_0x58081a['querySelector']('.name');_0x567420&&_0x1ca54d['includes'](_0x567420['textContent'])&&_0x58081a['classList']['remove']('collapsed');});}['markActiveFile'](_0x414432){document['querySelectorAll']('.tree-item.selected')['forEach'](_0x1f164c=>{_0x1f164c['classList']['remove']('selected');});document['querySelectorAll']('#model-list\x20.tree-item')['forEach'](_0x42eb40=>{const _0x37df49=_0x42eb40['querySelector']('.name');_0x37df49&&_0x37df49['textContent']===_0x414432['name']&&(_0x42eb40['classList']['add']('selected'),_0x42eb40['scrollIntoView']({'behavior':'smooth','block':'nearest'}));});}['expandAndScrollToFile'](_0x23b3a1,_0x2b5667){if(!_0x23b3a1)return;let _0x588e81=null;if(_0x2b5667['forEach']((_0x7f1103,_0x305f84)=>{_0x7f1103===_0x23b3a1&&(_0x588e81=_0x305f84);}),!_0x588e81)return;const _0x3c7eed=_0x588e81['split']('/')['filter'](_0x2114a2=>_0x2114a2),_0x915c69=[];for(let _0x301a62=0x0;_0x301a62<_0x3c7eed['length']-0x1;_0x301a62++)_0x915c69['push'](_0x3c7eed[_0x301a62]);document['querySelectorAll']('#model-list\x20.tree-item.folder')['forEach'](_0x37deaf=>{const _0x2c5abb=_0x37deaf['querySelector']('.name');_0x2c5abb&&_0x915c69['includes'](_0x2c5abb['textContent'])&&_0x37deaf['classList']['remove']('collapsed');}),setTimeout(()=>{const _0x56b923=document['querySelectorAll']('#model-list\x20.tree-item');let _0x41461d=null;_0x56b923['forEach'](_0x18640c=>{const _0x12f3c3=_0x18640c['querySelector']('.name');if(_0x12f3c3&&_0x12f3c3['textContent']===_0x23b3a1['name']){_0x18640c['parentElement']&&(_0x41461d=_0x18640c);}}),_0x41461d&&(_0x41461d['classList']['add']('selected'),_0x41461d['scrollIntoView']({'behavior':'smooth','block':'nearest'}));},0x64);}['isModelXML'](_0x3bf77f){const _0x458db6=_0x3bf77f['toLowerCase']();return!['package','launch','config','scene','ros']['some'](_0x1ccb50=>_0x458db6['includes'](_0x1ccb50));}['buildFileTree'](_0x4a4cd2,_0x18ebe2,_0x5150e6){const _0x1968b1={};_0x5150e6['forEach']((_0x5c1be5,_0x586383)=>{const _0x3ad402=_0x5c1be5['name']['split']('.')['pop']()['toLowerCase']();if(!['urdf','xacro','xml','dae','stl','obj','collada','usd','usda','usdc','yml','yaml']['includes'](_0x3ad402))return;if('xml'===_0x3ad402&&!this['isModelXML'](_0x5c1be5['name']))return;const _0x244c28=_0x586383['split']('/')['filter'](_0x4557e0=>_0x4557e0);let _0x1c55a0=_0x1968b1;_0x244c28['forEach']((_0x20ddc2,_0x145ded)=>{_0x145ded===_0x244c28['length']-0x1?(_0x1c55a0['__files']||(_0x1c55a0['__files']=[]),_0x1c55a0['__files']['push']({'name':_0x20ddc2,'file':_0x5c1be5,'path':_0x586383,'ext':_0x3ad402})):(_0x1c55a0[_0x20ddc2]||(_0x1c55a0[_0x20ddc2]={}),_0x1c55a0=_0x1c55a0[_0x20ddc2]);});}),this['renderFileTreeStructure'](_0x1968b1,_0x4a4cd2);}['renderFileTreeStructure'](_0x5203cd,_0x4d913a){const _0x80193a=[],_0x434ca0=[];Object['keys'](_0x5203cd)['forEach'](_0x496871=>{'__files'===_0x496871?_0x434ca0['push'](..._0x5203cd[_0x496871]):_0x80193a['push'](_0x496871);}),_0x80193a['sort']()['forEach'](_0x2bb68e=>{const _0x1367af=this['createTreeFolder'](_0x2bb68e),_0x1cbb97=_0x1367af['querySelector']('.tree-children');this['renderFileTreeStructure'](_0x5203cd[_0x2bb68e],_0x1cbb97),_0x4d913a['appendChild'](_0x1367af);}),_0x434ca0['length']>0x0&&this['renderFiles'](_0x434ca0,_0x4d913a);}['createTreeFolder'](_0x30b55f){const _0x5de0bd=document['createElement']('div');_0x5de0bd['className']='tree-item\x20folder\x20collapsed';const _0x124cae=document['createElement']('div');_0x124cae['className']='tree-item-header';const _0x131a57=document['createElement']('div');_0x131a57['className']='tree-item-left';const _0x45efd1=document['createElement']('span');_0x45efd1['className']='tree-arrow';const _0x5ef797=document['createElement']('span');_0x5ef797['className']='icon';const _0x5a042c=document['createElement']('span');_0x5a042c['className']='name',_0x5a042c['textContent']=_0x30b55f,_0x131a57['appendChild'](_0x45efd1),_0x131a57['appendChild'](_0x5ef797),_0x131a57['appendChild'](_0x5a042c),_0x124cae['appendChild'](_0x131a57);const _0x2f425b=document['createElement']('div');return _0x2f425b['className']='tree-children',_0x5de0bd['appendChild'](_0x124cae),_0x5de0bd['appendChild'](_0x2f425b),_0x124cae['addEventListener']('click',_0x5d5acf=>{_0x5d5acf['stopPropagation'](),_0x5de0bd['classList']['toggle']('collapsed');}),_0x5de0bd;}['renderFiles'](_0x571ba0,_0x43bfe7){_0x571ba0['sort']((_0x4fd997,_0x5aa940)=>{const _0xf5a6d5=['urdf','xacro','xml','usd','usda','usdc'],_0xf294c0=_0xf5a6d5['includes'](_0x4fd997['ext']),_0x5f22df=_0xf5a6d5['includes'](_0x5aa940['ext']);return _0xf294c0&&!_0x5f22df?-0x1:!_0xf294c0&&_0x5f22df?0x1:_0x4fd997['name']['localeCompare'](_0x5aa940['name']);}),_0x571ba0['forEach'](_0x46c6ea=>{const _0x48b4bf=this['createTreeItem'](_0x46c6ea['name'],_0x46c6ea['ext']);_0x48b4bf['addEventListener']('click',_0x1e3d54=>{var _0x21542f;_0x1e3d54['stopPropagation'](),document['querySelectorAll']('.tree-item.selected')['forEach'](_0x537a25=>{_0x537a25['classList']['remove']('selected');}),_0x48b4bf['classList']['add']('selected'),null==(_0x21542f=this['onFileClick'])||_0x21542f['call'](this,_0x46c6ea);}),_0x43bfe7['appendChild'](_0x48b4bf);});}['createTreeItem'](_0x5de343,_0x5b64d7){const _0x3b92ec=document['createElement']('div');_0x3b92ec['className']='tree-item';const _0x1f3322=document['createElement']('div');_0x1f3322['className']='tree-item-header';const _0x74b35d=document['createElement']('div');_0x74b35d['className']='tree-item-left';const _0x9c9862=document['createElement']('span');_0x9c9862['className']='icon';const _0x1c949b=document['createElement']('span');if(_0x1c949b['className']='name',_0x1c949b['textContent']=_0x5de343,_0x74b35d['appendChild'](_0x9c9862),_0x74b35d['appendChild'](_0x1c949b),_0x1f3322['appendChild'](_0x74b35d),_0x5de343&&_0x5de343['includes']('.')){const _0x2dc0cc=_0x5de343['split']('.')['pop']()['toUpperCase']();if(['URDF','XACRO','XML','DAE','STL','OBJ','USD','USDA','USDC','USDZ']['includes'](_0x2dc0cc)){const _0x1e27d9=document['createElement']('span');_0x1e27d9['className']='type-badge',_0x1e27d9['textContent']=_0x2dc0cc,_0x1f3322['appendChild'](_0x1e27d9);}}return _0x3b92ec['appendChild'](_0x1f3322),_0x3b92ec;}}class Bi{constructor(_0x139a75,_0x11b2e4='vscode-dark'){this['parentElement']=_0x139a75,this['view']=null,this['onChangeCallback']=null,this['currentTheme']=_0x11b2e4,this['setupEditor']();}['getThemeExtension'](){return'light'===(document['documentElement']['getAttribute']('data-theme')||'dark')?_0x54af13:_0xc978ba;}['setupEditor'](){this['parentElement']['innerHTML']='';const _0x1ad015=_0x1d6a2e['create']({'doc':'','extensions':[_0x1f153f,_0x5b0b45(),this['getThemeExtension'](),_0x1516b9['theme']({'&':{'height':'100%','fontSize':'13px','backgroundColor':'transparent\x20!important'},'.cm-content':{'backgroundColor':'transparent\x20!important'},'.cm-gutters':{'backgroundColor':'rgba(255,\x20255,\x20255,\x200.02)\x20!important','border':'none\x20!important'},'.cm-activeLineGutter':{'backgroundColor':'rgba(255,\x20255,\x20255,\x200.05)\x20!important'},'.cm-activeLine':{'backgroundColor':'rgba(255,\x20255,\x20255,\x200.03)\x20!important'},'.cm-scroller':{'overflow':'auto','fontFamily':'\x27Consolas\x27,\x20\x27Monaco\x27,\x20\x27Courier\x20New\x27,\x20monospace','backgroundColor':'transparent\x20!important'},'.cm-scroller::-webkit-scrollbar':{'width':'10px','height':'10px'},'.cm-scroller::-webkit-scrollbar-track':{'background':'transparent'},'.cm-scroller::-webkit-scrollbar-thumb':{'background':'rgba(128,\x20128,\x20128,\x200.3)','borderRadius':'6px','border':'2px\x20solid\x20transparent','backgroundClip':'padding-box'},'.cm-scroller::-webkit-scrollbar-thumb:hover':{'background':'rgba(128,\x20128,\x20128,\x200.5)','backgroundClip':'padding-box'},'.cm-scroller::-webkit-scrollbar-corner':{'background':'transparent'}}),_0x1516b9['updateListener']['of'](_0x20839b=>{_0x20839b['docChanged']&&this['onChangeCallback']&&this['onChangeCallback'](this['getValue']());})]});this['view']=new _0x1516b9({'state':_0x1ad015,'parent':this['parentElement']});}['setValue'](_0x5a4d86){if(!this['view'])return;const _0x8e5559=this['view']['state']['update']({'changes':{'from':0x0,'to':this['view']['state']['doc']['length'],'insert':_0x5a4d86||''}});this['view']['dispatch'](_0x8e5559);}['getValue'](){return this['view']?this['view']['state']['doc']['toString']():'';}['onChange'](_0x401e45){this['onChangeCallback']=_0x401e45;}['focus'](){this['view']&&this['view']['focus']();}['destroy'](){this['view']&&(this['view']['destroy'](),this['view']=null);}['updateTheme'](_0x59716a){if(!this['view'])return;const _0x1a0a2a=this['getValue'](),_0x285910=this['view']['state']['selection']['main']['head'];this['view']['destroy'](),this['setupEditor'](),this['setValue'](_0x1a0a2a),this['view']['dispatch']({'selection':{'anchor':_0x285910,'head':_0x285910}});}['scrollToLine'](_0x490b27,_0x584bbc=!0x0){if(this['view']&&!(_0x490b27<0x1))try{const _0xfa12c6=this['view']['state']['doc'],_0x1fddb3=_0xfa12c6['lines'],_0x3378a4=Math['min'](Math['max'](0x1,_0x490b27),_0x1fddb3),_0x52d964=_0xfa12c6['line'](_0x3378a4),_0x33e453=_0x52d964['from'];this['view']['dispatch']({'selection':{'anchor':_0x33e453,'head':_0x52d964['to']},'scrollIntoView':!0x0}),this['view']['focus']();}catch(_0x29bbe3){}}['searchAndScroll'](_0x416f66,_0x1f89a9=!0x0){if(!this['view']||!_0x416f66)return!0x1;try{const _0x2521a6=this['getValue'](),_0x55e528=_0x1f89a9?_0x2521a6:_0x2521a6['toLowerCase'](),_0x5c04dc=_0x1f89a9?_0x416f66:_0x416f66['toLowerCase'](),_0x14ed97=_0x55e528['indexOf'](_0x5c04dc);return-0x1!==_0x14ed97&&(this['view']['dispatch']({'selection':{'anchor':_0x14ed97,'head':_0x14ed97+_0x416f66['length']},'scrollIntoView':!0x0}),this['view']['focus'](),!0x0);}catch(_0x45755b){return!0x1;}}}class $i{constructor(){this['codeEditorInstance']=null,this['editorState']={'currentFile':null,'currentContent':'','originalContent':'','defaultFileName':'newfile.xml','defaultFileType':'urdf'},this['onReload']=null,this['fileMap']=null;}['init'](_0x4d8858){this['fileMap']=_0x4d8858;const _0x3991c9=document['getElementById']('code-editor-wrapper');_0x3991c9&&(this['codeEditorInstance']=new Bi(_0x3991c9),this['codeEditorInstance']['onChange'](_0x114415=>{this['editorState']['currentContent']=_0x114415,this['updateEditorSaveStatus']();}),this['setupEditorControls'](),this['updateEditorSaveStatus'](),this['setupFileControls']());}['setupFileControls'](){const _0x34e148=document['getElementById']('editor-filename-input'),_0x4348c0=document['getElementById']('editor-filename');if(!_0x34e148||!_0x4348c0)return;const _0x46e95f=()=>{this['editorState']['currentFile']?(_0x34e148['style']['display']='none',_0x4348c0['style']['display']='inline-block'):(_0x34e148['style']['display']='inline-block',_0x4348c0['style']['display']='none',_0x34e148['value']=this['editorState']['defaultFileName']);};_0x46e95f(),_0x34e148['addEventListener']('input',_0x1e98c8=>{this['editorState']['defaultFileName']=_0x1e98c8['target']['value']['trim']()||'newfile.xml';}),this['updateControlsVisibility']=_0x46e95f;}['detectFileTypeFromName'](_0xbee4af){return{'xml':'urdf','urdf':'urdf','xacro':'xacro','mjcf':'mjcf','usd':'usd','usda':'usd','usdc':'usd','usdz':'usd'}[_0xbee4af['toLowerCase']()['split']('.')['pop']()]||'urdf';}['setupEditorControls'](){const _0x3f93b0=document['getElementById']('open-editor-btn'),_0x194073=document['getElementById']('code-editor-panel'),_0xfdfd04=document['getElementById']('close-editor-btn'),_0x386a85=document['getElementById']('save-btn'),_0x266940=document['getElementById']('reload-btn');_0x3f93b0&&_0x194073&&(_0x194073['classList']['add']('visible'),_0x3f93b0['classList']['add']('active'),_0x3f93b0['addEventListener']('click',async()=>{if(_0x194073['classList']['contains']('visible'))return _0x194073['classList']['remove']('visible'),void _0x3f93b0['classList']['remove']('active');_0x194073['classList']['add']('visible'),_0x3f93b0['classList']['add']('active'),this['editorState']['currentFile']||(this['codeEditorInstance']['setValue'](''),document['getElementById']('editor-filename')['textContent']=window['i18n']['t']('newFile'),this['updateEditorSaveStatus']());}),_0xfdfd04&&_0xfdfd04['addEventListener']('click',()=>{_0x194073['classList']['remove']('visible'),_0x3f93b0['classList']['remove']('active');}),_0x266940&&_0x266940['addEventListener']('click',async()=>{try{const _0x25210d=this['codeEditorInstance']['getValue']();if(!_0x25210d||0x0===_0x25210d['trim']()['length'])return;let _0x5dd5af,_0x388c7c;if(this['editorState']['currentFile'])_0x5dd5af=this['editorState']['currentFile']['name'],_0x388c7c=this['editorState']['currentFile']['type'];else{const _0x5a721c=document['getElementById']('editor-filename-input');_0x5dd5af=_0x5a721c&&_0x5a721c['value']['trim']()||this['editorState']['defaultFileName'],_0x388c7c=this['detectFileTypeFromName'](_0x5dd5af);}const _0x210c14=new Blob([_0x25210d],{'type':'text/plain'}),_0x3d3664=new File([_0x210c14],_0x5dd5af,{'type':_0x388c7c});if(this['editorState']['currentFile']){const _0x21810c=[];for(const [_0x207849]of this['fileMap']['entries']())(_0x207849['endsWith'](_0x5dd5af)||_0x207849===_0x5dd5af)&&_0x21810c['push'](_0x207849);_0x21810c['forEach'](_0x969245=>{this['fileMap']['set'](_0x969245,_0x3d3664);});}else this['fileMap']['set'](_0x5dd5af,_0x3d3664);const _0x2756f3=_0x25210d;if(this['_reloadingInProgress']=!0x0,this['onReload']&&await this['onReload'](_0x3d3664,!0x0),this['editorState']['currentContent']=_0x2756f3,!this['editorState']['currentFile']){this['editorState']['currentFile']=_0x3d3664;const _0x12c91a=document['getElementById']('editor-filename');_0x12c91a&&(_0x12c91a['textContent']=_0x5dd5af),this['updateControlsVisibility']&&this['updateControlsVisibility']();}this['_reloadingInProgress']=!0x1;}catch(_0x11c227){this['_reloadingInProgress']=!0x1;}}),_0x386a85&&_0x386a85['addEventListener']('click',async()=>{this['editorState']['currentFile']&&await this['performSave']();}));}async['loadFile'](_0x38acee,_0x37f248=!0x0){if(_0x38acee&&this['codeEditorInstance']&&(!_0x37f248||!this['_reloadingInProgress']))try{const _0x53d826=await dt(_0x38acee);this['editorState']['currentFile']=_0x38acee,this['editorState']['originalContent']=_0x53d826,this['editorState']['currentContent']=_0x53d826,this['codeEditorInstance']['setValue'](_0x53d826);const _0x510fa0=document['getElementById']('editor-filename');_0x510fa0&&(_0x510fa0['textContent']=_0x38acee['name']),this['updateControlsVisibility']&&this['updateControlsVisibility'](),setTimeout(()=>{const _0x359a11=document['getElementById']('editor-save-status');_0x359a11&&(_0x359a11['textContent']=window['i18n']['t']('saved'),_0x359a11['className']='code-editor-save-status\x20saved');},0x64);}catch(_0x292d1f){}}['updateEditorSaveStatus'](){const _0x5a60f2=document['getElementById']('editor-save-status');if(!_0x5a60f2||!this['codeEditorInstance'])return;if(!this['editorState']['currentFile'])return _0x5a60f2['textContent']=window['i18n']['t']('unsaved'),void(_0x5a60f2['className']='code-editor-save-status\x20unsaved');this['codeEditorInstance']['getValue']()!==this['editorState']['originalContent']?(_0x5a60f2['textContent']=window['i18n']['t']('unsaved'),_0x5a60f2['className']='code-editor-save-status\x20unsaved'):(_0x5a60f2['textContent']=window['i18n']['t']('saved'),_0x5a60f2['className']='code-editor-save-status\x20saved');}['updateTheme'](_0x4f081e){this['codeEditorInstance']&&this['codeEditorInstance']['updateTheme'](_0x4f081e);}async['performSave'](){try{const _0x234e03=this['codeEditorInstance']['getValue'](),_0x4a4c37=this['editorState']['currentFile']['name'];this['downloadFile'](_0x234e03,_0x4a4c37);const _0x5cf6c4=new Blob([_0x234e03],{'type':'text/plain'}),_0x3e6311=new File([_0x5cf6c4],_0x4a4c37,{'type':this['editorState']['currentFile']['type']});for(const [_0x3a6570,_0x5a708d]of this['fileMap']['entries']())(_0x5a708d===this['editorState']['currentFile']||_0x3a6570===_0x4a4c37||_0x3a6570['endsWith']('/'+_0x4a4c37))&&this['fileMap']['set'](_0x3a6570,_0x3e6311);this['editorState']['currentFile']=_0x3e6311,this['editorState']['originalContent']=_0x234e03,this['editorState']['currentContent']=_0x234e03,this['updateEditorSaveStatus']();}catch(_0x3c8412){this['showInlineMessage']('Download\x20failed:\x20'+_0x3c8412['message'],'error');}}['downloadFile'](_0x4875c2,_0x419c4f){try{const _0x3bb2d3=new Blob([_0x4875c2],{'type':'text/plain;charset=utf-8'}),_0x196cf5=URL['createObjectURL'](_0x3bb2d3),_0x3fa961=document['createElement']('a');_0x3fa961['href']=_0x196cf5,_0x3fa961['download']=_0x419c4f,_0x3fa961['style']['display']='none',document['body']['appendChild'](_0x3fa961),_0x3fa961['click'](),document['body']['removeChild'](_0x3fa961),URL['revokeObjectURL'](_0x196cf5);}catch(_0x135eec){throw _0x135eec;}}['showInlineMessage'](_0x4a7389,_0x4637e0='info'){const _0x3a9af4=document['getElementById']('code-editor-panel');if(!_0x3a9af4)return;const _0x372c35=_0x3a9af4['querySelector']('.editor-inline-message');_0x372c35&&_0x372c35['remove']();const _0x4770ae={'success':'#4ade80','error':'#ff6b6b','warning':'#fbbf24','info':'#4a9eff'},_0x36ff0f=document['createElement']('div');_0x36ff0f['className']='editor-inline-message',_0x36ff0f['textContent']=_0x4a7389,_0x36ff0f['style']['cssText']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20position:\x20absolute;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20top:\x2060px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20left:\x2050%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20transform:\x20translateX(-50%);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20'+(_0x4770ae[_0x4637e0]||_0x4770ae['info'])+';\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20white;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x2012px\x2024px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x208px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20box-shadow:\x200\x204px\x2012px\x20rgba(0,\x200,\x200,\x200.2);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20z-index:\x20999;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2014px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20animation:\x20messageSlideIn\x200.3s\x20ease;\x0a\x20\x20\x20\x20\x20\x20\x20\x20',_0x3a9af4['appendChild'](_0x36ff0f),setTimeout(()=>{_0x36ff0f['style']['animation']='messageSlideOut\x200.3s\x20ease',setTimeout(()=>_0x36ff0f['remove'](),0x12c);},0xbb8);}['clearEditor'](){if(!this['codeEditorInstance'])return;this['codeEditorInstance']['setValue'](''),this['editorState']['currentFile']=null,this['editorState']['originalContent']='',this['editorState']['currentContent']='';const _0x17e0b5=document['getElementById']('editor-filename');_0x17e0b5&&(_0x17e0b5['textContent']=window['i18n']['t']('newFile')),this['updateControlsVisibility']&&this['updateControlsVisibility'](),this['updateEditorSaveStatus']();}['getEditor'](){return this['codeEditorInstance'];}['getValue'](){return this['codeEditorInstance']?this['codeEditorInstance']['getValue']():'';}['setValue'](_0xf5c3d0){this['codeEditorInstance']&&(this['codeEditorInstance']['setValue'](_0xf5c3d0||''),this['editorState']['currentContent']=_0xf5c3d0||'');}['scrollToLink'](_0x13d634){if(!this['codeEditorInstance']||!_0x13d634)return!0x1;const _0x3f3418=document['getElementById']('code-editor-panel'),_0x4b7dca=document['getElementById']('open-editor-btn');_0x3f3418&&!_0x3f3418['classList']['contains']('visible')&&(_0x3f3418['classList']['add']('visible'),_0x4b7dca&&_0x4b7dca['classList']['add']('active'));const _0x5cd476='<link\x20name=\x22'+_0x13d634+'\x22',_0x2bf581='<body\x20name=\x22'+_0x13d634+'\x22';let _0xffc652=this['codeEditorInstance']['searchAndScroll'](_0x5cd476,!0x0);return _0xffc652||(_0xffc652=this['codeEditorInstance']['searchAndScroll'](_0x2bf581,!0x0)),_0xffc652;}['scrollToJoint'](_0x33cc8a){if(!this['codeEditorInstance']||!_0x33cc8a)return!0x1;const _0x5769a5=document['getElementById']('code-editor-panel'),_0x45baeb=document['getElementById']('open-editor-btn');_0x5769a5&&!_0x5769a5['classList']['contains']('visible')&&(_0x5769a5['classList']['add']('visible'),_0x45baeb&&_0x45baeb['classList']['add']('active'));const _0x21a9ac='<joint\x20name=\x22'+_0x33cc8a+'\x22';return this['codeEditorInstance']['searchAndScroll'](_0x21a9ac,!0x0);}['updateUrdfOriginRpy'](_0x434f9f,_0x1086b){var _0x271c83;if(!this['codeEditorInstance'])return!0x1;const _0x26a30d=this['codeEditorInstance']['getValue']();if(!_0x26a30d)return!0x1;try{const _0xa647b=new DOMParser()['parseFromString'](_0x26a30d,'text/xml');if(_0xa647b['querySelector']('parsererror'))return!0x1;const _0x4cf864=_0xa647b['querySelector']('joint[name=\x22'+_0x434f9f+'\x22]');if(!_0x4cf864)return!0x1;let _0x32d9bd=_0x4cf864['querySelector']('origin');_0x32d9bd||(_0x32d9bd=_0xa647b['createElement']('origin'),_0x4cf864['insertBefore'](_0x32d9bd,_0x4cf864['firstChild']));const _0x29fb5f=_0x1086b['map'](_0x4c4a1b=>parseFloat(_0x4c4a1b['toFixed'](0x4)))['join']('\x20');_0x32d9bd['setAttribute']('rpy',_0x29fb5f);const _0x377db3=new XMLSerializer()['serializeToString'](_0xa647b);this['codeEditorInstance']['setValue'](_0x377db3),this['editorState']['currentContent']=_0x377db3;const _0x18129a=document['getElementById']('editor-save-status');return _0x18129a&&(_0x18129a['textContent']=(null==(_0x271c83=window['i18n'])?void 0x0:_0x271c83['t']('unsaved'))||'未保存',_0x18129a['className']='status-unsaved'),!0x0;}catch(_0x54cf80){return!0x1;}}['getJointOriginRpy'](_0x3a9268){if(!this['codeEditorInstance'])return null;const _0x47c9c1=this['codeEditorInstance']['getValue']();if(!_0x47c9c1)return null;try{const _0x110199=new DOMParser()['parseFromString'](_0x47c9c1,'text/xml');if(_0x110199['querySelector']('parsererror'))return null;const _0x40235c=_0x110199['querySelector']('joint[name=\x22'+_0x3a9268+'\x22]');if(!_0x40235c)return null;const _0x104cbb=_0x40235c['querySelector']('origin');if(!_0x104cbb)return[0x0,0x0,0x0];const _0x67d373=_0x104cbb['getAttribute']('rpy');return _0x67d373?_0x67d373['trim']()['split'](/\s+/)['map'](parseFloat):[0x0,0x0,0x0];}catch(_0x5116a3){return null;}}}class Ji{constructor(_0x5cb73b){this['sceneManager']=_0x5cb73b,this['selectedObjects']=[];}['handleSelection'](_0x155678,_0x2988df,_0x10ed3b){const _0x232f61=this['selectedObjects']['findIndex'](_0x10b16d=>_0x10b16d['name']===_0x155678['name']&&_0x10b16d['type']===_0x10ed3b);if(_0x232f61>=0x0)this['selectedObjects']['splice'](_0x232f61,0x1),_0x472736(_0x2988df)['classed']('measurement-selected',!0x1);else{if(this['selectedObjects']['length']>=0x2){const _0x5d076e=this['selectedObjects']['shift'](),_0x42e260=_0x472736('#model-graph-svg');'joint'===_0x5d076e['type']?_0x42e260['selectAll']('.graph-joint-group')['filter'](_0x494317=>{var _0x408e81,_0x6352b7;return(null==(_0x6352b7=null==(_0x408e81=_0x494317['target'])?void 0x0:_0x408e81['data'])?void 0x0:_0x6352b7['jointName'])===_0x5d076e['name'];})['classed']('measurement-selected',!0x1):'link'===_0x5d076e['type']&&_0x42e260['selectAll']('.graph-node')['filter'](_0x5c07d4=>{var _0x2d43b6,_0x306b0c;return(null==(_0x306b0c=null==(_0x2d43b6=_0x5c07d4['data'])?void 0x0:_0x2d43b6['data'])?void 0x0:_0x306b0c['name'])===_0x5d076e['name'];})['classed']('measurement-selected',!0x1);}this['selectedObjects']['push']({..._0x155678,'type':_0x10ed3b}),_0x472736(_0x2988df)['classed']('measurement-selected',!0x0);}0x2===this['selectedObjects']['length']?this['showMeasurement'](this['selectedObjects'][0x0],this['selectedObjects'][0x1]):this['sceneManager']&&this['sceneManager']['measurementManager']['clearMeasurement']();}['showMeasurement'](_0x528868,_0x916460){if(!this['sceneManager'])return;const _0x14b5c8=_0x287332=>{var _0x2c7d14;const _0x10552d=new _0x220444();return'joint'===_0x287332['type']&&_0x287332['threeObject']?_0x287332['threeObject']['getWorldPosition'](_0x10552d):'link'===_0x287332['type']&&('ground'===_0x287332['name']?_0x10552d['set'](0x0,(null==(_0x2c7d14=this['sceneManager']['groundPlane'])?void 0x0:_0x2c7d14['position']['y'])||0x0,0x0):_0x287332['threeObject']&&_0x287332['threeObject']['getWorldPosition'](_0x10552d)),_0x10552d;},_0x3fd309=_0x14b5c8(_0x528868),_0x10eb32=_0x14b5c8(_0x916460),_0x374dd2='ground'===_0x528868['name']||'ground'===_0x916460['name'],_0x10c7a4={'x':_0x10eb32['x']-_0x3fd309['x'],'y':_0x10eb32['y']-_0x3fd309['y'],'z':_0x10eb32['z']-_0x3fd309['z']},_0x39acee=_0x3fd309['distanceTo'](_0x10eb32),_0x30683a='ground'===_0x528868['name']?'Ground':_0x528868['name'],_0x3bbcb7='ground'===_0x916460['name']?'Ground':_0x916460['name'];this['sceneManager']['measurementManager']['showMeasurement'](_0x3fd309,_0x10eb32,_0x10c7a4,_0x39acee,_0x30683a,_0x3bbcb7,_0x374dd2);}['updateMeasurement'](){0x2===this['selectedObjects']['length']&&this['showMeasurement'](this['selectedObjects'][0x0],this['selectedObjects'][0x1]);}['clearMeasurement'](){this['selectedObjects']=[];const _0x25bd31=_0x472736('#model-graph-svg');_0x25bd31['selectAll']('.graph-node')['classed']('measurement-selected',!0x1),_0x25bd31['selectAll']('.graph-joint-group')['classed']('measurement-selected',!0x1),this['sceneManager']&&this['sceneManager']['measurementManager']['clearMeasurement']();}['getSelectedObjects'](){return this['selectedObjects'];}}class Hi{constructor(_0x2a9c98){this['container']=_0x2a9c98,this['iframe']=null,this['isReady']=!0x1,this['messageHandlers']=new Map(),this['handleMessage']=this['handleMessage']['bind'](this),window['addEventListener']('message',this['handleMessage']);}async['initialize'](){if(!this['isReady']&&!this['iframe'])return new Promise((_0x254f90,_0x580170)=>{const _0x2db68d=setTimeout(()=>{_0x580170(new Error('USD\x20viewer\x20initialization\x20timeout'));},0x7530);this['messageHandlers']['set']('IFRAME_READY',_0x2ef851=>{var _0x663706;'IFRAME_READY'===(null==(_0x663706=_0x2ef851['data'])?void 0x0:_0x663706['type'])&&(clearTimeout(_0x2db68d),this['messageHandlers']['delete']('IFRAME_READY'),this['isReady']=!0x0,_0x254f90());}),this['iframe']=document['createElement']('iframe'),this['iframe']['src']='/usd-iframe.html',this['iframe']['style']['cssText']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width:\x20100%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height:\x20100%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border:\x20none;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display:\x20block;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pointer-events:\x20all;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20',this['container']['appendChild'](this['iframe']);});}['handleMessage'](_0x14555f){const _0x3debbc=_0x14555f['data'];if(!_0x3debbc||'object'!=typeof _0x3debbc)return;if(!['IFRAME_READY','USD_LOADED','USD_LOADING_START','USD_ERROR']['includes'](_0x3debbc['type']))return;const _0x36bb59=this['messageHandlers']['get'](_0x3debbc['type']);_0x36bb59&&('function'==typeof _0x36bb59?_0x36bb59(_0x14555f):Array['isArray'](_0x36bb59)&&_0x36bb59['forEach'](_0x53aa34=>_0x53aa34(_0x14555f)));}['on'](_0x1dfdbe,_0x19fdd2){const _0x198433=this['messageHandlers']['get'](_0x1dfdbe);_0x198433?'function'==typeof _0x198433?this['messageHandlers']['set'](_0x1dfdbe,[_0x198433,_0x19fdd2]):_0x198433['push'](_0x19fdd2):this['messageHandlers']['set'](_0x1dfdbe,_0x19fdd2);}['postMessage'](_0x5be837,_0x2d7ffb={}){if(this['iframe'])try{this['iframe']['contentWindow']['postMessage']({'type':_0x5be837,..._0x2d7ffb},'*');}catch(_0x2d8a5e){}}async['loadFromFile'](_0x113b89){await this['initialize']();const _0x50ad23=await _0x113b89['arrayBuffer'](),_0x567ec6=[{'path':_0x113b89['name'],'buffer':_0x50ad23}];return new Promise((_0x40589f,_0x4cca92)=>{const _0x3c9832=setTimeout(()=>_0x4cca92(new Error('Load\x20timeout')),0xea60);this['on']('USD_LOADED',()=>{clearTimeout(_0x3c9832),this['messageHandlers']['delete']('USD_LOADED'),_0x40589f();}),this['postMessage']('USD_LOAD_ENTRIES',{'entries':_0x567ec6,'primaryPath':_0x113b89['name']});});}async['loadFromFilesMap'](_0x42d84d,_0x1f5f30){await this['initialize']();const _0x2d6bc6=[];for(const [_0x561693,_0x129ce3]of Object['entries'](_0x42d84d))try{const _0x37828e=await _0x129ce3['arrayBuffer']();_0x2d6bc6['push']({'path':_0x561693,'buffer':_0x37828e});}catch(_0x1b27d7){}return new Promise((_0x5530fa,_0x2b36f3)=>{const _0x108e93=setTimeout(()=>_0x2b36f3(new Error('Load\x20timeout')),0xea60);this['on']('USD_LOADED',()=>{clearTimeout(_0x108e93),this['messageHandlers']['delete']('USD_LOADED'),_0x5530fa();}),this['postMessage']('USD_LOAD_ENTRIES',{'entries':_0x2d6bc6,'primaryPath':_0x1f5f30});});}['clear'](){this['isReady']&&this['postMessage']('USD_CLEAR');}['show'](){this['container']&&(this['container']['style']['display']='block');}['hide'](){this['container']&&(this['container']['style']['display']='none');}['dispose'](){var _0x2de39a;window['removeEventListener']('message',this['handleMessage']),(null==(_0x2de39a=this['iframe'])?void 0x0:_0x2de39a['parentNode'])&&this['iframe']['parentNode']['removeChild'](this['iframe']),this['iframe']=null,this['isReady']=!0x1,this['messageHandlers']['clear']();}}class Gi{constructor(_0x2e601c,_0x2a4d96,_0x4eb5ea,_0x457272,_0x86d89a){this['scene']=_0x2e601c,this['renderer']=_0x2a4d96,this['camera']=_0x4eb5ea,this['mousePos']=new _0x228015(),this['raycaster']=new _0x173557(),this['raycaster']['params']['Line']['threshold']=0.1,this['grabDistance']=0x0,this['active']=!0x1,this['physicsObject']=null,this['controls']=_0x86d89a,this['arrow']=new _0x3c3717(new _0x220444(0x0,0x1,0x0),new _0x220444(0x0,0x0,0x0),0xf,0x666666),this['arrow']['setLength'](0xf,0x3,0x1),this['scene']['add'](this['arrow']),this['arrow']['line']['material']['transparent']=!0x0,this['arrow']['cone']['material']['transparent']=!0x0,this['arrow']['line']['material']['opacity']=0.5,this['arrow']['cone']['material']['opacity']=0.5,this['arrow']['visible']=!0x1,this['previouslySelected']=null,this['highlightColor']=0xffffff,this['originalEmissive']=new Map(),this['localHit']=new _0x220444(),this['worldHit']=new _0x220444(),this['currentWorld']=new _0x220444(),this['enabled']=!0x1,this['container']=_0x457272,this['boundOnPointer']=this['onPointer']['bind'](this),this['mouseDown']=!0x1;}['enable'](){this['enabled']||(this['enabled']=!0x0,this['container']['addEventListener']('pointerdown',this['boundOnPointer'],!0x0),document['addEventListener']('pointermove',this['boundOnPointer'],!0x0),document['addEventListener']('pointerup',this['boundOnPointer'],!0x0),document['addEventListener']('pointerout',this['boundOnPointer'],!0x0));}['disable'](){this['enabled']&&(this['enabled']=!0x1,this['container']['removeEventListener']('pointerdown',this['boundOnPointer'],!0x0),document['removeEventListener']('pointermove',this['boundOnPointer'],!0x0),document['removeEventListener']('pointerup',this['boundOnPointer'],!0x0),document['removeEventListener']('pointerout',this['boundOnPointer'],!0x0),this['active']&&this['end']());}['updateRaycaster'](_0x42eb9e,_0x1a39e2){const _0xe43544=this['renderer']['domElement']['getBoundingClientRect']();this['mousePos']['x']=(_0x42eb9e-_0xe43544['left'])/_0xe43544['width']*0x2-0x1,this['mousePos']['y']=-(_0x1a39e2-_0xe43544['top'])/_0xe43544['height']*0x2+0x1,this['raycaster']['setFromCamera'](this['mousePos'],this['camera']);}['start'](_0x13c530,_0x2a144c){this['physicsObject']=null,this['updateRaycaster'](_0x13c530,_0x2a144c);const _0x32c95d=this['raycaster']['intersectObjects'](this['scene']['children'],!0x0);for(let _0x374f85=0x0;_0x374f85<_0x32c95d['length'];_0x374f85++){const _0x3bf83d=_0x32c95d[_0x374f85]['object'];if(void 0x0!==_0x3bf83d['bodyID']&&_0x3bf83d['bodyID']>0x0){this['physicsObject']=_0x3bf83d,this['grabDistance']=_0x32c95d[_0x374f85]['distance'];const _0x104f6d=this['raycaster']['ray']['origin']['clone']();_0x104f6d['addScaledVector'](this['raycaster']['ray']['direction'],this['grabDistance']),this['arrow']['position']['copy'](_0x104f6d),this['active']=!0x0,this['controls']['enabled']=!0x1,this['localHit']=_0x3bf83d['worldToLocal'](_0x104f6d['clone']()),this['worldHit']['copy'](_0x104f6d),this['currentWorld']['copy'](_0x104f6d),this['arrow']['visible']=!0x0,this['highlightBody'](_0x3bf83d);break;}}}['move'](_0x3a01fd,_0x8f8ebb){if(this['active']){this['updateRaycaster'](_0x3a01fd,_0x8f8ebb);const _0x3f0757=this['raycaster']['ray']['origin']['clone']();_0x3f0757['addScaledVector'](this['raycaster']['ray']['direction'],this['grabDistance']),this['currentWorld']['copy'](_0x3f0757),this['update']();}}['update'](){this['worldHit']&&this['localHit']&&this['currentWorld']&&this['arrow']&&this['physicsObject']&&(this['worldHit']['copy'](this['localHit']),this['physicsObject']['localToWorld'](this['worldHit']),this['arrow']['position']['copy'](this['worldHit']),this['arrow']['setDirection'](this['currentWorld']['clone']()['sub'](this['worldHit'])['normalize']()),this['arrow']['setLength'](this['currentWorld']['clone']()['sub'](this['worldHit'])['length']()));}['end'](){this['physicsObject']&&this['unhighlightBody'](this['physicsObject']),this['physicsObject']=null,this['active']=!0x1,this['controls']['enabled']=!0x0,this['arrow']['visible']=!0x1,this['mouseDown']=!0x1;}['highlightBody'](_0x3402eb){let _0x3ba522=_0x3402eb;for(;_0x3ba522&&!_0x3ba522['isGroup'];)_0x3ba522=_0x3ba522['parent'];_0x3ba522&&_0x3ba522['traverse'](_0x178fad=>{_0x178fad['isMesh']&&_0x178fad['material']&&_0x178fad['material']['emissive']&&(this['originalEmissive']['has'](_0x178fad['uuid'])||this['originalEmissive']['set'](_0x178fad['uuid'],{'color':_0x178fad['material']['emissive']['clone'](),'intensity':_0x178fad['material']['emissiveIntensity']||0x0}),_0x178fad['material']['emissive']['setHex'](this['highlightColor']),_0x178fad['material']['emissiveIntensity']=0.5);});}['unhighlightBody'](_0x5a871b){let _0x3ca7f9=_0x5a871b;for(;_0x3ca7f9&&!_0x3ca7f9['isGroup'];)_0x3ca7f9=_0x3ca7f9['parent'];_0x3ca7f9&&_0x3ca7f9['traverse'](_0x1f399e=>{if(_0x1f399e['isMesh']&&_0x1f399e['material']&&this['originalEmissive']['has'](_0x1f399e['uuid'])){const _0x3cf2bb=this['originalEmissive']['get'](_0x1f399e['uuid']);_0x1f399e['material']['emissive']&&(_0x1f399e['material']['emissive']['copy'](_0x3cf2bb['color']),_0x1f399e['material']['emissiveIntensity']=_0x3cf2bb['intensity']),this['originalEmissive']['delete'](_0x1f399e['uuid']);}});}['onPointer'](_0x4fc8c9){this['enabled']&&('pointerdown'===_0x4fc8c9['type']?(this['start'](_0x4fc8c9['clientX'],_0x4fc8c9['clientY']),this['mouseDown']=!0x0):'pointermove'===_0x4fc8c9['type']&&this['mouseDown']?this['active']&&this['move'](_0x4fc8c9['clientX'],_0x4fc8c9['clientY']):'pointerup'===_0x4fc8c9['type']&&this['end'](_0x4fc8c9));}}class Wi{constructor(_0x1f84e0){this['sceneManager']=_0x1f84e0,this['mujoco']=null,this['model']=null,this['simulation']=null,this['state']=null,this['data']=null,this['bodies']={},this['bodyToThreeMap']=new Map(),this['lights']=[],this['mujocoRoot']=null,this['dragStateManager']=null,this['originalModel']=null,this['params']={'paused':!0x0,'ctrlnoiserate':0x0,'ctrlnoisestd':0x0},this['mujoco_time']=0x0,this['tmpVec']=new _0x220444(),this['tmpQuat']=new _0x3c39ce(),this['isLoaded']=!0x1,this['isSimulating']=!0x1,this['isOldAPI']=!0x1;}async['init'](){if(this['mujoco'])return this['mujoco'];try{const _0x56bd14=(await Ae(()=>import('./mujoco_wasm-eda98632.js'),["./mujoco_wasm-eda98632.js","./three-9c891de0.js","./d3-2e308866.js","./codemirror-c3cec7b3.js","./codemirror-themes-e6995a6a.js"],import.meta.url))['default'];return this['mujoco']=await _0x56bd14(),this['mujoco']['FS']['mkdir']('/working'),this['mujoco']['FS']['mount'](this['mujoco']['MEMFS'],{'root':'.'},'/working'),this['mujoco'];}catch(_0x1bf1b9){throw _0x1bf1b9;}}async['loadScene'](_0x527a85,_0x3eb957,_0x547e69,_0x36f171){try{this['mujoco']||await this['init'](),this['clearScene'](),this['originalModel']=_0x36f171;const _0x1f2ec6=this['addGroundPlane'](_0x527a85),_0x551188='/working/'+_0x3eb957;this['mujoco']['FS']['writeFile'](_0x551188,_0x1f2ec6),_0x547e69&&_0x547e69['size']>0x0&&await this['writeAssetsToVFS'](_0x527a85,_0x3eb957,_0x547e69);try{if(this['mujoco']['Model']&&'function'==typeof this['mujoco']['Model']['load_from_xml'])this['model']=this['mujoco']['Model']['load_from_xml'](_0x551188),this['state']=new this['mujoco']['State'](this['model']),this['simulation']=new this['mujoco']['Simulation'](this['model'],this['state']);else{if(!this['mujoco']['MjModel']||'function'!=typeof this['mujoco']['MjModel']['loadFromXML'])throw new Error('Cannot\x20find\x20MuJoCo\x20model\x20loading\x20method');this['model']=this['mujoco']['MjModel']['loadFromXML'](_0x551188),this['data']=new this['mujoco']['MjData'](this['model']),this['isOldAPI']=!0x0;}}catch(_0x54719d){let _0x1a7c5a='MuJoCo\x20model\x20loading\x20failed:\x20';throw _0x54719d['message']?_0x1a7c5a+=_0x54719d['message']:_0x1a7c5a+='Unknown\x20error',_0x54719d['message']&&(_0x54719d['message']['includes']('mesh')||_0x54719d['message']['includes']('mjCMesh'))&&(_0x1a7c5a+='\x0a\x0aThis\x20is\x20usually\x20caused\x20by\x20one\x20of\x20the\x20following:',_0x1a7c5a+='\x0a1.\x20Mesh\x20file\x20path\x20is\x20incorrect\x20or\x20file\x20is\x20missing',_0x1a7c5a+='\x0a2.\x20Mesh\x20file\x20format\x20is\x20not\x20supported\x20or\x20corrupted',_0x1a7c5a+='\x0a3.\x20Mesh\x20file\x20was\x20not\x20properly\x20written\x20to\x20virtual\x20file\x20system'),new Error(_0x1a7c5a);}if(await this['createThreeScene'](),this['isOldAPI']?(this['mujoco']['mj_resetData'](this['model'],this['data']),this['mujoco']['mj_forward'](this['model'],this['data'])):(this['simulation']['resetData'](),this['simulation']['forward']()),this['isLoaded']=!0x0,this['params']['paused']=!0x0,!this['dragStateManager']){const _0x2e5e4f=this['sceneManager']['renderer']['domElement'];this['dragStateManager']=new Gi(this['sceneManager']['scene'],this['sceneManager']['renderer'],this['sceneManager']['camera'],_0x2e5e4f,this['sceneManager']['controls']);}return null;}catch(_0x6543b4){throw _0x6543b4;}}['addGroundPlane'](_0x4b04d9){const _0x25136b=new DOMParser()['parseFromString'](_0x4b04d9,'application/xml'),_0x236e9e=_0x25136b['querySelector']('worldbody');if(!_0x236e9e)return _0x4b04d9;if(_0x236e9e['querySelector']('geom[type=\x22plane\x22]'))return _0x4b04d9;const _0xffe1ff=this['sceneManager']['groundPlane']?this['sceneManager']['groundPlane']['position']['y']:0x0,_0x3b9a2f=_0x25136b['createElement']('geom');_0x3b9a2f['setAttribute']('name','ground'),_0x3b9a2f['setAttribute']('type','plane'),_0x3b9a2f['setAttribute']('size','10\x2010\x200.1'),_0x3b9a2f['setAttribute']('rgba','0.9\x200.9\x200.9\x201'),_0x3b9a2f['setAttribute']('pos','0\x200\x20'+_0xffe1ff),_0x3b9a2f['setAttribute']('contype','1'),_0x3b9a2f['setAttribute']('conaffinity','1'),_0x3b9a2f['setAttribute']('condim','3'),_0x3b9a2f['setAttribute']('friction','1\x200.005\x200.0001'),_0x236e9e['firstChild']?_0x236e9e['insertBefore'](_0x3b9a2f,_0x236e9e['firstChild']):_0x236e9e['appendChild'](_0x3b9a2f);return new XMLSerializer()['serializeToString'](_0x25136b);}async['writeAssetsToVFS'](_0xb8bb9c,_0x2db6a6,_0x3e6eb8){const _0x106e69=new DOMParser()['parseFromString'](_0xb8bb9c,'application/xml'),_0x5d838c=_0x106e69['querySelector']('compiler'),_0x3cb1be=(null==_0x5d838c?void 0x0:_0x5d838c['getAttribute']('meshdir'))||'assets',_0x2486e2=(null==_0x5d838c?void 0x0:_0x5d838c['getAttribute']('texturedir'))||_0x3cb1be,_0x57a32f=new Set(),_0x3dd3a6=new Map();_0x106e69['querySelectorAll']('mesh[file]')['forEach'](_0x285c85=>{const _0x441014=_0x285c85['getAttribute']('file');if(_0x441014){const _0x38a515=this['resolvePath'](_0x2db6a6,_0x3cb1be,_0x441014);_0x57a32f['add'](_0x38a515),_0x3dd3a6['set'](_0x38a515,{'original':_0x441014,'element':_0x285c85});}}),_0x106e69['querySelectorAll']('texture[file]')['forEach'](_0xa1ed14=>{const _0xc7fd59=_0xa1ed14['getAttribute']('file');_0xc7fd59&&_0x57a32f['add'](this['resolvePath'](_0x2db6a6,_0x2486e2,_0xc7fd59));});let _0xe1ae5c=0x0;const _0x413219=[],_0xd6fd28=[];for(const _0x563bd7 of _0x57a32f){const _0x31db47=new Set();for(const _0x28cace of _0x3e6eb8['keys']())if(_0x28cace['startsWith']('/')){const _0x40e3e8=_0x28cace['split']('/');_0x40e3e8['length']>0x1&&_0x31db47['add'](_0x40e3e8[0x1]);}const _0x3d31b0=[_0x563bd7,'/'+_0x563bd7,'mjcf/'+_0x563bd7,'/mjcf/'+_0x563bd7,_0x563bd7['split']('/')['pop']()];for(const _0x5c140c of _0x31db47)_0x3d31b0['push']('/'+_0x5c140c+'/mjcf/'+_0x563bd7),_0x3d31b0['push'](_0x5c140c+'/mjcf/'+_0x563bd7);let _0x27da17=null;for(const _0x494a92 of _0x3d31b0)if(_0x27da17=_0x3e6eb8['get'](_0x494a92),_0x27da17)break;if(!_0x27da17){const _0x54425a=_0x563bd7['toLowerCase'](),_0x3d5948=_0x563bd7['split']('/')['pop']()['toLowerCase']();for(const [_0x5bbb85,_0x5228ef]of _0x3e6eb8['entries']()){const _0x11c0ab=_0x5bbb85['toLowerCase'](),_0x4e88c7=_0x5bbb85['split']('/')['pop']()['toLowerCase']();if(_0x11c0ab===_0x54425a||_0x11c0ab['endsWith']('/'+_0x54425a)||_0x4e88c7===_0x3d5948||_0x11c0ab['includes'](_0x54425a)){_0x27da17=_0x5228ef;break;}}}if(_0x27da17)try{const _0x25850b='/working/'+_0x563bd7;this['ensureDir'](_0x25850b);const _0x33395a=_0x563bd7['toLowerCase']()['split']('.')['pop']();if(['obj','stl','png','jpg','jpeg','bmp']['includes'](_0x33395a)){const _0x2455e3=await _0x27da17['arrayBuffer']();this['mujoco']['FS']['writeFile'](_0x25850b,new Uint8Array(_0x2455e3));}else{const _0x2b5e42=await _0x27da17['text']();this['mujoco']['FS']['writeFile'](_0x25850b,_0x2b5e42);}try{if(!this['mujoco']['FS']['stat'](_0x25850b))throw new Error('File\x20write\x20verification\x20failed');}catch(_0x511ca6){throw new Error('File\x20write\x20verification\x20failed');}_0xe1ae5c++;}catch(_0x17d580){const _0x2112b4=_0x3dd3a6['get'](_0x563bd7),_0x600a9a=_0x2112b4?_0x2112b4['original']:_0x563bd7;_0xd6fd28['push']({'path':_0x600a9a,'error':_0x17d580['message']});}else{const _0x4b7018=_0x3dd3a6['get'](_0x563bd7),_0x4f0d71=_0x4b7018?_0x4b7018['original']:_0x563bd7;_0x413219['push'](_0x4f0d71);}}if(_0x413219['length']>0x0||_0xd6fd28['length']>0x0){let _0x3d1e65='MuJoCo\x20asset\x20files\x20loading\x20failed:\x0a';throw _0x413219['length']>0x0&&(_0x3d1e65+='\x0aMissing\x20files\x20('+_0x413219['length']+'):\x0a',_0x413219['slice'](0x0,0xa)['forEach'](_0x52de88=>{_0x3d1e65+='\x20\x20-\x20'+_0x52de88+'\x0a';}),_0x413219['length']>0xa&&(_0x3d1e65+='\x20\x20...\x20'+(_0x413219['length']-0xa)+'\x20more\x20files\x20missing\x0a')),_0xd6fd28['length']>0x0&&(_0x3d1e65+='\x0aFailed\x20to\x20write\x20files\x20('+_0xd6fd28['length']+'):\x0a',_0xd6fd28['slice'](0x0,0xa)['forEach'](({path:_0x24a53c,error:_0x265ff3})=>{_0x3d1e65+='\x20\x20-\x20'+_0x24a53c+':\x20'+_0x265ff3+'\x0a';}),_0xd6fd28['length']>0xa&&(_0x3d1e65+='\x20\x20...\x20'+(_0xd6fd28['length']-0xa)+'\x20more\x20files\x20failed\x0a')),_0x3d1e65+='\x0aSuccessfully\x20loaded:\x20'+_0xe1ae5c+'\x20files',_0x3d1e65+='\x0a\x0aPlease\x20ensure\x20all\x20mesh\x20files\x20are\x20included\x20in\x20the\x20file\x20list.',new Error(_0x3d1e65);}}['resolvePath'](_0x2e2f56,_0x344f36,_0x36df6c){const _0x1f160a=_0x2e2f56['includes']('/')?_0x2e2f56['substring'](0x0,_0x2e2f56['lastIndexOf']('/')):'';if(_0x36df6c['startsWith']('/'))return _0x36df6c['substring'](0x1);const _0x392b7f=[];return _0x1f160a&&_0x392b7f['push'](_0x1f160a),_0x344f36&&'.'!==_0x344f36&&_0x392b7f['push'](_0x344f36),_0x392b7f['push'](_0x36df6c),_0x392b7f['join']('/');}['ensureDir'](_0x3f41a7){const _0x4b0709=_0x3f41a7['split']('/');let _0x4f58aa='';for(let _0x3b3c7f=0x0;_0x3b3c7f<_0x4b0709['length']-0x1;_0x3b3c7f++)_0x4f58aa+=(0x0===_0x3b3c7f?'':'/')+_0x4b0709[_0x3b3c7f],_0x4f58aa&&!this['mujoco']['FS']['analyzePath'](_0x4f58aa)['exists']&&this['mujoco']['FS']['mkdir'](_0x4f58aa);}async['createThreeScene'](){const _0xe6949a=this['model'];this['mujocoRoot']=new _0x135d71(),this['mujocoRoot']['name']='MuJoCo\x20Physics\x20Root',this['mujocoRoot']['userData']['isMuJoCo']=!0x0,this['mujocoRoot']['visible']=!0x1,this['bodies']={};const _0x33289b={},_0x59f983=new TextDecoder('utf-8'),_0x401ec4=new Uint8Array(_0xe6949a['names']),_0x4c27fc=new Map(),_0x20e380=new Map();if(this['originalModel'])for(const [_0x4a0ce0,_0x44e2be]of this['originalModel']['links']){const _0x32f63a=[],_0x56e70e=[];if(_0x44e2be['visuals']&&_0x44e2be['visuals']['length']>0x0)for(const _0x140b79 of _0x44e2be['visuals'])_0x140b79['threeObject']&&_0x140b79['threeObject']['traverse'](_0x4a1fca=>{if(_0x4a1fca['isMesh']&&_0x4a1fca['material']){let _0x4141e3;_0x4141e3=Array['isArray'](_0x4a1fca['material'])?_0x4a1fca['material']['map'](_0x7314af=>_0x7314af?_0x7314af['clone']():null):_0x4a1fca['material']['clone']?_0x4a1fca['material']['clone']():new _0xa4876a({'color':_0x4a1fca['material']['color']||0x808080,'transparent':_0x4a1fca['material']['transparent']||!0x1,'opacity':void 0x0!==_0x4a1fca['material']['opacity']?_0x4a1fca['material']['opacity']:0x1}),_0x32f63a['push'](_0x4141e3),_0x56e70e['push']({'material':_0x4141e3,'geometry':_0x140b79['geometry']});}});else _0x44e2be['threeObject']&&_0x44e2be['threeObject']['traverse'](_0x1cd1a0=>{if(_0x1cd1a0['isMesh']&&_0x1cd1a0['material']){let _0x1bb439;_0x1bb439=Array['isArray'](_0x1cd1a0['material'])?_0x1cd1a0['material']['map'](_0x15891c=>_0x15891c?_0x15891c['clone']():null):_0x1cd1a0['material']['clone']?_0x1cd1a0['material']['clone']():new _0xa4876a({'color':_0x1cd1a0['material']['color']||0x808080,'transparent':_0x1cd1a0['material']['transparent']||!0x1,'opacity':void 0x0!==_0x1cd1a0['material']['opacity']?_0x1cd1a0['material']['opacity']:0x1}),_0x32f63a['push'](_0x1bb439);}});_0x32f63a['length']>0x0&&(_0x4c27fc['set'](_0x4a0ce0,_0x32f63a),_0x20e380['set'](_0x4a0ce0,_0x56e70e));}const _0x35141e=this['sceneManager']['visualizationManager']['showCollision'];for(let _0x4d9526=0x0;_0x4d9526<_0xe6949a['ngeom'];_0x4d9526++){const _0xb39bd6=_0xe6949a['geom_group'][_0x4d9526];if(_0xb39bd6>=0x4)continue;const _0x422d11=_0xe6949a['geom_bodyid'][_0x4d9526],_0xfc6f91=_0xe6949a['geom_type'][_0x4d9526],_0xae680a=[_0xe6949a['geom_size'][0x3*_0x4d9526+0x0],_0xe6949a['geom_size'][0x3*_0x4d9526+0x1],_0xe6949a['geom_size'][0x3*_0x4d9526+0x2]];if(!this['bodies'][_0x422d11]){this['bodies'][_0x422d11]=new _0x135d71();const _0x2d2902=_0xe6949a['name_bodyadr'][_0x422d11];let _0xc663f1=_0x2d2902;for(;_0xc663f1<_0x401ec4['length']&&0x0!==_0x401ec4[_0xc663f1];)_0xc663f1++;const _0x4b2fb6=_0x401ec4['subarray'](_0x2d2902,_0xc663f1);this['bodies'][_0x422d11]['name']=_0x59f983['decode'](_0x4b2fb6),this['bodies'][_0x422d11]['bodyID']=_0x422d11;}let _0x508620=new _0x2e733b(_0xae680a[0x0]);if(_0xfc6f91==this['mujoco']['mjtGeom']['mjGEOM_SPHERE']['value'])_0x508620=new _0x2e733b(_0xae680a[0x0],0x20,0x20);else if(_0xfc6f91==this['mujoco']['mjtGeom']['mjGEOM_CAPSULE']['value'])_0x508620=new _0x37c03a(_0xae680a[0x0],0x2*_0xae680a[0x1],0x14,0x14);else if(_0xfc6f91==this['mujoco']['mjtGeom']['mjGEOM_CYLINDER']['value'])_0x508620=new _0x181a2b(_0xae680a[0x0],_0xae680a[0x0],0x2*_0xae680a[0x1],0x20);else if(_0xfc6f91==this['mujoco']['mjtGeom']['mjGEOM_BOX']['value'])_0x508620=new _0x20eddb(0x2*_0xae680a[0x0],0x2*_0xae680a[0x2],0x2*_0xae680a[0x1]);else if(_0xfc6f91==this['mujoco']['mjtGeom']['mjGEOM_ELLIPSOID']['value'])_0x508620=new _0x2e733b(0x1,0x20,0x20);else if(_0xfc6f91==this['mujoco']['mjtGeom']['mjGEOM_MESH']['value']){const _0x2c9fff=_0xe6949a['geom_dataid'][_0x4d9526];_0x2c9fff in _0x33289b?_0x508620=_0x33289b[_0x2c9fff]:(_0x508620=this['createMeshGeometry'](_0x2c9fff),_0x33289b[_0x2c9fff]=_0x508620);}const _0x27d5e7=this['bodies'][_0x422d11]['name'],_0x231255=this['bodies'][_0x422d11]['children']['length'];let _0x83bf6c,_0x18709f=!0x1,_0x22b39e=null;if(_0xfc6f91==this['mujoco']['mjtGeom']['mjGEOM_MESH']['value']&&_0x20e380['has'](_0x27d5e7)){const _0x21377b=_0xe6949a['geom_dataid'][_0x4d9526],_0x2d33d2=_0xe6949a['name_meshadr'][_0x21377b];let _0xbdec3e=_0x2d33d2;for(;_0xbdec3e<_0x401ec4['length']&&0x0!==_0x401ec4[_0xbdec3e];)_0xbdec3e++;const _0x559e36=_0x401ec4['subarray'](_0x2d33d2,_0xbdec3e),_0x1b6d07=_0x59f983['decode'](_0x559e36),_0x254255=_0x20e380['get'](_0x27d5e7);for(const _0x566139 of _0x254255)if(_0x566139['geometry']&&_0x566139['geometry']['filename']){const _0x58b1d0=_0x566139['geometry']['filename']['split']('/')['pop']()['split']('\x5c')['pop'](),_0x26d355=_0x58b1d0['replace'](/\.[^/.]+$/,''),_0x2fc831=_0x1b6d07+'.STL',_0x5890fd=_0x2fc831['replace'](/\.[^/.]+$/,'');if(_0x58b1d0===_0x1b6d07||_0x58b1d0['toLowerCase']()===_0x1b6d07['toLowerCase']()||_0x26d355===_0x1b6d07||_0x26d355['toLowerCase']()===_0x1b6d07['toLowerCase']()||_0x58b1d0===_0x2fc831||_0x58b1d0['toLowerCase']()===_0x2fc831['toLowerCase']()||_0x26d355===_0x5890fd||_0x26d355['toLowerCase']()===_0x5890fd['toLowerCase']()){if(Array['isArray'](_0x566139['material'])){const _0x4a1b4b=_0x566139['material'][0x0];_0x4a1b4b&&_0x4a1b4b['clone']?_0x83bf6c=_0x4a1b4b['clone']():_0x4a1b4b&&(_0x83bf6c=new _0xa4876a({'color':_0x4a1b4b['color']||0x808080,'transparent':_0x4a1b4b['transparent']||!0x1,'opacity':void 0x0!==_0x4a1b4b['opacity']?_0x4a1b4b['opacity']:0x1}));}else _0x566139['material']&&_0x566139['material']['clone']?_0x83bf6c=_0x566139['material']['clone']():_0x566139['material']&&(_0x83bf6c=new _0xa4876a({'color':_0x566139['material']['color']||0x808080,'transparent':_0x566139['material']['transparent']||!0x1,'opacity':void 0x0!==_0x566139['material']['opacity']?_0x566139['material']['opacity']:0x1}));if(_0x83bf6c&&(_0x83bf6c['isMeshPhongMaterial']||_0x83bf6c['isMeshStandardMaterial'])){if(void 0x0===_0x83bf6c['userData']['originalShininess'])if(_0x83bf6c['userData']['originalShininess']=void 0x0!==_0x83bf6c['shininess']?_0x83bf6c['shininess']:0x1e,_0x83bf6c['specular'])if(_0x83bf6c['specular']['isColor']){const _0x479979=_0x83bf6c['specular'];_0x479979['r']<0.1&&_0x479979['g']<0.1&&_0x479979['b']<0.1?_0x83bf6c['userData']['originalSpecular']=null:_0x83bf6c['userData']['originalSpecular']=_0x479979['clone']();}else _0x83bf6c['userData']['originalSpecular']=null;else _0x83bf6c['userData']['originalSpecular']=null;if(this['sceneManager']['visualizationManager']['showEnhancedLighting'])void 0x0!==_0x83bf6c['shininess']&&_0x83bf6c['shininess']<0x32&&(_0x83bf6c['shininess']=0x32),(!_0x83bf6c['specular']||_0x83bf6c['specular']['r']<0.2)&&(_0x83bf6c['specular']=new _0x25d7bf(0.3,0.3,0.3));else if(void 0x0!==_0x83bf6c['userData']['originalShininess']&&(_0x83bf6c['shininess']=_0x83bf6c['userData']['originalShininess']),null===_0x83bf6c['userData']['originalSpecular'])_0x83bf6c['specular']=new _0x25d7bf(0x111111);else if(_0x83bf6c['userData']['originalSpecular']){const _0x1e22e1=_0x83bf6c['userData']['originalSpecular'];_0x1e22e1['isColor']?_0x83bf6c['specular']=_0x1e22e1['clone']():_0x83bf6c['specular']=_0x1e22e1;}}_0x18709f=!0x0;break;}}if(_0x18709f&&this['originalModel']){const _0x217c42=this['originalModel']['links']['get'](_0x27d5e7);if(_0x217c42&&_0x217c42['visuals'])for(const _0x3dd99d of _0x217c42['visuals'])if(_0x3dd99d['geometry']&&_0x3dd99d['geometry']['filename']){const _0x159b1b=_0x3dd99d['geometry']['filename']['split']('/')['pop']()['split']('\x5c')['pop']();if(_0x159b1b['replace'](/\.[^/.]+$/,'')['toLowerCase']()===_0x1b6d07['toLowerCase']()||_0x159b1b['toLowerCase']()===(_0x1b6d07+'.STL')['toLowerCase']()){_0x3dd99d['userData']&&_0x3dd99d['userData']['rgba']&&(_0x22b39e=_0x3dd99d['userData']['rgba'],_0x83bf6c&&_0x83bf6c['color']&&(_0x83bf6c['color']['setRGB'](_0x22b39e['r'],_0x22b39e['g'],_0x22b39e['b']),_0x22b39e['a']<0x1&&(_0x83bf6c['transparent']=!0x0,_0x83bf6c['opacity']=_0x22b39e['a'])));break;}}}}if(!_0x18709f&&this['originalModel']){const _0x4f0609=this['originalModel']['links']['get'](_0x27d5e7);if(_0x4f0609&&_0x4f0609['visuals']&&_0x4f0609['visuals']['length']>0x0){const _0xc4e212=Math['min'](_0x231255,_0x4f0609['visuals']['length']-0x1),_0x52bc86=_0x4f0609['visuals'][_0xc4e212];_0x52bc86&&(_0x52bc86['userData']&&_0x52bc86['userData']['rgba']?_0x22b39e=_0x52bc86['userData']['rgba']:_0x52bc86['threeObject']&&_0x52bc86['threeObject']['traverse'](_0x44f6dd=>{if(_0x44f6dd['isMesh']&&_0x44f6dd['material']&&!_0x22b39e){const _0xfa1189=_0x44f6dd['material']['color'];_0x22b39e={'r':_0xfa1189['r'],'g':_0xfa1189['g'],'b':_0xfa1189['b'],'a':void 0x0!==_0x44f6dd['material']['opacity']?_0x44f6dd['material']['opacity']:0x1};}}));}}if(!_0x18709f){const _0x1781e0=_0x4c27fc['get'](_0x27d5e7);if(_0x1781e0&&_0x1781e0['length']>0x0){const _0x3b59d5=_0x1781e0[Math['min'](_0x231255,_0x1781e0['length']-0x1)];if(Array['isArray'](_0x3b59d5)){const _0x533a8f=_0x3b59d5[0x0];_0x533a8f&&_0x533a8f['clone']?_0x83bf6c=_0x533a8f['clone']():_0x533a8f&&(_0x83bf6c=new _0xa4876a({'color':_0x533a8f['color']||0x808080,'transparent':_0x533a8f['transparent']||!0x1,'opacity':void 0x0!==_0x533a8f['opacity']?_0x533a8f['opacity']:0x1}));}else _0x3b59d5&&_0x3b59d5['clone']?_0x83bf6c=_0x3b59d5['clone']():_0x3b59d5&&(_0x83bf6c=new _0xa4876a({'color':_0x3b59d5['color']||0x808080,'transparent':_0x3b59d5['transparent']||!0x1,'opacity':void 0x0!==_0x3b59d5['opacity']?_0x3b59d5['opacity']:0x1}));if(_0x83bf6c&&(_0x83bf6c['isMeshPhongMaterial']||_0x83bf6c['isMeshStandardMaterial'])){if(void 0x0===_0x83bf6c['userData']['originalShininess'])if(_0x83bf6c['userData']['originalShininess']=void 0x0!==_0x83bf6c['shininess']?_0x83bf6c['shininess']:0x1e,_0x83bf6c['specular'])if(_0x83bf6c['specular']['isColor']){const _0x4871bb=_0x83bf6c['specular'];_0x4871bb['r']<0.1&&_0x4871bb['g']<0.1&&_0x4871bb['b']<0.1?_0x83bf6c['userData']['originalSpecular']=null:_0x83bf6c['userData']['originalSpecular']=_0x4871bb['clone']();}else _0x83bf6c['userData']['originalSpecular']=null;else _0x83bf6c['userData']['originalSpecular']=null;if(this['sceneManager']['visualizationManager']['showEnhancedLighting'])void 0x0!==_0x83bf6c['shininess']&&_0x83bf6c['shininess']<0x32&&(_0x83bf6c['shininess']=0x32),(!_0x83bf6c['specular']||_0x83bf6c['specular']['r']<0.2)&&(_0x83bf6c['specular']=new _0x25d7bf(0.3,0.3,0.3));else if(void 0x0!==_0x83bf6c['userData']['originalShininess']&&(_0x83bf6c['shininess']=_0x83bf6c['userData']['originalShininess']),null===_0x83bf6c['userData']['originalSpecular'])_0x83bf6c['specular']=new _0x25d7bf(0x111111);else if(_0x83bf6c['userData']['originalSpecular']){const _0x48bdca=_0x83bf6c['userData']['originalSpecular'];_0x48bdca['isColor']?_0x83bf6c['specular']=_0x48bdca['clone']():_0x83bf6c['specular']=_0x48bdca;}}_0x18709f=!0x0;}}if(!_0x18709f){const _0x15d836=_0x22b39e?[_0x22b39e['r'],_0x22b39e['g'],_0x22b39e['b'],_0x22b39e['a']]:[_0xe6949a['geom_rgba'][0x4*_0x4d9526+0x0],_0xe6949a['geom_rgba'][0x4*_0x4d9526+0x1],_0xe6949a['geom_rgba'][0x4*_0x4d9526+0x2],_0xe6949a['geom_rgba'][0x4*_0x4d9526+0x3]],_0x2b3430=0x3===_0xb39bd6,_0x5c54d7=this['sceneManager']['visualizationManager']['showEnhancedLighting'];_0x83bf6c=new _0xa4876a({'color':_0x2b3430?new _0x25d7bf(0x0,0x1,0x0):new _0x25d7bf(_0x15d836[0x0],_0x15d836[0x1],_0x15d836[0x2]),'transparent':!!_0x2b3430||_0x15d836[0x3]<0x1,'opacity':_0x2b3430?0.3:_0x15d836[0x3],'shininess':_0x5c54d7?0x32:0x1e,'specular':_0x5c54d7?new _0x25d7bf(0.3,0.3,0.3):new _0x25d7bf(0x111111),'wireframe':!!_0x2b3430}),_0x83bf6c['userData']['originalShininess']=0x1e,_0x83bf6c['userData']['originalSpecular']=null;}if(_0x83bf6c['isMeshPhongMaterial']||_0x83bf6c['isMeshStandardMaterial']){if(this['sceneManager']['visualizationManager']['showEnhancedLighting'])_0x83bf6c['shininess']<0x32&&(_0x83bf6c['shininess']=0x32),(!_0x83bf6c['specular']||_0x83bf6c['specular']['isColor']&&_0x83bf6c['specular']['r']<0.2)&&(_0x83bf6c['specular']=new _0x25d7bf(0.3,0.3,0.3));else if(void 0x0!==_0x83bf6c['userData']['originalShininess']&&(_0x83bf6c['shininess']=_0x83bf6c['userData']['originalShininess']),null===_0x83bf6c['userData']['originalSpecular'])_0x83bf6c['specular']=new _0x25d7bf(0x111111);else if(_0x83bf6c['userData']['originalSpecular']){const _0x2ee3f4=_0x83bf6c['userData']['originalSpecular'];_0x2ee3f4['isColor']?_0x83bf6c['specular']=_0x2ee3f4['clone']():_0x83bf6c['specular']=_0x2ee3f4;}_0x83bf6c['needsUpdate']=!0x0;}let _0x4df402=_0x83bf6c;0x3===_0xb39bd6&&(_0x4df402=new _0xa4876a({'transparent':!0x0,'opacity':0.35,'shininess':2.5,'premultipliedAlpha':!0x0,'color':0xffbe38,'polygonOffset':!0x0,'polygonOffsetFactor':-0x1,'polygonOffsetUnits':-0x1}));const _0x4fd541=new _0x2c4c6c(_0x508620,_0x4df402);_0x4fd541['castShadow']=0x3!==_0xb39bd6,_0x4fd541['receiveShadow']=0x3!==_0xb39bd6,_0x4fd541['bodyID']=_0x422d11,0x3===_0xb39bd6&&(_0x4fd541['userData']['isCollisionGeom']=!0x0,_0x4fd541['visible']=_0x35141e),this['getPosition'](_0xe6949a['geom_pos'],_0x4d9526,_0x4fd541['position']),this['getQuaternion'](_0xe6949a['geom_quat'],_0x4d9526,_0x4fd541['quaternion']),_0xfc6f91==this['mujoco']['mjtGeom']['mjGEOM_ELLIPSOID']['value']&&_0x4fd541['scale']['set'](_0xae680a[0x0],_0xae680a[0x2],_0xae680a[0x1]),this['bodies'][_0x422d11]['add'](_0x4fd541);}for(let _0x31f955=0x0;_0x31f955<_0xe6949a['nbody'];_0x31f955++)this['bodies'][_0x31f955]||(this['bodies'][_0x31f955]=new _0x135d71(),this['bodies'][_0x31f955]['name']='body_'+_0x31f955,this['bodies'][_0x31f955]['bodyID']=_0x31f955),this['mujocoRoot']['add'](this['bodies'][_0x31f955]),this['bodies'][_0x31f955]['traverse'](_0x409e7b=>{_0x409e7b['isMesh']&&(_0x409e7b['bodyID']=_0x31f955);});return this['createVisualizationElements'](_0xe6949a),this['mujocoRoot'];}['createVisualizationElements'](_0x3dd277){var _0x2a5503,_0xed547d,_0x3cdb1b,_0x631681;const _0x475297=null==(_0x2a5503=document['getElementById']('toggle-axes-btn'))?void 0x0:_0x2a5503['classList']['contains']('active'),_0x3c31c6=null==(_0xed547d=document['getElementById']('toggle-joint-axes-btn'))?void 0x0:_0xed547d['classList']['contains']('active'),_0x147e87=null==(_0x3cdb1b=document['getElementById']('show-com'))?void 0x0:_0x3cdb1b['classList']['contains']('active'),_0x37688d=null==(_0x631681=document['getElementById']('show-inertia'))?void 0x0:_0x631681['classList']['contains']('active');for(let _0x1bdc65=0x0;_0x1bdc65<_0x3dd277['nbody'];_0x1bdc65++){if(!this['bodies'][_0x1bdc65])continue;const _0x382310=Oi['createAxesGeometry'](0.1);_0x382310['userData']['isVisualization']=!0x0,_0x382310['userData']['type']='axes',_0x382310['visible']=_0x475297,_0x382310['raycast']=()=>{};const _0x465750=new _0x3c39ce();_0x465750['setFromAxisAngle'](new _0x220444(0x1,0x0,0x0),-Math['PI']/0x2),_0x382310['quaternion']['copy'](_0x465750),this['bodies'][_0x1bdc65]['add'](_0x382310);const _0x4915c7=_0x3dd277['body_mass'][_0x1bdc65];if(_0x4915c7>0x0){const _0x1ed250=ki['createCOMGeometry'](0.02);_0x1ed250['userData']['isVisualization']=!0x0,_0x1ed250['userData']['type']='com',_0x1ed250['visible']=_0x147e87,this['getPosition'](_0x3dd277['body_ipos'],_0x1bdc65,_0x1ed250['position']),this['bodies'][_0x1bdc65]['add'](_0x1ed250);const _0x38fba9=_0x3dd277['body_inertia'][0x3*_0x1bdc65+0x0],_0x58a2f3=_0x3dd277['body_inertia'][0x3*_0x1bdc65+0x1],_0x4823c6={'ixx':_0x38fba9,'iyy':_0x3dd277['body_inertia'][0x3*_0x1bdc65+0x2],'izz':_0x58a2f3,'mass':_0x4915c7},_0x406728=Ue['computeInertiaBox'](_0x4823c6),_0x4def04=Ue['createInertiaBoxGeometry'](_0x406728['width'],_0x406728['height'],_0x406728['depth']),_0x9eb6e4=new _0xa4876a({'color':0x4a9eff,'transparent':!0x0,'opacity':0.35,'shininess':2.5,'polygonOffset':!0x0,'polygonOffsetFactor':-0x1,'polygonOffsetUnits':-0x1}),_0x4c936f=new _0x2c4c6c(_0x4def04,_0x9eb6e4);_0x4c936f['userData']['isVisualization']=!0x0,_0x4c936f['userData']['type']='inertia',_0x4c936f['visible']=_0x37688d,_0x4c936f['castShadow']=!0x1,_0x4c936f['receiveShadow']=!0x1,_0x4c936f['raycast']=()=>{},this['getPosition'](_0x3dd277['body_ipos'],_0x1bdc65,_0x4c936f['position']),_0x3dd277['body_iquat']&&this['getQuaternion'](_0x3dd277['body_iquat'],_0x1bdc65,_0x4c936f['quaternion']),this['bodies'][_0x1bdc65]['add'](_0x4c936f);}}for(let _0x1a19c9=0x0;_0x1a19c9<_0x3dd277['njnt'];_0x1a19c9++){const _0x2d91d0=_0x3dd277['jnt_type'][_0x1a19c9],_0x348f81=_0x3dd277['jnt_bodyid'][_0x1a19c9];if((_0x2d91d0===this['mujoco']['mjtJoint']['mjJNT_HINGE']['value']||_0x2d91d0===this['mujoco']['mjtJoint']['mjJNT_BALL']['value'])&&this['bodies'][_0x348f81]){const _0x5b3fdf=new _0x220444();if(this['getPosition'](_0x3dd277['jnt_axis'],_0x1a19c9,_0x5b3fdf),_0x5b3fdf['length']()>0.001){_0x5b3fdf['normalize']();const _0x595f96=Oi['createJointArrowGeometry'](_0x5b3fdf);_0x595f96['userData']['isVisualization']=!0x0,_0x595f96['userData']['type']='jointAxis',_0x595f96['visible']=_0x3c31c6,_0x595f96['raycast']=()=>{},this['getPosition'](_0x3dd277['jnt_pos'],_0x1a19c9,_0x595f96['position']),this['bodies'][_0x348f81]['add'](_0x595f96);}}}}['createMeshGeometry'](_0xb328c){const _0xe85df0=this['model'],_0x23baca=new _0x116076(),_0x3477db=_0xe85df0['mesh_vert']['subarray'](0x3*_0xe85df0['mesh_vertadr'][_0xb328c],0x3*(_0xe85df0['mesh_vertadr'][_0xb328c]+_0xe85df0['mesh_vertnum'][_0xb328c]));for(let _0x49bcb0=0x0;_0x49bcb0<_0x3477db['length'];_0x49bcb0+=0x3){const _0x93a849=_0x3477db[_0x49bcb0+0x1];_0x3477db[_0x49bcb0+0x1]=_0x3477db[_0x49bcb0+0x2],_0x3477db[_0x49bcb0+0x2]=-_0x93a849;}const _0x364777=_0xe85df0['mesh_normal']['subarray'](0x3*_0xe85df0['mesh_vertadr'][_0xb328c],0x3*(_0xe85df0['mesh_vertadr'][_0xb328c]+_0xe85df0['mesh_vertnum'][_0xb328c]));for(let _0x1e6312=0x0;_0x1e6312<_0x364777['length'];_0x1e6312+=0x3){const _0x522f12=_0x364777[_0x1e6312+0x1];_0x364777[_0x1e6312+0x1]=_0x364777[_0x1e6312+0x2],_0x364777[_0x1e6312+0x2]=-_0x522f12;}const _0x463aec=_0xe85df0['mesh_face']['subarray'](0x3*_0xe85df0['mesh_faceadr'][_0xb328c],0x3*(_0xe85df0['mesh_faceadr'][_0xb328c]+_0xe85df0['mesh_facenum'][_0xb328c]));return _0x23baca['setAttribute']('position',new _0x465d50(_0x3477db,0x3)),_0x23baca['setAttribute']('normal',new _0x465d50(_0x364777,0x3)),_0x23baca['setIndex'](Array['from'](_0x463aec)),_0x23baca['computeVertexNormals'](),_0x23baca;}['getPosition'](_0x5cb749,_0xea6d3f,_0x2b3d7e,_0x4cece9=!0x0){return _0x4cece9?_0x2b3d7e['set'](_0x5cb749[0x3*_0xea6d3f+0x0],_0x5cb749[0x3*_0xea6d3f+0x2],-_0x5cb749[0x3*_0xea6d3f+0x1]):_0x2b3d7e['set'](_0x5cb749[0x3*_0xea6d3f+0x0],_0x5cb749[0x3*_0xea6d3f+0x1],_0x5cb749[0x3*_0xea6d3f+0x2]);}['getQuaternion'](_0x259368,_0x2d437f,_0x1e83b7,_0x40a77b=!0x0){return _0x40a77b?_0x1e83b7['set'](-_0x259368[0x4*_0x2d437f+0x1],-_0x259368[0x4*_0x2d437f+0x3],_0x259368[0x4*_0x2d437f+0x2],-_0x259368[0x4*_0x2d437f+0x0]):_0x1e83b7['set'](_0x259368[0x4*_0x2d437f+0x1],_0x259368[0x4*_0x2d437f+0x2],_0x259368[0x4*_0x2d437f+0x3],_0x259368[0x4*_0x2d437f+0x0]);}['update'](_0x3e00db){if(!this['isLoaded']||!this['model'])return;if(!this['params']['paused']){const _0x1c53f0=this['isOldAPI']?this['model']['opt']['timestep']:this['model']['getOptions']()['timestep'];for(_0x3e00db-this['mujoco_time']>0x23&&(this['mujoco_time']=_0x3e00db);this['mujoco_time']<_0x3e00db;){if(this['isOldAPI'])for(let _0x1803a1=0x0;_0x1803a1<this['data']['qfrc_applied']['length'];_0x1803a1++)this['data']['qfrc_applied'][_0x1803a1]=0x0;if(this['dragStateManager']&&this['dragStateManager']['active']){const _0x4423fc=this['dragStateManager']['physicsObject'];if(_0x4423fc&&_0x4423fc['bodyID']){const _0x10c678=this['isOldAPI']?this['data']['xpos']:this['simulation']['xpos'],_0x132620=this['isOldAPI']?this['data']['xquat']:this['simulation']['xquat'];for(let _0xc64a7f=0x0;_0xc64a7f<this['model']['nbody'];_0xc64a7f++){const _0x35a44a=this['bodies'][_0xc64a7f];_0x35a44a&&(this['getPosition'](_0x10c678,_0xc64a7f,_0x35a44a['position']),this['getQuaternion'](_0x132620,_0xc64a7f,_0x35a44a['quaternion']),_0x35a44a['updateMatrixWorld'](!0x0));}this['dragStateManager']['update']();const _0x4e176f=_0x4423fc['bodyID'],_0x1c31ea=this['toMujocoPos'](this['dragStateManager']['currentWorld']['clone']()['sub'](this['dragStateManager']['worldHit'])['multiplyScalar'](0xfa*this['model']['body_mass'][_0x4e176f])),_0x5ddc37=this['toMujocoPos'](this['dragStateManager']['worldHit']['clone']());this['isOldAPI']&&this['mujoco']['mj_applyFT'](this['model'],this['data'],[_0x1c31ea['x'],_0x1c31ea['y'],_0x1c31ea['z']],[0x0,0x0,0x0],[_0x5ddc37['x'],_0x5ddc37['y'],_0x5ddc37['z']],_0x4e176f,this['data']['qfrc_applied']);}}this['isOldAPI']?this['mujoco']['mj_step'](this['model'],this['data']):this['simulation']['step'](),this['mujoco_time']+=0x3e8*_0x1c53f0;}}const _0xc215fd=this['isOldAPI']?this['data']['xpos']:this['simulation']['xpos'],_0x305f52=this['isOldAPI']?this['data']['xquat']:this['simulation']['xquat'];for(let _0x97cb2f=0x0;_0x97cb2f<this['model']['nbody'];_0x97cb2f++){const _0x326aa0=this['bodies'][_0x97cb2f];_0x326aa0&&(this['getPosition'](_0xc215fd,_0x97cb2f,_0x326aa0['position'],!0x0),this['getQuaternion'](_0x305f52,_0x97cb2f,_0x326aa0['quaternion'],!0x0),_0x326aa0['updateMatrixWorld'](!0x0));}this['params']['paused']||this['sceneManager']['redraw']();}['toMujocoPos'](_0x4600d8){return _0x4600d8['set'](_0x4600d8['x'],-_0x4600d8['z'],_0x4600d8['y']);}['reset'](){this['model']&&(this['isSimulating'],this['isOldAPI']?(this['mujoco']['mj_resetData'](this['model'],this['data']),this['mujoco']['mj_forward'](this['model'],this['data'])):(this['simulation']['resetData'](),this['simulation']['forward']()),this['mujoco_time']=0x0);}['startSimulation'](){this['params']['paused']=!0x1,this['isSimulating']=!0x0,this['mujocoRoot']&&(this['mujocoRoot']['parent']||this['sceneManager']['scene']['add'](this['mujocoRoot']),this['mujocoRoot']['visible']=!0x0),this['sceneManager']['currentModel']&&this['sceneManager']['currentModel']['threeObject']&&(this['sceneManager']['currentModel']['threeObject']['visible']=!0x1),this['dragStateManager']&&this['dragStateManager']['enable'](),this['sceneManager']['dragControls']&&(this['sceneManager']['dragControls']['enabled']=!0x1),this['sceneManager']['highlightManager']&&this['sceneManager']['highlightManager']['clearHighlight']();}['pauseSimulation'](){this['params']['paused']=!0x0,this['isSimulating']=!0x1,this['dragStateManager']&&this['dragStateManager']['disable'](),this['mujocoRoot']&&(this['mujocoRoot']['visible']=!0x1),this['sceneManager']['dragControls']&&(this['sceneManager']['dragControls']['enabled']=!0x0);}['toggleSimulation'](){return this['params']['paused']?this['startSimulation']():this['pauseSimulation'](),!this['params']['paused'];}['clearScene'](){if(this['isOldAPI']?(this['data']&&(this['data']['delete'](),this['data']=null),this['model']&&(this['model']['delete'](),this['model']=null)):(this['simulation']&&(this['simulation']['free'](),this['simulation']=null),this['state']&&(this['state']=null),this['model']&&(this['model']=null)),this['mujoco']&&this['mujoco']['FS'])try{const _0x23ef59=this['mujoco']['FS']['readdir']('/working');for(const _0xb5c0f9 of _0x23ef59)if('.'!==_0xb5c0f9&&'..'!==_0xb5c0f9)try{const _0x5591a8='/working/'+_0xb5c0f9,_0x477ffc=this['mujoco']['FS']['stat'](_0x5591a8);this['mujoco']['FS']['isDir'](_0x477ffc['mode'])?this['removeDirectory'](_0x5591a8):this['mujoco']['FS']['unlink'](_0x5591a8);}catch(_0x16b0f4){}}catch(_0x2d23e5){}this['mujocoRoot']&&(this['mujocoRoot']['parent']&&this['mujocoRoot']['parent']['remove'](this['mujocoRoot']),this['mujocoRoot']=null),this['sceneManager']['currentModel']&&this['sceneManager']['currentModel']['threeObject']&&(this['sceneManager']['currentModel']['threeObject']['visible']=!0x0),this['sceneManager']['dragControls']&&(this['sceneManager']['dragControls']['enabled']=!0x0),this['dragStateManager']&&(this['dragStateManager']['disable'](),this['dragStateManager']['arrow']&&this['dragStateManager']['arrow']['parent']&&this['dragStateManager']['arrow']['parent']['remove'](this['dragStateManager']['arrow']),this['dragStateManager']=null),this['originalModel']=null,this['bodies']={},this['lights']=[],this['isLoaded']=!0x1,this['isSimulating']=!0x1,this['params']['paused']=!0x0;}['removeDirectory'](_0x38df23){if(this['mujoco']&&this['mujoco']['FS'])try{const _0x3294b4=this['mujoco']['FS']['readdir'](_0x38df23);for(const _0x29358a of _0x3294b4)if('.'!==_0x29358a&&'..'!==_0x29358a){const _0x536ad8=_0x38df23+'/'+_0x29358a,_0x7f05cb=this['mujoco']['FS']['stat'](_0x536ad8);this['mujoco']['FS']['isDir'](_0x7f05cb['mode'])?this['removeDirectory'](_0x536ad8):this['mujoco']['FS']['unlink'](_0x536ad8);}this['mujoco']['FS']['rmdir'](_0x38df23);}catch(_0x2facf9){}}['toggleCollisionDisplay'](_0x2850c3){if(this['mujocoRoot']){for(let _0x473507=0x0;_0x473507<this['model']['nbody'];_0x473507++){const _0x200f90=this['bodies'][_0x473507];_0x200f90&&_0x200f90['children']['forEach'](_0x595d4f=>{_0x595d4f['userData']&&_0x595d4f['userData']['isCollisionGeom']&&(_0x595d4f['visible']=_0x2850c3);});}this['sceneManager']['redraw']();}}['toggleVisualDisplay'](_0x339f47){if(this['mujocoRoot']){for(let _0xaefd31=0x0;_0xaefd31<this['model']['nbody'];_0xaefd31++){const _0x420cfc=this['bodies'][_0xaefd31];_0x420cfc&&_0x420cfc['children']['forEach'](_0x1fd870=>{!_0x1fd870['isMesh']||_0x1fd870['userData']['isVisualization']||_0x1fd870['userData']['isCollisionGeom']||(_0x1fd870['visible']=_0x339f47);});}this['sceneManager']['redraw']();}}['hasVisibleVisualization'](_0x43d9fc){if(!this['mujocoRoot']||!this['model'])return!0x1;for(let _0x1c3e8d=0x0;_0x1c3e8d<this['model']['nbody'];_0x1c3e8d++){const _0x4164fc=this['bodies'][_0x1c3e8d];if(!_0x4164fc)continue;let _0x435100=!0x1;if(_0x4164fc['traverse'](_0x53fc83=>{!_0x435100&&_0x53fc83['userData']&&_0x53fc83['userData']['type']===_0x43d9fc&&_0x53fc83['visible']&&(_0x435100=!0x0);}),_0x435100)return!0x0;}return!0x1;}['updateVisualTransparency'](){var _0x5b02de;if(!this['mujocoRoot'])return;const _0x4c0d38=(null==(_0x5b02de=document['getElementById']('show-com'))?void 0x0:_0x5b02de['classList']['contains']('active'))||this['hasVisibleVisualization']('axes')||this['hasVisibleVisualization']('jointAxis');for(let _0x33bb3f=0x0;_0x33bb3f<this['model']['nbody'];_0x33bb3f++){const _0x9e2107=this['bodies'][_0x33bb3f];_0x9e2107&&_0x9e2107['children']['forEach'](_0x126ce2=>{!_0x126ce2['isMesh']||_0x126ce2['userData']['isVisualization']||_0x126ce2['userData']['isCollisionGeom']||ji['setMeshTransparency'](_0x126ce2,_0x4c0d38);});}this['sceneManager']['redraw']();}['toggleCOMDisplay'](_0x12bb07){if(this['mujocoRoot']){for(let _0xba649b=0x0;_0xba649b<this['model']['nbody'];_0xba649b++){const _0x22482d=this['bodies'][_0xba649b];_0x22482d&&_0x22482d['traverse'](_0x50d14e=>{_0x50d14e['userData']&&'com'===_0x50d14e['userData']['type']&&(_0x50d14e['visible']=_0x12bb07);});}this['updateVisualTransparency'](),this['sceneManager']['redraw']();}}['toggleInertiaDisplay'](_0x31ed45){if(this['mujocoRoot']){for(let _0x50ce78=0x0;_0x50ce78<this['model']['nbody'];_0x50ce78++){const _0x5f244b=this['bodies'][_0x50ce78];_0x5f244b&&_0x5f244b['traverse'](_0x1cf5fb=>{_0x1cf5fb['userData']&&'inertia'===_0x1cf5fb['userData']['type']&&(_0x1cf5fb['visible']=_0x31ed45);});}this['updateVisualTransparency'](),this['sceneManager']['redraw']();}}['toggleAxesDisplay'](_0x1e2175){if(this['mujocoRoot']){for(let _0x134430=0x0;_0x134430<this['model']['nbody'];_0x134430++){const _0x16589a=this['bodies'][_0x134430];_0x16589a&&_0x16589a['traverse'](_0x4ce06d=>{_0x4ce06d['userData']&&'axes'===_0x4ce06d['userData']['type']&&(_0x4ce06d['visible']=_0x1e2175);});}this['updateVisualTransparency'](),this['sceneManager']['redraw']();}}['toggleJointAxesDisplay'](_0x3fa471){if(this['mujocoRoot']){for(let _0x24f4df=0x0;_0x24f4df<this['model']['nbody'];_0x24f4df++){const _0x40f448=this['bodies'][_0x24f4df];_0x40f448&&_0x40f448['traverse'](_0x23ac17=>{_0x23ac17['userData']&&'jointAxis'===_0x23ac17['userData']['type']&&(_0x23ac17['visible']=_0x3fa471);});}this['updateVisualTransparency'](),this['sceneManager']['redraw']();}}['isSimulationRunning'](){return this['isSimulating'];}['hasScene'](){return this['isLoaded'];}}var Xi='undefined'!=typeof globalThis?globalThis:'undefined'!=typeof window?window:'undefined'!=typeof global?global:'undefined'!=typeof self?self:{};function Yi(_0x4399db){return _0x4399db&&_0x4399db['__esModule']&&Object['prototype']['hasOwnProperty']['call'](_0x4399db,'default')?_0x4399db['default']:_0x4399db;}/*
|
|
2
|
+
object-assign
|
|
3
|
+
(c) Sindre Sorhus
|
|
4
|
+
@license MIT
|
|
5
|
+
*/
|
|
6
|
+
var Zi=Object['getOwnPropertySymbols'],Qi=Object['prototype']['hasOwnProperty'],Ki=Object['prototype']['propertyIsEnumerable'];var es,ts,ns,is,ss,rs,as=(function(){try{if(!Object['assign'])return!0x1;var _0x2b15e3=new String('abc');if(_0x2b15e3[0x5]='de','5'===Object['getOwnPropertyNames'](_0x2b15e3)[0x0])return!0x1;for(var _0x377af1={},_0x159c4b=0x0;_0x159c4b<0xa;_0x159c4b++)_0x377af1['_'+String['fromCharCode'](_0x159c4b)]=_0x159c4b;if('0123456789'!==Object['getOwnPropertyNames'](_0x377af1)['map'](function(_0x23d900){return _0x377af1[_0x23d900];})['join'](''))return!0x1;var _0x28ab57={};return'abcdefghijklmnopqrst'['split']('')['forEach'](function(_0x2a546b){_0x28ab57[_0x2a546b]=_0x2a546b;}),'abcdefghijklmnopqrst'===Object['keys'](Object['assign']({},_0x28ab57))['join']('');}catch(_0xd113f2){return!0x1;}}())?Object['assign']:function(_0x19982c,_0x5978f0){for(var _0x3dbaa6,_0x427a56,_0x3dd117=function(_0x5bb7bf){if(null==_0x5bb7bf)throw new TypeError('Object.assign\x20cannot\x20be\x20called\x20with\x20null\x20or\x20undefined');return Object(_0x5bb7bf);}(_0x19982c),_0x224f54=0x1;_0x224f54<arguments['length'];_0x224f54++){for(var _0x10d2f7 in _0x3dbaa6=Object(arguments[_0x224f54]))Qi['call'](_0x3dbaa6,_0x10d2f7)&&(_0x3dd117[_0x10d2f7]=_0x3dbaa6[_0x10d2f7]);if(Zi){_0x427a56=Zi(_0x3dbaa6);for(var _0x2362ce=0x0;_0x2362ce<_0x427a56['length'];_0x2362ce++)Ki['call'](_0x3dbaa6,_0x427a56[_0x2362ce])&&(_0x3dd117[_0x427a56[_0x2362ce]]=_0x3dbaa6[_0x427a56[_0x2362ce]]);}}return _0x3dd117;},os={'exports':{}};function ls(){return ts?es:(ts=0x1,es=function(_0x2dd4bb,_0x593045,_0x6f8de0){_0x593045['forEach'](function(_0x403264){var _0x341429=_0x6f8de0[_0x403264];_0x2dd4bb['prototype'][_0x403264]=function(_0x58c360){return _0x58c360['ros']=this,new _0x341429(_0x58c360);};});});}function cs(){return is?ns:(is=0x1,ns='undefined'!=typeof window?window['WebSocket']:WebSocket);}var hs,us,ds,ps,ms,gs,fs,ys,vs,bs={'exports':{}};function ws(){return hs||(hs=0x1,(function(){function _0x2a4613(_0x4869af){var _0x5ed576={};function _0x12ea5f(_0x4ef861){if(_0x5ed576[_0x4ef861])return _0x5ed576[_0x4ef861]['exports'];var _0x5dab63=_0x5ed576[_0x4ef861]={'i':_0x4ef861,'l':!0x1,'exports':{}};return _0x4869af[_0x4ef861]['call'](_0x5dab63['exports'],_0x5dab63,_0x5dab63['exports'],_0x12ea5f),_0x5dab63['l']=!0x0,_0x5dab63['exports'];}_0x12ea5f['m']=_0x4869af,_0x12ea5f['c']=_0x5ed576,_0x12ea5f['i']=function(_0x4b5905){return _0x4b5905;},_0x12ea5f['d']=function(_0x5232fc,_0x2a59b1,_0x5b3988){_0x12ea5f['o'](_0x5232fc,_0x2a59b1)||Object['defineProperty'](_0x5232fc,_0x2a59b1,{'configurable':!0x1,'enumerable':!0x0,'get':_0x5b3988});},_0x12ea5f['r']=function(_0x47536d){Object['defineProperty'](_0x47536d,'__esModule',{'value':!0x0});},_0x12ea5f['n']=function(_0x374acf){var _0x587d40=_0x374acf&&_0x374acf['__esModule']?function(){return _0x374acf['default'];}:function(){return _0x374acf;};return _0x12ea5f['d'](_0x587d40,'a',_0x587d40),_0x587d40;},_0x12ea5f['o']=function(_0x212c78,_0x4b0faa){return Object['prototype']['hasOwnProperty']['call'](_0x212c78,_0x4b0faa);},_0x12ea5f['p']='/',_0x12ea5f['oe']=function(_0x2172ca){throw _0x2172ca;};var _0x479139=_0x12ea5f(_0x12ea5f['s']=ENTRY_MODULE);return _0x479139['default']||_0x479139;}var _0x4dc097='[\x5c.|\x5c-|\x5c+|\x5cw|/|@]+',_0x3028a9='\x5c(\x5cs*(/\x5c*.*?\x5c*/)?\x5cs*.*?('+_0x4dc097+').*?\x5c)';function _0x19e0c4(_0x27753f){return(_0x27753f+'')['replace'](/[.?*+^$[\]\\(){}|-]/g,'\x5c$&');}function _0x306dbd(_0x164f93){return!isNaN(0x1*_0x164f93);}function _0x49d787(_0xfa0d34,_0x4c1502,_0x347ae7){var _0x5b6c82={};_0x5b6c82[_0x347ae7]=[];var _0xeee936=_0x4c1502['toString'](),_0x33c588=_0xeee936['match'](/^function\s?\w*\(\w+,\s*\w+,\s*(\w+)\)/);if(!_0x33c588)return _0x5b6c82;for(var _0x322b87,_0x27ae23=_0x33c588[0x1],_0x347f3f=new RegExp('(\x5c\x5cn|\x5cW)'+_0x19e0c4(_0x27ae23)+_0x3028a9,'g');_0x322b87=_0x347f3f['exec'](_0xeee936);)'dll-reference'!==_0x322b87[0x3]&&_0x5b6c82[_0x347ae7]['push'](_0x322b87[0x3]);for(_0x347f3f=new RegExp('\x5c('+_0x19e0c4(_0x27ae23)+'\x5c(\x22(dll-reference\x5cs('+_0x4dc097+'))\x22\x5c)\x5c)'+_0x3028a9,'g');_0x322b87=_0x347f3f['exec'](_0xeee936);)_0xfa0d34[_0x322b87[0x2]]||(_0x5b6c82[_0x347ae7]['push'](_0x322b87[0x1]),_0xfa0d34[_0x322b87[0x2]]=__webpack_require__(_0x322b87[0x1])['m']),_0x5b6c82[_0x322b87[0x2]]=_0x5b6c82[_0x322b87[0x2]]||[],_0x5b6c82[_0x322b87[0x2]]['push'](_0x322b87[0x4]);for(var _0x26772c=Object['keys'](_0x5b6c82),_0x447993=0x0;_0x447993<_0x26772c['length'];_0x447993++)for(var _0x561818=0x0;_0x561818<_0x5b6c82[_0x26772c[_0x447993]]['length'];_0x561818++)_0x306dbd(_0x5b6c82[_0x26772c[_0x447993]][_0x561818])&&(_0x5b6c82[_0x26772c[_0x447993]][_0x561818]=0x1*_0x5b6c82[_0x26772c[_0x447993]][_0x561818]);return _0x5b6c82;}function _0x25491e(_0x123274){return Object['keys'](_0x123274)['reduce'](function(_0x225eec,_0x353155){return _0x225eec||_0x123274[_0x353155]['length']>0x0;},!0x1);}bs['exports']=function(_0x27b379,_0x14b211){_0x14b211=_0x14b211||{};var _0x45b9b0={'main':__webpack_modules__},_0x48ec1f=_0x14b211['all']?{'main':Object['keys'](_0x45b9b0['main'])}:function(_0x1d8562,_0x39d174){for(var _0xb24ad9={'main':[_0x39d174]},_0xb47d2f={'main':[]},_0x1453c4={'main':{}};_0x25491e(_0xb24ad9);)for(var _0x3543d0=Object['keys'](_0xb24ad9),_0xc59529=0x0;_0xc59529<_0x3543d0['length'];_0xc59529++){var _0x23d872=_0x3543d0[_0xc59529],_0x4835a0=_0xb24ad9[_0x23d872]['pop']();if(_0x1453c4[_0x23d872]=_0x1453c4[_0x23d872]||{},!_0x1453c4[_0x23d872][_0x4835a0]&&_0x1d8562[_0x23d872][_0x4835a0]){_0x1453c4[_0x23d872][_0x4835a0]=!0x0,_0xb47d2f[_0x23d872]=_0xb47d2f[_0x23d872]||[],_0xb47d2f[_0x23d872]['push'](_0x4835a0);for(var _0x2478eb=_0x49d787(_0x1d8562,_0x1d8562[_0x23d872][_0x4835a0],_0x23d872),_0x503c97=Object['keys'](_0x2478eb),_0x254fed=0x0;_0x254fed<_0x503c97['length'];_0x254fed++)_0xb24ad9[_0x503c97[_0x254fed]]=_0xb24ad9[_0x503c97[_0x254fed]]||[],_0xb24ad9[_0x503c97[_0x254fed]]=_0xb24ad9[_0x503c97[_0x254fed]]['concat'](_0x2478eb[_0x503c97[_0x254fed]]);}}return _0xb47d2f;}(_0x45b9b0,_0x27b379),_0x30b21f='';Object['keys'](_0x48ec1f)['filter'](function(_0x2567ed){return'main'!==_0x2567ed;})['forEach'](function(_0x384f7d){for(var _0x30ff75=0x0;_0x48ec1f[_0x384f7d][_0x30ff75];)_0x30ff75++;_0x48ec1f[_0x384f7d]['push'](_0x30ff75),_0x45b9b0[_0x384f7d][_0x30ff75]='(function(module,\x20exports,\x20__webpack_require__)\x20{\x20module.exports\x20=\x20__webpack_require__;\x20})',_0x30b21f=_0x30b21f+'var\x20'+_0x384f7d+'\x20=\x20('+_0x2a4613['toString']()['replace']('ENTRY_MODULE',JSON['stringify'](_0x30ff75))+')({'+_0x48ec1f[_0x384f7d]['map'](function(_0x54a763){return JSON['stringify'](_0x54a763)+':\x20'+_0x45b9b0[_0x384f7d][_0x54a763]['toString']();})['join'](',')+'});\x0a';}),_0x30b21f=_0x30b21f+'new\x20(('+_0x2a4613['toString']()['replace']('ENTRY_MODULE',JSON['stringify'](_0x27b379))+')({'+_0x48ec1f['main']['map'](function(_0x5b350f){return JSON['stringify'](_0x5b350f)+':\x20'+_0x45b9b0['main'][_0x5b350f]['toString']();})['join'](',')+'}))(self);';var _0x1b47a5=new window['Blob']([_0x30b21f],{'type':'text/javascript'});if(_0x14b211['bare'])return _0x1b47a5;var _0x20102b=(window['URL']||window['webkitURL']||window['mozURL']||window['msURL'])['createObjectURL'](_0x1b47a5),_0x1996a6=new window['Worker'](_0x20102b);return _0x1996a6['objectURL']=_0x20102b,_0x1996a6;};}())),bs['exports'];}function xs(){if(ms)return ps;ms=0x1;try{var _0x3f4f17=(function(){if(rs)return ss;rs=0x1;var _0x30b52f=arguments[0x3],_0x27992f=arguments[0x4],_0x1019ac=arguments[0x5],_0x12d991=JSON['stringify'];return ss=function(_0x3cbf76,_0x3fcfca){for(var _0x35739e,_0x14f92b=Object['keys'](_0x1019ac),_0x3e2d03=0x0,_0x2a8fab=_0x14f92b['length'];_0x3e2d03<_0x2a8fab;_0x3e2d03++){var _0x20b8c9=_0x14f92b[_0x3e2d03],_0x30d048=_0x1019ac[_0x20b8c9]['exports'];if(_0x30d048===_0x3cbf76||_0x30d048&&_0x30d048['default']===_0x3cbf76){_0x35739e=_0x20b8c9;break;}}if(!_0x35739e){_0x35739e=Math['floor'](Math['pow'](0x10,0x8)*Math['random']())['toString'](0x10);var _0xa565bc={};for(_0x3e2d03=0x0,_0x2a8fab=_0x14f92b['length'];_0x3e2d03<_0x2a8fab;_0x3e2d03++)_0xa565bc[_0x20b8c9=_0x14f92b[_0x3e2d03]]=_0x20b8c9;_0x27992f[_0x35739e]=['function(require,module,exports){'+_0x3cbf76+'(self);\x20}',_0xa565bc];}var _0x10ed7c=Math['floor'](Math['pow'](0x10,0x8)*Math['random']())['toString'](0x10),_0x12d75e={};_0x12d75e[_0x35739e]=_0x35739e,_0x27992f[_0x10ed7c]=['function(require,module,exports){var\x20f\x20=\x20require('+_0x12d991(_0x35739e)+');(f.default\x20?\x20f.default\x20:\x20f)(self);}',_0x12d75e];var _0x7be346={};!function _0x141926(_0x3ff2cd){for(var _0x285f0a in(_0x7be346[_0x3ff2cd]=!0x0,_0x27992f[_0x3ff2cd][0x1])){var _0x1a5f56=_0x27992f[_0x3ff2cd][0x1][_0x285f0a];_0x7be346[_0x1a5f56]||_0x141926(_0x1a5f56);}}(_0x10ed7c);var _0x2aa2d4='('+_0x30b52f+')({'+Object['keys'](_0x7be346)['map'](function(_0x1e47a7){return _0x12d991(_0x1e47a7)+':['+_0x27992f[_0x1e47a7][0x0]+','+_0x12d991(_0x27992f[_0x1e47a7][0x1])+']';})['join'](',')+'},{},['+_0x12d991(_0x10ed7c)+'])',_0x310b03=window['URL']||window['webkitURL']||window['mozURL']||window['msURL'],_0x2f9700=new Blob([_0x2aa2d4],{'type':'text/javascript'});if(_0x3fcfca&&_0x3fcfca['bare'])return _0x2f9700;var _0x10a70d=_0x310b03['createObjectURL'](_0x2f9700),_0x5c3d42=new Worker(_0x10a70d);return _0x5c3d42['objectURL']=_0x10a70d,_0x5c3d42;};}());}catch(_0x1aa2cb){_0x3f4f17=ws();}var _0x476618=(function(){if(ds)return us;ds=0x1;var _0x4a63f9=_0x4a63f9||cs();return us=function(_0x4fc509){var _0x354dbc=null;function _0x5ba49b(_0x3fcf62){var _0x27d507=_0x3fcf62['data'];_0x27d507 instanceof ArrayBuffer?_0x4fc509['postMessage'](_0x27d507,[_0x27d507]):_0x4fc509['postMessage'](_0x27d507);}function _0x22451c(_0x5cbe9f){_0x4fc509['postMessage']({'type':_0x5cbe9f['type']});}_0x4fc509['addEventListener']('message',function(_0x51ad39){var _0x19ca0f=_0x51ad39['data'];if('string'==typeof _0x19ca0f)_0x354dbc['send'](_0x19ca0f);else if(_0x19ca0f['hasOwnProperty']('close'))_0x354dbc['close'](),_0x354dbc=null;else{if(!_0x19ca0f['hasOwnProperty']('uri'))throw'Unknown\x20message\x20to\x20WorkerSocket';var _0x1e74cf=_0x19ca0f['uri'];(_0x354dbc=new _0x4a63f9(_0x1e74cf))['binaryType']='arraybuffer',_0x354dbc['onmessage']=_0x5ba49b,_0x354dbc['onclose']=_0x22451c,_0x354dbc['onopen']=_0x22451c,_0x354dbc['onerror']=_0x22451c;}});};}());function _0xf6b881(_0x2197d5){this['socket_']=_0x3f4f17(_0x476618),this['socket_']['addEventListener']('message',this['handleWorkerMessage_']['bind'](this)),this['socket_']['postMessage']({'uri':_0x2197d5});}return _0xf6b881['prototype']['handleWorkerMessage_']=function(_0x112234){var _0x2deeda=_0x112234['data'];if(_0x2deeda instanceof ArrayBuffer||'string'==typeof _0x2deeda)this['onmessage'](_0x112234);else{var _0x5cdf8f=_0x2deeda['type'];if('close'===_0x5cdf8f)this['onclose'](null);else if('open'===_0x5cdf8f)this['onopen'](null);else{if('error'!==_0x5cdf8f)throw'Unknown\x20message\x20from\x20workersocket';this['onerror'](null);}}},_0xf6b881['prototype']['send']=function(_0x4702cd){this['socket_']['postMessage'](_0x4702cd);},_0xf6b881['prototype']['close']=function(){this['socket_']['postMessage']({'close':!0x0});},ps=_0xf6b881;}function Ms(){if(vs)return ys;vs=0x1;var _0x5657a2=fs?gs:(fs=0x1,gs=function(){return document['createElement']('canvas');}),_0x453390=_0x5657a2['Image']||window['Image'];return ys=function(_0x2feee7,_0x395868){var _0x4eee3a=new _0x453390();_0x4eee3a['onload']=function(){var _0x127687=new _0x5657a2(),_0x21d92c=_0x127687['getContext']('2d');_0x127687['width']=_0x4eee3a['width'],_0x127687['height']=_0x4eee3a['height'],_0x21d92c['imageSmoothingEnabled']=!0x1,_0x21d92c['webkitImageSmoothingEnabled']=!0x1,_0x21d92c['mozImageSmoothingEnabled']=!0x1,_0x21d92c['drawImage'](_0x4eee3a,0x0,0x0);for(var _0x5d8ba4=_0x21d92c['getImageData'](0x0,0x0,_0x4eee3a['width'],_0x4eee3a['height'])['data'],_0x1c07a9='',_0x4dc0f5=0x0;_0x4dc0f5<_0x5d8ba4['length'];_0x4dc0f5+=0x4)_0x1c07a9+=String['fromCharCode'](_0x5d8ba4[_0x4dc0f5],_0x5d8ba4[_0x4dc0f5+0x1],_0x5d8ba4[_0x4dc0f5+0x2]);_0x395868(JSON['parse'](_0x1c07a9));},_0x4eee3a['src']='data:image/png;base64,'+_0x2feee7;};}var _s,Ss={'exports':{}};function As(){return _s||(_s=0x1,_0x43dd85=Ss,_0x359476=Xi,_0x1da9ae=Math['pow'](0x2,-0x18),_0x430966=Math['pow'](0x2,0x20),_0x29164d=Math['pow'](0x2,0x35),_0xb1b3f1={'encode':function(_0x2b6922){var _0x4758f6,_0x581b88=new ArrayBuffer(0x100),_0x23f587=new DataView(_0x581b88),_0x22bb6b=0x0;function _0x31d1dc(_0x3deddc){for(var _0xf53bf0=_0x581b88['byteLength'],_0x202a17=_0x22bb6b+_0x3deddc;_0xf53bf0<_0x202a17;)_0xf53bf0*=0x2;if(_0xf53bf0!==_0x581b88['byteLength']){var _0x1a8357=_0x23f587;_0x581b88=new ArrayBuffer(_0xf53bf0),_0x23f587=new DataView(_0x581b88);for(var _0x2c8824=_0x22bb6b+0x3>>0x2,_0x3c3361=0x0;_0x3c3361<_0x2c8824;++_0x3c3361)_0x23f587['setUint32'](0x4*_0x3c3361,_0x1a8357['getUint32'](0x4*_0x3c3361));}return _0x4758f6=_0x3deddc,_0x23f587;}function _0x5423cf(){_0x22bb6b+=_0x4758f6;}function _0x356d15(_0x26b771){_0x5423cf(_0x31d1dc(0x1)['setUint8'](_0x22bb6b,_0x26b771));}function _0x2e2b67(_0x50c8a7){for(var _0x3fb926=_0x31d1dc(_0x50c8a7['length']),_0x167c77=0x0;_0x167c77<_0x50c8a7['length'];++_0x167c77)_0x3fb926['setUint8'](_0x22bb6b+_0x167c77,_0x50c8a7[_0x167c77]);_0x5423cf();}function _0x14d091(_0x565482,_0x27956c){var _0x1c8962;_0x27956c<0x18?_0x356d15(_0x565482<<0x5|_0x27956c):_0x27956c<0x100?(_0x356d15(_0x565482<<0x5|0x18),_0x356d15(_0x27956c)):_0x27956c<0x10000?(_0x356d15(_0x565482<<0x5|0x19),_0x1c8962=_0x27956c,_0x5423cf(_0x31d1dc(0x2)['setUint16'](_0x22bb6b,_0x1c8962))):_0x27956c<0x100000000?(_0x356d15(_0x565482<<0x5|0x1a),function(_0x30916a){_0x5423cf(_0x31d1dc(0x4)['setUint32'](_0x22bb6b,_0x30916a));}(_0x27956c)):(_0x356d15(_0x565482<<0x5|0x1b),function(_0x1db335){var _0xdb8f93=_0x1db335%_0x430966,_0x27819f=(_0x1db335-_0xdb8f93)/_0x430966,_0xb01837=_0x31d1dc(0x8);_0xb01837['setUint32'](_0x22bb6b,_0x27819f),_0xb01837['setUint32'](_0x22bb6b+0x4,_0xdb8f93),_0x5423cf();}(_0x27956c));}if(function _0x4a8722(_0x827b79){var _0x4d469c;if(!0x1===_0x827b79)return _0x356d15(0xf4);if(!0x0===_0x827b79)return _0x356d15(0xf5);if(null===_0x827b79)return _0x356d15(0xf6);if(_0x827b79===_0x358788)return _0x356d15(0xf7);switch(typeof _0x827b79){case'number':if(Math['floor'](_0x827b79)===_0x827b79){if(0x0<=_0x827b79&&_0x827b79<=_0x29164d)return _0x14d091(0x0,_0x827b79);if(-_0x29164d<=_0x827b79&&_0x827b79<0x0)return _0x14d091(0x1,-(_0x827b79+0x1));}return _0x356d15(0xfb),function(_0x3038e5){_0x5423cf(_0x31d1dc(0x8)['setFloat64'](_0x22bb6b,_0x3038e5));}(_0x827b79);case'string':var _0x5a747f=[];for(_0x4d469c=0x0;_0x4d469c<_0x827b79['length'];++_0x4d469c){var _0x2f29ca=_0x827b79['charCodeAt'](_0x4d469c);_0x2f29ca<0x80?_0x5a747f['push'](_0x2f29ca):_0x2f29ca<0x800?(_0x5a747f['push'](0xc0|_0x2f29ca>>0x6),_0x5a747f['push'](0x80|0x3f&_0x2f29ca)):_0x2f29ca<0xd800?(_0x5a747f['push'](0xe0|_0x2f29ca>>0xc),_0x5a747f['push'](0x80|_0x2f29ca>>0x6&0x3f),_0x5a747f['push'](0x80|0x3f&_0x2f29ca)):(_0x2f29ca=(0x3ff&_0x2f29ca)<<0xa,_0x2f29ca|=0x3ff&_0x827b79['charCodeAt'](++_0x4d469c),_0x2f29ca+=0x10000,_0x5a747f['push'](0xf0|_0x2f29ca>>0x12),_0x5a747f['push'](0x80|_0x2f29ca>>0xc&0x3f),_0x5a747f['push'](0x80|_0x2f29ca>>0x6&0x3f),_0x5a747f['push'](0x80|0x3f&_0x2f29ca));}return _0x14d091(0x3,_0x5a747f['length']),_0x2e2b67(_0x5a747f);default:var _0x2dfd64;if(Array['isArray'](_0x827b79))for(_0x14d091(0x4,_0x2dfd64=_0x827b79['length']),_0x4d469c=0x0;_0x4d469c<_0x2dfd64;++_0x4d469c)_0x4a8722(_0x827b79[_0x4d469c]);else if(_0x827b79 instanceof Uint8Array)_0x14d091(0x2,_0x827b79['length']),_0x2e2b67(_0x827b79);else{var _0x1ae2a8=Object['keys'](_0x827b79);for(_0x14d091(0x5,_0x2dfd64=_0x1ae2a8['length']),_0x4d469c=0x0;_0x4d469c<_0x2dfd64;++_0x4d469c){var _0x39a87e=_0x1ae2a8[_0x4d469c];_0x4a8722(_0x39a87e),_0x4a8722(_0x827b79[_0x39a87e]);}}}}(_0x2b6922),'slice'in _0x581b88)return _0x581b88['slice'](0x0,_0x22bb6b);for(var _0x403f02=new ArrayBuffer(_0x22bb6b),_0x2c4281=new DataView(_0x403f02),_0x2628fe=0x0;_0x2628fe<_0x22bb6b;++_0x2628fe)_0x2c4281['setUint8'](_0x2628fe,_0x23f587['getUint8'](_0x2628fe));return _0x403f02;},'decode':function(_0x2d7826,_0x30b981,_0x44ff8f){var _0x3cdf0d=new DataView(_0x2d7826),_0x4aa277=0x0;function _0x367f68(_0x54a665,_0x1304d5){return _0x4aa277+=_0x1304d5,_0x54a665;}function _0x1165d8(_0x4133e5){return _0x367f68(new Uint8Array(_0x2d7826,_0x4aa277,_0x4133e5),_0x4133e5);}function _0x3d6f3d(){return _0x367f68(_0x3cdf0d['getUint8'](_0x4aa277),0x1);}function _0x3433c4(){return _0x367f68(_0x3cdf0d['getUint16'](_0x4aa277),0x2);}function _0x395abf(){return _0x367f68(_0x3cdf0d['getUint32'](_0x4aa277),0x4);}function _0x396510(){return 0xff===_0x3cdf0d['getUint8'](_0x4aa277)&&(_0x4aa277+=0x1,!0x0);}function _0x3a8345(_0x557d73){if(_0x557d73<0x18)return _0x557d73;if(0x18===_0x557d73)return _0x3d6f3d();if(0x19===_0x557d73)return _0x3433c4();if(0x1a===_0x557d73)return _0x395abf();if(0x1b===_0x557d73)return _0x395abf()*_0x430966+_0x395abf();if(0x1f===_0x557d73)return-0x1;throw'Invalid\x20length\x20encoding';}function _0x475aa2(_0x3ecefb){var _0x2361dc=_0x3d6f3d();if(0xff===_0x2361dc)return-0x1;var _0x5bbe73=_0x3a8345(0x1f&_0x2361dc);if(_0x5bbe73<0x0||_0x2361dc>>0x5!==_0x3ecefb)throw'Invalid\x20indefinite\x20length\x20element';return _0x5bbe73;}function _0x1dc26e(_0x5ec366,_0x2ecc1f){for(var _0x2876eb=0x0;_0x2876eb<_0x2ecc1f;++_0x2876eb){var _0x32b3b1=_0x3d6f3d();0x80&_0x32b3b1&&(_0x32b3b1<0xe0?(_0x32b3b1=(0x1f&_0x32b3b1)<<0x6|0x3f&_0x3d6f3d(),_0x2ecc1f-=0x1):_0x32b3b1<0xf0?(_0x32b3b1=(0xf&_0x32b3b1)<<0xc|(0x3f&_0x3d6f3d())<<0x6|0x3f&_0x3d6f3d(),_0x2ecc1f-=0x2):(_0x32b3b1=(0xf&_0x32b3b1)<<0x12|(0x3f&_0x3d6f3d())<<0xc|(0x3f&_0x3d6f3d())<<0x6|0x3f&_0x3d6f3d(),_0x2ecc1f-=0x3)),_0x32b3b1<0x10000?_0x5ec366['push'](_0x32b3b1):(_0x32b3b1-=0x10000,_0x5ec366['push'](0xd800|_0x32b3b1>>0xa),_0x5ec366['push'](0xdc00|0x3ff&_0x32b3b1));}}'function'!=typeof _0x30b981&&(_0x30b981=function(_0x49ad52){return _0x49ad52;}),'function'!=typeof _0x44ff8f&&(_0x44ff8f=function(){return _0x358788;});var _0x576565=function _0x14d7e2(){var _0x335f6d,_0x24ac00,_0x2163ed=_0x3d6f3d(),_0x4b2790=_0x2163ed>>0x5,_0x212970=0x1f&_0x2163ed;if(0x7===_0x4b2790)switch(_0x212970){case 0x19:return(function(){var _0x33c767=new ArrayBuffer(0x4),_0x2cffb4=new DataView(_0x33c767),_0xe569d9=_0x3433c4(),_0x151936=0x8000&_0xe569d9,_0x18c19a=0x7c00&_0xe569d9,_0x21cbb0=0x3ff&_0xe569d9;if(0x7c00===_0x18c19a)_0x18c19a=0x3fc00;else if(0x0!==_0x18c19a)_0x18c19a+=0x1c000;else if(0x0!==_0x21cbb0)return _0x21cbb0*_0x1da9ae;return _0x2cffb4['setUint32'](0x0,_0x151936<<0x10|_0x18c19a<<0xd|_0x21cbb0<<0xd),_0x2cffb4['getFloat32'](0x0);}());case 0x1a:return _0x367f68(_0x3cdf0d['getFloat32'](_0x4aa277),0x4);case 0x1b:return _0x367f68(_0x3cdf0d['getFloat64'](_0x4aa277),0x8);}if((_0x24ac00=_0x3a8345(_0x212970))<0x0&&(_0x4b2790<0x2||0x6<_0x4b2790))throw'Invalid\x20length';switch(_0x4b2790){case 0x0:return _0x24ac00;case 0x1:return-0x1-_0x24ac00;case 0x2:if(_0x24ac00<0x0){for(var _0x522721=[],_0x1543c8=0x0;(_0x24ac00=_0x475aa2(_0x4b2790))>=0x0;)_0x1543c8+=_0x24ac00,_0x522721['push'](_0x1165d8(_0x24ac00));var _0x130e6b=new Uint8Array(_0x1543c8),_0x1f9a1f=0x0;for(_0x335f6d=0x0;_0x335f6d<_0x522721['length'];++_0x335f6d)_0x130e6b['set'](_0x522721[_0x335f6d],_0x1f9a1f),_0x1f9a1f+=_0x522721[_0x335f6d]['length'];return _0x130e6b;}return _0x1165d8(_0x24ac00);case 0x3:var _0x12ee64=[];if(_0x24ac00<0x0)for(;(_0x24ac00=_0x475aa2(_0x4b2790))>=0x0;)_0x1dc26e(_0x12ee64,_0x24ac00);else _0x1dc26e(_0x12ee64,_0x24ac00);return String['fromCharCode']['apply'](null,_0x12ee64);case 0x4:var _0x239032;if(_0x24ac00<0x0)for(_0x239032=[];!_0x396510();)_0x239032['push'](_0x14d7e2());else for(_0x239032=new Array(_0x24ac00),_0x335f6d=0x0;_0x335f6d<_0x24ac00;++_0x335f6d)_0x239032[_0x335f6d]=_0x14d7e2();return _0x239032;case 0x5:var _0x11033e={};for(_0x335f6d=0x0;_0x335f6d<_0x24ac00||_0x24ac00<0x0&&!_0x396510();++_0x335f6d)_0x11033e[_0x14d7e2()]=_0x14d7e2();return _0x11033e;case 0x6:return _0x30b981(_0x14d7e2(),_0x24ac00);case 0x7:switch(_0x24ac00){case 0x14:return!0x1;case 0x15:return!0x0;case 0x16:return null;case 0x17:return _0x358788;default:return _0x44ff8f(_0x24ac00);}}}();if(_0x4aa277!==_0x2d7826['byteLength'])throw'Remaining\x20bytes';return _0x576565;}},_0x43dd85['exports']?_0x43dd85['exports']=_0xb1b3f1:_0x359476['CBOR']||(_0x359476['CBOR']=_0xb1b3f1)),Ss['exports'];var _0x43dd85,_0x359476,_0x358788,_0x1da9ae,_0x430966,_0x29164d,_0xb1b3f1;}var Ls,Es,Cs,js,ks,Ts,Os,Fs={'exports':{}};function Ds(){if(Cs)return Es;Cs=0x1;var _0x4611ca=Ms(),_0x3529eb=As(),_0x2d093c=(Ls||(Ls=0x1,function(_0x1fa4dc){var _0x55689e=Math['pow'](0x2,0x20),_0x5534e9=!0x1;function _0x4ecdf9(){_0x5534e9||(_0x5534e9=!0x0);}var _0x355faa={0x40:Uint8Array,0x45:Uint16Array,0x46:Uint32Array,0x48:Int8Array,0x4d:Int16Array,0x4e:Int32Array,0x55:Float32Array,0x56:Float64Array},_0xc97273={0x47:function(_0x42e54b){_0x4ecdf9();for(var _0x2d8643=_0x42e54b['byteLength'],_0x38aa73=_0x42e54b['byteOffset'],_0x2b10ad=_0x2d8643/0x8,_0x38ac2c=_0x42e54b['buffer']['slice'](_0x38aa73,_0x38aa73+_0x2d8643),_0x110dfe=new Uint32Array(_0x38ac2c),_0x2512be=new Array(_0x2b10ad),_0xf904a=0x0;_0xf904a<_0x2b10ad;_0xf904a++){var _0x5a099e=0x2*_0xf904a,_0x186827=_0x110dfe[_0x5a099e],_0x25d23e=_0x110dfe[_0x5a099e+0x1];_0x2512be[_0xf904a]=_0x186827+_0x55689e*_0x25d23e;}return _0x2512be;},0x4f:function(_0x168ec4){_0x4ecdf9();for(var _0x1133ba=_0x168ec4['byteLength'],_0x5cc785=_0x168ec4['byteOffset'],_0x42a082=_0x1133ba/0x8,_0x2e24a6=_0x168ec4['buffer']['slice'](_0x5cc785,_0x5cc785+_0x1133ba),_0x1ed0cb=new Uint32Array(_0x2e24a6),_0x2a2cec=new Int32Array(_0x2e24a6),_0x28722d=new Array(_0x42a082),_0x319fe6=0x0;_0x319fe6<_0x42a082;_0x319fe6++){var _0x4d5dde=0x2*_0x319fe6,_0x40804c=_0x1ed0cb[_0x4d5dde],_0xfaaf49=_0x2a2cec[_0x4d5dde+0x1];_0x28722d[_0x319fe6]=_0x40804c+_0x55689e*_0xfaaf49;}return _0x28722d;}};_0x1fa4dc['exports']&&(_0x1fa4dc['exports']=function(_0x5b2856,_0x4e4988){var _0xbfce78,_0x5f331c,_0x168b70,_0xdb8005;return _0x4e4988 in _0x355faa?(_0x5f331c=_0x355faa[_0x4e4988],_0x168b70=(_0xbfce78=_0x5b2856)['byteLength'],_0xdb8005=_0xbfce78['byteOffset'],new _0x5f331c(_0xbfce78['buffer']['slice'](_0xdb8005,_0xdb8005+_0x168b70))):_0x4e4988 in _0xc97273?_0xc97273[_0x4e4988](_0x5b2856):_0x5b2856;});}(Fs)),Fs['exports']),_0x75c84=null;return'undefined'!=typeof bson&&(_0x75c84=bson()['BSON']),Es=function(_0x532ff8){var _0x48cd04=null;function _0x3aa964(_0x576c8e){'publish'===_0x576c8e['op']?_0x532ff8['emit'](_0x576c8e['topic'],_0x576c8e['msg']):'service_response'===_0x576c8e['op']?_0x532ff8['emit'](_0x576c8e['id'],_0x576c8e):'call_service'===_0x576c8e['op']?_0x532ff8['emit'](_0x576c8e['service'],_0x576c8e):'status'===_0x576c8e['op']&&(_0x576c8e['id']?_0x532ff8['emit']('status:'+_0x576c8e['id'],_0x576c8e):_0x532ff8['emit']('status',_0x576c8e));}function _0x248875(_0x1ffff4,_0x1634e7){'png'===_0x1ffff4['op']?_0x4611ca(_0x1ffff4['data'],_0x1634e7):_0x1634e7(_0x1ffff4);}return _0x532ff8['transportOptions']['decoder']&&(_0x48cd04=_0x532ff8['transportOptions']['decoder']),{'onopen':function(_0x39b494){_0x532ff8['isConnected']=!0x0,_0x532ff8['emit']('connection',_0x39b494);},'onclose':function(_0x5adfd7){_0x532ff8['isConnected']=!0x1,_0x532ff8['emit']('close',_0x5adfd7);},'onerror':function(_0x2adfaa){_0x532ff8['emit']('error',_0x2adfaa);},'onmessage':function(_0x1b3f03){if(_0x48cd04)_0x48cd04(_0x1b3f03['data'],function(_0x3b34a7){_0x3aa964(_0x3b34a7);});else if('undefined'!=typeof Blob&&_0x1b3f03['data']instanceof Blob)!function(_0x3c143e,_0x4faa68){if(!_0x75c84)throw'Cannot\x20process\x20BSON\x20encoded\x20message\x20without\x20BSON\x20header.';var _0xa9dae9=new FileReader();_0xa9dae9['onload']=function(){var _0x3f331d=new Uint8Array(this['result']),_0xbd4229=_0x75c84['deserialize'](_0x3f331d);_0x4faa68(_0xbd4229);},_0xa9dae9['readAsArrayBuffer'](_0x3c143e);}(_0x1b3f03['data'],function(_0x915bf9){_0x248875(_0x915bf9,_0x3aa964);});else if(_0x1b3f03['data']instanceof ArrayBuffer){_0x3aa964(_0x3529eb['decode'](_0x1b3f03['data'],_0x2d093c));}else{_0x248875(JSON['parse']('string'==typeof _0x1b3f03?_0x1b3f03:_0x1b3f03['data']),_0x3aa964);}}};};}function Ps(){if(ks)return js;ks=0x1;var _0x507168=as;return js=function(_0x4fd097){_0x507168(this,_0x4fd097);};}function Is(){if(Os)return Ts;Os=0x1;var _0x5d0e4d=as;return Ts=function(_0x5e1a42){_0x5d0e4d(this,_0x5e1a42);};}var Rs,zs,Ns,Us,Vs,qs,Bs,$s,Js,Hs,Gs,Ws,Xs={'exports':{}};function Ys(){return Rs||(Rs=0x1,_0x473983=Xs,function(_0x105045){var _0x224307=Object['hasOwnProperty'],_0x376f5a=Array['isArray']?Array['isArray']:function(_0x4fab6f){return'[object\x20Array]'===Object['prototype']['toString']['call'](_0x4fab6f);},_0x479162='object'==typeof process&&'function'==typeof process['nextTick'],_0x2cbb59='function'==typeof Symbol,_0x4cccb6='object'==typeof Reflect,_0x4332cc='function'==typeof setImmediate?setImmediate:setTimeout,_0x30e33d=_0x2cbb59?_0x4cccb6&&'function'==typeof Reflect['ownKeys']?Reflect['ownKeys']:function(_0x53bc76){var _0x23fe43=Object['getOwnPropertyNames'](_0x53bc76);return _0x23fe43['push']['apply'](_0x23fe43,Object['getOwnPropertySymbols'](_0x53bc76)),_0x23fe43;}:Object['keys'];function _0x5c35c6(){this['_events']={},this['_conf']&&_0x585cf1['call'](this,this['_conf']);}function _0x585cf1(_0x132553){_0x132553&&(this['_conf']=_0x132553,_0x132553['delimiter']&&(this['delimiter']=_0x132553['delimiter']),_0x132553['maxListeners']!==_0x105045&&(this['_maxListeners']=_0x132553['maxListeners']),_0x132553['wildcard']&&(this['wildcard']=_0x132553['wildcard']),_0x132553['newListener']&&(this['_newListener']=_0x132553['newListener']),_0x132553['removeListener']&&(this['_removeListener']=_0x132553['removeListener']),_0x132553['verboseMemoryLeak']&&(this['verboseMemoryLeak']=_0x132553['verboseMemoryLeak']),_0x132553['ignoreErrors']&&(this['ignoreErrors']=_0x132553['ignoreErrors']),this['wildcard']&&(this['listenerTree']={}));}function _0xd41bdb(_0x3d6aab,_0xc4f921){var _0x120fc7='(node)\x20warning:\x20possible\x20EventEmitter\x20memory\x20leak\x20detected.\x20'+_0x3d6aab+'\x20listeners\x20added.\x20Use\x20emitter.setMaxListeners()\x20to\x20increase\x20limit.';if(this['verboseMemoryLeak']&&(_0x120fc7+='\x20Event\x20name:\x20'+_0xc4f921+'.'),'undefined'!=typeof process&&process['emitWarning']){var _0xaf22b1=new Error(_0x120fc7);_0xaf22b1['name']='MaxListenersExceededWarning',_0xaf22b1['emitter']=this,_0xaf22b1['count']=_0x3d6aab,process['emitWarning'](_0xaf22b1);}else console['trace'];}var _0xd32a5a=function(_0x53fbaf,_0x42144c,_0x2fbc7e){var _0xc6beeb=arguments['length'];switch(_0xc6beeb){case 0x0:return[];case 0x1:return[_0x53fbaf];case 0x2:return[_0x53fbaf,_0x42144c];case 0x3:return[_0x53fbaf,_0x42144c,_0x2fbc7e];default:for(var _0x1ec385=new Array(_0xc6beeb);_0xc6beeb--;)_0x1ec385[_0xc6beeb]=arguments[_0xc6beeb];return _0x1ec385;}};function _0x1f49a2(_0x3666a3,_0x376782){for(var _0x38b82e={},_0x7d638b=_0x3666a3['length'],_0x3e6929=_0x376782?_0x376782['length']:0x0,_0x5147af=0x0;_0x5147af<_0x7d638b;_0x5147af++)_0x38b82e[_0x3666a3[_0x5147af]]=_0x5147af<_0x3e6929?_0x376782[_0x5147af]:_0x105045;return _0x38b82e;}function _0x3b7881(_0x42d12d,_0x86e942,_0x1f1339){var _0x3cb7b9,_0x57123e;if(this['_emitter']=_0x42d12d,this['_target']=_0x86e942,this['_listeners']={},this['_listenersCount']=0x0,(_0x1f1339['on']||_0x1f1339['off'])&&(_0x3cb7b9=_0x1f1339['on'],_0x57123e=_0x1f1339['off']),_0x86e942['addEventListener']?(_0x3cb7b9=_0x86e942['addEventListener'],_0x57123e=_0x86e942['removeEventListener']):_0x86e942['addListener']?(_0x3cb7b9=_0x86e942['addListener'],_0x57123e=_0x86e942['removeListener']):_0x86e942['on']&&(_0x3cb7b9=_0x86e942['on'],_0x57123e=_0x86e942['off']),!_0x3cb7b9&&!_0x57123e)throw Error('target\x20does\x20not\x20implement\x20any\x20known\x20event\x20API');if('function'!=typeof _0x3cb7b9)throw TypeError('on\x20method\x20must\x20be\x20a\x20function');if('function'!=typeof _0x57123e)throw TypeError('off\x20method\x20must\x20be\x20a\x20function');this['_on']=_0x3cb7b9,this['_off']=_0x57123e;var _0x4a5834=_0x42d12d['_observers'];_0x4a5834?_0x4a5834['push'](this):_0x42d12d['_observers']=[this];}function _0x46b695(_0x38a1f1,_0x91548,_0x8bd3f8,_0x5f451a){var _0x2b73e7=Object['assign']({},_0x91548);if(!_0x38a1f1)return _0x2b73e7;if('object'!=typeof _0x38a1f1)throw TypeError('options\x20must\x20be\x20an\x20object');var _0x5cf518,_0x184e44,_0x4ba946,_0x669e50=Object['keys'](_0x38a1f1),_0x528f01=_0x669e50['length'];function _0x130e24(_0xb8466c){throw Error('Invalid\x20\x22'+_0x5cf518+'\x22\x20option\x20value'+(_0xb8466c?'.\x20Reason:\x20'+_0xb8466c:''));}for(var _0x78d0e9=0x0;_0x78d0e9<_0x528f01;_0x78d0e9++){if(_0x5cf518=_0x669e50[_0x78d0e9],!_0x5f451a&&!_0x224307['call'](_0x91548,_0x5cf518))throw Error('Unknown\x20\x22'+_0x5cf518+'\x22\x20option');(_0x184e44=_0x38a1f1[_0x5cf518])!==_0x105045&&(_0x4ba946=_0x8bd3f8[_0x5cf518],_0x2b73e7[_0x5cf518]=_0x4ba946?_0x4ba946(_0x184e44,_0x130e24):_0x184e44);}return _0x2b73e7;}function _0xd66bc5(_0x48139a,_0xf9288){return'function'==typeof _0x48139a&&_0x48139a['hasOwnProperty']('prototype')||_0xf9288('value\x20must\x20be\x20a\x20constructor'),_0x48139a;}function _0x49af88(_0x279a33){var _0x11392e='value\x20must\x20be\x20type\x20of\x20'+_0x279a33['join']('|'),_0x4fff2b=_0x279a33['length'],_0x3b5b16=_0x279a33[0x0],_0x3a8294=_0x279a33[0x1];return 0x1===_0x4fff2b?function(_0x47cec5,_0x44b617){if(typeof _0x47cec5===_0x3b5b16)return _0x47cec5;_0x44b617(_0x11392e);}:0x2===_0x4fff2b?function(_0xe4139c,_0x4f8d4e){var _0x40d95f=typeof _0xe4139c;if(_0x40d95f===_0x3b5b16||_0x40d95f===_0x3a8294)return _0xe4139c;_0x4f8d4e(_0x11392e);}:function(_0x294fd5,_0x1d0605){for(var _0x13d194=typeof _0x294fd5,_0x448f38=_0x4fff2b;_0x448f38-->0x0;)if(_0x13d194===_0x279a33[_0x448f38])return _0x294fd5;_0x1d0605(_0x11392e);};}Object['assign'](_0x3b7881['prototype'],{'subscribe':function(_0x1aff95,_0x458e59,_0x4be27d){var _0x403dc6=this,_0x1e7138=this['_target'],_0x4f3e30=this['_emitter'],_0x31d1da=this['_listeners'],_0x3a029f=function(){var _0x2e70a1=_0xd32a5a['apply'](null,arguments),_0x421032={'data':_0x2e70a1,'name':_0x458e59,'original':_0x1aff95};_0x4be27d?!0x1!==_0x4be27d['call'](_0x1e7138,_0x421032)&&_0x4f3e30['emit']['apply'](_0x4f3e30,[_0x421032['name']]['concat'](_0x2e70a1)):_0x4f3e30['emit']['apply'](_0x4f3e30,[_0x458e59]['concat'](_0x2e70a1));};if(_0x31d1da[_0x1aff95])throw Error('Event\x20\x27'+_0x1aff95+'\x27\x20is\x20already\x20listening');this['_listenersCount']++,_0x4f3e30['_newListener']&&_0x4f3e30['_removeListener']&&!_0x403dc6['_onNewListener']?(this['_onNewListener']=function(_0x29a0e5){_0x29a0e5===_0x458e59&&null===_0x31d1da[_0x1aff95]&&(_0x31d1da[_0x1aff95]=_0x3a029f,_0x403dc6['_on']['call'](_0x1e7138,_0x1aff95,_0x3a029f));},_0x4f3e30['on']('newListener',this['_onNewListener']),this['_onRemoveListener']=function(_0x391cb4){_0x391cb4===_0x458e59&&!_0x4f3e30['hasListeners'](_0x391cb4)&&_0x31d1da[_0x1aff95]&&(_0x31d1da[_0x1aff95]=null,_0x403dc6['_off']['call'](_0x1e7138,_0x1aff95,_0x3a029f));},_0x31d1da[_0x1aff95]=null,_0x4f3e30['on']('removeListener',this['_onRemoveListener'])):(_0x31d1da[_0x1aff95]=_0x3a029f,_0x403dc6['_on']['call'](_0x1e7138,_0x1aff95,_0x3a029f));},'unsubscribe':function(_0x2d07cf){var _0x1ff059,_0x2d5029,_0x2c6cdb,_0x221ba2=this,_0x397827=this['_listeners'],_0x227032=this['_emitter'],_0x2f93f4=this['_off'],_0x3c86b0=this['_target'];if(_0x2d07cf&&'string'!=typeof _0x2d07cf)throw TypeError('event\x20must\x20be\x20a\x20string');function _0x3350a3(){_0x221ba2['_onNewListener']&&(_0x227032['off']('newListener',_0x221ba2['_onNewListener']),_0x227032['off']('removeListener',_0x221ba2['_onRemoveListener']),_0x221ba2['_onNewListener']=null,_0x221ba2['_onRemoveListener']=null);var _0x3a03e7=_0x160b34['call'](_0x227032,_0x221ba2);_0x227032['_observers']['splice'](_0x3a03e7,0x1);}if(_0x2d07cf){if(!(_0x1ff059=_0x397827[_0x2d07cf]))return;_0x2f93f4['call'](_0x3c86b0,_0x2d07cf,_0x1ff059),delete _0x397827[_0x2d07cf],--this['_listenersCount']||_0x3350a3();}else{for(_0x2c6cdb=(_0x2d5029=_0x30e33d(_0x397827))['length'];_0x2c6cdb-->0x0;)_0x2d07cf=_0x2d5029[_0x2c6cdb],_0x2f93f4['call'](_0x3c86b0,_0x2d07cf,_0x397827[_0x2d07cf]);this['_listeners']={},this['_listenersCount']=0x0,_0x3350a3();}}});var _0x192881=_0x49af88(['function']),_0x33d7d7=_0x49af88(['object','function']);function _0xe0c2b(_0x5a980f,_0x25a426,_0x152af5){var _0x1734e7,_0x26bbc0,_0x26aec5,_0x26c646=0x0,_0x1074d5=new _0x5a980f(function(_0x2c5da5,_0x1c453f,_0x5c7fe6){function _0x46bffa(){_0x26bbc0&&(_0x26bbc0=null),_0x26c646&&(clearTimeout(_0x26c646),_0x26c646=0x0);}_0x152af5=_0x46b695(_0x152af5,{'timeout':0x0,'overload':!0x1},{'timeout':function(_0x5f0c77,_0x12dbcd){return('number'!=typeof(_0x5f0c77*=0x1)||_0x5f0c77<0x0||!Number['isFinite'](_0x5f0c77))&&_0x12dbcd('timeout\x20must\x20be\x20a\x20positive\x20number'),_0x5f0c77;}}),_0x1734e7=!_0x152af5['overload']&&'function'==typeof _0x5a980f['prototype']['cancel']&&'function'==typeof _0x5c7fe6;var _0x311df9=function(_0x17661b){_0x46bffa(),_0x2c5da5(_0x17661b);},_0x2c7104=function(_0x4fa0d8){_0x46bffa(),_0x1c453f(_0x4fa0d8);};_0x1734e7?_0x25a426(_0x311df9,_0x2c7104,_0x5c7fe6):(_0x26bbc0=[function(_0x490295){_0x2c7104(_0x490295||Error('canceled'));}],_0x25a426(_0x311df9,_0x2c7104,function(_0x4fbf98){if(_0x26aec5)throw Error('Unable\x20to\x20subscribe\x20on\x20cancel\x20event\x20asynchronously');if('function'!=typeof _0x4fbf98)throw TypeError('onCancel\x20callback\x20must\x20be\x20a\x20function');_0x26bbc0['push'](_0x4fbf98);}),_0x26aec5=!0x0),_0x152af5['timeout']>0x0&&(_0x26c646=setTimeout(function(){var _0x5a2f28=Error('timeout');_0x5a2f28['code']='ETIMEDOUT',_0x26c646=0x0,_0x1074d5['cancel'](_0x5a2f28),_0x1c453f(_0x5a2f28);},_0x152af5['timeout']));});return _0x1734e7||(_0x1074d5['cancel']=function(_0x1500c3){if(_0x26bbc0){for(var _0x3b4f56=_0x26bbc0['length'],_0x465afa=0x1;_0x465afa<_0x3b4f56;_0x465afa++)_0x26bbc0[_0x465afa](_0x1500c3);_0x26bbc0[0x0](_0x1500c3),_0x26bbc0=null;}}),_0x1074d5;}function _0x160b34(_0x2346f4){var _0x53bcc5=this['_observers'];if(!_0x53bcc5)return-0x1;for(var _0x14f570=_0x53bcc5['length'],_0xfb95f2=0x0;_0xfb95f2<_0x14f570;_0xfb95f2++)if(_0x53bcc5[_0xfb95f2]['_target']===_0x2346f4)return _0xfb95f2;return-0x1;}function _0x3082ac(_0x42e5e7,_0x4e4924,_0x1a1ecd,_0x102c1a,_0x53318b){if(!_0x1a1ecd)return null;if(0x0===_0x102c1a){var _0x86f73c=typeof _0x4e4924;if('string'===_0x86f73c){var _0xebe736,_0x5eb1eb,_0x45cddd=0x0,_0x2b388e=0x0,_0x173535=this['delimiter'],_0x14d246=_0x173535['length'];if(-0x1!==(_0x5eb1eb=_0x4e4924['indexOf'](_0x173535))){_0xebe736=new Array(0x5);do{_0xebe736[_0x45cddd++]=_0x4e4924['slice'](_0x2b388e,_0x5eb1eb),_0x2b388e=_0x5eb1eb+_0x14d246;}while(-0x1!==(_0x5eb1eb=_0x4e4924['indexOf'](_0x173535,_0x2b388e)));_0xebe736[_0x45cddd++]=_0x4e4924['slice'](_0x2b388e),_0x4e4924=_0xebe736,_0x53318b=_0x45cddd;}else _0x4e4924=[_0x4e4924],_0x53318b=0x1;}else'object'===_0x86f73c?_0x53318b=_0x4e4924['length']:(_0x4e4924=[_0x4e4924],_0x53318b=0x1);}var _0x3b2286,_0x32d6a2,_0x59d824,_0x333c77,_0x55e812,_0x12767f,_0x41f115,_0xb5b15b=null,_0x3ea166=_0x4e4924[_0x102c1a],_0x57199c=_0x4e4924[_0x102c1a+0x1];if(_0x102c1a===_0x53318b)_0x1a1ecd['_listeners']&&('function'==typeof _0x1a1ecd['_listeners']?(_0x42e5e7&&_0x42e5e7['push'](_0x1a1ecd['_listeners']),_0xb5b15b=[_0x1a1ecd]):(_0x42e5e7&&_0x42e5e7['push']['apply'](_0x42e5e7,_0x1a1ecd['_listeners']),_0xb5b15b=[_0x1a1ecd]));else{if('*'===_0x3ea166){for(_0x5eb1eb=(_0x12767f=_0x30e33d(_0x1a1ecd))['length'];_0x5eb1eb-->0x0;)'_listeners'!==(_0x3b2286=_0x12767f[_0x5eb1eb])&&(_0x41f115=_0x3082ac(_0x42e5e7,_0x4e4924,_0x1a1ecd[_0x3b2286],_0x102c1a+0x1,_0x53318b))&&(_0xb5b15b?_0xb5b15b['push']['apply'](_0xb5b15b,_0x41f115):_0xb5b15b=_0x41f115);return _0xb5b15b;}if('**'===_0x3ea166){for((_0x55e812=_0x102c1a+0x1===_0x53318b||_0x102c1a+0x2===_0x53318b&&'*'===_0x57199c)&&_0x1a1ecd['_listeners']&&(_0xb5b15b=_0x3082ac(_0x42e5e7,_0x4e4924,_0x1a1ecd,_0x53318b,_0x53318b)),_0x5eb1eb=(_0x12767f=_0x30e33d(_0x1a1ecd))['length'];_0x5eb1eb-->0x0;)'_listeners'!==(_0x3b2286=_0x12767f[_0x5eb1eb])&&('*'===_0x3b2286||'**'===_0x3b2286?(_0x1a1ecd[_0x3b2286]['_listeners']&&!_0x55e812&&(_0x41f115=_0x3082ac(_0x42e5e7,_0x4e4924,_0x1a1ecd[_0x3b2286],_0x53318b,_0x53318b))&&(_0xb5b15b?_0xb5b15b['push']['apply'](_0xb5b15b,_0x41f115):_0xb5b15b=_0x41f115),_0x41f115=_0x3082ac(_0x42e5e7,_0x4e4924,_0x1a1ecd[_0x3b2286],_0x102c1a,_0x53318b)):_0x41f115=_0x3082ac(_0x42e5e7,_0x4e4924,_0x1a1ecd[_0x3b2286],_0x3b2286===_0x57199c?_0x102c1a+0x2:_0x102c1a,_0x53318b),_0x41f115&&(_0xb5b15b?_0xb5b15b['push']['apply'](_0xb5b15b,_0x41f115):_0xb5b15b=_0x41f115));return _0xb5b15b;}_0x1a1ecd[_0x3ea166]&&(_0xb5b15b=_0x3082ac(_0x42e5e7,_0x4e4924,_0x1a1ecd[_0x3ea166],_0x102c1a+0x1,_0x53318b));}if((_0x32d6a2=_0x1a1ecd['*'])&&_0x3082ac(_0x42e5e7,_0x4e4924,_0x32d6a2,_0x102c1a+0x1,_0x53318b),_0x59d824=_0x1a1ecd['**'])if(_0x102c1a<_0x53318b)for(_0x59d824['_listeners']&&_0x3082ac(_0x42e5e7,_0x4e4924,_0x59d824,_0x53318b,_0x53318b),_0x5eb1eb=(_0x12767f=_0x30e33d(_0x59d824))['length'];_0x5eb1eb-->0x0;)'_listeners'!==(_0x3b2286=_0x12767f[_0x5eb1eb])&&(_0x3b2286===_0x57199c?_0x3082ac(_0x42e5e7,_0x4e4924,_0x59d824[_0x3b2286],_0x102c1a+0x2,_0x53318b):_0x3b2286===_0x3ea166?_0x3082ac(_0x42e5e7,_0x4e4924,_0x59d824[_0x3b2286],_0x102c1a+0x1,_0x53318b):((_0x333c77={})[_0x3b2286]=_0x59d824[_0x3b2286],_0x3082ac(_0x42e5e7,_0x4e4924,{'**':_0x333c77},_0x102c1a+0x1,_0x53318b)));else _0x59d824['_listeners']?_0x3082ac(_0x42e5e7,_0x4e4924,_0x59d824,_0x53318b,_0x53318b):_0x59d824['*']&&_0x59d824['*']['_listeners']&&_0x3082ac(_0x42e5e7,_0x4e4924,_0x59d824['*'],_0x53318b,_0x53318b);return _0xb5b15b;}function _0x3edb9c(_0xfd96a5,_0x54dc93,_0x1d22b8){var _0x636b3b,_0x4e6b8d,_0x112dc1=0x0,_0x58c577=0x0,_0x17bfce=this['delimiter'],_0x5697dd=_0x17bfce['length'];if('string'==typeof _0xfd96a5)if(-0x1!==(_0x636b3b=_0xfd96a5['indexOf'](_0x17bfce))){_0x4e6b8d=new Array(0x5);do{_0x4e6b8d[_0x112dc1++]=_0xfd96a5['slice'](_0x58c577,_0x636b3b),_0x58c577=_0x636b3b+_0x5697dd;}while(-0x1!==(_0x636b3b=_0xfd96a5['indexOf'](_0x17bfce,_0x58c577)));_0x4e6b8d[_0x112dc1++]=_0xfd96a5['slice'](_0x58c577);}else _0x4e6b8d=[_0xfd96a5],_0x112dc1=0x1;else _0x4e6b8d=_0xfd96a5,_0x112dc1=_0xfd96a5['length'];if(_0x112dc1>0x1)for(_0x636b3b=0x0;_0x636b3b+0x1<_0x112dc1;_0x636b3b++)if('**'===_0x4e6b8d[_0x636b3b]&&'**'===_0x4e6b8d[_0x636b3b+0x1])return;var _0x4595c0,_0x4673d6=this['listenerTree'];for(_0x636b3b=0x0;_0x636b3b<_0x112dc1;_0x636b3b++)if(_0x4673d6=_0x4673d6[_0x4595c0=_0x4e6b8d[_0x636b3b]]||(_0x4673d6[_0x4595c0]={}),_0x636b3b===_0x112dc1-0x1)return _0x4673d6['_listeners']?('function'==typeof _0x4673d6['_listeners']&&(_0x4673d6['_listeners']=[_0x4673d6['_listeners']]),_0x1d22b8?_0x4673d6['_listeners']['unshift'](_0x54dc93):_0x4673d6['_listeners']['push'](_0x54dc93),!_0x4673d6['_listeners']['warned']&&this['_maxListeners']>0x0&&_0x4673d6['_listeners']['length']>this['_maxListeners']&&(_0x4673d6['_listeners']['warned']=!0x0,_0xd41bdb['call'](this,_0x4673d6['_listeners']['length'],_0x4595c0))):_0x4673d6['_listeners']=_0x54dc93,!0x0;return!0x0;}function _0xfd3fdd(_0x4a3b89,_0x3e5b0d,_0x4da61c,_0x5b72d9){for(var _0x57285b,_0x5de4ab,_0x4b58d8,_0x1aea3e,_0x2f2a52=_0x30e33d(_0x4a3b89),_0x5402e6=_0x2f2a52['length'],_0x5e98c7=_0x4a3b89['_listeners'];_0x5402e6-->0x0;)_0x57285b=_0x4a3b89[_0x5de4ab=_0x2f2a52[_0x5402e6]],_0x4b58d8='_listeners'===_0x5de4ab?_0x4da61c:_0x4da61c?_0x4da61c['concat'](_0x5de4ab):[_0x5de4ab],_0x1aea3e=_0x5b72d9||'symbol'==typeof _0x5de4ab,_0x5e98c7&&_0x3e5b0d['push'](_0x1aea3e?_0x4b58d8:_0x4b58d8['join'](this['delimiter'])),'object'==typeof _0x57285b&&_0xfd3fdd['call'](this,_0x57285b,_0x3e5b0d,_0x4b58d8,_0x1aea3e);return _0x3e5b0d;}function _0x17c87a(_0x250d61){for(var _0x721b6,_0x119d8e,_0x416184,_0x1d8908=_0x30e33d(_0x250d61),_0x231519=_0x1d8908['length'];_0x231519-->0x0;)(_0x721b6=_0x250d61[_0x119d8e=_0x1d8908[_0x231519]])&&(_0x416184=!0x0,'_listeners'===_0x119d8e||_0x17c87a(_0x721b6)||delete _0x250d61[_0x119d8e]);return _0x416184;}function _0xcc19df(_0x511ea6,_0xb70efa,_0x31ca8f){this['emitter']=_0x511ea6,this['event']=_0xb70efa,this['listener']=_0x31ca8f;}function _0x3f4514(_0x48c1a0,_0x4056ca,_0x383861){if(!0x0===_0x383861)_0x49c73a=!0x0;else if(!0x1===_0x383861)_0xdaf633=!0x0;else{if(!_0x383861||'object'!=typeof _0x383861)throw TypeError('options\x20should\x20be\x20an\x20object\x20or\x20true');var _0xdaf633=_0x383861['async'],_0x49c73a=_0x383861['promisify'],_0x2bafca=_0x383861['nextTick'],_0x2116a4=_0x383861['objectify'];}if(_0xdaf633||_0x2bafca||_0x49c73a){var _0x340f9e=_0x4056ca,_0x47f103=_0x4056ca['_origin']||_0x4056ca;if(_0x2bafca&&!_0x479162)throw Error('process.nextTick\x20is\x20not\x20supported');_0x49c73a===_0x105045&&(_0x49c73a='AsyncFunction'===_0x4056ca['constructor']['name']),_0x4056ca=function(){var _0x5f43b8=arguments,_0x535ccb=this,_0x3061dd=this['event'];return _0x49c73a?_0x2bafca?Promise['resolve']():new Promise(function(_0x153fbd){_0x4332cc(_0x153fbd);})['then'](function(){return _0x535ccb['event']=_0x3061dd,_0x340f9e['apply'](_0x535ccb,_0x5f43b8);}):(_0x2bafca?process['nextTick']:_0x4332cc)(function(){_0x535ccb['event']=_0x3061dd,_0x340f9e['apply'](_0x535ccb,_0x5f43b8);});},_0x4056ca['_async']=!0x0,_0x4056ca['_origin']=_0x47f103;}return[_0x4056ca,_0x2116a4?new _0xcc19df(this,_0x48c1a0,_0x4056ca):this];}function _0x4adeea(_0x581b3d){this['_events']={},this['_newListener']=!0x1,this['_removeListener']=!0x1,this['verboseMemoryLeak']=!0x1,_0x585cf1['call'](this,_0x581b3d);}_0xcc19df['prototype']['off']=function(){return this['emitter']['off'](this['event'],this['listener']),this;},_0x4adeea['EventEmitter2']=_0x4adeea,_0x4adeea['prototype']['listenTo']=function(_0x30130d,_0x15875f,_0x12ae02){if('object'!=typeof _0x30130d)throw TypeError('target\x20musts\x20be\x20an\x20object');var _0x2e81fb=this;function _0x6c4a9f(_0x234b91){if('object'!=typeof _0x234b91)throw TypeError('events\x20must\x20be\x20an\x20object');var _0xf9f98b,_0x2cda93=_0x12ae02['reducers'],_0x993829=_0x160b34['call'](_0x2e81fb,_0x30130d);_0xf9f98b=-0x1===_0x993829?new _0x3b7881(_0x2e81fb,_0x30130d,_0x12ae02):_0x2e81fb['_observers'][_0x993829];for(var _0x3ffd3f,_0x336873=_0x30e33d(_0x234b91),_0x7fb15f=_0x336873['length'],_0x5e85d0='function'==typeof _0x2cda93,_0x4852d9=0x0;_0x4852d9<_0x7fb15f;_0x4852d9++)_0x3ffd3f=_0x336873[_0x4852d9],_0xf9f98b['subscribe'](_0x3ffd3f,_0x234b91[_0x3ffd3f]||_0x3ffd3f,_0x5e85d0?_0x2cda93:_0x2cda93&&_0x2cda93[_0x3ffd3f]);}return _0x12ae02=_0x46b695(_0x12ae02,{'on':_0x105045,'off':_0x105045,'reducers':_0x105045},{'on':_0x192881,'off':_0x192881,'reducers':_0x33d7d7}),_0x376f5a(_0x15875f)?_0x6c4a9f(_0x1f49a2(_0x15875f)):_0x6c4a9f('string'==typeof _0x15875f?_0x1f49a2(_0x15875f['split'](/\s+/)):_0x15875f),this;},_0x4adeea['prototype']['stopListeningTo']=function(_0x3574ec,_0x1995ef){var _0x202938=this['_observers'];if(!_0x202938)return!0x1;var _0x1c2cfe,_0x1764f0=_0x202938['length'],_0x3aff19=!0x1;if(_0x3574ec&&'object'!=typeof _0x3574ec)throw TypeError('target\x20should\x20be\x20an\x20object');for(;_0x1764f0-->0x0;)_0x1c2cfe=_0x202938[_0x1764f0],_0x3574ec&&_0x1c2cfe['_target']!==_0x3574ec||(_0x1c2cfe['unsubscribe'](_0x1995ef),_0x3aff19=!0x0);return _0x3aff19;},_0x4adeea['prototype']['delimiter']='.',_0x4adeea['prototype']['setMaxListeners']=function(_0x2789a7){_0x2789a7!==_0x105045&&(this['_maxListeners']=_0x2789a7,this['_conf']||(this['_conf']={}),this['_conf']['maxListeners']=_0x2789a7);},_0x4adeea['prototype']['getMaxListeners']=function(){return this['_maxListeners'];},_0x4adeea['prototype']['event']='',_0x4adeea['prototype']['once']=function(_0x2963aa,_0x2caa82,_0x3d9da4){return this['_once'](_0x2963aa,_0x2caa82,!0x1,_0x3d9da4);},_0x4adeea['prototype']['prependOnceListener']=function(_0x3166d0,_0xdb3ec1,_0x9f0f3d){return this['_once'](_0x3166d0,_0xdb3ec1,!0x0,_0x9f0f3d);},_0x4adeea['prototype']['_once']=function(_0xbb09cd,_0x4942c0,_0x5d621f,_0xa42517){return this['_many'](_0xbb09cd,0x1,_0x4942c0,_0x5d621f,_0xa42517);},_0x4adeea['prototype']['many']=function(_0x5364c4,_0xe5376e,_0x4bca85,_0x214b82){return this['_many'](_0x5364c4,_0xe5376e,_0x4bca85,!0x1,_0x214b82);},_0x4adeea['prototype']['prependMany']=function(_0x15ecd4,_0x586bd8,_0x33ee2e,_0x5e5fec){return this['_many'](_0x15ecd4,_0x586bd8,_0x33ee2e,!0x0,_0x5e5fec);},_0x4adeea['prototype']['_many']=function(_0x51fd0d,_0x2ac80e,_0x27961f,_0x3b4ef1,_0x17e089){var _0xf6934d=this;if('function'!=typeof _0x27961f)throw new Error('many\x20only\x20accepts\x20instances\x20of\x20Function');function _0x1968e1(){return 0x0===--_0x2ac80e&&_0xf6934d['off'](_0x51fd0d,_0x1968e1),_0x27961f['apply'](this,arguments);}return _0x1968e1['_origin']=_0x27961f,this['_on'](_0x51fd0d,_0x1968e1,_0x3b4ef1,_0x17e089);},_0x4adeea['prototype']['emit']=function(){if(!this['_events']&&!this['_all'])return!0x1;this['_events']||_0x5c35c6['call'](this);var _0x60ccf6,_0x323f82,_0x3a12c7,_0x4f4fa1,_0x94b822,_0x3abd49,_0x4ec418=arguments[0x0],_0x34cba0=this['wildcard'];if('newListener'===_0x4ec418&&!this['_newListener']&&!this['_events']['newListener'])return!0x1;if(_0x34cba0&&(_0x60ccf6=_0x4ec418,'newListener'!==_0x4ec418&&'removeListener'!==_0x4ec418&&'object'==typeof _0x4ec418)){if(_0x3a12c7=_0x4ec418['length'],_0x2cbb59)for(_0x4f4fa1=0x0;_0x4f4fa1<_0x3a12c7;_0x4f4fa1++)if('symbol'==typeof _0x4ec418[_0x4f4fa1]){_0x3abd49=!0x0;break;}_0x3abd49||(_0x4ec418=_0x4ec418['join'](this['delimiter']));}var _0x3f6ccb,_0x25e25c=arguments['length'];if(this['_all']&&this['_all']['length'])for(_0x4f4fa1=0x0,_0x3a12c7=(_0x3f6ccb=this['_all']['slice']())['length'];_0x4f4fa1<_0x3a12c7;_0x4f4fa1++)switch(this['event']=_0x4ec418,_0x25e25c){case 0x1:_0x3f6ccb[_0x4f4fa1]['call'](this,_0x4ec418);break;case 0x2:_0x3f6ccb[_0x4f4fa1]['call'](this,_0x4ec418,arguments[0x1]);break;case 0x3:_0x3f6ccb[_0x4f4fa1]['call'](this,_0x4ec418,arguments[0x1],arguments[0x2]);break;default:_0x3f6ccb[_0x4f4fa1]['apply'](this,arguments);}if(_0x34cba0)_0x3f6ccb=[],_0x3082ac['call'](this,_0x3f6ccb,_0x60ccf6,this['listenerTree'],0x0,_0x3a12c7);else{if('function'==typeof(_0x3f6ccb=this['_events'][_0x4ec418])){switch(this['event']=_0x4ec418,_0x25e25c){case 0x1:_0x3f6ccb['call'](this);break;case 0x2:_0x3f6ccb['call'](this,arguments[0x1]);break;case 0x3:_0x3f6ccb['call'](this,arguments[0x1],arguments[0x2]);break;default:for(_0x323f82=new Array(_0x25e25c-0x1),_0x94b822=0x1;_0x94b822<_0x25e25c;_0x94b822++)_0x323f82[_0x94b822-0x1]=arguments[_0x94b822];_0x3f6ccb['apply'](this,_0x323f82);}return!0x0;}_0x3f6ccb&&(_0x3f6ccb=_0x3f6ccb['slice']());}if(_0x3f6ccb&&_0x3f6ccb['length']){if(_0x25e25c>0x3)for(_0x323f82=new Array(_0x25e25c-0x1),_0x94b822=0x1;_0x94b822<_0x25e25c;_0x94b822++)_0x323f82[_0x94b822-0x1]=arguments[_0x94b822];for(_0x4f4fa1=0x0,_0x3a12c7=_0x3f6ccb['length'];_0x4f4fa1<_0x3a12c7;_0x4f4fa1++)switch(this['event']=_0x4ec418,_0x25e25c){case 0x1:_0x3f6ccb[_0x4f4fa1]['call'](this);break;case 0x2:_0x3f6ccb[_0x4f4fa1]['call'](this,arguments[0x1]);break;case 0x3:_0x3f6ccb[_0x4f4fa1]['call'](this,arguments[0x1],arguments[0x2]);break;default:_0x3f6ccb[_0x4f4fa1]['apply'](this,_0x323f82);}return!0x0;}if(!this['ignoreErrors']&&!this['_all']&&'error'===_0x4ec418)throw arguments[0x1]instanceof Error?arguments[0x1]:new Error('Uncaught,\x20unspecified\x20\x27error\x27\x20event.');return!!this['_all'];},_0x4adeea['prototype']['emitAsync']=function(){if(!this['_events']&&!this['_all'])return!0x1;this['_events']||_0x5c35c6['call'](this);var _0x19739a,_0x237c3d,_0x47dbcf,_0x3b6353,_0x5e39d4,_0x3ac998,_0x58d221=arguments[0x0],_0x36f296=this['wildcard'];if('newListener'===_0x58d221&&!this['_newListener']&&!this['_events']['newListener'])return Promise['resolve']([!0x1]);if(_0x36f296&&(_0x19739a=_0x58d221,'newListener'!==_0x58d221&&'removeListener'!==_0x58d221&&'object'==typeof _0x58d221)){if(_0x3b6353=_0x58d221['length'],_0x2cbb59)for(_0x5e39d4=0x0;_0x5e39d4<_0x3b6353;_0x5e39d4++)if('symbol'==typeof _0x58d221[_0x5e39d4]){_0x237c3d=!0x0;break;}_0x237c3d||(_0x58d221=_0x58d221['join'](this['delimiter']));}var _0x52063f,_0x17a239=[],_0x52dbd8=arguments['length'];if(this['_all'])for(_0x5e39d4=0x0,_0x3b6353=this['_all']['length'];_0x5e39d4<_0x3b6353;_0x5e39d4++)switch(this['event']=_0x58d221,_0x52dbd8){case 0x1:_0x17a239['push'](this['_all'][_0x5e39d4]['call'](this,_0x58d221));break;case 0x2:_0x17a239['push'](this['_all'][_0x5e39d4]['call'](this,_0x58d221,arguments[0x1]));break;case 0x3:_0x17a239['push'](this['_all'][_0x5e39d4]['call'](this,_0x58d221,arguments[0x1],arguments[0x2]));break;default:_0x17a239['push'](this['_all'][_0x5e39d4]['apply'](this,arguments));}if(_0x36f296?(_0x52063f=[],_0x3082ac['call'](this,_0x52063f,_0x19739a,this['listenerTree'],0x0)):_0x52063f=this['_events'][_0x58d221],'function'==typeof _0x52063f)switch(this['event']=_0x58d221,_0x52dbd8){case 0x1:_0x17a239['push'](_0x52063f['call'](this));break;case 0x2:_0x17a239['push'](_0x52063f['call'](this,arguments[0x1]));break;case 0x3:_0x17a239['push'](_0x52063f['call'](this,arguments[0x1],arguments[0x2]));break;default:for(_0x47dbcf=new Array(_0x52dbd8-0x1),_0x3ac998=0x1;_0x3ac998<_0x52dbd8;_0x3ac998++)_0x47dbcf[_0x3ac998-0x1]=arguments[_0x3ac998];_0x17a239['push'](_0x52063f['apply'](this,_0x47dbcf));}else if(_0x52063f&&_0x52063f['length']){if(_0x52063f=_0x52063f['slice'](),_0x52dbd8>0x3)for(_0x47dbcf=new Array(_0x52dbd8-0x1),_0x3ac998=0x1;_0x3ac998<_0x52dbd8;_0x3ac998++)_0x47dbcf[_0x3ac998-0x1]=arguments[_0x3ac998];for(_0x5e39d4=0x0,_0x3b6353=_0x52063f['length'];_0x5e39d4<_0x3b6353;_0x5e39d4++)switch(this['event']=_0x58d221,_0x52dbd8){case 0x1:_0x17a239['push'](_0x52063f[_0x5e39d4]['call'](this));break;case 0x2:_0x17a239['push'](_0x52063f[_0x5e39d4]['call'](this,arguments[0x1]));break;case 0x3:_0x17a239['push'](_0x52063f[_0x5e39d4]['call'](this,arguments[0x1],arguments[0x2]));break;default:_0x17a239['push'](_0x52063f[_0x5e39d4]['apply'](this,_0x47dbcf));}}else if(!this['ignoreErrors']&&!this['_all']&&'error'===_0x58d221)return arguments[0x1]instanceof Error?Promise['reject'](arguments[0x1]):Promise['reject']('Uncaught,\x20unspecified\x20\x27error\x27\x20event.');return Promise['all'](_0x17a239);},_0x4adeea['prototype']['on']=function(_0x24761c,_0xf54107,_0x3ef95e){return this['_on'](_0x24761c,_0xf54107,!0x1,_0x3ef95e);},_0x4adeea['prototype']['prependListener']=function(_0x2f2bc7,_0x43b401,_0x43c169){return this['_on'](_0x2f2bc7,_0x43b401,!0x0,_0x43c169);},_0x4adeea['prototype']['onAny']=function(_0x56a33e){return this['_onAny'](_0x56a33e,!0x1);},_0x4adeea['prototype']['prependAny']=function(_0x6d6aac){return this['_onAny'](_0x6d6aac,!0x0);},_0x4adeea['prototype']['addListener']=_0x4adeea['prototype']['on'],_0x4adeea['prototype']['_onAny']=function(_0x447a84,_0x4a030d){if('function'!=typeof _0x447a84)throw new Error('onAny\x20only\x20accepts\x20instances\x20of\x20Function');return this['_all']||(this['_all']=[]),_0x4a030d?this['_all']['unshift'](_0x447a84):this['_all']['push'](_0x447a84),this;},_0x4adeea['prototype']['_on']=function(_0x318772,_0x3fe442,_0x4caf18,_0xbd7cbf){if('function'==typeof _0x318772)return this['_onAny'](_0x318772,_0x3fe442),this;if('function'!=typeof _0x3fe442)throw new Error('on\x20only\x20accepts\x20instances\x20of\x20Function');this['_events']||_0x5c35c6['call'](this);var _0x307e1c,_0x5aedb9=this;return _0xbd7cbf!==_0x105045&&(_0x3fe442=(_0x307e1c=_0x3f4514['call'](this,_0x318772,_0x3fe442,_0xbd7cbf))[0x0],_0x5aedb9=_0x307e1c[0x1]),this['_newListener']&&this['emit']('newListener',_0x318772,_0x3fe442),this['wildcard']?(_0x3edb9c['call'](this,_0x318772,_0x3fe442,_0x4caf18),_0x5aedb9):(this['_events'][_0x318772]?('function'==typeof this['_events'][_0x318772]&&(this['_events'][_0x318772]=[this['_events'][_0x318772]]),_0x4caf18?this['_events'][_0x318772]['unshift'](_0x3fe442):this['_events'][_0x318772]['push'](_0x3fe442),!this['_events'][_0x318772]['warned']&&this['_maxListeners']>0x0&&this['_events'][_0x318772]['length']>this['_maxListeners']&&(this['_events'][_0x318772]['warned']=!0x0,_0xd41bdb['call'](this,this['_events'][_0x318772]['length'],_0x318772))):this['_events'][_0x318772]=_0x3fe442,_0x5aedb9);},_0x4adeea['prototype']['off']=function(_0x25422e,_0x5a2cea){if('function'!=typeof _0x5a2cea)throw new Error('removeListener\x20only\x20takes\x20instances\x20of\x20Function');var _0x51ad34,_0x1dece9=[];if(this['wildcard']){var _0x4c781e='string'==typeof _0x25422e?_0x25422e['split'](this['delimiter']):_0x25422e['slice']();if(!(_0x1dece9=_0x3082ac['call'](this,null,_0x4c781e,this['listenerTree'],0x0)))return this;}else{if(!this['_events'][_0x25422e])return this;_0x51ad34=this['_events'][_0x25422e],_0x1dece9['push']({'_listeners':_0x51ad34});}for(var _0x373cfa=0x0;_0x373cfa<_0x1dece9['length'];_0x373cfa++){var _0xec1892=_0x1dece9[_0x373cfa];if(_0x51ad34=_0xec1892['_listeners'],_0x376f5a(_0x51ad34)){for(var _0x125453=-0x1,_0x5cea9b=0x0,_0x3dc2ed=_0x51ad34['length'];_0x5cea9b<_0x3dc2ed;_0x5cea9b++)if(_0x51ad34[_0x5cea9b]===_0x5a2cea||_0x51ad34[_0x5cea9b]['listener']&&_0x51ad34[_0x5cea9b]['listener']===_0x5a2cea||_0x51ad34[_0x5cea9b]['_origin']&&_0x51ad34[_0x5cea9b]['_origin']===_0x5a2cea){_0x125453=_0x5cea9b;break;}if(_0x125453<0x0)continue;return this['wildcard']?_0xec1892['_listeners']['splice'](_0x125453,0x1):this['_events'][_0x25422e]['splice'](_0x125453,0x1),0x0===_0x51ad34['length']&&(this['wildcard']?delete _0xec1892['_listeners']:delete this['_events'][_0x25422e]),this['_removeListener']&&this['emit']('removeListener',_0x25422e,_0x5a2cea),this;}(_0x51ad34===_0x5a2cea||_0x51ad34['listener']&&_0x51ad34['listener']===_0x5a2cea||_0x51ad34['_origin']&&_0x51ad34['_origin']===_0x5a2cea)&&(this['wildcard']?delete _0xec1892['_listeners']:delete this['_events'][_0x25422e],this['_removeListener']&&this['emit']('removeListener',_0x25422e,_0x5a2cea));}return this['listenerTree']&&_0x17c87a(this['listenerTree']),this;},_0x4adeea['prototype']['offAny']=function(_0x3ece5e){var _0x7b01b,_0x544949=0x0,_0x3c97b0=0x0;if(_0x3ece5e&&this['_all']&&this['_all']['length']>0x0){for(_0x544949=0x0,_0x3c97b0=(_0x7b01b=this['_all'])['length'];_0x544949<_0x3c97b0;_0x544949++)if(_0x3ece5e===_0x7b01b[_0x544949])return _0x7b01b['splice'](_0x544949,0x1),this['_removeListener']&&this['emit']('removeListenerAny',_0x3ece5e),this;}else{if(_0x7b01b=this['_all'],this['_removeListener'])for(_0x544949=0x0,_0x3c97b0=_0x7b01b['length'];_0x544949<_0x3c97b0;_0x544949++)this['emit']('removeListenerAny',_0x7b01b[_0x544949]);this['_all']=[];}return this;},_0x4adeea['prototype']['removeListener']=_0x4adeea['prototype']['off'],_0x4adeea['prototype']['removeAllListeners']=function(_0x1a39c2){if(_0x1a39c2===_0x105045)return!this['_events']||_0x5c35c6['call'](this),this;if(this['wildcard']){var _0x21faad,_0x26c532=_0x3082ac['call'](this,null,_0x1a39c2,this['listenerTree'],0x0);if(!_0x26c532)return this;for(_0x21faad=0x0;_0x21faad<_0x26c532['length'];_0x21faad++)_0x26c532[_0x21faad]['_listeners']=null;this['listenerTree']&&_0x17c87a(this['listenerTree']);}else this['_events']&&(this['_events'][_0x1a39c2]=null);return this;},_0x4adeea['prototype']['listeners']=function(_0xb8ab59){var _0x3364df,_0x3080ac,_0x35bb0f,_0x3926ba,_0xa74731,_0x136840=this['_events'];if(_0xb8ab59===_0x105045){if(this['wildcard'])throw Error('event\x20name\x20required\x20for\x20wildcard\x20emitter');if(!_0x136840)return[];for(_0x3926ba=(_0x3364df=_0x30e33d(_0x136840))['length'],_0x35bb0f=[];_0x3926ba-->0x0;)'function'==typeof(_0x3080ac=_0x136840[_0x3364df[_0x3926ba]])?_0x35bb0f['push'](_0x3080ac):_0x35bb0f['push']['apply'](_0x35bb0f,_0x3080ac);return _0x35bb0f;}if(this['wildcard']){if(!(_0xa74731=this['listenerTree']))return[];var _0x2c564f=[],_0x1ee250='string'==typeof _0xb8ab59?_0xb8ab59['split'](this['delimiter']):_0xb8ab59['slice']();return _0x3082ac['call'](this,_0x2c564f,_0x1ee250,_0xa74731,0x0),_0x2c564f;}return _0x136840&&(_0x3080ac=_0x136840[_0xb8ab59])?'function'==typeof _0x3080ac?[_0x3080ac]:_0x3080ac:[];},_0x4adeea['prototype']['eventNames']=function(_0x784be1){var _0x20dc54=this['_events'];return this['wildcard']?_0xfd3fdd['call'](this,this['listenerTree'],[],null,_0x784be1):_0x20dc54?_0x30e33d(_0x20dc54):[];},_0x4adeea['prototype']['listenerCount']=function(_0x4be778){return this['listeners'](_0x4be778)['length'];},_0x4adeea['prototype']['hasListeners']=function(_0x284904){if(this['wildcard']){var _0x46bef7=[],_0x523ccc='string'==typeof _0x284904?_0x284904['split'](this['delimiter']):_0x284904['slice']();return _0x3082ac['call'](this,_0x46bef7,_0x523ccc,this['listenerTree'],0x0),_0x46bef7['length']>0x0;}var _0x2c8f0f=this['_events'],_0x323e38=this['_all'];return!!(_0x323e38&&_0x323e38['length']||_0x2c8f0f&&(_0x284904===_0x105045?_0x30e33d(_0x2c8f0f)['length']:_0x2c8f0f[_0x284904]));},_0x4adeea['prototype']['listenersAny']=function(){return this['_all']?this['_all']:[];},_0x4adeea['prototype']['waitFor']=function(_0x35efca,_0x3a68a2){var _0x2706f9=this,_0x516239=typeof _0x3a68a2;return'number'===_0x516239?_0x3a68a2={'timeout':_0x3a68a2}:'function'===_0x516239&&(_0x3a68a2={'filter':_0x3a68a2}),_0xe0c2b((_0x3a68a2=_0x46b695(_0x3a68a2,{'timeout':0x0,'filter':_0x105045,'handleError':!0x1,'Promise':Promise,'overload':!0x1},{'filter':_0x192881,'Promise':_0xd66bc5}))['Promise'],function(_0x3afbce,_0x5179e0,_0x36d3dc){function _0x5d23b2(){var _0x2ead40=_0x3a68a2['filter'];if(!_0x2ead40||_0x2ead40['apply'](_0x2706f9,arguments))if(_0x2706f9['off'](_0x35efca,_0x5d23b2),_0x3a68a2['handleError']){var _0xa86f31=arguments[0x0];_0xa86f31?_0x5179e0(_0xa86f31):_0x3afbce(_0xd32a5a['apply'](null,arguments)['slice'](0x1));}else _0x3afbce(_0xd32a5a['apply'](null,arguments));}_0x36d3dc(function(){_0x2706f9['off'](_0x35efca,_0x5d23b2);}),_0x2706f9['_on'](_0x35efca,_0x5d23b2,!0x1);},{'timeout':_0x3a68a2['timeout'],'overload':_0x3a68a2['overload']});};var _0x451acf=_0x4adeea['prototype'];Object['defineProperties'](_0x4adeea,{'defaultMaxListeners':{'get':function(){return _0x451acf['_maxListeners'];},'set':function(_0x3900f5){if('number'!=typeof _0x3900f5||_0x3900f5<0x0||Number['isNaN'](_0x3900f5))throw TypeError('n\x20must\x20be\x20a\x20non-negative\x20number');_0x451acf['_maxListeners']=_0x3900f5;},'enumerable':!0x0},'once':{'value':function(_0x1c632b,_0x3db168,_0x39515e){return _0xe0c2b((_0x39515e=_0x46b695(_0x39515e,{'Promise':Promise,'timeout':0x0,'overload':!0x1},{'Promise':_0xd66bc5}))['Promise'],function(_0x5c7735,_0x2efebb,_0x3bea54){var _0x529ffb;if('function'==typeof _0x1c632b['addEventListener'])return _0x529ffb=function(){_0x5c7735(_0xd32a5a['apply'](null,arguments));},_0x3bea54(function(){_0x1c632b['removeEventListener'](_0x3db168,_0x529ffb);}),void _0x1c632b['addEventListener'](_0x3db168,_0x529ffb,{'once':!0x0});var _0xc6743f,_0x26764d=function(){_0xc6743f&&_0x1c632b['removeListener']('error',_0xc6743f),_0x5c7735(_0xd32a5a['apply'](null,arguments));};'error'!==_0x3db168&&(_0xc6743f=function(_0x4cd353){_0x1c632b['removeListener'](_0x3db168,_0x26764d),_0x2efebb(_0x4cd353);},_0x1c632b['once']('error',_0xc6743f)),_0x3bea54(function(){_0xc6743f&&_0x1c632b['removeListener']('error',_0xc6743f),_0x1c632b['removeListener'](_0x3db168,_0x26764d);}),_0x1c632b['once'](_0x3db168,_0x26764d);},{'timeout':_0x39515e['timeout'],'overload':_0x39515e['overload']});},'writable':!0x0,'configurable':!0x0}}),Object['defineProperties'](_0x451acf,{'_maxListeners':{'value':0xa,'writable':!0x0,'configurable':!0x0},'_observers':{'value':null,'writable':!0x0,'configurable':!0x0}}),_0x473983['exports']=_0x4adeea;}()),Xs['exports'];var _0x473983;}function Zs(){if(Ns)return zs;Ns=0x1;var _0x1a735f=Ps();Is();var _0x5846df=Ys()['EventEmitter2'];function _0x29f9da(_0x46d6fb){_0x46d6fb=_0x46d6fb||{},this['ros']=_0x46d6fb['ros'],this['name']=_0x46d6fb['name'],this['serviceType']=_0x46d6fb['serviceType'],this['isAdvertised']=!0x1,this['_serviceCallback']=null;}return _0x29f9da['prototype']['__proto__']=_0x5846df['prototype'],_0x29f9da['prototype']['callService']=function(_0x2557b5,_0x5aff27,_0x5bc723){if(!this['isAdvertised']){var _0x188ffe='call_service:'+this['name']+':'+ ++this['ros']['idCounter'];(_0x5aff27||_0x5bc723)&&this['ros']['once'](_0x188ffe,function(_0xe30dce){void 0x0!==_0xe30dce['result']&&!0x1===_0xe30dce['result']?'function'==typeof _0x5bc723&&_0x5bc723(_0xe30dce['values']):'function'==typeof _0x5aff27&&_0x5aff27(new _0x1a735f(_0xe30dce['values']));});var _0x290211={'op':'call_service','id':_0x188ffe,'service':this['name'],'type':this['serviceType'],'args':_0x2557b5};this['ros']['callOnConnection'](_0x290211);}},_0x29f9da['prototype']['advertise']=function(_0xcf672b){this['isAdvertised']||'function'!=typeof _0xcf672b||(this['_serviceCallback']=_0xcf672b,this['ros']['on'](this['name'],this['_serviceResponse']['bind'](this)),this['ros']['callOnConnection']({'op':'advertise_service','type':this['serviceType'],'service':this['name']}),this['isAdvertised']=!0x0);},_0x29f9da['prototype']['unadvertise']=function(){this['isAdvertised']&&(this['ros']['callOnConnection']({'op':'unadvertise_service','service':this['name']}),this['isAdvertised']=!0x1);},_0x29f9da['prototype']['_serviceResponse']=function(_0x3948f5){var _0x46585d={},_0x1c3c01=this['_serviceCallback'](_0x3948f5['args'],_0x46585d),_0x5999bd={'op':'service_response','service':this['name'],'values':new _0x1a735f(_0x46585d),'result':_0x1c3c01};_0x3948f5['id']&&(_0x5999bd['id']=_0x3948f5['id']),this['ros']['callOnConnection'](_0x5999bd);},zs=_0x29f9da;}function Qs(){if(Vs)return Us;Vs=0x1;var _0xc19458=cs(),_0x4b4092=xs(),_0x3b4da8=Ds(),_0x5ec706=Zs(),_0x28ae3b=Is(),_0xa3bd8f=as,_0x235da4=Ys()['EventEmitter2'];function _0x2586af(_0x3b9f09){_0x3b9f09=_0x3b9f09||{};var _0x4b1725=this;this['socket']=null,this['idCounter']=0x0,this['isConnected']=!0x1,this['transportLibrary']=_0x3b9f09['transportLibrary']||'websocket',this['transportOptions']=_0x3b9f09['transportOptions']||{},this['_sendFunc']=function(_0x1e2bc4){_0x4b1725['sendEncodedMessage'](_0x1e2bc4);},void 0x0===_0x3b9f09['groovyCompatibility']?this['groovyCompatibility']=!0x0:this['groovyCompatibility']=_0x3b9f09['groovyCompatibility'],this['setMaxListeners'](0x0),_0x3b9f09['url']&&this['connect'](_0x3b9f09['url']);}return _0x2586af['prototype']['__proto__']=_0x235da4['prototype'],_0x2586af['prototype']['connect']=function(_0x489e58){if('socket.io'===this['transportLibrary'])this['socket']=_0xa3bd8f(io(_0x489e58,{'force\x20new\x20connection':!0x0}),_0x3b4da8(this)),this['socket']['on']('connect',this['socket']['onopen']),this['socket']['on']('data',this['socket']['onmessage']),this['socket']['on']('close',this['socket']['onclose']),this['socket']['on']('error',this['socket']['onerror']);else if('RTCPeerConnection'===this['transportLibrary']['constructor']['name'])this['socket']=_0xa3bd8f(this['transportLibrary']['createDataChannel'](_0x489e58,this['transportOptions']),_0x3b4da8(this));else if('websocket'===this['transportLibrary']){if(!this['socket']||this['socket']['readyState']===_0xc19458['CLOSED']){var _0x39d186=new _0xc19458(_0x489e58);_0x39d186['binaryType']='arraybuffer',this['socket']=_0xa3bd8f(_0x39d186,_0x3b4da8(this));}}else{if('workersocket'!==this['transportLibrary'])throw'Unknown\x20transportLibrary:\x20'+this['transportLibrary']['toString']();this['socket']=_0xa3bd8f(new _0x4b4092(_0x489e58),_0x3b4da8(this));}},_0x2586af['prototype']['close']=function(){this['socket']&&this['socket']['close']();},_0x2586af['prototype']['authenticate']=function(_0x4a4c71,_0x26b931,_0x7bad8f,_0x1cc3a2,_0x35b26f,_0x235ee7,_0x32bcd0){var _0x2d7bfc={'op':'auth','mac':_0x4a4c71,'client':_0x26b931,'dest':_0x7bad8f,'rand':_0x1cc3a2,'t':_0x35b26f,'level':_0x235ee7,'end':_0x32bcd0};this['callOnConnection'](_0x2d7bfc);},_0x2586af['prototype']['sendEncodedMessage']=function(_0xc8024f){var _0x18fc33=null,_0x2be133=this;_0x18fc33='socket.io'===this['transportLibrary']?function(_0x146378){_0x2be133['socket']['emit']('operation',_0x146378);}:function(_0x20a3bf){_0x2be133['socket']['send'](_0x20a3bf);},this['isConnected']?_0x18fc33(_0xc8024f):_0x2be133['once']('connection',function(){_0x18fc33(_0xc8024f);});},_0x2586af['prototype']['callOnConnection']=function(_0x1ff90d){this['transportOptions']['encoder']?this['transportOptions']['encoder'](_0x1ff90d,this['_sendFunc']):this['_sendFunc'](JSON['stringify'](_0x1ff90d));},_0x2586af['prototype']['setStatusLevel']=function(_0x552360,_0x588013){var _0x45fb9b={'op':'set_level','level':_0x552360,'id':_0x588013};this['callOnConnection'](_0x45fb9b);},_0x2586af['prototype']['getActionServers']=function(_0x2a9e96,_0x4aa220){var _0x4f4b2b=new _0x5ec706({'ros':this,'name':'/rosapi/action_servers','serviceType':'rosapi/GetActionServers'}),_0x47976f=new _0x28ae3b({});'function'==typeof _0x4aa220?_0x4f4b2b['callService'](_0x47976f,function(_0xde94bc){_0x2a9e96(_0xde94bc['action_servers']);},function(_0x45b54c){_0x4aa220(_0x45b54c);}):_0x4f4b2b['callService'](_0x47976f,function(_0x23b605){_0x2a9e96(_0x23b605['action_servers']);});},_0x2586af['prototype']['getTopics']=function(_0xda6e27,_0x2cd283){var _0x19025d=new _0x5ec706({'ros':this,'name':'/rosapi/topics','serviceType':'rosapi/Topics'}),_0x1063bc=new _0x28ae3b();'function'==typeof _0x2cd283?_0x19025d['callService'](_0x1063bc,function(_0x1bc4af){_0xda6e27(_0x1bc4af);},function(_0x38e0a7){_0x2cd283(_0x38e0a7);}):_0x19025d['callService'](_0x1063bc,function(_0x52ec0d){_0xda6e27(_0x52ec0d);});},_0x2586af['prototype']['getTopicsForType']=function(_0x5dc7b0,_0x85bb6e,_0x124b20){var _0x31aab9=new _0x5ec706({'ros':this,'name':'/rosapi/topics_for_type','serviceType':'rosapi/TopicsForType'}),_0x44bfcd=new _0x28ae3b({'type':_0x5dc7b0});'function'==typeof _0x124b20?_0x31aab9['callService'](_0x44bfcd,function(_0x4a56cf){_0x85bb6e(_0x4a56cf['topics']);},function(_0x4e1934){_0x124b20(_0x4e1934);}):_0x31aab9['callService'](_0x44bfcd,function(_0x1472d4){_0x85bb6e(_0x1472d4['topics']);});},_0x2586af['prototype']['getServices']=function(_0x358d28,_0x2e7970){var _0x2efc0b=new _0x5ec706({'ros':this,'name':'/rosapi/services','serviceType':'rosapi/Services'}),_0x1086b3=new _0x28ae3b();'function'==typeof _0x2e7970?_0x2efc0b['callService'](_0x1086b3,function(_0x3e3f9c){_0x358d28(_0x3e3f9c['services']);},function(_0x1de17c){_0x2e7970(_0x1de17c);}):_0x2efc0b['callService'](_0x1086b3,function(_0x1665e4){_0x358d28(_0x1665e4['services']);});},_0x2586af['prototype']['getServicesForType']=function(_0x47990a,_0x151df9,_0x247edc){var _0x20b0d9=new _0x5ec706({'ros':this,'name':'/rosapi/services_for_type','serviceType':'rosapi/ServicesForType'}),_0xcce506=new _0x28ae3b({'type':_0x47990a});'function'==typeof _0x247edc?_0x20b0d9['callService'](_0xcce506,function(_0x546d77){_0x151df9(_0x546d77['services']);},function(_0x543f24){_0x247edc(_0x543f24);}):_0x20b0d9['callService'](_0xcce506,function(_0x56170c){_0x151df9(_0x56170c['services']);});},_0x2586af['prototype']['getServiceRequestDetails']=function(_0x56e2db,_0x2faada,_0x266f0f){var _0x517216=new _0x5ec706({'ros':this,'name':'/rosapi/service_request_details','serviceType':'rosapi/ServiceRequestDetails'}),_0x34270d=new _0x28ae3b({'type':_0x56e2db});'function'==typeof _0x266f0f?_0x517216['callService'](_0x34270d,function(_0x41b2a3){_0x2faada(_0x41b2a3);},function(_0x3009ed){_0x266f0f(_0x3009ed);}):_0x517216['callService'](_0x34270d,function(_0x2149ee){_0x2faada(_0x2149ee);});},_0x2586af['prototype']['getServiceResponseDetails']=function(_0x299421,_0x348c5a,_0xd7aa47){var _0x2239ff=new _0x5ec706({'ros':this,'name':'/rosapi/service_response_details','serviceType':'rosapi/ServiceResponseDetails'}),_0x48f5d6=new _0x28ae3b({'type':_0x299421});'function'==typeof _0xd7aa47?_0x2239ff['callService'](_0x48f5d6,function(_0x5746ec){_0x348c5a(_0x5746ec);},function(_0x4cf98a){_0xd7aa47(_0x4cf98a);}):_0x2239ff['callService'](_0x48f5d6,function(_0x13e84e){_0x348c5a(_0x13e84e);});},_0x2586af['prototype']['getNodes']=function(_0x42e803,_0x2a910a){var _0x175b8a=new _0x5ec706({'ros':this,'name':'/rosapi/nodes','serviceType':'rosapi/Nodes'}),_0x1efc14=new _0x28ae3b();'function'==typeof _0x2a910a?_0x175b8a['callService'](_0x1efc14,function(_0x54547a){_0x42e803(_0x54547a['nodes']);},function(_0x2fa1e3){_0x2a910a(_0x2fa1e3);}):_0x175b8a['callService'](_0x1efc14,function(_0x18313b){_0x42e803(_0x18313b['nodes']);});},_0x2586af['prototype']['getNodeDetails']=function(_0x13c1b3,_0x577f80,_0x1a0879){var _0x2e0214=new _0x5ec706({'ros':this,'name':'/rosapi/node_details','serviceType':'rosapi/NodeDetails'}),_0x37a811=new _0x28ae3b({'node':_0x13c1b3});'function'==typeof _0x1a0879?_0x2e0214['callService'](_0x37a811,function(_0x29cf18){_0x577f80(_0x29cf18['subscribing'],_0x29cf18['publishing'],_0x29cf18['services']);},function(_0x3ea949){_0x1a0879(_0x3ea949);}):_0x2e0214['callService'](_0x37a811,function(_0x5ebe41){_0x577f80(_0x5ebe41);});},_0x2586af['prototype']['getParams']=function(_0x5eee97,_0x488ebe){var _0x3220ae=new _0x5ec706({'ros':this,'name':'/rosapi/get_param_names','serviceType':'rosapi/GetParamNames'}),_0x3ba2de=new _0x28ae3b();'function'==typeof _0x488ebe?_0x3220ae['callService'](_0x3ba2de,function(_0x3d71ff){_0x5eee97(_0x3d71ff['names']);},function(_0x17d2a8){_0x488ebe(_0x17d2a8);}):_0x3220ae['callService'](_0x3ba2de,function(_0x56ac8b){_0x5eee97(_0x56ac8b['names']);});},_0x2586af['prototype']['getTopicType']=function(_0x50860b,_0x4664dd,_0x5e3345){var _0x433cba=new _0x5ec706({'ros':this,'name':'/rosapi/topic_type','serviceType':'rosapi/TopicType'}),_0x279fb1=new _0x28ae3b({'topic':_0x50860b});'function'==typeof _0x5e3345?_0x433cba['callService'](_0x279fb1,function(_0x1bb241){_0x4664dd(_0x1bb241['type']);},function(_0x130fba){_0x5e3345(_0x130fba);}):_0x433cba['callService'](_0x279fb1,function(_0x5d1c71){_0x4664dd(_0x5d1c71['type']);});},_0x2586af['prototype']['getServiceType']=function(_0x42fddb,_0x4e2a27,_0x342b28){var _0x9d579f=new _0x5ec706({'ros':this,'name':'/rosapi/service_type','serviceType':'rosapi/ServiceType'}),_0x31fa1d=new _0x28ae3b({'service':_0x42fddb});'function'==typeof _0x342b28?_0x9d579f['callService'](_0x31fa1d,function(_0x4bce8f){_0x4e2a27(_0x4bce8f['type']);},function(_0x47be76){_0x342b28(_0x47be76);}):_0x9d579f['callService'](_0x31fa1d,function(_0x2caad7){_0x4e2a27(_0x2caad7['type']);});},_0x2586af['prototype']['getMessageDetails']=function(_0x6dafc1,_0x528dd1,_0x8b7e2a){var _0x4c8e87=new _0x5ec706({'ros':this,'name':'/rosapi/message_details','serviceType':'rosapi/MessageDetails'}),_0x2b31dd=new _0x28ae3b({'type':_0x6dafc1});'function'==typeof _0x8b7e2a?_0x4c8e87['callService'](_0x2b31dd,function(_0x12fa05){_0x528dd1(_0x12fa05['typedefs']);},function(_0x451ebf){_0x8b7e2a(_0x451ebf);}):_0x4c8e87['callService'](_0x2b31dd,function(_0x512100){_0x528dd1(_0x512100['typedefs']);});},_0x2586af['prototype']['decodeTypeDefs']=function(_0x2b137d){var _0x28dd2c=this,_0x2690b2=function(_0x434cc2,_0x1656cc){for(var _0x431407={},_0x204111=0x0;_0x204111<_0x434cc2['fieldnames']['length'];_0x204111++){var _0x162fea=_0x434cc2['fieldarraylen'][_0x204111],_0x3c9c09=_0x434cc2['fieldnames'][_0x204111],_0x1d57a5=_0x434cc2['fieldtypes'][_0x204111];if(-0x1===_0x1d57a5['indexOf']('/'))_0x431407[_0x3c9c09]=-0x1===_0x162fea?_0x1d57a5:[_0x1d57a5];else{for(var _0x58f9c8=!0x1,_0x3df90d=0x0;_0x3df90d<_0x1656cc['length'];_0x3df90d++)if(_0x1656cc[_0x3df90d]['type']['toString']()===_0x1d57a5['toString']()){_0x58f9c8=_0x1656cc[_0x3df90d];break;}if(_0x58f9c8){var _0xd3f538=_0x2690b2(_0x58f9c8,_0x1656cc);_0x431407[_0x3c9c09]=-0x1===_0x162fea?_0xd3f538:[_0xd3f538];}else _0x28dd2c['emit']('error','Cannot\x20find\x20'+_0x1d57a5+'\x20in\x20decodeTypeDefs');}}return _0x431407;};return _0x2690b2(_0x2b137d[0x0],_0x2b137d);},_0x2586af['prototype']['getTopicsAndRawTypes']=function(_0x48189a,_0x3a85f7){var _0x2c2e75=new _0x5ec706({'ros':this,'name':'/rosapi/topics_and_raw_types','serviceType':'rosapi/TopicsAndRawTypes'}),_0x537cc6=new _0x28ae3b();'function'==typeof _0x3a85f7?_0x2c2e75['callService'](_0x537cc6,function(_0x4b1bb3){_0x48189a(_0x4b1bb3);},function(_0x3002a1){_0x3a85f7(_0x3002a1);}):_0x2c2e75['callService'](_0x537cc6,function(_0x3f32f7){_0x48189a(_0x3f32f7);});},Us=_0x2586af;}function Ks(){if(Bs)return qs;Bs=0x1;var _0x239a5b=as;return qs=function(_0x1087ff){_0x239a5b(this,_0x1087ff);};}function er(){if(Js)return $s;Js=0x1;var _0x4ac7f7=Ys()['EventEmitter2'],_0x483d88=Ks();function _0x2b575c(_0x53bc39){_0x53bc39=_0x53bc39||{},this['ros']=_0x53bc39['ros'],this['name']=_0x53bc39['name'],this['messageType']=_0x53bc39['messageType'],this['isAdvertised']=!0x1,this['compression']=_0x53bc39['compression']||'none',this['throttle_rate']=_0x53bc39['throttle_rate']||0x0,this['latch']=_0x53bc39['latch']||!0x1,this['queue_size']=_0x53bc39['queue_size']||0x64,this['queue_length']=_0x53bc39['queue_length']||0x0,this['reconnect_on_close']=void 0x0===_0x53bc39['reconnect_on_close']||_0x53bc39['reconnect_on_close'],this['compression']&&'png'!==this['compression']&&'cbor'!==this['compression']&&'cbor-raw'!==this['compression']&&'none'!==this['compression']&&(this['emit']('warning',this['compression']+'\x20compression\x20is\x20not\x20supported.\x20No\x20compression\x20will\x20be\x20used.'),this['compression']='none'),this['throttle_rate']<0x0&&(this['emit']('warning',this['throttle_rate']+'\x20is\x20not\x20allowed.\x20Set\x20to\x200'),this['throttle_rate']=0x0);var _0x3eba9c=this;this['reconnect_on_close']?this['callForSubscribeAndAdvertise']=function(_0x4f5110){_0x3eba9c['ros']['callOnConnection'](_0x4f5110),_0x3eba9c['waitForReconnect']=!0x1,_0x3eba9c['reconnectFunc']=function(){_0x3eba9c['waitForReconnect']||(_0x3eba9c['waitForReconnect']=!0x0,_0x3eba9c['ros']['callOnConnection'](_0x4f5110),_0x3eba9c['ros']['once']('connection',function(){_0x3eba9c['waitForReconnect']=!0x1;}));},_0x3eba9c['ros']['on']('close',_0x3eba9c['reconnectFunc']);}:this['callForSubscribeAndAdvertise']=this['ros']['callOnConnection'],this['_messageCallback']=function(_0x1678e2){_0x3eba9c['emit']('message',new _0x483d88(_0x1678e2));};}return _0x2b575c['prototype']['__proto__']=_0x4ac7f7['prototype'],_0x2b575c['prototype']['subscribe']=function(_0x473a14){'function'==typeof _0x473a14&&this['on']('message',_0x473a14),this['subscribeId']||(this['ros']['on'](this['name'],this['_messageCallback']),this['subscribeId']='subscribe:'+this['name']+':'+ ++this['ros']['idCounter'],this['callForSubscribeAndAdvertise']({'op':'subscribe','id':this['subscribeId'],'type':this['messageType'],'topic':this['name'],'compression':this['compression'],'throttle_rate':this['throttle_rate'],'queue_length':this['queue_length']}));},_0x2b575c['prototype']['unsubscribe']=function(_0x444aad){_0x444aad&&(this['off']('message',_0x444aad),this['listeners']('message')['length'])||this['subscribeId']&&(this['ros']['off'](this['name'],this['_messageCallback']),this['reconnect_on_close']&&this['ros']['off']('close',this['reconnectFunc']),this['emit']('unsubscribe'),this['ros']['callOnConnection']({'op':'unsubscribe','id':this['subscribeId'],'topic':this['name']}),this['subscribeId']=null);},_0x2b575c['prototype']['advertise']=function(){if(!this['isAdvertised']&&(this['advertiseId']='advertise:'+this['name']+':'+ ++this['ros']['idCounter'],this['callForSubscribeAndAdvertise']({'op':'advertise','id':this['advertiseId'],'type':this['messageType'],'topic':this['name'],'latch':this['latch'],'queue_size':this['queue_size']}),this['isAdvertised']=!0x0,!this['reconnect_on_close'])){var _0xe12cf1=this;this['ros']['on']('close',function(){_0xe12cf1['isAdvertised']=!0x1;});}},_0x2b575c['prototype']['unadvertise']=function(){this['isAdvertised']&&(this['reconnect_on_close']&&this['ros']['off']('close',this['reconnectFunc']),this['emit']('unadvertise'),this['ros']['callOnConnection']({'op':'unadvertise','id':this['advertiseId'],'topic':this['name']}),this['isAdvertised']=!0x1);},_0x2b575c['prototype']['publish']=function(_0x38dc63){this['isAdvertised']||this['advertise'](),this['ros']['idCounter']++;var _0x851f0c={'op':'publish','id':'publish:'+this['name']+':'+this['ros']['idCounter'],'topic':this['name'],'msg':_0x38dc63,'latch':this['latch']};this['ros']['callOnConnection'](_0x851f0c);},$s=_0x2b575c;}function tr(){if(Gs)return Hs;Gs=0x1;var _0x18b2b0=Zs(),_0x187bab=Is();function _0x4dd17a(_0x575111){_0x575111=_0x575111||{},this['ros']=_0x575111['ros'],this['name']=_0x575111['name'];}return _0x4dd17a['prototype']['get']=function(_0x1b7171,_0x354798){var _0x40f850=new _0x18b2b0({'ros':this['ros'],'name':'/rosapi/get_param','serviceType':'rosapi/GetParam'}),_0x5d928f=new _0x187bab({'name':this['name']});_0x40f850['callService'](_0x5d928f,function(_0x18d587){var _0x15d59e=JSON['parse'](_0x18d587['value']);_0x1b7171(_0x15d59e);},_0x354798);},_0x4dd17a['prototype']['set']=function(_0x410082,_0x2abfe9,_0x101a6d){var _0x307ef0=new _0x18b2b0({'ros':this['ros'],'name':'/rosapi/set_param','serviceType':'rosapi/SetParam'}),_0x52cfd7=new _0x187bab({'name':this['name'],'value':JSON['stringify'](_0x410082)});_0x307ef0['callService'](_0x52cfd7,_0x2abfe9,_0x101a6d);},_0x4dd17a['prototype']['delete']=function(_0x181a10,_0xeaed3){var _0x4d2562=new _0x18b2b0({'ros':this['ros'],'name':'/rosapi/delete_param','serviceType':'rosapi/DeleteParam'}),_0x270fbc=new _0x187bab({'name':this['name']});_0x4d2562['callService'](_0x270fbc,_0x181a10,_0xeaed3);},Hs=_0x4dd17a;}var nr,ir,sr,rr,ar,or,lr,cr,hr,ur,dr,pr,mr,gr,fr,yr,vr,br,wr,xr={'exports':{}};function Mr(){if(ir)return nr;ir=0x1;var _0x3762d6=er(),_0x2f5bad=Ks(),_0x30e7a3=Ys()['EventEmitter2'];function _0xd67748(_0x3e7959){var _0x2bea62=this;_0x3e7959=_0x3e7959||{},this['ros']=_0x3e7959['ros'],this['serverName']=_0x3e7959['serverName'],this['actionName']=_0x3e7959['actionName'],this['timeout']=_0x3e7959['timeout'],this['omitFeedback']=_0x3e7959['omitFeedback'],this['omitStatus']=_0x3e7959['omitStatus'],this['omitResult']=_0x3e7959['omitResult'],this['goals']={};var _0x4d4b88=!0x1;this['feedbackListener']=new _0x3762d6({'ros':this['ros'],'name':this['serverName']+'/feedback','messageType':this['actionName']+'Feedback'}),this['statusListener']=new _0x3762d6({'ros':this['ros'],'name':this['serverName']+'/status','messageType':'actionlib_msgs/GoalStatusArray'}),this['resultListener']=new _0x3762d6({'ros':this['ros'],'name':this['serverName']+'/result','messageType':this['actionName']+'Result'}),this['goalTopic']=new _0x3762d6({'ros':this['ros'],'name':this['serverName']+'/goal','messageType':this['actionName']+'Goal'}),this['cancelTopic']=new _0x3762d6({'ros':this['ros'],'name':this['serverName']+'/cancel','messageType':'actionlib_msgs/GoalID'}),this['goalTopic']['advertise'](),this['cancelTopic']['advertise'](),this['omitStatus']||this['statusListener']['subscribe'](function(_0x14c2bd){_0x4d4b88=!0x0,_0x14c2bd['status_list']['forEach'](function(_0x2f74b7){var _0x23e090=_0x2bea62['goals'][_0x2f74b7['goal_id']['id']];_0x23e090&&_0x23e090['emit']('status',_0x2f74b7);});}),this['omitFeedback']||this['feedbackListener']['subscribe'](function(_0x27a1fb){var _0x1b01a9=_0x2bea62['goals'][_0x27a1fb['status']['goal_id']['id']];_0x1b01a9&&(_0x1b01a9['emit']('status',_0x27a1fb['status']),_0x1b01a9['emit']('feedback',_0x27a1fb['feedback']));}),this['omitResult']||this['resultListener']['subscribe'](function(_0x5c8095){var _0x3df9d4=_0x2bea62['goals'][_0x5c8095['status']['goal_id']['id']];_0x3df9d4&&(_0x3df9d4['emit']('status',_0x5c8095['status']),_0x3df9d4['emit']('result',_0x5c8095['result']));}),this['timeout']&&setTimeout(function(){_0x4d4b88||_0x2bea62['emit']('timeout');},this['timeout']);}return _0xd67748['prototype']['__proto__']=_0x30e7a3['prototype'],_0xd67748['prototype']['cancel']=function(){var _0x6ebb32=new _0x2f5bad();this['cancelTopic']['publish'](_0x6ebb32);},_0xd67748['prototype']['dispose']=function(){this['goalTopic']['unadvertise'](),this['cancelTopic']['unadvertise'](),this['omitStatus']||this['statusListener']['unsubscribe'](),this['omitFeedback']||this['feedbackListener']['unsubscribe'](),this['omitResult']||this['resultListener']['unsubscribe']();},nr=_0xd67748;}function _r(){if(rr)return sr;rr=0x1;var _0x34114e=er();Ks();var _0x7c621d=Ys()['EventEmitter2'];function _0x44e19c(_0x1e74b7){var _0x435bf5=this;_0x1e74b7=_0x1e74b7||{},this['ros']=_0x1e74b7['ros'],this['serverName']=_0x1e74b7['serverName'],this['actionName']=_0x1e74b7['actionName'];var _0x227800=new _0x34114e({'ros':this['ros'],'name':this['serverName']+'/goal','messageType':this['actionName']+'Goal'}),_0x4d9189=new _0x34114e({'ros':this['ros'],'name':this['serverName']+'/feedback','messageType':this['actionName']+'Feedback'}),_0x111658=new _0x34114e({'ros':this['ros'],'name':this['serverName']+'/status','messageType':'actionlib_msgs/GoalStatusArray'}),_0x2443a5=new _0x34114e({'ros':this['ros'],'name':this['serverName']+'/result','messageType':this['actionName']+'Result'});_0x227800['subscribe'](function(_0x3b21b7){_0x435bf5['emit']('goal',_0x3b21b7);}),_0x111658['subscribe'](function(_0x3b9773){_0x3b9773['status_list']['forEach'](function(_0x4a3487){_0x435bf5['emit']('status',_0x4a3487);});}),_0x4d9189['subscribe'](function(_0x192c9f){_0x435bf5['emit']('status',_0x192c9f['status']),_0x435bf5['emit']('feedback',_0x192c9f['feedback']);}),_0x2443a5['subscribe'](function(_0x2924f3){_0x435bf5['emit']('status',_0x2924f3['status']),_0x435bf5['emit']('result',_0x2924f3['result']);});}return _0x44e19c['prototype']['__proto__']=_0x7c621d['prototype'],sr=_0x44e19c;}function Sr(){if(or)return ar;or=0x1;var _0x5fe8c3=Ks(),_0x20dbe5=Ys()['EventEmitter2'];function _0x8d2d22(_0x495fd6){var _0x5aac3a=this;this['actionClient']=_0x495fd6['actionClient'],this['goalMessage']=_0x495fd6['goalMessage'],this['isFinished']=!0x1;var _0x16b322=new Date();this['goalID']='goal_'+Math['random']()+'_'+_0x16b322['getTime'](),this['goalMessage']=new _0x5fe8c3({'goal_id':{'stamp':{'secs':0x0,'nsecs':0x0},'id':this['goalID']},'goal':this['goalMessage']}),this['on']('status',function(_0x1adb93){_0x5aac3a['status']=_0x1adb93;}),this['on']('result',function(_0x98f6aa){_0x5aac3a['isFinished']=!0x0,_0x5aac3a['result']=_0x98f6aa;}),this['on']('feedback',function(_0x4f2bd9){_0x5aac3a['feedback']=_0x4f2bd9;}),this['actionClient']['goals'][this['goalID']]=this;}return _0x8d2d22['prototype']['__proto__']=_0x20dbe5['prototype'],_0x8d2d22['prototype']['send']=function(_0x2cccce){var _0x17f8e9=this;_0x17f8e9['actionClient']['goalTopic']['publish'](_0x17f8e9['goalMessage']),_0x2cccce&&setTimeout(function(){_0x17f8e9['isFinished']||_0x17f8e9['emit']('timeout');},_0x2cccce);},_0x8d2d22['prototype']['cancel']=function(){var _0x24caf7=new _0x5fe8c3({'id':this['goalID']});this['actionClient']['cancelTopic']['publish'](_0x24caf7);},ar=_0x8d2d22;}function Ar(){if(cr)return lr;cr=0x1;var _0x2128e5=er(),_0x56e760=Ks(),_0x1480d5=Ys()['EventEmitter2'];function _0x43b22f(_0xbb13f4){var _0x508663=this;_0xbb13f4=_0xbb13f4||{},this['ros']=_0xbb13f4['ros'],this['serverName']=_0xbb13f4['serverName'],this['actionName']=_0xbb13f4['actionName'],this['feedbackPublisher']=new _0x2128e5({'ros':this['ros'],'name':this['serverName']+'/feedback','messageType':this['actionName']+'Feedback'}),this['feedbackPublisher']['advertise']();var _0x12b394=new _0x2128e5({'ros':this['ros'],'name':this['serverName']+'/status','messageType':'actionlib_msgs/GoalStatusArray'});_0x12b394['advertise'](),this['resultPublisher']=new _0x2128e5({'ros':this['ros'],'name':this['serverName']+'/result','messageType':this['actionName']+'Result'}),this['resultPublisher']['advertise']();var _0x2f5193=new _0x2128e5({'ros':this['ros'],'name':this['serverName']+'/goal','messageType':this['actionName']+'Goal'}),_0x2bc3a2=new _0x2128e5({'ros':this['ros'],'name':this['serverName']+'/cancel','messageType':'actionlib_msgs/GoalID'});this['statusMessage']=new _0x56e760({'header':{'stamp':{'secs':0x0,'nsecs':0x64},'frame_id':''},'status_list':[]}),this['currentGoal']=null,this['nextGoal']=null,_0x2f5193['subscribe'](function(_0x3f6faa){_0x508663['currentGoal']?(_0x508663['nextGoal']=_0x3f6faa,_0x508663['emit']('cancel')):(_0x508663['statusMessage']['status_list']=[{'goal_id':_0x3f6faa['goal_id'],'status':0x1}],_0x508663['currentGoal']=_0x3f6faa,_0x508663['emit']('goal',_0x3f6faa['goal']));});var _0x1b280c=function(_0x6bee59,_0x31072b){return!(_0x6bee59['secs']>_0x31072b['secs'])&&(_0x6bee59['secs']<_0x31072b['secs']||_0x6bee59['nsecs']<_0x31072b['nsecs']);};_0x2bc3a2['subscribe'](function(_0x79f2ba){0x0===_0x79f2ba['stamp']['secs']&&0x0===_0x79f2ba['stamp']['secs']&&''===_0x79f2ba['id']?(_0x508663['nextGoal']=null,_0x508663['currentGoal']&&_0x508663['emit']('cancel')):(_0x508663['currentGoal']&&_0x79f2ba['id']===_0x508663['currentGoal']['goal_id']['id']?_0x508663['emit']('cancel'):_0x508663['nextGoal']&&_0x79f2ba['id']===_0x508663['nextGoal']['goal_id']['id']&&(_0x508663['nextGoal']=null),_0x508663['nextGoal']&&_0x1b280c(_0x508663['nextGoal']['goal_id']['stamp'],_0x79f2ba['stamp'])&&(_0x508663['nextGoal']=null),_0x508663['currentGoal']&&_0x1b280c(_0x508663['currentGoal']['goal_id']['stamp'],_0x79f2ba['stamp'])&&_0x508663['emit']('cancel'));}),setInterval(function(){var _0x525fa3=new Date(),_0x38c06f=Math['floor'](_0x525fa3['getTime']()/0x3e8),_0xc09248=Math['round'](0x3b9aca00*(_0x525fa3['getTime']()/0x3e8-_0x38c06f));_0x508663['statusMessage']['header']['stamp']['secs']=_0x38c06f,_0x508663['statusMessage']['header']['stamp']['nsecs']=_0xc09248,_0x12b394['publish'](_0x508663['statusMessage']);},0x1f4);}return _0x43b22f['prototype']['__proto__']=_0x1480d5['prototype'],_0x43b22f['prototype']['setSucceeded']=function(_0xfca6b7){var _0x2d32d5=new _0x56e760({'status':{'goal_id':this['currentGoal']['goal_id'],'status':0x3},'result':_0xfca6b7});this['resultPublisher']['publish'](_0x2d32d5),this['statusMessage']['status_list']=[],this['nextGoal']?(this['currentGoal']=this['nextGoal'],this['nextGoal']=null,this['emit']('goal',this['currentGoal']['goal'])):this['currentGoal']=null;},_0x43b22f['prototype']['setAborted']=function(_0x4e7f60){var _0x47dd35=new _0x56e760({'status':{'goal_id':this['currentGoal']['goal_id'],'status':0x4},'result':_0x4e7f60});this['resultPublisher']['publish'](_0x47dd35),this['statusMessage']['status_list']=[],this['nextGoal']?(this['currentGoal']=this['nextGoal'],this['nextGoal']=null,this['emit']('goal',this['currentGoal']['goal'])):this['currentGoal']=null;},_0x43b22f['prototype']['sendFeedback']=function(_0x3d703c){var _0x194bc7=new _0x56e760({'status':{'goal_id':this['currentGoal']['goal_id'],'status':0x1},'feedback':_0x3d703c});this['feedbackPublisher']['publish'](_0x194bc7);},_0x43b22f['prototype']['setPreempted']=function(){this['statusMessage']['status_list']=[];var _0x7b5353=new _0x56e760({'status':{'goal_id':this['currentGoal']['goal_id'],'status':0x2}});this['resultPublisher']['publish'](_0x7b5353),this['nextGoal']?(this['currentGoal']=this['nextGoal'],this['nextGoal']=null,this['emit']('goal',this['currentGoal']['goal'])):this['currentGoal']=null;},lr=_0x43b22f;}function Lr(){if(dr)return ur;function _0x184638(_0x3d1ca5){_0x3d1ca5=_0x3d1ca5||{},this['x']=_0x3d1ca5['x']||0x0,this['y']=_0x3d1ca5['y']||0x0,this['z']=_0x3d1ca5['z']||0x0;}return dr=0x1,_0x184638['prototype']['add']=function(_0x4bd4a1){this['x']+=_0x4bd4a1['x'],this['y']+=_0x4bd4a1['y'],this['z']+=_0x4bd4a1['z'];},_0x184638['prototype']['subtract']=function(_0xda9840){this['x']-=_0xda9840['x'],this['y']-=_0xda9840['y'],this['z']-=_0xda9840['z'];},_0x184638['prototype']['multiplyQuaternion']=function(_0x16a9a5){var _0x4dc16e=_0x16a9a5['w']*this['x']+_0x16a9a5['y']*this['z']-_0x16a9a5['z']*this['y'],_0x21cf31=_0x16a9a5['w']*this['y']+_0x16a9a5['z']*this['x']-_0x16a9a5['x']*this['z'],_0x16909e=_0x16a9a5['w']*this['z']+_0x16a9a5['x']*this['y']-_0x16a9a5['y']*this['x'],_0x13ba14=-_0x16a9a5['x']*this['x']-_0x16a9a5['y']*this['y']-_0x16a9a5['z']*this['z'];this['x']=_0x4dc16e*_0x16a9a5['w']+_0x13ba14*-_0x16a9a5['x']+_0x21cf31*-_0x16a9a5['z']-_0x16909e*-_0x16a9a5['y'],this['y']=_0x21cf31*_0x16a9a5['w']+_0x13ba14*-_0x16a9a5['y']+_0x16909e*-_0x16a9a5['x']-_0x4dc16e*-_0x16a9a5['z'],this['z']=_0x16909e*_0x16a9a5['w']+_0x13ba14*-_0x16a9a5['z']+_0x4dc16e*-_0x16a9a5['y']-_0x21cf31*-_0x16a9a5['x'];},_0x184638['prototype']['clone']=function(){return new _0x184638(this);},ur=_0x184638;}function Er(){if(mr)return pr;function _0x1c0e99(_0x3445e1){_0x3445e1=_0x3445e1||{},this['x']=_0x3445e1['x']||0x0,this['y']=_0x3445e1['y']||0x0,this['z']=_0x3445e1['z']||0x0,this['w']='number'==typeof _0x3445e1['w']?_0x3445e1['w']:0x1;}return mr=0x1,_0x1c0e99['prototype']['conjugate']=function(){this['x']*=-0x1,this['y']*=-0x1,this['z']*=-0x1;},_0x1c0e99['prototype']['norm']=function(){return Math['sqrt'](this['x']*this['x']+this['y']*this['y']+this['z']*this['z']+this['w']*this['w']);},_0x1c0e99['prototype']['normalize']=function(){var _0x11607b=Math['sqrt'](this['x']*this['x']+this['y']*this['y']+this['z']*this['z']+this['w']*this['w']);0x0===_0x11607b?(this['x']=0x0,this['y']=0x0,this['z']=0x0,this['w']=0x1):(_0x11607b=0x1/_0x11607b,this['x']=this['x']*_0x11607b,this['y']=this['y']*_0x11607b,this['z']=this['z']*_0x11607b,this['w']=this['w']*_0x11607b);},_0x1c0e99['prototype']['invert']=function(){this['conjugate'](),this['normalize']();},_0x1c0e99['prototype']['multiply']=function(_0x294232){var _0x4765ac=this['x']*_0x294232['w']+this['y']*_0x294232['z']-this['z']*_0x294232['y']+this['w']*_0x294232['x'],_0x1772ba=-this['x']*_0x294232['z']+this['y']*_0x294232['w']+this['z']*_0x294232['x']+this['w']*_0x294232['y'],_0x5bcd28=this['x']*_0x294232['y']-this['y']*_0x294232['x']+this['z']*_0x294232['w']+this['w']*_0x294232['z'],_0x123e12=-this['x']*_0x294232['x']-this['y']*_0x294232['y']-this['z']*_0x294232['z']+this['w']*_0x294232['w'];this['x']=_0x4765ac,this['y']=_0x1772ba,this['z']=_0x5bcd28,this['w']=_0x123e12;},_0x1c0e99['prototype']['clone']=function(){return new _0x1c0e99(this);},pr=_0x1c0e99;}function Cr(){if(fr)return gr;fr=0x1;var _0x561043=Lr(),_0x3bde88=Er();function _0x29224a(_0x14d8d1){_0x14d8d1=_0x14d8d1||{},this['position']=new _0x561043(_0x14d8d1['position']),this['orientation']=new _0x3bde88(_0x14d8d1['orientation']);}return _0x29224a['prototype']['applyTransform']=function(_0x236537){this['position']['multiplyQuaternion'](_0x236537['rotation']),this['position']['add'](_0x236537['translation']);var _0x42e83e=_0x236537['rotation']['clone']();_0x42e83e['multiply'](this['orientation']),this['orientation']=_0x42e83e;},_0x29224a['prototype']['clone']=function(){return new _0x29224a(this);},_0x29224a['prototype']['multiply']=function(_0x3b4e69){var _0x1af5f0=_0x3b4e69['clone']();return _0x1af5f0['applyTransform']({'rotation':this['orientation'],'translation':this['position']}),_0x1af5f0;},_0x29224a['prototype']['getInverse']=function(){var _0x373cf9=this['clone']();return _0x373cf9['orientation']['invert'](),_0x373cf9['position']['multiplyQuaternion'](_0x373cf9['orientation']),_0x373cf9['position']['x']*=-0x1,_0x373cf9['position']['y']*=-0x1,_0x373cf9['position']['z']*=-0x1,_0x373cf9;},gr=_0x29224a;}function jr(){if(vr)return yr;vr=0x1;var _0x955cf=Lr(),_0xfa3ed5=Er();function _0x100f42(_0x568613){_0x568613=_0x568613||{},this['translation']=new _0x955cf(_0x568613['translation']),this['rotation']=new _0xfa3ed5(_0x568613['rotation']);}return _0x100f42['prototype']['clone']=function(){return new _0x100f42(this);},yr=_0x100f42;}var kr,Tr,Or,Fr,Dr,Pr,Ir,Rr,zr,Nr,Ur,Vr,qr,Br,$r,Jr,Hr,Gr,Wr,Xr,Yr,Zr,Qr,Kr={'exports':{}};function ea(){if(Tr)return kr;Tr=0x1;var _0x1b6010=Mr(),_0x391d0c=Sr(),_0x37529c=Zs(),_0xedc2fb=Is(),_0x211457=er(),_0x4961a3=jr();function _0x50681d(_0x518ab8){_0x518ab8=_0x518ab8||{},this['ros']=_0x518ab8['ros'],this['fixedFrame']=_0x518ab8['fixedFrame']||'base_link',this['angularThres']=_0x518ab8['angularThres']||0x2,this['transThres']=_0x518ab8['transThres']||0.01,this['rate']=_0x518ab8['rate']||0xa,this['updateDelay']=_0x518ab8['updateDelay']||0x32;var _0x48fc49=_0x518ab8['topicTimeout']||0x2,_0x597e5f=Math['floor'](_0x48fc49),_0x468209=Math['floor'](0x3b9aca00*(_0x48fc49-_0x597e5f));this['topicTimeout']={'secs':_0x597e5f,'nsecs':_0x468209},this['serverName']=_0x518ab8['serverName']||'/tf2_web_republisher',this['repubServiceName']=_0x518ab8['repubServiceName']||'/republish_tfs',this['currentGoal']=!0x1,this['currentTopic']=!0x1,this['frameInfos']={},this['republisherUpdateRequested']=!0x1,this['_subscribeCB']=null,this['_isDisposed']=!0x1,this['actionClient']=new _0x1b6010({'ros':_0x518ab8['ros'],'serverName':this['serverName'],'actionName':'tf2_web_republisher/TFSubscriptionAction','omitStatus':!0x0,'omitResult':!0x0}),this['serviceClient']=new _0x37529c({'ros':_0x518ab8['ros'],'name':this['repubServiceName'],'serviceType':'tf2_web_republisher/RepublishTFs'});}return _0x50681d['prototype']['processTFArray']=function(_0x4dace7){_0x4dace7['transforms']['forEach'](function(_0x533c46){var _0x2be81f=_0x533c46['child_frame_id'];'/'===_0x2be81f[0x0]&&(_0x2be81f=_0x2be81f['substring'](0x1));var _0x7fb4ea=this['frameInfos'][_0x2be81f];_0x7fb4ea&&(_0x7fb4ea['transform']=new _0x4961a3({'translation':_0x533c46['transform']['translation'],'rotation':_0x533c46['transform']['rotation']}),_0x7fb4ea['cbs']['forEach'](function(_0x2949c){_0x2949c(_0x7fb4ea['transform']);}));},this);},_0x50681d['prototype']['updateGoal']=function(){var _0x5f510b={'source_frames':Object['keys'](this['frameInfos']),'target_frame':this['fixedFrame'],'angular_thres':this['angularThres'],'trans_thres':this['transThres'],'rate':this['rate']};if(this['ros']['groovyCompatibility'])this['currentGoal']&&this['currentGoal']['cancel'](),this['currentGoal']=new _0x391d0c({'actionClient':this['actionClient'],'goalMessage':_0x5f510b}),this['currentGoal']['on']('feedback',this['processTFArray']['bind'](this)),this['currentGoal']['send']();else{_0x5f510b['timeout']=this['topicTimeout'];var _0x31e6a2=new _0xedc2fb(_0x5f510b);this['serviceClient']['callService'](_0x31e6a2,this['processResponse']['bind'](this));}this['republisherUpdateRequested']=!0x1;},_0x50681d['prototype']['processResponse']=function(_0x4ab5f3){this['_isDisposed']||(this['currentTopic']&&this['currentTopic']['unsubscribe'](this['_subscribeCB']),this['currentTopic']=new _0x211457({'ros':this['ros'],'name':_0x4ab5f3['topic_name'],'messageType':'tf2_web_republisher/TFArray'}),this['_subscribeCB']=this['processTFArray']['bind'](this),this['currentTopic']['subscribe'](this['_subscribeCB']));},_0x50681d['prototype']['subscribe']=function(_0x7ca957,_0x398633){'/'===_0x7ca957[0x0]&&(_0x7ca957=_0x7ca957['substring'](0x1)),this['frameInfos'][_0x7ca957]?this['frameInfos'][_0x7ca957]['transform']&&_0x398633(this['frameInfos'][_0x7ca957]['transform']):(this['frameInfos'][_0x7ca957]={'cbs':[]},this['republisherUpdateRequested']||(setTimeout(this['updateGoal']['bind'](this),this['updateDelay']),this['republisherUpdateRequested']=!0x0)),this['frameInfos'][_0x7ca957]['cbs']['push'](_0x398633);},_0x50681d['prototype']['unsubscribe']=function(_0x389e5a,_0x1e92cc){'/'===_0x389e5a[0x0]&&(_0x389e5a=_0x389e5a['substring'](0x1));for(var _0x557901=this['frameInfos'][_0x389e5a],_0x36a5fa=_0x557901&&_0x557901['cbs']||[],_0x3933a0=_0x36a5fa['length'];_0x3933a0--;)_0x36a5fa[_0x3933a0]===_0x1e92cc&&_0x36a5fa['splice'](_0x3933a0,0x1);_0x1e92cc&&0x0!==_0x36a5fa['length']||delete this['frameInfos'][_0x389e5a];},_0x50681d['prototype']['dispose']=function(){this['_isDisposed']=!0x0,this['actionClient']['dispose'](),this['currentTopic']&&this['currentTopic']['unsubscribe'](this['_subscribeCB']);},kr=_0x50681d;}function ta(){return Dr?Fr:(Dr=0x1,Fr={'URDF_SPHERE':0x0,'URDF_BOX':0x1,'URDF_CYLINDER':0x2,'URDF_MESH':0x3});}function na(){if(Ir)return Pr;Ir=0x1;var _0x23a2b9=Lr(),_0x388a7a=ta();return Pr=function(_0x573372){this['dimension']=null,this['type']=_0x388a7a['URDF_BOX'];var _0x4425a5=_0x573372['xml']['getAttribute']('size')['split']('\x20');this['dimension']=new _0x23a2b9({'x':parseFloat(_0x4425a5[0x0]),'y':parseFloat(_0x4425a5[0x1]),'z':parseFloat(_0x4425a5[0x2])});};}function ia(){if(zr)return Rr;return zr=0x1,Rr=function(_0x3a8dca){var _0x79a8e9=_0x3a8dca['xml']['getAttribute']('rgba')['split']('\x20');this['r']=parseFloat(_0x79a8e9[0x0]),this['g']=parseFloat(_0x79a8e9[0x1]),this['b']=parseFloat(_0x79a8e9[0x2]),this['a']=parseFloat(_0x79a8e9[0x3]);};}function sa(){if(Ur)return Nr;Ur=0x1;var _0x52643f=ta();return Nr=function(_0x1c88cb){this['type']=_0x52643f['URDF_CYLINDER'],this['length']=parseFloat(_0x1c88cb['xml']['getAttribute']('length')),this['radius']=parseFloat(_0x1c88cb['xml']['getAttribute']('radius'));};}function ra(){if(qr)return Vr;qr=0x1;var _0x5cf245=ia();function _0x16d8fd(_0x2af4ca){this['textureFilename']=null,this['color']=null,this['name']=_0x2af4ca['xml']['getAttribute']('name');var _0x38267e=_0x2af4ca['xml']['getElementsByTagName']('texture');_0x38267e['length']>0x0&&(this['textureFilename']=_0x38267e[0x0]['getAttribute']('filename'));var _0x4a0650=_0x2af4ca['xml']['getElementsByTagName']('color');_0x4a0650['length']>0x0&&(this['color']=new _0x5cf245({'xml':_0x4a0650[0x0]}));}_0x16d8fd['prototype']['isLink']=function(){return null===this['color']&&null===this['textureFilename'];};var _0xd5bd90=as;return _0x16d8fd['prototype']['assign']=function(_0x47aef4){return _0xd5bd90(this,_0x47aef4);},Vr=_0x16d8fd;}function aa(){if($r)return Br;$r=0x1;var _0x4b1306=Lr(),_0x23b2d8=ta();return Br=function(_0x3abdd4){this['scale']=null,this['type']=_0x23b2d8['URDF_MESH'],this['filename']=_0x3abdd4['xml']['getAttribute']('filename');var _0x4f6a5e=_0x3abdd4['xml']['getAttribute']('scale');if(_0x4f6a5e){var _0x62947f=_0x4f6a5e['split']('\x20');this['scale']=new _0x4b1306({'x':parseFloat(_0x62947f[0x0]),'y':parseFloat(_0x62947f[0x1]),'z':parseFloat(_0x62947f[0x2])});}};}function oa(){if(Hr)return Jr;Hr=0x1;var _0x30f660=ta();return Jr=function(_0x42481b){this['type']=_0x30f660['URDF_SPHERE'],this['radius']=parseFloat(_0x42481b['xml']['getAttribute']('radius'));};}function la(){if(Wr)return Gr;Wr=0x1;var _0x34862a=Cr(),_0x3f1873=Lr(),_0x3a5ea6=Er(),_0x25ead6=sa(),_0x4e4067=na(),_0x372418=ra(),_0x5a0ced=aa(),_0x10b607=oa();return Gr=function(_0x4ec749){var _0x5a41f4=_0x4ec749['xml'];this['origin']=null,this['geometry']=null,this['material']=null,this['name']=_0x4ec749['xml']['getAttribute']('name');var _0x54e855=_0x5a41f4['getElementsByTagName']('origin');if(0x0===_0x54e855['length'])this['origin']=new _0x34862a();else{var _0x55d476=_0x54e855[0x0]['getAttribute']('xyz'),_0x1f7849=new _0x3f1873();_0x55d476&&(_0x55d476=_0x55d476['split']('\x20'),_0x1f7849=new _0x3f1873({'x':parseFloat(_0x55d476[0x0]),'y':parseFloat(_0x55d476[0x1]),'z':parseFloat(_0x55d476[0x2])}));var _0x408105=_0x54e855[0x0]['getAttribute']('rpy'),_0x16a13e=new _0x3a5ea6();if(_0x408105){_0x408105=_0x408105['split']('\x20');var _0x45b96e=parseFloat(_0x408105[0x0])/0x2,_0x4e72c9=parseFloat(_0x408105[0x1])/0x2,_0x5d8edc=parseFloat(_0x408105[0x2])/0x2,_0x4155ee=Math['sin'](_0x45b96e)*Math['cos'](_0x4e72c9)*Math['cos'](_0x5d8edc)-Math['cos'](_0x45b96e)*Math['sin'](_0x4e72c9)*Math['sin'](_0x5d8edc),_0x221130=Math['cos'](_0x45b96e)*Math['sin'](_0x4e72c9)*Math['cos'](_0x5d8edc)+Math['sin'](_0x45b96e)*Math['cos'](_0x4e72c9)*Math['sin'](_0x5d8edc),_0x4cb720=Math['cos'](_0x45b96e)*Math['cos'](_0x4e72c9)*Math['sin'](_0x5d8edc)-Math['sin'](_0x45b96e)*Math['sin'](_0x4e72c9)*Math['cos'](_0x5d8edc),_0x1db66a=Math['cos'](_0x45b96e)*Math['cos'](_0x4e72c9)*Math['cos'](_0x5d8edc)+Math['sin'](_0x45b96e)*Math['sin'](_0x4e72c9)*Math['sin'](_0x5d8edc);(_0x16a13e=new _0x3a5ea6({'x':_0x4155ee,'y':_0x221130,'z':_0x4cb720,'w':_0x1db66a}))['normalize']();}this['origin']=new _0x34862a({'position':_0x1f7849,'orientation':_0x16a13e});}var _0x986906=_0x5a41f4['getElementsByTagName']('geometry');if(_0x986906['length']>0x0){for(var _0x50bb6c=_0x986906[0x0],_0x9bc1e2=null,_0x1d6a63=0x0;_0x1d6a63<_0x50bb6c['childNodes']['length'];_0x1d6a63++){var _0x384e74=_0x50bb6c['childNodes'][_0x1d6a63];if(0x1===_0x384e74['nodeType']){_0x9bc1e2=_0x384e74;break;}}var _0x36f4e4=_0x9bc1e2['nodeName'];'sphere'===_0x36f4e4?this['geometry']=new _0x10b607({'xml':_0x9bc1e2}):'box'===_0x36f4e4?this['geometry']=new _0x4e4067({'xml':_0x9bc1e2}):'cylinder'===_0x36f4e4?this['geometry']=new _0x25ead6({'xml':_0x9bc1e2}):'mesh'===_0x36f4e4&&(this['geometry']=new _0x5a0ced({'xml':_0x9bc1e2}));}var _0x44aa99=_0x5a41f4['getElementsByTagName']('material');_0x44aa99['length']>0x0&&(this['material']=new _0x372418({'xml':_0x44aa99[0x0]}));};}function ca(){if(Yr)return Xr;Yr=0x1;var _0x400157=la();return Xr=function(_0x4b797a){this['name']=_0x4b797a['xml']['getAttribute']('name'),this['visuals']=[];for(var _0x4ce663=_0x4b797a['xml']['getElementsByTagName']('visual'),_0x243dd5=0x0;_0x243dd5<_0x4ce663['length'];_0x243dd5++)this['visuals']['push'](new _0x400157({'xml':_0x4ce663[_0x243dd5]}));};}var ha,ua,da,pa,ma,ga={};function fa(){if(da)return ua;da=0x1;var _0x281c39=ra(),_0x1b8d8a=ca(),_0x4053a0=(function(){if(Qr)return Zr;Qr=0x1;var _0x159381=Cr(),_0x412bef=Lr(),_0x1e835a=Er();return Zr=function(_0x5d6664){this['name']=_0x5d6664['xml']['getAttribute']('name'),this['type']=_0x5d6664['xml']['getAttribute']('type');var _0x49c8f0=_0x5d6664['xml']['getElementsByTagName']('parent');_0x49c8f0['length']>0x0&&(this['parent']=_0x49c8f0[0x0]['getAttribute']('link'));var _0x4fdfe9=_0x5d6664['xml']['getElementsByTagName']('child');_0x4fdfe9['length']>0x0&&(this['child']=_0x4fdfe9[0x0]['getAttribute']('link'));var _0x55afc3=_0x5d6664['xml']['getElementsByTagName']('limit');_0x55afc3['length']>0x0&&(this['minval']=parseFloat(_0x55afc3[0x0]['getAttribute']('lower')),this['maxval']=parseFloat(_0x55afc3[0x0]['getAttribute']('upper')));var _0x584b41=_0x5d6664['xml']['getElementsByTagName']('origin');if(0x0===_0x584b41['length'])this['origin']=new _0x159381();else{var _0x2af2a6=_0x584b41[0x0]['getAttribute']('xyz'),_0x64ddfe=new _0x412bef();_0x2af2a6&&(_0x2af2a6=_0x2af2a6['split']('\x20'),_0x64ddfe=new _0x412bef({'x':parseFloat(_0x2af2a6[0x0]),'y':parseFloat(_0x2af2a6[0x1]),'z':parseFloat(_0x2af2a6[0x2])}));var _0x36409a=_0x584b41[0x0]['getAttribute']('rpy'),_0x1b78f5=new _0x1e835a();if(_0x36409a){_0x36409a=_0x36409a['split']('\x20');var _0x4d954f=parseFloat(_0x36409a[0x0])/0x2,_0x314beb=parseFloat(_0x36409a[0x1])/0x2,_0x4c23db=parseFloat(_0x36409a[0x2])/0x2,_0x575a02=Math['sin'](_0x4d954f)*Math['cos'](_0x314beb)*Math['cos'](_0x4c23db)-Math['cos'](_0x4d954f)*Math['sin'](_0x314beb)*Math['sin'](_0x4c23db),_0x107be7=Math['cos'](_0x4d954f)*Math['sin'](_0x314beb)*Math['cos'](_0x4c23db)+Math['sin'](_0x4d954f)*Math['cos'](_0x314beb)*Math['sin'](_0x4c23db),_0x3cb206=Math['cos'](_0x4d954f)*Math['cos'](_0x314beb)*Math['sin'](_0x4c23db)-Math['sin'](_0x4d954f)*Math['sin'](_0x314beb)*Math['cos'](_0x4c23db),_0x492cfa=Math['cos'](_0x4d954f)*Math['cos'](_0x314beb)*Math['cos'](_0x4c23db)+Math['sin'](_0x4d954f)*Math['sin'](_0x314beb)*Math['sin'](_0x4c23db);(_0x1b78f5=new _0x1e835a({'x':_0x575a02,'y':_0x107be7,'z':_0x3cb206,'w':_0x492cfa}))['normalize']();}this['origin']=new _0x159381({'position':_0x64ddfe,'orientation':_0x1b78f5});}};}()),_0x568c44=(ha||(ha=0x1,ga['DOMImplementation']=window['DOMImplementation'],ga['XMLSerializer']=window['XMLSerializer'],ga['DOMParser']=window['DOMParser']),ga)['DOMParser'];return ua=function(_0x4bb1f7){var _0x31e61b=(_0x4bb1f7=_0x4bb1f7||{})['xml'],_0x31574d=_0x4bb1f7['string'];this['materials']={},this['links']={},this['joints']={},_0x31574d&&(_0x31e61b=new _0x568c44()['parseFromString'](_0x31574d,'text/xml'));var _0x238a30=_0x31e61b['documentElement'];this['name']=_0x238a30['getAttribute']('name');for(var _0x5bd65f=_0x238a30['childNodes'],_0xd4106a=0x0;_0xd4106a<_0x5bd65f['length'];_0xd4106a++){var _0x5ce377=_0x5bd65f[_0xd4106a];if('material'===_0x5ce377['tagName']){var _0x674e49=new _0x281c39({'xml':_0x5ce377});void 0x0!==this['materials'][_0x674e49['name']]?this['materials'][_0x674e49['name']]['isLink']()&&this['materials'][_0x674e49['name']]['assign'](_0x674e49):this['materials'][_0x674e49['name']]=_0x674e49;}else if('link'===_0x5ce377['tagName']){var _0x5af090=new _0x1b8d8a({'xml':_0x5ce377});if(void 0x0!==this['links'][_0x5af090['name']]);else{for(var _0x1b6302=0x0;_0x1b6302<_0x5af090['visuals']['length'];_0x1b6302++){var _0x5c9ea9=_0x5af090['visuals'][_0x1b6302]['material'];null!==_0x5c9ea9&&_0x5c9ea9['name']&&(void 0x0!==this['materials'][_0x5c9ea9['name']]?_0x5af090['visuals'][_0x1b6302]['material']=this['materials'][_0x5c9ea9['name']]:this['materials'][_0x5c9ea9['name']]=_0x5c9ea9);}this['links'][_0x5af090['name']]=_0x5af090;}}else if('joint'===_0x5ce377['tagName']){var _0x2fea8d=new _0x4053a0({'xml':_0x5ce377});this['joints'][_0x2fea8d['name']]=_0x2fea8d;}}};}var ya=Xi['ROSLIB']||{'REVISION':'1.4.1'},va=as;va(ya,(function(){if(Ws)return os['exports'];Ws=0x1;var _0xe52111=ls(),_0x2d6208=os['exports']={'Ros':Qs(),'Topic':er(),'Message':Ks(),'Param':tr(),'Service':Zs(),'ServiceRequest':Is(),'ServiceResponse':Ps()};return _0xe52111(_0x2d6208['Ros'],['Param','Service','Topic'],_0x2d6208),os['exports'];}())),va(ya,(function(){if(hr)return xr['exports'];hr=0x1;var _0x1634ac=Qs();return ls()(_0x1634ac,['ActionClient','SimpleActionServer'],xr['exports']={'ActionClient':Mr(),'ActionListener':_r(),'Goal':Sr(),'SimpleActionServer':Ar()}),xr['exports'];}())),va(ya,wr?br:(wr=0x1,br={'Pose':Cr(),'Quaternion':Er(),'Transform':jr(),'Vector3':Lr()})),va(ya,(function(){if(Or)return Kr['exports'];Or=0x1;var _0x39889c=Qs();return ls()(_0x39889c,['TFClient'],Kr['exports']={'TFClient':ea()}),Kr['exports'];}())),va(ya,ma?pa:(ma=0x1,pa=as({'UrdfBox':na(),'UrdfColor':ia(),'UrdfCylinder':sa(),'UrdfLink':ca(),'UrdfMaterial':ra(),'UrdfMesh':aa(),'UrdfModel':fa(),'UrdfSphere':oa(),'UrdfVisual':la()},ta())));const ba=Yi(ya);class wa{constructor(_0x20e66c,_0x169972){this['rosController']=_0x20e66c,this['sceneManager']=_0x169972,this['tfSubscriptions']=new Map(),this['_tmpPos']=new _0x220444(),this['_tmpQuat']=new _0x3c39ce(),this['_tmpEuler']=new _0x416b03(),this['_tmpMat']=new _0x13cf24(),this['handSeparationScale']=0x1,this['wristRotationOffset']=Math['PI']/0x4;}['subscribeTF'](_0x566098,_0x3afbcf,_0x29c7c2){if(!this['rosController']['ros']||!this['rosController']['ros']['isConnected'])return null;if(this['unsubscribe'](_0x566098),!_0x3afbcf||!_0x3afbcf['threeObject'])return null;try{const _0x55b57b=new ba['Topic']({'ros':this['rosController']['ros'],'name':_0x29c7c2,'messageType':'tf2_msgs/msg/TFMessage'});return _0x55b57b['subscribe'](_0x5f46c4=>{this['rosController']['recordSubMessage'](_0x29c7c2),this['_applyTFTransforms'](_0x566098,_0x3afbcf,_0x5f46c4['transforms']);}),this['tfSubscriptions']['set'](_0x566098,_0x55b57b),_0x55b57b;}catch(_0x2384fa){return null;}}['_applyTFTransforms'](_0x490d54,_0x225394,_0x6be4f3){if(!_0x225394||!_0x225394['links']||!_0x6be4f3||0x0===_0x6be4f3['length'])return;_0x225394['threeObject']&&_0x225394['threeObject']['updateMatrixWorld']();const _0x1f6048=new Map();for(let _0x55b3ae=0x0;_0x55b3ae<_0x6be4f3['length'];_0x55b3ae++){const _0x291f0f=_0x6be4f3[_0x55b3ae],_0x1e5018=_0x291f0f['child_frame_id'];_0x1e5018&&_0x225394['links']['has'](_0x1e5018)&&_0x1f6048['set'](_0x1e5018,_0x291f0f['transform']);}if(0x0!==_0x1f6048['size']){if(!_0x225394['_tfOriginOffset']){let _0x16d38d=null;const _0x56d89c='link_RightSkeletonBase',_0x57d8fa='link_LeftSkeletonBase';if(_0x1f6048['has'](_0x56d89c)){const _0x5dc958=_0x1f6048['get'](_0x56d89c);if(_0x16d38d=new _0x220444(_0x5dc958['translation']['x'],_0x5dc958['translation']['y'],_0x5dc958['translation']['z']),_0x1f6048['has'](_0x57d8fa)){const _0x592b17=_0x1f6048['get'](_0x57d8fa);new _0x220444(_0x592b17['translation']['x'],_0x592b17['translation']['y'],_0x592b17['translation']['z'])['distanceTo'](_0x16d38d);}}else{let _0x6f01b=0x0,_0x2934d2=0x0,_0x2bdeb4=0x0,_0x144c6c=0x0;_0x1f6048['forEach'](_0x40c5b8=>{_0x6f01b+=_0x40c5b8['translation']['x'],_0x2934d2+=_0x40c5b8['translation']['y'],_0x2bdeb4+=_0x40c5b8['translation']['z'],_0x144c6c++;}),_0x16d38d=new _0x220444(_0x6f01b/_0x144c6c,_0x2934d2/_0x144c6c,_0x2bdeb4/_0x144c6c);}if(_0x225394['_tfOriginOffset']=_0x16d38d,_0x1f6048['has'](_0x56d89c)&&_0x1f6048['has'](_0x57d8fa)){const _0x263fca=_0x1f6048['get'](_0x56d89c),_0x21be2c=_0x1f6048['get'](_0x57d8fa);_0x225394['_tfRightHandRef']=new _0x220444(_0x263fca['translation']['x'],_0x263fca['translation']['y'],_0x263fca['translation']['z']),_0x225394['_tfLeftHandRef']=new _0x220444(_0x21be2c['translation']['x'],_0x21be2c['translation']['y'],_0x21be2c['translation']['z']),_0x225394['_tfRightRotOffset']=new _0x3c39ce()['setFromAxisAngle'](new _0x220444(0x0,0x0,0x1),this['wristRotationOffset']),_0x225394['_tfLeftRotOffset']=new _0x3c39ce()['setFromAxisAngle'](new _0x220444(0x0,0x0,0x1),-this['wristRotationOffset']);}}_0x225394['_tfRepositionedLinks']||(_0x225394['_tfRepositionedLinks']=new Set()),_0x225394['links']['forEach']((_0x55e7fe,_0x461ac0)=>{const _0x3f29f5=_0x1f6048['get'](_0x461ac0);if(!_0x3f29f5||!_0x55e7fe['threeObject'])return;const _0x4af88a=_0x3f29f5['translation'],_0x9a5af0=_0x3f29f5['rotation'],_0x4faf14=_0x461ac0['toLowerCase']()['includes']('left');let _0x4eec87=_0x4af88a['x'],_0x56ea9f=_0x4af88a['y'],_0x3801f6=_0x4af88a['z'],_0x43c84c=new _0x3c39ce(_0x9a5af0['x'],_0x9a5af0['y'],_0x9a5af0['z'],_0x9a5af0['w']);if(0x0!==this['wristRotationOffset']&&_0x225394['_tfRightHandRef']&&_0x225394['_tfLeftHandRef']){const _0x3edefe=_0x4faf14?_0x225394['_tfLeftHandRef']:_0x225394['_tfRightHandRef'],_0x321f19=_0x4faf14?_0x225394['_tfLeftRotOffset']:_0x225394['_tfRightRotOffset'],_0x21e722=new _0x220444(_0x4eec87-_0x3edefe['x'],_0x56ea9f-_0x3edefe['y'],_0x3801f6-_0x3edefe['z']);_0x21e722['applyQuaternion'](_0x321f19),_0x4eec87=_0x3edefe['x']+_0x21e722['x'],_0x56ea9f=_0x3edefe['y']+_0x21e722['y'],_0x3801f6=_0x3edefe['z']+_0x21e722['z'],_0x43c84c=_0x321f19['clone']()['multiply'](_0x43c84c);}if(_0x4eec87-=_0x225394['_tfOriginOffset']['x'],_0x56ea9f-=_0x225394['_tfOriginOffset']['y'],_0x3801f6-=_0x225394['_tfOriginOffset']['z'],0x1!==this['handSeparationScale']&&_0x225394['_tfRightHandRef']&&_0x225394['_tfLeftHandRef']){if(!_0x225394['_tfLeftHandOffset']){const _0x5cd24d=new _0x220444()['subVectors'](_0x225394['_tfLeftHandRef'],_0x225394['_tfRightHandRef']);_0x5cd24d['multiplyScalar'](this['handSeparationScale']);const _0xe43a41=new _0x220444()['subVectors'](_0x225394['_tfLeftHandRef'],_0x225394['_tfRightHandRef']);_0x225394['_tfLeftHandOffset']=new _0x220444()['subVectors'](_0x5cd24d,_0xe43a41);}_0x4faf14&&(_0x4eec87+=_0x225394['_tfLeftHandOffset']['x'],_0x56ea9f+=_0x225394['_tfLeftHandOffset']['y'],_0x3801f6+=_0x225394['_tfLeftHandOffset']['z']);}this['_tmpPos']['set'](_0x4eec87,_0x56ea9f,_0x3801f6),this['_tmpQuat']['copy'](_0x43c84c);const _0x45cd76=_0x55e7fe['threeObject']['parent'];_0x45cd76&&_0x45cd76!==_0x225394['threeObject']&&(_0x55e7fe['threeObject']['userData']['_originalParent']||(_0x55e7fe['threeObject']['userData']['_originalParent']=_0x45cd76),_0x45cd76['remove'](_0x55e7fe['threeObject']),_0x225394['threeObject']['add'](_0x55e7fe['threeObject']),_0x225394['_tfRepositionedLinks']['add'](_0x461ac0)),_0x55e7fe['threeObject']['position']['copy'](this['_tmpPos']),_0x55e7fe['threeObject']['quaternion']['copy'](this['_tmpQuat']),_0x55e7fe['threeObject']['scale']['set'](0x1,0x1,0x1),_0x55e7fe['threeObject']['updateMatrixWorld']();}),_0x225394['threeObject']&&_0x225394['threeObject']['updateMatrixWorld'](!0x0),this['sceneManager']['redraw']();}}['unsubscribe'](_0x3f9fd7){const _0x2356f0=this['tfSubscriptions']['get'](_0x3f9fd7);if(_0x2356f0){try{_0x2356f0['unsubscribe']();}catch(_0x59663c){}this['tfSubscriptions']['delete'](_0x3f9fd7);}}['unsubscribeAll'](){this['tfSubscriptions']['forEach']((_0x662289,_0x2f4175)=>{this['unsubscribe'](_0x2f4175);});}['isSubscribed'](_0x403f07){return this['tfSubscriptions']['has'](_0x403f07);}}class xa{constructor(_0x62f40d){this['sceneManager']=_0x62f40d,this['ros']=null,this['listeners']=[],this['publisher']=null,this['connected']=!0x1,this['_pendingRender']=!0x1,this['onConnectionChange']=null,this['subMessageCount']=0x0,this['subLastMessageTime']=0x0,this['subStats']=new Map(),this['pubMessageCount']=0x0,this['pubLastMessageTime']=0x0,this['_extraTopics']=new Map(),this['_connectionListeners']=new Set(),this['tfController']=new wa(this,_0x62f40d),this['onJointData']=null,this['_resetService']=null,this['_model']=null,this['_jointCmdListeners']=[],this['_jointCmdTopics']=[],this['_jointStateTopic']='/io_teleop/joint_states';}['connect'](_0xd6cef2){this['ros']&&this['disconnect'](),this['ros']=new ba['Ros']({'url':_0xd6cef2}),this['ros']['on']('connection',()=>{this['connected']=!0x0,this['_queryDomainId'](),this['_advertiseResetService'](),this['_notifyConnectionChange'](!0x0);}),this['ros']['on']('error',_0x383904=>{this['connected']=!0x1,this['_notifyConnectionChange'](!0x1);}),this['ros']['on']('close',()=>{this['connected']=!0x1,this['_notifyConnectionChange'](!0x1);});}['subscribeJointCmdForPlot'](_0x2469fc){return this['subscribeJointCmd'](null,_0x2469fc);}['subscribeJointCmd'](_0x55958b,_0x5c54b1='/io_teleop/joint_cmd'){if(!this['ros']||!this['connected'])return;const _0x317108=new ba['Topic']({'ros':this['ros'],'name':_0x5c54b1,'messageType':'sensor_msgs/msg/JointState'});_0x317108['subscribe'](_0x1a682d=>{this['subMessageCount']++,this['subLastMessageTime']=Date['now']();let _0x331332=this['subStats']['get'](_0x5c54b1);_0x331332||(_0x331332={'count':0x0,'lastTime':0x0},this['subStats']['set'](_0x5c54b1,_0x331332)),_0x331332['count']++,_0x331332['lastTime']=Date['now']();const _0x2ad430=Date['now']();_0x1a682d['name']['forEach']((_0x2fcf7b,_0x31c2fe)=>{const _0x38f1ee=_0x1a682d['position'][_0x31c2fe];if(this['onJointData']&&this['onJointData'](_0x5c54b1,_0x2fcf7b,_0x2ad430,_0x38f1ee),!_0x55958b)return;const _0xdedb0f=_0x55958b['getJoint'](_0x2fcf7b);_0xdedb0f&&(Ei['setJointAngle'](_0x55958b,_0x2fcf7b,_0x38f1ee,!0x0),_0xdedb0f['threeObject']&&_0xdedb0f['threeObject']['updateMatrixWorld'](!0x0));}),_0x55958b&&(_0x55958b['threeObject']&&_0x55958b['threeObject']['updateMatrixWorld'](!0x0),this['_pendingRender']||(this['_pendingRender']=!0x0,requestAnimationFrame(()=>{this['sceneManager']['redraw'](),this['sceneManager']['render'](),this['_pendingRender']=!0x1;})));}),this['listeners']['push'](_0x317108),_0x55958b&&this['_jointCmdListeners']['push'](_0x317108);}['unsubscribeTopic'](_0x1733f2){_0x1733f2&&(this['listeners']=this['listeners']['filter'](_0x167ca8=>{if(_0x167ca8['name']!==_0x1733f2)return!0x0;_0x167ca8['unsubscribe']();const _0x189c40=this['_jointCmdListeners']['indexOf'](_0x167ca8);return-0x1!==_0x189c40&&this['_jointCmdListeners']['splice'](_0x189c40,0x1),!0x1;}));}['publishJointStates'](_0x12cd85,_0x5e187b='/io_teleop/joint_states'){if(!this['ros']||!this['connected'])return;this['_jointStateTopic']=_0x5e187b,this['publisher']&&this['publisher']['name']===_0x5e187b||(this['publisher']&&this['publisher']['unadvertise'](),this['publisher']=new ba['Topic']({'ros':this['ros'],'name':_0x5e187b,'messageType':'sensor_msgs/msg/JointState'}),this['_advertiseTopic'](this['publisher']));const _0x6d5345=Array['from'](_0x12cd85['joints']['values']())['filter'](_0x4cafb5=>'number'==typeof _0x4cafb5['currentValue']),_0x32e605=new ba['Message']({'header':{'stamp':{'sec':0x0,'nanosec':0x0},'frame_id':''},'name':_0x6d5345['map'](_0x40ae51=>_0x40ae51['name']),'position':_0x6d5345['map'](_0x3aefaa=>_0x3aefaa['currentValue']),'velocity':[],'effort':[]});this['pubMessageCount']++,this['pubLastMessageTime']=Date['now'](),this['publisher']['publish'](_0x32e605);}['_advertiseTopic'](_0x1a2656,_0x394a6d='reliable'){const _0x5a44f4='advertise:'+_0x1a2656['name']+':'+ ++this['ros']['idCounter'];_0x1a2656['advertiseId']=_0x5a44f4,_0x1a2656['isAdvertised']=!0x0,this['ros']['callOnConnection']({'op':'advertise','id':_0x5a44f4,'type':_0x1a2656['messageType'],'topic':_0x1a2656['name'],'latch':!0x1,'queue_size':_0x1a2656['queue_size'],'qos':{'history':'keep_last','depth':0xa,'reliability':_0x394a6d,'durability':'volatile'}});}['getRos'](){return this['ros'];}['isConnected'](){return!!this['connected'];}['createAdvertisedTopic'](_0x331721,_0x267237){if(!this['ros']||!_0x331721||!_0x267237)return null;const _0xcd2ea8=this['_extraTopics']['get'](_0x331721);if(_0xcd2ea8){if(_0xcd2ea8['messageType']===_0x267237)return _0xcd2ea8;this['releaseTopic'](_0x331721);}const _0x154c71=new ba['Topic']({'ros':this['ros'],'name':_0x331721,'messageType':_0x267237});return this['_advertiseTopic'](_0x154c71),this['_extraTopics']['set'](_0x331721,_0x154c71),_0x154c71;}['releaseTopic'](_0x1441ca){const _0x5e491c=this['_extraTopics']['get'](_0x1441ca);if(_0x5e491c){try{_0x5e491c['unadvertise']();}catch(_0x2c2e42){}this['_extraTopics']['delete'](_0x1441ca);}}['addConnectionListener'](_0xed0d19){return'function'!=typeof _0xed0d19?()=>{}:(this['_connectionListeners']['add'](_0xed0d19),()=>{this['_connectionListeners']['delete'](_0xed0d19);});}['_notifyConnectionChange'](_0x166c05){this['onConnectionChange']&&this['onConnectionChange'](_0x166c05);for(const _0x46b593 of this['_connectionListeners'])try{_0x46b593(_0x166c05);}catch(_0x4ef14a){}}['_queryDomainId'](){const _0x2330f7=new ba['Topic']({'ros':this['ros'],'name':'/robot_viewer/domain_id','messageType':'std_msgs/msg/Int32','throttle_rate':0x7d0});_0x2330f7['subscribe'](_0x1d664d=>{this['domainId']=_0x1d664d['data'],this['onDomainIdChange']&&this['onDomainIdChange'](this['domainId']),_0x2330f7['unsubscribe']();}),setTimeout(()=>{void 0x0===this['domainId']&&(_0x2330f7['unsubscribe'](),this['domainId']=null,this['onDomainIdChange']&&this['onDomainIdChange'](null));},0x1388);}['setModel'](_0x64090e){this['_model']=_0x64090e;}['_advertiseResetService'](){this['ros']&&(this['_resetService']=new ba['Service']({'ros':this['ros'],'name':'/io_teleop_reset_robot','serviceType':'std_srvs/Trigger'}),this['_resetService']['advertise']((_0x1aafeb,_0x3530bb)=>{var _0x48e7c9;if(this['_pauseJointCmd'](),this['_model']&&this['_model']['joints']){const _0x2d4174=(null==(_0x48e7c9=this['_model']['userData'])?void 0x0:_0x48e7c9['homePositions'])||{};this['_model']['joints']['forEach']((_0x7ecaa1,_0x22befe)=>{if('fixed'!==_0x7ecaa1['type']){const _0x4eadf8=_0x2d4174[_0x22befe]??0x0;Ei['setJointAngle'](this['_model'],_0x22befe,_0x4eadf8,!0x0),_0x7ecaa1['currentValue']=_0x4eadf8;}}),this['_model']['threeObject']&&this['_model']['threeObject']['updateMatrixWorld'](!0x0),this['sceneManager']['redraw'](),this['sceneManager']['render']();}const _0x382dcf=this['_jointStateTopic']||'/io_teleop/joint_states';return this['_model']&&this['publishJointStates'](this['_model'],_0x382dcf),setTimeout(()=>{this['_resumeJointCmd']();},0x64),_0x3530bb['success']=!0x0,_0x3530bb['message']='ok',!0x0;}));}['_pauseJointCmd'](){this['_jointCmdTopics']=[],this['_jointCmdListeners']['forEach'](_0x2c69b5=>{this['_jointCmdTopics']['push'](_0x2c69b5['name']),_0x2c69b5['unsubscribe']();const _0x4f7bf6=this['listeners']['indexOf'](_0x2c69b5);-0x1!==_0x4f7bf6&&this['listeners']['splice'](_0x4f7bf6,0x1);}),this['_jointCmdListeners']=[];}['_resumeJointCmd'](){this['_model']&&(this['_jointCmdTopics']['forEach'](_0x12515c=>{this['subscribeJointCmd'](this['_model'],_0x12515c);}),this['_jointCmdTopics']=[]);}['disconnect'](){try{if(this['listeners']['forEach'](_0x825b00=>{try{_0x825b00['unsubscribe']();}catch(_0x55207a){}}),this['listeners']=[],this['_jointCmdListeners']=[],this['_jointCmdTopics']=[],this['publisher']){try{this['publisher']['unadvertise']();}catch(_0x1a75df){}this['publisher']=null;}if(this['_resetService']){try{this['_resetService']['unadvertise']();}catch(_0xebb55d){}this['_resetService']=null;}this['_extraTopics']['forEach']((_0x261295,_0x27729a)=>{try{_0x261295['unadvertise']();}catch(_0x55afaa){}}),this['_extraTopics']['clear']();try{this['tfController']['unsubscribeAll']();}catch(_0x113a48){}if(this['ros']){try{this['ros']['close']();}catch(_0x31e2cc){}this['ros']=null;}}finally{this['connected']=!0x1,this['domainId']=void 0x0,this['_notifyConnectionChange'](!0x1);}}['subscribeTF'](_0x58054a,_0x4fc15b,_0xcdd8bb,_0x14598f=null){return this['tfController']['subscribeTF'](_0x58054a,_0x4fc15b,_0xcdd8bb,_0x14598f);}['unsubscribeTF'](_0x450410){this['tfController']['unsubscribe'](_0x450410);}['getTopics'](_0x271deb,_0x4de3c2){this['ros']&&this['connected']&&this['ros']['getTopics'](_0x271deb,_0x4de3c2);}['recordSubMessage'](_0x2b7a5e){const _0x1732d9=Date['now']();this['subMessageCount']++,this['subLastMessageTime']=_0x1732d9;let _0x1b3f83=this['subStats']['get'](_0x2b7a5e);_0x1b3f83||(_0x1b3f83={'count':0x0,'lastTime':0x0},this['subStats']['set'](_0x2b7a5e,_0x1b3f83)),_0x1b3f83['count']++,_0x1b3f83['lastTime']=_0x1732d9;}['getMessageRate'](_0x4e87af){if(_0x4e87af){const _0xb25c0f=this['subStats']['get'](_0x4e87af);return _0xb25c0f?Date['now']()-_0xb25c0f['lastTime']>0x7d0?0x0:_0xb25c0f['count']:0x0;}return Date['now']()-this['subLastMessageTime']>0x7d0?0x0:this['subMessageCount'];}['resetMessageCount'](){this['subMessageCount']=0x0,this['subStats']['forEach'](_0x5bf95e=>{_0x5bf95e['count']=0x0;});}['getPubMessageRate'](){return Date['now']()-this['pubLastMessageTime']>0x7d0?0x0:this['pubMessageCount'];}['resetPubMessageCount'](){this['pubMessageCount']=0x0;}}const Ma={'human':{'id':'mocap_human','name':'Motion\x20Capture\x20Human','urdfPath':'/models/mocap/blender_human.urdf','rosTopic':'/io_fusion/tf','topicType':'tf','visible':!0x0,'autoLoad':!0x1},'exoskeleton':{'id':'exoskeleton','name':'Exoskeleton\x20Glove\x20v1.0','urdfPath':'/models/mocap/blender_human_skeleton_v4.urdf','scale':0x4,'rotation':{'x':-Math['PI']/0x2,'y':0x0,'z':Math['PI']},'rosTopic':'/io_fusion/tf_exoskeleton','topicType':'tf','visible':!0x0,'autoLoad':!0x1},'exoskeleton_v2':{'id':'exoskeleton_v2','name':'Exoskeleton\x20Glove\x20v2.0','urdfPath':'/models/mocap/blender_human_skeleton_v5.urdf','scale':0x4,'rotation':{'x':-Math['PI']/0x2,'y':0x0,'z':Math['PI']},'rosTopic':'/io_fusion/tf_exoskeleton','topicType':'tf','visible':!0x0,'autoLoad':!0x1}},_a=Object['freeze'](Object['defineProperty']({'__proto__':null,'MOCAP_CONFIG':Ma},Symbol['toStringTag'],{'value':'Module'}));class Sa{constructor(_0x3c8cd8,_0x5136f0){this['rosController']=_0x3c8cd8,this['app']=_0x5136f0,this['panel']=null,this['bidirectionalEnabled']=!0x1,this['_heartbeatWorker']=null,this['publishRate']=0x14,this['_domainId']=null,this['_domainIdResolved']=!0x1,this['topicDefs']=[{'key':'cmd','default':'/io_teleop/joint_cmd'},{'key':'fingerLeft','default':'/io_teleop/joint_cmd_finger_left'},{'key':'fingerRight','default':'/io_teleop/joint_cmd_finger_right'},{'key':'jointFromVr','default':'/io_teleop/target_joint_from_vr'},{'key':'gripperStatus','default':'/io_teleop/target_gripper_status'},{'key':'fingerJoints','default':'/io_teleop/target_finger_joints'}];}['_renderTopicRows'](){return this['topicDefs']['map'](_0x58232a=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-topic-row\x22\x20data-topic-key=\x22'+_0x58232a['key']+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22checkbox\x22\x20class=\x22ros-topic-checkbox\x22\x20checked>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22text\x22\x20class=\x22ros-input\x20ros-topic-input\x22\x20value=\x22'+_0x58232a['default']+'\x22\x20placeholder=\x22'+_0x58232a['default']+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22ros-rate-badge\x20ros-topic-rate\x22>0\x20Hz</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20')['join']('');}['createPanel'](){const _0x2cb453=document['createElement']('div');_0x2cb453['id']='floating-ros-panel',_0x2cb453['className']='floating-panel',_0x2cb453['style']['cssText']='top:\x2080px;\x20right:\x20400px;\x20width:\x20360px;\x20z-index:\x2051;\x20display:\x20none;',_0x2cb453['innerHTML']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22floating-panel-header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20data-i18n=\x22rosConnection\x22>ROS\x20连接</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22panel-close-btn\x22\x20data-panel=\x22floating-ros-panel\x22>✕</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22floating-panel-content\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-hint\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20data-i18n=\x22rosBridgeHint\x22>💡\x20需要本地启动\x20rosbridge:</span><code>./start-rosbridge.sh\x20--domain_id=xxx</code>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<a\x20class=\x22ros-download-btn\x22\x20id=\x22ros-download-script\x22\x20title=\x22下载启动脚本\x22\x20data-i18n=\x22downloadScript\x22\x20data-i18n-title=\x22downloadScriptTitle\x22>⬇\x20下载脚本</a>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20data-i18n=\x22serverAddress\x22>服务器地址</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22text\x22\x20id=\x22ros-url\x22\x20class=\x22ros-input\x22\x20value=\x22ws://localhost:9090\x22\x20placeholder=\x22ws://localhost:9090\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22\x20style=\x22display:flex;align-items:center;gap:6px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20style=\x22margin:0;white-space:nowrap;\x22>ROS_DOMAIN_ID:</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20id=\x22ros-domain-id\x22\x20class=\x22ros-rate-badge\x22\x20style=\x22background:#1e8e3e;color:#fff;\x22>—</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22\x20style=\x22display:flex;gap:8px;align-items:center;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22ros-connect-btn\x22\x20class=\x22ros-btn\x20ros-btn-primary\x22\x20data-i18n=\x22connect\x22>连接</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22ros-disconnect-btn\x22\x20class=\x22ros-btn\x20ros-btn-secondary\x22\x20data-i18n=\x22disconnect\x22\x20disabled>断开</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22ros-monitor-btn\x22\x20class=\x22ros-btn\x20ros-btn-secondary\x22\x20title=\x22打开实时监控面板\x22\x20data-i18n=\x22monitor\x22\x20data-i18n-title=\x22monitorTitle\x22>📈\x20监控</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20状态文字带运行态(已连接/未连接),不能挂\x20data-i18n\x20——\x20否则切语言时会被\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20静态文案无条件覆盖;由\x20refreshLanguage()\x20按真实状态重算\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20id=\x22ros-status\x22\x20class=\x22ros-status\x22>●\x20未连接</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-divider\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20data-i18n=\x22subscribeTopic\x22>订阅\x20Topic</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20id=\x22ros-topic-list\x22\x20class=\x22ros-topic-list\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+this['_renderTopicRows']()+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-checkbox\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22checkbox\x22\x20id=\x22ros-bidirectional\x22\x20checked>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20data-i18n=\x22publishRobotState\x22>发布机器人状态</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20id=\x22ros-publish-config\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-topic-row\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22text\x22\x20id=\x22ros-pub-topic\x22\x20class=\x22ros-input\x20ros-topic-input\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value=\x22/io_teleop/joint_states\x22\x20placeholder=\x22/io_teleop/joint_states\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22ros-rate-badge\x20ros-topic-rate\x22\x20id=\x22ros-pub-rate-actual\x22>0\x20Hz</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20data-i18n=\x22publishRateLabel\x22>发布频率\x20(Hz)</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22ros-pub-rate\x22\x20class=\x22ros-input\x22\x20min=\x221\x22\x20max=\x22100\x22\x20value=\x2220\x22\x20step=\x221\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20',this['panel']=_0x2cb453,this['attachEventListeners'](),this['startMessageRateMonitor']();const _0x11325b=new URLSearchParams(window['location']['search']),_0x5b56f0=_0x11325b['has']('mocap'),_0x42341f=_0x11325b['get']('mocap');if(_0x5b56f0&&_0x42341f){const _0x303374=Ma[_0x42341f];if(_0x303374){_0x2cb453['querySelectorAll']('#ros-topic-list\x20.ros-topic-row')['forEach']((_0x1c0ebb,_0x4cdb49)=>{if(0x0===_0x4cdb49){const _0x28c1a8=_0x1c0ebb['querySelector']('.ros-topic-input');_0x28c1a8['value']=_0x303374['rosTopic'],_0x28c1a8['title']='TF\x20Topic';_0x1c0ebb['querySelector']('.ros-topic-checkbox')['style']['display']='none';}else _0x1c0ebb['style']['display']='none';});_0x2cb453['querySelectorAll']('.ros-form-group')['forEach'](_0xc70398=>{_0xc70398['querySelector']('#ros-bidirectional')&&(_0xc70398['style']['display']='none');});const _0x504cec=_0x2cb453['querySelector']('#ros-publish-config');_0x504cec&&(_0x504cec['style']['display']='none');}}return _0x2cb453;}['_t'](_0x5f44ae,_0x3ddfc6=_0x5f44ae){var _0x59f028,_0x438012;const _0x4952d2=null==(_0x438012=null==(_0x59f028=window['i18n'])?void 0x0:_0x59f028['t'])?void 0x0:_0x438012['call'](_0x59f028,_0x5f44ae);return _0x4952d2&&_0x4952d2!==_0x5f44ae?_0x4952d2:_0x3ddfc6;}['refreshLanguage'](){var _0x40f133,_0x3c6c08,_0x405e79;if(!this['panel'])return;null==(_0x3c6c08=null==(_0x40f133=window['i18n'])?void 0x0:_0x40f133['updatePageLanguage'])||_0x3c6c08['call'](_0x40f133);const _0x5ccb56=!!(null==(_0x405e79=this['rosController'])?void 0x0:_0x405e79['connected']),_0x34315b=this['panel']['querySelector']('#ros-status');if(_0x34315b&&(_0x34315b['textContent']=this['_t'](_0x5ccb56?'statusConnected':'statusDisconnected'),_0x34315b['style']['color']=_0x5ccb56?'#4caf50':'#f44336'),_0x5ccb56&&this['_domainIdResolved']){const _0x18c7de=this['panel']['querySelector']('#ros-domain-id');_0x18c7de&&(null!==this['_domainId']?(_0x18c7de['textContent']=this['_domainId'],_0x18c7de['style']['background']='#1e8e3e'):(_0x18c7de['textContent']=this['_t']('unknown'),_0x18c7de['style']['background']='#e65100'));}}['attachEventListeners'](){const _0x162872=this['panel']['querySelector']('#ros-connect-btn'),_0x33ed8d=this['panel']['querySelector']('#ros-disconnect-btn'),_0x2fbde5=this['panel']['querySelector']('#ros-monitor-btn'),_0x3e5155=this['panel']['querySelector']('#ros-bidirectional'),_0x27f671=this['panel']['querySelector']('#ros-pub-rate');this['panel']['querySelector']('#ros-download-script')['addEventListener']('click',_0x4e1ecc=>{_0x4e1ecc['preventDefault']();const _0x499d98=document['createElement']('a');_0x499d98['href']='/scripts/start-rosbridge.sh',_0x499d98['download']='start-rosbridge.sh',document['body']['appendChild'](_0x499d98),_0x499d98['click'](),document['body']['removeChild'](_0x499d98);}),_0x2fbde5['addEventListener']('click',()=>{const _0x1750f4=''+window['location']['origin']+window['location']['pathname']+'?plot=1';window['open'](_0x1750f4,'_blank');}),this['bidirectionalEnabled']=!0x0,_0x27f671['addEventListener']('input',_0x1b0c97=>{this['publishRate']=parseInt(_0x1b0c97['target']['value'])||0x14,this['_heartbeatWorker']&&(this['stopPublishing'](),this['startPublishing']());}),_0x162872['addEventListener']('click',()=>{const _0x150da6=this['panel']['querySelector']('#ros-url')['value'];_0x150da6?(this['rosController']['connect'](_0x150da6),localStorage['setItem']('ros_url',_0x150da6),localStorage['setItem']('ros_connected','true'),_0x162872['disabled']=!0x0):alert(this['_t']('enterServerUrl'));}),_0x33ed8d['addEventListener']('click',()=>{this['rosController']['disconnect']();}),_0x3e5155['addEventListener']('change',_0x317806=>{this['bidirectionalEnabled']=_0x317806['target']['checked'],_0x317806['target']['checked']&&this['rosController']['connected']&&this['app']['currentModel']?this['startPublishing']():this['stopPublishing']();}),this['panel']['querySelectorAll']('#ros-topic-list\x20.ros-topic-row')['forEach'](_0x524bf6=>{const _0x9c6229=_0x524bf6['querySelector']('.ros-topic-checkbox'),_0x217025=_0x524bf6['querySelector']('.ros-topic-input');_0x9c6229['addEventListener']('change',()=>{this['rosController']['connected']&&this['app']['currentModel']&&(_0x9c6229['checked']?_0x217025['value']&&this['rosController']['subscribeJointCmd'](this['app']['currentModel'],_0x217025['value']):this['rosController']['unsubscribeTopic'](_0x217025['value']));});}),this['rosController']['onDomainIdChange']=_0x12352c=>{const _0x222eb9=this['panel']['querySelector']('#ros-domain-id');_0x222eb9&&(this['_domainIdResolved']=!0x0,this['_domainId']=_0x12352c,null!==_0x12352c?(_0x222eb9['textContent']=_0x12352c,_0x222eb9['style']['background']='#1e8e3e'):(_0x222eb9['textContent']=this['_t']('unknown'),_0x222eb9['style']['background']='#e65100'));},this['rosController']['onConnectionChange']=_0x36e1d9=>{var _0x17486f;const _0x12f66c=this['panel']['querySelector']('#ros-status');if(_0x12f66c['textContent']=this['_t'](_0x36e1d9?'statusConnected':'statusDisconnected'),_0x12f66c['style']['color']=_0x36e1d9?'#4caf50':'#f44336',_0x162872['disabled']=_0x36e1d9,_0x33ed8d['disabled']=!_0x36e1d9,!_0x36e1d9){const _0xe64b31=this['panel']['querySelector']('#ros-domain-id');_0xe64b31&&(_0xe64b31['textContent']='—',_0xe64b31['style']['background']='#1e8e3e'),this['_domainId']=null,this['_domainIdResolved']=!0x1,this['stopPublishing'](),localStorage['setItem']('ros_connected','false');}const _0xe79ae5=new URLSearchParams(window['location']['search']),_0x5a36d8=_0xe79ae5['has']('mocap'),_0x2a2896=_0xe79ae5['get']('mocap');if(_0x36e1d9)if(_0x5a36d8&&_0x2a2896&&this['app']['sceneManager']['currentModel']){const _0x33730a=Ma[_0x2a2896];if(_0x33730a&&'tf'===_0x33730a['topicType']){const _0x4b7536=null==(_0x17486f=this['panel']['querySelectorAll']('#ros-topic-list\x20.ros-topic-row')[0x0])?void 0x0:_0x17486f['querySelector']('.ros-topic-input'),_0x2d90df=(null==_0x4b7536?void 0x0:_0x4b7536['value'])||_0x33730a['rosTopic'];this['rosController']['tfController']['subscribeTF'](_0x33730a['id'],this['app']['sceneManager']['currentModel'],_0x2d90df);}}else this['app']['currentModel']&&(this['_subscribeCheckedTopics'](this['app']['currentModel']),this['bidirectionalEnabled']&&this['startPublishing']());};}['_subscribeCheckedTopics'](_0x22e71d){this['panel']['querySelectorAll']('#ros-topic-list\x20.ros-topic-row')['forEach'](_0x56d8f8=>{const _0x2b2dd8=_0x56d8f8['querySelector']('.ros-topic-checkbox'),_0x2787ff=_0x56d8f8['querySelector']('.ros-topic-input');_0x2b2dd8['checked']&&_0x2787ff['value']&&this['rosController']['subscribeJointCmd'](_0x22e71d,_0x2787ff['value']);});}['startPublishing'](){this['_heartbeatWorker']||(this['_heartbeatWorker']=new Worker('./heartbeat-worker.js'),this['_heartbeatWorker']['onmessage']=()=>{if(this['rosController']['connected']&&this['app']['currentModel']){const _0x3ea6ee=this['panel']['querySelector']('#ros-pub-topic')['value'];this['rosController']['publishJointStates'](this['app']['currentModel'],_0x3ea6ee);}},this['_heartbeatWorker']['postMessage']({'cmd':'start','rate':this['publishRate']}));}['stopPublishing'](){this['_heartbeatWorker']&&(this['_heartbeatWorker']['postMessage']({'cmd':'stop'}),this['_heartbeatWorker']['terminate'](),this['_heartbeatWorker']=null);}['startMessageRateMonitor'](){setInterval(()=>{this['panel']['querySelectorAll']('#ros-topic-list\x20.ros-topic-row')['forEach'](_0x31d659=>{const _0xd4071f=_0x31d659['querySelector']('.ros-topic-input'),_0x3f3ee7=_0x31d659['querySelector']('.ros-topic-rate');if(_0xd4071f&&_0x3f3ee7){const _0x884171=this['rosController']['getMessageRate'](_0xd4071f['value']);_0x3f3ee7['textContent']=_0x884171+'\x20Hz';}});const _0x11d3ec=this['rosController']['getPubMessageRate'](),_0x307636=this['panel']['querySelector']('#ros-pub-rate-actual');_0x307636&&(_0x307636['textContent']=_0x11d3ec+'\x20Hz'),this['rosController']['resetMessageCount'](),this['rosController']['resetPubMessageCount']();},0x3e8);}['onModelLoaded'](_0x21f0ba){this['rosController']['connected']&&(this['_subscribeCheckedTopics'](_0x21f0ba),this['bidirectionalEnabled']&&this['startPublishing']());}['onJointChanged'](_0x3150f2){}['show'](){if(!this['panel'])return;if('none'!==this['panel']['style']['display']&&'none'!==getComputedStyle(this['panel'])['display'])return;this['panel']['style']['display']='flex',this['panel']['style']['opacity']='0',this['panel']['style']['transform']='scale(0.95)',this['panel']['offsetHeight'],this['panel']['style']['transition']='opacity\x200.2s\x20ease,\x20transform\x200.2s\x20ease',this['panel']['style']['opacity']='1',this['panel']['style']['transform']='scale(1)',setTimeout(()=>{this['panel']['style']['transition']='';},0xc8);const _0x850dff=document['getElementById']('toggle-ros-panel');_0x850dff&&_0x850dff['classList']['add']('active');}['getServerUrl'](){var _0x45f71d,_0x5330f2,_0xd04c00;return(null==(_0xd04c00=null==(_0x5330f2=null==(_0x45f71d=this['panel'])?void 0x0:_0x45f71d['querySelector']('#ros-url'))?void 0x0:_0x5330f2['value'])?void 0x0:_0xd04c00['trim']())||'';}['setServerUrl'](_0x3be96b){var _0x4af408;const _0x2002c0=null==(_0x4af408=this['panel'])?void 0x0:_0x4af408['querySelector']('#ros-url');_0x2002c0&&_0x3be96b&&(_0x2002c0['value']=_0x3be96b);}['autoConnect'](_0x4a89fc){if(!this['panel']||this['rosController']['connected'])return;const _0x229051=this['panel']['querySelector']('#ros-url');_0x229051&&_0x4a89fc&&(_0x229051['value']=_0x4a89fc);const _0x314821=this['panel']['querySelector']('#ros-connect-btn');_0x314821&&!_0x314821['disabled']&&_0x314821['click']();}}const Aa='__world__',La=['+X','-X','+Y','-Y','+Z','-Z'],Ea=_0x5d8c67=>{const _0x311fd3='XYZ'['indexOf'](String(_0x5d8c67||'')['toUpperCase']()['replace'](/[^XYZ]/g,'')[0x0]);return _0x311fd3<0x0?0x0:_0x311fd3;};function Ca(_0x325268,_0x4fd47d){return _0x4fd47d['set'](0x0,0x0,0x0),_0x4fd47d['setComponent'](Ea(_0x325268),(_0x22b0f7=>'-'===(_0x22b0f7||'')['trim']()[0x0]?-0x1:0x1)(_0x325268)),_0x4fd47d;}function ja(_0x342be9,_0x1d1479){return Ea(_0x342be9)!==Ea(_0x1d1479);}function ka(_0x390a14){return La['filter'](_0x564029=>ja(_0x390a14,_0x564029));}const Ta={'x':0x0,'y':0x1,'z':0x2},Oa={'roll':0x0,'pitch':0x1,'yaw':0x2},Fa=[new _0x220444(0x1,0x0,0x0),new _0x220444(0x0,0x1,0x0),new _0x220444(0x0,0x0,0x1)],Da=Math['PI'],Pa=_0x2072c6=>{const _0x57babf=Number(_0x2072c6)||0x0;return _0x57babf>=-Da&&_0x57babf<=Da?_0x57babf:_0x57babf-0x2*Da*Math['round'](_0x57babf/(0x2*Da));};class Ia{constructor(_0x1fd51a,_0x5d4d7b={}){this['sceneManager']=_0x1fd51a,this['width']=_0x5d4d7b['width']??0x280,this['height']=_0x5d4d7b['height']??0x1e0,this['fov']=_0x5d4d7b['fov']??0x3c,this['near']=_0x5d4d7b['near']??0.001,this['far']=_0x5d4d7b['far']??0xc8,this['mountFrame']=_0x5d4d7b['mountFrame']??Aa,this['mountXyz']=[0x0,0x0,0x0],this['_mountOffset']=new _0x220444(),this['mountRpy']=[0x0,0x0,0x0],this['forwardAxis']=_0x5d4d7b['forwardAxis']??'+X',this['upAxis']=_0x5d4d7b['upAxis']??'+Z',this['camera']=new _0x555d82(this['fov'],this['width']/this['height'],this['near'],this['far']),this['_mountAxes']=null,this['_mountAxesVisible']=!0x1,this['_mountAxesSize']=0x0,this['_mountAxesPose']=null,this['_mountQuat']=new _0x3c39ce(),this['_safeMode']=!0x1,this['_firstFrameChecked']=!0x1,this['_warnedFrame']=null,this['_targetLinear']=null,this['_targetLdr']=null,this['_targetLinearAlt']=null,this['_targetLdrAlt']=null,this['_probeTarget']=null,this['lastGpuProbeMs']=null,this['_useAltTarget']=!0x1,this['_hasPrevFrame']=!0x1,this['_targetSize']={'w':0x0,'h':0x0},this['_rgba']=null,this['_hidden']=[],this['lastCaptureMs']=0x0,this['lastFrameLag']=0x0,this['lastCaptureSkipped']=null,this['_worldMatrix']=new _0x13cf24(),this['_offsetMatrix']=new _0x13cf24(),this['_presetMatrix']=new _0x13cf24(),this['_fwdVec']=new _0x220444(),this['_upVec']=new _0x220444(),this['_rightVec']=new _0x220444(),this['_backVec']=new _0x220444(),this['_poseMatrix']=new _0x13cf24(),this['_poseQuat']=new _0x3c39ce(),this['_axisVec']=new _0x220444(),this['_axisQuat']=new _0x3c39ce(),this['_euler']=new _0x416b03(),this['_tmpPos']=new _0x220444(),this['_tmpQuat']=new _0x3c39ce(),this['_tmpScale']=new _0x220444(),this['_encodeMaterial']=new _0x496f57({'uniforms':{'tLinear':{'value':null}},'vertexShader':'\x0a\x20\x20\x20\x20varying\x20vec2\x20vUv;\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20vUv\x20=\x20uv;\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20vec4(position.xy,\x200.0,\x201.0);\x0a\x20\x20\x20\x20}\x0a','fragmentShader':'\x0a\x20\x20\x20\x20uniform\x20sampler2D\x20tLinear;\x0a\x20\x20\x20\x20varying\x20vec2\x20vUv;\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20y\x20取\x201-v:把\x20WebGL\x20自下而上的行序在这里翻成图像序,回读即\x20top-down\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20c\x20=\x20texture2D(tLinear,\x20vec2(vUv.x,\x201.0\x20-\x20vUv.y)).rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20linear\x20→\x20sRGB(OETF):与画布上的\x20lin2sRGB\x20分支一致\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20lo\x20=\x20c\x20*\x2012.92;\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20hi\x20=\x201.055\x20*\x20pow(max(c,\x20vec3(0.0)),\x20vec3(1.0\x20/\x202.4))\x20-\x200.055;\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(mix(lo,\x20hi,\x20step(vec3(0.0031308),\x20c)),\x201.0);\x0a\x20\x20\x20\x20}\x0a','depthTest':!0x1,'depthWrite':!0x1}),this['_quadGeometry']=new _0x963183(0x2,0x2),this['_quad']=new _0x2c4c6c(this['_quadGeometry'],this['_encodeMaterial']),this['_quad']['frustumCulled']=!0x1,this['_quadScene']=new _0x2eec37(),this['_quadScene']['add'](this['_quad']),this['_quadCamera']=new _0x43a6c8(-0x1,0x1,0x1,-0x1,0x0,0x1);}['setResolution'](_0x499ff0,_0x558b54){const _0x1736b4=Math['round'](Math['min'](0x1000,Math['max'](0x10,Number(_0x499ff0)||0x0))),_0x33c8e7=Math['round'](Math['min'](0x1000,Math['max'](0x10,Number(_0x558b54)||0x0)));_0x1736b4===this['width']&&_0x33c8e7===this['height']||(this['width']=_0x1736b4,this['height']=_0x33c8e7,this['_firstFrameChecked']=!0x1);}['setFov'](_0x3d29a7){const _0x5dc1ce=Number(_0x3d29a7);Number['isFinite'](_0x5dc1ce)&&(this['fov']=Math['min'](0x78,Math['max'](0x1,_0x5dc1ce)));}['setMount'](_0x938748={}){void 0x0!==_0x938748['frame']&&_0x938748['frame']!==this['mountFrame']&&(this['mountFrame']=_0x938748['frame']||Aa,this['_warnedFrame']=null),Array['isArray'](_0x938748['xyz'])&&(this['mountXyz']=_0x938748['xyz']['map'](_0x45ba96=>Number(_0x45ba96)||0x0),this['_mountOffset']['set'](this['mountXyz'][0x0],this['mountXyz'][0x1],this['mountXyz'][0x2])),Array['isArray'](_0x938748['rpy'])&&(this['mountRpy']=_0x938748['rpy']['map'](Pa),this['_mountQuat']['copy'](this['_poseQuaternion'](this['_poseQuat']))),void 0x0!==_0x938748['forward']&&La['includes'](_0x938748['forward'])&&(this['forwardAxis']=_0x938748['forward'],ja(this['forwardAxis'],this['upAxis'])||(this['upAxis']=ka(this['forwardAxis'])[0x0])),void 0x0!==_0x938748['up']&&La['includes'](_0x938748['up'])&&ja(this['forwardAxis'],_0x938748['up'])&&(this['upAxis']=_0x938748['up']),this['refreshMountAxes']();}['setMountRpyField'](_0x4b2268,_0xe810b7){const _0x23226a=Oa[_0x4b2268];if(void 0x0===_0x23226a)return!0x1;const _0x2f2c14=Pa(_0xe810b7),_0x3f4e74=((_0x41b671,_0x3b3878)=>{let _0x50c314=_0x3b3878-_0x41b671;return _0x50c314>Da?_0x50c314-=0x2*Da:_0x50c314<-Da&&(_0x50c314+=0x2*Da),_0x50c314;})(this['mountRpy'][_0x23226a],_0x2f2c14);if(this['mountRpy'][_0x23226a]=_0x2f2c14,0x0!==_0x3f4e74){const _0x4cb14d=this['_axisVec']['copy'](Fa[_0x23226a])['applyQuaternion'](this['_mountQuat']);this['_mountQuat']['premultiply'](this['_axisQuat']['setFromAxisAngle'](_0x4cb14d,_0x3f4e74));}return this['refreshMountAxes'](),!0x0;}['setMountXyzField'](_0x148a70,_0x2706e0){const _0x16fe33=Ta[_0x148a70];if(void 0x0===_0x16fe33)return!0x1;const _0xc50dbd=Number(_0x2706e0)||0x0,_0x5d71a9=_0xc50dbd-this['mountXyz'][_0x16fe33];if(this['mountXyz'][_0x16fe33]=_0xc50dbd,0x0!==_0x5d71a9){const _0x206319=this['_axisVec']['set'](0x0,0x0,0x0)['setComponent'](_0x16fe33,0x1)['applyQuaternion'](this['_mountQuat']);this['_mountOffset']['addScaledVector'](_0x206319,_0x5d71a9);}return this['refreshMountAxes'](),!0x0;}['setMountAxesVisible'](_0x172419){var _0x590d27;const _0x51780d=!!_0x172419;_0x51780d===this['_mountAxesVisible']&&((null==(_0x590d27=this['_mountAxes'])?void 0x0:_0x590d27['visible'])??!0x1)===_0x51780d||(this['_mountAxesVisible']=_0x51780d,this['refreshMountAxes']());}['refreshMountAxes'](){var _0x480ff0,_0x5e58ec;this['_applyMountAxes']()&&(null==(_0x5e58ec=null==(_0x480ff0=this['sceneManager'])?void 0x0:_0x480ff0['redraw'])||_0x5e58ec['call'](_0x480ff0));}['isMountAxesVisible'](){return this['_mountAxesVisible'];}['_applyMountAxes'](){const _0x6dfe13=this['_mountAxesVisible']?this['_resolveParentObject']():null;if(!_0x6dfe13)return!(!this['_mountAxes']||!this['_mountAxes']['visible'])&&(this['_mountAxes']['visible']=!0x1,!0x0);const _0x25dfca=!this['_mountAxes']||this['_mountAxes']['parent']!==_0x6dfe13;_0x25dfca&&(this['_disposeMountAxes'](),this['_mountAxesSize']=this['_estimateAxesSize'](),this['_mountAxes']=Oi['createAxesGeometry'](this['_mountAxesSize']),_0x6dfe13['add'](this['_mountAxes']));const {x:_0x4e6df1,y:_0x49bbf1,z:_0x39eb39}=this['_mountOffset'],_0xb508a4=[_0x4e6df1,_0x49bbf1,_0x39eb39,this['_mountQuat']['x'],this['_mountQuat']['y'],this['_mountQuat']['z'],this['_mountQuat']['w']],_0x541225=!this['_mountAxesPose']||this['_mountAxesPose']['some']((_0x3a6500,_0x34afdb)=>_0x3a6500!==_0xb508a4[_0x34afdb]);this['_mountAxes']['position']['set'](_0x4e6df1,_0x49bbf1,_0x39eb39),this['_mountAxes']['quaternion']['copy'](this['_mountQuat']),this['_mountAxesPose']=_0xb508a4;const _0x3b875c=!this['_mountAxes']['visible'];return this['_mountAxes']['visible']=!0x0,_0x25dfca||_0x3b875c||_0x541225;}['_estimateAxesSize'](){var _0x4f9824;let _0x5626cb=0x1;try{const _0x210fcb=null==(_0x4f9824=this['sceneManager'])?void 0x0:_0x4f9824['currentModel'];if((null==_0x210fcb?void 0x0:_0x210fcb['threeObject'])&&'function'==typeof this['sceneManager']['computeRobustBoundingBox']){const _0x4f29ba=this['sceneManager']['computeRobustBoundingBox'](_0x210fcb['threeObject']);_0x4f29ba&&!_0x4f29ba['isEmpty']()&&(_0x5626cb=_0x4f29ba['getSize'](new _0x220444())['length']()||0x1);}}catch(_0x326e8b){}return Math['min'](0x2,Math['max'](0.05,0.15*_0x5626cb));}['_resolveParentObject'](){var _0x551fe2,_0x1a818e;if(!this['mountFrame']||this['mountFrame']===Aa)return(null==(_0x551fe2=this['sceneManager'])?void 0x0:_0x551fe2['world'])||null;const _0x349afd=null==(_0x1a818e=this['sceneManager'])?void 0x0:_0x1a818e['currentModel'],_0x20671e=_0x349afd&&'function'==typeof _0x349afd['getLink']?_0x349afd['getLink'](this['mountFrame']):null;return(null==_0x20671e?void 0x0:_0x20671e['threeObject'])||null;}['_disposeMountAxes'](){this['_mountAxes']&&(this['_mountAxes']['removeFromParent'](),this['_mountAxes']['traverse'](_0x94d98f=>{var _0x4eb7ab,_0xdfb711;null==(_0xdfb711=null==(_0x4eb7ab=_0x94d98f['geometry'])?void 0x0:_0x4eb7ab['dispose'])||_0xdfb711['call'](_0x4eb7ab);(Array['isArray'](_0x94d98f['material'])?_0x94d98f['material']:_0x94d98f['material']?[_0x94d98f['material']]:[])['forEach'](_0x14704a=>{var _0x59961c;return null==(_0x59961c=_0x14704a['dispose'])?void 0x0:_0x59961c['call'](_0x14704a);});}),this['_mountAxes']=null,this['_mountAxesSize']=0x0,this['_mountAxesPose']=null);}['getState'](){return{'width':this['width'],'height':this['height'],'fov':this['fov'],'mountFrame':this['mountFrame'],'mountXyz':[...this['mountXyz']],'mountRpy':[...this['mountRpy']],'forwardAxis':this['forwardAxis'],'upAxis':this['upAxis'],'safeMode':this['_safeMode']};}['capture'](_0xdccce5=null){const _0x9367ef=this['sceneManager'],_0x36dfca=null==_0x9367ef?void 0x0:_0x9367ef['renderer'];if(!_0x36dfca||_0x9367ef['_contextLost'])return this['lastCaptureSkipped']=_0x36dfca?'context-lost':'no-renderer',null;this['lastCaptureSkipped']=null,this['_ensureTargets'](),this['_updateCameraPose']();const _0x4e253e=this['width']*this['height']*0x4,_0x527a92=_0xdccce5&&_0xdccce5['length']===_0x4e253e?_0xdccce5:this['_rgba'],_0x4e7bb6=performance['now'](),_0x20154=_0x36dfca['getRenderTarget'](),_0x3aefc2=this['_useAltTarget']?this['_targetLinearAlt']:this['_targetLinear'],_0x57f3f1=this['_useAltTarget']?this['_targetLdrAlt']:this['_targetLdr'],_0x32bdf6=this['_useAltTarget']?this['_targetLdr']:this['_targetLdrAlt'],_0xf5c47d=this['_hasPrevFrame'];let _0x399d3e=0x0;if(_0xf5c47d){const _0x4eec47=performance['now']();_0x36dfca['readRenderTargetPixels'](_0x32bdf6,0x0,0x0,this['width'],this['height'],_0x527a92),_0x399d3e=performance['now']()-_0x4eec47;}const _0x5b6436=_0x36dfca['shadowMap'],_0x44ac8f=!!(_0x9367ef['directionalLight']&&_0x9367ef['directionalLight']['shadow']&&_0x9367ef['directionalLight']['shadow']['map']),_0xfd3efa='function'==typeof _0x9367ef['hasPendingRender']&&!_0x9367ef['hasPendingRender'](),_0x1831ee=_0x5b6436['enabled']&&_0x44ac8f&&_0xfd3efa,_0xf253a8=_0x5b6436['autoUpdate'];_0x1831ee&&(_0x5b6436['autoUpdate']=!0x1),this['_hideHelpers']();const _0x2ee49e=performance['now']();try{_0x36dfca['setRenderTarget'](_0x3aefc2),_0x36dfca['render'](_0x9367ef['scene'],this['camera']),this['_encodeMaterial']['uniforms']['tLinear']['value']=_0x3aefc2['texture'],_0x36dfca['setRenderTarget'](_0x57f3f1),_0x36dfca['render'](this['_quadScene'],this['_quadCamera']);}finally{_0x1831ee&&(_0x5b6436['autoUpdate']=_0xf253a8),_0x36dfca['setRenderTarget'](_0x20154),this['_restoreHelpers']();}const _0x278e4e=performance['now']()-_0x2ee49e;return this['_useAltTarget']=!this['_useAltTarget'],this['_hasPrevFrame']=!0x0,this['lastCaptureMs']=performance['now']()-_0x4e7bb6,this['lastFrameLag']=_0xf5c47d?0x1:0x0,_0xf5c47d?(this['_firstFrameChecked']||(this['_firstFrameChecked']=!0x0,this['_checkFirstFrame'](_0x527a92)),{'data':new Uint8ClampedArray(_0x527a92['buffer'],_0x527a92['byteOffset'],_0x527a92['byteLength']),'width':this['width'],'height':this['height'],'captureMs':this['lastCaptureMs'],'renderMs':_0x278e4e,'readbackMs':_0x399d3e,'frameLag':this['lastFrameLag'],'safeMode':this['_safeMode']}):(this['lastCaptureSkipped']='priming',null);}['dispose'](){this['_disposeTargets'](),this['_probeTarget']&&(this['_probeTarget']['dispose'](),this['_probeTarget']=null),this['_quadGeometry']['dispose'](),this['_encodeMaterial']['dispose'](),this['_rgba']=null;}['_supportsFloatTarget'](){var _0x43ae33;const _0x1b1518=null==(_0x43ae33=this['sceneManager']['renderer'])?void 0x0:_0x43ae33['extensions'];return!(!_0x1b1518||'function'!=typeof _0x1b1518['has'])&&(_0x1b1518['has']('EXT_color_buffer_half_float')||_0x1b1518['has']('EXT_color_buffer_float'));}['_ensureTargets'](){if(this['_targetLinear']&&this['_targetSize']['w']===this['width']&&this['_targetSize']['h']===this['height'])return;this['_disposeTargets']();const _0x5a62f7=!this['_safeMode']&&this['_supportsFloatTarget']()?_0x337bf6:_0x3a3254;this['_targetLinear']=new _0x42cbb7(this['width'],this['height'],{'type':_0x5a62f7,'format':_0x414058,'minFilter':_0x17a998,'magFilter':_0x17a998,'depthBuffer':!0x0,'stencilBuffer':!0x1}),this['_targetLinear']['texture']['generateMipmaps']=!0x1,this['_targetLdr']=new _0x42cbb7(this['width'],this['height'],{'type':_0x3a3254,'format':_0x414058,'minFilter':_0x17a998,'magFilter':_0x17a998,'depthBuffer':!0x1,'stencilBuffer':!0x1}),this['_targetLdr']['texture']['generateMipmaps']=!0x1,this['_targetLinearAlt']=new _0x42cbb7(this['width'],this['height'],{'type':_0x5a62f7,'format':_0x414058,'minFilter':_0x17a998,'magFilter':_0x17a998,'depthBuffer':!0x0,'stencilBuffer':!0x1}),this['_targetLinearAlt']['texture']['generateMipmaps']=!0x1,this['_targetLdrAlt']=new _0x42cbb7(this['width'],this['height'],{'type':_0x3a3254,'format':_0x414058,'minFilter':_0x17a998,'magFilter':_0x17a998,'depthBuffer':!0x1,'stencilBuffer':!0x1}),this['_targetLdrAlt']['texture']['generateMipmaps']=!0x1,this['_useAltTarget']=!0x1,this['_hasPrevFrame']=!0x1,this['_rgba']=new Uint8Array(this['width']*this['height']*0x4),this['_targetSize']={'w':this['width'],'h':this['height']},this['_firstFrameChecked']=!0x1;}['probeGpu'](_0x20350c=0x5){const _0x24bb2d=this['sceneManager'],_0x723617=null==_0x24bb2d?void 0x0:_0x24bb2d['renderer'];if(!_0x723617||_0x24bb2d['_contextLost'])return null;this['_probeTarget']||(this['_probeTarget']=new _0x42cbb7(0x100,0x100,{'type':_0x3a3254,'format':_0x414058,'depthBuffer':!0x1,'stencilBuffer':!0x1}));const _0x2de719=0x100,_0x49c875=new Uint8Array(0x40000),_0x4040bf=_0x723617['getRenderTarget'](),_0x52e284=performance['now']();for(let _0x1441cc=0x0;_0x1441cc<_0x20350c;_0x1441cc++)_0x723617['setRenderTarget'](this['_probeTarget']),_0x723617['clear'](!0x0,!0x1,!0x1),_0x723617['readRenderTargetPixels'](this['_probeTarget'],0x0,0x0,_0x2de719,_0x2de719,_0x49c875);_0x723617['setRenderTarget'](_0x4040bf);const _0x3936dd=(performance['now']()-_0x52e284)/_0x20350c;return this['lastGpuProbeMs']=_0x3936dd,_0x3936dd;}['_disposeTargets'](){for(const _0x330287 of[this['_targetLinear'],this['_targetLdr'],this['_targetLinearAlt'],this['_targetLdrAlt']])_0x330287&&_0x330287['dispose']();this['_targetLinear']=null,this['_targetLdr']=null,this['_targetLinearAlt']=null,this['_targetLdrAlt']=null,this['_probeTarget']&&(this['_probeTarget']['dispose'](),this['_probeTarget']=null),this['lastGpuProbeMs']=null,this['_useAltTarget']=!0x1,this['_hasPrevFrame']=!0x1,this['_targetSize']={'w':0x0,'h':0x0};}['_resolveParentMatrix'](){const _0x20d9ba=this['_worldMatrix'];if(!this['mountFrame']||this['mountFrame']===Aa){const _0x5b7bd1=this['sceneManager']['world'];return _0x5b7bd1?(_0x5b7bd1['updateWorldMatrix'](!0x0,!0x1),_0x20d9ba['copy'](_0x5b7bd1['matrixWorld'])):_0x20d9ba['identity'](),_0x20d9ba;}const _0x2126c1=this['sceneManager']['currentModel'],_0xf2df8d=_0x2126c1&&'function'==typeof _0x2126c1['getLink']?_0x2126c1['getLink'](this['mountFrame']):null,_0x390dea=null==_0xf2df8d?void 0x0:_0xf2df8d['threeObject'];if(_0x390dea)_0x390dea['updateWorldMatrix'](!0x0,!0x1),_0x20d9ba['copy'](_0x390dea['matrixWorld']);else{this['_warnedFrame']!==this['mountFrame']&&(this['_warnedFrame']=this['mountFrame']);const _0x586571=this['sceneManager']['world'];_0x586571?(_0x586571['updateWorldMatrix'](!0x0,!0x1),_0x20d9ba['copy'](_0x586571['matrixWorld'])):_0x20d9ba['identity']();}return _0x20d9ba;}['_updateCameraPose'](){const _0x26eb71=this['_resolveParentMatrix']();_0x26eb71['multiply'](this['_buildOffsetMatrix']()),_0x26eb71['decompose'](this['_tmpPos'],this['_tmpQuat'],this['_tmpScale']),this['camera']['position']['copy'](this['_tmpPos']),this['camera']['quaternion']['copy'](this['_tmpQuat']),this['camera']['scale']['copy'](this['_tmpScale']),this['camera']['aspect']=this['width']/this['height'],this['camera']['fov']=this['fov'],this['camera']['updateProjectionMatrix']();}['_buildOffsetMatrix'](){const {x:_0x3021a8,y:_0x5d6f67,z:_0x223d23}=this['_mountOffset'];return this['_offsetMatrix']['makeTranslation'](_0x3021a8,_0x5d6f67,_0x223d23),this['_offsetMatrix']['multiply'](this['_buildPoseMatrix']())['multiply'](this['_buildOrientationMatrix']());}['_poseQuaternion'](_0x56f63b){const [_0x5e3d6b,_0x393c48,_0x3a1463]=this['mountRpy'];return _0x56f63b['setFromEuler'](this['_euler']['set'](_0x5e3d6b,_0x393c48,_0x3a1463,'ZXY'));}['_buildPoseMatrix'](){return this['_poseMatrix']['makeRotationFromQuaternion'](this['_mountQuat']);}['_buildOrientationMatrix'](){return Ca(this['forwardAxis'],this['_fwdVec'])['normalize'](),Ca(this['upAxis'],this['_upVec'])['normalize'](),this['_rightVec']['crossVectors'](this['_fwdVec'],this['_upVec'])['normalize'](),this['_upVec']['crossVectors'](this['_rightVec'],this['_fwdVec'])['normalize'](),this['_backVec']['copy'](this['_fwdVec'])['negate'](),this['_presetMatrix']['makeBasis'](this['_rightVec'],this['_upVec'],this['_backVec']);}['_hideHelpers'](){var _0x1ea971;const _0x3044dd=this['sceneManager'];this['_hidden']=[];const _0x458ba0=_0x7dac01=>{_0x7dac01&&_0x7dac01['visible']&&(this['_hidden']['push'](_0x7dac01),_0x7dac01['visible']=!0x1);};_0x458ba0(_0x3044dd['referenceGrid']),_0x458ba0(_0x3044dd['worldAxes']),_0x458ba0(null==(_0x1ea971=_0x3044dd['measurementManager'])?void 0x0:_0x1ea971['measurementHelper']),_0x3044dd['scene']['traverse'](_0x854a82=>{_0x854a82['userData']&&_0x854a82['userData']['excludeFromBBox']&&_0x458ba0(_0x854a82);});}['_restoreHelpers'](){for(const _0x74556f of this['_hidden'])_0x74556f['visible']=!0x0;this['_hidden']=[];}['_checkFirstFrame'](_0x2221cc){if(this['_safeMode'])return!0x1;let _0x5c496b=0x0;for(let _0x4aa9c2=0x0;_0x4aa9c2<_0x2221cc['length'];_0x4aa9c2+=0x40)_0x5c496b+=_0x2221cc[_0x4aa9c2];return 0x0===_0x5c496b&&(this['_safeMode']=!0x0,this['_disposeTargets'](),this['_ensureTargets'](),!0x0);}}class Ra{constructor(_0x5b80ed,_0x273828){this['rosController']=_0x5b80ed,this['virtualCamera']=_0x273828,this['topicName']='/camera/image_raw/compressed',this['messageType']='sensor_msgs/msg/CompressedImage',this['frameId']='virtual_camera_optical_frame',this['rateHz']=0xa,this['imageFormat']='jpeg',this['jpegQuality']=0x50,this['onPreview']=null,this['onRunningChange']=null,this['onCameraConnectionChange']=null,this['onEncodings']=null,this['onDomainId']=null,this['_worker']=null,this['_running']=!0x1,this['_connectionWanted']=!0x1,this['_previewEnabled']=!0x1,this['_encodings']=null,this['_pool']=[],this['_poolSize']={'w':0x0,'h':0x0},this['_poolAllocs']=0x0,this['_win']={'count':0x0,'captureSum':0x0,'captureMax':0x0,'renderMax':0x0,'readbackMax':0x0},this['_noFrameCount']=0x0,this['_lastNoFrameReason']=null,this['_lastError']=null,this['_workerStats']={'rate':0x0,'target':0xa,'queued':0x0,'depth':0x1,'underruns':0x0,'dropped':0x0,'payloadBytes':0x0,'encodeMs':0x0,'pendingNeed':0x0,'encodeInFlight':0x0,'stalled':0x0,'reconnects':0x0,'workerConnected':!0x1,'workerRunning':!0x1,'wsState':-0x1,'lastDrop':null,'lastFormat':null};}['start'](_0x54f4f5){return!!this['_running']||(_0x54f4f5?!!this['_ensureWorker']()&&(this['_running']=!0x0,this['_lastError']=null,this['_poolAllocs']=0x0,this['_noFrameCount']=0x0,this['_lastNoFrameReason']=null,this['_win']={'count':0x0,'captureSum':0x0,'captureMax':0x0,'renderMax':0x0,'readbackMax':0x0},this['_resetPool'](),this['_connectionWanted']=!0x0,this['_worker']['postMessage']({'cmd':'start',...this['_configPayload']({'url':_0x54f4f5})}),this['_notifyRunningChange'](),!0x0):(this['_lastError']='缺少\x20rosbridge\x20地址',!0x1));}['connect'](_0x2afd8e){return _0x2afd8e?!!this['_ensureWorker']()&&(this['_connectionWanted']=!0x0,this['_lastError']=null,this['_worker']['postMessage']({'cmd':'connect',...this['_configPayload']({'url':_0x2afd8e})}),!0x0):(this['_lastError']='缺少\x20rosbridge\x20地址',!0x1);}['disconnect'](){var _0x47a9cb;this['_running']=!0x1,this['_connectionWanted']=!0x1,null==(_0x47a9cb=this['_worker'])||_0x47a9cb['postMessage']({'cmd':'disconnect'}),this['_pool']=[],this['onCameraConnectionChange']&&this['onCameraConnectionChange'](!0x1,null),this['_notifyRunningChange']();}['stop'](){var _0x51839a;this['_running']&&(this['_running']=!0x1,null==(_0x51839a=this['_worker'])||_0x51839a['postMessage']({'cmd':'stop'}),this['_pool']=[],this['_notifyRunningChange']());}['isRunning'](){return this['_running'];}['onTopicConfigChanged'](){this['_pushConfig']();}['onRateChanged'](){this['_pushConfig']();}['requestEncodings'](){this['_encodings']&&this['onEncodings']&&this['onEncodings'](this['_encodings']),this['_ensureWorker']()&&this['_worker']['postMessage']({'cmd':'encodings'});}['onFormatChanged'](){this['_pushConfig']();}['setPreviewEnabled'](_0x2c3d04){this['_previewEnabled']=!!_0x2c3d04,this['_pushConfig']();}['dispose'](){this['stop'](),this['_worker']&&(this['_worker']['terminate'](),this['_worker']=null),this['_pool']=[];}['_provideFrame'](){if(!this['_worker'])return;if(!this['_running'])return void this['_answerNoFrame']('not-running');let _0x2ed238=null,_0x539927=!0x1;try{_0x2ed238=this['_acquireBuffer']();const _0x147103=this['virtualCamera']['capture'](_0x2ed238);if(!_0x147103)return this['_releaseBuffer'](_0x2ed238),void this['_answerNoFrame'](this['virtualCamera']['lastCaptureSkipped']||'capture-null');this['_recordCapture'](_0x147103),this['_worker']['postMessage']({'cmd':'frame','buffer':_0x2ed238['buffer'],'width':_0x147103['width'],'height':_0x147103['height'],'captureMs':_0x147103['captureMs']},[_0x2ed238['buffer']]),_0x539927=!0x0;}catch(_0x32d0b0){this['_lastError']='采集失败:\x20'+((null==_0x32d0b0?void 0x0:_0x32d0b0['message'])||_0x32d0b0),_0x2ed238&&!_0x539927&&this['_releaseBuffer'](_0x2ed238),this['_answerNoFrame']('error');}}['_answerNoFrame'](_0x157ad9){var _0xf31625;this['_noFrameCount']++,this['_lastNoFrameReason']=_0x157ad9,null==(_0xf31625=this['_worker'])||_0xf31625['postMessage']({'cmd':'noframe','reason':_0x157ad9});}['_ensureWorker'](){if(this['_worker'])return!0x0;if('function'!=typeof Worker||'function'!=typeof OffscreenCanvas)return this['_lastError']='浏览器不支持\x20Worker/OffscreenCanvas,无法发布虚拟相机',!0x1;try{return this['_worker']=new Worker('./camera-publish-worker.js'),this['_worker']['onmessage']=_0x869649=>this['_onWorkerMessage'](_0x869649['data']||{}),this['_worker']['onerror']=_0x13ac51=>{if(this['_lastError']='相机发布\x20Worker\x20异常:\x20'+((null==_0x13ac51?void 0x0:_0x13ac51['message'])||_0x13ac51),this['_running']=!0x1,this['_connectionWanted']=!0x1,this['_worker']){try{this['_worker']['terminate']();}catch(_0x51c7e4){}this['_worker']=null;}this['_pool']=[],this['onCameraConnectionChange']&&this['onCameraConnectionChange'](!0x1,this['_lastError']),this['_notifyRunningChange']();},!0x0;}catch(_0x475814){return this['_lastError']='无法创建相机发布\x20Worker:\x20'+((null==_0x475814?void 0x0:_0x475814['message'])||_0x475814),!0x1;}}['_onWorkerMessage'](_0x5e6669){switch(_0x5e6669['cmd']){case'need':this['_provideFrame']();break;case'buffer':_0x5e6669['buffer']&&this['_releaseBuffer'](new Uint8Array(_0x5e6669['buffer']));break;case'domainId':this['onDomainId']&&this['onDomainId']('number'==typeof _0x5e6669['value']?_0x5e6669['value']:null);break;case'encodings':this['_encodings']=Array['isArray'](_0x5e6669['list'])?_0x5e6669['list']:null,this['onEncodings']&&this['onEncodings'](this['_encodings']);break;case'preview':this['onPreview']&&this['onPreview']({'base64':_0x5e6669['base64'],'mime':_0x5e6669['mime']||'image/jpeg','width':_0x5e6669['width'],'height':_0x5e6669['height'],'previewWidth':_0x5e6669['previewWidth'],'previewHeight':_0x5e6669['previewHeight'],'payloadBytes':_0x5e6669['payloadBytes'],'captureMs':_0x5e6669['captureMs']});break;case'stats':this['_workerStats']={'rate':_0x5e6669['rate']||0x0,'target':_0x5e6669['target']||this['rateHz'],'queued':_0x5e6669['queue']||0x0,'depth':_0x5e6669['depth']||0x1,'underruns':_0x5e6669['underruns']||0x0,'dropped':_0x5e6669['dropped']||0x0,'payloadBytes':_0x5e6669['payloadBytes']||0x0,'encodeMs':_0x5e6669['encodeMs']||0x0,'pendingNeed':_0x5e6669['pendingNeed']||0x0,'encodeInFlight':_0x5e6669['encodeInFlight']||0x0,'stalled':_0x5e6669['stalled']||0x0,'reconnects':_0x5e6669['reconnects']||0x0,'workerConnected':!!_0x5e6669['connected'],'workerRunning':!!_0x5e6669['running'],'wsState':'number'==typeof _0x5e6669['wsState']?_0x5e6669['wsState']:-0x1,'lastDrop':_0x5e6669['lastDrop']||null,'lastFormat':_0x5e6669['format']||null};break;case'state':_0x5e6669['error']&&(this['_lastError']=_0x5e6669['error']),this['onCameraConnectionChange']&&this['onCameraConnectionChange'](!!_0x5e6669['connected'],_0x5e6669['error']||null);}}['_configPayload'](_0x4342d7={}){return{'topic':this['topicName'],'type':this['messageType'],'frameId':this['frameId'],'rate':this['rateHz'],'format':this['imageFormat'],'quality':this['jpegQuality'],'preview':this['_previewEnabled'],'previewWidth':0x140,..._0x4342d7};}['_pushConfig'](){(this['_running']||this['_connectionWanted'])&&this['_worker']&&this['_worker']['postMessage']({'cmd':'config',...this['_configPayload']()});}['_resetPool'](){this['_poolSize']={'w':this['virtualCamera']['width'],'h':this['virtualCamera']['height']},this['_pool']=[];for(let _0x33fba6=0x0;_0x33fba6<0x3;_0x33fba6++)this['_pool']['push'](new Uint8Array(this['virtualCamera']['width']*this['virtualCamera']['height']*0x4));}['_acquireBuffer'](){const _0x2ea404=this['virtualCamera']['width']*this['virtualCamera']['height']*0x4;this['_poolSize']['w']===this['virtualCamera']['width']&&this['_poolSize']['h']===this['virtualCamera']['height']||this['_resetPool']();let _0x338a4c=this['_pool']['pop']();return _0x338a4c&&_0x338a4c['length']===_0x2ea404||(_0x338a4c=new Uint8Array(_0x2ea404),this['_poolAllocs']++),_0x338a4c;}['_releaseBuffer'](_0x2840c4){const _0x2366ca=this['virtualCamera']['width']*this['virtualCamera']['height']*0x4;_0x2840c4&&_0x2840c4['length']===_0x2366ca&&(this['_pool']['length']>=0x3||this['_pool']['push'](_0x2840c4));}['_recordCapture'](_0x50f2f0){const _0x40d2cd=_0x50f2f0['captureMs']||0x0;this['_win']['count']++,this['_win']['captureSum']+=_0x40d2cd,_0x40d2cd>this['_win']['captureMax']&&(this['_win']['captureMax']=_0x40d2cd),(_0x50f2f0['renderMs']||0x0)>this['_win']['renderMax']&&(this['_win']['renderMax']=_0x50f2f0['renderMs']||0x0),(_0x50f2f0['readbackMs']||0x0)>this['_win']['readbackMax']&&(this['_win']['readbackMax']=_0x50f2f0['readbackMs']||0x0);}['_notifyRunningChange'](){this['onRunningChange']&&this['onRunningChange'](this['_running']);}['collectStats'](){const _0x12cdf4=this['_workerStats'],_0x29c27b=this['_win'],_0x353383=_0x29c27b['count'],_0x27c048={'rate':_0x12cdf4['rate'],'target':_0x12cdf4['target'],'queued':_0x12cdf4['queued'],'depth':_0x12cdf4['depth'],'underruns':_0x12cdf4['underruns'],'dropped':_0x12cdf4['dropped'],'payloadBytes':_0x12cdf4['payloadBytes'],'encodeMs':_0x12cdf4['encodeMs'],'format':_0x12cdf4['lastFormat']||'','pendingNeed':_0x12cdf4['pendingNeed'],'encodeInFlight':_0x12cdf4['encodeInFlight'],'stalled':_0x12cdf4['stalled'],'reconnects':_0x12cdf4['reconnects'],'workerConnected':_0x12cdf4['workerConnected'],'workerRunning':_0x12cdf4['workerRunning'],'wsState':_0x12cdf4['wsState'],'lastDrop':_0x12cdf4['lastDrop'],'running':this['_running'],'hasWorker':!!this['_worker'],'captured':_0x353383,'captureMs':_0x353383?_0x29c27b['captureSum']/_0x353383:0x0,'captureMax':_0x29c27b['captureMax'],'renderMax':_0x29c27b['renderMax'],'readbackMax':_0x29c27b['readbackMax'],'noFrameCount':this['_noFrameCount'],'noFrameReason':this['_lastNoFrameReason'],'poolAllocs':this['_poolAllocs'],'workerEncode':!0x0,'error':this['_lastError']};return this['_win']={'count':0x0,'captureSum':0x0,'captureMax':0x0,'renderMax':0x0,'readbackMax':0x0},_0x27c048;}['getLastError'](){return this['_lastError'];}}const za=['320x240','640x480','1280x720','1920x1080'],Na=['jpeg','png','webp'];class Ua{constructor(_0x4eb681,_0x4262a1,_0x4befda){this['app']=_0x4eb681,this['virtualCamera']=_0x4262a1,this['publisher']=_0x4befda,this['panel']=null,this['_lastPreviewAt']=0x0,this['_statsTimer']=null,this['_cameraConnected']=!0x1,this['_domainId']=null,this['_domainIdResolved']=!0x1,this['_encodings']=null,this['publisher']['onPreview']=_0x39b079=>this['_handlePreview'](_0x39b079),this['publisher']['onRunningChange']=()=>this['_syncRunningState'](),this['publisher']['onCameraConnectionChange']=(_0x184754,_0x3e3fc2)=>this['_handleCameraConnection'](_0x184754,_0x3e3fc2),this['publisher']['onEncodings']=_0x44579f=>this['_handleEncodings'](_0x44579f),this['publisher']['onDomainId']=_0x3f6cc7=>this['_handleDomainId'](_0x3f6cc7);}['createPanel'](){var _0x469796,_0x1b7e1b;const _0x5330b2=document['createElement']('div');_0x5330b2['id']='virtual-camera-panel',_0x5330b2['className']='floating-panel',_0x5330b2['style']['cssText']='top:\x2080px;\x20left:\x20400px;\x20width:\x20400px;\x20max-height:\x20calc(100vh\x20-\x20160px);\x20z-index:\x2051;\x20display:\x20none;',_0x5330b2['innerHTML']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22floating-panel-header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20data-i18n=\x22virtualCamera\x22>虚拟相机</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22panel-close-btn\x22\x20data-panel=\x22virtual-camera-panel\x22>✕</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22floating-panel-content\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20连接区:从\x20ROS\x20面板前段整体移植过来\x20——\x20启动提示\x20+\x20下载脚本\x20+\x20地址\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ROS_DOMAIN_ID\x20+\x20连接/断开\x20+\x20状态。相机走自己的一条\x20WebSocket,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20所以在相机面板里就能连,不必先去\x20ROS\x20面板。\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-hint\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20data-i18n=\x22rosBridgeHint\x22>💡\x20需要本地启动\x20rosbridge:</span><code>./start-rosbridge.sh\x20--domain_id=xxx</code>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<a\x20class=\x22ros-download-btn\x22\x20id=\x22vc-download-script\x22\x20title=\x22下载启动脚本\x22\x20data-i18n=\x22downloadScript\x22\x20data-i18n-title=\x22downloadScriptTitle\x22>⬇\x20下载脚本</a>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20data-i18n=\x22serverAddress\x22>服务器地址</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22text\x22\x20id=\x22vc-ros-url\x22\x20class=\x22ros-input\x22\x20placeholder=\x22ws://localhost:9090\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22\x20style=\x22display:flex;align-items:center;gap:6px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20style=\x22margin:0;white-space:nowrap;\x22>ROS_DOMAIN_ID:</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20id=\x22vc-domain-id\x22\x20class=\x22ros-rate-badge\x22\x20style=\x22background:#1e8e3e;color:#fff;\x22>—</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22\x20style=\x22display:flex;gap:8px;align-items:center;flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22vc-connect-btn\x22\x20class=\x22ros-btn\x20ros-btn-primary\x22\x20data-i18n=\x22connect\x22>连接</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22vc-disconnect-btn\x22\x20class=\x22ros-btn\x20ros-btn-secondary\x22\x20data-i18n=\x22disconnect\x22\x20disabled>断开</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20状态文字带运行态(已连接/未连接),不能挂\x20data-i18n\x20——\x20否则切语言时会被\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20静态文案无条件覆盖成「未连接」;由\x20refreshLanguage()\x20按真实状态重算\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22ros-status\x22\x20id=\x22vc-cam-status\x22\x20title=\x22相机自己的\x20rosbridge\x20连接,发布图像专线\x22\x20data-i18n-title=\x22cameraStatusTitle\x22>●\x20相机未连接</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-divider\x22></div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20data-i18n=\x22publishTopic\x22>发布Topic</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-topic-row\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22text\x22\x20id=\x22vc-topic\x22\x20class=\x22ros-input\x20ros-topic-input\x22\x20value=\x22'+this['publisher']['topicName']+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22ros-rate-badge\x20ros-topic-rate\x22\x20id=\x22vc-rate\x22\x20title=\x22实际发布频率\x22\x20data-i18n-title=\x22actualPublishRate\x22>0.0\x20Hz</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20data-i18n=\x22messageType\x22>消息类型</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<select\x20id=\x22vc-msg-type\x22\x20class=\x22ros-select\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<option\x20value=\x22'+this['publisher']['messageType']+'\x22>'+this['publisher']['messageType']+'</option>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</select>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20data-i18n=\x22encodingFormat\x22>编码格式</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<select\x20id=\x22vc-format\x22\x20class=\x22ros-select\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+Na['map'](_0x5830e1=>'<option\x20value=\x22'+_0x5830e1+'\x22>'+_0x5830e1+'</option>')['join']('')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</select>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22>frame_id</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22text\x22\x20id=\x22vc-frame-id\x22\x20class=\x22ros-input\x22\x20value=\x22'+this['publisher']['frameId']+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-divider\x22></div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20data-i18n=\x22resolution\x22>分辨率</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20宽/高那两个数字框放大了一号(72→96px、字号\x2013→14px):它们是这里唯一带\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20微调箭头的控件,四位数字\x20+\x20箭头在\x2072px\x20里挤在一起不好点。预设下拉\x20flex:1,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20让出来的宽度它自动吃掉,整行不会溢出。\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;gap:6px;align-items:center;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22vc-width\x22\x20class=\x22ros-input\x22\x20style=\x22width:96px;font-size:14px;\x22\x20value=\x22'+this['virtualCamera']['width']+'\x22\x20min=\x2216\x22\x20max=\x224096\x22\x20step=\x221\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--text-tertiary);\x22>×</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22vc-height\x22\x20class=\x22ros-input\x22\x20style=\x22width:96px;font-size:14px;\x22\x20value=\x22'+this['virtualCamera']['height']+'\x22\x20min=\x2216\x22\x20max=\x224096\x22\x20step=\x221\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<select\x20id=\x22vc-preset\x22\x20class=\x22ros-select\x22\x20style=\x22flex:1;min-width:0;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<option\x20value=\x22\x22\x20data-i18n=\x22preset\x22>预设</option>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+za['map'](_0x56e86c=>'<option\x20value=\x22'+_0x56e86c+'\x22>'+_0x56e86c['replace']('x','×')+'</option>')['join']('')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</select>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20视场角与发布频率都是短数字,并成一行放;单位跟着数值写进**标识**里\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(与「发布频率(Hz)」同一格式),不再在输入框后面挂一个符号\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;gap:8px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22flex:1;min-width:0;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20for=\x22vc-fov\x22\x20data-i18n=\x22fov\x22>视场角\x20FOV(°)</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22vc-fov\x22\x20class=\x22ros-input\x22\x20value=\x22'+this['virtualCamera']['fov']+'\x22\x20min=\x225\x22\x20max=\x22120\x22\x20step=\x221\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22flex:1;min-width:0;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20for=\x22vc-rate-hz\x22\x20data-i18n=\x22publishRateLabel\x22>发布频率(Hz)</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22vc-rate-hz\x22\x20class=\x22ros-input\x22\x20value=\x22'+this['publisher']['rateHz']+'\x22\x20min=\x221\x22\x20max=\x22120\x22\x20step=\x221\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-divider\x22></div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20data-i18n=\x22mountFrame\x22>挂载坐标系</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-topic-row\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<select\x20id=\x22vc-mount-frame\x22\x20class=\x22ros-select\x22\x20style=\x22flex:1;min-width:0;\x22></select>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20勾选框与坐标系同一行:选\x20link\x20的同时就能开轴,边选边看\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-checkbox\x22\x20style=\x22flex-shrink:0;white-space:nowrap;\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20title=\x22在场景里画出所选\x20link\x20自己的\x20X/Y/Z\x20轴(红=X\x20绿=Y\x20蓝=Z),方便挑光轴与图像上方;设了下面的位置/姿态后它会跟着一起动,零姿态时就是这根\x20link\x20的坐标系。辅助轴只在面板打开时显示,也不会进入发布的图像\x22\x20data-i18n-title=\x22showAxesTitle\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22checkbox\x22\x20id=\x22vc-show-axes\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20data-i18n=\x22showAxes\x22>显示坐标系</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20位置(米,步进\x200.001)=\x20相机沿**所选坐标系当前朝向**的安装点;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20姿态(度)=\x20那根\x20link\x20的显示姿态。\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20**位置与姿态是同一套增量模型**:每改一个字段,就把「新值−旧值」沿**当时那一版\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20坐标系**的对应轴平移/旋转一次,所以转过之后再改位置,走的仍是转完之后的轴,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20而不是最初那根(平移和旋转都各自绑一个字段,不能把三个值打包成绝对量推下去)。\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20姿态三个轴一律**右手定则正方向**(从该轴正端看逆时针):Roll\x20绕\x20X、Pitch\x20绕\x20Y、\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Yaw\x20绕\x20Z。数值都是\x22这个刻度拧了多少\x22,读数与编辑顺序有关。\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20位置/姿态**各有一个「归零」**,紧跟在各自那一行后面:只复位自己那一组,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20另半边(读数与姿态)一律不动。归零是**绝对复位**。\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20姿态绕**挂载坐标系自己的原点**转(改姿态相机原地不动、原点不飘),而且\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20只作用于挂载坐标系(相机\x20+\x20那组辅助轴):**link\x20对象、URDF、关节\x20origin\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20一个字节都不动**,所以没有\x22关面板要还原\x22这回事。\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20每个量都有常显标识,不用鼠标悬停;manager\x20接口一律弧度(UI\x20用度)——\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20**姿态读数归一化到\x20±180°**:显示永远不超界,但**故意不设\x20min/max**,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20否则原生微调箭头一到\x20±180\x20就被浏览器夹住、再也点不动了。越界值由\x20manager\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20换成等价短角后回写(181°\x20→\x20-179°,link\x20照旧继续往同方向转\x201°),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20所以到边界后能一直点下去,转多少圈都行。\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20位置与姿态各一张网格,**列宽模板完全一样**,所以两行的标识与输入框照样上下对齐。\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20每行的「归零」是这一行的**最后一格**(不另起一行)。代价是这一格要占\x20~34px,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20只能从六个数字框里出:所以它们的左右内边距收窄成\x204px(默认\x2012px),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20否则\x20\x22-0.1235\x22\x20这种值会被裁掉。面板宽\x20400px\x20也是为这个留的余量。\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:grid;grid-template-columns:24px\x20repeat(3,\x2030px\x20minmax(0,\x201fr))\x2010px\x20auto;gap:4px;align-items:center;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--text-tertiary);font-size:11px;\x22\x20data-i18n=\x22position\x22>位置</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--text-tertiary);font-size:10px;text-align:center;\x22>X</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22vc-pos-x\x22\x20class=\x22ros-input\x22\x20step=\x220.001\x22\x20style=\x22min-width:0;width:100%;padding:8px\x204px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--text-tertiary);font-size:10px;text-align:center;\x22>Y</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22vc-pos-y\x22\x20class=\x22ros-input\x22\x20step=\x220.001\x22\x20style=\x22min-width:0;width:100%;padding:8px\x204px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--text-tertiary);font-size:10px;text-align:center;\x22>Z</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22vc-pos-z\x22\x20class=\x22ros-input\x22\x20step=\x220.001\x22\x20style=\x22min-width:0;width:100%;padding:8px\x204px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--text-tertiary);font-size:10px;\x22>m</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22vc-pos-reset\x22\x20class=\x22ros-btn\x20ros-btn-secondary\x22\x20data-i18n=\x22zeroOut\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22padding:2px\x206px;font-size:10px;line-height:1.2;white-space:nowrap;\x22>归零</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:grid;grid-template-columns:24px\x20repeat(3,\x2030px\x20minmax(0,\x201fr))\x2010px\x20auto;gap:4px;align-items:center;margin-top:8px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--text-tertiary);font-size:11px;\x22\x20data-i18n=\x22orientation\x22>姿态</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--text-tertiary);font-size:10px;text-align:center;\x22>Roll</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22vc-rpy-r\x22\x20class=\x22ros-input\x22\x20step=\x221\x22\x20style=\x22min-width:0;width:100%;padding:8px\x204px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--text-tertiary);font-size:10px;text-align:center;\x22>Pitch</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22vc-rpy-p\x22\x20class=\x22ros-input\x22\x20step=\x221\x22\x20style=\x22min-width:0;width:100%;padding:8px\x204px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--text-tertiary);font-size:10px;text-align:center;\x22>Yaw</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22vc-rpy-y\x22\x20class=\x22ros-input\x22\x20step=\x221\x22\x20style=\x22min-width:0;width:100%;padding:8px\x204px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--text-tertiary);font-size:10px;\x22>°</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22vc-rpy-reset\x22\x20class=\x22ros-btn\x20ros-btn-secondary\x22\x20data-i18n=\x22zeroOut\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22padding:2px\x206px;font-size:10px;line-height:1.2;white-space:nowrap;\x22>归零</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;align-items:center;gap:6px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22width:52px;color:var(--text-tertiary);font-size:11px;\x22\x20data-i18n=\x22opticalAxis\x22>光轴</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<select\x20id=\x22vc-forward\x22\x20class=\x22ros-select\x22\x20style=\x22flex:1;\x22></select>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22width:56px;color:var(--text-tertiary);font-size:11px;\x22\x20data-i18n=\x22imageUp\x22>图像上方</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<select\x20id=\x22vc-up\x22\x20class=\x22ros-select\x22\x20style=\x22flex:1;\x22></select>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-divider\x22></div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22\x20style=\x22display:flex;gap:8px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22vc-start-btn\x22\x20class=\x22ros-btn\x20ros-btn-primary\x22\x20style=\x22flex:1;\x22\x20data-i18n=\x22startPublish\x22>开始发布</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22vc-stop-btn\x22\x20class=\x22ros-btn\x20ros-btn-secondary\x22\x20style=\x22flex:1;\x22\x20data-i18n=\x22stopPublish\x22\x20disabled>停止</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<img\x20id=\x22vc-preview\x22\x20alt=\x22'+this['_t']('previewAlt','虚拟相机预览')+'\x22\x20style=\x22width:100%;margin-top:6px;border-radius:6px;background:#000;display:none;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20',this['panel']=_0x5330b2,this['refreshMountTargets'](),this['_syncMountPoseInputs'](),this['_syncOrientationSelects'](),this['attachEventListeners'](),this['_syncPresetSelect'](),this['_syncFormatSelect'](),null==(_0x1b7e1b=(_0x469796=this['publisher'])['requestEncodings'])||_0x1b7e1b['call'](_0x469796);const _0x77d35b=_0x5330b2['querySelector']('#vc-ros-url');return _0x77d35b&&(_0x77d35b['value']=this['_resolveRosUrl']()),this['_syncConnectionButtons'](!0x1),this['startStatsMonitor'](),_0x5330b2;}['attachEventListeners'](){var _0x2bccc3;const _0x19d747=_0x3fe3e5=>this['panel']['querySelector']('#'+_0x3fe3e5);_0x19d747('vc-topic')['addEventListener']('change',_0x31313f=>{this['publisher']['topicName']=_0x31313f['target']['value']['trim']()||this['publisher']['topicName'],_0x31313f['target']['value']=this['publisher']['topicName'],this['publisher']['onTopicConfigChanged']();}),_0x19d747('vc-frame-id')['addEventListener']('change',_0x282f54=>{this['publisher']['frameId']=_0x282f54['target']['value']['trim']();}),[['vc-pos-x','x'],['vc-pos-y','y'],['vc-pos-z','z']]['forEach'](([_0x2dbd38,_0x2991de])=>{_0x19d747(_0x2dbd38)['addEventListener']('change',_0x40f3e5=>{const _0x15a1fc=parseFloat(_0x40f3e5['target']['value']);this['virtualCamera']['setMountXyzField'](_0x2991de,Number['isFinite'](_0x15a1fc)?_0x15a1fc:0x0),this['_syncMountPoseInputs']();});}),[['vc-rpy-r','roll'],['vc-rpy-p','pitch'],['vc-rpy-y','yaw']]['forEach'](([_0x49b0be,_0x5ef421])=>{_0x19d747(_0x49b0be)['addEventListener']('change',_0x568014=>{const _0x178a6a=parseFloat(_0x568014['target']['value']);this['virtualCamera']['setMountRpyField'](_0x5ef421,(Number['isFinite'](_0x178a6a)?_0x178a6a:0x0)*Math['PI']/0xb4),this['_syncMountPoseInputs']();});}),_0x19d747('vc-pos-reset')['addEventListener']('click',()=>{this['virtualCamera']['setMount']({'xyz':[0x0,0x0,0x0]}),this['_syncMountPoseInputs']();}),_0x19d747('vc-rpy-reset')['addEventListener']('click',()=>{this['virtualCamera']['setMount']({'rpy':[0x0,0x0,0x0]}),this['_syncMountPoseInputs']();});const _0x653600=()=>{const _0x58af22=parseInt(_0x19d747('vc-width')['value'],0xa),_0x3c2690=parseInt(_0x19d747('vc-height')['value'],0xa);_0x58af22&&_0x3c2690&&(this['virtualCamera']['setResolution'](_0x58af22,_0x3c2690),_0x19d747('vc-width')['value']=this['virtualCamera']['width'],_0x19d747('vc-height')['value']=this['virtualCamera']['height'],this['_syncPresetSelect']());};_0x19d747('vc-width')['addEventListener']('change',_0x653600),_0x19d747('vc-height')['addEventListener']('change',_0x653600),_0x19d747('vc-preset')['addEventListener']('change',_0x3405bc=>{const _0x1ab37e=_0x3405bc['target']['value'];if(!_0x1ab37e)return;const [_0x13f830,_0x529306]=_0x1ab37e['split']('x')['map'](_0x40a48c=>parseInt(_0x40a48c,0xa));_0x19d747('vc-width')['value']=_0x13f830,_0x19d747('vc-height')['value']=_0x529306,_0x653600();}),_0x19d747('vc-fov')['addEventListener']('change',_0x3596e1=>{this['virtualCamera']['setFov'](parseFloat(_0x3596e1['target']['value'])),_0x3596e1['target']['value']=this['virtualCamera']['fov'];}),_0x19d747('vc-rate-hz')['addEventListener']('change',_0x5ac443=>{const _0x5db6d1=parseInt(_0x5ac443['target']['value'],0xa);_0x5db6d1&&(this['publisher']['rateHz']=Math['max'](0x1,Math['min'](0x78,_0x5db6d1)),_0x5ac443['target']['value']=this['publisher']['rateHz'],this['publisher']['onRateChanged']());}),_0x19d747('vc-mount-frame')['addEventListener']('change',_0x4b38f9=>{this['virtualCamera']['setMount']({'frame':_0x4b38f9['target']['value']}),this['_syncMountAxes']();}),_0x19d747('vc-show-axes')['addEventListener']('change',()=>this['_syncMountAxes']()),_0x19d747('vc-forward')['addEventListener']('change',_0x2157ce=>{this['virtualCamera']['setMount']({'forward':_0x2157ce['target']['value']}),this['_syncOrientationSelects']();}),_0x19d747('vc-up')['addEventListener']('change',_0x56a1aa=>{this['virtualCamera']['setMount']({'up':_0x56a1aa['target']['value']}),this['_syncOrientationSelects']();}),_0x19d747('vc-msg-type')['addEventListener']('change',_0x4e50a6=>{this['publisher']['messageType']=_0x4e50a6['target']['value']||this['publisher']['messageType'],_0x4e50a6['target']['value']=this['publisher']['messageType'],this['publisher']['onTopicConfigChanged']();}),_0x19d747('vc-format')['addEventListener']('change',_0x14445f=>{this['publisher']['imageFormat']=Na['includes'](_0x14445f['target']['value'])?_0x14445f['target']['value']:'jpeg',_0x14445f['target']['value']=this['publisher']['imageFormat'],this['publisher']['onFormatChanged']();}),_0x19d747('vc-ros-url')['addEventListener']('change',_0x1a6359=>{const _0x9cf8=this['_persistRosUrl'](_0x1a6359['target']['value']);_0x1a6359['target']['value']=_0x9cf8;}),_0x19d747('vc-connect-btn')['addEventListener']('click',()=>{const _0x60efb1=this['_persistRosUrl'](_0x19d747('vc-ros-url')['value']);_0x19d747('vc-ros-url')['value']=_0x60efb1,this['publisher']['connect'](_0x60efb1)?this['_syncConnectionButtons'](!0x0):this['_warn']('连接失败:'+(this['publisher']['getLastError']()||'未知原因'));}),_0x19d747('vc-disconnect-btn')['addEventListener']('click',()=>{this['publisher']['disconnect'](),this['_syncConnectionButtons'](!0x1);}),_0x19d747('vc-download-script')['addEventListener']('click',_0xa402cf=>{_0xa402cf['preventDefault']();const _0x183940=document['createElement']('a');_0x183940['href']='/scripts/start-rosbridge.sh',_0x183940['download']='start-rosbridge.sh',document['body']['appendChild'](_0x183940),_0x183940['click'](),document['body']['removeChild'](_0x183940);}),_0x19d747('vc-start-btn')['addEventListener']('click',()=>{var _0x4eb07f;if(!(null==(_0x4eb07f=this['app'])?void 0x0:_0x4eb07f['currentModel']))return void this['_warn']('请先载入机器人模型');const _0x40baac=this['_persistRosUrl'](_0x19d747('vc-ros-url')['value']);_0x19d747('vc-ros-url')['value']=_0x40baac,this['publisher']['start'](_0x40baac)||this['_warn']('发布启动失败:'+(this['publisher']['getLastError']()||'未知原因'));}),_0x19d747('vc-stop-btn')['addEventListener']('click',()=>{this['publisher']['stop']();}),null==(_0x2bccc3=document['getElementById']('toggle-virtual-camera-panel'))||_0x2bccc3['addEventListener']('click',()=>{this['refreshMountTargets']();});}['_syncOrientationSelects'](){var _0x3a6a9e,_0x1ee86a;const _0x474687=null==(_0x3a6a9e=this['panel'])?void 0x0:_0x3a6a9e['querySelector']('#vc-forward'),_0x185422=null==(_0x1ee86a=this['panel'])?void 0x0:_0x1ee86a['querySelector']('#vc-up');if(!_0x474687||!_0x185422)return;const _0x418705=this['virtualCamera']['getState']();_0x474687['innerHTML']=La['map'](_0x489a67=>'<option\x20value=\x22'+_0x489a67+'\x22>'+_0x489a67+'</option>')['join'](''),_0x474687['value']=_0x418705['forwardAxis'],_0x185422['innerHTML']=ka(_0x418705['forwardAxis'])['map'](_0x421fa9=>'<option\x20value=\x22'+_0x421fa9+'\x22>'+_0x421fa9+'</option>')['join'](''),_0x185422['value']=_0x418705['upAxis'];}['_syncMountPoseInputs'](){var _0x231d1f,_0x1e9a76;const _0x354c23=(null==(_0x1e9a76=(_0x231d1f=this['virtualCamera'])['getState'])?void 0x0:_0x1e9a76['call'](_0x231d1f))||{},_0x45a3b7=_0x354c23['mountXyz']||[0x0,0x0,0x0],_0x45c398=(_0x354c23['mountRpy']||[0x0,0x0,0x0])['map'](_0x2b99cf=>0xb4*_0x2b99cf/Math['PI']),_0x3546ba=(_0x5d7a4e,_0x40aac1)=>{var _0x2e0686;const _0x59770a=null==(_0x2e0686=this['panel'])?void 0x0:_0x2e0686['querySelector']('#'+_0x5d7a4e);_0x59770a&&(_0x59770a['value']=String(Number(Number(_0x40aac1)['toFixed'](0x4))));};_0x3546ba('vc-pos-x',_0x45a3b7[0x0]),_0x3546ba('vc-pos-y',_0x45a3b7[0x1]),_0x3546ba('vc-pos-z',_0x45a3b7[0x2]),_0x3546ba('vc-rpy-r',_0x45c398[0x0]),_0x3546ba('vc-rpy-p',_0x45c398[0x1]),_0x3546ba('vc-rpy-y',_0x45c398[0x2]);}['refreshMountTargets'](){var _0x1e5ca1,_0x1422c7,_0x5c551e;const _0x2c975b=null==(_0x1e5ca1=this['panel'])?void 0x0:_0x1e5ca1['querySelector']('#vc-mount-frame');if(!_0x2c975b)return;const _0x47aefc=null==(_0x5c551e=null==(_0x1422c7=this['app'])?void 0x0:_0x1422c7['sceneManager'])?void 0x0:_0x5c551e['currentModel'],_0x295622=(null==_0x47aefc?void 0x0:_0x47aefc['links'])?Array['from'](_0x47aefc['links']['keys']()):[],_0x1993bd=this['virtualCamera']['mountFrame']||Aa;_0x2c975b['innerHTML']=['<option\x20value=\x22'+Aa+'\x22\x20data-i18n=\x22worldFrame\x22>'+this['_t']('worldFrame','世界坐标系')+'</option>',..._0x295622['map'](_0xe6f4e8=>'<option\x20value=\x22'+_0xe6f4e8+'\x22>'+_0xe6f4e8+'</option>')]['join'](''),_0x1993bd===Aa||_0x295622['includes'](_0x1993bd)||this['virtualCamera']['setMount']({'frame':Aa}),_0x2c975b['value']=this['virtualCamera']['mountFrame'],this['_syncMountAxes']({'refreshParent':!0x0});}['_syncMountAxes']({refreshParent:_0x44a25f=!0x1}={}){var _0x27ece4,_0x9084df,_0x3c808c,_0x1931c2;const _0x3b0d25=this['_isPanelVisible'](),_0x59873e=!!(null==(_0x9084df=null==(_0x27ece4=this['panel'])?void 0x0:_0x27ece4['querySelector']('#vc-show-axes'))?void 0x0:_0x9084df['checked']);this['virtualCamera']['setMountAxesVisible'](_0x59873e&&_0x3b0d25),_0x44a25f&&(null==(_0x1931c2=(_0x3c808c=this['virtualCamera'])['refreshMountAxes'])||_0x1931c2['call'](_0x3c808c));}['_handleCameraConnection'](_0x1fd591,_0xa720d3){var _0x25576c;this['_cameraConnected']=!!_0x1fd591;const _0x428f8e=null==(_0x25576c=this['panel'])?void 0x0:_0x25576c['querySelector']('#vc-cam-status');_0x428f8e&&(_0x428f8e['textContent']=this['_t'](_0x1fd591?'cameraConnected':'cameraDisconnected'),_0x428f8e['style']['color']=_0x1fd591?'#4caf50':'#f44336'),this['_syncConnectionButtons'](_0x1fd591),_0x1fd591||(this['_domainId']=null,this['_resetDomainIdBadge']()),!_0x1fd591&&_0xa720d3&&this['_warn']('相机连接出错:'+_0xa720d3,_0xa720d3);}['_resetDomainIdBadge'](){var _0x188621;this['_domainId']=null,this['_domainIdResolved']=!0x1;const _0x56d7c9=null==(_0x188621=this['panel'])?void 0x0:_0x188621['querySelector']('#vc-domain-id');_0x56d7c9&&(_0x56d7c9['textContent']='—',_0x56d7c9['style']['background']='#1e8e3e');}['_handleDomainId'](_0x9012a7){var _0x45be31;const _0x566181=null==(_0x45be31=this['panel'])?void 0x0:_0x45be31['querySelector']('#vc-domain-id');_0x566181&&this['_cameraConnected']&&(this['_domainIdResolved']=!0x0,this['_domainId']='number'==typeof _0x9012a7?_0x9012a7:null,'number'==typeof _0x9012a7?(_0x566181['textContent']=String(_0x9012a7),_0x566181['style']['background']='#1e8e3e'):(_0x566181['textContent']=this['_t']('unknown'),_0x566181['style']['background']='#e65100'));}['_syncConnectionButtons'](_0x24b533){var _0x855aad,_0x9df288,_0x5b4d13;const _0x55eb85=null==(_0x855aad=this['panel'])?void 0x0:_0x855aad['querySelector']('#vc-connect-btn'),_0x4c012f=null==(_0x9df288=this['panel'])?void 0x0:_0x9df288['querySelector']('#vc-disconnect-btn'),_0x43c6c3=null==(_0x5b4d13=this['panel'])?void 0x0:_0x5b4d13['querySelector']('#vc-ros-url');_0x55eb85&&(_0x55eb85['disabled']=!!_0x24b533),_0x4c012f&&(_0x4c012f['disabled']=!_0x24b533),_0x43c6c3&&(_0x43c6c3['disabled']=!!_0x24b533);}['_syncRunningState'](){var _0x44f1e3,_0x4f54be,_0x22dcd2;const _0x1c67ed=null==(_0x44f1e3=this['panel'])?void 0x0:_0x44f1e3['querySelector']('#vc-start-btn'),_0x50548d=null==(_0x4f54be=this['panel'])?void 0x0:_0x4f54be['querySelector']('#vc-stop-btn'),_0x2a1de=null==(_0x22dcd2=this['panel'])?void 0x0:_0x22dcd2['querySelector']('#vc-topic'),_0x4e7b7e=this['publisher']['isRunning']();_0x1c67ed&&(_0x1c67ed['disabled']=_0x4e7b7e),_0x50548d&&(_0x50548d['disabled']=!_0x4e7b7e),_0x2a1de&&(_0x2a1de['disabled']=_0x4e7b7e),this['_syncConnectionButtons'](this['_cameraConnected']);}['_resolveRosUrl'](){var _0x5eb42c,_0x1d8de2,_0x4da48c,_0x18ece5,_0x1334b8,_0x232e25;return(null==(_0x4da48c=null==(_0x1d8de2=null==(_0x5eb42c=this['panel'])?void 0x0:_0x5eb42c['querySelector']('#vc-ros-url'))?void 0x0:_0x1d8de2['value'])?void 0x0:_0x4da48c['trim']())||(null==(_0x232e25=null==(_0x1334b8=null==(_0x18ece5=this['app'])?void 0x0:_0x18ece5['rosConnectionPanel'])?void 0x0:_0x1334b8['getServerUrl'])?void 0x0:_0x232e25['call'](_0x1334b8))||localStorage['getItem']('ros_url')||'ws://localhost:9090';}['_persistRosUrl'](_0x4f38ab){var _0x54b199,_0x50c785,_0x3be729;const _0x3611b5=String(_0x4f38ab||'')['trim']()||'ws://localhost:9090';return localStorage['setItem']('ros_url',_0x3611b5),null==(_0x3be729=null==(_0x50c785=null==(_0x54b199=this['app'])?void 0x0:_0x54b199['rosConnectionPanel'])?void 0x0:_0x50c785['setServerUrl'])||_0x3be729['call'](_0x50c785,_0x3611b5),_0x3611b5;}['_syncPresetSelect'](){var _0x22a5b5;const _0x2aeac5=null==(_0x22a5b5=this['panel'])?void 0x0:_0x22a5b5['querySelector']('#vc-preset');if(!_0x2aeac5)return;const _0x3c0294=this['virtualCamera']['width']+'x'+this['virtualCamera']['height'];_0x2aeac5['value']=za['includes'](_0x3c0294)?_0x3c0294:'';}['_syncFormatSelect'](){var _0x3f41fc;const _0x9dbbf1=null==(_0x3f41fc=this['panel'])?void 0x0:_0x3f41fc['querySelector']('#vc-format');_0x9dbbf1&&(_0x9dbbf1['value']=Na['includes'](this['publisher']['imageFormat'])?this['publisher']['imageFormat']:'jpeg');}['_handleEncodings'](_0x582d17){var _0x1f4fd5;this['_encodings']=Array['isArray'](_0x582d17)?_0x582d17:null;const _0xba6d5e=null==(_0x1f4fd5=this['panel'])?void 0x0:_0x1f4fd5['querySelector']('#vc-format');if(_0xba6d5e&&this['_encodings']){let _0x22a86e=null;[..._0xba6d5e['options']]['forEach'](_0x5bf6b2=>{const _0x588cf8=this['_encodings']['find'](_0x584e79=>_0x584e79['format']===_0x5bf6b2['value']),_0x30ff12=!_0x588cf8||_0x588cf8['supported'];_0x5bf6b2['disabled']=!_0x30ff12,_0x5bf6b2['textContent']=_0x30ff12?_0x5bf6b2['value']:_0x5bf6b2['value']+'\x20—\x20'+this['_t']('browserUnsupported'),_0x30ff12&&!_0x22a86e&&(_0x22a86e=_0x5bf6b2['value']);});const _0x44735e=this['_encodings']['find'](_0x1758fd=>_0x1758fd['format']===this['publisher']['imageFormat']);_0x44735e&&!_0x44735e['supported']&&_0x22a86e&&(this['publisher']['imageFormat']=_0x22a86e,this['publisher']['onFormatChanged'](),_0xba6d5e['value']=_0x22a86e,this['_warn'](_0x44735e['format']+'\x20这台浏览器编不了,已改回\x20'+_0x22a86e));}}['startStatsMonitor'](){this['_statsTimer']&&clearInterval(this['_statsTimer']),this['_statsTimer']=setInterval(()=>{var _0x4de240,_0x2a0077;if(!this['panel'])return;null==(_0x2a0077=(_0x4de240=this['publisher'])['setPreviewEnabled'])||_0x2a0077['call'](_0x4de240,this['_isPanelVisible']()),this['_syncMountAxes']();const _0x2e412d=this['publisher']['collectStats'](),_0x4c1f66=this['publisher']['isRunning'](),_0x1947fa=this['panel']['querySelector']('#vc-rate');_0x1947fa&&(_0x1947fa['textContent']=_0x2e412d['rate']['toFixed'](0x1)+'\x20Hz',_0x1947fa['title']=_0x4c1f66?this['_t']('rateTargetTitle')['replace']('{target}',_0x2e412d['target']):this['_t']('rateIdleTitle'),_0x1947fa['style']['opacity']=_0x4c1f66||_0x2e412d['rate']?'1':'0.55');},0x3e8);}['dispose'](){this['_statsTimer']&&clearInterval(this['_statsTimer']),this['_statsTimer']=null;}['_isPanelVisible'](){return('undefined'==typeof document||!document['hidden'])&&(!!this['panel']&&'none'!==this['panel']['style']['display']);}['_t'](_0x3305e8,_0x78b3ae=_0x3305e8){var _0xc6a9e7,_0x531427;const _0x568866=null==(_0x531427=null==(_0xc6a9e7=window['i18n'])?void 0x0:_0xc6a9e7['t'])?void 0x0:_0x531427['call'](_0xc6a9e7,_0x3305e8);return _0x568866&&_0x568866!==_0x3305e8?_0x568866:_0x78b3ae;}['refreshLanguage'](){var _0x54ee2b,_0x1938f4,_0x1cfd77;null==(_0x1938f4=null==(_0x54ee2b=window['i18n'])?void 0x0:_0x54ee2b['updatePageLanguage'])||_0x1938f4['call'](_0x54ee2b),this['_encodings']&&this['_handleEncodings'](this['_encodings']),this['_handleCameraConnection'](this['_cameraConnected']),this['_cameraConnected']&&this['_domainIdResolved']&&this['_handleDomainId'](this['_domainId']);const _0x46c63a=null==(_0x1cfd77=this['panel'])?void 0x0:_0x1cfd77['querySelector']('#vc-preview');_0x46c63a&&(_0x46c63a['alt']=this['_t']('previewAlt','虚拟相机预览'));}['_handlePreview'](_0x13219f){var _0x1fb00a;if(!this['_isPanelVisible']())return;const _0x176362=performance['now']();if(this['publisher']['isRunning']()&&_0x176362-this['_lastPreviewAt']<0x64)return;this['_lastPreviewAt']=_0x176362;const _0x528b4f=null==(_0x1fb00a=this['panel'])?void 0x0:_0x1fb00a['querySelector']('#vc-preview');if(!_0x528b4f)return;_0x528b4f['style']['display']='block',_0x528b4f['style']['aspectRatio']=_0x13219f['width']+'\x20/\x20'+_0x13219f['height'];const _0x48e389=_0x13219f['previewWidth']?'\x20·\x20'+this['_t']('previewThumb','缩略图')+'\x20'+_0x13219f['previewWidth']+'×'+_0x13219f['previewHeight']:'';_0x528b4f['title']=this['_t']('previewFrame','画面')+'\x20'+_0x13219f['width']+'×'+_0x13219f['height']+_0x48e389+'\x20·\x20'+this['_t']('previewSingleFrame','单帧')+'\x20'+(_0x13219f['payloadBytes']/0x400)['toFixed'](0x1)+'\x20KB',_0x528b4f['src']='data:'+(_0x13219f['mime']||'image/jpeg')+';base64,'+_0x13219f['base64'];}['_warn'](_0x5e1bbf,_0x830d33){}}class Va{constructor(_0x48b928,_0x4157db,_0x335f26){this['sceneManager']=_0x48b928,this['app']=_0x4157db,this['config']=_0x335f26,this['panel']=null,this['searchText']='';}['createPanel'](){const _0x1a6c3e=document['createElement']('div');return _0x1a6c3e['id']=this['config']['panelId'],_0x1a6c3e['className']='floating-panel',_0x1a6c3e['style']['cssText']=this['config']['panelStyle'],_0x1a6c3e['innerHTML']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22floating-panel-header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20data-i18n=\x22'+this['config']['titleI18nKey']+'\x22>'+this['config']['titleText']+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22panel-close-btn\x22>✕</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22floating-panel-content\x20axes-panel-content\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-panel-controls\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22text\x22\x20class=\x22axes-search\x22\x20placeholder=\x22'+window['i18n']['t']('searchPlaceholder')+'\x22\x20data-i18n-placeholder=\x22searchPlaceholder\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-form-group\x22\x20style=\x22display:flex;gap:8px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22axes-btn\x20axes-btn-secondary\x22\x20id=\x22'+this['config']['selectAllId']+'\x22\x20data-i18n=\x22selectAll\x22>全选</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22axes-btn\x20axes-btn-secondary\x22\x20id=\x22'+this['config']['deselectAllId']+'\x22\x20data-i18n=\x22deselectAll\x22>全不选</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-divider\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22axes-checkbox\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22checkbox\x22\x20id=\x22'+this['config']['showLabelsId']+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20data-i18n=\x22showLabels\x22>显示名称</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22axes-label\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20data-i18n=\x22displaySize\x22>显示尺寸</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22axes-scale-value\x22\x20id=\x22'+this['config']['scaleValueId']+'\x22>1.0x</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22range\x22\x20class=\x22axes-slider\x22\x20id=\x22'+this['config']['scaleSliderId']+'\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20min=\x220.1\x22\x20max=\x222.0\x22\x20step=\x220.1\x22\x20value=\x221.0\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-list-container\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-list\x22\x20id=\x22'+this['config']['listId']+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22no-results\x22\x20data-i18n=\x22noAxesAvailable\x22>无可用坐标轴</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-panel-bottom-spacer\x22\x20aria-hidden=\x22true\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20',this['panel']=_0x1a6c3e,this['attachEventListeners'](),_0x1a6c3e;}['attachEventListeners'](){const _0x5b1e96=this['panel']['querySelector']('.panel-close-btn'),_0x49a465=this['panel']['querySelector']('.axes-search'),_0x517f8a=this['panel']['querySelector']('#'+this['config']['selectAllId']),_0x2deaa0=this['panel']['querySelector']('#'+this['config']['deselectAllId']),_0x4fd2df=this['panel']['querySelector']('#'+this['config']['showLabelsId']),_0x17363b=this['panel']['querySelector']('#'+this['config']['scaleSliderId']),_0x57a3f0=this['panel']['querySelector']('#'+this['config']['scaleValueId']),_0x254d69=this['panel']['querySelector']('#'+this['config']['listId']);_0x5b1e96['addEventListener']('click',()=>{this['hide']();}),_0x49a465['addEventListener']('input',_0x5a5b64=>{this['searchText']=_0x5a5b64['target']['value'],this['updateAxesList']();}),_0x517f8a['addEventListener']('click',()=>{this['selectAll'](!0x0);}),_0x2deaa0['addEventListener']('click',()=>{this['selectAll'](!0x1);}),_0x4fd2df['addEventListener']('change',_0xebcc8e=>{this['sceneManager']['axesManager']['setShowLabels'](_0xebcc8e['target']['checked']);}),_0x17363b['addEventListener']('input',_0x222c0f=>{const _0x2f0180=parseFloat(_0x222c0f['target']['value']);_0x57a3f0['textContent']=_0x2f0180['toFixed'](0x1)+'x',this['sceneManager']['axesManager']['setAxesScale'](_0x2f0180),this['app']['currentModel']&&this['reloadAxes']();}),_0x254d69['addEventListener']('change',_0x261191=>{_0x261191['target']['matches']('input[type=\x22checkbox\x22][data-axis-name]')&&this['setAxisVisible'](_0x261191['target']['dataset']['axisName'],_0x261191['target']['checked']);});}['updateAxesList'](){const _0x267a65=this['getAxisNames']()['filter'](_0x508517=>_0x508517['toLowerCase']()['includes'](this['searchText']['toLowerCase']())),_0x24fa66=this['panel']['querySelector']('#'+this['config']['listId']);if(_0x24fa66['innerHTML']='',0x0===_0x267a65['length']){const _0xbbff73=document['createElement']('div');return _0xbbff73['className']='no-results',_0xbbff73['setAttribute']('data-i18n','noAxesAvailable'),_0xbbff73['textContent']=window['i18n']['t']('noAxesAvailable'),void _0x24fa66['appendChild'](_0xbbff73);}const _0x46c019=document['createDocumentFragment']();_0x267a65['forEach'](_0x13bbb3=>{const _0x248c49=document['createElement']('label');_0x248c49['className']='axes-checkbox';const _0x518b92=document['createElement']('input');_0x518b92['type']='checkbox',_0x518b92['dataset']['axisName']=_0x13bbb3,_0x518b92['checked']=this['isAxisVisible'](_0x13bbb3);const _0x5b9522=document['createElement']('span');_0x5b9522['title']=_0x13bbb3,_0x5b9522['textContent']=_0x13bbb3,_0x248c49['appendChild'](_0x518b92),_0x248c49['appendChild'](_0x5b9522),_0x46c019['appendChild'](_0x248c49);}),_0x24fa66['appendChild'](_0x46c019);}['selectAll'](_0x2b3625){this['setAllAxesVisible'](_0x2b3625),this['panel']['querySelectorAll']('input[type=\x22checkbox\x22][data-axis-name]')['forEach'](_0x585c95=>{_0x585c95['checked']=_0x2b3625;});}['reloadAxes'](){const _0x572ed4=this['app']['currentModel'];if(!_0x572ed4)return;const _0x543e2d=this['sceneManager']['axesManager'],_0x4c7ca9=new Map(),_0x55e232=_0x543e2d['showLabels'];this['getAxisNames']()['forEach'](_0x139a27=>{_0x4c7ca9['set'](_0x139a27,this['isAxisVisible'](_0x139a27));}),this['clearAxes'](),this['recreateAxes'](_0x572ed4),_0x4c7ca9['forEach']((_0x20d7b3,_0x426873)=>{this['setAxisVisible'](_0x426873,_0x20d7b3);}),_0x543e2d['setShowLabels'](_0x55e232),this['updateAxesList'](),this['sceneManager']['redraw']();}['show'](){this['panel']['style']['display']='block',this['syncToggleButtonState'](!0x0),this['updateAxesList']();this['panel']['querySelector']('#'+this['config']['showLabelsId'])['checked']=this['sceneManager']['axesManager']['showLabels'];const _0x5dfad2=this['panel']['querySelector']('#'+this['config']['scaleSliderId']),_0x55e97c=this['panel']['querySelector']('#'+this['config']['scaleValueId']),_0x22da7f=this['sceneManager']['axesManager']['getAxesScale']();_0x5dfad2['value']=_0x22da7f,_0x55e97c['textContent']=_0x22da7f['toFixed'](0x1)+'x';}['hide'](){this['panel']['style']['display']='none',this['syncToggleButtonState'](!0x1);}['toggle'](){'none'===this['panel']['style']['display']?this['show']():this['hide']();}['isVisible'](){return'none'!==this['panel']['style']['display'];}['syncToggleButtonState'](_0x480fc8){const _0x3787a5=document['getElementById'](this['config']['toggleButtonId']);_0x3787a5&&_0x3787a5['classList']['toggle']('active',_0x480fc8);}['getAxisNames'](){throw new Error('getAxisNames()\x20must\x20be\x20implemented\x20by\x20subclass');}['isAxisVisible'](){throw new Error('isAxisVisible()\x20must\x20be\x20implemented\x20by\x20subclass');}['setAxisVisible'](){throw new Error('setAxisVisible()\x20must\x20be\x20implemented\x20by\x20subclass');}['setAllAxesVisible'](_0xe32d76){this['getAxisNames']()['forEach'](_0xcaa5ee=>{this['setAxisVisible'](_0xcaa5ee,_0xe32d76);});}['clearAxes'](){throw new Error('clearAxes()\x20must\x20be\x20implemented\x20by\x20subclass');}['recreateAxes'](){throw new Error('recreateAxes()\x20must\x20be\x20implemented\x20by\x20subclass');}}class qa extends Va{constructor(_0x572c2b,_0x2efcd9){super(_0x572c2b,_0x2efcd9,{'panelId':'axes-control-panel','panelStyle':'top:\x2080px;\x20left:\x2020px;\x20width:\x20320px;\x20height:\x20calc(100vh\x20-\x20160px);\x20z-index:\x2051;\x20display:\x20none;','titleI18nKey':'axesControlPanel','titleText':'Link\x20坐标轴控制','selectAllId':'axes-select-all','deselectAllId':'axes-deselect-all','showLabelsId':'axes-show-labels','scaleValueId':'axes-scale-value','scaleSliderId':'axes-scale-slider','listId':'axes-list','toggleButtonId':'toggle-axes-btn'}),this['_rpySectionVisible']=!0x1,this['_originalRpy']=[0x0,0x0,0x0],this['_currentRpy']=[0x0,0x0,0x0],this['_selectedJointName']=null,this['_selectedLinkName']=null;}['createPanel'](){const _0x1c1581=super['createPanel'](),_0x42081c=_0x1c1581['querySelector']('.floating-panel-content'),_0x28f8a4=document['createElement']('div');_0x28f8a4['id']='axes-rpy-section',_0x28f8a4['className']='axes-rpy-section',_0x28f8a4['style']['cssText']='display:none;\x20border-top:\x201px\x20solid\x20var(--glass-border);\x20padding-top:\x2012px;\x20margin-top:\x2012px;',_0x28f8a4['innerHTML']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-rpy-header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22axes-rpy-title\x22>Joint\x20Origin\x20RPY</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22axes-rpy-joint-name\x22\x20id=\x22axes-rpy-joint-name\x22></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-rpy-rows\x22\x20id=\x22axes-rpy-rows\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-rpy-row\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22axes-rpy-label\x22>Roll\x20(X)</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22axes-rpy-btn\x22\x20data-rpy=\x22roll\x22\x20data-dir=\x22-1\x22>-90°</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22axes-rpy-value\x22\x20id=\x22axes-rpy-roll\x22>0°</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22axes-rpy-btn\x22\x20data-rpy=\x22roll\x22\x20data-dir=\x221\x22>+90°</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-rpy-row\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22axes-rpy-label\x22>Pitch\x20(Y)</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22axes-rpy-btn\x22\x20data-rpy=\x22pitch\x22\x20data-dir=\x22-1\x22>-90°</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22axes-rpy-value\x22\x20id=\x22axes-rpy-pitch\x22>0°</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22axes-rpy-btn\x22\x20data-rpy=\x22pitch\x22\x20data-dir=\x221\x22>+90°</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-rpy-row\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22axes-rpy-label\x22>Yaw\x20(Z)</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22axes-rpy-btn\x22\x20data-rpy=\x22yaw\x22\x20data-dir=\x22-1\x22>-90°</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22axes-rpy-value\x22\x20id=\x22axes-rpy-yaw\x22>0°</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22axes-rpy-btn\x22\x20data-rpy=\x22yaw\x22\x20data-dir=\x221\x22>+90°</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22axes-rpy-apply-row\x22\x20style=\x22margin-top:8px;\x20display:flex;\x20gap:8px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22axes-btn\x20axes-btn-primary\x22\x20id=\x22axes-rpy-apply\x22\x20style=\x22flex:1;\x22>应用旋转</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22axes-btn\x20axes-btn-secondary\x22\x20id=\x22axes-rpy-reset\x22\x20style=\x22flex:1;\x22>重置</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20';const _0x2133ff=_0x42081c['querySelector']('.axes-panel-controls');return _0x2133ff&&_0x2133ff['nextSibling']?_0x42081c['insertBefore'](_0x28f8a4,_0x2133ff['nextSibling']):_0x42081c['appendChild'](_0x28f8a4),this['_attachRpyListeners'](_0x28f8a4),_0x1c1581;}['_attachRpyListeners'](_0x3b1a0c){_0x3b1a0c['querySelectorAll']('.axes-rpy-btn[data-rpy]')['forEach'](_0x4faedb=>{_0x4faedb['addEventListener']('click',()=>{const _0x303371={'roll':0x0,'pitch':0x1,'yaw':0x2}[_0x4faedb['dataset']['rpy']];this['_currentRpy'][_0x303371]+=parseInt(_0x4faedb['dataset']['dir'])*(Math['PI']/0x2),this['_updateRpyDisplay'](),this['_previewRpy']();});});_0x3b1a0c['querySelector']('#axes-rpy-apply')['addEventListener']('click',()=>{if(!this['_onRpyApply']||!this['_selectedLinkName'])return;this['_currentRpy']['some']((_0x47159f,_0x789eb7)=>Math['abs'](_0x47159f-this['_originalRpy'][_0x789eb7])>0.001)&&(this['_onRpyApply'](this['_selectedLinkName'],[...this['_currentRpy']]),this['_originalRpy']=[...this['_currentRpy']]);});_0x3b1a0c['querySelector']('#axes-rpy-reset')['addEventListener']('click',()=>{this['_currentRpy']=[...this['_originalRpy']],this['_updateRpyDisplay'](),this['_previewRpy']();});}['_previewRpy'](){if(!this['_selectedLinkName']||!this['app']||!this['app']['currentModel'])return;const _0x2b82b6=this['app']['currentModel'],_0x2c9aed=_0x2b82b6['links']['get'](this['_selectedLinkName']);if(!_0x2c9aed||!_0x2c9aed['threeObject'])return;const _0x299312=new _0x3c39ce()['setFromEuler'](new _0x416b03(this['_originalRpy'][0x0],this['_originalRpy'][0x1],this['_originalRpy'][0x2],'ZYX')),_0x10c6e8=new _0x3c39ce()['setFromEuler'](new _0x416b03(this['_currentRpy'][0x0],this['_currentRpy'][0x1],this['_currentRpy'][0x2],'ZYX')),_0x48e419=_0x299312['clone']()['invert']()['multiply'](_0x10c6e8);_0x2c9aed['threeObject']['quaternion']['copy'](_0x48e419),_0x2c9aed['threeObject']['position']['set'](0x0,0x0,0x0),_0x2b82b6['threeObject']&&_0x2b82b6['threeObject']['updateMatrixWorld'](!0x0),this['sceneManager']['redraw']();}['_updateRpyDisplay'](){const _0x5e2cf1=_0x5b3531=>{let _0x15591b=Math['round'](0xb4*_0x5b3531/Math['PI'])%0x168;return _0x15591b>0xb4&&(_0x15591b-=0x168),_0x15591b<=-0xb4&&(_0x15591b+=0x168),_0x15591b;},_0x1806db=this['panel']['querySelector']('#axes-rpy-roll'),_0x1b56c9=this['panel']['querySelector']('#axes-rpy-pitch'),_0x3f28c1=this['panel']['querySelector']('#axes-rpy-yaw');_0x1806db&&(_0x1806db['textContent']=_0x5e2cf1(this['_currentRpy'][0x0])+'°'),_0x1b56c9&&(_0x1b56c9['textContent']=_0x5e2cf1(this['_currentRpy'][0x1])+'°'),_0x3f28c1&&(_0x3f28c1['textContent']=_0x5e2cf1(this['_currentRpy'][0x2])+'°');}['showRpySection'](_0x40b33b,_0x275614){if(!_0x40b33b||!_0x275614)return void this['hideRpySection']();let _0x3800f6=null;if(_0x40b33b['joints']['forEach'](_0x608534=>{_0x608534['child']===_0x275614&&(_0x3800f6=_0x608534);}),!_0x3800f6)return void this['hideRpySection']();this['_selectedLinkName']=_0x275614,this['_selectedJointName']=_0x3800f6['name'];let _0xf4c3ec=[0x0,0x0,0x0];if(this['app']['codeEditorManager']){const _0x4c466b=this['app']['codeEditorManager']['getJointOriginRpy'](_0x3800f6['name']);_0x4c466b&&(_0xf4c3ec=_0x4c466b);}if(_0xf4c3ec['every'](_0x3646fc=>0x0===_0x3646fc)&&_0x3800f6['threeObject']){const _0x420009=new _0x416b03()['setFromQuaternion'](_0x3800f6['threeObject']['quaternion'],'ZYX');_0xf4c3ec=[_0x420009['x'],_0x420009['y'],_0x420009['z']];}_0x3800f6['_origRpy']=[..._0xf4c3ec],_0x3800f6['_origXyz']=_0x3800f6['threeObject']?[_0x3800f6['threeObject']['position']['x'],_0x3800f6['threeObject']['position']['y'],_0x3800f6['threeObject']['position']['z']]:_0x3800f6['origin']?[..._0x3800f6['origin']['xyz']]:[0x0,0x0,0x0],this['_originalRpy']=[..._0xf4c3ec],this['_currentRpy']=[..._0xf4c3ec];const _0x526fb0=this['panel']['querySelector']('#axes-rpy-section');_0x526fb0&&(_0x526fb0['style']['display']='block');const _0x57797f=this['panel']['querySelector']('#axes-rpy-joint-name');_0x57797f&&(_0x57797f['textContent']=_0x3800f6['name']),this['_updateRpyDisplay']();}['hideRpySection'](){this['_selectedLinkName']=null,this['_selectedJointName']=null,this['_originalRpy']=[0x0,0x0,0x0],this['_currentRpy']=[0x0,0x0,0x0];const _0x5b4aab=this['panel']['querySelector']('#axes-rpy-section');_0x5b4aab&&(_0x5b4aab['style']['display']='none');}['setOnRpyApply'](_0x16e9f9){this['_onRpyApply']=_0x16e9f9;}['getAxisNames'](){return this['sceneManager']['axesManager']['getLinkNames']();}['isAxisVisible'](_0x24a53f){return this['sceneManager']['axesManager']['isLinkAxisVisible'](_0x24a53f);}['setAxisVisible'](_0x47b30d,_0x22da4f){this['sceneManager']['axesManager']['showAxesByName'](_0x47b30d,_0x22da4f);}['setAllAxesVisible'](_0x43c0aa){this['sceneManager']['axesManager']['setAllLinkAxesVisible'](_0x43c0aa);}['clearAxes'](){this['sceneManager']['axesManager']['clearAllLinkAxes']();}['recreateAxes'](_0x40f04e){const _0x52b395=this['sceneManager']['axesManager']['modelSize'];_0x40f04e['links']['forEach']((_0x1d9798,_0x549ab0)=>{this['sceneManager']['axesManager']['createLinkAxes'](_0x1d9798,_0x549ab0,_0x52b395);});}}class Ba extends Va{constructor(_0x39b8e2,_0x5c362d){super(_0x39b8e2,_0x5c362d,{'panelId':'joint-axes-control-panel','panelStyle':'top:\x2080px;\x20left:\x20360px;\x20width:\x20320px;\x20height:\x20calc(100vh\x20-\x20160px);\x20z-index:\x2051;\x20display:\x20none;','titleI18nKey':'jointAxesControlPanel','titleText':'关节轴控制','selectAllId':'joint-axes-select-all','deselectAllId':'joint-axes-deselect-all','showLabelsId':'joint-axes-show-labels','scaleValueId':'joint-axes-scale-value','scaleSliderId':'joint-axes-scale-slider','listId':'joint-axes-list','toggleButtonId':'toggle-joint-axes-btn'});}['getAxisNames'](){return this['sceneManager']['axesManager']['getJointNames']();}['isAxisVisible'](_0x1e4e6d){return this['sceneManager']['axesManager']['isJointAxisVisible'](_0x1e4e6d);}['setAxisVisible'](_0x306bc7,_0x3ade62){this['sceneManager']['axesManager']['showJointAxisByName'](_0x306bc7,_0x3ade62);}['setAllAxesVisible'](_0x1925ea){this['sceneManager']['axesManager']['setAllJointAxesVisible'](_0x1925ea);}['clearAxes'](){this['sceneManager']['axesManager']['clearAllJointAxes']();}['recreateAxes'](_0xae9e0){_0xae9e0['joints']['forEach']((_0x30449f,_0x316b9b)=>{this['sceneManager']['axesManager']['createJointAxis'](_0x30449f,_0x316b9b);});}}const $a='1.1.4',Ja={'zh-CN':{'visual':'视觉','collision':'碰撞','com':'质心','inertia':'惯量','axes':'坐标轴','jointAxes':'关节轴','shadow':'阴影','lighting':'光照','files':'文件','joints':'关节','structure':'结构','edit':'编辑','jointInfo':'关节信息','help':'帮助','theme':'主题','language':'语言','fileList':'文件','jointControl':'关节','modelStructure':'结构','codeEditor':'编辑','radian':'弧度','degree':'角度','reset':'重置','limits':'限位','mujocoReset':'重置','mujocoSimulate':'仿真','mujocoPause':'暂停','reload':'重新加载','download':'下载','saved':'已保存','unsaved':'未保存','noFileOpen':'未打开文件','helpTitle':'IO\x20Robot\x20Viewer\x20v'+$a,'about':'关于','aboutContent':'IO\x20Robot\x20Viewer\x20是一个基于\x20Three.js\x20的网页端机器人遥操作适配工具,提供直观的可视化界面,帮助您在浏览器中查看和分析机器人的结构、关节等属性,引导您完成适配流程并提供ROS通讯与监控能力。<br><br>本项目基于\x20<a\x20href=\x22https://github.com/fan-ziqi/robot_viewer\x22\x20target=\x22_blank\x22\x20rel=\x22noopener\x22\x20style=\x22color:var(--accent-color)\x22>范子琦\x20(fan-ziqi)\x20的\x20robot_viewer</a>\x20进行二次开发。','projectHome':'项目主页','email':'邮箱','myGithub':'我的GitHub','operations':'操作指南','leftDrag':'左键拖动','rotateView':'旋转视角','rightDrag':'右键拖动','panView':'平移视角','scroll':'滚轮','zoom':'缩放视图','clickModel':'点击模型','controlJoint':'控制关节(可拖动)','dragFile':'拖拽文件','loadModel':'加载机器人模型','contact':'联系方式','support':'支持','noFolder':'未加载文件夹','noModel':'未加载模型','load':'加载','loadFiles':'加载文件','loadFolder':'加载文件夹','orClickButton':'或点击下面的按钮加载','noControllableJoints':'未找到可控制关节','clickToEditMin':'点击编辑下限','clickToEditMax':'点击编辑上限','dropHint':'拖拽机器人模型文件或文件夹到页面任意位置','dropHintSub':'支持\x20URDF,\x20Xacro,\x20MJCF\x20格式<br>支持拖拽文件夹以加载mesh文件','graphHint':'拖动:\x20移动\x20|\x20滚轮:\x20缩放\x20|\x20右键:\x20隐藏/显示\x20|\x20Ctrl+左键:\x20测量','copyright':'©\x202025\x20范子琦\x20版权所有。','type':'类型','links':'Links','joints':'关节','controllable':'可控','rootLink':'根Link','linkName':'Link名称','jointName':'关节','mass':'质量','mergedLinks':'合并的Links','model':'模型','mesh':'网格','link':'链接','kg':'kg','rad':'rad','deg':'deg','m':'m','loading':'正在加载','unsupportedFormat':'不支持的文件格式','loadFailed':'加载失败','noSupportedFiles':'未找到支持的文件(URDF,\x20Xacro,\x20MJCF,\x20DAE,\x20STL,\x20OBJ)','loadSuccess':'模型加载成功','cannotLoadMesh':'无法加载\x20mesh\x20文件','unsavedChanges':'您有未保存的更改,确定要关闭吗?','newFile':'新文件.xml','noFileToReload':'没有可重新加载的文件','saveFirst':'请先保存为文件后再加载','reloadingModel':'正在重新加载模型...','modelReloaded':'模型已重新加载(未保存)','reloadFailed':'重新加载失败','downloadFailed':'下载失败','fileDownloaded':'文件已下载','emptyContent':'编辑器内容为空,无法加载','fileType':'文件类型','axesControlPanel':'Link\x20坐标轴控制','jointAxesControlPanel':'关节轴控制','selectAll':'全选','deselectAll':'全不选','showLabels':'显示名称','displaySize':'显示尺寸','noAxesAvailable':'无可用坐标轴','searchPlaceholder':'搜索坐标轴...','selectAllJoints':'全选','showMimicJoints':'显示mimic','applyAngles':'设置角度','setHome':'设零位','resetToHome':'回零','resetToHomeSuccess':'已将所有关节回零','setHomeSuccess':'已记录\x20{count}\x20个关节的零位','noJointsSelected':'请先选择关节','applySuccess':'已应用\x20{count}\x20个关节角度','applyFailed':'应用失败','mocapControl':'动捕控制','mocapHuman':'动捕小人','exoskeleton':'外骨骼手套','connected':'已连接','disconnected':'未连接','webglContextLostTitle':'3D\x20渲染已暂停','webglContextLostDetail':'浏览器回收了\x20GPU\x20资源(通常发生在标签页长时间处于后台)。正在等待自动恢复,模型无需重新加载。','invalidFormat':'数据格式错误,期望数字数组','countMismatch':'数量不匹配:需要\x20{expected}\x20个值,但提供了\x20{actual}\x20个','applyDialogTitle':'应用关节角度','applyDialogHint':'可以粘贴或编辑角度值,格式:[0.58,\x20-0.69,\x200.85,\x20...]','applyDialogApply':'应用','applyDialogCancel':'取消','camera':'相机','virtualCamera':'虚拟相机','rosBridgeHint':'💡\x20需要本地启动\x20rosbridge:','downloadScript':'⬇\x20下载脚本','downloadScriptTitle':'下载启动脚本','serverAddress':'服务器地址','connect':'连接','disconnect':'断开','cameraStatusTitle':'相机自己的\x20rosbridge\x20连接,发布图像专线','cameraConnected':'●\x20相机已连接','cameraDisconnected':'●\x20相机未连接','publishTopic':'发布Topic','actualPublishRate':'实际发布频率','rateTargetTitle':'实际发布频率\x20·\x20目标\x20{target}\x20Hz','rateIdleTitle':'实际发布频率\x20·\x20未发布','messageType':'消息类型','encodingFormat':'编码格式','browserUnsupported':'本浏览器不支持','resolution':'分辨率','preset':'预设','fov':'视场角\x20FOV(°)','publishRateLabel':'发布频率(Hz)','mountFrame':'挂载坐标系','worldFrame':'世界坐标系','showAxes':'显示坐标系','showAxesTitle':'在场景里画出所选\x20link\x20自己的\x20X/Y/Z\x20轴(红=X\x20绿=Y\x20蓝=Z),方便挑光轴与图像上方;设了下面的位置/姿态后它会跟着一起动,零姿态时就是这根\x20link\x20的坐标系。辅助轴只在面板打开时显示,也不会进入发布的图像','position':'位置','orientation':'姿态','zeroOut':'归零','opticalAxis':'光轴','imageUp':'图像上方','startPublish':'开始发布','stopPublish':'停止','previewAlt':'虚拟相机预览','previewFrame':'画面','previewThumb':'缩略图','previewSingleFrame':'单帧','unknown':'未知','rosConnection':'ROS\x20连接','monitor':'📈\x20监控','monitorTitle':'打开实时监控面板','statusConnected':'●\x20已连接','statusDisconnected':'●\x20未连接','subscribeTopic':'订阅\x20Topic','publishRobotState':'发布机器人状态','enterServerUrl':'请输入服务器地址','rosServer':'ROS\x20服务器','timeWindowSeconds':'时间窗口\x20(秒)','resetView':'重置视图','jointSelection':'关节选择','waitingForData':'等待数据...','time':'时间','loadingPlotPanel':'正在加载监控面板...','plotPanelLoadFailed':'监控面板加载失败','checkNetworkAndReload':'请检查网络连接后刷新页面重试','unknownError':'未知错误','base':'基座','baseOrientation':'🧭\x20基座方向','baseOrientationHint':'💡\x20调整机器人基座的初始朝向,Y轴(绿色)朝向机器人前方。数值对应\x20vr_configs.yml\x20中的','eulerRoll':'横滚\x20Roll\x20(X)\x20°','eulerPitch':'俯仰\x20Pitch\x20(Y)\x20°','eulerYaw':'偏航\x20Yaw\x20(Z)\x20°','quaternionX':'四元数\x20x','quaternionY':'四元数\x20y','quaternionZ':'四元数\x20z','quaternionW':'四元数\x20w','copyQuat':'📋\x20复制四元数','resetOrientation':'🔄\x20重置','copiedToClipboard':'✅\x20已复制到剪贴板','copy':'📋\x20复制','copyAllTitle':'复制全部关节信息','copied':'✅\x20已复制','copyFailed':'❌\x20复制失败','jointNameHeader':'关节名称','childLink':'子链接','mocapExoskeletonV1':'v1.0版','mocapExoskeletonV2':'v2.0版','mocapLoadInMainTab':'动捕模型加载请在主页面操作'},'en-US':{'visual':'Visual','collision':'Collision','com':'COM','inertia':'Inertia','axes':'Axes','jointAxes':'Joint\x20Axes','shadow':'Shadow','lighting':'Lighting','files':'Files','joints':'Joints','structure':'Structure','edit':'Edit','jointInfo':'Joint\x20Info','help':'Help','theme':'Theme','language':'Language','fileList':'Files','jointControl':'Joints','modelStructure':'Structure','codeEditor':'Editor','radian':'Radian','degree':'Degree','reset':'Reset','limits':'Limits','mujocoReset':'Reset','mujocoSimulate':'Simulate','mujocoPause':'Pause','reload':'Reload','download':'Download','saved':'Saved','unsaved':'Unsaved','noFileOpen':'No\x20File\x20Open','helpTitle':'Robot\x20Viewer\x20v'+$a,'about':'About','aboutContent':'IO\x20Robot\x20Viewer\x20is\x20a\x20web-based\x20teleoperation\x20adaptation\x20tool\x20for\x20robots,\x20built\x20on\x20Three.js.\x20It\x20provides\x20an\x20intuitive\x20interface\x20for\x20viewing\x20and\x20analyzing\x20your\x20robot\x27s\x20structure,\x20joints,\x20and\x20other\x20properties\x20in\x20the\x20browser,\x20guiding\x20you\x20through\x20the\x20adaptation\x20workflow\x20with\x20ROS\x20communication\x20and\x20monitoring\x20support.<br><br>This\x20project\x20is\x20a\x20derivative\x20work\x20based\x20on\x20<a\x20href=\x22https://github.com/fan-ziqi/robot_viewer\x22\x20target=\x22_blank\x22\x20rel=\x22noopener\x22\x20style=\x22color:var(--accent-color)\x22>robot_viewer\x20by\x20Ziqi\x20Fan\x20(fan-ziqi)</a>.','projectHome':'Project\x20Home','email':'Email','myGithub':'My\x20GitHub','operations':'Operations','leftDrag':'Left\x20Drag','rotateView':'Rotate\x20View','rightDrag':'Right\x20Drag','panView':'Pan\x20View','scroll':'Scroll','zoom':'Zoom','clickModel':'Click\x20Model','controlJoint':'Control\x20Joint\x20(Draggable)','dragFile':'Drag\x20File','loadModel':'Load\x20Robot\x20Model','contact':'Contact','support':'Support','noFolder':'No\x20Folder\x20Loaded','noModel':'No\x20Model\x20Loaded','load':'Load','loadFiles':'Load\x20Files','loadFolder':'Load\x20Folder','orClickButton':'or\x20click\x20the\x20button\x20below\x20to\x20load','noControllableJoints':'No\x20Controllable\x20Joints\x20Found','clickToEditMin':'Click\x20to\x20edit\x20minimum','clickToEditMax':'Click\x20to\x20edit\x20maximum','dropHint':'Drag\x20and\x20drop\x20robot\x20model\x20files\x20or\x20folders\x20anywhere','dropHintSub':'Supports\x20URDF,\x20Xacro,\x20MJCF\x20formats<br>Supports\x20folder\x20dragging\x20to\x20load\x20mesh\x20files','graphHint':'Drag:\x20Move\x20|\x20Scroll:\x20Zoom\x20|\x20Right-click:\x20Hide/Show\x20|\x20Ctrl+Click:\x20Measure','copyright':'©\x202025\x20Ziqi\x20Fan.\x20All\x20rights\x20reserved.','type':'Type','links':'Links','joints':'Joints','controllable':'Controllable','rootLink':'Root\x20Link','linkName':'Link\x20Name','jointName':'Joint','mass':'Mass','mergedLinks':'Merged\x20Links','model':'Model','mesh':'Mesh','link':'Link','kg':'kg','rad':'rad','deg':'deg','m':'m','loading':'Loading','unsupportedFormat':'Unsupported\x20file\x20format','loadFailed':'Load\x20failed','noSupportedFiles':'No\x20supported\x20files\x20found\x20(URDF,\x20Xacro,\x20MJCF,\x20DAE,\x20STL,\x20OBJ)','loadSuccess':'Model\x20loaded\x20successfully','cannotLoadMesh':'Cannot\x20load\x20mesh\x20file','unsavedChanges':'You\x20have\x20unsaved\x20changes.\x20Are\x20you\x20sure\x20you\x20want\x20to\x20close?','newFile':'newfile.xml','noFileToReload':'No\x20file\x20to\x20reload','saveFirst':'Please\x20save\x20the\x20file\x20first\x20before\x20loading','reloadingModel':'Reloading\x20model...','modelReloaded':'Model\x20reloaded\x20(unsaved)','reloadFailed':'Reload\x20failed','downloadFailed':'Download\x20failed','fileDownloaded':'File\x20downloaded','emptyContent':'Editor\x20content\x20is\x20empty,\x20cannot\x20load','fileType':'File\x20Type','axesControlPanel':'Link\x20Axes\x20Control','jointAxesControlPanel':'Joint\x20Axes\x20Control','selectAll':'Select\x20All','deselectAll':'Deselect\x20All','showLabels':'Show\x20Labels','displaySize':'Display\x20Size','noAxesAvailable':'No\x20axes\x20available','searchPlaceholder':'Search\x20axes...','selectAllJoints':'Select\x20All','showMimicJoints':'Show\x20Mimic','applyAngles':'Set\x20Angles','setHome':'Set\x20Home','resetToHome':'Reset\x20Home','resetToHomeSuccess':'All\x20joints\x20reset\x20to\x20home\x20positions','setHomeSuccess':'Recorded\x20{count}\x20joint\x20home\x20positions','noJointsSelected':'Please\x20select\x20joints\x20first','applySuccess':'Applied\x20{count}\x20joint\x20angles','applyFailed':'Apply\x20failed','webglContextLostTitle':'3D\x20rendering\x20paused','webglContextLostDetail':'The\x20browser\x20reclaimed\x20GPU\x20resources\x20(this\x20usually\x20happens\x20after\x20a\x20tab\x20sits\x20in\x20the\x20background).\x20Waiting\x20for\x20automatic\x20recovery\x20—\x20no\x20need\x20to\x20reload\x20the\x20model.','invalidFormat':'Invalid\x20format,\x20expecting\x20array\x20of\x20numbers','countMismatch':'Count\x20mismatch:\x20expected\x20{expected}\x20values,\x20got\x20{actual}','applyDialogTitle':'Apply\x20Joint\x20Angles','applyDialogHint':'Paste\x20or\x20edit\x20angle\x20values,\x20format:\x20[0.58,\x20-0.69,\x200.85,\x20...]','applyDialogApply':'Apply','applyDialogCancel':'Cancel','mocapControl':'Mocap\x20Control','mocapHuman':'Motion\x20Capture\x20Human','exoskeleton':'Exoskeleton\x20Glove','connected':'Connected','disconnected':'Disconnected','camera':'Camera','virtualCamera':'Virtual\x20Camera','rosBridgeHint':'💡\x20rosbridge\x20must\x20be\x20running\x20locally:','downloadScript':'⬇\x20Download\x20script','downloadScriptTitle':'Download\x20startup\x20script','serverAddress':'Server\x20Address','connect':'Connect','disconnect':'Disconnect','cameraStatusTitle':'The\x20camera\x27s\x20own\x20rosbridge\x20connection\x20—\x20a\x20dedicated\x20link\x20for\x20publishing\x20images','cameraConnected':'●\x20Camera\x20connected','cameraDisconnected':'●\x20Camera\x20disconnected','publishTopic':'Publish\x20Topic','actualPublishRate':'Actual\x20publish\x20rate','rateTargetTitle':'Actual\x20publish\x20rate\x20·\x20target\x20{target}\x20Hz','rateIdleTitle':'Actual\x20publish\x20rate\x20·\x20not\x20publishing','messageType':'Message\x20Type','encodingFormat':'Encoding\x20Format','browserUnsupported':'not\x20supported\x20by\x20this\x20browser','resolution':'Resolution','preset':'Preset','fov':'Field\x20of\x20View\x20(°)','publishRateLabel':'Publish\x20Rate\x20(Hz)','mountFrame':'Mount\x20Frame','worldFrame':'World\x20Frame','showAxes':'Show\x20Frame','showAxesTitle':'Draw\x20the\x20selected\x20link\x27s\x20own\x20X/Y/Z\x20axes\x20in\x20the\x20scene\x20(red=X,\x20green=Y,\x20blue=Z)\x20to\x20help\x20pick\x20the\x20optical\x20axis\x20and\x20image\x20up\x20direction.\x20Once\x20the\x20position/orientation\x20below\x20are\x20set\x20it\x20moves\x20along\x20with\x20them;\x20at\x20zero\x20it\x20is\x20exactly\x20this\x20link\x27s\x20frame.\x20The\x20helper\x20axes\x20are\x20only\x20shown\x20while\x20this\x20panel\x20is\x20open\x20and\x20never\x20appear\x20in\x20the\x20published\x20image','position':'Position','orientation':'Orientation','zeroOut':'Reset','opticalAxis':'Optical\x20Axis','imageUp':'Image\x20Up','startPublish':'Start\x20Publishing','stopPublish':'Stop','previewAlt':'Virtual\x20camera\x20preview','previewFrame':'Frame','previewThumb':'thumbnail','previewSingleFrame':'per\x20frame','unknown':'Unknown','rosConnection':'ROS\x20Connection','monitor':'📈\x20Monitor','monitorTitle':'Open\x20the\x20live\x20monitor\x20panel','statusConnected':'●\x20Connected','statusDisconnected':'●\x20Not\x20connected','subscribeTopic':'Subscribe\x20Topics','publishRobotState':'Publish\x20Robot\x20State','enterServerUrl':'Please\x20enter\x20the\x20server\x20address','rosServer':'ROS\x20Server','timeWindowSeconds':'Time\x20Window\x20(s)','resetView':'Reset\x20View','jointSelection':'Joint\x20Selection','waitingForData':'Waiting\x20for\x20data...','time':'Time','loadingPlotPanel':'Loading\x20monitor\x20panel...','plotPanelLoadFailed':'Failed\x20to\x20load\x20the\x20monitor\x20panel','checkNetworkAndReload':'Check\x20your\x20network\x20connection\x20and\x20reload\x20the\x20page','unknownError':'Unknown\x20error','base':'Base','baseOrientation':'🧭\x20Base\x20Orientation','baseOrientationHint':'💡\x20Adjust\x20the\x20robot\x20base\x20initial\x20orientation;\x20the\x20Y\x20axis\x20(green)\x20points\x20toward\x20the\x20robot\x20front.\x20The\x20values\x20map\x20to','eulerRoll':'Roll\x20(X)\x20°','eulerPitch':'Pitch\x20(Y)\x20°','eulerYaw':'Yaw\x20(Z)\x20°','quaternionX':'Quaternion\x20x','quaternionY':'Quaternion\x20y','quaternionZ':'Quaternion\x20z','quaternionW':'Quaternion\x20w','copyQuat':'📋\x20Copy\x20Quat','resetOrientation':'🔄\x20Reset','copiedToClipboard':'✅\x20Copied\x20to\x20clipboard','copy':'📋\x20Copy','copyAllTitle':'Copy\x20all\x20joint\x20info','copied':'✅\x20Copied','copyFailed':'❌\x20Copy\x20failed','jointNameHeader':'Joint\x20Name','childLink':'Child\x20Link','mocapExoskeletonV1':'v1.0','mocapExoskeletonV2':'v2.0','mocapLoadInMainTab':'Load\x20mocap\x20models\x20from\x20the\x20main\x20page'}};const Ha=new class{constructor(){const _0x43caed=this['detectBrowserLanguage']();this['currentLang']=localStorage['getItem']('language')||_0x43caed;}['detectBrowserLanguage'](){return(navigator['language']||navigator['userLanguage'])['toLowerCase']()['startsWith']('zh')?'zh-CN':'en-US';}['t'](_0x5a484e){return(Ja[this['currentLang']]||Ja['zh-CN'])[_0x5a484e]||_0x5a484e;}['setLanguage'](_0x5f36cd){Ja[_0x5f36cd]&&(this['currentLang']=_0x5f36cd,localStorage['setItem']('language',_0x5f36cd),this['updatePageLanguage']());}['getCurrentLanguage'](){return this['currentLang'];}['updatePageLanguage'](){document['querySelectorAll']('[data-i18n]')['forEach'](_0x2f5feb=>{const _0x3f4478=_0x2f5feb['getAttribute']('data-i18n'),_0x1e4588=this['t'](_0x3f4478);'INPUT'===_0x2f5feb['tagName']||'TEXTAREA'===_0x2f5feb['tagName']?_0x2f5feb['placeholder']=_0x1e4588:_0x1e4588['includes']('<br>')||_0x1e4588['includes']('<strong>')?_0x2f5feb['innerHTML']=_0x1e4588:_0x2f5feb['textContent']=_0x1e4588;}),document['querySelectorAll']('[data-i18n-placeholder]')['forEach'](_0x174b60=>{const _0x290136=_0x174b60['getAttribute']('data-i18n-placeholder');_0x174b60['placeholder']=this['t'](_0x290136);}),document['querySelectorAll']('[data-i18n-title]')['forEach'](_0xacad49=>{const _0x11acb4=_0xacad49['getAttribute']('data-i18n-title');_0xacad49['title']=this['t'](_0x11acb4);}),document['documentElement']['lang']=this['currentLang'];}['init'](){this['updatePageLanguage']();}}();class Ga{constructor(_0x38e41e){this['app']=_0x38e41e,this['panel']=null,this['init']();}['init'](){this['panel']=document['getElementById']('mocap-control-panel'),this['panel']&&this['setupEventListeners']();}['setupEventListeners'](){this['humanLoadBtn']=document['getElementById']('mocap-human-load'),this['exoskeletonLoadBtnV1']=document['getElementById']('exoskeleton-load-v1'),this['exoskeletonLoadBtnV2']=document['getElementById']('exoskeleton-load-v2');if(new URLSearchParams(window['location']['search'])['has']('mocap')){[this['humanLoadBtn'],this['exoskeletonLoadBtnV1'],this['exoskeletonLoadBtnV2']]['forEach'](_0x2ab9fc=>{_0x2ab9fc&&(_0x2ab9fc['disabled']=!0x0,_0x2ab9fc['style']['opacity']='0.5',_0x2ab9fc['style']['cursor']='not-allowed');});const _0x49b64c=document['createElement']('div');_0x49b64c['style']['cssText']='padding:\x208px;\x20background:\x20#fff3e0;\x20border-radius:\x204px;\x20margin-top:\x208px;\x20font-size:\x2012px;\x20color:\x20#e65100;',_0x49b64c['textContent']=Ha['t']('mocapLoadInMainTab'),this['panel']['querySelector']('.panel-content')['appendChild'](_0x49b64c);}this['humanLoadBtn']&&this['humanLoadBtn']['addEventListener']('click',()=>{this['loadModel']('human');}),this['exoskeletonLoadBtnV1']&&this['exoskeletonLoadBtnV1']['addEventListener']('click',()=>{this['loadModel']('exoskeleton');}),this['exoskeletonLoadBtnV2']&&this['exoskeletonLoadBtnV2']['addEventListener']('click',()=>{this['loadModel']('exoskeleton_v2');});}async['loadModel'](_0x5b2cf3){if(!Ma[_0x5b2cf3])return;const _0x5f5b4d=''+window['location']['origin']+window['location']['pathname']+'?mocap='+_0x5b2cf3;window['open'](_0x5f5b4d,'_blank');}['setLoadingState'](_0x4a9247,_0x37d2b5){const _0x3c3065=document['getElementById']({'human':'mocap-human-load','exoskeleton':'exoskeleton-load-v1','exoskeleton_v2':'exoskeleton-load-v2'}[_0x4a9247]);if(_0x3c3065){_0x3c3065['disabled']=_0x37d2b5;const _0x7a420='exoskeleton'===_0x4a9247?Ha['t']('mocapExoskeletonV1'):'exoskeleton_v2'===_0x4a9247?Ha['t']('mocapExoskeletonV2'):Ha['t']('load');_0x3c3065['textContent']=_0x37d2b5?Ha['t']('loading'):_0x7a420;}}['show'](){this['panel']&&(this['panel']['style']['display']='block');}['hide'](){this['panel']&&(this['panel']['style']['display']='none');}['toggle'](){this['panel']&&(this['panel']['style']['display']='none'===this['panel']['style']['display']?'block':'none');}}function Wa(_0x5be7e5){return('https:'===location['protocol']||'file:'===location['protocol']||'localhost'===location['hostname']||'127.0.0.1'===location['hostname']||'http:'!==location['protocol']&&window['isSecureContext'])&&navigator['clipboard']&&navigator['clipboard']['writeText']?navigator['clipboard']['writeText'](_0x5be7e5)['then'](()=>!0x0)['catch'](_0x3470db=>Xa(_0x5be7e5)):Promise['resolve'](Xa(_0x5be7e5));}function Xa(_0x2a1b53){try{const _0x3e20ed=document['createElement']('textarea');_0x3e20ed['value']=_0x2a1b53,_0x3e20ed['style']['position']='fixed',_0x3e20ed['style']['top']='0',_0x3e20ed['style']['left']='0',_0x3e20ed['style']['width']='2em',_0x3e20ed['style']['height']='2em',_0x3e20ed['style']['padding']='0',_0x3e20ed['style']['border']='none',_0x3e20ed['style']['outline']='none',_0x3e20ed['style']['boxShadow']='none',_0x3e20ed['style']['background']='transparent',_0x3e20ed['style']['zIndex']='-1',_0x3e20ed['setAttribute']('readonly',''),document['body']['appendChild'](_0x3e20ed),_0x3e20ed['focus'](),_0x3e20ed['select']();try{_0x3e20ed['setSelectionRange'](0x0,_0x3e20ed['value']['length']);}catch(_0x56f6e2){}const _0x47ea17=document['execCommand']('copy');return document['body']['removeChild'](_0x3e20ed),_0x47ea17;}catch(_0x276afc){return!0x1;}}class Ya{constructor(_0x4e041b,_0x58a813){this['sceneManager']=_0x4e041b,this['app']=_0x58a813,this['panel']=null,this['_updatingFromEuler']=!0x1,this['_updatingFromQuat']=!0x1;}['createPanel'](){const _0x3dfa38=document['createElement']('div');return _0x3dfa38['id']='floating-orientation-panel',_0x3dfa38['className']='floating-panel',_0x3dfa38['style']['cssText']='top:\x2080px;\x20right:\x20440px;\x20width:\x20300px;\x20z-index:\x2053;\x20display:\x20none;',_0x3dfa38['innerHTML']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22floating-panel-header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20data-i18n=\x22baseOrientation\x22>🧭\x20基座方向</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22panel-close-btn\x22\x20data-panel=\x22floating-orientation-panel\x22>✕</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22floating-panel-content\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c!--\x20提示里的\x20<code>\x20必须留在\x20data-i18n\x20元素之外:updatePageLanguage\x20是整段\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20替换\x20textContent,写在里面会被一起抹掉\x20--\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-hint\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20data-i18n=\x22baseOrientationHint\x22>💡\x20调整机器人基座的初始朝向,Y轴(绿色)朝向机器人前方。数值对应\x20vr_configs.yml\x20中的</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<code>base_pose.orientation</code>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20for=\x22orient-euler-x\x22\x20data-i18n=\x22eulerRoll\x22>横滚\x20Roll\x20(X)\x20°</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22orient-euler-x\x22\x20class=\x22ros-input\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value=\x220\x22\x20step=\x220.1\x22\x20placeholder=\x220.0\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20for=\x22orient-euler-y\x22\x20data-i18n=\x22eulerPitch\x22>俯仰\x20Pitch\x20(Y)\x20°</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22orient-euler-y\x22\x20class=\x22ros-input\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value=\x220\x22\x20step=\x220.1\x22\x20placeholder=\x220.0\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20for=\x22orient-euler-z\x22\x20data-i18n=\x22eulerYaw\x22>偏航\x20Yaw\x20(Z)\x20°</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22orient-euler-z\x22\x20class=\x22ros-input\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value=\x220\x22\x20step=\x220.1\x22\x20placeholder=\x220.0\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-divider\x22></div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20for=\x22orient-quat-x\x22\x20data-i18n=\x22quaternionX\x22>四元数\x20x</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22orient-quat-x\x22\x20class=\x22ros-input\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value=\x220\x22\x20step=\x220.001\x22\x20placeholder=\x220.000\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20for=\x22orient-quat-y\x22\x20data-i18n=\x22quaternionY\x22>四元数\x20y</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22orient-quat-y\x22\x20class=\x22ros-input\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value=\x220\x22\x20step=\x220.001\x22\x20placeholder=\x220.000\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20for=\x22orient-quat-z\x22\x20data-i18n=\x22quaternionZ\x22>四元数\x20z</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22orient-quat-z\x22\x20class=\x22ros-input\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value=\x220\x22\x20step=\x220.001\x22\x20placeholder=\x220.000\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22ros-label\x22\x20for=\x22orient-quat-w\x22\x20data-i18n=\x22quaternionW\x22>四元数\x20w</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22number\x22\x20id=\x22orient-quat-w\x22\x20class=\x22ros-input\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value=\x221\x22\x20step=\x220.001\x22\x20placeholder=\x221.000\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-divider\x22></div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;gap:8px;flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22orient-copy-btn\x22\x20class=\x22ros-btn\x20ros-btn-primary\x22\x20data-i18n=\x22copyQuat\x22>📋\x20复制四元数</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22orient-reset-btn\x22\x20class=\x22ros-btn\x20ros-btn-secondary\x22\x20data-i18n=\x22resetOrientation\x22>🔄\x20重置</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-form-group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20id=\x22orient-copy-status\x22\x20style=\x22font-size:11px;color:#4caf50;display:none;\x22\x20data-i18n=\x22copiedToClipboard\x22>✅\x20已复制到剪贴板</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20',this['panel']=_0x3dfa38,this['attachEventListeners'](),_0x3dfa38;}['refreshLanguage'](){var _0x2f4926,_0x507726;null==(_0x507726=null==(_0x2f4926=window['i18n'])?void 0x0:_0x2f4926['updatePageLanguage'])||_0x507726['call'](_0x2f4926);}['attachEventListeners'](){const _0x40b5c2=this['panel'];['x','y','z']['forEach'](_0x3fec73=>{const _0x1f2b63=_0x40b5c2['querySelector']('#orient-euler-'+_0x3fec73);_0x1f2b63&&(_0x1f2b63['addEventListener']('input',()=>this['_onEulerChanged']()),_0x1f2b63['addEventListener']('change',()=>this['_onEulerChanged']()));}),['x','y','z','w']['forEach'](_0x26bdb3=>{const _0x40265d=_0x40b5c2['querySelector']('#orient-quat-'+_0x26bdb3);_0x40265d&&(_0x40265d['addEventListener']('input',()=>this['_onQuatChanged']()),_0x40265d['addEventListener']('change',()=>this['_onQuatChanged']()));}),_0x40b5c2['querySelector']('#orient-copy-btn')['addEventListener']('click',()=>{this['_copyQuatToClipboard']();}),_0x40b5c2['querySelector']('#orient-reset-btn')['addEventListener']('click',()=>{this['resetToIdentity']();});}['_onEulerChanged'](){if(this['_updatingFromQuat'])return;this['_updatingFromEuler']=!0x0;const _0x54b2c1=this['panel'],_0x17bccd=parseFloat(_0x54b2c1['querySelector']('#orient-euler-x')['value'])||0x0,_0x4e0a85=parseFloat(_0x54b2c1['querySelector']('#orient-euler-y')['value'])||0x0,_0x49d213=parseFloat(_0x54b2c1['querySelector']('#orient-euler-z')['value'])||0x0,_0x309415=new _0x416b03(_0x2be885['degToRad'](_0x17bccd),_0x2be885['degToRad'](_0x4e0a85),_0x2be885['degToRad'](_0x49d213),'ZYX'),_0x4985df=new _0x3c39ce()['setFromEuler'](_0x309415);_0x54b2c1['querySelector']('#orient-quat-x')['value']=_0x4985df['x']['toFixed'](0x4),_0x54b2c1['querySelector']('#orient-quat-y')['value']=_0x4985df['y']['toFixed'](0x4),_0x54b2c1['querySelector']('#orient-quat-z')['value']=_0x4985df['z']['toFixed'](0x4),_0x54b2c1['querySelector']('#orient-quat-w')['value']=_0x4985df['w']['toFixed'](0x4),this['sceneManager']&&this['sceneManager']['setBaseOrientation']([_0x4985df['x'],_0x4985df['y'],_0x4985df['z'],_0x4985df['w']]),this['_updatingFromEuler']=!0x1;}['_onQuatChanged'](){if(this['_updatingFromEuler'])return;this['_updatingFromQuat']=!0x0;const _0x4934be=this['panel'],_0x1e5175=parseFloat(_0x4934be['querySelector']('#orient-quat-x')['value'])||0x0,_0x1e2ac3=parseFloat(_0x4934be['querySelector']('#orient-quat-y')['value'])||0x0,_0x675abb=parseFloat(_0x4934be['querySelector']('#orient-quat-z')['value'])||0x0,_0x5dffa3=parseFloat(_0x4934be['querySelector']('#orient-quat-w')['value'])||0x1,_0x283cc=Math['sqrt'](_0x1e5175*_0x1e5175+_0x1e2ac3*_0x1e2ac3+_0x675abb*_0x675abb+_0x5dffa3*_0x5dffa3),_0x4ec905=new _0x3c39ce(_0x1e5175/_0x283cc,_0x1e2ac3/_0x283cc,_0x675abb/_0x283cc,_0x5dffa3/_0x283cc),_0x469180=new _0x416b03()['setFromQuaternion'](_0x4ec905,'ZYX');_0x4934be['querySelector']('#orient-euler-x')['value']=_0x2be885['radToDeg'](_0x469180['x'])['toFixed'](0x2),_0x4934be['querySelector']('#orient-euler-y')['value']=_0x2be885['radToDeg'](_0x469180['y'])['toFixed'](0x2),_0x4934be['querySelector']('#orient-euler-z')['value']=_0x2be885['radToDeg'](_0x469180['z'])['toFixed'](0x2),this['sceneManager']&&this['sceneManager']['setBaseOrientation']([_0x4ec905['x'],_0x4ec905['y'],_0x4ec905['z'],_0x4ec905['w']]),this['_updatingFromQuat']=!0x1;}async['_copyQuatToClipboard'](){const _0x34be8f=this['panel'],_0x4d2b04=parseFloat(_0x34be8f['querySelector']('#orient-quat-x')['value'])||0x0,_0x482ece=parseFloat(_0x34be8f['querySelector']('#orient-quat-y')['value'])||0x0,_0x41bf3f=parseFloat(_0x34be8f['querySelector']('#orient-quat-z')['value'])||0x0,_0x2479bf=parseFloat(_0x34be8f['querySelector']('#orient-quat-w')['value'])||0x1,_0x361978='['+_0x4d2b04['toFixed'](0x4)+',\x20'+_0x482ece['toFixed'](0x4)+',\x20'+_0x41bf3f['toFixed'](0x4)+',\x20'+_0x2479bf['toFixed'](0x4)+']';if(await Wa(_0x361978)){const _0x4457b4=_0x34be8f['querySelector']('#orient-copy-status');_0x4457b4&&(_0x4457b4['style']['display']='inline',setTimeout(()=>{_0x4457b4['style']['display']='none';},0x7d0));}}['resetToIdentity'](){const _0xaae8d8=this['panel'];_0xaae8d8['querySelector']('#orient-euler-x')['value']='0',_0xaae8d8['querySelector']('#orient-euler-y')['value']='0',_0xaae8d8['querySelector']('#orient-euler-z')['value']='0',_0xaae8d8['querySelector']('#orient-quat-x')['value']='0',_0xaae8d8['querySelector']('#orient-quat-y')['value']='0',_0xaae8d8['querySelector']('#orient-quat-z')['value']='0',_0xaae8d8['querySelector']('#orient-quat-w')['value']='1',this['sceneManager']&&this['sceneManager']['resetBaseOrientation']();}['syncFromScene'](){if(!this['sceneManager'])return;const _0x9fb41b=this['sceneManager']['getBaseOrientation'](),_0x2e5d48=this['panel'];if(!_0x2e5d48)return;this['_updatingFromQuat']=!0x0,_0x2e5d48['querySelector']('#orient-quat-x')['value']=_0x9fb41b[0x0]['toFixed'](0x4),_0x2e5d48['querySelector']('#orient-quat-y')['value']=_0x9fb41b[0x1]['toFixed'](0x4),_0x2e5d48['querySelector']('#orient-quat-z')['value']=_0x9fb41b[0x2]['toFixed'](0x4),_0x2e5d48['querySelector']('#orient-quat-w')['value']=_0x9fb41b[0x3]['toFixed'](0x4);const _0x3bddb4=new _0x3c39ce(_0x9fb41b[0x0],_0x9fb41b[0x1],_0x9fb41b[0x2],_0x9fb41b[0x3]),_0x766b41=new _0x416b03()['setFromQuaternion'](_0x3bddb4,'ZYX');_0x2e5d48['querySelector']('#orient-euler-x')['value']=_0x2be885['radToDeg'](_0x766b41['x'])['toFixed'](0x2),_0x2e5d48['querySelector']('#orient-euler-y')['value']=_0x2be885['radToDeg'](_0x766b41['y'])['toFixed'](0x2),_0x2e5d48['querySelector']('#orient-euler-z')['value']=_0x2be885['radToDeg'](_0x766b41['z'])['toFixed'](0x2),this['_updatingFromQuat']=!0x1;}['show'](){this['panel']&&(this['panel']['style']['display']='block',this['syncFromScene']());}['hide'](){this['panel']&&(this['panel']['style']['display']='none');}['toggle'](){this['panel']&&'block'===this['panel']['style']['display']?this['hide']():this['show']();}}function Za(_0x430735,_0x235de7=_0x430735){var _0x227103,_0x1c808c;const _0x2c0754=null==(_0x1c808c=null==(_0x227103=window['i18n'])?void 0x0:_0x227103['t'])?void 0x0:_0x1c808c['call'](_0x227103,_0x430735);return _0x2c0754&&_0x2c0754!==_0x430735?_0x2c0754:_0x235de7;}function Qa(_0x1dafed,_0x2a1bd4){var _0x5c675e,_0x416e54;const _0x791b26=document['getElementById'](_0x2a1bd4);if(!_0x791b26||!_0x1dafed||!_0x1dafed['joints'])return;const _0x1b3f00=ht(_0x1dafed);let _0x5aa140='';_0x1b3f00['forEach']((_0x128d3b,_0x153f35)=>{_0x5aa140+='joint&link_id:\x20'+String(_0x153f35)['padEnd'](0x5)+'\x20joint_type:'+(_0x398076=>{const _0x14e7b1=_0x398076['toUpperCase']();return _0x14e7b1+'\x20'['repeat'](Math['max'](0xa,_0x14e7b1['length'])-_0x14e7b1['length']);})(_0x128d3b['type'])+'\x20joint_name:\x20'+_0x128d3b['name']['padEnd'](0x1c)+'\x20link_name:\x20'+(_0x128d3b['child']||'')['padEnd'](0x1c)+'\x0a';}),_0x791b26['innerHTML']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22joint-info-topbar\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22joint-info-title\x22><span\x20data-i18n=\x22jointInfo\x22>关节信息</span>\x20('+_0x1b3f00['length']+')</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;gap:6px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22joint-info-copy-btn\x22\x20title=\x22复制全部关节信息\x22\x20data-i18n-title=\x22copyAllTitle\x22\x20data-i18n=\x22copy\x22>📋\x20复制</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22joint-info-close\x20panel-close-btn\x22\x20data-panel=\x22'+_0x2a1bd4+'\x22>✕</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22joint-info-table-wrap\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<table\x20class=\x22joint-info-table\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<thead><tr>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<th>ID</th><th\x20data-i18n=\x22type\x22>类型</th><th\x20data-i18n=\x22jointNameHeader\x22>关节名称</th><th\x20data-i18n=\x22childLink\x22>子链接</th>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</tr></thead>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<tbody>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x1b3f00['map']((_0x58c904,_0x341789)=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<tr\x20class=\x22'+('fixed'!==_0x58c904['type']?'joint-movable':'')+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<td>'+_0x341789+'</td>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<td>'+_0x58c904['type']['toUpperCase']()+'</td>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<td><code>'+_0x58c904['name']+'</code></td>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<td><code>'+(_0x58c904['child']||'—')+'</code></td>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</tr>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20')['join']('')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</tbody>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</table>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20',null==(_0x416e54=null==(_0x5c675e=window['i18n'])?void 0x0:_0x5c675e['updatePageLanguage'])||_0x416e54['call'](_0x5c675e),_0x791b26['querySelector']('.joint-info-close')['addEventListener']('click',()=>{_0x791b26['style']['transition']='opacity\x200.2s\x20ease,\x20transform\x200.2s\x20ease',_0x791b26['style']['opacity']='0',_0x791b26['style']['transform']='scale(0.95)',setTimeout(()=>{_0x791b26['style']['display']='none',_0x791b26['style']['opacity']='',_0x791b26['style']['transform']='';},0xc8);const _0x5886fd=document['getElementById']('toggle-joint-info-panel');_0x5886fd&&_0x5886fd['classList']['remove']('active');}),_0x791b26['querySelector']('.joint-info-copy-btn')['addEventListener']('click',async()=>{const _0x4171f9=_0x791b26['querySelector']('.joint-info-copy-btn');await Wa(_0x5aa140)?(_0x4171f9['textContent']=Za('copied','✅\x20已复制'),setTimeout(()=>{_0x4171f9['textContent']=Za('copy','📋\x20复制');},0x5dc)):(_0x4171f9['textContent']=Za('copyFailed','❌\x20复制失败'),setTimeout(()=>{_0x4171f9['textContent']=Za('copy','📋\x20复制');},0x5dc));});}window['d3']=_0x455253,window['i18n']=Ha;class Ka{constructor(){this['sceneManager']=null,this['uiController']=null,this['fileHandler']=null,this['jointControlsUI']=null,this['panelManager']=null,this['modelGraphView']=null,this['fileTreeView']=null,this['codeEditorManager']=null,this['measurementController']=null,this['usdViewerManager']=null,this['mujocoSimulationManager']=null,this['rosController']=null,this['_lastSafetyRenderAt']=0x0,this['virtualCameraManager']=null,this['virtualCameraPublisher']=null,this['virtualCameraPanel']=null,this['rosConnectionPanel']=null,this['axesControlPanel']=null,this['jointAxesControlPanel']=null,this['orientationControlPanel']=null,this['currentModel']=null,this['currentMJCFFile']=null,this['currentMJCFModel']=null,this['angleUnit']='rad',this['vscodeFileMap']=new Map();}async['loadModelFromVSCode'](_0x5d736d){try{const _0x3f8210=new Blob([_0x5d736d['content']],{'type':'text/plain'}),_0x44717c=new File([_0x3f8210],_0x5d736d['name'],{'type':'text/plain'});_0x44717c['vscodeDirectory']=_0x5d736d['directory'],_0x44717c['vscodePath']=_0x5d736d['path'],this['fileHandler']['fileMap']['set'](_0x5d736d['name'],_0x44717c),this['fileHandler']['fileMap']['set'](_0x5d736d['path'],_0x44717c),this['vscodeFileMap']['set'](_0x5d736d['name'],_0x5d736d),await this['fileHandler']['loadFile'](_0x44717c);const _0x4cf942=[{'file':_0x44717c,'name':_0x5d736d['name'],'type':this['detectFileType'](_0x5d736d['name']),'path':_0x5d736d['path'],'category':'model','ext':_0x5d736d['name']['split']('.')['pop']()['toLowerCase']()}];this['fileHandler']['availableModels']=_0x4cf942,this['fileTreeView']&&this['fileTreeView']['updateFileTree'](_0x4cf942,this['fileHandler']['fileMap']),vscodeAdapter['log']('Model\x20loaded\x20successfully:\x20'+_0x5d736d['name']);}catch(_0x590e29){vscodeAdapter['showError']('Failed\x20to\x20load\x20model:\x20'+_0x590e29['message']);}}['detectFileType'](_0x4614bb){const _0x3d05bc=_0x4614bb['split']('.')['pop']()['toLowerCase']();return['urdf','xacro']['includes'](_0x3d05bc)?'urdf':['mjcf','xml']['includes'](_0x3d05bc)?'mjcf':['usd','usda','usdc','usdz']['includes'](_0x3d05bc)?'usd':['obj','stl','dae','gltf','glb']['includes'](_0x3d05bc)?'mesh':'unknown';}async['init'](){try{Ha['init']();const _0xa0967d=document['getElementById']('canvas');if(!_0xa0967d)return;this['sceneManager']=new Pi(_0xa0967d),window['sceneManager']=this['sceneManager'],this['rosController']=new xa(this['sceneManager']),this['mocapControlPanel']=new Ga(this),this['createUSDViewerContainer'](),this['fileHandler']=new Ri(),this['fileHandler']['setupFileDrop'](),this['fileHandler']['setUSDViewerInitializer'](async()=>await this['getUSDViewerManager']()),this['fileHandler']['onFilesLoaded']=_0x5a84de=>{this['fileTreeView']&&this['fileTreeView']['updateFileTree'](_0x5a84de,this['fileHandler']['getFileMap']());},this['fileHandler']['onModelLoaded']=(_0x461fb4,_0x47b55b,_0x4efb90=!0x1,_0x404276=null)=>{this['handleModelLoaded'](_0x461fb4,_0x47b55b,_0x4efb90,_0x404276);},this['jointControlsUI']=new Ni(this['sceneManager']),this['jointControlsUI']['onJointChange']=_0x21df5d=>{this['rosConnectionPanel']&&this['rosConnectionPanel']['bidirectionalEnabled']&&this['rosConnectionPanel']['onJointChanged'](_0x21df5d);},this['modelGraphView']=new Vi(this['sceneManager']),this['fileTreeView']=new qi(),this['fileTreeView']['onFileClick']=_0x2fd37f=>{this['handleFileClick'](_0x2fd37f);},this['fileTreeView']['updateFileTree']([],new Map()),this['panelManager']=new Ui(),this['panelManager']['initAllPanels'](),this['rosConnectionPanel']=new Sa(this['rosController'],this);const _0x34c22d=this['rosConnectionPanel']['createPanel']();document['body']['appendChild'](_0x34c22d),this['rosConnectionPanel']['refreshLanguage'](),this['panelManager']['registerPanel']('floating-ros-panel'),this['virtualCameraManager']=new Ia(this['sceneManager']),this['virtualCameraPublisher']=new Ra(this['rosController'],this['virtualCameraManager']),this['virtualCameraPanel']=new Ua(this,this['virtualCameraManager'],this['virtualCameraPublisher']);const _0x393309=this['virtualCameraPanel']['createPanel']();document['body']['appendChild'](_0x393309),this['virtualCameraPanel']['refreshLanguage'](),this['panelManager']['registerPanel']('virtual-camera-panel'),this['rosController']['addConnectionListener'](_0x5324ff=>{}),this['axesControlPanel']=new qa(this['sceneManager'],this);const _0x4d6d4b=this['axesControlPanel']['createPanel']();document['body']['appendChild'](_0x4d6d4b),this['panelManager']['registerPanel']('axes-control-panel'),this['axesControlPanel']['setOnRpyApply']((_0x2a7387,_0x5dafad)=>{const _0x521726=this['sceneManager']['axesManager']['applyJointOriginRpy'](this['currentModel'],_0x2a7387,_0x5dafad);_0x521726&&this['codeEditorManager']&&this['codeEditorManager']['updateUrdfOriginRpy'](_0x521726['jointName'],_0x521726['rpy']);}),this['jointAxesControlPanel']=new Ba(this['sceneManager'],this);const _0x56c5a5=this['jointAxesControlPanel']['createPanel']();document['body']['appendChild'](_0x56c5a5),this['panelManager']['registerPanel']('joint-axes-control-panel'),this['orientationControlPanel']=new Ya(this['sceneManager'],this);const _0x1ea959=this['orientationControlPanel']['createPanel']();document['body']['appendChild'](_0x1ea959),this['orientationControlPanel']['refreshLanguage'](),this['panelManager']['registerPanel']('floating-orientation-panel'),this['modelGraphView']&&this['panelManager']['setModelGraphView'](this['modelGraphView']),this['uiController']=new Ii(this['sceneManager']),this['uiController']['setupAll']({'onThemeChanged':_0x25c499=>this['handleThemeChanged'](_0x25c499),'onAngleUnitChanged':_0x153d51=>this['handleAngleUnitChanged'](_0x153d51),'onIgnoreLimitsChanged':_0x121bbe=>this['handleIgnoreLimitsChanged'](_0x121bbe),'onLanguageChanged':_0x54a61d=>this['handleLanguageChanged'](_0x54a61d),'onResetJoints':()=>this['handleResetJoints'](),'onMujocoReset':()=>this['handleMujocoReset'](),'onMujocoToggleSimulate':()=>this['handleMujocoToggleSimulate'](),'onApplyAngles':()=>this['handleApplyAngles'](),'onSetHome':()=>this['handleSetHome'](),'onSelectAll':()=>this['handleSelectAll'](),'onResetToHome':()=>this['handleResetToHome'](),'onToggleShowMimic':_0x15aa47=>this['jointControlsUI']['setShowMimicJoints'](_0x15aa47)}),this['sceneManager']['onMeasurementUpdate']=()=>{this['measurementController']&&this['measurementController']['updateMeasurement']();},this['setupCanvasClickHandler'](_0xa0967d),this['codeEditorManager']=new $i(),this['codeEditorManager']['init'](this['fileHandler']['getFileMap']()),this['jointControlsUI']&&this['jointControlsUI']['setCodeEditorManager'](this['codeEditorManager']),this['modelGraphView']&&this['modelGraphView']['setCodeEditorManager'](this['codeEditorManager']),this['codeEditorManager']['onReload']=async(_0x562b9d,_0x316089=!0x1)=>{_0x316089&&(this['_isReloading']=!0x0),this['fileHandler']['currentModelFile']=_0x562b9d,await this['fileHandler']['loadFile'](_0x562b9d),this['_isReloading']=!0x1;},this['codeEditorManager']['onSaveAs']=_0xebdf5f=>{const _0x20fd4a={'file':_0xebdf5f,'name':_0xebdf5f['name'],'type':this['detectFileType'](_0xebdf5f['name']),'path':_0xebdf5f['name'],'category':'model','ext':_0xebdf5f['name']['split']('.')['pop']()['toLowerCase']()},_0x433829=this['fileHandler']['getAvailableModels']();_0x433829['find'](_0x17dbcf=>_0x17dbcf['name']===_0xebdf5f['name'])||_0x433829['push'](_0x20fd4a),this['fileTreeView']&&(this['fileTreeView']['updateFileTree'](_0x433829,this['fileHandler']['getFileMap'](),!0x0),setTimeout(()=>{this['fileTreeView']['markActiveFile'](_0xebdf5f);},0x64));},this['measurementController']=new Ji(this['sceneManager']),this['modelGraphView']&&this['modelGraphView']['setMeasurementController'](this['measurementController']),this['mujocoSimulationManager']=new Wi(this['sceneManager']),this['setupModelTreePanel'](),this['updateEditorButtonVisibility'](),this['animate']();const _0x3f7c34=new URLSearchParams(window['location']['search'])['get']('mocap');if(_0x3f7c34&&(await this['loadMocapAsMainModel'](_0x3f7c34),this['rosConnectionPanel'])){this['rosConnectionPanel']['show']();const _0x51a40b=localStorage['getItem']('ros_url')||'ws://localhost:9090';this['rosConnectionPanel']['autoConnect'](_0x51a40b);}}catch(_0x3a37d7){}}['updateEditorButtonVisibility'](){const _0x204676=document['getElementById']('open-editor-btn');_0x204676&&_0x204676['classList']['add']('visible');}async['handleModelLoaded'](_0x5d3aa4,_0x402ade,_0x4e6708=!0x1,_0x14a851=null){var _0xbef4ab,_0x1f30d6,_0x34a628,_0x375f53;const _0x116506=this['_isReloading'],_0x243c89=[],_0x1d8ed9=[];if(_0x116506&&this['sceneManager']&&this['sceneManager']['axesManager']){const _0xb16945=this['sceneManager']['axesManager'];_0xb16945['getLinksWithAxes']()['forEach'](_0x4492ec=>{_0xb16945['isLinkAxisVisible'](_0x4492ec)&&_0x243c89['push'](_0x4492ec);}),_0xb16945['getJointNames']()['forEach'](_0x25cbfe=>{_0xb16945['isJointAxisVisible'](_0x25cbfe)&&_0x1d8ed9['push'](_0x25cbfe);});}const _0x59d7d7='xml'===_0x402ade['name']['split']('.')['pop']()['toLowerCase']()&&'mjcf'===(null==(_0xbef4ab=null==_0x5d3aa4?void 0x0:_0x5d3aa4['userData'])?void 0x0:_0xbef4ab['type']);if(this['mujocoSimulationManager']&&this['mujocoSimulationManager']['hasScene']()&&this['mujocoSimulationManager']['clearScene'](),_0x59d7d7&&_0x5d3aa4['joints']&&_0x5d3aa4['joints']['size']>0x0){this['currentMJCFFile']=_0x402ade,this['currentMJCFModel']=_0x5d3aa4;const _0x30d088=document['getElementById']('mujoco-simulation-bar'),_0x16d981=document['getElementById']('mujoco-reset-btn-bar'),_0xbadfc9=document['getElementById']('mujoco-simulate-btn-bar');if(_0x30d088&&(_0x30d088['style']['display']='flex'),_0x16d981){_0x16d981['disabled']=!0x1,_0x16d981['style']['opacity']='1',_0x16d981['style']['cursor']='pointer';const _0x85d818=_0x16d981['querySelector']('span');_0x85d818&&(_0x85d818['textContent']=(null==(_0x1f30d6=window['i18n'])?void 0x0:_0x1f30d6['t']('mujocoReset'))||'Reset');}if(_0xbadfc9){_0xbadfc9['disabled']=!0x1,_0xbadfc9['style']['opacity']='1',_0xbadfc9['style']['cursor']='pointer',_0xbadfc9['classList']['remove']('active');const _0x480bcb=_0xbadfc9['querySelector']('span');_0x480bcb&&(_0x480bcb['textContent']=(null==(_0x34a628=window['i18n'])?void 0x0:_0x34a628['t']('mujocoSimulate'))||'Simulate');}}else{const _0x588022=document['getElementById']('mujoco-simulation-bar');_0x588022&&(_0x588022['style']['display']='none'),this['currentMJCFFile']=null,this['currentMJCFModel']=null;}if(null==(_0x375f53=null==_0x5d3aa4?void 0x0:_0x5d3aa4['userData'])?void 0x0:_0x375f53['isUSDWASM']){const _0x5c1b66=document['getElementById']('canvas'),_0x430ab0=document['getElementById']('usd-viewer-container');_0x5c1b66&&_0x430ab0&&(_0x5c1b66['style']['display']='none',_0x430ab0['style']['display']='block');const _0x2b4631=document['getElementById']('joint-controls-panel'),_0x5cdf22=document['getElementById']('graph-panel');_0x2b4631&&(_0x2b4631['style']['display']='none'),_0x5cdf22&&(_0x5cdf22['style']['display']='none'),this['currentModel']=_0x5d3aa4,this['rosController']['setModel'](_0x5d3aa4),this['updateModelInfo'](_0x5d3aa4,_0x402ade);const _0x52173d=document['getElementById']('canvas-snapshot');return void((null==_0x52173d?void 0x0:_0x52173d['parentNode'])&&_0x52173d['parentNode']['removeChild'](_0x52173d));}let _0x42e8b0=document['getElementById']('canvas');const _0x434aac=document['getElementById']('usd-viewer-container');_0x42e8b0&&_0x434aac&&(_0x42e8b0['style']['display']='block',_0x434aac['style']['display']='none'),this['usdViewerManager']&&(this['usdViewerManager']['clear'](),this['usdViewerManager']['hide']());const _0x1da0c3=document['getElementById']('joint-controls-panel'),_0x5e939a=document['getElementById']('graph-panel');_0x1da0c3&&(_0x1da0c3['style']['display']=''),_0x5e939a&&(_0x5e939a['style']['display']=''),this['currentModel']&&(this['sceneManager']['removeModel'](this['currentModel']),this['currentModel']=null),this['currentModel']=_0x5d3aa4,this['rosController']['setModel'](_0x5d3aa4),this['sceneManager']['redraw'](),this['sceneManager']['render'](),_0x42e8b0=document['getElementById']('canvas');let _0x2f6064=null;if(_0x42e8b0)try{const _0x3ee1a8=_0x42e8b0['toDataURL']('image/png');_0x2f6064=document['createElement']('div'),_0x2f6064['id']='canvas-snapshot',_0x2f6064['style']['cssText']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20position:\x20absolute;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20top:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20left:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width:\x20100%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height:\x20100%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background-image:\x20url('+_0x3ee1a8+');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background-size:\x20cover;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background-position:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background-color:\x20var(--bg-primary);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background-repeat:\x20no-repeat;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20z-index:\x202;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pointer-events:\x20none;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20';const _0x1ac650=document['getElementById']('canvas-container');_0x1ac650?_0x1ac650['appendChild'](_0x2f6064):document['body']['appendChild'](_0x2f6064);}catch(_0x286194){}let _0x24097f=!0x1;const _0x824e37=()=>{_0x2f6064&&_0x2f6064['parentNode']&&!_0x24097f&&(_0x24097f=!0x0,_0x2f6064['style']['transition']='opacity\x200.3s\x20ease',_0x2f6064['style']['opacity']='0',setTimeout(()=>{_0x2f6064&&_0x2f6064['parentNode']&&(_0x2f6064['parentNode']['removeChild'](_0x2f6064),_0x2f6064=null);},0x12c));},_0x5c774d=setTimeout(()=>{_0x2f6064&&_0x2f6064['parentNode']&&(_0x824e37(),this['sceneManager']['off']('modelReady',_0x1858da));},0x1388),_0x1858da=()=>{clearTimeout(_0x5c774d),_0x824e37(),this['sceneManager']['off']('modelReady',_0x1858da),_0x116506&&(_0x243c89['forEach'](_0xfc0c10=>{this['sceneManager']['axesManager']['showAxesByName'](_0xfc0c10,!0x0);}),_0x1d8ed9['forEach'](_0x5d78cc=>{this['sceneManager']['axesManager']['showJointAxisByName'](_0x5d78cc,!0x0);}),this['axesControlPanel']&&this['axesControlPanel']['updateAxesList'](),this['jointAxesControlPanel']&&this['jointAxesControlPanel']['updateAxesList']()),this['orientationControlPanel']&&this['orientationControlPanel']['syncFromScene']();};this['sceneManager']['on']('modelReady',_0x1858da),this['sceneManager']['addModel'](_0x5d3aa4);const _0xe9f690=document['getElementById']('drop-zone');if(_0xe9f690&&(_0xe9f690['classList']['remove']('show'),_0xe9f690['classList']['remove']('drag-over')),_0x4e6708){if(this['sceneManager']['setGroundVisible'](!0x1),this['modelGraphView']){_0x472736('#model-graph-svg')['selectAll']('*:not(defs)')['remove']();const _0x2eb7e0=document['getElementById']('graph-empty-state');_0x2eb7e0&&_0x2eb7e0['classList']['remove']('hidden');}const _0x58cdbb=document['getElementById']('model-graph-panel');_0x58cdbb&&(_0x58cdbb['style']['display']='none');const _0x150f84=document['getElementById']('joint-controls');if(_0x150f84){_0x150f84['innerHTML']='';const _0xeea224=document['createElement']('div');_0xeea224['className']='empty-state',_0xeea224['textContent']=window['i18n']['t']('noModel'),_0x150f84['appendChild'](_0xeea224);}const _0x10ba45=document['getElementById']('joints-panel');_0x10ba45&&(_0x10ba45['style']['display']='none'),this['setAxesButtonState'](!0x0),this['codeEditorManager']&&this['codeEditorManager']['clearEditor']();}else{this['sceneManager']['setGroundVisible'](!0x0),this['jointControlsUI']['setupJointControls'](_0x5d3aa4),this['rosConnectionPanel']&&this['rosConnectionPanel']['onModelLoaded'](_0x5d3aa4),this['virtualCameraPanel']&&this['virtualCameraPanel']['refreshMountTargets'](),this['modelGraphView']&&this['modelGraphView']['drawModelGraph'](_0x5d3aa4);const _0x51b8ff=document['getElementById']('model-graph-panel');_0x51b8ff&&(_0x51b8ff['style']['display']='block');const _0x5e6823=document['getElementById']('joints-panel');_0x5e6823&&(_0x5e6823['style']['display']='block'),this['setAxesButtonState'](!0x1);}if(this['fileTreeView']&&!this['_isReloading']&&(this['fileTreeView']['updateFileTree'](this['fileHandler']['getAvailableModels'](),this['fileHandler']['getFileMap'](),!0x0),this['fileTreeView']['expandAndScrollToFile'](_0x402ade,this['fileHandler']['getFileMap']())),!this['_isReloading']&&!_0x4e6708){const _0x238c21=document['getElementById']('code-editor-panel');if(_0x238c21&&this['codeEditorManager']){_0x238c21['classList']['add']('visible');const _0x6dc5af=document['getElementById']('open-editor-btn');_0x6dc5af&&_0x6dc5af['classList']['add']('active'),this['codeEditorManager']['loadFile'](_0x402ade);}}this['updateEditorButtonVisibility'](),this['updateModelInfo'](_0x5d3aa4,_0x402ade),_0x116506||_0x4e6708||(this['sceneManager']['axesManager']['deselectAxis'](),this['sceneManager']['axesManager']['setAllLinkAxesVisible'](!0x1),this['sceneManager']['axesManager']['setAllJointAxesVisible'](!0x1),this['axesControlPanel']&&(this['axesControlPanel']['hideRpySection'](),this['axesControlPanel']['updateAxesList']()),this['jointAxesControlPanel']&&this['jointAxesControlPanel']['updateAxesList']()),_0x4e6708||Qa(_0x5d3aa4,'joint-info-panel');}['setupCanvasClickHandler'](_0xaec99f){let _0x288bce=null,_0xf8204c=0x0;_0xaec99f['addEventListener']('mousedown',_0xa28728=>{0x0===_0xa28728['button']&&(_0x288bce={'x':_0xa28728['clientX'],'y':_0xa28728['clientY']},_0xf8204c=Date['now']());},!0x0),_0xaec99f['addEventListener']('mouseup',_0xf07eb0=>{if(0x0!==_0xf07eb0['button']||!this['sceneManager']||!_0x288bce)return;const _0x1ab6ba=_0xf07eb0['clientX']-_0x288bce['x'],_0x3cea17=_0xf07eb0['clientY']-_0x288bce['y'],_0x23ea46=Math['sqrt'](_0x1ab6ba*_0x1ab6ba+_0x3cea17*_0x3cea17),_0x51b50f=Date['now']()-_0xf8204c;if(_0x23ea46<0x5&&_0x51b50f<0x12c){const _0xbb83a1=new _0x173557(),_0x2bd197=new _0x228015(),_0x3f30fb=_0xaec99f['getBoundingClientRect']();_0x2bd197['x']=(_0xf07eb0['clientX']-_0x3f30fb['left'])/_0x3f30fb['width']*0x2-0x1,_0x2bd197['y']=-(_0xf07eb0['clientY']-_0x3f30fb['top'])/_0x3f30fb['height']*0x2+0x1,_0xbb83a1['setFromCamera'](_0x2bd197,this['sceneManager']['camera']);const _0x324f64=_0xbb83a1['intersectObjects'](this['sceneManager']['scene']['children'],!0x0),_0x4f72b9=_0x324f64['find'](_0x57c2fb=>{if(!_0x57c2fb['object']['userData']||!_0x57c2fb['object']['userData']['isAxis']||!_0x57c2fb['object']['userData']['linkName'])return!0x1;const _0x5c7496=_0x57c2fb['object']['userData']['linkName'],_0xc829d=this['sceneManager']['axesManager']['linkAxesHelpers']['get'](_0x5c7496);return _0xc829d&&_0xc829d['visible'];});if(_0x4f72b9){const _0x4e7f7e=_0x4f72b9['object']['userData']['linkName'];return this['sceneManager']['axesManager']['selectAxis'](_0x4e7f7e),this['axesControlPanel']&&this['axesControlPanel']['showRpySection'](this['currentModel'],_0x4e7f7e),void(_0x288bce=null);}if(0x0===_0x324f64['filter'](_0x500cea=>{const _0xe705de=_0x500cea['object'];let _0x5de34c=_0xe705de;for(;_0x5de34c;){const _0x32cbd4=_0x5de34c['name']||'';if(_0x32cbd4['includes']('jointAxis')||_0x32cbd4['includes']('helper')||_0x32cbd4['includes']('grid')||_0x32cbd4['includes']('Ground')||'groundPlane'===_0x32cbd4)return!0x1;_0x5de34c=_0x5de34c['parent'];}return _0xe705de['isMesh']&&_0xe705de['visible'];})['length']){if(this['sceneManager']['highlightManager']['clearHighlight'](),this['sceneManager']['axesManager']['deselectAxis'](),this['axesControlPanel']&&this['axesControlPanel']['hideRpySection'](),this['modelGraphView']){const _0x36c4c5=_0x472736('#model-graph-svg');this['modelGraphView']['clearAllSelections'](_0x36c4c5);}this['measurementController']&&this['measurementController']['clearMeasurement']();}}_0x288bce=null;},!0x0);}['setupModelTreePanel'](){const _0x53d8b0=document['getElementById']('toggle-model-tree'),_0x52c463=document['getElementById']('floating-model-tree');_0x53d8b0&&_0x52c463&&(_0x52c463['style']['display']='flex',_0x53d8b0['classList']['add']('active')),_0x52c463&&_0x52c463['addEventListener']('click',_0x59e1eb=>{var _0x16af7e,_0x9803ed;const _0x504bbc=_0x59e1eb['target'];if(_0x504bbc===_0x52c463||(null==(_0x16af7e=_0x504bbc['classList'])?void 0x0:_0x16af7e['contains']('graph-controls-hint'))||(null==(_0x9803ed=_0x504bbc['classList'])?void 0x0:_0x9803ed['contains']('empty-state'))||'floating-model-tree'===_0x504bbc['id']){if(this['modelGraphView']){const _0x4c3057=_0x472736('#model-graph-svg');this['modelGraphView']['clearAllSelections'](_0x4c3057);}this['measurementController']&&this['measurementController']['clearMeasurement'](),this['sceneManager']&&this['sceneManager']['highlightManager']['clearHighlight']();}});}['updateModelInfo'](_0x4a4e14,_0xcb83c0){const _0x152bab=document['getElementById']('status-info');if(!_0x152bab||!_0x4a4e14)return;let _0xe35d02='<strong>'+_0xcb83c0['name']+'</strong><br>';if(_0xe35d02+='Type:\x20'+_0xcb83c0['name']['split']('.')['pop']()['toLowerCase']()['toUpperCase']()+'<br>',_0x4a4e14['links']&&(_0xe35d02+='Links:\x20'+_0x4a4e14['links']['size']+'<br>'),_0x4a4e14['joints']){const _0x5ae465=Array['from'](_0x4a4e14['joints']['values']())['filter'](_0x18c21e=>'fixed'!==_0x18c21e['type'])['length'];_0xe35d02+='Joints:\x20'+_0x4a4e14['joints']['size']+'\x20('+_0x5ae465+'\x20controllable)<br>';}if(_0x4a4e14['constraints']&&_0x4a4e14['constraints']['size']>0x0){_0xe35d02+='<span\x20style=\x22color:\x20#00aaff;\x20font-weight:\x20bold;\x22>Constraints:\x20'+_0x4a4e14['constraints']['size']+'\x20🔗</span><br>';const _0x1ed309={};_0x4a4e14['constraints']['forEach'](_0x33c57=>{_0x1ed309[_0x33c57['type']]=(_0x1ed309[_0x33c57['type']]||0x0)+0x1;});const _0x41d558={'connect':'Connect','weld':'Weld','joint':'Joint\x20Coupling','distance':'Distance'};_0xe35d02+='<span\x20style=\x22font-size:\x2011px;\x20color:\x20#888;\x22>'+Object['entries'](_0x1ed309)['map'](([_0x1d0bbd,_0x15085f])=>(_0x41d558[_0x1d0bbd]||_0x1d0bbd)+':\x20'+_0x15085f)['join'](',\x20')+'</span><br>';}_0x4a4e14['rootLink']&&(_0xe35d02+='Root\x20Link:\x20'+_0x4a4e14['rootLink']),_0x152bab['innerHTML']=_0xe35d02,_0x152bab['className']='success';}['handleFileClick'](_0x7b4757){const _0x11378e=_0x7b4757['ext'];if(['urdf','xacro','xml','usd','usda','usdc','usdz']['includes'](_0x11378e)){this['fileHandler']['loadFile'](_0x7b4757['file']);const _0x367147=document['getElementById']('code-editor-panel');_0x367147&&_0x367147['classList']['contains']('visible')&&this['codeEditorManager']&&this['codeEditorManager']['loadFile'](_0x7b4757['file']);}else['dae','stl','obj','collada']['includes'](_0x11378e)&&this['fileHandler']['loadMeshAsModel'](_0x7b4757['file'],_0x7b4757['name']);}['createUSDViewerContainer'](){const _0x17f7db=document['getElementById']('canvas-container');if(!_0x17f7db)return;const _0x2bdaaf=document['createElement']('div');_0x2bdaaf['id']='usd-viewer-container',_0x2bdaaf['style']['cssText']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20position:\x20absolute;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20top:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20left:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width:\x20100%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height:\x20100%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display:\x20none;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20z-index:\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pointer-events:\x20none;\x0a\x20\x20\x20\x20\x20\x20\x20\x20',_0x17f7db['appendChild'](_0x2bdaaf);}async['getUSDViewerManager'](){if(!this['usdViewerManager']){const _0x2afaa4=document['getElementById']('usd-viewer-container');if(!_0x2afaa4)throw new Error('USD\x20viewer\x20container\x20not\x20found');this['usdViewerManager']=new Hi(_0x2afaa4),this['fileHandler']['setUSDViewerManager'](this['usdViewerManager']),this['usdViewerManager']['on']('USD_LOADING_START',_0x2dc955=>{var _0x10cb1a;const _0x4d465a=(null==(_0x10cb1a=_0x2dc955['data'])?void 0x0:_0x10cb1a['message'])||'Loading\x20USD...',_0x385161=document['getElementById']('status-info');_0x385161&&(_0x385161['textContent']=_0x4d465a,_0x385161['className']='info');}),this['usdViewerManager']['on']('USD_LOADED',()=>{const _0xe28012=document['getElementById']('status-info');_0xe28012&&(_0xe28012['textContent']='USD\x20file\x20loaded\x20successfully',_0xe28012['className']='success');}),this['usdViewerManager']['on']('USD_ERROR',_0x5ccebe=>{var _0x12717e;const _0x405d17=(null==(_0x12717e=_0x5ccebe['data'])?void 0x0:_0x12717e['error'])||'Load\x20failed',_0x586d8a=document['getElementById']('status-info');_0x586d8a&&(_0x586d8a['textContent']='Load\x20failed:\x20'+_0x405d17,_0x586d8a['className']='error');});}return this['usdViewerManager'];}['handleThemeChanged'](_0x36924c){this['codeEditorManager']&&this['codeEditorManager']['updateTheme'](_0x36924c),this['currentModel']&&this['modelGraphView']&&this['modelGraphView']['drawModelGraph'](this['currentModel']);}['handleAngleUnitChanged'](_0x1f15fb){this['angleUnit']=_0x1f15fb,this['jointControlsUI']&&this['jointControlsUI']['setAngleUnit'](_0x1f15fb);}['handleResetJoints'](){this['currentModel']&&this['jointControlsUI']&&this['jointControlsUI']['resetAllJoints'](this['currentModel']);}['handleIgnoreLimitsChanged'](_0x130a8a){this['jointControlsUI']&&this['currentModel']&&this['jointControlsUI']['updateAllSliderLimits'](this['currentModel'],_0x130a8a);}['handleApplyAngles'](){this['jointControlsUI']&&this['jointControlsUI']['handleApplyAngles']();}['handleSetHome'](){var _0x36fa24,_0x2dbff7;if(!this['currentModel']||!this['currentModel']['joints'])return;const _0x159781={};this['currentModel']['joints']['forEach']((_0x481a92,_0x538bc3)=>{'fixed'!==_0x481a92['type']&&(_0x159781[_0x538bc3]=_0x481a92['currentValue']);}),this['currentModel']['userData']||(this['currentModel']['userData']={}),this['currentModel']['userData']['homePositions']=_0x159781,this['jointControlsUI']&&this['jointControlsUI']['updateButtonStates']();const _0x3e574e=Object['keys'](_0x159781)['length'],_0x3fb695=(null==(_0x2dbff7=null==(_0x36fa24=window['i18n'])?void 0x0:_0x36fa24['t']('setHomeSuccess'))?void 0x0:_0x2dbff7['replace']('{count}',_0x3e574e))||'已记录\x20'+_0x3e574e+'\x20个关节的零位';this['jointControlsUI']['showToast'](_0x3fb695,'success');}['handleSelectAll'](){this['jointControlsUI']&&this['jointControlsUI']['handleSelectAll']();}['handleResetToHome'](){this['jointControlsUI']&&this['jointControlsUI']['handleResetToHome']();}['handleLanguageChanged'](_0x1727a8){var _0x45b321,_0x492073,_0x272ad4,_0x4e4979,_0x3495e7,_0x16df1f;Ha['setLanguage'](_0x1727a8),this['codeEditorManager']&&this['codeEditorManager']['updateEditorSaveStatus'](),this['currentModel']&&this['jointControlsUI']&&this['jointControlsUI']['setupJointControls'](this['currentModel']),this['currentModel']&&this['modelGraphView']&&this['modelGraphView']['drawModelGraph'](this['currentModel']),this['fileTreeView']&&this['fileHandler']&&this['fileTreeView']['updateFileTree'](this['fileHandler']['getAvailableModels'](),this['fileHandler']['getFileMap'](),!0x0);const _0x70c815=document['getElementById']('mujoco-simulate-btn-bar');if(_0x70c815){const _0x306b98=_0x70c815['querySelector']('span');if(_0x306b98){const _0x220daf=_0x70c815['classList']['contains']('active')?'mujocoPause':'mujocoSimulate';_0x306b98['textContent']=Ha['t'](_0x220daf),_0x306b98['setAttribute']('data-i18n',_0x220daf);}}null==(_0x492073=null==(_0x45b321=this['virtualCameraPanel'])?void 0x0:_0x45b321['refreshLanguage'])||_0x492073['call'](_0x45b321),null==(_0x4e4979=null==(_0x272ad4=this['rosConnectionPanel'])?void 0x0:_0x272ad4['refreshLanguage'])||_0x4e4979['call'](_0x272ad4),null==(_0x16df1f=null==(_0x3495e7=this['orientationControlPanel'])?void 0x0:_0x3495e7['refreshLanguage'])||_0x16df1f['call'](_0x3495e7);}['setAxesButtonState'](_0x2f4cad){const _0x41d1e9=document['getElementById']('toggle-axes-btn'),_0x869cff=document['getElementById']('toggle-joint-axes-btn');_0x41d1e9&&_0x869cff&&(_0x41d1e9['setAttribute']('data-checked',_0x2f4cad['toString']()),_0x869cff['setAttribute']('data-checked','false'),_0x2f4cad?(_0x41d1e9['classList']['add']('active'),_0x869cff['classList']['remove']('active'),this['sceneManager']&&(this['sceneManager']['axesManager']['showAllAxes'](),this['sceneManager']['axesManager']['hideAllJointAxes']())):(_0x41d1e9['classList']['remove']('active'),_0x869cff['classList']['remove']('active'),this['sceneManager']&&(this['sceneManager']['axesManager']['hideAllAxes'](),this['sceneManager']['axesManager']['hideAllJointAxes']())),this['mujocoSimulationManager']&&this['mujocoSimulationManager']['hasScene']()&&(this['mujocoSimulationManager']['toggleAxesDisplay'](_0x2f4cad),this['mujocoSimulationManager']['toggleJointAxesDisplay'](!0x1)));}['detectFileType'](_0x16c3bd){return{'urdf':'urdf','xml':'mjcf','usd':'usd','usda':'usd','usdc':'usd','usdz':'usd'}[_0x16c3bd['toLowerCase']()['split']('.')['pop']()]||'urdf';}async['loadMocapAsMainModel'](_0x803f1a){const {MOCAP_CONFIG:_0x27e97b}=await Ae(()=>Promise['resolve']()['then'](()=>_a),void 0,import.meta.url),_0x2febcf=_0x27e97b[_0x803f1a];if(_0x2febcf)try{const _0xaaa7ec=await fetch(_0x2febcf['urdfPath']);if(!_0xaaa7ec['ok'])throw new Error('Failed\x20to\x20fetch\x20URDF:\x20'+_0xaaa7ec['statusText']);const _0x523ec7=await _0xaaa7ec['text'](),_0x14ef63=_0x2febcf['urdfPath']['substring'](0x0,_0x2febcf['urdfPath']['lastIndexOf']('/')+0x1),_0x4f59b5=_0x523ec7['replace'](/filename="[^"]*?(meshes\/[^"]+)"/g,'filename=\x22'+_0x14ef63+'$1\x22'),_0xde08be=new Blob([_0x4f59b5],{'type':'text/xml'}),_0x2265e6=new File([_0xde08be],_0x803f1a+'.urdf',{'type':'text/xml'});this['fileHandler']['fileMap']['clear'](),this['fileHandler']['fileMap']['set'](_0x2265e6['name'],_0x2265e6),await this['fileHandler']['loadFile'](_0x2265e6);const _0x538e17=this['sceneManager']['currentModel'];if(_0x538e17&&_0x538e17['joints']){const _0xb9acc7={};_0x538e17['joints']['forEach']((_0x2c0505,_0x5ce8a3)=>{'fixed'!==_0x2c0505['type']&&(_0xb9acc7[_0x5ce8a3]=_0x2c0505['currentValue']);}),_0x538e17['userData']||(_0x538e17['userData']={}),_0x538e17['userData']['homePositions']=_0xb9acc7;}_0x2febcf['scale']&&this['sceneManager']['currentModel']&&this['sceneManager']['currentModel']['threeObject']['scale']['set'](_0x2febcf['scale'],_0x2febcf['scale'],_0x2febcf['scale']),_0x2febcf['rotation']&&this['sceneManager']['currentModel']&&this['sceneManager']['currentModel']['threeObject']['rotation']['set'](_0x2febcf['rotation']['x'],_0x2febcf['rotation']['y'],_0x2febcf['rotation']['z']),this['sceneManager']['currentModel']&&this['sceneManager']['currentModel']['threeObject']['updateMatrixWorld'](!0x0);}catch(_0x4c058f){alert('Failed\x20to\x20load\x20'+_0x2febcf['name']+':\x20'+_0x4c058f['message']);}else alert('Unknown\x20mocap\x20model:\x20'+_0x803f1a);}async['autoConnectROS'](_0x55d835){var _0x361bb3;const _0x550bba=localStorage['getItem']('ros_url')||'ws://localhost:9090';try{if(await this['rosController']['connect'](_0x550bba),await new Promise(_0x4fb359=>setTimeout(_0x4fb359,0x1f4)),'tf'===_0x55d835['topicType']&&this['sceneManager']['currentModel']){let _0x24a2f6=_0x55d835['rosTopic'];const _0x166f8b=document['querySelector']('#floating-ros-panel');if(_0x166f8b){const _0x1aec31=null==(_0x361bb3=_0x166f8b['querySelectorAll']('#ros-topic-list\x20.ros-topic-row')[0x0])?void 0x0:_0x361bb3['querySelector']('.ros-topic-input');(null==_0x1aec31?void 0x0:_0x1aec31['value'])&&(_0x24a2f6=_0x1aec31['value']);}this['rosController']['tfController']['subscribeTF'](_0x55d835['id'],this['sceneManager']['currentModel'],_0x24a2f6);}}catch(_0xb5a7ae){}}['handleMujocoReset'](){this['mujocoSimulationManager']&&this['mujocoSimulationManager']['reset']();}async['handleMujocoToggleSimulate'](){if(!this['mujocoSimulationManager']['hasScene']()&&this['currentMJCFFile']&&this['currentMJCFModel'])try{const _0x3a65c6=await this['currentMJCFFile']['text']();return await this['mujocoSimulationManager']['loadScene'](_0x3a65c6,this['currentMJCFFile']['name'],this['fileHandler']['getFileMap'](),this['currentMJCFModel']),this['currentModel']&&this['currentModel']['threeObject']&&(this['currentModel']['threeObject']['visible']=!0x1),this['mujocoSimulationManager']['startSimulation'](),!0x0;}catch(_0x5248fe){return!0x1;}if(this['mujocoSimulationManager']){const _0x517425=this['mujocoSimulationManager']['toggleSimulation']();return this['currentModel']&&this['currentModel']['threeObject']&&(this['currentModel']['threeObject']['visible']=!_0x517425),_0x517425;}return!0x1;}['animate'](){var _0x2fff8e,_0x55234d;if(requestAnimationFrame(()=>this['animate']()),this['sceneManager']){this['sceneManager']['update'](),this['mujocoSimulationManager']&&this['mujocoSimulationManager']['hasScene']()&&this['mujocoSimulationManager']['update'](performance['now']());const _0x27b0f=performance['now'](),_0x18e565=!(!0x0===(null==(_0x55234d=null==(_0x2fff8e=this['virtualCameraPublisher'])?void 0x0:_0x2fff8e['isRunning'])?void 0x0:_0x55234d['call'](_0x2fff8e)))&&_0x27b0f-this['_lastSafetyRenderAt']>0xfa;(this['sceneManager']['hasPendingRender']()||_0x18e565)&&(this['sceneManager']['render'](),this['_lastSafetyRenderAt']=_0x27b0f);}}}if('1'===new URLSearchParams(window['location']['search'])['get']('plot')){Ha['init']();const e=document['getElementById']('container');e&&(e['style']['display']='none');const t=document['getElementById']('plot-container');t&&(t['style']['display']='flex',t['innerHTML']='<div\x20style=\x22display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--text-secondary);font-size:14px;\x22>'+Ha['t']('loadingPlotPanel')+'</div>'),Ae(()=>import('./PlotPanel-0ea747b2.js'),["./PlotPanel-0ea747b2.js","./three-9c891de0.js","./d3-2e308866.js","./codemirror-c3cec7b3.js","./codemirror-themes-e6995a6a.js","../css/PlotPanel-3e7d7555.css"],import.meta.url)['then'](_0x27d311=>{t&&(t['innerHTML']='');const _0x2f7816=new _0x27d311['PlotPanel']();_0x2f7816['init'](),window['plotPanel']=_0x2f7816;})['catch'](_0x522c3c=>{t&&(t['innerHTML']='<div\x20style=\x22display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;gap:12px;\x22><div\x20style=\x22color:#ff6b6b;font-size:16px;font-weight:600;\x22>'+Ha['t']('plotPanelLoadFailed')+'</div><div\x20style=\x22color:var(--text-secondary);font-size:13px;\x22>'+Ha['t']('checkNetworkAndReload')+'</div><div\x20style=\x22color:var(--text-tertiary);font-size:11px;font-family:monospace;margin-top:8px;\x22>'+(_0x522c3c&&_0x522c3c['message']?_0x522c3c['message']:Ha['t']('unknownError'))+'</div></div>');});}else{const e=new Ka();e['init'](),window['app']=e;}export{xa as R,Ae as _};
|