@ioai/robot_viewer 1.1.1 → 1.1.3

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.
@@ -0,0 +1,6 @@
1
+ import{Ray as _0x101bd5,Plane as _0x1513bb,EventDispatcher as _0x32f4fa,Vector3 as _0x47b065,MOUSE as _0x419d8b,TOUCH as _0x6d261d,Quaternion as _0x57eb35,Spherical as _0x4e1587,Vector2 as _0x2bb978,MathUtils as _0x205787,Matrix4 as _0x57ef6e,Object3D as _0x3bdd5c,Matrix3 as _0xd6c5af,BoxGeometry as _0x4eed01,Euler as _0x940d5,SphereGeometry as _0x24a7ae,Raycaster as _0x28dd19,Color as _0x342136,MeshPhongMaterial as _0x2f1015,SRGBColorSpace as _0x5ada61,Group as _0x43b889,CapsuleGeometry as _0x311b19,CylinderGeometry as _0x3ff7a4,Mesh as _0x514bc2,MeshStandardMaterial as _0x134ca9,HemisphereLight as _0x7b7b3b,DirectionalLight as _0x23a485,PMREMGenerator as _0x439bc8,Scene as _0x14ca45,EquirectangularReflectionMapping as _0x42cb41,DataTexture as _0x35f9b7,CubeTexture as _0x2804a6,CubeReflectionMapping as _0x23bf4c,PlaneGeometry as _0x7bef62,ShadowMaterial as _0x2b0faa,DoubleSide as _0x4398ab,GridHelper as _0x306117,Sphere as _0x276203,MeshBasicMaterial as _0x17a9ed,BufferGeometry as _0x598f69,BufferAttribute as _0x5b7840,LineDashedMaterial as _0x5bc173,Line as _0x447e10,ConeGeometry as _0x209a3b,EllipseCurve as _0x3ef11f,CatmullRomCurve3 as _0x21030f,TubeGeometry as _0x38a99d,Box3 as _0x429c58,LineBasicMaterial as _0x5b18b1,CanvasTexture as _0x57ab7c,SpriteMaterial as _0x316a4d,Sprite as _0x344269,PerspectiveCamera as _0x2cf489,WebGLRenderer as _0x2f3f64,PCFSoftShadowMap as _0x37c90b,WireframeGeometry as _0x160dee,LineSegments as _0x40292d,ArrowHelper as _0x5be7b6,ShaderMaterial as _0x57f83d,OrthographicCamera as _0x2a8bb6,HalfFloatType as _0x44feec,UnsignedByteType as _0x6046a7,WebGLRenderTarget as _0x2dac2d,RGBAFormat as _0xc50010,NearestFilter as _0x14e90a}from'./three-9c891de0.js';import{s as _0x3a99e7,h as _0x537bcd,t as _0xfb61d0,z as _0x2ebfc4,l as _0x2a61aa,i as _0x346a3e,d as _0x54f813}from'./d3-2e308866.js';import{a as _0xc36b63,b as _0x3f107c,x as _0x4ef7d1,E as _0x3ebda5}from'./codemirror-c3cec7b3.js';import{g as _0x1b5e0c,v as _0x344e51}from'./codemirror-themes-e6995a6a.js';!(function(){const _0x1ebedd=document['createElement']('link')['relList'];if(!(_0x1ebedd&&_0x1ebedd['supports']&&_0x1ebedd['supports']('modulepreload'))){for(const _0xd1554a of document['querySelectorAll']('link[rel=\x22modulepreload\x22]'))_0xaab488(_0xd1554a);new MutationObserver(_0x4c4cf6=>{for(const _0x1de877 of _0x4c4cf6)if('childList'===_0x1de877['type'])for(const _0x21a41f of _0x1de877['addedNodes'])'LINK'===_0x21a41f['tagName']&&'modulepreload'===_0x21a41f['rel']&&_0xaab488(_0x21a41f);})['observe'](document,{'childList':!0x0,'subtree':!0x0});}function _0xaab488(_0x5151f2){if(_0x5151f2['ep'])return;_0x5151f2['ep']=!0x0;const _0x5947f7=function(_0x4c9107){const _0x4f6345={};return _0x4c9107['integrity']&&(_0x4f6345['integrity']=_0x4c9107['integrity']),_0x4c9107['referrerPolicy']&&(_0x4f6345['referrerPolicy']=_0x4c9107['referrerPolicy']),'use-credentials'===_0x4c9107['crossOrigin']?_0x4f6345['credentials']='include':'anonymous'===_0x4c9107['crossOrigin']?_0x4f6345['credentials']='omit':_0x4f6345['credentials']='same-origin',_0x4f6345;}(_0x5151f2);fetch(_0x5151f2['href'],_0x5947f7);}}());const Se={},Ae=function(_0x61ff05,_0x2de94a,_0x24b5be){if(!_0x2de94a||0x0===_0x2de94a['length'])return _0x61ff05();const _0x32d377=document['getElementsByTagName']('link');return Promise['all'](_0x2de94a['map'](_0x32c6dc=>{if(_0x32c6dc=function(_0x3a78b4,_0xa28a76){return new URL(_0x3a78b4,_0xa28a76)['href'];}(_0x32c6dc,_0x24b5be),_0x32c6dc in Se)return;Se[_0x32c6dc]=!0x0;const _0x2ce3f6=_0x32c6dc['endsWith']('.css'),_0x532217=_0x2ce3f6?'[rel=\x22stylesheet\x22]':'';if(!!_0x24b5be)for(let _0x253774=_0x32d377['length']-0x1;_0x253774>=0x0;_0x253774--){const _0x441985=_0x32d377[_0x253774];if(_0x441985['href']===_0x32c6dc&&(!_0x2ce3f6||'stylesheet'===_0x441985['rel']))return;}else if(document['querySelector']('link[href=\x22'+_0x32c6dc+'\x22]'+_0x532217))return;const _0x53e42d=document['createElement']('link');return _0x53e42d['rel']=_0x2ce3f6?'stylesheet':'modulepreload',_0x2ce3f6||(_0x53e42d['as']='script',_0x53e42d['crossOrigin']=''),_0x53e42d['href']=_0x32c6dc,document['head']['appendChild'](_0x53e42d),_0x2ce3f6?new Promise((_0x1e36fa,_0x242b13)=>{_0x53e42d['addEventListener']('load',_0x1e36fa),_0x53e42d['addEventListener']('error',()=>_0x242b13(new Error('Unable\x20to\x20preload\x20CSS\x20for\x20'+_0x32c6dc)));}):void 0x0;}))['then'](()=>_0x61ff05())['catch'](_0x29c1b2=>{const _0x5a4c4b=new Event('vite:preloadError',{'cancelable':!0x0});if(_0x5a4c4b['payload']=_0x29c1b2,window['dispatchEvent'](_0x5a4c4b),!_0x5a4c4b['defaultPrevented'])throw _0x29c1b2;});},Le={'type':'change'},Ee={'type':'start'},Ce={'type':'end'},je=new _0x101bd5(),ke=new _0x1513bb(),Te=Math['cos'](0x46*_0x205787['DEG2RAD']);class Oe extends _0x32f4fa{constructor(_0x210a00,_0x1224cc){super(),this['object']=_0x210a00,this['domElement']=_0x1224cc,this['domElement']['style']['touchAction']='none',this['enabled']=!0x0,this['target']=new _0x47b065(),this['cursor']=new _0x47b065(),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':_0x419d8b['ROTATE'],'MIDDLE':_0x419d8b['DOLLY'],'RIGHT':_0x419d8b['PAN']},this['touches']={'ONE':_0x6d261d['ROTATE'],'TWO':_0x6d261d['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 _0x2a8197['phi'];},this['getAzimuthalAngle']=function(){return _0x2a8197['theta'];},this['getDistance']=function(){return this['object']['position']['distanceTo'](this['target']);},this['listenToKeyEvents']=function(_0xb7a9bc){_0xb7a9bc['addEventListener']('keydown',_0x24d2d7),this['_domElementKeyEvents']=_0xb7a9bc;},this['stopListenToKeyEvents']=function(){this['_domElementKeyEvents']['removeEventListener']('keydown',_0x24d2d7),this['_domElementKeyEvents']=null;},this['saveState']=function(){_0x4c9031['target0']['copy'](_0x4c9031['target']),_0x4c9031['position0']['copy'](_0x4c9031['object']['position']),_0x4c9031['zoom0']=_0x4c9031['object']['zoom'];},this['reset']=function(){_0x4c9031['target']['copy'](_0x4c9031['target0']),_0x4c9031['object']['position']['copy'](_0x4c9031['position0']),_0x4c9031['object']['zoom']=_0x4c9031['zoom0'],_0x4c9031['object']['updateProjectionMatrix'](),_0x4c9031['dispatchEvent'](Le),_0x4c9031['update'](),_0x410ccd=_0x2a5403['NONE'];},this['update']=(function(){const _0x3da3e8=new _0x47b065(),_0x382684=new _0x57eb35()['setFromUnitVectors'](_0x210a00['up'],new _0x47b065(0x0,0x1,0x0)),_0x1358d1=_0x382684['clone']()['invert'](),_0x64dabc=new _0x47b065(),_0x3ac382=new _0x57eb35(),_0x2bc279=new _0x47b065(),_0x1ea1f6=0x2*Math['PI'];return function(_0xef896b=null){const _0x5b15cb=_0x4c9031['object']['position'];_0x3da3e8['copy'](_0x5b15cb)['sub'](_0x4c9031['target']),_0x3da3e8['applyQuaternion'](_0x382684),_0x2a8197['setFromVector3'](_0x3da3e8),_0x4c9031['autoRotate']&&_0x410ccd===_0x2a5403['NONE']&&_0x402ef1(function(_0x34ea76){return null!==_0x34ea76?0x2*Math['PI']/0x3c*_0x4c9031['autoRotateSpeed']*_0x34ea76:0x2*Math['PI']/0x3c/0x3c*_0x4c9031['autoRotateSpeed'];}(_0xef896b)),_0x4c9031['enableDamping']?(_0x2a8197['theta']+=_0x15ee5f['theta']*_0x4c9031['dampingFactor'],_0x2a8197['phi']+=_0x15ee5f['phi']*_0x4c9031['dampingFactor']):(_0x2a8197['theta']+=_0x15ee5f['theta'],_0x2a8197['phi']+=_0x15ee5f['phi']);let _0xcbca4d=_0x4c9031['minAzimuthAngle'],_0x454cd2=_0x4c9031['maxAzimuthAngle'];isFinite(_0xcbca4d)&&isFinite(_0x454cd2)&&(_0xcbca4d<-Math['PI']?_0xcbca4d+=_0x1ea1f6:_0xcbca4d>Math['PI']&&(_0xcbca4d-=_0x1ea1f6),_0x454cd2<-Math['PI']?_0x454cd2+=_0x1ea1f6:_0x454cd2>Math['PI']&&(_0x454cd2-=_0x1ea1f6),_0x2a8197['theta']=_0xcbca4d<=_0x454cd2?Math['max'](_0xcbca4d,Math['min'](_0x454cd2,_0x2a8197['theta'])):_0x2a8197['theta']>(_0xcbca4d+_0x454cd2)/0x2?Math['max'](_0xcbca4d,_0x2a8197['theta']):Math['min'](_0x454cd2,_0x2a8197['theta'])),_0x2a8197['phi']=Math['max'](_0x4c9031['minPolarAngle'],Math['min'](_0x4c9031['maxPolarAngle'],_0x2a8197['phi'])),_0x2a8197['makeSafe'](),!0x0===_0x4c9031['enableDamping']?_0x4c9031['target']['addScaledVector'](_0x234b24,_0x4c9031['dampingFactor']):_0x4c9031['target']['add'](_0x234b24),_0x4c9031['target']['sub'](_0x4c9031['cursor']),_0x4c9031['target']['clampLength'](_0x4c9031['minTargetRadius'],_0x4c9031['maxTargetRadius']),_0x4c9031['target']['add'](_0x4c9031['cursor']);let _0x5dc995=!0x1;if(_0x4c9031['zoomToCursor']&&_0x3e1933||_0x4c9031['object']['isOrthographicCamera'])_0x2a8197['radius']=_0x17609e(_0x2a8197['radius']);else{const _0x289005=_0x2a8197['radius'];_0x2a8197['radius']=_0x17609e(_0x2a8197['radius']*_0xdec8a7),_0x5dc995=_0x289005!=_0x2a8197['radius'];}if(_0x3da3e8['setFromSpherical'](_0x2a8197),_0x3da3e8['applyQuaternion'](_0x1358d1),_0x5b15cb['copy'](_0x4c9031['target'])['add'](_0x3da3e8),_0x4c9031['object']['lookAt'](_0x4c9031['target']),!0x0===_0x4c9031['enableDamping']?(_0x15ee5f['theta']*=0x1-_0x4c9031['dampingFactor'],_0x15ee5f['phi']*=0x1-_0x4c9031['dampingFactor'],_0x234b24['multiplyScalar'](0x1-_0x4c9031['dampingFactor'])):(_0x15ee5f['set'](0x0,0x0,0x0),_0x234b24['set'](0x0,0x0,0x0)),_0x4c9031['zoomToCursor']&&_0x3e1933){let _0x29d06a=null;if(_0x4c9031['object']['isPerspectiveCamera']){const _0x547b0a=_0x3da3e8['length']();_0x29d06a=_0x17609e(_0x547b0a*_0xdec8a7);const _0x43de21=_0x547b0a-_0x29d06a;_0x4c9031['object']['position']['addScaledVector'](_0x3cf03a,_0x43de21),_0x4c9031['object']['updateMatrixWorld'](),_0x5dc995=!!_0x43de21;}else if(_0x4c9031['object']['isOrthographicCamera']){const _0x1cf172=new _0x47b065(_0x2aed19['x'],_0x2aed19['y'],0x0);_0x1cf172['unproject'](_0x4c9031['object']);const _0xade80=_0x4c9031['object']['zoom'];_0x4c9031['object']['zoom']=Math['max'](_0x4c9031['minZoom'],Math['min'](_0x4c9031['maxZoom'],_0x4c9031['object']['zoom']/_0xdec8a7)),_0x4c9031['object']['updateProjectionMatrix'](),_0x5dc995=_0xade80!==_0x4c9031['object']['zoom'];const _0x20d633=new _0x47b065(_0x2aed19['x'],_0x2aed19['y'],0x0);_0x20d633['unproject'](_0x4c9031['object']),_0x4c9031['object']['position']['sub'](_0x20d633)['add'](_0x1cf172),_0x4c9031['object']['updateMatrixWorld'](),_0x29d06a=_0x3da3e8['length']();}else _0x4c9031['zoomToCursor']=!0x1;null!==_0x29d06a&&(this['screenSpacePanning']?_0x4c9031['target']['set'](0x0,0x0,-0x1)['transformDirection'](_0x4c9031['object']['matrix'])['multiplyScalar'](_0x29d06a)['add'](_0x4c9031['object']['position']):(je['origin']['copy'](_0x4c9031['object']['position']),je['direction']['set'](0x0,0x0,-0x1)['transformDirection'](_0x4c9031['object']['matrix']),Math['abs'](_0x4c9031['object']['up']['dot'](je['direction']))<Te?_0x210a00['lookAt'](_0x4c9031['target']):(ke['setFromNormalAndCoplanarPoint'](_0x4c9031['object']['up'],_0x4c9031['target']),je['intersectPlane'](ke,_0x4c9031['target']))));}else if(_0x4c9031['object']['isOrthographicCamera']){const _0x1b6c45=_0x4c9031['object']['zoom'];_0x4c9031['object']['zoom']=Math['max'](_0x4c9031['minZoom'],Math['min'](_0x4c9031['maxZoom'],_0x4c9031['object']['zoom']/_0xdec8a7)),_0x1b6c45!==_0x4c9031['object']['zoom']&&(_0x4c9031['object']['updateProjectionMatrix'](),_0x5dc995=!0x0);}return _0xdec8a7=0x1,_0x3e1933=!0x1,!!(_0x5dc995||_0x64dabc['distanceToSquared'](_0x4c9031['object']['position'])>_0x2ec669||0x8*(0x1-_0x3ac382['dot'](_0x4c9031['object']['quaternion']))>_0x2ec669||_0x2bc279['distanceToSquared'](_0x4c9031['target'])>_0x2ec669)&&(_0x4c9031['dispatchEvent'](Le),_0x64dabc['copy'](_0x4c9031['object']['position']),_0x3ac382['copy'](_0x4c9031['object']['quaternion']),_0x2bc279['copy'](_0x4c9031['target']),!0x0);};}()),this['dispose']=function(){_0x4c9031['domElement']['removeEventListener']('contextmenu',_0x36c17f),_0x4c9031['domElement']['removeEventListener']('pointerdown',_0x2894e6),_0x4c9031['domElement']['removeEventListener']('pointercancel',_0xf4d1d3),_0x4c9031['domElement']['removeEventListener']('wheel',_0x47de4b),_0x4c9031['domElement']['removeEventListener']('pointermove',_0x4c5696),_0x4c9031['domElement']['removeEventListener']('pointerup',_0xf4d1d3);_0x4c9031['domElement']['getRootNode']()['removeEventListener']('keydown',_0x59dfd5,{'capture':!0x0}),null!==_0x4c9031['_domElementKeyEvents']&&(_0x4c9031['_domElementKeyEvents']['removeEventListener']('keydown',_0x24d2d7),_0x4c9031['_domElementKeyEvents']=null);};const _0x4c9031=this,_0x2a5403={'NONE':-0x1,'ROTATE':0x0,'DOLLY':0x1,'PAN':0x2,'TOUCH_ROTATE':0x3,'TOUCH_PAN':0x4,'TOUCH_DOLLY_PAN':0x5,'TOUCH_DOLLY_ROTATE':0x6};let _0x410ccd=_0x2a5403['NONE'];const _0x2ec669=0.000001,_0x2a8197=new _0x4e1587(),_0x15ee5f=new _0x4e1587();let _0xdec8a7=0x1;const _0x234b24=new _0x47b065(),_0x37df6e=new _0x2bb978(),_0x1a3db7=new _0x2bb978(),_0x41a65a=new _0x2bb978(),_0x4ef01b=new _0x2bb978(),_0x57da6a=new _0x2bb978(),_0xe28d8b=new _0x2bb978(),_0x21d825=new _0x2bb978(),_0x3cc766=new _0x2bb978(),_0x552d89=new _0x2bb978(),_0x3cf03a=new _0x47b065(),_0x2aed19=new _0x2bb978();let _0x3e1933=!0x1;const _0x25556=[],_0x3b12f9={};let _0xfe0bbe=!0x1;function _0x3c7edd(_0x3deaee){const _0x3f4348=Math['abs'](0.01*_0x3deaee);return Math['pow'](0.95,_0x4c9031['zoomSpeed']*_0x3f4348);}function _0x402ef1(_0x55031a){_0x15ee5f['theta']-=_0x55031a;}function _0x1cddf2(_0x3efee3){_0x15ee5f['phi']-=_0x3efee3;}const _0x4e0eb6=(function(){const _0xf8b8f0=new _0x47b065();return function(_0x5178e8,_0x593b49){_0xf8b8f0['setFromMatrixColumn'](_0x593b49,0x0),_0xf8b8f0['multiplyScalar'](-_0x5178e8),_0x234b24['add'](_0xf8b8f0);};}()),_0xf6e8ea=(function(){const _0x362e31=new _0x47b065();return function(_0x434d58,_0xcef7a6){!0x0===_0x4c9031['screenSpacePanning']?_0x362e31['setFromMatrixColumn'](_0xcef7a6,0x1):(_0x362e31['setFromMatrixColumn'](_0xcef7a6,0x0),_0x362e31['crossVectors'](_0x4c9031['object']['up'],_0x362e31)),_0x362e31['multiplyScalar'](_0x434d58),_0x234b24['add'](_0x362e31);};}()),_0x2b395c=(function(){const _0x481581=new _0x47b065();return function(_0x2fc268,_0x3da407){const _0x148fb7=_0x4c9031['domElement'];if(_0x4c9031['object']['isPerspectiveCamera']){const _0xa1b231=_0x4c9031['object']['position'];_0x481581['copy'](_0xa1b231)['sub'](_0x4c9031['target']);let _0x22629f=_0x481581['length']();_0x22629f*=Math['tan'](_0x4c9031['object']['fov']/0x2*Math['PI']/0xb4),_0x4e0eb6(0x2*_0x2fc268*_0x22629f/_0x148fb7['clientHeight'],_0x4c9031['object']['matrix']),_0xf6e8ea(0x2*_0x3da407*_0x22629f/_0x148fb7['clientHeight'],_0x4c9031['object']['matrix']);}else _0x4c9031['object']['isOrthographicCamera']?(_0x4e0eb6(_0x2fc268*(_0x4c9031['object']['right']-_0x4c9031['object']['left'])/_0x4c9031['object']['zoom']/_0x148fb7['clientWidth'],_0x4c9031['object']['matrix']),_0xf6e8ea(_0x3da407*(_0x4c9031['object']['top']-_0x4c9031['object']['bottom'])/_0x4c9031['object']['zoom']/_0x148fb7['clientHeight'],_0x4c9031['object']['matrix'])):_0x4c9031['enablePan']=!0x1;};}());function _0x40634f(_0x3db9ec){_0x4c9031['object']['isPerspectiveCamera']||_0x4c9031['object']['isOrthographicCamera']?_0xdec8a7/=_0x3db9ec:_0x4c9031['enableZoom']=!0x1;}function _0x2b5e6c(_0x10c293){_0x4c9031['object']['isPerspectiveCamera']||_0x4c9031['object']['isOrthographicCamera']?_0xdec8a7*=_0x10c293:_0x4c9031['enableZoom']=!0x1;}function _0x5cc6cf(_0x3b7e34,_0x378766){if(!_0x4c9031['zoomToCursor'])return;_0x3e1933=!0x0;const _0x131978=_0x4c9031['domElement']['getBoundingClientRect'](),_0x285414=_0x3b7e34-_0x131978['left'],_0x409541=_0x378766-_0x131978['top'],_0x3f5c46=_0x131978['width'],_0x3f678e=_0x131978['height'];_0x2aed19['x']=_0x285414/_0x3f5c46*0x2-0x1,_0x2aed19['y']=-_0x409541/_0x3f678e*0x2+0x1,_0x3cf03a['set'](_0x2aed19['x'],_0x2aed19['y'],0x1)['unproject'](_0x4c9031['object'])['sub'](_0x4c9031['object']['position'])['normalize']();}function _0x17609e(_0x3594cf){return Math['max'](_0x4c9031['minDistance'],Math['min'](_0x4c9031['maxDistance'],_0x3594cf));}function _0x4e1113(_0x494433){_0x37df6e['set'](_0x494433['clientX'],_0x494433['clientY']);}function _0x18624c(_0x31a9e6){_0x4ef01b['set'](_0x31a9e6['clientX'],_0x31a9e6['clientY']);}function _0x57b3ad(_0x1e8007){if(0x1===_0x25556['length'])_0x37df6e['set'](_0x1e8007['pageX'],_0x1e8007['pageY']);else{const _0x42f976=_0x5f4b62(_0x1e8007),_0x2415b4=0.5*(_0x1e8007['pageX']+_0x42f976['x']),_0x13156e=0.5*(_0x1e8007['pageY']+_0x42f976['y']);_0x37df6e['set'](_0x2415b4,_0x13156e);}}function _0x4dc6d1(_0x506469){if(0x1===_0x25556['length'])_0x4ef01b['set'](_0x506469['pageX'],_0x506469['pageY']);else{const _0x45da0a=_0x5f4b62(_0x506469),_0x17c242=0.5*(_0x506469['pageX']+_0x45da0a['x']),_0x8205ca=0.5*(_0x506469['pageY']+_0x45da0a['y']);_0x4ef01b['set'](_0x17c242,_0x8205ca);}}function _0x2db254(_0x185c13){const _0x4479ba=_0x5f4b62(_0x185c13),_0x27d58b=_0x185c13['pageX']-_0x4479ba['x'],_0x10ee64=_0x185c13['pageY']-_0x4479ba['y'],_0x336d80=Math['sqrt'](_0x27d58b*_0x27d58b+_0x10ee64*_0x10ee64);_0x21d825['set'](0x0,_0x336d80);}function _0x35b2b2(_0x109d02){if(0x1==_0x25556['length'])_0x1a3db7['set'](_0x109d02['pageX'],_0x109d02['pageY']);else{const _0x3fdda0=_0x5f4b62(_0x109d02),_0x116154=0.5*(_0x109d02['pageX']+_0x3fdda0['x']),_0x2cba33=0.5*(_0x109d02['pageY']+_0x3fdda0['y']);_0x1a3db7['set'](_0x116154,_0x2cba33);}_0x41a65a['subVectors'](_0x1a3db7,_0x37df6e)['multiplyScalar'](_0x4c9031['rotateSpeed']);const _0xa6c917=_0x4c9031['domElement'];_0x402ef1(0x2*Math['PI']*_0x41a65a['x']/_0xa6c917['clientHeight']),_0x1cddf2(0x2*Math['PI']*_0x41a65a['y']/_0xa6c917['clientHeight']),_0x37df6e['copy'](_0x1a3db7);}function _0x393a5d(_0x4e680a){if(0x1===_0x25556['length'])_0x57da6a['set'](_0x4e680a['pageX'],_0x4e680a['pageY']);else{const _0x4036c3=_0x5f4b62(_0x4e680a),_0x3063c8=0.5*(_0x4e680a['pageX']+_0x4036c3['x']),_0x15e06e=0.5*(_0x4e680a['pageY']+_0x4036c3['y']);_0x57da6a['set'](_0x3063c8,_0x15e06e);}_0xe28d8b['subVectors'](_0x57da6a,_0x4ef01b)['multiplyScalar'](_0x4c9031['panSpeed']),_0x2b395c(_0xe28d8b['x'],_0xe28d8b['y']),_0x4ef01b['copy'](_0x57da6a);}function _0x593750(_0x35030e){const _0x39b638=_0x5f4b62(_0x35030e),_0x443541=_0x35030e['pageX']-_0x39b638['x'],_0x454e6f=_0x35030e['pageY']-_0x39b638['y'],_0x34c6f3=Math['sqrt'](_0x443541*_0x443541+_0x454e6f*_0x454e6f);_0x3cc766['set'](0x0,_0x34c6f3),_0x552d89['set'](0x0,Math['pow'](_0x3cc766['y']/_0x21d825['y'],_0x4c9031['zoomSpeed'])),_0x40634f(_0x552d89['y']),_0x21d825['copy'](_0x3cc766);_0x5cc6cf(0.5*(_0x35030e['pageX']+_0x39b638['x']),0.5*(_0x35030e['pageY']+_0x39b638['y']));}function _0x2894e6(_0x2821c9){!0x1!==_0x4c9031['enabled']&&(0x0===_0x25556['length']&&(_0x4c9031['domElement']['setPointerCapture'](_0x2821c9['pointerId']),_0x4c9031['domElement']['addEventListener']('pointermove',_0x4c5696),_0x4c9031['domElement']['addEventListener']('pointerup',_0xf4d1d3)),function(_0x45c8f2){for(let _0x3334de=0x0;_0x3334de<_0x25556['length'];_0x3334de++)if(_0x25556[_0x3334de]==_0x45c8f2['pointerId'])return!0x0;return!0x1;}(_0x2821c9)||(function(_0x386b03){_0x25556['push'](_0x386b03['pointerId']);}(_0x2821c9),'touch'===_0x2821c9['pointerType']?_0x2f8cd2(_0x2821c9):function(_0x5e4958){let _0x5bb4e2;switch(_0x5e4958['button']){case 0x0:_0x5bb4e2=_0x4c9031['mouseButtons']['LEFT'];break;case 0x1:_0x5bb4e2=_0x4c9031['mouseButtons']['MIDDLE'];break;case 0x2:_0x5bb4e2=_0x4c9031['mouseButtons']['RIGHT'];break;default:_0x5bb4e2=-0x1;}switch(_0x5bb4e2){case _0x419d8b['DOLLY']:if(!0x1===_0x4c9031['enableZoom'])return;!function(_0x11a7b0){_0x5cc6cf(_0x11a7b0['clientX'],_0x11a7b0['clientX']),_0x21d825['set'](_0x11a7b0['clientX'],_0x11a7b0['clientY']);}(_0x5e4958),_0x410ccd=_0x2a5403['DOLLY'];break;case _0x419d8b['ROTATE']:if(_0x5e4958['ctrlKey']||_0x5e4958['metaKey']||_0x5e4958['shiftKey']){if(!0x1===_0x4c9031['enablePan'])return;_0x18624c(_0x5e4958),_0x410ccd=_0x2a5403['PAN'];}else{if(!0x1===_0x4c9031['enableRotate'])return;_0x4e1113(_0x5e4958),_0x410ccd=_0x2a5403['ROTATE'];}break;case _0x419d8b['PAN']:if(_0x5e4958['ctrlKey']||_0x5e4958['metaKey']||_0x5e4958['shiftKey']){if(!0x1===_0x4c9031['enableRotate'])return;_0x4e1113(_0x5e4958),_0x410ccd=_0x2a5403['ROTATE'];}else{if(!0x1===_0x4c9031['enablePan'])return;_0x18624c(_0x5e4958),_0x410ccd=_0x2a5403['PAN'];}break;default:_0x410ccd=_0x2a5403['NONE'];}_0x410ccd!==_0x2a5403['NONE']&&_0x4c9031['dispatchEvent'](Ee);}(_0x2821c9)));}function _0x4c5696(_0x913b69){!0x1!==_0x4c9031['enabled']&&('touch'===_0x913b69['pointerType']?function(_0x10d69f){switch(_0x938879(_0x10d69f),_0x410ccd){case _0x2a5403['TOUCH_ROTATE']:if(!0x1===_0x4c9031['enableRotate'])return;_0x35b2b2(_0x10d69f),_0x4c9031['update']();break;case _0x2a5403['TOUCH_PAN']:if(!0x1===_0x4c9031['enablePan'])return;_0x393a5d(_0x10d69f),_0x4c9031['update']();break;case _0x2a5403['TOUCH_DOLLY_PAN']:if(!0x1===_0x4c9031['enableZoom']&&!0x1===_0x4c9031['enablePan'])return;!function(_0x5964c5){_0x4c9031['enableZoom']&&_0x593750(_0x5964c5),_0x4c9031['enablePan']&&_0x393a5d(_0x5964c5);}(_0x10d69f),_0x4c9031['update']();break;case _0x2a5403['TOUCH_DOLLY_ROTATE']:if(!0x1===_0x4c9031['enableZoom']&&!0x1===_0x4c9031['enableRotate'])return;!function(_0x47c616){_0x4c9031['enableZoom']&&_0x593750(_0x47c616),_0x4c9031['enableRotate']&&_0x35b2b2(_0x47c616);}(_0x10d69f),_0x4c9031['update']();break;default:_0x410ccd=_0x2a5403['NONE'];}}(_0x913b69):function(_0x34e114){switch(_0x410ccd){case _0x2a5403['ROTATE']:if(!0x1===_0x4c9031['enableRotate'])return;!function(_0x2769be){_0x1a3db7['set'](_0x2769be['clientX'],_0x2769be['clientY']),_0x41a65a['subVectors'](_0x1a3db7,_0x37df6e)['multiplyScalar'](_0x4c9031['rotateSpeed']);const _0x537941=_0x4c9031['domElement'];_0x402ef1(0x2*Math['PI']*_0x41a65a['x']/_0x537941['clientHeight']),_0x1cddf2(0x2*Math['PI']*_0x41a65a['y']/_0x537941['clientHeight']),_0x37df6e['copy'](_0x1a3db7),_0x4c9031['update']();}(_0x34e114);break;case _0x2a5403['DOLLY']:if(!0x1===_0x4c9031['enableZoom'])return;!function(_0x5b899f){_0x3cc766['set'](_0x5b899f['clientX'],_0x5b899f['clientY']),_0x552d89['subVectors'](_0x3cc766,_0x21d825),_0x552d89['y']>0x0?_0x40634f(_0x3c7edd(_0x552d89['y'])):_0x552d89['y']<0x0&&_0x2b5e6c(_0x3c7edd(_0x552d89['y'])),_0x21d825['copy'](_0x3cc766),_0x4c9031['update']();}(_0x34e114);break;case _0x2a5403['PAN']:if(!0x1===_0x4c9031['enablePan'])return;!function(_0x382883){_0x57da6a['set'](_0x382883['clientX'],_0x382883['clientY']),_0xe28d8b['subVectors'](_0x57da6a,_0x4ef01b)['multiplyScalar'](_0x4c9031['panSpeed']),_0x2b395c(_0xe28d8b['x'],_0xe28d8b['y']),_0x4ef01b['copy'](_0x57da6a),_0x4c9031['update']();}(_0x34e114);}}(_0x913b69));}function _0xf4d1d3(_0x39a34a){switch(function(_0x36c84d){delete _0x3b12f9[_0x36c84d['pointerId']];for(let _0xd249f3=0x0;_0xd249f3<_0x25556['length'];_0xd249f3++)if(_0x25556[_0xd249f3]==_0x36c84d['pointerId'])return void _0x25556['splice'](_0xd249f3,0x1);}(_0x39a34a),_0x25556['length']){case 0x0:_0x4c9031['domElement']['releasePointerCapture'](_0x39a34a['pointerId']),_0x4c9031['domElement']['removeEventListener']('pointermove',_0x4c5696),_0x4c9031['domElement']['removeEventListener']('pointerup',_0xf4d1d3),_0x4c9031['dispatchEvent'](Ce),_0x410ccd=_0x2a5403['NONE'];break;case 0x1:const _0x2fdab2=_0x25556[0x0],_0xed6c2b=_0x3b12f9[_0x2fdab2];_0x2f8cd2({'pointerId':_0x2fdab2,'pageX':_0xed6c2b['x'],'pageY':_0xed6c2b['y']});}}function _0x47de4b(_0x70ff9f){!0x1!==_0x4c9031['enabled']&&!0x1!==_0x4c9031['enableZoom']&&_0x410ccd===_0x2a5403['NONE']&&(_0x70ff9f['preventDefault'](),_0x4c9031['dispatchEvent'](Ee),function(_0x339fc3){_0x5cc6cf(_0x339fc3['clientX'],_0x339fc3['clientY']),_0x339fc3['deltaY']<0x0?_0x2b5e6c(_0x3c7edd(_0x339fc3['deltaY'])):_0x339fc3['deltaY']>0x0&&_0x40634f(_0x3c7edd(_0x339fc3['deltaY'])),_0x4c9031['update']();}(function(_0x121051){const _0x2b20d9=_0x121051['deltaMode'],_0x5c1804={'clientX':_0x121051['clientX'],'clientY':_0x121051['clientY'],'deltaY':_0x121051['deltaY']};switch(_0x2b20d9){case 0x1:_0x5c1804['deltaY']*=0x10;break;case 0x2:_0x5c1804['deltaY']*=0x64;}_0x121051['ctrlKey']&&!_0xfe0bbe&&(_0x5c1804['deltaY']*=0xa);return _0x5c1804;}(_0x70ff9f)),_0x4c9031['dispatchEvent'](Ce));}function _0x59dfd5(_0xf9ebaa){if('Control'===_0xf9ebaa['key']){_0xfe0bbe=!0x0;_0x4c9031['domElement']['getRootNode']()['addEventListener']('keyup',_0xf1ee75,{'passive':!0x0,'capture':!0x0});}}function _0xf1ee75(_0x178e31){if('Control'===_0x178e31['key']){_0xfe0bbe=!0x1;_0x4c9031['domElement']['getRootNode']()['removeEventListener']('keyup',_0xf1ee75,{'passive':!0x0,'capture':!0x0});}}function _0x24d2d7(_0x16ae05){!0x1!==_0x4c9031['enabled']&&!0x1!==_0x4c9031['enablePan']&&function(_0x3432ea){let _0x31c9c1=!0x1;switch(_0x3432ea['code']){case _0x4c9031['keys']['UP']:_0x3432ea['ctrlKey']||_0x3432ea['metaKey']||_0x3432ea['shiftKey']?_0x1cddf2(0x2*Math['PI']*_0x4c9031['rotateSpeed']/_0x4c9031['domElement']['clientHeight']):_0x2b395c(0x0,_0x4c9031['keyPanSpeed']),_0x31c9c1=!0x0;break;case _0x4c9031['keys']['BOTTOM']:_0x3432ea['ctrlKey']||_0x3432ea['metaKey']||_0x3432ea['shiftKey']?_0x1cddf2(-0x2*Math['PI']*_0x4c9031['rotateSpeed']/_0x4c9031['domElement']['clientHeight']):_0x2b395c(0x0,-_0x4c9031['keyPanSpeed']),_0x31c9c1=!0x0;break;case _0x4c9031['keys']['LEFT']:_0x3432ea['ctrlKey']||_0x3432ea['metaKey']||_0x3432ea['shiftKey']?_0x402ef1(0x2*Math['PI']*_0x4c9031['rotateSpeed']/_0x4c9031['domElement']['clientHeight']):_0x2b395c(_0x4c9031['keyPanSpeed'],0x0),_0x31c9c1=!0x0;break;case _0x4c9031['keys']['RIGHT']:_0x3432ea['ctrlKey']||_0x3432ea['metaKey']||_0x3432ea['shiftKey']?_0x402ef1(-0x2*Math['PI']*_0x4c9031['rotateSpeed']/_0x4c9031['domElement']['clientHeight']):_0x2b395c(-_0x4c9031['keyPanSpeed'],0x0),_0x31c9c1=!0x0;}_0x31c9c1&&(_0x3432ea['preventDefault'](),_0x4c9031['update']());}(_0x16ae05);}function _0x2f8cd2(_0x39a25d){switch(_0x938879(_0x39a25d),_0x25556['length']){case 0x1:switch(_0x4c9031['touches']['ONE']){case _0x6d261d['ROTATE']:if(!0x1===_0x4c9031['enableRotate'])return;_0x57b3ad(_0x39a25d),_0x410ccd=_0x2a5403['TOUCH_ROTATE'];break;case _0x6d261d['PAN']:if(!0x1===_0x4c9031['enablePan'])return;_0x4dc6d1(_0x39a25d),_0x410ccd=_0x2a5403['TOUCH_PAN'];break;default:_0x410ccd=_0x2a5403['NONE'];}break;case 0x2:switch(_0x4c9031['touches']['TWO']){case _0x6d261d['DOLLY_PAN']:if(!0x1===_0x4c9031['enableZoom']&&!0x1===_0x4c9031['enablePan'])return;!function(_0x3d5228){_0x4c9031['enableZoom']&&_0x2db254(_0x3d5228),_0x4c9031['enablePan']&&_0x4dc6d1(_0x3d5228);}(_0x39a25d),_0x410ccd=_0x2a5403['TOUCH_DOLLY_PAN'];break;case _0x6d261d['DOLLY_ROTATE']:if(!0x1===_0x4c9031['enableZoom']&&!0x1===_0x4c9031['enableRotate'])return;!function(_0x5c4e98){_0x4c9031['enableZoom']&&_0x2db254(_0x5c4e98),_0x4c9031['enableRotate']&&_0x57b3ad(_0x5c4e98);}(_0x39a25d),_0x410ccd=_0x2a5403['TOUCH_DOLLY_ROTATE'];break;default:_0x410ccd=_0x2a5403['NONE'];}break;default:_0x410ccd=_0x2a5403['NONE'];}_0x410ccd!==_0x2a5403['NONE']&&_0x4c9031['dispatchEvent'](Ee);}function _0x36c17f(_0x642477){!0x1!==_0x4c9031['enabled']&&_0x642477['preventDefault']();}function _0x938879(_0x20a050){let _0x237e32=_0x3b12f9[_0x20a050['pointerId']];void 0x0===_0x237e32&&(_0x237e32=new _0x2bb978(),_0x3b12f9[_0x20a050['pointerId']]=_0x237e32),_0x237e32['set'](_0x20a050['pageX'],_0x20a050['pageY']);}function _0x5f4b62(_0x264c64){const _0x76c36e=_0x264c64['pointerId']===_0x25556[0x0]?_0x25556[0x1]:_0x25556[0x0];return _0x3b12f9[_0x76c36e];}_0x4c9031['domElement']['addEventListener']('contextmenu',_0x36c17f),_0x4c9031['domElement']['addEventListener']('pointerdown',_0x2894e6),_0x4c9031['domElement']['addEventListener']('pointercancel',_0xf4d1d3),_0x4c9031['domElement']['addEventListener']('wheel',_0x47de4b,{'passive':!0x1});_0x4c9031['domElement']['getRootNode']()['addEventListener']('keydown',_0x59dfd5,{'passive':!0x0,'capture':!0x0}),this['update']();}}class Fe extends _0x3bdd5c{constructor(_0x230ea2=document['createElement']('div')){super(),this['isCSS2DObject']=!0x0,this['element']=_0x230ea2,this['element']['style']['position']='absolute',this['element']['style']['userSelect']='none',this['element']['setAttribute']('draggable',!0x1),this['center']=new _0x2bb978(0.5,0.5),this['addEventListener']('removed',function(){this['traverse'](function(_0xe3d8ed){_0xe3d8ed['element']instanceof Element&&null!==_0xe3d8ed['element']['parentNode']&&_0xe3d8ed['element']['parentNode']['removeChild'](_0xe3d8ed['element']);});});}['copy'](_0x1c1046,_0x25b5c8){return super['copy'](_0x1c1046,_0x25b5c8),this['element']=_0x1c1046['element']['cloneNode'](!0x0),this['center']=_0x1c1046['center'],this;}}const De=new _0x47b065(),Pe=new _0x57ef6e(),Ie=new _0x57ef6e(),Re=new _0x47b065(),ze=new _0x47b065();class Ne{constructor(_0x3fda3f={}){const _0xe88444=this;let _0xe32afc,_0x36c9d3,_0x400e71,_0x5a22f9;const _0x59abeb={'objects':new WeakMap()},_0x229d36=void 0x0!==_0x3fda3f['element']?_0x3fda3f['element']:document['createElement']('div');function _0x65195c(_0x2518f5,_0x34a09f,_0x4aa8dd){if(_0x2518f5['isCSS2DObject']){De['setFromMatrixPosition'](_0x2518f5['matrixWorld']),De['applyMatrix4'](Ie);const _0x579c42=!0x0===_0x2518f5['visible']&&De['z']>=-0x1&&De['z']<=0x1&&!0x0===_0x2518f5['layers']['test'](_0x4aa8dd['layers']);if(_0x2518f5['element']['style']['display']=!0x0===_0x579c42?'':'none',!0x0===_0x579c42){_0x2518f5['onBeforeRender'](_0xe88444,_0x34a09f,_0x4aa8dd);const _0x3f9336=_0x2518f5['element'];_0x3f9336['style']['transform']='translate('+-0x64*_0x2518f5['center']['x']+'%,'+-0x64*_0x2518f5['center']['y']+'%)translate('+(De['x']*_0x400e71+_0x400e71)+'px,'+(-De['y']*_0x5a22f9+_0x5a22f9)+'px)',_0x3f9336['parentNode']!==_0x229d36&&_0x229d36['appendChild'](_0x3f9336),_0x2518f5['onAfterRender'](_0xe88444,_0x34a09f,_0x4aa8dd);}const _0x2df9ff={'distanceToCameraSquared':_0x27751a(_0x4aa8dd,_0x2518f5)};_0x59abeb['objects']['set'](_0x2518f5,_0x2df9ff);}for(let _0x584531=0x0,_0x355a94=_0x2518f5['children']['length'];_0x584531<_0x355a94;_0x584531++)_0x65195c(_0x2518f5['children'][_0x584531],_0x34a09f,_0x4aa8dd);}function _0x27751a(_0x247603,_0x756bd4){return Re['setFromMatrixPosition'](_0x247603['matrixWorld']),ze['setFromMatrixPosition'](_0x756bd4['matrixWorld']),Re['distanceToSquared'](ze);}_0x229d36['style']['overflow']='hidden',this['domElement']=_0x229d36,this['getSize']=function(){return{'width':_0xe32afc,'height':_0x36c9d3};},this['render']=function(_0x1c9a01,_0x4f1d7b){!0x0===_0x1c9a01['matrixWorldAutoUpdate']&&_0x1c9a01['updateMatrixWorld'](),null===_0x4f1d7b['parent']&&!0x0===_0x4f1d7b['matrixWorldAutoUpdate']&&_0x4f1d7b['updateMatrixWorld'](),Pe['copy'](_0x4f1d7b['matrixWorldInverse']),Ie['multiplyMatrices'](_0x4f1d7b['projectionMatrix'],Pe),_0x65195c(_0x1c9a01,_0x1c9a01,_0x4f1d7b),function(_0x2dd3af){const _0x55e21e=function(_0x1b684a){const _0x4df479=[];return _0x1b684a['traverse'](function(_0x36c03d){_0x36c03d['isCSS2DObject']&&_0x4df479['push'](_0x36c03d);}),_0x4df479;}(_0x2dd3af)['sort'](function(_0x15a1e1,_0x5de5e9){if(_0x15a1e1['renderOrder']!==_0x5de5e9['renderOrder'])return _0x5de5e9['renderOrder']-_0x15a1e1['renderOrder'];return _0x59abeb['objects']['get'](_0x15a1e1)['distanceToCameraSquared']-_0x59abeb['objects']['get'](_0x5de5e9)['distanceToCameraSquared'];}),_0x3665c0=_0x55e21e['length'];for(let _0x201224=0x0,_0xd84c81=_0x55e21e['length'];_0x201224<_0xd84c81;_0x201224++)_0x55e21e[_0x201224]['element']['style']['zIndex']=_0x3665c0-_0x201224;}(_0x1c9a01);},this['setSize']=function(_0x51a9e6,_0x38cafa){_0xe32afc=_0x51a9e6,_0x36c9d3=_0x38cafa,_0x400e71=_0xe32afc/0x2,_0x5a22f9=_0x36c9d3/0x2,_0x229d36['style']['width']=_0x51a9e6+'px',_0x229d36['style']['height']=_0x38cafa+'px';};}}class Ue{static['computeEigenDecomposition3x3'](_0x16589a){const _0x58dc33=_0x16589a['elements'];let _0x181c04=_0x58dc33[0x0],_0x530874=_0x58dc33[0x1],_0x51d4a1=_0x58dc33[0x2],_0x25b9be=_0x58dc33[0x4],_0xc9c25f=_0x58dc33[0x5],_0x3f8fdf=_0x58dc33[0x8],_0x3093b9=0x1,_0x240e80=0x0,_0x5e3e3b=0x0,_0x30911f=0x0,_0x4d67e9=0x1,_0x2a1cc5=0x0,_0x408661=0x0,_0x595362=0x0,_0x16e5a3=0x1;for(let _0x555d6d=0x0;_0x555d6d<0x32;_0x555d6d++){let _0x2aa353,_0x22b8b5,_0x53e29a,_0x4deb58=Math['abs'](_0x530874),_0x29eb90=0x0,_0x11c8d5=0x1;if(Math['abs'](_0x51d4a1)>_0x4deb58&&(_0x4deb58=Math['abs'](_0x51d4a1),_0x29eb90=0x0,_0x11c8d5=0x2),Math['abs'](_0xc9c25f)>_0x4deb58&&(_0x4deb58=Math['abs'](_0xc9c25f),_0x29eb90=0x1,_0x11c8d5=0x2),_0x4deb58<1e-10)break;0x0===_0x29eb90&&0x1===_0x11c8d5?(_0x2aa353=_0x530874,_0x22b8b5=_0x181c04,_0x53e29a=_0x25b9be):0x0===_0x29eb90&&0x2===_0x11c8d5?(_0x2aa353=_0x51d4a1,_0x22b8b5=_0x181c04,_0x53e29a=_0x3f8fdf):(_0x2aa353=_0xc9c25f,_0x22b8b5=_0x25b9be,_0x53e29a=_0x3f8fdf);const _0xea5226=(_0x53e29a-_0x22b8b5)/(0x2*_0x2aa353),_0x164f49=Math['sign'](_0xea5226)/(Math['abs'](_0xea5226)+Math['sqrt'](0x1+_0xea5226*_0xea5226)),_0xf77b78=0x1/Math['sqrt'](0x1+_0x164f49*_0x164f49),_0x2bc1ff=_0x164f49*_0xf77b78;if(0x0===_0x29eb90&&0x1===_0x11c8d5){const _0x131c97=_0x181c04,_0x29d596=_0x51d4a1;_0x181c04=_0xf77b78*_0xf77b78*_0x131c97-0x2*_0xf77b78*_0x2bc1ff*_0x530874+_0x2bc1ff*_0x2bc1ff*_0x25b9be,_0x25b9be=_0x2bc1ff*_0x2bc1ff*_0x131c97+0x2*_0xf77b78*_0x2bc1ff*_0x530874+_0xf77b78*_0xf77b78*_0x25b9be,_0x530874=0x0,_0x51d4a1=_0xf77b78*_0x29d596-_0x2bc1ff*_0xc9c25f,_0xc9c25f=_0x2bc1ff*_0x29d596+_0xf77b78*_0xc9c25f;const _0x177af8=_0x3093b9,_0x510899=_0x240e80,_0x31d3a7=_0x5e3e3b;_0x3093b9=_0xf77b78*_0x177af8-_0x2bc1ff*_0x30911f,_0x240e80=_0xf77b78*_0x510899-_0x2bc1ff*_0x4d67e9,_0x5e3e3b=_0xf77b78*_0x31d3a7-_0x2bc1ff*_0x2a1cc5,_0x30911f=_0x2bc1ff*_0x177af8+_0xf77b78*_0x30911f,_0x4d67e9=_0x2bc1ff*_0x510899+_0xf77b78*_0x4d67e9,_0x2a1cc5=_0x2bc1ff*_0x31d3a7+_0xf77b78*_0x2a1cc5;}else if(0x0===_0x29eb90&&0x2===_0x11c8d5){const _0x585a59=_0x181c04,_0x1de071=_0x530874;_0x181c04=_0xf77b78*_0xf77b78*_0x585a59-0x2*_0xf77b78*_0x2bc1ff*_0x51d4a1+_0x2bc1ff*_0x2bc1ff*_0x3f8fdf,_0x3f8fdf=_0x2bc1ff*_0x2bc1ff*_0x585a59+0x2*_0xf77b78*_0x2bc1ff*_0x51d4a1+_0xf77b78*_0xf77b78*_0x3f8fdf,_0x51d4a1=0x0,_0x530874=_0xf77b78*_0x1de071-_0x2bc1ff*_0xc9c25f,_0xc9c25f=_0x2bc1ff*_0x1de071+_0xf77b78*_0xc9c25f;const _0x2f8725=_0x3093b9,_0x38b51f=_0x240e80,_0x1e2840=_0x5e3e3b;_0x3093b9=_0xf77b78*_0x2f8725-_0x2bc1ff*_0x408661,_0x240e80=_0xf77b78*_0x38b51f-_0x2bc1ff*_0x595362,_0x5e3e3b=_0xf77b78*_0x1e2840-_0x2bc1ff*_0x16e5a3,_0x408661=_0x2bc1ff*_0x2f8725+_0xf77b78*_0x408661,_0x595362=_0x2bc1ff*_0x38b51f+_0xf77b78*_0x595362,_0x16e5a3=_0x2bc1ff*_0x1e2840+_0xf77b78*_0x16e5a3;}else{const _0x8ef862=_0x25b9be,_0x20438b=_0x530874;_0x25b9be=_0xf77b78*_0xf77b78*_0x8ef862-0x2*_0xf77b78*_0x2bc1ff*_0xc9c25f+_0x2bc1ff*_0x2bc1ff*_0x3f8fdf,_0x3f8fdf=_0x2bc1ff*_0x2bc1ff*_0x8ef862+0x2*_0xf77b78*_0x2bc1ff*_0xc9c25f+_0xf77b78*_0xf77b78*_0x3f8fdf,_0xc9c25f=0x0,_0x530874=_0xf77b78*_0x20438b-_0x2bc1ff*_0x51d4a1,_0x51d4a1=_0x2bc1ff*_0x20438b+_0xf77b78*_0x51d4a1;const _0x4d6e10=_0x30911f,_0x19b1d6=_0x4d67e9,_0x4b4012=_0x2a1cc5;_0x30911f=_0xf77b78*_0x4d6e10-_0x2bc1ff*_0x408661,_0x4d67e9=_0xf77b78*_0x19b1d6-_0x2bc1ff*_0x595362,_0x2a1cc5=_0xf77b78*_0x4b4012-_0x2bc1ff*_0x16e5a3,_0x408661=_0x2bc1ff*_0x4d6e10+_0xf77b78*_0x408661,_0x595362=_0x2bc1ff*_0x19b1d6+_0xf77b78*_0x595362,_0x16e5a3=_0x2bc1ff*_0x4b4012+_0xf77b78*_0x16e5a3;}}return{'eigenvalues':[_0x181c04,_0x25b9be,_0x3f8fdf],'eigenvectors':[[_0x3093b9,_0x240e80,_0x5e3e3b],[_0x30911f,_0x4d67e9,_0x2a1cc5],[_0x408661,_0x595362,_0x16e5a3]]};}static['computeEigenvalues3x3'](_0x3fb39c){const _0x2fb040=_0x3fb39c['elements'],_0x4ad432=_0x2fb040[0x0];_0x2fb040[0x1],_0x2fb040[0x2],_0x2fb040[0x3];const _0x41f22c=_0x2fb040[0x4];_0x2fb040[0x5],_0x2fb040[0x6],_0x2fb040[0x7];const _0x3e1d44=_0x2fb040[0x8],_0x3cd02e=[Math['abs'](_0x4ad432),Math['abs'](_0x41f22c),Math['abs'](_0x3e1d44)];return _0x3cd02e['sort']((_0x34cffb,_0x410c69)=>_0x410c69-_0x34cffb),_0x3cd02e;}static['computeInertiaBox'](_0x242315){const _0x1a1e6b=_0x242315['ixx']||0x0,_0x5cb7dd=_0x242315['iyy']||0x0,_0x5bd422=_0x242315['izz']||0x0,_0x5e38ac=_0x242315['ixy']||0x0,_0x4ad9c5=_0x242315['ixz']||0x0,_0x1cffbf=_0x242315['iyz']||0x0,_0x278cf9=_0x242315['mass']||0x1;if(_0x278cf9<0.01){const _0x4a79ce=(Math['abs'](_0x1a1e6b)+Math['abs'](_0x5cb7dd)+Math['abs'](_0x5bd422))/0x3;if(Math['sqrt'](_0x4a79ce/_0x278cf9)>0.05)return null;}const _0x1ea23d=1e-9;if(Math['abs'](_0x1a1e6b)<_0x1ea23d&&Math['abs'](_0x5cb7dd)<_0x1ea23d&&Math['abs'](_0x5bd422)<_0x1ea23d)return null;const _0x337939=Math['abs'](_0x5e38ac)>1e-10||Math['abs'](_0x4ad9c5)>1e-10||Math['abs'](_0x1cffbf)>1e-10;let _0x546506,_0x2f00e7=new _0x57eb35();if(_0x337939){const _0x415672=new _0xd6c5af();_0x415672['set'](_0x1a1e6b,_0x5e38ac,_0x4ad9c5,_0x5e38ac,_0x5cb7dd,_0x1cffbf,_0x4ad9c5,_0x1cffbf,_0x5bd422);const _0x445e04=this['computeEigenDecomposition3x3'](_0x415672);_0x546506=_0x445e04['eigenvalues'];const _0x37244d=new _0x57ef6e();_0x37244d['set'](_0x445e04['eigenvectors'][0x0][0x0],_0x445e04['eigenvectors'][0x1][0x0],_0x445e04['eigenvectors'][0x2][0x0],0x0,_0x445e04['eigenvectors'][0x0][0x1],_0x445e04['eigenvectors'][0x1][0x1],_0x445e04['eigenvectors'][0x2][0x1],0x0,_0x445e04['eigenvectors'][0x0][0x2],_0x445e04['eigenvectors'][0x1][0x2],_0x445e04['eigenvectors'][0x2][0x2],0x0,0x0,0x0,0x0,0x1),_0x2f00e7['setFromRotationMatrix'](_0x37244d);}else _0x546506=[_0x1a1e6b,_0x5cb7dd,_0x5bd422];const _0x50bd54=0x6/_0x278cf9;let _0x476fb8=Math['sqrt'](Math['abs'](_0x50bd54*(_0x546506[0x1]+_0x546506[0x2]-_0x546506[0x0]))),_0x1ff72b=Math['sqrt'](Math['abs'](_0x50bd54*(_0x546506[0x0]+_0x546506[0x2]-_0x546506[0x1]))),_0x3139ee=Math['sqrt'](Math['abs'](_0x50bd54*(_0x546506[0x0]+_0x546506[0x1]-_0x546506[0x2])));const _0x34f745=(Math['abs'](_0x546506[0x0])+Math['abs'](_0x546506[0x1])+Math['abs'](_0x546506[0x2]))/0x3;if(Math['sqrt'](_0x34f745/_0x278cf9)>(_0x476fb8+_0x1ff72b+_0x3139ee)/0x3)return null;if(_0x278cf9/(_0x476fb8*_0x1ff72b*_0x3139ee)<0.0001)return null;const _0x4ebcc4=0.01;return _0x476fb8=Math['max'](_0x476fb8,_0x4ebcc4),_0x1ff72b=Math['max'](_0x1ff72b,_0x4ebcc4),_0x3139ee=Math['max'](_0x3139ee,_0x4ebcc4),_0x476fb8<_0x4ebcc4&&_0x1ff72b<_0x4ebcc4&&_0x3139ee<_0x4ebcc4&&(_0x476fb8=_0x1ff72b=_0x3139ee=0.05),{'width':_0x476fb8,'height':_0x1ff72b,'depth':_0x3139ee,'rotation':_0x2f00e7};}static['createInertiaBoxGeometry'](_0x270742,_0xb8fe96,_0x585398){return new _0x4eed01(_0x270742,_0xb8fe96,_0x585398);}static['computeInertiaEllipsoid'](_0x3d54f4){const _0x313c03=_0x3d54f4['ixx']||0x0,_0x1f9713=_0x3d54f4['iyy']||0x0,_0x1f52b8=_0x3d54f4['izz']||0x0,_0x59d135=_0x3d54f4['ixy']||0x0,_0x54b206=_0x3d54f4['ixz']||0x0,_0x203bd3=_0x3d54f4['iyz']||0x0,_0x2b42b5=new _0xd6c5af();_0x2b42b5['set'](_0x313c03,_0x59d135,_0x54b206,_0x59d135,_0x1f9713,_0x203bd3,_0x54b206,_0x203bd3,_0x1f52b8);const _0x5e181b=this['computeEigenvalues3x3'](_0x2b42b5),_0x27e547=_0x3d54f4['mass']||0x1,_0x3067f6=0.1/Math['sqrt'](_0x27e547),_0x145b8a=[Math['sqrt'](Math['max'](_0x5e181b[0x0],0x0))*_0x3067f6,Math['sqrt'](Math['max'](_0x5e181b[0x1],0x0))*_0x3067f6,Math['sqrt'](Math['max'](_0x5e181b[0x2],0x0))*_0x3067f6];return _0x145b8a['forEach']((_0x241d43,_0x10e15f)=>{_0x241d43<0.01&&(_0x145b8a[_0x10e15f]=0.01);}),{'radii':_0x145b8a,'rotation':new _0x940d5(0x0,0x0,0x0)};}static['createInertiaEllipsoidGeometry'](_0x49e16c){const _0x47c276=new _0x24a7ae(0x1,0x20,0x20);return _0x47c276['scale'](_0x49e16c[0x0],_0x49e16c[0x1],_0x49e16c[0x2]),_0x47c276;}static['rpyToEuler'](_0xdd9fbf){return _0xdd9fbf&&0x3===_0xdd9fbf['length']?new _0x940d5(_0xdd9fbf[0x0],_0xdd9fbf[0x1],_0xdd9fbf[0x2],'XYZ'):new _0x940d5(0x0,0x0,0x0);}static['xyzToVector3'](_0x7c8c00){return _0x7c8c00&&0x3===_0x7c8c00['length']?new _0x47b065(_0x7c8c00[0x0],_0x7c8c00[0x1],_0x7c8c00[0x2]):new _0x47b065(0x0,0x0,0x0);}}function Ve(_0x398598,_0x307b95){if(!_0x307b95||!_0x307b95['threeObject'])return null;let _0x4e5d04=_0x398598;const _0x4985bc=_0x307b95['threeObject'];for(;_0x4e5d04;){if('URDFLink'===_0x4e5d04['type']||_0x4e5d04['isURDFLink']){const _0x4b93b3=_0x4e5d04['name'];if(_0x4b93b3&&_0x307b95['links']&&_0x307b95['links']['has'](_0x4b93b3)){return{'linkData':_0x307b95['links']['get'](_0x4b93b3),'threeObject':_0x4e5d04,'name':_0x4b93b3};}}if(_0x4e5d04===_0x4985bc||!_0x4e5d04['parent'])break;_0x4e5d04=_0x4e5d04['parent'];}return null;}const qe=new _0x47b065(),Be=new _0x47b065(),$e=new _0x47b065(),Je=new _0x47b065(),He=new _0x47b065(),Ge=new _0x47b065(),We=new _0x47b065(),Xe=new _0x1513bb();class Ye{constructor(_0x3f75ed,_0x594a24,_0x45ea66,_0x4e0bba){this['enabled']=!0x0,this['scene']=_0x3f75ed,this['camera']=_0x594a24,this['domElement']=_0x45ea66,this['model']=_0x4e0bba,this['raycaster']=new _0x28dd19(),this['raycaster']['layers']['enableAll'](),this['initialGrabPoint']=new _0x47b065(),this['hitDistance']=-0x1,this['hovered']=null,this['manipulating']=null,this['renderer']=null;}['update'](){const {raycaster:_0x219706,hovered:_0x5b1eb3,manipulating:_0x46a5f9}=this,_0x5c7e6a=this['model'];if(_0x46a5f9||!this['enabled']||!_0x5c7e6a||!_0x5c7e6a['threeObject'])return;let _0x3b710f=null;const _0x4d8929=[];_0x5c7e6a['threeObject']['traverse'](_0x5a95e6=>{if(_0x5a95e6['isMesh']&&!_0x5a95e6['visible']){let _0x2da0e6=!0x1,_0x2c5f0d=_0x5a95e6;for(;_0x2c5f0d;){if(_0x2c5f0d['isURDFCollider']){_0x2da0e6=!0x0;break;}_0x2c5f0d=_0x2c5f0d['parent'];}_0x2da0e6||(_0x5a95e6['visible']=!0x0,_0x4d8929['push'](_0x5a95e6));}});const _0x5c2b2e=_0x219706['intersectObject'](_0x5c7e6a['threeObject'],!0x0);_0x4d8929['forEach'](_0x324cd7=>{_0x324cd7['visible']=!0x1;});const _0x33aedd=_0x5c2b2e['filter'](_0x468fd2=>{var _0x84fa91,_0x23d9db;const _0x569d9f=_0x468fd2['object'];if(_0x569d9f['isURDFCollider']||(null==(_0x84fa91=_0x569d9f['userData'])?void 0x0:_0x84fa91['isCollision'])||(null==(_0x23d9db=_0x569d9f['userData'])?void 0x0:_0x23d9db['isCollisionGeom']))return!0x1;let _0x5b35b5=!0x1,_0x138497=_0x569d9f;for(;_0x138497;){if(_0x138497['isURDFCollider']){_0x5b35b5=!0x0;break;}_0x138497=_0x138497['parent'];}return!_0x5b35b5&&_0x569d9f['isMesh'];});if(0x0!==_0x33aedd['length']){const _0x2c5ec6=_0x33aedd[0x0];_0x3b710f=Ve(_0x2c5ec6['object'],_0x5c7e6a),_0x3b710f&&(this['hitDistance']=_0x2c5ec6['distance'],this['initialGrabPoint']['copy'](_0x2c5ec6['point']));}((null==_0x3b710f?void 0x0:_0x3b710f['name'])||null)!==((null==_0x5b1eb3?void 0x0:_0x5b1eb3['name'])||null)?(_0x5b1eb3&&this['onUnhover'](_0x5b1eb3),this['hovered']=_0x3b710f,_0x3b710f&&this['onHover'](_0x3b710f)):_0x3b710f&&_0x5b1eb3&&(this['hovered']=_0x3b710f);}['updateJoint'](_0x86d16b,_0x513505){this['onUpdateJoint']&&this['onUpdateJoint'](_0x86d16b,_0x513505);}['onDragStart'](_0x50fdee){}['onDragEnd'](_0x26ebbb){}['onHover'](_0x4bebd1){}['onUnhover'](_0x4c7b5b){}['getJointAxis'](_0x3b4e04){return _0x3b4e04['threeObject']&&_0x3b4e04['threeObject']['axis']instanceof _0x47b065?_0x3b4e04['threeObject']['axis']['clone']():_0x3b4e04['axis']&&_0x3b4e04['axis']['xyz']?Ue['xyzToVector3'](_0x3b4e04['axis']['xyz']):new _0x47b065(0x0,0x0,0x1);}['getJointThreeObject'](_0x393396){return _0x393396['threeObject'];}['getJointCurrentValue'](_0x53e049){if(_0x53e049['threeObject']){if(void 0x0!==_0x53e049['threeObject']['angle'])return _0x53e049['threeObject']['angle'];if(_0x53e049['threeObject']['jointValue']&&_0x53e049['threeObject']['jointValue']['length']>0x0)return _0x53e049['threeObject']['jointValue'][0x0];}return void 0x0!==_0x53e049['currentValue']?_0x53e049['currentValue']:0x0;}['getRevoluteDelta'](_0xd1fb45,_0x5674a5,_0x5de1ac){const _0x22c4f8=this['getJointThreeObject'](_0xd1fb45);if(!_0x22c4f8)return 0x0;const _0x3d3871=this['getJointAxis'](_0xd1fb45);Je['copy'](_0x3d3871)['transformDirection'](_0x22c4f8['matrixWorld'])['normalize'](),$e['set'](0x0,0x0,0x0)['applyMatrix4'](_0x22c4f8['matrixWorld']),Xe['setFromNormalAndCoplanarPoint'](Je,$e),Xe['projectPoint'](_0x5674a5,Ge),Xe['projectPoint'](_0x5de1ac,We),Ge['sub']($e),We['sub']($e),Je['crossVectors'](Ge,We);const _0x131524=Je['dot'](Xe['normal']);return Math['sign'](_0x131524)*We['angleTo'](Ge);}['getPrismaticDelta'](_0x2a69b,_0x473374,_0x2ded7a){var _0x4d7e2c;const _0x2d116b=this['getJointThreeObject'](_0x2a69b);if(!_0x2d116b)return 0x0;Je['subVectors'](_0x2ded7a,_0x473374);const _0x268717=this['getJointAxis'](_0x2a69b);return Xe['normal']['copy'](_0x268717)['transformDirection']((null==(_0x4d7e2c=_0x2d116b['parent'])?void 0x0:_0x4d7e2c['matrixWorld'])||new _0x57ef6e())['normalize'](),Je['dot'](Xe['normal']);}['moveRay'](_0x23a3a4){var _0x505466,_0x344746,_0x51aee9,_0x643790,_0x432c77;const {raycaster:_0x320fd6,hitDistance:_0x21e110,manipulating:_0x6866ef}=this,{ray:_0x67029c}=_0x320fd6;if(_0x6866ef){_0x67029c['at'](_0x21e110,qe),_0x23a3a4['at'](_0x21e110,Be);let _0x1d9b89=0x0;const _0x2f62db=_0x6866ef['type'];if('revolute'===_0x2f62db||'continuous'===_0x2f62db?_0x1d9b89=this['getRevoluteDelta'](_0x6866ef,qe,Be):'prismatic'===_0x2f62db&&(_0x1d9b89=this['getPrismaticDelta'](_0x6866ef,qe,Be)),_0x1d9b89){let _0x145d6c=this['getJointCurrentValue'](_0x6866ef)+_0x1d9b89;if(_0x6866ef['limits']){(null==(_0x344746=null==(_0x505466=this['model'])?void 0x0:_0x505466['userData'])?void 0x0:_0x344746['ignoreLimits'])||(null==(_0x432c77=null==(_0x643790=null==(_0x51aee9=this['model'])?void 0x0:_0x51aee9['threeObject'])?void 0x0:_0x643790['userData'])?void 0x0:_0x432c77['ignoreLimits'])||!0x1||(_0x145d6c=Math['max'](_0x6866ef['limits']['lower'],Math['min'](_0x6866ef['limits']['upper'],_0x145d6c)));}this['updateJoint'](_0x6866ef,_0x145d6c);}}this['raycaster']['ray']['copy'](_0x23a3a4),this['update']();}['setGrabbed'](_0x314224){const {hovered:_0x1af633,manipulating:_0x5094a2}=this;if(_0x314224){if(null!==_0x5094a2||null===_0x1af633)return;const _0xa51adc=function(_0x4e1f4c,_0xc7323c){if(!_0x4e1f4c||!_0x4e1f4c['threeObject']||!_0xc7323c['joints'])return null;let _0x318b0c=_0x4e1f4c['threeObject'];for(;_0x318b0c;){const _0x19352d=_0x318b0c['parent'];if(_0x19352d&&('URDFJoint'===_0x19352d['type']||_0x19352d['isURDFJoint'])){const _0x358ad4=_0x19352d['name'];if(_0x358ad4&&_0xc7323c['joints']['has'](_0x358ad4)){const _0x335d47=_0xc7323c['joints']['get'](_0x358ad4);if('fixed'!==_0x335d47['type'])return _0x335d47;const _0x1281c3=_0x19352d['parent'];if(_0x1281c3&&('URDFLink'===_0x1281c3['type']||_0x1281c3['isURDFLink'])){_0x318b0c=_0x1281c3;continue;}}}break;}return null;}(_0x1af633,this['model']);_0xa51adc?(this['manipulating']=_0xa51adc,this['manipulatingLink']=_0x1af633,this['onDragStart'](_0x1af633)):(this['manipulatingLink']=_0x1af633,this['onDragStart'](_0x1af633));}else{if(null===this['manipulating']&&!this['manipulatingLink'])return;this['onDragEnd'](this['manipulatingLink']||_0x1af633),this['manipulating']=null,this['manipulatingLink']=null,this['update']();}}}class Ze extends Ye{constructor(_0x453417,_0x44a2ce,_0x17468e,_0x5bfb2d){super(_0x453417,_0x44a2ce,_0x17468e,_0x5bfb2d),this['camera']=_0x44a2ce,this['domElement']=_0x17468e;const _0xfdf1c3=new _0x28dd19(),_0x52335c=new _0x2bb978(),_0x37d606=_0x543e13=>{const _0x4b562d=_0x17468e['getBoundingClientRect']();_0x52335c['x']=(_0x543e13['clientX']-_0x4b562d['left'])/_0x4b562d['width']*0x2-0x1,_0x52335c['y']=-(_0x543e13['clientY']-_0x4b562d['top'])/_0x4b562d['height']*0x2+0x1;};this['_mouseDown']=_0x24965f=>{if(0x0!==_0x24965f['button'])return;if(_0x37d606(_0x24965f),_0xfdf1c3['setFromCamera'](_0x52335c,this['camera']),!this['model']||!this['model']['threeObject'])return;const _0x15e6a8=[];this['model']['threeObject']['traverse'](_0x1a7c06=>{if(_0x1a7c06['isMesh']&&!_0x1a7c06['visible']){let _0x366acf=!0x1,_0x156822=_0x1a7c06;for(;_0x156822;){if(_0x156822['isURDFCollider']){_0x366acf=!0x0;break;}_0x156822=_0x156822['parent'];}_0x366acf||(_0x1a7c06['visible']=!0x0,_0x15e6a8['push'](_0x1a7c06));}});const _0x1dc287=_0xfdf1c3['intersectObject'](this['model']['threeObject'],!0x0);_0x15e6a8['forEach'](_0x5be644=>{_0x5be644['visible']=!0x1;});const _0x438c29=_0x1dc287['filter'](_0x1c410c=>{var _0x7d7d2f,_0x592199;const _0x455487=_0x1c410c['object'];if(_0x455487['isURDFCollider']||(null==(_0x7d7d2f=_0x455487['userData'])?void 0x0:_0x7d7d2f['isCollision'])||(null==(_0x592199=_0x455487['userData'])?void 0x0:_0x592199['isCollisionGeom']))return!0x1;let _0x25cfac=!0x1,_0x571674=_0x455487;for(;_0x571674;){if(_0x571674['isURDFCollider']){_0x25cfac=!0x0;break;}_0x571674=_0x571674['parent'];}return!_0x25cfac&&_0x455487['isMesh'];});(_0x438c29['length']>0x0?Ve(_0x438c29[0x0]['object'],this['model']):null)&&(this['moveRay'](_0xfdf1c3['ray']),this['setGrabbed'](!0x0));},this['_mouseMove']=_0x46daf5=>{_0x37d606(_0x46daf5),_0xfdf1c3['setFromCamera'](_0x52335c,this['camera']),this['moveRay'](_0xfdf1c3['ray']);},this['_mouseUp']=_0xce114d=>{0x0===_0xce114d['button']&&(_0x37d606(_0xce114d),_0xfdf1c3['setFromCamera'](_0x52335c,this['camera']),this['moveRay'](_0xfdf1c3['ray']),this['setGrabbed'](!0x1));},this['_mouseLeave']=()=>{this['manipulating']&&this['setGrabbed'](!0x1),this['hovered']&&(this['onUnhover'](this['hovered']),this['hovered']=null);},_0x17468e['addEventListener']('mousedown',this['_mouseDown']),_0x17468e['addEventListener']('mousemove',this['_mouseMove']),_0x17468e['addEventListener']('mouseup',this['_mouseUp']),_0x17468e['addEventListener']('mouseleave',this['_mouseLeave']);}['getRevoluteDelta'](_0x1beaf2,_0x367162,_0x163603){const {camera:_0x16e875,initialGrabPoint:_0x4368a9}=this,_0x346ca0=this['getJointThreeObject'](_0x1beaf2);if(!_0x346ca0)return 0x0;const _0x41c1da=this['getJointAxis'](_0x1beaf2);return Je['copy'](_0x41c1da)['transformDirection'](_0x346ca0['matrixWorld'])['normalize'](),$e['set'](0x0,0x0,0x0)['applyMatrix4'](_0x346ca0['matrixWorld']),Xe['setFromNormalAndCoplanarPoint'](Je,$e),Je['copy'](_0x16e875['position'])['sub'](_0x4368a9)['normalize'](),Math['abs'](Je['dot'](Xe['normal']))>0.3?super['getRevoluteDelta'](_0x1beaf2,_0x367162,_0x163603):(Je['set'](0x0,0x1,0x0)['transformDirection'](_0x16e875['matrixWorld']),Xe['projectPoint'](_0x367162,Ge),Xe['projectPoint'](_0x163603,We),Je['set'](0x0,0x0,-0x1)['transformDirection'](_0x16e875['matrixWorld']),Je['cross'](Xe['normal']),He['subVectors'](_0x163603,_0x367162),Je['dot'](He));}['dispose'](){const {domElement:_0x2990d6}=this;_0x2990d6['removeEventListener']('mousedown',this['_mouseDown']),_0x2990d6['removeEventListener']('mousemove',this['_mouseMove']),_0x2990d6['removeEventListener']('mouseup',this['_mouseUp']),_0x2990d6['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'](_0x390efc){this['links']['set'](_0x390efc['name'],_0x390efc);}['addJoint'](_0xe6d204){this['joints']['set'](_0xe6d204['name'],_0xe6d204);}['addConstraint'](_0x337842){this['constraints']['set'](_0x337842['name'],_0x337842);}['getLink'](_0x356aeb){return this['links']['get'](_0x356aeb);}['getJoint'](_0x1caa42){return this['joints']['get'](_0x1caa42);}['getConstraint'](_0x83d5e2){return this['constraints']['get'](_0x83d5e2);}}class Ke{constructor(_0x5b3e7a){this['name']=_0x5b3e7a,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(_0x40b31){this['type']=_0x40b31,this['size']=null,this['filename']=null;}['clone'](){const _0x3deac6=new nt(this['type']);return _0x3deac6['size']=this['size']?{...this['size']}:null,_0x3deac6['filename']=this['filename'],_0x3deac6;}}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(_0x3846e6,_0x2f688d){this['name']=_0x3846e6,this['type']=_0x2f688d,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(_0x2891e9,_0x2265e5){this['name']=_0x2891e9,this['type']=_0x2265e5,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(_0x5f3c06,_0x522fa8,_0x208f26){const _0x389894=lt(_0x522fa8,'joint_index'),_0x2110b6=lt(_0x522fa8,'rest_j_pos');if(!_0x389894||!_0x2110b6)return;const _0x152af8=Math['min'](_0x389894['length'],_0x2110b6['length']);for(let _0x16a84a=0x0;_0x16a84a<_0x152af8;_0x16a84a++){const _0x4be8b5=_0x389894[_0x16a84a];if(_0x4be8b5<0x0)continue;const _0x54a070=_0x208f26[_0x4be8b5];_0x54a070&&_0x5f3c06['set'](_0x54a070,_0x2110b6[_0x16a84a]);}}function lt(_0x9d6b76,_0x10b1d8){const _0x148590=function(_0x4bcb1d,_0x68f0e5){const _0x2edcef=new RegExp('^\x5cs*-?\x5cs*'+_0x68f0e5+':\x5cs*\x5c[([^\x5c]]+)\x5c]','m'),_0x2c1fa2=_0x4bcb1d['match'](_0x2edcef);if(_0x2c1fa2){return _0x2c1fa2[0x1]['split'](',')['map'](_0x3f5fb9=>parseFloat(_0x3f5fb9['trim']()))['filter'](_0x5f1edc=>!isNaN(_0x5f1edc));}return null;}(_0x9d6b76,_0x10b1d8);if(_0x148590)return _0x148590;const _0x5dedc0=function(_0x3fa93f,_0x2c63e9){const _0x9ec0b6=new RegExp('^\x5cs*'+_0x2c63e9+':\x5cs*(-?\x5cd+(?:\x5c.\x5cd+)?)','m'),_0x2ae529=_0x3fa93f['match'](_0x9ec0b6);if(_0x2ae529){const _0x535c06=parseFloat(_0x2ae529[0x1]);return isNaN(_0x535c06)?null:_0x535c06;}return null;}(_0x9d6b76,_0x10b1d8);return null!==_0x5dedc0?[_0x5dedc0]:null;}function ct(_0x166371,_0x499c20){const _0x554d58=[],_0x4a4925=_0x166371['split']('\x0a');let _0x43b53c=!0x1,_0x2f423a=[],_0x470ce9=-0x1;for(let _0x22bd3b=0x0;_0x22bd3b<_0x4a4925['length'];_0x22bd3b++){const _0x50a51d=_0x4a4925[_0x22bd3b],_0x5e33d2=_0x50a51d['trimStart']();if(_0x5e33d2['startsWith']('#')||0x0===_0x5e33d2['length']){_0x43b53c&&_0x2f423a['push'](_0x50a51d);continue;}const _0x181e55=_0x50a51d['length']-_0x5e33d2['length'];_0x5e33d2===_0x499c20+':'||_0x5e33d2['startsWith'](_0x499c20+':')?(_0x43b53c&&_0x2f423a['length']>0x0&&_0x554d58['push'](_0x2f423a['join']('\x0a')),_0x43b53c=!0x0,_0x470ce9=_0x181e55,_0x2f423a=[_0x50a51d]):_0x43b53c&&(_0x181e55>_0x470ce9||_0x181e55===_0x470ce9&&_0x5e33d2['startsWith']('-')?_0x2f423a['push'](_0x50a51d):(_0x554d58['push'](_0x2f423a['join']('\x0a')),_0x43b53c=!0x1,_0x2f423a=[],_0x470ce9=-0x1));}return _0x43b53c&&_0x2f423a['length']>0x0&&_0x554d58['push'](_0x2f423a['join']('\x0a')),0x1===_0x554d58['length']&&_0x554d58[0x0]['includes']('-\x20')?function(_0x49499a){const _0x4615ef=[],_0xc8f43=_0x49499a['split']('\x0a');let _0x5886cf=[],_0x5e8da5=-0x1;for(const _0x1de739 of _0xc8f43){const _0x5cc1e3=_0x1de739['trimStart']();if(_0x5cc1e3['startsWith']('#')||0x0===_0x5cc1e3['length'])continue;const _0x1b3927=_0x1de739['length']-_0x5cc1e3['length'];_0x5cc1e3['startsWith']('-\x20')?(_0x5886cf['length']>0x0&&_0x4615ef['push'](_0x5886cf['join']('\x0a')),_0x5886cf=[_0x1de739],_0x5e8da5=_0x1b3927):_0x5e8da5>=0x0&&_0x1b3927>_0x5e8da5?_0x5886cf['push'](_0x1de739):_0x5886cf['length']>0x0&&(_0x4615ef['push'](_0x5886cf['join']('\x0a')),_0x5886cf=[],_0x5e8da5=-0x1);}_0x5886cf['length']>0x0&&_0x4615ef['push'](_0x5886cf['join']('\x0a'));return _0x4615ef;}(_0x554d58[0x0]):_0x554d58;}function ht(_0x54d89d){if(!_0x54d89d||!_0x54d89d['joints'])return[];const _0x40cd70=new Map();_0x54d89d['joints']['forEach'](_0x20bb64=>{const _0x201ac0=_0x20bb64['parent']||'__root__';_0x40cd70['has'](_0x201ac0)||_0x40cd70['set'](_0x201ac0,[]),_0x40cd70['get'](_0x201ac0)['push'](_0x20bb64);});const _0x14bdc7=[];return function _0x37f666(_0x54f31e){(_0x40cd70['get'](_0x54f31e)||[])['forEach'](_0x3b40f2=>{_0x14bdc7['push'](_0x3b40f2),_0x37f666(_0x3b40f2['child']);});}(_0x54d89d['rootLink']||'__root__'),_0x54d89d['joints']['forEach'](_0x302501=>{_0x14bdc7['includes'](_0x302501)||_0x14bdc7['push'](_0x302501);}),_0x14bdc7;}class ut{static['convert'](_0x5c581c,_0x1a1072=null,_0xf8bfa={}){const _0x4c7ad1=new Qe();if(_0x4c7ad1['name']=_0x5c581c['name']||'robot',_0x4c7ad1['threeObject']=_0x5c581c,_0x5c581c['userData']||(_0x5c581c['userData']={}),_0x5c581c['userData']['type']='urdf',!_0x5c581c['links']||!_0x5c581c['joints'])return _0x4c7ad1;let _0x2748e5={};_0x1a1072&&(_0x2748e5=this['parseInertialFromXML'](_0x1a1072)),Object['values'](_0x5c581c['links'])['forEach'](_0x1383bf=>{const _0x1a5d7d=this['convertLink'](_0x1383bf);!_0x1a5d7d['inertial']&&_0x2748e5[_0x1383bf['name']]&&(_0x1a5d7d['inertial']=_0x2748e5[_0x1383bf['name']]),_0x4c7ad1['addLink'](_0x1a5d7d);}),Object['values'](_0x5c581c['joints'])['forEach'](_0x4d0485=>{const _0x59f068=this['convertJoint'](_0x4d0485);_0x4c7ad1['addJoint'](_0x59f068);}),_0x1a1072&&this['supplementJointLimitsFromXML'](_0x4c7ad1,_0x1a1072);const _0x47335e=new Set(Array['from'](_0x4c7ad1['joints']['values']())['map'](_0xe89748=>_0xe89748['child'])['filter'](_0x26cb56=>_0x26cb56)),_0x46e48b=Array['from'](_0x4c7ad1['links']['keys']())['filter'](_0x22435f=>!_0x47335e['has'](_0x22435f));return _0x46e48b['length']>0x0&&(_0x4c7ad1['rootLink']=_0x46e48b[0x0]),_0xf8bfa['vrConfigContent']&&this['applyVRConfigRestPositions'](_0x4c7ad1,_0xf8bfa['vrConfigContent']),this['enhanceMaterials'](_0x5c581c),_0x4c7ad1;}static['enhanceMaterials'](_0x4516f8){_0x4516f8['traverse'](_0x49ffa2=>{_0x49ffa2['isMesh']&&_0x49ffa2['material']&&(Array['isArray'](_0x49ffa2['material'])?_0x49ffa2['material']=_0x49ffa2['material']['map'](_0x5775cc=>this['enhanceSingleMaterial'](_0x5775cc)):_0x49ffa2['material']=this['enhanceSingleMaterial'](_0x49ffa2['material']));});}static['enhanceSingleMaterial'](_0x42f003){var _0x47aed3,_0x1a5b59,_0x5e7628;if(_0x42f003['isMeshPhongMaterial']||_0x42f003['isMeshStandardMaterial']){if(void 0x0===_0x42f003['userData']['originalShininess'])if(_0x42f003['userData']['originalShininess']=void 0x0!==_0x42f003['shininess']?_0x42f003['shininess']:0x1e,!_0x42f003['userData']['originalColor']&&_0x42f003['color']&&(_0x42f003['userData']['originalColor']=_0x42f003['color']['clone']()),_0x42f003['specular'])if(_0x42f003['specular']['isColor']){const _0x2b4520=_0x42f003['specular'];_0x2b4520['r']<0.1&&_0x2b4520['g']<0.1&&_0x2b4520['b']<0.1?_0x42f003['userData']['originalSpecular']=null:_0x42f003['userData']['originalSpecular']=_0x2b4520['clone']();}else'number'==typeof _0x42f003['specular']?0x111111===_0x42f003['specular']||_0x42f003['specular']<0x111111?_0x42f003['userData']['originalSpecular']=null:_0x42f003['userData']['originalSpecular']=new _0x342136(_0x42f003['specular']):_0x42f003['userData']['originalSpecular']=null;else _0x42f003['userData']['originalSpecular']=null;return(void 0x0===_0x42f003['shininess']||_0x42f003['shininess']<0x32)&&(_0x42f003['shininess']=0x32),_0x42f003['specular']?_0x42f003['specular']['isColor']?(_0x42f003['specular']['r']<0.2||_0x42f003['specular']['g']<0.2||_0x42f003['specular']['b']<0.2)&&_0x42f003['specular']['setRGB'](0.3,0.3,0.3):'number'==typeof _0x42f003['specular']&&(_0x42f003['specular']<0x333333?_0x42f003['specular']=new _0x342136(0.3,0.3,0.3):(_0x42f003['specular']=new _0x342136(_0x42f003['specular']),_0x42f003['specular']['r']<0.2&&_0x42f003['specular']['setRGB'](0.3,0.3,0.3))):_0x42f003['specular']=new _0x342136(0.3,0.3,0.3),_0x42f003['needsUpdate']=!0x0,_0x42f003;}if('MeshBasicMaterial'===_0x42f003['type']){const _0x5158b3=_0x42f003,_0x31b131='undefined'!=typeof window&&(null==(_0x5e7628=null==(_0x1a5b59=null==(_0x47aed3=window['app'])?void 0x0:_0x47aed3['sceneManager'])?void 0x0:_0x1a5b59['environmentManager'])?void 0x0:_0x5e7628['getEnvironmentMap']()),_0x4a781d=new _0x2f1015({'color':_0x5158b3['color'],'map':_0x5158b3['map'],'transparent':_0x5158b3['transparent'],'opacity':_0x5158b3['opacity'],'side':_0x5158b3['side'],'shininess':0x32,'specular':new _0x342136(0.3,0.3,0.3),'envMap':_0x31b131||null,'reflectivity':_0x31b131?0.3:0x0});return _0x4a781d['userData']['originalShininess']=0x1e,_0x4a781d['userData']['originalSpecular']=null,_0x4a781d;}return _0x42f003;}static['convertLink'](_0x49984a){const _0x1fb807=new Ke(_0x49984a['name']);return _0x1fb807['threeObject']=_0x49984a,_0x49984a['inertial']&&(_0x1fb807['inertial']=this['convertInertial'](_0x49984a['inertial'])),_0x1fb807;}static['convertJoint'](_0x19d425){var _0x2c35ef;const _0xbc0373=_0x19d425['jointType']||_0x19d425['type']||'fixed',_0x8c3668=new st(_0x19d425['name'],_0xbc0373);if(_0x8c3668['parent']=(null==(_0x2c35ef=_0x19d425['parent'])?void 0x0:_0x2c35ef['name'])||null,_0x19d425['child']&&_0x19d425['child']['name'])_0x8c3668['child']=_0x19d425['child']['name'];else if(_0x19d425['children']&&_0x19d425['children']['length']>0x0){const _0xab035f=_0x19d425['children']['find'](_0x3fd125=>_0x3fd125['isURDFLink']||'URDFLink'===_0x3fd125['type']);_0xab035f&&(_0x8c3668['child']=_0xab035f['name']);}return _0x8c3668['threeObject']=_0x19d425,_0x19d425['origin']&&(_0x8c3668['origin']={'xyz':_0x19d425['origin']['xyz']||[0x0,0x0,0x0],'rpy':_0x19d425['origin']['rpy']||[0x0,0x0,0x0]}),_0x19d425['axis']&&(_0x8c3668['axis']={'xyz':_0x19d425['axis']['xyz']||[0x0,0x0,0x1]}),_0x19d425['limit']&&(_0x8c3668['limits']=this['convertLimits'](_0x19d425['limit'])),void 0x0!==_0x19d425['angle']?_0x8c3668['currentValue']=_0x19d425['angle']:void 0x0!==_0x19d425['jointValue']&&(_0x8c3668['currentValue']=_0x19d425['jointValue']),_0x19d425['mimicJoint']&&(_0x8c3668['mimic']={'joint':_0x19d425['mimicJoint'],'multiplier':_0x19d425['multiplier']??0x1,'offset':_0x19d425['offset']??0x0}),_0x8c3668;}static['convertLimits'](_0x5350d7){const _0x28ef08=new rt();return void 0x0!==_0x5350d7['lower']&&(_0x28ef08['lower']=_0x5350d7['lower']),void 0x0!==_0x5350d7['upper']&&(_0x28ef08['upper']=_0x5350d7['upper']),void 0x0!==_0x5350d7['effort']&&(_0x28ef08['effort']=_0x5350d7['effort']),void 0x0!==_0x5350d7['velocity']&&(_0x28ef08['velocity']=_0x5350d7['velocity']),_0x28ef08;}static['supplementJointLimitsFromXML'](_0x3164cf,_0x58e8aa){try{const _0x159c08=new DOMParser()['parseFromString'](_0x58e8aa,'text/xml');_0x159c08['querySelectorAll']('joint')['forEach'](_0x1673e1=>{const _0x12e207=_0x1673e1['getAttribute']('name'),_0x2edd3e=_0x3164cf['joints']['get'](_0x12e207);if(_0x2edd3e){const _0x19da89=_0x1673e1['querySelector']('limit');if(_0x19da89){_0x2edd3e['limits']||(_0x2edd3e['limits']=new rt());const _0x212858=_0x19da89['getAttribute']('effort'),_0x55e620=_0x19da89['getAttribute']('velocity');null!==_0x212858&&(_0x2edd3e['limits']['effort']=parseFloat(_0x212858)),null!==_0x55e620&&(_0x2edd3e['limits']['velocity']=parseFloat(_0x55e620));const _0x24386d=_0x19da89['getAttribute']('lower'),_0x29783c=_0x19da89['getAttribute']('upper');null!==_0x24386d&&(_0x2edd3e['limits']['lower']=parseFloat(_0x24386d)),null!==_0x29783c&&(_0x2edd3e['limits']['upper']=parseFloat(_0x29783c));}}});}catch(_0x2a969b){}}static['convertInertial'](_0x15ab99){const _0x45027b=new it();return void 0x0!==_0x15ab99['mass']&&(_0x45027b['mass']=_0x15ab99['mass']),_0x15ab99['origin']&&(_0x45027b['origin']={'xyz':_0x15ab99['origin']['xyz']||[0x0,0x0,0x0],'rpy':_0x15ab99['origin']['rpy']||[0x0,0x0,0x0]}),void 0x0!==_0x15ab99['ixx']&&(_0x45027b['ixx']=_0x15ab99['ixx']),void 0x0!==_0x15ab99['iyy']&&(_0x45027b['iyy']=_0x15ab99['iyy']),void 0x0!==_0x15ab99['izz']&&(_0x45027b['izz']=_0x15ab99['izz']),void 0x0!==_0x15ab99['ixy']&&(_0x45027b['ixy']=_0x15ab99['ixy']),void 0x0!==_0x15ab99['ixz']&&(_0x45027b['ixz']=_0x15ab99['ixz']),void 0x0!==_0x15ab99['iyz']&&(_0x45027b['iyz']=_0x15ab99['iyz']),_0x45027b;}static['parseInertialFromXML'](_0x47f7b5){const _0x24d817={};try{const _0x8c3910=new DOMParser(),_0x5f5ca0=_0x8c3910['parseFromString'](_0x47f7b5,'text/xml')['getElementsByTagName']('link');for(let _0x5f144e=0x0;_0x5f144e<_0x5f5ca0['length'];_0x5f144e++){const _0x5a7928=_0x5f5ca0[_0x5f144e],_0x1f2095=_0x5a7928['getAttribute']('name'),_0x2f1197=_0x5a7928['getElementsByTagName']('inertial')[0x0];if(!_0x2f1197)continue;const _0x115f68=new it(),_0x1991f3=_0x2f1197['getElementsByTagName']('mass')[0x0];_0x1991f3&&(_0x115f68['mass']=parseFloat(_0x1991f3['getAttribute']('value')));const _0x52ebbf=_0x2f1197['getElementsByTagName']('origin')[0x0];if(_0x52ebbf){const _0x249286=_0x52ebbf['getAttribute']('xyz'),_0x4cc2cd=_0x52ebbf['getAttribute']('rpy');_0x115f68['origin']={'xyz':_0x249286?_0x249286['split']('\x20')['map'](parseFloat):[0x0,0x0,0x0],'rpy':_0x4cc2cd?_0x4cc2cd['split']('\x20')['map'](parseFloat):[0x0,0x0,0x0]};}else _0x115f68['origin']={'xyz':[0x0,0x0,0x0],'rpy':[0x0,0x0,0x0]};const _0x49f019=_0x2f1197['getElementsByTagName']('inertia')[0x0];_0x49f019&&(_0x115f68['ixx']=parseFloat(_0x49f019['getAttribute']('ixx'))||0x0,_0x115f68['iyy']=parseFloat(_0x49f019['getAttribute']('iyy'))||0x0,_0x115f68['izz']=parseFloat(_0x49f019['getAttribute']('izz'))||0x0,_0x115f68['ixy']=parseFloat(_0x49f019['getAttribute']('ixy'))||0x0,_0x115f68['ixz']=parseFloat(_0x49f019['getAttribute']('ixz'))||0x0,_0x115f68['iyz']=parseFloat(_0x49f019['getAttribute']('iyz'))||0x0),_0x24d817[_0x1f2095]=_0x115f68;}}catch(_0x32822f){}return _0x24d817;}static['applyVRConfigRestPositions'](_0x3893e3,_0x8f146f){try{const _0x32562e=function(_0x2b4fc7,_0x5028cb){const _0x329e92=new Map();if(!_0x2b4fc7||!_0x5028cb||!Array['isArray'](_0x5028cb))return _0x329e92;try{const _0x2dd37e=ct(_0x2b4fc7,'arms');for(const _0x1a7874 of _0x2dd37e)ot(_0x329e92,_0x1a7874,_0x5028cb);const _0x1a9224=ct(_0x2b4fc7,'waist')[0x0];_0x1a9224&&ot(_0x329e92,_0x1a9224,_0x5028cb);const _0x177b20=ct(_0x2b4fc7,'head')[0x0];_0x177b20&&ot(_0x329e92,_0x177b20,_0x5028cb);const _0x186d1f=ct(_0x2b4fc7,'dorsal')[0x0];_0x186d1f&&ot(_0x329e92,_0x186d1f,_0x5028cb);const _0x39c780=ct(_0x2b4fc7,'folding_waist')[0x0];_0x39c780&&ot(_0x329e92,_0x39c780,_0x5028cb);}catch(_0x15dc45){}return _0x329e92;}(_0x8f146f,ht(_0x3893e3)['map'](_0x1aba5e=>_0x1aba5e['name']));if(0x0===_0x32562e['size'])return;let _0x5ae791=0x0;for(const [_0x38fbc1,_0x7ab20b]of _0x32562e['entries']()){const _0x23b450=_0x3893e3['joints']['get'](_0x38fbc1);_0x23b450&&'fixed'!==_0x23b450['type']&&(_0x3893e3['userData']||(_0x3893e3['userData']={}),_0x3893e3['userData']['homePositions']||(_0x3893e3['userData']['homePositions']={}),_0x3893e3['userData']['homePositions'][_0x38fbc1]=_0x7ab20b,this['setJointAngle'](_0x23b450,_0x7ab20b,!0x1),_0x5ae791++);}}catch(_0x5cee26){}}static['setJointAngle'](_0x5df39a,_0x37e4d1,_0x5b61cc=!0x1){if(_0x5df39a['currentValue']=_0x37e4d1,_0x5df39a['threeObject']){let _0x32355f=null;if(_0x5b61cc&&_0x5df39a['threeObject']['limit']&&(_0x32355f={'lower':_0x5df39a['threeObject']['limit']['lower'],'upper':_0x5df39a['threeObject']['limit']['upper']},_0x5df39a['threeObject']['limit']['lower']=0x2*-Math['PI'],_0x5df39a['threeObject']['limit']['upper']=0x2*Math['PI']),'function'==typeof _0x5df39a['threeObject']['setJointValue'])return _0x5df39a['threeObject']['setJointValue'](_0x37e4d1),void(_0x32355f&&_0x5df39a['threeObject']['limit']&&(_0x5df39a['threeObject']['limit']['lower']=_0x32355f['lower'],_0x5df39a['threeObject']['limit']['upper']=_0x32355f['upper']));if('function'==typeof _0x5df39a['threeObject']['setAngle'])return _0x5df39a['threeObject']['setAngle'](_0x37e4d1),void(_0x32355f&&_0x5df39a['threeObject']['limit']&&(_0x5df39a['threeObject']['limit']['lower']=_0x32355f['lower'],_0x5df39a['threeObject']['limit']['upper']=_0x32355f['upper']));if(_0x32355f&&_0x5df39a['threeObject']['limit']&&(_0x5df39a['threeObject']['limit']['lower']=_0x32355f['lower'],_0x5df39a['threeObject']['limit']['upper']=_0x32355f['upper']),'revolute'===_0x5df39a['type']||'continuous'===_0x5df39a['type']){const _0xa1f7e3=_0x5df39a['axis']?new _0x47b065(..._0x5df39a['axis']['xyz'])['normalize']():new _0x47b065(0x0,0x0,0x1);_0x5df39a['threeObject']['rotation']&&_0x5df39a['threeObject']['rotation']['setFromAxisAngle'](_0xa1f7e3,_0x37e4d1);}else if('prismatic'===_0x5df39a['type']){const _0x49294c=_0x5df39a['axis']?new _0x47b065(..._0x5df39a['axis']['xyz'])['normalize']():new _0x47b065(0x1,0x0,0x0);_0x5df39a['threeObject']['position']&&_0x5df39a['threeObject']['position']['copy'](_0x49294c['multiplyScalar'](_0x37e4d1));}}}}function dt(_0x2da7d0){return new Promise((_0x41ff8d,_0xb2f6e4)=>{const _0x2e3da6=new FileReader();_0x2e3da6['onload']=_0x15997f=>_0x41ff8d(_0x15997f['target']['result']),_0x2e3da6['onerror']=_0xb2f6e4,_0x2e3da6['readAsText'](_0x2da7d0);});}function pt(_0x2e4354){return new Promise((_0x4bfe04,_0x5c26ac)=>{_0x2e4354['file'](_0x4bfe04,_0x5c26ac);});}function mt(_0x4afceb){return _0x4afceb?_0x4afceb['replace'](/\\/g,'/')['replace'](/^\/+/,'')['replace'](/\/+/g,'/'):'';}function gt(_0x23b60a){return mt(_0x23b60a)['split']('/')['reduce']((_0x4402fa,_0x3a12b2)=>_0x3a12b2&&'.'!==_0x3a12b2?'..'===_0x3a12b2?(_0x4402fa['pop'](),_0x4402fa):(_0x4402fa['push'](_0x3a12b2),_0x4402fa):_0x4402fa,[])['join']('/');}function ft(_0x376047){if(!_0x376047||!_0x376047['startsWith']('blob:'))return _0x376047;const _0x584206=_0x376047['match'](/^blob:https?:\/\/[^/]+\/(.+)$/);return(null==_0x584206?void 0x0:_0x584206[0x1])||_0x376047;}function yt(_0x2fc7f6,_0x323740){if(!_0x323740)return;const _0x14aaa6=ft(_0x323740);[_0x323740,_0x14aaa6,mt(_0x14aaa6),gt(_0x14aaa6)]['forEach'](_0x73666f=>{_0x73666f&&_0x2fc7f6['push'](_0x73666f);});}function vt(_0x1e1e3b,_0x382e95){let _0x491ce2=null,_0x7756e6=0x0;for(const [_0x590dec,_0x15434e]of _0x1e1e3b['entries']())_0x382e95(_0x590dec)&&(_0x491ce2=_0x15434e,_0x7756e6++);return 0x1===_0x7756e6?_0x491ce2:null;}function bt(_0x190d05,_0x310209,_0x3d7ea3={}){var _0x564c1a;if(!_0x190d05||!_0x310209)return null;const _0x5b8832=_0x3d7ea3['baseDir']||'',_0x467b90=[],_0x340d7a=ft(_0x190d05);if(yt(_0x467b90,_0x340d7a),_0x340d7a['startsWith']('package://')){const _0x5b8110=_0x340d7a['replace'](/^package:\/\//,'');yt(_0x467b90,_0x5b8110);const _0x5c8891=_0x5b8110['split']('/');_0x5c8891['length']>0x1&&yt(_0x467b90,_0x5c8891['slice'](0x1)['join']('/'));}const _0x2752d6=mt(_0x340d7a['replace'](/^package:\/\//,'')),_0xbbc9d0=_0x2752d6['split']('/');_0xbbc9d0['length']>0x1&&yt(_0x467b90,_0xbbc9d0['slice'](0x1)['join']('/')),_0x5b8832&&_0x2752d6&&!_0x2752d6['startsWith'](_0x5b8832)&&(yt(_0x467b90,_0x5b8832+_0x2752d6),_0xbbc9d0['length']>0x1&&yt(_0x467b90,_0x5b8832+_0xbbc9d0['slice'](0x1)['join']('/')));for(const _0x443b67 of _0x467b90)if(_0x310209['has'](_0x443b67))return _0x310209['get'](_0x443b67);const _0x4bc433=new Set(_0x467b90['map'](_0x4e60cf=>gt(_0x4e60cf))),_0x3d7625=vt(_0x310209,_0x517c0b=>_0x4bc433['has'](gt(_0x517c0b)));if(_0x3d7625)return _0x3d7625;const _0x37efef=new Set(Array['from'](_0x4bc433,_0x5bd68c=>_0x5bd68c['toLowerCase']())),_0x50ac55=vt(_0x310209,_0x4d7872=>_0x37efef['has'](gt(_0x4d7872)['toLowerCase']()));if(_0x50ac55)return _0x50ac55;const _0x111bc6=vt(_0x310209,_0xf64892=>{const _0x58f4ee=gt(_0xf64892)['toLowerCase']();return Array['from'](_0x37efef)['some'](_0x144795=>_0x144795&&_0x58f4ee['endsWith']('/'+_0x144795));});if(_0x111bc6)return _0x111bc6;const _0x16f936=null==(_0x564c1a=gt(_0x340d7a)['split']('/')['pop']())?void 0x0:_0x564c1a['toLowerCase']();return _0x16f936?vt(_0x310209,_0x3a39f0=>{var _0x1dd62a;return(null==(_0x1dd62a=gt(_0x3a39f0)['split']('/')['pop']())?void 0x0:_0x1dd62a['toLowerCase']())===_0x16f936;}):null;}let wt=null;async function xt(){if(!wt){const [{STLLoader:_0x5c6394},{OBJLoader:_0x3d618a},{MTLLoader:_0x5a3f33},{ColladaLoader:_0x2532f8},{GLTFLoader:_0x33024c}]=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 _0x5c6394(),'OBJLoader':new _0x3d618a(),'MTLLoader':new _0x5a3f33(),'ColladaLoader':new _0x2532f8(),'GLTFLoader':new _0x33024c()};}return wt;}function Mt(_0x15420c){_0x15420c['traverse'](_0x104e64=>{if(_0x104e64['isMesh']&&_0x104e64['material']){const _0x5af08b=Array['isArray'](_0x104e64['material'])?_0x104e64['material']:[_0x104e64['material']];_0x5af08b['forEach']((_0x36ad84,_0x5521a0)=>{var _0x8ba57b,_0x5e9694,_0x5f372f,_0x4a0b54,_0xe2e6be,_0xcc562a,_0xae7adb,_0x488593,_0x2171f6,_0x29dd27,_0x1ce85b,_0x51e376;if(_0x36ad84)if('MeshBasicMaterial'===_0x36ad84['type']||'MeshLambertMaterial'===_0x36ad84['type']){const _0x5e9b1d=_0x36ad84,_0x5bbb9e='undefined'!=typeof window&&!0x1!==(null==(_0x5f372f=null==(_0x5e9694=null==(_0x8ba57b=window['app'])?void 0x0:_0x8ba57b['sceneManager'])?void 0x0:_0x5e9694['visualizationManager'])?void 0x0:_0x5f372f['showEnhancedLighting']),_0x5e9e91='undefined'!=typeof window&&(null==(_0xcc562a=null==(_0xe2e6be=null==(_0x4a0b54=window['app'])?void 0x0:_0x4a0b54['sceneManager'])?void 0x0:_0xe2e6be['environmentManager'])?void 0x0:_0xcc562a['getEnvironmentMap']()),_0x67710e=new _0x2f1015({'color':_0x5e9b1d['color'],'map':_0x5e9b1d['map'],'transparent':_0x5e9b1d['transparent'],'opacity':_0x5e9b1d['opacity'],'side':_0x5e9b1d['side'],'shininess':_0x5bbb9e?0x32:0x1e,'specular':_0x5bbb9e?new _0x342136(0.3,0.3,0.3):new _0x342136(0x111111),'envMap':_0x5e9e91||null,'reflectivity':_0x5e9e91?0.3:0x0});_0x67710e['userData']['originalShininess']=0x1e,_0x67710e['userData']['originalSpecular']=null,_0x67710e['map']&&(_0x67710e['map']['colorSpace']=_0x5ada61),_0x5af08b[_0x5521a0]=_0x67710e;}else if(_0x36ad84['isMeshPhongMaterial']||_0x36ad84['isMeshStandardMaterial']){if(void 0x0===_0x36ad84['userData']['originalShininess'])if(_0x36ad84['userData']['originalShininess']=void 0x0!==_0x36ad84['shininess']?_0x36ad84['shininess']:0x1e,_0x36ad84['specular'])if(_0x36ad84['specular']['isColor']){const _0x29d24d=_0x36ad84['specular'];_0x29d24d['r']<0.1&&_0x29d24d['g']<0.1&&_0x29d24d['b']<0.1?_0x36ad84['userData']['originalSpecular']=null:_0x36ad84['userData']['originalSpecular']=_0x29d24d['clone']();}else'number'==typeof _0x36ad84['specular']?0x111111===_0x36ad84['specular']||_0x36ad84['specular']<0x111111?_0x36ad84['userData']['originalSpecular']=null:_0x36ad84['userData']['originalSpecular']=new _0x342136(_0x36ad84['specular']):_0x36ad84['userData']['originalSpecular']=null;else _0x36ad84['userData']['originalSpecular']=null;const _0x75cb03='undefined'!=typeof window&&(null==(_0x2171f6=null==(_0x488593=null==(_0xae7adb=window['app'])?void 0x0:_0xae7adb['sceneManager'])?void 0x0:_0x488593['environmentManager'])?void 0x0:_0x2171f6['getEnvironmentMap']());_0x75cb03&&!_0x36ad84['envMap']&&(_0x36ad84['envMap']=_0x75cb03,void 0x0===_0x36ad84['reflectivity']&&(_0x36ad84['reflectivity']=0.3),_0x36ad84['needsUpdate']=!0x0);'undefined'!=typeof window&&!0x1!==(null==(_0x51e376=null==(_0x1ce85b=null==(_0x29dd27=window['app'])?void 0x0:_0x29dd27['sceneManager'])?void 0x0:_0x1ce85b['visualizationManager'])?void 0x0:_0x51e376['showEnhancedLighting'])&&((void 0x0===_0x36ad84['shininess']||_0x36ad84['shininess']<0x32)&&(_0x36ad84['shininess']=0x32),(!_0x36ad84['specular']||_0x36ad84['specular']['isColor']&&_0x36ad84['specular']['r']<0.2||'number'==typeof _0x36ad84['specular']&&_0x36ad84['specular']<0x333333)&&(_0x36ad84['specular']=new _0x342136(0.3,0.3,0.3))),_0x36ad84['needsUpdate']=!0x0;}}),Array['isArray'](_0x104e64['material'])?_0x104e64['material']=_0x5af08b:0x1===_0x5af08b['length']&&(_0x104e64['material']=_0x5af08b[0x0]);}});}class _t{static async['processIncludes'](_0x3b9c43,_0x31fa0d=null,_0x8ec193=null){const _0x93c74d=new DOMParser(),_0xd18fd6=_0x93c74d['parseFromString'](_0x3b9c43,'text/xml');if(_0xd18fd6['querySelector']('parsererror'))return _0x3b9c43;const _0x2cdcfb=_0xd18fd6['querySelectorAll']('include');if(0x0===_0x2cdcfb['length'])return _0x3b9c43;for(const _0x30bf50 of _0x2cdcfb){const _0x2aaf05=_0x30bf50['getAttribute']('file');if(!_0x2aaf05){_0x30bf50['remove']();continue;}let _0x38c997=null;if(_0x31fa0d){const _0x4dc766=[_0x2aaf05,_0x8ec193?_0x8ec193+'/'+_0x2aaf05:_0x2aaf05,_0x2aaf05['startsWith']('/')?_0x2aaf05:'/'+_0x2aaf05];for(const _0x39e693 of _0x4dc766){if(_0x31fa0d['has'](_0x39e693)){const _0x5e4cc2=_0x31fa0d['get'](_0x39e693);try{_0x38c997=await _0x5e4cc2['text']();break;}catch(_0x101f77){}}for(const [_0x367ad7,_0x3c786e]of _0x31fa0d)if(_0x367ad7['toLowerCase']()===_0x39e693['toLowerCase']())try{_0x38c997=await _0x3c786e['text']();break;}catch(_0x523d75){}if(_0x38c997)break;}}if(!_0x38c997){_0x30bf50['remove']();continue;}const _0x14ce43=_0x93c74d['parseFromString'](_0x38c997,'text/xml');if(_0x14ce43['querySelector']('parsererror')){_0x30bf50['remove']();continue;}const _0x4f2273=_0x14ce43['querySelector']('mujoco');if(!_0x4f2273){_0x30bf50['remove']();continue;}const _0xadd4ea=Array['from'](_0x4f2273['childNodes']);for(const _0x449989 of _0xadd4ea){if(_0x449989['nodeType']===Node['TEXT_NODE']||_0x449989['nodeType']===Node['COMMENT_NODE']||_0x449989['nodeType']===Node['PROCESSING_INSTRUCTION_NODE'])continue;const _0x3d3f17=_0xd18fd6['importNode'](_0x449989,!0x0);_0x30bf50['parentNode']['insertBefore'](_0x3d3f17,_0x30bf50);}_0x30bf50['remove']();}return new XMLSerializer()['serializeToString'](_0xd18fd6);}static async['parse'](_0x334b08,_0x552b5a=null,_0x16b3c8=null){const _0x5c22ad=await this['processIncludes'](_0x334b08,_0x552b5a,_0x16b3c8),_0x5ecab1=new DOMParser()['parseFromString'](_0x5c22ad,'text/xml'),_0x5146ec=_0x5ecab1['querySelector']('parsererror');if(_0x5146ec)throw new Error('MJCF\x20XML\x20parsing\x20failed:\x20'+_0x5146ec['textContent']);const _0x2d1b34=new Qe();_0x2d1b34['name']='mujoco_model';const {classDefaults:_0x2e0257,rootDefaults:_0x50e3f1}=this['parseDefaults'](_0x5ecab1),_0x2cc7ba=this['parseAssets'](_0x5ecab1,_0x2e0257,_0x50e3f1),_0x18b184=this['parseMaterials'](_0x5ecab1),_0x20c23a=_0x5ecab1['querySelector']('worldbody');if(!_0x20c23a)throw new Error('MJCF\x20file\x20missing\x20worldbody\x20element');const _0x155034=_0x20c23a['querySelectorAll'](':scope\x20>\x20geom');if(_0x155034['length']>0x0){const _0x4257ab=new Ke('worldbody');_0x4257ab['userData']['isWorldbody']=!0x0;const _0x24787b=new Set();_0x155034['forEach']((_0x5184cc,_0x822a9f)=>{const _0xef2679=this['getGeomInheritedProperties'](_0x5184cc,_0x2e0257,_0x50e3f1),_0x1cd52c=_0x5184cc['getAttribute']('group'),_0x479aff=null!==_0x1cd52c?parseInt(_0x1cd52c):null!==_0xef2679['group']?_0xef2679['group']:0x0,_0x30d15f=(_0x5184cc['getAttribute']('name')||'')['toLowerCase'](),_0x57c635=_0x5184cc['hasAttribute']('rgba')||null!==_0xef2679['rgba'],_0xc63c30=_0x5184cc['getAttribute']('mesh'),_0x1872be=_0x5184cc['getAttribute']('contype'),_0x1b36c3=_0x5184cc['getAttribute']('conaffinity'),_0x1c70d1=_0x5184cc['getAttribute']('density'),_0xb653c3=null!==_0x1872be?parseInt(_0x1872be):null!==_0xef2679['contype']?_0xef2679['contype']:null,_0x45a36f=null!==_0x1b36c3?parseInt(_0x1b36c3):null!==_0xef2679['conaffinity']?_0xef2679['conaffinity']:null;null!==_0x1c70d1?parseFloat(_0x1c70d1):null!==_0xef2679['density']&&_0xef2679['density'];let _0x461788=!0x1;if(_0xc63c30)if(0x0===_0xb653c3&&0x0===_0x45a36f)_0x461788=!0x1;else if(0x3===_0x479aff)_0x461788=!0x0;else if(0x2===_0x479aff||0x1===_0x479aff)_0x461788=!0x1;else if(_0x30d15f['includes']('collision'))_0x461788=!0x0;else if(_0x24787b['has'](_0xc63c30)){if(_0x57c635||0x0===_0xb653c3&&0x0===_0x45a36f)return;_0x461788=!0x0;}else _0x461788=!0x1;else _0x461788=!0x0;const _0x3b70ee=this['parseGeom'](_0x5184cc,_0x2cc7ba);if(_0x3b70ee)if(_0x461788){const _0x1350e2=new tt();_0x1350e2['geometry']=_0x3b70ee,_0x1350e2['name']=_0x5184cc['getAttribute']('name')||'worldbody_collision_'+_0x822a9f,_0x1350e2['origin']=this['parseOrigin'](_0x5184cc),_0x4257ab['collisions']['push'](_0x1350e2);}else{_0xc63c30&&_0x24787b['add'](_0xc63c30);const _0x4bfd96=new et();_0x4bfd96['geometry']=_0x3b70ee,_0x4bfd96['name']=_0x5184cc['getAttribute']('name')||'worldbody_geom_'+_0x822a9f,_0x4bfd96['origin']=this['parseOrigin'](_0x5184cc);let _0x5c2541=null;if(_0x5184cc['hasAttribute']('rgba')){const _0x4f2519=_0x5184cc['getAttribute']('rgba')['split']('\x20')['map'](parseFloat);_0x4f2519['length']>=0x3&&(_0x5c2541={'r':_0x4f2519[0x0],'g':_0x4f2519[0x1],'b':_0x4f2519[0x2],'a':_0x4f2519['length']>=0x4?_0x4f2519[0x3]:0x1});}else _0xef2679['rgba']&&(_0x5c2541=_0xef2679['rgba']);_0x4bfd96['userData']={'group':_0x479aff,'hasRgba':_0x57c635||!!_0x5c2541,'rgba':_0x5c2541,'meshRef':_0xc63c30,'geomType':_0x5184cc['getAttribute']('type')||(_0xc63c30?'mesh':'box')},_0x4257ab['visuals']['push'](_0x4bfd96);}}),(_0x4257ab['visuals']['length']>0x0||_0x4257ab['collisions']['length']>0x0)&&_0x2d1b34['addLink'](_0x4257ab);}const _0x42958e=new Map();this['parseBodies'](_0x20c23a,null,_0x42958e,_0x2d1b34,null,_0x2cc7ba,null,_0x18b184,_0x2e0257,_0x50e3f1),this['parseJoints'](_0x20c23a,_0x42958e,_0x2d1b34,null,_0x2e0257),this['parseEquality'](_0x5ecab1,_0x2d1b34);if(_0x2d1b34['links']['get']('worldbody'))_0x2d1b34['rootLink']='worldbody';else{const _0x381800=Array['from'](_0x2d1b34['links']['keys']())['filter'](_0x3367ae=>!Array['from'](_0x2d1b34['joints']['values']())['some'](_0x15bab6=>_0x15bab6['child']===_0x3367ae));_0x381800['length']>0x0?_0x2d1b34['rootLink']=_0x381800[0x0]:_0x2d1b34['links']['size']>0x0&&(_0x2d1b34['rootLink']=Array['from'](_0x2d1b34['links']['keys']())[0x0]);}return await this['createThreeObject'](_0x2d1b34,_0x552b5a,_0x2cc7ba),_0x2d1b34;}static['parseAssets'](_0x50bb5c,_0x29015b=null,_0x14de0d=null){const _0x51a87c=new Map(),_0x5422dc=_0x50bb5c['querySelector']('asset');if(!_0x5422dc)return _0x51a87c;return _0x5422dc['querySelectorAll']('mesh')['forEach']((_0x4925f2,_0x1a9b52)=>{let _0x5b1086=_0x4925f2['getAttribute']('name');const _0x1585d6=_0x4925f2['getAttribute']('file'),_0x4b243e=_0x4925f2['getAttribute']('vertex'),_0x2323a3=_0x4925f2['getAttribute']('scale'),_0xa82f09=_0x4925f2['getAttribute']('class');let _0x21eaf2=[0x1,0x1,0x1];if(_0x2323a3){const _0x5a2557=_0x2323a3['trim']()['split'](/\s+/)['map'](parseFloat);0x1===_0x5a2557['length']?_0x21eaf2=[_0x5a2557[0x0],_0x5a2557[0x0],_0x5a2557[0x0]]:0x3===_0x5a2557['length']&&(_0x21eaf2=_0x5a2557);}else if(_0xa82f09&&_0x29015b&&_0x29015b['has'](_0xa82f09)){const _0x512996=_0x29015b['get'](_0xa82f09);_0x512996['mesh']&&_0x512996['mesh']['scale']&&(_0x21eaf2=_0x512996['mesh']['scale']);}else _0x14de0d&&_0x14de0d['mesh']&&_0x14de0d['mesh']['scale']&&(_0x21eaf2=_0x14de0d['mesh']['scale']);if(_0x4b243e){_0x5b1086||(_0x5b1086='inline_mesh_'+_0x1a9b52);const _0x1b8a69=_0x4b243e['trim']()['split'](/\s+/)['map'](parseFloat),_0x1ec95a=new Float32Array(_0x1b8a69);_0x51a87c['set'](_0x5b1086,{'type':'vertex','vertices':_0x1ec95a,'scale':_0x21eaf2});}else{if(!_0x1585d6)return;if(!_0x5b1086){_0x5b1086=_0x1585d6['split']('/')['pop']()['split']('\x5c')['pop']()['split']('.')[0x0];}_0x51a87c['set'](_0x5b1086,{'type':'file','path':_0x1585d6,'scale':_0x21eaf2});}}),_0x51a87c;}static['parseMaterials'](_0x125799){const _0x555b86=new Map(),_0x2e2ba3=_0x125799['querySelector']('asset');if(!_0x2e2ba3)return _0x555b86;return _0x2e2ba3['querySelectorAll']('material')['forEach'](_0x1978b6=>{const _0xf79153=_0x1978b6['getAttribute']('name');if(!_0xf79153)return;const _0xa9a8a4={},_0x4db535=_0x1978b6['getAttribute']('rgba');if(_0x4db535){const _0x17a944=_0x4db535['split']('\x20')['map'](parseFloat);_0x17a944['length']>=0x3&&(_0xa9a8a4['rgba']={'r':_0x17a944[0x0],'g':_0x17a944[0x1],'b':_0x17a944[0x2],'a':_0x17a944['length']>=0x4?_0x17a944[0x3]:0x1});}const _0x448800=_0x1978b6['getAttribute']('specular');if(_0x448800){const _0x276550=_0x448800['split']('\x20')['map'](parseFloat);_0xa9a8a4['specular']=_0x276550[0x0]||0.5;}const _0x5da8bc=_0x1978b6['getAttribute']('shininess');_0x5da8bc&&(_0xa9a8a4['shininess']=parseFloat(_0x5da8bc)),_0x555b86['set'](_0xf79153,_0xa9a8a4);}),_0x555b86;}static['parseDefaults'](_0x3b5da8){const _0x3116d4=new Map();let _0x411a9b={};const _0x48483d=(_0xc6480c,_0x4bf8dc={})=>{const _0x53d67b=_0xc6480c['getAttribute']('class'),_0x45c35=JSON['parse'](JSON['stringify'](_0x4bf8dc||{})),_0x2e1761=_0xc6480c['querySelector'](':scope\x20>\x20mesh');if(_0x2e1761){_0x45c35['mesh']||(_0x45c35['mesh']={});const _0x23ee5a=_0x2e1761['getAttribute']('scale');if(_0x23ee5a){const _0x1b143c=_0x23ee5a['trim']()['split'](/\s+/)['map'](parseFloat);0x1===_0x1b143c['length']?_0x45c35['mesh']['scale']=[_0x1b143c[0x0],_0x1b143c[0x0],_0x1b143c[0x0]]:0x3===_0x1b143c['length']&&(_0x45c35['mesh']['scale']=_0x1b143c);}}const _0x335399=_0xc6480c['querySelector'](':scope\x20>\x20joint');if(_0x335399){_0x45c35['joint']||(_0x45c35['joint']={});const _0x42a994=_0x335399['getAttribute']('axis');if(_0x42a994){const _0x139649=_0x42a994['split']('\x20')['map'](parseFloat);_0x45c35['joint']['axis']=[_0x139649[0x0]||0x0,_0x139649[0x1]||0x0,_0x139649[0x2]||0x0];}const _0x4c1cdc=_0x335399['getAttribute']('range');if(_0x4c1cdc){const _0xdacdf3=_0x4c1cdc['split']('\x20')['map'](parseFloat);_0x45c35['joint']['range']=_0xdacdf3;}const _0x54a7fa=_0x335399['getAttribute']('damping');_0x54a7fa&&(_0x45c35['joint']['damping']=parseFloat(_0x54a7fa));}const _0x402c4d=_0xc6480c['querySelector'](':scope\x20>\x20geom');if(_0x402c4d){_0x45c35['geom']||(_0x45c35['geom']={});const _0x2a5d9e=_0x402c4d['getAttribute']('contype');null!==_0x2a5d9e&&(_0x45c35['geom']['contype']=parseInt(_0x2a5d9e));const _0x3e0992=_0x402c4d['getAttribute']('conaffinity');null!==_0x3e0992&&(_0x45c35['geom']['conaffinity']=parseInt(_0x3e0992));const _0x145799=_0x402c4d['getAttribute']('group');null!==_0x145799&&(_0x45c35['geom']['group']=parseInt(_0x145799));const _0x4d51d9=_0x402c4d['getAttribute']('rgba');if(_0x4d51d9){const _0x143434=_0x4d51d9['split']('\x20')['map'](parseFloat);_0x143434['length']>=0x3&&(_0x45c35['geom']['rgba']={'r':_0x143434[0x0],'g':_0x143434[0x1],'b':_0x143434[0x2],'a':_0x143434['length']>=0x4?_0x143434[0x3]:0x1});}const _0x2149f1=_0x402c4d['getAttribute']('material');_0x2149f1&&(_0x45c35['geom']['material']=_0x2149f1);const _0x495b44=_0x402c4d['getAttribute']('type');_0x495b44&&(_0x45c35['geom']['type']=_0x495b44);const _0x491c96=_0x402c4d['getAttribute']('density');null!==_0x491c96&&(_0x45c35['geom']['density']=parseFloat(_0x491c96));}_0x53d67b?_0x3116d4['set'](_0x53d67b,_0x45c35):Object['assign'](_0x411a9b,_0x45c35);_0xc6480c['querySelectorAll'](':scope\x20>\x20default')['forEach'](_0x9450a6=>{_0x48483d(_0x9450a6,_0x45c35);});};return _0x3b5da8['querySelectorAll']('mujoco\x20>\x20default')['forEach'](_0x4c87fe=>{_0x48483d(_0x4c87fe);}),{'classDefaults':_0x3116d4,'rootDefaults':_0x411a9b};}static['getGeomInheritedProperties'](_0x50d274,_0x555b09,_0x29daab){const _0x571a96={'contype':null,'conaffinity':null,'group':null,'rgba':null,'material':null,'type':null,'density':null};_0x29daab&&_0x29daab['geom']&&Object['assign'](_0x571a96,_0x29daab['geom']);const _0x1cce5f=_0x50d274['getAttribute']('class');if(_0x1cce5f&&_0x555b09&&_0x555b09['has'](_0x1cce5f)){const _0xb0eb73=_0x555b09['get'](_0x1cce5f);_0xb0eb73['geom']&&Object['assign'](_0x571a96,_0xb0eb73['geom']);}return _0x571a96;}static['parseBodies'](_0x1a28f8,_0x402562,_0x2dc4bd,_0x1a97a0,_0x88a7d=null,_0x1cd0ac=null,_0x5871dd=null,_0x521eaf=null,_0x4605fe=null,_0x5829de=null){_0x5871dd||(_0x5871dd={'totalGeoms':0x0,'skippedCollisionGeoms':0x0,'visualGeoms':0x0});_0x1a28f8['querySelectorAll'](':scope\x20>\x20body')['forEach'](_0x38598d=>{const _0x540aae=_0x38598d['getAttribute']('name')||'body_'+_0x2dc4bd['size'],_0x167e75=new Ke(_0x540aae);_0x402562&&(_0x167e75['userData']['parentName']=_0x402562);const _0x4ee36f=this['parseOrigin'](_0x38598d);_0x167e75['userData']['bodyOrigin']=_0x4ee36f;const _0x2773fb=_0x38598d['querySelectorAll'](':scope\x20>\x20geom'),_0x2fea7d=new Set();_0x2773fb['forEach']((_0x3440b7,_0x5ae573)=>{_0x5871dd['totalGeoms']++;const _0x1c9ddf=this['getGeomInheritedProperties'](_0x3440b7,_0x4605fe,_0x5829de),_0x49de77=_0x3440b7['getAttribute']('group'),_0x4162e9=null!==_0x49de77?parseInt(_0x49de77):null!==_0x1c9ddf['group']?_0x1c9ddf['group']:0x0,_0x54ca3e=(_0x3440b7['getAttribute']('name')||'')['toLowerCase'](),_0x5be6c=_0x3440b7['hasAttribute']('rgba')||null!==_0x1c9ddf['rgba'],_0x5e9074=_0x3440b7['getAttribute']('mesh'),_0x35aeef=_0x3440b7['getAttribute']('type')||_0x1c9ddf['type']||(_0x5e9074?'mesh':'box'),_0x1818aa=_0x3440b7['getAttribute']('contype'),_0x151425=_0x3440b7['getAttribute']('conaffinity'),_0x575ced=_0x3440b7['getAttribute']('density'),_0x39b03f=null!==_0x1818aa?parseInt(_0x1818aa):null!==_0x1c9ddf['contype']?_0x1c9ddf['contype']:null,_0x4145f2=null!==_0x151425?parseInt(_0x151425):null!==_0x1c9ddf['conaffinity']?_0x1c9ddf['conaffinity']:null;null!==_0x575ced?parseFloat(_0x575ced):null!==_0x1c9ddf['density']&&_0x1c9ddf['density'];let _0x27606f=!0x1;if(_0x5e9074)if(0x0===_0x39b03f&&0x0===_0x4145f2)_0x27606f=!0x1;else if(0x3===_0x4162e9)_0x27606f=!0x0;else if(0x2===_0x4162e9||0x1===_0x4162e9)_0x27606f=!0x1;else if(_0x54ca3e['includes']('collision'))_0x27606f=!0x0;else if(_0x2fea7d['has'](_0x5e9074)){if(_0x5be6c||0x0===_0x39b03f&&0x0===_0x4145f2)return void _0x5871dd['skippedCollisionGeoms']++;_0x27606f=!0x0;}else _0x27606f=!0x1;else _0x27606f=!0x0;const _0x5243fe=this['parseGeom'](_0x3440b7,_0x1cd0ac);if(_0x5243fe)if(_0x27606f){const _0x59eb97=new tt();_0x59eb97['geometry']=_0x5243fe,_0x59eb97['name']=_0x3440b7['getAttribute']('name')||'collision_'+_0x5ae573,_0x59eb97['origin']=this['parseOrigin'](_0x3440b7),_0x167e75['collisions']['push'](_0x59eb97);}else{_0x5871dd['visualGeoms']++,_0x5e9074&&_0x2fea7d['add'](_0x5e9074);const _0x4f7046=new et();_0x4f7046['geometry']=_0x5243fe,_0x4f7046['name']=_0x3440b7['getAttribute']('name')||'geom_'+_0x5ae573,_0x4f7046['origin']=this['parseOrigin'](_0x3440b7);let _0x563457=null,_0x322575=null;if(_0x3440b7['hasAttribute']('rgba')){const _0x100f4e=_0x3440b7['getAttribute']('rgba')['split']('\x20')['map'](parseFloat);_0x100f4e['length']>=0x3&&(_0x563457={'r':_0x100f4e[0x0],'g':_0x100f4e[0x1],'b':_0x100f4e[0x2],'a':_0x100f4e['length']>=0x4?_0x100f4e[0x3]:0x1});}if(!_0x563457&&_0x1c9ddf['rgba']&&(_0x563457=_0x1c9ddf['rgba']),!_0x563457&&_0x521eaf&&(_0x322575=_0x3440b7['getAttribute']('material')||_0x1c9ddf['material'],_0x322575&&_0x521eaf['has'](_0x322575))){const _0x59497c=_0x521eaf['get'](_0x322575);_0x59497c['rgba']&&(_0x563457=_0x59497c['rgba']);}_0x4f7046['userData']={'group':_0x4162e9,'hasRgba':_0x5be6c||!!_0x563457,'rgba':_0x563457,'materialName':_0x322575,'meshRef':_0x5e9074,'geomType':_0x35aeef},_0x167e75['visuals']['push'](_0x4f7046);}});const _0x20a36a=_0x38598d['querySelector'](':scope\x20>\x20inertial');_0x20a36a&&(_0x167e75['inertial']=this['parseInertial'](_0x20a36a)),_0x1a97a0['addLink'](_0x167e75),_0x2dc4bd['set'](_0x540aae,{'link':_0x167e75,'element':_0x38598d,'parentName':_0x402562}),this['parseBodies'](_0x38598d,_0x540aae,_0x2dc4bd,_0x1a97a0,_0x167e75,_0x1cd0ac,_0x5871dd,_0x521eaf,_0x4605fe,_0x5829de);});}static['parseGeom'](_0x855627,_0x5ab831=null){const _0x385fc8=_0x855627['getAttribute']('mesh');let _0x2ba1b2=_0x855627['getAttribute']('type');_0x385fc8&&!_0x2ba1b2&&(_0x2ba1b2='mesh'),_0x2ba1b2||(_0x2ba1b2='sphere');const _0x5a12b1=new nt(_0x2ba1b2);switch(_0x2ba1b2){case'box':const _0x285b43=_0x855627['getAttribute']('size');if(_0x285b43){const _0xc8ca7d=_0x285b43['split']('\x20')['map'](parseFloat);_0x5a12b1['size']=0x1===_0xc8ca7d['length']?{'x':0x2*_0xc8ca7d[0x0],'y':0x2*_0xc8ca7d[0x0],'z':0x2*_0xc8ca7d[0x0]}:{'x':0x2*(_0xc8ca7d[0x0]||0.05),'y':0x2*(_0xc8ca7d[0x1]||0.05),'z':0x2*(_0xc8ca7d[0x2]||0.05)};}else _0x5a12b1['size']={'x':0.1,'y':0.1,'z':0.1};break;case'sphere':const _0x17a068=parseFloat(_0x855627['getAttribute']('size')||'0.1');_0x5a12b1['size']={'radius':_0x17a068};break;case'cylinder':case'capsule':const _0x2d7a4f=_0x855627['getAttribute']('fromto'),_0x34d028=_0x855627['getAttribute']('size');if(_0x2d7a4f){const _0x2bc16a=_0x2d7a4f['split']('\x20')['map'](parseFloat);if(_0x2bc16a['length']>=0x6){const _0x522da8=new _0x47b065(_0x2bc16a[0x0],_0x2bc16a[0x1],_0x2bc16a[0x2]),_0x3f2ca6=new _0x47b065(_0x2bc16a[0x3],_0x2bc16a[0x4],_0x2bc16a[0x5]),_0xa8e243=new _0x47b065()['addVectors'](_0x522da8,_0x3f2ca6)['multiplyScalar'](0.5),_0x43b9b7=_0x522da8['distanceTo'](_0x3f2ca6),_0x1f312a=new _0x47b065()['subVectors'](_0x3f2ca6,_0x522da8)['normalize'](),_0x584034=new _0x47b065(0x0,0x1,0x0),_0x270d5d=new _0x57eb35()['setFromUnitVectors'](_0x584034,_0x1f312a),_0x3f9181=new _0x940d5()['setFromQuaternion'](_0x270d5d);_0x5a12b1['fromto']={'p1':[_0x2bc16a[0x0],_0x2bc16a[0x1],_0x2bc16a[0x2]],'p2':[_0x2bc16a[0x3],_0x2bc16a[0x4],_0x2bc16a[0x5]],'center':[_0xa8e243['x'],_0xa8e243['y'],_0xa8e243['z']],'height':_0x43b9b7,'rpy':[_0x3f9181['x'],_0x3f9181['y'],_0x3f9181['z']]};const _0x1e0d31=parseFloat(_0x34d028||'0.01');_0x5a12b1['size']={'radius':_0x1e0d31,'height':_0x43b9b7};}}else if(_0x34d028){const _0x41f7c2=_0x34d028['split']('\x20')['map'](parseFloat);_0x5a12b1['size']={'radius':_0x41f7c2[0x0]||0.1,'height':0x2*(_0x41f7c2[0x1]||0.1)};}else _0x5a12b1['size']={'radius':0.01,'height':0.1};break;case'mesh':let _0x3d512b=_0x855627['getAttribute']('mesh');if(_0x5ab831&&_0x5ab831['has'](_0x3d512b)){const _0x53aa6d=_0x5ab831['get'](_0x3d512b);'file'===_0x53aa6d['type']?(_0x5a12b1['filename']=_0x53aa6d['path'],_0x53aa6d['scale']&&(_0x5a12b1['meshScale']=_0x53aa6d['scale'])):'vertex'===_0x53aa6d['type']&&(_0x5a12b1['inlineVertices']=_0x53aa6d['vertices'],_0x5a12b1['inlineScale']=_0x53aa6d['scale']);}else _0x5a12b1['filename']=_0x3d512b,_0x5ab831&&_0x5ab831['size'];_0x5a12b1['size']=null;}return _0x5a12b1;}static['parseOrigin'](_0x55bb61){const _0x1b754c={'xyz':[0x0,0x0,0x0],'rpy':[0x0,0x0,0x0]},_0x7a8362=_0x55bb61['getAttribute']('pos');if(_0x7a8362){const _0x55d9bf=_0x7a8362['split']('\x20')['map'](parseFloat);_0x1b754c['xyz']=[_0x55d9bf[0x0]||0x0,_0x55d9bf[0x1]||0x0,_0x55d9bf[0x2]||0x0];}const _0x54ffdd=_0x55bb61['getAttribute']('quat');if(_0x54ffdd){const _0xa708b3=_0x54ffdd['split']('\x20')['map'](parseFloat),_0x1167e4=_0xa708b3[0x0],_0x147f31=_0xa708b3[0x1],_0x3dc5ce=_0xa708b3[0x2],_0x284f76=_0xa708b3[0x3];_0x1b754c['quat']={'w':_0x1167e4,'x':_0x147f31,'y':_0x3dc5ce,'z':_0x284f76},_0x1b754c['rpy']=this['quaternionToEuler'](_0x1167e4,_0x147f31,_0x3dc5ce,_0x284f76);}else{const _0x1dc2f0=_0x55bb61['getAttribute']('euler');if(_0x1dc2f0){const _0xb66ce=_0x1dc2f0['split']('\x20')['map'](parseFloat);_0x1b754c['rpy']=[_0xb66ce[0x0]||0x0,_0xb66ce[0x1]||0x0,_0xb66ce[0x2]||0x0];}}return _0x1b754c;}static['quaternionToEuler'](_0x4b70b7,_0x2d15ed,_0x37692f,_0x2694d5){const _0x17658c=Math['sqrt'](_0x4b70b7*_0x4b70b7+_0x2d15ed*_0x2d15ed+_0x37692f*_0x37692f+_0x2694d5*_0x2694d5);_0x17658c>0x0&&(_0x4b70b7/=_0x17658c,_0x2d15ed/=_0x17658c,_0x37692f/=_0x17658c,_0x2694d5/=_0x17658c);const _0x284701=0x2*(_0x4b70b7*_0x2d15ed+_0x37692f*_0x2694d5),_0x4d6e84=0x1-0x2*(_0x2d15ed*_0x2d15ed+_0x37692f*_0x37692f),_0x5e71c3=0x2*(_0x4b70b7*_0x37692f-_0x2694d5*_0x2d15ed),_0x5ddb96=0x2*(_0x4b70b7*_0x2694d5+_0x2d15ed*_0x37692f),_0x4eaa0c=0x1-0x2*(_0x37692f*_0x37692f+_0x2694d5*_0x2694d5);return[Math['atan2'](_0x284701,_0x4d6e84),Math['abs'](_0x5e71c3)>=0x1?Math['sign'](_0x5e71c3)*Math['PI']/0x2:Math['asin'](_0x5e71c3),Math['atan2'](_0x5ddb96,_0x4eaa0c)];}static['parseInertial'](_0x5904b7){const _0x78d5e1=new it(),_0x1c5b61=_0x5904b7['getAttribute']('mass');_0x1c5b61&&(_0x78d5e1['mass']=parseFloat(_0x1c5b61));const _0x4da75f=this['parseOrigin'](_0x5904b7);_0x78d5e1['origin']=_0x4da75f;const _0x564c42=_0x5904b7['getAttribute']('diaginertia'),_0x1cb81a=_0x5904b7['getAttribute']('fullinertia');let _0x1672e2=0x0,_0x215412=0x0,_0x4ded72=0x0,_0x630229=0x0,_0x118f9a=0x0,_0x35a3aa=0x0;if(_0x564c42){const _0x1428db=_0x564c42['split']('\x20')['map'](parseFloat);_0x1672e2=_0x1428db[0x0]||0x0,_0x215412=_0x1428db[0x1]||0x0,_0x4ded72=_0x1428db[0x2]||0x0;}if(_0x1cb81a){const _0x3d9523=_0x1cb81a['split']('\x20')['map'](parseFloat);_0x1672e2=_0x3d9523[0x0]||0x0,_0x215412=_0x3d9523[0x1]||0x0,_0x4ded72=_0x3d9523[0x2]||0x0,_0x630229=_0x3d9523[0x3]||0x0,_0x118f9a=_0x3d9523[0x4]||0x0,_0x35a3aa=_0x3d9523[0x5]||0x0;}if(_0x78d5e1['diagonalInertia']={'ixx':_0x1672e2,'iyy':_0x215412,'izz':_0x4ded72},_0x4da75f['quat']){const _0x7288cd=this['rotateInertiaTensor'](_0x1672e2,_0x215412,_0x4ded72,_0x630229,_0x118f9a,_0x35a3aa,_0x4da75f['quat']);_0x1672e2=_0x7288cd['ixx'],_0x215412=_0x7288cd['iyy'],_0x4ded72=_0x7288cd['izz'],_0x630229=_0x7288cd['ixy'],_0x118f9a=_0x7288cd['ixz'],_0x35a3aa=_0x7288cd['iyz'];}const _0x5845f2=this['rotateInertiaAroundAxis'](_0x1672e2,_0x215412,_0x4ded72,_0x630229,_0x118f9a,_0x35a3aa,'Y',0x5a),_0x42ad93=this['rotateInertiaAroundAxis'](_0x5845f2['ixx'],_0x5845f2['iyy'],_0x5845f2['izz'],_0x5845f2['ixy'],_0x5845f2['ixz'],_0x5845f2['iyz'],'Y',0x5a);return _0x78d5e1['ixx']=_0x42ad93['ixx'],_0x78d5e1['iyy']=_0x42ad93['iyy'],_0x78d5e1['izz']=_0x42ad93['izz'],_0x78d5e1['ixy']=_0x42ad93['ixy'],_0x78d5e1['ixz']=_0x42ad93['ixz'],_0x78d5e1['iyz']=_0x42ad93['iyz'],_0x78d5e1;}static['rotateInertiaAroundAxis'](_0x1d8a2f,_0x344a0c,_0x36def6,_0xaf791a,_0x2d2780,_0x4a85e5,_0x3c3a1a,_0x18d6a5){const _0x10c5e5=_0x18d6a5*Math['PI']/0xb4,_0x112b7c=Math['cos'](_0x10c5e5),_0x5a3301=Math['sin'](_0x10c5e5);let _0xdeb075;'X'===_0x3c3a1a?_0xdeb075=[[0x1,0x0,0x0],[0x0,_0x112b7c,-_0x5a3301],[0x0,_0x5a3301,_0x112b7c]]:'Y'===_0x3c3a1a?_0xdeb075=[[_0x112b7c,0x0,_0x5a3301],[0x0,0x1,0x0],[-_0x5a3301,0x0,_0x112b7c]]:'Z'===_0x3c3a1a&&(_0xdeb075=[[_0x112b7c,-_0x5a3301,0x0],[_0x5a3301,_0x112b7c,0x0],[0x0,0x0,0x1]]);const _0x563058=[[_0x1d8a2f,_0xaf791a,_0x2d2780],[_0xaf791a,_0x344a0c,_0x4a85e5],[_0x2d2780,_0x4a85e5,_0x36def6]],_0x2d7484=[[0x0,0x0,0x0],[0x0,0x0,0x0],[0x0,0x0,0x0]];for(let _0x395497=0x0;_0x395497<0x3;_0x395497++)for(let _0x4920c0=0x0;_0x4920c0<0x3;_0x4920c0++)for(let _0x46352b=0x0;_0x46352b<0x3;_0x46352b++)_0x2d7484[_0x395497][_0x4920c0]+=_0xdeb075[_0x395497][_0x46352b]*_0x563058[_0x46352b][_0x4920c0];const _0x4ecf16=[[0x0,0x0,0x0],[0x0,0x0,0x0],[0x0,0x0,0x0]];for(let _0x5bf42f=0x0;_0x5bf42f<0x3;_0x5bf42f++)for(let _0x58d27a=0x0;_0x58d27a<0x3;_0x58d27a++)for(let _0x5218ae=0x0;_0x5218ae<0x3;_0x5218ae++)_0x4ecf16[_0x5bf42f][_0x58d27a]+=_0x2d7484[_0x5bf42f][_0x5218ae]*_0xdeb075[_0x58d27a][_0x5218ae];return{'ixx':_0x4ecf16[0x0][0x0],'iyy':_0x4ecf16[0x1][0x1],'izz':_0x4ecf16[0x2][0x2],'ixy':_0x4ecf16[0x0][0x1],'ixz':_0x4ecf16[0x0][0x2],'iyz':_0x4ecf16[0x1][0x2]};}static['rotateInertiaTensor'](_0x3a975c,_0x2713e6,_0x1471cd,_0x34ddbb,_0x23e666,_0x3aa8b0,_0x58914e){const {w:_0x33ab13,x:_0x381f80,y:_0x1badb6,z:_0x3fa829}=_0x58914e,_0x45cd25=0x1-0x2*(_0x1badb6*_0x1badb6+_0x3fa829*_0x3fa829),_0x2bd182=0x2*(_0x381f80*_0x1badb6-_0x33ab13*_0x3fa829),_0x5a97a8=0x2*(_0x381f80*_0x3fa829+_0x33ab13*_0x1badb6),_0x202341=0x2*(_0x381f80*_0x1badb6+_0x33ab13*_0x3fa829),_0x1c466=0x1-0x2*(_0x381f80*_0x381f80+_0x3fa829*_0x3fa829),_0x4a41e9=0x2*(_0x1badb6*_0x3fa829-_0x33ab13*_0x381f80),_0x2c53a2=0x2*(_0x381f80*_0x3fa829-_0x33ab13*_0x1badb6),_0x45ec9f=0x2*(_0x1badb6*_0x3fa829+_0x33ab13*_0x381f80),_0x426a77=0x1-0x2*(_0x381f80*_0x381f80+_0x1badb6*_0x1badb6),_0x16f8cc=[[_0x3a975c,_0x34ddbb,_0x23e666],[_0x34ddbb,_0x2713e6,_0x3aa8b0],[_0x23e666,_0x3aa8b0,_0x1471cd]],_0x5b660e=[[0x0,0x0,0x0],[0x0,0x0,0x0],[0x0,0x0,0x0]];_0x5b660e[0x0][0x0]=_0x45cd25*_0x16f8cc[0x0][0x0]+_0x2bd182*_0x16f8cc[0x1][0x0]+_0x5a97a8*_0x16f8cc[0x2][0x0],_0x5b660e[0x0][0x1]=_0x45cd25*_0x16f8cc[0x0][0x1]+_0x2bd182*_0x16f8cc[0x1][0x1]+_0x5a97a8*_0x16f8cc[0x2][0x1],_0x5b660e[0x0][0x2]=_0x45cd25*_0x16f8cc[0x0][0x2]+_0x2bd182*_0x16f8cc[0x1][0x2]+_0x5a97a8*_0x16f8cc[0x2][0x2],_0x5b660e[0x1][0x0]=_0x202341*_0x16f8cc[0x0][0x0]+_0x1c466*_0x16f8cc[0x1][0x0]+_0x4a41e9*_0x16f8cc[0x2][0x0],_0x5b660e[0x1][0x1]=_0x202341*_0x16f8cc[0x0][0x1]+_0x1c466*_0x16f8cc[0x1][0x1]+_0x4a41e9*_0x16f8cc[0x2][0x1],_0x5b660e[0x1][0x2]=_0x202341*_0x16f8cc[0x0][0x2]+_0x1c466*_0x16f8cc[0x1][0x2]+_0x4a41e9*_0x16f8cc[0x2][0x2],_0x5b660e[0x2][0x0]=_0x2c53a2*_0x16f8cc[0x0][0x0]+_0x45ec9f*_0x16f8cc[0x1][0x0]+_0x426a77*_0x16f8cc[0x2][0x0],_0x5b660e[0x2][0x1]=_0x2c53a2*_0x16f8cc[0x0][0x1]+_0x45ec9f*_0x16f8cc[0x1][0x1]+_0x426a77*_0x16f8cc[0x2][0x1],_0x5b660e[0x2][0x2]=_0x2c53a2*_0x16f8cc[0x0][0x2]+_0x45ec9f*_0x16f8cc[0x1][0x2]+_0x426a77*_0x16f8cc[0x2][0x2];return{'ixx':_0x5b660e[0x0][0x0]*_0x45cd25+_0x5b660e[0x0][0x1]*_0x2bd182+_0x5b660e[0x0][0x2]*_0x5a97a8,'iyy':_0x5b660e[0x1][0x0]*_0x202341+_0x5b660e[0x1][0x1]*_0x1c466+_0x5b660e[0x1][0x2]*_0x4a41e9,'izz':_0x5b660e[0x2][0x0]*_0x2c53a2+_0x5b660e[0x2][0x1]*_0x45ec9f+_0x5b660e[0x2][0x2]*_0x426a77,'ixy':_0x5b660e[0x0][0x0]*_0x202341+_0x5b660e[0x0][0x1]*_0x1c466+_0x5b660e[0x0][0x2]*_0x4a41e9,'ixz':_0x5b660e[0x0][0x0]*_0x2c53a2+_0x5b660e[0x0][0x1]*_0x45ec9f+_0x5b660e[0x0][0x2]*_0x426a77,'iyz':_0x5b660e[0x1][0x0]*_0x2c53a2+_0x5b660e[0x1][0x1]*_0x45ec9f+_0x5b660e[0x1][0x2]*_0x426a77};}static['parseJoints'](_0x296187,_0x32048f,_0x32a285,_0x3fcc88=null,_0x377558=null){_0x296187['querySelectorAll'](':scope\x20>\x20joint')['forEach'](_0x53fde8=>{const _0x4005a8=_0x53fde8['getAttribute']('name')||'joint_'+_0x32a285['joints']['size'],_0x5ee041=_0x53fde8['getAttribute']('type')||'hinge';let _0x4d0eac='revolute';'slide'===_0x5ee041?_0x4d0eac='prismatic':'free'===_0x5ee041?_0x4d0eac='continuous':'ball'!==_0x5ee041&&'hinge'!==_0x5ee041||(_0x4d0eac='revolute');const _0x99ce79=new st(_0x4005a8,_0x4d0eac),_0x2da7c9=(['free','ball']['includes'](_0x5ee041),_0x53fde8['parentElement']),_0x1f3c07=_0x2da7c9['getAttribute']('name');_0x99ce79['parent']=_0x3fcc88||'worldbody',_0x1f3c07&&(_0x99ce79['child']=_0x1f3c07);let _0x2b06ed=null;const _0x138714=_0x53fde8['getAttribute']('axis');if(_0x138714)_0x2b06ed=_0x138714['split']('\x20')['map'](parseFloat);else{let _0x40ef38=_0x53fde8['getAttribute']('class');if(_0x40ef38||(_0x40ef38=_0x2da7c9['getAttribute']('childclass')),_0x40ef38&&_0x377558){const _0x22a8fe=_0x377558['get'](_0x40ef38);_0x22a8fe&&_0x22a8fe['joint']&&_0x22a8fe['joint']['axis']&&(_0x2b06ed=_0x22a8fe['joint']['axis']);}}_0x2b06ed&&(_0x99ce79['axis']={'xyz':[_0x2b06ed[0x0]||0x0,_0x2b06ed[0x1]||0x0,_0x2b06ed[0x2]||0x0]});let _0x9dc1b7=null;const _0x22f927=_0x53fde8['getAttribute']('range');if(_0x22f927)_0x9dc1b7=_0x22f927['split']('\x20')['map'](parseFloat);else{let _0xdf51ce=_0x53fde8['getAttribute']('class');if(_0xdf51ce||(_0xdf51ce=_0x2da7c9['getAttribute']('childclass')),_0xdf51ce&&_0x377558){const _0x3cd725=_0x377558['get'](_0xdf51ce);_0x3cd725&&_0x3cd725['joint']&&_0x3cd725['joint']['range']&&(_0x9dc1b7=_0x3cd725['joint']['range']);}}if(_0x9dc1b7&&_0x9dc1b7['length']>=0x2){const _0x3e6202=new rt();_0x3e6202['lower']=_0x9dc1b7[0x0],_0x3e6202['upper']=_0x9dc1b7[0x1],_0x99ce79['limits']=_0x3e6202;}_0x99ce79['origin']=this['parseOrigin'](_0x53fde8),_0x32a285['addJoint'](_0x99ce79);});_0x296187['querySelectorAll'](':scope\x20>\x20freejoint')['forEach']((_0x5c22b9,_0x5016d2)=>{const _0x13f4f8=_0x5c22b9['getAttribute']('name')||'freejoint_'+_0x32a285['joints']['size'],_0x5694f6=new st(_0x13f4f8,'continuous');_0x5694f6['type']='free';const _0x2c7fbe=_0x5c22b9['parentElement']['getAttribute']('name');_0x5694f6['parent']=_0x3fcc88||'worldbody',_0x2c7fbe&&(_0x5694f6['child']=_0x2c7fbe),_0x5694f6['origin']=this['parseOrigin'](_0x5c22b9),_0x32a285['addJoint'](_0x5694f6);});const _0x440590=_0x296187['querySelectorAll'](':scope\x20>\x20body'),_0x240acf=_0x296187['getAttribute']('name');_0x440590['forEach'](_0x21db5e=>{this['parseJoints'](_0x21db5e,_0x32048f,_0x32a285,_0x240acf||'worldbody',_0x377558);});}static['parseEquality'](_0x55d2d7,_0x5bb6a9){const _0x19f0b6=_0x55d2d7['querySelector']('equality');if(!_0x19f0b6)return;_0x19f0b6['querySelectorAll']('connect')['forEach']((_0x138fdf,_0x3b7988)=>{const _0x233c1a=_0x138fdf['getAttribute']('name')||'connect_'+_0x3b7988,_0x58799f=new at(_0x233c1a,'connect');_0x58799f['body1']=_0x138fdf['getAttribute']('body1'),_0x58799f['body2']=_0x138fdf['getAttribute']('body2');const _0xb1af81=_0x138fdf['getAttribute']('anchor');_0xb1af81&&(_0x58799f['anchor']=_0xb1af81['trim']()['split'](/\s+/)['map'](parseFloat));const _0x1f1810=_0x138fdf['getAttribute']('torquescale');_0x1f1810&&(_0x58799f['torquescale']=parseFloat(_0x1f1810)),_0x58799f['userData']={'body1':_0x58799f['body1'],'body2':_0x58799f['body2'],'anchor':_0x58799f['anchor']},_0x5bb6a9['addConstraint'](_0x58799f);});_0x19f0b6['querySelectorAll']('weld')['forEach']((_0x2eca6f,_0x2c7333)=>{const _0x39f8ae=_0x2eca6f['getAttribute']('name')||'weld_'+_0x2c7333,_0x137b3=new at(_0x39f8ae,'weld');_0x137b3['body1']=_0x2eca6f['getAttribute']('body1'),_0x137b3['body2']=_0x2eca6f['getAttribute']('body2');const _0x2183e0=_0x2eca6f['getAttribute']('anchor');_0x2183e0&&(_0x137b3['anchor']=_0x2183e0['trim']()['split'](/\s+/)['map'](parseFloat));const _0xaa6505=_0x2eca6f['getAttribute']('torquescale');_0xaa6505&&(_0x137b3['torquescale']=parseFloat(_0xaa6505)),_0x137b3['userData']={'body1':_0x137b3['body1'],'body2':_0x137b3['body2'],'anchor':_0x137b3['anchor']},_0x5bb6a9['addConstraint'](_0x137b3);});_0x19f0b6['querySelectorAll']('joint')['forEach']((_0x36d1d9,_0x8e2b57)=>{const _0x42ded2=_0x36d1d9['getAttribute']('name')||'joint_constraint_'+_0x8e2b57,_0x58f860=new at(_0x42ded2,'joint');_0x58f860['joint1']=_0x36d1d9['getAttribute']('joint1'),_0x58f860['joint2']=_0x36d1d9['getAttribute']('joint2');const _0x1d466e=_0x36d1d9['getAttribute']('polycoef');_0x58f860['polycoef']=_0x1d466e?_0x1d466e['trim']()['split'](/\s+/)['map'](parseFloat):[0x0,0x1],_0x58f860['userData']={'joint1':_0x58f860['joint1'],'joint2':_0x58f860['joint2'],'polycoef':_0x58f860['polycoef']},_0x5bb6a9['addConstraint'](_0x58f860);});_0x19f0b6['querySelectorAll']('distance')['forEach']((_0x5240d8,_0x4ba9bd)=>{const _0x29dd23=_0x5240d8['getAttribute']('name')||'distance_'+_0x4ba9bd,_0x158d34=new at(_0x29dd23,'distance');_0x158d34['body1']=_0x5240d8['getAttribute']('body1'),_0x158d34['body2']=_0x5240d8['getAttribute']('body2'),_0x158d34['userData']={'body1':_0x158d34['body1'],'body2':_0x158d34['body2']},_0x5bb6a9['addConstraint'](_0x158d34);});}static async['createThreeObject'](_0x4218a9,_0x3514f3=null,_0x4240d9=null){await xt();const _0x508f95=new _0x43b889();_0x508f95['name']=_0x4218a9['name'];const _0x59fff3=new Map(),_0x4ad08e=new Set();for(const [_0xc557f0,_0x15b77d]of _0x4218a9['links'])for(const _0x4b3c3d of _0x15b77d['visuals'])'mesh'===_0x4b3c3d['geometry']['type']&&_0x4b3c3d['geometry']['filename']&&_0x4ad08e['add'](_0x4b3c3d['geometry']['filename']);const _0x19831c=Array['from'](_0x4ad08e)['map'](_0x140417=>this['loadMeshFile'](_0x140417,_0x3514f3)['catch'](_0xa1aedf=>null)),_0x2298b2=await Promise['all'](_0x19831c),_0x4c3b8b=new Map();let _0xf3ac3a=0x0;for(const _0x1c31f5 of _0x4ad08e){const _0x224cce=_0x2298b2[_0xf3ac3a++];_0x4c3b8b['set'](_0x1c31f5,_0x224cce);}for(const [_0x30de01,_0x51ee98]of _0x4218a9['links']){const _0x1d5f9d=new _0x43b889();_0x1d5f9d['name']=_0x30de01,_0x1d5f9d['isURDFLink']=!0x0,_0x1d5f9d['type']='URDFLink';let _0x468e8f=0x0;for(const _0x402360 of _0x51ee98['visuals']){const _0xee785f=await this['createGeometryMesh'](_0x402360['geometry'],_0x3514f3,_0x4c3b8b);if(_0xee785f){if(_0x402360['geometry']&&_0x402360['geometry']['fromto']){_0xee785f['position']['set'](..._0x402360['geometry']['fromto']['center']);const _0x35533b=_0x402360['geometry']['fromto']['rpy'];_0xee785f['rotation']['set'](_0x35533b[0x0]+_0x402360['origin']['rpy'][0x0],_0x35533b[0x1]+_0x402360['origin']['rpy'][0x1],_0x35533b[0x2]+_0x402360['origin']['rpy'][0x2]);}else _0xee785f['position']['set'](..._0x402360['origin']['xyz']),_0xee785f['rotation']['set'](..._0x402360['origin']['rpy']);if(_0xee785f['name']=_0x402360['name']||'visual',_0x402360['userData']&&_0x402360['userData']['rgba']){const _0xe62b19=_0x402360['userData']['rgba'],_0x4ab03d=new _0x342136(_0xe62b19['r'],_0xe62b19['g'],_0xe62b19['b']);_0xee785f['traverse'](_0x5cc492=>{if(_0x5cc492['isMesh']&&_0x5cc492['material'])if(Array['isArray'](_0x5cc492['material']))_0x5cc492['material']=_0x5cc492['material']['map'](_0x258915=>{const _0x16c4d7=_0x258915['clone']();if(_0x16c4d7['color']=_0x4ab03d,_0xe62b19['a']<0x1&&(_0x16c4d7['transparent']=!0x0,_0x16c4d7['opacity']=_0xe62b19['a']),_0x16c4d7['isMeshPhongMaterial']||_0x16c4d7['isMeshStandardMaterial']){if(void 0x0===_0x16c4d7['userData']['originalShininess'])if(_0x16c4d7['userData']['originalShininess']=void 0x0!==_0x16c4d7['shininess']?_0x16c4d7['shininess']:0x1e,_0x16c4d7['specular'])if(_0x16c4d7['specular']['isColor']){const _0x59844d=_0x16c4d7['specular'];_0x59844d['r']<0.1&&_0x59844d['g']<0.1&&_0x59844d['b']<0.1?_0x16c4d7['userData']['originalSpecular']=null:_0x16c4d7['userData']['originalSpecular']=_0x59844d['clone']();}else'number'==typeof _0x16c4d7['specular']?0x111111===_0x16c4d7['specular']||_0x16c4d7['specular']<0x111111?_0x16c4d7['userData']['originalSpecular']=null:_0x16c4d7['userData']['originalSpecular']=new _0x342136(_0x16c4d7['specular']):_0x16c4d7['userData']['originalSpecular']=null;else _0x16c4d7['userData']['originalSpecular']=null;(void 0x0===_0x16c4d7['shininess']||_0x16c4d7['shininess']<0x32)&&(_0x16c4d7['shininess']=0x32),(!_0x16c4d7['specular']||_0x16c4d7['specular']['isColor']&&_0x16c4d7['specular']['r']<0.2||'number'==typeof _0x16c4d7['specular']&&_0x16c4d7['specular']<0x333333)&&(_0x16c4d7['specular']=new _0x342136(0.3,0.3,0.3));}return _0x16c4d7;});else if(_0x5cc492['material']=_0x5cc492['material']['clone'](),_0x5cc492['material']['color']=_0x4ab03d,_0xe62b19['a']<0x1&&(_0x5cc492['material']['transparent']=!0x0,_0x5cc492['material']['opacity']=_0xe62b19['a']),_0x5cc492['material']['isMeshPhongMaterial']||_0x5cc492['material']['isMeshStandardMaterial']){if(void 0x0===_0x5cc492['material']['userData']['originalShininess'])if(_0x5cc492['material']['userData']['originalShininess']=void 0x0!==_0x5cc492['material']['shininess']?_0x5cc492['material']['shininess']:0x1e,_0x5cc492['material']['specular'])if(_0x5cc492['material']['specular']['isColor']){const _0x23d49b=_0x5cc492['material']['specular'];_0x23d49b['r']<0.1&&_0x23d49b['g']<0.1&&_0x23d49b['b']<0.1?_0x5cc492['material']['userData']['originalSpecular']=null:_0x5cc492['material']['userData']['originalSpecular']=_0x23d49b['clone']();}else'number'==typeof _0x5cc492['material']['specular']?0x111111===_0x5cc492['material']['specular']||_0x5cc492['material']['specular']<0x111111?_0x5cc492['material']['userData']['originalSpecular']=null:_0x5cc492['material']['userData']['originalSpecular']=new _0x342136(_0x5cc492['material']['specular']):_0x5cc492['material']['userData']['originalSpecular']=null;else _0x5cc492['material']['userData']['originalSpecular']=null;(void 0x0===_0x5cc492['material']['shininess']||_0x5cc492['material']['shininess']<0x32)&&(_0x5cc492['material']['shininess']=0x32),(!_0x5cc492['material']['specular']||_0x5cc492['material']['specular']['isColor']&&_0x5cc492['material']['specular']['r']<0.2||'number'==typeof _0x5cc492['material']['specular']&&_0x5cc492['material']['specular']<0x333333)&&(_0x5cc492['material']['specular']=new _0x342136(0.3,0.3,0.3));}});}_0x1d5f9d['add'](_0xee785f),_0x402360['threeObject']=_0xee785f;}}for(const _0x5d621b of _0x51ee98['collisions']){const _0x4c2776=await this['createGeometryMesh'](_0x5d621b['geometry'],_0x3514f3,_0x4c3b8b);if(_0x4c2776){if(_0x5d621b['geometry']&&_0x5d621b['geometry']['fromto']){_0x4c2776['position']['set'](..._0x5d621b['geometry']['fromto']['center']);const _0x13bb05=_0x5d621b['geometry']['fromto']['rpy'];_0x4c2776['rotation']['set'](_0x13bb05[0x0]+_0x5d621b['origin']['rpy'][0x0],_0x13bb05[0x1]+_0x5d621b['origin']['rpy'][0x1],_0x13bb05[0x2]+_0x5d621b['origin']['rpy'][0x2]);}else _0x4c2776['position']['set'](..._0x5d621b['origin']['xyz']),_0x4c2776['rotation']['set'](..._0x5d621b['origin']['rpy']);_0x4c2776['name']=_0x5d621b['name']||'collision';const _0x2e1293=new _0x43b889();_0x2e1293['name']=_0x30de01+'_collider_'+_0x468e8f,_0x2e1293['isURDFCollider']=!0x0,_0x2e1293['add'](_0x4c2776),_0x1d5f9d['add'](_0x2e1293),_0x5d621b['threeObject']=_0x2e1293,_0x468e8f++;}}_0x51ee98['threeObject']=_0x1d5f9d,_0x59fff3['set'](_0x30de01,_0x1d5f9d);}const _0x147309=new Map();for(const [_0x27df73,_0x5d3352]of _0x4218a9['links'])_0x147309['set'](_0x27df73,{'link':_0x5d3352,'parentName':_0x5d3352['userData']['parentName']});const _0x11ab9=Array['from'](_0x4218a9['links']['keys']())['filter'](_0x22060f=>!_0x147309['get'](_0x22060f)['parentName']);function _0x49c0fe(_0x3faa0d,_0x4b0fee){const _0x295a26=_0x59fff3['get'](_0x3faa0d);if(!_0x295a26)return;_0x4b0fee['add'](_0x295a26);Array['from'](_0x4218a9['joints']['values']())['filter'](_0x55865f=>_0x55865f['parent']===_0x3faa0d&&_0x55865f['child'])['forEach'](_0x237644=>{const _0x2997f1=_0x237644['child'];if(!_0x2997f1)return;const _0x7b3615=_0x4218a9['links']['get'](_0x2997f1)['userData']['bodyOrigin']||{'xyz':[0x0,0x0,0x0],'rpy':[0x0,0x0,0x0]},_0x40137e=new _0x43b889();if(_0x40137e['name']=_0x237644['name']||'joint_'+_0x2997f1,_0x40137e['isURDFJoint']=!0x0,_0x40137e['type']='URDFJoint',_0x40137e['jointType']=_0x237644['type'],_0x237644['axis']&&_0x237644['axis']['xyz']){const _0x3db5b6=_0x237644['axis']['xyz'];_0x40137e['axis']=new _0x47b065(_0x3db5b6[0x0],_0x3db5b6[0x1],_0x3db5b6[0x2])['normalize']();}else _0x40137e['axis']=new _0x47b065(0x0,0x1,0x0);_0x40137e['position']['set'](_0x7b3615['xyz'][0x0]+_0x237644['origin']['xyz'][0x0],_0x7b3615['xyz'][0x1]+_0x237644['origin']['xyz'][0x1],_0x7b3615['xyz'][0x2]+_0x237644['origin']['xyz'][0x2]),_0x40137e['rotation']['set'](..._0x7b3615['rpy']),_0x49c0fe(_0x2997f1,_0x40137e),_0x295a26['add'](_0x40137e),_0x237644['threeObject']=_0x40137e;});for(const [_0x5fe974,_0x2161e7]of _0x147309['entries']())if(_0x2161e7['parentName']===_0x3faa0d){if(!Array['from'](_0x4218a9['joints']['values']())['some'](_0xc65731=>_0xc65731['parent']===_0x3faa0d&&_0xc65731['child']===_0x5fe974)){const _0x101bfe=_0x4218a9['links']['get'](_0x5fe974),_0x33da0a=_0x101bfe['userData']['bodyOrigin']||{'xyz':[0x0,0x0,0x0],'rpy':[0x0,0x0,0x0]};_0x101bfe['userData']['isFixedConnection']=!0x0;const _0x40c06b=new _0x43b889();_0x40c06b['position']['set'](..._0x33da0a['xyz']),_0x40c06b['rotation']['set'](..._0x33da0a['rpy']),_0x49c0fe(_0x5fe974,_0x40c06b),_0x295a26['add'](_0x40c06b);}}}if(_0x11ab9['length']>0x0)_0x11ab9['forEach'](_0x499525=>{const _0xcd85e2=_0x4218a9['links']['get'](_0x499525),_0x5d38ac=_0x59fff3['get'](_0x499525);_0xcd85e2['userData']['bodyOrigin']&&(_0x5d38ac['position']['set'](..._0xcd85e2['userData']['bodyOrigin']['xyz']),_0x5d38ac['rotation']['set'](..._0xcd85e2['userData']['bodyOrigin']['rpy'])),_0x49c0fe(_0x499525,_0x508f95);});else if(_0x4218a9['links']['size']>0x0){const _0x37bd64=Array['from'](_0x4218a9['links']['keys']())[0x0],_0x148561=_0x4218a9['links']['get'](_0x37bd64),_0x1a9975=_0x59fff3['get'](_0x37bd64);_0x148561['userData']['bodyOrigin']&&(_0x1a9975['position']['set'](..._0x148561['userData']['bodyOrigin']['xyz']),_0x1a9975['rotation']['set'](..._0x148561['userData']['bodyOrigin']['rpy'])),_0x49c0fe(_0x37bd64,_0x508f95);}_0x4218a9['threeObject']=_0x508f95,_0x508f95['userData']||(_0x508f95['userData']={}),_0x508f95['userData']['type']='mjcf',_0x4218a9['userData']||(_0x4218a9['userData']={}),_0x4218a9['userData']['type']='mjcf';}static async['createGeometryMesh'](_0x34ce1d,_0xcfc323=null,_0x2014e0=null){var _0x131578,_0x5a74ae,_0x9b37ee;let _0x7f2ef9=null;switch(_0x34ce1d['type']){case'box':_0x34ce1d['size']&&(_0x7f2ef9=new _0x4eed01(_0x34ce1d['size']['x'],_0x34ce1d['size']['y'],_0x34ce1d['size']['z']));break;case'sphere':_0x34ce1d['size']&&_0x34ce1d['size']['radius']&&(_0x7f2ef9=new _0x24a7ae(_0x34ce1d['size']['radius'],0x20,0x20));break;case'cylinder':_0x34ce1d['size']&&(_0x7f2ef9=new _0x3ff7a4(_0x34ce1d['size']['radius'],_0x34ce1d['size']['radius'],_0x34ce1d['size']['height'],0x20),_0x7f2ef9['rotateX'](Math['PI']/0x2));break;case'capsule':if(_0x34ce1d['size']){const {radius:_0x150faf,height:_0x44bec5}=_0x34ce1d['size'];if(void 0x0!==_0x311b19)_0x7f2ef9=new _0x311b19(_0x150faf,_0x44bec5,0x4,0x10),_0x7f2ef9['rotateX'](Math['PI']/0x2);else{const _0x1b22e0=Math['max'](0x0,_0x44bec5-0x2*_0x150faf),_0x37af38=new _0x3ff7a4(_0x150faf,_0x150faf,_0x1b22e0,0x10);_0x37af38['rotateX'](Math['PI']/0x2),_0x7f2ef9=_0x37af38;}}break;case'mesh':if(!_0x34ce1d['filename'])return null;{let _0x271a14=null;if(_0x2014e0&&_0x2014e0['has'](_0x34ce1d['filename'])?_0x271a14=_0x2014e0['get'](_0x34ce1d['filename']):_0xcfc323&&(_0x271a14=await this['loadMeshFile'](_0x34ce1d['filename'],_0xcfc323)),!_0x271a14)return null;if(_0x271a14['isGroup']||_0x271a14['isObject3D']){if(_0x7f2ef9=_0x271a14['clone'](!0x0),_0x34ce1d['meshScale']){const [_0x5a0805,_0x5689d0,_0x4957fe]=_0x34ce1d['meshScale'];_0x7f2ef9['scale']['set'](_0x5a0805,_0x5689d0,_0x4957fe);}return _0x7f2ef9['traverse'](_0x259076=>{_0x259076['isMesh']&&_0x259076['material'];}),Mt(_0x7f2ef9),_0x7f2ef9;}if(_0x34ce1d['meshScale']){const [_0x133344,_0x27b20a,_0x33624f]=_0x34ce1d['meshScale'];_0x7f2ef9=_0x271a14['clone'](),_0x7f2ef9['scale'](_0x133344,_0x27b20a,_0x33624f);}else _0x7f2ef9=_0x271a14;}}if(!_0x7f2ef9)return null;const _0x3be147='undefined'!=typeof window&&(null==(_0x9b37ee=null==(_0x5a74ae=null==(_0x131578=window['app'])?void 0x0:_0x131578['sceneManager'])?void 0x0:_0x5a74ae['environmentManager'])?void 0x0:_0x9b37ee['getEnvironmentMap']()),_0xbe0fd3=new _0x2f1015({'color':0xf0f0f0,'shininess':0x32,'specular':new _0x342136(0.3,0.3,0.3),'envMap':_0x3be147||null,'reflectivity':_0x3be147?0.3:0x0});return _0xbe0fd3['userData']['originalShininess']=0x1e,_0xbe0fd3['userData']['originalSpecular']=null,new _0x514bc2(_0x7f2ef9,_0xbe0fd3);}static async['loadMeshFile'](_0x3f53e7,_0x35603f){return async function(_0x302937,_0x3e9be9){try{let _0x4155f8=bt(_0x302937,_0x3e9be9);const _0x5a865a=mt(_0x302937);if(!_0x4155f8&&!_0x5a865a['includes']('.')){const _0x4fa8f2=['.stl','.obj','.dae','.gltf','.glb'];for(const _0x1bb34b of _0x4fa8f2)if(_0x4155f8=bt(_0x5a865a+_0x1bb34b,_0x3e9be9),_0x4155f8)break;}if(!_0x4155f8)return null;const _0x5ed750=_0x4155f8['name']?_0x4155f8['name']['toLowerCase']()['split']('.')['pop']():_0x302937['toLowerCase']()['split']('.')['pop'](),_0x2cb68f=URL['createObjectURL'](_0x4155f8);try{const _0xbf671e=await xt();let _0x4ffc07=null;switch(_0x5ed750){case'stl':_0x4ffc07=await new Promise((_0x5c34d7,_0x417172)=>{_0xbf671e['STLLoader']['load'](_0x2cb68f,_0x5c34d7,void 0x0,_0x417172);});break;case'obj':const _0x41d5e5=_0x4155f8['name']['replace'](/\.obj$/i,'.mtl'),_0x2d49f8=Array['from'](_0x3e9be9['values']())['find'](_0x2ab2bb=>_0x2ab2bb['name']&&_0x2ab2bb['name']['toLowerCase']()===_0x41d5e5['toLowerCase']());if(_0x2d49f8)try{const _0x4695af=URL['createObjectURL'](_0x2d49f8),_0x1edf7c=await new Promise((_0x1aa11c,_0x1f5e66)=>{_0xbf671e['MTLLoader']['load'](_0x4695af,_0x1aa11c,void 0x0,_0x1f5e66);});URL['revokeObjectURL'](_0x4695af),_0x1edf7c['preload'](),_0xbf671e['OBJLoader']['setMaterials'](_0x1edf7c);}catch(_0x43a753){}_0x4ffc07=await new Promise((_0x3653ac,_0x493335)=>{_0xbf671e['OBJLoader']['load'](_0x2cb68f,_0x3653ac,void 0x0,_0x493335);}),_0xbf671e['OBJLoader']['setMaterials'](null);break;case'dae':const _0x52848e=await new Promise((_0x139e27,_0x555bf4)=>{_0xbf671e['ColladaLoader']['load'](_0x2cb68f,_0x139e27,void 0x0,_0x555bf4);});_0x4ffc07=_0x52848e?_0x52848e['scene']:null;break;case'gltf':case'glb':const _0x20eaa2=await new Promise((_0x3ca8cf,_0x6645f7)=>{_0xbf671e['GLTFLoader']['load'](_0x2cb68f,_0x3ca8cf,void 0x0,_0x6645f7);});_0x4ffc07=_0x20eaa2?_0x20eaa2['scene']:null;break;default:return URL['revokeObjectURL'](_0x2cb68f),null;}return URL['revokeObjectURL'](_0x2cb68f),_0x4ffc07&&(_0x4ffc07['isGroup']||_0x4ffc07['isObject3D']||_0x4ffc07['isScene'])&&Mt(_0x4ffc07),_0x4ffc07;}catch(_0x590db3){return URL['revokeObjectURL'](_0x2cb68f),null;}}catch(_0x27fbf1){return null;}}(_0x3f53e7,_0x35603f);}static['setJointAngle'](_0x503f51,_0x195a0e){if(_0x503f51['currentValue']=_0x195a0e,_0x503f51['threeObject'])if('revolute'===_0x503f51['type']||'continuous'===_0x503f51['type']){let _0x3bf956;if(_0x503f51['threeObject']['axis'])_0x3bf956=_0x503f51['threeObject']['axis']['clone']()['normalize']();else{if(!_0x503f51['axis']||!_0x503f51['axis']['xyz'])return;{const _0x5e05c7=_0x503f51['axis']['xyz'];_0x3bf956=new _0x47b065(_0x5e05c7[0x0],_0x5e05c7[0x2],-_0x5e05c7[0x1])['normalize']();}}_0x503f51['threeObject']['userData']['initialQuaternion']||(_0x503f51['threeObject']['userData']['initialQuaternion']=_0x503f51['threeObject']['quaternion']['clone']());const _0x2b3597=new _0x57eb35();_0x2b3597['setFromAxisAngle'](_0x3bf956,_0x195a0e),_0x503f51['threeObject']['quaternion']['copy'](_0x503f51['threeObject']['userData']['initialQuaternion']),_0x503f51['threeObject']['quaternion']['multiply'](_0x2b3597),_0x503f51['threeObject']['updateMatrixWorld'](!0x0);}else if('prismatic'===_0x503f51['type']){let _0x4ab8fe;if(_0x503f51['threeObject']['axis'])_0x4ab8fe=_0x503f51['threeObject']['axis']['clone']()['normalize']();else{if(!_0x503f51['axis']||!_0x503f51['axis']['xyz'])return;{const _0x69864e=_0x503f51['axis']['xyz'];_0x4ab8fe=new _0x47b065(_0x69864e[0x0],_0x69864e[0x2],-_0x69864e[0x1])['normalize']();}}_0x503f51['threeObject']['userData']['initialPosition']||(_0x503f51['threeObject']['userData']['initialPosition']=_0x503f51['threeObject']['position']['clone']()),_0x503f51['threeObject']['position']['copy'](_0x503f51['threeObject']['userData']['initialPosition']),_0x503f51['threeObject']['position']['addScaledVector'](_0x4ab8fe,_0x195a0e),_0x503f51['threeObject']['updateMatrixWorld'](!0x0);}}}class St{static async['parse'](_0x441847,_0x5e0793=null,_0x14dcb2=null,_0x2e0957={}){if(!_0x2e0957['usdViewerManager'])throw new Error('USD\x20viewer\x20not\x20initialized');return await this['parseWithWASM'](_0x14dcb2,_0x5e0793,_0x2e0957['usdViewerManager']);}static async['parseWithWASM'](_0x32a1bf,_0x28d4ad=null,_0x3702fa){try{if(_0x28d4ad&&_0x28d4ad['size']>0x1){const _0x25015f={};for(const [_0x44c232,_0x214991]of _0x28d4ad['entries']())_0x25015f[_0x44c232]=_0x214991;let _0xa68487=_0x32a1bf['name'];for(const [_0x3ddb68,_0x30b4ad]of _0x28d4ad['entries']())if(_0x3ddb68['endsWith'](_0x32a1bf['name'])&&!_0x3ddb68['includes']('/.thumbs/')&&!_0x3ddb68['includes']('/Props/')){_0xa68487=_0x3ddb68;break;}await _0x3702fa['loadFromFilesMap'](_0x25015f,_0xa68487);}else await _0x3702fa['loadFromFile'](_0x32a1bf);const _0x2d0230=new Qe();return _0x2d0230['name']=_0x32a1bf['name']['replace'](/\.(usdz|usdc|usd|usda)$/i,''),_0x2d0230['userData']=_0x2d0230['userData']||{},_0x2d0230['userData']['isUSDWASM']=!0x0,_0x2d0230['userData']['usdViewerManager']=_0x3702fa,_0x2d0230;}catch(_0x58ebca){throw _0x58ebca;}}static async['parseUSDZ_OLD'](_0x2db1b7,_0x2fad4d=null){const {USDZLoader:_0x1b55d7}=await Ae(()=>import('./USDZLoader-64197f74.js'),["./USDZLoader-64197f74.js","./three-9c891de0.js"],import.meta.url),_0x199838=new _0x1b55d7(),_0x2b328b=URL['createObjectURL'](_0x2db1b7);try{const _0x59d24e=await new Promise((_0x408539,_0x174e7b)=>{_0x199838['load'](_0x2b328b,_0x141bd0=>{_0x408539(_0x141bd0);},void 0x0,_0x3baa59=>{_0x174e7b(_0x3baa59);});});return URL['revokeObjectURL'](_0x2b328b),this['convertThreeGroupToModel'](_0x59d24e,_0x2db1b7['name']);}catch(_0x4c2aa7){throw URL['revokeObjectURL'](_0x2b328b),_0x4c2aa7;}}static['convertThreeGroupToModel'](_0x6a0871,_0x4b65ba){const _0x340419=new Qe();_0x340419['name']=_0x4b65ba['replace'](/\.(usdz|usdc|usd|usda)$/i,''),_0x340419['threeObject']=_0x6a0871;let _0x318494=0x0;return _0x6a0871['traverse'](_0x21c80a=>{if(_0x21c80a['isMesh']||_0x21c80a['isGroup']){const _0x123149=_0x21c80a['name']||'link_'+_0x318494++,_0xea7133=new Ke(_0x123149);if(_0xea7133['threeObject']=_0x21c80a,_0x21c80a['isMesh']){const _0x310fc5=new et();_0x310fc5['name']=_0x21c80a['name']||_0x123149,_0x310fc5['threeObject']=_0x21c80a,_0x21c80a['geometry']&&(_0x310fc5['geometry']=this['extractGeometryInfo'](_0x21c80a['geometry'])),_0xea7133['visuals']['push'](_0x310fc5);}_0x340419['addLink'](_0xea7133);}}),_0x340419;}static['extractGeometryInfo'](_0x18feae){var _0x1fa0c8,_0x551dfe,_0x34f9bc,_0x52e229,_0x26a141,_0x51f502;const _0x2f9828=new nt('mesh');return'BoxGeometry'===_0x18feae['type']?(_0x2f9828['type']='box',_0x2f9828['size']={'x':(null==(_0x1fa0c8=_0x18feae['parameters'])?void 0x0:_0x1fa0c8['width'])||0x1,'y':(null==(_0x551dfe=_0x18feae['parameters'])?void 0x0:_0x551dfe['height'])||0x1,'z':(null==(_0x34f9bc=_0x18feae['parameters'])?void 0x0:_0x34f9bc['depth'])||0x1}):'SphereGeometry'===_0x18feae['type']?(_0x2f9828['type']='sphere',_0x2f9828['size']={'radius':(null==(_0x52e229=_0x18feae['parameters'])?void 0x0:_0x52e229['radius'])||0.5}):'CylinderGeometry'===_0x18feae['type']&&(_0x2f9828['type']='cylinder',_0x2f9828['size']={'radius':(null==(_0x26a141=_0x18feae['parameters'])?void 0x0:_0x26a141['radiusTop'])||0.5,'height':(null==(_0x51f502=_0x18feae['parameters'])?void 0x0:_0x51f502['height'])||0x1}),_0x2f9828;}static['parseASCIIUSD_DEPRECATED'](_0x3ab1b7,_0x8f0ccb=null){const _0x6d311b=new Qe();_0x6d311b['name']='usd_model',!_0x3ab1b7['includes']('#usda')&&_0x3ab1b7['includes']('def\x20');const _0x3820d8=_0x3ab1b7['split']('\x0a');let _0x54b62a=null,_0x785d7d=[];for(let _0x312aef=0x0;_0x312aef<_0x3820d8['length'];_0x312aef++){const _0x32aec8=_0x3820d8[_0x312aef]['trim']();if(!_0x32aec8||_0x32aec8['startsWith']('#'))continue;const _0x1ed84e=_0x32aec8['match'](/def\s+(\w+)\s+"([^"]+)"\s*\{/);if(_0x1ed84e){const _0x1d9488=_0x1ed84e[0x1],_0x4771ba=_0x1ed84e[0x2];if('Xform'===_0x1d9488||'Mesh'===_0x1d9488||'Cube'===_0x1d9488||'Sphere'===_0x1d9488||'Cylinder'===_0x1d9488)if('Xform'!==_0x1d9488||_0x54b62a){if(_0x54b62a){const _0x27197b=new et();_0x27197b['name']=_0x4771ba,_0x27197b['geometry']=this['parseUSDGeometry'](_0x1d9488,_0x3820d8,_0x312aef),_0x54b62a['visuals']['push'](_0x27197b),_0x785d7d['push']({'type':'visual','obj':_0x27197b});}}else _0x54b62a=new Ke(_0x4771ba),_0x6d311b['addLink'](_0x54b62a),_0x785d7d['push']({'type':'link','obj':_0x54b62a});continue;}if(_0x54b62a&&_0x32aec8['includes']('=')){const _0x666b02=_0x32aec8['match'](/(\w+)\s*=\s*(.+)/);if(_0x666b02){const _0x377969=_0x666b02[0x1],_0x5b7a99=_0x666b02[0x2]['trim']();if('xformOp:translate'===_0x377969){const _0x30987c=this['parseUSDArray'](_0x5b7a99);if(_0x30987c['length']>=0x3){const _0x1cb5e7=_0x54b62a['visuals'][_0x54b62a['visuals']['length']-0x1];_0x1cb5e7&&(_0x1cb5e7['origin']['xyz']=_0x30987c['slice'](0x0,0x3));}}}}if('}'===_0x32aec8&&_0x785d7d['length']>0x0){'link'===_0x785d7d['pop']()['type']&&(_0x54b62a=null);}}return this['createThreeObject'](_0x6d311b),_0x6d311b;}static['parseUSDGeometry'](_0x2d7e07,_0x183815,_0x187192){const _0x2c8655=new nt(_0x2d7e07['toLowerCase']());for(let _0x211f3f=_0x187192;_0x211f3f<Math['min'](_0x187192+0x14,_0x183815['length']);_0x211f3f++){const _0x373919=_0x183815[_0x211f3f]['trim']();if('}'===_0x373919)break;const _0x112c22=_0x373919['match'](/(\w+)\s*=\s*(.+)/);if(_0x112c22){const _0x59b7b4=_0x112c22[0x1],_0x421c47=_0x112c22[0x2]['trim']();switch(_0x2d7e07){case'Cube':if('size'===_0x59b7b4){const _0xc55d16=parseFloat(_0x421c47);_0x2c8655['size']={'x':_0xc55d16,'y':_0xc55d16,'z':_0xc55d16};}break;case'Sphere':'radius'===_0x59b7b4&&(_0x2c8655['size']={'radius':parseFloat(_0x421c47)});break;case'Cylinder':if('radius'===_0x59b7b4){const _0x37d16f=parseFloat(_0x421c47);_0x2c8655['size']={'radius':_0x37d16f,'height':0x2*_0x37d16f};}'height'===_0x59b7b4&&(_0x2c8655['size']||(_0x2c8655['size']={}),_0x2c8655['size']['height']=parseFloat(_0x421c47));}}}return _0x2c8655;}static['parseUSDArray'](_0x247600){return(_0x247600=_0x247600['replace'](/[()]/g,'')['trim']())['split'](',')['map'](_0x19e5c2=>parseFloat(_0x19e5c2['trim']()))['filter'](_0x409385=>!isNaN(_0x409385));}static['createThreeObject'](_0x286455){const _0x3a22bf=new _0x43b889();_0x3a22bf['name']=_0x286455['name'],_0x286455['links']['forEach']((_0x2e670a,_0x2fdb81)=>{const _0x1b9958=new _0x43b889();_0x1b9958['name']=_0x2fdb81,_0x2e670a['visuals']['forEach'](_0x3c4df2=>{const _0x2cd263=this['createGeometryMesh'](_0x3c4df2['geometry']);_0x2cd263&&(_0x2cd263['position']['set'](..._0x3c4df2['origin']['xyz']),_0x2cd263['rotation']['set'](..._0x3c4df2['origin']['rpy']),_0x2cd263['name']=_0x3c4df2['name'],_0x1b9958['add'](_0x2cd263),_0x3c4df2['threeObject']=_0x2cd263);}),_0x2e670a['threeObject']=_0x1b9958,_0x3a22bf['add'](_0x1b9958);}),_0x286455['threeObject']=_0x3a22bf;}static['createGeometryMesh'](_0x4a82ff){let _0x32127d=null;switch(_0x4a82ff['type']){case'cube':if(_0x4a82ff['size']){const _0x36f77e=_0x4a82ff['size']['x']||0.1;_0x32127d=new _0x4eed01(_0x36f77e,_0x36f77e,_0x36f77e);}break;case'sphere':_0x4a82ff['size']&&_0x4a82ff['size']['radius']&&(_0x32127d=new _0x24a7ae(_0x4a82ff['size']['radius'],0x20,0x20));break;case'cylinder':_0x4a82ff['size']&&(_0x32127d=new _0x3ff7a4(_0x4a82ff['size']['radius']||0.1,_0x4a82ff['size']['radius']||0.1,_0x4a82ff['size']['height']||0.1,0x20));}if(!_0x32127d)return null;const _0x178528=new _0x134ca9({'color':0x888888});return new _0x514bc2(_0x32127d,_0x178528);}static['setJointAngle'](_0x3b1ed0,_0x423a96){if(_0x3b1ed0['currentValue']=_0x423a96,_0x3b1ed0['threeObject']&&('revolute'===_0x3b1ed0['type']||'continuous'===_0x3b1ed0['type'])){const _0x33a7a2=new _0x47b065(..._0x3b1ed0['axis']['xyz'])['normalize']();_0x3b1ed0['threeObject']['rotation']['setFromAxisAngle'](_0x33a7a2,_0x423a96),_0x3b1ed0['threeObject']['updateMatrixWorld'](!0x0);}}}function At(_0xe8046e){const _0x258b62=_0xe8046e['split'](/[\\/]/g);return _0x258b62['pop'](),0x0===_0x258b62['length']?'./':_0x258b62['join']('/')+'/';}function Lt(_0x52787f,_0x80a36d,_0x52c109=[]){_0x52787f['tagName']===_0x80a36d&&_0x52c109['push'](_0x52787f);for(let _0x529e21=0x0,_0x2fb1a6=_0x52787f['children']['length'];_0x529e21<_0x2fb1a6;_0x529e21++){Lt(_0x52787f['children'][_0x529e21],_0x80a36d,_0x52c109);}return _0x52c109;}function Et(_0xc83027,_0x125a1b){const _0xe2ff63=_0xc83027['cloneNode'](),_0x1e09b3=_0xc83027['childNodes'];for(let _0x580ac7=0x0,_0x52a0fb=_0x1e09b3['length'];_0x580ac7<_0x52a0fb;_0x580ac7++){const _0x490d82=_0x1e09b3[_0x580ac7],_0x2bf35d=_0x490d82['tagName'];(!_0x125a1b||'xacro:property'!==_0x2bf35d&&'xacro:macro'!==_0x2bf35d)&&_0xe2ff63['appendChild'](Et(_0x490d82,_0x125a1b));}return _0xe2ff63;}function Ct(_0x5e93eb){for(;_0x5e93eb['length']>0x0;){const _0x23e90a=_0x5e93eb[_0x5e93eb['length']-0x1];if(_0x23e90a['nodeType']===_0x23e90a['ELEMENT_NODE'])break;_0x5e93eb['pop']();}}function jt(_0x2158bb){return/^(('[^']*?')|("[^"]*?")|(`[^`]*?`))$/['test'](_0x2158bb);}function kt(_0x3c52ec){return!isNaN(Number(_0x3c52ec))&&!isNaN(parseFloat(_0x3c52ec));}const Tt=Symbol('parent');function Ot(..._0x1b94c0){const _0x19da2e={};for(let _0x4f5f40=0x0,_0x4d3da0=_0x1b94c0['length'];_0x4f5f40<_0x4d3da0;_0x4f5f40++){const _0x2f0597=_0x1b94c0[_0x4f5f40];for(const _0x314ff7 in _0x2f0597)_0x19da2e[_0x314ff7]=_0x2f0597[_0x314ff7];Tt in _0x2f0597&&(_0x19da2e[Tt]=_0x2f0597[Tt]);}return _0x19da2e;}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(_0x510220,_0xcedb59){this['type']=_0x510220,this['value']=null!=_0xcedb59?_0xcedb59:0x0;}function Gt(_0x18eea7){return new Ht(Dt,_0x18eea7);}function Wt(_0x42cdfc){return new Ht(Pt,_0x42cdfc);}function Xt(_0x214944){return new Ht(It,_0x214944);}function Yt(_0x36aba2,_0x239a32,_0x257276,_0x2c4ab9,_0x2de9d5){for(var _0x227c98,_0x44a880,_0x38bdac,_0x3dd5cb,_0x2270fa=[],_0x193276=[],_0x1ca360=0x0;_0x1ca360<_0x36aba2['length'];_0x1ca360++){var _0x3d4fc0=_0x36aba2[_0x1ca360],_0x8712da=_0x3d4fc0['type'];if(_0x8712da===Ft||_0x8712da===zt)Array['isArray'](_0x3d4fc0['value'])?_0x2270fa['push']['apply'](_0x2270fa,Yt(_0x3d4fc0['value']['map'](function(_0x13b068){return new Ht(Ft,_0x13b068);})['concat'](new Ht(Jt,_0x3d4fc0['value']['length'])),_0x239a32,_0x257276,_0x2c4ab9,_0x2de9d5)):_0x2270fa['push'](_0x3d4fc0);else if(_0x8712da===Rt&&Object['hasOwn'](_0x2de9d5,_0x3d4fc0['value']))_0x3d4fc0=new Ht(Ft,_0x2de9d5[_0x3d4fc0['value']]),_0x2270fa['push'](_0x3d4fc0);else if(_0x8712da===Pt&&_0x2270fa['length']>0x1)_0x44a880=_0x2270fa['pop'](),_0x227c98=_0x2270fa['pop'](),_0x3dd5cb=_0x257276[_0x3d4fc0['value']],_0x3d4fc0=new Ht(Ft,_0x3dd5cb(_0x227c98['value'],_0x44a880['value'])),_0x2270fa['push'](_0x3d4fc0);else if(_0x8712da===It&&_0x2270fa['length']>0x2)_0x38bdac=_0x2270fa['pop'](),_0x44a880=_0x2270fa['pop'](),_0x227c98=_0x2270fa['pop'](),'?'===_0x3d4fc0['value']?_0x2270fa['push'](_0x227c98['value']?_0x44a880['value']:_0x38bdac['value']):(_0x3dd5cb=_0x2c4ab9[_0x3d4fc0['value']],_0x3d4fc0=new Ht(Ft,_0x3dd5cb(_0x227c98['value'],_0x44a880['value'],_0x38bdac['value'])),_0x2270fa['push'](_0x3d4fc0));else if(_0x8712da===Dt&&_0x2270fa['length']>0x0)_0x227c98=_0x2270fa['pop'](),_0x3dd5cb=_0x239a32[_0x3d4fc0['value']],_0x3d4fc0=new Ht(Ft,_0x3dd5cb(_0x227c98['value'])),_0x2270fa['push'](_0x3d4fc0);else if(_0x8712da===Vt){for(;_0x2270fa['length']>0x0;)_0x193276['push'](_0x2270fa['shift']());_0x193276['push'](new Ht(Vt,Yt(_0x3d4fc0['value'],_0x239a32,_0x257276,_0x2c4ab9,_0x2de9d5)));}else if(_0x8712da===Bt&&_0x2270fa['length']>0x0)_0x227c98=_0x2270fa['pop'](),_0x2270fa['push'](new Ht(Ft,_0x227c98['value'][_0x3d4fc0['value']]));else{for(;_0x2270fa['length']>0x0;)_0x193276['push'](_0x2270fa['shift']());_0x193276['push'](_0x3d4fc0);}}for(;_0x2270fa['length']>0x0;)_0x193276['push'](_0x2270fa['shift']());return _0x193276;}function Zt(_0x53aad9,_0x35b744,_0x35edef){for(var _0x2fdb84=[],_0x57c608=0x0;_0x57c608<_0x53aad9['length'];_0x57c608++){var _0x5e0221=_0x53aad9[_0x57c608],_0x3662fa=_0x5e0221['type'];if(_0x3662fa===Rt&&_0x5e0221['value']===_0x35b744)for(var _0x109ec9=0x0;_0x109ec9<_0x35edef['tokens']['length'];_0x109ec9++){var _0x28ea03,_0x464faa=_0x35edef['tokens'][_0x109ec9];_0x28ea03=_0x464faa['type']===Dt?Gt(_0x464faa['value']):_0x464faa['type']===Pt?Wt(_0x464faa['value']):_0x464faa['type']===It?Xt(_0x464faa['value']):new Ht(_0x464faa['type'],_0x464faa['value']),_0x2fdb84['push'](_0x28ea03);}else _0x3662fa===Vt?_0x2fdb84['push'](new Ht(Vt,Zt(_0x5e0221['value'],_0x35b744,_0x35edef))):_0x2fdb84['push'](_0x5e0221);}return _0x2fdb84;}function Qt(_0x37a29a,_0x497cb7,_0x27bd0e){for(var _0x26e2e8 in _0x497cb7['functions'])if(_0x497cb7['functions'][_0x26e2e8]===_0x37a29a)return!0x0;if(_0x37a29a['__expr_eval_safe_def'])return!0x0;for(var _0x52d293 in _0x27bd0e)if('object'==typeof _0x27bd0e[_0x52d293]&&null!==_0x27bd0e[_0x52d293])for(var _0x269cdd in _0x27bd0e[_0x52d293])if(_0x27bd0e[_0x52d293][_0x269cdd]===_0x37a29a)return!0x0;return!0x1;}function Kt(_0x391e85,_0x5ca40,_0x1247bf){var _0xa48df0,_0x222817,_0xe4da1a,_0x21e6ac,_0x12cbe1,_0xeadc28,_0x1f6ba6=[];if(tn(_0x391e85))return nn(_0x391e85,_0x1247bf);for(var _0x5d47f1=_0x391e85['length'],_0x2c6d1a=0x0;_0x2c6d1a<_0x5d47f1;_0x2c6d1a++){var _0x2e555e=_0x391e85[_0x2c6d1a],_0x3d1498=_0x2e555e['type'];if(_0x3d1498===Ft||_0x3d1498===zt)_0x1f6ba6['push'](_0x2e555e['value']);else if(_0x3d1498===Pt)_0x222817=_0x1f6ba6['pop'](),_0xa48df0=_0x1f6ba6['pop'](),'and'===_0x2e555e['value']?_0x1f6ba6['push'](!!_0xa48df0&&!!Kt(_0x222817,_0x5ca40,_0x1247bf)):'or'===_0x2e555e['value']?_0x1f6ba6['push'](!!_0xa48df0||!!Kt(_0x222817,_0x5ca40,_0x1247bf)):'='===_0x2e555e['value']?(_0x21e6ac=_0x5ca40['binaryOps'][_0x2e555e['value']],_0x1f6ba6['push'](_0x21e6ac(_0xa48df0,Kt(_0x222817,_0x5ca40,_0x1247bf),_0x1247bf))):(_0x21e6ac=_0x5ca40['binaryOps'][_0x2e555e['value']],_0x1f6ba6['push'](_0x21e6ac(nn(_0xa48df0,_0x1247bf),nn(_0x222817,_0x1247bf))));else if(_0x3d1498===It)_0xe4da1a=_0x1f6ba6['pop'](),_0x222817=_0x1f6ba6['pop'](),_0xa48df0=_0x1f6ba6['pop'](),'?'===_0x2e555e['value']?_0x1f6ba6['push'](Kt(_0xa48df0?_0x222817:_0xe4da1a,_0x5ca40,_0x1247bf)):(_0x21e6ac=_0x5ca40['ternaryOps'][_0x2e555e['value']],_0x1f6ba6['push'](_0x21e6ac(nn(_0xa48df0,_0x1247bf),nn(_0x222817,_0x1247bf),nn(_0xe4da1a,_0x1247bf))));else if(_0x3d1498===Rt){if(/^__proto__|prototype|constructor$/['test'](_0x2e555e['value']))throw new Error('prototype\x20access\x20detected');if(_0x2e555e['value']in _0x5ca40['functions'])_0x1f6ba6['push'](_0x5ca40['functions'][_0x2e555e['value']]);else if(_0x2e555e['value']in _0x5ca40['unaryOps']&&_0x5ca40['parser']['isOperatorEnabled'](_0x2e555e['value']))_0x1f6ba6['push'](_0x5ca40['unaryOps'][_0x2e555e['value']]);else{var _0x2da5f9=_0x1247bf[_0x2e555e['value']];if(void 0x0===_0x2da5f9)throw new Error('undefined\x20variable:\x20'+_0x2e555e['value']);if('function'==typeof _0x2da5f9&&!Qt(_0x2da5f9,_0x5ca40,_0x1247bf))throw new Error('Variable\x20references\x20an\x20unallowed\x20function:\x20'+_0x2e555e['value']);_0x1f6ba6['push'](_0x2da5f9);}}else if(_0x3d1498===Dt)_0xa48df0=_0x1f6ba6['pop'](),_0x21e6ac=_0x5ca40['unaryOps'][_0x2e555e['value']],_0x1f6ba6['push'](_0x21e6ac(nn(_0xa48df0,_0x1247bf)));else if(_0x3d1498===Nt){for(_0xeadc28=_0x2e555e['value'],_0x12cbe1=[];_0xeadc28-->0x0;)_0x12cbe1['unshift'](nn(_0x1f6ba6['pop'](),_0x1247bf));if(!Qt(_0x21e6ac=_0x1f6ba6['pop'](),_0x5ca40,_0x1247bf))throw new Error('Is\x20not\x20an\x20allowed\x20function.');if(!_0x21e6ac['apply']||!_0x21e6ac['call'])throw new Error(_0x21e6ac+'\x20is\x20not\x20a\x20function');_0x1f6ba6['push'](_0x21e6ac['apply'](void 0x0,_0x12cbe1));}else if(_0x3d1498===Ut)_0x1f6ba6['push']((function(){for(var _0x723174=_0x1f6ba6['pop'](),_0x37a38d=[],_0x1eeff3=_0x2e555e['value'];_0x1eeff3-->0x0;)_0x37a38d['unshift'](_0x1f6ba6['pop']());var _0x1029d6=_0x1f6ba6['pop'](),_0x17df07=function(){for(var _0x5b2c99=Object['assign']({},_0x1247bf),_0x56bc31=0x0,_0x5b4bc0=_0x37a38d['length'];_0x56bc31<_0x5b4bc0;_0x56bc31++)_0x5b2c99[_0x37a38d[_0x56bc31]]=arguments[_0x56bc31];return Kt(_0x723174,_0x5ca40,_0x5b2c99);};return Object['defineProperty'](_0x17df07,'name',{'value':_0x1029d6,'writable':!0x1}),Object['defineProperty'](_0x17df07,'__expr_eval_safe_def',{'value':!0x0,'writable':!0x1}),_0x1247bf[_0x1029d6]=_0x17df07,_0x17df07;}()));else if(_0x3d1498===Vt)_0x1f6ba6['push'](en(_0x2e555e,_0x5ca40));else if(_0x3d1498===qt)_0x1f6ba6['push'](_0x2e555e);else if(_0x3d1498===Bt)_0xa48df0=_0x1f6ba6['pop'](),_0x1f6ba6['push'](_0xa48df0[_0x2e555e['value']]);else if(_0x3d1498===$t)_0x1f6ba6['pop']();else{if(_0x3d1498!==Jt)throw new Error('invalid\x20Expression');for(_0xeadc28=_0x2e555e['value'],_0x12cbe1=[];_0xeadc28-->0x0;)_0x12cbe1['unshift'](_0x1f6ba6['pop']());_0x1f6ba6['push'](_0x12cbe1);}}if(_0x1f6ba6['length']>0x1)throw new Error('invalid\x20Expression\x20(parity)');return 0x0===_0x1f6ba6[0x0]?0x0:nn(_0x1f6ba6[0x0],_0x1247bf);}function en(_0x507ffe,_0x35b713,_0x246f92){return tn(_0x507ffe)?_0x507ffe:{'type':qt,'value':function(_0x411cd0){return Kt(_0x507ffe['value'],_0x35b713,_0x411cd0);}};}function tn(_0x18b016){return _0x18b016&&_0x18b016['type']===qt;}function nn(_0x4d4408,_0x5cccaf){return tn(_0x4d4408)?_0x4d4408['value'](_0x5cccaf):_0x4d4408;}function sn(_0x48d958,_0x493d44){for(var _0x53034a,_0x4d8dc1,_0x3543f4,_0x1a450f,_0x1e653e,_0x2d27f2,_0xb48d1b=[],_0xf976d7=0x0;_0xf976d7<_0x48d958['length'];_0xf976d7++){var _0x2224a3=_0x48d958[_0xf976d7],_0x25c139=_0x2224a3['type'];if(_0x25c139===Ft)'number'==typeof _0x2224a3['value']&&_0x2224a3['value']<0x0?_0xb48d1b['push']('('+_0x2224a3['value']+')'):Array['isArray'](_0x2224a3['value'])?_0xb48d1b['push']('['+_0x2224a3['value']['map'](rn)['join'](',\x20')+']'):_0xb48d1b['push'](rn(_0x2224a3['value']));else if(_0x25c139===Pt)_0x4d8dc1=_0xb48d1b['pop'](),_0x53034a=_0xb48d1b['pop'](),_0x1a450f=_0x2224a3['value'],_0x493d44?'^'===_0x1a450f?_0xb48d1b['push']('Math.pow('+_0x53034a+',\x20'+_0x4d8dc1+')'):'and'===_0x1a450f?_0xb48d1b['push']('(!!'+_0x53034a+'\x20&&\x20!!'+_0x4d8dc1+')'):'or'===_0x1a450f?_0xb48d1b['push']('(!!'+_0x53034a+'\x20||\x20!!'+_0x4d8dc1+')'):'||'===_0x1a450f?_0xb48d1b['push']('(function(a,b){\x20return\x20Array.isArray(a)\x20&&\x20Array.isArray(b)\x20?\x20a.concat(b)\x20:\x20String(a)\x20+\x20String(b);\x20}(('+_0x53034a+'),('+_0x4d8dc1+')))'):'=='===_0x1a450f?_0xb48d1b['push']('('+_0x53034a+'\x20===\x20'+_0x4d8dc1+')'):'!='===_0x1a450f?_0xb48d1b['push']('('+_0x53034a+'\x20!==\x20'+_0x4d8dc1+')'):'['===_0x1a450f?_0xb48d1b['push'](_0x53034a+'[('+_0x4d8dc1+')\x20|\x200]'):_0xb48d1b['push']('('+_0x53034a+'\x20'+_0x1a450f+'\x20'+_0x4d8dc1+')'):'['===_0x1a450f?_0xb48d1b['push'](_0x53034a+'['+_0x4d8dc1+']'):_0xb48d1b['push']('('+_0x53034a+'\x20'+_0x1a450f+'\x20'+_0x4d8dc1+')');else if(_0x25c139===It){if(_0x3543f4=_0xb48d1b['pop'](),_0x4d8dc1=_0xb48d1b['pop'](),_0x53034a=_0xb48d1b['pop'](),'?'!==(_0x1a450f=_0x2224a3['value']))throw new Error('invalid\x20Expression');_0xb48d1b['push']('('+_0x53034a+'\x20?\x20'+_0x4d8dc1+'\x20:\x20'+_0x3543f4+')');}else if(_0x25c139===Rt||_0x25c139===zt)_0xb48d1b['push'](_0x2224a3['value']);else if(_0x25c139===Dt)_0x53034a=_0xb48d1b['pop'](),'-'===(_0x1a450f=_0x2224a3['value'])||'+'===_0x1a450f?_0xb48d1b['push']('('+_0x1a450f+_0x53034a+')'):_0x493d44?'not'===_0x1a450f?_0xb48d1b['push']('(!'+_0x53034a+')'):'!'===_0x1a450f?_0xb48d1b['push']('fac('+_0x53034a+')'):_0xb48d1b['push'](_0x1a450f+'('+_0x53034a+')'):'!'===_0x1a450f?_0xb48d1b['push']('('+_0x53034a+'!)'):_0xb48d1b['push']('('+_0x1a450f+'\x20'+_0x53034a+')');else if(_0x25c139===Nt){for(_0x2d27f2=_0x2224a3['value'],_0x1e653e=[];_0x2d27f2-->0x0;)_0x1e653e['unshift'](_0xb48d1b['pop']());_0x1a450f=_0xb48d1b['pop'](),_0xb48d1b['push'](_0x1a450f+'('+_0x1e653e['join'](',\x20')+')');}else if(_0x25c139===Ut){for(_0x4d8dc1=_0xb48d1b['pop'](),_0x2d27f2=_0x2224a3['value'],_0x1e653e=[];_0x2d27f2-->0x0;)_0x1e653e['unshift'](_0xb48d1b['pop']());_0x53034a=_0xb48d1b['pop'](),_0x493d44?_0xb48d1b['push']('('+_0x53034a+'\x20=\x20function('+_0x1e653e['join'](',\x20')+')\x20{\x20return\x20'+_0x4d8dc1+'\x20})'):_0xb48d1b['push']('('+_0x53034a+'('+_0x1e653e['join'](',\x20')+')\x20=\x20'+_0x4d8dc1+')');}else if(_0x25c139===Bt)_0x53034a=_0xb48d1b['pop'](),_0xb48d1b['push'](_0x53034a+'.'+_0x2224a3['value']);else if(_0x25c139===Jt){for(_0x2d27f2=_0x2224a3['value'],_0x1e653e=[];_0x2d27f2-->0x0;)_0x1e653e['unshift'](_0xb48d1b['pop']());_0xb48d1b['push']('['+_0x1e653e['join'](',\x20')+']');}else if(_0x25c139===Vt)_0xb48d1b['push']('('+sn(_0x2224a3['value'],_0x493d44)+')');else if(_0x25c139!==$t)throw new Error('invalid\x20Expression');}return _0xb48d1b['length']>0x1&&(_0xb48d1b=_0x493d44?[_0xb48d1b['join'](',')]:[_0xb48d1b['join'](';')]),String(_0xb48d1b[0x0]);}function rn(_0x2b6817){return'string'==typeof _0x2b6817?JSON['stringify'](_0x2b6817)['replace'](/\u2028/g,'\x5cu2028')['replace'](/\u2029/g,'\x5cu2029'):_0x2b6817;}function an(_0x15e17b,_0x3312df){for(var _0x3531a4=0x0;_0x3531a4<_0x15e17b['length'];_0x3531a4++)if(_0x15e17b[_0x3531a4]===_0x3312df)return!0x0;return!0x1;}function on(_0x33b3d2,_0x8a7b7,_0x3a63e6){for(var _0x306c06=!!(_0x3a63e6=_0x3a63e6||{})['withMembers'],_0x282df4=null,_0x1bab87=0x0;_0x1bab87<_0x33b3d2['length'];_0x1bab87++){var _0x5702a9=_0x33b3d2[_0x1bab87];_0x5702a9['type']===Rt||_0x5702a9['type']===zt?_0x306c06||an(_0x8a7b7,_0x5702a9['value'])?null!==_0x282df4?(an(_0x8a7b7,_0x282df4)||_0x8a7b7['push'](_0x282df4),_0x282df4=_0x5702a9['value']):_0x282df4=_0x5702a9['value']:_0x8a7b7['push'](_0x5702a9['value']):_0x5702a9['type']===Bt&&_0x306c06&&null!==_0x282df4?_0x282df4+='.'+_0x5702a9['value']:_0x5702a9['type']===Vt?on(_0x5702a9['value'],_0x8a7b7,_0x3a63e6):null!==_0x282df4&&(an(_0x8a7b7,_0x282df4)||_0x8a7b7['push'](_0x282df4),_0x282df4=null);}null===_0x282df4||an(_0x8a7b7,_0x282df4)||_0x8a7b7['push'](_0x282df4);}function ln(_0xa2c9f9,_0x37ccc1){this['tokens']=_0xa2c9f9,this['parser']=_0x37ccc1,this['unaryOps']=_0x37ccc1['unaryOps'],this['binaryOps']=_0x37ccc1['binaryOps'],this['ternaryOps']=_0x37ccc1['ternaryOps'],this['functions']=_0x37ccc1['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(_0x45e0be){return _0x45e0be=_0x45e0be||{},new ln(Yt(this['tokens'],this['unaryOps'],this['binaryOps'],this['ternaryOps'],_0x45e0be),this['parser']);},ln['prototype']['substitute']=function(_0x3407b1,_0x1394fe){return _0x1394fe instanceof ln||(_0x1394fe=this['parser']['parse'](String(_0x1394fe))),new ln(Zt(this['tokens'],_0x3407b1,_0x1394fe),this['parser']);},ln['prototype']['evaluate']=function(_0x3a7002){return _0x3a7002=_0x3a7002||{},Kt(this['tokens'],this,_0x3a7002);},ln['prototype']['toString']=function(){return sn(this['tokens'],!0x1);},ln['prototype']['symbols']=function(_0x204e6a){_0x204e6a=_0x204e6a||{};var _0x51df47=[];return on(this['tokens'],_0x51df47,_0x204e6a),_0x51df47;},ln['prototype']['variables']=function(_0x16162d){_0x16162d=_0x16162d||{};var _0x10339c=[];on(this['tokens'],_0x10339c,_0x16162d);var _0x1dc62c=this['functions'];return _0x10339c['filter'](function(_0x40a382){return!(_0x40a382 in _0x1dc62c);});},ln['prototype']['toJSFunction']=function(_0x13867e,_0x46d687){var _0x4bb8b9=this,_0xc0ea2b=new Function(_0x13867e,'with(this.functions)\x20with\x20(this.ternaryOps)\x20with\x20(this.binaryOps)\x20with\x20(this.unaryOps)\x20{\x20return\x20'+sn(this['simplify'](_0x46d687)['tokens'],!0x0)+';\x20}');return function(){return _0xc0ea2b['apply'](_0x4bb8b9,arguments);};};var cn='TEOF',hn='TOP',un='TNUMBER',dn='TSTRING',pn='TPAREN',mn='TBRACKET',gn='TCOMMA',fn='TNAME',yn='TSEMICOLON';function vn(_0x46aaac,_0xedb022,_0x2d038a){this['type']=_0x46aaac,this['value']=_0xedb022,this['index']=_0x2d038a;}function bn(_0x5440fa,_0x1f819f){this['pos']=0x0,this['current']=null,this['unaryOps']=_0x5440fa['unaryOps'],this['binaryOps']=_0x5440fa['binaryOps'],this['ternaryOps']=_0x5440fa['ternaryOps'],this['consts']=_0x5440fa['consts'],this['expression']=_0x1f819f,this['savedPosition']=0x0,this['savedCurrent']=null,this['options']=_0x5440fa['options'],this['parser']=_0x5440fa;}vn['prototype']['toString']=function(){return this['type']+':\x20'+this['value'];},bn['prototype']['newToken']=function(_0x50e0f3,_0x47e6f3,_0x1f675f){return new vn(_0x50e0f3,_0x47e6f3,null!=_0x1f675f?_0x1f675f: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 _0x3b7bbb=!0x1,_0x10872e=this['pos'],_0x1bc441=this['expression']['charAt'](_0x10872e);if('\x27'===_0x1bc441||'\x22'===_0x1bc441)for(var _0x5c2d39=this['expression']['indexOf'](_0x1bc441,_0x10872e+0x1);_0x5c2d39>=0x0&&this['pos']<this['expression']['length'];){if(this['pos']=_0x5c2d39+0x1,'\x5c'!==this['expression']['charAt'](_0x5c2d39-0x1)){var _0x1426ec=this['expression']['substring'](_0x10872e+0x1,_0x5c2d39);this['current']=this['newToken'](dn,this['unescape'](_0x1426ec),_0x10872e),_0x3b7bbb=!0x0;break;}_0x5c2d39=this['expression']['indexOf'](_0x1bc441,_0x5c2d39+0x1);}return _0x3b7bbb;},bn['prototype']['isParen']=function(){var _0x22b736=this['expression']['charAt'](this['pos']);return('('===_0x22b736||')'===_0x22b736)&&(this['current']=this['newToken'](pn,_0x22b736),this['pos']++,!0x0);},bn['prototype']['isBracket']=function(){var _0x1ff977=this['expression']['charAt'](this['pos']);return!('['!==_0x1ff977&&']'!==_0x1ff977||!this['isOperatorEnabled']('['))&&(this['current']=this['newToken'](mn,_0x1ff977),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 _0x257d92=this['pos'],_0xc4fb57=_0x257d92;_0xc4fb57<this['expression']['length'];_0xc4fb57++){var _0x559ce6=this['expression']['charAt'](_0xc4fb57);if(_0x559ce6['toUpperCase']()===_0x559ce6['toLowerCase']()&&(_0xc4fb57===this['pos']||'_'!==_0x559ce6&&'.'!==_0x559ce6&&(_0x559ce6<'0'||_0x559ce6>'9')))break;}if(_0xc4fb57>_0x257d92){var _0xc21df6=this['expression']['substring'](_0x257d92,_0xc4fb57);if(_0xc21df6 in this['consts'])return this['current']=this['newToken'](un,this['consts'][_0xc21df6]),this['pos']+=_0xc21df6['length'],!0x0;}return!0x1;},bn['prototype']['isNamedOp']=function(){for(var _0x37a079=this['pos'],_0x1450c0=_0x37a079;_0x1450c0<this['expression']['length'];_0x1450c0++){var _0x39e68c=this['expression']['charAt'](_0x1450c0);if(_0x39e68c['toUpperCase']()===_0x39e68c['toLowerCase']()&&(_0x1450c0===this['pos']||'_'!==_0x39e68c&&(_0x39e68c<'0'||_0x39e68c>'9')))break;}if(_0x1450c0>_0x37a079){var _0x17128d=this['expression']['substring'](_0x37a079,_0x1450c0);if(this['isOperatorEnabled'](_0x17128d)&&(_0x17128d in this['binaryOps']||_0x17128d in this['unaryOps']||_0x17128d in this['ternaryOps']))return this['current']=this['newToken'](hn,_0x17128d),this['pos']+=_0x17128d['length'],!0x0;}return!0x1;},bn['prototype']['isName']=function(){for(var _0xb83ca=this['pos'],_0x3754f1=_0xb83ca,_0x387814=!0x1;_0x3754f1<this['expression']['length'];_0x3754f1++){var _0x4d84d9=this['expression']['charAt'](_0x3754f1);if(_0x4d84d9['toUpperCase']()===_0x4d84d9['toLowerCase']()){if(_0x3754f1===this['pos']&&('$'===_0x4d84d9||'_'===_0x4d84d9)){'_'===_0x4d84d9&&(_0x387814=!0x0);continue;}if(_0x3754f1===this['pos']||!_0x387814||'_'!==_0x4d84d9&&(_0x4d84d9<'0'||_0x4d84d9>'9'))break;}else _0x387814=!0x0;}if(_0x387814){var _0x4a9585=this['expression']['substring'](_0xb83ca,_0x3754f1);return this['current']=this['newToken'](fn,_0x4a9585),this['pos']+=_0x4a9585['length'],!0x0;}return!0x1;},bn['prototype']['isWhitespace']=function(){for(var _0x3bcf28=!0x1,_0x377932=this['expression']['charAt'](this['pos']);!('\x20'!==_0x377932&&'\x09'!==_0x377932&&'\x0a'!==_0x377932&&'\x0d'!==_0x377932||(_0x3bcf28=!0x0,this['pos']++,this['pos']>=this['expression']['length']));)_0x377932=this['expression']['charAt'](this['pos']);return _0x3bcf28;};var wn=/^[0-9a-f]{4}$/i;function xn(_0x100f57,_0x4ed383,_0x9f5594){this['parser']=_0x100f57,this['tokens']=_0x4ed383,this['current']=null,this['nextToken']=null,this['next'](),this['savedCurrent']=null,this['savedNextToken']=null,this['allowMemberAccess']=!0x1!==_0x9f5594['allowMemberAccess'];}bn['prototype']['unescape']=function(_0x7eb933){var _0x185901=_0x7eb933['indexOf']('\x5c');if(_0x185901<0x0)return _0x7eb933;for(var _0x1a397a=_0x7eb933['substring'](0x0,_0x185901);_0x185901>=0x0;){var _0x3a9b48=_0x7eb933['charAt'](++_0x185901);switch(_0x3a9b48){case'\x27':_0x1a397a+='\x27';break;case'\x22':_0x1a397a+='\x22';break;case'\x5c':_0x1a397a+='\x5c';break;case'/':_0x1a397a+='/';break;case'b':_0x1a397a+='\x08';break;case'f':_0x1a397a+='\x0c';break;case'n':_0x1a397a+='\x0a';break;case'r':_0x1a397a+='\x0d';break;case't':_0x1a397a+='\x09';break;case'u':var _0x50bc0c=_0x7eb933['substring'](_0x185901+0x1,_0x185901+0x5);wn['test'](_0x50bc0c)||this['parseError']('Illegal\x20escape\x20sequence:\x20\x5cu'+_0x50bc0c),_0x1a397a+=String['fromCharCode'](parseInt(_0x50bc0c,0x10)),_0x185901+=0x4;break;default:throw this['parseError']('Illegal\x20escape\x20sequence:\x20\x22\x5c'+_0x3a9b48+'\x22');}++_0x185901;var _0x5de27f=_0x7eb933['indexOf']('\x5c',_0x185901);_0x1a397a+=_0x7eb933['substring'](_0x185901,_0x5de27f<0x0?_0x7eb933['length']:_0x5de27f),_0x185901=_0x5de27f;}return _0x1a397a;},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 _0x56b4c1,_0xe8c351,_0x3b3c45=this['pos'];if(_0x3b3c45>=this['expression']['length']-0x2||'0'!==this['expression']['charAt'](_0x3b3c45))return!0x1;if(++_0x3b3c45,'x'===this['expression']['charAt'](_0x3b3c45))_0x56b4c1=0x10,_0xe8c351=/^[0-9a-f]$/i,++_0x3b3c45;else{if('b'!==this['expression']['charAt'](_0x3b3c45))return!0x1;_0x56b4c1=0x2,_0xe8c351=/^[01]$/i,++_0x3b3c45;}for(var _0x3b48cb=!0x1,_0x2071d7=_0x3b3c45;_0x3b3c45<this['expression']['length'];){var _0x3cac75=this['expression']['charAt'](_0x3b3c45);if(!_0xe8c351['test'](_0x3cac75))break;_0x3b3c45++,_0x3b48cb=!0x0;}return _0x3b48cb&&(this['current']=this['newToken'](un,parseInt(this['expression']['substring'](_0x2071d7,_0x3b3c45),_0x56b4c1)),this['pos']=_0x3b3c45),_0x3b48cb;},bn['prototype']['isNumber']=function(){for(var _0x5862d4,_0x253318=!0x1,_0x217d99=this['pos'],_0x2cd39e=_0x217d99,_0x563b56=_0x217d99,_0xa5821d=!0x1,_0x54f5d7=!0x1;_0x217d99<this['expression']['length']&&((_0x5862d4=this['expression']['charAt'](_0x217d99))>='0'&&_0x5862d4<='9'||!_0xa5821d&&'.'===_0x5862d4);)'.'===_0x5862d4?_0xa5821d=!0x0:_0x54f5d7=!0x0,_0x217d99++,_0x253318=_0x54f5d7;if(_0x253318&&(_0x563b56=_0x217d99),'e'===_0x5862d4||'E'===_0x5862d4){_0x217d99++;for(var _0x11cc39=!0x0,_0x17d025=!0x1;_0x217d99<this['expression']['length'];){if(_0x5862d4=this['expression']['charAt'](_0x217d99),!_0x11cc39||'+'!==_0x5862d4&&'-'!==_0x5862d4){if(!(_0x5862d4>='0'&&_0x5862d4<='9'))break;_0x17d025=!0x0,_0x11cc39=!0x1;}else _0x11cc39=!0x1;_0x217d99++;}_0x17d025||(_0x217d99=_0x563b56);}return _0x253318?(this['current']=this['newToken'](un,parseFloat(this['expression']['substring'](_0x2cd39e,_0x217d99))),this['pos']=_0x217d99):this['pos']=_0x563b56,_0x253318;},bn['prototype']['isOperator']=function(){var _0x12b880=this['pos'],_0x282a0f=this['expression']['charAt'](this['pos']);if('+'===_0x282a0f||'-'===_0x282a0f||'*'===_0x282a0f||'/'===_0x282a0f||'%'===_0x282a0f||'^'===_0x282a0f||'?'===_0x282a0f||':'===_0x282a0f||'.'===_0x282a0f)this['current']=this['newToken'](hn,_0x282a0f);else if('∙'===_0x282a0f||'•'===_0x282a0f)this['current']=this['newToken'](hn,'*');else if('>'===_0x282a0f)'='===this['expression']['charAt'](this['pos']+0x1)?(this['current']=this['newToken'](hn,'>='),this['pos']++):this['current']=this['newToken'](hn,'>');else if('<'===_0x282a0f)'='===this['expression']['charAt'](this['pos']+0x1)?(this['current']=this['newToken'](hn,'<='),this['pos']++):this['current']=this['newToken'](hn,'<');else if('|'===_0x282a0f){if('|'!==this['expression']['charAt'](this['pos']+0x1))return!0x1;this['current']=this['newToken'](hn,'||'),this['pos']++;}else if('='===_0x282a0f)'='===this['expression']['charAt'](this['pos']+0x1)?(this['current']=this['newToken'](hn,'=='),this['pos']++):this['current']=this['newToken'](hn,_0x282a0f);else{if('!'!==_0x282a0f)return!0x1;'='===this['expression']['charAt'](this['pos']+0x1)?(this['current']=this['newToken'](hn,'!='),this['pos']++):this['current']=this['newToken'](hn,_0x282a0f);}return this['pos']++,!!this['isOperatorEnabled'](this['current']['value'])||(this['pos']=_0x12b880,!0x1);},bn['prototype']['isOperatorEnabled']=function(_0x21a43a){return this['parser']['isOperatorEnabled'](_0x21a43a);},bn['prototype']['getCoordinates']=function(){var _0x399009,_0x2b4094=0x0,_0x1eb1f1=-0x1;do{_0x2b4094++,_0x399009=this['pos']-_0x1eb1f1,_0x1eb1f1=this['expression']['indexOf']('\x0a',_0x1eb1f1+0x1);}while(_0x1eb1f1>=0x0&&_0x1eb1f1<this['pos']);return{'line':_0x2b4094,'column':_0x399009};},bn['prototype']['parseError']=function(_0x910629){var _0x58172f=this['getCoordinates']();throw new Error('parse\x20error\x20['+_0x58172f['line']+':'+_0x58172f['column']+']:\x20'+_0x910629);},xn['prototype']['next']=function(){return this['current']=this['nextToken'],this['nextToken']=this['tokens']['next']();},xn['prototype']['tokenMatches']=function(_0x2e4234,_0x2dc7bc){return void 0x0===_0x2dc7bc||(Array['isArray'](_0x2dc7bc)?an(_0x2dc7bc,_0x2e4234['value']):'function'==typeof _0x2dc7bc?_0x2dc7bc(_0x2e4234):_0x2e4234['value']===_0x2dc7bc);},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(_0x2ad94d,_0xdc24f0){return!(this['nextToken']['type']!==_0x2ad94d||!this['tokenMatches'](this['nextToken'],_0xdc24f0))&&(this['next'](),!0x0);},xn['prototype']['expect']=function(_0x345144,_0x53d761){if(!this['accept'](_0x345144,_0x53d761)){var _0x28a64b=this['tokens']['getCoordinates']();throw new Error('parse\x20error\x20['+_0x28a64b['line']+':'+_0x28a64b['column']+']:\x20Expected\x20'+(_0x53d761||_0x345144));}},xn['prototype']['parseAtom']=function(_0x373c07){var _0x222221=this['tokens']['unaryOps'];if(this['accept'](fn)||this['accept'](hn,function(_0x1bb58d){return _0x1bb58d['value']in _0x222221;}))_0x373c07['push'](new Ht(Rt,this['current']['value']));else if(this['accept'](un))_0x373c07['push'](new Ht(Ft,this['current']['value']));else if(this['accept'](dn))_0x373c07['push'](new Ht(Ft,this['current']['value']));else if(this['accept'](pn,'('))this['parseExpression'](_0x373c07),this['expect'](pn,')');else{if(!this['accept'](mn,'['))throw new Error('unexpected\x20'+this['nextToken']);if(this['accept'](mn,']'))_0x373c07['push'](new Ht(Jt,0x0));else{var _0x4f158b=this['parseArrayList'](_0x373c07);_0x373c07['push'](new Ht(Jt,_0x4f158b));}}},xn['prototype']['parseExpression']=function(_0x4a7671){var _0x300368=[];this['parseUntilEndStatement'](_0x4a7671,_0x300368)||(this['parseVariableAssignmentExpression'](_0x300368),this['parseUntilEndStatement'](_0x4a7671,_0x300368)||this['pushExpression'](_0x4a7671,_0x300368));},xn['prototype']['pushExpression']=function(_0x46892c,_0x4b5404){for(var _0x1c7671=0x0,_0x97ee47=_0x4b5404['length'];_0x1c7671<_0x97ee47;_0x1c7671++)_0x46892c['push'](_0x4b5404[_0x1c7671]);},xn['prototype']['parseUntilEndStatement']=function(_0x2aefb1,_0x19c1d9){return!!this['accept'](yn)&&(!this['nextToken']||this['nextToken']['type']===cn||this['nextToken']['type']===pn&&')'===this['nextToken']['value']||_0x19c1d9['push'](new Ht($t)),this['nextToken']['type']!==cn&&this['parseExpression'](_0x19c1d9),_0x2aefb1['push'](new Ht(Vt,_0x19c1d9)),!0x0);},xn['prototype']['parseArrayList']=function(_0x3cad26){for(var _0x1fb3ac=0x0;!this['accept'](mn,']');)for(this['parseExpression'](_0x3cad26),++_0x1fb3ac;this['accept'](gn);)this['parseExpression'](_0x3cad26),++_0x1fb3ac;return _0x1fb3ac;},xn['prototype']['parseVariableAssignmentExpression']=function(_0x23732e){for(this['parseConditionalExpression'](_0x23732e);this['accept'](hn,'=');){var _0x5ee4d0=_0x23732e['pop'](),_0x3eda0e=[],_0x2f187b=_0x23732e['length']-0x1;if(_0x5ee4d0['type']!==Nt){if(_0x5ee4d0['type']!==Rt&&_0x5ee4d0['type']!==Bt)throw new Error('expected\x20variable\x20for\x20assignment');this['parseVariableAssignmentExpression'](_0x3eda0e),_0x23732e['push'](new Ht(zt,_0x5ee4d0['value'])),_0x23732e['push'](new Ht(Vt,_0x3eda0e)),_0x23732e['push'](Wt('='));}else{if(!this['tokens']['isOperatorEnabled']('()='))throw new Error('function\x20definition\x20is\x20not\x20permitted');for(var _0x40f6dc=0x0,_0x3dd826=_0x5ee4d0['value']+0x1;_0x40f6dc<_0x3dd826;_0x40f6dc++){var _0x13c576=_0x2f187b-_0x40f6dc;_0x23732e[_0x13c576]['type']===Rt&&(_0x23732e[_0x13c576]=new Ht(zt,_0x23732e[_0x13c576]['value']));}this['parseVariableAssignmentExpression'](_0x3eda0e),_0x23732e['push'](new Ht(Vt,_0x3eda0e)),_0x23732e['push'](new Ht(Ut,_0x5ee4d0['value']));}}},xn['prototype']['parseConditionalExpression']=function(_0x2a1bc4){for(this['parseOrExpression'](_0x2a1bc4);this['accept'](hn,'?');){var _0x3e6424=[],_0x3f788f=[];this['parseConditionalExpression'](_0x3e6424),this['expect'](hn,':'),this['parseConditionalExpression'](_0x3f788f),_0x2a1bc4['push'](new Ht(Vt,_0x3e6424)),_0x2a1bc4['push'](new Ht(Vt,_0x3f788f)),_0x2a1bc4['push'](Xt('?'));}},xn['prototype']['parseOrExpression']=function(_0x489df0){for(this['parseAndExpression'](_0x489df0);this['accept'](hn,'or');){var _0x3165ec=[];this['parseAndExpression'](_0x3165ec),_0x489df0['push'](new Ht(Vt,_0x3165ec)),_0x489df0['push'](Wt('or'));}},xn['prototype']['parseAndExpression']=function(_0x424222){for(this['parseComparison'](_0x424222);this['accept'](hn,'and');){var _0x5e8393=[];this['parseComparison'](_0x5e8393),_0x424222['push'](new Ht(Vt,_0x5e8393)),_0x424222['push'](Wt('and'));}};var Mn=['==','!=','<','<=','>=','>','in'];xn['prototype']['parseComparison']=function(_0x514480){for(this['parseAddSub'](_0x514480);this['accept'](hn,Mn);){var _0x3346c6=this['current'];this['parseAddSub'](_0x514480),_0x514480['push'](Wt(_0x3346c6['value']));}};var _n=['+','-','||'];xn['prototype']['parseAddSub']=function(_0x4c693a){for(this['parseTerm'](_0x4c693a);this['accept'](hn,_n);){var _0x276d71=this['current'];this['parseTerm'](_0x4c693a),_0x4c693a['push'](Wt(_0x276d71['value']));}};var Sn=['*','/','%'];function An(_0x4854ef,_0x51527a){return Number(_0x4854ef)+Number(_0x51527a);}function Ln(_0x3c791c,_0x2b9e45){return _0x3c791c-_0x2b9e45;}function En(_0x522120,_0x51dcf9){return _0x522120*_0x51dcf9;}function Cn(_0x2c8891,_0x2699df){return _0x2c8891/_0x2699df;}function jn(_0x211cb7,_0x42e052){return _0x211cb7%_0x42e052;}function kn(_0x2853ee,_0x5bc710){return Array['isArray'](_0x2853ee)&&Array['isArray'](_0x5bc710)?_0x2853ee['concat'](_0x5bc710):''+_0x2853ee+_0x5bc710;}function Tn(_0x3c6dc4,_0x23f574){return _0x3c6dc4===_0x23f574;}function On(_0x1cd49b,_0x13bb5f){return _0x1cd49b!==_0x13bb5f;}function Fn(_0x281d85,_0x29ac9c){return _0x281d85>_0x29ac9c;}function Dn(_0x4ebf46,_0xdfdeb0){return _0x4ebf46<_0xdfdeb0;}function Pn(_0x58a6d0,_0xb7f2c5){return _0x58a6d0>=_0xb7f2c5;}function In(_0x4cdd54,_0x992ebc){return _0x4cdd54<=_0x992ebc;}function Rn(_0x3a3b49,_0x5b2a0d){return Boolean(_0x3a3b49&&_0x5b2a0d);}function zn(_0x55b017,_0x4e4966){return Boolean(_0x55b017||_0x4e4966);}function Nn(_0x32908f,_0x194d4e){return an(_0x194d4e,_0x32908f);}function Un(_0x5d7dbe){return(Math['exp'](_0x5d7dbe)-Math['exp'](-_0x5d7dbe))/0x2;}function Vn(_0x310830){return(Math['exp'](_0x310830)+Math['exp'](-_0x310830))/0x2;}function qn(_0x40a668){return _0x40a668===0x1/0x0?0x1:_0x40a668===-0x1/0x0?-0x1:(Math['exp'](_0x40a668)-Math['exp'](-_0x40a668))/(Math['exp'](_0x40a668)+Math['exp'](-_0x40a668));}function Bn(_0x59de8e){return _0x59de8e===-0x1/0x0?_0x59de8e:Math['log'](_0x59de8e+Math['sqrt'](_0x59de8e*_0x59de8e+0x1));}function $n(_0x370581){return Math['log'](_0x370581+Math['sqrt'](_0x370581*_0x370581-0x1));}function Jn(_0x36bc41){return Math['log']((0x1+_0x36bc41)/(0x1-_0x36bc41))/0x2;}function Hn(_0x1cbe82){return Math['log'](_0x1cbe82)*Math['LOG10E'];}function Gn(_0x56f726){return-_0x56f726;}function Wn(_0x595f03){return!_0x595f03;}function Xn(_0x1296ec){return _0x1296ec<0x0?Math['ceil'](_0x1296ec):Math['floor'](_0x1296ec);}function Yn(_0x5121a1){return Math['random']()*(_0x5121a1||0x1);}function Zn(_0x7ebb62){return ei(_0x7ebb62+0x1);}xn['prototype']['parseTerm']=function(_0x57c281){for(this['parseFactor'](_0x57c281);this['accept'](hn,Sn);){var _0x5c9950=this['current'];this['parseFactor'](_0x57c281),_0x57c281['push'](Wt(_0x5c9950['value']));}},xn['prototype']['parseFactor']=function(_0x200be6){var _0x398216=this['tokens']['unaryOps'];if(this['save'](),this['accept'](hn,function(_0x194b38){return _0x194b38['value']in _0x398216;})){if('-'!==this['current']['value']&&'+'!==this['current']['value']){if(this['nextToken']['type']===pn&&'('===this['nextToken']['value'])return this['restore'](),void this['parseExponential'](_0x200be6);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'](_0x200be6);}var _0x4ecdac=this['current'];this['parseFactor'](_0x200be6),_0x200be6['push'](Gt(_0x4ecdac['value']));}else this['parseExponential'](_0x200be6);},xn['prototype']['parseExponential']=function(_0x4679f0){for(this['parsePostfixExpression'](_0x4679f0);this['accept'](hn,'^');)this['parseFactor'](_0x4679f0),_0x4679f0['push'](Wt('^'));},xn['prototype']['parsePostfixExpression']=function(_0x4b1bb1){for(this['parseFunctionCall'](_0x4b1bb1);this['accept'](hn,'!');)_0x4b1bb1['push'](Gt('!'));},xn['prototype']['parseFunctionCall']=function(_0x5e55fd){var _0x123443=this['tokens']['unaryOps'];if(this['accept'](hn,function(_0x35b4bc){return _0x35b4bc['value']in _0x123443;})){var _0x4c4fc8=this['current'];this['parseAtom'](_0x5e55fd),_0x5e55fd['push'](Gt(_0x4c4fc8['value']));}else for(this['parseMemberExpression'](_0x5e55fd);this['accept'](pn,'(');)if(this['accept'](pn,')'))_0x5e55fd['push'](new Ht(Nt,0x0));else{var _0x438add=this['parseArgumentList'](_0x5e55fd);_0x5e55fd['push'](new Ht(Nt,_0x438add));}},xn['prototype']['parseArgumentList']=function(_0x33ba0e){for(var _0xecff2e=0x0;!this['accept'](pn,')');)for(this['parseExpression'](_0x33ba0e),++_0xecff2e;this['accept'](gn);)this['parseExpression'](_0x33ba0e),++_0xecff2e;return _0xecff2e;},xn['prototype']['parseMemberExpression']=function(_0x134072){for(this['parseAtom'](_0x134072);this['accept'](hn,'.')||this['accept'](mn,'[');){var _0x40fb57=this['current'];if('.'===_0x40fb57['value']){if(!this['allowMemberAccess'])throw new Error('unexpected\x20\x22.\x22,\x20member\x20access\x20is\x20not\x20permitted');this['expect'](fn),_0x134072['push'](new Ht(Bt,this['current']['value']));}else{if('['!==_0x40fb57['value'])throw new Error('unexpected\x20symbol:\x20'+_0x40fb57['value']);if(!this['tokens']['isOperatorEnabled']('['))throw new Error('unexpected\x20\x22[]\x22,\x20arrays\x20are\x20disabled');this['parseExpression'](_0x134072),this['expect'](mn,']'),_0x134072['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(_0xf58ae2){var _0x5ec936,_0x9c3089;if(function(_0xe73bde){return isFinite(_0xe73bde)&&_0xe73bde===Math['round'](_0xe73bde);}(_0xf58ae2)){if(_0xf58ae2<=0x0)return isFinite(_0xf58ae2)?0x1/0x0:NaN;if(_0xf58ae2>0xab)return 0x1/0x0;for(var _0x41a6ed=_0xf58ae2-0x2,_0x43cfc7=_0xf58ae2-0x1;_0x41a6ed>0x1;)_0x43cfc7*=_0x41a6ed,_0x41a6ed--;return 0x0===_0x43cfc7&&(_0x43cfc7=0x1),_0x43cfc7;}if(_0xf58ae2<0.5)return Math['PI']/(Math['sin'](Math['PI']*_0xf58ae2)*ei(0x1-_0xf58ae2));if(_0xf58ae2>=171.35)return 0x1/0x0;if(_0xf58ae2>0x55){var _0x52f7aa=_0xf58ae2*_0xf58ae2,_0x21f654=_0x52f7aa*_0xf58ae2,_0x7787f9=_0x21f654*_0xf58ae2,_0x4da54=_0x7787f9*_0xf58ae2;return Math['sqrt'](0x2*Math['PI']/_0xf58ae2)*Math['pow'](_0xf58ae2/Math['E'],_0xf58ae2)*(0x1+0x1/(0xc*_0xf58ae2)+0x1/(0x120*_0x52f7aa)-0x8b/(0xca80*_0x21f654)-0x23b/(0x25f800*_0x7787f9)+0x28027/(0xc756000*_0x4da54)+0x500f63/(0x11850f0000*_0x4da54*_0xf58ae2));}--_0xf58ae2,_0x9c3089=Kn[0x0];for(var _0x19d7f5=0x1;_0x19d7f5<Kn['length'];++_0x19d7f5)_0x9c3089+=Kn[_0x19d7f5]/(_0xf58ae2+_0x19d7f5);return _0x5ec936=_0xf58ae2+Qn+0.5,Math['sqrt'](0x2*Math['PI'])*Math['pow'](_0x5ec936,_0xf58ae2+0.5)*Math['exp'](-_0x5ec936)*_0x9c3089;}function ti(_0x141bf5){return Array['isArray'](_0x141bf5)?_0x141bf5['length']:String(_0x141bf5)['length'];}function ni(){for(var _0x51f4c9=0x0,_0x569492=0x0,_0x7ec6aa=0x0;_0x7ec6aa<arguments['length'];_0x7ec6aa++){var _0x248d38,_0x1dfdcd=Math['abs'](arguments[_0x7ec6aa]);_0x569492<_0x1dfdcd?(_0x51f4c9=_0x51f4c9*(_0x248d38=_0x569492/_0x1dfdcd)*_0x248d38+0x1,_0x569492=_0x1dfdcd):_0x51f4c9+=_0x1dfdcd>0x0?(_0x248d38=_0x1dfdcd/_0x569492)*_0x248d38:_0x1dfdcd;}return _0x569492===0x1/0x0?0x1/0x0:_0x569492*Math['sqrt'](_0x51f4c9);}function ii(_0x3a6ce6,_0x577026,_0x327b87){return _0x3a6ce6?_0x577026:_0x327b87;}function si(_0x3d64ba,_0x45553b){return void 0x0===_0x45553b||0x0===+_0x45553b?Math['round'](_0x3d64ba):(_0x3d64ba=+_0x3d64ba,_0x45553b=-+_0x45553b,isNaN(_0x3d64ba)||'number'!=typeof _0x45553b||_0x45553b%0x1!=0x0?NaN:(_0x3d64ba=_0x3d64ba['toString']()['split']('e'),+((_0x3d64ba=(_0x3d64ba=Math['round'](+(_0x3d64ba[0x0]+'e'+(_0x3d64ba[0x1]?+_0x3d64ba[0x1]-_0x45553b:-_0x45553b))))['toString']()['split']('e'))[0x0]+'e'+(_0x3d64ba[0x1]?+_0x3d64ba[0x1]+_0x45553b:_0x45553b))));}function ri(_0xd7c5e2,_0x4746f9,_0xc16bd0){return _0xc16bd0&&(_0xc16bd0[_0xd7c5e2]=_0x4746f9),_0x4746f9;}function ai(_0x5b6639,_0x4fb6d4){return _0x5b6639[0x0|_0x4fb6d4];}function oi(_0x2f3d59){return 0x1===arguments['length']&&Array['isArray'](_0x2f3d59)?Math['max']['apply'](Math,_0x2f3d59):Math['max']['apply'](Math,arguments);}function li(_0x1e2640){return 0x1===arguments['length']&&Array['isArray'](_0x1e2640)?Math['min']['apply'](Math,_0x1e2640):Math['min']['apply'](Math,arguments);}function ci(_0x2aaaf6,_0x5d4222){if('function'!=typeof _0x2aaaf6)throw new Error('First\x20argument\x20to\x20map\x20is\x20not\x20a\x20function');if(!Array['isArray'](_0x5d4222))throw new Error('Second\x20argument\x20to\x20map\x20is\x20not\x20an\x20array');return _0x5d4222['map'](function(_0x10379f,_0x48adce){return _0x2aaaf6(_0x10379f,_0x48adce);});}function hi(_0x2a2527,_0x58c463,_0x7fe23f){if('function'!=typeof _0x2a2527)throw new Error('First\x20argument\x20to\x20fold\x20is\x20not\x20a\x20function');if(!Array['isArray'](_0x7fe23f))throw new Error('Second\x20argument\x20to\x20fold\x20is\x20not\x20an\x20array');return _0x7fe23f['reduce'](function(_0x58d253,_0x204e68,_0x263d41){return _0x2a2527(_0x58d253,_0x204e68,_0x263d41);},_0x58c463);}function ui(_0x204c8d,_0x1dab3b){if('function'!=typeof _0x204c8d)throw new Error('First\x20argument\x20to\x20filter\x20is\x20not\x20a\x20function');if(!Array['isArray'](_0x1dab3b))throw new Error('Second\x20argument\x20to\x20filter\x20is\x20not\x20an\x20array');return _0x1dab3b['filter'](function(_0x28309b,_0x79a7a8){return _0x204c8d(_0x28309b,_0x79a7a8);});}function di(_0x5a592d,_0x404991){if(!Array['isArray'](_0x404991)&&'string'!=typeof _0x404991)throw new Error('Second\x20argument\x20to\x20indexOf\x20is\x20not\x20a\x20string\x20or\x20array');return _0x404991['indexOf'](_0x5a592d);}function pi(_0x1fa9ee,_0x323292){if(!Array['isArray'](_0x323292))throw new Error('Second\x20argument\x20to\x20join\x20is\x20not\x20an\x20array');return _0x323292['join'](_0x1fa9ee);}function mi(_0x60d791){return(_0x60d791>0x0)-(_0x60d791<0x0)||+_0x60d791;}var gi=0x1/0x3;function fi(_0x2c750){return _0x2c750<0x0?-Math['pow'](-_0x2c750,gi):Math['pow'](_0x2c750,gi);}function yi(_0x3635ad){return Math['exp'](_0x3635ad)-0x1;}function vi(_0x434c7c){return Math['log'](0x1+_0x434c7c);}function bi(_0x10a834){return Math['log'](_0x10a834)/Math['LN2'];}function wi(_0x5a8b10){if(!Array['isArray'](_0x5a8b10))throw new Error('Sum\x20argument\x20is\x20not\x20an\x20array');return _0x5a8b10['reduce'](function(_0x516141,_0xe632ce){return _0x516141+Number(_0xe632ce);},0x0);}function xi(_0x42fd1b){this['options']=_0x42fd1b||{},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(_0xc286b9){var _0x6a5bb1=[],_0x1761e2=new xn(this,new bn(this,_0xc286b9),{'allowMemberAccess':this['options']['allowMemberAccess']});return _0x1761e2['parseExpression'](_0x6a5bb1),_0x1761e2['expect'](cn,'EOF'),new ln(_0x6a5bb1,this);},xi['prototype']['evaluate']=function(_0x3eb358,_0x52df48){return this['parse'](_0x3eb358)['evaluate'](_0x52df48);};var Mi=new xi();xi['parse']=function(_0x3931ac){return Mi['parse'](_0x3931ac);},xi['evaluate']=function(_0x52a8e1,_0x83aff6){return Mi['parse'](_0x52a8e1)['evaluate'](_0x83aff6);};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(_0x3404a3){var _0x497fb8=function(_0x3a0aca){return Object['hasOwn'](_i,_0x3a0aca)?_i[_0x3a0aca]:_0x3a0aca;}(_0x3404a3),_0x363a3c=this['options']['operators']||{};return!(_0x497fb8 in _0x363a3c)||!!_0x363a3c[_0x497fb8];};class Si extends xi{constructor(..._0x2da82a){super(..._0x2da82a);const _0x40d69c=this;_0x40d69c['unaryOps']={'-':_0x40d69c['unaryOps']['-'],'+':_0x40d69c['unaryOps']['+'],'!':_0x40d69c['unaryOps']['not'],'not':_0x40d69c['unaryOps']['not']},_0x40d69c['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':_0x12e349=>_0x12e349*(Math['PI']/0xb4),'degrees':_0x3c9d59=>_0x3c9d59*(0xb4/Math['PI']),'__read_property__':(_0x1fe8c8,..._0xa4d9c4)=>{let _0x21a291=_0x1fe8c8;for(let _0x2bbde7=0x0,_0x1ae09e=_0xa4d9c4['length'];_0x2bbde7<_0x1ae09e;_0x2bbde7++)_0x21a291=_0x21a291[_0xa4d9c4[_0x2bbde7]];return _0x21a291;}},_0x40d69c['binaryOps']={..._0x40d69c['binaryOps'],'+':(_0xdb8ce6,_0x3f7022)=>(kt(_0xdb8ce6)&&(_0xdb8ce6=Number(_0xdb8ce6)),kt(_0x3f7022)&&(_0x3f7022=Number(_0x3f7022)),_0xdb8ce6+_0x3f7022),'in':(_0x1790bb,_0x4ef93f)=>Array['isArray'](_0x4ef93f)||'string'==typeof _0x4ef93f?_0x4ef93f['includes'](_0x1790bb):_0x1790bb in _0x4ef93f,'||':(_0x3109ef,_0x5dd36a)=>Boolean(_0x3109ef||_0x5dd36a)},_0x40d69c['consts']={..._0x40d69c['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'](_0x276ad3){throw new Error('XacroParser:\x20getFileContents()\x20not\x20implemented.');}async['parse'](_0x5310f0){function _0x74655e(_0x2f1b3e,_0x3b3734,_0x184ada=!0x1){const _0x2be23f=[],_0x40ae18=Ot(_0x127f72,_0x3b3734);try{let _0x311871=function _0x42447f(_0x32acd1,_0x2a2ea2){if('string'!=typeof _0x32acd1)return _0x32acd1;const _0x19fb13=_0x32acd1['split'](/(\$?\$\([^)]+\))|(\$?\${[^}]+})/g)['filter'](_0x7909e1=>!!_0x7909e1)['map'](_0x1f4882=>{if(!/^\$[{(].+/['test'](_0x1f4882))return _0x1f4882;if(/^\$\$/['test'](_0x1f4882))return _0x1f4882;const _0x1f871b=/^\$\(/['test'](_0x1f4882);let _0x2db0df=_0x1f4882['substring'](0x2,_0x1f4882['length']-0x1);if(_0x2db0df=_0x42447f(_0x2db0df,_0x2a2ea2),/\[.+\]$/['test'](_0x2db0df)&&(_0x2db0df=_0x2db0df['replace'](/([^[\s]+)(\[[^[]+\])+/g,(_0x3850d3,..._0x371cf6)=>{const _0x4774e1=_0x3850d3['split'](/[[\]]+/g);return _0x4774e1['pop'](),'__read_property__(\x20'+_0x4774e1['join'](',')+'\x20)';})),!_0x1f871b){if(_0x2be23f['includes'](_0x2db0df))throw new Error('XacroParser:\x20Cannot\x20evaluate\x20infinitely\x20recursive\x20expression:\x20'+_0x2be23f['join']('\x20>\x20')+'\x20>\x20'+_0x2db0df);_0x2be23f['push'](_0x2db0df);const _0x5acd53=/([()/*+!\-%|&=])+/g,_0x35fb37=function(_0x47a89e){return _0x47a89e['replace'](/(('[^']*?')|("[^"]*?")|(`[^`]*?`)|([()/*+\-%|!&=]+?))/g,_0x39d152=>'\x20'+_0x39d152+'\x20')['trim']()['split'](/\s+/g);}(_0x2db0df)['map'](_0x3e60da=>{if(_0x5acd53['lastIndex']=0x0,function(_0x183a8c){return/^[()/*+\-%|&=[\]]+$/['test'](_0x183a8c);}(_0x3e60da))return _0x3e60da;if(kt(_0x3e60da))return _0x3e60da;if(jt(_0x3e60da))return _0x3e60da;if(_0x3e60da in _0x2a2ea2){const _0x4ca81a=_0x42447f(_0x2a2ea2[_0x3e60da],_0x2a2ea2);return kt(_0x4ca81a)||'object'==typeof _0x4ca81a?_0x4ca81a:'\x22'+_0x4ca81a['toString']()['replace'](/\\/g,'\x5c\x5c')['replace'](/"/g,'\x5c\x22')+'\x22';}return _0x3e60da;})['map'](_0x1ba144=>(_0x5acd53['lastIndex']=0x0,/^[^0-9.]/['test'](_0x1ba144)&&!_0x5acd53['test'](_0x1ba144)?'\x20'+_0x1ba144+'\x20':_0x1ba144))['join']('');if(_0x2be23f['pop'](),jt(_0x35fb37))return _0x35fb37['substring'](0x1,_0x35fb37['length']-0x1);if(kt(_0x35fb37))return _0x35fb37;{const _0xf8ce9c=function(_0x1e2880){return _0x1e2880['replace'](/[-+]{2,}/,_0x1746a1=>{let _0x5aac83=!0x0;for(let _0x4b68d4=0x0,_0x31ca41=_0x1746a1['length'];_0x4b68d4<_0x31ca41;_0x4b68d4++)'-'===_0x1746a1[_0x4b68d4]&&(_0x5aac83=!_0x5aac83);return _0x5aac83?'+':'-';});}(_0x35fb37);return _0x524dfb['evaluate'](_0xf8ce9c,_0x2a2ea2);}}{const _0x36ed92=_0x42447f(_0x2db0df,_0x2a2ea2)['split'](/\s+/g),_0x5cccd3=_0x36ed92['shift']();try{return _0x5586a1(_0x5cccd3,..._0x36ed92);}catch(_0x59ab77){throw new Error('XacroParser:\x20Cannot\x20run\x20rospack\x20command\x20\x22'+_0x2db0df+'\x22.\x0a'+_0x59ab77['message']);}}}),_0x281a9d=_0x19fb13['filter'](_0x4f5bc1=>('string'==typeof _0x4f5bc1&&(_0x4f5bc1=_0x4f5bc1['trim']()),''!==_0x4f5bc1&&null!=_0x4f5bc1));return 0x1===_0x281a9d['length']?_0x281a9d[0x0]:_0x19fb13['join']('');}(_0x2f1b3e,_0x40ae18);return _0x184ada&&'string'==typeof _0x311871&&(_0x311871=_0x311871['replace'](/\${2}([({])/g,(_0x108d5e,_0x5d6f68)=>'$'+_0x5d6f68)),_0x311871;}catch(_0x4c337d){throw new Error('XacroParser:\x20Failed\x20to\x20process\x20expression\x20\x22'+_0x2f1b3e+'\x22.\x20\x0a'+_0x4c337d['message']);}}async function _0x477d0a(_0x3cb6f5,_0x1b5ea0,_0x30465a,_0x3a6d22){const _0x345404=_0x3cb6f5['tagName']['replace'](/^xacro:/,''),_0x12651a=_0x30465a[_0x345404];if(!_0x12651a)throw new Error('XacroParser:\x20Cannot\x20find\x20macro\x20\x22'+_0x345404+'\x22');const _0xc5563b=_0x1b5ea0,_0x18d35b=_0x30465a;_0x1b5ea0=function(_0x4e07a5){const _0x2c3698=Ot(_0x4e07a5);return _0x2c3698[Tt]=_0x4e07a5,_0x2c3698;}(_0x1b5ea0),_0x30465a=Ot(_0x30465a);let _0x35591f=[];for(const _0x2048b5 of _0x3cb6f5['children'])await _0x226d22(_0x2048b5,_0xc5563b,_0x18d35b,_0x35591f);_0x35591f=_0x35591f['filter'](_0x333686=>_0x333686['nodeType']===_0x333686['ELEMENT_NODE']);let _0x2bb858=0x0;for(const _0x4ceb79 in _0x12651a['params']){const _0x55d908=_0x12651a['params'][_0x4ceb79];_0x3cb6f5['hasAttribute'](_0x4ceb79)?_0x1b5ea0[_0x4ceb79]=_0x74655e(_0x3cb6f5['getAttribute'](_0x4ceb79),_0xc5563b):'BLOCK'===_0x55d908['type']?(_0x1b5ea0[_0x4ceb79]=[_0x35591f[_0x2bb858]],_0x2bb858++):'MULTI_BLOCK'===_0x55d908['type']?_0x1b5ea0[_0x4ceb79]=[..._0x35591f['filter'](_0x25a279=>_0x25a279['tagName']===_0x4ceb79)[0x0]['childNodes']]:_0x1b5ea0[_0x4ceb79]=_0x74655e(_0x12651a['params'][_0x4ceb79]['def'],_0xc5563b);}const _0x58f6e4=[..._0x12651a['node']['childNodes']];for(const _0x29b002 of _0x58f6e4){const _0x24fa72=[];await _0x226d22(_0x29b002,_0x1b5ea0,_0x30465a,_0x24fa72),_0x3a6d22['push'](..._0x24fa72);}}function _0x4f05b0(_0x3b5da7){const _0x4f577b=_0x3b5da7['getAttribute']('name')['replace'](/^xacro:/,''),_0x519d35=_0x3b5da7['getAttribute']('params'),_0x57a84b={};if(_0x519d35){const _0xd1d4c9=_0x519d35['trim']()['match'](/[^\s']+('[^']*')?/g)['map'](_0x2f6b7c=>function(_0x28eed6){const _0x53b718={};if(/^\*\*/['test'](_0x28eed6)?_0x53b718['type']='MULTI_BLOCK':/^\*/['test'](_0x28eed6)?_0x53b718['type']='BLOCK':_0x53b718['type']='PARAM',_0x28eed6=_0x28eed6['replace'](/^\*{1,2}/g,''),/:?=/['test'](_0x28eed6)){const [_0x301993,_0x48580f]=_0x28eed6['split'](/:?=/);if(/^\^/['test'](_0x48580f)||/\|/['test'](_0x48580f))throw new Error('XacroParser:\x20ROS\x20Jade\x20pass-through\x20notation\x20not\x20supported\x20in\x20macro\x20defaults:\x20'+_0x48580f);_0x53b718['name']=_0x301993,_0x48580f['startsWith']('\x27')&&_0x48580f['endsWith']('\x27')?_0x53b718['def']=_0x48580f['substring'](0x1,_0x48580f['length']-0x1):_0x53b718['def']=_0x48580f;}else _0x53b718['name']=_0x28eed6,_0x53b718['def']=null;return _0x53b718;}(_0x2f6b7c));_0xd1d4c9['forEach'](_0x3bdfa9=>{_0x57a84b[_0x3bdfa9['name']]=_0x3bdfa9;});}return{'name':_0x4f577b,'node':Et(_0x3b5da7,!0x1),'params':_0x57a84b};}async function _0x226d22(_0x5087d3,_0x4a1fe3,_0xc6a1ff,_0x51284e=[]){if(_0x5087d3['nodeType']===_0x5087d3['TEXT_NODE']){const _0x5892ba=_0x5087d3['cloneNode']();return _0x5892ba['textContent']=_0x74655e(_0x5892ba['textContent'],_0x4a1fe3,!0x0),void _0x51284e['push'](_0x5892ba);}if(_0x5087d3['nodeType']!==_0x5087d3['ELEMENT_NODE'])return void _0x51284e['push'](_0x5087d3['cloneNode']());let _0x450ee2=_0x5087d3['tagName']['toLowerCase']();if(!_0x27ca94)switch(_0x450ee2){case'arg':case'property':case'macro':case'insert_block':case'if':case'unless':case'include':case'element':case'attribute':_0x450ee2='xacro:'+_0x450ee2;break;default:_0x450ee2 in _0xc6a1ff&&(_0x450ee2='xacro:'+_0x450ee2);}switch(_0x450ee2){case'xacro:property':{Ct(_0x51284e);const _0x29c04=_0x5087d3['getAttribute']('name');let _0x554e96;if(_0x5087d3['hasAttribute']('value'))_0x554e96=_0x5087d3['getAttribute']('value');else if(_0x5087d3['hasAttribute']('default'))_0x554e96=_0x5087d3['getAttribute']('default');else{const _0x34ee08=[..._0x5087d3['childNodes']];_0x554e96=[];for(const _0xe78685 of _0x34ee08)_0x554e96['push'](Et(_0xe78685,!0x1));}let _0x50abb8='global';_0x9f575a&&(_0x50abb8=_0x5087d3['getAttribute']('scope')||'local'),'local'!==_0x50abb8&&(_0x554e96=_0x74655e(_0x554e96,_0x4a1fe3)),'global'===_0x50abb8?_0x127f72[_0x29c04]=_0x554e96:'parent'===_0x50abb8?_0x4a1fe3[Tt][_0x29c04]=_0x554e96:_0x4a1fe3[_0x29c04]=_0x554e96;break;}case'xacro:macro':{Ct(_0x51284e);const _0x254d33=_0x4f05b0(_0x5087d3);_0xc6a1ff[_0x254d33['name']]=_0x254d33;break;}case'xacro:insert_block':{Ct(_0x51284e);const _0x20799d=_0x4a1fe3[_0x5087d3['getAttribute']('name')];for(const _0x5d71c1 of _0x20799d)await _0x226d22(_0x5d71c1,_0x4a1fe3,_0xc6a1ff,_0x51284e);return;}case'xacro:if':case'xacro:unless':{Ct(_0x51284e);const _0x4cfc1e=_0x74655e(_0x5087d3['getAttribute']('value'),_0x4a1fe3,!0x0);let _0x222b08=null;if(_0x222b08=isNaN(parseFloat(_0x4cfc1e))?'true'===_0x4cfc1e||'false'===_0x4cfc1e?'true'===_0x4cfc1e:_0x4cfc1e:!!parseFloat(_0x4cfc1e),'xacro:unless'===_0x450ee2&&(_0x222b08=!_0x222b08),_0x222b08){const _0x32fac6=[..._0x5087d3['childNodes']];for(const _0x33afa2 of _0x32fac6)await _0x226d22(_0x33afa2,_0x4a1fe3,_0xc6a1ff,_0x51284e);}return;}case'xacro:include':{if(Ct(_0x51284e),_0x5087d3['hasAttribute']('ns'))throw new Error('XacroParser:\x20xacro:include\x20name\x20spaces\x20not\x20supported.');const _0x464187=_0x74655e(_0x5087d3['getAttribute']('filename'),_0x4a1fe3,!0x0),_0x82c6b6=/^[/\\]/['test'](_0x464187)||/^[a-zA-Z]+:[/\\]/['test'](_0x464187)?_0x464187:_0x372b61+_0x464187,_0x159425=_0x372b61;_0x372b61=At(_0x82c6b6);const _0x3eb66d=[...(await _0x1cf1f2(_0x82c6b6))['children'][0x0]['childNodes']];for(const _0x3d5e44 of _0x3eb66d)await _0x226d22(_0x3d5e44,_0x4a1fe3,_0xc6a1ff,_0x51284e);return void(_0x372b61=_0x159425);}case'xacro:arg':{const _0x11da93=_0x5087d3['getAttribute']('name');return void(_0x542cd1[_0x11da93]=_0x74655e(_0x5087d3['getAttribute']('default'),_0x4a1fe3,!0x0));}case'xacro:attribute':case'xacro:element':throw new Error('XacroParser:\x20'+_0x450ee2+'\x20tags\x20not\x20supported.');default:if(/^xacro:/['test'](_0x450ee2)||_0x450ee2 in _0xc6a1ff)return Ct(_0x51284e),_0x477d0a(_0x5087d3,_0x4a1fe3,_0xc6a1ff,_0x51284e);{const _0x25b557=_0x5087d3['cloneNode']();for(let _0x184bd0=0x0,_0x542668=_0x25b557['attributes']['length'];_0x184bd0<_0x542668;_0x184bd0++){const _0x396fea=_0x25b557['attributes'][_0x184bd0],_0x5ab164=_0x74655e(_0x396fea['value'],_0x4a1fe3,!0x0);_0x25b557['setAttribute'](_0x396fea['name'],_0x5ab164);}const _0x3ab85c=[..._0x5087d3['childNodes']],_0x4b6917=[];for(let _0x2ad403=0x0,_0x356754=_0x3ab85c['length'];_0x2ad403<_0x356754;_0x2ad403++)await _0x226d22(_0x3ab85c[_0x2ad403],_0x4a1fe3,_0xc6a1ff,_0x4b6917);_0x4b6917['forEach'](_0x514c5a=>_0x25b557['appendChild'](_0x514c5a)),_0x51284e['push'](_0x25b557);}}}async function _0x21f2fc(_0x370105,_0xd1e7f1,_0xf50be2){const _0x374e2a=Lt(_0x370105,'xacro:property');_0x27ca94||_0x374e2a['push'](...Lt(_0x370105,'property'));for(const _0x26923e of _0x374e2a)await _0x226d22(_0x26923e,_0xd1e7f1,_0xf50be2);const _0x28c490=Lt(_0x370105,'xacro:macro');_0x27ca94||_0x28c490['push'](...Lt(_0x370105,'macro'));for(const _0x89f353 of _0x28c490)await _0x226d22(_0x89f353,_0xd1e7f1,_0xf50be2);}async function _0x1cf1f2(_0x2517a0){try{const _0x3375bb=await _0x34d1fc['getFileContents'](_0x2517a0);return new DOMParser()['parseFromString'](_0x3375bb,'text/xml');}catch(_0x3d1446){throw new Error('XacroParser:\x20Could\x20not\x20load\x20included\x20file:\x20'+_0x2517a0);}}async function _0x222202(_0x22418b,_0xbd141b,_0x4c5278=[]){const _0x18aa36=Lt(_0x22418b,'xacro:include');_0x27ca94||_0x18aa36['push'](...Lt(_0x22418b,'include'));const _0x578c50=_0x18aa36['map'](_0x188341=>{if(_0x188341['hasAttribute']('ns'))throw new Error('XacroParser:\x20xacro:include\x20name\x20spaces\x20not\x20supported.');const _0x33905c=_0x188341['getAttribute']('filename'),_0x15117f=_0x188341['getAttribute']('ns')||null,_0x3130b7=/^[/\\]/['test'](_0x33905c)||/^[a-zA-Z]+:[/\\]/['test'](_0x33905c)?_0x33905c:_0xbd141b+_0x33905c;return _0x1cf1f2(_0x3130b7)['then'](_0xf8fb9e=>{_0x4c5278['push']({'filename':_0x33905c,'namespace':_0x15117f,'content':_0xf8fb9e});return _0x222202(_0xf8fb9e,At(_0x3130b7),_0x4c5278);});});return await Promise['all'](_0x578c50),_0x4c5278;}const _0x34d1fc=this,_0x32b3b2=this['inOrder'],_0x1b565a=this['workingPath']+(this['workingPath']&&!/[\\/]$/['test'](this['workingPath'])?'/':''),_0x27ca94=this['requirePrefix'],_0x1e0e82=this['rospackCommands'],_0x597509={},_0x3978d9={},_0x542cd1={},_0x127f72={'True':0x1,'False':0x0};_0x127f72[Tt]=_0x127f72;const _0x5586a1=(_0x4fa914,..._0x6f402d)=>{let _0x4ef86f;if(_0x1e0e82 instanceof Function&&(_0x4ef86f=_0x1e0e82(_0x4fa914,..._0x6f402d)),null==_0x4ef86f&&null!=_0x1e0e82&&'function'==typeof _0x1e0e82[_0x4fa914]&&(_0x4ef86f=_0x1e0e82[_0x4fa914](..._0x6f402d)),null==_0x4ef86f&&'arg'===_0x4fa914){const _0x570bca=_0x6f402d[0x0];if(void 0x0===_0x570bca)throw new Error('XacroParser:\x20$(arg)\x20must\x20specify\x20a\x20variable\x20name');if(_0x4ef86f=this['arguments'][_0x570bca],null==_0x4ef86f&&(_0x4ef86f=_0x542cd1[_0x570bca]),null==_0x4ef86f)throw new Error('XacroParser:\x20Undefined\x20substitution\x20argument\x20'+_0x570bca);}return _0x4ef86f;},_0x524dfb=this['expressionParser'];let _0x9f575a=this['localProperties'],_0x372b61=_0x1b565a,_0x3f1e72=new DOMParser()['parseFromString'](_0x5310f0,'text/xml');_0x9f575a&&!_0x32b3b2&&(_0x9f575a=!0x1);let _0x3119e2=null;return _0x3119e2=_0x32b3b2?Promise['resolve']():(async function(){return await _0x21f2fc(_0x3f1e72,_0x127f72,_0x597509),_0x3f1e72=Et(_0x3f1e72,!0x0),_0x222202(_0x3f1e72,_0x1b565a)['then'](_0x3ff81b=>{_0x3ff81b['forEach'](_0x1b1f9b=>{_0x21f2fc(_0x1b1f9b['content'],_0x127f72,_0x597509),_0x1b1f9b['content']=Et(_0x1b1f9b['content'],!0x0),_0x3978d9[_0x1b1f9b['filename']]=_0x1b1f9b['content'];});});}()),await _0x3119e2,async function(_0x215c6a,_0x409a82,_0x294ac8){const _0x56561b=_0x215c6a['cloneNode']();for(let _0x30cde1=0x0,_0xf325ce=_0x215c6a['children']['length'];_0x30cde1<_0xf325ce;_0x30cde1++){const _0x3afeff=[];await _0x226d22(_0x215c6a['children'][_0x30cde1],_0x409a82,_0x294ac8,_0x3afeff);const _0x534a6e=_0x3afeff[0x0];_0x534a6e['removeAttribute']('xmlns:xacro'),_0x56561b['appendChild'](_0x534a6e);}return _0x56561b;}(_0x3f1e72,_0x127f72,_0x597509);}}class Li{static async['parse'](_0x8dd137,_0x4606e3,_0x2449e4=null,_0x26c473=null,_0x41ae03={}){try{const _0xcd7c9a=new Ai();_0xcd7c9a['inOrder']=!0x0,_0xcd7c9a['requirePrefix']=!0x0,_0xcd7c9a['localProperties']=!0x0;const _0x2e4253=_0x4606e3['includes']('/')?_0x4606e3['substring'](0x0,_0x4606e3['lastIndexOf']('/')+0x1):'';_0xcd7c9a['workingPath']=_0x2e4253,_0x8dd137=this['injectBooleanConstants'](_0x8dd137);const _0x2636c4=this['extractXacroArguments'](_0x8dd137);_0x2636c4['hasOwnProperty']('DEBUG')||(_0x2636c4['DEBUG']='false'),_0x2636c4['hasOwnProperty']('SELF_COLLIDE')||(_0x2636c4['SELF_COLLIDE']='false'),_0xcd7c9a['arguments']=_0x2636c4,_0x2449e4&&(_0xcd7c9a['getFileContents']=async _0x1cd30a=>await this['loadFileFromMap'](_0x1cd30a,_0x2449e4,_0x2e4253));const _0x13a103=await _0xcd7c9a['parse'](_0x8dd137),_0x8e3aec=new XMLSerializer();let _0x455267=_0x8e3aec['serializeToString'](_0x13a103);_0x455267=_0x455267['replace'](/\sxmlns=""/g,'');const _0x491015=new DOMParser()['parseFromString'](_0x455267,'text/xml'),_0x5a6faa=_0x491015['querySelector']('parsererror');if(_0x5a6faa)throw new Error('Generated\x20URDF\x20has\x20invalid\x20XML:\x20'+_0x5a6faa['textContent']);_0x491015['querySelectorAll']('gazebo')['forEach'](_0x5ef18e=>{var _0x1ad09d;return null==(_0x1ad09d=_0x5ef18e['parentNode'])?void 0x0:_0x1ad09d['removeChild'](_0x5ef18e);});_0x491015['querySelectorAll']('transmission')['forEach'](_0x52379d=>{var _0x5a8917;return null==(_0x5a8917=_0x52379d['parentNode'])?void 0x0:_0x5a8917['removeChild'](_0x52379d);}),this['removeEmptyGeometry'](_0x491015),this['cleanXMLNodes'](_0x491015['documentElement']);const _0x1770c2=_0x8e3aec['serializeToString'](_0x491015),_0x3ca7d7=await Ae(()=>import('./URDFLoader-a34b6917.js'),["./URDFLoader-a34b6917.js","./three-9c891de0.js","./STLLoader-de0915d4.js","./ColladaLoader-2a0c4638.js"],import.meta.url),_0x5370d1=_0x3ca7d7['URDFLoader']||_0x3ca7d7['default']||_0x3ca7d7;return new Promise((_0x28e0f4,_0x2524f8)=>{const _0x15d12d=new _0x5370d1();_0x15d12d['parseCollision']=!0x0;const _0x558375=_0x2e4253;if(_0x2449e4){const _0x59509d=this['extractPackagesFromURDF'](_0x1770c2),_0x2ab25a={};_0x59509d['forEach'](_0xfcca69=>{_0x2ab25a[_0xfcca69]=_0xfcca69;}),_0x2ab25a['']='',_0x15d12d['packages']=_0x2ab25a;const _0x132cb3=_0x529584=>{if(_0x529584['startsWith']('blob:')){const _0x282e28=_0x529584['match'](/^blob:https?:\/\/[^\/]+\/(.+)$/);if(!_0x282e28||!_0x282e28[0x1])return _0x529584;{const _0x12a6e0=_0x282e28[0x1];if(!/\.(jpg|jpeg|png|gif|bmp|tga|tiff|webp|dae|stl|obj|gltf|glb)$/i['test'](_0x12a6e0))return _0x529584;_0x529584=_0x12a6e0;}}/\.(jpg|jpeg|png|gif|bmp|tga|tiff|webp)$/i['test'](_0x529584),/\.(dae|stl|obj|gltf|glb)$/i['test'](_0x529584);let _0x49db8b=_0x529584;if(_0x49db8b['startsWith']('http://')||_0x49db8b['startsWith']('https://'))try{_0x49db8b=new URL(_0x49db8b)['pathname'],_0x49db8b['startsWith']('/')&&(_0x49db8b=_0x49db8b['substring'](0x1));}catch(_0x20e224){}const _0x9c7ac2=bt(_0x49db8b,_0x2449e4,{'baseDir':_0x558375});if(_0x9c7ac2){return URL['createObjectURL'](_0x9c7ac2);}return _0x529584;};_0x15d12d['manager']['setURLModifier'](_0x132cb3);const _0x7b0010=_0x15d12d['loadMeshCb']||_0x15d12d['defaultMeshLoader']['bind'](_0x15d12d);_0x15d12d['loadMeshCb']=(_0x2fcd59,_0x191846,_0x2c15c9)=>{this['findFileInMapByPath'](_0x2fcd59,_0x2449e4,_0x558375)['then'](_0xc77b02=>{if(_0xc77b02){const _0x77b6=(_0xc77b02['name']||_0x2fcd59)['toLowerCase']()['split']('.')['pop']();this['loadMeshFileAsync'](_0xc77b02,_0x77b6,_0x191846)['then'](_0x80307c=>{_0x80307c?_0x2c15c9(_0x80307c,null):_0x2c15c9(null,new Error('Failed\x20to\x20load\x20mesh\x20file:\x20'+_0x2fcd59));})['catch'](_0x36668b=>{_0x2c15c9(null,_0x36668b);});}else _0x7b0010(_0x2fcd59,_0x191846,_0x2c15c9);})['catch'](_0x1b6251=>{_0x7b0010(_0x2fcd59,_0x191846,_0x2c15c9);});};}const _0x452d10=new Blob([_0x1770c2],{'type':'text/xml'}),_0xc4d62d=URL['createObjectURL'](_0x452d10);_0x15d12d['load'](_0xc4d62d,_0xcbaaf=>{URL['revokeObjectURL'](_0xc4d62d);try{const _0x58bae0=ut['convert'](_0xcbaaf,_0x1770c2,_0x41ae03);_0x28e0f4(_0x58bae0);}catch(_0x18fab3){_0x2524f8(new Error('URDF\x20conversion\x20failed:\x20'+_0x18fab3['message']));}},void 0x0,_0x2e233a=>{URL['revokeObjectURL'](_0xc4d62d),_0x2524f8(new Error('URDF\x20loading\x20failed:\x20'+(_0x2e233a['message']||_0x2e233a)));});});}catch(_0x3df0a1){throw new Error('Xacro\x20parsing\x20failed:\x20'+_0x3df0a1['message']);}}static async['loadFileFromMap'](_0x421fa,_0x2871cc,_0x60c770){let _0x53cf0a=_0x421fa;_0x53cf0a['startsWith']('/')&&(_0x53cf0a=_0x53cf0a['substring'](0x1)),_0x53cf0a=_0x53cf0a['replace'](/^\.\//,'');const _0x1928ce=[_0x53cf0a,_0x60c770+_0x53cf0a,_0x421fa,_0x60c770+_0x421fa['replace'](/^\/+/,''),_0x53cf0a['includes']('/')?_0x53cf0a['substring'](_0x53cf0a['indexOf']('/')+0x1):_0x53cf0a];for(const _0x2edc92 of _0x1928ce){const _0x59429b=_0x2871cc['get'](_0x2edc92);if(_0x59429b){return await _0x59429b['text']();}}const _0x81017f=_0x53cf0a['split']('/')['pop']();for(const [_0x316d6d,_0x1f6f1e]of _0x2871cc['entries']()){if(_0x316d6d['split']('/')['pop']()===_0x81017f){return await _0x1f6f1e['text']();}}throw new Error('Cannot\x20find\x20included\x20file:\x20'+_0x421fa);}static['removeEmptyGeometry'](_0x18b082){_0x18b082['querySelectorAll']('geometry')['forEach'](_0x3d8725=>{if(!_0x3d8725['children']||0x0===_0x3d8725['children']['length']){let _0x549ec2=_0x3d8725['parentNode'];if(_0x549ec2){const _0x411755=_0x549ec2['parentNode'];_0x411755&&('visual'!==_0x549ec2['nodeName']&&'collision'!==_0x549ec2['nodeName']||_0x411755['removeChild'](_0x549ec2));}}});}static['cleanXMLNodes'](_0x12eaa2){if(!_0x12eaa2||!_0x12eaa2['childNodes'])return;const _0x2c9ef0=[];for(let _0x555f76=0x0;_0x555f76<_0x12eaa2['childNodes']['length'];_0x555f76++){const _0x153f87=_0x12eaa2['childNodes'][_0x555f76];_0x153f87['nodeType']===Node['COMMENT_NODE']?_0x2c9ef0['push'](_0x153f87):_0x153f87['nodeType']===Node['TEXT_NODE']?_0x153f87['nodeValue']&&''!==_0x153f87['nodeValue']['trim']()||_0x2c9ef0['push'](_0x153f87):_0x153f87['nodeType']===Node['ELEMENT_NODE']&&this['cleanXMLNodes'](_0x153f87);}_0x2c9ef0['forEach'](_0x5d6cae=>{_0x12eaa2['removeChild'](_0x5d6cae);});}static['extractPackagesFromURDF'](_0x5a9d61){const _0x5cdda7=new Set(),_0x336d55=/package:\/\/([^\/]+)/g;let _0xc70c3e;for(;null!==(_0xc70c3e=_0x336d55['exec'](_0x5a9d61));)_0x5cdda7['add'](_0xc70c3e[0x1]);return _0x5cdda7;}static async['findFileInMapByPath'](_0x49545e,_0x3ba69f,_0xc827f1){return bt(_0x49545e,_0x3ba69f,{'baseDir':_0xc827f1});}static async['loadMeshFileAsync'](_0x1b00b5,_0x4c8e30,_0x31e118){const _0x45371b=await Ae(()=>import('./three-9c891de0.js'),[],import.meta.url),_0x3572c5=URL['createObjectURL'](_0x1b00b5);try{let _0x3d4484=null;switch(_0x4c8e30){case'stl':{const {STLLoader:_0x1a8353}=await Ae(()=>import('./STLLoader-de0915d4.js'),["./STLLoader-de0915d4.js","./three-9c891de0.js"],import.meta.url),_0x7bc2c1=new _0x1a8353(_0x31e118),_0x1c6a45=await new Promise((_0x4bca4d,_0x530201)=>{_0x7bc2c1['load'](_0x3572c5,_0x4bca4d,void 0x0,_0x530201);}),_0x2c1b3c=new _0x45371b['MeshPhongMaterial']();_0x3d4484=new _0x45371b['Mesh'](_0x1c6a45,_0x2c1b3c);break;}case'dae':{const {ColladaLoader:_0x24ee41}=await Ae(()=>import('./ColladaLoader-2a0c4638.js'),["./ColladaLoader-2a0c4638.js","./three-9c891de0.js"],import.meta.url),_0x48cc08=new _0x24ee41(_0x31e118);if(_0x3d4484=(await new Promise((_0x2bdcfe,_0x46814c)=>{_0x48cc08['load'](_0x3572c5,_0x2bdcfe,void 0x0,_0x46814c);}))['scene'],_0x3d4484&&_0x3d4484['traverse']){const _0x547918=[];_0x3d4484['traverse'](_0x1c9f1d=>{_0x1c9f1d['isLight']&&_0x547918['push'](_0x1c9f1d);}),_0x547918['forEach'](_0x1d7126=>{_0x1d7126['parent']&&_0x1d7126['parent']['remove'](_0x1d7126);});}break;}case'obj':{const {OBJLoader:_0x8549e8}=await Ae(()=>import('./OBJLoader-7667aa01.js'),["./OBJLoader-7667aa01.js","./three-9c891de0.js"],import.meta.url),_0xf6699d=new _0x8549e8(_0x31e118);_0x3d4484=await new Promise((_0x53f5c9,_0x1069ac)=>{_0xf6699d['load'](_0x3572c5,_0x53f5c9,void 0x0,_0x1069ac);});break;}case'gltf':case'glb':{const {GLTFLoader:_0x312ebe}=await Ae(()=>import('./GLTFLoader-7a7f40d7.js'),["./GLTFLoader-7a7f40d7.js","./three-9c891de0.js"],import.meta.url),_0x457ec3=new _0x312ebe(_0x31e118);_0x3d4484=(await new Promise((_0xe1e1ba,_0x9fe8c6)=>{_0x457ec3['load'](_0x3572c5,_0xe1e1ba,void 0x0,_0x9fe8c6);}))['scene'];break;}default:return URL['revokeObjectURL'](_0x3572c5),null;}return URL['revokeObjectURL'](_0x3572c5),_0x3d4484;}catch(_0x7ea21f){throw URL['revokeObjectURL'](_0x3572c5),_0x7ea21f;}}static['injectBooleanConstants'](_0x3065c5){const _0x47644d=_0x3065c5['match'](/(<robot[^>]*>)/);if(!_0x47644d)return _0x3065c5;const _0x8f5d45=_0x47644d['index']+_0x47644d[0x0]['length'];return _0x3065c5['substring'](0x0,_0x8f5d45)+'\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'+_0x3065c5['substring'](_0x8f5d45);}static['extractXacroArguments'](_0x2ca441){const _0xf46425={},_0x21e140=/<(?:xacro:)?arg\s+name=["']([^"']+)["'](?:\s+default=["']([^"']*)["'])?/g;let _0x572cbc;for(;null!==(_0x572cbc=_0x21e140['exec'](_0x2ca441));){const _0x61e39d=_0x572cbc[0x1],_0x14a699=_0x572cbc[0x2]||'false';_0xf46425[_0x61e39d]=_0x14a699;}return _0xf46425;}}class Ei{static['detectFileType'](_0x46ce79,_0x2d3490){switch(_0x46ce79['toLowerCase']()['split']('.')['pop']()){case'urdf':return'urdf';case'xacro':return'xacro';case'xml':return _0x2d3490&&this['isValidRobotMJCF'](_0x2d3490)?'mjcf':null;case'usd':case'usda':case'usdc':case'usdz':return'usd';default:return null;}}static['isValidRobotDescriptionXML'](_0x2b8ec3){if(!_0x2b8ec3||'string'!=typeof _0x2b8ec3)return!0x1;const _0x5f1da6=_0x2b8ec3['trim']();return!(!_0x5f1da6['startsWith']('<?xml')&&!_0x5f1da6['startsWith']('<'))&&this['isValidRobotMJCF'](_0x5f1da6);}static['isValidRobotMJCF'](_0x4c9bf6){if(!_0x4c9bf6||'string'!=typeof _0x4c9bf6)return!0x1;if(!_0x4c9bf6['includes']('<mujoco'))return!0x1;const _0x612829=_0x4c9bf6['includes']('<joint'),_0x110abf=_0x4c9bf6['includes']('<actuator');return!(!_0x612829&&!_0x110abf);}static async['loadModel'](_0x420760,_0x3fe1f5,_0x348d37,_0x3855e9=null,_0x362d1b=null,_0x3a510e={}){let _0x1cd948=null;if(_0x348d37){const _0x3b3c0f=Math['max'](_0x348d37['lastIndexOf']('/'),_0x348d37['lastIndexOf']('\x5c'));_0x3b3c0f>0x0&&(_0x1cd948=_0x348d37['substring'](0x0,_0x3b3c0f));}switch(_0x420760){case'urdf':return await this['loadURDF'](_0x3fe1f5,_0x348d37,_0x3855e9,_0x362d1b,_0x3a510e);case'xacro':return await this['loadXacro'](_0x3fe1f5,_0x348d37,_0x3855e9,_0x362d1b,_0x3a510e);case'mjcf':return await this['loadMJCF'](_0x3fe1f5,_0x3855e9,_0x1cd948);case'usd':return await this['loadUSD'](_0x3fe1f5,_0x3855e9,_0x362d1b,_0x3a510e);default:throw new Error('Unsupported\x20file\x20type:\x20'+_0x420760);}}static async['loadURDF'](_0x2ecdcc,_0x2099b4,_0x51acf2=null,_0x1cb351=null,_0x35d3e0={}){let _0x28b6ad;try{const _0x59d30d=await Ae(()=>import('./URDFLoader-a34b6917.js'),["./URDFLoader-a34b6917.js","./three-9c891de0.js","./STLLoader-de0915d4.js","./ColladaLoader-2a0c4638.js"],import.meta.url);_0x28b6ad=_0x59d30d['URDFLoader']||_0x59d30d['default']||_0x59d30d;}catch(_0x119a93){throw new Error('Failed\x20to\x20load\x20urdf-loader:\x20'+_0x119a93['message']);}return new Promise((_0x4063de,_0x344955)=>{const _0x4c858f=new _0x28b6ad();_0x4c858f['parseCollision']=!0x0;const _0x339d03=_0x2099b4['includes']('/')?_0x2099b4['substring'](0x0,_0x2099b4['lastIndexOf']('/')+0x1):'';if(_0x51acf2){const _0x583ca7=this['extractPackagesFromURDF'](_0x2ecdcc),_0x2a29fd={};_0x583ca7['forEach'](_0x1cfd22=>{_0x2a29fd[_0x1cfd22]=_0x1cfd22;}),_0x2a29fd['']='',_0x4c858f['packages']=_0x2a29fd;const _0xcb293e=_0x33ddc9=>{if(_0x33ddc9['startsWith']('blob:')){const _0x2ebdb2=_0x33ddc9['match'](/^blob:https?:\/\/[^\/]+\/(.+)$/);if(!_0x2ebdb2||!_0x2ebdb2[0x1])return _0x33ddc9;{const _0x5b9d30=_0x2ebdb2[0x1];if(!/\.(jpg|jpeg|png|gif|bmp|tga|tiff|webp|dae|stl|obj|gltf|glb)$/i['test'](_0x5b9d30))return _0x33ddc9;_0x33ddc9=_0x5b9d30;}}let _0x135b9a=_0x33ddc9;if(_0x135b9a['startsWith']('http://')||_0x135b9a['startsWith']('https://'))try{_0x135b9a=new URL(_0x135b9a)['pathname'],_0x135b9a['startsWith']('/')&&(_0x135b9a=_0x135b9a['substring'](0x1));}catch(_0x1e78a8){}const _0xbc7133=bt(_0x135b9a,_0x51acf2,{'baseDir':_0x339d03});if(_0xbc7133){return URL['createObjectURL'](_0xbc7133);}return _0x33ddc9;};_0x4c858f['manager']['setURLModifier'](_0xcb293e);const _0x46e6ec=_0x4c858f['loadMeshCb']||_0x4c858f['defaultMeshLoader']['bind'](_0x4c858f);_0x4c858f['loadMeshCb']=(_0x528791,_0x5e4954,_0x2f3108)=>{this['findFileInMapByPath'](_0x528791,_0x51acf2,_0x339d03)['then'](_0x98b69f=>{if(_0x98b69f){const _0x38d615=(_0x98b69f['name']||_0x528791)['toLowerCase']()['split']('.')['pop']();this['loadMeshFileAsync'](_0x98b69f,_0x38d615,_0x5e4954)['then'](_0x4fe309=>{_0x4fe309?_0x2f3108(_0x4fe309,null):_0x2f3108(null,new Error('Failed\x20to\x20load\x20mesh\x20file:\x20'+_0x528791));})['catch'](_0xe07b08=>{_0x2f3108(null,_0xe07b08);});}else _0x46e6ec(_0x528791,_0x5e4954,_0x2f3108);})['catch'](_0x10d929=>{_0x46e6ec(_0x528791,_0x5e4954,_0x2f3108);});};}const _0x52bfc9=new Blob([_0x2ecdcc],{'type':'text/xml'}),_0x5e7c0b=URL['createObjectURL'](_0x52bfc9);_0x4c858f['load'](_0x5e7c0b,_0x43a153=>{URL['revokeObjectURL'](_0x5e7c0b);try{const _0x35ba39=ut['convert'](_0x43a153,_0x2ecdcc,_0x35d3e0);_0x4063de(_0x35ba39);}catch(_0x2da193){_0x344955(new Error('URDF\x20conversion\x20failed:\x20'+_0x2da193['message']));}},void 0x0,_0x2cebc3=>{URL['revokeObjectURL'](_0x5e7c0b),_0x344955(new Error('URDF\x20loading\x20failed:\x20'+(_0x2cebc3['message']||_0x2cebc3)));});});}static async['loadXacro'](_0x5b445f,_0x38c695,_0x4b5c7a=null,_0x33a004=null,_0x3f1b94={}){try{return await Li['parse'](_0x5b445f,_0x38c695,_0x4b5c7a,_0x33a004,_0x3f1b94);}catch(_0x447c1e){throw new Error('Xacro\x20parsing\x20failed:\x20'+_0x447c1e['message']);}}static['extractPackagesFromURDF'](_0x4854dd){const _0x27d277=new Set(),_0xfda6ff=/package:\/\/([^\/]+)/g;let _0x33a2e6;for(;null!==(_0x33a2e6=_0xfda6ff['exec'](_0x4854dd));)_0x27d277['add'](_0x33a2e6[0x1]);return _0x27d277;}static async['resolveURDFPath'](_0x5969c9,_0x1e6ccb,_0x3693e6,_0x5cdebf){const _0x2ec481=[];if(_0x1e6ccb){_0x2ec481['push'](_0x1e6ccb+'/'+_0x5969c9),_0x2ec481['push']('/'+_0x1e6ccb+'/'+_0x5969c9);const _0x4819fd=_0x5969c9['split']('/')['pop']();_0x2ec481['push'](_0x1e6ccb+'/'+_0x4819fd),_0x2ec481['push']('/'+_0x1e6ccb+'/'+_0x4819fd),_0x2ec481['push'](_0x1e6ccb+'/meshes/'+_0x4819fd),_0x2ec481['push']('/'+_0x1e6ccb+'/meshes/'+_0x4819fd),_0x2ec481['push'](_0x1e6ccb+'/urdf/'+_0x4819fd),_0x2ec481['push'](_0x1e6ccb+'/models/'+_0x4819fd);const _0x3f7e83=_0x1e6ccb['toLowerCase']();for(const [_0x3bb4c3]of _0x3693e6['entries']()){const _0x261a0d=_0x3bb4c3['toLowerCase']();if(_0x261a0d['includes'](_0x3f7e83)){const _0x484506=_0x261a0d['indexOf'](_0x3f7e83),_0x14d94c=_0x3bb4c3['substring'](_0x484506+_0x1e6ccb['length']),_0x33b910=_0x5969c9['split']('/')['pop']();(_0x14d94c['endsWith'](_0x5969c9)||_0x14d94c['endsWith']('/'+_0x5969c9)||_0x14d94c['endsWith'](_0x33b910)||_0x14d94c['endsWith']('/'+_0x33b910)||_0x14d94c['includes'](_0x33b910))&&_0x2ec481['push'](_0x3bb4c3);}}}const _0x1bd127=_0x5cdebf['substring'](0x0,_0x5cdebf['lastIndexOf']('/')+0x1);_0x2ec481['push'](_0x5969c9),_0x2ec481['push'](_0x1bd127+_0x5969c9);const _0x1e1467=_0x5969c9['split']('/')['pop']();_0x2ec481['push'](_0x1e1467);for(const _0x3513e3 of _0x2ec481){let _0x59bb3f=_0x3693e6['get'](_0x3513e3);if(_0x59bb3f)return await _0x59bb3f['arrayBuffer']();}const _0x5f0763=this['cleanFilePath'](_0x5969c9),_0x2e6761=Array['from'](_0x3693e6['keys']())['map'](_0x210d71=>this['cleanFilePath'](_0x210d71));for(const _0x3cf889 of _0x2e6761){const _0x476b4b=Math['min'](_0x3cf889['length'],_0x5f0763['length']);if(_0x5f0763['substr'](_0x5f0763['length']-_0x476b4b)===_0x3cf889['substr'](_0x3cf889['length']-_0x476b4b)){const _0x4ca50b=_0x3693e6['get'](_0x3cf889);if(_0x4ca50b)return await _0x4ca50b['arrayBuffer']();}}return new ArrayBuffer(0x0);}static['cleanFilePath'](_0x3564f6){return _0x3564f6['replace'](/\\/g,'/')['split'](/\//g)['reduce']((_0x43d825,_0xebc99c)=>('..'===_0xebc99c?_0x43d825['pop']():'.'!==_0xebc99c&&_0x43d825['push'](_0xebc99c),_0x43d825),[])['join']('/');}static async['findFileInMapByPath'](_0x5b47d0,_0x11396f,_0x37efc8){return bt(_0x5b47d0,_0x11396f,{'baseDir':_0x37efc8});}static async['findFileInMap'](_0x399cc9,_0x29f881,_0x5f4d10){let _0x141176=_0x399cc9['replace'](/^package:\/\//,'');_0x141176=_0x141176['replace'](/^\.\//,''),_0x141176=_0x141176['replace'](/^blob:[^\/]+\//,'');const _0x26b65f=[],_0xa4bdb4=_0x141176['split']('/');if(_0xa4bdb4['length']>0x1){const _0x33e13b=_0xa4bdb4[0x0],_0x54338b=_0xa4bdb4['slice'](0x1)['join']('/'),_0x1d059b=_0x54338b['split']('/')['pop']();_0x26b65f['push'](_0x33e13b+'/'+_0x54338b),_0x26b65f['push']('/'+_0x33e13b+'/'+_0x54338b),_0x26b65f['push'](_0x33e13b+'/'+_0x1d059b),_0x26b65f['push']('/'+_0x33e13b+'/'+_0x1d059b),_0x26b65f['push'](_0x33e13b+'/meshes/'+_0x1d059b),_0x26b65f['push']('/'+_0x33e13b+'/meshes/'+_0x1d059b);const _0x11fb7e=_0x33e13b['toLowerCase']();for(const [_0x2d16ba]of _0x29f881['entries']()){const _0x22bb87=_0x2d16ba['toLowerCase']();if(_0x22bb87['includes'](_0x11fb7e)){const _0x56c6f0=_0x22bb87['indexOf'](_0x11fb7e),_0x3c9293=_0x2d16ba['substring'](_0x56c6f0+_0x33e13b['length']);(_0x3c9293['endsWith'](_0x54338b)||_0x3c9293['endsWith']('/'+_0x54338b)||_0x3c9293['endsWith'](_0x1d059b)||_0x3c9293['endsWith']('/'+_0x1d059b)||_0x3c9293['includes'](_0x1d059b))&&_0x26b65f['push'](_0x2d16ba);}}}_0x26b65f['push'](_0x141176),_0x26b65f['push']('/'+_0x141176),_0x26b65f['push']('./'+_0x141176);const _0x483d75=_0x5f4d10['substring'](0x0,_0x5f4d10['lastIndexOf']('/')+0x1);_0x26b65f['push'](_0x483d75+_0x141176);const _0x146be8=_0x141176['split']('/')['pop']();_0x26b65f['push'](_0x146be8);for(const _0x1b32d7 of _0x26b65f){const _0x3678d2=_0x29f881['get'](_0x1b32d7);if(_0x3678d2)return _0x3678d2;}const _0x3f019a=this['cleanFilePath'](_0x141176)['replace'](/^\.\//,'');for(const [_0x56b432,_0x45251d]of _0x29f881['entries']()){if(this['cleanFilePath'](_0x56b432)['replace'](/^\.\//,'')===_0x3f019a)return _0x45251d;}const _0x5d28fc=this['cleanFilePath'](_0x141176),_0x3e28bd=Array['from'](_0x29f881['keys']())['map'](_0x353e9b=>this['cleanFilePath'](_0x353e9b));for(const _0x5c32f9 of _0x3e28bd){const _0x5b0a7e=Math['min'](_0x5c32f9['length'],_0x5d28fc['length']);if(_0x5d28fc['substr'](_0x5d28fc['length']-_0x5b0a7e)===_0x5c32f9['substr'](_0x5c32f9['length']-_0x5b0a7e)){const _0x3f54aa=_0x29f881['get'](_0x5c32f9);if(_0x3f54aa)return _0x3f54aa;}}return null;}static async['loadMeshFileDirect'](_0x52ed5a,_0x2eb1dd){const _0x2f8d01=_0x52ed5a['name']?_0x52ed5a['name']['toLowerCase']()['split']('.')['pop']():_0x2eb1dd['toLowerCase']()['split']('.')['pop'](),_0x1113d8=URL['createObjectURL'](_0x52ed5a);try{let _0x441121=null;switch(_0x2f8d01){case'stl':const {STLLoader:_0x3a61e9}=await Ae(()=>import('./STLLoader-de0915d4.js'),["./STLLoader-de0915d4.js","./three-9c891de0.js"],import.meta.url),_0x5ecbb8=new _0x3a61e9(),_0x175b2b=await new Promise((_0x2ab50e,_0x560526)=>{_0x5ecbb8['load'](_0x1113d8,_0x2ab50e,void 0x0,_0x560526);}),_0x406ee9=new _0x134ca9({'color':0xcccccc});_0x441121=new _0x514bc2(_0x175b2b,_0x406ee9);break;case'dae':const {ColladaLoader:_0x309a8b}=await Ae(()=>import('./ColladaLoader-2a0c4638.js'),["./ColladaLoader-2a0c4638.js","./three-9c891de0.js"],import.meta.url),_0x4fcc97=new _0x309a8b(),_0x1d042e=await new Promise((_0x147e61,_0xb4ce96)=>{_0x4fcc97['load'](_0x1113d8,_0x147e61,void 0x0,_0xb4ce96);});if(_0x441121=_0x1d042e['scene']||_0x1d042e,_0x441121&&_0x441121['traverse']){const _0x5c9d8d=[];_0x441121['traverse'](_0x3d69e5=>{_0x3d69e5['isLight']&&_0x5c9d8d['push'](_0x3d69e5);}),_0x5c9d8d['forEach'](_0x3a6978=>{_0x3a6978['parent']&&_0x3a6978['parent']['remove'](_0x3a6978);});}break;case'obj':const {OBJLoader:_0xe01005}=await Ae(()=>import('./OBJLoader-7667aa01.js'),["./OBJLoader-7667aa01.js","./three-9c891de0.js"],import.meta.url),_0x2db395=new _0xe01005();_0x441121=await new Promise((_0x57210c,_0x4f9861)=>{_0x2db395['load'](_0x1113d8,_0x57210c,void 0x0,_0x4f9861);});break;case'gltf':case'glb':const {GLTFLoader:_0x53a392}=await Ae(()=>import('./GLTFLoader-7a7f40d7.js'),["./GLTFLoader-7a7f40d7.js","./three-9c891de0.js"],import.meta.url),_0x2a24c0=new _0x53a392(),_0x50b910=await new Promise((_0x29ffc0,_0x499507)=>{_0x2a24c0['load'](_0x1113d8,_0x29ffc0,void 0x0,_0x499507);});_0x441121=_0x50b910['scene']||_0x50b910;break;default:return URL['revokeObjectURL'](_0x1113d8),null;}return URL['revokeObjectURL'](_0x1113d8),_0x441121;}catch(_0x5bcb2a){return URL['revokeObjectURL'](_0x1113d8),null;}}static async['loadMeshFileAsync'](_0xbc33e,_0x365f6d,_0x3eb241){const _0xee69a=URL['createObjectURL'](_0xbc33e);try{let _0x1361f6=null;switch(_0x365f6d){case'stl':{const {STLLoader:_0x1f1053}=await Ae(()=>import('./STLLoader-de0915d4.js'),["./STLLoader-de0915d4.js","./three-9c891de0.js"],import.meta.url),_0x339ed6=new _0x1f1053(_0x3eb241),_0x5d575c=await new Promise((_0x6fa5e5,_0x50a455)=>{_0x339ed6['load'](_0xee69a,_0x6fa5e5,void 0x0,_0x50a455);}),_0x5928e9=new _0x2f1015();_0x1361f6=new _0x514bc2(_0x5d575c,_0x5928e9);break;}case'dae':{const {ColladaLoader:_0x3c884e}=await Ae(()=>import('./ColladaLoader-2a0c4638.js'),["./ColladaLoader-2a0c4638.js","./three-9c891de0.js"],import.meta.url),_0x54525b=new _0x3c884e(_0x3eb241);if(_0x1361f6=(await new Promise((_0x18d528,_0x441993)=>{_0x54525b['load'](_0xee69a,_0x18d528,void 0x0,_0x441993);}))['scene'],_0x1361f6&&_0x1361f6['traverse']){const _0x51f8ff=[];_0x1361f6['traverse'](_0x533cda=>{_0x533cda['isLight']&&_0x51f8ff['push'](_0x533cda);}),_0x51f8ff['forEach'](_0x1fd240=>{_0x1fd240['parent']&&_0x1fd240['parent']['remove'](_0x1fd240);});}break;}case'obj':{const {OBJLoader:_0x5b8ba7}=await Ae(()=>import('./OBJLoader-7667aa01.js'),["./OBJLoader-7667aa01.js","./three-9c891de0.js"],import.meta.url),_0x51b235=new _0x5b8ba7(_0x3eb241);_0x1361f6=await new Promise((_0x30d725,_0x4712a4)=>{_0x51b235['load'](_0xee69a,_0x30d725,void 0x0,_0x4712a4);});break;}case'gltf':case'glb':{const {GLTFLoader:_0x167d8d}=await Ae(()=>import('./GLTFLoader-7a7f40d7.js'),["./GLTFLoader-7a7f40d7.js","./three-9c891de0.js"],import.meta.url),_0x53c53a=new _0x167d8d(_0x3eb241);_0x1361f6=(await new Promise((_0x30f924,_0x3bcaab)=>{_0x53c53a['load'](_0xee69a,_0x30f924,void 0x0,_0x3bcaab);}))['scene'];break;}default:return URL['revokeObjectURL'](_0xee69a),null;}return URL['revokeObjectURL'](_0xee69a),_0x1361f6;}catch(_0x2d052b){throw URL['revokeObjectURL'](_0xee69a),_0x2d052b;}}static async['loadURDFFromURL'](_0x3deccf){let _0x180757;try{const _0x51af01=await Ae(()=>import('./URDFLoader-a34b6917.js'),["./URDFLoader-a34b6917.js","./three-9c891de0.js","./STLLoader-de0915d4.js","./ColladaLoader-2a0c4638.js"],import.meta.url);_0x180757=_0x51af01['URDFLoader']||_0x51af01['default']||_0x51af01;}catch(_0x2cb41c){throw new Error('Failed\x20to\x20load\x20urdf-loader:\x20'+_0x2cb41c['message']);}const _0x379c61=await fetch(_0x3deccf)['then'](_0x5dfc8f=>_0x5dfc8f['text']());return new Promise((_0xd0e044,_0x2c042b)=>{const _0x1c4a30=new _0x180757();_0x1c4a30['parseCollision']=!0x0,_0x1c4a30['load'](_0x3deccf,_0x2bec18=>{try{const _0x3bf8d9=ut['convert'](_0x2bec18,_0x379c61);_0xd0e044(_0x3bf8d9);}catch(_0x2f42af){_0x2c042b(new Error('URDF\x20conversion\x20failed:\x20'+_0x2f42af['message']));}},void 0x0,_0x3e945e=>{_0x2c042b(new Error('URDF\x20loading\x20failed:\x20'+(_0x3e945e['message']||_0x3e945e)));});});}static async['loadMJCF'](_0x481549,_0xaa7735=null,_0x1e8b47=null){try{return await _t['parse'](_0x481549,_0xaa7735,_0x1e8b47);}catch(_0x162c29){throw new Error('MJCF\x20parsing\x20failed:\x20'+_0x162c29['message']+(_0x162c29['stack']?'\x0a'+_0x162c29['stack']:''));}}static async['loadUSD'](_0x5585a4,_0x11c945=null,_0x48bb60=null,_0x1695f7={}){try{return await St['parse'](_0x5585a4,_0x11c945,_0x48bb60,_0x1695f7);}catch(_0x2b571a){throw new Error('USD\x20parsing\x20failed:\x20'+_0x2b571a['message']);}}static['setJointAngle'](_0x2be115,_0x34eaa6,_0x3b76e5,_0x319dc2=!0x1){const _0x45fa4b=_0x2be115['getJoint'](_0x34eaa6);_0x45fa4b&&(!_0x319dc2&&_0x2be115['userData']&&_0x2be115['userData']['ignoreLimits']&&(_0x319dc2=!0x0),!_0x45fa4b['threeObject']||'function'!=typeof _0x45fa4b['threeObject']['setJointValue']&&'function'!=typeof _0x45fa4b['threeObject']['setAngle']?_t['setJointAngle'](_0x45fa4b,_0x3b76e5):ut['setJointAngle'](_0x45fa4b,_0x3b76e5,_0x319dc2),_0x2be115['threeObject']&&_0x2be115['threeObject']['updateMatrixWorld'](!0x0));}}class Ci{constructor(_0x253a05){this['scene']=_0x253a05,this['lights']={},this['groundPlane']=null,this['globalAxes']=null,this['referenceGrid']=null,this['envMap']=null,this['pmremGenerator']=null;}['setupLights'](){this['lights']['ambient']=new _0x7b7b3b(0xffffff,0x444444,0.5),this['lights']['ambient']['position']['set'](0x0,0x1,0x0),this['scene']['add'](this['lights']['ambient']),this['lights']['directional']=new _0x23a485(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 _0x23a485(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'](_0x1f8d59=null){if(_0x1f8d59){this['pmremGenerator']||(this['pmremGenerator']=new _0x439bc8(_0x1f8d59),this['pmremGenerator']['compileEquirectangularShader']());const _0x3ee9bb=new _0x14ca45(),_0xcc34f0=new _0x7b7b3b(0xffffff,0x444444,0x1);_0x3ee9bb['add'](_0xcc34f0),this['envMap']=this['pmremGenerator']['fromScene'](_0x3ee9bb,0.04)['texture'],this['envMap']['mapping']=_0x42cb41,this['scene']['environment']=this['envMap'],this['scene']['background']=this['scene']['background']||new _0x342136(0x505050);}else{const _0x2ccdd3=0x100,_0x1a1c41=new Uint8Array(_0x2ccdd3*_0x2ccdd3*0x4),_0x3ffc25=new _0x342136(0xffffff);for(let _0x15d2fb=0x0;_0x15d2fb<_0x2ccdd3*_0x2ccdd3;_0x15d2fb++){const _0x28a034=0x4*_0x15d2fb;_0x1a1c41[_0x28a034]=Math['floor'](0xff*_0x3ffc25['r']),_0x1a1c41[_0x28a034+0x1]=Math['floor'](0xff*_0x3ffc25['g']),_0x1a1c41[_0x28a034+0x2]=Math['floor'](0xff*_0x3ffc25['b']),_0x1a1c41[_0x28a034+0x3]=0xff;}const _0x358c63=new _0x35f9b7(_0x1a1c41,_0x2ccdd3,_0x2ccdd3);_0x358c63['needsUpdate']=!0x0;const _0x554381=new _0x2804a6([_0x358c63,_0x358c63,_0x358c63,_0x358c63,_0x358c63,_0x358c63]);_0x554381['needsUpdate']=!0x0,_0x554381['mapping']=_0x23bf4c,this['envMap']=_0x554381,this['scene']['environment']=this['envMap'];}}['initializeEnvironmentMap'](_0x2dd46a){_0x2dd46a&&!this['envMap']&&this['setupEnvironmentMap'](_0x2dd46a);}['regenerateEnvironmentMap'](_0x48278a,_0x4b2a35=!0x1){var _0x284ada,_0x202537;_0x48278a&&(_0x4b2a35||(null==(_0x284ada=this['pmremGenerator'])||_0x284ada['dispose'](),null==(_0x202537=this['envMap'])||_0x202537['dispose']()),this['pmremGenerator']=null,this['envMap']=null,this['scene']['environment']=null,this['setupEnvironmentMap'](_0x48278a));}['getEnvironmentMap'](){return this['envMap'];}['setupGroundPlane'](){const _0xc19cd8=new _0x7bef62(0x28,0x28),_0x2fb374=new _0x2b0faa({'side':_0x4398ab,'transparent':!0x0,'opacity':0.25});this['groundPlane']=new _0x514bc2(_0xc19cd8,_0x2fb374),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 _0x306117(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'](_0x151f23){if(this['referenceGrid'])if('light'===_0x151f23){this['referenceGrid']['material']['color']['setHex'](0x0);const _0x350394=this['referenceGrid']['geometry']['attributes']['color'];if(_0x350394){for(let _0x2c6c8f=0x0;_0x2c6c8f<_0x350394['count'];_0x2c6c8f++)_0x350394['setXYZ'](_0x2c6c8f,0x0,0x0,0x0);_0x350394['needsUpdate']=!0x0;}}else{this['referenceGrid']['material']['color']['setHex'](0xffffff);const _0x3f1ba6=this['referenceGrid']['geometry']['attributes']['color'];if(_0x3f1ba6){for(let _0x16936c=0x0;_0x16936c<_0x3f1ba6['count'];_0x16936c++)_0x3f1ba6['setXYZ'](_0x16936c,0x1,0x1,0x1);_0x3f1ba6['needsUpdate']=!0x0;}}}['updateShadowCamera'](_0x5c06db){const _0x507a7c=this['lights']['directional'];if(!_0x507a7c||!_0x507a7c['castShadow'])return;const _0xd555af=_0x5c06db['getBoundingSphere'](new _0x276203())['radius'],_0x89030=_0x507a7c['shadow']['camera'];_0x89030['left']=_0x89030['bottom']=-_0xd555af,_0x89030['right']=_0x89030['top']=_0xd555af;const _0x5b65fb=_0x5c06db['getCenter'](new _0x47b065()),_0x24c739=_0x507a7c['position']['clone']()['sub'](_0x507a7c['target']['position']);_0x507a7c['target']['position']['copy'](_0x5b65fb),_0x507a7c['position']['copy'](_0x5b65fb)['add'](_0x24c739),_0x89030['updateProjectionMatrix']();}['updateGroundPosition'](_0x37c258){this['groundPlane']&&(this['groundPlane']['position']['y']=_0x37c258),this['referenceGrid']&&(this['referenceGrid']['position']['y']=_0x37c258);}['setGroundVisible'](_0x429d29){this['groundPlane']&&(this['groundPlane']['visible']=_0x429d29);}['setShadowEnabled'](_0x436ce3,_0xb9263f){var _0x1bf2f7;_0xb9263f['shadowMap']['enabled']=_0x436ce3,this['lights']['directional']&&(this['lights']['directional']['castShadow']=_0x436ce3,!_0x436ce3&&this['lights']['directional']['shadow']&&(null==(_0x1bf2f7=this['lights']['directional']['shadow']['map'])||_0x1bf2f7['dispose'](),this['lights']['directional']['shadow']['map']=null));}['getDirectionalLight'](){return this['lights']['directional'];}}class ji{constructor(_0x832efd){this['sceneManager']=_0x832efd,this['visualMeshes']=[],this['collisionMeshes']=[],this['colliders']=[],this['hiddenLinks']=new Set(),this['showVisual']=!0x0,this['showCollision']=!0x1,this['showShadow']=!0x0,this['showEnhancedLighting']=!0x0;}['extractVisualAndCollision'](_0x35b43c){const _0x3bce15=0x0===this['visualMeshes']['length'];if(!_0x3bce15)return this['processNewlyLoadedMeshes'](_0x35b43c);this['visualMeshes']=[],this['collisionMeshes']=[],this['colliders']=[],_0x35b43c['threeObject']&&(_0x35b43c['threeObject']['traverse'](_0x1fbe06=>{if(_0x1fbe06['isMesh']&&_0x1fbe06['material']){const _0x7dca22=Array['isArray'](_0x1fbe06['material'])?_0x1fbe06['material']:[_0x1fbe06['material']],_0x454ed5=[];_0x7dca22['forEach']((_0xdc38c7,_0x17c15b)=>{var _0x295bd1;if(_0xdc38c7){if('MeshBasicMaterial'===_0xdc38c7['type']||'MeshLambertMaterial'===_0xdc38c7['type']){const _0x5bfa41=_0xdc38c7,_0x2877b0=this['showEnhancedLighting'],_0x54bf19=null==(_0x295bd1=this['sceneManager']['environmentManager'])?void 0x0:_0x295bd1['getEnvironmentMap'](),_0x19c2e4=new _0x2f1015({'color':_0x5bfa41['color'],'map':_0x5bfa41['map'],'transparent':_0x5bfa41['transparent'],'opacity':_0x5bfa41['opacity'],'side':_0x5bfa41['side'],'shininess':_0x2877b0?0x32:0x1e,'specular':_0x2877b0?new _0x342136(0.3,0.3,0.3):new _0x342136(0x111111),'envMap':_0x54bf19||null,'reflectivity':_0x54bf19?0.3:0x0});_0x19c2e4['userData']['originalShininess']=0x1e,_0x19c2e4['userData']['originalSpecular']=null,_0x19c2e4['map']&&(_0x19c2e4['map']['colorSpace']=_0x5ada61),_0x454ed5['push'](_0x19c2e4),_0xdc38c7=_0x19c2e4;}else _0x454ed5['push'](_0xdc38c7);if(_0xdc38c7&&(_0xdc38c7['isMeshPhongMaterial']||_0xdc38c7['isMeshStandardMaterial'])){if(void 0x0===_0xdc38c7['userData']['originalShininess'])if(_0xdc38c7['userData']['originalShininess']=void 0x0!==_0xdc38c7['shininess']?_0xdc38c7['shininess']:0x1e,_0xdc38c7['specular'])if(_0xdc38c7['specular']['isColor']){const _0x4e00f8=_0xdc38c7['specular'];_0x4e00f8['r']<0.1&&_0x4e00f8['g']<0.1&&_0x4e00f8['b']<0.1?_0xdc38c7['userData']['originalSpecular']=null:_0xdc38c7['userData']['originalSpecular']=_0x4e00f8['clone']();}else'number'==typeof _0xdc38c7['specular']?0x111111===_0xdc38c7['specular']||_0xdc38c7['specular']<0x111111?_0xdc38c7['userData']['originalSpecular']=null:_0xdc38c7['userData']['originalSpecular']=new _0x342136(_0xdc38c7['specular']):_0xdc38c7['userData']['originalSpecular']=null;else _0xdc38c7['userData']['originalSpecular']=null;this['showEnhancedLighting']&&((void 0x0===_0xdc38c7['shininess']||_0xdc38c7['shininess']<0x32)&&(_0xdc38c7['shininess']=0x32),(!_0xdc38c7['specular']||_0xdc38c7['specular']['isColor']&&_0xdc38c7['specular']['r']<0.2||'number'==typeof _0xdc38c7['specular']&&_0xdc38c7['specular']<0x333333)&&(_0xdc38c7['specular']=new _0x342136(0.3,0.3,0.3)),_0xdc38c7['needsUpdate']=!0x0);}}else _0x454ed5['push'](null);}),Array['isArray'](_0x1fbe06['material'])?_0x1fbe06['material']=_0x454ed5:0x1===_0x454ed5['length']&&_0x454ed5[0x0]&&(_0x1fbe06['material']=_0x454ed5[0x0]);}}),_0x3bce15&&_0x35b43c['threeObject']['traverse'](_0x4a9442=>{_0x4a9442['isURDFCollider']&&(this['colliders']['push'](_0x4a9442),_0x4a9442['visible']=this['showCollision']);}),_0x3bce15&&this['colliders']['forEach'](_0x39b811=>{_0x39b811['traverse'](_0x1d11c3=>{_0x1d11c3['isMesh']&&(_0x1d11c3['userData']['originalMaterial']||(_0x1d11c3['userData']['originalMaterial']=_0x1d11c3['material']),_0x1d11c3['material']=new _0x2f1015({'transparent':!0x0,'opacity':0.35,'shininess':2.5,'premultipliedAlpha':!0x0,'color':0xffbe38,'polygonOffset':!0x0,'polygonOffsetFactor':-0x1,'polygonOffsetUnits':-0x1}),_0x1d11c3['castShadow']=!0x1,_0x1d11c3['receiveShadow']=!0x1,_0x1d11c3['raycast']=()=>{},this['collisionMeshes']['push'](_0x1d11c3));});}),_0x35b43c['threeObject']['traverse'](_0x1dc054=>{if(_0x1dc054['isMesh']||'Mesh'===_0x1dc054['type']){let _0x8c59bd=!0x1,_0x58999c=_0x1dc054;for(;_0x58999c;){if(_0x58999c['isURDFCollider']){_0x8c59bd=!0x0;break;}_0x58999c=_0x58999c['parent'];}_0x8c59bd||(_0x1dc054['castShadow']=this['showShadow'],_0x1dc054['receiveShadow']=this['showShadow'],_0x1dc054['visible']=this['showVisual'],this['visualMeshes']['push'](_0x1dc054));}}));}['processNewlyLoadedMeshes'](_0x51feea){_0x51feea['threeObject']&&(_0x51feea['threeObject']['traverse'](_0x3b7718=>{if(_0x3b7718['isMesh']&&_0x3b7718['material']){let _0x14c308=!0x1,_0x5a3609=_0x3b7718;for(;_0x5a3609;){if(_0x5a3609['isURDFCollider']){_0x14c308=!0x0;break;}_0x5a3609=_0x5a3609['parent'];}if(_0x14c308)return;const _0x4d30f2=Array['isArray'](_0x3b7718['material'])?_0x3b7718['material']:[_0x3b7718['material']],_0x1662de=[];_0x4d30f2['forEach']((_0x296eb9,_0x5d6f3e)=>{var _0x57919f,_0x778f00;if(_0x296eb9){if('MeshBasicMaterial'===_0x296eb9['type']||'MeshLambertMaterial'===_0x296eb9['type']){const _0x36cd74=_0x296eb9,_0x553d2c=this['showEnhancedLighting'],_0x5f3901=null==(_0x57919f=this['sceneManager']['environmentManager'])?void 0x0:_0x57919f['getEnvironmentMap'](),_0xcc900f=new _0x2f1015({'color':_0x36cd74['color'],'map':_0x36cd74['map'],'transparent':_0x36cd74['transparent'],'opacity':_0x36cd74['opacity'],'side':_0x36cd74['side'],'shininess':_0x553d2c?0x32:0x1e,'specular':_0x553d2c?new _0x342136(0.3,0.3,0.3):new _0x342136(0x111111),'envMap':_0x5f3901||null,'reflectivity':_0x5f3901?0.3:0x0});_0xcc900f['userData']['originalShininess']=0x1e,_0xcc900f['userData']['originalSpecular']=null,_0xcc900f['map']&&(_0xcc900f['map']['colorSpace']=_0x5ada61),_0x1662de['push'](_0xcc900f),_0x296eb9=_0xcc900f;}else _0x1662de['push'](_0x296eb9);if(_0x296eb9&&(_0x296eb9['isMeshPhongMaterial']||_0x296eb9['isMeshStandardMaterial'])){if(void 0x0===_0x296eb9['userData']['originalShininess'])if(_0x296eb9['userData']['originalShininess']=void 0x0!==_0x296eb9['shininess']?_0x296eb9['shininess']:0x1e,_0x296eb9['specular'])if(_0x296eb9['specular']['isColor']){const _0x47f692=_0x296eb9['specular'];_0x47f692['r']<0.1&&_0x47f692['g']<0.1&&_0x47f692['b']<0.1?_0x296eb9['userData']['originalSpecular']=null:_0x296eb9['userData']['originalSpecular']=_0x47f692['clone']();}else'number'==typeof _0x296eb9['specular']?0x111111===_0x296eb9['specular']||_0x296eb9['specular']<0x111111?_0x296eb9['userData']['originalSpecular']=null:_0x296eb9['userData']['originalSpecular']=new _0x342136(_0x296eb9['specular']):_0x296eb9['userData']['originalSpecular']=null;else _0x296eb9['userData']['originalSpecular']=null;const _0x2580fe=null==(_0x778f00=this['sceneManager']['environmentManager'])?void 0x0:_0x778f00['getEnvironmentMap']();_0x2580fe&&!_0x296eb9['envMap']&&(_0x296eb9['envMap']=_0x2580fe,void 0x0===_0x296eb9['reflectivity']&&(_0x296eb9['reflectivity']=0.3),_0x296eb9['needsUpdate']=!0x0),this['showEnhancedLighting']&&((void 0x0===_0x296eb9['shininess']||_0x296eb9['shininess']<0x32)&&(_0x296eb9['shininess']=0x32),(!_0x296eb9['specular']||_0x296eb9['specular']['isColor']&&_0x296eb9['specular']['r']<0.2||'number'==typeof _0x296eb9['specular']&&_0x296eb9['specular']<0x333333)&&(_0x296eb9['specular']=new _0x342136(0.3,0.3,0.3)),_0x296eb9['needsUpdate']=!0x0);}}else _0x1662de['push'](null);}),Array['isArray'](_0x3b7718['material'])?_0x3b7718['material']=_0x1662de:0x1===_0x1662de['length']&&_0x1662de[0x0]&&(_0x3b7718['material']=_0x1662de[0x0]);}}),_0x51feea['threeObject']['traverse'](_0x3f245a=>{if((_0x3f245a['isMesh']||'Mesh'===_0x3f245a['type'])&&!this['visualMeshes']['includes'](_0x3f245a)&&!this['collisionMeshes']['includes'](_0x3f245a)){let _0x593102=!0x1,_0x14f203=_0x3f245a;for(;_0x14f203;){if(_0x14f203['isURDFCollider']){_0x593102=!0x0;break;}_0x14f203=_0x14f203['parent'];}_0x593102?(_0x3f245a['userData']['originalMaterial']||(_0x3f245a['userData']['originalMaterial']=_0x3f245a['material']),_0x3f245a['material']=new _0x2f1015({'transparent':!0x0,'opacity':0.35,'shininess':2.5,'premultipliedAlpha':!0x0,'color':0xffbe38,'polygonOffset':!0x0,'polygonOffsetFactor':-0x1,'polygonOffsetUnits':-0x1}),_0x3f245a['castShadow']=!0x1,_0x3f245a['receiveShadow']=!0x1,_0x3f245a['raycast']=()=>{},_0x3f245a['visible']=this['showCollision'],this['collisionMeshes']['push'](_0x3f245a)):(_0x3f245a['castShadow']=this['showShadow'],_0x3f245a['receiveShadow']=this['showShadow'],_0x3f245a['visible']=this['showVisual'],this['visualMeshes']['push'](_0x3f245a));}}));}['toggleVisual'](_0x2ee17b,_0x5c8dcb){this['showVisual']=_0x2ee17b,_0x5c8dcb&&_0x5c8dcb['links']&&_0x5c8dcb['links']['forEach']((_0x22cc38,_0x2bcb51)=>{if(_0x22cc38['threeObject']){const _0x1f0fef=_0x2ee17b&&!this['hiddenLinks']['has'](_0x2bcb51);this['setLinkVisibility'](_0x22cc38['threeObject'],_0x1f0fef,_0x5c8dcb);}});}['toggleCollision'](_0x3c170e){this['showCollision']=_0x3c170e,this['colliders']&&this['colliders']['forEach'](_0x467429=>{_0x467429['visible']=_0x3c170e;}),this['collisionMeshes']['forEach'](_0x53ffb3=>{_0x53ffb3['visible']=_0x3c170e;});}['toggleShadow'](_0x4e21d9,_0x568755,_0x4f63ad){var _0x23b6af;this['showShadow']=_0x4e21d9,_0x568755['shadowMap']['enabled']=_0x4e21d9,_0x4f63ad&&(_0x4f63ad['castShadow']=_0x4e21d9),this['visualMeshes']['forEach'](_0x5a57cd=>{_0x5a57cd['castShadow']=_0x4e21d9,_0x5a57cd['receiveShadow']=_0x4e21d9;}),!_0x4e21d9&&_0x4f63ad&&_0x4f63ad['shadow']&&(null==(_0x23b6af=_0x4f63ad['shadow']['map'])||_0x23b6af['dispose'](),_0x4f63ad['shadow']['map']=null);}['toggleEnhancedLighting'](_0x48967f){var _0x32d105;this['showEnhancedLighting']=_0x48967f,this['sceneManager']&&this['sceneManager']['currentModel']&&this['sceneManager']['currentModel']['threeObject']&&this['sceneManager']['currentModel']['threeObject']['traverse'](_0x2482ae=>{if(_0x2482ae['isMesh']&&_0x2482ae['material']&&!this['collisionMeshes']['includes'](_0x2482ae)){const _0x1308b1=Array['isArray'](_0x2482ae['material'])?_0x2482ae['material']:[_0x2482ae['material']];_0x1308b1['forEach']((_0x442ec5,_0x2aa43a)=>{if(_0x442ec5){if('MeshBasicMaterial'===_0x442ec5['type']||'MeshLambertMaterial'===_0x442ec5['type']){const _0x1d8ea4=_0x442ec5,_0x4bd132=new _0x2f1015({'color':_0x1d8ea4['color'],'map':_0x1d8ea4['map'],'transparent':_0x1d8ea4['transparent'],'opacity':_0x1d8ea4['opacity'],'side':_0x1d8ea4['side'],'shininess':_0x48967f?0x32:0x1e,'specular':_0x48967f?new _0x342136(0.3,0.3,0.3):new _0x342136(0x111111)});_0x4bd132['userData']['originalShininess']=0x1e,_0x4bd132['userData']['originalSpecular']=null,_0x4bd132['map']&&(_0x4bd132['map']['colorSpace']=_0x5ada61),_0x1308b1[_0x2aa43a]=_0x4bd132,_0x442ec5=_0x4bd132;}if(_0x442ec5&&(_0x442ec5['isMeshPhongMaterial']||_0x442ec5['isMeshStandardMaterial'])){if(void 0x0===_0x442ec5['userData']['originalShininess'])if(_0x442ec5['userData']['originalShininess']=void 0x0!==_0x442ec5['shininess']?_0x442ec5['shininess']:0x1e,_0x442ec5['specular'])if(_0x442ec5['specular']['isColor']){const _0x5e2c54=_0x442ec5['specular'];_0x5e2c54['r']<0.1&&_0x5e2c54['g']<0.1&&_0x5e2c54['b']<0.1?_0x442ec5['userData']['originalSpecular']=null:_0x442ec5['userData']['originalSpecular']=_0x5e2c54['clone']();}else'number'==typeof _0x442ec5['specular']?0x111111===_0x442ec5['specular']||_0x442ec5['specular']<0x111111?_0x442ec5['userData']['originalSpecular']=null:_0x442ec5['userData']['originalSpecular']=new _0x342136(_0x442ec5['specular']):_0x442ec5['userData']['originalSpecular']=null;else _0x442ec5['userData']['originalSpecular']=null;if(_0x48967f)_0x442ec5['shininess']=0x32,(!_0x442ec5['specular']||_0x442ec5['specular']['isColor']&&_0x442ec5['specular']['r']<0.2||'number'==typeof _0x442ec5['specular']&&_0x442ec5['specular']<0x333333)&&(_0x442ec5['specular']=new _0x342136(0.3,0.3,0.3));else if(void 0x0!==_0x442ec5['userData']['originalShininess']&&(_0x442ec5['shininess']=_0x442ec5['userData']['originalShininess']),null===_0x442ec5['userData']['originalSpecular'])_0x442ec5['specular']=new _0x342136(0x111111);else if(_0x442ec5['userData']['originalSpecular']){const _0x3f2804=_0x442ec5['userData']['originalSpecular'];_0x3f2804['isColor']?_0x442ec5['specular']=_0x3f2804['clone']():_0x442ec5['specular']=_0x3f2804;}_0x442ec5['needsUpdate']=!0x0;}}}),Array['isArray'](_0x2482ae['material'])?(_0x2482ae['material']=_0x1308b1,_0x1308b1['forEach'](_0x42f78e=>{_0x42f78e&&(_0x42f78e['needsUpdate']=!0x0);})):0x1===_0x1308b1['length']&&(_0x2482ae['material']=_0x1308b1[0x0],_0x2482ae['material']&&(_0x2482ae['material']['needsUpdate']=!0x0));}}),this['visualMeshes']['forEach'](_0x32202d=>{if(_0x32202d['material']){const _0x3c1e6e=Array['isArray'](_0x32202d['material'])?_0x32202d['material']:[_0x32202d['material']];_0x3c1e6e['forEach']((_0x3b267f,_0x1f2a36)=>{var _0x101d21;if(_0x3b267f){if('MeshBasicMaterial'===_0x3b267f['type']||'MeshLambertMaterial'===_0x3b267f['type']){const _0xf96d6a=_0x3b267f,_0x87a5c0=_0x48967f,_0x196112=null==(_0x101d21=this['sceneManager']['environmentManager'])?void 0x0:_0x101d21['getEnvironmentMap'](),_0x392a52=new _0x2f1015({'color':_0xf96d6a['color'],'map':_0xf96d6a['map'],'transparent':_0xf96d6a['transparent'],'opacity':_0xf96d6a['opacity'],'side':_0xf96d6a['side'],'shininess':_0x87a5c0?0x32:0x1e,'specular':_0x87a5c0?new _0x342136(0.3,0.3,0.3):new _0x342136(0x111111),'envMap':_0x196112||null,'reflectivity':_0x196112?0.3:0x0});_0x392a52['userData']['originalShininess']=0x1e,_0x392a52['userData']['originalSpecular']=null,_0x392a52['map']&&(_0x392a52['map']['colorSpace']=_0x5ada61),_0x3c1e6e[_0x1f2a36]=_0x392a52,_0x3b267f=_0x392a52;}if(_0x3b267f&&(_0x3b267f['isMeshPhongMaterial']||_0x3b267f['isMeshStandardMaterial'])){if(void 0x0===_0x3b267f['userData']['originalShininess'])if(_0x3b267f['userData']['originalShininess']=void 0x0!==_0x3b267f['shininess']?_0x3b267f['shininess']:0x1e,_0x3b267f['specular'])if(_0x3b267f['specular']['isColor']){const _0x2d259c=_0x3b267f['specular'];_0x2d259c['r']<0.1&&_0x2d259c['g']<0.1&&_0x2d259c['b']<0.1?_0x3b267f['userData']['originalSpecular']=null:_0x3b267f['userData']['originalSpecular']=_0x2d259c['clone']();}else'number'==typeof _0x3b267f['specular']?0x111111===_0x3b267f['specular']||_0x3b267f['specular']<0x111111?_0x3b267f['userData']['originalSpecular']=null:_0x3b267f['userData']['originalSpecular']=new _0x342136(_0x3b267f['specular']):_0x3b267f['userData']['originalSpecular']=null;else _0x3b267f['userData']['originalSpecular']=null;if(_0x48967f)_0x3b267f['shininess']=0x32,(!_0x3b267f['specular']||_0x3b267f['specular']['isColor']&&_0x3b267f['specular']['r']<0.2||'number'==typeof _0x3b267f['specular']&&_0x3b267f['specular']<0x333333)&&(_0x3b267f['specular']=new _0x342136(0.3,0.3,0.3));else if(void 0x0!==_0x3b267f['userData']['originalShininess']&&(_0x3b267f['shininess']=_0x3b267f['userData']['originalShininess']),null===_0x3b267f['userData']['originalSpecular'])_0x3b267f['specular']=new _0x342136(0x111111);else if(_0x3b267f['userData']['originalSpecular']){const _0x342498=_0x3b267f['userData']['originalSpecular'];_0x342498['isColor']?_0x3b267f['specular']=_0x342498['clone']():_0x3b267f['specular']=_0x342498;}_0x3b267f['needsUpdate']=!0x0;}}}),Array['isArray'](_0x32202d['material'])?(_0x32202d['material']=_0x3c1e6e,_0x3c1e6e['forEach'](_0x372f7f=>{_0x372f7f&&(_0x372f7f['needsUpdate']=!0x0);})):0x1===_0x3c1e6e['length']&&(_0x32202d['material']=_0x3c1e6e[0x0],_0x32202d['material']&&(_0x32202d['material']['needsUpdate']=!0x0));}});const _0x21670b=null==(_0x32d105=window['app'])?void 0x0:_0x32d105['mujocoSimulationManager'];_0x21670b&&_0x21670b['mujocoRoot']&&_0x21670b['mujocoRoot']['traverse'](_0x418223=>{if(_0x418223['isMesh']&&_0x418223['material']){(Array['isArray'](_0x418223['material'])?_0x418223['material']:[_0x418223['material']])['forEach'](_0x5dcc8f=>{if(_0x5dcc8f['isMeshPhongMaterial']||_0x5dcc8f['isMeshStandardMaterial']){if(void 0x0===_0x5dcc8f['userData']['originalShininess'])if(_0x5dcc8f['userData']['originalShininess']=void 0x0!==_0x5dcc8f['shininess']?_0x5dcc8f['shininess']:0x1e,_0x5dcc8f['specular'])if(_0x5dcc8f['specular']['isColor']){const _0x5b40d8=_0x5dcc8f['specular'];_0x5b40d8['r']<0.1&&_0x5b40d8['g']<0.1&&_0x5b40d8['b']<0.1?_0x5dcc8f['userData']['originalSpecular']=null:_0x5dcc8f['userData']['originalSpecular']=_0x5b40d8['clone']();}else _0x5dcc8f['userData']['originalSpecular']=null;else _0x5dcc8f['userData']['originalSpecular']=null;if(_0x48967f)_0x5dcc8f['shininess']=0x32,(!_0x5dcc8f['specular']||_0x5dcc8f['specular']['isColor']&&_0x5dcc8f['specular']['r']<0.2||'number'==typeof _0x5dcc8f['specular']&&_0x5dcc8f['specular']<0x333333)&&(_0x5dcc8f['specular']=new _0x342136(0.3,0.3,0.3));else if(void 0x0!==_0x5dcc8f['userData']['originalShininess']&&(_0x5dcc8f['shininess']=_0x5dcc8f['userData']['originalShininess']),null===_0x5dcc8f['userData']['originalSpecular'])_0x5dcc8f['specular']=new _0x342136(0x111111);else if(_0x5dcc8f['userData']['originalSpecular']){const _0x59f141=_0x5dcc8f['userData']['originalSpecular'];_0x59f141['isColor']?_0x5dcc8f['specular']=_0x59f141['clone']():_0x5dcc8f['specular']=_0x59f141;}_0x5dcc8f['needsUpdate']=!0x0;}});}});}['toggleLinkVisibility'](_0x3357b8,_0x1fd40b){if(!_0x1fd40b||!_0x1fd40b['links'])return!0x1;const _0x343c6f=_0x1fd40b['links']['get'](_0x3357b8);if(!_0x343c6f||!_0x343c6f['threeObject'])return!0x1;const _0x1ebc78=this['hiddenLinks']['has'](_0x3357b8);_0x1ebc78?this['hiddenLinks']['delete'](_0x3357b8):this['hiddenLinks']['add'](_0x3357b8);const _0x425111=!!_0x1ebc78;return this['setLinkVisibility'](_0x343c6f['threeObject'],_0x425111,_0x1fd40b),_0x425111;}['isLinkHidden'](_0x3c6b52){return this['hiddenLinks']['has'](_0x3c6b52);}['setLinkVisibility'](_0x32614e,_0x3d65a1,_0x28fb2d){const _0x1c4c09=(_0x270914,_0x35ab80=!0x1)=>{var _0x176ac2,_0x500e89,_0x31bbc8;if(_0x35ab80||'URDFLink'!==_0x270914['type']&&!_0x270914['isURDFLink']){if(_0x270914['isURDFJoint']||'URDFJoint'===_0x270914['type']){const _0x26e650=_0x270914['name'];let _0x3c3b42=!0x1;if(_0x26e650&&(null==_0x28fb2d?void 0x0:_0x28fb2d['joints'])&&_0x28fb2d['joints']['has'](_0x26e650)){_0x3c3b42='fixed'===_0x28fb2d['joints']['get'](_0x26e650)['type'];}if(_0x3c3b42){for(const _0x5a75d2 of _0x270914['children'])_0x1c4c09(_0x5a75d2,!0x1);return;}return;}if(!(this['isAuxiliaryVisualization'](_0x270914)||(null==(_0x176ac2=_0x270914['userData'])?void 0x0:_0x176ac2['isCenterOfMass'])||(null==(_0x500e89=_0x270914['userData'])?void 0x0:_0x500e89['isInertiaBox'])||_0x270914['name']&&_0x270914['name']['endsWith']('_axes'))){if('Mesh'===_0x270914['type']||_0x270914['isMesh']){let _0x2692e9=!0x1,_0x58185f=_0x270914;for(;_0x58185f;){if(_0x58185f['isURDFCollider']){_0x2692e9=!0x0;break;}_0x58185f=_0x58185f['parent'];}if(_0x2692e9||(null==(_0x31bbc8=_0x270914['userData'])?void 0x0:_0x31bbc8['isCollision']))return;_0x270914['visible']=_0x3d65a1&&this['showVisual'];}for(const _0x3e0e1e of _0x270914['children'])_0x1c4c09(_0x3e0e1e,!0x1);}}};_0x1c4c09(_0x32614e,!0x0);}['isAuxiliaryVisualization'](_0x5ce892){var _0x20c436,_0x108b97,_0x25c491;return!!(null==(_0x20c436=_0x5ce892['userData'])?void 0x0:_0x20c436['isInertiaBox'])||(!!(null==(_0x108b97=_0x5ce892['userData'])?void 0x0:_0x108b97['isCOMMarker'])||!!(null==(_0x25c491=_0x5ce892['userData'])?void 0x0:_0x25c491['isCollision']));}['updateVisualTransparency'](_0x457a72,_0x395fa4,_0x3e659b,_0x1d34d5){if(_0x1d34d5)return;const _0x1ed78f=_0x457a72||_0x395fa4||_0x3e659b;this['visualMeshes']['forEach']((_0x13a6e1,_0x457134)=>{ji['setMeshTransparency'](_0x13a6e1,_0x1ed78f,_0x457134);});}static['setMeshTransparency'](_0x54ee69,_0x173dac,_0xab5fa1=-0x1){if(!_0x54ee69['material'])return;(Array['isArray'](_0x54ee69['material'])?_0x54ee69['material']:[_0x54ee69['material']])['forEach'](_0x5436b0=>{void 0x0===_0x5436b0['userData']['originalOpacity']&&(_0x5436b0['userData']['originalOpacity']=void 0x0!==_0x5436b0['opacity']?_0x5436b0['opacity']:0x1,_0x5436b0['userData']['originalTransparent']=_0x5436b0['transparent']||!0x1),_0x173dac?(_0x5436b0['transparent']=!0x0,_0x5436b0['opacity']=0.5,_0x5436b0['needsUpdate']=!0x0):void 0x0!==_0x5436b0['userData']['originalOpacity']&&(_0x5436b0['opacity']=_0x5436b0['userData']['originalOpacity'],_0x5436b0['transparent']=_0x5436b0['userData']['originalTransparent'],_0x5436b0['needsUpdate']=!0x0);});}['clear'](){this['visualMeshes']=[],this['collisionMeshes']=[],this['colliders']=[],this['hiddenLinks']['clear']();}}class ki{constructor(_0x4f8517){this['sceneManager']=_0x4f8517,this['comMarkers']=[],this['inertiaEllipsoids']=[],this['showCOM']=!0x1,this['showInertia']=!0x1;}static['createCOMGeometry'](_0x48f41a){const _0x54b96d=new _0x43b889(),_0x1ba08a=new _0x17a9ed({'color':0xffffff,'side':_0x4398ab,'depthTest':!0x0,'depthWrite':!0x0}),_0xd7c5b4=new _0x17a9ed({'color':0x0,'side':_0x4398ab,'depthTest':!0x0,'depthWrite':!0x0});return[{'phiStart':0x0,'phiLength':Math['PI']/0x2,'thetaStart':0x0,'thetaLength':Math['PI']/0x2,'material':_0x1ba08a},{'phiStart':0x0,'phiLength':Math['PI']/0x2,'thetaStart':Math['PI']/0x2,'thetaLength':Math['PI']/0x2,'material':_0xd7c5b4},{'phiStart':Math['PI']/0x2,'phiLength':Math['PI']/0x2,'thetaStart':0x0,'thetaLength':Math['PI']/0x2,'material':_0xd7c5b4},{'phiStart':Math['PI']/0x2,'phiLength':Math['PI']/0x2,'thetaStart':Math['PI']/0x2,'thetaLength':Math['PI']/0x2,'material':_0x1ba08a},{'phiStart':Math['PI'],'phiLength':Math['PI']/0x2,'thetaStart':0x0,'thetaLength':Math['PI']/0x2,'material':_0x1ba08a},{'phiStart':Math['PI'],'phiLength':Math['PI']/0x2,'thetaStart':Math['PI']/0x2,'thetaLength':Math['PI']/0x2,'material':_0xd7c5b4},{'phiStart':1.5*Math['PI'],'phiLength':Math['PI']/0x2,'thetaStart':0x0,'thetaLength':Math['PI']/0x2,'material':_0xd7c5b4},{'phiStart':1.5*Math['PI'],'phiLength':Math['PI']/0x2,'thetaStart':Math['PI']/0x2,'thetaLength':Math['PI']/0x2,'material':_0x1ba08a}]['forEach'](_0x267fa7=>{const _0x2519d2=new _0x24a7ae(_0x48f41a,0x10,0x10,_0x267fa7['phiStart'],_0x267fa7['phiLength'],_0x267fa7['thetaStart'],_0x267fa7['thetaLength']),_0x74d6e4=new _0x514bc2(_0x2519d2,_0x267fa7['material']);_0x74d6e4['castShadow']=!0x1,_0x74d6e4['receiveShadow']=!0x1,_0x54b96d['add'](_0x74d6e4);}),_0x54b96d;}['extractInertialProperties'](_0x4a0d8f){this['comMarkers']['forEach'](_0x99973d=>{_0x99973d['parent']&&_0x99973d['parent']['remove'](_0x99973d);}),this['inertiaEllipsoids']['forEach'](_0x2fff15=>{_0x2fff15['parent']&&_0x2fff15['parent']['remove'](_0x2fff15);}),this['comMarkers']=[],this['inertiaEllipsoids']=[],_0x4a0d8f['links']&&_0x4a0d8f['links']['forEach']((_0x5409f1,_0x32110e)=>{if(!_0x5409f1['inertial'])return;const _0x788b44=_0x5409f1['inertial'];let _0x7e0147;try{_0x7e0147=_0x788b44['origin']&&_0x788b44['origin']['xyz']?Ue['xyzToVector3'](_0x788b44['origin']['xyz']):_0x788b44['origin']?new _0x47b065(_0x788b44['origin'][0x0]||0x0,_0x788b44['origin'][0x1]||0x0,_0x788b44['origin'][0x2]||0x0):new _0x47b065(0x0,0x0,0x0);}catch(_0x4cd520){_0x7e0147=new _0x47b065(0x0,0x0,0x0);}this['showCOM']&&void 0x0!==_0x788b44['mass']&&_0x788b44['mass']>0x0&&this['createCOMMarker'](_0x4a0d8f,_0x5409f1,_0x7e0147),this['showInertia']&&(void 0x0!==_0x788b44['ixx']||_0x788b44['inertia'])&&this['createInertiaEllipsoid'](_0x4a0d8f,_0x5409f1,_0x7e0147,_0x788b44);});}['createCOMMarker'](_0x1f113b,_0x45da02,_0x2b3595){const _0x35acb3=this['findLinkObject'](_0x1f113b['threeObject'],_0x45da02['name']);if(!_0x35acb3)return;const _0x4971e7=new _0x43b889(),_0x930d9e=0.02,_0x5d6373=0x10,_0x1a1056=new _0x17a9ed({'color':0xffffff,'side':_0x4398ab,'depthTest':!0x0,'depthWrite':!0x0}),_0x3234df=new _0x17a9ed({'color':0x0,'side':_0x4398ab,'depthTest':!0x0,'depthWrite':!0x0}),_0x2328df=new _0x24a7ae(_0x930d9e,_0x5d6373,_0x5d6373,0x0,Math['PI']/0x2,0x0,Math['PI']/0x2),_0x11fd12=new _0x514bc2(_0x2328df,_0x1a1056),_0x1620f6=new _0x24a7ae(_0x930d9e,_0x5d6373,_0x5d6373,0x0,Math['PI']/0x2,Math['PI']/0x2,Math['PI']/0x2),_0x4b9ff5=new _0x514bc2(_0x1620f6,_0x3234df),_0x3904cb=new _0x24a7ae(_0x930d9e,_0x5d6373,_0x5d6373,Math['PI']/0x2,Math['PI']/0x2,0x0,Math['PI']/0x2),_0x360f62=new _0x514bc2(_0x3904cb,_0x3234df),_0x2e0053=new _0x24a7ae(_0x930d9e,_0x5d6373,_0x5d6373,Math['PI']/0x2,Math['PI']/0x2,Math['PI']/0x2,Math['PI']/0x2),_0x26129e=new _0x514bc2(_0x2e0053,_0x1a1056),_0x36bf9c=new _0x24a7ae(_0x930d9e,_0x5d6373,_0x5d6373,Math['PI'],Math['PI']/0x2,0x0,Math['PI']/0x2),_0x868226=new _0x514bc2(_0x36bf9c,_0x1a1056),_0x576ef8=new _0x24a7ae(_0x930d9e,_0x5d6373,_0x5d6373,Math['PI'],Math['PI']/0x2,Math['PI']/0x2,Math['PI']/0x2),_0x509aa0=new _0x514bc2(_0x576ef8,_0x3234df),_0x480a79=new _0x24a7ae(_0x930d9e,_0x5d6373,_0x5d6373,1.5*Math['PI'],Math['PI']/0x2,0x0,Math['PI']/0x2),_0x489273=new _0x514bc2(_0x480a79,_0x3234df),_0x296210=new _0x24a7ae(_0x930d9e,_0x5d6373,_0x5d6373,1.5*Math['PI'],Math['PI']/0x2,Math['PI']/0x2,Math['PI']/0x2),_0x2a4403=new _0x514bc2(_0x296210,_0x1a1056);_0x4971e7['add'](_0x11fd12),_0x4971e7['add'](_0x4b9ff5),_0x4971e7['add'](_0x360f62),_0x4971e7['add'](_0x26129e),_0x4971e7['add'](_0x868226),_0x4971e7['add'](_0x509aa0),_0x4971e7['add'](_0x489273),_0x4971e7['add'](_0x2a4403),_0x4971e7['userData']['isCenterOfMass']=!0x0,_0x4971e7['position']['copy'](_0x2b3595),_0x4971e7['visible']=this['showCOM'],_0x35acb3['add'](_0x4971e7),this['comMarkers']['push'](_0x4971e7);}['createInertiaEllipsoid'](_0xf18309,_0x16c342,_0x4e7a1c,_0x54254b){let _0x4806be;_0x4806be=_0x54254b['diagonalInertia']?{'ixx':_0x54254b['diagonalInertia']['ixx'],'iyy':_0x54254b['diagonalInertia']['iyy'],'izz':_0x54254b['diagonalInertia']['izz'],'ixy':0x0,'ixz':0x0,'iyz':0x0,'mass':_0x54254b['mass']}:_0x54254b;const _0x54b145=Ue['computeInertiaBox'](_0x4806be);if(!_0x54b145)return;const _0x39f93a=Ue['createInertiaBoxGeometry'](_0x54b145['width'],_0x54b145['height'],_0x54b145['depth']),_0x3766a8=new _0x2f1015({'transparent':!0x0,'opacity':0.35,'shininess':2.5,'premultipliedAlpha':!0x0,'color':0x4a9eff,'polygonOffset':!0x0,'polygonOffsetFactor':-0x1,'polygonOffsetUnits':-0x1}),_0x293ec0=new _0x514bc2(_0x39f93a,_0x3766a8);if(_0x293ec0['position']['copy'](_0x4e7a1c),_0x54254b['origin']&&_0x54254b['origin']['quat']){const _0x1e513e=_0x54254b['origin']['quat'],_0x47203d=new _0x57eb35(_0x1e513e['x'],_0x1e513e['y'],_0x1e513e['z'],_0x1e513e['w']),_0x55a387=new _0x57eb35();_0x55a387['setFromAxisAngle'](new _0x47b065(0x0,0x1,0x0),Math['PI']);const _0x5b59ec=new _0x57eb35();_0x5b59ec['multiplyQuaternions'](_0x47203d,_0x55a387),_0x293ec0['quaternion']['copy'](_0x5b59ec);}else if(_0x54b145['rotation']&&void 0x0!==_0x54b145['rotation']['w'])_0x293ec0['quaternion']['copy'](_0x54b145['rotation']);else if(_0x54254b['origin']&&_0x54254b['origin']['rpy']){const _0x18911e=_0x54254b['origin']['rpy'];_0x293ec0['rotation']['set'](_0x18911e[0x0],_0x18911e[0x1],_0x18911e[0x2],'XYZ');}else _0x293ec0['rotation']['set'](0x0,0x0,0x0);_0x293ec0['visible']=this['showInertia'],_0x293ec0['castShadow']=!0x1,_0x293ec0['receiveShadow']=!0x1,_0x293ec0['userData']['isInertiaBox']=!0x0;const _0x40749e=this['findLinkObject'](_0xf18309['threeObject'],_0x16c342['name']);_0x40749e?_0x40749e['add'](_0x293ec0):this['sceneManager']['scene']['add'](_0x293ec0),this['inertiaEllipsoids']['push'](_0x293ec0);}['findLinkObject'](_0x4e6da8,_0x184550){let _0x1ed22c=null;return _0x4e6da8['traverse'](_0xbe2552=>{_0xbe2552['name']!==_0x184550&&_0xbe2552['name']!=='link_'+_0x184550&&_0xbe2552['name']!=='body_'+_0x184550||(_0x1ed22c=_0xbe2552);}),_0x1ed22c;}['toggleCenterOfMass'](_0x4d71d1,_0x413c6a){this['showCOM']=_0x4d71d1,_0x4d71d1&&0x0===this['comMarkers']['length']&&_0x413c6a?this['extractInertialProperties'](_0x413c6a):this['comMarkers']['forEach'](_0x1bfb13=>{_0x1bfb13['visible']=_0x4d71d1;});}['toggleInertia'](_0x44e674,_0x37c916){this['showInertia']=_0x44e674,_0x44e674&&0x0===this['inertiaEllipsoids']['length']&&_0x37c916?this['extractInertialProperties'](_0x37c916):this['inertiaEllipsoids']['forEach'](_0x273eda=>{_0x273eda['visible']=_0x44e674;});}['clear'](){this['comMarkers']['forEach'](_0xe69128=>{_0xe69128['parent']&&_0xe69128['parent']['remove'](_0xe69128);}),this['inertiaEllipsoids']['forEach'](_0x51e31f=>{_0x51e31f['parent']&&_0x51e31f['parent']['remove'](_0x51e31f);}),this['comMarkers']=[],this['inertiaEllipsoids']=[];}}class Ti{constructor(_0x2b2677){this['sceneManager']=_0x2b2677,this['constraintVisuals']=[],this['showConstraints']=!0x0;}['visualizeConstraints'](_0x475cb4,_0xfc6144){this['constraintVisuals']['forEach'](_0x4353a1=>{_0x4353a1['parent']&&_0x4353a1['parent']['remove'](_0x4353a1);}),this['constraintVisuals']=[],_0x475cb4['constraints']&&0x0!==_0x475cb4['constraints']['size']&&_0x475cb4['constraints']['forEach']((_0x13a9a2,_0x21b4f6)=>{try{'connect'===_0x13a9a2['type']||'weld'===_0x13a9a2['type']?this['visualizeBodyConstraint'](_0x475cb4,_0x13a9a2,_0xfc6144):'joint'===_0x13a9a2['type']?this['visualizeJointConstraint'](_0x475cb4,_0x13a9a2,_0xfc6144):'distance'===_0x13a9a2['type']&&this['visualizeDistanceConstraint'](_0x475cb4,_0x13a9a2,_0xfc6144);}catch(_0x12d67a){}});}['visualizeBodyConstraint'](_0x4fea32,_0x5688a3,_0x80f5b4){const _0x5c3434=this['findLinkObject'](_0x4fea32['threeObject'],_0x5688a3['body1']),_0x337c91=this['findLinkObject'](_0x4fea32['threeObject'],_0x5688a3['body2']);if(!_0x5c3434||!_0x337c91)return;const _0x775d66=new _0x598f69(),_0x4d630b=new Float32Array(0x6);_0x4d630b[0x0]=0x0,_0x4d630b[0x1]=0x0,_0x4d630b[0x2]=0x0,_0x4d630b[0x3]=0x0,_0x4d630b[0x4]=0x0,_0x4d630b[0x5]=0x0,_0x775d66['setAttribute']('position',new _0x5b7840(_0x4d630b,0x3));const _0x5a4beb='weld'===_0x5688a3['type']?0xff6600:0xffff,_0x54136c=new _0x5bc173({'color':_0x5a4beb,'linewidth':0x2,'dashSize':0.05,'gapSize':0.03,'depthTest':!0x0,'transparent':!0x0,'opacity':0.8}),_0x3af3e8=new _0x447e10(_0x775d66,_0x54136c);_0x3af3e8['computeLineDistances'](),_0x3af3e8['userData']['constraint']=_0x5688a3,_0x3af3e8['userData']['body1']=_0x5c3434,_0x3af3e8['userData']['body2']=_0x337c91,_0x3af3e8['userData']['isConstraintVisualization']=!0x0;(_0x80f5b4||this['sceneManager']['scene'])['add'](_0x3af3e8),this['constraintVisuals']['push'](_0x3af3e8),_0x3af3e8['onBeforeRender']=()=>{if(!_0x3af3e8['userData']['body1']||!_0x3af3e8['userData']['body2'])return;const _0x30f044=new _0x47b065(),_0xe2fd97=new _0x47b065();if(_0x3af3e8['userData']['body1']['getWorldPosition'](_0x30f044),_0x3af3e8['userData']['body2']['getWorldPosition'](_0xe2fd97),_0x80f5b4){const _0x1524a6=new _0x57ef6e();_0x1524a6['copy'](_0x80f5b4['matrixWorld'])['invert'](),_0x30f044['applyMatrix4'](_0x1524a6),_0xe2fd97['applyMatrix4'](_0x1524a6);}const _0x1b9847=_0x3af3e8['geometry']['attributes']['position']['array'];_0x1b9847[0x0]=_0x30f044['x'],_0x1b9847[0x1]=_0x30f044['y'],_0x1b9847[0x2]=_0x30f044['z'],_0x1b9847[0x3]=_0xe2fd97['x'],_0x1b9847[0x4]=_0xe2fd97['y'],_0x1b9847[0x5]=_0xe2fd97['z'],_0x3af3e8['geometry']['attributes']['position']['needsUpdate']=!0x0,_0x3af3e8['computeLineDistances']();};}['visualizeJointConstraint'](_0x4a9bb9,_0x43491e,_0x36e81a){const _0x5c5153=_0x4a9bb9['getJoint'](_0x43491e['joint1']),_0x2ce4e4=_0x4a9bb9['getJoint'](_0x43491e['joint2']);if(!_0x5c5153||!_0x2ce4e4)return;const _0x560022=_0x5c5153['child']?this['findLinkObject'](_0x4a9bb9['threeObject'],_0x5c5153['child']):null,_0x46e41b=_0x2ce4e4['child']?this['findLinkObject'](_0x4a9bb9['threeObject'],_0x2ce4e4['child']):null;if(!_0x560022||!_0x46e41b)return;const _0x1cd0b1=new _0x598f69(),_0x39a029=new Float32Array(0x6);_0x1cd0b1['setAttribute']('position',new _0x5b7840(_0x39a029,0x3));const _0x59fa16=new _0x5bc173({'color':0xffff00,'linewidth':0x2,'dashSize':0.03,'gapSize':0.02,'depthTest':!0x0,'transparent':!0x0,'opacity':0.7}),_0x194df9=new _0x447e10(_0x1cd0b1,_0x59fa16);_0x194df9['computeLineDistances'](),_0x194df9['userData']['constraint']=_0x43491e,_0x194df9['userData']['link1']=_0x560022,_0x194df9['userData']['link2']=_0x46e41b,_0x194df9['userData']['isConstraintVisualization']=!0x0;(_0x36e81a||this['sceneManager']['scene'])['add'](_0x194df9),this['constraintVisuals']['push'](_0x194df9),_0x194df9['onBeforeRender']=()=>{if(!_0x194df9['userData']['link1']||!_0x194df9['userData']['link2'])return;const _0x12f26f=new _0x47b065(),_0x1af677=new _0x47b065();if(_0x194df9['userData']['link1']['getWorldPosition'](_0x12f26f),_0x194df9['userData']['link2']['getWorldPosition'](_0x1af677),_0x36e81a){const _0x4f054f=new _0x57ef6e();_0x4f054f['copy'](_0x36e81a['matrixWorld'])['invert'](),_0x12f26f['applyMatrix4'](_0x4f054f),_0x1af677['applyMatrix4'](_0x4f054f);}const _0x1f2958=_0x194df9['geometry']['attributes']['position']['array'];_0x1f2958[0x0]=_0x12f26f['x'],_0x1f2958[0x1]=_0x12f26f['y'],_0x1f2958[0x2]=_0x12f26f['z'],_0x1f2958[0x3]=_0x1af677['x'],_0x1f2958[0x4]=_0x1af677['y'],_0x1f2958[0x5]=_0x1af677['z'],_0x194df9['geometry']['attributes']['position']['needsUpdate']=!0x0,_0x194df9['computeLineDistances']();};}['visualizeDistanceConstraint'](_0x2acb39,_0x98c9b0,_0x2f37b0){const _0x59b99c=this['findLinkObject'](_0x2acb39['threeObject'],_0x98c9b0['body1']),_0xe1c5af=this['findLinkObject'](_0x2acb39['threeObject'],_0x98c9b0['body2']);if(!_0x59b99c||!_0xe1c5af)return;const _0x304fd5=new _0x598f69(),_0x51a42b=new Float32Array(0x6);_0x304fd5['setAttribute']('position',new _0x5b7840(_0x51a42b,0x3));const _0x5f527f=new _0x5bc173({'color':0xff00ff,'linewidth':0x2,'dashSize':0.04,'gapSize':0.02,'depthTest':!0x0,'transparent':!0x0,'opacity':0.8}),_0x7c1972=new _0x447e10(_0x304fd5,_0x5f527f);_0x7c1972['computeLineDistances'](),_0x7c1972['userData']['constraint']=_0x98c9b0,_0x7c1972['userData']['body1']=_0x59b99c,_0x7c1972['userData']['body2']=_0xe1c5af,_0x7c1972['userData']['isConstraintVisualization']=!0x0;(_0x2f37b0||this['sceneManager']['scene'])['add'](_0x7c1972),this['constraintVisuals']['push'](_0x7c1972),_0x7c1972['onBeforeRender']=()=>{if(!_0x7c1972['userData']['body1']||!_0x7c1972['userData']['body2'])return;const _0x3a064d=new _0x47b065(),_0x29b542=new _0x47b065();if(_0x7c1972['userData']['body1']['getWorldPosition'](_0x3a064d),_0x7c1972['userData']['body2']['getWorldPosition'](_0x29b542),_0x2f37b0){const _0x1e14ad=new _0x57ef6e();_0x1e14ad['copy'](_0x2f37b0['matrixWorld'])['invert'](),_0x3a064d['applyMatrix4'](_0x1e14ad),_0x29b542['applyMatrix4'](_0x1e14ad);}const _0x1cde80=_0x7c1972['geometry']['attributes']['position']['array'];_0x1cde80[0x0]=_0x3a064d['x'],_0x1cde80[0x1]=_0x3a064d['y'],_0x1cde80[0x2]=_0x3a064d['z'],_0x1cde80[0x3]=_0x29b542['x'],_0x1cde80[0x4]=_0x29b542['y'],_0x1cde80[0x5]=_0x29b542['z'],_0x7c1972['geometry']['attributes']['position']['needsUpdate']=!0x0,_0x7c1972['computeLineDistances']();};}['applyConstraints'](_0x40871e,_0x5308bf){_0x40871e['constraints']&&0x0!==_0x40871e['constraints']['size']&&_0x40871e['constraints']['forEach'](_0x5b42c=>{'connect'===_0x5b42c['type']&&this['solveConnectConstraint'](_0x40871e,_0x5b42c);});}['solveConnectConstraint'](_0x1a9360,_0x2e5082){const _0x258549=this['findLinkObject'](_0x1a9360['threeObject'],_0x2e5082['body1']),_0x2b7b13=this['findLinkObject'](_0x1a9360['threeObject'],_0x2e5082['body2']);if(!_0x258549||!_0x2b7b13)return;const _0x116d1=_0x2e5082['anchor']||[0x0,0x0,0x0],_0xf43f5c=new _0x47b065(_0x116d1[0x0],_0x116d1[0x1],_0x116d1[0x2]),_0x240a4d=_0xf43f5c['clone']();_0x258549['localToWorld'](_0x240a4d);const _0x5917f2=_0xf43f5c['clone']();_0x2b7b13['localToWorld'](_0x5917f2);if(_0x240a4d['distanceTo'](_0x5917f2)<0.001)return;const _0x37711d=this['findJointsAffecting'](_0x1a9360,_0x2e5082['body2']);if(0x0===_0x37711d['length'])return;const _0x147204=0.05;for(let _0x52dd13=0x0;_0x52dd13<0x14;_0x52dd13++){_0x240a4d['set'](_0x116d1[0x0],_0x116d1[0x1],_0x116d1[0x2]),_0x258549['localToWorld'](_0x240a4d),_0x5917f2['set'](_0x116d1[0x0],_0x116d1[0x1],_0x116d1[0x2]),_0x2b7b13['localToWorld'](_0x5917f2);const _0x218bcb=_0x240a4d['distanceTo'](_0x5917f2);if(_0x218bcb<0.001)break;for(const _0x5f0345 of _0x37711d){if('fixed'===_0x5f0345['type'])continue;const _0x47344f=_0x5f0345['currentValue']||0x0;Ei['setJointAngle'](_0x1a9360,_0x5f0345['name'],_0x47344f+_0x147204),_0x1a9360['threeObject']['updateMatrixWorld'](!0x0),_0x240a4d['set'](_0x116d1[0x0],_0x116d1[0x1],_0x116d1[0x2]),_0x258549['localToWorld'](_0x240a4d),_0x5917f2['set'](_0x116d1[0x0],_0x116d1[0x1],_0x116d1[0x2]),_0x2b7b13['localToWorld'](_0x5917f2);const _0x33fd9d=_0x240a4d['distanceTo'](_0x5917f2);Ei['setJointAngle'](_0x1a9360,_0x5f0345['name'],_0x47344f-_0x147204),_0x1a9360['threeObject']['updateMatrixWorld'](!0x0),_0x240a4d['set'](_0x116d1[0x0],_0x116d1[0x1],_0x116d1[0x2]),_0x258549['localToWorld'](_0x240a4d),_0x5917f2['set'](_0x116d1[0x0],_0x116d1[0x1],_0x116d1[0x2]),_0x2b7b13['localToWorld'](_0x5917f2);const _0xe79d83=_0x240a4d['distanceTo'](_0x5917f2);let _0x22c503=_0x47344f;_0x33fd9d<_0x218bcb&&_0x33fd9d<_0xe79d83?_0x22c503=_0x47344f+_0x147204:_0xe79d83<_0x218bcb&&(_0x22c503=_0x47344f-_0x147204),Ei['setJointAngle'](_0x1a9360,_0x5f0345['name'],_0x22c503),_0x5f0345['currentValue']=_0x22c503;const _0x4e6342=document['querySelector']('input.joint-slider[data-joint=\x22'+_0x5f0345['name']+'\x22]');if(_0x4e6342){_0x4e6342['value']=_0x22c503;const _0x113679=document['querySelector']('input[data-joint-input=\x22'+_0x5f0345['name']+'\x22]');if(_0x113679){const _0x177859=document['querySelector']('#unit-deg.active')?'deg':'rad';_0x113679['value']='deg'===_0x177859?(0xb4*_0x22c503/Math['PI'])['toFixed'](0x2):_0x22c503['toFixed'](0x2);}}}}_0x1a9360['threeObject']['updateMatrixWorld'](!0x0),_0x240a4d['set'](_0x116d1[0x0],_0x116d1[0x1],_0x116d1[0x2]),_0x258549['localToWorld'](_0x240a4d),_0x5917f2['set'](_0x116d1[0x0],_0x116d1[0x1],_0x116d1[0x2]),_0x2b7b13['localToWorld'](_0x5917f2),_0x240a4d['distanceTo'](_0x5917f2);}['findJointsAffecting'](_0x190303,_0x4cd5b5){const _0x12d529=[],_0x45d6c7=new Set();let _0x413bf4=_0x4cd5b5;for(;_0x413bf4&&!_0x45d6c7['has'](_0x413bf4);){_0x45d6c7['add'](_0x413bf4);let _0x125e10=null;if(_0x190303['joints']['forEach'](_0x2d0c29=>{_0x2d0c29['child']===_0x413bf4&&(_0x125e10=_0x2d0c29,_0x12d529['push'](_0x2d0c29));}),!_0x125e10)break;_0x413bf4=_0x125e10['parent'];}return _0x12d529['reverse']();}['findLinkObject'](_0x4bacbb,_0x2b8eff){let _0x49b8b5=null;return _0x4bacbb['traverse'](_0x4e02f9=>{_0x4e02f9['name']!==_0x2b8eff&&_0x4e02f9['name']!=='link_'+_0x2b8eff&&_0x4e02f9['name']!=='body_'+_0x2b8eff||(_0x49b8b5=_0x4e02f9);}),_0x49b8b5;}['clear'](){this['constraintVisuals']['forEach'](_0x21dfbc=>{_0x21dfbc['parent']&&_0x21dfbc['parent']['remove'](_0x21dfbc);}),this['constraintVisuals']=[];}}class Oi{constructor(_0x50bf54){this['sceneManager']=_0x50bf54,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 _0x47b065(),this['_tmpQuat']=new _0x57eb35(),this['_tmpScale']=new _0x47b065(0x1,0x1,0x1),this['_tmpMat']=new _0x57ef6e(),this['_tmpMatLocal']=new _0x57ef6e();}['hasVisibleLinkAxes'](){return Array['from'](this['linkAxesHelpers']['values']())['some'](_0x2f4a78=>_0x2f4a78['visible']);}['hasVisibleJointAxes'](){return Array['from'](this['jointAxesHelpers']['values']())['some'](_0xbeff04=>_0xbeff04['isAttached']);}static['createAxesGeometry'](_0x3442d7){const _0x2a9677=new _0x43b889();_0x2a9677['userData']['excludeFromBBox']=!0x0;const _0x88abfa=Math['max'](0.001,0.015*_0x3442d7),_0x4ead0a=new _0x3ff7a4(_0x88abfa,_0x88abfa,_0x3442d7,0x8),_0x3e673f=new _0x514bc2(_0x4ead0a,new _0x2f1015({'color':0xff0000,'shininess':0x1e,'depthTest':!0x0}));_0x3e673f['position']['x']=_0x3442d7/0x2,_0x3e673f['rotation']['z']=-Math['PI']/0x2,_0x3e673f['castShadow']=!0x1,_0x3e673f['receiveShadow']=!0x1,_0x2a9677['add'](_0x3e673f);const _0x29b529=new _0x514bc2(_0x4ead0a,new _0x2f1015({'color':0xff00,'shininess':0x1e,'depthTest':!0x0}));_0x29b529['position']['y']=_0x3442d7/0x2,_0x29b529['castShadow']=!0x1,_0x29b529['receiveShadow']=!0x1,_0x2a9677['add'](_0x29b529);const _0xcbc19f=new _0x514bc2(_0x4ead0a,new _0x2f1015({'color':0xff,'shininess':0x1e,'depthTest':!0x0}));return _0xcbc19f['position']['z']=_0x3442d7/0x2,_0xcbc19f['rotation']['x']=Math['PI']/0x2,_0xcbc19f['castShadow']=!0x1,_0xcbc19f['receiveShadow']=!0x1,_0x2a9677['add'](_0xcbc19f),_0x2a9677;}static['createJointArrowGeometry'](_0x3cd10d){const _0x397e20=0.2*0.7,_0x1e89be=new _0x17a9ed({'color':0xff0000}),_0x3532fd=new _0x3ff7a4(0.004,0.004,_0x397e20,0x10,0x1),_0x5a5b63=new _0x514bc2(_0x3532fd,_0x1e89be);_0x5a5b63['position']['y']=_0x397e20/0x2;const _0x2b86fb=new _0x209a3b(0.012,0.06,0x10),_0x5f1e34=new _0x514bc2(_0x2b86fb,_0x1e89be);_0x5f1e34['position']['y']=_0x397e20+0.03;const _0x4656b8=new _0x43b889();_0x4656b8['add'](_0x5a5b63),_0x4656b8['add'](_0x5f1e34);const _0x5c0ef7=new _0x47b065(0x0,0x1,0x0),_0x2f0cbc=new _0x57eb35();_0x2f0cbc['setFromUnitVectors'](_0x5c0ef7,_0x3cd10d),_0x4656b8['quaternion']['copy'](_0x2f0cbc);const _0x44771d=new _0x43b889();_0x44771d['userData']['excludeFromBBox']=!0x0,_0x44771d['add'](_0x4656b8);const _0x2e78a4=Oi['createRotationIndicator'](_0x3cd10d,0.2);return _0x44771d['add'](_0x2e78a4),_0x44771d;}static['createRotationIndicator'](_0x435876,_0x53c921){const _0x112d67=new _0x43b889(),_0x4df50d=0.25*_0x53c921,_0x5dde91=1.5*Math['PI'],_0x4400e2=new _0x3ef11f(0x0,0x0,_0x4df50d,_0x4df50d,0x0,_0x5dde91,!0x1,0x0)['getPoints'](0x32)['map'](_0x6e341e=>new _0x47b065(_0x6e341e['x'],_0x6e341e['y'],0x0)),_0x4a01c6=new _0x21030f(_0x4400e2),_0x162cb1=new _0x38a99d(_0x4a01c6,0x32,0.002,0x8,!0x1),_0x48f396=new _0x17a9ed({'color':0xff00}),_0x1b7905=new _0x514bc2(_0x162cb1,_0x48f396);_0x112d67['add'](_0x1b7905);const _0x2ac9c0=new _0x209a3b(0.008,0.016,0x8),_0x480d59=new _0x17a9ed({'color':0xff00}),_0x11d2a3=new _0x514bc2(_0x2ac9c0,_0x480d59),_0x2266a5=_0x4400e2[_0x4400e2['length']-0x1],_0x7aa08b=_0x4400e2[_0x4400e2['length']-0x5],_0x25d915=new _0x47b065()['subVectors'](_0x2266a5,_0x7aa08b)['normalize']();_0x11d2a3['position']['copy'](_0x2266a5),_0x11d2a3['quaternion']['setFromUnitVectors'](new _0x47b065(0x0,0x1,0x0),_0x25d915),_0x112d67['add'](_0x11d2a3);const _0x56b33c=new _0x57eb35();_0x56b33c['setFromUnitVectors'](new _0x47b065(0x0,0x0,0x1),_0x435876),_0x112d67['quaternion']['copy'](_0x56b33c);const _0x22f02b=_0x435876['clone']()['multiplyScalar'](0.85*_0x53c921);return _0x112d67['position']['copy'](_0x22f02b),_0x112d67;}['createLinkAxes'](_0x544af5,_0x3fe6a3,_0x174720=0x1){const _0x24521d=Math['max'](0.02,Math['min'](0.1*_0x174720,0.2))*this['axesScale'],_0x4404ee=new _0x43b889();_0x4404ee['name']=_0x3fe6a3+'_axes',_0x4404ee['userData']['excludeFromBBox']=!0x0;const _0x3efd70=Math['max'](0.001,0.015*_0x24521d),_0x2f3d7e=new _0x3ff7a4(_0x3efd70,_0x3efd70,_0x24521d,0x8),_0x1e4278=new _0x2f1015({'color':0xff0000,'shininess':0x1e,'depthTest':!0x0}),_0x24dda1=new _0x514bc2(_0x2f3d7e,_0x1e4278);_0x24dda1['position']['x']=_0x24521d/0x2,_0x24dda1['rotation']['z']=-Math['PI']/0x2,_0x24dda1['castShadow']=!0x1,_0x24dda1['receiveShadow']=!0x1,_0x24dda1['userData']={'isAxis':!0x0,'linkName':_0x3fe6a3,'axisType':'x'},_0x4404ee['add'](_0x24dda1);const _0x3d1d63=new _0x2f1015({'color':0xff00,'shininess':0x1e,'depthTest':!0x0}),_0x362bfb=new _0x514bc2(_0x2f3d7e,_0x3d1d63);_0x362bfb['position']['y']=_0x24521d/0x2,_0x362bfb['castShadow']=!0x1,_0x362bfb['receiveShadow']=!0x1,_0x362bfb['userData']={'isAxis':!0x0,'linkName':_0x3fe6a3,'axisType':'y'},_0x4404ee['add'](_0x362bfb);const _0x465dd3=new _0x2f1015({'color':0xff,'shininess':0x1e,'depthTest':!0x0}),_0x1fedc1=new _0x514bc2(_0x2f3d7e,_0x465dd3);return _0x1fedc1['position']['z']=_0x24521d/0x2,_0x1fedc1['rotation']['x']=Math['PI']/0x2,_0x1fedc1['castShadow']=!0x1,_0x1fedc1['receiveShadow']=!0x1,_0x1fedc1['userData']={'isAxis':!0x0,'linkName':_0x3fe6a3,'axisType':'z'},_0x4404ee['add'](_0x1fedc1),_0x544af5['threeObject']&&_0x544af5['threeObject']['add'](_0x4404ee),this['linkAxesHelpers']['set'](_0x3fe6a3,_0x4404ee),this['showLabels']&&this['createAxisLabel'](_0x3fe6a3,_0x4404ee,_0x24521d,!0x0),_0x4404ee['visible']=!0x1,_0x4404ee;}['createJointAxis'](_0x556d98,_0x4b8a02){if(!_0x556d98['threeObject']||'revolute'!==_0x556d98['type']&&'continuous'!==_0x556d98['type'])return null;const _0x52d678=_0x556d98['threeObject'],_0x10bdcd=new _0x43b889();_0x10bdcd['name']='jointAxis_'+_0x4b8a02,_0x10bdcd['userData']['excludeFromBBox']=!0x0;let _0x2dad99=new _0x47b065(0x0,0x0,0x1);_0x52d678['axis']?_0x2dad99['copy'](_0x52d678['axis'])['normalize']():_0x556d98['axis']&&_0x556d98['axis']['xyz']&&_0x2dad99['set'](_0x556d98['axis']['xyz'][0x0]||0x0,_0x556d98['axis']['xyz'][0x1]||0x0,void 0x0!==_0x556d98['axis']['xyz'][0x2]?_0x556d98['axis']['xyz'][0x2]:0x1)['normalize']();const _0x305964=0.2*this['axesScale'],_0x522d2b=0.7*_0x305964,_0x3aec08=0.3*_0x305964,_0x5b72e9=0.004*this['axesScale'],_0x3aa756=0.012*this['axesScale'],_0x3c57fb=new _0x17a9ed({'color':0xff0000}),_0x42f5dd=new _0x3ff7a4(_0x5b72e9,_0x5b72e9,_0x522d2b,0x10,0x1),_0x99d68d=new _0x514bc2(_0x42f5dd,_0x3c57fb);_0x99d68d['raycast']=()=>{};const _0x2fdecb=new _0x209a3b(_0x3aa756,_0x3aec08,0x20,0x1),_0x1c7bc7=new _0x514bc2(_0x2fdecb,_0x3c57fb);_0x1c7bc7['raycast']=()=>{};const _0x1860f3=new _0x43b889();_0x99d68d['position']['y']=_0x522d2b/0x2,_0x1860f3['add'](_0x99d68d),_0x1c7bc7['position']['y']=_0x522d2b+_0x3aec08/0x2,_0x1860f3['add'](_0x1c7bc7);const _0x10de61=new _0x47b065(0x0,0x1,0x0),_0x55dc9a=new _0x57eb35();_0x55dc9a['setFromUnitVectors'](_0x10de61,_0x2dad99),_0x1860f3['quaternion']['copy'](_0x55dc9a),_0x10bdcd['add'](_0x1860f3);const _0x5d8b2f=this['createRotationIndicator'](_0x2dad99,_0x305964);return _0x10bdcd['add'](_0x5d8b2f),this['jointAxesHelpers']['set'](_0x4b8a02,{'mesh':_0x10bdcd,'parent':_0x52d678,'joint':_0x556d98,'isAttached':!0x1,'userVisible':!0x1}),this['showLabels']&&this['createAxisLabel'](_0x4b8a02,_0x10bdcd,_0x305964,!0x1),this['_syncJointAxisAttachment'](_0x4b8a02),_0x10bdcd;}['createRotationIndicator'](_0x2c9700,_0x4353cf){const _0x3bae08=new _0x43b889(),_0x295a01=0.25*_0x4353cf,_0x4d2859=0.002*this['axesScale'],_0x3faf5a=0.008*this['axesScale'],_0x438329=1.5*Math['PI'],_0x21f49e=new _0x3ef11f(0x0,0x0,_0x295a01,_0x295a01,0x0,_0x438329,!0x1,0x0)['getPoints'](0x32)['map'](_0x581967=>new _0x47b065(_0x581967['x'],_0x581967['y'],0x0)),_0x27e63c=new _0x21030f(_0x21f49e),_0x4a8504=new _0x38a99d(_0x27e63c,0x32,_0x4d2859,0x8,!0x1),_0x9d73a2=new _0x17a9ed({'color':0xff00}),_0x5dd8c0=new _0x514bc2(_0x4a8504,_0x9d73a2);_0x5dd8c0['raycast']=()=>{},_0x3bae08['add'](_0x5dd8c0);const _0x448833=new _0x209a3b(_0x3faf5a,0x2*_0x3faf5a,0x8),_0x1e7320=new _0x17a9ed({'color':0xff00}),_0x103a90=new _0x514bc2(_0x448833,_0x1e7320);_0x103a90['raycast']=()=>{};const _0x3cf379=_0x21f49e[_0x21f49e['length']-0x1],_0x19a51c=_0x21f49e[_0x21f49e['length']-0x5],_0x411f93=new _0x47b065()['subVectors'](_0x3cf379,_0x19a51c)['normalize']();_0x103a90['position']['copy'](_0x3cf379),_0x103a90['quaternion']['setFromUnitVectors'](new _0x47b065(0x0,0x1,0x0),_0x411f93),_0x3bae08['add'](_0x103a90);const _0x3420a3=new _0x57eb35();_0x3420a3['setFromUnitVectors'](new _0x47b065(0x0,0x0,0x1),_0x2c9700),_0x3bae08['quaternion']['copy'](_0x3420a3);const _0x4a8e7b=_0x2c9700['clone']()['multiplyScalar'](0.85*_0x4353cf);return _0x3bae08['position']['copy'](_0x4a8e7b),_0x3bae08;}['showAllAxes'](){this['linkAxesHelpers']['forEach']((_0x29d265,_0x533f28)=>{_0x29d265['visible']=!0x0;const _0x4097e4=this['axesLabels']['get'](_0x533f28);_0x4097e4&&(_0x4097e4['visible']=this['showLabels']);}),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw']();}['hideAllAxes'](){this['linkAxesHelpers']['forEach']((_0x585375,_0x4b0725)=>{_0x585375['visible']=!0x1;const _0xa15a2d=this['axesLabels']['get'](_0x4b0725);_0xa15a2d&&(_0xa15a2d['visible']=!0x1);}),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw']();}['_syncJointAxisAttachment'](_0x4a3781){const _0x7c6b44=this['jointAxesHelpers']['get'](_0x4a3781);if(!_0x7c6b44||!_0x7c6b44['parent'])return;const _0x32addc=null!==this['_isolatedJointName']?_0x4a3781===this['_isolatedJointName']:_0x7c6b44['userVisible'];_0x32addc&&!_0x7c6b44['isAttached']?(_0x7c6b44['parent']['add'](_0x7c6b44['mesh']),_0x7c6b44['isAttached']=!0x0):!_0x32addc&&_0x7c6b44['isAttached']&&(_0x7c6b44['parent']['remove'](_0x7c6b44['mesh']),_0x7c6b44['isAttached']=!0x1);const _0x2e6a0a=this['jointAxesLabels']['get'](_0x4a3781);_0x2e6a0a&&(_0x2e6a0a['visible']=_0x7c6b44['isAttached']&&this['showLabels']);}['_syncAllJointAxesAttachment'](){this['jointAxesHelpers']['forEach']((_0x5d088c,_0x131fff)=>{this['_syncJointAxisAttachment'](_0x131fff);});}['showAllJointAxes'](){this['_isolatedJointName']=null,this['jointAxesHelpers']['forEach'](_0x2116bd=>{_0x2116bd['userVisible']=!0x0;}),this['_syncAllJointAxesAttachment'](),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw']();}['hideAllJointAxes'](){this['_isolatedJointName']=null,this['jointAxesHelpers']['forEach'](_0x58490e=>{_0x58490e['userVisible']=!0x1;}),this['_syncAllJointAxesAttachment'](),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw']();}['showOnlyJointAxis'](_0x5f09e4){let _0x4ed901=null;this['jointAxesHelpers']['forEach']((_0x4d0be8,_0x4d1431)=>{_0x4d0be8['joint']===_0x5f09e4&&(_0x4ed901=_0x4d1431);}),this['_isolatedJointName']!==_0x4ed901&&(this['_isolatedJointName']=_0x4ed901,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'](_0x2b22b0=>{_0x2b22b0['traverse'](_0x14755f=>{_0x14755f['isMesh']&&(_0x14755f['castShadow']=!0x1,_0x14755f['receiveShadow']=!0x1);});}),this['jointAxesHelpers']['forEach'](_0x2c6dd7=>{_0x2c6dd7['mesh']['traverse'](_0x535507=>{_0x535507['isMesh']&&(_0x535507['castShadow']=!0x1,_0x535507['receiveShadow']=!0x1);});});}['clearAllLinkAxes'](){this['axesLabels']['forEach'](_0x5dd6e9=>{_0x5dd6e9['parent']&&_0x5dd6e9['parent']['remove'](_0x5dd6e9);}),this['axesLabels']['clear'](),this['linkAxesHelpers']['forEach'](_0x202c35=>{_0x202c35['parent']&&_0x202c35['parent']['remove'](_0x202c35);}),this['linkAxesHelpers']['clear']();}['clearAllJointAxes'](){this['jointAxesLabels']['forEach'](_0xb981dc=>{_0xb981dc['parent']&&_0xb981dc['parent']['remove'](_0xb981dc);}),this['jointAxesLabels']['clear'](),this['jointAxesHelpers']['forEach'](_0x4d37f3=>{_0x4d37f3['isAttached']&&_0x4d37f3['parent']&&_0x4d37f3['parent']['remove'](_0x4d37f3['mesh']);}),this['jointAxesHelpers']['clear'](),this['_isolatedJointName']=null;}['clear'](){this['clearAllLinkAxes'](),this['clearAllJointAxes'](),this['clearAllLabels']();}['setAllLinkAxesVisible'](_0x1e5460){_0x1e5460?this['showAllAxes']():this['hideAllAxes']();}['setAllJointAxesVisible'](_0x488470){_0x488470?this['showAllJointAxes']():this['hideAllJointAxes']();}['setAxesScale'](_0x423770){this['axesScale']=Math['max'](0.1,Math['min'](_0x423770,0x3));}['getAxesScale'](){return this['axesScale'];}['selectAxis'](_0x56c752){this['deselectAxis'](),this['linkAxesHelpers']['has'](_0x56c752)&&(this['selectedLinkName']=_0x56c752,this['sceneManager']['redraw']());}['deselectAxis'](){this['selectedLinkName']=null,this['sceneManager']['redraw']();}['getSelectedLinkName'](){return this['selectedLinkName'];}['getLinksWithAxes'](){const _0x5ce46a=[];return this['linkAxesHelpers']['forEach']((_0x8af2ea,_0x42d33e)=>{_0x8af2ea['visible']&&_0x5ce46a['push'](_0x42d33e);}),_0x5ce46a;}['previewJointOriginRpy'](_0xad3a0f,_0x4efe00,_0x3a623d){const _0x1240cb=this['_computeJointRpy'](_0xad3a0f,_0x4efe00,_0x3a623d);return!!_0x1240cb&&(this['_applyLinkDeltaTransform'](_0x1240cb['joint'],_0x1240cb['rpy'],_0xad3a0f),this['sceneManager']['redraw'](),{'jointName':_0x1240cb['joint']['name'],'rpy':_0x1240cb['rpy']});}['applyJointOriginRpy'](_0x6e1377,_0x460798,_0x246134){let _0x3e1688=null;if(_0x6e1377['joints']['forEach'](_0x1f5bfa=>{_0x1f5bfa['child']===_0x460798&&(_0x3e1688=_0x1f5bfa);}),!_0x3e1688)return!0x1;const _0x3d6b2d=_0x3e1688['_origRpy']||[0x0,0x0,0x0],_0x5e1afd=Math['PI']/0x2,_0x4cae96=0x2*Math['PI'],_0x45293c=_0x246134['map']((_0x4f8915,_0x3e6af7)=>{if(Math['abs'](_0x4f8915-_0x3d6b2d[_0x3e6af7])<0.01)return _0x3d6b2d[_0x3e6af7];const _0x4d2b71=Math['round']((_0x4f8915-_0x3d6b2d[_0x3e6af7])/_0x5e1afd);let _0x20332f=_0x3d6b2d[_0x3e6af7]+_0x4d2b71*_0x5e1afd;return _0x20332f%=_0x4cae96,_0x20332f>Math['PI']&&(_0x20332f-=_0x4cae96),_0x20332f<=-Math['PI']&&(_0x20332f+=_0x4cae96),_0x20332f;}),_0x3fe62a=new _0x57eb35()['setFromEuler'](new _0x940d5(_0x45293c[0x0],_0x45293c[0x1],_0x45293c[0x2],'ZYX'));_0x3e1688['threeObject']['quaternion']['copy'](_0x3fe62a);const _0x27ac57=_0x6e1377['links']['get'](_0x3e1688['child']);return _0x27ac57&&_0x27ac57['threeObject']&&(_0x27ac57['threeObject']['position']['set'](0x0,0x0,0x0),_0x27ac57['threeObject']['quaternion']['identity'](),_0x27ac57['threeObject']['scale']['set'](0x1,0x1,0x1)),_0x3e1688['origin']['rpy']=_0x45293c,_0x3e1688['_origRpy']=[..._0x45293c],_0x6e1377['threeObject']&&_0x6e1377['threeObject']['updateMatrixWorld'](!0x0),this['sceneManager']['redraw'](),{'jointName':_0x3e1688['name'],'rpy':_0x45293c};}['_computeJointRpy'](_0x5c948c,_0x1aab4d,_0x2b850a){let _0x4eb112=null;if(_0x5c948c['joints']['forEach'](_0x357f9d=>{_0x357f9d['child']===_0x1aab4d&&(_0x4eb112=_0x357f9d);}),!_0x4eb112)return null;const _0x2fd6aa=_0x4eb112['_origRpy']||[0x0,0x0,0x0],_0x15e01e=Math['PI']/0x2,_0x5cb7f3=0x2*Math['PI'],_0x42b8ab=_0x2b850a['map']((_0x33c49e,_0x4622d4)=>{return(_0x54b487=>{let _0x16c5f7=_0x54b487%_0x5cb7f3;return _0x16c5f7>Math['PI']&&(_0x16c5f7-=_0x5cb7f3),_0x16c5f7<=-Math['PI']&&(_0x16c5f7+=_0x5cb7f3),_0x16c5f7;})((_0x1c2e9e=_0x33c49e,(_0x38b125=_0x2fd6aa[_0x4622d4])+Math['round']((_0x1c2e9e-_0x38b125)/_0x15e01e)*_0x15e01e));var _0x1c2e9e,_0x38b125;});return{'joint':_0x4eb112,'rpy':_0x42b8ab,'linkName':_0x4eb112['child']};}['_applyLinkDeltaTransform'](_0xf78ad2,_0x6d5e4,_0x36962b){const _0x8f544c=_0xf78ad2['child'],_0x1b0431=_0x36962b['links']['get'](_0x8f544c);if(!_0x1b0431||!_0x1b0431['threeObject'])return;const _0x4aa37f=_0xf78ad2['origin']&&_0xf78ad2['origin']['rpy']?_0xf78ad2['origin']['rpy']:[0x0,0x0,0x0],_0x471ec6=_0xf78ad2['_origXyz']||(_0xf78ad2['origin']?_0xf78ad2['origin']['xyz']:[0x0,0x0,0x0]),_0x49f7b9=new _0x57eb35()['setFromEuler'](new _0x940d5(_0x4aa37f[0x0],_0x4aa37f[0x1],_0x4aa37f[0x2],'XYZ')),_0x41f2f5=new _0x57eb35()['setFromEuler'](new _0x940d5(_0x6d5e4[0x0],_0x6d5e4[0x1],_0x6d5e4[0x2],'XYZ'));this['_tmpMat']['compose'](this['_tmpPos']['set'](_0x471ec6[0x0],_0x471ec6[0x1],_0x471ec6[0x2]),_0x49f7b9,this['_tmpScale']['set'](0x1,0x1,0x1));const _0x228cb3=this['_tmpMat']['clone']();this['_tmpMat']['compose'](this['_tmpPos']['set'](_0x471ec6[0x0],_0x471ec6[0x1],_0x471ec6[0x2]),_0x41f2f5,this['_tmpScale']['set'](0x1,0x1,0x1)),this['_tmpMatLocal']['copy'](_0x228cb3)['invert']()['multiply'](this['_tmpMat']),this['_tmpMatLocal']['decompose'](_0x1b0431['threeObject']['position'],_0x1b0431['threeObject']['quaternion'],this['_tmpScale']),_0x1b0431['threeObject']['scale']['set'](0x1,0x1,0x1),_0x36962b['threeObject']&&_0x36962b['threeObject']['updateMatrixWorld'](!0x0);}['showAxesByName'](_0x566f2b,_0x2ca41e){var _0x505d27,_0x3bc577,_0x55b23b,_0x466cdd;let _0x48d265=this['linkAxesHelpers']['get'](_0x566f2b);if(!_0x48d265&&_0x2ca41e){const _0x68eff1=null==(_0x55b23b=null==(_0x3bc577=null==(_0x505d27=this['sceneManager'])?void 0x0:_0x505d27['currentModel'])?void 0x0:_0x3bc577['links'])?void 0x0:_0x55b23b['get'](_0x566f2b);if(_0x68eff1){let _0x41a87b=0x1;const _0x59c724=null==(_0x466cdd=this['sceneManager'])?void 0x0:_0x466cdd['currentModel'];if(null==_0x59c724?void 0x0:_0x59c724['threeObject'])try{const _0x1e0a66=new _0x429c58()['setFromObject'](_0x59c724['threeObject']);if(!_0x1e0a66['isEmpty']()){const _0x300f32=_0x1e0a66['getSize'](new _0x47b065());_0x41a87b=Math['max'](_0x300f32['x'],_0x300f32['y'],_0x300f32['z']);}}catch(_0xeb77c){}_0x48d265=this['createLinkAxes'](_0x68eff1,_0x566f2b,_0x41a87b);}}if(_0x48d265){_0x48d265['visible']=_0x2ca41e;const _0x3b3660=this['axesLabels']['get'](_0x566f2b);_0x3b3660&&(_0x3b3660['visible']=_0x2ca41e&&this['showLabels']),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw']();}}['showJointAxisByName'](_0x3f1543,_0x481c30){const _0x5c08b2=this['jointAxesHelpers']['get'](_0x3f1543);_0x5c08b2&&(_0x5c08b2['userVisible']=_0x481c30,this['_isolatedJointName']=null,this['_syncAllJointAxesAttachment'](),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw']());}['setShowLabels'](_0x5d59b0){this['showLabels']=_0x5d59b0,_0x5d59b0&&(this['linkAxesHelpers']['forEach']((_0x22049d,_0x12883c)=>{if(!this['axesLabels']['has'](_0x12883c)){const _0x1337d3=this['getAxesDisplaySize'](_0x22049d);this['createAxisLabel'](_0x12883c,_0x22049d,_0x1337d3,!0x0);}}),this['jointAxesHelpers']['forEach']((_0x11bdec,_0x181370)=>{if(!this['jointAxesLabels']['has'](_0x181370)){const _0x202b2c=this['getAxesDisplaySize'](_0x11bdec['mesh']);this['createAxisLabel'](_0x181370,_0x11bdec['mesh'],_0x202b2c,!0x1);}})),this['axesLabels']['forEach']((_0x175a72,_0x28aeee)=>{const _0x47d113=this['linkAxesHelpers']['get'](_0x28aeee);_0x175a72['visible']=_0x5d59b0&&_0x47d113&&_0x47d113['visible'];}),this['jointAxesLabels']['forEach']((_0x26dc4e,_0x2cc223)=>{const _0x4b1ca0=this['jointAxesHelpers']['get'](_0x2cc223);_0x26dc4e['visible']=_0x5d59b0&&_0x4b1ca0&&_0x4b1ca0['isAttached'];}),this['sceneManager']['redraw']();}['getAxesDisplaySize'](_0x23d11){let _0x40c853=0x0;return _0x23d11['traverse'](_0xa61736=>{_0xa61736['isCSS2DObject']||(_0x40c853=Math['max'](_0x40c853,Math['abs'](_0xa61736['position']['x']),Math['abs'](_0xa61736['position']['y']),Math['abs'](_0xa61736['position']['z'])));}),Math['max'](0x2*_0x40c853,0.03*this['axesScale']);}['createAxisLabel'](_0x574ebe,_0x4fa4f1,_0x5b0762,_0x62c2f5){var _0x589aab;const _0x582252=_0x62c2f5?this['axesLabels']['get'](_0x574ebe):this['jointAxesLabels']['get'](_0x574ebe);if(_0x582252){_0x582252['parent']!==_0x4fa4f1&&(null==(_0x589aab=_0x582252['parent'])||_0x589aab['remove'](_0x582252),_0x4fa4f1['add'](_0x582252));const _0x31558f=Math['max'](0xa,Math['min'](0x10,0xc*this['axesScale']));_0x582252['element']['style']['fontSize']=_0x31558f+'px',_0x582252['element']['style']['whiteSpace']='nowrap';}const _0x34a64d=document['createElement']('div');_0x34a64d['className']='axis-label',_0x34a64d['textContent']=_0x574ebe;const _0x5ac0c1=Math['max'](0xa,Math['min'](0x10,0xc*this['axesScale']));_0x34a64d['style']['fontSize']=_0x5ac0c1+'px',_0x34a64d['style']['whiteSpace']='nowrap';const _0xaee3c1=new Fe(_0x34a64d);return _0xaee3c1['position']['set'](1.15*_0x5b0762,0x0,0x0),_0xaee3c1['visible']=this['showLabels'],_0x4fa4f1['add'](_0xaee3c1),_0x62c2f5?this['axesLabels']['set'](_0x574ebe,_0xaee3c1):this['jointAxesLabels']['set'](_0x574ebe,_0xaee3c1),_0xaee3c1;}['clearAllLabels'](){this['axesLabels']['forEach']((_0x47ff79,_0x274e7)=>{const _0x409c07=this['linkAxesHelpers']['get'](_0x274e7);_0x409c07&&_0x409c07['remove'](_0x47ff79);}),this['axesLabels']['clear'](),this['jointAxesLabels']['forEach']((_0x9db022,_0x32a990)=>{const _0x2a62c5=this['jointAxesHelpers']['get'](_0x32a990);_0x2a62c5&&_0x2a62c5['mesh']&&_0x2a62c5['mesh']['remove'](_0x9db022);}),this['jointAxesLabels']['clear']();}['getLinkNames'](){return Array['from'](this['linkAxesHelpers']['keys']());}['getJointNames'](){return Array['from'](this['jointAxesHelpers']['keys']());}['isLinkAxisVisible'](_0x5aef7c){const _0x408d62=this['linkAxesHelpers']['get'](_0x5aef7c);return!!_0x408d62&&_0x408d62['visible'];}['isJointAxisVisible'](_0x5dfa6e){const _0x277fb5=this['jointAxesHelpers']['get'](_0x5dfa6e);return!!_0x277fb5&&_0x277fb5['userVisible'];}}class Fi{constructor(_0x1c3396){this['sceneManager']=_0x1c3396,this['currentHighlightedLink']=null,this['highlightMaterial']=new _0x2f1015({'shininess':0xa,'color':0xffffff,'emissive':0xffffff,'emissiveIntensity':0.25});}['highlightLink'](_0x35acfd,_0x3ab01d){_0x35acfd&&(this['currentHighlightedLink']&&this['currentHighlightedLink']['name']===_0x35acfd['name']||(this['currentHighlightedLink']&&this['unhighlightLink'](this['currentHighlightedLink'],_0x3ab01d),this['currentHighlightedLink']=_0x35acfd,_0x35acfd['threeObject']&&this['highlightLinkGeometry'](_0x35acfd['threeObject'],_0x3ab01d),this['showHoverInfo'](_0x35acfd,_0x3ab01d),this['sceneManager']['redraw']()));}['unhighlightLink'](_0x4d8cf5,_0x2438ab){_0x4d8cf5&&(this['currentHighlightedLink']&&this['currentHighlightedLink']['name']===_0x4d8cf5['name']&&(this['currentHighlightedLink']=null),_0x4d8cf5['threeObject']&&this['unhighlightLinkGeometry'](_0x4d8cf5['threeObject'],_0x2438ab),this['hideHoverInfo'](),this['sceneManager']['redraw']());}['highlightLinkGeometry'](_0x40d88a,_0x4d47c2){const _0x3c3972=(_0x2a0b9f,_0x6e4f35=!0x1)=>{var _0x41f358,_0x5a60a0,_0x403183,_0x1e702f,_0x2ed068;if(_0x6e4f35||'URDFLink'!==_0x2a0b9f['type']&&!_0x2a0b9f['isURDFLink']){if(_0x2a0b9f['isURDFJoint']||'URDFJoint'===_0x2a0b9f['type']){const _0x485b6c=_0x2a0b9f['name'];let _0x511261=!0x1;if(_0x485b6c&&(null==_0x4d47c2?void 0x0:_0x4d47c2['joints'])&&_0x4d47c2['joints']['has'](_0x485b6c)){_0x511261='fixed'===_0x4d47c2['joints']['get'](_0x485b6c)['type'];}if(_0x511261){for(const _0x2a5aef of _0x2a0b9f['children'])_0x3c3972(_0x2a5aef,!0x1);return;}return;}if('Mesh'===_0x2a0b9f['type']||_0x2a0b9f['isMesh']){if(_0x2a0b9f['isURDFCollider'])return;_0x2a0b9f['__origMaterial']||(_0x2a0b9f['__origMaterial']=_0x2a0b9f['material']);const _0x3ace13=null==(_0x41f358=_0x2a0b9f['userData'])?void 0x0:_0x41f358['isInertiaBox'],_0x33856e=(null==(_0x5a60a0=_0x2a0b9f['userData'])?void 0x0:_0x5a60a0['isCollision'])||(null==(_0x403183=_0x2a0b9f['userData'])?void 0x0:_0x403183['isCollisionGeom']),_0x2ec5e4=(null==(_0x1e702f=_0x2a0b9f['userData'])?void 0x0:_0x1e702f['isCenterOfMass'])||_0x2a0b9f['parent']&&(null==(_0x2ed068=_0x2a0b9f['parent']['userData'])?void 0x0:_0x2ed068['isCenterOfMass']);if(_0x3ace13||_0x33856e){const _0x1c5f7e=_0x2a0b9f['__origMaterial'];_0x1c5f7e['isMeshPhongMaterial']&&(_0x2a0b9f['material']=new _0x2f1015({'transparent':!0x0,'opacity':Math['min']((_0x1c5f7e['opacity']||0.35)+0.15,0.7),'shininess':_0x1c5f7e['shininess'],'premultipliedAlpha':_0x1c5f7e['premultipliedAlpha'],'color':_0x1c5f7e['color']['clone'](),'emissive':_0x1c5f7e['color']['clone'](),'emissiveIntensity':0.2,'polygonOffset':_0x1c5f7e['polygonOffset'],'polygonOffsetFactor':_0x1c5f7e['polygonOffsetFactor'],'polygonOffsetUnits':_0x1c5f7e['polygonOffsetUnits']}));}else if(_0x2ec5e4){const _0x21afb0=_0x2a0b9f['__origMaterial'];if(_0x21afb0['isMeshBasicMaterial']){_0x2a0b9f['material']=new _0x17a9ed({'color':_0x21afb0['color']['clone'](),'side':_0x21afb0['side'],'depthTest':_0x21afb0['depthTest'],'depthWrite':_0x21afb0['depthWrite']});const _0x55cb6c={};_0x2a0b9f['material']['color']['getHSL'](_0x55cb6c),_0x2a0b9f['material']['color']['setHSL'](_0x55cb6c['h'],_0x55cb6c['s'],Math['min'](_0x55cb6c['l']+0.3,0x1));}}else _0x2a0b9f['material']=this['highlightMaterial'];}for(const _0x2a05ec of _0x2a0b9f['children'])_0x3c3972(_0x2a05ec,!0x1);}};_0x3c3972(_0x40d88a,!0x0);}['unhighlightLinkGeometry'](_0x56f91a,_0x2b242a){const _0x3741c3=(_0xb03082,_0x10b659=!0x1)=>{if(_0x10b659||'URDFLink'!==_0xb03082['type']&&!_0xb03082['isURDFLink']){if(_0xb03082['isURDFJoint']||'URDFJoint'===_0xb03082['type']){const _0x2259a3=_0xb03082['name'];let _0x211397=!0x1;if(_0x2259a3&&(null==_0x2b242a?void 0x0:_0x2b242a['joints'])&&_0x2b242a['joints']['has'](_0x2259a3)){_0x211397='fixed'===_0x2b242a['joints']['get'](_0x2259a3)['type'];}if(_0x211397){for(const _0x191b28 of _0xb03082['children'])_0x3741c3(_0x191b28,!0x1);return;}return;}('Mesh'===_0xb03082['type']||_0xb03082['isMesh'])&&_0xb03082['__origMaterial']&&(_0xb03082['material']=_0xb03082['__origMaterial'],delete _0xb03082['__origMaterial']);for(const _0x3a9651 of _0xb03082['children'])_0x3741c3(_0x3a9651,!0x1);}};_0x3741c3(_0x56f91a,!0x0);}['isAuxiliaryVisualization'](_0x22a5fb){var _0x1e6855,_0x22987a,_0x196819,_0x155419;return!!(null==(_0x1e6855=_0x22a5fb['userData'])?void 0x0:_0x1e6855['isInertiaBox'])||(!!(null==(_0x22987a=_0x22a5fb['userData'])?void 0x0:_0x22987a['isCOMMarker'])||(!!(null==(_0x196819=_0x22a5fb['userData'])?void 0x0:_0x196819['isCenterOfMass'])||!!(null==(_0x155419=_0x22a5fb['userData'])?void 0x0:_0x155419['isCollision'])));}['showHoverInfo'](_0x3f9870,_0x3973e0){const _0x405233=document['getElementById']('hover-info'),_0x13d6be=document['getElementById']('hover-joint-name'),_0x9d0ccf=document['getElementById']('hover-link-name'),_0x48b2f0=document['getElementById']('hover-link-mass'),_0x2e6ae3=document['getElementById']('hover-link-pose');if(!(_0x405233&&_0x13d6be&&_0x9d0ccf&&_0x48b2f0&&_0x2e6ae3))return;_0x9d0ccf['textContent']='Link:\x20'+(_0x3f9870['name']||'Unknown');let _0x4e8269='None\x20(Base\x20Link)',_0x427b4f='',_0x36612d=_0x3f9870['threeObject'];for(;_0x36612d;){const _0xa946b2=_0x36612d['parent'];if(_0xa946b2&&('URDFJoint'===_0xa946b2['type']||_0xa946b2['isURDFJoint'])){const _0x5be9bc=_0xa946b2['name'];if(_0x5be9bc&&(null==_0x3973e0?void 0x0:_0x3973e0['joints'])&&_0x3973e0['joints']['has'](_0x5be9bc)){const _0x35e2ea=_0x3973e0['joints']['get'](_0x5be9bc);if('fixed'!==_0x35e2ea['type']){_0x4e8269=_0x5be9bc,_0x427b4f=_0x35e2ea['type'];break;}const _0x4a7139=_0xa946b2['parent'];if(_0x4a7139&&('URDFLink'===_0x4a7139['type']||_0x4a7139['isURDFLink'])){_0x36612d=_0x4a7139;continue;}}}break;}_0x13d6be['textContent']=_0x427b4f?'Joint:\x20'+_0x4e8269+'\x20('+_0x427b4f+')':'Joint:\x20'+_0x4e8269;let _0x48c709=0x0,_0x4b1b0e=!0x1,_0x4bda19=[];const _0x3dc553=(_0x21340e,_0x39d4b1=!0x0)=>{const _0x15cbdd=_0x21340e['name'];if(_0x15cbdd&&(null==_0x3973e0?void 0x0:_0x3973e0['links'])&&_0x3973e0['links']['has'](_0x15cbdd)){const _0x6bc62e=_0x3973e0['links']['get'](_0x15cbdd);_0x39d4b1||_0x4bda19['push'](_0x15cbdd),_0x6bc62e['inertial']&&void 0x0!==_0x6bc62e['inertial']['mass']&&_0x6bc62e['inertial']['mass']>0x0&&(_0x48c709+=_0x6bc62e['inertial']['mass'],_0x4b1b0e=!0x0);}for(const _0x5e8ec6 of _0x21340e['children'])if(_0x5e8ec6['isURDFJoint']||'URDFJoint'===_0x5e8ec6['type']){const _0x47f6e8=_0x5e8ec6['name'];if(_0x47f6e8&&(null==_0x3973e0?void 0x0:_0x3973e0['joints'])&&_0x3973e0['joints']['has'](_0x47f6e8)){if('fixed'===_0x3973e0['joints']['get'](_0x47f6e8)['type'])for(const _0x4a03bb of _0x5e8ec6['children'])('URDFLink'===_0x4a03bb['type']||_0x4a03bb['isURDFLink'])&&_0x3dc553(_0x4a03bb,!0x1);}}};_0x3dc553(_0x3f9870['threeObject'],!0x0),_0x48b2f0['textContent']=_0x4b1b0e?'Mass:\x20'+_0x48c709['toFixed'](0x4)+'\x20kg':'Mass:\x20N/A';const _0x176755=document['getElementById']('hover-merged-links');if(_0x176755&&(_0x4bda19['length']>0x0?(_0x176755['textContent']='Includes:\x20'+_0x4bda19['join'](',\x20'),_0x176755['style']['display']='block'):_0x176755['style']['display']='none'),_0x2e6ae3&&_0x3f9870['threeObject']){const _0x27b56d=new _0x47b065(),_0x4e0f5c=new _0x57eb35(),_0x420227=new _0x940d5();_0x3f9870['threeObject']['getWorldPosition'](_0x27b56d),_0x3f9870['threeObject']['getWorldQuaternion'](_0x4e0f5c),_0x420227['setFromQuaternion'](_0x4e0f5c,'XYZ');const _0x1ee688=0x4,_0x2719c6=_0x4e0f5c['x']['toFixed'](_0x1ee688),_0x473538=_0x4e0f5c['y']['toFixed'](_0x1ee688),_0x45b35e=_0x4e0f5c['z']['toFixed'](_0x1ee688),_0xf02baf=_0x4e0f5c['w']['toFixed'](_0x1ee688),_0x176f66=_0x420227['x']['toFixed'](_0x1ee688),_0x2de116=_0x420227['y']['toFixed'](_0x1ee688),_0x3b37d2=_0x420227['z']['toFixed'](_0x1ee688),_0x4578b0=_0x205787['radToDeg'](_0x420227['x'])['toFixed'](_0x1ee688),_0x43b98f=_0x205787['radToDeg'](_0x420227['y'])['toFixed'](_0x1ee688),_0x1f2ece=_0x205787['radToDeg'](_0x420227['z'])['toFixed'](_0x1ee688),_0x7093bf='Position\x20(world):\x0a-\x20x\x20=\x20'+_0x27b56d['x']['toFixed'](_0x1ee688)+'\x20m-\x20y\x20=\x20'+_0x27b56d['y']['toFixed'](_0x1ee688)+'\x20m-\x20z\x20=\x20'+_0x27b56d['z']['toFixed'](_0x1ee688)+'\x20m\x0a',_0x684189='Orientation\x20(world):\x0a-\x20Quat:\x20x='+_0x2719c6+'\x20y='+_0x473538+'\x20z='+_0x45b35e+'\x20w='+_0xf02baf+'\x0a-\x20RPY\x20(rad):\x20r='+_0x176f66+'\x20p='+_0x2de116+'\x20y='+_0x3b37d2+'\x0a-\x20RPY\x20(deg):\x20r='+_0x4578b0+'\x20p='+_0x43b98f+'\x20y='+_0x1f2ece+'\x0a';_0x2e6ae3['textContent']=_0x7093bf+_0x684189,_0x2e6ae3['style']['display']='block';}else _0x2e6ae3&&(_0x2e6ae3['textContent']='Link\x20pose:\x20N/A',_0x2e6ae3['style']['display']='block');_0x405233['classList']['add']('visible');}['hideHoverInfo'](){const _0x5444ac=document['getElementById']('hover-info');_0x5444ac&&_0x5444ac['classList']['remove']('visible');}['clearHighlight'](){this['currentHighlightedLink']&&this['unhighlightLink'](this['currentHighlightedLink'],this['sceneManager']['currentModel']);}}class Di{constructor(_0x3e6155){this['sceneManager']=_0x3e6155,this['measurementHelper']=null;}['showMeasurement'](_0x3f5706,_0x5887bc,_0x346ac6,_0x322552,_0x166d33,_0x13a895,_0x5eda2e=!0x1){this['clearMeasurement']();const _0x56c3ef=new _0x43b889();_0x56c3ef['name']='measurementHelper';if(_0x5eda2e){const _0x20b5e0=Math['abs'](_0x346ac6['y']),_0x1da636=new _0x598f69()['setFromPoints']([_0x3f5706,_0x5887bc]),_0x3e8188=new _0x5b18b1({'color':0xff00,'linewidth':0x3,'depthTest':!0x1}),_0x70e4d5=new _0x447e10(_0x1da636,_0x3e8188);_0x70e4d5['renderOrder']=0x3e7,_0x56c3ef['add'](_0x70e4d5);const _0x1ea384=new _0x47b065()['addVectors'](_0x3f5706,_0x5887bc)['multiplyScalar'](0.5),_0x34d388=this['createLabel']('Δh\x20'+(0x3e8*_0x20b5e0)['toFixed'](0x1)+'mm',_0x1ea384,'#00ff00');_0x56c3ef['add'](_0x34d388);}else{const _0x22e92a=new _0x598f69()['setFromPoints']([_0x3f5706,_0x5887bc]),_0x133173=new _0x5bc173({'color':0xffff00,'dashSize':0.01,'gapSize':0.005,'linewidth':0x2,'depthTest':!0x1}),_0x233fe1=new _0x447e10(_0x22e92a,_0x133173);_0x233fe1['computeLineDistances'](),_0x233fe1['renderOrder']=0x3e7,_0x56c3ef['add'](_0x233fe1);const _0x4506d0=new _0x47b065()['addVectors'](_0x3f5706,_0x5887bc)['multiplyScalar'](0.5),_0x21e5f7=this['createLabel']((0x3e8*_0x322552)['toFixed'](0x1)+'mm',_0x4506d0,'#ffff00');if(_0x56c3ef['add'](_0x21e5f7),Math['abs'](_0x346ac6['x'])>0.001){const _0x32b1cf=new _0x47b065(_0x3f5706['x'],_0x3f5706['y'],_0x3f5706['z']),_0x4abfc7=new _0x47b065(_0x5887bc['x'],_0x3f5706['y'],_0x3f5706['z']),_0x44eb99=[_0x32b1cf,_0x4abfc7],_0x35c9a1=new _0x598f69()['setFromPoints'](_0x44eb99),_0x42e72d=new _0x5b18b1({'color':0xff0000,'linewidth':0x2,'depthTest':!0x1}),_0x42bc2e=new _0x447e10(_0x35c9a1,_0x42e72d);_0x42bc2e['renderOrder']=0x3e7,_0x56c3ef['add'](_0x42bc2e);const _0x5177cc=new _0x47b065()['addVectors'](_0x32b1cf,_0x4abfc7)['multiplyScalar'](0.5),_0x2b6777=this['createLabel']('ΔX\x20'+(0x3e8*_0x346ac6['x'])['toFixed'](0x1)+'mm',_0x5177cc,'#ff0000');_0x56c3ef['add'](_0x2b6777);}if(Math['abs'](_0x346ac6['y'])>0.001){const _0x442a42=new _0x47b065(_0x5887bc['x'],_0x3f5706['y'],_0x3f5706['z']),_0x2e1f18=new _0x47b065(_0x5887bc['x'],_0x5887bc['y'],_0x3f5706['z']),_0x56e05e=[_0x442a42,_0x2e1f18],_0x28e388=new _0x598f69()['setFromPoints'](_0x56e05e),_0x10e4f0=new _0x5b18b1({'color':0xff00,'linewidth':0x2,'depthTest':!0x1}),_0x187bce=new _0x447e10(_0x28e388,_0x10e4f0);_0x187bce['renderOrder']=0x3e7,_0x56c3ef['add'](_0x187bce);const _0x523bea=new _0x47b065()['addVectors'](_0x442a42,_0x2e1f18)['multiplyScalar'](0.5),_0x10b419=this['createLabel']('ΔY\x20'+(0x3e8*_0x346ac6['y'])['toFixed'](0x1)+'mm',_0x523bea,'#00ff00');_0x56c3ef['add'](_0x10b419);}if(Math['abs'](_0x346ac6['z'])>0.001){const _0x49bcc1=new _0x47b065(_0x5887bc['x'],_0x5887bc['y'],_0x3f5706['z']),_0x429e0d=new _0x47b065(_0x5887bc['x'],_0x5887bc['y'],_0x5887bc['z']),_0x590a9b=[_0x49bcc1,_0x429e0d],_0x2fcafa=new _0x598f69()['setFromPoints'](_0x590a9b),_0x1ab48a=new _0x5b18b1({'color':0xff,'linewidth':0x2,'depthTest':!0x1}),_0x27ca44=new _0x447e10(_0x2fcafa,_0x1ab48a);_0x27ca44['renderOrder']=0x3e7,_0x56c3ef['add'](_0x27ca44);const _0x44cde1=new _0x47b065()['addVectors'](_0x49bcc1,_0x429e0d)['multiplyScalar'](0.5),_0x436206=this['createLabel']('ΔZ\x20'+(0x3e8*_0x346ac6['z'])['toFixed'](0x1)+'mm',_0x44cde1,'#0000ff');_0x56c3ef['add'](_0x436206);}}const _0x13f540=new _0x24a7ae(0.01,0x10,0x10),_0x37cec4=new _0x17a9ed({'color':0xffff00,'depthTest':!0x1}),_0x2d0ebf=new _0x514bc2(_0x13f540,_0x37cec4);_0x2d0ebf['position']['copy'](_0x3f5706),_0x2d0ebf['renderOrder']=0x3e8,_0x56c3ef['add'](_0x2d0ebf);const _0x5ca9ca=new _0x514bc2(_0x13f540,_0x37cec4);_0x5ca9ca['position']['copy'](_0x5887bc),_0x5ca9ca['renderOrder']=0x3e8,_0x56c3ef['add'](_0x5ca9ca),this['sceneManager']['scene']['add'](_0x56c3ef),this['measurementHelper']=_0x56c3ef,this['sceneManager']['redraw']();}['createLabel'](_0x4e4f62,_0x71b908,_0x1173b0){const _0x10b4d1=document['createElement']('canvas'),_0x1ac6fe=_0x10b4d1['getContext']('2d');_0x10b4d1['width']=0x100,_0x10b4d1['height']=0x40,_0x1ac6fe['clearRect'](0x0,0x0,_0x10b4d1['width'],_0x10b4d1['height']),_0x1ac6fe['font']='Bold\x2032px\x20Arial',_0x1ac6fe['textAlign']='center',_0x1ac6fe['textBaseline']='middle',_0x1ac6fe['strokeStyle']='rgba(0,\x200,\x200,\x200.8)',_0x1ac6fe['lineWidth']=0x4,_0x1ac6fe['strokeText'](_0x4e4f62,0x80,0x20),_0x1ac6fe['fillStyle']=_0x1173b0,_0x1ac6fe['fillText'](_0x4e4f62,0x80,0x20);const _0x586f33=new _0x57ab7c(_0x10b4d1),_0x45c460=new _0x316a4d({'map':_0x586f33,'depthTest':!0x1,'depthWrite':!0x1,'transparent':!0x0}),_0x1ce9f8=new _0x344269(_0x45c460);return _0x1ce9f8['position']['copy'](_0x71b908),_0x1ce9f8['scale']['set'](0.18,0.045,0x1),_0x1ce9f8['renderOrder']=0x3e8,_0x1ce9f8;}['clearMeasurement'](){this['measurementHelper']&&(this['sceneManager']['scene']['remove'](this['measurementHelper']),this['measurementHelper']=null,this['sceneManager']['redraw']());}['clear'](){this['clearMeasurement']();}}class Pi{constructor(_0x57f9eb){this['canvas']=_0x57f9eb,this['scene']=new _0x14ca45(),this['_dirty']=!0x1,this['_pendingRender']=!0x1,this['_renderingPaused']=!0x1,this['_eventListeners']={};const _0x1489f1=_0x57f9eb['clientWidth'],_0x144daa=_0x57f9eb['clientHeight'];this['camera']=new _0x2cf489(0x4b,_0x1489f1/_0x144daa,0.1,0x3e8),this['camera']['position']['set'](0x2,0x2,0x2),this['camera']['lookAt'](0x0,0x0,0x0),this['renderer']=new _0x2f3f64({'canvas':_0x57f9eb,'antialias':!0x0}),this['renderer']['setSize'](_0x1489f1,_0x144daa),this['renderer']['setPixelRatio'](window['devicePixelRatio']),this['renderer']['shadowMap']['enabled']=!0x0,this['renderer']['shadowMap']['type']=_0x37c90b,this['labelRenderer']=new Ne(),this['labelRenderer']['setSize'](_0x1489f1,_0x144daa),this['labelRenderer']['domElement']['style']['position']='absolute',this['labelRenderer']['domElement']['style']['top']='0',this['labelRenderer']['domElement']['style']['pointerEvents']='none',this['labelRenderer']['domElement']['style']['zIndex']='1',_0x57f9eb['parentElement']['appendChild'](this['labelRenderer']['domElement']),this['controls']=new Oe(this['camera'],_0x57f9eb),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']=_0x419d8b['ROTATE'],this['controls']['mouseButtons']['MIDDLE']=_0x419d8b['DOLLY'],this['controls']['mouseButtons']['RIGHT']=_0x419d8b['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 _0x3f1c86=()=>{this['_dirty']&&!this['_contextLost']&&(this['renderer']['render'](this['scene'],this['camera']),this['labelRenderer']['render'](this['scene'],this['camera']),this['_dirty']=!0x1),this['_renderLoopId']=requestAnimationFrame(_0x3f1c86);};_0x3f1c86();}['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']=_0x557277=>{_0x557277['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(_0x51f09f){}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 _0x3c27bb=(_0x2e0c41,_0x3631e9)=>window['i18n']&&'function'==typeof window['i18n']['t']&&window['i18n']['t'](_0x2e0c41)!==_0x2e0c41?window['i18n']['t'](_0x2e0c41):_0x3631e9,_0x3d35d7=document['createElement']('div');_0x3d35d7['id']='webgl-context-lost-overlay',_0x3d35d7['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 _0x363136=document['createElement']('div');_0x363136['style']['cssText']='font-size:\x2016px;\x20font-weight:\x20600;',_0x363136['textContent']=_0x3c27bb('webglContextLostTitle','3D\x20渲染已暂停');const _0xee302b=document['createElement']('div');_0xee302b['style']['cssText']='max-width:\x20420px;\x20opacity:\x200.85;',_0xee302b['textContent']=_0x3c27bb('webglContextLostDetail','浏览器回收了\x20GPU\x20资源(通常发生在标签页长时间处于后台)。正在等待自动恢复,模型无需重新加载。'),_0x3d35d7['appendChild'](_0x363136),_0x3d35d7['appendChild'](_0xee302b),(this['canvas']['parentElement']||document['body'])['appendChild'](_0x3d35d7),this['_contextLostOverlay']=_0x3d35d7;}['_hideContextLostOverlay'](){var _0x25da95;(null==(_0x25da95=this['_contextLostOverlay'])?void 0x0:_0x25da95['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'](_0x5ac571){if(this['currentModel']&&this['currentModel']['threeObject']&&this['removeModel'](this['currentModel']),this['currentModel']=_0x5ac571,!_0x5ac571['threeObject'])return;const _0x22ca93=!_0x5ac571['joints']||0x0===_0x5ac571['joints']['size'];if(_0x22ca93)this['scene']['add'](_0x5ac571['threeObject']);else{this['world']||(this['world']=new _0x3bdd5c(),this['scene']['add'](this['world']),this['world']['rotation']['set'](-Math['PI']/0x2,0x0,0x0));const _0x299b32=document['getElementById']('up-select');if(_0x299b32&&this['setUp'](_0x299b32['value']||'+Z'),this['baseOrientationGroup']||(this['baseOrientationGroup']=new _0x43b889(),this['baseOrientationGroup']['name']='baseOrientationGroup'),this['baseOrientationGroup']['parent']!==this['world']&&this['world']['add'](this['baseOrientationGroup']),this['baseOrientationGroup']['add'](_0x5ac571['threeObject']),!this['worldAxes']){const _0x5c2ddf=new _0x43b889();_0x5c2ddf['name']='worldAxes',_0x5c2ddf['visible']=!0x1;const _0xbbc045=1.5,_0x3a57d3=0.02,_0x58139f=new _0x3ff7a4(_0x3a57d3,_0x3a57d3,_0xbbc045,0x8),_0x23caf2=new _0x17a9ed({'color':0xff0000}),_0x5abf63=new _0x514bc2(_0x58139f,_0x23caf2);_0x5abf63['position']['x']=_0xbbc045/0x2,_0x5abf63['rotation']['z']=-Math['PI']/0x2,_0x5c2ddf['add'](_0x5abf63);const _0x48df83=new _0x17a9ed({'color':0xff00}),_0xbac08a=new _0x514bc2(_0x58139f,_0x48df83);_0xbac08a['position']['y']=_0xbbc045/0x2,_0x5c2ddf['add'](_0xbac08a);const _0x3aeb41=new _0x17a9ed({'color':0xff}),_0x13b20a=new _0x514bc2(_0x58139f,_0x3aeb41);_0x13b20a['position']['z']=_0xbbc045/0x2,_0x13b20a['rotation']['x']=Math['PI']/0x2,_0x5c2ddf['add'](_0x13b20a),_0x5c2ddf['renderOrder']=0x3e7,_0x5c2ddf['traverse'](_0xafbf26=>{_0xafbf26['material']&&(_0xafbf26['material']['depthTest']=!0x1,_0xafbf26['material']['depthWrite']=!0x1);}),this['worldAxes']=_0x5c2ddf,this['world']['add'](this['worldAxes']);}}this['visualizationManager']['extractVisualAndCollision'](_0x5ac571);let _0x21deea=0x1;try{if(_0x5ac571['threeObject']){const _0x126bef=this['computeRobustBoundingBox'](_0x5ac571['threeObject']);if(!_0x126bef['isEmpty']()){const _0x267eb8=_0x126bef['getSize'](new _0x47b065());_0x21deea=Math['max'](_0x267eb8['x'],_0x267eb8['y'],_0x267eb8['z']);}}}catch(_0x27c84e){}this['axesManager']['clearAllLinkAxes'](),this['axesManager']['modelSize']=_0x21deea,_0x5ac571['links']&&_0x5ac571['links']['forEach']((_0x11a309,_0x1ac08c)=>{this['axesManager']['createLinkAxes'](_0x11a309,_0x1ac08c,_0x21deea);}),this['axesManager']['clearAllJointAxes'](),_0x5ac571['joints']&&_0x5ac571['joints']['forEach']((_0x29d611,_0x38fbf3)=>{this['axesManager']['createJointAxis'](_0x29d611,_0x38fbf3);}),this['inertialVisualization']['extractInertialProperties'](_0x5ac571),this['constraintManager']['visualizeConstraints'](_0x5ac571,this['world']),_0x5ac571['constraints']&&_0x5ac571['constraints']['size']>0x0&&this['constraintManager']['applyConstraints'](_0x5ac571,null),this['initDragControls'](_0x5ac571),this['updateEnvironment'](!0x1,!0x0),_0x22ca93?requestAnimationFrame(()=>{requestAnimationFrame(()=>{this['updateEnvironment'](!0x0,!0x0),this['emit']('modelReady',_0x5ac571);});}):(setTimeout(()=>{this['visualizationManager']['extractVisualAndCollision'](_0x5ac571);},0x64),setTimeout(()=>{this['visualizationManager']['extractVisualAndCollision'](_0x5ac571),this['updateEnvironment'](!0x0,!0x0),this['emit']('modelReady',_0x5ac571);},0x3e8),setTimeout(()=>{this['visualizationManager']['extractVisualAndCollision'](_0x5ac571),this['updateEnvironment'](!0x1,!0x0);},0x9c4));}['removeModel'](_0x3d4487){_0x3d4487&&_0x3d4487['threeObject']&&_0x3d4487['threeObject']['parent']&&_0x3d4487['threeObject']['parent']['remove'](_0x3d4487['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'](_0x3aafec,_0x41ebfe,_0x1435d6={'x':0x0,'y':0x0,'z':0x0},_0x1d7807=null,_0x4fa943=null){}['removeAuxiliaryModel'](_0x3b9267){}['getAuxiliaryModel'](_0x355b2a){return null;}['setAuxiliaryModelVisibility'](_0x4d2570,_0x22f529){const _0x2a69ec=this['auxiliaryModels']['get'](_0x4d2570);_0x2a69ec&&_0x2a69ec['wrapper']&&(_0x2a69ec['wrapper']['visible']=_0x22f529,this['redraw']());}['computeRobustBoundingBox'](_0x2e4482){const _0xf1762b=[];_0x2e4482['updateMatrixWorld'](!0x0);const _0x491ad1=_0x138c07=>{if(!_0x138c07['userData']||!_0x138c07['userData']['excludeFromBBox']){if(_0x138c07['isMesh']&&_0x138c07['geometry']){const _0x22b60c=new _0x429c58()['setFromObject'](_0x138c07);if(!_0x22b60c['isEmpty']()){const _0x5a15c6=_0x22b60c['getCenter'](new _0x47b065());Number['isFinite'](_0x5a15c6['x'])&&Number['isFinite'](_0x5a15c6['y'])&&Number['isFinite'](_0x5a15c6['z'])&&_0xf1762b['push']({'box':_0x22b60c,'center':_0x5a15c6});}}for(let _0x38f536=0x0;_0x38f536<_0x138c07['children']['length'];_0x38f536++)_0x491ad1(_0x138c07['children'][_0x38f536]);}};_0x491ad1(_0x2e4482);const _0x1b77a0=new _0x429c58();if(0x0===_0xf1762b['length'])return _0x1b77a0;if(_0xf1762b['length']<=0x2)return _0xf1762b['forEach'](_0xac3bb8=>_0x1b77a0['union'](_0xac3bb8['box'])),_0x1b77a0;const _0x3614db=_0x3802af=>{const _0x1d2ce5=[..._0x3802af]['sort']((_0x56c7e0,_0x43114b)=>_0x56c7e0-_0x43114b),_0x12ae4b=Math['floor'](_0x1d2ce5['length']/0x2);return _0x1d2ce5['length']%0x2?_0x1d2ce5[_0x12ae4b]:(_0x1d2ce5[_0x12ae4b-0x1]+_0x1d2ce5[_0x12ae4b])/0x2;},_0x144bf2=new _0x47b065(_0x3614db(_0xf1762b['map'](_0xf0c6c3=>_0xf0c6c3['center']['x'])),_0x3614db(_0xf1762b['map'](_0x2a5c7a=>_0x2a5c7a['center']['y'])),_0x3614db(_0xf1762b['map'](_0x3a36d7=>_0x3a36d7['center']['z']))),_0x385fec=_0xf1762b['map'](_0x1909a3=>_0x1909a3['center']['distanceTo'](_0x144bf2)),_0x572d31=_0x3614db(_0x385fec),_0x4fb790=_0x3614db(_0x385fec['map'](_0x3a2286=>Math['abs'](_0x3a2286-_0x572d31))),_0x3ad3b6=Math['max'](_0x572d31+0xa*(_0x4fb790>0.000001?_0x4fb790:Math['max'](_0x572d31,0.5)),0x1);let _0x397dff=0x0;return _0xf1762b['forEach']((_0x550e8d,_0x522fb0)=>{_0x385fec[_0x522fb0]<=_0x3ad3b6&&(_0x1b77a0['union'](_0x550e8d['box']),_0x397dff++);}),0x0===_0x397dff&&_0xf1762b['forEach'](_0x3ac474=>_0x1b77a0['union'](_0x3ac474['box'])),_0x1b77a0;}['updateEnvironment'](_0x2e2d30=!0x1,_0x497018=!0x1){const _0x105dec=this['currentModel'];if(!_0x105dec||!_0x105dec['threeObject'])return;this['world']&&this['world']['updateMatrixWorld'](!0x0),_0x105dec['threeObject']['updateMatrixWorld'](!0x0);const _0x959bca=this['computeRobustBoundingBox'](_0x105dec['threeObject']);if(_0x959bca['isEmpty']())return;const _0x2afbfc=_0x959bca['getCenter'](new _0x47b065()),_0x2827b7=_0x959bca['getSize'](new _0x47b065()),_0x5cd2e7=_0x959bca['min']['y'];let _0x268bf3=!0x1;if(this['groundPlane']&&_0x497018){const _0x16062c=_0x5cd2e7,_0x36e199=this['groundPlane']['position']['y'];this['groundPlane']['position']['y']=_0x16062c,this['referenceGrid']&&(this['referenceGrid']['position']['y']=_0x16062c,this['referenceGrid']['updateMatrixWorld'](!0x0)),Math['abs'](_0x36e199-_0x16062c)>0.000001&&(_0x268bf3=!0x0);}_0x2e2d30&&this['fitCameraToModel'](_0x959bca,_0x2afbfc,_0x2827b7),_0x268bf3&&this['onMeasurementUpdate']&&this['onMeasurementUpdate']();const _0x3bd067=this['directionalLight'];if(_0x3bd067&&_0x3bd067['castShadow']){const _0x539e00=_0x959bca['getBoundingSphere'](new _0x276203())['radius'],_0x5a58c5=_0x3bd067['shadow']['camera'];_0x5a58c5['left']=_0x5a58c5['bottom']=-_0x539e00,_0x5a58c5['right']=_0x5a58c5['top']=_0x539e00;const _0x5377b0=_0x3bd067['position']['clone']()['sub'](_0x3bd067['target']['position']);_0x3bd067['target']['position']['copy'](_0x2afbfc),_0x3bd067['position']['copy'](_0x2afbfc)['add'](_0x5377b0),_0x5a58c5['updateProjectionMatrix']();}this['redraw']();}['fitCameraToModel'](_0x224341,_0x1df3d7,_0x155cb8){const _0x42bcd1=Math['max'](_0x155cb8['x'],_0x155cb8['y'],_0x155cb8['z']);if(_0x42bcd1<0.001)return;const _0x239f8f=this['camera']['fov']*(Math['PI']/0xb4),_0x4cef05=!this['currentModel']||!this['currentModel']['joints']||0x0===this['currentModel']['joints']['size']?2.5:1.8,_0x3bb1f3=_0x42bcd1/(0x2*Math['tan'](_0x239f8f/0x2))*_0x4cef05,_0x112d72=0x3*Math['PI']/0x4,_0xf0abe5=Math['PI']/0x6,_0xdd80b3=new _0x47b065(_0x3bb1f3*Math['cos'](_0xf0abe5)*Math['sin'](_0x112d72),_0x3bb1f3*Math['sin'](_0xf0abe5),-_0x3bb1f3*Math['cos'](_0xf0abe5)*Math['cos'](_0x112d72));this['camera']['position']['copy'](_0x1df3d7)['add'](_0xdd80b3),this['controls']['target']['copy'](_0x1df3d7),this['controls']['update'](),this['camera']['updateProjectionMatrix'](),this['redraw']();}['setUp'](_0x21314d){_0x21314d||(_0x21314d='+Z');const _0x29466c=(_0x21314d=_0x21314d['toUpperCase']())['replace'](/[^-+]/g,'')[0x0]||'+',_0x2edd70=_0x21314d['replace'](/[^XYZ]/gi,'')[0x0]||'Z',_0x5cee01=Math['PI'],_0x23b5ae=_0x5cee01/0x2;this['world']||(this['world']=new _0x3bdd5c(),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 _0x43b889(),this['baseOrientationGroup']['name']='baseOrientationGroup'),this['world']['add'](this['baseOrientationGroup']),this['baseOrientationGroup']['add'](this['currentModel']['threeObject']))),'X'===_0x2edd70?this['world']['rotation']['set'](0x0,0x0,'+'===_0x29466c?_0x23b5ae:-_0x23b5ae):'Z'===_0x2edd70?this['world']['rotation']['set']('+'===_0x29466c?-_0x23b5ae:_0x23b5ae,0x0,0x0):'Y'===_0x2edd70&&this['world']['rotation']['set']('+'===_0x29466c?0x0:_0x5cee01,0x0,0x0),this['world']['updateMatrixWorld'](!0x0),this['redraw']();}['setBaseOrientation'](_0x326b73){this['baseOrientationGroup']&&Array['isArray'](_0x326b73)&&0x4===_0x326b73['length']&&(this['baseOrientationGroup']['quaternion']['set'](_0x326b73[0x0],_0x326b73[0x1],_0x326b73[0x2],_0x326b73[0x3]),this['redraw']());}['getBaseOrientation'](){if(!this['baseOrientationGroup'])return[0x0,0x0,0x0,0x1];const _0x266961=this['baseOrientationGroup']['quaternion'];return[_0x266961['x'],_0x266961['y'],_0x266961['z'],_0x266961['w']];}['resetBaseOrientation'](){this['baseOrientationGroup']&&(this['baseOrientationGroup']['quaternion']['identity'](),this['redraw']());}['setWorldAxesVisible'](_0x177175){this['worldAxes']&&(this['worldAxes']['visible']=_0x177175,this['redraw']());}['isWorldAxesVisible'](){return!!this['worldAxes']&&this['worldAxes']['visible'];}['setGroundVisible'](_0x8cb93a){this['groundPlane']&&(this['groundPlane']['visible']=_0x8cb93a,this['redraw']());}['focusObject'](_0x13564d){if(!_0x13564d)return;const _0x3c14ae=new _0x429c58()['setFromObject'](_0x13564d),_0x5ecf35=_0x3c14ae['getCenter'](new _0x47b065()),_0x292efb=_0x3c14ae['getSize'](new _0x47b065()),_0x18cd5e=Math['max'](_0x292efb['x'],_0x292efb['y'],_0x292efb['z']),_0x5171fc=this['camera']['fov']*(Math['PI']/0xb4);let _0xd53b40=1.5*Math['abs'](_0x18cd5e/Math['sin'](_0x5171fc/0x2));const _0x542b7d=new _0x47b065();this['camera']['getWorldDirection'](_0x542b7d);const _0x1230bd=_0x5ecf35['clone']()['sub'](_0x542b7d['multiplyScalar'](_0xd53b40));this['camera']['position']['copy'](_0x1230bd),this['controls']['target']['copy'](_0x5ecf35),this['controls']['update'](),this['redraw']();}['initDragControls'](_0x1db50f){this['dragControls']&&this['dragControls']['dispose'](),this['dragControls']=new Ze(this['scene'],this['camera'],this['canvas'],_0x1db50f),this['dragControls']['renderer']=this['renderer'],_0x1db50f&&(_0x1db50f['userData']||(_0x1db50f['userData']={}),_0x1db50f['userData']['ignoreLimits']=this['ignoreLimits'],_0x1db50f['threeObject']&&(_0x1db50f['threeObject']['userData']||(_0x1db50f['threeObject']['userData']={}),_0x1db50f['threeObject']['userData']['ignoreLimits']=this['ignoreLimits'])),this['dragControls']['model']=_0x1db50f,this['dragControls']['onUpdateJoint']=(_0x5aecc5,_0x6a61)=>{!(this['ignoreLimits']||_0x1db50f&&_0x1db50f['userData']&&_0x1db50f['userData']['ignoreLimits']||this['dragControls']&&this['dragControls']['model']&&this['dragControls']['model']['userData']&&this['dragControls']['model']['userData']['ignoreLimits'])&&_0x5aecc5['limits']&&(_0x6a61=Math['max'](_0x5aecc5['limits']['lower'],Math['min'](_0x5aecc5['limits']['upper'],_0x6a61))),Ei['setJointAngle'](_0x1db50f,_0x5aecc5['name'],_0x6a61),_0x5aecc5['currentValue']=_0x6a61,this['constraintManager']['applyConstraints'](_0x1db50f,_0x5aecc5);const _0x1cb1dd=document['querySelector']('input.joint-slider[data-joint=\x22'+_0x5aecc5['name']+'\x22]');if(_0x1cb1dd){_0x1cb1dd['value']=_0x6a61;const _0x1235c4=document['querySelector']('input[data-joint-input=\x22'+_0x5aecc5['name']+'\x22]');if(_0x1235c4){const _0x232931=document['querySelector']('#unit-deg.active')?'deg':'rad';_0x1235c4['value']='deg'===_0x232931?(0xb4*_0x6a61/Math['PI'])['toFixed'](0x2):_0x6a61['toFixed'](0x2);}}this['redraw'](),this['onMeasurementUpdate']&&this['onMeasurementUpdate']();},this['dragControls']['onHover']=_0x36564a=>{_0x36564a&&this['highlightManager']['highlightLink'](_0x36564a,this['currentModel']);},this['dragControls']['onUnhover']=_0x141891=>{_0x141891&&this['highlightManager']['unhighlightLink'](_0x141891,this['currentModel']);},this['dragControls']['onDragStart']=_0x599808=>{if(this['controls']['enabled']=!0x1,_0x599808&&_0x599808['threeObject']){let _0x5b0f12=_0x599808['threeObject'];for(;_0x5b0f12;){const _0x5f45f2=_0x5b0f12['parent'];if(_0x5f45f2&&('URDFJoint'===_0x5f45f2['type']||_0x5f45f2['isURDFJoint'])){const _0x46389d=_0x5f45f2['name'];if(_0x46389d&&_0x1db50f['joints']&&_0x1db50f['joints']['has'](_0x46389d)){const _0x1b4c15=_0x1db50f['joints']['get'](_0x46389d);if('fixed'!==_0x1b4c15['type']){this['axesManager']['showOnlyJointAxis'](_0x1b4c15);break;}}}_0x5b0f12=_0x5f45f2;}}},this['dragControls']['onDragEnd']=_0x213b1b=>{this['controls']['enabled']=!0x0,this['axesManager']['restoreAllJointAxes'](),this['updateEnvironment']();};}['setIgnoreLimits'](_0x347cc4){this['ignoreLimits']=_0x347cc4,this['currentModel']&&(this['currentModel']['userData']||(this['currentModel']['userData']={}),this['currentModel']['userData']['ignoreLimits']=_0x347cc4,this['currentModel']['threeObject']&&(this['currentModel']['threeObject']['userData']||(this['currentModel']['threeObject']['userData']={}),this['currentModel']['threeObject']['userData']['ignoreLimits']=_0x347cc4)),this['dragControls']&&this['dragControls']['model']&&(this['dragControls']['model']['userData']||(this['dragControls']['model']['userData']={}),this['dragControls']['model']['userData']['ignoreLimits']=_0x347cc4,this['dragControls']['model']['threeObject']&&(this['dragControls']['model']['threeObject']['userData']||(this['dragControls']['model']['threeObject']['userData']={}),this['dragControls']['model']['threeObject']['userData']['ignoreLimits']=_0x347cc4));}['showMeshCoordinateSystem'](_0x487f1f){if(!_0x487f1f)return;this['clearMeshHelper']();let _0x94c4e9=null;if(_0x487f1f['traverse'](_0x4f8d32=>{_0x4f8d32['isMesh']&&!_0x94c4e9&&(_0x94c4e9=_0x4f8d32);}),!_0x94c4e9)return;_0x94c4e9['geometry']['computeBoundingBox']();const _0x5512c2=new _0x429c58()['setFromObject'](_0x94c4e9),_0x4fb147=_0x5512c2['getSize'](new _0x47b065()),_0x468780=Math['max'](_0x4fb147['x'],_0x4fb147['y'],_0x4fb147['z']);_0x5512c2['getCenter'](new _0x47b065());const _0x432fcc=Math['max'](2.5*_0x468780,0.5),_0x592195=new _0x43b889();_0x592195['name']='meshCoordinateAxes';const _0x329cc6=Math['max'](0.02*_0x432fcc,0.008),_0x1ea009=new _0x3ff7a4(_0x329cc6,_0x329cc6,_0x432fcc,0x10),_0x322edc=new _0x2f1015({'color':0xff0000,'shininess':0x1e,'depthTest':!0x0,'side':_0x4398ab}),_0x27e7cb=new _0x514bc2(_0x1ea009,_0x322edc);_0x27e7cb['position']['x']=_0x432fcc/0x2,_0x27e7cb['rotation']['z']=-Math['PI']/0x2,_0x27e7cb['castShadow']=!0x1,_0x27e7cb['receiveShadow']=!0x1,_0x27e7cb['name']='xAxis',_0x592195['add'](_0x27e7cb);const _0x415c28=new _0x2f1015({'color':0xff00,'shininess':0x1e,'depthTest':!0x0,'side':_0x4398ab}),_0x336fe3=new _0x514bc2(_0x1ea009,_0x415c28);_0x336fe3['position']['y']=_0x432fcc/0x2,_0x336fe3['castShadow']=!0x1,_0x336fe3['receiveShadow']=!0x1,_0x336fe3['name']='yAxis',_0x592195['add'](_0x336fe3);const _0x1a8049=new _0x2f1015({'color':0xff,'shininess':0x1e,'depthTest':!0x0,'side':_0x4398ab}),_0xb93aa5=new _0x514bc2(_0x1ea009,_0x1a8049);_0xb93aa5['position']['z']=_0x432fcc/0x2,_0xb93aa5['rotation']['x']=Math['PI']/0x2,_0xb93aa5['castShadow']=!0x1,_0xb93aa5['receiveShadow']=!0x1,_0xb93aa5['name']='zAxis',_0x592195['add'](_0xb93aa5),_0x487f1f['add'](_0x592195);const _0x335e99=new _0x160dee(_0x94c4e9['geometry']),_0x5e07c2=new _0x5b18b1({'color':0xff00,'linewidth':0x1,'transparent':!0x0,'opacity':0.6,'depthTest':!0x0}),_0x43991f=new _0x40292d(_0x335e99,_0x5e07c2);_0x43991f['name']='meshWireframe',_0x94c4e9['parent']&&(_0x43991f['position']['copy'](_0x94c4e9['position']),_0x43991f['rotation']['copy'](_0x94c4e9['rotation']),_0x43991f['scale']['copy'](_0x94c4e9['scale']),_0x94c4e9['parent']['add'](_0x43991f)),this['meshCoordinateAxes']=_0x592195,this['meshWireframe']=_0x43991f,_0x592195['parent']&&_0x592195['parent']['updateMatrixWorld'](!0x0),_0x43991f&&_0x43991f['parent']&&_0x43991f['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 _0x2f6fe2=!this['currentModel']||!this['currentModel']['joints']||0x0===this['currentModel']['joints']['size'];this['visualizationManager']['updateVisualTransparency'](this['inertialVisualization']['showCOM'],this['axesManager']['hasVisibleLinkAxes'](),this['axesManager']['hasVisibleJointAxes'](),_0x2f6fe2);}['setupThemeListener'](){new MutationObserver(()=>{this['updateBackgroundColor']();})['observe'](document['documentElement'],{'attributes':!0x0,'attributeFilter':['data-theme']});}['updateBackgroundColor'](){const _0x196b78=document['documentElement']['getAttribute']('data-theme')||'dark';this['scene']['background']=new _0x342136('light'===_0x196b78?0xffffff:0x2a2a2e),this['environmentManager']&&this['environmentManager']['updateGridColorForTheme'](_0x196b78),this['redraw']();}['setupResizeObserver'](){const _0xfe7967=this['canvas']['parentElement'];_0xfe7967?(this['resizeObserver']=new ResizeObserver(_0x17aa09=>{for(const _0x3aa659 of _0x17aa09)if(_0x3aa659['contentBoxSize']){const _0x2729f9=Array['isArray'](_0x3aa659['contentBoxSize'])?_0x3aa659['contentBoxSize'][0x0]:_0x3aa659['contentBoxSize'],_0x51c7e6=_0x2729f9['inlineSize'],_0x395ee0=_0x2729f9['blockSize'];this['handleResize'](_0x51c7e6,_0x395ee0);}else this['onWindowResize']();}),this['resizeObserver']['observe'](_0xfe7967)):window['addEventListener']('resize',()=>this['onWindowResize']());}['_applyRendererSize'](_0x15f982,_0x4ceadf){const _0x4b0eb7=_0x15f982||this['canvas']['clientWidth']||this['canvas']['width'],_0x2fe92a=_0x4ceadf||this['canvas']['clientHeight']||this['canvas']['height'];_0x4b0eb7&&_0x2fe92a&&(this['renderer']['setPixelRatio'](window['devicePixelRatio']*this['_renderScale']),this['renderer']['setSize'](_0x4b0eb7,_0x2fe92a,!0x0),this['labelRenderer']['setSize'](_0x4b0eb7,_0x2fe92a));}['setRenderScale'](_0xe55461){const _0x891505=Math['min'](0x1,Math['max'](0.25,Number(_0xe55461)||0x1));_0x891505!==this['_renderScale']&&(this['_renderScale']=_0x891505,this['_applyRendererSize'](),this['redraw']());}['getRenderScale'](){return this['_renderScale'];}['handleResize'](_0xd6da8c,_0x4bcb82){0x0!==_0xd6da8c&&0x0!==_0x4bcb82&&isFinite(_0xd6da8c)&&isFinite(_0x4bcb82)&&(this['camera']['aspect']=_0xd6da8c/_0x4bcb82,this['camera']['updateProjectionMatrix'](),this['_applyRendererSize'](_0xd6da8c,_0x4bcb82),this['render']());}['onWindowResize'](){const _0x4a2fad=this['canvas']['clientWidth'],_0x3d29f5=this['canvas']['clientHeight'];0x0!==_0x4a2fad&&0x0!==_0x3d29f5&&(this['camera']['aspect']=_0x4a2fad/_0x3d29f5,this['camera']['updateProjectionMatrix'](),this['_applyRendererSize'](_0x4a2fad,_0x3d29f5),this['render']());}['on'](_0x3bd6f0,_0x33654d){this['_eventListeners'][_0x3bd6f0]||(this['_eventListeners'][_0x3bd6f0]=[]),this['_eventListeners'][_0x3bd6f0]['push'](_0x33654d);}['off'](_0x582748,_0x1707e4){this['_eventListeners'][_0x582748]&&(this['_eventListeners'][_0x582748]=this['_eventListeners'][_0x582748]['filter'](_0xa33ce4=>_0xa33ce4!==_0x1707e4));}['emit'](_0x5c7fb0,..._0x1cbc2b){this['_eventListeners'][_0x5c7fb0]&&this['_eventListeners'][_0x5c7fb0]['forEach'](_0x775461=>_0x775461(..._0x1cbc2b));}['update'](){this['controls']['update']();}}class Ii{constructor(_0x2ab19a){this['sceneManager']=_0x2ab19a,this['angleUnit']='rad';}['setupControlPanel'](){const _0x2f35a0=document['getElementById']('show-visual'),_0x3b8e37=document['getElementById']('show-collision'),_0x4deefd=document['getElementById']('show-com'),_0x284207=document['getElementById']('show-inertia'),_0x37f795=document['getElementById']('ignore-limits'),_0x58552d=(_0x984c97,_0x1a1390)=>{if(!_0x984c97)return;const _0x8a52f6=!_0x984c97['classList']['contains']('active');_0x8a52f6?_0x984c97['classList']['add']('active'):_0x984c97['classList']['remove']('active'),_0x984c97['setAttribute']('data-checked',_0x8a52f6['toString']()),_0x1a1390&&_0x1a1390(_0x8a52f6);};if(this['sceneManager']&&_0x2f35a0){const _0x40dcdc=_0x2f35a0['classList']['contains']('active');this['sceneManager']['visualizationManager']['showVisual']=_0x40dcdc;}this['sceneManager']&&_0x3b8e37&&(this['sceneManager']['visualizationManager']['showCollision']=_0x3b8e37['classList']['contains']('active')),this['sceneManager']&&_0x4deefd&&(this['sceneManager']['inertialVisualization']['showCOM']=_0x4deefd['classList']['contains']('active')),this['sceneManager']&&_0x284207&&(this['sceneManager']['inertialVisualization']['showInertia']=_0x284207['classList']['contains']('active')),this['sceneManager']&&_0x37f795&&(this['sceneManager']['ignoreLimits']=!_0x37f795['classList']['contains']('active')),_0x2f35a0&&_0x2f35a0['addEventListener']('click',()=>{_0x58552d(_0x2f35a0,_0x5b02c4=>{var _0x39fde9;this['sceneManager']['visualizationManager']['toggleVisual'](_0x5b02c4,this['sceneManager']['currentModel']);const _0x5eabed=null==(_0x39fde9=window['app'])?void 0x0:_0x39fde9['mujocoSimulationManager'];_0x5eabed&&_0x5eabed['hasScene']()&&_0x5eabed['toggleVisualDisplay'](_0x5b02c4),this['sceneManager']['redraw'](),this['sceneManager']['render']();});}),_0x3b8e37&&_0x3b8e37['addEventListener']('click',()=>{_0x58552d(_0x3b8e37,_0x59d359=>{var _0x517682;this['sceneManager']['visualizationManager']['toggleCollision'](_0x59d359);const _0x1a7d4f=null==(_0x517682=window['app'])?void 0x0:_0x517682['mujocoSimulationManager'];_0x1a7d4f&&_0x1a7d4f['hasScene']()&&_0x1a7d4f['toggleCollisionDisplay'](_0x59d359),this['sceneManager']['redraw'](),this['sceneManager']['render']();});}),_0x4deefd&&_0x4deefd['addEventListener']('click',()=>{_0x58552d(_0x4deefd,_0x2acc05=>{var _0xe7309d;this['sceneManager']['inertialVisualization']['toggleCenterOfMass'](_0x2acc05,this['sceneManager']['currentModel']);const _0x42c812=null==(_0xe7309d=window['app'])?void 0x0:_0xe7309d['mujocoSimulationManager'];_0x42c812&&_0x42c812['hasScene']()&&_0x42c812['toggleCOMDisplay'](_0x2acc05),this['sceneManager']['updateVisualTransparency'](),this['sceneManager']['redraw'](),this['sceneManager']['render']();});}),_0x284207&&_0x284207['addEventListener']('click',()=>{_0x58552d(_0x284207,_0x149442=>{var _0x25f17d;this['sceneManager']['inertialVisualization']['toggleInertia'](_0x149442,this['sceneManager']['currentModel']);const _0x57e34f=null==(_0x25f17d=window['app'])?void 0x0:_0x25f17d['mujocoSimulationManager'];_0x57e34f&&_0x57e34f['hasScene']()&&_0x57e34f['toggleInertiaDisplay'](_0x149442),this['sceneManager']['redraw'](),this['sceneManager']['render']();});}),_0x37f795&&_0x37f795['addEventListener']('click',()=>{_0x58552d(_0x37f795,_0x4da6f3=>{var _0x51c5a4;this['sceneManager']['setIgnoreLimits'](!_0x4da6f3),null==(_0x51c5a4=this['onIgnoreLimitsChanged'])||_0x51c5a4['call'](this,!_0x4da6f3);});});const _0x3f1e75=document['getElementById']('up-select');_0x3f1e75&&_0x3f1e75['addEventListener']('change',_0x16568d=>{this['sceneManager']['setUp'](_0x16568d['target']['value']);});const _0x6e5c66=document['getElementById']('unit-rad'),_0x2564c8=document['getElementById']('unit-deg');_0x6e5c66&&_0x6e5c66['addEventListener']('click',()=>{var _0x40444a;this['angleUnit']='rad',_0x6e5c66['classList']['add']('active'),_0x2564c8&&_0x2564c8['classList']['remove']('active'),null==(_0x40444a=this['onAngleUnitChanged'])||_0x40444a['call'](this,this['angleUnit']);}),_0x2564c8&&_0x2564c8['addEventListener']('click',()=>{var _0x594795;this['angleUnit']='deg',_0x2564c8['classList']['add']('active'),_0x6e5c66&&_0x6e5c66['classList']['remove']('active'),null==(_0x594795=this['onAngleUnitChanged'])||_0x594795['call'](this,this['angleUnit']);});const _0x51eebf=document['getElementById']('reset-joints-btn');_0x51eebf&&_0x51eebf['addEventListener']('click',()=>{var _0x5488f0;null==(_0x5488f0=this['onResetJoints'])||_0x5488f0['call'](this);});const _0x144485=document['getElementById']('mujoco-reset-btn-bar');_0x144485&&_0x144485['addEventListener']('click',()=>{var _0x28782c;null==(_0x28782c=this['onMujocoReset'])||_0x28782c['call'](this);});const _0x3d3138=document['getElementById']('mujoco-simulate-btn-bar');_0x3d3138&&_0x3d3138['addEventListener']('click',async()=>{var _0x5d7d3b,_0x3f702b;const _0x13feb5=await(null==(_0x5d7d3b=this['onMujocoToggleSimulate'])?void 0x0:_0x5d7d3b['call'](this));if(void 0x0!==_0x13feb5){_0x3d3138['classList']['toggle']('active',_0x13feb5);const _0x1f6912=_0x3d3138['querySelector']('span');if(_0x1f6912){const _0x92e17=_0x13feb5?'mujocoPause':'mujocoSimulate';_0x1f6912['textContent']=(null==(_0x3f702b=window['i18n'])?void 0x0:_0x3f702b['t'](_0x92e17))||(_0x13feb5?'Pause':'Simulate'),_0x1f6912['setAttribute']('data-i18n',_0x92e17);}}});}['setupThemeToggle'](_0x335871){const _0x50b39e=document['getElementById']('theme-toggle');if(!_0x50b39e)return;const _0x454096=localStorage['getItem']('theme')||'dark';document['documentElement']['setAttribute']('data-theme',_0x454096),this['updateThemeIcon'](_0x454096),this['sceneManager']&&this['sceneManager']['updateBackgroundColor'](),_0x50b39e['addEventListener']('click',()=>{const _0x292d37='dark'===document['documentElement']['getAttribute']('data-theme')?'light':'dark';document['documentElement']['setAttribute']('data-theme',_0x292d37),localStorage['setItem']('theme',_0x292d37),this['updateThemeIcon'](_0x292d37),this['sceneManager']&&this['sceneManager']['updateBackgroundColor'](),null==_0x335871||_0x335871(_0x292d37);});}['setupLanguageToggle'](_0x7c1cc1){var _0x5b61f6;const _0x13ef39=document['getElementById']('language-toggle');if(!_0x13ef39)return;const _0x102638=(null==(_0x5b61f6=window['i18n'])?void 0x0:_0x5b61f6['getCurrentLanguage']())||'zh-CN';this['updateLanguageIcon'](_0x102638),_0x13ef39['addEventListener']('click',()=>{var _0x4df642;const _0x58a2b3='zh-CN'===((null==(_0x4df642=window['i18n'])?void 0x0:_0x4df642['getCurrentLanguage']())||'zh-CN')?'en-US':'zh-CN';null==_0x7c1cc1||_0x7c1cc1(_0x58a2b3),this['updateLanguageIcon'](_0x58a2b3);});}['updateLanguageIcon'](_0x1bfeeb){const _0x1da678=document['getElementById']('language-toggle'),_0x881969=null==_0x1da678?void 0x0:_0x1da678['querySelector']('.tool-button-text');_0x881969&&(_0x881969['textContent']='zh-CN'===_0x1bfeeb?'Language':'语言');}['updateThemeIcon'](_0x37019c){const _0xf302f7=document['getElementById']('theme-toggle'),_0x154724=null==_0xf302f7?void 0x0:_0xf302f7['querySelector']('.tool-button-icon');_0x154724&&(_0x154724['textContent']='dark'===_0x37019c?'🌙':'☀️');}['setupPanelCloseButtons'](){const _0x18d25b={'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'](_0x372df2=>{_0x372df2['addEventListener']('click',_0x3050d1=>{_0x3050d1['stopPropagation']();const _0x2eee3c=_0x372df2['getAttribute']('data-panel'),_0x15f941=document['getElementById'](_0x2eee3c),_0x440bfb=_0x18d25b[_0x2eee3c],_0x3f5cb2=_0x440bfb?document['getElementById'](_0x440bfb):null;if(_0x15f941){'none'!==_0x15f941['style']['display']&&(_0x15f941['style']['transition']='opacity\x200.2s\x20ease,\x20transform\x200.2s\x20ease',_0x15f941['style']['opacity']='0',_0x15f941['style']['transform']='scale(0.95)',setTimeout(()=>{_0x15f941['style']['display']='none',_0x15f941['style']['opacity']='',_0x15f941['style']['transform']='','floating-orientation-panel'===_0x2eee3c&&this['sceneManager']&&this['sceneManager']['setWorldAxesVisible'](!0x1);},0xc8),_0x3f5cb2&&_0x3f5cb2['classList']['remove']('active'));}});}),Object['entries'](_0x18d25b)['forEach'](([_0x250037,_0x31ecde])=>{const _0x421e7a=document['getElementById'](_0x31ecde),_0x4cbfad=document['getElementById'](_0x250037);_0x421e7a&&_0x4cbfad&&_0x421e7a['addEventListener']('click',()=>{'none'!==_0x4cbfad['style']['display']&&'none'!==getComputedStyle(_0x4cbfad)['display']?(_0x4cbfad['style']['transition']='opacity\x200.2s\x20ease,\x20transform\x200.2s\x20ease',_0x4cbfad['style']['opacity']='0',_0x4cbfad['style']['transform']='scale(0.95)',setTimeout(()=>{_0x4cbfad['style']['display']='none',_0x4cbfad['style']['opacity']='',_0x4cbfad['style']['transform']='','floating-orientation-panel'===_0x250037&&this['sceneManager']&&this['sceneManager']['setWorldAxesVisible'](!0x1);},0xc8),_0x421e7a['classList']['remove']('active')):(_0x4cbfad['style']['display']='flex',_0x4cbfad['style']['opacity']='0',_0x4cbfad['style']['transform']='scale(0.95)',_0x4cbfad['offsetHeight'],_0x4cbfad['style']['transition']='opacity\x200.2s\x20ease,\x20transform\x200.2s\x20ease',_0x4cbfad['style']['opacity']='1',_0x4cbfad['style']['transform']='scale(1)',setTimeout(()=>{_0x4cbfad['style']['transition']='';},0xc8),_0x421e7a['classList']['add']('active'),'floating-orientation-panel'===_0x250037&&this['sceneManager']&&this['sceneManager']['setWorldAxesVisible'](!0x0));});});}['setupAxesToggle'](){const _0x3ed43c=document['getElementById']('toggle-axes-btn');_0x3ed43c&&_0x3ed43c['addEventListener']('click',()=>{window['app']&&window['app']['axesControlPanel']&&window['app']['axesControlPanel']['toggle']();});}['setupJointAxesToggle'](){const _0x520a5d=document['getElementById']('toggle-joint-axes-btn');_0x520a5d&&_0x520a5d['addEventListener']('click',()=>{window['app']&&window['app']['jointAxesControlPanel']&&window['app']['jointAxesControlPanel']['toggle']();});}['setupShadowToggle'](){const _0x1b2313=document['getElementById']('toggle-shadow');_0x1b2313&&_0x1b2313['addEventListener']('click',()=>{const _0x567201=!('true'===_0x1b2313['getAttribute']('data-checked'));_0x1b2313['setAttribute']('data-checked',_0x567201['toString']()),_0x567201?(_0x1b2313['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']()):(_0x1b2313['classList']['remove']('active'),this['sceneManager']['visualizationManager']['toggleShadow'](!0x1,this['sceneManager']['renderer'],this['sceneManager']['directionalLight']),this['sceneManager']['redraw'](),this['sceneManager']['render']());});}['setupLightingToggle'](){const _0x13d582=document['getElementById']('toggle-lighting');_0x13d582&&_0x13d582['addEventListener']('click',()=>{const _0x451ecd=!('true'===_0x13d582['getAttribute']('data-checked'));_0x13d582['setAttribute']('data-checked',_0x451ecd['toString']()),_0x451ecd?(_0x13d582['classList']['add']('active'),this['sceneManager']['visualizationManager']['toggleEnhancedLighting'](!0x0)):(_0x13d582['classList']['remove']('active'),this['sceneManager']['visualizationManager']['toggleEnhancedLighting'](!0x1)),this['sceneManager']['redraw'](),this['sceneManager']['render']();});}['setupAll'](_0x16000e={}){this['onAngleUnitChanged']=_0x16000e['onAngleUnitChanged'],this['onIgnoreLimitsChanged']=_0x16000e['onIgnoreLimitsChanged'],this['onResetJoints']=_0x16000e['onResetJoints'],this['onMujocoReset']=_0x16000e['onMujocoReset'],this['onMujocoToggleSimulate']=_0x16000e['onMujocoToggleSimulate'],this['onApplyAngles']=_0x16000e['onApplyAngles'],this['onSetHome']=_0x16000e['onSetHome'],this['onSelectAll']=_0x16000e['onSelectAll'],this['onResetToHome']=_0x16000e['onResetToHome'],this['onToggleShowMimic']=_0x16000e['onToggleShowMimic'],this['setupControlPanel'](),this['setupThemeToggle'](_0x16000e['onThemeChanged']),this['setupLanguageToggle'](_0x16000e['onLanguageChanged']),this['setupPanelCloseButtons'](),this['setupAxesToggle'](),this['setupJointAxesToggle'](),this['setupShadowToggle'](),this['setupLightingToggle'](),this['setupBatchOperationButtons']();}['setupBatchOperationButtons'](){const _0x25eec7=document['getElementById']('show-mimic-btn'),_0x548892=document['querySelector']('.apply-angles-btn'),_0x3158cb=document['querySelector']('.set-home-btn'),_0x4a0e38=document['querySelector']('.reset-home-btn'),_0x523322=document['getElementById']('select-all-btn');_0x25eec7&&_0x25eec7['addEventListener']('click',()=>{const _0x2caddf=!_0x25eec7['classList']['contains']('active');_0x25eec7['classList']['toggle']('active',_0x2caddf),this['onToggleShowMimic']&&this['onToggleShowMimic'](_0x2caddf);}),_0x548892&&this['onApplyAngles']&&_0x548892['addEventListener']('click',()=>{this['onApplyAngles']();}),_0x3158cb&&this['onSetHome']&&_0x3158cb['addEventListener']('click',()=>{this['onSetHome']();}),_0x4a0e38&&this['onResetToHome']&&_0x4a0e38['addEventListener']('click',()=>{this['onResetToHome']();}),_0x523322&&this['onSelectAll']&&_0x523322['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'](_0x5dd725){this['usdViewerManager']=_0x5dd725;}['setUSDViewerInitializer'](_0x59cee1){this['usdViewerInitializer']=_0x59cee1;}['setupFileDrop'](){const _0x51cf24=document['body'],_0x891cc1=_0x33e7bd=>{_0x33e7bd['preventDefault'](),_0x33e7bd['stopPropagation']();};['dragenter','dragover','dragleave','drop']['forEach'](_0x50d732=>{_0x51cf24['addEventListener'](_0x50d732,_0x891cc1,!0x1);});let _0x1eec1a=0x0;_0x51cf24['addEventListener']('dragenter',_0x37da5f=>{_0x1eec1a++;const _0x4d1482=document['getElementById']('drop-zone');_0x4d1482&&_0x4d1482['classList']['add']('drag-over');},!0x1),_0x51cf24['addEventListener']('dragleave',_0x4fdc02=>{if(_0x1eec1a--,0x0===_0x1eec1a){const _0x1b68c8=document['getElementById']('drop-zone');_0x1b68c8&&_0x1b68c8['classList']['remove']('drag-over');}},!0x1),_0x51cf24['addEventListener']('drop',_0x2ce118=>{_0x1eec1a=0x0;const _0xba5f80=document['getElementById']('drop-zone');_0xba5f80&&_0xba5f80['classList']['remove']('drag-over'),this['handleDrop'](_0x2ce118);},!0x1);}async['handleDrop'](_0x399a39){var _0x4507f4;const _0x260f8b=_0x399a39['dataTransfer']['items'];if(!_0x260f8b||0x0===_0x260f8b['length'])return;this['fileMap']['clear']();const _0x5574a8=[];for(let _0x4f95ba=0x0;_0x4f95ba<_0x260f8b['length'];_0x4f95ba++){const _0xbea86f=_0x260f8b[_0x4f95ba];if(_0xbea86f['webkitGetAsEntry']){const _0x31f979=_0xbea86f['webkitGetAsEntry']();_0x31f979&&_0x5574a8['push'](_0x31f979);}}if(_0x5574a8['length']>0x0)await this['processEntries'](_0x5574a8);else{const _0x15394f=_0x399a39['dataTransfer']['files'];if(_0x15394f['length']>0x0){for(const _0x13e232 of _0x15394f){const _0x1c1551=_0x13e232['webkitRelativePath']||_0x13e232['name'];this['fileMap']['set'](_0x1c1551,_0x13e232),_0x13e232['webkitRelativePath']||this['fileMap']['set'](_0x13e232['name'],_0x13e232);}const _0x1424e9=await this['findAllLoadableFiles'](Array['from'](_0x15394f));_0x1424e9['length']>0x0&&(this['availableModels']=_0x1424e9,null==(_0x4507f4=this['onFilesLoaded'])||_0x4507f4['call'](this,_0x1424e9),await this['loadFileOrMesh'](_0x1424e9[0x0]));}}}async['processEntries'](_0x152e95){var _0x545cf6,_0x2ddce9;const _0x3b9e90=[];for(const _0x46633d of _0x152e95)if(_0x46633d['isFile']){const _0x54efbf=await pt(_0x46633d),_0x38a394=_0x46633d['fullPath']||_0x46633d['name'];this['fileMap']['set'](_0x38a394,_0x54efbf),_0x3b9e90['push'](_0x54efbf);}else if(_0x46633d['isDirectory']){const _0x18518f=await this['readDirectory'](_0x46633d);_0x3b9e90['push'](..._0x18518f);}if(0x0===_0x3b9e90['length'])return;const _0x1381dd=await this['findAllLoadableFiles'](_0x3b9e90);0x0!==_0x1381dd['length']?(this['availableModels']=_0x1381dd,null==(_0x2ddce9=this['onFilesLoaded'])||_0x2ddce9['call'](this,_0x1381dd),_0x1381dd['length']>0x0&&await this['loadFileOrMesh'](_0x1381dd[0x0])):null==(_0x545cf6=this['onFilesLoaded'])||_0x545cf6['call'](this,[]);}async['readDirectory'](_0x2e3028){const _0x557c9e=[];return new Promise((_0xd8383d,_0x3bf4a6)=>{const _0x4857c5=_0x2e3028['createReader'](),_0x7b0ff4=()=>{_0x4857c5['readEntries'](async _0x3f0404=>{if(0x0!==_0x3f0404['length']){for(const _0x1eec2e of _0x3f0404)if(_0x1eec2e['isFile']){const _0x3cce89=await pt(_0x1eec2e),_0x2dde83=_0x1eec2e['fullPath']||_0x1eec2e['name'];this['fileMap']['set'](_0x2dde83,_0x3cce89),_0x557c9e['push'](_0x3cce89);}else if(_0x1eec2e['isDirectory']){const _0x4a89aa=await this['readDirectory'](_0x1eec2e);_0x557c9e['push'](..._0x4a89aa);}_0x7b0ff4();}else _0xd8383d(_0x557c9e);},_0x3bf4a6);};_0x7b0ff4();});}async['findAllLoadableFiles'](_0x3e1844){const _0xdcbc32={'model':['urdf','xacro','xml','usd','usda','usdc','usdz'],'mesh':['dae','stl','obj','collada'],'config':['yml','yaml']},_0x1540f6=[],_0x4748a9=_0x3e1844['map'](async _0x3ac1a5=>{const _0x4a6c83=_0x3ac1a5['name']['toLowerCase']()['split']('.')['pop']();if(_0xdcbc32['model']['includes'](_0x4a6c83)){if('xml'!==_0x4a6c83){const _0x1971d5=function(_0x5f51fb){return{'urdf':'urdf','xacro':'xacro','xml':'mjcf','usd':'usd','usda':'usd','usdc':'usd','usdz':'usd'}[_0x5f51fb]||'unknown';}(_0x4a6c83);return{'file':_0x3ac1a5,'name':_0x3ac1a5['name'],'type':_0x1971d5,'path':_0x3ac1a5['webkitRelativePath']||_0x3ac1a5['name'],'category':'model'};}try{const _0x389292=await dt(_0x3ac1a5),_0x49206b=Ei['detectFileType'](_0x3ac1a5['name'],_0x389292);return _0x49206b?{'file':_0x3ac1a5,'name':_0x3ac1a5['name'],'type':_0x49206b,'path':_0x3ac1a5['webkitRelativePath']||_0x3ac1a5['name'],'category':'model'}:null;}catch(_0x47cc25){return null;}}else{if(_0xdcbc32['mesh']['includes'](_0x4a6c83))return{'file':_0x3ac1a5,'name':_0x3ac1a5['name'],'type':'mesh','path':_0x3ac1a5['webkitRelativePath']||_0x3ac1a5['name'],'category':'mesh'};if(_0xdcbc32['config']['includes'](_0x4a6c83))return{'file':_0x3ac1a5,'name':_0x3ac1a5['name'],'type':'config','path':_0x3ac1a5['webkitRelativePath']||_0x3ac1a5['name'],'category':'config'};}return null;});return(await Promise['all'](_0x4748a9))['forEach'](_0x59da85=>{_0x59da85&&_0x1540f6['push'](_0x59da85);}),_0x1540f6['sort']((_0x4cc1bf,_0x564c78)=>{const _0xb53176={'model':0x0,'mesh':0x1,'config':0x2},_0x1efca8=_0xb53176[_0x4cc1bf['category']]??0x63,_0x4f5f23=_0xb53176[_0x564c78['category']]??0x63;return _0x1efca8!==_0x4f5f23?_0x1efca8-_0x4f5f23:_0x4cc1bf['name']['localeCompare'](_0x564c78['name']);}),_0x1540f6;}async['loadFileOrMesh'](_0x1d03ed){'model'===_0x1d03ed['category']?await this['loadFile'](_0x1d03ed['file']):'mesh'===_0x1d03ed['category']&&await this['loadMeshAsModel'](_0x1d03ed['file'],_0x1d03ed['name']);}async['loadFile'](_0x273a24){var _0x376610,_0x554cdf,_0x2b14b3,_0x3077cd,_0x3ba1a4,_0x524c56;this['currentModelFile']=_0x273a24;try{const _0x2fa9b6=_0x273a24['name']['toLowerCase']();let _0x502e97=_0x273a24['name'];for(const [_0x121fef,_0x151bb7]of this['fileMap']['entries']())if(_0x151bb7===_0x273a24){_0x502e97=_0x121fef;break;}let _0x4b94bd=null,_0x2bd399=null,_0x4f80f1=0x1/0x0,_0x57cb7c=null;for(const [_0xa48085,_0x550dde]of this['fileMap']['entries']())if('vr_configs.yml'===_0x550dde['name']||_0xa48085['endsWith']('/vr_configs.yml')||'vr_configs.yml'===_0xa48085){const _0x39ead3=(_0xa48085['match'](/\//g)||[])['length'];_0x39ead3<_0x4f80f1&&(_0x4f80f1=_0x39ead3,_0x2bd399=_0x550dde,_0x57cb7c=_0xa48085);}if(_0x2bd399)try{_0x4b94bd=await dt(_0x2bd399);}catch(_0x55a965){}if(_0x2fa9b6['endsWith']('.usd')||_0x2fa9b6['endsWith']('.usda')||_0x2fa9b6['endsWith']('.usdc')||_0x2fa9b6['endsWith']('.usdz')){if(!this['usdViewerManager']&&this['usdViewerInitializer'])try{await this['usdViewerInitializer']();}catch(_0x41810b){return;}0x0===this['fileMap']['size']&&this['fileMap']['set'](_0x273a24['name'],_0x273a24);const _0x5f091b=await Ei['loadModel']('usd',null,_0x502e97,this['fileMap'],_0x273a24,{'usdViewerManager':this['usdViewerManager']});return null==(_0x376610=this['onModelLoaded'])||_0x376610['call'](this,_0x5f091b,_0x273a24,!0x1,null),null==(_0x554cdf=document['getElementById']('drop-zone'))||_0x554cdf['classList']['remove']('show'),void(null==(_0x2b14b3=document['getElementById']('drop-zone'))||_0x2b14b3['classList']['remove']('drag-over'));}const _0x38a3bb=await dt(_0x273a24);if(this['isUSDCBinaryContent'](_0x38a3bb))return;const _0x8cdefd=Ei['detectFileType'](_0x273a24['name'],_0x38a3bb);if(!_0x8cdefd)return;0x0===this['fileMap']['size']&&this['fileMap']['set'](_0x273a24['name'],_0x273a24);const _0x5363a9=await Ei['loadModel'](_0x8cdefd,_0x38a3bb,_0x502e97,this['fileMap'],_0x273a24,{'usdViewerManager':this['usdViewerManager'],'vrConfigContent':_0x4b94bd});null==(_0x3077cd=this['onModelLoaded'])||_0x3077cd['call'](this,_0x5363a9,_0x273a24,!0x1,null),null==(_0x3ba1a4=document['getElementById']('drop-zone'))||_0x3ba1a4['classList']['remove']('show'),null==(_0x524c56=document['getElementById']('drop-zone'))||_0x524c56['classList']['remove']('drag-over');}catch(_0x3d26cd){_0x3d26cd['message']&&(_0x3d26cd['message']['includes']('USDC')||_0x3d26cd['message']['includes']('binary\x20format'));const _0x1326e7=document['getElementById']('canvas-snapshot');(null==_0x1326e7?void 0x0:_0x1326e7['parentNode'])&&_0x1326e7['parentNode']['removeChild'](_0x1326e7);}}['isUSDCBinaryContent'](_0x5f4d8e){if(!_0x5f4d8e||'string'!=typeof _0x5f4d8e)return!0x1;if(_0x5f4d8e['startsWith']('PXR-USDC'))return!0x0;if((_0x5f4d8e['substring'](0x0,0x64)['match'](/\x00/g)||[])['length']>0xa)return!0x0;if(_0x5f4d8e['includes']('#usda')||_0x5f4d8e['includes']('def\x20')&&_0x5f4d8e['includes']('{'))return!0x1;const _0x3232da=_0x5f4d8e['charCodeAt'](0x0);return _0x3232da<0x20&&0xa!==_0x3232da&&0xd!==_0x3232da&&0x9!==_0x3232da&&0x20!==_0x3232da;}['createLoadingSnapshot'](){const _0x109ec2=document['getElementById']('canvas');if(!_0x109ec2)return null;try{const _0x2aa316=_0x109ec2['toDataURL']('image/png'),_0x3a2e5a=document['createElement']('div');_0x3a2e5a['id']='canvas-snapshot',_0x3a2e5a['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('+_0x2aa316+');\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 _0x490fc2=document['getElementById']('canvas-container');return _0x490fc2&&_0x490fc2['appendChild'](_0x3a2e5a),_0x3a2e5a;}catch(_0x2220b7){return null;}}['removeLoadingSnapshot'](_0xe36c6b){_0xe36c6b&&_0xe36c6b['parentNode']&&(_0xe36c6b['style']['transition']='opacity\x200.3s\x20ease',_0xe36c6b['style']['opacity']='0',setTimeout(()=>{_0xe36c6b['parentNode']&&_0xe36c6b['parentNode']['removeChild'](_0xe36c6b);},0x12c));}async['loadMeshAsModel'](_0x141219,_0x1e1b04){var _0x4ea0ea;try{const _0x4b311f=await Ei['loadMeshFileDirect'](_0x141219,_0x1e1b04);if(!_0x4b311f)throw new Error(window['i18n']['t']('cannotLoadMesh'));_0x4b311f['traverse'](_0x4435b0=>{var _0x5ad87e;if(_0x4435b0['isMesh']){if('MeshBasicMaterial'===(null==(_0x5ad87e=_0x4435b0['material'])?void 0x0:_0x5ad87e['type'])){const _0x1f8440=_0x4435b0['material'];_0x4435b0['material']=new _0x2f1015({'color':_0x1f8440['color'],'map':_0x1f8440['map'],'transparent':_0x1f8440['transparent'],'opacity':_0x1f8440['opacity'],'side':_0x1f8440['side'],'shininess':0x1e}),_0x4435b0['material']['map']&&(_0x4435b0['material']['map']['colorSpace']=_0x5ada61);}_0x4435b0['castShadow']=!0x0,_0x4435b0['receiveShadow']=!0x0;}});const _0x3104e8={'name':_0x1e1b04,'rootLink':'mesh_root','links':new Map([['mesh_root',{'name':'mesh_root','threeObject':_0x4b311f,'visuals':[{'threeObject':_0x4b311f,'geometry':{'mesh':_0x1e1b04}}],'inertial':null}]]),'joints':new Map(),'threeObject':_0x4b311f};this['currentModelFile']=_0x141219,null==(_0x4ea0ea=this['onModelLoaded'])||_0x4ea0ea['call'](this,_0x3104e8,_0x141219,!0x0,null);}catch(_0x111c2f){const _0x11ec72=document['getElementById']('canvas-snapshot');(null==_0x11ec72?void 0x0:_0x11ec72['parentNode'])&&_0x11ec72['parentNode']['removeChild'](_0x11ec72);}}['getFileMap'](){return this['fileMap'];}['getAvailableModels'](){return this['availableModels'];}['getCurrentModelFile'](){return this['currentModelFile'];}}class zi{static['updateURDFJointLimits'](_0x484e39,_0x4d0c90,_0x3c0306){try{const _0x4abb9b=new RegExp('<joint[^>]*name=\x22'+_0x4d0c90['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&')+'\x22[^>]*>([\x5cs\x5cS]*?)</joint>','g')['exec'](_0x484e39);if(!_0x4abb9b)return _0x484e39;const _0x425349=_0x4abb9b[0x0];let _0xae772=_0x425349;const _0x3ad85c=/<limit([^>]*)>/,_0x56f10d=_0x3ad85c['exec'](_0x425349);if(_0x56f10d){let _0xcb9c36=_0x56f10d[0x0];const _0xdb21be=_0x56f10d[0x1];void 0x0!==_0x3c0306['lower']&&null!==_0x3c0306['lower']&&(_0xcb9c36=_0xdb21be['includes']('lower=')?_0xcb9c36['replace'](/lower="[^"]*"/,'lower=\x22'+_0x3c0306['lower']+'\x22'):_0xcb9c36['replace'](/>$/,'\x20lower=\x22'+_0x3c0306['lower']+'\x22>')),void 0x0!==_0x3c0306['upper']&&null!==_0x3c0306['upper']&&(_0xcb9c36=_0xdb21be['includes']('upper=')?_0xcb9c36['replace'](/upper="[^"]*"/,'upper=\x22'+_0x3c0306['upper']+'\x22'):_0xcb9c36['replace'](/>$/,'\x20upper=\x22'+_0x3c0306['upper']+'\x22>')),void 0x0!==_0x3c0306['effort']&&null!==_0x3c0306['effort']&&(_0xcb9c36=_0xdb21be['includes']('effort=')?_0xcb9c36['replace'](/effort="[^"]*"/,'effort=\x22'+_0x3c0306['effort']+'\x22'):_0xcb9c36['replace'](/>$/,'\x20effort=\x22'+_0x3c0306['effort']+'\x22>')),void 0x0!==_0x3c0306['velocity']&&null!==_0x3c0306['velocity']&&(_0xcb9c36=_0xdb21be['includes']('velocity=')?_0xcb9c36['replace'](/velocity="[^"]*"/,'velocity=\x22'+_0x3c0306['velocity']+'\x22'):_0xcb9c36['replace'](/>$/,'\x20velocity=\x22'+_0x3c0306['velocity']+'\x22>')),_0xae772=_0x425349['replace'](_0x3ad85c,_0xcb9c36);}else{const _0x397d2d=[];if(void 0x0!==_0x3c0306['lower']&&null!==_0x3c0306['lower']&&_0x397d2d['push']('lower=\x22'+_0x3c0306['lower']+'\x22'),void 0x0!==_0x3c0306['upper']&&null!==_0x3c0306['upper']&&_0x397d2d['push']('upper=\x22'+_0x3c0306['upper']+'\x22'),void 0x0!==_0x3c0306['effort']&&null!==_0x3c0306['effort']&&_0x397d2d['push']('effort=\x22'+_0x3c0306['effort']+'\x22'),void 0x0!==_0x3c0306['velocity']&&null!==_0x3c0306['velocity']&&_0x397d2d['push']('velocity=\x22'+_0x3c0306['velocity']+'\x22'),_0x397d2d['length']>0x0){const _0xcf8ad4='\x20\x20\x20\x20<limit\x20'+_0x397d2d['join']('\x20')+'/>';_0xae772=_0x425349['replace']('</joint>',_0xcf8ad4+'\x0a\x20\x20</joint>');}}return _0x484e39['replace'](_0x425349,_0xae772);}catch(_0x5f4888){return _0x484e39;}}static['updateMultipleJointLimits'](_0x363edd,_0x2ecbbb){let _0x5e388d=_0x363edd;for(let [_0x441761,_0x228872]of _0x2ecbbb['entries']())_0x5e388d=this['updateURDFJointLimits'](_0x5e388d,_0x441761,_0x228872);return _0x5e388d;}}class Ni{constructor(_0x137a71){this['sceneManager']=_0x137a71,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'](_0x280e6e){this['codeEditorManager']=_0x280e6e;}['updateEditorXML'](_0x3d9014,_0x451103){if(this['isUpdatingFromEditor'])return;if(!this['codeEditorManager'])return;const _0x43ec6c=this['codeEditorManager']['getEditor']();if(!_0x43ec6c)return;const _0x269d15=_0x43ec6c['getValue']();if(_0x269d15&&0x0!==_0x269d15['trim']()['length']&&_0x269d15['includes']('<robot')){this['isUpdatingFromEditor']=!0x0;try{const _0x4363f3=zi['updateURDFJointLimits'](_0x269d15,_0x3d9014,_0x451103);if(_0x4363f3!==_0x269d15){const _0x41f637=_0x43ec6c['view']['state']['selection']['main']['head'];_0x43ec6c['setValue'](_0x4363f3);try{const _0x25527c=_0x43ec6c['view']['state']['doc']['length'],_0x4447b4=Math['min'](_0x41f637,_0x25527c);_0x43ec6c['view']['dispatch']({'selection':{'anchor':_0x4447b4,'head':_0x4447b4}});}catch(_0xe4f2f6){}}}catch(_0x5bfd49){}finally{setTimeout(()=>{this['isUpdatingFromEditor']=!0x1;},0x64);}}}['setupJointControls'](_0x78af03){const _0x431600=document['getElementById']('joint-controls');if(!_0x431600)return;if(_0x431600['innerHTML']='',this['selectedJoints']['clear'](),this['_allSelected']=!0x1,this['currentModel']=_0x78af03,this['updateButtonStates'](),!_0x78af03||!_0x78af03['joints']||0x0===_0x78af03['joints']['size']){const _0x508c0b=document['createElement']('div');return _0x508c0b['className']='empty-state',_0x508c0b['textContent']=window['i18n']['t']('noModel'),void _0x431600['appendChild'](_0x508c0b);}let _0x4a9ae7=0x0;if(_0x78af03['joints']['forEach'](_0x4afe52=>{'fixed'!==_0x4afe52['type']&&_0x4a9ae7++;}),0x0===_0x4a9ae7){const _0x29fee3=document['createElement']('div');return _0x29fee3['className']='empty-state',_0x29fee3['textContent']=window['i18n']['t']('noControllableJoints'),void _0x431600['appendChild'](_0x29fee3);}this['initialJointValues']['clear'](),_0x78af03['joints']['forEach']((_0x5a80d6,_0x6eb02b)=>{if('fixed'!==_0x5a80d6['type']){const _0x5899cf=_0x5a80d6['limits']||{},_0x59272f=void 0x0!==_0x5899cf['lower']?_0x5899cf['lower']:-Math['PI'],_0x3158d8=void 0x0!==_0x5899cf['upper']?_0x5899cf['upper']:Math['PI'],_0x47454d=void 0x0!==_0x5a80d6['currentValue']?_0x5a80d6['currentValue']:(_0x59272f+_0x3158d8)/0x2;this['initialJointValues']['set'](_0x6eb02b,_0x47454d);}}),_0x78af03['joints']['forEach'](_0x139abf=>{if('fixed'===_0x139abf['type'])return;if(_0x139abf['mimic']&&!this['showMimicJoints'])return;const _0x4f1e80=this['createJointControl'](_0x139abf,_0x78af03);_0x431600['appendChild'](_0x4f1e80);});}['setShowMimicJoints'](_0x4d63db){this['showMimicJoints']=_0x4d63db,this['currentModel']&&this['setupJointControls'](this['currentModel']);}['createJointControl'](_0x31f5c3,_0x49c251){var _0x91a666,_0x23ffc0;const _0x1d1f80=document['createElement']('div');_0x1d1f80['className']='joint-control',_0x1d1f80['setAttribute']('data-joint-name',_0x31f5c3['name']);const _0x10c9db=this['createJointCheckbox'](_0x31f5c3['name']);_0x1d1f80['appendChild'](_0x10c9db);const _0x26cda3=document['createElement']('div');_0x26cda3['className']='joint-control-content';const _0x59f396=document['createElement']('div');_0x59f396['className']='joint-header';const _0x98a9f=document['createElement']('div');if(_0x98a9f['className']='joint-name',_0x98a9f['textContent']=_0x31f5c3['name'],_0x98a9f['title']=_0x31f5c3['name'],_0x59f396['appendChild'](_0x98a9f),_0x31f5c3['mimic']){const _0x515e1d=document['createElement']('span');_0x515e1d['className']='joint-mimic-badge',_0x515e1d['textContent']='mimic',_0x515e1d['title']='mimic:\x20'+_0x31f5c3['mimic']['joint']+'\x20(×'+_0x31f5c3['mimic']['multiplier']+'\x20+\x20'+_0x31f5c3['mimic']['offset']+')',_0x59f396['appendChild'](_0x515e1d);}const _0x3ba7b0=document['createElement']('div');_0x3ba7b0['className']='joint-slider-row';const _0x3af7f5=_0x31f5c3['limits']||{};let _0x15c916=void 0x0!==_0x3af7f5['lower']?_0x3af7f5['lower']:-Math['PI'],_0x3dcd53=void 0x0!==_0x3af7f5['upper']?_0x3af7f5['upper']:Math['PI'];'continuous'===_0x31f5c3['type']&&(_0x15c916=-Math['PI'],_0x3dcd53=Math['PI']);const _0x51d8eb=document['createElement']('input');_0x51d8eb['type']='range',_0x51d8eb['className']='joint-slider',_0x51d8eb['setAttribute']('data-joint',_0x31f5c3['name']),_0x51d8eb['min']=_0x15c916,_0x51d8eb['max']=_0x3dcd53;let _0x58ec34=void 0x0!==_0x31f5c3['currentValue']?_0x31f5c3['currentValue']:(_0x15c916+_0x3dcd53)/0x2;_0x51d8eb['value']=_0x58ec34,_0x51d8eb['step']=(_0x3dcd53-_0x15c916)/0x3e8,void 0x0===_0x31f5c3['currentValue']&&(_0x31f5c3['currentValue']=_0x58ec34);const _0x1d5c4d=document['createElement']('input');_0x1d5c4d['type']='number',_0x1d5c4d['className']='joint-limit-min\x20editable-limit',_0x1d5c4d['step']='0.01',_0x1d5c4d['title']=window['i18n']['t']('clickToEditMin');const _0x29750f=document['createElement']('input');_0x29750f['type']='number',_0x29750f['className']='joint-limit-max\x20editable-limit',_0x29750f['step']='0.01',_0x29750f['title']=window['i18n']['t']('clickToEditMax');const _0x215c00=document['createElement']('input');_0x215c00['type']='number',_0x215c00['className']='joint-value-input',_0x215c00['setAttribute']('data-joint-input',_0x31f5c3['name']),_0x215c00['step']='0.01';const _0x515636=document['createElement']('span');_0x515636['className']='joint-value-unit',_0x515636['textContent']='deg'===this['angleUnit']?'°':'rad';const _0x6f44dc=()=>{const _0x2df5fb=parseFloat(_0x51d8eb['min']),_0x106a5a=parseFloat(_0x51d8eb['max']);'deg'===this['angleUnit']?(_0x1d5c4d['value']=(0xb4*_0x2df5fb/Math['PI'])['toFixed'](0x1),_0x29750f['value']=(0xb4*_0x106a5a/Math['PI'])['toFixed'](0x1)):(_0x1d5c4d['value']=_0x2df5fb['toFixed'](0x2),_0x29750f['value']=_0x106a5a['toFixed'](0x2));},_0x39506c=()=>{const _0x54a64f=parseFloat(_0x51d8eb['value']);_0x215c00['value']='deg'===this['angleUnit']?(0xb4*_0x54a64f/Math['PI'])['toFixed'](0x1):_0x54a64f['toFixed'](0x2);};_0x6f44dc(),_0x39506c(),_0x1d5c4d['addEventListener']('change',()=>{let _0x198795=parseFloat(_0x1d5c4d['value']);if(isNaN(_0x198795))return void _0x6f44dc();let _0x285116='deg'===this['angleUnit']?_0x198795*Math['PI']/0xb4:_0x198795;if(_0x285116>=parseFloat(_0x51d8eb['max']))return void _0x6f44dc();_0x51d8eb['min']=_0x285116,_0x51d8eb['step']=(_0x51d8eb['max']-_0x51d8eb['min'])/0x3e8,_0x31f5c3['limits']&&(_0x31f5c3['limits']['lower']=_0x285116),this['updateEditorXML'](_0x31f5c3['name'],{'lower':_0x285116});parseFloat(_0x51d8eb['value'])<_0x285116&&(_0x51d8eb['value']=_0x285116,Ei['setJointAngle'](_0x49c251,_0x31f5c3['name'],_0x285116),_0x31f5c3['currentValue']=_0x285116,_0x39506c(),this['sceneManager']['redraw'](),this['sceneManager']['render'](),this['sceneManager']['onMeasurementUpdate']&&this['sceneManager']['onMeasurementUpdate']()),_0x6f44dc();}),_0x29750f['addEventListener']('change',()=>{let _0x4374e4=parseFloat(_0x29750f['value']);if(isNaN(_0x4374e4))return void _0x6f44dc();let _0x418b99='deg'===this['angleUnit']?_0x4374e4*Math['PI']/0xb4:_0x4374e4;if(_0x418b99<=parseFloat(_0x51d8eb['min']))return void _0x6f44dc();_0x51d8eb['max']=_0x418b99,_0x51d8eb['step']=(_0x51d8eb['max']-_0x51d8eb['min'])/0x3e8,_0x31f5c3['limits']&&(_0x31f5c3['limits']['upper']=_0x418b99),this['updateEditorXML'](_0x31f5c3['name'],{'upper':_0x418b99});parseFloat(_0x51d8eb['value'])>_0x418b99&&(_0x51d8eb['value']=_0x418b99,Ei['setJointAngle'](_0x49c251,_0x31f5c3['name'],_0x418b99),_0x31f5c3['currentValue']=_0x418b99,_0x39506c(),this['sceneManager']['redraw'](),this['sceneManager']['render'](),this['sceneManager']['onMeasurementUpdate']&&this['sceneManager']['onMeasurementUpdate']()),_0x6f44dc();});const _0x1c5095=document['createElement']('div');_0x1c5095['className']='joint-slider-container',_0x1c5095['appendChild'](_0x51d8eb);const _0x3b629c=document['createElement']('div');_0x3b629c['className']='joint-value-input-container',_0x3b629c['appendChild'](_0x215c00),_0x3b629c['appendChild'](_0x515636),_0x3ba7b0['appendChild'](_0x1d5c4d),_0x3ba7b0['appendChild'](_0x1c5095),_0x3ba7b0['appendChild'](_0x29750f),_0x3ba7b0['appendChild'](_0x3b629c);if('urdf'===((null==(_0x23ffc0=null==(_0x91a666=_0x49c251['threeObject'])?void 0x0:_0x91a666['userData'])?void 0x0:_0x23ffc0['type'])||'urdf')){const _0x35dd85=document['createElement']('div');_0x35dd85['className']='joint-extra-field';const _0x3beabc=document['createElement']('label');_0x3beabc['textContent']='τ:',_0x3beabc['className']='joint-extra-label',_0x3beabc['title']='Effort\x20(max\x20force/torque)';const _0x23a9aa=document['createElement']('input');_0x23a9aa['type']='number',_0x23a9aa['className']='joint-extra-input',_0x23a9aa['step']='0.1';const _0x548ead=null!==_0x3af7f5['effort']&&void 0x0!==_0x3af7f5['effort']?_0x3af7f5['effort']:'';_0x23a9aa['value']=_0x548ead,_0x23a9aa['placeholder']='-',_0x23a9aa['title']='Effort\x20(max\x20force/torque)',_0x35dd85['appendChild'](_0x3beabc),_0x35dd85['appendChild'](_0x23a9aa);const _0x572c85=document['createElement']('div');_0x572c85['className']='joint-extra-field';const _0x30cb04=document['createElement']('label');_0x30cb04['textContent']='v:',_0x30cb04['className']='joint-extra-label',_0x30cb04['title']='Velocity\x20(max\x20speed)';const _0x531385=document['createElement']('input');_0x531385['type']='number',_0x531385['className']='joint-extra-input',_0x531385['step']='0.1';const _0x2cdacf=null!==_0x3af7f5['velocity']&&void 0x0!==_0x3af7f5['velocity']?_0x3af7f5['velocity']:'';_0x531385['value']=_0x2cdacf,_0x531385['placeholder']='-',_0x531385['title']='Velocity\x20(max\x20speed)',_0x572c85['appendChild'](_0x30cb04),_0x572c85['appendChild'](_0x531385),_0x59f396['appendChild'](_0x35dd85),_0x59f396['appendChild'](_0x572c85),_0x23a9aa['addEventListener']('change',()=>{let _0x5e202a=parseFloat(_0x23a9aa['value']);isNaN(_0x5e202a)||''===_0x23a9aa['value']?_0x31f5c3['limits']?_0x31f5c3['limits']['effort']=null:_0x31f5c3['limits']={'lower':_0x15c916,'upper':_0x3dcd53,'effort':null,'velocity':_0x3af7f5['velocity']}:(_0x31f5c3['limits']?_0x31f5c3['limits']['effort']=_0x5e202a:_0x31f5c3['limits']={'lower':_0x15c916,'upper':_0x3dcd53,'effort':_0x5e202a,'velocity':_0x3af7f5['velocity']},this['updateEditorXML'](_0x31f5c3['name'],{'effort':_0x5e202a}));}),_0x531385['addEventListener']('change',()=>{let _0x2ac1a4=parseFloat(_0x531385['value']);isNaN(_0x2ac1a4)||''===_0x531385['value']?_0x31f5c3['limits']?_0x31f5c3['limits']['velocity']=null:_0x31f5c3['limits']={'lower':_0x15c916,'upper':_0x3dcd53,'effort':_0x3af7f5['effort'],'velocity':null}:(_0x31f5c3['limits']?_0x31f5c3['limits']['velocity']=_0x2ac1a4:_0x31f5c3['limits']={'lower':_0x15c916,'upper':_0x3dcd53,'effort':_0x3af7f5['effort'],'velocity':_0x2ac1a4},this['updateEditorXML'](_0x31f5c3['name'],{'velocity':_0x2ac1a4}));});}return _0x51d8eb['addEventListener']('mousedown',()=>{this['sceneManager']['axesManager']['showOnlyJointAxis'](_0x31f5c3);}),_0x51d8eb['addEventListener']('mouseup',()=>{this['sceneManager']['axesManager']['restoreAllJointAxes']();}),_0x26cda3['appendChild'](_0x59f396),_0x26cda3['appendChild'](_0x3ba7b0),_0x1d1f80['appendChild'](_0x26cda3),_0x51d8eb['addEventListener']('input',()=>{const _0x4444bb=parseFloat(_0x51d8eb['value']);Ei['setJointAngle'](_0x49c251,_0x31f5c3['name'],_0x4444bb),_0x31f5c3['currentValue']=_0x4444bb,_0x39506c(),this['sceneManager']['constraintManager']&&this['sceneManager']['constraintManager']['applyConstraints'](_0x49c251,_0x31f5c3),this['onJointChange']&&this['onJointChange'](_0x49c251),_0x51d8eb['_pendingRender']||(_0x51d8eb['_pendingRender']=!0x0,requestAnimationFrame(()=>{this['sceneManager']['redraw'](),this['sceneManager']['render'](),this['sceneManager']['onMeasurementUpdate']&&this['sceneManager']['onMeasurementUpdate'](),_0x51d8eb['_pendingRender']=!0x1;}));}),_0x215c00['addEventListener']('change',()=>{let _0x2e68f4=parseFloat(_0x215c00['value']);if(isNaN(_0x2e68f4))return void _0x39506c();let _0x22acbf='deg'===this['angleUnit']?_0x2e68f4*Math['PI']/0xb4:_0x2e68f4;const _0x429ed9=parseFloat(_0x51d8eb['min']),_0x3adad6=parseFloat(_0x51d8eb['max']);_0x22acbf=Math['max'](_0x429ed9,Math['min'](_0x3adad6,_0x22acbf)),_0x51d8eb['value']=_0x22acbf,Ei['setJointAngle'](_0x49c251,_0x31f5c3['name'],_0x22acbf),_0x31f5c3['currentValue']=_0x22acbf,this['sceneManager']['constraintManager']&&this['sceneManager']['constraintManager']['applyConstraints'](_0x49c251,_0x31f5c3),_0x39506c(),this['sceneManager']['redraw'](),this['sceneManager']['render'](),this['sceneManager']['onMeasurementUpdate']&&this['sceneManager']['onMeasurementUpdate']();}),_0x1d1f80['_updateDisplay']=()=>{_0x39506c(),_0x6f44dc(),_0x515636['textContent']='deg'===this['angleUnit']?'°':'rad';},_0x1d1f80;}['setAngleUnit'](_0x4b0b46){this['angleUnit']=_0x4b0b46;document['querySelectorAll']('.joint-control')['forEach'](_0x30eb1d=>{_0x30eb1d['_updateDisplay']&&_0x30eb1d['_updateDisplay']();});}['resetAllJoints'](_0x499cb8){_0x499cb8&&_0x499cb8['joints']&&(_0x499cb8['joints']['forEach']((_0x36c829,_0x7ee550)=>{if('fixed'!==_0x36c829['type']){let _0x211f96=this['initialJointValues']['get'](_0x7ee550);if(void 0x0===_0x211f96){const _0x56cf30=_0x36c829['limits']||{},_0x50e531=void 0x0!==_0x56cf30['lower']?_0x56cf30['lower']:-Math['PI'],_0x430e79=void 0x0!==_0x56cf30['upper']?_0x56cf30['upper']:Math['PI'];_0x211f96=void 0x0!==_0x36c829['currentValue']?_0x36c829['currentValue']:(_0x50e531+_0x430e79)/0x2;}Ei['setJointAngle'](_0x499cb8,_0x7ee550,_0x211f96,!0x0),_0x36c829['currentValue']=_0x211f96;const _0x2bdb1c=document['querySelector']('input.joint-slider[data-joint=\x22'+_0x7ee550+'\x22]');_0x2bdb1c&&(_0x2bdb1c['value']=_0x211f96);const _0x2aebf4=document['querySelector']('#unit-deg.active')?'deg':'rad',_0x3d7a26=document['querySelector']('input[data-joint-input=\x22'+_0x7ee550+'\x22]');_0x3d7a26&&(_0x3d7a26['value']='deg'===_0x2aebf4?(0xb4*_0x211f96/Math['PI'])['toFixed'](0x2):_0x211f96['toFixed'](0x4));}}),this['sceneManager']['render'](),this['sceneManager']['onMeasurementUpdate']&&this['sceneManager']['onMeasurementUpdate']());}['updateAllSliderLimits'](_0x1b3824,_0x610449){_0x1b3824&&document['querySelectorAll']('.joint-slider')['forEach'](_0x35e397=>{const _0x5e270b=_0x35e397['getAttribute']('data-joint'),_0x4d1f87=_0x1b3824['joints']['get'](_0x5e270b);if(_0x4d1f87&&'fixed'!==_0x4d1f87['type']){if(_0x610449)_0x35e397['min']=0x2*-Math['PI'],_0x35e397['max']=0x2*Math['PI'],_0x35e397['step']=0.01;else{const _0x44d864=_0x4d1f87['limits']||{},_0x2835=void 0x0!==_0x44d864['lower']?_0x44d864['lower']:-Math['PI'],_0xc13f08=void 0x0!==_0x44d864['upper']?_0x44d864['upper']:Math['PI'];'continuous'===_0x4d1f87['type']?(_0x35e397['min']=-Math['PI'],_0x35e397['max']=Math['PI']):(_0x35e397['min']=_0x2835,_0x35e397['max']=_0xc13f08),_0x35e397['step']=(_0x35e397['max']-_0x35e397['min'])/0x3e8;}const _0x49165f=_0x35e397['closest']('.joint-control');_0x49165f&&_0x49165f['_updateDisplay']&&_0x49165f['_updateDisplay']();}});}['createJointCheckbox'](_0x5e8480){const _0x7a2890=document['createElement']('div');_0x7a2890['className']='joint-checkbox-container';const _0x4ed64e=document['createElement']('input');return _0x4ed64e['type']='checkbox',_0x4ed64e['className']='joint-checkbox',_0x4ed64e['id']='checkbox-'+_0x5e8480,_0x4ed64e['setAttribute']('data-joint',_0x5e8480),_0x4ed64e['addEventListener']('change',_0x2d593d=>{_0x2d593d['target']['checked']?this['selectedJoints']['add'](_0x5e8480):this['selectedJoints']['delete'](_0x5e8480),this['_syncAllSelectedState'](),this['updateButtonStates']();}),_0x7a2890['appendChild'](_0x4ed64e),_0x7a2890;}['updateButtonStates'](){const _0x40cf31=document['querySelector']('.apply-angles-btn'),_0x5e5d78=document['querySelector']('.set-home-btn'),_0x876c47=document['querySelector']('.reset-home-btn'),_0x7bb133=document['getElementById']('select-all-btn');if(_0x40cf31){const _0x310a5d=this['selectedJoints']['size']>0x0;_0x40cf31['disabled']=!_0x310a5d,_0x40cf31['title']=_0x310a5d?window['i18n']['t']('applyAngles'):window['i18n']['t']('noJointsSelected');}const _0x50c98f=this['currentModel']&&this['currentModel']['joints']&&this['currentModel']['joints']['size']>0x0;if(_0x5e5d78&&(_0x5e5d78['disabled']=!_0x50c98f),_0x876c47&&(_0x876c47['disabled']=!_0x50c98f),_0x7bb133){const _0x18770a=this['_getControllableJointCount']();_0x7bb133['disabled']=!_0x50c98f||0x0===_0x18770a,this['_allSelected']?_0x7bb133['classList']['add']('active'):_0x7bb133['classList']['remove']('active');}}['_getControllableJointCount'](){if(!this['currentModel']||!this['currentModel']['joints'])return 0x0;let _0x3643f2=0x0;return this['currentModel']['joints']['forEach'](_0x142dad=>{'fixed'!==_0x142dad['type']&&_0x3643f2++;}),_0x3643f2;}['_syncAllSelectedState'](){const _0x337518=document['querySelectorAll']('.joint-checkbox');if(0x0===_0x337518['length'])return void(this['_allSelected']=!0x1);const _0x697276=Array['from'](_0x337518)['every'](_0x18aad6=>_0x18aad6['checked']);this['_allSelected']=_0x697276;}['getSelectedJointsInOrder'](){const _0x94a197=[];return document['querySelectorAll']('.joint-control')['forEach'](_0x1a6a93=>{const _0x5a4dac=_0x1a6a93['getAttribute']('data-joint-name');_0x5a4dac&&this['selectedJoints']['has'](_0x5a4dac)&&_0x94a197['push'](_0x5a4dac);}),_0x94a197;}['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 _0x5a782f=this['getSelectedJointsInOrder'](),_0x3fe9ab=[];_0x5a782f['forEach'](_0x391201=>{const _0x2e057b=document['querySelector']('input.joint-slider[data-joint=\x22'+_0x391201+'\x22]');if(_0x2e057b)_0x3fe9ab['push'](parseFloat(parseFloat(_0x2e057b['value'])['toFixed'](0x2)));else{const _0x5df1cf=this['currentModel']['joints']['get'](_0x391201);if(_0x5df1cf){const _0x410004=void 0x0!==_0x5df1cf['currentValue']?_0x5df1cf['currentValue']:0x0;_0x3fe9ab['push'](parseFloat(_0x410004['toFixed'](0x2)));}}}),this['showApplyDialog'](JSON['stringify'](_0x3fe9ab),_0x5a782f['length']);}['handleSelectAll'](){const _0x51f67c=document['querySelectorAll']('.joint-checkbox');0x0!==_0x51f67c['length']&&(this['_allSelected']?(_0x51f67c['forEach'](_0x7ef405=>{_0x7ef405['checked']=!0x1;const _0xcfeb89=_0x7ef405['getAttribute']('data-joint');_0xcfeb89&&this['selectedJoints']['delete'](_0xcfeb89);}),this['_allSelected']=!0x1):(_0x51f67c['forEach'](_0x2c87b9=>{_0x2c87b9['checked']=!0x0;const _0x118372=_0x2c87b9['getAttribute']('data-joint');_0x118372&&this['selectedJoints']['add'](_0x118372);}),this['_allSelected']=!0x0),this['updateButtonStates']());}['handleResetToHome'](){var _0x33f3d3;if(!this['currentModel'])return;const _0x4cd4dd=(null==(_0x33f3d3=this['currentModel']['userData'])?void 0x0:_0x33f3d3['homePositions'])||{},_0x5dc20e=document['querySelector']('#unit-deg.active')?'deg':'rad';this['currentModel']['joints']['forEach']((_0x5b88b0,_0x43f587)=>{if('fixed'===_0x5b88b0['type'])return;const _0x3ab913=void 0x0!==_0x4cd4dd[_0x43f587]?_0x4cd4dd[_0x43f587]:0x0;Ei['setJointAngle'](this['currentModel'],_0x43f587,_0x3ab913),_0x5b88b0['currentValue']=_0x3ab913;const _0x2d32a1=document['querySelector']('input.joint-slider[data-joint=\x22'+_0x43f587+'\x22]');if(_0x2d32a1){_0x2d32a1['value']=_0x3ab913;const _0x43651b=parseFloat(_0x2d32a1['min']),_0x10e72e=parseFloat(_0x2d32a1['max']);_0x3ab913<_0x43651b&&(_0x2d32a1['min']=_0x3ab913),_0x3ab913>_0x10e72e&&(_0x2d32a1['max']=_0x3ab913);}const _0x1cc7dd=document['querySelector']('input[data-joint-input=\x22'+_0x43f587+'\x22]');_0x1cc7dd&&(_0x1cc7dd['value']='deg'===_0x5dc20e?(0xb4*_0x3ab913/Math['PI'])['toFixed'](0x2):_0x3ab913['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'](_0x550da7,_0x2fc81c){const _0x4539eb=document['createElement']('div');_0x4539eb['className']='apply-dialog-overlay';const _0xdf942e=document['createElement']('div');_0xdf942e['className']='apply-dialog';const _0x3ea68f=document['createElement']('div');_0x3ea68f['className']='apply-dialog-title',_0x3ea68f['textContent']=window['i18n']['t']('applyDialogTitle');const _0x56a087=document['createElement']('div');_0x56a087['className']='apply-dialog-hint',_0x56a087['textContent']=window['i18n']['t']('applyDialogHint');const _0x2fbd5b=document['createElement']('textarea');_0x2fbd5b['className']='apply-dialog-textarea',_0x2fbd5b['value']=_0x550da7,_0x2fbd5b['placeholder']='[0.0,\x200.0,\x200.0]';const _0x2204f1=document['createElement']('div');_0x2204f1['className']='apply-dialog-buttons';const _0x396485=document['createElement']('button');_0x396485['className']='apply-dialog-btn\x20secondary',_0x396485['textContent']=window['i18n']['t']('applyDialogCancel'),_0x396485['onclick']=()=>{document['body']['removeChild'](_0x4539eb);};const _0x42ae53=document['createElement']('button');_0x42ae53['className']='apply-dialog-btn\x20primary',_0x42ae53['textContent']=window['i18n']['t']('applyDialogApply'),_0x42ae53['onclick']=()=>{const _0x550889=_0x2fbd5b['value']['trim']();this['applyAnglesFromText'](_0x550889,_0x2fc81c)&&document['body']['removeChild'](_0x4539eb);},_0x2204f1['appendChild'](_0x396485),_0x2204f1['appendChild'](_0x42ae53),_0xdf942e['appendChild'](_0x3ea68f),_0xdf942e['appendChild'](_0x56a087),_0xdf942e['appendChild'](_0x2fbd5b),_0xdf942e['appendChild'](_0x2204f1),_0x4539eb['appendChild'](_0xdf942e),document['body']['appendChild'](_0x4539eb),setTimeout(()=>{_0x2fbd5b['focus'](),_0x2fbd5b['select']();},0x64);const _0xfe536e=_0x5ccd52=>{'Escape'===_0x5ccd52['key']&&(document['body']['contains'](_0x4539eb)&&document['body']['removeChild'](_0x4539eb),document['removeEventListener']('keydown',_0xfe536e));};document['addEventListener']('keydown',_0xfe536e),_0x4539eb['addEventListener']('click',_0x479de5=>{_0x479de5['target']===_0x4539eb&&(document['body']['removeChild'](_0x4539eb),document['removeEventListener']('keydown',_0xfe536e));});}['applyAnglesFromText'](_0x33c643,_0x257c4b){if(!_0x33c643)return this['showToast'](window['i18n']['t']('invalidFormat'),'error'),!0x1;try{const _0x106694=JSON['parse'](_0x33c643);if(!Array['isArray'](_0x106694))return this['showToast'](window['i18n']['t']('invalidFormat'),'error'),!0x1;if(_0x106694['length']!==_0x257c4b){const _0x5daba4=window['i18n']['t']('countMismatch')['replace']('{expected}',_0x257c4b)['replace']('{actual}',_0x106694['length']);return this['showToast'](_0x5daba4,'error'),!0x1;}for(let _0x18cc2f=0x0;_0x18cc2f<_0x106694['length'];_0x18cc2f++)if('number'!=typeof _0x106694[_0x18cc2f]||isNaN(_0x106694[_0x18cc2f]))return this['showToast'](window['i18n']['t']('invalidFormat'),'error'),!0x1;const _0x2eaa3e=this['getSelectedJointsInOrder']();_0x2eaa3e['forEach']((_0x38850b,_0x571efc)=>{const _0x3c57d3=this['currentModel']['joints']['get'](_0x38850b);if(_0x3c57d3){const _0x49e515=_0x106694[_0x571efc];Ei['setJointAngle'](this['currentModel'],_0x38850b,_0x49e515),_0x3c57d3['currentValue']=_0x49e515;const _0x3aa096=document['querySelector']('input.joint-slider[data-joint=\x22'+_0x38850b+'\x22]');_0x3aa096&&(_0x3aa096['value']=_0x49e515);}}),this['sceneManager']['constraintManager']&&_0x2eaa3e['forEach'](_0x266f85=>{const _0x10ffa7=this['currentModel']['joints']['get'](_0x266f85);_0x10ffa7&&this['sceneManager']['constraintManager']['applyConstraints'](this['currentModel'],_0x10ffa7);});const _0x24d88e=document['querySelector']('#unit-deg.active')?'deg':'rad';_0x2eaa3e['forEach']((_0x2e572b,_0x5613d9)=>{const _0x3eef52=this['currentModel']['joints']['get'](_0x2e572b),_0x2d87ad=void 0x0!==(null==_0x3eef52?void 0x0:_0x3eef52['currentValue'])?_0x3eef52['currentValue']:_0x106694[_0x5613d9],_0x1380b0=document['querySelector']('input.joint-slider[data-joint=\x22'+_0x2e572b+'\x22]');_0x1380b0&&(_0x1380b0['value']=_0x2d87ad);const _0x47af62=document['querySelector']('input[data-joint-input=\x22'+_0x2e572b+'\x22]');_0x47af62&&(_0x47af62['value']='deg'===_0x24d88e?(0xb4*_0x2d87ad/Math['PI'])['toFixed'](0x2):_0x2d87ad['toFixed'](0x4));}),this['onJointChange']&&this['onJointChange'](this['currentModel']),requestAnimationFrame(()=>{this['sceneManager']['redraw'](),this['sceneManager']['render'](),this['sceneManager']['onMeasurementUpdate']&&this['sceneManager']['onMeasurementUpdate']();});const _0x3702cc=window['i18n']['t']('applySuccess')['replace']('{count}',_0x106694['length']);return this['showToast'](_0x3702cc,'success'),!0x0;}catch(_0x58ef47){return this['showToast'](window['i18n']['t']('invalidFormat'),'error'),!0x1;}}['showToast'](_0x6c9552,_0x15c708='success'){const _0x205a02=document['createElement']('div');_0x205a02['className']='toast-notification\x20'+_0x15c708,_0x205a02['textContent']=_0x6c9552,document['body']['appendChild'](_0x205a02),setTimeout(()=>{document['body']['contains'](_0x205a02)&&(_0x205a02['style']['animation']='slideInRight\x200.3s\x20ease-out\x20reverse',setTimeout(()=>{document['body']['contains'](_0x205a02)&&document['body']['removeChild'](_0x205a02);},0x12c));},0xbb8);}}class Ui{constructor(){this['panels']=new Map(),this['modelGraphOriginalTransform']=null,this['modelGraphView']=null;}['setModelGraphView'](_0x1454c9){this['modelGraphView']=_0x1454c9;}['registerPanel'](_0x1bc1c9,_0xb3331='.floating-panel-header'){const _0x1f526e=document['getElementById'](_0x1bc1c9),_0x782800=null==_0x1f526e?void 0x0:_0x1f526e['querySelector'](_0xb3331);_0x1f526e&&_0x782800&&(this['setupPanelDragAndResize'](_0x1f526e,_0x782800),this['panels']['set'](_0x1bc1c9,{'panel':_0x1f526e,'header':_0x782800}));}['addCustomPanel'](_0xe4eb8b,_0x4017c5){const _0x120026=document['getElementById']('floating-joints-panel');_0x120026&&(_0x4017c5['id']=_0xe4eb8b,_0x4017c5['className']='floating-panel',_0x4017c5['style']['cssText']='position:\x20fixed;\x20top:\x20120px;\x20right:\x2020px;\x20width:\x20320px;\x20z-index:\x2051;',_0x120026['parentNode']['insertBefore'](_0x4017c5,_0x120026['nextSibling']),this['registerPanel'](_0xe4eb8b));}['setupPanelDragAndResize'](_0x958cb4,_0x4af40a){let _0x1c8fcf,_0x46d7e9,_0x3426e8,_0x538938,_0x10066b,_0x1945a5,_0x4aaecf,_0x177a66,_0x4edcc1=!0x1,_0x121eba=!0x1,_0x38d4e9=null,_0x895c78=0x0,_0x5dba4c=0x0;const _0x5d93fe=()=>{const _0x34b5e8=document['querySelectorAll']('.floating-panel,\x20#code-editor-panel');let _0x51a13e=0x32;_0x34b5e8['forEach'](_0x17c8e9=>{const _0x1be81e=parseInt(window['getComputedStyle'](_0x17c8e9)['zIndex'])||0x32;_0x1be81e>_0x51a13e&&_0x17c8e9!==_0x958cb4&&(_0x51a13e=_0x1be81e);}),_0x958cb4['style']['zIndex']=_0x51a13e+0x1;};_0x958cb4['addEventListener']('mousemove',_0x569388=>{if(_0x4edcc1||_0x121eba)return;const _0x25be2e=_0x958cb4['getBoundingClientRect'](),_0x251b57=_0x569388['clientX']-_0x25be2e['left'],_0x3efdb7=_0x569388['clientY']-_0x25be2e['top'];let _0x35aaf1='default';_0x38d4e9=null;const _0x4fc9fa=_0x251b57<0xc,_0x43b240=_0x251b57>_0x25be2e['width']-0xc,_0x5e6978=_0x3efdb7<0xc,_0x55b581=_0x3efdb7>_0x25be2e['height']-0xc;_0x4fc9fa&&_0x5e6978?(_0x35aaf1='nw-resize',_0x38d4e9='nw'):_0x43b240&&_0x5e6978?(_0x35aaf1='ne-resize',_0x38d4e9='ne'):_0x4fc9fa&&_0x55b581?(_0x35aaf1='sw-resize',_0x38d4e9='sw'):_0x43b240&&_0x55b581?(_0x35aaf1='se-resize',_0x38d4e9='se'):_0x4fc9fa?(_0x35aaf1='w-resize',_0x38d4e9='w'):_0x43b240?(_0x35aaf1='e-resize',_0x38d4e9='e'):_0x5e6978?(_0x35aaf1='n-resize',_0x38d4e9='n'):_0x55b581&&(_0x35aaf1='s-resize',_0x38d4e9='s'),_0x958cb4['style']['cursor']=_0x35aaf1;}),_0x958cb4['addEventListener']('mousedown',_0x464db6=>{if(_0x5d93fe(),_0x464db6['target']!==_0x4af40a&&!_0x4af40a['contains'](_0x464db6['target'])&&_0x38d4e9){_0x464db6['preventDefault'](),_0x121eba=!0x0,_0x958cb4['style']['transition']='none';const _0x1d87a6=_0x958cb4['getBoundingClientRect'](),_0x416ea9=window['getComputedStyle'](_0x958cb4),_0x2e7f55=new DOMMatrixReadOnly(_0x416ea9['transform']);_0x10066b=_0x1d87a6['width'],_0x1945a5=_0x1d87a6['height'],_0x4aaecf=_0x2e7f55['m41'],_0x177a66=_0x2e7f55['m42'],_0x3426e8=_0x464db6['clientX'],_0x538938=_0x464db6['clientY'],document['addEventListener']('mousemove',_0x5b6ab6),document['addEventListener']('mouseup',_0x24bccf);}});const _0x47269f=_0x3c3f72=>{_0x4edcc1&&(_0x3c3f72['preventDefault'](),_0x1c8fcf=_0x3c3f72['clientX']-_0x3426e8,_0x46d7e9=_0x3c3f72['clientY']-_0x538938,_0x895c78=_0x1c8fcf,_0x5dba4c=_0x46d7e9,_0x958cb4['style']['transform']='translate('+_0x1c8fcf+'px,\x20'+_0x46d7e9+'px)');},_0x5c026e=()=>{_0x4edcc1=!0x1,_0x4af40a['style']['cursor']='move',_0x958cb4['style']['transition']='',document['removeEventListener']('mousemove',_0x47269f),document['removeEventListener']('mouseup',_0x5c026e);},_0x5b6ab6=_0xfbd991=>{_0x121eba&&(_0xfbd991['preventDefault'](),_0x958cb4['_resizeFrame']||(_0x958cb4['_resizeFrame']=requestAnimationFrame(()=>{_0x958cb4['_resizeFrame']=null;const _0xd08ec=_0xfbd991['clientX']-_0x3426e8,_0x44e3c0=_0xfbd991['clientY']-_0x538938;let _0x53cc64=_0x10066b,_0x4ff083=_0x1945a5,_0x197dbb=_0x4aaecf,_0x5d0ea7=_0x177a66;if(_0x38d4e9['includes']('w')){const _0x4861c1=_0x10066b-_0xd08ec;_0x53cc64=Math['max'](0x118,_0x4861c1),_0x197dbb=_0x4861c1>=0x118?_0x4aaecf+_0xd08ec:_0x4aaecf-(_0x10066b-0x118);}if(_0x38d4e9['includes']('e')&&(_0x53cc64=Math['max'](0x118,_0x10066b+_0xd08ec),_0x197dbb=_0x4aaecf),_0x38d4e9['includes']('s')&&(_0x4ff083=Math['max'](0x64,_0x1945a5+_0x44e3c0),_0x5d0ea7=_0x177a66),_0x38d4e9['includes']('n')){const _0x510b28=_0x1945a5-_0x44e3c0;_0x4ff083=Math['max'](0x64,_0x510b28),_0x5d0ea7=_0x510b28>=0x64?_0x177a66+_0x44e3c0:_0x177a66+(_0x1945a5-0x64);}_0x958cb4['style']['width']=_0x53cc64+'px',_0x958cb4['style']['height']=_0x4ff083+'px',_0x958cb4['style']['transform']='translate('+_0x197dbb+'px,\x20'+_0x5d0ea7+'px)',_0x895c78=_0x197dbb,_0x5dba4c=_0x5d0ea7;})));},_0x24bccf=()=>{_0x121eba=!0x1,_0x38d4e9=null,_0x958cb4['style']['cursor']='default',_0x958cb4['style']['transition']='',document['removeEventListener']('mousemove',_0x5b6ab6),document['removeEventListener']('mouseup',_0x24bccf);};_0x4af40a['addEventListener']('mousedown',_0x47ba1f=>{_0x5d93fe();const _0x1ee762=_0x47ba1f['target'];'BUTTON'===_0x1ee762['tagName']||'SELECT'===_0x1ee762['tagName']||_0x1ee762['closest']('button')||_0x1ee762['closest']('.code-editor-actions')||(_0x1ee762===_0x4af40a||_0x4af40a['contains'](_0x1ee762))&&(_0x3426e8=_0x47ba1f['clientX']-_0x895c78,_0x538938=_0x47ba1f['clientY']-_0x5dba4c,_0x4edcc1=!0x0,_0x4af40a['style']['cursor']='grabbing',_0x958cb4['style']['transition']='none',document['addEventListener']('mousemove',_0x47269f),document['addEventListener']('mouseup',_0x5c026e));});}['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'](_0x2bc332=>{const _0x3a61d3=_0x2bc332['getAttribute']('data-panel-id');if(!_0x3a61d3)return;const _0x41e575=document['getElementById'](_0x3a61d3);_0x41e575&&_0x2bc332['addEventListener']('click',()=>{_0x41e575['classList']['contains']('maximized')?(_0x41e575['classList']['remove']('maximized'),_0x2bc332['textContent']='⛶','floating-model-tree'===_0x3a61d3&&this['modelGraphView']&&setTimeout(()=>{this['restoreModelGraphView']();},0x1c2)):(_0x41e575['classList']['add']('maximized'),_0x2bc332['textContent']='❐','floating-model-tree'===_0x3a61d3&&this['modelGraphView']&&(this['saveModelGraphTransform'](),setTimeout(()=>{this['modelGraphView']['fitToView'](!0x0,0x258);},0x1c2)));});});}['saveModelGraphTransform'](){try{const _0x2ea272=document['querySelector']('#model-graph-svg');if(!_0x2ea272)return;const _0x33cc0a=window['d3'];if(!_0x33cc0a)return;_0x33cc0a['select'](_0x2ea272);const _0x428be2=_0x33cc0a['zoomTransform'](_0x2ea272);_0x428be2&&(this['modelGraphOriginalTransform']={'x':_0x428be2['x'],'y':_0x428be2['y'],'k':_0x428be2['k']});}catch(_0x568020){}}['restoreModelGraphView'](){try{const _0x433431=document['querySelector']('#model-graph-svg');if(!_0x433431)return;const _0x39cd21=window['d3'];if(!_0x39cd21)return;const _0x524ac2=_0x39cd21['select'](_0x433431),_0x24fd45=_0x524ac2['select']('.zoom-container');if(_0x24fd45['empty']())return;if(this['modelGraphOriginalTransform']){const _0x554e30=_0x39cd21['zoom']()['scaleExtent']([0.1,0x4])['on']('zoom',_0x120575=>{_0x24fd45['attr']('transform',_0x120575['transform']);});_0x524ac2['call'](_0x554e30);const _0x4e8683=_0x39cd21['zoomIdentity']['translate'](this['modelGraphOriginalTransform']['x'],this['modelGraphOriginalTransform']['y'])['scale'](this['modelGraphOriginalTransform']['k']);_0x524ac2['transition']()['duration'](0x258)['call'](_0x554e30['transform'],_0x4e8683);}else this['modelGraphView']&&this['modelGraphView']['fitToView'](!0x0,0x258);}catch(_0x110e57){}}}class Vi{constructor(_0x30d4fd,_0x3bb85c=null){this['sceneManager']=_0x30d4fd,this['measurementController']=_0x3bb85c,this['codeEditorManager']=null,this['currentZoom']=null,this['currentSvg']=null,this['currentContainer']=null;}['drawModelGraph'](_0x771fe9){const _0x626f6b=_0x3a99e7('#model-graph-svg'),_0x40f60c=document['getElementById']('graph-empty-state');if(_0x626f6b['selectAll']('*:not(defs)')['remove'](),!_0x771fe9||!_0x771fe9['links']||0x0===_0x771fe9['links']['size'])return void(null==_0x40f60c||_0x40f60c['classList']['remove']('hidden'));null==_0x40f60c||_0x40f60c['classList']['add']('hidden');const _0x5add37='light'===(document['documentElement']['getAttribute']('data-theme')||'dark'),_0x2abb9e=_0x5add37?{'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'},_0x4f8b21=this['buildHierarchy'](_0x771fe9['rootLink'],_0x771fe9);if(!_0x4f8b21)return void(null==_0x40f60c||_0x40f60c['classList']['remove']('hidden'));const _0x4e2c3d=_0x537bcd(_0x4f8b21),_0x2708fe=_0x4e2c3d['descendants']()['length'],_0x189cc5=Math['max'](0x3e8,0x46*_0x2708fe),_0xde7ea2=Math['max'](0x2bc,0x78*_0x4e2c3d['height']+0x64);_0xfb61d0()['size']([_0x189cc5-0x64,_0xde7ea2-0x64])['separation']((_0x44e70a,_0x2f6d49)=>_0x44e70a['parent']===_0x2f6d49['parent']?0.8:1.2)(_0x4e2c3d);const _0x2e29d1=_0x626f6b['append']('g')['attr']('class','zoom-container'),_0x3a7112=_0x2ebfc4()['scaleExtent']([0.1,0x4])['on']('zoom',_0x20c69f=>{_0x2e29d1['attr']('transform',_0x20c69f['transform']);});_0x626f6b['call'](_0x3a7112),this['currentZoom']=_0x3a7112,this['currentSvg']=_0x626f6b,this['currentContainer']=_0x2e29d1;let _0x1cf8bf=null,_0x5a7a55=0x0;_0x626f6b['on']('mousedown',function(_0x39f65e){_0x1cf8bf={'x':_0x39f65e['clientX'],'y':_0x39f65e['clientY']},_0x5a7a55=Date['now']();}),_0x626f6b['on']('mouseup',_0x12294d=>{var _0x1752af;if(!_0x1cf8bf)return;const _0x2291a7=_0x12294d['clientX']-_0x1cf8bf['x'],_0x5ce8f6=_0x12294d['clientY']-_0x1cf8bf['y'],_0x475ec9=Math['sqrt'](_0x2291a7*_0x2291a7+_0x5ce8f6*_0x5ce8f6),_0x1f10eb=Date['now']()-_0x5a7a55;if(_0x475ec9<0x5&&_0x1f10eb<0x12c){const _0x21206c=_0x12294d['target'],_0x37fb93=_0x21206c['tagName']['toLowerCase']();('svg'===_0x37fb93||_0x21206c===_0x626f6b['node']()||'g'===_0x37fb93&&(null==(_0x1752af=_0x21206c['classList'])?void 0x0:_0x1752af['contains']('zoom-container')))&&(this['clearAllSelections'](_0x626f6b),this['measurementController']&&this['measurementController']['clearMeasurement'](),this['sceneManager']&&this['sceneManager']['highlightManager']['clearHighlight']());}_0x1cf8bf=null;}),_0x2e29d1['on']('click',_0x16c345=>{var _0x2bfa3c,_0x48de73,_0x592530,_0x22bc43,_0x294c48;const _0x4c56ff=_0x16c345['target'],_0xa2d3ca=_0x4c56ff['tagName']['toLowerCase']();('g'===_0xa2d3ca&&((null==(_0x2bfa3c=_0x4c56ff['classList'])?void 0x0:_0x2bfa3c['contains']('zoom-container'))||(null==(_0x48de73=_0x4c56ff['classList'])?void 0x0:_0x48de73['contains']('links'))||(null==(_0x592530=_0x4c56ff['classList'])?void 0x0:_0x592530['contains']('joint-labels'))||(null==(_0x22bc43=_0x4c56ff['classList'])?void 0x0:_0x22bc43['contains']('nodes')))||'path'===_0xa2d3ca&&(null==(_0x294c48=_0x4c56ff['classList'])?void 0x0:_0x294c48['contains']('graph-link')))&&(this['clearAllSelections'](_0x626f6b),this['measurementController']&&this['measurementController']['clearMeasurement'](),this['sceneManager']&&this['sceneManager']['highlightManager']['clearHighlight']());}),this['setupDocumentClickHandler']();_0x2e29d1['append']('g')['attr']('class','links')['selectAll']('path')['data'](_0x4e2c3d['links']())['enter']()['append']('path')['attr']('class','graph-link')['attr']('d',_0x2a61aa()['x'](_0xd9d4ec=>_0xd9d4ec['x']+0x32)['y'](_0x41ab57=>_0x41ab57['y']+0x32));const _0x19c37f=_0x2e29d1['append']('g')['attr']('class','joint-nodes')['selectAll']('g')['data'](_0x4e2c3d['links']()['filter'](_0x2fda14=>_0x2fda14['target']['data']['jointName']))['enter']()['append']('g')['attr']('class','graph-joint-group')['attr']('transform',_0x4bcccc=>'translate('+((_0x4bcccc['source']['x']+_0x4bcccc['target']['x'])/0x2+0x32)+',\x20'+((_0x4bcccc['source']['y']+_0x4bcccc['target']['y'])/0x2+0x32)+')')['style']('cursor','pointer');_0x19c37f['each'](function(_0x217dc9){const _0x2d9bbb=_0x3a99e7(this),_0x2528e9=_0x2d9bbb['append']('text')['attr']('class','joint-name-text')['attr']('dy',-0x4)['attr']('text-anchor','middle')['style']('font-size','12px')['style']('font-weight','500')['style']('fill',_0x2abb9e['text'])['style']('user-select','none')['text'](_0x217dc9['target']['data']['jointName']),_0x2adb2e=_0x2d9bbb['append']('text')['attr']('class','joint-type-text')['attr']('dy',0xa)['attr']('text-anchor','middle')['style']('font-size','10px')['style']('font-weight','400')['style']('fill',_0x2abb9e['text'])['style']('opacity',0.7)['style']('user-select','none')['text'](_0x217dc9['target']['data']['jointType']||'joint'),_0x55edb6=_0x2528e9['node']()['getBBox'](),_0x3ab09d=_0x2adb2e['node']()['getBBox'](),_0x1f1d33=Math['max'](_0x55edb6['width'],_0x3ab09d['width'])+0x20;_0x2d9bbb['insert']('rect','text')['attr']('class','joint-capsule-bg')['attr']('x',-_0x1f1d33/0x2)['attr']('y',-0x16)['attr']('width',_0x1f1d33)['attr']('height',0x2c)['attr']('rx',0x16)['style']('fill',_0x2abb9e['bg'])['style']('stroke',_0x2abb9e['stroke'])['style']('stroke-width','1.5'),_0x2d9bbb['insert']('rect','.joint-capsule-bg')['attr']('class','joint-capsule-border')['attr']('x',-_0x1f1d33/0x2-0x2)['attr']('y',-0x18)['attr']('width',_0x1f1d33+0x4)['attr']('height',0x30)['attr']('rx',0x18)['style']('fill','none')['style']('stroke','transparent')['style']('stroke-width','2');}),_0x19c37f['on']('click',(_0x29c2a7,_0x47fbc3)=>{if(_0x29c2a7['stopPropagation'](),!_0x47fbc3['target']['data']['jointName'])return;const _0x431e4c=_0x771fe9['joints']['get'](_0x47fbc3['target']['data']['jointName']);_0x431e4c&&(_0x29c2a7['ctrlKey']||_0x29c2a7['metaKey']?this['measurementController']&&this['measurementController']['handleSelection'](_0x431e4c,_0x29c2a7['currentTarget'],'joint'):(this['measurementController']&&this['measurementController']['clearMeasurement'](),this['clearAllSelections'](_0x626f6b),_0x3a99e7(_0x29c2a7['currentTarget'])['classed']('selected',!0x0),_0x3a99e7(_0x29c2a7['currentTarget'])['select']('.joint-capsule-border')['style']('stroke',_0x5add37?'var(--accent)':'#ff4a4a')['style']('stroke-width','3'),_0x3a99e7(_0x29c2a7['currentTarget'])['select']('.joint-capsule-bg')['style']('fill',_0x5add37?'rgba(30,\x20142,\x2062,\x200.15)':'#3a3a3a'),this['sceneManager']&&(this['sceneManager']['highlightManager']['clearHighlight'](),this['sceneManager']['axesManager']['showOnlyJointAxis'](_0x431e4c)),this['codeEditorManager']&&_0x47fbc3['target']['data']['jointName']&&this['codeEditorManager']['scrollToJoint'](_0x47fbc3['target']['data']['jointName'])));}),_0x19c37f['on']('mouseenter',function(){const _0x2728b4=_0x3a99e7(this);_0x2728b4['classed']('selected')||_0x2728b4['select']('.joint-capsule-bg')['transition']()['duration'](0xc8)['style']('opacity',0.8);})['on']('mouseleave',function(){const _0x469a15=_0x3a99e7(this);_0x469a15['classed']('selected')||_0x469a15['select']('.joint-capsule-bg')['transition']()['duration'](0xc8)['style']('opacity',0x1);}),_0x19c37f['append']('title')['text'](_0x3b222f=>_0x3b222f['target']['data']['jointName']+'\x20('+(_0x3b222f['target']['data']['jointType']||'joint')+')');const _0x481dc2=_0x2e29d1['append']('g')['attr']('class','nodes')['selectAll']('g')['data'](_0x4e2c3d['descendants']())['enter']()['append']('g')['attr']('class','graph-node')['attr']('transform',_0x3ac393=>'translate('+(_0x3ac393['x']+0x32)+',\x20'+(_0x3ac393['y']+0x32)+')')['style']('cursor','pointer');_0x481dc2['append']('text')['attr']('dy',0x6)['attr']('text-anchor','middle')['style']('font-size','18px')['style']('font-weight','500')['style']('fill',_0x2abb9e['text'])['style']('user-select','none')['text'](_0x5f07bd=>_0x5f07bd['data']['name']),_0x481dc2['each'](function(){const _0x1be74f=_0x3a99e7(this),_0x283218=_0x1be74f['select']('text')['node']()['getBBox'](),_0xaf4192=_0x283218['width']+0x38,_0x1b4cf7=_0x283218['height']+0x14+0x8;_0x1be74f['insert']('rect','text')['attr']('class','node-bg')['attr']('x',-_0xaf4192/0x2)['attr']('y',-_0x1b4cf7/0x2)['attr']('width',_0xaf4192)['attr']('height',_0x1b4cf7)['attr']('rx',0xc)['style']('fill',_0x2abb9e['bg'])['style']('stroke',_0x2abb9e['stroke'])['style']('stroke-width','1.5'),_0x1be74f['insert']('rect','.node-bg')['attr']('class','node-border')['attr']('x',-_0xaf4192/0x2-0x2)['attr']('y',-_0x1b4cf7/0x2-0x2)['attr']('width',_0xaf4192+0x4)['attr']('height',_0x1b4cf7+0x4)['attr']('rx',0xe)['style']('fill','none')['style']('stroke','transparent')['style']('stroke-width','3');}),_0x481dc2['on']('click',(_0x480ebf,_0x57bd7f)=>{_0x480ebf['stopPropagation'](),_0x480ebf['ctrlKey']||_0x480ebf['metaKey']?_0x57bd7f['data']['data']&&this['measurementController']&&this['measurementController']['handleSelection'](_0x57bd7f['data']['data'],_0x480ebf['currentTarget'],'link'):(this['measurementController']&&this['measurementController']['clearMeasurement'](),this['clearAllSelections'](_0x626f6b),_0x3a99e7(_0x480ebf['currentTarget'])['classed']('selected',!0x0),_0x3a99e7(_0x480ebf['currentTarget'])['select']('.node-border')['style']('stroke',_0x5add37?'var(--accent)':'#4a9eff')['style']('stroke-width','6'),_0x3a99e7(_0x480ebf['currentTarget'])['select']('.node-bg')['style']('fill',_0x5add37?'rgba(30,\x20142,\x2062,\x200.15)':'#3a3a3a'),_0x57bd7f['data']['data']&&this['sceneManager']&&(this['sceneManager']['highlightManager']['clearHighlight'](),this['sceneManager']['highlightManager']['highlightLink'](_0x57bd7f['data']['data'],this['sceneManager']['currentModel'])),this['codeEditorManager']&&_0x57bd7f['data']['name']&&this['codeEditorManager']['scrollToLink'](_0x57bd7f['data']['name']));}),_0x481dc2['on']('contextmenu',(_0x2d6014,_0x24ba89)=>{if(_0x2d6014['preventDefault'](),_0x2d6014['stopPropagation'](),!this['sceneManager']||!_0x24ba89['data']['data'])return;const _0x4016da=_0x24ba89['data']['name'],_0x448951=this['sceneManager']['visualizationManager']['toggleLinkVisibility'](_0x4016da,this['sceneManager']['currentModel']),_0x12517c=_0x3a99e7(_0x2d6014['currentTarget']);_0x448951?(_0x12517c['classed']('hidden',!0x1),_0x12517c['select']('.node-bg')['style']('fill',_0x2abb9e['bg'])['style']('opacity','1'),_0x12517c['select']('text')['style']('fill',_0x2abb9e['text'])['style']('opacity','1')):(_0x12517c['classed']('hidden',!0x0),_0x12517c['select']('.node-bg')['style']('fill',_0x5add37?'rgba(0,\x200,\x200,\x200.1)':'#1a1a1a')['style']('opacity','0.5'),_0x12517c['select']('text')['style']('fill',_0x5add37?'#999':'#666')['style']('opacity','0.6'));});const _0x2d1e62=_0x4e2c3d['descendants']()[0x0],_0x5dcda0=_0x2d1e62['x']+0x32,_0x250380=_0x2d1e62['y']+0x32-0x50,_0x5816fc=_0x2e29d1['append']('g')['attr']('class','graph-node\x20ground-node')['attr']('transform','translate('+_0x5dcda0+',\x20'+_0x250380+')')['style']('cursor','pointer'),_0x4f5269=_0x5816fc['append']('text')['attr']('dy',0x6)['attr']('text-anchor','middle')['style']('font-size','18px')['style']('font-weight','500')['style']('fill',_0x2abb9e['text'])['style']('user-select','none')['text']('Ground')['node']()['getBBox'](),_0xaae289=_0x4f5269['width']+0x38,_0x58e29f=_0x4f5269['height']+0x14+0x8;if(_0x5816fc['insert']('rect','text')['attr']('class','node-bg')['attr']('x',-_0xaae289/0x2)['attr']('y',-_0x58e29f/0x2)['attr']('width',_0xaae289)['attr']('height',_0x58e29f)['attr']('rx',0xc)['style']('fill',_0x2abb9e['bg'])['style']('stroke',_0x2abb9e['stroke'])['style']('stroke-width','1.5'),_0x5816fc['insert']('rect','.node-bg')['attr']('class','node-border')['attr']('x',-_0xaae289/0x2-0x2)['attr']('y',-_0x58e29f/0x2-0x2)['attr']('width',_0xaae289+0x4)['attr']('height',_0x58e29f+0x4)['attr']('rx',0xe)['style']('fill','none')['style']('stroke','transparent')['style']('stroke-width','3'),_0x5816fc['append']('title')['text']('Ground'),_0x5816fc['on']('click',_0x552007=>{_0x552007['stopPropagation'](),_0x552007['ctrlKey']||_0x552007['metaKey']?this['measurementController']&&this['measurementController']['handleSelection']({'name':'ground'},_0x552007['currentTarget'],'link'):(this['measurementController']&&this['measurementController']['clearMeasurement'](),this['clearAllSelections'](_0x626f6b),_0x3a99e7(_0x552007['currentTarget'])['classed']('selected',!0x0),_0x3a99e7(_0x552007['currentTarget'])['select']('.node-border')['style']('stroke','#4a9eff')['style']('stroke-width','6'),_0x3a99e7(_0x552007['currentTarget'])['select']('.node-bg')['style']('fill','#3a3a3a'));}),_0x771fe9['constraints']&&_0x771fe9['constraints']['size']>0x0){const _0x4aafb8=_0x2e29d1['append']('g')['attr']('class','constraints');_0x771fe9['constraints']['forEach']((_0x5c1791,_0x22608e)=>{if('connect'===_0x5c1791['type']||'weld'===_0x5c1791['type']){const _0x5daf8f=_0x4e2c3d['descendants']()['find'](_0x1907a6=>_0x1907a6['data']['name']===_0x5c1791['body1']),_0x3dd9fe=_0x4e2c3d['descendants']()['find'](_0x1b42e7=>_0x1b42e7['data']['name']===_0x5c1791['body2']);if(_0x5daf8f&&_0x3dd9fe){const _0x4d1733=_0x5daf8f['x']+0x32,_0x347638=_0x5daf8f['y']+0x32,_0x7266f5=_0x3dd9fe['x']+0x32,_0x3c02b3=_0x3dd9fe['y']+0x32,_0x4177c1='weld'===_0x5c1791['type']?'#ff6600':'#00ffff';_0x4aafb8['append']('line')['attr']('x1',_0x4d1733)['attr']('y1',_0x347638)['attr']('x2',_0x7266f5)['attr']('y2',_0x3c02b3)['style']('stroke',_0x4177c1)['style']('stroke-width','2')['style']('stroke-dasharray','5,5')['style']('opacity','0.6')['append']('title')['text'](_0x5c1791['type']+':\x20'+_0x5c1791['body1']+'\x20↔\x20'+_0x5c1791['body2']);}}else if('joint'===_0x5c1791['type']){const _0x5f43b0=_0x771fe9['getJoint'](_0x5c1791['joint1']),_0x9e1a89=_0x771fe9['getJoint'](_0x5c1791['joint2']);if(_0x5f43b0&&_0x9e1a89){const _0x2715b0=_0x4e2c3d['descendants']()['find'](_0x1672d6=>_0x1672d6['data']['name']===_0x5f43b0['child']),_0xe4035b=_0x4e2c3d['descendants']()['find'](_0x21a330=>_0x21a330['data']['name']===_0x9e1a89['child']);if(_0x2715b0&&_0xe4035b){const _0x31e833=_0x2715b0['x']+0x32,_0x2f32c5=_0x2715b0['y']+0x32,_0x1c216b=_0xe4035b['x']+0x32,_0x2e16e1=_0xe4035b['y']+0x32;_0x4aafb8['append']('line')['attr']('x1',_0x31e833)['attr']('y1',_0x2f32c5)['attr']('x2',_0x1c216b)['attr']('y2',_0x2e16e1)['style']('stroke','#ffff00')['style']('stroke-width','2')['style']('stroke-dasharray','3,3')['style']('opacity','0.5')['append']('title')['text']('Joint\x20constraint:\x20'+_0x5c1791['joint1']+'\x20↔\x20'+_0x5c1791['joint2']);}}}});}setTimeout(()=>{this['fitToView'](!0x1);},0x32);}['buildHierarchy'](_0x33f568,_0xf85f94){const _0x1ad0cf=_0xf85f94['links']['get'](_0x33f568);if(!_0x1ad0cf)return null;const _0x1ca83f={'name':_0x33f568,'data':_0x1ad0cf,'children':[]};return _0xf85f94['joints']['forEach']((_0x5cca57,_0x430d48)=>{if(_0x5cca57['parent']===_0x33f568&&_0x5cca57['child']){const _0x30741e=this['buildHierarchy'](_0x5cca57['child'],_0xf85f94);_0x30741e&&(_0x30741e['jointName']=_0x430d48,_0x30741e['jointType']=_0x5cca57['type'],_0x1ca83f['children']['push'](_0x30741e));}}),_0xf85f94['links']['forEach']((_0x5b4ad1,_0x2362b7)=>{if(!_0x1ca83f['children']['some'](_0x29630f=>_0x29630f['name']===_0x2362b7)&&_0x5b4ad1['userData']['parentName']===_0x33f568){const _0x1a595d=this['buildHierarchy'](_0x2362b7,_0xf85f94);_0x1a595d&&(_0x1a595d['jointName']=null,_0x1a595d['jointType']='fixed',_0x1a595d['isFixedConnection']=!0x0,_0x1ca83f['children']['push'](_0x1a595d));}}),_0x1ca83f;}['setupDocumentClickHandler'](){window['graphClickHandler']&&document['removeEventListener']('click',window['graphClickHandler'],!0x0),window['graphClickHandler']=_0x369da=>{const _0x5a2658=document['getElementById']('floating-model-tree');if(!_0x5a2658||'none'===_0x5a2658['style']['display'])return;if(!_0x5a2658['contains'](_0x369da['target']))return;const _0x16fe40=_0x369da['target'];_0x16fe40['tagName']['toLowerCase']();const _0x54a559=_0x16fe40['closest']('.graph-node'),_0x430dc7=_0x16fe40['closest']('.graph-joint-group'),_0x13eb0d=_0x16fe40['closest']('.floating-panel-header');if(!_0x54a559&&!_0x430dc7&&!_0x13eb0d){const _0x1ce9b5=_0x3a99e7('#model-graph-svg');this['clearAllSelections'](_0x1ce9b5),this['measurementController']&&this['measurementController']['clearMeasurement'](),this['sceneManager']&&(this['sceneManager']['highlightManager']['clearHighlight'](),this['sceneManager']['measurementManager']['clearMeasurement']());}},document['addEventListener']('click',window['graphClickHandler'],!0x0);}['clearAllSelections'](_0x3f98e6){const _0x134bda='light'===(document['documentElement']['getAttribute']('data-theme')||'dark')?'rgba(255,\x20255,\x20255,\x200.95)':'rgba(42,\x2042,\x2046,\x200.95)';_0x3f98e6['selectAll']('.graph-node')['classed']('selected',!0x1),_0x3f98e6['selectAll']('.graph-node\x20.node-border')['style']('stroke','transparent'),_0x3f98e6['selectAll']('.graph-node\x20.node-bg')['style']('fill',_0x134bda),_0x3f98e6['selectAll']('.graph-joint-group')['classed']('selected',!0x1),_0x3f98e6['selectAll']('.graph-joint-group\x20.joint-capsule-border')['style']('stroke','transparent'),_0x3f98e6['selectAll']('.graph-joint-group\x20.joint-capsule-bg')['style']('fill',_0x134bda),_0x3f98e6['selectAll']('.graph-node')['classed']('measurement-selected',!0x1),_0x3f98e6['selectAll']('.graph-joint-group')['classed']('measurement-selected',!0x1),this['sceneManager']&&this['sceneManager']['axesManager']&&this['sceneManager']['axesManager']['restoreAllJointAxes']();}['setMeasurementController'](_0x262199){this['measurementController']=_0x262199;}['setCodeEditorManager'](_0x23778d){this['codeEditorManager']=_0x23778d;}['fitToView'](_0x6dc0dd=!0x1,_0x1a9c18=0x0){if(this['currentSvg']&&this['currentContainer']&&this['currentZoom'])try{const _0x581603=this['currentSvg']['node']()['getBoundingClientRect']();let _0x4780d9;try{_0x4780d9=this['currentContainer']['node']()['getBBox']();}catch(_0x1c2fb5){return;}if(!_0x4780d9||0x0===_0x4780d9['width']||0x0===_0x4780d9['height'])return;const _0x1212b3=0x32,_0x1f0b36=(_0x581603['width']-0x2*_0x1212b3)/_0x4780d9['width'],_0x43f0f5=(_0x581603['height']-0x2*_0x1212b3)/_0x4780d9['height'];let _0x3621ab=Math['min'](_0x1f0b36,_0x43f0f5);_0x3621ab=Math['max'](0.1,Math['min'](_0x3621ab,0x2));const _0x1e4939=_0x581603['width']/0x2-(_0x4780d9['x']+_0x4780d9['width']/0x2)*_0x3621ab,_0x1cdba3=_0x581603['height']/0x2-(_0x4780d9['y']+_0x4780d9['height']/0x2)*_0x3621ab,_0x4cdc02=_0x346a3e['translate'](_0x1e4939,_0x1cdba3)['scale'](_0x3621ab);_0x6dc0dd&&_0x1a9c18>0x0?this['currentSvg']['transition']()['duration'](_0x1a9c18)['call'](this['currentZoom']['transform'],_0x4cdc02):this['currentSvg']['call'](this['currentZoom']['transform'],_0x4cdc02);}catch(_0x148ce9){}}}class qi{constructor(){this['availableModels']=[],this['onFileClick']=null;}['updateFileTree'](_0x15af6d,_0x5361a4,_0x1804e7=!0x1){this['availableModels']=_0x15af6d;const _0x1badee=document['getElementById']('model-list');if(!_0x1badee)return;const _0x1fc82e=_0x1804e7?this['saveTreeState']():[];_0x1badee['innerHTML']='',0x0!==_0x15af6d['length']?(this['buildFileTree'](_0x1badee,_0x15af6d,_0x5361a4),_0x1804e7&&_0x1fc82e['length']>0x0&&setTimeout(()=>this['restoreTreeState'](_0x1fc82e),0x0)):this['showLoadButton'](_0x1badee);}['showLoadButton'](_0x3f0006){var _0x1e537e,_0x4f1cf0,_0x33c27,_0x375bb9;const _0x32e7cb=document['createElement']('div');_0x32e7cb['className']='file-tree-empty-container',_0x32e7cb['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 _0x7c5b72=document['createElement']('div');_0x7c5b72['className']='empty-state',_0x7c5b72['style']['cssText']='margin:\x200;\x20padding:\x200;\x20text-align:\x20center;\x20line-height:\x201.6;';const _0x303ce0=document['createElement']('div');_0x303ce0['textContent']=(null==(_0x1e537e=window['i18n'])?void 0x0:_0x1e537e['t']('dropHint'))||'Drag\x20and\x20drop\x20robot\x20model\x20files\x20or\x20folders\x20anywhere',_0x303ce0['setAttribute']('data-i18n','dropHint');const _0x17ea0e=document['createElement']('div');_0x17ea0e['textContent']=(null==(_0x4f1cf0=window['i18n'])?void 0x0:_0x4f1cf0['t']('orClickButton'))||'or\x20click\x20button\x20to\x20load',_0x17ea0e['setAttribute']('data-i18n','orClickButton'),_0x17ea0e['style']['marginTop']='4px',_0x7c5b72['appendChild'](_0x303ce0),_0x7c5b72['appendChild'](_0x17ea0e);const _0x44fbff=document['createElement']('div');_0x44fbff['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 _0x42eb7a=document['createElement']('button');_0x42eb7a['className']='control-button\x20load-files-btn';const _0x2ad9c4=document['createElement']('span');_0x2ad9c4['textContent']=(null==(_0x33c27=window['i18n'])?void 0x0:_0x33c27['t']('loadFiles'))||'Load\x20Files',_0x2ad9c4['setAttribute']('data-i18n','loadFiles'),_0x42eb7a['appendChild'](_0x2ad9c4),_0x42eb7a['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',_0x42eb7a['title']='选择单个或多个文件',_0x42eb7a['addEventListener']('click',_0x39dac5=>{_0x39dac5['preventDefault'](),_0x39dac5['stopPropagation'](),this['triggerFileLoad'](!0x1);});const _0x595808=document['createElement']('button');_0x595808['className']='control-button\x20load-folder-btn';const _0x43ac86=document['createElement']('span');_0x43ac86['textContent']=(null==(_0x375bb9=window['i18n'])?void 0x0:_0x375bb9['t']('loadFolder'))||'Load\x20Folder',_0x43ac86['setAttribute']('data-i18n','loadFolder'),_0x595808['appendChild'](_0x43ac86),_0x595808['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',_0x595808['title']='选择整个文件夹',_0x595808['addEventListener']('click',_0x2a9ede=>{_0x2a9ede['preventDefault'](),_0x2a9ede['stopPropagation'](),this['triggerFileLoad'](!0x0);}),_0x44fbff['appendChild'](_0x42eb7a),_0x44fbff['appendChild'](_0x595808),_0x32e7cb['appendChild'](_0x7c5b72),_0x32e7cb['appendChild'](_0x44fbff),_0x3f0006['appendChild'](_0x32e7cb);}['triggerFileLoad'](_0x3e743e=!0x1){const _0x51cad4=document['createElement']('input');_0x51cad4['type']='file',_0x51cad4['multiple']=!0x0,_0x51cad4['webkitdirectory']=_0x3e743e,_0x51cad4['style']['display']='none',_0x3e743e||_0x51cad4['setAttribute']('accept','.urdf,.xacro,.xml,.dae,.stl,.obj,.collada,.usd,.usda,.usdc,.usdz'),_0x51cad4['addEventListener']('change',_0x53aa25=>{const _0xcda7aa=Array['from'](_0x53aa25['target']['files']);if(_0xcda7aa&&_0xcda7aa['length']>0x0){const _0x24db1d=new DataTransfer();_0xcda7aa['forEach'](_0x2f23a2=>_0x24db1d['items']['add'](_0x2f23a2));const _0x563cad=new DragEvent('drop',{'bubbles':!0x0,'cancelable':!0x0,'dataTransfer':_0x24db1d});document['body']['dispatchEvent'](_0x563cad);}document['body']['removeChild'](_0x51cad4);}),document['body']['appendChild'](_0x51cad4),_0x51cad4['click']();}['saveTreeState'](){const _0x9c4521=[];return document['querySelectorAll']('.tree-item.folder:not(.collapsed)')['forEach'](_0x180eb5=>{const _0x105dc0=_0x180eb5['querySelector']('.name');_0x105dc0&&_0x9c4521['push'](_0x105dc0['textContent']);}),_0x9c4521;}['restoreTreeState'](_0xd93bd1){_0xd93bd1&&0x0!==_0xd93bd1['length']&&document['querySelectorAll']('.tree-item.folder')['forEach'](_0x375680=>{const _0x4b3fd7=_0x375680['querySelector']('.name');_0x4b3fd7&&_0xd93bd1['includes'](_0x4b3fd7['textContent'])&&_0x375680['classList']['remove']('collapsed');});}['markActiveFile'](_0x50ddf1){document['querySelectorAll']('.tree-item.selected')['forEach'](_0x1cd1c5=>{_0x1cd1c5['classList']['remove']('selected');});document['querySelectorAll']('#model-list\x20.tree-item')['forEach'](_0x23afc9=>{const _0x445abd=_0x23afc9['querySelector']('.name');_0x445abd&&_0x445abd['textContent']===_0x50ddf1['name']&&(_0x23afc9['classList']['add']('selected'),_0x23afc9['scrollIntoView']({'behavior':'smooth','block':'nearest'}));});}['expandAndScrollToFile'](_0x466647,_0x5b147d){if(!_0x466647)return;let _0x1d4661=null;if(_0x5b147d['forEach']((_0x4ec173,_0x36ca65)=>{_0x4ec173===_0x466647&&(_0x1d4661=_0x36ca65);}),!_0x1d4661)return;const _0x1b27ae=_0x1d4661['split']('/')['filter'](_0x4eb23b=>_0x4eb23b),_0x12dfd0=[];for(let _0x32c058=0x0;_0x32c058<_0x1b27ae['length']-0x1;_0x32c058++)_0x12dfd0['push'](_0x1b27ae[_0x32c058]);document['querySelectorAll']('#model-list\x20.tree-item.folder')['forEach'](_0x301e8c=>{const _0x5d7dba=_0x301e8c['querySelector']('.name');_0x5d7dba&&_0x12dfd0['includes'](_0x5d7dba['textContent'])&&_0x301e8c['classList']['remove']('collapsed');}),setTimeout(()=>{const _0x3aa585=document['querySelectorAll']('#model-list\x20.tree-item');let _0xfa26ab=null;_0x3aa585['forEach'](_0x3b3397=>{const _0x2a1834=_0x3b3397['querySelector']('.name');if(_0x2a1834&&_0x2a1834['textContent']===_0x466647['name']){_0x3b3397['parentElement']&&(_0xfa26ab=_0x3b3397);}}),_0xfa26ab&&(_0xfa26ab['classList']['add']('selected'),_0xfa26ab['scrollIntoView']({'behavior':'smooth','block':'nearest'}));},0x64);}['isModelXML'](_0x1d8fc9){const _0xf130e9=_0x1d8fc9['toLowerCase']();return!['package','launch','config','scene','ros']['some'](_0x590ee0=>_0xf130e9['includes'](_0x590ee0));}['buildFileTree'](_0x29a782,_0xb760ac,_0x2e80ae){const _0x5d3951={};_0x2e80ae['forEach']((_0x5052d4,_0xf3329f)=>{const _0x16b8d9=_0x5052d4['name']['split']('.')['pop']()['toLowerCase']();if(!['urdf','xacro','xml','dae','stl','obj','collada','usd','usda','usdc','yml','yaml']['includes'](_0x16b8d9))return;if('xml'===_0x16b8d9&&!this['isModelXML'](_0x5052d4['name']))return;const _0x7e0367=_0xf3329f['split']('/')['filter'](_0xcc281b=>_0xcc281b);let _0x14fd91=_0x5d3951;_0x7e0367['forEach']((_0x3036cd,_0x17f77a)=>{_0x17f77a===_0x7e0367['length']-0x1?(_0x14fd91['__files']||(_0x14fd91['__files']=[]),_0x14fd91['__files']['push']({'name':_0x3036cd,'file':_0x5052d4,'path':_0xf3329f,'ext':_0x16b8d9})):(_0x14fd91[_0x3036cd]||(_0x14fd91[_0x3036cd]={}),_0x14fd91=_0x14fd91[_0x3036cd]);});}),this['renderFileTreeStructure'](_0x5d3951,_0x29a782);}['renderFileTreeStructure'](_0x4c3605,_0x520099){const _0x1022f4=[],_0x3523d8=[];Object['keys'](_0x4c3605)['forEach'](_0x31104e=>{'__files'===_0x31104e?_0x3523d8['push'](..._0x4c3605[_0x31104e]):_0x1022f4['push'](_0x31104e);}),_0x1022f4['sort']()['forEach'](_0x3b5c50=>{const _0x1710e2=this['createTreeFolder'](_0x3b5c50),_0x19291b=_0x1710e2['querySelector']('.tree-children');this['renderFileTreeStructure'](_0x4c3605[_0x3b5c50],_0x19291b),_0x520099['appendChild'](_0x1710e2);}),_0x3523d8['length']>0x0&&this['renderFiles'](_0x3523d8,_0x520099);}['createTreeFolder'](_0x245ae0){const _0xaf0f48=document['createElement']('div');_0xaf0f48['className']='tree-item\x20folder\x20collapsed';const _0x36f923=document['createElement']('div');_0x36f923['className']='tree-item-header';const _0x1f7246=document['createElement']('div');_0x1f7246['className']='tree-item-left';const _0x1bc96b=document['createElement']('span');_0x1bc96b['className']='tree-arrow';const _0x7e9f1=document['createElement']('span');_0x7e9f1['className']='icon';const _0x433d21=document['createElement']('span');_0x433d21['className']='name',_0x433d21['textContent']=_0x245ae0,_0x1f7246['appendChild'](_0x1bc96b),_0x1f7246['appendChild'](_0x7e9f1),_0x1f7246['appendChild'](_0x433d21),_0x36f923['appendChild'](_0x1f7246);const _0x4d40c3=document['createElement']('div');return _0x4d40c3['className']='tree-children',_0xaf0f48['appendChild'](_0x36f923),_0xaf0f48['appendChild'](_0x4d40c3),_0x36f923['addEventListener']('click',_0x1c50fe=>{_0x1c50fe['stopPropagation'](),_0xaf0f48['classList']['toggle']('collapsed');}),_0xaf0f48;}['renderFiles'](_0x2c8398,_0x47af77){_0x2c8398['sort']((_0x141c98,_0x5e0a6c)=>{const _0x4991b5=['urdf','xacro','xml','usd','usda','usdc'],_0x255247=_0x4991b5['includes'](_0x141c98['ext']),_0x4b96cc=_0x4991b5['includes'](_0x5e0a6c['ext']);return _0x255247&&!_0x4b96cc?-0x1:!_0x255247&&_0x4b96cc?0x1:_0x141c98['name']['localeCompare'](_0x5e0a6c['name']);}),_0x2c8398['forEach'](_0x218f99=>{const _0x35738c=this['createTreeItem'](_0x218f99['name'],_0x218f99['ext']);_0x35738c['addEventListener']('click',_0x2e42cb=>{var _0xc50ada;_0x2e42cb['stopPropagation'](),document['querySelectorAll']('.tree-item.selected')['forEach'](_0x2a5460=>{_0x2a5460['classList']['remove']('selected');}),_0x35738c['classList']['add']('selected'),null==(_0xc50ada=this['onFileClick'])||_0xc50ada['call'](this,_0x218f99);}),_0x47af77['appendChild'](_0x35738c);});}['createTreeItem'](_0x45eeaf,_0x643f99){const _0x427c43=document['createElement']('div');_0x427c43['className']='tree-item';const _0x344f36=document['createElement']('div');_0x344f36['className']='tree-item-header';const _0x4bedd3=document['createElement']('div');_0x4bedd3['className']='tree-item-left';const _0xecc65c=document['createElement']('span');_0xecc65c['className']='icon';const _0x54f2d7=document['createElement']('span');if(_0x54f2d7['className']='name',_0x54f2d7['textContent']=_0x45eeaf,_0x4bedd3['appendChild'](_0xecc65c),_0x4bedd3['appendChild'](_0x54f2d7),_0x344f36['appendChild'](_0x4bedd3),_0x45eeaf&&_0x45eeaf['includes']('.')){const _0x8fc5af=_0x45eeaf['split']('.')['pop']()['toUpperCase']();if(['URDF','XACRO','XML','DAE','STL','OBJ','USD','USDA','USDC','USDZ']['includes'](_0x8fc5af)){const _0x104788=document['createElement']('span');_0x104788['className']='type-badge',_0x104788['textContent']=_0x8fc5af,_0x344f36['appendChild'](_0x104788);}}return _0x427c43['appendChild'](_0x344f36),_0x427c43;}}class Bi{constructor(_0x2cfccb,_0xaddfdf='vscode-dark'){this['parentElement']=_0x2cfccb,this['view']=null,this['onChangeCallback']=null,this['currentTheme']=_0xaddfdf,this['setupEditor']();}['getThemeExtension'](){return'light'===(document['documentElement']['getAttribute']('data-theme')||'dark')?_0x1b5e0c:_0x344e51;}['setupEditor'](){this['parentElement']['innerHTML']='';const _0xa153e3=_0xc36b63['create']({'doc':'','extensions':[_0x3f107c,_0x4ef7d1(),this['getThemeExtension'](),_0x3ebda5['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'}}),_0x3ebda5['updateListener']['of'](_0x44bae5=>{_0x44bae5['docChanged']&&this['onChangeCallback']&&this['onChangeCallback'](this['getValue']());})]});this['view']=new _0x3ebda5({'state':_0xa153e3,'parent':this['parentElement']});}['setValue'](_0x10dbb5){if(!this['view'])return;const _0x5daee0=this['view']['state']['update']({'changes':{'from':0x0,'to':this['view']['state']['doc']['length'],'insert':_0x10dbb5||''}});this['view']['dispatch'](_0x5daee0);}['getValue'](){return this['view']?this['view']['state']['doc']['toString']():'';}['onChange'](_0x49a9ad){this['onChangeCallback']=_0x49a9ad;}['focus'](){this['view']&&this['view']['focus']();}['destroy'](){this['view']&&(this['view']['destroy'](),this['view']=null);}['updateTheme'](_0x3ebe9a){if(!this['view'])return;const _0x17d1d4=this['getValue'](),_0x54a79a=this['view']['state']['selection']['main']['head'];this['view']['destroy'](),this['setupEditor'](),this['setValue'](_0x17d1d4),this['view']['dispatch']({'selection':{'anchor':_0x54a79a,'head':_0x54a79a}});}['scrollToLine'](_0x4dc0a6,_0xc153ac=!0x0){if(this['view']&&!(_0x4dc0a6<0x1))try{const _0x88f7a8=this['view']['state']['doc'],_0x2956ba=_0x88f7a8['lines'],_0x41d20f=Math['min'](Math['max'](0x1,_0x4dc0a6),_0x2956ba),_0x42aff7=_0x88f7a8['line'](_0x41d20f),_0x3c0a09=_0x42aff7['from'];this['view']['dispatch']({'selection':{'anchor':_0x3c0a09,'head':_0x42aff7['to']},'scrollIntoView':!0x0}),this['view']['focus']();}catch(_0xd035bb){}}['searchAndScroll'](_0x4aed0d,_0x51109b=!0x0){if(!this['view']||!_0x4aed0d)return!0x1;try{const _0xe65ec2=this['getValue'](),_0x43a2c5=_0x51109b?_0xe65ec2:_0xe65ec2['toLowerCase'](),_0x11cdfa=_0x51109b?_0x4aed0d:_0x4aed0d['toLowerCase'](),_0x495a35=_0x43a2c5['indexOf'](_0x11cdfa);return-0x1!==_0x495a35&&(this['view']['dispatch']({'selection':{'anchor':_0x495a35,'head':_0x495a35+_0x4aed0d['length']},'scrollIntoView':!0x0}),this['view']['focus'](),!0x0);}catch(_0x57bc3c){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'](_0x589b10){this['fileMap']=_0x589b10;const _0x6bd6de=document['getElementById']('code-editor-wrapper');_0x6bd6de&&(this['codeEditorInstance']=new Bi(_0x6bd6de),this['codeEditorInstance']['onChange'](_0xb0ad38=>{this['editorState']['currentContent']=_0xb0ad38,this['updateEditorSaveStatus']();}),this['setupEditorControls'](),this['updateEditorSaveStatus'](),this['setupFileControls']());}['setupFileControls'](){const _0x177c59=document['getElementById']('editor-filename-input'),_0x22f746=document['getElementById']('editor-filename');if(!_0x177c59||!_0x22f746)return;const _0x3b1b0a=()=>{this['editorState']['currentFile']?(_0x177c59['style']['display']='none',_0x22f746['style']['display']='inline-block'):(_0x177c59['style']['display']='inline-block',_0x22f746['style']['display']='none',_0x177c59['value']=this['editorState']['defaultFileName']);};_0x3b1b0a(),_0x177c59['addEventListener']('input',_0x5406dd=>{this['editorState']['defaultFileName']=_0x5406dd['target']['value']['trim']()||'newfile.xml';}),this['updateControlsVisibility']=_0x3b1b0a;}['detectFileTypeFromName'](_0x52b222){return{'xml':'urdf','urdf':'urdf','xacro':'xacro','mjcf':'mjcf','usd':'usd','usda':'usd','usdc':'usd','usdz':'usd'}[_0x52b222['toLowerCase']()['split']('.')['pop']()]||'urdf';}['setupEditorControls'](){const _0x300489=document['getElementById']('open-editor-btn'),_0x31c0e7=document['getElementById']('code-editor-panel'),_0x18d533=document['getElementById']('close-editor-btn'),_0x2f36a8=document['getElementById']('save-btn'),_0x36bdfa=document['getElementById']('reload-btn');_0x300489&&_0x31c0e7&&(_0x31c0e7['classList']['add']('visible'),_0x300489['classList']['add']('active'),_0x300489['addEventListener']('click',async()=>{if(_0x31c0e7['classList']['contains']('visible'))return _0x31c0e7['classList']['remove']('visible'),void _0x300489['classList']['remove']('active');_0x31c0e7['classList']['add']('visible'),_0x300489['classList']['add']('active'),this['editorState']['currentFile']||(this['codeEditorInstance']['setValue'](''),document['getElementById']('editor-filename')['textContent']=window['i18n']['t']('newFile'),this['updateEditorSaveStatus']());}),_0x18d533&&_0x18d533['addEventListener']('click',()=>{_0x31c0e7['classList']['remove']('visible'),_0x300489['classList']['remove']('active');}),_0x36bdfa&&_0x36bdfa['addEventListener']('click',async()=>{try{const _0x5bda73=this['codeEditorInstance']['getValue']();if(!_0x5bda73||0x0===_0x5bda73['trim']()['length'])return;let _0x5f3e05,_0x55ce46;if(this['editorState']['currentFile'])_0x5f3e05=this['editorState']['currentFile']['name'],_0x55ce46=this['editorState']['currentFile']['type'];else{const _0x2ddfbb=document['getElementById']('editor-filename-input');_0x5f3e05=_0x2ddfbb&&_0x2ddfbb['value']['trim']()||this['editorState']['defaultFileName'],_0x55ce46=this['detectFileTypeFromName'](_0x5f3e05);}const _0x51b316=new Blob([_0x5bda73],{'type':'text/plain'}),_0x39e0eb=new File([_0x51b316],_0x5f3e05,{'type':_0x55ce46});if(this['editorState']['currentFile']){const _0x3cf0cc=[];for(const [_0x5d27ab]of this['fileMap']['entries']())(_0x5d27ab['endsWith'](_0x5f3e05)||_0x5d27ab===_0x5f3e05)&&_0x3cf0cc['push'](_0x5d27ab);_0x3cf0cc['forEach'](_0x9c0fa0=>{this['fileMap']['set'](_0x9c0fa0,_0x39e0eb);});}else this['fileMap']['set'](_0x5f3e05,_0x39e0eb);const _0x2a84d8=_0x5bda73;if(this['_reloadingInProgress']=!0x0,this['onReload']&&await this['onReload'](_0x39e0eb,!0x0),this['editorState']['currentContent']=_0x2a84d8,!this['editorState']['currentFile']){this['editorState']['currentFile']=_0x39e0eb;const _0xfb5599=document['getElementById']('editor-filename');_0xfb5599&&(_0xfb5599['textContent']=_0x5f3e05),this['updateControlsVisibility']&&this['updateControlsVisibility']();}this['_reloadingInProgress']=!0x1;}catch(_0x4eabba){this['_reloadingInProgress']=!0x1;}}),_0x2f36a8&&_0x2f36a8['addEventListener']('click',async()=>{this['editorState']['currentFile']&&await this['performSave']();}));}async['loadFile'](_0x440ef2,_0x409dc9=!0x0){if(_0x440ef2&&this['codeEditorInstance']&&(!_0x409dc9||!this['_reloadingInProgress']))try{const _0x31d2f8=await dt(_0x440ef2);this['editorState']['currentFile']=_0x440ef2,this['editorState']['originalContent']=_0x31d2f8,this['editorState']['currentContent']=_0x31d2f8,this['codeEditorInstance']['setValue'](_0x31d2f8);const _0x320d64=document['getElementById']('editor-filename');_0x320d64&&(_0x320d64['textContent']=_0x440ef2['name']),this['updateControlsVisibility']&&this['updateControlsVisibility'](),setTimeout(()=>{const _0x527526=document['getElementById']('editor-save-status');_0x527526&&(_0x527526['textContent']=window['i18n']['t']('saved'),_0x527526['className']='code-editor-save-status\x20saved');},0x64);}catch(_0x3752a8){}}['updateEditorSaveStatus'](){const _0x209159=document['getElementById']('editor-save-status');if(!_0x209159||!this['codeEditorInstance'])return;if(!this['editorState']['currentFile'])return _0x209159['textContent']=window['i18n']['t']('unsaved'),void(_0x209159['className']='code-editor-save-status\x20unsaved');this['codeEditorInstance']['getValue']()!==this['editorState']['originalContent']?(_0x209159['textContent']=window['i18n']['t']('unsaved'),_0x209159['className']='code-editor-save-status\x20unsaved'):(_0x209159['textContent']=window['i18n']['t']('saved'),_0x209159['className']='code-editor-save-status\x20saved');}['updateTheme'](_0x5bd489){this['codeEditorInstance']&&this['codeEditorInstance']['updateTheme'](_0x5bd489);}async['performSave'](){try{const _0x18cd06=this['codeEditorInstance']['getValue'](),_0x1dfe07=this['editorState']['currentFile']['name'];this['downloadFile'](_0x18cd06,_0x1dfe07);const _0x3e455e=new Blob([_0x18cd06],{'type':'text/plain'}),_0x5f3fbb=new File([_0x3e455e],_0x1dfe07,{'type':this['editorState']['currentFile']['type']});for(const [_0x5799f0,_0x59243a]of this['fileMap']['entries']())(_0x59243a===this['editorState']['currentFile']||_0x5799f0===_0x1dfe07||_0x5799f0['endsWith']('/'+_0x1dfe07))&&this['fileMap']['set'](_0x5799f0,_0x5f3fbb);this['editorState']['currentFile']=_0x5f3fbb,this['editorState']['originalContent']=_0x18cd06,this['editorState']['currentContent']=_0x18cd06,this['updateEditorSaveStatus']();}catch(_0x9c4c10){this['showInlineMessage']('Download\x20failed:\x20'+_0x9c4c10['message'],'error');}}['downloadFile'](_0x49bfc8,_0x35ecea){try{const _0x559351=new Blob([_0x49bfc8],{'type':'text/plain;charset=utf-8'}),_0x547864=URL['createObjectURL'](_0x559351),_0x11394e=document['createElement']('a');_0x11394e['href']=_0x547864,_0x11394e['download']=_0x35ecea,_0x11394e['style']['display']='none',document['body']['appendChild'](_0x11394e),_0x11394e['click'](),document['body']['removeChild'](_0x11394e),URL['revokeObjectURL'](_0x547864);}catch(_0x1ab7fa){throw _0x1ab7fa;}}['showInlineMessage'](_0x496a75,_0x449fcb='info'){const _0x22f8a2=document['getElementById']('code-editor-panel');if(!_0x22f8a2)return;const _0x410388=_0x22f8a2['querySelector']('.editor-inline-message');_0x410388&&_0x410388['remove']();const _0x56b9e5={'success':'#4ade80','error':'#ff6b6b','warning':'#fbbf24','info':'#4a9eff'},_0xbafcc7=document['createElement']('div');_0xbafcc7['className']='editor-inline-message',_0xbafcc7['textContent']=_0x496a75,_0xbafcc7['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'+(_0x56b9e5[_0x449fcb]||_0x56b9e5['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',_0x22f8a2['appendChild'](_0xbafcc7),setTimeout(()=>{_0xbafcc7['style']['animation']='messageSlideOut\x200.3s\x20ease',setTimeout(()=>_0xbafcc7['remove'](),0x12c);},0xbb8);}['clearEditor'](){if(!this['codeEditorInstance'])return;this['codeEditorInstance']['setValue'](''),this['editorState']['currentFile']=null,this['editorState']['originalContent']='',this['editorState']['currentContent']='';const _0x5456d7=document['getElementById']('editor-filename');_0x5456d7&&(_0x5456d7['textContent']=window['i18n']['t']('newFile')),this['updateControlsVisibility']&&this['updateControlsVisibility'](),this['updateEditorSaveStatus']();}['getEditor'](){return this['codeEditorInstance'];}['getValue'](){return this['codeEditorInstance']?this['codeEditorInstance']['getValue']():'';}['setValue'](_0x41d485){this['codeEditorInstance']&&(this['codeEditorInstance']['setValue'](_0x41d485||''),this['editorState']['currentContent']=_0x41d485||'');}['scrollToLink'](_0x586b68){if(!this['codeEditorInstance']||!_0x586b68)return!0x1;const _0x5a9545=document['getElementById']('code-editor-panel'),_0x34f7ce=document['getElementById']('open-editor-btn');_0x5a9545&&!_0x5a9545['classList']['contains']('visible')&&(_0x5a9545['classList']['add']('visible'),_0x34f7ce&&_0x34f7ce['classList']['add']('active'));const _0x14f405='<link\x20name=\x22'+_0x586b68+'\x22',_0x238261='<body\x20name=\x22'+_0x586b68+'\x22';let _0x59ba41=this['codeEditorInstance']['searchAndScroll'](_0x14f405,!0x0);return _0x59ba41||(_0x59ba41=this['codeEditorInstance']['searchAndScroll'](_0x238261,!0x0)),_0x59ba41;}['scrollToJoint'](_0xca8a1e){if(!this['codeEditorInstance']||!_0xca8a1e)return!0x1;const _0x58d2e6=document['getElementById']('code-editor-panel'),_0x3f9de1=document['getElementById']('open-editor-btn');_0x58d2e6&&!_0x58d2e6['classList']['contains']('visible')&&(_0x58d2e6['classList']['add']('visible'),_0x3f9de1&&_0x3f9de1['classList']['add']('active'));const _0xa03dfa='<joint\x20name=\x22'+_0xca8a1e+'\x22';return this['codeEditorInstance']['searchAndScroll'](_0xa03dfa,!0x0);}['updateUrdfOriginRpy'](_0x2ae13a,_0x2efbc4){var _0x3f65f6;if(!this['codeEditorInstance'])return!0x1;const _0x2e9424=this['codeEditorInstance']['getValue']();if(!_0x2e9424)return!0x1;try{const _0x18c2fb=new DOMParser()['parseFromString'](_0x2e9424,'text/xml');if(_0x18c2fb['querySelector']('parsererror'))return!0x1;const _0x376f7a=_0x18c2fb['querySelector']('joint[name=\x22'+_0x2ae13a+'\x22]');if(!_0x376f7a)return!0x1;let _0x5d43ea=_0x376f7a['querySelector']('origin');_0x5d43ea||(_0x5d43ea=_0x18c2fb['createElement']('origin'),_0x376f7a['insertBefore'](_0x5d43ea,_0x376f7a['firstChild']));const _0x14d356=_0x2efbc4['map'](_0x24c3ec=>parseFloat(_0x24c3ec['toFixed'](0x4)))['join']('\x20');_0x5d43ea['setAttribute']('rpy',_0x14d356);const _0x4da2b5=new XMLSerializer()['serializeToString'](_0x18c2fb);this['codeEditorInstance']['setValue'](_0x4da2b5),this['editorState']['currentContent']=_0x4da2b5;const _0x2997ba=document['getElementById']('editor-save-status');return _0x2997ba&&(_0x2997ba['textContent']=(null==(_0x3f65f6=window['i18n'])?void 0x0:_0x3f65f6['t']('unsaved'))||'未保存',_0x2997ba['className']='status-unsaved'),!0x0;}catch(_0x4abb59){return!0x1;}}['getJointOriginRpy'](_0x1a11fe){if(!this['codeEditorInstance'])return null;const _0x282669=this['codeEditorInstance']['getValue']();if(!_0x282669)return null;try{const _0x47cffb=new DOMParser()['parseFromString'](_0x282669,'text/xml');if(_0x47cffb['querySelector']('parsererror'))return null;const _0x451050=_0x47cffb['querySelector']('joint[name=\x22'+_0x1a11fe+'\x22]');if(!_0x451050)return null;const _0x87ede8=_0x451050['querySelector']('origin');if(!_0x87ede8)return[0x0,0x0,0x0];const _0x2267bc=_0x87ede8['getAttribute']('rpy');return _0x2267bc?_0x2267bc['trim']()['split'](/\s+/)['map'](parseFloat):[0x0,0x0,0x0];}catch(_0x467e17){return null;}}}class Ji{constructor(_0x389b1b){this['sceneManager']=_0x389b1b,this['selectedObjects']=[];}['handleSelection'](_0x57bdd5,_0x193064,_0x5c2d02){const _0x23b4ce=this['selectedObjects']['findIndex'](_0x5915e4=>_0x5915e4['name']===_0x57bdd5['name']&&_0x5915e4['type']===_0x5c2d02);if(_0x23b4ce>=0x0)this['selectedObjects']['splice'](_0x23b4ce,0x1),_0x3a99e7(_0x193064)['classed']('measurement-selected',!0x1);else{if(this['selectedObjects']['length']>=0x2){const _0x3088f9=this['selectedObjects']['shift'](),_0xfaf408=_0x3a99e7('#model-graph-svg');'joint'===_0x3088f9['type']?_0xfaf408['selectAll']('.graph-joint-group')['filter'](_0x42604f=>{var _0x46fca2,_0x853979;return(null==(_0x853979=null==(_0x46fca2=_0x42604f['target'])?void 0x0:_0x46fca2['data'])?void 0x0:_0x853979['jointName'])===_0x3088f9['name'];})['classed']('measurement-selected',!0x1):'link'===_0x3088f9['type']&&_0xfaf408['selectAll']('.graph-node')['filter'](_0x1f330d=>{var _0x181856,_0x2cefc1;return(null==(_0x2cefc1=null==(_0x181856=_0x1f330d['data'])?void 0x0:_0x181856['data'])?void 0x0:_0x2cefc1['name'])===_0x3088f9['name'];})['classed']('measurement-selected',!0x1);}this['selectedObjects']['push']({..._0x57bdd5,'type':_0x5c2d02}),_0x3a99e7(_0x193064)['classed']('measurement-selected',!0x0);}0x2===this['selectedObjects']['length']?this['showMeasurement'](this['selectedObjects'][0x0],this['selectedObjects'][0x1]):this['sceneManager']&&this['sceneManager']['measurementManager']['clearMeasurement']();}['showMeasurement'](_0x394188,_0x4ab133){if(!this['sceneManager'])return;const _0x2ee107=_0x3f30db=>{var _0x3756d7;const _0x28c90c=new _0x47b065();return'joint'===_0x3f30db['type']&&_0x3f30db['threeObject']?_0x3f30db['threeObject']['getWorldPosition'](_0x28c90c):'link'===_0x3f30db['type']&&('ground'===_0x3f30db['name']?_0x28c90c['set'](0x0,(null==(_0x3756d7=this['sceneManager']['groundPlane'])?void 0x0:_0x3756d7['position']['y'])||0x0,0x0):_0x3f30db['threeObject']&&_0x3f30db['threeObject']['getWorldPosition'](_0x28c90c)),_0x28c90c;},_0x214eb5=_0x2ee107(_0x394188),_0x44bfb9=_0x2ee107(_0x4ab133),_0x4a0342='ground'===_0x394188['name']||'ground'===_0x4ab133['name'],_0x48adca={'x':_0x44bfb9['x']-_0x214eb5['x'],'y':_0x44bfb9['y']-_0x214eb5['y'],'z':_0x44bfb9['z']-_0x214eb5['z']},_0x377960=_0x214eb5['distanceTo'](_0x44bfb9),_0xa5e4df='ground'===_0x394188['name']?'Ground':_0x394188['name'],_0x567c6a='ground'===_0x4ab133['name']?'Ground':_0x4ab133['name'];this['sceneManager']['measurementManager']['showMeasurement'](_0x214eb5,_0x44bfb9,_0x48adca,_0x377960,_0xa5e4df,_0x567c6a,_0x4a0342);}['updateMeasurement'](){0x2===this['selectedObjects']['length']&&this['showMeasurement'](this['selectedObjects'][0x0],this['selectedObjects'][0x1]);}['clearMeasurement'](){this['selectedObjects']=[];const _0x518c46=_0x3a99e7('#model-graph-svg');_0x518c46['selectAll']('.graph-node')['classed']('measurement-selected',!0x1),_0x518c46['selectAll']('.graph-joint-group')['classed']('measurement-selected',!0x1),this['sceneManager']&&this['sceneManager']['measurementManager']['clearMeasurement']();}['getSelectedObjects'](){return this['selectedObjects'];}}class Hi{constructor(_0x8abaef){this['container']=_0x8abaef,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((_0x3c10e7,_0x258322)=>{const _0x284e23=setTimeout(()=>{_0x258322(new Error('USD\x20viewer\x20initialization\x20timeout'));},0x7530);this['messageHandlers']['set']('IFRAME_READY',_0xaceffc=>{var _0xf010b;'IFRAME_READY'===(null==(_0xf010b=_0xaceffc['data'])?void 0x0:_0xf010b['type'])&&(clearTimeout(_0x284e23),this['messageHandlers']['delete']('IFRAME_READY'),this['isReady']=!0x0,_0x3c10e7());}),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'](_0x3eb25a){const _0x4821f0=_0x3eb25a['data'];if(!_0x4821f0||'object'!=typeof _0x4821f0)return;if(!['IFRAME_READY','USD_LOADED','USD_LOADING_START','USD_ERROR']['includes'](_0x4821f0['type']))return;const _0x1319be=this['messageHandlers']['get'](_0x4821f0['type']);_0x1319be&&('function'==typeof _0x1319be?_0x1319be(_0x3eb25a):Array['isArray'](_0x1319be)&&_0x1319be['forEach'](_0x2d0aac=>_0x2d0aac(_0x3eb25a)));}['on'](_0x1fa3d0,_0x1ea10d){const _0x456582=this['messageHandlers']['get'](_0x1fa3d0);_0x456582?'function'==typeof _0x456582?this['messageHandlers']['set'](_0x1fa3d0,[_0x456582,_0x1ea10d]):_0x456582['push'](_0x1ea10d):this['messageHandlers']['set'](_0x1fa3d0,_0x1ea10d);}['postMessage'](_0x1c4004,_0x41bf42={}){if(this['iframe'])try{this['iframe']['contentWindow']['postMessage']({'type':_0x1c4004,..._0x41bf42},'*');}catch(_0x10a726){}}async['loadFromFile'](_0x12ccca){await this['initialize']();const _0x22d38f=await _0x12ccca['arrayBuffer'](),_0x2e6457=[{'path':_0x12ccca['name'],'buffer':_0x22d38f}];return new Promise((_0x42c5dd,_0x3b95f7)=>{const _0x5093a=setTimeout(()=>_0x3b95f7(new Error('Load\x20timeout')),0xea60);this['on']('USD_LOADED',()=>{clearTimeout(_0x5093a),this['messageHandlers']['delete']('USD_LOADED'),_0x42c5dd();}),this['postMessage']('USD_LOAD_ENTRIES',{'entries':_0x2e6457,'primaryPath':_0x12ccca['name']});});}async['loadFromFilesMap'](_0x5f571b,_0x327faf){await this['initialize']();const _0x4066e2=[];for(const [_0x3e1ba2,_0x3faa6b]of Object['entries'](_0x5f571b))try{const _0xcf4f3d=await _0x3faa6b['arrayBuffer']();_0x4066e2['push']({'path':_0x3e1ba2,'buffer':_0xcf4f3d});}catch(_0x3ec1ba){}return new Promise((_0x3e6dbe,_0x283a15)=>{const _0x2f62f4=setTimeout(()=>_0x283a15(new Error('Load\x20timeout')),0xea60);this['on']('USD_LOADED',()=>{clearTimeout(_0x2f62f4),this['messageHandlers']['delete']('USD_LOADED'),_0x3e6dbe();}),this['postMessage']('USD_LOAD_ENTRIES',{'entries':_0x4066e2,'primaryPath':_0x327faf});});}['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 _0x43430b;window['removeEventListener']('message',this['handleMessage']),(null==(_0x43430b=this['iframe'])?void 0x0:_0x43430b['parentNode'])&&this['iframe']['parentNode']['removeChild'](this['iframe']),this['iframe']=null,this['isReady']=!0x1,this['messageHandlers']['clear']();}}class Gi{constructor(_0xc4bf14,_0x2880ef,_0x1b336d,_0x35c11a,_0x55ac19){this['scene']=_0xc4bf14,this['renderer']=_0x2880ef,this['camera']=_0x1b336d,this['mousePos']=new _0x2bb978(),this['raycaster']=new _0x28dd19(),this['raycaster']['params']['Line']['threshold']=0.1,this['grabDistance']=0x0,this['active']=!0x1,this['physicsObject']=null,this['controls']=_0x55ac19,this['arrow']=new _0x5be7b6(new _0x47b065(0x0,0x1,0x0),new _0x47b065(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 _0x47b065(),this['worldHit']=new _0x47b065(),this['currentWorld']=new _0x47b065(),this['enabled']=!0x1,this['container']=_0x35c11a,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'](_0x1d1eeb,_0x336ddd){const _0x290bd9=this['renderer']['domElement']['getBoundingClientRect']();this['mousePos']['x']=(_0x1d1eeb-_0x290bd9['left'])/_0x290bd9['width']*0x2-0x1,this['mousePos']['y']=-(_0x336ddd-_0x290bd9['top'])/_0x290bd9['height']*0x2+0x1,this['raycaster']['setFromCamera'](this['mousePos'],this['camera']);}['start'](_0x38b784,_0x405273){this['physicsObject']=null,this['updateRaycaster'](_0x38b784,_0x405273);const _0x252335=this['raycaster']['intersectObjects'](this['scene']['children'],!0x0);for(let _0xa53784=0x0;_0xa53784<_0x252335['length'];_0xa53784++){const _0x6013de=_0x252335[_0xa53784]['object'];if(void 0x0!==_0x6013de['bodyID']&&_0x6013de['bodyID']>0x0){this['physicsObject']=_0x6013de,this['grabDistance']=_0x252335[_0xa53784]['distance'];const _0x44b5e6=this['raycaster']['ray']['origin']['clone']();_0x44b5e6['addScaledVector'](this['raycaster']['ray']['direction'],this['grabDistance']),this['arrow']['position']['copy'](_0x44b5e6),this['active']=!0x0,this['controls']['enabled']=!0x1,this['localHit']=_0x6013de['worldToLocal'](_0x44b5e6['clone']()),this['worldHit']['copy'](_0x44b5e6),this['currentWorld']['copy'](_0x44b5e6),this['arrow']['visible']=!0x0,this['highlightBody'](_0x6013de);break;}}}['move'](_0x89ddd0,_0x4fdb7c){if(this['active']){this['updateRaycaster'](_0x89ddd0,_0x4fdb7c);const _0x3a0aeb=this['raycaster']['ray']['origin']['clone']();_0x3a0aeb['addScaledVector'](this['raycaster']['ray']['direction'],this['grabDistance']),this['currentWorld']['copy'](_0x3a0aeb),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'](_0x2b48fd){let _0x11e1a6=_0x2b48fd;for(;_0x11e1a6&&!_0x11e1a6['isGroup'];)_0x11e1a6=_0x11e1a6['parent'];_0x11e1a6&&_0x11e1a6['traverse'](_0x5c28e4=>{_0x5c28e4['isMesh']&&_0x5c28e4['material']&&_0x5c28e4['material']['emissive']&&(this['originalEmissive']['has'](_0x5c28e4['uuid'])||this['originalEmissive']['set'](_0x5c28e4['uuid'],{'color':_0x5c28e4['material']['emissive']['clone'](),'intensity':_0x5c28e4['material']['emissiveIntensity']||0x0}),_0x5c28e4['material']['emissive']['setHex'](this['highlightColor']),_0x5c28e4['material']['emissiveIntensity']=0.5);});}['unhighlightBody'](_0x3983ef){let _0x4614da=_0x3983ef;for(;_0x4614da&&!_0x4614da['isGroup'];)_0x4614da=_0x4614da['parent'];_0x4614da&&_0x4614da['traverse'](_0x56bb16=>{if(_0x56bb16['isMesh']&&_0x56bb16['material']&&this['originalEmissive']['has'](_0x56bb16['uuid'])){const _0x4a0e79=this['originalEmissive']['get'](_0x56bb16['uuid']);_0x56bb16['material']['emissive']&&(_0x56bb16['material']['emissive']['copy'](_0x4a0e79['color']),_0x56bb16['material']['emissiveIntensity']=_0x4a0e79['intensity']),this['originalEmissive']['delete'](_0x56bb16['uuid']);}});}['onPointer'](_0x2c8722){this['enabled']&&('pointerdown'===_0x2c8722['type']?(this['start'](_0x2c8722['clientX'],_0x2c8722['clientY']),this['mouseDown']=!0x0):'pointermove'===_0x2c8722['type']&&this['mouseDown']?this['active']&&this['move'](_0x2c8722['clientX'],_0x2c8722['clientY']):'pointerup'===_0x2c8722['type']&&this['end'](_0x2c8722));}}class Wi{constructor(_0x2bd7dd){this['sceneManager']=_0x2bd7dd,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 _0x47b065(),this['tmpQuat']=new _0x57eb35(),this['isLoaded']=!0x1,this['isSimulating']=!0x1,this['isOldAPI']=!0x1;}async['init'](){if(this['mujoco'])return this['mujoco'];try{const _0x373a5f=(await Ae(()=>import('./mujoco_wasm-d0cfe29a.js'),["./mujoco_wasm-d0cfe29a.js","./three-9c891de0.js","./d3-2e308866.js","./codemirror-c3cec7b3.js","./codemirror-themes-e6995a6a.js"],import.meta.url))['default'];return this['mujoco']=await _0x373a5f(),this['mujoco']['FS']['mkdir']('/working'),this['mujoco']['FS']['mount'](this['mujoco']['MEMFS'],{'root':'.'},'/working'),this['mujoco'];}catch(_0x38bbe5){throw _0x38bbe5;}}async['loadScene'](_0x183df8,_0x25d9cd,_0x21ddff,_0x5aa1a4){try{this['mujoco']||await this['init'](),this['clearScene'](),this['originalModel']=_0x5aa1a4;const _0x41fe13=this['addGroundPlane'](_0x183df8),_0x3f943e='/working/'+_0x25d9cd;this['mujoco']['FS']['writeFile'](_0x3f943e,_0x41fe13),_0x21ddff&&_0x21ddff['size']>0x0&&await this['writeAssetsToVFS'](_0x183df8,_0x25d9cd,_0x21ddff);try{if(this['mujoco']['Model']&&'function'==typeof this['mujoco']['Model']['load_from_xml'])this['model']=this['mujoco']['Model']['load_from_xml'](_0x3f943e),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'](_0x3f943e),this['data']=new this['mujoco']['MjData'](this['model']),this['isOldAPI']=!0x0;}}catch(_0x803947){let _0x3d0efa='MuJoCo\x20model\x20loading\x20failed:\x20';throw _0x803947['message']?_0x3d0efa+=_0x803947['message']:_0x3d0efa+='Unknown\x20error',_0x803947['message']&&(_0x803947['message']['includes']('mesh')||_0x803947['message']['includes']('mjCMesh'))&&(_0x3d0efa+='\x0a\x0aThis\x20is\x20usually\x20caused\x20by\x20one\x20of\x20the\x20following:',_0x3d0efa+='\x0a1.\x20Mesh\x20file\x20path\x20is\x20incorrect\x20or\x20file\x20is\x20missing',_0x3d0efa+='\x0a2.\x20Mesh\x20file\x20format\x20is\x20not\x20supported\x20or\x20corrupted',_0x3d0efa+='\x0a3.\x20Mesh\x20file\x20was\x20not\x20properly\x20written\x20to\x20virtual\x20file\x20system'),new Error(_0x3d0efa);}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 _0x190ee3=this['sceneManager']['renderer']['domElement'];this['dragStateManager']=new Gi(this['sceneManager']['scene'],this['sceneManager']['renderer'],this['sceneManager']['camera'],_0x190ee3,this['sceneManager']['controls']);}return null;}catch(_0x420b82){throw _0x420b82;}}['addGroundPlane'](_0x2db1a7){const _0x197cf2=new DOMParser()['parseFromString'](_0x2db1a7,'application/xml'),_0x453072=_0x197cf2['querySelector']('worldbody');if(!_0x453072)return _0x2db1a7;if(_0x453072['querySelector']('geom[type=\x22plane\x22]'))return _0x2db1a7;const _0x1483df=this['sceneManager']['groundPlane']?this['sceneManager']['groundPlane']['position']['y']:0x0,_0x23a178=_0x197cf2['createElement']('geom');_0x23a178['setAttribute']('name','ground'),_0x23a178['setAttribute']('type','plane'),_0x23a178['setAttribute']('size','10\x2010\x200.1'),_0x23a178['setAttribute']('rgba','0.9\x200.9\x200.9\x201'),_0x23a178['setAttribute']('pos','0\x200\x20'+_0x1483df),_0x23a178['setAttribute']('contype','1'),_0x23a178['setAttribute']('conaffinity','1'),_0x23a178['setAttribute']('condim','3'),_0x23a178['setAttribute']('friction','1\x200.005\x200.0001'),_0x453072['firstChild']?_0x453072['insertBefore'](_0x23a178,_0x453072['firstChild']):_0x453072['appendChild'](_0x23a178);return new XMLSerializer()['serializeToString'](_0x197cf2);}async['writeAssetsToVFS'](_0x2b1045,_0x35356d,_0x5f1bf1){const _0xcf6bb1=new DOMParser()['parseFromString'](_0x2b1045,'application/xml'),_0x387c1d=_0xcf6bb1['querySelector']('compiler'),_0x23d7ba=(null==_0x387c1d?void 0x0:_0x387c1d['getAttribute']('meshdir'))||'assets',_0x10a576=(null==_0x387c1d?void 0x0:_0x387c1d['getAttribute']('texturedir'))||_0x23d7ba,_0x571471=new Set(),_0x22d446=new Map();_0xcf6bb1['querySelectorAll']('mesh[file]')['forEach'](_0x548366=>{const _0x456f82=_0x548366['getAttribute']('file');if(_0x456f82){const _0x7db212=this['resolvePath'](_0x35356d,_0x23d7ba,_0x456f82);_0x571471['add'](_0x7db212),_0x22d446['set'](_0x7db212,{'original':_0x456f82,'element':_0x548366});}}),_0xcf6bb1['querySelectorAll']('texture[file]')['forEach'](_0x4c63a8=>{const _0x5ef258=_0x4c63a8['getAttribute']('file');_0x5ef258&&_0x571471['add'](this['resolvePath'](_0x35356d,_0x10a576,_0x5ef258));});let _0x15f939=0x0;const _0xbc77ee=[],_0x53732c=[];for(const _0x587b02 of _0x571471){const _0x37f47a=new Set();for(const _0x1fb3f8 of _0x5f1bf1['keys']())if(_0x1fb3f8['startsWith']('/')){const _0x1fd647=_0x1fb3f8['split']('/');_0x1fd647['length']>0x1&&_0x37f47a['add'](_0x1fd647[0x1]);}const _0x29d30e=[_0x587b02,'/'+_0x587b02,'mjcf/'+_0x587b02,'/mjcf/'+_0x587b02,_0x587b02['split']('/')['pop']()];for(const _0x25aadd of _0x37f47a)_0x29d30e['push']('/'+_0x25aadd+'/mjcf/'+_0x587b02),_0x29d30e['push'](_0x25aadd+'/mjcf/'+_0x587b02);let _0x18eb23=null;for(const _0x36cb08 of _0x29d30e)if(_0x18eb23=_0x5f1bf1['get'](_0x36cb08),_0x18eb23)break;if(!_0x18eb23){const _0x2c83d6=_0x587b02['toLowerCase'](),_0x1306e8=_0x587b02['split']('/')['pop']()['toLowerCase']();for(const [_0x2ef346,_0x5e2950]of _0x5f1bf1['entries']()){const _0x5d0da0=_0x2ef346['toLowerCase'](),_0x4f4a68=_0x2ef346['split']('/')['pop']()['toLowerCase']();if(_0x5d0da0===_0x2c83d6||_0x5d0da0['endsWith']('/'+_0x2c83d6)||_0x4f4a68===_0x1306e8||_0x5d0da0['includes'](_0x2c83d6)){_0x18eb23=_0x5e2950;break;}}}if(_0x18eb23)try{const _0x50af05='/working/'+_0x587b02;this['ensureDir'](_0x50af05);const _0x2d3a5c=_0x587b02['toLowerCase']()['split']('.')['pop']();if(['obj','stl','png','jpg','jpeg','bmp']['includes'](_0x2d3a5c)){const _0xcd39ca=await _0x18eb23['arrayBuffer']();this['mujoco']['FS']['writeFile'](_0x50af05,new Uint8Array(_0xcd39ca));}else{const _0x522403=await _0x18eb23['text']();this['mujoco']['FS']['writeFile'](_0x50af05,_0x522403);}try{if(!this['mujoco']['FS']['stat'](_0x50af05))throw new Error('File\x20write\x20verification\x20failed');}catch(_0x4aa3e0){throw new Error('File\x20write\x20verification\x20failed');}_0x15f939++;}catch(_0x194766){const _0x58ac43=_0x22d446['get'](_0x587b02),_0x1c174b=_0x58ac43?_0x58ac43['original']:_0x587b02;_0x53732c['push']({'path':_0x1c174b,'error':_0x194766['message']});}else{const _0x7445a9=_0x22d446['get'](_0x587b02),_0xf3046b=_0x7445a9?_0x7445a9['original']:_0x587b02;_0xbc77ee['push'](_0xf3046b);}}if(_0xbc77ee['length']>0x0||_0x53732c['length']>0x0){let _0x403c4f='MuJoCo\x20asset\x20files\x20loading\x20failed:\x0a';throw _0xbc77ee['length']>0x0&&(_0x403c4f+='\x0aMissing\x20files\x20('+_0xbc77ee['length']+'):\x0a',_0xbc77ee['slice'](0x0,0xa)['forEach'](_0x570bef=>{_0x403c4f+='\x20\x20-\x20'+_0x570bef+'\x0a';}),_0xbc77ee['length']>0xa&&(_0x403c4f+='\x20\x20...\x20'+(_0xbc77ee['length']-0xa)+'\x20more\x20files\x20missing\x0a')),_0x53732c['length']>0x0&&(_0x403c4f+='\x0aFailed\x20to\x20write\x20files\x20('+_0x53732c['length']+'):\x0a',_0x53732c['slice'](0x0,0xa)['forEach'](({path:_0x2eee9a,error:_0x467d94})=>{_0x403c4f+='\x20\x20-\x20'+_0x2eee9a+':\x20'+_0x467d94+'\x0a';}),_0x53732c['length']>0xa&&(_0x403c4f+='\x20\x20...\x20'+(_0x53732c['length']-0xa)+'\x20more\x20files\x20failed\x0a')),_0x403c4f+='\x0aSuccessfully\x20loaded:\x20'+_0x15f939+'\x20files',_0x403c4f+='\x0a\x0aPlease\x20ensure\x20all\x20mesh\x20files\x20are\x20included\x20in\x20the\x20file\x20list.',new Error(_0x403c4f);}}['resolvePath'](_0x3ca5a9,_0x1bee33,_0x5739ce){const _0x39a35f=_0x3ca5a9['includes']('/')?_0x3ca5a9['substring'](0x0,_0x3ca5a9['lastIndexOf']('/')):'';if(_0x5739ce['startsWith']('/'))return _0x5739ce['substring'](0x1);const _0x387957=[];return _0x39a35f&&_0x387957['push'](_0x39a35f),_0x1bee33&&'.'!==_0x1bee33&&_0x387957['push'](_0x1bee33),_0x387957['push'](_0x5739ce),_0x387957['join']('/');}['ensureDir'](_0xc26b1e){const _0x1355ba=_0xc26b1e['split']('/');let _0xc5acd5='';for(let _0x1191b4=0x0;_0x1191b4<_0x1355ba['length']-0x1;_0x1191b4++)_0xc5acd5+=(0x0===_0x1191b4?'':'/')+_0x1355ba[_0x1191b4],_0xc5acd5&&!this['mujoco']['FS']['analyzePath'](_0xc5acd5)['exists']&&this['mujoco']['FS']['mkdir'](_0xc5acd5);}async['createThreeScene'](){const _0x5bbdf1=this['model'];this['mujocoRoot']=new _0x43b889(),this['mujocoRoot']['name']='MuJoCo\x20Physics\x20Root',this['mujocoRoot']['userData']['isMuJoCo']=!0x0,this['mujocoRoot']['visible']=!0x1,this['bodies']={};const _0x5c5f10={},_0x397ddd=new TextDecoder('utf-8'),_0x1a2ca7=new Uint8Array(_0x5bbdf1['names']),_0x4903ba=new Map(),_0x1aeda2=new Map();if(this['originalModel'])for(const [_0x4fb285,_0x4c0a70]of this['originalModel']['links']){const _0x1fef19=[],_0x25455b=[];if(_0x4c0a70['visuals']&&_0x4c0a70['visuals']['length']>0x0)for(const _0x3160b1 of _0x4c0a70['visuals'])_0x3160b1['threeObject']&&_0x3160b1['threeObject']['traverse'](_0x1a916d=>{if(_0x1a916d['isMesh']&&_0x1a916d['material']){let _0x4496d4;_0x4496d4=Array['isArray'](_0x1a916d['material'])?_0x1a916d['material']['map'](_0x16f293=>_0x16f293?_0x16f293['clone']():null):_0x1a916d['material']['clone']?_0x1a916d['material']['clone']():new _0x2f1015({'color':_0x1a916d['material']['color']||0x808080,'transparent':_0x1a916d['material']['transparent']||!0x1,'opacity':void 0x0!==_0x1a916d['material']['opacity']?_0x1a916d['material']['opacity']:0x1}),_0x1fef19['push'](_0x4496d4),_0x25455b['push']({'material':_0x4496d4,'geometry':_0x3160b1['geometry']});}});else _0x4c0a70['threeObject']&&_0x4c0a70['threeObject']['traverse'](_0x55f245=>{if(_0x55f245['isMesh']&&_0x55f245['material']){let _0x58bcf6;_0x58bcf6=Array['isArray'](_0x55f245['material'])?_0x55f245['material']['map'](_0x7dd11a=>_0x7dd11a?_0x7dd11a['clone']():null):_0x55f245['material']['clone']?_0x55f245['material']['clone']():new _0x2f1015({'color':_0x55f245['material']['color']||0x808080,'transparent':_0x55f245['material']['transparent']||!0x1,'opacity':void 0x0!==_0x55f245['material']['opacity']?_0x55f245['material']['opacity']:0x1}),_0x1fef19['push'](_0x58bcf6);}});_0x1fef19['length']>0x0&&(_0x4903ba['set'](_0x4fb285,_0x1fef19),_0x1aeda2['set'](_0x4fb285,_0x25455b));}const _0x5414a3=this['sceneManager']['visualizationManager']['showCollision'];for(let _0x796eeb=0x0;_0x796eeb<_0x5bbdf1['ngeom'];_0x796eeb++){const _0x36b9b6=_0x5bbdf1['geom_group'][_0x796eeb];if(_0x36b9b6>=0x4)continue;const _0x59356f=_0x5bbdf1['geom_bodyid'][_0x796eeb],_0x3d15d5=_0x5bbdf1['geom_type'][_0x796eeb],_0x4818c6=[_0x5bbdf1['geom_size'][0x3*_0x796eeb+0x0],_0x5bbdf1['geom_size'][0x3*_0x796eeb+0x1],_0x5bbdf1['geom_size'][0x3*_0x796eeb+0x2]];if(!this['bodies'][_0x59356f]){this['bodies'][_0x59356f]=new _0x43b889();const _0x48b04a=_0x5bbdf1['name_bodyadr'][_0x59356f];let _0x4e8d5a=_0x48b04a;for(;_0x4e8d5a<_0x1a2ca7['length']&&0x0!==_0x1a2ca7[_0x4e8d5a];)_0x4e8d5a++;const _0x5bfd03=_0x1a2ca7['subarray'](_0x48b04a,_0x4e8d5a);this['bodies'][_0x59356f]['name']=_0x397ddd['decode'](_0x5bfd03),this['bodies'][_0x59356f]['bodyID']=_0x59356f;}let _0x1e9d91=new _0x24a7ae(_0x4818c6[0x0]);if(_0x3d15d5==this['mujoco']['mjtGeom']['mjGEOM_SPHERE']['value'])_0x1e9d91=new _0x24a7ae(_0x4818c6[0x0],0x20,0x20);else if(_0x3d15d5==this['mujoco']['mjtGeom']['mjGEOM_CAPSULE']['value'])_0x1e9d91=new _0x311b19(_0x4818c6[0x0],0x2*_0x4818c6[0x1],0x14,0x14);else if(_0x3d15d5==this['mujoco']['mjtGeom']['mjGEOM_CYLINDER']['value'])_0x1e9d91=new _0x3ff7a4(_0x4818c6[0x0],_0x4818c6[0x0],0x2*_0x4818c6[0x1],0x20);else if(_0x3d15d5==this['mujoco']['mjtGeom']['mjGEOM_BOX']['value'])_0x1e9d91=new _0x4eed01(0x2*_0x4818c6[0x0],0x2*_0x4818c6[0x2],0x2*_0x4818c6[0x1]);else if(_0x3d15d5==this['mujoco']['mjtGeom']['mjGEOM_ELLIPSOID']['value'])_0x1e9d91=new _0x24a7ae(0x1,0x20,0x20);else if(_0x3d15d5==this['mujoco']['mjtGeom']['mjGEOM_MESH']['value']){const _0x5e199f=_0x5bbdf1['geom_dataid'][_0x796eeb];_0x5e199f in _0x5c5f10?_0x1e9d91=_0x5c5f10[_0x5e199f]:(_0x1e9d91=this['createMeshGeometry'](_0x5e199f),_0x5c5f10[_0x5e199f]=_0x1e9d91);}const _0xb527e7=this['bodies'][_0x59356f]['name'],_0x4c586a=this['bodies'][_0x59356f]['children']['length'];let _0x54d5b6,_0x3e332a=!0x1,_0x2c9bd0=null;if(_0x3d15d5==this['mujoco']['mjtGeom']['mjGEOM_MESH']['value']&&_0x1aeda2['has'](_0xb527e7)){const _0x4c7f9d=_0x5bbdf1['geom_dataid'][_0x796eeb],_0x4180e8=_0x5bbdf1['name_meshadr'][_0x4c7f9d];let _0x540cef=_0x4180e8;for(;_0x540cef<_0x1a2ca7['length']&&0x0!==_0x1a2ca7[_0x540cef];)_0x540cef++;const _0x3b29a8=_0x1a2ca7['subarray'](_0x4180e8,_0x540cef),_0x427fbe=_0x397ddd['decode'](_0x3b29a8),_0x105640=_0x1aeda2['get'](_0xb527e7);for(const _0x35c1cf of _0x105640)if(_0x35c1cf['geometry']&&_0x35c1cf['geometry']['filename']){const _0x8345a3=_0x35c1cf['geometry']['filename']['split']('/')['pop']()['split']('\x5c')['pop'](),_0x55d4f6=_0x8345a3['replace'](/\.[^/.]+$/,''),_0x4bd6e9=_0x427fbe+'.STL',_0x3468e1=_0x4bd6e9['replace'](/\.[^/.]+$/,'');if(_0x8345a3===_0x427fbe||_0x8345a3['toLowerCase']()===_0x427fbe['toLowerCase']()||_0x55d4f6===_0x427fbe||_0x55d4f6['toLowerCase']()===_0x427fbe['toLowerCase']()||_0x8345a3===_0x4bd6e9||_0x8345a3['toLowerCase']()===_0x4bd6e9['toLowerCase']()||_0x55d4f6===_0x3468e1||_0x55d4f6['toLowerCase']()===_0x3468e1['toLowerCase']()){if(Array['isArray'](_0x35c1cf['material'])){const _0x481d80=_0x35c1cf['material'][0x0];_0x481d80&&_0x481d80['clone']?_0x54d5b6=_0x481d80['clone']():_0x481d80&&(_0x54d5b6=new _0x2f1015({'color':_0x481d80['color']||0x808080,'transparent':_0x481d80['transparent']||!0x1,'opacity':void 0x0!==_0x481d80['opacity']?_0x481d80['opacity']:0x1}));}else _0x35c1cf['material']&&_0x35c1cf['material']['clone']?_0x54d5b6=_0x35c1cf['material']['clone']():_0x35c1cf['material']&&(_0x54d5b6=new _0x2f1015({'color':_0x35c1cf['material']['color']||0x808080,'transparent':_0x35c1cf['material']['transparent']||!0x1,'opacity':void 0x0!==_0x35c1cf['material']['opacity']?_0x35c1cf['material']['opacity']:0x1}));if(_0x54d5b6&&(_0x54d5b6['isMeshPhongMaterial']||_0x54d5b6['isMeshStandardMaterial'])){if(void 0x0===_0x54d5b6['userData']['originalShininess'])if(_0x54d5b6['userData']['originalShininess']=void 0x0!==_0x54d5b6['shininess']?_0x54d5b6['shininess']:0x1e,_0x54d5b6['specular'])if(_0x54d5b6['specular']['isColor']){const _0x50cfe0=_0x54d5b6['specular'];_0x50cfe0['r']<0.1&&_0x50cfe0['g']<0.1&&_0x50cfe0['b']<0.1?_0x54d5b6['userData']['originalSpecular']=null:_0x54d5b6['userData']['originalSpecular']=_0x50cfe0['clone']();}else _0x54d5b6['userData']['originalSpecular']=null;else _0x54d5b6['userData']['originalSpecular']=null;if(this['sceneManager']['visualizationManager']['showEnhancedLighting'])void 0x0!==_0x54d5b6['shininess']&&_0x54d5b6['shininess']<0x32&&(_0x54d5b6['shininess']=0x32),(!_0x54d5b6['specular']||_0x54d5b6['specular']['r']<0.2)&&(_0x54d5b6['specular']=new _0x342136(0.3,0.3,0.3));else if(void 0x0!==_0x54d5b6['userData']['originalShininess']&&(_0x54d5b6['shininess']=_0x54d5b6['userData']['originalShininess']),null===_0x54d5b6['userData']['originalSpecular'])_0x54d5b6['specular']=new _0x342136(0x111111);else if(_0x54d5b6['userData']['originalSpecular']){const _0x5e3ace=_0x54d5b6['userData']['originalSpecular'];_0x5e3ace['isColor']?_0x54d5b6['specular']=_0x5e3ace['clone']():_0x54d5b6['specular']=_0x5e3ace;}}_0x3e332a=!0x0;break;}}if(_0x3e332a&&this['originalModel']){const _0x56840a=this['originalModel']['links']['get'](_0xb527e7);if(_0x56840a&&_0x56840a['visuals'])for(const _0xaae5ef of _0x56840a['visuals'])if(_0xaae5ef['geometry']&&_0xaae5ef['geometry']['filename']){const _0x4d5a48=_0xaae5ef['geometry']['filename']['split']('/')['pop']()['split']('\x5c')['pop']();if(_0x4d5a48['replace'](/\.[^/.]+$/,'')['toLowerCase']()===_0x427fbe['toLowerCase']()||_0x4d5a48['toLowerCase']()===(_0x427fbe+'.STL')['toLowerCase']()){_0xaae5ef['userData']&&_0xaae5ef['userData']['rgba']&&(_0x2c9bd0=_0xaae5ef['userData']['rgba'],_0x54d5b6&&_0x54d5b6['color']&&(_0x54d5b6['color']['setRGB'](_0x2c9bd0['r'],_0x2c9bd0['g'],_0x2c9bd0['b']),_0x2c9bd0['a']<0x1&&(_0x54d5b6['transparent']=!0x0,_0x54d5b6['opacity']=_0x2c9bd0['a'])));break;}}}}if(!_0x3e332a&&this['originalModel']){const _0x13b951=this['originalModel']['links']['get'](_0xb527e7);if(_0x13b951&&_0x13b951['visuals']&&_0x13b951['visuals']['length']>0x0){const _0x1aaa72=Math['min'](_0x4c586a,_0x13b951['visuals']['length']-0x1),_0x47a3b4=_0x13b951['visuals'][_0x1aaa72];_0x47a3b4&&(_0x47a3b4['userData']&&_0x47a3b4['userData']['rgba']?_0x2c9bd0=_0x47a3b4['userData']['rgba']:_0x47a3b4['threeObject']&&_0x47a3b4['threeObject']['traverse'](_0x3df2ef=>{if(_0x3df2ef['isMesh']&&_0x3df2ef['material']&&!_0x2c9bd0){const _0x2ff1dd=_0x3df2ef['material']['color'];_0x2c9bd0={'r':_0x2ff1dd['r'],'g':_0x2ff1dd['g'],'b':_0x2ff1dd['b'],'a':void 0x0!==_0x3df2ef['material']['opacity']?_0x3df2ef['material']['opacity']:0x1};}}));}}if(!_0x3e332a){const _0x569c24=_0x4903ba['get'](_0xb527e7);if(_0x569c24&&_0x569c24['length']>0x0){const _0x1a2a1f=_0x569c24[Math['min'](_0x4c586a,_0x569c24['length']-0x1)];if(Array['isArray'](_0x1a2a1f)){const _0x8ddc97=_0x1a2a1f[0x0];_0x8ddc97&&_0x8ddc97['clone']?_0x54d5b6=_0x8ddc97['clone']():_0x8ddc97&&(_0x54d5b6=new _0x2f1015({'color':_0x8ddc97['color']||0x808080,'transparent':_0x8ddc97['transparent']||!0x1,'opacity':void 0x0!==_0x8ddc97['opacity']?_0x8ddc97['opacity']:0x1}));}else _0x1a2a1f&&_0x1a2a1f['clone']?_0x54d5b6=_0x1a2a1f['clone']():_0x1a2a1f&&(_0x54d5b6=new _0x2f1015({'color':_0x1a2a1f['color']||0x808080,'transparent':_0x1a2a1f['transparent']||!0x1,'opacity':void 0x0!==_0x1a2a1f['opacity']?_0x1a2a1f['opacity']:0x1}));if(_0x54d5b6&&(_0x54d5b6['isMeshPhongMaterial']||_0x54d5b6['isMeshStandardMaterial'])){if(void 0x0===_0x54d5b6['userData']['originalShininess'])if(_0x54d5b6['userData']['originalShininess']=void 0x0!==_0x54d5b6['shininess']?_0x54d5b6['shininess']:0x1e,_0x54d5b6['specular'])if(_0x54d5b6['specular']['isColor']){const _0x340b9b=_0x54d5b6['specular'];_0x340b9b['r']<0.1&&_0x340b9b['g']<0.1&&_0x340b9b['b']<0.1?_0x54d5b6['userData']['originalSpecular']=null:_0x54d5b6['userData']['originalSpecular']=_0x340b9b['clone']();}else _0x54d5b6['userData']['originalSpecular']=null;else _0x54d5b6['userData']['originalSpecular']=null;if(this['sceneManager']['visualizationManager']['showEnhancedLighting'])void 0x0!==_0x54d5b6['shininess']&&_0x54d5b6['shininess']<0x32&&(_0x54d5b6['shininess']=0x32),(!_0x54d5b6['specular']||_0x54d5b6['specular']['r']<0.2)&&(_0x54d5b6['specular']=new _0x342136(0.3,0.3,0.3));else if(void 0x0!==_0x54d5b6['userData']['originalShininess']&&(_0x54d5b6['shininess']=_0x54d5b6['userData']['originalShininess']),null===_0x54d5b6['userData']['originalSpecular'])_0x54d5b6['specular']=new _0x342136(0x111111);else if(_0x54d5b6['userData']['originalSpecular']){const _0x15d989=_0x54d5b6['userData']['originalSpecular'];_0x15d989['isColor']?_0x54d5b6['specular']=_0x15d989['clone']():_0x54d5b6['specular']=_0x15d989;}}_0x3e332a=!0x0;}}if(!_0x3e332a){const _0x5495ef=_0x2c9bd0?[_0x2c9bd0['r'],_0x2c9bd0['g'],_0x2c9bd0['b'],_0x2c9bd0['a']]:[_0x5bbdf1['geom_rgba'][0x4*_0x796eeb+0x0],_0x5bbdf1['geom_rgba'][0x4*_0x796eeb+0x1],_0x5bbdf1['geom_rgba'][0x4*_0x796eeb+0x2],_0x5bbdf1['geom_rgba'][0x4*_0x796eeb+0x3]],_0x5e3312=0x3===_0x36b9b6,_0x710ad1=this['sceneManager']['visualizationManager']['showEnhancedLighting'];_0x54d5b6=new _0x2f1015({'color':_0x5e3312?new _0x342136(0x0,0x1,0x0):new _0x342136(_0x5495ef[0x0],_0x5495ef[0x1],_0x5495ef[0x2]),'transparent':!!_0x5e3312||_0x5495ef[0x3]<0x1,'opacity':_0x5e3312?0.3:_0x5495ef[0x3],'shininess':_0x710ad1?0x32:0x1e,'specular':_0x710ad1?new _0x342136(0.3,0.3,0.3):new _0x342136(0x111111),'wireframe':!!_0x5e3312}),_0x54d5b6['userData']['originalShininess']=0x1e,_0x54d5b6['userData']['originalSpecular']=null;}if(_0x54d5b6['isMeshPhongMaterial']||_0x54d5b6['isMeshStandardMaterial']){if(this['sceneManager']['visualizationManager']['showEnhancedLighting'])_0x54d5b6['shininess']<0x32&&(_0x54d5b6['shininess']=0x32),(!_0x54d5b6['specular']||_0x54d5b6['specular']['isColor']&&_0x54d5b6['specular']['r']<0.2)&&(_0x54d5b6['specular']=new _0x342136(0.3,0.3,0.3));else if(void 0x0!==_0x54d5b6['userData']['originalShininess']&&(_0x54d5b6['shininess']=_0x54d5b6['userData']['originalShininess']),null===_0x54d5b6['userData']['originalSpecular'])_0x54d5b6['specular']=new _0x342136(0x111111);else if(_0x54d5b6['userData']['originalSpecular']){const _0x3fddd6=_0x54d5b6['userData']['originalSpecular'];_0x3fddd6['isColor']?_0x54d5b6['specular']=_0x3fddd6['clone']():_0x54d5b6['specular']=_0x3fddd6;}_0x54d5b6['needsUpdate']=!0x0;}let _0x3c5ba5=_0x54d5b6;0x3===_0x36b9b6&&(_0x3c5ba5=new _0x2f1015({'transparent':!0x0,'opacity':0.35,'shininess':2.5,'premultipliedAlpha':!0x0,'color':0xffbe38,'polygonOffset':!0x0,'polygonOffsetFactor':-0x1,'polygonOffsetUnits':-0x1}));const _0x2e6339=new _0x514bc2(_0x1e9d91,_0x3c5ba5);_0x2e6339['castShadow']=0x3!==_0x36b9b6,_0x2e6339['receiveShadow']=0x3!==_0x36b9b6,_0x2e6339['bodyID']=_0x59356f,0x3===_0x36b9b6&&(_0x2e6339['userData']['isCollisionGeom']=!0x0,_0x2e6339['visible']=_0x5414a3),this['getPosition'](_0x5bbdf1['geom_pos'],_0x796eeb,_0x2e6339['position']),this['getQuaternion'](_0x5bbdf1['geom_quat'],_0x796eeb,_0x2e6339['quaternion']),_0x3d15d5==this['mujoco']['mjtGeom']['mjGEOM_ELLIPSOID']['value']&&_0x2e6339['scale']['set'](_0x4818c6[0x0],_0x4818c6[0x2],_0x4818c6[0x1]),this['bodies'][_0x59356f]['add'](_0x2e6339);}for(let _0x2981cd=0x0;_0x2981cd<_0x5bbdf1['nbody'];_0x2981cd++)this['bodies'][_0x2981cd]||(this['bodies'][_0x2981cd]=new _0x43b889(),this['bodies'][_0x2981cd]['name']='body_'+_0x2981cd,this['bodies'][_0x2981cd]['bodyID']=_0x2981cd),this['mujocoRoot']['add'](this['bodies'][_0x2981cd]),this['bodies'][_0x2981cd]['traverse'](_0x3646ec=>{_0x3646ec['isMesh']&&(_0x3646ec['bodyID']=_0x2981cd);});return this['createVisualizationElements'](_0x5bbdf1),this['mujocoRoot'];}['createVisualizationElements'](_0x3348fd){var _0x3a1666,_0xfdeb3,_0x1df6f0,_0x4096d0;const _0x581292=null==(_0x3a1666=document['getElementById']('toggle-axes-btn'))?void 0x0:_0x3a1666['classList']['contains']('active'),_0x467866=null==(_0xfdeb3=document['getElementById']('toggle-joint-axes-btn'))?void 0x0:_0xfdeb3['classList']['contains']('active'),_0x360ef9=null==(_0x1df6f0=document['getElementById']('show-com'))?void 0x0:_0x1df6f0['classList']['contains']('active'),_0x145e96=null==(_0x4096d0=document['getElementById']('show-inertia'))?void 0x0:_0x4096d0['classList']['contains']('active');for(let _0x519931=0x0;_0x519931<_0x3348fd['nbody'];_0x519931++){if(!this['bodies'][_0x519931])continue;const _0x54113e=Oi['createAxesGeometry'](0.1);_0x54113e['userData']['isVisualization']=!0x0,_0x54113e['userData']['type']='axes',_0x54113e['visible']=_0x581292,_0x54113e['raycast']=()=>{};const _0x1155e3=new _0x57eb35();_0x1155e3['setFromAxisAngle'](new _0x47b065(0x1,0x0,0x0),-Math['PI']/0x2),_0x54113e['quaternion']['copy'](_0x1155e3),this['bodies'][_0x519931]['add'](_0x54113e);const _0x1a2cc7=_0x3348fd['body_mass'][_0x519931];if(_0x1a2cc7>0x0){const _0x473bf2=ki['createCOMGeometry'](0.02);_0x473bf2['userData']['isVisualization']=!0x0,_0x473bf2['userData']['type']='com',_0x473bf2['visible']=_0x360ef9,this['getPosition'](_0x3348fd['body_ipos'],_0x519931,_0x473bf2['position']),this['bodies'][_0x519931]['add'](_0x473bf2);const _0x1a01df=_0x3348fd['body_inertia'][0x3*_0x519931+0x0],_0x427b77=_0x3348fd['body_inertia'][0x3*_0x519931+0x1],_0x2abf45={'ixx':_0x1a01df,'iyy':_0x3348fd['body_inertia'][0x3*_0x519931+0x2],'izz':_0x427b77,'mass':_0x1a2cc7},_0x388906=Ue['computeInertiaBox'](_0x2abf45),_0x5c8b6d=Ue['createInertiaBoxGeometry'](_0x388906['width'],_0x388906['height'],_0x388906['depth']),_0x38bc76=new _0x2f1015({'color':0x4a9eff,'transparent':!0x0,'opacity':0.35,'shininess':2.5,'polygonOffset':!0x0,'polygonOffsetFactor':-0x1,'polygonOffsetUnits':-0x1}),_0x4ba2aa=new _0x514bc2(_0x5c8b6d,_0x38bc76);_0x4ba2aa['userData']['isVisualization']=!0x0,_0x4ba2aa['userData']['type']='inertia',_0x4ba2aa['visible']=_0x145e96,_0x4ba2aa['castShadow']=!0x1,_0x4ba2aa['receiveShadow']=!0x1,_0x4ba2aa['raycast']=()=>{},this['getPosition'](_0x3348fd['body_ipos'],_0x519931,_0x4ba2aa['position']),_0x3348fd['body_iquat']&&this['getQuaternion'](_0x3348fd['body_iquat'],_0x519931,_0x4ba2aa['quaternion']),this['bodies'][_0x519931]['add'](_0x4ba2aa);}}for(let _0x3a335a=0x0;_0x3a335a<_0x3348fd['njnt'];_0x3a335a++){const _0x250492=_0x3348fd['jnt_type'][_0x3a335a],_0x19c37b=_0x3348fd['jnt_bodyid'][_0x3a335a];if((_0x250492===this['mujoco']['mjtJoint']['mjJNT_HINGE']['value']||_0x250492===this['mujoco']['mjtJoint']['mjJNT_BALL']['value'])&&this['bodies'][_0x19c37b]){const _0x1dc3d8=new _0x47b065();if(this['getPosition'](_0x3348fd['jnt_axis'],_0x3a335a,_0x1dc3d8),_0x1dc3d8['length']()>0.001){_0x1dc3d8['normalize']();const _0xc4483b=Oi['createJointArrowGeometry'](_0x1dc3d8);_0xc4483b['userData']['isVisualization']=!0x0,_0xc4483b['userData']['type']='jointAxis',_0xc4483b['visible']=_0x467866,_0xc4483b['raycast']=()=>{},this['getPosition'](_0x3348fd['jnt_pos'],_0x3a335a,_0xc4483b['position']),this['bodies'][_0x19c37b]['add'](_0xc4483b);}}}}['createMeshGeometry'](_0x183f95){const _0x3b2f25=this['model'],_0xa7c4af=new _0x598f69(),_0x4f4636=_0x3b2f25['mesh_vert']['subarray'](0x3*_0x3b2f25['mesh_vertadr'][_0x183f95],0x3*(_0x3b2f25['mesh_vertadr'][_0x183f95]+_0x3b2f25['mesh_vertnum'][_0x183f95]));for(let _0x40d18e=0x0;_0x40d18e<_0x4f4636['length'];_0x40d18e+=0x3){const _0x54a68a=_0x4f4636[_0x40d18e+0x1];_0x4f4636[_0x40d18e+0x1]=_0x4f4636[_0x40d18e+0x2],_0x4f4636[_0x40d18e+0x2]=-_0x54a68a;}const _0x4206e2=_0x3b2f25['mesh_normal']['subarray'](0x3*_0x3b2f25['mesh_vertadr'][_0x183f95],0x3*(_0x3b2f25['mesh_vertadr'][_0x183f95]+_0x3b2f25['mesh_vertnum'][_0x183f95]));for(let _0x554c11=0x0;_0x554c11<_0x4206e2['length'];_0x554c11+=0x3){const _0x500b16=_0x4206e2[_0x554c11+0x1];_0x4206e2[_0x554c11+0x1]=_0x4206e2[_0x554c11+0x2],_0x4206e2[_0x554c11+0x2]=-_0x500b16;}const _0x20ec4c=_0x3b2f25['mesh_face']['subarray'](0x3*_0x3b2f25['mesh_faceadr'][_0x183f95],0x3*(_0x3b2f25['mesh_faceadr'][_0x183f95]+_0x3b2f25['mesh_facenum'][_0x183f95]));return _0xa7c4af['setAttribute']('position',new _0x5b7840(_0x4f4636,0x3)),_0xa7c4af['setAttribute']('normal',new _0x5b7840(_0x4206e2,0x3)),_0xa7c4af['setIndex'](Array['from'](_0x20ec4c)),_0xa7c4af['computeVertexNormals'](),_0xa7c4af;}['getPosition'](_0x47c682,_0x1ac299,_0x3602c0,_0x1bae86=!0x0){return _0x1bae86?_0x3602c0['set'](_0x47c682[0x3*_0x1ac299+0x0],_0x47c682[0x3*_0x1ac299+0x2],-_0x47c682[0x3*_0x1ac299+0x1]):_0x3602c0['set'](_0x47c682[0x3*_0x1ac299+0x0],_0x47c682[0x3*_0x1ac299+0x1],_0x47c682[0x3*_0x1ac299+0x2]);}['getQuaternion'](_0x34cb57,_0xda205d,_0x45d0ea,_0x1ab83c=!0x0){return _0x1ab83c?_0x45d0ea['set'](-_0x34cb57[0x4*_0xda205d+0x1],-_0x34cb57[0x4*_0xda205d+0x3],_0x34cb57[0x4*_0xda205d+0x2],-_0x34cb57[0x4*_0xda205d+0x0]):_0x45d0ea['set'](_0x34cb57[0x4*_0xda205d+0x1],_0x34cb57[0x4*_0xda205d+0x2],_0x34cb57[0x4*_0xda205d+0x3],_0x34cb57[0x4*_0xda205d+0x0]);}['update'](_0x1857a8){if(!this['isLoaded']||!this['model'])return;if(!this['params']['paused']){const _0x3a66a8=this['isOldAPI']?this['model']['opt']['timestep']:this['model']['getOptions']()['timestep'];for(_0x1857a8-this['mujoco_time']>0x23&&(this['mujoco_time']=_0x1857a8);this['mujoco_time']<_0x1857a8;){if(this['isOldAPI'])for(let _0x43e565=0x0;_0x43e565<this['data']['qfrc_applied']['length'];_0x43e565++)this['data']['qfrc_applied'][_0x43e565]=0x0;if(this['dragStateManager']&&this['dragStateManager']['active']){const _0xbf364d=this['dragStateManager']['physicsObject'];if(_0xbf364d&&_0xbf364d['bodyID']){const _0x2e9ea1=this['isOldAPI']?this['data']['xpos']:this['simulation']['xpos'],_0x365232=this['isOldAPI']?this['data']['xquat']:this['simulation']['xquat'];for(let _0x73d037=0x0;_0x73d037<this['model']['nbody'];_0x73d037++){const _0x266dd9=this['bodies'][_0x73d037];_0x266dd9&&(this['getPosition'](_0x2e9ea1,_0x73d037,_0x266dd9['position']),this['getQuaternion'](_0x365232,_0x73d037,_0x266dd9['quaternion']),_0x266dd9['updateMatrixWorld'](!0x0));}this['dragStateManager']['update']();const _0x193916=_0xbf364d['bodyID'],_0x5559c7=this['toMujocoPos'](this['dragStateManager']['currentWorld']['clone']()['sub'](this['dragStateManager']['worldHit'])['multiplyScalar'](0xfa*this['model']['body_mass'][_0x193916])),_0x3e7aaa=this['toMujocoPos'](this['dragStateManager']['worldHit']['clone']());this['isOldAPI']&&this['mujoco']['mj_applyFT'](this['model'],this['data'],[_0x5559c7['x'],_0x5559c7['y'],_0x5559c7['z']],[0x0,0x0,0x0],[_0x3e7aaa['x'],_0x3e7aaa['y'],_0x3e7aaa['z']],_0x193916,this['data']['qfrc_applied']);}}this['isOldAPI']?this['mujoco']['mj_step'](this['model'],this['data']):this['simulation']['step'](),this['mujoco_time']+=0x3e8*_0x3a66a8;}}const _0x498e9e=this['isOldAPI']?this['data']['xpos']:this['simulation']['xpos'],_0x1f9f20=this['isOldAPI']?this['data']['xquat']:this['simulation']['xquat'];for(let _0x10228e=0x0;_0x10228e<this['model']['nbody'];_0x10228e++){const _0x3fc96c=this['bodies'][_0x10228e];_0x3fc96c&&(this['getPosition'](_0x498e9e,_0x10228e,_0x3fc96c['position'],!0x0),this['getQuaternion'](_0x1f9f20,_0x10228e,_0x3fc96c['quaternion'],!0x0),_0x3fc96c['updateMatrixWorld'](!0x0));}this['params']['paused']||this['sceneManager']['redraw']();}['toMujocoPos'](_0x49d664){return _0x49d664['set'](_0x49d664['x'],-_0x49d664['z'],_0x49d664['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 _0x45cbff=this['mujoco']['FS']['readdir']('/working');for(const _0x34a48e of _0x45cbff)if('.'!==_0x34a48e&&'..'!==_0x34a48e)try{const _0xcd913e='/working/'+_0x34a48e,_0x5cac70=this['mujoco']['FS']['stat'](_0xcd913e);this['mujoco']['FS']['isDir'](_0x5cac70['mode'])?this['removeDirectory'](_0xcd913e):this['mujoco']['FS']['unlink'](_0xcd913e);}catch(_0x461f48){}}catch(_0x4fde44){}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'](_0x538b2d){if(this['mujoco']&&this['mujoco']['FS'])try{const _0x4bb12e=this['mujoco']['FS']['readdir'](_0x538b2d);for(const _0x51e5b6 of _0x4bb12e)if('.'!==_0x51e5b6&&'..'!==_0x51e5b6){const _0x5a7aee=_0x538b2d+'/'+_0x51e5b6,_0x380d6e=this['mujoco']['FS']['stat'](_0x5a7aee);this['mujoco']['FS']['isDir'](_0x380d6e['mode'])?this['removeDirectory'](_0x5a7aee):this['mujoco']['FS']['unlink'](_0x5a7aee);}this['mujoco']['FS']['rmdir'](_0x538b2d);}catch(_0x1bad01){}}['toggleCollisionDisplay'](_0x5be10f){if(this['mujocoRoot']){for(let _0x402ca9=0x0;_0x402ca9<this['model']['nbody'];_0x402ca9++){const _0x1f995a=this['bodies'][_0x402ca9];_0x1f995a&&_0x1f995a['children']['forEach'](_0x3ba9d7=>{_0x3ba9d7['userData']&&_0x3ba9d7['userData']['isCollisionGeom']&&(_0x3ba9d7['visible']=_0x5be10f);});}this['sceneManager']['redraw']();}}['toggleVisualDisplay'](_0x15589b){if(this['mujocoRoot']){for(let _0x52cc03=0x0;_0x52cc03<this['model']['nbody'];_0x52cc03++){const _0x254e39=this['bodies'][_0x52cc03];_0x254e39&&_0x254e39['children']['forEach'](_0x532454=>{!_0x532454['isMesh']||_0x532454['userData']['isVisualization']||_0x532454['userData']['isCollisionGeom']||(_0x532454['visible']=_0x15589b);});}this['sceneManager']['redraw']();}}['hasVisibleVisualization'](_0x2e4c61){if(!this['mujocoRoot']||!this['model'])return!0x1;for(let _0x64b382=0x0;_0x64b382<this['model']['nbody'];_0x64b382++){const _0x5260df=this['bodies'][_0x64b382];if(!_0x5260df)continue;let _0x4ffd28=!0x1;if(_0x5260df['traverse'](_0x457dee=>{!_0x4ffd28&&_0x457dee['userData']&&_0x457dee['userData']['type']===_0x2e4c61&&_0x457dee['visible']&&(_0x4ffd28=!0x0);}),_0x4ffd28)return!0x0;}return!0x1;}['updateVisualTransparency'](){var _0xec01d6;if(!this['mujocoRoot'])return;const _0x4aa9e1=(null==(_0xec01d6=document['getElementById']('show-com'))?void 0x0:_0xec01d6['classList']['contains']('active'))||this['hasVisibleVisualization']('axes')||this['hasVisibleVisualization']('jointAxis');for(let _0xba5e40=0x0;_0xba5e40<this['model']['nbody'];_0xba5e40++){const _0x40fa9d=this['bodies'][_0xba5e40];_0x40fa9d&&_0x40fa9d['children']['forEach'](_0x56382a=>{!_0x56382a['isMesh']||_0x56382a['userData']['isVisualization']||_0x56382a['userData']['isCollisionGeom']||ji['setMeshTransparency'](_0x56382a,_0x4aa9e1);});}this['sceneManager']['redraw']();}['toggleCOMDisplay'](_0xef497a){if(this['mujocoRoot']){for(let _0x5a77d2=0x0;_0x5a77d2<this['model']['nbody'];_0x5a77d2++){const _0x848c75=this['bodies'][_0x5a77d2];_0x848c75&&_0x848c75['traverse'](_0x26c97a=>{_0x26c97a['userData']&&'com'===_0x26c97a['userData']['type']&&(_0x26c97a['visible']=_0xef497a);});}this['updateVisualTransparency'](),this['sceneManager']['redraw']();}}['toggleInertiaDisplay'](_0x5f205a){if(this['mujocoRoot']){for(let _0x14b262=0x0;_0x14b262<this['model']['nbody'];_0x14b262++){const _0x21b5eb=this['bodies'][_0x14b262];_0x21b5eb&&_0x21b5eb['traverse'](_0x1903d2=>{_0x1903d2['userData']&&'inertia'===_0x1903d2['userData']['type']&&(_0x1903d2['visible']=_0x5f205a);});}this['updateVisualTransparency'](),this['sceneManager']['redraw']();}}['toggleAxesDisplay'](_0x542f1b){if(this['mujocoRoot']){for(let _0x795eba=0x0;_0x795eba<this['model']['nbody'];_0x795eba++){const _0x4f7e3f=this['bodies'][_0x795eba];_0x4f7e3f&&_0x4f7e3f['traverse'](_0x15c4fe=>{_0x15c4fe['userData']&&'axes'===_0x15c4fe['userData']['type']&&(_0x15c4fe['visible']=_0x542f1b);});}this['updateVisualTransparency'](),this['sceneManager']['redraw']();}}['toggleJointAxesDisplay'](_0x2fd6a6){if(this['mujocoRoot']){for(let _0x2d5cfc=0x0;_0x2d5cfc<this['model']['nbody'];_0x2d5cfc++){const _0x3d69da=this['bodies'][_0x2d5cfc];_0x3d69da&&_0x3d69da['traverse'](_0x188bde=>{_0x188bde['userData']&&'jointAxis'===_0x188bde['userData']['type']&&(_0x188bde['visible']=_0x2fd6a6);});}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(_0x5101ec){return _0x5101ec&&_0x5101ec['__esModule']&&Object['prototype']['hasOwnProperty']['call'](_0x5101ec,'default')?_0x5101ec['default']:_0x5101ec;}/*
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 _0x41dc27=new String('abc');if(_0x41dc27[0x5]='de','5'===Object['getOwnPropertyNames'](_0x41dc27)[0x0])return!0x1;for(var _0xdf5cd9={},_0x459fb4=0x0;_0x459fb4<0xa;_0x459fb4++)_0xdf5cd9['_'+String['fromCharCode'](_0x459fb4)]=_0x459fb4;if('0123456789'!==Object['getOwnPropertyNames'](_0xdf5cd9)['map'](function(_0x2f25c1){return _0xdf5cd9[_0x2f25c1];})['join'](''))return!0x1;var _0x4c5037={};return'abcdefghijklmnopqrst'['split']('')['forEach'](function(_0x224d23){_0x4c5037[_0x224d23]=_0x224d23;}),'abcdefghijklmnopqrst'===Object['keys'](Object['assign']({},_0x4c5037))['join']('');}catch(_0x4bb647){return!0x1;}}())?Object['assign']:function(_0x5439fa,_0x2fed90){for(var _0x54537b,_0x1c5756,_0xe5245c=function(_0xe2bfa4){if(null==_0xe2bfa4)throw new TypeError('Object.assign\x20cannot\x20be\x20called\x20with\x20null\x20or\x20undefined');return Object(_0xe2bfa4);}(_0x5439fa),_0x36fccd=0x1;_0x36fccd<arguments['length'];_0x36fccd++){for(var _0x504f7e in _0x54537b=Object(arguments[_0x36fccd]))Qi['call'](_0x54537b,_0x504f7e)&&(_0xe5245c[_0x504f7e]=_0x54537b[_0x504f7e]);if(Zi){_0x1c5756=Zi(_0x54537b);for(var _0xe9eb69=0x0;_0xe9eb69<_0x1c5756['length'];_0xe9eb69++)Ki['call'](_0x54537b,_0x1c5756[_0xe9eb69])&&(_0xe5245c[_0x1c5756[_0xe9eb69]]=_0x54537b[_0x1c5756[_0xe9eb69]]);}}return _0xe5245c;},os={'exports':{}};function ls(){return ts?es:(ts=0x1,es=function(_0x2c0744,_0x1a71a3,_0x1212ec){_0x1a71a3['forEach'](function(_0x3fe934){var _0x49800f=_0x1212ec[_0x3fe934];_0x2c0744['prototype'][_0x3fe934]=function(_0x5a13dc){return _0x5a13dc['ros']=this,new _0x49800f(_0x5a13dc);};});});}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 _0x285cc3(_0x90e4f7){var _0x3a8169={};function _0x4793ae(_0x47cb46){if(_0x3a8169[_0x47cb46])return _0x3a8169[_0x47cb46]['exports'];var _0x35bc79=_0x3a8169[_0x47cb46]={'i':_0x47cb46,'l':!0x1,'exports':{}};return _0x90e4f7[_0x47cb46]['call'](_0x35bc79['exports'],_0x35bc79,_0x35bc79['exports'],_0x4793ae),_0x35bc79['l']=!0x0,_0x35bc79['exports'];}_0x4793ae['m']=_0x90e4f7,_0x4793ae['c']=_0x3a8169,_0x4793ae['i']=function(_0x343037){return _0x343037;},_0x4793ae['d']=function(_0x4ca03e,_0x3ae8f0,_0x38a5e8){_0x4793ae['o'](_0x4ca03e,_0x3ae8f0)||Object['defineProperty'](_0x4ca03e,_0x3ae8f0,{'configurable':!0x1,'enumerable':!0x0,'get':_0x38a5e8});},_0x4793ae['r']=function(_0x1c598f){Object['defineProperty'](_0x1c598f,'__esModule',{'value':!0x0});},_0x4793ae['n']=function(_0x4d72b8){var _0x3d3aa6=_0x4d72b8&&_0x4d72b8['__esModule']?function(){return _0x4d72b8['default'];}:function(){return _0x4d72b8;};return _0x4793ae['d'](_0x3d3aa6,'a',_0x3d3aa6),_0x3d3aa6;},_0x4793ae['o']=function(_0x165aac,_0x3ceba4){return Object['prototype']['hasOwnProperty']['call'](_0x165aac,_0x3ceba4);},_0x4793ae['p']='/',_0x4793ae['oe']=function(_0x1a4d12){throw _0x1a4d12;};var _0x491686=_0x4793ae(_0x4793ae['s']=ENTRY_MODULE);return _0x491686['default']||_0x491686;}var _0x5a1690='[\x5c.|\x5c-|\x5c+|\x5cw|/|@]+',_0x3d2014='\x5c(\x5cs*(/\x5c*.*?\x5c*/)?\x5cs*.*?('+_0x5a1690+').*?\x5c)';function _0x220c06(_0x23f693){return(_0x23f693+'')['replace'](/[.?*+^$[\]\\(){}|-]/g,'\x5c$&');}function _0x5813cb(_0x1fbf0a){return!isNaN(0x1*_0x1fbf0a);}function _0x175e5d(_0xf9fce9,_0x317d4e,_0x4e17d5){var _0x420a8f={};_0x420a8f[_0x4e17d5]=[];var _0x185845=_0x317d4e['toString'](),_0x48540d=_0x185845['match'](/^function\s?\w*\(\w+,\s*\w+,\s*(\w+)\)/);if(!_0x48540d)return _0x420a8f;for(var _0x1d6dcf,_0x3c1996=_0x48540d[0x1],_0x5dc699=new RegExp('(\x5c\x5cn|\x5cW)'+_0x220c06(_0x3c1996)+_0x3d2014,'g');_0x1d6dcf=_0x5dc699['exec'](_0x185845);)'dll-reference'!==_0x1d6dcf[0x3]&&_0x420a8f[_0x4e17d5]['push'](_0x1d6dcf[0x3]);for(_0x5dc699=new RegExp('\x5c('+_0x220c06(_0x3c1996)+'\x5c(\x22(dll-reference\x5cs('+_0x5a1690+'))\x22\x5c)\x5c)'+_0x3d2014,'g');_0x1d6dcf=_0x5dc699['exec'](_0x185845);)_0xf9fce9[_0x1d6dcf[0x2]]||(_0x420a8f[_0x4e17d5]['push'](_0x1d6dcf[0x1]),_0xf9fce9[_0x1d6dcf[0x2]]=__webpack_require__(_0x1d6dcf[0x1])['m']),_0x420a8f[_0x1d6dcf[0x2]]=_0x420a8f[_0x1d6dcf[0x2]]||[],_0x420a8f[_0x1d6dcf[0x2]]['push'](_0x1d6dcf[0x4]);for(var _0x11c914=Object['keys'](_0x420a8f),_0x516ea6=0x0;_0x516ea6<_0x11c914['length'];_0x516ea6++)for(var _0x2aba16=0x0;_0x2aba16<_0x420a8f[_0x11c914[_0x516ea6]]['length'];_0x2aba16++)_0x5813cb(_0x420a8f[_0x11c914[_0x516ea6]][_0x2aba16])&&(_0x420a8f[_0x11c914[_0x516ea6]][_0x2aba16]=0x1*_0x420a8f[_0x11c914[_0x516ea6]][_0x2aba16]);return _0x420a8f;}function _0x121f8c(_0x4d967e){return Object['keys'](_0x4d967e)['reduce'](function(_0x21622a,_0x2cf206){return _0x21622a||_0x4d967e[_0x2cf206]['length']>0x0;},!0x1);}bs['exports']=function(_0x1c8e5d,_0x9f9dd2){_0x9f9dd2=_0x9f9dd2||{};var _0x5cae7f={'main':__webpack_modules__},_0x111f3d=_0x9f9dd2['all']?{'main':Object['keys'](_0x5cae7f['main'])}:function(_0x2ac307,_0x595c37){for(var _0x3e722c={'main':[_0x595c37]},_0x413af6={'main':[]},_0x564c04={'main':{}};_0x121f8c(_0x3e722c);)for(var _0x201bb9=Object['keys'](_0x3e722c),_0x27062c=0x0;_0x27062c<_0x201bb9['length'];_0x27062c++){var _0x252d5e=_0x201bb9[_0x27062c],_0x3f6dd8=_0x3e722c[_0x252d5e]['pop']();if(_0x564c04[_0x252d5e]=_0x564c04[_0x252d5e]||{},!_0x564c04[_0x252d5e][_0x3f6dd8]&&_0x2ac307[_0x252d5e][_0x3f6dd8]){_0x564c04[_0x252d5e][_0x3f6dd8]=!0x0,_0x413af6[_0x252d5e]=_0x413af6[_0x252d5e]||[],_0x413af6[_0x252d5e]['push'](_0x3f6dd8);for(var _0x356f7f=_0x175e5d(_0x2ac307,_0x2ac307[_0x252d5e][_0x3f6dd8],_0x252d5e),_0x4ad692=Object['keys'](_0x356f7f),_0x5787b0=0x0;_0x5787b0<_0x4ad692['length'];_0x5787b0++)_0x3e722c[_0x4ad692[_0x5787b0]]=_0x3e722c[_0x4ad692[_0x5787b0]]||[],_0x3e722c[_0x4ad692[_0x5787b0]]=_0x3e722c[_0x4ad692[_0x5787b0]]['concat'](_0x356f7f[_0x4ad692[_0x5787b0]]);}}return _0x413af6;}(_0x5cae7f,_0x1c8e5d),_0x290b93='';Object['keys'](_0x111f3d)['filter'](function(_0x3e83ff){return'main'!==_0x3e83ff;})['forEach'](function(_0x4f1204){for(var _0x3b3389=0x0;_0x111f3d[_0x4f1204][_0x3b3389];)_0x3b3389++;_0x111f3d[_0x4f1204]['push'](_0x3b3389),_0x5cae7f[_0x4f1204][_0x3b3389]='(function(module,\x20exports,\x20__webpack_require__)\x20{\x20module.exports\x20=\x20__webpack_require__;\x20})',_0x290b93=_0x290b93+'var\x20'+_0x4f1204+'\x20=\x20('+_0x285cc3['toString']()['replace']('ENTRY_MODULE',JSON['stringify'](_0x3b3389))+')({'+_0x111f3d[_0x4f1204]['map'](function(_0x1b31a1){return JSON['stringify'](_0x1b31a1)+':\x20'+_0x5cae7f[_0x4f1204][_0x1b31a1]['toString']();})['join'](',')+'});\x0a';}),_0x290b93=_0x290b93+'new\x20(('+_0x285cc3['toString']()['replace']('ENTRY_MODULE',JSON['stringify'](_0x1c8e5d))+')({'+_0x111f3d['main']['map'](function(_0x2cb0e8){return JSON['stringify'](_0x2cb0e8)+':\x20'+_0x5cae7f['main'][_0x2cb0e8]['toString']();})['join'](',')+'}))(self);';var _0x5ee1ea=new window['Blob']([_0x290b93],{'type':'text/javascript'});if(_0x9f9dd2['bare'])return _0x5ee1ea;var _0x2247c7=(window['URL']||window['webkitURL']||window['mozURL']||window['msURL'])['createObjectURL'](_0x5ee1ea),_0x4c3a95=new window['Worker'](_0x2247c7);return _0x4c3a95['objectURL']=_0x2247c7,_0x4c3a95;};}())),bs['exports'];}function xs(){if(ms)return ps;ms=0x1;try{var _0x4f13ac=(function(){if(rs)return ss;rs=0x1;var _0x15244b=arguments[0x3],_0x31790f=arguments[0x4],_0x2df7c4=arguments[0x5],_0x57fd9e=JSON['stringify'];return ss=function(_0x58184e,_0xcba7ef){for(var _0x52a080,_0x4eb8de=Object['keys'](_0x2df7c4),_0x11d7e6=0x0,_0x590aba=_0x4eb8de['length'];_0x11d7e6<_0x590aba;_0x11d7e6++){var _0x586e3b=_0x4eb8de[_0x11d7e6],_0x309e7c=_0x2df7c4[_0x586e3b]['exports'];if(_0x309e7c===_0x58184e||_0x309e7c&&_0x309e7c['default']===_0x58184e){_0x52a080=_0x586e3b;break;}}if(!_0x52a080){_0x52a080=Math['floor'](Math['pow'](0x10,0x8)*Math['random']())['toString'](0x10);var _0x42a999={};for(_0x11d7e6=0x0,_0x590aba=_0x4eb8de['length'];_0x11d7e6<_0x590aba;_0x11d7e6++)_0x42a999[_0x586e3b=_0x4eb8de[_0x11d7e6]]=_0x586e3b;_0x31790f[_0x52a080]=['function(require,module,exports){'+_0x58184e+'(self);\x20}',_0x42a999];}var _0x3bd6c2=Math['floor'](Math['pow'](0x10,0x8)*Math['random']())['toString'](0x10),_0xc01d56={};_0xc01d56[_0x52a080]=_0x52a080,_0x31790f[_0x3bd6c2]=['function(require,module,exports){var\x20f\x20=\x20require('+_0x57fd9e(_0x52a080)+');(f.default\x20?\x20f.default\x20:\x20f)(self);}',_0xc01d56];var _0x181056={};!function _0x3e1c19(_0x2306f9){for(var _0x12caa6 in(_0x181056[_0x2306f9]=!0x0,_0x31790f[_0x2306f9][0x1])){var _0xeec1ef=_0x31790f[_0x2306f9][0x1][_0x12caa6];_0x181056[_0xeec1ef]||_0x3e1c19(_0xeec1ef);}}(_0x3bd6c2);var _0x32126b='('+_0x15244b+')({'+Object['keys'](_0x181056)['map'](function(_0x555454){return _0x57fd9e(_0x555454)+':['+_0x31790f[_0x555454][0x0]+','+_0x57fd9e(_0x31790f[_0x555454][0x1])+']';})['join'](',')+'},{},['+_0x57fd9e(_0x3bd6c2)+'])',_0x35d12f=window['URL']||window['webkitURL']||window['mozURL']||window['msURL'],_0x1fa187=new Blob([_0x32126b],{'type':'text/javascript'});if(_0xcba7ef&&_0xcba7ef['bare'])return _0x1fa187;var _0x391db3=_0x35d12f['createObjectURL'](_0x1fa187),_0x495efd=new Worker(_0x391db3);return _0x495efd['objectURL']=_0x391db3,_0x495efd;};}());}catch(_0x212966){_0x4f13ac=ws();}var _0x1464fc=(function(){if(ds)return us;ds=0x1;var _0x581f86=_0x581f86||cs();return us=function(_0x42d3ac){var _0x17fcea=null;function _0x3e4565(_0x336464){var _0x212aa1=_0x336464['data'];_0x212aa1 instanceof ArrayBuffer?_0x42d3ac['postMessage'](_0x212aa1,[_0x212aa1]):_0x42d3ac['postMessage'](_0x212aa1);}function _0x309033(_0x59528a){_0x42d3ac['postMessage']({'type':_0x59528a['type']});}_0x42d3ac['addEventListener']('message',function(_0x169e62){var _0x1bb140=_0x169e62['data'];if('string'==typeof _0x1bb140)_0x17fcea['send'](_0x1bb140);else if(_0x1bb140['hasOwnProperty']('close'))_0x17fcea['close'](),_0x17fcea=null;else{if(!_0x1bb140['hasOwnProperty']('uri'))throw'Unknown\x20message\x20to\x20WorkerSocket';var _0x4f47f2=_0x1bb140['uri'];(_0x17fcea=new _0x581f86(_0x4f47f2))['binaryType']='arraybuffer',_0x17fcea['onmessage']=_0x3e4565,_0x17fcea['onclose']=_0x309033,_0x17fcea['onopen']=_0x309033,_0x17fcea['onerror']=_0x309033;}});};}());function _0x1d37ae(_0x1145d4){this['socket_']=_0x4f13ac(_0x1464fc),this['socket_']['addEventListener']('message',this['handleWorkerMessage_']['bind'](this)),this['socket_']['postMessage']({'uri':_0x1145d4});}return _0x1d37ae['prototype']['handleWorkerMessage_']=function(_0x2834f){var _0x178bc5=_0x2834f['data'];if(_0x178bc5 instanceof ArrayBuffer||'string'==typeof _0x178bc5)this['onmessage'](_0x2834f);else{var _0x35b238=_0x178bc5['type'];if('close'===_0x35b238)this['onclose'](null);else if('open'===_0x35b238)this['onopen'](null);else{if('error'!==_0x35b238)throw'Unknown\x20message\x20from\x20workersocket';this['onerror'](null);}}},_0x1d37ae['prototype']['send']=function(_0x40a880){this['socket_']['postMessage'](_0x40a880);},_0x1d37ae['prototype']['close']=function(){this['socket_']['postMessage']({'close':!0x0});},ps=_0x1d37ae;}function Ms(){if(vs)return ys;vs=0x1;var _0x4bf059=fs?gs:(fs=0x1,gs=function(){return document['createElement']('canvas');}),_0x432148=_0x4bf059['Image']||window['Image'];return ys=function(_0xe2b78c,_0x67c8b6){var _0x3af22f=new _0x432148();_0x3af22f['onload']=function(){var _0x3df6ed=new _0x4bf059(),_0x47f3ff=_0x3df6ed['getContext']('2d');_0x3df6ed['width']=_0x3af22f['width'],_0x3df6ed['height']=_0x3af22f['height'],_0x47f3ff['imageSmoothingEnabled']=!0x1,_0x47f3ff['webkitImageSmoothingEnabled']=!0x1,_0x47f3ff['mozImageSmoothingEnabled']=!0x1,_0x47f3ff['drawImage'](_0x3af22f,0x0,0x0);for(var _0x3941da=_0x47f3ff['getImageData'](0x0,0x0,_0x3af22f['width'],_0x3af22f['height'])['data'],_0x57abf7='',_0x4ce318=0x0;_0x4ce318<_0x3941da['length'];_0x4ce318+=0x4)_0x57abf7+=String['fromCharCode'](_0x3941da[_0x4ce318],_0x3941da[_0x4ce318+0x1],_0x3941da[_0x4ce318+0x2]);_0x67c8b6(JSON['parse'](_0x57abf7));},_0x3af22f['src']='data:image/png;base64,'+_0xe2b78c;};}var _s,Ss={'exports':{}};function As(){return _s||(_s=0x1,_0x3650cb=Ss,_0x3d7597=Xi,_0x1b7aba=Math['pow'](0x2,-0x18),_0xb61904=Math['pow'](0x2,0x20),_0x194ead=Math['pow'](0x2,0x35),_0x1cbcfb={'encode':function(_0x3aa7d9){var _0x2783d8,_0x4b34b8=new ArrayBuffer(0x100),_0x31cf94=new DataView(_0x4b34b8),_0x36e5d0=0x0;function _0x4cce9c(_0x4e845c){for(var _0x45af46=_0x4b34b8['byteLength'],_0x5f447b=_0x36e5d0+_0x4e845c;_0x45af46<_0x5f447b;)_0x45af46*=0x2;if(_0x45af46!==_0x4b34b8['byteLength']){var _0x150d94=_0x31cf94;_0x4b34b8=new ArrayBuffer(_0x45af46),_0x31cf94=new DataView(_0x4b34b8);for(var _0xe791e9=_0x36e5d0+0x3>>0x2,_0x30d8c6=0x0;_0x30d8c6<_0xe791e9;++_0x30d8c6)_0x31cf94['setUint32'](0x4*_0x30d8c6,_0x150d94['getUint32'](0x4*_0x30d8c6));}return _0x2783d8=_0x4e845c,_0x31cf94;}function _0x47de1e(){_0x36e5d0+=_0x2783d8;}function _0x35139d(_0x461e42){_0x47de1e(_0x4cce9c(0x1)['setUint8'](_0x36e5d0,_0x461e42));}function _0x20b22a(_0x57129a){for(var _0x2213e9=_0x4cce9c(_0x57129a['length']),_0x61daa6=0x0;_0x61daa6<_0x57129a['length'];++_0x61daa6)_0x2213e9['setUint8'](_0x36e5d0+_0x61daa6,_0x57129a[_0x61daa6]);_0x47de1e();}function _0x3f02bb(_0x11825c,_0x1ad646){var _0x2cd3e4;_0x1ad646<0x18?_0x35139d(_0x11825c<<0x5|_0x1ad646):_0x1ad646<0x100?(_0x35139d(_0x11825c<<0x5|0x18),_0x35139d(_0x1ad646)):_0x1ad646<0x10000?(_0x35139d(_0x11825c<<0x5|0x19),_0x2cd3e4=_0x1ad646,_0x47de1e(_0x4cce9c(0x2)['setUint16'](_0x36e5d0,_0x2cd3e4))):_0x1ad646<0x100000000?(_0x35139d(_0x11825c<<0x5|0x1a),function(_0x5d5236){_0x47de1e(_0x4cce9c(0x4)['setUint32'](_0x36e5d0,_0x5d5236));}(_0x1ad646)):(_0x35139d(_0x11825c<<0x5|0x1b),function(_0x38ca6c){var _0xa0287e=_0x38ca6c%_0xb61904,_0x207688=(_0x38ca6c-_0xa0287e)/_0xb61904,_0x19fe7c=_0x4cce9c(0x8);_0x19fe7c['setUint32'](_0x36e5d0,_0x207688),_0x19fe7c['setUint32'](_0x36e5d0+0x4,_0xa0287e),_0x47de1e();}(_0x1ad646));}if(function _0x2dd4e2(_0x1916c5){var _0x4054b3;if(!0x1===_0x1916c5)return _0x35139d(0xf4);if(!0x0===_0x1916c5)return _0x35139d(0xf5);if(null===_0x1916c5)return _0x35139d(0xf6);if(_0x1916c5===_0x227fbc)return _0x35139d(0xf7);switch(typeof _0x1916c5){case'number':if(Math['floor'](_0x1916c5)===_0x1916c5){if(0x0<=_0x1916c5&&_0x1916c5<=_0x194ead)return _0x3f02bb(0x0,_0x1916c5);if(-_0x194ead<=_0x1916c5&&_0x1916c5<0x0)return _0x3f02bb(0x1,-(_0x1916c5+0x1));}return _0x35139d(0xfb),function(_0x106fb1){_0x47de1e(_0x4cce9c(0x8)['setFloat64'](_0x36e5d0,_0x106fb1));}(_0x1916c5);case'string':var _0x5377f4=[];for(_0x4054b3=0x0;_0x4054b3<_0x1916c5['length'];++_0x4054b3){var _0x59be3f=_0x1916c5['charCodeAt'](_0x4054b3);_0x59be3f<0x80?_0x5377f4['push'](_0x59be3f):_0x59be3f<0x800?(_0x5377f4['push'](0xc0|_0x59be3f>>0x6),_0x5377f4['push'](0x80|0x3f&_0x59be3f)):_0x59be3f<0xd800?(_0x5377f4['push'](0xe0|_0x59be3f>>0xc),_0x5377f4['push'](0x80|_0x59be3f>>0x6&0x3f),_0x5377f4['push'](0x80|0x3f&_0x59be3f)):(_0x59be3f=(0x3ff&_0x59be3f)<<0xa,_0x59be3f|=0x3ff&_0x1916c5['charCodeAt'](++_0x4054b3),_0x59be3f+=0x10000,_0x5377f4['push'](0xf0|_0x59be3f>>0x12),_0x5377f4['push'](0x80|_0x59be3f>>0xc&0x3f),_0x5377f4['push'](0x80|_0x59be3f>>0x6&0x3f),_0x5377f4['push'](0x80|0x3f&_0x59be3f));}return _0x3f02bb(0x3,_0x5377f4['length']),_0x20b22a(_0x5377f4);default:var _0x529e8b;if(Array['isArray'](_0x1916c5))for(_0x3f02bb(0x4,_0x529e8b=_0x1916c5['length']),_0x4054b3=0x0;_0x4054b3<_0x529e8b;++_0x4054b3)_0x2dd4e2(_0x1916c5[_0x4054b3]);else if(_0x1916c5 instanceof Uint8Array)_0x3f02bb(0x2,_0x1916c5['length']),_0x20b22a(_0x1916c5);else{var _0x5f1ccc=Object['keys'](_0x1916c5);for(_0x3f02bb(0x5,_0x529e8b=_0x5f1ccc['length']),_0x4054b3=0x0;_0x4054b3<_0x529e8b;++_0x4054b3){var _0x2091c0=_0x5f1ccc[_0x4054b3];_0x2dd4e2(_0x2091c0),_0x2dd4e2(_0x1916c5[_0x2091c0]);}}}}(_0x3aa7d9),'slice'in _0x4b34b8)return _0x4b34b8['slice'](0x0,_0x36e5d0);for(var _0x591528=new ArrayBuffer(_0x36e5d0),_0x14a228=new DataView(_0x591528),_0xb00ed9=0x0;_0xb00ed9<_0x36e5d0;++_0xb00ed9)_0x14a228['setUint8'](_0xb00ed9,_0x31cf94['getUint8'](_0xb00ed9));return _0x591528;},'decode':function(_0x54e2bb,_0x5f29e5,_0x288eaf){var _0x785df5=new DataView(_0x54e2bb),_0x59c4c9=0x0;function _0x158f17(_0x165a2f,_0x5e9c50){return _0x59c4c9+=_0x5e9c50,_0x165a2f;}function _0x42b224(_0xb03a30){return _0x158f17(new Uint8Array(_0x54e2bb,_0x59c4c9,_0xb03a30),_0xb03a30);}function _0x422e64(){return _0x158f17(_0x785df5['getUint8'](_0x59c4c9),0x1);}function _0x4bd289(){return _0x158f17(_0x785df5['getUint16'](_0x59c4c9),0x2);}function _0x5982c0(){return _0x158f17(_0x785df5['getUint32'](_0x59c4c9),0x4);}function _0x264216(){return 0xff===_0x785df5['getUint8'](_0x59c4c9)&&(_0x59c4c9+=0x1,!0x0);}function _0x2c4e87(_0x2cd2af){if(_0x2cd2af<0x18)return _0x2cd2af;if(0x18===_0x2cd2af)return _0x422e64();if(0x19===_0x2cd2af)return _0x4bd289();if(0x1a===_0x2cd2af)return _0x5982c0();if(0x1b===_0x2cd2af)return _0x5982c0()*_0xb61904+_0x5982c0();if(0x1f===_0x2cd2af)return-0x1;throw'Invalid\x20length\x20encoding';}function _0x7b7d56(_0x59a231){var _0x8a977c=_0x422e64();if(0xff===_0x8a977c)return-0x1;var _0x52d739=_0x2c4e87(0x1f&_0x8a977c);if(_0x52d739<0x0||_0x8a977c>>0x5!==_0x59a231)throw'Invalid\x20indefinite\x20length\x20element';return _0x52d739;}function _0x731f2f(_0xc2d371,_0x56dce2){for(var _0x255cf3=0x0;_0x255cf3<_0x56dce2;++_0x255cf3){var _0x488d20=_0x422e64();0x80&_0x488d20&&(_0x488d20<0xe0?(_0x488d20=(0x1f&_0x488d20)<<0x6|0x3f&_0x422e64(),_0x56dce2-=0x1):_0x488d20<0xf0?(_0x488d20=(0xf&_0x488d20)<<0xc|(0x3f&_0x422e64())<<0x6|0x3f&_0x422e64(),_0x56dce2-=0x2):(_0x488d20=(0xf&_0x488d20)<<0x12|(0x3f&_0x422e64())<<0xc|(0x3f&_0x422e64())<<0x6|0x3f&_0x422e64(),_0x56dce2-=0x3)),_0x488d20<0x10000?_0xc2d371['push'](_0x488d20):(_0x488d20-=0x10000,_0xc2d371['push'](0xd800|_0x488d20>>0xa),_0xc2d371['push'](0xdc00|0x3ff&_0x488d20));}}'function'!=typeof _0x5f29e5&&(_0x5f29e5=function(_0xa051ac){return _0xa051ac;}),'function'!=typeof _0x288eaf&&(_0x288eaf=function(){return _0x227fbc;});var _0xb6aa26=function _0xe77df3(){var _0x3fbb62,_0x1c1ff0,_0x41cf95=_0x422e64(),_0x4d2124=_0x41cf95>>0x5,_0x3d7629=0x1f&_0x41cf95;if(0x7===_0x4d2124)switch(_0x3d7629){case 0x19:return(function(){var _0x327101=new ArrayBuffer(0x4),_0x315074=new DataView(_0x327101),_0x5c4d7b=_0x4bd289(),_0x53fa71=0x8000&_0x5c4d7b,_0x5ddd0e=0x7c00&_0x5c4d7b,_0x15a571=0x3ff&_0x5c4d7b;if(0x7c00===_0x5ddd0e)_0x5ddd0e=0x3fc00;else if(0x0!==_0x5ddd0e)_0x5ddd0e+=0x1c000;else if(0x0!==_0x15a571)return _0x15a571*_0x1b7aba;return _0x315074['setUint32'](0x0,_0x53fa71<<0x10|_0x5ddd0e<<0xd|_0x15a571<<0xd),_0x315074['getFloat32'](0x0);}());case 0x1a:return _0x158f17(_0x785df5['getFloat32'](_0x59c4c9),0x4);case 0x1b:return _0x158f17(_0x785df5['getFloat64'](_0x59c4c9),0x8);}if((_0x1c1ff0=_0x2c4e87(_0x3d7629))<0x0&&(_0x4d2124<0x2||0x6<_0x4d2124))throw'Invalid\x20length';switch(_0x4d2124){case 0x0:return _0x1c1ff0;case 0x1:return-0x1-_0x1c1ff0;case 0x2:if(_0x1c1ff0<0x0){for(var _0x495491=[],_0x23c01d=0x0;(_0x1c1ff0=_0x7b7d56(_0x4d2124))>=0x0;)_0x23c01d+=_0x1c1ff0,_0x495491['push'](_0x42b224(_0x1c1ff0));var _0x40be66=new Uint8Array(_0x23c01d),_0x169128=0x0;for(_0x3fbb62=0x0;_0x3fbb62<_0x495491['length'];++_0x3fbb62)_0x40be66['set'](_0x495491[_0x3fbb62],_0x169128),_0x169128+=_0x495491[_0x3fbb62]['length'];return _0x40be66;}return _0x42b224(_0x1c1ff0);case 0x3:var _0x20c6de=[];if(_0x1c1ff0<0x0)for(;(_0x1c1ff0=_0x7b7d56(_0x4d2124))>=0x0;)_0x731f2f(_0x20c6de,_0x1c1ff0);else _0x731f2f(_0x20c6de,_0x1c1ff0);return String['fromCharCode']['apply'](null,_0x20c6de);case 0x4:var _0x110b35;if(_0x1c1ff0<0x0)for(_0x110b35=[];!_0x264216();)_0x110b35['push'](_0xe77df3());else for(_0x110b35=new Array(_0x1c1ff0),_0x3fbb62=0x0;_0x3fbb62<_0x1c1ff0;++_0x3fbb62)_0x110b35[_0x3fbb62]=_0xe77df3();return _0x110b35;case 0x5:var _0x5515dd={};for(_0x3fbb62=0x0;_0x3fbb62<_0x1c1ff0||_0x1c1ff0<0x0&&!_0x264216();++_0x3fbb62)_0x5515dd[_0xe77df3()]=_0xe77df3();return _0x5515dd;case 0x6:return _0x5f29e5(_0xe77df3(),_0x1c1ff0);case 0x7:switch(_0x1c1ff0){case 0x14:return!0x1;case 0x15:return!0x0;case 0x16:return null;case 0x17:return _0x227fbc;default:return _0x288eaf(_0x1c1ff0);}}}();if(_0x59c4c9!==_0x54e2bb['byteLength'])throw'Remaining\x20bytes';return _0xb6aa26;}},_0x3650cb['exports']?_0x3650cb['exports']=_0x1cbcfb:_0x3d7597['CBOR']||(_0x3d7597['CBOR']=_0x1cbcfb)),Ss['exports'];var _0x3650cb,_0x3d7597,_0x227fbc,_0x1b7aba,_0xb61904,_0x194ead,_0x1cbcfb;}var Ls,Es,Cs,js,ks,Ts,Os,Fs={'exports':{}};function Ds(){if(Cs)return Es;Cs=0x1;var _0x175c6f=Ms(),_0x50bade=As(),_0x552bbe=(Ls||(Ls=0x1,function(_0x5d71c8){var _0x56ee44=Math['pow'](0x2,0x20),_0x3161c4=!0x1;function _0x67e9c2(){_0x3161c4||(_0x3161c4=!0x0);}var _0xae3e6a={0x40:Uint8Array,0x45:Uint16Array,0x46:Uint32Array,0x48:Int8Array,0x4d:Int16Array,0x4e:Int32Array,0x55:Float32Array,0x56:Float64Array},_0xeaca38={0x47:function(_0x1c03d6){_0x67e9c2();for(var _0x1d86e8=_0x1c03d6['byteLength'],_0x924654=_0x1c03d6['byteOffset'],_0x104504=_0x1d86e8/0x8,_0x543780=_0x1c03d6['buffer']['slice'](_0x924654,_0x924654+_0x1d86e8),_0x4b4536=new Uint32Array(_0x543780),_0x676e9e=new Array(_0x104504),_0x1a2219=0x0;_0x1a2219<_0x104504;_0x1a2219++){var _0x389f31=0x2*_0x1a2219,_0x5f002d=_0x4b4536[_0x389f31],_0x43ab97=_0x4b4536[_0x389f31+0x1];_0x676e9e[_0x1a2219]=_0x5f002d+_0x56ee44*_0x43ab97;}return _0x676e9e;},0x4f:function(_0x4a08bf){_0x67e9c2();for(var _0x2c9bc9=_0x4a08bf['byteLength'],_0x27a973=_0x4a08bf['byteOffset'],_0x108b14=_0x2c9bc9/0x8,_0x510656=_0x4a08bf['buffer']['slice'](_0x27a973,_0x27a973+_0x2c9bc9),_0x52f55b=new Uint32Array(_0x510656),_0x8fde99=new Int32Array(_0x510656),_0x2616cc=new Array(_0x108b14),_0x52f825=0x0;_0x52f825<_0x108b14;_0x52f825++){var _0x55726e=0x2*_0x52f825,_0xaec921=_0x52f55b[_0x55726e],_0x282496=_0x8fde99[_0x55726e+0x1];_0x2616cc[_0x52f825]=_0xaec921+_0x56ee44*_0x282496;}return _0x2616cc;}};_0x5d71c8['exports']&&(_0x5d71c8['exports']=function(_0x2ee0dc,_0x72d62d){var _0x334d0e,_0x504efe,_0xe5ed83,_0x48b3b3;return _0x72d62d in _0xae3e6a?(_0x504efe=_0xae3e6a[_0x72d62d],_0xe5ed83=(_0x334d0e=_0x2ee0dc)['byteLength'],_0x48b3b3=_0x334d0e['byteOffset'],new _0x504efe(_0x334d0e['buffer']['slice'](_0x48b3b3,_0x48b3b3+_0xe5ed83))):_0x72d62d in _0xeaca38?_0xeaca38[_0x72d62d](_0x2ee0dc):_0x2ee0dc;});}(Fs)),Fs['exports']),_0x108d76=null;return'undefined'!=typeof bson&&(_0x108d76=bson()['BSON']),Es=function(_0xd0eb92){var _0x3f994f=null;function _0x41334c(_0xd65db6){'publish'===_0xd65db6['op']?_0xd0eb92['emit'](_0xd65db6['topic'],_0xd65db6['msg']):'service_response'===_0xd65db6['op']?_0xd0eb92['emit'](_0xd65db6['id'],_0xd65db6):'call_service'===_0xd65db6['op']?_0xd0eb92['emit'](_0xd65db6['service'],_0xd65db6):'status'===_0xd65db6['op']&&(_0xd65db6['id']?_0xd0eb92['emit']('status:'+_0xd65db6['id'],_0xd65db6):_0xd0eb92['emit']('status',_0xd65db6));}function _0x581431(_0x16701b,_0x5d8b46){'png'===_0x16701b['op']?_0x175c6f(_0x16701b['data'],_0x5d8b46):_0x5d8b46(_0x16701b);}return _0xd0eb92['transportOptions']['decoder']&&(_0x3f994f=_0xd0eb92['transportOptions']['decoder']),{'onopen':function(_0x396963){_0xd0eb92['isConnected']=!0x0,_0xd0eb92['emit']('connection',_0x396963);},'onclose':function(_0x1a9de3){_0xd0eb92['isConnected']=!0x1,_0xd0eb92['emit']('close',_0x1a9de3);},'onerror':function(_0x1c87d3){_0xd0eb92['emit']('error',_0x1c87d3);},'onmessage':function(_0x20c418){if(_0x3f994f)_0x3f994f(_0x20c418['data'],function(_0x81c32e){_0x41334c(_0x81c32e);});else if('undefined'!=typeof Blob&&_0x20c418['data']instanceof Blob)!function(_0x28e4be,_0x469cf4){if(!_0x108d76)throw'Cannot\x20process\x20BSON\x20encoded\x20message\x20without\x20BSON\x20header.';var _0x337d42=new FileReader();_0x337d42['onload']=function(){var _0x427394=new Uint8Array(this['result']),_0x5ae2ba=_0x108d76['deserialize'](_0x427394);_0x469cf4(_0x5ae2ba);},_0x337d42['readAsArrayBuffer'](_0x28e4be);}(_0x20c418['data'],function(_0x58b8d5){_0x581431(_0x58b8d5,_0x41334c);});else if(_0x20c418['data']instanceof ArrayBuffer){_0x41334c(_0x50bade['decode'](_0x20c418['data'],_0x552bbe));}else{_0x581431(JSON['parse']('string'==typeof _0x20c418?_0x20c418:_0x20c418['data']),_0x41334c);}}};};}function Ps(){if(ks)return js;ks=0x1;var _0x1d3faf=as;return js=function(_0x1cb16e){_0x1d3faf(this,_0x1cb16e);};}function Is(){if(Os)return Ts;Os=0x1;var _0x2cd7c7=as;return Ts=function(_0x4376ff){_0x2cd7c7(this,_0x4376ff);};}var Rs,zs,Ns,Us,Vs,qs,Bs,$s,Js,Hs,Gs,Ws,Xs={'exports':{}};function Ys(){return Rs||(Rs=0x1,_0x50d74f=Xs,function(_0x497f09){var _0x56cbd9=Object['hasOwnProperty'],_0x282c6b=Array['isArray']?Array['isArray']:function(_0x20f157){return'[object\x20Array]'===Object['prototype']['toString']['call'](_0x20f157);},_0x44e46a='object'==typeof process&&'function'==typeof process['nextTick'],_0x31c8ba='function'==typeof Symbol,_0x320a19='object'==typeof Reflect,_0x497fb4='function'==typeof setImmediate?setImmediate:setTimeout,_0x48898f=_0x31c8ba?_0x320a19&&'function'==typeof Reflect['ownKeys']?Reflect['ownKeys']:function(_0x5c7e71){var _0x5cc124=Object['getOwnPropertyNames'](_0x5c7e71);return _0x5cc124['push']['apply'](_0x5cc124,Object['getOwnPropertySymbols'](_0x5c7e71)),_0x5cc124;}:Object['keys'];function _0x11bf6a(){this['_events']={},this['_conf']&&_0xd06e91['call'](this,this['_conf']);}function _0xd06e91(_0x5d3852){_0x5d3852&&(this['_conf']=_0x5d3852,_0x5d3852['delimiter']&&(this['delimiter']=_0x5d3852['delimiter']),_0x5d3852['maxListeners']!==_0x497f09&&(this['_maxListeners']=_0x5d3852['maxListeners']),_0x5d3852['wildcard']&&(this['wildcard']=_0x5d3852['wildcard']),_0x5d3852['newListener']&&(this['_newListener']=_0x5d3852['newListener']),_0x5d3852['removeListener']&&(this['_removeListener']=_0x5d3852['removeListener']),_0x5d3852['verboseMemoryLeak']&&(this['verboseMemoryLeak']=_0x5d3852['verboseMemoryLeak']),_0x5d3852['ignoreErrors']&&(this['ignoreErrors']=_0x5d3852['ignoreErrors']),this['wildcard']&&(this['listenerTree']={}));}function _0x540d9d(_0x5175b6,_0x26f71e){var _0x127987='(node)\x20warning:\x20possible\x20EventEmitter\x20memory\x20leak\x20detected.\x20'+_0x5175b6+'\x20listeners\x20added.\x20Use\x20emitter.setMaxListeners()\x20to\x20increase\x20limit.';if(this['verboseMemoryLeak']&&(_0x127987+='\x20Event\x20name:\x20'+_0x26f71e+'.'),'undefined'!=typeof process&&process['emitWarning']){var _0x1f2a81=new Error(_0x127987);_0x1f2a81['name']='MaxListenersExceededWarning',_0x1f2a81['emitter']=this,_0x1f2a81['count']=_0x5175b6,process['emitWarning'](_0x1f2a81);}else console['trace'];}var _0x3ee8ea=function(_0x3eaf0e,_0x556c99,_0x1108b2){var _0x4cfc90=arguments['length'];switch(_0x4cfc90){case 0x0:return[];case 0x1:return[_0x3eaf0e];case 0x2:return[_0x3eaf0e,_0x556c99];case 0x3:return[_0x3eaf0e,_0x556c99,_0x1108b2];default:for(var _0x5058eb=new Array(_0x4cfc90);_0x4cfc90--;)_0x5058eb[_0x4cfc90]=arguments[_0x4cfc90];return _0x5058eb;}};function _0x51aa36(_0x1989a8,_0x2108ae){for(var _0x3643f6={},_0x51a854=_0x1989a8['length'],_0x32b6db=_0x2108ae?_0x2108ae['length']:0x0,_0x2d5e95=0x0;_0x2d5e95<_0x51a854;_0x2d5e95++)_0x3643f6[_0x1989a8[_0x2d5e95]]=_0x2d5e95<_0x32b6db?_0x2108ae[_0x2d5e95]:_0x497f09;return _0x3643f6;}function _0x79ddb2(_0x4ae34e,_0x1c1699,_0x45422f){var _0x3320d9,_0x40310b;if(this['_emitter']=_0x4ae34e,this['_target']=_0x1c1699,this['_listeners']={},this['_listenersCount']=0x0,(_0x45422f['on']||_0x45422f['off'])&&(_0x3320d9=_0x45422f['on'],_0x40310b=_0x45422f['off']),_0x1c1699['addEventListener']?(_0x3320d9=_0x1c1699['addEventListener'],_0x40310b=_0x1c1699['removeEventListener']):_0x1c1699['addListener']?(_0x3320d9=_0x1c1699['addListener'],_0x40310b=_0x1c1699['removeListener']):_0x1c1699['on']&&(_0x3320d9=_0x1c1699['on'],_0x40310b=_0x1c1699['off']),!_0x3320d9&&!_0x40310b)throw Error('target\x20does\x20not\x20implement\x20any\x20known\x20event\x20API');if('function'!=typeof _0x3320d9)throw TypeError('on\x20method\x20must\x20be\x20a\x20function');if('function'!=typeof _0x40310b)throw TypeError('off\x20method\x20must\x20be\x20a\x20function');this['_on']=_0x3320d9,this['_off']=_0x40310b;var _0x1cdb59=_0x4ae34e['_observers'];_0x1cdb59?_0x1cdb59['push'](this):_0x4ae34e['_observers']=[this];}function _0x155e1f(_0xbeb486,_0x550c10,_0x33e9d3,_0x1995c9){var _0x497e70=Object['assign']({},_0x550c10);if(!_0xbeb486)return _0x497e70;if('object'!=typeof _0xbeb486)throw TypeError('options\x20must\x20be\x20an\x20object');var _0x474a32,_0x589068,_0x3f1fc2,_0x4e0e89=Object['keys'](_0xbeb486),_0x310759=_0x4e0e89['length'];function _0x4b3a19(_0x4e3e6e){throw Error('Invalid\x20\x22'+_0x474a32+'\x22\x20option\x20value'+(_0x4e3e6e?'.\x20Reason:\x20'+_0x4e3e6e:''));}for(var _0x47af7e=0x0;_0x47af7e<_0x310759;_0x47af7e++){if(_0x474a32=_0x4e0e89[_0x47af7e],!_0x1995c9&&!_0x56cbd9['call'](_0x550c10,_0x474a32))throw Error('Unknown\x20\x22'+_0x474a32+'\x22\x20option');(_0x589068=_0xbeb486[_0x474a32])!==_0x497f09&&(_0x3f1fc2=_0x33e9d3[_0x474a32],_0x497e70[_0x474a32]=_0x3f1fc2?_0x3f1fc2(_0x589068,_0x4b3a19):_0x589068);}return _0x497e70;}function _0x221a43(_0x2b5a83,_0x2b6634){return'function'==typeof _0x2b5a83&&_0x2b5a83['hasOwnProperty']('prototype')||_0x2b6634('value\x20must\x20be\x20a\x20constructor'),_0x2b5a83;}function _0x1a6fe5(_0x5532fe){var _0x189bbe='value\x20must\x20be\x20type\x20of\x20'+_0x5532fe['join']('|'),_0x3e04f9=_0x5532fe['length'],_0x2a4e12=_0x5532fe[0x0],_0x1ac0ae=_0x5532fe[0x1];return 0x1===_0x3e04f9?function(_0x290d6d,_0x514a7e){if(typeof _0x290d6d===_0x2a4e12)return _0x290d6d;_0x514a7e(_0x189bbe);}:0x2===_0x3e04f9?function(_0x588d89,_0x3fc451){var _0x221d95=typeof _0x588d89;if(_0x221d95===_0x2a4e12||_0x221d95===_0x1ac0ae)return _0x588d89;_0x3fc451(_0x189bbe);}:function(_0x24a85d,_0xf00824){for(var _0x3840b9=typeof _0x24a85d,_0x27487b=_0x3e04f9;_0x27487b-->0x0;)if(_0x3840b9===_0x5532fe[_0x27487b])return _0x24a85d;_0xf00824(_0x189bbe);};}Object['assign'](_0x79ddb2['prototype'],{'subscribe':function(_0x5355e9,_0x172e7e,_0x350542){var _0x184061=this,_0x573e5d=this['_target'],_0x510a45=this['_emitter'],_0x2a751a=this['_listeners'],_0xddb6c4=function(){var _0x38e452=_0x3ee8ea['apply'](null,arguments),_0x5dc0f9={'data':_0x38e452,'name':_0x172e7e,'original':_0x5355e9};_0x350542?!0x1!==_0x350542['call'](_0x573e5d,_0x5dc0f9)&&_0x510a45['emit']['apply'](_0x510a45,[_0x5dc0f9['name']]['concat'](_0x38e452)):_0x510a45['emit']['apply'](_0x510a45,[_0x172e7e]['concat'](_0x38e452));};if(_0x2a751a[_0x5355e9])throw Error('Event\x20\x27'+_0x5355e9+'\x27\x20is\x20already\x20listening');this['_listenersCount']++,_0x510a45['_newListener']&&_0x510a45['_removeListener']&&!_0x184061['_onNewListener']?(this['_onNewListener']=function(_0x31a51e){_0x31a51e===_0x172e7e&&null===_0x2a751a[_0x5355e9]&&(_0x2a751a[_0x5355e9]=_0xddb6c4,_0x184061['_on']['call'](_0x573e5d,_0x5355e9,_0xddb6c4));},_0x510a45['on']('newListener',this['_onNewListener']),this['_onRemoveListener']=function(_0x143689){_0x143689===_0x172e7e&&!_0x510a45['hasListeners'](_0x143689)&&_0x2a751a[_0x5355e9]&&(_0x2a751a[_0x5355e9]=null,_0x184061['_off']['call'](_0x573e5d,_0x5355e9,_0xddb6c4));},_0x2a751a[_0x5355e9]=null,_0x510a45['on']('removeListener',this['_onRemoveListener'])):(_0x2a751a[_0x5355e9]=_0xddb6c4,_0x184061['_on']['call'](_0x573e5d,_0x5355e9,_0xddb6c4));},'unsubscribe':function(_0x159d99){var _0x1279d3,_0x2efe64,_0x15305c,_0x59f34a=this,_0x15ec95=this['_listeners'],_0x473bb9=this['_emitter'],_0x583c2e=this['_off'],_0x1d4775=this['_target'];if(_0x159d99&&'string'!=typeof _0x159d99)throw TypeError('event\x20must\x20be\x20a\x20string');function _0x26fde4(){_0x59f34a['_onNewListener']&&(_0x473bb9['off']('newListener',_0x59f34a['_onNewListener']),_0x473bb9['off']('removeListener',_0x59f34a['_onRemoveListener']),_0x59f34a['_onNewListener']=null,_0x59f34a['_onRemoveListener']=null);var _0x5e0e72=_0x5b3cd6['call'](_0x473bb9,_0x59f34a);_0x473bb9['_observers']['splice'](_0x5e0e72,0x1);}if(_0x159d99){if(!(_0x1279d3=_0x15ec95[_0x159d99]))return;_0x583c2e['call'](_0x1d4775,_0x159d99,_0x1279d3),delete _0x15ec95[_0x159d99],--this['_listenersCount']||_0x26fde4();}else{for(_0x15305c=(_0x2efe64=_0x48898f(_0x15ec95))['length'];_0x15305c-->0x0;)_0x159d99=_0x2efe64[_0x15305c],_0x583c2e['call'](_0x1d4775,_0x159d99,_0x15ec95[_0x159d99]);this['_listeners']={},this['_listenersCount']=0x0,_0x26fde4();}}});var _0x3b06f8=_0x1a6fe5(['function']),_0x2a5627=_0x1a6fe5(['object','function']);function _0x25adf9(_0x2ab68d,_0x1c21a,_0x353c81){var _0x539690,_0xcdeb62,_0x1ee0a1,_0x3f57de=0x0,_0x14aff5=new _0x2ab68d(function(_0x326747,_0x3fa0ad,_0x19373c){function _0x167a40(){_0xcdeb62&&(_0xcdeb62=null),_0x3f57de&&(clearTimeout(_0x3f57de),_0x3f57de=0x0);}_0x353c81=_0x155e1f(_0x353c81,{'timeout':0x0,'overload':!0x1},{'timeout':function(_0x24b8d3,_0x451da1){return('number'!=typeof(_0x24b8d3*=0x1)||_0x24b8d3<0x0||!Number['isFinite'](_0x24b8d3))&&_0x451da1('timeout\x20must\x20be\x20a\x20positive\x20number'),_0x24b8d3;}}),_0x539690=!_0x353c81['overload']&&'function'==typeof _0x2ab68d['prototype']['cancel']&&'function'==typeof _0x19373c;var _0x4aaa2a=function(_0xd5df7){_0x167a40(),_0x326747(_0xd5df7);},_0x41ac6d=function(_0xf9834c){_0x167a40(),_0x3fa0ad(_0xf9834c);};_0x539690?_0x1c21a(_0x4aaa2a,_0x41ac6d,_0x19373c):(_0xcdeb62=[function(_0xfc781b){_0x41ac6d(_0xfc781b||Error('canceled'));}],_0x1c21a(_0x4aaa2a,_0x41ac6d,function(_0x5b1c68){if(_0x1ee0a1)throw Error('Unable\x20to\x20subscribe\x20on\x20cancel\x20event\x20asynchronously');if('function'!=typeof _0x5b1c68)throw TypeError('onCancel\x20callback\x20must\x20be\x20a\x20function');_0xcdeb62['push'](_0x5b1c68);}),_0x1ee0a1=!0x0),_0x353c81['timeout']>0x0&&(_0x3f57de=setTimeout(function(){var _0x5b7caf=Error('timeout');_0x5b7caf['code']='ETIMEDOUT',_0x3f57de=0x0,_0x14aff5['cancel'](_0x5b7caf),_0x3fa0ad(_0x5b7caf);},_0x353c81['timeout']));});return _0x539690||(_0x14aff5['cancel']=function(_0x3ef1f0){if(_0xcdeb62){for(var _0x3a8639=_0xcdeb62['length'],_0x4d9304=0x1;_0x4d9304<_0x3a8639;_0x4d9304++)_0xcdeb62[_0x4d9304](_0x3ef1f0);_0xcdeb62[0x0](_0x3ef1f0),_0xcdeb62=null;}}),_0x14aff5;}function _0x5b3cd6(_0x61196){var _0x2e1ea1=this['_observers'];if(!_0x2e1ea1)return-0x1;for(var _0x5ad9b1=_0x2e1ea1['length'],_0x242ba1=0x0;_0x242ba1<_0x5ad9b1;_0x242ba1++)if(_0x2e1ea1[_0x242ba1]['_target']===_0x61196)return _0x242ba1;return-0x1;}function _0xe8f03e(_0x32b25f,_0x450ac8,_0x5799fd,_0x271862,_0x232669){if(!_0x5799fd)return null;if(0x0===_0x271862){var _0x1fbdd8=typeof _0x450ac8;if('string'===_0x1fbdd8){var _0x4138da,_0x5ebb2d,_0x1b46d4=0x0,_0x6b74b=0x0,_0x31b924=this['delimiter'],_0x470702=_0x31b924['length'];if(-0x1!==(_0x5ebb2d=_0x450ac8['indexOf'](_0x31b924))){_0x4138da=new Array(0x5);do{_0x4138da[_0x1b46d4++]=_0x450ac8['slice'](_0x6b74b,_0x5ebb2d),_0x6b74b=_0x5ebb2d+_0x470702;}while(-0x1!==(_0x5ebb2d=_0x450ac8['indexOf'](_0x31b924,_0x6b74b)));_0x4138da[_0x1b46d4++]=_0x450ac8['slice'](_0x6b74b),_0x450ac8=_0x4138da,_0x232669=_0x1b46d4;}else _0x450ac8=[_0x450ac8],_0x232669=0x1;}else'object'===_0x1fbdd8?_0x232669=_0x450ac8['length']:(_0x450ac8=[_0x450ac8],_0x232669=0x1);}var _0x1cc751,_0xed8505,_0x24fdda,_0x3a8197,_0x3bfde7,_0x1a3585,_0x5546ee,_0x134fe3=null,_0x18c1af=_0x450ac8[_0x271862],_0x321ecc=_0x450ac8[_0x271862+0x1];if(_0x271862===_0x232669)_0x5799fd['_listeners']&&('function'==typeof _0x5799fd['_listeners']?(_0x32b25f&&_0x32b25f['push'](_0x5799fd['_listeners']),_0x134fe3=[_0x5799fd]):(_0x32b25f&&_0x32b25f['push']['apply'](_0x32b25f,_0x5799fd['_listeners']),_0x134fe3=[_0x5799fd]));else{if('*'===_0x18c1af){for(_0x5ebb2d=(_0x1a3585=_0x48898f(_0x5799fd))['length'];_0x5ebb2d-->0x0;)'_listeners'!==(_0x1cc751=_0x1a3585[_0x5ebb2d])&&(_0x5546ee=_0xe8f03e(_0x32b25f,_0x450ac8,_0x5799fd[_0x1cc751],_0x271862+0x1,_0x232669))&&(_0x134fe3?_0x134fe3['push']['apply'](_0x134fe3,_0x5546ee):_0x134fe3=_0x5546ee);return _0x134fe3;}if('**'===_0x18c1af){for((_0x3bfde7=_0x271862+0x1===_0x232669||_0x271862+0x2===_0x232669&&'*'===_0x321ecc)&&_0x5799fd['_listeners']&&(_0x134fe3=_0xe8f03e(_0x32b25f,_0x450ac8,_0x5799fd,_0x232669,_0x232669)),_0x5ebb2d=(_0x1a3585=_0x48898f(_0x5799fd))['length'];_0x5ebb2d-->0x0;)'_listeners'!==(_0x1cc751=_0x1a3585[_0x5ebb2d])&&('*'===_0x1cc751||'**'===_0x1cc751?(_0x5799fd[_0x1cc751]['_listeners']&&!_0x3bfde7&&(_0x5546ee=_0xe8f03e(_0x32b25f,_0x450ac8,_0x5799fd[_0x1cc751],_0x232669,_0x232669))&&(_0x134fe3?_0x134fe3['push']['apply'](_0x134fe3,_0x5546ee):_0x134fe3=_0x5546ee),_0x5546ee=_0xe8f03e(_0x32b25f,_0x450ac8,_0x5799fd[_0x1cc751],_0x271862,_0x232669)):_0x5546ee=_0xe8f03e(_0x32b25f,_0x450ac8,_0x5799fd[_0x1cc751],_0x1cc751===_0x321ecc?_0x271862+0x2:_0x271862,_0x232669),_0x5546ee&&(_0x134fe3?_0x134fe3['push']['apply'](_0x134fe3,_0x5546ee):_0x134fe3=_0x5546ee));return _0x134fe3;}_0x5799fd[_0x18c1af]&&(_0x134fe3=_0xe8f03e(_0x32b25f,_0x450ac8,_0x5799fd[_0x18c1af],_0x271862+0x1,_0x232669));}if((_0xed8505=_0x5799fd['*'])&&_0xe8f03e(_0x32b25f,_0x450ac8,_0xed8505,_0x271862+0x1,_0x232669),_0x24fdda=_0x5799fd['**'])if(_0x271862<_0x232669)for(_0x24fdda['_listeners']&&_0xe8f03e(_0x32b25f,_0x450ac8,_0x24fdda,_0x232669,_0x232669),_0x5ebb2d=(_0x1a3585=_0x48898f(_0x24fdda))['length'];_0x5ebb2d-->0x0;)'_listeners'!==(_0x1cc751=_0x1a3585[_0x5ebb2d])&&(_0x1cc751===_0x321ecc?_0xe8f03e(_0x32b25f,_0x450ac8,_0x24fdda[_0x1cc751],_0x271862+0x2,_0x232669):_0x1cc751===_0x18c1af?_0xe8f03e(_0x32b25f,_0x450ac8,_0x24fdda[_0x1cc751],_0x271862+0x1,_0x232669):((_0x3a8197={})[_0x1cc751]=_0x24fdda[_0x1cc751],_0xe8f03e(_0x32b25f,_0x450ac8,{'**':_0x3a8197},_0x271862+0x1,_0x232669)));else _0x24fdda['_listeners']?_0xe8f03e(_0x32b25f,_0x450ac8,_0x24fdda,_0x232669,_0x232669):_0x24fdda['*']&&_0x24fdda['*']['_listeners']&&_0xe8f03e(_0x32b25f,_0x450ac8,_0x24fdda['*'],_0x232669,_0x232669);return _0x134fe3;}function _0x104e75(_0x35b9e7,_0x384886,_0x48a9b3){var _0x6f12d0,_0x466f44,_0x4637b7=0x0,_0xc8446c=0x0,_0x2f69cc=this['delimiter'],_0x1f9485=_0x2f69cc['length'];if('string'==typeof _0x35b9e7)if(-0x1!==(_0x6f12d0=_0x35b9e7['indexOf'](_0x2f69cc))){_0x466f44=new Array(0x5);do{_0x466f44[_0x4637b7++]=_0x35b9e7['slice'](_0xc8446c,_0x6f12d0),_0xc8446c=_0x6f12d0+_0x1f9485;}while(-0x1!==(_0x6f12d0=_0x35b9e7['indexOf'](_0x2f69cc,_0xc8446c)));_0x466f44[_0x4637b7++]=_0x35b9e7['slice'](_0xc8446c);}else _0x466f44=[_0x35b9e7],_0x4637b7=0x1;else _0x466f44=_0x35b9e7,_0x4637b7=_0x35b9e7['length'];if(_0x4637b7>0x1)for(_0x6f12d0=0x0;_0x6f12d0+0x1<_0x4637b7;_0x6f12d0++)if('**'===_0x466f44[_0x6f12d0]&&'**'===_0x466f44[_0x6f12d0+0x1])return;var _0x9875a3,_0x5158f1=this['listenerTree'];for(_0x6f12d0=0x0;_0x6f12d0<_0x4637b7;_0x6f12d0++)if(_0x5158f1=_0x5158f1[_0x9875a3=_0x466f44[_0x6f12d0]]||(_0x5158f1[_0x9875a3]={}),_0x6f12d0===_0x4637b7-0x1)return _0x5158f1['_listeners']?('function'==typeof _0x5158f1['_listeners']&&(_0x5158f1['_listeners']=[_0x5158f1['_listeners']]),_0x48a9b3?_0x5158f1['_listeners']['unshift'](_0x384886):_0x5158f1['_listeners']['push'](_0x384886),!_0x5158f1['_listeners']['warned']&&this['_maxListeners']>0x0&&_0x5158f1['_listeners']['length']>this['_maxListeners']&&(_0x5158f1['_listeners']['warned']=!0x0,_0x540d9d['call'](this,_0x5158f1['_listeners']['length'],_0x9875a3))):_0x5158f1['_listeners']=_0x384886,!0x0;return!0x0;}function _0x2f3a22(_0x42f28d,_0x508f1c,_0x26ee00,_0x1c1aef){for(var _0x23b5b2,_0x1669f8,_0x4a1c8c,_0x49eb9e,_0xee2f33=_0x48898f(_0x42f28d),_0x2be280=_0xee2f33['length'],_0x24536d=_0x42f28d['_listeners'];_0x2be280-->0x0;)_0x23b5b2=_0x42f28d[_0x1669f8=_0xee2f33[_0x2be280]],_0x4a1c8c='_listeners'===_0x1669f8?_0x26ee00:_0x26ee00?_0x26ee00['concat'](_0x1669f8):[_0x1669f8],_0x49eb9e=_0x1c1aef||'symbol'==typeof _0x1669f8,_0x24536d&&_0x508f1c['push'](_0x49eb9e?_0x4a1c8c:_0x4a1c8c['join'](this['delimiter'])),'object'==typeof _0x23b5b2&&_0x2f3a22['call'](this,_0x23b5b2,_0x508f1c,_0x4a1c8c,_0x49eb9e);return _0x508f1c;}function _0x48ef80(_0x3f99d4){for(var _0x1db757,_0x37e374,_0x404239,_0x2c1999=_0x48898f(_0x3f99d4),_0x14e58f=_0x2c1999['length'];_0x14e58f-->0x0;)(_0x1db757=_0x3f99d4[_0x37e374=_0x2c1999[_0x14e58f]])&&(_0x404239=!0x0,'_listeners'===_0x37e374||_0x48ef80(_0x1db757)||delete _0x3f99d4[_0x37e374]);return _0x404239;}function _0x5da5c2(_0x61b65,_0x1508c9,_0x59132b){this['emitter']=_0x61b65,this['event']=_0x1508c9,this['listener']=_0x59132b;}function _0x4cbb04(_0x3f25fe,_0x5a2706,_0x13e7a7){if(!0x0===_0x13e7a7)_0x1a3b6f=!0x0;else if(!0x1===_0x13e7a7)_0x4adc43=!0x0;else{if(!_0x13e7a7||'object'!=typeof _0x13e7a7)throw TypeError('options\x20should\x20be\x20an\x20object\x20or\x20true');var _0x4adc43=_0x13e7a7['async'],_0x1a3b6f=_0x13e7a7['promisify'],_0x4e3f64=_0x13e7a7['nextTick'],_0x27d359=_0x13e7a7['objectify'];}if(_0x4adc43||_0x4e3f64||_0x1a3b6f){var _0x211220=_0x5a2706,_0x12001a=_0x5a2706['_origin']||_0x5a2706;if(_0x4e3f64&&!_0x44e46a)throw Error('process.nextTick\x20is\x20not\x20supported');_0x1a3b6f===_0x497f09&&(_0x1a3b6f='AsyncFunction'===_0x5a2706['constructor']['name']),_0x5a2706=function(){var _0x17485c=arguments,_0x3e657f=this,_0x49a20a=this['event'];return _0x1a3b6f?_0x4e3f64?Promise['resolve']():new Promise(function(_0x5268b6){_0x497fb4(_0x5268b6);})['then'](function(){return _0x3e657f['event']=_0x49a20a,_0x211220['apply'](_0x3e657f,_0x17485c);}):(_0x4e3f64?process['nextTick']:_0x497fb4)(function(){_0x3e657f['event']=_0x49a20a,_0x211220['apply'](_0x3e657f,_0x17485c);});},_0x5a2706['_async']=!0x0,_0x5a2706['_origin']=_0x12001a;}return[_0x5a2706,_0x27d359?new _0x5da5c2(this,_0x3f25fe,_0x5a2706):this];}function _0x18a7ab(_0x5d1a26){this['_events']={},this['_newListener']=!0x1,this['_removeListener']=!0x1,this['verboseMemoryLeak']=!0x1,_0xd06e91['call'](this,_0x5d1a26);}_0x5da5c2['prototype']['off']=function(){return this['emitter']['off'](this['event'],this['listener']),this;},_0x18a7ab['EventEmitter2']=_0x18a7ab,_0x18a7ab['prototype']['listenTo']=function(_0x1fc230,_0x31c8f3,_0xa92dcf){if('object'!=typeof _0x1fc230)throw TypeError('target\x20musts\x20be\x20an\x20object');var _0x2faa28=this;function _0x5b3511(_0x5df361){if('object'!=typeof _0x5df361)throw TypeError('events\x20must\x20be\x20an\x20object');var _0x523ad4,_0x400ff5=_0xa92dcf['reducers'],_0x496075=_0x5b3cd6['call'](_0x2faa28,_0x1fc230);_0x523ad4=-0x1===_0x496075?new _0x79ddb2(_0x2faa28,_0x1fc230,_0xa92dcf):_0x2faa28['_observers'][_0x496075];for(var _0x979c15,_0x5ba976=_0x48898f(_0x5df361),_0x27b9c5=_0x5ba976['length'],_0x212e92='function'==typeof _0x400ff5,_0x2fd89b=0x0;_0x2fd89b<_0x27b9c5;_0x2fd89b++)_0x979c15=_0x5ba976[_0x2fd89b],_0x523ad4['subscribe'](_0x979c15,_0x5df361[_0x979c15]||_0x979c15,_0x212e92?_0x400ff5:_0x400ff5&&_0x400ff5[_0x979c15]);}return _0xa92dcf=_0x155e1f(_0xa92dcf,{'on':_0x497f09,'off':_0x497f09,'reducers':_0x497f09},{'on':_0x3b06f8,'off':_0x3b06f8,'reducers':_0x2a5627}),_0x282c6b(_0x31c8f3)?_0x5b3511(_0x51aa36(_0x31c8f3)):_0x5b3511('string'==typeof _0x31c8f3?_0x51aa36(_0x31c8f3['split'](/\s+/)):_0x31c8f3),this;},_0x18a7ab['prototype']['stopListeningTo']=function(_0x321a74,_0x773af1){var _0x854c9d=this['_observers'];if(!_0x854c9d)return!0x1;var _0x517a11,_0x583235=_0x854c9d['length'],_0x4776b7=!0x1;if(_0x321a74&&'object'!=typeof _0x321a74)throw TypeError('target\x20should\x20be\x20an\x20object');for(;_0x583235-->0x0;)_0x517a11=_0x854c9d[_0x583235],_0x321a74&&_0x517a11['_target']!==_0x321a74||(_0x517a11['unsubscribe'](_0x773af1),_0x4776b7=!0x0);return _0x4776b7;},_0x18a7ab['prototype']['delimiter']='.',_0x18a7ab['prototype']['setMaxListeners']=function(_0x281cb1){_0x281cb1!==_0x497f09&&(this['_maxListeners']=_0x281cb1,this['_conf']||(this['_conf']={}),this['_conf']['maxListeners']=_0x281cb1);},_0x18a7ab['prototype']['getMaxListeners']=function(){return this['_maxListeners'];},_0x18a7ab['prototype']['event']='',_0x18a7ab['prototype']['once']=function(_0x3938d9,_0x59c51f,_0x5c9f80){return this['_once'](_0x3938d9,_0x59c51f,!0x1,_0x5c9f80);},_0x18a7ab['prototype']['prependOnceListener']=function(_0x5990e1,_0x1bc2c7,_0x3adcb7){return this['_once'](_0x5990e1,_0x1bc2c7,!0x0,_0x3adcb7);},_0x18a7ab['prototype']['_once']=function(_0x418164,_0x4bbd09,_0x372ac7,_0x10f6e3){return this['_many'](_0x418164,0x1,_0x4bbd09,_0x372ac7,_0x10f6e3);},_0x18a7ab['prototype']['many']=function(_0x1a3d74,_0x50ee08,_0x2754ee,_0x3651be){return this['_many'](_0x1a3d74,_0x50ee08,_0x2754ee,!0x1,_0x3651be);},_0x18a7ab['prototype']['prependMany']=function(_0x3e157b,_0x4811d7,_0x371bbe,_0x3be33c){return this['_many'](_0x3e157b,_0x4811d7,_0x371bbe,!0x0,_0x3be33c);},_0x18a7ab['prototype']['_many']=function(_0x9c29ee,_0x315d4f,_0x364301,_0x2275b4,_0x13c225){var _0x263cc4=this;if('function'!=typeof _0x364301)throw new Error('many\x20only\x20accepts\x20instances\x20of\x20Function');function _0x342573(){return 0x0===--_0x315d4f&&_0x263cc4['off'](_0x9c29ee,_0x342573),_0x364301['apply'](this,arguments);}return _0x342573['_origin']=_0x364301,this['_on'](_0x9c29ee,_0x342573,_0x2275b4,_0x13c225);},_0x18a7ab['prototype']['emit']=function(){if(!this['_events']&&!this['_all'])return!0x1;this['_events']||_0x11bf6a['call'](this);var _0x201a96,_0x3fb2d3,_0x5a9705,_0x370f05,_0x4d1166,_0x40c78c,_0x420c01=arguments[0x0],_0x502fea=this['wildcard'];if('newListener'===_0x420c01&&!this['_newListener']&&!this['_events']['newListener'])return!0x1;if(_0x502fea&&(_0x201a96=_0x420c01,'newListener'!==_0x420c01&&'removeListener'!==_0x420c01&&'object'==typeof _0x420c01)){if(_0x5a9705=_0x420c01['length'],_0x31c8ba)for(_0x370f05=0x0;_0x370f05<_0x5a9705;_0x370f05++)if('symbol'==typeof _0x420c01[_0x370f05]){_0x40c78c=!0x0;break;}_0x40c78c||(_0x420c01=_0x420c01['join'](this['delimiter']));}var _0x698689,_0x574ad2=arguments['length'];if(this['_all']&&this['_all']['length'])for(_0x370f05=0x0,_0x5a9705=(_0x698689=this['_all']['slice']())['length'];_0x370f05<_0x5a9705;_0x370f05++)switch(this['event']=_0x420c01,_0x574ad2){case 0x1:_0x698689[_0x370f05]['call'](this,_0x420c01);break;case 0x2:_0x698689[_0x370f05]['call'](this,_0x420c01,arguments[0x1]);break;case 0x3:_0x698689[_0x370f05]['call'](this,_0x420c01,arguments[0x1],arguments[0x2]);break;default:_0x698689[_0x370f05]['apply'](this,arguments);}if(_0x502fea)_0x698689=[],_0xe8f03e['call'](this,_0x698689,_0x201a96,this['listenerTree'],0x0,_0x5a9705);else{if('function'==typeof(_0x698689=this['_events'][_0x420c01])){switch(this['event']=_0x420c01,_0x574ad2){case 0x1:_0x698689['call'](this);break;case 0x2:_0x698689['call'](this,arguments[0x1]);break;case 0x3:_0x698689['call'](this,arguments[0x1],arguments[0x2]);break;default:for(_0x3fb2d3=new Array(_0x574ad2-0x1),_0x4d1166=0x1;_0x4d1166<_0x574ad2;_0x4d1166++)_0x3fb2d3[_0x4d1166-0x1]=arguments[_0x4d1166];_0x698689['apply'](this,_0x3fb2d3);}return!0x0;}_0x698689&&(_0x698689=_0x698689['slice']());}if(_0x698689&&_0x698689['length']){if(_0x574ad2>0x3)for(_0x3fb2d3=new Array(_0x574ad2-0x1),_0x4d1166=0x1;_0x4d1166<_0x574ad2;_0x4d1166++)_0x3fb2d3[_0x4d1166-0x1]=arguments[_0x4d1166];for(_0x370f05=0x0,_0x5a9705=_0x698689['length'];_0x370f05<_0x5a9705;_0x370f05++)switch(this['event']=_0x420c01,_0x574ad2){case 0x1:_0x698689[_0x370f05]['call'](this);break;case 0x2:_0x698689[_0x370f05]['call'](this,arguments[0x1]);break;case 0x3:_0x698689[_0x370f05]['call'](this,arguments[0x1],arguments[0x2]);break;default:_0x698689[_0x370f05]['apply'](this,_0x3fb2d3);}return!0x0;}if(!this['ignoreErrors']&&!this['_all']&&'error'===_0x420c01)throw arguments[0x1]instanceof Error?arguments[0x1]:new Error('Uncaught,\x20unspecified\x20\x27error\x27\x20event.');return!!this['_all'];},_0x18a7ab['prototype']['emitAsync']=function(){if(!this['_events']&&!this['_all'])return!0x1;this['_events']||_0x11bf6a['call'](this);var _0x52e8d9,_0x2fa101,_0x1b3cbd,_0x2f116b,_0x193a8c,_0x52c710,_0x578999=arguments[0x0],_0x3ba390=this['wildcard'];if('newListener'===_0x578999&&!this['_newListener']&&!this['_events']['newListener'])return Promise['resolve']([!0x1]);if(_0x3ba390&&(_0x52e8d9=_0x578999,'newListener'!==_0x578999&&'removeListener'!==_0x578999&&'object'==typeof _0x578999)){if(_0x2f116b=_0x578999['length'],_0x31c8ba)for(_0x193a8c=0x0;_0x193a8c<_0x2f116b;_0x193a8c++)if('symbol'==typeof _0x578999[_0x193a8c]){_0x2fa101=!0x0;break;}_0x2fa101||(_0x578999=_0x578999['join'](this['delimiter']));}var _0x529cde,_0x15e82e=[],_0x4b21f9=arguments['length'];if(this['_all'])for(_0x193a8c=0x0,_0x2f116b=this['_all']['length'];_0x193a8c<_0x2f116b;_0x193a8c++)switch(this['event']=_0x578999,_0x4b21f9){case 0x1:_0x15e82e['push'](this['_all'][_0x193a8c]['call'](this,_0x578999));break;case 0x2:_0x15e82e['push'](this['_all'][_0x193a8c]['call'](this,_0x578999,arguments[0x1]));break;case 0x3:_0x15e82e['push'](this['_all'][_0x193a8c]['call'](this,_0x578999,arguments[0x1],arguments[0x2]));break;default:_0x15e82e['push'](this['_all'][_0x193a8c]['apply'](this,arguments));}if(_0x3ba390?(_0x529cde=[],_0xe8f03e['call'](this,_0x529cde,_0x52e8d9,this['listenerTree'],0x0)):_0x529cde=this['_events'][_0x578999],'function'==typeof _0x529cde)switch(this['event']=_0x578999,_0x4b21f9){case 0x1:_0x15e82e['push'](_0x529cde['call'](this));break;case 0x2:_0x15e82e['push'](_0x529cde['call'](this,arguments[0x1]));break;case 0x3:_0x15e82e['push'](_0x529cde['call'](this,arguments[0x1],arguments[0x2]));break;default:for(_0x1b3cbd=new Array(_0x4b21f9-0x1),_0x52c710=0x1;_0x52c710<_0x4b21f9;_0x52c710++)_0x1b3cbd[_0x52c710-0x1]=arguments[_0x52c710];_0x15e82e['push'](_0x529cde['apply'](this,_0x1b3cbd));}else if(_0x529cde&&_0x529cde['length']){if(_0x529cde=_0x529cde['slice'](),_0x4b21f9>0x3)for(_0x1b3cbd=new Array(_0x4b21f9-0x1),_0x52c710=0x1;_0x52c710<_0x4b21f9;_0x52c710++)_0x1b3cbd[_0x52c710-0x1]=arguments[_0x52c710];for(_0x193a8c=0x0,_0x2f116b=_0x529cde['length'];_0x193a8c<_0x2f116b;_0x193a8c++)switch(this['event']=_0x578999,_0x4b21f9){case 0x1:_0x15e82e['push'](_0x529cde[_0x193a8c]['call'](this));break;case 0x2:_0x15e82e['push'](_0x529cde[_0x193a8c]['call'](this,arguments[0x1]));break;case 0x3:_0x15e82e['push'](_0x529cde[_0x193a8c]['call'](this,arguments[0x1],arguments[0x2]));break;default:_0x15e82e['push'](_0x529cde[_0x193a8c]['apply'](this,_0x1b3cbd));}}else if(!this['ignoreErrors']&&!this['_all']&&'error'===_0x578999)return arguments[0x1]instanceof Error?Promise['reject'](arguments[0x1]):Promise['reject']('Uncaught,\x20unspecified\x20\x27error\x27\x20event.');return Promise['all'](_0x15e82e);},_0x18a7ab['prototype']['on']=function(_0x2e7b1f,_0x221ba0,_0x5be660){return this['_on'](_0x2e7b1f,_0x221ba0,!0x1,_0x5be660);},_0x18a7ab['prototype']['prependListener']=function(_0x418c28,_0x5612e5,_0x235922){return this['_on'](_0x418c28,_0x5612e5,!0x0,_0x235922);},_0x18a7ab['prototype']['onAny']=function(_0x2f490f){return this['_onAny'](_0x2f490f,!0x1);},_0x18a7ab['prototype']['prependAny']=function(_0x297617){return this['_onAny'](_0x297617,!0x0);},_0x18a7ab['prototype']['addListener']=_0x18a7ab['prototype']['on'],_0x18a7ab['prototype']['_onAny']=function(_0x35b7c2,_0x1a0b94){if('function'!=typeof _0x35b7c2)throw new Error('onAny\x20only\x20accepts\x20instances\x20of\x20Function');return this['_all']||(this['_all']=[]),_0x1a0b94?this['_all']['unshift'](_0x35b7c2):this['_all']['push'](_0x35b7c2),this;},_0x18a7ab['prototype']['_on']=function(_0x509891,_0x44773e,_0x528117,_0x596d2e){if('function'==typeof _0x509891)return this['_onAny'](_0x509891,_0x44773e),this;if('function'!=typeof _0x44773e)throw new Error('on\x20only\x20accepts\x20instances\x20of\x20Function');this['_events']||_0x11bf6a['call'](this);var _0x4b575d,_0x119738=this;return _0x596d2e!==_0x497f09&&(_0x44773e=(_0x4b575d=_0x4cbb04['call'](this,_0x509891,_0x44773e,_0x596d2e))[0x0],_0x119738=_0x4b575d[0x1]),this['_newListener']&&this['emit']('newListener',_0x509891,_0x44773e),this['wildcard']?(_0x104e75['call'](this,_0x509891,_0x44773e,_0x528117),_0x119738):(this['_events'][_0x509891]?('function'==typeof this['_events'][_0x509891]&&(this['_events'][_0x509891]=[this['_events'][_0x509891]]),_0x528117?this['_events'][_0x509891]['unshift'](_0x44773e):this['_events'][_0x509891]['push'](_0x44773e),!this['_events'][_0x509891]['warned']&&this['_maxListeners']>0x0&&this['_events'][_0x509891]['length']>this['_maxListeners']&&(this['_events'][_0x509891]['warned']=!0x0,_0x540d9d['call'](this,this['_events'][_0x509891]['length'],_0x509891))):this['_events'][_0x509891]=_0x44773e,_0x119738);},_0x18a7ab['prototype']['off']=function(_0x341aa2,_0xab6031){if('function'!=typeof _0xab6031)throw new Error('removeListener\x20only\x20takes\x20instances\x20of\x20Function');var _0x126725,_0x4a9c44=[];if(this['wildcard']){var _0x31a5a6='string'==typeof _0x341aa2?_0x341aa2['split'](this['delimiter']):_0x341aa2['slice']();if(!(_0x4a9c44=_0xe8f03e['call'](this,null,_0x31a5a6,this['listenerTree'],0x0)))return this;}else{if(!this['_events'][_0x341aa2])return this;_0x126725=this['_events'][_0x341aa2],_0x4a9c44['push']({'_listeners':_0x126725});}for(var _0x4d86fd=0x0;_0x4d86fd<_0x4a9c44['length'];_0x4d86fd++){var _0x3e7aee=_0x4a9c44[_0x4d86fd];if(_0x126725=_0x3e7aee['_listeners'],_0x282c6b(_0x126725)){for(var _0x31ccf1=-0x1,_0x4a9d3f=0x0,_0x4d911f=_0x126725['length'];_0x4a9d3f<_0x4d911f;_0x4a9d3f++)if(_0x126725[_0x4a9d3f]===_0xab6031||_0x126725[_0x4a9d3f]['listener']&&_0x126725[_0x4a9d3f]['listener']===_0xab6031||_0x126725[_0x4a9d3f]['_origin']&&_0x126725[_0x4a9d3f]['_origin']===_0xab6031){_0x31ccf1=_0x4a9d3f;break;}if(_0x31ccf1<0x0)continue;return this['wildcard']?_0x3e7aee['_listeners']['splice'](_0x31ccf1,0x1):this['_events'][_0x341aa2]['splice'](_0x31ccf1,0x1),0x0===_0x126725['length']&&(this['wildcard']?delete _0x3e7aee['_listeners']:delete this['_events'][_0x341aa2]),this['_removeListener']&&this['emit']('removeListener',_0x341aa2,_0xab6031),this;}(_0x126725===_0xab6031||_0x126725['listener']&&_0x126725['listener']===_0xab6031||_0x126725['_origin']&&_0x126725['_origin']===_0xab6031)&&(this['wildcard']?delete _0x3e7aee['_listeners']:delete this['_events'][_0x341aa2],this['_removeListener']&&this['emit']('removeListener',_0x341aa2,_0xab6031));}return this['listenerTree']&&_0x48ef80(this['listenerTree']),this;},_0x18a7ab['prototype']['offAny']=function(_0x1b3dba){var _0x58997b,_0xf13573=0x0,_0x2b9644=0x0;if(_0x1b3dba&&this['_all']&&this['_all']['length']>0x0){for(_0xf13573=0x0,_0x2b9644=(_0x58997b=this['_all'])['length'];_0xf13573<_0x2b9644;_0xf13573++)if(_0x1b3dba===_0x58997b[_0xf13573])return _0x58997b['splice'](_0xf13573,0x1),this['_removeListener']&&this['emit']('removeListenerAny',_0x1b3dba),this;}else{if(_0x58997b=this['_all'],this['_removeListener'])for(_0xf13573=0x0,_0x2b9644=_0x58997b['length'];_0xf13573<_0x2b9644;_0xf13573++)this['emit']('removeListenerAny',_0x58997b[_0xf13573]);this['_all']=[];}return this;},_0x18a7ab['prototype']['removeListener']=_0x18a7ab['prototype']['off'],_0x18a7ab['prototype']['removeAllListeners']=function(_0x258ceb){if(_0x258ceb===_0x497f09)return!this['_events']||_0x11bf6a['call'](this),this;if(this['wildcard']){var _0x2122aa,_0x51cb12=_0xe8f03e['call'](this,null,_0x258ceb,this['listenerTree'],0x0);if(!_0x51cb12)return this;for(_0x2122aa=0x0;_0x2122aa<_0x51cb12['length'];_0x2122aa++)_0x51cb12[_0x2122aa]['_listeners']=null;this['listenerTree']&&_0x48ef80(this['listenerTree']);}else this['_events']&&(this['_events'][_0x258ceb]=null);return this;},_0x18a7ab['prototype']['listeners']=function(_0x11c300){var _0x562b82,_0x268a7e,_0x284680,_0x1ba5f9,_0x282852,_0x5c228c=this['_events'];if(_0x11c300===_0x497f09){if(this['wildcard'])throw Error('event\x20name\x20required\x20for\x20wildcard\x20emitter');if(!_0x5c228c)return[];for(_0x1ba5f9=(_0x562b82=_0x48898f(_0x5c228c))['length'],_0x284680=[];_0x1ba5f9-->0x0;)'function'==typeof(_0x268a7e=_0x5c228c[_0x562b82[_0x1ba5f9]])?_0x284680['push'](_0x268a7e):_0x284680['push']['apply'](_0x284680,_0x268a7e);return _0x284680;}if(this['wildcard']){if(!(_0x282852=this['listenerTree']))return[];var _0x366132=[],_0x4fe79a='string'==typeof _0x11c300?_0x11c300['split'](this['delimiter']):_0x11c300['slice']();return _0xe8f03e['call'](this,_0x366132,_0x4fe79a,_0x282852,0x0),_0x366132;}return _0x5c228c&&(_0x268a7e=_0x5c228c[_0x11c300])?'function'==typeof _0x268a7e?[_0x268a7e]:_0x268a7e:[];},_0x18a7ab['prototype']['eventNames']=function(_0x47e965){var _0x1c0297=this['_events'];return this['wildcard']?_0x2f3a22['call'](this,this['listenerTree'],[],null,_0x47e965):_0x1c0297?_0x48898f(_0x1c0297):[];},_0x18a7ab['prototype']['listenerCount']=function(_0x47351c){return this['listeners'](_0x47351c)['length'];},_0x18a7ab['prototype']['hasListeners']=function(_0x2bb798){if(this['wildcard']){var _0x12ff2f=[],_0x5b3363='string'==typeof _0x2bb798?_0x2bb798['split'](this['delimiter']):_0x2bb798['slice']();return _0xe8f03e['call'](this,_0x12ff2f,_0x5b3363,this['listenerTree'],0x0),_0x12ff2f['length']>0x0;}var _0xa3a94=this['_events'],_0x572314=this['_all'];return!!(_0x572314&&_0x572314['length']||_0xa3a94&&(_0x2bb798===_0x497f09?_0x48898f(_0xa3a94)['length']:_0xa3a94[_0x2bb798]));},_0x18a7ab['prototype']['listenersAny']=function(){return this['_all']?this['_all']:[];},_0x18a7ab['prototype']['waitFor']=function(_0x450d70,_0x3b7be0){var _0x26a97f=this,_0xf03a17=typeof _0x3b7be0;return'number'===_0xf03a17?_0x3b7be0={'timeout':_0x3b7be0}:'function'===_0xf03a17&&(_0x3b7be0={'filter':_0x3b7be0}),_0x25adf9((_0x3b7be0=_0x155e1f(_0x3b7be0,{'timeout':0x0,'filter':_0x497f09,'handleError':!0x1,'Promise':Promise,'overload':!0x1},{'filter':_0x3b06f8,'Promise':_0x221a43}))['Promise'],function(_0x3c2d36,_0x425704,_0x3f14b8){function _0x300698(){var _0x24d2a2=_0x3b7be0['filter'];if(!_0x24d2a2||_0x24d2a2['apply'](_0x26a97f,arguments))if(_0x26a97f['off'](_0x450d70,_0x300698),_0x3b7be0['handleError']){var _0x5a8031=arguments[0x0];_0x5a8031?_0x425704(_0x5a8031):_0x3c2d36(_0x3ee8ea['apply'](null,arguments)['slice'](0x1));}else _0x3c2d36(_0x3ee8ea['apply'](null,arguments));}_0x3f14b8(function(){_0x26a97f['off'](_0x450d70,_0x300698);}),_0x26a97f['_on'](_0x450d70,_0x300698,!0x1);},{'timeout':_0x3b7be0['timeout'],'overload':_0x3b7be0['overload']});};var _0x430ef7=_0x18a7ab['prototype'];Object['defineProperties'](_0x18a7ab,{'defaultMaxListeners':{'get':function(){return _0x430ef7['_maxListeners'];},'set':function(_0x19bc22){if('number'!=typeof _0x19bc22||_0x19bc22<0x0||Number['isNaN'](_0x19bc22))throw TypeError('n\x20must\x20be\x20a\x20non-negative\x20number');_0x430ef7['_maxListeners']=_0x19bc22;},'enumerable':!0x0},'once':{'value':function(_0x5b5465,_0x77de4,_0x551e9d){return _0x25adf9((_0x551e9d=_0x155e1f(_0x551e9d,{'Promise':Promise,'timeout':0x0,'overload':!0x1},{'Promise':_0x221a43}))['Promise'],function(_0x3ddeb8,_0x2a2829,_0x5054d5){var _0x49a508;if('function'==typeof _0x5b5465['addEventListener'])return _0x49a508=function(){_0x3ddeb8(_0x3ee8ea['apply'](null,arguments));},_0x5054d5(function(){_0x5b5465['removeEventListener'](_0x77de4,_0x49a508);}),void _0x5b5465['addEventListener'](_0x77de4,_0x49a508,{'once':!0x0});var _0x365eae,_0x3620e4=function(){_0x365eae&&_0x5b5465['removeListener']('error',_0x365eae),_0x3ddeb8(_0x3ee8ea['apply'](null,arguments));};'error'!==_0x77de4&&(_0x365eae=function(_0xcc77ef){_0x5b5465['removeListener'](_0x77de4,_0x3620e4),_0x2a2829(_0xcc77ef);},_0x5b5465['once']('error',_0x365eae)),_0x5054d5(function(){_0x365eae&&_0x5b5465['removeListener']('error',_0x365eae),_0x5b5465['removeListener'](_0x77de4,_0x3620e4);}),_0x5b5465['once'](_0x77de4,_0x3620e4);},{'timeout':_0x551e9d['timeout'],'overload':_0x551e9d['overload']});},'writable':!0x0,'configurable':!0x0}}),Object['defineProperties'](_0x430ef7,{'_maxListeners':{'value':0xa,'writable':!0x0,'configurable':!0x0},'_observers':{'value':null,'writable':!0x0,'configurable':!0x0}}),_0x50d74f['exports']=_0x18a7ab;}()),Xs['exports'];var _0x50d74f;}function Zs(){if(Ns)return zs;Ns=0x1;var _0x161344=Ps();Is();var _0x4c576a=Ys()['EventEmitter2'];function _0x5b74ac(_0x234a10){_0x234a10=_0x234a10||{},this['ros']=_0x234a10['ros'],this['name']=_0x234a10['name'],this['serviceType']=_0x234a10['serviceType'],this['isAdvertised']=!0x1,this['_serviceCallback']=null;}return _0x5b74ac['prototype']['__proto__']=_0x4c576a['prototype'],_0x5b74ac['prototype']['callService']=function(_0x2c0c03,_0x476a31,_0x566bee){if(!this['isAdvertised']){var _0x170394='call_service:'+this['name']+':'+ ++this['ros']['idCounter'];(_0x476a31||_0x566bee)&&this['ros']['once'](_0x170394,function(_0x5414dc){void 0x0!==_0x5414dc['result']&&!0x1===_0x5414dc['result']?'function'==typeof _0x566bee&&_0x566bee(_0x5414dc['values']):'function'==typeof _0x476a31&&_0x476a31(new _0x161344(_0x5414dc['values']));});var _0x4b392a={'op':'call_service','id':_0x170394,'service':this['name'],'type':this['serviceType'],'args':_0x2c0c03};this['ros']['callOnConnection'](_0x4b392a);}},_0x5b74ac['prototype']['advertise']=function(_0x85bee3){this['isAdvertised']||'function'!=typeof _0x85bee3||(this['_serviceCallback']=_0x85bee3,this['ros']['on'](this['name'],this['_serviceResponse']['bind'](this)),this['ros']['callOnConnection']({'op':'advertise_service','type':this['serviceType'],'service':this['name']}),this['isAdvertised']=!0x0);},_0x5b74ac['prototype']['unadvertise']=function(){this['isAdvertised']&&(this['ros']['callOnConnection']({'op':'unadvertise_service','service':this['name']}),this['isAdvertised']=!0x1);},_0x5b74ac['prototype']['_serviceResponse']=function(_0x2ef18b){var _0xacf556={},_0x14bd16=this['_serviceCallback'](_0x2ef18b['args'],_0xacf556),_0x14beed={'op':'service_response','service':this['name'],'values':new _0x161344(_0xacf556),'result':_0x14bd16};_0x2ef18b['id']&&(_0x14beed['id']=_0x2ef18b['id']),this['ros']['callOnConnection'](_0x14beed);},zs=_0x5b74ac;}function Qs(){if(Vs)return Us;Vs=0x1;var _0x464249=cs(),_0x5b8bdc=xs(),_0x196ada=Ds(),_0xe2c2b0=Zs(),_0x497530=Is(),_0x20c4a3=as,_0x317b5e=Ys()['EventEmitter2'];function _0x95108c(_0xe74f15){_0xe74f15=_0xe74f15||{};var _0x4c2301=this;this['socket']=null,this['idCounter']=0x0,this['isConnected']=!0x1,this['transportLibrary']=_0xe74f15['transportLibrary']||'websocket',this['transportOptions']=_0xe74f15['transportOptions']||{},this['_sendFunc']=function(_0x1ac28d){_0x4c2301['sendEncodedMessage'](_0x1ac28d);},void 0x0===_0xe74f15['groovyCompatibility']?this['groovyCompatibility']=!0x0:this['groovyCompatibility']=_0xe74f15['groovyCompatibility'],this['setMaxListeners'](0x0),_0xe74f15['url']&&this['connect'](_0xe74f15['url']);}return _0x95108c['prototype']['__proto__']=_0x317b5e['prototype'],_0x95108c['prototype']['connect']=function(_0x1d8273){if('socket.io'===this['transportLibrary'])this['socket']=_0x20c4a3(io(_0x1d8273,{'force\x20new\x20connection':!0x0}),_0x196ada(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']=_0x20c4a3(this['transportLibrary']['createDataChannel'](_0x1d8273,this['transportOptions']),_0x196ada(this));else if('websocket'===this['transportLibrary']){if(!this['socket']||this['socket']['readyState']===_0x464249['CLOSED']){var _0x370b3e=new _0x464249(_0x1d8273);_0x370b3e['binaryType']='arraybuffer',this['socket']=_0x20c4a3(_0x370b3e,_0x196ada(this));}}else{if('workersocket'!==this['transportLibrary'])throw'Unknown\x20transportLibrary:\x20'+this['transportLibrary']['toString']();this['socket']=_0x20c4a3(new _0x5b8bdc(_0x1d8273),_0x196ada(this));}},_0x95108c['prototype']['close']=function(){this['socket']&&this['socket']['close']();},_0x95108c['prototype']['authenticate']=function(_0x2a176f,_0x292b6f,_0x37c6eb,_0x918c5a,_0x11f157,_0x2d93bc,_0xc73243){var _0x9f8edd={'op':'auth','mac':_0x2a176f,'client':_0x292b6f,'dest':_0x37c6eb,'rand':_0x918c5a,'t':_0x11f157,'level':_0x2d93bc,'end':_0xc73243};this['callOnConnection'](_0x9f8edd);},_0x95108c['prototype']['sendEncodedMessage']=function(_0x47e667){var _0x436ebb=null,_0xf8d85=this;_0x436ebb='socket.io'===this['transportLibrary']?function(_0x4d7fac){_0xf8d85['socket']['emit']('operation',_0x4d7fac);}:function(_0x5dd7e1){_0xf8d85['socket']['send'](_0x5dd7e1);},this['isConnected']?_0x436ebb(_0x47e667):_0xf8d85['once']('connection',function(){_0x436ebb(_0x47e667);});},_0x95108c['prototype']['callOnConnection']=function(_0x3f8885){this['transportOptions']['encoder']?this['transportOptions']['encoder'](_0x3f8885,this['_sendFunc']):this['_sendFunc'](JSON['stringify'](_0x3f8885));},_0x95108c['prototype']['setStatusLevel']=function(_0x1ce00b,_0x3acfb4){var _0x84bfab={'op':'set_level','level':_0x1ce00b,'id':_0x3acfb4};this['callOnConnection'](_0x84bfab);},_0x95108c['prototype']['getActionServers']=function(_0x2bde24,_0x5acda8){var _0x4ed4a0=new _0xe2c2b0({'ros':this,'name':'/rosapi/action_servers','serviceType':'rosapi/GetActionServers'}),_0x36d152=new _0x497530({});'function'==typeof _0x5acda8?_0x4ed4a0['callService'](_0x36d152,function(_0x45f187){_0x2bde24(_0x45f187['action_servers']);},function(_0x27b9b7){_0x5acda8(_0x27b9b7);}):_0x4ed4a0['callService'](_0x36d152,function(_0x54bdc2){_0x2bde24(_0x54bdc2['action_servers']);});},_0x95108c['prototype']['getTopics']=function(_0x26b29c,_0x5ef3d5){var _0x4dd579=new _0xe2c2b0({'ros':this,'name':'/rosapi/topics','serviceType':'rosapi/Topics'}),_0x32d263=new _0x497530();'function'==typeof _0x5ef3d5?_0x4dd579['callService'](_0x32d263,function(_0xe391c){_0x26b29c(_0xe391c);},function(_0x2bed13){_0x5ef3d5(_0x2bed13);}):_0x4dd579['callService'](_0x32d263,function(_0x418337){_0x26b29c(_0x418337);});},_0x95108c['prototype']['getTopicsForType']=function(_0x4a3250,_0x110025,_0x25f1ed){var _0x19c800=new _0xe2c2b0({'ros':this,'name':'/rosapi/topics_for_type','serviceType':'rosapi/TopicsForType'}),_0x546866=new _0x497530({'type':_0x4a3250});'function'==typeof _0x25f1ed?_0x19c800['callService'](_0x546866,function(_0x275577){_0x110025(_0x275577['topics']);},function(_0x519988){_0x25f1ed(_0x519988);}):_0x19c800['callService'](_0x546866,function(_0x4f9edf){_0x110025(_0x4f9edf['topics']);});},_0x95108c['prototype']['getServices']=function(_0x316881,_0x33ca83){var _0x2d6935=new _0xe2c2b0({'ros':this,'name':'/rosapi/services','serviceType':'rosapi/Services'}),_0x15eb2b=new _0x497530();'function'==typeof _0x33ca83?_0x2d6935['callService'](_0x15eb2b,function(_0x53dd44){_0x316881(_0x53dd44['services']);},function(_0x369483){_0x33ca83(_0x369483);}):_0x2d6935['callService'](_0x15eb2b,function(_0x207bf4){_0x316881(_0x207bf4['services']);});},_0x95108c['prototype']['getServicesForType']=function(_0x51b14f,_0x3aa6b5,_0x4492b){var _0x2e6034=new _0xe2c2b0({'ros':this,'name':'/rosapi/services_for_type','serviceType':'rosapi/ServicesForType'}),_0x567eea=new _0x497530({'type':_0x51b14f});'function'==typeof _0x4492b?_0x2e6034['callService'](_0x567eea,function(_0x3418c9){_0x3aa6b5(_0x3418c9['services']);},function(_0x16cae1){_0x4492b(_0x16cae1);}):_0x2e6034['callService'](_0x567eea,function(_0x1ec6b3){_0x3aa6b5(_0x1ec6b3['services']);});},_0x95108c['prototype']['getServiceRequestDetails']=function(_0x343a6b,_0x351dfb,_0x36bf26){var _0x35b4b5=new _0xe2c2b0({'ros':this,'name':'/rosapi/service_request_details','serviceType':'rosapi/ServiceRequestDetails'}),_0x88ee39=new _0x497530({'type':_0x343a6b});'function'==typeof _0x36bf26?_0x35b4b5['callService'](_0x88ee39,function(_0x1d6b93){_0x351dfb(_0x1d6b93);},function(_0x4864b4){_0x36bf26(_0x4864b4);}):_0x35b4b5['callService'](_0x88ee39,function(_0x3b9a6d){_0x351dfb(_0x3b9a6d);});},_0x95108c['prototype']['getServiceResponseDetails']=function(_0x1df6cc,_0x5ccca3,_0x5e2ac3){var _0x538d7=new _0xe2c2b0({'ros':this,'name':'/rosapi/service_response_details','serviceType':'rosapi/ServiceResponseDetails'}),_0x3cefe8=new _0x497530({'type':_0x1df6cc});'function'==typeof _0x5e2ac3?_0x538d7['callService'](_0x3cefe8,function(_0x4084c2){_0x5ccca3(_0x4084c2);},function(_0x885d73){_0x5e2ac3(_0x885d73);}):_0x538d7['callService'](_0x3cefe8,function(_0x16f490){_0x5ccca3(_0x16f490);});},_0x95108c['prototype']['getNodes']=function(_0x289b87,_0x4a5de6){var _0xc26954=new _0xe2c2b0({'ros':this,'name':'/rosapi/nodes','serviceType':'rosapi/Nodes'}),_0x109a9c=new _0x497530();'function'==typeof _0x4a5de6?_0xc26954['callService'](_0x109a9c,function(_0x5d2717){_0x289b87(_0x5d2717['nodes']);},function(_0x25d08b){_0x4a5de6(_0x25d08b);}):_0xc26954['callService'](_0x109a9c,function(_0x487c40){_0x289b87(_0x487c40['nodes']);});},_0x95108c['prototype']['getNodeDetails']=function(_0x5ea432,_0x3a3495,_0xfe9b84){var _0x4127ff=new _0xe2c2b0({'ros':this,'name':'/rosapi/node_details','serviceType':'rosapi/NodeDetails'}),_0x5009f2=new _0x497530({'node':_0x5ea432});'function'==typeof _0xfe9b84?_0x4127ff['callService'](_0x5009f2,function(_0x8924a1){_0x3a3495(_0x8924a1['subscribing'],_0x8924a1['publishing'],_0x8924a1['services']);},function(_0x5f27b3){_0xfe9b84(_0x5f27b3);}):_0x4127ff['callService'](_0x5009f2,function(_0x55b7f9){_0x3a3495(_0x55b7f9);});},_0x95108c['prototype']['getParams']=function(_0x2b350b,_0x113708){var _0x42c115=new _0xe2c2b0({'ros':this,'name':'/rosapi/get_param_names','serviceType':'rosapi/GetParamNames'}),_0x1b4dc1=new _0x497530();'function'==typeof _0x113708?_0x42c115['callService'](_0x1b4dc1,function(_0x59f5c9){_0x2b350b(_0x59f5c9['names']);},function(_0x141e05){_0x113708(_0x141e05);}):_0x42c115['callService'](_0x1b4dc1,function(_0x36ec6c){_0x2b350b(_0x36ec6c['names']);});},_0x95108c['prototype']['getTopicType']=function(_0x36e588,_0x44426c,_0x215c79){var _0x51ca18=new _0xe2c2b0({'ros':this,'name':'/rosapi/topic_type','serviceType':'rosapi/TopicType'}),_0x70e232=new _0x497530({'topic':_0x36e588});'function'==typeof _0x215c79?_0x51ca18['callService'](_0x70e232,function(_0x433474){_0x44426c(_0x433474['type']);},function(_0x384ab7){_0x215c79(_0x384ab7);}):_0x51ca18['callService'](_0x70e232,function(_0x3c1c51){_0x44426c(_0x3c1c51['type']);});},_0x95108c['prototype']['getServiceType']=function(_0x4a4a96,_0x5a5065,_0x2b0748){var _0x3f3710=new _0xe2c2b0({'ros':this,'name':'/rosapi/service_type','serviceType':'rosapi/ServiceType'}),_0x4d0b7b=new _0x497530({'service':_0x4a4a96});'function'==typeof _0x2b0748?_0x3f3710['callService'](_0x4d0b7b,function(_0x1d2f74){_0x5a5065(_0x1d2f74['type']);},function(_0x3d2695){_0x2b0748(_0x3d2695);}):_0x3f3710['callService'](_0x4d0b7b,function(_0x31da31){_0x5a5065(_0x31da31['type']);});},_0x95108c['prototype']['getMessageDetails']=function(_0x52da92,_0x1af9ef,_0x55191b){var _0x13ccae=new _0xe2c2b0({'ros':this,'name':'/rosapi/message_details','serviceType':'rosapi/MessageDetails'}),_0x25cc07=new _0x497530({'type':_0x52da92});'function'==typeof _0x55191b?_0x13ccae['callService'](_0x25cc07,function(_0x4ce90b){_0x1af9ef(_0x4ce90b['typedefs']);},function(_0x537fc2){_0x55191b(_0x537fc2);}):_0x13ccae['callService'](_0x25cc07,function(_0x3228c1){_0x1af9ef(_0x3228c1['typedefs']);});},_0x95108c['prototype']['decodeTypeDefs']=function(_0x175c50){var _0x3078d9=this,_0x34bd0c=function(_0x532f12,_0x1ae506){for(var _0x2fb801={},_0x3491ba=0x0;_0x3491ba<_0x532f12['fieldnames']['length'];_0x3491ba++){var _0x5a97c8=_0x532f12['fieldarraylen'][_0x3491ba],_0x248fa8=_0x532f12['fieldnames'][_0x3491ba],_0x1ed559=_0x532f12['fieldtypes'][_0x3491ba];if(-0x1===_0x1ed559['indexOf']('/'))_0x2fb801[_0x248fa8]=-0x1===_0x5a97c8?_0x1ed559:[_0x1ed559];else{for(var _0x395d45=!0x1,_0x60c97f=0x0;_0x60c97f<_0x1ae506['length'];_0x60c97f++)if(_0x1ae506[_0x60c97f]['type']['toString']()===_0x1ed559['toString']()){_0x395d45=_0x1ae506[_0x60c97f];break;}if(_0x395d45){var _0x3c0541=_0x34bd0c(_0x395d45,_0x1ae506);_0x2fb801[_0x248fa8]=-0x1===_0x5a97c8?_0x3c0541:[_0x3c0541];}else _0x3078d9['emit']('error','Cannot\x20find\x20'+_0x1ed559+'\x20in\x20decodeTypeDefs');}}return _0x2fb801;};return _0x34bd0c(_0x175c50[0x0],_0x175c50);},_0x95108c['prototype']['getTopicsAndRawTypes']=function(_0x23a496,_0x49e0da){var _0x4f6e85=new _0xe2c2b0({'ros':this,'name':'/rosapi/topics_and_raw_types','serviceType':'rosapi/TopicsAndRawTypes'}),_0xfe2ad8=new _0x497530();'function'==typeof _0x49e0da?_0x4f6e85['callService'](_0xfe2ad8,function(_0x1d4025){_0x23a496(_0x1d4025);},function(_0x407486){_0x49e0da(_0x407486);}):_0x4f6e85['callService'](_0xfe2ad8,function(_0x3ed31b){_0x23a496(_0x3ed31b);});},Us=_0x95108c;}function Ks(){if(Bs)return qs;Bs=0x1;var _0x19cf06=as;return qs=function(_0x9358bd){_0x19cf06(this,_0x9358bd);};}function er(){if(Js)return $s;Js=0x1;var _0x4a96a3=Ys()['EventEmitter2'],_0x354659=Ks();function _0x23d710(_0x436626){_0x436626=_0x436626||{},this['ros']=_0x436626['ros'],this['name']=_0x436626['name'],this['messageType']=_0x436626['messageType'],this['isAdvertised']=!0x1,this['compression']=_0x436626['compression']||'none',this['throttle_rate']=_0x436626['throttle_rate']||0x0,this['latch']=_0x436626['latch']||!0x1,this['queue_size']=_0x436626['queue_size']||0x64,this['queue_length']=_0x436626['queue_length']||0x0,this['reconnect_on_close']=void 0x0===_0x436626['reconnect_on_close']||_0x436626['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 _0x1f7535=this;this['reconnect_on_close']?this['callForSubscribeAndAdvertise']=function(_0xb055b4){_0x1f7535['ros']['callOnConnection'](_0xb055b4),_0x1f7535['waitForReconnect']=!0x1,_0x1f7535['reconnectFunc']=function(){_0x1f7535['waitForReconnect']||(_0x1f7535['waitForReconnect']=!0x0,_0x1f7535['ros']['callOnConnection'](_0xb055b4),_0x1f7535['ros']['once']('connection',function(){_0x1f7535['waitForReconnect']=!0x1;}));},_0x1f7535['ros']['on']('close',_0x1f7535['reconnectFunc']);}:this['callForSubscribeAndAdvertise']=this['ros']['callOnConnection'],this['_messageCallback']=function(_0x42c476){_0x1f7535['emit']('message',new _0x354659(_0x42c476));};}return _0x23d710['prototype']['__proto__']=_0x4a96a3['prototype'],_0x23d710['prototype']['subscribe']=function(_0x2bb631){'function'==typeof _0x2bb631&&this['on']('message',_0x2bb631),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']}));},_0x23d710['prototype']['unsubscribe']=function(_0x3f809c){_0x3f809c&&(this['off']('message',_0x3f809c),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);},_0x23d710['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 _0x5b5aa8=this;this['ros']['on']('close',function(){_0x5b5aa8['isAdvertised']=!0x1;});}},_0x23d710['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);},_0x23d710['prototype']['publish']=function(_0x192fc4){this['isAdvertised']||this['advertise'](),this['ros']['idCounter']++;var _0x2218c9={'op':'publish','id':'publish:'+this['name']+':'+this['ros']['idCounter'],'topic':this['name'],'msg':_0x192fc4,'latch':this['latch']};this['ros']['callOnConnection'](_0x2218c9);},$s=_0x23d710;}function tr(){if(Gs)return Hs;Gs=0x1;var _0xa34fb3=Zs(),_0xc2bfcd=Is();function _0x3a780a(_0x202929){_0x202929=_0x202929||{},this['ros']=_0x202929['ros'],this['name']=_0x202929['name'];}return _0x3a780a['prototype']['get']=function(_0x420c95,_0xca4ad9){var _0x4b4b20=new _0xa34fb3({'ros':this['ros'],'name':'/rosapi/get_param','serviceType':'rosapi/GetParam'}),_0x247352=new _0xc2bfcd({'name':this['name']});_0x4b4b20['callService'](_0x247352,function(_0x19cd28){var _0x5d0534=JSON['parse'](_0x19cd28['value']);_0x420c95(_0x5d0534);},_0xca4ad9);},_0x3a780a['prototype']['set']=function(_0x3eeb3f,_0x498918,_0x2489b3){var _0x4268b0=new _0xa34fb3({'ros':this['ros'],'name':'/rosapi/set_param','serviceType':'rosapi/SetParam'}),_0x4d8257=new _0xc2bfcd({'name':this['name'],'value':JSON['stringify'](_0x3eeb3f)});_0x4268b0['callService'](_0x4d8257,_0x498918,_0x2489b3);},_0x3a780a['prototype']['delete']=function(_0x50f410,_0x33f5b2){var _0x2dab6c=new _0xa34fb3({'ros':this['ros'],'name':'/rosapi/delete_param','serviceType':'rosapi/DeleteParam'}),_0x199ad4=new _0xc2bfcd({'name':this['name']});_0x2dab6c['callService'](_0x199ad4,_0x50f410,_0x33f5b2);},Hs=_0x3a780a;}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 _0x4ab69b=er(),_0x208bbb=Ks(),_0x7e971e=Ys()['EventEmitter2'];function _0x537196(_0x5de3f8){var _0x14a7ff=this;_0x5de3f8=_0x5de3f8||{},this['ros']=_0x5de3f8['ros'],this['serverName']=_0x5de3f8['serverName'],this['actionName']=_0x5de3f8['actionName'],this['timeout']=_0x5de3f8['timeout'],this['omitFeedback']=_0x5de3f8['omitFeedback'],this['omitStatus']=_0x5de3f8['omitStatus'],this['omitResult']=_0x5de3f8['omitResult'],this['goals']={};var _0x51ea83=!0x1;this['feedbackListener']=new _0x4ab69b({'ros':this['ros'],'name':this['serverName']+'/feedback','messageType':this['actionName']+'Feedback'}),this['statusListener']=new _0x4ab69b({'ros':this['ros'],'name':this['serverName']+'/status','messageType':'actionlib_msgs/GoalStatusArray'}),this['resultListener']=new _0x4ab69b({'ros':this['ros'],'name':this['serverName']+'/result','messageType':this['actionName']+'Result'}),this['goalTopic']=new _0x4ab69b({'ros':this['ros'],'name':this['serverName']+'/goal','messageType':this['actionName']+'Goal'}),this['cancelTopic']=new _0x4ab69b({'ros':this['ros'],'name':this['serverName']+'/cancel','messageType':'actionlib_msgs/GoalID'}),this['goalTopic']['advertise'](),this['cancelTopic']['advertise'](),this['omitStatus']||this['statusListener']['subscribe'](function(_0x3f43a7){_0x51ea83=!0x0,_0x3f43a7['status_list']['forEach'](function(_0x1fed5a){var _0x3d53f0=_0x14a7ff['goals'][_0x1fed5a['goal_id']['id']];_0x3d53f0&&_0x3d53f0['emit']('status',_0x1fed5a);});}),this['omitFeedback']||this['feedbackListener']['subscribe'](function(_0x5a081b){var _0x3ae0d5=_0x14a7ff['goals'][_0x5a081b['status']['goal_id']['id']];_0x3ae0d5&&(_0x3ae0d5['emit']('status',_0x5a081b['status']),_0x3ae0d5['emit']('feedback',_0x5a081b['feedback']));}),this['omitResult']||this['resultListener']['subscribe'](function(_0x4a073d){var _0x5e05dc=_0x14a7ff['goals'][_0x4a073d['status']['goal_id']['id']];_0x5e05dc&&(_0x5e05dc['emit']('status',_0x4a073d['status']),_0x5e05dc['emit']('result',_0x4a073d['result']));}),this['timeout']&&setTimeout(function(){_0x51ea83||_0x14a7ff['emit']('timeout');},this['timeout']);}return _0x537196['prototype']['__proto__']=_0x7e971e['prototype'],_0x537196['prototype']['cancel']=function(){var _0xc8daf0=new _0x208bbb();this['cancelTopic']['publish'](_0xc8daf0);},_0x537196['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=_0x537196;}function _r(){if(rr)return sr;rr=0x1;var _0x17c3b8=er();Ks();var _0x27e97e=Ys()['EventEmitter2'];function _0x9de7f7(_0x35c387){var _0x5c51c3=this;_0x35c387=_0x35c387||{},this['ros']=_0x35c387['ros'],this['serverName']=_0x35c387['serverName'],this['actionName']=_0x35c387['actionName'];var _0x4190c4=new _0x17c3b8({'ros':this['ros'],'name':this['serverName']+'/goal','messageType':this['actionName']+'Goal'}),_0x24c985=new _0x17c3b8({'ros':this['ros'],'name':this['serverName']+'/feedback','messageType':this['actionName']+'Feedback'}),_0x13ea66=new _0x17c3b8({'ros':this['ros'],'name':this['serverName']+'/status','messageType':'actionlib_msgs/GoalStatusArray'}),_0x412cbb=new _0x17c3b8({'ros':this['ros'],'name':this['serverName']+'/result','messageType':this['actionName']+'Result'});_0x4190c4['subscribe'](function(_0x5edab3){_0x5c51c3['emit']('goal',_0x5edab3);}),_0x13ea66['subscribe'](function(_0x5da3e1){_0x5da3e1['status_list']['forEach'](function(_0x4a070d){_0x5c51c3['emit']('status',_0x4a070d);});}),_0x24c985['subscribe'](function(_0x5ba4f6){_0x5c51c3['emit']('status',_0x5ba4f6['status']),_0x5c51c3['emit']('feedback',_0x5ba4f6['feedback']);}),_0x412cbb['subscribe'](function(_0x523654){_0x5c51c3['emit']('status',_0x523654['status']),_0x5c51c3['emit']('result',_0x523654['result']);});}return _0x9de7f7['prototype']['__proto__']=_0x27e97e['prototype'],sr=_0x9de7f7;}function Sr(){if(or)return ar;or=0x1;var _0x1ba20a=Ks(),_0x358488=Ys()['EventEmitter2'];function _0x57c1fc(_0x4dc383){var _0x5bb2f4=this;this['actionClient']=_0x4dc383['actionClient'],this['goalMessage']=_0x4dc383['goalMessage'],this['isFinished']=!0x1;var _0x57df9d=new Date();this['goalID']='goal_'+Math['random']()+'_'+_0x57df9d['getTime'](),this['goalMessage']=new _0x1ba20a({'goal_id':{'stamp':{'secs':0x0,'nsecs':0x0},'id':this['goalID']},'goal':this['goalMessage']}),this['on']('status',function(_0x24f131){_0x5bb2f4['status']=_0x24f131;}),this['on']('result',function(_0x4dd822){_0x5bb2f4['isFinished']=!0x0,_0x5bb2f4['result']=_0x4dd822;}),this['on']('feedback',function(_0xed10a0){_0x5bb2f4['feedback']=_0xed10a0;}),this['actionClient']['goals'][this['goalID']]=this;}return _0x57c1fc['prototype']['__proto__']=_0x358488['prototype'],_0x57c1fc['prototype']['send']=function(_0x18743e){var _0x196fe9=this;_0x196fe9['actionClient']['goalTopic']['publish'](_0x196fe9['goalMessage']),_0x18743e&&setTimeout(function(){_0x196fe9['isFinished']||_0x196fe9['emit']('timeout');},_0x18743e);},_0x57c1fc['prototype']['cancel']=function(){var _0x4285ba=new _0x1ba20a({'id':this['goalID']});this['actionClient']['cancelTopic']['publish'](_0x4285ba);},ar=_0x57c1fc;}function Ar(){if(cr)return lr;cr=0x1;var _0x192853=er(),_0x2853c7=Ks(),_0x20769e=Ys()['EventEmitter2'];function _0x21f63c(_0xfabd00){var _0x4705e8=this;_0xfabd00=_0xfabd00||{},this['ros']=_0xfabd00['ros'],this['serverName']=_0xfabd00['serverName'],this['actionName']=_0xfabd00['actionName'],this['feedbackPublisher']=new _0x192853({'ros':this['ros'],'name':this['serverName']+'/feedback','messageType':this['actionName']+'Feedback'}),this['feedbackPublisher']['advertise']();var _0x530795=new _0x192853({'ros':this['ros'],'name':this['serverName']+'/status','messageType':'actionlib_msgs/GoalStatusArray'});_0x530795['advertise'](),this['resultPublisher']=new _0x192853({'ros':this['ros'],'name':this['serverName']+'/result','messageType':this['actionName']+'Result'}),this['resultPublisher']['advertise']();var _0x17bdd6=new _0x192853({'ros':this['ros'],'name':this['serverName']+'/goal','messageType':this['actionName']+'Goal'}),_0x3095d4=new _0x192853({'ros':this['ros'],'name':this['serverName']+'/cancel','messageType':'actionlib_msgs/GoalID'});this['statusMessage']=new _0x2853c7({'header':{'stamp':{'secs':0x0,'nsecs':0x64},'frame_id':''},'status_list':[]}),this['currentGoal']=null,this['nextGoal']=null,_0x17bdd6['subscribe'](function(_0x2755c5){_0x4705e8['currentGoal']?(_0x4705e8['nextGoal']=_0x2755c5,_0x4705e8['emit']('cancel')):(_0x4705e8['statusMessage']['status_list']=[{'goal_id':_0x2755c5['goal_id'],'status':0x1}],_0x4705e8['currentGoal']=_0x2755c5,_0x4705e8['emit']('goal',_0x2755c5['goal']));});var _0x56e102=function(_0x32e232,_0x25e036){return!(_0x32e232['secs']>_0x25e036['secs'])&&(_0x32e232['secs']<_0x25e036['secs']||_0x32e232['nsecs']<_0x25e036['nsecs']);};_0x3095d4['subscribe'](function(_0x3e6293){0x0===_0x3e6293['stamp']['secs']&&0x0===_0x3e6293['stamp']['secs']&&''===_0x3e6293['id']?(_0x4705e8['nextGoal']=null,_0x4705e8['currentGoal']&&_0x4705e8['emit']('cancel')):(_0x4705e8['currentGoal']&&_0x3e6293['id']===_0x4705e8['currentGoal']['goal_id']['id']?_0x4705e8['emit']('cancel'):_0x4705e8['nextGoal']&&_0x3e6293['id']===_0x4705e8['nextGoal']['goal_id']['id']&&(_0x4705e8['nextGoal']=null),_0x4705e8['nextGoal']&&_0x56e102(_0x4705e8['nextGoal']['goal_id']['stamp'],_0x3e6293['stamp'])&&(_0x4705e8['nextGoal']=null),_0x4705e8['currentGoal']&&_0x56e102(_0x4705e8['currentGoal']['goal_id']['stamp'],_0x3e6293['stamp'])&&_0x4705e8['emit']('cancel'));}),setInterval(function(){var _0x1e3dd5=new Date(),_0x383292=Math['floor'](_0x1e3dd5['getTime']()/0x3e8),_0x514bd5=Math['round'](0x3b9aca00*(_0x1e3dd5['getTime']()/0x3e8-_0x383292));_0x4705e8['statusMessage']['header']['stamp']['secs']=_0x383292,_0x4705e8['statusMessage']['header']['stamp']['nsecs']=_0x514bd5,_0x530795['publish'](_0x4705e8['statusMessage']);},0x1f4);}return _0x21f63c['prototype']['__proto__']=_0x20769e['prototype'],_0x21f63c['prototype']['setSucceeded']=function(_0x259a5e){var _0x16bd72=new _0x2853c7({'status':{'goal_id':this['currentGoal']['goal_id'],'status':0x3},'result':_0x259a5e});this['resultPublisher']['publish'](_0x16bd72),this['statusMessage']['status_list']=[],this['nextGoal']?(this['currentGoal']=this['nextGoal'],this['nextGoal']=null,this['emit']('goal',this['currentGoal']['goal'])):this['currentGoal']=null;},_0x21f63c['prototype']['setAborted']=function(_0x41d704){var _0x3839fb=new _0x2853c7({'status':{'goal_id':this['currentGoal']['goal_id'],'status':0x4},'result':_0x41d704});this['resultPublisher']['publish'](_0x3839fb),this['statusMessage']['status_list']=[],this['nextGoal']?(this['currentGoal']=this['nextGoal'],this['nextGoal']=null,this['emit']('goal',this['currentGoal']['goal'])):this['currentGoal']=null;},_0x21f63c['prototype']['sendFeedback']=function(_0x3059ab){var _0xd9f362=new _0x2853c7({'status':{'goal_id':this['currentGoal']['goal_id'],'status':0x1},'feedback':_0x3059ab});this['feedbackPublisher']['publish'](_0xd9f362);},_0x21f63c['prototype']['setPreempted']=function(){this['statusMessage']['status_list']=[];var _0x12f71f=new _0x2853c7({'status':{'goal_id':this['currentGoal']['goal_id'],'status':0x2}});this['resultPublisher']['publish'](_0x12f71f),this['nextGoal']?(this['currentGoal']=this['nextGoal'],this['nextGoal']=null,this['emit']('goal',this['currentGoal']['goal'])):this['currentGoal']=null;},lr=_0x21f63c;}function Lr(){if(dr)return ur;function _0x37ba9a(_0x5dce1e){_0x5dce1e=_0x5dce1e||{},this['x']=_0x5dce1e['x']||0x0,this['y']=_0x5dce1e['y']||0x0,this['z']=_0x5dce1e['z']||0x0;}return dr=0x1,_0x37ba9a['prototype']['add']=function(_0x2e5569){this['x']+=_0x2e5569['x'],this['y']+=_0x2e5569['y'],this['z']+=_0x2e5569['z'];},_0x37ba9a['prototype']['subtract']=function(_0x5c929a){this['x']-=_0x5c929a['x'],this['y']-=_0x5c929a['y'],this['z']-=_0x5c929a['z'];},_0x37ba9a['prototype']['multiplyQuaternion']=function(_0x3ba9c2){var _0x39fe08=_0x3ba9c2['w']*this['x']+_0x3ba9c2['y']*this['z']-_0x3ba9c2['z']*this['y'],_0x12c22f=_0x3ba9c2['w']*this['y']+_0x3ba9c2['z']*this['x']-_0x3ba9c2['x']*this['z'],_0x1e91eb=_0x3ba9c2['w']*this['z']+_0x3ba9c2['x']*this['y']-_0x3ba9c2['y']*this['x'],_0x29c0fd=-_0x3ba9c2['x']*this['x']-_0x3ba9c2['y']*this['y']-_0x3ba9c2['z']*this['z'];this['x']=_0x39fe08*_0x3ba9c2['w']+_0x29c0fd*-_0x3ba9c2['x']+_0x12c22f*-_0x3ba9c2['z']-_0x1e91eb*-_0x3ba9c2['y'],this['y']=_0x12c22f*_0x3ba9c2['w']+_0x29c0fd*-_0x3ba9c2['y']+_0x1e91eb*-_0x3ba9c2['x']-_0x39fe08*-_0x3ba9c2['z'],this['z']=_0x1e91eb*_0x3ba9c2['w']+_0x29c0fd*-_0x3ba9c2['z']+_0x39fe08*-_0x3ba9c2['y']-_0x12c22f*-_0x3ba9c2['x'];},_0x37ba9a['prototype']['clone']=function(){return new _0x37ba9a(this);},ur=_0x37ba9a;}function Er(){if(mr)return pr;function _0x2138bf(_0x2e09ae){_0x2e09ae=_0x2e09ae||{},this['x']=_0x2e09ae['x']||0x0,this['y']=_0x2e09ae['y']||0x0,this['z']=_0x2e09ae['z']||0x0,this['w']='number'==typeof _0x2e09ae['w']?_0x2e09ae['w']:0x1;}return mr=0x1,_0x2138bf['prototype']['conjugate']=function(){this['x']*=-0x1,this['y']*=-0x1,this['z']*=-0x1;},_0x2138bf['prototype']['norm']=function(){return Math['sqrt'](this['x']*this['x']+this['y']*this['y']+this['z']*this['z']+this['w']*this['w']);},_0x2138bf['prototype']['normalize']=function(){var _0x9a1825=Math['sqrt'](this['x']*this['x']+this['y']*this['y']+this['z']*this['z']+this['w']*this['w']);0x0===_0x9a1825?(this['x']=0x0,this['y']=0x0,this['z']=0x0,this['w']=0x1):(_0x9a1825=0x1/_0x9a1825,this['x']=this['x']*_0x9a1825,this['y']=this['y']*_0x9a1825,this['z']=this['z']*_0x9a1825,this['w']=this['w']*_0x9a1825);},_0x2138bf['prototype']['invert']=function(){this['conjugate'](),this['normalize']();},_0x2138bf['prototype']['multiply']=function(_0x1f1ae2){var _0x277fd6=this['x']*_0x1f1ae2['w']+this['y']*_0x1f1ae2['z']-this['z']*_0x1f1ae2['y']+this['w']*_0x1f1ae2['x'],_0x26f7e4=-this['x']*_0x1f1ae2['z']+this['y']*_0x1f1ae2['w']+this['z']*_0x1f1ae2['x']+this['w']*_0x1f1ae2['y'],_0xf2ce1c=this['x']*_0x1f1ae2['y']-this['y']*_0x1f1ae2['x']+this['z']*_0x1f1ae2['w']+this['w']*_0x1f1ae2['z'],_0x34e9fc=-this['x']*_0x1f1ae2['x']-this['y']*_0x1f1ae2['y']-this['z']*_0x1f1ae2['z']+this['w']*_0x1f1ae2['w'];this['x']=_0x277fd6,this['y']=_0x26f7e4,this['z']=_0xf2ce1c,this['w']=_0x34e9fc;},_0x2138bf['prototype']['clone']=function(){return new _0x2138bf(this);},pr=_0x2138bf;}function Cr(){if(fr)return gr;fr=0x1;var _0x57a6be=Lr(),_0x4f357d=Er();function _0x264eb8(_0x424b18){_0x424b18=_0x424b18||{},this['position']=new _0x57a6be(_0x424b18['position']),this['orientation']=new _0x4f357d(_0x424b18['orientation']);}return _0x264eb8['prototype']['applyTransform']=function(_0x330ca2){this['position']['multiplyQuaternion'](_0x330ca2['rotation']),this['position']['add'](_0x330ca2['translation']);var _0x548875=_0x330ca2['rotation']['clone']();_0x548875['multiply'](this['orientation']),this['orientation']=_0x548875;},_0x264eb8['prototype']['clone']=function(){return new _0x264eb8(this);},_0x264eb8['prototype']['multiply']=function(_0x564308){var _0x39eb96=_0x564308['clone']();return _0x39eb96['applyTransform']({'rotation':this['orientation'],'translation':this['position']}),_0x39eb96;},_0x264eb8['prototype']['getInverse']=function(){var _0x276b08=this['clone']();return _0x276b08['orientation']['invert'](),_0x276b08['position']['multiplyQuaternion'](_0x276b08['orientation']),_0x276b08['position']['x']*=-0x1,_0x276b08['position']['y']*=-0x1,_0x276b08['position']['z']*=-0x1,_0x276b08;},gr=_0x264eb8;}function jr(){if(vr)return yr;vr=0x1;var _0x942e78=Lr(),_0x3411dc=Er();function _0x4bb7f4(_0x36507e){_0x36507e=_0x36507e||{},this['translation']=new _0x942e78(_0x36507e['translation']),this['rotation']=new _0x3411dc(_0x36507e['rotation']);}return _0x4bb7f4['prototype']['clone']=function(){return new _0x4bb7f4(this);},yr=_0x4bb7f4;}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 _0x3ef4f2=Mr(),_0x6ddfdd=Sr(),_0x3b8159=Zs(),_0x5b3b67=Is(),_0x36aec7=er(),_0xc49b57=jr();function _0x324145(_0x6f6afa){_0x6f6afa=_0x6f6afa||{},this['ros']=_0x6f6afa['ros'],this['fixedFrame']=_0x6f6afa['fixedFrame']||'base_link',this['angularThres']=_0x6f6afa['angularThres']||0x2,this['transThres']=_0x6f6afa['transThres']||0.01,this['rate']=_0x6f6afa['rate']||0xa,this['updateDelay']=_0x6f6afa['updateDelay']||0x32;var _0x44be8d=_0x6f6afa['topicTimeout']||0x2,_0x37cb13=Math['floor'](_0x44be8d),_0x5488c3=Math['floor'](0x3b9aca00*(_0x44be8d-_0x37cb13));this['topicTimeout']={'secs':_0x37cb13,'nsecs':_0x5488c3},this['serverName']=_0x6f6afa['serverName']||'/tf2_web_republisher',this['repubServiceName']=_0x6f6afa['repubServiceName']||'/republish_tfs',this['currentGoal']=!0x1,this['currentTopic']=!0x1,this['frameInfos']={},this['republisherUpdateRequested']=!0x1,this['_subscribeCB']=null,this['_isDisposed']=!0x1,this['actionClient']=new _0x3ef4f2({'ros':_0x6f6afa['ros'],'serverName':this['serverName'],'actionName':'tf2_web_republisher/TFSubscriptionAction','omitStatus':!0x0,'omitResult':!0x0}),this['serviceClient']=new _0x3b8159({'ros':_0x6f6afa['ros'],'name':this['repubServiceName'],'serviceType':'tf2_web_republisher/RepublishTFs'});}return _0x324145['prototype']['processTFArray']=function(_0x2eb8ef){_0x2eb8ef['transforms']['forEach'](function(_0x2e84b1){var _0x143288=_0x2e84b1['child_frame_id'];'/'===_0x143288[0x0]&&(_0x143288=_0x143288['substring'](0x1));var _0x4e6a0d=this['frameInfos'][_0x143288];_0x4e6a0d&&(_0x4e6a0d['transform']=new _0xc49b57({'translation':_0x2e84b1['transform']['translation'],'rotation':_0x2e84b1['transform']['rotation']}),_0x4e6a0d['cbs']['forEach'](function(_0x1a34db){_0x1a34db(_0x4e6a0d['transform']);}));},this);},_0x324145['prototype']['updateGoal']=function(){var _0x5b05b8={'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 _0x6ddfdd({'actionClient':this['actionClient'],'goalMessage':_0x5b05b8}),this['currentGoal']['on']('feedback',this['processTFArray']['bind'](this)),this['currentGoal']['send']();else{_0x5b05b8['timeout']=this['topicTimeout'];var _0x5ba757=new _0x5b3b67(_0x5b05b8);this['serviceClient']['callService'](_0x5ba757,this['processResponse']['bind'](this));}this['republisherUpdateRequested']=!0x1;},_0x324145['prototype']['processResponse']=function(_0x22d7a5){this['_isDisposed']||(this['currentTopic']&&this['currentTopic']['unsubscribe'](this['_subscribeCB']),this['currentTopic']=new _0x36aec7({'ros':this['ros'],'name':_0x22d7a5['topic_name'],'messageType':'tf2_web_republisher/TFArray'}),this['_subscribeCB']=this['processTFArray']['bind'](this),this['currentTopic']['subscribe'](this['_subscribeCB']));},_0x324145['prototype']['subscribe']=function(_0x5c7b64,_0x4a0013){'/'===_0x5c7b64[0x0]&&(_0x5c7b64=_0x5c7b64['substring'](0x1)),this['frameInfos'][_0x5c7b64]?this['frameInfos'][_0x5c7b64]['transform']&&_0x4a0013(this['frameInfos'][_0x5c7b64]['transform']):(this['frameInfos'][_0x5c7b64]={'cbs':[]},this['republisherUpdateRequested']||(setTimeout(this['updateGoal']['bind'](this),this['updateDelay']),this['republisherUpdateRequested']=!0x0)),this['frameInfos'][_0x5c7b64]['cbs']['push'](_0x4a0013);},_0x324145['prototype']['unsubscribe']=function(_0x4eb9e3,_0x15a66b){'/'===_0x4eb9e3[0x0]&&(_0x4eb9e3=_0x4eb9e3['substring'](0x1));for(var _0x4aa9b6=this['frameInfos'][_0x4eb9e3],_0x1a3431=_0x4aa9b6&&_0x4aa9b6['cbs']||[],_0x229aa1=_0x1a3431['length'];_0x229aa1--;)_0x1a3431[_0x229aa1]===_0x15a66b&&_0x1a3431['splice'](_0x229aa1,0x1);_0x15a66b&&0x0!==_0x1a3431['length']||delete this['frameInfos'][_0x4eb9e3];},_0x324145['prototype']['dispose']=function(){this['_isDisposed']=!0x0,this['actionClient']['dispose'](),this['currentTopic']&&this['currentTopic']['unsubscribe'](this['_subscribeCB']);},kr=_0x324145;}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 _0x4fef67=Lr(),_0x18f07d=ta();return Pr=function(_0x4af80b){this['dimension']=null,this['type']=_0x18f07d['URDF_BOX'];var _0xcbb3aa=_0x4af80b['xml']['getAttribute']('size')['split']('\x20');this['dimension']=new _0x4fef67({'x':parseFloat(_0xcbb3aa[0x0]),'y':parseFloat(_0xcbb3aa[0x1]),'z':parseFloat(_0xcbb3aa[0x2])});};}function ia(){if(zr)return Rr;return zr=0x1,Rr=function(_0x37a1df){var _0x236b59=_0x37a1df['xml']['getAttribute']('rgba')['split']('\x20');this['r']=parseFloat(_0x236b59[0x0]),this['g']=parseFloat(_0x236b59[0x1]),this['b']=parseFloat(_0x236b59[0x2]),this['a']=parseFloat(_0x236b59[0x3]);};}function sa(){if(Ur)return Nr;Ur=0x1;var _0x399fec=ta();return Nr=function(_0x29fe9d){this['type']=_0x399fec['URDF_CYLINDER'],this['length']=parseFloat(_0x29fe9d['xml']['getAttribute']('length')),this['radius']=parseFloat(_0x29fe9d['xml']['getAttribute']('radius'));};}function ra(){if(qr)return Vr;qr=0x1;var _0x56735e=ia();function _0x2f2923(_0x1bfeca){this['textureFilename']=null,this['color']=null,this['name']=_0x1bfeca['xml']['getAttribute']('name');var _0x2c7b74=_0x1bfeca['xml']['getElementsByTagName']('texture');_0x2c7b74['length']>0x0&&(this['textureFilename']=_0x2c7b74[0x0]['getAttribute']('filename'));var _0xc30bd=_0x1bfeca['xml']['getElementsByTagName']('color');_0xc30bd['length']>0x0&&(this['color']=new _0x56735e({'xml':_0xc30bd[0x0]}));}_0x2f2923['prototype']['isLink']=function(){return null===this['color']&&null===this['textureFilename'];};var _0x17693e=as;return _0x2f2923['prototype']['assign']=function(_0x4c5c14){return _0x17693e(this,_0x4c5c14);},Vr=_0x2f2923;}function aa(){if($r)return Br;$r=0x1;var _0x1f63cd=Lr(),_0x2342de=ta();return Br=function(_0x430a7e){this['scale']=null,this['type']=_0x2342de['URDF_MESH'],this['filename']=_0x430a7e['xml']['getAttribute']('filename');var _0x48853f=_0x430a7e['xml']['getAttribute']('scale');if(_0x48853f){var _0x2a201e=_0x48853f['split']('\x20');this['scale']=new _0x1f63cd({'x':parseFloat(_0x2a201e[0x0]),'y':parseFloat(_0x2a201e[0x1]),'z':parseFloat(_0x2a201e[0x2])});}};}function oa(){if(Hr)return Jr;Hr=0x1;var _0x2087e4=ta();return Jr=function(_0x281b5b){this['type']=_0x2087e4['URDF_SPHERE'],this['radius']=parseFloat(_0x281b5b['xml']['getAttribute']('radius'));};}function la(){if(Wr)return Gr;Wr=0x1;var _0x2e458f=Cr(),_0x40e75c=Lr(),_0x3e2b6a=Er(),_0x20aac2=sa(),_0x377cab=na(),_0x375e84=ra(),_0x312eaf=aa(),_0x18443c=oa();return Gr=function(_0x3bd824){var _0x379e87=_0x3bd824['xml'];this['origin']=null,this['geometry']=null,this['material']=null,this['name']=_0x3bd824['xml']['getAttribute']('name');var _0xa620a=_0x379e87['getElementsByTagName']('origin');if(0x0===_0xa620a['length'])this['origin']=new _0x2e458f();else{var _0x51d11a=_0xa620a[0x0]['getAttribute']('xyz'),_0x5c5f7e=new _0x40e75c();_0x51d11a&&(_0x51d11a=_0x51d11a['split']('\x20'),_0x5c5f7e=new _0x40e75c({'x':parseFloat(_0x51d11a[0x0]),'y':parseFloat(_0x51d11a[0x1]),'z':parseFloat(_0x51d11a[0x2])}));var _0x3b0bb5=_0xa620a[0x0]['getAttribute']('rpy'),_0x39e2f1=new _0x3e2b6a();if(_0x3b0bb5){_0x3b0bb5=_0x3b0bb5['split']('\x20');var _0x412cf8=parseFloat(_0x3b0bb5[0x0])/0x2,_0x49c487=parseFloat(_0x3b0bb5[0x1])/0x2,_0x5c5b8c=parseFloat(_0x3b0bb5[0x2])/0x2,_0x15f491=Math['sin'](_0x412cf8)*Math['cos'](_0x49c487)*Math['cos'](_0x5c5b8c)-Math['cos'](_0x412cf8)*Math['sin'](_0x49c487)*Math['sin'](_0x5c5b8c),_0x5e4585=Math['cos'](_0x412cf8)*Math['sin'](_0x49c487)*Math['cos'](_0x5c5b8c)+Math['sin'](_0x412cf8)*Math['cos'](_0x49c487)*Math['sin'](_0x5c5b8c),_0x5bfc64=Math['cos'](_0x412cf8)*Math['cos'](_0x49c487)*Math['sin'](_0x5c5b8c)-Math['sin'](_0x412cf8)*Math['sin'](_0x49c487)*Math['cos'](_0x5c5b8c),_0x575c14=Math['cos'](_0x412cf8)*Math['cos'](_0x49c487)*Math['cos'](_0x5c5b8c)+Math['sin'](_0x412cf8)*Math['sin'](_0x49c487)*Math['sin'](_0x5c5b8c);(_0x39e2f1=new _0x3e2b6a({'x':_0x15f491,'y':_0x5e4585,'z':_0x5bfc64,'w':_0x575c14}))['normalize']();}this['origin']=new _0x2e458f({'position':_0x5c5f7e,'orientation':_0x39e2f1});}var _0x4a5d66=_0x379e87['getElementsByTagName']('geometry');if(_0x4a5d66['length']>0x0){for(var _0x397372=_0x4a5d66[0x0],_0x2dd2a1=null,_0x17600e=0x0;_0x17600e<_0x397372['childNodes']['length'];_0x17600e++){var _0x20392f=_0x397372['childNodes'][_0x17600e];if(0x1===_0x20392f['nodeType']){_0x2dd2a1=_0x20392f;break;}}var _0x54df01=_0x2dd2a1['nodeName'];'sphere'===_0x54df01?this['geometry']=new _0x18443c({'xml':_0x2dd2a1}):'box'===_0x54df01?this['geometry']=new _0x377cab({'xml':_0x2dd2a1}):'cylinder'===_0x54df01?this['geometry']=new _0x20aac2({'xml':_0x2dd2a1}):'mesh'===_0x54df01&&(this['geometry']=new _0x312eaf({'xml':_0x2dd2a1}));}var _0xd33cc7=_0x379e87['getElementsByTagName']('material');_0xd33cc7['length']>0x0&&(this['material']=new _0x375e84({'xml':_0xd33cc7[0x0]}));};}function ca(){if(Yr)return Xr;Yr=0x1;var _0x191147=la();return Xr=function(_0x4a1cea){this['name']=_0x4a1cea['xml']['getAttribute']('name'),this['visuals']=[];for(var _0x40dcc0=_0x4a1cea['xml']['getElementsByTagName']('visual'),_0x50ad83=0x0;_0x50ad83<_0x40dcc0['length'];_0x50ad83++)this['visuals']['push'](new _0x191147({'xml':_0x40dcc0[_0x50ad83]}));};}var ha,ua,da,pa,ma,ga={};function fa(){if(da)return ua;da=0x1;var _0x4c97f1=ra(),_0x424b34=ca(),_0x4c8632=(function(){if(Qr)return Zr;Qr=0x1;var _0x9c0eaa=Cr(),_0x476529=Lr(),_0x13783c=Er();return Zr=function(_0x5a7e2c){this['name']=_0x5a7e2c['xml']['getAttribute']('name'),this['type']=_0x5a7e2c['xml']['getAttribute']('type');var _0x407daa=_0x5a7e2c['xml']['getElementsByTagName']('parent');_0x407daa['length']>0x0&&(this['parent']=_0x407daa[0x0]['getAttribute']('link'));var _0x530586=_0x5a7e2c['xml']['getElementsByTagName']('child');_0x530586['length']>0x0&&(this['child']=_0x530586[0x0]['getAttribute']('link'));var _0xaff4f1=_0x5a7e2c['xml']['getElementsByTagName']('limit');_0xaff4f1['length']>0x0&&(this['minval']=parseFloat(_0xaff4f1[0x0]['getAttribute']('lower')),this['maxval']=parseFloat(_0xaff4f1[0x0]['getAttribute']('upper')));var _0x2bc5cc=_0x5a7e2c['xml']['getElementsByTagName']('origin');if(0x0===_0x2bc5cc['length'])this['origin']=new _0x9c0eaa();else{var _0x3d4226=_0x2bc5cc[0x0]['getAttribute']('xyz'),_0x542d98=new _0x476529();_0x3d4226&&(_0x3d4226=_0x3d4226['split']('\x20'),_0x542d98=new _0x476529({'x':parseFloat(_0x3d4226[0x0]),'y':parseFloat(_0x3d4226[0x1]),'z':parseFloat(_0x3d4226[0x2])}));var _0x3dfa9b=_0x2bc5cc[0x0]['getAttribute']('rpy'),_0x549d49=new _0x13783c();if(_0x3dfa9b){_0x3dfa9b=_0x3dfa9b['split']('\x20');var _0x19c1c5=parseFloat(_0x3dfa9b[0x0])/0x2,_0x14d1b0=parseFloat(_0x3dfa9b[0x1])/0x2,_0x1c320b=parseFloat(_0x3dfa9b[0x2])/0x2,_0x1e8dc5=Math['sin'](_0x19c1c5)*Math['cos'](_0x14d1b0)*Math['cos'](_0x1c320b)-Math['cos'](_0x19c1c5)*Math['sin'](_0x14d1b0)*Math['sin'](_0x1c320b),_0x16fab3=Math['cos'](_0x19c1c5)*Math['sin'](_0x14d1b0)*Math['cos'](_0x1c320b)+Math['sin'](_0x19c1c5)*Math['cos'](_0x14d1b0)*Math['sin'](_0x1c320b),_0x1fffe9=Math['cos'](_0x19c1c5)*Math['cos'](_0x14d1b0)*Math['sin'](_0x1c320b)-Math['sin'](_0x19c1c5)*Math['sin'](_0x14d1b0)*Math['cos'](_0x1c320b),_0x34d693=Math['cos'](_0x19c1c5)*Math['cos'](_0x14d1b0)*Math['cos'](_0x1c320b)+Math['sin'](_0x19c1c5)*Math['sin'](_0x14d1b0)*Math['sin'](_0x1c320b);(_0x549d49=new _0x13783c({'x':_0x1e8dc5,'y':_0x16fab3,'z':_0x1fffe9,'w':_0x34d693}))['normalize']();}this['origin']=new _0x9c0eaa({'position':_0x542d98,'orientation':_0x549d49});}};}()),_0x1b5c3a=(ha||(ha=0x1,ga['DOMImplementation']=window['DOMImplementation'],ga['XMLSerializer']=window['XMLSerializer'],ga['DOMParser']=window['DOMParser']),ga)['DOMParser'];return ua=function(_0x30febb){var _0x12333b=(_0x30febb=_0x30febb||{})['xml'],_0x55774a=_0x30febb['string'];this['materials']={},this['links']={},this['joints']={},_0x55774a&&(_0x12333b=new _0x1b5c3a()['parseFromString'](_0x55774a,'text/xml'));var _0x27a458=_0x12333b['documentElement'];this['name']=_0x27a458['getAttribute']('name');for(var _0x33689f=_0x27a458['childNodes'],_0x321c7c=0x0;_0x321c7c<_0x33689f['length'];_0x321c7c++){var _0x17b79c=_0x33689f[_0x321c7c];if('material'===_0x17b79c['tagName']){var _0x5bea35=new _0x4c97f1({'xml':_0x17b79c});void 0x0!==this['materials'][_0x5bea35['name']]?this['materials'][_0x5bea35['name']]['isLink']()&&this['materials'][_0x5bea35['name']]['assign'](_0x5bea35):this['materials'][_0x5bea35['name']]=_0x5bea35;}else if('link'===_0x17b79c['tagName']){var _0x2ca8cd=new _0x424b34({'xml':_0x17b79c});if(void 0x0!==this['links'][_0x2ca8cd['name']]);else{for(var _0x35a746=0x0;_0x35a746<_0x2ca8cd['visuals']['length'];_0x35a746++){var _0xfa05c3=_0x2ca8cd['visuals'][_0x35a746]['material'];null!==_0xfa05c3&&_0xfa05c3['name']&&(void 0x0!==this['materials'][_0xfa05c3['name']]?_0x2ca8cd['visuals'][_0x35a746]['material']=this['materials'][_0xfa05c3['name']]:this['materials'][_0xfa05c3['name']]=_0xfa05c3);}this['links'][_0x2ca8cd['name']]=_0x2ca8cd;}}else if('joint'===_0x17b79c['tagName']){var _0x5830ff=new _0x4c8632({'xml':_0x17b79c});this['joints'][_0x5830ff['name']]=_0x5830ff;}}};}var ya=Xi['ROSLIB']||{'REVISION':'1.4.1'},va=as;va(ya,(function(){if(Ws)return os['exports'];Ws=0x1;var _0x40f1ee=ls(),_0x4f6fc7=os['exports']={'Ros':Qs(),'Topic':er(),'Message':Ks(),'Param':tr(),'Service':Zs(),'ServiceRequest':Is(),'ServiceResponse':Ps()};return _0x40f1ee(_0x4f6fc7['Ros'],['Param','Service','Topic'],_0x4f6fc7),os['exports'];}())),va(ya,(function(){if(hr)return xr['exports'];hr=0x1;var _0x26574f=Qs();return ls()(_0x26574f,['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 _0x23e005=Qs();return ls()(_0x23e005,['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(_0x50d20d,_0x3f64dd){this['rosController']=_0x50d20d,this['sceneManager']=_0x3f64dd,this['tfSubscriptions']=new Map(),this['_tmpPos']=new _0x47b065(),this['_tmpQuat']=new _0x57eb35(),this['_tmpEuler']=new _0x940d5(),this['_tmpMat']=new _0x57ef6e(),this['handSeparationScale']=0x1,this['wristRotationOffset']=Math['PI']/0x4;}['subscribeTF'](_0x5a4f44,_0x4c885b,_0x2189cc){if(!this['rosController']['ros']||!this['rosController']['ros']['isConnected'])return null;if(this['unsubscribe'](_0x5a4f44),!_0x4c885b||!_0x4c885b['threeObject'])return null;try{const _0x2e3f96=new ba['Topic']({'ros':this['rosController']['ros'],'name':_0x2189cc,'messageType':'tf2_msgs/msg/TFMessage'});return _0x2e3f96['subscribe'](_0x4c9243=>{this['rosController']['recordSubMessage'](_0x2189cc),this['_applyTFTransforms'](_0x5a4f44,_0x4c885b,_0x4c9243['transforms']);}),this['tfSubscriptions']['set'](_0x5a4f44,_0x2e3f96),_0x2e3f96;}catch(_0x2a11f6){return null;}}['_applyTFTransforms'](_0x312bdc,_0x34fa27,_0x3e816b){if(!_0x34fa27||!_0x34fa27['links']||!_0x3e816b||0x0===_0x3e816b['length'])return;_0x34fa27['threeObject']&&_0x34fa27['threeObject']['updateMatrixWorld']();const _0x48e54f=new Map();for(let _0x401623=0x0;_0x401623<_0x3e816b['length'];_0x401623++){const _0x44d5b1=_0x3e816b[_0x401623],_0x5a8aa8=_0x44d5b1['child_frame_id'];_0x5a8aa8&&_0x34fa27['links']['has'](_0x5a8aa8)&&_0x48e54f['set'](_0x5a8aa8,_0x44d5b1['transform']);}if(0x0!==_0x48e54f['size']){if(!_0x34fa27['_tfOriginOffset']){let _0x90ac4e=null;const _0x22559b='link_RightSkeletonBase',_0x4ba343='link_LeftSkeletonBase';if(_0x48e54f['has'](_0x22559b)){const _0x3ba0bb=_0x48e54f['get'](_0x22559b);if(_0x90ac4e=new _0x47b065(_0x3ba0bb['translation']['x'],_0x3ba0bb['translation']['y'],_0x3ba0bb['translation']['z']),_0x48e54f['has'](_0x4ba343)){const _0xa26f3f=_0x48e54f['get'](_0x4ba343);new _0x47b065(_0xa26f3f['translation']['x'],_0xa26f3f['translation']['y'],_0xa26f3f['translation']['z'])['distanceTo'](_0x90ac4e);}}else{let _0x74952c=0x0,_0x66f1b4=0x0,_0x511d40=0x0,_0x326330=0x0;_0x48e54f['forEach'](_0x5a027a=>{_0x74952c+=_0x5a027a['translation']['x'],_0x66f1b4+=_0x5a027a['translation']['y'],_0x511d40+=_0x5a027a['translation']['z'],_0x326330++;}),_0x90ac4e=new _0x47b065(_0x74952c/_0x326330,_0x66f1b4/_0x326330,_0x511d40/_0x326330);}if(_0x34fa27['_tfOriginOffset']=_0x90ac4e,_0x48e54f['has'](_0x22559b)&&_0x48e54f['has'](_0x4ba343)){const _0x2a4db1=_0x48e54f['get'](_0x22559b),_0x1974a5=_0x48e54f['get'](_0x4ba343);_0x34fa27['_tfRightHandRef']=new _0x47b065(_0x2a4db1['translation']['x'],_0x2a4db1['translation']['y'],_0x2a4db1['translation']['z']),_0x34fa27['_tfLeftHandRef']=new _0x47b065(_0x1974a5['translation']['x'],_0x1974a5['translation']['y'],_0x1974a5['translation']['z']),_0x34fa27['_tfRightRotOffset']=new _0x57eb35()['setFromAxisAngle'](new _0x47b065(0x0,0x0,0x1),this['wristRotationOffset']),_0x34fa27['_tfLeftRotOffset']=new _0x57eb35()['setFromAxisAngle'](new _0x47b065(0x0,0x0,0x1),-this['wristRotationOffset']);}}_0x34fa27['_tfRepositionedLinks']||(_0x34fa27['_tfRepositionedLinks']=new Set()),_0x34fa27['links']['forEach']((_0x3089a8,_0x3ea4cf)=>{const _0x4a1eec=_0x48e54f['get'](_0x3ea4cf);if(!_0x4a1eec||!_0x3089a8['threeObject'])return;const _0x4c77aa=_0x4a1eec['translation'],_0x5b86be=_0x4a1eec['rotation'],_0x3bc9b1=_0x3ea4cf['toLowerCase']()['includes']('left');let _0x292eca=_0x4c77aa['x'],_0x1ffa46=_0x4c77aa['y'],_0x56a35b=_0x4c77aa['z'],_0x3ccf12=new _0x57eb35(_0x5b86be['x'],_0x5b86be['y'],_0x5b86be['z'],_0x5b86be['w']);if(0x0!==this['wristRotationOffset']&&_0x34fa27['_tfRightHandRef']&&_0x34fa27['_tfLeftHandRef']){const _0x5233ac=_0x3bc9b1?_0x34fa27['_tfLeftHandRef']:_0x34fa27['_tfRightHandRef'],_0x245871=_0x3bc9b1?_0x34fa27['_tfLeftRotOffset']:_0x34fa27['_tfRightRotOffset'],_0x270f82=new _0x47b065(_0x292eca-_0x5233ac['x'],_0x1ffa46-_0x5233ac['y'],_0x56a35b-_0x5233ac['z']);_0x270f82['applyQuaternion'](_0x245871),_0x292eca=_0x5233ac['x']+_0x270f82['x'],_0x1ffa46=_0x5233ac['y']+_0x270f82['y'],_0x56a35b=_0x5233ac['z']+_0x270f82['z'],_0x3ccf12=_0x245871['clone']()['multiply'](_0x3ccf12);}if(_0x292eca-=_0x34fa27['_tfOriginOffset']['x'],_0x1ffa46-=_0x34fa27['_tfOriginOffset']['y'],_0x56a35b-=_0x34fa27['_tfOriginOffset']['z'],0x1!==this['handSeparationScale']&&_0x34fa27['_tfRightHandRef']&&_0x34fa27['_tfLeftHandRef']){if(!_0x34fa27['_tfLeftHandOffset']){const _0x206b47=new _0x47b065()['subVectors'](_0x34fa27['_tfLeftHandRef'],_0x34fa27['_tfRightHandRef']);_0x206b47['multiplyScalar'](this['handSeparationScale']);const _0x36c633=new _0x47b065()['subVectors'](_0x34fa27['_tfLeftHandRef'],_0x34fa27['_tfRightHandRef']);_0x34fa27['_tfLeftHandOffset']=new _0x47b065()['subVectors'](_0x206b47,_0x36c633);}_0x3bc9b1&&(_0x292eca+=_0x34fa27['_tfLeftHandOffset']['x'],_0x1ffa46+=_0x34fa27['_tfLeftHandOffset']['y'],_0x56a35b+=_0x34fa27['_tfLeftHandOffset']['z']);}this['_tmpPos']['set'](_0x292eca,_0x1ffa46,_0x56a35b),this['_tmpQuat']['copy'](_0x3ccf12);const _0x42c621=_0x3089a8['threeObject']['parent'];_0x42c621&&_0x42c621!==_0x34fa27['threeObject']&&(_0x3089a8['threeObject']['userData']['_originalParent']||(_0x3089a8['threeObject']['userData']['_originalParent']=_0x42c621),_0x42c621['remove'](_0x3089a8['threeObject']),_0x34fa27['threeObject']['add'](_0x3089a8['threeObject']),_0x34fa27['_tfRepositionedLinks']['add'](_0x3ea4cf)),_0x3089a8['threeObject']['position']['copy'](this['_tmpPos']),_0x3089a8['threeObject']['quaternion']['copy'](this['_tmpQuat']),_0x3089a8['threeObject']['scale']['set'](0x1,0x1,0x1),_0x3089a8['threeObject']['updateMatrixWorld']();}),_0x34fa27['threeObject']&&_0x34fa27['threeObject']['updateMatrixWorld'](!0x0),this['sceneManager']['redraw']();}}['unsubscribe'](_0x334e21){const _0x10b17d=this['tfSubscriptions']['get'](_0x334e21);if(_0x10b17d){try{_0x10b17d['unsubscribe']();}catch(_0xdcf1d3){}this['tfSubscriptions']['delete'](_0x334e21);}}['unsubscribeAll'](){this['tfSubscriptions']['forEach']((_0x543c9a,_0x21d74f)=>{this['unsubscribe'](_0x21d74f);});}['isSubscribed'](_0x536f94){return this['tfSubscriptions']['has'](_0x536f94);}}class xa{constructor(_0x5991a3){this['sceneManager']=_0x5991a3,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,_0x5991a3),this['onJointData']=null,this['_resetService']=null,this['_model']=null,this['_jointCmdListeners']=[],this['_jointCmdTopics']=[],this['_jointStateTopic']='/io_teleop/joint_states';}['connect'](_0x57f4a4){this['ros']&&this['disconnect'](),this['ros']=new ba['Ros']({'url':_0x57f4a4}),this['ros']['on']('connection',()=>{this['connected']=!0x0,this['_queryDomainId'](),this['_advertiseResetService'](),this['_notifyConnectionChange'](!0x0);}),this['ros']['on']('error',_0x5267b9=>{this['connected']=!0x1,this['_notifyConnectionChange'](!0x1);}),this['ros']['on']('close',()=>{this['connected']=!0x1,this['_notifyConnectionChange'](!0x1);});}['subscribeJointCmdForPlot'](_0x3f596a){return this['subscribeJointCmd'](null,_0x3f596a);}['subscribeJointCmd'](_0x28f1d5,_0x4a192e='/io_teleop/joint_cmd'){if(!this['ros']||!this['connected'])return;const _0x18922b=new ba['Topic']({'ros':this['ros'],'name':_0x4a192e,'messageType':'sensor_msgs/msg/JointState'});_0x18922b['subscribe'](_0x249803=>{this['subMessageCount']++,this['subLastMessageTime']=Date['now']();let _0x16d1c9=this['subStats']['get'](_0x4a192e);_0x16d1c9||(_0x16d1c9={'count':0x0,'lastTime':0x0},this['subStats']['set'](_0x4a192e,_0x16d1c9)),_0x16d1c9['count']++,_0x16d1c9['lastTime']=Date['now']();const _0x461385=Date['now']();_0x249803['name']['forEach']((_0x8eb76a,_0x54935e)=>{const _0x43ee43=_0x249803['position'][_0x54935e];if(this['onJointData']&&this['onJointData'](_0x4a192e,_0x8eb76a,_0x461385,_0x43ee43),!_0x28f1d5)return;const _0x59a7d4=_0x28f1d5['getJoint'](_0x8eb76a);_0x59a7d4&&(Ei['setJointAngle'](_0x28f1d5,_0x8eb76a,_0x43ee43,!0x0),_0x59a7d4['threeObject']&&_0x59a7d4['threeObject']['updateMatrixWorld'](!0x0));}),_0x28f1d5&&(_0x28f1d5['threeObject']&&_0x28f1d5['threeObject']['updateMatrixWorld'](!0x0),this['_pendingRender']||(this['_pendingRender']=!0x0,requestAnimationFrame(()=>{this['sceneManager']['redraw'](),this['sceneManager']['render'](),this['_pendingRender']=!0x1;})));}),this['listeners']['push'](_0x18922b),_0x28f1d5&&this['_jointCmdListeners']['push'](_0x18922b);}['unsubscribeTopic'](_0x1ac4f5){_0x1ac4f5&&(this['listeners']=this['listeners']['filter'](_0x3c99e3=>{if(_0x3c99e3['name']!==_0x1ac4f5)return!0x0;_0x3c99e3['unsubscribe']();const _0x27cc2b=this['_jointCmdListeners']['indexOf'](_0x3c99e3);return-0x1!==_0x27cc2b&&this['_jointCmdListeners']['splice'](_0x27cc2b,0x1),!0x1;}));}['publishJointStates'](_0x35b3e8,_0x36f260='/io_teleop/joint_states'){if(!this['ros']||!this['connected'])return;this['_jointStateTopic']=_0x36f260,this['publisher']&&this['publisher']['name']===_0x36f260||(this['publisher']&&this['publisher']['unadvertise'](),this['publisher']=new ba['Topic']({'ros':this['ros'],'name':_0x36f260,'messageType':'sensor_msgs/msg/JointState'}),this['_advertiseTopic'](this['publisher']));const _0x14f11b=Array['from'](_0x35b3e8['joints']['values']())['filter'](_0x9bcb79=>'number'==typeof _0x9bcb79['currentValue']),_0x323b8c=new ba['Message']({'header':{'stamp':{'sec':0x0,'nanosec':0x0},'frame_id':''},'name':_0x14f11b['map'](_0x4744ab=>_0x4744ab['name']),'position':_0x14f11b['map'](_0x38ca2d=>_0x38ca2d['currentValue']),'velocity':[],'effort':[]});this['pubMessageCount']++,this['pubLastMessageTime']=Date['now'](),this['publisher']['publish'](_0x323b8c);}['_advertiseTopic'](_0x4ca8b4,_0x40c748='reliable'){const _0x2f0536='advertise:'+_0x4ca8b4['name']+':'+ ++this['ros']['idCounter'];_0x4ca8b4['advertiseId']=_0x2f0536,_0x4ca8b4['isAdvertised']=!0x0,this['ros']['callOnConnection']({'op':'advertise','id':_0x2f0536,'type':_0x4ca8b4['messageType'],'topic':_0x4ca8b4['name'],'latch':!0x1,'queue_size':_0x4ca8b4['queue_size'],'qos':{'history':'keep_last','depth':0xa,'reliability':_0x40c748,'durability':'volatile'}});}['getRos'](){return this['ros'];}['isConnected'](){return!!this['connected'];}['createAdvertisedTopic'](_0x27b940,_0x38de98){if(!this['ros']||!_0x27b940||!_0x38de98)return null;const _0x257aaf=this['_extraTopics']['get'](_0x27b940);if(_0x257aaf){if(_0x257aaf['messageType']===_0x38de98)return _0x257aaf;this['releaseTopic'](_0x27b940);}const _0x9615c6=new ba['Topic']({'ros':this['ros'],'name':_0x27b940,'messageType':_0x38de98});return this['_advertiseTopic'](_0x9615c6),this['_extraTopics']['set'](_0x27b940,_0x9615c6),_0x9615c6;}['releaseTopic'](_0x53af76){const _0x194300=this['_extraTopics']['get'](_0x53af76);if(_0x194300){try{_0x194300['unadvertise']();}catch(_0x216dea){}this['_extraTopics']['delete'](_0x53af76);}}['addConnectionListener'](_0x2c2736){return'function'!=typeof _0x2c2736?()=>{}:(this['_connectionListeners']['add'](_0x2c2736),()=>{this['_connectionListeners']['delete'](_0x2c2736);});}['_notifyConnectionChange'](_0x1d8aa4){this['onConnectionChange']&&this['onConnectionChange'](_0x1d8aa4);for(const _0x58b771 of this['_connectionListeners'])try{_0x58b771(_0x1d8aa4);}catch(_0x1ff0b3){}}['_queryDomainId'](){const _0x4b403c=new ba['Topic']({'ros':this['ros'],'name':'/robot_viewer/domain_id','messageType':'std_msgs/msg/Int32','throttle_rate':0x7d0});_0x4b403c['subscribe'](_0x152fd3=>{this['domainId']=_0x152fd3['data'],this['onDomainIdChange']&&this['onDomainIdChange'](this['domainId']),_0x4b403c['unsubscribe']();}),setTimeout(()=>{void 0x0===this['domainId']&&(_0x4b403c['unsubscribe'](),this['domainId']=null,this['onDomainIdChange']&&this['onDomainIdChange'](null));},0x1388);}['setModel'](_0x29d8f6){this['_model']=_0x29d8f6;}['_advertiseResetService'](){this['ros']&&(this['_resetService']=new ba['Service']({'ros':this['ros'],'name':'/io_teleop_reset_robot','serviceType':'std_srvs/Trigger'}),this['_resetService']['advertise']((_0x1cc842,_0x5e0ee9)=>{var _0x5ccbbb;if(this['_pauseJointCmd'](),this['_model']&&this['_model']['joints']){const _0x1477c3=(null==(_0x5ccbbb=this['_model']['userData'])?void 0x0:_0x5ccbbb['homePositions'])||{};this['_model']['joints']['forEach']((_0x32d564,_0x28b49f)=>{if('fixed'!==_0x32d564['type']){const _0x424216=_0x1477c3[_0x28b49f]??0x0;Ei['setJointAngle'](this['_model'],_0x28b49f,_0x424216,!0x0),_0x32d564['currentValue']=_0x424216;}}),this['_model']['threeObject']&&this['_model']['threeObject']['updateMatrixWorld'](!0x0),this['sceneManager']['redraw'](),this['sceneManager']['render']();}const _0x166c15=this['_jointStateTopic']||'/io_teleop/joint_states';return this['_model']&&this['publishJointStates'](this['_model'],_0x166c15),setTimeout(()=>{this['_resumeJointCmd']();},0x64),_0x5e0ee9['success']=!0x0,_0x5e0ee9['message']='ok',!0x0;}));}['_pauseJointCmd'](){this['_jointCmdTopics']=[],this['_jointCmdListeners']['forEach'](_0x2c4f11=>{this['_jointCmdTopics']['push'](_0x2c4f11['name']),_0x2c4f11['unsubscribe']();const _0x2217af=this['listeners']['indexOf'](_0x2c4f11);-0x1!==_0x2217af&&this['listeners']['splice'](_0x2217af,0x1);}),this['_jointCmdListeners']=[];}['_resumeJointCmd'](){this['_model']&&(this['_jointCmdTopics']['forEach'](_0x4f31fb=>{this['subscribeJointCmd'](this['_model'],_0x4f31fb);}),this['_jointCmdTopics']=[]);}['disconnect'](){try{if(this['listeners']['forEach'](_0x5909fe=>{try{_0x5909fe['unsubscribe']();}catch(_0x122ba8){}}),this['listeners']=[],this['_jointCmdListeners']=[],this['_jointCmdTopics']=[],this['publisher']){try{this['publisher']['unadvertise']();}catch(_0x101e5a){}this['publisher']=null;}if(this['_resetService']){try{this['_resetService']['unadvertise']();}catch(_0x3ca5ae){}this['_resetService']=null;}this['_extraTopics']['forEach']((_0x302cb3,_0x5c164d)=>{try{_0x302cb3['unadvertise']();}catch(_0xfdc21b){}}),this['_extraTopics']['clear']();try{this['tfController']['unsubscribeAll']();}catch(_0x3f53a9){}if(this['ros']){try{this['ros']['close']();}catch(_0xef6f20){}this['ros']=null;}}finally{this['connected']=!0x1,this['domainId']=void 0x0,this['_notifyConnectionChange'](!0x1);}}['subscribeTF'](_0x3eb09f,_0x14426d,_0x1d96d4,_0x9a96e6=null){return this['tfController']['subscribeTF'](_0x3eb09f,_0x14426d,_0x1d96d4,_0x9a96e6);}['unsubscribeTF'](_0x5ef76e){this['tfController']['unsubscribe'](_0x5ef76e);}['getTopics'](_0xd45263,_0x5ea139){this['ros']&&this['connected']&&this['ros']['getTopics'](_0xd45263,_0x5ea139);}['recordSubMessage'](_0x2bd262){const _0x2b1b10=Date['now']();this['subMessageCount']++,this['subLastMessageTime']=_0x2b1b10;let _0x45a827=this['subStats']['get'](_0x2bd262);_0x45a827||(_0x45a827={'count':0x0,'lastTime':0x0},this['subStats']['set'](_0x2bd262,_0x45a827)),_0x45a827['count']++,_0x45a827['lastTime']=_0x2b1b10;}['getMessageRate'](_0x21d8a4){if(_0x21d8a4){const _0x40a2ce=this['subStats']['get'](_0x21d8a4);return _0x40a2ce?Date['now']()-_0x40a2ce['lastTime']>0x7d0?0x0:_0x40a2ce['count']:0x0;}return Date['now']()-this['subLastMessageTime']>0x7d0?0x0:this['subMessageCount'];}['resetMessageCount'](){this['subMessageCount']=0x0,this['subStats']['forEach'](_0x1553ee=>{_0x1553ee['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(_0x22472b,_0x4092e5){this['rosController']=_0x22472b,this['app']=_0x4092e5,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'](_0x7e12a4=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22ros-topic-row\x22\x20data-topic-key=\x22'+_0x7e12a4['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'+_0x7e12a4['default']+'\x22\x20placeholder=\x22'+_0x7e12a4['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 _0x5a8302=document['createElement']('div');_0x5a8302['id']='floating-ros-panel',_0x5a8302['className']='floating-panel',_0x5a8302['style']['cssText']='top:\x2080px;\x20right:\x20400px;\x20width:\x20360px;\x20z-index:\x2051;\x20display:\x20none;',_0x5a8302['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']=_0x5a8302,this['attachEventListeners'](),this['startMessageRateMonitor']();const _0x486154=new URLSearchParams(window['location']['search']),_0x525832=_0x486154['has']('mocap'),_0x18d405=_0x486154['get']('mocap');if(_0x525832&&_0x18d405){const _0x414f25=Ma[_0x18d405];if(_0x414f25){_0x5a8302['querySelectorAll']('#ros-topic-list\x20.ros-topic-row')['forEach']((_0x28db92,_0x39be3e)=>{if(0x0===_0x39be3e){const _0x10bf07=_0x28db92['querySelector']('.ros-topic-input');_0x10bf07['value']=_0x414f25['rosTopic'],_0x10bf07['title']='TF\x20Topic';_0x28db92['querySelector']('.ros-topic-checkbox')['style']['display']='none';}else _0x28db92['style']['display']='none';});_0x5a8302['querySelectorAll']('.ros-form-group')['forEach'](_0x136bee=>{_0x136bee['querySelector']('#ros-bidirectional')&&(_0x136bee['style']['display']='none');});const _0x1e59f0=_0x5a8302['querySelector']('#ros-publish-config');_0x1e59f0&&(_0x1e59f0['style']['display']='none');}}return _0x5a8302;}['_t'](_0x4b90e3,_0x4e220e=_0x4b90e3){var _0x23541b,_0x246382;const _0x1bdde7=null==(_0x246382=null==(_0x23541b=window['i18n'])?void 0x0:_0x23541b['t'])?void 0x0:_0x246382['call'](_0x23541b,_0x4b90e3);return _0x1bdde7&&_0x1bdde7!==_0x4b90e3?_0x1bdde7:_0x4e220e;}['refreshLanguage'](){var _0x581013,_0x580f59,_0x4d8ba8;if(!this['panel'])return;null==(_0x580f59=null==(_0x581013=window['i18n'])?void 0x0:_0x581013['updatePageLanguage'])||_0x580f59['call'](_0x581013);const _0x5a62fc=!!(null==(_0x4d8ba8=this['rosController'])?void 0x0:_0x4d8ba8['connected']),_0x1cd857=this['panel']['querySelector']('#ros-status');if(_0x1cd857&&(_0x1cd857['textContent']=this['_t'](_0x5a62fc?'statusConnected':'statusDisconnected'),_0x1cd857['style']['color']=_0x5a62fc?'#4caf50':'#f44336'),_0x5a62fc&&this['_domainIdResolved']){const _0x1eb4bd=this['panel']['querySelector']('#ros-domain-id');_0x1eb4bd&&(null!==this['_domainId']?(_0x1eb4bd['textContent']=this['_domainId'],_0x1eb4bd['style']['background']='#1e8e3e'):(_0x1eb4bd['textContent']=this['_t']('unknown'),_0x1eb4bd['style']['background']='#e65100'));}}['attachEventListeners'](){const _0x54fcee=this['panel']['querySelector']('#ros-connect-btn'),_0x2ca453=this['panel']['querySelector']('#ros-disconnect-btn'),_0x2712c0=this['panel']['querySelector']('#ros-monitor-btn'),_0x4b55f4=this['panel']['querySelector']('#ros-bidirectional'),_0xb0cad=this['panel']['querySelector']('#ros-pub-rate');this['panel']['querySelector']('#ros-download-script')['addEventListener']('click',_0x371186=>{_0x371186['preventDefault']();const _0x540a3b=document['createElement']('a');_0x540a3b['href']='/scripts/start-rosbridge.sh',_0x540a3b['download']='start-rosbridge.sh',document['body']['appendChild'](_0x540a3b),_0x540a3b['click'](),document['body']['removeChild'](_0x540a3b);}),_0x2712c0['addEventListener']('click',()=>{const _0x673b37=''+window['location']['origin']+window['location']['pathname']+'?plot=1';window['open'](_0x673b37,'_blank');}),this['bidirectionalEnabled']=!0x0,_0xb0cad['addEventListener']('input',_0x50d925=>{this['publishRate']=parseInt(_0x50d925['target']['value'])||0x14,this['_heartbeatWorker']&&(this['stopPublishing'](),this['startPublishing']());}),_0x54fcee['addEventListener']('click',()=>{const _0x2893bd=this['panel']['querySelector']('#ros-url')['value'];_0x2893bd?(this['rosController']['connect'](_0x2893bd),localStorage['setItem']('ros_url',_0x2893bd),localStorage['setItem']('ros_connected','true'),_0x54fcee['disabled']=!0x0):alert(this['_t']('enterServerUrl'));}),_0x2ca453['addEventListener']('click',()=>{this['rosController']['disconnect']();}),_0x4b55f4['addEventListener']('change',_0x39d0eb=>{this['bidirectionalEnabled']=_0x39d0eb['target']['checked'],_0x39d0eb['target']['checked']&&this['rosController']['connected']&&this['app']['currentModel']?this['startPublishing']():this['stopPublishing']();}),this['panel']['querySelectorAll']('#ros-topic-list\x20.ros-topic-row')['forEach'](_0x4b8aa5=>{const _0x93166c=_0x4b8aa5['querySelector']('.ros-topic-checkbox'),_0x4b5d1a=_0x4b8aa5['querySelector']('.ros-topic-input');_0x93166c['addEventListener']('change',()=>{this['rosController']['connected']&&this['app']['currentModel']&&(_0x93166c['checked']?_0x4b5d1a['value']&&this['rosController']['subscribeJointCmd'](this['app']['currentModel'],_0x4b5d1a['value']):this['rosController']['unsubscribeTopic'](_0x4b5d1a['value']));});}),this['rosController']['onDomainIdChange']=_0x317af1=>{const _0x4752f1=this['panel']['querySelector']('#ros-domain-id');_0x4752f1&&(this['_domainIdResolved']=!0x0,this['_domainId']=_0x317af1,null!==_0x317af1?(_0x4752f1['textContent']=_0x317af1,_0x4752f1['style']['background']='#1e8e3e'):(_0x4752f1['textContent']=this['_t']('unknown'),_0x4752f1['style']['background']='#e65100'));},this['rosController']['onConnectionChange']=_0x506c91=>{var _0x27517f;const _0x22d0d9=this['panel']['querySelector']('#ros-status');if(_0x22d0d9['textContent']=this['_t'](_0x506c91?'statusConnected':'statusDisconnected'),_0x22d0d9['style']['color']=_0x506c91?'#4caf50':'#f44336',_0x54fcee['disabled']=_0x506c91,_0x2ca453['disabled']=!_0x506c91,!_0x506c91){const _0x1a2bf4=this['panel']['querySelector']('#ros-domain-id');_0x1a2bf4&&(_0x1a2bf4['textContent']='—',_0x1a2bf4['style']['background']='#1e8e3e'),this['_domainId']=null,this['_domainIdResolved']=!0x1,this['stopPublishing'](),localStorage['setItem']('ros_connected','false');}const _0x3fdcf1=new URLSearchParams(window['location']['search']),_0x42f9d9=_0x3fdcf1['has']('mocap'),_0x4cf805=_0x3fdcf1['get']('mocap');if(_0x506c91)if(_0x42f9d9&&_0x4cf805&&this['app']['sceneManager']['currentModel']){const _0x2c3150=Ma[_0x4cf805];if(_0x2c3150&&'tf'===_0x2c3150['topicType']){const _0xa9d05b=null==(_0x27517f=this['panel']['querySelectorAll']('#ros-topic-list\x20.ros-topic-row')[0x0])?void 0x0:_0x27517f['querySelector']('.ros-topic-input'),_0x499320=(null==_0xa9d05b?void 0x0:_0xa9d05b['value'])||_0x2c3150['rosTopic'];this['rosController']['tfController']['subscribeTF'](_0x2c3150['id'],this['app']['sceneManager']['currentModel'],_0x499320);}}else this['app']['currentModel']&&(this['_subscribeCheckedTopics'](this['app']['currentModel']),this['bidirectionalEnabled']&&this['startPublishing']());};}['_subscribeCheckedTopics'](_0x5e698e){this['panel']['querySelectorAll']('#ros-topic-list\x20.ros-topic-row')['forEach'](_0x363ab1=>{const _0x38c776=_0x363ab1['querySelector']('.ros-topic-checkbox'),_0xd28f7d=_0x363ab1['querySelector']('.ros-topic-input');_0x38c776['checked']&&_0xd28f7d['value']&&this['rosController']['subscribeJointCmd'](_0x5e698e,_0xd28f7d['value']);});}['startPublishing'](){this['_heartbeatWorker']||(this['_heartbeatWorker']=new Worker('./heartbeat-worker.js'),this['_heartbeatWorker']['onmessage']=()=>{if(this['rosController']['connected']&&this['app']['currentModel']){const _0xd6cd1e=this['panel']['querySelector']('#ros-pub-topic')['value'];this['rosController']['publishJointStates'](this['app']['currentModel'],_0xd6cd1e);}},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'](_0x4758a0=>{const _0x168f15=_0x4758a0['querySelector']('.ros-topic-input'),_0x570ce6=_0x4758a0['querySelector']('.ros-topic-rate');if(_0x168f15&&_0x570ce6){const _0x948383=this['rosController']['getMessageRate'](_0x168f15['value']);_0x570ce6['textContent']=_0x948383+'\x20Hz';}});const _0x29b020=this['rosController']['getPubMessageRate'](),_0x44acb4=this['panel']['querySelector']('#ros-pub-rate-actual');_0x44acb4&&(_0x44acb4['textContent']=_0x29b020+'\x20Hz'),this['rosController']['resetMessageCount'](),this['rosController']['resetPubMessageCount']();},0x3e8);}['onModelLoaded'](_0x4f1142){this['rosController']['connected']&&(this['_subscribeCheckedTopics'](_0x4f1142),this['bidirectionalEnabled']&&this['startPublishing']());}['onJointChanged'](_0x523f93){}['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 _0x5dccbb=document['getElementById']('toggle-ros-panel');_0x5dccbb&&_0x5dccbb['classList']['add']('active');}['getServerUrl'](){var _0x1669ad,_0x24c620,_0x3bd45e;return(null==(_0x3bd45e=null==(_0x24c620=null==(_0x1669ad=this['panel'])?void 0x0:_0x1669ad['querySelector']('#ros-url'))?void 0x0:_0x24c620['value'])?void 0x0:_0x3bd45e['trim']())||'';}['setServerUrl'](_0x2db13f){var _0x1d0d52;const _0x139f23=null==(_0x1d0d52=this['panel'])?void 0x0:_0x1d0d52['querySelector']('#ros-url');_0x139f23&&_0x2db13f&&(_0x139f23['value']=_0x2db13f);}['autoConnect'](_0x57ecc5){if(!this['panel']||this['rosController']['connected'])return;const _0x243fd0=this['panel']['querySelector']('#ros-url');_0x243fd0&&_0x57ecc5&&(_0x243fd0['value']=_0x57ecc5);const _0x1267c7=this['panel']['querySelector']('#ros-connect-btn');_0x1267c7&&!_0x1267c7['disabled']&&_0x1267c7['click']();}}const Aa='__world__',La=['+X','-X','+Y','-Y','+Z','-Z'],Ea=_0x14b246=>{const _0xefba58='XYZ'['indexOf'](String(_0x14b246||'')['toUpperCase']()['replace'](/[^XYZ]/g,'')[0x0]);return _0xefba58<0x0?0x0:_0xefba58;};function Ca(_0x4b83a9,_0xe75800){return _0xe75800['set'](0x0,0x0,0x0),_0xe75800['setComponent'](Ea(_0x4b83a9),(_0x4ca4ed=>'-'===(_0x4ca4ed||'')['trim']()[0x0]?-0x1:0x1)(_0x4b83a9)),_0xe75800;}function ja(_0x334eb3,_0x458245){return Ea(_0x334eb3)!==Ea(_0x458245);}function ka(_0x48c7a2){return La['filter'](_0x49b0c2=>ja(_0x48c7a2,_0x49b0c2));}const Ta={'x':0x0,'y':0x1,'z':0x2},Oa={'roll':0x0,'pitch':0x1,'yaw':0x2},Fa=[new _0x47b065(0x1,0x0,0x0),new _0x47b065(0x0,0x1,0x0),new _0x47b065(0x0,0x0,0x1)],Da=Math['PI'],Pa=_0x53c106=>{const _0x1617a1=Number(_0x53c106)||0x0;return _0x1617a1>=-Da&&_0x1617a1<=Da?_0x1617a1:_0x1617a1-0x2*Da*Math['round'](_0x1617a1/(0x2*Da));};class Ia{constructor(_0x33ac7f,_0x5d6050={}){this['sceneManager']=_0x33ac7f,this['width']=_0x5d6050['width']??0x280,this['height']=_0x5d6050['height']??0x1e0,this['fov']=_0x5d6050['fov']??0x3c,this['near']=_0x5d6050['near']??0.001,this['far']=_0x5d6050['far']??0xc8,this['mountFrame']=_0x5d6050['mountFrame']??Aa,this['mountXyz']=[0x0,0x0,0x0],this['_mountOffset']=new _0x47b065(),this['mountRpy']=[0x0,0x0,0x0],this['forwardAxis']=_0x5d6050['forwardAxis']??'+X',this['upAxis']=_0x5d6050['upAxis']??'+Z',this['camera']=new _0x2cf489(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 _0x57eb35(),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 _0x57ef6e(),this['_offsetMatrix']=new _0x57ef6e(),this['_presetMatrix']=new _0x57ef6e(),this['_fwdVec']=new _0x47b065(),this['_upVec']=new _0x47b065(),this['_rightVec']=new _0x47b065(),this['_backVec']=new _0x47b065(),this['_poseMatrix']=new _0x57ef6e(),this['_poseQuat']=new _0x57eb35(),this['_axisVec']=new _0x47b065(),this['_axisQuat']=new _0x57eb35(),this['_euler']=new _0x940d5(),this['_tmpPos']=new _0x47b065(),this['_tmpQuat']=new _0x57eb35(),this['_tmpScale']=new _0x47b065(),this['_encodeMaterial']=new _0x57f83d({'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 _0x7bef62(0x2,0x2),this['_quad']=new _0x514bc2(this['_quadGeometry'],this['_encodeMaterial']),this['_quad']['frustumCulled']=!0x1,this['_quadScene']=new _0x14ca45(),this['_quadScene']['add'](this['_quad']),this['_quadCamera']=new _0x2a8bb6(-0x1,0x1,0x1,-0x1,0x0,0x1);}['setResolution'](_0x584955,_0x58fe46){const _0x8f707a=Math['round'](Math['min'](0x1000,Math['max'](0x10,Number(_0x584955)||0x0))),_0x5a777b=Math['round'](Math['min'](0x1000,Math['max'](0x10,Number(_0x58fe46)||0x0)));_0x8f707a===this['width']&&_0x5a777b===this['height']||(this['width']=_0x8f707a,this['height']=_0x5a777b,this['_firstFrameChecked']=!0x1);}['setFov'](_0x3f8e53){const _0x4edeae=Number(_0x3f8e53);Number['isFinite'](_0x4edeae)&&(this['fov']=Math['min'](0x78,Math['max'](0x1,_0x4edeae)));}['setMount'](_0x584475={}){void 0x0!==_0x584475['frame']&&_0x584475['frame']!==this['mountFrame']&&(this['mountFrame']=_0x584475['frame']||Aa,this['_warnedFrame']=null),Array['isArray'](_0x584475['xyz'])&&(this['mountXyz']=_0x584475['xyz']['map'](_0x4cc816=>Number(_0x4cc816)||0x0),this['_mountOffset']['set'](this['mountXyz'][0x0],this['mountXyz'][0x1],this['mountXyz'][0x2])),Array['isArray'](_0x584475['rpy'])&&(this['mountRpy']=_0x584475['rpy']['map'](Pa),this['_mountQuat']['copy'](this['_poseQuaternion'](this['_poseQuat']))),void 0x0!==_0x584475['forward']&&La['includes'](_0x584475['forward'])&&(this['forwardAxis']=_0x584475['forward'],ja(this['forwardAxis'],this['upAxis'])||(this['upAxis']=ka(this['forwardAxis'])[0x0])),void 0x0!==_0x584475['up']&&La['includes'](_0x584475['up'])&&ja(this['forwardAxis'],_0x584475['up'])&&(this['upAxis']=_0x584475['up']),this['refreshMountAxes']();}['setMountRpyField'](_0x1ffcf2,_0x492199){const _0x13c187=Oa[_0x1ffcf2];if(void 0x0===_0x13c187)return!0x1;const _0x4f13ec=Pa(_0x492199),_0xa96aaa=((_0x16a586,_0xf2de3f)=>{let _0x3e59ef=_0xf2de3f-_0x16a586;return _0x3e59ef>Da?_0x3e59ef-=0x2*Da:_0x3e59ef<-Da&&(_0x3e59ef+=0x2*Da),_0x3e59ef;})(this['mountRpy'][_0x13c187],_0x4f13ec);if(this['mountRpy'][_0x13c187]=_0x4f13ec,0x0!==_0xa96aaa){const _0x3eb03e=this['_axisVec']['copy'](Fa[_0x13c187])['applyQuaternion'](this['_mountQuat']);this['_mountQuat']['premultiply'](this['_axisQuat']['setFromAxisAngle'](_0x3eb03e,_0xa96aaa));}return this['refreshMountAxes'](),!0x0;}['setMountXyzField'](_0xba3686,_0x2969ed){const _0x169cb7=Ta[_0xba3686];if(void 0x0===_0x169cb7)return!0x1;const _0x3f17da=Number(_0x2969ed)||0x0,_0x489fd1=_0x3f17da-this['mountXyz'][_0x169cb7];if(this['mountXyz'][_0x169cb7]=_0x3f17da,0x0!==_0x489fd1){const _0x5dd32e=this['_axisVec']['set'](0x0,0x0,0x0)['setComponent'](_0x169cb7,0x1)['applyQuaternion'](this['_mountQuat']);this['_mountOffset']['addScaledVector'](_0x5dd32e,_0x489fd1);}return this['refreshMountAxes'](),!0x0;}['setMountAxesVisible'](_0x52f203){var _0x3dccce;const _0x3e3d08=!!_0x52f203;_0x3e3d08===this['_mountAxesVisible']&&((null==(_0x3dccce=this['_mountAxes'])?void 0x0:_0x3dccce['visible'])??!0x1)===_0x3e3d08||(this['_mountAxesVisible']=_0x3e3d08,this['refreshMountAxes']());}['refreshMountAxes'](){var _0xa9ce,_0x5899f0;this['_applyMountAxes']()&&(null==(_0x5899f0=null==(_0xa9ce=this['sceneManager'])?void 0x0:_0xa9ce['redraw'])||_0x5899f0['call'](_0xa9ce));}['isMountAxesVisible'](){return this['_mountAxesVisible'];}['_applyMountAxes'](){const _0x26e36a=this['_mountAxesVisible']?this['_resolveParentObject']():null;if(!_0x26e36a)return!(!this['_mountAxes']||!this['_mountAxes']['visible'])&&(this['_mountAxes']['visible']=!0x1,!0x0);const _0x52660e=!this['_mountAxes']||this['_mountAxes']['parent']!==_0x26e36a;_0x52660e&&(this['_disposeMountAxes'](),this['_mountAxesSize']=this['_estimateAxesSize'](),this['_mountAxes']=Oi['createAxesGeometry'](this['_mountAxesSize']),_0x26e36a['add'](this['_mountAxes']));const {x:_0x49a56b,y:_0x29b18b,z:_0x276a4d}=this['_mountOffset'],_0x56b7f4=[_0x49a56b,_0x29b18b,_0x276a4d,this['_mountQuat']['x'],this['_mountQuat']['y'],this['_mountQuat']['z'],this['_mountQuat']['w']],_0x592f97=!this['_mountAxesPose']||this['_mountAxesPose']['some']((_0x38bc31,_0x519f53)=>_0x38bc31!==_0x56b7f4[_0x519f53]);this['_mountAxes']['position']['set'](_0x49a56b,_0x29b18b,_0x276a4d),this['_mountAxes']['quaternion']['copy'](this['_mountQuat']),this['_mountAxesPose']=_0x56b7f4;const _0x40f7e3=!this['_mountAxes']['visible'];return this['_mountAxes']['visible']=!0x0,_0x52660e||_0x40f7e3||_0x592f97;}['_estimateAxesSize'](){var _0x2f01da;let _0x5d24fa=0x1;try{const _0x5f1597=null==(_0x2f01da=this['sceneManager'])?void 0x0:_0x2f01da['currentModel'];if((null==_0x5f1597?void 0x0:_0x5f1597['threeObject'])&&'function'==typeof this['sceneManager']['computeRobustBoundingBox']){const _0x3c9279=this['sceneManager']['computeRobustBoundingBox'](_0x5f1597['threeObject']);_0x3c9279&&!_0x3c9279['isEmpty']()&&(_0x5d24fa=_0x3c9279['getSize'](new _0x47b065())['length']()||0x1);}}catch(_0x57f2ae){}return Math['min'](0x2,Math['max'](0.05,0.15*_0x5d24fa));}['_resolveParentObject'](){var _0xc8bc05,_0x2a21b6;if(!this['mountFrame']||this['mountFrame']===Aa)return(null==(_0xc8bc05=this['sceneManager'])?void 0x0:_0xc8bc05['world'])||null;const _0x518315=null==(_0x2a21b6=this['sceneManager'])?void 0x0:_0x2a21b6['currentModel'],_0x55e699=_0x518315&&'function'==typeof _0x518315['getLink']?_0x518315['getLink'](this['mountFrame']):null;return(null==_0x55e699?void 0x0:_0x55e699['threeObject'])||null;}['_disposeMountAxes'](){this['_mountAxes']&&(this['_mountAxes']['removeFromParent'](),this['_mountAxes']['traverse'](_0x5933fd=>{var _0x475215,_0x1c7e84;null==(_0x1c7e84=null==(_0x475215=_0x5933fd['geometry'])?void 0x0:_0x475215['dispose'])||_0x1c7e84['call'](_0x475215);(Array['isArray'](_0x5933fd['material'])?_0x5933fd['material']:_0x5933fd['material']?[_0x5933fd['material']]:[])['forEach'](_0x35b656=>{var _0x4a6568;return null==(_0x4a6568=_0x35b656['dispose'])?void 0x0:_0x4a6568['call'](_0x35b656);});}),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'](_0x3c23b1=null){const _0x5893ed=this['sceneManager'],_0x35919f=null==_0x5893ed?void 0x0:_0x5893ed['renderer'];if(!_0x35919f||_0x5893ed['_contextLost'])return this['lastCaptureSkipped']=_0x35919f?'context-lost':'no-renderer',null;this['lastCaptureSkipped']=null,this['_ensureTargets'](),this['_updateCameraPose']();const _0x430e06=this['width']*this['height']*0x4,_0x3ce7dc=_0x3c23b1&&_0x3c23b1['length']===_0x430e06?_0x3c23b1:this['_rgba'],_0x283a69=performance['now'](),_0x5061ef=_0x35919f['getRenderTarget'](),_0x3df125=this['_useAltTarget']?this['_targetLinearAlt']:this['_targetLinear'],_0xe9336=this['_useAltTarget']?this['_targetLdrAlt']:this['_targetLdr'],_0x3a8f3e=this['_useAltTarget']?this['_targetLdr']:this['_targetLdrAlt'],_0x7fccb1=this['_hasPrevFrame'];let _0x57d809=0x0;if(_0x7fccb1){const _0xcb26f3=performance['now']();_0x35919f['readRenderTargetPixels'](_0x3a8f3e,0x0,0x0,this['width'],this['height'],_0x3ce7dc),_0x57d809=performance['now']()-_0xcb26f3;}const _0x57f60f=_0x35919f['shadowMap'],_0x59b422=!!(_0x5893ed['directionalLight']&&_0x5893ed['directionalLight']['shadow']&&_0x5893ed['directionalLight']['shadow']['map']),_0x2e698d='function'==typeof _0x5893ed['hasPendingRender']&&!_0x5893ed['hasPendingRender'](),_0x33bcec=_0x57f60f['enabled']&&_0x59b422&&_0x2e698d,_0x424f9e=_0x57f60f['autoUpdate'];_0x33bcec&&(_0x57f60f['autoUpdate']=!0x1),this['_hideHelpers']();const _0x541429=performance['now']();try{_0x35919f['setRenderTarget'](_0x3df125),_0x35919f['render'](_0x5893ed['scene'],this['camera']),this['_encodeMaterial']['uniforms']['tLinear']['value']=_0x3df125['texture'],_0x35919f['setRenderTarget'](_0xe9336),_0x35919f['render'](this['_quadScene'],this['_quadCamera']);}finally{_0x33bcec&&(_0x57f60f['autoUpdate']=_0x424f9e),_0x35919f['setRenderTarget'](_0x5061ef),this['_restoreHelpers']();}const _0x2b96c0=performance['now']()-_0x541429;return this['_useAltTarget']=!this['_useAltTarget'],this['_hasPrevFrame']=!0x0,this['lastCaptureMs']=performance['now']()-_0x283a69,this['lastFrameLag']=_0x7fccb1?0x1:0x0,_0x7fccb1?(this['_firstFrameChecked']||(this['_firstFrameChecked']=!0x0,this['_checkFirstFrame'](_0x3ce7dc)),{'data':new Uint8ClampedArray(_0x3ce7dc['buffer'],_0x3ce7dc['byteOffset'],_0x3ce7dc['byteLength']),'width':this['width'],'height':this['height'],'captureMs':this['lastCaptureMs'],'renderMs':_0x2b96c0,'readbackMs':_0x57d809,'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 _0x4d25eb;const _0x3ff7b1=null==(_0x4d25eb=this['sceneManager']['renderer'])?void 0x0:_0x4d25eb['extensions'];return!(!_0x3ff7b1||'function'!=typeof _0x3ff7b1['has'])&&(_0x3ff7b1['has']('EXT_color_buffer_half_float')||_0x3ff7b1['has']('EXT_color_buffer_float'));}['_ensureTargets'](){if(this['_targetLinear']&&this['_targetSize']['w']===this['width']&&this['_targetSize']['h']===this['height'])return;this['_disposeTargets']();const _0x10e3d5=!this['_safeMode']&&this['_supportsFloatTarget']()?_0x44feec:_0x6046a7;this['_targetLinear']=new _0x2dac2d(this['width'],this['height'],{'type':_0x10e3d5,'format':_0xc50010,'minFilter':_0x14e90a,'magFilter':_0x14e90a,'depthBuffer':!0x0,'stencilBuffer':!0x1}),this['_targetLinear']['texture']['generateMipmaps']=!0x1,this['_targetLdr']=new _0x2dac2d(this['width'],this['height'],{'type':_0x6046a7,'format':_0xc50010,'minFilter':_0x14e90a,'magFilter':_0x14e90a,'depthBuffer':!0x1,'stencilBuffer':!0x1}),this['_targetLdr']['texture']['generateMipmaps']=!0x1,this['_targetLinearAlt']=new _0x2dac2d(this['width'],this['height'],{'type':_0x10e3d5,'format':_0xc50010,'minFilter':_0x14e90a,'magFilter':_0x14e90a,'depthBuffer':!0x0,'stencilBuffer':!0x1}),this['_targetLinearAlt']['texture']['generateMipmaps']=!0x1,this['_targetLdrAlt']=new _0x2dac2d(this['width'],this['height'],{'type':_0x6046a7,'format':_0xc50010,'minFilter':_0x14e90a,'magFilter':_0x14e90a,'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'](_0x3af593=0x5){const _0x5bd7df=this['sceneManager'],_0x1f2660=null==_0x5bd7df?void 0x0:_0x5bd7df['renderer'];if(!_0x1f2660||_0x5bd7df['_contextLost'])return null;this['_probeTarget']||(this['_probeTarget']=new _0x2dac2d(0x100,0x100,{'type':_0x6046a7,'format':_0xc50010,'depthBuffer':!0x1,'stencilBuffer':!0x1}));const _0x3a7e3a=0x100,_0xa90742=new Uint8Array(0x40000),_0x380297=_0x1f2660['getRenderTarget'](),_0x4a9317=performance['now']();for(let _0x1b84f9=0x0;_0x1b84f9<_0x3af593;_0x1b84f9++)_0x1f2660['setRenderTarget'](this['_probeTarget']),_0x1f2660['clear'](!0x0,!0x1,!0x1),_0x1f2660['readRenderTargetPixels'](this['_probeTarget'],0x0,0x0,_0x3a7e3a,_0x3a7e3a,_0xa90742);_0x1f2660['setRenderTarget'](_0x380297);const _0x47e5df=(performance['now']()-_0x4a9317)/_0x3af593;return this['lastGpuProbeMs']=_0x47e5df,_0x47e5df;}['_disposeTargets'](){for(const _0x124b51 of[this['_targetLinear'],this['_targetLdr'],this['_targetLinearAlt'],this['_targetLdrAlt']])_0x124b51&&_0x124b51['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 _0x1deb3e=this['_worldMatrix'];if(!this['mountFrame']||this['mountFrame']===Aa){const _0x2615b0=this['sceneManager']['world'];return _0x2615b0?(_0x2615b0['updateWorldMatrix'](!0x0,!0x1),_0x1deb3e['copy'](_0x2615b0['matrixWorld'])):_0x1deb3e['identity'](),_0x1deb3e;}const _0x186a37=this['sceneManager']['currentModel'],_0x505e1e=_0x186a37&&'function'==typeof _0x186a37['getLink']?_0x186a37['getLink'](this['mountFrame']):null,_0x152bd7=null==_0x505e1e?void 0x0:_0x505e1e['threeObject'];if(_0x152bd7)_0x152bd7['updateWorldMatrix'](!0x0,!0x1),_0x1deb3e['copy'](_0x152bd7['matrixWorld']);else{this['_warnedFrame']!==this['mountFrame']&&(this['_warnedFrame']=this['mountFrame']);const _0x1a39cc=this['sceneManager']['world'];_0x1a39cc?(_0x1a39cc['updateWorldMatrix'](!0x0,!0x1),_0x1deb3e['copy'](_0x1a39cc['matrixWorld'])):_0x1deb3e['identity']();}return _0x1deb3e;}['_updateCameraPose'](){const _0x575e79=this['_resolveParentMatrix']();_0x575e79['multiply'](this['_buildOffsetMatrix']()),_0x575e79['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:_0x5e68bb,y:_0x359587,z:_0x280885}=this['_mountOffset'];return this['_offsetMatrix']['makeTranslation'](_0x5e68bb,_0x359587,_0x280885),this['_offsetMatrix']['multiply'](this['_buildPoseMatrix']())['multiply'](this['_buildOrientationMatrix']());}['_poseQuaternion'](_0x581092){const [_0x506744,_0x21c30d,_0x2efb11]=this['mountRpy'];return _0x581092['setFromEuler'](this['_euler']['set'](_0x506744,_0x21c30d,_0x2efb11,'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 _0x143fe6;const _0x1cbf90=this['sceneManager'];this['_hidden']=[];const _0x1b9dd6=_0x559d85=>{_0x559d85&&_0x559d85['visible']&&(this['_hidden']['push'](_0x559d85),_0x559d85['visible']=!0x1);};_0x1b9dd6(_0x1cbf90['referenceGrid']),_0x1b9dd6(_0x1cbf90['worldAxes']),_0x1b9dd6(null==(_0x143fe6=_0x1cbf90['measurementManager'])?void 0x0:_0x143fe6['measurementHelper']),_0x1cbf90['scene']['traverse'](_0x383632=>{_0x383632['userData']&&_0x383632['userData']['excludeFromBBox']&&_0x1b9dd6(_0x383632);});}['_restoreHelpers'](){for(const _0x4442bf of this['_hidden'])_0x4442bf['visible']=!0x0;this['_hidden']=[];}['_checkFirstFrame'](_0x586df6){if(this['_safeMode'])return!0x1;let _0x14acb6=0x0;for(let _0x2913c4=0x0;_0x2913c4<_0x586df6['length'];_0x2913c4+=0x40)_0x14acb6+=_0x586df6[_0x2913c4];return 0x0===_0x14acb6&&(this['_safeMode']=!0x0,this['_disposeTargets'](),this['_ensureTargets'](),!0x0);}}class Ra{constructor(_0x285b0c,_0x34fe2f){this['rosController']=_0x285b0c,this['virtualCamera']=_0x34fe2f,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'](_0x179112){return!!this['_running']||(_0x179112?!!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':_0x179112})}),this['_notifyRunningChange'](),!0x0):(this['_lastError']='缺少\x20rosbridge\x20地址',!0x1));}['connect'](_0x33f2c5){return _0x33f2c5?!!this['_ensureWorker']()&&(this['_connectionWanted']=!0x0,this['_lastError']=null,this['_worker']['postMessage']({'cmd':'connect',...this['_configPayload']({'url':_0x33f2c5})}),!0x0):(this['_lastError']='缺少\x20rosbridge\x20地址',!0x1);}['disconnect'](){var _0x4ea84c;this['_running']=!0x1,this['_connectionWanted']=!0x1,null==(_0x4ea84c=this['_worker'])||_0x4ea84c['postMessage']({'cmd':'disconnect'}),this['_pool']=[],this['onCameraConnectionChange']&&this['onCameraConnectionChange'](!0x1,null),this['_notifyRunningChange']();}['stop'](){var _0x85b62e;this['_running']&&(this['_running']=!0x1,null==(_0x85b62e=this['_worker'])||_0x85b62e['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'](_0x9e3b10){this['_previewEnabled']=!!_0x9e3b10,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 _0x2b0610=null,_0x4af7ad=!0x1;try{_0x2b0610=this['_acquireBuffer']();const _0x35eacf=this['virtualCamera']['capture'](_0x2b0610);if(!_0x35eacf)return this['_releaseBuffer'](_0x2b0610),void this['_answerNoFrame'](this['virtualCamera']['lastCaptureSkipped']||'capture-null');this['_recordCapture'](_0x35eacf),this['_worker']['postMessage']({'cmd':'frame','buffer':_0x2b0610['buffer'],'width':_0x35eacf['width'],'height':_0x35eacf['height'],'captureMs':_0x35eacf['captureMs']},[_0x2b0610['buffer']]),_0x4af7ad=!0x0;}catch(_0x1b43ca){this['_lastError']='采集失败:\x20'+((null==_0x1b43ca?void 0x0:_0x1b43ca['message'])||_0x1b43ca),_0x2b0610&&!_0x4af7ad&&this['_releaseBuffer'](_0x2b0610),this['_answerNoFrame']('error');}}['_answerNoFrame'](_0x3bb5ca){var _0xb090cb;this['_noFrameCount']++,this['_lastNoFrameReason']=_0x3bb5ca,null==(_0xb090cb=this['_worker'])||_0xb090cb['postMessage']({'cmd':'noframe','reason':_0x3bb5ca});}['_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']=_0x55243a=>this['_onWorkerMessage'](_0x55243a['data']||{}),this['_worker']['onerror']=_0x14467d=>{if(this['_lastError']='相机发布\x20Worker\x20异常:\x20'+((null==_0x14467d?void 0x0:_0x14467d['message'])||_0x14467d),this['_running']=!0x1,this['_connectionWanted']=!0x1,this['_worker']){try{this['_worker']['terminate']();}catch(_0x2df148){}this['_worker']=null;}this['_pool']=[],this['onCameraConnectionChange']&&this['onCameraConnectionChange'](!0x1,this['_lastError']),this['_notifyRunningChange']();},!0x0;}catch(_0x2df556){return this['_lastError']='无法创建相机发布\x20Worker:\x20'+((null==_0x2df556?void 0x0:_0x2df556['message'])||_0x2df556),!0x1;}}['_onWorkerMessage'](_0x337cf1){switch(_0x337cf1['cmd']){case'need':this['_provideFrame']();break;case'buffer':_0x337cf1['buffer']&&this['_releaseBuffer'](new Uint8Array(_0x337cf1['buffer']));break;case'domainId':this['onDomainId']&&this['onDomainId']('number'==typeof _0x337cf1['value']?_0x337cf1['value']:null);break;case'encodings':this['_encodings']=Array['isArray'](_0x337cf1['list'])?_0x337cf1['list']:null,this['onEncodings']&&this['onEncodings'](this['_encodings']);break;case'preview':this['onPreview']&&this['onPreview']({'base64':_0x337cf1['base64'],'mime':_0x337cf1['mime']||'image/jpeg','width':_0x337cf1['width'],'height':_0x337cf1['height'],'previewWidth':_0x337cf1['previewWidth'],'previewHeight':_0x337cf1['previewHeight'],'payloadBytes':_0x337cf1['payloadBytes'],'captureMs':_0x337cf1['captureMs']});break;case'stats':this['_workerStats']={'rate':_0x337cf1['rate']||0x0,'target':_0x337cf1['target']||this['rateHz'],'queued':_0x337cf1['queue']||0x0,'depth':_0x337cf1['depth']||0x1,'underruns':_0x337cf1['underruns']||0x0,'dropped':_0x337cf1['dropped']||0x0,'payloadBytes':_0x337cf1['payloadBytes']||0x0,'encodeMs':_0x337cf1['encodeMs']||0x0,'pendingNeed':_0x337cf1['pendingNeed']||0x0,'encodeInFlight':_0x337cf1['encodeInFlight']||0x0,'stalled':_0x337cf1['stalled']||0x0,'reconnects':_0x337cf1['reconnects']||0x0,'workerConnected':!!_0x337cf1['connected'],'workerRunning':!!_0x337cf1['running'],'wsState':'number'==typeof _0x337cf1['wsState']?_0x337cf1['wsState']:-0x1,'lastDrop':_0x337cf1['lastDrop']||null,'lastFormat':_0x337cf1['format']||null};break;case'state':_0x337cf1['error']&&(this['_lastError']=_0x337cf1['error']),this['onCameraConnectionChange']&&this['onCameraConnectionChange'](!!_0x337cf1['connected'],_0x337cf1['error']||null);}}['_configPayload'](_0x50b8a9={}){return{'topic':this['topicName'],'type':this['messageType'],'frameId':this['frameId'],'rate':this['rateHz'],'format':this['imageFormat'],'quality':this['jpegQuality'],'preview':this['_previewEnabled'],'previewWidth':0x140,..._0x50b8a9};}['_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 _0x51c2f8=0x0;_0x51c2f8<0x3;_0x51c2f8++)this['_pool']['push'](new Uint8Array(this['virtualCamera']['width']*this['virtualCamera']['height']*0x4));}['_acquireBuffer'](){const _0x52bb64=this['virtualCamera']['width']*this['virtualCamera']['height']*0x4;this['_poolSize']['w']===this['virtualCamera']['width']&&this['_poolSize']['h']===this['virtualCamera']['height']||this['_resetPool']();let _0x41df29=this['_pool']['pop']();return _0x41df29&&_0x41df29['length']===_0x52bb64||(_0x41df29=new Uint8Array(_0x52bb64),this['_poolAllocs']++),_0x41df29;}['_releaseBuffer'](_0x2c5085){const _0x3a1bbc=this['virtualCamera']['width']*this['virtualCamera']['height']*0x4;_0x2c5085&&_0x2c5085['length']===_0x3a1bbc&&(this['_pool']['length']>=0x3||this['_pool']['push'](_0x2c5085));}['_recordCapture'](_0xf25240){const _0x2d4813=_0xf25240['captureMs']||0x0;this['_win']['count']++,this['_win']['captureSum']+=_0x2d4813,_0x2d4813>this['_win']['captureMax']&&(this['_win']['captureMax']=_0x2d4813),(_0xf25240['renderMs']||0x0)>this['_win']['renderMax']&&(this['_win']['renderMax']=_0xf25240['renderMs']||0x0),(_0xf25240['readbackMs']||0x0)>this['_win']['readbackMax']&&(this['_win']['readbackMax']=_0xf25240['readbackMs']||0x0);}['_notifyRunningChange'](){this['onRunningChange']&&this['onRunningChange'](this['_running']);}['collectStats'](){const _0x19a320=this['_workerStats'],_0x445db4=this['_win'],_0x402d50=_0x445db4['count'],_0x4a98ed={'rate':_0x19a320['rate'],'target':_0x19a320['target'],'queued':_0x19a320['queued'],'depth':_0x19a320['depth'],'underruns':_0x19a320['underruns'],'dropped':_0x19a320['dropped'],'payloadBytes':_0x19a320['payloadBytes'],'encodeMs':_0x19a320['encodeMs'],'format':_0x19a320['lastFormat']||'','pendingNeed':_0x19a320['pendingNeed'],'encodeInFlight':_0x19a320['encodeInFlight'],'stalled':_0x19a320['stalled'],'reconnects':_0x19a320['reconnects'],'workerConnected':_0x19a320['workerConnected'],'workerRunning':_0x19a320['workerRunning'],'wsState':_0x19a320['wsState'],'lastDrop':_0x19a320['lastDrop'],'running':this['_running'],'hasWorker':!!this['_worker'],'captured':_0x402d50,'captureMs':_0x402d50?_0x445db4['captureSum']/_0x402d50:0x0,'captureMax':_0x445db4['captureMax'],'renderMax':_0x445db4['renderMax'],'readbackMax':_0x445db4['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},_0x4a98ed;}['getLastError'](){return this['_lastError'];}}const za=['320x240','640x480','1280x720','1920x1080'],Na=['jpeg','png','webp'];class Ua{constructor(_0x2d0eb4,_0xe0a786,_0x18bb5e){this['app']=_0x2d0eb4,this['virtualCamera']=_0xe0a786,this['publisher']=_0x18bb5e,this['panel']=null,this['_lastPreviewAt']=0x0,this['_statsTimer']=null,this['_cameraConnected']=!0x1,this['_domainId']=null,this['_domainIdResolved']=!0x1,this['_encodings']=null,this['publisher']['onPreview']=_0x10aec7=>this['_handlePreview'](_0x10aec7),this['publisher']['onRunningChange']=()=>this['_syncRunningState'](),this['publisher']['onCameraConnectionChange']=(_0x2ecd7a,_0x157482)=>this['_handleCameraConnection'](_0x2ecd7a,_0x157482),this['publisher']['onEncodings']=_0x943d79=>this['_handleEncodings'](_0x943d79),this['publisher']['onDomainId']=_0x3461ce=>this['_handleDomainId'](_0x3461ce);}['createPanel'](){var _0x29c657,_0x2f9945;const _0xc14f32=document['createElement']('div');_0xc14f32['id']='virtual-camera-panel',_0xc14f32['className']='floating-panel',_0xc14f32['style']['cssText']='top:\x2080px;\x20left:\x20400px;\x20width:\x20400px;\x20max-height:\x20calc(100vh\x20-\x20160px);\x20z-index:\x2051;\x20display:\x20none;',_0xc14f32['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'](_0x57d2e7=>'<option\x20value=\x22'+_0x57d2e7+'\x22>'+_0x57d2e7+'</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'](_0x290a8b=>'<option\x20value=\x22'+_0x290a8b+'\x22>'+_0x290a8b['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']=_0xc14f32,this['refreshMountTargets'](),this['_syncMountPoseInputs'](),this['_syncOrientationSelects'](),this['attachEventListeners'](),this['_syncPresetSelect'](),this['_syncFormatSelect'](),null==(_0x2f9945=(_0x29c657=this['publisher'])['requestEncodings'])||_0x2f9945['call'](_0x29c657);const _0x1e92a0=_0xc14f32['querySelector']('#vc-ros-url');return _0x1e92a0&&(_0x1e92a0['value']=this['_resolveRosUrl']()),this['_syncConnectionButtons'](!0x1),this['startStatsMonitor'](),_0xc14f32;}['attachEventListeners'](){var _0x1c3d36;const _0x3d6c63=_0x27ac8a=>this['panel']['querySelector']('#'+_0x27ac8a);_0x3d6c63('vc-topic')['addEventListener']('change',_0x5023d5=>{this['publisher']['topicName']=_0x5023d5['target']['value']['trim']()||this['publisher']['topicName'],_0x5023d5['target']['value']=this['publisher']['topicName'],this['publisher']['onTopicConfigChanged']();}),_0x3d6c63('vc-frame-id')['addEventListener']('change',_0x21a830=>{this['publisher']['frameId']=_0x21a830['target']['value']['trim']();}),[['vc-pos-x','x'],['vc-pos-y','y'],['vc-pos-z','z']]['forEach'](([_0x16c4fe,_0x37eb53])=>{_0x3d6c63(_0x16c4fe)['addEventListener']('change',_0x829b0b=>{const _0x129128=parseFloat(_0x829b0b['target']['value']);this['virtualCamera']['setMountXyzField'](_0x37eb53,Number['isFinite'](_0x129128)?_0x129128:0x0),this['_syncMountPoseInputs']();});}),[['vc-rpy-r','roll'],['vc-rpy-p','pitch'],['vc-rpy-y','yaw']]['forEach'](([_0x17b663,_0x5e0a3d])=>{_0x3d6c63(_0x17b663)['addEventListener']('change',_0xa1ae0b=>{const _0x2e2264=parseFloat(_0xa1ae0b['target']['value']);this['virtualCamera']['setMountRpyField'](_0x5e0a3d,(Number['isFinite'](_0x2e2264)?_0x2e2264:0x0)*Math['PI']/0xb4),this['_syncMountPoseInputs']();});}),_0x3d6c63('vc-pos-reset')['addEventListener']('click',()=>{this['virtualCamera']['setMount']({'xyz':[0x0,0x0,0x0]}),this['_syncMountPoseInputs']();}),_0x3d6c63('vc-rpy-reset')['addEventListener']('click',()=>{this['virtualCamera']['setMount']({'rpy':[0x0,0x0,0x0]}),this['_syncMountPoseInputs']();});const _0x85fe10=()=>{const _0x13b3cf=parseInt(_0x3d6c63('vc-width')['value'],0xa),_0xfda7df=parseInt(_0x3d6c63('vc-height')['value'],0xa);_0x13b3cf&&_0xfda7df&&(this['virtualCamera']['setResolution'](_0x13b3cf,_0xfda7df),_0x3d6c63('vc-width')['value']=this['virtualCamera']['width'],_0x3d6c63('vc-height')['value']=this['virtualCamera']['height'],this['_syncPresetSelect']());};_0x3d6c63('vc-width')['addEventListener']('change',_0x85fe10),_0x3d6c63('vc-height')['addEventListener']('change',_0x85fe10),_0x3d6c63('vc-preset')['addEventListener']('change',_0x3fdc6a=>{const _0x21c751=_0x3fdc6a['target']['value'];if(!_0x21c751)return;const [_0x36860e,_0x37eda3]=_0x21c751['split']('x')['map'](_0x1088e4=>parseInt(_0x1088e4,0xa));_0x3d6c63('vc-width')['value']=_0x36860e,_0x3d6c63('vc-height')['value']=_0x37eda3,_0x85fe10();}),_0x3d6c63('vc-fov')['addEventListener']('change',_0x4981f9=>{this['virtualCamera']['setFov'](parseFloat(_0x4981f9['target']['value'])),_0x4981f9['target']['value']=this['virtualCamera']['fov'];}),_0x3d6c63('vc-rate-hz')['addEventListener']('change',_0x335992=>{const _0x4bb164=parseInt(_0x335992['target']['value'],0xa);_0x4bb164&&(this['publisher']['rateHz']=Math['max'](0x1,Math['min'](0x78,_0x4bb164)),_0x335992['target']['value']=this['publisher']['rateHz'],this['publisher']['onRateChanged']());}),_0x3d6c63('vc-mount-frame')['addEventListener']('change',_0x31fa86=>{this['virtualCamera']['setMount']({'frame':_0x31fa86['target']['value']}),this['_syncMountAxes']();}),_0x3d6c63('vc-show-axes')['addEventListener']('change',()=>this['_syncMountAxes']()),_0x3d6c63('vc-forward')['addEventListener']('change',_0x393be4=>{this['virtualCamera']['setMount']({'forward':_0x393be4['target']['value']}),this['_syncOrientationSelects']();}),_0x3d6c63('vc-up')['addEventListener']('change',_0x1bcc05=>{this['virtualCamera']['setMount']({'up':_0x1bcc05['target']['value']}),this['_syncOrientationSelects']();}),_0x3d6c63('vc-msg-type')['addEventListener']('change',_0x56ffdd=>{this['publisher']['messageType']=_0x56ffdd['target']['value']||this['publisher']['messageType'],_0x56ffdd['target']['value']=this['publisher']['messageType'],this['publisher']['onTopicConfigChanged']();}),_0x3d6c63('vc-format')['addEventListener']('change',_0x429a96=>{this['publisher']['imageFormat']=Na['includes'](_0x429a96['target']['value'])?_0x429a96['target']['value']:'jpeg',_0x429a96['target']['value']=this['publisher']['imageFormat'],this['publisher']['onFormatChanged']();}),_0x3d6c63('vc-ros-url')['addEventListener']('change',_0x3e8ee5=>{const _0x4ab4e8=this['_persistRosUrl'](_0x3e8ee5['target']['value']);_0x3e8ee5['target']['value']=_0x4ab4e8;}),_0x3d6c63('vc-connect-btn')['addEventListener']('click',()=>{const _0x400611=this['_persistRosUrl'](_0x3d6c63('vc-ros-url')['value']);_0x3d6c63('vc-ros-url')['value']=_0x400611,this['publisher']['connect'](_0x400611)?this['_syncConnectionButtons'](!0x0):this['_warn']('连接失败:'+(this['publisher']['getLastError']()||'未知原因'));}),_0x3d6c63('vc-disconnect-btn')['addEventListener']('click',()=>{this['publisher']['disconnect'](),this['_syncConnectionButtons'](!0x1);}),_0x3d6c63('vc-download-script')['addEventListener']('click',_0x3107f2=>{_0x3107f2['preventDefault']();const _0x4058d4=document['createElement']('a');_0x4058d4['href']='/scripts/start-rosbridge.sh',_0x4058d4['download']='start-rosbridge.sh',document['body']['appendChild'](_0x4058d4),_0x4058d4['click'](),document['body']['removeChild'](_0x4058d4);}),_0x3d6c63('vc-start-btn')['addEventListener']('click',()=>{var _0x61cfcd;if(!(null==(_0x61cfcd=this['app'])?void 0x0:_0x61cfcd['currentModel']))return void this['_warn']('请先载入机器人模型');const _0x36590b=this['_persistRosUrl'](_0x3d6c63('vc-ros-url')['value']);_0x3d6c63('vc-ros-url')['value']=_0x36590b,this['publisher']['start'](_0x36590b)||this['_warn']('发布启动失败:'+(this['publisher']['getLastError']()||'未知原因'));}),_0x3d6c63('vc-stop-btn')['addEventListener']('click',()=>{this['publisher']['stop']();}),null==(_0x1c3d36=document['getElementById']('toggle-virtual-camera-panel'))||_0x1c3d36['addEventListener']('click',()=>{this['refreshMountTargets']();});}['_syncOrientationSelects'](){var _0x4b1244,_0x431a61;const _0x39f7ed=null==(_0x4b1244=this['panel'])?void 0x0:_0x4b1244['querySelector']('#vc-forward'),_0x31e076=null==(_0x431a61=this['panel'])?void 0x0:_0x431a61['querySelector']('#vc-up');if(!_0x39f7ed||!_0x31e076)return;const _0x2da4a5=this['virtualCamera']['getState']();_0x39f7ed['innerHTML']=La['map'](_0x2b2f60=>'<option\x20value=\x22'+_0x2b2f60+'\x22>'+_0x2b2f60+'</option>')['join'](''),_0x39f7ed['value']=_0x2da4a5['forwardAxis'],_0x31e076['innerHTML']=ka(_0x2da4a5['forwardAxis'])['map'](_0x5eb578=>'<option\x20value=\x22'+_0x5eb578+'\x22>'+_0x5eb578+'</option>')['join'](''),_0x31e076['value']=_0x2da4a5['upAxis'];}['_syncMountPoseInputs'](){var _0x2d001b,_0x1b7b74;const _0x3afa95=(null==(_0x1b7b74=(_0x2d001b=this['virtualCamera'])['getState'])?void 0x0:_0x1b7b74['call'](_0x2d001b))||{},_0x3de493=_0x3afa95['mountXyz']||[0x0,0x0,0x0],_0xdfceb=(_0x3afa95['mountRpy']||[0x0,0x0,0x0])['map'](_0x2b1b6d=>0xb4*_0x2b1b6d/Math['PI']),_0x35c2ec=(_0x977ec8,_0xb4ad2e)=>{var _0x38a74e;const _0x2d2dbe=null==(_0x38a74e=this['panel'])?void 0x0:_0x38a74e['querySelector']('#'+_0x977ec8);_0x2d2dbe&&(_0x2d2dbe['value']=String(Number(Number(_0xb4ad2e)['toFixed'](0x4))));};_0x35c2ec('vc-pos-x',_0x3de493[0x0]),_0x35c2ec('vc-pos-y',_0x3de493[0x1]),_0x35c2ec('vc-pos-z',_0x3de493[0x2]),_0x35c2ec('vc-rpy-r',_0xdfceb[0x0]),_0x35c2ec('vc-rpy-p',_0xdfceb[0x1]),_0x35c2ec('vc-rpy-y',_0xdfceb[0x2]);}['refreshMountTargets'](){var _0x2d6ca8,_0x1a2a84,_0x401a16;const _0x247eb5=null==(_0x2d6ca8=this['panel'])?void 0x0:_0x2d6ca8['querySelector']('#vc-mount-frame');if(!_0x247eb5)return;const _0x2e9c17=null==(_0x401a16=null==(_0x1a2a84=this['app'])?void 0x0:_0x1a2a84['sceneManager'])?void 0x0:_0x401a16['currentModel'],_0x56d198=(null==_0x2e9c17?void 0x0:_0x2e9c17['links'])?Array['from'](_0x2e9c17['links']['keys']()):[],_0x5e10fa=this['virtualCamera']['mountFrame']||Aa;_0x247eb5['innerHTML']=['<option\x20value=\x22'+Aa+'\x22\x20data-i18n=\x22worldFrame\x22>'+this['_t']('worldFrame','世界坐标系')+'</option>',..._0x56d198['map'](_0x5d8e5d=>'<option\x20value=\x22'+_0x5d8e5d+'\x22>'+_0x5d8e5d+'</option>')]['join'](''),_0x5e10fa===Aa||_0x56d198['includes'](_0x5e10fa)||this['virtualCamera']['setMount']({'frame':Aa}),_0x247eb5['value']=this['virtualCamera']['mountFrame'],this['_syncMountAxes']({'refreshParent':!0x0});}['_syncMountAxes']({refreshParent:_0x35d2fa=!0x1}={}){var _0xebb2ca,_0x44091e,_0x755e84,_0x527f57;const _0x565d2f=this['_isPanelVisible'](),_0x42e42e=!!(null==(_0x44091e=null==(_0xebb2ca=this['panel'])?void 0x0:_0xebb2ca['querySelector']('#vc-show-axes'))?void 0x0:_0x44091e['checked']);this['virtualCamera']['setMountAxesVisible'](_0x42e42e&&_0x565d2f),_0x35d2fa&&(null==(_0x527f57=(_0x755e84=this['virtualCamera'])['refreshMountAxes'])||_0x527f57['call'](_0x755e84));}['_handleCameraConnection'](_0x3108e0,_0x499807){var _0x4c94bd;this['_cameraConnected']=!!_0x3108e0;const _0x549e8a=null==(_0x4c94bd=this['panel'])?void 0x0:_0x4c94bd['querySelector']('#vc-cam-status');_0x549e8a&&(_0x549e8a['textContent']=this['_t'](_0x3108e0?'cameraConnected':'cameraDisconnected'),_0x549e8a['style']['color']=_0x3108e0?'#4caf50':'#f44336'),this['_syncConnectionButtons'](_0x3108e0),_0x3108e0||(this['_domainId']=null,this['_resetDomainIdBadge']()),!_0x3108e0&&_0x499807&&this['_warn']('相机连接出错:'+_0x499807,_0x499807);}['_resetDomainIdBadge'](){var _0x246a46;this['_domainId']=null,this['_domainIdResolved']=!0x1;const _0x3948dd=null==(_0x246a46=this['panel'])?void 0x0:_0x246a46['querySelector']('#vc-domain-id');_0x3948dd&&(_0x3948dd['textContent']='—',_0x3948dd['style']['background']='#1e8e3e');}['_handleDomainId'](_0x1d40d4){var _0x14d6be;const _0x545eb3=null==(_0x14d6be=this['panel'])?void 0x0:_0x14d6be['querySelector']('#vc-domain-id');_0x545eb3&&this['_cameraConnected']&&(this['_domainIdResolved']=!0x0,this['_domainId']='number'==typeof _0x1d40d4?_0x1d40d4:null,'number'==typeof _0x1d40d4?(_0x545eb3['textContent']=String(_0x1d40d4),_0x545eb3['style']['background']='#1e8e3e'):(_0x545eb3['textContent']=this['_t']('unknown'),_0x545eb3['style']['background']='#e65100'));}['_syncConnectionButtons'](_0x1c1866){var _0xef27c3,_0x48bb93,_0x33d97b;const _0x5b2dae=null==(_0xef27c3=this['panel'])?void 0x0:_0xef27c3['querySelector']('#vc-connect-btn'),_0x1f60b2=null==(_0x48bb93=this['panel'])?void 0x0:_0x48bb93['querySelector']('#vc-disconnect-btn'),_0x322614=null==(_0x33d97b=this['panel'])?void 0x0:_0x33d97b['querySelector']('#vc-ros-url');_0x5b2dae&&(_0x5b2dae['disabled']=!!_0x1c1866),_0x1f60b2&&(_0x1f60b2['disabled']=!_0x1c1866),_0x322614&&(_0x322614['disabled']=!!_0x1c1866);}['_syncRunningState'](){var _0x50bc0e,_0x1dd725,_0xd4f160;const _0x2fb12a=null==(_0x50bc0e=this['panel'])?void 0x0:_0x50bc0e['querySelector']('#vc-start-btn'),_0x448573=null==(_0x1dd725=this['panel'])?void 0x0:_0x1dd725['querySelector']('#vc-stop-btn'),_0x197887=null==(_0xd4f160=this['panel'])?void 0x0:_0xd4f160['querySelector']('#vc-topic'),_0x2b88dd=this['publisher']['isRunning']();_0x2fb12a&&(_0x2fb12a['disabled']=_0x2b88dd),_0x448573&&(_0x448573['disabled']=!_0x2b88dd),_0x197887&&(_0x197887['disabled']=_0x2b88dd),this['_syncConnectionButtons'](this['_cameraConnected']);}['_resolveRosUrl'](){var _0x21c9d2,_0xdc36f2,_0x2f8c1d,_0x5c1d06,_0x8f4526,_0x43e157;return(null==(_0x2f8c1d=null==(_0xdc36f2=null==(_0x21c9d2=this['panel'])?void 0x0:_0x21c9d2['querySelector']('#vc-ros-url'))?void 0x0:_0xdc36f2['value'])?void 0x0:_0x2f8c1d['trim']())||(null==(_0x43e157=null==(_0x8f4526=null==(_0x5c1d06=this['app'])?void 0x0:_0x5c1d06['rosConnectionPanel'])?void 0x0:_0x8f4526['getServerUrl'])?void 0x0:_0x43e157['call'](_0x8f4526))||localStorage['getItem']('ros_url')||'ws://localhost:9090';}['_persistRosUrl'](_0x53fe29){var _0x446eec,_0x234447,_0xa74a8d;const _0x2062e2=String(_0x53fe29||'')['trim']()||'ws://localhost:9090';return localStorage['setItem']('ros_url',_0x2062e2),null==(_0xa74a8d=null==(_0x234447=null==(_0x446eec=this['app'])?void 0x0:_0x446eec['rosConnectionPanel'])?void 0x0:_0x234447['setServerUrl'])||_0xa74a8d['call'](_0x234447,_0x2062e2),_0x2062e2;}['_syncPresetSelect'](){var _0x22e986;const _0x26c257=null==(_0x22e986=this['panel'])?void 0x0:_0x22e986['querySelector']('#vc-preset');if(!_0x26c257)return;const _0x36ff4c=this['virtualCamera']['width']+'x'+this['virtualCamera']['height'];_0x26c257['value']=za['includes'](_0x36ff4c)?_0x36ff4c:'';}['_syncFormatSelect'](){var _0x711a6e;const _0x11a7c1=null==(_0x711a6e=this['panel'])?void 0x0:_0x711a6e['querySelector']('#vc-format');_0x11a7c1&&(_0x11a7c1['value']=Na['includes'](this['publisher']['imageFormat'])?this['publisher']['imageFormat']:'jpeg');}['_handleEncodings'](_0x1480ea){var _0x24ca65;this['_encodings']=Array['isArray'](_0x1480ea)?_0x1480ea:null;const _0x50fd25=null==(_0x24ca65=this['panel'])?void 0x0:_0x24ca65['querySelector']('#vc-format');if(_0x50fd25&&this['_encodings']){let _0x1572bc=null;[..._0x50fd25['options']]['forEach'](_0x20537b=>{const _0x4838c6=this['_encodings']['find'](_0x15b080=>_0x15b080['format']===_0x20537b['value']),_0x3e09a9=!_0x4838c6||_0x4838c6['supported'];_0x20537b['disabled']=!_0x3e09a9,_0x20537b['textContent']=_0x3e09a9?_0x20537b['value']:_0x20537b['value']+'\x20—\x20'+this['_t']('browserUnsupported'),_0x3e09a9&&!_0x1572bc&&(_0x1572bc=_0x20537b['value']);});const _0x2f2386=this['_encodings']['find'](_0x5b7896=>_0x5b7896['format']===this['publisher']['imageFormat']);_0x2f2386&&!_0x2f2386['supported']&&_0x1572bc&&(this['publisher']['imageFormat']=_0x1572bc,this['publisher']['onFormatChanged'](),_0x50fd25['value']=_0x1572bc,this['_warn'](_0x2f2386['format']+'\x20这台浏览器编不了,已改回\x20'+_0x1572bc));}}['startStatsMonitor'](){this['_statsTimer']&&clearInterval(this['_statsTimer']),this['_statsTimer']=setInterval(()=>{var _0x5047b8,_0x305d31;if(!this['panel'])return;null==(_0x305d31=(_0x5047b8=this['publisher'])['setPreviewEnabled'])||_0x305d31['call'](_0x5047b8,this['_isPanelVisible']()),this['_syncMountAxes']();const _0x27a344=this['publisher']['collectStats'](),_0x3d1443=this['publisher']['isRunning'](),_0x1df380=this['panel']['querySelector']('#vc-rate');_0x1df380&&(_0x1df380['textContent']=_0x27a344['rate']['toFixed'](0x1)+'\x20Hz',_0x1df380['title']=_0x3d1443?this['_t']('rateTargetTitle')['replace']('{target}',_0x27a344['target']):this['_t']('rateIdleTitle'),_0x1df380['style']['opacity']=_0x3d1443||_0x27a344['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'](_0x2cac16,_0x309193=_0x2cac16){var _0x187f5d,_0x3b991d;const _0x44ef1f=null==(_0x3b991d=null==(_0x187f5d=window['i18n'])?void 0x0:_0x187f5d['t'])?void 0x0:_0x3b991d['call'](_0x187f5d,_0x2cac16);return _0x44ef1f&&_0x44ef1f!==_0x2cac16?_0x44ef1f:_0x309193;}['refreshLanguage'](){var _0xac44e7,_0xdebd30,_0x4c5c57;null==(_0xdebd30=null==(_0xac44e7=window['i18n'])?void 0x0:_0xac44e7['updatePageLanguage'])||_0xdebd30['call'](_0xac44e7),this['_encodings']&&this['_handleEncodings'](this['_encodings']),this['_handleCameraConnection'](this['_cameraConnected']),this['_cameraConnected']&&this['_domainIdResolved']&&this['_handleDomainId'](this['_domainId']);const _0x4289d5=null==(_0x4c5c57=this['panel'])?void 0x0:_0x4c5c57['querySelector']('#vc-preview');_0x4289d5&&(_0x4289d5['alt']=this['_t']('previewAlt','虚拟相机预览'));}['_handlePreview'](_0x5be56f){var _0x456c26;if(!this['_isPanelVisible']())return;const _0x686cc5=performance['now']();if(this['publisher']['isRunning']()&&_0x686cc5-this['_lastPreviewAt']<0x64)return;this['_lastPreviewAt']=_0x686cc5;const _0x3bd5da=null==(_0x456c26=this['panel'])?void 0x0:_0x456c26['querySelector']('#vc-preview');if(!_0x3bd5da)return;_0x3bd5da['style']['display']='block',_0x3bd5da['style']['aspectRatio']=_0x5be56f['width']+'\x20/\x20'+_0x5be56f['height'];const _0x3611b3=_0x5be56f['previewWidth']?'\x20·\x20'+this['_t']('previewThumb','缩略图')+'\x20'+_0x5be56f['previewWidth']+'×'+_0x5be56f['previewHeight']:'';_0x3bd5da['title']=this['_t']('previewFrame','画面')+'\x20'+_0x5be56f['width']+'×'+_0x5be56f['height']+_0x3611b3+'\x20·\x20'+this['_t']('previewSingleFrame','单帧')+'\x20'+(_0x5be56f['payloadBytes']/0x400)['toFixed'](0x1)+'\x20KB',_0x3bd5da['src']='data:'+(_0x5be56f['mime']||'image/jpeg')+';base64,'+_0x5be56f['base64'];}['_warn'](_0x5b15ee,_0x8a6b65){}}class Va{constructor(_0x3234a2,_0x3b8021,_0xe9fe69){this['sceneManager']=_0x3234a2,this['app']=_0x3b8021,this['config']=_0xe9fe69,this['panel']=null,this['searchText']='';}['createPanel'](){const _0x20694d=document['createElement']('div');return _0x20694d['id']=this['config']['panelId'],_0x20694d['className']='floating-panel',_0x20694d['style']['cssText']=this['config']['panelStyle'],_0x20694d['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']=_0x20694d,this['attachEventListeners'](),_0x20694d;}['attachEventListeners'](){const _0x3c87e4=this['panel']['querySelector']('.panel-close-btn'),_0x514a3b=this['panel']['querySelector']('.axes-search'),_0x4022ad=this['panel']['querySelector']('#'+this['config']['selectAllId']),_0x5b8461=this['panel']['querySelector']('#'+this['config']['deselectAllId']),_0x14fecd=this['panel']['querySelector']('#'+this['config']['showLabelsId']),_0x463097=this['panel']['querySelector']('#'+this['config']['scaleSliderId']),_0x58e24d=this['panel']['querySelector']('#'+this['config']['scaleValueId']),_0x1e76e5=this['panel']['querySelector']('#'+this['config']['listId']);_0x3c87e4['addEventListener']('click',()=>{this['hide']();}),_0x514a3b['addEventListener']('input',_0x55c570=>{this['searchText']=_0x55c570['target']['value'],this['updateAxesList']();}),_0x4022ad['addEventListener']('click',()=>{this['selectAll'](!0x0);}),_0x5b8461['addEventListener']('click',()=>{this['selectAll'](!0x1);}),_0x14fecd['addEventListener']('change',_0xb6f87f=>{this['sceneManager']['axesManager']['setShowLabels'](_0xb6f87f['target']['checked']);}),_0x463097['addEventListener']('input',_0x14d892=>{const _0x54aecf=parseFloat(_0x14d892['target']['value']);_0x58e24d['textContent']=_0x54aecf['toFixed'](0x1)+'x',this['sceneManager']['axesManager']['setAxesScale'](_0x54aecf),this['app']['currentModel']&&this['reloadAxes']();}),_0x1e76e5['addEventListener']('change',_0x7fa20b=>{_0x7fa20b['target']['matches']('input[type=\x22checkbox\x22][data-axis-name]')&&this['setAxisVisible'](_0x7fa20b['target']['dataset']['axisName'],_0x7fa20b['target']['checked']);});}['updateAxesList'](){const _0x4a9fac=this['getAxisNames']()['filter'](_0x4927c4=>_0x4927c4['toLowerCase']()['includes'](this['searchText']['toLowerCase']())),_0x302c8f=this['panel']['querySelector']('#'+this['config']['listId']);if(_0x302c8f['innerHTML']='',0x0===_0x4a9fac['length']){const _0x5b0e26=document['createElement']('div');return _0x5b0e26['className']='no-results',_0x5b0e26['setAttribute']('data-i18n','noAxesAvailable'),_0x5b0e26['textContent']=window['i18n']['t']('noAxesAvailable'),void _0x302c8f['appendChild'](_0x5b0e26);}const _0x7c359c=document['createDocumentFragment']();_0x4a9fac['forEach'](_0xd88918=>{const _0x3e3cc1=document['createElement']('label');_0x3e3cc1['className']='axes-checkbox';const _0x5e6a01=document['createElement']('input');_0x5e6a01['type']='checkbox',_0x5e6a01['dataset']['axisName']=_0xd88918,_0x5e6a01['checked']=this['isAxisVisible'](_0xd88918);const _0x274d69=document['createElement']('span');_0x274d69['title']=_0xd88918,_0x274d69['textContent']=_0xd88918,_0x3e3cc1['appendChild'](_0x5e6a01),_0x3e3cc1['appendChild'](_0x274d69),_0x7c359c['appendChild'](_0x3e3cc1);}),_0x302c8f['appendChild'](_0x7c359c);}['selectAll'](_0x5d2020){this['setAllAxesVisible'](_0x5d2020),this['panel']['querySelectorAll']('input[type=\x22checkbox\x22][data-axis-name]')['forEach'](_0x162ce8=>{_0x162ce8['checked']=_0x5d2020;});}['reloadAxes'](){const _0x53ad1a=this['app']['currentModel'];if(!_0x53ad1a)return;const _0x492af6=this['sceneManager']['axesManager'],_0xed07d7=new Map(),_0x124ef8=_0x492af6['showLabels'];this['getAxisNames']()['forEach'](_0x2ab6db=>{_0xed07d7['set'](_0x2ab6db,this['isAxisVisible'](_0x2ab6db));}),this['clearAxes'](),this['recreateAxes'](_0x53ad1a),_0xed07d7['forEach']((_0xefda85,_0x31bce1)=>{this['setAxisVisible'](_0x31bce1,_0xefda85);}),_0x492af6['setShowLabels'](_0x124ef8),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 _0x328048=this['panel']['querySelector']('#'+this['config']['scaleSliderId']),_0x4560a7=this['panel']['querySelector']('#'+this['config']['scaleValueId']),_0xec287a=this['sceneManager']['axesManager']['getAxesScale']();_0x328048['value']=_0xec287a,_0x4560a7['textContent']=_0xec287a['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'](_0x2b42ee){const _0x2dbf69=document['getElementById'](this['config']['toggleButtonId']);_0x2dbf69&&_0x2dbf69['classList']['toggle']('active',_0x2b42ee);}['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'](_0x518930){this['getAxisNames']()['forEach'](_0x20a2db=>{this['setAxisVisible'](_0x20a2db,_0x518930);});}['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(_0x6b42e3,_0x9c49d1){super(_0x6b42e3,_0x9c49d1,{'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 _0x2ea205=super['createPanel'](),_0xf3afc3=_0x2ea205['querySelector']('.floating-panel-content'),_0x45fab3=document['createElement']('div');_0x45fab3['id']='axes-rpy-section',_0x45fab3['className']='axes-rpy-section',_0x45fab3['style']['cssText']='display:none;\x20border-top:\x201px\x20solid\x20var(--glass-border);\x20padding-top:\x2012px;\x20margin-top:\x2012px;',_0x45fab3['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 _0x5ba962=_0xf3afc3['querySelector']('.axes-panel-controls');return _0x5ba962&&_0x5ba962['nextSibling']?_0xf3afc3['insertBefore'](_0x45fab3,_0x5ba962['nextSibling']):_0xf3afc3['appendChild'](_0x45fab3),this['_attachRpyListeners'](_0x45fab3),_0x2ea205;}['_attachRpyListeners'](_0x3eaccb){_0x3eaccb['querySelectorAll']('.axes-rpy-btn[data-rpy]')['forEach'](_0x1422fb=>{_0x1422fb['addEventListener']('click',()=>{const _0x16fbd6={'roll':0x0,'pitch':0x1,'yaw':0x2}[_0x1422fb['dataset']['rpy']];this['_currentRpy'][_0x16fbd6]+=parseInt(_0x1422fb['dataset']['dir'])*(Math['PI']/0x2),this['_updateRpyDisplay'](),this['_previewRpy']();});});_0x3eaccb['querySelector']('#axes-rpy-apply')['addEventListener']('click',()=>{if(!this['_onRpyApply']||!this['_selectedLinkName'])return;this['_currentRpy']['some']((_0x1577f6,_0x11b168)=>Math['abs'](_0x1577f6-this['_originalRpy'][_0x11b168])>0.001)&&(this['_onRpyApply'](this['_selectedLinkName'],[...this['_currentRpy']]),this['_originalRpy']=[...this['_currentRpy']]);});_0x3eaccb['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 _0x4d101c=this['app']['currentModel'],_0x548872=_0x4d101c['links']['get'](this['_selectedLinkName']);if(!_0x548872||!_0x548872['threeObject'])return;const _0x3421f9=new _0x57eb35()['setFromEuler'](new _0x940d5(this['_originalRpy'][0x0],this['_originalRpy'][0x1],this['_originalRpy'][0x2],'ZYX')),_0x4fd263=new _0x57eb35()['setFromEuler'](new _0x940d5(this['_currentRpy'][0x0],this['_currentRpy'][0x1],this['_currentRpy'][0x2],'ZYX')),_0x39b123=_0x3421f9['clone']()['invert']()['multiply'](_0x4fd263);_0x548872['threeObject']['quaternion']['copy'](_0x39b123),_0x548872['threeObject']['position']['set'](0x0,0x0,0x0),_0x4d101c['threeObject']&&_0x4d101c['threeObject']['updateMatrixWorld'](!0x0),this['sceneManager']['redraw']();}['_updateRpyDisplay'](){const _0x259bd9=_0x1c8c6c=>{let _0x52de33=Math['round'](0xb4*_0x1c8c6c/Math['PI'])%0x168;return _0x52de33>0xb4&&(_0x52de33-=0x168),_0x52de33<=-0xb4&&(_0x52de33+=0x168),_0x52de33;},_0x3b1024=this['panel']['querySelector']('#axes-rpy-roll'),_0x113f9a=this['panel']['querySelector']('#axes-rpy-pitch'),_0x366c2f=this['panel']['querySelector']('#axes-rpy-yaw');_0x3b1024&&(_0x3b1024['textContent']=_0x259bd9(this['_currentRpy'][0x0])+'°'),_0x113f9a&&(_0x113f9a['textContent']=_0x259bd9(this['_currentRpy'][0x1])+'°'),_0x366c2f&&(_0x366c2f['textContent']=_0x259bd9(this['_currentRpy'][0x2])+'°');}['showRpySection'](_0x1b711c,_0x3db512){if(!_0x1b711c||!_0x3db512)return void this['hideRpySection']();let _0x335811=null;if(_0x1b711c['joints']['forEach'](_0x4c73c9=>{_0x4c73c9['child']===_0x3db512&&(_0x335811=_0x4c73c9);}),!_0x335811)return void this['hideRpySection']();this['_selectedLinkName']=_0x3db512,this['_selectedJointName']=_0x335811['name'];let _0x22d70d=[0x0,0x0,0x0];if(this['app']['codeEditorManager']){const _0x48a977=this['app']['codeEditorManager']['getJointOriginRpy'](_0x335811['name']);_0x48a977&&(_0x22d70d=_0x48a977);}if(_0x22d70d['every'](_0x357d57=>0x0===_0x357d57)&&_0x335811['threeObject']){const _0x232dca=new _0x940d5()['setFromQuaternion'](_0x335811['threeObject']['quaternion'],'ZYX');_0x22d70d=[_0x232dca['x'],_0x232dca['y'],_0x232dca['z']];}_0x335811['_origRpy']=[..._0x22d70d],_0x335811['_origXyz']=_0x335811['threeObject']?[_0x335811['threeObject']['position']['x'],_0x335811['threeObject']['position']['y'],_0x335811['threeObject']['position']['z']]:_0x335811['origin']?[..._0x335811['origin']['xyz']]:[0x0,0x0,0x0],this['_originalRpy']=[..._0x22d70d],this['_currentRpy']=[..._0x22d70d];const _0x3c8fc5=this['panel']['querySelector']('#axes-rpy-section');_0x3c8fc5&&(_0x3c8fc5['style']['display']='block');const _0x48a1d5=this['panel']['querySelector']('#axes-rpy-joint-name');_0x48a1d5&&(_0x48a1d5['textContent']=_0x335811['name']),this['_updateRpyDisplay']();}['hideRpySection'](){this['_selectedLinkName']=null,this['_selectedJointName']=null,this['_originalRpy']=[0x0,0x0,0x0],this['_currentRpy']=[0x0,0x0,0x0];const _0x1afcf7=this['panel']['querySelector']('#axes-rpy-section');_0x1afcf7&&(_0x1afcf7['style']['display']='none');}['setOnRpyApply'](_0x3de4e6){this['_onRpyApply']=_0x3de4e6;}['getAxisNames'](){return this['sceneManager']['axesManager']['getLinkNames']();}['isAxisVisible'](_0x5540af){return this['sceneManager']['axesManager']['isLinkAxisVisible'](_0x5540af);}['setAxisVisible'](_0x320890,_0x347e64){this['sceneManager']['axesManager']['showAxesByName'](_0x320890,_0x347e64);}['setAllAxesVisible'](_0x3eb070){this['sceneManager']['axesManager']['setAllLinkAxesVisible'](_0x3eb070);}['clearAxes'](){this['sceneManager']['axesManager']['clearAllLinkAxes']();}['recreateAxes'](_0x4ac6c4){const _0x27f4f1=this['sceneManager']['axesManager']['modelSize'];_0x4ac6c4['links']['forEach']((_0x379ea6,_0x2eb271)=>{this['sceneManager']['axesManager']['createLinkAxes'](_0x379ea6,_0x2eb271,_0x27f4f1);});}}class Ba extends Va{constructor(_0x1aa5b2,_0x5c70a4){super(_0x1aa5b2,_0x5c70a4,{'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'](_0x6300d7){return this['sceneManager']['axesManager']['isJointAxisVisible'](_0x6300d7);}['setAxisVisible'](_0x570abe,_0x431e10){this['sceneManager']['axesManager']['showJointAxisByName'](_0x570abe,_0x431e10);}['setAllAxesVisible'](_0x2664cd){this['sceneManager']['axesManager']['setAllJointAxesVisible'](_0x2664cd);}['clearAxes'](){this['sceneManager']['axesManager']['clearAllJointAxes']();}['recreateAxes'](_0x1cbb74){_0x1cbb74['joints']['forEach']((_0x2a3b72,_0x7bf1de)=>{this['sceneManager']['axesManager']['createJointAxis'](_0x2a3b72,_0x7bf1de);});}}const $a='1.1.3',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 _0x1b7543=this['detectBrowserLanguage']();this['currentLang']=localStorage['getItem']('language')||_0x1b7543;}['detectBrowserLanguage'](){return(navigator['language']||navigator['userLanguage'])['toLowerCase']()['startsWith']('zh')?'zh-CN':'en-US';}['t'](_0x4f5e8d){return(Ja[this['currentLang']]||Ja['zh-CN'])[_0x4f5e8d]||_0x4f5e8d;}['setLanguage'](_0x4303e8){Ja[_0x4303e8]&&(this['currentLang']=_0x4303e8,localStorage['setItem']('language',_0x4303e8),this['updatePageLanguage']());}['getCurrentLanguage'](){return this['currentLang'];}['updatePageLanguage'](){document['querySelectorAll']('[data-i18n]')['forEach'](_0x463d1b=>{const _0x246d69=_0x463d1b['getAttribute']('data-i18n'),_0x11c5d4=this['t'](_0x246d69);'INPUT'===_0x463d1b['tagName']||'TEXTAREA'===_0x463d1b['tagName']?_0x463d1b['placeholder']=_0x11c5d4:_0x11c5d4['includes']('<br>')||_0x11c5d4['includes']('<strong>')?_0x463d1b['innerHTML']=_0x11c5d4:_0x463d1b['textContent']=_0x11c5d4;}),document['querySelectorAll']('[data-i18n-placeholder]')['forEach'](_0x2deca0=>{const _0x4c8439=_0x2deca0['getAttribute']('data-i18n-placeholder');_0x2deca0['placeholder']=this['t'](_0x4c8439);}),document['querySelectorAll']('[data-i18n-title]')['forEach'](_0x13397b=>{const _0x464f1e=_0x13397b['getAttribute']('data-i18n-title');_0x13397b['title']=this['t'](_0x464f1e);}),document['documentElement']['lang']=this['currentLang'];}['init'](){this['updatePageLanguage']();}}();class Ga{constructor(_0x212fdd){this['app']=_0x212fdd,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'](_0x30944a=>{_0x30944a&&(_0x30944a['disabled']=!0x0,_0x30944a['style']['opacity']='0.5',_0x30944a['style']['cursor']='not-allowed');});const _0x1fa420=document['createElement']('div');_0x1fa420['style']['cssText']='padding:\x208px;\x20background:\x20#fff3e0;\x20border-radius:\x204px;\x20margin-top:\x208px;\x20font-size:\x2012px;\x20color:\x20#e65100;',_0x1fa420['textContent']=Ha['t']('mocapLoadInMainTab'),this['panel']['querySelector']('.panel-content')['appendChild'](_0x1fa420);}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'](_0x410a5f){if(!Ma[_0x410a5f])return;const _0xc8bfad=''+window['location']['origin']+window['location']['pathname']+'?mocap='+_0x410a5f;window['open'](_0xc8bfad,'_blank');}['setLoadingState'](_0xa8db23,_0x2420d7){const _0x97ef62=document['getElementById']({'human':'mocap-human-load','exoskeleton':'exoskeleton-load-v1','exoskeleton_v2':'exoskeleton-load-v2'}[_0xa8db23]);if(_0x97ef62){_0x97ef62['disabled']=_0x2420d7;const _0x1d49a6='exoskeleton'===_0xa8db23?Ha['t']('mocapExoskeletonV1'):'exoskeleton_v2'===_0xa8db23?Ha['t']('mocapExoskeletonV2'):Ha['t']('load');_0x97ef62['textContent']=_0x2420d7?Ha['t']('loading'):_0x1d49a6;}}['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(_0x1668ca){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'](_0x1668ca)['then'](()=>!0x0)['catch'](_0x2362df=>Xa(_0x1668ca)):Promise['resolve'](Xa(_0x1668ca));}function Xa(_0x57499c){try{const _0x34a43f=document['createElement']('textarea');_0x34a43f['value']=_0x57499c,_0x34a43f['style']['position']='fixed',_0x34a43f['style']['top']='0',_0x34a43f['style']['left']='0',_0x34a43f['style']['width']='2em',_0x34a43f['style']['height']='2em',_0x34a43f['style']['padding']='0',_0x34a43f['style']['border']='none',_0x34a43f['style']['outline']='none',_0x34a43f['style']['boxShadow']='none',_0x34a43f['style']['background']='transparent',_0x34a43f['style']['zIndex']='-1',_0x34a43f['setAttribute']('readonly',''),document['body']['appendChild'](_0x34a43f),_0x34a43f['focus'](),_0x34a43f['select']();try{_0x34a43f['setSelectionRange'](0x0,_0x34a43f['value']['length']);}catch(_0x516358){}const _0x13e157=document['execCommand']('copy');return document['body']['removeChild'](_0x34a43f),_0x13e157;}catch(_0x267378){return!0x1;}}class Ya{constructor(_0x4908fe,_0x45139e){this['sceneManager']=_0x4908fe,this['app']=_0x45139e,this['panel']=null,this['_updatingFromEuler']=!0x1,this['_updatingFromQuat']=!0x1;}['createPanel'](){const _0x50b74a=document['createElement']('div');return _0x50b74a['id']='floating-orientation-panel',_0x50b74a['className']='floating-panel',_0x50b74a['style']['cssText']='top:\x2080px;\x20right:\x20440px;\x20width:\x20300px;\x20z-index:\x2053;\x20display:\x20none;',_0x50b74a['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']=_0x50b74a,this['attachEventListeners'](),_0x50b74a;}['refreshLanguage'](){var _0x300e5a,_0x1de238;null==(_0x1de238=null==(_0x300e5a=window['i18n'])?void 0x0:_0x300e5a['updatePageLanguage'])||_0x1de238['call'](_0x300e5a);}['attachEventListeners'](){const _0x103c9f=this['panel'];['x','y','z']['forEach'](_0x4e6c5a=>{const _0x57f342=_0x103c9f['querySelector']('#orient-euler-'+_0x4e6c5a);_0x57f342&&(_0x57f342['addEventListener']('input',()=>this['_onEulerChanged']()),_0x57f342['addEventListener']('change',()=>this['_onEulerChanged']()));}),['x','y','z','w']['forEach'](_0x14d501=>{const _0x5a6e8e=_0x103c9f['querySelector']('#orient-quat-'+_0x14d501);_0x5a6e8e&&(_0x5a6e8e['addEventListener']('input',()=>this['_onQuatChanged']()),_0x5a6e8e['addEventListener']('change',()=>this['_onQuatChanged']()));}),_0x103c9f['querySelector']('#orient-copy-btn')['addEventListener']('click',()=>{this['_copyQuatToClipboard']();}),_0x103c9f['querySelector']('#orient-reset-btn')['addEventListener']('click',()=>{this['resetToIdentity']();});}['_onEulerChanged'](){if(this['_updatingFromQuat'])return;this['_updatingFromEuler']=!0x0;const _0x257c1f=this['panel'],_0x6837ab=parseFloat(_0x257c1f['querySelector']('#orient-euler-x')['value'])||0x0,_0x3a01a7=parseFloat(_0x257c1f['querySelector']('#orient-euler-y')['value'])||0x0,_0x1db578=parseFloat(_0x257c1f['querySelector']('#orient-euler-z')['value'])||0x0,_0x37363c=new _0x940d5(_0x205787['degToRad'](_0x6837ab),_0x205787['degToRad'](_0x3a01a7),_0x205787['degToRad'](_0x1db578),'ZYX'),_0x30a460=new _0x57eb35()['setFromEuler'](_0x37363c);_0x257c1f['querySelector']('#orient-quat-x')['value']=_0x30a460['x']['toFixed'](0x4),_0x257c1f['querySelector']('#orient-quat-y')['value']=_0x30a460['y']['toFixed'](0x4),_0x257c1f['querySelector']('#orient-quat-z')['value']=_0x30a460['z']['toFixed'](0x4),_0x257c1f['querySelector']('#orient-quat-w')['value']=_0x30a460['w']['toFixed'](0x4),this['sceneManager']&&this['sceneManager']['setBaseOrientation']([_0x30a460['x'],_0x30a460['y'],_0x30a460['z'],_0x30a460['w']]),this['_updatingFromEuler']=!0x1;}['_onQuatChanged'](){if(this['_updatingFromEuler'])return;this['_updatingFromQuat']=!0x0;const _0x15551f=this['panel'],_0x39e7dc=parseFloat(_0x15551f['querySelector']('#orient-quat-x')['value'])||0x0,_0x57a775=parseFloat(_0x15551f['querySelector']('#orient-quat-y')['value'])||0x0,_0x3ed611=parseFloat(_0x15551f['querySelector']('#orient-quat-z')['value'])||0x0,_0x31daa0=parseFloat(_0x15551f['querySelector']('#orient-quat-w')['value'])||0x1,_0x3e7287=Math['sqrt'](_0x39e7dc*_0x39e7dc+_0x57a775*_0x57a775+_0x3ed611*_0x3ed611+_0x31daa0*_0x31daa0),_0x40952e=new _0x57eb35(_0x39e7dc/_0x3e7287,_0x57a775/_0x3e7287,_0x3ed611/_0x3e7287,_0x31daa0/_0x3e7287),_0x354151=new _0x940d5()['setFromQuaternion'](_0x40952e,'ZYX');_0x15551f['querySelector']('#orient-euler-x')['value']=_0x205787['radToDeg'](_0x354151['x'])['toFixed'](0x2),_0x15551f['querySelector']('#orient-euler-y')['value']=_0x205787['radToDeg'](_0x354151['y'])['toFixed'](0x2),_0x15551f['querySelector']('#orient-euler-z')['value']=_0x205787['radToDeg'](_0x354151['z'])['toFixed'](0x2),this['sceneManager']&&this['sceneManager']['setBaseOrientation']([_0x40952e['x'],_0x40952e['y'],_0x40952e['z'],_0x40952e['w']]),this['_updatingFromQuat']=!0x1;}async['_copyQuatToClipboard'](){const _0x32f667=this['panel'],_0x207f80=parseFloat(_0x32f667['querySelector']('#orient-quat-x')['value'])||0x0,_0x5237f1=parseFloat(_0x32f667['querySelector']('#orient-quat-y')['value'])||0x0,_0x32cd95=parseFloat(_0x32f667['querySelector']('#orient-quat-z')['value'])||0x0,_0x378c62=parseFloat(_0x32f667['querySelector']('#orient-quat-w')['value'])||0x1,_0x37ce36='['+_0x207f80['toFixed'](0x4)+',\x20'+_0x5237f1['toFixed'](0x4)+',\x20'+_0x32cd95['toFixed'](0x4)+',\x20'+_0x378c62['toFixed'](0x4)+']';if(await Wa(_0x37ce36)){const _0x5d9618=_0x32f667['querySelector']('#orient-copy-status');_0x5d9618&&(_0x5d9618['style']['display']='inline',setTimeout(()=>{_0x5d9618['style']['display']='none';},0x7d0));}}['resetToIdentity'](){const _0x150043=this['panel'];_0x150043['querySelector']('#orient-euler-x')['value']='0',_0x150043['querySelector']('#orient-euler-y')['value']='0',_0x150043['querySelector']('#orient-euler-z')['value']='0',_0x150043['querySelector']('#orient-quat-x')['value']='0',_0x150043['querySelector']('#orient-quat-y')['value']='0',_0x150043['querySelector']('#orient-quat-z')['value']='0',_0x150043['querySelector']('#orient-quat-w')['value']='1',this['sceneManager']&&this['sceneManager']['resetBaseOrientation']();}['syncFromScene'](){if(!this['sceneManager'])return;const _0x3d56bc=this['sceneManager']['getBaseOrientation'](),_0x43f3fe=this['panel'];if(!_0x43f3fe)return;this['_updatingFromQuat']=!0x0,_0x43f3fe['querySelector']('#orient-quat-x')['value']=_0x3d56bc[0x0]['toFixed'](0x4),_0x43f3fe['querySelector']('#orient-quat-y')['value']=_0x3d56bc[0x1]['toFixed'](0x4),_0x43f3fe['querySelector']('#orient-quat-z')['value']=_0x3d56bc[0x2]['toFixed'](0x4),_0x43f3fe['querySelector']('#orient-quat-w')['value']=_0x3d56bc[0x3]['toFixed'](0x4);const _0x4e85f7=new _0x57eb35(_0x3d56bc[0x0],_0x3d56bc[0x1],_0x3d56bc[0x2],_0x3d56bc[0x3]),_0x3e7946=new _0x940d5()['setFromQuaternion'](_0x4e85f7,'ZYX');_0x43f3fe['querySelector']('#orient-euler-x')['value']=_0x205787['radToDeg'](_0x3e7946['x'])['toFixed'](0x2),_0x43f3fe['querySelector']('#orient-euler-y')['value']=_0x205787['radToDeg'](_0x3e7946['y'])['toFixed'](0x2),_0x43f3fe['querySelector']('#orient-euler-z')['value']=_0x205787['radToDeg'](_0x3e7946['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(_0x124023,_0x5c125b=_0x124023){var _0x530a38,_0x2e6f5a;const _0x793770=null==(_0x2e6f5a=null==(_0x530a38=window['i18n'])?void 0x0:_0x530a38['t'])?void 0x0:_0x2e6f5a['call'](_0x530a38,_0x124023);return _0x793770&&_0x793770!==_0x124023?_0x793770:_0x5c125b;}function Qa(_0x1303d5,_0x65521){var _0x5f067f,_0x422277;const _0x3ef620=document['getElementById'](_0x65521);if(!_0x3ef620||!_0x1303d5||!_0x1303d5['joints'])return;const _0x49542f=ht(_0x1303d5);let _0x17fa1b='';_0x49542f['forEach']((_0x320ebb,_0x59fa3e)=>{_0x17fa1b+='joint&link_id:\x20'+String(_0x59fa3e)['padEnd'](0x5)+'\x20joint_type:'+(_0x286fde=>{const _0x534271=_0x286fde['toUpperCase']();return _0x534271+'\x20'['repeat'](Math['max'](0xa,_0x534271['length'])-_0x534271['length']);})(_0x320ebb['type'])+'\x20joint_name:\x20'+_0x320ebb['name']['padEnd'](0x1c)+'\x20link_name:\x20'+(_0x320ebb['child']||'')['padEnd'](0x1c)+'\x0a';}),_0x3ef620['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('+_0x49542f['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'+_0x65521+'\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'+_0x49542f['map']((_0x1e13c9,_0x52413e)=>'\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'!==_0x1e13c9['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>'+_0x52413e+'</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>'+_0x1e13c9['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>'+_0x1e13c9['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>'+(_0x1e13c9['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==(_0x422277=null==(_0x5f067f=window['i18n'])?void 0x0:_0x5f067f['updatePageLanguage'])||_0x422277['call'](_0x5f067f),_0x3ef620['querySelector']('.joint-info-close')['addEventListener']('click',()=>{_0x3ef620['style']['transition']='opacity\x200.2s\x20ease,\x20transform\x200.2s\x20ease',_0x3ef620['style']['opacity']='0',_0x3ef620['style']['transform']='scale(0.95)',setTimeout(()=>{_0x3ef620['style']['display']='none',_0x3ef620['style']['opacity']='',_0x3ef620['style']['transform']='';},0xc8);const _0x19b935=document['getElementById']('toggle-joint-info-panel');_0x19b935&&_0x19b935['classList']['remove']('active');}),_0x3ef620['querySelector']('.joint-info-copy-btn')['addEventListener']('click',async()=>{const _0x23e62f=_0x3ef620['querySelector']('.joint-info-copy-btn');await Wa(_0x17fa1b)?(_0x23e62f['textContent']=Za('copied','✅\x20已复制'),setTimeout(()=>{_0x23e62f['textContent']=Za('copy','📋\x20复制');},0x5dc)):(_0x23e62f['textContent']=Za('copyFailed','❌\x20复制失败'),setTimeout(()=>{_0x23e62f['textContent']=Za('copy','📋\x20复制');},0x5dc));});}window['d3']=_0x54f813,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'](_0x1b2b47){try{const _0x181460=new Blob([_0x1b2b47['content']],{'type':'text/plain'}),_0x1f07c5=new File([_0x181460],_0x1b2b47['name'],{'type':'text/plain'});_0x1f07c5['vscodeDirectory']=_0x1b2b47['directory'],_0x1f07c5['vscodePath']=_0x1b2b47['path'],this['fileHandler']['fileMap']['set'](_0x1b2b47['name'],_0x1f07c5),this['fileHandler']['fileMap']['set'](_0x1b2b47['path'],_0x1f07c5),this['vscodeFileMap']['set'](_0x1b2b47['name'],_0x1b2b47),await this['fileHandler']['loadFile'](_0x1f07c5);const _0x3a8de0=[{'file':_0x1f07c5,'name':_0x1b2b47['name'],'type':this['detectFileType'](_0x1b2b47['name']),'path':_0x1b2b47['path'],'category':'model','ext':_0x1b2b47['name']['split']('.')['pop']()['toLowerCase']()}];this['fileHandler']['availableModels']=_0x3a8de0,this['fileTreeView']&&this['fileTreeView']['updateFileTree'](_0x3a8de0,this['fileHandler']['fileMap']),vscodeAdapter['log']('Model\x20loaded\x20successfully:\x20'+_0x1b2b47['name']);}catch(_0xe4daa5){vscodeAdapter['showError']('Failed\x20to\x20load\x20model:\x20'+_0xe4daa5['message']);}}['detectFileType'](_0x458f3d){const _0x145bcd=_0x458f3d['split']('.')['pop']()['toLowerCase']();return['urdf','xacro']['includes'](_0x145bcd)?'urdf':['mjcf','xml']['includes'](_0x145bcd)?'mjcf':['usd','usda','usdc','usdz']['includes'](_0x145bcd)?'usd':['obj','stl','dae','gltf','glb']['includes'](_0x145bcd)?'mesh':'unknown';}async['init'](){try{Ha['init']();const _0x1ca876=document['getElementById']('canvas');if(!_0x1ca876)return;this['sceneManager']=new Pi(_0x1ca876),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']=_0x177eae=>{this['fileTreeView']&&this['fileTreeView']['updateFileTree'](_0x177eae,this['fileHandler']['getFileMap']());},this['fileHandler']['onModelLoaded']=(_0xa36bca,_0x199520,_0x218f48=!0x1,_0x2698ee=null)=>{this['handleModelLoaded'](_0xa36bca,_0x199520,_0x218f48,_0x2698ee);},this['jointControlsUI']=new Ni(this['sceneManager']),this['jointControlsUI']['onJointChange']=_0x209b7b=>{this['rosConnectionPanel']&&this['rosConnectionPanel']['bidirectionalEnabled']&&this['rosConnectionPanel']['onJointChanged'](_0x209b7b);},this['modelGraphView']=new Vi(this['sceneManager']),this['fileTreeView']=new qi(),this['fileTreeView']['onFileClick']=_0x532d53=>{this['handleFileClick'](_0x532d53);},this['fileTreeView']['updateFileTree']([],new Map()),this['panelManager']=new Ui(),this['panelManager']['initAllPanels'](),this['rosConnectionPanel']=new Sa(this['rosController'],this);const _0x5ad0cd=this['rosConnectionPanel']['createPanel']();document['body']['appendChild'](_0x5ad0cd),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 _0x338d16=this['virtualCameraPanel']['createPanel']();document['body']['appendChild'](_0x338d16),this['virtualCameraPanel']['refreshLanguage'](),this['panelManager']['registerPanel']('virtual-camera-panel'),this['rosController']['addConnectionListener'](_0x2bc6fd=>{}),this['axesControlPanel']=new qa(this['sceneManager'],this);const _0x3833c2=this['axesControlPanel']['createPanel']();document['body']['appendChild'](_0x3833c2),this['panelManager']['registerPanel']('axes-control-panel'),this['axesControlPanel']['setOnRpyApply']((_0x4af0d9,_0x38693f)=>{const _0x4f33ef=this['sceneManager']['axesManager']['applyJointOriginRpy'](this['currentModel'],_0x4af0d9,_0x38693f);_0x4f33ef&&this['codeEditorManager']&&this['codeEditorManager']['updateUrdfOriginRpy'](_0x4f33ef['jointName'],_0x4f33ef['rpy']);}),this['jointAxesControlPanel']=new Ba(this['sceneManager'],this);const _0x43daa5=this['jointAxesControlPanel']['createPanel']();document['body']['appendChild'](_0x43daa5),this['panelManager']['registerPanel']('joint-axes-control-panel'),this['orientationControlPanel']=new Ya(this['sceneManager'],this);const _0x323294=this['orientationControlPanel']['createPanel']();document['body']['appendChild'](_0x323294),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':_0x2e830c=>this['handleThemeChanged'](_0x2e830c),'onAngleUnitChanged':_0x55664e=>this['handleAngleUnitChanged'](_0x55664e),'onIgnoreLimitsChanged':_0x7de003=>this['handleIgnoreLimitsChanged'](_0x7de003),'onLanguageChanged':_0x13bbd6=>this['handleLanguageChanged'](_0x13bbd6),'onResetJoints':()=>this['handleResetJoints'](),'onMujocoReset':()=>this['handleMujocoReset'](),'onMujocoToggleSimulate':()=>this['handleMujocoToggleSimulate'](),'onApplyAngles':()=>this['handleApplyAngles'](),'onSetHome':()=>this['handleSetHome'](),'onSelectAll':()=>this['handleSelectAll'](),'onResetToHome':()=>this['handleResetToHome'](),'onToggleShowMimic':_0x45b17e=>this['jointControlsUI']['setShowMimicJoints'](_0x45b17e)}),this['sceneManager']['onMeasurementUpdate']=()=>{this['measurementController']&&this['measurementController']['updateMeasurement']();},this['setupCanvasClickHandler'](_0x1ca876),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(_0x4ffa0f,_0x4c19d1=!0x1)=>{_0x4c19d1&&(this['_isReloading']=!0x0),this['fileHandler']['currentModelFile']=_0x4ffa0f,await this['fileHandler']['loadFile'](_0x4ffa0f),this['_isReloading']=!0x1;},this['codeEditorManager']['onSaveAs']=_0x1ba05a=>{const _0x43000b={'file':_0x1ba05a,'name':_0x1ba05a['name'],'type':this['detectFileType'](_0x1ba05a['name']),'path':_0x1ba05a['name'],'category':'model','ext':_0x1ba05a['name']['split']('.')['pop']()['toLowerCase']()},_0x31f9d5=this['fileHandler']['getAvailableModels']();_0x31f9d5['find'](_0x4e19af=>_0x4e19af['name']===_0x1ba05a['name'])||_0x31f9d5['push'](_0x43000b),this['fileTreeView']&&(this['fileTreeView']['updateFileTree'](_0x31f9d5,this['fileHandler']['getFileMap'](),!0x0),setTimeout(()=>{this['fileTreeView']['markActiveFile'](_0x1ba05a);},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 _0x334998=new URLSearchParams(window['location']['search'])['get']('mocap');if(_0x334998&&(await this['loadMocapAsMainModel'](_0x334998),this['rosConnectionPanel'])){this['rosConnectionPanel']['show']();const _0x124427=localStorage['getItem']('ros_url')||'ws://localhost:9090';this['rosConnectionPanel']['autoConnect'](_0x124427);}}catch(_0x159c32){}}['updateEditorButtonVisibility'](){const _0x3f2f88=document['getElementById']('open-editor-btn');_0x3f2f88&&_0x3f2f88['classList']['add']('visible');}async['handleModelLoaded'](_0x44fcf5,_0x45e2ea,_0x58a070=!0x1,_0x357dab=null){var _0x4e2766,_0x568981,_0x1b5fa5,_0x589ab6;const _0x4fb916=this['_isReloading'],_0x33ca91=[],_0x1633d1=[];if(_0x4fb916&&this['sceneManager']&&this['sceneManager']['axesManager']){const _0x2f1c77=this['sceneManager']['axesManager'];_0x2f1c77['getLinksWithAxes']()['forEach'](_0x45b934=>{_0x2f1c77['isLinkAxisVisible'](_0x45b934)&&_0x33ca91['push'](_0x45b934);}),_0x2f1c77['getJointNames']()['forEach'](_0x4a9253=>{_0x2f1c77['isJointAxisVisible'](_0x4a9253)&&_0x1633d1['push'](_0x4a9253);});}const _0x4084f7='xml'===_0x45e2ea['name']['split']('.')['pop']()['toLowerCase']()&&'mjcf'===(null==(_0x4e2766=null==_0x44fcf5?void 0x0:_0x44fcf5['userData'])?void 0x0:_0x4e2766['type']);if(this['mujocoSimulationManager']&&this['mujocoSimulationManager']['hasScene']()&&this['mujocoSimulationManager']['clearScene'](),_0x4084f7&&_0x44fcf5['joints']&&_0x44fcf5['joints']['size']>0x0){this['currentMJCFFile']=_0x45e2ea,this['currentMJCFModel']=_0x44fcf5;const _0x3da912=document['getElementById']('mujoco-simulation-bar'),_0x3dca6b=document['getElementById']('mujoco-reset-btn-bar'),_0x27b6e6=document['getElementById']('mujoco-simulate-btn-bar');if(_0x3da912&&(_0x3da912['style']['display']='flex'),_0x3dca6b){_0x3dca6b['disabled']=!0x1,_0x3dca6b['style']['opacity']='1',_0x3dca6b['style']['cursor']='pointer';const _0x584801=_0x3dca6b['querySelector']('span');_0x584801&&(_0x584801['textContent']=(null==(_0x568981=window['i18n'])?void 0x0:_0x568981['t']('mujocoReset'))||'Reset');}if(_0x27b6e6){_0x27b6e6['disabled']=!0x1,_0x27b6e6['style']['opacity']='1',_0x27b6e6['style']['cursor']='pointer',_0x27b6e6['classList']['remove']('active');const _0x1ab29e=_0x27b6e6['querySelector']('span');_0x1ab29e&&(_0x1ab29e['textContent']=(null==(_0x1b5fa5=window['i18n'])?void 0x0:_0x1b5fa5['t']('mujocoSimulate'))||'Simulate');}}else{const _0x523d41=document['getElementById']('mujoco-simulation-bar');_0x523d41&&(_0x523d41['style']['display']='none'),this['currentMJCFFile']=null,this['currentMJCFModel']=null;}if(null==(_0x589ab6=null==_0x44fcf5?void 0x0:_0x44fcf5['userData'])?void 0x0:_0x589ab6['isUSDWASM']){const _0x229474=document['getElementById']('canvas'),_0x636e9d=document['getElementById']('usd-viewer-container');_0x229474&&_0x636e9d&&(_0x229474['style']['display']='none',_0x636e9d['style']['display']='block');const _0x12a221=document['getElementById']('joint-controls-panel'),_0x213fe1=document['getElementById']('graph-panel');_0x12a221&&(_0x12a221['style']['display']='none'),_0x213fe1&&(_0x213fe1['style']['display']='none'),this['currentModel']=_0x44fcf5,this['rosController']['setModel'](_0x44fcf5),this['updateModelInfo'](_0x44fcf5,_0x45e2ea);const _0x554125=document['getElementById']('canvas-snapshot');return void((null==_0x554125?void 0x0:_0x554125['parentNode'])&&_0x554125['parentNode']['removeChild'](_0x554125));}let _0x4e6176=document['getElementById']('canvas');const _0xae8939=document['getElementById']('usd-viewer-container');_0x4e6176&&_0xae8939&&(_0x4e6176['style']['display']='block',_0xae8939['style']['display']='none'),this['usdViewerManager']&&(this['usdViewerManager']['clear'](),this['usdViewerManager']['hide']());const _0x3fba97=document['getElementById']('joint-controls-panel'),_0x2d0aaf=document['getElementById']('graph-panel');_0x3fba97&&(_0x3fba97['style']['display']=''),_0x2d0aaf&&(_0x2d0aaf['style']['display']=''),this['currentModel']&&(this['sceneManager']['removeModel'](this['currentModel']),this['currentModel']=null),this['currentModel']=_0x44fcf5,this['rosController']['setModel'](_0x44fcf5),this['sceneManager']['redraw'](),this['sceneManager']['render'](),_0x4e6176=document['getElementById']('canvas');let _0x5a2bc0=null;if(_0x4e6176)try{const _0xa0bf31=_0x4e6176['toDataURL']('image/png');_0x5a2bc0=document['createElement']('div'),_0x5a2bc0['id']='canvas-snapshot',_0x5a2bc0['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('+_0xa0bf31+');\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 _0x2ab4a5=document['getElementById']('canvas-container');_0x2ab4a5?_0x2ab4a5['appendChild'](_0x5a2bc0):document['body']['appendChild'](_0x5a2bc0);}catch(_0xa7d7b7){}let _0x1ed1ae=!0x1;const _0x21674f=()=>{_0x5a2bc0&&_0x5a2bc0['parentNode']&&!_0x1ed1ae&&(_0x1ed1ae=!0x0,_0x5a2bc0['style']['transition']='opacity\x200.3s\x20ease',_0x5a2bc0['style']['opacity']='0',setTimeout(()=>{_0x5a2bc0&&_0x5a2bc0['parentNode']&&(_0x5a2bc0['parentNode']['removeChild'](_0x5a2bc0),_0x5a2bc0=null);},0x12c));},_0x256240=setTimeout(()=>{_0x5a2bc0&&_0x5a2bc0['parentNode']&&(_0x21674f(),this['sceneManager']['off']('modelReady',_0x370e16));},0x1388),_0x370e16=()=>{clearTimeout(_0x256240),_0x21674f(),this['sceneManager']['off']('modelReady',_0x370e16),_0x4fb916&&(_0x33ca91['forEach'](_0x41bdc5=>{this['sceneManager']['axesManager']['showAxesByName'](_0x41bdc5,!0x0);}),_0x1633d1['forEach'](_0x57d93c=>{this['sceneManager']['axesManager']['showJointAxisByName'](_0x57d93c,!0x0);}),this['axesControlPanel']&&this['axesControlPanel']['updateAxesList'](),this['jointAxesControlPanel']&&this['jointAxesControlPanel']['updateAxesList']()),this['orientationControlPanel']&&this['orientationControlPanel']['syncFromScene']();};this['sceneManager']['on']('modelReady',_0x370e16),this['sceneManager']['addModel'](_0x44fcf5);const _0x186a02=document['getElementById']('drop-zone');if(_0x186a02&&(_0x186a02['classList']['remove']('show'),_0x186a02['classList']['remove']('drag-over')),_0x58a070){if(this['sceneManager']['setGroundVisible'](!0x1),this['modelGraphView']){_0x3a99e7('#model-graph-svg')['selectAll']('*:not(defs)')['remove']();const _0x46b9bf=document['getElementById']('graph-empty-state');_0x46b9bf&&_0x46b9bf['classList']['remove']('hidden');}const _0x176cdb=document['getElementById']('model-graph-panel');_0x176cdb&&(_0x176cdb['style']['display']='none');const _0x4b774d=document['getElementById']('joint-controls');if(_0x4b774d){_0x4b774d['innerHTML']='';const _0x592855=document['createElement']('div');_0x592855['className']='empty-state',_0x592855['textContent']=window['i18n']['t']('noModel'),_0x4b774d['appendChild'](_0x592855);}const _0x3259c9=document['getElementById']('joints-panel');_0x3259c9&&(_0x3259c9['style']['display']='none'),this['setAxesButtonState'](!0x0),this['codeEditorManager']&&this['codeEditorManager']['clearEditor']();}else{this['sceneManager']['setGroundVisible'](!0x0),this['jointControlsUI']['setupJointControls'](_0x44fcf5),this['rosConnectionPanel']&&this['rosConnectionPanel']['onModelLoaded'](_0x44fcf5),this['virtualCameraPanel']&&this['virtualCameraPanel']['refreshMountTargets'](),this['modelGraphView']&&this['modelGraphView']['drawModelGraph'](_0x44fcf5);const _0x4754d6=document['getElementById']('model-graph-panel');_0x4754d6&&(_0x4754d6['style']['display']='block');const _0x275c7d=document['getElementById']('joints-panel');_0x275c7d&&(_0x275c7d['style']['display']='block'),this['setAxesButtonState'](!0x1);}if(this['fileTreeView']&&!this['_isReloading']&&(this['fileTreeView']['updateFileTree'](this['fileHandler']['getAvailableModels'](),this['fileHandler']['getFileMap'](),!0x0),this['fileTreeView']['expandAndScrollToFile'](_0x45e2ea,this['fileHandler']['getFileMap']())),!this['_isReloading']&&!_0x58a070){const _0x3a0efc=document['getElementById']('code-editor-panel');if(_0x3a0efc&&this['codeEditorManager']){_0x3a0efc['classList']['add']('visible');const _0x205438=document['getElementById']('open-editor-btn');_0x205438&&_0x205438['classList']['add']('active'),this['codeEditorManager']['loadFile'](_0x45e2ea);}}this['updateEditorButtonVisibility'](),this['updateModelInfo'](_0x44fcf5,_0x45e2ea),_0x4fb916||_0x58a070||(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']()),_0x58a070||Qa(_0x44fcf5,'joint-info-panel');}['setupCanvasClickHandler'](_0x31aa22){let _0x419a1d=null,_0x10dbb7=0x0;_0x31aa22['addEventListener']('mousedown',_0x154d11=>{0x0===_0x154d11['button']&&(_0x419a1d={'x':_0x154d11['clientX'],'y':_0x154d11['clientY']},_0x10dbb7=Date['now']());},!0x0),_0x31aa22['addEventListener']('mouseup',_0x32c1b8=>{if(0x0!==_0x32c1b8['button']||!this['sceneManager']||!_0x419a1d)return;const _0x41c6dd=_0x32c1b8['clientX']-_0x419a1d['x'],_0x4ad3bd=_0x32c1b8['clientY']-_0x419a1d['y'],_0x12c66d=Math['sqrt'](_0x41c6dd*_0x41c6dd+_0x4ad3bd*_0x4ad3bd),_0x5dc503=Date['now']()-_0x10dbb7;if(_0x12c66d<0x5&&_0x5dc503<0x12c){const _0x151dd4=new _0x28dd19(),_0x3402a0=new _0x2bb978(),_0x491782=_0x31aa22['getBoundingClientRect']();_0x3402a0['x']=(_0x32c1b8['clientX']-_0x491782['left'])/_0x491782['width']*0x2-0x1,_0x3402a0['y']=-(_0x32c1b8['clientY']-_0x491782['top'])/_0x491782['height']*0x2+0x1,_0x151dd4['setFromCamera'](_0x3402a0,this['sceneManager']['camera']);const _0x4f35bd=_0x151dd4['intersectObjects'](this['sceneManager']['scene']['children'],!0x0),_0x31da48=_0x4f35bd['find'](_0x4d278f=>{if(!_0x4d278f['object']['userData']||!_0x4d278f['object']['userData']['isAxis']||!_0x4d278f['object']['userData']['linkName'])return!0x1;const _0x6fd077=_0x4d278f['object']['userData']['linkName'],_0x3d02f9=this['sceneManager']['axesManager']['linkAxesHelpers']['get'](_0x6fd077);return _0x3d02f9&&_0x3d02f9['visible'];});if(_0x31da48){const _0x20332a=_0x31da48['object']['userData']['linkName'];return this['sceneManager']['axesManager']['selectAxis'](_0x20332a),this['axesControlPanel']&&this['axesControlPanel']['showRpySection'](this['currentModel'],_0x20332a),void(_0x419a1d=null);}if(0x0===_0x4f35bd['filter'](_0x4298e3=>{const _0x913846=_0x4298e3['object'];let _0x3e288d=_0x913846;for(;_0x3e288d;){const _0x25073d=_0x3e288d['name']||'';if(_0x25073d['includes']('jointAxis')||_0x25073d['includes']('helper')||_0x25073d['includes']('grid')||_0x25073d['includes']('Ground')||'groundPlane'===_0x25073d)return!0x1;_0x3e288d=_0x3e288d['parent'];}return _0x913846['isMesh']&&_0x913846['visible'];})['length']){if(this['sceneManager']['highlightManager']['clearHighlight'](),this['sceneManager']['axesManager']['deselectAxis'](),this['axesControlPanel']&&this['axesControlPanel']['hideRpySection'](),this['modelGraphView']){const _0xae5f9d=_0x3a99e7('#model-graph-svg');this['modelGraphView']['clearAllSelections'](_0xae5f9d);}this['measurementController']&&this['measurementController']['clearMeasurement']();}}_0x419a1d=null;},!0x0);}['setupModelTreePanel'](){const _0x42afce=document['getElementById']('toggle-model-tree'),_0x1da3f3=document['getElementById']('floating-model-tree');_0x42afce&&_0x1da3f3&&(_0x1da3f3['style']['display']='flex',_0x42afce['classList']['add']('active')),_0x1da3f3&&_0x1da3f3['addEventListener']('click',_0x262bbe=>{var _0x39f03b,_0x33f8d5;const _0x3b4f97=_0x262bbe['target'];if(_0x3b4f97===_0x1da3f3||(null==(_0x39f03b=_0x3b4f97['classList'])?void 0x0:_0x39f03b['contains']('graph-controls-hint'))||(null==(_0x33f8d5=_0x3b4f97['classList'])?void 0x0:_0x33f8d5['contains']('empty-state'))||'floating-model-tree'===_0x3b4f97['id']){if(this['modelGraphView']){const _0x5721ef=_0x3a99e7('#model-graph-svg');this['modelGraphView']['clearAllSelections'](_0x5721ef);}this['measurementController']&&this['measurementController']['clearMeasurement'](),this['sceneManager']&&this['sceneManager']['highlightManager']['clearHighlight']();}});}['updateModelInfo'](_0x30a7cf,_0xab6100){const _0x1bae6b=document['getElementById']('status-info');if(!_0x1bae6b||!_0x30a7cf)return;let _0x30a5f9='<strong>'+_0xab6100['name']+'</strong><br>';if(_0x30a5f9+='Type:\x20'+_0xab6100['name']['split']('.')['pop']()['toLowerCase']()['toUpperCase']()+'<br>',_0x30a7cf['links']&&(_0x30a5f9+='Links:\x20'+_0x30a7cf['links']['size']+'<br>'),_0x30a7cf['joints']){const _0x4ec106=Array['from'](_0x30a7cf['joints']['values']())['filter'](_0x3df440=>'fixed'!==_0x3df440['type'])['length'];_0x30a5f9+='Joints:\x20'+_0x30a7cf['joints']['size']+'\x20('+_0x4ec106+'\x20controllable)<br>';}if(_0x30a7cf['constraints']&&_0x30a7cf['constraints']['size']>0x0){_0x30a5f9+='<span\x20style=\x22color:\x20#00aaff;\x20font-weight:\x20bold;\x22>Constraints:\x20'+_0x30a7cf['constraints']['size']+'\x20🔗</span><br>';const _0x19f8bc={};_0x30a7cf['constraints']['forEach'](_0x19b5e9=>{_0x19f8bc[_0x19b5e9['type']]=(_0x19f8bc[_0x19b5e9['type']]||0x0)+0x1;});const _0x288958={'connect':'Connect','weld':'Weld','joint':'Joint\x20Coupling','distance':'Distance'};_0x30a5f9+='<span\x20style=\x22font-size:\x2011px;\x20color:\x20#888;\x22>'+Object['entries'](_0x19f8bc)['map'](([_0x2d0c32,_0x384252])=>(_0x288958[_0x2d0c32]||_0x2d0c32)+':\x20'+_0x384252)['join'](',\x20')+'</span><br>';}_0x30a7cf['rootLink']&&(_0x30a5f9+='Root\x20Link:\x20'+_0x30a7cf['rootLink']),_0x1bae6b['innerHTML']=_0x30a5f9,_0x1bae6b['className']='success';}['handleFileClick'](_0x159467){const _0x16fc91=_0x159467['ext'];if(['urdf','xacro','xml','usd','usda','usdc','usdz']['includes'](_0x16fc91)){this['fileHandler']['loadFile'](_0x159467['file']);const _0x4fce49=document['getElementById']('code-editor-panel');_0x4fce49&&_0x4fce49['classList']['contains']('visible')&&this['codeEditorManager']&&this['codeEditorManager']['loadFile'](_0x159467['file']);}else['dae','stl','obj','collada']['includes'](_0x16fc91)&&this['fileHandler']['loadMeshAsModel'](_0x159467['file'],_0x159467['name']);}['createUSDViewerContainer'](){const _0x263f0c=document['getElementById']('canvas-container');if(!_0x263f0c)return;const _0x40d1c5=document['createElement']('div');_0x40d1c5['id']='usd-viewer-container',_0x40d1c5['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',_0x263f0c['appendChild'](_0x40d1c5);}async['getUSDViewerManager'](){if(!this['usdViewerManager']){const _0x321582=document['getElementById']('usd-viewer-container');if(!_0x321582)throw new Error('USD\x20viewer\x20container\x20not\x20found');this['usdViewerManager']=new Hi(_0x321582),this['fileHandler']['setUSDViewerManager'](this['usdViewerManager']),this['usdViewerManager']['on']('USD_LOADING_START',_0x44b53d=>{var _0x3b4143;const _0x8ca4fd=(null==(_0x3b4143=_0x44b53d['data'])?void 0x0:_0x3b4143['message'])||'Loading\x20USD...',_0x999cb6=document['getElementById']('status-info');_0x999cb6&&(_0x999cb6['textContent']=_0x8ca4fd,_0x999cb6['className']='info');}),this['usdViewerManager']['on']('USD_LOADED',()=>{const _0x40ae68=document['getElementById']('status-info');_0x40ae68&&(_0x40ae68['textContent']='USD\x20file\x20loaded\x20successfully',_0x40ae68['className']='success');}),this['usdViewerManager']['on']('USD_ERROR',_0x5dba9a=>{var _0x517611;const _0xf6b30f=(null==(_0x517611=_0x5dba9a['data'])?void 0x0:_0x517611['error'])||'Load\x20failed',_0x434b34=document['getElementById']('status-info');_0x434b34&&(_0x434b34['textContent']='Load\x20failed:\x20'+_0xf6b30f,_0x434b34['className']='error');});}return this['usdViewerManager'];}['handleThemeChanged'](_0x369dda){this['codeEditorManager']&&this['codeEditorManager']['updateTheme'](_0x369dda),this['currentModel']&&this['modelGraphView']&&this['modelGraphView']['drawModelGraph'](this['currentModel']);}['handleAngleUnitChanged'](_0xbda537){this['angleUnit']=_0xbda537,this['jointControlsUI']&&this['jointControlsUI']['setAngleUnit'](_0xbda537);}['handleResetJoints'](){this['currentModel']&&this['jointControlsUI']&&this['jointControlsUI']['resetAllJoints'](this['currentModel']);}['handleIgnoreLimitsChanged'](_0x27bc3e){this['jointControlsUI']&&this['currentModel']&&this['jointControlsUI']['updateAllSliderLimits'](this['currentModel'],_0x27bc3e);}['handleApplyAngles'](){this['jointControlsUI']&&this['jointControlsUI']['handleApplyAngles']();}['handleSetHome'](){var _0xdd032f,_0x2a80c5;if(!this['currentModel']||!this['currentModel']['joints'])return;const _0x363900={};this['currentModel']['joints']['forEach']((_0xf70999,_0x215e82)=>{'fixed'!==_0xf70999['type']&&(_0x363900[_0x215e82]=_0xf70999['currentValue']);}),this['currentModel']['userData']||(this['currentModel']['userData']={}),this['currentModel']['userData']['homePositions']=_0x363900,this['jointControlsUI']&&this['jointControlsUI']['updateButtonStates']();const _0x598b4a=Object['keys'](_0x363900)['length'],_0xf4b29b=(null==(_0x2a80c5=null==(_0xdd032f=window['i18n'])?void 0x0:_0xdd032f['t']('setHomeSuccess'))?void 0x0:_0x2a80c5['replace']('{count}',_0x598b4a))||'已记录\x20'+_0x598b4a+'\x20个关节的零位';this['jointControlsUI']['showToast'](_0xf4b29b,'success');}['handleSelectAll'](){this['jointControlsUI']&&this['jointControlsUI']['handleSelectAll']();}['handleResetToHome'](){this['jointControlsUI']&&this['jointControlsUI']['handleResetToHome']();}['handleLanguageChanged'](_0x195135){var _0x55dd20,_0x54e6ec,_0x157655,_0x538cfa,_0x1bfd00,_0x2867a4;Ha['setLanguage'](_0x195135),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 _0x4f2ba0=document['getElementById']('mujoco-simulate-btn-bar');if(_0x4f2ba0){const _0x7dfaaa=_0x4f2ba0['querySelector']('span');if(_0x7dfaaa){const _0x4899d8=_0x4f2ba0['classList']['contains']('active')?'mujocoPause':'mujocoSimulate';_0x7dfaaa['textContent']=Ha['t'](_0x4899d8),_0x7dfaaa['setAttribute']('data-i18n',_0x4899d8);}}null==(_0x54e6ec=null==(_0x55dd20=this['virtualCameraPanel'])?void 0x0:_0x55dd20['refreshLanguage'])||_0x54e6ec['call'](_0x55dd20),null==(_0x538cfa=null==(_0x157655=this['rosConnectionPanel'])?void 0x0:_0x157655['refreshLanguage'])||_0x538cfa['call'](_0x157655),null==(_0x2867a4=null==(_0x1bfd00=this['orientationControlPanel'])?void 0x0:_0x1bfd00['refreshLanguage'])||_0x2867a4['call'](_0x1bfd00);}['setAxesButtonState'](_0xcfffcf){const _0x2c9ba1=document['getElementById']('toggle-axes-btn'),_0x29b067=document['getElementById']('toggle-joint-axes-btn');_0x2c9ba1&&_0x29b067&&(_0x2c9ba1['setAttribute']('data-checked',_0xcfffcf['toString']()),_0x29b067['setAttribute']('data-checked','false'),_0xcfffcf?(_0x2c9ba1['classList']['add']('active'),_0x29b067['classList']['remove']('active'),this['sceneManager']&&(this['sceneManager']['axesManager']['showAllAxes'](),this['sceneManager']['axesManager']['hideAllJointAxes']())):(_0x2c9ba1['classList']['remove']('active'),_0x29b067['classList']['remove']('active'),this['sceneManager']&&(this['sceneManager']['axesManager']['hideAllAxes'](),this['sceneManager']['axesManager']['hideAllJointAxes']())),this['mujocoSimulationManager']&&this['mujocoSimulationManager']['hasScene']()&&(this['mujocoSimulationManager']['toggleAxesDisplay'](_0xcfffcf),this['mujocoSimulationManager']['toggleJointAxesDisplay'](!0x1)));}['detectFileType'](_0x42f90f){return{'urdf':'urdf','xml':'mjcf','usd':'usd','usda':'usd','usdc':'usd','usdz':'usd'}[_0x42f90f['toLowerCase']()['split']('.')['pop']()]||'urdf';}async['loadMocapAsMainModel'](_0x6791a){const {MOCAP_CONFIG:_0x20014c}=await Ae(()=>Promise['resolve']()['then'](()=>_a),void 0,import.meta.url),_0x5d1197=_0x20014c[_0x6791a];if(_0x5d1197)try{const _0x56796f=await fetch(_0x5d1197['urdfPath']);if(!_0x56796f['ok'])throw new Error('Failed\x20to\x20fetch\x20URDF:\x20'+_0x56796f['statusText']);const _0x3ab291=await _0x56796f['text'](),_0x457d1b=_0x5d1197['urdfPath']['substring'](0x0,_0x5d1197['urdfPath']['lastIndexOf']('/')+0x1),_0x1aae4d=_0x3ab291['replace'](/filename="[^"]*?(meshes\/[^"]+)"/g,'filename=\x22'+_0x457d1b+'$1\x22'),_0x4ca156=new Blob([_0x1aae4d],{'type':'text/xml'}),_0x412dfc=new File([_0x4ca156],_0x6791a+'.urdf',{'type':'text/xml'});this['fileHandler']['fileMap']['clear'](),this['fileHandler']['fileMap']['set'](_0x412dfc['name'],_0x412dfc),await this['fileHandler']['loadFile'](_0x412dfc);const _0x5ea306=this['sceneManager']['currentModel'];if(_0x5ea306&&_0x5ea306['joints']){const _0x1f84e8={};_0x5ea306['joints']['forEach']((_0x1d1f52,_0x17d15b)=>{'fixed'!==_0x1d1f52['type']&&(_0x1f84e8[_0x17d15b]=_0x1d1f52['currentValue']);}),_0x5ea306['userData']||(_0x5ea306['userData']={}),_0x5ea306['userData']['homePositions']=_0x1f84e8;}_0x5d1197['scale']&&this['sceneManager']['currentModel']&&this['sceneManager']['currentModel']['threeObject']['scale']['set'](_0x5d1197['scale'],_0x5d1197['scale'],_0x5d1197['scale']),_0x5d1197['rotation']&&this['sceneManager']['currentModel']&&this['sceneManager']['currentModel']['threeObject']['rotation']['set'](_0x5d1197['rotation']['x'],_0x5d1197['rotation']['y'],_0x5d1197['rotation']['z']),this['sceneManager']['currentModel']&&this['sceneManager']['currentModel']['threeObject']['updateMatrixWorld'](!0x0);}catch(_0x4bba3d){alert('Failed\x20to\x20load\x20'+_0x5d1197['name']+':\x20'+_0x4bba3d['message']);}else alert('Unknown\x20mocap\x20model:\x20'+_0x6791a);}async['autoConnectROS'](_0x3a13e7){var _0x59da35;const _0x5f1348=localStorage['getItem']('ros_url')||'ws://localhost:9090';try{if(await this['rosController']['connect'](_0x5f1348),await new Promise(_0x543e12=>setTimeout(_0x543e12,0x1f4)),'tf'===_0x3a13e7['topicType']&&this['sceneManager']['currentModel']){let _0x3883fc=_0x3a13e7['rosTopic'];const _0x123f62=document['querySelector']('#floating-ros-panel');if(_0x123f62){const _0x5ab257=null==(_0x59da35=_0x123f62['querySelectorAll']('#ros-topic-list\x20.ros-topic-row')[0x0])?void 0x0:_0x59da35['querySelector']('.ros-topic-input');(null==_0x5ab257?void 0x0:_0x5ab257['value'])&&(_0x3883fc=_0x5ab257['value']);}this['rosController']['tfController']['subscribeTF'](_0x3a13e7['id'],this['sceneManager']['currentModel'],_0x3883fc);}}catch(_0x1ddec3){}}['handleMujocoReset'](){this['mujocoSimulationManager']&&this['mujocoSimulationManager']['reset']();}async['handleMujocoToggleSimulate'](){if(!this['mujocoSimulationManager']['hasScene']()&&this['currentMJCFFile']&&this['currentMJCFModel'])try{const _0x1bdfab=await this['currentMJCFFile']['text']();return await this['mujocoSimulationManager']['loadScene'](_0x1bdfab,this['currentMJCFFile']['name'],this['fileHandler']['getFileMap'](),this['currentMJCFModel']),this['currentModel']&&this['currentModel']['threeObject']&&(this['currentModel']['threeObject']['visible']=!0x1),this['mujocoSimulationManager']['startSimulation'](),!0x0;}catch(_0x369980){return!0x1;}if(this['mujocoSimulationManager']){const _0x29cfb5=this['mujocoSimulationManager']['toggleSimulation']();return this['currentModel']&&this['currentModel']['threeObject']&&(this['currentModel']['threeObject']['visible']=!_0x29cfb5),_0x29cfb5;}return!0x1;}['animate'](){var _0x12583b,_0x4bffbd;if(requestAnimationFrame(()=>this['animate']()),this['sceneManager']){this['sceneManager']['update'](),this['mujocoSimulationManager']&&this['mujocoSimulationManager']['hasScene']()&&this['mujocoSimulationManager']['update'](performance['now']());const _0x4d5257=performance['now'](),_0x21da61=!(!0x0===(null==(_0x4bffbd=null==(_0x12583b=this['virtualCameraPublisher'])?void 0x0:_0x12583b['isRunning'])?void 0x0:_0x4bffbd['call'](_0x12583b)))&&_0x4d5257-this['_lastSafetyRenderAt']>0xfa;(this['sceneManager']['hasPendingRender']()||_0x21da61)&&(this['sceneManager']['render'](),this['_lastSafetyRenderAt']=_0x4d5257);}}}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-b7b606e3.js'),["./PlotPanel-b7b606e3.js","./three-9c891de0.js","./d3-2e308866.js","./codemirror-c3cec7b3.js","./codemirror-themes-e6995a6a.js","../css/PlotPanel-3e7d7555.css"],import.meta.url)['then'](_0x4f18ae=>{t&&(t['innerHTML']='');const _0x56792f=new _0x4f18ae['PlotPanel']();_0x56792f['init'](),window['plotPanel']=_0x56792f;})['catch'](_0x2b4df0=>{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>'+(_0x2b4df0&&_0x2b4df0['message']?_0x2b4df0['message']:Ha['t']('unknownError'))+'</div></div>');});}else{const e=new Ka();e['init'](),window['app']=e;}export{xa as R,Ae as _};