-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.es.js.map
1 lines (1 loc) · 26.2 KB
/
index.es.js.map
1
{"version":3,"file":"index.es.js","sources":["src/index.js"],"sourcesContent":["import karas from 'karas';\nimport { MarsPlayer,AssetManager,Material,glContext,Composition } from '@galacean/mars-player';\n// const { MarsPlayer,AssetManager,Material,glContext,Composition } = window.mars;\nimport { version } from '../package.json';\n\nconst {\n refresh: {\n level: {\n CACHE,\n },\n webgl: {\n drawTextureCache,\n },\n },\n math: {\n matrix: {\n calRectPoint,\n },\n },\n util: {\n isNil,\n },\n mode: {\n CANVAS,\n WEBGL,\n },\n inject,\n} = karas;\n\nconst r2d = 180 / Math.PI;\n\nconst vertexSimple = `\nprecision lowp float;\nattribute vec2 aPos;\nvoid main(){ gl_Position = vec4(aPos,.0,1.);}\n`;\nconst fragmentSimple = `\nprecision lowp float;\nvoid main(){ gl_FragColor = vec4(1.);}\n`;\n\nfunction mapRange(p, min, max) {\n return p === 0 ? 0 : min + (max - min) * p;\n}\n\nclass $ extends karas.Geom {\n scene = null;\n playOptions = null;\n mp = null;\n timeDelta = 0;\n playbackRate = 1;\n\n constructor(tagName, props) {\n super(tagName, props);\n }\n\n render(renderMode, ctx, dx, dy) {\n let res = super.render(renderMode, ctx, dx, dy);\n if(res.break) {\n return res;\n }\n let root = this.__root;\n if(renderMode !== root.__renderMode || renderMode !== WEBGL) {\n return res;\n }\n let scene = this.scene;\n let gl = ctx;\n if(scene) {\n let mp = this.mp;\n if(!mp) {\n gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, false);\n const renderFramework = gl instanceof WebGLRenderingContext? 'webgl': 'webgl2';\n mp = this.mp = new MarsPlayer({\n gl, renderFramework,\n manualRender: true,\n });\n this.gpu = mp.gpuCapability;\n this.renderState = mp.renderer.pipelineContext.gl;\n this.defaultMtl = Material.create({\n name: 'defMtl',\n shader: {\n vertex: vertexSimple,\n fragment: fragmentSimple,\n }\n });\n this.defaultMtl.blending = true;\n this.defaultMtl.blendFunction = [gl.ONE,gl.ONE_MINUS_SRC_ALPHA,gl.ONE,gl.ONE_MINUS_SRC_ALPHA];\n this.defaultMtl.depthMask = true;\n this.defaultMtl.depthTest = true;\n this.defaultMtl.culling = false;\n this.defaultMtl.cullFace = gl.CCW;\n this.defaultMtl.stencilTest = false;\n this.defaultMtl.polygonOffsetFill = false;\n this.defaultMtl.polygonOffset = [1, 0];\n\n this.renderState.bindFramebuffer(gl.FRAMEBUFFER, null);\n this.renderState.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 0);\n\n if(!this.host.blend) {\n this.renderState.disable(glContext.BLEND);\n }\n let flipY = gl.getParameter(gl.UNPACK_FLIP_Y_WEBGL);\n let premultiply = gl.getParameter(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL);\n let program = gl.getParameter(gl.CURRENT_PROGRAM);\n gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, false);\n let activeTexIndex = gl.getParameter(gl.ACTIVE_TEXTURE);\n let originTexture = gl.getParameter(gl.TEXTURE_BINDING_2D);\n const renderer = mp.renderer;\n let composition = this.composition = Composition.initialize(scene, {\n handleEnd: () => {},\n keepResource: false,\n willReverseTime: false,\n ...this.playOptions,\n renderer,\n width: renderer.getWidth(),\n height: renderer.getHeight(),\n shaderLibrary: renderer.getShaderLibrary(),\n });\n let onComp = () => {\n composition.start();\n if (originTexture) {\n gl.bindTexture(gl.TEXTURE_2D, originTexture);\n }\n gl.activeTexture(activeTexIndex);\n this.renderState.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, +premultiply);\n this.renderState.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, +flipY);\n this.renderState.useProgram(null);\n gl.useProgram(program);\n scene.textures = void 0;\n };\n onComp();\n }\n let comp = this.composition;\n let renderer = comp && comp.renderer;\n if(renderer && !renderer.isDestroyed && !mp.paused) {\n this._updateTransform();\n this._updateComposition();\n let bit = glContext.STENCIL_BUFFER_BIT;\n if(this.host.clearDepth) {\n bit = bit | glContext.DEPTH_BUFFER_BIT;\n }\n this.renderState.clear(bit);\n renderer.renderRenderFrame(comp.renderFrame)\n }\n this._reset(ctx);\n }\n }\n\n _updateTransform() {\n let parent = this.domParent;\n let comp = this.composition;\n let point = this.project3DPoint(comp.camera);\n let scaleX = parent.getStyle('scaleX'),\n scaleY = parent.getStyle('scaleY'),\n rotateZ = parent.getStyle('rotateZ');\n let env = this.env;\n comp.rootTransform.setTransform({\n // position: point,\n scale: [scaleX, scaleY, 1],\n // rotation: [0, 0, rotateZ],\n });\n }\n\n _updateComposition() {\n let comp = this.composition;\n if(comp.shouldRestart()) {\n comp.restart();\n comp.update(0);\n }\n else if(!comp.shouldDestroy) {\n let dt = Math.min(this.timeDelta || 0, 33) * this.playbackRate;\n comp.update(dt);\n }\n }\n\n _reset(gl) {\n gl.useProgram(gl.program);\n gl.enable(gl.BLEND);\n gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, 1);\n gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true);\n this.aliasRenderState();\n }\n\n aliasRenderState() {\n let mtl = this.defaultMtl;\n let marsRenderState = this.mp.renderer.pipelineContext;\n\n if(mtl && marsRenderState) {\n marsRenderState.reset();\n mtl.setupStates(marsRenderState);\n delete marsRenderState.glCapabilityCache[glContext.BLEND];\n marsRenderState.depthMask(false);\n marsRenderState.activeTexture(glContext.TEXTURE0);\n }\n }\n\n project3DPoint(camera, z = 0) {\n let parent = this.domParent;\n let x1 = this.x, y1 = this.y,\n translateX = parent.getStyle('translateX'),\n translateY = parent.getStyle('translateY');\n let pos = camera.position;\n let pw = this.width, ph = this.height;\n let fov = Math.tan(camera.fov / r2d / 2);\n let depth = pos[2] - z;\n let width, height;\n if(camera.clipMode) {\n width = fov * depth;\n height = width * ph / pw;\n }\n else {\n height = fov * depth;\n width = height * pw / ph;\n }\n let x = (x1 + translateX) / pw;\n let y = (y1 + translateY) / ph;\n return [mapRange(x, -width, width) + pos[0], mapRange(y, -height, height) + pos[1], z];\n }\n}\n\nclass Mars extends karas.Component {\n isPlay = false;\n isLoaded = false;\n __playbackRate = 1;\n clearDepth = false;\n blend = false;\n\n constructor(props) {\n super(props);\n\n this.isPlay = props.autoPlay !== false;\n this.__playbackRate = props.playbackRate ?? 1;\n this.clearDepth = !!props.clearDepth;\n this.blend = !!props.blend;\n }\n\n componentDidMount() {\n this.load();\n\n let { autoPlay = true } = this.props;\n this.cb = timeDelta => {\n fake.timeDelta = timeDelta;\n if(this.isPlay && this.isLoaded) {\n fake.refresh();\n }\n }\n let fake = this.ref.fake;\n fake.playbackRate = this.__playbackRate;\n if(autoPlay) {\n fake.frameAnimate(this.cb);\n }\n }\n\n componentWillUnmount() {\n const mp = this.ref.fake.mp;\n mp && mp.destroy(true);\n }\n\n load() {\n let url = this.props.url;\n if(!url) {\n return;\n }\n let request = new XMLHttpRequest();\n request.open('get', url, true);\n request.responseType = 'json';\n request.onload = () => {\n if(request.response) {\n this.isLoaded = true;\n let json = request.response;\n const asset = new AssetManager( {...this.props?.loadOptions});\n asset.loadScene(json).then(scene => {\n this.props.onLoad?.();\n this.playAnimation(scene);\n });\n }\n };\n request.send();\n }\n\n playAnimation(scene) {\n let fake = this.ref.fake;\n fake.scene = scene;\n fake.playOptions = this.props?.playOptions;\n // 第一帧强制显示\n fake.refresh();\n }\n\n render() {\n return <div>\n <$ ref=\"fake\" style={{\n width: '100%',\n height: '100%',\n fill: 'none',\n stroke: 0,\n }}/>\n </div>;\n }\n\n play(start) {\n const cb = () => {\n let comp = this.ref.fake.composition;\n if (comp) {\n this.ref.fake.removeFrameAnimate(cb);\n this.pause();\n comp.restart();\n comp.update(start ?? 0);\n this.resume();\n }\n }\n this.ref.fake.frameAnimate(cb);\n }\n\n pause() {\n this.ref.fake.removeFrameAnimate(this.cb);\n }\n\n resume() {\n this.ref.fake.frameAnimate(this.cb);\n }\n\n get playbackRate() {\n return this.__playbackRate;\n }\n\n set playbackRate(v) {\n v = parseFloat(v) ?? 1;\n // if(v <= 0) {\n // v = 1;\n // }\n this.__playbackRate = v;\n if (this.ref.fake) {\n this.ref.fake.playbackRate = v;\n }\n }\n}\n\nMars.version = version;\n\nexport default Mars;\n"],"names":["_karas$refresh","karas","refresh","CACHE","level","drawTextureCache","webgl","calRectPoint","math","matrix","isNil","util","_karas$mode","mode","CANVAS","WEBGL","inject","r2d","Math","PI","vertexSimple","fragmentSimple","mapRange","p","min","max","$","_karas$Geom","_inherits","tagName","props","_this","call","_defineProperty","_assertThisInitialized","_createClass","key","value","render","renderMode","ctx","dx","dy","_this2","res","_get","_getPrototypeOf","prototype","root","__root","__renderMode","scene","gl","mp","pixelStorei","UNPACK_PREMULTIPLY_ALPHA_WEBGL","renderFramework","WebGLRenderingContext","MarsPlayer","manualRender","gpu","gpuCapability","renderState","renderer","pipelineContext","defaultMtl","Material","create","name","shader","vertex","fragment","blending","blendFunction","ONE","ONE_MINUS_SRC_ALPHA","depthMask","depthTest","culling","cullFace","CCW","stencilTest","polygonOffsetFill","polygonOffset","bindFramebuffer","FRAMEBUFFER","host","blend","disable","glContext","BLEND","flipY","getParameter","UNPACK_FLIP_Y_WEBGL","premultiply","program","CURRENT_PROGRAM","activeTexIndex","ACTIVE_TEXTURE","originTexture","TEXTURE_BINDING_2D","composition","Composition","initialize","_objectSpread","handleEnd","keepResource","willReverseTime","playOptions","width","getWidth","height","getHeight","shaderLibrary","getShaderLibrary","onComp","start","bindTexture","TEXTURE_2D","activeTexture","useProgram","textures","comp","isDestroyed","paused","_updateTransform","_updateComposition","bit","STENCIL_BUFFER_BIT","clearDepth","DEPTH_BUFFER_BIT","clear","renderRenderFrame","renderFrame","_reset","parent","domParent","project3DPoint","camera","scaleX","getStyle","scaleY","rotateZ","env","rootTransform","setTransform","scale","shouldRestart","restart","update","shouldDestroy","dt","timeDelta","playbackRate","enable","blendFunc","aliasRenderState","mtl","marsRenderState","reset","setupStates","glCapabilityCache","TEXTURE0","z","arguments","length","undefined","x1","x","y1","y","translateX","translateY","pos","position","pw","ph","fov","tan","depth","clipMode","Geom","Mars","_karas$Component","_props$playbackRate","_this3","isPlay","autoPlay","__playbackRate","componentDidMount","_this4","load","_this$props$autoPlay","cb","fake","isLoaded","ref","frameAnimate","componentWillUnmount","destroy","_this5","url","request","XMLHttpRequest","open","responseType","onload","response","_this5$props","json","asset","AssetManager","loadOptions","loadScene","then","_this5$props$onLoad","_this5$props2","onLoad","playAnimation","send","_this$props","createElement","style","fill","stroke","play","_this6","removeFrameAnimate","pause","resume","get","set","v","_parseFloat","parseFloat","Component","version"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAAA,cAAA,GAsBIC,KAAK,CArBPC,OAAO,CAAA;AAEHC,EAAKH,cAAA,CADPI,KAAK,CACHD,KAAK,CAAA;AAGLE,EAAgBL,cAAA,CADlBM,KAAK,CACHD,gBAAgB,CAAA;AAKhBE,EAWFN,KAAK,CAbPO,IAAI,CACFC,MAAM,CACJF,YAAY,CAAA;AAIdG,EAOAT,KAAK,CARPU,IAAI,CACFD,KAAK,CAAA;MAAAE,WAAA,GAOLX,KAAK,CALPY,IAAI,CAAA;EACID,WAAA,CAANE,MAAM,CAAA;MACNC,KAAK,GAAAH,WAAA,CAALG,KAAK,CAAA;EAGLd,KAAK,CADPe,OAAM;AAGR,IAAMC,GAAG,GAAG,GAAG,GAAGC,IAAI,CAACC,EAAE,CAAA;AAEzB,IAAMC,YAAY,GAIjB,gGAAA,CAAA;AACD,IAAMC,cAAc,GAGnB,mEAAA,CAAA;AAED,SAASC,QAAQA,CAACC,CAAC,EAAEC,GAAG,EAAEC,GAAG,EAAE;AAC7B,EAAA,OAAOF,CAAC,KAAK,CAAC,GAAG,CAAC,GAAGC,GAAG,GAAG,CAACC,GAAG,GAAGD,GAAG,IAAID,CAAC,CAAA;AAC5C,CAAA;AAAC,IAEKG,CAAC,0BAAAC,WAAA,EAAA;EAAAC,SAAA,CAAAF,CAAA,EAAAC,WAAA,CAAA,CAAA;AAOL,EAAA,SAAAD,CAAYG,CAAAA,OAAO,EAAEC,KAAK,EAAE;AAAA,IAAA,IAAAC,KAAA,CAAA;IAC1BA,KAAA,GAAAJ,WAAA,CAAAK,IAAA,OAAMH,OAAO,EAAEC,KAAK,CAAC,IAAA,IAAA,CAAA;AAACG,IAAAA,eAAA,CAAAC,sBAAA,CAAAH,KAAA,YAPhB,IAAI,CAAA,CAAA;AAAAE,IAAAA,eAAA,CAAAC,sBAAA,CAAAH,KAAA,kBACE,IAAI,CAAA,CAAA;AAAAE,IAAAA,eAAA,CAAAC,sBAAA,CAAAH,KAAA,SACb,IAAI,CAAA,CAAA;AAAAE,IAAAA,eAAA,CAAAC,sBAAA,CAAAH,KAAA,gBACG,CAAC,CAAA,CAAA;AAAAE,IAAAA,eAAA,CAAAC,sBAAA,CAAAH,KAAA,mBACE,CAAC,CAAA,CAAA;AAAA,IAAA,OAAAA,KAAA,CAAA;AAIhB,GAAA;AAACI,EAAAA,YAAA,CAAAT,CAAA,EAAA,CAAA;IAAAU,GAAA,EAAA,QAAA;IAAAC,KAAA,EAED,SAAAC,MAAAA,CAAOC,UAAU,EAAEC,GAAG,EAAEC,EAAE,EAAEC,EAAE,EAAE;AAAA,MAAA,IAAAC,MAAA,GAAA,IAAA,CAAA;AAC9B,MAAA,IAAIC,GAAG,GAAAC,IAAA,CAAAC,eAAA,CAAApB,CAAA,CAAAqB,SAAA,mBAAAf,IAAA,CAAA,IAAA,EAAgBO,UAAU,EAAEC,GAAG,EAAEC,EAAE,EAAEC,EAAE,CAAC,CAAA;MAC/C,IAAGE,GAAG,SAAM,EAAE;AACZ,QAAA,OAAOA,GAAG,CAAA;AACZ,OAAA;AACA,MAAA,IAAII,IAAI,GAAG,IAAI,CAACC,MAAM,CAAA;MACtB,IAAGV,UAAU,KAAKS,IAAI,CAACE,YAAY,IAAIX,UAAU,KAAKxB,KAAK,EAAE;AAC3D,QAAA,OAAO6B,GAAG,CAAA;AACZ,OAAA;AACA,MAAA,IAAIO,KAAK,GAAG,IAAI,CAACA,KAAK,CAAA;MACtB,IAAIC,EAAE,GAAGZ,GAAG,CAAA;AACZ,MAAA,IAAGW,KAAK,EAAE;AACR,QAAA,IAAIE,EAAE,GAAG,IAAI,CAACA,EAAE,CAAA;QAChB,IAAG,CAACA,EAAE,EAAE;UACND,EAAE,CAACE,WAAW,CAACF,EAAE,CAACG,8BAA8B,EAAE,KAAK,CAAC,CAAA;UACxD,IAAMC,eAAe,GAAGJ,EAAE,YAAYK,qBAAqB,GAAE,OAAO,GAAE,QAAQ,CAAA;AAC9EJ,UAAAA,EAAE,GAAG,IAAI,CAACA,EAAE,GAAG,IAAIK,UAAU,CAAC;AAC5BN,YAAAA,EAAE,EAAFA,EAAE;AAAEI,YAAAA,eAAe,EAAfA,eAAe;AACnBG,YAAAA,YAAY,EAAE,IAAA;AAChB,WAAC,CAAC,CAAA;AACF,UAAA,IAAI,CAACC,GAAG,GAAGP,EAAE,CAACQ,aAAa,CAAA;UAC3B,IAAI,CAACC,WAAW,GAAGT,EAAE,CAACU,QAAQ,CAACC,eAAe,CAACZ,EAAE,CAAA;AACjD,UAAA,IAAI,CAACa,UAAU,GAAGC,QAAQ,CAACC,MAAM,CAAC;AAChCC,YAAAA,IAAI,EAAE,QAAQ;AACdC,YAAAA,MAAM,EAAE;AACNC,cAAAA,MAAM,EAAElD,YAAY;AACpBmD,cAAAA,QAAQ,EAAElD,cAAAA;AACZ,aAAA;AACF,WAAC,CAAC,CAAA;AACF,UAAA,IAAI,CAAC4C,UAAU,CAACO,QAAQ,GAAG,IAAI,CAAA;UAC/B,IAAI,CAACP,UAAU,CAACQ,aAAa,GAAG,CAACrB,EAAE,CAACsB,GAAG,EAACtB,EAAE,CAACuB,mBAAmB,EAACvB,EAAE,CAACsB,GAAG,EAACtB,EAAE,CAACuB,mBAAmB,CAAC,CAAA;AAC7F,UAAA,IAAI,CAACV,UAAU,CAACW,SAAS,GAAG,IAAI,CAAA;AAChC,UAAA,IAAI,CAACX,UAAU,CAACY,SAAS,GAAG,IAAI,CAAA;AAChC,UAAA,IAAI,CAACZ,UAAU,CAACa,OAAO,GAAG,KAAK,CAAA;AAC/B,UAAA,IAAI,CAACb,UAAU,CAACc,QAAQ,GAAG3B,EAAE,CAAC4B,GAAG,CAAA;AACjC,UAAA,IAAI,CAACf,UAAU,CAACgB,WAAW,GAAG,KAAK,CAAA;AACnC,UAAA,IAAI,CAAChB,UAAU,CAACiB,iBAAiB,GAAG,KAAK,CAAA;UACzC,IAAI,CAACjB,UAAU,CAACkB,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;UAEtC,IAAI,CAACrB,WAAW,CAACsB,eAAe,CAAChC,EAAE,CAACiC,WAAW,EAAE,IAAI,CAAC,CAAA;UACtD,IAAI,CAACvB,WAAW,CAACR,WAAW,CAACF,EAAE,CAACG,8BAA8B,EAAE,CAAC,CAAC,CAAA;AAElE,UAAA,IAAG,CAAC,IAAI,CAAC+B,IAAI,CAACC,KAAK,EAAE;YACnB,IAAI,CAACzB,WAAW,CAAC0B,OAAO,CAACC,SAAS,CAACC,KAAK,CAAC,CAAA;AAC3C,WAAA;UACA,IAAIC,KAAK,GAAGvC,EAAE,CAACwC,YAAY,CAACxC,EAAE,CAACyC,mBAAmB,CAAC,CAAA;UACnD,IAAIC,WAAW,GAAG1C,EAAE,CAACwC,YAAY,CAACxC,EAAE,CAACG,8BAA8B,CAAC,CAAA;UACpE,IAAIwC,OAAO,GAAG3C,EAAE,CAACwC,YAAY,CAACxC,EAAE,CAAC4C,eAAe,CAAC,CAAA;UACjD5C,EAAE,CAACE,WAAW,CAACF,EAAE,CAACG,8BAA8B,EAAE,KAAK,CAAC,CAAA;UACxD,IAAI0C,cAAc,GAAG7C,EAAE,CAACwC,YAAY,CAACxC,EAAE,CAAC8C,cAAc,CAAC,CAAA;UACvD,IAAIC,aAAa,GAAG/C,EAAE,CAACwC,YAAY,CAACxC,EAAE,CAACgD,kBAAkB,CAAC,CAAA;AAC1D,UAAA,IAAMrC,SAAQ,GAAGV,EAAE,CAACU,QAAQ,CAAA;AAC5B,UAAA,IAAIsC,WAAW,GAAG,IAAI,CAACA,WAAW,GAAGC,WAAW,CAACC,UAAU,CAACpD,KAAK,EAAAqD,cAAA,CAAAA,cAAA,CAAA;AAC/DC,YAAAA,SAAS,EAAE,SAAAA,SAAA,GAAM,EAAE;AACnBC,YAAAA,YAAY,EAAE,KAAK;AACnBC,YAAAA,eAAe,EAAE,KAAA;WACd,EAAA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA;AACnB7C,YAAAA,QAAQ,EAARA,SAAQ;AACR8C,YAAAA,KAAK,EAAE9C,SAAQ,CAAC+C,QAAQ,EAAE;AAC1BC,YAAAA,MAAM,EAAEhD,SAAQ,CAACiD,SAAS,EAAE;AAC5BC,YAAAA,aAAa,EAAElD,SAAQ,CAACmD,gBAAgB,EAAC;AAAC,WAAA,CAC3C,CAAC,CAAA;AACF,UAAA,IAAIC,MAAM,GAAG,SAATA,MAAMA,GAAS;YACjBd,WAAW,CAACe,KAAK,EAAE,CAAA;AACnB,YAAA,IAAIjB,aAAa,EAAE;cACjB/C,EAAE,CAACiE,WAAW,CAACjE,EAAE,CAACkE,UAAU,EAAEnB,aAAa,CAAC,CAAA;AAC9C,aAAA;AACA/C,YAAAA,EAAE,CAACmE,aAAa,CAACtB,cAAc,CAAC,CAAA;YAChCtD,MAAI,CAACmB,WAAW,CAACR,WAAW,CAACF,EAAE,CAACG,8BAA8B,EAAE,CAACuC,WAAW,CAAC,CAAA;YAC7EnD,MAAI,CAACmB,WAAW,CAACR,WAAW,CAACF,EAAE,CAACyC,mBAAmB,EAAE,CAACF,KAAK,CAAC,CAAA;AAC5DhD,YAAAA,MAAI,CAACmB,WAAW,CAAC0D,UAAU,CAAC,IAAI,CAAC,CAAA;AACjCpE,YAAAA,EAAE,CAACoE,UAAU,CAACzB,OAAO,CAAC,CAAA;AACtB5C,YAAAA,KAAK,CAACsE,QAAQ,GAAG,KAAK,CAAC,CAAA;WACxB,CAAA;AACDN,UAAAA,MAAM,EAAE,CAAA;AACV,SAAA;AACA,QAAA,IAAIO,IAAI,GAAG,IAAI,CAACrB,WAAW,CAAA;AAC3B,QAAA,IAAItC,QAAQ,GAAG2D,IAAI,IAAIA,IAAI,CAAC3D,QAAQ,CAAA;QACpC,IAAGA,QAAQ,IAAI,CAACA,QAAQ,CAAC4D,WAAW,IAAI,CAACtE,EAAE,CAACuE,MAAM,EAAE;UAClD,IAAI,CAACC,gBAAgB,EAAE,CAAA;UACvB,IAAI,CAACC,kBAAkB,EAAE,CAAA;AACzB,UAAA,IAAIC,GAAG,GAAGtC,SAAS,CAACuC,kBAAkB,CAAA;AACtC,UAAA,IAAG,IAAI,CAAC1C,IAAI,CAAC2C,UAAU,EAAE;AACvBF,YAAAA,GAAG,GAAGA,GAAG,GAAGtC,SAAS,CAACyC,gBAAgB,CAAA;AACxC,WAAA;AACA,UAAA,IAAI,CAACpE,WAAW,CAACqE,KAAK,CAACJ,GAAG,CAAC,CAAA;AAC3BhE,UAAAA,QAAQ,CAACqE,iBAAiB,CAACV,IAAI,CAACW,WAAW,CAAC,CAAA;AAC9C,SAAA;AACA,QAAA,IAAI,CAACC,MAAM,CAAC9F,GAAG,CAAC,CAAA;AAClB,OAAA;AACF,KAAA;AAAC,GAAA,EAAA;IAAAJ,GAAA,EAAA,kBAAA;IAAAC,KAAA,EAED,SAAAwF,gBAAAA,GAAmB;AACjB,MAAA,IAAIU,MAAM,GAAG,IAAI,CAACC,SAAS,CAAA;AAC3B,MAAA,IAAId,IAAI,GAAG,IAAI,CAACrB,WAAW,CAAA;MACf,IAAI,CAACoC,cAAc,CAACf,IAAI,CAACgB,MAAM,EAAC;AAC5C,MAAA,IAAIC,MAAM,GAAGJ,MAAM,CAACK,QAAQ,CAAC,QAAQ,CAAC,CAAA;AACpCC,QAAAA,MAAM,GAAGN,MAAM,CAACK,QAAQ,CAAC,QAAQ,CAAC,CAAA;AAClCE,QAAUP,MAAM,CAACK,QAAQ,CAAC,SAAS,EAAC;AACtC,MAAU,IAAI,CAACG,IAAG;AAClBrB,MAAAA,IAAI,CAACsB,aAAa,CAACC,YAAY,CAAC;AAC9B;AACAC,QAAAA,KAAK,EAAE,CAACP,MAAM,EAAEE,MAAM,EAAE,CAAC,CAAA;AACzB;AACF,OAAC,CAAC,CAAA;AACJ,KAAA;AAAC,GAAA,EAAA;IAAAzG,GAAA,EAAA,oBAAA;IAAAC,KAAA,EAED,SAAAyF,kBAAAA,GAAqB;AACnB,MAAA,IAAIJ,IAAI,GAAG,IAAI,CAACrB,WAAW,CAAA;AAC3B,MAAA,IAAGqB,IAAI,CAACyB,aAAa,EAAE,EAAE;QACvBzB,IAAI,CAAC0B,OAAO,EAAE,CAAA;AACd1B,QAAAA,IAAI,CAAC2B,MAAM,CAAC,CAAC,CAAC,CAAA;AAChB,OAAC,MACI,IAAG,CAAC3B,IAAI,CAAC4B,aAAa,EAAE;AAC3B,QAAA,IAAIC,EAAE,GAAGrI,IAAI,CAACM,GAAG,CAAC,IAAI,CAACgI,SAAS,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAACC,YAAY,CAAA;AAC9D/B,QAAAA,IAAI,CAAC2B,MAAM,CAACE,EAAE,CAAC,CAAA;AACjB,OAAA;AACF,KAAA;AAAC,GAAA,EAAA;IAAAnH,GAAA,EAAA,QAAA;AAAAC,IAAAA,KAAA,EAED,SAAAiG,MAAOlF,CAAAA,EAAE,EAAE;AACTA,MAAAA,EAAE,CAACoE,UAAU,CAACpE,EAAE,CAAC2C,OAAO,CAAC,CAAA;AACzB3C,MAAAA,EAAE,CAACsG,MAAM,CAACtG,EAAE,CAACsC,KAAK,CAAC,CAAA;MACnBtC,EAAE,CAACuG,SAAS,CAACvG,EAAE,CAACsB,GAAG,EAAEtB,EAAE,CAACuB,mBAAmB,CAAC,CAAA;MAC5CvB,EAAE,CAACE,WAAW,CAACF,EAAE,CAACyC,mBAAmB,EAAE,CAAC,CAAC,CAAA;MACzCzC,EAAE,CAACE,WAAW,CAACF,EAAE,CAACG,8BAA8B,EAAE,IAAI,CAAC,CAAA;MACvD,IAAI,CAACqG,gBAAgB,EAAE,CAAA;AACzB,KAAA;AAAC,GAAA,EAAA;IAAAxH,GAAA,EAAA,kBAAA;IAAAC,KAAA,EAED,SAAAuH,gBAAAA,GAAmB;AACjB,MAAA,IAAIC,GAAG,GAAG,IAAI,CAAC5F,UAAU,CAAA;MACzB,IAAI6F,eAAe,GAAG,IAAI,CAACzG,EAAE,CAACU,QAAQ,CAACC,eAAe,CAAA;MAEtD,IAAG6F,GAAG,IAAIC,eAAe,EAAE;QACzBA,eAAe,CAACC,KAAK,EAAE,CAAA;AACvBF,QAAAA,GAAG,CAACG,WAAW,CAACF,eAAe,CAAC,CAAA;AAChC,QAAA,OAAOA,eAAe,CAACG,iBAAiB,CAACxE,SAAS,CAACC,KAAK,CAAC,CAAA;AACzDoE,QAAAA,eAAe,CAAClF,SAAS,CAAC,KAAK,CAAC,CAAA;AAChCkF,QAAAA,eAAe,CAACvC,aAAa,CAAC9B,SAAS,CAACyE,QAAQ,CAAC,CAAA;AACnD,OAAA;AACF,KAAA;AAAC,GAAA,EAAA;IAAA9H,GAAA,EAAA,gBAAA;AAAAC,IAAAA,KAAA,EAED,SAAAoG,cAAeC,CAAAA,MAAM,EAAS;AAAA,MAAA,IAAPyB,CAAC,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,CAAC,CAAA;AAC1B,MAAA,IAAI7B,MAAM,GAAG,IAAI,CAACC,SAAS,CAAA;AAC3B,MAAA,IAAI+B,EAAE,GAAG,IAAI,CAACC,CAAC;QAAEC,EAAE,GAAG,IAAI,CAACC,CAAC;AAC1BC,QAAAA,UAAU,GAAGpC,MAAM,CAACK,QAAQ,CAAC,YAAY,CAAC;AAC1CgC,QAAAA,UAAU,GAAGrC,MAAM,CAACK,QAAQ,CAAC,YAAY,CAAC,CAAA;AAC5C,MAAA,IAAIiC,GAAG,GAAGnC,MAAM,CAACoC,QAAQ,CAAA;AACzB,MAAA,IAAIC,EAAE,GAAG,IAAI,CAAClE,KAAK;QAAEmE,EAAE,GAAG,IAAI,CAACjE,MAAM,CAAA;AACrC,MAAA,IAAIkE,GAAG,GAAG/J,IAAI,CAACgK,GAAG,CAACxC,MAAM,CAACuC,GAAG,GAAGhK,GAAG,GAAG,CAAC,CAAC,CAAA;AACxC,MAAA,IAAIkK,KAAK,GAAGN,GAAG,CAAC,CAAC,CAAC,GAAGV,CAAC,CAAA;MACtB,IAAItD,KAAK,EAAEE,MAAM,CAAA;MACjB,IAAG2B,MAAM,CAAC0C,QAAQ,EAAE;QAClBvE,KAAK,GAAGoE,GAAG,GAAGE,KAAK,CAAA;AACnBpE,QAAAA,MAAM,GAAGF,KAAK,GAAGmE,EAAE,GAAGD,EAAE,CAAA;AAC1B,OAAC,MACI;QACHhE,MAAM,GAAGkE,GAAG,GAAGE,KAAK,CAAA;AACpBtE,QAAAA,KAAK,GAAGE,MAAM,GAAGgE,EAAE,GAAGC,EAAE,CAAA;AAC1B,OAAA;AACA,MAAA,IAAIR,CAAC,GAAG,CAACD,EAAE,GAAGI,UAAU,IAAII,EAAE,CAAA;AAC9B,MAAA,IAAIL,CAAC,GAAG,CAACD,EAAE,GAAGG,UAAU,IAAII,EAAE,CAAA;AAC9B,MAAA,OAAO,CAAC1J,QAAQ,CAACkJ,CAAC,EAAE,CAAC3D,KAAK,EAAEA,KAAK,CAAC,GAAGgE,GAAG,CAAC,CAAC,CAAC,EAAEvJ,QAAQ,CAACoJ,CAAC,EAAE,CAAC3D,MAAM,EAAEA,MAAM,CAAC,GAAG8D,GAAG,CAAC,CAAC,CAAC,EAAEV,CAAC,CAAC,CAAA;AACxF,KAAA;AAAC,GAAA,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAzI,CAAA,CAAA;AAAA,CA7KazB,CAAAA,KAAK,CAACoL,IAAI,CAAA,CAAA;AAgLpBC,IAAAA,IAAI,0BAAAC,gBAAA,EAAA;EAAA3J,SAAA,CAAA0J,IAAA,EAAAC,gBAAA,CAAA,CAAA;EAOR,SAAAD,IAAAA,CAAYxJ,KAAK,EAAE;AAAA,IAAA,IAAA0J,mBAAA,CAAA;AAAA,IAAA,IAAAC,MAAA,CAAA;AACjBA,IAAAA,MAAA,GAAAF,gBAAA,CAAAvJ,IAAA,CAAA,IAAA,EAAMF,KAAK,CAAC,IAAA,IAAA,CAAA;AAACG,IAAAA,eAAA,CAAAC,sBAAA,CAAAuJ,MAAA,aAPN,KAAK,CAAA,CAAA;AAAAxJ,IAAAA,eAAA,CAAAC,sBAAA,CAAAuJ,MAAA,eACH,KAAK,CAAA,CAAA;AAAAxJ,IAAAA,eAAA,CAAAC,sBAAA,CAAAuJ,MAAA,qBACC,CAAC,CAAA,CAAA;AAAAxJ,IAAAA,eAAA,CAAAC,sBAAA,CAAAuJ,MAAA,iBACL,KAAK,CAAA,CAAA;AAAAxJ,IAAAA,eAAA,CAAAC,sBAAA,CAAAuJ,MAAA,YACV,KAAK,CAAA,CAAA;AAKXA,IAAAA,MAAA,CAAKC,MAAM,GAAG5J,KAAK,CAAC6J,QAAQ,KAAK,KAAK,CAAA;AACtCF,IAAAA,MAAA,CAAKG,cAAc,GAAAJ,CAAAA,mBAAA,GAAG1J,KAAK,CAAC2H,YAAY,MAAA+B,IAAAA,IAAAA,mBAAA,KAAAA,KAAAA,CAAAA,GAAAA,mBAAA,GAAI,CAAC,CAAA;AAC7CC,IAAAA,MAAA,CAAKxD,UAAU,GAAG,CAAC,CAACnG,KAAK,CAACmG,UAAU,CAAA;AACpCwD,IAAAA,MAAA,CAAKlG,KAAK,GAAG,CAAC,CAACzD,KAAK,CAACyD,KAAK,CAAA;AAAC,IAAA,OAAAkG,MAAA,CAAA;AAC7B,GAAA;AAACtJ,EAAAA,YAAA,CAAAmJ,IAAA,EAAA,CAAA;IAAAlJ,GAAA,EAAA,mBAAA;IAAAC,KAAA,EAED,SAAAwJ,iBAAAA,GAAoB;AAAA,MAAA,IAAAC,MAAA,GAAA,IAAA,CAAA;MAClB,IAAI,CAACC,IAAI,EAAE,CAAA;AAEX,MAAA,IAAAC,oBAAA,GAA0B,IAAI,CAAClK,KAAK,CAA9B6J,QAAQ;AAARA,QAAAA,QAAQ,GAAAK,oBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,oBAAA,CAAA;AACrB,MAAA,IAAI,CAACC,EAAE,GAAG,UAAAzC,SAAS,EAAI;QACrB0C,IAAI,CAAC1C,SAAS,GAAGA,SAAS,CAAA;AAC1B,QAAA,IAAGsC,MAAI,CAACJ,MAAM,IAAII,MAAI,CAACK,QAAQ,EAAE;UAC/BD,IAAI,CAAChM,OAAO,EAAE,CAAA;AAChB,SAAA;OACD,CAAA;AACD,MAAA,IAAIgM,IAAI,GAAG,IAAI,CAACE,GAAG,CAACF,IAAI,CAAA;AACxBA,MAAAA,IAAI,CAACzC,YAAY,GAAG,IAAI,CAACmC,cAAc,CAAA;AACvC,MAAA,IAAGD,QAAQ,EAAE;AACXO,QAAAA,IAAI,CAACG,YAAY,CAAC,IAAI,CAACJ,EAAE,CAAC,CAAA;AAC5B,OAAA;AACF,KAAA;AAAC,GAAA,EAAA;IAAA7J,GAAA,EAAA,sBAAA;IAAAC,KAAA,EAED,SAAAiK,oBAAAA,GAAuB;MACrB,IAAMjJ,EAAE,GAAG,IAAI,CAAC+I,GAAG,CAACF,IAAI,CAAC7I,EAAE,CAAA;AAC3BA,MAAAA,EAAE,IAAIA,EAAE,CAACkJ,OAAO,CAAC,IAAI,CAAC,CAAA;AACxB,KAAA;AAAC,GAAA,EAAA;IAAAnK,GAAA,EAAA,MAAA;IAAAC,KAAA,EAED,SAAA0J,IAAAA,GAAO;AAAA,MAAA,IAAAS,MAAA,GAAA,IAAA,CAAA;AACL,MAAA,IAAIC,GAAG,GAAG,IAAI,CAAC3K,KAAK,CAAC2K,GAAG,CAAA;MACxB,IAAG,CAACA,GAAG,EAAE;AACP,QAAA,OAAA;AACF,OAAA;AACA,MAAA,IAAIC,OAAO,GAAG,IAAIC,cAAc,EAAE,CAAA;MAClCD,OAAO,CAACE,IAAI,CAAC,KAAK,EAAEH,GAAG,EAAE,IAAI,CAAC,CAAA;MAC9BC,OAAO,CAACG,YAAY,GAAG,MAAM,CAAA;MAC7BH,OAAO,CAACI,MAAM,GAAG,YAAM;QACrB,IAAGJ,OAAO,CAACK,QAAQ,EAAE;AAAA,UAAA,IAAAC,YAAA,CAAA;UACnBR,MAAI,CAACL,QAAQ,GAAG,IAAI,CAAA;AACpB,UAAA,IAAIc,IAAI,GAAGP,OAAO,CAACK,QAAQ,CAAA;AAC3B,UAAA,IAAMG,KAAK,GAAG,IAAIC,YAAY,CAAA3G,cAAA,MAAAwG,YAAA,GAAMR,MAAI,CAAC1K,KAAK,cAAAkL,YAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,YAAA,CAAYI,WAAW,CAAC,CAAC,CAAA;UAC7DF,KAAK,CAACG,SAAS,CAACJ,IAAI,CAAC,CAACK,IAAI,CAAC,UAAAnK,KAAK,EAAI;YAAA,IAAAoK,mBAAA,EAAAC,aAAA,CAAA;AAClC,YAAA,CAAAD,mBAAA,GAAAC,CAAAA,aAAA,GAAAhB,MAAI,CAAC1K,KAAK,EAAC2L,MAAM,MAAA,IAAA,IAAAF,mBAAA,KAAjBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAA,CAAAvL,IAAA,CAAAwL,aAAoB,CAAC,CAAA;AACrBhB,YAAAA,MAAI,CAACkB,aAAa,CAACvK,KAAK,CAAC,CAAA;AAC3B,WAAC,CAAC,CAAA;AACJ,SAAA;OACD,CAAA;MACDuJ,OAAO,CAACiB,IAAI,EAAE,CAAA;AAChB,KAAA;AAAC,GAAA,EAAA;IAAAvL,GAAA,EAAA,eAAA;AAAAC,IAAAA,KAAA,EAED,SAAAqL,aAAcvK,CAAAA,KAAK,EAAE;AAAA,MAAA,IAAAyK,WAAA,CAAA;AACnB,MAAA,IAAI1B,IAAI,GAAG,IAAI,CAACE,GAAG,CAACF,IAAI,CAAA;MACxBA,IAAI,CAAC/I,KAAK,GAAGA,KAAK,CAAA;AAClB+I,MAAAA,IAAI,CAACtF,WAAW,GAAAgH,CAAAA,WAAA,GAAG,IAAI,CAAC9L,KAAK,MAAA8L,IAAAA,IAAAA,WAAA,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAA,CAAYhH,WAAW,CAAA;AAC1C;MACAsF,IAAI,CAAChM,OAAO,EAAE,CAAA;AAChB,KAAA;AAAC,GAAA,EAAA;IAAAkC,GAAA,EAAA,QAAA;IAAAC,KAAA,EAED,SAAAC,MAAAA,GAAS;MACP,OAAOrC,KAAA,CAAA4N,aAAA,CAAA,KAAA,EAAA,IAAA,EACL5N,KAAA,CAAA4N,aAAA,CAACnM,CAAC,EAAA;AAAC0K,QAAAA,GAAG,EAAC,MAAM;AAAC0B,QAAAA,KAAK,EAAE;AACnBjH,UAAAA,KAAK,EAAE,MAAM;AACbE,UAAAA,MAAM,EAAE,MAAM;AACdgH,UAAAA,IAAI,EAAE,MAAM;AACZC,UAAAA,MAAM,EAAE,CAAA;AACV,SAAA;AAAE,OAAC,CACA,CAAC,CAAA;AACR,KAAA;AAAC,GAAA,EAAA;IAAA5L,GAAA,EAAA,MAAA;AAAAC,IAAAA,KAAA,EAED,SAAA4L,IAAK7G,CAAAA,KAAK,EAAE;AAAA,MAAA,IAAA8G,MAAA,GAAA,IAAA,CAAA;AACV,MAAA,IAAMjC,EAAE,GAAG,SAALA,EAAEA,GAAS;QACf,IAAIvE,IAAI,GAAGwG,MAAI,CAAC9B,GAAG,CAACF,IAAI,CAAC7F,WAAW,CAAA;AACpC,QAAA,IAAIqB,IAAI,EAAE;UACRwG,MAAI,CAAC9B,GAAG,CAACF,IAAI,CAACiC,kBAAkB,CAAClC,EAAE,CAAC,CAAA;UACpCiC,MAAI,CAACE,KAAK,EAAE,CAAA;UACZ1G,IAAI,CAAC0B,OAAO,EAAE,CAAA;UACd1B,IAAI,CAAC2B,MAAM,CAACjC,KAAK,KAAA,IAAA,IAALA,KAAK,KAALA,KAAAA,CAAAA,GAAAA,KAAK,GAAI,CAAC,CAAC,CAAA;UACvB8G,MAAI,CAACG,MAAM,EAAE,CAAA;AACf,SAAA;OACD,CAAA;MACD,IAAI,CAACjC,GAAG,CAACF,IAAI,CAACG,YAAY,CAACJ,EAAE,CAAC,CAAA;AAChC,KAAA;AAAC,GAAA,EAAA;IAAA7J,GAAA,EAAA,OAAA;IAAAC,KAAA,EAED,SAAA+L,KAAAA,GAAQ;MACN,IAAI,CAAChC,GAAG,CAACF,IAAI,CAACiC,kBAAkB,CAAC,IAAI,CAAClC,EAAE,CAAC,CAAA;AAC3C,KAAA;AAAC,GAAA,EAAA;IAAA7J,GAAA,EAAA,QAAA;IAAAC,KAAA,EAED,SAAAgM,MAAAA,GAAS;MACP,IAAI,CAACjC,GAAG,CAACF,IAAI,CAACG,YAAY,CAAC,IAAI,CAACJ,EAAE,CAAC,CAAA;AACrC,KAAA;AAAC,GAAA,EAAA;IAAA7J,GAAA,EAAA,cAAA;IAAAkM,GAAA,EAED,SAAAA,GAAAA,GAAmB;MACjB,OAAO,IAAI,CAAC1C,cAAc,CAAA;KAC3B;AAAA2C,IAAAA,GAAA,EAED,SAAAA,GAAiBC,CAAAA,CAAC,EAAE;AAAA,MAAA,IAAAC,WAAA,CAAA;AAClBD,MAAAA,CAAC,GAAAC,CAAAA,WAAA,GAAGC,UAAU,CAACF,CAAC,CAAC,MAAA,IAAA,IAAAC,WAAA,KAAA,KAAA,CAAA,GAAAA,WAAA,GAAI,CAAC,CAAA;AACtB;AACA;AACA;MACA,IAAI,CAAC7C,cAAc,GAAG4C,CAAC,CAAA;AACvB,MAAA,IAAI,IAAI,CAACpC,GAAG,CAACF,IAAI,EAAE;AACjB,QAAA,IAAI,CAACE,GAAG,CAACF,IAAI,CAACzC,YAAY,GAAG+E,CAAC,CAAA;AAChC,OAAA;AACF,KAAA;AAAC,GAAA,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAlD,IAAA,CAAA;AAAA,CAlHgBrL,CAAAA,KAAK,CAAC0O,SAAS,EAAA;AAqHlCrD,IAAI,CAACsD,OAAO,GAAGA,OAAO;;;;"}