@elizaos/plugin-agent-orchestrator 2.0.0-alpha.8 → 2.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +62 -0
- package/LICENSE +21 -0
- package/PROJECT.md +119 -0
- package/README.md +160 -0
- package/dist/browser/index.browser.js +21051 -0
- package/dist/browser/index.browser.js.map +29 -0
- package/dist/browser/index.d.ts +2 -0
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.node.cjs +20491 -0
- package/dist/cjs/index.node.js.map +72 -0
- package/dist/index.d.ts +2 -21
- package/dist/node/index.browser.d.ts +3 -0
- package/dist/node/index.browser.d.ts.map +1 -0
- package/dist/node/index.d.ts +2 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.node.d.ts +4 -0
- package/dist/node/index.node.d.ts.map +1 -0
- package/dist/node/index.node.js +20471 -0
- package/dist/node/index.node.js.map +72 -0
- package/dist/node/src/actions/cancel-task.d.ts +3 -0
- package/dist/node/src/actions/cancel-task.d.ts.map +1 -0
- package/dist/node/src/actions/coding-task-handlers.d.ts +69 -0
- package/dist/node/src/actions/coding-task-handlers.d.ts.map +1 -0
- package/dist/node/src/actions/coding-task-helpers.d.ts +35 -0
- package/dist/node/src/actions/coding-task-helpers.d.ts.map +1 -0
- package/dist/node/src/actions/common.d.ts +56 -0
- package/dist/node/src/actions/common.d.ts.map +1 -0
- package/dist/node/src/actions/create-task.d.ts +8 -0
- package/dist/node/src/actions/create-task.d.ts.map +1 -0
- package/dist/node/src/actions/eval-metadata.d.ts +11 -0
- package/dist/node/src/actions/eval-metadata.d.ts.map +1 -0
- package/dist/node/src/actions/finalize-workspace.d.ts +11 -0
- package/dist/node/src/actions/finalize-workspace.d.ts.map +1 -0
- package/dist/node/src/actions/list-agents.d.ts +4 -0
- package/dist/node/src/actions/list-agents.d.ts.map +1 -0
- package/dist/node/src/actions/manage-issues.d.ts +11 -0
- package/dist/node/src/actions/manage-issues.d.ts.map +1 -0
- package/dist/node/src/actions/provision-workspace.d.ts +11 -0
- package/dist/node/src/actions/provision-workspace.d.ts.map +1 -0
- package/dist/node/src/actions/sandbox-stub.d.ts +21 -0
- package/dist/node/src/actions/sandbox-stub.d.ts.map +1 -0
- package/dist/node/src/actions/send-to-agent.d.ts +4 -0
- package/dist/node/src/actions/send-to-agent.d.ts.map +1 -0
- package/dist/node/src/actions/spawn-agent.d.ts +8 -0
- package/dist/node/src/actions/spawn-agent.d.ts.map +1 -0
- package/dist/node/src/actions/stop-agent.d.ts +4 -0
- package/dist/node/src/actions/stop-agent.d.ts.map +1 -0
- package/dist/node/src/actions/task-control.d.ts +3 -0
- package/dist/node/src/actions/task-control.d.ts.map +1 -0
- package/dist/node/src/actions/task-history.d.ts +3 -0
- package/dist/node/src/actions/task-history.d.ts.map +1 -0
- package/dist/node/src/actions/task-share.d.ts +3 -0
- package/dist/node/src/actions/task-share.d.ts.map +1 -0
- package/dist/node/src/actions/task-thread-target.d.ts +11 -0
- package/dist/node/src/actions/task-thread-target.d.ts.map +1 -0
- package/dist/node/src/actions/tasks.d.ts +88 -0
- package/dist/node/src/actions/tasks.d.ts.map +1 -0
- package/dist/node/src/api/agent-routes.d.ts +18 -0
- package/dist/node/src/api/agent-routes.d.ts.map +1 -0
- package/dist/node/src/api/bridge-routes.d.ts +32 -0
- package/dist/node/src/api/bridge-routes.d.ts.map +1 -0
- package/dist/node/src/api/coordinator-routes.d.ts +22 -0
- package/dist/node/src/api/coordinator-routes.d.ts.map +1 -0
- package/dist/node/src/api/hook-routes.d.ts +18 -0
- package/dist/node/src/api/hook-routes.d.ts.map +1 -0
- package/dist/node/src/api/issue-routes.d.ts +17 -0
- package/dist/node/src/api/issue-routes.d.ts.map +1 -0
- package/dist/node/src/api/parent-context-routes.d.ts +17 -0
- package/dist/node/src/api/parent-context-routes.d.ts.map +1 -0
- package/dist/node/src/api/route-utils.d.ts +18 -0
- package/dist/node/src/api/route-utils.d.ts.map +1 -0
- package/dist/node/src/api/routes.d.ts +23 -0
- package/dist/node/src/api/routes.d.ts.map +1 -0
- package/dist/node/src/api/workspace-routes.d.ts +17 -0
- package/dist/node/src/api/workspace-routes.d.ts.map +1 -0
- package/dist/node/src/index.d.ts +32 -0
- package/dist/node/src/index.d.ts.map +1 -0
- package/dist/node/src/providers/action-examples.d.ts +14 -0
- package/dist/node/src/providers/action-examples.d.ts.map +1 -0
- package/dist/node/src/providers/active-sub-agents.d.ts +15 -0
- package/dist/node/src/providers/active-sub-agents.d.ts.map +1 -0
- package/dist/node/src/providers/active-workspace-context.d.ts +13 -0
- package/dist/node/src/providers/active-workspace-context.d.ts.map +1 -0
- package/dist/node/src/providers/available-agents.d.ts +4 -0
- package/dist/node/src/providers/available-agents.d.ts.map +1 -0
- package/dist/node/src/register-routes.d.ts +11 -0
- package/dist/node/src/register-routes.d.ts.map +1 -0
- package/dist/node/src/routes/coding-agents-fallback-routes.d.ts +19 -0
- package/dist/node/src/routes/coding-agents-fallback-routes.d.ts.map +1 -0
- package/dist/node/src/services/acp-service.d.ts +61 -0
- package/dist/node/src/services/acp-service.d.ts.map +1 -0
- package/dist/node/src/services/acpx-subprocess.d.ts +3 -0
- package/dist/node/src/services/acpx-subprocess.d.ts.map +1 -0
- package/dist/node/src/services/agent-credentials.d.ts +23 -0
- package/dist/node/src/services/agent-credentials.d.ts.map +1 -0
- package/dist/node/src/services/agent-metrics.d.ts +30 -0
- package/dist/node/src/services/agent-metrics.d.ts.map +1 -0
- package/dist/node/src/services/agent-selection.d.ts +53 -0
- package/dist/node/src/services/agent-selection.d.ts.map +1 -0
- package/dist/node/src/services/ansi-utils.d.ts +64 -0
- package/dist/node/src/services/ansi-utils.d.ts.map +1 -0
- package/dist/node/src/services/claude-code-skill-installer.d.ts +33 -0
- package/dist/node/src/services/claude-code-skill-installer.d.ts.map +1 -0
- package/dist/node/src/services/config-env.d.ts +23 -0
- package/dist/node/src/services/config-env.d.ts.map +1 -0
- package/dist/node/src/services/coordinator-event-normalizer.d.ts +50 -0
- package/dist/node/src/services/coordinator-event-normalizer.d.ts.map +1 -0
- package/dist/node/src/services/custom-validator-runner.d.ts +66 -0
- package/dist/node/src/services/custom-validator-runner.d.ts.map +1 -0
- package/dist/node/src/services/debug-capture.d.ts +38 -0
- package/dist/node/src/services/debug-capture.d.ts.map +1 -0
- package/dist/node/src/services/json-model-output.d.ts +2 -0
- package/dist/node/src/services/json-model-output.d.ts.map +1 -0
- package/dist/node/src/services/parent-agent-broker.d.ts +21 -0
- package/dist/node/src/services/parent-agent-broker.d.ts.map +1 -0
- package/dist/node/src/services/pty-auto-response.d.ts +30 -0
- package/dist/node/src/services/pty-auto-response.d.ts.map +1 -0
- package/dist/node/src/services/pty-init.d.ts +55 -0
- package/dist/node/src/services/pty-init.d.ts.map +1 -0
- package/dist/node/src/services/pty-service.d.ts +218 -0
- package/dist/node/src/services/pty-service.d.ts.map +1 -0
- package/dist/node/src/services/pty-session-io.d.ts +49 -0
- package/dist/node/src/services/pty-session-io.d.ts.map +1 -0
- package/dist/node/src/services/pty-spawn.d.ts +104 -0
- package/dist/node/src/services/pty-spawn.d.ts.map +1 -0
- package/dist/node/src/services/pty-types.d.ts +94 -0
- package/dist/node/src/services/pty-types.d.ts.map +1 -0
- package/dist/node/src/services/repo-input.d.ts +16 -0
- package/dist/node/src/services/repo-input.d.ts.map +1 -0
- package/dist/node/src/services/session-event-queue.d.ts +25 -0
- package/dist/node/src/services/session-event-queue.d.ts.map +1 -0
- package/dist/node/src/services/session-store.d.ts +107 -0
- package/dist/node/src/services/session-store.d.ts.map +1 -0
- package/dist/node/src/services/skill-callback-bridge.d.ts +78 -0
- package/dist/node/src/services/skill-callback-bridge.d.ts.map +1 -0
- package/dist/node/src/services/skill-essentials.d.ts +16 -0
- package/dist/node/src/services/skill-essentials.d.ts.map +1 -0
- package/dist/node/src/services/skill-lifeops-context-broker.d.ts +20 -0
- package/dist/node/src/services/skill-lifeops-context-broker.d.ts.map +1 -0
- package/dist/node/src/services/skill-manifest.d.ts +48 -0
- package/dist/node/src/services/skill-manifest.d.ts.map +1 -0
- package/dist/node/src/services/skill-recommender.d.ts +51 -0
- package/dist/node/src/services/skill-recommender.d.ts.map +1 -0
- package/dist/node/src/services/spawn-trajectory.d.ts +23 -0
- package/dist/node/src/services/spawn-trajectory.d.ts.map +1 -0
- package/dist/node/src/services/stall-classifier.d.ts +69 -0
- package/dist/node/src/services/stall-classifier.d.ts.map +1 -0
- package/dist/node/src/services/structured-proof-bridge.d.ts +99 -0
- package/dist/node/src/services/structured-proof-bridge.d.ts.map +1 -0
- package/dist/node/src/services/sub-agent-router.d.ts +38 -0
- package/dist/node/src/services/sub-agent-router.d.ts.map +1 -0
- package/dist/node/src/services/swarm-coordinator-prompts.d.ts +93 -0
- package/dist/node/src/services/swarm-coordinator-prompts.d.ts.map +1 -0
- package/dist/node/src/services/swarm-coordinator.d.ts +473 -0
- package/dist/node/src/services/swarm-coordinator.d.ts.map +1 -0
- package/dist/node/src/services/swarm-decision-loop.d.ts +69 -0
- package/dist/node/src/services/swarm-decision-loop.d.ts.map +1 -0
- package/dist/node/src/services/swarm-event-triage.d.ts +49 -0
- package/dist/node/src/services/swarm-event-triage.d.ts.map +1 -0
- package/dist/node/src/services/swarm-history.d.ts +27 -0
- package/dist/node/src/services/swarm-history.d.ts.map +1 -0
- package/dist/node/src/services/swarm-idle-watchdog.d.ts +22 -0
- package/dist/node/src/services/swarm-idle-watchdog.d.ts.map +1 -0
- package/dist/node/src/services/task-acceptance.d.ts +8 -0
- package/dist/node/src/services/task-acceptance.d.ts.map +1 -0
- package/dist/node/src/services/task-agent-auth.d.ts +69 -0
- package/dist/node/src/services/task-agent-auth.d.ts.map +1 -0
- package/dist/node/src/services/task-agent-frameworks.d.ts +90 -0
- package/dist/node/src/services/task-agent-frameworks.d.ts.map +1 -0
- package/dist/node/src/services/task-kind.d.ts +3 -0
- package/dist/node/src/services/task-kind.d.ts.map +1 -0
- package/dist/node/src/services/task-policy.d.ts +17 -0
- package/dist/node/src/services/task-policy.d.ts.map +1 -0
- package/dist/node/src/services/task-registry.d.ts +550 -0
- package/dist/node/src/services/task-registry.d.ts.map +1 -0
- package/dist/node/src/services/task-share.d.ts +18 -0
- package/dist/node/src/services/task-share.d.ts.map +1 -0
- package/dist/node/src/services/task-validation.d.ts +69 -0
- package/dist/node/src/services/task-validation.d.ts.map +1 -0
- package/dist/node/src/services/task-verifier-runner.d.ts +5 -0
- package/dist/node/src/services/task-verifier-runner.d.ts.map +1 -0
- package/dist/node/src/services/trajectory-context.d.ts +73 -0
- package/dist/node/src/services/trajectory-context.d.ts.map +1 -0
- package/dist/node/src/services/trajectory-feedback.d.ts +53 -0
- package/dist/node/src/services/trajectory-feedback.d.ts.map +1 -0
- package/dist/node/src/services/types.d.ts +152 -0
- package/dist/node/src/services/types.d.ts.map +1 -0
- package/dist/node/src/services/workspace-git-ops.d.ts +28 -0
- package/dist/node/src/services/workspace-git-ops.d.ts.map +1 -0
- package/dist/node/src/services/workspace-github.d.ts +60 -0
- package/dist/node/src/services/workspace-github.d.ts.map +1 -0
- package/dist/node/src/services/workspace-lifecycle.d.ts +18 -0
- package/dist/node/src/services/workspace-lifecycle.d.ts.map +1 -0
- package/dist/node/src/services/workspace-service.d.ts +122 -0
- package/dist/node/src/services/workspace-service.d.ts.map +1 -0
- package/dist/node/src/services/workspace-types.d.ts +81 -0
- package/dist/node/src/services/workspace-types.d.ts.map +1 -0
- package/dist/node/src/setup-routes.d.ts +9 -0
- package/dist/node/src/setup-routes.d.ts.map +1 -0
- package/dist/node/vitest.config.d.ts +3 -0
- package/dist/node/vitest.config.d.ts.map +1 -0
- package/docs/default-eliza-skills-and-agent-bridge-plan.md +231 -0
- package/docs/sub-agent-routing.md +197 -0
- package/package.json +113 -37
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -21110
- package/dist/index.js.map +0 -109
- package/dist/src/actions/messaging.d.ts +0 -24
- package/dist/src/actions/messaging.d.ts.map +0 -1
- package/dist/src/actions/peek-subagent.d.ts +0 -3
- package/dist/src/actions/peek-subagent.d.ts.map +0 -1
- package/dist/src/actions/subagent-management.d.ts +0 -7
- package/dist/src/actions/subagent-management.d.ts.map +0 -1
- package/dist/src/actions/task-management.d.ts +0 -9
- package/dist/src/actions/task-management.d.ts.map +0 -1
- package/dist/src/config.d.ts +0 -4
- package/dist/src/config.d.ts.map +0 -1
- package/dist/src/providers/orchestrator-config.d.ts +0 -80
- package/dist/src/providers/orchestrator-config.d.ts.map +0 -1
- package/dist/src/providers/task-context.d.ts +0 -3
- package/dist/src/providers/task-context.d.ts.map +0 -1
- package/dist/src/services/agent-orchestrator-service.d.ts +0 -59
- package/dist/src/services/agent-orchestrator-service.d.ts.map +0 -1
- package/dist/src/services/messaging-service.d.ts +0 -111
- package/dist/src/services/messaging-service.d.ts.map +0 -1
- package/dist/src/services/sandbox-service.d.ts +0 -103
- package/dist/src/services/sandbox-service.d.ts.map +0 -1
- package/dist/src/services/subagent-service.d.ts +0 -140
- package/dist/src/services/subagent-service.d.ts.map +0 -1
- package/dist/src/sub-agents/adapter.d.ts +0 -13
- package/dist/src/sub-agents/adapter.d.ts.map +0 -1
- package/dist/src/sub-agents/claude-agent-sdk-sub-agent.d.ts +0 -18
- package/dist/src/sub-agents/claude-agent-sdk-sub-agent.d.ts.map +0 -1
- package/dist/src/sub-agents/codex-sdk-sub-agent.d.ts +0 -18
- package/dist/src/sub-agents/codex-sdk-sub-agent.d.ts.map +0 -1
- package/dist/src/sub-agents/eliza-sub-agent.d.ts +0 -27
- package/dist/src/sub-agents/eliza-sub-agent.d.ts.map +0 -1
- package/dist/src/sub-agents/elizaos-native-sub-agent.d.ts +0 -61
- package/dist/src/sub-agents/elizaos-native-sub-agent.d.ts.map +0 -1
- package/dist/src/sub-agents/index.d.ts +0 -10
- package/dist/src/sub-agents/index.d.ts.map +0 -1
- package/dist/src/sub-agents/opencode-sub-agent.d.ts +0 -44
- package/dist/src/sub-agents/opencode-sub-agent.d.ts.map +0 -1
- package/dist/src/sub-agents/registry.d.ts +0 -3
- package/dist/src/sub-agents/registry.d.ts.map +0 -1
- package/dist/src/sub-agents/sweagent-sub-agent.d.ts +0 -19
- package/dist/src/sub-agents/sweagent-sub-agent.d.ts.map +0 -1
- package/dist/src/sub-agents/tools.d.ts +0 -15
- package/dist/src/sub-agents/tools.d.ts.map +0 -1
- package/dist/src/sub-agents/types.d.ts +0 -170
- package/dist/src/sub-agents/types.d.ts.map +0 -1
- package/dist/src/types/index.d.ts +0 -12
- package/dist/src/types/index.d.ts.map +0 -1
- package/dist/src/types/messaging.d.ts +0 -202
- package/dist/src/types/messaging.d.ts.map +0 -1
- package/dist/src/types/sandbox.d.ts +0 -228
- package/dist/src/types/sandbox.d.ts.map +0 -1
- package/dist/src/types/subagent.d.ts +0 -232
- package/dist/src/types/subagent.d.ts.map +0 -1
- package/dist/src/types.d.ts +0 -138
- package/dist/src/types.d.ts.map +0 -1
- package/dist/src/utils/index.d.ts +0 -7
- package/dist/src/utils/index.d.ts.map +0 -1
- package/dist/src/utils/session.d.ts +0 -184
- package/dist/src/utils/session.d.ts.map +0 -1
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["node:buffer", "node:util", "node:events", "node:stream", "node:crypto", "../../src/actions/common.ts", "../../src/actions/cancel-task.ts", "../../src/actions/create-task.ts", "../../src/actions/list-agents.ts", "../../src/actions/send-to-agent.ts", "../../src/actions/spawn-agent.ts", "../../src/actions/stop-agent.ts", "../../src/providers/active-sub-agents.ts", "../../src/providers/available-agents.ts", "../../src/services/acp-service.ts", "node:os", "node:path", "../../src/services/session-store.ts", "../../src/services/sub-agent-router.ts", "../../src/index.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"var lookup=[],revLookup=[],code=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";for(i=0,len=code.length;i<len;++i)lookup[i]=code[i],revLookup[code.charCodeAt(i)]=i;var i,len;revLookup[45]=62;revLookup[95]=63;function getLens(b64){var len2=b64.length;if(len2%4>0)throw Error(\"Invalid string. Length must be a multiple of 4\");var validLen=b64.indexOf(\"=\");if(validLen===-1)validLen=len2;var placeHoldersLen=validLen===len2?0:4-validLen%4;return[validLen,placeHoldersLen]}function _byteLength(validLen,placeHoldersLen){return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function toByteArray(b64){var tmp,lens=getLens(b64),validLen=lens[0],placeHoldersLen=lens[1],arr=new Uint8Array(_byteLength(validLen,placeHoldersLen)),curByte=0,len2=placeHoldersLen>0?validLen-4:validLen,i2;for(i2=0;i2<len2;i2+=4)tmp=revLookup[b64.charCodeAt(i2)]<<18|revLookup[b64.charCodeAt(i2+1)]<<12|revLookup[b64.charCodeAt(i2+2)]<<6|revLookup[b64.charCodeAt(i2+3)],arr[curByte++]=tmp>>16&255,arr[curByte++]=tmp>>8&255,arr[curByte++]=tmp&255;if(placeHoldersLen===2)tmp=revLookup[b64.charCodeAt(i2)]<<2|revLookup[b64.charCodeAt(i2+1)]>>4,arr[curByte++]=tmp&255;if(placeHoldersLen===1)tmp=revLookup[b64.charCodeAt(i2)]<<10|revLookup[b64.charCodeAt(i2+1)]<<4|revLookup[b64.charCodeAt(i2+2)]>>2,arr[curByte++]=tmp>>8&255,arr[curByte++]=tmp&255;return arr}function tripletToBase64(num){return lookup[num>>18&63]+lookup[num>>12&63]+lookup[num>>6&63]+lookup[num&63]}function encodeChunk(uint8,start,end){var tmp,output=[];for(var i2=start;i2<end;i2+=3)tmp=(uint8[i2]<<16&16711680)+(uint8[i2+1]<<8&65280)+(uint8[i2+2]&255),output.push(tripletToBase64(tmp));return output.join(\"\")}function fromByteArray(uint8){var tmp,len2=uint8.length,extraBytes=len2%3,parts=[],maxChunkLength=16383;for(var i2=0,len22=len2-extraBytes;i2<len22;i2+=maxChunkLength)parts.push(encodeChunk(uint8,i2,i2+maxChunkLength>len22?len22:i2+maxChunkLength));if(extraBytes===1)tmp=uint8[len2-1],parts.push(lookup[tmp>>2]+lookup[tmp<<4&63]+\"==\");else if(extraBytes===2)tmp=(uint8[len2-2]<<8)+uint8[len2-1],parts.push(lookup[tmp>>10]+lookup[tmp>>4&63]+lookup[tmp<<2&63]+\"=\");return parts.join(\"\")}function read(buffer,offset,isLE,mLen,nBytes){var e,m,eLen=nBytes*8-mLen-1,eMax=(1<<eLen)-1,eBias=eMax>>1,nBits=-7,i2=isLE?nBytes-1:0,d=isLE?-1:1,s=buffer[offset+i2];i2+=d,e=s&(1<<-nBits)-1,s>>=-nBits,nBits+=eLen;for(;nBits>0;e=e*256+buffer[offset+i2],i2+=d,nBits-=8);m=e&(1<<-nBits)-1,e>>=-nBits,nBits+=mLen;for(;nBits>0;m=m*256+buffer[offset+i2],i2+=d,nBits-=8);if(e===0)e=1-eBias;else if(e===eMax)return m?NaN:(s?-1:1)*(1/0);else m=m+Math.pow(2,mLen),e=e-eBias;return(s?-1:1)*m*Math.pow(2,e-mLen)}function write(buffer,value,offset,isLE,mLen,nBytes){var e,m,c,eLen=nBytes*8-mLen-1,eMax=(1<<eLen)-1,eBias=eMax>>1,rt=mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0,i2=isLE?0:nBytes-1,d=isLE?1:-1,s=value<0||value===0&&1/value<0?1:0;if(value=Math.abs(value),isNaN(value)||value===1/0)m=isNaN(value)?1:0,e=eMax;else{if(e=Math.floor(Math.log(value)/Math.LN2),value*(c=Math.pow(2,-e))<1)e--,c*=2;if(e+eBias>=1)value+=rt/c;else value+=rt*Math.pow(2,1-eBias);if(value*c>=2)e++,c/=2;if(e+eBias>=eMax)m=0,e=eMax;else if(e+eBias>=1)m=(value*c-1)*Math.pow(2,mLen),e=e+eBias;else m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen),e=0}for(;mLen>=8;buffer[offset+i2]=m&255,i2+=d,m/=256,mLen-=8);e=e<<mLen|m,eLen+=mLen;for(;eLen>0;buffer[offset+i2]=e&255,i2+=d,e/=256,eLen-=8);buffer[offset+i2-d]|=s*128}var customInspectSymbol=typeof Symbol===\"function\"&&typeof Symbol.for===\"function\"?Symbol.for(\"nodejs.util.inspect.custom\"):null,INSPECT_MAX_BYTES=50,kMaxLength=2147483647,kStringMaxLength=536870888,btoa=globalThis.btoa,atob=globalThis.atob,File=globalThis.File,Blob=globalThis.Blob,constants={MAX_LENGTH:kMaxLength,MAX_STRING_LENGTH:kStringMaxLength};function createBuffer(length){if(length>kMaxLength)throw RangeError('The value \"'+length+'\" is invalid for option \"size\"');let buf=new Uint8Array(length);return Object.setPrototypeOf(buf,Buffer.prototype),buf}function E(sym,getMessage,Base){return class extends Base{constructor(){super();Object.defineProperty(this,\"message\",{value:getMessage.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${sym}]`,this.stack,delete this.name}get code(){return sym}set code(value){Object.defineProperty(this,\"code\",{configurable:!0,enumerable:!0,value,writable:!0})}toString(){return`${this.name} [${sym}]: ${this.message}`}}}var ERR_BUFFER_OUT_OF_BOUNDS=E(\"ERR_BUFFER_OUT_OF_BOUNDS\",function(name){if(name)return`${name} is outside of buffer bounds`;return\"Attempt to access memory outside buffer bounds\"},RangeError),ERR_INVALID_ARG_TYPE=E(\"ERR_INVALID_ARG_TYPE\",function(name,actual){return`The \"${name}\" argument must be of type number. Received type ${typeof actual}`},TypeError),ERR_OUT_OF_RANGE=E(\"ERR_OUT_OF_RANGE\",function(str,range,input){let msg=`The value of \"${str}\" is out of range.`,received=input;if(Number.isInteger(input)&&Math.abs(input)>4294967296)received=addNumericalSeparator(String(input));else if(typeof input===\"bigint\"){if(received=String(input),input>BigInt(2)**BigInt(32)||input<-(BigInt(2)**BigInt(32)))received=addNumericalSeparator(received);received+=\"n\"}return msg+=` It must be ${range}. Received ${received}`,msg},RangeError);function Buffer(arg,encodingOrOffset,length){if(typeof arg===\"number\"){if(typeof encodingOrOffset===\"string\")throw TypeError('The \"string\" argument must be of type string. Received type number');return allocUnsafe(arg)}return from(arg,encodingOrOffset,length)}Object.defineProperty(Buffer.prototype,\"parent\",{enumerable:!0,get:function(){if(!Buffer.isBuffer(this))return;return this.buffer}});Object.defineProperty(Buffer.prototype,\"offset\",{enumerable:!0,get:function(){if(!Buffer.isBuffer(this))return;return this.byteOffset}});Buffer.poolSize=8192;function from(value,encodingOrOffset,length){if(typeof value===\"string\")return fromString(value,encodingOrOffset);if(ArrayBuffer.isView(value))return fromArrayView(value);if(value==null)throw TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof value);if(isInstance(value,ArrayBuffer)||value&&isInstance(value.buffer,ArrayBuffer))return fromArrayBuffer(value,encodingOrOffset,length);if(typeof SharedArrayBuffer<\"u\"&&(isInstance(value,SharedArrayBuffer)||value&&isInstance(value.buffer,SharedArrayBuffer)))return fromArrayBuffer(value,encodingOrOffset,length);if(typeof value===\"number\")throw TypeError('The \"value\" argument must not be of type number. Received type number');let valueOf=value.valueOf&&value.valueOf();if(valueOf!=null&&valueOf!==value)return Buffer.from(valueOf,encodingOrOffset,length);let b=fromObject(value);if(b)return b;if(typeof Symbol<\"u\"&&Symbol.toPrimitive!=null&&typeof value[Symbol.toPrimitive]===\"function\")return Buffer.from(value[Symbol.toPrimitive](\"string\"),encodingOrOffset,length);throw TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof value)}Buffer.from=function(value,encodingOrOffset,length){return from(value,encodingOrOffset,length)};Object.setPrototypeOf(Buffer.prototype,Uint8Array.prototype);Object.setPrototypeOf(Buffer,Uint8Array);function assertSize(size){if(typeof size!==\"number\")throw TypeError('\"size\" argument must be of type number');else if(size<0)throw RangeError('The value \"'+size+'\" is invalid for option \"size\"')}function alloc(size,fill,encoding){if(assertSize(size),size<=0)return createBuffer(size);if(fill!==void 0)return typeof encoding===\"string\"?createBuffer(size).fill(fill,encoding):createBuffer(size).fill(fill);return createBuffer(size)}Buffer.alloc=function(size,fill,encoding){return alloc(size,fill,encoding)};function allocUnsafe(size){return assertSize(size),createBuffer(size<0?0:checked(size)|0)}Buffer.allocUnsafe=function(size){return allocUnsafe(size)};Buffer.allocUnsafeSlow=function(size){return allocUnsafe(size)};function fromString(string,encoding){if(typeof encoding!==\"string\"||encoding===\"\")encoding=\"utf8\";if(!Buffer.isEncoding(encoding))throw TypeError(\"Unknown encoding: \"+encoding);let length=byteLength(string,encoding)|0,buf=createBuffer(length),actual=buf.write(string,encoding);if(actual!==length)buf=buf.slice(0,actual);return buf}function fromArrayLike(array){let length=array.length<0?0:checked(array.length)|0,buf=createBuffer(length);for(let i2=0;i2<length;i2+=1)buf[i2]=array[i2]&255;return buf}function fromArrayView(arrayView){if(isInstance(arrayView,Uint8Array)){let copy=new Uint8Array(arrayView);return fromArrayBuffer(copy.buffer,copy.byteOffset,copy.byteLength)}return fromArrayLike(arrayView)}function fromArrayBuffer(array,byteOffset,length){if(byteOffset<0||array.byteLength<byteOffset)throw RangeError('\"offset\" is outside of buffer bounds');if(array.byteLength<byteOffset+(length||0))throw RangeError('\"length\" is outside of buffer bounds');let buf;if(byteOffset===void 0&&length===void 0)buf=new Uint8Array(array);else if(length===void 0)buf=new Uint8Array(array,byteOffset);else buf=new Uint8Array(array,byteOffset,length);return Object.setPrototypeOf(buf,Buffer.prototype),buf}function fromObject(obj){if(Buffer.isBuffer(obj)){let len2=checked(obj.length)|0,buf=createBuffer(len2);if(buf.length===0)return buf;return obj.copy(buf,0,0,len2),buf}if(obj.length!==void 0){if(typeof obj.length!==\"number\"||Number.isNaN(obj.length))return createBuffer(0);return fromArrayLike(obj)}if(obj.type===\"Buffer\"&&Array.isArray(obj.data))return fromArrayLike(obj.data)}function checked(length){if(length>=kMaxLength)throw RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+kMaxLength.toString(16)+\" bytes\");return length|0}Buffer.isBuffer=function(b){return b!=null&&b._isBuffer===!0&&b!==Buffer.prototype};Buffer.compare=function(a,b){if(isInstance(a,Uint8Array))a=Buffer.from(a,a.offset,a.byteLength);if(isInstance(b,Uint8Array))b=Buffer.from(b,b.offset,b.byteLength);if(!Buffer.isBuffer(a)||!Buffer.isBuffer(b))throw TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(a===b)return 0;let x=a.length,y=b.length;for(let i2=0,len2=Math.min(x,y);i2<len2;++i2)if(a[i2]!==b[i2]){x=a[i2],y=b[i2];break}if(x<y)return-1;if(y<x)return 1;return 0};Buffer.isEncoding=function(encoding){switch(String(encoding).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}};Buffer.concat=function(list,length){if(!Array.isArray(list))throw TypeError('\"list\" argument must be an Array of Buffers');if(list.length===0)return Buffer.alloc(0);let i2;if(length===void 0){length=0;for(i2=0;i2<list.length;++i2)length+=list[i2].length}let buffer=Buffer.allocUnsafe(length),pos=0;for(i2=0;i2<list.length;++i2){let buf=list[i2];if(isInstance(buf,Uint8Array))if(pos+buf.length>buffer.length){if(!Buffer.isBuffer(buf))buf=Buffer.from(buf);buf.copy(buffer,pos)}else Uint8Array.prototype.set.call(buffer,buf,pos);else if(!Buffer.isBuffer(buf))throw TypeError('\"list\" argument must be an Array of Buffers');else buf.copy(buffer,pos);pos+=buf.length}return buffer};function byteLength(string,encoding){if(Buffer.isBuffer(string))return string.length;if(ArrayBuffer.isView(string)||isInstance(string,ArrayBuffer))return string.byteLength;if(typeof string!==\"string\")throw TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof string);let len2=string.length,mustMatch=arguments.length>2&&arguments[2]===!0;if(!mustMatch&&len2===0)return 0;let loweredCase=!1;for(;;)switch(encoding){case\"ascii\":case\"latin1\":case\"binary\":return len2;case\"utf8\":case\"utf-8\":return utf8ToBytes(string).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return len2*2;case\"hex\":return len2>>>1;case\"base64\":return base64ToBytes(string).length;default:if(loweredCase)return mustMatch?-1:utf8ToBytes(string).length;encoding=(\"\"+encoding).toLowerCase(),loweredCase=!0}}Buffer.byteLength=byteLength;function slowToString(encoding,start,end){let loweredCase=!1;if(start===void 0||start<0)start=0;if(start>this.length)return\"\";if(end===void 0||end>this.length)end=this.length;if(end<=0)return\"\";if(end>>>=0,start>>>=0,end<=start)return\"\";if(!encoding)encoding=\"utf8\";while(!0)switch(encoding){case\"hex\":return hexSlice(this,start,end);case\"utf8\":case\"utf-8\":return utf8Slice(this,start,end);case\"ascii\":return asciiSlice(this,start,end);case\"latin1\":case\"binary\":return latin1Slice(this,start,end);case\"base64\":return base64Slice(this,start,end);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return utf16leSlice(this,start,end);default:if(loweredCase)throw TypeError(\"Unknown encoding: \"+encoding);encoding=(encoding+\"\").toLowerCase(),loweredCase=!0}}Buffer.prototype._isBuffer=!0;function swap(b,n,m){let i2=b[n];b[n]=b[m],b[m]=i2}Buffer.prototype.swap16=function(){let len2=this.length;if(len2%2!==0)throw RangeError(\"Buffer size must be a multiple of 16-bits\");for(let i2=0;i2<len2;i2+=2)swap(this,i2,i2+1);return this};Buffer.prototype.swap32=function(){let len2=this.length;if(len2%4!==0)throw RangeError(\"Buffer size must be a multiple of 32-bits\");for(let i2=0;i2<len2;i2+=4)swap(this,i2,i2+3),swap(this,i2+1,i2+2);return this};Buffer.prototype.swap64=function(){let len2=this.length;if(len2%8!==0)throw RangeError(\"Buffer size must be a multiple of 64-bits\");for(let i2=0;i2<len2;i2+=8)swap(this,i2,i2+7),swap(this,i2+1,i2+6),swap(this,i2+2,i2+5),swap(this,i2+3,i2+4);return this};Buffer.prototype.toString=function(){let length=this.length;if(length===0)return\"\";if(arguments.length===0)return utf8Slice(this,0,length);return slowToString.apply(this,arguments)};Buffer.prototype.toLocaleString=Buffer.prototype.toString;Buffer.prototype.equals=function(b){if(!Buffer.isBuffer(b))throw TypeError(\"Argument must be a Buffer\");if(this===b)return!0;return Buffer.compare(this,b)===0};Buffer.prototype.inspect=function(){let str=\"\",max=INSPECT_MAX_BYTES;if(str=this.toString(\"hex\",0,max).replace(/(.{2})/g,\"$1 \").trim(),this.length>max)str+=\" ... \";return\"<Buffer \"+str+\">\"};if(customInspectSymbol)Buffer.prototype[customInspectSymbol]=Buffer.prototype.inspect;Buffer.prototype.compare=function(target,start,end,thisStart,thisEnd){if(isInstance(target,Uint8Array))target=Buffer.from(target,target.offset,target.byteLength);if(!Buffer.isBuffer(target))throw TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+typeof target);if(start===void 0)start=0;if(end===void 0)end=target?target.length:0;if(thisStart===void 0)thisStart=0;if(thisEnd===void 0)thisEnd=this.length;if(start<0||end>target.length||thisStart<0||thisEnd>this.length)throw RangeError(\"out of range index\");if(thisStart>=thisEnd&&start>=end)return 0;if(thisStart>=thisEnd)return-1;if(start>=end)return 1;if(start>>>=0,end>>>=0,thisStart>>>=0,thisEnd>>>=0,this===target)return 0;let x=thisEnd-thisStart,y=end-start,len2=Math.min(x,y),thisCopy=this.slice(thisStart,thisEnd),targetCopy=target.slice(start,end);for(let i2=0;i2<len2;++i2)if(thisCopy[i2]!==targetCopy[i2]){x=thisCopy[i2],y=targetCopy[i2];break}if(x<y)return-1;if(y<x)return 1;return 0};function bidirectionalIndexOf(buffer,val,byteOffset,encoding,dir){if(buffer.length===0)return-1;if(typeof byteOffset===\"string\")encoding=byteOffset,byteOffset=0;else if(byteOffset>2147483647)byteOffset=2147483647;else if(byteOffset<-2147483648)byteOffset=-2147483648;if(byteOffset=+byteOffset,Number.isNaN(byteOffset))byteOffset=dir?0:buffer.length-1;if(byteOffset<0)byteOffset=buffer.length+byteOffset;if(byteOffset>=buffer.length)if(dir)return-1;else byteOffset=buffer.length-1;else if(byteOffset<0)if(dir)byteOffset=0;else return-1;if(typeof val===\"string\")val=Buffer.from(val,encoding);if(Buffer.isBuffer(val)){if(val.length===0)return-1;return arrayIndexOf(buffer,val,byteOffset,encoding,dir)}else if(typeof val===\"number\"){if(val=val&255,typeof Uint8Array.prototype.indexOf===\"function\")if(dir)return Uint8Array.prototype.indexOf.call(buffer,val,byteOffset);else return Uint8Array.prototype.lastIndexOf.call(buffer,val,byteOffset);return arrayIndexOf(buffer,[val],byteOffset,encoding,dir)}throw TypeError(\"val must be string, number or Buffer\")}function arrayIndexOf(arr,val,byteOffset,encoding,dir){let indexSize=1,arrLength=arr.length,valLength=val.length;if(encoding!==void 0){if(encoding=String(encoding).toLowerCase(),encoding===\"ucs2\"||encoding===\"ucs-2\"||encoding===\"utf16le\"||encoding===\"utf-16le\"){if(arr.length<2||val.length<2)return-1;indexSize=2,arrLength/=2,valLength/=2,byteOffset/=2}}function read2(buf,i3){if(indexSize===1)return buf[i3];else return buf.readUInt16BE(i3*indexSize)}let i2;if(dir){let foundIndex=-1;for(i2=byteOffset;i2<arrLength;i2++)if(read2(arr,i2)===read2(val,foundIndex===-1?0:i2-foundIndex)){if(foundIndex===-1)foundIndex=i2;if(i2-foundIndex+1===valLength)return foundIndex*indexSize}else{if(foundIndex!==-1)i2-=i2-foundIndex;foundIndex=-1}}else{if(byteOffset+valLength>arrLength)byteOffset=arrLength-valLength;for(i2=byteOffset;i2>=0;i2--){let found=!0;for(let j=0;j<valLength;j++)if(read2(arr,i2+j)!==read2(val,j)){found=!1;break}if(found)return i2}}return-1}Buffer.prototype.includes=function(val,byteOffset,encoding){return this.indexOf(val,byteOffset,encoding)!==-1};Buffer.prototype.indexOf=function(val,byteOffset,encoding){return bidirectionalIndexOf(this,val,byteOffset,encoding,!0)};Buffer.prototype.lastIndexOf=function(val,byteOffset,encoding){return bidirectionalIndexOf(this,val,byteOffset,encoding,!1)};function hexWrite(buf,string,offset,length){offset=Number(offset)||0;let remaining=buf.length-offset;if(!length)length=remaining;else if(length=Number(length),length>remaining)length=remaining;let strLen=string.length;if(length>strLen/2)length=strLen/2;let i2;for(i2=0;i2<length;++i2){let parsed=parseInt(string.substr(i2*2,2),16);if(Number.isNaN(parsed))return i2;buf[offset+i2]=parsed}return i2}function utf8Write(buf,string,offset,length){return blitBuffer(utf8ToBytes(string,buf.length-offset),buf,offset,length)}function asciiWrite(buf,string,offset,length){return blitBuffer(asciiToBytes(string),buf,offset,length)}function base64Write(buf,string,offset,length){return blitBuffer(base64ToBytes(string),buf,offset,length)}function ucs2Write(buf,string,offset,length){return blitBuffer(utf16leToBytes(string,buf.length-offset),buf,offset,length)}Buffer.prototype.write=function(string,offset,length,encoding){if(offset===void 0)encoding=\"utf8\",length=this.length,offset=0;else if(length===void 0&&typeof offset===\"string\")encoding=offset,length=this.length,offset=0;else if(isFinite(offset))if(offset=offset>>>0,isFinite(length)){if(length=length>>>0,encoding===void 0)encoding=\"utf8\"}else encoding=length,length=void 0;else throw Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");let remaining=this.length-offset;if(length===void 0||length>remaining)length=remaining;if(string.length>0&&(length<0||offset<0)||offset>this.length)throw RangeError(\"Attempt to write outside buffer bounds\");if(!encoding)encoding=\"utf8\";let loweredCase=!1;for(;;)switch(encoding){case\"hex\":return hexWrite(this,string,offset,length);case\"utf8\":case\"utf-8\":return utf8Write(this,string,offset,length);case\"ascii\":case\"latin1\":case\"binary\":return asciiWrite(this,string,offset,length);case\"base64\":return base64Write(this,string,offset,length);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return ucs2Write(this,string,offset,length);default:if(loweredCase)throw TypeError(\"Unknown encoding: \"+encoding);encoding=(\"\"+encoding).toLowerCase(),loweredCase=!0}};Buffer.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function base64Slice(buf,start,end){if(start===0&&end===buf.length)return fromByteArray(buf);else return fromByteArray(buf.slice(start,end))}function utf8Slice(buf,start,end){end=Math.min(buf.length,end);let res=[],i2=start;while(i2<end){let firstByte=buf[i2],codePoint=null,bytesPerSequence=firstByte>239?4:firstByte>223?3:firstByte>191?2:1;if(i2+bytesPerSequence<=end){let secondByte,thirdByte,fourthByte,tempCodePoint;switch(bytesPerSequence){case 1:if(firstByte<128)codePoint=firstByte;break;case 2:if(secondByte=buf[i2+1],(secondByte&192)===128){if(tempCodePoint=(firstByte&31)<<6|secondByte&63,tempCodePoint>127)codePoint=tempCodePoint}break;case 3:if(secondByte=buf[i2+1],thirdByte=buf[i2+2],(secondByte&192)===128&&(thirdByte&192)===128){if(tempCodePoint=(firstByte&15)<<12|(secondByte&63)<<6|thirdByte&63,tempCodePoint>2047&&(tempCodePoint<55296||tempCodePoint>57343))codePoint=tempCodePoint}break;case 4:if(secondByte=buf[i2+1],thirdByte=buf[i2+2],fourthByte=buf[i2+3],(secondByte&192)===128&&(thirdByte&192)===128&&(fourthByte&192)===128){if(tempCodePoint=(firstByte&15)<<18|(secondByte&63)<<12|(thirdByte&63)<<6|fourthByte&63,tempCodePoint>65535&&tempCodePoint<1114112)codePoint=tempCodePoint}}}if(codePoint===null)codePoint=65533,bytesPerSequence=1;else if(codePoint>65535)codePoint-=65536,res.push(codePoint>>>10&1023|55296),codePoint=56320|codePoint&1023;res.push(codePoint),i2+=bytesPerSequence}return decodeCodePointsArray(res)}var MAX_ARGUMENTS_LENGTH=4096;function decodeCodePointsArray(codePoints){let len2=codePoints.length;if(len2<=MAX_ARGUMENTS_LENGTH)return String.fromCharCode.apply(String,codePoints);let res=\"\",i2=0;while(i2<len2)res+=String.fromCharCode.apply(String,codePoints.slice(i2,i2+=MAX_ARGUMENTS_LENGTH));return res}function asciiSlice(buf,start,end){let ret=\"\";end=Math.min(buf.length,end);for(let i2=start;i2<end;++i2)ret+=String.fromCharCode(buf[i2]&127);return ret}function latin1Slice(buf,start,end){let ret=\"\";end=Math.min(buf.length,end);for(let i2=start;i2<end;++i2)ret+=String.fromCharCode(buf[i2]);return ret}function hexSlice(buf,start,end){let len2=buf.length;if(!start||start<0)start=0;if(!end||end<0||end>len2)end=len2;let out=\"\";for(let i2=start;i2<end;++i2)out+=hexSliceLookupTable[buf[i2]];return out}function utf16leSlice(buf,start,end){let bytes=buf.slice(start,end),res=\"\";for(let i2=0;i2<bytes.length-1;i2+=2)res+=String.fromCharCode(bytes[i2]+bytes[i2+1]*256);return res}Buffer.prototype.slice=function(start,end){let len2=this.length;if(start=~~start,end=end===void 0?len2:~~end,start<0){if(start+=len2,start<0)start=0}else if(start>len2)start=len2;if(end<0){if(end+=len2,end<0)end=0}else if(end>len2)end=len2;if(end<start)end=start;let newBuf=this.subarray(start,end);return Object.setPrototypeOf(newBuf,Buffer.prototype),newBuf};function checkOffset(offset,ext,length){if(offset%1!==0||offset<0)throw RangeError(\"offset is not uint\");if(offset+ext>length)throw RangeError(\"Trying to access beyond buffer length\")}Buffer.prototype.readUintLE=Buffer.prototype.readUIntLE=function(offset,byteLength2,noAssert){if(offset=offset>>>0,byteLength2=byteLength2>>>0,!noAssert)checkOffset(offset,byteLength2,this.length);let val=this[offset],mul=1,i2=0;while(++i2<byteLength2&&(mul*=256))val+=this[offset+i2]*mul;return val};Buffer.prototype.readUintBE=Buffer.prototype.readUIntBE=function(offset,byteLength2,noAssert){if(offset=offset>>>0,byteLength2=byteLength2>>>0,!noAssert)checkOffset(offset,byteLength2,this.length);let val=this[offset+--byteLength2],mul=1;while(byteLength2>0&&(mul*=256))val+=this[offset+--byteLength2]*mul;return val};Buffer.prototype.readUint8=Buffer.prototype.readUInt8=function(offset,noAssert){if(offset=offset>>>0,!noAssert)checkOffset(offset,1,this.length);return this[offset]};Buffer.prototype.readUint16LE=Buffer.prototype.readUInt16LE=function(offset,noAssert){if(offset=offset>>>0,!noAssert)checkOffset(offset,2,this.length);return this[offset]|this[offset+1]<<8};Buffer.prototype.readUint16BE=Buffer.prototype.readUInt16BE=function(offset,noAssert){if(offset=offset>>>0,!noAssert)checkOffset(offset,2,this.length);return this[offset]<<8|this[offset+1]};Buffer.prototype.readUint32LE=Buffer.prototype.readUInt32LE=function(offset,noAssert){if(offset=offset>>>0,!noAssert)checkOffset(offset,4,this.length);return(this[offset]|this[offset+1]<<8|this[offset+2]<<16)+this[offset+3]*16777216};Buffer.prototype.readUint32BE=Buffer.prototype.readUInt32BE=function(offset,noAssert){if(offset=offset>>>0,!noAssert)checkOffset(offset,4,this.length);return this[offset]*16777216+(this[offset+1]<<16|this[offset+2]<<8|this[offset+3])};Buffer.prototype.readBigUInt64LE=defineBigIntMethod(function(offset){offset=offset>>>0,validateNumber(offset,\"offset\");let first=this[offset],last=this[offset+7];if(first===void 0||last===void 0)boundsError(offset,this.length-8);let lo=first+this[++offset]*256+this[++offset]*65536+this[++offset]*16777216,hi=this[++offset]+this[++offset]*256+this[++offset]*65536+last*16777216;return BigInt(lo)+(BigInt(hi)<<BigInt(32))});Buffer.prototype.readBigUInt64BE=defineBigIntMethod(function(offset){offset=offset>>>0,validateNumber(offset,\"offset\");let first=this[offset],last=this[offset+7];if(first===void 0||last===void 0)boundsError(offset,this.length-8);let hi=first*16777216+this[++offset]*65536+this[++offset]*256+this[++offset],lo=this[++offset]*16777216+this[++offset]*65536+this[++offset]*256+last;return(BigInt(hi)<<BigInt(32))+BigInt(lo)});Buffer.prototype.readIntLE=function(offset,byteLength2,noAssert){if(offset=offset>>>0,byteLength2=byteLength2>>>0,!noAssert)checkOffset(offset,byteLength2,this.length);let val=this[offset],mul=1,i2=0;while(++i2<byteLength2&&(mul*=256))val+=this[offset+i2]*mul;if(mul*=128,val>=mul)val-=Math.pow(2,8*byteLength2);return val};Buffer.prototype.readIntBE=function(offset,byteLength2,noAssert){if(offset=offset>>>0,byteLength2=byteLength2>>>0,!noAssert)checkOffset(offset,byteLength2,this.length);let i2=byteLength2,mul=1,val=this[offset+--i2];while(i2>0&&(mul*=256))val+=this[offset+--i2]*mul;if(mul*=128,val>=mul)val-=Math.pow(2,8*byteLength2);return val};Buffer.prototype.readInt8=function(offset,noAssert){if(offset=offset>>>0,!noAssert)checkOffset(offset,1,this.length);if(!(this[offset]&128))return this[offset];return(255-this[offset]+1)*-1};Buffer.prototype.readInt16LE=function(offset,noAssert){if(offset=offset>>>0,!noAssert)checkOffset(offset,2,this.length);let val=this[offset]|this[offset+1]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt16BE=function(offset,noAssert){if(offset=offset>>>0,!noAssert)checkOffset(offset,2,this.length);let val=this[offset+1]|this[offset]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt32LE=function(offset,noAssert){if(offset=offset>>>0,!noAssert)checkOffset(offset,4,this.length);return this[offset]|this[offset+1]<<8|this[offset+2]<<16|this[offset+3]<<24};Buffer.prototype.readInt32BE=function(offset,noAssert){if(offset=offset>>>0,!noAssert)checkOffset(offset,4,this.length);return this[offset]<<24|this[offset+1]<<16|this[offset+2]<<8|this[offset+3]};Buffer.prototype.readBigInt64LE=defineBigIntMethod(function(offset){offset=offset>>>0,validateNumber(offset,\"offset\");let first=this[offset],last=this[offset+7];if(first===void 0||last===void 0)boundsError(offset,this.length-8);let val=this[offset+4]+this[offset+5]*256+this[offset+6]*65536+(last<<24);return(BigInt(val)<<BigInt(32))+BigInt(first+this[++offset]*256+this[++offset]*65536+this[++offset]*16777216)});Buffer.prototype.readBigInt64BE=defineBigIntMethod(function(offset){offset=offset>>>0,validateNumber(offset,\"offset\");let first=this[offset],last=this[offset+7];if(first===void 0||last===void 0)boundsError(offset,this.length-8);let val=(first<<24)+this[++offset]*65536+this[++offset]*256+this[++offset];return(BigInt(val)<<BigInt(32))+BigInt(this[++offset]*16777216+this[++offset]*65536+this[++offset]*256+last)});Buffer.prototype.readFloatLE=function(offset,noAssert){if(offset=offset>>>0,!noAssert)checkOffset(offset,4,this.length);return read(this,offset,!0,23,4)};Buffer.prototype.readFloatBE=function(offset,noAssert){if(offset=offset>>>0,!noAssert)checkOffset(offset,4,this.length);return read(this,offset,!1,23,4)};Buffer.prototype.readDoubleLE=function(offset,noAssert){if(offset=offset>>>0,!noAssert)checkOffset(offset,8,this.length);return read(this,offset,!0,52,8)};Buffer.prototype.readDoubleBE=function(offset,noAssert){if(offset=offset>>>0,!noAssert)checkOffset(offset,8,this.length);return read(this,offset,!1,52,8)};function checkInt(buf,value,offset,ext,max,min){if(!Buffer.isBuffer(buf))throw TypeError('\"buffer\" argument must be a Buffer instance');if(value>max||value<min)throw RangeError('\"value\" argument is out of bounds');if(offset+ext>buf.length)throw RangeError(\"Index out of range\")}Buffer.prototype.writeUintLE=Buffer.prototype.writeUIntLE=function(value,offset,byteLength2,noAssert){if(value=+value,offset=offset>>>0,byteLength2=byteLength2>>>0,!noAssert){let maxBytes=Math.pow(2,8*byteLength2)-1;checkInt(this,value,offset,byteLength2,maxBytes,0)}let mul=1,i2=0;this[offset]=value&255;while(++i2<byteLength2&&(mul*=256))this[offset+i2]=value/mul&255;return offset+byteLength2};Buffer.prototype.writeUintBE=Buffer.prototype.writeUIntBE=function(value,offset,byteLength2,noAssert){if(value=+value,offset=offset>>>0,byteLength2=byteLength2>>>0,!noAssert){let maxBytes=Math.pow(2,8*byteLength2)-1;checkInt(this,value,offset,byteLength2,maxBytes,0)}let i2=byteLength2-1,mul=1;this[offset+i2]=value&255;while(--i2>=0&&(mul*=256))this[offset+i2]=value/mul&255;return offset+byteLength2};Buffer.prototype.writeUint8=Buffer.prototype.writeUInt8=function(value,offset,noAssert){if(value=+value,offset=offset>>>0,!noAssert)checkInt(this,value,offset,1,255,0);return this[offset]=value&255,offset+1};Buffer.prototype.writeUint16LE=Buffer.prototype.writeUInt16LE=function(value,offset,noAssert){if(value=+value,offset=offset>>>0,!noAssert)checkInt(this,value,offset,2,65535,0);return this[offset]=value&255,this[offset+1]=value>>>8,offset+2};Buffer.prototype.writeUint16BE=Buffer.prototype.writeUInt16BE=function(value,offset,noAssert){if(value=+value,offset=offset>>>0,!noAssert)checkInt(this,value,offset,2,65535,0);return this[offset]=value>>>8,this[offset+1]=value&255,offset+2};Buffer.prototype.writeUint32LE=Buffer.prototype.writeUInt32LE=function(value,offset,noAssert){if(value=+value,offset=offset>>>0,!noAssert)checkInt(this,value,offset,4,4294967295,0);return this[offset+3]=value>>>24,this[offset+2]=value>>>16,this[offset+1]=value>>>8,this[offset]=value&255,offset+4};Buffer.prototype.writeUint32BE=Buffer.prototype.writeUInt32BE=function(value,offset,noAssert){if(value=+value,offset=offset>>>0,!noAssert)checkInt(this,value,offset,4,4294967295,0);return this[offset]=value>>>24,this[offset+1]=value>>>16,this[offset+2]=value>>>8,this[offset+3]=value&255,offset+4};function wrtBigUInt64LE(buf,value,offset,min,max){checkIntBI(value,min,max,buf,offset,7);let lo=Number(value&BigInt(4294967295));buf[offset++]=lo,lo=lo>>8,buf[offset++]=lo,lo=lo>>8,buf[offset++]=lo,lo=lo>>8,buf[offset++]=lo;let hi=Number(value>>BigInt(32)&BigInt(4294967295));return buf[offset++]=hi,hi=hi>>8,buf[offset++]=hi,hi=hi>>8,buf[offset++]=hi,hi=hi>>8,buf[offset++]=hi,offset}function wrtBigUInt64BE(buf,value,offset,min,max){checkIntBI(value,min,max,buf,offset,7);let lo=Number(value&BigInt(4294967295));buf[offset+7]=lo,lo=lo>>8,buf[offset+6]=lo,lo=lo>>8,buf[offset+5]=lo,lo=lo>>8,buf[offset+4]=lo;let hi=Number(value>>BigInt(32)&BigInt(4294967295));return buf[offset+3]=hi,hi=hi>>8,buf[offset+2]=hi,hi=hi>>8,buf[offset+1]=hi,hi=hi>>8,buf[offset]=hi,offset+8}Buffer.prototype.writeBigUInt64LE=defineBigIntMethod(function(value,offset=0){return wrtBigUInt64LE(this,value,offset,BigInt(0),BigInt(\"0xffffffffffffffff\"))});Buffer.prototype.writeBigUInt64BE=defineBigIntMethod(function(value,offset=0){return wrtBigUInt64BE(this,value,offset,BigInt(0),BigInt(\"0xffffffffffffffff\"))});Buffer.prototype.writeIntLE=function(value,offset,byteLength2,noAssert){if(value=+value,offset=offset>>>0,!noAssert){let limit=Math.pow(2,8*byteLength2-1);checkInt(this,value,offset,byteLength2,limit-1,-limit)}let i2=0,mul=1,sub=0;this[offset]=value&255;while(++i2<byteLength2&&(mul*=256)){if(value<0&&sub===0&&this[offset+i2-1]!==0)sub=1;this[offset+i2]=(value/mul>>0)-sub&255}return offset+byteLength2};Buffer.prototype.writeIntBE=function(value,offset,byteLength2,noAssert){if(value=+value,offset=offset>>>0,!noAssert){let limit=Math.pow(2,8*byteLength2-1);checkInt(this,value,offset,byteLength2,limit-1,-limit)}let i2=byteLength2-1,mul=1,sub=0;this[offset+i2]=value&255;while(--i2>=0&&(mul*=256)){if(value<0&&sub===0&&this[offset+i2+1]!==0)sub=1;this[offset+i2]=(value/mul>>0)-sub&255}return offset+byteLength2};Buffer.prototype.writeInt8=function(value,offset,noAssert){if(value=+value,offset=offset>>>0,!noAssert)checkInt(this,value,offset,1,127,-128);if(value<0)value=255+value+1;return this[offset]=value&255,offset+1};Buffer.prototype.writeInt16LE=function(value,offset,noAssert){if(value=+value,offset=offset>>>0,!noAssert)checkInt(this,value,offset,2,32767,-32768);return this[offset]=value&255,this[offset+1]=value>>>8,offset+2};Buffer.prototype.writeInt16BE=function(value,offset,noAssert){if(value=+value,offset=offset>>>0,!noAssert)checkInt(this,value,offset,2,32767,-32768);return this[offset]=value>>>8,this[offset+1]=value&255,offset+2};Buffer.prototype.writeInt32LE=function(value,offset,noAssert){if(value=+value,offset=offset>>>0,!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);return this[offset]=value&255,this[offset+1]=value>>>8,this[offset+2]=value>>>16,this[offset+3]=value>>>24,offset+4};Buffer.prototype.writeInt32BE=function(value,offset,noAssert){if(value=+value,offset=offset>>>0,!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);if(value<0)value=4294967295+value+1;return this[offset]=value>>>24,this[offset+1]=value>>>16,this[offset+2]=value>>>8,this[offset+3]=value&255,offset+4};Buffer.prototype.writeBigInt64LE=defineBigIntMethod(function(value,offset=0){return wrtBigUInt64LE(this,value,offset,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))});Buffer.prototype.writeBigInt64BE=defineBigIntMethod(function(value,offset=0){return wrtBigUInt64BE(this,value,offset,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))});function checkIEEE754(buf,value,offset,ext,max,min){if(offset+ext>buf.length)throw RangeError(\"Index out of range\");if(offset<0)throw RangeError(\"Index out of range\")}function writeFloat(buf,value,offset,littleEndian,noAssert){if(value=+value,offset=offset>>>0,!noAssert)checkIEEE754(buf,value,offset,4,340282346638528860000000000000000000000,-340282346638528860000000000000000000000);return write(buf,value,offset,littleEndian,23,4),offset+4}Buffer.prototype.writeFloatLE=function(value,offset,noAssert){return writeFloat(this,value,offset,!0,noAssert)};Buffer.prototype.writeFloatBE=function(value,offset,noAssert){return writeFloat(this,value,offset,!1,noAssert)};function writeDouble(buf,value,offset,littleEndian,noAssert){if(value=+value,offset=offset>>>0,!noAssert)checkIEEE754(buf,value,offset,8,179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,-179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000);return write(buf,value,offset,littleEndian,52,8),offset+8}Buffer.prototype.writeDoubleLE=function(value,offset,noAssert){return writeDouble(this,value,offset,!0,noAssert)};Buffer.prototype.writeDoubleBE=function(value,offset,noAssert){return writeDouble(this,value,offset,!1,noAssert)};Buffer.prototype.copy=function(target,targetStart,start,end){if(!Buffer.isBuffer(target))throw TypeError(\"argument should be a Buffer\");if(!start)start=0;if(!end&&end!==0)end=this.length;if(targetStart>=target.length)targetStart=target.length;if(!targetStart)targetStart=0;if(end>0&&end<start)end=start;if(end===start)return 0;if(target.length===0||this.length===0)return 0;if(targetStart<0)throw RangeError(\"targetStart out of bounds\");if(start<0||start>=this.length)throw RangeError(\"Index out of range\");if(end<0)throw RangeError(\"sourceEnd out of bounds\");if(end>this.length)end=this.length;if(target.length-targetStart<end-start)end=target.length-targetStart+start;let len2=end-start;if(this===target&&typeof Uint8Array.prototype.copyWithin===\"function\")this.copyWithin(targetStart,start,end);else Uint8Array.prototype.set.call(target,this.subarray(start,end),targetStart);return len2};Buffer.prototype.fill=function(val,start,end,encoding){if(typeof val===\"string\"){if(typeof start===\"string\")encoding=start,start=0,end=this.length;else if(typeof end===\"string\")encoding=end,end=this.length;if(encoding!==void 0&&typeof encoding!==\"string\")throw TypeError(\"encoding must be a string\");if(typeof encoding===\"string\"&&!Buffer.isEncoding(encoding))throw TypeError(\"Unknown encoding: \"+encoding);if(val.length===1){let code2=val.charCodeAt(0);if(encoding===\"utf8\"&&code2<128||encoding===\"latin1\")val=code2}}else if(typeof val===\"number\")val=val&255;else if(typeof val===\"boolean\")val=Number(val);if(start<0||this.length<start||this.length<end)throw RangeError(\"Out of range index\");if(end<=start)return this;if(start=start>>>0,end=end===void 0?this.length:end>>>0,!val)val=0;let i2;if(typeof val===\"number\")for(i2=start;i2<end;++i2)this[i2]=val;else{let bytes=Buffer.isBuffer(val)?val:Buffer.from(val,encoding),len2=bytes.length;if(len2===0)throw TypeError('The value \"'+val+'\" is invalid for argument \"value\"');for(i2=0;i2<end-start;++i2)this[i2+start]=bytes[i2%len2]}return this};function addNumericalSeparator(val){let res=\"\",i2=val.length,start=val[0]===\"-\"?1:0;for(;i2>=start+4;i2-=3)res=`_${val.slice(i2-3,i2)}${res}`;return`${val.slice(0,i2)}${res}`}function checkBounds(buf,offset,byteLength2){if(validateNumber(offset,\"offset\"),buf[offset]===void 0||buf[offset+byteLength2]===void 0)boundsError(offset,buf.length-(byteLength2+1))}function checkIntBI(value,min,max,buf,offset,byteLength2){if(value>max||value<min){let n=typeof min===\"bigint\"?\"n\":\"\",range;if(byteLength2>3)if(min===0||min===BigInt(0))range=`>= 0${n} and < 2${n} ** ${(byteLength2+1)*8}${n}`;else range=`>= -(2${n} ** ${(byteLength2+1)*8-1}${n}) and < 2 ** ${(byteLength2+1)*8-1}${n}`;else range=`>= ${min}${n} and <= ${max}${n}`;throw new ERR_OUT_OF_RANGE(\"value\",range,value)}checkBounds(buf,offset,byteLength2)}function validateNumber(value,name){if(typeof value!==\"number\")throw new ERR_INVALID_ARG_TYPE(name,\"number\",value)}function boundsError(value,length,type){if(Math.floor(value)!==value)throw validateNumber(value,type),new ERR_OUT_OF_RANGE(type||\"offset\",\"an integer\",value);if(length<0)throw new ERR_BUFFER_OUT_OF_BOUNDS;throw new ERR_OUT_OF_RANGE(type||\"offset\",`>= ${type?1:0} and <= ${length}`,value)}var INVALID_BASE64_RE=/[^+/0-9A-Za-z-_]/g;function base64clean(str){if(str=str.split(\"=\")[0],str=str.trim().replace(INVALID_BASE64_RE,\"\"),str.length<2)return\"\";while(str.length%4!==0)str=str+\"=\";return str}function utf8ToBytes(string,units){units=units||1/0;let codePoint,length=string.length,leadSurrogate=null,bytes=[];for(let i2=0;i2<length;++i2){if(codePoint=string.charCodeAt(i2),codePoint>55295&&codePoint<57344){if(!leadSurrogate){if(codePoint>56319){if((units-=3)>-1)bytes.push(239,191,189);continue}else if(i2+1===length){if((units-=3)>-1)bytes.push(239,191,189);continue}leadSurrogate=codePoint;continue}if(codePoint<56320){if((units-=3)>-1)bytes.push(239,191,189);leadSurrogate=codePoint;continue}codePoint=(leadSurrogate-55296<<10|codePoint-56320)+65536}else if(leadSurrogate){if((units-=3)>-1)bytes.push(239,191,189)}if(leadSurrogate=null,codePoint<128){if((units-=1)<0)break;bytes.push(codePoint)}else if(codePoint<2048){if((units-=2)<0)break;bytes.push(codePoint>>6|192,codePoint&63|128)}else if(codePoint<65536){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,codePoint&63|128)}else if(codePoint<1114112){if((units-=4)<0)break;bytes.push(codePoint>>18|240,codePoint>>12&63|128,codePoint>>6&63|128,codePoint&63|128)}else throw Error(\"Invalid code point\")}return bytes}function asciiToBytes(str){let byteArray=[];for(let i2=0;i2<str.length;++i2)byteArray.push(str.charCodeAt(i2)&255);return byteArray}function utf16leToBytes(str,units){let c,hi,lo,byteArray=[];for(let i2=0;i2<str.length;++i2){if((units-=2)<0)break;c=str.charCodeAt(i2),hi=c>>8,lo=c%256,byteArray.push(lo),byteArray.push(hi)}return byteArray}function base64ToBytes(str){return toByteArray(base64clean(str))}function blitBuffer(src,dst,offset,length){let i2;for(i2=0;i2<length;++i2){if(i2+offset>=dst.length||i2>=src.length)break;dst[i2+offset]=src[i2]}return i2}function isInstance(obj,type){return obj instanceof type||obj!=null&&obj.constructor!=null&&obj.constructor.name!=null&&obj.constructor.name===type.name}var hexSliceLookupTable=function(){let table=Array(256);for(let i2=0;i2<16;++i2){let i16=i2*16;for(let j=0;j<16;++j)table[i16+j]=\"0123456789abcdef\"[i2]+\"0123456789abcdef\"[j]}return table}();function defineBigIntMethod(fn){return typeof BigInt>\"u\"?BufferBigIntNotDefined:fn}function BufferBigIntNotDefined(){throw Error(\"BigInt not supported\")}function notimpl(name){return()=>{throw Error(name+\" is not implemented for node:buffer browser polyfill\")}}var resolveObjectURL=notimpl(\"resolveObjectURL\"),isUtf8=notimpl(\"isUtf8\"),isAscii=(str)=>{for(let char of str)if(char.charCodeAt(0)>127)return!1;return!0},transcode=notimpl(\"transcode\"),buffer_default=Buffer;export{transcode,resolveObjectURL,kStringMaxLength,kMaxLength,isUtf8,isAscii,buffer_default as default,constants,btoa,atob,INSPECT_MAX_BYTES,File,Buffer,Blob};",
|
|
6
|
+
"var formatRegExp=/%[sdj%]/g;function format(f,...args){if(!isString(f)){var objects=[f];for(var i=0;i<args.length;i++)objects.push(inspect(args[i]));return objects.join(\" \")}var i=0,len=args.length,str=String(f).replace(formatRegExp,function(x2){if(x2===\"%%\")return\"%\";if(i>=len)return x2;switch(x2){case\"%s\":return String(args[i++]);case\"%d\":return Number(args[i++]);case\"%j\":try{return JSON.stringify(args[i++])}catch(_){return\"[Circular]\"}default:return x2}});for(var x=args[i];i<len;x=args[++i])if(isNull(x)||!isObject(x))str+=\" \"+x;else str+=\" \"+inspect(x);return str}function deprecate(fn,msg){if(typeof process>\"u\"||process?.noDeprecation===!0)return fn;var warned=!1;function deprecated(...args){if(!warned){if(process.throwDeprecation)throw Error(msg);else if(process.traceDeprecation)console.trace(msg);else console.error(msg);warned=!0}return fn.apply(this,...args)}return deprecated}var debuglog=((debugs={},debugEnvRegex={},debugEnv)=>((debugEnv=typeof process<\"u\"&&!1)&&(debugEnv=debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g,\"\\\\$&\").replace(/\\*/g,\".*\").replace(/,/g,\"$|^\").toUpperCase()),debugEnvRegex=new RegExp(\"^\"+debugEnv+\"$\",\"i\"),(set)=>{if(set=set.toUpperCase(),!debugs[set])if(debugEnvRegex.test(set))debugs[set]=function(...args){console.error(\"%s: %s\",set,pid,format.apply(null,...args))};else debugs[set]=function(){};return debugs[set]}))(),inspect=((i)=>(i.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},i.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},i.custom=Symbol.for(\"nodejs.util.inspect.custom\"),i))(function(obj,opts,...rest){var ctx={seen:[],stylize:stylizeNoColor};if(rest.length>=1)ctx.depth=rest[0];if(rest.length>=2)ctx.colors=rest[1];if(isBoolean(opts))ctx.showHidden=opts;else if(opts)_extend(ctx,opts);if(isUndefined(ctx.showHidden))ctx.showHidden=!1;if(isUndefined(ctx.depth))ctx.depth=2;if(isUndefined(ctx.colors))ctx.colors=!1;if(ctx.colors)ctx.stylize=stylizeWithColor;return formatValue(ctx,obj,ctx.depth)});function stylizeWithColor(str,styleType){var style=inspect.styles[styleType];if(style)return\"\\x1B[\"+inspect.colors[style][0]+\"m\"+str+\"\\x1B[\"+inspect.colors[style][1]+\"m\";else return str}function stylizeNoColor(str,styleType){return str}function arrayToHash(array){var hash={};return array.forEach(function(val,idx){hash[val]=!0}),hash}function formatValue(ctx,value,recurseTimes){if(ctx.customInspect&&value&&isFunction(value.inspect)&&value.inspect!==inspect&&!(value.constructor&&value.constructor.prototype===value)){var ret=value.inspect(recurseTimes,ctx);if(!isString(ret))ret=formatValue(ctx,ret,recurseTimes);return ret}var primitive=formatPrimitive(ctx,value);if(primitive)return primitive;var keys=Object.keys(value),visibleKeys=arrayToHash(keys);if(ctx.showHidden)keys=Object.getOwnPropertyNames(value);if(isError(value)&&(keys.indexOf(\"message\")>=0||keys.indexOf(\"description\")>=0))return formatError(value);if(keys.length===0){if(isFunction(value)){var name=value.name?\": \"+value.name:\"\";return ctx.stylize(\"[Function\"+name+\"]\",\"special\")}if(isRegExp(value))return ctx.stylize(RegExp.prototype.toString.call(value),\"regexp\");if(isDate(value))return ctx.stylize(Date.prototype.toString.call(value),\"date\");if(isError(value))return formatError(value)}var base=\"\",array=!1,braces=[\"{\",\"}\"];if(isArray(value))array=!0,braces=[\"[\",\"]\"];if(isFunction(value)){var n=value.name?\": \"+value.name:\"\";base=\" [Function\"+n+\"]\"}if(isRegExp(value))base=\" \"+RegExp.prototype.toString.call(value);if(isDate(value))base=\" \"+Date.prototype.toUTCString.call(value);if(isError(value))base=\" \"+formatError(value);if(keys.length===0&&(!array||value.length==0))return braces[0]+base+braces[1];if(recurseTimes<0)if(isRegExp(value))return ctx.stylize(RegExp.prototype.toString.call(value),\"regexp\");else return ctx.stylize(\"[Object]\",\"special\");ctx.seen.push(value);var output;if(array)output=formatArray(ctx,value,recurseTimes,visibleKeys,keys);else output=keys.map(function(key){return formatProperty(ctx,value,recurseTimes,visibleKeys,key,array)});return ctx.seen.pop(),reduceToSingleString(output,base,braces)}function formatPrimitive(ctx,value){if(isUndefined(value))return ctx.stylize(\"undefined\",\"undefined\");if(isString(value)){var simple=\"'\"+JSON.stringify(value).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return ctx.stylize(simple,\"string\")}if(isNumber(value))return ctx.stylize(\"\"+value,\"number\");if(isBoolean(value))return ctx.stylize(\"\"+value,\"boolean\");if(isNull(value))return ctx.stylize(\"null\",\"null\")}function formatError(value){return\"[\"+Error.prototype.toString.call(value)+\"]\"}function formatArray(ctx,value,recurseTimes,visibleKeys,keys){var output=[];for(var i=0,l=value.length;i<l;++i)if(hasOwnProperty(value,String(i)))output.push(formatProperty(ctx,value,recurseTimes,visibleKeys,String(i),!0));else output.push(\"\");return keys.forEach(function(key){if(!key.match(/^\\d+$/))output.push(formatProperty(ctx,value,recurseTimes,visibleKeys,key,!0))}),output}function formatProperty(ctx,value,recurseTimes,visibleKeys,key,array){var name,str,desc;if(desc=Object.getOwnPropertyDescriptor(value,key)||{value:value[key]},desc.get)if(desc.set)str=ctx.stylize(\"[Getter/Setter]\",\"special\");else str=ctx.stylize(\"[Getter]\",\"special\");else if(desc.set)str=ctx.stylize(\"[Setter]\",\"special\");if(!hasOwnProperty(visibleKeys,key))name=\"[\"+key+\"]\";if(!str)if(ctx.seen.indexOf(desc.value)<0){if(isNull(recurseTimes))str=formatValue(ctx,desc.value,null);else str=formatValue(ctx,desc.value,recurseTimes-1);if(str.indexOf(`\n`)>-1)if(array)str=str.split(`\n`).map(function(line){return\" \"+line}).join(`\n`).slice(2);else str=`\n`+str.split(`\n`).map(function(line){return\" \"+line}).join(`\n`)}else str=ctx.stylize(\"[Circular]\",\"special\");if(isUndefined(name)){if(array&&key.match(/^\\d+$/))return str;if(name=JSON.stringify(\"\"+key),name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/))name=name.slice(1,-1),name=ctx.stylize(name,\"name\");else name=name.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),name=ctx.stylize(name,\"string\")}return name+\": \"+str}function reduceToSingleString(output,base,braces){var numLinesEst=0,length=output.reduce(function(prev,cur){if(numLinesEst++,cur.indexOf(`\n`)>=0)numLinesEst++;return prev+cur.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);if(length>60)return braces[0]+(base===\"\"?\"\":base+`\n `)+\" \"+output.join(`,\n `)+\" \"+braces[1];return braces[0]+base+\" \"+output.join(\", \")+\" \"+braces[1]}var types=()=>{};function isArray(ar){return Array.isArray(ar)}function isBoolean(arg){return typeof arg===\"boolean\"}function isNull(arg){return arg===null}function isNullOrUndefined(arg){return arg==null}function isNumber(arg){return typeof arg===\"number\"}function isString(arg){return typeof arg===\"string\"}function isSymbol(arg){return typeof arg===\"symbol\"}function isUndefined(arg){return arg===void 0}function isRegExp(re){return isObject(re)&&objectToString(re)===\"[object RegExp]\"}function isObject(arg){return typeof arg===\"object\"&&arg!==null}function isDate(d){return isObject(d)&&objectToString(d)===\"[object Date]\"}function isError(e){return isObject(e)&&(objectToString(e)===\"[object Error]\"||e instanceof Error)}function isFunction(arg){return typeof arg===\"function\"}function isPrimitive(arg){return arg===null||typeof arg===\"boolean\"||typeof arg===\"number\"||typeof arg===\"string\"||typeof arg===\"symbol\"||typeof arg>\"u\"}function isBuffer(arg){return arg instanceof Buffer}function objectToString(o){return Object.prototype.toString.call(o)}function pad(n){return n<10?\"0\"+n.toString(10):n.toString(10)}var months=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function timestamp(){var d=new Date,time=[pad(d.getHours()),pad(d.getMinutes()),pad(d.getSeconds())].join(\":\");return[d.getDate(),months[d.getMonth()],time].join(\" \")}function log(...args){console.log(\"%s - %s\",timestamp(),format.apply(null,args))}function inherits(ctor,superCtor){if(superCtor)ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})}function _extend(origin,add){if(!add||!isObject(add))return origin;var keys=Object.keys(add),i=keys.length;while(i--)origin[keys[i]]=add[keys[i]];return origin}function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}var promisify=((x)=>(x.custom=Symbol.for(\"nodejs.util.promisify.custom\"),x))(function(original){if(typeof original!==\"function\")throw TypeError('The \"original\" argument must be of type Function');if(kCustomPromisifiedSymbol&&original[kCustomPromisifiedSymbol]){var fn=original[kCustomPromisifiedSymbol];if(typeof fn!==\"function\")throw TypeError('The \"nodejs.util.promisify.custom\" argument must be of type Function');return Object.defineProperty(fn,kCustomPromisifiedSymbol,{value:fn,enumerable:!1,writable:!1,configurable:!0}),fn}function fn(...args){var promiseResolve,promiseReject,promise=new Promise(function(resolve,reject){promiseResolve=resolve,promiseReject=reject});args.push(function(err,value){if(err)promiseReject(err);else promiseResolve(value)});try{original.apply(this,args)}catch(err){promiseReject(err)}return promise}if(Object.setPrototypeOf(fn,Object.getPrototypeOf(original)),kCustomPromisifiedSymbol)Object.defineProperty(fn,kCustomPromisifiedSymbol,{value:fn,enumerable:!1,writable:!1,configurable:!0});return Object.defineProperties(fn,Object.getOwnPropertyDescriptors(original))});function callbackifyOnRejected(reason,cb){if(!reason){var newReason=Error(\"Promise was rejected with a falsy value\");newReason.reason=reason,reason=newReason}return cb(reason)}function callbackify(original){if(typeof original!==\"function\")throw TypeError('The \"original\" argument must be of type Function');function callbackified(...args){var maybeCb=args.pop();if(typeof maybeCb!==\"function\")throw TypeError(\"The last argument must be of type Function\");var self=this,cb=function(...args2){return maybeCb.apply(self,...args2)};original.apply(this,args).then(function(ret){process.nextTick(cb.bind(null,null,ret))},function(rej){process.nextTick(callbackifyOnRejected.bind(null,rej,cb))})}return Object.setPrototypeOf(callbackified,Object.getPrototypeOf(original)),Object.defineProperties(callbackified,Object.getOwnPropertyDescriptors(original)),callbackified}var{TextEncoder,TextDecoder}=globalThis,util_default={TextEncoder,TextDecoder,promisify,log,inherits,_extend,callbackifyOnRejected,callbackify};export{types,promisify,log,isUndefined,isSymbol,isString,isRegExp,isPrimitive,isObject,isNumber,isNullOrUndefined,isNull,isFunction,isError,isDate,isBuffer,isBoolean,isArray,inspect,inherits,format,deprecate,util_default as default,debuglog,callbackifyOnRejected,callbackify,_extend,TextEncoder,TextDecoder};",
|
|
7
|
+
"var SymbolFor=Symbol.for,kCapture=Symbol(\"kCapture\"),kErrorMonitor=SymbolFor(\"events.errorMonitor\"),kMaxEventTargetListeners=Symbol(\"events.maxEventTargetListeners\"),kMaxEventTargetListenersWarned=Symbol(\"events.maxEventTargetListenersWarned\"),kRejection=SymbolFor(\"nodejs.rejection\"),captureRejectionSymbol=SymbolFor(\"nodejs.rejection\"),ArrayPrototypeSlice=Array.prototype.slice,defaultMaxListeners=10,EventEmitter=function(opts){if(this._events===void 0||this._events===this.__proto__._events)this._events={__proto__:null},this._eventsCount=0;if(this._maxListeners??=void 0,this[kCapture]=opts?.captureRejections?Boolean(opts?.captureRejections):EventEmitterPrototype[kCapture])this.emit=emitWithRejectionCapture},EventEmitterPrototype=EventEmitter.prototype={};EventEmitterPrototype._events=void 0;EventEmitterPrototype._eventsCount=0;EventEmitterPrototype._maxListeners=void 0;EventEmitterPrototype.setMaxListeners=function(n){return validateNumber(n,\"setMaxListeners\",0),this._maxListeners=n,this};EventEmitterPrototype.constructor=EventEmitter;EventEmitterPrototype.getMaxListeners=function(){return this?._maxListeners??defaultMaxListeners};function emitError(emitter,args){var{_events:events}=emitter;if(args[0]??=Error(\"Unhandled error.\"),!events)throw args[0];var errorMonitor=events[kErrorMonitor];if(errorMonitor)for(var handler of ArrayPrototypeSlice.call(errorMonitor))handler.apply(emitter,args);var handlers=events.error;if(!handlers)throw args[0];for(var handler of ArrayPrototypeSlice.call(handlers))handler.apply(emitter,args);return!0}function addCatch(emitter,promise,type,args){promise.then(void 0,function(err){queueMicrotask(()=>emitUnhandledRejectionOrErr(emitter,err,type,args))})}function emitUnhandledRejectionOrErr(emitter,err,type,args){if(typeof emitter[kRejection]===\"function\")emitter[kRejection](err,type,...args);else try{emitter[kCapture]=!1,emitter.emit(\"error\",err)}finally{emitter[kCapture]=!0}}var emitWithoutRejectionCapture=function(type,...args){if(type===\"error\")return emitError(this,args);var{_events:events}=this;if(events===void 0)return!1;var handlers=events[type];if(handlers===void 0)return!1;let maybeClonedHandlers=handlers.length>1?handlers.slice():handlers;for(let i=0,{length}=maybeClonedHandlers;i<length;i++){let handler=maybeClonedHandlers[i];switch(args.length){case 0:handler.call(this);break;case 1:handler.call(this,args[0]);break;case 2:handler.call(this,args[0],args[1]);break;case 3:handler.call(this,args[0],args[1],args[2]);break;default:handler.apply(this,args);break}}return!0},emitWithRejectionCapture=function(type,...args){if(type===\"error\")return emitError(this,args);var{_events:events}=this;if(events===void 0)return!1;var handlers=events[type];if(handlers===void 0)return!1;let maybeClonedHandlers=handlers.length>1?handlers.slice():handlers;for(let i=0,{length}=maybeClonedHandlers;i<length;i++){let handler=maybeClonedHandlers[i],result;switch(args.length){case 0:result=handler.call(this);break;case 1:result=handler.call(this,args[0]);break;case 2:result=handler.call(this,args[0],args[1]);break;case 3:result=handler.call(this,args[0],args[1],args[2]);break;default:result=handler.apply(this,args);break}if(result!==void 0&&typeof result?.then===\"function\"&&result.then===Promise.prototype.then)addCatch(this,result,type,args)}return!0};EventEmitterPrototype.emit=emitWithoutRejectionCapture;EventEmitterPrototype.addListener=function(type,fn){checkListener(fn);var events=this._events;if(!events)events=this._events={__proto__:null},this._eventsCount=0;else if(events.newListener)this.emit(\"newListener\",type,fn.listener??fn);var handlers=events[type];if(!handlers)events[type]=[fn],this._eventsCount++;else{handlers.push(fn);var m=this._maxListeners??defaultMaxListeners;if(m>0&&handlers.length>m&&!handlers.warned)overflowWarning(this,type,handlers)}return this};EventEmitterPrototype.on=EventEmitterPrototype.addListener;EventEmitterPrototype.prependListener=function(type,fn){checkListener(fn);var events=this._events;if(!events)events=this._events={__proto__:null},this._eventsCount=0;else if(events.newListener)this.emit(\"newListener\",type,fn.listener??fn);var handlers=events[type];if(!handlers)events[type]=[fn],this._eventsCount++;else{handlers.unshift(fn);var m=this._maxListeners??defaultMaxListeners;if(m>0&&handlers.length>m&&!handlers.warned)overflowWarning(this,type,handlers)}return this};function overflowWarning(emitter,type,handlers){handlers.warned=!0;let warn=Error(`Possible EventEmitter memory leak detected. ${handlers.length} ${String(type)} listeners added to [${emitter.constructor.name}]. Use emitter.setMaxListeners() to increase limit`);warn.name=\"MaxListenersExceededWarning\",warn.emitter=emitter,warn.type=type,warn.count=handlers.length,console.warn(warn)}function onceWrapper(type,listener,...args){this.removeListener(type,listener),listener.apply(this,args)}EventEmitterPrototype.once=function(type,fn){checkListener(fn);let bound=onceWrapper.bind(this,type,fn);return bound.listener=fn,this.addListener(type,bound),this};EventEmitterPrototype.prependOnceListener=function(type,fn){checkListener(fn);let bound=onceWrapper.bind(this,type,fn);return bound.listener=fn,this.prependListener(type,bound),this};EventEmitterPrototype.removeListener=function(type,fn){checkListener(fn);var{_events:events}=this;if(!events)return this;var handlers=events[type];if(!handlers)return this;var length=handlers.length;let position=-1;for(let i=length-1;i>=0;i--)if(handlers[i]===fn||handlers[i].listener===fn){position=i;break}if(position<0)return this;if(position===0)handlers.shift();else handlers.splice(position,1);if(handlers.length===0)delete events[type],this._eventsCount--;return this};EventEmitterPrototype.off=EventEmitterPrototype.removeListener;EventEmitterPrototype.removeAllListeners=function(type){var{_events:events}=this;if(type&&events){if(events[type])delete events[type],this._eventsCount--}else this._events={__proto__:null};return this};EventEmitterPrototype.listeners=function(type){var{_events:events}=this;if(!events)return[];var handlers=events[type];if(!handlers)return[];return handlers.map((x)=>x.listener??x)};EventEmitterPrototype.rawListeners=function(type){var{_events}=this;if(!_events)return[];var handlers=_events[type];if(!handlers)return[];return handlers.slice()};EventEmitterPrototype.listenerCount=function(type){var{_events:events}=this;if(!events)return 0;return events[type]?.length??0};EventEmitterPrototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};EventEmitterPrototype[kCapture]=!1;function once2(emitter,type,options){var signal=options?.signal;if(validateAbortSignal(signal,\"options.signal\"),signal?.aborted)throw new AbortError(void 0,{cause:signal?.reason});let{resolve,reject,promise}=$newPromiseCapability(Promise),errorListener=(err)=>{if(emitter.removeListener(type,resolver),signal!=null)eventTargetAgnosticRemoveListener(signal,\"abort\",abortListener);reject(err)},resolver=(...args)=>{if(typeof emitter.removeListener===\"function\")emitter.removeListener(\"error\",errorListener);if(signal!=null)eventTargetAgnosticRemoveListener(signal,\"abort\",abortListener);resolve(args)};if(eventTargetAgnosticAddListener(emitter,type,resolver,{once:!0}),type!==\"error\"&&typeof emitter.once===\"function\")emitter.once(\"error\",errorListener);function abortListener(){eventTargetAgnosticRemoveListener(emitter,type,resolver),eventTargetAgnosticRemoveListener(emitter,\"error\",errorListener),reject(new AbortError(void 0,{cause:signal?.reason}))}if(signal!=null)eventTargetAgnosticAddListener(signal,\"abort\",abortListener,{once:!0});return promise}function getEventListeners(emitter,type){return emitter.listeners(type)}function setMaxListeners2(n,...eventTargets){validateNumber(n,\"setMaxListeners\",0);var length;if(eventTargets&&(length=eventTargets.length))for(let i=0;i<length;i++)eventTargets[i].setMaxListeners(n);else defaultMaxListeners=n}function listenerCount2(emitter,type){return emitter.listenerCount(type)}function eventTargetAgnosticRemoveListener(emitter,name,listener,flags){if(typeof emitter.removeListener===\"function\")emitter.removeListener(name,listener);else emitter.removeEventListener(name,listener,flags)}function eventTargetAgnosticAddListener(emitter,name,listener,flags){if(typeof emitter.on===\"function\")if(flags.once)emitter.once(name,listener);else emitter.on(name,listener);else emitter.addEventListener(name,listener,flags)}class AbortError extends Error{constructor(message=\"The operation was aborted\",options=void 0){if(options!==void 0&&typeof options!==\"object\")throw ERR_INVALID_ARG_TYPE(\"options\",\"Object\",options);super(message,options);this.code=\"ABORT_ERR\",this.name=\"AbortError\"}}function ERR_INVALID_ARG_TYPE(name,type,value){let err=TypeError(`The \"${name}\" argument must be of type ${type}. Received ${value}`);return err.code=\"ERR_INVALID_ARG_TYPE\",err}function ERR_OUT_OF_RANGE(name,range,value){let err=RangeError(`The \"${name}\" argument is out of range. It must be ${range}. Received ${value}`);return err.code=\"ERR_OUT_OF_RANGE\",err}function validateAbortSignal(signal,name){if(signal!==void 0&&(signal===null||typeof signal!==\"object\"||!(\"aborted\"in signal)))throw ERR_INVALID_ARG_TYPE(name,\"AbortSignal\",signal)}function validateNumber(value,name,min,max){if(typeof value!==\"number\")throw ERR_INVALID_ARG_TYPE(name,\"number\",value);if(min!=null&&value<min||max!=null&&value>max||(min!=null||max!=null)&&Number.isNaN(value))throw ERR_OUT_OF_RANGE(name,`${min!=null?`>= ${min}`:\"\"}${min!=null&&max!=null?\" && \":\"\"}${max!=null?`<= ${max}`:\"\"}`,value)}function checkListener(listener){if(typeof listener!==\"function\")throw TypeError(\"The listener must be a function\")}function validateBoolean(value,name){if(typeof value!==\"boolean\")throw ERR_INVALID_ARG_TYPE(name,\"boolean\",value)}function getMaxListeners2(emitterOrTarget){return emitterOrTarget?._maxListeners??defaultMaxListeners}function addAbortListener(signal,listener){if(signal===void 0)throw ERR_INVALID_ARG_TYPE(\"signal\",\"AbortSignal\",signal);if(validateAbortSignal(signal,\"signal\"),typeof listener!==\"function\")throw ERR_INVALID_ARG_TYPE(\"listener\",\"function\",listener);let removeEventListener;if(signal.aborted)queueMicrotask(()=>listener());else signal.addEventListener(\"abort\",listener,{__proto__:null,once:!0}),removeEventListener=()=>{signal.removeEventListener(\"abort\",listener)};return{__proto__:null,[Symbol.dispose](){removeEventListener?.()}}}Object.defineProperties(EventEmitter,{captureRejections:{get(){return EventEmitterPrototype[kCapture]},set(value){validateBoolean(value,\"EventEmitter.captureRejections\"),EventEmitterPrototype[kCapture]=value},enumerable:!0},defaultMaxListeners:{enumerable:!0,get:()=>{return defaultMaxListeners},set:(arg)=>{validateNumber(arg,\"defaultMaxListeners\",0),defaultMaxListeners=arg}},kMaxEventTargetListeners:{value:kMaxEventTargetListeners,enumerable:!1,configurable:!1,writable:!1},kMaxEventTargetListenersWarned:{value:kMaxEventTargetListenersWarned,enumerable:!1,configurable:!1,writable:!1}});Object.assign(EventEmitter,{once:once2,getEventListeners,getMaxListeners:getMaxListeners2,setMaxListeners:setMaxListeners2,EventEmitter,usingDomains:!1,captureRejectionSymbol,errorMonitor:kErrorMonitor,addAbortListener,init:EventEmitter,listenerCount:listenerCount2});var events_default=EventEmitter;export{setMaxListeners2 as setMaxListeners,once2 as once,listenerCount2 as listenerCount,EventEmitter as init,getMaxListeners2 as getMaxListeners,getEventListeners,events_default as default,captureRejectionSymbol,addAbortListener,EventEmitter};",
|
|
8
|
+
"var __commonJS=(cb,mod)=>()=>(mod||cb((mod={exports:{}}).exports,mod),mod.exports);var require_primordials=__commonJS((exports2,module2)=>{class AggregateError extends Error{constructor(errors){if(!Array.isArray(errors))throw TypeError(`Expected input to be an Array, got ${typeof errors}`);let message=\"\";for(let i=0;i<errors.length;i++)message+=` ${errors[i].stack}\n`;super(message);this.name=\"AggregateError\",this.errors=errors}}module2.exports={AggregateError,ArrayIsArray(self){return Array.isArray(self)},ArrayPrototypeIncludes(self,el){return self.includes(el)},ArrayPrototypeIndexOf(self,el){return self.indexOf(el)},ArrayPrototypeJoin(self,sep){return self.join(sep)},ArrayPrototypeMap(self,fn){return self.map(fn)},ArrayPrototypePop(self,el){return self.pop(el)},ArrayPrototypePush(self,el){return self.push(el)},ArrayPrototypeSlice(self,start,end){return self.slice(start,end)},Error,FunctionPrototypeCall(fn,thisArgs,...args){return fn.call(thisArgs,...args)},FunctionPrototypeSymbolHasInstance(self,instance){return Function.prototype[Symbol.hasInstance].call(self,instance)},MathFloor:Math.floor,Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties(self,props){return Object.defineProperties(self,props)},ObjectDefineProperty(self,name,prop){return Object.defineProperty(self,name,prop)},ObjectGetOwnPropertyDescriptor(self,name){return Object.getOwnPropertyDescriptor(self,name)},ObjectKeys(obj){return Object.keys(obj)},ObjectSetPrototypeOf(target,proto){return Object.setPrototypeOf(target,proto)},Promise,PromisePrototypeCatch(self,fn){return self.catch(fn)},PromisePrototypeThen(self,thenFn,catchFn){return self.then(thenFn,catchFn)},PromiseReject(err){return Promise.reject(err)},PromiseResolve(val){return Promise.resolve(val)},ReflectApply:Reflect.apply,RegExpPrototypeTest(self,value){return self.test(value)},SafeSet:Set,String,StringPrototypeSlice(self,start,end){return self.slice(start,end)},StringPrototypeToLowerCase(self){return self.toLowerCase()},StringPrototypeToUpperCase(self){return self.toUpperCase()},StringPrototypeTrim(self){return self.trim()},Symbol,SymbolFor:Symbol.for,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,SymbolDispose:Symbol.dispose||Symbol(\"Symbol.dispose\"),SymbolAsyncDispose:Symbol.asyncDispose||Symbol(\"Symbol.asyncDispose\"),TypedArrayPrototypeSet(self,buf,len){return self.set(buf,len)},Boolean,Uint8Array}});var require_inspect=__commonJS((exports2,module2)=>{module2.exports={format(format,...args){return format.replace(/%([sdifj])/g,function(...[_unused,type]){let replacement=args.shift();if(type===\"f\")return replacement.toFixed(6);else if(type===\"j\")return JSON.stringify(replacement);else if(type===\"s\"&&typeof replacement===\"object\")return`${replacement.constructor!==Object?replacement.constructor.name:\"\"} {}`.trim();else return replacement.toString()})},inspect(value){switch(typeof value){case\"string\":if(value.includes(\"'\")){if(!value.includes('\"'))return`\"${value}\"`;else if(!value.includes(\"`\")&&!value.includes(\"${\"))return`\\`${value}\\``}return`'${value}'`;case\"number\":if(isNaN(value))return\"NaN\";else if(Object.is(value,-0))return String(value);return value;case\"bigint\":return`${String(value)}n`;case\"boolean\":case\"undefined\":return String(value);case\"object\":return\"{}\"}}}});var require_errors=__commonJS((exports2,module2)=>{var{format,inspect}=require_inspect(),{AggregateError:CustomAggregateError}=require_primordials(),AggregateError=globalThis.AggregateError||CustomAggregateError,kIsNodeError=Symbol(\"kIsNodeError\"),kTypes=[\"string\",\"function\",\"number\",\"object\",\"Function\",\"Object\",\"boolean\",\"bigint\",\"symbol\"],classRegExp=/^([A-Z][a-z0-9]*)+$/,codes={};function assert(value,message){if(!value)throw new codes.ERR_INTERNAL_ASSERTION(message)}function addNumericalSeparator(val){let res=\"\",i=val.length,start=val[0]===\"-\"?1:0;for(;i>=start+4;i-=3)res=`_${val.slice(i-3,i)}${res}`;return`${val.slice(0,i)}${res}`}function getMessage(key,msg,args){if(typeof msg===\"function\")return assert(msg.length<=args.length,`Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`),msg(...args);let expectedLength=(msg.match(/%[dfijoOs]/g)||[]).length;if(assert(expectedLength===args.length,`Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`),args.length===0)return msg;return format(msg,...args)}function E(code,message,Base){if(!Base)Base=Error;class NodeError extends Base{constructor(...args){super(getMessage(code,message,args))}toString(){return`${this.name} [${code}]: ${this.message}`}}Object.defineProperties(NodeError.prototype,{name:{value:Base.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${code}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),NodeError.prototype.code=code,NodeError.prototype[kIsNodeError]=!0,codes[code]=NodeError}function hideStackFrames(fn){let hidden=\"__node_internal_\"+fn.name;return Object.defineProperty(fn,\"name\",{value:hidden}),fn}function aggregateTwoErrors(innerError,outerError){if(innerError&&outerError&&innerError!==outerError){if(Array.isArray(outerError.errors))return outerError.errors.push(innerError),outerError;let err=new AggregateError([outerError,innerError],outerError.message);return err.code=outerError.code,err}return innerError||outerError}class AbortError extends Error{constructor(message=\"The operation was aborted\",options=void 0){if(options!==void 0&&typeof options!==\"object\")throw new codes.ERR_INVALID_ARG_TYPE(\"options\",\"Object\",options);super(message,options);this.code=\"ABORT_ERR\",this.name=\"AbortError\"}}E(\"ERR_ASSERTION\",\"%s\",Error);E(\"ERR_INVALID_ARG_TYPE\",(name,expected,actual)=>{if(assert(typeof name===\"string\",\"'name' must be a string\"),!Array.isArray(expected))expected=[expected];let msg=\"The \";if(name.endsWith(\" argument\"))msg+=`${name} `;else msg+=`\"${name}\" ${name.includes(\".\")?\"property\":\"argument\"} `;msg+=\"must be \";let types=[],instances=[],other=[];for(let value of expected)if(assert(typeof value===\"string\",\"All expected entries have to be of type string\"),kTypes.includes(value))types.push(value.toLowerCase());else if(classRegExp.test(value))instances.push(value);else assert(value!==\"object\",'The value \"object\" should be written as \"Object\"'),other.push(value);if(instances.length>0){let pos=types.indexOf(\"object\");if(pos!==-1)types.splice(types,pos,1),instances.push(\"Object\")}if(types.length>0){switch(types.length){case 1:msg+=`of type ${types[0]}`;break;case 2:msg+=`one of type ${types[0]} or ${types[1]}`;break;default:{let last=types.pop();msg+=`one of type ${types.join(\", \")}, or ${last}`}}if(instances.length>0||other.length>0)msg+=\" or \"}if(instances.length>0){switch(instances.length){case 1:msg+=`an instance of ${instances[0]}`;break;case 2:msg+=`an instance of ${instances[0]} or ${instances[1]}`;break;default:{let last=instances.pop();msg+=`an instance of ${instances.join(\", \")}, or ${last}`}}if(other.length>0)msg+=\" or \"}switch(other.length){case 0:break;case 1:if(other[0].toLowerCase()!==other[0])msg+=\"an \";msg+=`${other[0]}`;break;case 2:msg+=`one of ${other[0]} or ${other[1]}`;break;default:{let last=other.pop();msg+=`one of ${other.join(\", \")}, or ${last}`}}if(actual==null)msg+=`. Received ${actual}`;else if(typeof actual===\"function\"&&actual.name)msg+=`. Received function ${actual.name}`;else if(typeof actual===\"object\"){var _actual$constructor;if((_actual$constructor=actual.constructor)!==null&&_actual$constructor!==void 0&&_actual$constructor.name)msg+=`. Received an instance of ${actual.constructor.name}`;else{let inspected=inspect(actual,{depth:-1});msg+=`. Received ${inspected}`}}else{let inspected=inspect(actual,{colors:!1});if(inspected.length>25)inspected=`${inspected.slice(0,25)}...`;msg+=`. Received type ${typeof actual} (${inspected})`}return msg},TypeError);E(\"ERR_INVALID_ARG_VALUE\",(name,value,reason=\"is invalid\")=>{let inspected=inspect(value);if(inspected.length>128)inspected=inspected.slice(0,128)+\"...\";return`The ${name.includes(\".\")?\"property\":\"argument\"} '${name}' ${reason}. Received ${inspected}`},TypeError);E(\"ERR_INVALID_RETURN_VALUE\",(input,name,value)=>{var _value$constructor;let type=value!==null&&value!==void 0&&(_value$constructor=value.constructor)!==null&&_value$constructor!==void 0&&_value$constructor.name?`instance of ${value.constructor.name}`:`type ${typeof value}`;return`Expected ${input} to be returned from the \"${name}\" function but got ${type}.`},TypeError);E(\"ERR_MISSING_ARGS\",(...args)=>{assert(args.length>0,\"At least one arg needs to be specified\");let msg,len=args.length;switch(args=(Array.isArray(args)?args:[args]).map((a)=>`\"${a}\"`).join(\" or \"),len){case 1:msg+=`The ${args[0]} argument`;break;case 2:msg+=`The ${args[0]} and ${args[1]} arguments`;break;default:{let last=args.pop();msg+=`The ${args.join(\", \")}, and ${last} arguments`}break}return`${msg} must be specified`},TypeError);E(\"ERR_OUT_OF_RANGE\",(str,range,input)=>{assert(range,'Missing \"range\" argument');let received;if(Number.isInteger(input)&&Math.abs(input)>4294967296)received=addNumericalSeparator(String(input));else if(typeof input===\"bigint\"){received=String(input);let limit=BigInt(2)**BigInt(32);if(input>limit||input<-limit)received=addNumericalSeparator(received);received+=\"n\"}else received=inspect(input);return`The value of \"${str}\" is out of range. It must be ${range}. Received ${received}`},RangeError);E(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\",Error);E(\"ERR_METHOD_NOT_IMPLEMENTED\",\"The %s method is not implemented\",Error);E(\"ERR_STREAM_ALREADY_FINISHED\",\"Cannot call %s after a stream was finished\",Error);E(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\",Error);E(\"ERR_STREAM_DESTROYED\",\"Cannot call %s after a stream was destroyed\",Error);E(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError);E(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\",Error);E(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\",Error);E(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\",Error);E(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\",Error);E(\"ERR_UNKNOWN_ENCODING\",\"Unknown encoding: %s\",TypeError);module2.exports={AbortError,aggregateTwoErrors:hideStackFrames(aggregateTwoErrors),hideStackFrames,codes}});var require_event_target_shim=__commonJS((exports2,module2)=>{Object.defineProperty(exports2,\"__esModule\",{value:!0});var privateData=new WeakMap,wrappers=new WeakMap;function pd(event){let retv=privateData.get(event);return console.assert(retv!=null,\"'this' is expected an Event object, but got\",event),retv}function setCancelFlag(data){if(data.passiveListener!=null){if(typeof console<\"u\"&&typeof console.error===\"function\")console.error(\"Unable to preventDefault inside passive event listener invocation.\",data.passiveListener);return}if(!data.event.cancelable)return;if(data.canceled=!0,typeof data.event.preventDefault===\"function\")data.event.preventDefault()}function Event(eventTarget,event){privateData.set(this,{eventTarget,event,eventPhase:2,currentTarget:eventTarget,canceled:!1,stopped:!1,immediateStopped:!1,passiveListener:null,timeStamp:event.timeStamp||Date.now()}),Object.defineProperty(this,\"isTrusted\",{value:!1,enumerable:!0});let keys=Object.keys(event);for(let i=0;i<keys.length;++i){let key=keys[i];if(!(key in this))Object.defineProperty(this,key,defineRedirectDescriptor(key))}}Event.prototype={get type(){return pd(this).event.type},get target(){return pd(this).eventTarget},get currentTarget(){return pd(this).currentTarget},composedPath(){let currentTarget=pd(this).currentTarget;if(currentTarget==null)return[];return[currentTarget]},get NONE(){return 0},get CAPTURING_PHASE(){return 1},get AT_TARGET(){return 2},get BUBBLING_PHASE(){return 3},get eventPhase(){return pd(this).eventPhase},stopPropagation(){let data=pd(this);if(data.stopped=!0,typeof data.event.stopPropagation===\"function\")data.event.stopPropagation()},stopImmediatePropagation(){let data=pd(this);if(data.stopped=!0,data.immediateStopped=!0,typeof data.event.stopImmediatePropagation===\"function\")data.event.stopImmediatePropagation()},get bubbles(){return Boolean(pd(this).event.bubbles)},get cancelable(){return Boolean(pd(this).event.cancelable)},preventDefault(){setCancelFlag(pd(this))},get defaultPrevented(){return pd(this).canceled},get composed(){return Boolean(pd(this).event.composed)},get timeStamp(){return pd(this).timeStamp},get srcElement(){return pd(this).eventTarget},get cancelBubble(){return pd(this).stopped},set cancelBubble(value){if(!value)return;let data=pd(this);if(data.stopped=!0,typeof data.event.cancelBubble===\"boolean\")data.event.cancelBubble=!0},get returnValue(){return!pd(this).canceled},set returnValue(value){if(!value)setCancelFlag(pd(this))},initEvent(){}};Object.defineProperty(Event.prototype,\"constructor\",{value:Event,configurable:!0,writable:!0});if(typeof window<\"u\"&&typeof window.Event<\"u\")Object.setPrototypeOf(Event.prototype,window.Event.prototype),wrappers.set(window.Event.prototype,Event);function defineRedirectDescriptor(key){return{get(){return pd(this).event[key]},set(value){pd(this).event[key]=value},configurable:!0,enumerable:!0}}function defineCallDescriptor(key){return{value(){let event=pd(this).event;return event[key].apply(event,arguments)},configurable:!0,enumerable:!0}}function defineWrapper(BaseEvent,proto){let keys=Object.keys(proto);if(keys.length===0)return BaseEvent;function CustomEvent(eventTarget,event){BaseEvent.call(this,eventTarget,event)}CustomEvent.prototype=Object.create(BaseEvent.prototype,{constructor:{value:CustomEvent,configurable:!0,writable:!0}});for(let i=0;i<keys.length;++i){let key=keys[i];if(!(key in BaseEvent.prototype)){let isFunc=typeof Object.getOwnPropertyDescriptor(proto,key).value===\"function\";Object.defineProperty(CustomEvent.prototype,key,isFunc?defineCallDescriptor(key):defineRedirectDescriptor(key))}}return CustomEvent}function getWrapper(proto){if(proto==null||proto===Object.prototype)return Event;let wrapper=wrappers.get(proto);if(wrapper==null)wrapper=defineWrapper(getWrapper(Object.getPrototypeOf(proto)),proto),wrappers.set(proto,wrapper);return wrapper}function wrapEvent(eventTarget,event){return new(getWrapper(Object.getPrototypeOf(event)))(eventTarget,event)}function isStopped(event){return pd(event).immediateStopped}function setEventPhase(event,eventPhase){pd(event).eventPhase=eventPhase}function setCurrentTarget(event,currentTarget){pd(event).currentTarget=currentTarget}function setPassiveListener(event,passiveListener){pd(event).passiveListener=passiveListener}var listenersMap=new WeakMap,CAPTURE=1,BUBBLE=2,ATTRIBUTE=3;function isObject(x){return x!==null&&typeof x===\"object\"}function getListeners(eventTarget){let listeners=listenersMap.get(eventTarget);if(listeners==null)throw TypeError(\"'this' is expected an EventTarget object, but got another value.\");return listeners}function defineEventAttributeDescriptor(eventName){return{get(){let node=getListeners(this).get(eventName);while(node!=null){if(node.listenerType===ATTRIBUTE)return node.listener;node=node.next}return null},set(listener){if(typeof listener!==\"function\"&&!isObject(listener))listener=null;let listeners=getListeners(this),prev=null,node=listeners.get(eventName);while(node!=null){if(node.listenerType===ATTRIBUTE)if(prev!==null)prev.next=node.next;else if(node.next!==null)listeners.set(eventName,node.next);else listeners.delete(eventName);else prev=node;node=node.next}if(listener!==null){let newNode={listener,listenerType:ATTRIBUTE,passive:!1,once:!1,next:null};if(prev===null)listeners.set(eventName,newNode);else prev.next=newNode}},configurable:!0,enumerable:!0}}function defineEventAttribute(eventTargetPrototype,eventName){Object.defineProperty(eventTargetPrototype,`on${eventName}`,defineEventAttributeDescriptor(eventName))}function defineCustomEventTarget(eventNames){function CustomEventTarget(){EventTarget.call(this)}CustomEventTarget.prototype=Object.create(EventTarget.prototype,{constructor:{value:CustomEventTarget,configurable:!0,writable:!0}});for(let i=0;i<eventNames.length;++i)defineEventAttribute(CustomEventTarget.prototype,eventNames[i]);return CustomEventTarget}function EventTarget(){if(this instanceof EventTarget){listenersMap.set(this,new Map);return}if(arguments.length===1&&Array.isArray(arguments[0]))return defineCustomEventTarget(arguments[0]);if(arguments.length>0){let types=Array(arguments.length);for(let i=0;i<arguments.length;++i)types[i]=arguments[i];return defineCustomEventTarget(types)}throw TypeError(\"Cannot call a class as a function\")}EventTarget.prototype={addEventListener(eventName,listener,options){if(listener==null)return;if(typeof listener!==\"function\"&&!isObject(listener))throw TypeError(\"'listener' should be a function or an object.\");let listeners=getListeners(this),optionsIsObj=isObject(options),listenerType=(optionsIsObj?Boolean(options.capture):Boolean(options))?CAPTURE:BUBBLE,newNode={listener,listenerType,passive:optionsIsObj&&Boolean(options.passive),once:optionsIsObj&&Boolean(options.once),next:null},node=listeners.get(eventName);if(node===void 0){listeners.set(eventName,newNode);return}let prev=null;while(node!=null){if(node.listener===listener&&node.listenerType===listenerType)return;prev=node,node=node.next}prev.next=newNode},removeEventListener(eventName,listener,options){if(listener==null)return;let listeners=getListeners(this),listenerType=(isObject(options)?Boolean(options.capture):Boolean(options))?CAPTURE:BUBBLE,prev=null,node=listeners.get(eventName);while(node!=null){if(node.listener===listener&&node.listenerType===listenerType){if(prev!==null)prev.next=node.next;else if(node.next!==null)listeners.set(eventName,node.next);else listeners.delete(eventName);return}prev=node,node=node.next}},dispatchEvent(event){if(event==null||typeof event.type!==\"string\")throw TypeError('\"event.type\" should be a string.');let listeners=getListeners(this),eventName=event.type,node=listeners.get(eventName);if(node==null)return!0;let wrappedEvent=wrapEvent(this,event),prev=null;while(node!=null){if(node.once)if(prev!==null)prev.next=node.next;else if(node.next!==null)listeners.set(eventName,node.next);else listeners.delete(eventName);else prev=node;if(setPassiveListener(wrappedEvent,node.passive?node.listener:null),typeof node.listener===\"function\")try{node.listener.call(this,wrappedEvent)}catch(err){if(typeof console<\"u\"&&typeof console.error===\"function\")console.error(err)}else if(node.listenerType!==ATTRIBUTE&&typeof node.listener.handleEvent===\"function\")node.listener.handleEvent(wrappedEvent);if(isStopped(wrappedEvent))break;node=node.next}return setPassiveListener(wrappedEvent,null),setEventPhase(wrappedEvent,0),setCurrentTarget(wrappedEvent,null),!wrappedEvent.defaultPrevented}};Object.defineProperty(EventTarget.prototype,\"constructor\",{value:EventTarget,configurable:!0,writable:!0});if(typeof window<\"u\"&&typeof window.EventTarget<\"u\")Object.setPrototypeOf(EventTarget.prototype,window.EventTarget.prototype);exports2.defineEventAttribute=defineEventAttribute;exports2.EventTarget=EventTarget;exports2.default=EventTarget;module2.exports=EventTarget;module2.exports.EventTarget=module2.exports.default=EventTarget;module2.exports.defineEventAttribute=defineEventAttribute});var require_abort_controller=__commonJS((exports2,module2)=>{Object.defineProperty(exports2,\"__esModule\",{value:!0});var eventTargetShim=require_event_target_shim();class AbortSignal extends eventTargetShim.EventTarget{constructor(){super();throw TypeError(\"AbortSignal cannot be constructed directly\")}get aborted(){let aborted=abortedFlags.get(this);if(typeof aborted!==\"boolean\")throw TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this===null?\"null\":typeof this}`);return aborted}}eventTargetShim.defineEventAttribute(AbortSignal.prototype,\"abort\");function createAbortSignal(){let signal=Object.create(AbortSignal.prototype);return eventTargetShim.EventTarget.call(signal),abortedFlags.set(signal,!1),signal}function abortSignal(signal){if(abortedFlags.get(signal)!==!1)return;abortedFlags.set(signal,!0),signal.dispatchEvent({type:\"abort\"})}var abortedFlags=new WeakMap;Object.defineProperties(AbortSignal.prototype,{aborted:{enumerable:!0}});if(typeof Symbol===\"function\"&&typeof Symbol.toStringTag===\"symbol\")Object.defineProperty(AbortSignal.prototype,Symbol.toStringTag,{configurable:!0,value:\"AbortSignal\"});class AbortController{constructor(){signals.set(this,createAbortSignal())}get signal(){return getSignal(this)}abort(){abortSignal(getSignal(this))}}var signals=new WeakMap;function getSignal(controller){let signal=signals.get(controller);if(signal==null)throw TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller===null?\"null\":typeof controller}`);return signal}Object.defineProperties(AbortController.prototype,{signal:{enumerable:!0},abort:{enumerable:!0}});if(typeof Symbol===\"function\"&&typeof Symbol.toStringTag===\"symbol\")Object.defineProperty(AbortController.prototype,Symbol.toStringTag,{configurable:!0,value:\"AbortController\"});exports2.AbortController=AbortController;exports2.AbortSignal=AbortSignal;exports2.default=AbortController;module2.exports=AbortController;module2.exports.AbortController=module2.exports.default=AbortController;module2.exports.AbortSignal=AbortSignal});var require_util=__commonJS((exports2,module2)=>{var bufferModule=require(\"buffer\"),{format,inspect}=require_inspect(),{codes:{ERR_INVALID_ARG_TYPE}}=require_errors(),{kResistStopPropagation,AggregateError,SymbolDispose}=require_primordials(),AbortSignal=globalThis.AbortSignal||require_abort_controller().AbortSignal,AbortController=globalThis.AbortController||require_abort_controller().AbortController,AsyncFunction=Object.getPrototypeOf(async function(){}).constructor,Blob=globalThis.Blob||bufferModule.Blob,isBlob=typeof Blob<\"u\"?function(b){return b instanceof Blob}:function(b){return!1},validateAbortSignal=(signal,name)=>{if(signal!==void 0&&(signal===null||typeof signal!==\"object\"||!(\"aborted\"in signal)))throw new ERR_INVALID_ARG_TYPE(name,\"AbortSignal\",signal)},validateFunction=(value,name)=>{if(typeof value!==\"function\")throw new ERR_INVALID_ARG_TYPE(name,\"Function\",value)};module2.exports={AggregateError,kEmptyObject:Object.freeze({}),once(callback){let called=!1;return function(...args){if(called)return;called=!0,callback.apply(this,args)}},createDeferredPromise:function(){let resolve,reject;return{promise:new Promise((res,rej)=>{resolve=res,reject=rej}),resolve,reject}},promisify(fn){return new Promise((resolve,reject)=>{fn((err,...args)=>{if(err)return reject(err);return resolve(...args)})})},debuglog(){return function(){}},format,inspect,types:{isAsyncFunction(fn){return fn instanceof AsyncFunction},isArrayBufferView(arr){return ArrayBuffer.isView(arr)}},isBlob,deprecate(fn,message){return fn},addAbortListener:require(\"events\").addAbortListener||function(signal,listener){if(signal===void 0)throw new ERR_INVALID_ARG_TYPE(\"signal\",\"AbortSignal\",signal);validateAbortSignal(signal,\"signal\"),validateFunction(listener,\"listener\");let removeEventListener;if(signal.aborted)queueMicrotask(()=>listener());else signal.addEventListener(\"abort\",listener,{__proto__:null,once:!0,[kResistStopPropagation]:!0}),removeEventListener=()=>{signal.removeEventListener(\"abort\",listener)};return{__proto__:null,[SymbolDispose](){var _removeEventListener;(_removeEventListener=removeEventListener)===null||_removeEventListener===void 0||_removeEventListener()}}},AbortSignalAny:AbortSignal.any||function(signals){if(signals.length===1)return signals[0];let ac=new AbortController,abort=()=>ac.abort();return signals.forEach((signal)=>{validateAbortSignal(signal,\"signals\"),signal.addEventListener(\"abort\",abort,{once:!0})}),ac.signal.addEventListener(\"abort\",()=>{signals.forEach((signal)=>signal.removeEventListener(\"abort\",abort))},{once:!0}),ac.signal}};module2.exports.promisify.custom=Symbol.for(\"nodejs.util.promisify.custom\")});var require_validators=__commonJS((exports2,module2)=>{var{ArrayIsArray,ArrayPrototypeIncludes,ArrayPrototypeJoin,ArrayPrototypeMap,NumberIsInteger,NumberIsNaN,NumberMAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER,NumberParseInt,ObjectPrototypeHasOwnProperty,RegExpPrototypeExec,String:String2,StringPrototypeToUpperCase,StringPrototypeTrim}=require_primordials(),{hideStackFrames,codes:{ERR_SOCKET_BAD_PORT,ERR_INVALID_ARG_TYPE,ERR_INVALID_ARG_VALUE,ERR_OUT_OF_RANGE,ERR_UNKNOWN_SIGNAL}}=require_errors(),{normalizeEncoding}=require_util(),{isAsyncFunction,isArrayBufferView}=require_util().types,signals={};function isInt32(value){return value===(value|0)}function isUint32(value){return value===value>>>0}var octalReg=/^[0-7]+$/,modeDesc=\"must be a 32-bit unsigned integer or an octal string\";function parseFileMode(value,name,def){if(typeof value>\"u\")value=def;if(typeof value===\"string\"){if(RegExpPrototypeExec(octalReg,value)===null)throw new ERR_INVALID_ARG_VALUE(name,value,modeDesc);value=NumberParseInt(value,8)}return validateUint32(value,name),value}var validateInteger=hideStackFrames((value,name,min=NumberMIN_SAFE_INTEGER,max=NumberMAX_SAFE_INTEGER)=>{if(typeof value!==\"number\")throw new ERR_INVALID_ARG_TYPE(name,\"number\",value);if(!NumberIsInteger(value))throw new ERR_OUT_OF_RANGE(name,\"an integer\",value);if(value<min||value>max)throw new ERR_OUT_OF_RANGE(name,`>= ${min} && <= ${max}`,value)}),validateInt32=hideStackFrames((value,name,min=-2147483648,max=2147483647)=>{if(typeof value!==\"number\")throw new ERR_INVALID_ARG_TYPE(name,\"number\",value);if(!NumberIsInteger(value))throw new ERR_OUT_OF_RANGE(name,\"an integer\",value);if(value<min||value>max)throw new ERR_OUT_OF_RANGE(name,`>= ${min} && <= ${max}`,value)}),validateUint32=hideStackFrames((value,name,positive=!1)=>{if(typeof value!==\"number\")throw new ERR_INVALID_ARG_TYPE(name,\"number\",value);if(!NumberIsInteger(value))throw new ERR_OUT_OF_RANGE(name,\"an integer\",value);let min=positive?1:0,max=4294967295;if(value<min||value>max)throw new ERR_OUT_OF_RANGE(name,`>= ${min} && <= ${max}`,value)});function validateString(value,name){if(typeof value!==\"string\")throw new ERR_INVALID_ARG_TYPE(name,\"string\",value)}function validateNumber(value,name,min=void 0,max){if(typeof value!==\"number\")throw new ERR_INVALID_ARG_TYPE(name,\"number\",value);if(min!=null&&value<min||max!=null&&value>max||(min!=null||max!=null)&&NumberIsNaN(value))throw new ERR_OUT_OF_RANGE(name,`${min!=null?`>= ${min}`:\"\"}${min!=null&&max!=null?\" && \":\"\"}${max!=null?`<= ${max}`:\"\"}`,value)}var validateOneOf=hideStackFrames((value,name,oneOf)=>{if(!ArrayPrototypeIncludes(oneOf,value)){let reason=\"must be one of: \"+ArrayPrototypeJoin(ArrayPrototypeMap(oneOf,(v)=>typeof v===\"string\"?`'${v}'`:String2(v)),\", \");throw new ERR_INVALID_ARG_VALUE(name,value,reason)}});function validateBoolean(value,name){if(typeof value!==\"boolean\")throw new ERR_INVALID_ARG_TYPE(name,\"boolean\",value)}function getOwnPropertyValueOrDefault(options,key,defaultValue){return options==null||!ObjectPrototypeHasOwnProperty(options,key)?defaultValue:options[key]}var validateObject=hideStackFrames((value,name,options=null)=>{let allowArray=getOwnPropertyValueOrDefault(options,\"allowArray\",!1),allowFunction=getOwnPropertyValueOrDefault(options,\"allowFunction\",!1);if(!getOwnPropertyValueOrDefault(options,\"nullable\",!1)&&value===null||!allowArray&&ArrayIsArray(value)||typeof value!==\"object\"&&(!allowFunction||typeof value!==\"function\"))throw new ERR_INVALID_ARG_TYPE(name,\"Object\",value)}),validateDictionary=hideStackFrames((value,name)=>{if(value!=null&&typeof value!==\"object\"&&typeof value!==\"function\")throw new ERR_INVALID_ARG_TYPE(name,\"a dictionary\",value)}),validateArray=hideStackFrames((value,name,minLength=0)=>{if(!ArrayIsArray(value))throw new ERR_INVALID_ARG_TYPE(name,\"Array\",value);if(value.length<minLength){let reason=`must be longer than ${minLength}`;throw new ERR_INVALID_ARG_VALUE(name,value,reason)}});function validateStringArray(value,name){validateArray(value,name);for(let i=0;i<value.length;i++)validateString(value[i],`${name}[${i}]`)}function validateBooleanArray(value,name){validateArray(value,name);for(let i=0;i<value.length;i++)validateBoolean(value[i],`${name}[${i}]`)}function validateAbortSignalArray(value,name){validateArray(value,name);for(let i=0;i<value.length;i++){let signal=value[i],indexedName=`${name}[${i}]`;if(signal==null)throw new ERR_INVALID_ARG_TYPE(indexedName,\"AbortSignal\",signal);validateAbortSignal(signal,indexedName)}}function validateSignalName(signal,name=\"signal\"){if(validateString(signal,name),signals[signal]===void 0){if(signals[StringPrototypeToUpperCase(signal)]!==void 0)throw new ERR_UNKNOWN_SIGNAL(signal+\" (signals must use all capital letters)\");throw new ERR_UNKNOWN_SIGNAL(signal)}}var validateBuffer=hideStackFrames((buffer,name=\"buffer\")=>{if(!isArrayBufferView(buffer))throw new ERR_INVALID_ARG_TYPE(name,[\"Buffer\",\"TypedArray\",\"DataView\"],buffer)});function validateEncoding(data,encoding){let normalizedEncoding=normalizeEncoding(encoding),length=data.length;if(normalizedEncoding===\"hex\"&&length%2!==0)throw new ERR_INVALID_ARG_VALUE(\"encoding\",encoding,`is invalid for data of length ${length}`)}function validatePort(port,name=\"Port\",allowZero=!0){if(typeof port!==\"number\"&&typeof port!==\"string\"||typeof port===\"string\"&&StringPrototypeTrim(port).length===0||+port!==+port>>>0||port>65535||port===0&&!allowZero)throw new ERR_SOCKET_BAD_PORT(name,port,allowZero);return port|0}var validateAbortSignal=hideStackFrames((signal,name)=>{if(signal!==void 0&&(signal===null||typeof signal!==\"object\"||!(\"aborted\"in signal)))throw new ERR_INVALID_ARG_TYPE(name,\"AbortSignal\",signal)}),validateFunction=hideStackFrames((value,name)=>{if(typeof value!==\"function\")throw new ERR_INVALID_ARG_TYPE(name,\"Function\",value)}),validatePlainFunction=hideStackFrames((value,name)=>{if(typeof value!==\"function\"||isAsyncFunction(value))throw new ERR_INVALID_ARG_TYPE(name,\"Function\",value)}),validateUndefined=hideStackFrames((value,name)=>{if(value!==void 0)throw new ERR_INVALID_ARG_TYPE(name,\"undefined\",value)});function validateUnion(value,name,union){if(!ArrayPrototypeIncludes(union,value))throw new ERR_INVALID_ARG_TYPE(name,`('${ArrayPrototypeJoin(union,\"|\")}')`,value)}var linkValueRegExp=/^(?:<[^>]*>)(?:\\s*;\\s*[^;\"\\s]+(?:=(\")?[^;\"\\s]*\\1)?)*$/;function validateLinkHeaderFormat(value,name){if(typeof value>\"u\"||!RegExpPrototypeExec(linkValueRegExp,value))throw new ERR_INVALID_ARG_VALUE(name,value,'must be an array or string of format \"</styles.css>; rel=preload; as=style\"')}function validateLinkHeaderValue(hints){if(typeof hints===\"string\")return validateLinkHeaderFormat(hints,\"hints\"),hints;else if(ArrayIsArray(hints)){let hintsLength=hints.length,result=\"\";if(hintsLength===0)return result;for(let i=0;i<hintsLength;i++){let link=hints[i];if(validateLinkHeaderFormat(link,\"hints\"),result+=link,i!==hintsLength-1)result+=\", \"}return result}throw new ERR_INVALID_ARG_VALUE(\"hints\",hints,'must be an array or string of format \"</styles.css>; rel=preload; as=style\"')}module2.exports={isInt32,isUint32,parseFileMode,validateArray,validateStringArray,validateBooleanArray,validateAbortSignalArray,validateBoolean,validateBuffer,validateDictionary,validateEncoding,validateFunction,validateInt32,validateInteger,validateNumber,validateObject,validateOneOf,validatePlainFunction,validatePort,validateSignalName,validateString,validateUint32,validateUndefined,validateUnion,validateAbortSignal,validateLinkHeaderValue}});var require_process=__commonJS((exports2,module2)=>{module2.exports=globalThis.process});var require_utils=__commonJS((exports2,module2)=>{var{SymbolAsyncIterator,SymbolIterator,SymbolFor}=require_primordials(),kIsDestroyed=SymbolFor(\"nodejs.stream.destroyed\"),kIsErrored=SymbolFor(\"nodejs.stream.errored\"),kIsReadable=SymbolFor(\"nodejs.stream.readable\"),kIsWritable=SymbolFor(\"nodejs.stream.writable\"),kIsDisturbed=SymbolFor(\"nodejs.stream.disturbed\"),kIsClosedPromise=SymbolFor(\"nodejs.webstream.isClosedPromise\"),kControllerErrorFunction=SymbolFor(\"nodejs.webstream.controllerErrorFunction\");function isReadableNodeStream(obj,strict=!1){var _obj$_readableState;return!!(obj&&typeof obj.pipe===\"function\"&&typeof obj.on===\"function\"&&(!strict||typeof obj.pause===\"function\"&&typeof obj.resume===\"function\")&&(!obj._writableState||((_obj$_readableState=obj._readableState)===null||_obj$_readableState===void 0?void 0:_obj$_readableState.readable)!==!1)&&(!obj._writableState||obj._readableState))}function isWritableNodeStream(obj){var _obj$_writableState;return!!(obj&&typeof obj.write===\"function\"&&typeof obj.on===\"function\"&&(!obj._readableState||((_obj$_writableState=obj._writableState)===null||_obj$_writableState===void 0?void 0:_obj$_writableState.writable)!==!1))}function isDuplexNodeStream(obj){return!!(obj&&typeof obj.pipe===\"function\"&&obj._readableState&&typeof obj.on===\"function\"&&typeof obj.write===\"function\")}function isNodeStream(obj){return obj&&(obj._readableState||obj._writableState||typeof obj.write===\"function\"&&typeof obj.on===\"function\"||typeof obj.pipe===\"function\"&&typeof obj.on===\"function\")}function isReadableStream(obj){return!!(obj&&!isNodeStream(obj)&&typeof obj.pipeThrough===\"function\"&&typeof obj.getReader===\"function\"&&typeof obj.cancel===\"function\")}function isWritableStream(obj){return!!(obj&&!isNodeStream(obj)&&typeof obj.getWriter===\"function\"&&typeof obj.abort===\"function\")}function isTransformStream(obj){return!!(obj&&!isNodeStream(obj)&&typeof obj.readable===\"object\"&&typeof obj.writable===\"object\")}function isWebStream(obj){return isReadableStream(obj)||isWritableStream(obj)||isTransformStream(obj)}function isIterable(obj,isAsync){if(obj==null)return!1;if(isAsync===!0)return typeof obj[SymbolAsyncIterator]===\"function\";if(isAsync===!1)return typeof obj[SymbolIterator]===\"function\";return typeof obj[SymbolAsyncIterator]===\"function\"||typeof obj[SymbolIterator]===\"function\"}function isDestroyed(stream){if(!isNodeStream(stream))return null;let{_writableState:wState,_readableState:rState}=stream,state=wState||rState;return!!(stream.destroyed||stream[kIsDestroyed]||state!==null&&state!==void 0&&state.destroyed)}function isWritableEnded(stream){if(!isWritableNodeStream(stream))return null;if(stream.writableEnded===!0)return!0;let wState=stream._writableState;if(wState!==null&&wState!==void 0&&wState.errored)return!1;if(typeof(wState===null||wState===void 0?void 0:wState.ended)!==\"boolean\")return null;return wState.ended}function isWritableFinished(stream,strict){if(!isWritableNodeStream(stream))return null;if(stream.writableFinished===!0)return!0;let wState=stream._writableState;if(wState!==null&&wState!==void 0&&wState.errored)return!1;if(typeof(wState===null||wState===void 0?void 0:wState.finished)!==\"boolean\")return null;return!!(wState.finished||strict===!1&&wState.ended===!0&&wState.length===0)}function isReadableEnded(stream){if(!isReadableNodeStream(stream))return null;if(stream.readableEnded===!0)return!0;let rState=stream._readableState;if(!rState||rState.errored)return!1;if(typeof(rState===null||rState===void 0?void 0:rState.ended)!==\"boolean\")return null;return rState.ended}function isReadableFinished(stream,strict){if(!isReadableNodeStream(stream))return null;let rState=stream._readableState;if(rState!==null&&rState!==void 0&&rState.errored)return!1;if(typeof(rState===null||rState===void 0?void 0:rState.endEmitted)!==\"boolean\")return null;return!!(rState.endEmitted||strict===!1&&rState.ended===!0&&rState.length===0)}function isReadable(stream){if(stream&&stream[kIsReadable]!=null)return stream[kIsReadable];if(typeof(stream===null||stream===void 0?void 0:stream.readable)!==\"boolean\")return null;if(isDestroyed(stream))return!1;return isReadableNodeStream(stream)&&stream.readable&&!isReadableFinished(stream)}function isWritable(stream){if(stream&&stream[kIsWritable]!=null)return stream[kIsWritable];if(typeof(stream===null||stream===void 0?void 0:stream.writable)!==\"boolean\")return null;if(isDestroyed(stream))return!1;return isWritableNodeStream(stream)&&stream.writable&&!isWritableEnded(stream)}function isFinished(stream,opts){if(!isNodeStream(stream))return null;if(isDestroyed(stream))return!0;if((opts===null||opts===void 0?void 0:opts.readable)!==!1&&isReadable(stream))return!1;if((opts===null||opts===void 0?void 0:opts.writable)!==!1&&isWritable(stream))return!1;return!0}function isWritableErrored(stream){var _stream$_writableStat,_stream$_writableStat2;if(!isNodeStream(stream))return null;if(stream.writableErrored)return stream.writableErrored;return(_stream$_writableStat=(_stream$_writableStat2=stream._writableState)===null||_stream$_writableStat2===void 0?void 0:_stream$_writableStat2.errored)!==null&&_stream$_writableStat!==void 0?_stream$_writableStat:null}function isReadableErrored(stream){var _stream$_readableStat,_stream$_readableStat2;if(!isNodeStream(stream))return null;if(stream.readableErrored)return stream.readableErrored;return(_stream$_readableStat=(_stream$_readableStat2=stream._readableState)===null||_stream$_readableStat2===void 0?void 0:_stream$_readableStat2.errored)!==null&&_stream$_readableStat!==void 0?_stream$_readableStat:null}function isClosed(stream){if(!isNodeStream(stream))return null;if(typeof stream.closed===\"boolean\")return stream.closed;let{_writableState:wState,_readableState:rState}=stream;if(typeof(wState===null||wState===void 0?void 0:wState.closed)===\"boolean\"||typeof(rState===null||rState===void 0?void 0:rState.closed)===\"boolean\")return(wState===null||wState===void 0?void 0:wState.closed)||(rState===null||rState===void 0?void 0:rState.closed);if(typeof stream._closed===\"boolean\"&&isOutgoingMessage(stream))return stream._closed;return null}function isOutgoingMessage(stream){return typeof stream._closed===\"boolean\"&&typeof stream._defaultKeepAlive===\"boolean\"&&typeof stream._removedConnection===\"boolean\"&&typeof stream._removedContLen===\"boolean\"}function isServerResponse(stream){return typeof stream._sent100===\"boolean\"&&isOutgoingMessage(stream)}function isServerRequest(stream){var _stream$req;return typeof stream._consuming===\"boolean\"&&typeof stream._dumped===\"boolean\"&&((_stream$req=stream.req)===null||_stream$req===void 0?void 0:_stream$req.upgradeOrConnect)===void 0}function willEmitClose(stream){if(!isNodeStream(stream))return null;let{_writableState:wState,_readableState:rState}=stream,state=wState||rState;return!state&&isServerResponse(stream)||!!(state&&state.autoDestroy&&state.emitClose&&state.closed===!1)}function isDisturbed(stream){var _stream$kIsDisturbed;return!!(stream&&((_stream$kIsDisturbed=stream[kIsDisturbed])!==null&&_stream$kIsDisturbed!==void 0?_stream$kIsDisturbed:stream.readableDidRead||stream.readableAborted))}function isErrored(stream){var _ref,_ref2,_ref3,_ref4,_ref5,_stream$kIsErrored,_stream$_readableStat3,_stream$_writableStat3,_stream$_readableStat4,_stream$_writableStat4;return!!(stream&&((_ref=(_ref2=(_ref3=(_ref4=(_ref5=(_stream$kIsErrored=stream[kIsErrored])!==null&&_stream$kIsErrored!==void 0?_stream$kIsErrored:stream.readableErrored)!==null&&_ref5!==void 0?_ref5:stream.writableErrored)!==null&&_ref4!==void 0?_ref4:(_stream$_readableStat3=stream._readableState)===null||_stream$_readableStat3===void 0?void 0:_stream$_readableStat3.errorEmitted)!==null&&_ref3!==void 0?_ref3:(_stream$_writableStat3=stream._writableState)===null||_stream$_writableStat3===void 0?void 0:_stream$_writableStat3.errorEmitted)!==null&&_ref2!==void 0?_ref2:(_stream$_readableStat4=stream._readableState)===null||_stream$_readableStat4===void 0?void 0:_stream$_readableStat4.errored)!==null&&_ref!==void 0?_ref:(_stream$_writableStat4=stream._writableState)===null||_stream$_writableStat4===void 0?void 0:_stream$_writableStat4.errored))}module2.exports={isDestroyed,kIsDestroyed,isDisturbed,kIsDisturbed,isErrored,kIsErrored,isReadable,kIsReadable,kIsClosedPromise,kControllerErrorFunction,kIsWritable,isClosed,isDuplexNodeStream,isFinished,isIterable,isReadableNodeStream,isReadableStream,isReadableEnded,isReadableFinished,isReadableErrored,isNodeStream,isWebStream,isWritable,isWritableNodeStream,isWritableStream,isWritableEnded,isWritableFinished,isWritableErrored,isServerRequest,isServerResponse,willEmitClose,isTransformStream}});var require_end_of_stream=__commonJS((exports2,module2)=>{var process=require_process(),{AbortError,codes}=require_errors(),{ERR_INVALID_ARG_TYPE,ERR_STREAM_PREMATURE_CLOSE}=codes,{kEmptyObject,once}=require_util(),{validateAbortSignal,validateFunction,validateObject,validateBoolean}=require_validators(),{Promise:Promise2,PromisePrototypeThen,SymbolDispose}=require_primordials(),{isClosed,isReadable,isReadableNodeStream,isReadableStream,isReadableFinished,isReadableErrored,isWritable,isWritableNodeStream,isWritableStream,isWritableFinished,isWritableErrored,isNodeStream,willEmitClose:_willEmitClose,kIsClosedPromise}=require_utils(),addAbortListener;function isRequest(stream){return stream.setHeader&&typeof stream.abort===\"function\"}var nop=()=>{};function eos(stream,options,callback){var _options$readable,_options$writable;if(arguments.length===2)callback=options,options=kEmptyObject;else if(options==null)options=kEmptyObject;else validateObject(options,\"options\");if(validateFunction(callback,\"callback\"),validateAbortSignal(options.signal,\"options.signal\"),callback=once(callback),isReadableStream(stream)||isWritableStream(stream))return eosWeb(stream,options,callback);if(!isNodeStream(stream))throw new ERR_INVALID_ARG_TYPE(\"stream\",[\"ReadableStream\",\"WritableStream\",\"Stream\"],stream);let readable=(_options$readable=options.readable)!==null&&_options$readable!==void 0?_options$readable:isReadableNodeStream(stream),writable=(_options$writable=options.writable)!==null&&_options$writable!==void 0?_options$writable:isWritableNodeStream(stream),wState=stream._writableState,rState=stream._readableState,onlegacyfinish=()=>{if(!stream.writable)onfinish()},willEmitClose=_willEmitClose(stream)&&isReadableNodeStream(stream)===readable&&isWritableNodeStream(stream)===writable,writableFinished=isWritableFinished(stream,!1),onfinish=()=>{if(writableFinished=!0,stream.destroyed)willEmitClose=!1;if(willEmitClose&&(!stream.readable||readable))return;if(!readable||readableFinished)callback.call(stream)},readableFinished=isReadableFinished(stream,!1),onend=()=>{if(readableFinished=!0,stream.destroyed)willEmitClose=!1;if(willEmitClose&&(!stream.writable||writable))return;if(!writable||writableFinished)callback.call(stream)},onerror=(err)=>{callback.call(stream,err)},closed=isClosed(stream),onclose=()=>{closed=!0;let errored=isWritableErrored(stream)||isReadableErrored(stream);if(errored&&typeof errored!==\"boolean\")return callback.call(stream,errored);if(readable&&!readableFinished&&isReadableNodeStream(stream,!0)){if(!isReadableFinished(stream,!1))return callback.call(stream,new ERR_STREAM_PREMATURE_CLOSE)}if(writable&&!writableFinished){if(!isWritableFinished(stream,!1))return callback.call(stream,new ERR_STREAM_PREMATURE_CLOSE)}callback.call(stream)},onclosed=()=>{closed=!0;let errored=isWritableErrored(stream)||isReadableErrored(stream);if(errored&&typeof errored!==\"boolean\")return callback.call(stream,errored);callback.call(stream)},onrequest=()=>{stream.req.on(\"finish\",onfinish)};if(isRequest(stream)){if(stream.on(\"complete\",onfinish),!willEmitClose)stream.on(\"abort\",onclose);if(stream.req)onrequest();else stream.on(\"request\",onrequest)}else if(writable&&!wState)stream.on(\"end\",onlegacyfinish),stream.on(\"close\",onlegacyfinish);if(!willEmitClose&&typeof stream.aborted===\"boolean\")stream.on(\"aborted\",onclose);if(stream.on(\"end\",onend),stream.on(\"finish\",onfinish),options.error!==!1)stream.on(\"error\",onerror);if(stream.on(\"close\",onclose),closed)process.nextTick(onclose);else if(wState!==null&&wState!==void 0&&wState.errorEmitted||rState!==null&&rState!==void 0&&rState.errorEmitted){if(!willEmitClose)process.nextTick(onclosed)}else if(!readable&&(!willEmitClose||isReadable(stream))&&(writableFinished||isWritable(stream)===!1))process.nextTick(onclosed);else if(!writable&&(!willEmitClose||isWritable(stream))&&(readableFinished||isReadable(stream)===!1))process.nextTick(onclosed);else if(rState&&stream.req&&stream.aborted)process.nextTick(onclosed);let cleanup=()=>{if(callback=nop,stream.removeListener(\"aborted\",onclose),stream.removeListener(\"complete\",onfinish),stream.removeListener(\"abort\",onclose),stream.removeListener(\"request\",onrequest),stream.req)stream.req.removeListener(\"finish\",onfinish);stream.removeListener(\"end\",onlegacyfinish),stream.removeListener(\"close\",onlegacyfinish),stream.removeListener(\"finish\",onfinish),stream.removeListener(\"end\",onend),stream.removeListener(\"error\",onerror),stream.removeListener(\"close\",onclose)};if(options.signal&&!closed){let abort=()=>{let endCallback=callback;cleanup(),endCallback.call(stream,new AbortError(void 0,{cause:options.signal.reason}))};if(options.signal.aborted)process.nextTick(abort);else{addAbortListener=addAbortListener||require_util().addAbortListener;let disposable=addAbortListener(options.signal,abort),originalCallback=callback;callback=once((...args)=>{disposable[SymbolDispose](),originalCallback.apply(stream,args)})}}return cleanup}function eosWeb(stream,options,callback){let isAborted=!1,abort=nop;if(options.signal)if(abort=()=>{isAborted=!0,callback.call(stream,new AbortError(void 0,{cause:options.signal.reason}))},options.signal.aborted)process.nextTick(abort);else{addAbortListener=addAbortListener||require_util().addAbortListener;let disposable=addAbortListener(options.signal,abort),originalCallback=callback;callback=once((...args)=>{disposable[SymbolDispose](),originalCallback.apply(stream,args)})}let resolverFn=(...args)=>{if(!isAborted)process.nextTick(()=>callback.apply(stream,args))};return PromisePrototypeThen(stream[kIsClosedPromise].promise,resolverFn,resolverFn),nop}function finished(stream,opts){var _opts;let autoCleanup=!1;if(opts===null)opts=kEmptyObject;if((_opts=opts)!==null&&_opts!==void 0&&_opts.cleanup)validateBoolean(opts.cleanup,\"cleanup\"),autoCleanup=opts.cleanup;return new Promise2((resolve,reject)=>{let cleanup=eos(stream,opts,(err)=>{if(autoCleanup)cleanup();if(err)reject(err);else resolve()})})}module2.exports=eos;module2.exports.finished=finished});var require_destroy=__commonJS((exports2,module2)=>{var process=require_process(),{aggregateTwoErrors,codes:{ERR_MULTIPLE_CALLBACK},AbortError}=require_errors(),{Symbol:Symbol2}=require_primordials(),{kIsDestroyed,isDestroyed,isFinished,isServerRequest}=require_utils(),kDestroy=Symbol2(\"kDestroy\"),kConstruct=Symbol2(\"kConstruct\");function checkError(err,w,r){if(err){if(err.stack,w&&!w.errored)w.errored=err;if(r&&!r.errored)r.errored=err}}function destroy(err,cb){let r=this._readableState,w=this._writableState,s=w||r;if(w!==null&&w!==void 0&&w.destroyed||r!==null&&r!==void 0&&r.destroyed){if(typeof cb===\"function\")cb();return this}if(checkError(err,w,r),w)w.destroyed=!0;if(r)r.destroyed=!0;if(!s.constructed)this.once(kDestroy,function(er){_destroy(this,aggregateTwoErrors(er,err),cb)});else _destroy(this,err,cb);return this}function _destroy(self,err,cb){let called=!1;function onDestroy(err2){if(called)return;called=!0;let{_readableState:r,_writableState:w}=self;if(checkError(err2,w,r),w)w.closed=!0;if(r)r.closed=!0;if(typeof cb===\"function\")cb(err2);if(err2)process.nextTick(emitErrorCloseNT,self,err2);else process.nextTick(emitCloseNT,self)}try{self._destroy(err||null,onDestroy)}catch(err2){onDestroy(err2)}}function emitErrorCloseNT(self,err){emitErrorNT(self,err),emitCloseNT(self)}function emitCloseNT(self){let{_readableState:r,_writableState:w}=self;if(w)w.closeEmitted=!0;if(r)r.closeEmitted=!0;if(w!==null&&w!==void 0&&w.emitClose||r!==null&&r!==void 0&&r.emitClose)self.emit(\"close\")}function emitErrorNT(self,err){let{_readableState:r,_writableState:w}=self;if(w!==null&&w!==void 0&&w.errorEmitted||r!==null&&r!==void 0&&r.errorEmitted)return;if(w)w.errorEmitted=!0;if(r)r.errorEmitted=!0;self.emit(\"error\",err)}function undestroy(){let r=this._readableState,w=this._writableState;if(r)r.constructed=!0,r.closed=!1,r.closeEmitted=!1,r.destroyed=!1,r.errored=null,r.errorEmitted=!1,r.reading=!1,r.ended=r.readable===!1,r.endEmitted=r.readable===!1;if(w)w.constructed=!0,w.destroyed=!1,w.closed=!1,w.closeEmitted=!1,w.errored=null,w.errorEmitted=!1,w.finalCalled=!1,w.prefinished=!1,w.ended=w.writable===!1,w.ending=w.writable===!1,w.finished=w.writable===!1}function errorOrDestroy(stream,err,sync){let{_readableState:r,_writableState:w}=stream;if(w!==null&&w!==void 0&&w.destroyed||r!==null&&r!==void 0&&r.destroyed)return this;if(r!==null&&r!==void 0&&r.autoDestroy||w!==null&&w!==void 0&&w.autoDestroy)stream.destroy(err);else if(err){if(err.stack,w&&!w.errored)w.errored=err;if(r&&!r.errored)r.errored=err;if(sync)process.nextTick(emitErrorNT,stream,err);else emitErrorNT(stream,err)}}function construct(stream,cb){if(typeof stream._construct!==\"function\")return;let{_readableState:r,_writableState:w}=stream;if(r)r.constructed=!1;if(w)w.constructed=!1;if(stream.once(kConstruct,cb),stream.listenerCount(kConstruct)>1)return;process.nextTick(constructNT,stream)}function constructNT(stream){let called=!1;function onConstruct(err){if(called){errorOrDestroy(stream,err!==null&&err!==void 0?err:new ERR_MULTIPLE_CALLBACK);return}called=!0;let{_readableState:r,_writableState:w}=stream,s=w||r;if(r)r.constructed=!0;if(w)w.constructed=!0;if(s.destroyed)stream.emit(kDestroy,err);else if(err)errorOrDestroy(stream,err,!0);else process.nextTick(emitConstructNT,stream)}try{stream._construct((err)=>{process.nextTick(onConstruct,err)})}catch(err){process.nextTick(onConstruct,err)}}function emitConstructNT(stream){stream.emit(kConstruct)}function isRequest(stream){return(stream===null||stream===void 0?void 0:stream.setHeader)&&typeof stream.abort===\"function\"}function emitCloseLegacy(stream){stream.emit(\"close\")}function emitErrorCloseLegacy(stream,err){stream.emit(\"error\",err),process.nextTick(emitCloseLegacy,stream)}function destroyer(stream,err){if(!stream||isDestroyed(stream))return;if(!err&&!isFinished(stream))err=new AbortError;if(isServerRequest(stream))stream.socket=null,stream.destroy(err);else if(isRequest(stream))stream.abort();else if(isRequest(stream.req))stream.req.abort();else if(typeof stream.destroy===\"function\")stream.destroy(err);else if(typeof stream.close===\"function\")stream.close();else if(err)process.nextTick(emitErrorCloseLegacy,stream,err);else process.nextTick(emitCloseLegacy,stream);if(!stream.destroyed)stream[kIsDestroyed]=!0}module2.exports={construct,destroyer,destroy,undestroy,errorOrDestroy}});var require_legacy=__commonJS((exports2,module2)=>{var{ArrayIsArray,ObjectSetPrototypeOf}=require_primordials(),{EventEmitter:EE}=require(\"events\");function Stream(opts){EE.call(this,opts)}ObjectSetPrototypeOf(Stream.prototype,EE.prototype);ObjectSetPrototypeOf(Stream,EE);Stream.prototype.pipe=function(dest,options){let source=this;function ondata(chunk){if(dest.writable&&dest.write(chunk)===!1&&source.pause)source.pause()}source.on(\"data\",ondata);function ondrain(){if(source.readable&&source.resume)source.resume()}if(dest.on(\"drain\",ondrain),!dest._isStdio&&(!options||options.end!==!1))source.on(\"end\",onend),source.on(\"close\",onclose);let didOnEnd=!1;function onend(){if(didOnEnd)return;didOnEnd=!0,dest.end()}function onclose(){if(didOnEnd)return;if(didOnEnd=!0,typeof dest.destroy===\"function\")dest.destroy()}function onerror(er){if(cleanup(),EE.listenerCount(this,\"error\")===0)this.emit(\"error\",er)}prependListener(source,\"error\",onerror),prependListener(dest,\"error\",onerror);function cleanup(){source.removeListener(\"data\",ondata),dest.removeListener(\"drain\",ondrain),source.removeListener(\"end\",onend),source.removeListener(\"close\",onclose),source.removeListener(\"error\",onerror),dest.removeListener(\"error\",onerror),source.removeListener(\"end\",cleanup),source.removeListener(\"close\",cleanup),dest.removeListener(\"close\",cleanup)}return source.on(\"end\",cleanup),source.on(\"close\",cleanup),dest.on(\"close\",cleanup),dest.emit(\"pipe\",source),dest};function prependListener(emitter,event,fn){if(typeof emitter.prependListener===\"function\")return emitter.prependListener(event,fn);if(!emitter._events||!emitter._events[event])emitter.on(event,fn);else if(ArrayIsArray(emitter._events[event]))emitter._events[event].unshift(fn);else emitter._events[event]=[fn,emitter._events[event]]}module2.exports={Stream,prependListener}});var require_add_abort_signal=__commonJS((exports2,module2)=>{var{SymbolDispose}=require_primordials(),{AbortError,codes}=require_errors(),{isNodeStream,isWebStream,kControllerErrorFunction}=require_utils(),eos=require_end_of_stream(),{ERR_INVALID_ARG_TYPE}=codes,addAbortListener,validateAbortSignal=(signal,name)=>{if(typeof signal!==\"object\"||!(\"aborted\"in signal))throw new ERR_INVALID_ARG_TYPE(name,\"AbortSignal\",signal)};module2.exports.addAbortSignal=function(signal,stream){if(validateAbortSignal(signal,\"signal\"),!isNodeStream(stream)&&!isWebStream(stream))throw new ERR_INVALID_ARG_TYPE(\"stream\",[\"ReadableStream\",\"WritableStream\",\"Stream\"],stream);return module2.exports.addAbortSignalNoValidate(signal,stream)};module2.exports.addAbortSignalNoValidate=function(signal,stream){if(typeof signal!==\"object\"||!(\"aborted\"in signal))return stream;let onAbort=isNodeStream(stream)?()=>{stream.destroy(new AbortError(void 0,{cause:signal.reason}))}:()=>{stream[kControllerErrorFunction](new AbortError(void 0,{cause:signal.reason}))};if(signal.aborted)onAbort();else{addAbortListener=addAbortListener||require_util().addAbortListener;let disposable=addAbortListener(signal,onAbort);eos(stream,disposable[SymbolDispose])}return stream}});var require_buffer_list=__commonJS((exports2,module2)=>{var{StringPrototypeSlice,SymbolIterator,TypedArrayPrototypeSet,Uint8Array:Uint8Array2}=require_primordials(),{Buffer}=require(\"buffer\"),{inspect}=require_util();module2.exports=class{constructor(){this.head=null,this.tail=null,this.length=0}push(v){let entry={data:v,next:null};if(this.length>0)this.tail.next=entry;else this.head=entry;this.tail=entry,++this.length}unshift(v){let entry={data:v,next:this.head};if(this.length===0)this.tail=entry;this.head=entry,++this.length}shift(){if(this.length===0)return;let ret=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;return--this.length,ret}clear(){this.head=this.tail=null,this.length=0}join(s){if(this.length===0)return\"\";let p=this.head,ret=\"\"+p.data;while((p=p.next)!==null)ret+=s+p.data;return ret}concat(n){if(this.length===0)return Buffer.alloc(0);let ret=Buffer.allocUnsafe(n>>>0),p=this.head,i=0;while(p)TypedArrayPrototypeSet(ret,p.data,i),i+=p.data.length,p=p.next;return ret}consume(n,hasStrings){let data=this.head.data;if(n<data.length){let slice=data.slice(0,n);return this.head.data=data.slice(n),slice}if(n===data.length)return this.shift();return hasStrings?this._getString(n):this._getBuffer(n)}first(){return this.head.data}*[SymbolIterator](){for(let p=this.head;p;p=p.next)yield p.data}_getString(n){let ret=\"\",p=this.head,c=0;do{let str=p.data;if(n>str.length)ret+=str,n-=str.length;else{if(n===str.length)if(ret+=str,++c,p.next)this.head=p.next;else this.head=this.tail=null;else ret+=StringPrototypeSlice(str,0,n),this.head=p,p.data=StringPrototypeSlice(str,n);break}++c}while((p=p.next)!==null);return this.length-=c,ret}_getBuffer(n){let ret=Buffer.allocUnsafe(n),retLen=n,p=this.head,c=0;do{let buf=p.data;if(n>buf.length)TypedArrayPrototypeSet(ret,buf,retLen-n),n-=buf.length;else{if(n===buf.length)if(TypedArrayPrototypeSet(ret,buf,retLen-n),++c,p.next)this.head=p.next;else this.head=this.tail=null;else TypedArrayPrototypeSet(ret,new Uint8Array2(buf.buffer,buf.byteOffset,n),retLen-n),this.head=p,p.data=buf.slice(n);break}++c}while((p=p.next)!==null);return this.length-=c,ret}[Symbol.for(\"nodejs.util.inspect.custom\")](_,options){return inspect(this,{...options,depth:0,customInspect:!1})}}});var require_state=__commonJS((exports2,module2)=>{var{MathFloor,NumberIsInteger}=require_primordials(),{validateInteger}=require_validators(),{ERR_INVALID_ARG_VALUE}=require_errors().codes,defaultHighWaterMarkBytes=16384,defaultHighWaterMarkObjectMode=16;function highWaterMarkFrom(options,isDuplex,duplexKey){return options.highWaterMark!=null?options.highWaterMark:isDuplex?options[duplexKey]:null}function getDefaultHighWaterMark(objectMode){return objectMode?defaultHighWaterMarkObjectMode:defaultHighWaterMarkBytes}function setDefaultHighWaterMark(objectMode,value){if(validateInteger(value,\"value\",0),objectMode)defaultHighWaterMarkObjectMode=value;else defaultHighWaterMarkBytes=value}function getHighWaterMark(state,options,duplexKey,isDuplex){let hwm=highWaterMarkFrom(options,isDuplex,duplexKey);if(hwm!=null){if(!NumberIsInteger(hwm)||hwm<0){let name=isDuplex?`options.${duplexKey}`:\"options.highWaterMark\";throw new ERR_INVALID_ARG_VALUE(name,hwm)}return MathFloor(hwm)}return getDefaultHighWaterMark(state.objectMode)}module2.exports={getHighWaterMark,getDefaultHighWaterMark,setDefaultHighWaterMark}});var require_safe_buffer=__commonJS((exports2,module2)=>{/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */var buffer=require(\"buffer\"),Buffer=buffer.Buffer;function copyProps(src,dst){for(var key in src)dst[key]=src[key]}if(Buffer.from&&Buffer.alloc&&Buffer.allocUnsafe&&Buffer.allocUnsafeSlow)module2.exports=buffer;else copyProps(buffer,exports2),exports2.Buffer=SafeBuffer;function SafeBuffer(arg,encodingOrOffset,length){return Buffer(arg,encodingOrOffset,length)}SafeBuffer.prototype=Object.create(Buffer.prototype);copyProps(Buffer,SafeBuffer);SafeBuffer.from=function(arg,encodingOrOffset,length){if(typeof arg===\"number\")throw TypeError(\"Argument must not be a number\");return Buffer(arg,encodingOrOffset,length)};SafeBuffer.alloc=function(size,fill,encoding){if(typeof size!==\"number\")throw TypeError(\"Argument must be a number\");var buf=Buffer(size);if(fill!==void 0)if(typeof encoding===\"string\")buf.fill(fill,encoding);else buf.fill(fill);else buf.fill(0);return buf};SafeBuffer.allocUnsafe=function(size){if(typeof size!==\"number\")throw TypeError(\"Argument must be a number\");return Buffer(size)};SafeBuffer.allocUnsafeSlow=function(size){if(typeof size!==\"number\")throw TypeError(\"Argument must be a number\");return buffer.SlowBuffer(size)}});var require_string_decoder=__commonJS((exports2)=>{var Buffer=require_safe_buffer().Buffer,isEncoding=Buffer.isEncoding||function(encoding){switch(encoding=\"\"+encoding,encoding&&encoding.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return!0;default:return!1}};function _normalizeEncoding(enc){if(!enc)return\"utf8\";var retried;while(!0)switch(enc){case\"utf8\":case\"utf-8\":return\"utf8\";case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return\"utf16le\";case\"latin1\":case\"binary\":return\"latin1\";case\"base64\":case\"ascii\":case\"hex\":return enc;default:if(retried)return;enc=(\"\"+enc).toLowerCase(),retried=!0}}function normalizeEncoding(enc){var nenc=_normalizeEncoding(enc);if(typeof nenc!==\"string\"&&(Buffer.isEncoding===isEncoding||!isEncoding(enc)))throw Error(\"Unknown encoding: \"+enc);return nenc||enc}exports2.StringDecoder=StringDecoder;function StringDecoder(encoding){this.encoding=normalizeEncoding(encoding);var nb;switch(this.encoding){case\"utf16le\":this.text=utf16Text,this.end=utf16End,nb=4;break;case\"utf8\":this.fillLast=utf8FillLast,nb=4;break;case\"base64\":this.text=base64Text,this.end=base64End,nb=3;break;default:this.write=simpleWrite,this.end=simpleEnd;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=Buffer.allocUnsafe(nb)}StringDecoder.prototype.write=function(buf){if(buf.length===0)return\"\";var r,i;if(this.lastNeed){if(r=this.fillLast(buf),r===void 0)return\"\";i=this.lastNeed,this.lastNeed=0}else i=0;if(i<buf.length)return r?r+this.text(buf,i):this.text(buf,i);return r||\"\"};StringDecoder.prototype.end=utf8End;StringDecoder.prototype.text=utf8Text;StringDecoder.prototype.fillLast=function(buf){if(this.lastNeed<=buf.length)return buf.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);buf.copy(this.lastChar,this.lastTotal-this.lastNeed,0,buf.length),this.lastNeed-=buf.length};function utf8CheckByte(byte){if(byte<=127)return 0;else if(byte>>5===6)return 2;else if(byte>>4===14)return 3;else if(byte>>3===30)return 4;return byte>>6===2?-1:-2}function utf8CheckIncomplete(self,buf,i){var j=buf.length-1;if(j<i)return 0;var nb=utf8CheckByte(buf[j]);if(nb>=0){if(nb>0)self.lastNeed=nb-1;return nb}if(--j<i||nb===-2)return 0;if(nb=utf8CheckByte(buf[j]),nb>=0){if(nb>0)self.lastNeed=nb-2;return nb}if(--j<i||nb===-2)return 0;if(nb=utf8CheckByte(buf[j]),nb>=0){if(nb>0)if(nb===2)nb=0;else self.lastNeed=nb-3;return nb}return 0}function utf8CheckExtraBytes(self,buf,p){if((buf[0]&192)!==128)return self.lastNeed=0,\"�\";if(self.lastNeed>1&&buf.length>1){if((buf[1]&192)!==128)return self.lastNeed=1,\"�\";if(self.lastNeed>2&&buf.length>2){if((buf[2]&192)!==128)return self.lastNeed=2,\"�\"}}}function utf8FillLast(buf){var p=this.lastTotal-this.lastNeed,r=utf8CheckExtraBytes(this,buf,p);if(r!==void 0)return r;if(this.lastNeed<=buf.length)return buf.copy(this.lastChar,p,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);buf.copy(this.lastChar,p,0,buf.length),this.lastNeed-=buf.length}function utf8Text(buf,i){var total=utf8CheckIncomplete(this,buf,i);if(!this.lastNeed)return buf.toString(\"utf8\",i);this.lastTotal=total;var end=buf.length-(total-this.lastNeed);return buf.copy(this.lastChar,0,end),buf.toString(\"utf8\",i,end)}function utf8End(buf){var r=buf&&buf.length?this.write(buf):\"\";if(this.lastNeed)return r+\"�\";return r}function utf16Text(buf,i){if((buf.length-i)%2===0){var r=buf.toString(\"utf16le\",i);if(r){var c=r.charCodeAt(r.length-1);if(c>=55296&&c<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=buf[buf.length-2],this.lastChar[1]=buf[buf.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=buf[buf.length-1],buf.toString(\"utf16le\",i,buf.length-1)}function utf16End(buf){var r=buf&&buf.length?this.write(buf):\"\";if(this.lastNeed){var end=this.lastTotal-this.lastNeed;return r+this.lastChar.toString(\"utf16le\",0,end)}return r}function base64Text(buf,i){var n=(buf.length-i)%3;if(n===0)return buf.toString(\"base64\",i);if(this.lastNeed=3-n,this.lastTotal=3,n===1)this.lastChar[0]=buf[buf.length-1];else this.lastChar[0]=buf[buf.length-2],this.lastChar[1]=buf[buf.length-1];return buf.toString(\"base64\",i,buf.length-n)}function base64End(buf){var r=buf&&buf.length?this.write(buf):\"\";if(this.lastNeed)return r+this.lastChar.toString(\"base64\",0,3-this.lastNeed);return r}function simpleWrite(buf){return buf.toString(this.encoding)}function simpleEnd(buf){return buf&&buf.length?this.write(buf):\"\"}});var require_from=__commonJS((exports2,module2)=>{var process=require_process(),{PromisePrototypeThen,SymbolAsyncIterator,SymbolIterator}=require_primordials(),{Buffer}=require(\"buffer\"),{ERR_INVALID_ARG_TYPE,ERR_STREAM_NULL_VALUES}=require_errors().codes;function from(Readable,iterable,opts){let iterator;if(typeof iterable===\"string\"||iterable instanceof Buffer)return new Readable({objectMode:!0,...opts,read(){this.push(iterable),this.push(null)}});let isAsync;if(iterable&&iterable[SymbolAsyncIterator])isAsync=!0,iterator=iterable[SymbolAsyncIterator]();else if(iterable&&iterable[SymbolIterator])isAsync=!1,iterator=iterable[SymbolIterator]();else throw new ERR_INVALID_ARG_TYPE(\"iterable\",[\"Iterable\"],iterable);let readable=new Readable({objectMode:!0,highWaterMark:1,...opts}),reading=!1;readable._read=function(){if(!reading)reading=!0,next()},readable._destroy=function(error,cb){PromisePrototypeThen(close(error),()=>process.nextTick(cb,error),(e)=>process.nextTick(cb,e||error))};async function close(error){let hadError=error!==void 0&&error!==null,hasThrow=typeof iterator.throw===\"function\";if(hadError&&hasThrow){let{value,done}=await iterator.throw(error);if(await value,done)return}if(typeof iterator.return===\"function\"){let{value}=await iterator.return();await value}}async function next(){for(;;){try{let{value,done}=isAsync?await iterator.next():iterator.next();if(done)readable.push(null);else{let res=value&&typeof value.then===\"function\"?await value:value;if(res===null)throw reading=!1,new ERR_STREAM_NULL_VALUES;else if(readable.push(res))continue;else reading=!1}}catch(err){readable.destroy(err)}break}}return readable}module2.exports=from});var require_readable=__commonJS((exports2,module2)=>{var process=require_process(),{ArrayPrototypeIndexOf,NumberIsInteger,NumberIsNaN,NumberParseInt,ObjectDefineProperties,ObjectKeys,ObjectSetPrototypeOf,Promise:Promise2,SafeSet,SymbolAsyncDispose,SymbolAsyncIterator,Symbol:Symbol2}=require_primordials();module2.exports=Readable;Readable.ReadableState=ReadableState;var{EventEmitter:EE}=require(\"events\"),{Stream,prependListener}=require_legacy(),{Buffer}=require(\"buffer\"),{addAbortSignal}=require_add_abort_signal(),eos=require_end_of_stream(),debug=require_util().debuglog(\"stream\",(fn)=>{debug=fn}),BufferList=require_buffer_list(),destroyImpl=require_destroy(),{getHighWaterMark,getDefaultHighWaterMark}=require_state(),{aggregateTwoErrors,codes:{ERR_INVALID_ARG_TYPE,ERR_METHOD_NOT_IMPLEMENTED,ERR_OUT_OF_RANGE,ERR_STREAM_PUSH_AFTER_EOF,ERR_STREAM_UNSHIFT_AFTER_END_EVENT},AbortError}=require_errors(),{validateObject}=require_validators(),kPaused=Symbol2(\"kPaused\"),{StringDecoder}=require_string_decoder(),from=require_from();ObjectSetPrototypeOf(Readable.prototype,Stream.prototype);ObjectSetPrototypeOf(Readable,Stream);var nop=()=>{},{errorOrDestroy}=destroyImpl,kObjectMode=1,kEnded=2,kEndEmitted=4,kReading=8,kConstructed=16,kSync=32,kNeedReadable=64,kEmittedReadable=128,kReadableListening=256,kResumeScheduled=512,kErrorEmitted=1024,kEmitClose=2048,kAutoDestroy=4096,kDestroyed=8192,kClosed=16384,kCloseEmitted=32768,kMultiAwaitDrain=65536,kReadingMore=131072,kDataEmitted=262144;function makeBitMapDescriptor(bit){return{enumerable:!1,get(){return(this.state&bit)!==0},set(value){if(value)this.state|=bit;else this.state&=~bit}}}ObjectDefineProperties(ReadableState.prototype,{objectMode:makeBitMapDescriptor(kObjectMode),ended:makeBitMapDescriptor(kEnded),endEmitted:makeBitMapDescriptor(kEndEmitted),reading:makeBitMapDescriptor(kReading),constructed:makeBitMapDescriptor(kConstructed),sync:makeBitMapDescriptor(kSync),needReadable:makeBitMapDescriptor(kNeedReadable),emittedReadable:makeBitMapDescriptor(kEmittedReadable),readableListening:makeBitMapDescriptor(kReadableListening),resumeScheduled:makeBitMapDescriptor(kResumeScheduled),errorEmitted:makeBitMapDescriptor(kErrorEmitted),emitClose:makeBitMapDescriptor(kEmitClose),autoDestroy:makeBitMapDescriptor(kAutoDestroy),destroyed:makeBitMapDescriptor(kDestroyed),closed:makeBitMapDescriptor(kClosed),closeEmitted:makeBitMapDescriptor(kCloseEmitted),multiAwaitDrain:makeBitMapDescriptor(kMultiAwaitDrain),readingMore:makeBitMapDescriptor(kReadingMore),dataEmitted:makeBitMapDescriptor(kDataEmitted)});function ReadableState(options,stream,isDuplex){if(typeof isDuplex!==\"boolean\")isDuplex=stream instanceof require_duplex();if(this.state=kEmitClose|kAutoDestroy|kConstructed|kSync,options&&options.objectMode)this.state|=kObjectMode;if(isDuplex&&options&&options.readableObjectMode)this.state|=kObjectMode;if(this.highWaterMark=options?getHighWaterMark(this,options,\"readableHighWaterMark\",isDuplex):getDefaultHighWaterMark(!1),this.buffer=new BufferList,this.length=0,this.pipes=[],this.flowing=null,this[kPaused]=null,options&&options.emitClose===!1)this.state&=~kEmitClose;if(options&&options.autoDestroy===!1)this.state&=~kAutoDestroy;if(this.errored=null,this.defaultEncoding=options&&options.defaultEncoding||\"utf8\",this.awaitDrainWriters=null,this.decoder=null,this.encoding=null,options&&options.encoding)this.decoder=new StringDecoder(options.encoding),this.encoding=options.encoding}function Readable(options){if(!(this instanceof Readable))return new Readable(options);let isDuplex=this instanceof require_duplex();if(this._readableState=new ReadableState(options,this,isDuplex),options){if(typeof options.read===\"function\")this._read=options.read;if(typeof options.destroy===\"function\")this._destroy=options.destroy;if(typeof options.construct===\"function\")this._construct=options.construct;if(options.signal&&!isDuplex)addAbortSignal(options.signal,this)}Stream.call(this,options),destroyImpl.construct(this,()=>{if(this._readableState.needReadable)maybeReadMore(this,this._readableState)})}Readable.prototype.destroy=destroyImpl.destroy;Readable.prototype._undestroy=destroyImpl.undestroy;Readable.prototype._destroy=function(err,cb){cb(err)};Readable.prototype[EE.captureRejectionSymbol]=function(err){this.destroy(err)};Readable.prototype[SymbolAsyncDispose]=function(){let error;if(!this.destroyed)error=this.readableEnded?null:new AbortError,this.destroy(error);return new Promise2((resolve,reject)=>eos(this,(err)=>err&&err!==error?reject(err):resolve(null)))};Readable.prototype.push=function(chunk,encoding){return readableAddChunk(this,chunk,encoding,!1)};Readable.prototype.unshift=function(chunk,encoding){return readableAddChunk(this,chunk,encoding,!0)};function readableAddChunk(stream,chunk,encoding,addToFront){debug(\"readableAddChunk\",chunk);let state=stream._readableState,err;if((state.state&kObjectMode)===0){if(typeof chunk===\"string\"){if(encoding=encoding||state.defaultEncoding,state.encoding!==encoding)if(addToFront&&state.encoding)chunk=Buffer.from(chunk,encoding).toString(state.encoding);else chunk=Buffer.from(chunk,encoding),encoding=\"\"}else if(chunk instanceof Buffer)encoding=\"\";else if(Stream._isUint8Array(chunk))chunk=Stream._uint8ArrayToBuffer(chunk),encoding=\"\";else if(chunk!=null)err=new ERR_INVALID_ARG_TYPE(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],chunk)}if(err)errorOrDestroy(stream,err);else if(chunk===null)state.state&=~kReading,onEofChunk(stream,state);else if((state.state&kObjectMode)!==0||chunk&&chunk.length>0)if(addToFront)if((state.state&kEndEmitted)!==0)errorOrDestroy(stream,new ERR_STREAM_UNSHIFT_AFTER_END_EVENT);else if(state.destroyed||state.errored)return!1;else addChunk(stream,state,chunk,!0);else if(state.ended)errorOrDestroy(stream,new ERR_STREAM_PUSH_AFTER_EOF);else if(state.destroyed||state.errored)return!1;else if(state.state&=~kReading,state.decoder&&!encoding)if(chunk=state.decoder.write(chunk),state.objectMode||chunk.length!==0)addChunk(stream,state,chunk,!1);else maybeReadMore(stream,state);else addChunk(stream,state,chunk,!1);else if(!addToFront)state.state&=~kReading,maybeReadMore(stream,state);return!state.ended&&(state.length<state.highWaterMark||state.length===0)}function addChunk(stream,state,chunk,addToFront){if(state.flowing&&state.length===0&&!state.sync&&stream.listenerCount(\"data\")>0){if((state.state&kMultiAwaitDrain)!==0)state.awaitDrainWriters.clear();else state.awaitDrainWriters=null;state.dataEmitted=!0,stream.emit(\"data\",chunk)}else{if(state.length+=state.objectMode?1:chunk.length,addToFront)state.buffer.unshift(chunk);else state.buffer.push(chunk);if((state.state&kNeedReadable)!==0)emitReadable(stream)}maybeReadMore(stream,state)}Readable.prototype.isPaused=function(){let state=this._readableState;return state[kPaused]===!0||state.flowing===!1};Readable.prototype.setEncoding=function(enc){let decoder=new StringDecoder(enc);this._readableState.decoder=decoder,this._readableState.encoding=this._readableState.decoder.encoding;let buffer=this._readableState.buffer,content=\"\";for(let data of buffer)content+=decoder.write(data);if(buffer.clear(),content!==\"\")buffer.push(content);return this._readableState.length=content.length,this};var MAX_HWM=1073741824;function computeNewHighWaterMark(n){if(n>MAX_HWM)throw new ERR_OUT_OF_RANGE(\"size\",\"<= 1GiB\",n);else n--,n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n++;return n}function howMuchToRead(n,state){if(n<=0||state.length===0&&state.ended)return 0;if((state.state&kObjectMode)!==0)return 1;if(NumberIsNaN(n)){if(state.flowing&&state.length)return state.buffer.first().length;return state.length}if(n<=state.length)return n;return state.ended?state.length:0}Readable.prototype.read=function(n){if(debug(\"read\",n),n===void 0)n=NaN;else if(!NumberIsInteger(n))n=NumberParseInt(n,10);let state=this._readableState,nOrig=n;if(n>state.highWaterMark)state.highWaterMark=computeNewHighWaterMark(n);if(n!==0)state.state&=~kEmittedReadable;if(n===0&&state.needReadable&&((state.highWaterMark!==0?state.length>=state.highWaterMark:state.length>0)||state.ended)){if(debug(\"read: emitReadable\",state.length,state.ended),state.length===0&&state.ended)endReadable(this);else emitReadable(this);return null}if(n=howMuchToRead(n,state),n===0&&state.ended){if(state.length===0)endReadable(this);return null}let doRead=(state.state&kNeedReadable)!==0;if(debug(\"need readable\",doRead),state.length===0||state.length-n<state.highWaterMark)doRead=!0,debug(\"length less than watermark\",doRead);if(state.ended||state.reading||state.destroyed||state.errored||!state.constructed)doRead=!1,debug(\"reading, ended or constructing\",doRead);else if(doRead){if(debug(\"do read\"),state.state|=kReading|kSync,state.length===0)state.state|=kNeedReadable;try{this._read(state.highWaterMark)}catch(err){errorOrDestroy(this,err)}if(state.state&=~kSync,!state.reading)n=howMuchToRead(nOrig,state)}let ret;if(n>0)ret=fromList(n,state);else ret=null;if(ret===null)state.needReadable=state.length<=state.highWaterMark,n=0;else if(state.length-=n,state.multiAwaitDrain)state.awaitDrainWriters.clear();else state.awaitDrainWriters=null;if(state.length===0){if(!state.ended)state.needReadable=!0;if(nOrig!==n&&state.ended)endReadable(this)}if(ret!==null&&!state.errorEmitted&&!state.closeEmitted)state.dataEmitted=!0,this.emit(\"data\",ret);return ret};function onEofChunk(stream,state){if(debug(\"onEofChunk\"),state.ended)return;if(state.decoder){let chunk=state.decoder.end();if(chunk&&chunk.length)state.buffer.push(chunk),state.length+=state.objectMode?1:chunk.length}if(state.ended=!0,state.sync)emitReadable(stream);else state.needReadable=!1,state.emittedReadable=!0,emitReadable_(stream)}function emitReadable(stream){let state=stream._readableState;if(debug(\"emitReadable\",state.needReadable,state.emittedReadable),state.needReadable=!1,!state.emittedReadable)debug(\"emitReadable\",state.flowing),state.emittedReadable=!0,process.nextTick(emitReadable_,stream)}function emitReadable_(stream){let state=stream._readableState;if(debug(\"emitReadable_\",state.destroyed,state.length,state.ended),!state.destroyed&&!state.errored&&(state.length||state.ended))stream.emit(\"readable\"),state.emittedReadable=!1;state.needReadable=!state.flowing&&!state.ended&&state.length<=state.highWaterMark,flow(stream)}function maybeReadMore(stream,state){if(!state.readingMore&&state.constructed)state.readingMore=!0,process.nextTick(maybeReadMore_,stream,state)}function maybeReadMore_(stream,state){while(!state.reading&&!state.ended&&(state.length<state.highWaterMark||state.flowing&&state.length===0)){let len=state.length;if(debug(\"maybeReadMore read 0\"),stream.read(0),len===state.length)break}state.readingMore=!1}Readable.prototype._read=function(n){throw new ERR_METHOD_NOT_IMPLEMENTED(\"_read()\")};Readable.prototype.pipe=function(dest,pipeOpts){let src=this,state=this._readableState;if(state.pipes.length===1){if(!state.multiAwaitDrain)state.multiAwaitDrain=!0,state.awaitDrainWriters=new SafeSet(state.awaitDrainWriters?[state.awaitDrainWriters]:[])}state.pipes.push(dest),debug(\"pipe count=%d opts=%j\",state.pipes.length,pipeOpts);let endFn=(!pipeOpts||pipeOpts.end!==!1)&&dest!==process.stdout&&dest!==process.stderr?onend:unpipe;if(state.endEmitted)process.nextTick(endFn);else src.once(\"end\",endFn);dest.on(\"unpipe\",onunpipe);function onunpipe(readable,unpipeInfo){if(debug(\"onunpipe\"),readable===src){if(unpipeInfo&&unpipeInfo.hasUnpiped===!1)unpipeInfo.hasUnpiped=!0,cleanup()}}function onend(){debug(\"onend\"),dest.end()}let ondrain,cleanedUp=!1;function cleanup(){if(debug(\"cleanup\"),dest.removeListener(\"close\",onclose),dest.removeListener(\"finish\",onfinish),ondrain)dest.removeListener(\"drain\",ondrain);if(dest.removeListener(\"error\",onerror),dest.removeListener(\"unpipe\",onunpipe),src.removeListener(\"end\",onend),src.removeListener(\"end\",unpipe),src.removeListener(\"data\",ondata),cleanedUp=!0,ondrain&&state.awaitDrainWriters&&(!dest._writableState||dest._writableState.needDrain))ondrain()}function pause(){if(!cleanedUp){if(state.pipes.length===1&&state.pipes[0]===dest)debug(\"false write response, pause\",0),state.awaitDrainWriters=dest,state.multiAwaitDrain=!1;else if(state.pipes.length>1&&state.pipes.includes(dest))debug(\"false write response, pause\",state.awaitDrainWriters.size),state.awaitDrainWriters.add(dest);src.pause()}if(!ondrain)ondrain=pipeOnDrain(src,dest),dest.on(\"drain\",ondrain)}src.on(\"data\",ondata);function ondata(chunk){debug(\"ondata\");let ret=dest.write(chunk);if(debug(\"dest.write\",ret),ret===!1)pause()}function onerror(er){if(debug(\"onerror\",er),unpipe(),dest.removeListener(\"error\",onerror),dest.listenerCount(\"error\")===0){let s=dest._writableState||dest._readableState;if(s&&!s.errorEmitted)errorOrDestroy(dest,er);else dest.emit(\"error\",er)}}prependListener(dest,\"error\",onerror);function onclose(){dest.removeListener(\"finish\",onfinish),unpipe()}dest.once(\"close\",onclose);function onfinish(){debug(\"onfinish\"),dest.removeListener(\"close\",onclose),unpipe()}dest.once(\"finish\",onfinish);function unpipe(){debug(\"unpipe\"),src.unpipe(dest)}if(dest.emit(\"pipe\",src),dest.writableNeedDrain===!0)pause();else if(!state.flowing)debug(\"pipe resume\"),src.resume();return dest};function pipeOnDrain(src,dest){return function(){let state=src._readableState;if(state.awaitDrainWriters===dest)debug(\"pipeOnDrain\",1),state.awaitDrainWriters=null;else if(state.multiAwaitDrain)debug(\"pipeOnDrain\",state.awaitDrainWriters.size),state.awaitDrainWriters.delete(dest);if((!state.awaitDrainWriters||state.awaitDrainWriters.size===0)&&src.listenerCount(\"data\"))src.resume()}}Readable.prototype.unpipe=function(dest){let state=this._readableState,unpipeInfo={hasUnpiped:!1};if(state.pipes.length===0)return this;if(!dest){let dests=state.pipes;state.pipes=[],this.pause();for(let i=0;i<dests.length;i++)dests[i].emit(\"unpipe\",this,{hasUnpiped:!1});return this}let index=ArrayPrototypeIndexOf(state.pipes,dest);if(index===-1)return this;if(state.pipes.splice(index,1),state.pipes.length===0)this.pause();return dest.emit(\"unpipe\",this,unpipeInfo),this};Readable.prototype.on=function(ev,fn){let res=Stream.prototype.on.call(this,ev,fn),state=this._readableState;if(ev===\"data\"){if(state.readableListening=this.listenerCount(\"readable\")>0,state.flowing!==!1)this.resume()}else if(ev===\"readable\"){if(!state.endEmitted&&!state.readableListening){if(state.readableListening=state.needReadable=!0,state.flowing=!1,state.emittedReadable=!1,debug(\"on readable\",state.length,state.reading),state.length)emitReadable(this);else if(!state.reading)process.nextTick(nReadingNextTick,this)}}return res};Readable.prototype.addListener=Readable.prototype.on;Readable.prototype.removeListener=function(ev,fn){let res=Stream.prototype.removeListener.call(this,ev,fn);if(ev===\"readable\")process.nextTick(updateReadableListening,this);return res};Readable.prototype.off=Readable.prototype.removeListener;Readable.prototype.removeAllListeners=function(ev){let res=Stream.prototype.removeAllListeners.apply(this,arguments);if(ev===\"readable\"||ev===void 0)process.nextTick(updateReadableListening,this);return res};function updateReadableListening(self){let state=self._readableState;if(state.readableListening=self.listenerCount(\"readable\")>0,state.resumeScheduled&&state[kPaused]===!1)state.flowing=!0;else if(self.listenerCount(\"data\")>0)self.resume();else if(!state.readableListening)state.flowing=null}function nReadingNextTick(self){debug(\"readable nexttick read 0\"),self.read(0)}Readable.prototype.resume=function(){let state=this._readableState;if(!state.flowing)debug(\"resume\"),state.flowing=!state.readableListening,resume(this,state);return state[kPaused]=!1,this};function resume(stream,state){if(!state.resumeScheduled)state.resumeScheduled=!0,process.nextTick(resume_,stream,state)}function resume_(stream,state){if(debug(\"resume\",state.reading),!state.reading)stream.read(0);if(state.resumeScheduled=!1,stream.emit(\"resume\"),flow(stream),state.flowing&&!state.reading)stream.read(0)}Readable.prototype.pause=function(){if(debug(\"call pause flowing=%j\",this._readableState.flowing),this._readableState.flowing!==!1)debug(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\");return this._readableState[kPaused]=!0,this};function flow(stream){let state=stream._readableState;debug(\"flow\",state.flowing);while(state.flowing&&stream.read()!==null);}Readable.prototype.wrap=function(stream){let paused=!1;stream.on(\"data\",(chunk)=>{if(!this.push(chunk)&&stream.pause)paused=!0,stream.pause()}),stream.on(\"end\",()=>{this.push(null)}),stream.on(\"error\",(err)=>{errorOrDestroy(this,err)}),stream.on(\"close\",()=>{this.destroy()}),stream.on(\"destroy\",()=>{this.destroy()}),this._read=()=>{if(paused&&stream.resume)paused=!1,stream.resume()};let streamKeys=ObjectKeys(stream);for(let j=1;j<streamKeys.length;j++){let i=streamKeys[j];if(this[i]===void 0&&typeof stream[i]===\"function\")this[i]=stream[i].bind(stream)}return this};Readable.prototype[SymbolAsyncIterator]=function(){return streamToAsyncIterator(this)};Readable.prototype.iterator=function(options){if(options!==void 0)validateObject(options,\"options\");return streamToAsyncIterator(this,options)};function streamToAsyncIterator(stream,options){if(typeof stream.read!==\"function\")stream=Readable.wrap(stream,{objectMode:!0});let iter=createAsyncIterator(stream,options);return iter.stream=stream,iter}async function*createAsyncIterator(stream,options){let callback=nop;function next(resolve){if(this===stream)callback(),callback=nop;else callback=resolve}stream.on(\"readable\",next);let error,cleanup=eos(stream,{writable:!1},(err)=>{error=err?aggregateTwoErrors(error,err):null,callback(),callback=nop});try{while(!0){let chunk=stream.destroyed?null:stream.read();if(chunk!==null)yield chunk;else if(error)throw error;else if(error===null)return;else await new Promise2(next)}}catch(err){throw error=aggregateTwoErrors(error,err),error}finally{if((error||(options===null||options===void 0?void 0:options.destroyOnReturn)!==!1)&&(error===void 0||stream._readableState.autoDestroy))destroyImpl.destroyer(stream,null);else stream.off(\"readable\",next),cleanup()}}ObjectDefineProperties(Readable.prototype,{readable:{__proto__:null,get(){let r=this._readableState;return!!r&&r.readable!==!1&&!r.destroyed&&!r.errorEmitted&&!r.endEmitted},set(val){if(this._readableState)this._readableState.readable=!!val}},readableDidRead:{__proto__:null,enumerable:!1,get:function(){return this._readableState.dataEmitted}},readableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._readableState.readable!==!1&&(this._readableState.destroyed||this._readableState.errored)&&!this._readableState.endEmitted)}},readableHighWaterMark:{__proto__:null,enumerable:!1,get:function(){return this._readableState.highWaterMark}},readableBuffer:{__proto__:null,enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}},readableFlowing:{__proto__:null,enumerable:!1,get:function(){return this._readableState.flowing},set:function(state){if(this._readableState)this._readableState.flowing=state}},readableLength:{__proto__:null,enumerable:!1,get(){return this._readableState.length}},readableObjectMode:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.objectMode:!1}},readableEncoding:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.encoding:null}},errored:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.errored:null}},closed:{__proto__:null,get(){return this._readableState?this._readableState.closed:!1}},destroyed:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.destroyed:!1},set(value){if(!this._readableState)return;this._readableState.destroyed=value}},readableEnded:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.endEmitted:!1}}});ObjectDefineProperties(ReadableState.prototype,{pipesCount:{__proto__:null,get(){return this.pipes.length}},paused:{__proto__:null,get(){return this[kPaused]!==!1},set(value){this[kPaused]=!!value}}});Readable._fromList=fromList;function fromList(n,state){if(state.length===0)return null;let ret;if(state.objectMode)ret=state.buffer.shift();else if(!n||n>=state.length){if(state.decoder)ret=state.buffer.join(\"\");else if(state.buffer.length===1)ret=state.buffer.first();else ret=state.buffer.concat(state.length);state.buffer.clear()}else ret=state.buffer.consume(n,state.decoder);return ret}function endReadable(stream){let state=stream._readableState;if(debug(\"endReadable\",state.endEmitted),!state.endEmitted)state.ended=!0,process.nextTick(endReadableNT,state,stream)}function endReadableNT(state,stream){if(debug(\"endReadableNT\",state.endEmitted,state.length),!state.errored&&!state.closeEmitted&&!state.endEmitted&&state.length===0){if(state.endEmitted=!0,stream.emit(\"end\"),stream.writable&&stream.allowHalfOpen===!1)process.nextTick(endWritableNT,stream);else if(state.autoDestroy){let wState=stream._writableState;if(!wState||wState.autoDestroy&&(wState.finished||wState.writable===!1))stream.destroy()}}}function endWritableNT(stream){if(stream.writable&&!stream.writableEnded&&!stream.destroyed)stream.end()}Readable.from=function(iterable,opts){return from(Readable,iterable,opts)};var webStreamsAdapters;function lazyWebStreams(){if(webStreamsAdapters===void 0)webStreamsAdapters={};return webStreamsAdapters}Readable.fromWeb=function(readableStream,options){return lazyWebStreams().newStreamReadableFromReadableStream(readableStream,options)};Readable.toWeb=function(streamReadable,options){return lazyWebStreams().newReadableStreamFromStreamReadable(streamReadable,options)};Readable.wrap=function(src,options){var _ref,_src$readableObjectMo;return new Readable({objectMode:(_ref=(_src$readableObjectMo=src.readableObjectMode)!==null&&_src$readableObjectMo!==void 0?_src$readableObjectMo:src.objectMode)!==null&&_ref!==void 0?_ref:!0,...options,destroy(err,callback){destroyImpl.destroyer(src,err),callback(err)}}).wrap(src)}});var require_writable=__commonJS((exports2,module2)=>{var process=require_process(),{ArrayPrototypeSlice,Error:Error2,FunctionPrototypeSymbolHasInstance,ObjectDefineProperty,ObjectDefineProperties,ObjectSetPrototypeOf,StringPrototypeToLowerCase,Symbol:Symbol2,SymbolHasInstance}=require_primordials();module2.exports=Writable;Writable.WritableState=WritableState;var{EventEmitter:EE}=require(\"events\"),Stream=require_legacy().Stream,{Buffer}=require(\"buffer\"),destroyImpl=require_destroy(),{addAbortSignal}=require_add_abort_signal(),{getHighWaterMark,getDefaultHighWaterMark}=require_state(),{ERR_INVALID_ARG_TYPE,ERR_METHOD_NOT_IMPLEMENTED,ERR_MULTIPLE_CALLBACK,ERR_STREAM_CANNOT_PIPE,ERR_STREAM_DESTROYED,ERR_STREAM_ALREADY_FINISHED,ERR_STREAM_NULL_VALUES,ERR_STREAM_WRITE_AFTER_END,ERR_UNKNOWN_ENCODING}=require_errors().codes,{errorOrDestroy}=destroyImpl;ObjectSetPrototypeOf(Writable.prototype,Stream.prototype);ObjectSetPrototypeOf(Writable,Stream);function nop(){}var kOnFinished=Symbol2(\"kOnFinished\");function WritableState(options,stream,isDuplex){if(typeof isDuplex!==\"boolean\")isDuplex=stream instanceof require_duplex();if(this.objectMode=!!(options&&options.objectMode),isDuplex)this.objectMode=this.objectMode||!!(options&&options.writableObjectMode);this.highWaterMark=options?getHighWaterMark(this,options,\"writableHighWaterMark\",isDuplex):getDefaultHighWaterMark(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;let noDecode=!!(options&&options.decodeStrings===!1);this.decodeStrings=!noDecode,this.defaultEncoding=options&&options.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=onwrite.bind(void 0,stream),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,resetBuffer(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!options||options.emitClose!==!1,this.autoDestroy=!options||options.autoDestroy!==!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[kOnFinished]=[]}function resetBuffer(state){state.buffered=[],state.bufferedIndex=0,state.allBuffers=!0,state.allNoop=!0}WritableState.prototype.getBuffer=function(){return ArrayPrototypeSlice(this.buffered,this.bufferedIndex)};ObjectDefineProperty(WritableState.prototype,\"bufferedRequestCount\",{__proto__:null,get(){return this.buffered.length-this.bufferedIndex}});function Writable(options){let isDuplex=this instanceof require_duplex();if(!isDuplex&&!FunctionPrototypeSymbolHasInstance(Writable,this))return new Writable(options);if(this._writableState=new WritableState(options,this,isDuplex),options){if(typeof options.write===\"function\")this._write=options.write;if(typeof options.writev===\"function\")this._writev=options.writev;if(typeof options.destroy===\"function\")this._destroy=options.destroy;if(typeof options.final===\"function\")this._final=options.final;if(typeof options.construct===\"function\")this._construct=options.construct;if(options.signal)addAbortSignal(options.signal,this)}Stream.call(this,options),destroyImpl.construct(this,()=>{let state=this._writableState;if(!state.writing)clearBuffer(this,state);finishMaybe(this,state)})}ObjectDefineProperty(Writable,SymbolHasInstance,{__proto__:null,value:function(object){if(FunctionPrototypeSymbolHasInstance(this,object))return!0;if(this!==Writable)return!1;return object&&object._writableState instanceof WritableState}});Writable.prototype.pipe=function(){errorOrDestroy(this,new ERR_STREAM_CANNOT_PIPE)};function _write(stream,chunk,encoding,cb){let state=stream._writableState;if(typeof encoding===\"function\")cb=encoding,encoding=state.defaultEncoding;else{if(!encoding)encoding=state.defaultEncoding;else if(encoding!==\"buffer\"&&!Buffer.isEncoding(encoding))throw new ERR_UNKNOWN_ENCODING(encoding);if(typeof cb!==\"function\")cb=nop}if(chunk===null)throw new ERR_STREAM_NULL_VALUES;else if(!state.objectMode)if(typeof chunk===\"string\"){if(state.decodeStrings!==!1)chunk=Buffer.from(chunk,encoding),encoding=\"buffer\"}else if(chunk instanceof Buffer)encoding=\"buffer\";else if(Stream._isUint8Array(chunk))chunk=Stream._uint8ArrayToBuffer(chunk),encoding=\"buffer\";else throw new ERR_INVALID_ARG_TYPE(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],chunk);let err;if(state.ending)err=new ERR_STREAM_WRITE_AFTER_END;else if(state.destroyed)err=new ERR_STREAM_DESTROYED(\"write\");if(err)return process.nextTick(cb,err),errorOrDestroy(stream,err,!0),err;return state.pendingcb++,writeOrBuffer(stream,state,chunk,encoding,cb)}Writable.prototype.write=function(chunk,encoding,cb){return _write(this,chunk,encoding,cb)===!0};Writable.prototype.cork=function(){this._writableState.corked++};Writable.prototype.uncork=function(){let state=this._writableState;if(state.corked){if(state.corked--,!state.writing)clearBuffer(this,state)}};Writable.prototype.setDefaultEncoding=function(encoding){if(typeof encoding===\"string\")encoding=StringPrototypeToLowerCase(encoding);if(!Buffer.isEncoding(encoding))throw new ERR_UNKNOWN_ENCODING(encoding);return this._writableState.defaultEncoding=encoding,this};function writeOrBuffer(stream,state,chunk,encoding,callback){let len=state.objectMode?1:chunk.length;state.length+=len;let ret=state.length<state.highWaterMark;if(!ret)state.needDrain=!0;if(state.writing||state.corked||state.errored||!state.constructed){if(state.buffered.push({chunk,encoding,callback}),state.allBuffers&&encoding!==\"buffer\")state.allBuffers=!1;if(state.allNoop&&callback!==nop)state.allNoop=!1}else state.writelen=len,state.writecb=callback,state.writing=!0,state.sync=!0,stream._write(chunk,encoding,state.onwrite),state.sync=!1;return ret&&!state.errored&&!state.destroyed}function doWrite(stream,state,writev,len,chunk,encoding,cb){if(state.writelen=len,state.writecb=cb,state.writing=!0,state.sync=!0,state.destroyed)state.onwrite(new ERR_STREAM_DESTROYED(\"write\"));else if(writev)stream._writev(chunk,state.onwrite);else stream._write(chunk,encoding,state.onwrite);state.sync=!1}function onwriteError(stream,state,er,cb){--state.pendingcb,cb(er),errorBuffer(state),errorOrDestroy(stream,er)}function onwrite(stream,er){let state=stream._writableState,sync=state.sync,cb=state.writecb;if(typeof cb!==\"function\"){errorOrDestroy(stream,new ERR_MULTIPLE_CALLBACK);return}if(state.writing=!1,state.writecb=null,state.length-=state.writelen,state.writelen=0,er){if(er.stack,!state.errored)state.errored=er;if(stream._readableState&&!stream._readableState.errored)stream._readableState.errored=er;if(sync)process.nextTick(onwriteError,stream,state,er,cb);else onwriteError(stream,state,er,cb)}else{if(state.buffered.length>state.bufferedIndex)clearBuffer(stream,state);if(sync)if(state.afterWriteTickInfo!==null&&state.afterWriteTickInfo.cb===cb)state.afterWriteTickInfo.count++;else state.afterWriteTickInfo={count:1,cb,stream,state},process.nextTick(afterWriteTick,state.afterWriteTickInfo);else afterWrite(stream,state,1,cb)}}function afterWriteTick({stream,state,count,cb}){return state.afterWriteTickInfo=null,afterWrite(stream,state,count,cb)}function afterWrite(stream,state,count,cb){if(!state.ending&&!stream.destroyed&&state.length===0&&state.needDrain)state.needDrain=!1,stream.emit(\"drain\");while(count-- >0)state.pendingcb--,cb();if(state.destroyed)errorBuffer(state);finishMaybe(stream,state)}function errorBuffer(state){if(state.writing)return;for(let n=state.bufferedIndex;n<state.buffered.length;++n){var _state$errored;let{chunk,callback}=state.buffered[n],len=state.objectMode?1:chunk.length;state.length-=len,callback((_state$errored=state.errored)!==null&&_state$errored!==void 0?_state$errored:new ERR_STREAM_DESTROYED(\"write\"))}let onfinishCallbacks=state[kOnFinished].splice(0);for(let i=0;i<onfinishCallbacks.length;i++){var _state$errored2;onfinishCallbacks[i]((_state$errored2=state.errored)!==null&&_state$errored2!==void 0?_state$errored2:new ERR_STREAM_DESTROYED(\"end\"))}resetBuffer(state)}function clearBuffer(stream,state){if(state.corked||state.bufferProcessing||state.destroyed||!state.constructed)return;let{buffered,bufferedIndex,objectMode}=state,bufferedLength=buffered.length-bufferedIndex;if(!bufferedLength)return;let i=bufferedIndex;if(state.bufferProcessing=!0,bufferedLength>1&&stream._writev){state.pendingcb-=bufferedLength-1;let callback=state.allNoop?nop:(err)=>{for(let n=i;n<buffered.length;++n)buffered[n].callback(err)},chunks=state.allNoop&&i===0?buffered:ArrayPrototypeSlice(buffered,i);chunks.allBuffers=state.allBuffers,doWrite(stream,state,!0,state.length,chunks,\"\",callback),resetBuffer(state)}else{do{let{chunk,encoding,callback}=buffered[i];buffered[i++]=null;let len=objectMode?1:chunk.length;doWrite(stream,state,!1,len,chunk,encoding,callback)}while(i<buffered.length&&!state.writing);if(i===buffered.length)resetBuffer(state);else if(i>256)buffered.splice(0,i),state.bufferedIndex=0;else state.bufferedIndex=i}state.bufferProcessing=!1}Writable.prototype._write=function(chunk,encoding,cb){if(this._writev)this._writev([{chunk,encoding}],cb);else throw new ERR_METHOD_NOT_IMPLEMENTED(\"_write()\")};Writable.prototype._writev=null;Writable.prototype.end=function(chunk,encoding,cb){let state=this._writableState;if(typeof chunk===\"function\")cb=chunk,chunk=null,encoding=null;else if(typeof encoding===\"function\")cb=encoding,encoding=null;let err;if(chunk!==null&&chunk!==void 0){let ret=_write(this,chunk,encoding);if(ret instanceof Error2)err=ret}if(state.corked)state.corked=1,this.uncork();if(err);else if(!state.errored&&!state.ending)state.ending=!0,finishMaybe(this,state,!0),state.ended=!0;else if(state.finished)err=new ERR_STREAM_ALREADY_FINISHED(\"end\");else if(state.destroyed)err=new ERR_STREAM_DESTROYED(\"end\");if(typeof cb===\"function\")if(err||state.finished)process.nextTick(cb,err);else state[kOnFinished].push(cb);return this};function needFinish(state){return state.ending&&!state.destroyed&&state.constructed&&state.length===0&&!state.errored&&state.buffered.length===0&&!state.finished&&!state.writing&&!state.errorEmitted&&!state.closeEmitted}function callFinal(stream,state){let called=!1;function onFinish(err){if(called){errorOrDestroy(stream,err!==null&&err!==void 0?err:ERR_MULTIPLE_CALLBACK());return}if(called=!0,state.pendingcb--,err){let onfinishCallbacks=state[kOnFinished].splice(0);for(let i=0;i<onfinishCallbacks.length;i++)onfinishCallbacks[i](err);errorOrDestroy(stream,err,state.sync)}else if(needFinish(state))state.prefinished=!0,stream.emit(\"prefinish\"),state.pendingcb++,process.nextTick(finish,stream,state)}state.sync=!0,state.pendingcb++;try{stream._final(onFinish)}catch(err){onFinish(err)}state.sync=!1}function prefinish(stream,state){if(!state.prefinished&&!state.finalCalled)if(typeof stream._final===\"function\"&&!state.destroyed)state.finalCalled=!0,callFinal(stream,state);else state.prefinished=!0,stream.emit(\"prefinish\")}function finishMaybe(stream,state,sync){if(needFinish(state)){if(prefinish(stream,state),state.pendingcb===0){if(sync)state.pendingcb++,process.nextTick((stream2,state2)=>{if(needFinish(state2))finish(stream2,state2);else state2.pendingcb--},stream,state);else if(needFinish(state))state.pendingcb++,finish(stream,state)}}}function finish(stream,state){state.pendingcb--,state.finished=!0;let onfinishCallbacks=state[kOnFinished].splice(0);for(let i=0;i<onfinishCallbacks.length;i++)onfinishCallbacks[i]();if(stream.emit(\"finish\"),state.autoDestroy){let rState=stream._readableState;if(!rState||rState.autoDestroy&&(rState.endEmitted||rState.readable===!1))stream.destroy()}}ObjectDefineProperties(Writable.prototype,{closed:{__proto__:null,get(){return this._writableState?this._writableState.closed:!1}},destroyed:{__proto__:null,get(){return this._writableState?this._writableState.destroyed:!1},set(value){if(this._writableState)this._writableState.destroyed=value}},writable:{__proto__:null,get(){let w=this._writableState;return!!w&&w.writable!==!1&&!w.destroyed&&!w.errored&&!w.ending&&!w.ended},set(val){if(this._writableState)this._writableState.writable=!!val}},writableFinished:{__proto__:null,get(){return this._writableState?this._writableState.finished:!1}},writableObjectMode:{__proto__:null,get(){return this._writableState?this._writableState.objectMode:!1}},writableBuffer:{__proto__:null,get(){return this._writableState&&this._writableState.getBuffer()}},writableEnded:{__proto__:null,get(){return this._writableState?this._writableState.ending:!1}},writableNeedDrain:{__proto__:null,get(){let wState=this._writableState;if(!wState)return!1;return!wState.destroyed&&!wState.ending&&wState.needDrain}},writableHighWaterMark:{__proto__:null,get(){return this._writableState&&this._writableState.highWaterMark}},writableCorked:{__proto__:null,get(){return this._writableState?this._writableState.corked:0}},writableLength:{__proto__:null,get(){return this._writableState&&this._writableState.length}},errored:{__proto__:null,enumerable:!1,get(){return this._writableState?this._writableState.errored:null}},writableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._writableState.writable!==!1&&(this._writableState.destroyed||this._writableState.errored)&&!this._writableState.finished)}}});var destroy=destroyImpl.destroy;Writable.prototype.destroy=function(err,cb){let state=this._writableState;if(!state.destroyed&&(state.bufferedIndex<state.buffered.length||state[kOnFinished].length))process.nextTick(errorBuffer,state);return destroy.call(this,err,cb),this};Writable.prototype._undestroy=destroyImpl.undestroy;Writable.prototype._destroy=function(err,cb){cb(err)};Writable.prototype[EE.captureRejectionSymbol]=function(err){this.destroy(err)};var webStreamsAdapters;function lazyWebStreams(){if(webStreamsAdapters===void 0)webStreamsAdapters={};return webStreamsAdapters}Writable.fromWeb=function(writableStream,options){return lazyWebStreams().newStreamWritableFromWritableStream(writableStream,options)};Writable.toWeb=function(streamWritable){return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable)}});var require_duplexify=__commonJS((exports2,module2)=>{var process=require_process(),bufferModule=require(\"buffer\"),{isReadable,isWritable,isIterable,isNodeStream,isReadableNodeStream,isWritableNodeStream,isDuplexNodeStream,isReadableStream,isWritableStream}=require_utils(),eos=require_end_of_stream(),{AbortError,codes:{ERR_INVALID_ARG_TYPE,ERR_INVALID_RETURN_VALUE}}=require_errors(),{destroyer}=require_destroy(),Duplex=require_duplex(),Readable=require_readable(),Writable=require_writable(),{createDeferredPromise}=require_util(),from=require_from(),Blob=globalThis.Blob||bufferModule.Blob,isBlob=typeof Blob<\"u\"?function(b){return b instanceof Blob}:function(b){return!1},AbortController=globalThis.AbortController||require_abort_controller().AbortController,{FunctionPrototypeCall}=require_primordials();class Duplexify extends Duplex{constructor(options){super(options);if((options===null||options===void 0?void 0:options.readable)===!1)this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0;if((options===null||options===void 0?void 0:options.writable)===!1)this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0}}module2.exports=function duplexify(body,name){if(isDuplexNodeStream(body))return body;if(isReadableNodeStream(body))return _duplexify({readable:body});if(isWritableNodeStream(body))return _duplexify({writable:body});if(isNodeStream(body))return _duplexify({writable:!1,readable:!1});if(isReadableStream(body))return _duplexify({readable:Readable.fromWeb(body)});if(isWritableStream(body))return _duplexify({writable:Writable.fromWeb(body)});if(typeof body===\"function\"){let{value,write,final,destroy}=fromAsyncGen(body);if(isIterable(value))return from(Duplexify,value,{objectMode:!0,write,final,destroy});let then2=value===null||value===void 0?void 0:value.then;if(typeof then2===\"function\"){let d,promise=FunctionPrototypeCall(then2,value,(val)=>{if(val!=null)throw new ERR_INVALID_RETURN_VALUE(\"nully\",\"body\",val)},(err)=>{destroyer(d,err)});return d=new Duplexify({objectMode:!0,readable:!1,write,final(cb){final(async()=>{try{await promise,process.nextTick(cb,null)}catch(err){process.nextTick(cb,err)}})},destroy})}throw new ERR_INVALID_RETURN_VALUE(\"Iterable, AsyncIterable or AsyncFunction\",name,value)}if(isBlob(body))return duplexify(body.arrayBuffer());if(isIterable(body))return from(Duplexify,body,{objectMode:!0,writable:!1});if(isReadableStream(body===null||body===void 0?void 0:body.readable)&&isWritableStream(body===null||body===void 0?void 0:body.writable))return Duplexify.fromWeb(body);if(typeof(body===null||body===void 0?void 0:body.writable)===\"object\"||typeof(body===null||body===void 0?void 0:body.readable)===\"object\"){let readable=body!==null&&body!==void 0&&body.readable?isReadableNodeStream(body===null||body===void 0?void 0:body.readable)?body===null||body===void 0?void 0:body.readable:duplexify(body.readable):void 0,writable=body!==null&&body!==void 0&&body.writable?isWritableNodeStream(body===null||body===void 0?void 0:body.writable)?body===null||body===void 0?void 0:body.writable:duplexify(body.writable):void 0;return _duplexify({readable,writable})}let then=body===null||body===void 0?void 0:body.then;if(typeof then===\"function\"){let d;return FunctionPrototypeCall(then,body,(val)=>{if(val!=null)d.push(val);d.push(null)},(err)=>{destroyer(d,err)}),d=new Duplexify({objectMode:!0,writable:!1,read(){}})}throw new ERR_INVALID_ARG_TYPE(name,[\"Blob\",\"ReadableStream\",\"WritableStream\",\"Stream\",\"Iterable\",\"AsyncIterable\",\"Function\",\"{ readable, writable } pair\",\"Promise\"],body)};function fromAsyncGen(fn){let{promise,resolve}=createDeferredPromise(),ac=new AbortController,signal=ac.signal;return{value:fn(async function*(){while(!0){let _promise=promise;promise=null;let{chunk,done,cb}=await _promise;if(process.nextTick(cb),done)return;if(signal.aborted)throw new AbortError(void 0,{cause:signal.reason});({promise,resolve}=createDeferredPromise()),yield chunk}}(),{signal}),write(chunk,encoding,cb){let _resolve=resolve;resolve=null,_resolve({chunk,done:!1,cb})},final(cb){let _resolve=resolve;resolve=null,_resolve({done:!0,cb})},destroy(err,cb){ac.abort(),cb(err)}}}function _duplexify(pair){let r=pair.readable&&typeof pair.readable.read!==\"function\"?Readable.wrap(pair.readable):pair.readable,w=pair.writable,readable=!!isReadable(r),writable=!!isWritable(w),ondrain,onfinish,onreadable,onclose,d;function onfinished(err){let cb=onclose;if(onclose=null,cb)cb(err);else if(err)d.destroy(err)}if(d=new Duplexify({readableObjectMode:!!(r!==null&&r!==void 0&&r.readableObjectMode),writableObjectMode:!!(w!==null&&w!==void 0&&w.writableObjectMode),readable,writable}),writable)eos(w,(err)=>{if(writable=!1,err)destroyer(r,err);onfinished(err)}),d._write=function(chunk,encoding,callback){if(w.write(chunk,encoding))callback();else ondrain=callback},d._final=function(callback){w.end(),onfinish=callback},w.on(\"drain\",function(){if(ondrain){let cb=ondrain;ondrain=null,cb()}}),w.on(\"finish\",function(){if(onfinish){let cb=onfinish;onfinish=null,cb()}});if(readable)eos(r,(err)=>{if(readable=!1,err)destroyer(r,err);onfinished(err)}),r.on(\"readable\",function(){if(onreadable){let cb=onreadable;onreadable=null,cb()}}),r.on(\"end\",function(){d.push(null)}),d._read=function(){while(!0){let buf=r.read();if(buf===null){onreadable=d._read;return}if(!d.push(buf))return}};return d._destroy=function(err,callback){if(!err&&onclose!==null)err=new AbortError;if(onreadable=null,ondrain=null,onfinish=null,onclose===null)callback(err);else onclose=callback,destroyer(w,err),destroyer(r,err)},d}});var require_duplex=__commonJS((exports2,module2)=>{var{ObjectDefineProperties,ObjectGetOwnPropertyDescriptor,ObjectKeys,ObjectSetPrototypeOf}=require_primordials();module2.exports=Duplex;var Readable=require_readable(),Writable=require_writable();ObjectSetPrototypeOf(Duplex.prototype,Readable.prototype);ObjectSetPrototypeOf(Duplex,Readable);{let keys=ObjectKeys(Writable.prototype);for(let i=0;i<keys.length;i++){let method=keys[i];if(!Duplex.prototype[method])Duplex.prototype[method]=Writable.prototype[method]}}function Duplex(options){if(!(this instanceof Duplex))return new Duplex(options);if(Readable.call(this,options),Writable.call(this,options),options){if(this.allowHalfOpen=options.allowHalfOpen!==!1,options.readable===!1)this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0;if(options.writable===!1)this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0}else this.allowHalfOpen=!0}ObjectDefineProperties(Duplex.prototype,{writable:{__proto__:null,...ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writable\")},writableHighWaterMark:{__proto__:null,...ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableHighWaterMark\")},writableObjectMode:{__proto__:null,...ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableObjectMode\")},writableBuffer:{__proto__:null,...ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableBuffer\")},writableLength:{__proto__:null,...ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableLength\")},writableFinished:{__proto__:null,...ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableFinished\")},writableCorked:{__proto__:null,...ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableCorked\")},writableEnded:{__proto__:null,...ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableEnded\")},writableNeedDrain:{__proto__:null,...ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableNeedDrain\")},destroyed:{__proto__:null,get(){if(this._readableState===void 0||this._writableState===void 0)return!1;return this._readableState.destroyed&&this._writableState.destroyed},set(value){if(this._readableState&&this._writableState)this._readableState.destroyed=value,this._writableState.destroyed=value}}});var webStreamsAdapters;function lazyWebStreams(){if(webStreamsAdapters===void 0)webStreamsAdapters={};return webStreamsAdapters}Duplex.fromWeb=function(pair,options){return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair,options)};Duplex.toWeb=function(duplex){return lazyWebStreams().newReadableWritablePairFromDuplex(duplex)};var duplexify;Duplex.from=function(body){if(!duplexify)duplexify=require_duplexify();return duplexify(body,\"body\")}});var require_transform=__commonJS((exports2,module2)=>{var{ObjectSetPrototypeOf,Symbol:Symbol2}=require_primordials();module2.exports=Transform;var{ERR_METHOD_NOT_IMPLEMENTED}=require_errors().codes,Duplex=require_duplex(),{getHighWaterMark}=require_state();ObjectSetPrototypeOf(Transform.prototype,Duplex.prototype);ObjectSetPrototypeOf(Transform,Duplex);var kCallback=Symbol2(\"kCallback\");function Transform(options){if(!(this instanceof Transform))return new Transform(options);let readableHighWaterMark=options?getHighWaterMark(this,options,\"readableHighWaterMark\",!0):null;if(readableHighWaterMark===0)options={...options,highWaterMark:null,readableHighWaterMark,writableHighWaterMark:options.writableHighWaterMark||0};if(Duplex.call(this,options),this._readableState.sync=!1,this[kCallback]=null,options){if(typeof options.transform===\"function\")this._transform=options.transform;if(typeof options.flush===\"function\")this._flush=options.flush}this.on(\"prefinish\",prefinish)}function final(cb){if(typeof this._flush===\"function\"&&!this.destroyed)this._flush((er,data)=>{if(er){if(cb)cb(er);else this.destroy(er);return}if(data!=null)this.push(data);if(this.push(null),cb)cb()});else if(this.push(null),cb)cb()}function prefinish(){if(this._final!==final)final.call(this)}Transform.prototype._final=final;Transform.prototype._transform=function(chunk,encoding,callback){throw new ERR_METHOD_NOT_IMPLEMENTED(\"_transform()\")};Transform.prototype._write=function(chunk,encoding,callback){let rState=this._readableState,wState=this._writableState,length=rState.length;this._transform(chunk,encoding,(err,val)=>{if(err){callback(err);return}if(val!=null)this.push(val);if(wState.ended||length===rState.length||rState.length<rState.highWaterMark)callback();else this[kCallback]=callback})};Transform.prototype._read=function(){if(this[kCallback]){let callback=this[kCallback];this[kCallback]=null,callback()}}});var require_passthrough=__commonJS((exports2,module2)=>{var{ObjectSetPrototypeOf}=require_primordials();module2.exports=PassThrough;var Transform=require_transform();ObjectSetPrototypeOf(PassThrough.prototype,Transform.prototype);ObjectSetPrototypeOf(PassThrough,Transform);function PassThrough(options){if(!(this instanceof PassThrough))return new PassThrough(options);Transform.call(this,options)}PassThrough.prototype._transform=function(chunk,encoding,cb){cb(null,chunk)}});var require_pipeline=__commonJS((exports2,module2)=>{var process=require_process(),{ArrayIsArray,Promise:Promise2,SymbolAsyncIterator,SymbolDispose}=require_primordials(),eos=require_end_of_stream(),{once}=require_util(),destroyImpl=require_destroy(),Duplex=require_duplex(),{aggregateTwoErrors,codes:{ERR_INVALID_ARG_TYPE,ERR_INVALID_RETURN_VALUE,ERR_MISSING_ARGS,ERR_STREAM_DESTROYED,ERR_STREAM_PREMATURE_CLOSE},AbortError}=require_errors(),{validateFunction,validateAbortSignal}=require_validators(),{isIterable,isReadable,isReadableNodeStream,isNodeStream,isTransformStream,isWebStream,isReadableStream,isReadableFinished}=require_utils(),AbortController=globalThis.AbortController||require_abort_controller().AbortController,PassThrough,Readable,addAbortListener;function destroyer(stream,reading,writing){let finished=!1;stream.on(\"close\",()=>{finished=!0});let cleanup=eos(stream,{readable:reading,writable:writing},(err)=>{finished=!err});return{destroy:(err)=>{if(finished)return;finished=!0,destroyImpl.destroyer(stream,err||new ERR_STREAM_DESTROYED(\"pipe\"))},cleanup}}function popCallback(streams){return validateFunction(streams[streams.length-1],\"streams[stream.length - 1]\"),streams.pop()}function makeAsyncIterable(val){if(isIterable(val))return val;else if(isReadableNodeStream(val))return fromReadable(val);throw new ERR_INVALID_ARG_TYPE(\"val\",[\"Readable\",\"Iterable\",\"AsyncIterable\"],val)}async function*fromReadable(val){if(!Readable)Readable=require_readable();yield*Readable.prototype[SymbolAsyncIterator].call(val)}async function pumpToNode(iterable,writable,finish,{end}){let error,onresolve=null,resume=(err)=>{if(err)error=err;if(onresolve){let callback=onresolve;onresolve=null,callback()}},wait=()=>new Promise2((resolve,reject)=>{if(error)reject(error);else onresolve=()=>{if(error)reject(error);else resolve()}});writable.on(\"drain\",resume);let cleanup=eos(writable,{readable:!1},resume);try{if(writable.writableNeedDrain)await wait();for await(let chunk of iterable)if(!writable.write(chunk))await wait();if(end)writable.end(),await wait();finish()}catch(err){finish(error!==err?aggregateTwoErrors(error,err):err)}finally{cleanup(),writable.off(\"drain\",resume)}}async function pumpToWeb(readable,writable,finish,{end}){if(isTransformStream(writable))writable=writable.writable;let writer=writable.getWriter();try{for await(let chunk of readable)await writer.ready,writer.write(chunk).catch(()=>{});if(await writer.ready,end)await writer.close();finish()}catch(err){try{await writer.abort(err),finish(err)}catch(err2){finish(err2)}}}function pipeline(...streams){return pipelineImpl(streams,once(popCallback(streams)))}function pipelineImpl(streams,callback,opts){if(streams.length===1&&ArrayIsArray(streams[0]))streams=streams[0];if(streams.length<2)throw new ERR_MISSING_ARGS(\"streams\");let ac=new AbortController,signal=ac.signal,outerSignal=opts===null||opts===void 0?void 0:opts.signal,lastStreamCleanup=[];validateAbortSignal(outerSignal,\"options.signal\");function abort(){finishImpl(new AbortError)}addAbortListener=addAbortListener||require_util().addAbortListener;let disposable;if(outerSignal)disposable=addAbortListener(outerSignal,abort);let error,value,destroys=[],finishCount=0;function finish(err){finishImpl(err,--finishCount===0)}function finishImpl(err,final){var _disposable;if(err&&(!error||error.code===\"ERR_STREAM_PREMATURE_CLOSE\"))error=err;if(!error&&!final)return;while(destroys.length)destroys.shift()(error);if((_disposable=disposable)===null||_disposable===void 0||_disposable[SymbolDispose](),ac.abort(),final){if(!error)lastStreamCleanup.forEach((fn)=>fn());process.nextTick(callback,error,value)}}let ret;for(let i=0;i<streams.length;i++){let stream=streams[i],reading=i<streams.length-1,writing=i>0,end=reading||(opts===null||opts===void 0?void 0:opts.end)!==!1,isLastStream=i===streams.length-1;if(isNodeStream(stream)){let onError2=function(err){if(err&&err.name!==\"AbortError\"&&err.code!==\"ERR_STREAM_PREMATURE_CLOSE\")finish(err)};var onError=onError2;if(end){let{destroy,cleanup}=destroyer(stream,reading,writing);if(destroys.push(destroy),isReadable(stream)&&isLastStream)lastStreamCleanup.push(cleanup)}if(stream.on(\"error\",onError2),isReadable(stream)&&isLastStream)lastStreamCleanup.push(()=>{stream.removeListener(\"error\",onError2)})}if(i===0)if(typeof stream===\"function\"){if(ret=stream({signal}),!isIterable(ret))throw new ERR_INVALID_RETURN_VALUE(\"Iterable, AsyncIterable or Stream\",\"source\",ret)}else if(isIterable(stream)||isReadableNodeStream(stream)||isTransformStream(stream))ret=stream;else ret=Duplex.from(stream);else if(typeof stream===\"function\"){if(isTransformStream(ret)){var _ret;ret=makeAsyncIterable((_ret=ret)===null||_ret===void 0?void 0:_ret.readable)}else ret=makeAsyncIterable(ret);if(ret=stream(ret,{signal}),reading){if(!isIterable(ret,!0))throw new ERR_INVALID_RETURN_VALUE(\"AsyncIterable\",`transform[${i-1}]`,ret)}else{var _ret2;if(!PassThrough)PassThrough=require_passthrough();let pt=new PassThrough({objectMode:!0}),then=(_ret2=ret)===null||_ret2===void 0?void 0:_ret2.then;if(typeof then===\"function\")finishCount++,then.call(ret,(val)=>{if(value=val,val!=null)pt.write(val);if(end)pt.end();process.nextTick(finish)},(err)=>{pt.destroy(err),process.nextTick(finish,err)});else if(isIterable(ret,!0))finishCount++,pumpToNode(ret,pt,finish,{end});else if(isReadableStream(ret)||isTransformStream(ret)){let toRead=ret.readable||ret;finishCount++,pumpToNode(toRead,pt,finish,{end})}else throw new ERR_INVALID_RETURN_VALUE(\"AsyncIterable or Promise\",\"destination\",ret);ret=pt;let{destroy,cleanup}=destroyer(ret,!1,!0);if(destroys.push(destroy),isLastStream)lastStreamCleanup.push(cleanup)}}else if(isNodeStream(stream)){if(isReadableNodeStream(ret)){finishCount+=2;let cleanup=pipe(ret,stream,finish,{end});if(isReadable(stream)&&isLastStream)lastStreamCleanup.push(cleanup)}else if(isTransformStream(ret)||isReadableStream(ret)){let toRead=ret.readable||ret;finishCount++,pumpToNode(toRead,stream,finish,{end})}else if(isIterable(ret))finishCount++,pumpToNode(ret,stream,finish,{end});else throw new ERR_INVALID_ARG_TYPE(\"val\",[\"Readable\",\"Iterable\",\"AsyncIterable\",\"ReadableStream\",\"TransformStream\"],ret);ret=stream}else if(isWebStream(stream)){if(isReadableNodeStream(ret))finishCount++,pumpToWeb(makeAsyncIterable(ret),stream,finish,{end});else if(isReadableStream(ret)||isIterable(ret))finishCount++,pumpToWeb(ret,stream,finish,{end});else if(isTransformStream(ret))finishCount++,pumpToWeb(ret.readable,stream,finish,{end});else throw new ERR_INVALID_ARG_TYPE(\"val\",[\"Readable\",\"Iterable\",\"AsyncIterable\",\"ReadableStream\",\"TransformStream\"],ret);ret=stream}else ret=Duplex.from(stream)}if(signal!==null&&signal!==void 0&&signal.aborted||outerSignal!==null&&outerSignal!==void 0&&outerSignal.aborted)process.nextTick(abort);return ret}function pipe(src,dst,finish,{end}){let ended=!1;if(dst.on(\"close\",()=>{if(!ended)finish(new ERR_STREAM_PREMATURE_CLOSE)}),src.pipe(dst,{end:!1}),end){let endFn2=function(){ended=!0,dst.end()};var endFn=endFn2;if(isReadableFinished(src))process.nextTick(endFn2);else src.once(\"end\",endFn2)}else finish();return eos(src,{readable:!0,writable:!1},(err)=>{let rState=src._readableState;if(err&&err.code===\"ERR_STREAM_PREMATURE_CLOSE\"&&rState&&rState.ended&&!rState.errored&&!rState.errorEmitted)src.once(\"end\",finish).once(\"error\",finish);else finish(err)}),eos(dst,{readable:!1,writable:!0},finish)}module2.exports={pipelineImpl,pipeline}});var require_compose=__commonJS((exports2,module2)=>{var{pipeline}=require_pipeline(),Duplex=require_duplex(),{destroyer}=require_destroy(),{isNodeStream,isReadable,isWritable,isWebStream,isTransformStream,isWritableStream,isReadableStream}=require_utils(),{AbortError,codes:{ERR_INVALID_ARG_VALUE,ERR_MISSING_ARGS}}=require_errors(),eos=require_end_of_stream();module2.exports=function(...streams){if(streams.length===0)throw new ERR_MISSING_ARGS(\"streams\");if(streams.length===1)return Duplex.from(streams[0]);let orgStreams=[...streams];if(typeof streams[0]===\"function\")streams[0]=Duplex.from(streams[0]);if(typeof streams[streams.length-1]===\"function\"){let idx=streams.length-1;streams[idx]=Duplex.from(streams[idx])}for(let n=0;n<streams.length;++n){if(!isNodeStream(streams[n])&&!isWebStream(streams[n]))continue;if(n<streams.length-1&&!(isReadable(streams[n])||isReadableStream(streams[n])||isTransformStream(streams[n])))throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`,orgStreams[n],\"must be readable\");if(n>0&&!(isWritable(streams[n])||isWritableStream(streams[n])||isTransformStream(streams[n])))throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`,orgStreams[n],\"must be writable\")}let ondrain,onfinish,onreadable,onclose,d;function onfinished(err){let cb=onclose;if(onclose=null,cb)cb(err);else if(err)d.destroy(err);else if(!readable&&!writable)d.destroy()}let head=streams[0],tail=pipeline(streams,onfinished),writable=!!(isWritable(head)||isWritableStream(head)||isTransformStream(head)),readable=!!(isReadable(tail)||isReadableStream(tail)||isTransformStream(tail));if(d=new Duplex({writableObjectMode:!!(head!==null&&head!==void 0&&head.writableObjectMode),readableObjectMode:!!(tail!==null&&tail!==void 0&&tail.readableObjectMode),writable,readable}),writable){if(isNodeStream(head))d._write=function(chunk,encoding,callback){if(head.write(chunk,encoding))callback();else ondrain=callback},d._final=function(callback){head.end(),onfinish=callback},head.on(\"drain\",function(){if(ondrain){let cb=ondrain;ondrain=null,cb()}});else if(isWebStream(head)){let writer=(isTransformStream(head)?head.writable:head).getWriter();d._write=async function(chunk,encoding,callback){try{await writer.ready,writer.write(chunk).catch(()=>{}),callback()}catch(err){callback(err)}},d._final=async function(callback){try{await writer.ready,writer.close().catch(()=>{}),onfinish=callback}catch(err){callback(err)}}}let toRead=isTransformStream(tail)?tail.readable:tail;eos(toRead,()=>{if(onfinish){let cb=onfinish;onfinish=null,cb()}})}if(readable){if(isNodeStream(tail))tail.on(\"readable\",function(){if(onreadable){let cb=onreadable;onreadable=null,cb()}}),tail.on(\"end\",function(){d.push(null)}),d._read=function(){while(!0){let buf=tail.read();if(buf===null){onreadable=d._read;return}if(!d.push(buf))return}};else if(isWebStream(tail)){let reader=(isTransformStream(tail)?tail.readable:tail).getReader();d._read=async function(){while(!0)try{let{value,done}=await reader.read();if(!d.push(value))return;if(done){d.push(null);return}}catch{return}}}}return d._destroy=function(err,callback){if(!err&&onclose!==null)err=new AbortError;if(onreadable=null,ondrain=null,onfinish=null,onclose===null)callback(err);else if(onclose=callback,isNodeStream(tail))destroyer(tail,err)},d}});var require_operators=__commonJS((exports2,module2)=>{var AbortController=globalThis.AbortController||require_abort_controller().AbortController,{codes:{ERR_INVALID_ARG_VALUE,ERR_INVALID_ARG_TYPE,ERR_MISSING_ARGS,ERR_OUT_OF_RANGE},AbortError}=require_errors(),{validateAbortSignal,validateInteger,validateObject}=require_validators(),kWeakHandler=require_primordials().Symbol(\"kWeak\"),kResistStopPropagation=require_primordials().Symbol(\"kResistStopPropagation\"),{finished}=require_end_of_stream(),staticCompose=require_compose(),{addAbortSignalNoValidate}=require_add_abort_signal(),{isWritable,isNodeStream}=require_utils(),{deprecate}=require_util(),{ArrayPrototypePush,Boolean:Boolean2,MathFloor,Number:Number2,NumberIsNaN,Promise:Promise2,PromiseReject,PromiseResolve,PromisePrototypeThen,Symbol:Symbol2}=require_primordials(),kEmpty=Symbol2(\"kEmpty\"),kEof=Symbol2(\"kEof\");function compose(stream,options){if(options!=null)validateObject(options,\"options\");if((options===null||options===void 0?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");if(isNodeStream(stream)&&!isWritable(stream))throw new ERR_INVALID_ARG_VALUE(\"stream\",stream,\"must be writable\");let composedStream=staticCompose(this,stream);if(options!==null&&options!==void 0&&options.signal)addAbortSignalNoValidate(options.signal,composedStream);return composedStream}function map(fn,options){if(typeof fn!==\"function\")throw new ERR_INVALID_ARG_TYPE(\"fn\",[\"Function\",\"AsyncFunction\"],fn);if(options!=null)validateObject(options,\"options\");if((options===null||options===void 0?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");let concurrency=1;if((options===null||options===void 0?void 0:options.concurrency)!=null)concurrency=MathFloor(options.concurrency);let highWaterMark=concurrency-1;if((options===null||options===void 0?void 0:options.highWaterMark)!=null)highWaterMark=MathFloor(options.highWaterMark);return validateInteger(concurrency,\"options.concurrency\",1),validateInteger(highWaterMark,\"options.highWaterMark\",0),highWaterMark+=concurrency,async function*(){let signal=require_util().AbortSignalAny([options===null||options===void 0?void 0:options.signal].filter(Boolean2)),stream=this,queue=[],signalOpt={signal},next,resume,done=!1,cnt=0;function onCatch(){done=!0,afterItemProcessed()}function afterItemProcessed(){cnt-=1,maybeResume()}function maybeResume(){if(resume&&!done&&cnt<concurrency&&queue.length<highWaterMark)resume(),resume=null}async function pump(){try{for await(let val of stream){if(done)return;if(signal.aborted)throw new AbortError;try{if(val=fn(val,signalOpt),val===kEmpty)continue;val=PromiseResolve(val)}catch(err){val=PromiseReject(err)}if(cnt+=1,PromisePrototypeThen(val,afterItemProcessed,onCatch),queue.push(val),next)next(),next=null;if(!done&&(queue.length>=highWaterMark||cnt>=concurrency))await new Promise2((resolve)=>{resume=resolve})}queue.push(kEof)}catch(err){let val=PromiseReject(err);PromisePrototypeThen(val,afterItemProcessed,onCatch),queue.push(val)}finally{if(done=!0,next)next(),next=null}}pump();try{while(!0){while(queue.length>0){let val=await queue[0];if(val===kEof)return;if(signal.aborted)throw new AbortError;if(val!==kEmpty)yield val;queue.shift(),maybeResume()}await new Promise2((resolve)=>{next=resolve})}}finally{if(done=!0,resume)resume(),resume=null}}.call(this)}function asIndexedPairs(options=void 0){if(options!=null)validateObject(options,\"options\");if((options===null||options===void 0?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");return async function*(){let index=0;for await(let val of this){var _options$signal;if(options!==null&&options!==void 0&&(_options$signal=options.signal)!==null&&_options$signal!==void 0&&_options$signal.aborted)throw new AbortError({cause:options.signal.reason});yield[index++,val]}}.call(this)}async function some(fn,options=void 0){for await(let unused of filter.call(this,fn,options))return!0;return!1}async function every(fn,options=void 0){if(typeof fn!==\"function\")throw new ERR_INVALID_ARG_TYPE(\"fn\",[\"Function\",\"AsyncFunction\"],fn);return!await some.call(this,async(...args)=>{return!await fn(...args)},options)}async function find(fn,options){for await(let result of filter.call(this,fn,options))return result;return}async function forEach(fn,options){if(typeof fn!==\"function\")throw new ERR_INVALID_ARG_TYPE(\"fn\",[\"Function\",\"AsyncFunction\"],fn);async function forEachFn(value,options2){return await fn(value,options2),kEmpty}for await(let unused of map.call(this,forEachFn,options));}function filter(fn,options){if(typeof fn!==\"function\")throw new ERR_INVALID_ARG_TYPE(\"fn\",[\"Function\",\"AsyncFunction\"],fn);async function filterFn(value,options2){if(await fn(value,options2))return value;return kEmpty}return map.call(this,filterFn,options)}class ReduceAwareErrMissingArgs extends ERR_MISSING_ARGS{constructor(){super(\"reduce\");this.message=\"Reduce of an empty stream requires an initial value\"}}async function reduce(reducer,initialValue,options){var _options$signal2;if(typeof reducer!==\"function\")throw new ERR_INVALID_ARG_TYPE(\"reducer\",[\"Function\",\"AsyncFunction\"],reducer);if(options!=null)validateObject(options,\"options\");if((options===null||options===void 0?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");let hasInitialValue=arguments.length>1;if(options!==null&&options!==void 0&&(_options$signal2=options.signal)!==null&&_options$signal2!==void 0&&_options$signal2.aborted){let err=new AbortError(void 0,{cause:options.signal.reason});throw this.once(\"error\",()=>{}),await finished(this.destroy(err)),err}let ac=new AbortController,signal=ac.signal;if(options!==null&&options!==void 0&&options.signal){let opts={once:!0,[kWeakHandler]:this,[kResistStopPropagation]:!0};options.signal.addEventListener(\"abort\",()=>ac.abort(),opts)}let gotAnyItemFromStream=!1;try{for await(let value of this){var _options$signal3;if(gotAnyItemFromStream=!0,options!==null&&options!==void 0&&(_options$signal3=options.signal)!==null&&_options$signal3!==void 0&&_options$signal3.aborted)throw new AbortError;if(!hasInitialValue)initialValue=value,hasInitialValue=!0;else initialValue=await reducer(initialValue,value,{signal})}if(!gotAnyItemFromStream&&!hasInitialValue)throw new ReduceAwareErrMissingArgs}finally{ac.abort()}return initialValue}async function toArray(options){if(options!=null)validateObject(options,\"options\");if((options===null||options===void 0?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");let result=[];for await(let val of this){var _options$signal4;if(options!==null&&options!==void 0&&(_options$signal4=options.signal)!==null&&_options$signal4!==void 0&&_options$signal4.aborted)throw new AbortError(void 0,{cause:options.signal.reason});ArrayPrototypePush(result,val)}return result}function flatMap(fn,options){let values=map.call(this,fn,options);return async function*(){for await(let val of values)yield*val}.call(this)}function toIntegerOrInfinity(number){if(number=Number2(number),NumberIsNaN(number))return 0;if(number<0)throw new ERR_OUT_OF_RANGE(\"number\",\">= 0\",number);return number}function drop(number,options=void 0){if(options!=null)validateObject(options,\"options\");if((options===null||options===void 0?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");return number=toIntegerOrInfinity(number),async function*(){var _options$signal5;if(options!==null&&options!==void 0&&(_options$signal5=options.signal)!==null&&_options$signal5!==void 0&&_options$signal5.aborted)throw new AbortError;for await(let val of this){var _options$signal6;if(options!==null&&options!==void 0&&(_options$signal6=options.signal)!==null&&_options$signal6!==void 0&&_options$signal6.aborted)throw new AbortError;if(number--<=0)yield val}}.call(this)}function take(number,options=void 0){if(options!=null)validateObject(options,\"options\");if((options===null||options===void 0?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");return number=toIntegerOrInfinity(number),async function*(){var _options$signal7;if(options!==null&&options!==void 0&&(_options$signal7=options.signal)!==null&&_options$signal7!==void 0&&_options$signal7.aborted)throw new AbortError;for await(let val of this){var _options$signal8;if(options!==null&&options!==void 0&&(_options$signal8=options.signal)!==null&&_options$signal8!==void 0&&_options$signal8.aborted)throw new AbortError;if(number-- >0)yield val;if(number<=0)return}}.call(this)}module2.exports.streamReturningOperators={asIndexedPairs:deprecate(asIndexedPairs,\"readable.asIndexedPairs will be removed in a future version.\"),drop,filter,flatMap,map,take,compose};module2.exports.promiseReturningOperators={every,forEach,reduce,toArray,some,find}});var require_promises=__commonJS((exports2,module2)=>{var{ArrayPrototypePop,Promise:Promise2}=require_primordials(),{isIterable,isNodeStream,isWebStream}=require_utils(),{pipelineImpl:pl}=require_pipeline(),{finished}=require_end_of_stream();require_stream();function pipeline(...streams){return new Promise2((resolve,reject)=>{let signal,end,lastArg=streams[streams.length-1];if(lastArg&&typeof lastArg===\"object\"&&!isNodeStream(lastArg)&&!isIterable(lastArg)&&!isWebStream(lastArg)){let options=ArrayPrototypePop(streams);signal=options.signal,end=options.end}pl(streams,(err,value)=>{if(err)reject(err);else resolve(value)},{signal,end})})}module2.exports={finished,pipeline}});var require_stream=__commonJS((exports2,module2)=>{var{Buffer}=require(\"buffer\"),{ObjectDefineProperty,ObjectKeys,ReflectApply}=require_primordials(),{promisify:{custom:customPromisify}}=require_util(),{streamReturningOperators,promiseReturningOperators}=require_operators(),{codes:{ERR_ILLEGAL_CONSTRUCTOR}}=require_errors(),compose=require_compose(),{setDefaultHighWaterMark,getDefaultHighWaterMark}=require_state(),{pipeline}=require_pipeline(),{destroyer}=require_destroy(),eos=require_end_of_stream(),promises=require_promises(),utils=require_utils(),Stream=module2.exports=require_legacy().Stream;Stream.isDestroyed=utils.isDestroyed;Stream.isDisturbed=utils.isDisturbed;Stream.isErrored=utils.isErrored;Stream.isReadable=utils.isReadable;Stream.isWritable=utils.isWritable;Stream.Readable=require_readable();for(let key of ObjectKeys(streamReturningOperators)){let fn=function(...args){if(new.target)throw ERR_ILLEGAL_CONSTRUCTOR();return Stream.Readable.from(ReflectApply(op,this,args))},op=streamReturningOperators[key];ObjectDefineProperty(fn,\"name\",{__proto__:null,value:op.name}),ObjectDefineProperty(fn,\"length\",{__proto__:null,value:op.length}),ObjectDefineProperty(Stream.Readable.prototype,key,{__proto__:null,value:fn,enumerable:!1,configurable:!0,writable:!0})}for(let key of ObjectKeys(promiseReturningOperators)){let fn=function(...args){if(new.target)throw ERR_ILLEGAL_CONSTRUCTOR();return ReflectApply(op,this,args)},op=promiseReturningOperators[key];ObjectDefineProperty(fn,\"name\",{__proto__:null,value:op.name}),ObjectDefineProperty(fn,\"length\",{__proto__:null,value:op.length}),ObjectDefineProperty(Stream.Readable.prototype,key,{__proto__:null,value:fn,enumerable:!1,configurable:!0,writable:!0})}Stream.Writable=require_writable();Stream.Duplex=require_duplex();Stream.Transform=require_transform();Stream.PassThrough=require_passthrough();Stream.pipeline=pipeline;var{addAbortSignal}=require_add_abort_signal();Stream.addAbortSignal=addAbortSignal;Stream.finished=eos;Stream.destroy=destroyer;Stream.compose=compose;Stream.setDefaultHighWaterMark=setDefaultHighWaterMark;Stream.getDefaultHighWaterMark=getDefaultHighWaterMark;ObjectDefineProperty(Stream,\"promises\",{__proto__:null,configurable:!0,enumerable:!0,get(){return promises}});ObjectDefineProperty(pipeline,customPromisify,{__proto__:null,enumerable:!0,get(){return promises.pipeline}});ObjectDefineProperty(eos,customPromisify,{__proto__:null,enumerable:!0,get(){return promises.finished}});Stream.Stream=Stream;Stream._isUint8Array=function(value){return value instanceof Uint8Array};Stream._uint8ArrayToBuffer=function(chunk){return Buffer.from(chunk.buffer,chunk.byteOffset,chunk.byteLength)}});var require_ours=__commonJS((exports2,module2)=>{var Stream=require(\"stream\");{let CustomStream=require_stream(),promises=require_promises(),originalDestroy=CustomStream.Readable.destroy;module2.exports=CustomStream.Readable,module2.exports._uint8ArrayToBuffer=CustomStream._uint8ArrayToBuffer,module2.exports._isUint8Array=CustomStream._isUint8Array,module2.exports.isDisturbed=CustomStream.isDisturbed,module2.exports.isErrored=CustomStream.isErrored,module2.exports.isReadable=CustomStream.isReadable,module2.exports.Readable=CustomStream.Readable,module2.exports.Writable=CustomStream.Writable,module2.exports.Duplex=CustomStream.Duplex,module2.exports.Transform=CustomStream.Transform,module2.exports.PassThrough=CustomStream.PassThrough,module2.exports.addAbortSignal=CustomStream.addAbortSignal,module2.exports.finished=CustomStream.finished,module2.exports.destroy=CustomStream.destroy,module2.exports.destroy=originalDestroy,module2.exports.pipeline=CustomStream.pipeline,module2.exports.compose=CustomStream.compose,Object.defineProperty(CustomStream,\"promises\",{configurable:!0,enumerable:!0,get(){return promises}}),module2.exports.Stream=CustomStream.Stream}module2.exports.default=module2.exports});module.exports=require_ours();",
|
|
9
|
+
"var __create=Object.create;var{getPrototypeOf:__getProtoOf,defineProperty:__defProp,getOwnPropertyNames:__getOwnPropNames}=Object;var __hasOwnProp=Object.prototype.hasOwnProperty;var __toESM=(mod,isNodeMode,target)=>{target=mod!=null?__create(__getProtoOf(mod)):{};let to=isNodeMode||!mod||!mod.__esModule?__defProp(target,\"default\",{value:mod,enumerable:!0}):target;for(let key of __getOwnPropNames(mod))if(!__hasOwnProp.call(to,key))__defProp(to,key,{get:()=>mod[key],enumerable:!0});return to};var __commonJS=(cb,mod)=>()=>(mod||cb((mod={exports:{}}).exports,mod),mod.exports);var __require=('');var require_randombytes=__commonJS((exports,module)=>{module.exports=require(\"crypto\").randomBytes});var require_create_hash=__commonJS((exports,module)=>{module.exports=require(\"crypto\").createHash});var require_create_hmac=__commonJS((exports,module)=>{module.exports=require(\"crypto\").createHmac});var require_algorithms=__commonJS((exports,module)=>{module.exports={sha224WithRSAEncryption:{sign:\"rsa\",hash:\"sha224\",id:\"302d300d06096086480165030402040500041c\"},\"RSA-SHA224\":{sign:\"ecdsa/rsa\",hash:\"sha224\",id:\"302d300d06096086480165030402040500041c\"},sha256WithRSAEncryption:{sign:\"rsa\",hash:\"sha256\",id:\"3031300d060960864801650304020105000420\"},\"RSA-SHA256\":{sign:\"ecdsa/rsa\",hash:\"sha256\",id:\"3031300d060960864801650304020105000420\"},sha384WithRSAEncryption:{sign:\"rsa\",hash:\"sha384\",id:\"3041300d060960864801650304020205000430\"},\"RSA-SHA384\":{sign:\"ecdsa/rsa\",hash:\"sha384\",id:\"3041300d060960864801650304020205000430\"},sha512WithRSAEncryption:{sign:\"rsa\",hash:\"sha512\",id:\"3051300d060960864801650304020305000440\"},\"RSA-SHA512\":{sign:\"ecdsa/rsa\",hash:\"sha512\",id:\"3051300d060960864801650304020305000440\"},\"RSA-SHA1\":{sign:\"rsa\",hash:\"sha1\",id:\"3021300906052b0e03021a05000414\"},\"ecdsa-with-SHA1\":{sign:\"ecdsa\",hash:\"sha1\",id:\"\"},sha256:{sign:\"ecdsa\",hash:\"sha256\",id:\"\"},sha224:{sign:\"ecdsa\",hash:\"sha224\",id:\"\"},sha384:{sign:\"ecdsa\",hash:\"sha384\",id:\"\"},sha512:{sign:\"ecdsa\",hash:\"sha512\",id:\"\"},\"DSA-SHA\":{sign:\"dsa\",hash:\"sha1\",id:\"\"},\"DSA-SHA1\":{sign:\"dsa\",hash:\"sha1\",id:\"\"},DSA:{sign:\"dsa\",hash:\"sha1\",id:\"\"},\"DSA-WITH-SHA224\":{sign:\"dsa\",hash:\"sha224\",id:\"\"},\"DSA-SHA224\":{sign:\"dsa\",hash:\"sha224\",id:\"\"},\"DSA-WITH-SHA256\":{sign:\"dsa\",hash:\"sha256\",id:\"\"},\"DSA-SHA256\":{sign:\"dsa\",hash:\"sha256\",id:\"\"},\"DSA-WITH-SHA384\":{sign:\"dsa\",hash:\"sha384\",id:\"\"},\"DSA-SHA384\":{sign:\"dsa\",hash:\"sha384\",id:\"\"},\"DSA-WITH-SHA512\":{sign:\"dsa\",hash:\"sha512\",id:\"\"},\"DSA-SHA512\":{sign:\"dsa\",hash:\"sha512\",id:\"\"},\"DSA-RIPEMD160\":{sign:\"dsa\",hash:\"rmd160\",id:\"\"},ripemd160WithRSA:{sign:\"rsa\",hash:\"rmd160\",id:\"3021300906052b2403020105000414\"},\"RSA-RIPEMD160\":{sign:\"rsa\",hash:\"rmd160\",id:\"3021300906052b2403020105000414\"},md5WithRSAEncryption:{sign:\"rsa\",hash:\"md5\",id:\"3020300c06082a864886f70d020505000410\"},\"RSA-MD5\":{sign:\"rsa\",hash:\"md5\",id:\"3020300c06082a864886f70d020505000410\"}}});var require_precondition=__commonJS((exports,module)=>{var $isFinite=isFinite,MAX_ALLOC=Math.pow(2,30)-1;module.exports=function(iterations,keylen){if(typeof iterations!==\"number\")throw TypeError(\"Iterations not a number\");if(iterations<0||!$isFinite(iterations))throw TypeError(\"Bad iterations\");if(typeof keylen!==\"number\")throw TypeError(\"Key length not a number\");if(keylen<0||keylen>MAX_ALLOC||keylen!==keylen)throw TypeError(\"Bad key length\")}});var require_default_encoding=__commonJS((exports,module)=>{var defaultEncoding;if(globalThis.process&&globalThis.process.browser)defaultEncoding=\"utf-8\";else if(globalThis.process&&globalThis.process.version)pVersionMajor=parseInt(process.version.split(\".\")[0].slice(1),10),defaultEncoding=pVersionMajor>=6?\"utf-8\":\"binary\";else defaultEncoding=\"utf-8\";var pVersionMajor;module.exports=defaultEncoding});var require_safe_buffer=__commonJS((exports,module)=>{/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */var buffer=require(\"buffer\"),Buffer2=buffer.Buffer;function copyProps(src,dst){for(var key in src)dst[key]=src[key]}if(Buffer2.from&&Buffer2.alloc&&Buffer2.allocUnsafe&&Buffer2.allocUnsafeSlow)module.exports=buffer;else copyProps(buffer,exports),exports.Buffer=SafeBuffer;function SafeBuffer(arg,encodingOrOffset,length){return Buffer2(arg,encodingOrOffset,length)}SafeBuffer.prototype=Object.create(Buffer2.prototype);copyProps(Buffer2,SafeBuffer);SafeBuffer.from=function(arg,encodingOrOffset,length){if(typeof arg===\"number\")throw TypeError(\"Argument must not be a number\");return Buffer2(arg,encodingOrOffset,length)};SafeBuffer.alloc=function(size,fill,encoding){if(typeof size!==\"number\")throw TypeError(\"Argument must be a number\");var buf=Buffer2(size);if(fill!==void 0)if(typeof encoding===\"string\")buf.fill(fill,encoding);else buf.fill(fill);else buf.fill(0);return buf};SafeBuffer.allocUnsafe=function(size){if(typeof size!==\"number\")throw TypeError(\"Argument must be a number\");return Buffer2(size)};SafeBuffer.allocUnsafeSlow=function(size){if(typeof size!==\"number\")throw TypeError(\"Argument must be a number\");return buffer.SlowBuffer(size)}});var require_isarray=__commonJS((exports,module)=>{var toString={}.toString;module.exports=Array.isArray||function(arr){return toString.call(arr)==\"[object Array]\"}});var require_type=__commonJS((exports,module)=>{module.exports=TypeError});var require_es_object_atoms=__commonJS((exports,module)=>{module.exports=Object});var require_es_errors=__commonJS((exports,module)=>{module.exports=Error});var require_eval=__commonJS((exports,module)=>{module.exports=EvalError});var require_range=__commonJS((exports,module)=>{module.exports=RangeError});var require_ref=__commonJS((exports,module)=>{module.exports=ReferenceError});var require_syntax=__commonJS((exports,module)=>{module.exports=SyntaxError});var require_uri=__commonJS((exports,module)=>{module.exports=URIError});var require_abs=__commonJS((exports,module)=>{module.exports=Math.abs});var require_floor=__commonJS((exports,module)=>{module.exports=Math.floor});var require_max=__commonJS((exports,module)=>{module.exports=Math.max});var require_min=__commonJS((exports,module)=>{module.exports=Math.min});var require_pow=__commonJS((exports,module)=>{module.exports=Math.pow});var require_round=__commonJS((exports,module)=>{module.exports=Math.round});var require_isNaN=__commonJS((exports,module)=>{module.exports=Number.isNaN||function(a){return a!==a}});var require_sign=__commonJS((exports,module)=>{var $isNaN=require_isNaN();module.exports=function(number){if($isNaN(number)||number===0)return number;return number<0?-1:1}});var require_gOPD=__commonJS((exports,module)=>{module.exports=Object.getOwnPropertyDescriptor});var require_gopd=__commonJS((exports,module)=>{var $gOPD=require_gOPD();if($gOPD)try{$gOPD([],\"length\")}catch(e){$gOPD=null}module.exports=$gOPD});var require_es_define_property=__commonJS((exports,module)=>{var $defineProperty=Object.defineProperty||!1;if($defineProperty)try{$defineProperty({},\"a\",{value:1})}catch(e){$defineProperty=!1}module.exports=$defineProperty});var require_shams=__commonJS((exports,module)=>{module.exports=function(){if(typeof Symbol!==\"function\"||typeof Object.getOwnPropertySymbols!==\"function\")return!1;if(typeof Symbol.iterator===\"symbol\")return!0;var obj={},sym=Symbol(\"test\"),symObj=Object(sym);if(typeof sym===\"string\")return!1;if(Object.prototype.toString.call(sym)!==\"[object Symbol]\")return!1;if(Object.prototype.toString.call(symObj)!==\"[object Symbol]\")return!1;var symVal=42;obj[sym]=symVal;for(var _ in obj)return!1;if(typeof Object.keys===\"function\"&&Object.keys(obj).length!==0)return!1;if(typeof Object.getOwnPropertyNames===\"function\"&&Object.getOwnPropertyNames(obj).length!==0)return!1;var syms=Object.getOwnPropertySymbols(obj);if(syms.length!==1||syms[0]!==sym)return!1;if(!Object.prototype.propertyIsEnumerable.call(obj,sym))return!1;if(typeof Object.getOwnPropertyDescriptor===\"function\"){var descriptor=Object.getOwnPropertyDescriptor(obj,sym);if(descriptor.value!==symVal||descriptor.enumerable!==!0)return!1}return!0}});var require_has_symbols=__commonJS((exports,module)=>{var origSymbol=typeof Symbol<\"u\"&&Symbol,hasSymbolSham=require_shams();module.exports=function(){if(typeof origSymbol!==\"function\")return!1;if(typeof Symbol!==\"function\")return!1;if(typeof origSymbol(\"foo\")!==\"symbol\")return!1;if(typeof Symbol(\"bar\")!==\"symbol\")return!1;return hasSymbolSham()}});var require_Reflect_getPrototypeOf=__commonJS((exports,module)=>{module.exports=typeof Reflect<\"u\"&&Reflect.getPrototypeOf||null});var require_Object_getPrototypeOf=__commonJS((exports,module)=>{var $Object=require_es_object_atoms();module.exports=$Object.getPrototypeOf||null});var require_implementation=__commonJS((exports,module)=>{var ERROR_MESSAGE=\"Function.prototype.bind called on incompatible \",toStr=Object.prototype.toString,max=Math.max,funcType=\"[object Function]\",concatty=function(a,b){var arr=[];for(var i=0;i<a.length;i+=1)arr[i]=a[i];for(var j=0;j<b.length;j+=1)arr[j+a.length]=b[j];return arr},slicy=function(arrLike,offset){var arr=[];for(var i=offset||0,j=0;i<arrLike.length;i+=1,j+=1)arr[j]=arrLike[i];return arr},joiny=function(arr,joiner){var str=\"\";for(var i=0;i<arr.length;i+=1)if(str+=arr[i],i+1<arr.length)str+=joiner;return str};module.exports=function(that){var target=this;if(typeof target!==\"function\"||toStr.apply(target)!==funcType)throw TypeError(ERROR_MESSAGE+target);var args=slicy(arguments,1),bound,binder=function(){if(this instanceof bound){var result=target.apply(this,concatty(args,arguments));if(Object(result)===result)return result;return this}return target.apply(that,concatty(args,arguments))},boundLength=max(0,target.length-args.length),boundArgs=[];for(var i=0;i<boundLength;i++)boundArgs[i]=\"$\"+i;if(bound=Function(\"binder\",\"return function (\"+joiny(boundArgs,\",\")+\"){ return binder.apply(this,arguments); }\")(binder),target.prototype){var Empty=function(){};Empty.prototype=target.prototype,bound.prototype=new Empty,Empty.prototype=null}return bound}});var require_function_bind=__commonJS((exports,module)=>{var implementation=require_implementation();module.exports=Function.prototype.bind||implementation});var require_functionCall=__commonJS((exports,module)=>{module.exports=Function.prototype.call});var require_functionApply=__commonJS((exports,module)=>{module.exports=Function.prototype.apply});var require_reflectApply=__commonJS((exports,module)=>{module.exports=typeof Reflect<\"u\"&&Reflect&&Reflect.apply});var require_actualApply=__commonJS((exports,module)=>{var bind=require_function_bind(),$apply=require_functionApply(),$call=require_functionCall(),$reflectApply=require_reflectApply();module.exports=$reflectApply||bind.call($call,$apply)});var require_call_bind_apply_helpers=__commonJS((exports,module)=>{var bind=require_function_bind(),$TypeError=require_type(),$call=require_functionCall(),$actualApply=require_actualApply();module.exports=function(args){if(args.length<1||typeof args[0]!==\"function\")throw new $TypeError(\"a function is required\");return $actualApply(bind,$call,args)}});var require_get=__commonJS((exports,module)=>{var callBind=require_call_bind_apply_helpers(),gOPD=require_gopd(),hasProtoAccessor;try{hasProtoAccessor=[].__proto__===Array.prototype}catch(e){if(!e||typeof e!==\"object\"||!(\"code\"in e)||e.code!==\"ERR_PROTO_ACCESS\")throw e}var desc=!!hasProtoAccessor&&gOPD&&gOPD(Object.prototype,\"__proto__\"),$Object=Object,$getPrototypeOf=$Object.getPrototypeOf;module.exports=desc&&typeof desc.get===\"function\"?callBind([desc.get]):typeof $getPrototypeOf===\"function\"?function(value){return $getPrototypeOf(value==null?value:$Object(value))}:!1});var require_get_proto=__commonJS((exports,module)=>{var reflectGetProto=require_Reflect_getPrototypeOf(),originalGetProto=require_Object_getPrototypeOf(),getDunderProto=require_get();module.exports=reflectGetProto?function(O){return reflectGetProto(O)}:originalGetProto?function(O){if(!O||typeof O!==\"object\"&&typeof O!==\"function\")throw TypeError(\"getProto: not an object\");return originalGetProto(O)}:getDunderProto?function(O){return getDunderProto(O)}:null});var require_hasown=__commonJS((exports,module)=>{var call=Function.prototype.call,$hasOwn=Object.prototype.hasOwnProperty,bind=require_function_bind();module.exports=bind.call(call,$hasOwn)});var require_get_intrinsic=__commonJS((exports,module)=>{var undefined2,$Object=require_es_object_atoms(),$Error=require_es_errors(),$EvalError=require_eval(),$RangeError=require_range(),$ReferenceError=require_ref(),$SyntaxError=require_syntax(),$TypeError=require_type(),$URIError=require_uri(),abs=require_abs(),floor=require_floor(),max=require_max(),min=require_min(),pow=require_pow(),round=require_round(),sign=require_sign(),$Function=Function,getEvalledConstructor=function(expressionSyntax){try{return $Function('\"use strict\"; return ('+expressionSyntax+\").constructor;\")()}catch(e){}},$gOPD=require_gopd(),$defineProperty=require_es_define_property(),throwTypeError=function(){throw new $TypeError},ThrowTypeError=$gOPD?function(){try{return arguments.callee,throwTypeError}catch(calleeThrows){try{return $gOPD(arguments,\"callee\").get}catch(gOPDthrows){return throwTypeError}}}():throwTypeError,hasSymbols=require_has_symbols()(),getProto=require_get_proto(),$ObjectGPO=require_Object_getPrototypeOf(),$ReflectGPO=require_Reflect_getPrototypeOf(),$apply=require_functionApply(),$call=require_functionCall(),needsEval={},TypedArray=typeof Uint8Array>\"u\"||!getProto?undefined2:getProto(Uint8Array),INTRINSICS={__proto__:null,\"%AggregateError%\":typeof AggregateError>\"u\"?undefined2:AggregateError,\"%Array%\":Array,\"%ArrayBuffer%\":typeof ArrayBuffer>\"u\"?undefined2:ArrayBuffer,\"%ArrayIteratorPrototype%\":hasSymbols&&getProto?getProto([][Symbol.iterator]()):undefined2,\"%AsyncFromSyncIteratorPrototype%\":undefined2,\"%AsyncFunction%\":needsEval,\"%AsyncGenerator%\":needsEval,\"%AsyncGeneratorFunction%\":needsEval,\"%AsyncIteratorPrototype%\":needsEval,\"%Atomics%\":typeof Atomics>\"u\"?undefined2:Atomics,\"%BigInt%\":typeof BigInt>\"u\"?undefined2:BigInt,\"%BigInt64Array%\":typeof BigInt64Array>\"u\"?undefined2:BigInt64Array,\"%BigUint64Array%\":typeof BigUint64Array>\"u\"?undefined2:BigUint64Array,\"%Boolean%\":Boolean,\"%DataView%\":typeof DataView>\"u\"?undefined2:DataView,\"%Date%\":Date,\"%decodeURI%\":decodeURI,\"%decodeURIComponent%\":decodeURIComponent,\"%encodeURI%\":encodeURI,\"%encodeURIComponent%\":encodeURIComponent,\"%Error%\":$Error,\"%eval%\":eval,\"%EvalError%\":$EvalError,\"%Float16Array%\":typeof Float16Array>\"u\"?undefined2:Float16Array,\"%Float32Array%\":typeof Float32Array>\"u\"?undefined2:Float32Array,\"%Float64Array%\":typeof Float64Array>\"u\"?undefined2:Float64Array,\"%FinalizationRegistry%\":typeof FinalizationRegistry>\"u\"?undefined2:FinalizationRegistry,\"%Function%\":$Function,\"%GeneratorFunction%\":needsEval,\"%Int8Array%\":typeof Int8Array>\"u\"?undefined2:Int8Array,\"%Int16Array%\":typeof Int16Array>\"u\"?undefined2:Int16Array,\"%Int32Array%\":typeof Int32Array>\"u\"?undefined2:Int32Array,\"%isFinite%\":isFinite,\"%isNaN%\":isNaN,\"%IteratorPrototype%\":hasSymbols&&getProto?getProto(getProto([][Symbol.iterator]())):undefined2,\"%JSON%\":typeof JSON===\"object\"?JSON:undefined2,\"%Map%\":typeof Map>\"u\"?undefined2:Map,\"%MapIteratorPrototype%\":typeof Map>\"u\"||!hasSymbols||!getProto?undefined2:getProto(new Map()[Symbol.iterator]()),\"%Math%\":Math,\"%Number%\":Number,\"%Object%\":$Object,\"%Object.getOwnPropertyDescriptor%\":$gOPD,\"%parseFloat%\":parseFloat,\"%parseInt%\":parseInt,\"%Promise%\":typeof Promise>\"u\"?undefined2:Promise,\"%Proxy%\":typeof Proxy>\"u\"?undefined2:Proxy,\"%RangeError%\":$RangeError,\"%ReferenceError%\":$ReferenceError,\"%Reflect%\":typeof Reflect>\"u\"?undefined2:Reflect,\"%RegExp%\":RegExp,\"%Set%\":typeof Set>\"u\"?undefined2:Set,\"%SetIteratorPrototype%\":typeof Set>\"u\"||!hasSymbols||!getProto?undefined2:getProto(new Set()[Symbol.iterator]()),\"%SharedArrayBuffer%\":typeof SharedArrayBuffer>\"u\"?undefined2:SharedArrayBuffer,\"%String%\":String,\"%StringIteratorPrototype%\":hasSymbols&&getProto?getProto(\"\"[Symbol.iterator]()):undefined2,\"%Symbol%\":hasSymbols?Symbol:undefined2,\"%SyntaxError%\":$SyntaxError,\"%ThrowTypeError%\":ThrowTypeError,\"%TypedArray%\":TypedArray,\"%TypeError%\":$TypeError,\"%Uint8Array%\":typeof Uint8Array>\"u\"?undefined2:Uint8Array,\"%Uint8ClampedArray%\":typeof Uint8ClampedArray>\"u\"?undefined2:Uint8ClampedArray,\"%Uint16Array%\":typeof Uint16Array>\"u\"?undefined2:Uint16Array,\"%Uint32Array%\":typeof Uint32Array>\"u\"?undefined2:Uint32Array,\"%URIError%\":$URIError,\"%WeakMap%\":typeof WeakMap>\"u\"?undefined2:WeakMap,\"%WeakRef%\":typeof WeakRef>\"u\"?undefined2:WeakRef,\"%WeakSet%\":typeof WeakSet>\"u\"?undefined2:WeakSet,\"%Function.prototype.call%\":$call,\"%Function.prototype.apply%\":$apply,\"%Object.defineProperty%\":$defineProperty,\"%Object.getPrototypeOf%\":$ObjectGPO,\"%Math.abs%\":abs,\"%Math.floor%\":floor,\"%Math.max%\":max,\"%Math.min%\":min,\"%Math.pow%\":pow,\"%Math.round%\":round,\"%Math.sign%\":sign,\"%Reflect.getPrototypeOf%\":$ReflectGPO};if(getProto)try{null.error}catch(e){errorProto=getProto(getProto(e)),INTRINSICS[\"%Error.prototype%\"]=errorProto}var errorProto,doEval=function doEval(name){var value;if(name===\"%AsyncFunction%\")value=getEvalledConstructor(\"async function () {}\");else if(name===\"%GeneratorFunction%\")value=getEvalledConstructor(\"function* () {}\");else if(name===\"%AsyncGeneratorFunction%\")value=getEvalledConstructor(\"async function* () {}\");else if(name===\"%AsyncGenerator%\"){var fn=doEval(\"%AsyncGeneratorFunction%\");if(fn)value=fn.prototype}else if(name===\"%AsyncIteratorPrototype%\"){var gen=doEval(\"%AsyncGenerator%\");if(gen&&getProto)value=getProto(gen.prototype)}return INTRINSICS[name]=value,value},LEGACY_ALIASES={__proto__:null,\"%ArrayBufferPrototype%\":[\"ArrayBuffer\",\"prototype\"],\"%ArrayPrototype%\":[\"Array\",\"prototype\"],\"%ArrayProto_entries%\":[\"Array\",\"prototype\",\"entries\"],\"%ArrayProto_forEach%\":[\"Array\",\"prototype\",\"forEach\"],\"%ArrayProto_keys%\":[\"Array\",\"prototype\",\"keys\"],\"%ArrayProto_values%\":[\"Array\",\"prototype\",\"values\"],\"%AsyncFunctionPrototype%\":[\"AsyncFunction\",\"prototype\"],\"%AsyncGenerator%\":[\"AsyncGeneratorFunction\",\"prototype\"],\"%AsyncGeneratorPrototype%\":[\"AsyncGeneratorFunction\",\"prototype\",\"prototype\"],\"%BooleanPrototype%\":[\"Boolean\",\"prototype\"],\"%DataViewPrototype%\":[\"DataView\",\"prototype\"],\"%DatePrototype%\":[\"Date\",\"prototype\"],\"%ErrorPrototype%\":[\"Error\",\"prototype\"],\"%EvalErrorPrototype%\":[\"EvalError\",\"prototype\"],\"%Float32ArrayPrototype%\":[\"Float32Array\",\"prototype\"],\"%Float64ArrayPrototype%\":[\"Float64Array\",\"prototype\"],\"%FunctionPrototype%\":[\"Function\",\"prototype\"],\"%Generator%\":[\"GeneratorFunction\",\"prototype\"],\"%GeneratorPrototype%\":[\"GeneratorFunction\",\"prototype\",\"prototype\"],\"%Int8ArrayPrototype%\":[\"Int8Array\",\"prototype\"],\"%Int16ArrayPrototype%\":[\"Int16Array\",\"prototype\"],\"%Int32ArrayPrototype%\":[\"Int32Array\",\"prototype\"],\"%JSONParse%\":[\"JSON\",\"parse\"],\"%JSONStringify%\":[\"JSON\",\"stringify\"],\"%MapPrototype%\":[\"Map\",\"prototype\"],\"%NumberPrototype%\":[\"Number\",\"prototype\"],\"%ObjectPrototype%\":[\"Object\",\"prototype\"],\"%ObjProto_toString%\":[\"Object\",\"prototype\",\"toString\"],\"%ObjProto_valueOf%\":[\"Object\",\"prototype\",\"valueOf\"],\"%PromisePrototype%\":[\"Promise\",\"prototype\"],\"%PromiseProto_then%\":[\"Promise\",\"prototype\",\"then\"],\"%Promise_all%\":[\"Promise\",\"all\"],\"%Promise_reject%\":[\"Promise\",\"reject\"],\"%Promise_resolve%\":[\"Promise\",\"resolve\"],\"%RangeErrorPrototype%\":[\"RangeError\",\"prototype\"],\"%ReferenceErrorPrototype%\":[\"ReferenceError\",\"prototype\"],\"%RegExpPrototype%\":[\"RegExp\",\"prototype\"],\"%SetPrototype%\":[\"Set\",\"prototype\"],\"%SharedArrayBufferPrototype%\":[\"SharedArrayBuffer\",\"prototype\"],\"%StringPrototype%\":[\"String\",\"prototype\"],\"%SymbolPrototype%\":[\"Symbol\",\"prototype\"],\"%SyntaxErrorPrototype%\":[\"SyntaxError\",\"prototype\"],\"%TypedArrayPrototype%\":[\"TypedArray\",\"prototype\"],\"%TypeErrorPrototype%\":[\"TypeError\",\"prototype\"],\"%Uint8ArrayPrototype%\":[\"Uint8Array\",\"prototype\"],\"%Uint8ClampedArrayPrototype%\":[\"Uint8ClampedArray\",\"prototype\"],\"%Uint16ArrayPrototype%\":[\"Uint16Array\",\"prototype\"],\"%Uint32ArrayPrototype%\":[\"Uint32Array\",\"prototype\"],\"%URIErrorPrototype%\":[\"URIError\",\"prototype\"],\"%WeakMapPrototype%\":[\"WeakMap\",\"prototype\"],\"%WeakSetPrototype%\":[\"WeakSet\",\"prototype\"]},bind=require_function_bind(),hasOwn=require_hasown(),$concat=bind.call($call,Array.prototype.concat),$spliceApply=bind.call($apply,Array.prototype.splice),$replace=bind.call($call,String.prototype.replace),$strSlice=bind.call($call,String.prototype.slice),$exec=bind.call($call,RegExp.prototype.exec),rePropName=/[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g,reEscapeChar=/\\\\(\\\\)?/g,stringToPath=function(string){var first=$strSlice(string,0,1),last=$strSlice(string,-1);if(first===\"%\"&&last!==\"%\")throw new $SyntaxError(\"invalid intrinsic syntax, expected closing `%`\");else if(last===\"%\"&&first!==\"%\")throw new $SyntaxError(\"invalid intrinsic syntax, expected opening `%`\");var result=[];return $replace(string,rePropName,function(match,number,quote,subString){result[result.length]=quote?$replace(subString,reEscapeChar,\"$1\"):number||match}),result},getBaseIntrinsic=function(name,allowMissing){var intrinsicName=name,alias;if(hasOwn(LEGACY_ALIASES,intrinsicName))alias=LEGACY_ALIASES[intrinsicName],intrinsicName=\"%\"+alias[0]+\"%\";if(hasOwn(INTRINSICS,intrinsicName)){var value=INTRINSICS[intrinsicName];if(value===needsEval)value=doEval(intrinsicName);if(typeof value>\"u\"&&!allowMissing)throw new $TypeError(\"intrinsic \"+name+\" exists, but is not available. Please file an issue!\");return{alias,name:intrinsicName,value}}throw new $SyntaxError(\"intrinsic \"+name+\" does not exist!\")};module.exports=function(name,allowMissing){if(typeof name!==\"string\"||name.length===0)throw new $TypeError(\"intrinsic name must be a non-empty string\");if(arguments.length>1&&typeof allowMissing!==\"boolean\")throw new $TypeError('\"allowMissing\" argument must be a boolean');if($exec(/^%?[^%]*%?$/,name)===null)throw new $SyntaxError(\"`%` may not be present anywhere but at the beginning and end of the intrinsic name\");var parts=stringToPath(name),intrinsicBaseName=parts.length>0?parts[0]:\"\",intrinsic=getBaseIntrinsic(\"%\"+intrinsicBaseName+\"%\",allowMissing),intrinsicRealName=intrinsic.name,value=intrinsic.value,skipFurtherCaching=!1,alias=intrinsic.alias;if(alias)intrinsicBaseName=alias[0],$spliceApply(parts,$concat([0,1],alias));for(var i=1,isOwn=!0;i<parts.length;i+=1){var part=parts[i],first=$strSlice(part,0,1),last=$strSlice(part,-1);if((first==='\"'||first===\"'\"||first===\"`\"||(last==='\"'||last===\"'\"||last===\"`\"))&&first!==last)throw new $SyntaxError(\"property names with quotes must have matching quotes\");if(part===\"constructor\"||!isOwn)skipFurtherCaching=!0;if(intrinsicBaseName+=\".\"+part,intrinsicRealName=\"%\"+intrinsicBaseName+\"%\",hasOwn(INTRINSICS,intrinsicRealName))value=INTRINSICS[intrinsicRealName];else if(value!=null){if(!(part in value)){if(!allowMissing)throw new $TypeError(\"base intrinsic for \"+name+\" exists, but the property is not available.\");return}if($gOPD&&i+1>=parts.length){var desc=$gOPD(value,part);if(isOwn=!!desc,isOwn&&\"get\"in desc&&!(\"originalValue\"in desc.get))value=desc.get;else value=value[part]}else isOwn=hasOwn(value,part),value=value[part];if(isOwn&&!skipFurtherCaching)INTRINSICS[intrinsicRealName]=value}}return value}});var require_call_bound=__commonJS((exports,module)=>{var GetIntrinsic=require_get_intrinsic(),callBindBasic=require_call_bind_apply_helpers(),$indexOf=callBindBasic([GetIntrinsic(\"%String.prototype.indexOf%\")]);module.exports=function(name,allowMissing){var intrinsic=GetIntrinsic(name,!!allowMissing);if(typeof intrinsic===\"function\"&&$indexOf(name,\".prototype.\")>-1)return callBindBasic([intrinsic]);return intrinsic}});var require_is_callable=__commonJS((exports,module)=>{var fnToStr=Function.prototype.toString,reflectApply=typeof Reflect===\"object\"&&Reflect!==null&&Reflect.apply,badArrayLike,isCallableMarker;if(typeof reflectApply===\"function\"&&typeof Object.defineProperty===\"function\")try{badArrayLike=Object.defineProperty({},\"length\",{get:function(){throw isCallableMarker}}),isCallableMarker={},reflectApply(function(){throw 42},null,badArrayLike)}catch(_){if(_!==isCallableMarker)reflectApply=null}else reflectApply=null;var constructorRegex=/^\\s*class\\b/,isES6ClassFn=function(value){try{var fnStr=fnToStr.call(value);return constructorRegex.test(fnStr)}catch(e){return!1}},tryFunctionObject=function(value){try{if(isES6ClassFn(value))return!1;return fnToStr.call(value),!0}catch(e){return!1}},toStr=Object.prototype.toString,objectClass=\"[object Object]\",fnClass=\"[object Function]\",genClass=\"[object GeneratorFunction]\",ddaClass=\"[object HTMLAllCollection]\",ddaClass2=\"[object HTML document.all class]\",ddaClass3=\"[object HTMLCollection]\",hasToStringTag=typeof Symbol===\"function\"&&!!Symbol.toStringTag,isIE68=!(0 in[,]),isDDA=function(){return!1};if(typeof document===\"object\"){if(all=document.all,toStr.call(all)===toStr.call(document.all))isDDA=function(value){if((isIE68||!value)&&(typeof value>\"u\"||typeof value===\"object\"))try{var str=toStr.call(value);return(str===ddaClass||str===ddaClass2||str===ddaClass3||str===objectClass)&&value(\"\")==null}catch(e){}return!1}}var all;module.exports=reflectApply?function(value){if(isDDA(value))return!0;if(!value)return!1;if(typeof value!==\"function\"&&typeof value!==\"object\")return!1;try{reflectApply(value,null,badArrayLike)}catch(e){if(e!==isCallableMarker)return!1}return!isES6ClassFn(value)&&tryFunctionObject(value)}:function(value){if(isDDA(value))return!0;if(!value)return!1;if(typeof value!==\"function\"&&typeof value!==\"object\")return!1;if(hasToStringTag)return tryFunctionObject(value);if(isES6ClassFn(value))return!1;var strClass=toStr.call(value);if(strClass!==fnClass&&strClass!==genClass&&!/^\\[object HTML/.test(strClass))return!1;return tryFunctionObject(value)}});var require_for_each=__commonJS((exports,module)=>{var isCallable=require_is_callable(),toStr=Object.prototype.toString,hasOwnProperty=Object.prototype.hasOwnProperty,forEachArray=function(array,iterator,receiver){for(var i=0,len=array.length;i<len;i++)if(hasOwnProperty.call(array,i))if(receiver==null)iterator(array[i],i,array);else iterator.call(receiver,array[i],i,array)},forEachString=function(string,iterator,receiver){for(var i=0,len=string.length;i<len;i++)if(receiver==null)iterator(string.charAt(i),i,string);else iterator.call(receiver,string.charAt(i),i,string)},forEachObject=function(object,iterator,receiver){for(var k in object)if(hasOwnProperty.call(object,k))if(receiver==null)iterator(object[k],k,object);else iterator.call(receiver,object[k],k,object)};function isArray(x){return toStr.call(x)===\"[object Array]\"}module.exports=function(list,iterator,thisArg){if(!isCallable(iterator))throw TypeError(\"iterator must be a function\");var receiver;if(arguments.length>=3)receiver=thisArg;if(isArray(list))forEachArray(list,iterator,receiver);else if(typeof list===\"string\")forEachString(list,iterator,receiver);else forEachObject(list,iterator,receiver)}});var require_possible_typed_array_names=__commonJS((exports,module)=>{module.exports=[\"Float16Array\",\"Float32Array\",\"Float64Array\",\"Int8Array\",\"Int16Array\",\"Int32Array\",\"Uint8Array\",\"Uint8ClampedArray\",\"Uint16Array\",\"Uint32Array\",\"BigInt64Array\",\"BigUint64Array\"]});var require_available_typed_arrays=__commonJS((exports,module)=>{var possibleNames=require_possible_typed_array_names(),g=typeof globalThis>\"u\"?globalThis:globalThis;module.exports=function(){var out=[];for(var i=0;i<possibleNames.length;i++)if(typeof g[possibleNames[i]]===\"function\")out[out.length]=possibleNames[i];return out}});var require_define_data_property=__commonJS((exports,module)=>{var $defineProperty=require_es_define_property(),$SyntaxError=require_syntax(),$TypeError=require_type(),gopd=require_gopd();module.exports=function(obj,property,value){if(!obj||typeof obj!==\"object\"&&typeof obj!==\"function\")throw new $TypeError(\"`obj` must be an object or a function`\");if(typeof property!==\"string\"&&typeof property!==\"symbol\")throw new $TypeError(\"`property` must be a string or a symbol`\");if(arguments.length>3&&typeof arguments[3]!==\"boolean\"&&arguments[3]!==null)throw new $TypeError(\"`nonEnumerable`, if provided, must be a boolean or null\");if(arguments.length>4&&typeof arguments[4]!==\"boolean\"&&arguments[4]!==null)throw new $TypeError(\"`nonWritable`, if provided, must be a boolean or null\");if(arguments.length>5&&typeof arguments[5]!==\"boolean\"&&arguments[5]!==null)throw new $TypeError(\"`nonConfigurable`, if provided, must be a boolean or null\");if(arguments.length>6&&typeof arguments[6]!==\"boolean\")throw new $TypeError(\"`loose`, if provided, must be a boolean\");var nonEnumerable=arguments.length>3?arguments[3]:null,nonWritable=arguments.length>4?arguments[4]:null,nonConfigurable=arguments.length>5?arguments[5]:null,loose=arguments.length>6?arguments[6]:!1,desc=!!gopd&&gopd(obj,property);if($defineProperty)$defineProperty(obj,property,{configurable:nonConfigurable===null&&desc?desc.configurable:!nonConfigurable,enumerable:nonEnumerable===null&&desc?desc.enumerable:!nonEnumerable,value,writable:nonWritable===null&&desc?desc.writable:!nonWritable});else if(loose||!nonEnumerable&&!nonWritable&&!nonConfigurable)obj[property]=value;else throw new $SyntaxError(\"This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.\")}});var require_has_property_descriptors=__commonJS((exports,module)=>{var $defineProperty=require_es_define_property(),hasPropertyDescriptors=function(){return!!$defineProperty};hasPropertyDescriptors.hasArrayLengthDefineBug=function(){if(!$defineProperty)return null;try{return $defineProperty([],\"length\",{value:1}).length!==1}catch(e){return!0}};module.exports=hasPropertyDescriptors});var require_set_function_length=__commonJS((exports,module)=>{var GetIntrinsic=require_get_intrinsic(),define=require_define_data_property(),hasDescriptors=require_has_property_descriptors()(),gOPD=require_gopd(),$TypeError=require_type(),$floor=GetIntrinsic(\"%Math.floor%\");module.exports=function(fn,length){if(typeof fn!==\"function\")throw new $TypeError(\"`fn` is not a function\");if(typeof length!==\"number\"||length<0||length>4294967295||$floor(length)!==length)throw new $TypeError(\"`length` must be a positive 32-bit integer\");var loose=arguments.length>2&&!!arguments[2],functionLengthIsConfigurable=!0,functionLengthIsWritable=!0;if(\"length\"in fn&&gOPD){var desc=gOPD(fn,\"length\");if(desc&&!desc.configurable)functionLengthIsConfigurable=!1;if(desc&&!desc.writable)functionLengthIsWritable=!1}if(functionLengthIsConfigurable||functionLengthIsWritable||!loose)if(hasDescriptors)define(fn,\"length\",length,!0,!0);else define(fn,\"length\",length);return fn}});var require_applyBind=__commonJS((exports,module)=>{var bind=require_function_bind(),$apply=require_functionApply(),actualApply=require_actualApply();module.exports=function(){return actualApply(bind,$apply,arguments)}});var require_call_bind=__commonJS((exports,module)=>{var setFunctionLength=require_set_function_length(),$defineProperty=require_es_define_property(),callBindBasic=require_call_bind_apply_helpers(),applyBind=require_applyBind();module.exports=function(originalFunction){var func=callBindBasic(arguments),adjustedLength=originalFunction.length-(arguments.length-1);return setFunctionLength(func,1+(adjustedLength>0?adjustedLength:0),!0)};if($defineProperty)$defineProperty(module.exports,\"apply\",{value:applyBind});else module.exports.apply=applyBind});var require_shams2=__commonJS((exports,module)=>{var hasSymbols=require_shams();module.exports=function(){return hasSymbols()&&!!Symbol.toStringTag}});var require_which_typed_array=__commonJS((exports,module)=>{var forEach=require_for_each(),availableTypedArrays=require_available_typed_arrays(),callBind=require_call_bind(),callBound=require_call_bound(),gOPD=require_gopd(),getProto=require_get_proto(),$toString=callBound(\"Object.prototype.toString\"),hasToStringTag=require_shams2()(),g=typeof globalThis>\"u\"?globalThis:globalThis,typedArrays=availableTypedArrays(),$slice=callBound(\"String.prototype.slice\"),$indexOf=callBound(\"Array.prototype.indexOf\",!0)||function(array,value){for(var i=0;i<array.length;i+=1)if(array[i]===value)return i;return-1},cache={__proto__:null};if(hasToStringTag&&gOPD&&getProto)forEach(typedArrays,function(typedArray){var arr=new g[typedArray];if(Symbol.toStringTag in arr&&getProto){var proto=getProto(arr),descriptor=gOPD(proto,Symbol.toStringTag);if(!descriptor&&proto){var superProto=getProto(proto);descriptor=gOPD(superProto,Symbol.toStringTag)}cache[\"$\"+typedArray]=callBind(descriptor.get)}});else forEach(typedArrays,function(typedArray){var arr=new g[typedArray],fn=arr.slice||arr.set;if(fn)cache[\"$\"+typedArray]=callBind(fn)});var tryTypedArrays=function(value){var found=!1;return forEach(cache,function(getter,typedArray){if(!found)try{if(\"$\"+getter(value)===typedArray)found=$slice(typedArray,1)}catch(e){}}),found},trySlices=function(value){var found=!1;return forEach(cache,function(getter,name){if(!found)try{getter(value),found=$slice(name,1)}catch(e){}}),found};module.exports=function(value){if(!value||typeof value!==\"object\")return!1;if(!hasToStringTag){var tag=$slice($toString(value),8,-1);if($indexOf(typedArrays,tag)>-1)return tag;if(tag!==\"Object\")return!1;return trySlices(value)}if(!gOPD)return null;return tryTypedArrays(value)}});var require_is_typed_array=__commonJS((exports,module)=>{var whichTypedArray=require_which_typed_array();module.exports=function(value){return!!whichTypedArray(value)}});var require_typed_array_buffer=__commonJS((exports,module)=>{var $TypeError=require_type(),callBound=require_call_bound(),$typedArrayBuffer=callBound(\"TypedArray.prototype.buffer\",!0),isTypedArray=require_is_typed_array();module.exports=$typedArrayBuffer||function(x){if(!isTypedArray(x))throw new $TypeError(\"Not a Typed Array\");return x.buffer}});var require_to_buffer=__commonJS((exports,module)=>{var Buffer2=require_safe_buffer().Buffer,isArray=require_isarray(),typedArrayBuffer=require_typed_array_buffer(),isView=ArrayBuffer.isView||function(obj){try{return typedArrayBuffer(obj),!0}catch(e){return!1}},useUint8Array=typeof Uint8Array<\"u\",useArrayBuffer=typeof ArrayBuffer<\"u\"&&typeof Uint8Array<\"u\",useFromArrayBuffer=useArrayBuffer&&(Buffer2.prototype instanceof Uint8Array||Buffer2.TYPED_ARRAY_SUPPORT);module.exports=function(data,encoding){if(Buffer2.isBuffer(data)){if(data.constructor&&!(\"isBuffer\"in data))return Buffer2.from(data);return data}if(typeof data===\"string\")return Buffer2.from(data,encoding);if(useArrayBuffer&&isView(data)){if(data.byteLength===0)return Buffer2.alloc(0);if(useFromArrayBuffer){var res=Buffer2.from(data.buffer,data.byteOffset,data.byteLength);if(res.byteLength===data.byteLength)return res}var uint8=data instanceof Uint8Array?data:new Uint8Array(data.buffer,data.byteOffset,data.byteLength),result=Buffer2.from(uint8);if(result.length===data.byteLength)return result}if(useUint8Array&&data instanceof Uint8Array)return Buffer2.from(data);var isArr=isArray(data);if(isArr)for(var i=0;i<data.length;i+=1){var x=data[i];if(typeof x!==\"number\"||x<0||x>255||~~x!==x)throw RangeError(\"Array items must be numbers in the range 0-255.\")}if(isArr||Buffer2.isBuffer(data)&&data.constructor&&typeof data.constructor.isBuffer===\"function\"&&data.constructor.isBuffer(data))return Buffer2.from(data);throw TypeError('The \"data\" argument must be a string, an Array, a Buffer, a Uint8Array, or a DataView.')}});var require_to_buffer2=__commonJS((exports,module)=>{var Buffer2=require_safe_buffer().Buffer,toBuffer=require_to_buffer(),useUint8Array=typeof Uint8Array<\"u\",useArrayBuffer=useUint8Array&&typeof ArrayBuffer<\"u\",isView=useArrayBuffer&&ArrayBuffer.isView;module.exports=function(thing,encoding,name){if(typeof thing===\"string\"||Buffer2.isBuffer(thing)||useUint8Array&&thing instanceof Uint8Array||isView&&isView(thing))return toBuffer(thing,encoding);throw TypeError(name+\" must be a string, a Buffer, a Uint8Array, or a DataView\")}});var require_sync=__commonJS((exports,module)=>{var sizes={__proto__:null,md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,\"sha512-256\":32,rmd160:20,ripemd160:20},mapping={__proto__:null,\"sha-1\":\"sha1\",\"sha-224\":\"sha224\",\"sha-256\":\"sha256\",\"sha-384\":\"sha384\",\"sha-512\":\"sha512\",\"ripemd-160\":\"ripemd160\"},createHmac=require_create_hmac(),Buffer2=require_safe_buffer().Buffer,checkParameters=require_precondition(),defaultEncoding=require_default_encoding(),toBuffer=require_to_buffer2();function pbkdf2(password,salt,iterations,keylen,digest){checkParameters(iterations,keylen),password=toBuffer(password,defaultEncoding,\"Password\"),salt=toBuffer(salt,defaultEncoding,\"Salt\");var lowerDigest=(digest||\"sha1\").toLowerCase(),mappedDigest=mapping[lowerDigest]||lowerDigest,size=sizes[mappedDigest];if(typeof size!==\"number\"||!size)throw TypeError(\"Digest algorithm not supported: \"+digest);var DK=Buffer2.allocUnsafe(keylen),block1=Buffer2.allocUnsafe(salt.length+4);salt.copy(block1,0,0,salt.length);var destPos=0,hLen=size,l=Math.ceil(keylen/hLen);for(var i=1;i<=l;i++){block1.writeUInt32BE(i,salt.length);var T=createHmac(mappedDigest,password).update(block1).digest(),U=T;for(var j=1;j<iterations;j++){U=createHmac(mappedDigest,password).update(U).digest();for(var k=0;k<hLen;k++)T[k]^=U[k]}T.copy(DK,destPos),destPos+=hLen}return DK}module.exports=pbkdf2});var require_async=__commonJS((exports,module)=>{var Buffer2=require_safe_buffer().Buffer,checkParameters=require_precondition(),defaultEncoding=require_default_encoding(),sync=require_sync(),toBuffer=require_to_buffer2(),ZERO_BUF,subtle=globalThis.crypto&&globalThis.crypto.subtle,toBrowser={sha:\"SHA-1\",\"sha-1\":\"SHA-1\",sha1:\"SHA-1\",sha256:\"SHA-256\",\"sha-256\":\"SHA-256\",sha384:\"SHA-384\",\"sha-384\":\"SHA-384\",\"sha-512\":\"SHA-512\",sha512:\"SHA-512\"},checks=[],nextTick;function getNextTick(){if(nextTick)return nextTick;if(globalThis.process&&globalThis.process.nextTick)nextTick=globalThis.process.nextTick;else if(globalThis.queueMicrotask)nextTick=globalThis.queueMicrotask;else if(globalThis.setImmediate)nextTick=globalThis.setImmediate;else nextTick=globalThis.setTimeout;return nextTick}function browserPbkdf2(password,salt,iterations,length,algo){return subtle.importKey(\"raw\",password,{name:\"PBKDF2\"},!1,[\"deriveBits\"]).then(function(key){return subtle.deriveBits({name:\"PBKDF2\",salt,iterations,hash:{name:algo}},key,length<<3)}).then(function(res){return Buffer2.from(res)})}function checkNative(algo){if(globalThis.process&&!globalThis.process.browser)return Promise.resolve(!1);if(!subtle||!subtle.importKey||!subtle.deriveBits)return Promise.resolve(!1);if(checks[algo]!==void 0)return checks[algo];ZERO_BUF=ZERO_BUF||Buffer2.alloc(8);var prom=browserPbkdf2(ZERO_BUF,ZERO_BUF,10,128,algo).then(function(){return!0},function(){return!1});return checks[algo]=prom,prom}function resolvePromise(promise,callback){promise.then(function(out){getNextTick()(function(){callback(null,out)})},function(e){getNextTick()(function(){callback(e)})})}module.exports=function(password,salt,iterations,keylen,digest,callback){if(typeof digest===\"function\")callback=digest,digest=void 0;if(checkParameters(iterations,keylen),password=toBuffer(password,defaultEncoding,\"Password\"),salt=toBuffer(salt,defaultEncoding,\"Salt\"),typeof callback!==\"function\")throw Error(\"No callback provided to pbkdf2\");digest=digest||\"sha1\";var algo=toBrowser[digest.toLowerCase()];if(!algo||typeof globalThis.Promise!==\"function\"){getNextTick()(function(){var out;try{out=sync(password,salt,iterations,keylen,digest)}catch(e){callback(e);return}callback(null,out)});return}resolvePromise(checkNative(algo).then(function(resp){if(resp)return browserPbkdf2(password,salt,iterations,keylen,algo);return sync(password,salt,iterations,keylen,digest)}),callback)}});var require_pbkdf2=__commonJS((exports)=>{var nativeImpl=require(\"crypto\"),checkParameters=require_precondition(),defaultEncoding=require_default_encoding(),toBuffer=require_to_buffer2();function nativePBKDF2(password,salt,iterations,keylen,digest,callback){if(checkParameters(iterations,keylen),password=toBuffer(password,defaultEncoding,\"Password\"),salt=toBuffer(salt,defaultEncoding,\"Salt\"),typeof digest===\"function\")callback=digest,digest=\"sha1\";if(typeof callback!==\"function\")throw Error(\"No callback provided to pbkdf2\");return nativeImpl.pbkdf2(password,salt,iterations,keylen,digest,callback)}function nativePBKDF2Sync(password,salt,iterations,keylen,digest){return checkParameters(iterations,keylen),password=toBuffer(password,defaultEncoding,\"Password\"),salt=toBuffer(salt,defaultEncoding,\"Salt\"),digest=digest||\"sha1\",nativeImpl.pbkdf2Sync(password,salt,iterations,keylen,digest)}if(!nativeImpl.pbkdf2Sync||nativeImpl.pbkdf2Sync.toString().indexOf(\"keylen, digest\")===-1)exports.pbkdf2Sync=require_sync(),exports.pbkdf2=require_async();else exports.pbkdf2Sync=nativePBKDF2Sync,exports.pbkdf2=nativePBKDF2});var require_browserify_cipher=__commonJS((exports)=>{var crypto2=require(\"crypto\");exports.createCipher=exports.Cipher=crypto2.createCipher;exports.createCipheriv=exports.Cipheriv=crypto2.createCipheriv;exports.createDecipher=exports.Decipher=crypto2.createDecipher;exports.createDecipheriv=exports.Decipheriv=crypto2.createDecipheriv;exports.listCiphers=exports.getCiphers=crypto2.getCiphers});var require_diffie_hellman=__commonJS((exports)=>{var crypto2=require(\"crypto\");exports.DiffieHellmanGroup=crypto2.DiffieHellmanGroup;exports.createDiffieHellmanGroup=crypto2.createDiffieHellmanGroup;exports.getDiffieHellman=crypto2.getDiffieHellman;exports.createDiffieHellman=crypto2.createDiffieHellman;exports.DiffieHellman=crypto2.DiffieHellman});var require_browserify_sign=__commonJS((exports)=>{var crypto2=require(\"crypto\");exports.createSign=crypto2.createSign;exports.Sign=crypto2.Sign;exports.createVerify=crypto2.createVerify;exports.Verify=crypto2.Verify});var require_package=__commonJS((exports,module)=>{module.exports={name:\"elliptic\",version:\"6.6.1\",description:\"EC cryptography\",main:\"lib/elliptic.js\",files:[\"lib\"],scripts:{lint:\"eslint lib test\",\"lint:fix\":\"npm run lint -- --fix\",unit:\"istanbul test _mocha --reporter=spec test/index.js\",test:\"npm run lint && npm run unit\",version:\"grunt dist && git add dist/\"},repository:{type:\"git\",url:\"git@github.com:indutny/elliptic\"},keywords:[\"EC\",\"Elliptic\",\"curve\",\"Cryptography\"],author:\"Fedor Indutny <fedor@indutny.com>\",license:\"MIT\",bugs:{url:\"https://github.com/indutny/elliptic/issues\"},homepage:\"https://github.com/indutny/elliptic\",devDependencies:{brfs:\"^2.0.2\",coveralls:\"^3.1.0\",eslint:\"^7.6.0\",grunt:\"^1.2.1\",\"grunt-browserify\":\"^5.3.0\",\"grunt-cli\":\"^1.3.2\",\"grunt-contrib-connect\":\"^3.0.0\",\"grunt-contrib-copy\":\"^1.0.0\",\"grunt-contrib-uglify\":\"^5.0.0\",\"grunt-mocha-istanbul\":\"^5.0.2\",\"grunt-saucelabs\":\"^9.0.1\",istanbul:\"^0.4.5\",mocha:\"^8.0.1\"},dependencies:{\"bn.js\":\"^4.11.9\",brorand:\"^1.1.0\",\"hash.js\":\"^1.0.0\",\"hmac-drbg\":\"^1.0.1\",inherits:\"^2.0.4\",\"minimalistic-assert\":\"^1.0.1\",\"minimalistic-crypto-utils\":\"^1.0.1\"}}});var require_bn=__commonJS((exports,module)=>{(function(module2,exports2){function assert(val,msg){if(!val)throw Error(msg||\"Assertion failed\")}function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}function BN(number,base,endian){if(BN.isBN(number))return number;if(this.negative=0,this.words=null,this.length=0,this.red=null,number!==null){if(base===\"le\"||base===\"be\")endian=base,base=10;this._init(number||0,base||10,endian||\"be\")}}if(typeof module2===\"object\")module2.exports=BN;else exports2.BN=BN;BN.BN=BN,BN.wordSize=26;var Buffer2;try{if(typeof window<\"u\"&&typeof window.Buffer<\"u\")Buffer2=window.Buffer;else Buffer2=require(\"buffer\").Buffer}catch(e){}BN.isBN=function(num){if(num instanceof BN)return!0;return num!==null&&typeof num===\"object\"&&num.constructor.wordSize===BN.wordSize&&Array.isArray(num.words)},BN.max=function(left,right){if(left.cmp(right)>0)return left;return right},BN.min=function(left,right){if(left.cmp(right)<0)return left;return right},BN.prototype._init=function(number,base,endian){if(typeof number===\"number\")return this._initNumber(number,base,endian);if(typeof number===\"object\")return this._initArray(number,base,endian);if(base===\"hex\")base=16;assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;if(number[0]===\"-\")start++,this.negative=1;if(start<number.length){if(base===16)this._parseHex(number,start,endian);else if(this._parseBase(number,base,start),endian===\"le\")this._initArray(this.toArray(),base,endian)}},BN.prototype._initNumber=function(number,base,endian){if(number<0)this.negative=1,number=-number;if(number<67108864)this.words=[number&67108863],this.length=1;else if(number<4503599627370496)this.words=[number&67108863,number/67108864&67108863],this.length=2;else assert(number<9007199254740992),this.words=[number&67108863,number/67108864&67108863,1],this.length=3;if(endian!==\"le\")return;this._initArray(this.toArray(),base,endian)},BN.prototype._initArray=function(number,base,endian){if(assert(typeof number.length===\"number\"),number.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(number.length/3),this.words=Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var j,w,off=0;if(endian===\"be\"){for(i=number.length-1,j=0;i>=0;i-=3)if(w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<<off&67108863,this.words[j+1]=w>>>26-off&67108863,off+=24,off>=26)off-=26,j++}else if(endian===\"le\"){for(i=0,j=0;i<number.length;i+=3)if(w=number[i]|number[i+1]<<8|number[i+2]<<16,this.words[j]|=w<<off&67108863,this.words[j+1]=w>>>26-off&67108863,off+=24,off>=26)off-=26,j++}return this.strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);if(c>=65&&c<=70)return c-55;else if(c>=97&&c<=102)return c-87;else return c-48&15}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);if(index-1>=lowerBound)r|=parseHex4Bits(string,index-1)<<4;return r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var off=0,j=0,w;if(endian===\"be\")for(i=number.length-1;i>=start;i-=2)if(w=parseHexByte(number,start,i)<<off,this.words[j]|=w&67108863,off>=18)off-=18,j+=1,this.words[j]|=w>>>26;else off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0?start+1:start;i<number.length;i+=2)if(w=parseHexByte(number,start,i)<<off,this.words[j]|=w&67108863,off>=18)off-=18,j+=1,this.words[j]|=w>>>26;else off+=8}this.strip()};function parseBase(str,start,end,mul){var r=0,len=Math.min(str.length,end);for(var i=start;i<len;i++){var c=str.charCodeAt(i)-48;if(r*=mul,c>=49)r+=c-49+10;else if(c>=17)r+=c-17+10;else r+=c}return r}BN.prototype._parseBase=function(number,base,start){this.words=[0],this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0;for(var i=start;i<end;i+=limbLen)if(word=parseBase(number,i,i+limbLen,base),this.imuln(limbPow),this.words[0]+word<67108864)this.words[0]+=word;else this._iaddn(word);if(mod!==0){var pow=1;word=parseBase(number,i,number.length,base);for(i=0;i<mod;i++)pow*=base;if(this.imuln(pow),this.words[0]+word<67108864)this.words[0]+=word;else this._iaddn(word)}this.strip()},BN.prototype.copy=function(dest){dest.words=Array(this.length);for(var i=0;i<this.length;i++)dest.words[i]=this.words[i];dest.length=this.length,dest.negative=this.negative,dest.red=this.red},BN.prototype.clone=function(){var r=new BN(null);return this.copy(r),r},BN.prototype._expand=function(size){while(this.length<size)this.words[this.length++]=0;return this},BN.prototype.strip=function(){while(this.length>1&&this.words[this.length-1]===0)this.length--;return this._normSign()},BN.prototype._normSign=function(){if(this.length===1&&this.words[0]===0)this.negative=0;return this},BN.prototype.inspect=function(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"};var zeros=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],groupSizes=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];if(BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";var off=0,carry=0;for(var i=0;i<this.length;i++){var w=this.words[i],word=((w<<off|carry)&16777215).toString(16);if(carry=w>>>24-off&16777215,off+=2,off>=26)off-=26,i--;if(carry!==0||i!==this.length-1)out=zeros[6-word.length]+word+out;else out=word+out}if(carry!==0)out=carry.toString(16)+out;while(out.length%padding!==0)out=\"0\"+out;if(this.negative!==0)out=\"-\"+out;return out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();c.negative=0;while(!c.isZero()){var r=c.modn(groupBase).toString(base);if(c=c.idivn(groupBase),!c.isZero())out=zeros[groupSize-r.length]+r+out;else out=r+out}if(this.isZero())out=\"0\"+out;while(out.length%padding!==0)out=\"0\"+out;if(this.negative!==0)out=\"-\"+out;return out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];if(this.length===2)ret+=this.words[1]*67108864;else if(this.length===3&&this.words[2]===1)ret+=4503599627370496+this.words[1]*67108864;else if(this.length>2)assert(!1,\"Number can only safely store up to 53 bits\");return this.negative!==0?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16)},BN.prototype.toBuffer=function(endian,length){return assert(typeof Buffer2<\"u\"),this.toArrayLike(Buffer2,endian,length)},BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)},BN.prototype.toArrayLike=function(ArrayType,endian,length){var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\"),this.strip();var littleEndian=endian===\"le\",res=new ArrayType(reqLength),b,i,q=this.clone();if(!littleEndian){for(i=0;i<reqLength-byteLength;i++)res[i]=0;for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[reqLength-i-1]=b}else{for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[i]=b;for(;i<reqLength;i++)res[i]=0}return res},Math.clz32)BN.prototype._countBits=function(w){return 32-Math.clz32(w)};else BN.prototype._countBits=function(w){var t=w,r=0;if(t>=4096)r+=13,t>>>=13;if(t>=64)r+=7,t>>>=7;if(t>=8)r+=4,t>>>=4;if(t>=2)r+=2,t>>>=2;return r+t};BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;if((t&8191)===0)r+=13,t>>>=13;if((t&127)===0)r+=7,t>>>=7;if((t&15)===0)r+=4,t>>>=4;if((t&3)===0)r+=2,t>>>=2;if((t&1)===0)r++;return r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){var w=Array(num.bitLength());for(var bit=0;bit<w.length;bit++){var off=bit/26|0,wbit=bit%26;w[bit]=(num.words[off]&1<<wbit)>>>wbit}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;var r=0;for(var i=0;i<this.length;i++){var b=this._zeroBits(this.words[i]);if(r+=b,b!==26)break}return r},BN.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},BN.prototype.toTwos=function(width){if(this.negative!==0)return this.abs().inotn(width).iaddn(1);return this.clone()},BN.prototype.fromTwos=function(width){if(this.testn(width-1))return this.notn(width).iaddn(1).ineg();return this.clone()},BN.prototype.isNeg=function(){return this.negative!==0},BN.prototype.neg=function(){return this.clone().ineg()},BN.prototype.ineg=function(){if(!this.isZero())this.negative^=1;return this},BN.prototype.iuor=function(num){while(this.length<num.length)this.words[this.length++]=0;for(var i=0;i<num.length;i++)this.words[i]=this.words[i]|num.words[i];return this.strip()},BN.prototype.ior=function(num){return assert((this.negative|num.negative)===0),this.iuor(num)},BN.prototype.or=function(num){if(this.length>num.length)return this.clone().ior(num);return num.clone().ior(this)},BN.prototype.uor=function(num){if(this.length>num.length)return this.clone().iuor(num);return num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;if(this.length>num.length)b=num;else b=this;for(var i=0;i<b.length;i++)this.words[i]=this.words[i]&num.words[i];return this.length=b.length,this.strip()},BN.prototype.iand=function(num){return assert((this.negative|num.negative)===0),this.iuand(num)},BN.prototype.and=function(num){if(this.length>num.length)return this.clone().iand(num);return num.clone().iand(this)},BN.prototype.uand=function(num){if(this.length>num.length)return this.clone().iuand(num);return num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;if(this.length>num.length)a=this,b=num;else a=num,b=this;for(var i=0;i<b.length;i++)this.words[i]=a.words[i]^b.words[i];if(this!==a)for(;i<a.length;i++)this.words[i]=a.words[i];return this.length=a.length,this.strip()},BN.prototype.ixor=function(num){return assert((this.negative|num.negative)===0),this.iuxor(num)},BN.prototype.xor=function(num){if(this.length>num.length)return this.clone().ixor(num);return num.clone().ixor(this)},BN.prototype.uxor=function(num){if(this.length>num.length)return this.clone().iuxor(num);return num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width===\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;if(this._expand(bytesNeeded),bitsLeft>0)bytesNeeded--;for(var i=0;i<bytesNeeded;i++)this.words[i]=~this.words[i]&67108863;if(bitsLeft>0)this.words[i]=~this.words[i]&67108863>>26-bitsLeft;return this.strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit===\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;if(this._expand(off+1),val)this.words[off]=this.words[off]|1<<wbit;else this.words[off]=this.words[off]&~(1<<wbit);return this.strip()},BN.prototype.iadd=function(num){var r;if(this.negative!==0&&num.negative===0)return this.negative=0,r=this.isub(num),this.negative^=1,this._normSign();else if(this.negative===0&&num.negative!==0)return num.negative=0,r=this.isub(num),num.negative=1,r._normSign();var a,b;if(this.length>num.length)a=this,b=num;else a=num,b=this;var carry=0;for(var i=0;i<b.length;i++)r=(a.words[i]|0)+(b.words[i]|0)+carry,this.words[i]=r&67108863,carry=r>>>26;for(;carry!==0&&i<a.length;i++)r=(a.words[i]|0)+carry,this.words[i]=r&67108863,carry=r>>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;i<a.length;i++)this.words[i]=a.words[i];return this},BN.prototype.add=function(num){var res;if(num.negative!==0&&this.negative===0)return num.negative=0,res=this.sub(num),num.negative^=1,res;else if(num.negative===0&&this.negative!==0)return this.negative=0,res=num.sub(this),this.negative=1,res;if(this.length>num.length)return this.clone().iadd(num);return num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;if(cmp>0)a=this,b=num;else a=num,b=this;var carry=0;for(var i=0;i<b.length;i++)r=(a.words[i]|0)-(b.words[i]|0)+carry,carry=r>>26,this.words[i]=r&67108863;for(;carry!==0&&i<a.length;i++)r=(a.words[i]|0)+carry,carry=r>>26,this.words[i]=r&67108863;if(carry===0&&i<a.length&&a!==this)for(;i<a.length;i++)this.words[i]=a.words[i];if(this.length=Math.max(this.length,i),a!==this)this.negative=1;return this.strip()},BN.prototype.sub=function(num){return this.clone().isub(num)};function smallMulTo(self2,num,out){out.negative=num.negative^self2.negative;var len=self2.length+num.length|0;out.length=len,len=len-1|0;var a=self2.words[0]|0,b=num.words[0]|0,r=a*b,lo=r&67108863,carry=r/67108864|0;out.words[0]=lo;for(var k=1;k<len;k++){var ncarry=carry>>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1);for(var j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}if(carry!==0)out.words[k]=carry|0;else out.length--;return out.strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;if(c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0)o[19]=c,out.length++;return out};if(!Math.imul)comb10MulTo=smallMulTo;function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;var carry=0,hncarry=0;for(var k=0;k<out.length-1;k++){var ncarry=hncarry;hncarry=0;var rword=carry&67108863,maxJ=Math.min(k,num.length-1);for(var j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j,a=self2.words[i]|0,b=num.words[j]|0,r=a*b,lo=r&67108863;ncarry=ncarry+(r/67108864|0)|0,lo=lo+rword|0,rword=lo&67108863,ncarry=ncarry+(lo>>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}if(carry!==0)out.words[k]=carry;else out.length--;return out.strip()}function jumboMulTo(self2,num,out){var fftm=new FFTM;return fftm.mulp(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;if(this.length===10&&num.length===10)res=comb10MulTo(this,num,out);else if(len<63)res=smallMulTo(this,num,out);else if(len<1024)res=bigMulTo(this,num,out);else res=jumboMulTo(this,num,out);return res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){var t=Array(N),l=BN.prototype._countBits(N)-1;for(var i=0;i<N;i++)t[i]=this.revBin(i,l,N);return t},FFTM.prototype.revBin=function(x,l,N){if(x===0||x===N-1)return x;var rb=0;for(var i=0;i<l;i++)rb|=(x&1)<<l-i-1,x>>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i<N;i++)rtws[i]=rws[rbt[i]],itws[i]=iws[rbt[i]]},FFTM.prototype.transform=function(rws,iws,rtws,itws,N,rbt){this.permute(rbt,rws,iws,rtws,itws,N);for(var s=1;s<N;s<<=1){var l=s<<1,rtwdf=Math.cos(2*Math.PI/l),itwdf=Math.sin(2*Math.PI/l);for(var p=0;p<N;p+=l){var rtwdf_=rtwdf,itwdf_=itwdf;for(var j=0;j<s;j++){var re=rtws[p+j],ie=itws[p+j],ro=rtws[p+j+s],io=itws[p+j+s],rx=rtwdf_*ro-itwdf_*io;if(io=rtwdf_*io+itwdf_*ro,ro=rx,rtws[p+j]=re+ro,itws[p+j]=ie+io,rtws[p+j+s]=re-ro,itws[p+j+s]=ie-io,j!==l)rx=rtwdf*rtwdf_-itwdf*itwdf_,itwdf_=rtwdf*itwdf_+itwdf*rtwdf_,rtwdf_=rx}}}},FFTM.prototype.guessLen13b=function(n,m){var N=Math.max(m,n)|1,odd=N&1,i=0;for(N=N/2|0;N;N=N>>>1)i++;return 1<<i+1+odd},FFTM.prototype.conjugate=function(rws,iws,N){if(N<=1)return;for(var i=0;i<N/2;i++){var t=rws[i];rws[i]=rws[N-i-1],rws[N-i-1]=t,t=iws[i],iws[i]=-iws[N-i-1],iws[N-i-1]=-t}},FFTM.prototype.normalize13b=function(ws,N){var carry=0;for(var i=0;i<N/2;i++){var w=Math.round(ws[2*i+1]/N)*8192+Math.round(ws[2*i]/N)+carry;if(ws[i]=w&67108863,w<67108864)carry=0;else carry=w/67108864|0}return ws},FFTM.prototype.convert13b=function(ws,len,rws,N){var carry=0;for(var i=0;i<len;i++)carry=carry+(ws[i]|0),rws[2*i]=carry&8191,carry=carry>>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i<N;++i)rws[i]=0;assert(carry===0),assert((carry&-8192)===0)},FFTM.prototype.stub=function(N){var ph=Array(N);for(var i=0;i<N;i++)ph[i]=0;return ph},FFTM.prototype.mulp=function(x,y,out){var N=2*this.guessLen13b(x.length,y.length),rbt=this.makeRBT(N),_=this.stub(N),rws=Array(N),rwst=Array(N),iwst=Array(N),nrws=Array(N),nrwst=Array(N),niwst=Array(N),rmws=out.words;rmws.length=N,this.convert13b(x.words,x.length,rws,N),this.convert13b(y.words,y.length,nrws,N),this.transform(rws,_,rwst,iwst,N,rbt),this.transform(nrws,_,nrwst,niwst,N,rbt);for(var i=0;i<N;i++){var rx=rwst[i]*nrwst[i]-iwst[i]*niwst[i];iwst[i]=rwst[i]*niwst[i]+iwst[i]*nrwst[i],rwst[i]=rx}return this.conjugate(rwst,iwst,N),this.transform(rwst,iwst,rmws,_,N,rbt),this.conjugate(rmws,_,N),this.normalize13b(rmws,N),out.negative=x.negative^y.negative,out.length=x.length+y.length,out.strip()},BN.prototype.mul=function(num){var out=new BN(null);return out.words=Array(this.length+num.length),this.mulTo(num,out)},BN.prototype.mulf=function(num){var out=new BN(null);return out.words=Array(this.length+num.length),jumboMulTo(this,num,out)},BN.prototype.imul=function(num){return this.clone().mulTo(num,this)},BN.prototype.imuln=function(num){assert(typeof num===\"number\"),assert(num<67108864);var carry=0;for(var i=0;i<this.length;i++){var w=(this.words[i]|0)*num,lo=(w&67108863)+(carry&67108863);carry>>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}if(carry!==0)this.words[i]=carry,this.length++;return this.length=num===0?1:this.length,this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);var res=this;for(var i=0;i<w.length;i++,res=res.sqr())if(w[i]!==0)break;if(++i<w.length)for(var q=res.sqr();i<w.length;i++,q=q.sqr()){if(w[i]===0)continue;res=res.mul(q)}return res},BN.prototype.iushln=function(bits){assert(typeof bits===\"number\"&&bits>=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i<this.length;i++){var newCarry=this.words[i]&carryMask,c=(this.words[i]|0)-newCarry<<r;this.words[i]=c|carry,carry=newCarry>>>26-r}if(carry)this.words[i]=carry,this.length++}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i<s;i++)this.words[i]=0;this.length+=s}return this.strip()},BN.prototype.ishln=function(bits){return assert(this.negative===0),this.iushln(bits)},BN.prototype.iushrn=function(bits,hint,extended){assert(typeof bits===\"number\"&&bits>=0);var h;if(hint)h=(hint-hint%26)/26;else h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<<r,maskedWords=extended;if(h-=s,h=Math.max(0,h),maskedWords){for(var i=0;i<s;i++)maskedWords.words[i]=this.words[i];maskedWords.length=s}if(s===0);else if(this.length>s){this.length-=s;for(i=0;i<this.length;i++)this.words[i]=this.words[i+s]}else this.words[0]=0,this.length=1;var carry=0;for(i=this.length-1;i>=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}if(maskedWords&&carry!==0)maskedWords.words[maskedWords.length++]=carry;if(this.length===0)this.words[0]=0,this.length=1;return this.strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit===\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<<r;if(this.length<=s)return!1;var w=this.words[s];return!!(w&q)},BN.prototype.imaskn=function(bits){assert(typeof bits===\"number\"&&bits>=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0)s++;if(this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<<r;this.words[this.length-1]&=mask}return this.strip()},BN.prototype.maskn=function(bits){return this.clone().imaskn(bits)},BN.prototype.iaddn=function(num){if(assert(typeof num===\"number\"),assert(num<67108864),num<0)return this.isubn(-num);if(this.negative!==0){if(this.length===1&&(this.words[0]|0)<num)return this.words[0]=num-(this.words[0]|0),this.negative=0,this;return this.negative=0,this.isubn(num),this.negative=1,this}return this._iaddn(num)},BN.prototype._iaddn=function(num){this.words[0]+=num;for(var i=0;i<this.length&&this.words[i]>=67108864;i++)if(this.words[i]-=67108864,i===this.length-1)this.words[i+1]=1;else this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num===\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i<this.length&&this.words[i]<0;i++)this.words[i]+=67108864,this.words[i+1]-=1;return this.strip()},BN.prototype.addn=function(num){return this.clone().iaddn(num)},BN.prototype.subn=function(num){return this.clone().isubn(num)},BN.prototype.iabs=function(){return this.negative=0,this},BN.prototype.abs=function(){return this.clone().iabs()},BN.prototype._ishlnsubmul=function(num,mul,shift){var len=num.length+shift,i;this._expand(len);var w,carry=0;for(i=0;i<num.length;i++){w=(this.words[i+shift]|0)+carry;var right=(num.words[i]|0)*mul;w-=right&67108863,carry=(w>>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i<this.length-shift;i++)w=(this.words[i+shift]|0)+carry,carry=w>>26,this.words[i+shift]=w&67108863;if(carry===0)return this.strip();assert(carry===-1),carry=0;for(i=0;i<this.length;i++)w=-(this.words[i]|0)+carry,carry=w>>26,this.words[i]=w&67108863;return this.negative=1,this.strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);if(shift=26-bhiBits,shift!==0)b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0;var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=Array(q.length);for(var i=0;i<q.length;i++)q.words[i]=0}var diff=a.clone()._ishlnsubmul(b,1,m);if(diff.negative===0){if(a=diff,q)q.words[m]=1}for(var j=m-1;j>=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);while(a.negative!==0)if(qj--,a.negative=0,a._ishlnsubmul(b,1,j),!a.isZero())a.negative^=1;if(q)q.words[j]=qj}if(q)q.strip();if(a.strip(),mode!==\"div\"&&shift!==0)a.iushrn(shift);return{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;if(this.negative!==0&&num.negative===0){if(res=this.neg().divmod(num,mode),mode!==\"mod\")div=res.div.neg();if(mode!==\"div\"){if(mod=res.mod.neg(),positive&&mod.negative!==0)mod.iadd(num)}return{div,mod}}if(this.negative===0&&num.negative!==0){if(res=this.divmod(num.neg(),mode),mode!==\"mod\")div=res.div.neg();return{div,mod:res.mod}}if((this.negative&num.negative)!==0){if(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"){if(mod=res.mod.neg(),positive&&mod.negative!==0)mod.isub(num)}return{div:res.div,mod}}if(num.length>this.length||this.cmp(num)<0)return{div:new BN(0),mod:this};if(num.length===1){if(mode===\"div\")return{div:this.divn(num.words[0]),mod:null};if(mode===\"mod\")return{div:null,mod:new BN(this.modn(num.words[0]))};return{div:this.divn(num.words[0]),mod:new BN(this.modn(num.words[0]))}}return this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);if(cmp<0||r2===1&&cmp===0)return dm.div;return dm.div.negative!==0?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modn=function(num){assert(num<=67108863);var p=67108864%num,acc=0;for(var i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return acc},BN.prototype.idivn=function(num){assert(num<=67108863);var carry=0;for(var i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this.strip()},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();if(x.negative!==0)x=x.umod(p);else x=x.clone();var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;while(x.isEven()&&y.isEven())x.iushrn(1),y.iushrn(1),++g;var yp=y.clone(),xp=x.clone();while(!x.isZero()){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0){x.iushrn(i);while(i-- >0){if(A.isOdd()||B.isOdd())A.iadd(yp),B.isub(xp);A.iushrn(1),B.iushrn(1)}}for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0){y.iushrn(j);while(j-- >0){if(C.isOdd()||D.isOdd())C.iadd(yp),D.isub(xp);C.iushrn(1),D.iushrn(1)}}if(x.cmp(y)>=0)x.isub(y),A.isub(C),B.isub(D);else y.isub(x),C.isub(A),D.isub(B)}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();if(a.negative!==0)a=a.umod(p);else a=a.clone();var x1=new BN(1),x2=new BN(0),delta=b.clone();while(a.cmpn(1)>0&&b.cmpn(1)>0){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0){a.iushrn(i);while(i-- >0){if(x1.isOdd())x1.iadd(delta);x1.iushrn(1)}}for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0){b.iushrn(j);while(j-- >0){if(x2.isOdd())x2.iadd(delta);x2.iushrn(1)}}if(a.cmp(b)>=0)a.isub(b),x1.isub(x2);else b.isub(a),x2.isub(x1)}var res;if(a.cmpn(1)===0)res=x1;else res=x2;if(res.cmpn(0)<0)res.iadd(p);return res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{while(a.isEven())a.iushrn(1);while(b.isEven())b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit===\"number\");var r=bit%26,s=(bit-r)/26,q=1<<r;if(this.length<=s)return this._expand(s+1),this.words[s]|=q,this;var carry=q;for(var i=s;carry!==0&&i<this.length;i++){var w=this.words[i]|0;w+=carry,carry=w>>>26,w&=67108863,this.words[i]=w}if(carry!==0)this.words[i]=carry,this.length++;return this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this.strip();var res;if(this.length>1)res=1;else{if(negative)num=-num;assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num?0:w<num?-1:1}if(this.negative!==0)return-res|0;return res},BN.prototype.cmp=function(num){if(this.negative!==0&&num.negative===0)return-1;if(this.negative===0&&num.negative!==0)return 1;var res=this.ucmp(num);if(this.negative!==0)return-res|0;return res},BN.prototype.ucmp=function(num){if(this.length>num.length)return 1;if(this.length<num.length)return-1;var res=0;for(var i=this.length-1;i>=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a===b)continue;if(a<b)res=-1;else if(a>b)res=1;break}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen<this.n?-1:r.ucmp(this.p);if(cmp===0)r.words[0]=0,r.length=1;else if(cmp>0)r.isub(this.p);else if(r.strip!==void 0)r.strip();else r._strip();return r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){var mask=4194303,outLen=Math.min(input.length,9);for(var i=0;i<outLen;i++)output.words[i]=input.words[i];if(output.length=outLen,input.length<=9){input.words[0]=0,input.length=1;return}var prev=input.words[9];output.words[output.length++]=prev&mask;for(i=10;i<input.length;i++){var next=input.words[i]|0;input.words[i-10]=(next&mask)<<4|prev>>>22,prev=next}if(prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10)input.length-=10;else input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;var lo=0;for(var i=0;i<num.length;i++){var w=num.words[i]|0;lo+=w*977,num.words[i]=lo&67108863,lo=w*64+(lo/67108864|0)}if(num.words[num.length-1]===0){if(num.length--,num.words[num.length-1]===0)num.length--}return num};function P224(){MPrime.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}inherits(P224,MPrime);function P192(){MPrime.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}inherits(P192,MPrime);function P25519(){MPrime.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}inherits(P25519,MPrime),P25519.prototype.imulK=function(num){var carry=0;for(var i=0;i<num.length;i++){var hi=(num.words[i]|0)*19+carry,lo=hi&67108863;hi>>>=26,num.words[i]=lo,carry=hi}if(carry!==0)num.words[num.length++]=carry;return num},BN._prime=function(name){if(primes[name])return primes[name];var prime;if(name===\"k256\")prime=new K256;else if(name===\"p224\")prime=new P224;else if(name===\"p192\")prime=new P192;else if(name===\"p25519\")prime=new P25519;else throw Error(\"Unknown prime \"+name);return primes[name]=prime,prime};function Red(m){if(typeof m===\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){if(this.prime)return this.prime.ireduce(a)._forceRed(this);return a.umod(this.m)._forceRed(this)},Red.prototype.neg=function(a){if(a.isZero())return a.clone();return this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);if(res.cmp(this.m)>=0)res.isub(this.m);return res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);if(res.cmp(this.m)>=0)res.isub(this.m);return res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);if(res.cmpn(0)<0)res.iadd(this.m);return res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);if(res.cmpn(0)<0)res.iadd(this.m);return res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}var q=this.m.subn(1),s=0;while(!q.isZero()&&q.andln(1)===0)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();z=new BN(2*z*z).toRed(this);while(this.pow(z,lpow).cmp(nOne)!==0)z.redIAdd(nOne);var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;while(t.cmp(one)!==0){var tmp=t;for(var i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i<m);var b=this.pow(c,new BN(1).iushln(m-i-1));r=r.redMul(b),c=b.redSqr(),t=t.redMul(c),m=i}return r},Red.prototype.invm=function(a){var inv=a._invmp(this.m);if(inv.negative!==0)return inv.negative=0,this.imod(inv).redNeg();else return this.imod(inv)},Red.prototype.pow=function(a,num){if(num.isZero())return new BN(1).toRed(this);if(num.cmpn(1)===0)return a.clone();var windowSize=4,wnd=Array(1<<windowSize);wnd[0]=new BN(1).toRed(this),wnd[1]=a;for(var i=2;i<wnd.length;i++)wnd[i]=this.mul(wnd[i-1],a);var res=wnd[0],current=0,currentLen=0,start=num.bitLength()%26;if(start===0)start=26;for(i=num.length-1;i>=0;i--){var word=num.words[i];for(var j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0])res=this.sqr(res);if(bit===0&¤t===0){currentLen=0;continue}if(current<<=1,current|=bit,currentLen++,currentLen!==windowSize&&(i!==0||j!==0))continue;res=this.mul(res,wnd[current]),currentLen=0,current=0}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){if(Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0)this.shift+=26-this.shift%26;this.r=new BN(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;if(u.cmp(this.m)>=0)res=u.isub(this.m);else if(u.cmpn(0)<0)res=u.iadd(this.m);return res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;if(u.cmp(this.m)>=0)res=u.isub(this.m);else if(u.cmpn(0)<0)res=u.iadd(this.m);return res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)});var require_minimalistic_assert=__commonJS((exports,module)=>{module.exports=assert;function assert(val,msg){if(!val)throw Error(msg||\"Assertion failed\")}assert.equal=function(l,r,msg){if(l!=r)throw Error(msg||\"Assertion failed: \"+l+\" != \"+r)}});var require_utils=__commonJS((exports)=>{var utils=exports;function toArray(msg,enc){if(Array.isArray(msg))return msg.slice();if(!msg)return[];var res=[];if(typeof msg!==\"string\"){for(var i=0;i<msg.length;i++)res[i]=msg[i]|0;return res}if(enc===\"hex\"){if(msg=msg.replace(/[^a-z0-9]+/ig,\"\"),msg.length%2!==0)msg=\"0\"+msg;for(var i=0;i<msg.length;i+=2)res.push(parseInt(msg[i]+msg[i+1],16))}else for(var i=0;i<msg.length;i++){var c=msg.charCodeAt(i),hi=c>>8,lo=c&255;if(hi)res.push(hi,lo);else res.push(lo)}return res}utils.toArray=toArray;function zero2(word){if(word.length===1)return\"0\"+word;else return word}utils.zero2=zero2;function toHex(msg){var res=\"\";for(var i=0;i<msg.length;i++)res+=zero2(msg[i].toString(16));return res}utils.toHex=toHex;utils.encode=function(arr,enc){if(enc===\"hex\")return toHex(arr);else return arr}});var require_utils2=__commonJS((exports)=>{var utils=exports,BN=require_bn(),minAssert=require_minimalistic_assert(),minUtils=require_utils();utils.assert=minAssert;utils.toArray=minUtils.toArray;utils.zero2=minUtils.zero2;utils.toHex=minUtils.toHex;utils.encode=minUtils.encode;function getNAF(num,w,bits){var naf=Array(Math.max(num.bitLength(),bits)+1),i;for(i=0;i<naf.length;i+=1)naf[i]=0;var ws=1<<w+1,k=num.clone();for(i=0;i<naf.length;i++){var z,mod=k.andln(ws-1);if(k.isOdd()){if(mod>(ws>>1)-1)z=(ws>>1)-mod;else z=mod;k.isubn(z)}else z=0;naf[i]=z,k.iushrn(1)}return naf}utils.getNAF=getNAF;function getJSF(k1,k2){var jsf=[[],[]];k1=k1.clone(),k2=k2.clone();var d1=0,d2=0,m8;while(k1.cmpn(-d1)>0||k2.cmpn(-d2)>0){var m14=k1.andln(3)+d1&3,m24=k2.andln(3)+d2&3;if(m14===3)m14=-1;if(m24===3)m24=-1;var u1;if((m14&1)===0)u1=0;else if(m8=k1.andln(7)+d1&7,(m8===3||m8===5)&&m24===2)u1=-m14;else u1=m14;jsf[0].push(u1);var u2;if((m24&1)===0)u2=0;else if(m8=k2.andln(7)+d2&7,(m8===3||m8===5)&&m14===2)u2=-m24;else u2=m24;if(jsf[1].push(u2),2*d1===u1+1)d1=1-d1;if(2*d2===u2+1)d2=1-d2;k1.iushrn(1),k2.iushrn(1)}return jsf}utils.getJSF=getJSF;function cachedProperty(obj,name,computer){var key=\"_\"+name;obj.prototype[name]=function(){return this[key]!==void 0?this[key]:this[key]=computer.call(this)}}utils.cachedProperty=cachedProperty;function parseBytes(bytes){return typeof bytes===\"string\"?utils.toArray(bytes,\"hex\"):bytes}utils.parseBytes=parseBytes;function intFromLE(bytes){return new BN(bytes,\"hex\",\"le\")}utils.intFromLE=intFromLE});var require_brorand=__commonJS((exports,module)=>{var r;module.exports=function(len){if(!r)r=new Rand(null);return r.generate(len)};function Rand(rand){this.rand=rand}module.exports.Rand=Rand;Rand.prototype.generate=function(len){return this._rand(len)};Rand.prototype._rand=function(n){if(this.rand.getBytes)return this.rand.getBytes(n);var res=new Uint8Array(n);for(var i=0;i<res.length;i++)res[i]=this.rand.getByte();return res};if(typeof self===\"object\"){if(self.crypto&&self.crypto.getRandomValues)Rand.prototype._rand=function(n){var arr=new Uint8Array(n);return self.crypto.getRandomValues(arr),arr};else if(self.msCrypto&&self.msCrypto.getRandomValues)Rand.prototype._rand=function(n){var arr=new Uint8Array(n);return self.msCrypto.getRandomValues(arr),arr};else if(typeof window===\"object\")Rand.prototype._rand=function(){throw Error(\"Not implemented yet\")}}else try{if(crypto2=require(\"crypto\"),typeof crypto2.randomBytes!==\"function\")throw Error(\"Not supported\");Rand.prototype._rand=function(n){return crypto2.randomBytes(n)}}catch(e){}var crypto2});var require_base=__commonJS((exports,module)=>{var BN=require_bn(),utils=require_utils2(),getNAF=utils.getNAF,getJSF=utils.getJSF,assert=utils.assert;function BaseCurve(type,conf){this.type=type,this.p=new BN(conf.p,16),this.red=conf.prime?BN.red(conf.prime):BN.mont(this.p),this.zero=new BN(0).toRed(this.red),this.one=new BN(1).toRed(this.red),this.two=new BN(2).toRed(this.red),this.n=conf.n&&new BN(conf.n,16),this.g=conf.g&&this.pointFromJSON(conf.g,conf.gRed),this._wnafT1=[,,,,],this._wnafT2=[,,,,],this._wnafT3=[,,,,],this._wnafT4=[,,,,],this._bitLength=this.n?this.n.bitLength():0;var adjustCount=this.n&&this.p.div(this.n);if(!adjustCount||adjustCount.cmpn(100)>0)this.redN=null;else this._maxwellTrick=!0,this.redN=this.n.toRed(this.red)}module.exports=BaseCurve;BaseCurve.prototype.point=function(){throw Error(\"Not implemented\")};BaseCurve.prototype.validate=function(){throw Error(\"Not implemented\")};BaseCurve.prototype._fixedNafMul=function(p,k){assert(p.precomputed);var doubles=p._getDoubles(),naf=getNAF(k,1,this._bitLength),I=(1<<doubles.step+1)-(doubles.step%2===0?2:1);I/=3;var repr=[],j,nafW;for(j=0;j<naf.length;j+=doubles.step){nafW=0;for(var l=j+doubles.step-1;l>=j;l--)nafW=(nafW<<1)+naf[l];repr.push(nafW)}var a=this.jpoint(null,null,null),b=this.jpoint(null,null,null);for(var i=I;i>0;i--){for(j=0;j<repr.length;j++)if(nafW=repr[j],nafW===i)b=b.mixedAdd(doubles.points[j]);else if(nafW===-i)b=b.mixedAdd(doubles.points[j].neg());a=a.add(b)}return a.toP()};BaseCurve.prototype._wnafMul=function(p,k){var w=4,nafPoints=p._getNAFPoints(w);w=nafPoints.wnd;var wnd=nafPoints.points,naf=getNAF(k,w,this._bitLength),acc=this.jpoint(null,null,null);for(var i=naf.length-1;i>=0;i--){for(var l=0;i>=0&&naf[i]===0;i--)l++;if(i>=0)l++;if(acc=acc.dblp(l),i<0)break;var z=naf[i];if(assert(z!==0),p.type===\"affine\")if(z>0)acc=acc.mixedAdd(wnd[z-1>>1]);else acc=acc.mixedAdd(wnd[-z-1>>1].neg());else if(z>0)acc=acc.add(wnd[z-1>>1]);else acc=acc.add(wnd[-z-1>>1].neg())}return p.type===\"affine\"?acc.toP():acc};BaseCurve.prototype._wnafMulAdd=function(defW,points,coeffs,len,jacobianResult){var wndWidth=this._wnafT1,wnd=this._wnafT2,naf=this._wnafT3,max=0,i,j,p;for(i=0;i<len;i++){p=points[i];var nafPoints=p._getNAFPoints(defW);wndWidth[i]=nafPoints.wnd,wnd[i]=nafPoints.points}for(i=len-1;i>=1;i-=2){var a=i-1,b=i;if(wndWidth[a]!==1||wndWidth[b]!==1){naf[a]=getNAF(coeffs[a],wndWidth[a],this._bitLength),naf[b]=getNAF(coeffs[b],wndWidth[b],this._bitLength),max=Math.max(naf[a].length,max),max=Math.max(naf[b].length,max);continue}var comb=[points[a],null,null,points[b]];if(points[a].y.cmp(points[b].y)===0)comb[1]=points[a].add(points[b]),comb[2]=points[a].toJ().mixedAdd(points[b].neg());else if(points[a].y.cmp(points[b].y.redNeg())===0)comb[1]=points[a].toJ().mixedAdd(points[b]),comb[2]=points[a].add(points[b].neg());else comb[1]=points[a].toJ().mixedAdd(points[b]),comb[2]=points[a].toJ().mixedAdd(points[b].neg());var index=[-3,-1,-5,-7,0,7,5,1,3],jsf=getJSF(coeffs[a],coeffs[b]);max=Math.max(jsf[0].length,max),naf[a]=Array(max),naf[b]=Array(max);for(j=0;j<max;j++){var ja=jsf[0][j]|0,jb=jsf[1][j]|0;naf[a][j]=index[(ja+1)*3+(jb+1)],naf[b][j]=0,wnd[a]=comb}}var acc=this.jpoint(null,null,null),tmp=this._wnafT4;for(i=max;i>=0;i--){var k=0;while(i>=0){var zero=!0;for(j=0;j<len;j++)if(tmp[j]=naf[j][i]|0,tmp[j]!==0)zero=!1;if(!zero)break;k++,i--}if(i>=0)k++;if(acc=acc.dblp(k),i<0)break;for(j=0;j<len;j++){var z=tmp[j];if(z===0)continue;else if(z>0)p=wnd[j][z-1>>1];else if(z<0)p=wnd[j][-z-1>>1].neg();if(p.type===\"affine\")acc=acc.mixedAdd(p);else acc=acc.add(p)}}for(i=0;i<len;i++)wnd[i]=null;if(jacobianResult)return acc;else return acc.toP()};function BasePoint(curve,type){this.curve=curve,this.type=type,this.precomputed=null}BaseCurve.BasePoint=BasePoint;BasePoint.prototype.eq=function(){throw Error(\"Not implemented\")};BasePoint.prototype.validate=function(){return this.curve.validate(this)};BaseCurve.prototype.decodePoint=function(bytes,enc){bytes=utils.toArray(bytes,enc);var len=this.p.byteLength();if((bytes[0]===4||bytes[0]===6||bytes[0]===7)&&bytes.length-1===2*len){if(bytes[0]===6)assert(bytes[bytes.length-1]%2===0);else if(bytes[0]===7)assert(bytes[bytes.length-1]%2===1);var res=this.point(bytes.slice(1,1+len),bytes.slice(1+len,1+2*len));return res}else if((bytes[0]===2||bytes[0]===3)&&bytes.length-1===len)return this.pointFromX(bytes.slice(1,1+len),bytes[0]===3);throw Error(\"Unknown point format\")};BasePoint.prototype.encodeCompressed=function(enc){return this.encode(enc,!0)};BasePoint.prototype._encode=function(compact){var len=this.curve.p.byteLength(),x=this.getX().toArray(\"be\",len);if(compact)return[this.getY().isEven()?2:3].concat(x);return[4].concat(x,this.getY().toArray(\"be\",len))};BasePoint.prototype.encode=function(enc,compact){return utils.encode(this._encode(compact),enc)};BasePoint.prototype.precompute=function(power){if(this.precomputed)return this;var precomputed={doubles:null,naf:null,beta:null};return precomputed.naf=this._getNAFPoints(8),precomputed.doubles=this._getDoubles(4,power),precomputed.beta=this._getBeta(),this.precomputed=precomputed,this};BasePoint.prototype._hasDoubles=function(k){if(!this.precomputed)return!1;var doubles=this.precomputed.doubles;if(!doubles)return!1;return doubles.points.length>=Math.ceil((k.bitLength()+1)/doubles.step)};BasePoint.prototype._getDoubles=function(step,power){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;var doubles=[this],acc=this;for(var i=0;i<power;i+=step){for(var j=0;j<step;j++)acc=acc.dbl();doubles.push(acc)}return{step,points:doubles}};BasePoint.prototype._getNAFPoints=function(wnd){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;var res=[this],max=(1<<wnd)-1,dbl=max===1?null:this.dbl();for(var i=1;i<max;i++)res[i]=res[i-1].add(dbl);return{wnd,points:res}};BasePoint.prototype._getBeta=function(){return null};BasePoint.prototype.dblp=function(k){var r=this;for(var i=0;i<k;i++)r=r.dbl();return r}});var require_inherits_browser=__commonJS((exports,module)=>{if(typeof Object.create===\"function\")module.exports=function(ctor,superCtor){if(superCtor)ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})};else module.exports=function(ctor,superCtor){if(superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}}});var require_inherits=__commonJS((exports,module)=>{try{if(util=require(\"util\"),typeof util.inherits!==\"function\")throw\"\";module.exports=util.inherits}catch(e){module.exports=require_inherits_browser()}var util});var require_short=__commonJS((exports,module)=>{var utils=require_utils2(),BN=require_bn(),inherits=require_inherits(),Base=require_base(),assert=utils.assert;function ShortCurve(conf){Base.call(this,\"short\",conf),this.a=new BN(conf.a,16).toRed(this.red),this.b=new BN(conf.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=this.a.fromRed().cmpn(0)===0,this.threeA=this.a.fromRed().sub(this.p).cmpn(-3)===0,this.endo=this._getEndomorphism(conf),this._endoWnafT1=[,,,,],this._endoWnafT2=[,,,,]}inherits(ShortCurve,Base);module.exports=ShortCurve;ShortCurve.prototype._getEndomorphism=function(conf){if(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)return;var beta,lambda;if(conf.beta)beta=new BN(conf.beta,16).toRed(this.red);else{var betas=this._getEndoRoots(this.p);beta=betas[0].cmp(betas[1])<0?betas[0]:betas[1],beta=beta.toRed(this.red)}if(conf.lambda)lambda=new BN(conf.lambda,16);else{var lambdas=this._getEndoRoots(this.n);if(this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta))===0)lambda=lambdas[0];else lambda=lambdas[1],assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta))===0)}var basis;if(conf.basis)basis=conf.basis.map(function(vec){return{a:new BN(vec.a,16),b:new BN(vec.b,16)}});else basis=this._getEndoBasis(lambda);return{beta,lambda,basis}};ShortCurve.prototype._getEndoRoots=function(num){var red=num===this.p?this.red:BN.mont(num),tinv=new BN(2).toRed(red).redInvm(),ntinv=tinv.redNeg(),s=new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv),l1=ntinv.redAdd(s).fromRed(),l2=ntinv.redSub(s).fromRed();return[l1,l2]};ShortCurve.prototype._getEndoBasis=function(lambda){var aprxSqrt=this.n.ushrn(Math.floor(this.n.bitLength()/2)),u=lambda,v=this.n.clone(),x1=new BN(1),y1=new BN(0),x2=new BN(0),y2=new BN(1),a0,b0,a1,b1,a2,b2,prevR,i=0,r,x;while(u.cmpn(0)!==0){var q=v.div(u);r=v.sub(q.mul(u)),x=x2.sub(q.mul(x1));var y=y2.sub(q.mul(y1));if(!a1&&r.cmp(aprxSqrt)<0)a0=prevR.neg(),b0=x1,a1=r.neg(),b1=x;else if(a1&&++i===2)break;prevR=r,v=u,u=r,x2=x1,x1=x,y2=y1,y1=y}a2=r.neg(),b2=x;var len1=a1.sqr().add(b1.sqr()),len2=a2.sqr().add(b2.sqr());if(len2.cmp(len1)>=0)a2=a0,b2=b0;if(a1.negative)a1=a1.neg(),b1=b1.neg();if(a2.negative)a2=a2.neg(),b2=b2.neg();return[{a:a1,b:b1},{a:a2,b:b2}]};ShortCurve.prototype._endoSplit=function(k){var basis=this.endo.basis,v1=basis[0],v2=basis[1],c1=v2.b.mul(k).divRound(this.n),c2=v1.b.neg().mul(k).divRound(this.n),p1=c1.mul(v1.a),p2=c2.mul(v2.a),q1=c1.mul(v1.b),q2=c2.mul(v2.b),k1=k.sub(p1).sub(p2),k2=q1.add(q2).neg();return{k1,k2}};ShortCurve.prototype.pointFromX=function(x,odd){if(x=new BN(x,16),!x.red)x=x.toRed(this.red);var y2=x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b),y=y2.redSqrt();if(y.redSqr().redSub(y2).cmp(this.zero)!==0)throw Error(\"invalid point\");var isOdd=y.fromRed().isOdd();if(odd&&!isOdd||!odd&&isOdd)y=y.redNeg();return this.point(x,y)};ShortCurve.prototype.validate=function(point){if(point.inf)return!0;var{x,y}=point,ax=this.a.redMul(x),rhs=x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);return y.redSqr().redISub(rhs).cmpn(0)===0};ShortCurve.prototype._endoWnafMulAdd=function(points,coeffs,jacobianResult){var npoints=this._endoWnafT1,ncoeffs=this._endoWnafT2;for(var i=0;i<points.length;i++){var split=this._endoSplit(coeffs[i]),p=points[i],beta=p._getBeta();if(split.k1.negative)split.k1.ineg(),p=p.neg(!0);if(split.k2.negative)split.k2.ineg(),beta=beta.neg(!0);npoints[i*2]=p,npoints[i*2+1]=beta,ncoeffs[i*2]=split.k1,ncoeffs[i*2+1]=split.k2}var res=this._wnafMulAdd(1,npoints,ncoeffs,i*2,jacobianResult);for(var j=0;j<i*2;j++)npoints[j]=null,ncoeffs[j]=null;return res};function Point(curve,x,y,isRed){if(Base.BasePoint.call(this,curve,\"affine\"),x===null&&y===null)this.x=null,this.y=null,this.inf=!0;else{if(this.x=new BN(x,16),this.y=new BN(y,16),isRed)this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red);if(!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.y.red)this.y=this.y.toRed(this.curve.red);this.inf=!1}}inherits(Point,Base.BasePoint);ShortCurve.prototype.point=function(x,y,isRed){return new Point(this,x,y,isRed)};ShortCurve.prototype.pointFromJSON=function(obj,red){return Point.fromJSON(this,obj,red)};Point.prototype._getBeta=function(){if(!this.curve.endo)return;var pre=this.precomputed;if(pre&&pre.beta)return pre.beta;var beta=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(pre){var curve=this.curve,endoMul=function(p){return curve.point(p.x.redMul(curve.endo.beta),p.y)};pre.beta=beta,beta.precomputed={beta:null,naf:pre.naf&&{wnd:pre.naf.wnd,points:pre.naf.points.map(endoMul)},doubles:pre.doubles&&{step:pre.doubles.step,points:pre.doubles.points.map(endoMul)}}}return beta};Point.prototype.toJSON=function(){if(!this.precomputed)return[this.x,this.y];return[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]};Point.fromJSON=function(curve,obj,red){if(typeof obj===\"string\")obj=JSON.parse(obj);var res=curve.point(obj[0],obj[1],red);if(!obj[2])return res;function obj2point(obj2){return curve.point(obj2[0],obj2[1],red)}var pre=obj[2];return res.precomputed={beta:null,doubles:pre.doubles&&{step:pre.doubles.step,points:[res].concat(pre.doubles.points.map(obj2point))},naf:pre.naf&&{wnd:pre.naf.wnd,points:[res].concat(pre.naf.points.map(obj2point))}},res};Point.prototype.inspect=function(){if(this.isInfinity())return\"<EC Point Infinity>\";return\"<EC Point x: \"+this.x.fromRed().toString(16,2)+\" y: \"+this.y.fromRed().toString(16,2)+\">\"};Point.prototype.isInfinity=function(){return this.inf};Point.prototype.add=function(p){if(this.inf)return p;if(p.inf)return this;if(this.eq(p))return this.dbl();if(this.neg().eq(p))return this.curve.point(null,null);if(this.x.cmp(p.x)===0)return this.curve.point(null,null);var c=this.y.redSub(p.y);if(c.cmpn(0)!==0)c=c.redMul(this.x.redSub(p.x).redInvm());var nx=c.redSqr().redISub(this.x).redISub(p.x),ny=c.redMul(this.x.redSub(nx)).redISub(this.y);return this.curve.point(nx,ny)};Point.prototype.dbl=function(){if(this.inf)return this;var ys1=this.y.redAdd(this.y);if(ys1.cmpn(0)===0)return this.curve.point(null,null);var a=this.curve.a,x2=this.x.redSqr(),dyinv=ys1.redInvm(),c=x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv),nx=c.redSqr().redISub(this.x.redAdd(this.x)),ny=c.redMul(this.x.redSub(nx)).redISub(this.y);return this.curve.point(nx,ny)};Point.prototype.getX=function(){return this.x.fromRed()};Point.prototype.getY=function(){return this.y.fromRed()};Point.prototype.mul=function(k){if(k=new BN(k,16),this.isInfinity())return this;else if(this._hasDoubles(k))return this.curve._fixedNafMul(this,k);else if(this.curve.endo)return this.curve._endoWnafMulAdd([this],[k]);else return this.curve._wnafMul(this,k)};Point.prototype.mulAdd=function(k1,p2,k2){var points=[this,p2],coeffs=[k1,k2];if(this.curve.endo)return this.curve._endoWnafMulAdd(points,coeffs);else return this.curve._wnafMulAdd(1,points,coeffs,2)};Point.prototype.jmulAdd=function(k1,p2,k2){var points=[this,p2],coeffs=[k1,k2];if(this.curve.endo)return this.curve._endoWnafMulAdd(points,coeffs,!0);else return this.curve._wnafMulAdd(1,points,coeffs,2,!0)};Point.prototype.eq=function(p){return this===p||this.inf===p.inf&&(this.inf||this.x.cmp(p.x)===0&&this.y.cmp(p.y)===0)};Point.prototype.neg=function(_precompute){if(this.inf)return this;var res=this.curve.point(this.x,this.y.redNeg());if(_precompute&&this.precomputed){var pre=this.precomputed,negate=function(p){return p.neg()};res.precomputed={naf:pre.naf&&{wnd:pre.naf.wnd,points:pre.naf.points.map(negate)},doubles:pre.doubles&&{step:pre.doubles.step,points:pre.doubles.points.map(negate)}}}return res};Point.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var res=this.curve.jpoint(this.x,this.y,this.curve.one);return res};function JPoint(curve,x,y,z){if(Base.BasePoint.call(this,curve,\"jacobian\"),x===null&&y===null&&z===null)this.x=this.curve.one,this.y=this.curve.one,this.z=new BN(0);else this.x=new BN(x,16),this.y=new BN(y,16),this.z=new BN(z,16);if(!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.y.red)this.y=this.y.toRed(this.curve.red);if(!this.z.red)this.z=this.z.toRed(this.curve.red);this.zOne=this.z===this.curve.one}inherits(JPoint,Base.BasePoint);ShortCurve.prototype.jpoint=function(x,y,z){return new JPoint(this,x,y,z)};JPoint.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var zinv=this.z.redInvm(),zinv2=zinv.redSqr(),ax=this.x.redMul(zinv2),ay=this.y.redMul(zinv2).redMul(zinv);return this.curve.point(ax,ay)};JPoint.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)};JPoint.prototype.add=function(p){if(this.isInfinity())return p;if(p.isInfinity())return this;var pz2=p.z.redSqr(),z2=this.z.redSqr(),u1=this.x.redMul(pz2),u2=p.x.redMul(z2),s1=this.y.redMul(pz2.redMul(p.z)),s2=p.y.redMul(z2.redMul(this.z)),h=u1.redSub(u2),r=s1.redSub(s2);if(h.cmpn(0)===0)if(r.cmpn(0)!==0)return this.curve.jpoint(null,null,null);else return this.dbl();var h2=h.redSqr(),h3=h2.redMul(h),v=u1.redMul(h2),nx=r.redSqr().redIAdd(h3).redISub(v).redISub(v),ny=r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)),nz=this.z.redMul(p.z).redMul(h);return this.curve.jpoint(nx,ny,nz)};JPoint.prototype.mixedAdd=function(p){if(this.isInfinity())return p.toJ();if(p.isInfinity())return this;var z2=this.z.redSqr(),u1=this.x,u2=p.x.redMul(z2),s1=this.y,s2=p.y.redMul(z2).redMul(this.z),h=u1.redSub(u2),r=s1.redSub(s2);if(h.cmpn(0)===0)if(r.cmpn(0)!==0)return this.curve.jpoint(null,null,null);else return this.dbl();var h2=h.redSqr(),h3=h2.redMul(h),v=u1.redMul(h2),nx=r.redSqr().redIAdd(h3).redISub(v).redISub(v),ny=r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)),nz=this.z.redMul(h);return this.curve.jpoint(nx,ny,nz)};JPoint.prototype.dblp=function(pow){if(pow===0)return this;if(this.isInfinity())return this;if(!pow)return this.dbl();var i;if(this.curve.zeroA||this.curve.threeA){var r=this;for(i=0;i<pow;i++)r=r.dbl();return r}var a=this.curve.a,tinv=this.curve.tinv,jx=this.x,jy=this.y,jz=this.z,jz4=jz.redSqr().redSqr(),jyd=jy.redAdd(jy);for(i=0;i<pow;i++){var jx2=jx.redSqr(),jyd2=jyd.redSqr(),jyd4=jyd2.redSqr(),c=jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)),t1=jx.redMul(jyd2),nx=c.redSqr().redISub(t1.redAdd(t1)),t2=t1.redISub(nx),dny=c.redMul(t2);dny=dny.redIAdd(dny).redISub(jyd4);var nz=jyd.redMul(jz);if(i+1<pow)jz4=jz4.redMul(jyd4);jx=nx,jz=nz,jyd=dny}return this.curve.jpoint(jx,jyd.redMul(tinv),jz)};JPoint.prototype.dbl=function(){if(this.isInfinity())return this;if(this.curve.zeroA)return this._zeroDbl();else if(this.curve.threeA)return this._threeDbl();else return this._dbl()};JPoint.prototype._zeroDbl=function(){var nx,ny,nz;if(this.zOne){var xx=this.x.redSqr(),yy=this.y.redSqr(),yyyy=yy.redSqr(),s=this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);s=s.redIAdd(s);var m=xx.redAdd(xx).redIAdd(xx),t=m.redSqr().redISub(s).redISub(s),yyyy8=yyyy.redIAdd(yyyy);yyyy8=yyyy8.redIAdd(yyyy8),yyyy8=yyyy8.redIAdd(yyyy8),nx=t,ny=m.redMul(s.redISub(t)).redISub(yyyy8),nz=this.y.redAdd(this.y)}else{var a=this.x.redSqr(),b=this.y.redSqr(),c=b.redSqr(),d=this.x.redAdd(b).redSqr().redISub(a).redISub(c);d=d.redIAdd(d);var e=a.redAdd(a).redIAdd(a),f=e.redSqr(),c8=c.redIAdd(c);c8=c8.redIAdd(c8),c8=c8.redIAdd(c8),nx=f.redISub(d).redISub(d),ny=e.redMul(d.redISub(nx)).redISub(c8),nz=this.y.redMul(this.z),nz=nz.redIAdd(nz)}return this.curve.jpoint(nx,ny,nz)};JPoint.prototype._threeDbl=function(){var nx,ny,nz;if(this.zOne){var xx=this.x.redSqr(),yy=this.y.redSqr(),yyyy=yy.redSqr(),s=this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);s=s.redIAdd(s);var m=xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a),t=m.redSqr().redISub(s).redISub(s);nx=t;var yyyy8=yyyy.redIAdd(yyyy);yyyy8=yyyy8.redIAdd(yyyy8),yyyy8=yyyy8.redIAdd(yyyy8),ny=m.redMul(s.redISub(t)).redISub(yyyy8),nz=this.y.redAdd(this.y)}else{var delta=this.z.redSqr(),gamma=this.y.redSqr(),beta=this.x.redMul(gamma),alpha=this.x.redSub(delta).redMul(this.x.redAdd(delta));alpha=alpha.redAdd(alpha).redIAdd(alpha);var beta4=beta.redIAdd(beta);beta4=beta4.redIAdd(beta4);var beta8=beta4.redAdd(beta4);nx=alpha.redSqr().redISub(beta8),nz=this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);var ggamma8=gamma.redSqr();ggamma8=ggamma8.redIAdd(ggamma8),ggamma8=ggamma8.redIAdd(ggamma8),ggamma8=ggamma8.redIAdd(ggamma8),ny=alpha.redMul(beta4.redISub(nx)).redISub(ggamma8)}return this.curve.jpoint(nx,ny,nz)};JPoint.prototype._dbl=function(){var a=this.curve.a,jx=this.x,jy=this.y,jz=this.z,jz4=jz.redSqr().redSqr(),jx2=jx.redSqr(),jy2=jy.redSqr(),c=jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)),jxd4=jx.redAdd(jx);jxd4=jxd4.redIAdd(jxd4);var t1=jxd4.redMul(jy2),nx=c.redSqr().redISub(t1.redAdd(t1)),t2=t1.redISub(nx),jyd8=jy2.redSqr();jyd8=jyd8.redIAdd(jyd8),jyd8=jyd8.redIAdd(jyd8),jyd8=jyd8.redIAdd(jyd8);var ny=c.redMul(t2).redISub(jyd8),nz=jy.redAdd(jy).redMul(jz);return this.curve.jpoint(nx,ny,nz)};JPoint.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var xx=this.x.redSqr(),yy=this.y.redSqr(),zz=this.z.redSqr(),yyyy=yy.redSqr(),m=xx.redAdd(xx).redIAdd(xx),mm=m.redSqr(),e=this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);e=e.redIAdd(e),e=e.redAdd(e).redIAdd(e),e=e.redISub(mm);var ee=e.redSqr(),t=yyyy.redIAdd(yyyy);t=t.redIAdd(t),t=t.redIAdd(t),t=t.redIAdd(t);var u=m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t),yyu4=yy.redMul(u);yyu4=yyu4.redIAdd(yyu4),yyu4=yyu4.redIAdd(yyu4);var nx=this.x.redMul(ee).redISub(yyu4);nx=nx.redIAdd(nx),nx=nx.redIAdd(nx);var ny=this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));ny=ny.redIAdd(ny),ny=ny.redIAdd(ny),ny=ny.redIAdd(ny);var nz=this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);return this.curve.jpoint(nx,ny,nz)};JPoint.prototype.mul=function(k,kbase){return k=new BN(k,kbase),this.curve._wnafMul(this,k)};JPoint.prototype.eq=function(p){if(p.type===\"affine\")return this.eq(p.toJ());if(this===p)return!0;var z2=this.z.redSqr(),pz2=p.z.redSqr();if(this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0)!==0)return!1;var z3=z2.redMul(this.z),pz3=pz2.redMul(p.z);return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0)===0};JPoint.prototype.eqXToP=function(x){var zs=this.z.redSqr(),rx=x.toRed(this.curve.red).redMul(zs);if(this.x.cmp(rx)===0)return!0;var xc=x.clone(),t=this.curve.redN.redMul(zs);for(;;){if(xc.iadd(this.curve.n),xc.cmp(this.curve.p)>=0)return!1;if(rx.redIAdd(t),this.x.cmp(rx)===0)return!0}};JPoint.prototype.inspect=function(){if(this.isInfinity())return\"<EC JPoint Infinity>\";return\"<EC JPoint x: \"+this.x.toString(16,2)+\" y: \"+this.y.toString(16,2)+\" z: \"+this.z.toString(16,2)+\">\"};JPoint.prototype.isInfinity=function(){return this.z.cmpn(0)===0}});var require_mont=__commonJS((exports,module)=>{var BN=require_bn(),inherits=require_inherits(),Base=require_base(),utils=require_utils2();function MontCurve(conf){Base.call(this,\"mont\",conf),this.a=new BN(conf.a,16).toRed(this.red),this.b=new BN(conf.b,16).toRed(this.red),this.i4=new BN(4).toRed(this.red).redInvm(),this.two=new BN(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}inherits(MontCurve,Base);module.exports=MontCurve;MontCurve.prototype.validate=function(point){var x=point.normalize().x,x2=x.redSqr(),rhs=x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x),y=rhs.redSqrt();return y.redSqr().cmp(rhs)===0};function Point(curve,x,z){if(Base.BasePoint.call(this,curve,\"projective\"),x===null&&z===null)this.x=this.curve.one,this.z=this.curve.zero;else{if(this.x=new BN(x,16),this.z=new BN(z,16),!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.z.red)this.z=this.z.toRed(this.curve.red)}}inherits(Point,Base.BasePoint);MontCurve.prototype.decodePoint=function(bytes,enc){return this.point(utils.toArray(bytes,enc),1)};MontCurve.prototype.point=function(x,z){return new Point(this,x,z)};MontCurve.prototype.pointFromJSON=function(obj){return Point.fromJSON(this,obj)};Point.prototype.precompute=function(){};Point.prototype._encode=function(){return this.getX().toArray(\"be\",this.curve.p.byteLength())};Point.fromJSON=function(curve,obj){return new Point(curve,obj[0],obj[1]||curve.one)};Point.prototype.inspect=function(){if(this.isInfinity())return\"<EC Point Infinity>\";return\"<EC Point x: \"+this.x.fromRed().toString(16,2)+\" z: \"+this.z.fromRed().toString(16,2)+\">\"};Point.prototype.isInfinity=function(){return this.z.cmpn(0)===0};Point.prototype.dbl=function(){var a=this.x.redAdd(this.z),aa=a.redSqr(),b=this.x.redSub(this.z),bb=b.redSqr(),c=aa.redSub(bb),nx=aa.redMul(bb),nz=c.redMul(bb.redAdd(this.curve.a24.redMul(c)));return this.curve.point(nx,nz)};Point.prototype.add=function(){throw Error(\"Not supported on Montgomery curve\")};Point.prototype.diffAdd=function(p,diff){var a=this.x.redAdd(this.z),b=this.x.redSub(this.z),c=p.x.redAdd(p.z),d=p.x.redSub(p.z),da=d.redMul(a),cb=c.redMul(b),nx=diff.z.redMul(da.redAdd(cb).redSqr()),nz=diff.x.redMul(da.redISub(cb).redSqr());return this.curve.point(nx,nz)};Point.prototype.mul=function(k){var t=k.clone(),a=this,b=this.curve.point(null,null),c=this;for(var bits=[];t.cmpn(0)!==0;t.iushrn(1))bits.push(t.andln(1));for(var i=bits.length-1;i>=0;i--)if(bits[i]===0)a=a.diffAdd(b,c),b=b.dbl();else b=a.diffAdd(b,c),a=a.dbl();return b};Point.prototype.mulAdd=function(){throw Error(\"Not supported on Montgomery curve\")};Point.prototype.jumlAdd=function(){throw Error(\"Not supported on Montgomery curve\")};Point.prototype.eq=function(other){return this.getX().cmp(other.getX())===0};Point.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this};Point.prototype.getX=function(){return this.normalize(),this.x.fromRed()}});var require_edwards=__commonJS((exports,module)=>{var utils=require_utils2(),BN=require_bn(),inherits=require_inherits(),Base=require_base(),assert=utils.assert;function EdwardsCurve(conf){this.twisted=(conf.a|0)!==1,this.mOneA=this.twisted&&(conf.a|0)===-1,this.extended=this.mOneA,Base.call(this,\"edwards\",conf),this.a=new BN(conf.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new BN(conf.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new BN(conf.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),assert(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(conf.c|0)===1}inherits(EdwardsCurve,Base);module.exports=EdwardsCurve;EdwardsCurve.prototype._mulA=function(num){if(this.mOneA)return num.redNeg();else return this.a.redMul(num)};EdwardsCurve.prototype._mulC=function(num){if(this.oneC)return num;else return this.c.redMul(num)};EdwardsCurve.prototype.jpoint=function(x,y,z,t){return this.point(x,y,z,t)};EdwardsCurve.prototype.pointFromX=function(x,odd){if(x=new BN(x,16),!x.red)x=x.toRed(this.red);var x2=x.redSqr(),rhs=this.c2.redSub(this.a.redMul(x2)),lhs=this.one.redSub(this.c2.redMul(this.d).redMul(x2)),y2=rhs.redMul(lhs.redInvm()),y=y2.redSqrt();if(y.redSqr().redSub(y2).cmp(this.zero)!==0)throw Error(\"invalid point\");var isOdd=y.fromRed().isOdd();if(odd&&!isOdd||!odd&&isOdd)y=y.redNeg();return this.point(x,y)};EdwardsCurve.prototype.pointFromY=function(y,odd){if(y=new BN(y,16),!y.red)y=y.toRed(this.red);var y2=y.redSqr(),lhs=y2.redSub(this.c2),rhs=y2.redMul(this.d).redMul(this.c2).redSub(this.a),x2=lhs.redMul(rhs.redInvm());if(x2.cmp(this.zero)===0)if(odd)throw Error(\"invalid point\");else return this.point(this.zero,y);var x=x2.redSqrt();if(x.redSqr().redSub(x2).cmp(this.zero)!==0)throw Error(\"invalid point\");if(x.fromRed().isOdd()!==odd)x=x.redNeg();return this.point(x,y)};EdwardsCurve.prototype.validate=function(point){if(point.isInfinity())return!0;point.normalize();var x2=point.x.redSqr(),y2=point.y.redSqr(),lhs=x2.redMul(this.a).redAdd(y2),rhs=this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));return lhs.cmp(rhs)===0};function Point(curve,x,y,z,t){if(Base.BasePoint.call(this,curve,\"projective\"),x===null&&y===null&&z===null)this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0;else{if(this.x=new BN(x,16),this.y=new BN(y,16),this.z=z?new BN(z,16):this.curve.one,this.t=t&&new BN(t,16),!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.y.red)this.y=this.y.toRed(this.curve.red);if(!this.z.red)this.z=this.z.toRed(this.curve.red);if(this.t&&!this.t.red)this.t=this.t.toRed(this.curve.red);if(this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t){if(this.t=this.x.redMul(this.y),!this.zOne)this.t=this.t.redMul(this.z.redInvm())}}}inherits(Point,Base.BasePoint);EdwardsCurve.prototype.pointFromJSON=function(obj){return Point.fromJSON(this,obj)};EdwardsCurve.prototype.point=function(x,y,z,t){return new Point(this,x,y,z,t)};Point.fromJSON=function(curve,obj){return new Point(curve,obj[0],obj[1],obj[2])};Point.prototype.inspect=function(){if(this.isInfinity())return\"<EC Point Infinity>\";return\"<EC Point x: \"+this.x.fromRed().toString(16,2)+\" y: \"+this.y.fromRed().toString(16,2)+\" z: \"+this.z.fromRed().toString(16,2)+\">\"};Point.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)};Point.prototype._extDbl=function(){var a=this.x.redSqr(),b=this.y.redSqr(),c=this.z.redSqr();c=c.redIAdd(c);var d=this.curve._mulA(a),e=this.x.redAdd(this.y).redSqr().redISub(a).redISub(b),g=d.redAdd(b),f=g.redSub(c),h=d.redSub(b),nx=e.redMul(f),ny=g.redMul(h),nt=e.redMul(h),nz=f.redMul(g);return this.curve.point(nx,ny,nz,nt)};Point.prototype._projDbl=function(){var b=this.x.redAdd(this.y).redSqr(),c=this.x.redSqr(),d=this.y.redSqr(),nx,ny,nz,e,h,j;if(this.curve.twisted){e=this.curve._mulA(c);var f=e.redAdd(d);if(this.zOne)nx=b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two)),ny=f.redMul(e.redSub(d)),nz=f.redSqr().redSub(f).redSub(f);else h=this.z.redSqr(),j=f.redSub(h).redISub(h),nx=b.redSub(c).redISub(d).redMul(j),ny=f.redMul(e.redSub(d)),nz=f.redMul(j)}else e=c.redAdd(d),h=this.curve._mulC(this.z).redSqr(),j=e.redSub(h).redSub(h),nx=this.curve._mulC(b.redISub(e)).redMul(j),ny=this.curve._mulC(e).redMul(c.redISub(d)),nz=e.redMul(j);return this.curve.point(nx,ny,nz)};Point.prototype.dbl=function(){if(this.isInfinity())return this;if(this.curve.extended)return this._extDbl();else return this._projDbl()};Point.prototype._extAdd=function(p){var a=this.y.redSub(this.x).redMul(p.y.redSub(p.x)),b=this.y.redAdd(this.x).redMul(p.y.redAdd(p.x)),c=this.t.redMul(this.curve.dd).redMul(p.t),d=this.z.redMul(p.z.redAdd(p.z)),e=b.redSub(a),f=d.redSub(c),g=d.redAdd(c),h=b.redAdd(a),nx=e.redMul(f),ny=g.redMul(h),nt=e.redMul(h),nz=f.redMul(g);return this.curve.point(nx,ny,nz,nt)};Point.prototype._projAdd=function(p){var a=this.z.redMul(p.z),b=a.redSqr(),c=this.x.redMul(p.x),d=this.y.redMul(p.y),e=this.curve.d.redMul(c).redMul(d),f=b.redSub(e),g=b.redAdd(e),tmp=this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d),nx=a.redMul(f).redMul(tmp),ny,nz;if(this.curve.twisted)ny=a.redMul(g).redMul(d.redSub(this.curve._mulA(c))),nz=f.redMul(g);else ny=a.redMul(g).redMul(d.redSub(c)),nz=this.curve._mulC(f).redMul(g);return this.curve.point(nx,ny,nz)};Point.prototype.add=function(p){if(this.isInfinity())return p;if(p.isInfinity())return this;if(this.curve.extended)return this._extAdd(p);else return this._projAdd(p)};Point.prototype.mul=function(k){if(this._hasDoubles(k))return this.curve._fixedNafMul(this,k);else return this.curve._wnafMul(this,k)};Point.prototype.mulAdd=function(k1,p,k2){return this.curve._wnafMulAdd(1,[this,p],[k1,k2],2,!1)};Point.prototype.jmulAdd=function(k1,p,k2){return this.curve._wnafMulAdd(1,[this,p],[k1,k2],2,!0)};Point.prototype.normalize=function(){if(this.zOne)return this;var zi=this.z.redInvm();if(this.x=this.x.redMul(zi),this.y=this.y.redMul(zi),this.t)this.t=this.t.redMul(zi);return this.z=this.curve.one,this.zOne=!0,this};Point.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())};Point.prototype.getX=function(){return this.normalize(),this.x.fromRed()};Point.prototype.getY=function(){return this.normalize(),this.y.fromRed()};Point.prototype.eq=function(other){return this===other||this.getX().cmp(other.getX())===0&&this.getY().cmp(other.getY())===0};Point.prototype.eqXToP=function(x){var rx=x.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(rx)===0)return!0;var xc=x.clone(),t=this.curve.redN.redMul(this.z);for(;;){if(xc.iadd(this.curve.n),xc.cmp(this.curve.p)>=0)return!1;if(rx.redIAdd(t),this.x.cmp(rx)===0)return!0}};Point.prototype.toP=Point.prototype.normalize;Point.prototype.mixedAdd=Point.prototype.add});var require_curve=__commonJS((exports)=>{var curve=exports;curve.base=require_base();curve.short=require_short();curve.mont=require_mont();curve.edwards=require_edwards()});var require_utils3=__commonJS((exports)=>{var assert=require_minimalistic_assert(),inherits=require_inherits();exports.inherits=inherits;function isSurrogatePair(msg,i){if((msg.charCodeAt(i)&64512)!==55296)return!1;if(i<0||i+1>=msg.length)return!1;return(msg.charCodeAt(i+1)&64512)===56320}function toArray(msg,enc){if(Array.isArray(msg))return msg.slice();if(!msg)return[];var res=[];if(typeof msg===\"string\"){if(!enc){var p=0;for(var i=0;i<msg.length;i++){var c=msg.charCodeAt(i);if(c<128)res[p++]=c;else if(c<2048)res[p++]=c>>6|192,res[p++]=c&63|128;else if(isSurrogatePair(msg,i))c=65536+((c&1023)<<10)+(msg.charCodeAt(++i)&1023),res[p++]=c>>18|240,res[p++]=c>>12&63|128,res[p++]=c>>6&63|128,res[p++]=c&63|128;else res[p++]=c>>12|224,res[p++]=c>>6&63|128,res[p++]=c&63|128}}else if(enc===\"hex\"){if(msg=msg.replace(/[^a-z0-9]+/ig,\"\"),msg.length%2!==0)msg=\"0\"+msg;for(i=0;i<msg.length;i+=2)res.push(parseInt(msg[i]+msg[i+1],16))}}else for(i=0;i<msg.length;i++)res[i]=msg[i]|0;return res}exports.toArray=toArray;function toHex(msg){var res=\"\";for(var i=0;i<msg.length;i++)res+=zero2(msg[i].toString(16));return res}exports.toHex=toHex;function htonl(w){var res=w>>>24|w>>>8&65280|w<<8&16711680|(w&255)<<24;return res>>>0}exports.htonl=htonl;function toHex32(msg,endian){var res=\"\";for(var i=0;i<msg.length;i++){var w=msg[i];if(endian===\"little\")w=htonl(w);res+=zero8(w.toString(16))}return res}exports.toHex32=toHex32;function zero2(word){if(word.length===1)return\"0\"+word;else return word}exports.zero2=zero2;function zero8(word){if(word.length===7)return\"0\"+word;else if(word.length===6)return\"00\"+word;else if(word.length===5)return\"000\"+word;else if(word.length===4)return\"0000\"+word;else if(word.length===3)return\"00000\"+word;else if(word.length===2)return\"000000\"+word;else if(word.length===1)return\"0000000\"+word;else return word}exports.zero8=zero8;function join32(msg,start,end,endian){var len=end-start;assert(len%4===0);var res=Array(len/4);for(var i=0,k=start;i<res.length;i++,k+=4){var w;if(endian===\"big\")w=msg[k]<<24|msg[k+1]<<16|msg[k+2]<<8|msg[k+3];else w=msg[k+3]<<24|msg[k+2]<<16|msg[k+1]<<8|msg[k];res[i]=w>>>0}return res}exports.join32=join32;function split32(msg,endian){var res=Array(msg.length*4);for(var i=0,k=0;i<msg.length;i++,k+=4){var m=msg[i];if(endian===\"big\")res[k]=m>>>24,res[k+1]=m>>>16&255,res[k+2]=m>>>8&255,res[k+3]=m&255;else res[k+3]=m>>>24,res[k+2]=m>>>16&255,res[k+1]=m>>>8&255,res[k]=m&255}return res}exports.split32=split32;function rotr32(w,b){return w>>>b|w<<32-b}exports.rotr32=rotr32;function rotl32(w,b){return w<<b|w>>>32-b}exports.rotl32=rotl32;function sum32(a,b){return a+b>>>0}exports.sum32=sum32;function sum32_3(a,b,c){return a+b+c>>>0}exports.sum32_3=sum32_3;function sum32_4(a,b,c,d){return a+b+c+d>>>0}exports.sum32_4=sum32_4;function sum32_5(a,b,c,d,e){return a+b+c+d+e>>>0}exports.sum32_5=sum32_5;function sum64(buf,pos,ah,al){var bh=buf[pos],bl=buf[pos+1],lo=al+bl>>>0,hi=(lo<al?1:0)+ah+bh;buf[pos]=hi>>>0,buf[pos+1]=lo}exports.sum64=sum64;function sum64_hi(ah,al,bh,bl){var lo=al+bl>>>0,hi=(lo<al?1:0)+ah+bh;return hi>>>0}exports.sum64_hi=sum64_hi;function sum64_lo(ah,al,bh,bl){var lo=al+bl;return lo>>>0}exports.sum64_lo=sum64_lo;function sum64_4_hi(ah,al,bh,bl,ch,cl,dh,dl){var carry=0,lo=al;lo=lo+bl>>>0,carry+=lo<al?1:0,lo=lo+cl>>>0,carry+=lo<cl?1:0,lo=lo+dl>>>0,carry+=lo<dl?1:0;var hi=ah+bh+ch+dh+carry;return hi>>>0}exports.sum64_4_hi=sum64_4_hi;function sum64_4_lo(ah,al,bh,bl,ch,cl,dh,dl){var lo=al+bl+cl+dl;return lo>>>0}exports.sum64_4_lo=sum64_4_lo;function sum64_5_hi(ah,al,bh,bl,ch,cl,dh,dl,eh,el){var carry=0,lo=al;lo=lo+bl>>>0,carry+=lo<al?1:0,lo=lo+cl>>>0,carry+=lo<cl?1:0,lo=lo+dl>>>0,carry+=lo<dl?1:0,lo=lo+el>>>0,carry+=lo<el?1:0;var hi=ah+bh+ch+dh+eh+carry;return hi>>>0}exports.sum64_5_hi=sum64_5_hi;function sum64_5_lo(ah,al,bh,bl,ch,cl,dh,dl,eh,el){var lo=al+bl+cl+dl+el;return lo>>>0}exports.sum64_5_lo=sum64_5_lo;function rotr64_hi(ah,al,num){var r=al<<32-num|ah>>>num;return r>>>0}exports.rotr64_hi=rotr64_hi;function rotr64_lo(ah,al,num){var r=ah<<32-num|al>>>num;return r>>>0}exports.rotr64_lo=rotr64_lo;function shr64_hi(ah,al,num){return ah>>>num}exports.shr64_hi=shr64_hi;function shr64_lo(ah,al,num){var r=ah<<32-num|al>>>num;return r>>>0}exports.shr64_lo=shr64_lo});var require_common=__commonJS((exports)=>{var utils=require_utils3(),assert=require_minimalistic_assert();function BlockHash(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian=\"big\",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}exports.BlockHash=BlockHash;BlockHash.prototype.update=function(msg,enc){if(msg=utils.toArray(msg,enc),!this.pending)this.pending=msg;else this.pending=this.pending.concat(msg);if(this.pendingTotal+=msg.length,this.pending.length>=this._delta8){msg=this.pending;var r=msg.length%this._delta8;if(this.pending=msg.slice(msg.length-r,msg.length),this.pending.length===0)this.pending=null;msg=utils.join32(msg,0,msg.length-r,this.endian);for(var i=0;i<msg.length;i+=this._delta32)this._update(msg,i,i+this._delta32)}return this};BlockHash.prototype.digest=function(enc){return this.update(this._pad()),assert(this.pending===null),this._digest(enc)};BlockHash.prototype._pad=function(){var len=this.pendingTotal,bytes=this._delta8,k=bytes-(len+this.padLength)%bytes,res=Array(k+this.padLength);res[0]=128;for(var i=1;i<k;i++)res[i]=0;if(len<<=3,this.endian===\"big\"){for(var t=8;t<this.padLength;t++)res[i++]=0;res[i++]=0,res[i++]=0,res[i++]=0,res[i++]=0,res[i++]=len>>>24&255,res[i++]=len>>>16&255,res[i++]=len>>>8&255,res[i++]=len&255}else{res[i++]=len&255,res[i++]=len>>>8&255,res[i++]=len>>>16&255,res[i++]=len>>>24&255,res[i++]=0,res[i++]=0,res[i++]=0,res[i++]=0;for(t=8;t<this.padLength;t++)res[i++]=0}return res}});var require_common2=__commonJS((exports)=>{var utils=require_utils3(),rotr32=utils.rotr32;function ft_1(s,x,y,z){if(s===0)return ch32(x,y,z);if(s===1||s===3)return p32(x,y,z);if(s===2)return maj32(x,y,z)}exports.ft_1=ft_1;function ch32(x,y,z){return x&y^~x&z}exports.ch32=ch32;function maj32(x,y,z){return x&y^x&z^y&z}exports.maj32=maj32;function p32(x,y,z){return x^y^z}exports.p32=p32;function s0_256(x){return rotr32(x,2)^rotr32(x,13)^rotr32(x,22)}exports.s0_256=s0_256;function s1_256(x){return rotr32(x,6)^rotr32(x,11)^rotr32(x,25)}exports.s1_256=s1_256;function g0_256(x){return rotr32(x,7)^rotr32(x,18)^x>>>3}exports.g0_256=g0_256;function g1_256(x){return rotr32(x,17)^rotr32(x,19)^x>>>10}exports.g1_256=g1_256});var require_1=__commonJS((exports,module)=>{var utils=require_utils3(),common=require_common(),shaCommon=require_common2(),rotl32=utils.rotl32,sum32=utils.sum32,sum32_5=utils.sum32_5,ft_1=shaCommon.ft_1,BlockHash=common.BlockHash,sha1_K=[1518500249,1859775393,2400959708,3395469782];function SHA1(){if(!(this instanceof SHA1))return new SHA1;BlockHash.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=Array(80)}utils.inherits(SHA1,BlockHash);module.exports=SHA1;SHA1.blockSize=512;SHA1.outSize=160;SHA1.hmacStrength=80;SHA1.padLength=64;SHA1.prototype._update=function(msg,start){var W=this.W;for(var i=0;i<16;i++)W[i]=msg[start+i];for(;i<W.length;i++)W[i]=rotl32(W[i-3]^W[i-8]^W[i-14]^W[i-16],1);var a=this.h[0],b=this.h[1],c=this.h[2],d=this.h[3],e=this.h[4];for(i=0;i<W.length;i++){var s=~~(i/20),t=sum32_5(rotl32(a,5),ft_1(s,b,c,d),e,W[i],sha1_K[s]);e=d,d=c,c=rotl32(b,30),b=a,a=t}this.h[0]=sum32(this.h[0],a),this.h[1]=sum32(this.h[1],b),this.h[2]=sum32(this.h[2],c),this.h[3]=sum32(this.h[3],d),this.h[4]=sum32(this.h[4],e)};SHA1.prototype._digest=function(enc){if(enc===\"hex\")return utils.toHex32(this.h,\"big\");else return utils.split32(this.h,\"big\")}});var require_256=__commonJS((exports,module)=>{var utils=require_utils3(),common=require_common(),shaCommon=require_common2(),assert=require_minimalistic_assert(),sum32=utils.sum32,sum32_4=utils.sum32_4,sum32_5=utils.sum32_5,ch32=shaCommon.ch32,maj32=shaCommon.maj32,s0_256=shaCommon.s0_256,s1_256=shaCommon.s1_256,g0_256=shaCommon.g0_256,g1_256=shaCommon.g1_256,BlockHash=common.BlockHash,sha256_K=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function SHA256(){if(!(this instanceof SHA256))return new SHA256;BlockHash.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=sha256_K,this.W=Array(64)}utils.inherits(SHA256,BlockHash);module.exports=SHA256;SHA256.blockSize=512;SHA256.outSize=256;SHA256.hmacStrength=192;SHA256.padLength=64;SHA256.prototype._update=function(msg,start){var W=this.W;for(var i=0;i<16;i++)W[i]=msg[start+i];for(;i<W.length;i++)W[i]=sum32_4(g1_256(W[i-2]),W[i-7],g0_256(W[i-15]),W[i-16]);var a=this.h[0],b=this.h[1],c=this.h[2],d=this.h[3],e=this.h[4],f=this.h[5],g=this.h[6],h=this.h[7];assert(this.k.length===W.length);for(i=0;i<W.length;i++){var T1=sum32_5(h,s1_256(e),ch32(e,f,g),this.k[i],W[i]),T2=sum32(s0_256(a),maj32(a,b,c));h=g,g=f,f=e,e=sum32(d,T1),d=c,c=b,b=a,a=sum32(T1,T2)}this.h[0]=sum32(this.h[0],a),this.h[1]=sum32(this.h[1],b),this.h[2]=sum32(this.h[2],c),this.h[3]=sum32(this.h[3],d),this.h[4]=sum32(this.h[4],e),this.h[5]=sum32(this.h[5],f),this.h[6]=sum32(this.h[6],g),this.h[7]=sum32(this.h[7],h)};SHA256.prototype._digest=function(enc){if(enc===\"hex\")return utils.toHex32(this.h,\"big\");else return utils.split32(this.h,\"big\")}});var require_224=__commonJS((exports,module)=>{var utils=require_utils3(),SHA256=require_256();function SHA224(){if(!(this instanceof SHA224))return new SHA224;SHA256.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}utils.inherits(SHA224,SHA256);module.exports=SHA224;SHA224.blockSize=512;SHA224.outSize=224;SHA224.hmacStrength=192;SHA224.padLength=64;SHA224.prototype._digest=function(enc){if(enc===\"hex\")return utils.toHex32(this.h.slice(0,7),\"big\");else return utils.split32(this.h.slice(0,7),\"big\")}});var require_512=__commonJS((exports,module)=>{var utils=require_utils3(),common=require_common(),assert=require_minimalistic_assert(),rotr64_hi=utils.rotr64_hi,rotr64_lo=utils.rotr64_lo,shr64_hi=utils.shr64_hi,shr64_lo=utils.shr64_lo,sum64=utils.sum64,sum64_hi=utils.sum64_hi,sum64_lo=utils.sum64_lo,sum64_4_hi=utils.sum64_4_hi,sum64_4_lo=utils.sum64_4_lo,sum64_5_hi=utils.sum64_5_hi,sum64_5_lo=utils.sum64_5_lo,BlockHash=common.BlockHash,sha512_K=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function SHA512(){if(!(this instanceof SHA512))return new SHA512;BlockHash.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=sha512_K,this.W=Array(160)}utils.inherits(SHA512,BlockHash);module.exports=SHA512;SHA512.blockSize=1024;SHA512.outSize=512;SHA512.hmacStrength=192;SHA512.padLength=128;SHA512.prototype._prepareBlock=function(msg,start){var W=this.W;for(var i=0;i<32;i++)W[i]=msg[start+i];for(;i<W.length;i+=2){var c0_hi=g1_512_hi(W[i-4],W[i-3]),c0_lo=g1_512_lo(W[i-4],W[i-3]),c1_hi=W[i-14],c1_lo=W[i-13],c2_hi=g0_512_hi(W[i-30],W[i-29]),c2_lo=g0_512_lo(W[i-30],W[i-29]),c3_hi=W[i-32],c3_lo=W[i-31];W[i]=sum64_4_hi(c0_hi,c0_lo,c1_hi,c1_lo,c2_hi,c2_lo,c3_hi,c3_lo),W[i+1]=sum64_4_lo(c0_hi,c0_lo,c1_hi,c1_lo,c2_hi,c2_lo,c3_hi,c3_lo)}};SHA512.prototype._update=function(msg,start){this._prepareBlock(msg,start);var W=this.W,ah=this.h[0],al=this.h[1],bh=this.h[2],bl=this.h[3],ch=this.h[4],cl=this.h[5],dh=this.h[6],dl=this.h[7],eh=this.h[8],el=this.h[9],fh=this.h[10],fl=this.h[11],gh=this.h[12],gl=this.h[13],hh=this.h[14],hl=this.h[15];assert(this.k.length===W.length);for(var i=0;i<W.length;i+=2){var c0_hi=hh,c0_lo=hl,c1_hi=s1_512_hi(eh,el),c1_lo=s1_512_lo(eh,el),c2_hi=ch64_hi(eh,el,fh,fl,gh,gl),c2_lo=ch64_lo(eh,el,fh,fl,gh,gl),c3_hi=this.k[i],c3_lo=this.k[i+1],c4_hi=W[i],c4_lo=W[i+1],T1_hi=sum64_5_hi(c0_hi,c0_lo,c1_hi,c1_lo,c2_hi,c2_lo,c3_hi,c3_lo,c4_hi,c4_lo),T1_lo=sum64_5_lo(c0_hi,c0_lo,c1_hi,c1_lo,c2_hi,c2_lo,c3_hi,c3_lo,c4_hi,c4_lo);c0_hi=s0_512_hi(ah,al),c0_lo=s0_512_lo(ah,al),c1_hi=maj64_hi(ah,al,bh,bl,ch,cl),c1_lo=maj64_lo(ah,al,bh,bl,ch,cl);var T2_hi=sum64_hi(c0_hi,c0_lo,c1_hi,c1_lo),T2_lo=sum64_lo(c0_hi,c0_lo,c1_hi,c1_lo);hh=gh,hl=gl,gh=fh,gl=fl,fh=eh,fl=el,eh=sum64_hi(dh,dl,T1_hi,T1_lo),el=sum64_lo(dl,dl,T1_hi,T1_lo),dh=ch,dl=cl,ch=bh,cl=bl,bh=ah,bl=al,ah=sum64_hi(T1_hi,T1_lo,T2_hi,T2_lo),al=sum64_lo(T1_hi,T1_lo,T2_hi,T2_lo)}sum64(this.h,0,ah,al),sum64(this.h,2,bh,bl),sum64(this.h,4,ch,cl),sum64(this.h,6,dh,dl),sum64(this.h,8,eh,el),sum64(this.h,10,fh,fl),sum64(this.h,12,gh,gl),sum64(this.h,14,hh,hl)};SHA512.prototype._digest=function(enc){if(enc===\"hex\")return utils.toHex32(this.h,\"big\");else return utils.split32(this.h,\"big\")};function ch64_hi(xh,xl,yh,yl,zh){var r=xh&yh^~xh&zh;if(r<0)r+=4294967296;return r}function ch64_lo(xh,xl,yh,yl,zh,zl){var r=xl&yl^~xl&zl;if(r<0)r+=4294967296;return r}function maj64_hi(xh,xl,yh,yl,zh){var r=xh&yh^xh&zh^yh&zh;if(r<0)r+=4294967296;return r}function maj64_lo(xh,xl,yh,yl,zh,zl){var r=xl&yl^xl&zl^yl&zl;if(r<0)r+=4294967296;return r}function s0_512_hi(xh,xl){var c0_hi=rotr64_hi(xh,xl,28),c1_hi=rotr64_hi(xl,xh,2),c2_hi=rotr64_hi(xl,xh,7),r=c0_hi^c1_hi^c2_hi;if(r<0)r+=4294967296;return r}function s0_512_lo(xh,xl){var c0_lo=rotr64_lo(xh,xl,28),c1_lo=rotr64_lo(xl,xh,2),c2_lo=rotr64_lo(xl,xh,7),r=c0_lo^c1_lo^c2_lo;if(r<0)r+=4294967296;return r}function s1_512_hi(xh,xl){var c0_hi=rotr64_hi(xh,xl,14),c1_hi=rotr64_hi(xh,xl,18),c2_hi=rotr64_hi(xl,xh,9),r=c0_hi^c1_hi^c2_hi;if(r<0)r+=4294967296;return r}function s1_512_lo(xh,xl){var c0_lo=rotr64_lo(xh,xl,14),c1_lo=rotr64_lo(xh,xl,18),c2_lo=rotr64_lo(xl,xh,9),r=c0_lo^c1_lo^c2_lo;if(r<0)r+=4294967296;return r}function g0_512_hi(xh,xl){var c0_hi=rotr64_hi(xh,xl,1),c1_hi=rotr64_hi(xh,xl,8),c2_hi=shr64_hi(xh,xl,7),r=c0_hi^c1_hi^c2_hi;if(r<0)r+=4294967296;return r}function g0_512_lo(xh,xl){var c0_lo=rotr64_lo(xh,xl,1),c1_lo=rotr64_lo(xh,xl,8),c2_lo=shr64_lo(xh,xl,7),r=c0_lo^c1_lo^c2_lo;if(r<0)r+=4294967296;return r}function g1_512_hi(xh,xl){var c0_hi=rotr64_hi(xh,xl,19),c1_hi=rotr64_hi(xl,xh,29),c2_hi=shr64_hi(xh,xl,6),r=c0_hi^c1_hi^c2_hi;if(r<0)r+=4294967296;return r}function g1_512_lo(xh,xl){var c0_lo=rotr64_lo(xh,xl,19),c1_lo=rotr64_lo(xl,xh,29),c2_lo=shr64_lo(xh,xl,6),r=c0_lo^c1_lo^c2_lo;if(r<0)r+=4294967296;return r}});var require_384=__commonJS((exports,module)=>{var utils=require_utils3(),SHA512=require_512();function SHA384(){if(!(this instanceof SHA384))return new SHA384;SHA512.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}utils.inherits(SHA384,SHA512);module.exports=SHA384;SHA384.blockSize=1024;SHA384.outSize=384;SHA384.hmacStrength=192;SHA384.padLength=128;SHA384.prototype._digest=function(enc){if(enc===\"hex\")return utils.toHex32(this.h.slice(0,12),\"big\");else return utils.split32(this.h.slice(0,12),\"big\")}});var require_sha=__commonJS((exports)=>{exports.sha1=require_1();exports.sha224=require_224();exports.sha256=require_256();exports.sha384=require_384();exports.sha512=require_512()});var require_ripemd=__commonJS((exports)=>{var utils=require_utils3(),common=require_common(),rotl32=utils.rotl32,sum32=utils.sum32,sum32_3=utils.sum32_3,sum32_4=utils.sum32_4,BlockHash=common.BlockHash;function RIPEMD160(){if(!(this instanceof RIPEMD160))return new RIPEMD160;BlockHash.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian=\"little\"}utils.inherits(RIPEMD160,BlockHash);exports.ripemd160=RIPEMD160;RIPEMD160.blockSize=512;RIPEMD160.outSize=160;RIPEMD160.hmacStrength=192;RIPEMD160.padLength=64;RIPEMD160.prototype._update=function(msg,start){var A=this.h[0],B=this.h[1],C=this.h[2],D=this.h[3],E=this.h[4],Ah=A,Bh=B,Ch=C,Dh=D,Eh=E;for(var j=0;j<80;j++){var T=sum32(rotl32(sum32_4(A,f(j,B,C,D),msg[r[j]+start],K(j)),s[j]),E);A=E,E=D,D=rotl32(C,10),C=B,B=T,T=sum32(rotl32(sum32_4(Ah,f(79-j,Bh,Ch,Dh),msg[rh[j]+start],Kh(j)),sh[j]),Eh),Ah=Eh,Eh=Dh,Dh=rotl32(Ch,10),Ch=Bh,Bh=T}T=sum32_3(this.h[1],C,Dh),this.h[1]=sum32_3(this.h[2],D,Eh),this.h[2]=sum32_3(this.h[3],E,Ah),this.h[3]=sum32_3(this.h[4],A,Bh),this.h[4]=sum32_3(this.h[0],B,Ch),this.h[0]=T};RIPEMD160.prototype._digest=function(enc){if(enc===\"hex\")return utils.toHex32(this.h,\"little\");else return utils.split32(this.h,\"little\")};function f(j,x,y,z){if(j<=15)return x^y^z;else if(j<=31)return x&y|~x&z;else if(j<=47)return(x|~y)^z;else if(j<=63)return x&z|y&~z;else return x^(y|~z)}function K(j){if(j<=15)return 0;else if(j<=31)return 1518500249;else if(j<=47)return 1859775393;else if(j<=63)return 2400959708;else return 2840853838}function Kh(j){if(j<=15)return 1352829926;else if(j<=31)return 1548603684;else if(j<=47)return 1836072691;else if(j<=63)return 2053994217;else return 0}var r=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],rh=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],s=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],sh=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]});var require_hmac=__commonJS((exports,module)=>{var utils=require_utils3(),assert=require_minimalistic_assert();function Hmac(hash,key,enc){if(!(this instanceof Hmac))return new Hmac(hash,key,enc);this.Hash=hash,this.blockSize=hash.blockSize/8,this.outSize=hash.outSize/8,this.inner=null,this.outer=null,this._init(utils.toArray(key,enc))}module.exports=Hmac;Hmac.prototype._init=function(key){if(key.length>this.blockSize)key=new this.Hash().update(key).digest();assert(key.length<=this.blockSize);for(var i=key.length;i<this.blockSize;i++)key.push(0);for(i=0;i<key.length;i++)key[i]^=54;this.inner=new this.Hash().update(key);for(i=0;i<key.length;i++)key[i]^=106;this.outer=new this.Hash().update(key)};Hmac.prototype.update=function(msg,enc){return this.inner.update(msg,enc),this};Hmac.prototype.digest=function(enc){return this.outer.update(this.inner.digest()),this.outer.digest(enc)}});var require_hash=__commonJS((exports)=>{var hash=exports;hash.utils=require_utils3();hash.common=require_common();hash.sha=require_sha();hash.ripemd=require_ripemd();hash.hmac=require_hmac();hash.sha1=hash.sha.sha1;hash.sha256=hash.sha.sha256;hash.sha224=hash.sha.sha224;hash.sha384=hash.sha.sha384;hash.sha512=hash.sha.sha512;hash.ripemd160=hash.ripemd.ripemd160});var require_secp256k1=__commonJS((exports,module)=>{module.exports={doubles:{step:4,points:[[\"e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a\",\"f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821\"],[\"8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508\",\"11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf\"],[\"175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739\",\"d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695\"],[\"363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640\",\"4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9\"],[\"8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c\",\"4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36\"],[\"723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda\",\"96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f\"],[\"eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa\",\"5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999\"],[\"100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0\",\"cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09\"],[\"e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d\",\"9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d\"],[\"feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d\",\"e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088\"],[\"da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1\",\"9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d\"],[\"53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0\",\"5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8\"],[\"8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047\",\"10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a\"],[\"385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862\",\"283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453\"],[\"6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7\",\"7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160\"],[\"3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd\",\"56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0\"],[\"85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83\",\"7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6\"],[\"948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a\",\"53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589\"],[\"6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8\",\"bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17\"],[\"e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d\",\"4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda\"],[\"e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725\",\"7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd\"],[\"213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754\",\"4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2\"],[\"4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c\",\"17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6\"],[\"fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6\",\"6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f\"],[\"76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39\",\"c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01\"],[\"c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891\",\"893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3\"],[\"d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b\",\"febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f\"],[\"b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03\",\"2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7\"],[\"e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d\",\"eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78\"],[\"a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070\",\"7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1\"],[\"90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4\",\"e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150\"],[\"8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da\",\"662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82\"],[\"e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11\",\"1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc\"],[\"8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e\",\"efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b\"],[\"e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41\",\"2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51\"],[\"b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef\",\"67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45\"],[\"d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8\",\"db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120\"],[\"324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d\",\"648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84\"],[\"4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96\",\"35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d\"],[\"9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd\",\"ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d\"],[\"6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5\",\"9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8\"],[\"a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266\",\"40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8\"],[\"7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71\",\"34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac\"],[\"928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac\",\"c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f\"],[\"85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751\",\"1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962\"],[\"ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e\",\"493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907\"],[\"827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241\",\"c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec\"],[\"eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3\",\"be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d\"],[\"e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f\",\"4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414\"],[\"1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19\",\"aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd\"],[\"146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be\",\"b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0\"],[\"fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9\",\"6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811\"],[\"da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2\",\"8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1\"],[\"a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13\",\"7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c\"],[\"174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c\",\"ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73\"],[\"959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba\",\"2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd\"],[\"d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151\",\"e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405\"],[\"64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073\",\"d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589\"],[\"8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458\",\"38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e\"],[\"13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b\",\"69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27\"],[\"bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366\",\"d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1\"],[\"8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa\",\"40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482\"],[\"8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0\",\"620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945\"],[\"dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787\",\"7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573\"],[\"f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e\",\"ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82\"]]},naf:{wnd:7,points:[[\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",\"388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672\"],[\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",\"d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6\"],[\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",\"6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da\"],[\"acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe\",\"cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37\"],[\"774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb\",\"d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b\"],[\"f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8\",\"ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81\"],[\"d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e\",\"581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58\"],[\"defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34\",\"4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77\"],[\"2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c\",\"85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a\"],[\"352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5\",\"321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c\"],[\"2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f\",\"2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67\"],[\"9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714\",\"73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402\"],[\"daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729\",\"a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55\"],[\"c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db\",\"2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482\"],[\"6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4\",\"e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82\"],[\"1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5\",\"b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396\"],[\"605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479\",\"2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49\"],[\"62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d\",\"80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf\"],[\"80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f\",\"1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a\"],[\"7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb\",\"d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7\"],[\"d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9\",\"eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933\"],[\"49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963\",\"758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a\"],[\"77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74\",\"958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6\"],[\"f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530\",\"e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37\"],[\"463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b\",\"5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e\"],[\"f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247\",\"cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6\"],[\"caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1\",\"cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476\"],[\"2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120\",\"4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40\"],[\"7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435\",\"91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61\"],[\"754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18\",\"673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683\"],[\"e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8\",\"59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5\"],[\"186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb\",\"3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b\"],[\"df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f\",\"55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417\"],[\"5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143\",\"efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868\"],[\"290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba\",\"e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a\"],[\"af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45\",\"f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6\"],[\"766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a\",\"744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996\"],[\"59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e\",\"c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e\"],[\"f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8\",\"e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d\"],[\"7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c\",\"30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2\"],[\"948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519\",\"e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e\"],[\"7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab\",\"100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437\"],[\"3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca\",\"ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311\"],[\"d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf\",\"8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4\"],[\"1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610\",\"68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575\"],[\"733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4\",\"f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d\"],[\"15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c\",\"d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d\"],[\"a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940\",\"edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629\"],[\"e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980\",\"a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06\"],[\"311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3\",\"66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374\"],[\"34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf\",\"9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee\"],[\"f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63\",\"4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1\"],[\"d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448\",\"fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b\"],[\"32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf\",\"5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661\"],[\"7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5\",\"8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6\"],[\"ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6\",\"8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e\"],[\"16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5\",\"5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d\"],[\"eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99\",\"f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc\"],[\"78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51\",\"f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4\"],[\"494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5\",\"42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c\"],[\"a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5\",\"204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b\"],[\"c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997\",\"4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913\"],[\"841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881\",\"73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154\"],[\"5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5\",\"39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865\"],[\"36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66\",\"d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc\"],[\"336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726\",\"ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224\"],[\"8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede\",\"6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e\"],[\"1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94\",\"60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6\"],[\"85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31\",\"3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511\"],[\"29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51\",\"b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b\"],[\"a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252\",\"ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2\"],[\"4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5\",\"cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c\"],[\"d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b\",\"6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3\"],[\"ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4\",\"322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d\"],[\"af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f\",\"6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700\"],[\"e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889\",\"2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4\"],[\"591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246\",\"b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196\"],[\"11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984\",\"998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4\"],[\"3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a\",\"b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257\"],[\"cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030\",\"bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13\"],[\"c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197\",\"6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096\"],[\"c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593\",\"c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38\"],[\"a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef\",\"21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f\"],[\"347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38\",\"60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448\"],[\"da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a\",\"49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a\"],[\"c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111\",\"5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4\"],[\"4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502\",\"7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437\"],[\"3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea\",\"be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7\"],[\"cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26\",\"8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d\"],[\"b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986\",\"39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a\"],[\"d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e\",\"62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54\"],[\"48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4\",\"25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77\"],[\"dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda\",\"ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517\"],[\"6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859\",\"cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10\"],[\"e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f\",\"f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125\"],[\"eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c\",\"6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e\"],[\"13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942\",\"fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1\"],[\"ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a\",\"1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2\"],[\"b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80\",\"5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423\"],[\"ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d\",\"438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8\"],[\"8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1\",\"cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758\"],[\"52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63\",\"c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375\"],[\"e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352\",\"6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d\"],[\"7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193\",\"ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec\"],[\"5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00\",\"9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0\"],[\"32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58\",\"ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c\"],[\"e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7\",\"d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4\"],[\"8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8\",\"c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f\"],[\"4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e\",\"67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649\"],[\"3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d\",\"cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826\"],[\"674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b\",\"299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5\"],[\"d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f\",\"f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87\"],[\"30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6\",\"462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b\"],[\"be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297\",\"62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc\"],[\"93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a\",\"7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c\"],[\"b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c\",\"ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f\"],[\"d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52\",\"4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a\"],[\"d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb\",\"bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46\"],[\"463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065\",\"bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f\"],[\"7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917\",\"603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03\"],[\"74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9\",\"cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08\"],[\"30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3\",\"553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8\"],[\"9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57\",\"712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373\"],[\"176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66\",\"ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3\"],[\"75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8\",\"9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8\"],[\"809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721\",\"9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1\"],[\"1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180\",\"4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9\"]]}}});var require_curves=__commonJS((exports)=>{var curves=exports,hash=require_hash(),curve=require_curve(),utils=require_utils2(),assert=utils.assert;function PresetCurve(options){if(options.type===\"short\")this.curve=new curve.short(options);else if(options.type===\"edwards\")this.curve=new curve.edwards(options);else this.curve=new curve.mont(options);this.g=this.curve.g,this.n=this.curve.n,this.hash=options.hash,assert(this.g.validate(),\"Invalid curve\"),assert(this.g.mul(this.n).isInfinity(),\"Invalid curve, G*N != O\")}curves.PresetCurve=PresetCurve;function defineCurve(name,options){Object.defineProperty(curves,name,{configurable:!0,enumerable:!0,get:function(){var curve2=new PresetCurve(options);return Object.defineProperty(curves,name,{configurable:!0,enumerable:!0,value:curve2}),curve2}})}defineCurve(\"p192\",{type:\"short\",prime:\"p192\",p:\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\",a:\"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc\",b:\"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1\",n:\"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831\",hash:hash.sha256,gRed:!1,g:[\"188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012\",\"07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811\"]});defineCurve(\"p224\",{type:\"short\",prime:\"p224\",p:\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\",a:\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe\",b:\"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4\",n:\"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d\",hash:hash.sha256,gRed:!1,g:[\"b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21\",\"bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34\"]});defineCurve(\"p256\",{type:\"short\",prime:null,p:\"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff\",a:\"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc\",b:\"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b\",n:\"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551\",hash:hash.sha256,gRed:!1,g:[\"6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296\",\"4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5\"]});defineCurve(\"p384\",{type:\"short\",prime:null,p:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff\",a:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc\",b:\"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef\",n:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973\",hash:hash.sha384,gRed:!1,g:[\"aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7\",\"3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f\"]});defineCurve(\"p521\",{type:\"short\",prime:null,p:\"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff\",a:\"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc\",b:\"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00\",n:\"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409\",hash:hash.sha512,gRed:!1,g:[\"000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66\",\"00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650\"]});defineCurve(\"curve25519\",{type:\"mont\",prime:\"p25519\",p:\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",a:\"76d06\",b:\"1\",n:\"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",hash:hash.sha256,gRed:!1,g:[\"9\"]});defineCurve(\"ed25519\",{type:\"edwards\",prime:\"p25519\",p:\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",a:\"-1\",c:\"1\",d:\"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3\",n:\"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",hash:hash.sha256,gRed:!1,g:[\"216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a\",\"6666666666666666666666666666666666666666666666666666666666666658\"]});var pre;try{pre=require_secp256k1()}catch(e){pre=void 0}defineCurve(\"secp256k1\",{type:\"short\",prime:\"k256\",p:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\",a:\"0\",b:\"7\",n:\"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141\",h:\"1\",hash:hash.sha256,beta:\"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee\",lambda:\"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72\",basis:[{a:\"3086d221a7d46bcde86c90e49284eb15\",b:\"-e4437ed6010e88286f547fa90abfe4c3\"},{a:\"114ca50f7a8e2f3f657c1108d9d44cfd8\",b:\"3086d221a7d46bcde86c90e49284eb15\"}],gRed:!1,g:[\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8\",pre]})});var require_hmac_drbg=__commonJS((exports,module)=>{var hash=require_hash(),utils=require_utils(),assert=require_minimalistic_assert();function HmacDRBG(options){if(!(this instanceof HmacDRBG))return new HmacDRBG(options);this.hash=options.hash,this.predResist=!!options.predResist,this.outLen=this.hash.outSize,this.minEntropy=options.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var entropy=utils.toArray(options.entropy,options.entropyEnc||\"hex\"),nonce=utils.toArray(options.nonce,options.nonceEnc||\"hex\"),pers=utils.toArray(options.pers,options.persEnc||\"hex\");assert(entropy.length>=this.minEntropy/8,\"Not enough entropy. Minimum is: \"+this.minEntropy+\" bits\"),this._init(entropy,nonce,pers)}module.exports=HmacDRBG;HmacDRBG.prototype._init=function(entropy,nonce,pers){var seed=entropy.concat(nonce).concat(pers);this.K=Array(this.outLen/8),this.V=Array(this.outLen/8);for(var i=0;i<this.V.length;i++)this.K[i]=0,this.V[i]=1;this._update(seed),this._reseed=1,this.reseedInterval=281474976710656};HmacDRBG.prototype._hmac=function(){return new hash.hmac(this.hash,this.K)};HmacDRBG.prototype._update=function(seed){var kmac=this._hmac().update(this.V).update([0]);if(seed)kmac=kmac.update(seed);if(this.K=kmac.digest(),this.V=this._hmac().update(this.V).digest(),!seed)return;this.K=this._hmac().update(this.V).update([1]).update(seed).digest(),this.V=this._hmac().update(this.V).digest()};HmacDRBG.prototype.reseed=function(entropy,entropyEnc,add,addEnc){if(typeof entropyEnc!==\"string\")addEnc=add,add=entropyEnc,entropyEnc=null;entropy=utils.toArray(entropy,entropyEnc),add=utils.toArray(add,addEnc),assert(entropy.length>=this.minEntropy/8,\"Not enough entropy. Minimum is: \"+this.minEntropy+\" bits\"),this._update(entropy.concat(add||[])),this._reseed=1};HmacDRBG.prototype.generate=function(len,enc,add,addEnc){if(this._reseed>this.reseedInterval)throw Error(\"Reseed is required\");if(typeof enc!==\"string\")addEnc=add,add=enc,enc=null;if(add)add=utils.toArray(add,addEnc||\"hex\"),this._update(add);var temp=[];while(temp.length<len)this.V=this._hmac().update(this.V).digest(),temp=temp.concat(this.V);var res=temp.slice(0,len);return this._update(add),this._reseed++,utils.encode(res,enc)}});var require_key=__commonJS((exports,module)=>{var BN=require_bn(),utils=require_utils2(),assert=utils.assert;function KeyPair(ec,options){if(this.ec=ec,this.priv=null,this.pub=null,options.priv)this._importPrivate(options.priv,options.privEnc);if(options.pub)this._importPublic(options.pub,options.pubEnc)}module.exports=KeyPair;KeyPair.fromPublic=function(ec,pub,enc){if(pub instanceof KeyPair)return pub;return new KeyPair(ec,{pub,pubEnc:enc})};KeyPair.fromPrivate=function(ec,priv,enc){if(priv instanceof KeyPair)return priv;return new KeyPair(ec,{priv,privEnc:enc})};KeyPair.prototype.validate=function(){var pub=this.getPublic();if(pub.isInfinity())return{result:!1,reason:\"Invalid public key\"};if(!pub.validate())return{result:!1,reason:\"Public key is not a point\"};if(!pub.mul(this.ec.curve.n).isInfinity())return{result:!1,reason:\"Public key * N != O\"};return{result:!0,reason:null}};KeyPair.prototype.getPublic=function(compact,enc){if(typeof compact===\"string\")enc=compact,compact=null;if(!this.pub)this.pub=this.ec.g.mul(this.priv);if(!enc)return this.pub;return this.pub.encode(enc,compact)};KeyPair.prototype.getPrivate=function(enc){if(enc===\"hex\")return this.priv.toString(16,2);else return this.priv};KeyPair.prototype._importPrivate=function(key,enc){this.priv=new BN(key,enc||16),this.priv=this.priv.umod(this.ec.curve.n)};KeyPair.prototype._importPublic=function(key,enc){if(key.x||key.y){if(this.ec.curve.type===\"mont\")assert(key.x,\"Need x coordinate\");else if(this.ec.curve.type===\"short\"||this.ec.curve.type===\"edwards\")assert(key.x&&key.y,\"Need both x and y coordinate\");this.pub=this.ec.curve.point(key.x,key.y);return}this.pub=this.ec.curve.decodePoint(key,enc)};KeyPair.prototype.derive=function(pub){if(!pub.validate())assert(pub.validate(),\"public point not validated\");return pub.mul(this.priv).getX()};KeyPair.prototype.sign=function(msg,enc,options){return this.ec.sign(msg,this,enc,options)};KeyPair.prototype.verify=function(msg,signature,options){return this.ec.verify(msg,signature,this,void 0,options)};KeyPair.prototype.inspect=function(){return\"<Key priv: \"+(this.priv&&this.priv.toString(16,2))+\" pub: \"+(this.pub&&this.pub.inspect())+\" >\"}});var require_signature=__commonJS((exports,module)=>{var BN=require_bn(),utils=require_utils2(),assert=utils.assert;function Signature(options,enc){if(options instanceof Signature)return options;if(this._importDER(options,enc))return;if(assert(options.r&&options.s,\"Signature without r or s\"),this.r=new BN(options.r,16),this.s=new BN(options.s,16),options.recoveryParam===void 0)this.recoveryParam=null;else this.recoveryParam=options.recoveryParam}module.exports=Signature;function Position(){this.place=0}function getLength(buf,p){var initial=buf[p.place++];if(!(initial&128))return initial;var octetLen=initial&15;if(octetLen===0||octetLen>4)return!1;if(buf[p.place]===0)return!1;var val=0;for(var i=0,off=p.place;i<octetLen;i++,off++)val<<=8,val|=buf[off],val>>>=0;if(val<=127)return!1;return p.place=off,val}function rmPadding(buf){var i=0,len=buf.length-1;while(!buf[i]&&!(buf[i+1]&128)&&i<len)i++;if(i===0)return buf;return buf.slice(i)}Signature.prototype._importDER=function(data,enc){data=utils.toArray(data,enc);var p=new Position;if(data[p.place++]!==48)return!1;var len=getLength(data,p);if(len===!1)return!1;if(len+p.place!==data.length)return!1;if(data[p.place++]!==2)return!1;var rlen=getLength(data,p);if(rlen===!1)return!1;if((data[p.place]&128)!==0)return!1;var r=data.slice(p.place,rlen+p.place);if(p.place+=rlen,data[p.place++]!==2)return!1;var slen=getLength(data,p);if(slen===!1)return!1;if(data.length!==slen+p.place)return!1;if((data[p.place]&128)!==0)return!1;var s=data.slice(p.place,slen+p.place);if(r[0]===0)if(r[1]&128)r=r.slice(1);else return!1;if(s[0]===0)if(s[1]&128)s=s.slice(1);else return!1;return this.r=new BN(r),this.s=new BN(s),this.recoveryParam=null,!0};function constructLength(arr,len){if(len<128){arr.push(len);return}var octets=1+(Math.log(len)/Math.LN2>>>3);arr.push(octets|128);while(--octets)arr.push(len>>>(octets<<3)&255);arr.push(len)}Signature.prototype.toDER=function(enc){var r=this.r.toArray(),s=this.s.toArray();if(r[0]&128)r=[0].concat(r);if(s[0]&128)s=[0].concat(s);r=rmPadding(r),s=rmPadding(s);while(!s[0]&&!(s[1]&128))s=s.slice(1);var arr=[2];constructLength(arr,r.length),arr=arr.concat(r),arr.push(2),constructLength(arr,s.length);var backHalf=arr.concat(s),res=[48];return constructLength(res,backHalf.length),res=res.concat(backHalf),utils.encode(res,enc)}});var require_ec=__commonJS((exports,module)=>{var BN=require_bn(),HmacDRBG=require_hmac_drbg(),utils=require_utils2(),curves=require_curves(),rand=require_brorand(),assert=utils.assert,KeyPair=require_key(),Signature=require_signature();function EC(options){if(!(this instanceof EC))return new EC(options);if(typeof options===\"string\")assert(Object.prototype.hasOwnProperty.call(curves,options),\"Unknown curve \"+options),options=curves[options];if(options instanceof curves.PresetCurve)options={curve:options};this.curve=options.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=options.curve.g,this.g.precompute(options.curve.n.bitLength()+1),this.hash=options.hash||options.curve.hash}module.exports=EC;EC.prototype.keyPair=function(options){return new KeyPair(this,options)};EC.prototype.keyFromPrivate=function(priv,enc){return KeyPair.fromPrivate(this,priv,enc)};EC.prototype.keyFromPublic=function(pub,enc){return KeyPair.fromPublic(this,pub,enc)};EC.prototype.genKeyPair=function(options){if(!options)options={};var drbg=new HmacDRBG({hash:this.hash,pers:options.pers,persEnc:options.persEnc||\"utf8\",entropy:options.entropy||rand(this.hash.hmacStrength),entropyEnc:options.entropy&&options.entropyEnc||\"utf8\",nonce:this.n.toArray()}),bytes=this.n.byteLength(),ns2=this.n.sub(new BN(2));for(;;){var priv=new BN(drbg.generate(bytes));if(priv.cmp(ns2)>0)continue;return priv.iaddn(1),this.keyFromPrivate(priv)}};EC.prototype._truncateToN=function(msg,truncOnly,bitLength){var byteLength;if(BN.isBN(msg)||typeof msg===\"number\")msg=new BN(msg,16),byteLength=msg.byteLength();else if(typeof msg===\"object\")byteLength=msg.length,msg=new BN(msg,16);else{var str=msg.toString();byteLength=str.length+1>>>1,msg=new BN(str,16)}if(typeof bitLength!==\"number\")bitLength=byteLength*8;var delta=bitLength-this.n.bitLength();if(delta>0)msg=msg.ushrn(delta);if(!truncOnly&&msg.cmp(this.n)>=0)return msg.sub(this.n);else return msg};EC.prototype.sign=function(msg,key,enc,options){if(typeof enc===\"object\")options=enc,enc=null;if(!options)options={};if(typeof msg!==\"string\"&&typeof msg!==\"number\"&&!BN.isBN(msg)){assert(typeof msg===\"object\"&&msg&&typeof msg.length===\"number\",\"Expected message to be an array-like, a hex string, or a BN instance\"),assert(msg.length>>>0===msg.length);for(var i=0;i<msg.length;i++)assert((msg[i]&255)===msg[i])}key=this.keyFromPrivate(key,enc),msg=this._truncateToN(msg,!1,options.msgBitLength),assert(!msg.isNeg(),\"Can not sign a negative message\");var bytes=this.n.byteLength(),bkey=key.getPrivate().toArray(\"be\",bytes),nonce=msg.toArray(\"be\",bytes);assert(new BN(nonce).eq(msg),\"Can not sign message\");var drbg=new HmacDRBG({hash:this.hash,entropy:bkey,nonce,pers:options.pers,persEnc:options.persEnc||\"utf8\"}),ns1=this.n.sub(new BN(1));for(var iter=0;;iter++){var k=options.k?options.k(iter):new BN(drbg.generate(this.n.byteLength()));if(k=this._truncateToN(k,!0),k.cmpn(1)<=0||k.cmp(ns1)>=0)continue;var kp=this.g.mul(k);if(kp.isInfinity())continue;var kpX=kp.getX(),r=kpX.umod(this.n);if(r.cmpn(0)===0)continue;var s=k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));if(s=s.umod(this.n),s.cmpn(0)===0)continue;var recoveryParam=(kp.getY().isOdd()?1:0)|(kpX.cmp(r)!==0?2:0);if(options.canonical&&s.cmp(this.nh)>0)s=this.n.sub(s),recoveryParam^=1;return new Signature({r,s,recoveryParam})}};EC.prototype.verify=function(msg,signature,key,enc,options){if(!options)options={};msg=this._truncateToN(msg,!1,options.msgBitLength),key=this.keyFromPublic(key,enc),signature=new Signature(signature,\"hex\");var{r,s}=signature;if(r.cmpn(1)<0||r.cmp(this.n)>=0)return!1;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;var sinv=s.invm(this.n),u1=sinv.mul(msg).umod(this.n),u2=sinv.mul(r).umod(this.n),p;if(!this.curve._maxwellTrick){if(p=this.g.mulAdd(u1,key.getPublic(),u2),p.isInfinity())return!1;return p.getX().umod(this.n).cmp(r)===0}if(p=this.g.jmulAdd(u1,key.getPublic(),u2),p.isInfinity())return!1;return p.eqXToP(r)};EC.prototype.recoverPubKey=function(msg,signature,j,enc){assert((3&j)===j,\"The recovery param is more than two bits\"),signature=new Signature(signature,enc);var n=this.n,e=new BN(msg),r=signature.r,s=signature.s,isYOdd=j&1,isSecondKey=j>>1;if(r.cmp(this.curve.p.umod(this.curve.n))>=0&&isSecondKey)throw Error(\"Unable to find sencond key candinate\");if(isSecondKey)r=this.curve.pointFromX(r.add(this.curve.n),isYOdd);else r=this.curve.pointFromX(r,isYOdd);var rInv=signature.r.invm(n),s1=n.sub(e).mul(rInv).umod(n),s2=s.mul(rInv).umod(n);return this.g.mulAdd(s1,r,s2)};EC.prototype.getKeyRecoveryParam=function(e,signature,Q,enc){if(signature=new Signature(signature,enc),signature.recoveryParam!==null)return signature.recoveryParam;for(var i=0;i<4;i++){var Qprime;try{Qprime=this.recoverPubKey(e,signature,i)}catch(e2){continue}if(Qprime.eq(Q))return i}throw Error(\"Unable to find valid recovery factor\")}});var require_key2=__commonJS((exports,module)=>{var utils=require_utils2(),assert=utils.assert,parseBytes=utils.parseBytes,cachedProperty=utils.cachedProperty;function KeyPair(eddsa,params){if(this.eddsa=eddsa,this._secret=parseBytes(params.secret),eddsa.isPoint(params.pub))this._pub=params.pub;else this._pubBytes=parseBytes(params.pub)}KeyPair.fromPublic=function(eddsa,pub){if(pub instanceof KeyPair)return pub;return new KeyPair(eddsa,{pub})};KeyPair.fromSecret=function(eddsa,secret){if(secret instanceof KeyPair)return secret;return new KeyPair(eddsa,{secret})};KeyPair.prototype.secret=function(){return this._secret};cachedProperty(KeyPair,\"pubBytes\",function(){return this.eddsa.encodePoint(this.pub())});cachedProperty(KeyPair,\"pub\",function(){if(this._pubBytes)return this.eddsa.decodePoint(this._pubBytes);return this.eddsa.g.mul(this.priv())});cachedProperty(KeyPair,\"privBytes\",function(){var eddsa=this.eddsa,hash=this.hash(),lastIx=eddsa.encodingLength-1,a=hash.slice(0,eddsa.encodingLength);return a[0]&=248,a[lastIx]&=127,a[lastIx]|=64,a});cachedProperty(KeyPair,\"priv\",function(){return this.eddsa.decodeInt(this.privBytes())});cachedProperty(KeyPair,\"hash\",function(){return this.eddsa.hash().update(this.secret()).digest()});cachedProperty(KeyPair,\"messagePrefix\",function(){return this.hash().slice(this.eddsa.encodingLength)});KeyPair.prototype.sign=function(message){return assert(this._secret,\"KeyPair can only verify\"),this.eddsa.sign(message,this)};KeyPair.prototype.verify=function(message,sig){return this.eddsa.verify(message,sig,this)};KeyPair.prototype.getSecret=function(enc){return assert(this._secret,\"KeyPair is public only\"),utils.encode(this.secret(),enc)};KeyPair.prototype.getPublic=function(enc){return utils.encode(this.pubBytes(),enc)};module.exports=KeyPair});var require_signature2=__commonJS((exports,module)=>{var BN=require_bn(),utils=require_utils2(),assert=utils.assert,cachedProperty=utils.cachedProperty,parseBytes=utils.parseBytes;function Signature(eddsa,sig){if(this.eddsa=eddsa,typeof sig!==\"object\")sig=parseBytes(sig);if(Array.isArray(sig))assert(sig.length===eddsa.encodingLength*2,\"Signature has invalid size\"),sig={R:sig.slice(0,eddsa.encodingLength),S:sig.slice(eddsa.encodingLength)};if(assert(sig.R&&sig.S,\"Signature without R or S\"),eddsa.isPoint(sig.R))this._R=sig.R;if(sig.S instanceof BN)this._S=sig.S;this._Rencoded=Array.isArray(sig.R)?sig.R:sig.Rencoded,this._Sencoded=Array.isArray(sig.S)?sig.S:sig.Sencoded}cachedProperty(Signature,\"S\",function(){return this.eddsa.decodeInt(this.Sencoded())});cachedProperty(Signature,\"R\",function(){return this.eddsa.decodePoint(this.Rencoded())});cachedProperty(Signature,\"Rencoded\",function(){return this.eddsa.encodePoint(this.R())});cachedProperty(Signature,\"Sencoded\",function(){return this.eddsa.encodeInt(this.S())});Signature.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())};Signature.prototype.toHex=function(){return utils.encode(this.toBytes(),\"hex\").toUpperCase()};module.exports=Signature});var require_eddsa=__commonJS((exports,module)=>{var hash=require_hash(),curves=require_curves(),utils=require_utils2(),assert=utils.assert,parseBytes=utils.parseBytes,KeyPair=require_key2(),Signature=require_signature2();function EDDSA(curve){if(assert(curve===\"ed25519\",\"only tested with ed25519 so far\"),!(this instanceof EDDSA))return new EDDSA(curve);curve=curves[curve].curve,this.curve=curve,this.g=curve.g,this.g.precompute(curve.n.bitLength()+1),this.pointClass=curve.point().constructor,this.encodingLength=Math.ceil(curve.n.bitLength()/8),this.hash=hash.sha512}module.exports=EDDSA;EDDSA.prototype.sign=function(message,secret){message=parseBytes(message);var key=this.keyFromSecret(secret),r=this.hashInt(key.messagePrefix(),message),R=this.g.mul(r),Rencoded=this.encodePoint(R),s_=this.hashInt(Rencoded,key.pubBytes(),message).mul(key.priv()),S=r.add(s_).umod(this.curve.n);return this.makeSignature({R,S,Rencoded})};EDDSA.prototype.verify=function(message,sig,pub){if(message=parseBytes(message),sig=this.makeSignature(sig),sig.S().gte(sig.eddsa.curve.n)||sig.S().isNeg())return!1;var key=this.keyFromPublic(pub),h=this.hashInt(sig.Rencoded(),key.pubBytes(),message),SG=this.g.mul(sig.S()),RplusAh=sig.R().add(key.pub().mul(h));return RplusAh.eq(SG)};EDDSA.prototype.hashInt=function(){var hash2=this.hash();for(var i=0;i<arguments.length;i++)hash2.update(arguments[i]);return utils.intFromLE(hash2.digest()).umod(this.curve.n)};EDDSA.prototype.keyFromPublic=function(pub){return KeyPair.fromPublic(this,pub)};EDDSA.prototype.keyFromSecret=function(secret){return KeyPair.fromSecret(this,secret)};EDDSA.prototype.makeSignature=function(sig){if(sig instanceof Signature)return sig;return new Signature(this,sig)};EDDSA.prototype.encodePoint=function(point){var enc=point.getY().toArray(\"le\",this.encodingLength);return enc[this.encodingLength-1]|=point.getX().isOdd()?128:0,enc};EDDSA.prototype.decodePoint=function(bytes){bytes=utils.parseBytes(bytes);var lastIx=bytes.length-1,normed=bytes.slice(0,lastIx).concat(bytes[lastIx]&-129),xIsOdd=(bytes[lastIx]&128)!==0,y=utils.intFromLE(normed);return this.curve.pointFromY(y,xIsOdd)};EDDSA.prototype.encodeInt=function(num){return num.toArray(\"le\",this.encodingLength)};EDDSA.prototype.decodeInt=function(bytes){return utils.intFromLE(bytes)};EDDSA.prototype.isPoint=function(val){return val instanceof this.pointClass}});var require_elliptic=__commonJS((exports)=>{var elliptic=exports;elliptic.version=require_package().version;elliptic.utils=require_utils2();elliptic.rand=require_brorand();elliptic.curve=require_curve();elliptic.curves=require_curves();elliptic.ec=require_ec();elliptic.eddsa=require_eddsa()});var require_bn2=__commonJS((exports,module)=>{(function(module2,exports2){function assert(val,msg){if(!val)throw Error(msg||\"Assertion failed\")}function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}function BN(number,base,endian){if(BN.isBN(number))return number;if(this.negative=0,this.words=null,this.length=0,this.red=null,number!==null){if(base===\"le\"||base===\"be\")endian=base,base=10;this._init(number||0,base||10,endian||\"be\")}}if(typeof module2===\"object\")module2.exports=BN;else exports2.BN=BN;BN.BN=BN,BN.wordSize=26;var Buffer2;try{if(typeof window<\"u\"&&typeof window.Buffer<\"u\")Buffer2=window.Buffer;else Buffer2=require(\"buffer\").Buffer}catch(e){}BN.isBN=function(num){if(num instanceof BN)return!0;return num!==null&&typeof num===\"object\"&&num.constructor.wordSize===BN.wordSize&&Array.isArray(num.words)},BN.max=function(left,right){if(left.cmp(right)>0)return left;return right},BN.min=function(left,right){if(left.cmp(right)<0)return left;return right},BN.prototype._init=function(number,base,endian){if(typeof number===\"number\")return this._initNumber(number,base,endian);if(typeof number===\"object\")return this._initArray(number,base,endian);if(base===\"hex\")base=16;assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;if(number[0]===\"-\")start++,this.negative=1;if(start<number.length){if(base===16)this._parseHex(number,start,endian);else if(this._parseBase(number,base,start),endian===\"le\")this._initArray(this.toArray(),base,endian)}},BN.prototype._initNumber=function(number,base,endian){if(number<0)this.negative=1,number=-number;if(number<67108864)this.words=[number&67108863],this.length=1;else if(number<4503599627370496)this.words=[number&67108863,number/67108864&67108863],this.length=2;else assert(number<9007199254740992),this.words=[number&67108863,number/67108864&67108863,1],this.length=3;if(endian!==\"le\")return;this._initArray(this.toArray(),base,endian)},BN.prototype._initArray=function(number,base,endian){if(assert(typeof number.length===\"number\"),number.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(number.length/3),this.words=Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var j,w,off=0;if(endian===\"be\"){for(i=number.length-1,j=0;i>=0;i-=3)if(w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<<off&67108863,this.words[j+1]=w>>>26-off&67108863,off+=24,off>=26)off-=26,j++}else if(endian===\"le\"){for(i=0,j=0;i<number.length;i+=3)if(w=number[i]|number[i+1]<<8|number[i+2]<<16,this.words[j]|=w<<off&67108863,this.words[j+1]=w>>>26-off&67108863,off+=24,off>=26)off-=26,j++}return this.strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);if(c>=65&&c<=70)return c-55;else if(c>=97&&c<=102)return c-87;else return c-48&15}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);if(index-1>=lowerBound)r|=parseHex4Bits(string,index-1)<<4;return r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var off=0,j=0,w;if(endian===\"be\")for(i=number.length-1;i>=start;i-=2)if(w=parseHexByte(number,start,i)<<off,this.words[j]|=w&67108863,off>=18)off-=18,j+=1,this.words[j]|=w>>>26;else off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0?start+1:start;i<number.length;i+=2)if(w=parseHexByte(number,start,i)<<off,this.words[j]|=w&67108863,off>=18)off-=18,j+=1,this.words[j]|=w>>>26;else off+=8}this.strip()};function parseBase(str,start,end,mul){var r=0,len=Math.min(str.length,end);for(var i=start;i<len;i++){var c=str.charCodeAt(i)-48;if(r*=mul,c>=49)r+=c-49+10;else if(c>=17)r+=c-17+10;else r+=c}return r}BN.prototype._parseBase=function(number,base,start){this.words=[0],this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0;for(var i=start;i<end;i+=limbLen)if(word=parseBase(number,i,i+limbLen,base),this.imuln(limbPow),this.words[0]+word<67108864)this.words[0]+=word;else this._iaddn(word);if(mod!==0){var pow=1;word=parseBase(number,i,number.length,base);for(i=0;i<mod;i++)pow*=base;if(this.imuln(pow),this.words[0]+word<67108864)this.words[0]+=word;else this._iaddn(word)}this.strip()},BN.prototype.copy=function(dest){dest.words=Array(this.length);for(var i=0;i<this.length;i++)dest.words[i]=this.words[i];dest.length=this.length,dest.negative=this.negative,dest.red=this.red},BN.prototype.clone=function(){var r=new BN(null);return this.copy(r),r},BN.prototype._expand=function(size){while(this.length<size)this.words[this.length++]=0;return this},BN.prototype.strip=function(){while(this.length>1&&this.words[this.length-1]===0)this.length--;return this._normSign()},BN.prototype._normSign=function(){if(this.length===1&&this.words[0]===0)this.negative=0;return this},BN.prototype.inspect=function(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"};var zeros=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],groupSizes=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];if(BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";var off=0,carry=0;for(var i=0;i<this.length;i++){var w=this.words[i],word=((w<<off|carry)&16777215).toString(16);if(carry=w>>>24-off&16777215,off+=2,off>=26)off-=26,i--;if(carry!==0||i!==this.length-1)out=zeros[6-word.length]+word+out;else out=word+out}if(carry!==0)out=carry.toString(16)+out;while(out.length%padding!==0)out=\"0\"+out;if(this.negative!==0)out=\"-\"+out;return out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();c.negative=0;while(!c.isZero()){var r=c.modn(groupBase).toString(base);if(c=c.idivn(groupBase),!c.isZero())out=zeros[groupSize-r.length]+r+out;else out=r+out}if(this.isZero())out=\"0\"+out;while(out.length%padding!==0)out=\"0\"+out;if(this.negative!==0)out=\"-\"+out;return out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];if(this.length===2)ret+=this.words[1]*67108864;else if(this.length===3&&this.words[2]===1)ret+=4503599627370496+this.words[1]*67108864;else if(this.length>2)assert(!1,\"Number can only safely store up to 53 bits\");return this.negative!==0?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16)},BN.prototype.toBuffer=function(endian,length){return assert(typeof Buffer2<\"u\"),this.toArrayLike(Buffer2,endian,length)},BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)},BN.prototype.toArrayLike=function(ArrayType,endian,length){var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\"),this.strip();var littleEndian=endian===\"le\",res=new ArrayType(reqLength),b,i,q=this.clone();if(!littleEndian){for(i=0;i<reqLength-byteLength;i++)res[i]=0;for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[reqLength-i-1]=b}else{for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[i]=b;for(;i<reqLength;i++)res[i]=0}return res},Math.clz32)BN.prototype._countBits=function(w){return 32-Math.clz32(w)};else BN.prototype._countBits=function(w){var t=w,r=0;if(t>=4096)r+=13,t>>>=13;if(t>=64)r+=7,t>>>=7;if(t>=8)r+=4,t>>>=4;if(t>=2)r+=2,t>>>=2;return r+t};BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;if((t&8191)===0)r+=13,t>>>=13;if((t&127)===0)r+=7,t>>>=7;if((t&15)===0)r+=4,t>>>=4;if((t&3)===0)r+=2,t>>>=2;if((t&1)===0)r++;return r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){var w=Array(num.bitLength());for(var bit=0;bit<w.length;bit++){var off=bit/26|0,wbit=bit%26;w[bit]=(num.words[off]&1<<wbit)>>>wbit}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;var r=0;for(var i=0;i<this.length;i++){var b=this._zeroBits(this.words[i]);if(r+=b,b!==26)break}return r},BN.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},BN.prototype.toTwos=function(width){if(this.negative!==0)return this.abs().inotn(width).iaddn(1);return this.clone()},BN.prototype.fromTwos=function(width){if(this.testn(width-1))return this.notn(width).iaddn(1).ineg();return this.clone()},BN.prototype.isNeg=function(){return this.negative!==0},BN.prototype.neg=function(){return this.clone().ineg()},BN.prototype.ineg=function(){if(!this.isZero())this.negative^=1;return this},BN.prototype.iuor=function(num){while(this.length<num.length)this.words[this.length++]=0;for(var i=0;i<num.length;i++)this.words[i]=this.words[i]|num.words[i];return this.strip()},BN.prototype.ior=function(num){return assert((this.negative|num.negative)===0),this.iuor(num)},BN.prototype.or=function(num){if(this.length>num.length)return this.clone().ior(num);return num.clone().ior(this)},BN.prototype.uor=function(num){if(this.length>num.length)return this.clone().iuor(num);return num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;if(this.length>num.length)b=num;else b=this;for(var i=0;i<b.length;i++)this.words[i]=this.words[i]&num.words[i];return this.length=b.length,this.strip()},BN.prototype.iand=function(num){return assert((this.negative|num.negative)===0),this.iuand(num)},BN.prototype.and=function(num){if(this.length>num.length)return this.clone().iand(num);return num.clone().iand(this)},BN.prototype.uand=function(num){if(this.length>num.length)return this.clone().iuand(num);return num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;if(this.length>num.length)a=this,b=num;else a=num,b=this;for(var i=0;i<b.length;i++)this.words[i]=a.words[i]^b.words[i];if(this!==a)for(;i<a.length;i++)this.words[i]=a.words[i];return this.length=a.length,this.strip()},BN.prototype.ixor=function(num){return assert((this.negative|num.negative)===0),this.iuxor(num)},BN.prototype.xor=function(num){if(this.length>num.length)return this.clone().ixor(num);return num.clone().ixor(this)},BN.prototype.uxor=function(num){if(this.length>num.length)return this.clone().iuxor(num);return num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width===\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;if(this._expand(bytesNeeded),bitsLeft>0)bytesNeeded--;for(var i=0;i<bytesNeeded;i++)this.words[i]=~this.words[i]&67108863;if(bitsLeft>0)this.words[i]=~this.words[i]&67108863>>26-bitsLeft;return this.strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit===\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;if(this._expand(off+1),val)this.words[off]=this.words[off]|1<<wbit;else this.words[off]=this.words[off]&~(1<<wbit);return this.strip()},BN.prototype.iadd=function(num){var r;if(this.negative!==0&&num.negative===0)return this.negative=0,r=this.isub(num),this.negative^=1,this._normSign();else if(this.negative===0&&num.negative!==0)return num.negative=0,r=this.isub(num),num.negative=1,r._normSign();var a,b;if(this.length>num.length)a=this,b=num;else a=num,b=this;var carry=0;for(var i=0;i<b.length;i++)r=(a.words[i]|0)+(b.words[i]|0)+carry,this.words[i]=r&67108863,carry=r>>>26;for(;carry!==0&&i<a.length;i++)r=(a.words[i]|0)+carry,this.words[i]=r&67108863,carry=r>>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;i<a.length;i++)this.words[i]=a.words[i];return this},BN.prototype.add=function(num){var res;if(num.negative!==0&&this.negative===0)return num.negative=0,res=this.sub(num),num.negative^=1,res;else if(num.negative===0&&this.negative!==0)return this.negative=0,res=num.sub(this),this.negative=1,res;if(this.length>num.length)return this.clone().iadd(num);return num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;if(cmp>0)a=this,b=num;else a=num,b=this;var carry=0;for(var i=0;i<b.length;i++)r=(a.words[i]|0)-(b.words[i]|0)+carry,carry=r>>26,this.words[i]=r&67108863;for(;carry!==0&&i<a.length;i++)r=(a.words[i]|0)+carry,carry=r>>26,this.words[i]=r&67108863;if(carry===0&&i<a.length&&a!==this)for(;i<a.length;i++)this.words[i]=a.words[i];if(this.length=Math.max(this.length,i),a!==this)this.negative=1;return this.strip()},BN.prototype.sub=function(num){return this.clone().isub(num)};function smallMulTo(self2,num,out){out.negative=num.negative^self2.negative;var len=self2.length+num.length|0;out.length=len,len=len-1|0;var a=self2.words[0]|0,b=num.words[0]|0,r=a*b,lo=r&67108863,carry=r/67108864|0;out.words[0]=lo;for(var k=1;k<len;k++){var ncarry=carry>>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1);for(var j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}if(carry!==0)out.words[k]=carry|0;else out.length--;return out.strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;if(c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0)o[19]=c,out.length++;return out};if(!Math.imul)comb10MulTo=smallMulTo;function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;var carry=0,hncarry=0;for(var k=0;k<out.length-1;k++){var ncarry=hncarry;hncarry=0;var rword=carry&67108863,maxJ=Math.min(k,num.length-1);for(var j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j,a=self2.words[i]|0,b=num.words[j]|0,r=a*b,lo=r&67108863;ncarry=ncarry+(r/67108864|0)|0,lo=lo+rword|0,rword=lo&67108863,ncarry=ncarry+(lo>>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}if(carry!==0)out.words[k]=carry;else out.length--;return out.strip()}function jumboMulTo(self2,num,out){var fftm=new FFTM;return fftm.mulp(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;if(this.length===10&&num.length===10)res=comb10MulTo(this,num,out);else if(len<63)res=smallMulTo(this,num,out);else if(len<1024)res=bigMulTo(this,num,out);else res=jumboMulTo(this,num,out);return res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){var t=Array(N),l=BN.prototype._countBits(N)-1;for(var i=0;i<N;i++)t[i]=this.revBin(i,l,N);return t},FFTM.prototype.revBin=function(x,l,N){if(x===0||x===N-1)return x;var rb=0;for(var i=0;i<l;i++)rb|=(x&1)<<l-i-1,x>>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i<N;i++)rtws[i]=rws[rbt[i]],itws[i]=iws[rbt[i]]},FFTM.prototype.transform=function(rws,iws,rtws,itws,N,rbt){this.permute(rbt,rws,iws,rtws,itws,N);for(var s=1;s<N;s<<=1){var l=s<<1,rtwdf=Math.cos(2*Math.PI/l),itwdf=Math.sin(2*Math.PI/l);for(var p=0;p<N;p+=l){var rtwdf_=rtwdf,itwdf_=itwdf;for(var j=0;j<s;j++){var re=rtws[p+j],ie=itws[p+j],ro=rtws[p+j+s],io=itws[p+j+s],rx=rtwdf_*ro-itwdf_*io;if(io=rtwdf_*io+itwdf_*ro,ro=rx,rtws[p+j]=re+ro,itws[p+j]=ie+io,rtws[p+j+s]=re-ro,itws[p+j+s]=ie-io,j!==l)rx=rtwdf*rtwdf_-itwdf*itwdf_,itwdf_=rtwdf*itwdf_+itwdf*rtwdf_,rtwdf_=rx}}}},FFTM.prototype.guessLen13b=function(n,m){var N=Math.max(m,n)|1,odd=N&1,i=0;for(N=N/2|0;N;N=N>>>1)i++;return 1<<i+1+odd},FFTM.prototype.conjugate=function(rws,iws,N){if(N<=1)return;for(var i=0;i<N/2;i++){var t=rws[i];rws[i]=rws[N-i-1],rws[N-i-1]=t,t=iws[i],iws[i]=-iws[N-i-1],iws[N-i-1]=-t}},FFTM.prototype.normalize13b=function(ws,N){var carry=0;for(var i=0;i<N/2;i++){var w=Math.round(ws[2*i+1]/N)*8192+Math.round(ws[2*i]/N)+carry;if(ws[i]=w&67108863,w<67108864)carry=0;else carry=w/67108864|0}return ws},FFTM.prototype.convert13b=function(ws,len,rws,N){var carry=0;for(var i=0;i<len;i++)carry=carry+(ws[i]|0),rws[2*i]=carry&8191,carry=carry>>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i<N;++i)rws[i]=0;assert(carry===0),assert((carry&-8192)===0)},FFTM.prototype.stub=function(N){var ph=Array(N);for(var i=0;i<N;i++)ph[i]=0;return ph},FFTM.prototype.mulp=function(x,y,out){var N=2*this.guessLen13b(x.length,y.length),rbt=this.makeRBT(N),_=this.stub(N),rws=Array(N),rwst=Array(N),iwst=Array(N),nrws=Array(N),nrwst=Array(N),niwst=Array(N),rmws=out.words;rmws.length=N,this.convert13b(x.words,x.length,rws,N),this.convert13b(y.words,y.length,nrws,N),this.transform(rws,_,rwst,iwst,N,rbt),this.transform(nrws,_,nrwst,niwst,N,rbt);for(var i=0;i<N;i++){var rx=rwst[i]*nrwst[i]-iwst[i]*niwst[i];iwst[i]=rwst[i]*niwst[i]+iwst[i]*nrwst[i],rwst[i]=rx}return this.conjugate(rwst,iwst,N),this.transform(rwst,iwst,rmws,_,N,rbt),this.conjugate(rmws,_,N),this.normalize13b(rmws,N),out.negative=x.negative^y.negative,out.length=x.length+y.length,out.strip()},BN.prototype.mul=function(num){var out=new BN(null);return out.words=Array(this.length+num.length),this.mulTo(num,out)},BN.prototype.mulf=function(num){var out=new BN(null);return out.words=Array(this.length+num.length),jumboMulTo(this,num,out)},BN.prototype.imul=function(num){return this.clone().mulTo(num,this)},BN.prototype.imuln=function(num){assert(typeof num===\"number\"),assert(num<67108864);var carry=0;for(var i=0;i<this.length;i++){var w=(this.words[i]|0)*num,lo=(w&67108863)+(carry&67108863);carry>>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}if(carry!==0)this.words[i]=carry,this.length++;return this.length=num===0?1:this.length,this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);var res=this;for(var i=0;i<w.length;i++,res=res.sqr())if(w[i]!==0)break;if(++i<w.length)for(var q=res.sqr();i<w.length;i++,q=q.sqr()){if(w[i]===0)continue;res=res.mul(q)}return res},BN.prototype.iushln=function(bits){assert(typeof bits===\"number\"&&bits>=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i<this.length;i++){var newCarry=this.words[i]&carryMask,c=(this.words[i]|0)-newCarry<<r;this.words[i]=c|carry,carry=newCarry>>>26-r}if(carry)this.words[i]=carry,this.length++}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i<s;i++)this.words[i]=0;this.length+=s}return this.strip()},BN.prototype.ishln=function(bits){return assert(this.negative===0),this.iushln(bits)},BN.prototype.iushrn=function(bits,hint,extended){assert(typeof bits===\"number\"&&bits>=0);var h;if(hint)h=(hint-hint%26)/26;else h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<<r,maskedWords=extended;if(h-=s,h=Math.max(0,h),maskedWords){for(var i=0;i<s;i++)maskedWords.words[i]=this.words[i];maskedWords.length=s}if(s===0);else if(this.length>s){this.length-=s;for(i=0;i<this.length;i++)this.words[i]=this.words[i+s]}else this.words[0]=0,this.length=1;var carry=0;for(i=this.length-1;i>=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}if(maskedWords&&carry!==0)maskedWords.words[maskedWords.length++]=carry;if(this.length===0)this.words[0]=0,this.length=1;return this.strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit===\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<<r;if(this.length<=s)return!1;var w=this.words[s];return!!(w&q)},BN.prototype.imaskn=function(bits){assert(typeof bits===\"number\"&&bits>=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0)s++;if(this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<<r;this.words[this.length-1]&=mask}return this.strip()},BN.prototype.maskn=function(bits){return this.clone().imaskn(bits)},BN.prototype.iaddn=function(num){if(assert(typeof num===\"number\"),assert(num<67108864),num<0)return this.isubn(-num);if(this.negative!==0){if(this.length===1&&(this.words[0]|0)<num)return this.words[0]=num-(this.words[0]|0),this.negative=0,this;return this.negative=0,this.isubn(num),this.negative=1,this}return this._iaddn(num)},BN.prototype._iaddn=function(num){this.words[0]+=num;for(var i=0;i<this.length&&this.words[i]>=67108864;i++)if(this.words[i]-=67108864,i===this.length-1)this.words[i+1]=1;else this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num===\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i<this.length&&this.words[i]<0;i++)this.words[i]+=67108864,this.words[i+1]-=1;return this.strip()},BN.prototype.addn=function(num){return this.clone().iaddn(num)},BN.prototype.subn=function(num){return this.clone().isubn(num)},BN.prototype.iabs=function(){return this.negative=0,this},BN.prototype.abs=function(){return this.clone().iabs()},BN.prototype._ishlnsubmul=function(num,mul,shift){var len=num.length+shift,i;this._expand(len);var w,carry=0;for(i=0;i<num.length;i++){w=(this.words[i+shift]|0)+carry;var right=(num.words[i]|0)*mul;w-=right&67108863,carry=(w>>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i<this.length-shift;i++)w=(this.words[i+shift]|0)+carry,carry=w>>26,this.words[i+shift]=w&67108863;if(carry===0)return this.strip();assert(carry===-1),carry=0;for(i=0;i<this.length;i++)w=-(this.words[i]|0)+carry,carry=w>>26,this.words[i]=w&67108863;return this.negative=1,this.strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);if(shift=26-bhiBits,shift!==0)b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0;var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=Array(q.length);for(var i=0;i<q.length;i++)q.words[i]=0}var diff=a.clone()._ishlnsubmul(b,1,m);if(diff.negative===0){if(a=diff,q)q.words[m]=1}for(var j=m-1;j>=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);while(a.negative!==0)if(qj--,a.negative=0,a._ishlnsubmul(b,1,j),!a.isZero())a.negative^=1;if(q)q.words[j]=qj}if(q)q.strip();if(a.strip(),mode!==\"div\"&&shift!==0)a.iushrn(shift);return{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;if(this.negative!==0&&num.negative===0){if(res=this.neg().divmod(num,mode),mode!==\"mod\")div=res.div.neg();if(mode!==\"div\"){if(mod=res.mod.neg(),positive&&mod.negative!==0)mod.iadd(num)}return{div,mod}}if(this.negative===0&&num.negative!==0){if(res=this.divmod(num.neg(),mode),mode!==\"mod\")div=res.div.neg();return{div,mod:res.mod}}if((this.negative&num.negative)!==0){if(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"){if(mod=res.mod.neg(),positive&&mod.negative!==0)mod.isub(num)}return{div:res.div,mod}}if(num.length>this.length||this.cmp(num)<0)return{div:new BN(0),mod:this};if(num.length===1){if(mode===\"div\")return{div:this.divn(num.words[0]),mod:null};if(mode===\"mod\")return{div:null,mod:new BN(this.modn(num.words[0]))};return{div:this.divn(num.words[0]),mod:new BN(this.modn(num.words[0]))}}return this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);if(cmp<0||r2===1&&cmp===0)return dm.div;return dm.div.negative!==0?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modn=function(num){assert(num<=67108863);var p=67108864%num,acc=0;for(var i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return acc},BN.prototype.idivn=function(num){assert(num<=67108863);var carry=0;for(var i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this.strip()},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();if(x.negative!==0)x=x.umod(p);else x=x.clone();var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;while(x.isEven()&&y.isEven())x.iushrn(1),y.iushrn(1),++g;var yp=y.clone(),xp=x.clone();while(!x.isZero()){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0){x.iushrn(i);while(i-- >0){if(A.isOdd()||B.isOdd())A.iadd(yp),B.isub(xp);A.iushrn(1),B.iushrn(1)}}for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0){y.iushrn(j);while(j-- >0){if(C.isOdd()||D.isOdd())C.iadd(yp),D.isub(xp);C.iushrn(1),D.iushrn(1)}}if(x.cmp(y)>=0)x.isub(y),A.isub(C),B.isub(D);else y.isub(x),C.isub(A),D.isub(B)}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();if(a.negative!==0)a=a.umod(p);else a=a.clone();var x1=new BN(1),x2=new BN(0),delta=b.clone();while(a.cmpn(1)>0&&b.cmpn(1)>0){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0){a.iushrn(i);while(i-- >0){if(x1.isOdd())x1.iadd(delta);x1.iushrn(1)}}for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0){b.iushrn(j);while(j-- >0){if(x2.isOdd())x2.iadd(delta);x2.iushrn(1)}}if(a.cmp(b)>=0)a.isub(b),x1.isub(x2);else b.isub(a),x2.isub(x1)}var res;if(a.cmpn(1)===0)res=x1;else res=x2;if(res.cmpn(0)<0)res.iadd(p);return res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{while(a.isEven())a.iushrn(1);while(b.isEven())b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit===\"number\");var r=bit%26,s=(bit-r)/26,q=1<<r;if(this.length<=s)return this._expand(s+1),this.words[s]|=q,this;var carry=q;for(var i=s;carry!==0&&i<this.length;i++){var w=this.words[i]|0;w+=carry,carry=w>>>26,w&=67108863,this.words[i]=w}if(carry!==0)this.words[i]=carry,this.length++;return this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this.strip();var res;if(this.length>1)res=1;else{if(negative)num=-num;assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num?0:w<num?-1:1}if(this.negative!==0)return-res|0;return res},BN.prototype.cmp=function(num){if(this.negative!==0&&num.negative===0)return-1;if(this.negative===0&&num.negative!==0)return 1;var res=this.ucmp(num);if(this.negative!==0)return-res|0;return res},BN.prototype.ucmp=function(num){if(this.length>num.length)return 1;if(this.length<num.length)return-1;var res=0;for(var i=this.length-1;i>=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a===b)continue;if(a<b)res=-1;else if(a>b)res=1;break}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen<this.n?-1:r.ucmp(this.p);if(cmp===0)r.words[0]=0,r.length=1;else if(cmp>0)r.isub(this.p);else if(r.strip!==void 0)r.strip();else r._strip();return r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){var mask=4194303,outLen=Math.min(input.length,9);for(var i=0;i<outLen;i++)output.words[i]=input.words[i];if(output.length=outLen,input.length<=9){input.words[0]=0,input.length=1;return}var prev=input.words[9];output.words[output.length++]=prev&mask;for(i=10;i<input.length;i++){var next=input.words[i]|0;input.words[i-10]=(next&mask)<<4|prev>>>22,prev=next}if(prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10)input.length-=10;else input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;var lo=0;for(var i=0;i<num.length;i++){var w=num.words[i]|0;lo+=w*977,num.words[i]=lo&67108863,lo=w*64+(lo/67108864|0)}if(num.words[num.length-1]===0){if(num.length--,num.words[num.length-1]===0)num.length--}return num};function P224(){MPrime.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}inherits(P224,MPrime);function P192(){MPrime.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}inherits(P192,MPrime);function P25519(){MPrime.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}inherits(P25519,MPrime),P25519.prototype.imulK=function(num){var carry=0;for(var i=0;i<num.length;i++){var hi=(num.words[i]|0)*19+carry,lo=hi&67108863;hi>>>=26,num.words[i]=lo,carry=hi}if(carry!==0)num.words[num.length++]=carry;return num},BN._prime=function(name){if(primes[name])return primes[name];var prime;if(name===\"k256\")prime=new K256;else if(name===\"p224\")prime=new P224;else if(name===\"p192\")prime=new P192;else if(name===\"p25519\")prime=new P25519;else throw Error(\"Unknown prime \"+name);return primes[name]=prime,prime};function Red(m){if(typeof m===\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){if(this.prime)return this.prime.ireduce(a)._forceRed(this);return a.umod(this.m)._forceRed(this)},Red.prototype.neg=function(a){if(a.isZero())return a.clone();return this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);if(res.cmp(this.m)>=0)res.isub(this.m);return res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);if(res.cmp(this.m)>=0)res.isub(this.m);return res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);if(res.cmpn(0)<0)res.iadd(this.m);return res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);if(res.cmpn(0)<0)res.iadd(this.m);return res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}var q=this.m.subn(1),s=0;while(!q.isZero()&&q.andln(1)===0)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();z=new BN(2*z*z).toRed(this);while(this.pow(z,lpow).cmp(nOne)!==0)z.redIAdd(nOne);var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;while(t.cmp(one)!==0){var tmp=t;for(var i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i<m);var b=this.pow(c,new BN(1).iushln(m-i-1));r=r.redMul(b),c=b.redSqr(),t=t.redMul(c),m=i}return r},Red.prototype.invm=function(a){var inv=a._invmp(this.m);if(inv.negative!==0)return inv.negative=0,this.imod(inv).redNeg();else return this.imod(inv)},Red.prototype.pow=function(a,num){if(num.isZero())return new BN(1).toRed(this);if(num.cmpn(1)===0)return a.clone();var windowSize=4,wnd=Array(1<<windowSize);wnd[0]=new BN(1).toRed(this),wnd[1]=a;for(var i=2;i<wnd.length;i++)wnd[i]=this.mul(wnd[i-1],a);var res=wnd[0],current=0,currentLen=0,start=num.bitLength()%26;if(start===0)start=26;for(i=num.length-1;i>=0;i--){var word=num.words[i];for(var j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0])res=this.sqr(res);if(bit===0&¤t===0){currentLen=0;continue}if(current<<=1,current|=bit,currentLen++,currentLen!==windowSize&&(i!==0||j!==0))continue;res=this.mul(res,wnd[current]),currentLen=0,current=0}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){if(Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0)this.shift+=26-this.shift%26;this.r=new BN(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;if(u.cmp(this.m)>=0)res=u.isub(this.m);else if(u.cmpn(0)<0)res=u.iadd(this.m);return res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;if(u.cmp(this.m)>=0)res=u.isub(this.m);else if(u.cmpn(0)<0)res=u.iadd(this.m);return res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)});var require_browser=__commonJS((exports,module)=>{var elliptic=require_elliptic(),BN=require_bn2();module.exports=function(curve){return new ECDH(curve)};var aliases={secp256k1:{name:\"secp256k1\",byteLength:32},secp224r1:{name:\"p224\",byteLength:28},prime256v1:{name:\"p256\",byteLength:32},prime192v1:{name:\"p192\",byteLength:24},ed25519:{name:\"ed25519\",byteLength:32},secp384r1:{name:\"p384\",byteLength:48},secp521r1:{name:\"p521\",byteLength:66}};aliases.p224=aliases.secp224r1;aliases.p256=aliases.secp256r1=aliases.prime256v1;aliases.p192=aliases.secp192r1=aliases.prime192v1;aliases.p384=aliases.secp384r1;aliases.p521=aliases.secp521r1;function ECDH(curve){if(this.curveType=aliases[curve],!this.curveType)this.curveType={name:curve};this.curve=new elliptic.ec(this.curveType.name),this.keys=void 0}ECDH.prototype.generateKeys=function(enc,format){return this.keys=this.curve.genKeyPair(),this.getPublicKey(enc,format)};ECDH.prototype.computeSecret=function(other,inenc,enc){if(inenc=inenc||\"utf8\",!Buffer.isBuffer(other))other=new Buffer(other,inenc);var otherPub=this.curve.keyFromPublic(other).getPublic(),out=otherPub.mul(this.keys.getPrivate()).getX();return formatReturnValue(out,enc,this.curveType.byteLength)};ECDH.prototype.getPublicKey=function(enc,format){var key=this.keys.getPublic(format===\"compressed\",!0);if(format===\"hybrid\")if(key[key.length-1]%2)key[0]=7;else key[0]=6;return formatReturnValue(key,enc)};ECDH.prototype.getPrivateKey=function(enc){return formatReturnValue(this.keys.getPrivate(),enc)};ECDH.prototype.setPublicKey=function(pub,enc){if(enc=enc||\"utf8\",!Buffer.isBuffer(pub))pub=new Buffer(pub,enc);return this.keys._importPublic(pub),this};ECDH.prototype.setPrivateKey=function(priv,enc){if(enc=enc||\"utf8\",!Buffer.isBuffer(priv))priv=new Buffer(priv,enc);var _priv=new BN(priv);return _priv=_priv.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(_priv),this};function formatReturnValue(bn,enc,len){if(!Array.isArray(bn))bn=bn.toArray();var buf=new Buffer(bn);if(len&&buf.length<len){var zeros=new Buffer(len-buf.length);zeros.fill(0),buf=Buffer.concat([zeros,buf])}if(!enc)return buf;else return buf.toString(enc)}});var require_create_ecdh=__commonJS((exports,module)=>{var createECDH=require(\"crypto\").createECDH;module.exports=createECDH||require_browser()});var require_bn3=__commonJS((exports,module)=>{(function(module2,exports2){function assert(val,msg){if(!val)throw Error(msg||\"Assertion failed\")}function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}function BN(number,base,endian){if(BN.isBN(number))return number;if(this.negative=0,this.words=null,this.length=0,this.red=null,number!==null){if(base===\"le\"||base===\"be\")endian=base,base=10;this._init(number||0,base||10,endian||\"be\")}}if(typeof module2===\"object\")module2.exports=BN;else exports2.BN=BN;BN.BN=BN,BN.wordSize=26;var Buffer2;try{if(typeof window<\"u\"&&typeof window.Buffer<\"u\")Buffer2=window.Buffer;else Buffer2=require(\"buffer\").Buffer}catch(e){}BN.isBN=function(num){if(num instanceof BN)return!0;return num!==null&&typeof num===\"object\"&&num.constructor.wordSize===BN.wordSize&&Array.isArray(num.words)},BN.max=function(left,right){if(left.cmp(right)>0)return left;return right},BN.min=function(left,right){if(left.cmp(right)<0)return left;return right},BN.prototype._init=function(number,base,endian){if(typeof number===\"number\")return this._initNumber(number,base,endian);if(typeof number===\"object\")return this._initArray(number,base,endian);if(base===\"hex\")base=16;assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;if(number[0]===\"-\")start++,this.negative=1;if(start<number.length){if(base===16)this._parseHex(number,start,endian);else if(this._parseBase(number,base,start),endian===\"le\")this._initArray(this.toArray(),base,endian)}},BN.prototype._initNumber=function(number,base,endian){if(number<0)this.negative=1,number=-number;if(number<67108864)this.words=[number&67108863],this.length=1;else if(number<4503599627370496)this.words=[number&67108863,number/67108864&67108863],this.length=2;else assert(number<9007199254740992),this.words=[number&67108863,number/67108864&67108863,1],this.length=3;if(endian!==\"le\")return;this._initArray(this.toArray(),base,endian)},BN.prototype._initArray=function(number,base,endian){if(assert(typeof number.length===\"number\"),number.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(number.length/3),this.words=Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var j,w,off=0;if(endian===\"be\"){for(i=number.length-1,j=0;i>=0;i-=3)if(w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<<off&67108863,this.words[j+1]=w>>>26-off&67108863,off+=24,off>=26)off-=26,j++}else if(endian===\"le\"){for(i=0,j=0;i<number.length;i+=3)if(w=number[i]|number[i+1]<<8|number[i+2]<<16,this.words[j]|=w<<off&67108863,this.words[j+1]=w>>>26-off&67108863,off+=24,off>=26)off-=26,j++}return this.strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);if(c>=65&&c<=70)return c-55;else if(c>=97&&c<=102)return c-87;else return c-48&15}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);if(index-1>=lowerBound)r|=parseHex4Bits(string,index-1)<<4;return r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var off=0,j=0,w;if(endian===\"be\")for(i=number.length-1;i>=start;i-=2)if(w=parseHexByte(number,start,i)<<off,this.words[j]|=w&67108863,off>=18)off-=18,j+=1,this.words[j]|=w>>>26;else off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0?start+1:start;i<number.length;i+=2)if(w=parseHexByte(number,start,i)<<off,this.words[j]|=w&67108863,off>=18)off-=18,j+=1,this.words[j]|=w>>>26;else off+=8}this.strip()};function parseBase(str,start,end,mul){var r=0,len=Math.min(str.length,end);for(var i=start;i<len;i++){var c=str.charCodeAt(i)-48;if(r*=mul,c>=49)r+=c-49+10;else if(c>=17)r+=c-17+10;else r+=c}return r}BN.prototype._parseBase=function(number,base,start){this.words=[0],this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0;for(var i=start;i<end;i+=limbLen)if(word=parseBase(number,i,i+limbLen,base),this.imuln(limbPow),this.words[0]+word<67108864)this.words[0]+=word;else this._iaddn(word);if(mod!==0){var pow=1;word=parseBase(number,i,number.length,base);for(i=0;i<mod;i++)pow*=base;if(this.imuln(pow),this.words[0]+word<67108864)this.words[0]+=word;else this._iaddn(word)}this.strip()},BN.prototype.copy=function(dest){dest.words=Array(this.length);for(var i=0;i<this.length;i++)dest.words[i]=this.words[i];dest.length=this.length,dest.negative=this.negative,dest.red=this.red},BN.prototype.clone=function(){var r=new BN(null);return this.copy(r),r},BN.prototype._expand=function(size){while(this.length<size)this.words[this.length++]=0;return this},BN.prototype.strip=function(){while(this.length>1&&this.words[this.length-1]===0)this.length--;return this._normSign()},BN.prototype._normSign=function(){if(this.length===1&&this.words[0]===0)this.negative=0;return this},BN.prototype.inspect=function(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"};var zeros=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],groupSizes=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];if(BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";var off=0,carry=0;for(var i=0;i<this.length;i++){var w=this.words[i],word=((w<<off|carry)&16777215).toString(16);if(carry=w>>>24-off&16777215,off+=2,off>=26)off-=26,i--;if(carry!==0||i!==this.length-1)out=zeros[6-word.length]+word+out;else out=word+out}if(carry!==0)out=carry.toString(16)+out;while(out.length%padding!==0)out=\"0\"+out;if(this.negative!==0)out=\"-\"+out;return out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();c.negative=0;while(!c.isZero()){var r=c.modn(groupBase).toString(base);if(c=c.idivn(groupBase),!c.isZero())out=zeros[groupSize-r.length]+r+out;else out=r+out}if(this.isZero())out=\"0\"+out;while(out.length%padding!==0)out=\"0\"+out;if(this.negative!==0)out=\"-\"+out;return out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];if(this.length===2)ret+=this.words[1]*67108864;else if(this.length===3&&this.words[2]===1)ret+=4503599627370496+this.words[1]*67108864;else if(this.length>2)assert(!1,\"Number can only safely store up to 53 bits\");return this.negative!==0?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16)},BN.prototype.toBuffer=function(endian,length){return assert(typeof Buffer2<\"u\"),this.toArrayLike(Buffer2,endian,length)},BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)},BN.prototype.toArrayLike=function(ArrayType,endian,length){var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\"),this.strip();var littleEndian=endian===\"le\",res=new ArrayType(reqLength),b,i,q=this.clone();if(!littleEndian){for(i=0;i<reqLength-byteLength;i++)res[i]=0;for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[reqLength-i-1]=b}else{for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[i]=b;for(;i<reqLength;i++)res[i]=0}return res},Math.clz32)BN.prototype._countBits=function(w){return 32-Math.clz32(w)};else BN.prototype._countBits=function(w){var t=w,r=0;if(t>=4096)r+=13,t>>>=13;if(t>=64)r+=7,t>>>=7;if(t>=8)r+=4,t>>>=4;if(t>=2)r+=2,t>>>=2;return r+t};BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;if((t&8191)===0)r+=13,t>>>=13;if((t&127)===0)r+=7,t>>>=7;if((t&15)===0)r+=4,t>>>=4;if((t&3)===0)r+=2,t>>>=2;if((t&1)===0)r++;return r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){var w=Array(num.bitLength());for(var bit=0;bit<w.length;bit++){var off=bit/26|0,wbit=bit%26;w[bit]=(num.words[off]&1<<wbit)>>>wbit}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;var r=0;for(var i=0;i<this.length;i++){var b=this._zeroBits(this.words[i]);if(r+=b,b!==26)break}return r},BN.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},BN.prototype.toTwos=function(width){if(this.negative!==0)return this.abs().inotn(width).iaddn(1);return this.clone()},BN.prototype.fromTwos=function(width){if(this.testn(width-1))return this.notn(width).iaddn(1).ineg();return this.clone()},BN.prototype.isNeg=function(){return this.negative!==0},BN.prototype.neg=function(){return this.clone().ineg()},BN.prototype.ineg=function(){if(!this.isZero())this.negative^=1;return this},BN.prototype.iuor=function(num){while(this.length<num.length)this.words[this.length++]=0;for(var i=0;i<num.length;i++)this.words[i]=this.words[i]|num.words[i];return this.strip()},BN.prototype.ior=function(num){return assert((this.negative|num.negative)===0),this.iuor(num)},BN.prototype.or=function(num){if(this.length>num.length)return this.clone().ior(num);return num.clone().ior(this)},BN.prototype.uor=function(num){if(this.length>num.length)return this.clone().iuor(num);return num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;if(this.length>num.length)b=num;else b=this;for(var i=0;i<b.length;i++)this.words[i]=this.words[i]&num.words[i];return this.length=b.length,this.strip()},BN.prototype.iand=function(num){return assert((this.negative|num.negative)===0),this.iuand(num)},BN.prototype.and=function(num){if(this.length>num.length)return this.clone().iand(num);return num.clone().iand(this)},BN.prototype.uand=function(num){if(this.length>num.length)return this.clone().iuand(num);return num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;if(this.length>num.length)a=this,b=num;else a=num,b=this;for(var i=0;i<b.length;i++)this.words[i]=a.words[i]^b.words[i];if(this!==a)for(;i<a.length;i++)this.words[i]=a.words[i];return this.length=a.length,this.strip()},BN.prototype.ixor=function(num){return assert((this.negative|num.negative)===0),this.iuxor(num)},BN.prototype.xor=function(num){if(this.length>num.length)return this.clone().ixor(num);return num.clone().ixor(this)},BN.prototype.uxor=function(num){if(this.length>num.length)return this.clone().iuxor(num);return num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width===\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;if(this._expand(bytesNeeded),bitsLeft>0)bytesNeeded--;for(var i=0;i<bytesNeeded;i++)this.words[i]=~this.words[i]&67108863;if(bitsLeft>0)this.words[i]=~this.words[i]&67108863>>26-bitsLeft;return this.strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit===\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;if(this._expand(off+1),val)this.words[off]=this.words[off]|1<<wbit;else this.words[off]=this.words[off]&~(1<<wbit);return this.strip()},BN.prototype.iadd=function(num){var r;if(this.negative!==0&&num.negative===0)return this.negative=0,r=this.isub(num),this.negative^=1,this._normSign();else if(this.negative===0&&num.negative!==0)return num.negative=0,r=this.isub(num),num.negative=1,r._normSign();var a,b;if(this.length>num.length)a=this,b=num;else a=num,b=this;var carry=0;for(var i=0;i<b.length;i++)r=(a.words[i]|0)+(b.words[i]|0)+carry,this.words[i]=r&67108863,carry=r>>>26;for(;carry!==0&&i<a.length;i++)r=(a.words[i]|0)+carry,this.words[i]=r&67108863,carry=r>>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;i<a.length;i++)this.words[i]=a.words[i];return this},BN.prototype.add=function(num){var res;if(num.negative!==0&&this.negative===0)return num.negative=0,res=this.sub(num),num.negative^=1,res;else if(num.negative===0&&this.negative!==0)return this.negative=0,res=num.sub(this),this.negative=1,res;if(this.length>num.length)return this.clone().iadd(num);return num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;if(cmp>0)a=this,b=num;else a=num,b=this;var carry=0;for(var i=0;i<b.length;i++)r=(a.words[i]|0)-(b.words[i]|0)+carry,carry=r>>26,this.words[i]=r&67108863;for(;carry!==0&&i<a.length;i++)r=(a.words[i]|0)+carry,carry=r>>26,this.words[i]=r&67108863;if(carry===0&&i<a.length&&a!==this)for(;i<a.length;i++)this.words[i]=a.words[i];if(this.length=Math.max(this.length,i),a!==this)this.negative=1;return this.strip()},BN.prototype.sub=function(num){return this.clone().isub(num)};function smallMulTo(self2,num,out){out.negative=num.negative^self2.negative;var len=self2.length+num.length|0;out.length=len,len=len-1|0;var a=self2.words[0]|0,b=num.words[0]|0,r=a*b,lo=r&67108863,carry=r/67108864|0;out.words[0]=lo;for(var k=1;k<len;k++){var ncarry=carry>>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1);for(var j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}if(carry!==0)out.words[k]=carry|0;else out.length--;return out.strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;if(c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0)o[19]=c,out.length++;return out};if(!Math.imul)comb10MulTo=smallMulTo;function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;var carry=0,hncarry=0;for(var k=0;k<out.length-1;k++){var ncarry=hncarry;hncarry=0;var rword=carry&67108863,maxJ=Math.min(k,num.length-1);for(var j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j,a=self2.words[i]|0,b=num.words[j]|0,r=a*b,lo=r&67108863;ncarry=ncarry+(r/67108864|0)|0,lo=lo+rword|0,rword=lo&67108863,ncarry=ncarry+(lo>>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}if(carry!==0)out.words[k]=carry;else out.length--;return out.strip()}function jumboMulTo(self2,num,out){var fftm=new FFTM;return fftm.mulp(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;if(this.length===10&&num.length===10)res=comb10MulTo(this,num,out);else if(len<63)res=smallMulTo(this,num,out);else if(len<1024)res=bigMulTo(this,num,out);else res=jumboMulTo(this,num,out);return res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){var t=Array(N),l=BN.prototype._countBits(N)-1;for(var i=0;i<N;i++)t[i]=this.revBin(i,l,N);return t},FFTM.prototype.revBin=function(x,l,N){if(x===0||x===N-1)return x;var rb=0;for(var i=0;i<l;i++)rb|=(x&1)<<l-i-1,x>>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i<N;i++)rtws[i]=rws[rbt[i]],itws[i]=iws[rbt[i]]},FFTM.prototype.transform=function(rws,iws,rtws,itws,N,rbt){this.permute(rbt,rws,iws,rtws,itws,N);for(var s=1;s<N;s<<=1){var l=s<<1,rtwdf=Math.cos(2*Math.PI/l),itwdf=Math.sin(2*Math.PI/l);for(var p=0;p<N;p+=l){var rtwdf_=rtwdf,itwdf_=itwdf;for(var j=0;j<s;j++){var re=rtws[p+j],ie=itws[p+j],ro=rtws[p+j+s],io=itws[p+j+s],rx=rtwdf_*ro-itwdf_*io;if(io=rtwdf_*io+itwdf_*ro,ro=rx,rtws[p+j]=re+ro,itws[p+j]=ie+io,rtws[p+j+s]=re-ro,itws[p+j+s]=ie-io,j!==l)rx=rtwdf*rtwdf_-itwdf*itwdf_,itwdf_=rtwdf*itwdf_+itwdf*rtwdf_,rtwdf_=rx}}}},FFTM.prototype.guessLen13b=function(n,m){var N=Math.max(m,n)|1,odd=N&1,i=0;for(N=N/2|0;N;N=N>>>1)i++;return 1<<i+1+odd},FFTM.prototype.conjugate=function(rws,iws,N){if(N<=1)return;for(var i=0;i<N/2;i++){var t=rws[i];rws[i]=rws[N-i-1],rws[N-i-1]=t,t=iws[i],iws[i]=-iws[N-i-1],iws[N-i-1]=-t}},FFTM.prototype.normalize13b=function(ws,N){var carry=0;for(var i=0;i<N/2;i++){var w=Math.round(ws[2*i+1]/N)*8192+Math.round(ws[2*i]/N)+carry;if(ws[i]=w&67108863,w<67108864)carry=0;else carry=w/67108864|0}return ws},FFTM.prototype.convert13b=function(ws,len,rws,N){var carry=0;for(var i=0;i<len;i++)carry=carry+(ws[i]|0),rws[2*i]=carry&8191,carry=carry>>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i<N;++i)rws[i]=0;assert(carry===0),assert((carry&-8192)===0)},FFTM.prototype.stub=function(N){var ph=Array(N);for(var i=0;i<N;i++)ph[i]=0;return ph},FFTM.prototype.mulp=function(x,y,out){var N=2*this.guessLen13b(x.length,y.length),rbt=this.makeRBT(N),_=this.stub(N),rws=Array(N),rwst=Array(N),iwst=Array(N),nrws=Array(N),nrwst=Array(N),niwst=Array(N),rmws=out.words;rmws.length=N,this.convert13b(x.words,x.length,rws,N),this.convert13b(y.words,y.length,nrws,N),this.transform(rws,_,rwst,iwst,N,rbt),this.transform(nrws,_,nrwst,niwst,N,rbt);for(var i=0;i<N;i++){var rx=rwst[i]*nrwst[i]-iwst[i]*niwst[i];iwst[i]=rwst[i]*niwst[i]+iwst[i]*nrwst[i],rwst[i]=rx}return this.conjugate(rwst,iwst,N),this.transform(rwst,iwst,rmws,_,N,rbt),this.conjugate(rmws,_,N),this.normalize13b(rmws,N),out.negative=x.negative^y.negative,out.length=x.length+y.length,out.strip()},BN.prototype.mul=function(num){var out=new BN(null);return out.words=Array(this.length+num.length),this.mulTo(num,out)},BN.prototype.mulf=function(num){var out=new BN(null);return out.words=Array(this.length+num.length),jumboMulTo(this,num,out)},BN.prototype.imul=function(num){return this.clone().mulTo(num,this)},BN.prototype.imuln=function(num){assert(typeof num===\"number\"),assert(num<67108864);var carry=0;for(var i=0;i<this.length;i++){var w=(this.words[i]|0)*num,lo=(w&67108863)+(carry&67108863);carry>>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}if(carry!==0)this.words[i]=carry,this.length++;return this.length=num===0?1:this.length,this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);var res=this;for(var i=0;i<w.length;i++,res=res.sqr())if(w[i]!==0)break;if(++i<w.length)for(var q=res.sqr();i<w.length;i++,q=q.sqr()){if(w[i]===0)continue;res=res.mul(q)}return res},BN.prototype.iushln=function(bits){assert(typeof bits===\"number\"&&bits>=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i<this.length;i++){var newCarry=this.words[i]&carryMask,c=(this.words[i]|0)-newCarry<<r;this.words[i]=c|carry,carry=newCarry>>>26-r}if(carry)this.words[i]=carry,this.length++}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i<s;i++)this.words[i]=0;this.length+=s}return this.strip()},BN.prototype.ishln=function(bits){return assert(this.negative===0),this.iushln(bits)},BN.prototype.iushrn=function(bits,hint,extended){assert(typeof bits===\"number\"&&bits>=0);var h;if(hint)h=(hint-hint%26)/26;else h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<<r,maskedWords=extended;if(h-=s,h=Math.max(0,h),maskedWords){for(var i=0;i<s;i++)maskedWords.words[i]=this.words[i];maskedWords.length=s}if(s===0);else if(this.length>s){this.length-=s;for(i=0;i<this.length;i++)this.words[i]=this.words[i+s]}else this.words[0]=0,this.length=1;var carry=0;for(i=this.length-1;i>=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}if(maskedWords&&carry!==0)maskedWords.words[maskedWords.length++]=carry;if(this.length===0)this.words[0]=0,this.length=1;return this.strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit===\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<<r;if(this.length<=s)return!1;var w=this.words[s];return!!(w&q)},BN.prototype.imaskn=function(bits){assert(typeof bits===\"number\"&&bits>=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0)s++;if(this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<<r;this.words[this.length-1]&=mask}return this.strip()},BN.prototype.maskn=function(bits){return this.clone().imaskn(bits)},BN.prototype.iaddn=function(num){if(assert(typeof num===\"number\"),assert(num<67108864),num<0)return this.isubn(-num);if(this.negative!==0){if(this.length===1&&(this.words[0]|0)<num)return this.words[0]=num-(this.words[0]|0),this.negative=0,this;return this.negative=0,this.isubn(num),this.negative=1,this}return this._iaddn(num)},BN.prototype._iaddn=function(num){this.words[0]+=num;for(var i=0;i<this.length&&this.words[i]>=67108864;i++)if(this.words[i]-=67108864,i===this.length-1)this.words[i+1]=1;else this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num===\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i<this.length&&this.words[i]<0;i++)this.words[i]+=67108864,this.words[i+1]-=1;return this.strip()},BN.prototype.addn=function(num){return this.clone().iaddn(num)},BN.prototype.subn=function(num){return this.clone().isubn(num)},BN.prototype.iabs=function(){return this.negative=0,this},BN.prototype.abs=function(){return this.clone().iabs()},BN.prototype._ishlnsubmul=function(num,mul,shift){var len=num.length+shift,i;this._expand(len);var w,carry=0;for(i=0;i<num.length;i++){w=(this.words[i+shift]|0)+carry;var right=(num.words[i]|0)*mul;w-=right&67108863,carry=(w>>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i<this.length-shift;i++)w=(this.words[i+shift]|0)+carry,carry=w>>26,this.words[i+shift]=w&67108863;if(carry===0)return this.strip();assert(carry===-1),carry=0;for(i=0;i<this.length;i++)w=-(this.words[i]|0)+carry,carry=w>>26,this.words[i]=w&67108863;return this.negative=1,this.strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);if(shift=26-bhiBits,shift!==0)b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0;var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=Array(q.length);for(var i=0;i<q.length;i++)q.words[i]=0}var diff=a.clone()._ishlnsubmul(b,1,m);if(diff.negative===0){if(a=diff,q)q.words[m]=1}for(var j=m-1;j>=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);while(a.negative!==0)if(qj--,a.negative=0,a._ishlnsubmul(b,1,j),!a.isZero())a.negative^=1;if(q)q.words[j]=qj}if(q)q.strip();if(a.strip(),mode!==\"div\"&&shift!==0)a.iushrn(shift);return{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;if(this.negative!==0&&num.negative===0){if(res=this.neg().divmod(num,mode),mode!==\"mod\")div=res.div.neg();if(mode!==\"div\"){if(mod=res.mod.neg(),positive&&mod.negative!==0)mod.iadd(num)}return{div,mod}}if(this.negative===0&&num.negative!==0){if(res=this.divmod(num.neg(),mode),mode!==\"mod\")div=res.div.neg();return{div,mod:res.mod}}if((this.negative&num.negative)!==0){if(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"){if(mod=res.mod.neg(),positive&&mod.negative!==0)mod.isub(num)}return{div:res.div,mod}}if(num.length>this.length||this.cmp(num)<0)return{div:new BN(0),mod:this};if(num.length===1){if(mode===\"div\")return{div:this.divn(num.words[0]),mod:null};if(mode===\"mod\")return{div:null,mod:new BN(this.modn(num.words[0]))};return{div:this.divn(num.words[0]),mod:new BN(this.modn(num.words[0]))}}return this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);if(cmp<0||r2===1&&cmp===0)return dm.div;return dm.div.negative!==0?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modn=function(num){assert(num<=67108863);var p=67108864%num,acc=0;for(var i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return acc},BN.prototype.idivn=function(num){assert(num<=67108863);var carry=0;for(var i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this.strip()},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();if(x.negative!==0)x=x.umod(p);else x=x.clone();var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;while(x.isEven()&&y.isEven())x.iushrn(1),y.iushrn(1),++g;var yp=y.clone(),xp=x.clone();while(!x.isZero()){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0){x.iushrn(i);while(i-- >0){if(A.isOdd()||B.isOdd())A.iadd(yp),B.isub(xp);A.iushrn(1),B.iushrn(1)}}for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0){y.iushrn(j);while(j-- >0){if(C.isOdd()||D.isOdd())C.iadd(yp),D.isub(xp);C.iushrn(1),D.iushrn(1)}}if(x.cmp(y)>=0)x.isub(y),A.isub(C),B.isub(D);else y.isub(x),C.isub(A),D.isub(B)}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();if(a.negative!==0)a=a.umod(p);else a=a.clone();var x1=new BN(1),x2=new BN(0),delta=b.clone();while(a.cmpn(1)>0&&b.cmpn(1)>0){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0){a.iushrn(i);while(i-- >0){if(x1.isOdd())x1.iadd(delta);x1.iushrn(1)}}for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0){b.iushrn(j);while(j-- >0){if(x2.isOdd())x2.iadd(delta);x2.iushrn(1)}}if(a.cmp(b)>=0)a.isub(b),x1.isub(x2);else b.isub(a),x2.isub(x1)}var res;if(a.cmpn(1)===0)res=x1;else res=x2;if(res.cmpn(0)<0)res.iadd(p);return res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{while(a.isEven())a.iushrn(1);while(b.isEven())b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit===\"number\");var r=bit%26,s=(bit-r)/26,q=1<<r;if(this.length<=s)return this._expand(s+1),this.words[s]|=q,this;var carry=q;for(var i=s;carry!==0&&i<this.length;i++){var w=this.words[i]|0;w+=carry,carry=w>>>26,w&=67108863,this.words[i]=w}if(carry!==0)this.words[i]=carry,this.length++;return this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this.strip();var res;if(this.length>1)res=1;else{if(negative)num=-num;assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num?0:w<num?-1:1}if(this.negative!==0)return-res|0;return res},BN.prototype.cmp=function(num){if(this.negative!==0&&num.negative===0)return-1;if(this.negative===0&&num.negative!==0)return 1;var res=this.ucmp(num);if(this.negative!==0)return-res|0;return res},BN.prototype.ucmp=function(num){if(this.length>num.length)return 1;if(this.length<num.length)return-1;var res=0;for(var i=this.length-1;i>=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a===b)continue;if(a<b)res=-1;else if(a>b)res=1;break}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen<this.n?-1:r.ucmp(this.p);if(cmp===0)r.words[0]=0,r.length=1;else if(cmp>0)r.isub(this.p);else if(r.strip!==void 0)r.strip();else r._strip();return r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){var mask=4194303,outLen=Math.min(input.length,9);for(var i=0;i<outLen;i++)output.words[i]=input.words[i];if(output.length=outLen,input.length<=9){input.words[0]=0,input.length=1;return}var prev=input.words[9];output.words[output.length++]=prev&mask;for(i=10;i<input.length;i++){var next=input.words[i]|0;input.words[i-10]=(next&mask)<<4|prev>>>22,prev=next}if(prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10)input.length-=10;else input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;var lo=0;for(var i=0;i<num.length;i++){var w=num.words[i]|0;lo+=w*977,num.words[i]=lo&67108863,lo=w*64+(lo/67108864|0)}if(num.words[num.length-1]===0){if(num.length--,num.words[num.length-1]===0)num.length--}return num};function P224(){MPrime.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}inherits(P224,MPrime);function P192(){MPrime.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}inherits(P192,MPrime);function P25519(){MPrime.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}inherits(P25519,MPrime),P25519.prototype.imulK=function(num){var carry=0;for(var i=0;i<num.length;i++){var hi=(num.words[i]|0)*19+carry,lo=hi&67108863;hi>>>=26,num.words[i]=lo,carry=hi}if(carry!==0)num.words[num.length++]=carry;return num},BN._prime=function(name){if(primes[name])return primes[name];var prime;if(name===\"k256\")prime=new K256;else if(name===\"p224\")prime=new P224;else if(name===\"p192\")prime=new P192;else if(name===\"p25519\")prime=new P25519;else throw Error(\"Unknown prime \"+name);return primes[name]=prime,prime};function Red(m){if(typeof m===\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){if(this.prime)return this.prime.ireduce(a)._forceRed(this);return a.umod(this.m)._forceRed(this)},Red.prototype.neg=function(a){if(a.isZero())return a.clone();return this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);if(res.cmp(this.m)>=0)res.isub(this.m);return res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);if(res.cmp(this.m)>=0)res.isub(this.m);return res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);if(res.cmpn(0)<0)res.iadd(this.m);return res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);if(res.cmpn(0)<0)res.iadd(this.m);return res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}var q=this.m.subn(1),s=0;while(!q.isZero()&&q.andln(1)===0)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();z=new BN(2*z*z).toRed(this);while(this.pow(z,lpow).cmp(nOne)!==0)z.redIAdd(nOne);var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;while(t.cmp(one)!==0){var tmp=t;for(var i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i<m);var b=this.pow(c,new BN(1).iushln(m-i-1));r=r.redMul(b),c=b.redSqr(),t=t.redMul(c),m=i}return r},Red.prototype.invm=function(a){var inv=a._invmp(this.m);if(inv.negative!==0)return inv.negative=0,this.imod(inv).redNeg();else return this.imod(inv)},Red.prototype.pow=function(a,num){if(num.isZero())return new BN(1).toRed(this);if(num.cmpn(1)===0)return a.clone();var windowSize=4,wnd=Array(1<<windowSize);wnd[0]=new BN(1).toRed(this),wnd[1]=a;for(var i=2;i<wnd.length;i++)wnd[i]=this.mul(wnd[i-1],a);var res=wnd[0],current=0,currentLen=0,start=num.bitLength()%26;if(start===0)start=26;for(i=num.length-1;i>=0;i--){var word=num.words[i];for(var j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0])res=this.sqr(res);if(bit===0&¤t===0){currentLen=0;continue}if(current<<=1,current|=bit,currentLen++,currentLen!==windowSize&&(i!==0||j!==0))continue;res=this.mul(res,wnd[current]),currentLen=0,current=0}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){if(Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0)this.shift+=26-this.shift%26;this.r=new BN(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;if(u.cmp(this.m)>=0)res=u.isub(this.m);else if(u.cmpn(0)<0)res=u.iadd(this.m);return res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;if(u.cmp(this.m)>=0)res=u.isub(this.m);else if(u.cmpn(0)<0)res=u.iadd(this.m);return res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)});var require_api=__commonJS((exports)=>{var asn1=require_asn1(),inherits=require_inherits(),api=exports;api.define=function(name,body){return new Entity(name,body)};function Entity(name,body){this.name=name,this.body=body,this.decoders={},this.encoders={}}Entity.prototype._createNamed=function(base){var named;try{named=require(\"vm\").runInThisContext(\"(function \"+this.name+`(entity) {\n this._initNamed(entity);\n})`)}catch(e){named=function(entity){this._initNamed(entity)}}return inherits(named,base),named.prototype._initNamed=function(entity){base.call(this,entity)},new named(this)};Entity.prototype._getDecoder=function(enc){if(enc=enc||\"der\",!this.decoders.hasOwnProperty(enc))this.decoders[enc]=this._createNamed(asn1.decoders[enc]);return this.decoders[enc]};Entity.prototype.decode=function(data,enc,options){return this._getDecoder(enc).decode(data,options)};Entity.prototype._getEncoder=function(enc){if(enc=enc||\"der\",!this.encoders.hasOwnProperty(enc))this.encoders[enc]=this._createNamed(asn1.encoders[enc]);return this.encoders[enc]};Entity.prototype.encode=function(data,enc,reporter){return this._getEncoder(enc).encode(data,reporter)}});var require_reporter=__commonJS((exports)=>{var inherits=require_inherits();function Reporter(options){this._reporterState={obj:null,path:[],options:options||{},errors:[]}}exports.Reporter=Reporter;Reporter.prototype.isError=function(obj){return obj instanceof ReporterError};Reporter.prototype.save=function(){var state=this._reporterState;return{obj:state.obj,pathLen:state.path.length}};Reporter.prototype.restore=function(data){var state=this._reporterState;state.obj=data.obj,state.path=state.path.slice(0,data.pathLen)};Reporter.prototype.enterKey=function(key){return this._reporterState.path.push(key)};Reporter.prototype.exitKey=function(index){var state=this._reporterState;state.path=state.path.slice(0,index-1)};Reporter.prototype.leaveKey=function(index,key,value){var state=this._reporterState;if(this.exitKey(index),state.obj!==null)state.obj[key]=value};Reporter.prototype.path=function(){return this._reporterState.path.join(\"/\")};Reporter.prototype.enterObject=function(){var state=this._reporterState,prev=state.obj;return state.obj={},prev};Reporter.prototype.leaveObject=function(prev){var state=this._reporterState,now=state.obj;return state.obj=prev,now};Reporter.prototype.error=function(msg){var err,state=this._reporterState,inherited=msg instanceof ReporterError;if(inherited)err=msg;else err=new ReporterError(state.path.map(function(elem){return\"[\"+JSON.stringify(elem)+\"]\"}).join(\"\"),msg.message||msg,msg.stack);if(!state.options.partial)throw err;if(!inherited)state.errors.push(err);return err};Reporter.prototype.wrapResult=function(result){var state=this._reporterState;if(!state.options.partial)return result;return{result:this.isError(result)?null:result,errors:state.errors}};function ReporterError(path,msg){this.path=path,this.rethrow(msg)}inherits(ReporterError,Error);ReporterError.prototype.rethrow=function(msg){if(this.message=msg+\" at: \"+(this.path||\"(shallow)\"),Error.captureStackTrace)Error.captureStackTrace(this,ReporterError);if(!this.stack)try{throw Error(this.message)}catch(e){this.stack=e.stack}return this}});var require_buffer=__commonJS((exports)=>{var inherits=require_inherits(),Reporter=require_base2().Reporter,Buffer2=require(\"buffer\").Buffer;function DecoderBuffer(base,options){if(Reporter.call(this,options),!Buffer2.isBuffer(base)){this.error(\"Input not Buffer\");return}this.base=base,this.offset=0,this.length=base.length}inherits(DecoderBuffer,Reporter);exports.DecoderBuffer=DecoderBuffer;DecoderBuffer.prototype.save=function(){return{offset:this.offset,reporter:Reporter.prototype.save.call(this)}};DecoderBuffer.prototype.restore=function(save){var res=new DecoderBuffer(this.base);return res.offset=save.offset,res.length=this.offset,this.offset=save.offset,Reporter.prototype.restore.call(this,save.reporter),res};DecoderBuffer.prototype.isEmpty=function(){return this.offset===this.length};DecoderBuffer.prototype.readUInt8=function(fail){if(this.offset+1<=this.length)return this.base.readUInt8(this.offset++,!0);else return this.error(fail||\"DecoderBuffer overrun\")};DecoderBuffer.prototype.skip=function(bytes,fail){if(!(this.offset+bytes<=this.length))return this.error(fail||\"DecoderBuffer overrun\");var res=new DecoderBuffer(this.base);return res._reporterState=this._reporterState,res.offset=this.offset,res.length=this.offset+bytes,this.offset+=bytes,res};DecoderBuffer.prototype.raw=function(save){return this.base.slice(save?save.offset:this.offset,this.length)};function EncoderBuffer(value,reporter){if(Array.isArray(value))this.length=0,this.value=value.map(function(item){if(!(item instanceof EncoderBuffer))item=new EncoderBuffer(item,reporter);return this.length+=item.length,item},this);else if(typeof value===\"number\"){if(!(0<=value&&value<=255))return reporter.error(\"non-byte EncoderBuffer value\");this.value=value,this.length=1}else if(typeof value===\"string\")this.value=value,this.length=Buffer2.byteLength(value);else if(Buffer2.isBuffer(value))this.value=value,this.length=value.length;else return reporter.error(\"Unsupported type: \"+typeof value)}exports.EncoderBuffer=EncoderBuffer;EncoderBuffer.prototype.join=function(out,offset){if(!out)out=new Buffer2(this.length);if(!offset)offset=0;if(this.length===0)return out;if(Array.isArray(this.value))this.value.forEach(function(item){item.join(out,offset),offset+=item.length});else{if(typeof this.value===\"number\")out[offset]=this.value;else if(typeof this.value===\"string\")out.write(this.value,offset);else if(Buffer2.isBuffer(this.value))this.value.copy(out,offset);offset+=this.length}return out}});var require_node=__commonJS((exports,module)=>{var Reporter=require_base2().Reporter,EncoderBuffer=require_base2().EncoderBuffer,DecoderBuffer=require_base2().DecoderBuffer,assert=require_minimalistic_assert(),tags=[\"seq\",\"seqof\",\"set\",\"setof\",\"objid\",\"bool\",\"gentime\",\"utctime\",\"null_\",\"enum\",\"int\",\"objDesc\",\"bitstr\",\"bmpstr\",\"charstr\",\"genstr\",\"graphstr\",\"ia5str\",\"iso646str\",\"numstr\",\"octstr\",\"printstr\",\"t61str\",\"unistr\",\"utf8str\",\"videostr\"],methods=[\"key\",\"obj\",\"use\",\"optional\",\"explicit\",\"implicit\",\"def\",\"choice\",\"any\",\"contains\"].concat(tags),overrided=[\"_peekTag\",\"_decodeTag\",\"_use\",\"_decodeStr\",\"_decodeObjid\",\"_decodeTime\",\"_decodeNull\",\"_decodeInt\",\"_decodeBool\",\"_decodeList\",\"_encodeComposite\",\"_encodeStr\",\"_encodeObjid\",\"_encodeTime\",\"_encodeNull\",\"_encodeInt\",\"_encodeBool\"];function Node(enc,parent){var state={};if(this._baseState=state,state.enc=enc,state.parent=parent||null,state.children=null,state.tag=null,state.args=null,state.reverseArgs=null,state.choice=null,state.optional=!1,state.any=!1,state.obj=!1,state.use=null,state.useDecoder=null,state.key=null,state.default=null,state.explicit=null,state.implicit=null,state.contains=null,!state.parent)state.children=[],this._wrap()}module.exports=Node;var stateProps=[\"enc\",\"parent\",\"children\",\"tag\",\"args\",\"reverseArgs\",\"choice\",\"optional\",\"any\",\"obj\",\"use\",\"alteredUse\",\"key\",\"default\",\"explicit\",\"implicit\",\"contains\"];Node.prototype.clone=function(){var state=this._baseState,cstate={};stateProps.forEach(function(prop){cstate[prop]=state[prop]});var res=new this.constructor(cstate.parent);return res._baseState=cstate,res};Node.prototype._wrap=function(){var state=this._baseState;methods.forEach(function(method){this[method]=function(){var clone=new this.constructor(this);return state.children.push(clone),clone[method].apply(clone,arguments)}},this)};Node.prototype._init=function(body){var state=this._baseState;assert(state.parent===null),body.call(this),state.children=state.children.filter(function(child){return child._baseState.parent===this},this),assert.equal(state.children.length,1,\"Root node can have only one child\")};Node.prototype._useArgs=function(args){var state=this._baseState,children=args.filter(function(arg){return arg instanceof this.constructor},this);if(args=args.filter(function(arg){return!(arg instanceof this.constructor)},this),children.length!==0)assert(state.children===null),state.children=children,children.forEach(function(child){child._baseState.parent=this},this);if(args.length!==0)assert(state.args===null),state.args=args,state.reverseArgs=args.map(function(arg){if(typeof arg!==\"object\"||arg.constructor!==Object)return arg;var res={};return Object.keys(arg).forEach(function(key){if(key==(key|0))key|=0;var value=arg[key];res[value]=key}),res})};overrided.forEach(function(method){Node.prototype[method]=function(){var state=this._baseState;throw Error(method+\" not implemented for encoding: \"+state.enc)}});tags.forEach(function(tag){Node.prototype[tag]=function(){var state=this._baseState,args=Array.prototype.slice.call(arguments);return assert(state.tag===null),state.tag=tag,this._useArgs(args),this}});Node.prototype.use=function(item){assert(item);var state=this._baseState;return assert(state.use===null),state.use=item,this};Node.prototype.optional=function(){var state=this._baseState;return state.optional=!0,this};Node.prototype.def=function(val){var state=this._baseState;return assert(state.default===null),state.default=val,state.optional=!0,this};Node.prototype.explicit=function(num){var state=this._baseState;return assert(state.explicit===null&&state.implicit===null),state.explicit=num,this};Node.prototype.implicit=function(num){var state=this._baseState;return assert(state.explicit===null&&state.implicit===null),state.implicit=num,this};Node.prototype.obj=function(){var state=this._baseState,args=Array.prototype.slice.call(arguments);if(state.obj=!0,args.length!==0)this._useArgs(args);return this};Node.prototype.key=function(newKey){var state=this._baseState;return assert(state.key===null),state.key=newKey,this};Node.prototype.any=function(){var state=this._baseState;return state.any=!0,this};Node.prototype.choice=function(obj){var state=this._baseState;return assert(state.choice===null),state.choice=obj,this._useArgs(Object.keys(obj).map(function(key){return obj[key]})),this};Node.prototype.contains=function(item){var state=this._baseState;return assert(state.use===null),state.contains=item,this};Node.prototype._decode=function(input,options){var state=this._baseState;if(state.parent===null)return input.wrapResult(state.children[0]._decode(input,options));var result=state.default,present=!0,prevKey=null;if(state.key!==null)prevKey=input.enterKey(state.key);if(state.optional){var tag=null;if(state.explicit!==null)tag=state.explicit;else if(state.implicit!==null)tag=state.implicit;else if(state.tag!==null)tag=state.tag;if(tag===null&&!state.any){var save=input.save();try{if(state.choice===null)this._decodeGeneric(state.tag,input,options);else this._decodeChoice(input,options);present=!0}catch(e){present=!1}input.restore(save)}else if(present=this._peekTag(input,tag,state.any),input.isError(present))return present}var prevObj;if(state.obj&&present)prevObj=input.enterObject();if(present){if(state.explicit!==null){var explicit=this._decodeTag(input,state.explicit);if(input.isError(explicit))return explicit;input=explicit}var start=input.offset;if(state.use===null&&state.choice===null){if(state.any)var save=input.save();var body=this._decodeTag(input,state.implicit!==null?state.implicit:state.tag,state.any);if(input.isError(body))return body;if(state.any)result=input.raw(save);else input=body}if(options&&options.track&&state.tag!==null)options.track(input.path(),start,input.length,\"tagged\");if(options&&options.track&&state.tag!==null)options.track(input.path(),input.offset,input.length,\"content\");if(state.any)result=result;else if(state.choice===null)result=this._decodeGeneric(state.tag,input,options);else result=this._decodeChoice(input,options);if(input.isError(result))return result;if(!state.any&&state.choice===null&&state.children!==null)state.children.forEach(function(child){child._decode(input,options)});if(state.contains&&(state.tag===\"octstr\"||state.tag===\"bitstr\")){var data=new DecoderBuffer(result);result=this._getUse(state.contains,input._reporterState.obj)._decode(data,options)}}if(state.obj&&present)result=input.leaveObject(prevObj);if(state.key!==null&&(result!==null||present===!0))input.leaveKey(prevKey,state.key,result);else if(prevKey!==null)input.exitKey(prevKey);return result};Node.prototype._decodeGeneric=function(tag,input,options){var state=this._baseState;if(tag===\"seq\"||tag===\"set\")return null;if(tag===\"seqof\"||tag===\"setof\")return this._decodeList(input,tag,state.args[0],options);else if(/str$/.test(tag))return this._decodeStr(input,tag,options);else if(tag===\"objid\"&&state.args)return this._decodeObjid(input,state.args[0],state.args[1],options);else if(tag===\"objid\")return this._decodeObjid(input,null,null,options);else if(tag===\"gentime\"||tag===\"utctime\")return this._decodeTime(input,tag,options);else if(tag===\"null_\")return this._decodeNull(input,options);else if(tag===\"bool\")return this._decodeBool(input,options);else if(tag===\"objDesc\")return this._decodeStr(input,tag,options);else if(tag===\"int\"||tag===\"enum\")return this._decodeInt(input,state.args&&state.args[0],options);if(state.use!==null)return this._getUse(state.use,input._reporterState.obj)._decode(input,options);else return input.error(\"unknown tag: \"+tag)};Node.prototype._getUse=function(entity,obj){var state=this._baseState;if(state.useDecoder=this._use(entity,obj),assert(state.useDecoder._baseState.parent===null),state.useDecoder=state.useDecoder._baseState.children[0],state.implicit!==state.useDecoder._baseState.implicit)state.useDecoder=state.useDecoder.clone(),state.useDecoder._baseState.implicit=state.implicit;return state.useDecoder};Node.prototype._decodeChoice=function(input,options){var state=this._baseState,result=null,match=!1;if(Object.keys(state.choice).some(function(key){var save=input.save(),node=state.choice[key];try{var value=node._decode(input,options);if(input.isError(value))return!1;result={type:key,value},match=!0}catch(e){return input.restore(save),!1}return!0},this),!match)return input.error(\"Choice not matched\");return result};Node.prototype._createEncoderBuffer=function(data){return new EncoderBuffer(data,this.reporter)};Node.prototype._encode=function(data,reporter,parent){var state=this._baseState;if(state.default!==null&&state.default===data)return;var result=this._encodeValue(data,reporter,parent);if(result===void 0)return;if(this._skipDefault(result,reporter,parent))return;return result};Node.prototype._encodeValue=function(data,reporter,parent){var state=this._baseState;if(state.parent===null)return state.children[0]._encode(data,reporter||new Reporter);var result=null;if(this.reporter=reporter,state.optional&&data===void 0)if(state.default!==null)data=state.default;else return;var content=null,primitive=!1;if(state.any)result=this._createEncoderBuffer(data);else if(state.choice)result=this._encodeChoice(data,reporter);else if(state.contains)content=this._getUse(state.contains,parent)._encode(data,reporter),primitive=!0;else if(state.children)content=state.children.map(function(child2){if(child2._baseState.tag===\"null_\")return child2._encode(null,reporter,data);if(child2._baseState.key===null)return reporter.error(\"Child should have a key\");var prevKey=reporter.enterKey(child2._baseState.key);if(typeof data!==\"object\")return reporter.error(\"Child expected, but input is not object\");var res=child2._encode(data[child2._baseState.key],reporter,data);return reporter.leaveKey(prevKey),res},this).filter(function(child2){return child2}),content=this._createEncoderBuffer(content);else if(state.tag===\"seqof\"||state.tag===\"setof\"){if(!(state.args&&state.args.length===1))return reporter.error(\"Too many args for : \"+state.tag);if(!Array.isArray(data))return reporter.error(\"seqof/setof, but data is not Array\");var child=this.clone();child._baseState.implicit=null,content=this._createEncoderBuffer(data.map(function(item){var state2=this._baseState;return this._getUse(state2.args[0],data)._encode(item,reporter)},child))}else if(state.use!==null)result=this._getUse(state.use,parent)._encode(data,reporter);else content=this._encodePrimitive(state.tag,data),primitive=!0;var result;if(!state.any&&state.choice===null){var tag=state.implicit!==null?state.implicit:state.tag,cls=state.implicit===null?\"universal\":\"context\";if(tag===null){if(state.use===null)reporter.error(\"Tag could be omitted only for .use()\")}else if(state.use===null)result=this._encodeComposite(tag,primitive,cls,content)}if(state.explicit!==null)result=this._encodeComposite(state.explicit,!1,\"context\",result);return result};Node.prototype._encodeChoice=function(data,reporter){var state=this._baseState,node=state.choice[data.type];if(!node)assert(!1,data.type+\" not found in \"+JSON.stringify(Object.keys(state.choice)));return node._encode(data.value,reporter)};Node.prototype._encodePrimitive=function(tag,data){var state=this._baseState;if(/str$/.test(tag))return this._encodeStr(data,tag);else if(tag===\"objid\"&&state.args)return this._encodeObjid(data,state.reverseArgs[0],state.args[1]);else if(tag===\"objid\")return this._encodeObjid(data,null,null);else if(tag===\"gentime\"||tag===\"utctime\")return this._encodeTime(data,tag);else if(tag===\"null_\")return this._encodeNull();else if(tag===\"int\"||tag===\"enum\")return this._encodeInt(data,state.args&&state.reverseArgs[0]);else if(tag===\"bool\")return this._encodeBool(data);else if(tag===\"objDesc\")return this._encodeStr(data,tag);else throw Error(\"Unsupported tag: \"+tag)};Node.prototype._isNumstr=function(str){return/^[0-9 ]*$/.test(str)};Node.prototype._isPrintstr=function(str){return/^[A-Za-z0-9 '\\(\\)\\+,\\-\\.\\/:=\\?]*$/.test(str)}});var require_base2=__commonJS((exports)=>{var base=exports;base.Reporter=require_reporter().Reporter;base.DecoderBuffer=require_buffer().DecoderBuffer;base.EncoderBuffer=require_buffer().EncoderBuffer;base.Node=require_node()});var require_der=__commonJS((exports)=>{var constants=require_constants();exports.tagClass={0:\"universal\",1:\"application\",2:\"context\",3:\"private\"};exports.tagClassByName=constants._reverse(exports.tagClass);exports.tag={0:\"end\",1:\"bool\",2:\"int\",3:\"bitstr\",4:\"octstr\",5:\"null_\",6:\"objid\",7:\"objDesc\",8:\"external\",9:\"real\",10:\"enum\",11:\"embed\",12:\"utf8str\",13:\"relativeOid\",16:\"seq\",17:\"set\",18:\"numstr\",19:\"printstr\",20:\"t61str\",21:\"videostr\",22:\"ia5str\",23:\"utctime\",24:\"gentime\",25:\"graphstr\",26:\"iso646str\",27:\"genstr\",28:\"unistr\",29:\"charstr\",30:\"bmpstr\"};exports.tagByName=constants._reverse(exports.tag)});var require_constants=__commonJS((exports)=>{var constants=exports;constants._reverse=function(map){var res={};return Object.keys(map).forEach(function(key){if((key|0)==key)key=key|0;var value=map[key];res[value]=key}),res};constants.der=require_der()});var require_der2=__commonJS((exports,module)=>{var inherits=require_inherits(),asn1=require_asn1(),base=asn1.base,bignum=asn1.bignum,der=asn1.constants.der;function DERDecoder(entity){this.enc=\"der\",this.name=entity.name,this.entity=entity,this.tree=new DERNode,this.tree._init(entity.body)}module.exports=DERDecoder;DERDecoder.prototype.decode=function(data,options){if(!(data instanceof base.DecoderBuffer))data=new base.DecoderBuffer(data,options);return this.tree._decode(data,options)};function DERNode(parent){base.Node.call(this,\"der\",parent)}inherits(DERNode,base.Node);DERNode.prototype._peekTag=function(buffer,tag,any){if(buffer.isEmpty())return!1;var state=buffer.save(),decodedTag=derDecodeTag(buffer,'Failed to peek tag: \"'+tag+'\"');if(buffer.isError(decodedTag))return decodedTag;return buffer.restore(state),decodedTag.tag===tag||decodedTag.tagStr===tag||decodedTag.tagStr+\"of\"===tag||any};DERNode.prototype._decodeTag=function(buffer,tag,any){var decodedTag=derDecodeTag(buffer,'Failed to decode tag of \"'+tag+'\"');if(buffer.isError(decodedTag))return decodedTag;var len=derDecodeLen(buffer,decodedTag.primitive,'Failed to get length of \"'+tag+'\"');if(buffer.isError(len))return len;if(!any&&decodedTag.tag!==tag&&decodedTag.tagStr!==tag&&decodedTag.tagStr+\"of\"!==tag)return buffer.error('Failed to match tag: \"'+tag+'\"');if(decodedTag.primitive||len!==null)return buffer.skip(len,'Failed to match body of: \"'+tag+'\"');var state=buffer.save(),res=this._skipUntilEnd(buffer,'Failed to skip indefinite length body: \"'+this.tag+'\"');if(buffer.isError(res))return res;return len=buffer.offset-state.offset,buffer.restore(state),buffer.skip(len,'Failed to match body of: \"'+tag+'\"')};DERNode.prototype._skipUntilEnd=function(buffer,fail){while(!0){var tag=derDecodeTag(buffer,fail);if(buffer.isError(tag))return tag;var len=derDecodeLen(buffer,tag.primitive,fail);if(buffer.isError(len))return len;var res;if(tag.primitive||len!==null)res=buffer.skip(len);else res=this._skipUntilEnd(buffer,fail);if(buffer.isError(res))return res;if(tag.tagStr===\"end\")break}};DERNode.prototype._decodeList=function(buffer,tag,decoder,options){var result=[];while(!buffer.isEmpty()){var possibleEnd=this._peekTag(buffer,\"end\");if(buffer.isError(possibleEnd))return possibleEnd;var res=decoder.decode(buffer,\"der\",options);if(buffer.isError(res)&&possibleEnd)break;result.push(res)}return result};DERNode.prototype._decodeStr=function(buffer,tag){if(tag===\"bitstr\"){var unused=buffer.readUInt8();if(buffer.isError(unused))return unused;return{unused,data:buffer.raw()}}else if(tag===\"bmpstr\"){var raw=buffer.raw();if(raw.length%2===1)return buffer.error(\"Decoding of string type: bmpstr length mismatch\");var str=\"\";for(var i=0;i<raw.length/2;i++)str+=String.fromCharCode(raw.readUInt16BE(i*2));return str}else if(tag===\"numstr\"){var numstr=buffer.raw().toString(\"ascii\");if(!this._isNumstr(numstr))return buffer.error(\"Decoding of string type: numstr unsupported characters\");return numstr}else if(tag===\"octstr\")return buffer.raw();else if(tag===\"objDesc\")return buffer.raw();else if(tag===\"printstr\"){var printstr=buffer.raw().toString(\"ascii\");if(!this._isPrintstr(printstr))return buffer.error(\"Decoding of string type: printstr unsupported characters\");return printstr}else if(/str$/.test(tag))return buffer.raw().toString();else return buffer.error(\"Decoding of string type: \"+tag+\" unsupported\")};DERNode.prototype._decodeObjid=function(buffer,values,relative){var result,identifiers=[],ident=0;while(!buffer.isEmpty()){var subident=buffer.readUInt8();if(ident<<=7,ident|=subident&127,(subident&128)===0)identifiers.push(ident),ident=0}if(subident&128)identifiers.push(ident);var first=identifiers[0]/40|0,second=identifiers[0]%40;if(relative)result=identifiers;else result=[first,second].concat(identifiers.slice(1));if(values){var tmp=values[result.join(\" \")];if(tmp===void 0)tmp=values[result.join(\".\")];if(tmp!==void 0)result=tmp}return result};DERNode.prototype._decodeTime=function(buffer,tag){var str=buffer.raw().toString();if(tag===\"gentime\")var year=str.slice(0,4)|0,mon=str.slice(4,6)|0,day=str.slice(6,8)|0,hour=str.slice(8,10)|0,min=str.slice(10,12)|0,sec=str.slice(12,14)|0;else if(tag===\"utctime\"){var year=str.slice(0,2)|0,mon=str.slice(2,4)|0,day=str.slice(4,6)|0,hour=str.slice(6,8)|0,min=str.slice(8,10)|0,sec=str.slice(10,12)|0;if(year<70)year=2000+year;else year=1900+year}else return buffer.error(\"Decoding \"+tag+\" time is not supported yet\");return Date.UTC(year,mon-1,day,hour,min,sec,0)};DERNode.prototype._decodeNull=function(buffer){return null};DERNode.prototype._decodeBool=function(buffer){var res=buffer.readUInt8();if(buffer.isError(res))return res;else return res!==0};DERNode.prototype._decodeInt=function(buffer,values){var raw=buffer.raw(),res=new bignum(raw);if(values)res=values[res.toString(10)]||res;return res};DERNode.prototype._use=function(entity,obj){if(typeof entity===\"function\")entity=entity(obj);return entity._getDecoder(\"der\").tree};function derDecodeTag(buf,fail){var tag=buf.readUInt8(fail);if(buf.isError(tag))return tag;var cls=der.tagClass[tag>>6],primitive=(tag&32)===0;if((tag&31)===31){var oct=tag;tag=0;while((oct&128)===128){if(oct=buf.readUInt8(fail),buf.isError(oct))return oct;tag<<=7,tag|=oct&127}}else tag&=31;var tagStr=der.tag[tag];return{cls,primitive,tag,tagStr}}function derDecodeLen(buf,primitive,fail){var len=buf.readUInt8(fail);if(buf.isError(len))return len;if(!primitive&&len===128)return null;if((len&128)===0)return len;var num=len&127;if(num>4)return buf.error(\"length octect is too long\");len=0;for(var i=0;i<num;i++){len<<=8;var j=buf.readUInt8(fail);if(buf.isError(j))return j;len|=j}return len}});var require_pem=__commonJS((exports,module)=>{var inherits=require_inherits(),Buffer2=require(\"buffer\").Buffer,DERDecoder=require_der2();function PEMDecoder(entity){DERDecoder.call(this,entity),this.enc=\"pem\"}inherits(PEMDecoder,DERDecoder);module.exports=PEMDecoder;PEMDecoder.prototype.decode=function(data,options){var lines=data.toString().split(/[\\r\\n]+/g),label=options.label.toUpperCase(),re=/^-----(BEGIN|END) ([^-]+)-----$/,start=-1,end=-1;for(var i=0;i<lines.length;i++){var match=lines[i].match(re);if(match===null)continue;if(match[2]!==label)continue;if(start===-1){if(match[1]!==\"BEGIN\")break;start=i}else{if(match[1]!==\"END\")break;end=i;break}}if(start===-1||end===-1)throw Error(\"PEM section not found for: \"+label);var base64=lines.slice(start+1,end).join(\"\");base64.replace(/[^a-z0-9\\+\\/=]+/gi,\"\");var input=new Buffer2(base64,\"base64\");return DERDecoder.prototype.decode.call(this,input,options)}});var require_decoders=__commonJS((exports)=>{var decoders=exports;decoders.der=require_der2();decoders.pem=require_pem()});var require_der3=__commonJS((exports,module)=>{var inherits=require_inherits(),Buffer2=require(\"buffer\").Buffer,asn1=require_asn1(),base=asn1.base,der=asn1.constants.der;function DEREncoder(entity){this.enc=\"der\",this.name=entity.name,this.entity=entity,this.tree=new DERNode,this.tree._init(entity.body)}module.exports=DEREncoder;DEREncoder.prototype.encode=function(data,reporter){return this.tree._encode(data,reporter).join()};function DERNode(parent){base.Node.call(this,\"der\",parent)}inherits(DERNode,base.Node);DERNode.prototype._encodeComposite=function(tag,primitive,cls,content){var encodedTag=encodeTag(tag,primitive,cls,this.reporter);if(content.length<128){var header=new Buffer2(2);return header[0]=encodedTag,header[1]=content.length,this._createEncoderBuffer([header,content])}var lenOctets=1;for(var i=content.length;i>=256;i>>=8)lenOctets++;var header=new Buffer2(2+lenOctets);header[0]=encodedTag,header[1]=128|lenOctets;for(var i=1+lenOctets,j=content.length;j>0;i--,j>>=8)header[i]=j&255;return this._createEncoderBuffer([header,content])};DERNode.prototype._encodeStr=function(str,tag){if(tag===\"bitstr\")return this._createEncoderBuffer([str.unused|0,str.data]);else if(tag===\"bmpstr\"){var buf=new Buffer2(str.length*2);for(var i=0;i<str.length;i++)buf.writeUInt16BE(str.charCodeAt(i),i*2);return this._createEncoderBuffer(buf)}else if(tag===\"numstr\"){if(!this._isNumstr(str))return this.reporter.error(\"Encoding of string type: numstr supports only digits and space\");return this._createEncoderBuffer(str)}else if(tag===\"printstr\"){if(!this._isPrintstr(str))return this.reporter.error(\"Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark\");return this._createEncoderBuffer(str)}else if(/str$/.test(tag))return this._createEncoderBuffer(str);else if(tag===\"objDesc\")return this._createEncoderBuffer(str);else return this.reporter.error(\"Encoding of string type: \"+tag+\" unsupported\")};DERNode.prototype._encodeObjid=function(id,values,relative){if(typeof id===\"string\"){if(!values)return this.reporter.error(\"string objid given, but no values map found\");if(!values.hasOwnProperty(id))return this.reporter.error(\"objid not found in values map\");id=values[id].split(/[\\s\\.]+/g);for(var i=0;i<id.length;i++)id[i]|=0}else if(Array.isArray(id)){id=id.slice();for(var i=0;i<id.length;i++)id[i]|=0}if(!Array.isArray(id))return this.reporter.error(\"objid() should be either array or string, got: \"+JSON.stringify(id));if(!relative){if(id[1]>=40)return this.reporter.error(\"Second objid identifier OOB\");id.splice(0,2,id[0]*40+id[1])}var size=0;for(var i=0;i<id.length;i++){var ident=id[i];for(size++;ident>=128;ident>>=7)size++}var objid=new Buffer2(size),offset=objid.length-1;for(var i=id.length-1;i>=0;i--){var ident=id[i];objid[offset--]=ident&127;while((ident>>=7)>0)objid[offset--]=128|ident&127}return this._createEncoderBuffer(objid)};function two(num){if(num<10)return\"0\"+num;else return num}DERNode.prototype._encodeTime=function(time,tag){var str,date=new Date(time);if(tag===\"gentime\")str=[two(date.getFullYear()),two(date.getUTCMonth()+1),two(date.getUTCDate()),two(date.getUTCHours()),two(date.getUTCMinutes()),two(date.getUTCSeconds()),\"Z\"].join(\"\");else if(tag===\"utctime\")str=[two(date.getFullYear()%100),two(date.getUTCMonth()+1),two(date.getUTCDate()),two(date.getUTCHours()),two(date.getUTCMinutes()),two(date.getUTCSeconds()),\"Z\"].join(\"\");else this.reporter.error(\"Encoding \"+tag+\" time is not supported yet\");return this._encodeStr(str,\"octstr\")};DERNode.prototype._encodeNull=function(){return this._createEncoderBuffer(\"\")};DERNode.prototype._encodeInt=function(num,values){if(typeof num===\"string\"){if(!values)return this.reporter.error(\"String int or enum given, but no values map\");if(!values.hasOwnProperty(num))return this.reporter.error(\"Values map doesn't contain: \"+JSON.stringify(num));num=values[num]}if(typeof num!==\"number\"&&!Buffer2.isBuffer(num)){var numArray=num.toArray();if(!num.sign&&numArray[0]&128)numArray.unshift(0);num=new Buffer2(numArray)}if(Buffer2.isBuffer(num)){var size=num.length;if(num.length===0)size++;var out=new Buffer2(size);if(num.copy(out),num.length===0)out[0]=0;return this._createEncoderBuffer(out)}if(num<128)return this._createEncoderBuffer(num);if(num<256)return this._createEncoderBuffer([0,num]);var size=1;for(var i=num;i>=256;i>>=8)size++;var out=Array(size);for(var i=out.length-1;i>=0;i--)out[i]=num&255,num>>=8;if(out[0]&128)out.unshift(0);return this._createEncoderBuffer(new Buffer2(out))};DERNode.prototype._encodeBool=function(value){return this._createEncoderBuffer(value?255:0)};DERNode.prototype._use=function(entity,obj){if(typeof entity===\"function\")entity=entity(obj);return entity._getEncoder(\"der\").tree};DERNode.prototype._skipDefault=function(dataBuffer,reporter,parent){var state=this._baseState,i;if(state.default===null)return!1;var data=dataBuffer.join();if(state.defaultBuffer===void 0)state.defaultBuffer=this._encodeValue(state.default,reporter,parent).join();if(data.length!==state.defaultBuffer.length)return!1;for(i=0;i<data.length;i++)if(data[i]!==state.defaultBuffer[i])return!1;return!0};function encodeTag(tag,primitive,cls,reporter){var res;if(tag===\"seqof\")tag=\"seq\";else if(tag===\"setof\")tag=\"set\";if(der.tagByName.hasOwnProperty(tag))res=der.tagByName[tag];else if(typeof tag===\"number\"&&(tag|0)===tag)res=tag;else return reporter.error(\"Unknown tag: \"+tag);if(res>=31)return reporter.error(\"Multi-octet tag encoding unsupported\");if(!primitive)res|=32;return res|=der.tagClassByName[cls||\"universal\"]<<6,res}});var require_pem2=__commonJS((exports,module)=>{var inherits=require_inherits(),DEREncoder=require_der3();function PEMEncoder(entity){DEREncoder.call(this,entity),this.enc=\"pem\"}inherits(PEMEncoder,DEREncoder);module.exports=PEMEncoder;PEMEncoder.prototype.encode=function(data,options){var buf=DEREncoder.prototype.encode.call(this,data),p=buf.toString(\"base64\"),out=[\"-----BEGIN \"+options.label+\"-----\"];for(var i=0;i<p.length;i+=64)out.push(p.slice(i,i+64));return out.push(\"-----END \"+options.label+\"-----\"),out.join(`\n`)}});var require_encoders=__commonJS((exports)=>{var encoders=exports;encoders.der=require_der3();encoders.pem=require_pem2()});var require_asn1=__commonJS((exports)=>{var asn1=exports;asn1.bignum=require_bn3();asn1.define=require_api().define;asn1.base=require_base2();asn1.constants=require_constants();asn1.decoders=require_decoders();asn1.encoders=require_encoders()});var require_certificate=__commonJS((exports,module)=>{var asn=require_asn1(),Time=asn.define(\"Time\",function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})}),AttributeTypeValue=asn.define(\"AttributeTypeValue\",function(){this.seq().obj(this.key(\"type\").objid(),this.key(\"value\").any())}),AlgorithmIdentifier=asn.define(\"AlgorithmIdentifier\",function(){this.seq().obj(this.key(\"algorithm\").objid(),this.key(\"parameters\").optional(),this.key(\"curve\").objid().optional())}),SubjectPublicKeyInfo=asn.define(\"SubjectPublicKeyInfo\",function(){this.seq().obj(this.key(\"algorithm\").use(AlgorithmIdentifier),this.key(\"subjectPublicKey\").bitstr())}),RelativeDistinguishedName=asn.define(\"RelativeDistinguishedName\",function(){this.setof(AttributeTypeValue)}),RDNSequence=asn.define(\"RDNSequence\",function(){this.seqof(RelativeDistinguishedName)}),Name=asn.define(\"Name\",function(){this.choice({rdnSequence:this.use(RDNSequence)})}),Validity=asn.define(\"Validity\",function(){this.seq().obj(this.key(\"notBefore\").use(Time),this.key(\"notAfter\").use(Time))}),Extension=asn.define(\"Extension\",function(){this.seq().obj(this.key(\"extnID\").objid(),this.key(\"critical\").bool().def(!1),this.key(\"extnValue\").octstr())}),TBSCertificate=asn.define(\"TBSCertificate\",function(){this.seq().obj(this.key(\"version\").explicit(0).int().optional(),this.key(\"serialNumber\").int(),this.key(\"signature\").use(AlgorithmIdentifier),this.key(\"issuer\").use(Name),this.key(\"validity\").use(Validity),this.key(\"subject\").use(Name),this.key(\"subjectPublicKeyInfo\").use(SubjectPublicKeyInfo),this.key(\"issuerUniqueID\").implicit(1).bitstr().optional(),this.key(\"subjectUniqueID\").implicit(2).bitstr().optional(),this.key(\"extensions\").explicit(3).seqof(Extension).optional())}),X509Certificate=asn.define(\"X509Certificate\",function(){this.seq().obj(this.key(\"tbsCertificate\").use(TBSCertificate),this.key(\"signatureAlgorithm\").use(AlgorithmIdentifier),this.key(\"signatureValue\").bitstr())});module.exports=X509Certificate});var require_asn12=__commonJS((exports)=>{var asn1=require_asn1();exports.certificate=require_certificate();var RSAPrivateKey=asn1.define(\"RSAPrivateKey\",function(){this.seq().obj(this.key(\"version\").int(),this.key(\"modulus\").int(),this.key(\"publicExponent\").int(),this.key(\"privateExponent\").int(),this.key(\"prime1\").int(),this.key(\"prime2\").int(),this.key(\"exponent1\").int(),this.key(\"exponent2\").int(),this.key(\"coefficient\").int())});exports.RSAPrivateKey=RSAPrivateKey;var RSAPublicKey=asn1.define(\"RSAPublicKey\",function(){this.seq().obj(this.key(\"modulus\").int(),this.key(\"publicExponent\").int())});exports.RSAPublicKey=RSAPublicKey;var AlgorithmIdentifier=asn1.define(\"AlgorithmIdentifier\",function(){this.seq().obj(this.key(\"algorithm\").objid(),this.key(\"none\").null_().optional(),this.key(\"curve\").objid().optional(),this.key(\"params\").seq().obj(this.key(\"p\").int(),this.key(\"q\").int(),this.key(\"g\").int()).optional())}),PublicKey=asn1.define(\"SubjectPublicKeyInfo\",function(){this.seq().obj(this.key(\"algorithm\").use(AlgorithmIdentifier),this.key(\"subjectPublicKey\").bitstr())});exports.PublicKey=PublicKey;var PrivateKeyInfo=asn1.define(\"PrivateKeyInfo\",function(){this.seq().obj(this.key(\"version\").int(),this.key(\"algorithm\").use(AlgorithmIdentifier),this.key(\"subjectPrivateKey\").octstr())});exports.PrivateKey=PrivateKeyInfo;var EncryptedPrivateKeyInfo=asn1.define(\"EncryptedPrivateKeyInfo\",function(){this.seq().obj(this.key(\"algorithm\").seq().obj(this.key(\"id\").objid(),this.key(\"decrypt\").seq().obj(this.key(\"kde\").seq().obj(this.key(\"id\").objid(),this.key(\"kdeparams\").seq().obj(this.key(\"salt\").octstr(),this.key(\"iters\").int())),this.key(\"cipher\").seq().obj(this.key(\"algo\").objid(),this.key(\"iv\").octstr()))),this.key(\"subjectPrivateKey\").octstr())});exports.EncryptedPrivateKey=EncryptedPrivateKeyInfo;var DSAPrivateKey=asn1.define(\"DSAPrivateKey\",function(){this.seq().obj(this.key(\"version\").int(),this.key(\"p\").int(),this.key(\"q\").int(),this.key(\"g\").int(),this.key(\"pub_key\").int(),this.key(\"priv_key\").int())});exports.DSAPrivateKey=DSAPrivateKey;exports.DSAparam=asn1.define(\"DSAparam\",function(){this.int()});var ECParameters=asn1.define(\"ECParameters\",function(){this.choice({namedCurve:this.objid()})}),ECPrivateKey=asn1.define(\"ECPrivateKey\",function(){this.seq().obj(this.key(\"version\").int(),this.key(\"privateKey\").octstr(),this.key(\"parameters\").optional().explicit(0).use(ECParameters),this.key(\"publicKey\").optional().explicit(1).bitstr())});exports.ECPrivateKey=ECPrivateKey;exports.signature=asn1.define(\"signature\",function(){this.seq().obj(this.key(\"r\").int(),this.key(\"s\").int())})});var require_aesid=__commonJS((exports,module)=>{module.exports={\"2.16.840.1.101.3.4.1.1\":\"aes-128-ecb\",\"2.16.840.1.101.3.4.1.2\":\"aes-128-cbc\",\"2.16.840.1.101.3.4.1.3\":\"aes-128-ofb\",\"2.16.840.1.101.3.4.1.4\":\"aes-128-cfb\",\"2.16.840.1.101.3.4.1.21\":\"aes-192-ecb\",\"2.16.840.1.101.3.4.1.22\":\"aes-192-cbc\",\"2.16.840.1.101.3.4.1.23\":\"aes-192-ofb\",\"2.16.840.1.101.3.4.1.24\":\"aes-192-cfb\",\"2.16.840.1.101.3.4.1.41\":\"aes-256-ecb\",\"2.16.840.1.101.3.4.1.42\":\"aes-256-cbc\",\"2.16.840.1.101.3.4.1.43\":\"aes-256-ofb\",\"2.16.840.1.101.3.4.1.44\":\"aes-256-cfb\"}});var require_hash_base=__commonJS((exports,module)=>{var Buffer2=require_safe_buffer().Buffer,Transform=require(\"stream\").Transform,inherits=require_inherits();function HashBase(blockSize){Transform.call(this),this._block=Buffer2.allocUnsafe(blockSize),this._blockSize=blockSize,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}inherits(HashBase,Transform);HashBase.prototype._transform=function(chunk,encoding,callback){var error=null;try{this.update(chunk,encoding)}catch(err){error=err}callback(error)};HashBase.prototype._flush=function(callback){var error=null;try{this.push(this.digest())}catch(err){error=err}callback(error)};var useUint8Array=typeof Uint8Array<\"u\",useArrayBuffer=typeof ArrayBuffer<\"u\"&&typeof Uint8Array<\"u\"&&ArrayBuffer.isView&&(Buffer2.prototype instanceof Uint8Array||Buffer2.TYPED_ARRAY_SUPPORT);function toBuffer(data,encoding){if(data instanceof Buffer2)return data;if(typeof data===\"string\")return Buffer2.from(data,encoding);if(useArrayBuffer&&ArrayBuffer.isView(data)){if(data.byteLength===0)return Buffer2.alloc(0);var res=Buffer2.from(data.buffer,data.byteOffset,data.byteLength);if(res.byteLength===data.byteLength)return res}if(useUint8Array&&data instanceof Uint8Array)return Buffer2.from(data);if(Buffer2.isBuffer(data)&&data.constructor&&typeof data.constructor.isBuffer===\"function\"&&data.constructor.isBuffer(data))return Buffer2.from(data);throw TypeError('The \"data\" argument must be of type string or an instance of Buffer, TypedArray, or DataView.')}HashBase.prototype.update=function(data,encoding){if(this._finalized)throw Error(\"Digest already called\");data=toBuffer(data,encoding);var block=this._block,offset=0;while(this._blockOffset+data.length-offset>=this._blockSize){for(var i=this._blockOffset;i<this._blockSize;)block[i++]=data[offset++];this._update(),this._blockOffset=0}while(offset<data.length)block[this._blockOffset++]=data[offset++];for(var j=0,carry=data.length*8;carry>0;++j)if(this._length[j]+=carry,carry=this._length[j]/4294967296|0,carry>0)this._length[j]-=4294967296*carry;return this};HashBase.prototype._update=function(){throw Error(\"_update is not implemented\")};HashBase.prototype.digest=function(encoding){if(this._finalized)throw Error(\"Digest already called\");this._finalized=!0;var digest=this._digest();if(encoding!==void 0)digest=digest.toString(encoding);this._block.fill(0),this._blockOffset=0;for(var i=0;i<4;++i)this._length[i]=0;return digest};HashBase.prototype._digest=function(){throw Error(\"_digest is not implemented\")};module.exports=HashBase});var require_md5=__commonJS((exports,module)=>{var inherits=require_inherits(),HashBase=require_hash_base(),Buffer2=require_safe_buffer().Buffer,ARRAY16=Array(16);function MD5(){HashBase.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}inherits(MD5,HashBase);MD5.prototype._update=function(){var M=ARRAY16;for(var i=0;i<16;++i)M[i]=this._block.readInt32LE(i*4);var a=this._a,b=this._b,c=this._c,d=this._d;a=fnF(a,b,c,d,M[0],3614090360,7),d=fnF(d,a,b,c,M[1],3905402710,12),c=fnF(c,d,a,b,M[2],606105819,17),b=fnF(b,c,d,a,M[3],3250441966,22),a=fnF(a,b,c,d,M[4],4118548399,7),d=fnF(d,a,b,c,M[5],1200080426,12),c=fnF(c,d,a,b,M[6],2821735955,17),b=fnF(b,c,d,a,M[7],4249261313,22),a=fnF(a,b,c,d,M[8],1770035416,7),d=fnF(d,a,b,c,M[9],2336552879,12),c=fnF(c,d,a,b,M[10],4294925233,17),b=fnF(b,c,d,a,M[11],2304563134,22),a=fnF(a,b,c,d,M[12],1804603682,7),d=fnF(d,a,b,c,M[13],4254626195,12),c=fnF(c,d,a,b,M[14],2792965006,17),b=fnF(b,c,d,a,M[15],1236535329,22),a=fnG(a,b,c,d,M[1],4129170786,5),d=fnG(d,a,b,c,M[6],3225465664,9),c=fnG(c,d,a,b,M[11],643717713,14),b=fnG(b,c,d,a,M[0],3921069994,20),a=fnG(a,b,c,d,M[5],3593408605,5),d=fnG(d,a,b,c,M[10],38016083,9),c=fnG(c,d,a,b,M[15],3634488961,14),b=fnG(b,c,d,a,M[4],3889429448,20),a=fnG(a,b,c,d,M[9],568446438,5),d=fnG(d,a,b,c,M[14],3275163606,9),c=fnG(c,d,a,b,M[3],4107603335,14),b=fnG(b,c,d,a,M[8],1163531501,20),a=fnG(a,b,c,d,M[13],2850285829,5),d=fnG(d,a,b,c,M[2],4243563512,9),c=fnG(c,d,a,b,M[7],1735328473,14),b=fnG(b,c,d,a,M[12],2368359562,20),a=fnH(a,b,c,d,M[5],4294588738,4),d=fnH(d,a,b,c,M[8],2272392833,11),c=fnH(c,d,a,b,M[11],1839030562,16),b=fnH(b,c,d,a,M[14],4259657740,23),a=fnH(a,b,c,d,M[1],2763975236,4),d=fnH(d,a,b,c,M[4],1272893353,11),c=fnH(c,d,a,b,M[7],4139469664,16),b=fnH(b,c,d,a,M[10],3200236656,23),a=fnH(a,b,c,d,M[13],681279174,4),d=fnH(d,a,b,c,M[0],3936430074,11),c=fnH(c,d,a,b,M[3],3572445317,16),b=fnH(b,c,d,a,M[6],76029189,23),a=fnH(a,b,c,d,M[9],3654602809,4),d=fnH(d,a,b,c,M[12],3873151461,11),c=fnH(c,d,a,b,M[15],530742520,16),b=fnH(b,c,d,a,M[2],3299628645,23),a=fnI(a,b,c,d,M[0],4096336452,6),d=fnI(d,a,b,c,M[7],1126891415,10),c=fnI(c,d,a,b,M[14],2878612391,15),b=fnI(b,c,d,a,M[5],4237533241,21),a=fnI(a,b,c,d,M[12],1700485571,6),d=fnI(d,a,b,c,M[3],2399980690,10),c=fnI(c,d,a,b,M[10],4293915773,15),b=fnI(b,c,d,a,M[1],2240044497,21),a=fnI(a,b,c,d,M[8],1873313359,6),d=fnI(d,a,b,c,M[15],4264355552,10),c=fnI(c,d,a,b,M[6],2734768916,15),b=fnI(b,c,d,a,M[13],1309151649,21),a=fnI(a,b,c,d,M[4],4149444226,6),d=fnI(d,a,b,c,M[11],3174756917,10),c=fnI(c,d,a,b,M[2],718787259,15),b=fnI(b,c,d,a,M[9],3951481745,21),this._a=this._a+a|0,this._b=this._b+b|0,this._c=this._c+c|0,this._d=this._d+d|0};MD5.prototype._digest=function(){if(this._block[this._blockOffset++]=128,this._blockOffset>56)this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0;this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var buffer=Buffer2.allocUnsafe(16);return buffer.writeInt32LE(this._a,0),buffer.writeInt32LE(this._b,4),buffer.writeInt32LE(this._c,8),buffer.writeInt32LE(this._d,12),buffer};function rotl(x,n){return x<<n|x>>>32-n}function fnF(a,b,c,d,m,k,s){return rotl(a+(b&c|~b&d)+m+k|0,s)+b|0}function fnG(a,b,c,d,m,k,s){return rotl(a+(b&d|c&~d)+m+k|0,s)+b|0}function fnH(a,b,c,d,m,k,s){return rotl(a+(b^c^d)+m+k|0,s)+b|0}function fnI(a,b,c,d,m,k,s){return rotl(a+(c^(b|~d))+m+k|0,s)+b|0}module.exports=MD5});var require_evp_bytestokey=__commonJS((exports,module)=>{var Buffer2=require_safe_buffer().Buffer,MD5=require_md5();function EVP_BytesToKey(password,salt,keyBits,ivLen){if(!Buffer2.isBuffer(password))password=Buffer2.from(password,\"binary\");if(salt){if(!Buffer2.isBuffer(salt))salt=Buffer2.from(salt,\"binary\");if(salt.length!==8)throw RangeError(\"salt should be Buffer with 8 byte length\")}var keyLen=keyBits/8,key=Buffer2.alloc(keyLen),iv=Buffer2.alloc(ivLen||0),tmp=Buffer2.alloc(0);while(keyLen>0||ivLen>0){var hash=new MD5;if(hash.update(tmp),hash.update(password),salt)hash.update(salt);tmp=hash.digest();var used=0;if(keyLen>0){var keyStart=key.length-keyLen;used=Math.min(keyLen,tmp.length),tmp.copy(key,keyStart,0,used),keyLen-=used}if(used<tmp.length&&ivLen>0){var ivStart=iv.length-ivLen,length=Math.min(ivLen,tmp.length-used);tmp.copy(iv,ivStart,used,used+length),ivLen-=length}}return tmp.fill(0),{key,iv}}module.exports=EVP_BytesToKey});var require_browserify_aes=__commonJS((exports)=>{var crypto2=require(\"crypto\");exports.createCipher=exports.Cipher=crypto2.createCipher;exports.createCipheriv=exports.Cipheriv=crypto2.createCipheriv;exports.createDecipher=exports.Decipher=crypto2.createDecipher;exports.createDecipheriv=exports.Decipheriv=crypto2.createDecipheriv;exports.listCiphers=exports.getCiphers=crypto2.getCiphers});var require_fixProc=__commonJS((exports,module)=>{var findProc=/Proc-Type: 4,ENCRYPTED[\\n\\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\\n\\r]+([0-9A-z\\n\\r+/=]+)[\\n\\r]+/m,startRegex=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,fullRegex=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\\n\\r+/=]+)-----END \\1-----$/m,evp=require_evp_bytestokey(),ciphers=require_browserify_aes(),Buffer2=require_safe_buffer().Buffer;module.exports=function(okey,password){var key=okey.toString(),match=key.match(findProc),decrypted;if(!match){var match2=key.match(fullRegex);decrypted=Buffer2.from(match2[2].replace(/[\\r\\n]/g,\"\"),\"base64\")}else{var suite=\"aes\"+match[1],iv=Buffer2.from(match[2],\"hex\"),cipherText=Buffer2.from(match[3].replace(/[\\r\\n]/g,\"\"),\"base64\"),cipherKey=evp(password,iv.slice(0,8),parseInt(match[1],10)).key,out=[],cipher=ciphers.createDecipheriv(suite,cipherKey,iv);out.push(cipher.update(cipherText)),out.push(cipher.final()),decrypted=Buffer2.concat(out)}var tag=key.match(startRegex)[1];return{tag,data:decrypted}}});var require_parse_asn1=__commonJS((exports,module)=>{var asn1=require_asn12(),aesid=require_aesid(),fixProc=require_fixProc(),ciphers=require_browserify_aes(),pbkdf2Sync=require_pbkdf2().pbkdf2Sync,Buffer2=require_safe_buffer().Buffer;function decrypt(data,password){var salt=data.algorithm.decrypt.kde.kdeparams.salt,iters=parseInt(data.algorithm.decrypt.kde.kdeparams.iters.toString(),10),algo=aesid[data.algorithm.decrypt.cipher.algo.join(\".\")],iv=data.algorithm.decrypt.cipher.iv,cipherText=data.subjectPrivateKey,keylen=parseInt(algo.split(\"-\")[1],10)/8,key=pbkdf2Sync(password,salt,iters,keylen,\"sha1\"),cipher=ciphers.createDecipheriv(algo,key,iv),out=[];return out.push(cipher.update(cipherText)),out.push(cipher.final()),Buffer2.concat(out)}function parseKeys(buffer){var password;if(typeof buffer===\"object\"&&!Buffer2.isBuffer(buffer))password=buffer.passphrase,buffer=buffer.key;if(typeof buffer===\"string\")buffer=Buffer2.from(buffer);var stripped=fixProc(buffer,password),type=stripped.tag,data=stripped.data,subtype,ndata;switch(type){case\"CERTIFICATE\":ndata=asn1.certificate.decode(data,\"der\").tbsCertificate.subjectPublicKeyInfo;case\"PUBLIC KEY\":if(!ndata)ndata=asn1.PublicKey.decode(data,\"der\");switch(subtype=ndata.algorithm.algorithm.join(\".\"),subtype){case\"1.2.840.113549.1.1.1\":return asn1.RSAPublicKey.decode(ndata.subjectPublicKey.data,\"der\");case\"1.2.840.10045.2.1\":return ndata.subjectPrivateKey=ndata.subjectPublicKey,{type:\"ec\",data:ndata};case\"1.2.840.10040.4.1\":return ndata.algorithm.params.pub_key=asn1.DSAparam.decode(ndata.subjectPublicKey.data,\"der\"),{type:\"dsa\",data:ndata.algorithm.params};default:throw Error(\"unknown key id \"+subtype)}case\"ENCRYPTED PRIVATE KEY\":data=asn1.EncryptedPrivateKey.decode(data,\"der\"),data=decrypt(data,password);case\"PRIVATE KEY\":switch(ndata=asn1.PrivateKey.decode(data,\"der\"),subtype=ndata.algorithm.algorithm.join(\".\"),subtype){case\"1.2.840.113549.1.1.1\":return asn1.RSAPrivateKey.decode(ndata.subjectPrivateKey,\"der\");case\"1.2.840.10045.2.1\":return{curve:ndata.algorithm.curve,privateKey:asn1.ECPrivateKey.decode(ndata.subjectPrivateKey,\"der\").privateKey};case\"1.2.840.10040.4.1\":return ndata.algorithm.params.priv_key=asn1.DSAparam.decode(ndata.subjectPrivateKey,\"der\"),{type:\"dsa\",params:ndata.algorithm.params};default:throw Error(\"unknown key id \"+subtype)}case\"RSA PUBLIC KEY\":return asn1.RSAPublicKey.decode(data,\"der\");case\"RSA PRIVATE KEY\":return asn1.RSAPrivateKey.decode(data,\"der\");case\"DSA PRIVATE KEY\":return{type:\"dsa\",params:asn1.DSAPrivateKey.decode(data,\"der\")};case\"EC PRIVATE KEY\":return data=asn1.ECPrivateKey.decode(data,\"der\"),{curve:data.parameters.value,privateKey:data.privateKey};default:throw Error(\"unknown key type \"+type)}}parseKeys.signature=asn1.signature;module.exports=parseKeys});var require_mgf=__commonJS((exports,module)=>{var createHash=require_create_hash(),Buffer2=require_safe_buffer().Buffer;module.exports=function(seed,len){var t=Buffer2.alloc(0),i=0,c;while(t.length<len)c=i2ops(i++),t=Buffer2.concat([t,createHash(\"sha1\").update(seed).update(c).digest()]);return t.slice(0,len)};function i2ops(c){var out=Buffer2.allocUnsafe(4);return out.writeUInt32BE(c,0),out}});var require_xor=__commonJS((exports,module)=>{module.exports=function(a,b){var len=a.length,i=-1;while(++i<len)a[i]^=b[i];return a}});var require_bn4=__commonJS((exports,module)=>{(function(module2,exports2){function assert(val,msg){if(!val)throw Error(msg||\"Assertion failed\")}function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}function BN(number,base,endian){if(BN.isBN(number))return number;if(this.negative=0,this.words=null,this.length=0,this.red=null,number!==null){if(base===\"le\"||base===\"be\")endian=base,base=10;this._init(number||0,base||10,endian||\"be\")}}if(typeof module2===\"object\")module2.exports=BN;else exports2.BN=BN;BN.BN=BN,BN.wordSize=26;var Buffer2;try{if(typeof window<\"u\"&&typeof window.Buffer<\"u\")Buffer2=window.Buffer;else Buffer2=require(\"buffer\").Buffer}catch(e){}BN.isBN=function(num){if(num instanceof BN)return!0;return num!==null&&typeof num===\"object\"&&num.constructor.wordSize===BN.wordSize&&Array.isArray(num.words)},BN.max=function(left,right){if(left.cmp(right)>0)return left;return right},BN.min=function(left,right){if(left.cmp(right)<0)return left;return right},BN.prototype._init=function(number,base,endian){if(typeof number===\"number\")return this._initNumber(number,base,endian);if(typeof number===\"object\")return this._initArray(number,base,endian);if(base===\"hex\")base=16;assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;if(number[0]===\"-\")start++,this.negative=1;if(start<number.length){if(base===16)this._parseHex(number,start,endian);else if(this._parseBase(number,base,start),endian===\"le\")this._initArray(this.toArray(),base,endian)}},BN.prototype._initNumber=function(number,base,endian){if(number<0)this.negative=1,number=-number;if(number<67108864)this.words=[number&67108863],this.length=1;else if(number<4503599627370496)this.words=[number&67108863,number/67108864&67108863],this.length=2;else assert(number<9007199254740992),this.words=[number&67108863,number/67108864&67108863,1],this.length=3;if(endian!==\"le\")return;this._initArray(this.toArray(),base,endian)},BN.prototype._initArray=function(number,base,endian){if(assert(typeof number.length===\"number\"),number.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(number.length/3),this.words=Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var j,w,off=0;if(endian===\"be\"){for(i=number.length-1,j=0;i>=0;i-=3)if(w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<<off&67108863,this.words[j+1]=w>>>26-off&67108863,off+=24,off>=26)off-=26,j++}else if(endian===\"le\"){for(i=0,j=0;i<number.length;i+=3)if(w=number[i]|number[i+1]<<8|number[i+2]<<16,this.words[j]|=w<<off&67108863,this.words[j+1]=w>>>26-off&67108863,off+=24,off>=26)off-=26,j++}return this.strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);if(c>=65&&c<=70)return c-55;else if(c>=97&&c<=102)return c-87;else return c-48&15}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);if(index-1>=lowerBound)r|=parseHex4Bits(string,index-1)<<4;return r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var off=0,j=0,w;if(endian===\"be\")for(i=number.length-1;i>=start;i-=2)if(w=parseHexByte(number,start,i)<<off,this.words[j]|=w&67108863,off>=18)off-=18,j+=1,this.words[j]|=w>>>26;else off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0?start+1:start;i<number.length;i+=2)if(w=parseHexByte(number,start,i)<<off,this.words[j]|=w&67108863,off>=18)off-=18,j+=1,this.words[j]|=w>>>26;else off+=8}this.strip()};function parseBase(str,start,end,mul){var r=0,len=Math.min(str.length,end);for(var i=start;i<len;i++){var c=str.charCodeAt(i)-48;if(r*=mul,c>=49)r+=c-49+10;else if(c>=17)r+=c-17+10;else r+=c}return r}BN.prototype._parseBase=function(number,base,start){this.words=[0],this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0;for(var i=start;i<end;i+=limbLen)if(word=parseBase(number,i,i+limbLen,base),this.imuln(limbPow),this.words[0]+word<67108864)this.words[0]+=word;else this._iaddn(word);if(mod!==0){var pow=1;word=parseBase(number,i,number.length,base);for(i=0;i<mod;i++)pow*=base;if(this.imuln(pow),this.words[0]+word<67108864)this.words[0]+=word;else this._iaddn(word)}this.strip()},BN.prototype.copy=function(dest){dest.words=Array(this.length);for(var i=0;i<this.length;i++)dest.words[i]=this.words[i];dest.length=this.length,dest.negative=this.negative,dest.red=this.red},BN.prototype.clone=function(){var r=new BN(null);return this.copy(r),r},BN.prototype._expand=function(size){while(this.length<size)this.words[this.length++]=0;return this},BN.prototype.strip=function(){while(this.length>1&&this.words[this.length-1]===0)this.length--;return this._normSign()},BN.prototype._normSign=function(){if(this.length===1&&this.words[0]===0)this.negative=0;return this},BN.prototype.inspect=function(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"};var zeros=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],groupSizes=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];if(BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";var off=0,carry=0;for(var i=0;i<this.length;i++){var w=this.words[i],word=((w<<off|carry)&16777215).toString(16);if(carry=w>>>24-off&16777215,off+=2,off>=26)off-=26,i--;if(carry!==0||i!==this.length-1)out=zeros[6-word.length]+word+out;else out=word+out}if(carry!==0)out=carry.toString(16)+out;while(out.length%padding!==0)out=\"0\"+out;if(this.negative!==0)out=\"-\"+out;return out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();c.negative=0;while(!c.isZero()){var r=c.modn(groupBase).toString(base);if(c=c.idivn(groupBase),!c.isZero())out=zeros[groupSize-r.length]+r+out;else out=r+out}if(this.isZero())out=\"0\"+out;while(out.length%padding!==0)out=\"0\"+out;if(this.negative!==0)out=\"-\"+out;return out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];if(this.length===2)ret+=this.words[1]*67108864;else if(this.length===3&&this.words[2]===1)ret+=4503599627370496+this.words[1]*67108864;else if(this.length>2)assert(!1,\"Number can only safely store up to 53 bits\");return this.negative!==0?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16)},BN.prototype.toBuffer=function(endian,length){return assert(typeof Buffer2<\"u\"),this.toArrayLike(Buffer2,endian,length)},BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)},BN.prototype.toArrayLike=function(ArrayType,endian,length){var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\"),this.strip();var littleEndian=endian===\"le\",res=new ArrayType(reqLength),b,i,q=this.clone();if(!littleEndian){for(i=0;i<reqLength-byteLength;i++)res[i]=0;for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[reqLength-i-1]=b}else{for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[i]=b;for(;i<reqLength;i++)res[i]=0}return res},Math.clz32)BN.prototype._countBits=function(w){return 32-Math.clz32(w)};else BN.prototype._countBits=function(w){var t=w,r=0;if(t>=4096)r+=13,t>>>=13;if(t>=64)r+=7,t>>>=7;if(t>=8)r+=4,t>>>=4;if(t>=2)r+=2,t>>>=2;return r+t};BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;if((t&8191)===0)r+=13,t>>>=13;if((t&127)===0)r+=7,t>>>=7;if((t&15)===0)r+=4,t>>>=4;if((t&3)===0)r+=2,t>>>=2;if((t&1)===0)r++;return r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){var w=Array(num.bitLength());for(var bit=0;bit<w.length;bit++){var off=bit/26|0,wbit=bit%26;w[bit]=(num.words[off]&1<<wbit)>>>wbit}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;var r=0;for(var i=0;i<this.length;i++){var b=this._zeroBits(this.words[i]);if(r+=b,b!==26)break}return r},BN.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},BN.prototype.toTwos=function(width){if(this.negative!==0)return this.abs().inotn(width).iaddn(1);return this.clone()},BN.prototype.fromTwos=function(width){if(this.testn(width-1))return this.notn(width).iaddn(1).ineg();return this.clone()},BN.prototype.isNeg=function(){return this.negative!==0},BN.prototype.neg=function(){return this.clone().ineg()},BN.prototype.ineg=function(){if(!this.isZero())this.negative^=1;return this},BN.prototype.iuor=function(num){while(this.length<num.length)this.words[this.length++]=0;for(var i=0;i<num.length;i++)this.words[i]=this.words[i]|num.words[i];return this.strip()},BN.prototype.ior=function(num){return assert((this.negative|num.negative)===0),this.iuor(num)},BN.prototype.or=function(num){if(this.length>num.length)return this.clone().ior(num);return num.clone().ior(this)},BN.prototype.uor=function(num){if(this.length>num.length)return this.clone().iuor(num);return num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;if(this.length>num.length)b=num;else b=this;for(var i=0;i<b.length;i++)this.words[i]=this.words[i]&num.words[i];return this.length=b.length,this.strip()},BN.prototype.iand=function(num){return assert((this.negative|num.negative)===0),this.iuand(num)},BN.prototype.and=function(num){if(this.length>num.length)return this.clone().iand(num);return num.clone().iand(this)},BN.prototype.uand=function(num){if(this.length>num.length)return this.clone().iuand(num);return num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;if(this.length>num.length)a=this,b=num;else a=num,b=this;for(var i=0;i<b.length;i++)this.words[i]=a.words[i]^b.words[i];if(this!==a)for(;i<a.length;i++)this.words[i]=a.words[i];return this.length=a.length,this.strip()},BN.prototype.ixor=function(num){return assert((this.negative|num.negative)===0),this.iuxor(num)},BN.prototype.xor=function(num){if(this.length>num.length)return this.clone().ixor(num);return num.clone().ixor(this)},BN.prototype.uxor=function(num){if(this.length>num.length)return this.clone().iuxor(num);return num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width===\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;if(this._expand(bytesNeeded),bitsLeft>0)bytesNeeded--;for(var i=0;i<bytesNeeded;i++)this.words[i]=~this.words[i]&67108863;if(bitsLeft>0)this.words[i]=~this.words[i]&67108863>>26-bitsLeft;return this.strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit===\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;if(this._expand(off+1),val)this.words[off]=this.words[off]|1<<wbit;else this.words[off]=this.words[off]&~(1<<wbit);return this.strip()},BN.prototype.iadd=function(num){var r;if(this.negative!==0&&num.negative===0)return this.negative=0,r=this.isub(num),this.negative^=1,this._normSign();else if(this.negative===0&&num.negative!==0)return num.negative=0,r=this.isub(num),num.negative=1,r._normSign();var a,b;if(this.length>num.length)a=this,b=num;else a=num,b=this;var carry=0;for(var i=0;i<b.length;i++)r=(a.words[i]|0)+(b.words[i]|0)+carry,this.words[i]=r&67108863,carry=r>>>26;for(;carry!==0&&i<a.length;i++)r=(a.words[i]|0)+carry,this.words[i]=r&67108863,carry=r>>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;i<a.length;i++)this.words[i]=a.words[i];return this},BN.prototype.add=function(num){var res;if(num.negative!==0&&this.negative===0)return num.negative=0,res=this.sub(num),num.negative^=1,res;else if(num.negative===0&&this.negative!==0)return this.negative=0,res=num.sub(this),this.negative=1,res;if(this.length>num.length)return this.clone().iadd(num);return num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;if(cmp>0)a=this,b=num;else a=num,b=this;var carry=0;for(var i=0;i<b.length;i++)r=(a.words[i]|0)-(b.words[i]|0)+carry,carry=r>>26,this.words[i]=r&67108863;for(;carry!==0&&i<a.length;i++)r=(a.words[i]|0)+carry,carry=r>>26,this.words[i]=r&67108863;if(carry===0&&i<a.length&&a!==this)for(;i<a.length;i++)this.words[i]=a.words[i];if(this.length=Math.max(this.length,i),a!==this)this.negative=1;return this.strip()},BN.prototype.sub=function(num){return this.clone().isub(num)};function smallMulTo(self2,num,out){out.negative=num.negative^self2.negative;var len=self2.length+num.length|0;out.length=len,len=len-1|0;var a=self2.words[0]|0,b=num.words[0]|0,r=a*b,lo=r&67108863,carry=r/67108864|0;out.words[0]=lo;for(var k=1;k<len;k++){var ncarry=carry>>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1);for(var j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}if(carry!==0)out.words[k]=carry|0;else out.length--;return out.strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;if(c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0)o[19]=c,out.length++;return out};if(!Math.imul)comb10MulTo=smallMulTo;function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;var carry=0,hncarry=0;for(var k=0;k<out.length-1;k++){var ncarry=hncarry;hncarry=0;var rword=carry&67108863,maxJ=Math.min(k,num.length-1);for(var j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j,a=self2.words[i]|0,b=num.words[j]|0,r=a*b,lo=r&67108863;ncarry=ncarry+(r/67108864|0)|0,lo=lo+rword|0,rword=lo&67108863,ncarry=ncarry+(lo>>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}if(carry!==0)out.words[k]=carry;else out.length--;return out.strip()}function jumboMulTo(self2,num,out){var fftm=new FFTM;return fftm.mulp(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;if(this.length===10&&num.length===10)res=comb10MulTo(this,num,out);else if(len<63)res=smallMulTo(this,num,out);else if(len<1024)res=bigMulTo(this,num,out);else res=jumboMulTo(this,num,out);return res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){var t=Array(N),l=BN.prototype._countBits(N)-1;for(var i=0;i<N;i++)t[i]=this.revBin(i,l,N);return t},FFTM.prototype.revBin=function(x,l,N){if(x===0||x===N-1)return x;var rb=0;for(var i=0;i<l;i++)rb|=(x&1)<<l-i-1,x>>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i<N;i++)rtws[i]=rws[rbt[i]],itws[i]=iws[rbt[i]]},FFTM.prototype.transform=function(rws,iws,rtws,itws,N,rbt){this.permute(rbt,rws,iws,rtws,itws,N);for(var s=1;s<N;s<<=1){var l=s<<1,rtwdf=Math.cos(2*Math.PI/l),itwdf=Math.sin(2*Math.PI/l);for(var p=0;p<N;p+=l){var rtwdf_=rtwdf,itwdf_=itwdf;for(var j=0;j<s;j++){var re=rtws[p+j],ie=itws[p+j],ro=rtws[p+j+s],io=itws[p+j+s],rx=rtwdf_*ro-itwdf_*io;if(io=rtwdf_*io+itwdf_*ro,ro=rx,rtws[p+j]=re+ro,itws[p+j]=ie+io,rtws[p+j+s]=re-ro,itws[p+j+s]=ie-io,j!==l)rx=rtwdf*rtwdf_-itwdf*itwdf_,itwdf_=rtwdf*itwdf_+itwdf*rtwdf_,rtwdf_=rx}}}},FFTM.prototype.guessLen13b=function(n,m){var N=Math.max(m,n)|1,odd=N&1,i=0;for(N=N/2|0;N;N=N>>>1)i++;return 1<<i+1+odd},FFTM.prototype.conjugate=function(rws,iws,N){if(N<=1)return;for(var i=0;i<N/2;i++){var t=rws[i];rws[i]=rws[N-i-1],rws[N-i-1]=t,t=iws[i],iws[i]=-iws[N-i-1],iws[N-i-1]=-t}},FFTM.prototype.normalize13b=function(ws,N){var carry=0;for(var i=0;i<N/2;i++){var w=Math.round(ws[2*i+1]/N)*8192+Math.round(ws[2*i]/N)+carry;if(ws[i]=w&67108863,w<67108864)carry=0;else carry=w/67108864|0}return ws},FFTM.prototype.convert13b=function(ws,len,rws,N){var carry=0;for(var i=0;i<len;i++)carry=carry+(ws[i]|0),rws[2*i]=carry&8191,carry=carry>>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i<N;++i)rws[i]=0;assert(carry===0),assert((carry&-8192)===0)},FFTM.prototype.stub=function(N){var ph=Array(N);for(var i=0;i<N;i++)ph[i]=0;return ph},FFTM.prototype.mulp=function(x,y,out){var N=2*this.guessLen13b(x.length,y.length),rbt=this.makeRBT(N),_=this.stub(N),rws=Array(N),rwst=Array(N),iwst=Array(N),nrws=Array(N),nrwst=Array(N),niwst=Array(N),rmws=out.words;rmws.length=N,this.convert13b(x.words,x.length,rws,N),this.convert13b(y.words,y.length,nrws,N),this.transform(rws,_,rwst,iwst,N,rbt),this.transform(nrws,_,nrwst,niwst,N,rbt);for(var i=0;i<N;i++){var rx=rwst[i]*nrwst[i]-iwst[i]*niwst[i];iwst[i]=rwst[i]*niwst[i]+iwst[i]*nrwst[i],rwst[i]=rx}return this.conjugate(rwst,iwst,N),this.transform(rwst,iwst,rmws,_,N,rbt),this.conjugate(rmws,_,N),this.normalize13b(rmws,N),out.negative=x.negative^y.negative,out.length=x.length+y.length,out.strip()},BN.prototype.mul=function(num){var out=new BN(null);return out.words=Array(this.length+num.length),this.mulTo(num,out)},BN.prototype.mulf=function(num){var out=new BN(null);return out.words=Array(this.length+num.length),jumboMulTo(this,num,out)},BN.prototype.imul=function(num){return this.clone().mulTo(num,this)},BN.prototype.imuln=function(num){assert(typeof num===\"number\"),assert(num<67108864);var carry=0;for(var i=0;i<this.length;i++){var w=(this.words[i]|0)*num,lo=(w&67108863)+(carry&67108863);carry>>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}if(carry!==0)this.words[i]=carry,this.length++;return this.length=num===0?1:this.length,this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);var res=this;for(var i=0;i<w.length;i++,res=res.sqr())if(w[i]!==0)break;if(++i<w.length)for(var q=res.sqr();i<w.length;i++,q=q.sqr()){if(w[i]===0)continue;res=res.mul(q)}return res},BN.prototype.iushln=function(bits){assert(typeof bits===\"number\"&&bits>=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i<this.length;i++){var newCarry=this.words[i]&carryMask,c=(this.words[i]|0)-newCarry<<r;this.words[i]=c|carry,carry=newCarry>>>26-r}if(carry)this.words[i]=carry,this.length++}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i<s;i++)this.words[i]=0;this.length+=s}return this.strip()},BN.prototype.ishln=function(bits){return assert(this.negative===0),this.iushln(bits)},BN.prototype.iushrn=function(bits,hint,extended){assert(typeof bits===\"number\"&&bits>=0);var h;if(hint)h=(hint-hint%26)/26;else h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<<r,maskedWords=extended;if(h-=s,h=Math.max(0,h),maskedWords){for(var i=0;i<s;i++)maskedWords.words[i]=this.words[i];maskedWords.length=s}if(s===0);else if(this.length>s){this.length-=s;for(i=0;i<this.length;i++)this.words[i]=this.words[i+s]}else this.words[0]=0,this.length=1;var carry=0;for(i=this.length-1;i>=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}if(maskedWords&&carry!==0)maskedWords.words[maskedWords.length++]=carry;if(this.length===0)this.words[0]=0,this.length=1;return this.strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit===\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<<r;if(this.length<=s)return!1;var w=this.words[s];return!!(w&q)},BN.prototype.imaskn=function(bits){assert(typeof bits===\"number\"&&bits>=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0)s++;if(this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<<r;this.words[this.length-1]&=mask}return this.strip()},BN.prototype.maskn=function(bits){return this.clone().imaskn(bits)},BN.prototype.iaddn=function(num){if(assert(typeof num===\"number\"),assert(num<67108864),num<0)return this.isubn(-num);if(this.negative!==0){if(this.length===1&&(this.words[0]|0)<num)return this.words[0]=num-(this.words[0]|0),this.negative=0,this;return this.negative=0,this.isubn(num),this.negative=1,this}return this._iaddn(num)},BN.prototype._iaddn=function(num){this.words[0]+=num;for(var i=0;i<this.length&&this.words[i]>=67108864;i++)if(this.words[i]-=67108864,i===this.length-1)this.words[i+1]=1;else this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num===\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i<this.length&&this.words[i]<0;i++)this.words[i]+=67108864,this.words[i+1]-=1;return this.strip()},BN.prototype.addn=function(num){return this.clone().iaddn(num)},BN.prototype.subn=function(num){return this.clone().isubn(num)},BN.prototype.iabs=function(){return this.negative=0,this},BN.prototype.abs=function(){return this.clone().iabs()},BN.prototype._ishlnsubmul=function(num,mul,shift){var len=num.length+shift,i;this._expand(len);var w,carry=0;for(i=0;i<num.length;i++){w=(this.words[i+shift]|0)+carry;var right=(num.words[i]|0)*mul;w-=right&67108863,carry=(w>>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i<this.length-shift;i++)w=(this.words[i+shift]|0)+carry,carry=w>>26,this.words[i+shift]=w&67108863;if(carry===0)return this.strip();assert(carry===-1),carry=0;for(i=0;i<this.length;i++)w=-(this.words[i]|0)+carry,carry=w>>26,this.words[i]=w&67108863;return this.negative=1,this.strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);if(shift=26-bhiBits,shift!==0)b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0;var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=Array(q.length);for(var i=0;i<q.length;i++)q.words[i]=0}var diff=a.clone()._ishlnsubmul(b,1,m);if(diff.negative===0){if(a=diff,q)q.words[m]=1}for(var j=m-1;j>=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);while(a.negative!==0)if(qj--,a.negative=0,a._ishlnsubmul(b,1,j),!a.isZero())a.negative^=1;if(q)q.words[j]=qj}if(q)q.strip();if(a.strip(),mode!==\"div\"&&shift!==0)a.iushrn(shift);return{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;if(this.negative!==0&&num.negative===0){if(res=this.neg().divmod(num,mode),mode!==\"mod\")div=res.div.neg();if(mode!==\"div\"){if(mod=res.mod.neg(),positive&&mod.negative!==0)mod.iadd(num)}return{div,mod}}if(this.negative===0&&num.negative!==0){if(res=this.divmod(num.neg(),mode),mode!==\"mod\")div=res.div.neg();return{div,mod:res.mod}}if((this.negative&num.negative)!==0){if(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"){if(mod=res.mod.neg(),positive&&mod.negative!==0)mod.isub(num)}return{div:res.div,mod}}if(num.length>this.length||this.cmp(num)<0)return{div:new BN(0),mod:this};if(num.length===1){if(mode===\"div\")return{div:this.divn(num.words[0]),mod:null};if(mode===\"mod\")return{div:null,mod:new BN(this.modn(num.words[0]))};return{div:this.divn(num.words[0]),mod:new BN(this.modn(num.words[0]))}}return this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);if(cmp<0||r2===1&&cmp===0)return dm.div;return dm.div.negative!==0?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modn=function(num){assert(num<=67108863);var p=67108864%num,acc=0;for(var i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return acc},BN.prototype.idivn=function(num){assert(num<=67108863);var carry=0;for(var i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this.strip()},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();if(x.negative!==0)x=x.umod(p);else x=x.clone();var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;while(x.isEven()&&y.isEven())x.iushrn(1),y.iushrn(1),++g;var yp=y.clone(),xp=x.clone();while(!x.isZero()){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0){x.iushrn(i);while(i-- >0){if(A.isOdd()||B.isOdd())A.iadd(yp),B.isub(xp);A.iushrn(1),B.iushrn(1)}}for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0){y.iushrn(j);while(j-- >0){if(C.isOdd()||D.isOdd())C.iadd(yp),D.isub(xp);C.iushrn(1),D.iushrn(1)}}if(x.cmp(y)>=0)x.isub(y),A.isub(C),B.isub(D);else y.isub(x),C.isub(A),D.isub(B)}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();if(a.negative!==0)a=a.umod(p);else a=a.clone();var x1=new BN(1),x2=new BN(0),delta=b.clone();while(a.cmpn(1)>0&&b.cmpn(1)>0){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0){a.iushrn(i);while(i-- >0){if(x1.isOdd())x1.iadd(delta);x1.iushrn(1)}}for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0){b.iushrn(j);while(j-- >0){if(x2.isOdd())x2.iadd(delta);x2.iushrn(1)}}if(a.cmp(b)>=0)a.isub(b),x1.isub(x2);else b.isub(a),x2.isub(x1)}var res;if(a.cmpn(1)===0)res=x1;else res=x2;if(res.cmpn(0)<0)res.iadd(p);return res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{while(a.isEven())a.iushrn(1);while(b.isEven())b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit===\"number\");var r=bit%26,s=(bit-r)/26,q=1<<r;if(this.length<=s)return this._expand(s+1),this.words[s]|=q,this;var carry=q;for(var i=s;carry!==0&&i<this.length;i++){var w=this.words[i]|0;w+=carry,carry=w>>>26,w&=67108863,this.words[i]=w}if(carry!==0)this.words[i]=carry,this.length++;return this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this.strip();var res;if(this.length>1)res=1;else{if(negative)num=-num;assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num?0:w<num?-1:1}if(this.negative!==0)return-res|0;return res},BN.prototype.cmp=function(num){if(this.negative!==0&&num.negative===0)return-1;if(this.negative===0&&num.negative!==0)return 1;var res=this.ucmp(num);if(this.negative!==0)return-res|0;return res},BN.prototype.ucmp=function(num){if(this.length>num.length)return 1;if(this.length<num.length)return-1;var res=0;for(var i=this.length-1;i>=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a===b)continue;if(a<b)res=-1;else if(a>b)res=1;break}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen<this.n?-1:r.ucmp(this.p);if(cmp===0)r.words[0]=0,r.length=1;else if(cmp>0)r.isub(this.p);else if(r.strip!==void 0)r.strip();else r._strip();return r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){var mask=4194303,outLen=Math.min(input.length,9);for(var i=0;i<outLen;i++)output.words[i]=input.words[i];if(output.length=outLen,input.length<=9){input.words[0]=0,input.length=1;return}var prev=input.words[9];output.words[output.length++]=prev&mask;for(i=10;i<input.length;i++){var next=input.words[i]|0;input.words[i-10]=(next&mask)<<4|prev>>>22,prev=next}if(prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10)input.length-=10;else input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;var lo=0;for(var i=0;i<num.length;i++){var w=num.words[i]|0;lo+=w*977,num.words[i]=lo&67108863,lo=w*64+(lo/67108864|0)}if(num.words[num.length-1]===0){if(num.length--,num.words[num.length-1]===0)num.length--}return num};function P224(){MPrime.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}inherits(P224,MPrime);function P192(){MPrime.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}inherits(P192,MPrime);function P25519(){MPrime.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}inherits(P25519,MPrime),P25519.prototype.imulK=function(num){var carry=0;for(var i=0;i<num.length;i++){var hi=(num.words[i]|0)*19+carry,lo=hi&67108863;hi>>>=26,num.words[i]=lo,carry=hi}if(carry!==0)num.words[num.length++]=carry;return num},BN._prime=function(name){if(primes[name])return primes[name];var prime;if(name===\"k256\")prime=new K256;else if(name===\"p224\")prime=new P224;else if(name===\"p192\")prime=new P192;else if(name===\"p25519\")prime=new P25519;else throw Error(\"Unknown prime \"+name);return primes[name]=prime,prime};function Red(m){if(typeof m===\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){if(this.prime)return this.prime.ireduce(a)._forceRed(this);return a.umod(this.m)._forceRed(this)},Red.prototype.neg=function(a){if(a.isZero())return a.clone();return this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);if(res.cmp(this.m)>=0)res.isub(this.m);return res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);if(res.cmp(this.m)>=0)res.isub(this.m);return res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);if(res.cmpn(0)<0)res.iadd(this.m);return res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);if(res.cmpn(0)<0)res.iadd(this.m);return res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}var q=this.m.subn(1),s=0;while(!q.isZero()&&q.andln(1)===0)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();z=new BN(2*z*z).toRed(this);while(this.pow(z,lpow).cmp(nOne)!==0)z.redIAdd(nOne);var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;while(t.cmp(one)!==0){var tmp=t;for(var i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i<m);var b=this.pow(c,new BN(1).iushln(m-i-1));r=r.redMul(b),c=b.redSqr(),t=t.redMul(c),m=i}return r},Red.prototype.invm=function(a){var inv=a._invmp(this.m);if(inv.negative!==0)return inv.negative=0,this.imod(inv).redNeg();else return this.imod(inv)},Red.prototype.pow=function(a,num){if(num.isZero())return new BN(1).toRed(this);if(num.cmpn(1)===0)return a.clone();var windowSize=4,wnd=Array(1<<windowSize);wnd[0]=new BN(1).toRed(this),wnd[1]=a;for(var i=2;i<wnd.length;i++)wnd[i]=this.mul(wnd[i-1],a);var res=wnd[0],current=0,currentLen=0,start=num.bitLength()%26;if(start===0)start=26;for(i=num.length-1;i>=0;i--){var word=num.words[i];for(var j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0])res=this.sqr(res);if(bit===0&¤t===0){currentLen=0;continue}if(current<<=1,current|=bit,currentLen++,currentLen!==windowSize&&(i!==0||j!==0))continue;res=this.mul(res,wnd[current]),currentLen=0,current=0}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){if(Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0)this.shift+=26-this.shift%26;this.r=new BN(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;if(u.cmp(this.m)>=0)res=u.isub(this.m);else if(u.cmpn(0)<0)res=u.iadd(this.m);return res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;if(u.cmp(this.m)>=0)res=u.isub(this.m);else if(u.cmpn(0)<0)res=u.iadd(this.m);return res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)});var require_withPublic=__commonJS((exports,module)=>{var BN=require_bn4(),Buffer2=require_safe_buffer().Buffer;function withPublic(paddedMsg,key){return Buffer2.from(paddedMsg.toRed(BN.mont(key.modulus)).redPow(new BN(key.publicExponent)).fromRed().toArray())}module.exports=withPublic});var require_bn5=__commonJS((exports,module)=>{(function(module2,exports2){function assert(val,msg){if(!val)throw Error(msg||\"Assertion failed\")}function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}function BN(number,base,endian){if(BN.isBN(number))return number;if(this.negative=0,this.words=null,this.length=0,this.red=null,number!==null){if(base===\"le\"||base===\"be\")endian=base,base=10;this._init(number||0,base||10,endian||\"be\")}}if(typeof module2===\"object\")module2.exports=BN;else exports2.BN=BN;BN.BN=BN,BN.wordSize=26;var Buffer2;try{if(typeof window<\"u\"&&typeof window.Buffer<\"u\")Buffer2=window.Buffer;else Buffer2=require(\"buffer\").Buffer}catch(e){}BN.isBN=function(num){if(num instanceof BN)return!0;return num!==null&&typeof num===\"object\"&&num.constructor.wordSize===BN.wordSize&&Array.isArray(num.words)},BN.max=function(left,right){if(left.cmp(right)>0)return left;return right},BN.min=function(left,right){if(left.cmp(right)<0)return left;return right},BN.prototype._init=function(number,base,endian){if(typeof number===\"number\")return this._initNumber(number,base,endian);if(typeof number===\"object\")return this._initArray(number,base,endian);if(base===\"hex\")base=16;assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;if(number[0]===\"-\")start++,this.negative=1;if(start<number.length){if(base===16)this._parseHex(number,start,endian);else if(this._parseBase(number,base,start),endian===\"le\")this._initArray(this.toArray(),base,endian)}},BN.prototype._initNumber=function(number,base,endian){if(number<0)this.negative=1,number=-number;if(number<67108864)this.words=[number&67108863],this.length=1;else if(number<4503599627370496)this.words=[number&67108863,number/67108864&67108863],this.length=2;else assert(number<9007199254740992),this.words=[number&67108863,number/67108864&67108863,1],this.length=3;if(endian!==\"le\")return;this._initArray(this.toArray(),base,endian)},BN.prototype._initArray=function(number,base,endian){if(assert(typeof number.length===\"number\"),number.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(number.length/3),this.words=Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var j,w,off=0;if(endian===\"be\"){for(i=number.length-1,j=0;i>=0;i-=3)if(w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<<off&67108863,this.words[j+1]=w>>>26-off&67108863,off+=24,off>=26)off-=26,j++}else if(endian===\"le\"){for(i=0,j=0;i<number.length;i+=3)if(w=number[i]|number[i+1]<<8|number[i+2]<<16,this.words[j]|=w<<off&67108863,this.words[j+1]=w>>>26-off&67108863,off+=24,off>=26)off-=26,j++}return this._strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);if(c>=48&&c<=57)return c-48;else if(c>=65&&c<=70)return c-55;else if(c>=97&&c<=102)return c-87;else assert(!1,\"Invalid character in \"+string)}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);if(index-1>=lowerBound)r|=parseHex4Bits(string,index-1)<<4;return r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var off=0,j=0,w;if(endian===\"be\")for(i=number.length-1;i>=start;i-=2)if(w=parseHexByte(number,start,i)<<off,this.words[j]|=w&67108863,off>=18)off-=18,j+=1,this.words[j]|=w>>>26;else off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0?start+1:start;i<number.length;i+=2)if(w=parseHexByte(number,start,i)<<off,this.words[j]|=w&67108863,off>=18)off-=18,j+=1,this.words[j]|=w>>>26;else off+=8}this._strip()};function parseBase(str,start,end,mul){var r=0,b=0,len=Math.min(str.length,end);for(var i=start;i<len;i++){var c=str.charCodeAt(i)-48;if(r*=mul,c>=49)b=c-49+10;else if(c>=17)b=c-17+10;else b=c;assert(c>=0&&b<mul,\"Invalid character\"),r+=b}return r}BN.prototype._parseBase=function(number,base,start){this.words=[0],this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0;for(var i=start;i<end;i+=limbLen)if(word=parseBase(number,i,i+limbLen,base),this.imuln(limbPow),this.words[0]+word<67108864)this.words[0]+=word;else this._iaddn(word);if(mod!==0){var pow=1;word=parseBase(number,i,number.length,base);for(i=0;i<mod;i++)pow*=base;if(this.imuln(pow),this.words[0]+word<67108864)this.words[0]+=word;else this._iaddn(word)}this._strip()},BN.prototype.copy=function(dest){dest.words=Array(this.length);for(var i=0;i<this.length;i++)dest.words[i]=this.words[i];dest.length=this.length,dest.negative=this.negative,dest.red=this.red};function move(dest,src){dest.words=src.words,dest.length=src.length,dest.negative=src.negative,dest.red=src.red}if(BN.prototype._move=function(dest){move(dest,this)},BN.prototype.clone=function(){var r=new BN(null);return this.copy(r),r},BN.prototype._expand=function(size){while(this.length<size)this.words[this.length++]=0;return this},BN.prototype._strip=function(){while(this.length>1&&this.words[this.length-1]===0)this.length--;return this._normSign()},BN.prototype._normSign=function(){if(this.length===1&&this.words[0]===0)this.negative=0;return this},typeof Symbol<\"u\"&&typeof Symbol.for===\"function\")try{BN.prototype[Symbol.for(\"nodejs.util.inspect.custom\")]=inspect}catch(e){BN.prototype.inspect=inspect}else BN.prototype.inspect=inspect;function inspect(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"}var zeros=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],groupSizes=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];if(BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";var off=0,carry=0;for(var i=0;i<this.length;i++){var w=this.words[i],word=((w<<off|carry)&16777215).toString(16);if(carry=w>>>24-off&16777215,off+=2,off>=26)off-=26,i--;if(carry!==0||i!==this.length-1)out=zeros[6-word.length]+word+out;else out=word+out}if(carry!==0)out=carry.toString(16)+out;while(out.length%padding!==0)out=\"0\"+out;if(this.negative!==0)out=\"-\"+out;return out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();c.negative=0;while(!c.isZero()){var r=c.modrn(groupBase).toString(base);if(c=c.idivn(groupBase),!c.isZero())out=zeros[groupSize-r.length]+r+out;else out=r+out}if(this.isZero())out=\"0\"+out;while(out.length%padding!==0)out=\"0\"+out;if(this.negative!==0)out=\"-\"+out;return out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];if(this.length===2)ret+=this.words[1]*67108864;else if(this.length===3&&this.words[2]===1)ret+=4503599627370496+this.words[1]*67108864;else if(this.length>2)assert(!1,\"Number can only safely store up to 53 bits\");return this.negative!==0?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16,2)},Buffer2)BN.prototype.toBuffer=function(endian,length){return this.toArrayLike(Buffer2,endian,length)};BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)};var allocate=function(ArrayType,size){if(ArrayType.allocUnsafe)return ArrayType.allocUnsafe(size);return new ArrayType(size)};if(BN.prototype.toArrayLike=function(ArrayType,endian,length){this._strip();var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\");var res=allocate(ArrayType,reqLength),postfix=endian===\"le\"?\"LE\":\"BE\";return this[\"_toArrayLike\"+postfix](res,byteLength),res},BN.prototype._toArrayLikeLE=function(res,byteLength){var position=0,carry=0;for(var i=0,shift=0;i<this.length;i++){var word=this.words[i]<<shift|carry;if(res[position++]=word&255,position<res.length)res[position++]=word>>8&255;if(position<res.length)res[position++]=word>>16&255;if(shift===6){if(position<res.length)res[position++]=word>>24&255;carry=0,shift=0}else carry=word>>>24,shift+=2}if(position<res.length){res[position++]=carry;while(position<res.length)res[position++]=0}},BN.prototype._toArrayLikeBE=function(res,byteLength){var position=res.length-1,carry=0;for(var i=0,shift=0;i<this.length;i++){var word=this.words[i]<<shift|carry;if(res[position--]=word&255,position>=0)res[position--]=word>>8&255;if(position>=0)res[position--]=word>>16&255;if(shift===6){if(position>=0)res[position--]=word>>24&255;carry=0,shift=0}else carry=word>>>24,shift+=2}if(position>=0){res[position--]=carry;while(position>=0)res[position--]=0}},Math.clz32)BN.prototype._countBits=function(w){return 32-Math.clz32(w)};else BN.prototype._countBits=function(w){var t=w,r=0;if(t>=4096)r+=13,t>>>=13;if(t>=64)r+=7,t>>>=7;if(t>=8)r+=4,t>>>=4;if(t>=2)r+=2,t>>>=2;return r+t};BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;if((t&8191)===0)r+=13,t>>>=13;if((t&127)===0)r+=7,t>>>=7;if((t&15)===0)r+=4,t>>>=4;if((t&3)===0)r+=2,t>>>=2;if((t&1)===0)r++;return r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){var w=Array(num.bitLength());for(var bit=0;bit<w.length;bit++){var off=bit/26|0,wbit=bit%26;w[bit]=num.words[off]>>>wbit&1}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;var r=0;for(var i=0;i<this.length;i++){var b=this._zeroBits(this.words[i]);if(r+=b,b!==26)break}return r},BN.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},BN.prototype.toTwos=function(width){if(this.negative!==0)return this.abs().inotn(width).iaddn(1);return this.clone()},BN.prototype.fromTwos=function(width){if(this.testn(width-1))return this.notn(width).iaddn(1).ineg();return this.clone()},BN.prototype.isNeg=function(){return this.negative!==0},BN.prototype.neg=function(){return this.clone().ineg()},BN.prototype.ineg=function(){if(!this.isZero())this.negative^=1;return this},BN.prototype.iuor=function(num){while(this.length<num.length)this.words[this.length++]=0;for(var i=0;i<num.length;i++)this.words[i]=this.words[i]|num.words[i];return this._strip()},BN.prototype.ior=function(num){return assert((this.negative|num.negative)===0),this.iuor(num)},BN.prototype.or=function(num){if(this.length>num.length)return this.clone().ior(num);return num.clone().ior(this)},BN.prototype.uor=function(num){if(this.length>num.length)return this.clone().iuor(num);return num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;if(this.length>num.length)b=num;else b=this;for(var i=0;i<b.length;i++)this.words[i]=this.words[i]&num.words[i];return this.length=b.length,this._strip()},BN.prototype.iand=function(num){return assert((this.negative|num.negative)===0),this.iuand(num)},BN.prototype.and=function(num){if(this.length>num.length)return this.clone().iand(num);return num.clone().iand(this)},BN.prototype.uand=function(num){if(this.length>num.length)return this.clone().iuand(num);return num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;if(this.length>num.length)a=this,b=num;else a=num,b=this;for(var i=0;i<b.length;i++)this.words[i]=a.words[i]^b.words[i];if(this!==a)for(;i<a.length;i++)this.words[i]=a.words[i];return this.length=a.length,this._strip()},BN.prototype.ixor=function(num){return assert((this.negative|num.negative)===0),this.iuxor(num)},BN.prototype.xor=function(num){if(this.length>num.length)return this.clone().ixor(num);return num.clone().ixor(this)},BN.prototype.uxor=function(num){if(this.length>num.length)return this.clone().iuxor(num);return num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width===\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;if(this._expand(bytesNeeded),bitsLeft>0)bytesNeeded--;for(var i=0;i<bytesNeeded;i++)this.words[i]=~this.words[i]&67108863;if(bitsLeft>0)this.words[i]=~this.words[i]&67108863>>26-bitsLeft;return this._strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit===\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;if(this._expand(off+1),val)this.words[off]=this.words[off]|1<<wbit;else this.words[off]=this.words[off]&~(1<<wbit);return this._strip()},BN.prototype.iadd=function(num){var r;if(this.negative!==0&&num.negative===0)return this.negative=0,r=this.isub(num),this.negative^=1,this._normSign();else if(this.negative===0&&num.negative!==0)return num.negative=0,r=this.isub(num),num.negative=1,r._normSign();var a,b;if(this.length>num.length)a=this,b=num;else a=num,b=this;var carry=0;for(var i=0;i<b.length;i++)r=(a.words[i]|0)+(b.words[i]|0)+carry,this.words[i]=r&67108863,carry=r>>>26;for(;carry!==0&&i<a.length;i++)r=(a.words[i]|0)+carry,this.words[i]=r&67108863,carry=r>>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;i<a.length;i++)this.words[i]=a.words[i];return this},BN.prototype.add=function(num){var res;if(num.negative!==0&&this.negative===0)return num.negative=0,res=this.sub(num),num.negative^=1,res;else if(num.negative===0&&this.negative!==0)return this.negative=0,res=num.sub(this),this.negative=1,res;if(this.length>num.length)return this.clone().iadd(num);return num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;if(cmp>0)a=this,b=num;else a=num,b=this;var carry=0;for(var i=0;i<b.length;i++)r=(a.words[i]|0)-(b.words[i]|0)+carry,carry=r>>26,this.words[i]=r&67108863;for(;carry!==0&&i<a.length;i++)r=(a.words[i]|0)+carry,carry=r>>26,this.words[i]=r&67108863;if(carry===0&&i<a.length&&a!==this)for(;i<a.length;i++)this.words[i]=a.words[i];if(this.length=Math.max(this.length,i),a!==this)this.negative=1;return this._strip()},BN.prototype.sub=function(num){return this.clone().isub(num)};function smallMulTo(self2,num,out){out.negative=num.negative^self2.negative;var len=self2.length+num.length|0;out.length=len,len=len-1|0;var a=self2.words[0]|0,b=num.words[0]|0,r=a*b,lo=r&67108863,carry=r/67108864|0;out.words[0]=lo;for(var k=1;k<len;k++){var ncarry=carry>>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1);for(var j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}if(carry!==0)out.words[k]=carry|0;else out.length--;return out._strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;if(c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0)o[19]=c,out.length++;return out};if(!Math.imul)comb10MulTo=smallMulTo;function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;var carry=0,hncarry=0;for(var k=0;k<out.length-1;k++){var ncarry=hncarry;hncarry=0;var rword=carry&67108863,maxJ=Math.min(k,num.length-1);for(var j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j,a=self2.words[i]|0,b=num.words[j]|0,r=a*b,lo=r&67108863;ncarry=ncarry+(r/67108864|0)|0,lo=lo+rword|0,rword=lo&67108863,ncarry=ncarry+(lo>>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}if(carry!==0)out.words[k]=carry;else out.length--;return out._strip()}function jumboMulTo(self2,num,out){return bigMulTo(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;if(this.length===10&&num.length===10)res=comb10MulTo(this,num,out);else if(len<63)res=smallMulTo(this,num,out);else if(len<1024)res=bigMulTo(this,num,out);else res=jumboMulTo(this,num,out);return res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){var t=Array(N),l=BN.prototype._countBits(N)-1;for(var i=0;i<N;i++)t[i]=this.revBin(i,l,N);return t},FFTM.prototype.revBin=function(x,l,N){if(x===0||x===N-1)return x;var rb=0;for(var i=0;i<l;i++)rb|=(x&1)<<l-i-1,x>>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i<N;i++)rtws[i]=rws[rbt[i]],itws[i]=iws[rbt[i]]},FFTM.prototype.transform=function(rws,iws,rtws,itws,N,rbt){this.permute(rbt,rws,iws,rtws,itws,N);for(var s=1;s<N;s<<=1){var l=s<<1,rtwdf=Math.cos(2*Math.PI/l),itwdf=Math.sin(2*Math.PI/l);for(var p=0;p<N;p+=l){var rtwdf_=rtwdf,itwdf_=itwdf;for(var j=0;j<s;j++){var re=rtws[p+j],ie=itws[p+j],ro=rtws[p+j+s],io=itws[p+j+s],rx=rtwdf_*ro-itwdf_*io;if(io=rtwdf_*io+itwdf_*ro,ro=rx,rtws[p+j]=re+ro,itws[p+j]=ie+io,rtws[p+j+s]=re-ro,itws[p+j+s]=ie-io,j!==l)rx=rtwdf*rtwdf_-itwdf*itwdf_,itwdf_=rtwdf*itwdf_+itwdf*rtwdf_,rtwdf_=rx}}}},FFTM.prototype.guessLen13b=function(n,m){var N=Math.max(m,n)|1,odd=N&1,i=0;for(N=N/2|0;N;N=N>>>1)i++;return 1<<i+1+odd},FFTM.prototype.conjugate=function(rws,iws,N){if(N<=1)return;for(var i=0;i<N/2;i++){var t=rws[i];rws[i]=rws[N-i-1],rws[N-i-1]=t,t=iws[i],iws[i]=-iws[N-i-1],iws[N-i-1]=-t}},FFTM.prototype.normalize13b=function(ws,N){var carry=0;for(var i=0;i<N/2;i++){var w=Math.round(ws[2*i+1]/N)*8192+Math.round(ws[2*i]/N)+carry;if(ws[i]=w&67108863,w<67108864)carry=0;else carry=w/67108864|0}return ws},FFTM.prototype.convert13b=function(ws,len,rws,N){var carry=0;for(var i=0;i<len;i++)carry=carry+(ws[i]|0),rws[2*i]=carry&8191,carry=carry>>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i<N;++i)rws[i]=0;assert(carry===0),assert((carry&-8192)===0)},FFTM.prototype.stub=function(N){var ph=Array(N);for(var i=0;i<N;i++)ph[i]=0;return ph},FFTM.prototype.mulp=function(x,y,out){var N=2*this.guessLen13b(x.length,y.length),rbt=this.makeRBT(N),_=this.stub(N),rws=Array(N),rwst=Array(N),iwst=Array(N),nrws=Array(N),nrwst=Array(N),niwst=Array(N),rmws=out.words;rmws.length=N,this.convert13b(x.words,x.length,rws,N),this.convert13b(y.words,y.length,nrws,N),this.transform(rws,_,rwst,iwst,N,rbt),this.transform(nrws,_,nrwst,niwst,N,rbt);for(var i=0;i<N;i++){var rx=rwst[i]*nrwst[i]-iwst[i]*niwst[i];iwst[i]=rwst[i]*niwst[i]+iwst[i]*nrwst[i],rwst[i]=rx}return this.conjugate(rwst,iwst,N),this.transform(rwst,iwst,rmws,_,N,rbt),this.conjugate(rmws,_,N),this.normalize13b(rmws,N),out.negative=x.negative^y.negative,out.length=x.length+y.length,out._strip()},BN.prototype.mul=function(num){var out=new BN(null);return out.words=Array(this.length+num.length),this.mulTo(num,out)},BN.prototype.mulf=function(num){var out=new BN(null);return out.words=Array(this.length+num.length),jumboMulTo(this,num,out)},BN.prototype.imul=function(num){return this.clone().mulTo(num,this)},BN.prototype.imuln=function(num){var isNegNum=num<0;if(isNegNum)num=-num;assert(typeof num===\"number\"),assert(num<67108864);var carry=0;for(var i=0;i<this.length;i++){var w=(this.words[i]|0)*num,lo=(w&67108863)+(carry&67108863);carry>>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}if(carry!==0)this.words[i]=carry,this.length++;return this.length=num===0?1:this.length,isNegNum?this.ineg():this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);var res=this;for(var i=0;i<w.length;i++,res=res.sqr())if(w[i]!==0)break;if(++i<w.length)for(var q=res.sqr();i<w.length;i++,q=q.sqr()){if(w[i]===0)continue;res=res.mul(q)}return res},BN.prototype.iushln=function(bits){assert(typeof bits===\"number\"&&bits>=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i<this.length;i++){var newCarry=this.words[i]&carryMask,c=(this.words[i]|0)-newCarry<<r;this.words[i]=c|carry,carry=newCarry>>>26-r}if(carry)this.words[i]=carry,this.length++}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i<s;i++)this.words[i]=0;this.length+=s}return this._strip()},BN.prototype.ishln=function(bits){return assert(this.negative===0),this.iushln(bits)},BN.prototype.iushrn=function(bits,hint,extended){assert(typeof bits===\"number\"&&bits>=0);var h;if(hint)h=(hint-hint%26)/26;else h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<<r,maskedWords=extended;if(h-=s,h=Math.max(0,h),maskedWords){for(var i=0;i<s;i++)maskedWords.words[i]=this.words[i];maskedWords.length=s}if(s===0);else if(this.length>s){this.length-=s;for(i=0;i<this.length;i++)this.words[i]=this.words[i+s]}else this.words[0]=0,this.length=1;var carry=0;for(i=this.length-1;i>=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}if(maskedWords&&carry!==0)maskedWords.words[maskedWords.length++]=carry;if(this.length===0)this.words[0]=0,this.length=1;return this._strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit===\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<<r;if(this.length<=s)return!1;var w=this.words[s];return!!(w&q)},BN.prototype.imaskn=function(bits){assert(typeof bits===\"number\"&&bits>=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0)s++;if(this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<<r;this.words[this.length-1]&=mask}return this._strip()},BN.prototype.maskn=function(bits){return this.clone().imaskn(bits)},BN.prototype.iaddn=function(num){if(assert(typeof num===\"number\"),assert(num<67108864),num<0)return this.isubn(-num);if(this.negative!==0){if(this.length===1&&(this.words[0]|0)<=num)return this.words[0]=num-(this.words[0]|0),this.negative=0,this;return this.negative=0,this.isubn(num),this.negative=1,this}return this._iaddn(num)},BN.prototype._iaddn=function(num){this.words[0]+=num;for(var i=0;i<this.length&&this.words[i]>=67108864;i++)if(this.words[i]-=67108864,i===this.length-1)this.words[i+1]=1;else this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num===\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i<this.length&&this.words[i]<0;i++)this.words[i]+=67108864,this.words[i+1]-=1;return this._strip()},BN.prototype.addn=function(num){return this.clone().iaddn(num)},BN.prototype.subn=function(num){return this.clone().isubn(num)},BN.prototype.iabs=function(){return this.negative=0,this},BN.prototype.abs=function(){return this.clone().iabs()},BN.prototype._ishlnsubmul=function(num,mul,shift){var len=num.length+shift,i;this._expand(len);var w,carry=0;for(i=0;i<num.length;i++){w=(this.words[i+shift]|0)+carry;var right=(num.words[i]|0)*mul;w-=right&67108863,carry=(w>>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i<this.length-shift;i++)w=(this.words[i+shift]|0)+carry,carry=w>>26,this.words[i+shift]=w&67108863;if(carry===0)return this._strip();assert(carry===-1),carry=0;for(i=0;i<this.length;i++)w=-(this.words[i]|0)+carry,carry=w>>26,this.words[i]=w&67108863;return this.negative=1,this._strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);if(shift=26-bhiBits,shift!==0)b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0;var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=Array(q.length);for(var i=0;i<q.length;i++)q.words[i]=0}var diff=a.clone()._ishlnsubmul(b,1,m);if(diff.negative===0){if(a=diff,q)q.words[m]=1}for(var j=m-1;j>=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);while(a.negative!==0)if(qj--,a.negative=0,a._ishlnsubmul(b,1,j),!a.isZero())a.negative^=1;if(q)q.words[j]=qj}if(q)q._strip();if(a._strip(),mode!==\"div\"&&shift!==0)a.iushrn(shift);return{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;if(this.negative!==0&&num.negative===0){if(res=this.neg().divmod(num,mode),mode!==\"mod\")div=res.div.neg();if(mode!==\"div\"){if(mod=res.mod.neg(),positive&&mod.negative!==0)mod.iadd(num)}return{div,mod}}if(this.negative===0&&num.negative!==0){if(res=this.divmod(num.neg(),mode),mode!==\"mod\")div=res.div.neg();return{div,mod:res.mod}}if((this.negative&num.negative)!==0){if(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"){if(mod=res.mod.neg(),positive&&mod.negative!==0)mod.isub(num)}return{div:res.div,mod}}if(num.length>this.length||this.cmp(num)<0)return{div:new BN(0),mod:this};if(num.length===1){if(mode===\"div\")return{div:this.divn(num.words[0]),mod:null};if(mode===\"mod\")return{div:null,mod:new BN(this.modrn(num.words[0]))};return{div:this.divn(num.words[0]),mod:new BN(this.modrn(num.words[0]))}}return this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);if(cmp<0||r2===1&&cmp===0)return dm.div;return dm.div.negative!==0?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modrn=function(num){var isNegNum=num<0;if(isNegNum)num=-num;assert(num<=67108863);var p=67108864%num,acc=0;for(var i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return isNegNum?-acc:acc},BN.prototype.modn=function(num){return this.modrn(num)},BN.prototype.idivn=function(num){var isNegNum=num<0;if(isNegNum)num=-num;assert(num<=67108863);var carry=0;for(var i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this._strip(),isNegNum?this.ineg():this},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();if(x.negative!==0)x=x.umod(p);else x=x.clone();var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;while(x.isEven()&&y.isEven())x.iushrn(1),y.iushrn(1),++g;var yp=y.clone(),xp=x.clone();while(!x.isZero()){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0){x.iushrn(i);while(i-- >0){if(A.isOdd()||B.isOdd())A.iadd(yp),B.isub(xp);A.iushrn(1),B.iushrn(1)}}for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0){y.iushrn(j);while(j-- >0){if(C.isOdd()||D.isOdd())C.iadd(yp),D.isub(xp);C.iushrn(1),D.iushrn(1)}}if(x.cmp(y)>=0)x.isub(y),A.isub(C),B.isub(D);else y.isub(x),C.isub(A),D.isub(B)}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();if(a.negative!==0)a=a.umod(p);else a=a.clone();var x1=new BN(1),x2=new BN(0),delta=b.clone();while(a.cmpn(1)>0&&b.cmpn(1)>0){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0){a.iushrn(i);while(i-- >0){if(x1.isOdd())x1.iadd(delta);x1.iushrn(1)}}for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0){b.iushrn(j);while(j-- >0){if(x2.isOdd())x2.iadd(delta);x2.iushrn(1)}}if(a.cmp(b)>=0)a.isub(b),x1.isub(x2);else b.isub(a),x2.isub(x1)}var res;if(a.cmpn(1)===0)res=x1;else res=x2;if(res.cmpn(0)<0)res.iadd(p);return res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{while(a.isEven())a.iushrn(1);while(b.isEven())b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit===\"number\");var r=bit%26,s=(bit-r)/26,q=1<<r;if(this.length<=s)return this._expand(s+1),this.words[s]|=q,this;var carry=q;for(var i=s;carry!==0&&i<this.length;i++){var w=this.words[i]|0;w+=carry,carry=w>>>26,w&=67108863,this.words[i]=w}if(carry!==0)this.words[i]=carry,this.length++;return this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this._strip();var res;if(this.length>1)res=1;else{if(negative)num=-num;assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num?0:w<num?-1:1}if(this.negative!==0)return-res|0;return res},BN.prototype.cmp=function(num){if(this.negative!==0&&num.negative===0)return-1;if(this.negative===0&&num.negative!==0)return 1;var res=this.ucmp(num);if(this.negative!==0)return-res|0;return res},BN.prototype.ucmp=function(num){if(this.length>num.length)return 1;if(this.length<num.length)return-1;var res=0;for(var i=this.length-1;i>=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a===b)continue;if(a<b)res=-1;else if(a>b)res=1;break}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen<this.n?-1:r.ucmp(this.p);if(cmp===0)r.words[0]=0,r.length=1;else if(cmp>0)r.isub(this.p);else if(r.strip!==void 0)r.strip();else r._strip();return r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){var mask=4194303,outLen=Math.min(input.length,9);for(var i=0;i<outLen;i++)output.words[i]=input.words[i];if(output.length=outLen,input.length<=9){input.words[0]=0,input.length=1;return}var prev=input.words[9];output.words[output.length++]=prev&mask;for(i=10;i<input.length;i++){var next=input.words[i]|0;input.words[i-10]=(next&mask)<<4|prev>>>22,prev=next}if(prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10)input.length-=10;else input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;var lo=0;for(var i=0;i<num.length;i++){var w=num.words[i]|0;lo+=w*977,num.words[i]=lo&67108863,lo=w*64+(lo/67108864|0)}if(num.words[num.length-1]===0){if(num.length--,num.words[num.length-1]===0)num.length--}return num};function P224(){MPrime.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}inherits(P224,MPrime);function P192(){MPrime.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}inherits(P192,MPrime);function P25519(){MPrime.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}inherits(P25519,MPrime),P25519.prototype.imulK=function(num){var carry=0;for(var i=0;i<num.length;i++){var hi=(num.words[i]|0)*19+carry,lo=hi&67108863;hi>>>=26,num.words[i]=lo,carry=hi}if(carry!==0)num.words[num.length++]=carry;return num},BN._prime=function(name){if(primes[name])return primes[name];var prime;if(name===\"k256\")prime=new K256;else if(name===\"p224\")prime=new P224;else if(name===\"p192\")prime=new P192;else if(name===\"p25519\")prime=new P25519;else throw Error(\"Unknown prime \"+name);return primes[name]=prime,prime};function Red(m){if(typeof m===\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){if(this.prime)return this.prime.ireduce(a)._forceRed(this);return move(a,a.umod(this.m)._forceRed(this)),a},Red.prototype.neg=function(a){if(a.isZero())return a.clone();return this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);if(res.cmp(this.m)>=0)res.isub(this.m);return res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);if(res.cmp(this.m)>=0)res.isub(this.m);return res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);if(res.cmpn(0)<0)res.iadd(this.m);return res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);if(res.cmpn(0)<0)res.iadd(this.m);return res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}var q=this.m.subn(1),s=0;while(!q.isZero()&&q.andln(1)===0)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();z=new BN(2*z*z).toRed(this);while(this.pow(z,lpow).cmp(nOne)!==0)z.redIAdd(nOne);var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;while(t.cmp(one)!==0){var tmp=t;for(var i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i<m);var b=this.pow(c,new BN(1).iushln(m-i-1));r=r.redMul(b),c=b.redSqr(),t=t.redMul(c),m=i}return r},Red.prototype.invm=function(a){var inv=a._invmp(this.m);if(inv.negative!==0)return inv.negative=0,this.imod(inv).redNeg();else return this.imod(inv)},Red.prototype.pow=function(a,num){if(num.isZero())return new BN(1).toRed(this);if(num.cmpn(1)===0)return a.clone();var windowSize=4,wnd=Array(1<<windowSize);wnd[0]=new BN(1).toRed(this),wnd[1]=a;for(var i=2;i<wnd.length;i++)wnd[i]=this.mul(wnd[i-1],a);var res=wnd[0],current=0,currentLen=0,start=num.bitLength()%26;if(start===0)start=26;for(i=num.length-1;i>=0;i--){var word=num.words[i];for(var j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0])res=this.sqr(res);if(bit===0&¤t===0){currentLen=0;continue}if(current<<=1,current|=bit,currentLen++,currentLen!==windowSize&&(i!==0||j!==0))continue;res=this.mul(res,wnd[current]),currentLen=0,current=0}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){if(Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0)this.shift+=26-this.shift%26;this.r=new BN(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;if(u.cmp(this.m)>=0)res=u.isub(this.m);else if(u.cmpn(0)<0)res=u.iadd(this.m);return res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;if(u.cmp(this.m)>=0)res=u.isub(this.m);else if(u.cmpn(0)<0)res=u.iadd(this.m);return res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)});var require_browserify_rsa=__commonJS((exports,module)=>{var BN=require_bn5(),randomBytes=require_randombytes(),Buffer2=require_safe_buffer().Buffer;function getr(priv){var len=priv.modulus.byteLength(),r;do r=new BN(randomBytes(len));while(r.cmp(priv.modulus)>=0||!r.umod(priv.prime1)||!r.umod(priv.prime2));return r}function blind(priv){var r=getr(priv),blinder=r.toRed(BN.mont(priv.modulus)).redPow(new BN(priv.publicExponent)).fromRed();return{blinder,unblinder:r.invm(priv.modulus)}}function crt(msg,priv){var blinds=blind(priv),len=priv.modulus.byteLength(),blinded=new BN(msg).mul(blinds.blinder).umod(priv.modulus),c1=blinded.toRed(BN.mont(priv.prime1)),c2=blinded.toRed(BN.mont(priv.prime2)),qinv=priv.coefficient,p=priv.prime1,q=priv.prime2,m1=c1.redPow(priv.exponent1).fromRed(),m2=c2.redPow(priv.exponent2).fromRed(),h=m1.isub(m2).imul(qinv).umod(p).imul(q);return m2.iadd(h).imul(blinds.unblinder).umod(priv.modulus).toArrayLike(Buffer2,\"be\",len)}crt.getr=getr;module.exports=crt});var require_publicEncrypt=__commonJS((exports,module)=>{var parseKeys=require_parse_asn1(),randomBytes=require_randombytes(),createHash=require_create_hash(),mgf=require_mgf(),xor=require_xor(),BN=require_bn4(),withPublic=require_withPublic(),crt=require_browserify_rsa(),Buffer2=require_safe_buffer().Buffer;module.exports=function(publicKey,msg,reverse){var padding;if(publicKey.padding)padding=publicKey.padding;else if(reverse)padding=1;else padding=4;var key=parseKeys(publicKey),paddedMsg;if(padding===4)paddedMsg=oaep(key,msg);else if(padding===1)paddedMsg=pkcs1(key,msg,reverse);else if(padding===3){if(paddedMsg=new BN(msg),paddedMsg.cmp(key.modulus)>=0)throw Error(\"data too long for modulus\")}else throw Error(\"unknown padding\");if(reverse)return crt(paddedMsg,key);else return withPublic(paddedMsg,key)};function oaep(key,msg){var k=key.modulus.byteLength(),mLen=msg.length,iHash=createHash(\"sha1\").update(Buffer2.alloc(0)).digest(),hLen=iHash.length,hLen2=2*hLen;if(mLen>k-hLen2-2)throw Error(\"message too long\");var ps=Buffer2.alloc(k-mLen-hLen2-2),dblen=k-hLen-1,seed=randomBytes(hLen),maskedDb=xor(Buffer2.concat([iHash,ps,Buffer2.alloc(1,1),msg],dblen),mgf(seed,dblen)),maskedSeed=xor(seed,mgf(maskedDb,hLen));return new BN(Buffer2.concat([Buffer2.alloc(1),maskedSeed,maskedDb],k))}function pkcs1(key,msg,reverse){var mLen=msg.length,k=key.modulus.byteLength();if(mLen>k-11)throw Error(\"message too long\");var ps;if(reverse)ps=Buffer2.alloc(k-mLen-3,255);else ps=nonZero(k-mLen-3);return new BN(Buffer2.concat([Buffer2.from([0,reverse?1:2]),ps,Buffer2.alloc(1),msg],k))}function nonZero(len){var out=Buffer2.allocUnsafe(len),i=0,cache=randomBytes(len*2),cur=0,num;while(i<len){if(cur===cache.length)cache=randomBytes(len*2),cur=0;if(num=cache[cur++],num)out[i++]=num}return out}});var require_privateDecrypt=__commonJS((exports,module)=>{var parseKeys=require_parse_asn1(),mgf=require_mgf(),xor=require_xor(),BN=require_bn4(),crt=require_browserify_rsa(),createHash=require_create_hash(),withPublic=require_withPublic(),Buffer2=require_safe_buffer().Buffer;module.exports=function(privateKey,enc,reverse){var padding;if(privateKey.padding)padding=privateKey.padding;else if(reverse)padding=1;else padding=4;var key=parseKeys(privateKey),k=key.modulus.byteLength();if(enc.length>k||new BN(enc).cmp(key.modulus)>=0)throw Error(\"decryption error\");var msg;if(reverse)msg=withPublic(new BN(enc),key);else msg=crt(enc,key);var zBuffer=Buffer2.alloc(k-msg.length);if(msg=Buffer2.concat([zBuffer,msg],k),padding===4)return oaep(key,msg);else if(padding===1)return pkcs1(key,msg,reverse);else if(padding===3)return msg;else throw Error(\"unknown padding\")};function oaep(key,msg){var k=key.modulus.byteLength(),iHash=createHash(\"sha1\").update(Buffer2.alloc(0)).digest(),hLen=iHash.length;if(msg[0]!==0)throw Error(\"decryption error\");var maskedSeed=msg.slice(1,hLen+1),maskedDb=msg.slice(hLen+1),seed=xor(maskedSeed,mgf(maskedDb,hLen)),db=xor(maskedDb,mgf(seed,k-hLen-1));if(compare(iHash,db.slice(0,hLen)))throw Error(\"decryption error\");var i=hLen;while(db[i]===0)i++;if(db[i++]!==1)throw Error(\"decryption error\");return db.slice(i)}function pkcs1(key,msg,reverse){var p1=msg.slice(0,2),i=2,status=0;while(msg[i++]!==0)if(i>=msg.length){status++;break}var ps=msg.slice(2,i-1);if(p1.toString(\"hex\")!==\"0002\"&&!reverse||p1.toString(\"hex\")!==\"0001\"&&reverse)status++;if(ps.length<8)status++;if(status)throw Error(\"decryption error\");return msg.slice(i)}function compare(a,b){a=Buffer2.from(a),b=Buffer2.from(b);var dif=0,len=a.length;if(a.length!==b.length)dif++,len=Math.min(a.length,b.length);var i=-1;while(++i<len)dif+=a[i]^b[i];return dif}});var require_browser2=__commonJS((exports)=>{exports.publicEncrypt=require_publicEncrypt();exports.privateDecrypt=require_privateDecrypt();exports.privateEncrypt=function(key,buf){return exports.publicEncrypt(key,buf,!0)};exports.publicDecrypt=function(key,buf){return exports.privateDecrypt(key,buf,!0)}});var require_public_encrypt=__commonJS((exports)=>{var crypto2=require(\"crypto\");if(typeof crypto2.publicEncrypt!==\"function\")crypto2=require_browser2();exports.publicEncrypt=crypto2.publicEncrypt;exports.privateDecrypt=crypto2.privateDecrypt;if(typeof crypto2.privateEncrypt!==\"function\")exports.privateEncrypt=require_browser2().privateEncrypt;else exports.privateEncrypt=crypto2.privateEncrypt;if(typeof crypto2.publicDecrypt!==\"function\")exports.publicDecrypt=require_browser2().publicDecrypt;else exports.publicDecrypt=crypto2.publicDecrypt});var require_browser3=__commonJS((exports)=>{var safeBuffer=require_safe_buffer(),randombytes=require_randombytes(),Buffer2=safeBuffer.Buffer,kBufferMaxLength=safeBuffer.kMaxLength,crypto2=globalThis.crypto||globalThis.msCrypto,kMaxUint32=Math.pow(2,32)-1;function assertOffset(offset,length){if(typeof offset!==\"number\"||offset!==offset)throw TypeError(\"offset must be a number\");if(offset>kMaxUint32||offset<0)throw TypeError(\"offset must be a uint32\");if(offset>kBufferMaxLength||offset>length)throw RangeError(\"offset out of range\")}function assertSize(size,offset,length){if(typeof size!==\"number\"||size!==size)throw TypeError(\"size must be a number\");if(size>kMaxUint32||size<0)throw TypeError(\"size must be a uint32\");if(size+offset>length||size>kBufferMaxLength)throw RangeError(\"buffer too small\")}crypto2&&crypto2.getRandomValues,exports.randomFill=randomFill,exports.randomFillSync=randomFillSync;function randomFill(buf,offset,size,cb){if(!Buffer2.isBuffer(buf)&&!(buf instanceof globalThis.Uint8Array))throw TypeError('\"buf\" argument must be a Buffer or Uint8Array');if(typeof offset===\"function\")cb=offset,offset=0,size=buf.length;else if(typeof size===\"function\")cb=size,size=buf.length-offset;else if(typeof cb!==\"function\")throw TypeError('\"cb\" argument must be a function');return assertOffset(offset,buf.length),assertSize(size,offset,buf.length),actualFill(buf,offset,size,cb)}function actualFill(buf,offset,size,cb){if(!1)var ourBuf,uint;if(cb){randombytes(size,function(err,bytes2){if(err)return cb(err);bytes2.copy(buf,offset),cb(null,buf)});return}var bytes=randombytes(size);return bytes.copy(buf,offset),buf}function randomFillSync(buf,offset,size){if(typeof offset>\"u\")offset=0;if(!Buffer2.isBuffer(buf)&&!(buf instanceof globalThis.Uint8Array))throw TypeError('\"buf\" argument must be a Buffer or Uint8Array');if(assertOffset(offset,buf.length),size===void 0)size=buf.length-offset;return assertSize(size,offset,buf.length),actualFill(buf,offset,size)}});var require_randomfill=__commonJS((exports,module)=>{var crypto2=require(\"crypto\");if(typeof crypto2.randomFill===\"function\"&&typeof crypto2.randomFillSync===\"function\")exports.randomFill=crypto2.randomFill,exports.randomFillSync=crypto2.randomFillSync;else module.exports=require_browser3()});var require_crypto_browserify=__commonJS((exports)=>{exports.randomBytes=exports.rng=exports.pseudoRandomBytes=exports.prng=require_randombytes();exports.createHash=exports.Hash=require_create_hash();exports.createHmac=exports.Hmac=require_create_hmac();var algos=require_algorithms(),algoKeys=Object.keys(algos),hashes=[\"sha1\",\"sha224\",\"sha256\",\"sha384\",\"sha512\",\"md5\",\"rmd160\"].concat(algoKeys);exports.getHashes=function(){return hashes};var p=require_pbkdf2();exports.pbkdf2=p.pbkdf2;exports.pbkdf2Sync=p.pbkdf2Sync;var aes=require_browserify_cipher();exports.Cipher=aes.Cipher;exports.createCipher=aes.createCipher;exports.Cipheriv=aes.Cipheriv;exports.createCipheriv=aes.createCipheriv;exports.Decipher=aes.Decipher;exports.createDecipher=aes.createDecipher;exports.Decipheriv=aes.Decipheriv;exports.createDecipheriv=aes.createDecipheriv;exports.getCiphers=aes.getCiphers;exports.listCiphers=aes.listCiphers;var dh=require_diffie_hellman();exports.DiffieHellmanGroup=dh.DiffieHellmanGroup;exports.createDiffieHellmanGroup=dh.createDiffieHellmanGroup;exports.getDiffieHellman=dh.getDiffieHellman;exports.createDiffieHellman=dh.createDiffieHellman;exports.DiffieHellman=dh.DiffieHellman;var sign=require_browserify_sign();exports.createSign=sign.createSign;exports.Sign=sign.Sign;exports.createVerify=sign.createVerify;exports.Verify=sign.Verify;exports.createECDH=require_create_ecdh();var publicEncrypt=require_public_encrypt();exports.publicEncrypt=publicEncrypt.publicEncrypt;exports.privateEncrypt=publicEncrypt.privateEncrypt;exports.publicDecrypt=publicEncrypt.publicDecrypt;exports.privateDecrypt=publicEncrypt.privateDecrypt;var rf=require_randomfill();exports.randomFill=rf.randomFill;exports.randomFillSync=rf.randomFillSync;exports.createCredentials=function(){throw Error(`sorry, createCredentials is not implemented yet\nwe accept pull requests\nhttps://github.com/browserify/crypto-browserify`)};exports.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}});var cryptoBrowserify=__toESM(require_crypto_browserify(),1),prng2=cryptoBrowserify.prng,pseudoRandomBytes2=cryptoBrowserify.pseudoRandomBytes,rng2=cryptoBrowserify.rng,randomBytes2=cryptoBrowserify.randomBytes,Hash2=cryptoBrowserify.Hash,createHash2=cryptoBrowserify.createHash,Hmac2=cryptoBrowserify.Hmac,createHmac2=cryptoBrowserify.createHmac,getHashes2=cryptoBrowserify.getHashes,pbkdf22=cryptoBrowserify.pbkdf2,pbkdf2Sync2=cryptoBrowserify.pbkdf2Sync,Cipher2=cryptoBrowserify.Cipher,createCipher2=cryptoBrowserify.createCipher,Cipheriv2=cryptoBrowserify.Cipheriv,createCipheriv2=cryptoBrowserify.createCipheriv,Decipher2=cryptoBrowserify.Decipher,createDecipher2=cryptoBrowserify.createDecipher,Decipheriv2=cryptoBrowserify.Decipheriv,createDecipheriv2=cryptoBrowserify.createDecipheriv,getCiphers2=cryptoBrowserify.getCiphers,listCiphers2=cryptoBrowserify.listCiphers,DiffieHellmanGroup2=cryptoBrowserify.DiffieHellmanGroup,createDiffieHellmanGroup2=cryptoBrowserify.createDiffieHellmanGroup,getDiffieHellman2=cryptoBrowserify.getDiffieHellman,createDiffieHellman2=cryptoBrowserify.createDiffieHellman,DiffieHellman2=cryptoBrowserify.DiffieHellman,createSign2=cryptoBrowserify.createSign,Sign2=cryptoBrowserify.Sign,createVerify2=cryptoBrowserify.createVerify,Verify2=cryptoBrowserify.Verify,createECDH2=cryptoBrowserify.createECDH,publicEncrypt2=cryptoBrowserify.publicEncrypt,privateEncrypt2=cryptoBrowserify.privateEncrypt,publicDecrypt2=cryptoBrowserify.publicDecrypt,privateDecrypt2=cryptoBrowserify.privateDecrypt,randomFill2=cryptoBrowserify.randomFill,randomFillSync2=cryptoBrowserify.randomFillSync,createCredentials2=cryptoBrowserify.createCredentials,constants2=cryptoBrowserify.constants,DEFAULT_ENCODING=\"buffer\",getRandomValues=(array)=>{return crypto.getRandomValues(array)},randomUUID=()=>{return crypto.randomUUID()},hardcoded_curves=[\"p192\",\"p224\",\"p256\",\"p384\",\"p521\",\"curve25519\",\"ed25519\",\"secp256k1\",\"secp224r1\",\"prime256v1\",\"prime192v1\",\"ed25519\",\"secp384r1\",\"secp521r1\"];function getCurves(){return hardcoded_curves}var webcrypto=crypto,crypto_default=crypto;export{webcrypto,rng2 as rng,randomUUID,randomFillSync2 as randomFillSync,randomFill2 as randomFill,randomBytes2 as randomBytes,publicEncrypt2 as publicEncrypt,publicDecrypt2 as publicDecrypt,pseudoRandomBytes2 as pseudoRandomBytes,prng2 as prng,privateEncrypt2 as privateEncrypt,privateDecrypt2 as privateDecrypt,pbkdf2Sync2 as pbkdf2Sync,pbkdf22 as pbkdf2,listCiphers2 as listCiphers,getRandomValues,getHashes2 as getHashes,getDiffieHellman2 as getDiffieHellman,getCurves,getCiphers2 as getCiphers,crypto_default as default,createVerify2 as createVerify,createSign2 as createSign,createHmac2 as createHmac,createHash2 as createHash,createECDH2 as createECDH,createDiffieHellmanGroup2 as createDiffieHellmanGroup,createDiffieHellman2 as createDiffieHellman,createDecipheriv2 as createDecipheriv,createDecipher2 as createDecipher,createCredentials2 as createCredentials,createCipheriv2 as createCipheriv,createCipher2 as createCipher,constants2 as constants,Verify2 as Verify,Sign2 as Sign,Hmac2 as Hmac,Hash2 as Hash,DiffieHellmanGroup2 as DiffieHellmanGroup,DiffieHellman2 as DiffieHellman,Decipheriv2 as Decipheriv,Decipher2 as Decipher,DEFAULT_ENCODING,Cipheriv2 as Cipheriv,Cipher2 as Cipher};",
|
|
10
|
+
"import type {\n ActionResult,\n HandlerCallback,\n IAgentRuntime,\n Memory,\n State,\n} from \"@elizaos/core\";\nimport type {\n AcpJsonRpcMessage,\n ApprovalPreset,\n AvailableAgentInfo,\n PromptResult,\n SessionEventName,\n SessionInfo,\n SpawnOptions,\n SpawnResult,\n} from \"../services/types.js\";\n\nexport interface AcpActionService {\n defaultApprovalPreset?: ApprovalPreset;\n agentSelectionStrategy?: string;\n spawnSession(opts: SpawnOptions): Promise<SpawnResult>;\n sendPrompt?(\n sessionId: string,\n text: string,\n opts?: { timeoutMs?: number; model?: string },\n ): Promise<PromptResult>;\n sendToSession(sessionId: string, input: string): Promise<PromptResult>;\n sendKeysToSession(sessionId: string, keys?: string): Promise<void>;\n stopSession(sessionId: string, force?: boolean): Promise<void>;\n cancelSession?(sessionId: string): Promise<void>;\n listSessions(): SessionInfo[] | Promise<SessionInfo[]>;\n getSession(\n sessionId: string,\n ): SessionInfo | undefined | Promise<SessionInfo | null | undefined>;\n resolveAgentType?(\n selection?: Record<string, unknown>,\n ): Promise<string> | string;\n checkAvailableAgents?(types?: string[]): Promise<AvailableAgentInfo[]>;\n getAvailableAgents?(): Promise<AvailableAgentInfo[]>;\n onSessionEvent?(\n handler: (\n sessionId: string,\n event: SessionEventName,\n data: unknown,\n ) => void,\n ): () => void;\n onAcpEvent?(\n handler: (event: AcpJsonRpcMessage, sessionId?: string) => void,\n ): () => void;\n emitSessionEvent?(\n sessionId: string,\n event: SessionEventName,\n data: unknown,\n ): void;\n}\n\nexport type HandlerOptionsLike =\n | { parameters?: Record<string, unknown> }\n | Record<string, unknown>;\n\nexport function getAcpService(\n runtime: IAgentRuntime,\n): AcpActionService | undefined {\n return (runtime.getService?.(\"ACP_SERVICE\") ??\n runtime.getService?.(\"ACP_SUBPROCESS_SERVICE\") ??\n runtime.getService?.(\"PTY_SERVICE\") ??\n undefined) as unknown as AcpActionService | undefined;\n}\n\nexport function logger(runtime: IAgentRuntime) {\n return (\n (\n runtime as unknown as {\n logger?: Record<string, (...args: unknown[]) => void>;\n }\n ).logger ?? {}\n );\n}\n\nexport function contentRecord(message: Memory): Record<string, unknown> {\n return message.content && typeof message.content === \"object\"\n ? (message.content as Record<string, unknown>)\n : {};\n}\n\nexport function paramsRecord(\n options?: HandlerOptionsLike,\n): Record<string, unknown> {\n const maybeParams =\n options && \"parameters\" in options ? options.parameters : undefined;\n return maybeParams && typeof maybeParams === \"object\"\n ? (maybeParams as Record<string, unknown>)\n : {};\n}\n\nexport function pickString(\n params: Record<string, unknown>,\n content: Record<string, unknown>,\n name: string,\n): string | undefined {\n const value = params[name] ?? content[name];\n return typeof value === \"string\" && value.trim().length > 0\n ? value.trim()\n : undefined;\n}\n\nexport function pickBoolean(\n params: Record<string, unknown>,\n content: Record<string, unknown>,\n name: string,\n): boolean | undefined {\n const value = params[name] ?? content[name];\n return typeof value === \"boolean\" ? value : undefined;\n}\n\nexport function pickNumber(\n params: Record<string, unknown>,\n content: Record<string, unknown>,\n name: string,\n): number | undefined {\n const value = params[name] ?? content[name];\n return typeof value === \"number\" && Number.isFinite(value)\n ? value\n : undefined;\n}\n\nexport function messageText(message: Memory): string {\n if (typeof message.content === \"string\") return message.content;\n const content = contentRecord(message);\n return typeof content.text === \"string\" ? content.text : \"\";\n}\n\nexport function hasExplicitPayload(message: Memory, fields: string[]): boolean {\n const content = contentRecord(message);\n return fields.some((field) => typeof content[field] === \"string\");\n}\n\nexport function looksLikeTaskAgentRequest(text: string): boolean {\n if (!text.trim()) return true;\n return /\\b(code|debug|fix|implement|investigate|research|summari[sz]e|write|plan|delegate|subagent|agent|repo|test|build|refactor|analy[sz]e|document|automate|script|issue|pr|pull request)\\b/i.test(\n text,\n );\n}\n\nexport function shortId(id: string): string {\n return id.slice(0, 8).toLowerCase();\n}\n\nexport function labelFor(\n session: Pick<SessionInfo, \"id\" | \"name\" | \"metadata\">,\n): string {\n return typeof session.metadata?.label === \"string\"\n ? session.metadata.label\n : (session.name ?? shortId(session.id));\n}\n\nexport function newestSession(\n sessions: SessionInfo[],\n): SessionInfo | undefined {\n return sessions\n .slice()\n .sort(\n (a, b) =>\n new Date(b.lastActivityAt).getTime() -\n new Date(a.lastActivityAt).getTime(),\n )[0];\n}\n\nexport async function listSessionsWithin(\n service: AcpActionService,\n timeoutMs = 2000,\n): Promise<SessionInfo[]> {\n return Promise.race([\n Promise.resolve(service.listSessions()),\n new Promise<SessionInfo[]>((resolve) =>\n setTimeout(() => resolve([]), timeoutMs),\n ),\n ]);\n}\n\nexport async function validateHasSessions(\n runtime: IAgentRuntime,\n): Promise<boolean> {\n const service = getAcpService(runtime);\n if (!service) return false;\n try {\n const sessions = await listSessionsWithin(service, 2000);\n return sessions.length > 0;\n } catch {\n return false;\n }\n}\n\nexport async function callbackText(\n callback: HandlerCallback | undefined,\n text: string,\n): Promise<void> {\n if (callback) await callback({ text });\n}\n\nexport function errorResult(error: string, text?: string): ActionResult {\n return { success: false, error, ...(text ? { text } : {}) };\n}\n\nexport async function resolveSession(\n service: AcpActionService,\n sessionId: string | undefined,\n state?: State,\n): Promise<{\n session?: SessionInfo;\n missingId?: string;\n sessions: SessionInfo[];\n}> {\n const stateSession = (\n state as unknown as { codingSession?: { id?: string } } | undefined\n )?.codingSession?.id;\n const targetId = sessionId ?? stateSession;\n if (targetId) {\n const found = await Promise.resolve(service.getSession(targetId));\n return {\n session: found ?? undefined,\n missingId: found ? undefined : targetId,\n sessions: [],\n };\n }\n const sessions = await Promise.resolve(service.listSessions());\n return { session: newestSession(sessions), sessions };\n}\n\nexport function setCurrentSession(\n state: State | undefined,\n session: SpawnResult | SessionInfo,\n): void {\n if (state)\n (state as unknown as { codingSession?: unknown }).codingSession = session;\n}\n\nexport function setCurrentSessions(\n state: State | undefined,\n sessions: SpawnResult[],\n): void {\n if (state)\n (state as unknown as { codingSessions?: unknown }).codingSessions =\n sessions;\n}\n\nexport function emitSessionEvent(\n service: AcpActionService,\n sessionId: string,\n event: SessionEventName,\n data: unknown,\n): void {\n // TODO(W7-integration): AcpService.emitSessionEvent is currently private though CREATE_TASK parity needs it.\n service.emitSessionEvent?.(sessionId, event, data);\n}\n\nexport function parseApproval(\n value: string | undefined,\n): ApprovalPreset | undefined {\n if (\n value === \"readonly\" ||\n value === \"standard\" ||\n value === \"permissive\" ||\n value === \"autonomous\"\n )\n return value;\n return undefined;\n}\n\nexport function isAuthError(error: unknown): boolean {\n const text = error instanceof Error ? error.message : String(error);\n return /auth|login|credential|unauthorized|forbidden|permission/i.test(text);\n}\n\nexport function failureMessage(error: unknown): string {\n return error instanceof Error ? error.message : String(error);\n}\n\nexport function getTimeoutMs(\n params: Record<string, unknown>,\n content: Record<string, unknown>,\n): number | undefined {\n return (\n pickNumber(params, content, \"timeout_ms\") ??\n pickNumber(params, content, \"timeoutMs\")\n );\n}\n",
|
|
11
|
+
"import type { Action, ActionResult } from \"@elizaos/core\";\nimport {\n callbackText,\n contentRecord,\n errorResult,\n failureMessage,\n getAcpService,\n type HandlerOptionsLike,\n newestSession,\n paramsRecord,\n pickBoolean,\n pickString,\n validateHasSessions,\n} from \"./common.js\";\n\nexport const cancelTaskAction: Action = {\n name: \"CANCEL_TASK\",\n roleGate: { minRole: \"OWNER\" },\n similes: [\n \"STOP_TASK\",\n \"CANCEL_AGENT_TASK\",\n \"CANCEL_TASK_AGENT\",\n \"ABORT_TASK\",\n \"KILL_TASK\",\n \"STOP_SUBTASK\",\n ],\n description:\n \"Cancel a durable task and stop any associated task-agent sessions, preserving history and marking sessions or threads as canceled or interrupted.\",\n parameters: [\n {\n name: \"threadId\",\n description: \"Task thread ID\",\n required: false,\n schema: { type: \"string\" },\n },\n {\n name: \"sessionId\",\n description: \"Session ID\",\n required: false,\n schema: { type: \"string\" },\n },\n {\n name: \"search\",\n description: \"Search text for a matching task\",\n required: false,\n schema: { type: \"string\" },\n },\n {\n name: \"all\",\n description: \"Cancel all active tasks\",\n required: false,\n schema: { type: \"boolean\" },\n },\n {\n name: \"reason\",\n description: \"Cancellation reason\",\n required: false,\n schema: { type: \"string\" },\n },\n ],\n validate: validateHasSessions,\n handler: async (\n runtime,\n message,\n state,\n options,\n callback,\n ): Promise<ActionResult> => {\n const service = getAcpService(runtime);\n if (!service) {\n await callbackText(callback, \"PTY Service is not available.\");\n return errorResult(\"SERVICE_UNAVAILABLE\");\n }\n\n try {\n const params = paramsRecord(options as HandlerOptionsLike | undefined);\n const content = contentRecord(message);\n const all = pickBoolean(params, content, \"all\") ?? false;\n const threadId = pickString(params, content, \"threadId\");\n const sessionId =\n pickString(params, content, \"sessionId\") ??\n (state as unknown as { codingSession?: { id?: string } } | undefined)\n ?.codingSession?.id;\n const search = pickString(params, content, \"search\")?.toLowerCase();\n const sessions = await Promise.resolve(service.listSessions());\n\n if (all) {\n const stoppedSessions: string[] = [];\n for (const session of sessions) {\n await (service.cancelSession?.(session.id) ??\n service.stopSession(session.id));\n stoppedSessions.push(session.id);\n }\n const text = `Canceled ${stoppedSessions.length} task(s).`;\n await callbackText(callback, text);\n return {\n success: true,\n text,\n data: { canceledCount: stoppedSessions.length, stoppedSessions },\n };\n }\n\n const target = sessionId\n ? await Promise.resolve(service.getSession(sessionId))\n : search\n ? sessions.find((session) =>\n `${session.id} ${session.name ?? \"\"} ${session.metadata?.label ?? \"\"}`\n .toLowerCase()\n .includes(search),\n )\n : newestSession(sessions);\n\n if (!target) {\n const code = sessionId ? \"SESSION_NOT_FOUND\" : \"TASK_NOT_FOUND\";\n const text = sessionId\n ? `Session ${sessionId} not found.`\n : \"No matching task found.\";\n await callbackText(callback, text);\n return errorResult(code);\n }\n\n await (service.cancelSession?.(target.id) ??\n service.stopSession(target.id));\n const id = threadId ?? target.id;\n const text = `Canceled task ${id}`;\n await callbackText(callback, text);\n return {\n success: true,\n text,\n data: {\n ...(threadId ? { threadId } : {}),\n sessionId: target.id,\n stoppedSessions: [target.id],\n status: \"canceled\",\n },\n };\n } catch (error) {\n const msg = failureMessage(error);\n await callbackText(callback, `Failed to cancel task: ${msg}`);\n return { success: false, error: msg };\n }\n },\n};\n",
|
|
12
|
+
"import type { Action, ActionResult } from \"@elizaos/core\";\nimport type { AgentType, SpawnResult } from \"../services/types.js\";\nimport {\n callbackText,\n contentRecord,\n emitSessionEvent,\n errorResult,\n failureMessage,\n getAcpService,\n getTimeoutMs,\n type HandlerOptionsLike,\n hasExplicitPayload,\n logger,\n looksLikeTaskAgentRequest,\n messageText,\n paramsRecord,\n parseApproval,\n pickString,\n setCurrentSessions,\n} from \"./common.js\";\n\nconst MAX_CONCURRENT_AGENTS = 8;\n\nfunction looksLikeLifeOpsRequest(text: string | undefined | null): boolean {\n if (!text) return false;\n const normalized = text.toLowerCase().replace(/\\s+/g, \" \").trim();\n if (normalized.length === 0) return false;\n return /^(?:@\\S+\\s+)?(?:add|set|schedule|remind|track|log)\\b[^.!?]{0,40}\\b(todo|habit|reminder|goal|routine|alarm|chore|tasks?\\s+for\\s+(?:today|tomorrow|this\\s+week))\\b/i.test(\n normalized,\n );\n}\n\nfunction taskParts(\n params: Record<string, unknown>,\n content: Record<string, unknown>,\n fallbackText: string,\n): string[] {\n const agents = pickString(params, content, \"agents\");\n if (!agents) return [pickString(params, content, \"task\") ?? fallbackText];\n return agents\n .split(\"|\")\n .map((part) => part.trim())\n .filter(Boolean);\n}\n\nfunction parseAgentPrefix(\n part: string,\n fallbackAgentType: string,\n): { task: string; agentType: string } {\n const match = part.match(/^([a-z][a-z0-9_-]{1,32})\\s*:\\s*(.+)$/i);\n if (!match) return { task: part, agentType: fallbackAgentType };\n return { agentType: match[1] ?? fallbackAgentType, task: match[2] ?? part };\n}\n\nfunction labelFrom(task: string, index: number): string {\n const cleaned = task.replace(/\\s+/g, \" \").trim();\n return cleaned ? cleaned.slice(0, 80) : `task-${index + 1}`;\n}\n\nasync function runPromptAndClose(\n service: ReturnType<typeof getAcpService> & {},\n session: SpawnResult,\n task: string,\n timeoutMs: number | undefined,\n model: string | undefined,\n): Promise<void> {\n const startedAt = Date.now();\n try {\n const result = service.sendPrompt\n ? await service.sendPrompt(session.sessionId, task, { timeoutMs, model })\n : await service.sendToSession(session.sessionId, task);\n if (result.error || result.stopReason === \"error\") {\n emitSessionEvent(service, session.sessionId, \"error\", {\n message: result.error ?? \"acpx prompt ended with stopReason error\",\n stopReason: result.stopReason,\n });\n throw new Error(result.error ?? \"acpx prompt failed\");\n }\n emitSessionEvent(service, session.sessionId, \"task_complete\", {\n response: result.finalText || result.response,\n durationMs: result.durationMs || Date.now() - startedAt,\n stopReason: result.stopReason,\n });\n } catch (error) {\n emitSessionEvent(service, session.sessionId, \"error\", {\n message: failureMessage(error),\n });\n throw error;\n } finally {\n try {\n await service.stopSession(session.sessionId);\n } finally {\n emitSessionEvent(service, session.sessionId, \"stopped\", {\n sessionId: session.sessionId,\n });\n }\n }\n}\n\nexport const createTaskAction = {\n name: \"CREATE_AGENT_TASK\",\n roleGate: { minRole: \"OWNER\" },\n similes: [\n \"CREATE_TASK\",\n \"START_CODING_TASK\",\n \"LAUNCH_CODING_TASK\",\n \"RUN_CODING_TASK\",\n \"START_AGENT_TASK\",\n \"SPAWN_AND_PROVISION\",\n \"CODE_THIS\",\n \"LAUNCH_TASK\",\n \"CREATE_SUBTASK\",\n ],\n description:\n \"Create one or more asynchronous task agents for any open-ended multi-step job. Agents can code, debug, research, write, analyze, plan, document, and automate while the main agent remains available.\",\n suppressPostActionContinuation: true,\n parameters: [\n {\n name: \"repo\",\n description: \"Repository URL or slug\",\n required: false,\n schema: { type: \"string\" },\n },\n {\n name: \"agentType\",\n description: \"Agent type to launch\",\n required: false,\n schema: { type: \"string\" },\n },\n {\n name: \"task\",\n description: \"Task prompt\",\n required: false,\n schema: { type: \"string\" },\n },\n {\n name: \"agents\",\n description: \"Pipe-delimited multi-agent task list\",\n required: false,\n schema: { type: \"string\" },\n },\n {\n name: \"memoryContent\",\n description: \"Additional memory/context\",\n required: false,\n schema: { type: \"string\" },\n },\n {\n name: \"label\",\n description: \"Task label\",\n required: false,\n schema: { type: \"string\" },\n },\n {\n name: \"approvalPreset\",\n description: \"Approval policy\",\n required: false,\n schema: {\n type: \"string\",\n enum: [\"readonly\", \"standard\", \"permissive\", \"autonomous\"],\n },\n },\n {\n name: \"validator\",\n description: \"Optional verifier\",\n required: false,\n schema: { type: \"object\" },\n },\n {\n name: \"maxRetries\",\n description: \"Verifier retry count\",\n required: false,\n schema: { type: \"integer\", minimum: 0 },\n },\n {\n name: \"onVerificationFail\",\n description: \"Verifier failure behavior\",\n required: false,\n schema: { type: \"string\", enum: [\"retry\", \"escalate\"] },\n },\n {\n name: \"metadata\",\n description: \"Additional metadata\",\n required: false,\n schema: { type: \"object\" },\n },\n ],\n validate: async (runtime, message) => {\n if (!getAcpService(runtime)) return false;\n if (\n hasExplicitPayload(message, [\n \"task\",\n \"repo\",\n \"workdir\",\n \"agents\",\n \"agentType\",\n ])\n )\n return true;\n const text = messageText(message);\n if (!text.trim()) return true;\n if (looksLikeLifeOpsRequest(text)) return false;\n return looksLikeTaskAgentRequest(text);\n },\n handler: async (\n runtime,\n message,\n state,\n options,\n callback,\n ): Promise<ActionResult> => {\n const service = getAcpService(runtime);\n if (!service) {\n const text =\n \"ACP subprocess service is not available. Install acpx and ensure @elizaos/plugin-acpx is loaded.\";\n await callbackText(callback, text);\n return errorResult(\"SERVICE_UNAVAILABLE\");\n }\n\n const params = paramsRecord(options as HandlerOptionsLike | undefined);\n const content = contentRecord(message);\n const text = messageText(message);\n const tasks = taskParts(params, content, text);\n if (tasks.length > MAX_CONCURRENT_AGENTS) {\n const msg = `Too many task agents requested (${tasks.length}); maximum is ${MAX_CONCURRENT_AGENTS}.`;\n await callbackText(callback, msg);\n return errorResult(\"TOO_MANY_AGENTS\", msg);\n }\n\n const baseAgentType =\n pickString(params, content, \"agentType\") ??\n String(\n (await service.resolveAgentType?.({\n task: tasks[0],\n subtaskCount: tasks.length,\n })) ?? \"codex\",\n );\n const workdir = pickString(params, content, \"workdir\") ?? process.cwd();\n const model = pickString(params, content, \"model\");\n const memoryContent = pickString(params, content, \"memoryContent\");\n const approvalPreset = parseApproval(\n pickString(params, content, \"approvalPreset\"),\n );\n const timeoutMs = getTimeoutMs(params, content);\n const baseLabel = pickString(params, content, \"label\");\n const settled = await Promise.allSettled(\n tasks.map(async (part, index) => {\n const parsed = parseAgentPrefix(part, baseAgentType);\n const task = parsed.task;\n const agentType = parsed.agentType as AgentType;\n const label = baseLabel ?? labelFrom(task, index);\n const session = await service.spawnSession({\n agentType,\n workdir,\n memoryContent,\n approvalPreset,\n model,\n timeoutMs,\n metadata: {\n requestedType: baseAgentType,\n messageId: message.id,\n roomId: message.roomId,\n worldId: message.worldId,\n userId: message.entityId,\n label,\n source: content.source,\n },\n });\n await runPromptAndClose(service, session, task, timeoutMs, model);\n return { session, label, agentType };\n }),\n );\n\n const results: Array<Record<string, unknown>> = [];\n const sessions: SpawnResult[] = [];\n for (const [index, outcome] of settled.entries()) {\n if (outcome.status === \"fulfilled\") {\n const { session, label } = outcome.value;\n sessions.push(session);\n results.push({\n id: session.sessionId,\n sessionId: session.sessionId,\n agentType: session.agentType,\n name: session.name,\n workdir: session.workdir,\n label,\n status: \"completed\",\n });\n continue;\n }\n const part = tasks[index];\n const parsed = parseAgentPrefix(part, baseAgentType);\n const agentType = parsed.agentType as AgentType;\n const label = baseLabel ?? labelFrom(parsed.task, index);\n const msg = failureMessage(outcome.reason);\n logger(runtime).error?.(\"CREATE_AGENT_TASK launch failed\", {\n error: msg,\n agentType,\n workdir,\n });\n results.push({\n sessionId: \"\",\n id: \"\",\n agentType,\n workdir,\n label,\n status: \"failed\",\n error: msg,\n });\n }\n\n setCurrentSessions(state, sessions);\n const failed = results.filter((result) => result.status === \"failed\");\n if (failed.length > 0) {\n const textOut = `I started some task agents, but ${failed.length} failed to launch: ${failed.map((item) => String(item.error)).join(\"; \")}.`;\n await callbackText(callback, textOut);\n return {\n success: false,\n text: textOut,\n data: { agents: results, suppressActionResultClipboard: true },\n };\n }\n\n return {\n success: true,\n text: \"\",\n data: { agents: results, suppressActionResultClipboard: true },\n };\n },\n} as Action & { suppressPostActionContinuation: true };\n\nexport const startCodingTaskAction = createTaskAction;\n",
|
|
13
|
+
"import type { Action, ActionResult } from \"@elizaos/core\";\nimport {\n callbackText,\n errorResult,\n getAcpService,\n labelFor,\n listSessionsWithin,\n shortId,\n} from \"./common.js\";\n\nfunction dateString(value: Date | string | number): string {\n return new Date(value).toISOString();\n}\n\nexport const listAgentsAction: Action = {\n name: \"LIST_AGENTS\",\n roleGate: { minRole: \"ADMIN\" },\n similes: [\n \"LIST_CODING_AGENTS\",\n \"SHOW_CODING_AGENTS\",\n \"GET_ACTIVE_AGENTS\",\n \"LIST_SESSIONS\",\n \"SHOW_CODING_SESSIONS\",\n \"SHOW_TASK_AGENTS\",\n \"LIST_SUB_AGENTS\",\n \"SHOW_TASK_STATUS\",\n ],\n description:\n \"List active task agents together with current task progress so the main agent can keep the user updated while work continues asynchronously.\",\n parameters: [],\n validate: async (runtime) => Boolean(getAcpService(runtime)),\n handler: async (\n runtime,\n _message,\n _state,\n _options,\n callback,\n ): Promise<ActionResult> => {\n const service = getAcpService(runtime);\n if (!service) {\n await callbackText(callback, \"PTY Service is not available.\");\n return errorResult(\"SERVICE_UNAVAILABLE\");\n }\n\n const sessions = await listSessionsWithin(service, 2000);\n const preferredTaskAgent = {\n id: String((await service.resolveAgentType?.({})) ?? \"codex\"),\n reason: \"acpx default agent\",\n };\n const tasks: Array<Record<string, unknown>> = [];\n const pendingConfirmations = 0;\n\n if (sessions.length === 0) {\n const text =\n \"No active task agents. Use CREATE_AGENT_TASK when the user needs anything more involved than a simple direct reply.\";\n await callbackText(callback, text);\n return {\n success: true,\n text,\n data: { sessions: [], tasks, pendingConfirmations, preferredTaskAgent },\n };\n }\n\n const lines = [`Active task agents (${sessions.length}):`];\n for (const session of sessions) {\n lines.push(\n `- ${labelFor(session)} [${shortId(session.id)}] ${session.agentType} ${session.status} in ${session.workdir}`,\n );\n }\n const text = lines.join(\"\\n\");\n await callbackText(callback, text);\n\n return {\n success: true,\n text,\n data: {\n sessions: sessions.map((session) => ({\n id: session.id,\n agentType: String(session.agentType),\n status: String(session.status),\n workdir: session.workdir,\n createdAt: dateString(session.createdAt),\n lastActivity: dateString(session.lastActivityAt),\n label: labelFor(session),\n })),\n tasks,\n pendingConfirmations,\n preferredTaskAgent,\n },\n };\n },\n};\n\nexport const listTaskAgentsAction = listAgentsAction;\n",
|
|
14
|
+
"import type { Action, ActionResult } from \"@elizaos/core\";\nimport {\n callbackText,\n contentRecord,\n errorResult,\n failureMessage,\n getAcpService,\n type HandlerOptionsLike,\n paramsRecord,\n pickString,\n resolveSession,\n validateHasSessions,\n} from \"./common.js\";\n\nexport const sendToAgentAction: Action = {\n name: \"SEND_TO_AGENT\",\n roleGate: { minRole: \"OWNER\" },\n similes: [\n \"SEND_TO_CODING_AGENT\",\n \"MESSAGE_CODING_AGENT\",\n \"INPUT_TO_AGENT\",\n \"RESPOND_TO_AGENT\",\n \"TELL_CODING_AGENT\",\n \"MESSAGE_AGENT\",\n \"TELL_TASK_AGENT\",\n ],\n description:\n \"Send text input or key presses to a running task-agent session. Use it to respond to prompts, provide feedback, continue a task, or assign a fresh tracked task to an existing agent.\",\n parameters: [\n {\n name: \"sessionId\",\n description: \"Target task-agent session ID\",\n required: false,\n schema: { type: \"string\" },\n },\n {\n name: \"input\",\n description: \"Text to send to the agent\",\n required: false,\n schema: { type: \"string\" },\n },\n {\n name: \"task\",\n description: \"New task to assign to the agent\",\n required: false,\n schema: { type: \"string\" },\n },\n {\n name: \"label\",\n description: \"Optional task label\",\n required: false,\n schema: { type: \"string\" },\n },\n {\n name: \"keys\",\n description: \"Key sequence to send\",\n required: false,\n schema: { type: \"string\" },\n },\n ],\n validate: validateHasSessions,\n handler: async (\n runtime,\n message,\n state,\n options,\n callback,\n ): Promise<ActionResult> => {\n const service = getAcpService(runtime);\n if (!service) {\n await callbackText(callback, \"PTY Service is not available.\");\n return errorResult(\"SERVICE_UNAVAILABLE\");\n }\n\n try {\n const params = paramsRecord(options as HandlerOptionsLike | undefined);\n const content = contentRecord(message);\n const sessionId = pickString(params, content, \"sessionId\");\n const input = pickString(params, content, \"input\");\n const task = pickString(params, content, \"task\");\n const keys = pickString(params, content, \"keys\");\n const target = await resolveSession(service, sessionId, state);\n\n if (!target.session) {\n if (target.missingId) {\n const text = `Session ${target.missingId} not found.`;\n await callbackText(callback, text);\n return errorResult(\"SESSION_NOT_FOUND\");\n }\n await callbackText(\n callback,\n \"No active task-agent sessions. Spawn an agent first.\",\n );\n return errorResult(\"NO_SESSION\");\n }\n\n if (keys) {\n await service.sendKeysToSession(target.session.id, keys);\n await callbackText(callback, \"Sent key sequence\");\n return {\n success: true,\n text: \"Sent key sequence\",\n data: { sessionId: target.session.id, keys },\n };\n }\n\n const textInput = input ?? task;\n if (textInput) {\n await service.sendToSession(target.session.id, textInput);\n const text = task\n ? \"Assigned new task to agent\"\n : \"Sent input to agent\";\n await callbackText(callback, text);\n return {\n success: true,\n text,\n data: {\n sessionId: target.session.id,\n input: textInput,\n ...(task ? { task } : {}),\n },\n };\n }\n\n await callbackText(\n callback,\n \"No input provided. Specify 'input', 'task', or 'keys' parameter.\",\n );\n return errorResult(\"NO_INPUT\");\n } catch (error) {\n const msg = failureMessage(error);\n await callbackText(callback, `Failed to send to agent: ${msg}`);\n return { success: false, error: msg };\n }\n },\n};\n\nexport const sendToTaskAgentAction = sendToAgentAction;\n",
|
|
15
|
+
"import type { Action, ActionResult } from \"@elizaos/core\";\nimport type { AgentType } from \"../services/types.js\";\nimport {\n callbackText,\n contentRecord,\n errorResult,\n failureMessage,\n getAcpService,\n type HandlerOptionsLike,\n hasExplicitPayload,\n isAuthError,\n logger,\n looksLikeTaskAgentRequest,\n messageText,\n paramsRecord,\n parseApproval,\n pickBoolean,\n pickString,\n setCurrentSession,\n} from \"./common.js\";\n\nexport const spawnAgentAction = {\n name: \"SPAWN_AGENT\",\n roleGate: { minRole: \"OWNER\" },\n similes: [\n \"SPAWN_CODING_AGENT\",\n \"START_CODING_AGENT\",\n \"LAUNCH_CODING_AGENT\",\n \"CREATE_CODING_AGENT\",\n \"SPAWN_CODER\",\n \"RUN_CODING_AGENT\",\n \"SPAWN_SUB_AGENT\",\n \"START_TASK_AGENT\",\n \"CREATE_AGENT\",\n ],\n description:\n \"Spawn a specific task agent inside an existing workspace for open-ended coding, research, planning, testing, documentation, or async repo work. Returns a session ID for follow-up actions.\",\n suppressPostActionContinuation: true,\n parameters: [\n { name: \"agentType\", required: false, schema: { type: \"string\" } },\n { name: \"task\", required: false, schema: { type: \"string\" } },\n { name: \"workdir\", required: false, schema: { type: \"string\" } },\n { name: \"memoryContent\", required: false, schema: { type: \"string\" } },\n {\n name: \"approvalPreset\",\n required: false,\n schema: {\n type: \"string\",\n enum: [\"readonly\", \"standard\", \"permissive\", \"autonomous\"],\n },\n },\n {\n name: \"keepAliveAfterComplete\",\n required: false,\n schema: { type: \"boolean\" },\n },\n ],\n validate: async (runtime, message) => {\n if (!getAcpService(runtime)) return false;\n if (hasExplicitPayload(message, [\"task\", \"workdir\", \"agentType\"]))\n return true;\n const text = messageText(message);\n if (!text.trim()) return true;\n return looksLikeTaskAgentRequest(text);\n },\n handler: async (\n runtime,\n message,\n state,\n options,\n callback,\n ): Promise<ActionResult> => {\n const service = getAcpService(runtime);\n if (!service) {\n const text = \"PTY Service is not available. Cannot spawn a task agent.\";\n await callbackText(callback, text);\n return errorResult(\"SERVICE_UNAVAILABLE\");\n }\n\n try {\n const params = paramsRecord(options as HandlerOptionsLike | undefined);\n const content = contentRecord(message);\n const text = messageText(message);\n const task = pickString(params, content, \"task\") ?? text;\n const explicitAgentType = pickString(params, content, \"agentType\");\n const agentType = (explicitAgentType ??\n (await service.resolveAgentType?.({\n task,\n workdir: pickString(params, content, \"workdir\"),\n })) ??\n \"codex\") as AgentType;\n const workdir = pickString(params, content, \"workdir\") ?? process.cwd();\n const memoryContent = pickString(params, content, \"memoryContent\");\n const approvalPreset = parseApproval(\n pickString(params, content, \"approvalPreset\"),\n );\n const keepAliveAfterComplete = pickBoolean(\n params,\n content,\n \"keepAliveAfterComplete\",\n );\n const label = pickString(params, content, \"label\") ?? task.slice(0, 80);\n\n const session = await service.spawnSession({\n agentType,\n workdir,\n initialTask: task,\n memoryContent,\n approvalPreset,\n metadata: {\n requestedType: explicitAgentType ?? agentType,\n messageId: message.id,\n roomId: message.roomId,\n worldId: message.worldId,\n userId: message.entityId,\n label,\n keepAliveAfterComplete,\n },\n });\n\n setCurrentSession(state, session);\n logger(runtime).info?.(\"Spawned acpx task agent\", {\n sessionId: session.sessionId,\n agentType: session.agentType,\n workdir: session.workdir,\n });\n\n return {\n success: true,\n text: \"\",\n data: {\n sessionId: session.sessionId,\n agentType: session.agentType,\n workdir: session.workdir,\n status: session.status,\n label,\n suppressActionResultClipboard: true,\n },\n };\n } catch (error) {\n const messageTextValue = failureMessage(error);\n const code = isAuthError(error)\n ? \"INVALID_CREDENTIALS\"\n : messageTextValue;\n await callbackText(\n callback,\n isAuthError(error)\n ? \"Invalid credentials for task agent.\"\n : `Failed to spawn agent: ${messageTextValue}`,\n );\n return { success: false, error: code };\n }\n },\n} as Action & { suppressPostActionContinuation: true };\n\nexport const spawnTaskAgentAction = spawnAgentAction;\n",
|
|
16
|
+
"import type { Action, ActionResult } from \"@elizaos/core\";\nimport {\n callbackText,\n contentRecord,\n errorResult,\n failureMessage,\n getAcpService,\n type HandlerOptionsLike,\n newestSession,\n paramsRecord,\n pickBoolean,\n pickString,\n validateHasSessions,\n} from \"./common.js\";\n\nexport const stopAgentAction: Action = {\n name: \"STOP_AGENT\",\n roleGate: { minRole: \"OWNER\" },\n similes: [\n \"STOP_CODING_AGENT\",\n \"KILL_CODING_AGENT\",\n \"TERMINATE_AGENT\",\n \"END_CODING_SESSION\",\n \"CANCEL_AGENT\",\n \"CANCEL_TASK_AGENT\",\n \"STOP_SUB_AGENT\",\n ],\n description:\n \"Stop a running task-agent session, terminating the session and cleaning up resources.\",\n parameters: [\n {\n name: \"sessionId\",\n description: \"Session ID to stop\",\n required: false,\n schema: { type: \"string\" },\n },\n {\n name: \"all\",\n description: \"Stop all active sessions\",\n required: false,\n schema: { type: \"boolean\" },\n },\n ],\n validate: validateHasSessions,\n handler: async (\n runtime,\n message,\n state,\n options,\n callback,\n ): Promise<ActionResult> => {\n const service = getAcpService(runtime);\n if (!service) {\n await callbackText(callback, \"PTY Service is not available.\");\n return errorResult(\"SERVICE_UNAVAILABLE\");\n }\n\n try {\n const params = paramsRecord(options as HandlerOptionsLike | undefined);\n const content = contentRecord(message);\n const all = pickBoolean(params, content, \"all\") ?? false;\n const sessions = await Promise.resolve(service.listSessions());\n\n if (all) {\n await Promise.all(\n sessions.map((session) => service.stopSession(session.id)),\n );\n if (state)\n (\n state as unknown as {\n codingSession?: unknown;\n codingSessions?: unknown;\n }\n ).codingSession = undefined;\n if (state)\n (state as unknown as { codingSessions?: unknown }).codingSessions =\n [];\n const text = `Stopped ${sessions.length} sessions`;\n await callbackText(callback, text);\n return { success: true, text, data: { stoppedCount: sessions.length } };\n }\n\n const requestedId =\n pickString(params, content, \"sessionId\") ??\n (state as unknown as { codingSession?: { id?: string } } | undefined)\n ?.codingSession?.id;\n const target = requestedId\n ? await Promise.resolve(service.getSession(requestedId))\n : newestSession(sessions);\n\n if (!target) {\n if (requestedId) {\n const text = `Session ${requestedId} not found.`;\n await callbackText(callback, text);\n return errorResult(\"SESSION_NOT_FOUND\");\n }\n await callbackText(callback, \"No sessions to stop\");\n return { success: true, text: \"No sessions to stop\" };\n }\n\n await service.stopSession(target.id);\n if (\n (state as unknown as { codingSession?: { id?: string } } | undefined)\n ?.codingSession?.id === target.id\n ) {\n (state as unknown as { codingSession?: unknown }).codingSession =\n undefined;\n }\n await callbackText(callback, `Stopped task-agent session ${target.id}.`);\n return {\n success: true,\n text: `Stopped session ${target.id}`,\n data: { sessionId: target.id, agentType: String(target.agentType) },\n };\n } catch (error) {\n const msg = failureMessage(error);\n await callbackText(callback, `Failed to stop agent: ${msg}`);\n return { success: false, error: msg };\n }\n },\n};\n\nexport const stopTaskAgentAction = stopAgentAction;\n",
|
|
17
|
+
"import type { IAgentRuntime, Memory, Provider, State } from \"@elizaos/core\";\nimport { getAcpService } from \"../actions/common.js\";\nimport type { SessionInfo } from \"../services/types.js\";\n\nconst TERMINAL_STATUSES = new Set([\n \"stopped\",\n \"completed\",\n \"error\",\n \"errored\",\n \"cancelled\",\n]);\n\nconst PROVIDER_NAME = \"ACTIVE_SUB_AGENTS\";\n\n/**\n * Stable view of active ACPX sub-agent sessions, sorted by sessionId so the\n * provider text is deterministic across turns. Only sessions that carry\n * origin metadata (i.e. were spawned by CREATE_TASK with a roomId/userId\n * to route back to) are included — these are the sessions the SubAgentRouter\n * will post messages from.\n *\n * Cache strategy: text contains structural state only (id, label, agentType,\n * status, workdir-tail). Live message content is delivered via the synthetic\n * Memory the router posts, NOT through this provider, so prefix cache hits\n * stay high turn-over-turn.\n */\nexport const activeSubAgentsProvider: Provider = {\n name: PROVIDER_NAME,\n description:\n \"Active ACPX sub-agent sessions the main agent can reply to via SEND_TO_AGENT or terminate via STOP_AGENT.\",\n dynamic: true,\n position: 0,\n relevanceKeywords: [\n \"sub-agent\",\n \"sub agent\",\n \"subagent\",\n \"task agent\",\n \"coding agent\",\n \"acpx\",\n ],\n get: async (runtime: IAgentRuntime, _message: Memory, _state: State) => {\n const service = getAcpService(runtime);\n if (!service || typeof service.listSessions !== \"function\") {\n return emptyResult();\n }\n const all = await Promise.resolve(service.listSessions()).catch(\n () => [] as SessionInfo[],\n );\n const routed = (Array.isArray(all) ? all : [])\n .filter(hasOrigin)\n .filter((s) => !TERMINAL_STATUSES.has(s.status));\n if (routed.length === 0) return emptyResult();\n\n routed.sort((a, b) => a.id.localeCompare(b.id));\n\n const lines = [\n \"## Active sub-agent sessions\",\n \"Each line is a live sub-agent. Reply to one with SEND_TO_AGENT { sessionId, text }; terminate with STOP_AGENT { sessionId }. Replying to the user uses the standard REPLY action; you may do both in one turn.\",\n ];\n for (const session of routed) {\n lines.push(formatLine(session));\n }\n const text = lines.join(\"\\n\");\n\n return {\n text,\n values: { activeSubAgents: text },\n data: {\n sessions: routed.map((s) => ({\n sessionId: s.id,\n label: labelOf(s),\n agentType: s.agentType,\n status: s.status,\n workdirTail: workdirTail(s.workdir),\n originRoomId: (s.metadata as Record<string, unknown> | undefined)\n ?.roomId,\n originUserId: (s.metadata as Record<string, unknown> | undefined)\n ?.userId,\n })),\n },\n };\n },\n};\n\nfunction emptyResult() {\n return {\n text: \"\",\n values: { activeSubAgents: \"\" },\n data: { sessions: [] },\n };\n}\n\nfunction hasOrigin(session: SessionInfo): boolean {\n const meta = session.metadata as Record<string, unknown> | undefined;\n if (!meta) return false;\n const roomId = meta.roomId;\n return typeof roomId === \"string\" && roomId.length > 0;\n}\n\nfunction formatLine(session: SessionInfo): string {\n const label = labelOf(session);\n const tail = workdirTail(session.workdir);\n return `- [${label}] sessionId=${session.id} agentType=${session.agentType} status=${session.status} workdir=…${tail}`;\n}\n\nfunction labelOf(session: SessionInfo): string {\n const meta = session.metadata as Record<string, unknown> | undefined;\n if (meta && typeof meta.label === \"string\" && meta.label.trim()) {\n return meta.label;\n }\n return session.name || session.id;\n}\n\nfunction workdirTail(workdir: string): string {\n if (!workdir) return \"\";\n const parts = workdir.split(\"/\").filter(Boolean);\n return parts.slice(-2).join(\"/\");\n}\n",
|
|
18
|
+
"import type { IAgentRuntime, Memory, Provider, State } from \"@elizaos/core\";\nimport {\n getAcpService,\n labelFor,\n listSessionsWithin,\n shortId,\n} from \"../actions/common.js\";\n\nexport const availableAgentsProvider: Provider = {\n name: \"AVAILABLE_AGENTS\",\n description:\n \"Live status of available acpx task-agent adapters and active sessions.\",\n dynamic: true,\n position: 1,\n relevanceKeywords: [\"agent\", \"task\", \"coding\", \"session\", \"acp\"],\n get: async (runtime: IAgentRuntime, _message: Memory, _state: State) => {\n const service = getAcpService(runtime);\n if (!service) {\n const text =\n \"# acpx task agents\\n@elizaos/plugin-acpx task-agent service is not available.\";\n return {\n text,\n values: { availableAgents: text },\n data: { agents: [], activeSessions: [], serviceAvailable: false },\n };\n }\n\n const [agents, sessions] = await Promise.all([\n service.checkAvailableAgents?.() ??\n service.getAvailableAgents?.() ??\n Promise.resolve([]),\n listSessionsWithin(service, 2000),\n ]);\n\n const lines = [\"# acpx task agents\"];\n if (agents.length > 0) {\n lines.push(\"\", \"## Available adapters\");\n for (const agent of agents) {\n const auth = agent.auth?.status ? `, auth: ${agent.auth.status}` : \"\";\n lines.push(\n `- ${agent.agentType ?? agent.adapter}: ${agent.installed ? \"installed\" : \"not installed\"}${auth}`,\n );\n }\n } else {\n lines.push(\n \"No adapter inventory available. Defaulting to acpx runtime selection.\",\n );\n }\n\n if (sessions.length > 0) {\n lines.push(\"\", `## Active sessions (${sessions.length})`);\n for (const session of sessions) {\n lines.push(\n `- ${labelFor(session)} [${shortId(session.id)}] ${session.agentType} ${session.status} in ${session.workdir}`,\n );\n }\n } else {\n lines.push(\"\", \"No active task-agent sessions.\");\n }\n\n const text = lines.join(\"\\n\");\n return {\n text,\n values: { availableAgents: text },\n data: {\n agents,\n activeSessions: sessions.map((session) => ({\n id: session.id,\n label: labelFor(session),\n agentType: session.agentType,\n status: session.status,\n workdir: session.workdir,\n })),\n serviceAvailable: true,\n },\n };\n },\n};\n\nexport const acpAvailableAgentsProvider = availableAgentsProvider;\n",
|
|
19
|
+
"import { type ChildProcessWithoutNullStreams, spawn } from \"node:child_process\";\nimport { randomUUID } from \"node:crypto\";\nimport { mkdir } from \"node:fs/promises\";\nimport { tmpdir } from \"node:os\";\nimport { join, resolve } from \"node:path\";\nimport type { IAgentRuntime } from \"@elizaos/core\";\nimport {\n AcpSessionStore,\n InMemorySessionStore,\n type SessionStoreBackend,\n} from \"./session-store.js\";\nimport type {\n AcpEventCallback,\n AcpJsonRpcMessage,\n AcpToolCall,\n AgentType,\n ApprovalPreset,\n AvailableAgentInfo,\n PromptResult,\n SendOptions,\n SessionEventCallback,\n SessionEventName,\n SessionInfo,\n SessionStore,\n SpawnOptions,\n SpawnResult,\n} from \"./types.js\";\n\ntype RuntimeLike = IAgentRuntime & {\n logger?: Partial<\n Record<\n \"debug\" | \"info\" | \"warn\" | \"error\",\n (message: string, data?: unknown) => void\n >\n >;\n services?: Map<string, unknown[]>;\n databaseAdapter?: unknown;\n getSetting?: (key: string) => string | undefined | null;\n};\ntype RuntimeLogger = NonNullable<RuntimeLike[\"logger\"]>;\ntype ProcessRecord = {\n proc: ChildProcessWithoutNullStreams;\n stderr: string;\n stdoutBuffer: string;\n killedByService: boolean;\n cancelled: boolean;\n exited: boolean;\n killTimer?: ReturnType<typeof setTimeout>;\n};\n\ntype RunOptions = {\n sessionId?: string;\n sessionName?: string;\n agentType: AgentType;\n workdir: string;\n args: string[];\n env?: Record<string, string | undefined>;\n promptPreview?: string;\n promptLength?: number;\n timeoutMs?: number;\n activeForSession?: boolean;\n};\n\ntype RunResult = {\n code: number | null;\n signal: NodeJS.Signals | null;\n stderr: string;\n finalText: string;\n stopReason?: string;\n cancelled?: boolean;\n durationMs: number;\n};\n\nconst STDERR_CAP_BYTES = 64 * 1024;\nconst KILL_GRACE_MS = 5_000;\nconst DEFAULT_WORKDIR_ROOT = join(tmpdir(), \"eliza-acp\");\nconst DEFAULT_AGENTS = [\"codex\", \"claude\", \"gemini\", \"aider\", \"pi\"];\nconst DENY_ENV_PATTERNS = [\n /DISCORD.*TOKEN/i,\n /TELEGRAM.*TOKEN/i,\n /SLACK.*TOKEN/i,\n /BOT.*TOKEN/i,\n /MILADY_VAULT_PASSPHRASE/i,\n];\n\nexport class AcpService {\n static serviceType = \"ACP_SUBPROCESS_SERVICE\";\n static compatType = \"PTY_SERVICE\";\n\n capabilityDescription =\n \"Manages asynchronous ACPX task-agent sessions for open-ended background work\";\n\n readonly defaultApprovalPreset: ApprovalPreset;\n readonly agentSelectionStrategy: string;\n\n private readonly runtime: RuntimeLike;\n private readonly logger: RuntimeLogger;\n private readonly store: SessionStore;\n private readonly cliPath: string;\n private readonly defaultAgent: AgentType;\n private readonly maxSessions: number;\n private readonly sessionTimeoutMs?: number;\n private readonly sessionCallbacks: SessionEventCallback[] = [];\n private readonly acpCallbacks: AcpEventCallback[] = [];\n private readonly activeProcesses = new Map<string, ProcessRecord>();\n private readonly outputBuffers = new Map<string, string[]>();\n private started = false;\n\n constructor(runtime: IAgentRuntime, opts: { store?: SessionStore } = {}) {\n this.runtime = runtime as RuntimeLike;\n this.logger = (this.runtime.logger ?? {}) as RuntimeLogger;\n this.store = opts.store ?? new InMemorySessionStore();\n this.cliPath = this.setting(\"ELIZA_ACP_CLI\") ?? \"acpx\";\n this.defaultAgent =\n this.setting(\"ELIZA_ACP_DEFAULT_AGENT\") ??\n this.setting(\"PARALLAX_DEFAULT_AGENT_TYPE\") ??\n \"codex\";\n this.defaultApprovalPreset = normalizeApprovalPreset(\n boolSetting(this.setting(\"ACPX_APPROVE_ALL\")) === true\n ? \"approve-all\"\n : // Public parity-spec name first; PRESET kept for backward compatibility with early drafts.\n (this.setting(\"ELIZA_ACP_DEFAULT_APPROVAL\") ??\n this.setting(\"ELIZA_ACP_DEFAULT_APPROVAL_PRESET\") ??\n this.setting(\"PARALLAX_DEFAULT_APPROVAL_PRESET\")),\n );\n this.agentSelectionStrategy =\n this.setting(\"ELIZA_ACP_AGENT_SELECTION_STRATEGY\") ??\n this.setting(\"PARALLAX_AGENT_SELECTION_STRATEGY\") ??\n \"fixed\";\n this.maxSessions =\n parsePositiveInt(this.setting(\"ELIZA_ACP_MAX_SESSIONS\")) ?? 8;\n this.sessionTimeoutMs = parsePositiveInt(\n this.setting(\"ACPX_DEFAULT_TIMEOUT_MS\") ??\n // Public parity-spec name first; SESSION kept for backward compatibility with early drafts.\n this.setting(\"ELIZA_ACP_PROMPT_TIMEOUT_MS\") ??\n this.setting(\"ELIZA_ACP_SESSION_TIMEOUT_MS\"),\n );\n }\n\n static async start(runtime: IAgentRuntime): Promise<AcpService> {\n const service = new AcpService(runtime, {\n store: createDefaultSessionStore(runtime as RuntimeLike),\n });\n await service.start();\n const servicesMap = runtime.services as Map<string, unknown[]> | undefined;\n if (\n servicesMap &&\n process.env.ELIZA_ACP_REGISTER_AS_PTY_SERVICE !== \"false\"\n ) {\n const existing = servicesMap.get(AcpService.compatType);\n if (!existing || existing.length === 0) {\n servicesMap.set(AcpService.compatType, [service]);\n }\n }\n return service;\n }\n\n async start(): Promise<void> {\n this.started = true;\n this.log(\"debug\", \"AcpService initialized\", {\n cliPath: this.cliPath,\n defaultAgent: this.defaultAgent,\n defaultApprovalPreset: this.defaultApprovalPreset,\n });\n }\n\n async stop(): Promise<void> {\n const stops = Array.from(this.activeProcesses.keys()).map((sessionId) =>\n this.stopTrackedProcess(sessionId),\n );\n await Promise.allSettled(stops);\n this.started = false;\n }\n\n async spawnSession(opts: SpawnOptions): Promise<SpawnResult> {\n this.ensureStarted();\n const id = randomUUID();\n const name = opts.name?.trim() || id;\n const agentType = opts.agentType ?? this.defaultAgent;\n const approvalPreset = opts.approvalPreset ?? this.defaultApprovalPreset;\n const workdir = resolve(\n opts.workdir ??\n // Public parity-spec name first; WORKDIR kept for backward compatibility with early drafts.\n this.setting(\"ACPX_DEFAULT_CWD\") ??\n this.setting(\"ELIZA_ACP_WORKSPACE_ROOT\") ??\n this.setting(\"ELIZA_ACP_WORKDIR_ROOT\") ??\n this.setting(\"PARALLAX_CODING_DIRECTORY\") ??\n DEFAULT_WORKDIR_ROOT,\n );\n await mkdir(workdir, { recursive: true });\n await this.enforceSessionLimit();\n\n const now = new Date();\n const session: SessionInfo = {\n id,\n name,\n agentType,\n workdir,\n status: \"running\",\n approvalPreset,\n createdAt: now,\n lastActivityAt: now,\n metadata: opts.metadata,\n };\n await this.store.create(session);\n\n const args = this.baseArgs({\n workdir,\n approvalPreset,\n timeoutMs: opts.timeoutMs,\n model: opts.model,\n });\n args.push(agentType, \"sessions\", \"new\", \"--name\", name);\n const result = await this.runAcpx({\n sessionId: id,\n sessionName: name,\n agentType,\n workdir,\n args,\n env: this.buildEnv(\n opts.env,\n opts.customCredentials,\n opts.model,\n agentType,\n ),\n });\n\n if (result.code !== 0) {\n const message = this.classifyExitError(result.code, result.stderr);\n await this.store.updateStatus(id, \"errored\", message);\n this.emitSessionEvent(id, \"error\", {\n message,\n exitCode: result.code,\n stderr: result.stderr,\n });\n throw new Error(message);\n }\n\n const readyPatch: Partial<SessionInfo> = {\n status: \"ready\",\n pid: undefined,\n lastActivityAt: new Date(),\n };\n await this.store.update(id, readyPatch);\n this.emitSessionEvent(id, \"ready\", {\n sessionId: id,\n name,\n agentType,\n workdir,\n });\n\n if (opts.initialTask?.trim()) {\n void this.sendPrompt(id, opts.initialTask, {\n timeoutMs: opts.timeoutMs,\n model: opts.model,\n }).catch((err: unknown) => {\n this.log(\"error\", \"initial prompt failed\", {\n sessionId: id,\n agentType,\n promptLength: opts.initialTask?.length ?? 0,\n promptPreview: preview(opts.initialTask ?? \"\"),\n error: errorMessage(err),\n });\n });\n }\n\n const updated = await this.store.get(id);\n const fallback: SessionInfo = { ...session, status: \"ready\" };\n return toSpawnResult(updated ?? fallback);\n }\n\n async sendPrompt(\n sessionId: string,\n text: string,\n opts: SendOptions = {},\n ): Promise<PromptResult> {\n this.ensureStarted();\n const session = await this.requireSession(sessionId);\n const startedAt = Date.now();\n await this.store.updateStatus(sessionId, \"busy\");\n const args = this.baseArgs({\n workdir: session.workdir,\n approvalPreset: session.approvalPreset,\n timeoutMs: opts.timeoutMs ?? this.sessionTimeoutMs,\n model: opts.model,\n });\n args.push(\n session.agentType,\n \"prompt\",\n \"-s\",\n session.name ?? session.id,\n text,\n );\n\n const result = await this.runAcpx({\n sessionId,\n sessionName: session.name ?? session.id,\n agentType: session.agentType,\n workdir: session.workdir,\n args,\n env: this.buildEnv(opts.env, undefined, opts.model, session.agentType),\n promptPreview: preview(text),\n promptLength: text.length,\n timeoutMs: opts.timeoutMs,\n activeForSession: true,\n });\n\n const stopReason =\n result.stopReason ??\n (result.cancelled\n ? \"cancelled\"\n : result.code === 0\n ? \"end_turn\"\n : \"error\");\n const promptResult: PromptResult = {\n sessionId,\n response: result.finalText,\n finalText: result.finalText,\n stopReason,\n durationMs: result.durationMs || Date.now() - startedAt,\n exitCode: result.code,\n signal: result.signal,\n ...(result.code !== 0 && !result.cancelled\n ? { error: this.classifyExitError(result.code, result.stderr) }\n : {}),\n };\n\n if (result.cancelled || stopReason === \"cancelled\") {\n await this.store.updateStatus(sessionId, \"cancelled\");\n return promptResult;\n }\n\n if (result.code === 0 && stopReason !== \"error\") {\n await this.store.update(sessionId, {\n status: \"ready\",\n lastActivityAt: new Date(),\n });\n return promptResult;\n }\n\n const message =\n promptResult.error ?? `acpx prompt failed with stopReason ${stopReason}`;\n await this.store.updateStatus(sessionId, \"errored\", message);\n this.emitSessionEvent(sessionId, \"error\", {\n message,\n stopReason,\n failureKind: isAuthText(result.stderr) ? \"auth\" : undefined,\n });\n return promptResult;\n }\n\n async cancelSession(sessionId: string): Promise<void> {\n const session = await this.requireSession(sessionId);\n const active = this.activeProcesses.get(sessionId);\n if (active) {\n active.cancelled = true;\n this.terminateProcess(sessionId, active);\n } else {\n const args = [\n session.agentType,\n \"cancel\",\n \"-s\",\n session.name ?? session.id,\n ];\n await this.runAcpx({\n sessionId,\n agentType: session.agentType,\n workdir: session.workdir,\n args,\n });\n }\n await this.store.updateStatus(sessionId, \"cancelled\");\n }\n\n async closeSession(sessionId: string): Promise<void> {\n const session = await this.requireSession(sessionId);\n await this.stopTrackedProcess(sessionId);\n const args = [\n \"--format\",\n \"json\",\n \"--cwd\",\n session.workdir,\n session.agentType,\n \"sessions\",\n \"close\",\n session.name ?? session.id,\n ];\n await this.runAcpx({\n sessionId,\n agentType: session.agentType,\n workdir: session.workdir,\n args,\n });\n await this.store.updateStatus(sessionId, \"stopped\");\n this.emitSessionEvent(sessionId, \"stopped\", {\n sessionId,\n response: this.lastOutput(sessionId),\n });\n }\n\n async deleteSession(sessionId: string): Promise<void> {\n await this.closeSession(sessionId).catch((err: unknown) => {\n this.log(\"warn\", \"deleteSession close failed\", {\n sessionId,\n error: errorMessage(err),\n });\n });\n await this.store.delete(sessionId);\n this.outputBuffers.delete(sessionId);\n }\n\n async listSessions(): Promise<SessionInfo[]> {\n return this.store.list();\n }\n\n async getSession(sessionId: string): Promise<SessionInfo | undefined> {\n const session = await this.store.get(sessionId);\n return session ?? undefined;\n }\n\n onSessionEvent(handler: SessionEventCallback): () => void {\n this.sessionCallbacks.push(handler);\n return () => {\n const index = this.sessionCallbacks.indexOf(handler);\n if (index >= 0) this.sessionCallbacks.splice(index, 1);\n };\n }\n\n onAcpEvent(handler: AcpEventCallback): () => void {\n this.acpCallbacks.push(handler);\n return () => {\n const index = this.acpCallbacks.indexOf(handler);\n if (index >= 0) this.acpCallbacks.splice(index, 1);\n };\n }\n\n async reattachSession(sessionId: string): Promise<SpawnResult> {\n const session = await this.requireSession(sessionId);\n if (session.pid && isPidAlive(session.pid)) {\n await this.store.updateStatus(sessionId, \"ready\");\n return toSpawnResult({ ...session, status: \"ready\" });\n }\n const respawn = await this.spawnSession({\n name: session.name ?? session.id,\n agentType: session.agentType,\n workdir: session.workdir,\n approvalPreset: session.approvalPreset,\n metadata: { ...session.metadata, reattachedFrom: session.id },\n });\n await this.store.update(sessionId, {\n status: \"stopped\",\n lastActivityAt: new Date(),\n });\n this.emitSessionEvent(respawn.sessionId, \"reconnected\", {\n previousSessionId: sessionId,\n });\n return respawn;\n }\n\n async getAvailableAgents(): Promise<AvailableAgentInfo[]> {\n return DEFAULT_AGENTS.map((agentType) => ({\n adapter: agentType,\n agentType,\n installed: true,\n auth: { status: \"unknown\" },\n }));\n }\n\n async checkAvailableAgents(types?: string[]): Promise<AvailableAgentInfo[]> {\n const available = await this.getAvailableAgents();\n return types?.length\n ? available.filter((a) => types.includes(String(a.agentType)))\n : available;\n }\n\n async resolveAgentType(): Promise<string> {\n return String(this.defaultAgent);\n }\n\n async sendToSession(sessionId: string, input: string): Promise<PromptResult> {\n return this.sendPrompt(sessionId, input);\n }\n\n async sendKeysToSession(): Promise<void> {\n // TODO(W4): clarify with W6 how key events should map onto non-PTY acpx sessions.\n }\n\n async stopSession(sessionId: string): Promise<void> {\n await this.closeSession(sessionId);\n }\n\n subscribeToOutput(\n sessionId: string,\n callback: (data: string) => void,\n ): () => void {\n for (const line of this.outputBuffers.get(sessionId) ?? []) callback(line);\n return () => undefined;\n }\n\n async getSessionOutput(sessionId: string, lines = 200): Promise<string> {\n return (this.outputBuffers.get(sessionId) ?? []).slice(-lines).join(\"\");\n }\n\n private baseArgs(opts: {\n workdir: string;\n approvalPreset: ApprovalPreset;\n timeoutMs?: number;\n model?: string;\n }): string[] {\n const format = this.setting(\"ACPX_FORMAT\") ?? \"json\";\n const args = [\n \"--format\",\n format,\n \"--cwd\",\n opts.workdir,\n ...approvalArgs(opts.approvalPreset),\n ];\n if (boolSetting(this.setting(\"ACPX_NO_TERMINAL\")) !== false)\n args.push(\"--no-terminal\");\n const timeoutMs = opts.timeoutMs ?? this.sessionTimeoutMs;\n if (timeoutMs && timeoutMs > 0)\n args.push(\"--timeout\", String(timeoutMs / 1000));\n if (opts.model) args.push(\"--model\", opts.model);\n return args;\n }\n\n private runAcpx(opts: RunOptions): Promise<RunResult> {\n const startedAt = Date.now();\n let finalText = \"\";\n let stopReason: string | undefined;\n return new Promise((resolveRun) => {\n const proc = spawn(this.cliPath, opts.args, {\n cwd: opts.workdir,\n env: this.buildEnv(opts.env),\n stdio: [\"pipe\", \"pipe\", \"pipe\"],\n });\n const record: ProcessRecord = {\n proc,\n stderr: \"\",\n stdoutBuffer: \"\",\n killedByService: false,\n cancelled: false,\n exited: false,\n };\n if (opts.activeForSession && opts.sessionId)\n this.activeProcesses.set(opts.sessionId, record);\n\n proc.stdout.on(\"data\", (chunk: Buffer) => {\n record.stdoutBuffer += chunk.toString(\"utf8\");\n let newlineIndex = record.stdoutBuffer.indexOf(\"\\n\");\n while (newlineIndex >= 0) {\n const line = record.stdoutBuffer.slice(0, newlineIndex).trim();\n record.stdoutBuffer = record.stdoutBuffer.slice(newlineIndex + 1);\n if (line) {\n const parsed = this.parseNdjson(line, opts.sessionId);\n if (parsed) {\n const handled = this.handleAcpEvent(\n parsed,\n opts.sessionId,\n finalText,\n startedAt,\n );\n finalText = handled.finalText;\n stopReason = handled.stopReason ?? stopReason;\n }\n }\n newlineIndex = record.stdoutBuffer.indexOf(\"\\n\");\n }\n });\n\n proc.stderr.on(\"data\", (chunk: Buffer) => {\n record.stderr = capStderr(record.stderr + chunk.toString(\"utf8\"));\n });\n\n proc.on(\"error\", (err: NodeJS.ErrnoException) => {\n record.stderr = capStderr(record.stderr + errorMessage(err));\n if (err.code === \"ENOENT\") {\n const message = `acpx CLI not found at ${this.cliPath}. Set ELIZA_ACP_CLI or npm install -g acpx@latest.`;\n record.stderr = capStderr(`${record.stderr}\\n${message}`);\n if (opts.sessionId)\n this.emitSessionEvent(opts.sessionId, \"error\", {\n message,\n failureKind: \"not_found\",\n });\n }\n });\n\n proc.on(\"close\", (code, signal) => {\n record.exited = true;\n if (record.stdoutBuffer.trim()) {\n const parsed = this.parseNdjson(\n record.stdoutBuffer.trim(),\n opts.sessionId,\n );\n if (parsed) {\n const handled = this.handleAcpEvent(\n parsed,\n opts.sessionId,\n finalText,\n startedAt,\n );\n finalText = handled.finalText;\n stopReason = handled.stopReason ?? stopReason;\n }\n }\n if (\n opts.sessionId &&\n this.activeProcesses.get(opts.sessionId) === record\n ) {\n this.activeProcesses.delete(opts.sessionId);\n }\n if (record.killTimer) clearTimeout(record.killTimer);\n if (\n opts.sessionId &&\n !record.cancelled &&\n code !== 0 &&\n isAuthText(record.stderr)\n ) {\n this.emitSessionEvent(opts.sessionId, \"error\", {\n message: this.classifyExitError(code, record.stderr),\n failureKind: \"auth\",\n });\n }\n if (opts.sessionId && opts.activeForSession) {\n const event = record.cancelled ? \"cancelled\" : \"stopped\";\n this.emitSessionEvent(opts.sessionId, event, {\n sessionId: opts.sessionId,\n response: finalText,\n exitCode: code,\n signal,\n });\n }\n resolveRun({\n code,\n signal,\n stderr: record.stderr,\n finalText,\n stopReason: record.cancelled ? \"cancelled\" : stopReason,\n cancelled: record.cancelled,\n durationMs: Date.now() - startedAt,\n });\n });\n\n if (opts.timeoutMs && opts.timeoutMs > 0) {\n setTimeout(() => {\n if (!proc.killed) this.terminateProcess(opts.sessionId ?? \"\", record);\n }, opts.timeoutMs).unref?.();\n }\n });\n }\n\n private parseNdjson(\n line: string,\n sessionId?: string,\n ): AcpJsonRpcMessage | null {\n try {\n return JSON.parse(line) as AcpJsonRpcMessage;\n } catch {\n this.log(\"warn\", \"malformed acpx NDJSON line ignored\", {\n sessionId,\n line: line.slice(0, 200),\n });\n return null;\n }\n }\n\n private handleAcpEvent(\n event: AcpJsonRpcMessage,\n fallbackSessionId: string | undefined,\n currentFinalText: string,\n startedAt: number,\n ): { finalText: string; stopReason?: string } {\n const protocolSessionId = extractSessionId(event);\n const sessionId = fallbackSessionId ?? protocolSessionId;\n if (\n fallbackSessionId &&\n protocolSessionId &&\n protocolSessionId !== fallbackSessionId\n ) {\n void this.store\n .update(fallbackSessionId, { acpxSessionId: protocolSessionId })\n .catch(() => undefined);\n }\n for (const callback of this.acpCallbacks) callback(event, sessionId);\n const method = typeof event.method === \"string\" ? event.method : undefined;\n const params = asRecord(event.params);\n const result = asRecord(event.result);\n let finalText = currentFinalText;\n let stopReason: string | undefined;\n\n // Real ACP wraps session/update payload under params.update.{sessionUpdate,...}\n // Some adapters put fields at params.* directly. Look in both places.\n const updateBlock = asRecord(params?.update) ?? params;\n const sessionUpdate = updateBlock?.sessionUpdate ?? params?.sessionUpdate;\n\n if (\n sessionId &&\n (method === \"session_started\" || sessionUpdate === \"session_started\")\n ) {\n this.emitSessionEvent(sessionId, \"ready\", { event });\n }\n\n if (sessionId && method === \"permission/request\") {\n const description = stringifyMaybe(\n params?.description ?? params?.message ?? \"permission required\",\n );\n this.emitSessionEvent(sessionId, \"blocked\", {\n message: description,\n request: params,\n });\n if (isAuthText(description))\n this.emitSessionEvent(sessionId, \"login_required\", {\n message: description,\n request: params,\n });\n void this.store.updateStatus(sessionId, \"blocked\").catch(() => undefined);\n }\n\n if (sessionId && method === \"session/update\") {\n // agent_message_chunk: content.text streams\n const content = asRecord(updateBlock?.content);\n if (\n sessionUpdate === \"agent_message_chunk\" &&\n content?.type === \"text\" &&\n typeof content.text === \"string\"\n ) {\n finalText += content.text;\n this.appendOutput(sessionId, content.text);\n this.emitSessionEvent(sessionId, \"message\", { text: content.text });\n }\n // Legacy/other adapters may put text directly at content level (no agent_message_chunk wrapper)\n else if (\n !sessionUpdate &&\n content?.type === \"text\" &&\n typeof content.text === \"string\"\n ) {\n finalText += content.text;\n this.appendOutput(sessionId, content.text);\n this.emitSessionEvent(sessionId, \"message\", { text: content.text });\n }\n // tool_call: emit tool_running while in_progress; ignore in_progress -> failed/completed transitions don't need re-emit\n if (\n sessionUpdate === \"tool_call\" ||\n sessionUpdate === \"tool_call_update\"\n ) {\n const status = stringifyMaybe(updateBlock?.status);\n const toolCall: AcpToolCall = {\n id: stringifyMaybe(updateBlock?.toolCallId ?? updateBlock?.id) ?? \"\",\n title: stringifyMaybe(updateBlock?.title) ?? \"\",\n status: (status as AcpToolCall[\"status\"]) ?? \"running\",\n output: stringifyMaybe(updateBlock?.rawOutput),\n };\n if (status === \"in_progress\" || status === \"running\") {\n this.emitSessionEvent(sessionId, \"tool_running\", { toolCall });\n void this.store\n .updateStatus(sessionId, \"tool_running\")\n .catch(() => undefined);\n }\n }\n // usage_update is informational; we don't currently surface it but could log\n // available_commands_update is metadata; ignore for now\n }\n\n if (sessionId && result && typeof result.stopReason === \"string\") {\n stopReason = result.stopReason;\n if (stopReason === \"end_turn\") {\n this.emitSessionEvent(sessionId, \"task_complete\", {\n response: finalText,\n durationMs: Date.now() - startedAt,\n stopReason,\n });\n } else if (stopReason === \"error\") {\n this.emitSessionEvent(sessionId, \"error\", {\n message: \"acpx prompt ended with stopReason error\",\n stopReason,\n });\n }\n }\n\n if (sessionId && event.error && typeof event.error === \"object\") {\n const message = errorMessage(\n (event.error as { message?: unknown }).message ?? event.error,\n );\n this.emitSessionEvent(sessionId, \"error\", { message });\n }\n\n return { finalText, stopReason };\n }\n\n private emitSessionEvent(\n sessionId: string,\n event: SessionEventName,\n data: unknown,\n ): void {\n for (const callback of [...this.sessionCallbacks]) {\n try {\n callback(sessionId, event, data);\n } catch (err) {\n this.log(\"warn\", \"session event callback failed\", {\n sessionId,\n event,\n error: errorMessage(err),\n });\n }\n }\n }\n\n private async requireSession(sessionId: string): Promise<SessionInfo> {\n const session = await this.store.get(sessionId);\n if (!session) throw new Error(`acpx session not found: ${sessionId}`);\n return session;\n }\n\n private async enforceSessionLimit(): Promise<void> {\n const sessions = await this.store.list();\n const active = sessions.filter(\n (s) =>\n ![\"stopped\", \"errored\", \"completed\", \"cancelled\"].includes(s.status),\n );\n if (active.length >= this.maxSessions)\n throw new Error(`acpx max session limit reached (${this.maxSessions})`);\n }\n\n private async stopTrackedProcess(sessionId: string): Promise<void> {\n const active = this.activeProcesses.get(sessionId);\n if (!active) return;\n this.terminateProcess(sessionId, active);\n await new Promise<void>((resolveStop) =>\n active.proc.once(\"close\", () => resolveStop()),\n );\n }\n\n private terminateProcess(_sessionId: string, record: ProcessRecord): void {\n record.killedByService = true;\n if (!record.exited) record.proc.kill(\"SIGTERM\");\n record.killTimer = setTimeout(() => {\n if (!record.exited) record.proc.kill(\"SIGKILL\");\n }, KILL_GRACE_MS);\n }\n\n private buildEnv(\n extra?: Record<string, string | undefined>,\n customCredentials?: Record<string, string | undefined>,\n model?: string,\n agentType?: AgentType,\n ): NodeJS.ProcessEnv {\n const env: NodeJS.ProcessEnv = {};\n for (const [key, value] of Object.entries(process.env)) {\n if (typeof value !== \"string\") continue;\n if (DENY_ENV_PATTERNS.some((pattern) => pattern.test(key))) continue;\n if (shouldForwardEnv(key)) env[key] = value;\n }\n for (const [key, value] of Object.entries(customCredentials ?? {})) {\n if (typeof value === \"string\") env[key] = value;\n }\n for (const [key, value] of Object.entries(extra ?? {})) {\n if (typeof value === \"string\") env[key] = value;\n }\n if (model) {\n env.OPENAI_MODEL = model;\n if (agentType === \"claude\") env.ANTHROPIC_MODEL = model;\n if (agentType === \"gemini\") env.GEMINI_MODEL = model;\n }\n return env;\n }\n\n private classifyExitError(code: number | null, stderr: string): string {\n if (code === 1 && isAuthText(stderr))\n return \"acpx auth failed. Re-authenticate the selected agent or set ACPX_AUTH_* credentials.\";\n if (code === 4)\n return \"acpx session was not found. This is likely an internal session bookkeeping error.\";\n if (code === 5) return \"acpx permission denied.\";\n if (code === 3) return \"acpx prompt timed out.\";\n if (stderr.trim()) return stderr.trim().slice(0, 500);\n return `acpx subprocess exited with code ${code ?? \"unknown\"}`;\n }\n\n private lastOutput(sessionId: string): string {\n return (this.outputBuffers.get(sessionId) ?? []).join(\"\");\n }\n\n private appendOutput(sessionId: string, text: string): void {\n const buffer = this.outputBuffers.get(sessionId) ?? [];\n buffer.push(text);\n if (buffer.length > 2_000) buffer.splice(0, buffer.length - 2_000);\n this.outputBuffers.set(sessionId, buffer);\n }\n\n private setting(key: string): string | undefined {\n const fromRuntime = this.runtime.getSetting?.(key);\n if (typeof fromRuntime === \"string\" && fromRuntime.length > 0)\n return fromRuntime;\n const fromEnv = process.env[key];\n return fromEnv && fromEnv.length > 0 ? fromEnv : undefined;\n }\n\n private ensureStarted(): void {\n if (!this.started) throw new Error(\"AcpService not started\");\n }\n\n private log(\n level: \"debug\" | \"info\" | \"warn\" | \"error\",\n message: string,\n data?: unknown,\n ): void {\n const loggerFn = this.logger[level] as\n | ((message: string, data?: unknown) => void)\n | undefined;\n loggerFn?.call(this.logger, `[AcpService] ${message}`, data);\n }\n}\n\nexport { AcpService as AcpxSubprocessService };\n\nfunction approvalArgs(preset: ApprovalPreset): string[] {\n switch (preset) {\n case \"autonomous\":\n case \"permissive\":\n return [\"--approve-all\"];\n case \"readonly\":\n return [\"--deny-all\"];\n default:\n return [\"--approve-reads\", \"--non-interactive-permissions\", \"deny\"];\n }\n}\n\nfunction normalizeApprovalPreset(value: string | undefined): ApprovalPreset {\n const normalized = value?.trim().toLowerCase();\n if (\n normalized === \"readonly\" ||\n normalized === \"read-only\" ||\n normalized === \"deny-all\"\n )\n return \"readonly\";\n if (\n normalized === \"standard\" ||\n normalized === \"auto\" ||\n normalized === \"default\"\n )\n return \"standard\";\n if (\n normalized === \"permissive\" ||\n normalized === \"approve-all\" ||\n normalized === \"full-access\"\n )\n return \"permissive\";\n if (normalized === \"autonomous\") return \"autonomous\";\n return \"autonomous\";\n}\n\nfunction shouldForwardEnv(key: string): boolean {\n return (\n key === \"PATH\" ||\n key === \"HOME\" ||\n key === \"USER\" ||\n key === \"LANG\" ||\n key === \"LC_ALL\" ||\n key === \"LC_CTYPE\" ||\n key === \"TZ\" ||\n key === \"TERM\" ||\n key.startsWith(\"ACPX_AUTH_\") ||\n key.startsWith(\"ELIZA_\") ||\n key.startsWith(\"MILADY_\") ||\n [\n \"OPENAI_API_KEY\",\n \"ANTHROPIC_API_KEY\",\n \"GOOGLE_API_KEY\",\n \"GOOGLE_GENERATIVE_AI_API_KEY\",\n \"OPENAI_MODEL\",\n \"ANTHROPIC_MODEL\",\n \"GEMINI_MODEL\",\n \"CODEX_HOME\",\n ].includes(key)\n );\n}\n\nfunction extractSessionId(event: AcpJsonRpcMessage): string | undefined {\n const params = asRecord(event.params);\n const result = asRecord(event.result);\n const candidates = [\n params?.sessionId,\n params?.session_id,\n result?.sessionId,\n result?.acpxSessionId,\n (event as Record<string, unknown>).sessionId,\n ];\n return candidates.find(\n (candidate): candidate is string =>\n typeof candidate === \"string\" && candidate.length > 0,\n );\n}\n\nfunction asRecord(value: unknown): Record<string, unknown> | undefined {\n return value && typeof value === \"object\"\n ? (value as Record<string, unknown>)\n : undefined;\n}\n\nfunction stringifyMaybe(value: unknown): string {\n return typeof value === \"string\" ? value : JSON.stringify(value ?? \"\");\n}\n\nfunction isAuthText(text: string): boolean {\n return /authenticate|unauthorized|\\b401\\b|login|required auth|api key|invalid_grant/i.test(\n text,\n );\n}\n\nfunction capStderr(text: string): string {\n if (Buffer.byteLength(text, \"utf8\") <= STDERR_CAP_BYTES) return text;\n return text.slice(-STDERR_CAP_BYTES);\n}\n\nfunction preview(text: string): string {\n return text.replace(/\\s+/g, \" \").slice(0, 80);\n}\n\nfunction errorMessage(err: unknown): string {\n if (err instanceof Error) return err.message;\n if (typeof err === \"string\") return err;\n return JSON.stringify(err);\n}\n\nfunction parsePositiveInt(value: string | undefined): number | undefined {\n if (!value) return undefined;\n const parsed = Number.parseInt(value, 10);\n return Number.isFinite(parsed) && parsed > 0 ? parsed : undefined;\n}\n\nfunction boolSetting(value: string | undefined): boolean | undefined {\n if (value === undefined) return undefined;\n const normalized = value.trim().toLowerCase();\n if ([\"1\", \"true\", \"yes\", \"on\"].includes(normalized)) return true;\n if ([\"0\", \"false\", \"no\", \"off\"].includes(normalized)) return false;\n return undefined;\n}\n\nfunction createDefaultSessionStore(runtime: RuntimeLike): SessionStore {\n const runtimeForStore = {\n databaseAdapter: runtime.databaseAdapter,\n logger: runtime.logger,\n getSetting: (key: string) => {\n const value = runtime.getSetting?.(key);\n return typeof value === \"string\" ? value : undefined;\n },\n };\n return new AcpSessionStore({\n runtime: runtimeForStore,\n backend: parseSessionStoreBackend(\n runtimeForStore.getSetting(\"ELIZA_ACP_SESSION_STORE_BACKEND\") ??\n process.env.ELIZA_ACP_SESSION_STORE_BACKEND,\n ),\n });\n}\n\nfunction parseSessionStoreBackend(\n value: string | undefined | null,\n): SessionStoreBackend | undefined {\n const normalized = value?.trim().toLowerCase();\n if (\n normalized === \"runtime-db\" ||\n normalized === \"file\" ||\n normalized === \"memory\"\n ) {\n return normalized;\n }\n return undefined;\n}\n\nfunction isPidAlive(pid: number): boolean {\n try {\n process.kill(pid, 0);\n return true;\n } catch {\n return false;\n }\n}\n\nfunction toSpawnResult(session: SessionInfo): SpawnResult {\n return {\n sessionId: session.id,\n id: session.id,\n name: session.name ?? session.id,\n agentType: session.agentType,\n workdir: session.workdir,\n status: session.status,\n acpxRecordId: session.acpxRecordId,\n acpxSessionId: session.acpxSessionId,\n agentSessionId: session.agentSessionId,\n pid: session.pid,\n authReady: session.status !== \"errored\",\n metadata: session.metadata,\n };\n}\n",
|
|
20
|
+
"var endianness=function(){return\"LE\"},hostname=function(){if(typeof location<\"u\")return location.hostname;else return\"\"},loadavg=function(){return[]},uptime=function(){return 0},freemem=function(){return Number.MAX_VALUE},totalmem=function(){return Number.MAX_VALUE},cpus=function(){return[]},type=function(){return\"Browser\"},release=function(){if(typeof navigator<\"u\")return navigator.appVersion;return\"\"},getNetworkInterfaces=function(){return{}},networkInterfaces=getNetworkInterfaces,arch=function(){return\"javascript\"},platform=function(){return\"browser\"},tmpdir=function(){return\"/tmp\"},tmpDir=tmpdir,EOL=`\n`,homedir=function(){return\"/\"};export{uptime,type,totalmem,tmpdir,tmpDir,release,platform,networkInterfaces,loadavg,hostname,homedir,getNetworkInterfaces,freemem,endianness,cpus,arch,EOL};",
|
|
21
|
+
"function assertPath(path){if(typeof path!==\"string\")throw TypeError(\"Path must be a string. Received \"+JSON.stringify(path))}function normalizeStringPosix(path,allowAboveRoot){var res=\"\",lastSegmentLength=0,lastSlash=-1,dots=0,code;for(var i=0;i<=path.length;++i){if(i<path.length)code=path.charCodeAt(i);else if(code===47)break;else code=47;if(code===47){if(lastSlash===i-1||dots===1);else if(lastSlash!==i-1&&dots===2){if(res.length<2||lastSegmentLength!==2||res.charCodeAt(res.length-1)!==46||res.charCodeAt(res.length-2)!==46){if(res.length>2){var lastSlashIndex=res.lastIndexOf(\"/\");if(lastSlashIndex!==res.length-1){if(lastSlashIndex===-1)res=\"\",lastSegmentLength=0;else res=res.slice(0,lastSlashIndex),lastSegmentLength=res.length-1-res.lastIndexOf(\"/\");lastSlash=i,dots=0;continue}}else if(res.length===2||res.length===1){res=\"\",lastSegmentLength=0,lastSlash=i,dots=0;continue}}if(allowAboveRoot){if(res.length>0)res+=\"/..\";else res=\"..\";lastSegmentLength=2}}else{if(res.length>0)res+=\"/\"+path.slice(lastSlash+1,i);else res=path.slice(lastSlash+1,i);lastSegmentLength=i-lastSlash-1}lastSlash=i,dots=0}else if(code===46&&dots!==-1)++dots;else dots=-1}return res}function _format(sep,pathObject){var dir=pathObject.dir||pathObject.root,base=pathObject.base||(pathObject.name||\"\")+(pathObject.ext||\"\");if(!dir)return base;if(dir===pathObject.root)return dir+base;return dir+sep+base}function resolve(){var resolvedPath=\"\",resolvedAbsolute=!1,cwd;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path;if(i>=0)path=arguments[i];else{if(cwd===void 0)cwd=process.cwd();path=cwd}if(assertPath(path),path.length===0)continue;resolvedPath=path+\"/\"+resolvedPath,resolvedAbsolute=path.charCodeAt(0)===47}if(resolvedPath=normalizeStringPosix(resolvedPath,!resolvedAbsolute),resolvedAbsolute)if(resolvedPath.length>0)return\"/\"+resolvedPath;else return\"/\";else if(resolvedPath.length>0)return resolvedPath;else return\".\"}function normalize(path){if(assertPath(path),path.length===0)return\".\";var isAbsolute=path.charCodeAt(0)===47,trailingSeparator=path.charCodeAt(path.length-1)===47;if(path=normalizeStringPosix(path,!isAbsolute),path.length===0&&!isAbsolute)path=\".\";if(path.length>0&&trailingSeparator)path+=\"/\";if(isAbsolute)return\"/\"+path;return path}function isAbsolute(path){return assertPath(path),path.length>0&&path.charCodeAt(0)===47}function join(){if(arguments.length===0)return\".\";var joined;for(var i=0;i<arguments.length;++i){var arg=arguments[i];if(assertPath(arg),arg.length>0)if(joined===void 0)joined=arg;else joined+=\"/\"+arg}if(joined===void 0)return\".\";return normalize(joined)}function relative(from,to){if(assertPath(from),assertPath(to),from===to)return\"\";if(from=resolve(from),to=resolve(to),from===to)return\"\";var fromStart=1;for(;fromStart<from.length;++fromStart)if(from.charCodeAt(fromStart)!==47)break;var fromEnd=from.length,fromLen=fromEnd-fromStart,toStart=1;for(;toStart<to.length;++toStart)if(to.charCodeAt(toStart)!==47)break;var toEnd=to.length,toLen=toEnd-toStart,length=fromLen<toLen?fromLen:toLen,lastCommonSep=-1,i=0;for(;i<=length;++i){if(i===length){if(toLen>length){if(to.charCodeAt(toStart+i)===47)return to.slice(toStart+i+1);else if(i===0)return to.slice(toStart+i)}else if(fromLen>length){if(from.charCodeAt(fromStart+i)===47)lastCommonSep=i;else if(i===0)lastCommonSep=0}break}var fromCode=from.charCodeAt(fromStart+i),toCode=to.charCodeAt(toStart+i);if(fromCode!==toCode)break;else if(fromCode===47)lastCommonSep=i}var out=\"\";for(i=fromStart+lastCommonSep+1;i<=fromEnd;++i)if(i===fromEnd||from.charCodeAt(i)===47)if(out.length===0)out+=\"..\";else out+=\"/..\";if(out.length>0)return out+to.slice(toStart+lastCommonSep);else{if(toStart+=lastCommonSep,to.charCodeAt(toStart)===47)++toStart;return to.slice(toStart)}}function _makeLong(path){return path}function dirname(path){if(assertPath(path),path.length===0)return\".\";var code=path.charCodeAt(0),hasRoot=code===47,end=-1,matchedSlash=!0;for(var i=path.length-1;i>=1;--i)if(code=path.charCodeAt(i),code===47){if(!matchedSlash){end=i;break}}else matchedSlash=!1;if(end===-1)return hasRoot?\"/\":\".\";if(hasRoot&&end===1)return\"//\";return path.slice(0,end)}function basename(path,ext){if(ext!==void 0&&typeof ext!==\"string\")throw TypeError('\"ext\" argument must be a string');assertPath(path);var start=0,end=-1,matchedSlash=!0,i;if(ext!==void 0&&ext.length>0&&ext.length<=path.length){if(ext.length===path.length&&ext===path)return\"\";var extIdx=ext.length-1,firstNonSlashEnd=-1;for(i=path.length-1;i>=0;--i){var code=path.charCodeAt(i);if(code===47){if(!matchedSlash){start=i+1;break}}else{if(firstNonSlashEnd===-1)matchedSlash=!1,firstNonSlashEnd=i+1;if(extIdx>=0)if(code===ext.charCodeAt(extIdx)){if(--extIdx===-1)end=i}else extIdx=-1,end=firstNonSlashEnd}}if(start===end)end=firstNonSlashEnd;else if(end===-1)end=path.length;return path.slice(start,end)}else{for(i=path.length-1;i>=0;--i)if(path.charCodeAt(i)===47){if(!matchedSlash){start=i+1;break}}else if(end===-1)matchedSlash=!1,end=i+1;if(end===-1)return\"\";return path.slice(start,end)}}function extname(path){assertPath(path);var startDot=-1,startPart=0,end=-1,matchedSlash=!0,preDotState=0;for(var i=path.length-1;i>=0;--i){var code=path.charCodeAt(i);if(code===47){if(!matchedSlash){startPart=i+1;break}continue}if(end===-1)matchedSlash=!1,end=i+1;if(code===46){if(startDot===-1)startDot=i;else if(preDotState!==1)preDotState=1}else if(startDot!==-1)preDotState=-1}if(startDot===-1||end===-1||preDotState===0||preDotState===1&&startDot===end-1&&startDot===startPart+1)return\"\";return path.slice(startDot,end)}function format(pathObject){if(pathObject===null||typeof pathObject!==\"object\")throw TypeError('The \"pathObject\" argument must be of type Object. Received type '+typeof pathObject);return _format(\"/\",pathObject)}function parse(path){assertPath(path);var ret={root:\"\",dir:\"\",base:\"\",ext:\"\",name:\"\"};if(path.length===0)return ret;var code=path.charCodeAt(0),isAbsolute2=code===47,start;if(isAbsolute2)ret.root=\"/\",start=1;else start=0;var startDot=-1,startPart=0,end=-1,matchedSlash=!0,i=path.length-1,preDotState=0;for(;i>=start;--i){if(code=path.charCodeAt(i),code===47){if(!matchedSlash){startPart=i+1;break}continue}if(end===-1)matchedSlash=!1,end=i+1;if(code===46){if(startDot===-1)startDot=i;else if(preDotState!==1)preDotState=1}else if(startDot!==-1)preDotState=-1}if(startDot===-1||end===-1||preDotState===0||preDotState===1&&startDot===end-1&&startDot===startPart+1){if(end!==-1)if(startPart===0&&isAbsolute2)ret.base=ret.name=path.slice(1,end);else ret.base=ret.name=path.slice(startPart,end)}else{if(startPart===0&&isAbsolute2)ret.name=path.slice(1,startDot),ret.base=path.slice(1,end);else ret.name=path.slice(startPart,startDot),ret.base=path.slice(startPart,end);ret.ext=path.slice(startDot,end)}if(startPart>0)ret.dir=path.slice(0,startPart-1);else if(isAbsolute2)ret.dir=\"/\";return ret}var sep=\"/\",delimiter=\":\",posix=((p)=>(p.posix=p,p))({resolve,normalize,isAbsolute,join,relative,_makeLong,dirname,basename,extname,format,parse,sep,delimiter,win32:null,posix:null});var path_default=posix;export{sep,resolve,relative,posix,parse,normalize,join,isAbsolute,format,extname,dirname,delimiter,path_default as default,basename,_makeLong};",
|
|
22
|
+
"import { constants } from \"node:fs\";\nimport {\n access,\n mkdir,\n open,\n readFile,\n rename,\n rm,\n writeFile,\n} from \"node:fs/promises\";\nimport { homedir } from \"node:os\";\nimport { dirname, join } from \"node:path\";\nimport type {\n SessionFilter,\n SessionInfo,\n SessionStatus,\n SessionStore,\n SessionStoreRuntime,\n} from \"./types.js\";\n\nexport type SessionStoreBackend = \"runtime-db\" | \"file\" | \"memory\";\n\ntype Logger = NonNullable<SessionStoreRuntime[\"logger\"]>;\n\ntype SqlDatabaseAdapter = {\n query?: (sql: string, params?: unknown[]) => Promise<unknown> | unknown;\n execute?: (sql: string, params?: unknown[]) => Promise<unknown> | unknown;\n run?: (sql: string, params?: unknown[]) => Promise<unknown> | unknown;\n all?: (sql: string, params?: unknown[]) => Promise<unknown[]> | unknown[];\n get?: (sql: string, params?: unknown[]) => Promise<unknown> | unknown;\n select?: (sql: string, params?: unknown[]) => Promise<unknown[]> | unknown[];\n};\n\ntype StoredSession = Omit<SessionInfo, \"createdAt\" | \"lastActivityAt\"> & {\n createdAt: string;\n lastActivityAt: string;\n};\n\nconst SESSION_TABLE_SQL = `CREATE TABLE IF NOT EXISTS acp_sessions (\n id TEXT PRIMARY KEY,\n name TEXT,\n agent_type TEXT NOT NULL,\n workdir TEXT NOT NULL,\n status TEXT NOT NULL,\n acpx_record_id TEXT,\n acpx_session_id TEXT,\n agent_session_id TEXT,\n pid INTEGER,\n approval_preset TEXT NOT NULL,\n created_at TEXT NOT NULL,\n last_activity_at TEXT NOT NULL,\n last_error TEXT,\n metadata TEXT\n)`;\n\nconst SESSION_INDEX_SQL = [\n \"CREATE INDEX IF NOT EXISTS idx_acp_sessions_scope ON acp_sessions(workdir, agent_type, name)\",\n \"CREATE INDEX IF NOT EXISTS idx_acp_sessions_status ON acp_sessions(status)\",\n \"CREATE INDEX IF NOT EXISTS idx_acp_sessions_acpx_record_id ON acp_sessions(acpx_record_id)\",\n];\n\nfunction cloneSession(session: SessionInfo): SessionInfo {\n return {\n ...session,\n createdAt: new Date(session.createdAt),\n lastActivityAt: new Date(session.lastActivityAt),\n metadata: session.metadata ? { ...session.metadata } : undefined,\n };\n}\n\nfunction toStoredSession(session: SessionInfo): StoredSession {\n return {\n ...session,\n createdAt: session.createdAt.toISOString(),\n lastActivityAt: session.lastActivityAt.toISOString(),\n metadata: session.metadata ? { ...session.metadata } : undefined,\n };\n}\n\nfunction fromStoredSession(session: StoredSession): SessionInfo {\n return {\n ...session,\n createdAt: new Date(session.createdAt),\n lastActivityAt: new Date(session.lastActivityAt),\n metadata: session.metadata ? { ...session.metadata } : undefined,\n };\n}\n\nfunction matchesFilter(session: SessionInfo, filter?: SessionFilter): boolean {\n if (!filter) return true;\n if (filter.status !== undefined && session.status !== filter.status)\n return false;\n if (\n filter.statuses !== undefined &&\n !filter.statuses.includes(session.status)\n )\n return false;\n if (filter.workdir !== undefined && session.workdir !== filter.workdir)\n return false;\n if (filter.agentType !== undefined && session.agentType !== filter.agentType)\n return false;\n if (filter.name !== undefined && session.name !== filter.name) return false;\n if (\n filter.acpxRecordId !== undefined &&\n session.acpxRecordId !== filter.acpxRecordId\n )\n return false;\n return true;\n}\n\nfunction defaultStateFile(): string {\n return join(homedir(), \".eliza\", \"plugin-acp\", \"sessions.json\");\n}\n\nfunction resolveStateFile(\n runtime?: SessionStoreRuntime,\n stateFile?: string,\n): string {\n if (stateFile) return stateFile;\n const configured =\n process.env.ELIZA_ACP_STATE_DIR ??\n runtime?.getSetting?.(\"ELIZA_ACP_STATE_DIR\");\n return configured ? join(configured, \"sessions.json\") : defaultStateFile();\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null;\n}\n\nfunction isSqlDatabaseAdapter(value: unknown): value is SqlDatabaseAdapter {\n if (!isRecord(value)) return false;\n return [\"query\", \"execute\", \"run\", \"all\", \"get\", \"select\"].some(\n (method) => typeof value[method] === \"function\",\n );\n}\n\nfunction normalizeRows(result: unknown): unknown[] {\n if (Array.isArray(result)) return result;\n if (!isRecord(result)) return [];\n for (const key of [\"rows\", \"results\", \"data\", \"values\"]) {\n const value = result[key];\n if (Array.isArray(value)) return value;\n }\n return [];\n}\n\nfunction rowToSession(row: unknown): SessionInfo {\n if (!isRecord(row)) throw new Error(\"Invalid session row\");\n return {\n id: String(row.id),\n name:\n row.name === null || row.name === undefined\n ? undefined\n : String(row.name),\n agentType: String(row.agent_type),\n workdir: String(row.workdir),\n status: String(row.status),\n acpxRecordId:\n row.acpx_record_id === null || row.acpx_record_id === undefined\n ? undefined\n : String(row.acpx_record_id),\n acpxSessionId:\n row.acpx_session_id === null || row.acpx_session_id === undefined\n ? undefined\n : String(row.acpx_session_id),\n agentSessionId:\n row.agent_session_id === null || row.agent_session_id === undefined\n ? undefined\n : String(row.agent_session_id),\n pid:\n row.pid === null || row.pid === undefined ? undefined : Number(row.pid),\n approvalPreset: String(\n row.approval_preset,\n ) as SessionInfo[\"approvalPreset\"],\n createdAt: new Date(String(row.created_at)),\n lastActivityAt: new Date(String(row.last_activity_at)),\n lastError:\n row.last_error === null || row.last_error === undefined\n ? undefined\n : String(row.last_error),\n metadata:\n typeof row.metadata === \"string\" && row.metadata.length > 0\n ? JSON.parse(row.metadata)\n : undefined,\n };\n}\n\nfunction sessionToParams(session: SessionInfo): unknown[] {\n return [\n session.id,\n session.name ?? null,\n session.agentType,\n session.workdir,\n session.status,\n session.acpxRecordId ?? null,\n session.acpxSessionId ?? null,\n session.agentSessionId ?? null,\n session.pid ?? null,\n session.approvalPreset,\n session.createdAt.toISOString(),\n session.lastActivityAt.toISOString(),\n session.lastError ?? null,\n session.metadata ? JSON.stringify(session.metadata) : null,\n ];\n}\n\nclass WriteQueue {\n private tail = Promise.resolve();\n\n enqueue<T>(operation: () => Promise<T>): Promise<T> {\n const run = this.tail.then(operation, operation);\n this.tail = run.then(\n () => undefined,\n () => undefined,\n );\n return run;\n }\n}\n\nexport class InMemorySessionStore implements SessionStore {\n protected readonly sessions = new Map<string, SessionInfo>();\n protected readonly writes = new WriteQueue();\n\n async create(session: SessionInfo): Promise<void> {\n await this.writes.enqueue(async () => {\n this.sessions.set(session.id, cloneSession(session));\n await this.afterWrite();\n });\n }\n\n async get(id: string): Promise<SessionInfo | null> {\n return this.getSync(id);\n }\n\n getSync(id: string): SessionInfo | null {\n const session = this.sessions.get(id);\n return session ? cloneSession(session) : null;\n }\n\n async getByAcpxRecordId(recordId: string): Promise<SessionInfo | null> {\n for (const session of this.sessions.values()) {\n if (session.acpxRecordId === recordId) return cloneSession(session);\n }\n return null;\n }\n\n async findByScope(opts: {\n workdir: string;\n agentType: string;\n name?: string;\n }): Promise<SessionInfo | null> {\n for (const session of this.sessions.values()) {\n if (\n session.workdir === opts.workdir &&\n session.agentType === opts.agentType &&\n session.name === opts.name\n ) {\n return cloneSession(session);\n }\n }\n return null;\n }\n\n async list(filter?: SessionFilter): Promise<SessionInfo[]> {\n return this.listSync(filter);\n }\n\n listSync(filter?: SessionFilter): SessionInfo[] {\n return [...this.sessions.values()]\n .filter((session) => matchesFilter(session, filter))\n .map(cloneSession);\n }\n\n async update(id: string, patch: Partial<SessionInfo>): Promise<void> {\n await this.writes.enqueue(async () => {\n const current = this.sessions.get(id);\n if (!current) return;\n const next: SessionInfo = {\n ...current,\n ...patch,\n lastActivityAt: patch.lastActivityAt\n ? new Date(patch.lastActivityAt)\n : new Date(),\n createdAt: patch.createdAt\n ? new Date(patch.createdAt)\n : current.createdAt,\n metadata: patch.metadata\n ? { ...patch.metadata }\n : current.metadata\n ? { ...current.metadata }\n : undefined,\n };\n this.sessions.set(id, next);\n await this.afterWrite();\n });\n }\n\n async updateStatus(\n id: string,\n status: SessionStatus,\n error?: string,\n ): Promise<void> {\n const patch: Partial<SessionInfo> = { status };\n if (status === \"errored\") patch.lastError = error;\n await this.update(id, patch);\n }\n\n async delete(id: string): Promise<void> {\n await this.writes.enqueue(async () => {\n this.sessions.delete(id);\n await this.afterWrite();\n });\n }\n\n async sweepStale(maxAgeMs: number): Promise<string[]> {\n return this.writes.enqueue(async () => {\n const now = Date.now();\n const staleIds = [...this.sessions.values()]\n .filter(\n (session) =>\n (session.status === \"stopped\" || session.status === \"errored\") &&\n now - session.lastActivityAt.getTime() > maxAgeMs,\n )\n .map((session) => session.id);\n for (const id of staleIds) this.sessions.delete(id);\n if (staleIds.length > 0) await this.afterWrite();\n return staleIds;\n });\n }\n\n protected async afterWrite(): Promise<void> {\n // Implemented by durable subclasses.\n }\n}\n\nexport class FileSessionStore extends InMemorySessionStore {\n private readonly lockFile: string;\n private loaded = false;\n\n constructor(\n private readonly filePath = resolveStateFile(),\n private readonly logger?: Logger,\n ) {\n super();\n this.lockFile = `${filePath}.lock`;\n }\n\n async create(session: SessionInfo): Promise<void> {\n await this.load();\n await super.create(session);\n }\n\n async get(id: string): Promise<SessionInfo | null> {\n await this.load();\n return super.get(id);\n }\n\n async getByAcpxRecordId(recordId: string): Promise<SessionInfo | null> {\n await this.load();\n return super.getByAcpxRecordId(recordId);\n }\n\n async findByScope(opts: {\n workdir: string;\n agentType: string;\n name?: string;\n }): Promise<SessionInfo | null> {\n await this.load();\n return super.findByScope(opts);\n }\n\n async list(filter?: SessionFilter): Promise<SessionInfo[]> {\n await this.load();\n return super.list(filter);\n }\n\n async update(id: string, patch: Partial<SessionInfo>): Promise<void> {\n await this.load();\n await super.update(id, patch);\n }\n\n async delete(id: string): Promise<void> {\n await this.load();\n await super.delete(id);\n }\n\n async sweepStale(maxAgeMs: number): Promise<string[]> {\n await this.load();\n return super.sweepStale(maxAgeMs);\n }\n\n protected override async afterWrite(): Promise<void> {\n await this.withLock(async () => {\n await mkdir(dirname(this.filePath), { recursive: true });\n const tempPath = `${this.filePath}.${process.pid}.${Date.now()}.tmp`;\n const payload = JSON.stringify(\n [...this.sessions.values()].map(toStoredSession),\n null,\n 2,\n );\n await writeFile(tempPath, `${payload}\\n`, \"utf8\");\n await rename(tempPath, this.filePath);\n });\n }\n\n private async load(): Promise<void> {\n if (this.loaded) return;\n await this.writes.enqueue(async () => {\n if (this.loaded) return;\n try {\n const contents = await readFile(this.filePath, \"utf8\");\n const parsed = JSON.parse(contents) as unknown;\n if (!Array.isArray(parsed))\n throw new Error(\"Session store JSON must be an array\");\n this.sessions.clear();\n for (const raw of parsed) {\n if (!isRecord(raw)) continue;\n this.sessions.set(\n String(raw.id),\n fromStoredSession(raw as StoredSession),\n );\n }\n } catch (error) {\n const code =\n isRecord(error) && typeof error.code === \"string\"\n ? error.code\n : undefined;\n if (code !== \"ENOENT\") {\n this.logger?.warn?.(\n \"acpx SessionStore JSON could not be read; starting with an empty store\",\n error,\n );\n }\n this.sessions.clear();\n }\n this.loaded = true;\n });\n }\n\n private async withLock<T>(operation: () => Promise<T>): Promise<T> {\n await mkdir(dirname(this.lockFile), { recursive: true });\n const deadline = Date.now() + 5_000;\n let handle: Awaited<ReturnType<typeof open>> | undefined;\n while (!handle) {\n try {\n handle = await open(this.lockFile, \"wx\");\n } catch (error) {\n const code =\n isRecord(error) && typeof error.code === \"string\"\n ? error.code\n : undefined;\n if (code !== \"EEXIST\" || Date.now() > deadline) throw error;\n await new Promise((resolve) => setTimeout(resolve, 25));\n }\n }\n try {\n return await operation();\n } finally {\n await handle.close();\n await rm(this.lockFile, { force: true });\n }\n }\n}\n\nexport class RuntimeDbSessionStore implements SessionStore {\n private readonly writes = new WriteQueue();\n private initPromise: Promise<void> | undefined;\n\n constructor(\n private readonly adapter: SqlDatabaseAdapter,\n private readonly logger?: Logger,\n ) {\n void this.logger;\n }\n\n async create(session: SessionInfo): Promise<void> {\n await this.writes.enqueue(async () => {\n await this.ensureInitialized();\n await this.upsert(session);\n });\n }\n\n async get(id: string): Promise<SessionInfo | null> {\n await this.ensureInitialized();\n return this.getOne(\"SELECT * FROM acp_sessions WHERE id = ?\", [id]);\n }\n\n async getByAcpxRecordId(recordId: string): Promise<SessionInfo | null> {\n await this.ensureInitialized();\n return this.getOne(\"SELECT * FROM acp_sessions WHERE acpx_record_id = ?\", [\n recordId,\n ]);\n }\n\n async findByScope(opts: {\n workdir: string;\n agentType: string;\n name?: string;\n }): Promise<SessionInfo | null> {\n await this.ensureInitialized();\n if (opts.name === undefined) {\n return this.getOne(\n \"SELECT * FROM acp_sessions WHERE workdir = ? AND agent_type = ? AND name IS NULL ORDER BY created_at DESC LIMIT 1\",\n [opts.workdir, opts.agentType],\n );\n }\n return this.getOne(\n \"SELECT * FROM acp_sessions WHERE workdir = ? AND agent_type = ? AND name = ? ORDER BY created_at DESC LIMIT 1\",\n [opts.workdir, opts.agentType, opts.name],\n );\n }\n\n async list(filter?: SessionFilter): Promise<SessionInfo[]> {\n await this.ensureInitialized();\n const sessions = (await this.getMany(\"SELECT * FROM acp_sessions\", [])).map(\n cloneSession,\n );\n return sessions.filter((session) => matchesFilter(session, filter));\n }\n\n async update(id: string, patch: Partial<SessionInfo>): Promise<void> {\n await this.writes.enqueue(async () => {\n await this.ensureInitialized();\n const current = await this.getOne(\n \"SELECT * FROM acp_sessions WHERE id = ?\",\n [id],\n );\n if (!current) return;\n await this.upsert({\n ...current,\n ...patch,\n createdAt: patch.createdAt\n ? new Date(patch.createdAt)\n : current.createdAt,\n lastActivityAt: patch.lastActivityAt\n ? new Date(patch.lastActivityAt)\n : new Date(),\n metadata: patch.metadata ? { ...patch.metadata } : current.metadata,\n });\n });\n }\n\n async updateStatus(\n id: string,\n status: SessionStatus,\n error?: string,\n ): Promise<void> {\n const patch: Partial<SessionInfo> = { status };\n if (status === \"errored\") patch.lastError = error;\n await this.update(id, patch);\n }\n\n async delete(id: string): Promise<void> {\n await this.writes.enqueue(async () => {\n await this.ensureInitialized();\n await this.execute(\"DELETE FROM acp_sessions WHERE id = ?\", [id]);\n });\n }\n\n async sweepStale(maxAgeMs: number): Promise<string[]> {\n return this.writes.enqueue(async () => {\n await this.ensureInitialized();\n const cutoff = new Date(Date.now() - maxAgeMs).toISOString();\n const stale = await this.getMany(\n \"SELECT * FROM acp_sessions WHERE (status = ? OR status = ?) AND last_activity_at < ?\",\n [\"stopped\", \"errored\", cutoff],\n );\n for (const session of stale) {\n await this.execute(\"DELETE FROM acp_sessions WHERE id = ?\", [\n session.id,\n ]);\n }\n return stale.map((session) => session.id);\n });\n }\n\n private async ensureInitialized(): Promise<void> {\n this.initPromise ??= (async () => {\n await this.execute(SESSION_TABLE_SQL);\n for (const sql of SESSION_INDEX_SQL) await this.execute(sql);\n })();\n await this.initPromise;\n }\n\n private async upsert(session: SessionInfo): Promise<void> {\n await this.execute(\n `INSERT OR REPLACE INTO acp_sessions (\n id, name, agent_type, workdir, status, acpx_record_id, acpx_session_id, agent_session_id,\n pid, approval_preset, created_at, last_activity_at, last_error, metadata\n ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,\n sessionToParams(session),\n );\n }\n\n private async execute(sql: string, params: unknown[] = []): Promise<unknown> {\n const fn = this.adapter.execute ?? this.adapter.run ?? this.adapter.query;\n if (!fn)\n throw new Error(\n \"Runtime database adapter does not expose execute, run, or query\",\n );\n return fn.call(this.adapter, sql, params);\n }\n\n private async getMany(\n sql: string,\n params: unknown[],\n ): Promise<SessionInfo[]> {\n const fn = this.adapter.all ?? this.adapter.select ?? this.adapter.query;\n if (!fn)\n throw new Error(\n \"Runtime database adapter does not expose all, select, or query\",\n );\n const rows = normalizeRows(await fn.call(this.adapter, sql, params));\n return rows.map(rowToSession);\n }\n\n private async getOne(\n sql: string,\n params: unknown[],\n ): Promise<SessionInfo | null> {\n if (this.adapter.get) {\n const row = await this.adapter.get.call(this.adapter, sql, params);\n return row ? rowToSession(row) : null;\n }\n const [row] = await this.getMany(sql, params);\n return row ?? null;\n }\n}\n\nexport interface AcpSessionStoreOptions {\n runtime?: SessionStoreRuntime;\n stateFile?: string;\n backend?: SessionStoreBackend;\n}\n\nexport class AcpSessionStore implements SessionStore {\n readonly backend: SessionStoreBackend;\n private readonly delegate: SessionStore;\n\n constructor(options: AcpSessionStoreOptions = {}) {\n const adapter = options.runtime?.databaseAdapter;\n const logger = options.runtime?.logger;\n if (\n (options.backend === undefined || options.backend === \"runtime-db\") &&\n isSqlDatabaseAdapter(adapter)\n ) {\n this.backend = \"runtime-db\";\n this.delegate = new RuntimeDbSessionStore(adapter, logger);\n return;\n }\n\n if (options.backend === \"memory\") {\n this.backend = \"memory\";\n this.delegate = new InMemorySessionStore();\n logger?.warn?.(\n \"acpx SessionStore is using in-memory storage; sessions will not persist across restarts\",\n );\n return;\n }\n\n const filePath = resolveStateFile(options.runtime, options.stateFile);\n try {\n access(dirname(filePath), constants.W_OK).catch(() => undefined);\n this.backend = \"file\";\n this.delegate = new FileSessionStore(filePath, logger);\n } catch (error) {\n this.backend = \"memory\";\n this.delegate = new InMemorySessionStore();\n logger?.warn?.(\n \"acpx SessionStore could not initialize file storage; sessions will not persist across restarts\",\n error,\n );\n }\n }\n\n create(session: SessionInfo): Promise<void> {\n return this.delegate.create(session);\n }\n\n get(id: string): Promise<SessionInfo | null> {\n return this.delegate.get(id);\n }\n\n getByAcpxRecordId(recordId: string): Promise<SessionInfo | null> {\n return this.delegate.getByAcpxRecordId(recordId);\n }\n\n findByScope(opts: {\n workdir: string;\n agentType: string;\n name?: string;\n }): Promise<SessionInfo | null> {\n return this.delegate.findByScope(opts);\n }\n\n list(filter?: SessionFilter): Promise<SessionInfo[]> {\n return this.delegate.list(filter);\n }\n\n update(id: string, patch: Partial<SessionInfo>): Promise<void> {\n return this.delegate.update(id, patch);\n }\n\n updateStatus(\n id: string,\n status: SessionStatus,\n error?: string,\n ): Promise<void> {\n return this.delegate.updateStatus(id, status, error);\n }\n\n delete(id: string): Promise<void> {\n return this.delegate.delete(id);\n }\n\n sweepStale(maxAgeMs: number): Promise<string[]> {\n return this.delegate.sweepStale(maxAgeMs);\n }\n}\n\nexport type {\n SessionFilter,\n SessionInfo,\n SessionStatus,\n SessionStore,\n} from \"./types.js\";\n",
|
|
23
|
+
"import { randomUUID } from \"node:crypto\";\nimport {\n createUniqueUuid,\n EventType,\n type IAgentRuntime,\n type Memory,\n type UUID,\n} from \"@elizaos/core\";\nimport type { AcpService } from \"./acp-service.js\";\nimport type { SessionEventName, SessionInfo } from \"./types.js\";\n\nconst ACPX_ROUTER_SOURCE = \"sub_agent\";\nconst SUB_AGENT_ENTITY_NAMESPACE = \"acpx:sub-agent\";\n\n/**\n * SubAgentRouter takes terminal-significant ACPX session events\n * (`task_complete`, `error`, `blocked`) and posts them as synthetic inbound\n * messages into the runtime so the main agent's normal action layer can\n * decide whether to:\n * - REPLY to the user,\n * - SEND_TO_AGENT to push the sub-agent further,\n * - or both.\n *\n * Routing keys are read from `session.metadata` populated by createTaskAction\n * at spawn time: `roomId`, `worldId`, `userId`, `messageId`, `source`, `label`.\n *\n * Streaming chunks (`agent_message_chunk`, `tool_running`) are intentionally\n * NOT injected — they would refire the planner constantly and burn cache.\n * The provider is the channel for live status; this router is the channel for\n * boundary events that warrant a decision.\n */\nexport class SubAgentRouter {\n static serviceType = \"ACPX_SUB_AGENT_ROUTER\";\n static dependencies = [\"ACP_SUBPROCESS_SERVICE\"];\n\n capabilityDescription =\n \"Routes ACPX sub-agent terminal events back into the runtime as inbound messages so the main agent decides reply-to-user vs reply-to-agent vs both.\";\n\n private readonly runtime: IAgentRuntime;\n private acp: AcpService | null = null;\n private unsubscribe: (() => void) | undefined;\n private readonly delivered = new Set<string>();\n private started = false;\n\n constructor(runtime: IAgentRuntime) {\n this.runtime = runtime;\n }\n\n static async start(runtime: IAgentRuntime): Promise<SubAgentRouter> {\n const router = new SubAgentRouter(runtime);\n await router.start();\n return router;\n }\n\n async start(): Promise<void> {\n if (this.started) return;\n this.started = true;\n const disabled = readSetting(\n this.runtime,\n \"ACPX_SUB_AGENT_ROUTER_DISABLED\",\n );\n if (disabled === \"1\" || disabled === \"true\") {\n this.log(\"info\", \"router disabled via ACPX_SUB_AGENT_ROUTER_DISABLED\");\n return;\n }\n const acp = this.runtime.getService(\n \"ACP_SUBPROCESS_SERVICE\",\n ) as AcpService | null;\n if (!acp || typeof acp.onSessionEvent !== \"function\") {\n this.log(\"warn\", \"AcpService unavailable; router idle\");\n return;\n }\n this.acp = acp;\n this.unsubscribe = acp.onSessionEvent((sid, event, data) => {\n this.handleEvent(sid, event, data).catch((err) => {\n this.log(\"error\", \"router event failed\", {\n sessionId: sid,\n event,\n error: err instanceof Error ? err.message : String(err),\n });\n });\n });\n this.log(\"info\", \"router bound to AcpService\");\n }\n\n async stop(): Promise<void> {\n this.unsubscribe?.();\n this.unsubscribe = undefined;\n this.acp = null;\n this.started = false;\n this.delivered.clear();\n }\n\n private async handleEvent(\n sessionId: string,\n event: SessionEventName,\n data: unknown,\n ): Promise<void> {\n if (!shouldInject(event)) return;\n const acp = this.acp;\n if (!acp) return;\n const session = await acp.getSession(sessionId);\n if (!session) return;\n\n const dedupKey = computeDedupKey(sessionId, event, session, data);\n if (this.delivered.has(dedupKey)) return;\n this.delivered.add(dedupKey);\n pruneDelivered(this.delivered, 256);\n\n const origin = readOrigin(session);\n if (!origin) {\n this.log(\n \"debug\",\n \"session has no origin metadata; skipping router post\",\n {\n sessionId,\n event,\n },\n );\n return;\n }\n\n const subAgentEntityId = createUniqueUuid(\n this.runtime,\n `${SUB_AGENT_ENTITY_NAMESPACE}:${sessionId}`,\n );\n const text = composeNarration(event, origin.label, session, data);\n const memory: Memory = {\n id: randomUUID() as UUID,\n entityId: subAgentEntityId,\n agentId: this.runtime.agentId,\n roomId: origin.roomId,\n ...(origin.worldId ? { worldId: origin.worldId } : {}),\n content: {\n text,\n source: ACPX_ROUTER_SOURCE,\n ...(origin.parentMessageId\n ? { inReplyTo: origin.parentMessageId }\n : {}),\n metadata: {\n subAgent: true,\n subAgentSessionId: sessionId,\n subAgentLabel: origin.label,\n subAgentEvent: event,\n subAgentStatus: session.status,\n subAgentAgentType: session.agentType,\n ...(origin.userId ? { originUserId: origin.userId } : {}),\n ...(origin.parentMessageId\n ? { originMessageId: origin.parentMessageId }\n : {}),\n ...(origin.source ? { originSource: origin.source } : {}),\n },\n },\n createdAt: Date.now(),\n };\n\n await this.runtime.createMemory(memory, \"messages\").catch((err) => {\n this.log(\"warn\", \"createMemory for sub-agent post failed\", {\n sessionId,\n event,\n error: err instanceof Error ? err.message : String(err),\n });\n });\n\n if (this.runtime.messageService?.handleMessage) {\n await this.runtime.messageService\n .handleMessage(this.runtime, memory, undefined)\n .catch((err) => {\n this.log(\"error\", \"handleMessage for sub-agent post failed\", {\n sessionId,\n event,\n error: err instanceof Error ? err.message : String(err),\n });\n });\n } else {\n this.log(\n \"warn\",\n \"runtime.messageService unavailable; falling back to MESSAGE_RECEIVED emit\",\n {\n sessionId,\n event,\n },\n );\n await this.runtime.emitEvent(EventType.MESSAGE_RECEIVED, {\n runtime: this.runtime,\n message: memory,\n source: ACPX_ROUTER_SOURCE,\n });\n }\n }\n\n private log(\n level: \"debug\" | \"info\" | \"warn\" | \"error\",\n msg: string,\n data?: unknown,\n ): void {\n const logger = this.runtime.logger;\n const fn = logger?.[level];\n if (typeof fn === \"function\") {\n fn.call(\n logger,\n { src: \"acpx:sub-agent-router\", ...(data as object) },\n msg,\n );\n }\n }\n}\n\nfunction shouldInject(event: SessionEventName): boolean {\n return event === \"task_complete\" || event === \"error\" || event === \"blocked\";\n}\n\ninterface OriginInfo {\n roomId: UUID;\n worldId?: UUID;\n userId?: UUID;\n parentMessageId?: UUID;\n label: string;\n source?: string;\n}\n\nfunction readOrigin(session: SessionInfo): OriginInfo | null {\n const meta = session.metadata as Record<string, unknown> | undefined;\n if (!meta) return null;\n const roomId = pickUuid(meta.roomId);\n if (!roomId) return null;\n return {\n roomId,\n worldId: pickUuid(meta.worldId),\n userId: pickUuid(meta.userId),\n parentMessageId: pickUuid(meta.messageId),\n label: pickLabel(meta) ?? session.name ?? session.id,\n source: typeof meta.source === \"string\" ? meta.source : undefined,\n };\n}\n\nfunction pickUuid(v: unknown): UUID | undefined {\n if (typeof v !== \"string\") return undefined;\n if (\n !/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(v)\n )\n return undefined;\n return v as UUID;\n}\n\nfunction pickLabel(meta: Record<string, unknown>): string | undefined {\n if (typeof meta.label === \"string\" && meta.label.trim()) return meta.label;\n return undefined;\n}\n\nfunction pickPayloadString(data: unknown, key: string): string | undefined {\n if (!data || typeof data !== \"object\") return undefined;\n const v = (data as Record<string, unknown>)[key];\n if (typeof v !== \"string\" || !v.trim()) return undefined;\n return v;\n}\n\nfunction composeNarration(\n event: SessionEventName,\n label: string,\n session: SessionInfo,\n data: unknown,\n): string {\n const header = `[sub-agent: ${label} (${session.agentType}) — ${event}]`;\n if (event === \"error\") {\n const message =\n pickPayloadString(data, \"message\") ?? \"sub-agent reported an error\";\n return `${header}\\n${message}`;\n }\n if (event === \"blocked\") {\n const message =\n pickPayloadString(data, \"message\") ??\n pickPayloadString(data, \"prompt\") ??\n \"sub-agent is blocked and waiting for input\";\n return `${header}\\n${message}`;\n }\n const response =\n pickPayloadString(data, \"response\") ??\n pickPayloadString(data, \"finalText\") ??\n \"sub-agent reports task complete (no captured output).\";\n return `${header}\\n${response}`;\n}\n\nfunction computeDedupKey(\n sessionId: string,\n event: SessionEventName,\n session: SessionInfo,\n data: unknown,\n): string {\n const fingerprint =\n pickPayloadString(data, \"response\") ??\n pickPayloadString(data, \"finalText\") ??\n pickPayloadString(data, \"message\") ??\n \"\";\n return `${sessionId}|${event}|${session.status}|${shortHash(fingerprint)}`;\n}\n\nfunction shortHash(input: string): string {\n let h = 0;\n for (let i = 0; i < input.length; i++) {\n h = (h * 31 + input.charCodeAt(i)) | 0;\n }\n return h.toString(36);\n}\n\nfunction pruneDelivered(set: Set<string>, max: number): void {\n if (set.size <= max) return;\n const it = set.values();\n for (let i = 0; i < set.size - max; i++) {\n const next = it.next();\n if (next.done) break;\n set.delete(next.value);\n }\n}\n\nfunction readSetting(runtime: IAgentRuntime, key: string): string | undefined {\n const get = (runtime as { getSetting?: (k: string) => string | undefined })\n .getSetting;\n if (typeof get === \"function\") {\n const v = get.call(runtime, key);\n if (typeof v === \"string\" && v.length > 0) return v;\n }\n const env = process.env[key];\n return typeof env === \"string\" && env.length > 0 ? env : undefined;\n}\n",
|
|
24
|
+
"import type { Plugin, ServiceClass } from \"@elizaos/core\";\nimport { cancelTaskAction } from \"./actions/cancel-task.js\";\nimport { createTaskAction } from \"./actions/create-task.js\";\nimport { listAgentsAction } from \"./actions/list-agents.js\";\nimport { sendToAgentAction } from \"./actions/send-to-agent.js\";\nimport { spawnAgentAction } from \"./actions/spawn-agent.js\";\nimport { stopAgentAction } from \"./actions/stop-agent.js\";\nimport { activeSubAgentsProvider } from \"./providers/active-sub-agents.js\";\nimport { availableAgentsProvider } from \"./providers/available-agents.js\";\nimport { AcpService } from \"./services/acp-service.js\";\nimport { SubAgentRouter } from \"./services/sub-agent-router.js\";\n\nexport const acpPlugin: Plugin = {\n name: \"@elizaos/plugin-acpx\",\n description:\n \"Canonical ElizaOS ACPX plugin for spawning and orchestrating coding agents via Agent Client Protocol\",\n actions: [\n createTaskAction,\n spawnAgentAction,\n sendToAgentAction,\n stopAgentAction,\n listAgentsAction,\n cancelTaskAction,\n ],\n providers: [availableAgentsProvider, activeSubAgentsProvider],\n services: [\n AcpService as unknown as ServiceClass,\n SubAgentRouter as unknown as ServiceClass,\n ],\n};\n\nexport const taskAgentPlugin = acpPlugin;\nexport const codingAgentPlugin = acpPlugin;\nexport const agentOrchestratorPlugin = acpPlugin;\n\nexport default acpPlugin;\n\nexport { cancelTaskAction } from \"./actions/cancel-task.js\";\nexport {\n createTaskAction,\n startCodingTaskAction,\n} from \"./actions/create-task.js\";\nexport {\n listAgentsAction,\n listTaskAgentsAction,\n} from \"./actions/list-agents.js\";\nexport {\n sendToAgentAction,\n sendToTaskAgentAction,\n} from \"./actions/send-to-agent.js\";\nexport {\n spawnAgentAction,\n spawnTaskAgentAction,\n} from \"./actions/spawn-agent.js\";\nexport { stopAgentAction, stopTaskAgentAction } from \"./actions/stop-agent.js\";\nexport { activeSubAgentsProvider } from \"./providers/active-sub-agents.js\";\nexport {\n acpAvailableAgentsProvider,\n availableAgentsProvider,\n} from \"./providers/available-agents.js\";\n\nexport {\n AcpService,\n AcpService as AcpxSubprocessService,\n AcpService as PTYService,\n} from \"./services/acp-service.js\";\nexport {\n AcpSessionStore,\n FileSessionStore,\n InMemorySessionStore,\n RuntimeDbSessionStore,\n} from \"./services/session-store.js\";\nexport { SubAgentRouter } from \"./services/sub-agent-router.js\";\n\nexport type {\n AcpEventCallback,\n AcpJsonRpcMessage,\n AgentType,\n AgentType as AdapterType,\n AgentType as CodingAgentType,\n ApprovalPreset,\n AvailableAgentInfo,\n PromptResult,\n SendOptions,\n SessionEventCallback,\n SessionEventName,\n SessionInfo,\n SessionInfo as AcpxSessionInfo,\n SessionInfo as AcpxSessionInfoCompat,\n SessionStatus,\n SpawnOptions,\n SpawnOptions as SpawnSessionOptions,\n SpawnResult,\n} from \"./services/types.js\";\n\nexport type AcpxServiceConfig = Record<string, unknown>;\nexport type PTYServiceConfig = AcpxServiceConfig;\nexport type AgentCredentials = Record<string, unknown>;\nexport type AcpPreflightResult = {\n ok: boolean;\n message?: string;\n installCommand?: string;\n};\nexport type PreflightResult = AcpPreflightResult;\n\nexport function getCoordinator(): undefined {\n return undefined;\n}\n"
|
|
25
|
+
],
|
|
26
|
+
"mappings": "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E,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAA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,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,mEAAkE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,mEAAkE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,gEAAgE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,mEAAkE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,mEAAkE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,CAAC,EAAC,GAAE,KAAI,EAAC,KAAI,GAAE,QAAO,CAAC,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,mEAAkE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,mEAAkE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,mEAAkE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,mEAAkE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,kEAAiE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,mEAAkE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CA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,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG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AG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,MAAI,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,OAAK,MAAI,GAAE,MAAI,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,MAAI,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,OAAK,MAAI,GAAE,MAAI,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,MAAI,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,OAAK,MAAI,GAAE,MAAI,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,OAAK,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,QAAM,MAAI,GAAE,OAAK,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,OAAK,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,QAAM,MAAI,GAAE,OAAK,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,OAAK,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,QAAM,MAAI,GAAE,OAAK,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,OAAK,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,QAAM,MAAI,GAAE,OAAK,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,OAAK,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,QAAM,MAAI,GAAE,OAAK,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,OAAK,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,QAAM,MAAI,GAAE,OAAK,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,OAAK,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,QAAM,MAAI,GAAE,OAAK,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,OAAK,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,QAAM,MAAI,GAAE,OAAK,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG;AAAA,QAAE,IAAI,OAAK,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,IAAG,KAAG,MAAI,QAAM,MAAI,MAAI,QAAM,MAAI,GAAE,OAAK,UAAS,EAAE,KAAG,IAAG,EAAE,KAAG,IAAG,EAAE,KAAG,IAAG,EAAE,KAAG,IAAG,EAAE,KAAG,IAAG,EAAE,KAAG,IAAG,EAAE,KAAG,IAAG,EAAE,KAAG,IAAG,EAAE,KAAG,IAAG,EAAE,KAAG,IAAG,EAAE,MAAI,KAAI,EAAE,MAAI,KAAI,EAAE,MAAI,KAAI,EAAE,MAAI,KAAI,EAAE,MAAI,KAAI,EAAE,MAAI,KAAI,EAAE,MAAI,KAAI,EAAE,MAAI,KAAI,EAAE,MAAI,KAAI,MAAI;AAAA,UAAE,EAAE,MAAI,GAAE,IAAI;AAAA,QAAS,OAAO;AAAA;AAAA,MAAK,IAAG,CAAC,KAAK;AAAA,QAAK,cAAY;AAAA,MAAW,SAAS,QAAQ,CAAC,OAAM,KAAI,KAAI;AAAA,QAAC,IAAI,WAAS,IAAI,WAAS,MAAM,UAAS,IAAI,SAAO,MAAM,SAAO,IAAI;AAAA,QAAO,IAAI,QAAM,GAAE,UAAQ;AAAA,QAAE,SAAQ,IAAE,EAAE,IAAE,IAAI,SAAO,GAAE,KAAI;AAAA,UAAC,IAAI,SAAO;AAAA,UAAQ,UAAQ;AAAA,UAAE,IAAI,QAAM,QAAM,UAAS,OAAK,KAAK,IAAI,GAAE,IAAI,SAAO,CAAC;AAAA,UAAE,SAAQ,IAAE,KAAK,IAAI,GAAE,IAAE,MAAM,SAAO,CAAC,EAAE,KAAG,MAAK,KAAI;AAAA,YAAC,IAAI,KAAE,IAAE,GAAE,IAAE,MAAM,MAAM,MAAG,GAAE,IAAE,IAAI,MAAM,KAAG,GAAE,IAAE,IAAE,GAAE,KAAG,IAAE;AAAA,YAAS,SAAO,UAAQ,IAAE,WAAS,KAAG,GAAE,KAAG,KAAG,QAAM,GAAE,QAAM,KAAG,UAAS,SAAO,UAAQ,OAAK,MAAI,GAAE,WAAS,WAAS,IAAG,UAAQ;AAAA,UAAQ;AAAA,UAAC,IAAI,MAAM,KAAG,OAAM,QAAM,QAAO,SAAO;AAAA,QAAO;AAAA,QAAC,IAAG,UAAQ;AAAA,UAAE,IAAI,MAAM,KAAG;AAAA,QAAW;AAAA,cAAI;AAAA,QAAS,OAAO,IAAI,MAAM;AAAA;AAAA,MAAE,SAAS,UAAU,CAAC,OAAM,KAAI,KAAI;AAAA,QAAC,IAAI,OAAK,IAAI;AAAA,QAAK,OAAO,KAAK,KAAK,OAAM,KAAI,GAAG;AAAA;AAAA,MAAE,GAAG,UAAU,QAAM,QAAQ,CAAC,KAAI,KAAI;AAAA,QAAC,IAAI,KAAI,OAAI,KAAK,SAAO,IAAI;AAAA,QAAO,IAAG,KAAK,WAAS,MAAI,IAAI,WAAS;AAAA,UAAG,MAAI,YAAY,MAAK,KAAI,GAAG;AAAA,QAAO,SAAG,OAAI;AAAA,UAAG,MAAI,WAAW,MAAK,KAAI,GAAG;AAAA,QAAO,SAAG,OAAI;AAAA,UAAK,MAAI,SAAS,MAAK,KAAI,GAAG;AAAA,QAAO;AAAA,gBAAI,WAAW,MAAK,KAAI,GAAG;AAAA,QAAE,OAAO;AAAA;AAAA,MAAK,SAAS,IAAI,CAAC,GAAE,GAAE;AAAA,QAAC,KAAK,IAAE,GAAE,KAAK,IAAE;AAAA;AAAA,MAAE,KAAK,UAAU,UAAQ,QAAQ,CAAC,GAAE;AAAA,QAAC,IAAI,IAAE,MAAM,CAAC,GAAE,IAAE,GAAG,UAAU,WAAW,CAAC,IAAE;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,GAAE;AAAA,UAAI,EAAE,MAAG,KAAK,OAAO,IAAE,GAAE,CAAC;AAAA,QAAE,OAAO;AAAA,SAAG,KAAK,UAAU,SAAO,QAAQ,CAAC,GAAE,GAAE,GAAE;AAAA,QAAC,IAAG,MAAI,KAAG,MAAI,IAAE;AAAA,UAAE,OAAO;AAAA,QAAE,IAAI,KAAG;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,GAAE;AAAA,UAAI,OAAK,IAAE,MAAI,IAAE,KAAE,GAAE,MAAI;AAAA,QAAE,OAAO;AAAA,SAAI,KAAK,UAAU,UAAQ,QAAQ,CAAC,KAAI,KAAI,KAAI,MAAK,MAAK,GAAE;AAAA,QAAC,SAAQ,KAAE,EAAE,KAAE,GAAE;AAAA,UAAI,KAAK,MAAG,IAAI,IAAI,MAAI,KAAK,MAAG,IAAI,IAAI;AAAA,SAAK,KAAK,UAAU,YAAU,QAAQ,CAAC,KAAI,KAAI,MAAK,MAAK,GAAE,KAAI;AAAA,QAAC,KAAK,QAAQ,KAAI,KAAI,KAAI,MAAK,MAAK,CAAC;AAAA,QAAE,SAAQ,IAAE,EAAE,IAAE,GAAE,MAAI,GAAE;AAAA,UAAC,IAAI,IAAE,KAAG,GAAE,QAAM,KAAK,IAAI,IAAE,KAAK,KAAG,CAAC,GAAE,QAAM,KAAK,IAAI,IAAE,KAAK,KAAG,CAAC;AAAA,UAAE,SAAQ,IAAE,EAAE,IAAE,GAAE,KAAG,GAAE;AAAA,YAAC,IAAI,SAAO,OAAM,SAAO;AAAA,YAAM,SAAQ,IAAE,EAAE,IAAE,GAAE,KAAI;AAAA,cAAC,IAAI,KAAG,KAAK,IAAE,IAAG,KAAG,KAAK,IAAE,IAAG,KAAG,KAAK,IAAE,IAAE,IAAG,KAAG,KAAK,IAAE,IAAE,IAAG,KAAG,SAAO,KAAG,SAAO;AAAA,cAAG,IAAG,KAAG,SAAO,KAAG,SAAO,IAAG,KAAG,IAAG,KAAK,IAAE,KAAG,KAAG,IAAG,KAAK,IAAE,KAAG,KAAG,IAAG,KAAK,IAAE,IAAE,KAAG,KAAG,IAAG,KAAK,IAAE,IAAE,KAAG,KAAG,IAAG,MAAI;AAAA,gBAAE,KAAG,QAAM,SAAO,QAAM,QAAO,SAAO,QAAM,SAAO,QAAM,QAAO,SAAO;AAAA,YAAE;AAAA,UAAC;AAAA,QAAC;AAAA,SAAG,KAAK,UAAU,cAAY,QAAQ,CAAC,GAAE,GAAE;AAAA,QAAC,IAAI,IAAE,KAAK,IAAI,GAAE,CAAC,IAAE,GAAE,MAAI,IAAE,GAAE,KAAE;AAAA,QAAE,KAAI,IAAE,IAAE,IAAE,EAAE,GAAE,IAAE,MAAI;AAAA,UAAE;AAAA,QAAI,OAAO,KAAG,KAAE,IAAE;AAAA,SAAK,KAAK,UAAU,YAAU,QAAQ,CAAC,KAAI,KAAI,GAAE;AAAA,QAAC,IAAG,KAAG;AAAA,UAAE;AAAA,QAAO,SAAQ,KAAE,EAAE,KAAE,IAAE,GAAE,MAAI;AAAA,UAAC,IAAI,IAAE,IAAI;AAAA,UAAG,IAAI,MAAG,IAAI,IAAE,KAAE,IAAG,IAAI,IAAE,KAAE,KAAG,GAAE,IAAE,IAAI,KAAG,IAAI,MAAG,CAAC,IAAI,IAAE,KAAE,IAAG,IAAI,IAAE,KAAE,KAAG,CAAC;AAAA,QAAC;AAAA,SAAG,KAAK,UAAU,eAAa,QAAQ,CAAC,IAAG,GAAE;AAAA,QAAC,IAAI,QAAM;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,IAAE,GAAE,MAAI;AAAA,UAAC,IAAI,IAAE,KAAK,MAAM,GAAG,IAAE,KAAE,KAAG,CAAC,IAAE,OAAK,KAAK,MAAM,GAAG,IAAE,MAAG,CAAC,IAAE;AAAA,UAAM,IAAG,GAAG,MAAG,IAAE,UAAS,IAAE;AAAA,YAAS,QAAM;AAAA,UAAO;AAAA,oBAAM,IAAE,WAAS;AAAA,QAAC;AAAA,QAAC,OAAO;AAAA,SAAI,KAAK,UAAU,aAAW,QAAQ,CAAC,IAAG,MAAI,KAAI,GAAE;AAAA,QAAC,IAAI,QAAM;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,MAAI;AAAA,UAAI,QAAM,SAAO,GAAG,MAAG,IAAG,IAAI,IAAE,MAAG,QAAM,MAAK,QAAM,UAAQ,IAAG,IAAI,IAAE,KAAE,KAAG,QAAM,MAAK,QAAM,UAAQ;AAAA,QAAG,KAAI,KAAE,IAAE,KAAI,KAAE,GAAE,EAAE;AAAA,UAAE,IAAI,MAAG;AAAA,QAAE,OAAO,UAAQ,CAAC,GAAE,QAAQ,QAAM,WAAS,CAAC;AAAA,SAAG,KAAK,UAAU,OAAK,QAAQ,CAAC,GAAE;AAAA,QAAC,IAAI,KAAG,MAAM,CAAC;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,GAAE;AAAA,UAAI,GAAG,MAAG;AAAA,QAAE,OAAO;AAAA,SAAI,KAAK,UAAU,OAAK,QAAQ,CAAC,GAAE,GAAE,KAAI;AAAA,QAAC,IAAI,IAAE,IAAE,KAAK,YAAY,EAAE,QAAO,EAAE,MAAM,GAAE,MAAI,KAAK,QAAQ,CAAC,GAAE,IAAE,KAAK,KAAK,CAAC,GAAE,MAAI,MAAM,CAAC,GAAE,OAAK,MAAM,CAAC,GAAE,OAAK,MAAM,CAAC,GAAE,OAAK,MAAM,CAAC,GAAE,QAAM,MAAM,CAAC,GAAE,QAAM,MAAM,CAAC,GAAE,OAAK,IAAI;AAAA,QAAM,KAAK,SAAO,GAAE,KAAK,WAAW,EAAE,OAAM,EAAE,QAAO,KAAI,CAAC,GAAE,KAAK,WAAW,EAAE,OAAM,EAAE,QAAO,MAAK,CAAC,GAAE,KAAK,UAAU,KAAI,GAAE,MAAK,MAAK,GAAE,GAAG,GAAE,KAAK,UAAU,MAAK,GAAE,OAAM,OAAM,GAAE,GAAG;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,GAAE,MAAI;AAAA,UAAC,IAAI,KAAG,KAAK,MAAG,MAAM,MAAG,KAAK,MAAG,MAAM;AAAA,UAAG,KAAK,MAAG,KAAK,MAAG,MAAM,MAAG,KAAK,MAAG,MAAM,KAAG,KAAK,MAAG;AAAA,QAAE;AAAA,QAAC,OAAO,KAAK,UAAU,MAAK,MAAK,CAAC,GAAE,KAAK,UAAU,MAAK,MAAK,MAAK,GAAE,GAAE,GAAG,GAAE,KAAK,UAAU,MAAK,GAAE,CAAC,GAAE,KAAK,aAAa,MAAK,CAAC,GAAE,IAAI,WAAS,EAAE,WAAS,EAAE,UAAS,IAAI,SAAO,EAAE,SAAO,EAAE,QAAO,IAAI,MAAM;AAAA,SAAG,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI,MAAI,IAAI,GAAG,IAAI;AAAA,QAAE,OAAO,IAAI,QAAM,MAAM,KAAK,SAAO,IAAI,MAAM,GAAE,KAAK,MAAM,KAAI,GAAG;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI,MAAI,IAAI,GAAG,IAAI;AAAA,QAAE,OAAO,IAAI,QAAM,MAAM,KAAK,SAAO,IAAI,MAAM,GAAE,WAAW,MAAK,KAAI,GAAG;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,MAAM,EAAE,MAAM,KAAI,IAAI;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAO,QAAM,QAAQ,GAAE,OAAO,MAAI,QAAQ;AAAA,QAAE,IAAI,QAAM;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,KAAK,QAAO,MAAI;AAAA,UAAC,IAAI,KAAG,KAAK,MAAM,MAAG,KAAG,KAAI,MAAI,IAAE,aAAW,QAAM;AAAA,UAAU,UAAQ,IAAG,SAAO,IAAE,WAAS,GAAE,SAAO,OAAK,IAAG,KAAK,MAAM,MAAG,KAAG;AAAA,QAAQ;AAAA,QAAC,IAAG,UAAQ;AAAA,UAAE,KAAK,MAAM,MAAG,OAAM,KAAK;AAAA,QAAS,OAAO,KAAK,SAAO,QAAM,IAAE,IAAE,KAAK,QAAO;AAAA,SAAM,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,MAAM,EAAE,MAAM,GAAG;AAAA,SAAG,GAAG,UAAU,MAAI,QAAQ,GAAE;AAAA,QAAC,OAAO,KAAK,IAAI,IAAI;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,GAAE;AAAA,QAAC,OAAO,KAAK,KAAK,KAAK,MAAM,CAAC;AAAA,SAAG,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI,IAAE,WAAW,GAAG;AAAA,QAAE,IAAG,EAAE,WAAS;AAAA,UAAE,OAAO,IAAI,GAAG,CAAC;AAAA,QAAE,IAAI,MAAI;AAAA,QAAK,SAAQ,KAAE,EAAE,KAAE,EAAE,QAAO,MAAI,MAAI,IAAI,IAAI;AAAA,UAAE,IAAG,EAAE,QAAK;AAAA,YAAE;AAAA,QAAM,IAAG,EAAE,KAAE,EAAE;AAAA,UAAO,SAAQ,IAAE,IAAI,IAAI,EAAE,KAAE,EAAE,QAAO,MAAI,IAAE,EAAE,IAAI,GAAE;AAAA,YAAC,IAAG,EAAE,QAAK;AAAA,cAAE;AAAA,YAAS,MAAI,IAAI,IAAI,CAAC;AAAA,UAAC;AAAA,QAAC,OAAO;AAAA,SAAK,GAAG,UAAU,SAAO,QAAQ,CAAC,MAAK;AAAA,QAAC,OAAO,OAAO,SAAO,YAAU,QAAM,CAAC;AAAA,QAAE,IAAI,IAAE,OAAK,IAAG,KAAG,OAAK,KAAG,IAAG,YAAU,aAAW,KAAG,KAAG,KAAG,GAAE;AAAA,QAAE,IAAG,MAAI,GAAE;AAAA,UAAC,IAAI,QAAM;AAAA,UAAE,KAAI,KAAE,EAAE,KAAE,KAAK,QAAO,MAAI;AAAA,YAAC,IAAI,WAAS,KAAK,MAAM,MAAG,WAAU,KAAG,KAAK,MAAM,MAAG,KAAG,YAAU;AAAA,YAAE,KAAK,MAAM,MAAG,IAAE,OAAM,QAAM,aAAW,KAAG;AAAA,UAAC;AAAA,UAAC,IAAG;AAAA,YAAM,KAAK,MAAM,MAAG,OAAM,KAAK;AAAA,QAAQ;AAAA,QAAC,IAAG,MAAI,GAAE;AAAA,UAAC,KAAI,KAAE,KAAK,SAAO,EAAE,MAAG,GAAE;AAAA,YAAI,KAAK,MAAM,KAAE,KAAG,KAAK,MAAM;AAAA,UAAG,KAAI,KAAE,EAAE,KAAE,GAAE;AAAA,YAAI,KAAK,MAAM,MAAG;AAAA,UAAE,KAAK,UAAQ;AAAA,QAAC;AAAA,QAAC,OAAO,KAAK,MAAM;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,CAAC,MAAK;AAAA,QAAC,OAAO,OAAO,KAAK,aAAW,CAAC,GAAE,KAAK,OAAO,IAAI;AAAA,SAAG,GAAG,UAAU,SAAO,QAAQ,CAAC,MAAK,MAAK,UAAS;AAAA,QAAC,OAAO,OAAO,SAAO,YAAU,QAAM,CAAC;AAAA,QAAE,IAAI;AAAA,QAAE,IAAG;AAAA,UAAK,KAAG,OAAK,OAAK,MAAI;AAAA,QAAQ;AAAA,cAAE;AAAA,QAAE,IAAI,IAAE,OAAK,IAAG,IAAE,KAAK,KAAK,OAAK,KAAG,IAAG,KAAK,MAAM,GAAE,OAAK,WAAS,aAAW,KAAG,GAAE,cAAY;AAAA,QAAS,IAAG,KAAG,GAAE,IAAE,KAAK,IAAI,GAAE,CAAC,GAAE,aAAY;AAAA,UAAC,SAAQ,KAAE,EAAE,KAAE,GAAE;AAAA,YAAI,YAAY,MAAM,MAAG,KAAK,MAAM;AAAA,UAAG,YAAY,SAAO;AAAA,QAAC;AAAA,QAAC,IAAG,MAAI;AAAA;AAAA,QAAQ,SAAG,KAAK,SAAO,GAAE;AAAA,UAAC,KAAK,UAAQ;AAAA,UAAE,KAAI,KAAE,EAAE,KAAE,KAAK,QAAO;AAAA,YAAI,KAAK,MAAM,MAAG,KAAK,MAAM,KAAE;AAAA,QAAE,EAAM;AAAA,eAAK,MAAM,KAAG,GAAE,KAAK,SAAO;AAAA,QAAE,IAAI,QAAM;AAAA,QAAE,KAAI,KAAE,KAAK,SAAO,EAAE,MAAG,MAAI,UAAQ,KAAG,MAAG,IAAG,MAAI;AAAA,UAAC,IAAI,OAAK,KAAK,MAAM,MAAG;AAAA,UAAE,KAAK,MAAM,MAAG,SAAO,KAAG,IAAE,SAAO,GAAE,QAAM,OAAK;AAAA,QAAI;AAAA,QAAC,IAAG,eAAa,UAAQ;AAAA,UAAE,YAAY,MAAM,YAAY,YAAU;AAAA,QAAM,IAAG,KAAK,WAAS;AAAA,UAAE,KAAK,MAAM,KAAG,GAAE,KAAK,SAAO;AAAA,QAAE,OAAO,KAAK,MAAM;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,CAAC,MAAK,MAAK,UAAS;AAAA,QAAC,OAAO,OAAO,KAAK,aAAW,CAAC,GAAE,KAAK,OAAO,MAAK,MAAK,QAAQ;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,MAAK;AAAA,QAAC,OAAO,KAAK,MAAM,EAAE,MAAM,IAAI;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,CAAC,MAAK;AAAA,QAAC,OAAO,KAAK,MAAM,EAAE,OAAO,IAAI;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,MAAK;AAAA,QAAC,OAAO,KAAK,MAAM,EAAE,MAAM,IAAI;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,CAAC,MAAK;AAAA,QAAC,OAAO,KAAK,MAAM,EAAE,OAAO,IAAI;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAO,QAAM,YAAU,OAAK,CAAC;AAAA,QAAE,IAAI,IAAE,MAAI,IAAG,KAAG,MAAI,KAAG,IAAG,IAAE,KAAG;AAAA,QAAE,IAAG,KAAK,UAAQ;AAAA,UAAE,OAAM;AAAA,QAAG,IAAI,IAAE,KAAK,MAAM;AAAA,QAAG,OAAM,CAAC,EAAE,IAAE;AAAA,SAAI,GAAG,UAAU,SAAO,QAAQ,CAAC,MAAK;AAAA,QAAC,OAAO,OAAO,SAAO,YAAU,QAAM,CAAC;AAAA,QAAE,IAAI,IAAE,OAAK,IAAG,KAAG,OAAK,KAAG;AAAA,QAAG,IAAG,OAAO,KAAK,aAAW,GAAE,yCAAyC,GAAE,KAAK,UAAQ;AAAA,UAAE,OAAO;AAAA,QAAK,IAAG,MAAI;AAAA,UAAE;AAAA,QAAI,IAAG,KAAK,SAAO,KAAK,IAAI,GAAE,KAAK,MAAM,GAAE,MAAI,GAAE;AAAA,UAAC,IAAI,OAAK,WAAS,aAAW,KAAG;AAAA,UAAE,KAAK,MAAM,KAAK,SAAO,MAAI;AAAA,QAAI;AAAA,QAAC,OAAO,KAAK,MAAM;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,CAAC,MAAK;AAAA,QAAC,OAAO,KAAK,MAAM,EAAE,OAAO,IAAI;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAG,OAAO,OAAO,QAAM,QAAQ,GAAE,OAAO,MAAI,QAAQ,GAAE,MAAI;AAAA,UAAE,OAAO,KAAK,MAAM,CAAC,GAAG;AAAA,QAAE,IAAG,KAAK,aAAW,GAAE;AAAA,UAAC,IAAG,KAAK,WAAS,MAAI,KAAK,MAAM,KAAG,KAAG;AAAA,YAAI,OAAO,KAAK,MAAM,KAAG,OAAK,KAAK,MAAM,KAAG,IAAG,KAAK,WAAS,GAAE;AAAA,UAAK,OAAO,KAAK,WAAS,GAAE,KAAK,MAAM,GAAG,GAAE,KAAK,WAAS,GAAE;AAAA,QAAI;AAAA,QAAC,OAAO,KAAK,OAAO,GAAG;AAAA,SAAG,GAAG,UAAU,SAAO,QAAQ,CAAC,KAAI;AAAA,QAAC,KAAK,MAAM,MAAI;AAAA,QAAI,SAAQ,KAAE,EAAE,KAAE,KAAK,UAAQ,KAAK,MAAM,OAAI,UAAS;AAAA,UAAI,IAAG,KAAK,MAAM,OAAI,UAAS,OAAI,KAAK,SAAO;AAAA,YAAE,KAAK,MAAM,KAAE,KAAG;AAAA,UAAO;AAAA,iBAAK,MAAM,KAAE;AAAA,QAAK,OAAO,KAAK,SAAO,KAAK,IAAI,KAAK,QAAO,KAAE,CAAC,GAAE;AAAA,SAAM,GAAG,UAAU,QAAM,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAG,OAAO,OAAO,QAAM,QAAQ,GAAE,OAAO,MAAI,QAAQ,GAAE,MAAI;AAAA,UAAE,OAAO,KAAK,MAAM,CAAC,GAAG;AAAA,QAAE,IAAG,KAAK,aAAW;AAAA,UAAE,OAAO,KAAK,WAAS,GAAE,KAAK,MAAM,GAAG,GAAE,KAAK,WAAS,GAAE;AAAA,QAAK,IAAG,KAAK,MAAM,MAAI,KAAI,KAAK,WAAS,KAAG,KAAK,MAAM,KAAG;AAAA,UAAE,KAAK,MAAM,KAAG,CAAC,KAAK,MAAM,IAAG,KAAK,WAAS;AAAA,QAAO;AAAA,mBAAQ,KAAE,EAAE,KAAE,KAAK,UAAQ,KAAK,MAAM,MAAG,GAAE;AAAA,YAAI,KAAK,MAAM,OAAI,UAAS,KAAK,MAAM,KAAE,MAAI;AAAA,QAAE,OAAO,KAAK,MAAM;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,MAAM,EAAE,MAAM,GAAG;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,MAAM,EAAE,MAAM,GAAG;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,GAAE;AAAA,QAAC,OAAO,KAAK,WAAS,GAAE;AAAA,SAAM,GAAG,UAAU,MAAI,QAAQ,GAAE;AAAA,QAAC,OAAO,KAAK,MAAM,EAAE,KAAK;AAAA,SAAG,GAAG,UAAU,eAAa,QAAQ,CAAC,KAAI,KAAI,OAAM;AAAA,QAAC,IAAI,OAAI,IAAI,SAAO,OAAM;AAAA,QAAE,KAAK,QAAQ,IAAG;AAAA,QAAE,IAAI,GAAE,QAAM;AAAA,QAAE,KAAI,KAAE,EAAE,KAAE,IAAI,QAAO,MAAI;AAAA,UAAC,KAAG,KAAK,MAAM,KAAE,SAAO,KAAG;AAAA,UAAM,IAAI,SAAO,IAAI,MAAM,MAAG,KAAG;AAAA,UAAI,KAAG,QAAM,UAAS,SAAO,KAAG,OAAK,QAAM,WAAS,IAAG,KAAK,MAAM,KAAE,SAAO,IAAE;AAAA,QAAQ;AAAA,QAAC,MAAK,KAAE,KAAK,SAAO,OAAM;AAAA,UAAI,KAAG,KAAK,MAAM,KAAE,SAAO,KAAG,OAAM,QAAM,KAAG,IAAG,KAAK,MAAM,KAAE,SAAO,IAAE;AAAA,QAAS,IAAG,UAAQ;AAAA,UAAE,OAAO,KAAK,MAAM;AAAA,QAAE,OAAO,UAAQ,EAAE,GAAE,QAAM;AAAA,QAAE,KAAI,KAAE,EAAE,KAAE,KAAK,QAAO;AAAA,UAAI,IAAE,EAAE,KAAK,MAAM,MAAG,KAAG,OAAM,QAAM,KAAG,IAAG,KAAK,MAAM,MAAG,IAAE;AAAA,QAAS,OAAO,KAAK,WAAS,GAAE,KAAK,MAAM;AAAA,SAAG,GAAG,UAAU,WAAS,QAAQ,CAAC,KAAI,MAAK;AAAA,QAAC,IAAI,QAAM,KAAK,SAAO,IAAI,QAAO,IAAE,KAAK,MAAM,GAAE,IAAE,KAAI,MAAI,EAAE,MAAM,EAAE,SAAO,KAAG,GAAE,UAAQ,KAAK,WAAW,GAAG;AAAA,QAAE,IAAG,QAAM,KAAG,SAAQ,UAAQ;AAAA,UAAE,IAAE,EAAE,MAAM,KAAK,GAAE,EAAE,OAAO,KAAK,GAAE,MAAI,EAAE,MAAM,EAAE,SAAO,KAAG;AAAA,QAAE,IAAI,IAAE,EAAE,SAAO,EAAE,QAAO;AAAA,QAAE,IAAG,SAAO,OAAM;AAAA,UAAC,IAAE,IAAI,GAAG,IAAI,GAAE,EAAE,SAAO,IAAE,GAAE,EAAE,QAAM,MAAM,EAAE,MAAM;AAAA,UAAE,SAAQ,KAAE,EAAE,KAAE,EAAE,QAAO;AAAA,YAAI,EAAE,MAAM,MAAG;AAAA,QAAC;AAAA,QAAC,IAAI,OAAK,EAAE,MAAM,EAAE,aAAa,GAAE,GAAE,CAAC;AAAA,QAAE,IAAG,KAAK,aAAW,GAAE;AAAA,UAAC,IAAG,IAAE,MAAK;AAAA,YAAE,EAAE,MAAM,KAAG;AAAA,QAAC;AAAA,QAAC,SAAQ,IAAE,IAAE,EAAE,KAAG,GAAE,KAAI;AAAA,UAAC,IAAI,MAAI,EAAE,MAAM,EAAE,SAAO,KAAG,KAAG,YAAU,EAAE,MAAM,EAAE,SAAO,IAAE,KAAG;AAAA,UAAG,KAAG,KAAK,IAAI,KAAG,MAAI,GAAE,QAAQ,GAAE,EAAE,aAAa,GAAE,IAAG,CAAC;AAAA,UAAE,OAAM,EAAE,aAAW;AAAA,YAAE,IAAG,MAAK,EAAE,WAAS,GAAE,EAAE,aAAa,GAAE,GAAE,CAAC,GAAE,CAAC,EAAE,OAAO;AAAA,cAAE,EAAE,YAAU;AAAA,UAAE,IAAG;AAAA,YAAE,EAAE,MAAM,KAAG;AAAA,QAAE;AAAA,QAAC,IAAG;AAAA,UAAE,EAAE,MAAM;AAAA,QAAE,IAAG,EAAE,MAAM,GAAE,SAAO,SAAO,UAAQ;AAAA,UAAE,EAAE,OAAO,KAAK;AAAA,QAAE,OAAM,EAAC,KAAI,KAAG,MAAK,KAAI,EAAC;AAAA,SAAG,GAAG,UAAU,SAAO,QAAQ,CAAC,KAAI,MAAK,UAAS;AAAA,QAAC,IAAG,OAAO,CAAC,IAAI,OAAO,CAAC,GAAE,KAAK,OAAO;AAAA,UAAE,OAAM,EAAC,KAAI,IAAI,GAAG,CAAC,GAAE,KAAI,IAAI,GAAG,CAAC,EAAC;AAAA,QAAE,IAAI,KAAI,KAAI;AAAA,QAAI,IAAG,KAAK,aAAW,KAAG,IAAI,aAAW,GAAE;AAAA,UAAC,IAAG,MAAI,KAAK,IAAI,EAAE,OAAO,KAAI,IAAI,GAAE,SAAO;AAAA,YAAM,MAAI,IAAI,IAAI,IAAI;AAAA,UAAE,IAAG,SAAO,OAAM;AAAA,YAAC,IAAG,MAAI,IAAI,IAAI,IAAI,GAAE,YAAU,IAAI,aAAW;AAAA,cAAE,IAAI,KAAK,GAAG;AAAA,UAAC;AAAA,UAAC,OAAM,EAAC,KAAI,IAAG;AAAA,QAAC;AAAA,QAAC,IAAG,KAAK,aAAW,KAAG,IAAI,aAAW,GAAE;AAAA,UAAC,IAAG,MAAI,KAAK,OAAO,IAAI,IAAI,GAAE,IAAI,GAAE,SAAO;AAAA,YAAM,MAAI,IAAI,IAAI,IAAI;AAAA,UAAE,OAAM,EAAC,KAAI,KAAI,IAAI,IAAG;AAAA,QAAC;AAAA,QAAC,KAAI,KAAK,WAAS,IAAI,cAAY,GAAE;AAAA,UAAC,IAAG,MAAI,KAAK,IAAI,EAAE,OAAO,IAAI,IAAI,GAAE,IAAI,GAAE,SAAO,OAAM;AAAA,YAAC,IAAG,MAAI,IAAI,IAAI,IAAI,GAAE,YAAU,IAAI,aAAW;AAAA,cAAE,IAAI,KAAK,GAAG;AAAA,UAAC;AAAA,UAAC,OAAM,EAAC,KAAI,IAAI,KAAI,IAAG;AAAA,QAAC;AAAA,QAAC,IAAG,IAAI,SAAO,KAAK,UAAQ,KAAK,IAAI,GAAG,IAAE;AAAA,UAAE,OAAM,EAAC,KAAI,IAAI,GAAG,CAAC,GAAE,KAAI,KAAI;AAAA,QAAE,IAAG,IAAI,WAAS,GAAE;AAAA,UAAC,IAAG,SAAO;AAAA,YAAM,OAAM,EAAC,KAAI,KAAK,KAAK,IAAI,MAAM,EAAE,GAAE,KAAI,KAAI;AAAA,UAAE,IAAG,SAAO;AAAA,YAAM,OAAM,EAAC,KAAI,MAAK,KAAI,IAAI,GAAG,KAAK,KAAK,IAAI,MAAM,EAAE,CAAC,EAAC;AAAA,UAAE,OAAM,EAAC,KAAI,KAAK,KAAK,IAAI,MAAM,EAAE,GAAE,KAAI,IAAI,GAAG,KAAK,KAAK,IAAI,MAAM,EAAE,CAAC,EAAC;AAAA,QAAC;AAAA,QAAC,OAAO,KAAK,SAAS,KAAI,IAAI;AAAA,SAAG,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,OAAO,KAAI,OAAM,KAAE,EAAE;AAAA,SAAK,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,OAAO,KAAI,OAAM,KAAE,EAAE;AAAA,SAAK,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,OAAO,KAAI,OAAM,IAAE,EAAE;AAAA,SAAK,GAAG,UAAU,WAAS,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI,KAAG,KAAK,OAAO,GAAG;AAAA,QAAE,IAAG,GAAG,IAAI,OAAO;AAAA,UAAE,OAAO,GAAG;AAAA,QAAI,IAAI,MAAI,GAAG,IAAI,aAAW,IAAE,GAAG,IAAI,KAAK,GAAG,IAAE,GAAG,KAAI,OAAK,IAAI,MAAM,CAAC,GAAE,KAAG,IAAI,MAAM,CAAC,GAAE,MAAI,IAAI,IAAI,IAAI;AAAA,QAAE,IAAG,MAAI,KAAG,OAAK,KAAG,QAAM;AAAA,UAAE,OAAO,GAAG;AAAA,QAAI,OAAO,GAAG,IAAI,aAAW,IAAE,GAAG,IAAI,MAAM,CAAC,IAAE,GAAG,IAAI,MAAM,CAAC;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAK,QAAQ;AAAA,QAAE,IAAI,IAAE,WAAS,KAAI,MAAI;AAAA,QAAE,SAAQ,KAAE,KAAK,SAAO,EAAE,MAAG,GAAE;AAAA,UAAI,OAAK,IAAE,OAAK,KAAK,MAAM,MAAG,MAAI;AAAA,QAAI,OAAO;AAAA,SAAK,GAAG,UAAU,QAAM,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAK,QAAQ;AAAA,QAAE,IAAI,QAAM;AAAA,QAAE,SAAQ,KAAE,KAAK,SAAO,EAAE,MAAG,GAAE,MAAI;AAAA,UAAC,IAAI,KAAG,KAAK,MAAM,MAAG,KAAG,QAAM;AAAA,UAAS,KAAK,MAAM,MAAG,IAAE,MAAI,GAAE,QAAM,IAAE;AAAA,QAAG;AAAA,QAAC,OAAO,KAAK,MAAM;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,MAAM,EAAE,MAAM,GAAG;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,GAAE;AAAA,QAAC,OAAO,EAAE,aAAW,CAAC,GAAE,OAAO,CAAC,EAAE,OAAO,CAAC;AAAA,QAAE,IAAI,IAAE,MAAK,IAAE,EAAE,MAAM;AAAA,QAAE,IAAG,EAAE,aAAW;AAAA,UAAE,IAAE,EAAE,KAAK,CAAC;AAAA,QAAO;AAAA,cAAE,EAAE,MAAM;AAAA,QAAE,IAAI,IAAE,IAAI,GAAG,CAAC,GAAE,IAAE,IAAI,GAAG,CAAC,GAAE,IAAE,IAAI,GAAG,CAAC,GAAE,IAAE,IAAI,GAAG,CAAC,GAAE,IAAE;AAAA,QAAE,OAAM,EAAE,OAAO,KAAG,EAAE,OAAO;AAAA,UAAE,EAAE,OAAO,CAAC,GAAE,EAAE,OAAO,CAAC,GAAE,EAAE;AAAA,QAAE,IAAI,KAAG,EAAE,MAAM,GAAE,KAAG,EAAE,MAAM;AAAA,QAAE,OAAM,CAAC,EAAE,OAAO,GAAE;AAAA,UAAC,SAAQ,KAAE,GAAE,KAAG,GAAG,EAAE,MAAM,KAAG,QAAM,KAAG,KAAE,IAAG,EAAE,IAAE,OAAK;AAAA;AAAA,UAAG,IAAG,KAAE,GAAE;AAAA,YAAC,EAAE,OAAO,EAAC;AAAA,YAAE,OAAM,OAAK,GAAE;AAAA,cAAC,IAAG,EAAE,MAAM,KAAG,EAAE,MAAM;AAAA,gBAAE,EAAE,KAAK,EAAE,GAAE,EAAE,KAAK,EAAE;AAAA,cAAE,EAAE,OAAO,CAAC,GAAE,EAAE,OAAO,CAAC;AAAA,YAAC;AAAA,UAAC;AAAA,UAAC,SAAQ,IAAE,GAAE,KAAG,GAAG,EAAE,MAAM,KAAG,QAAM,KAAG,IAAE,IAAG,EAAE,GAAE,OAAK;AAAA;AAAA,UAAG,IAAG,IAAE,GAAE;AAAA,YAAC,EAAE,OAAO,CAAC;AAAA,YAAE,OAAM,MAAK,GAAE;AAAA,cAAC,IAAG,EAAE,MAAM,KAAG,EAAE,MAAM;AAAA,gBAAE,EAAE,KAAK,EAAE,GAAE,EAAE,KAAK,EAAE;AAAA,cAAE,EAAE,OAAO,CAAC,GAAE,EAAE,OAAO,CAAC;AAAA,YAAC;AAAA,UAAC;AAAA,UAAC,IAAG,EAAE,IAAI,CAAC,KAAG;AAAA,YAAE,EAAE,KAAK,CAAC,GAAE,EAAE,KAAK,CAAC,GAAE,EAAE,KAAK,CAAC;AAAA,UAAO;AAAA,cAAE,KAAK,CAAC,GAAE,EAAE,KAAK,CAAC,GAAE,EAAE,KAAK,CAAC;AAAA,QAAC;AAAA,QAAC,OAAM,EAAC,GAAE,GAAE,GAAE,GAAE,KAAI,EAAE,OAAO,CAAC,EAAC;AAAA,SAAG,GAAG,UAAU,SAAO,QAAQ,CAAC,GAAE;AAAA,QAAC,OAAO,EAAE,aAAW,CAAC,GAAE,OAAO,CAAC,EAAE,OAAO,CAAC;AAAA,QAAE,IAAI,IAAE,MAAK,IAAE,EAAE,MAAM;AAAA,QAAE,IAAG,EAAE,aAAW;AAAA,UAAE,IAAE,EAAE,KAAK,CAAC;AAAA,QAAO;AAAA,cAAE,EAAE,MAAM;AAAA,QAAE,IAAI,KAAG,IAAI,GAAG,CAAC,GAAE,KAAG,IAAI,GAAG,CAAC,GAAE,QAAM,EAAE,MAAM;AAAA,QAAE,OAAM,EAAE,KAAK,CAAC,IAAE,KAAG,EAAE,KAAK,CAAC,IAAE,GAAE;AAAA,UAAC,SAAQ,KAAE,GAAE,KAAG,GAAG,EAAE,MAAM,KAAG,QAAM,KAAG,KAAE,IAAG,EAAE,IAAE,OAAK;AAAA;AAAA,UAAG,IAAG,KAAE,GAAE;AAAA,YAAC,EAAE,OAAO,EAAC;AAAA,YAAE,OAAM,OAAK,GAAE;AAAA,cAAC,IAAG,GAAG,MAAM;AAAA,gBAAE,GAAG,KAAK,KAAK;AAAA,cAAE,GAAG,OAAO,CAAC;AAAA,YAAC;AAAA,UAAC;AAAA,UAAC,SAAQ,IAAE,GAAE,KAAG,GAAG,EAAE,MAAM,KAAG,QAAM,KAAG,IAAE,IAAG,EAAE,GAAE,OAAK;AAAA;AAAA,UAAG,IAAG,IAAE,GAAE;AAAA,YAAC,EAAE,OAAO,CAAC;AAAA,YAAE,OAAM,MAAK,GAAE;AAAA,cAAC,IAAG,GAAG,MAAM;AAAA,gBAAE,GAAG,KAAK,KAAK;AAAA,cAAE,GAAG,OAAO,CAAC;AAAA,YAAC;AAAA,UAAC;AAAA,UAAC,IAAG,EAAE,IAAI,CAAC,KAAG;AAAA,YAAE,EAAE,KAAK,CAAC,GAAE,GAAG,KAAK,EAAE;AAAA,UAAO;AAAA,cAAE,KAAK,CAAC,GAAE,GAAG,KAAK,EAAE;AAAA,QAAC;AAAA,QAAC,IAAI;AAAA,QAAI,IAAG,EAAE,KAAK,CAAC,MAAI;AAAA,UAAE,MAAI;AAAA,QAAQ;AAAA,gBAAI;AAAA,QAAG,IAAG,IAAI,KAAK,CAAC,IAAE;AAAA,UAAE,IAAI,KAAK,CAAC;AAAA,QAAE,OAAO;AAAA,SAAK,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAG,KAAK,OAAO;AAAA,UAAE,OAAO,IAAI,IAAI;AAAA,QAAE,IAAG,IAAI,OAAO;AAAA,UAAE,OAAO,KAAK,IAAI;AAAA,QAAE,IAAI,IAAE,KAAK,MAAM,GAAE,IAAE,IAAI,MAAM;AAAA,QAAE,EAAE,WAAS,GAAE,EAAE,WAAS;AAAA,QAAE,SAAQ,QAAM,EAAE,EAAE,OAAO,KAAG,EAAE,OAAO,GAAE;AAAA,UAAQ,EAAE,OAAO,CAAC,GAAE,EAAE,OAAO,CAAC;AAAA,QAAE,GAAE;AAAA,UAAC,OAAM,EAAE,OAAO;AAAA,YAAE,EAAE,OAAO,CAAC;AAAA,UAAE,OAAM,EAAE,OAAO;AAAA,YAAE,EAAE,OAAO,CAAC;AAAA,UAAE,IAAI,IAAE,EAAE,IAAI,CAAC;AAAA,UAAE,IAAG,IAAE,GAAE;AAAA,YAAC,IAAI,IAAE;AAAA,YAAE,IAAE,GAAE,IAAE;AAAA,UAAC,EAAM,SAAG,MAAI,KAAG,EAAE,KAAK,CAAC,MAAI;AAAA,YAAE;AAAA,UAAM,EAAE,KAAK,CAAC;AAAA,QAAC,SAAO;AAAA,QAAI,OAAO,EAAE,OAAO,KAAK;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,KAAK,GAAG,EAAE,EAAE,KAAK,GAAG;AAAA,SAAG,GAAG,UAAU,SAAO,QAAQ,GAAE;AAAA,QAAC,QAAO,KAAK,MAAM,KAAG,OAAK;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,GAAE;AAAA,QAAC,QAAO,KAAK,MAAM,KAAG,OAAK;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,MAAM,KAAG;AAAA,SAAK,GAAG,UAAU,QAAM,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAO,QAAM,QAAQ;AAAA,QAAE,IAAI,IAAE,MAAI,IAAG,KAAG,MAAI,KAAG,IAAG,IAAE,KAAG;AAAA,QAAE,IAAG,KAAK,UAAQ;AAAA,UAAE,OAAO,KAAK,QAAQ,IAAE,CAAC,GAAE,KAAK,MAAM,MAAI,GAAE;AAAA,QAAK,IAAI,QAAM;AAAA,QAAE,SAAQ,KAAE,EAAE,UAAQ,KAAG,KAAE,KAAK,QAAO,MAAI;AAAA,UAAC,IAAI,IAAE,KAAK,MAAM,MAAG;AAAA,UAAE,KAAG,OAAM,QAAM,MAAI,IAAG,KAAG,UAAS,KAAK,MAAM,MAAG;AAAA,QAAC;AAAA,QAAC,IAAG,UAAQ;AAAA,UAAE,KAAK,MAAM,MAAG,OAAM,KAAK;AAAA,QAAS,OAAO;AAAA,SAAM,GAAG,UAAU,SAAO,QAAQ,GAAE;AAAA,QAAC,OAAO,KAAK,WAAS,KAAG,KAAK,MAAM,OAAK;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI,WAAS,MAAI;AAAA,QAAE,IAAG,KAAK,aAAW,KAAG,CAAC;AAAA,UAAS,OAAM;AAAA,QAAG,IAAG,KAAK,aAAW,KAAG;AAAA,UAAS,OAAO;AAAA,QAAE,KAAK,MAAM;AAAA,QAAE,IAAI;AAAA,QAAI,IAAG,KAAK,SAAO;AAAA,UAAE,MAAI;AAAA,QAAM;AAAA,UAAC,IAAG;AAAA,YAAS,MAAI,CAAC;AAAA,UAAI,OAAO,OAAK,UAAS,mBAAmB;AAAA,UAAE,IAAI,IAAE,KAAK,MAAM,KAAG;AAAA,UAAE,MAAI,MAAI,MAAI,IAAE,IAAE,MAAI,KAAG;AAAA;AAAA,QAAE,IAAG,KAAK,aAAW;AAAA,UAAE,OAAM,CAAC,MAAI;AAAA,QAAE,OAAO;AAAA,SAAK,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAG,KAAK,aAAW,KAAG,IAAI,aAAW;AAAA,UAAE,OAAM;AAAA,QAAG,IAAG,KAAK,aAAW,KAAG,IAAI,aAAW;AAAA,UAAE,OAAO;AAAA,QAAE,IAAI,MAAI,KAAK,KAAK,GAAG;AAAA,QAAE,IAAG,KAAK,aAAW;AAAA,UAAE,OAAM,CAAC,MAAI;AAAA,QAAE,OAAO;AAAA,SAAK,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAG,KAAK,SAAO,IAAI;AAAA,UAAO,OAAO;AAAA,QAAE,IAAG,KAAK,SAAO,IAAI;AAAA,UAAO,OAAM;AAAA,QAAG,IAAI,MAAI;AAAA,QAAE,SAAQ,KAAE,KAAK,SAAO,EAAE,MAAG,GAAE,MAAI;AAAA,UAAC,IAAI,IAAE,KAAK,MAAM,MAAG,GAAE,IAAE,IAAI,MAAM,MAAG;AAAA,UAAE,IAAG,MAAI;AAAA,YAAE;AAAA,UAAS,IAAG,IAAE;AAAA,YAAE,MAAI;AAAA,UAAQ,SAAG,IAAE;AAAA,YAAE,MAAI;AAAA,UAAE;AAAA,QAAK;AAAA,QAAC,OAAO;AAAA,SAAK,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,KAAK,GAAG,MAAI;AAAA,SAAG,GAAG,UAAU,KAAG,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,IAAI,GAAG,MAAI;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,KAAK,GAAG,KAAG;AAAA,SAAG,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,IAAI,GAAG,KAAG;AAAA,SAAG,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,KAAK,GAAG,MAAI;AAAA,SAAI,GAAG,UAAU,KAAG,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,IAAI,GAAG,MAAI;AAAA,SAAI,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,KAAK,GAAG,KAAG;AAAA,SAAG,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,IAAI,GAAG,KAAG;AAAA,SAAG,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,KAAK,GAAG,MAAI;AAAA,SAAG,GAAG,UAAU,KAAG,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,IAAI,GAAG,MAAI;AAAA,SAAG,GAAG,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,IAAI,IAAI,GAAG;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAO,CAAC,KAAK,KAAI,uCAAuC,GAAE,OAAO,KAAK,aAAW,GAAE,+BAA+B,GAAE,IAAI,UAAU,IAAI,EAAE,UAAU,GAAG;AAAA,SAAG,GAAG,UAAU,UAAQ,QAAQ,GAAE;AAAA,QAAC,OAAO,OAAO,KAAK,KAAI,sDAAsD,GAAE,KAAK,IAAI,YAAY,IAAI;AAAA,SAAG,GAAG,UAAU,YAAU,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,MAAI,KAAI;AAAA,SAAM,GAAG,UAAU,WAAS,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAO,CAAC,KAAK,KAAI,uCAAuC,GAAE,KAAK,UAAU,GAAG;AAAA,SAAG,GAAG,UAAU,SAAO,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAO,KAAK,KAAI,oCAAoC,GAAE,KAAK,IAAI,IAAI,MAAK,GAAG;AAAA,SAAG,GAAG,UAAU,UAAQ,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAO,KAAK,KAAI,qCAAqC,GAAE,KAAK,IAAI,KAAK,MAAK,GAAG;AAAA,SAAG,GAAG,UAAU,SAAO,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAO,KAAK,KAAI,oCAAoC,GAAE,KAAK,IAAI,IAAI,MAAK,GAAG;AAAA,SAAG,GAAG,UAAU,UAAQ,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAO,KAAK,KAAI,qCAAqC,GAAE,KAAK,IAAI,KAAK,MAAK,GAAG;AAAA,SAAG,GAAG,UAAU,SAAO,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAO,KAAK,KAAI,oCAAoC,GAAE,KAAK,IAAI,IAAI,MAAK,GAAG;AAAA,SAAG,GAAG,UAAU,SAAO,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAO,KAAK,KAAI,oCAAoC,GAAE,KAAK,IAAI,SAAS,MAAK,GAAG,GAAE,KAAK,IAAI,IAAI,MAAK,GAAG;AAAA,SAAG,GAAG,UAAU,UAAQ,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAO,KAAK,KAAI,oCAAoC,GAAE,KAAK,IAAI,SAAS,MAAK,GAAG,GAAE,KAAK,IAAI,KAAK,MAAK,GAAG;AAAA,SAAG,GAAG,UAAU,SAAO,QAAQ,GAAE;AAAA,QAAC,OAAO,OAAO,KAAK,KAAI,oCAAoC,GAAE,KAAK,IAAI,SAAS,IAAI,GAAE,KAAK,IAAI,IAAI,IAAI;AAAA,SAAG,GAAG,UAAU,UAAQ,QAAQ,GAAE;AAAA,QAAC,OAAO,OAAO,KAAK,KAAI,qCAAqC,GAAE,KAAK,IAAI,SAAS,IAAI,GAAE,KAAK,IAAI,KAAK,IAAI;AAAA,SAAG,GAAG,UAAU,UAAQ,QAAQ,GAAE;AAAA,QAAC,OAAO,OAAO,KAAK,KAAI,qCAAqC,GAAE,KAAK,IAAI,SAAS,IAAI,GAAE,KAAK,IAAI,KAAK,IAAI;AAAA,SAAG,GAAG,UAAU,UAAQ,QAAQ,GAAE;AAAA,QAAC,OAAO,OAAO,KAAK,KAAI,qCAAqC,GAAE,KAAK,IAAI,SAAS,IAAI,GAAE,KAAK,IAAI,KAAK,IAAI;AAAA,SAAG,GAAG,UAAU,SAAO,QAAQ,GAAE;AAAA,QAAC,OAAO,OAAO,KAAK,KAAI,oCAAoC,GAAE,KAAK,IAAI,SAAS,IAAI,GAAE,KAAK,IAAI,IAAI,IAAI;AAAA,SAAG,GAAG,UAAU,SAAO,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAO,KAAK,OAAK,CAAC,IAAI,KAAI,mBAAmB,GAAE,KAAK,IAAI,SAAS,IAAI,GAAE,KAAK,IAAI,IAAI,MAAK,GAAG;AAAA;AAAA,MAAG,IAAI,SAAO,EAAC,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,QAAO,KAAI;AAAA,MAAE,SAAS,MAAM,CAAC,MAAK,GAAE;AAAA,QAAC,KAAK,OAAK,MAAK,KAAK,IAAE,IAAI,GAAG,GAAE,EAAE,GAAE,KAAK,IAAE,KAAK,EAAE,UAAU,GAAE,KAAK,IAAE,IAAI,GAAG,CAAC,EAAE,OAAO,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,GAAE,KAAK,MAAI,KAAK,KAAK;AAAA;AAAA,MAAE,OAAO,UAAU,OAAK,QAAQ,GAAE;AAAA,QAAC,IAAI,MAAI,IAAI,GAAG,IAAI;AAAA,QAAE,OAAO,IAAI,QAAM,MAAM,KAAK,KAAK,KAAK,IAAE,EAAE,CAAC,GAAE;AAAA,SAAK,OAAO,UAAU,UAAQ,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI,IAAE,KAAI;AAAA,QAAK;AAAA,UAAG,KAAK,MAAM,GAAE,KAAK,GAAG,GAAE,IAAE,KAAK,MAAM,CAAC,GAAE,IAAE,EAAE,KAAK,KAAK,GAAG,GAAE,OAAK,EAAE,UAAU;AAAA,eAAQ,OAAK,KAAK;AAAA,QAAG,IAAI,MAAI,OAAK,KAAK,IAAE,KAAG,EAAE,KAAK,KAAK,CAAC;AAAA,QAAE,IAAG,QAAM;AAAA,UAAE,EAAE,MAAM,KAAG,GAAE,EAAE,SAAO;AAAA,QAAO,SAAG,MAAI;AAAA,UAAE,EAAE,KAAK,KAAK,CAAC;AAAA,QAAO,SAAG,EAAE,UAAa;AAAA,UAAE,EAAE,MAAM;AAAA,QAAO;AAAA,YAAE,OAAO;AAAA,QAAE,OAAO;AAAA,SAAG,OAAO,UAAU,QAAM,QAAQ,CAAC,OAAM,KAAI;AAAA,QAAC,MAAM,OAAO,KAAK,GAAE,GAAE,GAAG;AAAA,SAAG,OAAO,UAAU,QAAM,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,IAAI,KAAK,KAAK,CAAC;AAAA;AAAA,MAAG,SAAS,IAAI,GAAE;AAAA,QAAC,OAAO,KAAK,MAAK,QAAO,yEAAyE;AAAA;AAAA,MAAE,UAAS,MAAK,MAAM,GAAE,KAAK,UAAU,QAAM,QAAQ,CAAC,OAAM,QAAO;AAAA,QAAC,IAAI,OAAK,SAAQ,SAAO,KAAK,IAAI,MAAM,QAAO,CAAC;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,QAAO;AAAA,UAAI,OAAO,MAAM,MAAG,MAAM,MAAM;AAAA,QAAG,IAAG,OAAO,SAAO,QAAO,MAAM,UAAQ,GAAE;AAAA,UAAC,MAAM,MAAM,KAAG,GAAE,MAAM,SAAO;AAAA,UAAE;AAAA,QAAM;AAAA,QAAC,IAAI,OAAK,MAAM,MAAM;AAAA,QAAG,OAAO,MAAM,OAAO,YAAU,OAAK;AAAA,QAAK,KAAI,KAAE,GAAG,KAAE,MAAM,QAAO,MAAI;AAAA,UAAC,IAAI,OAAK,MAAM,MAAM,MAAG;AAAA,UAAE,MAAM,MAAM,KAAE,OAAK,OAAK,SAAO,IAAE,SAAO,IAAG,OAAK;AAAA,QAAI;AAAA,QAAC,IAAG,UAAQ,IAAG,MAAM,MAAM,KAAE,MAAI,MAAK,SAAO,KAAG,MAAM,SAAO;AAAA,UAAG,MAAM,UAAQ;AAAA,QAAQ;AAAA,gBAAM,UAAQ;AAAA,SAAG,KAAK,UAAU,QAAM,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI,MAAM,IAAI,UAAQ,GAAE,IAAI,MAAM,IAAI,SAAO,KAAG,GAAE,IAAI,UAAQ;AAAA,QAAE,IAAI,KAAG;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,IAAI,QAAO,MAAI;AAAA,UAAC,IAAI,IAAE,IAAI,MAAM,MAAG;AAAA,UAAE,MAAI,IAAE,KAAI,IAAI,MAAM,MAAG,KAAG,UAAS,KAAG,IAAE,MAAI,KAAG,WAAS;AAAA,QAAE;AAAA,QAAC,IAAG,IAAI,MAAM,IAAI,SAAO,OAAK,GAAE;AAAA,UAAC,IAAG,IAAI,UAAS,IAAI,MAAM,IAAI,SAAO,OAAK;AAAA,YAAE,IAAI;AAAA,QAAQ;AAAA,QAAC,OAAO;AAAA;AAAA,MAAK,SAAS,IAAI,GAAE;AAAA,QAAC,OAAO,KAAK,MAAK,QAAO,gEAAgE;AAAA;AAAA,MAAE,UAAS,MAAK,MAAM;AAAA,MAAE,SAAS,IAAI,GAAE;AAAA,QAAC,OAAO,KAAK,MAAK,QAAO,uDAAuD;AAAA;AAAA,MAAE,UAAS,MAAK,MAAM;AAAA,MAAE,SAAS,MAAM,GAAE;AAAA,QAAC,OAAO,KAAK,MAAK,SAAQ,qEAAqE;AAAA;AAAA,MAAE,UAAS,QAAO,MAAM,GAAE,OAAO,UAAU,QAAM,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI,QAAM;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,IAAI,QAAO,MAAI;AAAA,UAAC,IAAI,MAAI,IAAI,MAAM,MAAG,KAAG,KAAG,OAAM,KAAG,KAAG;AAAA,UAAS,QAAM,IAAG,IAAI,MAAM,MAAG,IAAG,QAAM;AAAA,QAAE;AAAA,QAAC,IAAG,UAAQ;AAAA,UAAE,IAAI,MAAM,IAAI,YAAU;AAAA,QAAM,OAAO;AAAA,SAAK,GAAG,SAAO,QAAQ,CAAC,MAAK;AAAA,QAAC,IAAG,OAAO;AAAA,UAAM,OAAO,OAAO;AAAA,QAAM,IAAI;AAAA,QAAM,IAAG,SAAO;AAAA,UAAO,QAAM,IAAI;AAAA,QAAU,SAAG,SAAO;AAAA,UAAO,QAAM,IAAI;AAAA,QAAU,SAAG,SAAO;AAAA,UAAO,QAAM,IAAI;AAAA,QAAU,SAAG,SAAO;AAAA,UAAS,QAAM,IAAI;AAAA,QAAY;AAAA,gBAAM,MAAM,mBAAiB,IAAI;AAAA,QAAE,OAAO,OAAO,QAAM,OAAM;AAAA;AAAA,MAAO,SAAS,GAAG,CAAC,GAAE;AAAA,QAAC,IAAG,OAAO,MAAI,UAAS;AAAA,UAAC,IAAI,QAAM,GAAG,OAAO,CAAC;AAAA,UAAE,KAAK,IAAE,MAAM,GAAE,KAAK,QAAM;AAAA,QAAK,EAAM;AAAA,iBAAO,EAAE,IAAI,CAAC,GAAE,gCAAgC,GAAE,KAAK,IAAE,GAAE,KAAK,QAAM;AAAA;AAAA,MAAK,IAAI,UAAU,WAAS,QAAQ,CAAC,GAAE;AAAA,QAAC,OAAO,EAAE,aAAW,GAAE,+BAA+B,GAAE,OAAO,EAAE,KAAI,iCAAiC;AAAA,SAAG,IAAI,UAAU,WAAS,QAAQ,CAAC,GAAE,GAAE;AAAA,QAAC,QAAQ,EAAE,WAAS,EAAE,cAAY,GAAE,+BAA+B,GAAE,OAAO,EAAE,OAAK,EAAE,QAAM,EAAE,KAAI,iCAAiC;AAAA,SAAG,IAAI,UAAU,OAAK,QAAQ,CAAC,GAAE;AAAA,QAAC,IAAG,KAAK;AAAA,UAAM,OAAO,KAAK,MAAM,QAAQ,CAAC,EAAE,UAAU,IAAI;AAAA,QAAE,OAAO,EAAE,KAAK,KAAK,CAAC,EAAE,UAAU,IAAI;AAAA,SAAG,IAAI,UAAU,MAAI,QAAQ,CAAC,GAAE;AAAA,QAAC,IAAG,EAAE,OAAO;AAAA,UAAE,OAAO,EAAE,MAAM;AAAA,QAAE,OAAO,KAAK,EAAE,IAAI,CAAC,EAAE,UAAU,IAAI;AAAA,SAAG,IAAI,UAAU,MAAI,QAAQ,CAAC,GAAE,GAAE;AAAA,QAAC,KAAK,SAAS,GAAE,CAAC;AAAA,QAAE,IAAI,MAAI,EAAE,IAAI,CAAC;AAAA,QAAE,IAAG,IAAI,IAAI,KAAK,CAAC,KAAG;AAAA,UAAE,IAAI,KAAK,KAAK,CAAC;AAAA,QAAE,OAAO,IAAI,UAAU,IAAI;AAAA,SAAG,IAAI,UAAU,OAAK,QAAQ,CAAC,GAAE,GAAE;AAAA,QAAC,KAAK,SAAS,GAAE,CAAC;AAAA,QAAE,IAAI,MAAI,EAAE,KAAK,CAAC;AAAA,QAAE,IAAG,IAAI,IAAI,KAAK,CAAC,KAAG;AAAA,UAAE,IAAI,KAAK,KAAK,CAAC;AAAA,QAAE,OAAO;AAAA,SAAK,IAAI,UAAU,MAAI,QAAQ,CAAC,GAAE,GAAE;AAAA,QAAC,KAAK,SAAS,GAAE,CAAC;AAAA,QAAE,IAAI,MAAI,EAAE,IAAI,CAAC;AAAA,QAAE,IAAG,IAAI,KAAK,CAAC,IAAE;AAAA,UAAE,IAAI,KAAK,KAAK,CAAC;AAAA,QAAE,OAAO,IAAI,UAAU,IAAI;AAAA,SAAG,IAAI,UAAU,OAAK,QAAQ,CAAC,GAAE,GAAE;AAAA,QAAC,KAAK,SAAS,GAAE,CAAC;AAAA,QAAE,IAAI,MAAI,EAAE,KAAK,CAAC;AAAA,QAAE,IAAG,IAAI,KAAK,CAAC,IAAE;AAAA,UAAE,IAAI,KAAK,KAAK,CAAC;AAAA,QAAE,OAAO;AAAA,SAAK,IAAI,UAAU,MAAI,QAAQ,CAAC,GAAE,KAAI;AAAA,QAAC,OAAO,KAAK,SAAS,CAAC,GAAE,KAAK,KAAK,EAAE,MAAM,GAAG,CAAC;AAAA,SAAG,IAAI,UAAU,OAAK,QAAQ,CAAC,GAAE,GAAE;AAAA,QAAC,OAAO,KAAK,SAAS,GAAE,CAAC,GAAE,KAAK,KAAK,EAAE,KAAK,CAAC,CAAC;AAAA,SAAG,IAAI,UAAU,MAAI,QAAQ,CAAC,GAAE,GAAE;AAAA,QAAC,OAAO,KAAK,SAAS,GAAE,CAAC,GAAE,KAAK,KAAK,EAAE,IAAI,CAAC,CAAC;AAAA,SAAG,IAAI,UAAU,OAAK,QAAQ,CAAC,GAAE;AAAA,QAAC,OAAO,KAAK,KAAK,GAAE,EAAE,MAAM,CAAC;AAAA,SAAG,IAAI,UAAU,MAAI,QAAQ,CAAC,GAAE;AAAA,QAAC,OAAO,KAAK,IAAI,GAAE,CAAC;AAAA,SAAG,IAAI,UAAU,OAAK,QAAQ,CAAC,GAAE;AAAA,QAAC,IAAG,EAAE,OAAO;AAAA,UAAE,OAAO,EAAE,MAAM;AAAA,QAAE,IAAI,OAAK,KAAK,EAAE,MAAM,CAAC;AAAA,QAAE,IAAG,OAAO,OAAK,MAAI,CAAC,GAAE,SAAO,GAAE;AAAA,UAAC,IAAI,MAAI,KAAK,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC;AAAA,UAAE,OAAO,KAAK,IAAI,GAAE,GAAG;AAAA,QAAC;AAAA,QAAC,IAAI,IAAE,KAAK,EAAE,KAAK,CAAC,GAAE,IAAE;AAAA,QAAE,OAAM,CAAC,EAAE,OAAO,KAAG,EAAE,MAAM,CAAC,MAAI;AAAA,UAAE,KAAI,EAAE,OAAO,CAAC;AAAA,QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;AAAA,QAAE,IAAI,MAAI,IAAI,GAAG,CAAC,EAAE,MAAM,IAAI,GAAE,OAAK,IAAI,OAAO,GAAE,OAAK,KAAK,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,GAAE,IAAE,KAAK,EAAE,UAAU;AAAA,QAAE,IAAE,IAAI,GAAG,IAAE,IAAE,CAAC,EAAE,MAAM,IAAI;AAAA,QAAE,OAAM,KAAK,IAAI,GAAE,IAAI,EAAE,IAAI,IAAI,MAAI;AAAA,UAAE,EAAE,QAAQ,IAAI;AAAA,QAAE,IAAI,IAAE,KAAK,IAAI,GAAE,CAAC,GAAE,IAAE,KAAK,IAAI,GAAE,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,GAAE,IAAE,KAAK,IAAI,GAAE,CAAC,GAAE,IAAE;AAAA,QAAE,OAAM,EAAE,IAAI,GAAG,MAAI,GAAE;AAAA,UAAC,IAAI,MAAI;AAAA,UAAE,SAAQ,KAAE,EAAE,IAAI,IAAI,GAAG,MAAI,GAAE;AAAA,YAAI,MAAI,IAAI,OAAO;AAAA,UAAE,OAAO,KAAE,CAAC;AAAA,UAAE,IAAI,IAAE,KAAK,IAAI,GAAE,IAAI,GAAG,CAAC,EAAE,OAAO,IAAE,KAAE,CAAC,CAAC;AAAA,UAAE,IAAE,EAAE,OAAO,CAAC,GAAE,IAAE,EAAE,OAAO,GAAE,IAAE,EAAE,OAAO,CAAC,GAAE,IAAE;AAAA,QAAC;AAAA,QAAC,OAAO;AAAA,SAAG,IAAI,UAAU,OAAK,QAAQ,CAAC,GAAE;AAAA,QAAC,IAAI,MAAI,EAAE,OAAO,KAAK,CAAC;AAAA,QAAE,IAAG,IAAI,aAAW;AAAA,UAAE,OAAO,IAAI,WAAS,GAAE,KAAK,KAAK,GAAG,EAAE,OAAO;AAAA,QAAO;AAAA,iBAAO,KAAK,KAAK,GAAG;AAAA,SAAG,IAAI,UAAU,MAAI,QAAQ,CAAC,GAAE,KAAI;AAAA,QAAC,IAAG,IAAI,OAAO;AAAA,UAAE,OAAO,IAAI,GAAG,CAAC,EAAE,MAAM,IAAI;AAAA,QAAE,IAAG,IAAI,KAAK,CAAC,MAAI;AAAA,UAAE,OAAO,EAAE,MAAM;AAAA,QAAE,IAAI,aAAW,GAAE,MAAI,MAAM,KAAG,UAAU;AAAA,QAAE,IAAI,KAAG,IAAI,GAAG,CAAC,EAAE,MAAM,IAAI,GAAE,IAAI,KAAG;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,IAAI,QAAO;AAAA,UAAI,IAAI,MAAG,KAAK,IAAI,IAAI,KAAE,IAAG,CAAC;AAAA,QAAE,IAAI,MAAI,IAAI,IAAG,UAAQ,GAAE,aAAW,GAAE,QAAM,IAAI,UAAU,IAAE;AAAA,QAAG,IAAG,UAAQ;AAAA,UAAE,QAAM;AAAA,QAAG,KAAI,KAAE,IAAI,SAAO,EAAE,MAAG,GAAE,MAAI;AAAA,UAAC,IAAI,OAAK,IAAI,MAAM;AAAA,UAAG,SAAQ,IAAE,QAAM,EAAE,KAAG,GAAE,KAAI;AAAA,YAAC,IAAI,MAAI,QAAM,IAAE;AAAA,YAAE,IAAG,QAAM,IAAI;AAAA,cAAG,MAAI,KAAK,IAAI,GAAG;AAAA,YAAE,IAAG,QAAM,KAAG,YAAU,GAAE;AAAA,cAAC,aAAW;AAAA,cAAE;AAAA,YAAQ;AAAA,YAAC,IAAG,YAAU,GAAE,WAAS,KAAI,cAAa,eAAa,eAAa,OAAI,KAAG,MAAI;AAAA,cAAG;AAAA,YAAS,MAAI,KAAK,IAAI,KAAI,IAAI,QAAQ,GAAE,aAAW,GAAE,UAAQ;AAAA,UAAC;AAAA,UAAC,QAAM;AAAA,QAAE;AAAA,QAAC,OAAO;AAAA,SAAK,IAAI,UAAU,YAAU,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI,IAAE,IAAI,KAAK,KAAK,CAAC;AAAA,QAAE,OAAO,MAAI,MAAI,EAAE,MAAM,IAAE;AAAA,SAAG,IAAI,UAAU,cAAY,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI,MAAI,IAAI,MAAM;AAAA,QAAE,OAAO,IAAI,MAAI,MAAK;AAAA,SAAK,GAAG,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,IAAI,KAAK,GAAG;AAAA;AAAA,MAAG,SAAS,IAAI,CAAC,GAAE;AAAA,QAAC,IAAG,IAAI,KAAK,MAAK,CAAC,GAAE,KAAK,QAAM,KAAK,EAAE,UAAU,GAAE,KAAK,QAAM,OAAK;AAAA,UAAE,KAAK,SAAO,KAAG,KAAK,QAAM;AAAA,QAAG,KAAK,IAAE,IAAI,GAAG,CAAC,EAAE,OAAO,KAAK,KAAK,GAAE,KAAK,KAAG,KAAK,KAAK,KAAK,EAAE,IAAI,CAAC,GAAE,KAAK,OAAK,KAAK,EAAE,OAAO,KAAK,CAAC,GAAE,KAAK,OAAK,KAAK,KAAK,IAAI,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,GAAE,KAAK,OAAK,KAAK,KAAK,KAAK,KAAK,CAAC,GAAE,KAAK,OAAK,KAAK,EAAE,IAAI,KAAK,IAAI;AAAA;AAAA,MAAE,UAAS,MAAK,GAAG,GAAE,KAAK,UAAU,YAAU,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,KAAK,IAAI,MAAM,KAAK,KAAK,CAAC;AAAA,SAAG,KAAK,UAAU,cAAY,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI,IAAE,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,CAAC;AAAA,QAAE,OAAO,EAAE,MAAI,MAAK;AAAA,SAAG,KAAK,UAAU,OAAK,QAAQ,CAAC,GAAE,GAAE;AAAA,QAAC,IAAG,EAAE,OAAO,KAAG,EAAE,OAAO;AAAA,UAAE,OAAO,EAAE,MAAM,KAAG,GAAE,EAAE,SAAO,GAAE;AAAA,QAAE,IAAI,IAAE,EAAE,KAAK,CAAC,GAAE,IAAE,EAAE,MAAM,KAAK,KAAK,EAAE,IAAI,KAAK,IAAI,EAAE,OAAO,KAAK,KAAK,EAAE,IAAI,KAAK,CAAC,GAAE,IAAE,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,KAAK,GAAE,MAAI;AAAA,QAAE,IAAG,EAAE,IAAI,KAAK,CAAC,KAAG;AAAA,UAAE,MAAI,EAAE,KAAK,KAAK,CAAC;AAAA,QAAO,SAAG,EAAE,KAAK,CAAC,IAAE;AAAA,UAAE,MAAI,EAAE,KAAK,KAAK,CAAC;AAAA,QAAE,OAAO,IAAI,UAAU,IAAI;AAAA,SAAG,KAAK,UAAU,MAAI,QAAQ,CAAC,GAAE,GAAE;AAAA,QAAC,IAAG,EAAE,OAAO,KAAG,EAAE,OAAO;AAAA,UAAE,OAAO,IAAI,GAAG,CAAC,EAAE,UAAU,IAAI;AAAA,QAAE,IAAI,IAAE,EAAE,IAAI,CAAC,GAAE,IAAE,EAAE,MAAM,KAAK,KAAK,EAAE,IAAI,KAAK,IAAI,EAAE,OAAO,KAAK,KAAK,EAAE,IAAI,KAAK,CAAC,GAAE,IAAE,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,KAAK,GAAE,MAAI;AAAA,QAAE,IAAG,EAAE,IAAI,KAAK,CAAC,KAAG;AAAA,UAAE,MAAI,EAAE,KAAK,KAAK,CAAC;AAAA,QAAO,SAAG,EAAE,KAAK,CAAC,IAAE;AAAA,UAAE,MAAI,EAAE,KAAK,KAAK,CAAC;AAAA,QAAE,OAAO,IAAI,UAAU,IAAI;AAAA,SAAG,KAAK,UAAU,OAAK,QAAQ,CAAC,GAAE;AAAA,QAAC,IAAI,MAAI,KAAK,KAAK,EAAE,OAAO,KAAK,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC;AAAA,QAAE,OAAO,IAAI,UAAU,IAAI;AAAA;AAAA,OAAK,OAAO,SAAO,OAAK,QAAO,OAAO;AAAA,GAAE;AAAA,EAAM,cAAY,YAAW,CAAC,YAAU;AAAA,IAAC,IAAI,OAAK,aAAa,GAAE,YAAS,iBAAiB,GAAE,MAAI;AAAA,IAAQ,IAAI,SAAO,QAAQ,CAAC,MAAK,MAAK;AAAA,MAAC,OAAO,IAAI,OAAO,MAAK,IAAI;AAAA;AAAA,IAAG,SAAS,MAAM,CAAC,MAAK,MAAK;AAAA,MAAC,KAAK,OAAK,MAAK,KAAK,OAAK,MAAK,KAAK,WAAS,CAAC,GAAE,KAAK,WAAS,CAAC;AAAA;AAAA,IAAE,OAAO,UAAU,eAAa,QAAQ,CAAC,MAAK;AAAA,MAAC,IAAI;AAAA,MAAM,IAAG;AAAA,QAAC,kEAAoB,iBAAiB,eAAa,KAAK,OAAK;AAAA;AAAA,GAExq6S;AAAA,QAAE,OAAM,GAAE;AAAA,QAAC,QAAM,QAAQ,CAAC,QAAO;AAAA,UAAC,KAAK,WAAW,MAAM;AAAA;AAAA;AAAA,MAAG,OAAO,UAAS,OAAM,IAAI,GAAE,MAAM,UAAU,aAAW,QAAQ,CAAC,QAAO;AAAA,QAAC,KAAK,KAAK,MAAK,MAAM;AAAA,SAAG,IAAI,MAAM,IAAI;AAAA;AAAA,IAAG,OAAO,UAAU,cAAY,QAAQ,CAAC,KAAI;AAAA,MAAC,IAAG,MAAI,OAAK,OAAM,CAAC,KAAK,SAAS,eAAe,GAAG;AAAA,QAAE,KAAK,SAAS,OAAK,KAAK,aAAa,KAAK,SAAS,IAAI;AAAA,MAAE,OAAO,KAAK,SAAS;AAAA;AAAA,IAAM,OAAO,UAAU,SAAO,QAAQ,CAAC,MAAK,KAAI,SAAQ;AAAA,MAAC,OAAO,KAAK,YAAY,GAAG,EAAE,OAAO,MAAK,OAAO;AAAA;AAAA,IAAG,OAAO,UAAU,cAAY,QAAQ,CAAC,KAAI;AAAA,MAAC,IAAG,MAAI,OAAK,OAAM,CAAC,KAAK,SAAS,eAAe,GAAG;AAAA,QAAE,KAAK,SAAS,OAAK,KAAK,aAAa,KAAK,SAAS,IAAI;AAAA,MAAE,OAAO,KAAK,SAAS;AAAA;AAAA,IAAM,OAAO,UAAU,SAAO,QAAQ,CAAC,MAAK,KAAI,UAAS;AAAA,MAAC,OAAO,KAAK,YAAY,GAAG,EAAE,OAAO,MAAK,QAAQ;AAAA;AAAA,GAAG;AAAA,EAAM,mBAAiB,YAAW,CAAC,YAAU;AAAA,IAAC,IAAI,YAAS,iBAAiB;AAAA,IAAE,SAAS,QAAQ,CAAC,SAAQ;AAAA,MAAC,KAAK,iBAAe,EAAC,KAAI,MAAK,MAAK,CAAC,GAAE,SAAQ,WAAS,CAAC,GAAE,QAAO,CAAC,EAAC;AAAA;AAAA,IAAE,QAAQ,WAAS;AAAA,IAAS,SAAS,UAAU,UAAQ,QAAQ,CAAC,KAAI;AAAA,MAAC,OAAO,eAAe;AAAA;AAAA,IAAe,SAAS,UAAU,OAAK,QAAQ,GAAE;AAAA,MAAC,IAAI,QAAM,KAAK;AAAA,MAAe,OAAM,EAAC,KAAI,MAAM,KAAI,SAAQ,MAAM,KAAK,OAAM;AAAA;AAAA,IAAG,SAAS,UAAU,UAAQ,QAAQ,CAAC,MAAK;AAAA,MAAC,IAAI,QAAM,KAAK;AAAA,MAAe,MAAM,MAAI,KAAK,KAAI,MAAM,OAAK,MAAM,KAAK,MAAM,GAAE,KAAK,OAAO;AAAA;AAAA,IAAG,SAAS,UAAU,WAAS,QAAQ,CAAC,KAAI;AAAA,MAAC,OAAO,KAAK,eAAe,KAAK,KAAK,GAAG;AAAA;AAAA,IAAG,SAAS,UAAU,UAAQ,QAAQ,CAAC,OAAM;AAAA,MAAC,IAAI,QAAM,KAAK;AAAA,MAAe,MAAM,OAAK,MAAM,KAAK,MAAM,GAAE,QAAM,CAAC;AAAA;AAAA,IAAG,SAAS,UAAU,WAAS,QAAQ,CAAC,OAAM,KAAI,OAAM;AAAA,MAAC,IAAI,QAAM,KAAK;AAAA,MAAe,IAAG,KAAK,QAAQ,KAAK,GAAE,MAAM,QAAM;AAAA,QAAK,MAAM,IAAI,OAAK;AAAA;AAAA,IAAO,SAAS,UAAU,OAAK,QAAQ,GAAE;AAAA,MAAC,OAAO,KAAK,eAAe,KAAK,KAAK,GAAG;AAAA;AAAA,IAAG,SAAS,UAAU,cAAY,QAAQ,GAAE;AAAA,MAAC,IAAI,QAAM,KAAK,gBAAe,OAAK,MAAM;AAAA,MAAI,OAAO,MAAM,MAAI,CAAC,GAAE;AAAA;AAAA,IAAM,SAAS,UAAU,cAAY,QAAQ,CAAC,MAAK;AAAA,MAAC,IAAI,QAAM,KAAK,gBAAe,MAAI,MAAM;AAAA,MAAI,OAAO,MAAM,MAAI,MAAK;AAAA;AAAA,IAAK,SAAS,UAAU,QAAM,QAAQ,CAAC,KAAI;AAAA,MAAC,IAAI,KAAI,QAAM,KAAK,gBAAe,YAAU,eAAe;AAAA,MAAc,IAAG;AAAA,QAAU,MAAI;AAAA,MAAS;AAAA,cAAI,IAAI,cAAc,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAK;AAAA,UAAC,OAAM,MAAI,KAAK,UAAU,IAAI,IAAE;AAAA,SAAI,EAAE,KAAK,EAAE,GAAE,IAAI,WAAS,KAAI,IAAI,KAAK;AAAA,MAAE,IAAG,CAAC,MAAM,QAAQ;AAAA,QAAQ,MAAM;AAAA,MAAI,IAAG,CAAC;AAAA,QAAU,MAAM,OAAO,KAAK,GAAG;AAAA,MAAE,OAAO;AAAA;AAAA,IAAK,SAAS,UAAU,aAAW,QAAQ,CAAC,QAAO;AAAA,MAAC,IAAI,QAAM,KAAK;AAAA,MAAe,IAAG,CAAC,MAAM,QAAQ;AAAA,QAAQ,OAAO;AAAA,MAAO,OAAM,EAAC,QAAO,KAAK,QAAQ,MAAM,IAAE,OAAK,QAAO,QAAO,MAAM,OAAM;AAAA;AAAA,IAAG,SAAS,aAAa,CAAC,MAAK,KAAI;AAAA,MAAC,KAAK,OAAK,MAAK,KAAK,QAAQ,GAAG;AAAA;AAAA,IAAE,UAAS,eAAc,KAAK;AAAA,IAAE,cAAc,UAAU,UAAQ,QAAQ,CAAC,KAAI;AAAA,MAAC,IAAG,KAAK,UAAQ,MAAI,WAAS,KAAK,QAAM,cAAa,MAAM;AAAA,QAAkB,MAAM,kBAAkB,MAAK,aAAa;AAAA,MAAE,IAAG,CAAC,KAAK;AAAA,QAAM,IAAG;AAAA,UAAC,MAAM,MAAM,KAAK,OAAO;AAAA,UAAE,OAAM,GAAE;AAAA,UAAC,KAAK,QAAM,EAAE;AAAA;AAAA,MAAM,OAAO;AAAA;AAAA,GAAM;AAAA,EAAM,iBAAe,YAAW,CAAC,YAAU;AAAA,IAAC,IAAI,YAAS,iBAAiB,GAAE,WAAS,cAAc,EAAE,UAAS,yDAA0B;AAAA,IAAO,SAAS,aAAa,CAAC,MAAK,SAAQ;AAAA,MAAC,IAAG,SAAS,KAAK,MAAK,OAAO,GAAE,CAAC,SAAQ,SAAS,IAAI,GAAE;AAAA,QAAC,KAAK,MAAM,kBAAkB;AAAA,QAAE;AAAA,MAAM;AAAA,MAAC,KAAK,OAAK,MAAK,KAAK,SAAO,GAAE,KAAK,SAAO,KAAK;AAAA;AAAA,IAAO,UAAS,eAAc,QAAQ;AAAA,IAAE,QAAQ,gBAAc;AAAA,IAAc,cAAc,UAAU,OAAK,QAAQ,GAAE;AAAA,MAAC,OAAM,EAAC,QAAO,KAAK,QAAO,UAAS,SAAS,UAAU,KAAK,KAAK,IAAI,EAAC;AAAA;AAAA,IAAG,cAAc,UAAU,UAAQ,QAAQ,CAAC,MAAK;AAAA,MAAC,IAAI,MAAI,IAAI,cAAc,KAAK,IAAI;AAAA,MAAE,OAAO,IAAI,SAAO,KAAK,QAAO,IAAI,SAAO,KAAK,QAAO,KAAK,SAAO,KAAK,QAAO,SAAS,UAAU,QAAQ,KAAK,MAAK,KAAK,QAAQ,GAAE;AAAA;AAAA,IAAK,cAAc,UAAU,UAAQ,QAAQ,GAAE;AAAA,MAAC,OAAO,KAAK,WAAS,KAAK;AAAA;AAAA,IAAQ,cAAc,UAAU,YAAU,QAAQ,CAAC,MAAK;AAAA,MAAC,IAAG,KAAK,SAAO,KAAG,KAAK;AAAA,QAAO,OAAO,KAAK,KAAK,UAAU,KAAK,UAAS,IAAE;AAAA,MAAO;AAAA,eAAO,KAAK,MAAM,QAAM,uBAAuB;AAAA;AAAA,IAAG,cAAc,UAAU,OAAK,QAAQ,CAAC,OAAM,MAAK;AAAA,MAAC,IAAG,EAAE,KAAK,SAAO,SAAO,KAAK;AAAA,QAAQ,OAAO,KAAK,MAAM,QAAM,uBAAuB;AAAA,MAAE,IAAI,MAAI,IAAI,cAAc,KAAK,IAAI;AAAA,MAAE,OAAO,IAAI,iBAAe,KAAK,gBAAe,IAAI,SAAO,KAAK,QAAO,IAAI,SAAO,KAAK,SAAO,OAAM,KAAK,UAAQ,OAAM;AAAA;AAAA,IAAK,cAAc,UAAU,MAAI,QAAQ,CAAC,MAAK;AAAA,MAAC,OAAO,KAAK,KAAK,MAAM,OAAK,KAAK,SAAO,KAAK,QAAO,KAAK,MAAM;AAAA;AAAA,IAAG,SAAS,aAAa,CAAC,OAAM,UAAS;AAAA,MAAC,IAAG,MAAM,QAAQ,KAAK;AAAA,QAAE,KAAK,SAAO,GAAE,KAAK,QAAM,MAAM,IAAI,QAAQ,CAAC,MAAK;AAAA,UAAC,IAAG,EAAE,gBAAgB;AAAA,YAAe,OAAK,IAAI,cAAc,MAAK,QAAQ;AAAA,UAAE,OAAO,KAAK,UAAQ,KAAK,QAAO;AAAA,WAAM,IAAI;AAAA,MAAO,SAAG,OAAO,UAAQ,UAAS;AAAA,QAAC,IAAG,EAAE,KAAG,SAAO,SAAO;AAAA,UAAK,OAAO,SAAS,MAAM,8BAA8B;AAAA,QAAE,KAAK,QAAM,OAAM,KAAK,SAAO;AAAA,MAAC,EAAM,SAAG,OAAO,UAAQ;AAAA,QAAS,KAAK,QAAM,OAAM,KAAK,SAAO,SAAQ,WAAW,KAAK;AAAA,MAAO,SAAG,SAAQ,SAAS,KAAK;AAAA,QAAE,KAAK,QAAM,OAAM,KAAK,SAAO,MAAM;AAAA,MAAY;AAAA,eAAO,SAAS,MAAM,uBAAqB,OAAO,KAAK;AAAA;AAAA,IAAE,QAAQ,gBAAc;AAAA,IAAc,cAAc,UAAU,OAAK,QAAQ,CAAC,KAAI,QAAO;AAAA,MAAC,IAAG,CAAC;AAAA,QAAI,MAAI,IAAI,SAAQ,KAAK,MAAM;AAAA,MAAE,IAAG,CAAC;AAAA,QAAO,SAAO;AAAA,MAAE,IAAG,KAAK,WAAS;AAAA,QAAE,OAAO;AAAA,MAAI,IAAG,MAAM,QAAQ,KAAK,KAAK;AAAA,QAAE,KAAK,MAAM,QAAQ,QAAQ,CAAC,MAAK;AAAA,UAAC,KAAK,KAAK,KAAI,MAAM,GAAE,UAAQ,KAAK;AAAA,SAAO;AAAA,MAAM;AAAA,QAAC,IAAG,OAAO,KAAK,UAAQ;AAAA,UAAS,IAAI,UAAQ,KAAK;AAAA,QAAW,SAAG,OAAO,KAAK,UAAQ;AAAA,UAAS,IAAI,MAAM,KAAK,OAAM,MAAM;AAAA,QAAO,SAAG,SAAQ,SAAS,KAAK,KAAK;AAAA,UAAE,KAAK,MAAM,KAAK,KAAI,MAAM;AAAA,QAAE,UAAQ,KAAK;AAAA;AAAA,MAAO,OAAO;AAAA;AAAA,GAAK;AAAA,EAAM,eAAa,YAAW,CAAC,SAAQ,WAAS;AAAA,IAAC,IAAI,WAAS,cAAc,EAAE,UAAS,gBAAc,cAAc,EAAE,eAAc,gBAAc,cAAc,EAAE,eAAc,SAAO,4BAA4B,GAAE,OAAK,CAAC,OAAM,SAAQ,OAAM,SAAQ,SAAQ,QAAO,WAAU,WAAU,SAAQ,QAAO,OAAM,WAAU,UAAS,UAAS,WAAU,UAAS,YAAW,UAAS,aAAY,UAAS,UAAS,YAAW,UAAS,UAAS,WAAU,UAAU,GAAE,UAAQ,CAAC,OAAM,OAAM,OAAM,YAAW,YAAW,YAAW,OAAM,UAAS,OAAM,UAAU,EAAE,OAAO,IAAI,GAAE,YAAU,CAAC,YAAW,cAAa,QAAO,cAAa,gBAAe,eAAc,eAAc,cAAa,eAAc,eAAc,oBAAmB,cAAa,gBAAe,eAAc,eAAc,cAAa,aAAa;AAAA,IAAE,SAAS,IAAI,CAAC,KAAI,QAAO;AAAA,MAAC,IAAI,QAAM,CAAC;AAAA,MAAE,IAAG,KAAK,aAAW,OAAM,MAAM,MAAI,KAAI,MAAM,SAAO,UAAQ,MAAK,MAAM,WAAS,MAAK,MAAM,MAAI,MAAK,MAAM,OAAK,MAAK,MAAM,cAAY,MAAK,MAAM,SAAO,MAAK,MAAM,WAAS,OAAG,MAAM,MAAI,OAAG,MAAM,MAAI,OAAG,MAAM,MAAI,MAAK,MAAM,aAAW,MAAK,MAAM,MAAI,MAAK,MAAM,UAAQ,MAAK,MAAM,WAAS,MAAK,MAAM,WAAS,MAAK,MAAM,WAAS,MAAK,CAAC,MAAM;AAAA,QAAO,MAAM,WAAS,CAAC,GAAE,KAAK,MAAM;AAAA;AAAA,IAAE,OAAO,UAAQ;AAAA,IAAK,IAAI,aAAW,CAAC,OAAM,UAAS,YAAW,OAAM,QAAO,eAAc,UAAS,YAAW,OAAM,OAAM,OAAM,cAAa,OAAM,WAAU,YAAW,YAAW,UAAU;AAAA,IAAE,KAAK,UAAU,QAAM,QAAQ,GAAE;AAAA,MAAC,IAAI,QAAM,KAAK,YAAW,SAAO,CAAC;AAAA,MAAE,WAAW,QAAQ,QAAQ,CAAC,MAAK;AAAA,QAAC,OAAO,QAAM,MAAM;AAAA,OAAM;AAAA,MAAE,IAAI,MAAI,IAAI,KAAK,YAAY,OAAO,MAAM;AAAA,MAAE,OAAO,IAAI,aAAW,QAAO;AAAA;AAAA,IAAK,KAAK,UAAU,QAAM,QAAQ,GAAE;AAAA,MAAC,IAAI,QAAM,KAAK;AAAA,MAAW,QAAQ,QAAQ,QAAQ,CAAC,QAAO;AAAA,QAAC,KAAK,UAAQ,QAAQ,GAAE;AAAA,UAAC,IAAI,QAAM,IAAI,KAAK,YAAY,IAAI;AAAA,UAAE,OAAO,MAAM,SAAS,KAAK,KAAK,GAAE,MAAM,QAAQ,MAAM,OAAM,SAAS;AAAA;AAAA,SAAI,IAAI;AAAA;AAAA,IAAG,KAAK,UAAU,QAAM,QAAQ,CAAC,MAAK;AAAA,MAAC,IAAI,QAAM,KAAK;AAAA,MAAW,OAAO,MAAM,WAAS,IAAI,GAAE,KAAK,KAAK,IAAI,GAAE,MAAM,WAAS,MAAM,SAAS,OAAO,QAAQ,CAAC,OAAM;AAAA,QAAC,OAAO,MAAM,WAAW,WAAS;AAAA,SAAM,IAAI,GAAE,OAAO,MAAM,MAAM,SAAS,QAAO,GAAE,mCAAmC;AAAA;AAAA,IAAG,KAAK,UAAU,WAAS,QAAQ,CAAC,MAAK;AAAA,MAAC,IAAI,QAAM,KAAK,YAAW,WAAS,KAAK,OAAO,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,eAAe,KAAK;AAAA,SAAa,IAAI;AAAA,MAAE,IAAG,OAAK,KAAK,OAAO,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAM,EAAE,eAAe,KAAK;AAAA,SAAc,IAAI,GAAE,SAAS,WAAS;AAAA,QAAE,OAAO,MAAM,aAAW,IAAI,GAAE,MAAM,WAAS,UAAS,SAAS,QAAQ,QAAQ,CAAC,OAAM;AAAA,UAAC,MAAM,WAAW,SAAO;AAAA,WAAM,IAAI;AAAA,MAAE,IAAG,KAAK,WAAS;AAAA,QAAE,OAAO,MAAM,SAAO,IAAI,GAAE,MAAM,OAAK,MAAK,MAAM,cAAY,KAAK,IAAI,QAAQ,CAAC,KAAI;AAAA,UAAC,IAAG,OAAO,QAAM,YAAU,IAAI,gBAAc;AAAA,YAAO,OAAO;AAAA,UAAI,IAAI,MAAI,CAAC;AAAA,UAAE,OAAO,OAAO,KAAK,GAAG,EAAE,QAAQ,QAAQ,CAAC,KAAI;AAAA,YAAC,IAAG,QAAM,MAAI;AAAA,cAAG,OAAK;AAAA,YAAE,IAAI,QAAM,IAAI;AAAA,YAAK,IAAI,SAAO;AAAA,WAAI,GAAE;AAAA,SAAI;AAAA;AAAA,IAAG,UAAU,QAAQ,QAAQ,CAAC,QAAO;AAAA,MAAC,KAAK,UAAU,UAAQ,QAAQ,GAAE;AAAA,QAAC,IAAI,QAAM,KAAK;AAAA,QAAW,MAAM,MAAM,SAAO,oCAAkC,MAAM,GAAG;AAAA;AAAA,KAAG;AAAA,IAAE,KAAK,QAAQ,QAAQ,CAAC,KAAI;AAAA,MAAC,KAAK,UAAU,OAAK,QAAQ,GAAE;AAAA,QAAC,IAAI,QAAM,KAAK,YAAW,OAAK,MAAM,UAAU,MAAM,KAAK,SAAS;AAAA,QAAE,OAAO,OAAO,MAAM,QAAM,IAAI,GAAE,MAAM,MAAI,KAAI,KAAK,SAAS,IAAI,GAAE;AAAA;AAAA,KAAM;AAAA,IAAE,KAAK,UAAU,MAAI,QAAQ,CAAC,MAAK;AAAA,MAAC,OAAO,IAAI;AAAA,MAAE,IAAI,QAAM,KAAK;AAAA,MAAW,OAAO,OAAO,MAAM,QAAM,IAAI,GAAE,MAAM,MAAI,MAAK;AAAA;AAAA,IAAM,KAAK,UAAU,WAAS,QAAQ,GAAE;AAAA,MAAC,IAAI,QAAM,KAAK;AAAA,MAAW,OAAO,MAAM,WAAS,MAAG;AAAA;AAAA,IAAM,KAAK,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,MAAC,IAAI,QAAM,KAAK;AAAA,MAAW,OAAO,OAAO,MAAM,YAAU,IAAI,GAAE,MAAM,UAAQ,KAAI,MAAM,WAAS,MAAG;AAAA;AAAA,IAAM,KAAK,UAAU,WAAS,QAAQ,CAAC,KAAI;AAAA,MAAC,IAAI,QAAM,KAAK;AAAA,MAAW,OAAO,OAAO,MAAM,aAAW,QAAM,MAAM,aAAW,IAAI,GAAE,MAAM,WAAS,KAAI;AAAA;AAAA,IAAM,KAAK,UAAU,WAAS,QAAQ,CAAC,KAAI;AAAA,MAAC,IAAI,QAAM,KAAK;AAAA,MAAW,OAAO,OAAO,MAAM,aAAW,QAAM,MAAM,aAAW,IAAI,GAAE,MAAM,WAAS,KAAI;AAAA;AAAA,IAAM,KAAK,UAAU,MAAI,QAAQ,GAAE;AAAA,MAAC,IAAI,QAAM,KAAK,YAAW,OAAK,MAAM,UAAU,MAAM,KAAK,SAAS;AAAA,MAAE,IAAG,MAAM,MAAI,MAAG,KAAK,WAAS;AAAA,QAAE,KAAK,SAAS,IAAI;AAAA,MAAE,OAAO;AAAA;AAAA,IAAM,KAAK,UAAU,MAAI,QAAQ,CAAC,QAAO;AAAA,MAAC,IAAI,QAAM,KAAK;AAAA,MAAW,OAAO,OAAO,MAAM,QAAM,IAAI,GAAE,MAAM,MAAI,QAAO;AAAA;AAAA,IAAM,KAAK,UAAU,MAAI,QAAQ,GAAE;AAAA,MAAC,IAAI,QAAM,KAAK;AAAA,MAAW,OAAO,MAAM,MAAI,MAAG;AAAA;AAAA,IAAM,KAAK,UAAU,SAAO,QAAQ,CAAC,KAAI;AAAA,MAAC,IAAI,QAAM,KAAK;AAAA,MAAW,OAAO,OAAO,MAAM,WAAS,IAAI,GAAE,MAAM,SAAO,KAAI,KAAK,SAAS,OAAO,KAAK,GAAG,EAAE,IAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,IAAI;AAAA,OAAK,CAAC,GAAE;AAAA;AAAA,IAAM,KAAK,UAAU,WAAS,QAAQ,CAAC,MAAK;AAAA,MAAC,IAAI,QAAM,KAAK;AAAA,MAAW,OAAO,OAAO,MAAM,QAAM,IAAI,GAAE,MAAM,WAAS,MAAK;AAAA;AAAA,IAAM,KAAK,UAAU,UAAQ,QAAQ,CAAC,OAAM,SAAQ;AAAA,MAAC,IAAI,QAAM,KAAK;AAAA,MAAW,IAAG,MAAM,WAAS;AAAA,QAAK,OAAO,MAAM,WAAW,MAAM,SAAS,GAAG,QAAQ,OAAM,OAAO,CAAC;AAAA,MAAE,IAAI,SAAO,MAAM,SAAQ,UAAQ,MAAG,UAAQ;AAAA,MAAK,IAAG,MAAM,QAAM;AAAA,QAAK,UAAQ,MAAM,SAAS,MAAM,GAAG;AAAA,MAAE,IAAG,MAAM,UAAS;AAAA,QAAC,IAAI,MAAI;AAAA,QAAK,IAAG,MAAM,aAAW;AAAA,UAAK,MAAI,MAAM;AAAA,QAAc,SAAG,MAAM,aAAW;AAAA,UAAK,MAAI,MAAM;AAAA,QAAc,SAAG,MAAM,QAAM;AAAA,UAAK,MAAI,MAAM;AAAA,QAAI,IAAG,QAAM,QAAM,CAAC,MAAM,KAAI;AAAA,UAAC,IAAI,OAAK,MAAM,KAAK;AAAA,UAAE,IAAG;AAAA,YAAC,IAAG,MAAM,WAAS;AAAA,cAAK,KAAK,eAAe,MAAM,KAAI,OAAM,OAAO;AAAA,YAAO;AAAA,mBAAK,cAAc,OAAM,OAAO;AAAA,YAAE,UAAQ;AAAA,YAAG,OAAM,GAAE;AAAA,YAAC,UAAQ;AAAA;AAAA,UAAG,MAAM,QAAQ,IAAI;AAAA,QAAC,EAAM,SAAG,UAAQ,KAAK,SAAS,OAAM,KAAI,MAAM,GAAG,GAAE,MAAM,QAAQ,OAAO;AAAA,UAAE,OAAO;AAAA,MAAO;AAAA,MAAC,IAAI;AAAA,MAAQ,IAAG,MAAM,OAAK;AAAA,QAAQ,UAAQ,MAAM,YAAY;AAAA,MAAE,IAAG,SAAQ;AAAA,QAAC,IAAG,MAAM,aAAW,MAAK;AAAA,UAAC,IAAI,WAAS,KAAK,WAAW,OAAM,MAAM,QAAQ;AAAA,UAAE,IAAG,MAAM,QAAQ,QAAQ;AAAA,YAAE,OAAO;AAAA,UAAS,QAAM;AAAA,QAAQ;AAAA,QAAC,IAAI,QAAM,MAAM;AAAA,QAAO,IAAG,MAAM,QAAM,QAAM,MAAM,WAAS,MAAK;AAAA,UAAC,IAAG,MAAM;AAAA,YAAI,IAAI,OAAK,MAAM,KAAK;AAAA,UAAE,IAAI,OAAK,KAAK,WAAW,OAAM,MAAM,aAAW,OAAK,MAAM,WAAS,MAAM,KAAI,MAAM,GAAG;AAAA,UAAE,IAAG,MAAM,QAAQ,IAAI;AAAA,YAAE,OAAO;AAAA,UAAK,IAAG,MAAM;AAAA,YAAI,SAAO,MAAM,IAAI,IAAI;AAAA,UAAO;AAAA,oBAAM;AAAA,QAAI;AAAA,QAAC,IAAG,WAAS,QAAQ,SAAO,MAAM,QAAM;AAAA,UAAK,QAAQ,MAAM,MAAM,KAAK,GAAE,OAAM,MAAM,QAAO,QAAQ;AAAA,QAAE,IAAG,WAAS,QAAQ,SAAO,MAAM,QAAM;AAAA,UAAK,QAAQ,MAAM,MAAM,KAAK,GAAE,MAAM,QAAO,MAAM,QAAO,SAAS;AAAA,QAAE,IAAG,MAAM;AAAA,UAAI,SAAO;AAAA,QAAY,SAAG,MAAM,WAAS;AAAA,UAAK,SAAO,KAAK,eAAe,MAAM,KAAI,OAAM,OAAO;AAAA,QAAO;AAAA,mBAAO,KAAK,cAAc,OAAM,OAAO;AAAA,QAAE,IAAG,MAAM,QAAQ,MAAM;AAAA,UAAE,OAAO;AAAA,QAAO,IAAG,CAAC,MAAM,OAAK,MAAM,WAAS,QAAM,MAAM,aAAW;AAAA,UAAK,MAAM,SAAS,QAAQ,QAAQ,CAAC,OAAM;AAAA,YAAC,MAAM,QAAQ,OAAM,OAAO;AAAA,WAAE;AAAA,QAAE,IAAG,MAAM,aAAW,MAAM,QAAM,YAAU,MAAM,QAAM,WAAU;AAAA,UAAC,IAAI,OAAK,IAAI,cAAc,MAAM;AAAA,UAAE,SAAO,KAAK,QAAQ,MAAM,UAAS,MAAM,eAAe,GAAG,EAAE,QAAQ,MAAK,OAAO;AAAA,QAAC;AAAA,MAAC;AAAA,MAAC,IAAG,MAAM,OAAK;AAAA,QAAQ,SAAO,MAAM,YAAY,OAAO;AAAA,MAAE,IAAG,MAAM,QAAM,SAAO,WAAS,QAAM,YAAU;AAAA,QAAI,MAAM,SAAS,SAAQ,MAAM,KAAI,MAAM;AAAA,MAAO,SAAG,YAAU;AAAA,QAAK,MAAM,QAAQ,OAAO;AAAA,MAAE,OAAO;AAAA;AAAA,IAAQ,KAAK,UAAU,iBAAe,QAAQ,CAAC,KAAI,OAAM,SAAQ;AAAA,MAAC,IAAI,QAAM,KAAK;AAAA,MAAW,IAAG,QAAM,SAAO,QAAM;AAAA,QAAM,OAAO;AAAA,MAAK,IAAG,QAAM,WAAS,QAAM;AAAA,QAAQ,OAAO,KAAK,YAAY,OAAM,KAAI,MAAM,KAAK,IAAG,OAAO;AAAA,MAAO,SAAG,OAAO,KAAK,GAAG;AAAA,QAAE,OAAO,KAAK,WAAW,OAAM,KAAI,OAAO;AAAA,MAAO,SAAG,QAAM,WAAS,MAAM;AAAA,QAAK,OAAO,KAAK,aAAa,OAAM,MAAM,KAAK,IAAG,MAAM,KAAK,IAAG,OAAO;AAAA,MAAO,SAAG,QAAM;AAAA,QAAQ,OAAO,KAAK,aAAa,OAAM,MAAK,MAAK,OAAO;AAAA,MAAO,SAAG,QAAM,aAAW,QAAM;AAAA,QAAU,OAAO,KAAK,YAAY,OAAM,KAAI,OAAO;AAAA,MAAO,SAAG,QAAM;AAAA,QAAQ,OAAO,KAAK,YAAY,OAAM,OAAO;AAAA,MAAO,SAAG,QAAM;AAAA,QAAO,OAAO,KAAK,YAAY,OAAM,OAAO;AAAA,MAAO,SAAG,QAAM;AAAA,QAAU,OAAO,KAAK,WAAW,OAAM,KAAI,OAAO;AAAA,MAAO,SAAG,QAAM,SAAO,QAAM;AAAA,QAAO,OAAO,KAAK,WAAW,OAAM,MAAM,QAAM,MAAM,KAAK,IAAG,OAAO;AAAA,MAAE,IAAG,MAAM,QAAM;AAAA,QAAK,OAAO,KAAK,QAAQ,MAAM,KAAI,MAAM,eAAe,GAAG,EAAE,QAAQ,OAAM,OAAO;AAAA,MAAO;AAAA,eAAO,MAAM,MAAM,kBAAgB,GAAG;AAAA;AAAA,IAAG,KAAK,UAAU,UAAQ,QAAQ,CAAC,QAAO,KAAI;AAAA,MAAC,IAAI,QAAM,KAAK;AAAA,MAAW,IAAG,MAAM,aAAW,KAAK,KAAK,QAAO,GAAG,GAAE,OAAO,MAAM,WAAW,WAAW,WAAS,IAAI,GAAE,MAAM,aAAW,MAAM,WAAW,WAAW,SAAS,IAAG,MAAM,aAAW,MAAM,WAAW,WAAW;AAAA,QAAS,MAAM,aAAW,MAAM,WAAW,MAAM,GAAE,MAAM,WAAW,WAAW,WAAS,MAAM;AAAA,MAAS,OAAO,MAAM;AAAA;AAAA,IAAY,KAAK,UAAU,gBAAc,QAAQ,CAAC,OAAM,SAAQ;AAAA,MAAC,IAAI,QAAM,KAAK,YAAW,SAAO,MAAK,QAAM;AAAA,MAAG,IAAG,OAAO,KAAK,MAAM,MAAM,EAAE,KAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI,OAAK,MAAM,KAAK,GAAE,OAAK,MAAM,OAAO;AAAA,QAAK,IAAG;AAAA,UAAC,IAAI,QAAM,KAAK,QAAQ,OAAM,OAAO;AAAA,UAAE,IAAG,MAAM,QAAQ,KAAK;AAAA,YAAE,OAAM;AAAA,UAAG,SAAO,EAAC,MAAK,KAAI,MAAK,GAAE,QAAM;AAAA,UAAG,OAAM,GAAE;AAAA,UAAC,OAAO,MAAM,QAAQ,IAAI,GAAE;AAAA;AAAA,QAAG,OAAM;AAAA,SAAI,IAAI,GAAE,CAAC;AAAA,QAAM,OAAO,MAAM,MAAM,oBAAoB;AAAA,MAAE,OAAO;AAAA;AAAA,IAAQ,KAAK,UAAU,uBAAqB,QAAQ,CAAC,MAAK;AAAA,MAAC,OAAO,IAAI,cAAc,MAAK,KAAK,QAAQ;AAAA;AAAA,IAAG,KAAK,UAAU,UAAQ,QAAQ,CAAC,MAAK,UAAS,QAAO;AAAA,MAAC,IAAI,QAAM,KAAK;AAAA,MAAW,IAAG,MAAM,YAAU,QAAM,MAAM,YAAU;AAAA,QAAK;AAAA,MAAO,IAAI,SAAO,KAAK,aAAa,MAAK,UAAS,MAAM;AAAA,MAAE,IAAG,WAAc;AAAA,QAAE;AAAA,MAAO,IAAG,KAAK,aAAa,QAAO,UAAS,MAAM;AAAA,QAAE;AAAA,MAAO,OAAO;AAAA;AAAA,IAAQ,KAAK,UAAU,eAAa,QAAQ,CAAC,MAAK,UAAS,QAAO;AAAA,MAAC,IAAI,QAAM,KAAK;AAAA,MAAW,IAAG,MAAM,WAAS;AAAA,QAAK,OAAO,MAAM,SAAS,GAAG,QAAQ,MAAK,YAAU,IAAI,QAAQ;AAAA,MAAE,IAAI,SAAO;AAAA,MAAK,IAAG,KAAK,WAAS,UAAS,MAAM,YAAU,SAAY;AAAA,QAAE,IAAG,MAAM,YAAU;AAAA,UAAK,OAAK,MAAM;AAAA,QAAa;AAAA;AAAA,MAAO,IAAI,UAAQ,MAAK,YAAU;AAAA,MAAG,IAAG,MAAM;AAAA,QAAI,SAAO,KAAK,qBAAqB,IAAI;AAAA,MAAO,SAAG,MAAM;AAAA,QAAO,SAAO,KAAK,cAAc,MAAK,QAAQ;AAAA,MAAO,SAAG,MAAM;AAAA,QAAS,UAAQ,KAAK,QAAQ,MAAM,UAAS,MAAM,EAAE,QAAQ,MAAK,QAAQ,GAAE,YAAU;AAAA,MAAQ,SAAG,MAAM;AAAA,QAAS,UAAQ,MAAM,SAAS,IAAI,QAAQ,CAAC,QAAO;AAAA,UAAC,IAAG,OAAO,WAAW,QAAM;AAAA,YAAQ,OAAO,OAAO,QAAQ,MAAK,UAAS,IAAI;AAAA,UAAE,IAAG,OAAO,WAAW,QAAM;AAAA,YAAK,OAAO,SAAS,MAAM,yBAAyB;AAAA,UAAE,IAAI,UAAQ,SAAS,SAAS,OAAO,WAAW,GAAG;AAAA,UAAE,IAAG,OAAO,SAAO;AAAA,YAAS,OAAO,SAAS,MAAM,yCAAyC;AAAA,UAAE,IAAI,MAAI,OAAO,QAAQ,KAAK,OAAO,WAAW,MAAK,UAAS,IAAI;AAAA,UAAE,OAAO,SAAS,SAAS,OAAO,GAAE;AAAA,WAAK,IAAI,EAAE,OAAO,QAAQ,CAAC,QAAO;AAAA,UAAC,OAAO;AAAA,SAAO,GAAE,UAAQ,KAAK,qBAAqB,OAAO;AAAA,MAAO,SAAG,MAAM,QAAM,WAAS,MAAM,QAAM,SAAQ;AAAA,QAAC,IAAG,EAAE,MAAM,QAAM,MAAM,KAAK,WAAS;AAAA,UAAG,OAAO,SAAS,MAAM,yBAAuB,MAAM,GAAG;AAAA,QAAE,IAAG,CAAC,MAAM,QAAQ,IAAI;AAAA,UAAE,OAAO,SAAS,MAAM,oCAAoC;AAAA,QAAE,IAAI,QAAM,KAAK,MAAM;AAAA,QAAE,MAAM,WAAW,WAAS,MAAK,UAAQ,KAAK,qBAAqB,KAAK,IAAI,QAAQ,CAAC,MAAK;AAAA,UAAC,IAAI,SAAO,KAAK;AAAA,UAAW,OAAO,KAAK,QAAQ,OAAO,KAAK,IAAG,IAAI,EAAE,QAAQ,MAAK,QAAQ;AAAA,WAAG,KAAK,CAAC;AAAA,MAAC,EAAM,SAAG,MAAM,QAAM;AAAA,QAAK,SAAO,KAAK,QAAQ,MAAM,KAAI,MAAM,EAAE,QAAQ,MAAK,QAAQ;AAAA,MAAO;AAAA,kBAAQ,KAAK,iBAAiB,MAAM,KAAI,IAAI,GAAE,YAAU;AAAA,MAAG,IAAI;AAAA,MAAO,IAAG,CAAC,MAAM,OAAK,MAAM,WAAS,MAAK;AAAA,QAAC,IAAI,MAAI,MAAM,aAAW,OAAK,MAAM,WAAS,MAAM,KAAI,MAAI,MAAM,aAAW,OAAK,cAAY;AAAA,QAAU,IAAG,QAAM,MAAK;AAAA,UAAC,IAAG,MAAM,QAAM;AAAA,YAAK,SAAS,MAAM,sCAAsC;AAAA,QAAC,EAAM,SAAG,MAAM,QAAM;AAAA,UAAK,SAAO,KAAK,iBAAiB,KAAI,WAAU,KAAI,OAAO;AAAA,MAAC;AAAA,MAAC,IAAG,MAAM,aAAW;AAAA,QAAK,SAAO,KAAK,iBAAiB,MAAM,UAAS,OAAG,WAAU,MAAM;AAAA,MAAE,OAAO;AAAA;AAAA,IAAQ,KAAK,UAAU,gBAAc,QAAQ,CAAC,MAAK,UAAS;AAAA,MAAC,IAAI,QAAM,KAAK,YAAW,OAAK,MAAM,OAAO,KAAK;AAAA,MAAM,IAAG,CAAC;AAAA,QAAK,OAAO,OAAG,KAAK,OAAK,mBAAiB,KAAK,UAAU,OAAO,KAAK,MAAM,MAAM,CAAC,CAAC;AAAA,MAAE,OAAO,KAAK,QAAQ,KAAK,OAAM,QAAQ;AAAA;AAAA,IAAG,KAAK,UAAU,mBAAiB,QAAQ,CAAC,KAAI,MAAK;AAAA,MAAC,IAAI,QAAM,KAAK;AAAA,MAAW,IAAG,OAAO,KAAK,GAAG;AAAA,QAAE,OAAO,KAAK,WAAW,MAAK,GAAG;AAAA,MAAO,SAAG,QAAM,WAAS,MAAM;AAAA,QAAK,OAAO,KAAK,aAAa,MAAK,MAAM,YAAY,IAAG,MAAM,KAAK,EAAE;AAAA,MAAO,SAAG,QAAM;AAAA,QAAQ,OAAO,KAAK,aAAa,MAAK,MAAK,IAAI;AAAA,MAAO,SAAG,QAAM,aAAW,QAAM;AAAA,QAAU,OAAO,KAAK,YAAY,MAAK,GAAG;AAAA,MAAO,SAAG,QAAM;AAAA,QAAQ,OAAO,KAAK,YAAY;AAAA,MAAO,SAAG,QAAM,SAAO,QAAM;AAAA,QAAO,OAAO,KAAK,WAAW,MAAK,MAAM,QAAM,MAAM,YAAY,EAAE;AAAA,MAAO,SAAG,QAAM;AAAA,QAAO,OAAO,KAAK,YAAY,IAAI;AAAA,MAAO,SAAG,QAAM;AAAA,QAAU,OAAO,KAAK,WAAW,MAAK,GAAG;AAAA,MAAO;AAAA,cAAM,MAAM,sBAAoB,GAAG;AAAA;AAAA,IAAG,KAAK,UAAU,YAAU,QAAQ,CAAC,KAAI;AAAA,MAAC,OAAM,YAAY,KAAK,GAAG;AAAA;AAAA,IAAG,KAAK,UAAU,cAAY,QAAQ,CAAC,KAAI;AAAA,MAAC,OAAM,oCAAoC,KAAK,GAAG;AAAA;AAAA,GAAG;AAAA,EAAM,gBAAc,YAAW,CAAC,YAAU;AAAA,IAAC,IAAI,OAAK;AAAA,IAAQ,KAAK,WAAS,iBAAiB,EAAE;AAAA,IAAS,KAAK,gBAAc,eAAe,EAAE;AAAA,IAAc,KAAK,gBAAc,eAAe,EAAE;AAAA,IAAc,KAAK,OAAK,aAAa;AAAA,GAAE;AAAA,EAAM,cAAY,YAAW,CAAC,YAAU;AAAA,IAAC,IAAI,aAAU,kBAAkB;AAAA,IAAE,QAAQ,WAAS,EAAC,GAAE,aAAY,GAAE,eAAc,GAAE,WAAU,GAAE,UAAS;AAAA,IAAE,QAAQ,iBAAe,WAAU,SAAS,QAAQ,QAAQ;AAAA,IAAE,QAAQ,MAAI,EAAC,GAAE,OAAM,GAAE,QAAO,GAAE,OAAM,GAAE,UAAS,GAAE,UAAS,GAAE,SAAQ,GAAE,SAAQ,GAAE,WAAU,GAAE,YAAW,GAAE,QAAO,IAAG,QAAO,IAAG,SAAQ,IAAG,WAAU,IAAG,eAAc,IAAG,OAAM,IAAG,OAAM,IAAG,UAAS,IAAG,YAAW,IAAG,UAAS,IAAG,YAAW,IAAG,UAAS,IAAG,WAAU,IAAG,WAAU,IAAG,YAAW,IAAG,aAAY,IAAG,UAAS,IAAG,UAAS,IAAG,WAAU,IAAG,SAAQ;AAAA,IAAE,QAAQ,YAAU,WAAU,SAAS,QAAQ,GAAG;AAAA,GAAE;AAAA,EAAM,oBAAkB,YAAW,CAAC,YAAU;AAAA,IAAC,IAAI,aAAU;AAAA,IAAQ,WAAU,WAAS,QAAQ,CAAC,KAAI;AAAA,MAAC,IAAI,MAAI,CAAC;AAAA,MAAE,OAAO,OAAO,KAAK,GAAG,EAAE,QAAQ,QAAQ,CAAC,KAAI;AAAA,QAAC,KAAI,MAAI,MAAI;AAAA,UAAI,MAAI,MAAI;AAAA,QAAE,IAAI,QAAM,IAAI;AAAA,QAAK,IAAI,SAAO;AAAA,OAAI,GAAE;AAAA;AAAA,IAAK,WAAU,MAAI,YAAY;AAAA,GAAE;AAAA,EAAM,eAAa,YAAW,CAAC,SAAQ,WAAS;AAAA,IAAC,IAAI,YAAS,iBAAiB,GAAE,OAAK,aAAa,GAAE,OAAK,KAAK,MAAK,SAAO,KAAK,QAAO,MAAI,KAAK,UAAU;AAAA,IAAI,SAAS,UAAU,CAAC,QAAO;AAAA,MAAC,KAAK,MAAI,OAAM,KAAK,OAAK,OAAO,MAAK,KAAK,SAAO,QAAO,KAAK,OAAK,IAAI,SAAQ,KAAK,KAAK,MAAM,OAAO,IAAI;AAAA;AAAA,IAAE,OAAO,UAAQ;AAAA,IAAW,WAAW,UAAU,SAAO,QAAQ,CAAC,MAAK,SAAQ;AAAA,MAAC,IAAG,EAAE,gBAAgB,KAAK;AAAA,QAAe,OAAK,IAAI,KAAK,cAAc,MAAK,OAAO;AAAA,MAAE,OAAO,KAAK,KAAK,QAAQ,MAAK,OAAO;AAAA;AAAA,IAAG,SAAS,OAAO,CAAC,QAAO;AAAA,MAAC,KAAK,KAAK,KAAK,MAAK,OAAM,MAAM;AAAA;AAAA,IAAE,UAAS,SAAQ,KAAK,IAAI;AAAA,IAAE,QAAQ,UAAU,WAAS,QAAQ,CAAC,QAAO,KAAI,KAAI;AAAA,MAAC,IAAG,OAAO,QAAQ;AAAA,QAAE,OAAM;AAAA,MAAG,IAAI,QAAM,OAAO,KAAK,GAAE,aAAW,aAAa,QAAO,0BAAwB,MAAI,GAAG;AAAA,MAAE,IAAG,OAAO,QAAQ,UAAU;AAAA,QAAE,OAAO;AAAA,MAAW,OAAO,OAAO,QAAQ,KAAK,GAAE,WAAW,QAAM,OAAK,WAAW,WAAS,OAAK,WAAW,SAAO,SAAO,OAAK;AAAA;AAAA,IAAK,QAAQ,UAAU,aAAW,QAAQ,CAAC,QAAO,KAAI,KAAI;AAAA,MAAC,IAAI,aAAW,aAAa,QAAO,8BAA4B,MAAI,GAAG;AAAA,MAAE,IAAG,OAAO,QAAQ,UAAU;AAAA,QAAE,OAAO;AAAA,MAAW,IAAI,OAAI,aAAa,QAAO,WAAW,WAAU,8BAA4B,MAAI,GAAG;AAAA,MAAE,IAAG,OAAO,QAAQ,IAAG;AAAA,QAAE,OAAO;AAAA,MAAI,IAAG,CAAC,OAAK,WAAW,QAAM,OAAK,WAAW,WAAS,OAAK,WAAW,SAAO,SAAO;AAAA,QAAI,OAAO,OAAO,MAAM,2BAAyB,MAAI,GAAG;AAAA,MAAE,IAAG,WAAW,aAAW,SAAM;AAAA,QAAK,OAAO,OAAO,KAAK,MAAI,+BAA6B,MAAI,GAAG;AAAA,MAAE,IAAI,QAAM,OAAO,KAAK,GAAE,MAAI,KAAK,cAAc,QAAO,6CAA2C,KAAK,MAAI,GAAG;AAAA,MAAE,IAAG,OAAO,QAAQ,GAAG;AAAA,QAAE,OAAO;AAAA,MAAI,OAAO,OAAI,OAAO,SAAO,MAAM,QAAO,OAAO,QAAQ,KAAK,GAAE,OAAO,KAAK,MAAI,+BAA6B,MAAI,GAAG;AAAA;AAAA,IAAG,QAAQ,UAAU,gBAAc,QAAQ,CAAC,QAAO,MAAK;AAAA,MAAC,OAAM,MAAG;AAAA,QAAC,IAAI,MAAI,aAAa,QAAO,IAAI;AAAA,QAAE,IAAG,OAAO,QAAQ,GAAG;AAAA,UAAE,OAAO;AAAA,QAAI,IAAI,OAAI,aAAa,QAAO,IAAI,WAAU,IAAI;AAAA,QAAE,IAAG,OAAO,QAAQ,IAAG;AAAA,UAAE,OAAO;AAAA,QAAI,IAAI;AAAA,QAAI,IAAG,IAAI,aAAW,SAAM;AAAA,UAAK,MAAI,OAAO,KAAK,IAAG;AAAA,QAAO;AAAA,gBAAI,KAAK,cAAc,QAAO,IAAI;AAAA,QAAE,IAAG,OAAO,QAAQ,GAAG;AAAA,UAAE,OAAO;AAAA,QAAI,IAAG,IAAI,WAAS;AAAA,UAAM;AAAA,MAAK;AAAA;AAAA,IAAG,QAAQ,UAAU,cAAY,QAAQ,CAAC,QAAO,KAAI,SAAQ,SAAQ;AAAA,MAAC,IAAI,SAAO,CAAC;AAAA,MAAE,OAAM,CAAC,OAAO,QAAQ,GAAE;AAAA,QAAC,IAAI,cAAY,KAAK,SAAS,QAAO,KAAK;AAAA,QAAE,IAAG,OAAO,QAAQ,WAAW;AAAA,UAAE,OAAO;AAAA,QAAY,IAAI,MAAI,QAAQ,OAAO,QAAO,OAAM,OAAO;AAAA,QAAE,IAAG,OAAO,QAAQ,GAAG,KAAG;AAAA,UAAY;AAAA,QAAM,OAAO,KAAK,GAAG;AAAA,MAAC;AAAA,MAAC,OAAO;AAAA;AAAA,IAAQ,QAAQ,UAAU,aAAW,QAAQ,CAAC,QAAO,KAAI;AAAA,MAAC,IAAG,QAAM,UAAS;AAAA,QAAC,IAAI,SAAO,OAAO,UAAU;AAAA,QAAE,IAAG,OAAO,QAAQ,MAAM;AAAA,UAAE,OAAO;AAAA,QAAO,OAAM,EAAC,QAAO,MAAK,OAAO,IAAI,EAAC;AAAA,MAAC,EAAM,SAAG,QAAM,UAAS;AAAA,QAAC,IAAI,MAAI,OAAO,IAAI;AAAA,QAAE,IAAG,IAAI,SAAO,MAAI;AAAA,UAAE,OAAO,OAAO,MAAM,iDAAiD;AAAA,QAAE,IAAI,MAAI;AAAA,QAAG,SAAQ,KAAE,EAAE,KAAE,IAAI,SAAO,GAAE;AAAA,UAAI,OAAK,OAAO,aAAa,IAAI,aAAa,KAAE,CAAC,CAAC;AAAA,QAAE,OAAO;AAAA,MAAG,EAAM,SAAG,QAAM,UAAS;AAAA,QAAC,IAAI,SAAO,OAAO,IAAI,EAAE,SAAS,OAAO;AAAA,QAAE,IAAG,CAAC,KAAK,UAAU,MAAM;AAAA,UAAE,OAAO,OAAO,MAAM,wDAAwD;AAAA,QAAE,OAAO;AAAA,MAAM,EAAM,SAAG,QAAM;AAAA,QAAS,OAAO,OAAO,IAAI;AAAA,MAAO,SAAG,QAAM;AAAA,QAAU,OAAO,OAAO,IAAI;AAAA,MAAO,SAAG,QAAM,YAAW;AAAA,QAAC,IAAI,WAAS,OAAO,IAAI,EAAE,SAAS,OAAO;AAAA,QAAE,IAAG,CAAC,KAAK,YAAY,QAAQ;AAAA,UAAE,OAAO,OAAO,MAAM,0DAA0D;AAAA,QAAE,OAAO;AAAA,MAAQ,EAAM,SAAG,OAAO,KAAK,GAAG;AAAA,QAAE,OAAO,OAAO,IAAI,EAAE,SAAS;AAAA,MAAO;AAAA,eAAO,OAAO,MAAM,8BAA4B,MAAI,cAAc;AAAA;AAAA,IAAG,QAAQ,UAAU,eAAa,QAAQ,CAAC,QAAO,QAAO,UAAS;AAAA,MAAC,IAAI,QAAO,cAAY,CAAC,GAAE,QAAM;AAAA,MAAE,OAAM,CAAC,OAAO,QAAQ,GAAE;AAAA,QAAC,IAAI,WAAS,OAAO,UAAU;AAAA,QAAE,IAAG,UAAQ,GAAE,SAAO,WAAS,MAAK,WAAS,SAAO;AAAA,UAAE,YAAY,KAAK,KAAK,GAAE,QAAM;AAAA,MAAC;AAAA,MAAC,IAAG,WAAS;AAAA,QAAI,YAAY,KAAK,KAAK;AAAA,MAAE,IAAI,QAAM,YAAY,KAAG,KAAG,GAAE,SAAO,YAAY,KAAG;AAAA,MAAG,IAAG;AAAA,QAAS,SAAO;AAAA,MAAiB;AAAA,iBAAO,CAAC,OAAM,MAAM,EAAE,OAAO,YAAY,MAAM,CAAC,CAAC;AAAA,MAAE,IAAG,QAAO;AAAA,QAAC,IAAI,MAAI,OAAO,OAAO,KAAK,GAAG;AAAA,QAAG,IAAG,QAAW;AAAA,UAAE,MAAI,OAAO,OAAO,KAAK,GAAG;AAAA,QAAG,IAAG,QAAW;AAAA,UAAE,SAAO;AAAA,MAAG;AAAA,MAAC,OAAO;AAAA;AAAA,IAAQ,QAAQ,UAAU,cAAY,QAAQ,CAAC,QAAO,KAAI;AAAA,MAAC,IAAI,MAAI,OAAO,IAAI,EAAE,SAAS;AAAA,MAAE,IAAG,QAAM;AAAA,QAAU,IAAI,OAAK,IAAI,MAAM,GAAE,CAAC,IAAE,GAAE,MAAI,IAAI,MAAM,GAAE,CAAC,IAAE,GAAE,MAAI,IAAI,MAAM,GAAE,CAAC,IAAE,GAAE,OAAK,IAAI,MAAM,GAAE,EAAE,IAAE,GAAE,MAAI,IAAI,MAAM,IAAG,EAAE,IAAE,GAAE,MAAI,IAAI,MAAM,IAAG,EAAE,IAAE;AAAA,MAAO,SAAG,QAAM,WAAU;AAAA,QAAC,IAAI,OAAK,IAAI,MAAM,GAAE,CAAC,IAAE,GAAE,MAAI,IAAI,MAAM,GAAE,CAAC,IAAE,GAAE,MAAI,IAAI,MAAM,GAAE,CAAC,IAAE,GAAE,OAAK,IAAI,MAAM,GAAE,CAAC,IAAE,GAAE,MAAI,IAAI,MAAM,GAAE,EAAE,IAAE,GAAE,MAAI,IAAI,MAAM,IAAG,EAAE,IAAE;AAAA,QAAE,IAAG,OAAK;AAAA,UAAG,OAAK,OAAK;AAAA,QAAU;AAAA,iBAAK,OAAK;AAAA,MAAI,EAAM;AAAA,eAAO,OAAO,MAAM,cAAY,MAAI,4BAA4B;AAAA,MAAE,OAAO,KAAK,IAAI,MAAK,MAAI,GAAE,KAAI,MAAK,KAAI,KAAI,CAAC;AAAA;AAAA,IAAG,QAAQ,UAAU,cAAY,QAAQ,CAAC,QAAO;AAAA,MAAC,OAAO;AAAA;AAAA,IAAM,QAAQ,UAAU,cAAY,QAAQ,CAAC,QAAO;AAAA,MAAC,IAAI,MAAI,OAAO,UAAU;AAAA,MAAE,IAAG,OAAO,QAAQ,GAAG;AAAA,QAAE,OAAO;AAAA,MAAS;AAAA,eAAO,QAAM;AAAA;AAAA,IAAG,QAAQ,UAAU,aAAW,QAAQ,CAAC,QAAO,QAAO;AAAA,MAAC,IAAI,MAAI,OAAO,IAAI,GAAE,MAAI,IAAI,OAAO,GAAG;AAAA,MAAE,IAAG;AAAA,QAAO,MAAI,OAAO,IAAI,SAAS,EAAE,MAAI;AAAA,MAAI,OAAO;AAAA;AAAA,IAAK,QAAQ,UAAU,OAAK,QAAQ,CAAC,QAAO,KAAI;AAAA,MAAC,IAAG,OAAO,WAAS;AAAA,QAAW,SAAO,OAAO,GAAG;AAAA,MAAE,OAAO,OAAO,YAAY,KAAK,EAAE;AAAA;AAAA,IAAM,SAAS,YAAY,CAAC,KAAI,MAAK;AAAA,MAAC,IAAI,MAAI,IAAI,UAAU,IAAI;AAAA,MAAE,IAAG,IAAI,QAAQ,GAAG;AAAA,QAAE,OAAO;AAAA,MAAI,IAAI,MAAI,IAAI,SAAS,OAAK,IAAG,aAAW,MAAI,QAAM;AAAA,MAAE,KAAI,MAAI,QAAM,IAAG;AAAA,QAAC,IAAI,MAAI;AAAA,QAAI,MAAI;AAAA,QAAE,QAAO,MAAI,SAAO,KAAI;AAAA,UAAC,IAAG,MAAI,IAAI,UAAU,IAAI,GAAE,IAAI,QAAQ,GAAG;AAAA,YAAE,OAAO;AAAA,UAAI,QAAM,GAAE,OAAK,MAAI;AAAA,QAAG;AAAA,MAAC,EAAM;AAAA,eAAK;AAAA,MAAG,IAAI,SAAO,IAAI,IAAI;AAAA,MAAK,OAAM,EAAC,KAAI,WAAU,KAAI,OAAM;AAAA;AAAA,IAAE,SAAS,YAAY,CAAC,KAAI,WAAU,MAAK;AAAA,MAAC,IAAI,OAAI,IAAI,UAAU,IAAI;AAAA,MAAE,IAAG,IAAI,QAAQ,IAAG;AAAA,QAAE,OAAO;AAAA,MAAI,IAAG,CAAC,aAAW,SAAM;AAAA,QAAI,OAAO;AAAA,MAAK,KAAI,OAAI,SAAO;AAAA,QAAE,OAAO;AAAA,MAAI,IAAI,MAAI,OAAI;AAAA,MAAI,IAAG,MAAI;AAAA,QAAE,OAAO,IAAI,MAAM,2BAA2B;AAAA,MAAE,OAAI;AAAA,MAAE,SAAQ,KAAE,EAAE,KAAE,KAAI,MAAI;AAAA,QAAC,SAAM;AAAA,QAAE,IAAI,IAAE,IAAI,UAAU,IAAI;AAAA,QAAE,IAAG,IAAI,QAAQ,CAAC;AAAA,UAAE,OAAO;AAAA,QAAE,QAAK;AAAA,MAAC;AAAA,MAAC,OAAO;AAAA;AAAA,GAAK;AAAA,EAAM,cAAY,YAAW,CAAC,SAAQ,WAAS;AAAA,IAAC,IAAI,YAAS,iBAAiB,GAAE,yDAA0B,QAAO,aAAW,aAAa;AAAA,IAAE,SAAS,UAAU,CAAC,QAAO;AAAA,MAAC,WAAW,KAAK,MAAK,MAAM,GAAE,KAAK,MAAI;AAAA;AAAA,IAAM,UAAS,YAAW,UAAU;AAAA,IAAE,OAAO,UAAQ;AAAA,IAAW,WAAW,UAAU,SAAO,QAAQ,CAAC,MAAK,SAAQ;AAAA,MAAC,IAAI,QAAM,KAAK,SAAS,EAAE,MAAM,UAAU,GAAE,QAAM,QAAQ,MAAM,YAAY,GAAE,KAAG,mCAAkC,QAAM,IAAG,MAAI;AAAA,MAAG,SAAQ,KAAE,EAAE,KAAE,MAAM,QAAO,MAAI;AAAA,QAAC,IAAI,QAAM,MAAM,IAAG,MAAM,EAAE;AAAA,QAAE,IAAG,UAAQ;AAAA,UAAK;AAAA,QAAS,IAAG,MAAM,OAAK;AAAA,UAAM;AAAA,QAAS,IAAG,UAAQ,IAAG;AAAA,UAAC,IAAG,MAAM,OAAK;AAAA,YAAQ;AAAA,UAAM,QAAM;AAAA,QAAC,EAAK;AAAA,UAAC,IAAG,MAAM,OAAK;AAAA,YAAM;AAAA,UAAM,MAAI;AAAA,UAAE;AAAA;AAAA,MAAM;AAAA,MAAC,IAAG,UAAQ,MAAI,QAAM;AAAA,QAAG,MAAM,MAAM,gCAA8B,KAAK;AAAA,MAAE,IAAI,SAAO,MAAM,MAAM,QAAM,GAAE,GAAG,EAAE,KAAK,EAAE;AAAA,MAAE,OAAO,QAAQ,qBAAoB,EAAE;AAAA,MAAE,IAAI,QAAM,IAAI,SAAQ,QAAO,QAAQ;AAAA,MAAE,OAAO,WAAW,UAAU,OAAO,KAAK,MAAK,OAAM,OAAO;AAAA;AAAA,GAAG;AAAA,EAAM,mBAAiB,YAAW,CAAC,YAAU;AAAA,IAAC,IAAI,WAAS;AAAA,IAAQ,SAAS,MAAI,aAAa;AAAA,IAAE,SAAS,MAAI,YAAY;AAAA,GAAE;AAAA,EAAM,eAAa,YAAW,CAAC,SAAQ,WAAS;AAAA,IAAC,IAAI,YAAS,iBAAiB,GAAE,yDAA0B,QAAO,OAAK,aAAa,GAAE,OAAK,KAAK,MAAK,MAAI,KAAK,UAAU;AAAA,IAAI,SAAS,UAAU,CAAC,QAAO;AAAA,MAAC,KAAK,MAAI,OAAM,KAAK,OAAK,OAAO,MAAK,KAAK,SAAO,QAAO,KAAK,OAAK,IAAI,SAAQ,KAAK,KAAK,MAAM,OAAO,IAAI;AAAA;AAAA,IAAE,OAAO,UAAQ;AAAA,IAAW,WAAW,UAAU,SAAO,QAAQ,CAAC,MAAK,UAAS;AAAA,MAAC,OAAO,KAAK,KAAK,QAAQ,MAAK,QAAQ,EAAE,KAAK;AAAA;AAAA,IAAG,SAAS,OAAO,CAAC,QAAO;AAAA,MAAC,KAAK,KAAK,KAAK,MAAK,OAAM,MAAM;AAAA;AAAA,IAAE,UAAS,SAAQ,KAAK,IAAI;AAAA,IAAE,QAAQ,UAAU,mBAAiB,QAAQ,CAAC,KAAI,WAAU,KAAI,SAAQ;AAAA,MAAC,IAAI,aAAW,UAAU,KAAI,WAAU,KAAI,KAAK,QAAQ;AAAA,MAAE,IAAG,QAAQ,SAAO,KAAI;AAAA,QAAC,IAAI,SAAO,IAAI,SAAQ,CAAC;AAAA,QAAE,OAAO,OAAO,KAAG,YAAW,OAAO,KAAG,QAAQ,QAAO,KAAK,qBAAqB,CAAC,QAAO,OAAO,CAAC;AAAA,MAAC;AAAA,MAAC,IAAI,YAAU;AAAA,MAAE,SAAQ,KAAE,QAAQ,OAAO,MAAG,KAAI,OAAI;AAAA,QAAE;AAAA,MAAY,IAAI,SAAO,IAAI,SAAQ,IAAE,SAAS;AAAA,MAAE,OAAO,KAAG,YAAW,OAAO,KAAG,MAAI;AAAA,MAAU,SAAQ,KAAE,IAAE,WAAU,IAAE,QAAQ,OAAO,IAAE,GAAE,MAAI,MAAI;AAAA,QAAE,OAAO,MAAG,IAAE;AAAA,MAAI,OAAO,KAAK,qBAAqB,CAAC,QAAO,OAAO,CAAC;AAAA;AAAA,IAAG,QAAQ,UAAU,aAAW,QAAQ,CAAC,KAAI,KAAI;AAAA,MAAC,IAAG,QAAM;AAAA,QAAS,OAAO,KAAK,qBAAqB,CAAC,IAAI,SAAO,GAAE,IAAI,IAAI,CAAC;AAAA,MAAO,SAAG,QAAM,UAAS;AAAA,QAAC,IAAI,MAAI,IAAI,SAAQ,IAAI,SAAO,CAAC;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,IAAI,QAAO;AAAA,UAAI,IAAI,cAAc,IAAI,WAAW,EAAC,GAAE,KAAE,CAAC;AAAA,QAAE,OAAO,KAAK,qBAAqB,GAAG;AAAA,MAAC,EAAM,SAAG,QAAM,UAAS;AAAA,QAAC,IAAG,CAAC,KAAK,UAAU,GAAG;AAAA,UAAE,OAAO,KAAK,SAAS,MAAM,gEAAgE;AAAA,QAAE,OAAO,KAAK,qBAAqB,GAAG;AAAA,MAAC,EAAM,SAAG,QAAM,YAAW;AAAA,QAAC,IAAG,CAAC,KAAK,YAAY,GAAG;AAAA,UAAE,OAAO,KAAK,SAAS,MAAM,mNAAmN;AAAA,QAAE,OAAO,KAAK,qBAAqB,GAAG;AAAA,MAAC,EAAM,SAAG,OAAO,KAAK,GAAG;AAAA,QAAE,OAAO,KAAK,qBAAqB,GAAG;AAAA,MAAO,SAAG,QAAM;AAAA,QAAU,OAAO,KAAK,qBAAqB,GAAG;AAAA,MAAO;AAAA,eAAO,KAAK,SAAS,MAAM,8BAA4B,MAAI,cAAc;AAAA;AAAA,IAAG,QAAQ,UAAU,eAAa,QAAQ,CAAC,IAAG,QAAO,UAAS;AAAA,MAAC,IAAG,OAAO,OAAK,UAAS;AAAA,QAAC,IAAG,CAAC;AAAA,UAAO,OAAO,KAAK,SAAS,MAAM,6CAA6C;AAAA,QAAE,IAAG,CAAC,OAAO,eAAe,EAAE;AAAA,UAAE,OAAO,KAAK,SAAS,MAAM,+BAA+B;AAAA,QAAE,KAAG,OAAO,IAAI,MAAM,UAAU;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,GAAG,QAAO;AAAA,UAAI,GAAG,OAAI;AAAA,MAAC,EAAM,SAAG,MAAM,QAAQ,EAAE,GAAE;AAAA,QAAC,KAAG,GAAG,MAAM;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,GAAG,QAAO;AAAA,UAAI,GAAG,OAAI;AAAA,MAAC;AAAA,MAAC,IAAG,CAAC,MAAM,QAAQ,EAAE;AAAA,QAAE,OAAO,KAAK,SAAS,MAAM,oDAAkD,KAAK,UAAU,EAAE,CAAC;AAAA,MAAE,IAAG,CAAC,UAAS;AAAA,QAAC,IAAG,GAAG,MAAI;AAAA,UAAG,OAAO,KAAK,SAAS,MAAM,6BAA6B;AAAA,QAAE,GAAG,OAAO,GAAE,GAAE,GAAG,KAAG,KAAG,GAAG,EAAE;AAAA,MAAC;AAAA,MAAC,IAAI,OAAK;AAAA,MAAE,SAAQ,KAAE,EAAE,KAAE,GAAG,QAAO,MAAI;AAAA,QAAC,IAAI,QAAM,GAAG;AAAA,QAAG,KAAI,OAAO,SAAO,KAAI,UAAQ;AAAA,UAAE;AAAA,MAAM;AAAA,MAAC,IAAI,QAAM,IAAI,SAAQ,IAAI,GAAE,SAAO,MAAM,SAAO;AAAA,MAAE,SAAQ,KAAE,GAAG,SAAO,EAAE,MAAG,GAAE,MAAI;AAAA,QAAC,IAAI,QAAM,GAAG;AAAA,QAAG,MAAM,YAAU,QAAM;AAAA,QAAI,QAAO,UAAQ,KAAG;AAAA,UAAE,MAAM,YAAU,MAAI,QAAM;AAAA,MAAG;AAAA,MAAC,OAAO,KAAK,qBAAqB,KAAK;AAAA;AAAA,IAAG,SAAS,GAAG,CAAC,KAAI;AAAA,MAAC,IAAG,MAAI;AAAA,QAAG,OAAM,MAAI;AAAA,MAAS;AAAA,eAAO;AAAA;AAAA,IAAI,QAAQ,UAAU,cAAY,QAAQ,CAAC,MAAK,KAAI;AAAA,MAAC,IAAI,KAAI,OAAK,IAAI,KAAK,IAAI;AAAA,MAAE,IAAG,QAAM;AAAA,QAAU,MAAI,CAAC,IAAI,KAAK,YAAY,CAAC,GAAE,IAAI,KAAK,YAAY,IAAE,CAAC,GAAE,IAAI,KAAK,WAAW,CAAC,GAAE,IAAI,KAAK,YAAY,CAAC,GAAE,IAAI,KAAK,cAAc,CAAC,GAAE,IAAI,KAAK,cAAc,CAAC,GAAE,GAAG,EAAE,KAAK,EAAE;AAAA,MAAO,SAAG,QAAM;AAAA,QAAU,MAAI,CAAC,IAAI,KAAK,YAAY,IAAE,GAAG,GAAE,IAAI,KAAK,YAAY,IAAE,CAAC,GAAE,IAAI,KAAK,WAAW,CAAC,GAAE,IAAI,KAAK,YAAY,CAAC,GAAE,IAAI,KAAK,cAAc,CAAC,GAAE,IAAI,KAAK,cAAc,CAAC,GAAE,GAAG,EAAE,KAAK,EAAE;AAAA,MAAO;AAAA,aAAK,SAAS,MAAM,cAAY,MAAI,4BAA4B;AAAA,MAAE,OAAO,KAAK,WAAW,KAAI,QAAQ;AAAA;AAAA,IAAG,QAAQ,UAAU,cAAY,QAAQ,GAAE;AAAA,MAAC,OAAO,KAAK,qBAAqB,EAAE;AAAA;AAAA,IAAG,QAAQ,UAAU,aAAW,QAAQ,CAAC,KAAI,QAAO;AAAA,MAAC,IAAG,OAAO,QAAM,UAAS;AAAA,QAAC,IAAG,CAAC;AAAA,UAAO,OAAO,KAAK,SAAS,MAAM,6CAA6C;AAAA,QAAE,IAAG,CAAC,OAAO,eAAe,GAAG;AAAA,UAAE,OAAO,KAAK,SAAS,MAAM,iCAA+B,KAAK,UAAU,GAAG,CAAC;AAAA,QAAE,MAAI,OAAO;AAAA,MAAI;AAAA,MAAC,IAAG,OAAO,QAAM,YAAU,CAAC,SAAQ,SAAS,GAAG,GAAE;AAAA,QAAC,IAAI,WAAS,IAAI,QAAQ;AAAA,QAAE,IAAG,CAAC,IAAI,QAAM,SAAS,KAAG;AAAA,UAAI,SAAS,QAAQ,CAAC;AAAA,QAAE,MAAI,IAAI,SAAQ,QAAQ;AAAA,MAAC;AAAA,MAAC,IAAG,SAAQ,SAAS,GAAG,GAAE;AAAA,QAAC,IAAI,OAAK,IAAI;AAAA,QAAO,IAAG,IAAI,WAAS;AAAA,UAAE;AAAA,QAAO,IAAI,MAAI,IAAI,SAAQ,IAAI;AAAA,QAAE,IAAG,IAAI,KAAK,GAAG,GAAE,IAAI,WAAS;AAAA,UAAE,IAAI,KAAG;AAAA,QAAE,OAAO,KAAK,qBAAqB,GAAG;AAAA,MAAC;AAAA,MAAC,IAAG,MAAI;AAAA,QAAI,OAAO,KAAK,qBAAqB,GAAG;AAAA,MAAE,IAAG,MAAI;AAAA,QAAI,OAAO,KAAK,qBAAqB,CAAC,GAAE,GAAG,CAAC;AAAA,MAAE,IAAI,OAAK;AAAA,MAAE,SAAQ,KAAE,IAAI,MAAG,KAAI,OAAI;AAAA,QAAE;AAAA,MAAO,IAAI,MAAI,MAAM,IAAI;AAAA,MAAE,SAAQ,KAAE,IAAI,SAAO,EAAE,MAAG,GAAE;AAAA,QAAI,IAAI,MAAG,MAAI,KAAI,QAAM;AAAA,MAAE,IAAG,IAAI,KAAG;AAAA,QAAI,IAAI,QAAQ,CAAC;AAAA,MAAE,OAAO,KAAK,qBAAqB,IAAI,SAAQ,GAAG,CAAC;AAAA;AAAA,IAAG,QAAQ,UAAU,cAAY,QAAQ,CAAC,OAAM;AAAA,MAAC,OAAO,KAAK,qBAAqB,QAAM,MAAI,CAAC;AAAA;AAAA,IAAG,QAAQ,UAAU,OAAK,QAAQ,CAAC,QAAO,KAAI;AAAA,MAAC,IAAG,OAAO,WAAS;AAAA,QAAW,SAAO,OAAO,GAAG;AAAA,MAAE,OAAO,OAAO,YAAY,KAAK,EAAE;AAAA;AAAA,IAAM,QAAQ,UAAU,eAAa,QAAQ,CAAC,YAAW,UAAS,QAAO;AAAA,MAAC,IAAI,QAAM,KAAK,YAAW;AAAA,MAAE,IAAG,MAAM,YAAU;AAAA,QAAK,OAAM;AAAA,MAAG,IAAI,OAAK,WAAW,KAAK;AAAA,MAAE,IAAG,MAAM,kBAAqB;AAAA,QAAE,MAAM,gBAAc,KAAK,aAAa,MAAM,SAAQ,UAAS,MAAM,EAAE,KAAK;AAAA,MAAE,IAAG,KAAK,WAAS,MAAM,cAAc;AAAA,QAAO,OAAM;AAAA,MAAG,KAAI,KAAE,EAAE,KAAE,KAAK,QAAO;AAAA,QAAI,IAAG,KAAK,QAAK,MAAM,cAAc;AAAA,UAAG,OAAM;AAAA,MAAG,OAAM;AAAA;AAAA,IAAI,SAAS,SAAS,CAAC,KAAI,WAAU,KAAI,UAAS;AAAA,MAAC,IAAI;AAAA,MAAI,IAAG,QAAM;AAAA,QAAQ,MAAI;AAAA,MAAW,SAAG,QAAM;AAAA,QAAQ,MAAI;AAAA,MAAM,IAAG,IAAI,UAAU,eAAe,GAAG;AAAA,QAAE,MAAI,IAAI,UAAU;AAAA,MAAU,SAAG,OAAO,QAAM,aAAW,MAAI,OAAK;AAAA,QAAI,MAAI;AAAA,MAAS;AAAA,eAAO,SAAS,MAAM,kBAAgB,GAAG;AAAA,MAAE,IAAG,OAAK;AAAA,QAAG,OAAO,SAAS,MAAM,sCAAsC;AAAA,MAAE,IAAG,CAAC;AAAA,QAAU,OAAK;AAAA,MAAG,OAAO,OAAK,IAAI,eAAe,OAAK,gBAAc,GAAE;AAAA;AAAA,GAAK;AAAA,EAAM,eAAa,YAAW,CAAC,SAAQ,WAAS;AAAA,IAAC,IAAI,YAAS,iBAAiB,GAAE,aAAW,aAAa;AAAA,IAAE,SAAS,UAAU,CAAC,QAAO;AAAA,MAAC,WAAW,KAAK,MAAK,MAAM,GAAE,KAAK,MAAI;AAAA;AAAA,IAAM,UAAS,YAAW,UAAU;AAAA,IAAE,OAAO,UAAQ;AAAA,IAAW,WAAW,UAAU,SAAO,QAAQ,CAAC,MAAK,SAAQ;AAAA,MAAC,IAAI,MAAI,WAAW,UAAU,OAAO,KAAK,MAAK,IAAI,GAAE,IAAE,IAAI,SAAS,QAAQ,GAAE,MAAI,CAAC,gBAAc,QAAQ,QAAM,OAAO;AAAA,MAAE,SAAQ,KAAE,EAAE,KAAE,EAAE,QAAO,MAAG;AAAA,QAAG,IAAI,KAAK,EAAE,MAAM,IAAE,KAAE,EAAE,CAAC;AAAA,MAAE,OAAO,IAAI,KAAK,cAAY,QAAQ,QAAM,OAAO,GAAE,IAAI,KAAK;AAAA,CACri9B;AAAA;AAAA,GAAG;AAAA,EAAM,mBAAiB,YAAW,CAAC,YAAU;AAAA,IAAC,IAAI,WAAS;AAAA,IAAQ,SAAS,MAAI,aAAa;AAAA,IAAE,SAAS,MAAI,aAAa;AAAA,GAAE;AAAA,EAAM,eAAa,YAAW,CAAC,YAAU;AAAA,IAAC,IAAI,OAAK;AAAA,IAAQ,KAAK,SAAO,YAAY;AAAA,IAAE,KAAK,SAAO,YAAY,EAAE;AAAA,IAAO,KAAK,OAAK,cAAc;AAAA,IAAE,KAAK,YAAU,kBAAkB;AAAA,IAAE,KAAK,WAAS,iBAAiB;AAAA,IAAE,KAAK,WAAS,iBAAiB;AAAA,GAAE;AAAA,EAAM,sBAAoB,YAAW,CAAC,SAAQ,WAAS;AAAA,IAAC,IAAI,MAAI,aAAa,GAAE,OAAK,IAAI,OAAO,QAAO,QAAQ,GAAE;AAAA,MAAC,KAAK,OAAO,EAAC,SAAQ,KAAK,QAAQ,GAAE,aAAY,KAAK,QAAQ,EAAC,CAAC;AAAA,KAAE,GAAE,qBAAmB,IAAI,OAAO,sBAAqB,QAAQ,GAAE;AAAA,MAAC,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,MAAM,EAAE,MAAM,GAAE,KAAK,IAAI,OAAO,EAAE,IAAI,CAAC;AAAA,KAAE,GAAE,sBAAoB,IAAI,OAAO,uBAAsB,QAAQ,GAAE;AAAA,MAAC,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,WAAW,EAAE,MAAM,GAAE,KAAK,IAAI,YAAY,EAAE,SAAS,GAAE,KAAK,IAAI,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC;AAAA,KAAE,GAAE,uBAAqB,IAAI,OAAO,wBAAuB,QAAQ,GAAE;AAAA,MAAC,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,WAAW,EAAE,IAAI,mBAAmB,GAAE,KAAK,IAAI,kBAAkB,EAAE,OAAO,CAAC;AAAA,KAAE,GAAE,4BAA0B,IAAI,OAAO,6BAA4B,QAAQ,GAAE;AAAA,MAAC,KAAK,MAAM,kBAAkB;AAAA,KAAE,GAAE,cAAY,IAAI,OAAO,eAAc,QAAQ,GAAE;AAAA,MAAC,KAAK,MAAM,yBAAyB;AAAA,KAAE,GAAE,OAAK,IAAI,OAAO,QAAO,QAAQ,GAAE;AAAA,MAAC,KAAK,OAAO,EAAC,aAAY,KAAK,IAAI,WAAW,EAAC,CAAC;AAAA,KAAE,GAAE,WAAS,IAAI,OAAO,YAAW,QAAQ,GAAE;AAAA,MAAC,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,WAAW,EAAE,IAAI,IAAI,GAAE,KAAK,IAAI,UAAU,EAAE,IAAI,IAAI,CAAC;AAAA,KAAE,GAAE,YAAU,IAAI,OAAO,aAAY,QAAQ,GAAE;AAAA,MAAC,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,QAAQ,EAAE,MAAM,GAAE,KAAK,IAAI,UAAU,EAAE,KAAK,EAAE,IAAI,KAAE,GAAE,KAAK,IAAI,WAAW,EAAE,OAAO,CAAC;AAAA,KAAE,GAAE,iBAAe,IAAI,OAAO,kBAAiB,QAAQ,GAAE;AAAA,MAAC,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,GAAE,KAAK,IAAI,cAAc,EAAE,IAAI,GAAE,KAAK,IAAI,WAAW,EAAE,IAAI,mBAAmB,GAAE,KAAK,IAAI,QAAQ,EAAE,IAAI,IAAI,GAAE,KAAK,IAAI,UAAU,EAAE,IAAI,QAAQ,GAAE,KAAK,IAAI,SAAS,EAAE,IAAI,IAAI,GAAE,KAAK,IAAI,sBAAsB,EAAE,IAAI,oBAAoB,GAAE,KAAK,IAAI,gBAAgB,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,SAAS,GAAE,KAAK,IAAI,iBAAiB,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,SAAS,GAAE,KAAK,IAAI,YAAY,EAAE,SAAS,CAAC,EAAE,MAAM,SAAS,EAAE,SAAS,CAAC;AAAA,KAAE,GAAE,kBAAgB,IAAI,OAAO,mBAAkB,QAAQ,GAAE;AAAA,MAAC,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,gBAAgB,EAAE,IAAI,cAAc,GAAE,KAAK,IAAI,oBAAoB,EAAE,IAAI,mBAAmB,GAAE,KAAK,IAAI,gBAAgB,EAAE,OAAO,CAAC;AAAA,KAAE;AAAA,IAAE,OAAO,UAAQ;AAAA,GAAgB;AAAA,EAAM,gBAAc,YAAW,CAAC,YAAU;AAAA,IAAC,IAAI,OAAK,aAAa;AAAA,IAAE,QAAQ,cAAY,oBAAoB;AAAA,IAAE,IAAI,gBAAc,KAAK,OAAO,iBAAgB,QAAQ,GAAE;AAAA,MAAC,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,SAAS,EAAE,IAAI,GAAE,KAAK,IAAI,SAAS,EAAE,IAAI,GAAE,KAAK,IAAI,gBAAgB,EAAE,IAAI,GAAE,KAAK,IAAI,iBAAiB,EAAE,IAAI,GAAE,KAAK,IAAI,QAAQ,EAAE,IAAI,GAAE,KAAK,IAAI,QAAQ,EAAE,IAAI,GAAE,KAAK,IAAI,WAAW,EAAE,IAAI,GAAE,KAAK,IAAI,WAAW,EAAE,IAAI,GAAE,KAAK,IAAI,aAAa,EAAE,IAAI,CAAC;AAAA,KAAE;AAAA,IAAE,QAAQ,gBAAc;AAAA,IAAc,IAAI,eAAa,KAAK,OAAO,gBAAe,QAAQ,GAAE;AAAA,MAAC,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,SAAS,EAAE,IAAI,GAAE,KAAK,IAAI,gBAAgB,EAAE,IAAI,CAAC;AAAA,KAAE;AAAA,IAAE,QAAQ,eAAa;AAAA,IAAa,IAAI,sBAAoB,KAAK,OAAO,uBAAsB,QAAQ,GAAE;AAAA,MAAC,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,WAAW,EAAE,MAAM,GAAE,KAAK,IAAI,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,KAAK,IAAI,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,KAAK,IAAI,QAAQ,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,EAAE,IAAI,GAAE,KAAK,IAAI,GAAG,EAAE,IAAI,GAAE,KAAK,IAAI,GAAG,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC;AAAA,KAAE,GAAE,YAAU,KAAK,OAAO,wBAAuB,QAAQ,GAAE;AAAA,MAAC,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,WAAW,EAAE,IAAI,mBAAmB,GAAE,KAAK,IAAI,kBAAkB,EAAE,OAAO,CAAC;AAAA,KAAE;AAAA,IAAE,QAAQ,YAAU;AAAA,IAAU,IAAI,iBAAe,KAAK,OAAO,kBAAiB,QAAQ,GAAE;AAAA,MAAC,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,SAAS,EAAE,IAAI,GAAE,KAAK,IAAI,WAAW,EAAE,IAAI,mBAAmB,GAAE,KAAK,IAAI,mBAAmB,EAAE,OAAO,CAAC;AAAA,KAAE;AAAA,IAAE,QAAQ,aAAW;AAAA,IAAe,IAAI,0BAAwB,KAAK,OAAO,2BAA0B,QAAQ,GAAE;AAAA,MAAC,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,WAAW,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,IAAI,EAAE,MAAM,GAAE,KAAK,IAAI,SAAS,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,KAAK,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,IAAI,EAAE,MAAM,GAAE,KAAK,IAAI,WAAW,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,MAAM,EAAE,OAAO,GAAE,KAAK,IAAI,OAAO,EAAE,IAAI,CAAC,CAAC,GAAE,KAAK,IAAI,QAAQ,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,MAAM,EAAE,MAAM,GAAE,KAAK,IAAI,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAE,KAAK,IAAI,mBAAmB,EAAE,OAAO,CAAC;AAAA,KAAE;AAAA,IAAE,QAAQ,sBAAoB;AAAA,IAAwB,IAAI,gBAAc,KAAK,OAAO,iBAAgB,QAAQ,GAAE;AAAA,MAAC,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,SAAS,EAAE,IAAI,GAAE,KAAK,IAAI,GAAG,EAAE,IAAI,GAAE,KAAK,IAAI,GAAG,EAAE,IAAI,GAAE,KAAK,IAAI,GAAG,EAAE,IAAI,GAAE,KAAK,IAAI,SAAS,EAAE,IAAI,GAAE,KAAK,IAAI,UAAU,EAAE,IAAI,CAAC;AAAA,KAAE;AAAA,IAAE,QAAQ,gBAAc;AAAA,IAAc,QAAQ,WAAS,KAAK,OAAO,YAAW,QAAQ,GAAE;AAAA,MAAC,KAAK,IAAI;AAAA,KAAE;AAAA,IAAE,IAAI,eAAa,KAAK,OAAO,gBAAe,QAAQ,GAAE;AAAA,MAAC,KAAK,OAAO,EAAC,YAAW,KAAK,MAAM,EAAC,CAAC;AAAA,KAAE,GAAE,eAAa,KAAK,OAAO,gBAAe,QAAQ,GAAE;AAAA,MAAC,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,SAAS,EAAE,IAAI,GAAE,KAAK,IAAI,YAAY,EAAE,OAAO,GAAE,KAAK,IAAI,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,YAAY,GAAE,KAAK,IAAI,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC;AAAA,KAAE;AAAA,IAAE,QAAQ,eAAa;AAAA,IAAa,QAAQ,YAAU,KAAK,OAAO,aAAY,QAAQ,GAAE;AAAA,MAAC,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,EAAE,IAAI,GAAE,KAAK,IAAI,GAAG,EAAE,IAAI,CAAC;AAAA,KAAE;AAAA,GAAE;AAAA,EAAM,gBAAc,YAAW,CAAC,SAAQ,WAAS;AAAA,IAAC,OAAO,UAAQ,EAAC,0BAAyB,eAAc,0BAAyB,eAAc,0BAAyB,eAAc,0BAAyB,eAAc,2BAA0B,eAAc,2BAA0B,eAAc,2BAA0B,eAAc,2BAA0B,eAAc,2BAA0B,eAAc,2BAA0B,eAAc,2BAA0B,eAAc,2BAA0B,cAAa;AAAA,GAAE;AAAA,EAAM,oBAAkB,YAAW,CAAC,SAAQ,WAAS;AAAA,IAAC,IAAI,WAAQ,oBAAoB,EAAE,QAAO,6BAA4B,WAAU,YAAS,iBAAiB;AAAA,IAAE,SAAS,QAAQ,CAAC,WAAU;AAAA,MAAC,UAAU,KAAK,IAAI,GAAE,KAAK,SAAO,SAAQ,YAAY,SAAS,GAAE,KAAK,aAAW,WAAU,KAAK,eAAa,GAAE,KAAK,UAAQ,CAAC,GAAE,GAAE,GAAE,CAAC,GAAE,KAAK,aAAW;AAAA;AAAA,IAAG,UAAS,UAAS,SAAS;AAAA,IAAE,SAAS,UAAU,aAAW,QAAQ,CAAC,OAAM,UAAS,UAAS;AAAA,MAAC,IAAI,QAAM;AAAA,MAAK,IAAG;AAAA,QAAC,KAAK,OAAO,OAAM,QAAQ;AAAA,QAAE,OAAM,KAAI;AAAA,QAAC,QAAM;AAAA;AAAA,MAAI,SAAS,KAAK;AAAA;AAAA,IAAG,SAAS,UAAU,SAAO,QAAQ,CAAC,UAAS;AAAA,MAAC,IAAI,QAAM;AAAA,MAAK,IAAG;AAAA,QAAC,KAAK,KAAK,KAAK,OAAO,CAAC;AAAA,QAAE,OAAM,KAAI;AAAA,QAAC,QAAM;AAAA;AAAA,MAAI,SAAS,KAAK;AAAA;AAAA,IAAG,IAAI,gBAAc,OAAO,aAAW,KAAI,iBAAe,OAAO,cAAY,OAAK,OAAO,aAAW,OAAK,YAAY,WAAS,SAAQ,qBAAqB,cAAY,SAAQ;AAAA,IAAqB,SAAS,QAAQ,CAAC,MAAK,UAAS;AAAA,MAAC,IAAG,gBAAgB;AAAA,QAAQ,OAAO;AAAA,MAAK,IAAG,OAAO,SAAO;AAAA,QAAS,OAAO,SAAQ,KAAK,MAAK,QAAQ;AAAA,MAAE,IAAG,kBAAgB,YAAY,OAAO,IAAI,GAAE;AAAA,QAAC,IAAG,KAAK,eAAa;AAAA,UAAE,OAAO,SAAQ,MAAM,CAAC;AAAA,QAAE,IAAI,MAAI,SAAQ,KAAK,KAAK,QAAO,KAAK,YAAW,KAAK,UAAU;AAAA,QAAE,IAAG,IAAI,eAAa,KAAK;AAAA,UAAW,OAAO;AAAA,MAAG;AAAA,MAAC,IAAG,iBAAe,gBAAgB;AAAA,QAAW,OAAO,SAAQ,KAAK,IAAI;AAAA,MAAE,IAAG,SAAQ,SAAS,IAAI,KAAG,KAAK,eAAa,OAAO,KAAK,YAAY,aAAW,cAAY,KAAK,YAAY,SAAS,IAAI;AAAA,QAAE,OAAO,SAAQ,KAAK,IAAI;AAAA,MAAE,MAAM,UAAU,+FAA+F;AAAA;AAAA,IAAE,SAAS,UAAU,SAAO,QAAQ,CAAC,MAAK,UAAS;AAAA,MAAC,IAAG,KAAK;AAAA,QAAW,MAAM,MAAM,uBAAuB;AAAA,MAAE,OAAK,SAAS,MAAK,QAAQ;AAAA,MAAE,IAAI,QAAM,KAAK,QAAO,SAAO;AAAA,MAAE,OAAM,KAAK,eAAa,KAAK,SAAO,UAAQ,KAAK,YAAW;AAAA,QAAC,SAAQ,KAAE,KAAK,aAAa,KAAE,KAAK;AAAA,UAAY,MAAM,QAAK,KAAK;AAAA,QAAU,KAAK,QAAQ,GAAE,KAAK,eAAa;AAAA,MAAC;AAAA,MAAC,OAAM,SAAO,KAAK;AAAA,QAAO,MAAM,KAAK,kBAAgB,KAAK;AAAA,MAAU,SAAQ,IAAE,GAAE,QAAM,KAAK,SAAO,EAAE,QAAM,GAAE,EAAE;AAAA,QAAE,IAAG,KAAK,QAAQ,MAAI,OAAM,QAAM,KAAK,QAAQ,KAAG,aAAW,GAAE,QAAM;AAAA,UAAE,KAAK,QAAQ,MAAI,aAAW;AAAA,MAAM,OAAO;AAAA;AAAA,IAAM,SAAS,UAAU,UAAQ,QAAQ,GAAE;AAAA,MAAC,MAAM,MAAM,4BAA4B;AAAA;AAAA,IAAG,SAAS,UAAU,SAAO,QAAQ,CAAC,UAAS;AAAA,MAAC,IAAG,KAAK;AAAA,QAAW,MAAM,MAAM,uBAAuB;AAAA,MAAE,KAAK,aAAW;AAAA,MAAG,IAAI,SAAO,KAAK,QAAQ;AAAA,MAAE,IAAG,aAAgB;AAAA,QAAE,SAAO,OAAO,SAAS,QAAQ;AAAA,MAAE,KAAK,OAAO,KAAK,CAAC,GAAE,KAAK,eAAa;AAAA,MAAE,SAAQ,KAAE,EAAE,KAAE,GAAE,EAAE;AAAA,QAAE,KAAK,QAAQ,MAAG;AAAA,MAAE,OAAO;AAAA;AAAA,IAAQ,SAAS,UAAU,UAAQ,QAAQ,GAAE;AAAA,MAAC,MAAM,MAAM,4BAA4B;AAAA;AAAA,IAAG,OAAO,UAAQ;AAAA,GAAS;AAAA,EAAM,cAAY,YAAW,CAAC,SAAQ,WAAS;AAAA,IAAC,IAAI,YAAS,iBAAiB,GAAE,WAAS,kBAAkB,GAAE,WAAQ,oBAAoB,EAAE,QAAO,UAAQ,MAAM,EAAE;AAAA,IAAE,SAAS,GAAG,GAAE;AAAA,MAAC,SAAS,KAAK,MAAK,EAAE,GAAE,KAAK,KAAG,YAAW,KAAK,KAAG,YAAW,KAAK,KAAG,YAAW,KAAK,KAAG;AAAA;AAAA,IAAU,UAAS,KAAI,QAAQ;AAAA,IAAE,IAAI,UAAU,UAAQ,QAAQ,GAAE;AAAA,MAAC,IAAI,IAAE;AAAA,MAAQ,SAAQ,KAAE,EAAE,KAAE,IAAG,EAAE;AAAA,QAAE,EAAE,MAAG,KAAK,OAAO,YAAY,KAAE,CAAC;AAAA,MAAE,IAAI,IAAE,KAAK,IAAG,IAAE,KAAK,IAAG,IAAE,KAAK,IAAG,IAAE,KAAK;AAAA,MAAG,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,CAAC,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,WAAU,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,CAAC,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,CAAC,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,KAAI,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,KAAI,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,KAAI,YAAW,CAAC,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,KAAI,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,KAAI,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,KAAI,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,CAAC,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,CAAC,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,KAAI,WAAU,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,CAAC,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,KAAI,UAAS,CAAC,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,KAAI,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,WAAU,CAAC,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,KAAI,YAAW,CAAC,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,KAAI,YAAW,CAAC,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,CAAC,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,KAAI,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,CAAC,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,KAAI,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,KAAI,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,CAAC,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,KAAI,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,KAAI,WAAU,CAAC,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,UAAS,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,CAAC,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,KAAI,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,KAAI,WAAU,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,CAAC,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,KAAI,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,KAAI,YAAW,CAAC,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,KAAI,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,CAAC,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,KAAI,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,KAAI,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,CAAC,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,KAAI,YAAW,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,WAAU,EAAE,GAAE,IAAE,IAAI,GAAE,GAAE,GAAE,GAAE,EAAE,IAAG,YAAW,EAAE,GAAE,KAAK,KAAG,KAAK,KAAG,IAAE,GAAE,KAAK,KAAG,KAAK,KAAG,IAAE,GAAE,KAAK,KAAG,KAAK,KAAG,IAAE,GAAE,KAAK,KAAG,KAAK,KAAG,IAAE;AAAA;AAAA,IAAG,IAAI,UAAU,UAAQ,QAAQ,GAAE;AAAA,MAAC,IAAG,KAAK,OAAO,KAAK,kBAAgB,KAAI,KAAK,eAAa;AAAA,QAAG,KAAK,OAAO,KAAK,GAAE,KAAK,cAAa,EAAE,GAAE,KAAK,QAAQ,GAAE,KAAK,eAAa;AAAA,MAAE,KAAK,OAAO,KAAK,GAAE,KAAK,cAAa,EAAE,GAAE,KAAK,OAAO,cAAc,KAAK,QAAQ,IAAG,EAAE,GAAE,KAAK,OAAO,cAAc,KAAK,QAAQ,IAAG,EAAE,GAAE,KAAK,QAAQ;AAAA,MAAE,IAAI,SAAO,SAAQ,YAAY,EAAE;AAAA,MAAE,OAAO,OAAO,aAAa,KAAK,IAAG,CAAC,GAAE,OAAO,aAAa,KAAK,IAAG,CAAC,GAAE,OAAO,aAAa,KAAK,IAAG,CAAC,GAAE,OAAO,aAAa,KAAK,IAAG,EAAE,GAAE;AAAA;AAAA,IAAQ,SAAS,IAAI,CAAC,GAAE,GAAE;AAAA,MAAC,OAAO,KAAG,IAAE,MAAI,KAAG;AAAA;AAAA,IAAE,SAAS,GAAG,CAAC,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE;AAAA,MAAC,OAAO,KAAK,KAAG,IAAE,IAAE,CAAC,IAAE,KAAG,IAAE,IAAE,GAAE,CAAC,IAAE,IAAE;AAAA;AAAA,IAAE,SAAS,GAAG,CAAC,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE;AAAA,MAAC,OAAO,KAAK,KAAG,IAAE,IAAE,IAAE,CAAC,KAAG,IAAE,IAAE,GAAE,CAAC,IAAE,IAAE;AAAA;AAAA,IAAE,SAAS,GAAG,CAAC,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE;AAAA,MAAC,OAAO,KAAK,KAAG,IAAE,IAAE,KAAG,IAAE,IAAE,GAAE,CAAC,IAAE,IAAE;AAAA;AAAA,IAAE,SAAS,GAAG,CAAC,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE;AAAA,MAAC,OAAO,KAAK,KAAG,KAAG,IAAE,CAAC,MAAI,IAAE,IAAE,GAAE,CAAC,IAAE,IAAE;AAAA;AAAA,IAAE,OAAO,UAAQ;AAAA,GAAI;AAAA,EAAM,yBAAuB,YAAW,CAAC,SAAQ,WAAS;AAAA,IAAC,IAAI,WAAQ,oBAAoB,EAAE,QAAO,MAAI,YAAY;AAAA,IAAE,SAAS,cAAc,CAAC,UAAS,MAAK,SAAQ,OAAM;AAAA,MAAC,IAAG,CAAC,SAAQ,SAAS,QAAQ;AAAA,QAAE,WAAS,SAAQ,KAAK,UAAS,QAAQ;AAAA,MAAE,IAAG,MAAK;AAAA,QAAC,IAAG,CAAC,SAAQ,SAAS,IAAI;AAAA,UAAE,OAAK,SAAQ,KAAK,MAAK,QAAQ;AAAA,QAAE,IAAG,KAAK,WAAS;AAAA,UAAE,MAAM,WAAW,0CAA0C;AAAA,MAAC;AAAA,MAAC,IAAI,SAAO,UAAQ,GAAE,MAAI,SAAQ,MAAM,MAAM,GAAE,KAAG,SAAQ,MAAM,SAAO,CAAC,GAAE,MAAI,SAAQ,MAAM,CAAC;AAAA,MAAE,OAAM,SAAO,KAAG,QAAM,GAAE;AAAA,QAAC,IAAI,OAAK,IAAI;AAAA,QAAI,IAAG,KAAK,OAAO,GAAG,GAAE,KAAK,OAAO,QAAQ,GAAE;AAAA,UAAK,KAAK,OAAO,IAAI;AAAA,QAAE,MAAI,KAAK,OAAO;AAAA,QAAE,IAAI,OAAK;AAAA,QAAE,IAAG,SAAO,GAAE;AAAA,UAAC,IAAI,WAAS,IAAI,SAAO;AAAA,UAAO,OAAK,KAAK,IAAI,QAAO,IAAI,MAAM,GAAE,IAAI,KAAK,KAAI,UAAS,GAAE,IAAI,GAAE,UAAQ;AAAA,QAAI;AAAA,QAAC,IAAG,OAAK,IAAI,UAAQ,QAAM,GAAE;AAAA,UAAC,IAAI,UAAQ,GAAG,SAAO,OAAM,SAAO,KAAK,IAAI,OAAM,IAAI,SAAO,IAAI;AAAA,UAAE,IAAI,KAAK,IAAG,SAAQ,MAAK,OAAK,MAAM,GAAE,SAAO;AAAA,QAAM;AAAA,MAAC;AAAA,MAAC,OAAO,IAAI,KAAK,CAAC,GAAE,EAAC,KAAI,GAAE;AAAA;AAAA,IAAE,OAAO,UAAQ;AAAA,GAAe;AAAA,EAAM,yBAAuB,YAAW,CAAC,YAAU;AAAA,IAAC,IAAI;AAAA,IAA0B,QAAQ,eAAa,QAAQ,SAAO,QAAQ;AAAA,IAAa,QAAQ,iBAAe,QAAQ,WAAS,QAAQ;AAAA,IAAe,QAAQ,iBAAe,QAAQ,WAAS,QAAQ;AAAA,IAAe,QAAQ,mBAAiB,QAAQ,aAAW,QAAQ;AAAA,IAAiB,QAAQ,cAAY,QAAQ,aAAW,QAAQ;AAAA,GAAW;AAAA,EAAM,kBAAgB,YAAW,CAAC,SAAQ,WAAS;AAAA,IAAC,IAAI,WAAS,yHAAwH,aAAW,+CAA8C,YAAU,kFAAiF,MAAI,uBAAuB,GAAE,UAAQ,uBAAuB,GAAE,WAAQ,oBAAoB,EAAE;AAAA,IAAO,OAAO,UAAQ,QAAQ,CAAC,MAAK,UAAS;AAAA,MAAC,IAAI,MAAI,KAAK,SAAS,GAAE,QAAM,IAAI,MAAM,QAAQ,GAAE;AAAA,MAAU,IAAG,CAAC,OAAM;AAAA,QAAC,IAAI,SAAO,IAAI,MAAM,SAAS;AAAA,QAAE,YAAU,SAAQ,KAAK,OAAO,GAAG,QAAQ,WAAU,EAAE,GAAE,QAAQ;AAAA,MAAC,EAAK;AAAA,QAAC,IAAI,QAAM,QAAM,MAAM,IAAG,KAAG,SAAQ,KAAK,MAAM,IAAG,KAAK,GAAE,aAAW,SAAQ,KAAK,MAAM,GAAG,QAAQ,WAAU,EAAE,GAAE,QAAQ,GAAE,YAAU,IAAI,UAAS,GAAG,MAAM,GAAE,CAAC,GAAE,SAAS,MAAM,IAAG,EAAE,CAAC,EAAE,KAAI,MAAI,CAAC,GAAE,SAAO,QAAQ,iBAAiB,OAAM,WAAU,EAAE;AAAA,QAAE,IAAI,KAAK,OAAO,OAAO,UAAU,CAAC,GAAE,IAAI,KAAK,OAAO,MAAM,CAAC,GAAE,YAAU,SAAQ,OAAO,GAAG;AAAA;AAAA,MAAE,IAAI,MAAI,IAAI,MAAM,UAAU,EAAE;AAAA,MAAG,OAAM,EAAC,KAAI,MAAK,UAAS;AAAA;AAAA,GAAG;AAAA,EAAM,qBAAmB,YAAW,CAAC,SAAQ,WAAS;AAAA,IAAC,IAAI,OAAK,cAAc,GAAE,QAAM,cAAc,GAAE,UAAQ,gBAAgB,GAAE,UAAQ,uBAAuB,GAAE,aAAW,eAAe,EAAE,YAAW,WAAQ,oBAAoB,EAAE;AAAA,IAAO,SAAS,OAAO,CAAC,MAAK,UAAS;AAAA,MAAC,IAAI,OAAK,KAAK,UAAU,QAAQ,IAAI,UAAU,MAAK,QAAM,SAAS,KAAK,UAAU,QAAQ,IAAI,UAAU,MAAM,SAAS,GAAE,EAAE,GAAE,OAAK,MAAM,KAAK,UAAU,QAAQ,OAAO,KAAK,KAAK,GAAG,IAAG,KAAG,KAAK,UAAU,QAAQ,OAAO,IAAG,aAAW,KAAK,mBAAkB,SAAO,SAAS,KAAK,MAAM,GAAG,EAAE,IAAG,EAAE,IAAE,GAAE,MAAI,WAAW,UAAS,MAAK,OAAM,QAAO,MAAM,GAAE,SAAO,QAAQ,iBAAiB,MAAK,KAAI,EAAE,GAAE,MAAI,CAAC;AAAA,MAAE,OAAO,IAAI,KAAK,OAAO,OAAO,UAAU,CAAC,GAAE,IAAI,KAAK,OAAO,MAAM,CAAC,GAAE,SAAQ,OAAO,GAAG;AAAA;AAAA,IAAE,SAAS,SAAS,CAAC,QAAO;AAAA,MAAC,IAAI;AAAA,MAAS,IAAG,OAAO,WAAS,YAAU,CAAC,SAAQ,SAAS,MAAM;AAAA,QAAE,WAAS,OAAO,YAAW,SAAO,OAAO;AAAA,MAAI,IAAG,OAAO,WAAS;AAAA,QAAS,SAAO,SAAQ,KAAK,MAAM;AAAA,MAAE,IAAI,WAAS,QAAQ,QAAO,QAAQ,GAAE,OAAK,SAAS,KAAI,OAAK,SAAS,MAAK,SAAQ;AAAA,MAAM,QAAO;AAAA,aAAU;AAAA,UAAc,QAAM,KAAK,YAAY,OAAO,MAAK,KAAK,EAAE,eAAe;AAAA,aAAyB;AAAA,UAAa,IAAG,CAAC;AAAA,YAAM,QAAM,KAAK,UAAU,OAAO,MAAK,KAAK;AAAA,UAAE,QAAO,UAAQ,MAAM,UAAU,UAAU,KAAK,GAAG,GAAE;AAAA,iBAAa;AAAA,cAAuB,OAAO,KAAK,aAAa,OAAO,MAAM,iBAAiB,MAAK,KAAK;AAAA,iBAAM;AAAA,cAAoB,OAAO,MAAM,oBAAkB,MAAM,kBAAiB,EAAC,MAAK,MAAK,MAAK,MAAK;AAAA,iBAAM;AAAA,cAAoB,OAAO,MAAM,UAAU,OAAO,UAAQ,KAAK,SAAS,OAAO,MAAM,iBAAiB,MAAK,KAAK,GAAE,EAAC,MAAK,OAAM,MAAK,MAAM,UAAU,OAAM;AAAA;AAAA,cAAU,MAAM,MAAM,oBAAkB,OAAO;AAAA;AAAA,aAAM;AAAA,UAAwB,OAAK,KAAK,oBAAoB,OAAO,MAAK,KAAK,GAAE,OAAK,QAAQ,MAAK,QAAQ;AAAA,aAAM;AAAA,UAAc,QAAO,QAAM,KAAK,WAAW,OAAO,MAAK,KAAK,GAAE,UAAQ,MAAM,UAAU,UAAU,KAAK,GAAG,GAAE;AAAA,iBAAa;AAAA,cAAuB,OAAO,KAAK,cAAc,OAAO,MAAM,mBAAkB,KAAK;AAAA,iBAAM;AAAA,cAAoB,OAAM,EAAC,OAAM,MAAM,UAAU,OAAM,YAAW,KAAK,aAAa,OAAO,MAAM,mBAAkB,KAAK,EAAE,WAAU;AAAA,iBAAM;AAAA,cAAoB,OAAO,MAAM,UAAU,OAAO,WAAS,KAAK,SAAS,OAAO,MAAM,mBAAkB,KAAK,GAAE,EAAC,MAAK,OAAM,QAAO,MAAM,UAAU,OAAM;AAAA;AAAA,cAAU,MAAM,MAAM,oBAAkB,OAAO;AAAA;AAAA,aAAM;AAAA,UAAiB,OAAO,KAAK,aAAa,OAAO,MAAK,KAAK;AAAA,aAAM;AAAA,UAAkB,OAAO,KAAK,cAAc,OAAO,MAAK,KAAK;AAAA,aAAM;AAAA,UAAkB,OAAM,EAAC,MAAK,OAAM,QAAO,KAAK,cAAc,OAAO,MAAK,KAAK,EAAC;AAAA,aAAM;AAAA,UAAiB,OAAO,OAAK,KAAK,aAAa,OAAO,MAAK,KAAK,GAAE,EAAC,OAAM,KAAK,WAAW,OAAM,YAAW,KAAK,WAAU;AAAA;AAAA,UAAU,MAAM,MAAM,sBAAoB,IAAI;AAAA;AAAA;AAAA,IAAG,UAAU,YAAU,KAAK;AAAA,IAAU,OAAO,UAAQ;AAAA,GAAU;AAAA,EAAM,cAAY,YAAW,CAAC,SAAQ,WAAS;AAAA,IAAC,IAAI,aAAW,oBAAoB,GAAE,WAAQ,oBAAoB,EAAE;AAAA,IAAO,OAAO,UAAQ,QAAQ,CAAC,MAAK,MAAI;AAAA,MAAC,IAAI,IAAE,SAAQ,MAAM,CAAC,GAAE,KAAE,GAAE;AAAA,MAAE,OAAM,EAAE,SAAO;AAAA,QAAI,IAAE,MAAM,IAAG,GAAE,IAAE,SAAQ,OAAO,CAAC,GAAE,WAAW,MAAM,EAAE,OAAO,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AAAA,MAAE,OAAO,EAAE,MAAM,GAAE,IAAG;AAAA;AAAA,IAAG,SAAS,KAAK,CAAC,GAAE;AAAA,MAAC,IAAI,MAAI,SAAQ,YAAY,CAAC;AAAA,MAAE,OAAO,IAAI,cAAc,GAAE,CAAC,GAAE;AAAA;AAAA,GAAK;AAAA,EAAM,cAAY,YAAW,CAAC,SAAQ,WAAS;AAAA,IAAC,OAAO,UAAQ,QAAQ,CAAC,GAAE,GAAE;AAAA,MAAC,IAAI,OAAI,EAAE,QAAO,KAAE;AAAA,MAAG,OAAM,EAAE,KAAE;AAAA,QAAI,EAAE,OAAI,EAAE;AAAA,MAAG,OAAO;AAAA;AAAA,GAAG;AAAA,EAAM,cAAY,YAAW,CAAC,SAAQ,WAAS;AAAA,KAAE,QAAQ,CAAC,SAAQ,UAAS;AAAA,MAAC,SAAS,MAAM,CAAC,KAAI,KAAI;AAAA,QAAC,IAAG,CAAC;AAAA,UAAI,MAAM,MAAM,OAAK,kBAAkB;AAAA;AAAA,MAAE,SAAS,SAAQ,CAAC,MAAK,WAAU;AAAA,QAAC,KAAK,SAAO;AAAA,QAAU,IAAI,WAAS,QAAQ,GAAE;AAAA,QAAG,SAAS,YAAU,UAAU,WAAU,KAAK,YAAU,IAAI,UAAS,KAAK,UAAU,cAAY;AAAA;AAAA,MAAK,SAAS,EAAE,CAAC,QAAO,MAAK,QAAO;AAAA,QAAC,IAAG,GAAG,KAAK,MAAM;AAAA,UAAE,OAAO;AAAA,QAAO,IAAG,KAAK,WAAS,GAAE,KAAK,QAAM,MAAK,KAAK,SAAO,GAAE,KAAK,MAAI,MAAK,WAAS,MAAK;AAAA,UAAC,IAAG,SAAO,QAAM,SAAO;AAAA,YAAK,SAAO,MAAK,OAAK;AAAA,UAAG,KAAK,MAAM,UAAQ,GAAE,QAAM,IAAG,UAAQ,IAAI;AAAA,QAAC;AAAA;AAAA,MAAE,IAAG,OAAO,YAAU;AAAA,QAAS,QAAQ,UAAQ;AAAA,MAAQ;AAAA,iBAAS,KAAG;AAAA,MAAG,GAAG,KAAG,IAAG,GAAG,WAAS;AAAA,MAAG,IAAI;AAAA,MAAQ,IAAG;AAAA,QAAC,IAAG,OAAO,SAAO,OAAK,OAAO,OAAO,SAAO;AAAA,UAAI,WAAQ,OAAO;AAAA,QAAY;AAAA,mEAA0B;AAAA,QAAO,OAAM,GAAE;AAAA,MAAE,GAAG,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAG,eAAe;AAAA,UAAG,OAAM;AAAA,QAAG,OAAO,QAAM,QAAM,OAAO,QAAM,YAAU,IAAI,YAAY,aAAW,GAAG,YAAU,MAAM,QAAQ,IAAI,KAAK;AAAA,SAAG,GAAG,MAAI,QAAQ,CAAC,MAAK,OAAM;AAAA,QAAC,IAAG,KAAK,IAAI,KAAK,IAAE;AAAA,UAAE,OAAO;AAAA,QAAK,OAAO;AAAA,SAAO,GAAG,MAAI,QAAQ,CAAC,MAAK,OAAM;AAAA,QAAC,IAAG,KAAK,IAAI,KAAK,IAAE;AAAA,UAAE,OAAO;AAAA,QAAK,OAAO;AAAA,SAAO,GAAG,UAAU,QAAM,QAAQ,CAAC,QAAO,MAAK,QAAO;AAAA,QAAC,IAAG,OAAO,WAAS;AAAA,UAAS,OAAO,KAAK,YAAY,QAAO,MAAK,MAAM;AAAA,QAAE,IAAG,OAAO,WAAS;AAAA,UAAS,OAAO,KAAK,WAAW,QAAO,MAAK,MAAM;AAAA,QAAE,IAAG,SAAO;AAAA,UAAM,OAAK;AAAA,QAAG,OAAO,UAAQ,OAAK,MAAI,QAAM,KAAG,QAAM,EAAE,GAAE,SAAO,OAAO,SAAS,EAAE,QAAQ,QAAO,EAAE;AAAA,QAAE,IAAI,QAAM;AAAA,QAAE,IAAG,OAAO,OAAK;AAAA,UAAI,SAAQ,KAAK,WAAS;AAAA,QAAE,IAAG,QAAM,OAAO,QAAO;AAAA,UAAC,IAAG,SAAO;AAAA,YAAG,KAAK,UAAU,QAAO,OAAM,MAAM;AAAA,UAAO,SAAG,KAAK,WAAW,QAAO,MAAK,KAAK,GAAE,WAAS;AAAA,YAAK,KAAK,WAAW,KAAK,QAAQ,GAAE,MAAK,MAAM;AAAA,QAAC;AAAA,SAAG,GAAG,UAAU,cAAY,QAAQ,CAAC,QAAO,MAAK,QAAO;AAAA,QAAC,IAAG,SAAO;AAAA,UAAE,KAAK,WAAS,GAAE,SAAO,CAAC;AAAA,QAAO,IAAG,SAAO;AAAA,UAAS,KAAK,QAAM,CAAC,SAAO,QAAQ,GAAE,KAAK,SAAO;AAAA,QAAO,SAAG,SAAO;AAAA,UAAiB,KAAK,QAAM,CAAC,SAAO,UAAS,SAAO,WAAS,QAAQ,GAAE,KAAK,SAAO;AAAA,QAAO;AAAA,iBAAO,SAAO,gBAAgB,GAAE,KAAK,QAAM,CAAC,SAAO,UAAS,SAAO,WAAS,UAAS,CAAC,GAAE,KAAK,SAAO;AAAA,QAAE,IAAG,WAAS;AAAA,UAAK;AAAA,QAAO,KAAK,WAAW,KAAK,QAAQ,GAAE,MAAK,MAAM;AAAA,SAAG,GAAG,UAAU,aAAW,QAAQ,CAAC,QAAO,MAAK,QAAO;AAAA,QAAC,IAAG,OAAO,OAAO,OAAO,WAAS,QAAQ,GAAE,OAAO,UAAQ;AAAA,UAAE,OAAO,KAAK,QAAM,CAAC,CAAC,GAAE,KAAK,SAAO,GAAE;AAAA,QAAK,KAAK,SAAO,KAAK,KAAK,OAAO,SAAO,CAAC,GAAE,KAAK,QAAM,MAAM,KAAK,MAAM;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,KAAK,QAAO;AAAA,UAAI,KAAK,MAAM,MAAG;AAAA,QAAE,IAAI,GAAE,GAAE,MAAI;AAAA,QAAE,IAAG,WAAS,MAAK;AAAA,UAAC,KAAI,KAAE,OAAO,SAAO,GAAE,IAAE,EAAE,MAAG,GAAE,MAAG;AAAA,YAAE,IAAG,IAAE,OAAO,MAAG,OAAO,KAAE,MAAI,IAAE,OAAO,KAAE,MAAI,IAAG,KAAK,MAAM,MAAI,KAAG,MAAI,UAAS,KAAK,MAAM,IAAE,KAAG,MAAI,KAAG,MAAI,UAAS,OAAK,IAAG,OAAK;AAAA,cAAG,OAAK,IAAG;AAAA,QAAG,EAAM,SAAG,WAAS,MAAK;AAAA,UAAC,KAAI,KAAE,GAAE,IAAE,EAAE,KAAE,OAAO,QAAO,MAAG;AAAA,YAAE,IAAG,IAAE,OAAO,MAAG,OAAO,KAAE,MAAI,IAAE,OAAO,KAAE,MAAI,IAAG,KAAK,MAAM,MAAI,KAAG,MAAI,UAAS,KAAK,MAAM,IAAE,KAAG,MAAI,KAAG,MAAI,UAAS,OAAK,IAAG,OAAK;AAAA,cAAG,OAAK,IAAG;AAAA,QAAG;AAAA,QAAC,OAAO,KAAK,MAAM;AAAA;AAAA,MAAG,SAAS,aAAa,CAAC,QAAO,OAAM;AAAA,QAAC,IAAI,IAAE,OAAO,WAAW,KAAK;AAAA,QAAE,IAAG,KAAG,MAAI,KAAG;AAAA,UAAG,OAAO,IAAE;AAAA,QAAQ,SAAG,KAAG,MAAI,KAAG;AAAA,UAAI,OAAO,IAAE;AAAA,QAAQ;AAAA,iBAAO,IAAE,KAAG;AAAA;AAAA,MAAG,SAAS,YAAY,CAAC,QAAO,YAAW,OAAM;AAAA,QAAC,IAAI,IAAE,cAAc,QAAO,KAAK;AAAA,QAAE,IAAG,QAAM,KAAG;AAAA,UAAW,KAAG,cAAc,QAAO,QAAM,CAAC,KAAG;AAAA,QAAE,OAAO;AAAA;AAAA,MAAE,GAAG,UAAU,YAAU,QAAQ,CAAC,QAAO,OAAM,QAAO;AAAA,QAAC,KAAK,SAAO,KAAK,MAAM,OAAO,SAAO,SAAO,CAAC,GAAE,KAAK,QAAM,MAAM,KAAK,MAAM;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,KAAK,QAAO;AAAA,UAAI,KAAK,MAAM,MAAG;AAAA,QAAE,IAAI,MAAI,GAAE,IAAE,GAAE;AAAA,QAAE,IAAG,WAAS;AAAA,UAAK,KAAI,KAAE,OAAO,SAAO,EAAE,MAAG,OAAM,MAAG;AAAA,YAAE,IAAG,IAAE,aAAa,QAAO,OAAM,EAAC,KAAG,KAAI,KAAK,MAAM,MAAI,IAAE,UAAS,OAAK;AAAA,cAAG,OAAK,IAAG,KAAG,GAAE,KAAK,MAAM,MAAI,MAAI;AAAA,YAAQ;AAAA,qBAAK;AAAA,QAAM;AAAA,UAAC,IAAI,cAAY,OAAO,SAAO;AAAA,UAAM,KAAI,KAAE,cAAY,MAAI,IAAE,QAAM,IAAE,MAAM,KAAE,OAAO,QAAO,MAAG;AAAA,YAAE,IAAG,IAAE,aAAa,QAAO,OAAM,EAAC,KAAG,KAAI,KAAK,MAAM,MAAI,IAAE,UAAS,OAAK;AAAA,cAAG,OAAK,IAAG,KAAG,GAAE,KAAK,MAAM,MAAI,MAAI;AAAA,YAAQ;AAAA,qBAAK;AAAA;AAAA,QAAE,KAAK,MAAM;AAAA;AAAA,MAAG,SAAS,SAAS,CAAC,KAAI,OAAM,KAAI,KAAI;AAAA,QAAC,IAAI,IAAE,GAAE,OAAI,KAAK,IAAI,IAAI,QAAO,GAAG;AAAA,QAAE,SAAQ,KAAE,MAAM,KAAE,MAAI,MAAI;AAAA,UAAC,IAAI,IAAE,IAAI,WAAW,EAAC,IAAE;AAAA,UAAG,IAAG,KAAG,KAAI,KAAG;AAAA,YAAG,KAAG,IAAE,KAAG;AAAA,UAAQ,SAAG,KAAG;AAAA,YAAG,KAAG,IAAE,KAAG;AAAA,UAAQ;AAAA,iBAAG;AAAA,QAAC;AAAA,QAAC,OAAO;AAAA;AAAA,MAAE,GAAG,UAAU,aAAW,QAAQ,CAAC,QAAO,MAAK,OAAM;AAAA,QAAC,KAAK,QAAM,CAAC,CAAC,GAAE,KAAK,SAAO;AAAA,QAAE,SAAQ,UAAQ,GAAE,UAAQ,EAAE,WAAS,UAAS,WAAS;AAAA,UAAK;AAAA,QAAU,WAAU,UAAQ,UAAQ,OAAK;AAAA,QAAE,IAAI,QAAM,OAAO,SAAO,OAAM,MAAI,QAAM,SAAQ,MAAI,KAAK,IAAI,OAAM,QAAM,GAAG,IAAE,OAAM,OAAK;AAAA,QAAE,SAAQ,KAAE,MAAM,KAAE,KAAI,MAAG;AAAA,UAAQ,IAAG,OAAK,UAAU,QAAO,IAAE,KAAE,SAAQ,IAAI,GAAE,KAAK,MAAM,OAAO,GAAE,KAAK,MAAM,KAAG,OAAK;AAAA,YAAS,KAAK,MAAM,MAAI;AAAA,UAAU;AAAA,iBAAK,OAAO,IAAI;AAAA,QAAE,IAAG,QAAM,GAAE;AAAA,UAAC,IAAI,MAAI;AAAA,UAAE,OAAK,UAAU,QAAO,IAAE,OAAO,QAAO,IAAI;AAAA,UAAE,KAAI,KAAE,EAAE,KAAE,KAAI;AAAA,YAAI,OAAK;AAAA,UAAK,IAAG,KAAK,MAAM,GAAG,GAAE,KAAK,MAAM,KAAG,OAAK;AAAA,YAAS,KAAK,MAAM,MAAI;AAAA,UAAU;AAAA,iBAAK,OAAO,IAAI;AAAA,QAAC;AAAA,QAAC,KAAK,MAAM;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,MAAK;AAAA,QAAC,KAAK,QAAM,MAAM,KAAK,MAAM;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,KAAK,QAAO;AAAA,UAAI,KAAK,MAAM,MAAG,KAAK,MAAM;AAAA,QAAG,KAAK,SAAO,KAAK,QAAO,KAAK,WAAS,KAAK,UAAS,KAAK,MAAI,KAAK;AAAA,SAAK,GAAG,UAAU,QAAM,QAAQ,GAAE;AAAA,QAAC,IAAI,IAAE,IAAI,GAAG,IAAI;AAAA,QAAE,OAAO,KAAK,KAAK,CAAC,GAAE;AAAA,SAAG,GAAG,UAAU,UAAQ,QAAQ,CAAC,MAAK;AAAA,QAAC,OAAM,KAAK,SAAO;AAAA,UAAK,KAAK,MAAM,KAAK,YAAU;AAAA,QAAE,OAAO;AAAA,SAAM,GAAG,UAAU,QAAM,QAAQ,GAAE;AAAA,QAAC,OAAM,KAAK,SAAO,KAAG,KAAK,MAAM,KAAK,SAAO,OAAK;AAAA,UAAE,KAAK;AAAA,QAAS,OAAO,KAAK,UAAU;AAAA,SAAG,GAAG,UAAU,YAAU,QAAQ,GAAE;AAAA,QAAC,IAAG,KAAK,WAAS,KAAG,KAAK,MAAM,OAAK;AAAA,UAAE,KAAK,WAAS;AAAA,QAAE,OAAO;AAAA,SAAM,GAAG,UAAU,UAAQ,QAAQ,GAAE;AAAA,QAAC,QAAO,KAAK,MAAI,YAAU,WAAS,KAAK,SAAS,EAAE,IAAE;AAAA;AAAA,MAAK,IAAI,QAAM,CAAC,IAAG,KAAI,MAAK,OAAM,QAAO,SAAQ,UAAS,WAAU,YAAW,aAAY,cAAa,eAAc,gBAAe,iBAAgB,kBAAiB,mBAAkB,oBAAmB,qBAAoB,sBAAqB,uBAAsB,wBAAuB,yBAAwB,0BAAyB,2BAA0B,4BAA2B,2BAA2B,GAAE,aAAW,CAAC,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,CAAC,GAAE,aAAW,CAAC,GAAE,GAAE,UAAS,UAAS,UAAS,UAAS,UAAS,UAAS,UAAS,UAAS,KAAI,UAAS,UAAS,UAAS,SAAQ,UAAS,UAAS,UAAS,UAAS,UAAS,UAAS,SAAQ,SAAQ,SAAQ,SAAQ,SAAQ,UAAS,UAAS,UAAS,UAAS,UAAS,UAAS,UAAS,UAAS,UAAS,UAAS,QAAQ;AAAA,MAAE,IAAG,GAAG,UAAU,WAAS,QAAQ,CAAC,MAAK,SAAQ;AAAA,QAAC,OAAK,QAAM,IAAG,UAAQ,UAAQ,KAAG;AAAA,QAAE,IAAI;AAAA,QAAI,IAAG,SAAO,MAAI,SAAO,OAAM;AAAA,UAAC,MAAI;AAAA,UAAG,IAAI,MAAI,GAAE,QAAM;AAAA,UAAE,SAAQ,KAAE,EAAE,KAAE,KAAK,QAAO,MAAI;AAAA,YAAC,IAAI,IAAE,KAAK,MAAM,KAAG,SAAO,KAAG,MAAI,SAAO,UAAU,SAAS,EAAE;AAAA,YAAE,IAAG,QAAM,MAAI,KAAG,MAAI,UAAS,OAAK,GAAE,OAAK;AAAA,cAAG,OAAK,IAAG;AAAA,YAAI,IAAG,UAAQ,KAAG,OAAI,KAAK,SAAO;AAAA,cAAE,MAAI,MAAM,IAAE,KAAK,UAAQ,OAAK;AAAA,YAAS;AAAA,oBAAI,OAAK;AAAA,UAAG;AAAA,UAAC,IAAG,UAAQ;AAAA,YAAE,MAAI,MAAM,SAAS,EAAE,IAAE;AAAA,UAAI,OAAM,IAAI,SAAO,YAAU;AAAA,YAAE,MAAI,MAAI;AAAA,UAAI,IAAG,KAAK,aAAW;AAAA,YAAE,MAAI,MAAI;AAAA,UAAI,OAAO;AAAA,QAAG;AAAA,QAAC,IAAG,UAAQ,OAAK,MAAI,QAAM,KAAG,QAAM,IAAG;AAAA,UAAC,IAAI,YAAU,WAAW,OAAM,YAAU,WAAW;AAAA,UAAM,MAAI;AAAA,UAAG,IAAI,IAAE,KAAK,MAAM;AAAA,UAAE,EAAE,WAAS;AAAA,UAAE,OAAM,CAAC,EAAE,OAAO,GAAE;AAAA,YAAC,IAAI,IAAE,EAAE,KAAK,SAAS,EAAE,SAAS,IAAI;AAAA,YAAE,IAAG,IAAE,EAAE,MAAM,SAAS,GAAE,CAAC,EAAE,OAAO;AAAA,cAAE,MAAI,MAAM,YAAU,EAAE,UAAQ,IAAE;AAAA,YAAS;AAAA,oBAAI,IAAE;AAAA,UAAG;AAAA,UAAC,IAAG,KAAK,OAAO;AAAA,YAAE,MAAI,MAAI;AAAA,UAAI,OAAM,IAAI,SAAO,YAAU;AAAA,YAAE,MAAI,MAAI;AAAA,UAAI,IAAG,KAAK,aAAW;AAAA,YAAE,MAAI,MAAI;AAAA,UAAI,OAAO;AAAA,QAAG;AAAA,QAAC,OAAO,OAAG,iCAAiC;AAAA,SAAG,GAAG,UAAU,WAAS,QAAQ,GAAE;AAAA,QAAC,IAAI,MAAI,KAAK,MAAM;AAAA,QAAG,IAAG,KAAK,WAAS;AAAA,UAAE,OAAK,KAAK,MAAM,KAAG;AAAA,QAAc,SAAG,KAAK,WAAS,KAAG,KAAK,MAAM,OAAK;AAAA,UAAE,OAAK,mBAAiB,KAAK,MAAM,KAAG;AAAA,QAAc,SAAG,KAAK,SAAO;AAAA,UAAE,OAAO,OAAG,4CAA4C;AAAA,QAAE,OAAO,KAAK,aAAW,IAAE,CAAC,MAAI;AAAA,SAAK,GAAG,UAAU,SAAO,QAAQ,GAAE;AAAA,QAAC,OAAO,KAAK,SAAS,EAAE;AAAA,SAAG,GAAG,UAAU,WAAS,QAAQ,CAAC,QAAO,QAAO;AAAA,QAAC,OAAO,OAAO,OAAO,WAAQ,GAAG,GAAE,KAAK,YAAY,UAAQ,QAAO,MAAM;AAAA,SAAG,GAAG,UAAU,UAAQ,QAAQ,CAAC,QAAO,QAAO;AAAA,QAAC,OAAO,KAAK,YAAY,OAAM,QAAO,MAAM;AAAA,SAAG,GAAG,UAAU,cAAY,QAAQ,CAAC,WAAU,QAAO,QAAO;AAAA,QAAC,IAAI,cAAW,KAAK,WAAW,GAAE,YAAU,UAAQ,KAAK,IAAI,GAAE,WAAU;AAAA,QAAE,OAAO,eAAY,WAAU,uCAAuC,GAAE,OAAO,YAAU,GAAE,6BAA6B,GAAE,KAAK,MAAM;AAAA,QAAE,IAAI,eAAa,WAAS,MAAK,MAAI,IAAI,UAAU,SAAS,GAAE,GAAE,IAAE,IAAE,KAAK,MAAM;AAAA,QAAE,IAAG,CAAC,cAAa;AAAA,UAAC,KAAI,KAAE,EAAE,KAAE,YAAU,aAAW;AAAA,YAAI,IAAI,MAAG;AAAA,UAAE,KAAI,KAAE,EAAE,CAAC,EAAE,OAAO,GAAE;AAAA,YAAI,IAAE,EAAE,MAAM,GAAG,GAAE,EAAE,OAAO,CAAC,GAAE,IAAI,YAAU,KAAE,KAAG;AAAA,QAAC,EAAK;AAAA,UAAC,KAAI,KAAE,EAAE,CAAC,EAAE,OAAO,GAAE;AAAA,YAAI,IAAE,EAAE,MAAM,GAAG,GAAE,EAAE,OAAO,CAAC,GAAE,IAAI,MAAG;AAAA,UAAE,MAAK,KAAE,WAAU;AAAA,YAAI,IAAI,MAAG;AAAA;AAAA,QAAE,OAAO;AAAA,SAAK,KAAK;AAAA,QAAM,GAAG,UAAU,aAAW,QAAQ,CAAC,GAAE;AAAA,UAAC,OAAO,KAAG,KAAK,MAAM,CAAC;AAAA;AAAA,MAAQ;AAAA,WAAG,UAAU,aAAW,QAAQ,CAAC,GAAE;AAAA,UAAC,IAAI,IAAE,GAAE,IAAE;AAAA,UAAE,IAAG,KAAG;AAAA,YAAK,KAAG,IAAG,OAAK;AAAA,UAAG,IAAG,KAAG;AAAA,YAAG,KAAG,GAAE,OAAK;AAAA,UAAE,IAAG,KAAG;AAAA,YAAE,KAAG,GAAE,OAAK;AAAA,UAAE,IAAG,KAAG;AAAA,YAAE,KAAG,GAAE,OAAK;AAAA,UAAE,OAAO,IAAE;AAAA;AAAA,MAAG,GAAG,UAAU,YAAU,QAAQ,CAAC,GAAE;AAAA,QAAC,IAAG,MAAI;AAAA,UAAE,OAAO;AAAA,QAAG,IAAI,IAAE,GAAE,IAAE;AAAA,QAAE,KAAI,IAAE,UAAQ;AAAA,UAAE,KAAG,IAAG,OAAK;AAAA,QAAG,KAAI,IAAE,SAAO;AAAA,UAAE,KAAG,GAAE,OAAK;AAAA,QAAE,KAAI,IAAE,QAAM;AAAA,UAAE,KAAG,GAAE,OAAK;AAAA,QAAE,KAAI,IAAE,OAAK;AAAA,UAAE,KAAG,GAAE,OAAK;AAAA,QAAE,KAAI,IAAE,OAAK;AAAA,UAAE;AAAA,QAAI,OAAO;AAAA,SAAG,GAAG,UAAU,YAAU,QAAQ,GAAE;AAAA,QAAC,IAAI,IAAE,KAAK,MAAM,KAAK,SAAO,IAAG,KAAG,KAAK,WAAW,CAAC;AAAA,QAAE,QAAO,KAAK,SAAO,KAAG,KAAG;AAAA;AAAA,MAAI,SAAS,UAAU,CAAC,KAAI;AAAA,QAAC,IAAI,IAAE,MAAM,IAAI,UAAU,CAAC;AAAA,QAAE,SAAQ,MAAI,EAAE,MAAI,EAAE,QAAO,OAAM;AAAA,UAAC,IAAI,MAAI,MAAI,KAAG,GAAE,OAAK,MAAI;AAAA,UAAG,EAAE,QAAM,IAAI,MAAM,OAAK,KAAG,UAAQ;AAAA,QAAI;AAAA,QAAC,OAAO;AAAA;AAAA,MAAE,GAAG,UAAU,WAAS,QAAQ,GAAE;AAAA,QAAC,IAAG,KAAK,OAAO;AAAA,UAAE,OAAO;AAAA,QAAE,IAAI,IAAE;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,KAAK,QAAO,MAAI;AAAA,UAAC,IAAI,IAAE,KAAK,UAAU,KAAK,MAAM,GAAE;AAAA,UAAE,IAAG,KAAG,GAAE,MAAI;AAAA,YAAG;AAAA,QAAK;AAAA,QAAC,OAAO;AAAA,SAAG,GAAG,UAAU,aAAW,QAAQ,GAAE;AAAA,QAAC,OAAO,KAAK,KAAK,KAAK,UAAU,IAAE,CAAC;AAAA,SAAG,GAAG,UAAU,SAAO,QAAQ,CAAC,OAAM;AAAA,QAAC,IAAG,KAAK,aAAW;AAAA,UAAE,OAAO,KAAK,IAAI,EAAE,MAAM,KAAK,EAAE,MAAM,CAAC;AAAA,QAAE,OAAO,KAAK,MAAM;AAAA,SAAG,GAAG,UAAU,WAAS,QAAQ,CAAC,OAAM;AAAA,QAAC,IAAG,KAAK,MAAM,QAAM,CAAC;AAAA,UAAE,OAAO,KAAK,KAAK,KAAK,EAAE,MAAM,CAAC,EAAE,KAAK;AAAA,QAAE,OAAO,KAAK,MAAM;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,GAAE;AAAA,QAAC,OAAO,KAAK,aAAW;AAAA,SAAG,GAAG,UAAU,MAAI,QAAQ,GAAE;AAAA,QAAC,OAAO,KAAK,MAAM,EAAE,KAAK;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,GAAE;AAAA,QAAC,IAAG,CAAC,KAAK,OAAO;AAAA,UAAE,KAAK,YAAU;AAAA,QAAE,OAAO;AAAA,SAAM,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAM,KAAK,SAAO,IAAI;AAAA,UAAO,KAAK,MAAM,KAAK,YAAU;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,IAAI,QAAO;AAAA,UAAI,KAAK,MAAM,MAAG,KAAK,MAAM,MAAG,IAAI,MAAM;AAAA,QAAG,OAAO,KAAK,MAAM;AAAA,SAAG,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,QAAQ,KAAK,WAAS,IAAI,cAAY,CAAC,GAAE,KAAK,KAAK,GAAG;AAAA,SAAG,GAAG,UAAU,KAAG,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAG,KAAK,SAAO,IAAI;AAAA,UAAO,OAAO,KAAK,MAAM,EAAE,IAAI,GAAG;AAAA,QAAE,OAAO,IAAI,MAAM,EAAE,IAAI,IAAI;AAAA,SAAG,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAG,KAAK,SAAO,IAAI;AAAA,UAAO,OAAO,KAAK,MAAM,EAAE,KAAK,GAAG;AAAA,QAAE,OAAO,IAAI,MAAM,EAAE,KAAK,IAAI;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI;AAAA,QAAE,IAAG,KAAK,SAAO,IAAI;AAAA,UAAO,IAAE;AAAA,QAAS;AAAA,cAAE;AAAA,QAAK,SAAQ,KAAE,EAAE,KAAE,EAAE,QAAO;AAAA,UAAI,KAAK,MAAM,MAAG,KAAK,MAAM,MAAG,IAAI,MAAM;AAAA,QAAG,OAAO,KAAK,SAAO,EAAE,QAAO,KAAK,MAAM;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,QAAQ,KAAK,WAAS,IAAI,cAAY,CAAC,GAAE,KAAK,MAAM,GAAG;AAAA,SAAG,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAG,KAAK,SAAO,IAAI;AAAA,UAAO,OAAO,KAAK,MAAM,EAAE,KAAK,GAAG;AAAA,QAAE,OAAO,IAAI,MAAM,EAAE,KAAK,IAAI;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAG,KAAK,SAAO,IAAI;AAAA,UAAO,OAAO,KAAK,MAAM,EAAE,MAAM,GAAG;AAAA,QAAE,OAAO,IAAI,MAAM,EAAE,MAAM,IAAI;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI,GAAE;AAAA,QAAE,IAAG,KAAK,SAAO,IAAI;AAAA,UAAO,IAAE,MAAK,IAAE;AAAA,QAAS;AAAA,cAAE,KAAI,IAAE;AAAA,QAAK,SAAQ,KAAE,EAAE,KAAE,EAAE,QAAO;AAAA,UAAI,KAAK,MAAM,MAAG,EAAE,MAAM,MAAG,EAAE,MAAM;AAAA,QAAG,IAAG,SAAO;AAAA,UAAE,MAAK,KAAE,EAAE,QAAO;AAAA,YAAI,KAAK,MAAM,MAAG,EAAE,MAAM;AAAA,QAAG,OAAO,KAAK,SAAO,EAAE,QAAO,KAAK,MAAM;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,QAAQ,KAAK,WAAS,IAAI,cAAY,CAAC,GAAE,KAAK,MAAM,GAAG;AAAA,SAAG,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAG,KAAK,SAAO,IAAI;AAAA,UAAO,OAAO,KAAK,MAAM,EAAE,KAAK,GAAG;AAAA,QAAE,OAAO,IAAI,MAAM,EAAE,KAAK,IAAI;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAG,KAAK,SAAO,IAAI;AAAA,UAAO,OAAO,KAAK,MAAM,EAAE,MAAM,GAAG;AAAA,QAAE,OAAO,IAAI,MAAM,EAAE,MAAM,IAAI;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,CAAC,OAAM;AAAA,QAAC,OAAO,OAAO,UAAQ,YAAU,SAAO,CAAC;AAAA,QAAE,IAAI,cAAY,KAAK,KAAK,QAAM,EAAE,IAAE,GAAE,WAAS,QAAM;AAAA,QAAG,IAAG,KAAK,QAAQ,WAAW,GAAE,WAAS;AAAA,UAAE;AAAA,QAAc,SAAQ,KAAE,EAAE,KAAE,aAAY;AAAA,UAAI,KAAK,MAAM,MAAG,CAAC,KAAK,MAAM,MAAG;AAAA,QAAS,IAAG,WAAS;AAAA,UAAE,KAAK,MAAM,MAAG,CAAC,KAAK,MAAM,MAAG,YAAU,KAAG;AAAA,QAAS,OAAO,KAAK,MAAM;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,OAAM;AAAA,QAAC,OAAO,KAAK,MAAM,EAAE,MAAM,KAAK;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI,KAAI;AAAA,QAAC,OAAO,OAAO,QAAM,YAAU,OAAK,CAAC;AAAA,QAAE,IAAI,MAAI,MAAI,KAAG,GAAE,OAAK,MAAI;AAAA,QAAG,IAAG,KAAK,QAAQ,MAAI,CAAC,GAAE;AAAA,UAAI,KAAK,MAAM,OAAK,KAAK,MAAM,OAAK,KAAG;AAAA,QAAU;AAAA,eAAK,MAAM,OAAK,KAAK,MAAM,OAAK,EAAE,KAAG;AAAA,QAAM,OAAO,KAAK,MAAM;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI;AAAA,QAAE,IAAG,KAAK,aAAW,KAAG,IAAI,aAAW;AAAA,UAAE,OAAO,KAAK,WAAS,GAAE,IAAE,KAAK,KAAK,GAAG,GAAE,KAAK,YAAU,GAAE,KAAK,UAAU;AAAA,QAAO,SAAG,KAAK,aAAW,KAAG,IAAI,aAAW;AAAA,UAAE,OAAO,IAAI,WAAS,GAAE,IAAE,KAAK,KAAK,GAAG,GAAE,IAAI,WAAS,GAAE,EAAE,UAAU;AAAA,QAAE,IAAI,GAAE;AAAA,QAAE,IAAG,KAAK,SAAO,IAAI;AAAA,UAAO,IAAE,MAAK,IAAE;AAAA,QAAS;AAAA,cAAE,KAAI,IAAE;AAAA,QAAK,IAAI,QAAM;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,EAAE,QAAO;AAAA,UAAI,KAAG,EAAE,MAAM,MAAG,MAAI,EAAE,MAAM,MAAG,KAAG,OAAM,KAAK,MAAM,MAAG,IAAE,UAAS,QAAM,MAAI;AAAA,QAAG,MAAK,UAAQ,KAAG,KAAE,EAAE,QAAO;AAAA,UAAI,KAAG,EAAE,MAAM,MAAG,KAAG,OAAM,KAAK,MAAM,MAAG,IAAE,UAAS,QAAM,MAAI;AAAA,QAAG,IAAG,KAAK,SAAO,EAAE,QAAO,UAAQ;AAAA,UAAE,KAAK,MAAM,KAAK,UAAQ,OAAM,KAAK;AAAA,QAAc,SAAG,MAAI;AAAA,UAAK,MAAK,KAAE,EAAE,QAAO;AAAA,YAAI,KAAK,MAAM,MAAG,EAAE,MAAM;AAAA,QAAG,OAAO;AAAA,SAAM,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI;AAAA,QAAI,IAAG,IAAI,aAAW,KAAG,KAAK,aAAW;AAAA,UAAE,OAAO,IAAI,WAAS,GAAE,MAAI,KAAK,IAAI,GAAG,GAAE,IAAI,YAAU,GAAE;AAAA,QAAS,SAAG,IAAI,aAAW,KAAG,KAAK,aAAW;AAAA,UAAE,OAAO,KAAK,WAAS,GAAE,MAAI,IAAI,IAAI,IAAI,GAAE,KAAK,WAAS,GAAE;AAAA,QAAI,IAAG,KAAK,SAAO,IAAI;AAAA,UAAO,OAAO,KAAK,MAAM,EAAE,KAAK,GAAG;AAAA,QAAE,OAAO,IAAI,MAAM,EAAE,KAAK,IAAI;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAG,IAAI,aAAW,GAAE;AAAA,UAAC,IAAI,WAAS;AAAA,UAAE,IAAI,IAAE,KAAK,KAAK,GAAG;AAAA,UAAE,OAAO,IAAI,WAAS,GAAE,EAAE,UAAU;AAAA,QAAC,EAAM,SAAG,KAAK,aAAW;AAAA,UAAE,OAAO,KAAK,WAAS,GAAE,KAAK,KAAK,GAAG,GAAE,KAAK,WAAS,GAAE,KAAK,UAAU;AAAA,QAAE,IAAI,MAAI,KAAK,IAAI,GAAG;AAAA,QAAE,IAAG,QAAM;AAAA,UAAE,OAAO,KAAK,WAAS,GAAE,KAAK,SAAO,GAAE,KAAK,MAAM,KAAG,GAAE;AAAA,QAAK,IAAI,GAAE;AAAA,QAAE,IAAG,MAAI;AAAA,UAAE,IAAE,MAAK,IAAE;AAAA,QAAS;AAAA,cAAE,KAAI,IAAE;AAAA,QAAK,IAAI,QAAM;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,EAAE,QAAO;AAAA,UAAI,KAAG,EAAE,MAAM,MAAG,MAAI,EAAE,MAAM,MAAG,KAAG,OAAM,QAAM,KAAG,IAAG,KAAK,MAAM,MAAG,IAAE;AAAA,QAAS,MAAK,UAAQ,KAAG,KAAE,EAAE,QAAO;AAAA,UAAI,KAAG,EAAE,MAAM,MAAG,KAAG,OAAM,QAAM,KAAG,IAAG,KAAK,MAAM,MAAG,IAAE;AAAA,QAAS,IAAG,UAAQ,KAAG,KAAE,EAAE,UAAQ,MAAI;AAAA,UAAK,MAAK,KAAE,EAAE,QAAO;AAAA,YAAI,KAAK,MAAM,MAAG,EAAE,MAAM;AAAA,QAAG,IAAG,KAAK,SAAO,KAAK,IAAI,KAAK,QAAO,EAAC,GAAE,MAAI;AAAA,UAAK,KAAK,WAAS;AAAA,QAAE,OAAO,KAAK,MAAM;AAAA,SAAG,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,MAAM,EAAE,KAAK,GAAG;AAAA;AAAA,MAAG,SAAS,UAAU,CAAC,OAAM,KAAI,KAAI;AAAA,QAAC,IAAI,WAAS,IAAI,WAAS,MAAM;AAAA,QAAS,IAAI,OAAI,MAAM,SAAO,IAAI,SAAO;AAAA,QAAE,IAAI,SAAO,MAAI,OAAI,OAAI,IAAE;AAAA,QAAE,IAAI,IAAE,MAAM,MAAM,KAAG,GAAE,IAAE,IAAI,MAAM,KAAG,GAAE,IAAE,IAAE,GAAE,KAAG,IAAE,UAAS,QAAM,IAAE,WAAS;AAAA,QAAE,IAAI,MAAM,KAAG;AAAA,QAAG,SAAQ,IAAE,EAAE,IAAE,MAAI,KAAI;AAAA,UAAC,IAAI,SAAO,UAAQ,IAAG,QAAM,QAAM,UAAS,OAAK,KAAK,IAAI,GAAE,IAAI,SAAO,CAAC;AAAA,UAAE,SAAQ,IAAE,KAAK,IAAI,GAAE,IAAE,MAAM,SAAO,CAAC,EAAE,KAAG,MAAK,KAAI;AAAA,YAAC,IAAI,KAAE,IAAE,IAAE;AAAA,YAAE,IAAE,MAAM,MAAM,MAAG,GAAE,IAAE,IAAI,MAAM,KAAG,GAAE,IAAE,IAAE,IAAE,OAAM,UAAQ,IAAE,WAAS,GAAE,QAAM,IAAE;AAAA,UAAQ;AAAA,UAAC,IAAI,MAAM,KAAG,QAAM,GAAE,QAAM,SAAO;AAAA,QAAC;AAAA,QAAC,IAAG,UAAQ;AAAA,UAAE,IAAI,MAAM,KAAG,QAAM;AAAA,QAAO;AAAA,cAAI;AAAA,QAAS,OAAO,IAAI,MAAM;AAAA;AAAA,MAAE,IAAI,cAAY,QAAQ,CAAC,OAAM,KAAI,KAAI;AAAA,QAAC,IAAI,IAAE,MAAM,OAAM,IAAE,IAAI,OAAM,IAAE,IAAI,OAAM,IAAE,GAAE,IAAG,KAAI,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK;AAAA,QAAG,IAAI,WAAS,MAAM,WAAS,IAAI,UAAS,IAAI,SAAO,IAAG,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG;AAAA,QAAE,IAAI,MAAI,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,OAAK,MAAI,GAAE,MAAI,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,MAAI,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,OAAK,MAAI,GAAE,MAAI,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,MAAI,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,OAAK,MAAI,GAAE,MAAI,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,MAAI,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,OAAK,MAAI,GAAE,MAAI,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,MAAI,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,OAAK,MAAI,GAAE,MAAI,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,MAAI,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,OAAK,MAAI,GAAE,MAAI,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,MAAI,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,OAAK,MAAI,GAAE,MAAI,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,MAAI,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,OAAK,MAAI,GAAE,MAAI,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,MAAI,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,OAAK,MAAI,GAAE,MAAI,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,MAAI,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,OAAK,MAAI,GAAE,MAAI,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,OAAK,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,QAAM,MAAI,GAAE,OAAK,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,OAAK,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,QAAM,MAAI,GAAE,OAAK,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,OAAK,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,QAAM,MAAI,GAAE,OAAK,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,OAAK,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,QAAM,MAAI,GAAE,OAAK,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,OAAK,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,QAAM,MAAI,GAAE,OAAK,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,OAAK,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,QAAM,MAAI,GAAE,OAAK,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,OAAK,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,QAAM,MAAI,GAAE,OAAK,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,OAAK,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,QAAM,MAAI,GAAE,OAAK,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG;AAAA,QAAE,IAAI,OAAK,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,IAAG,KAAG,MAAI,QAAM,MAAI,MAAI,QAAM,MAAI,GAAE,OAAK,UAAS,EAAE,KAAG,IAAG,EAAE,KAAG,IAAG,EAAE,KAAG,IAAG,EAAE,KAAG,IAAG,EAAE,KAAG,IAAG,EAAE,KAAG,IAAG,EAAE,KAAG,IAAG,EAAE,KAAG,IAAG,EAAE,KAAG,IAAG,EAAE,KAAG,IAAG,EAAE,MAAI,KAAI,EAAE,MAAI,KAAI,EAAE,MAAI,KAAI,EAAE,MAAI,KAAI,EAAE,MAAI,KAAI,EAAE,MAAI,KAAI,EAAE,MAAI,KAAI,EAAE,MAAI,KAAI,EAAE,MAAI,KAAI,MAAI;AAAA,UAAE,EAAE,MAAI,GAAE,IAAI;AAAA,QAAS,OAAO;AAAA;AAAA,MAAK,IAAG,CAAC,KAAK;AAAA,QAAK,cAAY;AAAA,MAAW,SAAS,QAAQ,CAAC,OAAM,KAAI,KAAI;AAAA,QAAC,IAAI,WAAS,IAAI,WAAS,MAAM,UAAS,IAAI,SAAO,MAAM,SAAO,IAAI;AAAA,QAAO,IAAI,QAAM,GAAE,UAAQ;AAAA,QAAE,SAAQ,IAAE,EAAE,IAAE,IAAI,SAAO,GAAE,KAAI;AAAA,UAAC,IAAI,SAAO;AAAA,UAAQ,UAAQ;AAAA,UAAE,IAAI,QAAM,QAAM,UAAS,OAAK,KAAK,IAAI,GAAE,IAAI,SAAO,CAAC;AAAA,UAAE,SAAQ,IAAE,KAAK,IAAI,GAAE,IAAE,MAAM,SAAO,CAAC,EAAE,KAAG,MAAK,KAAI;AAAA,YAAC,IAAI,KAAE,IAAE,GAAE,IAAE,MAAM,MAAM,MAAG,GAAE,IAAE,IAAI,MAAM,KAAG,GAAE,IAAE,IAAE,GAAE,KAAG,IAAE;AAAA,YAAS,SAAO,UAAQ,IAAE,WAAS,KAAG,GAAE,KAAG,KAAG,QAAM,GAAE,QAAM,KAAG,UAAS,SAAO,UAAQ,OAAK,MAAI,GAAE,WAAS,WAAS,IAAG,UAAQ;AAAA,UAAQ;AAAA,UAAC,IAAI,MAAM,KAAG,OAAM,QAAM,QAAO,SAAO;AAAA,QAAO;AAAA,QAAC,IAAG,UAAQ;AAAA,UAAE,IAAI,MAAM,KAAG;AAAA,QAAW;AAAA,cAAI;AAAA,QAAS,OAAO,IAAI,MAAM;AAAA;AAAA,MAAE,SAAS,UAAU,CAAC,OAAM,KAAI,KAAI;AAAA,QAAC,IAAI,OAAK,IAAI;AAAA,QAAK,OAAO,KAAK,KAAK,OAAM,KAAI,GAAG;AAAA;AAAA,MAAE,GAAG,UAAU,QAAM,QAAQ,CAAC,KAAI,KAAI;AAAA,QAAC,IAAI,KAAI,OAAI,KAAK,SAAO,IAAI;AAAA,QAAO,IAAG,KAAK,WAAS,MAAI,IAAI,WAAS;AAAA,UAAG,MAAI,YAAY,MAAK,KAAI,GAAG;AAAA,QAAO,SAAG,OAAI;AAAA,UAAG,MAAI,WAAW,MAAK,KAAI,GAAG;AAAA,QAAO,SAAG,OAAI;AAAA,UAAK,MAAI,SAAS,MAAK,KAAI,GAAG;AAAA,QAAO;AAAA,gBAAI,WAAW,MAAK,KAAI,GAAG;AAAA,QAAE,OAAO;AAAA;AAAA,MAAK,SAAS,IAAI,CAAC,GAAE,GAAE;AAAA,QAAC,KAAK,IAAE,GAAE,KAAK,IAAE;AAAA;AAAA,MAAE,KAAK,UAAU,UAAQ,QAAQ,CAAC,GAAE;AAAA,QAAC,IAAI,IAAE,MAAM,CAAC,GAAE,IAAE,GAAG,UAAU,WAAW,CAAC,IAAE;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,GAAE;AAAA,UAAI,EAAE,MAAG,KAAK,OAAO,IAAE,GAAE,CAAC;AAAA,QAAE,OAAO;AAAA,SAAG,KAAK,UAAU,SAAO,QAAQ,CAAC,GAAE,GAAE,GAAE;AAAA,QAAC,IAAG,MAAI,KAAG,MAAI,IAAE;AAAA,UAAE,OAAO;AAAA,QAAE,IAAI,KAAG;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,GAAE;AAAA,UAAI,OAAK,IAAE,MAAI,IAAE,KAAE,GAAE,MAAI;AAAA,QAAE,OAAO;AAAA,SAAI,KAAK,UAAU,UAAQ,QAAQ,CAAC,KAAI,KAAI,KAAI,MAAK,MAAK,GAAE;AAAA,QAAC,SAAQ,KAAE,EAAE,KAAE,GAAE;AAAA,UAAI,KAAK,MAAG,IAAI,IAAI,MAAI,KAAK,MAAG,IAAI,IAAI;AAAA,SAAK,KAAK,UAAU,YAAU,QAAQ,CAAC,KAAI,KAAI,MAAK,MAAK,GAAE,KAAI;AAAA,QAAC,KAAK,QAAQ,KAAI,KAAI,KAAI,MAAK,MAAK,CAAC;AAAA,QAAE,SAAQ,IAAE,EAAE,IAAE,GAAE,MAAI,GAAE;AAAA,UAAC,IAAI,IAAE,KAAG,GAAE,QAAM,KAAK,IAAI,IAAE,KAAK,KAAG,CAAC,GAAE,QAAM,KAAK,IAAI,IAAE,KAAK,KAAG,CAAC;AAAA,UAAE,SAAQ,IAAE,EAAE,IAAE,GAAE,KAAG,GAAE;AAAA,YAAC,IAAI,SAAO,OAAM,SAAO;AAAA,YAAM,SAAQ,IAAE,EAAE,IAAE,GAAE,KAAI;AAAA,cAAC,IAAI,KAAG,KAAK,IAAE,IAAG,KAAG,KAAK,IAAE,IAAG,KAAG,KAAK,IAAE,IAAE,IAAG,KAAG,KAAK,IAAE,IAAE,IAAG,KAAG,SAAO,KAAG,SAAO;AAAA,cAAG,IAAG,KAAG,SAAO,KAAG,SAAO,IAAG,KAAG,IAAG,KAAK,IAAE,KAAG,KAAG,IAAG,KAAK,IAAE,KAAG,KAAG,IAAG,KAAK,IAAE,IAAE,KAAG,KAAG,IAAG,KAAK,IAAE,IAAE,KAAG,KAAG,IAAG,MAAI;AAAA,gBAAE,KAAG,QAAM,SAAO,QAAM,QAAO,SAAO,QAAM,SAAO,QAAM,QAAO,SAAO;AAAA,YAAE;AAAA,UAAC;AAAA,QAAC;AAAA,SAAG,KAAK,UAAU,cAAY,QAAQ,CAAC,GAAE,GAAE;AAAA,QAAC,IAAI,IAAE,KAAK,IAAI,GAAE,CAAC,IAAE,GAAE,MAAI,IAAE,GAAE,KAAE;AAAA,QAAE,KAAI,IAAE,IAAE,IAAE,EAAE,GAAE,IAAE,MAAI;AAAA,UAAE;AAAA,QAAI,OAAO,KAAG,KAAE,IAAE;AAAA,SAAK,KAAK,UAAU,YAAU,QAAQ,CAAC,KAAI,KAAI,GAAE;AAAA,QAAC,IAAG,KAAG;AAAA,UAAE;AAAA,QAAO,SAAQ,KAAE,EAAE,KAAE,IAAE,GAAE,MAAI;AAAA,UAAC,IAAI,IAAE,IAAI;AAAA,UAAG,IAAI,MAAG,IAAI,IAAE,KAAE,IAAG,IAAI,IAAE,KAAE,KAAG,GAAE,IAAE,IAAI,KAAG,IAAI,MAAG,CAAC,IAAI,IAAE,KAAE,IAAG,IAAI,IAAE,KAAE,KAAG,CAAC;AAAA,QAAC;AAAA,SAAG,KAAK,UAAU,eAAa,QAAQ,CAAC,IAAG,GAAE;AAAA,QAAC,IAAI,QAAM;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,IAAE,GAAE,MAAI;AAAA,UAAC,IAAI,IAAE,KAAK,MAAM,GAAG,IAAE,KAAE,KAAG,CAAC,IAAE,OAAK,KAAK,MAAM,GAAG,IAAE,MAAG,CAAC,IAAE;AAAA,UAAM,IAAG,GAAG,MAAG,IAAE,UAAS,IAAE;AAAA,YAAS,QAAM;AAAA,UAAO;AAAA,oBAAM,IAAE,WAAS;AAAA,QAAC;AAAA,QAAC,OAAO;AAAA,SAAI,KAAK,UAAU,aAAW,QAAQ,CAAC,IAAG,MAAI,KAAI,GAAE;AAAA,QAAC,IAAI,QAAM;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,MAAI;AAAA,UAAI,QAAM,SAAO,GAAG,MAAG,IAAG,IAAI,IAAE,MAAG,QAAM,MAAK,QAAM,UAAQ,IAAG,IAAI,IAAE,KAAE,KAAG,QAAM,MAAK,QAAM,UAAQ;AAAA,QAAG,KAAI,KAAE,IAAE,KAAI,KAAE,GAAE,EAAE;AAAA,UAAE,IAAI,MAAG;AAAA,QAAE,OAAO,UAAQ,CAAC,GAAE,QAAQ,QAAM,WAAS,CAAC;AAAA,SAAG,KAAK,UAAU,OAAK,QAAQ,CAAC,GAAE;AAAA,QAAC,IAAI,KAAG,MAAM,CAAC;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,GAAE;AAAA,UAAI,GAAG,MAAG;AAAA,QAAE,OAAO;AAAA,SAAI,KAAK,UAAU,OAAK,QAAQ,CAAC,GAAE,GAAE,KAAI;AAAA,QAAC,IAAI,IAAE,IAAE,KAAK,YAAY,EAAE,QAAO,EAAE,MAAM,GAAE,MAAI,KAAK,QAAQ,CAAC,GAAE,IAAE,KAAK,KAAK,CAAC,GAAE,MAAI,MAAM,CAAC,GAAE,OAAK,MAAM,CAAC,GAAE,OAAK,MAAM,CAAC,GAAE,OAAK,MAAM,CAAC,GAAE,QAAM,MAAM,CAAC,GAAE,QAAM,MAAM,CAAC,GAAE,OAAK,IAAI;AAAA,QAAM,KAAK,SAAO,GAAE,KAAK,WAAW,EAAE,OAAM,EAAE,QAAO,KAAI,CAAC,GAAE,KAAK,WAAW,EAAE,OAAM,EAAE,QAAO,MAAK,CAAC,GAAE,KAAK,UAAU,KAAI,GAAE,MAAK,MAAK,GAAE,GAAG,GAAE,KAAK,UAAU,MAAK,GAAE,OAAM,OAAM,GAAE,GAAG;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,GAAE,MAAI;AAAA,UAAC,IAAI,KAAG,KAAK,MAAG,MAAM,MAAG,KAAK,MAAG,MAAM;AAAA,UAAG,KAAK,MAAG,KAAK,MAAG,MAAM,MAAG,KAAK,MAAG,MAAM,KAAG,KAAK,MAAG;AAAA,QAAE;AAAA,QAAC,OAAO,KAAK,UAAU,MAAK,MAAK,CAAC,GAAE,KAAK,UAAU,MAAK,MAAK,MAAK,GAAE,GAAE,GAAG,GAAE,KAAK,UAAU,MAAK,GAAE,CAAC,GAAE,KAAK,aAAa,MAAK,CAAC,GAAE,IAAI,WAAS,EAAE,WAAS,EAAE,UAAS,IAAI,SAAO,EAAE,SAAO,EAAE,QAAO,IAAI,MAAM;AAAA,SAAG,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI,MAAI,IAAI,GAAG,IAAI;AAAA,QAAE,OAAO,IAAI,QAAM,MAAM,KAAK,SAAO,IAAI,MAAM,GAAE,KAAK,MAAM,KAAI,GAAG;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI,MAAI,IAAI,GAAG,IAAI;AAAA,QAAE,OAAO,IAAI,QAAM,MAAM,KAAK,SAAO,IAAI,MAAM,GAAE,WAAW,MAAK,KAAI,GAAG;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,MAAM,EAAE,MAAM,KAAI,IAAI;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAO,QAAM,QAAQ,GAAE,OAAO,MAAI,QAAQ;AAAA,QAAE,IAAI,QAAM;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,KAAK,QAAO,MAAI;AAAA,UAAC,IAAI,KAAG,KAAK,MAAM,MAAG,KAAG,KAAI,MAAI,IAAE,aAAW,QAAM;AAAA,UAAU,UAAQ,IAAG,SAAO,IAAE,WAAS,GAAE,SAAO,OAAK,IAAG,KAAK,MAAM,MAAG,KAAG;AAAA,QAAQ;AAAA,QAAC,IAAG,UAAQ;AAAA,UAAE,KAAK,MAAM,MAAG,OAAM,KAAK;AAAA,QAAS,OAAO,KAAK,SAAO,QAAM,IAAE,IAAE,KAAK,QAAO;AAAA,SAAM,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,MAAM,EAAE,MAAM,GAAG;AAAA,SAAG,GAAG,UAAU,MAAI,QAAQ,GAAE;AAAA,QAAC,OAAO,KAAK,IAAI,IAAI;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,GAAE;AAAA,QAAC,OAAO,KAAK,KAAK,KAAK,MAAM,CAAC;AAAA,SAAG,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI,IAAE,WAAW,GAAG;AAAA,QAAE,IAAG,EAAE,WAAS;AAAA,UAAE,OAAO,IAAI,GAAG,CAAC;AAAA,QAAE,IAAI,MAAI;AAAA,QAAK,SAAQ,KAAE,EAAE,KAAE,EAAE,QAAO,MAAI,MAAI,IAAI,IAAI;AAAA,UAAE,IAAG,EAAE,QAAK;AAAA,YAAE;AAAA,QAAM,IAAG,EAAE,KAAE,EAAE;AAAA,UAAO,SAAQ,IAAE,IAAI,IAAI,EAAE,KAAE,EAAE,QAAO,MAAI,IAAE,EAAE,IAAI,GAAE;AAAA,YAAC,IAAG,EAAE,QAAK;AAAA,cAAE;AAAA,YAAS,MAAI,IAAI,IAAI,CAAC;AAAA,UAAC;AAAA,QAAC,OAAO;AAAA,SAAK,GAAG,UAAU,SAAO,QAAQ,CAAC,MAAK;AAAA,QAAC,OAAO,OAAO,SAAO,YAAU,QAAM,CAAC;AAAA,QAAE,IAAI,IAAE,OAAK,IAAG,KAAG,OAAK,KAAG,IAAG,YAAU,aAAW,KAAG,KAAG,KAAG,GAAE;AAAA,QAAE,IAAG,MAAI,GAAE;AAAA,UAAC,IAAI,QAAM;AAAA,UAAE,KAAI,KAAE,EAAE,KAAE,KAAK,QAAO,MAAI;AAAA,YAAC,IAAI,WAAS,KAAK,MAAM,MAAG,WAAU,KAAG,KAAK,MAAM,MAAG,KAAG,YAAU;AAAA,YAAE,KAAK,MAAM,MAAG,IAAE,OAAM,QAAM,aAAW,KAAG;AAAA,UAAC;AAAA,UAAC,IAAG;AAAA,YAAM,KAAK,MAAM,MAAG,OAAM,KAAK;AAAA,QAAQ;AAAA,QAAC,IAAG,MAAI,GAAE;AAAA,UAAC,KAAI,KAAE,KAAK,SAAO,EAAE,MAAG,GAAE;AAAA,YAAI,KAAK,MAAM,KAAE,KAAG,KAAK,MAAM;AAAA,UAAG,KAAI,KAAE,EAAE,KAAE,GAAE;AAAA,YAAI,KAAK,MAAM,MAAG;AAAA,UAAE,KAAK,UAAQ;AAAA,QAAC;AAAA,QAAC,OAAO,KAAK,MAAM;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,CAAC,MAAK;AAAA,QAAC,OAAO,OAAO,KAAK,aAAW,CAAC,GAAE,KAAK,OAAO,IAAI;AAAA,SAAG,GAAG,UAAU,SAAO,QAAQ,CAAC,MAAK,MAAK,UAAS;AAAA,QAAC,OAAO,OAAO,SAAO,YAAU,QAAM,CAAC;AAAA,QAAE,IAAI;AAAA,QAAE,IAAG;AAAA,UAAK,KAAG,OAAK,OAAK,MAAI;AAAA,QAAQ;AAAA,cAAE;AAAA,QAAE,IAAI,IAAE,OAAK,IAAG,IAAE,KAAK,KAAK,OAAK,KAAG,IAAG,KAAK,MAAM,GAAE,OAAK,WAAS,aAAW,KAAG,GAAE,cAAY;AAAA,QAAS,IAAG,KAAG,GAAE,IAAE,KAAK,IAAI,GAAE,CAAC,GAAE,aAAY;AAAA,UAAC,SAAQ,KAAE,EAAE,KAAE,GAAE;AAAA,YAAI,YAAY,MAAM,MAAG,KAAK,MAAM;AAAA,UAAG,YAAY,SAAO;AAAA,QAAC;AAAA,QAAC,IAAG,MAAI;AAAA;AAAA,QAAQ,SAAG,KAAK,SAAO,GAAE;AAAA,UAAC,KAAK,UAAQ;AAAA,UAAE,KAAI,KAAE,EAAE,KAAE,KAAK,QAAO;AAAA,YAAI,KAAK,MAAM,MAAG,KAAK,MAAM,KAAE;AAAA,QAAE,EAAM;AAAA,eAAK,MAAM,KAAG,GAAE,KAAK,SAAO;AAAA,QAAE,IAAI,QAAM;AAAA,QAAE,KAAI,KAAE,KAAK,SAAO,EAAE,MAAG,MAAI,UAAQ,KAAG,MAAG,IAAG,MAAI;AAAA,UAAC,IAAI,OAAK,KAAK,MAAM,MAAG;AAAA,UAAE,KAAK,MAAM,MAAG,SAAO,KAAG,IAAE,SAAO,GAAE,QAAM,OAAK;AAAA,QAAI;AAAA,QAAC,IAAG,eAAa,UAAQ;AAAA,UAAE,YAAY,MAAM,YAAY,YAAU;AAAA,QAAM,IAAG,KAAK,WAAS;AAAA,UAAE,KAAK,MAAM,KAAG,GAAE,KAAK,SAAO;AAAA,QAAE,OAAO,KAAK,MAAM;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,CAAC,MAAK,MAAK,UAAS;AAAA,QAAC,OAAO,OAAO,KAAK,aAAW,CAAC,GAAE,KAAK,OAAO,MAAK,MAAK,QAAQ;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,MAAK;AAAA,QAAC,OAAO,KAAK,MAAM,EAAE,MAAM,IAAI;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,CAAC,MAAK;AAAA,QAAC,OAAO,KAAK,MAAM,EAAE,OAAO,IAAI;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,MAAK;AAAA,QAAC,OAAO,KAAK,MAAM,EAAE,MAAM,IAAI;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,CAAC,MAAK;AAAA,QAAC,OAAO,KAAK,MAAM,EAAE,OAAO,IAAI;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAO,QAAM,YAAU,OAAK,CAAC;AAAA,QAAE,IAAI,IAAE,MAAI,IAAG,KAAG,MAAI,KAAG,IAAG,IAAE,KAAG;AAAA,QAAE,IAAG,KAAK,UAAQ;AAAA,UAAE,OAAM;AAAA,QAAG,IAAI,IAAE,KAAK,MAAM;AAAA,QAAG,OAAM,CAAC,EAAE,IAAE;AAAA,SAAI,GAAG,UAAU,SAAO,QAAQ,CAAC,MAAK;AAAA,QAAC,OAAO,OAAO,SAAO,YAAU,QAAM,CAAC;AAAA,QAAE,IAAI,IAAE,OAAK,IAAG,KAAG,OAAK,KAAG;AAAA,QAAG,IAAG,OAAO,KAAK,aAAW,GAAE,yCAAyC,GAAE,KAAK,UAAQ;AAAA,UAAE,OAAO;AAAA,QAAK,IAAG,MAAI;AAAA,UAAE;AAAA,QAAI,IAAG,KAAK,SAAO,KAAK,IAAI,GAAE,KAAK,MAAM,GAAE,MAAI,GAAE;AAAA,UAAC,IAAI,OAAK,WAAS,aAAW,KAAG;AAAA,UAAE,KAAK,MAAM,KAAK,SAAO,MAAI;AAAA,QAAI;AAAA,QAAC,OAAO,KAAK,MAAM;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,CAAC,MAAK;AAAA,QAAC,OAAO,KAAK,MAAM,EAAE,OAAO,IAAI;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAG,OAAO,OAAO,QAAM,QAAQ,GAAE,OAAO,MAAI,QAAQ,GAAE,MAAI;AAAA,UAAE,OAAO,KAAK,MAAM,CAAC,GAAG;AAAA,QAAE,IAAG,KAAK,aAAW,GAAE;AAAA,UAAC,IAAG,KAAK,WAAS,MAAI,KAAK,MAAM,KAAG,KAAG;AAAA,YAAI,OAAO,KAAK,MAAM,KAAG,OAAK,KAAK,MAAM,KAAG,IAAG,KAAK,WAAS,GAAE;AAAA,UAAK,OAAO,KAAK,WAAS,GAAE,KAAK,MAAM,GAAG,GAAE,KAAK,WAAS,GAAE;AAAA,QAAI;AAAA,QAAC,OAAO,KAAK,OAAO,GAAG;AAAA,SAAG,GAAG,UAAU,SAAO,QAAQ,CAAC,KAAI;AAAA,QAAC,KAAK,MAAM,MAAI;AAAA,QAAI,SAAQ,KAAE,EAAE,KAAE,KAAK,UAAQ,KAAK,MAAM,OAAI,UAAS;AAAA,UAAI,IAAG,KAAK,MAAM,OAAI,UAAS,OAAI,KAAK,SAAO;AAAA,YAAE,KAAK,MAAM,KAAE,KAAG;AAAA,UAAO;AAAA,iBAAK,MAAM,KAAE;AAAA,QAAK,OAAO,KAAK,SAAO,KAAK,IAAI,KAAK,QAAO,KAAE,CAAC,GAAE;AAAA,SAAM,GAAG,UAAU,QAAM,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAG,OAAO,OAAO,QAAM,QAAQ,GAAE,OAAO,MAAI,QAAQ,GAAE,MAAI;AAAA,UAAE,OAAO,KAAK,MAAM,CAAC,GAAG;AAAA,QAAE,IAAG,KAAK,aAAW;AAAA,UAAE,OAAO,KAAK,WAAS,GAAE,KAAK,MAAM,GAAG,GAAE,KAAK,WAAS,GAAE;AAAA,QAAK,IAAG,KAAK,MAAM,MAAI,KAAI,KAAK,WAAS,KAAG,KAAK,MAAM,KAAG;AAAA,UAAE,KAAK,MAAM,KAAG,CAAC,KAAK,MAAM,IAAG,KAAK,WAAS;AAAA,QAAO;AAAA,mBAAQ,KAAE,EAAE,KAAE,KAAK,UAAQ,KAAK,MAAM,MAAG,GAAE;AAAA,YAAI,KAAK,MAAM,OAAI,UAAS,KAAK,MAAM,KAAE,MAAI;AAAA,QAAE,OAAO,KAAK,MAAM;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,MAAM,EAAE,MAAM,GAAG;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,MAAM,EAAE,MAAM,GAAG;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,GAAE;AAAA,QAAC,OAAO,KAAK,WAAS,GAAE;AAAA,SAAM,GAAG,UAAU,MAAI,QAAQ,GAAE;AAAA,QAAC,OAAO,KAAK,MAAM,EAAE,KAAK;AAAA,SAAG,GAAG,UAAU,eAAa,QAAQ,CAAC,KAAI,KAAI,OAAM;AAAA,QAAC,IAAI,OAAI,IAAI,SAAO,OAAM;AAAA,QAAE,KAAK,QAAQ,IAAG;AAAA,QAAE,IAAI,GAAE,QAAM;AAAA,QAAE,KAAI,KAAE,EAAE,KAAE,IAAI,QAAO,MAAI;AAAA,UAAC,KAAG,KAAK,MAAM,KAAE,SAAO,KAAG;AAAA,UAAM,IAAI,SAAO,IAAI,MAAM,MAAG,KAAG;AAAA,UAAI,KAAG,QAAM,UAAS,SAAO,KAAG,OAAK,QAAM,WAAS,IAAG,KAAK,MAAM,KAAE,SAAO,IAAE;AAAA,QAAQ;AAAA,QAAC,MAAK,KAAE,KAAK,SAAO,OAAM;AAAA,UAAI,KAAG,KAAK,MAAM,KAAE,SAAO,KAAG,OAAM,QAAM,KAAG,IAAG,KAAK,MAAM,KAAE,SAAO,IAAE;AAAA,QAAS,IAAG,UAAQ;AAAA,UAAE,OAAO,KAAK,MAAM;AAAA,QAAE,OAAO,UAAQ,EAAE,GAAE,QAAM;AAAA,QAAE,KAAI,KAAE,EAAE,KAAE,KAAK,QAAO;AAAA,UAAI,IAAE,EAAE,KAAK,MAAM,MAAG,KAAG,OAAM,QAAM,KAAG,IAAG,KAAK,MAAM,MAAG,IAAE;AAAA,QAAS,OAAO,KAAK,WAAS,GAAE,KAAK,MAAM;AAAA,SAAG,GAAG,UAAU,WAAS,QAAQ,CAAC,KAAI,MAAK;AAAA,QAAC,IAAI,QAAM,KAAK,SAAO,IAAI,QAAO,IAAE,KAAK,MAAM,GAAE,IAAE,KAAI,MAAI,EAAE,MAAM,EAAE,SAAO,KAAG,GAAE,UAAQ,KAAK,WAAW,GAAG;AAAA,QAAE,IAAG,QAAM,KAAG,SAAQ,UAAQ;AAAA,UAAE,IAAE,EAAE,MAAM,KAAK,GAAE,EAAE,OAAO,KAAK,GAAE,MAAI,EAAE,MAAM,EAAE,SAAO,KAAG;AAAA,QAAE,IAAI,IAAE,EAAE,SAAO,EAAE,QAAO;AAAA,QAAE,IAAG,SAAO,OAAM;AAAA,UAAC,IAAE,IAAI,GAAG,IAAI,GAAE,EAAE,SAAO,IAAE,GAAE,EAAE,QAAM,MAAM,EAAE,MAAM;AAAA,UAAE,SAAQ,KAAE,EAAE,KAAE,EAAE,QAAO;AAAA,YAAI,EAAE,MAAM,MAAG;AAAA,QAAC;AAAA,QAAC,IAAI,OAAK,EAAE,MAAM,EAAE,aAAa,GAAE,GAAE,CAAC;AAAA,QAAE,IAAG,KAAK,aAAW,GAAE;AAAA,UAAC,IAAG,IAAE,MAAK;AAAA,YAAE,EAAE,MAAM,KAAG;AAAA,QAAC;AAAA,QAAC,SAAQ,IAAE,IAAE,EAAE,KAAG,GAAE,KAAI;AAAA,UAAC,IAAI,MAAI,EAAE,MAAM,EAAE,SAAO,KAAG,KAAG,YAAU,EAAE,MAAM,EAAE,SAAO,IAAE,KAAG;AAAA,UAAG,KAAG,KAAK,IAAI,KAAG,MAAI,GAAE,QAAQ,GAAE,EAAE,aAAa,GAAE,IAAG,CAAC;AAAA,UAAE,OAAM,EAAE,aAAW;AAAA,YAAE,IAAG,MAAK,EAAE,WAAS,GAAE,EAAE,aAAa,GAAE,GAAE,CAAC,GAAE,CAAC,EAAE,OAAO;AAAA,cAAE,EAAE,YAAU;AAAA,UAAE,IAAG;AAAA,YAAE,EAAE,MAAM,KAAG;AAAA,QAAE;AAAA,QAAC,IAAG;AAAA,UAAE,EAAE,MAAM;AAAA,QAAE,IAAG,EAAE,MAAM,GAAE,SAAO,SAAO,UAAQ;AAAA,UAAE,EAAE,OAAO,KAAK;AAAA,QAAE,OAAM,EAAC,KAAI,KAAG,MAAK,KAAI,EAAC;AAAA,SAAG,GAAG,UAAU,SAAO,QAAQ,CAAC,KAAI,MAAK,UAAS;AAAA,QAAC,IAAG,OAAO,CAAC,IAAI,OAAO,CAAC,GAAE,KAAK,OAAO;AAAA,UAAE,OAAM,EAAC,KAAI,IAAI,GAAG,CAAC,GAAE,KAAI,IAAI,GAAG,CAAC,EAAC;AAAA,QAAE,IAAI,KAAI,KAAI;AAAA,QAAI,IAAG,KAAK,aAAW,KAAG,IAAI,aAAW,GAAE;AAAA,UAAC,IAAG,MAAI,KAAK,IAAI,EAAE,OAAO,KAAI,IAAI,GAAE,SAAO;AAAA,YAAM,MAAI,IAAI,IAAI,IAAI;AAAA,UAAE,IAAG,SAAO,OAAM;AAAA,YAAC,IAAG,MAAI,IAAI,IAAI,IAAI,GAAE,YAAU,IAAI,aAAW;AAAA,cAAE,IAAI,KAAK,GAAG;AAAA,UAAC;AAAA,UAAC,OAAM,EAAC,KAAI,IAAG;AAAA,QAAC;AAAA,QAAC,IAAG,KAAK,aAAW,KAAG,IAAI,aAAW,GAAE;AAAA,UAAC,IAAG,MAAI,KAAK,OAAO,IAAI,IAAI,GAAE,IAAI,GAAE,SAAO;AAAA,YAAM,MAAI,IAAI,IAAI,IAAI;AAAA,UAAE,OAAM,EAAC,KAAI,KAAI,IAAI,IAAG;AAAA,QAAC;AAAA,QAAC,KAAI,KAAK,WAAS,IAAI,cAAY,GAAE;AAAA,UAAC,IAAG,MAAI,KAAK,IAAI,EAAE,OAAO,IAAI,IAAI,GAAE,IAAI,GAAE,SAAO,OAAM;AAAA,YAAC,IAAG,MAAI,IAAI,IAAI,IAAI,GAAE,YAAU,IAAI,aAAW;AAAA,cAAE,IAAI,KAAK,GAAG;AAAA,UAAC;AAAA,UAAC,OAAM,EAAC,KAAI,IAAI,KAAI,IAAG;AAAA,QAAC;AAAA,QAAC,IAAG,IAAI,SAAO,KAAK,UAAQ,KAAK,IAAI,GAAG,IAAE;AAAA,UAAE,OAAM,EAAC,KAAI,IAAI,GAAG,CAAC,GAAE,KAAI,KAAI;AAAA,QAAE,IAAG,IAAI,WAAS,GAAE;AAAA,UAAC,IAAG,SAAO;AAAA,YAAM,OAAM,EAAC,KAAI,KAAK,KAAK,IAAI,MAAM,EAAE,GAAE,KAAI,KAAI;AAAA,UAAE,IAAG,SAAO;AAAA,YAAM,OAAM,EAAC,KAAI,MAAK,KAAI,IAAI,GAAG,KAAK,KAAK,IAAI,MAAM,EAAE,CAAC,EAAC;AAAA,UAAE,OAAM,EAAC,KAAI,KAAK,KAAK,IAAI,MAAM,EAAE,GAAE,KAAI,IAAI,GAAG,KAAK,KAAK,IAAI,MAAM,EAAE,CAAC,EAAC;AAAA,QAAC;AAAA,QAAC,OAAO,KAAK,SAAS,KAAI,IAAI;AAAA,SAAG,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,OAAO,KAAI,OAAM,KAAE,EAAE;AAAA,SAAK,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,OAAO,KAAI,OAAM,KAAE,EAAE;AAAA,SAAK,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,OAAO,KAAI,OAAM,IAAE,EAAE;AAAA,SAAK,GAAG,UAAU,WAAS,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI,KAAG,KAAK,OAAO,GAAG;AAAA,QAAE,IAAG,GAAG,IAAI,OAAO;AAAA,UAAE,OAAO,GAAG;AAAA,QAAI,IAAI,MAAI,GAAG,IAAI,aAAW,IAAE,GAAG,IAAI,KAAK,GAAG,IAAE,GAAG,KAAI,OAAK,IAAI,MAAM,CAAC,GAAE,KAAG,IAAI,MAAM,CAAC,GAAE,MAAI,IAAI,IAAI,IAAI;AAAA,QAAE,IAAG,MAAI,KAAG,OAAK,KAAG,QAAM;AAAA,UAAE,OAAO,GAAG;AAAA,QAAI,OAAO,GAAG,IAAI,aAAW,IAAE,GAAG,IAAI,MAAM,CAAC,IAAE,GAAG,IAAI,MAAM,CAAC;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAK,QAAQ;AAAA,QAAE,IAAI,IAAE,WAAS,KAAI,MAAI;AAAA,QAAE,SAAQ,KAAE,KAAK,SAAO,EAAE,MAAG,GAAE;AAAA,UAAI,OAAK,IAAE,OAAK,KAAK,MAAM,MAAG,MAAI;AAAA,QAAI,OAAO;AAAA,SAAK,GAAG,UAAU,QAAM,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAK,QAAQ;AAAA,QAAE,IAAI,QAAM;AAAA,QAAE,SAAQ,KAAE,KAAK,SAAO,EAAE,MAAG,GAAE,MAAI;AAAA,UAAC,IAAI,KAAG,KAAK,MAAM,MAAG,KAAG,QAAM;AAAA,UAAS,KAAK,MAAM,MAAG,IAAE,MAAI,GAAE,QAAM,IAAE;AAAA,QAAG;AAAA,QAAC,OAAO,KAAK,MAAM;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,MAAM,EAAE,MAAM,GAAG;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,GAAE;AAAA,QAAC,OAAO,EAAE,aAAW,CAAC,GAAE,OAAO,CAAC,EAAE,OAAO,CAAC;AAAA,QAAE,IAAI,IAAE,MAAK,IAAE,EAAE,MAAM;AAAA,QAAE,IAAG,EAAE,aAAW;AAAA,UAAE,IAAE,EAAE,KAAK,CAAC;AAAA,QAAO;AAAA,cAAE,EAAE,MAAM;AAAA,QAAE,IAAI,IAAE,IAAI,GAAG,CAAC,GAAE,IAAE,IAAI,GAAG,CAAC,GAAE,IAAE,IAAI,GAAG,CAAC,GAAE,IAAE,IAAI,GAAG,CAAC,GAAE,IAAE;AAAA,QAAE,OAAM,EAAE,OAAO,KAAG,EAAE,OAAO;AAAA,UAAE,EAAE,OAAO,CAAC,GAAE,EAAE,OAAO,CAAC,GAAE,EAAE;AAAA,QAAE,IAAI,KAAG,EAAE,MAAM,GAAE,KAAG,EAAE,MAAM;AAAA,QAAE,OAAM,CAAC,EAAE,OAAO,GAAE;AAAA,UAAC,SAAQ,KAAE,GAAE,KAAG,GAAG,EAAE,MAAM,KAAG,QAAM,KAAG,KAAE,IAAG,EAAE,IAAE,OAAK;AAAA;AAAA,UAAG,IAAG,KAAE,GAAE;AAAA,YAAC,EAAE,OAAO,EAAC;AAAA,YAAE,OAAM,OAAK,GAAE;AAAA,cAAC,IAAG,EAAE,MAAM,KAAG,EAAE,MAAM;AAAA,gBAAE,EAAE,KAAK,EAAE,GAAE,EAAE,KAAK,EAAE;AAAA,cAAE,EAAE,OAAO,CAAC,GAAE,EAAE,OAAO,CAAC;AAAA,YAAC;AAAA,UAAC;AAAA,UAAC,SAAQ,IAAE,GAAE,KAAG,GAAG,EAAE,MAAM,KAAG,QAAM,KAAG,IAAE,IAAG,EAAE,GAAE,OAAK;AAAA;AAAA,UAAG,IAAG,IAAE,GAAE;AAAA,YAAC,EAAE,OAAO,CAAC;AAAA,YAAE,OAAM,MAAK,GAAE;AAAA,cAAC,IAAG,EAAE,MAAM,KAAG,EAAE,MAAM;AAAA,gBAAE,EAAE,KAAK,EAAE,GAAE,EAAE,KAAK,EAAE;AAAA,cAAE,EAAE,OAAO,CAAC,GAAE,EAAE,OAAO,CAAC;AAAA,YAAC;AAAA,UAAC;AAAA,UAAC,IAAG,EAAE,IAAI,CAAC,KAAG;AAAA,YAAE,EAAE,KAAK,CAAC,GAAE,EAAE,KAAK,CAAC,GAAE,EAAE,KAAK,CAAC;AAAA,UAAO;AAAA,cAAE,KAAK,CAAC,GAAE,EAAE,KAAK,CAAC,GAAE,EAAE,KAAK,CAAC;AAAA,QAAC;AAAA,QAAC,OAAM,EAAC,GAAE,GAAE,GAAE,GAAE,KAAI,EAAE,OAAO,CAAC,EAAC;AAAA,SAAG,GAAG,UAAU,SAAO,QAAQ,CAAC,GAAE;AAAA,QAAC,OAAO,EAAE,aAAW,CAAC,GAAE,OAAO,CAAC,EAAE,OAAO,CAAC;AAAA,QAAE,IAAI,IAAE,MAAK,IAAE,EAAE,MAAM;AAAA,QAAE,IAAG,EAAE,aAAW;AAAA,UAAE,IAAE,EAAE,KAAK,CAAC;AAAA,QAAO;AAAA,cAAE,EAAE,MAAM;AAAA,QAAE,IAAI,KAAG,IAAI,GAAG,CAAC,GAAE,KAAG,IAAI,GAAG,CAAC,GAAE,QAAM,EAAE,MAAM;AAAA,QAAE,OAAM,EAAE,KAAK,CAAC,IAAE,KAAG,EAAE,KAAK,CAAC,IAAE,GAAE;AAAA,UAAC,SAAQ,KAAE,GAAE,KAAG,GAAG,EAAE,MAAM,KAAG,QAAM,KAAG,KAAE,IAAG,EAAE,IAAE,OAAK;AAAA;AAAA,UAAG,IAAG,KAAE,GAAE;AAAA,YAAC,EAAE,OAAO,EAAC;AAAA,YAAE,OAAM,OAAK,GAAE;AAAA,cAAC,IAAG,GAAG,MAAM;AAAA,gBAAE,GAAG,KAAK,KAAK;AAAA,cAAE,GAAG,OAAO,CAAC;AAAA,YAAC;AAAA,UAAC;AAAA,UAAC,SAAQ,IAAE,GAAE,KAAG,GAAG,EAAE,MAAM,KAAG,QAAM,KAAG,IAAE,IAAG,EAAE,GAAE,OAAK;AAAA;AAAA,UAAG,IAAG,IAAE,GAAE;AAAA,YAAC,EAAE,OAAO,CAAC;AAAA,YAAE,OAAM,MAAK,GAAE;AAAA,cAAC,IAAG,GAAG,MAAM;AAAA,gBAAE,GAAG,KAAK,KAAK;AAAA,cAAE,GAAG,OAAO,CAAC;AAAA,YAAC;AAAA,UAAC;AAAA,UAAC,IAAG,EAAE,IAAI,CAAC,KAAG;AAAA,YAAE,EAAE,KAAK,CAAC,GAAE,GAAG,KAAK,EAAE;AAAA,UAAO;AAAA,cAAE,KAAK,CAAC,GAAE,GAAG,KAAK,EAAE;AAAA,QAAC;AAAA,QAAC,IAAI;AAAA,QAAI,IAAG,EAAE,KAAK,CAAC,MAAI;AAAA,UAAE,MAAI;AAAA,QAAQ;AAAA,gBAAI;AAAA,QAAG,IAAG,IAAI,KAAK,CAAC,IAAE;AAAA,UAAE,IAAI,KAAK,CAAC;AAAA,QAAE,OAAO;AAAA,SAAK,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAG,KAAK,OAAO;AAAA,UAAE,OAAO,IAAI,IAAI;AAAA,QAAE,IAAG,IAAI,OAAO;AAAA,UAAE,OAAO,KAAK,IAAI;AAAA,QAAE,IAAI,IAAE,KAAK,MAAM,GAAE,IAAE,IAAI,MAAM;AAAA,QAAE,EAAE,WAAS,GAAE,EAAE,WAAS;AAAA,QAAE,SAAQ,QAAM,EAAE,EAAE,OAAO,KAAG,EAAE,OAAO,GAAE;AAAA,UAAQ,EAAE,OAAO,CAAC,GAAE,EAAE,OAAO,CAAC;AAAA,QAAE,GAAE;AAAA,UAAC,OAAM,EAAE,OAAO;AAAA,YAAE,EAAE,OAAO,CAAC;AAAA,UAAE,OAAM,EAAE,OAAO;AAAA,YAAE,EAAE,OAAO,CAAC;AAAA,UAAE,IAAI,IAAE,EAAE,IAAI,CAAC;AAAA,UAAE,IAAG,IAAE,GAAE;AAAA,YAAC,IAAI,IAAE;AAAA,YAAE,IAAE,GAAE,IAAE;AAAA,UAAC,EAAM,SAAG,MAAI,KAAG,EAAE,KAAK,CAAC,MAAI;AAAA,YAAE;AAAA,UAAM,EAAE,KAAK,CAAC;AAAA,QAAC,SAAO;AAAA,QAAI,OAAO,EAAE,OAAO,KAAK;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,KAAK,GAAG,EAAE,EAAE,KAAK,GAAG;AAAA,SAAG,GAAG,UAAU,SAAO,QAAQ,GAAE;AAAA,QAAC,QAAO,KAAK,MAAM,KAAG,OAAK;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,GAAE;AAAA,QAAC,QAAO,KAAK,MAAM,KAAG,OAAK;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,MAAM,KAAG;AAAA,SAAK,GAAG,UAAU,QAAM,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAO,QAAM,QAAQ;AAAA,QAAE,IAAI,IAAE,MAAI,IAAG,KAAG,MAAI,KAAG,IAAG,IAAE,KAAG;AAAA,QAAE,IAAG,KAAK,UAAQ;AAAA,UAAE,OAAO,KAAK,QAAQ,IAAE,CAAC,GAAE,KAAK,MAAM,MAAI,GAAE;AAAA,QAAK,IAAI,QAAM;AAAA,QAAE,SAAQ,KAAE,EAAE,UAAQ,KAAG,KAAE,KAAK,QAAO,MAAI;AAAA,UAAC,IAAI,IAAE,KAAK,MAAM,MAAG;AAAA,UAAE,KAAG,OAAM,QAAM,MAAI,IAAG,KAAG,UAAS,KAAK,MAAM,MAAG;AAAA,QAAC;AAAA,QAAC,IAAG,UAAQ;AAAA,UAAE,KAAK,MAAM,MAAG,OAAM,KAAK;AAAA,QAAS,OAAO;AAAA,SAAM,GAAG,UAAU,SAAO,QAAQ,GAAE;AAAA,QAAC,OAAO,KAAK,WAAS,KAAG,KAAK,MAAM,OAAK;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI,WAAS,MAAI;AAAA,QAAE,IAAG,KAAK,aAAW,KAAG,CAAC;AAAA,UAAS,OAAM;AAAA,QAAG,IAAG,KAAK,aAAW,KAAG;AAAA,UAAS,OAAO;AAAA,QAAE,KAAK,MAAM;AAAA,QAAE,IAAI;AAAA,QAAI,IAAG,KAAK,SAAO;AAAA,UAAE,MAAI;AAAA,QAAM;AAAA,UAAC,IAAG;AAAA,YAAS,MAAI,CAAC;AAAA,UAAI,OAAO,OAAK,UAAS,mBAAmB;AAAA,UAAE,IAAI,IAAE,KAAK,MAAM,KAAG;AAAA,UAAE,MAAI,MAAI,MAAI,IAAE,IAAE,MAAI,KAAG;AAAA;AAAA,QAAE,IAAG,KAAK,aAAW;AAAA,UAAE,OAAM,CAAC,MAAI;AAAA,QAAE,OAAO;AAAA,SAAK,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAG,KAAK,aAAW,KAAG,IAAI,aAAW;AAAA,UAAE,OAAM;AAAA,QAAG,IAAG,KAAK,aAAW,KAAG,IAAI,aAAW;AAAA,UAAE,OAAO;AAAA,QAAE,IAAI,MAAI,KAAK,KAAK,GAAG;AAAA,QAAE,IAAG,KAAK,aAAW;AAAA,UAAE,OAAM,CAAC,MAAI;AAAA,QAAE,OAAO;AAAA,SAAK,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAG,KAAK,SAAO,IAAI;AAAA,UAAO,OAAO;AAAA,QAAE,IAAG,KAAK,SAAO,IAAI;AAAA,UAAO,OAAM;AAAA,QAAG,IAAI,MAAI;AAAA,QAAE,SAAQ,KAAE,KAAK,SAAO,EAAE,MAAG,GAAE,MAAI;AAAA,UAAC,IAAI,IAAE,KAAK,MAAM,MAAG,GAAE,IAAE,IAAI,MAAM,MAAG;AAAA,UAAE,IAAG,MAAI;AAAA,YAAE;AAAA,UAAS,IAAG,IAAE;AAAA,YAAE,MAAI;AAAA,UAAQ,SAAG,IAAE;AAAA,YAAE,MAAI;AAAA,UAAE;AAAA,QAAK;AAAA,QAAC,OAAO;AAAA,SAAK,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,KAAK,GAAG,MAAI;AAAA,SAAG,GAAG,UAAU,KAAG,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,IAAI,GAAG,MAAI;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,KAAK,GAAG,KAAG;AAAA,SAAG,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,IAAI,GAAG,KAAG;AAAA,SAAG,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,KAAK,GAAG,MAAI;AAAA,SAAI,GAAG,UAAU,KAAG,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,IAAI,GAAG,MAAI;AAAA,SAAI,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,KAAK,GAAG,KAAG;AAAA,SAAG,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,IAAI,GAAG,KAAG;AAAA,SAAG,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,KAAK,GAAG,MAAI;AAAA,SAAG,GAAG,UAAU,KAAG,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,IAAI,GAAG,MAAI;AAAA,SAAG,GAAG,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,IAAI,IAAI,GAAG;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAO,CAAC,KAAK,KAAI,uCAAuC,GAAE,OAAO,KAAK,aAAW,GAAE,+BAA+B,GAAE,IAAI,UAAU,IAAI,EAAE,UAAU,GAAG;AAAA,SAAG,GAAG,UAAU,UAAQ,QAAQ,GAAE;AAAA,QAAC,OAAO,OAAO,KAAK,KAAI,sDAAsD,GAAE,KAAK,IAAI,YAAY,IAAI;AAAA,SAAG,GAAG,UAAU,YAAU,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,MAAI,KAAI;AAAA,SAAM,GAAG,UAAU,WAAS,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAO,CAAC,KAAK,KAAI,uCAAuC,GAAE,KAAK,UAAU,GAAG;AAAA,SAAG,GAAG,UAAU,SAAO,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAO,KAAK,KAAI,oCAAoC,GAAE,KAAK,IAAI,IAAI,MAAK,GAAG;AAAA,SAAG,GAAG,UAAU,UAAQ,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAO,KAAK,KAAI,qCAAqC,GAAE,KAAK,IAAI,KAAK,MAAK,GAAG;AAAA,SAAG,GAAG,UAAU,SAAO,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAO,KAAK,KAAI,oCAAoC,GAAE,KAAK,IAAI,IAAI,MAAK,GAAG;AAAA,SAAG,GAAG,UAAU,UAAQ,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAO,KAAK,KAAI,qCAAqC,GAAE,KAAK,IAAI,KAAK,MAAK,GAAG;AAAA,SAAG,GAAG,UAAU,SAAO,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAO,KAAK,KAAI,oCAAoC,GAAE,KAAK,IAAI,IAAI,MAAK,GAAG;AAAA,SAAG,GAAG,UAAU,SAAO,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAO,KAAK,KAAI,oCAAoC,GAAE,KAAK,IAAI,SAAS,MAAK,GAAG,GAAE,KAAK,IAAI,IAAI,MAAK,GAAG;AAAA,SAAG,GAAG,UAAU,UAAQ,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAO,KAAK,KAAI,oCAAoC,GAAE,KAAK,IAAI,SAAS,MAAK,GAAG,GAAE,KAAK,IAAI,KAAK,MAAK,GAAG;AAAA,SAAG,GAAG,UAAU,SAAO,QAAQ,GAAE;AAAA,QAAC,OAAO,OAAO,KAAK,KAAI,oCAAoC,GAAE,KAAK,IAAI,SAAS,IAAI,GAAE,KAAK,IAAI,IAAI,IAAI;AAAA,SAAG,GAAG,UAAU,UAAQ,QAAQ,GAAE;AAAA,QAAC,OAAO,OAAO,KAAK,KAAI,qCAAqC,GAAE,KAAK,IAAI,SAAS,IAAI,GAAE,KAAK,IAAI,KAAK,IAAI;AAAA,SAAG,GAAG,UAAU,UAAQ,QAAQ,GAAE;AAAA,QAAC,OAAO,OAAO,KAAK,KAAI,qCAAqC,GAAE,KAAK,IAAI,SAAS,IAAI,GAAE,KAAK,IAAI,KAAK,IAAI;AAAA,SAAG,GAAG,UAAU,UAAQ,QAAQ,GAAE;AAAA,QAAC,OAAO,OAAO,KAAK,KAAI,qCAAqC,GAAE,KAAK,IAAI,SAAS,IAAI,GAAE,KAAK,IAAI,KAAK,IAAI;AAAA,SAAG,GAAG,UAAU,SAAO,QAAQ,GAAE;AAAA,QAAC,OAAO,OAAO,KAAK,KAAI,oCAAoC,GAAE,KAAK,IAAI,SAAS,IAAI,GAAE,KAAK,IAAI,IAAI,IAAI;AAAA,SAAG,GAAG,UAAU,SAAO,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,OAAO,KAAK,OAAK,CAAC,IAAI,KAAI,mBAAmB,GAAE,KAAK,IAAI,SAAS,IAAI,GAAE,KAAK,IAAI,IAAI,MAAK,GAAG;AAAA;AAAA,MAAG,IAAI,SAAO,EAAC,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,QAAO,KAAI;AAAA,MAAE,SAAS,MAAM,CAAC,MAAK,GAAE;AAAA,QAAC,KAAK,OAAK,MAAK,KAAK,IAAE,IAAI,GAAG,GAAE,EAAE,GAAE,KAAK,IAAE,KAAK,EAAE,UAAU,GAAE,KAAK,IAAE,IAAI,GAAG,CAAC,EAAE,OAAO,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,GAAE,KAAK,MAAI,KAAK,KAAK;AAAA;AAAA,MAAE,OAAO,UAAU,OAAK,QAAQ,GAAE;AAAA,QAAC,IAAI,MAAI,IAAI,GAAG,IAAI;AAAA,QAAE,OAAO,IAAI,QAAM,MAAM,KAAK,KAAK,KAAK,IAAE,EAAE,CAAC,GAAE;AAAA,SAAK,OAAO,UAAU,UAAQ,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI,IAAE,KAAI;AAAA,QAAK;AAAA,UAAG,KAAK,MAAM,GAAE,KAAK,GAAG,GAAE,IAAE,KAAK,MAAM,CAAC,GAAE,IAAE,EAAE,KAAK,KAAK,GAAG,GAAE,OAAK,EAAE,UAAU;AAAA,eAAQ,OAAK,KAAK;AAAA,QAAG,IAAI,MAAI,OAAK,KAAK,IAAE,KAAG,EAAE,KAAK,KAAK,CAAC;AAAA,QAAE,IAAG,QAAM;AAAA,UAAE,EAAE,MAAM,KAAG,GAAE,EAAE,SAAO;AAAA,QAAO,SAAG,MAAI;AAAA,UAAE,EAAE,KAAK,KAAK,CAAC;AAAA,QAAO,SAAG,EAAE,UAAa;AAAA,UAAE,EAAE,MAAM;AAAA,QAAO;AAAA,YAAE,OAAO;AAAA,QAAE,OAAO;AAAA,SAAG,OAAO,UAAU,QAAM,QAAQ,CAAC,OAAM,KAAI;AAAA,QAAC,MAAM,OAAO,KAAK,GAAE,GAAE,GAAG;AAAA,SAAG,OAAO,UAAU,QAAM,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,IAAI,KAAK,KAAK,CAAC;AAAA;AAAA,MAAG,SAAS,IAAI,GAAE;AAAA,QAAC,OAAO,KAAK,MAAK,QAAO,yEAAyE;AAAA;AAAA,MAAE,UAAS,MAAK,MAAM,GAAE,KAAK,UAAU,QAAM,QAAQ,CAAC,OAAM,QAAO;AAAA,QAAC,IAAI,OAAK,SAAQ,SAAO,KAAK,IAAI,MAAM,QAAO,CAAC;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,QAAO;AAAA,UAAI,OAAO,MAAM,MAAG,MAAM,MAAM;AAAA,QAAG,IAAG,OAAO,SAAO,QAAO,MAAM,UAAQ,GAAE;AAAA,UAAC,MAAM,MAAM,KAAG,GAAE,MAAM,SAAO;AAAA,UAAE;AAAA,QAAM;AAAA,QAAC,IAAI,OAAK,MAAM,MAAM;AAAA,QAAG,OAAO,MAAM,OAAO,YAAU,OAAK;AAAA,QAAK,KAAI,KAAE,GAAG,KAAE,MAAM,QAAO,MAAI;AAAA,UAAC,IAAI,OAAK,MAAM,MAAM,MAAG;AAAA,UAAE,MAAM,MAAM,KAAE,OAAK,OAAK,SAAO,IAAE,SAAO,IAAG,OAAK;AAAA,QAAI;AAAA,QAAC,IAAG,UAAQ,IAAG,MAAM,MAAM,KAAE,MAAI,MAAK,SAAO,KAAG,MAAM,SAAO;AAAA,UAAG,MAAM,UAAQ;AAAA,QAAQ;AAAA,gBAAM,UAAQ;AAAA,SAAG,KAAK,UAAU,QAAM,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI,MAAM,IAAI,UAAQ,GAAE,IAAI,MAAM,IAAI,SAAO,KAAG,GAAE,IAAI,UAAQ;AAAA,QAAE,IAAI,KAAG;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,IAAI,QAAO,MAAI;AAAA,UAAC,IAAI,IAAE,IAAI,MAAM,MAAG;AAAA,UAAE,MAAI,IAAE,KAAI,IAAI,MAAM,MAAG,KAAG,UAAS,KAAG,IAAE,MAAI,KAAG,WAAS;AAAA,QAAE;AAAA,QAAC,IAAG,IAAI,MAAM,IAAI,SAAO,OAAK,GAAE;AAAA,UAAC,IAAG,IAAI,UAAS,IAAI,MAAM,IAAI,SAAO,OAAK;AAAA,YAAE,IAAI;AAAA,QAAQ;AAAA,QAAC,OAAO;AAAA;AAAA,MAAK,SAAS,IAAI,GAAE;AAAA,QAAC,OAAO,KAAK,MAAK,QAAO,gEAAgE;AAAA;AAAA,MAAE,UAAS,MAAK,MAAM;AAAA,MAAE,SAAS,IAAI,GAAE;AAAA,QAAC,OAAO,KAAK,MAAK,QAAO,uDAAuD;AAAA;AAAA,MAAE,UAAS,MAAK,MAAM;AAAA,MAAE,SAAS,MAAM,GAAE;AAAA,QAAC,OAAO,KAAK,MAAK,SAAQ,qEAAqE;AAAA;AAAA,MAAE,UAAS,QAAO,MAAM,GAAE,OAAO,UAAU,QAAM,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI,QAAM;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,IAAI,QAAO,MAAI;AAAA,UAAC,IAAI,MAAI,IAAI,MAAM,MAAG,KAAG,KAAG,OAAM,KAAG,KAAG;AAAA,UAAS,QAAM,IAAG,IAAI,MAAM,MAAG,IAAG,QAAM;AAAA,QAAE;AAAA,QAAC,IAAG,UAAQ;AAAA,UAAE,IAAI,MAAM,IAAI,YAAU;AAAA,QAAM,OAAO;AAAA,SAAK,GAAG,SAAO,QAAQ,CAAC,MAAK;AAAA,QAAC,IAAG,OAAO;AAAA,UAAM,OAAO,OAAO;AAAA,QAAM,IAAI;AAAA,QAAM,IAAG,SAAO;AAAA,UAAO,QAAM,IAAI;AAAA,QAAU,SAAG,SAAO;AAAA,UAAO,QAAM,IAAI;AAAA,QAAU,SAAG,SAAO;AAAA,UAAO,QAAM,IAAI;AAAA,QAAU,SAAG,SAAO;AAAA,UAAS,QAAM,IAAI;AAAA,QAAY;AAAA,gBAAM,MAAM,mBAAiB,IAAI;AAAA,QAAE,OAAO,OAAO,QAAM,OAAM;AAAA;AAAA,MAAO,SAAS,GAAG,CAAC,GAAE;AAAA,QAAC,IAAG,OAAO,MAAI,UAAS;AAAA,UAAC,IAAI,QAAM,GAAG,OAAO,CAAC;AAAA,UAAE,KAAK,IAAE,MAAM,GAAE,KAAK,QAAM;AAAA,QAAK,EAAM;AAAA,iBAAO,EAAE,IAAI,CAAC,GAAE,gCAAgC,GAAE,KAAK,IAAE,GAAE,KAAK,QAAM;AAAA;AAAA,MAAK,IAAI,UAAU,WAAS,QAAQ,CAAC,GAAE;AAAA,QAAC,OAAO,EAAE,aAAW,GAAE,+BAA+B,GAAE,OAAO,EAAE,KAAI,iCAAiC;AAAA,SAAG,IAAI,UAAU,WAAS,QAAQ,CAAC,GAAE,GAAE;AAAA,QAAC,QAAQ,EAAE,WAAS,EAAE,cAAY,GAAE,+BAA+B,GAAE,OAAO,EAAE,OAAK,EAAE,QAAM,EAAE,KAAI,iCAAiC;AAAA,SAAG,IAAI,UAAU,OAAK,QAAQ,CAAC,GAAE;AAAA,QAAC,IAAG,KAAK;AAAA,UAAM,OAAO,KAAK,MAAM,QAAQ,CAAC,EAAE,UAAU,IAAI;AAAA,QAAE,OAAO,EAAE,KAAK,KAAK,CAAC,EAAE,UAAU,IAAI;AAAA,SAAG,IAAI,UAAU,MAAI,QAAQ,CAAC,GAAE;AAAA,QAAC,IAAG,EAAE,OAAO;AAAA,UAAE,OAAO,EAAE,MAAM;AAAA,QAAE,OAAO,KAAK,EAAE,IAAI,CAAC,EAAE,UAAU,IAAI;AAAA,SAAG,IAAI,UAAU,MAAI,QAAQ,CAAC,GAAE,GAAE;AAAA,QAAC,KAAK,SAAS,GAAE,CAAC;AAAA,QAAE,IAAI,MAAI,EAAE,IAAI,CAAC;AAAA,QAAE,IAAG,IAAI,IAAI,KAAK,CAAC,KAAG;AAAA,UAAE,IAAI,KAAK,KAAK,CAAC;AAAA,QAAE,OAAO,IAAI,UAAU,IAAI;AAAA,SAAG,IAAI,UAAU,OAAK,QAAQ,CAAC,GAAE,GAAE;AAAA,QAAC,KAAK,SAAS,GAAE,CAAC;AAAA,QAAE,IAAI,MAAI,EAAE,KAAK,CAAC;AAAA,QAAE,IAAG,IAAI,IAAI,KAAK,CAAC,KAAG;AAAA,UAAE,IAAI,KAAK,KAAK,CAAC;AAAA,QAAE,OAAO;AAAA,SAAK,IAAI,UAAU,MAAI,QAAQ,CAAC,GAAE,GAAE;AAAA,QAAC,KAAK,SAAS,GAAE,CAAC;AAAA,QAAE,IAAI,MAAI,EAAE,IAAI,CAAC;AAAA,QAAE,IAAG,IAAI,KAAK,CAAC,IAAE;AAAA,UAAE,IAAI,KAAK,KAAK,CAAC;AAAA,QAAE,OAAO,IAAI,UAAU,IAAI;AAAA,SAAG,IAAI,UAAU,OAAK,QAAQ,CAAC,GAAE,GAAE;AAAA,QAAC,KAAK,SAAS,GAAE,CAAC;AAAA,QAAE,IAAI,MAAI,EAAE,KAAK,CAAC;AAAA,QAAE,IAAG,IAAI,KAAK,CAAC,IAAE;AAAA,UAAE,IAAI,KAAK,KAAK,CAAC;AAAA,QAAE,OAAO;AAAA,SAAK,IAAI,UAAU,MAAI,QAAQ,CAAC,GAAE,KAAI;AAAA,QAAC,OAAO,KAAK,SAAS,CAAC,GAAE,KAAK,KAAK,EAAE,MAAM,GAAG,CAAC;AAAA,SAAG,IAAI,UAAU,OAAK,QAAQ,CAAC,GAAE,GAAE;AAAA,QAAC,OAAO,KAAK,SAAS,GAAE,CAAC,GAAE,KAAK,KAAK,EAAE,KAAK,CAAC,CAAC;AAAA,SAAG,IAAI,UAAU,MAAI,QAAQ,CAAC,GAAE,GAAE;AAAA,QAAC,OAAO,KAAK,SAAS,GAAE,CAAC,GAAE,KAAK,KAAK,EAAE,IAAI,CAAC,CAAC;AAAA,SAAG,IAAI,UAAU,OAAK,QAAQ,CAAC,GAAE;AAAA,QAAC,OAAO,KAAK,KAAK,GAAE,EAAE,MAAM,CAAC;AAAA,SAAG,IAAI,UAAU,MAAI,QAAQ,CAAC,GAAE;AAAA,QAAC,OAAO,KAAK,IAAI,GAAE,CAAC;AAAA,SAAG,IAAI,UAAU,OAAK,QAAQ,CAAC,GAAE;AAAA,QAAC,IAAG,EAAE,OAAO;AAAA,UAAE,OAAO,EAAE,MAAM;AAAA,QAAE,IAAI,OAAK,KAAK,EAAE,MAAM,CAAC;AAAA,QAAE,IAAG,OAAO,OAAK,MAAI,CAAC,GAAE,SAAO,GAAE;AAAA,UAAC,IAAI,MAAI,KAAK,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC;AAAA,UAAE,OAAO,KAAK,IAAI,GAAE,GAAG;AAAA,QAAC;AAAA,QAAC,IAAI,IAAE,KAAK,EAAE,KAAK,CAAC,GAAE,IAAE;AAAA,QAAE,OAAM,CAAC,EAAE,OAAO,KAAG,EAAE,MAAM,CAAC,MAAI;AAAA,UAAE,KAAI,EAAE,OAAO,CAAC;AAAA,QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;AAAA,QAAE,IAAI,MAAI,IAAI,GAAG,CAAC,EAAE,MAAM,IAAI,GAAE,OAAK,IAAI,OAAO,GAAE,OAAK,KAAK,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,GAAE,IAAE,KAAK,EAAE,UAAU;AAAA,QAAE,IAAE,IAAI,GAAG,IAAE,IAAE,CAAC,EAAE,MAAM,IAAI;AAAA,QAAE,OAAM,KAAK,IAAI,GAAE,IAAI,EAAE,IAAI,IAAI,MAAI;AAAA,UAAE,EAAE,QAAQ,IAAI;AAAA,QAAE,IAAI,IAAE,KAAK,IAAI,GAAE,CAAC,GAAE,IAAE,KAAK,IAAI,GAAE,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,GAAE,IAAE,KAAK,IAAI,GAAE,CAAC,GAAE,IAAE;AAAA,QAAE,OAAM,EAAE,IAAI,GAAG,MAAI,GAAE;AAAA,UAAC,IAAI,MAAI;AAAA,UAAE,SAAQ,KAAE,EAAE,IAAI,IAAI,GAAG,MAAI,GAAE;AAAA,YAAI,MAAI,IAAI,OAAO;AAAA,UAAE,OAAO,KAAE,CAAC;AAAA,UAAE,IAAI,IAAE,KAAK,IAAI,GAAE,IAAI,GAAG,CAAC,EAAE,OAAO,IAAE,KAAE,CAAC,CAAC;AAAA,UAAE,IAAE,EAAE,OAAO,CAAC,GAAE,IAAE,EAAE,OAAO,GAAE,IAAE,EAAE,OAAO,CAAC,GAAE,IAAE;AAAA,QAAC;AAAA,QAAC,OAAO;AAAA,SAAG,IAAI,UAAU,OAAK,QAAQ,CAAC,GAAE;AAAA,QAAC,IAAI,MAAI,EAAE,OAAO,KAAK,CAAC;AAAA,QAAE,IAAG,IAAI,aAAW;AAAA,UAAE,OAAO,IAAI,WAAS,GAAE,KAAK,KAAK,GAAG,EAAE,OAAO;AAAA,QAAO;AAAA,iBAAO,KAAK,KAAK,GAAG;AAAA,SAAG,IAAI,UAAU,MAAI,QAAQ,CAAC,GAAE,KAAI;AAAA,QAAC,IAAG,IAAI,OAAO;AAAA,UAAE,OAAO,IAAI,GAAG,CAAC,EAAE,MAAM,IAAI;AAAA,QAAE,IAAG,IAAI,KAAK,CAAC,MAAI;AAAA,UAAE,OAAO,EAAE,MAAM;AAAA,QAAE,IAAI,aAAW,GAAE,MAAI,MAAM,KAAG,UAAU;AAAA,QAAE,IAAI,KAAG,IAAI,GAAG,CAAC,EAAE,MAAM,IAAI,GAAE,IAAI,KAAG;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,IAAI,QAAO;AAAA,UAAI,IAAI,MAAG,KAAK,IAAI,IAAI,KAAE,IAAG,CAAC;AAAA,QAAE,IAAI,MAAI,IAAI,IAAG,UAAQ,GAAE,aAAW,GAAE,QAAM,IAAI,UAAU,IAAE;AAAA,QAAG,IAAG,UAAQ;AAAA,UAAE,QAAM;AAAA,QAAG,KAAI,KAAE,IAAI,SAAO,EAAE,MAAG,GAAE,MAAI;AAAA,UAAC,IAAI,OAAK,IAAI,MAAM;AAAA,UAAG,SAAQ,IAAE,QAAM,EAAE,KAAG,GAAE,KAAI;AAAA,YAAC,IAAI,MAAI,QAAM,IAAE;AAAA,YAAE,IAAG,QAAM,IAAI;AAAA,cAAG,MAAI,KAAK,IAAI,GAAG;AAAA,YAAE,IAAG,QAAM,KAAG,YAAU,GAAE;AAAA,cAAC,aAAW;AAAA,cAAE;AAAA,YAAQ;AAAA,YAAC,IAAG,YAAU,GAAE,WAAS,KAAI,cAAa,eAAa,eAAa,OAAI,KAAG,MAAI;AAAA,cAAG;AAAA,YAAS,MAAI,KAAK,IAAI,KAAI,IAAI,QAAQ,GAAE,aAAW,GAAE,UAAQ;AAAA,UAAC;AAAA,UAAC,QAAM;AAAA,QAAE;AAAA,QAAC,OAAO;AAAA,SAAK,IAAI,UAAU,YAAU,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI,IAAE,IAAI,KAAK,KAAK,CAAC;AAAA,QAAE,OAAO,MAAI,MAAI,EAAE,MAAM,IAAE;AAAA,SAAG,IAAI,UAAU,cAAY,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI,MAAI,IAAI,MAAM;AAAA,QAAE,OAAO,IAAI,MAAI,MAAK;AAAA,SAAK,GAAG,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,IAAI,KAAK,GAAG;AAAA;AAAA,MAAG,SAAS,IAAI,CAAC,GAAE;AAAA,QAAC,IAAG,IAAI,KAAK,MAAK,CAAC,GAAE,KAAK,QAAM,KAAK,EAAE,UAAU,GAAE,KAAK,QAAM,OAAK;AAAA,UAAE,KAAK,SAAO,KAAG,KAAK,QAAM;AAAA,QAAG,KAAK,IAAE,IAAI,GAAG,CAAC,EAAE,OAAO,KAAK,KAAK,GAAE,KAAK,KAAG,KAAK,KAAK,KAAK,EAAE,IAAI,CAAC,GAAE,KAAK,OAAK,KAAK,EAAE,OAAO,KAAK,CAAC,GAAE,KAAK,OAAK,KAAK,KAAK,IAAI,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,GAAE,KAAK,OAAK,KAAK,KAAK,KAAK,KAAK,CAAC,GAAE,KAAK,OAAK,KAAK,EAAE,IAAI,KAAK,IAAI;AAAA;AAAA,MAAE,UAAS,MAAK,GAAG,GAAE,KAAK,UAAU,YAAU,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,KAAK,IAAI,MAAM,KAAK,KAAK,CAAC;AAAA,SAAG,KAAK,UAAU,cAAY,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI,IAAE,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,CAAC;AAAA,QAAE,OAAO,EAAE,MAAI,MAAK;AAAA,SAAG,KAAK,UAAU,OAAK,QAAQ,CAAC,GAAE,GAAE;AAAA,QAAC,IAAG,EAAE,OAAO,KAAG,EAAE,OAAO;AAAA,UAAE,OAAO,EAAE,MAAM,KAAG,GAAE,EAAE,SAAO,GAAE;AAAA,QAAE,IAAI,IAAE,EAAE,KAAK,CAAC,GAAE,IAAE,EAAE,MAAM,KAAK,KAAK,EAAE,IAAI,KAAK,IAAI,EAAE,OAAO,KAAK,KAAK,EAAE,IAAI,KAAK,CAAC,GAAE,IAAE,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,KAAK,GAAE,MAAI;AAAA,QAAE,IAAG,EAAE,IAAI,KAAK,CAAC,KAAG;AAAA,UAAE,MAAI,EAAE,KAAK,KAAK,CAAC;AAAA,QAAO,SAAG,EAAE,KAAK,CAAC,IAAE;AAAA,UAAE,MAAI,EAAE,KAAK,KAAK,CAAC;AAAA,QAAE,OAAO,IAAI,UAAU,IAAI;AAAA,SAAG,KAAK,UAAU,MAAI,QAAQ,CAAC,GAAE,GAAE;AAAA,QAAC,IAAG,EAAE,OAAO,KAAG,EAAE,OAAO;AAAA,UAAE,OAAO,IAAI,GAAG,CAAC,EAAE,UAAU,IAAI;AAAA,QAAE,IAAI,IAAE,EAAE,IAAI,CAAC,GAAE,IAAE,EAAE,MAAM,KAAK,KAAK,EAAE,IAAI,KAAK,IAAI,EAAE,OAAO,KAAK,KAAK,EAAE,IAAI,KAAK,CAAC,GAAE,IAAE,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,KAAK,GAAE,MAAI;AAAA,QAAE,IAAG,EAAE,IAAI,KAAK,CAAC,KAAG;AAAA,UAAE,MAAI,EAAE,KAAK,KAAK,CAAC;AAAA,QAAO,SAAG,EAAE,KAAK,CAAC,IAAE;AAAA,UAAE,MAAI,EAAE,KAAK,KAAK,CAAC;AAAA,QAAE,OAAO,IAAI,UAAU,IAAI;AAAA,SAAG,KAAK,UAAU,OAAK,QAAQ,CAAC,GAAE;AAAA,QAAC,IAAI,MAAI,KAAK,KAAK,EAAE,OAAO,KAAK,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC;AAAA,QAAE,OAAO,IAAI,UAAU,IAAI;AAAA;AAAA,OAAK,OAAO,SAAO,OAAK,QAAO,OAAO;AAAA,GAAE;AAAA,EAAM,qBAAmB,YAAW,CAAC,SAAQ,WAAS;AAAA,IAAC,IAAI,KAAG,YAAY,GAAE,WAAQ,oBAAoB,EAAE;AAAA,IAAO,SAAS,UAAU,CAAC,WAAU,KAAI;AAAA,MAAC,OAAO,SAAQ,KAAK,UAAU,MAAM,GAAG,KAAK,IAAI,OAAO,CAAC,EAAE,OAAO,IAAI,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC;AAAA;AAAA,IAAE,OAAO,UAAQ;AAAA,GAAW;AAAA,EAAM,cAAY,YAAW,CAAC,SAAQ,WAAS;AAAA,KAAE,QAAQ,CAAC,SAAQ,UAAS;AAAA,MAAC,SAAS,MAAM,CAAC,KAAI,KAAI;AAAA,QAAC,IAAG,CAAC;AAAA,UAAI,MAAM,MAAM,OAAK,kBAAkB;AAAA;AAAA,MAAE,SAAS,SAAQ,CAAC,MAAK,WAAU;AAAA,QAAC,KAAK,SAAO;AAAA,QAAU,IAAI,WAAS,QAAQ,GAAE;AAAA,QAAG,SAAS,YAAU,UAAU,WAAU,KAAK,YAAU,IAAI,UAAS,KAAK,UAAU,cAAY;AAAA;AAAA,MAAK,SAAS,EAAE,CAAC,QAAO,MAAK,QAAO;AAAA,QAAC,IAAG,GAAG,KAAK,MAAM;AAAA,UAAE,OAAO;AAAA,QAAO,IAAG,KAAK,WAAS,GAAE,KAAK,QAAM,MAAK,KAAK,SAAO,GAAE,KAAK,MAAI,MAAK,WAAS,MAAK;AAAA,UAAC,IAAG,SAAO,QAAM,SAAO;AAAA,YAAK,SAAO,MAAK,OAAK;AAAA,UAAG,KAAK,MAAM,UAAQ,GAAE,QAAM,IAAG,UAAQ,IAAI;AAAA,QAAC;AAAA;AAAA,MAAE,IAAG,OAAO,YAAU;AAAA,QAAS,QAAQ,UAAQ;AAAA,MAAQ;AAAA,iBAAS,KAAG;AAAA,MAAG,GAAG,KAAG,IAAG,GAAG,WAAS;AAAA,MAAG,IAAI;AAAA,MAAQ,IAAG;AAAA,QAAC,IAAG,OAAO,SAAO,OAAK,OAAO,OAAO,SAAO;AAAA,UAAI,WAAQ,OAAO;AAAA,QAAY;AAAA,mEAA0B;AAAA,QAAO,OAAM,GAAE;AAAA,MAAE,GAAG,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAG,eAAe;AAAA,UAAG,OAAM;AAAA,QAAG,OAAO,QAAM,QAAM,OAAO,QAAM,YAAU,IAAI,YAAY,aAAW,GAAG,YAAU,MAAM,QAAQ,IAAI,KAAK;AAAA,SAAG,GAAG,MAAI,QAAQ,CAAC,MAAK,OAAM;AAAA,QAAC,IAAG,KAAK,IAAI,KAAK,IAAE;AAAA,UAAE,OAAO;AAAA,QAAK,OAAO;AAAA,SAAO,GAAG,MAAI,QAAQ,CAAC,MAAK,OAAM;AAAA,QAAC,IAAG,KAAK,IAAI,KAAK,IAAE;AAAA,UAAE,OAAO;AAAA,QAAK,OAAO;AAAA,SAAO,GAAG,UAAU,QAAM,QAAQ,CAAC,QAAO,MAAK,QAAO;AAAA,QAAC,IAAG,OAAO,WAAS;AAAA,UAAS,OAAO,KAAK,YAAY,QAAO,MAAK,MAAM;AAAA,QAAE,IAAG,OAAO,WAAS;AAAA,UAAS,OAAO,KAAK,WAAW,QAAO,MAAK,MAAM;AAAA,QAAE,IAAG,SAAO;AAAA,UAAM,OAAK;AAAA,QAAG,OAAO,UAAQ,OAAK,MAAI,QAAM,KAAG,QAAM,EAAE,GAAE,SAAO,OAAO,SAAS,EAAE,QAAQ,QAAO,EAAE;AAAA,QAAE,IAAI,QAAM;AAAA,QAAE,IAAG,OAAO,OAAK;AAAA,UAAI,SAAQ,KAAK,WAAS;AAAA,QAAE,IAAG,QAAM,OAAO,QAAO;AAAA,UAAC,IAAG,SAAO;AAAA,YAAG,KAAK,UAAU,QAAO,OAAM,MAAM;AAAA,UAAO,SAAG,KAAK,WAAW,QAAO,MAAK,KAAK,GAAE,WAAS;AAAA,YAAK,KAAK,WAAW,KAAK,QAAQ,GAAE,MAAK,MAAM;AAAA,QAAC;AAAA,SAAG,GAAG,UAAU,cAAY,QAAQ,CAAC,QAAO,MAAK,QAAO;AAAA,QAAC,IAAG,SAAO;AAAA,UAAE,KAAK,WAAS,GAAE,SAAO,CAAC;AAAA,QAAO,IAAG,SAAO;AAAA,UAAS,KAAK,QAAM,CAAC,SAAO,QAAQ,GAAE,KAAK,SAAO;AAAA,QAAO,SAAG,SAAO;AAAA,UAAiB,KAAK,QAAM,CAAC,SAAO,UAAS,SAAO,WAAS,QAAQ,GAAE,KAAK,SAAO;AAAA,QAAO;AAAA,iBAAO,SAAO,gBAAgB,GAAE,KAAK,QAAM,CAAC,SAAO,UAAS,SAAO,WAAS,UAAS,CAAC,GAAE,KAAK,SAAO;AAAA,QAAE,IAAG,WAAS;AAAA,UAAK;AAAA,QAAO,KAAK,WAAW,KAAK,QAAQ,GAAE,MAAK,MAAM;AAAA,SAAG,GAAG,UAAU,aAAW,QAAQ,CAAC,QAAO,MAAK,QAAO;AAAA,QAAC,IAAG,OAAO,OAAO,OAAO,WAAS,QAAQ,GAAE,OAAO,UAAQ;AAAA,UAAE,OAAO,KAAK,QAAM,CAAC,CAAC,GAAE,KAAK,SAAO,GAAE;AAAA,QAAK,KAAK,SAAO,KAAK,KAAK,OAAO,SAAO,CAAC,GAAE,KAAK,QAAM,MAAM,KAAK,MAAM;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,KAAK,QAAO;AAAA,UAAI,KAAK,MAAM,MAAG;AAAA,QAAE,IAAI,GAAE,GAAE,MAAI;AAAA,QAAE,IAAG,WAAS,MAAK;AAAA,UAAC,KAAI,KAAE,OAAO,SAAO,GAAE,IAAE,EAAE,MAAG,GAAE,MAAG;AAAA,YAAE,IAAG,IAAE,OAAO,MAAG,OAAO,KAAE,MAAI,IAAE,OAAO,KAAE,MAAI,IAAG,KAAK,MAAM,MAAI,KAAG,MAAI,UAAS,KAAK,MAAM,IAAE,KAAG,MAAI,KAAG,MAAI,UAAS,OAAK,IAAG,OAAK;AAAA,cAAG,OAAK,IAAG;AAAA,QAAG,EAAM,SAAG,WAAS,MAAK;AAAA,UAAC,KAAI,KAAE,GAAE,IAAE,EAAE,KAAE,OAAO,QAAO,MAAG;AAAA,YAAE,IAAG,IAAE,OAAO,MAAG,OAAO,KAAE,MAAI,IAAE,OAAO,KAAE,MAAI,IAAG,KAAK,MAAM,MAAI,KAAG,MAAI,UAAS,KAAK,MAAM,IAAE,KAAG,MAAI,KAAG,MAAI,UAAS,OAAK,IAAG,OAAK;AAAA,cAAG,OAAK,IAAG;AAAA,QAAG;AAAA,QAAC,OAAO,KAAK,OAAO;AAAA;AAAA,MAAG,SAAS,aAAa,CAAC,QAAO,OAAM;AAAA,QAAC,IAAI,IAAE,OAAO,WAAW,KAAK;AAAA,QAAE,IAAG,KAAG,MAAI,KAAG;AAAA,UAAG,OAAO,IAAE;AAAA,QAAQ,SAAG,KAAG,MAAI,KAAG;AAAA,UAAG,OAAO,IAAE;AAAA,QAAQ,SAAG,KAAG,MAAI,KAAG;AAAA,UAAI,OAAO,IAAE;AAAA,QAAQ;AAAA,iBAAO,OAAG,0BAAwB,MAAM;AAAA;AAAA,MAAE,SAAS,YAAY,CAAC,QAAO,YAAW,OAAM;AAAA,QAAC,IAAI,IAAE,cAAc,QAAO,KAAK;AAAA,QAAE,IAAG,QAAM,KAAG;AAAA,UAAW,KAAG,cAAc,QAAO,QAAM,CAAC,KAAG;AAAA,QAAE,OAAO;AAAA;AAAA,MAAE,GAAG,UAAU,YAAU,QAAQ,CAAC,QAAO,OAAM,QAAO;AAAA,QAAC,KAAK,SAAO,KAAK,MAAM,OAAO,SAAO,SAAO,CAAC,GAAE,KAAK,QAAM,MAAM,KAAK,MAAM;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,KAAK,QAAO;AAAA,UAAI,KAAK,MAAM,MAAG;AAAA,QAAE,IAAI,MAAI,GAAE,IAAE,GAAE;AAAA,QAAE,IAAG,WAAS;AAAA,UAAK,KAAI,KAAE,OAAO,SAAO,EAAE,MAAG,OAAM,MAAG;AAAA,YAAE,IAAG,IAAE,aAAa,QAAO,OAAM,EAAC,KAAG,KAAI,KAAK,MAAM,MAAI,IAAE,UAAS,OAAK;AAAA,cAAG,OAAK,IAAG,KAAG,GAAE,KAAK,MAAM,MAAI,MAAI;AAAA,YAAQ;AAAA,qBAAK;AAAA,QAAM;AAAA,UAAC,IAAI,cAAY,OAAO,SAAO;AAAA,UAAM,KAAI,KAAE,cAAY,MAAI,IAAE,QAAM,IAAE,MAAM,KAAE,OAAO,QAAO,MAAG;AAAA,YAAE,IAAG,IAAE,aAAa,QAAO,OAAM,EAAC,KAAG,KAAI,KAAK,MAAM,MAAI,IAAE,UAAS,OAAK;AAAA,cAAG,OAAK,IAAG,KAAG,GAAE,KAAK,MAAM,MAAI,MAAI;AAAA,YAAQ;AAAA,qBAAK;AAAA;AAAA,QAAE,KAAK,OAAO;AAAA;AAAA,MAAG,SAAS,SAAS,CAAC,KAAI,OAAM,KAAI,KAAI;AAAA,QAAC,IAAI,IAAE,GAAE,IAAE,GAAE,OAAI,KAAK,IAAI,IAAI,QAAO,GAAG;AAAA,QAAE,SAAQ,KAAE,MAAM,KAAE,MAAI,MAAI;AAAA,UAAC,IAAI,IAAE,IAAI,WAAW,EAAC,IAAE;AAAA,UAAG,IAAG,KAAG,KAAI,KAAG;AAAA,YAAG,IAAE,IAAE,KAAG;AAAA,UAAQ,SAAG,KAAG;AAAA,YAAG,IAAE,IAAE,KAAG;AAAA,UAAQ;AAAA,gBAAE;AAAA,UAAE,OAAO,KAAG,KAAG,IAAE,KAAI,mBAAmB,GAAE,KAAG;AAAA,QAAC;AAAA,QAAC,OAAO;AAAA;AAAA,MAAE,GAAG,UAAU,aAAW,QAAQ,CAAC,QAAO,MAAK,OAAM;AAAA,QAAC,KAAK,QAAM,CAAC,CAAC,GAAE,KAAK,SAAO;AAAA,QAAE,SAAQ,UAAQ,GAAE,UAAQ,EAAE,WAAS,UAAS,WAAS;AAAA,UAAK;AAAA,QAAU,WAAU,UAAQ,UAAQ,OAAK;AAAA,QAAE,IAAI,QAAM,OAAO,SAAO,OAAM,MAAI,QAAM,SAAQ,MAAI,KAAK,IAAI,OAAM,QAAM,GAAG,IAAE,OAAM,OAAK;AAAA,QAAE,SAAQ,KAAE,MAAM,KAAE,KAAI,MAAG;AAAA,UAAQ,IAAG,OAAK,UAAU,QAAO,IAAE,KAAE,SAAQ,IAAI,GAAE,KAAK,MAAM,OAAO,GAAE,KAAK,MAAM,KAAG,OAAK;AAAA,YAAS,KAAK,MAAM,MAAI;AAAA,UAAU;AAAA,iBAAK,OAAO,IAAI;AAAA,QAAE,IAAG,QAAM,GAAE;AAAA,UAAC,IAAI,MAAI;AAAA,UAAE,OAAK,UAAU,QAAO,IAAE,OAAO,QAAO,IAAI;AAAA,UAAE,KAAI,KAAE,EAAE,KAAE,KAAI;AAAA,YAAI,OAAK;AAAA,UAAK,IAAG,KAAK,MAAM,GAAG,GAAE,KAAK,MAAM,KAAG,OAAK;AAAA,YAAS,KAAK,MAAM,MAAI;AAAA,UAAU;AAAA,iBAAK,OAAO,IAAI;AAAA,QAAC;AAAA,QAAC,KAAK,OAAO;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,MAAK;AAAA,QAAC,KAAK,QAAM,MAAM,KAAK,MAAM;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,KAAK,QAAO;AAAA,UAAI,KAAK,MAAM,MAAG,KAAK,MAAM;AAAA,QAAG,KAAK,SAAO,KAAK,QAAO,KAAK,WAAS,KAAK,UAAS,KAAK,MAAI,KAAK;AAAA;AAAA,MAAK,SAAS,IAAI,CAAC,MAAK,KAAI;AAAA,QAAC,KAAK,QAAM,IAAI,OAAM,KAAK,SAAO,IAAI,QAAO,KAAK,WAAS,IAAI,UAAS,KAAK,MAAI,IAAI;AAAA;AAAA,MAAI,IAAG,GAAG,UAAU,QAAM,QAAQ,CAAC,MAAK;AAAA,QAAC,KAAK,MAAK,IAAI;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,GAAE;AAAA,QAAC,IAAI,IAAE,IAAI,GAAG,IAAI;AAAA,QAAE,OAAO,KAAK,KAAK,CAAC,GAAE;AAAA,SAAG,GAAG,UAAU,UAAQ,QAAQ,CAAC,MAAK;AAAA,QAAC,OAAM,KAAK,SAAO;AAAA,UAAK,KAAK,MAAM,KAAK,YAAU;AAAA,QAAE,OAAO;AAAA,SAAM,GAAG,UAAU,SAAO,QAAQ,GAAE;AAAA,QAAC,OAAM,KAAK,SAAO,KAAG,KAAK,MAAM,KAAK,SAAO,OAAK;AAAA,UAAE,KAAK;AAAA,QAAS,OAAO,KAAK,UAAU;AAAA,SAAG,GAAG,UAAU,YAAU,QAAQ,GAAE;AAAA,QAAC,IAAG,KAAK,WAAS,KAAG,KAAK,MAAM,OAAK;AAAA,UAAE,KAAK,WAAS;AAAA,QAAE,OAAO;AAAA,SAAM,OAAO,SAAO,OAAK,OAAO,OAAO,QAAM;AAAA,QAAW,IAAG;AAAA,UAAC,GAAG,UAAU,OAAO,IAAI,4BAA4B,KAAG;AAAA,UAAQ,OAAM,GAAE;AAAA,UAAC,GAAG,UAAU,UAAQ;AAAA;AAAA,MAAa;AAAA,WAAG,UAAU,UAAQ;AAAA,MAAQ,SAAS,QAAO,GAAE;AAAA,QAAC,QAAO,KAAK,MAAI,YAAU,WAAS,KAAK,SAAS,EAAE,IAAE;AAAA;AAAA,MAAI,IAAI,QAAM,CAAC,IAAG,KAAI,MAAK,OAAM,QAAO,SAAQ,UAAS,WAAU,YAAW,aAAY,cAAa,eAAc,gBAAe,iBAAgB,kBAAiB,mBAAkB,oBAAmB,qBAAoB,sBAAqB,uBAAsB,wBAAuB,yBAAwB,0BAAyB,2BAA0B,4BAA2B,2BAA2B,GAAE,aAAW,CAAC,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,CAAC,GAAE,aAAW,CAAC,GAAE,GAAE,UAAS,UAAS,UAAS,UAAS,UAAS,UAAS,UAAS,UAAS,KAAI,UAAS,UAAS,UAAS,SAAQ,UAAS,UAAS,UAAS,UAAS,UAAS,UAAS,SAAQ,SAAQ,SAAQ,SAAQ,SAAQ,UAAS,UAAS,UAAS,UAAS,UAAS,UAAS,UAAS,UAAS,UAAS,UAAS,QAAQ;AAAA,MAAE,IAAG,GAAG,UAAU,WAAS,QAAQ,CAAC,MAAK,SAAQ;AAAA,QAAC,OAAK,QAAM,IAAG,UAAQ,UAAQ,KAAG;AAAA,QAAE,IAAI;AAAA,QAAI,IAAG,SAAO,MAAI,SAAO,OAAM;AAAA,UAAC,MAAI;AAAA,UAAG,IAAI,MAAI,GAAE,QAAM;AAAA,UAAE,SAAQ,KAAE,EAAE,KAAE,KAAK,QAAO,MAAI;AAAA,YAAC,IAAI,IAAE,KAAK,MAAM,KAAG,SAAO,KAAG,MAAI,SAAO,UAAU,SAAS,EAAE;AAAA,YAAE,IAAG,QAAM,MAAI,KAAG,MAAI,UAAS,OAAK,GAAE,OAAK;AAAA,cAAG,OAAK,IAAG;AAAA,YAAI,IAAG,UAAQ,KAAG,OAAI,KAAK,SAAO;AAAA,cAAE,MAAI,MAAM,IAAE,KAAK,UAAQ,OAAK;AAAA,YAAS;AAAA,oBAAI,OAAK;AAAA,UAAG;AAAA,UAAC,IAAG,UAAQ;AAAA,YAAE,MAAI,MAAM,SAAS,EAAE,IAAE;AAAA,UAAI,OAAM,IAAI,SAAO,YAAU;AAAA,YAAE,MAAI,MAAI;AAAA,UAAI,IAAG,KAAK,aAAW;AAAA,YAAE,MAAI,MAAI;AAAA,UAAI,OAAO;AAAA,QAAG;AAAA,QAAC,IAAG,UAAQ,OAAK,MAAI,QAAM,KAAG,QAAM,IAAG;AAAA,UAAC,IAAI,YAAU,WAAW,OAAM,YAAU,WAAW;AAAA,UAAM,MAAI;AAAA,UAAG,IAAI,IAAE,KAAK,MAAM;AAAA,UAAE,EAAE,WAAS;AAAA,UAAE,OAAM,CAAC,EAAE,OAAO,GAAE;AAAA,YAAC,IAAI,IAAE,EAAE,MAAM,SAAS,EAAE,SAAS,IAAI;AAAA,YAAE,IAAG,IAAE,EAAE,MAAM,SAAS,GAAE,CAAC,EAAE,OAAO;AAAA,cAAE,MAAI,MAAM,YAAU,EAAE,UAAQ,IAAE;AAAA,YAAS;AAAA,oBAAI,IAAE;AAAA,UAAG;AAAA,UAAC,IAAG,KAAK,OAAO;AAAA,YAAE,MAAI,MAAI;AAAA,UAAI,OAAM,IAAI,SAAO,YAAU;AAAA,YAAE,MAAI,MAAI;AAAA,UAAI,IAAG,KAAK,aAAW;AAAA,YAAE,MAAI,MAAI;AAAA,UAAI,OAAO;AAAA,QAAG;AAAA,QAAC,OAAO,OAAG,iCAAiC;AAAA,SAAG,GAAG,UAAU,WAAS,QAAQ,GAAE;AAAA,QAAC,IAAI,MAAI,KAAK,MAAM;AAAA,QAAG,IAAG,KAAK,WAAS;AAAA,UAAE,OAAK,KAAK,MAAM,KAAG;AAAA,QAAc,SAAG,KAAK,WAAS,KAAG,KAAK,MAAM,OAAK;AAAA,UAAE,OAAK,mBAAiB,KAAK,MAAM,KAAG;AAAA,QAAc,SAAG,KAAK,SAAO;AAAA,UAAE,OAAO,OAAG,4CAA4C;AAAA,QAAE,OAAO,KAAK,aAAW,IAAE,CAAC,MAAI;AAAA,SAAK,GAAG,UAAU,SAAO,QAAQ,GAAE;AAAA,QAAC,OAAO,KAAK,SAAS,IAAG,CAAC;AAAA,SAAG;AAAA,QAAQ,GAAG,UAAU,WAAS,QAAQ,CAAC,QAAO,QAAO;AAAA,UAAC,OAAO,KAAK,YAAY,UAAQ,QAAO,MAAM;AAAA;AAAA,MAAG,GAAG,UAAU,UAAQ,QAAQ,CAAC,QAAO,QAAO;AAAA,QAAC,OAAO,KAAK,YAAY,OAAM,QAAO,MAAM;AAAA;AAAA,MAAG,IAAI,WAAS,QAAQ,CAAC,WAAU,MAAK;AAAA,QAAC,IAAG,UAAU;AAAA,UAAY,OAAO,UAAU,YAAY,IAAI;AAAA,QAAE,OAAO,IAAI,UAAU,IAAI;AAAA;AAAA,MAAG,IAAG,GAAG,UAAU,cAAY,QAAQ,CAAC,WAAU,QAAO,QAAO;AAAA,QAAC,KAAK,OAAO;AAAA,QAAE,IAAI,cAAW,KAAK,WAAW,GAAE,YAAU,UAAQ,KAAK,IAAI,GAAE,WAAU;AAAA,QAAE,OAAO,eAAY,WAAU,uCAAuC,GAAE,OAAO,YAAU,GAAE,6BAA6B;AAAA,QAAE,IAAI,MAAI,SAAS,WAAU,SAAS,GAAE,UAAQ,WAAS,OAAK,OAAK;AAAA,QAAK,OAAO,KAAK,iBAAe,SAAS,KAAI,WAAU,GAAE;AAAA,SAAK,GAAG,UAAU,iBAAe,QAAQ,CAAC,KAAI,aAAW;AAAA,QAAC,IAAI,WAAS,GAAE,QAAM;AAAA,QAAE,SAAQ,KAAE,GAAE,QAAM,EAAE,KAAE,KAAK,QAAO,MAAI;AAAA,UAAC,IAAI,OAAK,KAAK,MAAM,OAAI,QAAM;AAAA,UAAM,IAAG,IAAI,cAAY,OAAK,KAAI,WAAS,IAAI;AAAA,YAAO,IAAI,cAAY,QAAM,IAAE;AAAA,UAAI,IAAG,WAAS,IAAI;AAAA,YAAO,IAAI,cAAY,QAAM,KAAG;AAAA,UAAI,IAAG,UAAQ,GAAE;AAAA,YAAC,IAAG,WAAS,IAAI;AAAA,cAAO,IAAI,cAAY,QAAM,KAAG;AAAA,YAAI,QAAM,GAAE,QAAM;AAAA,UAAC,EAAM;AAAA,oBAAM,SAAO,IAAG,SAAO;AAAA,QAAC;AAAA,QAAC,IAAG,WAAS,IAAI,QAAO;AAAA,UAAC,IAAI,cAAY;AAAA,UAAM,OAAM,WAAS,IAAI;AAAA,YAAO,IAAI,cAAY;AAAA,QAAC;AAAA,SAAG,GAAG,UAAU,iBAAe,QAAQ,CAAC,KAAI,aAAW;AAAA,QAAC,IAAI,WAAS,IAAI,SAAO,GAAE,QAAM;AAAA,QAAE,SAAQ,KAAE,GAAE,QAAM,EAAE,KAAE,KAAK,QAAO,MAAI;AAAA,UAAC,IAAI,OAAK,KAAK,MAAM,OAAI,QAAM;AAAA,UAAM,IAAG,IAAI,cAAY,OAAK,KAAI,YAAU;AAAA,YAAE,IAAI,cAAY,QAAM,IAAE;AAAA,UAAI,IAAG,YAAU;AAAA,YAAE,IAAI,cAAY,QAAM,KAAG;AAAA,UAAI,IAAG,UAAQ,GAAE;AAAA,YAAC,IAAG,YAAU;AAAA,cAAE,IAAI,cAAY,QAAM,KAAG;AAAA,YAAI,QAAM,GAAE,QAAM;AAAA,UAAC,EAAM;AAAA,oBAAM,SAAO,IAAG,SAAO;AAAA,QAAC;AAAA,QAAC,IAAG,YAAU,GAAE;AAAA,UAAC,IAAI,cAAY;AAAA,UAAM,OAAM,YAAU;AAAA,YAAE,IAAI,cAAY;AAAA,QAAC;AAAA,SAAG,KAAK;AAAA,QAAM,GAAG,UAAU,aAAW,QAAQ,CAAC,GAAE;AAAA,UAAC,OAAO,KAAG,KAAK,MAAM,CAAC;AAAA;AAAA,MAAQ;AAAA,WAAG,UAAU,aAAW,QAAQ,CAAC,GAAE;AAAA,UAAC,IAAI,IAAE,GAAE,IAAE;AAAA,UAAE,IAAG,KAAG;AAAA,YAAK,KAAG,IAAG,OAAK;AAAA,UAAG,IAAG,KAAG;AAAA,YAAG,KAAG,GAAE,OAAK;AAAA,UAAE,IAAG,KAAG;AAAA,YAAE,KAAG,GAAE,OAAK;AAAA,UAAE,IAAG,KAAG;AAAA,YAAE,KAAG,GAAE,OAAK;AAAA,UAAE,OAAO,IAAE;AAAA;AAAA,MAAG,GAAG,UAAU,YAAU,QAAQ,CAAC,GAAE;AAAA,QAAC,IAAG,MAAI;AAAA,UAAE,OAAO;AAAA,QAAG,IAAI,IAAE,GAAE,IAAE;AAAA,QAAE,KAAI,IAAE,UAAQ;AAAA,UAAE,KAAG,IAAG,OAAK;AAAA,QAAG,KAAI,IAAE,SAAO;AAAA,UAAE,KAAG,GAAE,OAAK;AAAA,QAAE,KAAI,IAAE,QAAM;AAAA,UAAE,KAAG,GAAE,OAAK;AAAA,QAAE,KAAI,IAAE,OAAK;AAAA,UAAE,KAAG,GAAE,OAAK;AAAA,QAAE,KAAI,IAAE,OAAK;AAAA,UAAE;AAAA,QAAI,OAAO;AAAA,SAAG,GAAG,UAAU,YAAU,QAAQ,GAAE;AAAA,QAAC,IAAI,IAAE,KAAK,MAAM,KAAK,SAAO,IAAG,KAAG,KAAK,WAAW,CAAC;AAAA,QAAE,QAAO,KAAK,SAAO,KAAG,KAAG;AAAA;AAAA,MAAI,SAAS,UAAU,CAAC,KAAI;AAAA,QAAC,IAAI,IAAE,MAAM,IAAI,UAAU,CAAC;AAAA,QAAE,SAAQ,MAAI,EAAE,MAAI,EAAE,QAAO,OAAM;AAAA,UAAC,IAAI,MAAI,MAAI,KAAG,GAAE,OAAK,MAAI;AAAA,UAAG,EAAE,OAAK,IAAI,MAAM,SAAO,OAAK;AAAA,QAAC;AAAA,QAAC,OAAO;AAAA;AAAA,MAAE,GAAG,UAAU,WAAS,QAAQ,GAAE;AAAA,QAAC,IAAG,KAAK,OAAO;AAAA,UAAE,OAAO;AAAA,QAAE,IAAI,IAAE;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,KAAK,QAAO,MAAI;AAAA,UAAC,IAAI,IAAE,KAAK,UAAU,KAAK,MAAM,GAAE;AAAA,UAAE,IAAG,KAAG,GAAE,MAAI;AAAA,YAAG;AAAA,QAAK;AAAA,QAAC,OAAO;AAAA,SAAG,GAAG,UAAU,aAAW,QAAQ,GAAE;AAAA,QAAC,OAAO,KAAK,KAAK,KAAK,UAAU,IAAE,CAAC;AAAA,SAAG,GAAG,UAAU,SAAO,QAAQ,CAAC,OAAM;AAAA,QAAC,IAAG,KAAK,aAAW;AAAA,UAAE,OAAO,KAAK,IAAI,EAAE,MAAM,KAAK,EAAE,MAAM,CAAC;AAAA,QAAE,OAAO,KAAK,MAAM;AAAA,SAAG,GAAG,UAAU,WAAS,QAAQ,CAAC,OAAM;AAAA,QAAC,IAAG,KAAK,MAAM,QAAM,CAAC;AAAA,UAAE,OAAO,KAAK,KAAK,KAAK,EAAE,MAAM,CAAC,EAAE,KAAK;AAAA,QAAE,OAAO,KAAK,MAAM;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,GAAE;AAAA,QAAC,OAAO,KAAK,aAAW;AAAA,SAAG,GAAG,UAAU,MAAI,QAAQ,GAAE;AAAA,QAAC,OAAO,KAAK,MAAM,EAAE,KAAK;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,GAAE;AAAA,QAAC,IAAG,CAAC,KAAK,OAAO;AAAA,UAAE,KAAK,YAAU;AAAA,QAAE,OAAO;AAAA,SAAM,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAM,KAAK,SAAO,IAAI;AAAA,UAAO,KAAK,MAAM,KAAK,YAAU;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,IAAI,QAAO;AAAA,UAAI,KAAK,MAAM,MAAG,KAAK,MAAM,MAAG,IAAI,MAAM;AAAA,QAAG,OAAO,KAAK,OAAO;AAAA,SAAG,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,QAAQ,KAAK,WAAS,IAAI,cAAY,CAAC,GAAE,KAAK,KAAK,GAAG;AAAA,SAAG,GAAG,UAAU,KAAG,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAG,KAAK,SAAO,IAAI;AAAA,UAAO,OAAO,KAAK,MAAM,EAAE,IAAI,GAAG;AAAA,QAAE,OAAO,IAAI,MAAM,EAAE,IAAI,IAAI;AAAA,SAAG,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAG,KAAK,SAAO,IAAI;AAAA,UAAO,OAAO,KAAK,MAAM,EAAE,KAAK,GAAG;AAAA,QAAE,OAAO,IAAI,MAAM,EAAE,KAAK,IAAI;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI;AAAA,QAAE,IAAG,KAAK,SAAO,IAAI;AAAA,UAAO,IAAE;AAAA,QAAS;AAAA,cAAE;AAAA,QAAK,SAAQ,KAAE,EAAE,KAAE,EAAE,QAAO;AAAA,UAAI,KAAK,MAAM,MAAG,KAAK,MAAM,MAAG,IAAI,MAAM;AAAA,QAAG,OAAO,KAAK,SAAO,EAAE,QAAO,KAAK,OAAO;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,QAAQ,KAAK,WAAS,IAAI,cAAY,CAAC,GAAE,KAAK,MAAM,GAAG;AAAA,SAAG,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAG,KAAK,SAAO,IAAI;AAAA,UAAO,OAAO,KAAK,MAAM,EAAE,KAAK,GAAG;AAAA,QAAE,OAAO,IAAI,MAAM,EAAE,KAAK,IAAI;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAG,KAAK,SAAO,IAAI;AAAA,UAAO,OAAO,KAAK,MAAM,EAAE,MAAM,GAAG;AAAA,QAAE,OAAO,IAAI,MAAM,EAAE,MAAM,IAAI;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI,GAAE;AAAA,QAAE,IAAG,KAAK,SAAO,IAAI;AAAA,UAAO,IAAE,MAAK,IAAE;AAAA,QAAS;AAAA,cAAE,KAAI,IAAE;AAAA,QAAK,SAAQ,KAAE,EAAE,KAAE,EAAE,QAAO;AAAA,UAAI,KAAK,MAAM,MAAG,EAAE,MAAM,MAAG,EAAE,MAAM;AAAA,QAAG,IAAG,SAAO;AAAA,UAAE,MAAK,KAAE,EAAE,QAAO;AAAA,YAAI,KAAK,MAAM,MAAG,EAAE,MAAM;AAAA,QAAG,OAAO,KAAK,SAAO,EAAE,QAAO,KAAK,OAAO;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,QAAQ,KAAK,WAAS,IAAI,cAAY,CAAC,GAAE,KAAK,MAAM,GAAG;AAAA,SAAG,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAG,KAAK,SAAO,IAAI;AAAA,UAAO,OAAO,KAAK,MAAM,EAAE,KAAK,GAAG;AAAA,QAAE,OAAO,IAAI,MAAM,EAAE,KAAK,IAAI;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAG,KAAK,SAAO,IAAI;AAAA,UAAO,OAAO,KAAK,MAAM,EAAE,MAAM,GAAG;AAAA,QAAE,OAAO,IAAI,MAAM,EAAE,MAAM,IAAI;AAAA,SAAG,GAAG,UAAU,QAAM,QAAQ,CAAC,OAAM;AAAA,QAAC,OAAO,OAAO,UAAQ,YAAU,SAAO,CAAC;AAAA,QAAE,IAAI,cAAY,KAAK,KAAK,QAAM,EAAE,IAAE,GAAE,WAAS,QAAM;AAAA,QAAG,IAAG,KAAK,QAAQ,WAAW,GAAE,WAAS;AAAA,UAAE;AAAA,QAAc,SAAQ,KAAE,EAAE,KAAE,aAAY;AAAA,UAAI,KAAK,MAAM,MAAG,CAAC,KAAK,MAAM,MAAG;AAAA,QAAS,IAAG,WAAS;AAAA,UAAE,KAAK,MAAM,MAAG,CAAC,KAAK,MAAM,MAAG,YAAU,KAAG;AAAA,QAAS,OAAO,KAAK,OAAO;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,OAAM;AAAA,QAAC,OAAO,KAAK,MAAM,EAAE,MAAM,KAAK;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI,KAAI;AAAA,QAAC,OAAO,OAAO,QAAM,YAAU,OAAK,CAAC;AAAA,QAAE,IAAI,MAAI,MAAI,KAAG,GAAE,OAAK,MAAI;AAAA,QAAG,IAAG,KAAK,QAAQ,MAAI,CAAC,GAAE;AAAA,UAAI,KAAK,MAAM,OAAK,KAAK,MAAM,OAAK,KAAG;AAAA,QAAU;AAAA,eAAK,MAAM,OAAK,KAAK,MAAM,OAAK,EAAE,KAAG;AAAA,QAAM,OAAO,KAAK,OAAO;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI;AAAA,QAAE,IAAG,KAAK,aAAW,KAAG,IAAI,aAAW;AAAA,UAAE,OAAO,KAAK,WAAS,GAAE,IAAE,KAAK,KAAK,GAAG,GAAE,KAAK,YAAU,GAAE,KAAK,UAAU;AAAA,QAAO,SAAG,KAAK,aAAW,KAAG,IAAI,aAAW;AAAA,UAAE,OAAO,IAAI,WAAS,GAAE,IAAE,KAAK,KAAK,GAAG,GAAE,IAAI,WAAS,GAAE,EAAE,UAAU;AAAA,QAAE,IAAI,GAAE;AAAA,QAAE,IAAG,KAAK,SAAO,IAAI;AAAA,UAAO,IAAE,MAAK,IAAE;AAAA,QAAS;AAAA,cAAE,KAAI,IAAE;AAAA,QAAK,IAAI,QAAM;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,EAAE,QAAO;AAAA,UAAI,KAAG,EAAE,MAAM,MAAG,MAAI,EAAE,MAAM,MAAG,KAAG,OAAM,KAAK,MAAM,MAAG,IAAE,UAAS,QAAM,MAAI;AAAA,QAAG,MAAK,UAAQ,KAAG,KAAE,EAAE,QAAO;AAAA,UAAI,KAAG,EAAE,MAAM,MAAG,KAAG,OAAM,KAAK,MAAM,MAAG,IAAE,UAAS,QAAM,MAAI;AAAA,QAAG,IAAG,KAAK,SAAO,EAAE,QAAO,UAAQ;AAAA,UAAE,KAAK,MAAM,KAAK,UAAQ,OAAM,KAAK;AAAA,QAAc,SAAG,MAAI;AAAA,UAAK,MAAK,KAAE,EAAE,QAAO;AAAA,YAAI,KAAK,MAAM,MAAG,EAAE,MAAM;AAAA,QAAG,OAAO;AAAA,SAAM,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAI;AAAA,QAAI,IAAG,IAAI,aAAW,KAAG,KAAK,aAAW;AAAA,UAAE,OAAO,IAAI,WAAS,GAAE,MAAI,KAAK,IAAI,GAAG,GAAE,IAAI,YAAU,GAAE;AAAA,QAAS,SAAG,IAAI,aAAW,KAAG,KAAK,aAAW;AAAA,UAAE,OAAO,KAAK,WAAS,GAAE,MAAI,IAAI,IAAI,IAAI,GAAE,KAAK,WAAS,GAAE;AAAA,QAAI,IAAG,KAAK,SAAO,IAAI;AAAA,UAAO,OAAO,KAAK,MAAM,EAAE,KAAK,GAAG;AAAA,QAAE,OAAO,IAAI,MAAM,EAAE,KAAK,IAAI;AAAA,SAAG,GAAG,UAAU,OAAK,QAAQ,CAAC,KAAI;AAAA,QAAC,IAAG,IAAI,aAAW,GAAE;AAAA,UAAC,IAAI,WAAS;AAAA,UAAE,IAAI,IAAE,KAAK,KAAK,GAAG;AAAA,UAAE,OAAO,IAAI,WAAS,GAAE,EAAE,UAAU;AAAA,QAAC,EAAM,SAAG,KAAK,aAAW;AAAA,UAAE,OAAO,KAAK,WAAS,GAAE,KAAK,KAAK,GAAG,GAAE,KAAK,WAAS,GAAE,KAAK,UAAU;AAAA,QAAE,IAAI,MAAI,KAAK,IAAI,GAAG;AAAA,QAAE,IAAG,QAAM;AAAA,UAAE,OAAO,KAAK,WAAS,GAAE,KAAK,SAAO,GAAE,KAAK,MAAM,KAAG,GAAE;AAAA,QAAK,IAAI,GAAE;AAAA,QAAE,IAAG,MAAI;AAAA,UAAE,IAAE,MAAK,IAAE;AAAA,QAAS;AAAA,cAAE,KAAI,IAAE;AAAA,QAAK,IAAI,QAAM;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,EAAE,QAAO;AAAA,UAAI,KAAG,EAAE,MAAM,MAAG,MAAI,EAAE,MAAM,MAAG,KAAG,OAAM,QAAM,KAAG,IAAG,KAAK,MAAM,MAAG,IAAE;AAAA,QAAS,MAAK,UAAQ,KAAG,KAAE,EAAE,QAAO;AAAA,UAAI,KAAG,EAAE,MAAM,MAAG,KAAG,OAAM,QAAM,KAAG,IAAG,KAAK,MAAM,MAAG,IAAE;AAAA,QAAS,IAAG,UAAQ,KAAG,KAAE,EAAE,UAAQ,MAAI;AAAA,UAAK,MAAK,KAAE,EAAE,QAAO;AAAA,YAAI,KAAK,MAAM,MAAG,EAAE,MAAM;AAAA,QAAG,IAAG,KAAK,SAAO,KAAK,IAAI,KAAK,QAAO,EAAC,GAAE,MAAI;AAAA,UAAK,KAAK,WAAS;AAAA,QAAE,OAAO,KAAK,OAAO;AAAA,SAAG,GAAG,UAAU,MAAI,QAAQ,CAAC,KAAI;AAAA,QAAC,OAAO,KAAK,MAAM,EAAE,KAAK,GAAG;AAAA;AAAA,MAAG,SAAS,UAAU,CAAC,OAAM,KAAI,KAAI;AAAA,QAAC,IAAI,WAAS,IAAI,WAAS,MAAM;AAAA,QAAS,IAAI,OAAI,MAAM,SAAO,IAAI,SAAO;AAAA,QAAE,IAAI,SAAO,MAAI,OAAI,OAAI,IAAE;AAAA,QAAE,IAAI,IAAE,MAAM,MAAM,KAAG,GAAE,IAAE,IAAI,MAAM,KAAG,GAAE,IAAE,IAAE,GAAE,KAAG,IAAE,UAAS,QAAM,IAAE,WAAS;AAAA,QAAE,IAAI,MAAM,KAAG;AAAA,QAAG,SAAQ,IAAE,EAAE,IAAE,MAAI,KAAI;AAAA,UAAC,IAAI,SAAO,UAAQ,IAAG,QAAM,QAAM,UAAS,OAAK,KAAK,IAAI,GAAE,IAAI,SAAO,CAAC;AAAA,UAAE,SAAQ,IAAE,KAAK,IAAI,GAAE,IAAE,MAAM,SAAO,CAAC,EAAE,KAAG,MAAK,KAAI;AAAA,YAAC,IAAI,KAAE,IAAE,IAAE;AAAA,YAAE,IAAE,MAAM,MAAM,MAAG,GAAE,IAAE,IAAI,MAAM,KAAG,GAAE,IAAE,IAAE,IAAE,OAAM,UAAQ,IAAE,WAAS,GAAE,QAAM,IAAE;AAAA,UAAQ;AAAA,UAAC,IAAI,MAAM,KAAG,QAAM,GAAE,QAAM,SAAO;AAAA,QAAC;AAAA,QAAC,IAAG,UAAQ;AAAA,UAAE,IAAI,MAAM,KAAG,QAAM;AAAA,QAAO;AAAA,cAAI;AAAA,QAAS,OAAO,IAAI,OAAO;AAAA;AAAA,MAAE,IAAI,cAAY,QAAQ,CAAC,OAAM,KAAI,KAAI;AAAA,QAAC,IAAI,IAAE,MAAM,OAAM,IAAE,IAAI,OAAM,IAAE,IAAI,OAAM,IAAE,GAAE,IAAG,KAAI,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK,IAAG,KAAG,EAAE,KAAG,GAAE,MAAI,KAAG,MAAK,MAAI,OAAK;AAAA,QAAG,IAAI,WAAS,MAAM,WAAS,IAAI,UAAS,IAAI,SAAO,IAAG,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG;AAAA,QAAE,IAAI,MAAI,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,OAAK,MAAI,GAAE,MAAI,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,MAAI,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,OAAK,MAAI,GAAE,MAAI,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,MAAI,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,OAAK,MAAI,GAAE,MAAI,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,MAAI,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,OAAK,MAAI,GAAE,MAAI,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,MAAI,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,OAAK,MAAI,GAAE,MAAI,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,MAAI,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,OAAK,MAAI,GAAE,MAAI,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,MAAI,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,OAAK,MAAI,GAAE,MAAI,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,MAAI,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,OAAK,MAAI,GAAE,MAAI,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAAI,MAAI,IAAE,KAAG,OAAK,MAAI,SAAO,MAAI;AAAA,QAAE,KAAG,MAAI,QAAM,MAAI,MAAI,OAAK,MAAI,GAAE,MAAI,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE;AAAA,QAAE,IAA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",
|
|
27
|
+
"debugId": "18DE10E395781A5864756E2164756E21",
|
|
28
|
+
"names": []
|
|
29
|
+
}
|